/*
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(16px, 0.937vw, 18px);
    line-height: clamp(30px, 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(24px, 2.603vw, 50px);
   line-height: clamp(30px, 2.864vw, 55px);
}
.block--title__60 {
    font-size: clamp(26px, 3.124vw, 60px);
    line-height: clamp(38px, 4.166vw, 80px);
}
.block--title__70{
   font-size: clamp(28px, 3.645vw, 70px);
   line-height: clamp(40px, 4.166vw, 80px);
}
h1,h2,h3,h4,h5,h6{
   font-weight: bold;
   text-transform: uppercase;
}
.block--subtitle{
   font-weight: 300;
   text-transform: uppercase;
   font-size: clamp(18px, 1.041vw, 20px);
}
/* --------------------------------------------
   Global
-------------------------------------------- */
#to-the-top {
    display: flex;
    background-color: #11111173;
    width: 50px;
    height: 50px;
    border-radius: 25px 0 0 25px;
    position: fixed;
    bottom: 30px;
    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: 25px;
   height: 25px;
   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;
}
/* --------------------------------------------
   Header
-------------------------------------------- */


/* --------------------------------------------
   Footer
-------------------------------------------- */

/* Alternate row */
.home-inverted-column-wrapper {
    display: flex;
    flex-direction: column;
}

.home-inverted-column-wrapper {
    display: flex;
    flex-direction: column;
    gap: clamp(60px, 5.2vw, 100px);
}

.inverted-column-text-wrapper .block--paragraph {
    margin-top: 30px;
    margin-bottom: clamp(40px, 2.59vw, 50px);
    max-width: clamp(500px, 29.16vw, 560px);
    
}
.inverted-column-text-wrapper .block--title{
   max-width: clamp(500px, 37.75vw, 725px);
}

@media(min-width: 1025px){
    .home-inverted-column-wrapper {
        display: flex;
        flex-direction: column;
        gap: clamp(40px, 5.2vw, 100px);
        max-width: 90%;
        height: 100%;
        /* background: red; */
        justify-content: space-between;
        margin: 0 auto;
    }
   .home-columns-inverted .column:last-child .home-inverted-column-wrapper {
      display: flex;
      flex-direction: column-reverse;
      margin-left: auto;
   }
}
.grey {
    background: #EDEDED;
}
.custom-contact .block-contact-form-text-wrapper .block--title {
    max-width: clamp(890px, 47.395vw, 910px);
}
.custom-contact .block-contact-form-text-wrapper .block--title h3{
    text-transform: uppercase;
    font-weight: 300;
}
.last-block .last-post-splide{
   margin-top: clamp(40px, 3.124vw, 60px);
}
.last-block .block--title h3{
   font-weight: 300;
   text-transform: uppercase;
}

.card-post-title {
    font-size: clamp(22px, 1.353vw, 26px);
    line-height: clamp(32px, 2.082vw, 40px);
    margin-bottom: 10px;
}
.card-post-button{
   margin-top: 25px;
}

.card-post-button a {
    display: flex;
    align-items: center;
    gap: 10px;
    line-height: 1;
    transition: 300ms;
    text-transform: uppercase;
    text-decoration: none;
    color: #343434;
    font-weight: 300;
}
.card-post-button a:hover {
    gap: 14px;
    transition: 300ms;
}
.card-post-head {
    margin-top: 20px;
}
.card-post-content {
    opacity: 0.9;
    padding-right: 10px;
}
.card-post-button a span {
    display: flex;
}
.centered-block-with-separator h1 {
    text-transform: uppercase;
}
.centered-block-with-separator .block--paragraph {
    max-width: clamp(700px, 41.666vw, 800px);
    margin: 0 auto;
}



/* --------------------------------------------
   Single post
-------------------------------------------- */
.single-post-image img {
    width: 100%;
    height: 100%;
    object-fit: cover;
}
.single-post-image {
    overflow: hidden;
    width: 100%;
    display: flex;
}

.single-post-content-text .single-post-content {
    padding: 60px 5%;
    background: #EDEDED;
}

.post-sharing-links svg {
    height: 15px;
    width: 15px;
    transition: 300ms;
}

.post-sharing-links a {
    display: flex;
}
.post-sharing-links{
    display: flex;
    align-items: center;
    gap: 5px;
}

.single-post-sharing {
    display: flex;
    gap: 5px;
    align-items: center;
    line-height: 1;
}
.single-bottom-content {
    display: flex;
    padding-top: 29px;
    border-top: 1px solid #ccc;
    margin-top: 60px;
    justify-content: space-between;
    gap: 10px;
    font-size: 13px;
    text-transform: uppercase;
    font-weight: bold;
}
.single-author {
    display: flex;
    align-items: center;
    gap: 5px;
    line-height: 1;
}

.block--title.gloock.block--title--center {
    margin-bottom: 50px;
    line-height: 1.2em;
}


