@charset "utf-8";

/* ***********************
TRIGENIO  CSS
+++++++++++++++++++++++++ */



/*
========================================
RESET STILI PER ANCORE, PARAGRAFI, TITOLI
========================================
*/


/* SCELTA DEL FONT USATO */

/* testi */
@font-face {
    font-family: testo;
    src: url(fonts/fira.ttf);
}

@font-face {
    font-family: testo_bold;
    src: url(fonts/fira_bold.ttf);
}

/* titolo */
@font-face {
    font-family: titolo;
    src: url(fonts/titolo.ttf);
}

.img-fluid {
    max-width: 100%;
    height: auto;
}

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

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

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

@-ms-viewport {
    width: device-width
}

/* ==== GSAP DEFAULT ===== */

.timeline_stagger_anim {
    opacity: 0;
}


html {
    background-color: white;
    scroll-behavior: smooth;
    box-sizing: border-box;
}

*,
::after,
::before {
    box-sizing: inherit
}

@media screen and (max-width:990px) {
    html {
        overflow-x: hidden;
    }
}

body {
    margin: 0;
    padding: 0;
    color: black;
    background-color: white;
    overflow-x: hidden !important;
    font-family: testo;
    -webkit-font-smoothing: antialiased !important;
    -moz-font-smoothing: antialiased !important;
    -ms-font-smoothing: antialiased !important;
    text-rendering: optimizelegibility !important;
}

:root {
    --maincolor: #0057FF;
    --secondcolor: #1A428A;
    --grigio: #F8F8F8;
}

strong {
    font-weight: normal;
}

main.main_container {}

main.main_container.main_container--white {
    background-color: white;
}

.body-fixed {
    height: 100%;
    width: 100%;
    overflow: hidden;
}


/* colori fissi */



.padding-top--vh {
    padding-top: 15vh;
}

.padding-top-small--vh {
    padding-top: 50px;
}

.padding--vh {
    padding: 15vh 0;
}

.padding-small--vh {
    padding: 10vh 0;
}


ul {
    list-style: none;
    margin: 0;
    padding: 0;
}

li {
    list-style: none;
    margin: 0;
    padding: 0;
}

section {
    position: relative;
    z-index: 5;
}

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

h1,
h2,
h3,
h4 {
    margin: 0;
    padding: 0;
    font-weight: normal;
    font-family: titolo;
    color: #535353;
}

h1 {
    font-size: 64px;
}

.scroll__down {
    position: fixed;
    right: 5%;
    bottom: 80px;
    color: #aaa;
    font-size: 18px;
    writing-mode: vertical-rl;
    transform-origin: center;
    transform: rotate(180deg);
    animation: scroll__down 2s ease infinite;
    -webkit-transition: opacity 0.55s ease;
    transition: opacity 0.55s ease;
    z-index: 100;
}

.scroll__down--fade {
    opacity: 0;
    visibility: hidden;
}

@keyframes scroll__down {
    0% {
        transform: translateY(0);
    }

    50% {
        transform: translateY(30px);
    }

    100% {
        transform: translateY(0);
    }
}


p {
    color: #777777;
    font-size: 18px;
    line-height: 150%;
    margin: 0;
    margin-bottom: 15px;
    font-family: testo;
}


.label_sezione {
    color: #1A428A;
    font-size: 13px;
    text-transform: uppercase;
    letter-spacing: 10px;
    margin-bottom: 30px;
    font-family: titolo;
}

.label_sezione--gray {
    color: #ccc;
}


@media (max-width:1500px) {

    h1 {
        font-size: 48px;
    }
}

@media (max-width:1350px) {

    h1 {
        font-size: 40px;
    }
}

@media (max-width:1250px) {
    p {
        font-size: 17px;
    }

    h1 {
        font-size: 32px;
    }
}

@media (max-width:990px) {
    p {
        font-size: 16px;
    }

    h1 {
        font-size: 36px;
    }
}


@media (max-width:768px) {
    p {
        font-size: 15px;
    }

    h1 {
        font-size: 30px;
    }

    .label_sezione {
        font-size: 11px;
        text-align: center;
        letter-spacing: 6px;
        margin-bottom: 30px;
    }
}

p:last-child {
    margin-bottom: 0;
}

p a {
    text-decoration: underline;
    color: black;
}

p strong {
    font-family: testo_bold;
}



.page_hero_intro p strong {
   color: black;
}

.mt-nav {
    margin-top: calc(120px + 8vh);
}

@media (max-width:1500px) {
    .padding-top--vh {
        padding-top: 15vh;
    }
}

@media (max-width:1350px) {
    .padding-top--vh {
        padding-top: 11vh;
    }

}

@media (max-width:1350px) {
    .mt-nav--mobile {
        padding-top: 50px;
    }

}


@media (max-width:1250px) {
    .mt-nav--mobile {
        padding-top: 80px;
    }

}

@media (max-width:990px) {
    .padding-top--vh {
        padding-top: 50px;
    }

    .padding--vh {
        padding: 10vh 0;
    }

    .padding-top--vh {
        padding-top: 10vh;
    }
}

@media (max-width:768px) {
    .padding-top--vh {
        padding-top: 50px;
    }

    .padding--vh {
        padding: 50px 0;
    }

    .mt-nav {
        margin-top: calc(70px + 5vh);
    }
}

@media (max-width:768px) {
    .mt-nav--mobile {
        padding-top: 50px;
    }
}

/*
========================================
CLASSI PERSONALIZZATE SPAZIATURE, COLORE
========================================
*/

.sfondo-colore {
    background-color: var(--maincolor);
}

.container-50 {
    width: 50%;
    margin: 0 auto;
    position: relative;
    max-width: 1100px;
}

.container-80 {
    width: 80%;
    margin: 0 auto;
    position: relative;
}

.container-90 {
    width: 90%;
    margin: 0 auto;
    position: relative;
}

.container-70 {
    width: 70%;
    margin: 0 auto;
    position: relative;
}

.container-100 {
    width: calc(100% - 100px);
    margin: 0 auto;
}


.container-legals {
    max-width: 990px;
}

.container-custom {
    width: calc(100% - 60px);
    margin: 0 auto;
    position: relative;
}

.container-mappa {
    margin-top: 50px;
}

@media (max-width:1350px) {
    .container-80 {
        width: 90%;
    }

    .container-70 {
        width: 80%;
        margin: 0 auto;
        position: relative;
    }
}

@media (max-width:1500px) {
    .container-100 {
        width: calc(100% - 80px);
        margin: 0 auto;
    }
}

@media (max-width:1250px) {
    .container-50 {
        width: 90%;
    }
}

@media screen and (max-width:990px) {

    .container-100 {
        width: calc(100% - 50px);
        margin: 0 auto;
    }

    .container-80 {
        width: 90%;
        margin: 0 auto;
        position: relative;
    }

    .container-90 {
        width: 85%;
    }

    .container-80.container-80-mobile-full {
        width: 100%;
    }

    .container-70 {
        width: 90%;
    }

    .container-100--mobile {
        width: 100%;
    }

}


@media (max-width:768px) {
    .container-100 {
        width: 100%;
        margin: 0 auto;
    }

    .container-50 {
        width: calc(100% - 50px);
    }

    .container-70 {
        width: calc(100% - 50px);
    }

    .container-80 {
        width: calc(100% - 50px);
    }

    .container-90 {
        width: calc(100% - 50px);
    }
}

.sfondo-bianco {
    background-color: white;
}


/* === pulsanti === */

.btn {
    display: flex;
    align-items: center;
    gap: 15px;
    font-family: titolo;
    font-size: 15px;
    position: relative;
    position: relative;
    left: 25px;
}

.btn:before {
    content: "";
    display: block;
    height: 50px;
    width: 50px;
    top: 50%;
    left: 0;
    border-radius: 100%;
    border: 1px solid #ccc;
    position: absolute;
    transform: translate(-50%, -50%);
    -webkit-transition: all 0.5s;
    transition: all 0.5s;
    z-index: -1;
}

.btn:hover:before {
    height: 60px;
    width: 60px;
}

.btn img {
    height: 16px;
}

.btn--light {
    color: white;
}

.btn.btn--light:before {
    border: 1px solid #eeee;
}

.btn--light img {
    filter: invert(100);
}

@media (max-width:768px) {
    .btn {
        gap: 12px;
        font-size: 14px;
        left: 20px;
    }

    .btn:before {
        content: "";
        display: block;
        height: 40px;
        width: 40px;
    }

    .btn:hover:before {
        height: 40px;
        width: 40px;
    }

}

/* ============================
MENU DI NAVIGAZIONE // header.php
============================ */

.navigazione {
    position: fixed;
    z-index: 1000;
    left: 0;
    top: 0;
    transition: all 0.35s;
    padding: 0 5%;
    display: flex;
    align-items: center;
    justify-content: space-between;
    width: 100%;
    -webkit-transition: all 0.35s;
    transition: all 0.35s;
    height: 150px;
}


.navigazione--scroll {
    height: 80px;
}

.navigazione--light {
    background-color: rgba(255, 255, 255, 1);
}

.navigazione--light-menu {
    background-color: rgba(255, 255, 255, 1);
}

.navigazione__logo svg {
    fill: white;
}

.navigazione--light .navigazione__logo svg,
.navigazione--light--pagina .navigazione__logo svg,
.navigazione--light-menu .navigazione__logo svg {
    fill: #244385;
}

