/*
Theme Name: VibGroup Theme
Theme URI: https://und3fined.it/
Template: generatepress
Author: Gabriele Visconti
Author URI: https://und3fined.it/
Description: Questo tema è stato realizzato dal developer team di Vib. G.V
Tags: two-columns,three-columns,one-column,right-sidebar,left-sidebar,footer-widgets,blog,e-commerce,flexible-header,full-width-template,buddypress,custom-header,custom-background,custom-menu,custom-colors,sticky-post,threaded-comments,translation-ready,rtl-language-support,featured-images,theme-options
Version: 1.60
Updated: 2025-04-30 16:41:41

*/



/* --------------------------------------------
   Typografy
-------------------------------------------- */
body{
    font-size: clamp(14px, 0.937vw, 18px);
    line-height: clamp(24px,1.666vw, 32px);
    }
.block--title__30{
   font-size: clamp(22px, 1.562vw, 30px);
   line-height: clamp(27px, 1.822vw, 35px);
}
.block--title__40{
   font-size: clamp(24px, 2.082vw, 35px);
   line-height: clamp(29px, 2.082vw, 40px);
}
.block--title__50{
   font-size: clamp(28px, 2.603vw, 50px);
   line-height: clamp(36px, 3.384vw, 65px);
}
.block--title__60{
   font-size: clamp(30px, 3.124vw, 60px);
   line-height: clamp(35px, 3.384vw, 65px);
}
.block--title__70{
   font-size: clamp(32px, 3.645vw, 70px);
   line-height: clamp(32px, 3.645vw, 70px);
}
/* --------------------------------------------
   Global
-------------------------------------------- */
#to-the-top {
    display: flex;
    background-color: #11111173;
    width: 50px;
    height: 50px;
    border-radius: 25px 0 0 25px;
    position: fixed;
    bottom: 10%;
    right: 0;
    transition: background-color .3s, opacity .5s, visibility .5s;
    opacity: 0;
    visibility: hidden;
    z-index: 1000;
    justify-content: center;
    align-items: center;
}
a#to-the-top svg {
    width: 20px;
    height: 20px;
    fill: #fff;
    transition: 300ms;
}

#to-the-top:hover {
	cursor: pointer;
	background-color: #333;
}

#to-the-top:active {
	background-color: #555;
}

#to-the-top.show {
	opacity: 1;
	visibility: visible;
}
html,body{
    scroll-behavior: smooth;
}
.grecaptcha-badge{visibility:hidden!important}
/* --------------------------------------------
   General
-------------------------------------------- */
/* shortcode social */
.social-link-wrapper{
   display: flex;
   align-items: center;
   gap: 8px;
}
.social-link-wrapper a{
   display: flex;
   transition: 300ms;
}
.social-link-wrapper svg{
   width: 20px;
   height: 20px;
   transition: 300ms;
}
/* shortcode contact */
.company-contacts-main-wrapper,.company-contact {
    display: flex;
    flex-direction: column;
    gap: 8px;
}
.company-contacts-main-wrapper .company-contact svg {
    width: 20px;
    height: 20px;
}
.company-contacts-main-wrapper .company-contact a {
    display: flex;
    gap: 8px;
    align-items: center;
}



.block--subtitle {
    color: #AC9968;
    font-size: 18px;
}
.bg-black {
    background: #212121;
}
.two-column-section.bg-black,
.two-column-section.bg-black h1,
.two-column-section.bg-black h2,
.two-column-section.bg-black h3{
   color: #fff;
}
.two-column-section.custom-row-fluid .row {
    max-width: 100%;
    width: 100%;
    gap: 0px;
    align-items: stretch;
}
.arrow .block-text-wrapper:after {
    content: '';
    background-image: url(/wp-content/uploads/2026/04/arrow.svg);
    width: clamp(60px, 4.426vw, 85px);
    height: clamp(60px, 4.426vw, 85px);
    display: flex;
    background-size: contain;
    background-repeat: no-repeat;
    margin-top: clamp(60px, 10.416vw, 200px);
}
.two-column-section.custom-row-fluid .block-text-wrapper {
    padding: 80px 30px;
}
.custom-row-fluid .block--media-content {
    height: 100%;
}
.custom-row-fluid .block--media-content img {
    object-fit: cover;
    width: 100%;
}
@media(min-width: 1181px){
    .two-column-section.custom-row-fluid  .block-text-wrapper {
        max-width: clamp(580px, 34.3749vw, 660px);
        margin: 0 auto;
        height: 100%;
        display: flex;
        flex-direction: column;
        justify-content: center;
    }
   .page-intro-text .page-intro-paragraph {
      max-width: clamp(700px, 38.541vw, 740px);
      margin: 0 0 0 auto;
   }
}
@media(max-width: 1024px){
   .custom-reverse-mobile .row {
      display: flex;
      flex-direction: column;
   }
}

