/* 
.josefin-slab-<uniquifier> {
  font-family: "Josefin Slab", serif;
  font-optical-sizing: auto;
  font-weight: <weight>;
  font-style: normal;
}
*/

/*
.josefin-sans-<uniquifier> {
  font-family: "Josefin Sans", sans-serif;
  font-optical-sizing: auto;
  font-weight: <weight>;
  font-style: normal;
}
*/

/*
.roboto-<uniquifier> {
  font-family: "Roboto", sans-serif;
  font-optical-sizing: auto;
  font-weight: <weight>;
  font-style: normal;
  font-variation-settings:
    "wdth" 100;
}
*/

/* Color Palette:
    #ffffff White (text)
    #ebebeb Light Grey (light backgrounds, text)
    #bebebe Medium Grey (mid backgrounds)
    #525252 Dark Grey (dark backgrounds)
    #000000 Black (text)
    #0a8b7a Green (Buttons)
*/
body {
    position: relative;
    margin: 0 auto;
    background-color: #ebebeb;
}
.content-wrapper {
    width: 1440px;
    margin: 0 auto;
}

#menu-content-wrapper {
    background-image: url("./img/Interior_Menu_BG.jpg");
    background-size: contain;
    background-repeat: repeat-y;
}

header {
    position: relative;
    width: 100%;
    height: 373px;
    background-image: url("./img/Header_BG.jpg");
    background-size: contain;
} 
#masthead {
    position: absolute;
    top: 195px;
    left: 660px;
}

header nav {
    position: absolute;
    width: 1440px;
    background-color: #525252;
    margin: 0;
    bottom: 0;
}
ul {
    text-align: center;
    list-style-type: none;
}
li a {
    font-family: "josefin sans";
    font-size: 24px;
}

header li {
    display: inline-block;
    margin: 0;
    width: 19%;
}


h1 {
    font-family: "josefin slab", serif;

}
h2 {
    font-family: "Josefin Slab", serif;
    font-weight: bold;
    font-size: 60px;
}
h3 {
    font-family: "josefin sans", sans-serif;
    font-size: 36px;
}
h4 {
    font-family: "josefin slab", serif;
    font-weight: 300;
    font-size: 24px;
}
.navbar h4 {
    margin: 0;
}
h5 {
    font-family: "Roboto", sans-serif;
    font-size: 20px;
    font-weight: 500;
    padding: 0px;
    margin: 0px;
}

p {
    font-family: "Roboto", sans-serif;
    font-size: 16px;
    font-weight: 300;
}

a {
    text-decoration: none;
    color: #ffffff;
}

/* ABOUT BLOCK STYLE*/

#about_block {
    position: relative;
    margin: 48px 0 24px;
    height: 600px;
    background-image: url("./img/about_block_BG.jpg");
    background-size: contain;
}
#about_card {
    position: absolute;
    width: 489px;
    text-align: center;
    height: 100%;
    left: 119px;
    background-color: #ebebebd9;
}
#about_text {
    font-family: "josefin sans", sans-serif;
    font-size: 32px;
    margin-top: 84px;
    color: #000000;
}
.button {
    background-color: #0a8b7a;
    color: #ffffff;
    border-radius: 10px;
    padding: 15px 25px;
    width: fit-content;
}
#about_button {
    margin: 84px auto;
    
}

/* GALLERY BLOCK STYLE*/

#gallery_block {
    position: relative;
    background-color: #525252;
    height: 496px;
    margin: 48px 0;
    display: flex;
    align-items: center;
}
.carousel-container {
    position: relative;
    overflow-x: auto;
    scroll-behavior: smooth;
    max-width: 100%;
  }
  
  .carousel-track {
    display: flex;
    gap: 48px;
    scroll-snap-type: x mandatory;
    padding: 24px 0;
  }
  
  .carousel-track img {
    width: 400px;
    height: 400px;
    flex: 0 0 auto;
    object-fit: cover;
    box-shadow: 0 4px 12px;
    margin: 8px 0;
  }
  
  .arrow {
    position: absolute;
    top: 50%;
    transform: translateY(-50%);
    font-size: 4rem;
    color: #ebebeb80;
    border: none;
    cursor: pointer;
    z-index: 10;
    padding: 0;
    background: none;
    text-shadow: 0 0 4px rgba(0, 0, 0, 0.5);
    transform: translateY(-50%);
    transform-origin: center;
    transition: transform 0.2s ease, color 0.2s ease, text-shadow 0.2s ease;
  }
  .arrow:hover {
    color: #ebebebe6;
    text-shadow: 1px 1px 6px rgba(0, 0, 0, 0.7);
    transform: translateY(-50%) scale(1.05);
  }
  
  .arrow.left {
    left: 10px;
  }
  
  .arrow.right {
    right: 10px;
  }
  
  .carousel-spacer {
    flex: 0 0 calc(100% - 964px); 
  }

/* UI CARD BLOCK STYLE*/

#ui_card_block {
    height: 554px;
    background-image: url("./img/UI_Card_Block_BG.jpg");
    background-size: contain;
    display: flex;
    flex-direction: row;
    align-items: center;
}
.ui_card {
    position: relative;
    margin: auto;
    background-color: #d9d9d9e6;
    border-radius: 10px;
    height: 486px;
    width: 464px;
}
#location_card h3 {
    font-size: 28px;
}
#map {
    height: 309.13px;
    width: 414px;
    margin: 25px 25px 0px;
    background-color: #525252;
}
#name_address {
    margin-left: 25px;
}
#directions_button {
    position: absolute;
    color: #ffffff;
    right: 25px;
    bottom: 30px;
    text-align: center;
}

