:root {
    --primary-color: #004685;
    --primary-color-darker: #003260;
    /*--secondary-color: #FF3F30;*/
    --secondary-color: #7aa3c9;
    --thirdy-color: #e7e7e7;
	
	--colore-officine: #0f854e;
	--colore-vendita: #797979;
	--colore-noleggio: #c11e31;

    --btn-primary-border-radius: 0.25rem;
    --btn-primary-color: #fff;
    --btn-primary-background-color: #004685;
    --btn-primary-border-color: #004685;
    --btn-primary-hover-color: #fff;
    --btn-primary-background-hover-color: #495867;
    --btn-primary-border-hover-color: #495867;
    --btn-primary-font-weight: 300;

    --btn-secondary-border-radius: 0.25rem;
    --btn-secondary-color: #fff;
    --btn-secondary-background-color: #FF3F30;
    --btn-secondary-border-color: #FF3F30;
    --btn-secondary-hover-color: #fff;
    --btn-secondary-background-hover-color: #495867;
    --btn-secondary-border-hover-color: #495867;
    --btn-secondary-font-weight: 300;

    --heading-color: #000;
    --heading-font-family: "Inter", sans-serif;
    --heading-font-weight: 300;

    --title-color: #000;
    --title-font-family: "Inter", sans-serif;
    --title-font-weight: 400;

    --body-color: #000;
    --body-background-color: #fff;
    --body-font-family: "Inter", sans-serif;
    --body-font-size: 17px;
    --body-font-weight: 300;

    --section-heading-color: #000;
    --section-heading-font-family: "Inter", sans-serif;
    --section-heading-font-size: 30px;
    --section-heading-font-weight: 300;

    --section-subheading-color: #000;
    --section-subheading-font-family: "Inter", sans-serif;
    --section-subheading-font-size: 16px;
    --section-subheading-font-weight: 300;
}

body{
    font-family: "Exo 2";
    -webkit-font-smoothing: antialiased;
    -moz-osx-font-smoothing: grayscale;
}

body:not(.home__page) #MainContent{
    padding-top: 0px;
}

#MainContent{
    padding-top: 0;
    padding-bottom: 30px;
}

.offcanvas.offcanvas-start{
    z-index: 9999999994;
}

.text-primary {
    color: var(--primary-color) !important;
}

.bg-primary{
    background-color: var(--primary-color-darker) !important;
}

.text-secondary {
    color: var(--secondary-color) !important;
}

.btn-primary, .btn-secondary, .btn-member,
.btn-primary-custom, .btn{
    border-radius: 0;
}

.btn{
    font-weight: var(--btn-primary-font-weight);
}

.shadow_1{
   box-shadow: rgba(50, 50, 93, 0.25) 0px 2px 5px -1px, rgba(0, 0, 0, 0.3) 0px 1px 3px -1px;
}

.offcanvas, .offcanvas-lg, .offcanvas-md, .offcanvas-sm, .offcanvas-xl, .offcanvas-xxl{
    --bs-offcanvas-zindex: 1051;
}

.bg-dark a{
    color: #4dcaff;
}

p b,
p strong{
    font-weight: 700;
}

/*._dark_theme h1,
._dark_theme h2,
._dark_theme h3,
._dark_theme h4,
._dark_theme h5,
._dark_theme h6 {
    color: #f2f2f2;
}*/

._dark_theme .trusted-heading{
/*    color: var(--secondary-color);*/

}

hr {
    opacity: 0.7;
}

.m-0 {
    margin: 0px !important
}
 

.m-10 {
    margin: 10px !important
}

.m-15 {
    margin: 15px !important
}

.m-20 {
    margin: 20px !important
}

.m-30 {
    margin: 30px !important
}

.m-40 {
    margin: 40px !important
}

.m-50 {
    margin: 50px !important
}

.m-60 {
    margin: 60px !important
}

.m-70 {
    margin: 70px !important
}

.m-80 {
    margin: 80px !important
}

.m-90 {
    margin: 90px !important
}

.m-100 {
    margin: 100px !important
}

.m-110 {
    margin: 110px !important
}

.m-120 {
    margin: 120px !important
}

.m-130 {
    margin: 130px !important
}

.m-140 {
    margin: 140px !important
}

.m-150 {
    margin: 150px !important
}

.m-160 {
    margin: 160px !important
}

.m-170 {
    margin: 170px !important
}

.m-180 {
    margin: 180px !important
}

.m-190 {
    margin: 190px !important
}

.m-200 {
    margin: 200px !important
}

/*
 * 1.2 -> Basic Padding
 * -----------------------------------------------
*/
.p-0 {
    padding: 0 !important;
}
 

.p-10 {
    padding: 10px !important
}

.p-15 {
    padding: 15px !important
}

.p-20 {
    padding: 20px !important
}

.p-30 {
    padding: 30px !important
}

.p-40 {
    padding: 40px !important
}

.p-50 {
    padding: 50px !important
}

.p-60 {
    padding: 60px !important
}

.p-70 {
    padding: 70px !important
}

.p-80 {
    padding: 80px !important
}

.p-90 {
    padding: 90px !important
}

.p-100 {
    padding: 100px !important
}

.p-110 {
    padding: 110px !important
}

.p-120 {
    padding: 120px !important
}

.p-130 {
    padding: 130px !important
}

.p-140 {
    padding: 140px !important
}

.p-150 {
    padding: 150px !important
}

.p-160 {
    padding: 160px !important
}

.p-170 {
    padding: 170px !important
}

.p-180 {
    padding: 180px !important
}

.p-190 {
    padding: 190px !important
}

.p-200 {
    padding: 200px !important
}

/*
 * 1.3 -> Margin top
 * -----------------------------------------------
*/
.mt-0 {
    margin-top: 0 !important;
}
 
.mt-10 {
    margin-top: 10px !important
}

.mt-15 {
    margin-top: 15px !important
}

.mt-20 {
    margin-top: 20px !important
}

.mt-30 {
    margin-top: 30px !important
}

.mt-40 {
    margin-top: 40px !important
}

.mt-50 {
    margin-top: 50px !important
}

.mt-60 {
    margin-top: 60px !important
}

.mt-70 {
    margin-top: 70px !important
}

.mt-80 {
    margin-top: 80px !important
}

.mt-90 {
    margin-top: 90px !important
}

.mt-100 {
    margin-top: 100px !important
}

.mt-110 {
    margin-top: 110px !important
}

.mt-120 {
    margin-top: 120px !important
}

.mt-130 {
    margin-top: 130px !important
}

.mt-140 {
    margin-top: 140px !important
}

.mt-150 {
    margin-top: 150px !important
}

.mt-160 {
    margin-top: 160px !important
}

.mt-170 {
    margin-top: 170px !important
}

.mt-180 {
    margin-top: 180px !important
}

.mt-190 {
    margin-top: 190px !important
}

.mt-200 {
    margin-top: 200px !important
}

/*
 * 1.4 -> Margin right
 * -----------------------------------------------
*/
.mr-0 {
    margin-right: 0 !important;
}
 

.mr-10 {
    margin-right: 10px !important
}

.mr-15 {
    margin-right: 15px !important
}

.mr-20 {
    margin-right: 20px !important
}

.mr-30 {
    margin-right: 30px !important
}

.mr-40 {
    margin-right: 40px !important
}

.mr-50 {
    margin-right: 50px !important
}

.mr-60 {
    margin-right: 60px !important
}

.mr-70 {
    margin-right: 70px !important
}

.mr-80 {
    margin-right: 80px !important
}

.mr-90 {
    margin-right: 90px !important
}

.mr-100 {
    margin-right: 100px !important
}

.mr-110 {
    margin-right: 110px !important
}

.mr-120 {
    margin-right: 120px !important
}

.mr-130 {
    margin-right: 130px !important
}

.mr-140 {
    margin-right: 140px !important
}

.mr-150 {
    margin-right: 150px !important
}

.mr-160 {
    margin-right: 160px !important
}

.mr-170 {
    margin-right: 170px !important
}

.mr-180 {
    margin-right: 180px !important
}

.mr-190 {
    margin-right: 190px !important
}

.mr-200 {
    margin-right: 200px !important
}

/*
 * 1.5 -> Margin bottom
 * -----------------------------------------------
*/
.mb-0 {
    margin-bottom: 0 !important;
}
 

.mb-10 {
    margin-bottom: 10px !important
}

.mb-15 {
    margin-bottom: 15px !important
}

.mb-20 {
    margin-bottom: 20px !important
}

.mb-30 {
    margin-bottom: 30px !important
}

.mb-40 {
    margin-bottom: 40px !important
}

.mb-50 {
    margin-bottom: 50px !important
}

.mb-60 {
    margin-bottom: 60px !important
}

.mb-70 {
    margin-bottom: 70px !important
}

.mb-80 {
    margin-bottom: 80px !important
}

.mb-90 {
    margin-bottom: 90px !important
}

.mb-100 {
    margin-bottom: 100px !important
}

.mb-110 {
    margin-bottom: 110px !important
}

.mb-120 {
    margin-bottom: 120px !important
}

.mb-130 {
    margin-bottom: 130px !important
}

.mb-140 {
    margin-bottom: 140px !important
}

.mb-150 {
    margin-bottom: 150px !important
}

