﻿/* Font Thin - 100 (il più leggero possibile) */
@font-face {
    font-family: 'Helvetica Neue LT Std';
    src: url('../fonts/helveticaneueltstd-th.otf') format('opentype');
    font-weight: 100;
    font-style: normal;
}



/* Font Extra Light - 200 */
@font-face {
    font-family: 'Helvetica Neue LT Std';
    src: url('../fonts/helveticaneueltstd-ultlt.otf') format('opentype');
    font-weight: 200;
    font-style: normal;
}

/* Font Light - 300 */
@font-face {
    font-family: 'Helvetica Neue LT Std';
    src: url('../fonts/helveticaneueltstd-lt.otf') format('opentype');
    font-weight: 300;
    font-style: normal;
}

/* Font Regular - 400 */
@font-face {
    font-family: 'Helvetica Neue LT Std';
    src: url('../fonts/helveticaneueltstd-roman.otf') format('opentype');
    font-weight: 400;
    font-style: normal;
}

/* Font Medium - 500 */
@font-face {
    font-family: 'Helvetica Neue LT Std';
    src: url('../fonts/helveticaneueltstd-md.otf') format('opentype');
    font-weight: 500;
    font-style: normal;
}

/* Font Bold - 700 */
@font-face {
    font-family: 'Helvetica Neue LT Std';
    src: url('../fonts/helveticaneueltstd-bd.otf') format('opentype');
    font-weight: 700;
    font-style: normal;
}

/* Font Black - 900 (quello che stai usando ora) */
@font-face {
    font-family: 'Helvetica Neue LT Std';
    src: url('../fonts/helveticaneueltstd-blk.otf') format('opentype');
    font-weight: 900;
    font-style: normal;
}

@media (min-width: 992px) {
    .h-lg-100 {
        height: 100% !important;
    }

    .valori-aziendali .valore-item.is-active .title,
    .valori-aziendali .valore-item.is-active .text {
        color: #052f48;
    }
}

/* Utility: Skip link per accessibilità */
.skip-link {
    position: absolute;
    top: -40px;
    left: 0;
    background: #000;
    color: #fff;
    padding: 8px;
    z-index: 10000;
    text-decoration: none;
}

    .skip-link:focus {
        top: 0;
    }

/* Screen Reader Only - per label e contenuti accessibili */
.sr-only {
    position: absolute;
    width: 1px;
    height: 1px;
    padding: 0;
    margin: -1px;
    overflow: hidden;
    clip: rect(0, 0, 0, 0);
    white-space: nowrap;
    border-width: 0;
}

html, body {
    font-family: 'Helvetica Neue LT Std', sans-serif !important;
    color: #666 !important;
}

body {
    background: #eeefef;
}

h1, h2, h3, h4, h5, h6 {
    font-weight: 300;
}

.en-hero__content h1 {
    /*font-weight: 400;*/
    font-size: 85px;
    font-weight: 500;
    line-height: 78px;
    margin-bottom: 30px;
}

.en-hero__content p {
    font-size: 25px;
    line-height: 30px;
}


.sub-title {
    font-weight: 400;
}

body, h1, h2, h3, h4, h5, h6, span, p, a, div {
    color: rgb(5,47,72)
}

a {
    text-decoration: none
}

    a:hover {
        color: #679cbb
    }

.hamburgher-menu-icon {
    color: white;
}



.en-hero {
    background: #111;
    min-height: 520px;
}

    .en-hero * {
        color: white !important;
    }

.en-hero__bg {
    position: absolute;
    inset: 0;
    width: 100%;
    height: 100%;
    object-fit: cover;
    filter: saturate(1.05);
}

.en-hero__overlay {
    position: absolute;
    inset: 0;
    /*	background: linear-gradient(90deg, rgba(0,0,0,.78) 0%, rgba(0,0,0,.35) 55%, rgba(0,0,0,.15) 100%);*/
   /* background: linear-gradient(358deg, rgb(0 0 0) 0%, rgb(0 0 0 / 6%) 55%, rgba(0, 0, 0, .15) 100%);*/
}

.mamba-3 .en-hero__overlay {
    background: linear-gradient(358deg, rgb(0 0 0) 0%, rgb(0 0 0 / 6%) 55%, rgba(0, 0, 0, .15) 100%);
}

/*.en-hero__content {
	max-width: 720px;
}*/

/*.en-hero__content h1 {
    font-size: 60px;
}
*/


.en-hero__kicker {
    letter-spacing: .16em;
    text-transform: uppercase;
    font-size: .85rem;
    opacity: .9;
}









/* Header sticky + fullscreen menu */
.en-header {
    position: absolute; /*fixed per sticky*/
    top: 0;
    left: 0;
    right: 0;
    z-index: 1045;
    padding: 1rem 0;
    background: transparent;
    transition: background-color .2s ease, box-shadow .2s ease, padding .2s ease;
}

.en-header__bar {
    display: flex;
    align-items: center;
    justify-content: space-between;
}

.en-header__logo {
    display: inline-flex;
    align-items: center;
    gap: .75rem;
    text-decoration: none;
    color: #fff;
    position: relative;
}

    .en-header__logo img {
        height: 65px;
        width: auto;
        display: block;
        transition: opacity .2s ease;
    }

.header-logo-light {
    opacity: 1;
}

.header-logo-dark {
    opacity: 0;
    position: absolute;
    pointer-events: none;
}

.en-header--scrolled .header-logo-light {
    opacity: 0;
    position: absolute;
    pointer-events: none;
}

.en-header--scrolled .header-logo-dark {
    opacity: 1;
    position: static;
    pointer-events: auto;
}

.en-header__logo-text {
    font-weight: 700;
    letter-spacing: .06em;
    text-transform: uppercase;
}

.en-header__burger {
    appearance: none;
    background: transparent;
    border: 0;
    padding: .25rem;
    color: inherit;
    position: relative;
}

    .en-header__burger::before {
        content: "━━";
        position: absolute;
        right: 100%;
        top: 49%;
        transform: translateY(-50%);
        color: #fff;
        font-size: 1.2rem;
        line-height: 1;
        margin-right: .5rem;
        transition: color .2s ease;
    }

