/*  Towards Excellence CSS3 Ver. 1.0.0
    Copyright 1999 - 2023 JAM Studio
    Visit Us (https://www.jamstudio.it/)    */

/*  =====================================================
    =   Font utilizzati                                 =
    =   font-family: 'Bodoni Moda', serif;              =
    =   font-family: 'Quicksand', sans-serif;           =
    =====================================================   */

/*  =====================================================
    =   PALETTE E TYPOGRAPHY                            =
    =====================================================   */
:root {
    --blue          : #004580;
    --blue-l        : #018ABD;
    --cyan          : #97CBDC;
    --cyan-l        : #DDE8F0;
/*      --> Greyscale                                       */
    --black         : #1F1F1F;
    --black-l       : #2B2B2B;
    --grey-d        : #595959;
    --grey          : #A4A4A4;
    --grey-c        : #C5C5C5;
    --grey-l        : #E5E5E5;
    --white-m       : #F5F5F5;
    --white         : #FFFFFF;
/*      --> Colors                                          */
    --green         : #6BC04B;
    --yellow        : #FFC72A;
    --red           : #F4192F;
/*      --> Fonts sito                                      */
    --header-font   : 'Bodoni Moda', serif;
    --text-font     : 'Quicksand', sans-serif;
}
/*  =====================================================
    =   SCROLL BAR                                      =
    =====================================================   */
::-webkit-scrollbar { width: 8px; }
::-webkit-scrollbar-track { background: var(--white-m); box-shadow: none; border-radius: 0; }
::-webkit-scrollbar-thumb { background: var(--grey-c); border: 0 solid transparent; border-radius: 0; background-clip: content-box; }
::-webkit-scrollbar-thumb:hover { background: var(--cyan); border: 0 solid transparent; background-clip: content-box; }
/*  =====================================================
    =   SETTING BASE PAGINA                             =
    =====================================================   */
html, body { height: 100vh; margin: 0; font-family: var(--text-font); color: var(--black); background-color: var(--white-m); }
html { scroll-padding-top: 7rem; }
img { max-width: 100%; max-height: 100%; width: auto; height: auto; }
/*      --> Typography                                      */
h1, h2, h3, h4, h5, h6 { font-family: var(--header-font); font-weight: 500!important; font-optical-sizing: none;}
p, li, a, th, td { text-decoration: none; }
b, strong { font-weight: 600!important; }
a {color: var(--cyan); text-decoration: none;}
a:hover {color: var(--blue-l); text-decoration: none;}
a:focus { outline: none; box-shadow: none; }
/*  =====================================================
    =   ICONS                                           =
    =====================================================   */