.mb-160 {
    margin-bottom: 160px !important
}

.mb-170 {
    margin-bottom: 170px !important
}

.mb-180 {
    margin-bottom: 180px !important
}

.mb-190 {
    margin-bottom: 190px !important
}

.mb-200 {
    margin-bottom: 200px !important
}

/*
 * 1.6 -> Margin left
 * -----------------------------------------------
*/
.ml-0 {
    margin-left: 0 !important;
}
 

.ml-10 {
    margin-left: 10px !important
}

.ml-15 {
    margin-left: 15px !important
}

.ml-20 {
    margin-left: 20px !important
}

.ml-30 {
    margin-left: 30px !important
}

.ml-40 {
    margin-left: 40px !important
}

.ml-50 {
    margin-left: 50px !important
}

.ml-60 {
    margin-left: 60px !important
}

.ml-70 {
    margin-left: 70px !important
}

.ml-80 {
    margin-left: 80px !important
}

.ml-90 {
    margin-left: 90px !important
}

.ml-100 {
    margin-left: 100px !important
}

.ml-110 {
    margin-left: 110px !important
}

.ml-120 {
    margin-left: 120px !important
}

.ml-130 {
    margin-left: 130px !important
}

.ml-140 {
    margin-left: 140px !important
}

.ml-150 {
    margin-left: 150px !important
}

.ml-160 {
    margin-left: 160px !important
}

.ml-170 {
    margin-left: 170px !important
}

.ml-180 {
    margin-left: 180px !important
}

.ml-190 {
    margin-left: 190px !important
}

.ml-200 {
    margin-left: 200px !important
}

/*
 * 1.7 -> Padding top
 * -----------------------------------------------
*/
.pt-0 {
    padding-top: 0 !important;
}


.pt-10 {
    padding-top: 10px !important
}

.pt-15 {
    padding-top: 15px !important
}

.pt-20 {
    padding-top: 20px !important
}

.pt-30 {
    padding-top: 30px !important
}

.pt-40 {
    padding-top: 40px !important
}

.pt-50 {
    padding-top: 50px !important
}

.pt-60 {
    padding-top: 60px !important
}

.pt-70 {
    padding-top: 70px !important
}

.pt-80 {
    padding-top: 80px !important
}

.pt-90 {
    padding-top: 90px !important
}

.pt-100 {
    padding-top: 100px !important
}

.pt-110 {
    padding-top: 110px !important
}

.pt-120 {
    padding-top: 120px !important
}

.pt-130 {
    padding-top: 130px !important
}

.pt-140 {
    padding-top: 140px !important
}

.pt-150 {
    padding-top: 150px !important
}

.pt-160 {
    padding-top: 160px !important
}

.pt-170 {
    padding-top: 170px !important
}

.pt-180 {
    padding-top: 180px !important
}

.pt-190 {
    padding-top: 190px !important
}

.pt-200 {
    padding-top: 200px !important
}

/*
 * 1.8 -> Padding right
 * -----------------------------------------------
*/
.pr-0 {
    padding-right: 0 !important;
}
 
.pr-10 {
    padding-right: 10px !important
}

.pr-15 {
    padding-right: 15px !important
}

.pr-20 {
    padding-right: 20px !important
}

.pr-30 {
    padding-right: 30px !important
}

.pr-40 {
    padding-right: 40px !important
}

.pr-50 {
    padding-right: 50px !important
}

.pr-60 {
    padding-right: 60px !important
}

.pr-70 {
    padding-right: 70px !important
}

.pr-80 {
    padding-right: 80px !important
}

.pr-90 {
    padding-right: 90px !important
}

.pr-100 {
    padding-right: 100px !important
}

.pr-110 {
    padding-right: 110px !important
}

.pr-120 {
    padding-right: 120px !important
}

.pr-130 {
    padding-right: 130px !important
}

.pr-140 {
    padding-right: 140px !important
}

.pr-150 {
    padding-right: 150px !important
}

.pr-160 {
    padding-right: 160px !important
}

.pr-170 {
    padding-right: 170px !important
}

.pr-180 {
    padding-right: 180px !important
}

.pr-190 {
    padding-right: 190px !important
}

.pr-200 {
    padding-right: 200px !important
}

/*
 * 1.9 -> Padding bottom
 * -----------------------------------------------
*/
.pb-0 {
    padding-bottom: 0 !important;
}
 

.pb-10 {
    padding-bottom: 10px !important
}

.pb-15 {
    padding-bottom: 15px !important
}

.pb-20 {
    padding-bottom: 20px !important
}

.pb-30 {
    padding-bottom: 30px !important
}

.pb-40 {
    padding-bottom: 40px !important
}

.pb-50 {
    padding-bottom: 50px !important
}

.pb-60 {
    padding-bottom: 60px !important
}

.pb-70 {
    padding-bottom: 70px !important
}

.pb-80 {
    padding-bottom: 80px !important
}

.pb-90 {
    padding-bottom: 90px !important
}

.pb-100 {
    padding-bottom: 100px !important
}

.pb-110 {
    padding-bottom: 110px !important
}

.pb-120 {
    padding-bottom: 120px !important
}

.pb-130 {
    padding-bottom: 130px !important
}

.pb-140 {
    padding-bottom: 140px !important
}

.pb-150 {
    padding-bottom: 150px !important
}

.pb-160 {
    padding-bottom: 160px !important
}

.pb-170 {
    padding-bottom: 170px !important
}

.pb-180 {
    padding-bottom: 180px !important
}

.pb-190 {
    padding-bottom: 190px !important
}

.pb-200 {
    padding-bottom: 200px !important
}

/*
 * 1.10 -> Padding left
 * -----------------------------------------------
*/
.pl-0 {
    padding-left: 0 !important;
}
 
.pl-10 {
    padding-left: 10px !important
}

.pl-15 {
    padding-left: 15px !important
}

.pl-20 {
    padding-left: 20px !important
}

.pl-30 {
    padding-left: 30px !important
}

.pl-40 {
    padding-left: 40px !important
}

.pl-50 {
    padding-left: 50px !important
}

.pl-60 {
    padding-left: 60px !important
}

.pl-70 {
    padding-left: 70px !important
}

.pl-80 {
    padding-left: 80px !important
}

.pl-90 {
    padding-left: 90px !important
}

.pl-100 {
    padding-left: 100px !important
}

.pl-110 {
    padding-left: 110px !important
}

.pl-120 {
    padding-left: 120px !important
}

.pl-130 {
    padding-left: 130px !important
}

.pl-140 {
    padding-left: 140px !important
}

.pl-150 {
    padding-left: 150px !important
}

.pl-160 {
    padding-left: 160px !important
}

.pl-170 {
    padding-left: 170px !important
}

.pl-180 {
    padding-left: 180px !important
}

.pl-190 {
    padding-left: 190px !important
}

.pl-200 {
    padding-left: 200px !important
}

.pre_footer,
.bg-5 {
    background-color: var(--thirdy-color);
}

.footer-bottom{
    padding-top: 16px;
    padding-bottom: 16px;
}

.body-wrapper {
    position: relative;
    max-width: 100%;
    overflow-x: hidden;
}

.heading_18 {
    font-size: 18px;
}

.trusted-heading {
    color: #000000;
}

.heading_42 {
    font-weight: 300;
    text-transform: uppercase;
}

.heading_29 {
    font-weight: 300;
    font-size: 29px;
    line-height: 1.08;
    letter-spacing: 0.25px;
}

.heading_55 {
    font-weight: 300;
    font-size: 43px;
    line-height: 1.12;
    letter-spacing: 0.01em;
}

@media (max-width: 767px) {
    .heading_55 {
        font-size: 25px; 
    }
}

@media (max-width: 520px) {
    .heading_55 {
        font-size: 18px; 
    }
}

.slide-subheading {
    font-weight: 300;
    line-height: 1.2;
}

.bg-1 {
    background-color: var(--secondary-color);
}


.modal-dialog:not(.modal-xl) {
    max-width: 500px;
    margin: 1.75rem auto;
}

.newsletter-modal-content {
    outline: none;
}

.product-card-details {
    padding-left: 16px;
    padding-right: 16px;
    padding-top: 4px;
}

.product-card-img .hover-switch {
    display: block;
    height: 320px;
    position: relative;
    width: 100%;
    background: #f4f4f4;
    border-radius: 6px;
    overflow: hidden;
}

.btn-buyit-now {
    background: #000;
}

.badge-label{
    background-color: #838383;
}

.banner-img {
    display: block;
    position: relative;
    background-size: cover;
    height: 30vw;
    background-attachment: fixed;
}

.__banner_1{
    background-position: center;
}

.overlay-50:before {
    background-color: rgba(0, 0, 0, 0.5) !important;
}


.overlay-75:before {
    background-color: rgba(0, 0, 0, 0.75) !important;
}

.product-card-img img {
/*    height: 300px;*/
    height: 100%;
    width: 100%;
/*    object-fit: cover;*/
    object-fit: contain;
}

.product-card-img.product-card-img-contain img {
    object-fit: contain;
}

.widget-link a {
    word-break: break-word;
    cursor: pointer;
    font-weight: 400;
    font-size: 14px;
    line-height: 2;
    letter-spacing: 0.25px;
    color: #000000;
}

