/**handles:primus-theme-style**/


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

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;
}

a:active {
   text-decoration: none;
}

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

figcaption {
   line-height:var(--wp--custom--typography--line-height--tiny);
   font-size: 0.9em!important;
}



/* HEADER */


@media (max-width: 1140px) {
   header {
      position:relative;
   }
}

header {
   position: sticky;
   left:0;
   top:0;
   right:0;
   z-index: 8888;
   width: 100%;
   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;
}

header .custom-logo-link,
header .wp-block-image {
   transition: all 0.3s ease-in-out;
}

.header-tiny .custom-logo-link,
.header-tiny .wp-block-image {
   max-width:160px;
}

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

header .wp-block-navigation .wp-block-navigation-item {
   padding: 1.5em 0;
   position:relative;
   transition: all 0.3s ease-in-out;
}

@media (max-width:1440px) {

   .wp-block-navigation__responsive-container.is-menu-open .wp-block-navigation__responsive-container-content .wp-block-navigation__container {
      gap:0;
   }

   header .wp-block-navigation .wp-block-navigation-item {
      font-size: 1.25em!important;
      padding: 0.5em 0;
   }
}


/* copy of wp default css to a 1000px media query */
@media (min-width: 1440px) {
   .wp-block-navigation__responsive-container-open:not(.always-shown) {
       display: none !important;
   }

   .wp-block-navigation__responsive-container:not(.hidden-by-default):not(.is-menu-open) {
       display: block !important;
       width: 100%;
       position: relative;
       z-index: auto;
       background-color: inherit;
   }
}

/* neutralize the wp default for 600px */
@media (min-width: 600px) {
   .wp-block-navigation__responsive-container-open:not(.always-shown) {
       display: flex;
   }
   .wp-block-navigation__responsive-container:not(.hidden-by-default):not(.is-menu-open) {
       display: none;
   }
}

.header-tiny .wp-block-navigation .wp-block-navigation-item {
   padding: 1em 0m;
}

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

header .wp-block-navigation .wp-block-navigation-item:before {
   content: '';
   position: absolute;
   bottom:0;
   left:50%;
   width:0;
   height: 4px;
   background-color: var(--wp--preset--color--secondary); 
   transition: all 0.1s ease-in-out;
 }

 header .wp-block-navigation .wp-block-navigation-item:hover:before,
 header .wp-block-navigation .wp-block-navigation-item.current-menu-item:before {
   content: '';
   position: absolute;
   bottom:0;
   left:0;
   width:100%;
   height: 4px;
   background-color: var(--wp--preset--color--secondary); 
   transition: all 0.1s ease-in-out;
 }

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

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;
}




/* Frontpage custom border-element */


.border-element {
   max-width: 42em!important;
}

@media (max-width: 540px) {
   .border-element {
      flex-direction: column;
      align-items: center!important;
   }
   .border-element > p {
      width:100%;
   }
   .border-element > p:not(:last-child) {
      border-bottom: 1px solid var(--wp--preset--color--secondary);
   }
}

@media (min-width: 540px) {
   .border-element > p {
      flex-grow:1;
      padding-right: 1em;
      padding-left: 1em;
      line-height:1.1;
   }
   .border-element > p:not(:last-child) {
      border-right: 1px solid var(--wp--preset--color--secondary);
   }
   .border-element {
      flex-wrap: nowrap!important;
   }
}

/* Footer */

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



/* Asunnot */

@media (max-width: 1180px) {
   .has-parallax.is-position-bottom-center {
      align-items: flex-start;
   }
   .has-parallax.is-position-bottom-center .wp-block-media-text {
      font-size: 0.85em;
   }
   .wp-block-cover__image-background.has-parallax {
      background-attachment: initial;
   }
}


/*
* 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-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;
}


/* BLOCK File icon */