.navigazione a {
    margin: 0;
    padding: 0;
}

.navigazione__logo svg {
    -webkit-transition: all 0.35s ease;
    transition: all 0.35s ease;
    height: 50px;
}


.navigazione--scroll .navigazione__logo svg {
    height: 40px;
}


.navigazione__dx {
    display: flex;
    justify-content: flex-end;
    align-items: center;
    gap: 20px
}

.navigazione__dx--hide {
    visibility: hidden;
}

.burger {
    background-color: white;
    border-radius: 100px;
    display: flex;
    align-items: center;
    gap: 10px;
    padding: 13px 30px;
    color: black;
}

.navigazione--light .burger,
.navigazione--light--pagina .burger,
.navigazione--light-menu .burger {
    background-color: #F0F0F0;
}


.burger__ico {
    width: 25px;
    -webkit-transition: all 0.35s;
    transition: all 0.35s;
    transform-origin: center;
}

.burger__line {
    width: 100%;
    background-color: black;
    height: 2px;
    margin-bottom: 3px;
    -webkit-transition: width 0.35s ease;
    transition: width 0.35s ease;
    overflow: hidden;
    position: relative;
}

.burger--close .burger__line--hide {
    display: none;
}

.burger--close .burger__line {
    margin-bottom: 0;
}

.burger--close .burger__line:nth-child(2) {
    margin-top: -2px;
    transform-origin: center;
    transform: rotate(90deg);
}

.burger--close .burger__ico {
    transform: rotate(45deg);
    width: 21px;
}


.burger__text {
    color: black;
    font-family: titolo;
    font-size: 13px;
    line-height: 100%;
    margin-bottom: 0;
    text-transform: uppercase;
    height: 13px;
    overflow-y: hidden;
}

.burger__text__inner {
    -webkit-transition: all 0.5s ease;
    transition: all 0.5s ease;
}

.burger--close .burger__text__inner {
    transform: translateY(-13px);
}

.burger__line:last-child {
    margin-bottom: 0;
}

.burger:hover {
    cursor: pointer;
}

@media (max-width:1400px) {
    .navigazione__logo svg {
        height: 45px;
    }

    .navigazione {
        height: 120px;
    }

    .navigazione--scroll {
        height: 80px;
    }

}

@media (max-width:768px) {
    .burger__text {
        display: none;
    }

    .burger {
        height: 45px;
        width: 45px;
        border-radius: 100%;
        display: flex;
        align-items: center;
        justify-content: center;
        padding-left: 0;
        padding: 0;
    }

    .navigazione__dx {
        gap: 15px;
    }

    .navigazione__logo svg {
        height: 33px;
    }

    .navigazione--scroll .navigazione__logo svg {
        height: 33px;
    }

    .burger__ico {
        width: 20px;
    }
}

.nav_search img {
    filter: invert(1);
}


/* navigazione lingue */

.navigazione__lingue li {
    display: inline-block;
    margin: 0;
    font-family: testo;
    color: #919191;
    font-family: titolo;
    text-transform: uppercase;
    font-size: 12px;
}

.current-lang a {
    color: white;
}

.navigazione__lingue ul li:first-child {
    margin-right: 7px;
}

.navigazione--light .nav_search img,
.navigazione--light--pagina .nav_search img,
.navigazione--light-menu .nav_search img {
    filter: invert(0);
}

.navigazione--light .current-lang a,
.navigazione--light--pagina .current-lang a,
.navigazione--light-menu .current-lang a {
    color: #00163E;
}



@media (max-width:990px) {

    .navigazione {
        height: 70px;
    }


    .navigazione--scroll {
        height: 70px;
    }

}

/* ======== NAVIGAZIONE FULLSCREEN // header.php ======== */

.menu_fullscreen {
    position: fixed;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    background-color: white;
    z-index: 500;
    visibility: hidden;
    opacity: 0;
    transition: all 0.35s;
    -webkit-transition: all 0.35s;
}

.menu_fullscreen--show {
    visibility: visible;
    opacity: 1;
}

.menu_fullscreen_row {
    width: 100%;
    display: flex;
    align-items: center;
    justify-content: center;
    height: 50vh;
    position: relative;
    overflow: hidden;
}

.menu_fullscreen_row:nth-child(2) {
    background-color: #F0F0F0;
}

.menu_fullscreen_row--1 ul {
    position: relative;
    z-index: 10;
}

.menu_fullscreen__circle--1 {
    width: 50vw;
    height: 50vw;
    border: 1px solid #eee;
    border-radius: 100%;
    position: absolute;
    bottom: 0;
    left: 50%;
    transform: translate(-50%, 50%);
}

.menu_fullscreen__circle--2 {
    width: 90vw;
    height: 90vw;
    border: 1px solid #eee;
    border-radius: 100%;
    position: absolute;
    bottom: 0;
    left: 50%;
    transform: translate(-50%, 50%);
}

.menu_fullscreen_row--1>ul {
    display: flex;
    justify-content: space-between;
    width: 90%;
    font-family: titolo;
    text-transform: uppercase;
}

.menu_fullscreen_row--1 li {
    color: var(--maincolor);
    font-size: 15px;
}

.menu_fullscreen_row--1 .sub-menu li {
    color: var(--secondcolor);
    margin-bottom: 7px;
    font-size: 13px;
}

.menu_fullscreen_row--1 .sub-menu {
    padding-top: 20px;
}

.menu_fullscreen_row--2 img {
    height: 45px;
    margin-bottom: 20px;
}

.menu_fullscreen_row--2 ul {
    display: flex;
    justify-content: space-between;
    width: 90%;
}

.menu_fullscreen_row--2 li {
    text-align: center;
    font-family: titolo;
    text-transform: uppercase;
    font-size: 12px;
    color: var(--secondcolor);
    min-width: 120px;
    -webkit-transition: all 0.5s ease;
    transition: all 0.5s ease;
    filter: grayscale(100);
    max-width: 200px;
}

.menu_fullscreen_row--2 li:hover {
    filter: grayscale(0);
}

.menu_fullscreen_row--2 li img {
    margin-bottom: 15px;
    -webkit-transition: all 0.5s ease;
    transition: all 0.5s ease;
}

.menu_fullscreen_row--2 .label_sezione {
    position: absolute;
    top: 15%;
    left: 50%;
    transform: translateX(-50%);
    color: #bbb;
}

.menu_fullscreen_row--2 li:hover img {
    transform: translateY(-5px);
}

@media (max-width:1250px) {
    .menu_fullscreen_row--1>ul {
        justify-content: space-between;
        gap: 0;
        width: 90%;
    }
}

@media (max-width:990px) {
    .menu_fullscreen_row--2 ul {
        width: 100%;
        overflow-x: scroll;
        justify-content: flex-start;
        gap: 5%;
        padding-left: 5%;
        padding-right: 5%;
    }

    .menu_fullscreen_row--2 li {
        font-size: 9px;
        min-width: 130px;
        background-color: white;
        padding: 15px;
        border-radius: 15px;
    }

    .menu_fullscreen_row--1 ul {
        display: block;
    }

    .menu_fullscreen_row--1 {
        display: block;
        overflow-y: scroll;
        padding-top: calc(70px + 4vh);
        height: 60%;
        padding-left: 5%;
    }

    .menu_fullscreen_row--2 {
        height: 40%;
    }

    .menu_fullscreen__circle--1 .sub-menu {
        display: none;
    }

}

.menu_fullscreen--show .menu_fullscreen_row--1 ul {
    animation: menu_anim-1 .8s ease;
}

@keyframes menu_anim-1 {
    0% {
        opacity: 0;
        transform: translateY(-30px);
    }

    30% {
        opacity: 0;
        transform: translateY(-30px);
    }

    100% {
        opacity: 1;
        transform: translateY(0);
    }
}

.menu_fullscreen--show .menu_fullscreen_row--2 ul {
    animation: menu_anim-2 .9s ease;
}

@keyframes menu_anim-2 {
    0% {
        opacity: 0;
        transform: translateY(-30px);
    }

    50% {
        opacity: 0;
        transform: translateY(-30px);
    }

    100% {
        opacity: 1;
        transform: translateY(0);
    }
}

@media (max-width:768px) {
    .menu_fullscreen_row--1 .sub-menu {
        display: none;
    }

    .menu_fullscreen_row--1 li {
        margin-bottom: 7px;
    }

    .menu_fullscreen--show .menu_fullscreen_row--1 ul {
        animation: none;
    }

    .menu_fullscreen--show .menu_fullscreen_row--2 ul {
        animation: none;
    }

    ul .sub-menu {
        padding-top: 5px;
        padding-bottom: 5px;
    }

    ul .sub-menu li {
        margin-bottom: 5px;
    }
}

/* ========================
AJAX SEARCH - menu fullscreen cerca
========================== */

.icona_cerca:hover {
    cursor: pointer;
    transform-origin: center;
    -webkit-transition: all 0.35s;
    transition: all 0.35s;
}

.icona_cerca:hover {
    opacity: 0.65;
}

.cerca_fullscreen {
    position: fixed;
    background-color: #F0F0F0;
    height: 100vh;
    width: 100%;
    z-index: 1000000000000000;
    top: 0;
    left: 0;
    visibility: hidden;
    opacity: 0;
    display: flex;
    justify-content: center;
    align-items: center;
    -webkit-ransition: all 0.55s ease;
    transition: all 0.55s ease;
}

