header {
    position: fixed;
    top: 0;
    left: 50vw;
    transform: translateX(-50%);
    min-width: calc(100vw - calc(var(--size_l) * 2));
    padding: var(--size_xxl) 0;
    column-gap: var(--size_s);
    row-gap: var(--size_s);
    max-width: 120rem;
    justify-content: center;
    align-items: center;
    transition: padding 1000ms;
    z-index: 200;
}

@media only screen and (max-width: 768px) {
    body[data-template="home"] header,
    body[data-template="locations"] header,
    body[data-template="blog"] header,
    body[data-template="about"] header {padding-top: calc(var(--size_xxl) - 3rem) !important;}

    body[data-template="rooms"] header,
    body[data-template="room"] header,
    body[data-template="bar_food"] header,
    body[data-template="penthouse"] header,
    body[data-template="event"] header,
    body[data-template="faq"] header,
    body[data-template="article"] header,
    body[data-template="default"] header,
    body[data-template="error"] header {padding-top: var(--size_l) !important; padding-bottom: var(--size_l) !important;}
}

@media only screen and (min-width: 1096px) {
    header {
        min-width: unset;
        width: 100%;
        padding: var(--size_xxl) var(--size_l);
    }
}

header[data-behaviour="fixed"] {position: fixed !important;}
header[data-behaviour="scroll"] {position: absolute !important;}




/* 
LOGO
*/
#header-logo {
    display: flex;
    position: absolute;
    top: 3rem;
    order: 1;
    z-index: 10;
}

#header-logo img {
    width: auto;
    height: 2.5rem;
    opacity: 0;
    transition: opacity 500ms;
}

body[data-template="shop"] #header-logo img,
body[data-template="location"] #header-logo img,
body[data-template="rooms"][data-viewport="desktop"] #header-logo img,
body[data-template="room"][data-viewport="desktop"] #header-logo img,
body[data-template="bar_food"][data-viewport="desktop"] #header-logo img,
body[data-template="faq"][data-viewport="desktop"] #header-logo img,
body[data-template="penthouse"][data-viewport="desktop"] #header-logo img,
body[data-template="event"][data-viewport="desktop"] #header-logo img {opacity: 1;}



/* 
LINKS
*/
header .link {
    flex-grow: 1;
    width: 100%;
    min-width: 100%;
    align-self: start;
    white-space: nowrap;
    z-index: 15;
}

header .link:not(#header-logo) {
    box-shadow: 0px 4px 8px 0px rgba(0, 0, 0, 0.1);
    -webkit-box-shadow: 0px 4px 8px 0px rgba(0, 0, 0, 0.1);
    -moz-box-shadow: 0px 4px 8px 0px rgba(0, 0, 0, 0.1);
}

#header-row-flex {
    width: 100%;
    column-gap: var(--size_s);
    row-gap: var(--size_s);
    order: 3;
}

header .link.--back {order: 2;}

@media only screen and (min-width: 768px) {
    header .link:not(.--full) {
        flex: 1 0 calc((100% - calc(var(--size_s) * 3)) / 4);
        min-width: unset;
    }

    header .link.--full {align-self: center;}
}

@media only screen and (min-width: 1096px) {
    header .link:not(.--full) {flex: 1 0 calc((100% - calc(var(--size_s) * 5)) / 6);}
}

@media (hover: hover) {
    header .link {transition: 500ms;}
    #header-logo:hover {opacity: .5;}
}

header .link.--no-tran {
    flex: none !important;
    min-width: unset !important;
}