/** * Site apartment filters */
.wp-block-file {
   border: 1px solid currentColor;
   display: inline-block;
   margin: 0 1rem 1rem 0;
   padding: 0.6em 0;
   -webkit-transition: all 0.35s ease-in-out;
   -o-transition: all 0.35s ease-in-out;
   transition: all 0.35s ease-in-out;
 }

 .wp-block-file:hover {
   text-decoration: none;
   transform: translateY(-4px);
 }
 .wp-block-file a {
   position: relative;
   padding: 1em 1.5em 1em 3em;
   font-size: 1rem;
   text-decoration: none;
 }
 .wp-block-file a:before {
   content: "";
   width: 2em;
   height: 100%;
   position: absolute;
   left: 0.25em;
   top: 0;
   background-image: url("data:image/svg+xml;utf8,<svg width='19' height='25' viewBox='0 0 19 25' fill='none' xmlns='http://www.w3.org/2000/svg'><path d='M12.6667 0V6.25H19L12.6667 0ZM11.0833 6.25V0H2.375C1.06331 0 0 1.04932 0 2.34375V22.6562C0 23.9502 1.06331 25 2.375 25H16.625C17.9367 25 19 23.9507 19 22.6562V7.8125H12.7112C11.7909 7.8125 11.0833 7.11426 11.0833 6.25Z' fill='white'/></svg>");
   background-repeat: no-repeat;
   background-position: center center;
   background-size: 20px 20px;
 }
 
 .wp-block-file a:focus {
   text-decoration: none;
 }
 .wp-block-file__button {
   display: none;
 }
 .apartment-content .wp-block-file a {
   font-size: 1rem;
 }
 
 /* Only mobile */
 
 @media only screen and (max-width: 767.98px) {
   .wp-block-file {
     display: flex;
     width: 100% !important;
     padding: 0;
     margin: 0 0 0.5em 0;
     justify-content: center;
   }
 }
 


/* Custom Cover */

.is-style-bottom-crop {
   position:relative;
   overflow: hidden;
   /*clip-path: polygon(0 0, 100% 0%, 100% 75%, 50% 100%, 0 75%);*/
}

.is-style-bottom-crop:before {
   content: url("https://primusturku.fi/wp-content/themes/auratum-primus/assets/images/crop2.svg");
   position: absolute;
   min-width: 3200px;
   width:100%;
   height:350px;
   left:50%;
   bottom:0;
   transform: translateX(-50%);
   z-index:777;
   pointer-events: none; 
}


/*
* Alignment styles.
* These rules are temporary, and should not be relied on or
* modified too heavily by themes or plugins that build on
* Twenty Twenty-Two. These are meant to be a precursor to
* a global solution provided by the Block Editor.
*
* Relevant issues:
* https://github.com/WordPress/gutenberg/issues/35607
* https://github.com/WordPress/gutenberg/issues/35884
*/

/*
.alignwide {
   max-width:92rem;
}
*/


.wp-site-blocks,
body > .is-root-container,
.edit-post-visual-editor__post-title-wrapper,
.wp-block-group.alignfull,
.wp-block-group.has-background,
.wp-block-cover.alignfull,
.is-root-container .wp-block[data-align="full"] > .wp-block-group,
.is-root-container .wp-block[data-align="full"] > .wp-block-cover {
   padding-left: var(--wp--custom--spacing--outer);
   padding-right: var(--wp--custom--spacing--outer);
}

.wp-site-blocks .alignfull,
.wp-site-blocks > .wp-block-group.has-background,
.wp-site-blocks > .wp-block-cover,
.wp-site-blocks > .wp-block-template-part > .wp-block-group.has-background,
.wp-site-blocks > .wp-block-template-part > .wp-block-cover,
body > .is-root-container > .wp-block-cover,
body > .is-root-container > .wp-block-template-part > .wp-block-group.has-background,
body > .is-root-container > .wp-block-template-part > .wp-block-cover,
.is-root-container .wp-block[data-align="full"] {
   margin-left: calc(-1 * var(--wp--custom--spacing--outer)) !important;
   margin-right: calc(-1 * var(--wp--custom--spacing--outer)) !important;
   width: unset;
}

/* Blocks inside columns don't have negative margins. */
.wp-site-blocks .wp-block-columns .wp-block-column .alignfull,
.is-root-container .wp-block-columns .wp-block-column .wp-block[data-align="full"],
/* We also want to avoid stacking negative margins. */
.wp-site-blocks .alignfull:not(.wp-block-group) .alignfull,
.is-root-container .wp-block[data-align="full"] > *:not(.wp-block-group) .wp-block[data-align="full"] {
   margin-left: auto !important;
   margin-right: auto !important;
   width: inherit;
}

/*
* 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);
}


/*
* Default spacing around alignwide and alignfull elements.
*
*/

main > *:first-child:is(h1,h2,h3,h4,h5,h6,p),
.entry-content > *:first-child:is(h1,h2,h3,h4,h5,h6,p) {
   margin-top: var(--wp--custom--spacing--large);
}