.cerca_fullscreen__close {
    position: absolute;
    top: 50px;
    right: 50px;
    height: 60px;
    width: 60px;
    display: flex;
    justify-content: center;
    align-items: center;
    -webkit-transition: opacity 0.35s;
    transition: opacity 0.35s;
    background-color: #333335;
    border-radius: 100px;
}

.cerca_fullscreen__close img {
    filter: invert(1);
    height: 24px;
}

.cerca_fullscreen__close:hover {
    opacity: 0.6;
}

.cerca_fullscreen__close:hover {
    cursor: pointer;
}

.cerca_fullscreen--show {
    visibility: visible;
    opacity: 1;
}

input:focus,
select:focus,
textarea:focus,
button:focus {
    outline: none;
}

.cerca_content {
    margin: 0;
    min-width: 60vw;
    max-width: 100%;
}


input#keyword {
    background-color: transparent;
    border: none;
    border: none;
    border-radius: 100px !important;
    background-color: white;
    padding: 20px;
    text-align: center;
    display: block;
    text-align: center;
    color: #535353 !important;
    font-size: 28px !important;
    font-family: testo;
    -webkit-appearance: none;
    -moz-appearance: none;
    width: 100%;
    max-width: 550px;
    margin: 0 auto;
    margin-bottom: 20px;
    -webkit-box-shadow: 5px 5px 17px 5px rgba(0, 87, 255, 0.2);
    box-shadow: 5px 5px 17px 5px rgba(0, 87, 255, 0.2);
}

@media (max-width:1250px) {
    .cerca_fullscreen__close {
        position: absolute;
        top: 40px;
        right: 40px;
        height: 55px;
        width: 55px;
    }

    .cerca_fullscreen__close img {
        height: 18px;
    }

    input#keyword {
        color: #535353 !important;
        font-size: 23px !important;

    }
}

@media screen and (max-width:768px) {
    .searchform.group {
        margin: 0;
        min-width: 80vw;
        max-width: 100%;
    }

    input#keyword {
        font-size: 18px !important;
    }

    .cerca_content {
        margin: 0;
        min-width: 80vw;
        max-width: 100%;
    }

    .cerca_fullscreen__close {
        position: absolute;
        top: 25px;
        right: 25px;
        height: 45px;
        width: 45px;
    }

    .cerca_fullscreen__close img {
        height: 20px;
    }
}


#datafetch {
    color: #707070;
    text-align: center;
    display: flex;
    flex-wrap: wrap;
    justify-content: center;
    gap: 10px;
    padding-top: 30px;
}

#datafetch h2 {
    font-family: titolo;
    font-size: 18px;
    text-align: center;
    position: absolute;
    bottom: 30px;
    left: 50%;
    transform: translateX(-50%);
}

.datafetch--alert {
    padding-top: 50px;
}

.datafetch_digita {
    color: #707070;
    text-align: center;
    font-family: titolo;
}

.datafetch_nontrovato {
    color: #707070;
    text-align: center;
    display: none;
    font-family: titolo;
}

.search_menu_header input:hover {
    transform: rotate(-30deg);
}

.keyword_result img {
    height: 80px;
    width: auto;
}


.keyword_result {
    width: 18vw;
    height: 18vw;
    display: flex;
    align-items: center;
    justify-content: center;
    background-color: #F7F7F7;
    -webkit-transition: all 0.25s;
    transition: all 0.25s;
    animation: risultato_appari 0.75s;
    position: relative;
    border-radius: 20px;
}

.keyword_result img {
    max-width: 75%;
    height: auto;
    -webkit-transition: all 0.35s ease;
    transition: all 0.35s ease;
}

@keyframes risultato_appari {
    0% {
        opacity: 0;
        transform: translateY(30px);
    }

    15% {
        opacity: 0;
        transform: translateY(30px);
    }

    100% {
        opacity: 1;
        transform: translateY(0);
    }
}

.keyword_result a {
    -webkit-transition: all 0.25s;
    transition: all 0.25s;
}

.keyword_result a:hover img {
    transform: scale(1.1);
}

@media screen and (max-width:768px) {
    .keyword_result {
        width: 100%;
        background-color: #fff;
        display: block;
        height: auto;
        margin-bottom: 5px;
    }

    .keyword_result a {
        background-color: #F7F7F7;
        display: inline-block;
        padding-top: 7px;
        padding-bottom: 7px;
    }

    .keyword_result img {
        max-width: 40%;
        height: auto;
        margin-bottom: 5px;
    }

    #datafetch {
        color: white;
        text-align: center;
        display: block;
    }

    .keyword_result img {}

    #datafetch h2 {
        font-family: titolo;
        font-size: 16px;
        text-align: center;
        position: relative;
        bottom: auto;
        left: auto;
        transform: translateX(0);
    }


}



/* ============================
HOME // front-page.php
============================ */

/* ========= PRELOADEAR =========== */

.preloader {
    position: fixed;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    z-index: 50000000000000;
    background-color: white;
    display: flex;
    justify-content: center;
    align-items: center;
    overflow: hidden;
}

.preloader_logo--1 img {
    height: 80px;
    opacity: 0;
}

.preloader_logo--2 img {
    height: 40px;
}

.preloader__content {
    display: flex;
    align-items: center;
    gap: 0;
    transform: translateX(100px);
}

.preloader_logo--2__inner {
    overflow: hidden;
}

.preloader_logo--2__inner img {
    transform: translateX(-101%);
    opacity: 0;
}

.preloader__cover {
    height: 100%;
    width: 100%;
    position: absolute;
    top: 0;
    left: 0;
    background-color: var(--secondcolor);
    transform: translateY(100%);
}


/* scroll down */

.scroll {
    position: absolute;
    bottom: 50px;
    left: 50%;
    z-index: 100;
    display: flex;
    align-items: center;
    gap: 5px;
    transform-origin: left top;
    transform: rotate(-90deg);
}

.scroll__inner {
    width: 50px;
    height: 1px;
    overflow: hidden;
    position: relative;
}

.scroll__inner__element {
    width: 50px;
    height: 1px;
    background-color: black;
    animation: scroll__inner 2s ease infinite;
    position: absolute;
    left: 0;
    top: 0;
}

@keyframes scroll__inner {
    0% {
        transform: translateX(100%);
    }

    50% {
        transform: translateX(0);
    }

    100% {
        transform: translateX(-100%);
    }
}

@media (max-width:768px) {
    .scroll {
        bottom: 20px;
        left: 25px;
    }

    .scroll__text {
        font-size: 11px;
    }

    .scroll__inner {
        width: 40px;
    }

    .scroll__inner__element {
        width: 40px;
    }
}

/* hero home slideshow */

.hero_home {
    height: 85vh;
    position: relative;
    background-position: center;
    background-size: cover;
}

.hero_home__cta {
    position: absolute;
    left: 5%;
    bottom: 10%;
    z-index: 10;
}

.hero_home__claim {
    position: absolute;
    left: 5%;
    top: calc(120px + 10%);
    z-index: 100;
    z-index: 15;
}

.hero_home__claim h1 {
    font-family: titolo;
    color: white;
    font-size: 96px;
    line-height: 105%;
    margin-bottom: 50px;
}

.hero_home__claim p {
    color: white;
    font-size: 20px;
    font-family: testo;
    line-height: 130%;
    max-width: 350px;
}

.hero_home .swiper-container {
    height: 35vw;
    width: 35vw;
    border-radius: 100%;
    overflow: hidden;
    position: absolute;
    right: 5%;
    bottom: -5vw;
    z-index: 100;
}

.hero_home__slide {
    height: 35vw;
    width: 35vw;
    background-position: center;
    background-size: cover;
    -webkit-transition: all 1s ease;
    transition: all 1s ease;
    transform: scale(1.2);
    filter: grayscale(1);
}

.hero_home__boxed {
    position: absolute;
    z-index: 1;
    height: 100%;
    width: 100%;
    bottom: 0;
    right: 0;
    overflow: hidden;
}

.hero_home__circle {
    position: absolute;
    bottom: -12.5vw;
    right: -2.5vw;
}

.hero_home__circle img {
    width: 50vw;
    transform-origin: center;
    animation: hero_home__circle 40s infinite linear;
}

@keyframes hero_home__circle {
    from {
        transform: rotate(0deg);
    }

    to {
        transform: rotate(360deg);
    }
}

.swiper-slide-active .hero_home__slide {
    transform: scale(1);
}

@media (max-width:1500px) {
    .hero_home__claim h1 {
        font-size: 72px;
        margin-bottom: 40px;
    }
}

@media (max-width:1300px) {
    .hero_home__claim h1 {
        font-size: 60px;
        margin-bottom: 40px;
    }

    .hero_home__claim {
        top: calc(120px + 5%);
    }

    .hero_home__claim p {
        color: white;
        font-size: 18px;
        font-family: testo;
        line-height: 130%;
        max-width: 350px;
    }

}

@media (max-width:1150px) {
    .hero_home__claim h1 {
        font-size: 45px;
        margin-bottom: 40px;
    }
}

