/*
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: 3.5.1.1746024101
Updated: 2025-04-30 16:41:41

*/

/* -------------------------------------------- Typografy -------------------------------------------- */
 h1, h2 ,h3, h4, h5, h6{
     color: #0B0F19;
}
 body{
     font-size: clamp(14px, 0.83vw, 16px);
     line-height: clamp(24px,1.35vw, 26px);
     color: #6D6F75;
}
 .block--title__60 h1, .block--title__60 h2, .block--title__60 h3 {
     font-size: clamp(34px, 4.1vw, 48px);
     line-height: clamp(40px, 4.49vw, 53px);
}
 .block--title__40 h3 {
     font-size: clamp(22px , 3.9vw , 32px);
     font-weight: bold;
}
 .block--title__30 h3 {
     font-size: clamp(26px , 1.50vw , 30px);
     font-weight: bold;
}
 @media(min-width: 1025px){
     .block--title__60 h1, .block--title__60 h2, .block--title__60 h3{
         font-size: clamp(48px, 3.13vw, 60px);
         line-height: clamp(53px, 3.39vw, 65px);
    }
     .block--title__40 h3 {
         font-size: clamp(32px , 2.08vw , 40px);
         font-weight: bold;
    }
     .block--title__30 h3 {
         font-size: clamp(22px , 1.50vw , 30px);
         font-weight: bold;
    }
}
/* -------------------------------------------- Header -------------------------------------------- */