.detail-card-splide {
    border-top: 1px solid #00000038;
    padding-top: clamp(49px, 4.166vw, 80px);
}
.detail-card-wrapper {
    padding-right: 49px;
    padding-left: 50px;
}
.detail-card-wrapper .block--title {
    text-wrap: balance;
    margin-bottom: 10px;
    max-width: 245px;
}
.detail-card-wrapper .block--title h4 {
    font-size: 26px;
}
.detail-card-wrapper .block--paragraph {
    max-width: 310px;
}
ul.splide__pagination.splide__pagination--ltr {
    position: unset;
    margin-top: 60px;
}
ul.splide__pagination.splide__pagination--ltr button{
    width: 15px;
    height: 15px;
    border: 1px solid #151515;
    background: transparent;
}
ul.splide__pagination.splide__pagination--ltr button.is-active{
    background: #151515;
}
.card-details .column {
    overflow: hidden;
}
@media(min-width: 1181px){
   .card-details .column {
      overflow: visible;
   }
}
@media(min-width: 1025px){
    .detail-card-wrapper {
        border-right: 1px solid #00000038;
    }
}


.curriculum-block {
    background: #212121;
    color: #fff;
}
.curriculum-block h3{
   color: #fff;
}
.cv-timeline {
    min-width: 20px;
    display: flex;
    justify-content: flex-end;
    min-height: 200px;
    height: 100%;
    position: relative;
    padding-right: 45px;
}
.cv-timeline span{
    display: flex;
    background: #E1DEDE;
    height: 100%;
    width: 1px;
}
.cv-timeline:before {
    content: '';
    display: flex;
    border-radius: 50%;
    width: 10px;
    height: 10px;
    background: #AC9968;
    position: absolute;
    top: 0;
    right: 40px;
}


.cv-title {
    font-family: 'Lora';
    font-size: clamp(20px, 1.353vw, 26px);
    margin-bottom: 10px;
    line-height: clamp(26px, 1.666vw, 32px);
}
.cucciculum-timeline-wrapper {
    margin-top: clamp(60px, 6.77vw, 130px);
}
.cv-text p {
    max-width: 680px;
    font-size: 16px;
}

.curriculum-item-wrapper {
    display: grid;
    grid-template-columns: 30px 1fr;
    border-left: 1px solid #E1DEDE;
}
.cv-details {
    display: none;
    text-align: right;
}
.cv-text .cv-resume {
    display: flex;
    margin-top: 10px;
    padding-bottom: 60px;
}
.cv-button-row {
    margin-top: clamp(40px, 4.16vw, 80px);
}
@media(min-width: 1024px){
    .cv-text {
        padding-bottom: 40px;
    }
    .cv-text .cv-resume {
        display: none;
    }
    .cv-details {
        display: block;
        text-align: right;
    }
    .curriculum-item-wrapper {
        display: grid;
        grid-template-columns: 1fr 150px 1fr;
        border-left: 0;
    }
}
.curriculum-file-wrapper {
    display: flex;
    justify-content: center;
}
.curriculum-file-wrapper .block--button{
    width: 100%;
    max-width: 100%;
}
.curriculum-file-wrapper .block--button a{
    width: 100%;
    max-width: 100%;
}
@media(min-width: 769px){
    .curriculum-file-wrapper .block--button{
        width: max-content;
    }
    .curriculum-file-wrapper .block--button a{
        width: 100%;
        max-width: 100%;
    }
}
@media(min-width: 1025px){
    .curriculum-file-wrapper {
        transform: translateX(120px);
    }
}

@media(max-width: 1024px){
    .page-intro-text .row {
        gap: 30px;
    }
    .last-block .column{
        overflow: hidden;
    }
}
.remove-margin .contact-form-wrapper-shortcode {
    margin: 0px;
}

.contact-informations-grid {
    display: grid;
    grid-template-columns: 1fr;
    gap: 30px;
}
.contact-informations-list .company-contact a {
    display: flex;
    gap: 6px;
    align-items: center;
    text-decoration: none;
    color: #212121;
}
.contact-informations-list .company-contact svg {
    display: flex;
    width: 20px;
    height: 20px;
    fill: #AC9968;
}
.contact-informations-list .contact-label h4 {
    text-transform: uppercase;
    font-size: clamp(20px, 1.24vw, 24px);
}
.contact-informations-list .contact-label {
    margin-bottom: 10px;
}
.contact-informations-list {
    margin-top: clamp(40px, 3.124vw, 60px);
}
.opening-hours-row {
    display: flex;
    gap: 10px;
    align-items: flex-start;
}
.opening-hours-icon {
    margin-top: 7px;
}
@media(min-width: 769px){
    .contact-informations-grid {
        display: grid;
        grid-template-columns: 1fr 1fr;
        gap: 20px;
        row-gap: clamp(40px, 3.124vw, 60px);
    }
}

.map-contact .block--media-content {
    display: flex;
}
.map-contact .block--media-content iframe{
    width: 100%;
}


