/*
==========================================================
VARS
==========================================================
*/

:root {
    --vh: 100vh;
    --is_mobile: 0;
    --blu: #10285B;
    --rosso: #E13118;
    --verde: #519F21;
    --beige: #94806F;
    --marrone: #745C47;
    --grigio: #EDEDED;
    --header-shape-color: rgba(255, 255, 255, 0);
    --cover-swiper-bg: rgba(0, 0, 0, .35);
}

/*
==========================================================
HTML / BODY
==========================================================
*/

html {
    scroll-behavior: smooth;
}

body {
    font-family: azo-sans-web, sans-serif;
    font-weight: 400;
    font-style: normal;
    font-size: max(18px, -webkit-calc(22vw / 19.2));
    font-size: max(18px, -moz-calc(22vw / 19.2));
    font-size: max(18px, calc(22vw / 19.2));
    line-height: 1.3;
    color: var(--blu);
    overflow-x: hidden;
}

/*
==========================================================
HEADER
==========================================================
*/

header {
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    display: -ms-grid;
    display: grid;
    -ms-grid-columns: calc(567vw / 19.2) auto;
    grid-template-columns: -webkit-calc(567vw / 19.2) auto;
    grid-template-columns: -moz-calc(567vw / 19.2) auto;
    grid-template-columns: calc(567vw / 19.2) auto;
    -webkit-box-align: center;
    -webkit-align-items: center;
    -moz-box-align: center;
    -ms-flex-align: center;
    align-items: center;
    padding-top: max(30px, -webkit-calc(77vw / 19.2));
    padding-top: max(30px, -moz-calc(77vw / 19.2));
    padding-top: max(30px, calc(77vw / 19.2));
    padding-left: max(30px, -webkit-calc(112vw / 19.2));
    padding-left: max(30px, -moz-calc(112vw / 19.2));
    padding-left: max(30px, calc(112vw / 19.2));
    padding-right: max(30px, -webkit-calc(180vw / 19.2));
    padding-right: max(30px, -moz-calc(180vw / 19.2));
    padding-right: max(30px, calc(180vw / 19.2));
    z-index: 100;
}

header div.logo a svg {
    display: block;
    width: auto;
    height: max(64px, -webkit-calc(180vw /19.2));
    height: max(64px, -moz-calc(180vw /19.2));
    height: max(64px, calc(180vw /19.2));
}

header nav {
    margin-top: max(16px, -webkit-calc(16vw / 19.2));
    margin-top: max(16px, -moz-calc(16vw / 19.2));
    margin-top: max(16px, calc(16vw / 19.2));
}

header nav ul {
    list-style: none;
    display: -webkit-box;
    display: -webkit-flex;
    display: -moz-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-pack: justify;
    -webkit-justify-content: space-between;
    -moz-box-pack: justify;
    -ms-flex-pack: justify;
    justify-content: space-between;
}

header nav ul li.home {
    display: none;
}

header nav ul li a {
    font-weight: 700;
    font-size: max(18px, -webkit-calc(20vw / 19.2));
    font-size: max(18px, -moz-calc(20vw / 19.2));
    font-size: max(18px, calc(20vw / 19.2));
    text-decoration: none;
    color: white;
    text-decoration: underline;
    text-underline-offset: max(2px, -webkit-calc(2vw / 19.2));
    text-underline-offset: max(2px, -moz-calc(2vw / 19.2));
    text-underline-offset: max(2px, calc(2vw / 19.2));
    -webkit-text-decoration-color: transparent;
    -moz-text-decoration-color: transparent;
    text-decoration-color: transparent;
    -webkit-transition: .25s;
    -o-transition: .25s;
    -moz-transition: .25s;
    transition: .25s;
    cursor: pointer;
}

header nav ul li a:hover {
    -webkit-text-decoration-color: white;
    -moz-text-decoration-color: white;
    text-decoration-color: white;
}

header nav ul li.current-menu-item a,
header nav ul li.current-menu-item a {
    text-decoration: underline;
    text-underline-offset: max(2px, -webkit-calc(2vw / 19.2));
    text-underline-offset: max(2px, -moz-calc(2vw / 19.2));
    text-underline-offset: max(2px, calc(2vw / 19.2));
}

header div.menu {
    display: none;
}

/*
==========================================================
COVER
==========================================================
*/

div.cover {
    height: var(--vh);
}

/*
==========================================================
COVER SLIDER
==========================================================
*/

div.cover.swiper div.swiper-slide {
    background: var(--cover-swiper-bg);
}

div.cover.swiper div.swiper-slide img {
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    -o-object-fit: cover;
    object-fit: cover;
    mix-blend-mode: multiply;
}

div.cover.swiper div.swiper-slide img.mobile {
    display: none;
}

/*
==========================================================
COVER SHAPE
==========================================================
*/

div.cover div.shape {
    position: absolute;
    top: 0;
    left: 0;
    width: max(240px, -webkit-calc(630vw / 19.2));
    width: max(240px, -moz-calc(630vw / 19.2));
    width: max(240px, calc(630vw / 19.2));
    height: auto;
    z-index: 2;
}