@media (max-width:768px) {
    .hero_home__claim h1 {
        font-size: 30px;
        margin-bottom: 30px;
    }

    .hero_home__claim {
        top: calc(70px + 8%);
    }

    .hero_home__claim p {
        font-size: 18px;
    }

    .hero_home__cta {
        display: none;
    }

    .hero_home .swiper-container {
        height: 60vw;
        width: 60vw;
    }

    .hero_home__slide {
        height: 60vw;
        width: 60vw;
    }

    .hero_home__circle {
        position: absolute;
        bottom: -11vw;
        right: 0;
    }

    .hero_home__circle img {
        width: 70vw;
    }

    .hero_home {
        height: 90vh;
    }
}

/* home row banner */

.row_banner {
    display: flex;
    align-items: center;
    flex-wrap: wrap;
}

.row_banner>div {
    width: 50%;
}

.row_banner__circle {
    height: 50vh;
    width: 50vh;
    position: relative;
    overflow: hidden !important;
    border-radius: 100%;
}

.row_banner--sx .row_banner__circle__wrapper {
    transform: translateX(-10%);
}

.row_banner--dx .row_banner__img,
.row_banner--dx .row_banner__text {
    display: flex;
    justify-content: flex-end;
}

.row_banner--dx .row_banner__circle__wrapper {
    transform: translateX(10%);
}

.row_banner__circle__inner {
    position: absolute;
    height: 100%;
    width: 100%;
    top: 0;
    left: 0;
    background-position: center;
    background-size: cover;
    filter: grayscale(100);
    border-radius: 100%;
}

.row_banner--dx .row_banner__text {
    padding-left: 5%;
}

.row_banner__text__title {
    font-family: titolo;
    color: var(--maincolor);
    font-size: 96px;
    margin-bottom: 30px;
}

.row_banner__text__description p {
    color: var(--secondcolor);
    font-family: titolo;
    font-size: 18px;
    max-width: 450px;
}

.row_banner__text__description {
    margin-bottom: 50px;
}

.row_banner__circle__wrapper {
    position: relative;
    height: auto;
    width: auto;
}

.copertura-blu-cerchio {
    width: 50vh;
    height: auto;
    position: absolute;
    top: 0;
    left: 0;
    z-index: 10;
}

@media (max-width:1850px) {
    .row_banner__text__title {
        font-size: 85px;
                margin-bottom: 30px;
    }
}



@media (max-width:1700px) {
    .row_banner__text__title {
        font-size: 75px;
    }
}

@media (max-width:1400px) {
    .row_banner__text__title {
        font-size: 64px;
    }
}

@media (max-width:1250px) {
    .row_banner__text__title {
        font-size: 50px;
    } 

    .row_banner__circle {
        height: 40vh;
        width: 40vh;
    }

    .copertura-blu-cerchio {
        width: 40vh;
    }

    .row_banner__text__description p {
        font-size: 15px;
    }

}

@media (max-width:990px) {
    .row_banner__text__title {
        font-size: 40px;
        margin-bottom: 25px;
    }
}

@media (max-width:768px) {
    .row_banner>div {
        width: 100%;
    }

    .row_banner__circle {
        height: 40vh;
        width: 40vh;
        position: relative;
        overflow: hidden;
        border-radius: 100%;
    }

    .copertura-blu-cerchio {
        width: 40vh;
    }

    .row_banner__img {
        margin: 0 auto;
        text-align: center;
    }

    .row_banner--sx .row_banner__circle__wrapper {
        transform: translateX(0);
        position: relative;
        display: inline-block;
        margin: 0 auto;
        margin-bottom: 30px;
    }

    .row_banner--dx .row_banner__circle__wrapper {
        transform: translateX(0);
        position: relative;
        display: inline-block;
        margin: 0 auto;
        margin-bottom: 30px;
    }

    .row_banner__text {
        padding-left: 5%;
        padding-right: 5%;
        text-align: center;
    }

    .row_banner--dx {
        display: flex;
        flex-direction: column-reverse;
    }

    .row_banner__text__title {
        font-size: 30px;
        margin-bottom: 30px;
    }

    .row_banner__text__description p {
        color: var(--secondcolor);
        font-size: 15px;
    }
}

/* scriita orizzontale scorre */

.marquee .inner {
    display: flex;
    width: 100%;
    font-family: titolo;
    position: relative;
    z-index: 10;
}

.marquee {
    width: 100%;
    overflow-x: hidden;
}

.marquee .inner>* {
    white-space: nowrap;
}

.marquee .inner p {
    margin: 0;
    padding: 0;
    font-size: 150px;
    color: #F5F5F5;
    text-transform: uppercase;
    font-family: titolo;
    -webkit-text-stroke-width: 1px;
    -webkit-text-stroke-color: white;
    color: transparent;
    opacity: 0.8;
}

@media(max-width:1500px) {
    .marquee .inner p {
        font-size: 180px;
    }
}

@media(max-width:1250px) {
    .marquee .inner p {
        font-size: 140px;
    }
}


/* approfondimenti home */

.approfondimenti .swiper-slide {}

.approfondimento {
    position: relative;
    width: 100%;
    height: 50vh;
    border: 1px solid #ccc;
    overflow: hidden;
    -webkit-transition: all 0.65s ease;
    transition: all 0.65s ease;
}

.approfondimento:hover {
    -webkit-box-shadow: 5px 5px 17px 5px rgba(0, 87, 255, 0.2);
    box-shadow: 5px 5px 17px 5px rgba(0, 87, 255, 0.2);
}

.approfondimento_cerchio {
    height: 45vh;
    width: 45vh;
    border-radius: 100%;
    border: 1px solid #ddd;
    position: absolute;
    top: 0;
    left: 0;
    transform: translate(-50%, -50%);
    transform-origin: center;
    -webkit-transition: all 0.65s ease;
    transition: all 0.65s ease;
}

.approfondimenti .swiper-container {
    padding-left: 15%;
    padding-right: 15%;
    height: auto;
    padding-bottom: 70px;
}

.approfondimento__img {
    position: absolute;
    top: 50px;
    left: 50px;
}

.approfondimento__img img {
    height: 70px;
    -webkit-transition: all 0.65s ease;
    transition: all 0.65s ease;
    filter: grayscale(100);
}

.approfondimento__titolo {
    font-family: titolo;
    color: var(--maincolor);
    -webkit-transition: all 0.65s ease;
    transition: all 0.65s ease;
    filter: grayscale(100);
    font-size: 18px;
    text-transform: uppercase;
    position: absolute;
    bottom: 50px;
    left: 50px;
}

.approfondimento:hover .approfondimento_cerchio {
    height: 50vh;
    width: 50vh;
}

.approfondimento:hover .approfondimento__titolo,
.approfondimento:hover .approfondimento__img img {
    filter: grayscale(0);
}


.approfondimenti--prodotto .swiper-container {
    padding-left: 15%;
    padding-right: 15%;
    padding-bottom: 70px;
}

.swiper_controls__inner {
    width: calc(20vw + 125px);
    position: relative;
    left: 50%;
    transform: translateX(-50%);
    display: flex;
    align-items: center;
    justify-content: space-between;
}

.swiper_controls .swiper-pagination-progressbar {
    background: var(--maincolor);
    position: relative;
    width: 20vw;
}

.swiper_controls .swiper-pagination-progressbar .swiper-pagination-progressbar-fill {
    background: var(--maincolor);
    position: absolute;
    left: 0;
    top: 0;
    width: 100%;
    height: 100%;
    transform: scale(0);
    transform-origin: left top;
}

.swiper_controls .swiper-pagination-progressbar.swiper-pagination-horizontal {
    height: 2px;
    background-color: #ddd;
}

.swiper_arrows img:hover {
    cursor: pointer;
    opacity: 0.7;
}

.swiper_controls .swiper_arrows img {
    height: 50px;
    transition: all 0.35s;
}

.swiper_controls .swiper_arrows img:last-child {
    margin-left: 3px;
}

@media (max-width:990px) {
    .swiper_controls__inner {
        width: calc(50vw + 85px);
    }

    .swiper_controls .swiper_arrows img {
        height: 35px;
    }

    .swiper_controls .swiper-pagination-progressbar {
        width: 50vw;
    }
}

@media (max-width:1700px) {
    .approfondimento__titolo p {
        font-size: 33px;
    }

}

@media (max-width:1550px) {
    .approfondimento__titolo p {
        font-size: 30px;
        top: 40px;
        left: -40px;
    }

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


    .approfondimenti .swiper-container {
        padding-left: 10%;
        padding-right: 10%;
        padding-bottom: 50px;
    }
}

@media (max-width:1400px) {
    .approfondimento__titolo p {
        position: relative;
        font-size: 26px;
        top: auto;
        left: auto;
        margin-bottom: 30px;
    }

    .approfondimenti .swiper-container {
        padding-left: 8%;
        padding-right: 8%;
    }

    .approfondimento__img img {
        opacity: 1;
    }

    .approfondimento__img__wrapper {
        display: none;
    }

    .approfondimento__img {
        overflow: inherit;
        display: block;
    }

}

@media (max-width:990px) {
    .approfondimenti .swiper-container {
        padding-left: 5%;
        padding-right: 5%;
    }

    .approfondimento__titolo p {
        font-size: 22px;
        margin-bottom: 20px;
    }

    .approfondimento__titolo {
        font-size: 16px;
        bottom: 30px;
        left: 30px;
    }

}