/**/
 .contact_form_grid {
     display: grid;
     grid-template-columns: 1fr;
     gap: 20px;
     margin-bottom: 20px;
}
 .contact_form_input input, .contact_form_input select, .contact_form_message textarea {
     width: 100% !important;
     padding: 20px 20px 19px !important;
     border: none !important;
     border-bottom: 1px solid #7F7F7F !important;
     background: transparent !important;
}
 .contact_form_message textarea {
     max-height: 100px;
}
 .contact_form_optin {
     margin: 20px 0;
     display: flex;
     flex-direction: column;
     gap: 5px;
}
 .contact_form_action {
     margin-top: 40px;
     position: relative;
     display: flex;
     flex-direction: column;
     gap: 20px;
}
 .contact_form_optin span.wpcf7-list-item {
     margin: 0;
}
 .contact_form_optin a {
     color: unset;
     text-decoration: underline;
}
 span.required_span{
     font-weight: bold;
     color: #AC9968;
}
 .contact_form_action input {
     background: #AC9968 !important;
     padding: 16px 20px !important;
     border: none;
     font-weight: 500;
     color: #fff;
     text-transform: uppercase;
     max-width: max-content;
     transition: 300ms;
     cursor: pointer;
     border-radius: 0px;
     min-width: 200px;
}
 .contact_form_action input:hover {
     background: #0B0F19;
     color: #fff;
     transition: 300ms;
}
 .contact-form-wrapper-shortcode {
     margin-top: 40px;
}
 .block-contact-form-text-wrapper .block--title__60 h3 {
     text-wrap: balance;
}
 .block-contact-form-text-wrapper .block--title__60 {
     text-wrap: balance;
}
 .block-contact-form-text-wrapper a {
     text-decoration: none;
     transition: 300ms;
}
 .block-contact-form-text-wrapper a span{
     transition: 300ms;
}
 .block-contact-form-text-wrapper a:hover span{
     color: #0B0F19;
     transition: 300ms;
}
 @media(min-width: 1025px){
     .block-contact-form-text-wrapper .block--title__60 {
         text-wrap: balance;
    }
     .contact_form_grid {
         grid-template-columns: 1fr 1fr;
    }
}
.contact-block .contact_form_grid {
    grid-template-columns: 1fr;
}
.block--form-title {
    margin-bottom: 20px;
}
.block--form-title h3{
    font-size: clamp(20px, 1.353vw, 26px);
}


@media(min-width: 1181px){
    .custom-width-on-fluid .block-text-wrapper {
        max-width: clamp(720px, 38.541vw, 740px) !important;
        margin: 0 auto 0 10% !important;
    }
}


.block-post-meta svg {
    width: 20px;
    height: 20px;
    fill: #AC9968;
}
.block-post-meta > div {
    display: flex;
    align-items: center;
    gap: 6px;
    text-transform: uppercase;
}
.block-post-meta {
    display: flex;
    gap: 20px;
    align-items: center;
    margin: 30px 0 50px;
}
.single-post-image {
    display: flex;
}
.single-post-image img{
    width: 100%;
}
.single-post-content {
    margin: 50px 0;
}
.single-bottom-content {
    border-top: 1px solid #46454547;
    padding-top: 30px;
    margin-top: 40px;
    display: flex;
    justify-content: space-between;
    align-items: center;
    gap: 20px;
}
.post-sharing-links {
    display: flex;
    gap: 6px;
    align-items: center;
}
.post-sharing-links a{
    display: flex;
}
.post-sharing-links svg{
    fill: #AC9968;
    width: 15px;
    height: 15px;
    transition: 300ms;
}
.single-post-sharing {
    display: flex;
    gap: 10px;
    text-transform: uppercase;
    color: #AC9968;
}
.single-author {
    text-transform: uppercase;
    color: #AC9968;
}
.sidebar-title {
    font-family: 'Lora';
    font-size: clamp(20px, 1.562vw, 30px);
    line-height: 1;
    margin-bottom: 20px;
    color: #212121;
}
.sidebar--last-post .last-post-wrapper {
    display: flex;
    gap: 20px;
    align-items: center;
    text-decoration: none;
    max-width: clamp(430px, 23.437vw, 450px);
}
.block--title__56{
    font-size: clamp(28px, 2.916vw, 56px);
    line-height: clamp(36px, 3.6455vw, 70px);
}
.single-post-sidebar {
    display: flex;
    flex-direction: column;
    gap: 40px;
}
.sidebar--last-post a div {
    font-size: 16px;
    font-family: 'lora';
    text-wrap: balance;
}
.sidebar--last-post a{
    text-decoration: none;
    font-size: 16px;
    line-height: 22px;
    color: #212121;
}
.sidebar--last-post a span{
    font-size: 14px;
}

.sidebar--last-post {
    display: flex;
    flex-direction: column;
    gap: 20px;
}
.sidebar--last-post .last-post-wrapper .block--image,
.sidebar--last-post .last-post-wrapper .block--image a {
    display: flex;
}
.sidebar--last-post .last-post-wrapper .block--image img{
    width: 100%;
}

