/* Box sizing border-box reset */
*,
*::before,
*::after {
  box-sizing: border-box;
  margin: 0;
  padding: 0;
  color: white;
  font-family: "Orbitron", sans-serif;
  letter-spacing: 1px;
}

/* Remove default list styles */
ul,
ol {
  list-style: none;
}

a{
  text-decoration: none;
}

/* Remove default margins and paddings */
body,
h1,
h2,
h3,
h4,
h5,
h6,
p,
figure,
blockquote,
dl,
dd {
  margin: 0;
  padding: 0;
}

img{
  max-width: 100%;
}

html{
  background: url('https://files.holdmyticket.com/image/upload/c_scale,f_auto,w_2500/v1719266224/hmtsites2/Denver%20Delorean/13_The_Delorean_Pattern_Neon.png');
  background-size: cover; 
  background-repeat: repeat-y;
  background-position: center top;
}

/* Set base font size and line height */
body {
  position: relative;
  font-size: 16px;
  line-height: 1.5;
  padding: 0 !important;
  margin: 0 auto !important;
  max-width: 1600px;
  box-shadow: 12px 0 15px -4px rgb(67,17,102), -12px 0 8px -4px rgb(67,17,102);
  background: black;
}

/* Remove outline on focused elements */
:focus {
  outline: none;
}

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

.flex_column{
  flex-direction: column;
}

address{
  font-size: clamp(16px, 25vw, 28px);
}

.tab_section_container, footer, .spotify-playlist-container{
  border-top: 1px solid rgb(215,41,102);
  padding: 50px 20px 50px 20px;
  gap: 50px
}

.tab_section_container > img{
  width: 100%;
  max-width: 400px;
}

.tab_section_container section:not(.tab_section){
  gap: 50px;
  width: 100%;
}


.tab_section_container h3{
  font-size: 36px;
}

.tab_section_container p{
  text-align: center;
}

.tab_section{
  border: 2px solid rgb(0,168,225);
  box-shadow: 0 0 100px rgb(67,17,102);
  border-radius: 15px;
  padding: 50px;
  gap: 25px;
}

.tab_section a.flex{
  gap: 30px;
  padding: 30px;
  border-radius: 100%;
  transition-duration: .5s;
  background: black;
}

.tab_section a.flex:hover{
  box-shadow: 0 0 15px rgb(254,222,38);
  background: rgb(254,131,1);
}

.location_icon{
  width: 65px !important;
}

.reserve_table{
  padding: 10px 25px;
  margin-top: 10px;
  border-radius: 45px;
  background: rgb(0, 168, 225);
  color: black;
  font-size: 42px;
  font-weight: bold;
  transition-duration: .5s;
}

.reserve_table:hover{
  background: rgb(254,131,1);
  transform: scale(1.05);
  box-shadow: 0 0 15px rgb(254,222,38);
}

.social{
  max-width: 75px;
  padding: 5px;
}

#menu{
  min-height: 200px;
}

footer{
  padding: 25px;
  gap: 15px;
}

small{
  text-align: center;
}

header{
  max-width: 100%;
  overflow: hidden;
}

.reservation{
  padding-top: 25px;
}

.under_menu{
  display: flex;
  width: 100%;
  align-items: center;
  justify-content: space-around;
}

.under_menu img{
  width: 175px !important;
  padding: 0 !important;
}

.email{
  font-size: 20px;
  font-weight: bold;
}

.tab_section_container > img{
  max-height: 250px;
  width: auto;
  max-width: 400px;
}

.top_banner{
  border-top: 1px solid rgb(215,41,102);
  border-bottom: 1px solid rgb(215,41,102);
  width: 100%;
  text-align: center;
  font-size: clamp(24px,3vw,36px);
  padding: 10px;
}

.hours{
  text-align: center;
}

.hours-title{
  font-size: clamp(16px, 25vw, 28px);
}

.center{
  text-align: center;
}

@media screen and (min-width: 767px) {
  .tab_section_container{
    min-height: 900px;
  }

  .tab_section:not(.reservations){
    min-width: 767px;
    min-height: 400px;
  }
}

