body {
    font-family: "centurygothic", sans-serif;
    font-optical-sizing: auto;
    font-weight: 400;
    font-style: normal;
}

.pb-75 {
    padding-bottom: 75%;
}

a {
    color: white;
    text-decoration: none;
}

.wp-singular.single-post .single-news a {
    color: #25376B;
}

/* direction classes */
.direction-rtl {
    direction: rtl;
}

/* font-size classes */
.fs-0p9rem {
    font-size: .9rem;
}

/* text-align classes */
.text-justify {
    text-align: justify;
}

/* hyphense classes */
.hyphense-auto {
    hyphens: auto;
}

/* aspect-ratio classes */
.ratio-1x1p5 {
    aspect-ratio: 1/1.5;
}

/* transform classes */
.transofrm-translateY-50perc {
    transform: translateY(50%);
}

/* linear-gradient classes */
.bg-gradient-bottom-1D2C55-to-transparent {
    background: linear-gradient(to top, #0F1830, transparent);
}

.modify-scrollbar-white::-webkit-scrollbar {
    background: transparent;
    border: 1px solid white;
    border-radius: 10px;
}

.modify-scrollbar-white::-webkit-scrollbar-thumb {
    background: white;
    border-radius: 10px;
}

.modify-scrollbar-white::-webkit-scrollbar-track {
    background: transparent;
}

.modify-scrollbar::-webkit-scrollbar {
    background: transparent;
    border: 1px solid #2F3A86;
    border-radius: 10px;
}

.modify-scrollbar::-webkit-scrollbar-thumb {
    background: #2F3A86;
    border-radius: 10px;
}

.modify-scrollbar::-webkit-scrollbar-track {
    background: transparent;
}

.bg-center-norepeat-cover {
    background-position: center;
    background-repeat: no-repeat;
    background-size: cover;
    background-attachment: scroll;
}

.opacity-layer-03{
    opacity: .3;
}

.hide-arrow {
    appearance: none; /* Nasconde la freccia di default (standard) */
    -webkit-appearance: none; /* Safari */
    -moz-appearance: none; /* Firefox */
}

.title-centurygothic-bold {
    font-family: 'centurygothic bold', sans-serif;
}

.centurygothic {
    font-family: 'centurygothic', sans-serif;
}

.centurygothic-bold,
.centurygothic-strong-bold strong {
    font-family: 'centurygothic bold', sans-serif;
}

b, strong {
    font-family: 'centurygothic bold', sans-serif;
}

.barlow-regular {
    font-family: 'barlow regular', sans-serif;
}

.barlow-medium {
    font-family: 'barlow medium', sans-serif;
}

.montserrat-regular {
    font-family: 'montserrat regular', sans-serif;
}

.montserrat-medium {
    font-family: 'montserrat medium', sans-serif;
}

.display-md-2 {
    font-size: calc(1.575rem + 3.9vw);
}

.border_bottom_2px_solid_white_opaco {
    border-bottom: 2px solid rgba(132, 134, 159, 0.3);
}

.carousel-control-prev-icon {
    background-image: url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 16 16' fill='%2325376B'%3e%3cpath d='M11.354 1.646a.5.5 0 0 1 0 .708L5.707 8l5.647 5.646a.5.5 0 0 1-.708.708l-6-6a.5.5 0 0 1 0-.708l6-6a.5.5 0 0 1 .708 0z'/%3e%3c/svg%3e");
}

.wp-singular.progetti-realizzati-template-default .carousel-control-prev-icon {
    background-image: url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 16 16' fill='%23ffffff'%3e%3cpath d='M11.354 1.646a.5.5 0 0 1 0 .708L5.707 8l5.647 5.646a.5.5 0 0 1-.708.708l-6-6a.5.5 0 0 1 0-.708l6-6a.5.5 0 0 1 .708 0z'/%3e%3c/svg%3e");
}

.carousel-control-next-icon {
    background-image: url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 16 16' fill='%2325376B'%3e%3cpath d='M4.646 1.646a.5.5 0 0 1 .708 0l6 6a.5.5 0 0 1 0 .708l-6 6a.5.5 0 0 1-.708-.708L10.293 8 4.646 2.354a.5.5 0 0 1 0-.708z'/%3e%3c/svg%3e");
}

.wp-singular.progetti-realizzati-template-default .carousel-control-next-icon {
    background-image: url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 16 16' fill='%23ffffff'%3e%3cpath d='M4.646 1.646a.5.5 0 0 1 .708 0l6 6a.5.5 0 0 1 0 .708l-6 6a.5.5 0 0 1-.708-.708L10.293 8 4.646 2.354a.5.5 0 0 1 0-.708z'/%3e%3c/svg%3e");
}

.fs-1p3rem {
    font-size: 1.3rem;
}

.text-overflow-ellipsis {
    text-overflow: ellipsis;
}

.overflow-hidden {
    overflow: hidden;
}

.display-webkit-box {
    display: -webkit-box;
}

.webkit-box-orient-vertical {
    -webkit-box-orient: vertical;
}

.webkit-line-clamp-3 {
    -webkit-line-clamp: 3! important;
}

/* z-index classes */
.z-index-1050 {
    z-index: 1050;
}

/* height classes */
.h-65 {
    height: 65%;
}

.sostenibilita-e-innovazione-84869F-hover {
    transition: color .5s;
}

.sostenibilita-e-innovazione-84869F-hover:hover {
    color: #ABAED1! important;
}

.vh-85 {
    height: 85vh;
}

.h-90px {
    height: 90px;
}

.h-80px {
    height: 80px;
}

.h-10px-imp {
    height: 10px! important;
}

.h-40 {
    height: 40%;
}

/* transition */
.transition-bg-mezzo-secondo {
    transition: background-color .3s;
}

.transition-py-mezzo-secondo {
    transition: padding-top .3s, padding-bottom .3s;
}

.transition-color-mezzo-secondo {
    transition: color .3s;
}

.transition-border-color-mezzo-secondo {
    transition: border-color .3s
}

/* line-height */
.line-height-1 {
    line-height: 1;
}

/* margin classes */
.mb-paragraph-0 p {
    margin-bottom: 0;
}

.mb-10rem {
    margin-bottom: 10rem;
}

.mb-8rem {
    margin-bottom: 8rem;
}

.mb-7rem {
    margin-bottom: 7rem;
}

.mb-6rem {
    margin-bottom: 6.5rem;
}

.mb-5rem {
    margin-bottom: 5rem;
}

.mb-4rem {
    margin-bottom: 4rem;
}

.mb-2rem {
    margin-bottom: 2rem;
}

.mt-5rem {
    margin-top: 5rem;
}

.mt-4rem {
    margin-top: 4rem;
}

.my-8rem {
    margin-top: 8rem;
    margin-bottom: 8rem;
    color: #2F3A86;
}

.my-5rem {
    margin-top: 5rem;
    margin-bottom: 5rem;
}

.mx-10px {
    margin: 0 10px;
}

.mt-m8px {
    margin-top: -8px;
}

/* border */
.border-blue {
    border-color: #25376B;
}

.rounded-4 > iframe {
    border-radius: 1rem;
}

.border-10px-imp {
    border-width: 10px! important;
}

.border-ABAED1-imp {
    border-color: #ABAED1! important;
}

.border-ABAED1 {
    border-color: #ABAED1;
}

.border-84869F-imp {
    border: .25rem solid #84869F! important;
}

.border-right-color-transparent-imp {
    border-right-color: transparent! important;
}

.border-5-25376B {
    border: 3px solid #25376B;
}

.border-5-2F3A86 {
    border: 3px solid #2F3A86;
}

.border-2F3A86 {
    border: 1px solid #2F3A86;
}

.border-bottom-2F3A86 {
    border-bottom: 1px solid #2F3A86;
}

.border-bottom-white {
    border-bottom: 1px solid white;
}

.border-bottom-7px-solid-25376B {
    border-bottom: 7px solid #25376B;
}

.border-bottom-7px-solid-2F3A86 {
    border-bottom: 7px solid #2F3A86;
}

/* cursor classes */
.cursor-pointer {
    cursor: pointer;
}

/* color */
.on-a-text-2F3A86 > li > a,
.on-a-text-2F3A86 a {
    color: #2F3A86! important;
}

.text-2F3A86-imp {
    color: #2F3A86! important;
}

.text-2F3A86 {
    color: #2F3A86;
}

.text-ABAED1 {
    color: #ABAED1;
}

.text-84869F {
    color: #84869F;
}

/* width classes */
.min-w-25 {
    min-width: 25%;
}

.w-25-without-imp {
    width: 25%;
}

.w_100 {
    width: 100%;
}

.w-70 {
    width: 70%;
}

.w-35 {
    width: 35%;
}

.w-30 {
    width: 30%;
}

.w-15 {
    width: 15%;
}

.w-10 {
    width: 10%;
}

.w-10px-imp {
    width: 10px! important;
}

/* background-color classes */
.bg-ADAFD1 {
    background-color: #ADAFD1;
}

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

.accordion-button {
    font-size: inherit;
}

.bg-DEE0EC {
    background-color: #DEE0EC;
}

.opacity-child-0 > div {
    opacity: 0;
    transition: opacity .5s ease;
}

.opacity-75-child-hover:hover > div {
    opacity: .75;
}

.bg-25376B {
    background-color: #25376B;
}

.bg-253789 {
    background-color: #253789;
}

.bg-2F3A86 {
    background-color: #2F3A86;
}

.bg-2F3A86-imp {
    background-color: #2F3A86! important;
}

.bg-ABAED1 {
    background-color: #ABAED1;
}

.bg-repeat-no-repeat {
    background-repeat: no-repeat;
}

.bg-size-contain {
    background-size: contain;
}

.bg-size-cover {
    background-size: cover;
}

.bg-size-auto {
    background-size: auto;
}

.bg-position-center {
    background-position: center;
}

.bg-position-50perc-70perc {
    background-position: 50% 70%;
}

/* padding classes */
.py-10rem {
    padding-top: 10rem;
    padding-bottom: 10rem;
}

.py-7rem {
    padding-top: 7rem;
    padding-bottom: 7rem;
}

.py-5rem {
    padding-top: 5rem;
    padding-bottom: 5rem;
}

.pb-100 {
    padding-bottom: 100%;
}

.pb-70 {
    padding-bottom: 70%;
}

.pb-30 {
    padding-bottom: 30%;
}

.pt-15rem {
    padding-top: 15rem;
}

.pt-10rem {
    padding-top: 10rem;
}

.pt-5rem {
    padding-top: 5rem;
}

.pt-4rem {
    padding-top: 4rem;
}

.pb-10rem {
    padding-bottom: 10rem;
}

.pb-5rem {
    padding-bottom: 5rem;
}

/* utilities classes */
.project-title-box {
    position: absolute;
    left: 20%;
    bottom: -30%;
    transform: translateX(-17%);

    width: 90%;
    background-color: #25376B;
    border-radius: 0.75rem;

    padding: 0.75rem 1.25rem;
}

#carouselProgettiRealizzati .ratio>*,
#lista-progetti-per-settori .ratio>* {
    top: auto;
}