.single-sidebar-tags .sidebar--tags {
    display: flex;
    gap: 3px;
}
.single-sidebar-tags .sidebar--tags a,
.single-post-sidebar .sidebar-category-list a{
    text-decoration: none;
    color: #21212186;
    transition: 300ms;
}
.single-sidebar-tags .sidebar--tags a:hover,
.single-post-sidebar .sidebar-category-list a:hover{
    text-decoration: underline;
    color: #212121;
    transition: 300ms;
}
.single-post-sidebar .sidebar-category-list {
    display: flex;
    flex-direction: column;
    gap: 10px;
}
.block-single-post-content .block--title {
    text-wrap: balance;
}
.single-post-content h1,
.single-post-content h2,
.single-post-content h3,
.single-post-content h4,
.single-post-content h5,
.single-post-content h6{
    font-size: clamp(22px, 1.457vw, 28px);
    line-height: clamp(28px, 1.874vw, 36px);
    font-weight: 400;
}
.single-post-content .wp-block-heading{
    margin: 10px 0 20px !important;
}
@media(min-width: 1025px){
    .single-post-sidebar {
        padding-left: 30px;
    }
}



.post-grid__inner {
    display: grid;
    grid-template-columns: 1fr;
    gap: 30px;
    row-gap: 60px;
}
@media(min-width: 769px) and (max-width: 1024px){
    .post-grid__inner {
        display: grid;
        grid-template-columns: 1fr 1fr;
    }
}
@media(min-width: 1025px){
    .post-grid__inner {
        display: grid;
        grid-template-columns: 1fr 1fr 1fr;
    }
}



/* last post */
.last-block .block--title {
    max-width: clamp(550px, 38.539vw, 740px);
    text-wrap: balance;
}
.last-block .block--paragraph {
    max-width: clamp(700px, 38.541vw, 740px);
    margin-top: 25px;
}
.card-post-content {
    position: absolute;
    top: 0;
    left: 0;
    background: #000;
    background: linear-gradient(0deg,rgba(0, 0, 0, 0.89) 20%, rgba(0, 0, 0, 0.342) 66%, rgba(0, 0, 0, 0.103) 100%);
    z-index: 10;
    height: 100%;
    display: flex;
    flex-direction: column;
    justify-content: flex-end;
    padding: 0 20px 20px;
    color: #fff;
    width: 100%;
}
@media(min-width: 1025px){
    .card-post-content {
    position: absolute;
    top: 0;
    left: 0;
    background: #000;
    background: linear-gradient(0deg,rgba(0, 0, 0, 0.89) 20%, rgba(0, 0, 0, 0.342) 66%, rgba(0, 0, 0, 0.103) 100%);
    z-index: 10;
    height: 100%;
    display: flex;
    flex-direction: column;
    justify-content: flex-end;
    padding: 0 40px 40px;
    color: #fff;
    width: 100%;
}
    .last-block .block--paragraph {
        margin: 0 0 0 auto;
    }
}

.last-block ul.splide__pagination.splide__pagination--ltr{
    position: unset;
    margin: 0px;
    padding: 40px 0px 0;
}

.last-block ul.splide__pagination.splide__pagination--ltr button{
    border: 1px solid #151515;
    width: 15px;
    height: 15px;
    background: transparent;
}
.last-block ul.splide__pagination.splide__pagination--ltr button.splide__pagination__page.is-active{
    background: #151515;
}



.last-post-splide .splide__track{
    overflow: visible;
}


.last-post-splide {
    margin-top: clamp(60px, 6.249vw, 120px);
}
.card-post-content .card-post-title {
    font-family: 'Lora';
    font-size: clamp(18px, 1.249vw, 24px);
    line-height: clamp(24px, 1.87vw, 36px);
    padding-right: 20px;
    margin-bottom: 10px;
}
@media(min-width: 1025px){
    .last-post-splide .card-post-wrapper {
        max-width: clamp(680px, 36.97vw, 710px);
        width: 100%;
        padding-right: 40px;
        border-right: 1px solid #ccc;
    }
    .last-post-splide .splide__list li:last-child .card-post-wrapper {
        border: none;
    }
}

.post-grid {
    margin-top: clamp(60px, 6.249vw, 120px);
}
.post-grid .pagination {
    margin-top: 40px;
    display: flex;
    justify-content: center;
    align-items: center;
    gap: 5px;
}

.main-page-image {
    position: relative;
    display: flex;
}
.main-page-image:before {
    content: '';
    display: flex;
    background: #00000030;
    position: absolute;
    width: 100%;
    height: 100%;
    top: 0;
    left: 0;
}


/**/
.header-logo-wrapper, .header-logo-wrapper a {
    display: flex;
}

