/*  Comfort Travel Sorrento CSS3 Ver. 1.0.0
    Copyright 1999 - 2025 JAM Studio
    Visit Us (https://www.jamstudio.it/)    */

/*  =====================================================
    =   Font utilizzati                                 =
    =   font-family: "Frank Ruhl Libre", serif;         =
    =   font-family: "Montserrat", sans-serif;          =
    =   font-family: "Figtree", sans-serif;             =
    =====================================================   */

/*  =====================================================
    =   PALETTE E TYPOGRAPHY                            =
    =====================================================   */
:root {
/*      --> Fonts sito                                      */
    --header-font   : "Frank Ruhl Libre", serif;
    --subheader-font: "Montserrat", sans-serif;
    --text-font     : "Figtree", sans-serif;
/*      --> Main Colors                                     */
    --main-d        : #375172;
    --main          : #235BA8;
    --main-c        : #00B5E0;
    --main-l        : #6CD1EF;
    --contrast      : #78E6D0;
    --main-d-rgb    : 55,81,114;
    --main-rgb      : 35,91,168;
    --main-c-rgb    : 0,181,224;
    --main-l-rgb    : 108,209,239;
    --contrast-rgb  : 120,230,208;

/*      --> Greyscale                                       */
    --black         : #1F1F1F;
    --black-l       : #2B2B2B;
    --grey-d        : #595959;
    --grey          : #A4A4A4;
    --grey-c        : #C5C5C5;
    --grey-l        : #E5E5E5;
    --white-m       : #F5F5F5;
    --white         : #FFFFFF;
/*      --> System Colors                                   */
    --green         : #03E095;
    --yellow        : #FFE20A;
    --red           : #F82154;
}
/*  =====================================================
    =   SCROLL BAR                                      =
    =====================================================   */
::-webkit-scrollbar { width: 8px; }
::-webkit-scrollbar-track { background: var(--white); 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(--main); 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); }
html { scroll-padding-top: 5rem; }
img { max-width: 100%; max-height: 100%; width: auto; height: auto; }
/*      --> Typography                                      */
h1, h2, h3, h4, h5, h6 { font-optical-sizing: auto; font-style: normal; }
p, li, a, th, td { text-decoration: none; font-optical-sizing: auto; font-style: normal; }
b, strong { font-weight: 700!important; }
a {color: var(--main); text-decoration: none;}
a:hover {color: var(--main-l); text-decoration: none;}
a:focus { outline: none; box-shadow: none; }
@media (max-width: 1399.98px) {
    html { scroll-padding-top: 4.5rem; }
}
@media (max-width: 575.98px) {
    p { font-size: .875rem; }
}
/*  =====================================================
    =   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.main { background-color: var(--main); }
.icon.main-c { background-color: var(--main-c); }
.icon.contrast { background-color: var(--contrast); }
.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-check {
    -webkit-mask: url("../images/icons/nav-check.svg") no-repeat center;
    mask: url("../images/icons/nav-check.svg") no-repeat center;
}
.ico-clock {
    -webkit-mask: url("../images/icons/nav-clock.svg") no-repeat center;
    mask: url("../images/icons/nav-clock.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-home {
    -webkit-mask: url("../images/icons/nav-home.svg") no-repeat center;
    mask: url("../images/icons/nav-home.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 Contatti e Social                         */