.carousel-indicators [data-bs-target] {
    background-color: #25376B;
}

.navbar-toggler:focus {
    box-shadow: none;
}

.form-info:focus {
    background-color: #DEE0EC;
}

.navbar-toggler-icon {
    width: 2em;
    height: 2em;
}

.menu-hamburger-icon {
    background-image: url("https://guastamacchia.proformaweb.it/wp-content/uploads/burger-menu-svgrepo-com.svg");
}

.menu-hamburger-icon-blue {
    background-image: url("http://guastamacchia.proformaweb.it/wp-content/uploads/burger-menu-svgrepo-com-blue.svg");
}

.accordion-button::after:not(.page-template-chi-siamo) {
    content: none;
}

.page-template-chi-siamo .accordion-button::after {
    background-image: url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 16 16' fill='none' stroke='%232F3A86' stroke-linecap='round' stroke-linejoin='round'%3e%3cpath d='m2 5 6 6 6-6'/%3e%3c/svg%3e ");
}

.placeholder-white::placeholder {
    color: white;
}

.on-li-list-style-none {
    list-style: none;
}

.on-li-mb-4 > li {
    margin-bottom: 1.5rem;
}

.hero-section-title-clamp {
    font-size: clamp(2rem, 5.5vw, 6.2rem);
}

