

/*
* Font smoothing.
* This is a niche setting that will not be available via Global Styles.
* https://github.com/WordPress/gutenberg/issues/35934
*/

html {
   scroll-behavior: smooth;
 }

body {
   -moz-osx-font-smoothing: grayscale;
   -webkit-font-smoothing: antialiased;
}

/*
* Text and navigation link styles.
* Necessary until the following issue is resolved in Gutenberg:
* https://github.com/WordPress/gutenberg/issues/27075
*/

a {
   text-decoration-thickness: 1px;
   text-underline-offset: 0.25ch;
}

a:hover,
a:focus {
   text-decoration-style: dashed;
   text-decoration-thickness: 1px;
   text-underline-offset: 0.25ch;
}

a:active {
   text-decoration: none;
}

p > a {
   text-decoration: underline;
}

.wp-block-navigation .wp-block-navigation-item__content,
.wp-block-navigation-item > a {
   color: var(--wp--preset--color--foreground);
}





/* HEADER */

header {
   position:relative;
   z-index:9999;
   transition: all 0.3s ease-in-out;
}

header ul li:not([style*="font-size"]) {
   font-size:  clamp(1.15rem, 1.4vw, 1.25rem);
}

.header-tiny {
   font-size: 0.8em;
}

.wp-block-navigation__responsive-container.is-menu-open .wp-block-navigation__responsive-container-content .wp-block-navigation__container {
   gap: 1.15rem;
   width:100%;
}

.wp-block-social-links.is-style-logos-only .wp-social-link-twitter a svg {
   display:none;
}

.wp-block-social-links.is-style-logos-only .wp-social-link-twitter a:before {
   content: "";
   height: 0.9em;
   width: 0.9em;
   background: url('../X-logo.svg') no-repeat center center;
   background-size: 0.9em 0.9em;
}

/* header sticky */
.wp-site-blocks {
   position:relative;
}

@media (max-width: 600px) {
   header {
      position: sticky;
      top:-84px;
   }
   .header-tiny {
      font-size: 0.8em;
      top: -75px;
   }
}

@media (min-width: 960px) {
   header {
      position: sticky;
      top:-84px;
   }
   .header-tiny {
      font-size: 0.8em;
      top: -75px;
   }
}

header > * {
   background: #fff;
   border-bottom-right-radius: 1rem;
   border-bottom-left-radius: 1rem;
   box-shadow: 0px 2px 6px rgba(0,0,0,.08);
   margin-bottom: -1em;
}

.wp-block-navigation .wp-block-navigation-item a:hover,
.wp-block-navigation .wp-block-navigation-item a:focus {
   text-decoration: none;
   text-decoration-style: solid;
}

.wp-block-navigation-item > a {
   border-bottom: 3px solid transparent;
   border-top: 3px solid transparent;
   transition: all 0.3s ease-in-out;
}

.wp-block-navigation-item:hover > a,
.current-menu-item > a {
   border-bottom: 3px solid var(--wp--preset--color--tertiary);
}
.footer-links .wp-block-navigation-item > a {
   border-bottom: 3px solid var(--wp--preset--color--tertiary);
}





/* Footer */

footer {
   margin-block-start:0!important;
}




/* blogpost typography */

.single-post .entry-content > H2 {
   font-size: clamp(1.75rem, 2.75vw, 2.5rem);
}





/*
* Search and File Block button styles.
* Necessary until the following issues are resolved in Gutenberg:
* https://github.com/WordPress/gutenberg/issues/36444
* https://github.com/WordPress/gutenberg/issues/27760
*/

.wp-block-search__button,
.wp-block-file .wp-block-file__button {
   background-color: var(--wp--preset--color--primary);
   border-radius: 0;
   border: none;
   color: var(--wp--preset--color--background);
   font-size: var(--wp--preset--font-size--medium);
   padding: calc(.667em + 2px) calc(1.333em + 2px);
}
/*
.wp-block-buttons {
   margin-block-start:0!important;
}*/

.wp-block-button.is-style-secondary .wp-block-button__link {
   background: transparent;
   border-bottom: 2px solid currentColor;
   padding: calc(.667em + 2px) calc(.667em + 2px);
   transition: all 0.35s ease-in-out;
}

.wp-block-button.is-style-secondary .wp-block-button__link:hover {
   background: rgba(0,0,0,.1);
}