div.cover div.shape svg {
    display: block;
    width: 100%;
    height: auto;
}

div.cover div.shape svg.mobile {
    display: none;
}

/*
==========================================================
FOOTER
==========================================================
*/

footer {
    background: var(--blu);
    color: white;
    padding: max(40px, -webkit-calc(80vw / 19.2)) max(30px, -webkit-calc(140vw / 19.2)) 0 max(30px, -webkit-calc(140vw / 19.2));
    padding: max(40px, -moz-calc(80vw / 19.2)) max(30px, -moz-calc(140vw / 19.2)) 0 max(30px, -moz-calc(140vw / 19.2));
    padding: max(40px, calc(80vw / 19.2)) max(30px, calc(140vw / 19.2)) 0 max(30px, calc(140vw / 19.2));
}

footer div.box {
    display: -webkit-box;
    display: -webkit-flex;
    display: -moz-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-flex-wrap: wrap;
    -ms-flex-wrap: wrap;
    flex-wrap: wrap;
    font-size: max(18px, -webkit-calc(18vw / 19.2));
    font-size: max(18px, -moz-calc(18vw / 19.2));
    font-size: max(18px, calc(18vw / 19.2));
    font-weight: 300;
    line-height: 1.5;
}

footer div.box a {
    color: white;
    text-decoration: none;
    -webkit-transition: .25s;
    -o-transition: .25s;
    -moz-transition: .25s;
    transition: .25s;
}

footer div.box a:hover {
    opacity: .6;
}

footer div.box div.logo {
    width: 50%;
}

footer div.box div.gotop {
    width: 50%;
    display: -webkit-box;
    display: -webkit-flex;
    display: -moz-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-pack: end;
    -webkit-justify-content: flex-end;
    -moz-box-pack: end;
    -ms-flex-pack: end;
    justify-content: flex-end;
    -webkit-box-align: end;
    -webkit-align-items: flex-end;
    -moz-box-align: end;
    -ms-flex-align: end;
    align-items: flex-end;
}

footer div.box div.gotop a {
    width: -webkit-max-content;
    width: -moz-max-content;
    width: max-content;
    display: block;
    font-size: max(16px, -webkit-calc(18vw / 19.2));
    font-size: max(16px, -moz-calc(18vw / 19.2));
    font-size: max(16px, calc(18vw / 19.2));
    text-decoration: none;
    color: white;
}

footer div.box div.gotop a span {
    display: inline-block;
}

footer div.box div.gotop a svg {
    display: block;
    width: max(12px, -webkit-calc(15vw / 19.2));
    width: max(12px, -moz-calc(15vw / 19.2));
    width: max(12px, calc(15vw / 19.2));
    height: auto;
    margin-left: max(5px, -webkit-calc(5vw / 19.2));
    margin-left: max(5px, -moz-calc(5vw / 19.2));
    margin-left: max(5px, calc(5vw / 19.2));
}

footer div.box div.info {
    width: 25%;
    margin: max(18px, -webkit-calc(60vw / 19.2)) 0;
    margin: max(18px, -moz-calc(60vw / 19.2)) 0;
    margin: max(18px, calc(60vw / 19.2)) 0;
    font-size: max(16px, -webkit-calc(16vw / 19.2));
    font-size: max(16px, -moz-calc(16vw / 19.2));
    font-size: max(16px, calc(16vw / 19.2));
}

footer div.box div.info.disclaimer {
    width: 100%;
    font-size: 75%;
    font-weight: 300;
    opacity: .65;
}

footer div.box div.info.disclaimer a {
    text-decoration: underline;
}

footer div.box div.info p:not(:first-child) {
    margin-top: max(16px, -webkit-calc(16vw / 19.2));
    margin-top: max(16px, -moz-calc(16vw / 19.2));
    margin-top: max(16px, calc(16vw / 19.2));
}

footer div.box div.sub {
    width: 25%;
    border-top: max(1px, -webkit-calc(1vw / 19.2)) solid #938070;
    border-top: max(1px, -moz-calc(1vw / 19.2)) solid #938070;
    border-top: max(1px, calc(1vw / 19.2)) solid #938070;
    padding: max(20px, -webkit-calc(20vw / 19.2)) 0;
    padding: max(20px, -moz-calc(20vw / 19.2)) 0;
    padding: max(20px, calc(20vw / 19.2)) 0;
    color: #BABABA;
    font-size: max(16px, -webkit-calc(16vw / 19.2));
    font-size: max(16px, -moz-calc(16vw / 19.2));
    font-size: max(16px, calc(16vw / 19.2));
}

footer div.box div.sub ul {
    list-style: none;
    display: -webkit-box;
    display: -webkit-flex;
    display: -moz-box;
    display: -ms-flexbox;
    display: flex;
}

footer div.box div.sub ul li:not(:last-child)::after {
    content: '-';
    margin: 0 max(5px, -webkit-calc(5vw / 19.2));
    margin: 0 max(5px, -moz-calc(5vw / 19.2));
    margin: 0 max(5px, calc(5vw / 19.2));
}

footer div.box div.sub a {
    color: #BABABA;
}

/*
==========================================================
MENU MOBILE
==========================================================
*/

