body {
    --bsh-admin-bar-offset: 0px;
}

body.admin-bar {
    --bsh-admin-bar-offset: 32px;
}

.bshBtn {
    display: inline-block;
    width: auto;
    min-width: 170px;
    max-width: 100%;
    border-radius: 2px;
    background-color:var(--bsh-color-pastel-2);
    border: none;
    color: #FFFFFF;
    text-align: center;
    font-size: 20px;
    padding: 16px 20px;
    transition: all 0.5s ease-in-out;
    cursor: pointer;
    white-space: nowrap;
}

.bshBtn:hover {
    background-color:var(--bsh-color-pastel-1);
    color:#fff;
}

.bshBtn span {
    cursor: pointer;
    display: inline-block;
    position: relative;
    transition: 0.5s;
    white-space: nowrap;
}

.bshBtn span:after {
    content: '»';
    position: absolute;
    opacity: 0;
    top: 0;
    right: -15px;
    transition: 0.5s;
}

.bshBtn:hover span {
    padding-right: 15px;
}

.bshBtn:hover span:after {
    opacity: 1;
    right: 0;
}

.bshHeader {
    position: fixed;
    top: calc(80px + var(--bsh-admin-bar-offset, 0px));
    padding:0;
    z-index: 66;
    display: flex;
    justify-content: center;
    width: 100%;
}

.bshHeader > .bshLang {
    position: fixed;
    top: calc(80px + var(--bsh-admin-bar-offset, 0px));
    left: 80px;
    height:54px;
    width: 80px;
    display:flex;
    align-items: center;
    justify-content: center;
    font-size:18px;
    background: rgba(255,255,255,.08);
    backdrop-filter: blur(18px);
    border-radius: 2px;
    transition: top 720ms cubic-bezier(.22, 1, .36, 1), left 720ms cubic-bezier(.22, 1, .36, 1), background-color 220ms ease, border-radius 300ms ease;
    will-change: top, left;
}

.bshHeader > .bshLang .wpmlS {
    display: flex;
    justify-content: center;
    align-items: center;
    color:#fff;
}

.bshHeader > .bshLang .wpmlS  svg {
    width: 16px;
    margin-left:10px;
}

.is-scrolled .bshHeader > .bshLang {
    top: var(--bsh-admin-bar-offset, 0px);
    left:0;
    border-radius:0px;
    border-bottom-right-radius: 2px;
    background: var(--bsh-color-pastel-2);
}

.bshHeader--immersive-white > .bshLang {
    background: var(--bsh-color-pastel-2);
}

.bshHeader--immersive-white > .bshLang .wpmlS,
.bshHeader--immersive-white .bshLang__link[aria-current='page'] {
    color: var(--bsh-color-white);
}

.bshHeader--immersive-white .bshLang__menu {
    border: 1px solid rgba(94, 94, 94, .16);
    background: #f1efee;
    box-shadow: 0 10px 28px rgba(44, 40, 38, .12);
    backdrop-filter: none;
    -webkit-backdrop-filter: none;
}

.bshHeader--immersive-white .bshLang__link:not([aria-current='page']) {
    background: #e5e1df;
    color: var(--bsh-color-headline);
}

.bshHeader--immersive-white .bshLang__link:not([aria-current='page']):hover,
.bshHeader--immersive-white .bshLang__link:not([aria-current='page']):focus-visible {
    background: var(--bsh-color-pastel-1);
    color: var(--bsh-color-white);
}

.bshHeader > .bshLogo-header {
    position: fixed;
    top: calc(100px + var(--bsh-admin-bar-offset, 0px));
    width:580px;
    filter: opacity(1);
    opacity: 1;
    transform: translateY(0);
    transition: top 780ms cubic-bezier(.22, 1, .36, 1), width 780ms cubic-bezier(.22, 1, .36, 1), opacity 520ms ease, transform 780ms cubic-bezier(.22, 1, .36, 1), filter 520ms ease;
    will-change: top, transform, opacity;
    color: var(--bsh-color-white);
}

.is-scrolled .bshHeader > .bshLogo-header {
    top:-150px;
    filter: opacity(0);
    opacity: 0;
    pointer-events: none;
    transform: translateY(-34px);
    width:580px;
}

/* The brand lock-up belongs to the page origin, not to the scroll direction.
   Keep it hidden until the viewport has genuinely returned to the top. */
.bsh-js:not(.bsh-at-page-top) .bshHeader > .bshLogo-header {
    filter: opacity(0);
    opacity: 0;
    pointer-events: none;
    transform: translateY(-34px);
}

.bshHeader > .bshLogo-header.svg .logo-scene{
    width: 100%;
}

.bshLogo-header .logo-scene,
.bshLogo-header .bshHeader__logoLink,
.bshLogo-header .bsh-logo {
    display: block;
    width: 100%;
    height: auto;
}