.single-post-content.with-title h1.block--title__80.block--title--center {
    text-wrap: balance;
}

.single-post-content-text .single-post-content h1, .single-post-content-text .single-post-content h2, .single-post-content-text .single-post-content h3, .single-post-content-text .single-post-content h4, .single-post-content-text .single-post-content h5, .single-post-content-text .single-post-content h6 {
    margin-bottom: 25px !important;
    display: block;
    color: #365564;
}
.single-post-content-text .single-post-content p{
    margin-bottom: 25px !important;
    display: block;
}

.single-post-content figure.wp-block-image.size-full{
    margin: 10px;
}
.single-post-content figure.wp-block-image.size-full img {
    width: 100%;
    height: 100%;
}
.post-meta {
    display: flex;
    gap: 20px;
    justify-content: center;
    margin: 15px 0 80px;
}
.user, .single-post-date {
    display: flex;
    align-items: center;
    gap: 6px;
}
.single-post-content-text .single-post-content h1,
.single-post-content-text .single-post-content h2,
.single-post-content-text .single-post-content h3,
.single-post-content-text .single-post-content h4,
.single-post-content-text .single-post-content h5,
.single-post-content-text .single-post-content h6{
    font-size: clamp(22px, 1.87vw, 36px);
}
.related-post-grid.desktop{
    display: none;
}
.section.section--padding-sm.form-section-wrapper.title-color__gold.faraglioni-bg.section-single-related .column {
    overflow: hidden;
}
.my-slider-progress {
    background: #ccc;
    height: 3px;
    margin-top: 10px;
    max-width: 80%;
    margin: 40px auto 0;
}
.my-slider-progress-bar {
  background: #151515;
  height: 3px;
  width: 0;
  transition: width 400ms ease;
}
.section.section--padding-sm.form-section-wrapper.title-color__gold.faraglioni-bg.section-single-related {
    padding-top: 0;
}
.single-post-content.with-title .block--title {
    max-width: clamp(500px, 52.07vw, 1000px);
    margin: 0 auto;
    padding: 0 20px;
}
.single-bottom-content, .single-bottom-content svg {
    fill: #365564;
    color: #365564;
}
@media(max-width: 1024px){
    .single-post-content.with-title .block--title h1 {
        text-align: left;
    }
    .post-meta {
        display: flex;
        gap: 20px;
        justify-content: flex-start;
        margin: 15px 0 60px;
    }
    .single-post-content.with-title .block--title {
        max-width: clamp(800px, 52.07vw, 1000px);
        margin: 0;
        padding: 0;
    }
}
@media(min-width: 1025px){
    .single-post-content-text {
        max-width: 85%;
        margin: 0 auto;
    }
}
.single-post-content h1 {
    font-weight: 300;
}
.last-block ul.splide__pagination.splide__pagination--ltr {
    position: unset;
    margin: 40px 0 0;
}
.last-block ul.splide__pagination.splide__pagination--ltr button{
    background: transparent;
    width: 15px;
    height: 15px;
    border: 1px solid #365564;
}
.last-block ul.splide__pagination.splide__pagination--ltr button.is-active{
    background: #365564;
}

.post-grid__inner {
    display: grid;
    grid-template-columns: 1fr;
    gap: 50px;
}
@media(min-width: 769px) and (max-width: 1280px){
   .post-grid__inner {
      display: grid;
      grid-template-columns: 1fr 1fr;
      gap: 50px;
      row-gap: 80px;
   }
}
@media(min-width: 1281px){
   .post-grid__inner {
      display: grid;
      grid-template-columns: 1fr 1fr 1fr;
      gap: 50px;
      row-gap: 80px;
   }
}

.last-block.static-block .block--title {
    /* max-width: 50%; */
    text-wrap: balance;
}
.post-grid {
    margin-top: clamp(40px, 6.24vw, 120px);
}
.brand-item {
    display: flex;
}

.brand-list-wrapper {
    display: grid;
    grid-template-columns: 1fr 1fr;
    gap: 20px;
}
@media(min-width: 769px) and (max-width: 1280px){
   .brand-list-wrapper {
      display: grid;
      grid-template-columns: 1fr 1fr 1fr;
      gap: 40px;
      row-gap: 50px;
   }
}
@media(min-width: 1281px){
   .brand-list-wrapper {
      display: grid;
      grid-template-columns: 1fr 1fr 1fr 1fr;
      gap: 40px;
      row-gap: 50px;
   }
}
.last-block .column{
   overflow: hidden;
}
.contact-informations-grid svg {
    width: 20px;
    margin-top: 5px;
}
.company-contact a {
    display: flex;
    gap: 8px;
    text-decoration: none;
    color: unset;
    text-wrap: balance;
    align-items: flex-start;
}

.contact-informations-grid .contact-label {
    text-transform: uppercase;
    font-weight: 300;
    font-size: 24px;
}