.ico-ind {
    -webkit-mask: url("../images/icons/contatti-indirizzo.svg") no-repeat center;
    mask: url("../images/icons/contatti-indirizzo.svg") no-repeat center;
}
.ico-mail {
    -webkit-mask: url("../images/icons/contatti-email.svg") no-repeat center;
    mask: url("../images/icons/contatti-email.svg") no-repeat center;
}
.ico-tel {
    -webkit-mask: url("../images/icons/contatti-telefono.svg") no-repeat center;
    mask: url("../images/icons/contatti-telefono.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;
}
.ico-facebook {
    -webkit-mask: url("../images/icons/social-facebook.svg") no-repeat center;
    mask: url("../images/icons/social-facebook.svg") no-repeat center;
}
.ico-instagram {
    -webkit-mask: url("../images/icons/social-instagram.svg") no-repeat center;
    mask: url("../images/icons/social-instagram.svg") no-repeat center;
}
.ico-tripadvisor {
    -webkit-mask: url("../images/icons/social-tripadvisor.svg") no-repeat center;
    mask: url("../images/icons/social-tripadvisor.svg") no-repeat center;
}
.ico-tiktok {
    -webkit-mask: url("../images/icons/social-tiktok.svg") no-repeat center;
    mask: url("../images/icons/social-tiktok.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;
}
/*      --> Icone Pagamenti                                 */
.payments-icons { height: 2rem; }
.payments-icons-sm { height: 1.75rem; }
/*      --> Icone Colorate                                  */
.icon-color { width: 128px; height: 128px; }
/*  =====================================================
    =   BUTTONS                                         =
    =====================================================   */
.btn { --bs-btn-font-family: var(--subheader-font); --bs-btn-focus-shadow-rgb: none; --bs-btn-active-shadow: none; --bs-btn-border-radius: .25rem; }
.btn-icon { min-width: 3rem; min-height: 3rem; --bs-btn-padding-x: 0.5rem; --bs-btn-padding-y: 0.5rem; --bs-btn-border-width: 0; display: flex; align-items: center; justify-content: center; }
.btn-icon-sm { min-width: 2rem; min-height: 2rem; --bs-btn-padding-x: 0.25rem; --bs-btn-padding-y: 0.25rem; }
.btn-icon.menu, .btn-icon.back { --bs-btn-bg: var(--white); --bs-btn-hover-bg: var(--white-m); --bs-btn-active-bg: var(--white); --bs-btn-focus-bg: var(--white); --bs-btn-disabled-bg: var(--white); }
.btn-icon.menu .icon, .btn-icon:hover.menu .icon, .btn-icon:focus.menu .icon, .btn-icon.back .icon, .btn-icon:hover.back .icon, .btn-icon:focus.back .icon { background-color: var(--main); }
.btn-icon.social { --bs-btn-border-radius: 50rem; --bs-btn-bg: var(--contrast); --bs-btn-hover-bg: var(--main); --bs-btn-active-bg: var(--main); --bs-btn-disabled-bg: var(--contrast); }
.btn-icon.social .icon { background-color: var(--white); }
.btn-icon.social:hover .icon, .btn-icon.social:active .icon, .btn-icon.social.active .icon { background-color: var(--white); }
.btn-icon.contacts { --bs-btn-bg: var(--main-d); --bs-btn-hover-bg: var(--main); --bs-btn-active-bg: var(--main); --bs-btn-disabled-bg: var(--main-d); }
.btn-icon.contacts .icon { background-color: var(--contrast); }
.btn-icon.contacts:hover .icon, .btn-icon.social:active .icon, .btn-icon.social.active .icon { background-color: var(--white); }
.btn-action, .btn-action-lg {
    --bs-btn-color: var(--white);
    --bs-btn-bg: var(--contrast);
    --bs-btn-hover-color: var(--white);
    --bs-btn-hover-bg: var(--main-c);
    --bs-btn-active-color: var(--white);
    --bs-btn-active-bg: var(--main-c);
    --bs-btn-disabled-color: var(--white);
    --bs-btn-disabled-bg: var(--contrast);
    --bs-btn-padding-x: 1rem;
    --bs-btn-padding-y: .75rem;
    --bs-btn-font-size: 1.125rem;
    --bs-btn-line-height: 1;
    --bs-btn-font-weight: 500;
    text-shadow: 0 .125rem .25rem rgba(var(--main-rgb),.25);
    display:flex;
    align-items: center;
    justify-content: center;
}
.btn-submit, .btn-submit-lg {
    --bs-btn-color: var(--white);
    --bs-btn-bg: var(--main-c);
    --bs-btn-hover-color: var(--white);
    --bs-btn-hover-bg: var(--main);
    --bs-btn-active-color: var(--white);
    --bs-btn-active-bg: var(--main);
    --bs-btn-disabled-color: var(--white);
    --bs-btn-disabled-bg: var(--main-c);
    --bs-btn-padding-x: 1rem;
    --bs-btn-padding-y: .75rem;
    --bs-btn-font-size: 1.125rem;
    --bs-btn-line-height: 1;
    --bs-btn-font-weight: 500;
    text-shadow: 0 .125rem .25rem rgba(var(--main-d-rgb),.25);
    display:flex;
    align-items: center;
    justify-content: center;
}
.btn-action-lg, .btn-submit-lg { --bs-btn-padding-x: 2rem; --bs-btn-padding-y: 1.25rem; --bs-btn-font-size: 1.5rem; --bs-btn-font-weight: 600; }

/*      --> Dropdown Cambio Lingua                          */
.btn-lang, .btn-lang:hover {
    min-width: 4.25rem;
    color: var(--blue-d);
    font-size: 1.25rem;
    font-weight: 500;
    text-decoration: none;
    text-transform: uppercase;
    background-color: rgba(var(--main-d-rgb),.4);
    border-radius: .25rem;
    white-space: nowrap;
    display: flex;
    align-items: center;
    justify-content: center;
    -webkit-transition: 200ms ease-in-out;
    -moz-transition: 200ms ease-in-out;
    -o-transition: 200ms ease-in-out;
    -ms-transition: 200ms ease-in-out;
    transition: 200ms ease-in-out;
    transition-property: background-color;
}
.btn-lang-flag { width: 2rem; height: auto; }
.btn-lang-icon, .btn-dropdown-icon {
    min-width: 1.5rem;
    height: 1.5rem;
    background-color: var(--contrast);
    -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.show .btn-lang-icon { background-color: var(--contrast); }
.btn-lang:not(.show) .btn-lang-icon, .dropdown .menu-link:not(.show) .btn-dropdown-icon { -webkit-transform: rotate(0deg); transform: rotate(0deg); }
.lang-dropdown-menu {
    margin-top: .5rem!important;
    width: 100%;
    min-width: 8rem;
    background-color: var(--main);
    left: auto;
    right: 0;
    border: 0;
    border-radius: .25rem;
}
.lang-dropdown-item {
    padding: .25rem;
    font-size: 1rem;
    font-weight: 300;
    color: var(--white);
    text-align: center;
    display: flex;
    align-items: center;
}
.lang-dropdown-flag {
    margin-left: .25rem;
    width: auto;
    height: 1.5rem;
    -webkit-filter: drop-shadow( 0 .125rem .125rem rgba(var(--main-d-rgb),.45));
    filter: drop-shadow( 0 .125rem .125rem rgba(var(--main-d-rgb),.45));
}
.lang-dropdown-item:hover { color: var(--white); background-color: rgba(var(--main-l-rgb),.25); }
.lang-dropdown-item.active, .lang-dropdown-item:active { color: var(--white); text-decoration: none; background-color: var(--main-c); }
.menu-link-dropdown {
    margin-top: .5rem!important;
    background-color: var(--white);
    left: auto;
    right: 0;
    border: 0;
    border-radius: .25rem;
}
.menu-link-dropdown-item {
    padding: .25rem .75rem;
    font-size: 1rem;
    font-weight: 400;
    color: var(--main);
    /* white-space: normal; */
}
.menu-link-dropdown-item:hover {
    color: var(--main);
    background-color: rgba(var(--main-d-rgb),.125);
}
.menu-link-dropdown-item.active, .menu-link-dropdown-item:active {
    color: var(--white);
    text-decoration: none;
    background-color: var(--main-c);
}
.btn-dropdown-icon { background-color: var(--white); }
.dropdown .menu-link.show .btn-dropdown-icon { background-color: var(--white); }
@media (max-width: 1399.98px) {
    .menu-link-dropdown {
        --bs-dropdown-padding-y: 0.25rem;
        position: relative!important;
        transform: none!important;
        box-shadow: none!important;
        background-color: var(--white-m);
    }
    .btn-dropdown-icon { background-color: var(--main); }
    .dropdown .menu-link.show .btn-dropdown-icon { background-color: var(--main); }
    .menu-link-dropdown-item { white-space: normal; }
}
@media (max-width: 575.98px) {
    .lang-dropdown-menu { inset: 0px 0px auto auto!important; transform: translate(0px, 40px)!important; }
    .btn-action-lg, .btn-submit-lg { --bs-btn-padding-x: .5rem; --bs-btn-font-size: 1.375rem;}
}
/*  =====================================================
    =   NAVBAR                                          =
    =====================================================   */
.page-navbar {
    max-width: 1920px;
    flex-direction: column;
    justify-content: center;
    -webkit-transition: 200ms linear;
    -moz-transition: 200ms linear;
    -o-transition: 200ms linear;
    -ms-transition: 200ms linear;
    transition: 200ms linear;
    transition-property: padding;
}
.navbar-container {
    min-height: 4.5rem;
    background: rgba(var(--main-rgb),.6);
    box-shadow: 0 .25rem 2rem rgba(var(--main-d-rgb),.25);
    backdrop-filter: blur(.5rem);
    -webkit-backdrop-filter: blur(.5rem);
    border: 1px solid rgba(var(--main-d-rgb),.075);
    border-radius: 1rem;
    display: flex;
    flex-direction: column;
    -webkit-transition: 200ms ease-in-out;
    -moz-transition: 200ms ease-in-out;
    -o-transition: 200ms ease-in-out;
    -ms-transition: 200ms ease-in-out;
    transition: 200ms ease-in-out;
    transition-property: all;
}
.navbar-container .col-12 {
    display: flex;
    align-items: center;
    -webkit-transition: 200ms linear;
    -moz-transition: 200ms linear;
    -o-transition: 200ms linear;
    -ms-transition: 200ms linear;
    transition: 200ms linear;
    transition-property: padding;
}
#homepagebar.scrolled .page-navbar, #pagebar .page-navbar {
    max-width: 100%;
    padding: 0!important;
    -webkit-transition: 200ms linear;
    -moz-transition: 200ms linear;
    -o-transition: 200ms linear;
    -ms-transition: 200ms linear;
    transition: 200ms linear;
    transition-property: padding;
}
#homepagebar.scrolled .navbar-container, #pagebar .navbar-container {
    background: rgba(var(--main-rgb), 0.75);
    box-shadow: 0 .5rem 1rem rgba(var(--main-d-rgb),.15);
    border: 0;
    border-radius: 0;
    -webkit-transition: 200ms ease-in-out;
    -moz-transition: 200ms ease-in-out;
    -o-transition: 200ms ease-in-out;
    -ms-transition: 200ms ease-in-out;
    transition: 200ms ease-in-out;
    transition-property: all;
}
#homepagebar.scrolled .navbar-container .col-12, #pagebar .navbar-container .col-12 {
    padding: .75rem 3.5rem!important;
    -webkit-transition: 200ms linear;
    -moz-transition: 200ms linear;
    -o-transition: 200ms linear;
    -ms-transition: 200ms linear;
    transition: 200ms linear;
    transition-property: padding;
}
.logo-navbar { width: auto; height: 3.5rem; }
.logo-link { width: auto; height: auto; display: inline-block; }
.navbar-booking-container { display: flex; flex-direction: column; }
/*      --> Menu                                            */
.menu-link {
    padding: .5rem;
    font-family: var(--subheader-font);
    font-size: 1rem;
    font-weight: 300;
    letter-spacing: .05em;
    color: var(--white);
    line-height: 1;
    text-decoration: none;
    border-radius: .25rem;
    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: all;
}
.menu-link:hover, .menu-link.active {
    font-weight: 400;
    color: var(--contrast);
    text-decoration: none;
    background-color: rgba(var(--main-d-rgb),.25);
    -webkit-transition: 500ms ease;
    -moz-transition: 500ms ease;
    -o-transition: 500ms ease;
    -ms-transition: 500ms ease;
    transition: 500ms ease;
    transition-property: all;
}
.menu-link:focus { box-shadow: none; }
.menu-lihk:hover .btn-dropdown-icon, .menu-link.active .btn-dropdown-icon { background-color: var(--contrast); }
.menu-logo { width: auto; height: 3rem; }
.menu-header { background-color: var(--white); }
.menu-body { background-color: var(--white-m); }
/*      --> Mobile Contacts                                 */
.mobile-contacts-bar {
    background: rgba(var(--main-d-rgb),.6);
    box-shadow: 0 .25rem 1rem rgba(31,31,31,.25);
    backdrop-filter: blur(.5rem);
    -webkit-backdrop-filter: blur(.5rem);
    border: 1px solid rgba(var(--main-d-rgb),.25);
    border-radius: .5rem;
    display: flex;
    align-items: center;
}
.mobile-contacts-bar .section-subtitle { font-weight: 500!important; }
/*      --> Mobile Booking                                  */
.mobile-booking-bar { width: 100%; display: flex; flex-direction: column; z-index: 1046; }
.mobile-booking-button { width: 100%; height: 5rem; color: var(--white); background-color: var(--contrast); box-shadow: 0 .25rem 1rem rgba(31,31,31,.25); border-radius: 1rem; display: flex; align-items: center; justify-content: space-between; position: relative; overflow: hidden; }
.mobile-booking-label { font-weight: 500!important; text-transform: uppercase; }
@media (max-width: 1599.98px) {
    .logo-navbar { width: auto; height: 2.5rem; }
    .logo-link { width: auto; height: auto; display: inline-block; }
    .menu-link { font-size: .875rem; }
}
@media (max-width: 1399.98px) {
    #homepagebar.scrolled .navbar-container .col-12, #pagebar .navbar-container .col-12 { padding: .75rem!important; }
    .menu-link { font-size: 1.25rem; font-weight: 400; color: var(--main); border-bottom-color: var(--grey-l); }
    .menu-link:hover, .menu-link.active, #homepagebar.scrolled .menu-link:hover, #homepagebar.scrolled .menu-link.active  { color: var(--contrast); background-color: rgba(var(--main-d-rgb),.6); }
}
@media (max-width: 575.98px) {
    .navbar-container { border-radius: .5rem; }
    .mobile-contacts-bar .section-subtitle { font-size: 1.25rem!important; }
}
/*  =====================================================
    =   HEADERS                                         =
    =====================================================   */