.header-menu-wrapper {
    display: none;
}
.header-burger-wrapper {
    width: 30px;
    height: 30px;
    cursor: pointer;
    display: flex;
    position: relative;
    transition: 300ms;
    margin: auto 0;
    flex-direction: column;
    gap: 7px;
    align-items: center;
    justify-content: center;
}
.header-burger-wrapper span{
    display: flex;
    width: 30px;
    height: 1px;
    background: #212121;
    transition: 300ms;
}
.header-burger-wrapper.active span:nth-child(2) {
    opacity: 0;
    transition: 300ms;
}
.header-burger-wrapper.active span:first-child {
    position: absolute;
    top: 50%;
    transform: rotate(45deg);
    transition: 300ms;
}
.header-burger-wrapper.active span:last-child {
    position: absolute;
    top: 50%;
    transform: rotate(-45deg);
    transition: 300ms;
}

.header-menu-grid {
    display: flex;
    justify-content: space-between;
    gap: 30px;
}

.header-logo-wrapper {
    padding: 15px 0;
}
.header-menu-wrapper > .header-menu-link {
    display: flex;
    flex-direction: column;
    justify-content: center;
}

.header-menu-submenu {
    opacity: 0;
    height: 0;
    width: 0;
    overflow: hidden;
    transition: 500ms, height 800ms;
    transform: translateY(-20px);
}
.header-menu-link.submenu{
    position: relative;
}
.header-menu-link.submenu:hover .header-menu-submenu {
    position: absolute;
    top: 100%;
    height: auto;
    width: auto;
    opacity: 1;
    transform: translateY(0);
    overflow: visible;
    transition: 500ms, height 800ms;
    z-index: 20;
    left: -50%;
}
.header-submenu-wrapper {
    background: #fff;
    padding: clamp(40px, 3.124vw, 60px) clamp(20px, 2.082vw, 40px);
    width: max-content;
    display: flex;
    flex-direction: column;
    gap: 10px;
    box-shadow: 0 10px 10px #00000033;
    min-width: 300px;
}
.header-menu-wrapper a{
    font-family: 'lora';
}
.header-menu-wrapper > .header-menu-link > a {
    text-decoration: none;
    color: #212121;
    transition: 300ms;
    cursor: pointer;
}
.header-menu-wrapper > .header-menu-link > a:hover {
    transition: 300ms;
    opacity: 0.7;
}
.header-menu-submenu .header-menu-link a {
    position: relative;
    color: #212121;
    text-decoration: none;
    width: 100%;
    display: flex;
    align-items: center;
    gap: 10px;
    padding-right: 20px;
    width: max-content;
}
.header-menu-submenu .header-menu-link{
    border-bottom: 1px solid #AB9968;
}

.header-submenu-wrapper a:after {
    content: '';
    width: 0;
    height: 0;
    opacity: 0;
    transition: 300ms;
    top: 50%;
    right: 0;
    background-image: url(/wp-content/uploads/2026/04/arrow-2.svg);
    background-size: contain;
    position: absolute;
    background-repeat: no-repeat;
    transform: translate(0%,-50%);
}
.header-submenu-wrapper a:hover:after {
    content: '';
    opacity: 1;
    display: flex;
    width: 10px;
    height: 10px;
    transition: 300ms; 
}
.header-submenu-wrapper a:before {
    content: '';
    background: #151515;
    width: 0;
    height: 0;
    opacity: 0;
    transition: 300ms;
    top: 50%;
    left: 0;
}
.header-submenu-wrapper a:hover:before {
    content: '';
    opacity: 1;
    display: flex;
    width: 6px;
    height: 1px;
    transition: 300ms; 
}
.block--button.block--button--outline--black a {
    border: 1px solid #212121;
    display: flex;
    height: max-content;
    margin: auto 0;
    color: #212121;
}
.block--button.block--button--outline--black a:hover {
    border: 1px solid #212121;
    background: #212121;
    transition: 300ms;
    color: #fff;
}
@media(min-width: 1181px){
    .header-logo-wrapper {
        padding: 40px 0;
    }
    .header-burger-wrapper {
        display: none;
    }
    .header-menu-wrapper {
        display: flex;
        gap: 30px;
    }
}



.small-header-contact-item span.small-header-separator:last-child {
    display: none;
}
.small-header-contact-item {
    display: flex;
    gap: 15px;
    align-items: center;
}
.small-header-contact-item svg, .header-submenu-footer-contacts svg {
    width: 20px;
    height: 20px;
    fill: #AC9968;
}
.small-header-wrapper .small-header-row {
    border-bottom: 1px solid #ccc;
}
.small-header-contact-item a, .small-header-contact-item p,.header-submenu-footer-contacts a,.header-submenu-footer-contacts p{
    display: flex;
    gap: 6px;
    align-items: center;
    text-decoration: none;
    color: #333;
    font-size: clamp(12px, 0.72vw, 14px);
}
.small-header-contact {
    display: flex;
    gap: clamp(10px, 0.77vw, 15px);
    align-items: center;
}

span.small-header-separator,.header-separator span {
    height: 16px;
    width: 1px;
    display: flex;
    background: #212121;
}