div.menu-mobile {
    position: fixed;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    background: var(--grigio);
    z-index: 999;
    -webkit-transform: translate(100%, 0);
    -moz-transform: translate(100%, 0);
    -ms-transform: translate(100%, 0);
    -o-transform: translate(100%, 0);
    transform: translate(100%, 0);
    -webkit-transition: .35s .35s;
    -o-transition: .35s .35s;
    -moz-transition: .35s .35s;
    transition: .35s .35s;
    overflow: hidden;
    display: none;
}

div.menu-mobile.show {
    -webkit-transform: translate(0, 0);
    -moz-transform: translate(0, 0);
    -ms-transform: translate(0, 0);
    -o-transform: translate(0, 0);
    transform: translate(0, 0);
    -webkit-transition: .35s;
    -o-transition: .35s;
    -moz-transition: .35s;
    transition: .35s;
}

div.menu-mobile div.logo {
    position: absolute;
    top: 0;
    left: 0;
    z-index: 1;
    -webkit-transform: translate(-100%, 0);
    -moz-transform: translate(-100%, 0);
    -ms-transform: translate(-100%, 0);
    -o-transform: translate(-100%, 0);
    transform: translate(-100%, 0);
    -webkit-transition: .35s;
    -o-transition: .35s;
    -moz-transition: .35s;
    transition: .35s;
}

div.menu-mobile.show div.logo {
    -webkit-transform: translate(0, 0);
    -moz-transform: translate(0, 0);
    -ms-transform: translate(0, 0);
    -o-transform: translate(0, 0);
    transform: translate(0, 0);
    -webkit-transition: .35s .35s;
    -o-transition: .35s .35s;
    -moz-transition: .35s .35s;
    transition: .35s .35s;
}

div.menu-mobile div.logo a {
    display: block;
}

div.menu-mobile div.menu {
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    z-index: 2;
    display: -webkit-box;
    display: -webkit-flex;
    display: -moz-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
    -webkit-flex-direction: column;
    -moz-box-orient: vertical;
    -moz-box-direction: normal;
    -ms-flex-direction: column;
    flex-direction: column;
    -webkit-box-pack: end;
    -webkit-justify-content: flex-end;
    -moz-box-pack: end;
    -ms-flex-pack: end;
    justify-content: flex-end;
    -webkit-box-align: end;
    -webkit-align-items: flex-end;
    -moz-box-align: end;
    -ms-flex-align: end;
    align-items: flex-end;
    gap: max(80px, -webkit-calc(80vw / 19.2));
    gap: max(80px, -moz-calc(80vw / 19.2));
    gap: max(80px, calc(80vw / 19.2));
    text-align: right;
    padding-right: max(70px, -webkit-calc(70vw / 19.2));
    padding-right: max(70px, -moz-calc(70vw / 19.2));
    padding-right: max(70px, calc(70vw / 19.2));
    padding-bottom: max(70px, -webkit-calc(70vw / 19.2));
    padding-bottom: max(70px, -moz-calc(70vw / 19.2));
    padding-bottom: max(70px, calc(70vw / 19.2));
    -webkit-transform: translate(100%, 0);
    -moz-transform: translate(100%, 0);
    -ms-transform: translate(100%, 0);
    -o-transform: translate(100%, 0);
    transform: translate(100%, 0);
    opacity: 0;
    -webkit-transition: .35s;
    -o-transition: .35s;
    -moz-transition: .35s;
    transition: .35s;
}

div.menu-mobile.show div.menu {
    -webkit-transform: translate(0, 0);
    -moz-transform: translate(0, 0);
    -ms-transform: translate(0, 0);
    -o-transform: translate(0, 0);
    transform: translate(0, 0);
    opacity: 1;
    -webkit-transition: .35s .35s;
    -o-transition: .35s .35s;
    -moz-transition: .35s .35s;
    transition: .35s .35s;
}

div.menu-mobile div.menu ul {
    list-style: none;
    line-height: 2;
}

div.menu-mobile div.menu ul li a {
    font-size: max(24px, -webkit-calc(24vw / 19.2));
    font-size: max(24px, -moz-calc(24vw / 19.2));
    font-size: max(24px, calc(24vw / 19.2));
    font-weight: 700;
    text-decoration: none;
    color: var(--blu);
}

div.menu-mobile div.menu ul li.current-menu-item a,
div.menu-mobile div.menu ul li.current-menu-item a {
    color: var(--rosso);
}

/*
==========================================================
ATTESTAZIONI (OVERLAY)
==========================================================
*/

div.attestations {
    position: fixed;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    padding: 0 max(30px, -webkit-calc(30vw / 19.2));
    padding: 0 max(30px, -moz-calc(30vw / 19.2));
    padding: 0 max(30px, calc(30vw / 19.2));
    background-color: var(--blu);
    color: white;
    font-size: max(16px, -webkit-calc(20vw / 19.2));
    font-size: max(16px, -moz-calc(20vw / 19.2));
    font-size: max(16px, calc(20vw / 19.2));
    z-index: 9999;
    overflow-y: auto;
    opacity: 0;
    pointer-events: none;
    -webkit-transition: .5s;
    -o-transition: .5s;
    -moz-transition: .5s;
    transition: .5s;
}