.entry-content > *:not(.alignfull):not(.alignwide):not([style*="margin-top"]) + *.alignwide,
.entry-content > *:not(.alignfull):not(.alignwide):not([style*="margin-top"]) + *.alignfull,
.entry-content > .alignfull + *:not(.alignfull):not([style*="margin-top"]),
/*.entry-content > .alignwide + *:not([style*="margin-top"]),*/
.entry-content > p + h1:not([style*="margin-top"]),
.entry-content > p + h2:not([style*="margin-top"]),
.entry-content > p + h3:not([style*="margin-top"]),
.entry-content > p + h4:not([style*="margin-top"]),
.entry-content > p + *.alignwide,
.entry-content > .entry-content > p + *.alignfull,
.entry-content > span + h1:not([style*="margin-top"]),
.entry-content > span + h2:not([style*="margin-top"]),
.entry-content > span + h3:not([style*="margin-top"]),
.entry-content > span + h4:not([style*="margin-top"]),
.entry-content > *:is(.alignwide, .alignfull) + *:is(h1, h2, h3, h4, h5, p),
.alignwide + .alignwide:not([style*="margin-top"]):not(.mt-0),
.alignwide + .alignfull:not([style*="margin-top"]):not(.mt-0) {
        margin-top: var(--wp--custom--spacing--regular, 4vw) !important;
}


.wp-block-cover.alignfull .wp-block-cover__inner-container > .wp-block-group:last-child {
   margin-bottom: var(--wp--custom--spacing--large);
}

.wp-block-cover:not(.alignfull) .wp-block-group:first-child
/*.wp-block-group .wp-block-group:first-child,
.wp-block-columns .wp-block-group:first-child*/ {
   margin-top:0!important;
}

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


.alignfull + .alignfull {
    margin-top:0;
}

main > *:not(.has-background):not(.alignfull):not(.entry-content) {
   margin-bottom: var(--wp--custom--spacing--medium, 4rem) !important;
}

main > .entry-content > *:last-child:not(.alignfull):not(.entry-content) {
   margin-bottom: var(--wp--custom--spacing--medium, 4rem) !important;
}







/* Image block centering */

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




/*
* Image block, when alignfull within post content.
*/

.wp-block-post-content p + .wp-block-image.alignfull {
margin-top: calc( 1.25 * var(--wp--custom--spacing--medium, 8rem)) !important;
/*margin-bottom: calc( 1.25 * var(--wp--custom--spacing--medium, 8rem)) !important;*/
}








/* 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%;*/
}

.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);
   }
}







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

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

@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;
   }
}

/* hide auratum logo */
@media (max-width:1240px) {
   header .visibility-hidden-mobile {
      visibility: hidden;
   }
   header .display-none-mobile {
      display: none!important;
   }
}


/* CoBlocks */

.coblocks-gallery .nav-button__prev,
.coblocks-gallery .nav-button__next {
   background-color: var(--wp--preset--color--foreground);
}

.wp-block-coblocks-gallery-carousel-page-dot-pagination-container>.wp-block-coblocks-gallery-carousel-page-dot-wrapper {
   flex-grow: .05;
}

.wp-block-coblocks-gallery-carousel-page-dot-pagination-container>.wp-block-coblocks-gallery-carousel-page-dot-wrapper>.wp-block-coblocks-gallery-carousel-page-dot-pagination {
   padding:0;
   height:10px;
   width:10px;
}


/* Contact form 7 */


.wpcf7 .contact-form .kohteet-title {
   font-size: 1.2rem;
   font-weight: 700;
 }
 
 .wpcf7 .contact-form .wpcf7-list-item {
   display: block;
   margin: 0;
   padding: 0 0 1rem 0;
 }
 
 .wpcf7 .contact-form .wpcf7-list-item input {
   min-height: 22px;
   min-width: 22px;
   border-radius: 4px;
   border: 1px solid #b5b5b5;
   margin-right: 0.5rem;
 }
 
 .wpcf7 .contact-form .wpcf7-list-item label {
   display: flex;
 }
 
 .wpcf7 .contact-form .wpcf7-textarea {
   min-height: 150px;
   height: 150px;
   max-height: 400px;
 }
 
 .wpcf7 .contact-form .wpcf7-select,
 .wpcf7 .contact-form .wpcf7-text,
 .wpcf7 .contact-form .wpcf7-textarea {
   width: calc(100% - 2rem);
   padding: 1rem;
   border: 1px solid var(--wp--preset--color--primary);
   border-radius: 0;
   transition: outline 0.2s ease-in-out;
   font-size: 1em;
   font-family: var(--wp--preset--font-family--albragrotesk);
 }
 
 .wpcf7 .contact-form .wpcf7-select:focus-visible,
 .wpcf7 .contact-form .wpcf7-text:focus-visible,
 .wpcf7 .contact-form .wpcf7-textarea:focus-visible {
   outline: #c69869 solid 1px;
 }

 
 .wpcf7 .contact-form .wpcf7-submit {
   position:relative;
 }