@media (max-width:600px) {
    .approfondimenti .swiper-container {
        padding-left: 25px;
        padding-right: 25px;
    }
}

/* ===============================
SINGLE SERVICES  / single-services.php
================================= */

.service_description {
    margin-top: 70px;
    background-color: #F4F4F4;
    padding: 70px 10% 30vh 10%;
    position: relative;
    margin-bottom: 35vh;
}

.service_description__content {
    margin: 0 auto;
    width: 50%;
    max-width: 650px;
    text-align: center;
}

.service_description .row_banner__img {
    position: absolute;
    left: 50%;
    bottom: 0;
    transform: translate(-50%, 50%);
}

/*  ======== servizi precendenti o successivi ========  */

.next_prodotto__flex {
    display: flex;
    align-items: center;
    justify-content: space-between;
}

.next_prodotto__element {
    display: flex;
    align-items: center;
    gap: 30px;
    font-family: testo;
    text-transform: uppercase;
    font-size: 18px;
}

.next_prodotto__element:hover .cerchio-prev-next {
    transform: scale(1.15);
}

.cerchio-prev-next {
    height: 40px;
    transition: all 0.35s ease;
}

.next_prodotto__element .img_prodotto img {
    height: 150px;
    width: auto;
}


.wpcf7-list-item {
    margin: 0;
}

form {
    color: white;
}

form a {
    color: white;
}

form p {
    font-size: 15px;
}

.form_laterale p {
    font-size: 15px;
    color: #aaa;
}


.form-row {
    display: flex;
    justify-content: space-between;
    margin-bottom: 30px;
}

.form-row .col-50 {
    width: calc(50% - 10px);
}

.form-row .col-33 {
    width: calc(33.33% - 10px);
}

.form_flex {
    display: flex;
    justify-content: space-between;
    align-items: center;
}

form select {
    padding: 15px 20px 15px 0;
    border: none;
    border-bottom: 1px solid white;
    color: white;
    background-color: transparent;
    font-family: testo;
    font-size: 15px;
}



/* ===============================
ABOUT US  / template-about_us.php
================================= */

.foto_team__flex {
    display: flex;
    align-items: center;
    gap: 10%;
}

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

@media(max-width:768px) {

    .foto_team__flex {
        display: block;
    }

    .foto_team__flex img {
        margin-bottom: 5px;
        max-width: 100%;
    }

    .foto_team {
        margin-bottom: 30px;
    }
}

.numbers_grid {
    display: grid;
    grid-template-columns: 1fr 1fr;
    grid-column-gap: 10%;
    width: 80%;
}

.number {
    margin-bottom: 50px;
}

.number_text {
    color: var(--maincolor);
    font-size: 150px;
    padding-bottom: 5px;
    margin-bottom: 20px;
    border-bottom: 1px solid var(--maincolor);
    font-family: titolo;
}

.number_description {
    color: var(--maincolor);
    font-size: 17px;
}

/* img / text */

.img_text {
    display: flex;
    justify-content: flex-start;
    gap: 5%;
    flex-wrap: wrap;
}

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

.img_text__img {
    max-width: 60%;
    height: auto;
    position: relative;
    overflow: hi;
}

.img_text__img .marquee {
    position: absolute;
    top: 2px;
    left: 0;
}

.img_text__text {
    width: 35%;
    max-width: 400px;
    color: var(--maincolor);
}

.img_text__text p {
    color: var(--maincolor);
}


.img_text__text img {
    height: 80px;
    margin-bottom: 20px;
}

@media (max-width:1250px) {
    .img_text.img_text--reverse .img_text__text {
        padding-left: 5%;
    }

}

@media (max-width:990px) {

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


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


    .img_text__text {
        width: 100%;
        max-width: 100%;
        padding-top: 50px;
        padding-left: 5%;
        padding-right: 5%;
    }

    .img_text.img_text--reverse .img_text__text {
        margin-bottom: 30px;
    }

}

/* company highlights */

.company_highlights {
    width: 80%;
    max-width: 1200px;
    margin: 0 auto;
    display: grid;
    grid-gap: 10px;
    grid-template-columns: 1fr 1fr;
}

.company_highlights__item {
    background-color: #F8F8F8;
    padding: 50px;
    display: flex;
    position: relative;
    height: 350px;
}

.company_highlights__item__ico {
    width: 150px;
}

.company_highlights__item__ico img {
    height: 50px;
    width: auto;
}

.company_highlights__item__text strong {
    font-family: titolo;
    color: var(--secondcolor);
    letter-spacing: 3px;
    display: block;
    margin-bottom: 25px;
    font-size: 17px;
    text-transform: uppercase;
}

.company_highlights__cta {
    position: absolute;
    bottom: 50px;
    right: 50px;
}

@media (max-width:1250px) {
    .company_highlights {
        width: 100%;
        max-width: 100%;
    }
}

@media (max-width:768px) {
    .company_highlights {
        grid-template-columns: 1fr;
    }
}

/* ===============
CORPORATE GOALS -- template_company_corporate_goals.php
================= */

/* story */

.description {
    background-color: #F8F8F8;
    padding: 50px;
}

.description_content {
    width: 50%;
    max-width: 750px;
    margin: 0 auto;
}

.story {
    background-color: #F8F8F8;
    height: 70vh;
    min-height: 700px;
    position: relative;
}


.story .label_sezione {
    text-align: center;
    position: absolute;
    top: 70px;
    left: 50%;
    transform: translateX(-50%);
}

.story_content {
    height: 60vh;
    display: flex;
    justify-content: center;
    align-items: center;
    min-height: 700px;
}


.story_content__descrizione {
    margin: 0 auto;
    max-width: 990px;
    padding-left: 5%;
    padding-right: 5%;
}

.story_content__descrizione p {
    text-align: center;
    font-family: testo;
    font-size: 21px;
    color: var(--maincolor);
}

.story_content__descrizione strong {
    color: white;
    font-family: titolo;
    font-size: 32px;
    margin-bottom: 30px;
}

.story_content {
    display: none;
    position: absolute;
    top: 0;
    left: 0;
    height: 100%;
    width: 100%;
    overflow: hidden;
}

.story_content__descrizione__title {
    font-family: titolo;
    font-size: 180px;
    text-align: center;
    margin-bottom: 20px;
    color: var(--maincolor);
}


.story_head {
    position: absolute;
    z-index: 10;
    bottom: 50px;
    left: 50%;
    transform: translateX(-50%);
}

.story_content--active {
    display: flex;
}

.story_head__item {
    height: 70px;
    width: 70px;
    display: flex;
    align-items: center;
    justify-content: center;
    border-radius: 100%;
    font-family: titolo;
    -webkit-transition: all 0.35s;
    transition: all 0.35s;
    color: var(--maincolor);
    cursor: pointer;
    font-size: 14px;
    font-family: titolo;
    background-color: white;
}

.story_head__item:hover {
    background-color: var(--maincolor);
    cursor: pointer;
    color: white;
}

.story_head__item--active {
    background-color: var(--maincolor) !important;
}

.story_head__item--active .story_head__item__year {
    color: white;
}

.story .swiper-slide {
    width: 85px;
}

@media (max-width:1250px) {
    .story_content__descrizione__title {
        font-size: 150px;
    }

    .container-90.container-90--story {
        width: 100%;
    }

    .story_content__descrizione p {
        font-size: 18px;
    }
}

@media (max-width:768px) {
    .description {
        padding: 30px;
    }

    .description_content {
        width: 90%;
        max-width: 100%;
        margin: 0 auto;
    }

    .story_head__item {
        height: 60px;
        width: 60px;
        font-size: 13px;
    }

    .story_content__descrizione__title {
        font-size: 110px;
    }

    .story_content__descrizione p {
        font-size: 16px;
    }

    .story .swiper-slide {
        width: 70px;
    }

}

/* ===============================
AZIENDA  / template-azienda.php
================================= */

/* approfondimento azienda */

.approfondimenti--azienda .approfondimento__titolo p {
    font-family: titolo;
    color: black;
    font-size: 28px;
    position: relative;
    top: auto;
    left: auto;
    z-index: auto;
    margin-bottom: 30px;
}

.approfondimenti--azienda .approfondimento__img img {
    opacity: 1;
}

.approfondimenti--azienda .approfondimento__descrizione {
    width: 100%;
}

@media (max-width:1250px) {
    .approfondimenti--azienda .approfondimento__titolo p {
        font-size: 24px;
        margin-bottom: 25px;
    }
}

@media (max-width:768px) {
    .approfondimenti--azienda .approfondimento__titolo p {
        font-size: 21px;
        margin-bottom: 20px;
    }
}

/* work */

.work {
    background-color: black;
    height: 90vh;
}

.work_scritta_scorre {
    position: absolute;
    top: 0;
    left: 0;
}

.work_content {
    height: 90vh;
    display: flex;
    justify-content: center;
    align-items: center;
}


.work_content__descrizione {
    margin: 0 auto;
    max-width: 990px;
    padding-top: 8vh;
    padding-left: 5%;
    padding-right: 5%;
}

.work_content__descrizione p {
    text-align: center;
    font-family: testo;
    font-size: 19px;
    color: white;
}

.work_content__descrizione strong {
    color: white;
    font-family: titolo;
    font-size: 32px;
    margin-bottom: 30px;
}