@media screen and (max-width: 1600px) {

  .tab_section_container section:not(.tab_section){
    gap: 2.5%;
    flex: 0 0 15vw;
  }


  .tab_section_container section.images:not(.tab_section){
    gap: clamp(50px, 10vw, 200px);
  }

  .tab_section{
    padding: 25px 25px 50px 25px;
  }

  .tab_section_container section img:not(.menu):not(.audio-controls):not(.slider_media):not(img){
    width: 425px;
  }

  .tab_section a.flex{
    flex-direction: column;
  }

  address, .hours-title{
    font-size: clamp(18px, 2.25vw , 36px);
    text-align: center;
    font-weight: bold;
  }

  .tab_section_container h3, .reserve_table{
    font-size: clamp(20px, 5vw, 28px);
  }

  .tab_section p {
    font-size: clamp(14px,1.25vw,20px)
}

}

@media screen and (max-width: 1200px) {

  .under_tab_section img:not(.hover_board){
    display: block;
  }

  .tab_section{
    padding: 2.5% 5% 5% 5%;
  }

}

@media screen and (max-width: 767px) {

  .tab_section_container section.images:not(.tab_section){
    display: none;
  }

  header img{
    max-width: 150%;
  }

  .under_menu img:not(.flux_capacitor){
    display: none;
  }

  .section_bottom_image{
    width: auto !important;
    max-width: 80% !important;
    max-height: 150px !important;
  }

  .tab_section_container, footer{
    padding: 50px 10px;
  }

  .tab_section_container section{
    width: 100%;
  }

  .email{
    font-size: 3vw;
  }

  .tab_section a.flex{
    padding: 2%;
  }

}

/* Tabs CSS */

/* Style the tab */
.tab {
  overflow: hidden;
  border-top: 1px solid rgb(215,41,102);
  background-color: #000000;
}

/* Style the buttons inside the tab */
.tab button {
  background-color: inherit;
  float: left;
  border: none;
  outline: none;
  cursor: pointer;
  padding: 14px 16px;
  transition: 0.3s;
  font-size: 17px;
  height: 69px;
}

/* Change background color of buttons on hover */
.tab button:hover {
  background-color: #1e1b1c;
}

/* Create an active/current tablink class */
.tab button.active {
  background-color: #D81668;
}

/* Style the tab content */
.tabcontent {
  display: none;
}

@media screen and (max-width: 550px) {

  /* Style the buttons inside the tab */
  .tab button {
    background-color: inherit;
    float: left;
    border: none;
    outline: none;
    cursor: pointer;
    padding: 14px 8px;
    transition: 0.3s;
    font-size: 3vw;
  } 
  
}
  

/* End Tabs CSS */

/* Slider */

* {box-sizing:border-box}

/* Slideshow container */
/* .slideshow-container {
  max-width: 1000px;
  position: relative;
  margin: auto;
} */

/* Hide the images by default */
/* .mySlides {
  display: none;
} */

/* Next & previous buttons */
/* .prev, .next {
  background-color: rgba(0, 0, 0, 0.6);
  cursor: pointer;
  position: absolute;
  top: 50%;
  width: auto;
  margin-top: -22px;
  padding: 16px;
  color: white;
  font-weight: bold;
  font-size: 18px;
  transition: 0.6s ease;
  border-radius: 0 3px 3px 0;
  user-select: none;
} */

/* Position the "next button" to the right */
/* .next {
  right: 0;
  border-radius: 3px 0 0 3px;
} */

/* On hover, add a black background color with a little bit see-through */
/* .prev:hover, .next:hover {
  background-color: rgba(0,0,0,0.8);
} */

/* The dots/bullets/indicators */
/* .dot {
  cursor: pointer;
  height: 15px;
  width: 15px;
  margin: 0 2px;
  background-color: rgb(0, 168, 225, .75);
  border-radius: 50%;
  display: inline-block;
  transition: background-color 0.6s ease;
} */

/* .active, .dot:hover {
  background-color: rgb(215, 41, 102);
} */

/* Fading animation */
/* .fade {
  animation-name: fade;
  animation-duration: 1.5s;
} */

/* .mySlides img{
  width: 425px;
} */

/* @keyframes fade {
  from {opacity: .4}
  to {opacity: 1}
} */