/*
* Button hover styles.
* Necessary until the following issue is resolved in Gutenberg:
* https://github.com/WordPress/gutenberg/issues/27075
*/

.wp-block-search__button:hover,
.wp-block-file .wp-block-file__button:hover,
.wp-block-button__link:hover {
   opacity: 0.90;
}





.wp-block-media-text>.wp-block-media-text__content {
   padding: 0 6%;
}

/* Custom media-text */

.wp-block-media-text.alignfull.is-style-rounded-image.is-image-fill-element .wp-block-media-text__media,
.wp-block-media-text.alignfull.is-style-rounded-image-top.is-image-fill-element .wp-block-media-text__media {
   max-width:100%;
   /*height:auto;*/
   height:100%;
}

.wp-block-media-text.is-style-rounded-image.is-image-fill-element .wp-block-media-text__media,
.wp-block-media-text.is-style-rounded-image-top.is-image-fill-element .wp-block-media-text__media {
   max-width:100%;
   height:auto;
}

.wp-block-media-text.has-media-on-the-right.is-style-rounded-image .wp-block-media-text__media {
   overflow: hidden;
   border-bottom-left-radius: 50vw;
   aspect-ratio: 1/1;
}

.wp-block-media-text:not(.has-media-on-the-right).is-style-rounded-image .wp-block-media-text__media {
   overflow: hidden;
   border-bottom-right-radius: 50vw;
   aspect-ratio: 1/1;
}

.wp-block-media-text.has-media-on-the-right.is-style-rounded-image-top .wp-block-media-text__media {
   overflow: hidden;
   border-top-left-radius: 50vw;
   aspect-ratio: 1/1;
}

.wp-block-media-text:not(.has-media-on-the-right).is-style-rounded-image-top .wp-block-media-text__media {
   overflow: hidden;
   border-top-right-radius: 50vw;
   aspect-ratio: 1/1;
}

@media (max-width:1100px) {
   .wp-block-media-text:not(.alignfull).is-style-rounded-image-right {
      display:block;
   }
   .wp-block-media-text:not(.alignfull).is-style-rounded-image-right .wp-block-media-text__content {
      padding:0;
   }
   .wp-block-media-text:not(.alignfull).is-style-rounded-image-right .wp-block-media-text__media {
      overflow: hidden;
      border-top-left-radius: 50vw;
      border-top-right-radius:0;
      border-bottom-right-radius:0;
      border-bottom-left-radius:0;
      aspect-ratio: 1/1;
   }
}

@media (max-width:1100px) {
   .wp-block-media-text.is-stacked-on-mobile .wp-block-media-text__content {
      padding-left:var(--wp--custom--spacing--outer);
      padding-right:var(--wp--custom--spacing--outer);
      padding-top: 2em;
      padding-bottom: 2em;
   }
}



/*
* Responsive menu container padding.
* This ensures the responsive container inherits the same
* spacing defined above. This behavior may be built into
* the Block Editor in the future.
*/

.wp-block-navigation__responsive-container.is-menu-open {
   padding-top: var(--wp--custom--spacing--outer);
   padding-bottom: var(--wp--custom--spacing--large);
   padding-right: var(--wp--custom--spacing--outer);
   padding-left: var(--wp--custom--spacing--outer);
}

.wp-site-blocks > .wp-block-cover:first-of-type {
   margin-top:0!important;
}

/* Image block centering */

.wp-block-image.aligncenter {
   margin-left:auto;
   margin-right:auto;
}


/* post query block */

.wp-block-query .wp-block-cover {
    /*margin-top: var(--wp--style--block-gap, 2rem) !important;*/
    margin-top: 0!important;
    /*margin-bottom: var(--wp--style--block-gap, 2rem) !important;*/
    margin-bottom: 0!important;
}

.wp-block-query .wp-block-cover {
   min-height: 320px;
   /*height: 100%;*/
}

.h-100 {
   height:100%;
}

.wp-block-query .taxonomy-category {
   padding: 0.5em 1em;
}

.wp-block-query .taxonomy-category a {
   text-decoration: none;
   font-weight: 900;
   text-transform: uppercase;
   font-size: 0.75em;
}


