@import url('https://fonts.googleapis.com/css2?family=Fugaz+One&family=Nunito&display=swap');

/* || RESET */

*,
*::after,
*::before {
    margin: 0;
    padding: 0;
    box-sizing: border-box;
}

img {
     display: block;
     max-width: 100%;
     height: auto;
}

input, button, textarea {
     font: inherit;
}

/* || VARIABLES */

:root {
     /* FONTS */
     --FF: "Nunito", sans-serif;
     --FF-HEADINGS: "Fugaz One", cursive;
     --FS: clamp(1rem, 2..2vh, 1.5rem);

     /* COLORS */
     --BGCOLOR-FADE: rgb(252, 220, 160);
     --BGCOLOR: orange;
     --BGIMAGE: linear-gradient(to bottom, var(--BGCOLOR), var(--BGCOLOR-FADE));
     --BODY-BGCOLOR: #fff;
     --BORDER-COLOR: #333;
     --BUTTON-COLOR: #FFF;
     --FONT-COLOR: #000;
     --HEADER-COLOR: #FFF;
     --HEADERS-BGCOLOR: #000;
     --HERO-BGCOLOR: rgb(51, 178, 51, 0.75);
     --HERO-COLOR: #FFF;
     --HIGHLIGHT-COLOR:rgb(51,178,51);
     --LINK-ACTIVE: orange;
     --LINK-COLOR: #000;
     --LINK-HOVER: hsla(0, 0%, 0%, 0.6);
     --NAV-BGCOLOR: #FFF;

     /* BORDERS */
     --BORDERS: 1px solid var(--BORDER-COLOR);
     --BORDER-Radius: 15px;

     /* STANDARD PADDING */
     --PADDING-TB: 0.25EM;
     --PADDING-SIDE: 2.5%;

     /* STANDARD MARGIN */
     --MARGIN: clamp(1em, 2,5vh, 1.5em) 0;
}

/*  */

@media (prefers-color-scheme: dark) {
     :root {
          --BGCOLOR-FADE: gray;
          --BGCOLOR: #OOO;
          --BODY-BGCOLOR: #333;
          --BORDER-COLOR: whitesmoke;
          --BUTTON-COLOR: #000;
          --FONT-COLOR: whitesmoke;
          --HEADER-COLOR: whitesmoke;
          --HERO-COLOR: #333;
          --HIGHLIGHT-COLOR: whitesmoke;
          --LINK-ACTIVE: rgb(252, 200, 103);
          --LINK-COLOR: whitesmoke;
          --LINK-HOVER: orange;
          --NAV-BGCOLOR: rgb(20, 20, 20);
     }
}

/* || UTILITY CLASSES */

.offscreen {
     position:absolute;
     left: -10000px;
}

.nowrap {
     white-space: nowrap;
}

.center {
     text-align: center;
}

/* || GENERAL STYLES */

html {
     scroll-behavior: smooth;
     font-size: var(--FS);
     font-family: var(--FF);
     background-color: var(--BGCOLOR);
     background-image: var(--BGIMAGE);
}

body {
     background-color: var(--BODY-BGCOLOR);
     color: var(--FONT-COLOR);
     min-height: 100vh;
     max-width: 800px;
     margin: 0 auto;
     border-left: var(--BORDERS);
     border-right: var(--BORDERS);
     box-shadow: 0 0 10px var(--BORDER-COLOR);
}

h1,
h2,
h3 {
     font-family: var(--FF-HEADINGS);
     letter-spacing: 0.1em;
}

h2, h3 {
     margin-bottom: 1em;
     color: var(--HIGHLIGHT-COLOR);
}

p {
     line-height: 1.5;
}

a:any-link {
     color: var(--LINK-COLOR) ;
}

a:hover,
a:focus-visible {
     color: var(--LINK-HOVER);
}

a:active {
     color: var(--LINK-ACTIVE);
}

/* || HEADER */

.header {
     position: sticky;
     top: 0;
     z-index: 1;
}

.header__h1 {
     text-align: center;
     background-color: var(--HEADERS-BGCOLOR);
     color: var(--HEADER-COLOR);
     padding: var(--PADDING-TB) var(--PADDING-SIDE);
}