.contact-informations-grid {
    display: grid;
    grid-template-columns: 1fr;
    gap: 20px;
    row-gap: 40px;
}
@media(min-width: 1025px){
   .contact-informations-grid {
      display: grid;
      grid-template-columns: 1fr 1fr;
      gap: 20px;
      row-gap: 40px;
   }  
}
.section-contact .block--title, .section-contact .block--paragraph {
    max-width: clamp(700px, 42.447vw, 815px);
}
.section-contact .block--title{
   margin-bottom: 30px;
}
.map-contact iframe {
    width: 100%;
}
.map-contact iframe .block--media-content{
    display: flex;
}
.custom-contact-main .block-contact-form-text-wrapper {
    max-width: clamp(800px,47.655vw, 915px);
}


.two-column-section.custom-row-about .row {
    grid-template-columns: 2fr 3fr;
}
.two-column-section.custom-row-about .block--image img {
    margin: 0 0 0 auto;
}
.two-column-section.custom-row-about h1 {
   font-size: clamp(32px, 3.645vw, 70px);
   line-height: clamp(42px, 4.166vw, 80px);
}
.two-column-section.custom-row-about .block--paragraph {
   max-width: clamp(900px, 48.437vw, 930px);
}


.two-column-section.custom-fluid .row {
    width: 100%;
    max-width: 100%;
    gap: 0;
    align-items: stretch;
}

.two-column-section.custom-fluid .block-text-wrapper {
    margin: 0 auto;
    padding: 80px 5%;
}
.two-column-section.custom-fluid .block-text-wrapper .block--title *{
   font-weight: 300;
}
.two-column-section.custom-fluid .block--image img {
    width: 100%;
}
.section.two-column-section.custom-fluid.grey .block--media-content {
    height: 100%;
}
.section.two-column-section.custom-fluid.grey .block--media-content img{
    height: 100%;
    object-fit: cover;
}
.two-column-section.custom-fluid .block-text-wrapper {
    height: 100%;
    display: flex;
    flex-direction: column;
    justify-content: center;
}
@media(min-width: 1025px){
   .two-column-section.custom-fluid .block-text-wrapper {
      max-width: clamp(450px, 31.24vw, 600px);
      margin: 0 auto;
      padding: 80px 0;
   }
   .two-column-section.custom-fluid.mx-wi .block-text-wrapper {
      max-width: clamp(400px, 35.937vw, 690px);
   }
}

.flip-card-icon {
    margin: auto 0;
}
.flip-card-content-start {
    padding: 50px;
    display: flex;
    flex-direction: column;
    height: 100%;
    background: #f9f9f9;
    text-align: center;
    min-height: clamp(350px, 22.134vw, 425px);
    justify-content: center;
    position: relative;
    z-index: 6;
}
.flip-card-content-start span {
    max-width: 275px;
    line-height: 21px;
    margin: 0 auto;
    text-transform: uppercase;
    text-wrap: balance;
}
.flip-card-icon-control {
    position: absolute;
    cursor: pointer;
    width: 40px;
    height: 40px;
    display: flex;
    z-index: 11;
    right: 20px;
    bottom: 20px;
}
.flip-card-icon-control span {
    background: #ccc;
    display: flex;
    width: 40px;
    height: 1px;
    position: absolute;
    top: 50%;
    transition: 300ms;
}
.flip-card-icon-control span:last-child {
    transform: rotate(90deg);
}
.centered-block-with-separator .block--button.block--button--arrow a,
.two-column-section .block--button a {
    color: #343434;
    gap: 10px;
    display: flex;
    align-items: center;
    padding: 0px;
}
.centered-block-with-separator .block--button.block--button--arrow a:hover,
.two-column-section .block--button a:hover {
    gap: 15px;
    transition: 300ms;
}
.contact-informations-grid svg {
    fill: #365564;
}
.flip-card-content-end {
    position: absolute;
    z-index: 5;
    top: 0;
    background: #fff;
    border: 1px solid #ccc;
    height: 100%;
    padding: 40px 50px;
    display: flex;
    justify-content: center;
    align-items: center;
    transition: 500ms;
    opacity: 0;
}
.flip-card-item.active .flip-card-icon-control span:last-child {
    transition: 300ms;
    transform: rotate(0);
}
.flip-card-item.active .flip-card-content-end {
    transition: z-index 500ms, 300ms;
    z-index: 10 !important;
    opacity: 1;
}
.flip-card-content-start.active .flip-card-content-start {
    transition: 400ms;
    z-index: 5;
}
.flip-cards .column{
    overflow: hidden;
}

.flip-cards ul.splide__pagination.splide__pagination--ltr{
    margin: 40px 0 0;
    position: unset;
}
.flip-cards ul.splide__pagination.splide__pagination--ltr button{
    background: transparent;
    border: 1px solid #365564;
    width: 15px;
    height: 15px;
}
.flip-cards ul.splide__pagination.splide__pagination--ltr button.is-active{
    background: #365564;
}
.contact-informations-grid .contact-label {
    margin-bottom: 5px;
}
.single-product-wrapper .block-text-wrapper {
    max-width: clamp(800px, 57.291vw, 1100px);
    margin: 0 auto;
}
.single-product-wrapper .block-text-wrapper .block--paragraph {
    margin-top: 30px;
}