.bshLogo-header .bshHeader__logoAnimated {
    width: 100%;
    line-height: 0;
}

.bshLogo-header .bshHeader__logoAnimated svg {
    display: block;
    width: 100%;
    height: auto;
    overflow: visible;
}

.bshHeader__logoImmersive {
    display: none !important;
}

.bshHeader--immersive > .bshLogo-header {
    top: calc(28px + var(--bsh-admin-bar-offset, 0px));
    width: clamp(280px, 21vw, 460px);
    min-height: 96px;
    color: var(--bsh-color-white);
    filter: none;
    opacity: 1;
}

.is-scrolled .bshHeader--immersive > .bshLogo-header {
    top: calc(-120px + var(--bsh-admin-bar-offset, 0px));
    width: clamp(280px, 21vw, 460px);
    filter: opacity(0);
    opacity: 0;
    transform: translateY(-36px);
}


.bshHeader--immersive-pastel.bshHeader--has-light-logo .bshHeader__logoDefault,
.bshHeader--room.bshHeader--has-light-logo .bshHeader__logoDefault,
.bshHeader--immersive-white.bshHeader--has-dark-logo .bshHeader__logoDefault {
    display: none;
}

.bshHeader--immersive-white > .bshLogo-header {
    color: var(--bsh-color-pastel-2);
}

/* Page templates use a compact brand lock-up beside the language switcher.
   Keep this independent from the room and front-page header compositions. */
.bshHeader--immersive-pastel > .bshLogo-header,
.bshHeader--immersive-white > .bshLogo-header {
    top: calc(80px + var(--bsh-admin-bar-offset, 0px));
    left: calc(160px + clamp(44px, 3.2vw, 72px));
    width: clamp(230px, 14vw, 300px);
    height: 54px;
    min-height: 0;
    line-height: 0;
    overflow: hidden;
}

.bshHeader--immersive-pastel > .bshLogo-header .bshHeader__logoLink,
.bshHeader--immersive-white > .bshLogo-header .bshHeader__logoLink {
    display: flex;
    width: 100%;
    height: 54px;
    align-items: center;
    justify-content: flex-start;
    line-height: 0;
}

.bshHeader--immersive-pastel .bshHeader__logoImmersive,
.bshHeader--immersive-white .bshHeader__logoImmersive,
.bshHeader--immersive-pastel > .bshLogo-header .bshHeader__logoDefault,
.bshHeader--immersive-pastel > .bshLogo-header .bshHeader__logoDefault svg,
.bshHeader--immersive-white > .bshLogo-header .bshHeader__logoDefault,
.bshHeader--immersive-white > .bshLogo-header .bshHeader__logoDefault svg {
    height: 54px;
    min-height: 54px;
    width: auto;
    max-width: 100%;
    margin: 0;
    object-fit: contain;
    object-position: left center;
    vertical-align: middle;
}

.is-scrolled .bshHeader--immersive-pastel > .bshLogo-header,
.is-scrolled .bshHeader--immersive-white > .bshLogo-header {
    top: calc(-86px + var(--bsh-admin-bar-offset, 0px));
    opacity: 0;
    pointer-events: none;
    transform: translateY(-28px);
}


.bshHeader--immersive .bshHeader__logoImmersive {
    width: auto;
    max-width: 100%;
    height: 96px;
    min-height: 96px;
    object-fit: contain;
    margin-inline: auto;
}

.bshHeader--immersive > .bshLogo-header .bshHeader__logoDefault,
.bshHeader--immersive > .bshLogo-header .bshHeader__logoDefault svg {
    height: 96px;
    min-height: 96px;
    width: auto;
    max-width: 100%;
    margin-inline: auto;
}

.bshHeader--immersive-pastel .bshHeader__logoImmersive,
.bshHeader--immersive-white .bshHeader__logoImmersive,
.bshHeader--immersive-pastel > .bshLogo-header .bshHeader__logoDefault,
.bshHeader--immersive-pastel > .bshLogo-header .bshHeader__logoDefault svg,
.bshHeader--immersive-white > .bshLogo-header .bshHeader__logoDefault,
.bshHeader--immersive-white > .bshLogo-header .bshHeader__logoDefault svg {
    height: 54px;
    min-height: 54px;
}

.bshHeader--immersive-pastel .bshHeader__logoImmersive--light,
.bshHeader--room .bshHeader__logoImmersive--light,
.bshHeader--standard .bshHeader__logoImmersive--light {
    display: block !important;
}

.bshHeader--immersive-white .bshHeader__logoImmersive--dark {
    display: block !important;
}

/* The hero field may switch the header tone without reloading the persistent
   Swup header. These state classes also let the animated settings SVG replace
   the uploaded light logo everywhere the light variant is requested. */