.hamburgher-menu-icon {
    font-size: 18px;
    color: #fff;
    transition: color .2s ease;
}

.en-header--scrolled .hamburgher-menu-icon {
    color: #222;
}

.en-burger {
    display: inline-block;
    width: 28px;
    height: 2px;
    background: #fff;
    position: relative;
    transition: background-color .2s ease;
}

    .en-burger::before,
    .en-burger::after {
        content: "";
        position: absolute;
        left: 0;
        width: 28px;
        height: 2px;
        background: #fff;
    }

    .en-burger::before {
        top: -9px;
    }

    .en-burger::after {
        top: 9px;
    }

.en-header--scrolled {
    padding: .6rem 0;
    background: rgba(255,255,255,.92);
    backdrop-filter: blur(10px);
    box-shadow: 0 12px 30px rgba(0,0,0,.10);
}

    .en-header--scrolled .en-header__logo {
        color: #222;
    }

    .en-header--scrolled .en-header__burger::before {
        color: #222;
    }

    .en-header--scrolled .en-burger,
    .en-header--scrolled .en-burger::before,
    .en-header--scrolled .en-burger::after {
        background: #222;
    }

.en-offcanvas {
    width: 100vw;
    border: 0;
    background: url(/web/img/Attico_Living.jpg);
    background-position: center;
    background-size: cover;
    color: #fff;
}

/* overlay sopra l'immagine di sfondo dell'offcanvas */
.en-offcanvas-overlay {
    position: absolute;
    inset: 0;
    background-color: #000410ed !important;
    pointer-events: none;
    z-index: 0;
}

.en-offcanvas .offcanvas-header,
.en-offcanvas .offcanvas-body {
    position: relative;
    z-index: 1;
}

.en-offcanvas .offcanvas-header {
    padding: 1.5rem 1.5rem 0 1.5rem;
}

.en-offcanvas .offcanvas-body {
    padding: 2rem 1.5rem;
}

.en-offcanvas__top {
    width: 100%;
    display: flex;
    align-items: center;
    justify-content: space-between;
}

.en-offcanvas__brand img {
    height: 65px;
    width: auto;
    display: block;
}

/*.en-offcanvas__nav {
    max-width: 720px;
}*/

.en-menu__item + .en-menu__item {
    margin-top: -3px;
}

/*.en-menu__item {
	display: flex;
}*/

.en-menu__link {
    display: inline-block;
    /*	padding: .75rem 0;*/
    font-size: clamp(1.25rem, 2.2vw, 2rem);
    font-weight: 100;
    /*	color: #fff;*/
    color: #808382;
    text-decoration: none;
    line-height: 1.1;
    /*text-transform: uppercase;*/
    font-size: 65px;
}



    .en-menu__link.active,
    .en-menu__link:hover,
    .en-menu__link:focus {
        color: white;
    }

/*.en-menu__link:before {
		content: '›';
		padding-right: 5px;
	}*/

.p-menu {
    font-size: 20px;
    color: #ffffff9c;
    padding-top: 80px;
    font-weight: 100;
    letter-spacing: 1px;
}

.p-menu-info {
    font-size: 25px;
    color: white;
}

.menu-icon {
    padding-right: 9px;
    /*padding-left: 5px;*/
    font-size: 30px;
}

.offcanvas-body .menu-icon {
    color: white !important;
}

.slider-box-proj {
    padding: 25px;
    background: #080c27b8 !important;
    color: white;
}

    .slider-box-proj p {
        font-size: 22px;
        padding-top: 15px;
    }

    .slider-box-proj a {
        font-size: 18px;
        padding-top: 15px;
        color: white;
        text-decoration: none;
    }

        .slider-box-proj a:hover {
            color: rgba(255,255,255,.75);
        }

.big-padding {
    padding: 100px 30px;
}



.text-section .sub-title {
    margin-bottom: 10px;
    font-size: 18px;
    display: block;
}

.text-section h3 {
    font-size: 35px;
    line-height: 38px;
}



.text-section .cta {
    text-align: right;
    font-size: 20px;
    font-weight: 500;
    padding-top: 25px;
}

.home-img {
    height: 700px;
    width: 100%;
    object-fit: cover;
    object-position: center;
}



.footer-text {
    font-size: 20px !important;
}

.p-footer-info {
    font-size: 18px
}

.white-hr {
    height: 2px;
    color: white !important;
    opacity: 1;
}

.image-separator-section {
    opacity: 0.3
}

@media(min-width:1200px) {
    .team__item.selected .team__image {
        aspect-ratio: 3/4;
        transition: ease-in 0.1s;
        height: 650px !important;
    }
}

@media(min-width:991px) {

    .team__detail-intro {
        display: flex;
        align-items: center;
    }

    .img-sing {
        width: 290px;
    }

    .mobile-padding {
        padding-top: 90px
    }

    .text-section .text {
        font-size: 20px;
        padding-top: 20px;
        line-height: 26px;
    }

    .big-padding-top {
        padding-top: 150px;
    }

    .mamba-22 .form-contatti {
        margin-top: -110px;
    }

    .contact-img img {
        margin-top: -170px
    }

    .mt-lg-negative {
        margin-top: -110px;
    }

    .prj-hover-logo {
        padding: 150px;
    }

    .xl-padding-top {
        padding-top: 200px;
    }

    .realizzazioni .gru-img-mobile {
        display: none;
    }

    .realizzazioni .gru-img {
        object-fit: cover;
        object-position: center;
        position: absolute;
        z-index: -1;
        opacity: 0.25;
        width: 65%;
        right: 0px;
    }

    .section-mt {
        margin-top: 270px;
    }

    .bg-pattern-sm {
        display: none
    }

    .bg-pattern {
        background: url("/web/img/pattern.png");
        height: 500px;
        max-width: 100vw;
        width: 100%;
        position: absolute;
        left: 0px;
        background-size: cover;
        top: 47%;
        transform: translateY(-50%);
        background-repeat: no-repeat;
        background-position: center;
        z-index: -1
    }

    .guarantee-pattern {
        top: 38%;
    }

    .mono-section {
        margin-bottom: 250px;
    }

        .mono-section .bg-pattern {
            bottom: -250px !important;
            /*margin-bottom:250px;*/
            transform: none !important;
            top: auto !important;
        }

    .edilnord-list-section h3 {
        font-size: 70px !important;
        line-height: 60px;
    }
}

