/*

Theme Name:     Promaint 2.0
Theme URI:      -Url here
Description:    Teema Promaint-lehti sivustolle.
Author:         Avone Oy / Sebastian Bergman
Author URI:
Version:        1.4

*/

/* Font-faces Barlow */
/* Barlow 300 - Light */
@font-face {
  font-family: 'Barlow';
  src: url('/wp-content/themes/promaint_uudistus/fonts/barlow/Barlow-Light.woff2') format('woff2'),
       url('/wp-content/themes/promaint_uudistus/fonts/barlow/Barlow-Light.woff') format('woff');
  font-weight: 300;
  font-style: normal;
  font-display: swap;
}

/* Barlow 400 - Regular */
@font-face {
  font-family: 'Barlow';
  src: url('/wp-content/themes/promaint_uudistus/fonts/barlow/Barlow-Regular.woff2') format('woff2'),
       url('/wp-content/themes/promaint_uudistus/fonts/barlow/Barlow-Regular.woff') format('woff');
  font-weight: 400;
  font-style: normal;
  font-display: swap;
}

/* Barlow 500 - Medium */
@font-face {
  font-family: 'Barlow';
  src: url('/wp-content/themes/promaint_uudistus/fonts/barlow/Barlow-Medium.woff2') format('woff2'),
       url('/wp-content/themes/promaint_uudistus/fonts/barlow/Barlow-Medium.woff') format('woff');
  font-weight: 500;
  font-style: normal;
  font-display: swap;
}

/* Barlow 600 - SemiBold */
@font-face {
  font-family: 'Barlow';
  src: url('/wp-content/themes/promaint_uudistus/fonts/barlow/Barlow-SemiBold.woff2') format('woff2'),
       url('/wp-content/themes/promaint_uudistus/fonts/barlow/Barlow-SemiBold.woff') format('woff');
  font-weight: 600;
  font-style: normal;
  font-display: swap;
}

/* Barlow 700 - Bold */
@font-face {
  font-family: 'Barlow';
  src: url('/wp-content/themes/promaint_uudistus/fonts/barlow/Barlow-Bold.woff2') format('woff2'),
       url('/wp-content/themes/promaint_uudistus/fonts/barlow/Barlow-Bold.woff') format('woff');
  font-weight: 700;
  font-style: normal;
  font-display: swap;
}

/* Font-faces Lato */
/* Lato 300 - Light */
@font-face {
  font-family: 'Lato';
  src: url('/wp-content/themes/promaint_uudistus/fonts/lato/Lato-Light.woff2') format('woff2'),
       url('/wp-content/themes/promaint_uudistus/fonts/lato/Lato-Light.woff') format('woff');
  font-weight: 300;
  font-style: normal;
  font-display: swap;
}

/* Lato 400 - Regular */
@font-face {
  font-family: 'Lato';
  src: url('/wp-content/themes/promaint_uudistus/fonts/lato/Lato-Regular.woff2') format('woff2'),
       url('/wp-content/themes/promaint_uudistus/fonts/lato/Lato-Regular.woff') format('woff');
  font-weight: 400;
  font-style: normal;
  font-display: swap;
}

/* Lato 500 - Medium */
@font-face {
  font-family: 'Lato';
  src: url('/wp-content/themes/promaint_uudistus/fonts/lato/Lato-Medium.woff2') format('woff2'),
       url('/wp-content/themes/promaint_uudistus/fonts/lato/Lato-Medium.woff') format('woff');
  font-weight: 500;
  font-style: normal;
  font-display: swap;
}

/* Lato 600 - SemiBold */
@font-face {
  font-family: 'Lato';
  src: url('/wp-content/themes/promaint_uudistus/fonts/lato/Lato-SemiBold.woff2') format('woff2'),
       url('/wp-content/themes/promaint_uudistus/fonts/lato/Lato-SemiBold.woff') format('woff');
  font-weight: 600;
  font-style: normal;
  font-display: swap;
}

/* Lato 700 - Bold */
@font-face {
  font-family: 'Lato';
  src: url('/wp-content/themes/promaint_uudistus/fonts/lato/Lato-Bold.woff2') format('woff2'),
       url('/wp-content/themes/promaint_uudistus/fonts/lato/Lato-Bold.woff') format('woff');
  font-weight: 700;
  font-style: normal;
  font-display: swap;
}

/* Lora 400 - Regular */
@font-face {
  font-family: 'Lora';
  src: url('/wp-content/themes/promaint_uudistus/fonts/lora/Lora-Regular.woff2') format('woff2'),
       url('/wp-content/themes/promaint_uudistus/fonts/lora/Lora-Regular.woff') format('woff');
  font-weight: 400;
  font-style: normal;
  font-display: swap;
}

/* Lora 400 - Italic */
@font-face {
  font-family: 'Lora';
  src: url('/wp-content/themes/promaint_uudistus/fonts/lora/Lora-Italic.woff2') format('woff2'),
       url('/wp-content/themes/promaint_uudistus/fonts/lora/Lora-Italic.woff') format('woff');
  font-weight: 400;
  font-style: italic;
  font-display: swap;
}

@font-face {
    font-family: 'Lora';
    src: url('Lora-Medium.woff2') format('woff2');
    src: url('/wp-content/themes/promaint_uudistus/fonts/lora/Lora-Medium.woff2') format('woff2'),
       url('/wp-content/themes/promaint_uudistus/fonts/lora/Lora-Medium.woff') format('woff');
    font-weight: 500;
    font-style: normal;
    font-display: swap;
}

/* Lato 600 - SemiBold */
@font-face {
  font-family: 'Lora';
  src: url('/wp-content/themes/promaint_uudistus/fonts/lora/Lora-SemiBold.woff2') format('woff2'),
       url('/wp-content/themes/promaint_uudistus/fonts/lora/Lora-SemiBold.woff') format('woff');
  font-weight: 600;
  font-style: normal;
  font-display: swap;
}

/* Lora 700 - Bold */
@font-face {
  font-family: 'Lora';
  src: url('/wp-content/themes/promaint_uudistus/fonts/lora/Lora-Bold.woff2') format('woff2'),
       url('/wp-content/themes/promaint_uudistus/fonts/lora/Lora-Bold.woff') format('woff');
  font-weight: 700;
  font-style: normal;
  font-display: swap;
}

/* Lora 700 - Bold Italic */
@font-face {
  font-family: 'Lora';
  src: url('/wp-content/themes/promaint_uudistus/fonts/lora/Lora-BoldItalic.woff2') format('woff2'),
       url('/wp-content/themes/promaint_uudistus/fonts/lora/Lora-BoldItalic.woff') format('woff');
  font-weight: 700;
  font-style: italic;
  font-display: swap;
}

html {
  font-family: 'Barlow', sans-serif;
  box-sizing: border-box;
  -webkit-text-size-adjust: 100%;
  -ms-text-size-adjust: 100%;
}

*, *::before, *::after {
  box-sizing: inherit;
}

body {
  margin: 0 !important;
  color: #131415;
  font-family: 'Barlow', sans-serif;
}

@media (max-width: 900px) {
  body {
    margin: 0;
  }
}

audio, canvas, progress, video {
  display: inline-block;
  vertical-align: baseline;
}

audio:not([controls]) {
  display: none;
  height: 0;
}

[hidden], template {
  display: none;
}

a {
  background-color: transparent;
  color: #131415;
  text-decoration: none;
  text-decoration-thickness: 1px;
  cursor: pointer;
}

main#page .main-container a {
  text-decoration: underline;
  text-decoration-thickness: 1px;
}

a:visited {
  color: #222;
}

a:hover, a:focus, a:active {
  color: #1c3e83;
  outline: 0;
}

abbr[title], abbr, acronym {
  border-bottom: 1px dotted #666;
  cursor: help;
}

b, strong {
  font-weight: 600;
}

dfn, cite, em, i {
  font-style: italic;
}

h1, h2, h3, h4, h5, h6 {
  font-family: 'Lora', sans-serif;
}

/* Font-sizes (optimized for mobile) */
h1 {
  font-size: 2rem;
  font-weight: 700;
  line-height: 1.15;
  margin: 10px 0;
}

h2 {
  font-size: 1.5rem;
  font-weight: 700;
  line-height: 1.15;
}

h3 {
  font-size: 1.25rem;
  font-weight: 700;
  line-height: 1.15;
}

h4 {
  font-size: 1.125rem;
  font-weight: 700;
  line-height: 1.15;
}

h5 {
  font-size: 1rem;
  font-weight: 700;
  line-height: 1.15;
}

h6 {
  font-size: 0.85rem;
  font-weight: 700;
  line-height: 1.15;
}

p {
  font-size: 1.1rem;
  line-height: 1.25;
  font-weight: 400;
}

header.entry-header h1 {
  margin-top: 0;
  font-size: 2.2em;
  line-height: 1.1;
}

/* Article page headers */
  .single-content h2 {
    font-size: 1.5em;
    font-weight: 600;
    line-height: 1.15;
  }

/* --------------------- */
/* MOBILE HEADER STYLES  */
/* --------------------- */
@media (max-width: 640px) {
  h1 {
    overflow-wrap: break-word;
  }
}

.bigfeature__content h2 {
  margin-top: 0;
  margin-bottom: 8px;
}

@media (max-width: 640px) {
  .bigfeature__content h2 {
    margin-top: 12px;
  }
}

.bigfeature__content h2 a {
  margin-top: 0;
  margin-bottom: 8px;
}

h3.smallfeature__title {
  font-size: 1.4em;
  line-height: 1.15em;
  margin-top: 0;
}

.bigfeature__title {
  font-size: 1.7em;
}

p {
  margin: 0;
  margin-bottom: 16px;
}

blockquote {
  margin: 0 24px;
}

address {
  margin: 0 0 24px;
}

pre {
  background: #eee;
  font-family: "Courier 10 Pitch", Courier, monospace;
  font-size: 0.9375rem;
  line-height: 1.6;
  margin-bottom: 24px;
  max-width: 100%;
  overflow: auto;
  padding: 24px;
}

code, kbd, pre, samp, tt, var {
  font-family: Monaco, Consolas, "Andale Mono", "DejaVu Sans Mono", monospace;
  font-size: 0.9375rem;
}

mark, ins {
  background: #fff9c0;
  text-decoration: none;
}

big {
  font-size: 125%;
}

hr {
  background-color: #ccc;
  border: 0;
  height: 1px;
  margin-bottom: 24px;
  box-sizing: content-box;
}

ul, ol {
  margin: 0 0 24px 16px;
}

ul {
  list-style: disc;
}

ol {
  list-style: decimal;
}

li > ul, li > ol {
  margin-bottom: 0;
  margin-left: 24px;
}