/* media queries */
@media screen and (max-width: 400px) {
    .fs-max-w-400px-p9rem {
        font-size: .9rem;
    }
}

@media screen and (max-height: 600px) {
    .vh-85 {
        height: 100vh;
    }

    .vh-100 {
        height: 120vh! important;
    }
}

@media screen and (min-width: 500px) {
    .project-title-box {
        bottom: -20%;
    }
}

@media screen and (min-width: 576px) {
    .pe-sm-20 {
        padding-right: 20%;
    }

    .h-sm-2 {
        font-size: calc(1.325rem + .9vw);
    }

    .h-sm-5 {
        font-size: 1.25rem;
    }

    .h-sm-40-imp {
        height: 40%! important;
    }

    .h-sm-40 {
        height: 40%;
    }

    .mb-sm-5rem {
        margin-bottom: 5rem;
    }

    .ratio-sm-16x9 {
        --bs-aspect-ratio: 56.25%;
    }
}

@media (min-width: 768px) {
    .pb-md-80 {
        padding-bottom: 80%;
    }

    .mb-md-5rem-imp {
        margin-bottom: 5rem! important;
    }

    .ratio-md-16x9 {
        --bs-aspect-ratio: 56.25%;
    }

    .w-md-75-imp {
        width: 75%! important;
    }
}