.homepage-header, .page-header { display: flex; flex-direction: column; position: relative; }
.homepage-header { height: 100%; max-height: 992px; overflow: hidden; }
.page-header { padding-top: 6rem; }
@media (max-width: 1399.98px) {
    .page-header { padding-top: 5.5rem; }
}
@media (max-width: 1199.98px) {
    .homepage-header { max-height: 576px; }
}
@media (max-width: 575.98px) {
    .homepage-header { height: 45%; }
}
/*  =====================================================
    =   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; }
.anchor-spacer { width: 100%; height: 4px; }
/*      --> Custom HR                                       */
.section-hr { margin: auto 0; border-top: 2px solid; }
.section-hr.tin { border-top: 1px solid; }
.section-hr.solid { opacity: 1!important; }
.section-hr.white { color: var(--white); }
.section-hr.darkest { color: var(--black-l); }
.section-hr.dark { color: var(--grey-d); }
.section-hr.grey { color: var(--grey); }
.section-hr.main-d { color: var(--main-d); }
.section-hr.main { color: var(--main); }
/*      --> Typography                                      */
.section-title { font-family: var(--header-font); color: var(--main); font-weight: 300!important; }
.section-title.white { color: var(--white); font-weight: 300!important; }
.section-subtitle { font-family: var(--subheader-font); color: var(--main-c); font-weight: 500!important; }
.section-subtitle.white { color: var(--white); font-weight: 300!important; }
.section-subtitle.fw-light { font-weight: 300!important; }
.section-subtitle.tour-section { color: var(--main-d); font-weight: 400!important; }
.section-text { color: var(--main-d); display: flex; flex-direction: column; }
.section-text p, .section-text ul { margin-bottom: 1.25rem; }
.section-text li { margin-bottom: .75rem; }
.section-text p:last-child, .section-text li:last-child { margin-bottom: 0; }
.section-text b, .section-text strong { color: var(--main-c); }
.section-text li::marker { content: "● "; font-size: 1.125rem; color: var(--contrast); }
.section-text a { color: var(--main); font-weight: 500; }
.section-text a:hover { color: var(--main); text-decoration: underline; }
/*      --> Breadcrumb                                      */
.page-breadcrumb-container { background-color: var(--white-m); border-radius: .5rem; display: flex; flex-direction: column; }
.page-breadcrumb { font-family: var(--subheader-font); font-size: 1rem; font-weight: 400; line-height: 1; text-transform: uppercase; }
.page-breadcrumb a { color: var(--main-l); font-weight: 500; }
.page-breadcrumb a:hover { color: var(--main-c); }
.page-breadcrumb .breadcrumb-item+.breadcrumb-item::before { color: var(--contrast); }
.page-breadcrumb .breadcrumb-item.active { color: var(--main); font-weight: 500; }
/*      --> Images Ratio                                    */
.page-img-frame { width: 100%; position: relative; overflow: hidden; }
.page-img-frame.portrait { padding-top: 140%; }
.page-img-frame.square { padding-top: 100%; }
.page-img-frame.landscape { padding-top: 66.64%; }
.page-img-frame.panoramic { padding-top: 56%; }
.page-img-frame.wide { padding-top: 43%; }
.page-img, .header-img, .page-header-img, .banner-img, .card-img { width: 100%; height: 100%; border-radius: .25rem; object-fit: cover; object-position: center; position: absolute; top: 0; }
.header-img { border-radius: 0; }
.page-header-img { border-radius: 1rem; }
.banner-img { border-radius: 1.5rem; }
.page-img-placeholder { width: 100%; height: 100%; border-radius: .25rem; background-color: var(--grey-l); display: block; position: absolute; top: 0; }
@media (min-width: 1920.98px) {
    .header-img { border-bottom-left-radius: 1.5rem; border-bottom-right-radius: 1.5rem; }
}
@media (max-width: 575.98px) {
    .section-subtitle.h3, .section-subtitle.h4, .section-subtitle.h5 { font-size: 1rem; }
    .banner-img { border-radius: .5rem; }
}
/*  =====================================================
    =   FOOTER                                          =
    =====================================================   */