div.attestations.inline {
    position: relative;
    top: unset;
    left: unset;
    height: auto;
    border-bottom: max(10px, -webkit-calc(10vw / 19.2)) solid white;
    border-bottom: max(10px, -moz-calc(10vw / 19.2)) solid white;
    border-bottom: max(10px, calc(10vw / 19.2)) solid white;
}

div.attestations.show {
    opacity: 1;
    pointer-events: all;
}

div.attestations div.shape {
    position: absolute;
    top: -2px;
    right: 0;
}

div.attestations div.shape svg {
    display: block;
    width: max(60px, -webkit-calc(200vw / 19.2));
    width: max(60px, -moz-calc(200vw / 19.2));
    width: max(60px, calc(200vw / 19.2));
    height: auto;
}

div.attestations div.box {
    width: 100%;
    max-width: max(1500px, -webkit-calc(1500vw / 19.2));
    max-width: max(1500px, -moz-calc(1500vw / 19.2));
    max-width: max(1500px, calc(1500vw / 19.2));
    margin: 0 auto;
    padding: max(60px, -webkit-calc(100vw / 19.2)) 0 max(30px, -webkit-calc(100vw / 19.2)) 0;
    padding: max(60px, -moz-calc(100vw / 19.2)) 0 max(30px, -moz-calc(100vw / 19.2)) 0;
    padding: max(60px, calc(100vw / 19.2)) 0 max(30px, calc(100vw / 19.2)) 0;
}

div.attestations div.box div.title {
    font-size: max(30px, -webkit-calc(50vw / 19.2));
    font-size: max(30px, -moz-calc(50vw / 19.2));
    font-size: max(30px, calc(50vw / 19.2));
    font-weight: 900;
    margin-bottom: max(40px, -webkit-calc(75vw / 19.2));
    margin-bottom: max(40px, -moz-calc(75vw / 19.2));
    margin-bottom: max(40px, calc(75vw / 19.2));
}

div.attestations div.box div.grid {
    display: -webkit-box;
    display: -webkit-flex;
    display: -moz-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
    -webkit-flex-direction: column;
    -moz-box-orient: vertical;
    -moz-box-direction: normal;
    -ms-flex-direction: column;
    flex-direction: column;
    gap: max(40px, -webkit-calc(60vw / 19.2)) max(80px, -webkit-calc(80vw / 19.2));
    gap: max(40px, -moz-calc(60vw / 19.2)) max(80px, -moz-calc(80vw / 19.2));
    gap: max(40px, calc(60vw / 19.2)) max(80px, calc(80vw / 19.2));
}

div.attestations div.box div.group:not(:last-child) {
    border-bottom: 1px solid white;
    padding-bottom: max(50px, -webkit-calc(80vw / 19.2));
    padding-bottom: max(50px, -moz-calc(80vw / 19.2));
    padding-bottom: max(50px, calc(80vw / 19.2));
    margin-bottom: max(50px, -webkit-calc(80vw / 19.2));
    margin-bottom: max(50px, -moz-calc(80vw / 19.2));
    margin-bottom: max(50px, calc(80vw / 19.2));
}

div.attestations div.box div.subtitle {
    font-size: max(20px, -webkit-calc(30vw / 19.2));
    font-size: max(20px, -moz-calc(30vw / 19.2));
    font-size: max(20px, calc(30vw / 19.2));
    font-weight: 500;
    margin-bottom: max(30px, -webkit-calc(30vw / 19.2));
    margin-bottom: max(30px, -moz-calc(30vw / 19.2));
    margin-bottom: max(30px, calc(30vw / 19.2));
}

div.attestations div.box a {
    font-size: max(16px, -webkit-calc(20vw / 19.2));
    font-size: max(16px, -moz-calc(20vw / 19.2));
    font-size: max(16px, calc(20vw / 19.2));
    font-weight: 700;
    /*color: var(--rosso);
    text-decoration-thickness: max(1px, -webkit-calc(1vw / 19.2));
    text-decoration-thickness: max(1px, -moz-calc(1vw / 19.2));
    text-decoration-thickness: max(1px, calc(1vw / 19.2));
    text-underline-offset: max(2px, -webkit-calc(2vw / 19.2));
    text-underline-offset: max(2px, -moz-calc(2vw / 19.2));
    text-underline-offset: max(2px, calc(2vw / 19.2));*/
    color: white;
    text-decoration: none;
    pointer-events: none;
}

div.attestations div.box div.group.soa div.text {
    display: -ms-grid;
    display: grid;
    -ms-grid-columns: 2fr 1fr;
    grid-template-columns: 2fr 1fr;
    gap: max(40px, -webkit-calc(80vw / 19.2));
    gap: max(40px, -moz-calc(80vw / 19.2));
    gap: max(40px, calc(80vw / 19.2));
}

div.attestations div.box div.group.soa div.file {
    margin-bottom: max(30px, -webkit-calc(40vw / 19.2));
    margin-bottom: max(30px, -moz-calc(40vw / 19.2));
    margin-bottom: max(30px, calc(40vw / 19.2));
}