.bshHeader--logo-light .bshHeader__logoImmersive--dark,
.bshHeader--logo-dark .bshHeader__logoImmersive--light {
    display: none !important;
}

.bshHeader--logo-light .bshHeader__logoImmersive--light,
.bshHeader--logo-dark .bshHeader__logoImmersive--dark {
    display: block !important;
}

/* The persistent header keeps its page tone between Swup replacements. During
   a transition and while the fullscreen navigation is open, the brand must
   always use the white asset; removing either state restores the page tone. */
:is(html.bsh-page-transitioning body, body.bsh-menu-open, body.bsh-menu-closing)
    .bshHeader--has-light-logo .bshHeader__logoImmersive--light {
    display: block !important;
}

:is(html.bsh-page-transitioning body, body.bsh-menu-open, body.bsh-menu-closing)
    .bshHeader--has-light-logo .bshHeader__logoImmersive--dark {
    display: none !important;
}

:is(html.bsh-page-transitioning body, body.bsh-menu-open, body.bsh-menu-closing)
    .bshHeader > .bshLogo-header {
    color: var(--bsh-color-white) !important;
}

:is(html.bsh-page-transitioning body, body.bsh-menu-open, body.bsh-menu-closing)
    .bshLogo-header .bsh-logo :is(path, circle, ellipse, polygon, polyline, line, rect) {
    fill: currentColor !important;
    stroke: currentColor !important;
}

.bshHeader--immersive-pastel > .bshLogo-header .bshHeader__logoAnimated,
.bshHeader--immersive-white > .bshLogo-header .bshHeader__logoAnimated,
.bshHeader--room > .bshLogo-header .bshHeader__logoAnimated {
    height: 100%;
}

.bshHeader--immersive-pastel > .bshLogo-header .bshHeader__logoAnimated svg,
.bshHeader--immersive-white > .bshLogo-header .bshHeader__logoAnimated svg,
.bshHeader--room > .bshLogo-header .bshHeader__logoAnimated svg {
    width: auto;
    max-width: 100%;
    height: 100%;
    margin: 0;
}

.bshHeader--room > .bshLogo-header {
    top: calc(80px + var(--bsh-admin-bar-offset, 0px));
    left: calc(160px + clamp(44px, 3.2vw, 72px));
    width: clamp(230px, 14vw, 300px);
    height: 54px;
    min-height: 0;
    color: var(--bsh-color-white);
    mix-blend-mode: normal;
    overflow: hidden;
}

.bshHeader--room > .bshLogo-header .bshHeader__logoLink {
    display: flex;
    width: 100%;
    height: 54px;
    align-items: center;
    justify-content: flex-start;
}

.bshHeader--room > .bshLogo-header .bshHeader__logoImage {
    width: auto;
    height: 54px;
    max-width: 100%;
    min-height: 0;
    margin: 0;
    object-fit: contain;
    object-position: left center;
}

.is-scrolled .bshHeader--room > .bshLogo-header {
    top: calc(-86px + var(--bsh-admin-bar-offset, 0px));
}


.bshLogo-header .bsh-logo {
    overflow: visible;
}

.bshLogo-header .bsh-logo path,
.bshLogo-header .bsh-logo circle,
.bshLogo-header .bsh-logo ellipse,
.bshLogo-header .bsh-logo polygon,
.bshLogo-header .bsh-logo polyline,
.bshLogo-header .bsh-logo line,
.bshLogo-header .bsh-logo rect {
    fill: currentColor;
    vector-effect: non-scaling-stroke;
}

.bshHeader > .bshMenu-main {
    position:fixed;
    right:80px;
    top: calc(80px + var(--bsh-admin-bar-offset, 0px));
    display: flex;

    height: 54px;
    align-items: center;
    min-width: 54px;
    transition: top 720ms cubic-bezier(.22, 1, .36, 1), right 720ms cubic-bezier(.22, 1, .36, 1), background-color 220ms ease, border-radius 300ms ease;
    will-change: top, right;
}

.is-scrolled  .bshHeader > .bshMenu-main {
    top: var(--bsh-admin-bar-offset, 0px);
    right: 0;
    width: 54px;
    min-width: 54px;
    height: 54px;
    border-bottom-left-radius: 2px;
    background: var(--bsh-color-pastel-2);
}

.bshHeader--immersive-white > .bshMenu-main .bshMenuText {
    color: var(--bsh-color-pastel-2);
}

.bshHeader--immersive-white > .bshMenu-main #nav-icon1 span {
    background: var(--bsh-color-pastel-2);
}

.is-scrolled .bshHeader--immersive-white > .bshMenu-main #nav-icon1 span,
.bsh-menu-open .bshHeader--immersive-white > .bshMenu-main #nav-icon1 span {
    background: var(--bsh-color-white);
}