.icon { min-width: 1.25rem; height: 1.25rem; display: inline-block; }
.icon.white { background-color: var(--white); }
.icon.darkest { background-color: var(--black-l); }
.icon.dark { background-color: var(--grey-d); }
.icon.grey { background-color: var(--grey); }
.icon.blue { background-color: var(--blue); }
.icon.cyan { background-color: var(--cyan); }
.icon-xs { min-width: .75rem!important; height: .75rem!important; }
.icon-sm { min-width: 1rem!important; height: 1rem!important; }
.icon-md { min-width: 1.5rem!important; height: 1.5rem!important; }
.icon-lg { min-width: 2rem!important; height: 2rem!important; }
.icon-xl { min-width: 2.5rem!important; height: 2.5rem!important; }
.icon-xxl { min-width: 3rem!important; height: 3rem!important; }
.icon-big { min-width: 5rem!important; height: 5rem!important; }
/*      --> Icone Navigazione                               */
.ico-menu {
    -webkit-mask: url("../images/icons/nav-menu.svg") no-repeat center;
    mask: url("../images/icons/nav-menu.svg") no-repeat center;
}
.ico-close {
    -webkit-mask: url("../images/icons/nav-close.svg") no-repeat center;
    mask: url("../images/icons/nav-close.svg") no-repeat center;
}
.ico-plus {
    -webkit-mask: url("../images/icons/nav-plus.svg") no-repeat center;
    mask: url("../images/icons/nav-plus.svg") no-repeat center;
}
.ico-chevron-y {
    -webkit-mask: url("../images/icons/nav-chevron-y.svg") no-repeat center;
    mask: url("../images/icons/nav-chevron-y.svg") no-repeat center;
}
.ico-chevron-x, .ico-chevron-x.left {
    -webkit-mask: url("../images/icons/nav-chevron-x.svg") no-repeat center;
    mask: url("../images/icons/nav-chevron-x.svg") no-repeat center;
}
.ico-chevron-x.left {
    -webkit-transform: rotate(180deg);
    transform: rotate(180deg);
}
/*      --> Icone Varie                                     */
.ico-hotel {
    -webkit-mask: url("../images/icons/sys-hotel.svg") no-repeat center;
    mask: url("../images/icons/sys-hotel.svg") no-repeat center;
}
.ico-restaurant {
    -webkit-mask: url("../images/icons/sys-restaurant.svg") no-repeat center;
    mask: url("../images/icons/sys-restaurant.svg") no-repeat center;
}
.ico-link {
    -webkit-mask: url("../images/icons/sys-link.svg") no-repeat center;
    mask: url("../images/icons/sys-link.svg") no-repeat center;
}
.ico-booking {
    -webkit-mask: url("../images/icons/sys-booking.svg") no-repeat center;
    mask: url("../images/icons/sys-booking.svg") no-repeat center;
}
.ico-star {
    -webkit-mask: url("../images/icons/sys-star.svg") no-repeat center;
    mask: url("../images/icons/sys-star.svg") no-repeat center;
}
/*      --> Icone Contatti e Social                         */
.ico-map {
    -webkit-mask: url("../images/icons/contatti-map.svg") no-repeat center;
    mask: url("../images/icons/contatti-map.svg") no-repeat center;
}
.ico-mail {
    -webkit-mask: url("../images/icons/contatti-mail.svg") no-repeat center;
    mask: url("../images/icons/contatti-mail.svg") no-repeat center;
}
.ico-tel {
    -webkit-mask: url("../images/icons/contatti-tel.svg") no-repeat center;
    mask: url("../images/icons/contatti-tel.svg") no-repeat center;
}
.ico-whatsapp {
    -webkit-mask: url("../images/icons/contatti-whatsapp.svg") no-repeat center;
    mask: url("../images/icons/contatti-whatsapp.svg") no-repeat center;
}
/*      --> Icone Esiti                                     */
.ico-ok {
    -webkit-mask: url("../images/icons/esito-ok.svg") no-repeat center;
    mask: url("../images/icons/esito-ok.svg") no-repeat center;
}
.ico-ko {
    -webkit-mask: url("../images/icons/esito-ko.svg") no-repeat center;
    mask: url("../images/icons/esito-ko.svg") no-repeat center;
}

/*  =====================================================
    =   BUTTONS                                         =
    =====================================================   */