@media(max-width:991px) {
    .team__item.selected .team__image {
        aspect-ratio: 3/4;
        /*  transition: ease-in 0.3s;*/
        /* height: 380px !important;*/
        height: 350px !important;
    }

    .mamba-26 .overlay-dark {
        display: none !important
    }

    .qb-logo {
        display: none;
    }

    .img-sing {
        /* width: 200px;*/
        width: 170px;
    }

    .menu-icon {
        padding-right: 0px;
        padding-left: 0px;
        font-size: 25px;
    }

    .symbol-btn {
        font-size: 25px;
    }

    .edilnord-list-section h3 {
        font-size: 45px !important;
        line-height: 40px !important;
    }

    .text-section .text {
        font-size: 20px;
        /*  line-height: 25px;*/
    }

    .mt-super-5 {
        margin-top: 120px
    }

    .big-padding-top {
        padding-top: 30px;
    }

    .mamba-22 .form-contatti {
        margin-top: -70px;
    }

    .contact-info .text-section {
        padding-top: 0px !important;
        padding-bottom: 10px !important;
    }

    .owl-carousel .owl-item img {
        display: block;
        width: 100%;
        object-fit: cover;
        height: 350px;
        object-position: center;
    }

    /*.pd-gallery__carousel .owl-item.active .pd-gallery__image {
        height: 270px;
    }*/

    .pd-gallery .owl-stage {
        display: flex;
        align-items: center;
    }


    .prj-hover-logo {
        padding: 70px;
    }

    .news-img-container .overlay-dark {
        opacity: 1 !important;
    }

    .bg-pattern {
        display: none
    }

    .bg-pattern-sm {
        background: url(/web/img/pattern.png);
        height: 300px;
        max-width: 100vw;
        width: 100%;
        position: absolute;
        left: 0px;
        background-size: cover;
        top: 45%;
        transform: translateY(-50%);
        background-repeat: no-repeat;
        background-position: center;
        z-index: -1;
    }


    .bg-pattern-sm-1 {
        top: 45%
    }

    .bg-pattern-sm-2 {
        top: 95%
    }

    .bg-pattern-sm-3 {
        top: 73%
    }

    .bg-pattern-sm-4 {
        top: 56%
    }

    .realizzazioni .gru-img {
        display: none
    }

    .realizzazioni .gru-img-mobile {
        object-fit: cover;
        object-position: center;
        position: absolute;
        z-index: -1;
        opacity: 0.25;
        width: 100%;
        right: -80px;
        bottom: -36px;
    }


    .mobile-padding {
        padding-top: 120px
    }

    .home-img {
        height: 350px;
    }

    .text-section {
        padding: 30px 0px;
    }

        .text-section h3 {
            font-size: 25px;
        }

        .text-section .text {
            font-size: 18px;
        }

    .en-header__logo img {
        height: 50px;
    }

    .en-offcanvas__brand img {
        height: 40px;
    }


    .en-hero__content h1 {
        font-size: 32px;
        padding-top: 45px;
        line-height: 29px;
    }

    .en-hero__content p {
        font-size: 18px;
        padding-top: 15px;
        line-height: 20px;
    }

    .en-menu__link {
        font-size: 35px;
        padding: 0px 0px;
    }

    .p-menu {
        font-size: 20px;
        color: #ffffff9c;
        padding-top: 30px;
        padding-right: 0px;
    }

    .p-menu-info {
        font-size: 15px;
    }
}

/* Team Section */
.team {
    /*padding: 100px 0;*/
    /*background: #f8f9fa;*/
}

.team__header {
    text-align: center;
    margin-bottom: 60px;
}

.team__title {
    font-size: 42px;
    font-weight: 700;
    margin-bottom: 15px;
    color: #052f48;
}

.team__subtitle {
    font-size: 18px;
    color: #666;
}

.team__carousel {
    padding: 30px 0;
}

.team__item {
    text-align: center;
    cursor: pointer;
    padding: 0 3px;
    transition: opacity 0.3s ease;
    position: relative;
}

/*.team__item:not(.selected) {
	opacity: 0.6;
}*/

/* Team detail popup */
.team__detail {
    position: absolute;
    top: 0;
    right: 0;
    text-align: left;
    /*padding: 15px;*/
    min-width: 480px;
    z-index: 100;
    animation: slideIn 0.3s ease;
}

@keyframes slideIn {
    from {
        opacity: 0;
        transform: translateX(10px);
    }

    to {
        opacity: 1;
        transform: translateX(0);
    }
}

.team__detail-name {
    font-size: 70px;
    font-weight: 400;
    color: #052f48;
    /*margin-bottom: 8px;*/
    line-height: 61px;
    text-transform: uppercase;
}

.team__detail-role {
    font-size: 15px;
    /* color: #0066cc; */
    text-transform: uppercase;
    /* letter-spacing: 0.5px; */
    font-weight: 400;
}

.team__image {
    position: relative;
    overflow: hidden;
    margin-bottom: 20px;
    /*background: #fff;*/
    /*box-shadow: 0 4px 15px rgba(0, 0, 0, 0.1);*/
    width: 100%;
    aspect-ratio: 4/4;
    /*  transition: ease-in 0.3s;*/
}

    .team__image::after {
        content: "";
        position: absolute;
        top: 0;
        right: 0;
        width: 0;
        height: 0;
        border-style: solid;
        border-width: 0 50px 50px 0;
        border-color: transparent #eeefef transparent transparent;
        z-index: 5;
        pointer-events: none;
    }