/*****EVENT LIST*****/
.bx-wrapper {
  margin: 0 auto !important;
  -moz-box-shadow: unset !important;
  -webkit-box-shadow: unset !important;
  box-shadow: unset !important;
  border: unset !important;
  background: unset !important;
}
.event-list {
  display: flex;
  width: 65%;
  color:#000;
  margin-bottom: 25px;
  padding: unset;
  overflow-y: hidden;
  min-height: 300px;
}
.event-list .event-list-title {
  color: #e6e6e6;
}
.event-card {
  background: #fff;
  height: 400px;
  width: 90%;
  margin: 35px auto;
  position: relative;
}

.event-card.inactive {
  display: none;
}

.event-flyer{
  background-size: contain !important;
}

.event-card .event-flyer, .event-card .event-date, .event-card .event-info {
  display: inline-block;
  height: 420px;
  vertical-align: top;
}
.event-card .event-flyer {
  background-color: #000 !important;
  vertical-align: middle;
  width: 40%;
  cursor: pointer;
}

.event-card .event-presents {
  font-style: italic;
}

.event-card .event-date {
  background: #000;
  text-align: center;
  width: 13%;
  color: #fff;
}
.event-card .event-date .event-date-middle {
  height: 200px;
  margin-top: 40px;
}
.event-card .event-date .month, .event-card .event-date .num-day, .event-card .event-info .title, .event-card .event-info .bold {
  font-weight: 800;
}
.event-card .event-date .month {
  margin-top: 25px;
  font-size: 1.4em;
}
.event-card .event-date .num-day {
  font-size: 2.5em;
}
.event-card .event-date hr{
  width: 80%;
  font-weight: 800;
  height: 3px;
  background: #fff;
  border: unset;
  margin-top: 30px;
}
.event-card .event-date .day {
  margin-top: 25px;
  font-size: 1.2em;
}

.event-card .location * {
  display: inline;
  color: #313131;
}
.svg-location-icon {
  width: 25px;
  fill: #ca3e47;
  vertical-align: bottom;
}

.event-card .event-info {
  width: 40%;
  margin: 15px;
}
.event-card .event-info .title {
  font-size: 1.4em;
  /* margin-bottom: 20px; */
  color: #ca3e47;
}

.event-card .event-info .event-name-sec {
  margin-bottom: 20px;
}

.event-card .event-info .more-info-btn {
  margin-right: 25px;
}
.event-card .event-info .buy-btn, .event-card .event-info .more-info-btn {
  position: relative;
  top: 45px;
  float: right;
}

.event-card .btn-wrap {
  position: absolute;
  bottom: 5px;
  right: 5px;
}

.event-card .btn-wrap * {
  display: inline;
}

.hmt-button.dark {
  color: #FFFFFF;
  background: #161616;
}

.hmt-button {
  padding: 12.5px 15px;
  background: black;
  border-radius: 5px;
  color: white;
  border: 0;
}

.hmt-button:hover {
  -webkit-transition: all 60ms ease;
  transition: all 60ms ease;
  opacity: .85;
  color: white;
}

.event-list .event-info *{
  color: black;
}

.event-card{
  overflow: hidden;
}

.spotify-playlist{
  position: absolute;
  top: 20px;
  right: 20px;
  outline: 2px solid rgb(0,168,225);
  box-shadow: 0 0 100px rgb(67,17,102);
  border-radius: 15px;
}

.spotify-playlist-mobile{
  display: none;
}

.tab_section{
  border: 2px solid rgb(0,168,225);
  box-shadow: 0 0 100px rgb(67,17,102);
  border-radius: 15px;
  padding: 50px;
  gap: 25px;
}

.upcoming-events-empty{
  text-align: center;
}

@media (min-width: 1200px) {
  .spotify-playlist-container{
    padding: 0;
    border: 0;
  }  
}


@media (max-width: 1200px) {
  .spotify-playlist{
   display: none;
  }
  .spotify-playlist-mobile{
    display: flex;
    top: 0;
    right: 0;
    position: relative;
  }
}

@media (max-width: 1012px) {
  .event-card .event-info .title {
    font-size: clamp(.8em, 2.5vw ,1.1em);
  }
  .event-card .event-info .ages, .event-card .event-info .venue-city-state {
    font-size: 0.9em;
  }
}