.btn { --bs-btn-font-family: var(--text-font); --bs-btn-focus-shadow-rgb: none; --bs-btn-active-shadow: none; --bs-btn-border-radius: .25rem; }
.btn.left-side { border-top-left-radius: 0!important; border-bottom-left-radius: 0!important; }
.btn-icon { min-width: 3rem; min-height: 3rem; --bs-btn-padding-x: 0.5rem; --bs-btn-padding-y: 0.5rem; display: flex; align-items: center; justify-content: center; border:0!important;}
.btn-icon.small { min-width: 2rem; min-height: 2rem; --bs-btn-padding-x: 0.25rem; --bs-btn-padding-y: 0.25rem; }
.btn-menu, .btn-back {
    width: 4rem;
    height: 4rem;
    background-color: transparent;
    border: 1px solid var(--cyan);
    border-radius: 0;
    display: flex;
    align-items: center;
    justify-content: center;
}
.btn-menu .icon, .btn-back .icon{ background-color: var(--cyan); }
.btn-menu:hover, .btn-back:hover { background-color: transparent }
.btn-menu:hover .icon, .btn-back:hover .icon { background-color: var(--cyan); }
.btn-more {
    --bs-btn-color: var(--cyan);
    --bs-btn-bg: transparent;
    --bs-btn-hover-color: var(--blue-l);
    --bs-btn-hover-bg: var(--cyan-l);
    --bs-btn-active-color: var(--blue-l);
    --bs-btn-active-bg: var(--cyan-l);
    --bs-btn-disabled-color: var(--cyan);
    --bs-btn-disabled-bg: transparent;
    --bs-btn-font-weight: 400;
    --bs-btn-border-width: 0;
    display: flex;
    align-items: center;
    justify-content: center;
}
.btn-more .icon {
    background-color: var(--cyan);
}
.btn-more:hover .icon {
    background-color: var(--blue-l);
}
.btn-submit {
    --bs-btn-color: var(--white);
    --bs-btn-bg: var(--blue);
    --bs-btn-border-color: var(--blue);
    --bs-btn-hover-color: var(--white);
    --bs-btn-hover-bg: var(--blue-l);
    --bs-btn-hover-border-color: var(--blue-l);
    --bs-btn-active-color: var(--white);
    --bs-btn-active-bg: var(--blue-l);
    --bs-btn-active-border-color: var(--blue-l);
    --bs-btn-disabled-color: var(--white);
    --bs-btn-disabled-bg: var(--blue);
    --bs-btn-disabled-border-color: var(--blue);
    --bs-btn-font-weight: 400;
}
.btn-scheda {
    --bs-btn-color: var(--grey);
    --bs-btn-bg: transparent;
    --bs-btn-hover-color: var(--grey-d);
    --bs-btn-hover-bg: var(--grey-l);
    --bs-btn-active-color: var(--grey-d);
    --bs-btn-active-bg: var(--grey-l);
    --bs-btn-disabled-color: var(--grey);
    --bs-btn-disabled-bg: transparent;
    --bs-btn-font-size: .875rem;
    --bs-btn-font-weight: 500;
    --bs-btn-border-width: 0;
    line-height: 1.25;
    text-align: left;
    display: flex;
    align-items: center;
    justify-content: center;
}
.btn-scheda .icon {
    background-color: var(--grey);
}
.btn-scheda:hover .icon {
    background-color: var(--grey-d);
}
.btn-website {
    --bs-btn-color: var(--blue);
    --bs-btn-bg: transparent;
    --bs-btn-hover-color: var(--blue-l);
    --bs-btn-hover-bg: var(--cyan-l);
    --bs-btn-active-color: var(--blue-l);
    --bs-btn-active-bg: var(--cyan-l);
    --bs-btn-disabled-color: var(--blue);
    --bs-btn-disabled-bg: transparent;
    --bs-btn-font-weight: 500;
    --bs-btn-border-width: 0;
    border-top-left-radius: 0!important;
    border-top-right-radius: 0!important;
    line-height: 1.125;
    text-align: left;
    display: flex;
    align-items: center;
    justify-content: center;
}
.btn-website .icon {
    background-color: var(--blue);
}
.btn-website:hover .icon {
    background-color: var(--blue-l);
}

/*      --> Custom Buttons                                  */
.lang-box, .vertical-hr {
    border-left: 1px solid var(--cyan);
}
.btn-lang, .btn-lang:hover {
    height: 2rem;
    color: var(--cyan);
    font-size: 1.25rem;
    font-weight: 500;
    text-decoration: none;
    text-transform: uppercase;
    white-space: nowrap;
    display: flex;
    align-items: center;
    justify-content: center;
}
.btn-lang-flag {
    width: 2rem;
    height: auto;
}
.btn-lang-icon {
    width: 1.5rem;
    height: 1.5rem;
    background-color: var(--cyan);
    -webkit-mask: url("../images/icons/nav-chevron-y.svg") no-repeat center;
    mask: url("../images/icons/nav-chevron-y.svg") no-repeat center;
    display: inline-block;
    -webkit-transform: rotate(180deg);
    transform: rotate(180deg);
    -webkit-transition: -webkit-transform .5s ease-in-out;
    transition: transform .5s ease-in-out;
}
.btn-lang:not(.show) .btn-lang-icon {
    -webkit-transform: rotate(0deg);
    transform: rotate(0deg);
}
.lang-dropdown-menu {
    margin-top: .5rem!important;
    width: 100%;
    min-width: 8rem;
    background: rgba(255, 255, 255, 0.65);
    box-shadow: 0 .25rem 2rem rgba(31, 31, 31, 0.1);
    backdrop-filter: blur(4px);
    -webkit-backdrop-filter: blur(4px);
    border: 1px solid rgba(255, 255, 255, 0.25);
    left: auto;
    right: 0;
    border: 0;
    border-radius: .25rem;
}
.lang-dropdown-item {
    padding: .25rem;
    font-size: 1.125rem;
    font-weight: 400;
    color: var(--grey-d);
    text-align: center;
    display: flex;
    align-items: center;
}
.lang-dropdown-flag {
    margin-left: .25rem;
    width: auto;
    height: 1rem;
}
.lang-dropdown-item:hover {
    color: var(--grey-d);
    background-color: rgba(43,43,43,.15);
}
.lang-dropdown-item.active, .lang-dropdown-item:active {
    color: var(--white);
    text-decoration: none;
    background-color: var(--cyan);
}
@media (max-width: 575.98px) {
    .lang-dropdown-menu {
        inset: 0px 0px auto auto!important;
        transform: translate(0px, 34px)!important;
    }
}