dt {
  font-weight: 700;
}

dd {
  margin: 0 24px 24px;
}

img {
  border: 0;
  height: auto;
  max-width: 100%;
}

.featuredImage {
  background: #fff;
  width: 100%;
  display: block;
  text-align: left;
  overflow: hidden;
}

.featuredImage img {
  display: block;
  width: 100%!important;
  height: auto;
  float: none;
  max-width: 100%;
}

figure {
  margin: 24px 0;
}

figure img {
  width: 100%;
}

table {
  border-collapse: collapse;
  border-spacing: 0;
  margin: 0 0 24px;
  width: 100%;
}

button,
input[type="button"],
input[type="reset"],
input[type="submit"] {
  border: 0;
  border-radius: 3px;
  background: #e6e6e6;
  color: rgba(0, 0, 0, 0.8);
  font-size: 0.75rem;
  line-height: 1;
  padding: 10px 16px 6px;
  cursor: pointer;
  -webkit-appearance: button;
}

button:hover,
input[type="button"]:hover,
input[type="reset"]:hover,
input[type="submit"]:hover {
  border-color: #ccc #bbb #aaa;
}

button:active,
input[type="button"]:active,
input[type="reset"]:active,
input[type="submit"]:active,
button:focus,
input[type="button"]:focus,
input[type="reset"]:focus,
input[type="submit"]:focus {
  border-color: #aaa #bbb #bbb;
}

button[disabled],
html input[disabled] {
  cursor: default;
}

button.search-submit {
  border: 0;
  background: transparent;
  padding: 0;
  font-size: 0.8em;
}

input,
button,
optgroup,
select,
textarea {
  color: inherit;
  font: inherit;
  margin: 0;
}

input {
  line-height: normal;
}

input[type="checkbox"],
input[type="radio"] {
  box-sizing: border-box;
  padding: 0;
}

input[type="number"]::-webkit-inner-spin-button,
input[type="number"]::-webkit-outer-spin-button {
  height: auto;
}

input[type="search"]::-webkit-search-cancel-button,
input[type="search"]::-webkit-search-decoration {
  -webkit-appearance: none;
}

input[type="text"],
input[type="url"],
input[type="password"],
input[type="search"],
input[type="number"],
input[type="tel"],
input[type="range"],
input[type="date"],
input[type="month"],
input[type="week"],
input[type="time"],
input[type="datetime"],
input[type="datetime-local"],
input[type="color"],
textarea {
  color: #666;
  border: 0;
  border-radius: 0;
  padding: 3px;
}

input[type="text"]:focus,
input[type="url"]:focus,
input[type="password"]:focus,
input[type="search"]:focus,
input[type="number"]:focus,
input[type="tel"]:focus,
input[type="range"]:focus,
input[type="date"]:focus,
input[type="month"]:focus,
input[type="week"]:focus,
input[type="time"]:focus,
input[type="datetime"]:focus,
input[type="datetime-local"]:focus,
input[type="color"]:focus,
textarea:focus {
  color: #111;
}

select {
  border: 1px solid #ccc;
}

textarea {
  width: 100%;
  overflow: auto;
}

fieldset {
  border: 1px solid silver;
  margin: 0 2px;
  padding: 0.35em 0.625em 0.75em;
}

legend {
  border: 0;
  padding: 0;
}

optgroup {
  font-weight: 700;
}

:focus {
  outline: -webkit-focus-ring-color auto 0;
}

#page {
  max-width: 100%;
}

blockquote, q {
  quotes: "" "";
}

blockquote::before, q::before,
blockquote::after, q::after {
  content: "";
}

embed,
iframe,
object,
video {
  max-width: 100%;
}

