/* CSS Document */
@font-face {
	font-family: 'Roboto';
	
	src: url('/fonts/Roboto-Light.ttf') format('truetype');
}
@font-face {
	font-family: 'agencyb';
	
	src: url('/fonts/AGENCYB.ttf') format('truetype');
}
body {
	background:#000;
	padding:0;
	margin:0;
	font-family:Roboto, Arial,Helvetica, sans-serif;
	font-size:12px;	
	color:#fff;
	text-rendering: optimizeLegibility;
	
}
h1,h2,h3,h4 {
	color:#fff;	
	font-family:Roboto !important;
    text-transform:uppercase;
	font-weight:normal;
}
h3 {
	font-size:1.4em;
}
img {
	-ms-interpolation-mode: bicubic; 
}
h1 span {
	font-size:0.5em;
	display:block;
}
h2 {

}
a img {
	border:0;
}
a {
	color:#f00;
}
a:visited {
	color:#fff;
}
a:hover {
	color:#fff;
}
.clear {
	clear:both;
}
.boundary {
	margin:auto;
	text-align:left;
	padding:1em;
	max-width:1200px;
}
#bg,#opener-bg {
    background-image: url('/images/bg-2400.jpg');
    background-position: top center;
    background-repeat: no-repeat;
    background-size: auto 100%;
    position:fixed;
    top:40px;
    left:0;
    right:0;
    bottom:0;
    z-index: 1;
}
  #topmenu {
      box-sizing: border-box;
      background: none;
      color: #fff;
      padding: 0;
      margin: 0 auto;
      position: relative;
      list-style: none;
      display: block;           /* leave the list itself alone */
      max-width: 800px;
      text-align: left;
      z-index: 3;
  }
  #topmenu li{
      background: #000;
      color: #fff;
      margin: 0;
      padding: 0;
      position: relative;
      display: inline-block;
  }
  #topmenu li a{
      background: #000;
      color: #fff;
      padding: 0.5em;
      font-size: 1.5em;
      text-decoration: none;
        border-left:1px solid #333;
       border-right:1px solid #333;
      margin:0;
  }

  #topmenu li a:hover{
      background:#ff0000;
  }
    #topmenu li:first-child a{
        border-right:0px;
    }
  /*  ▼ The only change you really need ▼  */
  #menuarea{
      position: fixed;
      top: 0; left: 0; right: 0;
      height: 40px;
      background: #000;
      z-index: 3;
      
      /* flexbox centres the <ul> vertically (and horizontally if you want) */
      display: flex;
      align-items: center;      /* vertical centring  */
      justify-content: center;  /* horizontal centring – keep if desired */
  }
#bg {

    z-index: 0;
    background-image: url('/images/bg-2400-norider.jpg');
}
#opener {
    height:100vh;
    position: relative;    
}
#header {
    text-align: center;
}


#logo {
    margin:0 auto;
   
    margin-bottom: 2em;

max-height: 22vh;
  height: 100%;
    display: block;
}
#main_menu_container {
    position: absolute;
    bottom:2em;
    text-align: center;
    width:100%;
    
}
#main_menu {
    list-style:none;
    margin:0 auto;
    padding:0;
    display: block;
}
#main_menu li{
    display: inline-block
}
#main_menu li a{
    color:#fff;
    font-size:1.6em;
    padding:0.5em 1em;
    text-shadow: 0px 0px 3px rgb(0, 0, 0);
}

.video-container {
    position: relative;
    width: 100%;
    max-height: 100vh;
    overflow: hidden;
    background: #000;
    margin: 0 auto; /* Center the video horizontally */
    margin-top:3em;
}

.video-container::before {
    content: "";
    display: block;
    padding-top: 177.78%; /* 9:16 aspect ratio */
}

.video-container iframe {
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    border: 0;
}

@media (max-height: 100vh) {
    .video-container {
        height: 100vh;
        width: auto;
        max-width: 56.25vh; /* Maintain 9:16 aspect ratio */
    }
}





#page {
    z-index: 2;
    position: relative;
    margin-top:40px;
}
#headline {
    margin-top:4em;
   
}
#opener-text {
    font-family: Roboto;
 position:absolute;