.widget-link a.active{
    color: var(--secondary-color);
    text-decoration: underline;
}

.newsletter-modal-icon {
    width: 30px;
    height: 30px;
    margin-right: 15px;
}

.container-fluid {
    /*padding-left: 1.5%;
    padding-right: 1.5%;*/
    padding-left: 0;
    padding-right: 0;
}

/* Full-width container override for modern wide layout */
.container {
    max-width: 1600px;
    width: 95%;
}

@media (min-width: 1400px) {
    .container {
        max-width: 1600px;
    }
}

@media (min-width: 1800px) {
    .container {
        max-width: 1800px;
    }
}



.product-card {

    overflow: hidden;

    padding-left: 10px;
    padding-right: 10px;

    position: relative;

    a.card-image{
        height: auto;
        aspect-ratio: 1.4;

        &:before{
            position: absolute;
            content: "";
            display: block;
            width: 100%;
            height: 100%;
            opacity: 1;
            z-index: 10;
            opacity: 0.6;
            pointer-events: none;
            transition: all 350ms ease; 
            background: linear-gradient(180deg, rgba(0, 0, 0, 1) 0%, rgba(0, 0, 0, 0.4) 30%);
        }

        img{
            position: absolute;
        }
    }

    &:hover a.card-image{        

        &:before{
            opacity: 0.8;
        
        }
    }

    .card-body{
        position: absolute;
        z-index: 11;
        background: transparent !important;
        text-align: left;
        padding: 6%;
        
        width: 100%;
        pointer-events: none;

        & > div{
            opacity: 0;
            top: 100%;
            transform: translateY(30px);
            position: absolute;
            width: 88%;            
            transition: all 350ms ease; 
        }

        .card-title a{
            font-size: 28px;
            font-weight: 300;
            color: #fff;
        }
    }
 
}

.product-card:hover .card-body > div{
    opacity: 1;
    transform: translateY(0);
}


.product-card .card-body > div span{
    color: #fff;
}
.product-card .card-body > div span img{
    filter: invert(1);
}

._badges{
    font-size: 14px;
}

.slide-content {
/*    margin-left: -150px;*/
}

.cars-items-style{
    font-size: 12px;
    font-weight: 600;
}

.attr-auto span{
    border-bottom: 1px solid #ffffff44;
    overflow: hidden;
}

@media (min-width: 1224px) {
    .attr-auto span{
        font-size: 16px;    
    }
}
 


.slide-img {
    height: 90vh;
}

.homeslide{
    /*border-radius: 8px;*/
    overflow: hidden;
}

.homeslide,
.homeslide .slide-img{
    /*height: 57vw;*/
    height: auto;
    aspect-ratio: 1.8;
}

.homeslide .slide-img{
    width: 100%;
}

 
._fullscreen,
._fullscreen .slide-img{
    height: 100vh;
}

._fullscreen .slide-img{
    object-fit: cover; 
    margin-bottom: 0;
}
 

@media (max-width: 991px) {

    ._fullscreen,
    ._fullscreen .slide-img{
        height: 50vh;
    }
    
}

.homeslide .container{
    padding-left: 80px;
    padding-right: 80px;
    max-width: 100%;
}

@media (max-width: 767px) {
    
    .homeslide .container{
        padding-left: 30px;
        padding-right: 30px;
    }

}

.homeslide .slick-initialized .slick-slide {
    display: block;
    background-color: #fff;
}

.homeslide .slick-slide img {
    width: 100%;
}

.slide-content {
    max-width: 400px;
}



.icon-trusted{
    filter: invert(1);
}

.img-menu-action:hover span,
.main-menu .menu-list-item.active .nav-link,
.main-menu .menu-list-item:hover .nav-link,
.main-menu .nav-text-sub:hover {
/*    font-weight: bold;*/
}

.img-contain {
    background-size: contain;
    background-repeat: no-repeat;
    background-position: center center;
}

.img-cover {
    background-size: cover;
}

.box-home-img {
    display: block;
    position: relative;
}

        .box-home-img:before{
            content: "";
            display: block;
            width: 100%;
            height: 30%;
            left: 0;
            bottom: 0;
            position: absolute;
            z-index: 0;
            background: linear-gradient(
                to top,
                rgba(0, 0, 0, 0.85),
                transparent
              );
            opacity: 0.4;
        }

        .box-home-img.no_caption:before{
            display: none !important;
        }

.img-md {
    height: 500px;
}

.img-xl {
    height: 900px;
}



.btn-ban {
    font-size: 13px;
    letter-spacing: 1.5px;
    height: 44px;
    border: 1px solid #fff;
    background-color: rgb(32 33 37);
    color: #fff;
    text-decoration: none !important;
    align-items: center;
    justify-content: center;
    padding: 0 28px;
    display: inline-flex;
    margin: 0;
    transition: all .3s ease;
    border-radius: 6px;
    text-transform: uppercase;
    min-width: 180px;
}

.btn-ban:hover {
    background-color: rgba(255, 255, 255, 1);
    border: 1px solid transparent;
    color: #202125;
}

.slide-content-1 .slide-heading,
.slide-content-1 .slide-subheading {
    color: #000;
}

.btn-primary-custom {
    letter-spacing: 1.5px;
    font-size: 13px;
    letter-spacing: 1.5px;
    height: 44px;
    background-color: black;
    color: white;
    text-decoration: none !important;
    align-items: center;
    justify-content: center;
    padding: 0 28px;
    display: inline-flex !important;
    margin: 0;
    transition: all .3s ease;
    text-transform: uppercase;
    min-width: 180px;
    border-radius: 6px;
    margin-top: 30px;
}

.btn-primary-custom.btn-vedi {
    min-width: auto;
    padding: 0 30px;
}

.btn-primary-custom:hover {
    background-color: white !important;
    border: 1px solid black;
    color: black !important;
}

.row>* {
    /*padding-right: 5px;
    padding-left: 5px;*/
}

.header-action{
    padding: 10px 20px;
    border-radius: 20px;
    background-color: #f1f1f1;
}

.box-home {
/*    height: 700px;*/
    display: block;
    position: relative;
}

.box-home-img img {
    /*    height: 700px;*/
    
    object-fit: cover;
    width: 100%;
    height: 100%;
}

.box-home,
.box-home-img img{
/*    height: 48vw;*/
}

@media (max-width: 576px) {

    .box-home{
        height: 63vw;
    }
    
}


.box-content {
    position: absolute;
    bottom: 36px;
    text-align: left;
    left: 44px;
    width: 90%;
}

.box-content h4 {
    color: #fff;
    width: 100%;
}

.trusted-section {
    background-color: #f7f7f7;
    padding: 64px 0;
}

.section-heading {
    text-transform: uppercase;
}

.collection-tab-inner {
    margin-top: 0;
}

.single-banner-content {
    max-width: 70%;
}

.bcover {
    display: block;
    position: relative;
    background-size: cover;
    background-position: center;
}

.h300 {
    height: 300px;
}

.h400 {
    height: 400px;
}

.main-menu .menu-list-item:hover .nav-link{
    font-weight: 500;
}

.toggle-password{
    cursor: pointer;
}

.btn-light {
    color: #000 !important;
    background-color: #e3e3e3 !important;
    border-color: #e3e3e3 !important;
}

.btn-light.active{
    background-color: var(--secondary-color) !important;
    border-color: var(--secondary-color) !important;
    color: #fff !important;
}

._wishlist_added{
    border-color: #e93c5e;
    background-color: #e93c5e;
    color: #fff;
}

._wishlist_added svg,
._wishlist_added svg path{
    fill: #fff;
}

.product-card-action-2 form{
    width: 48%;
}

    .product-card-action-2 form button{
        width: 100% !important;
    }

@media (max-width: 1199px) {

    .header-1 .main-menu > .menu-list-item {
        padding-left: 10px;         
        padding-right: 10px;         
    }

    .header-bottom > .container{
        max-width: 100%;
        width: 100%;
    }
    
}

@media (min-width: 1200px) {

    .main-menu{
        padding-right: 30px;    
    }

    .header-1 .main-menu > .menu-list-item{
        margin-left: 15px;  
    }

  /*  .header-action{
        position: absolute;
        top: -35px;
        margin-left: -110px;
    }*/

        .header-action .icon{
            width: 18px;
            height: 18px;
        }

        .header-action-item.ms-4{
            margin-left: 1rem !important;
        }

    .announcement-meta-wrapper{
        /*padding-right: 130px;*/
    }
    
}
 

@media (max-width: 1600px) {

    .slide-content{
        margin-left: 0;
    }
    
}


.announcement-login span{
    display: none;
}

.announcement-login{
    font-size: 17px !important;
}

.brand-logo-section .slick-slide a{
    position: relative;
    display: block;
    padding: 20px;
    height: 200px;

}

.brand-logo-section .slick-slide a span{
    width: 100%;
    left: 0;
    display: block;
    position: absolute;
    text-align: center;
    top: 50%;
    transform: translateY(-50%);
}

    .brand-logo-section .slick-slide a img{
        width: 100%;
        height: 100%;
        object-fit: contain;
    }

.text-primary{
/*    color: #66d9a7 !important;*/
}

.__services img{
    border-radius: 16px;
}

