html,
body {
    margin: 0;
    padding: 0;
    width: 100%;
    min-height: 100%;
}

*,
*::before,
*::after {
    box-sizing: border-box;
}

html {
    -webkit-text-size-adjust: 100%;
    text-size-adjust: 100%;
    background: #fff;
}

body {
    position: relative;
    isolation: isolate;
    min-height: 100vh;
    display: flex;
    flex-direction: column;
    background: #fff;
    font-family: Arial, Helvetica, sans-serif;
    overflow-x: hidden;
}

body p,
body h1,
body h2,
body h3,
body h4,
body h5,
body h6,
body a,
body span,
body strong,
body b,
body em,
body i,
body small,
body label,
body button,
body input,
body textarea,
body select,
body option,
body li,
body dt,
body dd,
body blockquote,
body figcaption,
body code,
body pre {
    font-size: inherit;
}

body::before {
    content: "";
    position: fixed;
    inset: 0;
    z-index: -1;
    pointer-events: none;
}

/* inizio immagine sinistra */

img {
    display: block;
    width: 100%;
    max-width: 100%;
    height: auto;
    margin: 0;
    border: 0;
}

img.sinistra {
    display: block;
    width: 33%;
    min-width: 33%;
    max-width: 33%;
    height: auto;
    border: 0;
    margin: 0 3% 0 0;
    float: left;
}

/* fine immagine sinistra */

/* inizio immagine destra */

img.destra {
    display: block;
    width: 33%;
    min-width: 33%;
    max-width: 33%;
    height: auto;
    border: 0;
    margin: 0 0 0 3%;
    float: right;
}

/* fine immagine destra */

a,
a:visited,
a:hover,
a:active {
    color: inherit;
    text-decoration: none;
}

ul,
ol {
    margin: 0;
    padding: 0;
}

.site-header {
    position: relative;
    z-index: 1000;
    width: 100%;
    margin: 0;
    padding: 0;
    flex: 0 0 auto;
}

/* inizio header-inner */

.header-inner {
    position: relative;
    width: 94%;
    margin: 0 auto;
    padding: 0;
    display: flex;
    align-items: flex-start;
    justify-content: space-between;
}

.logo-link {
    width: 32%;
    flex: 0 0 32%;
}

/* fine header-inner */

/* inizio menu sito */

#mobile-menu-toggle,
.submenu-toggle {
    position: absolute;
    width: 1px;
    height: 1px;
    margin: -1px;
    padding: 0;
    overflow: hidden;
    clip-path: inset(50%);
    white-space: nowrap;
    border: 0;
}

.hamburger-toggle,
.mobile-close {
    display: none;
}

.site-navigation {
    position: absolute;
    top: 21%;
    right: 0;
    display: block;
    max-width: 70%;
    margin: 0;
    padding: 0 0 0 20px;
}

.site-menu {
    display: flex;
    align-items: flex-start;
    justify-content: flex-end;
    margin: 0;
    padding: 0;
    list-style: none;
}

.site-menu > li {
    position: relative;
    display: flex;
    align-items: flex-start;
    margin: 0;
    padding: 0;
}

.site-menu > li:not(:last-child) {
    margin-right: 1.28em;
}

.site-menu > li:not(:last-child)::after {
    content: "|";
    position: absolute;
    top: 0;
    left: 100%;
    width: 1.28em;
    text-align: center;
    font-weight: normal;
}

.site-menu > li > a,
.menu-trigger {
    display: block;
    margin: 0;
    padding: 0;
    font-family: inherit;
    font-size: inherit;
    font-weight: 700;
    line-height: inherit;
    white-space: nowrap;
    cursor: pointer;
    background: transparent;
    border: 0;
    text-decoration: none;
}

.site-menu > li > a:hover,
.site-menu > li > a:active,
.menu-item:hover > .menu-trigger {
    background: transparent;
    text-decoration: underline;
}

