.site-container {
    margin: 0 auto;
    max-width: var(--container--width);
}




.site-page {
    position: relative;
}

.site-page.has-margin {
    margin-bottom: 96px;
}




.site-media {
    background-color: var(--color--white);
    overflow: hidden;
    position: relative;
}

.site-media.aspect-ratio-1 {
    height: 528px;
}

.site-media.aspect-ratio-2 {
    padding-top: 68%;
}

.site-media.aspect-ratio-3 {
    padding-top: 68%;
}

.site-media.aspect-ratio-4 {
    padding-top: 88%;
}

.site-media.aspect-ratio-5 {
    padding-top: 88%;
}

.site-media.aspect-ratio-6 {
    padding-top: 152%;
}

.site-media.aspect-ratio-7 {
    padding-top: 100%;
}




.site-featured-media {
    margin-bottom: 72px;
    position: relative;
    text-align: center;
}

.site-featured-media::before {
    background-color: var(--color--maastricht-blue);
    content: "";
    height: 100%;
    left: calc(-1 * ((var(--viewport--width) - var(--container--width)) / 2));
    position: absolute;
    top: -100px;
    width: var(--viewport--width);
}

.site-featured-media::after {
    background-color: var(--color--maastricht-blue-transparent-10);
    bottom: 0;
    content: "";
    left: 0;
    position: absolute;
    right: 0;
    top: 0;
}

.site-featured-media .text {
    align-items: center;
    bottom: 0;
    box-sizing: border-box;
    display: flex;
    flex-direction: column;
    justify-content: center;
    left: 0;
    padding: 0 128px 16px;
    position: absolute;
    right: 0;
    top: 0;
    z-index: 1;
}

.site-featured-media h1 {
    margin-top: 0;
    text-shadow: 0 4px 4px var(--color--black-transparent-25);
}

.site-featured-media h1:last-child {
    margin-bottom: 0;
}

.site-featured-media h1:not(:last-child) {
    margin-bottom: 23px;
}

.site-featured-media .button {
    position: relative;
}




.site-image {
    height: 100%;
    left: 0;
    object-fit: cover;
    position: absolute;
    top: 0;
    width: 100%;
}

.site-image.placeholder {
    filter: blur(32px);
    transform: scale(1.1);
}




.site-heading.size-small {
    font-size: 22px;
    line-height: 30px;
}

.site-heading.size-medium {
    font-size: 32px;
    line-height: 40px;
}

.site-heading.size-large {
    font-size: 43px;
    line-height: 51px;
}

.site-heading.size-extra-large {
    font-size: 64px;
    line-height: 76px;
}

.site-heading.size-extra-extra-large {
    font-size: 89px;
    line-height: 111px;
}

.site-heading.style-serif {
    font-family: "Frank Ruhl Libre";
}

.site-heading.color-yellow {
    color: var(--color--burlywood);
}

.site-heading.color-white {
    color: var(--color--white);
}

.site-heading span {
    font-weight: 700;
}




.site-button {
    align-items: center;
    box-sizing: border-box;
    line-height: normal;
}

.site-button.dynamic {
    position: relative;
}

.site-button.dynamic[_active]::before {
    background-color: var(--color--white-transparent-75);
    transform: scale(1);
}

.site-button.dynamic[_active]::after {
    animation: loading 0.8s linear infinite;
    transform: scale(1);
}

.site-button.dynamic::before {
    background-color: transparent;
    bottom: 0;
    content: "";
    left: 0;
    position: absolute;
    right: 0;
    top: 0;
    transform: scale(0);
}

.site-button.dynamic::after {
    border-radius: 50%;
    border-right-color: transparent;
    border-style: solid;
    border-width: 2px;
    bottom: 0;
    content: "";
    display: block;
    height: 14px;
    left: 0;
    margin: auto;
    position: absolute;
    right: 0;
    top: 0;
    transform: scale(0);
    width: 14px;
}