/*.product-price-wrapper del{
    color: red;
}
*/
.modal-header {
 /*   position: absolute;
    right: 0;
    margin-right: 0;
    z-index: 9999999999;*/
}

.credits_link {
    color: #38B5E6 !important;
    font-weight: 700;
    font-family: sans-serif;
}

.credits_link:hover {
    color: #fff !important;
}

.credits_link:before {
    content: "";
    vertical-align: middle;
    width: 16px;
    height: 16px;
    display: inline-block;
    margin-right: 5px;
    margin-left: 5px;
    background-image: url(https://www.clion.it/favicon-96x96.png);
    background-repeat: no-repeat;
    -webkit-background-size: contain;
    background-size: contain;
    background-position: center center;

    transition: all 450ms ease;
}

.credits_link:hover:before {
    transform: scale(1.5) rotateZ(360deg) rotateY(360deg);
}

.pre_footer a {
    display: inline-block;
    margin: 10px 20px;
    font-size: 14px;
    color: #fff;
    font-family: var(--heading-font-family);
}

p.h6{
    line-height: 1.5;
}

.__about video,
.__about .bg-light{
/*    border-radius: 10px;*/
    overflow: hidden;
}

.__about_gal a{
/*    padding-bottom: 60%;*/
    height: 200px;
    overflow: hidden;
    display: block;
/*    border-radius: 10px;*/
    position: relative;
     transition: all 250ms ease; 
}

.__about_gal a:hover{
    transform: scale(1.02) translateY(-5px);
    box-shadow: 0 18px 18px -8px #00000033;
}

    .__about_gal a img{
        position: absolute;
        left: 0;
        top: 0;
        object-fit: cover;
        width: 100%;
        height: 100%;
    }

.header-cart{
    position: relative;
}

.header-cart span{
    top: calc(0.25rem + 1em);
    left: calc(0.5rem + 1em);
    width: 1rem;
    height: 1rem;
    border-radius: 100%;
    background: #000;
    color: #ffffff;
    font-size: 0.625rem;
    line-height: 1rem;
    text-align: center;
    font-weight: 600;
}



@media (min-width: 992px) {

    .header-1 .main-menu > .menu-list-item {
        padding: 28px 12px;    
    }

    

    .megamenu-container>.nav-item-sub {
        width: 20%;
        padding: 0;
        padding-left: 40px;
        padding-top: 10px;
    }
      .account-page,
      .account-page.mt-100 {
        margin-top: 60px !important;
        padding-bottom: 60px;
    }

    ._slick_banner_centro .box-home{
/*        max-height: 30vh;*/
/*        aspect-ratio: 0.8;*/
    }

}

@media (max-width: 1224px) {

    .nav-link {    
      font-size: 15px;
    }

    
}

@media (max-width: 991px) {

    .header-top, .header-bottom {
        padding-top: 6px;
        padding-bottom: 0;         
    }

    .banner-img{
        height: 50vh;
        background-attachment: initial;
        background-position: right center;
    }

    .img-xl{
        height: 400px;
    }

    .filter-sort-wrapper{
        z-index: 9;
    }
    
}

@media screen and (max-width: 1440px) {}

@media screen and (max-width: 1024px) {}

@media screen and (max-width: 767px) {

     .news-slider-container .arrow-slider{
        display: none !important;
    }
	
 
    .open-submenu{
/*        width: 100%;*/
    }

    .collection.mt-100,
    .account-page.mt-100{
        margin-top: 30px !important;
    }

    .breadcrumb{
        /*display: none;*/
        overflow: hidden;
        height: 0;
        margin-top: 30px !important;
        padding: 0 !important;
    }

    .slide-content {
        margin-left: 0;
    }

    .slide-content {
        max-width: 90%;
    }

    .homeslide .slide-img {
/*        height: 50vh;*/
    }

    .product-card-img .hover-switch {
        height: 260px;
    }
}

.img-large-list.__single .img-large-wrapper{
    width: 100%;
}

@media screen and (max-width: 575px) {

    .product-card-img .hover-switch{
        height: 210px;
    }


}

@media screen and (max-width: 320px) {}

@media screen and (max-width: 900px) and (min-width: 600px) {}


#toast-container>.toast-success{
    background-color: #04a74d;
}

._zoomicon{
    position: absolute;
    right: 40px;
    top: 20px;
}

.pagination .active .link{
    color: #dd5a4f;
    text-decoration: underline;
}

.icon-wishlist.active path{
    fill: #dd5a4f;
}

.slick-list{
    padding-left: 0;
    padding-right: 0;
}

.area-officine, .area-vendita, .area-noleggio{
	/*margin-bottom: -60px;*/
}



.bannerHero{
	background-position: center;
	background-repeat: no-repeat;
	background-size: cover;
	display: flex;
	flex-direction: column;
	justify-content: center;
	align-items: center;
	min-height: 300px; /* Imposta un'altezza minima adeguata al tuo banner */
	text-align: center; /* Per centrare anche orizzontalmente il testo */
	padding: 30px;
	position: relative;
	/*border: 12px solid var(--colore-officine);*/
    background-color: transparent !important;
	border-radius: 8px;
	transition: all 0.4s ease;



	h2{
		color: #fff;
		font-weight: 300;
		/*text-shadow: 0px 0px 22px rgba(0, 0, 0, 1);*/
		margin-bottom: 15px;
		position: relative;
		z-index: 10;
		font-size: 30px;
        text-align: center; 
	}
	h4{
		color: #fff; 
		margin-bottom: 0;
		position: relative;
		z-index: 11;
		font-size: 18px;
		text-shadow: 0px 0px 22px rgba(0, 0, 0, 1);
	}
	&:before{
		content: '';
		display: block;
		background-color: #000;
		opacity: 0.4;
		position: absolute;
		z-index: 0;
		top: 0; right: 0; bottom: 0; left: 0;
         transition: all 350ms ease; 
	}
	&:hover{
		/*-ms-transform: scale(1.1, 1.1); 
		-webkit-transform: scale(1.1, 1.1);
		transform: scale(1.1, 1.1);*/
		/*z-index: 100;*/
		 
		h2, h4{
			/*-ms-transform: scale(1.1, 1.1); 
			-webkit-transform: scale(1.1, 1.1); 
			transform: scale(1.1, 1.1);*/
		}
	}
	&:hover:before{
		opacity: 0.6;
	}
}



.bannerHero{
    min-height: 0;
    aspect-ratio: 1.7;
    padding: 24px;
    border-radius: 0;
    transition: all 0.4s ease;
    overflow: hidden;
}

.col-md-6 .bannerHero{
    border-bottom-right-radius: 50px;
}

.bannerHero_horizontal{
    aspect-ratio: 3;
}

@media (max-width: 576px) {
   .bannerHero_horizontal{
        aspect-ratio: 2;
    }
  
}

    ._banner_content{
        max-width: 420px;
        left: 0;
        top: 0;
        padding: 35px;
        transition: all 350ms ease; 
        position: absolute;
        display: block;
        /*background: #ffffffff; */
        border-bottom-right-radius: 40px;
    }



.area-officine h2{
    font-size: 34px;
    line-height: 1;
    margin-bottom: 0;
}


    @media (min-width: 1224px) {

        ._banner_content{
            padding: 6%;
            max-width: 100%;
        }

        .area-officine h2{
            font-size: 50px;
        }
        
       

    }


.area-officine h4{
    padding-top: 35px;
    padding-right: 15px;
    font-size: 18px;
    font-weight: 600; 
    opacity: 0;
    transform: translateY(30px);    
    transition: all 350ms ease; 
}

.area-officine .bannerHero:hover h4{
    opacity: 1;
    transform: translateY(0px);    
}

._banner_text{
    max-width: 530px;
}

@media (min-width: 1224px) {
    ._banner_text h2{
        font-size:  40px;
    }
}
 

.bannerHero2{
	display: block;
	position: relative;
	padding: 36px;
	display: flex;
	flex-direction: column;
	justify-content: center;
	align-items: center;
	min-height: 300px; /* Imposta un'altezza minima adeguata al tuo banner */
	text-align: center; /* Per centrare anche orizzontalmente il testo */
	border-radius: 8px;
	/*background-color: var(--colore-vendita);*/
	h2{
		color: #000;
		font-weight: 300;
	}
	p{
		color: #000;
	}
	.product-card{
		margin-top: 0;
	}
	.slick-list,
	.card-body{
		background-color: #fff;
	}
}

.bannerHero2.boxA{
	background-position: center;
    background-repeat: no-repeat;
    background-size: cover;
    display: flex;
    flex-direction: column;
    justify-content: center;
    align-items: center;
    min-height: 300px;
    text-align: center;
    padding: 36px;
    position: relative;   
    border-radius: 8px;
    transition: all 0.4s ease;
	h2{
		color: #fff;
		font-weight: 700;
		text-shadow: 0px 0px 22px rgba(0, 0, 0, 1);
		margin-bottom: 15px;
		position: relative;
		z-index: 10;
		font-size: 24px;
	}
	h4{
		color: #fff; 
		margin-bottom: 0;
		position: relative;
		z-index: 11;
		font-size: 18px;
		text-shadow: 0px 0px 22px rgba(0, 0, 0, 1);
	}
	&:before{
		content: '';
		display: block;
		background-color: #000;
		opacity: 0.4;
		position: absolute;
		z-index: 0;
		top: 0; right: 0; bottom: 0; left: 0;
	}
	&:hover{
		z-index: 10;
		border-width: 0;
		padding: 45px;
		h2, h4{
		}
	}
	&:hover:before{
		opacity: 0.8;
	}
}