.is-scrolled .bshHeader > .bshMenu-main .bshMenuText {
    opacity: 0;
    visibility: hidden;
    min-width: 0;
    padding:0;
}

.is-scrolled .bshHeader > .bshMenu-main #nav-icon1 {
    width: 34px;
}

.bshHeader > .bshMenu-main .bshMenuText {
    font-size: 18px;
    color:#fff;
    -webkit-transition: .25s ease-in-out;
    -moz-transition: .25s ease-in-out;
    -o-transition: .25s ease-in-out;
    transition: .25s ease-in-out;
}


.bshHeader > .bshMenu-main:hover #nav-icon1 span{
    background: var(--bsh-color-pastel-1);
}


.bshHeader > .bshMenu-main .bshMenuText {
    min-width: 100px;
    padding-right: 40px;
    display: flex;
    height: 100%;
    align-items: center;
    justify-content: flex-end;
}



.bshHeader > .bshMenu-main .bshMenuText .showText,
.bshHeader > .bshMenu-main .bshMenuText .hiddenText {
    -webkit-transition: .25s ease-in-out;
    -moz-transition: .25s ease-in-out;
    -o-transition: .25s ease-in-out;
    transition: .25s ease-in-out;
    position: absolute;
}

.bshHeader > .bshMenu-main .bshMenuText .showText {
    filter:opacity(1);
}

.bshHeader > .bshMenu-main .bshMenuText .hiddenText {
    filter:opacity(0);
}

.bshHeader > .bshMenu-main:hover .bshMenuText .showText {
    filter: opacity(0);
}

.bshHeader > .bshMenu-main:hover .bshMenuText .hiddenText {
    filter:opacity(1);
}

.bshHeader > .bshMenu-main #nav-icon1 {
    width: 36px;
    height: 26px;
    position: relative;
    -webkit-transform: rotate(0deg);
    -moz-transform: rotate(0deg);
    -o-transform: rotate(0deg);
    transform: translateX(-7px) rotate(0deg);
    -webkit-transition: .5s ease-in-out;
    -moz-transition: .5s ease-in-out;
    -o-transition: .5s ease-in-out;
    transition: .5s ease-in-out;
    cursor: pointer;
}

#nav-icon1 span {
    display: block;
    position: absolute;
    height: 2px;
    width: 100%;
    background: #ffffff;
    border-radius: 1px;
    opacity: 1;
    right: 0;
    -webkit-transform: rotate(0deg);
    -moz-transform: rotate(0deg);
    -o-transform: rotate(0deg);
    transform: rotate(0deg);
    -webkit-transition: .25s ease-in-out;
    -moz-transition: .25s ease-in-out;
    -o-transition: .25s ease-in-out;
    transition: .25s ease-in-out;
}

#nav-icon1 span:nth-child(1) {
    top: 0px;
    width: 65%;
}

#nav-icon1 span:nth-child(2) {
    top: 12px;
}

#nav-icon1 span:nth-child(3) {
    top: 24px;
    width:45%;
}

#nav-icon1.open span:nth-child(1) {
    top: 12px;
    width:100%;
    -webkit-transform: rotate(135deg);
    -moz-transform: rotate(135deg);
    -o-transform: rotate(135deg);
    transform: rotate(135deg);
}

#nav-icon1.open span:nth-child(2) {
    opacity: 0;
    right: -60px;
}

#nav-icon1.open span:nth-child(3) {
    top: 12px;
    width:100%;
    -webkit-transform: rotate(-135deg);
    -moz-transform: rotate(-135deg);
    -o-transform: rotate(-135deg);
    transform: rotate(-135deg);
}


.bshMobileDock {
    display: none;
}

.bshIconMenu {
    position:fixed;
    right:80px;
    top: calc(200px + var(--bsh-admin-bar-offset, 0px));
    z-index: 66;
    display:flex;
    flex-direction: column;
    align-items: flex-end;
    transition: top 760ms cubic-bezier(.22, 1, .36, 1), right 760ms cubic-bezier(.22, 1, .36, 1);
    will-change: top, right;
}

.is-scrolled .bshIconMenu {
    right:0;
    top: calc(59px + var(--bsh-admin-bar-offset, 0px));
}

.bshIconMenu a  {
    position: relative;
    display: flex;
    height: 54px;
    width: 54px;
    justify-content: flex-end;
    align-items: center;
    margin-bottom: 5px;
}

.bshIconMenu a[href*="instagram.com"] {
    display: none;
}

.bshIconMenu a .icon {
    display:flex;
    width: 54px;
    height: 54px;
    border-radius: 2px;
    background: rgba(255,255,255,.08);
    backdrop-filter: blur(18px);
    align-items: center;
    justify-content: center;
    transition: all 300ms ease-in-out;
    color:#fff;
}