.site-menu > li > a:focus,
.menu-trigger:focus {
    background: transparent;
    text-decoration: none;
}

.site-menu > li > a:focus-visible,
.menu-trigger:focus-visible {
    background: transparent;
    text-decoration: underline;
    outline: 2px solid #fff;
    outline-offset: 3px;
}

.menu-item {
    position: relative;
    display: block;
    margin: 0;
    padding: 0;
}

.menu-trigger {
    position: relative;
}

.menu-submenu {
    position: absolute;
    top: 100%;
    left: 50%;
    width: 13.1em;
    max-width: 13.6em;
    margin: 0;
    padding: 8px 0 0;
    background: transparent;
    list-style: none;
    z-index: 5000;
    transform: translateX(-50%);
    display: none;
}

.menu-item:hover > .menu-submenu {
    display: block;
}

.submenu-toggle:focus-visible + .menu-trigger {
    outline: 2px solid #fff;
    outline-offset: 3px;
}

.menu-submenu li {
    display: block;
    width: 100%;
    margin: 0 0 3px;
    padding: 1%;
    white-space: normal;
    overflow-wrap: break-word;
}

.menu-submenu li:last-child {
    margin-bottom: 0;
}

.menu-submenu a {
    display: block;
    width: 100%;
    margin: 0;
    padding: 1%;
    font-weight: normal;
    white-space: normal;
    overflow-wrap: break-word;
    cursor: pointer;
}

.menu-submenu a:hover,
.menu-submenu a:active,
.menu-submenu a:focus {
    background: transparent;
    text-decoration: underline;
}

.menu-submenu a:focus-visible {
    outline: 2px solid #fff;
    outline-offset: -2px;
}

/* fine menu sito */

.main-content {
    width: 100%;
    margin: 0;
    padding: 0;
    flex: 1 0 auto;
    min-height: 0;
}

/* inizio slide-inner */

.slide,
.slide-inner {
    display: block;
    width: 100%;
    margin: 0;
    padding: 0;
    background: transparent;
}

/* fine slide-inner */

.slogan {
    display: block;
    width: 100%;
    margin: 0;
    padding: 0;
}

/* inizio slogan-inner */

.slogan-inner {
    width: 94%;
    margin: 0 auto;
    padding: .6em 0;
    display: block;
    background: transparent;
    overflow-wrap: break-word;
}

.slogan-inner h1,
.slogan-inner h2,
.slogan-inner h3,
.slogan-inner h4,
.slogan-inner h5,
.slogan-inner h6,
.slogan-inner p,
.slogan-inner a,
.slogan-inner span,
.slogan-inner strong,
.slogan-inner b,
.slogan-inner em,
.slogan-inner i,
.slogan-inner small,
.slogan-inner label,
.slogan-inner button,
.slogan-inner input,
.slogan-inner textarea,
.slogan-inner select,
.slogan-inner option,
.slogan-inner li {
    margin-top: 0;
    color: inherit;
    font-size: inherit;
    line-height: inherit;
    overflow-wrap: break-word;
}

.slogan-inner h1,
.slogan-inner h2,
.slogan-inner h3,
.slogan-inner h4,
.slogan-inner h5,
.slogan-inner h6 {
    margin-bottom: 0;
    font-weight: 700;
}

.slogan-inner p {
    margin-bottom: .65em;
}

.slogan-inner p:last-child,
.slogan-inner ul:last-child,
.slogan-inner ol:last-child {
    margin-bottom: 0;
}

.slogan-inner ul,
.slogan-inner ol {
    display: block;
    width: 100%;
    margin-top: 0;
    margin-bottom: .65em;
    padding: 0 0 0 1.5em;
    list-style-position: outside;
}

.slogan-inner ul li,
.slogan-inner ol li {
    width: auto;
    margin: 0;
    padding: 0;
}