bottom:0;
    left:0;
    right:0;
    text-align:center;
   background-image: linear-gradient(to top, rgba(0,0,0,0.8), rgba(0,0,0,0));
    padding-bottom:100px;
}
.section {
     padding-top:50px;
    padding-bottom:50px;
}
#about {
    background:rgba(0,0,0,0.8);

}
#countdown {
    
    display: inline-block;
    font-size: 1.4em;
    margin-right: 1em;
}
h2 {
    border-left:10px solid #ff0000;
padding-left:10px; 
    font-size:3em;
}
#sponsors {
    background:rgba(33,33,33,0.5)
}
#sponsor-list {
    list-style:none; 
    margin:0 auto; 
    padding:0; 
    display: inline-block;
}
#sponsor-list li{
    padding:3em;
    
    display: inline-block;
    margin:0 auto;
    vertical-align:middle;
}
#course {
    background: rgba(0,0,0,0.75);
    color:#000;
}
#course h2 {
    color:#fff;
}
#tickets {
    background: rgba(33,33,33,0.7);
}
#tickets p{
    font-size:2em;
}
#course h3{
    color:#fff;
    font-size:2em;
}
#course-map {
    width:50%;
    box-sizing: border-box;
    float:left;
    text-align: center;
}
#course-map-container {
    margin:0 auto;
    display: inline-block;
}
#course-stats {
    margin-bottom:4em; 
}
#course-stats-box {
    width:50%;
    box-sizing: border-box;
    float:left;
    
    display: block
}
#hazeoverlay {
    width:100%;
    height:100%;
    position: relative;
        background: url(data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAAQAAAAECAYAAACp8Z5+AAAAG0lEQVQImWMwMDBoMDIyMoZhBmQOigBMJYYKAMMdDR/VuOMFAAAAAElFTkSuQmCC) repeat;    
}
#location {
    position: relative;
    background:rgba(88,88,88,0.8)
}
.course-stats {
    font-size: 1.4em;
 
}
.course-stats tr th, .course-stats tr td{
    padding:0.5em;
}
.course-stats tr th {
    font-weight:normal;
    text-transform: uppercase;
    background:#000;
    color:#fff;
}
.course-stats tr td{
    background:#fff;
}
.cta_button,.join_waitlist {
    cursor: pointer;
    font-size: 1.5em;
    background:#339900;
    color:#fff;    
    text-decoration: none;
    display:inline-block;   
    padding:0.5em 1em; 
    border:2px solid #fff; 
    border-radius:3px;
}
.cta_button:hover {
background:#efefef; color:#000;
}
.clear {
    height:0;
    font-size:0;
    clear:both;
}
.circuit-name {
    font-size:5em; font-family: Roboto; text-transform:uppercase
}
#op-pic {
    max-width:550px;
    width:100%;
    display: inline-block;
    box-sizing: border-box;
    padding:0 25px;
}
#icons .boundary{
    text-align: center;
}
#predict_detail {
    list-style: none; margin:10px 0; padding:0;
    font-size:0.8em;
}
#predict_detail li{
    
    display:inline-block;
    margin:2px 0; padding:5px 10px;
    background:#333;
    margin-right:10px;
}

.icon-block {
    width:50%;
    text-align:center;
    display:inline-block;
    
}
.cta_predict {
    background:#339900;
    color:#ffffff;
    padding:5px 10px;
    border-radius:5px;
    border:2px solid #fff;
    text-decoration: none;
}
.cta_predict:hover {
    background: #ff0000;
    color:#fff;
}
.icon-text {
    
    font-weight:bold;
    font-size:3em;
    text-align: center;
}
.icon-block-image {
    max-width:200px;
    position: relative
}
#footer {
    font-size:1.4em;
}
.rule-list li {
    padding-bottom:0.5em;
    font-size: 0.9em;
}
#socials-list img{
    max-width:100px;
    width:100%;
    padding: 2em;
}
#rules {
    background-color: rgba(255,0,0,0.5)
}
#rules h3 {
    font-size:1.2em;
}
                    
#agenda-list {
    list-style: none;
    margin:0;
    padding:0;
}
#agenda-list li {
    display: block;
    margin: 20px 0;
    border-radius:5px;
    background:rgba(0,0,0,0.95); 
    padding:10px;
    color:#fff;

}
#agenda-list li .agenda-content{
    border-left:5px solid #fff;
    padding-left:20px;
}
#agenda {
    background:rgba(255,255,255,0)
}
.agenda-time {
    font-size:1em;
    font-weight:bold;

}
.agenda-title {

    font-size: 1.4em;
    padding-bottom:10px;
    border-bottom:2px solid #fff;
}
.agenda-description {
    font-size:0.8em;
    padding-top:10px;
}
 /* Style for the header */
.hidden-header {
    position: fixed;
    bottom: -100px; /* Start off-screen */
    width: 100%;
    background-color: rgba(0,0,0,0.25); /* Or any color */
    color: white;
    text-align: center;
    padding: 25px 0;
    transition: bottom 0.3s; /* Smooth transition for appearing */
    z-index: 1000; /* Ensure it's above other content */
}
@keyframes shimmer {
    0% { /* Adjust the initial percentage to control the delay duration */
        background-position: -150% 0;
    }
    100% {
        background-position: 150% 100%; /* Adjust endpoint for diagonal movement */
    }
}
.scrollHeadButton {
    color: #fff;
    font-size: 1.8em;
    border-radius: 5px;
    padding: 5px 15px;
    font-family: 'Roboto', sans-serif;
    border: 2px solid #fff;
    text-decoration: none;
    font-weight: bold;
    background-image: linear-gradient(
        135deg, /* Adjust angle for diagonal gradient */
        rgba(255, 255, 255, 0) 0%, 
        rgba(255, 255, 255, 0) 25%, 
        rgba(255, 255, 255, 0.5) 50%, 
        rgba(255, 255, 255, 0) 75%,
        rgba(255, 255, 255, 0) 100%
    );
    background-color: #339900; /* Base color */
    background-size: 200% 200%; /* Increase size for better diagonal coverage */
    background-position: -200% 0;
    animation: shimmer 10s infinite linear;
}

