:root {
    --background_gray: #363440;
    --foreground_white: #fff;
    --foreground_black: #000;

    --gray1: #111113;
    --gray2: #ddeaf814;
    
    --primary_blue: rgb(42, 42, 233);

    --navi_outer_padding: 2.5vw;
}

body {
    margin: 0;
    background-color: var(--gray1);
    font-family: 'Spectral', serif;
}

h1,h2,h3,h4,h5,h6 {
    font-family: inherit;
}






/* navigation */

#navi {
    position: fixed;
    border-radius: 0 0 5vw 5vw;
    height: 32vw;
    left: 0;
    z-index: 2;
    overflow: hidden;
    display: flex;
    top: 0;
    background: #00000000;
    transition: 0.5s ease-in-out;
    transition-property: height, background, border-radius, backdrop-filter;
    
}

#navi_container {
    height: 100vh;
    height: 100dvh;
    width: 100vw;
    position: relative;
}

.navi_active #navi {
    height: 120vh;
    height: 120dvh;
    border-radius: 0;
}


/* navigation: title bar */

#header {
    z-index: 3;
    width: 100%;
}

.navi_active #header {

}

#header_bar {
    display: flex;
    height: 30vw;
    width: calc(100% - 15vw);
    justify-content: space-between;
    padding: 1.5vw 7.5vw 0 7.5vw;
}

#header #logo {
    position: relative;
    top: 5vw;
    height: calc(100% - 10vw);
    
}

#header #logo img {
    height: 100%;
    filter: brightness(1) invert(0) drop-shadow(2px 2px 10px rgba(50,50,50, 0.5));
    transition: filter 0.35s;
    transition-delay: 0.15s;
}

.navi_active #navi, .scroll_past #navi {
    /*background: #36344080;*/
    background: #1f1f1f90;
    box-shadow: 0px 5px 100px rgba(29, 29, 91, 0.58);
    backdrop-filter: blur(40px);
    
    
    /*border: 2px white solid;
    box-shadow: 1px 1px 100px rgba(0,0,0,0.3);
    left: -2px;
    top: -2px;*/
}

body:not(:is(.navi_active, .scroll_past)) #header #logo img {
    filter: brightness(0) invert(1) drop-shadow(2px 2px 10px rgba(50,50,50, 0.5));
}

#header #hamburguesa {
    font-size: 3rem;
}

/* navigation items */
#navi #navigation {
    width: calc(100% - 15vw);
    height: calc(100vh - 70vw);
    height: calc(100dvh - 70vw);
    margin-left: 7.5vw;
    overflow-x: hidden;
    overflow-y: scroll;
    border-radius: 0 0 5vw 5vw;
}

#navi #navigation #items {
    position: relative;
}

#navi #navigation .item {
    padding: 2.5vw 0;
    font-size: 3rem;
    color: var(--foreground_black);
    left: 5rem;
    opacity: 0;
    position: relative;
    transition: 0.5s;
    transition-property: left, opacity;
}

#navi #navigation #items :nth-child(2) .item { transition-delay: 0.05s; }
#navi #navigation #items :nth-child(3) .item { transition-delay: 0.07s; }
#navi #navigation #items :nth-child(4) .item { transition-delay: 0.085s; }
#navi #navigation #items :nth-child(5) .item { transition-delay: 0.1s; }
#navi #navigation #items :nth-child(6) .item { transition-delay: 0.105s; }


.navi_active #navi #navigation .item {
    left: 0;
    opacity: 100%
}

#navi a {
    text-decoration: none;
    color: initial;
}

#navi #navigation #items .item p {
    margin: 0;
    color: var(--foreground_white);
    font-size: 4rem;
    width: calc(100% - 15vw);
}

#navi #navigation .item .shorttext {
    display: none;
}

/*#giftcards {
    display: flex;
    justify-content: space-between;
}

#giftcards p {
    display: inline;
}*/

#navi #navigation #extra_items {
    width: calc(100% - 15vw);
    position: absolute;
    left: 7.5vw;
    bottom: 7.5vw;
}

#navi #navigation #booknow.item {
    width: 100%;
    text-align: center;
    background-color: var(--primary_blue);
    border-radius: 10vw;
    left: 0;
    box-shadow: 2px 2px 10px rgba(50,50,50, 0.5);
}

#navi #navigation #booknow p {
    color: var(--foreground_white);
    font-weight: bold;
    margin: 0;
    font-size: 4rem;
}

#navi #socials {
    display: flex;
    justify-content: center;
    margin-top: 7.5vw;
}

#navi #socials img {
    height: 6rem;
    margin: 0 3vw;
}








/* body */

body.navi_active {
    height: 99dvh;
    overflow: hidden;
}

.block {
    padding: 4vw 8vw;
}

.block p  {
    margin: 1rem 0;
}

.block h1, .block h2, .block h3, .block h4, .block h5, .block h6 {
    margin: 0;
}

#main {
    font-size: 3rem;
    padding: 6vw 0 12vw 0;
    color: var(--foreground_white);
    text-align: center;
    position: relative;
}

#main a {
    color: var(--foreground_white);
    text-decoration: none;
}

#headerbg {
    background: white;
    height: 15rem;
    width: 100%;
    position: fixed;
    top: 0;
    z-index: -1;
}

