.elementor-kit-7{--e-global-color-primary:#FCBD4C;--e-global-color-secondary:#54595F;--e-global-color-text:#C3C3C3;--e-global-color-accent:#61CE70;--e-global-color-43143b1:#0E161A;--e-global-color-44e980c:#0B1011;--e-global-color-aee498c:#C3C3C3;--e-global-color-5e098a7:#FFFFFF;--e-global-color-13fabf1:#0F1D22;--e-global-color-16e8685:#0F1D22DB;--e-global-color-cc63a55:#FCBD4C6B;--e-global-typography-primary-font-family:"Roboto";--e-global-typography-primary-font-weight:600;--e-global-typography-secondary-font-family:"Roboto Slab";--e-global-typography-secondary-font-weight:400;--e-global-typography-text-font-family:"Roboto";--e-global-typography-text-font-weight:400;--e-global-typography-accent-font-family:"Roboto";--e-global-typography-accent-font-weight:500;background-color:#0B1315;color:var( --e-global-color-text );}.elementor-kit-7 button,.elementor-kit-7 input[type="button"],.elementor-kit-7 input[type="submit"],.elementor-kit-7 .elementor-button{background-color:var( --e-global-color-primary );font-family:"Barlow Condensed", Sans-serif;font-weight:400;text-transform:uppercase;letter-spacing:3.7px;color:var( --e-global-color-44e980c );border-style:none;}.elementor-kit-7 button:hover,.elementor-kit-7 button:focus,.elementor-kit-7 input[type="button"]:hover,.elementor-kit-7 input[type="button"]:focus,.elementor-kit-7 input[type="submit"]:hover,.elementor-kit-7 input[type="submit"]:focus,.elementor-kit-7 .elementor-button:hover,.elementor-kit-7 .elementor-button:focus{background-color:var( --e-global-color-secondary );color:var( --e-global-color-5e098a7 );border-style:none;}.elementor-kit-7 e-page-transition{background-color:#FFBC7D;}.elementor-kit-7 a{color:var( --e-global-color-primary );}.elementor-kit-7 a:hover{color:#C7953B;}.elementor-kit-7 label{color:var( --e-global-color-5e098a7 );}.elementor-kit-7 input:not([type="button"]):not([type="submit"]),.elementor-kit-7 textarea,.elementor-kit-7 .elementor-field-textual{background-color:var( --e-global-color-text );}.elementor-section.elementor-section-boxed > .elementor-container{max-width:100%;}.e-con{--container-max-width:100%;}.elementor-widget:not(:last-child){margin-block-end:20px;}.elementor-element{--widgets-spacing:20px 20px;--widgets-spacing-row:20px;--widgets-spacing-column:20px;}{}h1.entry-title{display:var(--page-title-display);}.site-header .site-branding{flex-direction:column;align-items:stretch;}.site-header{padding-inline-end:0px;padding-inline-start:0px;}.site-footer .site-branding{flex-direction:column;align-items:stretch;}@media(max-width:1024px){.elementor-section.elementor-section-boxed > .elementor-container{max-width:1024px;}.e-con{--container-max-width:1024px;}}@media(max-width:767px){.elementor-section.elementor-section-boxed > .elementor-container{max-width:100%;}.e-con{--container-max-width:100%;}}/* Start custom CSS *//* Move Desktop 20% to the right*/
@media (min-width: 1024px) {
    .elementor-section {
        margin-left: 23%;
    }
}

/* Apply a background with subtle, glowing vertical lines */
body {
    background-color: #0f1415; /* Base background color */
    background-image: linear-gradient(
        to right,
        rgba(255, 215, 137, 0.1) 1px, /* Soft yellow line color with opacity */
        transparent 1px
    );
    background-size: 300px 100%; /* Controls spacing between lines */
    
}

/* Optional: Add a slight blur effect for the glowing look */
body::before {
    content: "";
    position: absolute;
    top: 0;
    left: 0;
    right: 0;
    bottom: 0;
    background-image: linear-gradient(
        to right,
        rgba(255, 215, 137, 0.1) 1px,
        transparent 1px
    );
    background-size: 200px 100%;
    filter: blur(2px); /* Adds a soft blur to the lines */
    opacity: 0.7; /* Makes the effect more subtle */
    z-index: -1;
    pointer-events: none;
}
@media (min-width: 1025px) { /* Tablet+ (covers desktop too) */
    body {
        margin-left: 22%; /* Matches your sidebar width */
    }
}
@media (max-width: 1024px) { /* Tablet Portrait & Below */
    body {
        margin-left: 22%;
    }
}
@media (max-width: 767px) { /* Tablet Portrait & Below */
    body {
        margin-left: 0%;
    }
}
/* special footer mobile bg color */
@media (max-width: 768px) {
    .mobile-copy-bg {
        background-color: #0f1D22 !important;
    }
}



/* Mobile menu hide show item */
body.vail li.beaver_creek,
body.vail li.cbar {
	display: none !important;
}



@media (min-width: 1025px) {
    .elementor-hidden-desktop { display: none !important; }
}
@media (max-width: 1024px) and (min-width: 768px) {
    .elementor-hidden-tablet { display: none !important; }
}
@media (max-width: 767px) {
    .elementor-hidden-mobile { display: none !important; }
}


/* === Tabs (Mobile & Desktop Menu) === */

/* Remove background color from PDF sections */
.menu-tab-content {
    background: #ffffff !important;  /* Ensures no inherited background */
}

/* Ensure iframe itself has a transparent background */
.pdf-embed {
    background: #ffffff !important;
}

/* Force any parent containers to be transparent */
.menu-tab-content-wrapper, 
.menu-tab-content iframe {
    background: #ffffff !important;
}

/* Tabs container row - Ensure full width */
.menu-tabs-container {
    display: flex;
    justify-content: space-between;
    background-color: #54595f !important;
    width: 100vw; /* Full width */
    max-width: 100%;
    margin: 0;
    padding: 0;
    z-index: 250 !important;
    position: sticky;
    left: 0;
    right: 0;
    height: 44px;
    line-height: 44px;
}

/* Mobile: Keep 80px gap */
@media (max-width: 1024px) {
    .menu-tabs-container {
        top: 80px; /* Matches mobile header height */
    }
}

/* Desktop: Stick to the top without gap */
@media (min-width: 1025px) {
    .menu-tabs-container {
        top: 0px !important; /* Ensures no gap on desktop */
    }
}

/* Ensure each tab takes equal space */
.menu-tab {
    all: unset;
    flex: 1;
    text-align: center;
    height: 44px;
    line-height: 44px;
    background: #54595f !important;
    color: white !important;
    cursor: pointer;
    font-weight: bold;
    font-family: inherit;
    text-transform: none;
    letter-spacing: normal;
    box-sizing: border-box;
    margin: 0 !important;
    padding: 0 !important;
    border: none !important;
}

/* Active tab */
.menu-tab.active {
    background-color: #FCBD4C !important;
    color: #0B1011 !important;
}

/* === Section Headers Below Tabs === */
.sticky-change-bg-starters,
.sticky-change-bg-soupssalads,
.sticky-change-bg-favorites,
.sticky-change-bg-sandwiches,
.sticky-change-bg-sides {
    background-color: #54595f;
    color: #fff;
    transition: background-color 0.5s ease, color 0.5s ease;
    padding: 0;
    margin: 0;
    border: none;
    border-top: 1px solid #0B1011; /* Ensures a consistent 1px border */
}

/* === Heading Text Inside Section Headers === */
.sticky-change-bg-starters h2,
.sticky-change-bg-soupssalads h2,
.sticky-change-bg-favorites h2,
.sticky-change-bg-sandwiches h2,
.sticky-change-bg-sides h2 {
    margin: 0 !important;
    padding: 10px 0 !important;
    background: none !important;
    color: white !important;
    text-align: center;
    transition: all 0.3s ease-in-out;
}

/* === Sticky Section Headers (When Scrolling) === */
.sticky-change-bg-starters.elementor-sticky--effects,
.sticky-change-bg-soupssalads.elementor-sticky--effects,
.sticky-change-bg-favorites.elementor-sticky--effects,
.sticky-change-bg-sandwiches.elementor-sticky--effects,
.sticky-change-bg-sides.elementor-sticky--effects {
    background-color: #FCBD4C !important;
    color: #0B1011 !important;
    z-index: 200 !important;
}

/* === Sticky State Heading Text === */
.sticky-change-bg-starters.elementor-sticky--effects h2,
.sticky-change-bg-soupssalads.elementor-sticky--effects h2,
.sticky-change-bg-favorites.elementor-sticky--effects h2,
.sticky-change-bg-sandwiches.elementor-sticky--effects h2,
.sticky-change-bg-sides.elementor-sticky--effects h2 {
    color: #0B1011 !important;
}



/* Base Mobile Layout (2 rows) */
.opentable-responsive-container {
    max-width: 100%;
    overflow: hidden;
}

#ot-widget-container table.ot-dtp-picker-form {
    display: flex !important;
    flex-wrap: wrap !important;
    gap: 10px !important;
}