.footer-container {
    font-size: .875rem;
    background: rgb(245,245,245);
    background: -moz-linear-gradient(0deg, rgba(245,245,245,1) 0%, rgba(255,255,255,1) 100%);
    background: -webkit-linear-gradient(0deg, rgba(245,245,245,1) 0%, rgba(255,255,255,1) 100%);
    background: linear-gradient(0deg, rgba(245,245,245,1) 0%, rgba(255,255,255,1) 100%);
    filter: progid:DXImageTransform.Microsoft.gradient(startColorstr="#f5f5f5",endColorstr="#ffffff",GradientType=1);
}
.footer-logo { width: auto; height: 8rem; }
.footer-info { color: var(--black-l) }
.footer-info a { font-size: .875rem; color: var(--main-d); font-weight: 400; }
.footer-info a:hover { color: var(--main); }
.footer-link { font-size: .875rem; color: var(--main); font-weight: 500; text-decoration: none; white-space: nowrap; }
.footer-link:hover { color: var(--main-c); text-decoration: none; }
/*      --> Footer Bottom                                   */
.footer-bottom { 
    background: var(--main);
    background: -webkit-linear-gradient(315deg, rgba(var(--main-rgb), 1) 0%, rgba(var(--main-c-rgb), 1) 100%);
    background: -moz-linear-gradient(315deg, rgba(var(--main-rgb), 1) 0%, rgba(var(--main-c-rgb), 1) 100%);
    background: linear-gradient(315deg, rgba(var(--main-rgb), 1) 0%, rgba(var(--main-c-rgb), 1) 100%);
    filter: progid:DXImageTransform.Microsoft.gradient(startColorstr="var(--main)", endColorstr="var(--main)", GradientType=0);
    border-radius: .25rem;
}
.footer-bottom p { font-size: .875rem; color: var(--white); }
.bookingbar-footer .footer-bottom { padding-bottom: 8rem!important; }
/*      --> Firma                                           */
#jamstudio { width: auto; height: 1.625rem; }
.logo-signature { fill: var(--contrast); }
@media (max-width: 991.98px) {
    .footer-container { padding-bottom: 4.125rem; }
}
@media (max-width: 575.98px) {
    .footer-container { padding-bottom: 4.5rem; }
    .footer-logo { height: 6rem; }
}
/*  =====================================================
    =   FORMS CONTROLS                                  =
    =====================================================   */