.scrollHeadButton:hover {
    background:#efefef;
    color:#000
}
/* Class to add when the header should be shown */
.show-header {
    bottom: 0; /* Move into view */
}
#predict {
    background:rgba(0,0,0,0.9);
        color:#fff;
    border-radius: 5px;
    overflow: hidden
}         
#predict-header {
    background:linear-gradient(to right, rgba(255,0,0,1),rgba(255,0,0,0),rgba(255,0,0,0));
    padding:10px 20px;
    font-size: 2em;
}
#competitions {
    width:100%;
}
.comp_icon {
    width:100%;
    max-width: 320px;
}
.carousel-container {
  position: relative;
  max-width: 100%;
  margin: auto;
  overflow: hidden;
}

.carousel-inner {
  display: flex;
  flex-wrap: nowrap;
  transition: transform 0.2s ease-in-out;
}


.carousel-item {
  flex: 1 0 auto;
  padding: 20px;
  box-sizing: border-box;
  text-align: center;
    width: 100%;
    max-width: 640px;
  min-width: 160px; /* Adjust based on minimum width of an item */
}

.prev, .next {
  cursor: pointer;
  position: absolute;
  top: 50%;
  transform: translateY(-50%);
  background-color: rgba(0,0,0,0.5);
  color: white;
  border: none;
  padding: 10px;
  z-index: 100;
}

.prev { left: 0; }
.next { right: 0; }


.container {
    display: flex;
    flex-wrap: wrap;
    justify-content: space-between;

}

.prize {
    background: #fff;
    border-radius: 8px;
    box-shadow: 0 4px 8px rgba(0, 0, 0, 0.1);
    margin: 10px;
    padding: 20px;
    text-align: center;
    flex: 1 1 30%;
    box-sizing: border-box;
}

.prize-image {
    width: 100%;
    height: auto;
    max-width: 300px; /* Ensure images do not stretch beyond their original size */
    border-radius: 8px;
   
}

.prize-title {
    font-size: 2em;
    margin: 10px 0;
    color:#333;
}

.prize-description {
    font-size: 1.5em;
    color: #333;
}

/* Responsive styles */
@media (max-width: 1200px) {
    .container {
        flex-direction: column;
        align-items: center;
    }

    .prize {
        flex: 1 1 100%;
        margin: 10px 0;
    }
}
@media (max-width: 1200px) {
    #op-pic {
        display:none;
    }
}
@media (max-width: 720px) {
.scrollHeadButton {

    font-size:1.5em;
    }
.icon-block {
    width:100%;
    margin-bottom:5em;
    }
    .circuit-name {
    font-size:4em;
    }
    #course-map {
        width:100%
    }
    #course-stats-box {
        width:100%
        }
    .boundary {
        margin:0 1em;
    }
    #op-pic {
        margin-top:2em;
    }
}
#reminderBtn {
    margin: 50px;
    padding: 10px 20px;
    font-size: 16px;
}

.popup {
    display: none;
    position: fixed;
    z-index: 1001;
    left: 0;
    top: 0;
    width: 100%;
    height: 100%;
    overflow: auto;
    background-color: rgba(0,0,0,0.4);
}
.popup h2 {
    color:#000;
    font-size:1.6em;
    text-align: left;
}
.popup-content {
    background-color: #fff;
    margin: 15% auto;
    padding: 20px;
    border: 1px solid #888;
    width: 300px;
    box-shadow: 0 5px 15px rgba(0,0,0,0.3);
    text-align: left;
}

.close {
    color: #aaa;
    float: right;
    font-size: 28px;
    font-weight: bold;
}

.close:hover,
.close:focus {
    color: black;
    text-decoration: none;
    cursor: pointer;
}

#email {
    width: 80%;
    padding: 10px;
    margin: 8px 0;
}
#waitlist_popup input {
    width: 80%;
    padding: 10px;
    margin: 15px 0;
}

#submitEmail {
    padding: 10px 20px;
    font-size:1.2em;
}

#carousel {
  position: relative;
  width: 100%;

max-height:100vh;
  overflow: hidden;
}

.carousel-inner {
  display: flex;
  transition: transform 0.3s ease-in-out;
}

.carousel-inner img {
  height: auto;
  width: auto;
  max-width: 100%;
  max-height: 800px;
  flex-shrink: 0;
  object-fit: contain;
    border:2px solid #fff;
    box-sizing: border-box;
background: #fff;    
}

button.prev,
button.next {
  position: absolute;
  top: 50%;
  transform: translateY(-50%);
  background: #fff;
  border: none;
  padding: 0.5em;
  cursor: pointer;
  font-size: 2em;
    color:#000;
    border-radius: 5px;
}

button.prev { left: 10px; }
button.next { right: 10px; }