.small-header-social .footer-socials a {
    width: 20px;
    background: transparent;
    padding: 0;
    border-radius: unset;
    transition: 300ms;
    display: flex;
    align-items: center;
    justify-content: center;
}
.small-header-row {
    display: flex;
    justify-content: space-between;
    align-items: center;
    gap: 10px;
}
.small-header-wrapper .small-header-row {
    padding: 8px 0;
}
.small-header-wrapper{
    display: none;
}
.main-header-wrapper.is-home .small-header-social svg{
    fill: #AC9968;
}
@media(min-width: 1181px){
    .small-header-wrapper{
        display: block;
    }
    .main-header-wrapper.no-home {
        position: absolute;
        top: 0;
        left: 0;
        width: 100%;
        z-index: 99;
        color: #fff;
    }
    .main-header-wrapper.no-home .header-logo-wrapper path,
    .main-header-wrapper.no-home .header-logo-wrapper g,
    .main-header-wrapper.no-home .header-logo-wrapper rect {
        fill: #fff!important;
    }
    .main-header-wrapper.no-home .header-menu-wrapper > .header-menu-link > a{
        color: #fff;
    }
    .main-header-wrapper.no-home .header-menu-wrapper .block--button.block--button--outline--black a{
        border: 1px solid #fff;
        color: #fff;
    }
    .main-header-wrapper.no-home .header-menu-wrapper .block--button.block--button--outline--black a:hover{
        border: 1px solid #fff;
        color: #212121;
        background: #fff;
    }
   .main-header-wrapper.no-home .small-header-wrapper svg{
        fill: #fff;
    }
    .main-header-wrapper.no-home .small-header-wrapper a,.small-header-wrapper{
        color: #fff;
    }
    .main-header-wrapper.no-home span.small-header-separator,.header-separator span {
        height: 16px;
        width: 1px;
        display: flex;
        background: #fff;
    }
}

.header-mobile-submenu {
    opacity: 0;
    transform: translateY(-30px);
    height: 0;
    overflow: hidden;
    background: #fff;
    transition: 400ms, transform 500ms;
}
.header-mobile-submenu.active {
    opacity: 1;
    transform: translateY(0);
    height: 100vh;
    overflow: visible;
    width: 100%;
    transition: 400ms, min-height 200ms, opacity 200ms, transform 500ms;
}
.header-mobile-menu-wrapper {
    display: flex;
    flex-direction: column;
    gap: 10px;
}
.header-mobile-toggle-icon{
    width: 20px;
    height: 20px;
    cursor: pointer;
    position: relative;
    transition: 300ms;
}
.header-mobile-toggle-icon span {
    width: 16px;
    height: 1px;
    background: #212121;
    display: flex;
    transition: 300ms;
    position: absolute;
    top: 50%;
}
.header-mobile-menu-item.header-mobile-menu-item--toggle.submenu .header-mobile-toggle {
    display: flex;
    justify-content: space-between;
    gap: 20px;
    align-items: center;
}
.header-mobile-menu-item.header-mobile-menu-item--toggle.submenu .header-mobile-toggle-icon span:last-child {
    transform: rotate(90deg);
    transition: 300ms;
}
.header-mobile-menu-item.header-mobile-menu-item--toggle.submenu.active .header-mobile-toggle-icon span:last-child {
    transform: rotate(0deg);
    transition: 300ms;
}
.header-mobile-toggle-content {
    display: flex;
    flex-direction: column;
    gap: 10px;
    opacity: 0;
    height: 0;
    width: 100%;
    overflow: hidden;
    transform: translateY(-20px);
}
.header-mobile-menu-item.header-mobile-menu-item--toggle.submenu.active .header-mobile-toggle-content {
    transition: 400ms;
    transform: translateY(0);
    opacity: 1;
    height: auto;
    overflow: visible;
    margin: 10px;
}
.header-mobile-menu-wrapper a {
    font-family: 'lora';
    text-decoration: none;
    color: #212121;
}
.header-mobile-submenu-addon-information {
    display: flex;
    flex-direction: column;
    gap: 30px;
    border-top: 1px solid #ccc;
    padding-top: 40px;
    margin-top: 40px;
}

.header-mobile-submenu-addon-information a{
    text-decoration: none;
    color: #212121;
}
.header-mobile-grid {
    padding-bottom: 120px;
    height: 100%;
    display: flex;
    flex-direction: column;
    overflow: auto;
    padding-top: 40px;
}
.header-mobile-menu-wrapper .header-mobile-menu-cta.block--button.block--button--outline--black {
    margin-top: 30px;
}
@media(max-width: 768px){
    .header-mobile-menu-wrapper .header-mobile-menu-cta.block--button.block--button--outline--black a,
    .header-mobile-menu-wrapper .header-mobile-menu-cta.block--button.block--button--outline--black{
        width: 100%;
        max-width: 100%;
        display: flex;
        justify-content: center;
    }
}

.post-grid__inner .card-post-content {
    padding: 0 20px 20px;
}

.post-grid__inner .card-post-content .card-post-title {
    font-family: 'Lora';
    font-size: clamp(18px, 1.041vw, 20px);
    line-height: clamp(24px, 1.770vw, 34px);
    padding-right: 20px;
    margin-bottom: 10px;
}

