/*
 * STANDARD
*/
body {
	margin: 0px;
	font-family: 'Poppins', system-ui, -apple-system, BlinkMacSystemFont, 'Segoe UI', sans-serif;
	min-width: 375px;
	background-color: #fbfbfb;
}

input,
textarea {
	font-family: 'Poppins', system-ui, -apple-system, BlinkMacSystemFont, 'Segoe UI', sans-serif;
}



.copy {
	text-align: center;
	padding-bottom: 10px;
	padding-top: 10px;
}


.width-100 {
	width: 100% !important;
}

.width-auto {
	width: auto;
}

.height-100 {
	height: 100% !important;
}

.text-align-left {
	text-align: left !important;
}

@media (max-width: 767px) {
	.text-align-left-mb {
		text-align: left !important;
	}
}

.text-align-right {
	text-align: right !important;
}

.text-align-center {
	text-align: center !important;
}

@media (max-width: 767px) {
	.text-align-center-mb {
		text-align: center !important;
	}
}

.padding-0 {
	padding: 0 !important;
}

.padding-top-0 {
	padding-top: 0 !important;
}

@media (max-width: 767px) {
	.padding-top-0-mb {
		padding-top: 0px !important;
	}
}

.padding-bottom-0 {
	padding-bottom: 0 !important;
}

.padding-left-0 {
	padding-left: 0 !important;
}

.padding-right-0 {
	padding-right: 0 !important;
}

.margin-0 {
	margin: 0px !important;
}

.margin-left-auto {
	margin-left: auto;
}

.margin-right-auto {
	margin-right: auto;
}

.margin-bottom-0 {
	margin-bottom: 0px !important;
}

.margin-bottom-10px {
	margin-bottom: 10px !important;
}
.margin-bottom-30px {
	margin-bottom: 30px !important;
}
.margin-bottom-50px {
	margin-bottom: 50px !important;
}


.margin-top-0 {
	margin-top: 0px !important;
}

.margin-top-10px {
	margin-top: 10px !important;
}

@media (max-width: 767px) {
	.margin-top-0-mb {
		margin-top: 0px !important;
	}
}

.max-width-50 {
	max-width: 50%;
}

.max-width-60 {
	max-width: 60%;
}

.max-width-70 {
	max-width: 70%;
}

.max-width-75 {
	max-width: 75%;
}

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

@media (max-width: 991px) {
	.max-width-100-tb {
		max-width: 100% !important;
	}
}

@media (max-width: 767px) {
	.max-width-100-mb {
		max-width: 100% !important;
	}
}

.max-width-500 {
	max-width: 500px !important;
}

.max-width-600 {
	max-width: 600px !important;
}

.max-width-700 {
	max-width: 700px !important;
}

.background-color-white {
	background-color: #FFF;
}

.background-color-grey {
	background-color: #EFEFEF;
}

.background-color-black {
	background-color: #000000;
}

.text-black {
	color: #000 !important;
}

.text-black p {
	color: #000 !important;
}

.text-white {
	color: #fff !important;
}

.text-white p {
	color: #fff !important;
}

.font-weight-700 {
	font-weight: 700 !important;
}

.line-height-0 {
	line-height: 0;
}

.text-transform-none {
	text-transform: none !important;
}

.text-transform-uppercase {
	text-transform: uppercase !important;
}

.box-sizing-border-box {
	box-sizing: border-box;
}

.display-none {
	display: none;
}

.display-inline-block {
	display: inline-block;
}

.display-block {
	display: block;
}

.display-flex {
	display: flex;
}

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

@media (max-width: 991px) {
	.flex-wrap-wrap-tb {
		flex-wrap: wrap !important;
	}
}

@media (max-width: 767px) {
	.flex-wrap-wrap-mb {
		flex-wrap: wrap !important;
	}
}

.justify-content-space-between {
	justify-content: space-between;
}

.justify-content-center {
	justify-content: center;
}