/* =================== */
/*   HEADER STYLES     */
  #site-navigation {
    background: #fff;
    position: relative;
    z-index: 1002;
  }

  /* Navbar template styles */
    .site-branding-container {
      max-width: 1200px;
      margin: auto;
      margin-bottom: 16px;
      padding-left: 16px;
    }

    @media (max-width: 640px) {
      .site-branding-container {
        padding-left: 0px;
      }
    }

    .site-branding-wrapper {
      display: flex;
      justify-content: space-between;
      width: 100%;
      max-width: 960px;
      border-bottom: 1px solid #e0e0e0;
      padding-bottom: 16px;
    }

    @media (max-width: 900px) {
      .site-branding-wrapper {
        flex-direction: column;
        margin: 0;
      }
    }
   
    .site-logo-container {
      display: flex;
      align-items: center;
      justify-content: center;
    }

    @media (max-width: 900px) {
      .site-logo-container {
        padding-bottom: 16px;
      }
    }

    @media (max-width: 640px) {
      .site-logo-container {
        padding: 0 16px 16px 16px;
      }
    }

    .logo-head img {
      max-width: 415px;
    }

    @media (max-width: 640px) {
      .logo-head img {
        max-width: 100%;
        padding: 0;
      }
    }

    @media (min-width: 901px) {
      .header-controls {
        display: flex;
        flex-direction: row; /* Makes sure items stay in a row */
        align-items: center;
        gap: 40px;
        align-self: flex-end; /* Align to the top of the flex container */
        margin-bottom: 26px;      /* Nudge upward for visual alignment */
      }
    }

    @media (max-width: 900px) {
      .header-controls {
        display: flex;
        flex-direction: row; /* Makes sure items stay in a row */
        align-items: center;
        gap: 30px;
        align-self: center; /* Align to the top of the flex container */
        margin-bottom: 25px;      /* Nudge upward for visual alignment */
      }
    }

    .tilaa-btn {
      background-color: #ffdd00;
      color: white;
      padding: 8px 18px;
      text-transform: uppercase;
      font-weight: bold;
      text-decoration: none;
      font-size: 1em;
    }

    .tilaa-btn:hover {
      color: #131415;
    }

    .search-toggle,
    .menu-toggle {
      display: flex;
      align-items: center;
      gap: 8px;
      cursor: pointer;
      font-size: 1.063em;
      font-weight: 500;
    }

    .search-toggle i,
    .menu-toggle i {
      font-size: 1.063em;
      display: flex;
      justify-content: center;
      align-items: center;
    }

    /* Burger icon */
      .burger-menu-btn {
        background: transparent;
      }

    /* Burger menu button */
      .burger-menu-btn {
        display: flex;
        flex-direction: row;
        align-items: center;
        gap: 8px;
        background: none;
        border: none;
        cursor: pointer;
        padding: 0;
      }

      .burger-lines-container {
        display: flex;
        flex-direction: column;
        justify-content: space-between;
        width: 24px;
        height: 18px;
        margin-left: 8px;
        position: relative; /* Needed for absolute positioning on open */
      }

      .burger-lines {
        background-color: #131415;
        height: 2.5px;
        width: 100%;
        transition: all 0.3s ease-in-out;
      }

      /* Animate to X when open */
      .burger-menu-btn.open .burger-lines {
        position: absolute; /* Override flexbox spacing */
        left: 0;
      }

      .burger-menu-btn.open .burger-lines:nth-child(1) {
        top: 8px;
        transform: rotate(45deg);
      }

      .burger-menu-btn.open .burger-lines:nth-child(2) {
        opacity: 0;
      }

      .burger-menu-btn.open .burger-lines:nth-child(3) {
        top: 8px;
        transform: rotate(-45deg);
      }

  /* Navbar styles*/
    .nav-bar-container {
      max-width: 1200px;
      margin: auto;
    }

    .nav-bar-wrapper {
      display: flex;
      justify-content: flex-start;
      align-items: center;
      margin: 0 16px;
      height: 100%;
      gap: 8px;
      width: 100%;
      max-width: 960px;
      margin: 0 16px;
    }

    @media (max-width: 900px) {
      .nav-bar-wrapper {
        text-align: left;
        padding: 0;
        max-width: 100vw;
        position: relative;
        margin: 0px;
      }

      .nav-bar-container:empty {
        display: none;
      }

      .nav-bar-wrapper:empty {
        display: none;
      }

      .nav-bar-container {
        opacity: 0;
        visibility: hidden;
        max-height: 0;
        overflow: hidden;
      }

      .nav-bar-container:has(.mobile-menu-container.active.open) {
        opacity: 1;
        visibility: visible;
        max-height: 500px; /* adjust for menu height */
      }
    }

    @media (max-width: 900px) {
      .nav-bar-container {
        height: 40px;
      }
    }

    /* Mobile menu */
    .mobile-nav-bar-container {
      margin: auto;
    }

    /* Hide the menu by default on mobile */
      .burger-wrapper {
        display: inline-block;
      }

      @media (min-width: 901px) {
        .burger-wrapper {
          position: relative; /* anchor for absolute child */
        }
      }

      /* Mobile menu dropdown */
        .mobile-menu-container {
          display: none;
          background: #fff;
          width: 980px;
          z-index: 1000;
          padding-bottom: 8px;
        }

        @media (max-width: 640px) {
          .mobile-menu-container {
            position: fixed;
            top: 0;
            left: 0;
            width: 100vw;
            height: 100vh;
            z-index: 9999;
            background-color: #fff; /* or your preferred background */
            overflow: hidden; /* prevent scrolling the whole nav */
            display: none; /* hide by default */
            flex-direction: column;
          }

          /* Show menu when active */
          .mobile-menu-container.active {
            display: flex;
            padding-bottom: 0px;
          }

          /* Make only the inner content scrollable */
          .mobile-menu-wrapper {
            overflow-y: auto;
            -webkit-overflow-scrolling: touch;
            flex: 1;
            padding: 20px;
          }

          /* Optional: prevent body scroll when menu is open */
          body.menu-open {
            overflow: hidden;
          }
        }

        .mobile-menu-container {
          display: none;
        }

        .mobile-menu-container.open {
          display: block;
          animation: fadeInMenu 0.2s;
        }

        .mobile-menu-wrapper {
          display: grid;
          grid-template-columns: repeat(3, 1fr); /* 3 equal columns */
          padding: 0px 10px;
          position: relative;
        }

        /* Mobile layout - stacked vertically */
        @media (max-width: 640px) {
          .mobile-menu-wrapper {
            grid-template-columns: 1fr; /* Stack vertically */
            padding: 16px 16px 16px 16px;
          }
        }

        /* Mobile menu on desktop */
          /* Mobile menu logo hidden by default */
            .mobile-menu-logo {
              display: none;
            }

            /* Desktop - mobile header menus in a row */
            @media (min-width: 641px) {
              .mobile-menu-wrapper {
                display: flex;
                flex-direction: row;
                gap: 16px;
                padding: 0px 10px;
                position: relative;
                overflow: visible; /* no scroll on desktop */
              }

              .mobile-header-menu-container {
                flex: 1;
              }
            }

            /* Mobile layout - stacked vertically with scroll */
            @media (max-width: 640px) {
              .mobile-menu-container {
                position: fixed;
                top: 0;
                left: 0;
                width: 100vw;
                height: 100vh;
                background-color: #fff;
                z-index: 9999;
                display: none; /* hidden until open */
                flex-direction: column;
              }

              .mobile-menu-container.active {
                display: flex;
              }

              /* Make content scrollable */
              .mobile-menu-wrapper {
                flex: 1;
                overflow-y: auto;
                -webkit-overflow-scrolling: touch;
                display: flex;
                flex-direction: column;
                padding: 16px;
              }

              /* Show logo only on mobile */
              .mobile-menu-logo {
                display: block;
                padding: 0 0 1rem 0;
                border-bottom: 1px solid #eee;
              }

              .mobile-menu-logo img {
                max-width: 250px;
                height: auto;
              }

              .mobile-header-menu-container {
                margin-top: 1rem;
              }

              /* Prevent body scroll when menu is open */
              body.menu-open {
                overflow: hidden;
              }
            }

        .mobile-menu-close {
          position: absolute;
          top: 24px;
          right: 24px;

          display: flex;
          align-items: center;
          justify-content: center;

          width: 48px;
          height: 48px;

          background: none;
          border: none;
          color: #131415;
          font-size: 3.75em;
          line-height: 1;
          cursor: pointer;
          z-index: 999;
        }

        @media (min-width: 641px) {
          .mobile-menu-close {
            display: none; /* Hide close button on desktop */
          }
        }

        .menu-1-container.closed {
          display: none !important;
        }

      @keyframes fadeInMenu {
        from { opacity: 0; }
        to { opacity: 1; }
      }

      .mobile-header-menu-container:nth-child(3) {
        display: flex;
        flex-direction: column;
        align-content: center;
        flex-wrap: no-wrap;
      }

      .mobile-header-menu-container:last-child {
        display: flex;
        flex-direction: column;
        flex-wrap: wrap;
        align-content: flex-end;
        
      }

      @media (max-width: 640px) {
        .mobile-header-menu-container:nth-child(3) {
          display: flex;
          flex-direction: column;
          flex-wrap: wrap;
          align-content: center;
          align-items: center;
        }

        .mobile-header-menu-container:nth-child(4) {
          align-content: center;
          align-items: center;
        }

        .mobile-header-menu-container:last-child {
          align-items: center;
          flex-wrap: nowrap;
          padding-bottom: 40px;
        }
      }

      .mobile-header-menu-container h3 {
        margin: 0;
        margin-bottom: 5px;
        font-size: 2.25em;
        font-weight: 300;
        font-family: "Lora", serif;
      }

      @media (max-width: 640px) {
        .mobile-header-menu-container h3 {
          text-align: center;
        }
      }

      ul.no-link li:first-child a {
        cursor: text;
        pointer-events: none
      }

      ul.no-link li:nth-child(2) a {
        cursor: text;
        pointer-events: none
      }

      ul.no-link li:nth-child(3) a {
        cursor: text;
        pointer-events: none
      }

      ul.no-link2 li:nth-child(6) a {
        cursor: text;
        pointer-events: none
      }

      ul.no-link2 li:nth-child(7) a {
        cursor: text;
        pointer-events: none
      }

      ul.mobile-header-menu {
        display: block;
        list-style-type: none;
        line-height: 30px;
        margin: 0 0 16px 0;
        padding: 0;
        font-weight: 400;
        gap: 18px;
      }

      ul.mobile-header-menu li {
        display: flex;
        justify-content: flex-start;
        color: #fff;
        text-align: center;
        border-bottom: 0px!important;
        line-height: 24px;
      }

      @media (max-width: 640px) {
        ul.mobile-header-menu li {
          justify-content: center !important;
        }
      }

      ul.mobile-header-menu li a {
        display: inline-block;
        color: #131415;
        font-size: 1em;
        font-weight: 400;
      }

      ul.mobile-header-menu li a:hover {
        text-decoration: underline;
      }

    /* Ensure nav and search bar stack and don't overlap */
      .mobile-menu-container.open,
      .collapsable.open {
        z-index: 1300;
      }

    /* Styles for the header menu that comes from wordpress menus */
      ul.header-menu {
        display: flex;
        justify-content: flex-start;
        list-style-type: none;
        line-height: 30px;
        margin: 0 auto;
        padding: 0;
        width: 100%;
        font-weight: 400;
        gap: 16px;
      }

      ul.header-menu li {
        float: left;
        font-size: 0.9em;
        color: #fff;
        font-weight: 500;
      }

      ul.header-menu li a {
        color: #131415;
        font-size: 17px;
        line-height: 1.2px;
        padding: 15px 0;
        display: block;
        text-decoration: none;
      }

      ul.header-menu li a:hover {
        text-decoration: underline;
      }

      .current-menu-item a {
        text-decoration: underline!important;
      }

      @media (max-width: 900px) {
        ul.header-menu {
          display: flex;
          flex-direction: row;
          overflow-x: auto;
          -ms-overflow-style: none;
          scrollbar-width: none;
          white-space: nowrap;
          padding: 10px 0;
          margin: 0;
        }

        ul.header-menu li {
          float: none; /* important: remove float */
          flex: 0 0 auto; /* prevent shrinking */
          padding: 0;
        }

        ul.header-menu li a {
          font-size: 15px;
          white-space: nowrap;
        }
      }

  /*   SEARCH COMPONENT  */
    /* Toggle Button Icon */
      #search-bar-toggle {
        background: none;
        border: none;
        cursor: pointer;
        font-size: 17px;
        color: #131415;
        padding: 0;
        position: relative;
        z-index: 1202;
      }

      #search-bar-toggle:focus,
      #search-bar-toggle:hover {
        color: #131415;
      }

      #search-bar-toggle i.fa.fa-search {
        color: #131415;
        font-size: 1em;
        margin-right: 0px;
      }

    /* Collapsing Search Bar */
      .collapsable {
        overflow: hidden;
        max-height: 0;
        transition: max-height 0.4s cubic-bezier(.4,0,.2,1), padding 0.3s;
        padding: 0 0;
        margin-bottom: 0;
        display: block !important;
      }
      
      .collapsable.open {
        max-height: 80px;
        padding: 16px 0;
        margin-bottom: 10px;
        z-index: 1400;
        background: #f9f6f4;
        box-shadow: 0 2px 8px rgba(0,0,0,0.09);
        position: relative;
      }

      .search-bar-container {
        display: flex;
        max-width: 1200px;
        margin: auto;
        padding-top: 16px;
      }

      .search-bar-wrapper {
        padding: 0px 16px;
        width: 100%;
      }

      @media (max-width: 640px) {
        .search-bar-wrapper {
          padding: 0 10px;
          width: 100%;
        }
      }
      
      form.navbar-form.navbar-right {
        width: 100%;
        max-width: 960px;
        background: #f7f7f7;
        border-bottom: 0;
        display: flex;
        align-items: center;
        justify-content: center;
        box-shadow: 0 2px 8px rgba(0,0,0,0.08);
        padding: 0 16px;
      }
      
      .input-group.add-on {
        display: flex;
        align-items: center;
        width: 100%;
        padding: 13px 0 13px 0;
      }
      
      .input-group .form-control {
        flex: 1 1 0;
        width: 100%;
        min-width: 0;
        padding: 10px 14px;
        font-size: 1em;
        border: 1px solid #ddd;
        background: #fff;
        margin: 0;
        box-shadow: none;
      }
      
      .input-group-btn {
        display: flex;
        align-items: center;
      }
      
      .input-group-btn .btn {
        border: none;
        background: none;
        padding: 0px 0px 0px 18px;
        color: #1a3965;
        font-size: 1.2em;
        transition: background 0.2s, color 0.2s;
        cursor: pointer;
        height: 100%;
      }
      
      .input-group-btn .btn:hover,
      .input-group-btn .btn:focus {
        background: #e7d7cb;
        color: #274c85;
      }
      
      @media (max-width: 900px) {
        form.navbar-form.navbar-right {
          max-width: 100vw;
          padding: 0 8px;
        }

        .input-group.add-on {
          max-width: 100vw;
        }
      }
      @media (max-width: 600px) {
        form.navbar-form.navbar-right {
          max-width: 100vw;
          padding: 0 8px;
        }

        .input-group .form-control {
          font-size: 1em;
          padding: 8px 8px;
        }

        .input-group-btn .btn {
          padding: 0 10px;
          font-size: 1em;
        }
      }

      /* Menu Container */
        @media (min-width: 901px) {
          .menu-1-container {
            display: block !important;
            position: static;
            box-shadow: none;
            background: transparent;
            border-radius: 0;
          }
        }

        @media (max-width: 900px) {
          .menu-1-container {
            overflow-x: auto;
            margin: 0px 10px;
          }
        }

        @media (max-width: 640px) {
          .menu-1-container {
            display: none;
          }
        }

    /* Styles */
      .height-wrap {
        background: #fff;
        padding-top: 0;
        padding-bottom: 20px;
      }

    /* Search Page styles */
      #search-results-grid.search-results-grid {
        display: grid;
        grid-template-columns: repeat(auto-fit, minmax(320px, 1fr));
        gap: 32px;
        margin: 32px 0;
      }
      
      .search-result-card {
        background: #fff;
        overflow: hidden;
        box-shadow: 0 2px 8px rgba(0,0,0,0.08);
        transition: box-shadow 0.2s;
        display: flex;
        flex-direction: column;
        padding: 0;
      }
      
      .search-result-card-link {
        display: flex;
        flex-direction: column;
        height: 100%;
        color: inherit;
        text-decoration: none;
      }

      .search-result-card-image-link {
        display: flex;
        width: 100%;
      }
      
      .search-result-card:hover {
        box-shadow: 0 6px 20px rgba(0,0,0,0.13);
      }
      
      .search-result-image-row {
        width: 100%;
        overflow: hidden;
        background: #f7f7f7;
        display: flex;
        align-items: center;
        justify-content: center;
        min-height: 180px;
      }
      
      .search-result-thumbnail {
        width: 100%;
        object-fit: cover;
        display: block;
        border-bottom: 1px solid #e0e0e0;
      }
      
      .search-result-info-row {
        padding: 20px 20px 22px 20px;
        display: flex;
        flex-direction: column;
        gap: 12px;
      }
      
      .search-result-info-row h2 {
        font-size: 1.3em;
        margin: 0 0 0.3em 0;
      }
      .search-result-info-row h2,
      .search-result-info-row h2 a {
        color: #131415;
        text-decoration: none;
      }
      .search-result-card-link:hover h2,
      .search-result-card-link:hover h2 a {
        color: #005795;
        text-decoration: underline;
      }
      
      .search-meta {
        color: #888;
        font-size: 0.98em;
        margin-bottom: 4px;
      }
      .meta-date,
      .meta-author,
      .meta-category {
        margin-right: 0.5em;
      }
      .search-excerpt {
        color: #222;
        font-size: 1em;
      }
      
      @media (max-width: 600px) {
        #search-results-grid.search-results-grid {
          grid-template-columns: 1fr;
          gap: 16px;
        }
        .search-result-info-row {
          padding: 16px 16px 1.16px 16px;
        }
      }

    /* Search Results */
      .search div#trio2 article {
        border-top: 1px solid #0f7bc1;
      }

