span, p, a {
    color: #f8f9fa;

    /* padding: 0;
    margin: 0; */
}

hr {
    /* margin: 0.25em 0; */
    margin: 0;
    padding: 0;

    border: none;
    border-bottom: 1px solid #000;
}

.symbol {
    font-size: 2em;

    color: #f8f9fa;

    user-select: none;

    cursor: pointer;

    /* margin: -0.25em 0; */
}

.dot {
    height: 1em;
    width: 1em;

    border-radius: 50%;

    background-color: #fff;
}

.item-add-row {
    display: flex;
}

.item-add-fill {
    flex-grow: 1;
}

select {
    font-family: font_body;

    background-color: rgba(0, 0, 0, 0);
    color: #fff;

    border: 1px solid #fff;

    font-size: 1em;
    padding: 0.5em;
}

select * {
    background-color: #000;
}

.right-button-row {
    display: flex;
    justify-content: right;
}

.xl-text {
    font-size: 4em;
}

.top-border {
    border-top: 1px solid #adb5bd;
}

.bottom-border {
    border-bottom: 1px solid #adb5bd;
}

.ordering-container {
    height: calc(100% - 6em);
    width: 100%;

    display: flex;
    position: fixed;

    z-index: 2;

    padding-top: 1em;
    background-color:  #121215;
}

.ordering-menu {
    flex-grow: 1;

    padding: 4em 6em 8em 6em;

    overflow-y: scroll;
    /* scrollbar-width: none; */
}

.slideshow {
    width: 100%;

    margin-bottom: 3em;

    display: flex;
    flex-direction: column;
}

.slideshow-presentation {
    width: 100%;

    display: flex;
}

.slideshow-arrow-container {
    cursor: pointer;

    background-color: #e03131;
    color: white;

    padding: 1em;

    display: flex;
    justify-content: center;
    align-items: center;

    transition: 0.25s;
}

.slideshow-arrow-container:hover {
    background-color: var(--orange);
}

.slideshow-imgs {
    height: 100%;

    flex-grow: 1;

    display: flex;
    justify-content: center;
    align-items: center;
}

.slideshow-imgs img {
    width: 100%;

    display: none;
}

.active-slideshow-img {
    display: flex !important;
}

.slideshow-dots {
    height: 2em;
    width: 100%;

    margin-top: 0.5em;

    gap: 0.5em;

    display: flex;
    justify-content: center;
    align-items: center;
}

.active-slideshow-dot {
    background-color: #f00;
}

.caption-category-row {
    display: flex;

    gap: 2em;

    flex-wrap: wrap;
}

.caption-category-row .caption-category {
    flex-shrink: 0;
}

.caption-category {
    display: flex;
    flex-direction: column;

    width: calc(100% / 3 - (4em / 3));
    min-width: 12em;

    flex-grow: 1;

    background-color: #c92a2a;

    transition: transform ease-in 0.15s;

    cursor: pointer;

    text-decoration: none;
}

.caption-category:hover {
    transform: scale(1.05);
}

.caption-category img {
    width: 100%;
    object-fit: cover;
    aspect-ratio: 4/3;
}

.caption-category span {
    text-align: center;
    width: 100%;
    display: block;

    padding: 0.25em;
    margin: 0;

    font-size: 2em;

    user-select: none;

    box-sizing: border-box;
}

.order-sidebar {
    width: 22em;

    background-color:  #2f2f3b;

    flex-shrink: 0;

    display: flex;
    flex-direction: column;

    user-select: none;
}

.sidebar-info-symbol {
    width: 2em;
}

#sidebar-open {
    display: none;
}

.sidebar-info-container {
    width: 100%;

    padding: 1em;

    box-sizing: border-box;

    display: flex;
    justify-content: center;
    align-items: center;
}

.sidebar-list-items {
    padding: 1em;

    display: flex;
    flex-direction: column;

    gap: 1em;

    flex-grow: 1;

    overflow-y: scroll;
    scrollbar-width: none;
}

.order-item-box {
    display: flex;

    background-color: #2f2f3b;

    padding: 1em;
}

.order-main-item-info {
    display: flex;
    flex-direction: column;
    justify-content: center;

    flex-grow: 1;

    gap: 0.5em;
}

.order-secondary-item-info {
    display: flex;
    justify-content: center;
    align-items: center;

    gap: 1em;
}

.flex-menu-grid {
    display: flex;
    flex-wrap: wrap;

    gap: 1em;
}

.menu-item {
    display: flex;
    flex-direction: column;

    gap: 0.5em;

    background-color: #1f1f27;

    padding: 0.75em;
    font-size: 1.5em;

    width: calc(50% - 0.5em);
    min-width: 12em;

    flex-grow: 1;

    box-sizing: border-box;
}

.item-add {
    cursor: pointer;

    flex-shrink: 0;

    align-self: center;
}

.menu-item-subtitle {
  color:var(--text-red);
  font-size: 1.5em;
  font-family: font_sports_title;
}