.justify-content-flex-end {
	justify-content: flex-end;
}

.justify-content-flex-start {
	justify-content: flex-start;
}

.align-items-center {
	align-items: center;
}

.align-items-flex-start {
	align-items: flex-start;
}

.align-items-flex-end {
	align-items: flex-end;
}

.align-items-stretch {
	align-items: stretch;
}

@media (max-width: 767px) {
	.align-items-stretch-mb {
		align-items: stretch !important;
	}
}

.flex-direction-column {
	flex-direction: column;
}

.flex-direction-row {
	flex-direction: row;
}

.flex-1 {
	flex: 1 !important;
}

.flex-basis-20 {
	flex-basis: 20%;
}

.flex-basis-25 {
	flex-basis: 25%;
}

.flex-basis-50 {
	flex-basis: 50%;
}

.flex-basis-60 {
	flex-basis: 60%;
}

.flex-basis-70 {
	flex-basis: 70%;
}

.flex-basis-75 {
	flex-basis: 75%;
}

.flex-basis-100 {
	flex-basis: 100%;
}

@media (max-width: 991px) {
	.flex-basis-100-tb {
		flex-basis: 100%;
	}
}

@media (max-width: 767px) {
	.flex-basis-100-mb {
		flex-basis: 100%;
	}
}

@media (max-width: 991px) {
	.flex-basis-100-tb {
		flex-basis: 100%;
	}

	.flex-basis-33-tb {
		flex-basis: 33%;
	}
}

.order-1 {
	order: 1;
}

@media (max-width: 767px) {
	.order-1-mb {
		order: 1 !important;
	}
}

.order-2 {
	order: 2;
}

@media (max-width: 767px) {
	.order-2-mb {
		order: 2 !important;
	}
}

.order-3 {
	order: 3;
}

@media (max-width: 767px) {
	.order-3-mb {
		order: 3 !important;
	}
}

.order-4 {
	order: 4;
}

@media (max-width: 767px) {
	.order-4-mb {
		order: 4 !important;
	}
}

.order-5 {
	order: 5;
}

@media (max-width: 767px) {
	.order-5-mb {
		order: 5 !important;
	}
}

.order-6 {
	order: 6;
}

@media (max-width: 767px) {
	.order-6-mb {
		order: 6 !important;
	}
}

.gap-0 {
	gap: 0px;
}

.gap-5 {
	gap: 5px;
}

.gap-10 {
	gap: 10px;
}

.gap-15 {
	gap: 15px;
}

.gap-30 {
	gap: 30px;
}

.column-gap-0 {
	column-gap: 0px;
}

.position-absolute {
	position: absolute;
}

.position-relative {
	position: relative;
}

.position-fixed {
	position: fixed;
}

.overflow-hidden {
	overflow: hidden !important;
}

.list-style-type-none {
	list-style-type: none !important;
}

.pointer-events-none {
	pointer-events: none !important;
}

.mix-blend-mode-multiply {
	mix-blend-mode: multiply !important;
}

.mix-blend-mode-unset {
	mix-blend-mode: unset !important;
}

.list-style-position-inside {
	list-style-position: inside;
}

.object-fit-contain {
	object-fit: contain;
}

.transform-rotate-180 {
	transform: rotate(180deg);
}

/* STANDARD CUSTOM */
.empty-15 {
	height: 15px;
}

.empty-20 {
	height: 20px;
}

.empty-30 {
	height: 30px;
}

.empty-50 {
	height: 50px;
}

.empty-100 {
	height: 100px;
}

.no-after:after,
.no-after a:after {
	display: none;
}

.block-sticky {
	position: -webkit-sticky;
	position: sticky;
	top: 0;
}

.full-height-layout {
	min-height: 100vh;
	display: flex;
	flex-direction: column;
	justify-content: space-between;
	height: auto;
}

.full-height-layout>main,
.full-height-layout>.full-height-block {
	display: flex;
	flex: 1;
}