/* =================== */
/*    PAGE CONTENT     */
  /* Content Container */
    #content {
      display: grid;
      grid-template-columns: 640px 20px 300px 20px 300px;
      max-width: 1200px;
      margin: 0 auto;
      padding: 20px 16px 0px 16px;
    }

    .main-content-container {
      grid-column: 1 / span 3; /* spans main + spacer + innerSidebar */
    }

    .main-content-wrapper {
      display: flex;
      flex-direction: row;
      gap: 20px;
      flex: 1;
    }

    @media (max-width: 900px) {
      .main-content-wrapper {
        flex-direction: column;
        max-width: 640px;
      }
    }

    .main-container {
      width: 640px;
      flex-shrink: 0;
    }

    @media (max-width: 900px) {
      #content {
        display: block; /* stack everything */
        padding: 0 10px;
        overflow-x: hidden;
      }

      .main-content-container {
        width: 100%;
      }

      .main-content-wrapper {
        display: block;
      }

      .main-container {
        flex: 1 1 auto; /* allow flexibility on mobile */
        width: 100%;
      }
    }

    /* Category page */
    .site-main {
      width: 100%;
      max-width: 100vw;
      margin: 0 auto;
      box-sizing: border-box;
    }

    /* =================== */
    /*     SIDEBARS        */
      /* Inner Sidebar */
        .innerSidebar {
          max-width: 300px;
        }

        @media (max-width: 900px) {
          .innerSidebar {
            display: block;
            width: 100%;
            margin-top: 24px;
            margin: auto;
          }
        }

        @media (max-width: 640px) {
          .g-single {
            display: flex;
            justify-content: center;
          }
        }

      /* Outer Sidebar */
        .outerSidebar {
          grid-column: 5;
        }

        @media (max-width: 1200px) {
          .outerSidebar {
            display: none;
          }
        }

        @media (max-width: 640px) {
          .outerSidebar {
            display: flex;
            flex-direction: column;
            justify-content: center;
            align-items: center;
            margin-top: 24px;
            margin-bottom: 24px;
          }
        }

      /* Sidebar-specific margin for spacing between grid columns if needed */
        .sidebar-articles-header {
          font-size: 1.2em;
          color: #fff;
          background: #262728;
        }

        .sidebar-articles-header h2 {
          margin: 0;
          font-size: 1.2em;
          font-weight: 300;
          padding: 0.6rem 1.2rem;
          color: white;
        }

        .a-single {
          text-align: center;
          margin-top: 10px;
          margin-bottom: 10px;
        }

        .a-single:first-child {
          text-align: center;
          margin-top: 0px;
          margin-bottom: 10px;
        }

        .outerSidebar .g-col:first-child {
          margin-top: 0;
        }

      /* RECOMMENDED ARTICLES*/
        .recommended-articles {
          margin-top: 20px;
          margin-bottom: 20px;
        }

        .recommended-articles-list {
          display: flex;
          flex-direction: column;
        }

        .recommended-article {
          padding-bottom: 0em;
        }

        .recommended-article-title-container {
          padding: 18px 18px;
          line-height: 1.2;
        }

        .recommended-article-title-container a {
          text-decoration: none;
          width: 100%;
        }

        .recommended-articles-title {
          font-size: 18px;
          font-weight: 600;
        }

        .recommended-articles-category {
          font-size: 14px;
          font-weight: 300;
          padding-right: 4px;
          text-transform: uppercase;
        }

        .recommended-article-divider {
          border-bottom: 1px solid #e0e0e0;
          width: 100%;
        }

        .recommended-article:last-child .recommended-article-divider {
          border-bottom: none;
        }
    

  /* Writer card styles */
    .writer-card {
      display: flex;
      align-items: flex-start;
      gap: 1.5rem;
      background: #f8f8f8;
      padding: 1.5rem;
      margin-top: 2rem;
      margin-bottom: 2rem;
    }

    .writer-card-main {
      flex: 1;
    }

    .writer-card-top {
      font-size: 16px;
      font-weight: bold;
    }

    .writer-company {
      color: #555;
      font-weight: normal;
    }

    .writer-desc {
      margin-top: 0.5em;
      color: #444;
    }

    .writer-card-image img {
      width: 80px;
      height: 80px;
      object-fit: cover;
    }

  /* Post meta styles */
    .post-meta {
      display: flex;
      align-items: center;
      gap: 0.6em;
      margin-bottom: 16px;
    }

    .post-meta .category,
    .post-meta .writer {
      font-size: 15px;
      font-weight: 300;
    }

    .post-meta .category {
      font-weight: 500;
      color: #444;
    }

    /* Category tags single template page */
    .post-meta-container {
      display: flex;
      margin-top: 15px;
    }

    .post-meta-category .category-tag {
      display: flex;
      flex-direction: row;
      font-size: 15px;
      font-weight: 500;
      color: #444;
      gap: 10px;
    }

    @media (max-width: 640px) {
      .category {
        flex: 3;
      }
    }

    .post-meta .theDate {
      color: #434342;
      display: flex;
      align-items: center;
    }

    .post-meta .writer {
      color: #222;
      font-weight: 700;
    }

    .post-meta .sep {
      color: #ccc;
      font-size: 1em;
      padding: 0 0.3em;
    }
  /* Entry, Single Post & Article Content */
    .mainExc {
      padding-top: 16px;
      padding-bottom: 10px;
    }

  /* Block quote styles */
    .wp-block-quote {
      border-top: 1px solid #e0e0e0;
      border-bottom: 1px solid #e0e0e0;
      margin: 2.5rem 0;
      padding: 2.5rem 1.5rem;
      position: relative;
      font-family: "Lora", serif;
    }

    .wp-block-quote p {
      --tw-text-opacity: 1;
      color: #131415;
      font-size: 1.125rem;
      font-weight: 600;
      line-height: 1.2;
      margin-bottom: 0 !important;
      font-family: "Lora", serif;
    }

  /* =================== */
  /*    Lehtiarkisto     */
    #lehtiarkisto.content-area {
      display: grid;
      grid-template-columns: 1fr;
      gap: 25px;
    }

    @media (max-width: 900px) {
      #lehtiarkisto.content-area {
        display: flex;
        flex-direction: column;
      }
    }

    .lehtiarkisto-container {
      width: 640px;
      flex-shrink: 0;
    }

    @media (max-width: 640px) {
      .lehtiarkisto-container {
        width: 100%;
        margin-bottom: 40px;
      }
    }
    
    .membership-card {
      background: #222;
      padding: 2.5em 32px;
      margin-bottom: 2.5em;
      color: #fff;
      box-shadow: 0 2px 18px rgba(0,0,0,.13);
    }

    .membership-card-flex {
      display: flex;
      align-items: flex-start;
      gap: 35px;
      flex-wrap: wrap;
    }

    .membership-card-cover {
      flex: 0 0 195px;
    }

    .membership-card-info {
      flex: 1 1 320px;
      min-width: 280px;
    }

    .membership-card-info h2 {
      font-size: 1.55em;
      margin: 0 0 .7em 0;
      color: #fff;
    }

    .membership-desc {
      font-size: 1.1em;
      margin-bottom: 24px;
    }

    .membership-buttons {
      display: flex;
      gap: 16px;
      flex-wrap: wrap;
    }

    @media (max-width: 640px) {
      .membership-buttons {
        gap: 16px;
      }
    } 

    .membership-btn {
      font-weight: bold;
      text-decoration: none;
      font-size: 1.08em;
      padding: .6em 1.4em;
      transition: background .2s, color .2s;
      border: none;
      display: inline-block;
    }

    .membership-btn.yellow {
      background: #ffdd00;
      color: #111;
    }

    .membership-btn.yellow:hover {
      background: #efc900;
      color: #131415;
    }

    .membership-btn.yellow-outline {
      background: transparent;
      border: 2px solid #ffdd00;
      color: #ffdd00;
    }

    @media (max-width: 1024px) {
      .membership-btn.yellow-outline {
        display: none;
      }
    }

    .membership-btn.yellow-outline:hover {
      background: #efc900;
      color: #111;
    }

    .cover-placeholder {
      display: flex;
      align-items: center;
      justify-content: center;
      background: #444;
      color: #ccc;
      width: 195px;
      height: 275px;
    }

    .issue-title {
      font-size: 1.4em;
      margin: 2.8em 0 16px 0;
      color: #1a3965;
      text-align: center;
    }

    @media (max-width: 800px) {
      .membership-card-flex {
        flex-direction: column;
        gap: 24px;
      }
      .membership-card-cover {
        margin: 0 auto;
      }
    }

    .magazines-double-row {
      display: flex;
      flex-direction: column;
      gap: 24px;
      margin-bottom: 32px;
    }

    .magazines-row {
      display: flex;
      flex-direction: row;
      gap: 20px;
      justify-content: flex-start;
      flex-wrap: wrap;
    }

    .magazine-grid-item {
      background: #fff;
      overflow: hidden;
      transition: box-shadow 0.2s;
      width: 140px; /* ensures card matches image width */
      margin: 0;
      padding: 0;
      text-align: center;
      display: flex;
      flex-direction: column;
      align-items: stretch;
    }

    .magazine-grid-cover-wrap {
      position: relative;
      width: 135px;
      height: 195px; /* Or 275px if you want the card taller */
    }
    
    .magazine-grid-item a {
      color: inherit;
      text-decoration: none;
      display: flex;
      flex-direction: column;
      align-items: stretch;
      height: 100%;
    }

    .magazine-grid-cover {
      width: 135px;
      height: 195px;
      object-fit: cover;
      display: block;
      border-radius: 0;
      margin: 0;
      padding: 0;
    }

    .magazine-grid-info {
      padding: 10px 4px 12px 4px;
      background: #fff;
    }

    .magazine-grid-info h3 {
      margin: 0 0 0.15em 0;
      font-size: 1em;
      color: #1a3965;
    }

    .release-window {
      font-size: 0.93em;
      color: #888;
    }

    @media (max-width: 900px) {
      .magazines-row {
        flex-wrap: wrap;
        gap: 0.7em;
        justify-content: center;
      }
    }

  /* Lehtiarkisto list */
    .articles-list {
      display: flex;
      flex-direction: column;
      gap: 26px;
    }

    .lehtiarkisto-article {
      display: flex;
      flex-direction: column;
      gap: 28px;
      align-items: flex-start;
      background: #fff;
      overflow: hidden;
      margin: 8px 20px 0 8px;
      padding-bottom: 26px;
      border-bottom: 2px solid #e0e0e0;
    }

    .lehtiarkisto-image {
      width: 305px;
      height: 170px;
    }

    .lehtiarkisto-image img {
      width: 100%;
      height: 100%;
      object-fit: cover;
    }

    .lehtiarkisto-image:empty {
      display: none;
    }

    .lehtiarkisto-text {
      flex: 1;
    }

    .lehtiarkisto-meta {
      font-size: 0.96em;
      color: #767676;
      margin-bottom: 12px;
    }

    .lehtiarkisto-separator {
      margin: 0 7px;
    }

    .lehtiarkisto-author {
      font-size: 1.02em;
      color: #444;
      margin-bottom: 12px;
      font-weight: 500;
    }

    .lehtiarkisto-title {
      font-size: 1.17em;
      font-weight: 700;
      margin-bottom: 12px;
    }

    .lehtiarkisto-title a {
      color: #1a1a1a;
      text-decoration: none;
    }

    .lehtiarkisto-content {
      font-size: 1.07em;
      color: #222;
    }

    .lehtiarkisto-content div p {
      margin: 0;
    }

    @media (max-width: 700px) {
      .lehtiarkisto-article {
        flex-direction: column;
        gap: 14px;
        padding: 10px;
      }
      .lehtiarkisto-image img {
        max-width: 100%;
      }
    }

  /* Yumpu Modal */
    #yumpu-modal {
      position: fixed;
      top: 0; left: 0; right: 0; bottom: 0;
      z-index: 9999;
      display: flex; align-items: stretch; justify-content: stretch;
      width: 100vw;
      height: 100vh;
    }
    
    #yumpu-modal-backdrop {
      position: absolute; top:0;left:0;right:0;bottom:0;
      background: rgba(0,0,0,0.77);
      z-index: 1;
    }

    #yumpu-modal-content {
      position: relative;
      z-index: 2;
      display: flex;
      flex-direction: column;
      align-items: flex-end;
      width: 100vw;
      height: 100vh;
      max-width: 100vw;
      max-height: 100vh;
      padding: 0;
    }

    #yumpu-modal-close {
      margin: 24px 32px 0 0;
      background: #ffd908;
      color: #111;
      border: none;
      padding: 0.7em 1.4em;
      border-radius: 6px;
      font-weight: bold;
      font-size: 1.3em;
      cursor: pointer;
      z-index: 3;
      position: absolute;
      top: 0;
      right: 0;
      box-shadow: 0 2px 8px rgba(0,0,0,0.07);
    }

    #yumpu-embed-container {
      flex: 1 1 0;
      width: 100vw;
      height: 100vh;
      display: flex;
      align-items: center;
      justify-content: center;
      margin-top: 60px; /* leaves space for the close button */
      margin-bottom: 20px;
    }

    #yumpu-embed-container > div {
      width: 90vw;
      height: 82vh;
      max-width: 1400px;
      max-height: 88vh;
      box-shadow: 0 0 24px rgba(0,0,0,0.16);
      border-radius: 10px;
      background: #222;
      overflow: hidden;
    }

    @media (max-width: 1024px) {
      #yumpu-embed-container > div {
        width: 98vw;
        height: 68vw;
        min-height: 360px;
      }

      #yumpu-embed-container {
        padding: 0 16px;
      }

      #yumpu-modal-close {
        font-size: 1.1em;
        margin: 14px 10px 0 0;
      }

      .yumpu-embed-bt {
        display: none; /* Hide the button on mobile & tablets */
      }
    }

  /* Excerpts */
    .single .excerpt-container p {
      font-size: 1.125rem;
      font-weight: 600;
      margin: 0;
    }

  /* =================== */
  /*      Newsletter     */
    .newsletter-image {
      background-image: url('https://www.promaintlehti.fi/wp-content/themes/promaint_uudistus/images/newsletter.jpg');
      background-repeat: no-repeat;
      background-position: right bottom;
      background-size: contain;
      min-height: 200px;
      margin: 0 10px 0 10px;
    }

    .newsletter-form-wrapper {
        max-width: 450px;
        background: rgba(255,255,255,0.92);
        border-radius: 8px;
        margin-top: 32px;
    }

    .newsletter-form-wrapper label {
        display: block;
        font-weight: 600;
    }

    .newsletter-form-wrapper input[type="email"],
    .newsletter-form-wrapper input[type="text"] {
        width: 100%;
        padding: 8px 10px;
        font-size: 1.1em;
        border-radius: 4px;
        border: 1px solid #aaa;
        margin-bottom: 16px;
    }

    .newsletter-form-wrapper button {
        background: #ffd908;
        color: #222;
        padding: 12px 36px;
        font-size: 1.1em;
        border: none;
        border-radius: 4px;
        font-weight: 700;
        cursor: pointer;
    }

    @media (max-width: 900px) {
      .subscribe_newsletter {
        padding: 0 10px;
      }

      .uutiskirje-content {
        margin: 0 auto;
      }

      .newsletter_h2 {
        text-align: center;
      }
    }

