/* =============================================================================
   Gastleitsystem (Terminal-Ansicht)
   Wird nur auf Seiten unter dem Gastleitsystem-Ordner geladen
   (page.includeCSS.glz in zz-gastleitsystem.typoscript).
   Alle Masse in vw, damit die Ansicht auf jeder Displaygroesse gleich wirkt.
   ========================================================================== */

/* Das Randspalten-Grid des Templates gilt im Gastleitsystem nicht -
   die Terminal-Layouts nutzen die volle Flaeche */
.glz__page .grid__main {
    display: block;
}

.glz__page .grid__main > * {
    grid-column: auto;
}

/* v10 hat um die Gastleitsystem-Container gar kein frame-Div gerendert; in v12
   gibt es eines, deshalb muss die Hoehe hier durchgereicht werden, sonst
   greift das height:100% der Layouts ins Leere */
.glz__content > .frame-type-glz-brasserie1,
.glz__content > .frame-type-glz-brasserie2,
.glz__content > .frame-type-glz-empfang1,
.glz__content > .frame-type-glz-empfang2 {
    height: 100%;
}

html {
    height: 100%;
    overflow-y: auto;
}

body.glz {
    font-size: 100%;
    height: 100%;
}

body * {
    box-sizing: border-box;
    -webkit-box-sizing: border-box;
}

.glz__page {
    display: grid;
    grid-template-rows: 1fr min-content;
    height: 100%;
    width: 100%;
}

.glz__footer {
    border-top: 1vw solid rgb(var(--c-neutral-lighter));
    padding: 4vw;
    font-size: 2.5vw;
}

.glz__footer h1,
.glz__footer h2,
.glz__footer h3,
.glz__footer h4,
.glz__footer h5 {
    font-size: 120%;
}

h1::after, h2.likeh1::after {
    height: 0.3vw;
    width: 7vw;
    margin: 1.5vw auto 0 auto;
}

/* AreaToday im Terminal-Footer: ohne Kaesten, beide Bereiche mittig gruppiert
   (Selektoren so spezifisch wie die Regeln in Extensions/gkmb_oneforall.css) */
.glz__footer .gkmb__oneforall.-today .oneforall__day {
    display: grid;
    grid-template-columns: 1fr 1fr;
    grid-gap: 7vw;
    line-height: 1.4;
    justify-content: space-around;
}

.glz__footer .gkmb__oneforall.-today .day__subarea {
    display: block;
    padding: 0;
    border: none;
}

.glz__footer .gkmb__oneforall.-today .day__subarea:first-child {
    justify-self: flex-end;
}

.glz__footer .gkmb__oneforall.-today .subarea__titlewrap {
    width: auto;
    font-size: var(--f-size);
}

.glz__footer .reservation__wrap {
    font-weight: var(--f-weight-sb);
}

.brasserie1__layout {
    position: relative;
    height: 100%;
    align-items: center;
    display: grid;
    overflow: hidden;
    font-size: 2.5vw;
}

.brasserie1__container {
    display: grid;
    padding: 6vw 0;
    grid-gap: 5vw 0;
    grid-template-columns: 25% 75%;
    grid-template-rows: min-content min-content 1fr;
}

.brasserie1__bar {
    position: absolute;
    background: rgb(var(--c-neutral-dark));
    width: 25%;
    top: 0;
    bottom: 0;
    height: 100%;
    z-index: -1;
}

.brasserie1__image {
    grid-column: span 2;
    grid-row: 1;
    position: relative;
    max-width: 75%;
    max-height: 500px;
    margin: 0 4vw;
    overflow: hidden;
}

.brasserie1__image * {
    object-fit: cover;
    max-width: 100%;
    max-height: 100%;
    width: 100%;
    height: 100%;
}

.brasserie1__image::after {
    content: '';
    position: absolute;
    top: 2vw;
    right: 2vw;
    bottom: 2vw;
    left: 2vw;
    border: 2px solid rgb(var(--c-neutral-lightest));
}

.brasserie1__title .headline,
.brasserie2__title .headline {
    margin: 0 !important;
}

.brasserie1__title.-left .headline {
    text-align: right !important;
}

.brasserie1__title.-left {
    grid-row: 2;
    grid-column: 1;
    color: rgb(var(--c-neutral-lightest)) !important;
    text-align: right;
}

