/* General box styling */
.toggle-box {
    border: 3px solid black;
    margin: 0 1em;
    padding: 1em;
    box-sizing: border-box;
    height: 5em;
    flex: 1;
    max-width: calc(25% - 2em);
    transition: all 0.3s ease;
    font-size: 2em;
}

/* Hover effect - Gray tint and glow */
.toggle-box:hover {
    background-color: rgba(169, 169, 169, 0.5); /* Light gray background */
    box-shadow: 0 0 10px rgba(169, 169, 169, 0.8);
}

/* Click effect - Black background, white text, and glow */
.toggle-box:active {
    background-color: black;
    color: white;
    box-shadow: 0 0 15px rgba(0, 0, 0, 0.8); /* Stronger glow when clicked */
}

/* Optional: Focus effect for accessibility (if the user clicks using keyboard) */
.toggle-box:focus {
    outline: none; /* Remove default outline */
    box-shadow: 0 0 10px rgba(0, 0, 0, 0.8); /* Glow on focus */
}

.toggle-box.active {
    background: #1b2124;
    color: #fff;
}

.swiper.inverse-swiper2 {
    transform: translateX(-21%);
}


/* Add caret icon to the collapse button */
a[data-toggle="collapse"]::after {
    content: '\002B'; /* Unicode for plus sign (+) */
    margin-left: 10px;
    font-size: 18px; /* Adjust size */
}

/* When collapsed (menu closed), show a plus sign */
a[data-toggle="collapse"].collapsed::after {
    content: '\002B'; /* Plus sign */
}

/* When expanded (menu open), show a minus sign */
a[data-toggle="collapse"]:not(.collapsed)::after {
    content: '\2212'; /* Minus sign */
}

.nav-bar-sub-child {
    padding-left: 10px;

    li a {
        /*font-size: 1.2rem;*/
        font-size: 1.4rem;
    }
}

.slider1-img-box {
    /*border-radius: 1.6rem;*/
    overflow: hidden;
}

.home-page .slider1-img-box {
    /*border-radius: 1.6rem;*/
    overflow: hidden;
    width: 100%;
    height: 58rem;
    max-width: 63rem;
    margin-right: auto;
    margin-left: auto;

    img.img-fluid{
        height: 100%;
        width: 100%;
        object-fit: cover;
        display: block;
    }
}

.landing-section {
    .ProdottiCarousel_main__NP1_zX {
        float: right;
        margin-bottom: 3em;
        width: 75em;
        position: relative;
        z-index: 999;
    }

    .toggle-box {
        max-width: 100%;
    }

}

.slider2-section.single-slide .swiper-wrapper-full-width {
    margin-left: calc(30% - 52vw) !important;
}

.block-categorie-in-evidenza-section {
    /*margin-top: 10em;*/
}

.swiper-wrapper-full-width {
    margin-left: 19em;
}

.swiper-wrapper-full-width-all {
    margin-left: calc(30% - 40vw);

}

.swiper-wrapper-full-width {
    width: 120%;
    /*margin-left: calc(30% - 40vw);*/
}


.swiper-wrapper-full-width.e2e {
    width: 140%;
    margin-left: unset !important;
}


.projects-page {
  .Tab_item__yO0Sx{
      width: 13em;
      height: 4em;
  }
}


.slider2-section {
    .ProdottiCarousel_main__NP1_zX {
        margin: 0 0px 5em 25.5em;
    }

}

.slider2-section {
    .inverse-fws-row .ProdottiCarousel_main__NP1_zX {
        margin: 0 12.5em 5em 0;
        float: right;
    }
}

.single-only-slide {
    .ProdottiCarousel_layout__W2KYA > :not(:last-child) {
        margin-bottom: 6.2rem;
    }

    swiper-container {
        margin-bottom: 12em;
    }
    swiper-container.has-desc {
        margin-bottom: 7em;
    }
}