.bshIconMenu a .icon:before {
    display: none;
}

.bshIconMenu a .overFlowDiv {
    width: max-content;
    max-width: min(520px, calc(100vw - 180px));
    position: absolute;
    overflow: visible;
    display:flex;
    right: calc(100% + 10px);
    top: 0;
    justify-content: flex-end;
    color: var(--bsh-color-headline);
    font-size: 16px;
    opacity: 0;
    visibility: hidden;
    pointer-events: none;
    transform: translateX(10px);
    transition: opacity 220ms ease, transform 300ms cubic-bezier(.22, 1, .36, 1), visibility 0s linear 300ms;
}

.bshIconMenu a .overFlowDiv::after {
    position: absolute;
    top: 50%;
    right: -8px;
    width: 0;
    height: 0;
    border-top: 8px solid transparent;
    border-bottom: 8px solid transparent;
    border-left: 8px solid var(--bsh-color-white);
    content: '';
    transform: translateY(-50%);
}

.bshIconMenu a span {
    display:flex;
    width: auto;
    height: 54px;
    border-radius: 4px;
    color: var(--bsh-color-headline);
    background: var(--bsh-color-white);
    box-shadow: 0 10px 32px rgb(35 34 33 / .14);
    align-items: center;
    padding: 0 22px;
    white-space: nowrap;
}

.is-scrolled .bshIconMenu a .icon {
    background: var(--bsh-color-pastel-2);
}

.bsh-header-immersive-white .bshIconMenu a .icon {
    color: var(--bsh-color-white);
    background: var(--bsh-color-pastel-2);
}

@media (hover: hover) and (pointer: fine) and (min-width: 1025px) {
    .bshIconMenu a:hover .icon {
        color: var(--bsh-color-white);
        background: var(--bsh-color-pastel-1);
    }

    .bshIconMenu a:hover .overFlowDiv,
    .bshIconMenu a:focus-visible .overFlowDiv {
        opacity: 1;
        visibility: visible;
        transform: translateX(0);
        transition-delay: 0s;
    }
}
/* section base */

.secBase {
    padding:80px;
    display:flex;
    align-items: center;
    justify-content: center;
}

.flex {
    display:flex;
}

.secBase .container {
    width: 85%;
}

@keyframes fadeInUp {
    0% {

        opacity: 0;
    }
    100% {

        opacity: 1;
    }
}




.bshArchive,
.bshEntry:not(.bshEntry--page),
.bshErrorPage {
    max-width: 960px;
}

.bshArchive.bsh-section,
.bshErrorPage.bsh-section,
.bshEntry:not(.bshEntry--page) {
    padding-top: clamp(140px, 12vw, 200px);
}

.bshEntry--page > .bshEntry__title {
    padding-top: clamp(140px, 12vw, 200px);
}

.bshArchive__title,
.bshEntry__title,
.bshErrorPage h1 {
    margin-bottom: 32px;
    color: var(--bsh-color-headline);
    font-size: clamp(2.5rem, 5vw, 5rem);
    letter-spacing: -.04em;
}


.bshEntry__title a {
    text-decoration: none;
}

.bshEntry__content > * + * {
    margin-top: 1.5em;
}

.bshErrorPage__code {
    color: var(--bsh-color-pastel-2);
    font-family: var(--bsh-font-display);
    font-size: clamp(5rem, 14vw, 12rem);
    line-height: .8;
}

.bshErrorPage .bshBtn {
    margin-top: 32px;
}

/* Compatibility and accessibility around the restored original visual language. */
.bshSkipLink {
    position: fixed;
    top: 12px;
    left: 12px;
    z-index: 1000;
    padding: 12px 16px;
    color: #fff;
    background: #000;
    transform: translateY(-160%);
    transition: transform .2s ease;
}

.admin-bar .bshSkipLink {
    top: calc(12px + var(--bsh-admin-bar-offset, 0px));
}

.bshSkipLink:focus {
    transform: translateY(0);
}

.bshHeader {
    pointer-events: none;
}

.bshHeader > * {
    pointer-events: auto;
}

/* Header variants are swapped while Swup's opaque cover is active. Disable
   positional interpolation for that one layout flush so the persisted logo
   can never be seen travelling from the old composition to the new one. */
.bshHeader.is-bsh-variant-preparing > .bshLang,
.bshHeader.is-bsh-variant-preparing > .bshLogo-header,
.bshHeader.is-bsh-variant-preparing > .bshHeaderBooking,
.bshHeader.is-bsh-variant-preparing > .bshMenu-main,
.bshHeader.is-bsh-variant-preparing ~ .bshIconMenu {
    transition: none !important;
}