/*  =====================================================
    =   NAVBAR                                          =
    =====================================================   */
.page-navbar {
    height: 6rem;
    flex-direction: column;
    justify-content: center;
}
#homepagebar .page-navbar {
    background-color: rgba(31, 31, 31, 0.3);
    -webkit-transition: 300ms linear;
    -moz-transition: 300ms linear;
    -o-transition: 300ms linear;
    -ms-transition: 300ms linear;
    transition: 300ms linear;
    transition-property: all;
}
#homepagebar.scrolled .page-navbar, #pagebar .page-navbar {
    background-color: var(--white);
    -webkit-transition: 300ms linear;
    -moz-transition: 300ms linear;
    -o-transition: 300ms linear;
    -ms-transition: 300ms linear;
    transition: 300ms linear;
    transition-property: all;
}
.navbar-container {
    height: 100%;
    display: flex;
    flex-direction: column;
    align-items: center;
    justify-content: center;
    position: relative;
}
.navbar-menu {
    height: 100%;
    display: flex;
    align-items: stretch;
}
.navbar-logo {
    width: 4rem;
    height: 4rem;
    position: absolute;
    top: 50%;
    transform: translateY(-50%);
    opacity: 0;
    -webkit-transition: 300ms linear;
    -moz-transition: 300ms linear;
    -o-transition: 300ms linear;
    -ms-transition: 300ms linear;
    transition: 300ms linear;
    transition-property: opacity;
}
.logo-script.navbar {
    width: 14.688rem;
    height: 4rem;
    background-color: var(--cyan);
    opacity: 0;
    -webkit-transition: 300ms linear;
    -moz-transition: 300ms linear;
    -o-transition: 300ms linear;
    -ms-transition: 300ms linear;
    transition: 300ms linear;
    transition-property: opacity;
}
#homepagebar.scrolled .navbar-logo, #homepagebar.scrolled .logo-script.navbar, #pagebar .navbar-logo, #pagebar .logo-script.navbar {
    opacity: 1;
    -webkit-transition: 500ms linear;
    -moz-transition: 500ms linear;
    -o-transition: 500ms linear;
    -ms-transition: 500ms linear;
    transition: 500ms linear;
    transition-property: opacity;
}
/*      --> Menu                                            */
.menu-link {
    padding: .5rem;
    font-size: 1.125rem;
    font-weight: 400;
    letter-spacing: .05em;
    color: var(--white);
    line-height: 1;
    text-decoration: none;
    border: 1px solid transparent;
    border-radius: 0;
    display: flex;
    align-items: center;
    white-space: nowrap;
    -webkit-transition: 400ms ease;
    -moz-transition: 400ms ease;
    -o-transition: 400ms ease;
    -ms-transition: 400ms ease;
    transition: 400ms ease;
    transition-property: border-color, all;
}
.menu-link:hover, .menu-link.active {
    color: var(--white);
    text-decoration: none;
    border-bottom-color: var(--cyan);
    -webkit-transition: 500ms ease;
    -moz-transition: 500ms ease;
    -o-transition: 500ms ease;
    -ms-transition: 500ms ease;
    transition: 500ms ease;
    transition-property: border-color;
}
.menu-link:focus { box-shadow: none; }
#homepagebar.scrolled .menu-link, #homepagebar.scrolled .menu-link:hover, #homepagebar.scrolled .menu-link.active, #pagebar .menu-link, #pagebar .menu-link:hover, #pagebar .menu-link.active {
    color: var(--grey);
    -webkit-transition: 400ms linear;
    -moz-transition: 400ms linear;
    -o-transition: 400ms linear;
    -ms-transition: 400ms linear;
    transition: 400ms linear;
    transition-property: all;
}
.menu-logo {
    width: 4rem;
    height: 4rem;
}
.menu-header {
    background-color: var(--white);
}
.menu-body {
    background-color: var(--white-m);
}