@media (min-width: 600px) {
   .wp-block-post-template.is-flex-container.is-flex-container.columns-3>li, .wp-block-query-loop.is-flex-container.is-flex-container.columns-3>li {
      width: calc(50% - 0.83333em);
   }
}

@media (min-width: 960px) {
   .wp-block-post-template.is-flex-container.is-flex-container.columns-3>li, .wp-block-query-loop.is-flex-container.is-flex-container.columns-3>li {
      width: calc(33.33333% - 0.83333em);
   }
   .avattava-alue-iframe.active {
    width: 480px;
}
}

.wp-block-query .wp-block-cover .wp-block-cover__inner-container {
   position:relative;
   z-index:3;
   margin-block-start:0;
}

.wp-block-query .wp-block-post.category-ajankohtaista .wp-block-cover__inner-container {
   width:100%;
}

.wp-block-post-author {
   flex-direction: column;
}

.wp-block-query .wp-block-post-date {
   color: var(--wp--preset--color--primary);
}








/* blogi-kategorian ulkoasu query blockissa */

.wp-block-query .wp-block-post.category-blogi .wp-block-cover__inner-container .has-background {
   background-color: transparent!important;
}

.wp-block-query .wp-block-post.category-blogi .wp-block-cover__inner-container > *,
.wp-block-query .wp-block-post.category-blogi .wp-block-cover__inner-container a,
.wp-block-query .wp-block-post.category-blogi .wp-block-cover__inner-container .wp-block-post-date {
   color: var(--wp--preset--color--light-roosa)!important;
}

.wp-block-query .wp-block-post.category-blogi .wp-block-cover {
   align-items: end;
   justify-content: flex-start;
}

.wp-block-query .wp-block-post.category-blogi .wp-block-post-title {
   font-size: var(--wp--preset--font-size--large) !important;
   font-style: italic;
   line-height: var(--wp--custom--typography--line-height--small);
}



/* ajankohtaista-kategorian ulkoasu query blockissa */

.wp-block-query .wp-block-post.category-ajankohtaista .wp-block-cover__inner-container .wp-block-post-author {
   display:none;
}


/* ajankohtaista postaus */

body.ajankohtaista .wp-block-post-author {
   display:none;
}


/* referenssit filtter grid */

   .wp-block-post-template.is-flex-container.is-flex-container.columns-2>li, .wp-block-query-loop.is-flex-container.is-flex-container.columns-2>li,
   .wp-block-post-template.is-flex-container.is-flex-container.columns-3>li, .wp-block-query-loop.is-flex-container.is-flex-container.columns-3>li {
      padding-bottom: 1em;
   }

@media (min-width: 600px) {
   .grid.wp-block-post-template.is-flex-container.is-flex-container.columns-2>li, .wp-block-query-loop.is-flex-container.is-flex-container.columns-2>li,
   .grid.wp-block-post-template.is-flex-container.is-flex-container.columns-3>li, .wp-block-query-loop.is-flex-container.is-flex-container.columns-3>li {
      padding: 0.25em; /* gutter size */
      display: flex;
      flex-direction: column;
   }
}

@media (min-width: 1200px) {
   .grid.wp-block-post-template.is-flex-container.is-flex-container.columns-2>li, .wp-block-query-loop.is-flex-container.is-flex-container.columns-2>li {
      width: calc(33.33333% - 0.83333em);
   }
}

.avatar {
   border-radius: 100%;
}






.mt-0 {
   margin-top: 0!important;
}

.mb-0 {
   margin-bottom: 0!important;
}



@media (max-width:320px) {
   .bw-form-field {
    width: 200px;
}
}

@media (max-width:600px) {
   .visibility-hidden-mobile {
      visibility: hidden;
   }
   .display-none-mobile {
      display: none!important;
   }
}

@media (min-width:600px) {
   .visibility-hidden-desktop {
      visibility: hidden;
   }
   .display-none-desktop {
      display:none!important;
   }
}





/* referenssi */

.wp-block-cover .taxonomy-category.has-background {
   display: inline-block;
   padding: 0.5em;
}

.wp-block-cover .taxonomy-category a {
   text-decoration: none;
}



/*  Forminator  */

.forminator-design--flat .forminator-label {
   font-size: 1em!important;
   color:inherit!important;
}

.forminator-design--flat .forminator-button-submit {
   font-size: 1em!important;
   padding: 1em 1.5em!important;
   background-color: var(--wp--preset--color--foreground)!important;
}