div.attestations div.box div.cols2 {
    width: 100%;
    -webkit-columns: 2;
    -moz-columns: 2;
    columns: 2;
    -webkit-column-gap: max(30px, -webkit-calc(50vw / 19.2));
    -moz-column-gap: max(30px, -moz-calc(50vw / 19.2));
    column-gap: max(30px, calc(50vw / 19.2));
    font-size: max(18px, -webkit-calc(22vw / 19.2));
    font-size: max(18px, -moz-calc(22vw / 19.2));
    font-size: max(18px, calc(22vw / 19.2));
    line-height: 1.5;
}

div.attestations div.box div.cols3 {
    width: 100%;
    -webkit-columns: 3;
    -moz-columns: 3;
    columns: 3;
    -webkit-column-gap: max(30px, -webkit-calc(50vw / 19.2));
    -moz-column-gap: max(30px, -moz-calc(50vw / 19.2));
    column-gap: max(30px, calc(50vw / 19.2));
    font-size: max(18px, -webkit-calc(22vw / 19.2));
    font-size: max(18px, -moz-calc(22vw / 19.2));
    font-size: max(18px, calc(22vw / 19.2));
    line-height: 1.5;
}

div.attestations div.box div.text p:not(:first-child) {
    margin-top: max(20px, -webkit-calc(30vw / 19.2));
    margin-top: max(20px, -moz-calc(30vw / 19.2));
    margin-top: max(20px, calc(30vw / 19.2));
}

div.attestations div.box div.text p {
    -webkit-column-break-inside: avoid;
    page-break-inside: avoid;
    break-inside: avoid;
}

div.attestations div.close {
    text-align: right;
    margin-top: max(40px, -webkit-calc(50vw / 19.2));
    margin-top: max(40px, -moz-calc(50vw / 19.2));
    margin-top: max(40px, calc(50vw / 19.2));
}

div.attestations div.close a {
    pointer-events: all;
}

div.attestations div.close a svg {
    display: inline-block;
    width: auto;
    height: max(20px, -webkit-calc(30vw / 19.2));
    height: max(20px, -moz-calc(30vw / 19.2));
    height: max(20px, calc(30vw / 19.2));
}

/*
==========================================================
CONTATTI (OVERLAY)
==========================================================
*/

div.contacts-overlay {
    position: fixed;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    padding: 0 max(30px, -webkit-calc(30vw / 19.2));
    padding: 0 max(30px, -moz-calc(30vw / 19.2));
    padding: 0 max(30px, calc(30vw / 19.2));
    background-color: white;
    color: var(--blu);
    font-size: max(16px, -webkit-calc(20vw / 19.2));
    font-size: max(16px, -moz-calc(20vw / 19.2));
    font-size: max(16px, calc(20vw / 19.2));
    z-index: -100;
    overflow-y: auto;
    opacity: 0;
    pointer-events: none;
    -webkit-transition: .5s;
    -o-transition: .5s;
    -moz-transition: .5s;
    transition: .5s;
}

div.contacts-overlay * {
    pointer-events: none;
}

div.contacts-overlay.show {
    opacity: 1;
    pointer-events: all;
    z-index: 999;
}

div.contacts-overlay.show * {
    pointer-events: all;
}

div.contacts-overlay div.box {
    width: 100%;
    max-width: max(1360px, -webkit-calc(1360vw / 19.2));
    max-width: max(1360px, -moz-calc(1360vw / 19.2));
    max-width: max(1360px, calc(1360vw / 19.2));
    margin: 0 auto;
    padding: max(50px, -webkit-calc(100vw / 19.2)) 0;
    padding: max(50px, -moz-calc(100vw / 19.2)) 0;
    padding: max(50px, calc(100vw / 19.2)) 0;
}

div.contacts-overlay div.box div.close {
    text-align: right;
    margin-bottom: max(30px, -webkit-calc(40vw / 19.2));
    margin-bottom: max(30px, -moz-calc(40vw / 19.2));
    margin-bottom: max(30px, calc(40vw / 19.2));
}

div.contacts-overlay div.box div.close a svg {
    display: inline-block;
    width: auto;
    height: max(24px, -webkit-calc(30vw / 19.2));
    height: max(24px, -moz-calc(30vw / 19.2));
    height: max(24px, calc(30vw / 19.2));
}

div.contacts-overlay div.box div.close a svg path {
    fill: var(--blu);
}

div.contacts-overlay div.box div.close a svg line {
    stroke: var(--blu);
}

div.contacts-overlay div.box div.title {
    font-weight: 900;
    font-size: max(30px, -webkit-calc(50vw / 19.2));
    font-size: max(30px, -moz-calc(50vw / 19.2));
    font-size: max(30px, calc(50vw / 19.2));
    margin-bottom: max(50px, -webkit-calc(90vw / 19.2));
    margin-bottom: max(50px, -moz-calc(90vw / 19.2));
    margin-bottom: max(50px, calc(90vw / 19.2));
    display: -webkit-box;
    display: -webkit-flex;
    display: -moz-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-pack: justify;
    -webkit-justify-content: space-between;
    -moz-box-pack: justify;
    -ms-flex-pack: justify;
    justify-content: space-between;
    -webkit-box-align: center;
    -webkit-align-items: center;
    -moz-box-align: center;
    -ms-flex-align: center;
    align-items: center;
}