#book_button {
    color: var(--foreground_white);
    text-align: center;
    background-color: var(--primary_blue);
    border-radius: 10vw;
    font-size: 3rem;
    padding: 0.5rem 1.5rem;
    font-weight: bold;
    margin: 3rem 0;
}

#maize_difference {
    padding: 0 8vw 10vw 8vw;
    text-align: justify;

}
#maize_difference span {
    font-weight: bold;
}

#maize_difference span.tagline {
    font-size: 1.2em;
}

#the_menu {
    background: var(--gray2);
    border-radius: 5vw;
    text-align: justify;
    padding: 6vw 8vw;
}

#the_menu h3 {
    margin: 2rem 0 2rem 0;
}

#the_menu .buttons {
    display: flex;
    gap: 2rem;
    margin-bottom: 3rem;
}

#the_menu button {
    font-size: 3rem;
    flex-grow: 1;
    font-family: inherit;
    background: none;
    text-align: center;
    border-radius: 10vw;
    font-size: 3rem;
    padding: 0.5rem 1.5rem;
    font-weight: bold;
    color: white;
    border: 0.3rem white solid;
    transition: 0.5s ease-in-out;
    cursor: pointer;
}

#the_menu .text_container {
    position: relative;
}

#the_menu .text_container p {
    opacity: 0;
    transition: 0.5s ease-in-out;
}

#the_menu .text_container p:not(:first-child) {
    margin: 0;
    position: absolute;
    top: 0;
    left: 0;
}

#the_menu.tm4_selected button.tm4, #the_menu.tm8_selected button.tm8 {
    background: white;
    color: var(--gray1);
}

#the_menu.tm4_selected .text_container p.tm4, #the_menu.tm8_selected .text_container p.tm8 {
    opacity: 1;
}

#the_menu .read_more:hover .arrow{
    left: 1.4rem;
}

#the_menu .arrow {
    font-size: 5rem;
    position: relative;
    top: 1.5rem;
    left: 0.4rem;
    transition: 0.25s ease-in-out;
}

#contact {
    text-align: left;
    background-color: var(--gray1);
    padding: 10vw 8vw;
}

#contact p {
    line-height: 1.5;
}


/* hero image */

#hero {
    overflow: hidden;
    width: 100vw;
    height: 128vw;
    border-radius: 0 0 5vw 5vw;
    box-shadow: 0px 5px 100px rgb(29, 29, 91);
}

#hero img {
    position: relative;
    width: 100%;
    top: 0;
}








/* hamburguesa */

.hamburger {
  padding: 15px 15px;
  display: inline-block;
  cursor: pointer;
  filter: drop-shadow(2px 2px 10px rgba(50,50,50, 0.5));
  transition-property: opacity, filter;
  transition-duration: 0.15s;
  transition-timing-function: linear;
  font: inherit;
  color: inherit;
  text-transform: none;
  background-color: transparent;
  border: 0;
  margin: 0;
  overflow: visible; }
  .hamburger:hover {
    opacity: 0.7; }
  .hamburger.is-active:hover {
    opacity: 0.7; }
  .hamburger.is-active .hamburger-inner,
  .hamburger.is-active .hamburger-inner::before,
  .hamburger.is-active .hamburger-inner::after {
    background-color: #000; }

.hamburger-box {
  width: 5rem;
  height: 3rem;
  display: inline-block;
  position: relative; }

.hamburger-inner {
  display: block;
  top: 50%;
  margin-top: -2px; }
  .hamburger-inner, .hamburger-inner::before, .hamburger-inner::after {
    width: 5rem;
    height: 0.5rem;
    background-color: var(--foreground_white);
    border-radius: 0.5rem;
    position: absolute;
    transition-property: transform;
    transition-duration: 0.15s;
    transition-timing-function: ease; }
  .hamburger-inner::before, .hamburger-inner::after {
    content: "";
    display: block; }
  .hamburger-inner::before {
    top: -1.25rem; }
  .hamburger-inner::after {
    bottom: -1.25rem; }


.hamburger--squeeze .hamburger-inner {
  transition-duration: 0.075s;
  transition-timing-function: cubic-bezier(0.55, 0.055, 0.675, 0.19); }
  .hamburger--squeeze .hamburger-inner::before {
    transition: top 0.075s 0.12s ease, opacity 0.075s ease; }
  .hamburger--squeeze .hamburger-inner::after {
    transition: bottom 0.075s 0.12s ease, transform 0.075s cubic-bezier(0.55, 0.055, 0.675, 0.19); }

.navi_active .hamburger--squeeze .hamburger-inner {
  transform: rotate(45deg);
  transition-delay: 0.12s;
  transition-timing-function: cubic-bezier(0.215, 0.61, 0.355, 1); }
.navi_active  .hamburger--squeeze .hamburger-inner::before {
    top: 0;
    opacity: 0;
    transition: top 0.075s ease, opacity 0.075s 0.12s ease; }
.navi_active  .hamburger--squeeze .hamburger-inner::after {
    bottom: 0;
    transform: rotate(-90deg);
    transition: bottom 0.075s ease, transform 0.075s 0.12s cubic-bezier(0.215, 0.61, 0.355, 1); }