.single-products .contact_form_grid {
     display: grid;
     grid-template-columns: 1fr;
     gap: 20px;
     margin-bottom: 20px;
}
.single-products .contact_form_input input,
.single-products .contact_form_input select,
.single-products .contact_form_message textarea {
     width: 100%;
     padding: 20px 20px 19px !important;
     border: none !important;
     border-bottom: 1px solid #7F7F7F !important;
     background: transparent !important;
}
.single-products .contact_form_message textarea {
     max-height: 100px;
}
.single-products .contact_form_optin {
     margin: 20px 0;
     display: flex;
     flex-direction: column;
     gap: 5px;
}
.single-products .contact_form_action {
     margin-top: 40px;
     position: relative;
     display: flex;
     flex-direction: column;
     gap: 20px;
}
 .contact_form_optin span.wpcf7-list-item {
     margin: 0;
}
.single-products.single-products .contact_form_optin a {
     color: unset;
     text-decoration: underline;
}
.single-products span.required_span{
     font-weight: bold;
     color: #365564;
}
.single-products .contact_form_action input {
     background: #0B0F19 !important;
     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;
}
.single-products .contact_form_action input:hover {
     background: #333;
     color: #fff;
     transition: 300ms;
}
.single-products .contact-form-wrapper-shortcode {
     margin-top: clamp(40px, 3.124vw, 60px);
}
.single-products .block-contact-form-text-wrapper .block--title__60 h3 {
     text-wrap: balance;
}
.single-products .block-contact-form-text-wrapper .block--title__60 {
     text-wrap: balance;
}
.single-products .block-contact-form-text-wrapper a {
     text-decoration: none;
     transition: 300ms;
}
.single-products .block-contact-form-text-wrapper a span{
     transition: 300ms;
}
 .single-products .block-contact-form-text-wrapper a:hover span{
     color: #0B0F19;
     transition: 300ms;
}
 @media(min-width: 1025px){
     .single-products .block-contact-form-text-wrapper .block--title__60 {
         text-wrap: balance;
    }
    .single-products .contact_form_grid {
         grid-template-columns: 1fr 1fr;
    }
}

.loop-product-card-wrapper {
    display: flex;
    flex-direction: column;
}

.product-loop-wrapper {
    display: grid;
    grid-template-columns: 1fr;
    gap: 30px;
    row-gap: 60px;
}
@media(min-width: 769px) and(max-width: 1280px){
    .product-loop-wrapper {
        display: grid;
        grid-template-columns: 1fr 1fr;
        gap: 30px;
        row-gap: 50px;
    }
}
@media(min-width: 1281px){
    .product-loop-wrapper {
        display: grid;
        grid-template-columns: 1fr 1fr 1fr;
        gap: 30px;
    }
}
.product-card-title {
    font-size: clamp(22px, 2.082vw, 40px);
    font-weight: 300;
    text-transform: uppercase;
}
.product-card-description {
    margin: 20px 0;
    text-wrap: balance;
}
.product-card-image {
    display: flex;
    margin-bottom: 25px;
}
.row.row--1col-full.row-product-head .block-text {
    max-width: clamp(800px, 51.041vw, 980px);
    margin-bottom: clamp(40px, 4.166vw, 80px);
}
.products-pagination {
    display: flex;
    gap: 5px;
    justify-content: center;
    margin: 60px 0 0;
}
.product-card-image img {
    width: 100%;
}
.section.section--padding-lg.product-cards-carousel .block-text .block--title > * {
    font-size: clamp(22px, 2.603vw, 50px);
    line-height: clamp(34px, 3.645vw, 70px);
    font-weight: 300;
}
.section.section--padding-lg.product-cards-carousel .block-text {
    max-width: clamp(1200px, 72.916vw, 1400px);
    margin-bottom: clamp(60px, 8.332vw, 160px);
}
.row.row--1col-full.row-product-carousel .column {
}
.loop-product-card-wrapper {
    max-width: 636px;
}
.row-product-carousel .splide__slide {
    max-width: max-content;
}
@media(min-width: 1025px){
    .product-card-description {
        max-width: 430px;
    }
}