.black-section{
    background: #1b2124;
    color: #fff;
    .ProdottiCarousel_title__gCNQC, .ProdottiCarousel_title__gCNQCX, .ProdottoCarouselCard_root__8ln0F{
        color: #fff !important;
    }
    .swiper-button-next:after, .swiper-button-prev:after{
        content: url('data:image/svg+xml,<svg width="64" height="24" viewBox="0 0 65 24" fill="none" xmlns="http://www.w3.org/2000/svg"><path d="M1 12H40M40 12L27 5M40 12L27 19" stroke="white" stroke-linecap="round" stroke-linejoin="round"/></svg>');
    }
    .Table_table__lDfp1:after, .Table_table__lDfp1:before{
        background: unset !important;
    }
    .Table_table__lDfp1 td{
        background: #1b2124;
        color: white;
    }
    .Table_table__lDfp1{
        background: #353535;
        color: white;
    }
    .ProgettoDetailSection_itemLabel__5ZugD{
        color: #d0d5df;
    }
}

.accordion .single_row::before, .accordion .single_row:last-child::after {
    content: "";
    height: 1px;
    background-color: rgb(144, 144, 144);
    opacity: 0.4;
    width: 100%;
    position: absolute;
}

.accordion .single_row::before {
    top: 0px;
}

.accordion .single_row {
    position: relative;
    padding: 10px 0px;
    margin: 4em 0 2em;
}

.accordion .single_row .row_title.row_opener {
    cursor: pointer;
    position: relative;
}

.accordion .single_row .row_title {
    padding: 10px 0px;
}

.accordion .single_row .row_content {
    opacity: 1;
    transition: 0.5s cubic-bezier(0.76, 0.35, 0.35, 0.71) 0.1s;
    overflow: hidden;
}

.flex.wrap {
    flex-wrap: wrap;
}

.flex {
    display: flex;
}

.accordion .single_finitura {
    margin-right: calc(20px + 2vw);
    margin-bottom: 10px;
    padding: 20px 0px 10px;
}

.single_finitura {
    display: inline-block;
    margin-right: 25px;
    margin-bottom: 25px;
    text-align: center;
    width: 75px;
    vertical-align: top;
}

.single_finitura .img_container {
    width: 55px;
    border-radius: 50%;
    overflow: hidden;
    margin: 0px auto calc(10px + 0.5vw);
}

.font_small, .font_small p, .text .font_small {
    font-size: calc(11px + 0.2vw);
    line-height: calc(15px + 0.2vw);
}

.c_grey, .c_grey a {
    color: rgb(144, 144, 144);
}

.imgp::before {
    content: "";
    display: block;
    /*padding-top: 100%;*/
}

img.lazy.lazy_loaded, img.lazy.swiper-lazy-loaded, img.swiper-lazy.lazy_loaded, img.swiper-lazy.swiper-lazy-loaded {
    opacity: 1;
}

img.lazy, img.swiper-lazy {
    opacity: 0;
    transition: opacity 0.2s cubic-bezier(0.49, 0.14, 0.54, 0.9);
}

.img_container > img {
    width: 100%;
    height: 100%;
}

.preload img {
    opacity: 1;
}

.c_white {
    color: #fff;
}

.ProdottoCard_root__n6giZX {
    margin: 2em;
    margin-bottom: 24px;
    .ProdottoCard_imageBox__DYgWO{
        transition: transform 0.6s ease, box-shadow 0.3s ease;
    }
}
a.ProdottoCard_root__n6giZ .ProdottoCard_imageBox__DYgWO {
    transition: transform 0.3s ease, box-shadow 0.3s ease;
}
.ProdottoCard_imageBox__DYgWO:hover, .ProdottoCard_root__n6giZ:hover {
  transform: scale(1.02); /* Slightly enlarge on hover */
  /*box-shadow: 0px 4px 12px rgba(0, 0, 0, 0.1);*/
}

.masonry{
    .ProdottoCard_imageBox__DYgWO img{
        position: unset;
    }
    .ProdottoCard_imageBox__DYgWO{
        padding-bottom: unset;
        width: 37em;
    }
    .swiper-button-next{
        margin-left: unset !important;
        align-self: center;
    }
}

.WContainer_root__lrggZ{
    margin-top: 7em;
}

.Hero_mediaBox__fUiku{
    height: clamp(70em, calc(59em + 19vw), 101em);
/*    height: clamp(70em, calc(55em + 17vw), 88em);*/
}