.work_content {
    display: none;
    position: absolute;
    top: 0;
    left: 0;
    height: 100%;
    width: 100%;
    overflow: hidden;
}

.work_content__inner {
    position: absolute;
    top: 0;
    left: 0;
    height: 100%;
    width: 100%;
    background-position: center;
    background-size: cover;
    filter: grayscale(1);
    opacity: 0.3;
    z-index: -1;
}

.work_content__descrizione__title {
    font-family: titolo;
    font-size: 72px;
    text-align: center;
    margin-bottom: 20px;
    color: white;
}

.linea-pallino {
    height: 70px;
    margin-bottom: 40px;
}

@media (max-width:768px) {
    .work_content__descrizione__title {
        font-size: 40px;
        margin-bottom: 20px;
    }

    .linea-pallino {
        display: none;
    }

    .marquee .inner p {
        font-size: 80px;
    }

    .work_content__descrizione {
        padding-top: 20px;
    }
}

/*
@keyframes work_content {
    from {
        opacity: 0;
        transform: translateY(30px);
    }

    to {
        opacity: 1;
        transform: translateY(0);
    }
}
*/

.work_head {
    position: absolute;
    z-index: 10;
    bottom: 50px;
    left: 50%;
    transform: translateX(-50%);
}

.work_content--active {
    display: flex;
}

.work_head__item {
    height: 70px;
    width: 70px;
    display: flex;
    align-items: center;
    justify-content: center;
    background-color: rgba(0, 0, 0, 0.05);
    border-radius: 100%;
    font-family: titolo;
    -webkit-transition: all 0.35s;
    transition: all 0.35s;
    color: white;
    border: 1px solid white;
}

.work_head__item img {
    height: 27px;
}

.work_head__item:hover {
    background-color: rgba(255, 255, 255, 0.3);
    cursor: pointer;
}

.work_head__item--active {
    background-color: white;
    -webkit-box-shadow: 0px 0px 20px 15px rgba(0, 89, 255, 0.57);
    box-shadow: 0px 0px 20px 15px rgba(0, 89, 255, 0.57);
}

.work_head__item--active img {
    filter: invert(100);
}


.work .swiper-slide {
    width: 100px;
}

@media (min-width:990px) {
    .work .swiper-wrapper {
        justify-content: center;
    }

    .work .swiper-pagination {
        display: none;
    }
}

.work .swiper-container {}

.work .swiper-pagination span {
    background-color: #fff;
}

@media (max-width:1500px) {
    .work_content__anno {
        font-size: 300px;
    }
}

@media (max-width:1250px) {
    .work_content__anno {
        font-size: 230px;
    }

    .work_content__anno img {
        position: absolute;
        bottom: -20px;
        left: 50%;
        max-width: 450px;
    }


}

@media (max-width:990px) {
    .work_content__anno {
        font-size: 180px;
    }

    .work_content__descrizione {
        padding-left: 5%;
        padding-right: 5%;
    }

    .work_content__descrizione p {
        font-size: 16px;
    }

    .work_content__anno img {
        width: 70vw;
        max-width: 350px;
    }

    .work_content__descrizione strong {
        font-size: 22px;
    }

    .work .swiper-container {
        padding-left: 25px;
    }

    .work {}

}

@media (max-width:990px) {
    .work_content__anno {
        font-size: 150px;
    }
}


/* ====== PAGE HERO ===== */

.page_hero {
    min-height: 75vh;
    position: relative;
    padding-top: calc(100px + 7vh);
    position: relative;
    background-position: center;
    background-size: cover;
	z-index: 50;
}

.page_hero.page_hero--small {
    min-height: 50vh;
}

.page_hero_flex {
    display: flex;
}

.page_hero__scroll {
    position: absolute;
    left: 5%;
    bottom: 70px;
}

.page_hero__scroll__circle {
    height: 40px;
    width: 40px;
    border: 1px solid #ccc;
    border-radius: 100%;
}

.page_hero__scroll img {
    position: absolute;
    top: 20px;
    left: 20px;
    transform: translate(-50%, 0);
    height: 50px;
    animation: page_hero__scroll 1.5s infinite;
}

@keyframes page_hero__scroll {
    0% {
        transform: translate(-50%, -7px);
    }

    50% {
        transform: translate(-50%, 0);
    }

    100% {
        transform: translate(-50%, -7px);
    }
}

@media (max-width:768px) {
    .page_hero__scroll {
        display: none;
    }
}

.page_hero__ico {
    position: absolute;
    top: calc(100px + 5vh);
    left: -50px;
}

.page_hero__ico img {
    height: 50vh;
}

.page_hero_intro {
    width: 45%;
    max-width: 450px;
}

.page_hero__text {
    width: 55%;
    padding-right: 5%;
}

.page_hero_intro p {
    max-width: 400px;
}

.page_hero__text h1 {
    color: var(--maincolor);
    margin-bottom: 30px;
    font-size: 80px;
    line-height: 110%;
    text-transform: uppercase;
    word-break:normal;
    max-width: 700px;
}

.page_hero__text--break {
     hyphens: manual;
}

.page_hero__text p {
    max-width: 450px;
    color: var(--secondcolor);
    font-family: titolo;
    font-size: 17px;
}

.page_hero_circle_img {
    position: absolute;
    height: 60vh;
    width: 60vh;
    top: calc(100px + 5vh);
    right: -10vw;
    background-position: center;
    background-size: cover;
    filter: grayscale(100);
    border-radius: 100%;
}

.page_hero__navigation {
    position: absolute;
    bottom: 50px;
    right: 5%;
    display: flex;
    gap: 80px
}

.page_hero__navigation .btn_nav {
    display: flex;
    align-items: center;
    gap: 10px;
}

@media (max-width:1850px) {
    .page_hero__text h1 {
        font-size: 70px;
    }
}


@media (max-width:1500px) {
    .page_hero__text h1 {
        margin-bottom: 30px;
        font-size: 56px;
    }

    .number_text {
        font-size: 120px;
    }
}

@media (max-width:1250px) {
    .page_hero__text h1 {
        margin-bottom: 30px;
        font-size: 40px;
    }

    .page_hero__text p {
        font-size: 16px;
        padding-right: 5%;
    }

    .page_hero__ico img {
        height: 40vh;
    }

    .number_text {
        font-size: 96px;
    }

    .numbers_grid {
        grid-column-gap: 8%;
        width: 100%;
    }

    .page_hero_circle_img {
        height: 45vh;
        width: 45vh;
        right: -10vw;
    }

    .servizi_grid {
        display: grid;
        grid-template-columns: 1fr 1fr;
        grid-gap: 20px;
        padding: 0 12px;
        width: 70%;
        margin: 0 auto;
        min-width: auto;
    }
}

@media (max-width:990px) {
    .page_hero__text h1 {
        font-size: 35px;
    }
}

@media (max-width:768px) {

    .page_hero__text h1 {
        font-size: 32px;
    }

    .page_hero__text p {
        font-size: 14px;
        padding-right: 5%;
    }

    .numbers_grid {
        grid-template-columns: 1fr;
    }

    .page_hero_flex {
        display: block;
    }

    .page_hero_intro {
        width: 100%;
        max-width: 100%;
        margin-top: 30px;
    }

    .page_hero__text {
        width: 100%;
        padding-right: 0;
    }

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

    .page_hero {
        padding-top: 100px;
    }

    .page_hero_circle_img {
        height: 35vh;
        width: 35vh;
        right: -10vw;
    }

    .page_hero_circle_img {
        top: auto;
        bottom: 50px;
    }

}

@media (max-width:768px) {
    .page_hero__navigation {
        position: relative;
        bottom: auto;
        right: auto;
        display: flex;
        gap: 30px;
        padding-top: 80px;
        width: 90%;
        margin: 0 auto;
    }

    .service_description {
        margin-top: 70px;
        background-color: #F8F8F8;
        padding: 50px 5% 30vh 5%;
        position: relative;
        margin-bottom: 35vh;
    }

    .service_description__content {
        width: 100%;
        max-width: 100%;
        padding-left: 5%;
        padding-right: 5%;
    }

    .container-90--mobile-full {
        width: 100%;
    }

    .spacer-50-mobile {
        height: 50px;
    }
}


/* ========== servizi  GRID ===========*/

.servizi_grid {
    display: grid;
    grid-template-columns: 1fr 1fr;
    grid-gap: 20px;
    padding: 0 12px;
    width: 55%;
    margin: 0 auto;
    min-width: 750px;
}

.servizi_grid a {
    display: block;
}

.servizi_item h3 {
    text-align: center;
    position: absolute;
    bottom: 10%;
    left: 50%;
    transform: translateX(-50%);
    color: #333335;
    font-size: 32px;
}


@keyframes reveal {
    0% {
        transform: translateY(-100%);
    }

    50% {}

    100% {
        transform: translateY(100%);
    }
}

@media (max-width:1250px) {
    .servizi_grid {
        grid-gap: 15px;
        width: 70%;
        min-width: auto;
    }
}


@media (max-width:768px) {
    .servizi_grid {
        grid-template-columns: 1fr;
        grid-gap: 20px;
        width: 100%;
        min-width: auto;
    }
}


/* ===============================
CERTIFICATES  / template-certificates.php
================================= */

.certificati_grid {
    display: flex;
    justify-content: flex-end;
    gap: 9%;
    width: 50%;
    min-width: 550px;
    flex-wrap: wrap;
}