.brasserie1__title.-left p,
.brasserie1__title.-left h1,
.brasserie1__title.-left h2,
.brasserie1__title.-left h3,
.brasserie1__title.-left h4,
.brasserie1__title.-left h5 {
    color: rgb(var(--c-neutral-lightest)) !important;
}

.brasserie1__title h1::after,
.brasserie1__title h2.likeh1::after,
.brasserie2__title h1::after,
.brasserie2__title h2.likeh1::after {
    display: none !important;
}

.brasserie1__title.-right {
    grid-row: 2;
    grid-column: 2;
}

.brasserie1__title p,
.brasserie1__title h1,
.brasserie1__title h2,
.brasserie1__title h3,
.brasserie1__title h4,
.brasserie1__title h5 {
    font-size: 6.5vw;
    text-transform: uppercase;
    font-family: var(--f-family);
    line-height: 110%;
}

.brasserie1__content {
    padding: 0 6vw;
    grid-column: 2;
    grid-row: 3;
}

table th,
table caption,
table td {
    background: transparent;
    border: none;
    padding: 0.5vw;
}

.brasserie1__layout table td:first-child,
.brasserie2__layout table td:first-child {
    font-weight: var(--f-weight-sb);
    padding-left: 0;
}


.brasserie1__layout table td:last-child,
.brasserie2__layout table td:last-child {
    font-style: italic;
}

table td:last-child,
table td:last-child {
    text-align: right;
    padding-right: 0;
}

.brasserie2__layout {
    position: relative;
    height: 100%;
    overflow: hidden;
    width: 100%;
    font-size: 2.5vw;
}

.brasserie2__container {
    background: rgb(var(--c-neutral-lightest));
    width: 60%;
    height: 100%;
    margin: 0 5% 0 35%;
    text-align: center;
    padding: 6vw 0;
    align-items: center;
    display: grid;
}

.brasserie2__container__inner {
    display: grid;
    grid-template-rows: min-content 1fr;
    grid-gap: 5vw 0;
}

.brasserie2__image {
    position: absolute;
    z-index: -1;
    width: 100%;
    height: 100%;
    left: 0;
    right: 0;
    top: 0;
    bottom: 0;
    overflow: hidden;
}

.brasserie2__image * {
    object-fit: cover;
    max-width: 100%;
    max-height: 100%;
    width: 100%;
    height: 100%;
}

.brasserie2__content {
    padding: 6vw 4vw;
}

.brasserie2__content p,
.brasserie2__content h1,
.brasserie2__content h2,
.brasserie2__content h3,
.brasserie2__content h4,
.brasserie2__content h5 {
    text-align: center;
}

.brasserie2__layout table td:first-child p,
.brasserie2__layout table td:first-child {
    text-align: left;
}

.brasserie2__layout table td:last-child p,
.brasserie2__layout table td:last-child {
    text-align: right;
}

.brasserie2__title p,
.brasserie2__title h1,
.brasserie2__title h2,
.brasserie2__title h3,
.brasserie2__title h4,
.brasserie2__title h5 {
    font-size: 5vw;
    text-transform: uppercase;
    font-family: var(--f-family);
    line-height: 110%;
    color: rgb(var(--c-neutral-lightest));
    text-align: center;
}

.brasserie2__title {
    background: rgb(var(--c-neutral-dark));
    position: relative;
    padding: 5vw 6vw;
    top: 0;
    left: -2vw;
    right: -2vw;
    width: calc(100% + 4vw);
}

.brasserie2__title::after {
    content: '';
    position: absolute;
    top: 2vw;
    left: 2vw;
    right: 2vw;
    bottom: 2vw;
    border: 2px solid rgb(var(--c-neutral-lightest));
}

.empfang1__layout {
    position: relative;
    height: 100%;
    align-items: center;
    display: grid;
    overflow: hidden;
    font-size: 1.7vw;
}

.empfang1__layout::before {
    content: '';
    position: absolute;
    z-index: -1;
    height: 40%;
    top: 30%;
    left: 0;
    right: 0;
    background: rgb(var(--c-neutral-light));
}

.empfang1__container {
    display: grid;
    align-items: center;
    margin: 0 4vw;
    height: 100%;
}

.empfang1__container__inner {
    display: grid;
    height: 100%;
    align-items: center;
    grid-template-columns: 55% 45%;
    position: relative;
}

.-imageright .empfang1__container__inner {
    grid-template-columns: 45% 55%;
}