@media (min-width: 992px) {
    .ratio-lg-21x9 {
        --bs-aspect-ratio: 42.857142857142854%;
    }

    .mt-lg-2p5rem-imp {
        margin-top: 2.5rem! important;
    }

    .mb-lg-2p5rem-imp {
        margin-bottom: 2.5rem! important;
    }
    
    .h-lg-35-imp {
        height: 35%! important;
    }

    .h-lg-30-imp {
        height: 30%! important;
    }

    .project-title-box {
        bottom: -10%;
    }

    .project-title-box-home {
        bottom: -5%;
    }

    .mt-lg-7rem {
        margin-top: 7rem;
    }

    .mb-lg-10rem {
        margin-bottom: 10rem;
    }

    .mb-lg-8rem {
        margin-bottom: 8rem;
    }

    .mb-lg-7rem {
        margin-bottom: 7rem;
    }

    .w-lg-75 {
        width: 75%;
    }

    .w-lg-50-imp {
        width: 50%! important;
    }
}

@media (max-width: 1200px) {
    .ratio-img-progetti {
        position: relative;
        width: 100%;
    }

    .ratio-img-progetti-16x9 {
        --bs-aspect-ratio: 56.25%;
    }

    .bg-max-to-xl-unset-imp {
        background-image: unset! important;
    }
}

@media (min-width: 1200px) {
    .rounded-start-xl-0 {
        border-top-left-radius: 0! important;
        border-bottom-left-radius: 0! important;
    }

    .h-xxl-65-imp {
        height: 65%! important;
    }

    .py-xl-5rem {
        padding-top: 5rem;
        padding-bottom: 5rem;
    }

    .ratio-xl-0 {
        --bs-aspect-ratio: auto;
    }

    .text-xl-2F3A86-imp {
        color: #2F3A86! important;
    }

    .bg-xl-unset-imp {
        background-image: unset! important;
    }

    .fs-xl-0p7rem {
        font-size: .7rem;
    }

    .mb-xl-4rem-imp {
        margin-bottom: 4rem! important;
    }

    .h-xl-50-imp {
        height: 50%! important;
    }

    .h-sm-2 {
        font-size: 2rem;
    }

    .project-title-box {
        transform: translateX(-20%);
        width: 70%;
    }

    .h-xl-40-imp {
        height: 40%! important;
    }

    .h-xl-25-imp {
        height: 25%! important;
    }

    .mt-xl-10rem {
        margin-top: 10rem;
    }

    .my-xl-5rem {
        margin-top: 5rem;
        margin-bottom: 5rem;
    }

    .w-xl-25 {
        width: 25%! important;
    }

    .position-xl-static {
        position: static;
    }

    .hero-section-title-animation span {
        display: inline-block;
        transform-origin: bottom center;
        transform: rotateX(90deg);
        opacity: 0;
        animation-fill-mode: forwards;
        animation-timing-function: cubic-bezier(0.34, 1.56, 0.64, 1);
    }

    h2 span:nth-child(1) {
        animation: liftUp 1s 0.4s forwards;
    }

    h2 span:nth-child(2) {
        animation: liftUp 0.7s 0.7s forwards;
    }

    h2 span:nth-child(3) {
        animation: liftUp 0.5s 0.8s forwards;
    }

    @keyframes liftUp {
        0% {
            transform: rotateX(90deg);
            opacity: 0;
            animation-timing-function: linear; /* inizio lineare */
        }
        50% {
            transform: rotateX(45deg);
            opacity: 1;
            animation-timing-function: ease-out; /* rallenta */
        }
        70% {
            transform: rotateX(20deg);
            opacity: 1;
            animation-timing-function: linear; /* riparte lineare */
        }
        100% {
            transform: rotateX(0deg);
            opacity: 1;
        }
    }

    .display-md-2 {
        font-size: 4.5rem;
    }

    .border_xl_end_2px_solid_white_opaco {
        border-right: 2px solid rgba(132, 134, 159, 0.3);
    }

    .border_xl_bottom_0 {
        border-bottom: 0;
    }

    .mt-xl-5rem-imp {
        margin-top: 5rem! important;
    }

    .mb-xl-5rem-imp {
        margin-bottom: 5rem! important;
    }

    .pe-xl-5rem {
        padding-right: 5rem;
    }

    .w-xl-75 {
        width: 75%! important;
    }

    .w-xl-auto-imp {
        width: auto! important;
    }

    .line-xxl-height-1 {
        line-height: 1;
    }

    .pb-xl-5-imp {
        padding-bottom: 3rem! important;
    }

    .pt-xl-15rem {
        padding-top: 15rem;
    }

    .pt-xl-10rem {
        padding-top: 10rem;
    }

    .pt-xl-7rem {
        padding-top: 7rem;
    }

    .pb-xl-80 {
        padding-bottom: 80%;
    }

    .pb-xl-10rem-imp {
        padding-bottom: 10rem! important;
    }

    .pb-xl-10rem {
        padding-bottom: 10rem;
    }

    .pb-xl-7rem {
        padding-bottom: 7rem;
    }

    .w-xl-50-imp {
        width: 50%! important;
    }

    .mb-xl-0-imp {
        margin-bottom: 0! important;
    }

    .mb-xl-10rem {
        margin-bottom: 10rem;
    }

    .border-xl-10px-imp {
        border-width: 10px! important;
    }

    .w-xl-15-imp {
        width: 15%! important;
    }
}