.not-last-children>*:nth-last-child(1):after,
.not-last-children>*:nth-last-child(1):before {
	display: none;
}

.not-first>*:nth-child(1):after,
.not-first>*:nth-child(1):before {
	display: none;
}

.not-column-first>*:nth-child(1) {
	display: none;
}

.not-column-last>*:nth-last-child(1) {
	display: none;
}

.visible-mb {
	display: none !important;
}

.visible-tb {
	display: none !important;
}

@media (max-width: 991px) {
	.visible-tb {
		display: block !important;
	}

	.hidden-tb {
		display: none !important;
	}
}

@media (min-width: 992px) {
	.hidden-dk {
		display: none !important;
	}
}

@media (min-width: 768px) {}

@media (max-width: 767px) {
	.hidden-mb {
		display: none !important;
	}

	.visible-mb {
		display: block !important;
	}
}

/* =========================
   CUSTOM A
========================= */
@font-face {
	font-family: 'Montserrat';
	src: url('/public/fonts/Montserrat-VariableFont_wght.ttf') format('truetype');
	font-weight: 100 900;
	font-style: normal;
	font-display: swap;
}
@font-face {
	font-family: 'Montserrat';
	src: url('/public/fonts/Montserrat-Italic-VariableFont_wght.ttf') format('truetype');
	font-weight: 100 900;
	font-style: italic;
	font-display: swap;
}
:root {
    /* mesure */
    --container: 1920px;
    --container2: 1300px;
    --spaceXs: 15px;
    --spaceS: 30px;
    --spaceM: 60px;
    --spaceL: 80px;
    --spaceXl: 100px;
    --spaceXxl: 130px;
    
    /* color */
    --white: white;
    --black: #101010;
    --orange: #dc7518;
    --gray: #5c5c5c;
    --white2: #f4f4f7;
    --transparent: transparent;
    
    /* weight */
    --normal: 400;
    --medium: 500;
    --semibold: 600;
    --bold: 700;
    
    /* font */
    --font: 'Montserrat', sans-serif;
    --italic: italic;
    
    /* radius */
    --radiusS: 4px;
    
}
body {
    font-family: var(--font);
}
.italic {
    font-family: var(--font);
    font-style: var(--italic);
}
.container {
    padding:0px;
}
.style1 {
    font-size:16px;
    line-height:20px;
    letter-spacing:0.32px;
}
.style2 {
    font-size:14px;
    line-height:21px;
    letter-spacing:0px;
}
.style3 {
    font-size:48px;
    line-height:59px;
    letter-spacing:0px;
}
.style4 {
    font-size:20px;
    line-height:29px;
    letter-spacing:0px;
}
.style5 {
    font-size:36px;
    line-height:44px;
    letter-spacing:0px;
}
.style6 {
    font-size:16px;
    line-height:24px;
    letter-spacing:0px;
}
.style7 {
    font-size:24px;
    line-height:29px;
    letter-spacing:0px;
}
.style8 {
    font-size:16px;
    line-height:20px;
    letter-spacing:0.32px;
}
.style9 {
    font-size:18px;
    line-height:27px;
    letter-spacing:0px;
}
.style10 {
    font-size:28px;
    line-height:42px;
    letter-spacing:0px;
}
.styleButton1 {
    font-size:14px;
    line-height:21px;
    letter-spacing:0px;
    font-weight:var(--semibold); 
    background-color:var(--black);
    padding:var(--spaceXs) var(--spaceS);
    border-radius:var(--radiusS);
    border:2px solid var(--black);
}
.styleButton1:hover,
.styleButton1:focus,
.styleButton1:active {
    background-color:var(--orange)!important;
    border:2px solid var(--orange)!important;
}
.styleButton2 {
    font-size:14px;
    line-height:21px;
    letter-spacing:0px;
    font-weight:var(--semibold); 
    background-color:var(--transparent);
    padding:var(--spaceXs) var(--spaceS);
    border-radius:var(--radiusS);
    border:2px solid var(--orange);
    color:var(--orange);
}
.styleButton2:hover,
.styleButton2:focus,
.styleButton2:active {
    background-color:var(--orange)!important;
    border:2px solid var(--orange)!important;
    color:var(--white)!important;
}
.color-white {
    color:var(--white); 
}
.color-white2 {
    color:var(--white2); 
}
.color-black {
    color:var(--black);
}
.color-orange {
    color:var(--orange);
}
.color-gray {
    color:var(--gray);
}
.weight-400 {
    font-weight:var(--normal);
}
.weight-500 {
    font-weight:var(--medium);
}
.weight-600 {
    font-weight:var(--semibold);
}
.weight-700 {
    font-weight:var(--bold);
}
@media (min-width: 1400px) {
    .container {
        max-width:var(--container);
        padding:0px;
    }
    .container2 {
        max-width:var(--container2)!important;
    }
}
.padding-standard {
    padding:var(--spaceS) var(--spaceL);
}
.padding-standard2 {
    padding:var(--spaceM) var(--spaceL);
}
.padding-standard3 {
    padding:var(--spaceL) var(--spaceL);
}
.padding-standard4 {
    padding:var(--spaceL) var(--spaceL) var(--spaceM) var(--spaceXxl);
}
.padding-standard5 {
    padding:var(--spaceL) var(--spaceL) var(--spaceL) var(--spaceL);
}
.padding-standard6 {
    padding:var(--spaceL) var(--spaceS) var(--spaceL) var(--spaceL);
}
.padding-standard7 {
    padding:var(--spaceS) var(--spaceXxl) var(--spaceXxl) var(--spaceXxl);
}
.padding-footer {
    padding:var(--spaceXl) var(--spaceL) var(--spaceS) var(--spaceL);
}
.background-color-black {
    background-color:var(--black);
}
.background-color-white2 {
    background-color:var(--white2); 
}
.background-color-orange {
    background-color:var(--orange);
}
@media (max-width: 1400px) {
    .container-full {
        max-width:none!important;
    }
}
/* header */
header {
    box-shadow:0px 0px 6px #00000029;
    margin-bottom:2px;
}
.site-nav__link.is-active {
    font-weight:var(--semibold);
}
.site-header__toggle-icon {
    width:28px;
}
/* footer */
.site-footer__bottom {
    padding-top:var(--spaceM);
}
footer a {
    color:var(--orange);
}
.site-footer__logo {
    max-width:235px;
}
.site-footer__menu-item {
    margin-bottom:var(--spaceXs);
}
.site-footer__menu-item a,
.site-footer__contact-link {
    font-size:16px;
    line-height:24px;
    letter-spacing:0px;
    color:var(--white2);
    text-decoration: none;
}
/* hero */
.hero-section__image {
    max-height:670px;
}
.hero-section__content,
.lavori-hero-section__content {
    max-width:560px;
}
.hero-section__text {
    margin-bottom:var(--spaceS);
}
/* home */
.about-section__content {
    max-width:625px;
    margin-left:auto;
    margin-right:auto;
}
.services-section__subtitle {
    max-width:680px;
    margin-left:auto;
    margin-right:auto;
}
.services-section__row {
    max-width:1000px;
    margin-left:auto;
    margin-right:auto;
}
.services-section__item-text,
.services-section__item-title {    
    max-width:270px;
    margin-left:auto;
    margin-right:auto;
}
/* lavori */
.projects-section__image {
}
.projects-section__content {
    max-width:630px;
}
.projects-section__text {
    margin-bottom:var(--spaceS);
}
.why-section__card {
    border-radius:var(--radiusS);
}
.why-section__icon{
    width:24px;
    height:24px;
    border-radius:50%;
    background: radial-gradient(circle at 30% 30%, #ff9738 0%, #f28c28 40%, #dc7517 100%);
}
.why-section__text {
    max-width:190px;
}
.organization-section__text {
    max-width:620px;
    margin-left:auto;
    margin-right:auto;
}
.organization-section__title {
    max-width:300px;
}
.why-section__card2 {
    padding:60px 20px;
}
.why-section__text2 {
    max-width:200px;
    margin-left:auto;
    margin-right:auto;
}
.why-section__title2 {
    max-width:740px;
    margin-left:auto;
    margin-right:auto;
}
.history-section__title {
    max-width:520px;
}
.history-section__text {
    max-width:520px;
}
.history-section__col--gallery {
    max-width: 900px;
    margin-left: auto;
}
.hero-servizi-section__subtitle {
    max-width:780px;
    margin-left:auto;
    margin-right:auto;
}
.article-servizi-section__content {
    max-width:470px;
}
.article-contact-section__col {
    max-width:475px;
    margin-left:auto;
    margin-right:auto;
    
}
.lavori-hero-section__image {
    max-height:480px;
}
/* single */
.article-lavori-section__button {
    padding:15px;
}
.article-lavori-section__content {
    max-width:300px;
}
.project-detail-section__image {
    max-height:500px;
}
.project-detail-section__text {
    max-width:920px;
}
/* gallery */
.project-gallery-section__track {
  scrollbar-width: none;
  -ms-overflow-style: none;
}

.project-gallery-section__track::-webkit-scrollbar {
  display: none;
}
.project-gallery-section__nav--prev {
    top: -20px;
    padding:0px;
    right: 20px;
    transform: translateY(-100%) translateX(-100%);
}
.project-gallery-section__nav--next {
    top: -20px;
    padding:0px;
    right: 0;
    transform: translateY(-100%) translateX(0%);
}
.project-gallery-section__nav--prev:focus,
.project-gallery-section__nav--next:focus,
.project-gallery-section__nav--prev:active,
.project-gallery-section__nav--next:active  {
    outline:0px;
    border:none!important;
}
.close-lightbox {
    width:20px;
    height:20px;
}
.project-gallery-section__modal-close {
    border-radius:50%;
    aspect-ratio: 1 / 1;
}
.project-gallery-section__modal-close:hover,
.project-gallery-section__modal-close:active,
.project-gallery-section__modal-close:focus{
    background-color:var(--orange)!important;
}
.project-gallery-section__image {
    height:360px;
}
.project-gallery-section__modal-image {
    max-height:min(90vh, 600px);
    object-fit: contain;
}
.project-gallery-section__modal {
    background:rgba(0,0,0,0.8);
}
.qualita-hero-section__image {
    max-height:660px;
}
.qualita-hero-section__content {
    max-width:520px;
}
.method-section__number {
    border-color:1px solid var(--orange)!important;
}
.method-section__item-text {
    max-width:624px;
}
.method-section__title {
    max-width:250px;
}
/* animated */
.animate-style {
	opacity: 0;
	transition: opacity .8s ease, transform .8s ease;
	will-change: opacity, transform;
}

.animate-style.is-visible {
	opacity: 1;
	transform: none !important;
}

.animate-fade-up {
	transform: translateY(40px);
}

.animate-fade-left {
	transform: translateX(40px);
}

.animate-fade-right {
	transform: translateX(-40px);
}


/* RESPONSIVE */
@media (max-width: 1600px) {
	
}

@media (max-width: 1400px) {
	
}

@media (max-width: 1200px) {
    .padding-standard {
        padding:var(--spaceS) var(--spaceS);
    }
    .padding-standard2 {
        padding:var(--spaceM) var(--spaceS);
    }
    .padding-footer {
        padding:var(--spaceM) var(--spaceS) var(--spaceS) var(--spaceS);
    }
    .site-footer__bottom {
        padding-top:var(--spaceS);
    }
    .padding-standard3 {
        padding:var(--spaceL) var(--spaceS);
    }
    .padding-standard4 {
        padding:var(--spaceM) var(--spaceS) var(--spaceM) var(--spaceS);
    }
    .padding-standard5 {
        padding:var(--spaceM) var(--spaceS) var(--spaceM) var(--spaceS);
    }
    .padding-standard6 {
        padding:var(--spaceM) var(--spaceS) var(--spaceM) var(--spaceS);
    }
    .padding-standard7 {
        padding:var(--spaceS) var(--spaceS) var(--spaceM) var(--spaceS);
    }
    .article-lavori-section__img {
        max-width:250px;
    }
    .article-lavori-section__img-container {
        max-width:250px!important;
    }
}

@media (max-width: 991px) {
    .site-header__toggle {
        display: block;
    }
    .site-nav {
        width: 100%;
        position: fixed;
        left: 0;
        right: 0;
        top: 100%;
        inset: 0;
        background: var(--white);
        transform: translateY(-100%);
        transition: transform 280ms ease;
        display: block;
    }
    .site-nav.is-open {
        transform: translateY(0);
    }
    .site-header__brand, .site-header__toggle {
        z-index: 2;
        position: relative;
    }
    body.is-nav-open .site-header__toggle-icon--open {
        display: none;
    }
    .site-header__toggle-icon--close {
        background-color:var(--black);
        display: none;
    }
    body.is-nav-open .site-header__toggle-icon--close {
        display: block;
    }
    .site-nav {        
        padding-top: 170px;
        height: auto;
        overflow: hidden;
        display: flex;
        flex-direction: column;
        z-index: 1;
    }
    .site-nav__list {
        padding: 0px var(--spaceM);
        overflow: auto;
        padding-bottom: var(--spaceM);
        width:100%;
    }
    .site-nav__item {
        padding-bottom: var(--spaceS);
        width: 100%;
        display: block;
    }
    .about-section__content {
        max-width:625px;
        margin-left:auto;
        margin-right:auto;
    }
    .about-section__content {
        max-width:100%;
    }
    .services-section__subtitle {
        max-width:100%;
    }
    .organization-section__text {
        max-width: 100%;
    }
    .services-section__row {
        max-width:1000px;
        margin-right: calc(-.5 * var(--bs-gutter-x));
        margin-left: calc(-.5 * var(--bs-gutter-x));
    }
    .projects-section__col--image,
    .organization-section__col--image {
        height:500px;
    }
    .projects-section__content {
        max-width:none;
    }
    .qualita-hero-section__content {
        max-width:none;
    }
    .history-section__col--gallery {
        max-width: 700px;
        margin-left: auto;
        margin-right: auto;
    }
    .history-section__col--content {
        padding-top:0px!important;
    }
    .article-lavori-section__img {
        max-width:400px;
    }
    .article-lavori-section__img-container {
        max-width:400px!important;
    }
    .project-detail-section__image {
        max-height:400px;
    }
    .method-section__title {
        max-width:none;
    }
}

@media (max-width: 991px) {}

@media (max-width: 781px) {}

@media (max-width: 767px) {
    .style3 {
        font-size:36px;
        line-height:44px;
        letter-spacing:0px;
    }
    .style4 {
        font-size:16px;
        line-height:24px;
        letter-spacing:0px;
    }
    .services-section__cta {
        margin-left:auto;
        margin-right:auto;
    }
    .projects-section__col--image,
    .organization-section__col--image {
        height:400px;
    }
    .qualita-hero-section__image {
        max-height:480px;
    }
    .method-section__item {
        flex-direction:column;
        gap:20px!important;
    }
}

@media (max-width: 500px) {
}

@media (min-width: 500px) {}

@media (min-width: 567px) and (max-width: 1920px) {
    .container {
        max-width:100%;
    }
}
@media (min-width: 767px) {
}

@media (min-width: 991px) {}

@media (min-width: 1001px) {}

@media (min-width: 1200px) {}

@media (min-width: 1400px) {}

@media (min-width: 1600px) {}

@media (min-width: 1920px) {}