.bannerHero3{
	background-position: center;
	background-repeat: no-repeat;
	background-size: cover;
	display: flex !important;
	flex-direction: column;
	justify-content: center;
	align-items: center;
	min-height: 300px; /* Imposta un'altezza minima adeguata al tuo banner */
	text-align: center; /* Per centrare anche orizzontalmente il testo */
	padding: 36px;
	position: relative;
	
	border-radius: 8px;
	transition: all 0.4s ease;
	h2{
		color: #fff;
		font-weight: 700;
		text-shadow: 0px 0px 22px rgba(0, 0, 0, 1);
		margin-bottom: 15px;
		position: relative;
		z-index: 10;
		font-size: 2rem;
	}
	h4{
		color: #fff; 
		margin-bottom: 0;
		position: relative;
		z-index: 11;
		font-size: 18px;
		text-shadow: 0px 0px 22px rgba(0, 0, 0, 1);
	}
	&:before{
		content: '';
		display: block;
		background-color: #000;
		opacity: 0.4;
		position: absolute;
		z-index: 0;
		top: 0; right: 0; bottom: 0; left: 0;
	}
	&:hover{
		/*-ms-transform: scale(1.1, 1.1); 
		-webkit-transform: scale(1.1, 1.1);
		transform: scale(1.1, 1.1);*/
		z-index: 10;
		border-width: 0!important;
		padding: 45px !important;
		h2, h4{
			/*-ms-transform: scale(1.1, 1.1); 
			-webkit-transform: scale(1.1, 1.1); 
			transform: scale(1.1, 1.1);*/
		}
	}
	&:hover:before{
		opacity: 0.8;
	}
}

.headerTop{
	padding-top: 40px;
	padding-bottom: 40px;
	background-color: var(--secondary-color);
	h1{
		color: #fff;
	}
}
.headerTop.header_officine{
	background-color: var(--colore-officine);
}
.headerTop.header_vendita, 
.headerTop.header_catalogo, 
.headerTop.header_catalogo-auto{
	background-color: var(--colore-vendita);
}
.headerTop.header_noleggio{
	background-color: var(--colore-noleggio);
}
.justifyCenter{
	display: flex;
  justify-content: center;
  align-items: center;

}

.credits_link{
    color: #38B5E6 !important;
    font-weight: 700;
    font-family: sans-serif;
}

.credits_link:hover{
    color: #fff !important;
}

    .credits_link:before{
        content: "";
        vertical-align: middle;
        width:16px;
        height: 16px;
        display: inline-block;
        margin-right: 5px;
        margin-left: 5px;
        background-image: url(https://www.clion.it/favicon-96x96.png);
        background-repeat: no-repeat;
        -webkit-background-size: contain;
        background-size: contain;
        background-position: center center;

        transition: all 450ms ease;
    }

        .credits_link:hover:before{
            transform: scale(1.5) rotateZ(360deg) rotateY(360deg);
        }

.whatsapp_btn{
    position: fixed;
    z-index: 1000;
    display: inline-block;
    background-color: #27b43e;
    color: #fff !important;
    width: 50px;
    height: 50px;
    text-align: center;
    border-radius: 50px;
    font-size: 25px;
    line-height: 2; 
    bottom: 15px;
    right: 30px;
}

#scrollup{
    bottom: 90px;
}


@media (max-width: 575px) {

    #scrollup{
        width: 36px;
        height: 36px;
        bottom: 65px;
        right: 15px;
    }

    .whatsapp_btn{
        width: 36px;
        height: 36px;
        bottom: 15px;
        right: 15px;
        font-size: 18px;
    }
    
}

.slideshow-section .arrow-slider,
.featured-collection .arrow-slider,
.diesel-itmes-container .arrow-slider,
.carousel-container .arrow-slider {
    opacity: 1;
    visibility: visible;
}

._small .arrow-slider{
    transform: scale(0.8);
    top: 140px;
}

.slide_cars  .arrow-slider{
    mix-blend-mode: difference;
}

.news-slider-container .arrow-prev{
    left: -60px;
}


.news-slider-container .arrow-next{
    right: -60px;
}

@media screen and (max-width: 575px) {

   
        
    .slideshow-section .arrow-slider,
    .featured-collection .arrow-slider{
        transform: scale(0.6);
        top: 20%;
    }

}

.diesel-items .slick-slide{
    position: relative;
    padding-bottom: 30px;
    transform: scale(0.9);
}

    .diesel-items span{
        position: absolute;
        z-index: 0;
        bottom: 0;
        display: block;
        width: 100%;
        padding: 12px;
        text-align: center;
        background-color: var(--secondary-color);
        color: #fff;
    }

.bg-cover{
    background-size: cover;
}

.attachment-default{
    background-attachment: initial;
}

.brand-logo-section .arrow-slider{
    transform: scale(0.6);
    top: 44px;
}

.heading_72, .heading_48, .heading_42, .heading_34, .heading_24, .heading_18, .text_16, .text_14, .text_12,
h1, h2, h3, h4, h5, h6,
.section-heading,
._customfont{
    font-family: "Exo 2";
}

h1, h2{
    font-weight: 200;
}

.submenu-transform-desktop{
    transition: 0s;
}


    .header-bottom{
        z-index: 10;
    }

@media (max-width: 991px) {


    .submenu-transform-desktop{
        max-height: calc(100vh - 100px);
        overflow-x: hidden;
        overflow-y: auto;
        min-height: calc(100vh - 240px);
        border-top: 5px solid var(--secondary-color);
        box-shadow: 0 300px 0 0 #ffffff99;
    }

    

    .has-megamenu .submenu-transform{
        background-color: transparent;
    }

    .has-megamenu > .submenu-transform-desktop{
        background-color: #111;
    }

         .submenu-transform .menu_bg{
            width: 100%;
            height: 100%;
            object-fit: cover;
            position: absolute;
            pointer-events: none;
            opacity: 0.15;
        }

    .megamenu-container>.nav-item-sub{
        width: 100% !important;
    }

    .nav-item-sub .mega-menu-header{
        display: block;
    }

    .megamenu-heading{  
        font-size: 24px !important;
        text-transform: none !important;
        font-weight: 200 !important;   
        border-bottom: 1px solid transparent;
        padding-top: 10px;
        padding-bottom: 10px;
    }

    .nav-text-sub{
        color: #fff;
    }      

        .nav-item-sub ul{
            padding-left: 20px;
        } 

        .nav-item-sub ul .nav-item-sub{
            padding-top: 5px;
        }

    .megamenu-heading, .megamenu-heading:focus, .megamenu-heading:hover{
        color: #fff !important;
    }

    .megamenu-heading:hover{
        border-bottom: 1px solid #fff;
    }

    .main-menu > .menu-list-item:hover{
        background-color: #00000022;
    }

    .sticky-header:not(._header_scrolled) .main-menu > .menu-list-item:hover{
        background-color: transparent;
    }
}

.breadcrumb{
    margin-top: 0;
    padding-top: 36px;
    padding-bottom: 36px;
    background-color: #f2f2f2;
}

.header-1 .search-wrapper{
    top: 100%;
    border-top: 1px solid #00000033;
}

.announcement-bar{
    background-color: var(--primary-color);
    display: none;
}

.announcement-text, .announcement-text:hover, .announcement-text:focus, .currency-btn, .currency-list-option, .currency-list-option:hover{
    color: #000;
}

.icon-user path{
    fill: #000 !important;
}


.offcanvas-body .icon-user path {
    fill: #000 !important;
}

.main-menu .nav-link{
    font-weight: 400 !important;
    letter-spacing: 0px;
    text-transform: uppercase;
    font-size: 19px;
}

.img-menu-action:hover span,
.main-menu .menu-list-item.active .nav-link,
.main-menu .menu-list-item:hover .nav-link,
.main-menu  .nav-item-sub.active .nav-text-sub,
.main-menu .nav-text-sub:hover{
/*    color: #222;*/
    color: var(--secondary-color) !important;
/*    opacity: 0.5;*/
}
/*OFFICINE*/
.main-menu .menu-list-item.menu-officine.active .nav-link,
.main-menu .menu-list-item.menu-officine:hover .nav-link{
    color: var(--colore-officine) !important;
}

@media (min-width: 992px) {
    .main-menu .menu-list-item.menu-officine.active .icon, 
    .main-menu .menu-list-item.menu-officine:hover .icon {
        stroke: var(--colore-officine);
    }
    
    .menu-officine .submenu-transform {
        background: var(--colore-officine);
        
        & .nav-text-sub {
            color: #FFF!important;
            
            &:hover {
                opacity: 0.5;
            }
        }
    }
}

/**VENDITA*/
.main-menu .menu-list-item.menu-vendita.active .nav-link,
.main-menu .menu-list-item.menu-vendita:hover .nav-link{
    color: var(--colore-vendita) !important;
}