.slogan-inner ul[style*="list-style: none"],
.slogan-inner ul[style*="list-style:none"],
.slogan-inner ul[style*="list-style-type: none"],
.slogan-inner ul[style*="list-style-type:none"] {
    padding-left: 0;
}

.slogan-inner a {
    font-weight: 700;
}

.slogan-inner a:hover,
.slogan-inner a:active,
.slogan-inner a:focus {
    text-decoration: underline;
}

/* fine slogan-inner */

/* inizio contenutosito-inner */

.contenutosito {
    width: 100%;
    margin: 0;
    padding: 1.6em 0;
    background: transparent;
}

.contenutosito-inner {
    width: 94%;
    margin: 0 auto;
    padding: 0;
    border: 0;
    background: transparent;
}

.contenutosito-inner h1,
.contenutosito-inner h2,
.contenutosito-inner h3,
.contenutosito-inner h4,
.contenutosito-inner h5,
.contenutosito-inner h6,
.contenutosito-inner p,
.contenutosito-inner a,
.contenutosito-inner span,
.contenutosito-inner strong,
.contenutosito-inner b,
.contenutosito-inner em,
.contenutosito-inner i,
.contenutosito-inner small,
.contenutosito-inner label,
.contenutosito-inner button,
.contenutosito-inner input,
.contenutosito-inner textarea,
.contenutosito-inner select,
.contenutosito-inner option,
.contenutosito-inner li {
    margin-top: 0;
    font-size: inherit;
}

.contenutosito-inner h1,
.contenutosito-inner h2,
.contenutosito-inner h3,
.contenutosito-inner h4,
.contenutosito-inner h5,
.contenutosito-inner h6 {
    margin-bottom: 0;
    font-weight: 700;
}

.contenutosito-inner p {
    margin-bottom: .65em;
}

.contenutosito-inner p:last-child,
.contenutosito-inner ul:last-child,
.contenutosito-inner ol:last-child {
    margin-bottom: 0;
}

.contenutosito-inner ul,
.contenutosito-inner ol {
    display: block;
    width: 100%;
    margin-top: 0;
    margin-bottom: .65em;
    padding: 0 0 0 1.5em;
    list-style-position: outside;
}

.contenutosito-inner ul li,
.contenutosito-inner ol li {
    width: auto;
    margin: 0;
    padding: 0;
    line-height: inherit;
    overflow-wrap: break-word;
}

.contenutosito-inner ul[style*="list-style: none"],
.contenutosito-inner ul[style*="list-style:none"],
.contenutosito-inner ul[style*="list-style-type: none"],
.contenutosito-inner ul[style*="list-style-type:none"] {
    padding-left: 0;
}

.contenutosito-inner a,
.contenutosito-inner a:visited,
.contenutosito-inner a:hover,
.contenutosito-inner a:active,
.contenutosito-inner a:focus {
}

.contenutosito-inner a {
    font-weight: 700;
}

.contenutosito-inner a:hover,
.contenutosito-inner a:active,
.contenutosito-inner a:focus {
    text-decoration: underline;
}

/* fine contenutosito-inner */

.site-footer {
    position: relative;
    z-index: 900;
    width: 100%;
    min-height: 60px;
    margin: 0;
    padding: 0;
    flex: 0 0 auto;
}

/* inizio footer-inner */

.footer-inner {
    width: 94%;
    min-height: 60px;
    margin: 0 auto;
    padding: 1.6em 0;
    display: block;
    border: 0;
    background: transparent;
    font-size: inherit;
    line-height: inherit;
    text-align: left;
}

.footer-inner h1,
.footer-inner h2,
.footer-inner h3,
.footer-inner h4,
.footer-inner h5,
.footer-inner h6,
.footer-inner p,
.footer-inner a,
.footer-inner span,
.footer-inner strong,
.footer-inner b,
.footer-inner em,
.footer-inner i,
.footer-inner small,
.footer-inner label,
.footer-inner button,
.footer-inner input,
.footer-inner textarea,
.footer-inner select,
.footer-inner option,
.footer-inner li {
    margin-top: 0;
    font-size: inherit;
}