.site-button.dynamic.color-yellow::after {
    border-bottom-color: var(--color--burlywood);
    border-left-color: var(--color--burlywood);
    border-top-color: var(--color--burlywood);
}

.site-button.dynamic.color-blue::after {
    border-bottom-color: var(--color--maastricht-blue);
    border-left-color: var(--color--maastricht-blue);
    border-top-color: var(--color--maastricht-blue);
}

.site-button.expand-auto {
    display: inline-flex;
}

.site-button.expand-full {
    display: flex;
    justify-content: center;
    text-align: center;
    width: 100%;
}

.site-button.has-icon svg {
    margin-right: 10px;
}

.site-button.style-filled {
    border: none;
    padding: 11px 44px 9px;
}

.site-button.style-outline {
    background-color: transparent;
    border: 2px solid;
    padding: 9px 42px 7px;
}

.site-button.style-filled.color-blue {
    background-color: var(--color--maastricht-blue);
    color: var(--color--burlywood);
}

.site-button.style-filled.color-yellow {
    background-color: var(--color--burlywood);
    color: var(--color--maastricht-blue);
}

.site-button.style-filled.color-white-transparent {
    background-color: var(--color--white-transparent-95);
    color: var(--color--maastricht-blue);
}

.site-button.style-outline.color-yellow {
    border-color: var(--color--burlywood);
    color: var(--color--burlywood);
}

.site-button.style-filled.color-white {
    background-color: var(--color--white);
}




.site-checkbox {
    display: flex;
    position: relative;
}

.site-checkbox.size-auto {
    font-size: 15px;
    line-height: 23px;
    margin-bottom: 14px;
}

.site-checkbox.size-small {
    font-size: 13px;
    line-height: 21px;
    margin-bottom: 8px;
}

.site-checkbox.size-auto svg {
    margin-top: 3px;
}

.site-checkbox.size-small svg {
    margin-top: 4px;
}

.site-checkbox.color-auto a {
    text-decoration: underline;
}

.site-checkbox.color-white .label {
    color: var(--color--white);
}

.site-checkbox.color-white path:last-child {
    color: var(--color--white);
}

.site-checkbox.color-white a {
    text-decoration: underline;
}

.site-checkbox input:checked + svg path:last-child {
    transform: scale(1);
}

.site-checkbox svg {
    flex-shrink: 0;
    margin-right: 9px;
}

.site-checkbox path:first-child {
    color: var(--color--burlywood);
    margin-right: 9px;
}

.site-checkbox path:last-child {
    transform: scale(0);
}




.site-recaptcha-note {
    margin: 0;
}

.site-recaptcha-note.size-auto {
    font-size: 15px;
    line-height: 23px;
}

.site-recaptcha-note.size-small {
    font-size: 13px;
    line-height: 21px;
}

.site-recaptcha-note.color-white {
    color: var(--color--white);
}

.site-recaptcha-note.color-auto a {
    text-decoration: underline;
}

.site-recaptcha-note.color-white a {
    text-decoration: underline;
}




.site-newsletter-subscribe.style-blue {
    background-color: var(--color--maastricht-blue);
}

.site-newsletter-subscribe.style-blue .title {
    color: var(--color--burlywood);
}

.site-newsletter-subscribe.style-blue .title {
    margin-bottom: 10px;
}

.site-newsletter-subscribe.style-transparent .title {
    margin-bottom: 16px;
}

.site-newsletter-subscribe.style-blue .description {
    color: var(--color--white);
    font-size: 15px;
    line-height: 23px;
}

.site-newsletter-subscribe.style-blue input[type="email"]::placeholder {
    color: var(--color--burlywood);
}

.site-newsletter-subscribe.style-transparent {
    margin: 0 auto;
    width: 976px;
}

.site-newsletter-subscribe .title {
    margin-top: 0;
    text-align: center;
}

.site-newsletter-subscribe .description {
    margin: 0 0 26px;
    text-align: center;
}

.site-newsletter-subscribe .fields {
    display: flex;
    margin-bottom: 24px;
}

.site-newsletter-subscribe .fields input {
    margin-right: 10px;
}