@media (min-width: 992px) {
    .main-menu .menu-list-item.menu-vendita.active .icon, 
	.main-menu .menu-list-item.menu-vendita:hover .icon {
        stroke: var(--colore-vendita);
    }
	.menu-vendita .submenu-transform {
        background: var(--colore-vendita);
		
        & .nav-text-sub {
            color: #FFF!important;
            
            &:hover {
                opacity: 0.5;
            }
        }
	}
}

/**NOLEGGIO*/
.main-menu .menu-list-item.menu-noleggio.active .nav-link,
.main-menu .menu-list-item.menu-noleggio:hover .nav-link{
    color: var(--colore-noleggio) !important;
}

@media (min-width: 992px) {
    .main-menu .menu-list-item.menu-noleggio.active .icon, 
	.main-menu .menu-list-item.menu-noleggio:hover .icon {
        stroke: var(--colore-noleggio);
    }
	.menu-noleggio .submenu-transform {
        background: var(--colore-noleggio);
		
        & .nav-text-sub {
            color: #FFF !important;
            
            &:hover {
                opacity: 0.5;
            }
        }
	}
}

.main-menu .menu-officine .nav-text-sub:hover,
.main-menu .menu-vendita .nav-text-sub:hover,
.main-menu .menu-noleggio .nav-text-sub:hover{

    color: #FFF !important;

}
.main-menu .menu-officine .active .nav-text-sub,
.main-menu .menu-vendita .active .nav-text-sub,
.main-menu .menu-noleggio .active .nav-text-sub{
    color: #FFF !important;
    opacity: 0.5;
}
.home__page .sticky-header:not(._header_scrolled) .nav-link,
.home__page .sticky-header:not(._header_scrolled) .nav-item:hover .nav-link{
    color: #fff !important;
}

.home__page .sticky-header .nav-item:hover .nav-link{
    opacity: 0.65;
}

.sticky-header{
    background-color: transparent;
    position: fixed;
    border-bottom: none;
    top: 0;
    transition: all 350ms ease; 
}

@media (max-width: 991px) {
 .sticky-header{
    top: 35px;
 }   
}

.sticky-header._header_scrolled{
    top: 0;
}

body:not(.index__page):not(.home__page) .sticky-header{
    background-color: #fff;
/*    background-color: var(--primary-color);*/
/*    background-color: #000;*/
    border-bottom: 1px solid #d9d9d9;
}

    .sticky-header:after{             
        content: "";
        display: block;
        width: 100%;
        height: 100%;
        left: 0;
        top: 0;
        position: absolute;
        z-index: 0;
        background-color: #fff;
        opacity: 1;          

        transform: scaleX(0);
        transform-origin: 0 0;
        transition: all 350ms ease; 
    }

    .sticky-header._header_scrolled:after{
        transform: scaleX(1);
    }


    .sticky-header .nav-link,
    .sticky-header .nav-item:hover .nav-link{
        color: #000;
    }

    .sticky-header._header_scrolled .nav-link,
    .sticky-header._header_scrolled .nav-item:hover .nav-link{
        color: #000;
    }

    .sticky-header path{
        fill: #000;
    }

    .sticky-header._header_scrolled path{
        fill: #000;
    }

    .sticky-header svg.icon-hamburger,
    .sticky-header svg.icon-dropdown {
        stroke: #000;
    }

    .sticky-header._header_scrolled svg.icon-hamburger,
    .sticky-header._header_scrolled svg.icon-dropdown {
        stroke: #000;
    }


.sticky-header._header_scrolled{
/*    background-color: #fff;*/
}

.header-logo{
    position: relative;
    display: inline-block;
	.logo-main{
		padding: 15px;
		& img {
			width: 160px;
		}
	}
}

.header-logo img{
    transition: all 350ms ease; 
}

.sticky-header._header_scrolled .header-logo img{
	width: 100px;    
}


    .header-logo:before{
        content: "";
        display: block;
        width: 50vw;
        height: 100%/*calc(100% + 10px)*/;
        right: -35px;
        top: -1px;
        position: absolute;
        z-index: -1;
        background-color: #fff;
        opacity: 1;
        transform: skew(-15deg);
        border-right: 3px solid var(--secondary-color);
        display: none;
    }


._slide_overlay{

}



    ._slide_overlay:before{
        content: "";
        display: block;
        width: 100%;
        height: 100%;
        left: 0;
        top: 0;
        position: absolute;
        z-index: 0;
        background-color: rgba(0,0,0,1);
        opacity: 0.3;
    }

    ._overlay_gradient:before{
        opacity: 1;
         background: linear-gradient(180deg, rgba(0, 0, 0, 0.9) 0%, rgba(0, 0, 0, 0.4) 30%);
    }

.arrow-slider svg{
    stroke: #fff;
}

.arrow-slider._dark svg{
    stroke: #000;
}

.elenco-taglie{
    position: absolute;
    background-color: #00000077;
    color: #fff;
    opacity: 0.7;

    
    border-top: 1px solid;
    border-right: 1px solid;
    border-bottom: 1px solid;
    border-color: #00000033;
    color: #000;
    background-color: #ffffffdd;
    opacity: 1;


    
    list-style-type: none;
    padding: 0;
    font-size: 10px;
    left: 0;
    bottom: 0;
    border-radius: 0 5px 5px 0;
}
/*
.product-card-img{
    padding-left: 25px;
}*/

.elenco-taglie ul,
.elenco-taglie li{
    margin-bottom: 0;
    list-style-type: none;
    padding: 0;
}

.elenco-taglie li{
    
    width: 25px;
    padding-top: 2px;
    padding-bottom: 2px;
    text-align: center;
    display: block;
}

.boxDivBorder{
    border: none;
    padding: 16px;
}

.slick-dots li.slick-active{
    width: 54px;
}

.slick-dots li{
    opacity: 0.3;
}

.slick-dots li.slick-active {
/*    background-color: #fff;*/
    background-color: var(--primary-color);
}



.slick-dots{
    bottom: -5px;
    background: #fff;
    padding: 15px;
    border-radius: 12px 12px 0 0;
}

.homeslide .dot-tools{
    display: none !important;
}

.arrow-slider{

}


@media (min-width: 992px) {

    .maserati_logo{
        position: absolute;
        right: -10px;
        top: 50px;
        z-index: 10;
        background-color: #fff;
        border-radius: 4px;
        padding: 16px 20px;
        box-shadow: 0 19px 15px -8px #00000055;
    }

    .about_img_1{
        position: absolute;
        left: 40px;        
        top: 0;
        width: 50vw;
        height: 100%;
    }
	.order-lg-1 .about_img_1{
		left: inherit;
        right: 40px;        
    }

        .about_img_1 img,
        .about_img_1 video{
            width: 100%;
            height: 100%;
            object-fit: cover;
        }

    .about_img_2{
        position: absolute;
        right: 40px;        
        top: 0;
        width: 50vw;
        height: 100%;
    }

        .about_img_2 img,
        .about_img_2 video{
            width: 100%;
            height: 100%;
            object-fit: cover;
        }

}

._servizi p{
    font-size: 15px;
}

.home__page .trusted-section{
    margin-top: 0 !important;
}

.filter-lists ul{
    list-style-type: none;
    padding-left: 10px;
}

.footer-menu-item a, .footer-text{
    opacity: 1;
}

@media (min-width: 1224px) {
    footer {
        padding-top: 120px;
        padding-bottom: 120px;
        background: url(../images/menu_bg.jpg);
        background-size: cover;
    }

    body:not(.home__page) footer{
/*        margin-top: 50px !important;*/
    }
}
 
._link_preventivo{
    margin-top: -30px;
}


._social a{
    display: inline-block;
    font-size: 26px;
    padding: 6px;
}

.social_fb{
    color: #249aff !important;
}

.social_ins{
    color: #e1306c !important;
}

._hero_banner{    
    transition: all 0.3s ease;
}


._hero_banner:hover{ 
    border: 4px solid #00000033;
}

    ._hero_banner .img_bg{
        opacity: 0.35;
        width: 100%;
        height: 100%;
        z-index: 0;
        position: absolute;
        object-fit: cover;
        left: 0;
        top: 0;
    }

._hover_arrow{
    opacity: 0.3;
}

h2 ._hover_arrow{
    margin-left: 15px;
    top: -4px;
    position: relative;
}

    a:hover ._hover_arrow{
        opacity: 1;
    }

._hero_banner.officine{
	border: none !important;
    background-color: #fff;
    /*box-shadow: rgba(50, 50, 93, 0.25) 0px -13px 27px -5px, rgba(0, 0, 0, 0.3) 0px -8px 16px -8px;*/
	/*background-color: var(--colore-officine) !important;*/
	padding-bottom: 10px !important;
	border-radius: 8px;    
	h2{
		color: #000; font-weight: 300;
        font-size: 30px;
	}
	p{
		color: #000;
        fwight: 600;
	}
	.marquee-container{
		background-color: #fff;
	}
}

@media (min-width: 1224px) {
    
    ._hero_banner.officine{
        max-width: 80%;
        margin-left: auto;
        margin-right: auto;
        margin-top: 30px;
        z-index: 130;
        position: relative;
        padding: 35px !important;    
        height: auto !important;
    }

}
 