.empfang1__content {
    background: rgb(var(--c-neutral-dark));
    color: rgb(var(--c-neutral-lightest));
    height: 100%;
    padding: 6vw 3vw 6vw 4vw;
    grid-column: 2;
    z-index: 0;
    position: relative;
    align-items: center;
    display: grid;
}

.-imageright .empfang1__content {
    grid-column: 1;
    padding: 6vw 4vw 6vw 3vw;
}

.empfang1__content__inner {
    display: grid;
    align-self: center;
}

.empfang1__content p,
.empfang1__content h1,
.empfang1__content h2,
.empfang1__content h3,
.empfang1__content h4,
.empfang1__content h5 {
    color: rgb(var(--c-neutral-lightest));
}

.empfang1__content h1::after,
.empfang1__content h2.likeh1::after,
.empfang1__content h3::after,
.empfang1__content h4::after {
    background: rgb(var(--c-neutral-lightest));
}

.empfang1__image {
    position: absolute;
    z-index: 1;
    width: calc(55% + 2vw);
    height: 70%;
    left: 0;
    top: 15%;
    bottom: 0;
    overflow: hidden;
}

.-imageright .empfang1__image {
    right: 0;
    left: inherit;
}

.empfang1__image > div {
    position: relative;
}

.empfang1__image > div::after {
    content: '';
    position: absolute;
    top: 2vw;
    right: 2vw;
    bottom: 2vw;
    left: 2vw;
    border: 2px solid rgb(var(--c-neutral-lightest));
}


.empfang1__image * {
    object-fit: cover;
    max-width: 100%;
    max-height: 100%;
    width: 100%;
    height: 100%;
}

.headline.-small,
.headline.-large {
    text-align: left;
}

.glz__footer .headline.-small,
.glz__footer .headline.-large {
    text-align: center;
    margin-bottom: 1.5vw;
}

.headline.-large {
    margin-bottom: 3vw;
}

.headline.-small {
    margin-bottom: 1.5vw;
}

.frame-space-before-extra-small {
    margin-top: 1vw;
}

.frame-space-before-small {
    margin-top: 2vw;
}

.frame-space-before-medium {
    margin-top: 3vw;
}

.frame-space-before-large {
    margin-top: 4vw;
}

.frame-space-before-extra-large {
    margin-top: 5vw;
}

.frame-space-after-extra-small {
    margin-bottom: 1vw;
}

.frame-space-after-small {
    margin-bottom: 2vw;
}

.frame-space-after-medium {
    margin-bottom: 3vw;
}

.frame-space-after-large {
    margin-bottom: 4vw;
}

.frame-space-after-extra-large {
    margin-bottom: 5vw;
}

.iconfont,
.iconfontbrands,
.iconfontlight,
.iconfontsolid {
    font-size: 3vw;
}

.textbutton {
    text-transform: uppercase;
    padding: 1vw 2vw;
    margin-bottom: 0;
}

.fontsmall {
    font-size: 75%;
    display: block;
}

.headlinebig {
    font-size: 180%;
}

.headlinemedium {
    font-size: 150%;
}

.headlinesmall {
    font-size: 120%;
}

b, strong {
    font-weight: var(--f-weight-sb);
}

.glz__content h1::after,
.glz__content h2.likeh1::after,
.glz__content h3::after,
.glz__content h4::after {
    content: '';
    background: rgb(var(--c-neutral-lighter));
    display: block;
    height: 0.3vw;
    width: 7vw;
    margin: 1.5vw auto 0 auto;
}

.empfang1__content h1::after,
.empfang1__content h2.likeh1::after,
.empfang1__content h3::after,
.empfang1__content h4::after,
.brasserie1__content h1::after,
.brasserie1__content h2.likeh1::after,
.brasserie1__content h3::after,
.brasserie1__content h4::after {
    margin: 1.5vw 0 0 0;
}

.empfang1__content h1::after,
.empfang1__content h2.likeh1::after,
.empfang1__content h3::after,
.empfang1__content h4::after {
    background: rgb(var(--c-neutral-lightest));
}

.text-left {
    text-align: left !important;
}

.text-right {
    text-align: right !important;
}

.text-center {
    text-align: center !important;
}

/* PDF Layouts */

.glz__content > .frame-type-image {
    width: 100%;
    height: 100%;
    display: flex;
    align-content: center;
    justify-content: center;
    flex-wrap: wrap;
}

.glz__content > .frame-type-image * {
    width: 100%;
    height: 100%;
}

.glz__content > .frame-type-image img {
    max-height: 100vh; 
    max-width: 100vw;
}