.site-newsletter-subscribe .fields button {
    flex-shrink: 0;
}




.site-bookings {
    align-items: center;
    display: flex;
    flex-direction: column;
    text-align: center;
}

.site-bookings.has-image {
    box-sizing: border-box;
    margin-left: calc(-1 * ((var(--viewport--width) - var(--container--width)) / 2));
    overflow: hidden;
    padding: 172px calc((var(--viewport--width) - var(--container--width)) / 2) 176px;
    position: relative;
    width: var(--viewport--width);
}

.site-bookings.has-image::before {
    bottom: 0;
    content: "";
    left: 0;
    position: absolute;
    right: 0;
    top: 0;
    z-index: 1;
}

.site-bookings.has-image.color-blue::before {
    background-color: var(--color--maastricht-blue-transparent-95);
}

.site-bookings.has-image.color-yellow::before {
    background-color: var(--color--burlywood-transparent-95);
}

.site-bookings.has-image .text {
    position: relative;
    z-index: 1;
}

.site-bookings.has-image h2 {
    margin-bottom: 12px;
}

.site-bookings.has-image p {
    margin-bottom: 48px;
}

.site-bookings.has-image p:last-child {
    margin-bottom: -8px;
}

.site-bookings.no-image h2 {
    margin-bottom: 16px;
}

.site-bookings.no-image p {
    margin-bottom: 40px;
}

.site-bookings h2 {
    margin-top: 0;
}

.site-bookings p {
    margin-top: 0;
}




.site-text-media {
    align-items: center;
    display: grid;
}

.site-text-media.media-right {
    grid-column-gap: 128px;
    grid-template-columns: auto calc((((var(--container--width) - (44px * 3)) / 4) * 2) + 44px);
}

.site-text-media.media-left {
    grid-column-gap: 80px;
    grid-template-columns: calc((((var(--container--width) - (44px * 3)) / 4) * 2) + 44px) auto;
}

.site-text-media.media-left .media,
.site-text-media.media-left .gallery {
    order: -1;
}

.site-text-media .image {
    flex-shrink: 0;
    width: 100%;
}

.site-text-media h2 {
    margin: 0 0 16px;
}

.site-text-media h2 span {
    display: block;
}

.site-text-media p {
    margin-top: 0;
}

.site-text-media p:last-child {
    margin-bottom: 0;
}

.site-text-media p:not(:last-child) {
    margin-bottom: 24px;
}

.site-text-media .actions {
    display: flex;
}

.site-text-media .button:first-child {
    margin-right: 10px;
}




.site-gallery {
    position: relative;
}

.site-gallery .inner {
    overflow: hidden;
}

.site-gallery .images {
    display: flex;
}

.site-gallery .images[_animate] {
    transition: transform 0.24s cubic-bezier(0, 0, 0.10, 1);
}

.site-gallery .media {
    flex-shrink: 0;
    width: calc((((var(--container--width) - (44px * 3)) / 4) * 2) + 44px);
}




.site-slider-control {
    position: absolute;
}

.site-slider-control.align-center.prev {
    left: -22px;
    top: calc(50% - 22px);
}

.site-slider-control.align-center.next {
    right: -22px;
    top: calc(50% - 22px);
}

.site-slider-control.align-left.prev {
    bottom: 20px;
    left: 20px;
}

.site-slider-control.align-left.next {
    bottom: 20px;
    left: 80px;
}

.site-slider-control.align-right.prev {
    bottom: 20px;
    right: 80px;
}

.site-slider-control.align-right.next {
    bottom: 20px;
    right: 20px;
}

.site-slider-control button {
    align-items: center;
    background-color: var(--color--maastricht-blue-transparent-75);
    border: none;
    color: var(--color--white);
    display: flex;
    height: 44px;
    justify-content: center;
    width: 44px;
}




.site-map {
    margin-left: calc(-1 * ((var(--viewport--width) - var(--container--width)) / 2));
    padding-top: 38%;
    position: relative;
    width: var(--viewport--width);
}