.brandContainer {
	background-color: #ffffff !important;
	padding: 15px;
    mix-blend-mode: darken;
	
	.marquee-container {
		opacity: 1;
	}
	
	& .marquee-container:nth-child(3) {
		margin-bottom: 0;
	}
}

/* Common styles for both fades */
.brandContainer::before,
.brandContainer::after {
  content: "";
  position: absolute;
  top: 0;
  bottom: 0;
  width: 100px; /* Adjust width based on how "deep" you want the fade */
  z-index: 2;
  pointer-events: none; /* Allows users to click through the fade to items below */
}

/* Left Fade */
.brandContainer::before {
  left: 50px;
  background: linear-gradient(to right, white, rgba(255, 255, 255, 0));
}

@media (max-width: 576px) {
    .brandContainer::before {
        left: 46px;
    }    
}

/* Right Fade */
.brandContainer::after {
  right: 50px;
  background: linear-gradient(to left, white, rgba(255, 255, 255, 0));
}


@media (max-width: 576px) {
    .brandContainer::after {
        right: 46px;
    }    
}

.form-floating>.form-control, .form-floating>.form-control-plaintext,
.form-floating>.form-control:not(:placeholder-shown)
{
    padding: 1rem .75rem;
}

.form-floating>input{
    padding-top: 32px !important;
}

/**
 *
 * news
 *
 */

.article-card-img-wrapper{
    overflow: hidden;
    aspect-ratio: 1.5;
    border-radius: 8px;
}

    .article-card-img-wrapper img{
        object-fit: cover;
        width: 100%;
        height: 100%;
    }

.select2-container--bootstrap4 .select2-selection__clear{
    background-color: #003260;
    font-weight: 700;
/*    text-indent: 1px;*/
}


.slide_img_holder{
    display: block;
    aspect-ratio: 1.6;
    overflow: hidden;
    display: block;
    border-radius: 8px;
}

    .slide_img_holder img{
        width: 100%;
        height: 100%;
        object-fit: cover;

    }

.slick-dettaglio-nav .slide_img_holder{
    margin: 6px;
    border-radius: 4px;
    cursor: pointer;
}


.arrow_thumbs .arrow-slider{
    top: 50%;
    transform: translateY(-50%);
    visibility: visible;
    opacity: 1;
    width: 24px;
    text-align: center;
    background-color: #f2f2f2;
    border-radius: 50%;
    line-height: 1.4;
}


@media (max-width: 767px) {

    .slick-dettaglio-main{
        display: none;
    }
    
}

.shop_menu{
    border-top: 1px solid #00000022;
}

.shop_menu .nav-item-sub{
    position: relative;
}

.shop_menu .nav-link, .shop_menu .nav-item:hover .nav-link{
    color: #000;
    padding: 10px;
}

 .shop_menu .nav-item:hover .nav-link{
    text-decoration: underline;
 }

.shop_menu svg.icon-hamburger, .shop_menu svg.icon-dropdown{
    stroke: #000;
}

.shop_menu .open-submenu{
    line-height: 0;
}

.shop_menu .icon-dropdown{
    width: 14px;
    height: 14px;
}

.shop_menu .submenu-transform-desktop{
    overflow: initial !important;
    background-color: var(--primary-color);
    min-height: 0;
    box-shadow: none;
    border: none !important;
}



    .shop_menu .submenu-transform-desktop .open-submenu{
        position: absolute;
        right: 20px;
        top: 12px;
    }

        .shop_menu .submenu-transform-desktop .open-submenu svg.icon-dropdown{
            stroke: #fff;
            transform: rotateZ(-90deg);
        }

    .shop_menu .submenu-transform-desktop .submenu-transform-desktop{
        background-color: #fff;
        box-shadow: 0 0 0 1px #00000022 inset;
        opacity: 0;
        visibility: hidden;
        top: 0 !important;
        left: 100%;
    }
    

        .shop_menu .submenu-transform-desktop .submenu-transform-desktop .nav-text-sub{
            color: #000 !important;
        }

    .shop_menu .submenu-transform-desktop .menu-list-item:hover .submenu-transform-desktop {
        opacity: 1;
        visibility: visible; 
    }

        .shop_menu .submenu-transform-desktop > ul.submenu{
            padding-left: 0;
        }
    
.shop_menu .submenu-transform-desktop li:hover > a{
    opacity: 0.7;
}
       .marquee-container {
            pointer-events: none;
            mix-blend-mode: multiply;
            opacity: 0.5;
            width: 100%;
            overflow: hidden;
            white-space: nowrap;
            margin-bottom: 20px;
        }

        .marquee {
            display: inline-block;
            animation-iteration-count: infinite;
            animation-timing-function: linear;
        }

        .marquee img {
            height: 90px; /* Adjust as needed */
            margin: 0 10px; /* Adjust spacing */
            display:inline-block;
        }

        .left-scroll {
            animation-name: marquee-left;
            animation-duration: 120s; /* Default Slower Speed */
        }

        .right-scroll {
            animation-name: marquee-right;
            animation-duration: 140s; /* Default Slower Speed */
            padding-left: 100%; /* Start offscreen for right-scroll */
        }

        .marquee-container:nth-of-type(3) .left-scroll{
            animation-duration: 90s; /* Slightly faster for the third left-scroll */
        }

        @keyframes marquee-left {
            0% { transform: translateX(0%); }
            100% { transform: translateX(-100%); }
        }

        @keyframes marquee-right {
            0% { transform: translateX(-100%); }
            100% { transform: translateX(0%); }
        }


 
.cart-total-box{
    padding: 20px;
}
 
._coupon_code{
/*    font-size: 11px;*/
    font-weight: bold;
    border-style: dashed !important;
}

select.form-control{
   -webkit-appearance: auto;
    -moz-appearance: auto;
    appearance: auto;
}

.select2-container--bootstrap4 .select2-selection--single{
        height: 35px !important;
    font-size: 15px;
}

.select2-container--bootstrap4 .select2-results__option{
    font-size: 12px;
}

.common-form input.form-control, .common-form select.form-control{
    height: 34px;
}

.common-form [readonly]{
    background-color: #d5d5d596;
}


.acc-Desk{
    display: block;
}
.acc-Mob{
    display: none;
}
@media screen and (max-width: 991px) {
    .acc-Desk{
        display: none;
    }
    .acc-Mob{
        display: block;
    }
}

 
/* 
    Document   : no-more-tables
    Created on : 28/02/2012, 11:01:54 AM
    Author     : Simon Elvery
    Description:
        Demonstration of the responsive tables method described at by Chris Coyier
        at http://css-tricks.com/responsive-data-tables/
*/

@media only screen and (max-width: 800px) {
    
    /* Force table to not be like tables anymore */
    #no-more-tables table, 
    #no-more-tables thead, 
    #no-more-tables tbody, 
    #no-more-tables th, 
    #no-more-tables td, 
    #no-more-tables tr { 
        display: block; 
    }

    /* Hide table headers (but not display: none;, for accessibility) */
    #no-more-tables thead tr { 
        position: absolute;
        top: -9999px;
        left: -9999px;
    }

    #no-more-tables tr { border: 1px solid #ccc; }

    #no-more-tables td { 
        /* Behave  like a "row" */
        border: none;
        border-bottom: 1px solid #eee; 
        position: relative;
        padding-left: 43%; 
        white-space: normal;
        text-align:left;
    }

    #no-more-tables td:before { 
        /* Now like a table header */
        position: absolute;
        /* Top/left values mimic padding */
        top: 6px;
        left: 6px;
        width: 43%; 
        padding-right: 10px; 
        font-size: 12px;
        line-height: 11px;        
        text-align:left;
        font-weight: bold;
    }

    /*
    Label the data
    */
    #no-more-tables td:before { content: attr(data-title); }
}

.imgDemo {
    width: 100%;
    max-width: 100px;
}

input[type="checkbox"]{
    width: auto;
}

.form-control-sm{
        min-height: 36px;
}

._dettaglio_descrizione *{
    text-align: justify;
    font-size: 13px;
    font-weight: 400;
}

._dettaglio_descrizione * b,
._dettaglio_descrizione * strong{
    font-weight: 700;
}

.desc_img{
    display: block;
    width: 100%;
    aspect-ratio: 1;
    background-color: #f5f5f5;
    border-radius: 5px;
    overflow: hidden;
    box-shadow: rgba(0, 0, 0, 0.1) 0px 10px 15px -3px, rgba(0, 0, 0, 0.05) 0px 4px 6px -2px;
}

.desc_img img{
    width: 100%;
    height: 100%;
    object-fit: cover;
}

.form_search {
    position: relative;
}

input[name="coupon"]{
    max-width: 100%;
}

.account-page hr{
    opacity: 0.15;
}

.cart-item td{
    font-size: 13px; 
    font-weight: var(--body-font-weight);
    font-family: var(--body-font-family);
}

.cart-item td .product-price{
    font-weight: 900;
}


.g-recaptcha{
	width: 250px;
	-ms-transform: scale(0.8, 0.8) translate(-34px, -10px); /* IE 9 */
		-webkit-transform: scale(0.8, 0.8) translate(-34px, -10px); /* Safari */
		transform: scale(0.8, 0.8) translate(-34px, -10px);
}



