header {position:relative; z-index:100; height:100%;}
.top-header {position:absolute; top:0; left:0; z-index:2; width:100%; height:36px; padding:0; background:transparent; color:#fff;}
.top-header .top-contact {list-style:none;}
.top-header .top-contact li {display:inline-block; margin-bottom:0; font-family:var(--heading-font); font-size:14px;}
.top-header .top-contact a {display:inline-flex; align-items:center; gap:7px; color:#fff; text-decoration:none; transition:color .2s ease;}
.top-header .top-contact a:hover {color:var(--theme-color);}
.top-header-actions {min-height:30px; padding-top:5px; display:flex; align-items:center; justify-content:flex-end; gap:12px;}
.top-language-switcher {display:inline-flex; align-items:center; gap:4px;}
.top-language-switcher .language-link {padding:4px 7px; border-radius:3px; color:rgba(255,255,255,.78); font-family:var(--body-font); font-size:14px; font-weight:500; line-height:1; text-decoration:none;}
.top-language-switcher .language-link:hover,.top-language-switcher .language-link:focus-visible,.top-language-switcher .language-link.active {background:rgba(255,255,255,.14); color:#fff;}
.top-header-divider {width:1px; height:15px; background:rgba(255,255,255,.34);}
.top-instagram {color:#fff; line-height:1;}
.top-instagram:hover {color:var(--theme-color);}
hr.top-line {margin-top:15px;}
.main-nav {position:absolute; top:37px; left:0; z-index:2; width:100%;}
.navigation-sentinel {position:absolute; top:0; left:0; width:1px; height:1px; pointer-events:none;}
.navigation-fixed-wrapper {width:100%;}
.navigation-fixed-wrapper.is-fixed {position:fixed; top:0; left:0; z-index:100; background:#fff; box-shadow:0 4px 10px -8px rgba(2,39,49,.75); animation:nav-fade-in .3s ease;}
.navigation {position:relative; z-index:101; width:100%; height:70px; display:flex; align-items:center; justify-content:space-between; background:transparent; font-family:inherit;}
.navigation * {box-sizing:border-box; -webkit-tap-highlight-color:transparent;}
.nav-header {height:70px; display:flex; align-items:center; flex:0 0 auto;}
.nav-logo {height:70px; padding:0 15px; display:inline-flex; align-items:center;}
.nav-logo img {width:150px; margin:0; padding:0; float:none;}
.nav-logo .dark-logo {display:none;}
.navigation-fixed-wrapper.is-fixed .nav-logo .dark-logo {display:block;}
.navigation-fixed-wrapper.is-fixed .nav-logo .white-logo {display:none;}
.nav-toggle {position:absolute; top:50%; right:15px; width:30px; height:30px; padding:0; display:none; transform:translateY(-50%); appearance:none; border:0; background:transparent; cursor:pointer;}
.nav-toggle::before {content:""; position:absolute; top:6px; left:3px; width:24px; height:2px; border-radius:10px; background:#fff; box-shadow:0 8px 0 #fff,0 16px 0 #fff;}
.navigation-fixed-wrapper.is-fixed .nav-toggle::before {background:var(--dark-color); box-shadow:0 8px 0 var(--dark-color),0 16px 0 var(--dark-color);}
.nav-menus-wrapper {min-width:0; flex:1 1 auto; display:flex; justify-content:flex-end; overflow:visible;}
.nav-menus-wrapper-close-button,.nav-menus-logo,.nav-menu-contact {display:none;}
.nav-menu {height:70px; margin:0 0 0 auto; padding:0; display:flex; align-items:stretch; justify-content:flex-end; list-style:none;}
.nav-menu>li {height:70px; display:flex; align-items:center; text-align:left;}
.nav-menu>li>a {height:70px; padding:0 15px; display:flex; align-items:center; position:relative; color:#fff; font-family:var(--heading-font); font-size:16px; font-weight:400; text-decoration:none; transition:color .2s ease;}
.nav-menu>li>a:hover,.nav-menu>li>a:focus-visible {color:#ffd7ce;}
.navigation-fixed-wrapper.is-fixed .nav-menu>li>a {color:var(--dark-color);}
.navigation-fixed-wrapper.is-fixed .nav-menu>li>a:hover,.navigation-fixed-wrapper.is-fixed .nav-menu>li>a:focus-visible {color:var(--theme-color);}
.nav-menu>.nav-language-dropdown {display:none; position:relative;}
.navigation-fixed-wrapper.is-fixed .nav-language-dropdown {height:70px; margin-left:14px; padding-left:15px; border-left:1px solid rgba(47,66,59,.16); display:flex; align-items:center;}
.nav-language-dropdown details {position:relative;}
.nav-language-dropdown summary {width:50px; height:38px; padding:0; border:1px solid rgba(47,66,59,.2); border-radius:19px; display:flex; align-items:center; justify-content:center; gap:7px; color:var(--dark-color); font-family:var(--body-font); font-size:14px; font-weight:500; line-height:1; list-style:none; cursor:pointer; transition:border-color .2s ease,color .2s ease;}
.nav-language-dropdown summary::-webkit-details-marker {display:none;}
.nav-language-dropdown summary:hover,.nav-language-dropdown summary:focus-visible {border-color:var(--theme-color); color:var(--theme-color);}
.nav-language-dropdown summary i {width:6px; height:6px; margin-top:-3px; border-right:1px solid currentColor; border-bottom:1px solid currentColor; transform:rotate(45deg); transition:transform .2s ease;}
.nav-language-dropdown details[open] summary i {margin-top:3px; transform:rotate(225deg);}
.nav-language-dropdown .language-switcher {position:absolute; top:calc(100% + 9px); right:0; z-index:250; min-width:84px; padding:8px; display:grid; gap:3px; border:1px solid rgba(47,66,59,.12); border-radius:8px; background:#fff; box-shadow:0 12px 32px rgba(25,38,33,.16);}
.nav-language-dropdown .language-link {padding:9px 12px; border-radius:5px; color:var(--dark-color); font-family:var(--body-font); font-size:14px; font-weight:500; line-height:1; text-align:center; text-decoration:none;}
.nav-language-dropdown .language-link:hover,.nav-language-dropdown .language-link:focus-visible,.nav-language-dropdown .language-link.active {background:var(--theme-color); color:#fff;}
.nav-menu .nav-menu-tel {display:none;}
.navigation-fixed-wrapper.is-fixed .nav-menu-tel {height:70px; margin-left:14px; padding-left:15px; border-left:1px solid rgba(47,66,59,.16); display:flex; flex:0 0 auto; white-space:nowrap;}
.navigation-fixed-wrapper.is-fixed .nav-menu-tel>a {padding:0; color:var(--theme-color); font-weight:500;}
.nav-overlay-panel {position:fixed; inset:0; z-index:19999; visibility:hidden; opacity:0; background:rgba(0,0,0,.7); pointer-events:none; transition:opacity .3s ease,visibility 0s linear .3s;}
.nav-overlay-panel.is-visible {visibility:visible; opacity:1; pointer-events:auto; transition-delay:0s;}
.no-scroll {overflow:hidden; touch-action:none;}
.image-intro-page>header,.accommodation-detail-page>header {position:absolute; top:0; left:0; width:100%; height:86px; background:transparent;}
.contact-page>header,.legal-page>header,.error-page>header {height:86px; background:var(--alt-color);}

@keyframes nav-fade-in {
    from {opacity:.98;}
    to {opacity:1;}
}

@media (min-width:768px) {
    .top-header {height:60px; padding:15px;}
    .top-header .top-contact {padding-top:10px;}
    .main-nav {top:70px;}
    .contact-page>header,.legal-page>header,.error-page>header,.image-intro-page>header,.accommodation-detail-page>header {height:146px;}
}

@media (max-width:992px) {
    .navigation {height:48px;}
    .nav-header {width:100%; height:48px;}
    .nav-logo {height:48px; padding:0 0 0 15px;}
    .nav-logo img {width:90px;}
    .nav-toggle {display:block;}
    .nav-menus-wrapper {position:fixed; top:0; left:0; z-index:20000; width:min(320px,88vw); height:100vh; height:100dvh; display:flex; flex-direction:column; justify-content:flex-start; overflow-x:hidden; overflow-y:auto; background:#fff; transform:translateX(-105%); transition:transform .35s ease; -webkit-overflow-scrolling:touch;}
    .nav-menus-wrapper.is-open {transform:translateX(0);}
    .nav-menus-wrapper-close-button {position:absolute; top:10px; right:7px; z-index:2; width:40px; height:40px; padding:0; border:0; display:block; background:transparent; color:var(--paragraph-color); font-size:26px; line-height:40px; text-align:center; cursor:pointer;}
    .nav-menus-logo {width:60%; padding:16px; display:block;}
    .nav-menu {width:100%; height:auto; margin:0; display:block;}
    .nav-menu>li {width:100%; height:auto; display:block; border-top:1px solid #f0f0f0;}
    .nav-menu>li:last-child {border-bottom:1px solid #f0f0f0;}
    .nav-menu>li>a,.navigation-fixed-wrapper.is-fixed .nav-menu>li>a {width:100%; height:auto; padding:12px 26px; display:block; color:var(--headline-color); font-size:16px;}
    .nav-menu>li>a:hover,.nav-menu>li>a:focus-visible,.navigation-fixed-wrapper.is-fixed .nav-menu>li>a:hover,.navigation-fixed-wrapper.is-fixed .nav-menu>li>a:focus-visible {color:var(--theme-color);}
    .nav-menu>.nav-language-dropdown,.navigation-fixed-wrapper.is-fixed .nav-language-dropdown {width:100%; height:auto; margin:0; padding:0; border-left:0; display:block;}
    .nav-language-dropdown details {width:100%;}
    .nav-language-dropdown summary {width:100%; height:auto; padding:12px 26px; border:0; border-radius:0; justify-content:flex-start; font-size:14px;}
    .nav-language-dropdown .language-switcher {position:static; min-width:0; padding:0 20px 14px 26px; display:flex; gap:6px; border:0; border-radius:0; background:transparent; box-shadow:none;}
    .nav-language-dropdown .language-link {padding:8px 11px; border:1px solid rgba(47,66,59,.14);}
    .navigation-fixed-wrapper.is-fixed .nav-menu-tel {display:none;}
    .nav-menu-contact {margin-top:auto; padding-bottom:1rem; display:block; list-style:none;}
    .nav-menu-contact a {color:var(--headline-color);}
    .nav-menu-contact .site-icon {margin-right:7px; color:var(--main-color);}
    .nav-menu-contact .nav-menu-inst {border-bottom:1px solid #f0f0f0;}
    .nav-menu-contact .nav-menu-inst .site-icon {width:36px; height:36px;}
}

@media (max-width:767px) {
    hr.top-line {margin:0;}
    .top-header .top-contact a {padding:5px 0;}
    .top-header .top-contact .site-icon {display:none;}
    .nav-menu>li>a,.navigation-fixed-wrapper.is-fixed .nav-menu>li>a,.nav-language-dropdown summary {font-size:16px;}
}

@media (prefers-reduced-motion:reduce) {
    .navigation-fixed-wrapper.is-fixed {animation:none;}
    .nav-menus-wrapper,.nav-overlay-panel {transition:none;}
}

@media (max-width:359px) {
    .top-header .top-contact {display:flex; gap:8px; align-items:center; white-space:nowrap;}
    .top-header .top-contact li {min-width:0; margin-right:0 !important; font-size:12px;}
    .top-header .top-contact a {gap:0;}
    .nav-logo {padding-left:12px;}
    .nav-logo img {width:82px;}
    .nav-toggle {right:10px;}
    .nav-menus-wrapper {width:92vw;}
    .nav-menus-logo {width:55%; padding:14px;}
    .nav-menu>li>a,.navigation-fixed-wrapper.is-fixed .nav-menu>li>a,.nav-language-dropdown summary {padding:12px 20px;}
    .nav-language-dropdown .language-switcher {padding:0 16px 12px 20px;}
}