@media (max-width: 1199.98px) {
    .menu-link {
        font-size: 1.25rem;
        color: var(--grey);
        border-bottom-color: var(--grey-l);
    }
    .menu-link:hover, .menu-link.active, #homepagebar.scrolled .menu-link:hover, #homepagebar.scrolled .menu-link.active {
        color: var(--grey-d);
    }
}
@media (max-width: 575.98px) {
    .logo-script.navbar {
        width: 6rem;
        height: 5rem;
        -webkit-mask: url("../images/logos/script-mobile.svg") no-repeat center;
        mask: url("../images/logos/script-mobile.svg") no-repeat center;
    }
}

/*  =====================================================
    =   ELEMENTI COMUNI                                 =
    =====================================================   */
.mw-1920 { max-width: 1920px; }
.mw-1600 { max-width: 1600px; }
.mw-1400 { max-width: 1400px; }
.mw-1200 { max-width: 1200px; }
.mw-992 { max-width: 992px; }
.mw-960 { max-width: 960px; }
.mw-800 { max-width: 800px; }
.mw-768 { max-width: 768px; }
.mw-576 { max-width: 576px; }
.mw-480 { max-width: 480px; }
.mw-360 { max-width: 360px; }
.mw-320 { max-width: 320px; }
.logo-img {
    width: 8rem;
    height: 8rem;
}
.logo-script {
    -webkit-mask: url("../images/logos/script.svg") no-repeat center;
    mask: url("../images/logos/script.svg") no-repeat center;
    display: block;
}

.section-hr { width:100%; border-top: 2px solid; opacity: .5 }
.section-hr.blue { color: var(--blue); }
.section-hr.cyan { color: var(--cyan); }
.section-hr.dark { color: var(--grey-d); }
.section-hr.grey { color: var(--grey); }
.section-hr.clear { color: var(--white); }
.page-title {
    margin-bottom: 0;
    width: 100%;
    color: var(--white);
    line-height: 0.70;
    text-shadow: 0 0.125rem 1.25rem rgba(31, 31, 31, 0.125);
}
.page-card {
    width: 100%;
    background-color: var(--white);
    display: flex;
    flex-direction: column;
    position: relative;
    z-index: +1
}
.page-card.header {
    border-radius: .25rem .25rem 0 0;
}
.page-card.footer {
    border-radius: 0 0 .25rem .25rem;
}
.page-card.single {
    border-radius: .25rem;
}
.page-card-title {
    color: var(--blue);
    line-height: 1;
}
.page-card-subtitle {
    color: var(--cyan);
    font-style: italic;
}
.page-card-text.small-text {
    font-size: .875rem;
    color: var(--black-l);
}
.page-img-frame {
    margin-top: -1rem;
    margin-bottom: -1rem;
    border: 2px solid var(--cyan-l);
    position: relative;
    z-index: +2;
}
@media (max-width: 575.98px) {
    .page-card-text {
        font-size: .875rem;
    }
}

/*  =====================================================
    =   HEADERS                                         =
    =====================================================   */