/* =================== */
/*     BLOGS STYLES    */
  .blogs-sidebar {
    margin-top: 20px;
    margin-bottom: 20px;
  }

  .blogs-list {
    display: flex;
    flex-direction: column;
    gap: 16px;
  }

  .blogs-item,
  .blogs-item:first-child {
    display: flex;
    flex-direction: column;
    align-items: flex-start;
  }

  .blogs-image img {
    width: 100%;
    height: auto;
    display: block;
  }

  .blogs-content {
    padding: 18px 16px;
  }

  .blogs-meta {
    font-size: 15px;
    color: #6c757d;
    padding-bottom: 12px;
  }

  .blogs-writer {
    font-weight: 500;
    color: #434342;
  }

  .blogs-writer-link {
    font-size: 14px;
    text-decoration: none;
    font-weight: 400;
  }

  .blogs-title a {
    font-size: 22px;
    font-weight: 700;
    color: #222;
    text-decoration: none;
    line-height: 1.1;
    transition: color 0.2s;
    font-family: "Lora", serif;
  }

  .blogs-title a:hover {
    color: #1c3e83;
  }

/* =================== */
/*   MOST READ STYLES  */
  .most-read-container {
    margin-top: 0px;
    margin-bottom: 20px;
  }

  .most-read-list {
    display: flex;
    flex-direction: column;
    gap: 16px;
  }

  .most-read-item {
    line-height: 1.2;
  }

  .most-read-item-content {
    padding: 18px 16px;
    gap: 0.5em;
  }

  .most-read-category {
    font-size: 14px;
    font-weight: 300;
    padding-right: 0.3em;
    text-decoration: none;
    text-transform: uppercase;
  }

  .most-read-title {
    font-size: 18px;
    font-weight: 600;
    text-decoration: none;
    color: #222;
  }

  .most-read-divider {
    border-bottom: 1px solid #e0e0e0;
    width: 100%;
  }

  .most-read-item:last-child .most-read-divider {
    border-bottom: none;
  }

/* SMALL & BIG FEATURE STYLES*/
  /* Default: hide mobile layout */
    .mobile-featured {
      display: none;
    }

    /* Show mobile layout and hide desktop layout under 768px */
    @media screen and (max-width: 900px) {
      .mobile-featured {
        display: block;
      }

      .desktop-featured {
        display: none;
      }
    }

  .wrap-duo {
    display: flex;
    flex-direction: row;
    gap: 20px;
  }

  .wrap-duo > .smallfeature {
    flex: 1 1 0;
    min-width: 0;
    box-shadow: 0 2px 2px rgba(0, 0, 0, 0.12);
  }

  .smallfeature__image {
    aspect-ratio: 3 / 2;
    width: 100%;
    height: auto;
    overflow: hidden;
    display: block;
  }

  .smallfeature__image img {
    width: 100%;
    height: 100%;
    object-fit: cover;
    display: block;
  }

  /* Prevent paragraph and post content overflow */
    .main-column p,
    .bigfeature__content p,
    .smallfeature__content p,
    .bigfeature__content,
    .smallfeature__content {
      overflow-wrap: break-word;
      max-width: 100%;
      box-sizing: border-box;
    }

    /* Responsive images */
    .main-column img,
    .bigfeature__image img,
    .smallfeature__image img {
      max-width: 100%;
      width: 100%;
      display: block;
    }

    /* Meta info */
      .metaWrap {
        padding-top: 0px;
        padding-bottom: 10px;
        display: flex;
        flex-direction: row;
        font-size: 1em;
        gap: 0.8em;
      }

      .metaWrapCat {
        padding-top: 10px;
        padding-bottom: 10px;
        display: flex;
        flex-direction: row;
        font-size: 1em;
        gap: 0.8em;
      }

      @media (max-width: 900px) {
        /* Base styles for both .metaWrap and .metaWrapCat */
        .metaWrap,
        .metaWrapCat {
          flex-direction: row;
          font-size: 1em;
        }

        /* When inside .wrap-duo */
        .wrap-duo .metaWrap,
        .wrap-duo .metaWrapCat {
          flex-direction: column;
          font-size: 1em;
          gap: 5px;
        }
      }
    
      .metaWrap p {
        font-size: 0.8em;
      }

  /* Caption styles */
  .wp-caption-text {
    background-color: #f7f7f7;
    padding: 8px 20px;
    font-size: 0.9em;
    width: 100%;
    color: #262728;
    box-sizing: border-box;
    display: block;
    margin: 0;
  }

  /* Factbox css */
  .factbox {
    display: block;
    font-size: 1.1rem;
    color: #131415;
    background: #f9f9f9;
    padding: 0.5em 16px;
    margin: 0.5em 0 16px 0;
    border-left: 3px solid #d1d1d1;
    border-radius: 0 4px 4px 0;
    font-style: normal;
    text-align: left;
    line-height: 1.25;
  }

  /* With thumb inline images */
    .with-thumb-inline {
    display: flex;
    gap: 15px;
    align-items: center;
    }

    .inline-thumbnail-container {
      display: flex;
      flex-direction: row;
      align-items: center;
      gap: 15px;
      margin-bottom: 16px;
    }

    .inline-thumbnail-title {

    }

    .inline-text-container {

    }

    .inline-thumbnail img {
      width: 300px;
      height: 150px;
      object-fit: cover;
      border-radius: 4px;
    }