.certificati_flex_right {
    display: flex;
    justify-content: flex-end;
    transform: translateY(-10vh);
}

.certificato {
    max-width: 350px;
    margin-bottom: 50px;
    width: 45%;
}

.certificato:nth-child(2),
.certificato:nth-child(3) {
    transform: translateY(-15vh);
}

.certificato__img {
    position: relative;
    height: auto;
    width: auto;
    display: inline-block;
    margin-bottom: 30px;
}

.certificato_logo {
    max-width: 70%;
    position: absolute;
    top: 50%;
    left: 50%;
    transform: translate(-50%, -50%);
    z-index: 10;
}

@media (max-width:768px) {
    .certificato {
        max-width: 100%;
        margin-bottom: 40px;
        width: 100%;
    }

    .certificato:nth-child(2),
    .certificato:nth-child(3) {
        transform: translateY(0);
    }

    .certificati_grid {
        display: block;
        width: 100%;
        min-width: auto;
    }


}

/* ===============================
CAREER  / template-career.php
================================= */

.banner_full_1 {
    background-position: center;
    background-size: cover;
    min-height: 70vh;
    display: flex;
    justify-content: center;
    align-items: flex-end;
}

.banner_full_1__description {
    background-color: white;
    padding: 50px;
    -webkit-box-shadow: 0px 5px 17px 5px rgba(0, 87, 255, 0.15);
    box-shadow: 0px 5px 17px 5px rgba(0, 87, 255, 0.15);
}

.banner_full_1__content {
    width: 50%;
    max-width: 800px;
    position: relative;
    transform: translateY(50px);
}

.banner_full_1__description strong {
    color: var(--maincolor);
    font-family: titolo;
}

.banner_full_1__title {
    font-family: titolo;
    color: white;
    margin-bottom: 50px;
    text-transform: uppercase;
    font-size: 60px;
    line-height: 110%;
}

.service_description__content__flex {
    display: flex;
    gap: 5%;
}

.service_description__content__flex__title {
    width: 55%;
}

.service_description__content__flex__description {
    width: 40%;
    max-width: 400px;
}


.service_description__content__flex.service_description__content {
    width: 100%;
    max-width: 100%;
    text-align: left;
}

.service_description__content__flex__title {
    color: var(--maincolor);
    font-family: titolo;
    font-size: 64px;
    line-height: 110%;
}

.banner_full_3 {
    background-position: center;
    background-size: cover;
    min-height: 850px;
    height: 90vh;
    display: flex;
    justify-content: flex-end;
    align-items: flex-end;
    padding-right: 5%;
    padding-top: 50px;
}

.banner_full_3__content {
    width: 40%;
    max-width: 450px;
}

.banner_full_3__title {
    font-family: titolo;
    color: white;
    margin-bottom: 50px;
    text-transform: uppercase;
    font-size: 60px;
    line-height: 110%;
    color: white;
    text-align: right;
}

.banner_full_3__description {
    background-color: white;
    padding: 50px;
    -webkit-box-shadow: 0px 5px 17px 5px rgba(0, 87, 255, 0.15);
    box-shadow: 0px 5px 17px 5px rgba(0, 87, 255, 0.15);
    text-align: right;
}

.banner_full_3__description img {
    height: 45px;
    margin-bottom: 30px;
}

.banner_full_3__content {
    position: relative;
    transform: translateY(50px);
}

@media (max-width:1500px) {
    .banner_full_1__title {
        margin-bottom:30px;
        font-size: 50px;
    }

    .banner_full_3__title {
        margin-bottom: 20px;
        font-size: 40px;
    }

}

@media (max-width:1250px) {
    .banner_full_1__title {
        margin-bottom: 40px;
        font-size: 48px;
    }

    .service_description__content__flex__title {
        font-size: 48px;
        line-height: 110%;
    }

    .banner_full_3__content {
        width: 60%;
    }

    .banner_full_3__title {
        margin-bottom: 40px;
        font-size: 48px;
    }

}

@media (max-width:990px) {

    .banner_full_3__title {
        margin-bottom: 30px;
        font-size: 36px;
    }

    .banner_full_3__content {
        width: 100%;
    }

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

    .service_description__content__flex {
        flex-wrap: wrap;
    }

    .service_description__content__flex__title {
        margin-bottom: 30px;
    }

    .service_description__content__flex__title,
    .service_description__content__flex__description {
        width: 100%;
    }

    .banner_full_1__title {
        margin-bottom: 40px;
        font-size: 40px;
    }

    .banner_full_1__content {
        width: 80%;
        max-width: 800px;
    }
	
	.page_hero_intro--numbers {
		display: grid;
		grid-template-columns: 1fr 1fr;
grid-column-gap: 15px;
	}
	
	.page_hero_intro--numbers .number_text {
		font-size: 64px;
	}
	
}

@media (max-width:768px) {

    .banner_full_1__description {
        padding: 30px;
    }

    .banner_full_1 {
        margin-top: 50px;
    }

    .service_description__content__flex__title {
        font-size: 26px;
        line-height: 110%;
    }

    .banner_full_3__title {
        text-align: left;
    }

    .banner_full_1__title {
        margin-bottom: 40px;
        font-size: 26px;
    }

    .banner_full_3__description {
        padding: 30px;
        text-align: left;
    }

    .banner_full_3 {
        min-height: 700px;
        height: auto;
        padding-left: 5%;
        padding-right: 5%;
        padding-top: 50px;
    }
}

/* job offer */

.job_offer {
    background-color: #F8F8F8;
}

.job_offer__title {
    color: var(--maincolor);
    font-family: titolo;
    font-size: 64px;
    line-height: 110%;
    margin-bottom: 70px;
    max-width: 800px;
}

.accordion_head img {
    height: 18px;
    -webkit-transition: all 0.5s;
    transition: all 0.5s;
}

.accordion_head {
    display: flex;
    align-items: center;
    justify-content: space-between;
    padding: 30px 0;
    border-bottom: 1px solid #ccc;
    font-size: 21px;
    color: var(--secondcolor);
    text-transform: uppercase;
    font-family: titolo;
}

.accordion_head:hover {
    cursor: pointer;
}

.accordion_head--rotate img {
    transform: rotate(45deg);
}

.accordion_head__content {
    padding: 50px;
    background-color: white;
    display: none;
}

.accordion_head__content__flex {
    display: flex;
    align-items: center;
    flex-wrap: wrap;
    justify-content: flex-start;
    gap: 5%;
}

.accordion_head__content__description {
    width: 60%;
}

@media (max-width:1250px) {
    .job_offer__title {
        font-size: 48px;
        margin-bottom: 50px;
    }
}

@media (max-width:768px) {
    .job_offer__title {
        font-size: 26px;
        margin-bottom: 40px;
    }

    .accordion_head {
        padding: 30px 0;
        font-size: 16px;
    }

    .accordion_head img {
        height: 15px;
        -webkit-transition: all 0.5s;
        transition: all 0.5s;
    }

    .accordion_head__content {
        padding: 30px;
    }

    .accordion_head__content__description {
        width: 100%;
    }

    .accordion_head__content__description {
        margin-bottom: 40px;
    }

}

/* ===============================
CONTATTI  / template-contatti.php
================================= */

.team__title {
    color: var(--maincolor);
    margin-bottom: 50px;
    font-size: 40px;
    line-height: 110%;
    text-transform: uppercase;
    word-break: normal;
    text-align:center; 
    font-family: titolo; 
}

.team {
    padding: 10vh 0;
}

.team__grid {
    display: grid;
    grid-template-columns: 1fr 1fr 1fr;
    grid-column-gap: 10%;
    margin: 0 auto;
    width: 100%;
    max-width: 1700px;
}

.team__item strong {
color: var(--secondcolor);
font-family: titolo; 

}

.team__item img {
    border-radius: 100%;
    margin-bottom: 25px;
    border: 6px solid var(--maincolor);
}

.team__item {
    color: dimgray;
    text-align: center;
    font-size: 18px;
}

@media(max-width:1500px) {}
@media(max-width:1250px) {}
@media(max-width:990px) {
        .team__grid {
    display: grid;
    grid-template-columns: 1fr 1fr;
    grid-column-gap: 10%;
}
.team__title {
    margin-bottom: 40px;
    font-size: 30px;
}

.team__item img {
    margin-bottom: 20px;
    border: 5px solid var(--maincolor);
}

.team__item {
    margin-bottom: 30px;
}
}
@media(max-width:768px) {
    .team__grid {
    display: grid;
    grid-template-columns: 1fr 1fr;
    grid-column-gap: 5%;
}
.team__title {
    margin-bottom: 30px;
    font-size: 25px;
}
.team__item img {
    margin-bottom: 20px;
    border: 4px solid var(--maincolor);
}

.team__item:last-child {
    margin-bottom: 0;
}

.team__item {
    font-size: 15px;
}
}

/* socials */

.social_contact {
    padding-top: 20px;
}

.social_contact img {
    height: 40px;
}

.page_hero__contact .page_hero__text p {
    color: white;
}

.page_hero__contact .page_hero__text h1 {
    color: white;
}

.contacts {
    border-top: 1px solid #dedede;
}

.contacts__flex {
    display: flex;
    gap: 5%;
}

.contacts__text {
    width: 35%;
    max-width: 300px;
}