#ot-widget-container table.ot-dtp-picker-form tr {
    flex: 1 1 45% !important; /* Two fields per row */
    min-width: 150px !important;
    display: block !important;
}

#ot-widget-container table.ot-dtp-picker-form td {
    display: block !important;
    width: 100% !important;
}

#ot-widget-container .ot-dtp-picker-submit {
    flex-basis: 100% !important; /* Submit button full width */
    margin-top: 15px !important;
}

/* Desktop Override */
@media (min-width: 768px) {
    #ot-widget-container table.ot-dtp-picker-form {
        display: table !important;
    }
    
    #ot-widget-container table.ot-dtp-picker-form tr {
        display: table-row !important;
        min-width: auto !important;
    }
    
    #ot-widget-container table.ot-dtp-picker-form td {
        display: table-cell !important;
        width: auto !important;
    }
    
    #ot-widget-container .ot-dtp-picker-submit {
        flex-basis: auto !important;
        margin-top: 0 !important;
    }
}

.giftcard-animate img {
    position: relative;
    display: inline-block;
    transform-origin: bottom right;
    transform: translateX(100vw) perspective(1200px) rotateX(10deg) rotateY(-15deg) rotateZ(15deg) skewX(-20deg) scaleX(0.8);
    animation: giftCardSlideIn 2.5s ease-out 1.5s forwards;
}