.page-intro-text.hero-custom-padding .page-intro-text-wrapper h3 {
    font-size: clamp(30px, 3.332vw, 64px);
    line-height:  clamp(38px, 4.27vw, 82px);
}
.page-intro-text.hero-custom-padding {
    padding-bottom: clamp(40px, 5.207vw, 100px);
}
.page-intro-text.hero-custom-padding .row {
    position: relative;
}
.background-section.hero-custom-height .block-text {
    padding: 0px;
    height: clamp(230px, 34.895vw, 670px);
}
.background-section.hero-custom-height .block-background:before{
    display: none;
}
.page-intro-text .page-intro-paragraph .block--button {
    margin-top: clamp(40px, 3.124vw, 60px);
}
.page-intro-text.home-page-intro .row {
    align-items: flex-start;
}
.page-intro-paragraph .block--button a {
    gap: 10px;
    justify-content: center;
    align-items: center;
}
.page-intro-paragraph .block--button a:hover svg {
    transition: 300ms;
    fill: #fff;
}
@media(min-width: 1025px){
    .page-intro-text.hero-custom-padding .row:after {
        content: '';
        width: clamp(40px, 4.27vw, 82px);
        height: clamp(40px, 4.27vw, 82px);;
        background-image: url(/wp-content/uploads/2026/04/arrow.svg);
        position: absolute;
        bottom: 0;
        right: 0;
        z-index: 3;
        background-size: contain;
        background-repeat: no-repeat;
    }
    .page-intro-text.home-page-intro .page-intro-text-wrapper:after {
        content: '';
        width: clamp(60px, 4.27vw, 82px);
        height: clamp(60px, 4.27vw, 82px);
        display: flex;
        background-image: url(/wp-content/uploads/2026/04/arrow.svg);
        background-size: contain;
        background-repeat: no-repeat;
        margin-top: clamp(40px, 3.124vw, 60px);
    }
}
@media(min-width: 1025px){
    .section.background-section.hero-custom-height.home-custom-margin {
        margin-bottom: clamp(80px, 10.40vw, 200px);
         margin-left: 5%;
    }
}
@media(min-width: 1181px){
    .detail-card-splide .splide__track .detail-card-wrapper:last-child {
        border-right: 0;
    }
}

.two-column-section .block--button.block--button--primary--outline .block--button__link svg {
    fill: #fff;
    transition: 300ms;
    width: 10px;
    height: 10px;
}
.two-column-section .block--button.block--button--primary--outline .block--button__link:hover svg {
    fill: #212121;
    transition: 300ms;
}
.single-service-wrapper .two-column-section .block-text-wrapper .block--paragraph{
    margin-top: 20px;
    margin-bottom: 40px;
}
.contact_form_input.service-to-copy input {
    opacity: 0.5;
    cursor: not-allowed;
    pointer-events: none;
}
@media(min-width: 1181px){
    .single-service-wrapper .two-column-section .block-text-wrapper {
        max-width: clamp(690px, 37.23vw, 715px);
    }
}
.service-loop-grid {
    display: grid;
    grid-template-columns: 1fr;
    gap: 30px;
    row-gap: 80px;
}
@media(min-width: 769px) and (max-width: 1280px){
    .service-loop-grid {
        display: grid;
        grid-template-columns: 1fr 1fr;
        gap: 30px;
        row-gap: clamp(60px, 5.207vw, 100px);;
    }
}
@media(min-width: 1281px){
    .service-loop-grid {
        display: grid;
        grid-template-columns: 1fr 1fr 1fr 1fr;
        gap: 30px;
        row-gap: clamp(80px, 5.207vw, 100px);
    }
}

.service-loop-grid .block--icon {
    display: flex;
    width: clamp(40px, 3.645vw, 70px);
    height: clamp(40px, 3.645vw, 70px);
    margin-bottom: 20px;
}
.service-loop-grid .block--title h4 {
    font-size: 22px;
}
.service-loop-grid .block--paragraph {
    margin: 5px 0 30px;
}
.service-loop-grid .service-item-wrapper .block--button a {
    text-decoration: none;
    color: #212121;
    text-transform: uppercase;
    transition: 300ms;
    display: flex;
    gap: 8px;
    align-items: center;
}
.service-loop-grid .service-item-wrapper .block--button a:before {
    content: '';
    display: flex;
    background: #212121;
    width: 10px;
    height: 1px;
    transition: 300ms;
}
.service-loop-grid .service-item-wrapper .block--button a:hover:before {
    width: 16px;
    transition: 300ms;
}
.service-loop-wrapper .block--paragraph {
    font-family: 'lora';
    padding-right: 20px;
}

.service-shortcode-arrow img{
    cursor: pointer;
}


.service-shortcode .block--paragraph {
    max-width: 320px;
    text-wrap: balance;
}
.service-shortcode .block--title {
    margin-top: 15px;
}
.service-shortcode .block--title h4{
    color: #fff;
}