.forminator-design--flat .forminator-button-submit:hover {
   box-shadow: 0 0 0!important;
   opacity:.85!important;
   background-color: var(--wp--preset--color--foreground)!important;
}



/* Cookie consent */

#cc-valinta {
   margin: 2rem auto;
 }
 
 .lms-selector-container {
   display: grid;
   grid-template-columns: 1fr;
   gap: 1rem;
 }
 
 .lms-consent-modal {
   display: none;
 }
 
 .lms-consent-modal.show {
   display: block;
   position: fixed;
   right: 1.5%;
   left: 1.5%;
   bottom: 2%;
   /*width: 97%;*/
   z-index: 99999;
   padding: 30px;
   border-radius: 10px;
   background: var(--wp--preset--color--light-roosa) !important;
 }


 .lms-modal-body {
   padding: 10px 0 20px 0;
   font-weight: 400;
 }
 
 .lms-modal-actions {
   display: flex;
   flex-direction: column;
 }
 
 button.lms-select-button,
 .lms-modal-actions button {
   border-radius: 10px;
   font-family: var(--wp--preset--font-family--new-hero);
   background-color: var(--wp--preset--color--orange);
   color: #ffffff;
   text-align: center;
   font-weight: 400 !important;
   padding: 0.8rem 3rem;
   transition: all 0.2s ease-in-out;
   border: 0;
   margin-bottom: 1em;
 }
 
 button.lms-select-button:hover,
 .lms-modal-actions button:hover {
   background-color: #c95500;
   text-decoration: none;
 }
 
 .lms-select-action {
   margin-top: 1rem;
 }
 
 .lms-cookie-select {
   padding: 20px;
 }
 
 .lms-cookie-select.selected {
   background: #c7e6e4;
   border-radius: 10px;
 }
 
 .lms-cookie-select h4 {
   font-size: 1.4rem;
   margin: 0 0 10px 0;
 }
 
/* show hidden elements */
.avattava-alue {
    transition: all 0.3s ease;
    opacity: 0;
    height: 1px;
    overflow: hidden;
}
.avattava-alue.active {
    opacity: 1;
    height: 100%;
}

.avattava-alue-iframe {
    transition: all 0.3s ease;
    opacity: 0;
    height: 1px;
    overflow: hidden;
}
.avattava-alue-iframe.active {
    opacity: 1;
    height: 100%;
    min-height:500px;
}

/**/

 @media only screen and (max-width: 761px) {
   .lms-modal-actions button {
     margin-bottom: 10px;
   }
 }
 
 @media screen and (min-width: 981px) {
   .lms-selector-container {
     grid-template-columns: 1fr 1fr;
   }
 
   .lms-modal-actions button:not(:last-child) {
     margin-right: 1rem;
   }
 
   .lms-modal-actions {
     flex-direction: row;
   }
 }
 
 .selected .lms-select-button span {
   display: none;
 }
 .selected .lms-select-button::after {
   content: "✔ Valittu ";
 }
/* Branding on the banner */
a#CybotCookiebotDialogPoweredbyCybot,
div#CybotCookiebotDialogPoweredByText {
   display: none!important;
}

/* Branding on the Privacy trigger */
#CookiebotWidget .CookiebotWidget-body .CookiebotWidget-main-logo {
   display: none!important;
}



 /* corners */

 .corner-left-bottom {
   overflow: hidden;
   border-bottom-left-radius: 50vw;
 }
 .corner-left-top {
   overflow: hidden;
   border-top-left-radius: 50vw;
 }
 .corner-right-top {
   overflow: hidden;
   border-top-right-radius: 50vw;
 }
 .corner-right-bottom {
   overflow: hidden;
   border-bottom-right-radius: 50vw;
 }



 /* columns reverse */

@media (max-width:960px) {
  .reverse-order {
    flex-direction: column-reverse;
  }
}


/* video stop toggle */

.custom-video-toggle {
   position: absolute;
    bottom: 0.5em;
    right: 0.5em;
    background: #fff;
    border: none;
    border-radius: 50%;
    color: #274C94;
    font-size: 16px;
    height: 28px;
    width: 28px;
    padding: 4px;
    cursor: pointer;
    z-index: 10;
}