@media all and (max-width: 575px){
  .event-date *{
    font-size: x-small;
  }

  .event-info{
    margin: 0 !important;
  }

  .event-info *{
    font-size: x-small;
  }

  .event-card{
    height: 350px;
  }

  #Menu .tab_section{
    padding: 2.5%;
  }
}

  @media all and (max-width: 767px){


  .event-card .event-flyer {
    width: 100%;
  }

  .event-card .event-info {
    width: 100%
  }

  .event-card .event-date {
    width: 100%;
  }

  .event-card .event-date hr{
    width: 20px;
    margin-top: 0px;
  }

  .event-card .event-date .day, .event-card .event-date .month {
  margin-top: 0;
  }

  .event-card .event-date .event-date-middle{
    height: auto;
    margin-top: 0;
    justify-content: space-evenly;
  }

  .event-card .event-flyer, .event-card .event-date, .event-card .event-info{
    height: 100%;
  }

  .event-card{
    height: 100%;
  }
  
  .event-info{
    padding: 10px 10px 30px 10px;
  }

  .mobile_flex{
    display: flex;
    align-items: center;
    justify-content: center;
  }

  .mobile_flex_column{
    flex-direction: column;
  }

  .event-list.tab_section{
    padding: 2.5%;
  }
}

@media all and (max-width: 400px){
  .event-date *{
    font-size: xx-small;
  }
}

/* Banner Slideshow CSS */

.mySlides {
  display: none;
  /* height: 450px;
  width: 850px; */
  max-width: 850px;
  background-color: black;
  justify-content: center;
}

.mySlides img, .mySlides video{
  /* height: 100%;
  object-fit: contain; */
  width: 100%;
}

.mySlides .volumeControl{
  position: absolute;
  bottom: 5px;
  right: 5px;
  background: black;
  border-radius: 100%;
  padding: 5px;
}

.mySlides .volumeControl .mute{
  display: block;
}

.mySlides .volumeControl .unmute{
  display: none;
}

img {vertical-align: middle;}

/* Slideshow container */
.media-slideshow-container {
  max-width: 850px;
  /* height: 450px; */
  position: relative;
  margin: auto;
}

/* Fading animation */
.fade {
  animation-name: fade;
  animation-duration: 1.5s;
  opacity: 1;
}

/* Next & previous buttons */
.prev, .next {
  color: rgb(0, 168, 225, .75);
  background-color:rgba(215, 41, 102, 0.75);
  cursor: pointer;
  position: absolute;
  top: 50%;
  width: auto;
  padding: 16px;
  margin-top: -22px;
  font-weight: bold;
  font-size: 18px;
  transition: 0.6s ease;
  border-radius: 3px 0px 0px 3px;
  user-select: none;
}

/* Position the "next button" to the right */
.next {
  right: 0;
  border-radius: 0px 3px 3px 0px;
}

/* On hover, add a black background color with a little bit see-through */
.prev:hover, .next:hover {
  background-color: rgb(0, 168, 225, .75);
  color:  rgb(215,41,102, .75);
}

@keyframes fade {
  from {opacity: .4} 
  to {opacity: 1}
}

@media only screen and (max-width: 500px) {
  .mySlides {}
  .slideshow-container {
  }
  .prev, .next {
    padding: 0 5px;
  }
}

/* On smaller screens, decrease text size */
@media only screen and (max-width: 300px) {
  .prev, .next{font-size: 8px}
}

/* Christmas snow */

/* .snow-bg {
  position: relative;
}

.snow-bg:after {
  content: '';
  display: block;
  position: absolute;
  z-index: 2;
  top: 0;
  left: 0;
  right: 0;
  bottom: 0;
  pointer-events: none;
  background-image: url('https://files.holdmyticket.com/image/upload/v1732659840/uploads/snow.webp'), url('https://files.holdmyticket.com/image/upload/v1732659886/uploads/snow2.webp'), url('https://files.holdmyticket.com/image/upload/v1732659885/uploads/sno3.webp');
  animation: snow 20s linear infinite;
}

@keyframes snow {
0% {background-position: 0px 0px, 0px 0px, 0px 0px;}
50% {background-position: 500px 500px, 100px 200px, -100px 150px;}
100% {background-position: 1000px 1000px, 200px 400px, -200px 300px;}
} */