div.contacts-overlay div.box div.title.where {
    margin-bottom: max(40px, -webkit-calc(50vw / 19.2));
    margin-bottom: max(40px, -moz-calc(50vw / 19.2));
    margin-bottom: max(40px, calc(50vw / 19.2));
}

div.contacts-overlay div.box div.data {
    font-size: max(16px, -webkit-calc(18vw / 19.2));
    font-size: max(16px, -moz-calc(18vw / 19.2));
    font-size: max(16px, calc(18vw / 19.2));
    margin-bottom: max(50px, -webkit-calc(60vw / 19.2));
    margin-bottom: max(50px, -moz-calc(60vw / 19.2));
    margin-bottom: max(50px, calc(60vw / 19.2));
    display: -webkit-box;
    display: -webkit-flex;
    display: -moz-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-pack: justify;
    -webkit-justify-content: space-between;
    -moz-box-pack: justify;
    -ms-flex-pack: justify;
    justify-content: space-between;
    -webkit-box-align: center;
    -webkit-align-items: center;
    -moz-box-align: center;
    -ms-flex-align: center;
    align-items: center;
}

div.contacts-overlay div.title span.external a {
    font-size: max(16px, -webkit-calc(20vw / 19.2));
    font-size: max(16px, -moz-calc(20vw / 19.2));
    font-size: max(16px, calc(20vw / 19.2));
    font-weight: 400;
    text-decoration: none;
    text-transform: uppercase;
    color: var(--blu);
    display: -webkit-box;
    display: -webkit-flex;
    display: -moz-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-pack: center;
    -webkit-justify-content: center;
    -moz-box-pack: center;
    -ms-flex-pack: center;
    justify-content: center;
    gap: max(20px, -webkit-calc(20vw / 19.2));
    gap: max(20px, -moz-calc(20vw / 19.2));
    gap: max(20px, calc(20vw / 19.2));
    width: -webkit-max-content;
    width: -moz-max-content;
    width: max-content;
    margin: 0 auto;
}

div.contacts-overlay div.title span.external a span.text {
    text-decoration: underline;
}

div.contacts-overlay div.box div.wpcf7 input,
div.contacts-overlay div.box div.wpcf7 textarea {
    display: block;
    width: 100%;
    height: max(50px, -webkit-calc(50vw / 19.2));
    height: max(50px, -moz-calc(50vw / 19.2));
    height: max(50px, calc(50vw / 19.2));
    margin: 0;
    padding: 0 max(16px, -webkit-calc(20vw / 19.2));
    padding: 0 max(16px, -moz-calc(20vw / 19.2));
    padding: 0 max(16px, calc(20vw / 19.2));
    border: none;
    background: var(--grigio);
    color: #3a3a3a;
    font-family: azo-sans-web, sans-serif;
    font-weight: 400;
    font-style: normal;
    font-size: max(16px, -webkit-calc(20vw / 19.2));
    font-size: max(16px, -moz-calc(20vw / 19.2));
    font-size: max(16px, calc(20vw / 19.2));
}

div.contacts-overlay div.box div.wpcf7 textarea {
    height: max(210px, -webkit-calc(210vw / 19.2));
    height: max(210px, -moz-calc(210vw / 19.2));
    height: max(210px, calc(210vw / 19.2));
    resize: none;
    padding: max(16px, -webkit-calc(20vw / 19.2));
    padding: max(16px, -moz-calc(20vw / 19.2));
    padding: max(16px, calc(20vw / 19.2));
}

div.contacts-overlay div.box div.wpcf7 div.send {
    display: -webkit-box;
    display: -webkit-flex;
    display: -moz-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-pack: justify;
    -webkit-justify-content: space-between;
    -moz-box-pack: justify;
    -ms-flex-pack: justify;
    justify-content: space-between;
    -webkit-box-align: center;
    -webkit-align-items: center;
    -moz-box-align: center;
    -ms-flex-align: center;
    align-items: center;
    margin-top: max(20px, -webkit-calc(20vw / 19.2));
    margin-top: max(20px, -moz-calc(20vw / 19.2));
    margin-top: max(20px, calc(20vw / 19.2));
}

div.contacts-overlay div.box div.wpcf7 div.send input {
    width: max(110px, -webkit-calc(110vw / 19.2));
    width: max(110px, -moz-calc(110vw / 19.2));
    width: max(110px, calc(110vw / 19.2));
    background: var(--blu);
    color: white;
    text-transform: uppercase;
    -webkit-box-ordinal-group: 3;
    -webkit-order: 2;
    -moz-box-ordinal-group: 3;
    -ms-flex-order: 2;
    order: 2;
}