/* -------------------------------------------- Footer -------------------------------------------- */
 .footer-separator {
     width: 100%;
     height: 15px;
     background: #5ABCD1;
}
 .footer-section{
     background: #0B0F19;
}
 .footer-column-title h6 {
     color: #5ABCD1;
     font-size: clamp(22px, 1.35vw, 26px);
     font-weight: bold;
     text-transform: uppercase;
}
 .footer-column-title {
     margin-bottom: 20px;
}
 .footer-menu-wrapper ul {
     transition: 300ms;
     text-decoration: none;
     list-style: none;
     padding: 0px;
     margin: 0px;
     display: flex;
     flex-direction: column;
     gap: 10px;
}
 .footer-menu-wrapper a {
     transition: 300ms;
     text-decoration: none;
     color: #fff;
}
 .footer-menu-wrapper a:hover {
     transition: 300ms;
     text-decoration: underline;
}
 .footer-contacts-wrapper svg {
     fill: #5ABCD1;
}
 .footer-contacts-wrapper {
     display: flex;
     flex-direction: column;
     gap: 10px;
     text-wrap: balance;
     max-width: 270px;
}
 .footer--logo-wrapper a {
     display: flex;
     max-width: 250px;
}
 .footer-company-description {
     margin-top: 20px;
     text-wrap: balance;
     color: #fff;
     font-weight: 600;
     max-width: 400px;
}
 .footer-columns-wrapper {
     display: flex;
     gap: 40px;
     color: #fff;
     flex-direction: column;
}
 .footer-contacts-wrapper .contact-data-item > div:first-child {
     position: relative;
     width: 15px;
}
 .footer-contacts-wrapper .contact-data-item > div:first-child svg {
     /*position: absolute;
     top: 5px;*/
     width: 12px;
     height: auto;
}
 .row-bottom-footer {
     border-top: 1px solid #707070;
     padding: 39px 0 40px;
     margin-top: clamp(60px, 5vw, 100px);
     color: #fff;
}
 .social-wrapper a {
     transition: 300ms;
     background: transparent;
     border: 1px solid #fff;
     padding: 14px;
     display: flex;
     width: max-content;
     height: auto;
}
 .social-wrapper a:hover {
     transition: 300ms;
     background: #fff;
}
 .social-wrapper svg {
     width: 20px;
     height: 20px;
     fill: #5ABCD1;
}
 .social-wrapper {
     display: flex;
     gap: 8px;
}
 .footer-section {
     padding-bottom: 0px;
}
 .bottom-footer{
     text-wrap: balance;
     color: #fff;
     font-size: 14px;
}
 .bottom-footer a{
     transition: 300ms;
     color: #fff;
     text-decoration: none;
}
 .bottom-footer a:hover{
     transition: 300ms;
     color: #fff;
     text-decoration: underline;
}
 .bottom-footer-social {
     display: flex;
     align-items: flex-start;
     justify-content: flex-start;
     width: 100%;
}
 @media(min-width: 1025px){
     .bottom-footer-social {
         display: flex;
         justify-content: flex-end;
    }
     .footer--logo-wrapper a {
         max-width: 280px;
    }
     .footer-column-item {
         max-width: 400px;
    }
     .footer-separator {
         height: 20px;
    }
}
 @media(min-width: 769px){
     .footer-columns-wrapper {
         flex-direction: row;
         justify-content: space-between;
    }
}
/* -------------------------------------------- Global blocks -------------------------------------------- */
 .blue{
     font-weight: bold;
     color: #5ABCD1;
}
 .page-header-content,.page-header-content h1 {
     color: #fff;
}
 .page-header-content a{
     color: #fff;
     text-decoration: none;
     text-transform: uppercase;
     transition: 300ms;
}
 .page-header-content a:hover{
     text-decoration: underline;
     transition: 300ms;
}
 .block-breadcrums {
     display: flex;
     gap: 5px;
     justify-content: center;
     margin-top: 5px;
     text-transform: uppercase;
}
 .position-left{
     left: 0;
}
 .position-right{
     right: 0;
}
 .position-relative--index-3{
     position:relative;
     z-index: 3;
}
 .block--partial-background {
     display: none;
}
 .global-text-with-image-content-wrapper .block--paragraph {
     margin-top: 20px;
     text-wrap: balance;
}
 .global-text-with-image-content-wrapper .block--title__60 {
     text-wrap: balance;
}
 .block--subtitle h5 {
     text-transform: uppercase;
     border-bottom: 3px solid #5ABCD1;
     width: max-content;
     min-width: 120px;
     color: #0B0F19;
     font-weight: 500;
}
 .block--subtitle {
     margin-bottom: 10px;
}
 @media(min-width: 1025px){
     .global-text-with-image-content-wrapper{
         margin-top: 0;
    }
     .block--partial-background {
         display: flex;
         height: 100%;
         width: 30%;
         position: absolute;
         top: 0;
         z-index: 1;
    }
     .block--subtitle {
         margin-bottom: 15px;
    }
}
 @media(min-width: 1025px) and (max-width: 1440px){
     .global-text-with-image-content-wrapper{
         margin-left: 30px;
    }
}
 @media(min-width: 1441px){
     .global-text-with-image-content-wrapper {
         max-width: 85%;
         margin: 0 0 0 auto;
    }
}
/* -------------------------------------------- Service page -------------------------------------------- */
 .alternate-block-icon img {
     width: 60px;
     height: auto;
     object-fit: contain;
}
 .section-alternate .row .column:first-child .block--alternate-service-text .block--image, .section-alternate .row .column:last-child .block--alternate-service-text .block--image{
     margin-top: clamp(30px, 40px, 60px);
}
 .text-icon-wrapper {
     display: flex;
     flex-direction: column;
     gap: 15px;
}
 .section-alternate .row:nth-child(even) {
     margin-top: 60px;
}
 @media(min-width: 1025px){
     .section-alternate .row:nth-child(even) {
         margin-top: 80px;
    }
     .section-alternate .row .column:first-child .block--alternate-service-text .block--image{
         margin-top: clamp(40px, 4vw, 100px);
    }
     .section-alternate .row .column:last-child .block--alternate-service-text .block--image{
         margin-bottom: clamp(40px, 4vw, 100px);
    }
     .alternate-block-icon img {
         width: 120px;
         height: auto;
         object-fit: contain;
    }
     .section-alternate .row .column:last-child .block--alternate-service-text {
         display: flex;
         flex-direction: column-reverse;
    }
}
 @media(min-width: 1025px) and (max-width: 1660px){
     .block--alternate-service-text{
         max-width: 90%;
    }
     .section-alternate .row .column:first-child .block--alternate-service-text {
         margin: 0 0 0 auto;
    }
}
 @media(min-width: 1661px){
     .block--alternate-service-text{
         max-width: 70%;
    }
     .section-alternate .row .column:first-child .block--alternate-service-text {
         margin: 0 0 0 auto;
    }
}
 .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%;
     padding: 20px 20px 19px;
     border: none;
     border-bottom: 1px solid #7F7F7F;
     background: transparent;
}
 .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: #5ABCD1;
}
 .contact_form_action input {
     background: #5ABCD1;
     padding: 16px 20px;
     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 page -------------------------------------------- */
 .block--contact-information {
     display: grid;
     grid-template-columns: 1fr;
     gap: 30px;
     text-wrap: balance;
     margin-top: 40px;
}
 .block--contact-title h6 {
     font-weight: 600;
     color: #5ABCD1;
     font-size: 26px;
     line-height: 1em;
}
 .block--contact-title{
     margin-bottom: 10px;
}
.contact-data-item > div:first-child {
    display: flex;
    width: 16px;
    position: relative;
    height: max-content;
    margin-top: 3px;
}
.block--contact-item svg {
    width: 14px;
    height: 14px;
    fill: #5ABCD1;
}
.contact-data-item div:last-child {
    height: max-content;
    line-height: 1.2;
}
 .contact-data-item {
     display: flex;
     gap: 8px;
     line-height: 1em;
}
 .contact-data-item a{
     transition: 300ms;
     color: unset;
     text-decoration: unset;
     line-height: 1em;
}
 .contact-data-item{
     line-height: unset;
}
 .contact-data-item a:hover{
     transition: 300ms;
     text-decoration: underline;
}
 @media(min-width: 1025px){
     .contact-data-item {
         gap: 15px;
    }
     .block--contact-title{
         margin-bottom: 20px;
    }
     .block--contact-information {
         display: grid;
         grid-template-columns: 1fr 1fr;
         gap: 20px;
         text-wrap: balance;
         margin-top: 40px;
         max-width: 600px;
         row-gap: 60px;
    }
}
/* -------------------------------------------- Custom solutions page -------------------------------------------- */
 .vertical-card-loop-wrapper.desktop{
     display: none;
}
 div#mobile-card-carousel{
     display: block;
}
 .horizontal-card-item {
     display: flex;
     flex-direction: column;
     min-height: 500px;
     background-size: cover;
     background-position: center;
     background-color: #00000073;
     background-blend-mode: overlay;
     padding: 40px 20px 80px;
     height: 100%;
}
.horizontal-card-header-wrapper {
    display: flex;
    justify-content: flex-start;
    gap: 10px;
    align-items: flex-start;
    flex-direction: column;
}
.horizontal-counter {
    font-weight: bold;
    font-size: 80px;
    color: #fff;
    line-height: 66px;
}
.horizontal-title-activator h3 {
    font-size: 20px;
    line-height: 22px;
    color: #fff;
}
 .horizontal-card-item-content {
     display: flex;
     flex-direction: column;
     gap: 10px;
     height: 100%;
     justify-content: flex-end;
     color: #fff;
     margin: 20px 0;
}
 .horizontal-card-title h4 {
     color: #fff;
     font-size: 22px;
}
 div#mobile-card-carousel ul.splide__pagination.splide__pagination--ltr {
     padding: 0px!important;
     bottom: 40px;
}
 div#mobile-card-carousel ul.splide__pagination.splide__pagination--ltr button {
     width: 15px;
     height: 15px;
}
 .horizontal-card-item .block--paragraph {
     text-wrap: balance;
     max-width: 600px;
}
 .special-section-mobile .column{
     overflow: hidden;
}
div#block_681a2ecfef613 .column:first-child {
    display: none;
}
 @media(min-width: 1025px){
     div#block_681a2ecfef613 .column:first-child {
    display: flex;
}
     .special-section-mobile .column{
         overflow: unset;
    }
     div#mobile-card-carousel{
         display: none;
    }
     .vertical-card-loop-wrapper.desktop {
         display: flex;
         transition: 300ms;
         min-height: 60vh;
    }
     .vertical-card-item {
         display: flex;
         transition: 300ms;
    }
     .vertical-card-activator {
         display: flex;
         flex-direction: column;
         gap: 30px;
         align-items: flex-end;
         justify-content: space-between;
         padding: 5px 14px 5px 0;
         transition: 300ms;
         cursor: pointer;
         border-right: 1px solid #707070;
    }
     .vertical-counter {
         font-weight: 500;
         transition: 300ms;
         color: #000;
         font-size: clamp(50px, 2.90vw, 56px);
    }
     .vertical-title-activator {
         writing-mode: sideways-lr;
         transition: 300ms;
    }
     .vertical-title-activator h3 {
         font-size: clamp(32px, 1.80vw, 36px);
         font-weight: bold;
    }
     .vertical-card-item.active .vertical-card-item-content .block--image.vertical-card-image, .vertical-card-item.active .vertical-card-item-content .vertical-card-title, .vertical-card-item.active .vertical-card-item-content .block--paragraph{
         display: flex;
    }
     .vertical-card-item-content .block--image.vertical-card-image, .vertical-card-item-content .vertical-card-title, .vertical-card-item-content .block--paragraph {
         display: none;
    }
     .vertical-card-item.active {
         flex-grow: 1.5;
    }
     .vertical-card-item {
         display: flex;
         transition: 300ms;
         gap: 10%;
         flex-grow: 1;
    }
     .vertical-card-item.active .vertical-card-item-content {
         height: auto;
         width: 100%;
         opacity: 1;
         visibility: visible;
         transition: 1s;
         max-width: clamp(450px, 40vw, 1200px);
    }
     .vertical-card-item-content {
         height: 0px;
         opacity: 0;
         visibility: hidden;
         transition: 2s;
         display: flex;
         flex-direction: column;
    }
     .vertical-card-activator {
         opacity: 0.5;
         transition: 500ms;
    }
     .vertical-card-item.active .vertical-card-activator {
         opacity: 1;
         transition: 1s;
    }
     .vertical-card-title h4 {
         font-weight: bold;
         font-size: 25px;
    }
     .vertical-card-title {
         margin-top: 30px;
         margin-bottom: 10px;
    }
     .vertical-card-item-content .block--paragraph {
         text-wrap: balance;
         max-width: 80%;
    }
     .block--image.vertical-card-image {
         height: auto;
    }
}
 @media(max-width: 1024px){
     .special-section-mobile{
         padding: 0px!important;
    }
     .special-section-mobile .row{
         width:100%!important;
    }
}
/* -------------------------------------------- About -------------------------------------------- */
 .number-item span {
     font-size: clamp(46px, 5.21vw , 100px);
     font-weight: 600;
     text-align: center;
     line-height: 1em;
     color: #E8E8E8;
}
 .numbers-item-wrapper {
     text-align: center;
}
 .block--subtitle-numbers h6 {
     text-transform: uppercase;
     color: #0B0F19;
     font-weight: 300;
}
 .numbers-wrapper-loop {
     border-top: 1px solid #7070701e;
     padding: 39px 0;
}
 .row .column:last-child .numbers-wrapper-loop {
     padding: 39px 0 0;
}
 .row .column:first-child .numbers-wrapper-loop {
     border-top: none;
}
 .section-repeater-text {
     padding-top: clamp(60px, 7.80vw, 80px);
     padding-bottom: clamp(60px, 7.80vw, 80px);
}
 .section-repeater-text .block--partial-background {
     height: 88%;
}
 .repeater-text-column {
     display: flex;
     flex-direction: column;
     gap: 40px;
}
 @media(min-width: 1025px){
     .section-repeater-text .global-text-with-image-content-wrapper {
         margin: 0px !important;
    }
     .repeater-text-column {
         gap: 60px;
    }
     .section-repeater-text .block--image {
         width: 80%;
    }
     .section-repeater-text {
         padding-top: clamp(60px, 3.13vw, 3.13vw);
         padding-bottom: clamp(60px,11vw, 250px);
    }
     .numbers-wrapper-loop {
         border-right: 1px solid #7070701e;
         border-top: 0px;
         padding: 0;
    }
     .row .column:last-child .numbers-wrapper-loop {
         border: none;
         padding: 0;
    }
}
/* -------------------------------------------- Products -------------------------------------------- */
 .page-intro-text .block--title__60, .page-intro-paragraph {
     text-wrap: balance;
     max-width: 800px;
}
 .product-item-wrapper {
     border-right: 1px solid #fff;
     height: 90vh;
     overflow: hidden;
     display: flex;
     flex-direction: column;
     justify-content: space-between;
     max-height: 90vh;
}
 .section-product-list .column:last-child .product-item-wrapper {
     border: none;
}
 .product-item-head {
     padding: 60px 20px;
     transition: 1s;
     display: flex;
     flex-direction: column;
     gap: 20px;
     align-items: center;
}
 .product-item-wrapper .block--subtitle {
     margin: 0;
}
 .product-item-head h5, .product-item-head h3 {
     color: #fff;
     font-weight: 600;
     padding: 0 30px;
     text-align: center;
}
 .product-item-icon img {
     width: 60px;
     height: 0;
     object-fit: contain;
     transition: 500ms;
}
 .product-item-wrapper:hover img {
     width: 60px;
     height: 60px;
     object-fit: contain;
     transition: 1s;
}
 .product-item-icon {
     transition: 800ms;
     height: 0;
     overflow: hidden;
     opacity: 0;
}
 .product-item-wrapper:hover > .product-item-head {
     background: #5abcd19c;
     transition: 1s;
}
 .product-item-wrapper:hover .product-item-icon {
     height: auto;
     opacity: 1;
     overflow: visible;
     transition: 1s;
}
 .section-product-list {
     height: 90vh;
     overflow: hidden;
}
.product-title-footer {
    max-height: 40%;
    display: flex;
    justify-content: center;
    align-items: center;
    opacity: 0;
    height: 0;
    transition: 890ms;
}
 .product-item-wrapper:hover .product-title-footer {
     height: 100%;
     opacity: 1;
     transition: 1s;
}
 .product-title-footer .primary-button a {
     border: 1px solid #fff;
     display: flex;
     padding: 14px 40px;
     color: #fff;
     text-decoration: none;
     text-transform: uppercase;
     position: relative;
     z-index: 5;
     transition: 300ms;
}
 .product-title-footer .primary-button a:hover {
     background: #fff;
     color: #0B0F19;
}
 .primary-button {
     padding: 10px;
     position: relative;
}
 .button-corner-top, .button-corner-bottom, .button-corner-top-right, .button-corner-bottom-right {
     width: 11px;
     height: 11px;
     position: absolute;
     opacity: 0.4;
     z-index: 3;
}
 .button-corner-top {
     top: 0;
     left: 0;
     border-right: 1px solid #fff;
     border-bottom: 1px solid #fff;
}
 .button-corner-bottom {
     bottom: 0;
     left: 0;
     border-top: 1px solid #fff;
     border-right: 1px solid #fff;
}
 .button-corner-top-right {
     top: 0;
     right: 0;
     border-left: 1px solid #fff;
     border-bottom: 1px solid #fff;
}
 .button-corner-bottom-right {
     bottom: 0;
     right: 0;
     border-top: 1px solid #fff;
     border-left: 1px solid #fff;
}
 .background-image-for-product-absolute {
     position: absolute;
     top: 0;
     left: 0;
     z-index: -1;
     width: 100%;
     height: 100vh;
     overflow: hidden;
}
 .background-for-product {
     position: absolute;
     top: 0;
     left: 0;
     width: 100%;
     height: 100%;
     opacity: 0;
     visibility: hidden;
     transition: opacity 1.5s ease;
     z-index: -1;
}
 .background-for-product.active {
     opacity: 1;
     visibility: visible;
     z-index: 1;
}
 .background-for-product img {
     width: 100%;
     height: 100%;
     object-fit: cover;
}
 .section-product-list.section--relative .row--fluid {
     position: relative;
     z-index: 5;
}
 .section.section--overlay__dark.section-product-list.section--relative .row--fluid:after {
     content: '';
     display: flex;
     background-color: #00000042;
     position: absolute;
     width: 100%;
     height: 100vh;
     z-index: -1;
     top: 0;
}
 .desktop-only {
     display: block;
}
 .mobile-only {
     display: none;
}
 @media screen and (max-width: 1024px) {
     .desktop-only {
         display: none;
    }
     .mobile-only {
         display: block;
    }
     .mobile-icon img{
         width: 60px;
         height: 60px;
         object-fit: contain;
    }
     .mobile-product-item .block--subtitle{
         margin: 0px;
    }
     .mobile-product-item h3,.mobile-product-item h5{
         color: #fff;
    }
     .mobile-product-item {
         min-height: 380px;
         display: flex;
         flex-direction: column;
         gap: 15px;
         align-items: center;
         justify-content: center;
         padding: 80px 5% 100px;
         background-color: #00000052;
         background-blend-mode: overlay;
         color: #fff;
    }
     .product-title-footer-mobile a {
         border: 1px solid #fff;
         padding: 10px 20px;
         display: flex;
         text-decoration: none;
         color: #fff;
         position: relative;
         z-index: 3;
    }
     .mobile-product-list-carousel ul.splide__pagination.splide__pagination--ltr{
         margin: 0px;
         padding: 0px;
         bottom: 40px;
    }
     .mobile-product-list-carousel ul.splide__pagination.splide__pagination--ltr button{
         width: 15px;
         height: 15px;
    }
}
 .global-text-with-image-content-wrapper .button-corner-top {
     top: 0;
     left: 0;
     border-right: 1px solid #0b0f1987;
     border-bottom: 1px solid #0b0f1987;
}
 .global-text-with-image-content-wrapper .button-corner-bottom {
     bottom: 0;
     left: 0;
     border-top: 1px solid #0b0f1987;
     border-right: 1px solid #0b0f1987;
}
 .global-text-with-image-content-wrapper .button-corner-top-right {
     top: 0;
     right: 0;
     border-left: 1px solid #0b0f1987;
     border-bottom: 1px solid #0b0f1987;
}
 .global-text-with-image-content-wrapper .button-corner-bottom-right {
     bottom: 0;
     right: 0;
     border-top: 1px solid #0b0f1987;
     border-left: 1px solid #0b0f1987;
}
 .global-text-with-image-content-wrapper .primary-button{
     margin-top:20px;
}
 .global-text-with-image-content-wrapper .primary-button a {
     display: flex;
     text-align: center;
     padding: 12px 25px;
     border: 1px solid #0B0F19;
     width: max-content;
     text-transform: uppercase;
     text-decoration: none;
     color: #0B0F19;
     transition: 300ms;
}
 .global-text-with-image-content-wrapper .primary-button a:hover {
     border: 1px solid #0B0F19;
     background: #0B0F19;
     color: #fff;
     transition: 300ms;
}
 .global-text-with-image-content-wrapper .primary-button {
     margin-top: 20px;
     width: max-content;
}
 @media(min-width: 1025px){
     .column.column-with-design-elements .global-text-with-image-content-wrapper{
         margin: 0px!important;
    }
     .column.column-with-design-elements {
         background: #fff;
         padding: 12% 0px;
    }
     .block-design-elements {
         position: absolute;
         top: 50%;
         left: 0;
         transform: translate(0%,-50%);
         height: 75%;
         width: 40%;
    }
     .design-elements-top {
         width: 100%;
         height: 50%;
         border-top: 20px solid #5abcd14d;
         border-right: 20px solid #5abcd14d;
    }
     .design-elements-bottom {
         border-bottom: 20px solid #5abcd14d;
         border-right: 20px solid #5abcd14d;
         position: absolute;
         bottom: 0;
         width: 70%;
         height: 40%;
    }
}
/* -------------------------------------------- single Products -------------------------------------------- */
 .section.single-product-page {
     background: #F6F7F9;
}
 .single-product-text-wrapper {
     text-wrap: balance;
     padding-top: clamp(60px,4.17vw,100px);
     padding-bottom: clamp(60px,4.17vw,100px);
     max-width: 90%;
     margin: 0 auto;
}
 .single-product-text-wrapper .block--paragraph {
     margin-top: 20px;
}
 .single-product-page-image .block--image img{
     object-fit: cover;
}
 .single-product-page-image{
     height: 100%;
}
 .single-product-mansory-wrapper {
     display: flex;
}
 .single-product-mansory-wrapper img {
     width: 100%;
     height: 100%;
}
.section.single-product-page .single-product-page-image {
    display: none;
}
 @media(min-width: 1025px){
     .section.single-product-page .single-product-page-image {
    display: flex;
}
     .single-product-text-wrapper {
         max-width: 60%;
         height: 100%;
         display: flex;
         flex-direction: column;
         justify-content: center;
    }
}
 @media(min-width: 1025px) and (max-width: 1333px){
     .single-product-text-wrapper {
         max-width: 85%;
    }
}
/* -------------------------------------------- Home -------------------------------------------- */
 div#toggle-macy-gallery .block--image-, div#toggle-macy-gallery .block--image- img {
     width: 100%;
}
 .icon-wrapper {
     width: 20px;
     height: 20px;
     display: flex;
     position: relative;
     align-items: center;
     justify-content: center;
     cursor: pointer;
}
 .icon-wrapper span {
     display: block;
     position: absolute;
     width: 20px;
     height: 1px;
     background: #707070;
     transition: 300ms;
}
 .icon-wrapper.active span:first-child {
     transform: rotate(0deg);
     transition: 300ms;
}
 .icon-wrapper span:first-child {
     transform: rotate(90deg);
     transition: 300ms;
}
 .toggle-header-wrapper {
     gap: 8px;
     display: flex;
     justify-content: space-between;
}
 .toggle-header-wrapper strong {
     color: #5ABCD1;
     font-size: 18px;
}
 .toggle-header-wrapper h5 {
     text-transform: uppercase;
     color: #0B0F19;
     font-weight: 400;
     font-size: 16px;
}
 .toggle-header-content {
     display: flex;
     cursor: pointer;
     gap: 10px;
}
 .toggle-header-wrapper {
     padding-bottom: 10px;
     border-bottom: 1px solid #707070;
}
 .toggle-content-wrapper {
     padding: 19px 30px 40px;
}
 .toggle-loop-wrapper {
     margin: 40px 0 60px;
     display: flex;
     flex-direction: column;
     gap: 20px;
}
 .section-carousel .global-text-with-image-content-wrapper {
     max-width: 90%;
     margin: 0 auto!important;
}
 .splide-carousel-controls svg{
     cursor: pointer;
     transition: 300ms;
}
 .button-and-control .primary-button {
     margin: 0px;
}
 .splide-carousel-controls {
     display: none;
}
 .button-and-control{
     margin-top: 30px;
}
 @media(min-width: 1025px) and (max-width: 1440px){
     .button-and-control {
         display: flex;
         align-items: center;
         margin-top: 60px;
         justify-content: space-between;
         max-width: 70%;
    }
}
 @media(min-width: 1441px){
     .button-and-control {
         display: flex;
         align-items: center;
         margin-top: 60px;
         justify-content: space-between;
         max-width: 50%;
    }
}
 .splide-carousel-controls line {
     transition: 300ms;
}
 .splide-carousel-controls svg:hover line {
     fill: #0B0F19;
     stroke: #0B0F19;
     transition: 300ms;
}
 @media(min-width: 1025px){
     .splide-carousel-controls {
         display: flex;
         gap: 60px;
    }
     .toggle-header-wrapper strong {
         color: #5ABCD1;
         font-size: 20px;
    }
     .toggle-header-wrapper h5 {
         text-transform: uppercase;
         color: #0B0F19;
         font-weight: 400;
         font-size: 18px;
    }
     .section-carousel .global-text-with-image-content-wrapper {
         margin: 0 0 0 auto!important;
    }
     .toggle-section-margin {
         margin-top: clamp(60px, 5vw, 100px);
         margin-bottom: clamp(60px, 10vw, 200px);
    }
}
 @media(max-width: 1024px){
     .toggle-section-margin {
         padding: 0px;
         margin-top: clamp(60px, 5vw, 100px);
         margin-bottom: clamp(60px, 5vw, 100px);
    }
}
 @media(min-width: 1921px){
     .section-carousel .global-text-with-image-content-wrapper {
         max-width: 95%;
         margin: 0 0 0 auto!important;
    }
}
 .progress-bar-autoplay {
     height: 4px;
     background: #e0e0e0;
     margin-top: 20px;
     position: relative;
     overflow: hidden;
}
 .progress-bar-autoplay .progress-fill {
     height: 100%;
     width: 0%;
     background: #000;
     transition: width 0s;
}
 .external-progress {
     height: 2px;
     width: 100%;
     background: #e0e0e0;
     margin-top: 20px;
     overflow: hidden;
     position: relative;
}
 .external-progress-bar {
     height: 100%;
     width: 0%;
     background: #5ABCD1;
     transition: width 0s;
}
 .text-hero-wrapper .global-text-with-image-content-wrapper {
     max-width: 85%;
     margin: 0 auto 0 13%;
}
 @media(min-width: 1921px){
     .text-hero-wrapper .global-text-with-image-content-wrapper {
         max-width: 95%;
         margin: 0 auto 0 7%;
    }
}
 div#custom-target {
     margin-top: clamp(60px, 5vw, 80px);
     max-width: 80%;
}
 div#original-splide img{
     width: 100%;
}
 .section-hero .block--title__60 h1 {
     font-size: clamp(40px, 3.13vw, 60px);
     line-height: clamp(45px, 3.39vw, 65px);
}
 .column.column-hero-splide {
     position: relative;
     z-index: 8;
}
 .hero-social-box {
     background: #fff;
     position: absolute;
     right: 0;
     display: flex;
     top: 0;
     height: 100%;
     justify-content: center;
     align-items: center;
     padding: 30px 30px;
     z-index: 10;
}
.hero-pagination svg {
    width: clamp(20px, 1.56vw, 30px);
}
@media(min-width: 1025px) and (max-width: 1333px){
     .hero-social-box {
     padding: 30px 15px;
}
}
 .hero-social-box .social-wrapper {
     display: flex;
     flex-direction: column;
}
.hero-pagination {
    position: absolute;
    bottom: 0;
    right: 7%;
    z-index: 5;
    background: #fff;
    padding: 20px;
    width: max-content;
    z-index: 10;
}
.hero-pagination .splide-carousel-controls div {
    width: 50px;
    height: 50px;
    display: flex;
    justify-content: center;
    align-items: center;
}
.hero-pagination .splide-carousel-controls {
    gap: 30px;
}
 .column.column-hero-splide .splide__progress {
     visibility: hidden;
}
 .column.column-hero-splide .splide__arrows.splide__arrows--ltr {
     visibility: hidden;
}
 div#desktop-splide img {
     max-height: 100vh;
     width: 100%;
     height: 100%;
     object-fit: cover;
}
 .hero-social-box a {
     border: 1px solid #707070;
     transition: 300ms;
}
 .hero-social-box svg {
     fill: #0B0F19;
     transition: 300ms;
}
 .hero-social-box a:hover {
     border: 1px solid #0B0F19;
     background: #0B0F19;
     transition: 300ms;
}
 .hero-social-box a:hover svg {
     fill: #fff;
     transition: 300ms;
}
 .section.section-hero.section-hero-absolute{
     display: none;
}
 .section.section-hero-mobile{
     display: block;
     position: relative;
}
 .section.section-hero-mobile {
     height: 100vh;
     overflow: hidden;
}
 div#mobile-splide {
     position: absolute;
     z-index: 4;
     top: 0;
     left: 0;
     width: 100%;
     height: 100%;
}
 div#mobile-splide img{
     height: 100%;
     width: 100%;
     object-fit: cover;
}
 div#mobile-splide .splide__slide{
     width: 100%;
     height: 100%;
}
 div#mobile-splide-track {
     height: 100%;
}
 .section.section-hero-mobile .row--fluid,.section.section-hero-mobile .column{
     height: 100%;
}
 .hero-wrapper-mobile {
     position: relative;
     z-index: 6;
     display: flex;
     height: 100%;
     align-items: center;
     background: #00000061;
     padding: 60px 5%;
     color: #fff;
}
 .hero-wrapper-mobile h5, .hero-wrapper-mobile h1 {
     color: #fff;
}
 .hero-wrapper-mobile .block--paragraph {
     margin: 20px 0 30px;
}
 .hero-wrapper-mobile .product-title-footer-mobile {
     width: max-content;
}
 div#mobile-splide .splide__progress__bar {
     background: #5ABCD1;
     height: 5px;
}
 .splide__progress {
     position: absolute;
     bottom: 0;
     z-index: 5;
     width: 100%;
}
 .hero-text-wrapper {
     text-wrap: balance;
     max-width: 600px;
}
 @media(min-width: 1025px){
     .section.section-hero.section-hero-absolute{
         display: block;
    }
     .section.section-hero-mobile{
         display: none;
    }
}
 .bruger-menu span {
     background: #000;
     transition: 300ms;
     height: 2px;
     display: block;
}
 .header-menu-action {
     display: flex;
     justify-content: flex-end;
     background: #fff;
}
 .bruger-menu span:first-child, .bruger-menu span:last-child {
     width: 20px;
}
 .bruger-menu:hover span:first-child, .bruger-menu:hover span:last-child {
     width: 30px;
     transition: 300ms;
}
 .bruger-menu span:nth-child(2) {
     width: 30px;
}
 .header-main-wrapper.header-home .column {
     position: relative;
}
 .header-main-wrapper.header-home .header-menu-action {
     position: relative;
     z-index: 20;
     background: transparent;
}
 body {
     background: transparent;
}
 .span-wrapper {
     display: flex;
     flex-direction: column;
     gap: 6px;
     width: 35px;
     height: auto;
     position: relative;
     transition: 300ms;
     cursor: pointer;
}
 .header-main-wrapper .row {
     display: grid;
     grid-template-columns: 1fr 1fr !important;
}
 .header-main-wrapper {
     padding: 10px 0 10px;
}
.header-main-wrapper.header-home{
    padding: 10px 0;
}
 @media(min-width: 1025px){
     .text-hero-wrapper {
        padding-top: 15%;
    }
     .header-main-wrapper {
         padding: 20px 0 20px;
    }
     .header-main-wrapper.header-home {
         position: absolute;
         top: 0;
         left: 0;
         width: 100%;
    }
    .header-main-wrapper.header-home{
    padding: 0px 0 20px;
}
     .header-main-wrapper.header-home .bruger-menu {
         display: flex;
         flex-direction: column;
         gap: 5px;
         align-items: center;
         justify-content: center;
         width: auto;
         height: 100%;
         background: #fff;
         padding: 50px 0 44px 55px;
    }
}

 .header-sidebar-menu {
     height: 100%;
     position: relative;
     display: flex;
     justify-content: center;
     align-items: center;
     background: #fff;
     overflow-y: auto;
}
 .header-sidebar-menu .menu-menu-principale-container > ul {
     list-style: none;
     padding: 0;
     margin: 0;
     text-decoration: none;
     display: flex;
     flex-direction: column;
     gap: 25px;
}

 .header-sidebar-menu .menu-menu-principale-container > ul > li > a:hover {
     color: #5ABCD1;
     transition: 300ms;
}
 .menu-item-has-children > a::after {
     content: '';
     background-image: url(/wp-content/uploads/2025/05/arrow.svg);
     transition: transform 0.3s ease;
     display: inline-block;
     width: 15px;
     height: 15px;
     background-size: contain;
     background-position: center;
     background-repeat: no-repeat;
}
 @media(min-width: 1025px) and (max-width: 1440px){
     .menu-menu-principale-container {
         width: 70%;
         margin: 0px auto 0 20%;
    }
}
 @media(min-width: 1440px){
     .menu-menu-principale-container {
         width: 60%;
         margin: 0px auto 0 20%;
    }
}
 .menu-item-has-children.submenu-open > a::after {
     transform: rotate(180deg);
    /* cambia freccia in su */
}
 .sub-menu {
     display: none;
}
 .menu-item-has-children > a {
     display: flex;
     align-items: center;
     gap: 10px;
     color: #5ABCD1 !important;
}
 ul.sub-menu {
     padding: 20px 0;
     margin: 0;
     list-style: none;
}
 ul.sub-menu li:before {
     content: '- ';
     font-size: 20px;
}
 ul.sub-menu > li > a{
     color: #0B0F19;
     transition: 300ms;
     font-size: 20px;
     text-decoration: none;
}
 ul.sub-menu > li{
     margin-bottom: 10px;
}
 ul.sub-menu > li:last-child{
     margin-bottom: 0px;
}
 ul.sub-menu > li > a:hover{
     color: #5ABCD1;
     transition: 300ms;
}
 .close-sidebar-menu {
     width: 30px;
     height: 30px;
     position: absolute;
     top: 8%;
     right: 10%;
     cursor: pointer;
}
 .close-sidebar-menu span {
     width: 30px;
     height: 1px;
     background: #707070;
     display: block;
     transition: 300ms;
     position: absolute;
     top: 50%;
}
 .close-sidebar-menu span:first-child {
     transform: rotate(45deg);
}
 .close-sidebar-menu span:last-child {
     transform: rotate(-45deg);
}
 .no-scroll{
     overflow: hidden;
}
     .header-sidebar-wrapper.active .header-sidebar-content {
         display: grid;
         grid-template-columns: 1fr;
         position: relative;
         height: 100%;
    }

     .header-sidebar-wrapper {
     height: 0;
     position: absolute;
     top: 0;
     width: 100%;
     right: 0;
     transition: 300ms;
     overflow:hidden;
     background: #fff;
     z-index: 100;
}
 .header-sidebar-wrapper.active {
     height: 100vh;
     max-height: 100vh;
     overflow: auto;
     transition: 300ms;
}
 .header-sidebar-wrapper .row--fluid, .header-sidebar-wrapper .column {
     height: 100%;
}
     .header-sidebar-image {
        display:none;
}
 .header-sidebar-menu .menu-menu-principale-container > ul > li > a {
     text-decoration: none;
     color: #0B0F19;
     transition: 300ms;
     font-weight: bold;
     font-size: 20px;
     line-height: 1em;
}
 @media(min-width: 1025px){
     .menu-item-has-children > a::after {
     width: 20px;
     height: 20px;
}
     .header-sidebar-menu .menu-menu-principale-container > ul > li > a {
     text-decoration: none;
     color: #0B0F19;
     transition: 300ms;
     font-weight: bold;
     font-size: clamp(35px, 2.30vw , 45px);
     line-height: 1em;
}
     .header-sidebar-wrapper.active .header-sidebar-content {
         display: grid;
         grid-template-columns: 9fr 11fr;
         position: relative;
         height: 100%;
    }
     .header-sidebar-image {
     height: 100%;
     width: 100%;
     display: flex;
     max-height: 100vh;
     overflow: hidden;
}
 .header-sidebar-image img {
     width: 100%;
     height: 100%;
     object-fit: cover;
}
}