/*
 .wpcf7 .contact-form .wpcf7-submit::after {
   content: url("https://primusturku.fi/wp-content/themes/auratum-primus/assets/images/arrow-right.svg");
   color: #ffffff;
   position: absolute;
   right: 1rem;
   height: 26px;
 }
 */
 .wpcf7 .contact-form .ajax-loader {
   margin: 24px;
 }
 
 .wpcf7 .contact-form .wpcf7-select {
   padding-right: 30px;
   -moz-appearance: none;
   -webkit-appearance: none;
   appearance: none;
   background-image: url("https://primusturku.fi/wp-content/themes/auratum-primus/assets/images/chevron-down.svg");
   background-repeat: no-repeat, repeat;
   background-position: right 0.7em top 50%, 0 0;
   background-size: 1.5rem auto, 100%;
 }
 
 .wpcf7-form .wpcf7-checkbox label {
   position: relative;
   cursor: pointer;
 }
 
 .wpcf7-form .wpcf7-checkbox input[type="checkbox"] {
   position: relative;
   visibility: hidden;
 }

 
 .wpcf7-form .wpcf7-checkbox input[type="checkbox"] + span:before {
   display: block;
   position: absolute;
   content: "";
   border-radius: 0;
   min-height: 22px;
   min-width: 22px;
   top: 0;
   left: 0;
   border: 1px solid var(--wp--preset--color--primary);
   background-color: #ffffff;
 }
 
 .wpcf7-form .wpcf7-checkbox input[type="checkbox"] + span:after {
   display: block;
   position: absolute;
   content: '';
   background-image: url('data:image/svg+xml;base64,PHN2ZyB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHdpZHRoPSIyNCIgaGVpZ2h0PSIyNCIgdmlld0JveD0iMCAwIDI0IDI0IiBmaWxsPSJub25lIiBzdHJva2U9ImN1cnJlbnRDb2xvciIgc3Ryb2tlLXdpZHRoPSIyIiBzdHJva2UtbGluZWNhcD0icm91bmQiIHN0cm9rZS1saW5lam9pbj0icm91bmQiIGNsYXNzPSJmZWF0aGVyIGZlYXRoZXItY2hlY2siPjxwb2x5bGluZSBwb2ludHM9IjIwIDYgOSAxNyA0IDEyIj48L3BvbHlsaW5lPjwvc3ZnPg==');
   background-repeat: no-repeat;
   background-position: center center;
   height: 22px;
   width: 22px;
   top: 0;
   left: 4px;
   visibility: hidden;
 }
 
 .wpcf7-form .wpcf7-checkbox input[type="checkbox"]:checked + span:before {
   background: #ffffff;
   /*     border-color: red; */
 }
 
 .wpcf7-form .wpcf7-checkbox input[type="checkbox"]:checked + span:after {
   /*    background: #222; */
   visibility: visible;
 }
 
 .wpcf7-not-valid-tip {
    color:currentColor;
 }
 
 /* Form submitted successfully */
 
 .wpcf7 .wpcf7-form.sent .contact-form {
   display: none;
 }
 
 .wpcf7 .wpcf7-form.sent .wpcf7-response-output {
   margin: 1rem 0;
   padding: 1rem;
   border-width: 1px;
   border-color: #caae7b;
 }

 


/*  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: 1.5em;
   background: rgba(39,55,78,0.95) !important;
 }


 .lms-modal-body {
   padding: 0 0 1em;
   font-weight: 400;
   color: #fff!important;
   font-family: var(--wp--preset--font-family--albragrotesk);
 }

 .lms-modal-title * {
   color: #fff!important;
   font-family: var(--wp--preset--font-family--albra);
   margin-top:0;
   margin-bottom: 1em;
 }

 .lms-modal-actions {
   display: flex;
   flex-direction: column;
 }
 
 button.lms-select-button,
 .lms-modal-actions button {
   font-family: var(--wp--preset--font-family--albragrotesk);
   background-color: #ffffff;
   color: var(--wp--preset--color--primary)!important;
   text-align: center;
   font-weight: 400 !important;
   padding: 0.8rem 3rem;
   transition: all 0.2s ease-in-out;
   border: 0;
   margin-bottom: 1em;
   font-size: 1em;
 }
 
 button.lms-select-button:hover,
 .lms-modal-actions button:hover {
   background-color: rgba(255,255,255,.85);
   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;
 }
 
 @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;
}

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