div.contacts-overlay div.box div.wpcf7 form.wpcf7-form {
    display: -ms-grid;
    display: grid;
    grid-template-columns: repeat(2, 1fr);
    gap: max(10px, -webkit-calc(10vw / 19.2));
    gap: max(10px, -moz-calc(10vw / 19.2));
    gap: max(10px, calc(10vw / 19.2));
    margin-bottom: max(50px, -webkit-calc(70vw / 19.2));
    margin-bottom: max(50px, -moz-calc(70vw / 19.2));
    margin-bottom: max(50px, calc(70vw / 19.2));
}

div.contacts-overlay div.box div.wpcf7 form.wpcf7-form div.w-full {
    grid-column: 1;
    -ms-grid-column: 1;
    grid-column-start: 1;
    grid-column-end: 3;
}

div.contacts-overlay div.box div.wpcf7 div.privacy {
    margin-top: max(10px, -webkit-calc(10vw / 19.2));
    margin-top: max(10px, -moz-calc(10vw / 19.2));
    margin-top: max(10px, calc(10vw / 19.2));
}

div.contacts-overlay div.box div.wpcf7 div.privacy * {
    padding: 0;
    margin: 0;
}

div.contacts-overlay div.box div.wpcf7 div.privacy label {
    display: -ms-grid;
    display: grid;
    -ms-grid-columns: max(30px, calc(30vw / 19.2)) 1fr;
    grid-template-columns: max(30px, -webkit-calc(30vw / 19.2)) 1fr;
    grid-template-columns: max(30px, -moz-calc(30vw / 19.2)) 1fr;
    grid-template-columns: max(30px, calc(30vw / 19.2)) 1fr;
    gap: max(10px, -webkit-calc(20vw / 19.2));
    gap: max(10px, -moz-calc(20vw / 19.2));
    gap: max(10px, calc(20vw / 19.2));
    font-size: max(16px, -webkit-calc(16vw / 19.2));
    font-size: max(16px, -moz-calc(16vw / 19.2));
    font-size: max(16px, calc(16vw / 19.2));
    color: #717171;
}

div.contacts-overlay div.box div.wpcf7 div.privacy label span {
    margin-top: max(0px, -webkit-calc(6vw / 19.2));
    margin-top: max(0px, -moz-calc(6vw / 19.2));
    margin-top: max(0px, calc(6vw / 19.2));
}

div.contacts-overlay div.box div.wpcf7 div.privacy label a {
    color: #717171;
}

div.contacts-overlay div.box div.wpcf7 div.privacy label input[type="checkbox"] {
    width: max(20px, -webkit-calc(30vw / 19.2));
    width: max(20px, -moz-calc(30vw / 19.2));
    width: max(20px, calc(30vw / 19.2));
    height: max(20px, -webkit-calc(30vw / 19.2));
    height: max(20px, -moz-calc(30vw / 19.2));
    height: max(20px, calc(30vw / 19.2));
    position: relative;
}

div.contacts-overlay div.box div.wpcf7 div.privacy label input[type="checkbox"]::before {
    content: '';
    display: block;
    position: absolute;
    top: 0;
    left: 0;
    width: max(20px, -webkit-calc(30vw / 19.2));
    width: max(20px, -moz-calc(30vw / 19.2));
    width: max(20px, calc(30vw / 19.2));
    height: max(20px, -webkit-calc(30vw / 19.2));
    height: max(20px, -moz-calc(30vw / 19.2));
    height: max(20px, calc(30vw / 19.2));
    border: max(1px, -webkit-calc(1vw / 19.2)) solid #707070;
    border: max(1px, -moz-calc(1vw / 19.2)) solid #707070;
    border: max(1px, calc(1vw / 19.2)) solid #707070;
    background: white;
}

div.contacts-overlay div.box div.wpcf7 div.privacy label input[type="checkbox"]:checked:before {
    background: #707070;
}

div.contacts-overlay div.box div.wpcf7 span.wpcf7-spinner {
    margin: 0;
}

div.contacts-overlay div.box div.wpcf7 span.wpcf7-not-valid-tip {
    font-size: max(14px, -webkit-calc(14vw / 19.2));
    font-size: max(14px, -moz-calc(14vw / 19.2));
    font-size: max(14px, calc(14vw / 19.2));
    margin-top: max(5px, -webkit-calc(5vw / 19.2));
    margin-top: max(5px, -moz-calc(5vw / 19.2));
    margin-top: max(5px, calc(5vw / 19.2));
    color: var(--rosso);
}

div.contacts-overlay div.box div.wpcf7 div.wpcf7-response-output {
    padding: 0;
    margin: max(20px, -webkit-calc(20vw / 19.2)) 0 0 0;
    margin: max(20px, -moz-calc(20vw / 19.2)) 0 0 0;
    margin: max(20px, calc(20vw / 19.2)) 0 0 0;
    border: none;
    font-size: max(16px, -webkit-calc(16vw / 19.2));
    font-size: max(16px, -moz-calc(16vw / 19.2));
    font-size: max(16px, calc(16vw / 19.2));
    color: var(--rosso);
}

div.contacts-overlay div.box div.frame {
    width: 100%;
    height: 0;
    padding-top: 40%;
    position: relative;
}

div.contacts-overlay div.box div.frame iframe {
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
}

/*
==========================================================
RESPONSIVE
==========================================================
*/