/* Ajax gallery */
.ajax-gallery-section{
    padding-bottom: clamp(60px, 7.80vw, 80px);
}

.ajax-gallery-action-desktop {
    display: none;
}
.ajax-gallery-action-header {
    display: flex;
    justify-content: space-between;
    align-items: center;
    font-size: 22px;
    line-height: 1em;
    font-weight: 500;
    padding: 10px 20px;
    border-bottom: 1px solid #70707070;
}
.ajax-gallery-action-mobile {
    margin-bottom: 40px;
}
.ajax-gallery-action-mobile .ajax-gallery-button {
    border: none;
    margin-bottom: 8px;
}
.ajax-gallery-action-header.active .ajax-gallery-action-icon span:first-child {
    transform: rotate(180deg);
    transition: 300ms;
}
@media(min-width: 1025px){
    .ajax-gallery-section{
    padding-bottom: clamp(60px, 7.80vw, 150px);
}
    .ajax-gallery-action-mobile {
    display: none;
}
    .ajax-gallery-action-header {
    display: none;
}
   .ajax-gallery-action-desktop {
    display: flex;
    justify-content: center;
    margin-bottom: clamp(40px, 3.05vw, 60px);
} 
}
.ajax-gallery-button {
    text-transform: uppercase;
    text-align: center;
    padding: 12px 20px;
    border-right: 1px solid #70707070;
    transition: 300ms;
    font-weight: 500;
    line-height: 1em;
    cursor: pointer;
    font-size: clamp(14px, 0.94vw, 18px);
}