.text-image{
    position: absolute;
    bottom: 0;
    padding-top: 23px;
    padding-left: 20px;
    padding-right: 20px;
    padding-bottom: 23px;
    margin-bottom: unset;
    left: 1.5em;
    background-color: #fff;
    color: #000;
    /* background-color: rgba(0, 0, 0, 0.5); */
    /* color: white; */
    width: 6.5em;
    /* height: 1.23em; */
    font-size: 69px;
    margin-left: auto;
    font-weight: 100;
    margin-right: auto;
    z-index: 3;
}

.Listing_root__nfmsz {
    padding: 6.2rem 0 13.2rem;
}

.the-factory{
    position: absolute;
    top: 0;
    left: 0;
    background: linear-gradient(135deg, rgba(0, 0, 0, 0.85) 0%, rgba(0, 0, 0, 0.3) 50%, rgba(0, 0, 0, 0) 100%);
    backdrop-filter: blur(6px);
    color: white;
    inline-size: min-content;
    line-height: 77px;
    font-weight: 600;
    font-family: Nunito Sans;
    text-transform: uppercase;
    font-size: 7rem;
    padding: 2rem 3rem;
    z-index: 2;
    display: inline-block;
    border-bottom-right-radius: 1rem;
}

/*:not(.no_preload) > img {
    opacity: 0;
    transition: opacity 0.2s cubic-bezier(0.76, 0.35, 0.35, 0.71);
}*/

/* Tablet styles */
@media (max-width: 1650px) {
    .swiper-wrapper.swiper-wrapper-full-width.e2e{
        margin-left: calc(30% - 32vw) !important;
    }
}

/* Tablet styles */
@media (max-width: 1180px) {
    .swiper-button-prev {
        margin-left: calc(50% - 16.4rem);
        margin-right: 12em;
    }

    .swiper-button-next {
        margin-left: 12em;
    }

    .single-only-slide {
        swiper-container {
            margin-bottom: 9em;
        }
        swiper-container.has-desc {
            margin-bottom: 5em;
        }
    }
    .text-image {
        left: 2em;
    }
}

/* Tablet styles */
@media (max-width: 1483px) {
    .text-image {
        left: 2em;
    }
}

/* Tablet styles */
@media (max-width: 1400px) {
    .Hero_mediaBox__fUiku {
        height: 70em;
    }
    .slider1-img-box img.img-fluid {
        max-width: 100% !important;
    }
    .swiper-arrows {
        .swiper-button-prev {
            margin-left: calc(50% - 11.4rem);
        }
    }
    .swiper-button-next {
        margin-left: 3em;
    }
    .ProdottiCarousel_title__gCNQC2 {
        font-size: 38px;
        line-height: 4.125rem;
    }

    .ProdottiCarousel_title__gCNQC, .ProdottiCarousel_title__gCNQCX {
        font-size: 34px;
    }

}

/* Tablet styles */
@media (max-width: 1050px) {
    .swiper-button-prev {
        margin-left: calc(50% - 7.4rem);
        margin-right: 9em;
    }

    .swiper-button-next {
        margin-left: 0em;
    }

    .single-only-slide {
        swiper-container {
            margin-bottom: 6em;
        }
        swiper-container.has-desc {
            margin-bottom: 4em;
        }
    }

    .ProdottiCarousel_slider__8Iz1c .swiper {
        padding: 0 5.4rem;
    }

    .swiper-wrapper.swiper-wrapper-full-width.e2e{
        margin-left: calc(30% - 31vw) !important;
    }

    .slidersSld {
        .swiper-wrapper-full-width{
            margin-left: 10em;
        }
        .ProdottiCarousel_main__NP1_zX {
            margin: 0 0px 5em 12.5em;
        }
    }
    .the-factory{
        line-height: 62px;
        font-size: 5rem;
    }

    .the-factory-col{
        margin-left: unset !important;
        padding: unset !important;
    }
}