@media screen and (max-width: 1440px) {

}
@media screen and (max-width: 1024px) {

}
@media screen and (max-width: 991px) {

}
@media screen and (max-width: 768px) {
	body:not(.home__page) #MainContent {
		padding-top: 0px;
	}
	.header-top, .header-bottom {
        padding-top: 3px;
    }
	.header-logo {
			.logo-main {
				padding: 5px;
				 img{
					width: 90px;
				}

			}
		}
	.sticky-header._header_scrolled .header-logo .logo-main {
				padding: 10px;
	}
	.sticky-header._header_scrolled .header-logo img {
		width: 70px;
	}
	#scrollup{
		display: none !important;
	}
}
@media screen and (max-width: 425px) {

}
@media screen and (max-width: 320px) {

}
@media screen and (min-width: 320px) and (max-width: 990px) {
  

}
/* Container principale - PUNTO DI RIFERIMENTO PER GLI ASSOLUTI */
._hero_container {
    background-color: #000;
    overflow: hidden;
    width: 100%;
    height: 85vh;
    position: relative; /* Necessario per i figli absolute */
}

._hero_container .row {
    display: flex;
    height: 100%;
    margin: 0;
}

/* Colonna singola */
._hero_col {
    position: relative; /* Teniamolo per gestire il posizionamento interno delle linee */
    overflow: hidden;
    height: 100%;
    transition: all 350ms ease; 
    cursor: pointer;
    display: flex;
    flex: 1;

    &:before{
        position: absolute;
        z-index: 10;
        content: "";
        display: block;
        width: calc(100% - 60px);
        height: calc(100% - 120px);
        left: 30px;
        top: 30px;
        pointer-events: none;
        border: 1px solid #000;
        transition: all 350ms ease; 
        opacity: 0.2;
        border-radius: 3px;
        display: none;
    }

    img, video{
         transition: all 350ms ease; 
    }
}
/* Stile per i link del dropdown */
._dropdown_officine {
    display: none; /* Nascosto di default */
    margin-top: 15px;
    z-index: 10;
}

._dropdown_officine a {
    display: block;
    color: #fff;
    text-decoration: none;
    padding: 8px;
    border-bottom: 1px solid rgba(255,255,255,0.1);
    font-size: 0.9rem;
    transition: all 0.2s;
    position: relative;

    &:after{
        width: 55px;
        height: calc(100% + 1px);
        background-color: #fff;
        content: "";
        position: absolute;
        left: 100%;
        top: 0;
        transform: translateX(100%);
        transition: all 0.2s;        
    }
}

._dropdown_officine a:hover {
    padding-left: 10px;
    color: #ff0000; /* O il colore del tuo brand */
    background: rgba(255,255,255,1);
    transform: translateX(10px);


    &:after{
        transform: translateX(0);

    }
}
/* --- LOGICA LINEE VERTICALI ANIMATE --- */

._vertical_title {
    position: absolute;
    left: 40px; /* Aumentato per far spazio alla linea */
    bottom: 40px;
    z-index: 3;
    color: #fff;
    font-size: 3rem;
    font-weight: 300;
    text-transform: uppercase;
    margin: 0;
    writing-mode: vertical-rl;
    transform: rotate(180deg);
    transition: all 0.5s ease;
    
}

/* Creazione della linea */
._vertical_title::before {
    content: "";
    position: absolute;
    top: 0;
    left: -15px; /* Posizionata a lato del testo */
    width: 4px;
    height: 0; /* Parte da zero */
    transition: all 350ms ease; 
}

/* Colori differenziati per colonna */
._hero_col:nth-child(1) ._vertical_title::before { background-color: #3eff8b; } /* Rosso */
._hero_col:nth-child(2) ._vertical_title::before { background-color: #ffffff; } /* Blu */
._hero_col:nth-child(3) ._vertical_title::before { background-color: #ff3e3e; } /* Verde */

/* Animazione linea all'hover */
._hero_col:hover ._vertical_title::before {
    height: 100%; /* La linea si allunga */
}

/* --- POSIZIONAMENTO CONTENUTO HOVER --- */

._hover_content {
    padding-right: 30px;
    padding-bottom: 35px;
    position: absolute;
    bottom: 40px;
    /* Se vuoi che si muova con la colonna, la colonna deve restare relative. 
       'right: 20px' qui si riferisce al bordo destro della colonna corrente.
    */
    right: 20px; 
    z-index: 4;
    color: #fff;
    opacity: 0;
    transform: translateY(30px); /* Parte leggermente da destra */
    transition: all 0.8s ease 0.2s;
    width: 350px;
    text-align: right;
    font-size:22px;
}

@media (max-width: 576px) {

    ._hover_content{
        width: 250px;
        padding-right: 5px;
        font-size: 17px;
    }

    ._vertical_title{
        top: 30px;
        bottom: auto;
        font-size: calc(100vh / 30);
    }
    
}

._hero_col:hover ._hover_content {
    opacity: 1;
    transform: translateY(0);
}

/* --- EFFETTI DI SFONDO (Migliorati) --- */

._hero_container ._hero_col  {
 
    img, video{
        filter: grayscale(0%) brightness(0.85);    
    }
     
}

._hero_container:hover ._hero_col {
    flex: 0.5; /* Non troppo piccolo per non rompere il layout */

    &:before{
        opacity: 0;
    }

    img, video{
        filter: grayscale(80%) brightness(0.3);        
    }


    ._vertical_title{
        opacity: 0;
    }
}

._hero_container ._hero_col:hover {
    flex: 3;

    &:before{
        opacity: 0.3;
    }

    img, video{
        filter: grayscale(0%) brightness(0.65);    
    }
    

     ._vertical_title{
        opacity: 1;
    }
}

/* Gestione per mobile via classe */
@media (max-width: 575.98px) {
	._hero_container .row{
		display: block;
	}
	
    /* Tutte le col tornano alla base se non espanse */
    ._hero_container ._hero_col {
        transition: flex 0.5s ease;
		
		display: block;
		flex: none;
		height: 33.3333%;
    }
    ._hero_container:hover ._hero_col {
		 flex: none; 
		height: 25%;
	}
	._hero_container ._hero_col:hover {
		 flex: none; 
		height: 50%;
	}
    /* La colonna espansa tramite JS */
    ._hero_container ._hero_col._is_expanded {
       /* flex: 3;*/height: 50%;
    }
}

/* Responsive */
@media (min-width: 1224px) {
    ._vertical_title{
        bottom: 120px;
    }

    ._hover_content {
        bottom: 80px;
    }
    ._vertical_title {
        left: 60px;
    }
}


/* Immagine di sfondo */
._hero_img_wrapper {
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    z-index: 1;
}

._hero_img_wrapper img,
._hero_img_wrapper video {
    width: 100%;
    height: 100%;
    object-fit: cover;
    transition: all 350ms ease; 
}

.btn_fake {
    display: inline-block;
    margin-top: 15px;
    padding: 8px 20px;
    border: 1px solid #fff;
    color: #fff;
    font-size: 0.8rem;
    letter-spacing: 2px;
    transition: all 350ms ease; 

    &:hover{
        color: #000;
        background-color: #fff;
    }
}

/* Il Widget Puntatore */
        #custom-cursor {
            position: fixed;
            top: 0;
            left: 0;
            width: 20px;
            height: 20px;
            background-color: rgba(185, 185, 185, 0.5);
            border-radius: 50%;
            pointer-events: none; /* Non interferisce con i click */
            z-index: 9999;
            transition: transform 0.2s ease, background-color 0.3s ease;
            transform: translate(-50%, -50%); /* Centra il cerchio sul punto */
        }

        /* Classe attiva durante l'hover */
        #custom-cursor.active {
            transform: translate(-50%, -50%) scale(1.3);
            background-color: rgba(0, 255, 150, 0.8);
            mix-blend-mode: difference; /* Effetto visivo interessante */
        }


@media (min-width: 1224px) {
    ._banner_sideimg{
        margin-top: 60px;
        margin-bottom: 60px;
        transform:  scale(0.92);  
        position: relative; 
        z-index: 130;   
        border-radius:  8px;
        box-shadow: rgba(50, 50, 93, 0.25) 0px 13px 27px -5px, rgba(0, 0, 0, 0.3) 0px 8px 16px -8px;
    }

    ._banner_text {
        position: relative;
        top: -60px;
    }
}


 /* 1. Base Button Setup */
.reveal-effect .btn-dark {
    display: inline-flex;
    align-items: center;
    overflow: hidden;
    white-space: nowrap;
    transition: all 0.4s cubic-bezier(0.25, 1, 0.5, 1);
    max-width: 130px; /* Adjust this to fit your "Scopri di più" text width */
}

/* 2. Initial Icon State (Hidden and tucked away) */
.reveal-effect .fa-angle-right {
    opacity: 0;
    margin-left: -10px; 
    transition: all 0.4s ease;
}

/* 3. Hover State: Enlarge Button and Reveal Chevron */
.reveal-effect:hover .btn-dark {
    max-width: 200px; /* Sufficient width to show the arrow */
    padding-right: 1.5rem; /* Adds the extra space you requested */
}

.reveal-effect:hover .fa-angle-right {
    opacity: 1;
    margin-left: 10px; /* Pushes away from text */
}


@media (max-width: 576px) {
    ._hero_banner.officine h2 {     
        font-size: 24px;
    }
}