.cookies-modal {
    bottom: 0;
    font-size: 15px;
    height: var(--cookies-modal--height, auto);
    line-height: 23px;
    overflow: hidden;
    padding: 0;
    position: sticky;
    z-index: 3;
}

.cookies-modal[_animate] {
    transition: height 0.24s cubic-bezier(0, 0, 0.10, 1);
}

.cookies-modal[_hide] {
    height: 0;
}

.cookies-modal .inner {
    align-items: center;
    background-color: var(--color--burlywood);
    display: flex;
    justify-content: center;
    padding: 26px calc((var(--viewport--width) - var(--container--width)) / 2) 22px;
    position: relative;
}

.cookies-modal .text {
    display: flex;
    margin-right: 44px;
    padding: 5px 0 1px;
    position: relative;
    z-index: 1;
}

.cookies-modal h4 {
    color: var(--color--white);
    font-weight: 400;
    margin: 0 10px 0 0;
}

.cookies-modal a {
    color: var(--color--white);
    text-decoration: underline;
}

.cookies-modal button {
    background-color: var(--color--white-transparent-95);
    border: none;
    color: var(--color--maastricht-blue);
    padding: 5px 16px 1px;
    position: relative;
    z-index: 1;
}

.cookies-modal span {
    pointer-events: none;
}

.cookies-modal svg {
    display: none;
}




.site-modal {
    bottom: 0;
    display: flex;
    height: auto;
    left: 0;
    overflow-y: scroll;
    padding: 48px;
    position: fixed;
    right: 0;
    top: 0;
    transform: translateX(-100%);
    z-index: 3;
}

.site-modal.newsletter .content {
    padding: 48px 44px 56px;
}

.site-modal.newsletter .close {
    color: var(--color--white);
}

.site-modal.reservation .content {
    background-color: var(--color--maastricht-blue);
}

.site-modal.reservation .fields-wrapper:nth-child(5),
.site-modal.reservation .fields-wrapper:nth-child(6) {
    background-color: var(--color--white);
    display: grid;
    grid-column-gap: 32px;
}

.site-modal.reservation .fields-wrapper:nth-child(5) {
    grid-template-columns: 1fr auto;
    padding: 46px 44px 40px;
}

.site-modal.reservation .fields-wrapper:nth-child(5) fieldset:first-child .fields {
    display: grid;
    grid-column-gap: 10px;
    grid-template-columns: auto repeat(3, 1fr);
}

.site-modal.reservation .fields-wrapper:nth-child(5) fieldset:last-child .fields {
    display: flex;
    margin-top: 1px;
}

.site-modal.reservation .fields-wrapper:nth-child(5) fieldset:last-child span {
    display: block;
}

.site-modal.reservation .fields-wrapper:nth-child(5) legend,
.site-modal.reservation .fields-wrapper:nth-child(6) legend {
    margin-bottom: 16px;
}

.site-modal.reservation .fields-wrapper:nth-child(5) svg,
.site-modal.reservation .fields-wrapper:nth-child(6) svg {
    color: var(--color--burlywood);
}

.site-modal.reservation .fields-wrapper:nth-child(5) .field {
    position: relative;
}

.site-modal.reservation .fields-wrapper:nth-child(5) .controls {
    display: flex;
    flex-direction: column;
    position: absolute;
    right: 0;
    top: 0;
}

.site-modal.reservation .fields-wrapper:nth-child(5) button {
    align-items: center;
    background-color: var(--color--maastricht-blue);
    border: none;
    display: flex;
    height: 20px;
    justify-content: center;
    padding: 0;
    width: 24px;
}

.site-modal.reservation .fields-wrapper:nth-child(5) .option {
    display: flex;
    font-size: 15px;
    position: relative;
}

.site-modal.reservation .fields-wrapper:nth-child(5) .option:first-child {
    margin-right: 20px;
}

.site-modal.reservation .fields-wrapper:nth-child(5) .option input:checked + svg path:last-child {
    transform: scale(1);
}