.contacts-form-container { top:6rem; background-color: var(--white); display: flex; flex-direction: column; border-radius: 1rem; }
.contacts-form-label { font-family: var(--subhead-font); font-weight: 400; color: var(--grey-d); }
.contacts-form-control { border-color: rgba(var(--main-d-rgb),.5); border-radius: .25rem; }
.contacts-form-control:focus { border-color: var(--main-c); box-shadow: none; }
.contacts-form-check { border-color: rgba(var(--main-d-rgb),.5); }
.contacts-form-check:focus { border-color: var(--main-c); box-shadow: none; }
.contacts-form-check:checked { background-color: var(--main-c); border-color: rgba(var(--main-d-rgb),.5); }
.contacts-logo { width: 20rem; height: 20rem; }
.contacts-info { color: var(--grey-d); }
.contacts-box {
    width: 100%;
    height: 100%;
    font-size: 1.125rem;
    background-color: rgba(var(--main-rgb),.075);
    border-radius: 1rem;
    display: flex;
    flex-direction: column;
    align-items: center;
}
.contacts-box-link { padding: .438rem .5rem; color: var(--main-d); line-height: 1; background-color: transparent; border-radius: .25rem; }
.contacts-box-link:hover { color: var(--white); background-color: var(--main); }
.contacts-box-link:hover .footer-info-location  { color: var(--white); }
/*      --> Box Mappa                                       */
.box-mappa { padding-top: 115%; background-color: var(--white); position: relative; }
.box-mappa iframe { width: 100%; height: 100%; overflow: hidden; border: 1px solid var(--grey-)!important; border-radius: 1rem; position: absolute; top: 0; }
@media (max-width: 1399.98px) {
    .contacts-form-container { top: 5.5rem; }
}
@media (max-width: 991.98px) {
    .contacts-form-container.mw-480 { max-width: 100%; }
}
/*  =====================================================
    =   ESITI                                           =
    =====================================================   */