@media only screen and (max-width: 1440px) {
    footer div.box div.info {
        width: 50%;
    }

    footer div.box div.sub.void {
        display: none;
    }

    footer div.box div.sub.copy {
        width: 50%;
    }
}

@media only screen and (max-width: 1279px) {
    header {
        display: -webkit-box;
        display: -webkit-flex;
        display: -moz-box;
        display: -ms-flexbox;
        display: flex;
        -webkit-box-pack: justify;
        -webkit-justify-content: space-between;
        -moz-box-pack: justify;
        -ms-flex-pack: justify;
        justify-content: space-between;
    }

    header nav {
        display: none;
    }

    header div.menu {
        display: block;
    }

    header div.menu a {
        display: block;
    }

    header div.menu a svg {
        display: block;
    }

    header div.menu a svg path {
        stroke: white;
    }

    div.menu-mobile {
        display: block;
    }
}

@media only screen and (max-width: 1024px) {
    footer div.box div.sub ul {
        list-style: none;
        display: block;
    }

    footer div.box div.sub ul li:not(:last-child)::after {
        display: none;
    }

    footer div.box div.sub {
        border-top: none;
        padding: 0;
    }

    footer div.box div.sub.copy {
        border-top: max(1px, -webkit-calc(1vw / 19.2)) solid #938070;
        border-top: max(1px, -moz-calc(1vw / 19.2)) solid #938070;
        border-top: max(1px, calc(1vw / 19.2)) solid #938070;
        padding-top: 40px;
    }

    footer div.box div.sub.credits {
        text-align: right;
    }
}

@media only screen and (max-width: 1023px) {
    div.attestations div.box div.group.soa div.text {
        -ms-grid-columns: 1fr;
        grid-template-columns: 1fr;
    }

    div.attestations div.box div.cols2 {
        -webkit-columns: 1;
        -moz-columns: 1;
        columns: 1;
    }

    div.attestations div.box div.cols3 {
        -webkit-columns: 1;
        -moz-columns: 1;
        columns: 1;
    }

    div.contacts-overlay div.box div.frame {
        padding-top: 100%;
    }
}

@media only screen and (max-width: 768px) {
    footer {
        padding-bottom: max(40px, -webkit-calc(80vw / 19.2));
        padding-bottom: max(40px, -moz-calc(80vw / 19.2));
        padding-bottom: max(40px, calc(80vw / 19.2));
    }

    footer div.box>div {
        width: 100% !important;
    }

    footer div.box div.logo {
        text-align: center;
        margin-bottom: 20px;
    }

    footer div.box div.sub {
        margin-top: 10px;
    }

    footer div.box div.sub.credits {
        text-align: left;
    }

    footer div.box div.sub ul {
        list-style: none;
        display: -webkit-box;
        display: -webkit-flex;
        display: -moz-box;
        display: -ms-flexbox;
        display: flex;
    }

    footer div.box div.sub ul li:not(:last-child)::after {
        display: inline-block;
    }

    footer div.box div.gotop {
        -webkit-box-ordinal-group: 101;
        -webkit-order: 100;
        -moz-box-ordinal-group: 101;
        -ms-flex-order: 100;
        order: 100;
        -webkit-box-pack: start;
        -webkit-justify-content: flex-start;
        -moz-box-pack: start;
        -ms-flex-pack: start;
        justify-content: flex-start;
        margin-top: 40px;
    }
}

@media only screen and (max-width: 639px) {
    div.contacts-overlay div.box div.wpcf7 form.wpcf7-form div {
        grid-column: 1;
        -ms-grid-column: 1 !important;
        grid-column-start: 1 !important;
        grid-column-end: 3 !important;
    }
}

@media only screen and (max-width: 480px) {
    div.cover div.shape {
        width: 100%;
    }

    div.cover div.shape svg.desktop {
        display: none;
    }

    div.cover div.shape svg.mobile {
        display: block;
    }

    header div.menu a svg path {
        stroke: var(--blu);
    }

    div.contacts-overlay div.box div.title {
        -webkit-box-align: start;
        -webkit-align-items: flex-start;
        -moz-box-align: start;
        -ms-flex-align: start;
        align-items: flex-start;
        -webkit-box-orient: vertical;
        -webkit-box-direction: normal;
        -webkit-flex-direction: column;
        -moz-box-orient: vertical;
        -moz-box-direction: normal;
        -ms-flex-direction: column;
        flex-direction: column;
    }

    div.contacts-overlay div.title span.external {
        margin-top: 30px
    }

    div.contacts-overlay div.title span.external a {
        -webkit-box-orient: horizontal;
        -webkit-box-direction: reverse;
        -webkit-flex-direction: row-reverse;
        -moz-box-orient: horizontal;
        -moz-box-direction: reverse;
        -ms-flex-direction: row-reverse;
        flex-direction: row-reverse;
    }
}

@media (orientation: portrait) {
    div.cover.swiper div.swiper-slide img.desktop {
        display: none;
    }

    div.cover.swiper div.swiper-slide img.mobile {
        display: block;
    }
}

/* recaptcha */

.grecaptcha-badge {
    display: none !important;
}