.menu-category-title-row {
    display: flex;

    align-items: center;

    padding: 6em 0 2em 0;
}

.menu-category-title {
    font-family: font_sports_title;

    max-width: 75%;

    font-size: 4em;
}

.menu-grid {
    display: grid;
    grid-template-rows: repeat(3, 3fr);
    grid-template-columns: repeat(2, 1fr);
    grid-gap: 1em;
    /* margin-left: 3em;
    margin-right: 3em; */
  }
  .menu-grid > div {
    display: flex;
    flex-direction: column;
    gap: 0.25em;

    background-color: #1f1f27;
    color: white;
    font-size: 1.5em;
    padding: 0.75em;
    grid-column: span 1;
  }

  .menu-grid .right-button-row {
    flex-grow: 1;
    align-items: end;
  }

.menu-grid > .grid-wide { grid-column: span 2; text-align: center; height: 50%;}

#wings > div > div { grid-column: span 2;}

.back-to-top {
    height: 4em;

    cursor: pointer;
}

#modal-container {
    display: none;

    width: 100%;
    height: 100%;

    position: fixed;
    z-index: 9999; /* TODO: please change this */

    /* display: flex; */
    align-items: center;
    justify-content: center;

    background-color: rgba(0, 0, 0, 0.6);
}

#order-modal {
    display: none;

    width: 20em;

    padding: 1em;

    background-color: #f8f9fa;

    border-radius: 1em;

    flex-direction: column;
}

/* #order-modal * {
    color: #212529;
} */

input {
    width: 100%;

    font-family: font_body;

    padding: 0.5em 0.75em;

    font-size: 1.5em;

    box-sizing: border-box;
    border-radius: 9999px;
    border: 1px solid #000;
}

input:focus {
    outline: none;
}

.order-modal-header {
    display: flex;

    gap: 1em;
}

#close-checkout {
    cursor: pointer;
}

#receipt-item-area {
    display: flex;
    flex-direction: column;

    gap: 1em;

    max-height: 6em;
    overflow-y: scroll;
}

.receipt-item {
    display: flex;
    flex-direction: column;

    gap: 0.5em;

    color: #212529;
}

.switcher-row {
    display: flex;

    width: 100%;

    background-color: #ced4da;

    border-radius: 9999px;

    user-select: none;

    cursor: pointer;
}

.switcher-option {
    display: flex;
    align-items: center;
    justify-content: center;

    padding: 1em;

    flex-grow: 1;

    border-radius: 9999px;
}

.selected-switcher-option {
    background-color: #c92a2a;
}

.selected-switcher-option * {
    color: #f8f9fa !important;
}

.switcher-option * {
    display: flex;

    color: #212529;
}

#delivery-address {
    display: none;
}

.black {
    color: #212529 !important;
}

#sidebar-opener {
    width: 100%;
    
    padding: 1em;

    box-sizing: border-box;

    background-color: #2f2f3b;

    position: fixed;
    bottom: 0;

    display: none;

    z-index: 5;

    border-top: 1px solid #adb5bd;
}

.pay-buttons {
    display: flex;
    flex-direction: column;

    gap: 1em;

    width: 100%;

    padding: 0 1em;

    box-sizing: border-box;
}

.circle-btn {
    padding: 0.75em;

    color: #f8f9fa;
    background-color: #c92a2a;

    border-radius: 9999px;

    user-select: none;
    text-decoration: none;
    text-transform: uppercase;
    white-space: nowrap;

    cursor: pointer;

    transition: 0.3s;
}

.circle-btn:hover{
    background-color:#ee8730;
    text-decoration: none;

    border: 0;

    transform: scale(1.05);
    transition: 0.4s;
}

.row-center {
    justify-content: center;
}

.sm-symbol {
    width: 1em;
}

.md-symbol {
    width: 2em;

    align-self: center;
}

.lg-symbol {
    width: 3em;
}

.sm-bm {
    margin-bottom: 0.5em;
}

.md-bm {
    margin-bottom: 1em;
}

.lg-bm {
    margin-bottom: 1.5em;
}

.v-center {
    display: flex;
    align-items: center;
}

.right-columns {
    width: 100%;

    display: flex;
    flex-direction: column;
    align-items: end;
}

#sidebar-close {
    display: none;
}

@media only screen and (min-device-width : 320px) and (max-device-width : 480px) {
    .order-sidebar {
        display: none;

        width: 100%;
    }

    .ordering-menu {
        padding: 1em;
    }

    .slideshow-arrow-container {
        display: none;
    }

    /* .slideshow-dots {
        display: none;
    } */

    .menu-category-title {
        font-size: 2.5em;
    }

    #sidebar-opener {
        display: flex;
    }

    #sidebar-close {
        display: block;
    }

    #placeholder-close {
        display: none;
    }

    #order-modal {
        width: 80%;
    }
}

@media only screen and (max-width: 80em) {
    .slideshow-arrow-container {
        display: none;
    }
}