.home-hero .splide__slide{
   width: 100%;
}
.hero-slide-content {
    position: relative;
    width: 100%;
}
.home-slide-media-wrapper {
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    z-index: 5;
}
.home-slide-media-wrapper img {
    object-fit: cover;
    width: 100%;
    height: 100%;
}
.hero-text-wrapper {
    position: relative;
    z-index: 7;
    max-width: 1720px;
    width: 90%;
    margin: 0 auto;
    height: 90vh;
    padding-top: clamp(60px, 7.80vw, 150px);
    padding-bottom: clamp(60px, 7.80vw, 150px);
}
.hero-slide-content:before {
    content: '';
    width: 100%;
    height: 100%;
    background: #000000;
    position: absolute;
    display: flex;
    top: 0;
    left: 0;
    z-index: 6;
    opacity: 0.4;
}
.hero-text-content {
    display: flex;
    flex-direction: column;
    height: 100%;
    justify-content: flex-end;
    transition: 300ms;
    padding-bottom: 20%;
}
.hero-slide-content .block--title__70{
    color: #fff;
    font-weight: 400;
}


/*.block--subtitle {
    color: #B79E80;
    font-size: clamp(18px, 1.14vw, 22px);
    text-transform: uppercase;
    margin-bottom: 5px;
}*/

.hero-text-content .block--button {
    margin-top: clamp(30px, 2.082vw, 40px);
}


.home-hero ul.splide__pagination button {
    background: #fff;
    border-radius: 0px;
    width: 15px;
    height: 5px;
    transition: 300ms;
}
.home-hero button.splide__pagination__page.is-active {
    transition: 300ms;
    background: #365564;
}
.home-hero ul.splide__pagination {
    bottom: 40px;
    left: 0!important;
    display: flex;
    flex-direction: row;
    gap: 5px;
    justify-content: flex-start;
    align-items: flex-end;
    padding-top: 30px;
    padding-left: 5%;
}
.block--video, .block--video video {
    width: 100%;
    height: 100%;
    object-fit: cover;
}

@media(min-width: 1025px){
   .hero-text-content {
      max-width: clamp(600px, 44.791vw, 860px);
   }
   .home-hero ul.splide__pagination {
      padding: 0px;
      right: 5%!important;
      left: unset;
      display: flex;
      flex-direction: row;
      bottom: clamp(60px, 7.80vw, 150px);
      gap: 5px;
      justify-content: flex-end;
   }
   .hero-text-content {
      justify-content: flex-end;
      padding-bottom: 0px;
      
   }
}
@media(min-width: 1921px){
   .hero-text-wrapper {
      width: 95%;
   }
}

.hero-text-content .block--subtitle {
    margin-bottom: 5px;
    color: #fff;
}
.hero-text-content .block--subtitle h5{
    
}
.hero-text-content .block--paragraph {
    color: #fff;
    max-width: clamp(500px, 27.864vw, 535px);
    margin-top: 15px;
}
.section.home-hero .column{
   overflow: hidden;
}
.block--button.block--button--outline--white a {
    border: 1px solid #fff;
    color: #fff;
}
.block--button.block--button--outline--white a:hover {
    background: #fff;
    color: #151515;
    transition: 300ms;
}
@media(max-width: 1024px){
    .row.row--1col-full.row-product-carousel .column{
        overflow: hidden;
    }
}
.row.row--1col-full.row-product-carousel ul.splide__pagination.splide__pagination--ltr{
    position: unset;
    margin: 60px 0 0 ;
}
.row.row--1col-full.row-product-carousel ul.splide__pagination.splide__pagination--ltr button{
    border: 1px solid #0E1636;
    background: transparent;
    width: 15px;
    height: 15px;
}
.row.row--1col-full.row-product-carousel ul.splide__pagination.splide__pagination--ltr button.is-active{
    background: #0E1636;
}

.link-list-item a {
    font-size: clamp(28px, 5.207vw, 100px);
    text-decoration: none;
    transition: 300ms;
    text-transform: uppercase;
    font-weight: bold;
    color: #343434;
    display: flex;
    align-items: center;
    gap: 20px;
    position: relative;
    line-height: 1;
    text-wrap: balance;
    border-bottom: 1px solid transparent;
}
@media(max-width: 1024px){
    .link-list-item a {
        font-size: 17px;
        text-decoration: none;
        transition: 300ms;
        text-transform: uppercase;
        font-weight: bold;
        color: #343434;
        display: flex;
        align-items: center;
        gap: 20px;
        position: relative;
        line-height: 1;
        justify-content: space-between;
        text-wrap: balance;
        border-bottom: 1px solid transparent;
        width: 100%;
    }
    .link-list-wrapper {
        display: flex;
        flex-direction: column;
        gap: 25px !important;
    }
}
.link-list-item {
    display: flex;
    align-items: center;
    gap: 35px;
}
.link-list-item span {
    display: flex;
    transition: 500ms;
    opacity: 0;
    transform: translateX(-50px);
}
.link-list-item a:hover{
    transition: 300ms;
    border-bottom: 1px solid #343434;
}
.link-list-item a:hover span{
    transform: translateX(0px);
    opacity: 1;
    text-decoration: underline;
}
.link-list-wrapper {
    display: flex;
    flex-direction: column;
    gap: 50px;
}
.post-meta img {
    max-width: 20px;
    height: 20px;
}
@media(max-width: 1024px){
    .link-list-item a span{
        transform: translateX(0px);
        opacity: 1;
    }
    .link-list-item {
        display: flex;
        align-items: center;
        gap: 10px;
    }
}