.team__image {
    height: 470px;
}

    /*.team__item.selected .team__image {
    aspect-ratio: 3/4;*/
    /*  transition: ease-in 0.3s;*/
    /*height: 650px !important;
}*/

    .team__image img {
        width: 100%;
        height: 100%;
        display: block;
        object-fit: cover;
        transition: transform 0.3s ease;
    }



.team__item:hover .team__image img {
    transform: scale(1.05);
}

.team__info {
    width: 100%;
}

.team__name {
    font-size: 18px;
    font-weight: 700;
    margin-bottom: 8px;
    color: #052f48;
}

.team__role {
    font-size: 12px;
    color: #999;
    text-transform: uppercase;
    letter-spacing: 0.5px;
}

/* Owl Carousel customization */
.team__carousel .owl-nav {
    margin-top: 20px;
}

    .team__carousel .owl-nav button {
        background: #052f48 !important;
        color: #fff !important;
        width: 40px;
        height: 40px;
        display: inline-block;
        padding: 0;
        border-radius: 4px;
        margin: 0 5px;
        transition: background 0.3s ease;
    }

        .team__carousel .owl-nav button:hover {
            background: #0d5a96 !important;
        }

/*.team__carousel .owl-dots {
	margin-top: 20px;
	text-align: center;
}

.team__carousel .owl-dot {
	background: #ddd !important;
	width: 10px;
	height: 10px;
	border-radius: 50%;
	margin: 0 5px;
	transition: background 0.3s ease;
}

	.team__carousel .owl-dot.active {
		background: #052f48 !important;
	}*/

.team .owl-stage {
    align-items: end;
    display: flex;
}



.prj-img {
    height: 450px;
    width: 100%;
    object-fit: cover;
}

/* Product Gallery - Center Mode */
.pd-gallery {
    padding: 80px 0;
}

.pd-gallery__wrapper {
    position: relative;
    padding: 40px 0;
}

.pd-gallery__carousel {
    margin: 0;
}

.pd-gallery__item {
    padding: 0;
}

.pd-gallery__figure {
    margin: 0;
    overflow: hidden;
    /*box-shadow: 0 8px 24px rgba(0, 0, 0, 0.12);*/
    transition: transform 0.3s ease, box-shadow 0.3s ease;
}

.pd-gallery__carousel .owl-item.active .pd-gallery__figure {
    /*box-shadow: 0 16px 48px rgba(0, 0, 0, 0.2);*/
    transform: scale(1);
}

.pd-gallery__carousel .owl-item:not(.active) .pd-gallery__figure {
    /*transform: scale(0.95);*/
    opacity: 0.8;
}

.pd-gallery__image {
    width: 100%;
    /*height: auto;*/
    display: block;
    height: 90vh;
    object-fit: cover;
    transition: transform 0.3s ease;
}

.pd-gallery__carousel .owl-item.active .pd-gallery__image {
    /*	transform: scale(1.02);*/
}

/* Owl Carousel Navigation */
.pd-gallery__carousel .owl-nav {
    position: absolute;
    top: 50%;
    left: 0;
    right: 0;
    transform: translateY(-50%);
    pointer-events: none;
}

    .pd-gallery__carousel .owl-nav button {
        position: absolute;
        width: 50px;
        height: 50px;
        background: rgba(5, 47, 72, 0.7) !important;
        color: #fff !important;
        border-radius: 50%;
        display: flex;
        align-items: center;
        justify-content: center;
        cursor: pointer;
        pointer-events: auto;
        transition: background 0.3s ease;
        border: none;
        padding: 0;
    }

        .pd-gallery__carousel .owl-nav button:hover {
            background: rgba(5, 47, 72, 1) !important;
        }

.pd-gallery__carousel .owl-prev {
    left: -70px;
}

.pd-gallery__carousel .owl-next {
    right: -70px;
}

.pd-gallery__carousel .owl-nav button span {
    font-size: 20px;
}

.news-item .title {
    /*font-size: 55px;*/
    font-size: 36px;
}

.footer-menu {
    display: flex;
    align-items: end;
    /*justify-content: end;*/
}

    .footer-menu .en-menu__link {
        color: #052f48;
        font-size: 42px;
    }

        .footer-menu .en-menu__link:hover {
            color: #7a7a7a;
        }



.img-guarantee {
    width: 100%;
}

.group-img {
    width: 100%;
    display: flex;
    align-items: center;
    justify-content: center;
}

    .group-img img {
        height: 100%;
        width: 100%;
        max-width: 850px;
    }

.mamba-22 .form-contatti {
    padding: 0px;
}

@media (max-width: 1199px) {
    .pd-gallery__carousel {
        stagePadding: 100 !important;
    }

        .pd-gallery__carousel .owl-prev {
            left: -30px;
        }

        .pd-gallery__carousel .owl-next {
            right: -30px;
        }
}

@media (max-width: 768px) {

    .footer-menu {
        justify-content: start;
    }

    .edilnord-list-section .text-section .sub-title {
        font-size: 25px;
    }



    .footer-menu .en-menu__link {
        font-size: 30px;
    }

    .news-item .title {
        font-size: 24px;
    }

    .pd-gallery {
        padding: 40px 0;
    }

    .pd-gallery__carousel .owl-prev,
    .pd-gallery__carousel .owl-next {
        display: none;
    }

    .pd-gallery__figure {
        border-radius: 4px;
    }
}

.gruppo img {
    object-fit: cover;
    object-position: center
}

    .gruppo img.dx {
        height: 650px;
    }

    .gruppo img.sx {
        height: 500px;
    }

.form-control {
    padding: 18px 20px;
    font-size: 18px;
    border: none;
}

    .form-control:focus {
        box-shadow: none;
        border: 1px solid gray;
    }

form button {
    width: 100% !important;
    border-radius: 0px !important;
    padding: 18px !important;
    text-transform: uppercase !important;
    letter-spacing: 3px !important;
    background-color: #1b2141 !important;
}

.fit-cover {
    object-fit: cover;
    object-position: center;
}