.footer-inner h1,
.footer-inner h2,
.footer-inner h3,
.footer-inner h4,
.footer-inner h5,
.footer-inner h6 {
    margin-bottom: 0;
    font-weight: 700;
    line-height: inherit;
}

.footer-inner p {
    margin-bottom: .65em;
    line-height: inherit;
}

.footer-inner p:last-child,
.footer-inner ul:last-child,
.footer-inner ol:last-child {
    margin-bottom: 0;
}

.footer-inner ul,
.footer-inner ol {
    display: block;
    width: 100%;
    margin-top: 0;
    margin-bottom: .65em;
    padding: 0 0 0 1.5em;
    list-style-position: outside;
}

.footer-inner ul li,
.footer-inner ol li {
    width: auto;
    margin: 0;
    padding: 0;
    line-height: inherit;
    overflow-wrap: break-word;
}

.footer-inner ul[style*="list-style: none"],
.footer-inner ul[style*="list-style:none"],
.footer-inner ul[style*="list-style-type: none"],
.footer-inner ul[style*="list-style-type:none"] {
    padding-left: 0;
}

.footer-inner a,
.footer-inner a:visited {
    color: inherit;
}

.footer-inner a {
    font-weight: 700;
}

.footer-inner a:hover,
.footer-inner a:active,
.footer-inner a:focus {
    text-decoration: underline;
}

.footer-inner span {
    margin: 0;
    padding: 0;
    background: transparent;
}

/* fine footer-inner */

a:focus-visible,
label:focus-visible {
    outline: 2px solid #fff;
    outline-offset: 3px;
}

@media (hover:none) and (pointer:coarse) {

    .menu-item:hover > .menu-submenu {
        display: none;
    }

    .menu-item > .submenu-toggle:checked ~ .menu-submenu {
        display: block;
    }
}

/* =========================================================
   MOBILE - ADESSO INIZIA IL CODICE PER IL MOBILE
   ========================================================= */