/* Footer */
.footer-contact svg, .footer-social svg {
    fill: #151515;
}
.footer-logo a {
    display: flex;
}
.footer-contact {
    margin: 15px 0 25px;
}
.footer-main-wrapper {
    background: #EDEDED;
}
.footer-label {
    text-transform: uppercase;
    margin-bottom: 20px;
    font-size: 20px;
    color: #343434;
}
.footer-menu ul {
    list-style: none;
    margin: 0px;
    display: flex;
    flex-direction: column;
    gap: 20px;
}
.footer-menu a {
    line-height: 1;
    text-decoration: none;
    color: #343434;
    transition: 300ms;
}
.footer-menu a:hover {
    color: #151515;
    transition: 300ms;
}
.footer-menu li{
    line-height: 1;
}

.row.custom-foter-row .column {
    width: max-content;
}
.row.custom-foter-row {
    display: flex;
    justify-content: space-between;
    gap: 30px;
    row-gap: 80px;
    flex-direction: column;
}
@media(min-width: 769px) and (max-width: 1180px){
    .row.custom-foter-row {
        display: grid;
        grid-template-columns: 1fr 1fr;
        gap: 30px;
        row-gap: 80px;
        flex-direction: column;
    }
}
@media(min-width: 1181px){
    .row.custom-foter-row {
        display: flex;
        justify-content: space-between;
        gap: 30px;
        row-gap: 80px;
        flex-direction: row;
    }
}
.bottom-footer-wrapper {
    background: #EDEDED;
}
.bottom-footer-wrapper .row{
    border-top: 1px solid #707070;
    padding: 19px 0 20px
}
.footer-legal-links {
    display: flex;
    gap: 5px;
    align-items: center;
    
}
.footer-legal-links a,.bottom-footer-wrapper a{
    color: #151515;
    text-decoration: none;
}
@media(min-width: 1025px){
    .footer-legal-links {
        display: flex;
        justify-content: flex-end;
        gap: 5px;
        align-items: center;
    }
}
@media(max-width: 1024px){
    .bottom-footer-wrapper .row {
        display: flex;
        flex-direction: column-reverse;
        gap: 10px;
    }
}
.footer-contact .block--paragraph {
    max-width: 350px;
}
.footer-menu .company-contacts-main-wrapper {
    max-width: 350px;
    display: flex;
    gap: 15px;
}
.footer-menu .company-contacts-main-wrapper a {
    align-items: flex-start;
}
.company-contacts-main-wrapper .company-contact svg {
    height: 20px;
    display: flex;
    max-width: 20px;
    width: 100%;
}
.company-contacts-main-wrapper .company-contact a {
    display: flex;
    gap: 8px;
    align-items: flex-start;
    line-height: 25px;
}

.header-menu-grid {
    display: flex;
    gap: 20px;
    align-items: center;
    justify-content: space-between;
}

.header-menu-link > a {
    font-weight: 300;
    color: #0E1636;
    text-decoration: none;
    text-transform: uppercase;
    transition: 300ms;
    line-height: 100%;
    display: flex;
    align-items: center;
}
.header-menu-link > a:hover {
    text-decoration: underline;
    transition: 300ms;
}

.header-menu-link.submenu {
    position: relative;
}
.header-menu-link.submenu > a {
    cursor: pointer;
}
.header-menu-submenu {
    overflow: hidden;
    transform: translateY(-10px);
    height: 0px;
    width: 100%;
    background: #fff;
    display: flex;
    flex-direction: column;
    gap: 20px;
    transition: 300ms;
    opacity: 0;
    position: absolute;
    top: 100%;
    width: max-content;
    z-index: 199;
    box-shadow: 0 0 15px #00000029;
}
.header-menu-link.submenu:hover .header-menu-submenu {
    overflow: visible;
    transform: translateY(0px);
    height: auto;
    transition: 300ms;
    opacity: 1; 
}

.header-menu-wrapper .block--button.block--button--outline--black a {
    border: 1px solid #365564;
    color: #365564;
    justify-content: center;
    align-items: center;
    margin: auto 0;
}
.header-menu-wrapper .block--button.block--button--outline--black a:hover {
    border: 1px solid #365564;
    color: #fff;
    background: #365564;
}





.header-menu-link {
    display: flex;
    height: 100%;
}
.header-menu-wrapper,
.header-menu-grid {
    height: 100%;
}

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

.header-logo-wrapper{
    padding: 30px 0;
}
.header-submenu-wrapper {
    padding: 30px 30px 50px;
    display: flex;
    flex-direction: column;
    gap: 20px;
}
.header-submenu-wrapper a {
    font-size: 16px;
}