.contact-img img {
    height: 100%;
    width: 100%;
    object-fit: cover;
    opacity: 0.30;
    z-index: -1;
}

/*.news-item {
    background: #dcddde
}*/

.news-item .text-section {
    padding: 15px;
}


.news-img-container .overlay-dark {
    display: flex;
    position: absolute;
    align-items: center;
    justify-content: center;
    background: #0000008b;
    color: white;
    top: 0px;
    left: 0px;
    height: 100%;
    width: 100%;
    opacity: 0;
    pointer-events: none;
    transition: opacity 0.3s ease;
}

.news-img-container:hover .overlay-dark {
    opacity: 1;
    pointer-events: auto;
}

    .news-img-container:hover .overlay-dark a {
        color: white;
        font-size: 18px;
    }

.news-item svg {
    font-size: 50px;
}

.proj-info .value {
    font-weight: bold;
}

.proj-info {
    margin-bottom: 10px;
}

    .proj-info label {
        display: block;
        font-size: 18px;
    }

.mt-negative {
    margin-top: -110px;
}




.certifications {
    display: flex;
    gap: 20px;
    margin-top: 20px;
}

    .certifications .cert {
        display: flex;
        align-items: end;
    }

        .certifications .cert p {
            font-size: 12px;
            margin-bottom: 0px !important;
            line-height: 15px;
        }

        .certifications .cert img {
            width: 65px;
            margin-right: 15px;
        }

.qb-logo {
    top: 190px;
    right: 30px;
    position: absolute;
    width: 150px;
    height: 150px;
}


.endline {
    align-items: end;
    border-bottom: 2px solid #22305e;
}

.list-full-height {
    height: 400px;
    object-fit: cover;
    width: 100%;
}



.edilnord-list-section .big-padding {
    padding: 60px 0px;
}

.discover-toggle {
    display: inline-block;
    margin-top: 14px;
    text-transform: uppercase;
    letter-spacing: 1px;
    font-weight: 500;
    text-decoration: none;
    background: transparent;
    border: 0;
    padding: 0;
}

    .discover-toggle .label-less {
        display: none;
    }

    .discover-toggle:not(.collapsed) .label-more {
        display: none;
    }

    .discover-toggle:not(.collapsed) .label-less {
        display: inline;
    }


.news-item .text-truncate,
.news-item .text-truncate p {
    display: -webkit-box;
    -webkit-box-orient: vertical;
    -webkit-line-clamp: 3;
    line-clamp: 3;
    overflow: hidden;
    text-overflow: ellipsis;
}

    .news-item .text-truncate p {
        margin-bottom: 0;
    }

.text-truncate * {
    font-size: 20px !important;
}

.offcanvas-start {
    transform: translateY(-100%);
}

.valori-aziendali .title {
    font-size: 60px;
    transition: color .2s ease, opacity .2s ease;
}

.valori-aziendali .text {
    font-size: 25px;
    transition: color .2s ease, opacity .2s ease;
}

.valori-aziendali img {
    max-height: 500px;
    object-fit: contain;
    width: 100%;
}

.testi-valore {
    width: fit-content;
    text-align: right;
}

.valori-aziendali .valore-item {
    cursor: pointer;
    opacity: .45;
    transition: opacity .2s ease;
}

    .valori-aziendali .valore-item .title,
    .valori-aziendali .valore-item .text {
        color: #7b8692;
    }

    .valori-aziendali .valore-item .text {
        opacity: 0;
        max-height: 0;
        overflow: hidden;
        transform: translateY(-6px);
        transition: opacity .2s ease, max-height .2s ease, transform .2s ease, color .2s ease;
    }

    .valori-aziendali .valore-item:hover .text,
    .valori-aziendali .valore-item:focus .text,
    .valori-aziendali .valore-item:focus-within .text {
        opacity: 1;
        max-height: 300px;
        transform: translateY(0);
    }

    .valori-aziendali .valore-item.is-active {
        opacity: 1;
    }



.valori-immagine-wrap {
    position: relative;
    min-height: 500px;
}

.valore-img-item {
    position: absolute;
    inset: 0;
    opacity: 0;
    /*pointer-events: none;*/
    transition: opacity .25s ease;
    display: flex;
    justify-content: center;
    align-items: center;
}

    .valore-img-item.is-active {
        opacity: 1;
    }

@media(max-width: 768px) {
    .valori-aziendali .title {
        font-size: 45px;
    }

    .big-padding {
        /* padding: 20px 0px;*/
        padding: 60px 0px;
    }

    .news-item .text-section {
        padding-left: 0px;
        padding-right: 0px;
    }



    .gruppo img {
        object-fit: cover;
        /*object-position: center;*/
        object-position: right;
        /*        height: 400px !important;*/
        height: 300px !important;
    }

    /*.team {
        padding: 50px 0;
    }*/

    .team__title {
        font-size: 32px;
    }

    .team__subtitle {
        font-size: 16px;
    }

    .team__image {
        margin-bottom: 15px;
        position: relative;
        overflow: hidden;
    }

        .team__image img {
            width: 100%;
            height: auto;
            display: block;
        }

    .team__info {
        /* position: absolute;
        bottom: 0;
        left: 0;
        right: 0;
        background: linear-gradient(to top, rgba(0, 0, 0, 0.9) 0%, rgba(0, 0, 0, 0.6) 70%, rgba(0, 0, 0, 0) 100%);
        color: white;
        padding: 24px 16px 16px;*/
        text-align: left;
        padding-bottom: 10px;
    }

    .team__name {
        font-size: 30px;
        line-height: 28px;
        margin-bottom: 4px;
        font-weight: 500;
        color: rgb(5, 47, 72);
        padding-top: 4px;
    }

    .team__role {
        font-size: 11px;
        margin: 0;
        color: rgb(5, 47, 72);
        font-weight: 400;
    }
}


.second-photo-project {
    aspect-ratio: 2;
    object-fit: cover;
}

.pc img {
    width: 100%;
}

/*.pc {
	overflow-x: hidden;
}
*/
@media(min-width:1200px) {
    .pc {
        position: relative;
    }

        .pc img {
            position: absolute;
            height: 800px;
            object-fit: contain;
            width: auto;
        }
}