.ajax-gallery-button:last-child {
    border-right: none;
}

.ajax-gallery-button.is-active {
    transition: 300ms;
    font-weight: bold;
    background: #5ABCD1;
    color: #fff;
    border: none;
}
.ajax-gallery-wrapper .macy-item img {
    width: 100%;
    height: 100%;
}

.ajax-gallery-action-icon span:last-child {
    transition: 300ms;
    position: absolute;
    top: 50%;
}

.ajax-gallery-action-icon span:first-child {
    transition: 300ms;
    position: absolute;
    top: 50%;
    transform: rotate(90deg);
}

.ajax-gallery-action-icon span {
    width: 20px;
    height: 1px;
    background: #707070;
    transition: 300ms;
    display: block;
}
.ajax-gallery-action-icon {
    cursor: pointer;
    width: 20px;
    height: 20px;
    position: relative;
}

.ajax-gallery-action-content {
    padding: 30px 20px;
}

/* promo */
.promo-text-wrapper, .promo-price-wrapper {
    text-align: center;
    max-width: 100%;
    margin: 0 auto;
}
.promo-combination-wrapper {
    display: flex;
    align-items: center;
    gap: 40px;
    flex-direction: column;
}
.promo-combination-wrapper .symbol-comb:last-child {
    display: none;
}
.promo-combination-text {
    text-align: center;
    text-wrap: balance;
}
.section.section-promo-composition.section--padding-md{
    background: #F6F7F9;
}
.block--imagek img {
    width: 100%;
    height: 100%;
    object-fit: contain;
}
@media(min-width: 1025px){
.promo-combination-item {
    max-width: 400px;
    margin: 0 auto;
    display: flex;
    flex-direction: column;
    gap: 20px;
}
    .promo-combination-wrapper {
    display: flex;
    align-items: center;
    gap: 40px;
    flex-direction: row;
}
  .promo-text-wrapper, .promo-price-wrapper {
    text-align: center;
    max-width: 80%;
    margin: 0 auto;
}  
}
.promo-text-wrapper .block--subtitle h5 {
    margin: 0 auto !important;
}

.promo-text-wrapper .block--image {
    margin: 60px 0 80px;
}
.promo-text-wrapper .block--title__60 h2 {
    font-weight: bold;
    text-transform: uppercase;
}
.promo-price-wrapper .block--title_promo h4 {
    text-transform: uppercase;
    font-weight: bold;
    text-wrap: balance;
    margin-bottom: 30px;
}
.promo-price-wrapper .block--title_promo {
    margin-bottom: 20px;
}
.promo-price-wrapper .block--paragraph {
    max-width: 600px;
    margin: 0 auto 30px;
}
.promo_price {
    background: #5ABCD1;
    font-weight: bold;
    color: #fff;
    padding: 12px 20px;
    max-width: max-content;
    margin: 0 auto;
    font-size: 22px;
}