.bsh-js:not(.bsh-ui-ready) .bshHeader > .bshLang,
.bsh-js:not(.bsh-ui-ready) .bshHeader > .bshLogo-header,
.bsh-js:not(.bsh-ui-ready) .bshHeader > .bshHeaderBooking,
.bsh-js:not(.bsh-ui-ready) .bshHeader > .bshMenu-main,
.bsh-js:not(.bsh-ui-ready) .bshIconMenu > a {
    opacity: 0;
}

.bshLogo-header .bshHeader__logoLink,
.bshLogo-header .bshHeader__logoImage {
    display: block;
    width: 100%;
    height: auto;
}

/* Must follow the generic image rule above: page-template logo assets use a
   fixed visual rail next to WPML, regardless of whether the source is SVG or IMG. */
.bshHeader--immersive-pastel > .bshLogo-header .bshHeader__logoImage,
.bshHeader--immersive-white > .bshLogo-header .bshHeader__logoImage {
    width: auto;
    height: 54px;
    max-width: 100%;
    min-height: 0;
    margin: 0;
    object-fit: contain;
    object-position: left center;
}

.bshLang {
    z-index: 68;
}

.bshLang__toggle,
.bshMenuBurger {
    padding: 0;
    border: 0;
    color: inherit;
    background: transparent;
    font: inherit;
    cursor: pointer;
}

.bshMenu-main .bshMenuBurger {
    display: flex;
    width: 54px;
    height: 54px;
    flex: 0 0 54px;
    align-items: center;
    justify-content: center;
}

.bshLang__menu {
    position: absolute;
    top: calc(100% + 6px);
    left: 0;
    display: grid;
    width: 80px;
    padding: 0;
    margin: 0;
    border-radius: 2px;
    background: rgba(255,255,255,.12);
    list-style: none;
    overflow: hidden;
    backdrop-filter: blur(18px);
    -webkit-backdrop-filter: blur(18px);
}

.bshLang__menu[hidden] {
    display: none;
}

.bshLang__link {
    display: flex;
    min-height: 38px;
    align-items: center;
    justify-content: center;
    color: #fff;
    font-size: 15px;
    text-decoration: none;
}

.bshLang__link:hover,
.bshLang__link:focus-visible,
.bshLang__link[aria-current='page'] {
    background: var(--bsh-color-pastel-2);
}

.is-scrolled .bshHeader > .bshLang .bshLang__menu {
    background: rgba(34, 31, 29, .82);
}

.is-scrolled .bshHeader > .bshLang .bshLang__link:not([aria-current='page']) {
    background: rgba(12, 11, 10, .22);
}

.is-scrolled .bshHeader > .bshLang .bshLang__link:not([aria-current='page']):hover,
.is-scrolled .bshHeader > .bshLang .bshLang__link:not([aria-current='page']):focus-visible {
    background: var(--bsh-color-pastel-2);
}

/* Keep the white-template language dropdown readable after the compact
   scrolled header rules above take effect. */
.is-scrolled .bshHeader--immersive-white > .bshLang .bshLang__menu {
    background: #f1efee;
}

.is-scrolled .bshHeader--immersive-white > .bshLang .bshLang__link:not([aria-current='page']) {
    background: #e5e1df;
    color: var(--bsh-color-headline);
}

.is-scrolled .bshHeader--immersive-white > .bshLang .bshLang__link:not([aria-current='page']):hover,
.is-scrolled .bshHeader--immersive-white > .bshLang .bshLang__link:not([aria-current='page']):focus-visible {
    background: var(--bsh-color-pastel-1);
    color: var(--bsh-color-white);
}

.bshLang.is-open .wpmlS svg {
    transform: rotate(180deg);
}

.bshMenu-main .bshMenuBurger {
    display: flex;
    align-items: center;
}

.bshMenuPanel[hidden] {
    display: none;
}

.bshMenuPanel {
    z-index: 100;
}

.bsh-menu-open {
    overflow: hidden;
}

.bshIconMenu .icon svg {
    width: 22px;
    height: 22px;
}

.bshIconMenu a:focus-visible .icon {
    background: var(--bsh-color-pastel-2);
}

@media (max-width: 900px) {
    .bshHeader {
        top: calc(28px + var(--bsh-admin-bar-offset, 0px));
    }

    .bshHeader > .bshLang {
        top: calc(28px + var(--bsh-admin-bar-offset, 0px));
        left: 24px;
    }

    .bshHeader > .bshLogo-header {
        top: calc(48px + var(--bsh-admin-bar-offset, 0px));
        width: min(58vw, 440px);
    }

    .bshHeader--immersive-pastel > .bshLogo-header,
    .bshHeader--immersive-white > .bshLogo-header,
    .bshHeader--room > .bshLogo-header {
        top: calc(28px + var(--bsh-admin-bar-offset, 0px));
        left: calc(104px + clamp(28px, 4vw, 48px));
        width: clamp(190px, 27vw, 250px);
        height: 54px;
    }

    .bshHeader > .bshMenu-main {
        top: calc(28px + var(--bsh-admin-bar-offset, 0px));
        right: 24px;
    }

    .bshIconMenu {
        display: none;
    }

    .bshIconMenu a .overFlowDiv {
        display: none;
    }

    .secBase {
        padding: 56px 24px;
    }

    .secBase .container {
        width: 100%;
    }
}