body {
    overflow-x: hidden;
}


.menu-arrow-img {
    height: 45px;
    margin-right: 12px;
}

.default-arrow {
    display: block;
}

.en-menu__link {
    display: flex;
    align-items: center;
}

.hover-arrow {
    display: none;
}

.en-menu__link:hover .default-arrow {
    display: none;
}

.en-menu__link:hover .hover-arrow {
    display: block;
}


.project-title {
    font-weight: 400;
}

.team__item.pre-selected {
    height: 680px !important;
    display: flex;
    align-items: end;
}

@media (max-width: 767px) {
    .foto-sbordo-sx {
        margin-left: -1.2rem;
        width: calc(100% + 1.2rem);
        max-width: none;
    }

    .foto-sbordo-dx {
        margin-right: -1.2rem;
        width: calc(100% + 1.2rem) !important;
        max-width: none;
    }

    .container {
        padding-right: var(--bs-gutter-x, 1.5rem);
        padding-left: var(--bs-gutter-x, 1.5rem);
    }

    .team__name {
        text-transform: uppercase;
        padding-right: 73px
    }

    .text-section .cta, .prj-hover-logo .cta {
        font-size: 18px;
        font-weight: 500;
    }

    .footer-credit {
        font-size: 12px;
    }

    .certifications .cert img {
        margin-right: 6px;
    }

    .certifications .cert p {
        font-size: 10px;
    }

    .sect-padding-garantee {
        padding: 14px 0px 0px 40px;
    }
}



@media (max-width: 767.98px) {

    /* Container a tutta larghezza */
    .project-item .container {
        width: 100%;
        max-width: 100%;
        padding-left: 0;
        padding-right: 0;
    }

    /* Layout principale a griglia */
    .project-item .row.big-padding-top {
        display: grid;
        grid-template-columns: minmax(0, 1.68fr) minmax(0, 1fr);
        column-gap: 10px;
        row-gap: 22px;
        margin: 0;
        padding-top: 0 !important;
        align-items: end;
    }

        /* Elimina i wrapper dalla griglia,
       mantenendone il contenuto */
        .project-item .row.big-padding-top > .col-lg-6:last-child,
        .project-item .row.big-padding-top > .col-lg-6:last-child > .d-flex {
            display: contents !important;
        }

    /* Testi nella prima riga, sopra le immagini */
    .project-item .text-section {
        grid-column: 1 / -1;
        grid-row: 1;
        padding: 30px 26px 0 !important;
        width: 100%;
    }

    /* Prima foto: grande, a sinistra */
    .project-item .row.big-padding-top > .col-lg-6:first-child {
        grid-column: 1;
        grid-row: 2;
        padding: 0;
        width: 100%;
        min-width: 0;
    }

        .project-item .row.big-padding-top > .col-lg-6:first-child img {
            display: block;
            width: 100% !important;
            height: auto !important;
            aspect-ratio: 0.89;
            object-fit: cover;
        }

    /* Seconda foto: più piccola, a destra */
    .project-item .second-photo-project {
        grid-column: 2;
        grid-row: 2;
        display: block;
        width: 100% !important;
        height: auto !important;
        aspect-ratio: 0.79;
        object-fit: cover;
        align-self: end;
    }

    /* Testi */
    .project-item .text-section .sub-title {
        display: block;
        font-size: 11px;
        line-height: 1.4;
    }

    .project-item .project-title {
        font-size: 27px;
        line-height: 1.05;
        margin-top: 5px;
        margin-bottom: 24px;
    }

    .project-item .text-section .text {
        font-size: 15px;
        line-height: 1.3;
    }

    /* CTA allineata a destra */
    .project-item .text-section .cta {
        text-align: right;
        margin-top: 20px;
    }

    /* Spaziatura fra progetti successivi */
    .project-item .row.big-padding-top + .row.big-padding-top {
        margin-top: 55px;
    }


    /* Progetti pari: inverti le colonne */
    .project-item .row.big-padding-top:nth-child(even) {
        grid-template-columns: minmax(0, 1fr) minmax(0, 1.68fr);
    }

        /* Immagine grande a destra */
        .project-item .row.big-padding-top:nth-child(even) > .col-lg-6:first-child {
            grid-column: 2;
        }

        /* Immagine piccola a sinistra */
        .project-item .row.big-padding-top:nth-child(even)
        .second-photo-project {
            grid-column: 1;
        }



    /* Layout mobile */
    .project-detail-mobile {
        display: grid;
        grid-template-columns: minmax(0, 1.68fr) minmax(0, 1fr);
        column-gap: 10px;
        row-gap: 22px;
        align-items: end;
        padding-top: 0 !important;
        /* Immagini a bordo schermo */
        width: 100vw;
        margin-left: calc(50% - 50vw);
        margin-right: 0;
    }

        /* Elimina i wrapper dalla griglia */
        .project-detail-mobile > .col-lg-6:last-child,
        .project-detail-mobile > .col-lg-6:last-child > .d-flex {
            display: contents !important;
        }

        /* Testo sopra le immagini */
        .project-detail-mobile .text-section {
            grid-column: 1 / -1;
            grid-row: 1;
            width: 100%;
            padding: 30px 26px 0 !important;
        }

        /* Foto principale a sinistra */
        .project-detail-mobile > .col-lg-6:first-child {
            grid-column: 1;
            grid-row: 2;
            padding: 0;
            width: 100%;
            min-width: 0;
        }

            .project-detail-mobile > .col-lg-6:first-child img {
                display: block;
                width: 100% !important;
                height: auto !important;
                aspect-ratio: 0.89;
                object-fit: cover;
            }

        /* Foto secondaria a destra */
        .project-detail-mobile .second-photo-project {
            grid-column: 2;
            grid-row: 2;
            display: block;
            width: 100% !important;
            height: auto !important;
            aspect-ratio: 0.79;
            object-fit: cover;
            align-self: end;
        }

        /* Testi */
        .project-detail-mobile .sub-title {
            display: block;
            font-size: 11px;
            line-height: 1.4;
        }

        .project-detail-mobile .project-title {
            font-size: 27px;
            line-height: 1.05;
            margin-top: 5px;
            margin-bottom: 24px;
        }

        .project-detail-mobile .text-section .text {
            font-size: 15px;
            line-height: 1.3;
        }

        /* Eventuale CTA */
        .project-detail-mobile .cta {
            text-align: right;
            margin-top: 20px;
        }

        /* Alternanza opzionale: foto grande a destra */
        .project-detail-mobile.reverse-mobile {
            grid-template-columns: minmax(0, 1fr) minmax(0, 1.68fr);
        }

            .project-detail-mobile.reverse-mobile > .col-lg-6:first-child {
                grid-column: 2;
            }

            .project-detail-mobile.reverse-mobile
            .second-photo-project {
                grid-column: 1;
            }


    .map {
        height: 400px !important;
    }

    .contact-info .text-section.contact-small {
        padding-top: 30px !important;
        padding-left: 50px !important;
    }
}