/* =================== */
/* COMMERCIAL COOPERATION */
  .commercialCoop-cards-wrap {
    display: flex;
    gap: 16px;
    width: 100%;
    max-width: 800px;
    margin-bottom: 20px;
    flex-direction: column;
  }

  .commercialCoop-card {
    background: #f7f7f7;
    box-shadow: 0 2px 8px rgba(0, 0, 0, 0.08);
    padding: 0 0 20px 0;
    max-width: 100%;
  }

  .commercialCoop-card-header {
    font-size: 12px;
    font-weight: 500;
    color: #333;
    text-transform: uppercase;
    padding: 12px 14px 8px 14px;
    background: none;
  }

  .commercialCoop-card-image img,
  .commercialCoop-card-image .wp-post-image {
    width: 100%;
    height: auto;
    display: block;
  }

  .commercialCoop-card-company {
    font-size: 14px;
    font-weight: 300;
    margin: 16px 24px 6px 16px;
    text-transform: uppercase;
  }

  .commercialCoop-card-date {
    color: #434342;
    font-size: 14px;
    font-weight: 300;
    margin: 0;
    padding-right: 10px;
  }

  .commercialCoop-card-title {
    font-size: 36px;
    font-weight: 400;
    color: #1a1a1a;
    line-height: 1.2;
    margin: 0 24px 8px 16px;
  }

  .commercialCoop-card-title-sidebar {
    font-size: 24px;
    font-weight: 500;
    color: #1a1a1a;
    margin: 0 24px 8px 16px;
    line-height: 1.15;
  }

  .commercialCoop-card-title-sidebar a {
    text-decoration: none;
  }

  .commercialCoop-card-excerpt {
    margin-top: 14px;
    margin-left: 14px;
  }

  .commercialCoop-card-excerpt-a {
    font-size: 16px;
    font-weight: 400;
    color: #444;
  }

/* =================== */
/* LATEST NEWS (single)*/
  .latest-posts-container {
    margin-top: 20px;
    margin-bottom: 40px;
  }

  .latest-posts-header {
    text-transform: uppercase;
    text-align: center;
    font-weight: 300;
    font-size: 2.5em;
    padding: 20px 0 40px 0;
    margin: 0;
  }

  .latest-posts-list {
    display: flex;
    flex-direction: row;
    flex-wrap: wrap;
    gap: 16px;
    margin: 0;
    padding: 0;
  }

  .latest-post-box {
    flex: 1 1 45%;
    min-width: 220px;
    max-width: 400px;
    display: flex;
    flex-direction: column;
    box-sizing: border-box;
    background: #fff;
    border-radius: 10px;
  }

  .latest-post-box a img {
    width: 100%;
    height: 160px;
    object-fit: cover;
    display: block;
    margin-bottom: 0.8em;
  }

  .latest-title {
    font-weight: bold;
    font-size: 1.4em;
    text-decoration: none!important;
  }

  .latest-meta {
    font-size: 0.9em;
    color: #666;
    margin-top: 16px;
  }

  .latest-category {
    font-weight: 500;
    padding-right: 0.5em;
  }

  .latest-date {
    color: #999;
  }

  @media (max-width: 900px) {
    .latest-posts-header {
      font-size: 1.5rem!important;
      padding: 15px 0 30px 0;
    }

    .latest-title {
      font-weight: bold;
      font-size: 1.2em;
      text-decoration: none;
    }

    .latest-posts-list {
      flex-direction: column;
      padding: 10px 10px;
    }
  }

  @media (max-width: 640px) {
    .latest-posts-list {
      gap: 30px;
    }
  }

/* =================== */
/*    ADVERTISEMENT    */
  /* Parade banner container */
    .parade-banner-container {
      max-width: 1200px;
      margin: auto;
      padding-left: 16px;
    }

    @media (max-width: 640px) {
      .parade-banner-container {
        padding-left: 0px;
      }
    }

    .parade-banner-wrapper {
      display: flex;
      justify-content: flex-start;
      align-items: center;
      margin: 48px 0px 16px 0px;
    }

    @media (max-width: 640px) {
      .parade-banner-wrapper {
        justify-content: center;
      }
    }
    
    .parade-banner {
      display: flex;
      justify-content: center;
      overflow: hidden;
    }

    @media (max-width: 900px) {
        .parade-banner {
        border-radius: 0px;
      }
    }

  /* HTML 5 ad box */
    .promaint_ad {
      width: 100%;
      max-width: 100vw;
      margin: 0 auto;
      padding: 0;
      box-sizing: border-box;
      display: flex;
      justify-content: center;
      align-items: center;
      position: relative;
    }

  /* Advertisement styles */
    .advertisement-spot {
      margin: 30px 0;
      text-align: center;
      clear: both;
    }

    .visual-leaflet {
      color: #fff;
      background: #262728;
      padding: 0;
      margin-bottom: 20px;
    }

    .visual-leaflet-content {
      padding: 20px 17px 20px 17px;
    }

    .visual-leaflet-content p {
      font-size: 16px !important;
      padding: 0px 0px 10px 0px;
      margin: 0px;
      color: white !important;
    }

    .visual-leaflet-content a {
      color: white;
      text-decoration: none;
    }

    .visual-leaflet-content a:hover {
      color: white;
      text-decoration: underline;
      text-decoration-thickness: 1px;
    }

    .visual-leaflet-content h2 {
      font-size: 2em !important;
      line-height: 0;
      padding: 32px 0px !important;
      margin: 0px;
      color: white;
      font-weight: 500;
    }

  /* HTML5 add styles */
    .ad-divider {
      display: flex;
      align-items: center;
      text-align: center;
      margin: 32px 0;
      width: 100%;
    }
    
    .ad-divider .ad-divider-text {
      padding: 0 16px;
      color: #e6e6e6;
      font-weight: 700;
      font-size: 0.8em;
      background: #fff;
      position: relative;
      z-index: 2;
    }

    .ad-divider::before,
    .ad-divider::after {
      content: '';
      flex: 1;
      border-bottom: 3px solid #efefef;
      margin: 0 5px;
      position: relative;
      top: 0.09em;
      z-index: 1;
    }
    
    .ad-divider-text {
      background: #fafafa;
      padding: 0 16px;
      position: relative;
      z-index: 1;
    }
    
    .ad-container {
      display: flex;
      width: 100%;
      box-sizing: border-box;
      background: #fff;
      overflow: hidden;
      position: relative;
    }
    
    .g-single .gofollow img {
      max-width: 100%!important;
      width: auto!important;
    }

    .main-ad-container {
      display: flex;
    }

  /* Sticky advertisement */
    .sticky-ad {
      position: sticky;
      top: 10px; /* Adjust depending on your header height */
      z-index: 10;
      margin-bottom: 20px;
    }

    @media (max-width: 640px) {
      .sticky-ad {
        position: static; /* Disable sticky on mobile */
      }
    } 

/* =================== */
/*   LOAD MORE BUTTON  */
  .load-more-container {
    text-align: center;
    margin: 30px 0;
  }

  .load-more-btn {
    background-color: #ffdd00;
    color: #131415;
    padding: 8px 18px;
    text-transform: uppercase;
    font-weight: bold;
    text-decoration: none;
    font-size: 16px;
  }

  .load-more-btn:disabled {
    background: #cccccc;
    cursor: not-allowed;
  }

  .loading-spinner {
    margin-top: 10px;
    font-style: italic;
  }

/* ===================== */
/* 404 and Search styles */
  .error-404-wrapper {
    display: flex;
    flex-direction: column;
    align-items: center;
    justify-content: center;
    text-align: center;
    padding: 32px 16px;
  }

  @media (max-width: 640px) {
    .error-404-wrapper {
      padding: 32px 16px 16px 16px;
    }
  }

  .button-home-404:hover { background: #005795; }

  .search-404-wrap {
    margin: 16px 0 32px 0;
    width: 100%;
  }

  @media (max-width: 640px) {
    .search-404-wrap {
      width: 100%;
    }
  }

  .search-404-wrap form {
    display: flex;
    gap: 0.5em;
  }

  .search-404-wrap input[type="search"] {
    flex: 1;
    padding: 12px 16px;
    border: 1px solid #ccc;
    border-radius: 4px;
    font-size: 1em;
  }

  .search-404-wrap input[type="submit"] {
    background: #1a3965;
    color: #fff;
    border: none;
    border-radius: 4px;
    padding: 12px 20px;
    font-size: 1em;
    cursor: pointer;
    transition: background 0.2s;
  }

  .search-404-wrap input[type="submit"]:hover {
    background: #005795;
  }

  .no-results {;
    margin-top: 50px;
  }

/* =================== */
/*     Popup styles    */
  .popup-container {
    max-width: 420px;
    margin-right: 16px;
    position: fixed;
    clear: both;
    right: 0;
    bottom: -150%;
    transform: translate(0%, 0%);
    box-shadow: 0 0 0 #fff;
    z-index: 100;
    background: #fff;
    padding: 14px;
    border: 1px solid black;
  }

  @media (max-width: 640px) {
    .popup-container {
      margin-right: 0px;
    }
  }

  .popup-container.open {
    bottom: 0%;
    transition:
      bottom 0.5s ease 0s,
      left 0.5s ease 0s;
    z-index: 15001;
  }

  .popup-container .popup-close {
    position: absolute;
    right: 25px;
    top: 25px;
    color: #1b1e26;
    background-color: #fff;
  }

  .popup-container .popup-close a {
    color: #131415;
    font-weight: 400;
    padding: 4px 6px;
    display: block;
  }

  .popup-wrap {
    display: flex;
    flex-direction: column;
    align-items: center;
    justify-content: center;
    text-align: center;
  }

  .popup-upper {
    display: flex;
    flex-direction: column;
    align-items: center;
    justify-content: center;
  }

  .popup-upper h3 {
    font-weight: 400;
    font-size: 1.5em;
  }

  .popup-container .popup-wrap .popup-lower .popup-right .cta-button {
    margin-top: 12px;
  }

  .popup-lower {
    width: 100%;
    display: flex;
    flex-direction: column;
    padding: 15px 0 0 0;
    gap: 0.7em;
  }

  .popup-lower form {
    width: 100%;
    display: flex;
    flex-direction: column;
    gap: 0.5em;
  }

  .newsletter-popup-input {
    width: 100%!important;
    min-width: 0;
    font-size: 1em;
    background: #fff;
    margin: 0;
    box-shadow: none;
    border: 1px solid #ccc;
    border-radius: 4px;
    padding: 10px 12px;
    transition: border-color 0.2s;
  }

  .newsletter-popup-input:focus {
    border-color: #1a3965;
    outline: none;
  }

  /* Modern button style */
    .call-to-action-newsletter {
      background: linear-gradient(90deg, #1a3965 40%, #005795 100%);
      color: #fff;
      border: none;
      border-radius: 4px;
      padding: 10px 22px;
      font-size: 1em;
      font-weight: 600;
      letter-spacing: 0.02em;
      box-shadow: 0 2px 8px rgba(26,57,101,0.10);
      cursor: pointer;
      transition: background 0.2s, transform 0.1s, box-shadow 0.2s;
      min-width: 100px;
    }
    .call-to-action-newsletter:hover,
    .call-to-action-newsletter:focus {
      background: linear-gradient(90deg, #005795 40%, #1a3965 100%);
      transform: translateY(-2px) scale(1.03);
      box-shadow: 0 6px 18px rgba(26,57,101,0.13);
    }

  #subFormPop #fieldEmail {
    max-width: initial;
    height: 44px;
  }

  .popup-success-message {
    display: none;
    color: #131415;;
    text-align: center;
  }

  .popup-fail-message {
    display: none;
    color: #131415;;
    text-align: center;
  }

  .popup-success-message p,
  .popup-fail-message p {
    color: #131415; !important;
  }

/* MISC */
  .loadMore section#partners h3 {
    color: #1a3965;
  }

  .site-footer .menu-1-container {
    margin-left: 0;
  }

  .underline {
    text-decoration: underline;
  }

  .no-space {
    margin: 0;
    padding: 0;
  }

  .space-left {
    margin: 0;
    padding: 0 0 0 10px;
  }
  
  .space-right {
    margin: 0;
    padding: 0 10px 0 0;
  }

  .margin-bottom {
    margin-bottom: 16px;
  }

  .flex {
    display: flex;
    align-items: center;
  }

/* Accessibility */
  .screen-reader-text {
    position: absolute !important;
    width: 1px;
    height: 1px;
    padding: 0;
    margin: -1px;
    overflow: hidden;
    white-space: nowrap;
    border: 0;
    
    /* Modern replacement for deprecated clip */
    clip-path: inset(50%);
    clip: rect(0, 0, 0, 0); /* Fallback for legacy browsers */
  }

  /* Reveal on focus */
    .screen-reader-text:focus {
        position: static;
        clip: auto;
        clip-path: none;
        width: auto;
        height: auto;
        margin: 0;
        overflow: visible;
        white-space: normal;
        background-color: #f1f1f1;
        border-radius: 3px;
        box-shadow: 0 0 2px 2px rgba(0, 0, 0, 0.6);
        color: #21759b;
        display: block;
        font-size: 0.875rem;
        font-weight: 700;
        left: 5px;
        line-height: normal;
        padding: 15px 23px 14px;
        text-decoration: none;
        top: 5px;
        z-index: 100000;
    }

  #content[tabindex="-1"]:focus {
    outline: 0;
  }