.homepage-header { height: 100vh; max-height: 992px; background-color: var(--grey-l); position: relative; overflow: hidden;}
.homepage-video {
    width: 100%;
    height: 100%;
    object-fit: cover;
    background-position: 50%;
    background-size: cover;
    margin: auto;
    position: absolute;
    top: -100%;
    bottom: -100%;
    left: -100%;
    right: -100%;
}
.homepage-gradient {
    width: 100%;
    height: 100%;
    background: rgb(0,40,74);
    background: -moz-linear-gradient(180deg, rgba(0,40,74,0) 0%, rgba(0,40,74,0.4) 100%);
    background: -webkit-linear-gradient(180deg, rgba(0,40,74,0) 0%, rgba(0,40,74,0.4) 100%);
    background: linear-gradient(180deg, rgba(0,40,74,0) 0%, rgba(0,40,74,0.4) 100%);
    filter: progid:DXImageTransform.Microsoft.gradient(startColorstr="#00284a",endColorstr="#00284a",GradientType=1);
    position: absolute;
}
.header-container {
    height: 100%;
    padding-top: 7rem;
    display: flex;
    flex-direction: column;
    align-items: center;
    position: absolute;
}
.header-logo {
    width: 10rem;
    height: 10rem;
}
.logo-script.header {
    width: 16.75rem;
    height: 4.75rem;
    background-color: var(--white);
}
.header-text-container {
    width: 100%;
    border-top: 1px solid var(--white);
    border-bottom: 1px solid var(--white);
    display: flex;
    flex-direction: column;
}
.header-text-box, .banner-text-box {
    color: var(--white);
    font-style: italic;
    background-color: rgba(0, 69, 128, 0.25);
    display: flex;
    flex-direction: column;
}
.header-text {
    text-shadow: 0 0.5rem 1rem rgba(31, 31, 31, 0.45);
}
.header-nav {
    width: 100%;
    display: flex;
    align-items: center;
}
.page-header {
    padding-top: 6rem;
    height: auto;
    background: rgb(245,245,245);
    background: -moz-linear-gradient(0deg, rgba(245,245,245,1) 0%, rgba(229,229,229,1) 100%);
    background: -webkit-linear-gradient(0deg, rgba(245,245,245,1) 0%, rgba(229,229,229,1) 100%);
    background: linear-gradient(0deg, rgba(245,245,245,1) 0%, rgba(229,229,229,1) 100%);
    filter: progid:DXImageTransform.Microsoft.gradient(startColorstr="#f5f5f5",endColorstr="#e5e5e5",GradientType=1);
}
.page-breadcrumb {
    font-size: 1rem;
    font-weight: 500;
    line-height: 1;
    background-color: var(--white);
    border-radius: .25rem;
}
.page-breadcrumb a {
    color: var(--blue-l)
}
.page-breadcrumb a:hover {
    color: var(--cyan)
}
.page-breadcrumb .breadcrumb-item+.breadcrumb-item::before {
    color: var(--cyan);
}
.page-breadcrumb .breadcrumb-item.active {
    color: var(--grey-c);
}
@media (max-width: 575.98px) {
    .page-breadcrumb {
        font-size: .875rem;
    }
}

/*  =====================================================
    =   FORMS CONTROLS                                  =
    =====================================================   */
.logo-script.form-box {
    width: 16rem;
    height: 4.25rem;
    background-color: var(--cyan);
}
.contacts-box {
    width: 100%;
    height: 100%;
    background-color: rgba(246, 246, 246, 0.45);
    border-radius: .25rem;
    display: flex;
    flex-direction: column;
    align-items: center;
}
.contacts-info {
    color: var(--grey-d);
    }
    .contacts-info img {
        width: auto;
        height: 2rem;
}
.contacts-form {
    background-color: var(--grey-l);
}
.contacts-form-label {
    padding-left: .5rem;
    font-family: var(--text-font);
    font-weight: 300;
    color: var(--gray-d)
}
.contacts-form-control {
    border-color: var(--grey-l);
    border-radius: .25rem;
}
.contacts-form-control:focus {
    border-color: var(--cyan);
    box-shadow: none;
}
.contacts-form-control.note-spedizione {
    height: 8rem;
}
.contacts-form-check {
    border-color: var(--grey-l);
    border-radius: 0;
}
.contacts-form-check:focus {
    border-color: var(--cyan);
    box-shadow: none;
}
.contacts-form-check:checked {
    background-color: var(--cyan);
    border-color: var(--blue-l);
}
.container-form {
    border: 1px solid var(--grey-l);
}
.contacts-card {
    width: 100%;
    max-width: 576px;
}
.contacts-card-title {
    color: var(--cyan);
    text-transform: uppercase;
}
.contacts-card-text {
    color: var(--grey-d);
}
.contacts-card-icon {
    width: 1.25rem;
    height: 1.25rem;
    background-color: var(--blue);
}
.contacts-card-link {
    color: var(--blue);
    font-weight: 500;
    text-decoration: none;
    display: flex;
    align-items: center;
}
.contacts-card-link:hover {
    color: var(--blue-l);
    text-decoration: none;
}
.contacts-card-link .contacts-card-icon {
    width: 1.25rem;
    height: 1.25rem;
    background-color: var(--blue);
    display: inline-block;
}
.contacts-card-link:hover .contacts-card-icon {
    background-color: var(--blue-l);
}
.box-mappa {
    background-color: var(--white);
}
.box-mappa iframe {
    width: 100%;
    height: 100%;
    min-height: 40rem;
    border-radius: .25rem;
    overflow: hidden;
    border: 1px solid var(--grey-c);
}
@media (max-width: 767.98px) {
    .logo-script.form-box {
        width: 13.25rem;
        height: 3.5rem;
    }
    .logo-img.form-box {
        width: 6rem;
        height: 6rem;
    }
    .box-mappa iframe {
        min-height: 20rem;
    }
}
@media (max-width: 575.98px) {
    .logo-script.form-box {
        width: 10.5rem;
        height: 3rem;
    }
    .logo-img.form-box {
        width: 4rem;
        height: 4rem;
    }
}