@media (max-width: 767.98px) {

    /* SEZIONE */
    .valori-aziendali {
        overflow: hidden;
        padding: 30px 0 50px;
    }

        .valori-aziendali .container {
            width: 100%;
            max-width: 100%;
            padding: 0;
        }

        /* GRIGLIA PRINCIPALE */
        .valori-aziendali .row {
            display: grid !important;
            grid-template-columns: minmax(0, 1fr);
            grid-auto-rows: minmax( clamp(330px, 87vw, 410px), auto );
            row-gap: 14px;
            margin: 0;
            align-items: stretch;
        }

            /* Rimuove i wrapper dalla disposizione,
       mantenendo testi e immagini nella griglia */
            .valori-aziendali .row > .col-lg-5,
            .valori-aziendali .row > .col-lg-7,
            .valori-aziendali .valori-immagine-wrap {
                display: contents !important;
            }

        /* TUTTI I TESTI VISIBILI */
        .valori-aziendali .testi-valore {
            display: block !important;
            position: relative !important;
            grid-column: 1;
            align-self: end;
            width: 100% !important;
            height: auto !important;
            padding: 0 26px;
            /* margin: 0 !important;*/
            margin: 40px !important;
            opacity: 1 !important;
            visibility: visible !important;
            transform: none !important;
            z-index: 2;
            text-align: left !important;
        }

            /* TITOLI */
            .valori-aziendali .testi-valore .title {
                font-size: clamp(30px, 11vw, 48px);
                font-weight: 300;
                line-height: 1;
                letter-spacing: -0.03em;
                margin: 0 !important;
                text-align: left;
            }

            /* SOTTOTITOLI */
            .valori-aziendali .testi-valore .text {
                font-size: clamp(24px, 7.6vw, 36px);
                font-weight: 400;
                line-height: 1.05;
                letter-spacing: -0.03em;
                text-align: left !important;
                margin: 0px 0px 0px 85px !important;
            }

        /* TUTTE LE IMMAGINI VISIBILI */
        .valori-aziendali .valore-img-item {
            display: block !important;
            position: relative !important;
            grid-column: 1;
            align-self: start;
            width: 61%;
            height: auto !important;
            aspect-ratio: 0.87;
            margin: 0 !important;
            opacity: 1 !important;
            visibility: visible !important;
            transform: none !important;
            overflow: hidden;
            z-index: 1;
        }

            .valori-aziendali .valore-img-item img {
                display: block;
                width: 100% !important;
                height: 100% !important;
                object-fit: cover;
            }

            .valori-aziendali .valore-img-item picture {
                display: block;
                width: 100%;
                height: 100%;
            }

            /* ASSOCIA OGNI TESTO ALLA SUA IMMAGINE */

            .valori-aziendali .testi-valore:nth-child(1),
            .valori-aziendali .valore-img-item:nth-child(1) {
                grid-row: 1;
            }

            .valori-aziendali .testi-valore:nth-child(2),
            .valori-aziendali .valore-img-item:nth-child(2) {
                grid-row: 2;
            }

            .valori-aziendali .testi-valore:nth-child(3),
            .valori-aziendali .valore-img-item:nth-child(3) {
                grid-row: 3;
            }

            .valori-aziendali .testi-valore:nth-child(4),
            .valori-aziendali .valore-img-item:nth-child(4) {
                grid-row: 4;
            }

            /* IMMAGINI DISPARI A DESTRA */
            .valori-aziendali .valore-img-item:nth-child(odd) {
                justify-self: end;
            }

            /* IMMAGINI PARI A SINISTRA */
            .valori-aziendali .valore-img-item:nth-child(even) {
                justify-self: start;
            }

        /* Tutti i valori sempre aperti */
        .valori-aziendali .testi-valore,
        .valori-aziendali .testi-valore:not(.is-active) {
            display: block !important;
            opacity: 1 !important;
            visibility: visible !important;
            height: auto !important;
            max-height: none !important;
            overflow: visible !important;
            transform: none !important;
            position: relative !important;
            pointer-events: auto !important;
        }

            /* Titolo sempre visibile */
            .valori-aziendali .testi-valore .title {
                display: block !important;
                opacity: 1 !important;
                visibility: visible !important;
                height: auto !important;
                max-height: none !important;
                transform: none !important;
                position: relative !important;
                overflow: visible !important;
            }

            /* Descrizione sempre visibile */
            .valori-aziendali .testi-valore .text {
                display: block !important;
                opacity: 1 !important;
                visibility: visible !important;
                height: auto !important;
                max-height: none !important;
                transform: none !important;
                position: relative !important;
                overflow: visible !important;
                margin-top: 4px !important;
            }

        /* Tutte le immagini sempre visibili */
        .valori-aziendali .valore-img-item,
        .valori-aziendali .valore-img-item:not(.is-active) {
            display: block !important;
            opacity: 1 !important;
            visibility: visible !important;
            transform: none !important;
        }

        /* Testi davanti alle immagini */
        .valori-aziendali .testi-valore {
            z-index: 5 !important;
            align-self: end;
            padding-bottom: 0;
        }

        /* Immagini dietro ai testi */
        .valori-aziendali .valore-img-item {
            z-index: 1 !important;
        }

        /* Evita che il testo venga tagliato */
        .valori-aziendali .row {
            overflow: visible !important;
            grid-auto-rows: minmax( clamp(350px, 95vw, 430px), auto );
        }
}