.site-modal.reservation .fields-wrapper:nth-child(5) .option svg {
    margin: 1px 9px 0 0;
}

.site-modal.reservation .fields-wrapper:nth-child(5) .option path:last-child {
    color: var(--color--maastricht-blue);
    transform: scale(0);
}

.site-modal.reservation .fields-wrapper:nth-child(6) {
    grid-template-columns: 200px auto;
    padding: 0 44px 40px;
}

.site-modal.reservation .fields-wrapper:nth-child(6) .field:first-child svg {
    margin: 0 15px 0 5px;
}

.site-modal.reservation .fields-wrapper:nth-child(6) .field:last-child svg {
    margin-right: 10px;
}

.site-modal.reservation .fields-wrapper:nth-child(6) .label {
    display: block;
    font-weight: 700;
    margin-bottom: 16px;
}

.site-modal.reservation .fields-wrapper:nth-child(6) .input {
    display: flex;
}

.site-modal.reservation .fields-wrapper:nth-child(6) svg {
    flex-shrink: 0;
}

.site-modal.reservation .fields-wrapper:nth-child(7) {
    padding: 32px 44px 56px;
}

.site-modal.reservation .fields-wrapper:nth-child(7) fieldset {
    margin-bottom: 24px;
}

.site-modal.reservation .fields-wrapper:nth-child(7) legend {
    color: var(--color--white);
    font-size: 21px;
    font-family: "Frank Ruhl Libre";
    line-height: 29px;
    margin-bottom: 18px;
    text-align: center;
}

.site-modal.reservation .fields-wrapper:nth-child(7) .fields {
    display: grid;
    grid-gap: 24px 32px;
    grid-template-columns: repeat(2, 1fr);
}

.site-modal.reservation .fields-wrapper:nth-child(7) label:first-child,
.site-modal.reservation .fields-wrapper:nth-child(7) label:last-child {
    grid-column-start: span 2;
}

.site-modal.reservation .fields-wrapper:nth-child(7) button {
    margin-bottom: 20px;
}

.site-modal[_ready] {
    transform: translateX(0);
}

.site-modal[_animate] {
    transition: background-color 0.24s cubic-bezier(0, 0, 0.10, 1);
}

.site-modal[_animate] .content {
    transition: opacity 0.24s cubic-bezier(0, 0, 0.10, 1), transform 0.32s cubic-bezier(0, 0, 0.10, 1);
}

.site-modal[_set-overlay] {
    background-color: var(--color--rich-black-transparent-75);
}

.site-modal[_move-content] .content {
    opacity: 1;
    transform: translateY(0);
}

.site-modal[_hide-content] .content {
    opacity: 0;
    transform: translateY(-72px);
}

.site-modal .content {
    box-sizing: border-box;
    margin: auto;
    opacity: 0.5;
    position: relative;
    transform: translateY(-48px);
    width: 752px;
}

.site-modal .close {
    align-items: center;
    background-color: transparent;
    border: none;
    display: flex;
    height: 44px;
    justify-content: center;
    padding: 0;
    position: absolute;
    right: 0;
    top: 0;
    width: 44px;
    z-index: 10;
}

.site-modal .closing {
    bottom: inherit;
    left: inherit;
    position: absolute;
    right: inherit;
    top: inherit;
}




[_scroll-disabled] {
    overflow-y: hidden;
}




[_inert] {
    padding-right: var(--scrollbar--width);
}




@keyframes loading {
    0% {
        transform: rotate(0deg);
    }

    100% {
        transform: rotate(360deg);
    }
}




.grecaptcha-badge {
    visibility: hidden;
}


/* Hide native number input controls - custom controls are used */
.site-modal.reservation input[type="number"] {
    -moz-appearance: textfield;
    appearance: textfield;
}

.site-modal.reservation input[type="number"]::-webkit-outer-spin-button,
.site-modal.reservation input[type="number"]::-webkit-inner-spin-button {
    -webkit-appearance: none;
    margin: 0;
}