.hours {
    position: absolute;
    width: 127px;
    text-align: center;
}
.hours1 {
    top: 45px;
    left: 72px;
}
#brunch {
    top: 45px;
    right: 72px;
}
#happy_hour {
    bottom: 67px;
    right: 72px;
}
#hours_card h4{
    border-bottom: #000000 solid 2px;
}

/* PRESS BLOCK STYLE*/

#press_block {
    position: relative;
    height: 600px;
    margin: 48px 0;
    background-image: url("./img/Press_Feature_Block_BG.jpg");
    background-size: contain;
}
#press_title {
    position: absolute;
    background-color: #d9d9d9e6;
    width: 100%;
    height: 192px;
    top: 204px;
    color: #525252;
}
#name1 {
    position: absolute;
    left: 560px;
    top: -24px;
}
#name2 {
    position: absolute;
    left: 715px;
    top: 48px;
}
#title {
    position: absolute;
    top: 70px;
    left: 660px;
}
.press_link {
    position: absolute;
    text-align: center;
    width: 360px;
}
#press_link_1 {
    left: 83px;
    top: 57px;
}
#press_link_2 {
    right: 83px;
    top: 57px;
}
#press_link_3 {
   right: 83px;
   bottom: 57px;
}
#press_link_4 {
    left: 83px;
    bottom: 57px;
}

/* FOOTER STYLE */

footer {
    position: relative;
    bottom: 0;
    height: 450px;
    background-color: #525252;
    color: #ffffff;
}
#info_links {
    position: absolute;
    text-align: center;
    padding: 85px;
}
#socials {
    padding: 24px 0;
}
#socials a {
    padding: 0 48px;
    
}
footer nav {
    padding: 25px 0;

}
footer li {
    padding: 25px 0;
}
#hours_footer h4{
    border-bottom: #ffffff solid 2px;
}
#hours_footer {
    position: absolute;
    right: 40px;
    top: -10px;
    background: none;
    margin: auto;
    width: 464px;
    height: 450px;
}
#footer_HH {
    right: 72px;
    bottom: 32px;
}

/* MENU PAGE STYLE*/

.scroll-to-top {
    position: fixed;
    bottom: 24px;
    left: 9px;
    background-color: #ebebeb33;
    color: white;
    padding: 12px 16px;
    border-radius: 50%;
    text-align: center;
    font-size: 32px;
    text-decoration: none;
    z-index: 1000;
    cursor: pointer;
    transition: opacity 0.3s ease;
  }
  
  .scroll-to-top:hover {
    background-color: #333;
  }
html {
    scroll-behavior: smooth;
}
#subnav li {
    display: inline-block;
    width: 19%;
}
#subnav a {
    color: #000000;
}

#subnav {
    position: absolute;
    top: 400px;
    width: 1440px;
    background-color: #ebebeb80;
    
}

#main_menu_box {
    position: relative;
    margin: 108px auto;
    background-color: #525252f2;
    width: 1228px;
    padding: 24px;
    color: #ffffff;
}

.main-menu-title {
    position: relative;
    z-index: 1;
    padding: 12px 0 0;
    background: none;
    text-align: center;
    color: #525252;
  }
  
  .main-menu-title::before {
    content: '';
    position: absolute;
    top: 0;
    left: 50%;
    width: 1440px;
    height: 100%;
    background-color: #ebebeb;
    transform: translateX(-50%);
    z-index: -1;
  }

.menu-title {
    display: flex;
    justify-content: space-between;
    align-items: center;
    position: relative;
    padding: 0 1rem;
}

.menu-title .center {
    position: absolute;
    left: 50%;
    transform: translateX(-50%);
    white-space: nowrap;
}
.section-title {
    text-align: center;
}
.section-title h3 {
    margin: 48px 0 0;
}
#toppings h4 {
    margin: 0;
}
#toppings {
    padding: 0 24px;
}
#toppings li {
    display: inline-block;
    width: 13%;
}

.menu-grid {
    width: 100%;
    padding: 0 12px;
    display: grid;
    grid-template-columns: repeat(3, 1fr);
    row-gap: 24px;
}
#single-column-grid {
    grid-template-columns: 1fr;
    margin: 0;
    width: 372px;
}

.item-title {
    display: flex;
    justify-content: space-between;
    align-items: center;
  }
  
.item-title h4 {
    flex: 1;
    display: flex;
    justify-content: space-between;
    margin: 0;
    width: 372px;
}
  
.allergen-warning p {
    font-size: 14px;
    font-style: italic;
    font-weight: 100;
}
.menu-row {
    display: flex;
    gap: 12px;
}
.item-row {
    display: flex;
    justify-content: space-between;
    align-items: baseline;
    margin-top: 0.25rem;
  }
  
  .item-desc p {
    margin: 0;
  }
  
  .price h4 {
    margin: 0;
  }
  .flex-wrapper {
    display: flex;
    gap: 24px;
    margin: 0 auto ;
    
    
  }
  .column {
    margin: 0 auto;
    display: flex;
    flex-direction: column;
    gap: 64px;
  }