@media (max-width: 1400px) {
    .border-top-5px-solid-2F3A86 {
        border-top: 5px solid #2F3A86;
    }
}

@media (min-width: 1400px) {
    .ratio-xxl-1x1 {
        --bs-aspect-ratio: 100%;
    }

    .mb-xxl-5rem-imp {
        margin-bottom: 5rem! important;
    }

    .mb-xxl-0-imp {
        margin-bottom: 0! important;
    }

    .border-xxl-10px-imp {
        border-width: 10px! important;
    }

    .w-xxl-15-imp {
        width: 15%! important;
    }

    .pb-xxl-10rem-imp {
        padding-bottom: 10rem! important;
    }

    .h-xxl-40-imp {
        height: 40%! important;
    }

    .h-xxl-25-imp {
        height: 25%! important;
    }

    .on-a-text-blue-imp > li > a,
    .on-a-text-blue-imp > .separator {
        color: #2F3A86! important;
    }

    .on-a-text-white-imp > li > a,
    .on-a-text-white-imp > .separator {
        color: white! important;
    }

    .on-li-xxl-mb-0 > li {
        margin-bottom: 0;
    }

    .border-start-5px-solid-2F3A86 {
        border-left: 5px solid #2F3A86;
    }

    .w-xxl-35-imp {
        width: 35%! important;
    }
}

@media (min-width: 1474px) and (max-width: 1699px) {
    .hero-section-title-clamp {
        font-size: clamp(2rem, 4vw, 6.3rem);
    }
}

@media (min-width: 1700px) {
    .h-1700-50-imp {
        height: 50%! important;
    }

    .h-1700-25-imp {
        height: 25%! important;
    }

    .pt-1700-5-imp {
        padding-top: 3rem! important;
    }

    .on-li-1700-mb-0 > li {
        margin-bottom: 0;
    }

    .line-xxl-height-1 {
        line-height: 1;
    }

    .navbar-expand-1700 {
        flex-wrap: nowrap;
        justify-content: flex-start;
    }

    .flex-1700-column {
        flex-direction: column !important;
    }

    .align-items-1700-end {
        align-items: flex-end !important;
    }

    .h-1700-6 {
        font-size: 1rem;
    }

    .h-1700-30-imp {
        height: 30%! important;
    }

    .order-1700-1-imp {
        order: 1! important;
    }

    .order-1700-2-imp {
        order: 2! important;
    }

    .order-1700-3-imp {
        order: 3! important;
    }

    .d-1700-block {
        display: block!important;
    }

    .col-1700-4 {
        flex: 0 0 auto;
        width: 33.33333333%;
    }

    .col-1700-6 {
        flex: 0 0 auto;
        width: 50%;
    }

    .flex-1700-row {
        flex-direction: row !important;
    }

    .pb-1700-0 {
        padding-bottom: 0px;
    }

    .container, .container-lg, .container-md, .container-sm, .container-xl, .container-xxl {
        max-width: 1650px;
    }

    .col-1700-8 {
        flex: 0 0 auto;
        width: 66.66666667%;
    }

    .col-1700-2 {
        flex: 0 0 auto;
        width: 16.66666667%;
    }

    .mb-1700-0-imp {
        margin-bottom: 0! important;
    }
}

.ar_16_10{
    aspect-ratio: 16/10;
}