.contacts__map {
    width: 100%;
    position: relative;
}

.contacts__text strong {
    color: var(--secondcolor);
    font-family: titolo;
}

@media (max-width:768px) {
    .contacts__text {
        width: 100%;
        max-width: 300px;
        margin-bottom: 30px;
    }

    .contacts__flex {
        display: block;
    }

    .contacts__map {
        transform: translateY(0);
    }

    .page_hero__contact {
        height: auto;
        padding-bottom: 50px;
    }

}

/* ==============
FOOTER footer.php
================ */
.credits {
    color: #bbb;
}

footer {
    color: #656565;
    padding: 50px 0;
    margin-top: 10vh;
    border-top: 1px solid #ccc;
}

.footer_border {
    /* border-top: 1px solid #ccc; */
    height: 30px;
}

footer strong {
    color: black;
    margin-bottom: 25px;
    display: block;
    font-family: titolo;
    font-size: 16px;
    color: var(--secondcolor);
}

footer p {
    color: #656565;
    font-size: 15px;
}

.footer__flex {
    display: flex;
    flex-wrap: wrap;
    justify-content: space-between;
}

.footer__flex__col__first {
    display: flex;
    flex-wrap: wrap;
    gap: 40px;
    align-items: flex-start;
}

footer li a {
    list-style: none;
    margin: 0;
    text-transform: capitalize;
    margin-left: 0;
}

footer li {
    list-style: none;
    margin-left: 0;
    margin-bottom: 7px;
}

footer a {
    -webkit-transition: all 0.25s ease;
    transition: all 0.25s ease;
    text-decoration: none;
}

footer a:hover {
    color: var(--secondcolor);
}

.main_container--white footer strong {
    color: black;
}

.main_container--white footer a:hover {
    color: black;
}

.main_container--white footer img {
    filter: invert(100);
}

.footer__flex--white {
    padding-top: 50px;
}

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

.footer .socials {
    display: flex;
    align-items: center;
    gap: 18px
}

.socials a img {
    transition: all 0.35s;
}

.socials a:hover img {
    transform: scale(1.2);
}

.credits a {
    color: #aaa;
    font-size: 14px;
}

.footer_menu_sotto ul {
    display: flex;
    justify-content: flex-end;
    color: var(--secondcolor);
    font-family: titolo;
    gap: 25px;
    font-size: 15px;
}

@media (max-width:990px) {

    .footer__flex__col {
        width: 100%;
    }

    .footer_menu_sotto ul {
        display: flex;
        justify-content: flex-end;
        color: var(--secondcolor);
        font-family: titolo;
        gap: 25px;
        font-size: 15px;
    }

    .footer_menu_sotto ul {
        display: block;
        font-size: 14px;
    }

    footer {
        color: #656565;
        padding: 50px 0;
        margin-top: 30px;
    }

    footer strong {
        margin-bottom: 22px;
        font-size: 17px;
    }

    .footer__flex {
        font-size: 14px;
    }

    .footer__flex__col {
        margin-bottom: 40px;
    }

    footer strong {
        margin-bottom: 15px;
    }

    .iso {
        margin-top: 30px;
    }

    .social {
        margin-top: 30px;
    }

    .logo_footer {
        height: 35px;
    }

    .footer__flex--2>div {
        margin-bottom: 20px;
    }

    .footer__flex--white {
        padding-top: 30px;
    }

    .footer__flex--2>div:last-child {
        margin-bottom: 0;
    }

    .footer__flex--2 {
        display: block;
    }

}

@media (max-width:768px) {

    .footer__flex__col {
        width: 100%;
    }
}

/* complianz text document page */

#cmplz-document h2,
#cmplz-document h3 {
    font-size: 17px;
    text-align: left;
    text-transform: uppercase;
    margin-top: 15px;
    padding-bottom: 10px;
    border-bottom: 1px solid #c6c6c6;
    margin-bottom: 10px;
    letter-spacing: 2px;
}

.cmplz-title {
    font-family: titolo;
    font-size: 18px !important;
}

#cmplz-document .cmplz-subtitle {
    color: black;
}

#cmplz-document {
    max-width: 900px;
}

.cc-revoke--footer {
    display: none !important;
}

.cc-revoke.cc-left {
    z-index: 100 !important;
    position: relative !important;
    bottom: 50px !important;
    left: calc(50% - 75px) !important;
    transform: translateX(-50%);
    right: auto;
    width: 150px;
    font-size: 12px;
    text-transform: uppercase;
    font-family: r-1;
    letter-spacing: 1px;
    background-color: white !important;
    color: #aaa !important;
}


/* ================= FORM =================== */

.wpcf7-text {
    width: 100%;
    border: none;
    padding: 15px;
    color: black;
    background-color: white;
    border: none !important;
    border-radius: 100px !important;
}

.wpcf7-textarea {
    width: 100%;
    border: none;
    padding: 15px;
    color: black;
    background-color: white;
    border: none !important;
    border-radius: 15px !important;
    height: 150px;
}

.privacy-form {
    font-size: 14px;
}


.form-row {
    color: white;
}

.form-row label {
    color: white;
}

input.wpcf7-form-control.wpcf7dtx-dynamictext.wpcf7-dynamictext {
    width: 100%;
    border-color: #ddd;
    border: none;
    padding: 5px;
    color: white;
    background-color: transparent;
    border-bottom: 1px solid white;
    display: none;
    border-radius: 0 !important;
}

input.wpcf7-quiz {
    width: 100%;
    border: none;
    padding: 5px;
    color: black;
    background-color: transparent;
    border-bottom: 1px solid black;
    border-radius: 0 !important;
}

input.wpcf7-form-control.wpcf7dtx-dynamictext.wpcf7-dynamictext:hover,
.wpcf7-textarea:hover,
.wpcf7-text:hover {
    border-color: #aaa !important;
}

input:focus,
textarea:focus,
select:focus {
    outline: none;
}

input[type='radio'],
input[type='checkbox'] {
    clip: rect(1px, 1px, 1px, 1px);
    padding: 10px;
}

input[type='radio'],
input[type='checkbox'] {
    width: 10px;
    height: 10px;
    background-color: transparent;
    border-radius: 50% !important;
    vertical-align: middle;
    border: 1px solid #ddd;
    -webkit-appearance: none;
    outline: none;
    cursor: pointer;
    font-size: 14px;
    border: 1px solid gray;
}

.wpcf7-list-item-label {
    font-size: 13px;
}

input[type='radio']:checked,
input[type='checkbox']:checked {
    background-color: white;
    border: 1px solid white;
}

.wpcf7-submit {
    background-color: #001B4B;
    color: white;
    border: none;
    font-size: 15px;
    display: inline-block;
    position: relative;
    -webkit-transition: all 0.35s;
    transition: all 0.35s;
    font-family: testo;
    padding: 10px 60px;
    border-radius: 100px;
    font-family: titolo;
}

.wpcf7-submit:hover {
    cursor: pointer;
    background-color: white;
    color: #001B4B;
}

.privacy-form {
    font-size: 13px;
}

.form_hero label {
    color: white;
    margin-bottom: 0;
    display: block;
    padding-left: 15px;
    line-height: normal;
}

.form-row {}

input.wpcf7-form-control.wpcf7dtx-dynamictext.wpcf7-dynamictext {
    width: 100%;
    border-color: #ddd;
    border: none;
    padding: 5px;
    color: white;
    background-color: transparent;
    border-bottom: 1px solid white;
    display: none;
    border-radius: 0 !important;
}

input.wpcf7-form-control.wpcf7dtx-dynamictext.wpcf7-dynamictext:hover,
.wpcf7-textarea:hover,
.wpcf7-text:hover {
    /*background-color: white;*/
}

input:focus,
textarea:focus,
select:focus {
    outline: none;
}

.form-group {
    margin-bottom: 1rem
}

.form-text {
    display: block;
    margin-top: .25rem
}

.form-check {
    position: relative;
    display: block;
}

.form-check-input {
    position: absolute;
    margin-top: .3rem;
    margin-left: -1.25rem
}

.form-check-input:disabled~.form-check-label {
    color: #6c757d
}

.form-check-label {
    margin-bottom: 0
}

.form-check-inline {
    display: -webkit-inline-box;
    display: -ms-inline-flexbox;
    display: inline-flex;
    -webkit-box-align: center;
    -ms-flex-align: center;
    align-items: center;
    padding-left: 0;
    margin-right: .75rem
}

.form-check-inline .form-check-input {
    position: static;
    margin-top: 0;
    margin-right: .3125rem;
    margin-left: 0
}

/* errori contact form 7 */

.wpcf7-not-valid-tip {
    font-size: 15px;
    color: red;
    margin-top: 10px;
}

.wpcf7-not-valid-tip:before {
    content: "↑";
    margin-right: 5px;
}

.wpcf7-response-output {
    border-color: white;
    border: 3px solid black !important;
    background-color: #eee !important;
    text-align: center;
    color: black !important;
    font-family: testo !important;
    padding: 10px !important;
}


/* ===== COMPLIANZ CUSTOMIZATION ===== */

#cmplz-manage-consent .cmplz-manage-consent {
    display: none;
}

#gestione_cookies {
    padding: 3px 10px;
    border: 1px solid #aaa;
    text-decoration: none;
    border-radius: 100px;
}

#gestione_cookies:hover {
    cursor: pointer;
}