.header__nav {
     background-color: var(--NAV-BGCOLOR);
     border-bottom: var(--BORDERS);
     font-weight: bold;
     box-shadow: 0 6px 5px -5px var(--BORDER-COLOR);
}

.header__ul {
     padding: var(--PADDING-TB) var(--PADDING-SIDE);
     list-style-type: none;
     display: flex;
     justify-content: space-between;
     gap: 1rem;
}

/* || HERO */

.hero {
     position: relative;
}

.hero__h2 {
     background-color: var(--HERO-BGCOLOR);
     color: var(--HERO-COLOR);
     padding: 0.25em 0.5em;
     letter-spacing: 0.1rem;
     text-shadow: 2px 2px 5px var(--BORDER-COLOR);
     position: absolute;
     left: 20px;
     top: -100px;
     animation: showWelcome 0.5s ease-in-out 1s forwards;

}

@keyframes showWelcome {
     0% {
          top: -20px;
          transform: skew(0deg, -5deg) scaleY(0);
     }
     80% {
          top: 30px;
          transform: skew(10deg, -5deg) scaleY(1.2);
     }
     100% {
          top: 20px;
          transform: skew(-10deg, -5deg) scaleY(1);
     }
}

/* || FOOTER */

.footer {
     position: sticky;
     bottom: 0;
     background-color: var(--HEADERS-BGCOLOR);
     color: var(--HEADER-COLOR);
     padding: var(--PADDING-TB) var(--PADDING-SIDE);
     text-align: center;
}

/* || MAIN */

.main {
     padding: var(--PADDING-TB) var(--PADDING-SIDE);
}

.main__article {
     scroll-margin-top: 6.5rem;
     margin: var(--MARGIN);
}

.main__article:first-child {
     margin-top: 1em;
}

.main__article:last-child {
     min-height: calc(100vh - 20rem);
}

/* || ABOUT */

.about__trivia {
     margin: var(--MARGIN);
}

.about__trivia-answer {
     margin-top: 1em;
}

/* || CONTACT */

.contact__h2{
     margin: 0;
}

.contact_-fieldset {
     border: none;
}

.contact__p {
     margin: 1em 0;
}

.contact__label {
     display: block;
     font-weight: bold;
}

.contact__input,
.contact__textarea {
     padding: 0.5em;
     border-radius: var(--BORDER-Radius);
     border-width: 2px;
     width: 100%;
}

.contact__button {
     padding: 0.5em;
     border-radius: var(--BORDER-Radius);
     background-color: var(--HIGHLIGHT-COLOR);
     color: var(--BUTTON-COLOR);
     font-weight: bold;

}

/* || MENU */

thead, tbody, tfoot, tr {
     display: contents;
}

.menu__container {
     display: grid;
     grid-template-columns: repeat(3, 1fr);
     grid-template-areas: 
          "hd1 hd2 hd3"
          "cr cr1 cr1p"
          "cr cr2 cr2p"
          "cr cr3 cr3p"
          "sf sf1 sf1p"
          "sf sf2 sf2p"
          "sf sf3 sf3p"
          "cs cs cs";
     gap: 0.1em;
     margin-bottom: 1em;
}

.menu__cr {
     grid-area: cr;
}

.menu__sf {
     grid-area: sf;
}

.menu__cs {
     grid-area: cs;
}

.menu__cr,
.menu__sf,
.menu__cs,
.menu__header {
     color: var(--HIGHLIGHT-COLOR);
     font-weight: bold;
     height: 100%;
     display: grid;
     place-content: center;
}

.menu__header {
     border-bottom: var(--BORDERS);
}

.menu__header,
.menu__item {
     width: 100%;
     padding: 1em;
     border: medium ridge var(--BORDER-COLOR);
}

.menu__item {
     display: grid;
     place-content: center;
}

thead th:first-child {
     border-top-left-radius: var(--BORDER-Radius);
}

thead th:last-child {
     border-top-right-radius: var(--BORDER-Radius);
}

tfoot td {
     border-bottom-left-radius: var(--BORDER-Radius);
     border-bottom-right-radius: var(--BORDER-Radius);
}

@media screen and (min-width: 567px) {
     .header__h1::before {
          content: '🌮 ';
     }

     .header__h1::after {
          content: ' 🌮';
     }

     .menu__header,
     .menu__cr,
     .menu__sf,
     .menu__cs,{
          font-size: 125%;
     }
}