/* FOTO CHIUSA */
.edilnord-list-section .row.endline > .col-lg-5 {
    max-height: 180px;
    overflow: hidden;
    transition: max-height 0.6s ease;
}

/* FOTO APERTA */
.edilnord-list-section .row.endline.is-expanded > .col-lg-5 {
    max-height: 1200px;
}

/* IMMAGINE */
.edilnord-list-section .row.endline > .col-lg-5 img {
    display: block;
    width: 100%;
    height: auto !important;
    max-height: none !important;
    object-fit: cover;
}

/* PULSANTE CHIUSO */
.edilnord-list-section .discover-toggle .label-more {
    display: inline;
}

.edilnord-list-section .discover-toggle .label-less {
    display: none;
}

/* PULSANTE APERTO */
.edilnord-list-section
.discover-toggle[aria-expanded="true"] .label-more {
    display: none !important;
}

.edilnord-list-section
.discover-toggle[aria-expanded="true"] .label-less {
    display: inline !important;
}

/* MOBILE E TABLET */
@media (max-width: 991.98px) {

    .edilnord-list-section .row.endline > .col-lg-5 {
        max-height: 155px;
    }

    .edilnord-list-section .row.endline.is-expanded > .col-lg-5 {
        max-height: 1200px;
    }
}


/* Mostra la parte bassa della fotografia */
.edilnord-list-section .row.endline > .col-lg-5 {
    display: flex;
    flex-direction: column;
    justify-content: center;
    overflow: hidden;
}

    /* Impedisce all'immagine di comprimersi */
    .edilnord-list-section .row.endline > .col-lg-5 > * {
        flex-shrink: 0;
    }

    /* Mantiene le dimensioni originali */
    .edilnord-list-section .row.endline > .col-lg-5 img {
        width: 100%;
        height: auto !important;
        object-position: center bottom;
    }



/* Nasconde i progetti dopo il terzo */
.project-item .project-hidden {
    display: none !important;
}

.news-list .news-hidden {
    display: none !important;
}

/* Contenitore pulsante */
.project-load-more-wrapper,
.news-load-more-wrapper {
    display: flex;
    justify-content: center;
    margin-top: 55px;
    margin-bottom: 60px;
}

/* Pulsante */
.project-load-more,
.news-load-more {
    background-color: #202E5B;
    color: #fff;
    border: none;
    padding: 9px 28px;
    font-size: 12px;
    font-weight: 500;
    cursor: pointer;
    transition: background-color 0.3s ease;
}

    .project-load-more:hover,
    .news-load-more:hover {
        background-color: #0B2742;
    }

/* Nasconde il pulsante dopo il clic */
.project-load-more-wrapper.is-hidden,
.news-load-more-wrapper.is-hidden {
    display: none;
}

.external-mark {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    padding: 0.22rem 0.55rem;
    min-height: 22px;
    margin-left: .45rem;
    border-radius: 999px;
    border: 1px solid rgb(5,47,72);
    color: #fff;
    background-color: rgb(5,47,72);
    vertical-align: middle;
    font-size: 10px;
    font-weight: 700;
    line-height: 1;
    letter-spacing: 0.04em;
    text-transform: uppercase;
    white-space: nowrap;
}

@media (max-width: 767.98px) {
    .project-load-more-wrapper,
    .news-load-more-wrapper {
        margin-top: 35px;
        margin-bottom: 45px;
    }
}


@media(max-width:768px) {
    .en-header__burger::before {
        display: none !important;
    }

    .hamburgher-menu-icon {
        font-size: 13px;
    }

    .en-header {
        padding: 2rem 0 !important;
    }

    .text-section .sub-title {
        font-size: 11px;
    }

    .text-section h3 {
        line-height: 23px;
    }

    /*.text-section*/ .text {
        line-height: 19px;
        margin-top: 30px;
    }

    .prj-img {
        height: 300px;
    }

    .mt-15px {
        margin-top: 1.5rem
    }

    .my-pd-0 {
        padding-top: 0px !important;
    }

    .form-control {
        padding: 11px 20px;
    }

    .footer-text {
        font-size: 18px !important;
        line-height: 17px;
    }

    .menu-arrow-img {
        height: 20px;
    }

    .address-info {
        font-size: 15px;
        line-height: 20px;
    }

    .height-auto {
        height: auto !important;
    }

    .en-hero__overlay {
        background: #2b2b2b80;
    }

    .en-hero__bg {
        object-position: center;
    }

    .certifications .cert img {
        width: 50px;
    }

    .img-guarantee {
        width: 148vw;
    }

    .hide-overflow {
        overflow-x: hidden;
    }

    .valori-aziendali .valore-item .title, .valori-aziendali .valore-item .text {
        color: #052f48;
    }

    .edilnord-list-section .big-padding {
        padding: 10px 0px;
    }

    .fa {
        -webkit-text-stroke: 1px;
    }

   /* .news-img-container .overlay-dark {
        display: none;
    }*/

    .news-img-container {
        margin-left: -1.5rem;
        width: calc(100% + 3rem);
    }

    .mamba-27 .en-hero__bg {
        object-position: 66% 100% !important;
    }

    .mt-sm-0 {
        margin-top: 0px !important;
    }

    .contact-img {
        overflow-x: hidden;
        display: flex;
        align-items: center;
        justify-content: center;
    }

        .contact-img img {
            width: 180vw;
        }

    .external-mark {
        margin-left: 0px;
    }
}

.mt-15px {
    margin-top: 1.5rem
}


.svg-inline--fa
{
    width:auto;
}

.op-04
{
    opacity:0.4
}