/*  =====================================================
    =   FOOTER                                          =
    =====================================================   */
.footer-container {
    color: var(--blue);
    background-color: var(--grey-l);
    display:flex;
    flex-direction: column;
}
.logo-script.footer {
    width: 14.688rem;
    height: 4rem;
    background-color: var(--blue-l);
}
.footer-info {
    color: var(--blue);
}
.footer-info a {
    color: var(--blue);
    font-weight: 500;
}
.footer-info a:hover {
    color: var(--blue-l);
}
.footer-link {
    color: var(--blue-l);
    font-weight: 500;
    text-decoration: none;
    white-space: nowrap;
}
.footer-link:hover {
    color: var(--cyan);
    text-decoration: none;
}
.footer-bottom {
    background-color: var(--blue);
}
.footer-bottom p {
    font-size: .875rem;
    color: var(--white);
}
@media (max-width: 991.98px) {
}
@media (max-width: 767.98px) {
}
/*      --> Firma                                           */
#jamstudio {
    width: auto;
    height: 1.625rem;
}
.logo-signature {
    fill: var(--white);
}

/*  =====================================================
    =   ESITI                                           =
    =====================================================   */
.box-esito {
    border-radius: .25rem;
    line-height: 1.25;
    box-shadow: 0 .5rem 1rem rgba(0,0,0,.15);
}
.title-esito {
    font-size: 1.25rem;
    font-weight: 500;
}
.box-esito.ok {
    background-color: var(--green);
}
.box-esito.ok .icon {
    background-color: var(--white);
}
.box-esito.ok .title-esito, .box-esito.ok .text-esito {
    color: var(--white);
}
.box-esito.ko {
    background-color: var(--yellow);
}
.box-esito.ko .icon {
    background-color: var(--grey-d);
}
.box-esito.ko .title-esito, .box-esito.ko .text-esito {
    color: var(--grey-d);
}
/*  =====================================================
    =   HOMEPAGE                                        =
    =====================================================   */