/* Clearfixes */
  .clear:before,
  .clear:after,
  .entry-content:before,
  .entry-content:after,
  .comment-content:before,
  .comment-content:after,
  .site-content:before,
  .site-content:after,
  .site-footer:before,
  .site-footer:after {
    content: "";
    display: table;
    table-layout: fixed;
  }

  .clear:after,
  .entry-content:after,
  .comment-content:after,
  .site-content:after,
  .site-footer:after {
    clear: both;
  }

/* Widgets */
  .widget {
    margin: 0 0 24px;
  }

  .widget select {
    max-width: 100%;
  }

/* Byline */
  .byline,
  .updated:not(.published) {
    display: none;
  }

  .single .byline,
  .group-blog .byline {
    display: inline;
  }

/* Page & Content Margins */
  .page-content,
  .entry-content,
  .entry-summary {
    margin: 24px 0 0;
  }

  .page-links {
    clear: both;
    margin: 0 0 24px;
  }

  /* Infinite Scroll */
  .infinite-scroll .posts-navigation,
  .infinite-scroll.neverending .site-footer {
    display: none;
  }

  .infinity-end.neverending .site-footer {
    display: block;
  }

/* Smiley Images */
  .page-content .wp-smiley,
  .entry-content .wp-smiley,
  .comment-content .wp-smiley {
    border: none;
    margin-bottom: 0;
    margin-top: 0;
    padding: 0;
  }

/* Popular Posts List */
  .wpp-list {
    margin: 0;
    padding: 0;
  }

  .wpp-list li {
    line-height: 1em;
    font-size: 0.9em;
    font-weight: 700;
    padding-bottom: 10px;
    padding-top: 10px;
  }

  .wpp-list li:last-child {
    border-bottom: 0 solid #ccc;
  }

/* Category & Date */
  p.category_name {
    color: #434342;
    font-size: 15px;
    font-weight: 500;
    margin: 0;
  }

  p.category_name a {
    color: #434342;
    margin: 0;
  }

  p.theDate {
    color: #434342;
    font-size: 14px;
    font-weight: 300;
    margin: 0;
  }

/* Single Entry Content */
  .single .entry-content {
    padding: 0;
    background: #fff;
    margin-top: 0;
  }

  .single .entry-content .flexSome a {
    color: #fff;
    padding: 5px 0;
    display: flex;
  }

  .flexSome a img {
    width: 30px;
  }

  .entry-content .socialmedia-icon-container a {
    text-decoration: none;
  }

/* Teksti & Foto */
p.teksti,
p.foto {
  display: inline-block;
  float: left;
  font-size: 12px;
  text-transform: uppercase;
  color: #222;
}

/* eCal Pro / Tribe Events */
  .tribe-mini-calendar thead,
  .tribe-mini-calendar td.tribe-events-has-events {
    background: #1a3965 !important;
  }
  .tribe-mini-calendar-event .list-date {
    background: #1a3965 !important;
  }
  .tribe-mini-calendar .tribe-events-present {
    background: #ce282c !important;
  }
  .tribe-mini-calendar td.tribe-events-has-events a {
    color: #fff !important;
  }
  .tribe-mini-calendar-event {
    border-bottom: 1px dotted #1a3965 !important;
  }
  .tribe-mini-calendar-event .list-date .list-dayname {
    color: #1a3965 !important;
  }
  .tribe-mini-calendar-nav td,
  .tribe-mini-calendar th {
    background: #1a3965 !important;
    border-color: #1a3965 !important;
  }
  .tribe-mini-calendar td.tribe-events-has-events.tribe-events-present,
  .tribe-mini-calendar td.tribe-events-has-events.tribe-mini-calendar-today {
    background-color: #ce282c !important;
  }
  .tribe-mini-calendar .tribe-events-has-events.tribe-events-present a:hover,
  .tribe-mini-calendar td.tribe-events-has-events.tribe-mini-calendar-today a:hover,
  .tribe-mini-calendar td.tribe-events-has-events a:hover {
    background-color: #4393d6 !important;
  }
  .tribe-mini-calendar .tribe-events-future {
    background: #175494 !important;
  }

/* Social Media / Share */
  #x-logo {
    height: 21px !important;
    width: 23px !important;
  }

  .tw-button {
    display: flex;
    align-items: center;
    justify-content: center;
  }

  .share {
    margin-bottom: 5px;
    text-transform: uppercase;
    font-size: 10px;
  }

  .socialmedia-icon-container {
    margin-bottom: 11px;
    margin-top: 20px;
  }

  .socialmedia-newsletter-h2 {
    font-size: 1.5em;
    color: #131415;
    padding: 10px 0;
    margin: 0;
    font-family: "Barlow", sans-serif;
  }

  .socialmedia-newsletter-h2 a {
    text-decoration: underline;
    text-decoration-color: #131415;
  }

  .socialmedia-newsletter-h2 a:hover {
    text-decoration: underline;
    text-decoration-color: #1c3e83;
  }

/* Load More Buttons */
  .loadMore {
    font-size: 30px;
    font-weight: bold;
    padding: 5px;
    min-width: 170px;
    display: inline-block;
    text-align: center;
  }

  .loadMore-category {
    font-size: 26px;
    font-weight: 400;
    padding: 5px;
    min-width: 170px;
    display: inline-block;
    text-align: center;
    text-transform: uppercase;
  }

  .loadMore-category:hover {
    text-decoration: underline;
  }
  
  @media (max-width: 900px) {
    .loadMore-category {
      font-size: 20px;
    }
  }

  .navigation {
    display: block;
    width: 100%;
    text-align: center;
    margin: 20px 0 40px 0;
  }

  .next {
    display: flex;
    justify-content: center;
    align-items: center;
  }

  #loadMore {
    border: 0;
    background: #0f7bc1;
    color: #fff;
    text-transform: uppercase;
    padding: 5px;
    min-width: 170px;
    display: inline-block;
    text-align: center;
    font-size: 13px;
    margin: 10px 0 40px 0;
    border-radius: 0;
    line-height: initial;
  }

  .loadMore2 {
    background: #fff;
    color: #131415;
    min-width: 200px;
    display: inline-block;
    text-align: center;
  }

/* 404 Layout */
  .left-404 {
    width: 45%;
    float: left;
  }

  .right-404 {
    float: right;
    width: 50%;
  }

/* Navbar & Main Nav */
  #navbar {
    position: relative;
    display: block;
  }

  .main-nav {
    height: 0;
    position: relative;
    margin: 0;
    width: 100%;
    background: transparent;
    overflow: hidden;
    float: left;
  }

  #menu-navbar {
    max-width: 100%;
    position: relative;
    width: 100%;
    display: none;
  }

/* Menu Wrapper */
  .menu-wrap {
    padding-bottom: 30px;
    background: #222;
    width: 100%;
    display: inline-block;
  }
  .menu-wrap .site-menu.open::after {
    content: "sulje valikko";
    color: #818181;
    text-transform: lowercase;
    font-size: 9px;
    position: absolute;
    bottom: -11px;
    left: -8px;
  }

/* Autofill Fix */
  input:-webkit-autofill,
  textarea:-webkit-autofill,
  select:-webkit-autofill {
    background-color: #eee !important;
    color: #fff !important;
  }
  input:-webkit-autofill {
    -webkit-box-shadow: 0 0 0 1000px #ccedec inset;
    -webkit-text-fill-color: #222 !important;
  }

/* Youtube Embed */
  .youtube {
    position: relative;
    display: inline-block;
    overflow: hidden;
    cursor: pointer;
    margin: 0 auto;
    width: 100%;
    background-size: cover;
  }

  .youtube .play {
    background: url(images/play-button.png) no-repeat center center;
    background-size: 10%;
    position: absolute;
    height: 100%;
    width: 100%;
    opacity: 0.8;
    filter: alpha(opacity=40);
    transition: all 0.2s ease-out;
  }

  .third .youtube .play {
    background-size: 20%;
  }

  .youtube .play:hover {
    opacity: 1;
    filter: alpha(opacity=100);
  }