@media (max-width: 782px) {
    body.admin-bar {
        --bsh-admin-bar-offset: 46px;
    }
}

@media (max-width: 600px) {
    body.admin-bar.is-scrolled {
        --bsh-admin-bar-offset: 0px;
    }
}

@media (max-width: 767px) {
    .bshHeader > .bshLang {
        display: none;
    }

    .bshLang__menu {
        width: 64px;
    }

    .bshHeader > .bshLogo-header {
        top: calc(96px + var(--bsh-admin-bar-offset, 0px));
        width: min(72vw, 330px);
    }

    .bshHeader--immersive > .bshLogo-header {
        top: calc(24px + var(--bsh-admin-bar-offset, 0px));
        width: min(62vw, 310px);
        min-height: 86px;
    }

    .bshHeader--immersive-pastel > .bshLogo-header,
    .bshHeader--immersive-white > .bshLogo-header,
    .bshHeader--room > .bshLogo-header {
        top: calc(24px + var(--bsh-admin-bar-offset, 0px));
        left: 16px;
        width: min(58vw, 230px);
        height: 46px;
        min-height: 0;
    }

    .bshHeader--immersive-pastel > .bshLogo-header .bshHeader__logoLink,
    .bshHeader--immersive-white > .bshLogo-header .bshHeader__logoLink,
    .bshHeader--room > .bshLogo-header .bshHeader__logoLink {
        height: 46px;
    }

    .bshHeader--immersive-pastel .bshHeader__logoImmersive,
    .bshHeader--immersive-white .bshHeader__logoImmersive,
    .bshHeader--immersive-pastel > .bshLogo-header .bshHeader__logoDefault,
    .bshHeader--immersive-pastel > .bshLogo-header .bshHeader__logoDefault svg,
    .bshHeader--immersive-white > .bshLogo-header .bshHeader__logoDefault,
    .bshHeader--immersive-white > .bshLogo-header .bshHeader__logoDefault svg {
        height: 46px;
        min-height: 46px;
    }

    .bshHeader--immersive-pastel > .bshLogo-header .bshHeader__logoImage,
    .bshHeader--immersive-white > .bshLogo-header .bshHeader__logoImage,
    .bshHeader--room > .bshLogo-header .bshHeader__logoImage {
        height: 46px;
        min-height: 0;
    }

    .is-scrolled .bshHeader--immersive > .bshLogo-header {
        top: calc(-105px + var(--bsh-admin-bar-offset, 0px));
    }


    .bshHeader--immersive .bshHeader__logoImmersive {
        height: 86px;
        min-height: 86px;
    }

    .bshHeader--immersive-pastel .bshHeader__logoImmersive,
    .bshHeader--immersive-white .bshHeader__logoImmersive,
    .bshHeader--immersive-pastel > .bshLogo-header .bshHeader__logoDefault,
    .bshHeader--immersive-pastel > .bshLogo-header .bshHeader__logoDefault svg,
    .bshHeader--immersive-white > .bshLogo-header .bshHeader__logoDefault,
    .bshHeader--immersive-white > .bshLogo-header .bshHeader__logoDefault svg {
        height: 46px;
        min-height: 46px;
    }

    .bshHeader > .bshMenu-main {
        right: 16px;
        width: 54px;
        opacity: 1;
        transform: translateY(0);
        transition: opacity 240ms ease, transform 420ms cubic-bezier(.22, 1, .36, 1), visibility 0s linear 0s, top 720ms cubic-bezier(.22, 1, .36, 1), right 720ms cubic-bezier(.22, 1, .36, 1), background-color 220ms ease;
    }

    .bshHeader > .bshMenu-main .bshMenuText {
        display: none;
    }

    .bshHeader > .bshMenu-main #nav-icon1 {
        width: 34px;
    }

    .bshIconMenu {
        display: none;
    }

    body.is-scrolled:not(.bsh-menu-open):not(.bsh-menu-closing) .bshHeader > .bshMenu-main {
        opacity: 0;
        visibility: hidden;
        pointer-events: none;
        transform: translateY(-18px);
        transition-delay: 0s, 0s, 420ms, 0s, 0s, 0s;
    }

    .bshMobileDock {
        position: fixed;
        right: 0;
        bottom: 0;
        left: 0;
        z-index: 116;
        display: grid;
        box-sizing: border-box;
        width: 100%;
        min-height: calc(60px + env(safe-area-inset-bottom));
        grid-template-columns: repeat(5, minmax(0, 1fr));
        align-items: center;
        padding: 0 2px env(safe-area-inset-bottom);
        border: 1px solid rgb(184 175 170 / .22);
        border-right: 0;
        border-bottom: 0;
        border-left: 0;
        border-radius: 0;
        color: var(--bsh-color-pastel-2);
        background: rgb(255 255 255 / .97);
        box-shadow: 0 -10px 30px rgb(58 50 46 / .12);
        opacity: 0;
        visibility: hidden;
        pointer-events: none;
        transform: translateY(calc(100% + 18px));
        transition: opacity 260ms ease, transform 520ms cubic-bezier(.22, 1, .36, 1), visibility 0s linear 520ms;
        -webkit-backdrop-filter: blur(18px);
        backdrop-filter: blur(18px);
    }

    body.is-scrolled:not(.bsh-menu-open):not(.bsh-menu-closing) .bshMobileDock {
        opacity: 1;
        visibility: visible;
        pointer-events: auto;
        transform: translateY(0);
        transition-delay: 80ms, 80ms, 0s;
    }

    .bshMobileDock__action {
        display: flex;
        width: 100%;
        height: 58px;
        min-width: 0;
        flex-direction: column;
        gap: 4px;
        align-items: center;
        justify-content: center;
        padding: 5px 2px 3px;
        border: 0;
        color: var(--bsh-color-pastel-2);
        background: transparent;
        text-decoration: none;
        cursor: pointer;
        transition: color var(--bsh-transition-fast), transform var(--bsh-transition-fast);
    }

    .bshMobileDock__action--empty,
    .bshMobileDock__action--disabled {
        opacity: .42;
        cursor: default;
    }

    .bshMobileDock__action:not(.bshMobileDock__brand):not(.bshMobileDock__action--empty):active {
        color: var(--bsh-color-headline);
        transform: translateY(1px);
    }

    .bshMobileDock__action > svg {
        width: 20px;
        height: 20px;
        flex: 0 0 auto;
        stroke-width: 1.6;
    }

    .bshMobileDock__label {
        display: block;
        overflow: hidden;
        width: 100%;
        color: currentColor;
        font-size: clamp(8px, 2.35vw, 10px);
        font-weight: 600;
        line-height: 1;
        letter-spacing: .035em;
        text-align: center;
        text-overflow: ellipsis;
        text-transform: uppercase;
        white-space: nowrap;
    }

    .bshMobileDock__brand {
        position: relative;
        z-index: 2;
        height: 58px;
        padding: 0;
    }

    .bshMobileDock__brandMark {
        position: absolute;
        top: -12px;
        left: 50%;
        display: grid;
        width: 60px;
        height: 60px;
        place-items: center;
        border: 1px solid rgb(184 175 170 / .22);
        border-radius: 50%;
        color: var(--bsh-color-pastel-2);
        background: var(--bsh-color-white);
        box-shadow: 0 8px 22px rgb(58 50 46 / .15);
        transform: translateX(-50%);
    }

    .bshMobileDock__brandMark > svg,
    .bshMobileDock__brandImage {
        display: block;
        width: 37px;
        height: 37px;
        object-fit: contain;
    }

    .bshMobileDock__brandMark svg [fill]:not([fill='none']) {
        fill: currentColor !important;
    }

    .bshMobileDock__brandMark svg [stroke]:not([stroke='none']) {
        stroke: currentColor !important;
    }

    .bshMobileDock__brandMark svg [style*='fill']:not([style*='fill:none']):not([style*='fill: none']) {
        fill: currentColor !important;
    }

    .bshMobileDock__brandMark svg [style*='stroke']:not([style*='stroke:none']):not([style*='stroke: none']) {
        stroke: currentColor !important;
    }

    .bshMobileDock__brandMark svg :where(path, circle, ellipse, polygon, polyline, rect):not([fill]):not([stroke]) {
        fill: currentColor;
    }

    .bshMobileDock__brandImage {
        filter: sepia(.12) saturate(.45) brightness(.9);
    }

    .bshMobileDock__menu.is-open svg {
        transform: rotate(90deg);
    }

}

@media (prefers-reduced-motion: reduce) {
    .logo-scene,
    .bsh-logo,
    .bsh-logo path,
    .bsh-logo circle,
    .bsh-logo ellipse,
    .bsh-logo polygon,
    .bsh-logo polyline,
    .bsh-logo line,
    .bsh-logo rect,
    .bshMobileDock,
    .bshMobileDock__action,
    .bshHeader > .bshMenu-main {
        animation: none !important;
        transition: none !important;
    }
}