.box-esito { border-radius: .5rem; line-height: 1.25; }
.title-esito { font-family: var(--text-font); font-weight: 500!important; }
.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(--red); }
.box-esito.ko .icon { background-color: var(--white); }
.box-esito.ko .title-esito, .box-esito.ko .text-esito { color: var(--white); }
/*  =====================================================
    =   CARDS, BANNERS E CAROUSELS                      =
    =====================================================   */
.card-container { display: flex; flex-direction: column; align-items: center; }
.card-baloon { color: var(--main-d); background-color: var(--grey-l); border-radius: .25rem; display: flex; flex-direction: column; position: relative; }
.card-baloon .baloon-arrow { width: 1.5rem; height: 1rem; position: absolute; top: -1rem; }
.card-title-container {
    width: 100%;
    min-height: 8rem;
    background: var(--black);
    background: -webkit-linear-gradient(0deg, rgba(31, 31, 31, 0.85) 0%, rgba(31, 31, 31, 0) 100%);
    background: -moz-linear-gradient(0deg, rgba(31, 31, 31, 0.85) 0%, rgba(31, 31, 31, 0) 100%);
    background: linear-gradient(0deg, rgba(31, 31, 31, 0.85) 0%, rgba(31, 31, 31, 0) 100%);
    filter: progid:DXImageTransform.Microsoft.gradient(startColorstr="var(--black)", endColorstr="var(--black)", GradientType=0);
    border-bottom-left-radius: .25rem;
    border-bottom-right-radius: .25rem;
    display: flex;
    flex-direction: column;
    justify-content: flex-end;
    position: absolute;
    left: 0;
    right: 0;
    bottom: 0;
}
.card-title { font-family: var(--header-font); font-weight: 300; color: var(--white); line-height: 1; text-shadow: 0 .25rem .5rem rgba(31, 31, 31,.75); }
.card-contacts { width: 100%; background: rgba(255, 255, 255,.6); box-shadow: 0 .5rem 1rem rgba(var(--main-d-rgb),.15); backdrop-filter: blur(.5rem); -webkit-backdrop-filter: blur(.5rem); border: 1px solid rgba(255, 255, 255,.075); border-radius: 1rem; display: flex; flex-direction: column; }
.card-contacts.homepage { position: absolute; bottom: 0; }
/*      --> Card Tours                                      */
.card-tours { height: 100%; color: var(--main-d); background-color: var(--white); border-radius: .5rem; display: flex; flex-direction: column; justify-content: space-between; position: relative; }
.card-tours-title { font-family: var(--header-font); font-weight: 300; color: var(--main-c); }
.card-tours-tag {
    width: 100%;
    max-width: 14rem;
    color: var(--white);
    background-color: var(--main-d);
    border-radius: .25rem;
    display: flex;
    flex-direction: column;
    position: absolute;
    top: 1rem;
    right: -.57rem;
}
.card-tours-price { margin-bottom: 0; font-family: var(--subheader-font); font-size: 2rem; font-weight: 800; line-height: 1; }
.card-tours-price span { font-weight: 600;}
.card-tours-price small { font-size: 50%; font-weight: 700; }
.booking-banner-container { 
    padding-top: 40%;
    background-image: url("../images/transfers/stops-banner.webp");
    background-repeat: no-repeat;
    background-size: cover;
    background-position: center;
    border-radius: 1rem;
    position: relative;
    overflow: hidden;
}
.booking-banner-frame {
    color: var(--white);
    display: flex;
    flex-direction: column;
    position: absolute;
    top: 0;
    bottom: 0;
    left: 0;
    right: 0;
}
.booking-banner-info { width: 100%; background: rgba(var(--main-d-rgb),.5); box-shadow: 0 .5rem 1rem rgba(var(--main-d-rgb),.15); backdrop-filter: blur(.5rem); -webkit-backdrop-filter: blur(.5rem); border: 1px solid rgba(var(--main-d-rgb),.075); border-radius: 1rem; display: flex; flex-direction: column; }