@keyframes giftCardSlideIn {
    0% {
        transform: translateX(100vw) perspective(1200px) rotateX(0deg) rotateY(0deg) rotateZ(0deg) skewX(0deg) scaleX(1);
    }
    100% {
        transform: translateX(0) perspective(3000px) rotateX(0deg) rotateY(-40deg) rotateZ(5deg) skewY(-2deg) skewX(0deg) scaleX(0.9);
    }
}
/* Sliding Container */
#slide-container {
  position: fixed;
  bottom: 0;
  left: 0;
  width: 100%;
  z-index: 1001;
  transition: transform 0.8s ease;
  transform: translateY(100%); /* Initially off-screen */
}

/* Reveal 150px after 4000ms */
#slide-container.initial-active {
  transform: translateY(calc(100% - 160px));
}

/* Expanded state: slide up an extra 300px */
#slide-container.expanded {
  transform: translateY(calc(100% - 370px));
}

/* Overlay styling */
#footer-overlay {
  display: none; /* Hidden by default */
  position: fixed;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  background: rgba(0, 0, 0, 0.75);
  z-index: 1000;
}

/* Close Button styling */
#close-btn {
  position: absolute;
  top: -80px; /* Sits 50px above the container */
  right: 10px;
  z-index: 1002;
  cursor: pointer;
  opacity: 0;
  pointer-events: none;
  transition: opacity 0.3s ease;
}

/* When the container is expanded, fade in the close button */
#slide-container.expanded #close-btn {
  opacity: 1;
  pointer-events: auto;
}

/* Ensure the vertical side nav container is positioned relatively */
#vertical-side-nav {
  position: relative;
}



/* Ensure the vertical side nav container is positioned relatively */
#vertical-side-nav {
  position: relative;
}

/* Desktop Side Nav Popup */
#side-nav-popup {
  position: absolute;
  bottom: 0;
  left: 0;
  width: 100%;
  z-index: 10;
  transition: transform 0.7s ease; /* Transition lasts 0.7 seconds */
  transform: translateY(100%); /* Initially fully hidden */
}

/* After 4000ms, reveal roughly 100px of the popup */
#side-nav-popup.initial-active {
  transform: translateY(calc(100% - 65px));
}

/* When hovered (over the popup itself), expand fully */
#side-nav-popup.initial-active.expanded {
  transform: translateY(0);
}

/* Overlay styling, restricted to the vertical side nav container */
#side-nav-overlay {
  display: none; /* Hidden by default */
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  background: #000;
  z-index: 5;
}

/* 1. The side nav container */
#vertical-side-nav {
  position: relative; /* So absolutely-positioned children can anchor here */
}

/* 2. The popup starts fully hidden (below the container) */
#side-nav-popup {
  position: absolute;
  bottom: 0;
  left: 0;
  width: 100%;
  z-index: 10;
  transform: translateY(100%); 
  transition: transform 0.7s ease; /* All animation handled in CSS */
}

/* After 4000ms, we add .initial-active to show ~65px */
#side-nav-popup.initial-active {
  transform: translateY(calc(100% - 80px));
}

/* On hover (when .expanded is also added), fully visible */
#side-nav-popup.initial-active.expanded {
  transform: translateY(0);
}

/* 3. The overlay (hidden by default) */
#side-nav-overlay {
  display: none; /* We'll toggle .visible to show/hide it */
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  background: #000;
  z-index: 5;
}

/* When .visible is added, the overlay is shown */
#side-nav-overlay.visible {
  display: block;
}

/* 4. The image that hangs off to the right */
.side-nav-image {
  position: fixed;        /* Or absolute, depending on your design */
  bottom: -240px;         /* Starts just below the viewport */
  left: 21%;              /* Example: a fixed left. Adjust as needed. */
  transition: bottom 0.7s ease;
  z-index: 11;
  width: 400px;
}

/* When .raised is added, the image moves up higher (e.g. 80px from bottom) which is same height as copy footer*/
.side-nav-image.raised {
  bottom: 80px;
}
/* Custom Complianz css */
.cmplz-category-title {
    color: #0b1011;
}
#cmplz-datarequest-submit {
    margin: 20px 0 20px 0;
}
#cmplz_datarequest_name, #cmplz_datarequest_email {
    margin: 0 0 20px 0;
}/* End custom CSS */