/*      --> Excellences Carousel                            */
.exc-header {
    background: rgb(245,245,245);
    background: -moz-linear-gradient(0deg, rgba(245,245,245,1) 0%, rgba(229,229,229,1) 100%);
    background: -webkit-linear-gradient(0deg, rgba(245,245,245,1) 0%, rgba(229,229,229,1) 100%);
    background: linear-gradient(0deg, rgba(245,245,245,1) 0%, rgba(229,229,229,1) 100%);
    filter: progid:DXImageTransform.Microsoft.gradient(startColorstr="#f5f5f5",endColorstr="#e5e5e5",GradientType=1);
    display: flex;
    flex-direction: column;
    align-items: center;
}
.exc-label {
    width: 100%;
    color: var(--white);
    line-height: 0.70;
    text-shadow: 0 0.25rem 1.5rem rgba(31, 31, 31, 0.125);
}
.exc-body {
    background-color: var(--white);
    position: relative;
    overflow: hidden;
    z-index: +1;
}
.exc-body .splide__slide {
    border-right: 2px solid rgba(164, 164, 164, 0.25);
}
.exc-body .excellences { max-width: 105rem; }
.exc-body .section-hr { opacity: .25 }
.exc-card {
    height: 100%;
    display: flex;
    flex-direction: column;
    position: relative;
}
.exc-card-img {
    width: 100%;
    height: auto;
    border-radius: .25rem;
}
.exc-card-title {
    margin-bottom: 0;
    color: var(--blue);
    line-height: 1;
}
.exc-card-subtitle {
    margin-bottom: 0;
    font-family: var(--text-font);
    font-size: 1.25rem;
    color: var(--grey);
    font-weight: 400!important;
    letter-spacing: .05em;
}
.side-border {
    border-left: 2px solid rgba(164, 164, 164, 0.25);
}
.side-border-lg {
    border-left: 2px solid rgba(164, 164, 164, 0.25);
}
.side-border-sm {
    border-left: 0;
}
/*      --> Mission Box                                     */
.mission-frame {
    width: 100%;
    height: 100%;
    border: 2px solid var(--cyan-l);
    position: absolute;
}
.mission-img {
    padding-top: 130%;
    width: 100%;
    height:100%;
    background-image: url("../images/photos/mission-img.webp");
    background-size: cover;
    background-position: center;
    background-repeat: no-repeat;
    border-radius: .25rem;
    position: relative;
    overflow: hidden;
    display: flex;
}
.mission-title-label {
    color: var(--white-m);
    white-space: nowrap;
    transform-origin: top right;
    transform:rotate(90deg);
    position: absolute;
    top: 40%;
    right: 0;
    display: flex;
}
.mission-title {
    margin-bottom: 0;
    line-height: .7;
    transform:rotate(180deg);
}
.mission-card {
    margin-top: -2rem;
    margin-bottom: -4rem;
    background-color: var(--white);
    border-radius: .25rem;
    display: flex;
    flex-direction: column;
    z-index: +1;
    position: relative;
}
.mission-card-title {
    color: var(--blue-l);
    font-style: italic;
    line-height: 1.25;
}
.mission-signature {
    width: 13.313rem;
    height: 3.625rem;
    background-color: var(--grey-d);
}
/*      --> Banner Box                                      */
.banner-container {
    display: flex;
    flex-direction: column;
    position: relative;
}
.banner-img {
    width: 100%;
    height: auto;
}
.banner-box {
    width: 100%;
    height: 100%;
    display: flex;
    flex-direction: column;
    position: absolute;
}
.banner-frame {
    width: 100%;
    height: 100%;
    border: 2px solid var(--white);
}
.banner-text-box {
    width: 100%;
    background-color: rgba(0, 69, 128, 0.5);
    position: absolute;
}
@media (max-width: 991.98px) {
    .exc-card-subtitle {
        font-size: 1rem;
    }
    .side-border-lg {
        border-left: 0;
    }
    .side-border-sm {
        border-left: 2px solid rgba(164, 164, 164, 0.25);
    }
    .mission-title-label {
        color: var(--white);
        transform:rotate(0);
        top: auto;
        right: auto;
        left: 3.5rem;
        bottom: 1rem;
    }
    .mission-title {
        transform:rotate(0);
    }
}
@media (max-width: 575.98px) {
    .side-border, .side-border-lg, .side-border-sm {
        border-left: 0;
    }
    .mission-title-label {
        left: 1.5rem;
        bottom: 1.5rem;
    }
    .mission-card p{
        font-size: .875rem;
    }
}

@media (min-width: 1920.98px) {
    .exc-body, .banner-img { border-radius: .5rem; }
}
/*  =====================================================
    =   SCHEDE ECCELLENZE                               =
    =====================================================   */

/*      --> Carousel Attività                               */
.carousel-container {
    top: 8rem;
}
.carousel-frame {
    border: 2px solid var(--cyan-l);
}

.carousel-scheda {
    overflow: hidden;
    border-radius: .125rem;
}
.thumb-scheda {
    width: 100%;
    opacity: 0.4;
    border-radius: .125rem;
}
.thumb-scheda img {
    border-radius: .125rem;
}
.thumb-scheda.is-active {
    border:0!important;
    opacity: 1;
}
.btn-slide {
    width: 2rem;
    height: 2rem;
    padding: 0;
    align-items: center;
    justify-content: center;
    border: 0;
    border-radius: .25rem;
    background-color: transparent;
    opacity: .5;
    position: static;
    top: 0;
    transform: none;
}
.btn-slide:hover {
    opacity: 1;
}
.btn-slide .icon, .btn-slide-sm:hover .icon {
    background-color: var(--grey);
}
.slide-prev, .slide-prev:hover {
    -webkit-transform: rotate(180deg);
    transform: rotate(180deg);
}
.slide-next, .slide-next:hover {
    -webkit-transform: rotate(0deg);
    transform: rotate(0deg);

}