@media screen and (max-width:767px) {

    html {
        font-size: 18px;
    }

    body {
        font-size: 18px;
        line-height: 1.38;
    }

    .site-header {
        height: 194px;
        min-height: 194px;
        padding: 54px 0 0;
    }

    /* inizio header-inner */

    .header-inner {
        width: 100%;
        height: 140px;
        min-height: 140px;
        flex-direction: column;
        align-items: center;
        justify-content: flex-start;
    }

    /* fine header-inner */

    .logo-link {
        order: 1;
        width: 100%;
        height: 140px;
        min-height: 140px;
        display: flex;
        align-items: center;
        justify-content: center;
        z-index: 1000;
    }

    .site-logo {
        width: auto;
        height: 140px;
        max-height: 140px;
    }

    /* inizio menu sito */

    .hamburger-toggle::before {
        content: "";
        position: fixed;
        top: 0;
        left: 0;
        width: 100vw;
        height: 54px;
        pointer-events: none;
        z-index: -1;
    }

    .hamburger-toggle {
        position: fixed;
        top: 0;
        left: 0;
        z-index: 11000;
        width: 58px;
        height: 54px;
        margin: 0;
        padding: 6px 0;
        display: flex;
        flex-direction: column;
        align-items: flex-start;
        justify-content: center;
        background: transparent;
        border: 0;
        cursor: pointer;
        line-height: 0;
    }

    .hamburger-toggle span {
        display: block;
        width: 30px;
        height: 3px;
        margin: 2px 0 2px 14px;
        pointer-events: none;
    }

    .hamburger-toggle:hover,
    .hamburger-toggle:active,
    .hamburger-toggle:focus {
        background: transparent;
        text-decoration: none;
    }

    .hamburger-toggle:focus-visible {
        outline: 2px solid #fff;
        outline-offset: -2px;
    }

    .site-navigation {
        position: fixed;
        top: 0;
        left: 0;
        z-index: 20000;
        display: block;
        width: 90vw !important;
        max-width: 90vw !important;
        height: 100vh;
        height: 100dvh;
        min-height: 100vh;
        margin: 0;
        padding: 64px 5% 30px;
        visibility: hidden;
        transform: translateX(-110%);
        overflow-x: hidden;
        overflow-y: auto;
        scrollbar-width: none;
        transition: transform .2s ease, visibility .2s ease;
    }

    .site-navigation::-webkit-scrollbar {
        display: none;
    }

    #mobile-menu-toggle:checked ~ .site-navigation {
        visibility: visible;
        transform: translateX(0);
    }

    .mobile-close {
        position: absolute;
        top: 8px;
        right: 8px;
        z-index: 21000;
        width: 44px;
        height: 44px;
        margin: 0;
        padding: 0;
        display: flex;
        align-items: center;
        justify-content: center;
        font-size: 32px;
        font-weight: normal;
        line-height: 1;
        cursor: pointer;
        border: 0;
        text-decoration: none;
    }

    .mobile-close:hover,
    .mobile-close:active,
    .mobile-close:focus {
        text-decoration: none;
    }

    .mobile-close:focus-visible {
        outline: 2px solid #fff;
        outline-offset: 3px;
    }

    .site-menu {
        width: 100%;
        display: block;
        font-size: 18px;
    }

    .site-menu > li,
    .menu-item {
        width: 100%;
        margin: 0;
        padding: 0;
        display: block;
    }

    .site-menu > li:not(:last-child) {
        margin-right: 0;
    }

    .site-menu > li:not(:last-child)::after {
        display: none;
    }

    .site-menu > li > a,
    .menu-trigger {
        display: block;
        width: 100%;
        margin: 0;
        padding: 12px 0;
        font-size: 18px;
        line-height: 1.4;
        font-weight: 700;
        white-space: normal;
        overflow-wrap: break-word;
        cursor: pointer;
        text-decoration: none;
    }

    .site-menu > li > a:hover,
    .site-menu > li > a:active,
    .site-menu > li > a:focus,
    .menu-trigger:hover,
    .menu-trigger:active,
    .menu-trigger:focus,
    .menu-trigger:focus-visible,
    .menu-item:hover > .menu-trigger,
    .menu-item > .submenu-toggle:checked ~ .menu-trigger,
    .menu-item > .submenu-toggle:checked ~ .menu-trigger:hover,
    .menu-item > .submenu-toggle:checked ~ .menu-trigger:active,
    .menu-item > .submenu-toggle:checked ~ .menu-trigger:focus,
    .menu-item > .submenu-toggle:checked ~ .menu-trigger:focus-visible {
        text-decoration: none;
    }

    .menu-item > .menu-submenu {
        position: static;
        width: 100%;
        max-width: none;
        margin: 0;
        padding: 0 0 5px 15px;
        transform: none;
    }

    .menu-item > .submenu-toggle:not(:checked) ~ .menu-submenu {
        display: none;
    }

    .menu-item > .submenu-toggle:checked ~ .menu-submenu {
        display: block;
    }

    .menu-submenu li {
        width: 100%;
        margin: 0;
        padding: 0;
        overflow-wrap: break-word;
    }

    .menu-submenu a {
        display: block;
        width: 100%;
        margin: 0;
        padding: 9px 5px;
        font-size: 16px;
        line-height: 1.4;
        font-weight: normal;
        white-space: normal;
        overflow-wrap: break-word;
        cursor: pointer;
        text-decoration: none;
    }

    .menu-submenu a:hover,
    .menu-submenu a:active,
    .menu-submenu a:focus {
        text-decoration: none;
    }

    /* fine menu sito */

    .contenutosito-inner img {
        width: 100%;
        max-width: 100%;
        margin-left: 0;
        margin-right: 0;
        float: none;
    }

    /* inizio immagine sinistra */

    .contenutosito-inner img.sinistra {
        width: 100%;
        min-width: 0;
        max-width: 100%;
        margin: 0;
        float: none;
    }

    /* fine immagine sinistra */

    /* inizio immagine destra */

    .contenutosito-inner img.destra {
        width: 100%;
        min-width: 0;
        max-width: 100%;
        margin: 0;
        float: none;
    }

    /* fine immagine destra */

    /* inizio slide-inner */

    .main-content,
    .slide,
    .slide-inner,
    .slogan {
        width: 100%;
        font-size: 18px;
        line-height: 1.38;
    }

    /* fine slide-inner */

    /* inizio slogan-inner */

    .slogan-inner {
        width: 90%;
        padding: .7em 0;
        font-size: 18px;
        line-height: 1.38;
    }

    .slogan-inner h1,
    .slogan-inner h2,
    .slogan-inner h3,
    .slogan-inner h4,
    .slogan-inner h5,
    .slogan-inner h6,
    .slogan-inner p,
    .slogan-inner a,
    .slogan-inner span,
    .slogan-inner strong,
    .slogan-inner b,
    .slogan-inner em,
    .slogan-inner i,
    .slogan-inner small,
    .slogan-inner label,
    .slogan-inner button,
    .slogan-inner input,
    .slogan-inner textarea,
    .slogan-inner select,
    .slogan-inner option,
    .slogan-inner li {
        font-size: 18px;
        line-height: 1.38;
    }

    /* fine slogan-inner */

    /* inizio contenutosito-inner */

    .contenutosito {
        padding: 1.6em 0;
        font-size: 18px;
        line-height: 1.38;
    }

    .contenutosito-inner {
        width: 90%;
        font-size: 18px;
        line-height: 1.38;
    }

    .contenutosito-inner h1,
    .contenutosito-inner h2,
    .contenutosito-inner h3,
    .contenutosito-inner h4,
    .contenutosito-inner p,
    .contenutosito-inner a,
    .contenutosito-inner span,
    .contenutosito-inner strong,
    .contenutosito-inner b,
    .contenutosito-inner em,
    .contenutosito-inner i,
    .contenutosito-inner small,
    .contenutosito-inner label,
    .contenutosito-inner button,
    .contenutosito-inner input,
    .contenutosito-inner textarea,
    .contenutosito-inner select,
    .contenutosito-inner option,
    .contenutosito-inner li {
        font-size: 18px;
        line-height: 1.38;
    }

    /* fine contenutosito-inner */

    /* inizio footer-inner */

    .site-footer {
        min-height: 60px;
        font-size: 18px;
        line-height: 1.38;
    }

    .footer-inner {
        width: 90%;
        font-size: 18px;
        line-height: 1.38;
    }

    .footer-inner h1,
    .footer-inner h2,
    .footer-inner h3,
    .footer-inner h4,
    .footer-inner p,
    .footer-inner a,
    .footer-inner span,
    .footer-inner strong,
    .footer-inner b,
    .footer-inner em,
    .footer-inner i,
    .footer-inner small,
    .footer-inner label,
    .footer-inner button,
    .footer-inner input,
    .footer-inner textarea,
    .footer-inner select,
    .footer-inner option,
    .footer-inner li {
        font-size: 18px;
        line-height: 1.38;
    }

    /* fine footer-inner */
}

@media (prefers-reduced-motion:reduce) {

    *,
    *::before,
    *::after {
        scroll-behavior: auto !important;
        transition: none !important;
    }
}

@media print {

    body {
        min-height: auto;
        color: #000;
        background: #fff;
    }

    body::before {
        display: none;
    }

    .site-footer {
        position: static;
        width: 100%;
    }

    .hamburger-toggle,
    .site-navigation {
        display: none;
    }
}