/**/
.row.row--1col-full.row-product-carousel {
    position: relative;
}
.row-product-carousel .splide__arrows.splide__arrows--ltr {
    max-width: 1720px;
    z-index: 9999;
    position: absolute;
    width: 100%;
    top: 50%;
}
.row-product-carousel .splide__arrows.splide__arrows--ltr button {
    width: 80px;
    height: 80px;
    opacity: 0.6;
}
.section-promo-gallery img {
    width: 100%;
}
@media(min-width: 1025px){
    .row-product-carousel .splide{
        position: unset;
    }
}
.main-header-wrapper {
    position: relative;
}

.header-menu-megamenu {
    position: absolute;
    width: 100%;
    background: #fff;
    top: 100%;
    left: 0;
    display: flex;
    overflow: hidden;
    height: 0;
    opacity: 0;
    transform: translateY(-20px);
    transition: 300ms;
    z-index: 99;
    box-shadow: 0 10px 15px #0000001a;
}

.header-menu-link.megaMenu:hover .header-menu-megamenu {
    position: absolute;
    width: 100%;
    background: #fff;
    top: 100%;
    left: 0;
    display: flex;
    overflow: hidden;
    height: auto;
    opacity: 1;
    transform:translateY(0px);
    transition: 300ms;
}

.megamenu-wrapper {
    display: grid;
    width: 90%;
    grid-template-columns: 4fr 3fr 3fr;
    margin: 0 auto;
    padding: clamp(80px, 5.207vw, 100px) 0;
    /*align-items: center;*/
}

.megamenu-link {
    display: flex;
    gap: 30px;
    align-items: center;
}
.megamenu-link-inner a {
    font-size: clamp(22px, 2.082vw, 40px);
    font-weight: 300;
    text-transform: uppercase;
    text-decoration: none;
    color: #343434;
    transition: 300ms;
    display: flex;
    gap: 20px;
}
.megamenu-link-wrapper {
    
}
.megamenu-link-loop{
   display: flex;
    flex-direction: column;
    gap: 30px;
    padding-right: 29px;
    border-right: 1px solid #707070;
    /*height: 100%;*/ 
}

.megamenu-submenu {
    height: 100%;
    padding: clamp(90px,6.249vw, 120px) 0;
}
.megamenu-icon {
    display: flex;
}
.megamenu-link-inner {
    display: flex;
}

.megamenu-image .block--image.active,
.megamenu-submenu-panel.active {
    height: auto;
    opacity: 1;
    transition: 300ms;
    transform: translateY(0px);
    overflow: visible;
}
.megamenu-image .block--image,
.megamenu-submenu-panel{
    height: 0;
    opacity: 0;
    transition: 300ms;
    transform: translateY(-20px);
    overflow: hidden;
}

.megamenu-submenu-link {
    position: relative;
    display: flex;
    gap: 5px;
    transition: 300ms;
}
.megamenu-submenu-link a {
    color: #0E1636;
    text-transform: uppercase;
    text-decoration: none;
    font-size: 20px;
}
.megamenu-submenu-links {
    padding-left: 40px;
}
.megamenu-submenu-links {
    padding-left: 40px;
    display: flex;
    flex-direction: column;
    gap: 10px;
}
.megamenu-submenu-link a:before {
    content: '';
    display: flex;
    width: 0;
    height: 1px;
    background: #151515;
    transition: 300ms;
}
.megamenu-submenu-link a:hover:before {
    width: 5px;
    transition: 300ms;
}
.megamenu-submenu-link a {
    display: flex;
    align-items: center;
    gap: 5px;
}
.megamenu-link.has-submenu.active .megamenu-link-inner a{
    font-weight: bold;
}
.megamenu-link-inner span{
    display: flex;
    transform: translateX(-20px);
    transition: 300ms;
    opacity: 0;
    width:0;
    max-width: 35px;
}
.megamenu-link.has-submenu.active .megamenu-link-inner span{
    display: flex;
    transform: translateX(0px);
    transition: 300ms;
    opacity: 1;
    width: auto;
}
.main-header-wrapper {
    background: #fff;
}
.megamenu-title {
    font-size: 20px;
    text-transform: uppercase;
    margin-bottom: 40px;
}


.header-burger-wrapper {
    width: 30px;
    height: 30px;
    cursor: pointer;
    display: flex;
    transition: 300ms;
    position: relative;
    flex-direction: column;
    gap: 7px;
    justify-content: center;
}
.header-menu-wrapper {
    display: none;
}
@media(min-width: 1281px){
    .header-burger-wrapper {
        display: none;
    }
    .header-menu-wrapper {
        display: flex;
        gap: 30px;
    }
}
.header-burger-wrapper span {
    display: flex;
    background: #0E1636;
    width: 30px;
    height: 1px;
    transition: 300ms;
}
.header-burger-wrapper.active span:first-child {
    transition: 300ms;
    transform: rotate(45deg);
    top: 50%;
    position: absolute;
}
.header-burger-wrapper.active span:last-child {
    transition: 300ms;
    transform: rotate(-45deg);
    top: 50%;
    position: absolute;
}
.header-burger-wrapper.active span:nth-child(2) {
    transition: 300ms;
    opacity: 0;
}
@media(max-width: 1280px){
    .header-logo-wrapper img {
        max-width: 180px;
    }
    .header-logo-wrapper {
        padding: 20px 0;
    }
}