@media (max-width: 1199.98px) {
    .card-contacts.homepage { margin-top: -20rem; position:relative; bottom: auto; }
    .booking-banner-container { padding-top: 80%; }
}
@media (max-width: 991.98px) {
    .card-contacts.homepage { margin-top: -11rem; }
}
@media (max-width: 767.98px) {
    .card-contacts.homepage { margin-top: -3rem; }
    .booking-banner-container { padding-top: 0; border-radius: .5rem; }
    .booking-banner-frame { position: relative; }
}
@media (max-width: 575.98px) {
    .card-contacts.homepage { margin-top: 0; }
}
/*  =====================================================
    =   HOMEPAGE                                          =
    =====================================================   */
.about-container {
    margin-top: -48px;
    background: #FFFFFF;
    background: -webkit-linear-gradient(0deg, rgba(255, 255, 255, 1) 0%, rgba(255, 255, 255, 1) 50%, rgba(245, 245, 245, 1) 50%, rgba(245, 245, 245, 1) 100%);
    background: -moz-linear-gradient(0deg, rgba(255, 255, 255, 1) 0%, rgba(255, 255, 255, 1) 50%, rgba(245, 245, 245, 1) 50%, rgba(245, 245, 245, 1) 100%);
    background: linear-gradient(0deg, rgba(255, 255, 255, 1) 0%, rgba(255, 255, 255, 1) 50%, rgba(245, 245, 245, 1) 50%, rgba(245, 245, 245, 1) 100%);
    filter: progid:DXImageTransform.Microsoft.gradient(startColorstr="#FFFFFF", endColorstr="#F5F5F5", GradientType=0);
    border-radius: 1.5rem;
    display: flex;
    flex-direction: column;
    overflow: hidden;
}
.about-frame {
    width: 100%;
    background-image: url("../images/homepage/about-bg.svg");
    background-repeat: no-repeat;
    background-size: cover;
    background-position: top center;
    display: flex;
    flex-direction: column;
}
.about-header {
    width: 100%;
    height: 3rem;
    background: var(--white-m);
    background: -webkit-linear-gradient(0deg, rgba(245, 245, 245, 0) 0%, rgba(229, 229, 229, 1) 100%);
    background: -moz-linear-gradient(0deg, rgba(245, 245, 245, 0) 0%, rgba(229, 229, 229, 1) 100%);
    background: linear-gradient(0deg, rgba(245, 245, 245, 0) 0%, rgba(229, 229, 229, 1) 100%);
    filter: progid:DXImageTransform.Microsoft.gradient(startColorstr="var(--white-m)", endColorstr="var(--grey-l)", GradientType=0);
}
.contacts-container { display: flex; flex-direction: column; }
@media (max-width: 991.98px) {
    
}
@media (max-width: 575.98px) {

}
/*  =====================================================
    =   TOOUR PAGE                                      =
    =====================================================   */
.tour-feature-container { color: var(--black); background-color: rgba(var(--main-d-rgb),.05) ; border-radius: 1rem; }    
.tour-feature-included, .tour-feature-not-included { font-family: var(--subhead-font); font-weight: 400!important; line-height: 1; display: flex; align-items: center; }
.tour-feature-included { color: var(--green); }
.tour-feature-included .icon { background-color: var(--green); }
.tour-feature-not-included { color: var(--red); }
.tour-feature-not-included .icon { background-color: var(--red); }
.tours-tag { width: 100%; font-size: 1.125rem; color: var(--white); background-color: var(--main-d); border-radius: .5rem; display: flex; }
.tours-price { margin-bottom: 0; font-family: var(--subheader-font); font-size: 3rem; font-weight: 800; line-height: 1; }
.tours-price span { font-weight: 600;}
.tours-price small { font-size: 50%; font-weight: 700; }
.tour-time { color: var(--contrast); line-height: 1; }
.tour-time .icon { background-color: var(--contrast); }
@media (max-width: 429.98px) {
    .tours-tag { flex-direction: column-reverse; }
}