.two-column-section.custom-row-fluid.bg-black.custom-reverse-mobile.shortcode-service-for-block .block-text-wrapper {
    max-width: clamp(700px, 38.541vw, 740px);
}
.service-shortcode {
    margin-top: clamp(40px, 5.207vw, 100px);
}
.service-shortcode .block--paragraph {
    margin-top: 15px!important;
}
.service-shortcode-arrow {
    display: none;
}
@media(min-width: 1025px){
    .service-shortcode-arrow {
        display: flex;
        gap: 40px;
        width: max-content;
        align-items: center;
    }
    .service-shortcode {
        display: grid;
        grid-template-columns: 2fr 1fr;
        align-items: flex-end;
        gap: 10px;
    }
}

.service-shortcode ul.splide__pagination.splide__pagination--ltr {
    position: unset;
    margin-top: 40px;
}

.service-shortcode ul.splide__pagination.splide__pagination--ltr button{
    background: transparent;
    border: 1px solid #fff;
    width: 15px;
    height: 15px;
}

.service-shortcode ul.splide__pagination.splide__pagination--ltr button.is-active{
    background: #fff;
}

.footer-main-wrapper {
    background: #212121;
}

.footer-logo-wrapper {
    height: 100%;
    display: flex;
    flex-direction: column-reverse;
    justify-content: space-between;
    gap: 20px;
    color: #fff;
}

.footer-menu-grid {
    display: grid;
    grid-template-columns: 1fr;
    gap: 40px;
    color: #fff;
}
.footer-menu-shortcode ul {
    margin: 0px;
    list-style: none;
    display: flex;
    flex-direction: column;
    gap: 10px;
}
.footer-menu-shortcode a {
    text-decoration: none;
    color: #fff;
    transition: 300ms;
    font-family: 'lora';
}

.footer-menu-label {
    color: #AC9968;
    text-transform: uppercase;
    font-family: 'lora';
    margin-bottom: 15px;
    font-size: clamp(18px, 1.041vw, 20px);
}

.footer-main-wrapper .row {
    border-top: 1px solid #fff;
    padding-top: 40px;
}
.footer-main-wrapper {
    padding-top: 60px;
}
.footer-logo svg,.footer-logo g,.footer-logo rect,.footer-logo path {
    fill:#fff;
}
.footer-logo svg {
    width: clamp(300px, 26.041vw, 500px);
    max-width: 100%;
    height: auto;
    opacity: 0.3;
}
.footer-citation h6 {
    color: #fff;
    opacity: 0.3;
    font-size: clamp(18px, 1.24vw, 24px);
    line-height: clamp(24px, 1.874vw, 36px);
    max-width: 400px;
}
.bottom-footer-wrapper {
    color: #fff;
    font-size: clamp(14px, 0.832vw, 16px);
    text-wrap: balance;
    padding-bottom: 20px;
}
.bottom-footer-wrapper a{
    color: #fff;
}

.footer-menus {
    display: flex;
    flex-direction: column;
    justify-content: space-between;
    gap: 40px;
    margin-top: 60px;
}

@media(min-width: 1025px){
    .footer-logo {
        padding-bottom: 20px;
    }
    .footer-main-wrapper .row {
        border-top: 1px solid #fff;
        padding-top: 40px;
        height: clamp(480px, 26.041vw, 500px);
    }
    .footer-menus {
        display: flex;
        flex-direction: column;
        justify-content: space-between;
        height: 100%;
        margin-top: 0px;
        gap: 20px;
    }
    .footer-logo-wrapper {
        height: 100%;
        display: flex;
        flex-direction: column;
        justify-content: space-between;
        gap: 20px;
        color: #fff;
    }
    .footer-menu-grid {
        display: flex;
        justify-content: space-between;
        gap: 20px;
        color: #fff;
    }
    .footer-column {
        width: max-content;
    }
}
.small-header-wrapper a:hover,
.footer-menu-grid a:hover,
.bottom-footer-wrapper a:hover{
    transition: 300ms;
    opacity: 0.6;
}
.card-post-wrapper > a:hover img {
    transition: 600ms;
    transform: scale(1.02);
}
.card-post-wrapper .block--image img{
    transition: 300ms;
}
.card-post-wrapper > a,
.card-post-wrapper .block--image{
    overflow: hidden;
}
.main-page-image img {
    width: 100%;
}
.main-header-wrapper .header-menu-wrapper .block--button__link:hover,
.main-header-wrapper.no-home .header-menu-wrapper .block--button__link:hover{
    background: #AC9968 !important;
    border: 1px solid #AC9968 !important;
    color: #fff !important;
}
.whatsapp-floating-button {
    position: fixed;
    right: 0;
    bottom: 185px;
    background: #20BB60;
    width: 50px;
    height: 50px;
    border-radius: 50% 0 0 50%;
    padding: 10px;
    transition: 300ms;
    box-shadow: 0 5px 10px #00000030;
}
.whatsapp-floating-button:hover {
    background: #333;
    transition: 300ms;
}
.whatsapp-floating-button svg{
    fill: #fff;
    transition: 300ms;
}