/* Tablet styles */
@media (max-width: 910px) {
    .swiper-button-prev {
        margin-left: calc(50% - 8.4rem);
        margin-right: 9em;
    }

    .swiper-button-next {
        margin-left: 2em;
    }

    .single-only-slide {
        swiper-container {
            margin-bottom: 3em;
        }
        swiper-container.has-desc {
            margin-bottom: 4em;
        }
    }

    .ProdottiCarousel_slider__8Iz1c .swiper {
        padding: 0 2.4rem;
    }

    .text-swiper-col {
        margin-top: unset !important;
    }

    .Slider_content__xhMEZ {
        margin-left: auto !important;
        margin-right: auto !important;;
    }
}

/* Mobile styles */
@media (max-width: 768px) {
    .swiper.swiper2 {
        transform: none;
    }

    .swiper-button-prev {
        margin-left: calc(50% - 14.4rem);
        margin-right: 9em;
    }

    .swiper-button-next {
        margin-left: 9em;
    }

    .single-only-slide {
        swiper-container {
            margin-bottom: 0;
        }
        .order-2{
            margin-top: 4em;
        }
    }

    .text-swiper-col {
        margin-top: 4em !important;
    }

    .swiper-wrapper-full-width {
        margin-left: -3em !important;
    }
    .text-image {
        left: 2em;
    }
    .Hero_mediaBox__fUiku {
        height: 80em;
    }

    .inverse-fws-row .textsSld{
        order: 1;
    }

    .inverse-fws-row .slidersSld{
        order: 2;
    }

    .order-1{
        order: 1;
    }

    .order-2{
        order: 2;
    }

    .quote-icon {
        font-size: 80px;
    }

    .expertise-quote {
        font-size: 1.3rem;
    }
}

@media screen and (max-width: 575px) {
    .ProdottoCard_root__n6giZX {
        display: flex;
        align-items: center;
        gap: 1.6rem
    }

    .site-banner {
        font-size:10px !important;
    }

    .ProdottoCard_root__n6giZX > * {
        width: calc(50% - .8rem)
    }
    .Hero_mediaBox__fUiku {
        height: 65em;
    }
    .ProdottiCarousel_title__gCNQC2{
        width:7em;
    }
    .ProdottoCarouselCard_title__1vEZA {
        font-size: 2.2rem;
    }
    .Tab_root--sm__UexMT .Tab_item__yO0Sx {
        font-size: 11px;
    }
    .the-factory{
        line-height: 55px;
        font-size: 4rem;
    }

    .swiper-arrows {
        margin-top: 0em;
        margin-bottom: 4em;
    }
}

/* Mobile styles */
@media (max-width: 470px) {
    .swiper-button-prev {
        margin-left: calc(50% - 14.4rem);
        margin-right: 9em;
    }
    a.Button_root__qe4Gk.Button_root--secondary__3u5kC.Button_root--icon-right__nAakz {
        margin-top: 15px;
    }
    .invertedSwipe swiper-container.imageSwiper.swiper-wrapper {
        margin: 25px 0px;
    }
    .swiper-button-next {
        margin-left: 9em;
    }
    .ProdottiCarousel_title__gCNQC2 {
        width: 5em;
        font-size: 49px;
    }
    .text-image {
        left: 0.9em;
    }
    .WContainer_root__lrggZ{
        margin-top: 4em;
    }
}

.site-banner a{
    text-decoration: none;
    border-radius: 3px;
    margin-left: 10px;
    text-decoration: underline;
}

.site-banner {
    font-size: 19px;
}

.site-banner a:hover {
    background-color: #005177;
}


.quote-section {
    text-align: center;
    padding: 60px 20px;
    max-width: 1000px;
    margin: 0 auto;
    position: relative;
}

.quote-icon {
    font-size: 120px;
    color: rgba(52, 152, 219, 0.2);
    line-height: 0;
    margin-bottom: 30px;
    font-family: Georgia, serif;
}

.expertise-quote {
    font-size: 3.6rem;
    line-height: 2;
    color: #2c3e50;
    font-weight: 300;
    /* font-style: italic; */
    margin: 0 0 30px 0;
    border: none;
}

.quote-attribution {
    font-size: 1.2rem;
    color: #34495e;
    font-weight: 500;
    letter-spacing: 1px;
    text-transform: uppercase;
}