.header-menu-link.submenu .header-menu-link {
    padding-bottom: 9px;
    border-bottom: 1px solid #365564;
}

.header-mobile-submenu {
    z-index: 999;
    opacity: 0;
    overflow: hidden;
    transform: translateY(-20px);
    height: 0;
    width: 100%;
    background: #fff;
    display: flex;
    flex-direction: column;
    gap: 20px;
    transition: height 500ms, transform 300ms, opacity 200ms;
    position: absolute;
    left: 0;
    top: 100%;
}
.header-mobile-submenu.active {
    opacity: 1;
    overflow: visible;
    transform: translateY(0px);
    height: 100%;
    min-height: 100vh;
    width: 100%;
    background: #fff;
    display: flex;
    flex-direction: column;
    gap: 20px;
    transition: height 500ms, transform 300ms, opacity 200ms;
}


.header-mobile-grid {
    padding: 60px 5%;
    overflow: auto;
    height: 100%;
}
.header-mobile-toggle {
    display: flex;
    justify-content: space-between;
    gap: 20px;
    transition: 300ms;
    align-items: center;
}
.header-mobile-toggle-icon {
    position: relative;
    width: 15px;
    height: 15px;
    transition: 300ms;
}
.header-mobile-toggle-icon span {
    width: 15px;
    height: 1px;
    background: #151515;
    display: flex;
    transition: 300ms;
    position: absolute;
    top: 50%;
}
.header-mobile-toggle-icon span:nth-child(2){
    transform: rotate(90deg);
    transition: 300ms;
}
.header-mobile-toggle-content{
    display: none;
}


.header-mobile-menu-item a,
.header-mobile-toggle-label {
    text-decoration: none;
    line-height: 1;
    text-transform: uppercase;
    color: #151515;
}
.header-mobile-menu-wrapper {
    display: flex;
    flex-direction: column;
    height: 100%;
    gap: 20px;
    overflow: visible;
}
.header-mobile-menu-item{
    line-height: 1;
}

.header-mobile-toggle-content {
    margin: 20px 0;
    padding: 20px 0;
    border-bottom: 1px solid #cccccc60;
    border-top: 1px solid #cccccc60;
    padding-left: 10px;
}
.header-mobile-toggle-content .header-mobile-megamenu-item,
.header-mobile-toggle-content .header-mobile-megamenu-submenu-item,
.header-mobile-toggle-content .header-mobile-submenu-item {
    margin-bottom: 20px;
}
.header-mobile-toggle-content .header-mobile-megamenu-item:last-child,
.header-mobile-toggle-content .header-mobile-megamenu-submenu-item:last-child,
.header-mobile-toggle-content .header-mobile-submenu-item:last-child {
    margin-bottom: 0;
}
.header-mobile-megamenu-item.header-mobile-megamenu-item--toggle.active .header-mobile-toggle-icon span:last-child,
.header-mobile-menu-item.header-mobile-menu-item--toggle.megaMenu.active > .header-mobile-toggle span:last-child,
.header-mobile-menu-item.header-mobile-menu-item--toggle.submenu.active .header-mobile-toggle-icon span:last-child {
    transform: rotate(0);
    transition: 300ms;
}

.header-mobile-menu-wrapper {
    display: flex;
    flex-direction: column;
    height: 100%;
    gap: 20px;
    overflow: auto;
    padding-bottom: 100px;
}

.header-mobile-menu-cta.block--button.block--button--outline--black a {
    background:#365564;
    color: #fff;
}
.header-mobile-menu-cta.block--button.block--button--outline--black{
    margin-top: auto;
    margin-bottom: 0;
}
@media(max-width: 600px){
    .header-mobile-menu-cta.block--button.block--button--outline--black a,
    .header-mobile-menu-cta.block--button.block--button--outline--black {
        width: 100%;
        max-width: 100%;
    }   
}

.section.section-classic-form.section--padding-sm.no-padding-bottom.custom-contact.cm .contact-form-wrapper-shortcode{
	margin: 0px;
}

@media(max-width: 768px){
	.home-slide-media-wrapper{
		position: unset;
	}
	.hero-slide-content:before{
		display: none;
	}
	.hero-slide-content {
		background: #f9f9f9;
	}
	.hero-text-wrapper {
		height: auto!important;
		padding-bottom: 0px;
	}
	.hero-text-wrapper h3,
	.hero-text-content .block--subtitle{
		color: #151515 !important;
	}
	.hero-text-content .block--button a{
		color: #151515;
		border:1px solid #151515;
	}
	.home-slide-media-wrapper {
		height: 250px;
	}
}