/* Home Page Categories */
  .home .category {
    display: block;
    float: left;
  }

  .home p.teksti {
    margin: 0;
    padding: 0 5px;
    color: #222;
  }

/* Caption */
  .caption {
    background-color: #f7f7f7;
    padding: 8px 20px;
    font-size: 0.9em;
    width: 100%;
    color: #262728;
    box-sizing: border-box;
    display: block;
    margin: 0;
  }

  @media (max-width: 640px) {
    .caption {
      font-size: 1em;
      padding: 10px 20px;
    }

    .flex_1_mobile {
      flex: 1;
    }

    .flex_2_mobile {
      flex: 2;
    }

    .flex_end_mobile {
      display: flex;
      justify-content: flex-end;
    }
  }

/* Flex Utility */
  .flexSome {
    display: flex;
    gap: 6px;
  }

/* Font Awesome */
  .fa_block {
    display: block;
  }

  .fa_flex {
    display: flex;
  }

  .fa {
    align-items: center;
    line-height: 30px;
    text-align: center;
    font-size: 20px;
  }

/* Section Masthead */
  div#secMast {
    max-width: 1273px;
    margin: 0 auto;
    background: #fff;
  }

/* Feature Articles */
  .bigfeature article,
  article.smallfeature,
  .single article,
  .page article {
    background: #fff;
  }

  .bigfeature__content,
  .smallfeature__content {
    padding: 20px 20px 22px 20px;
  }

  @media (max-width: 640px) {
    .bigfeature__content,
    .smallfeature__content {
      padding: 0 16px 20px 16px;
    }
  }

  .page article {
    padding: 20px 0;
  }

  .wAU {
    padding: 0 0 0 0;
  }

  @media (max-width: 600px) {
    .wAU {
      padding: 20px 0 0 0;
    }
  }

  .single-content a {
    text-decoration: underline;
    text-decoration-thickness: 1px;
    text-decoration-color: #131415;
  }

  .single-content a:hover {
    text-decoration: underline;
    text-decoration-thickness: 1px;
    text-decoration-color: #0000ff;
  }

/* Menu Font Weight */
  .large-5.medium-5.small-12 .menu-1-container li a {
    font-weight: 300;
  }

/* Feature Positioning */
  .bigfeature {
    position: relative;
    box-shadow: 0 2px 2px rgba(0, 0, 0, 0.12);
    margin: 0 0 16px 0;
  }
  .masWrap .masoner .wrap-trio:first-child .bigfeature {
    margin-top: 0;
  }

  .masoner {
    margin-bottom: 16px;
  }

/* Email Field */
  #fieldEmail {
    width: 68%;
    border: 1px solid #1a3965;
  }

/* Tribe Events List Widget */
  .tribe-events-list-widget .tribe-list-widget {
    margin-left: 0;
    padding-left: 0;
  }

/* =================== */
/* FOOTER STYLES       */
  /* COLOPHON / SITE-FOOTER */
    .site-footer {
      width: 100%;
      padding: 60px 0 0 0;
      z-index: 1000;
      position: relative;
      background: #434342;
      margin: 0 auto;
      background-size: cover;
    }

    footer#colophon {
      color: #fff;
      background: #f7f7f7;
      padding: 40px 0 0 0;
    }

    footer#colophon h3 {
      margin-bottom: 5px;
    }

    footer#colophon p {
      margin-top: 0;
      font-weight: 300;
    }

    .site-footer a,
    .site-footer p {
      color: #fff;
      text-decoration: none;
      text-transform: inherit;
    }

    .site-footer nav ul,
    .site-footer nav ol {
      list-style: none;
      list-style-image: none;
      margin: 0;
      padding: 0;
    }

    .site-footer .fa {
      font-size: 20px;
    }

    /* CONTAINER */
    .site-footer .container {
      max-width: 1273px;
      margin: 0 auto;
    }

    /* FBLOCK / ERSTE */
    .fBlock {
      display: flex;
      flex-direction: column;
      width: 100%;
      margin: 0 auto;
      position: relative;
      padding: 0 45px 0px 45px;
    }

    .fBlock li {
      color: #fff;
    }

    .fBlock:before,
    .fBlock:after {
      content: "";
      display: table;
    }

    .fBlock:after {
      clear: both;
    }

    .fBlock .small-12 {
      margin-bottom: 20px;
      display: inline-block;
    }

    /* FOOTER LOGO LINK */
    a.footerLogoLink {
      width: 100%;
      display: block;
      float: left;
    }

    /* FOOTER LOGO */
    img.footerLogo {
      max-width: 100%;
      margin-bottom: 20px;
      width: 415px;
    }

    img.footerLogo2 {
      max-width: 100%;
      width: 340px;
      padding: 10px 0px;
    }

    /* FOOTER HEADER ROW */
    .footer-header-row {
      display: flex;
      flex-direction: row;
      gap: 18px;
      margin-bottom: 36px;
    }

    .footer-header {
      flex: 2;
    }

    .footer-h2 {
      color: #fff !important;
      margin: 0;
      font-size: 28px;
      font-weight: 600;
      line-height: 1.2;
      padding: 5px 0px 5px 0px;
      font-family: "Barlow", sans-serif;
    }

    .footer-h2 a:hover {
      text-decoration: underline;
      text-decoration-color: white;
    }

    /* FOOTER SOCIAL ICONS */
    .footer-social-icons {
      display: flex;
      flex: 1;
      gap: 12px;
      align-content: flex-end;
      flex-direction: row;
      flex-wrap: wrap;
    }

    .footer-social-icons a img {
      display: inline-block;
      vertical-align: middle;
      width: 28px;
      height: 28px;
      fill: #fff;
      transition: fill 0.2s;
    }

    .footer-social-icons a:hover img {
      fill: #1da1f2;
    }

    /* FOOTER COL */
    .footer-col {
      display: flex;
      flex-direction: row;
      margin-bottom: 60px;
    }

    /* FOOTER COLUMN */
    .footer-column {
      flex: 1;
      padding: 0 20px 0 0;
      min-width: 0;
    }

    .footer-column h3 {
      margin: 0;
      font-size: 36px;
      font-weight: 300;
      color: #131415;
      font-family: "Lora", serif;
    }

    .footer-contact h3 {
      margin: 0;
      font-size: 2.5em;
      font-weight: 300;
      color: #131415;
      font-family: "Lora", serif;
    }

    .footer-column-last {
      flex: 1;
      padding: 0 20px 0 0;
      min-width: 0;
      display: flex;
      flex-direction: column;
      align-content: flex-start;
      flex-wrap: wrap;
    }

    .footer-join-container {
      width: 100%;
      background-color: #1c3e83;
      margin-bottom: 40px;
    }

    .footer-join-wrapper {
      max-width: 1273px;
      margin: 0 auto;
      padding: 0 45px 0px 45px;
      display: flex;
      flex-direction: row;
      align-items: center;
      gap: 60px;
    }

    @media (max-width: 600px) {
      .footer-join-wrapper {
      display: flex;
      flex-direction: column;
      gap: 8px;
    }
    }

    .footer-copyright-container {
      display: none;
      max-width: 1273px;
      margin: 0 auto;
      padding: 0 45px 0px 45px;
    }

    /* MENU-MENU-F1 / FOOTERMENU */
    .site-footer ul#menu-menu-f1 {
      height: auto;
      color: #fff;
    }

    .site-footer ul#menu-menu-f1 li {
      width: 100%;
      padding: 0;
      font-size: 1em;
      line-height: 24px;
      text-transform: inherit;
      font-weight: 400;
    }

    ul.footermenu {
      list-style-type: none;
      line-height: 30px;
      margin: 0 auto;
      padding: 0;
      float: left;
      display: inline-block;
      width: 89%;
      font-weight: 400;
    }

    ul.footermenu li {
      border-bottom: 0px !important;
    }

    ul.footermenu li a {
      color: #131415;
      font-size: 1em;
      line-height: 1.2px;
    }

    ul.footermenu li a:hover {
      text-decoration: underline;
      text-decoration-thickness: 1px;
    }

    /* Mediamyynti footer menu */
    ul.footermenu_media {
      list-style-type: none;
      line-height: 30px;
      margin: 0 auto;
      padding: 0;
      float: left;
      display: inline-block;
      width: 89%;
      font-weight: 400;
      border-bottom: 0px !important;
    }

    ul.footermenu_media li {
      border-bottom: 0px !important;
    }

    ul.footermenu_media li a {
      color: #fff;
      font-size: 14px;
      line-height: 1.2px;
    }

    /* =================== */
    /* MOBILE FOOTER OPTIMIZATION */
    /* =================== */
    @media (max-width: 900px) {
      .site-footer,
      footer#colophon {
        padding: 32px 0 0 0;
      }
      .site-footer .container {
        padding: 0 8px;
      }
      .fBlock {
        padding: 0 10px 30px 10px;
      }
      .footer-header-row {
        flex-direction: column;
        gap: 8px;
        margin-bottom: 38px;
        align-items: flex-start;
      }
      .footer-header {
        flex: none;
      }
      .footer-h2 {
        font-size: 1.3em;
        text-align: left;
        line-height: 1.15;
      }
      img.footerLogo {
        width: 180px;
        max-width: 100%;
        margin-bottom: 14px;
      }
      .footer-social-icons {
        gap: 8px;
        margin-top: 10px;
      }
      .footer-social-icons a svg {
        width: 22px;
        height: 22px;
      }
      .footer-col {
        flex-direction: column;
        gap: 22px;
        margin-bottom: 32px;
      }
      .footer-column {
        padding: 0 0 0 0;
        margin-bottom: 16px;
      }
      .footer-column h3 {
        font-size: 2.25em;
        margin-bottom: 0.7em;
        color: #131415;
        font-family: "Lora", serif;
      }
      .footer-contact h3 {
        font-size: 2.25em;
        margin-bottom: 0.7em;
        color: #131415;
      }
      ul.footermenu,
      .site-footer ul#menu-menu-f1 {
        width: 100%;
        display: block;
        line-height: 2em;
        font-size: 1em;
      }
      ul.footermenu li,
      .site-footer ul#menu-menu-f1 li {
        font-size: 1em;
        padding: 4px 0;
        line-height: 1.7;
      }
      ul.footermenu li a {
        font-size: 1em;
        line-height: 1.7;
      }
      .footer-h2 a {
        font-size: 1em !important;
        overflow-wrap: break-word;
        display: block;
        padding: 10px 0;
      }
    }

    /* Extra small screens */
    @media (max-width: 500px) {
      .footer-h2 {
        font-size: 1.1em;
      }
      img.footerLogo {
        width: 250px;
      }
      .footer-column h3 {
        font-size: 2.25em;
      }
    }