/* Google FONTS */

/*@import url('https://fonts.googleapis.com/css?family=Varela+Round');*/
@import url('https://fonts.googleapis.com/css?family=Roboto+Condensed:400,500,600,700');

/*
font-family: 'Roboto Condensed', sans-serif;
*/

/*
=====
Colors
=====

Blue: rgb(16,17,56)
Blue Hex: #101138
Lighter Gray: rgb(125,125,125)
Dark Gray: rgb(32,32,32)

*/
body, html {
	overflow-x:  hidden !important;
}

#about, #shop, #race-team, #rentals, #schedule, #menu, #error, #contact {
    background: url("../img/hero-HRT.svg") center no-repeat;
    background-size: contain;
    background-color: #fff;
}

*:hover, *:focus, *:active {
	-webkit-transition: all ease-in 250ms;
    -moz-transition: all ease-in 250ms;
    -o-transition: all ease-in 250ms;
    transition: all ease-in 250ms;
}


@media (min-width: 992px) {
  body {
    padding-top: 0;
    padding-left: 17rem;
  }
}

#sideNav .navbar-nav .nav-item .nav-link {
  font-family: 'Roboto Condensed', sans-serif;
  text-transform: uppercase;
}

@media (min-width: 992px) {
  #sideNav {
    text-align: center;
    position: fixed;
    top: 0;
    left: 0;
    display: flex;
    flex-direction: column;
    width: 17rem;
    height: 100vh;
  }
	
  #sideNav .navbar-collapse {
    display: flex;
    align-items: flex-start;
    flex-grow: 0;
    width: 100%;
    margin-bottom: auto;
  }
  #sideNav .navbar-collapse .navbar-nav {
    flex-direction: column;
    width: 100%;
  }
  #sideNav .navbar-collapse .navbar-nav .nav-item {
    display: block;
	font-family: 'Roboto Condensed', sans-serif;
	font-size: 1em;
	line-height: 1em;
  }
  #sideNav .navbar-collapse .navbar-nav .nav-item .nav-link {
    display: block;
  }
}

section.resume-section {
  border-bottom: 1px solid #dee2e6;
  padding-top: 2.5rem;
  padding-bottom: 5rem !important;
}

section.resume-section .resume-item .resume-date {
  min-width: none;
}

@media (min-width: 768px) {
  section.resume-section {
    min-height: 100vh;
  }
  section.resume-section .resume-item .resume-date {
    min-width: 18rem;
  }
}

@media (min-width: 992px) {
  section.resume-section {
    padding-top: 3rem !important;
    padding-bottom: 3rem !important;
  }
}


/*
===================================
ADDITIONAL CSS
===================================
*/

body {
   background: #fff;
   padding-top: 54px;
}

@media (min-width: 767px){
body {
   background: url("../img/bg-body.webp") fixed no-repeat;
   background-size: cover;
}
}

.container-fluid {
	padding: 0 !important;
	margin: 0 !important;
}

#footer { background: #fff; }



.hero {
	box-shadow: 2px 2px 10px 2px rgb(0,0,0,0.4);
	border-radius: none;
}

.text-normal {
	text-transform: none;
    line-height: 1.25em;
}

.section-title {
	  font-family: 'Roboto Condensed', sans-serif;
	  font-size: 2.5em;
	  text-transform: uppercase;
      margin-left: 15px;
}

/*
.divider-blue {
  background: #101138;
  height: 45px;
  width: 4px;
  position: absolute;
  margin-left: 25px;
}
*/

@media (min-width: 767px){

    .section-title {
    position: relative;
    margin-left: -345px;
    font-size: 5em;
    transform: rotate(-90deg);
    width: 800px;
    }   

    .title-404 { margin-top: -80px;    }
    
    .title-about {margin-top: 280px;}
    
    .title-race-team { margin-top: 55px;   }
    
    .title-rentals {margin-top: -20px;}
    
    .title-shop {margin-top: -130px;   }
    
    .title-schedule {margin-top: 30px;   }
    
    .title-menu { margin-top: -125px;   }

}

@media (min-width: 1200px){
 
    .section-title {
        margin-left: -200px !important;
        font-size: 7em;
    }
    
    .title-about {
		margin-top: 330px;
		margin-left: -545px !important;
		width: 1250px;
		/* font-size: 4.5em; */
	}
    
    .title-race-team { 
		margin-top: 75px;
		margin-left: -325px !important;
	
	}
    
    .title-rentals {
		margin-top: -35px;
		margin-left: -325px !important;
	}
    
    .title-shop {
		margin-top: -200px;
		margin-left: -325px !important;
	}
    
    .title-schedule {
		margin-top: 10px;
		margin-left: -325px !important;
	}
    
    .title-menu { margin-top: -45px;   }

	.title-contact {
		margin-left: -320px !important;
	}
    
}


/*
======
NAVIGATION
======
*/

.logo {
  width: 270px;
  height: auto;
  padding: 10px;
	margin-top: -10px;
}

.logo-sm {
  	width: 275px;
    height: auto;
    margin: auto;
}

.navbar-toggler-icon {
    width: 1em;
    height: 1em;
}

@media (max-width: 320px) {
	
    .logo-sm {
      width: 215px;
      height: auto;
    }
}


.bg-primary {
	background: rgb(16,17,56) !important;
}

.nav-item .fab, .nav-item .fas {
	font-size: 1.2em;
	border: 1px solid #fff;
	padding: 10px;
	color: #fff !important;
	margin-bottom: 5px;
	border-radius: 4px;
}

.nav-item, .nav-item a {
	color: #fff !important;
	margin: 0 auto !important;
}

.title-cap {
	text-transform: none;
}

.nav-footer {
	text-align: center !important;
	padding-top: 25px;
}


@media (min-width: 980px) {
	.bg-primary {
  background: rgba(0,0,0,0.0) !important;
	}
	.fa-phone {
		margin-top: 15px;
	}
	.fa-map-marker-alt {
		margin-top: 5px;
	}
}


.nav-link:hover, .nav-link:focus, .nav-link:active {
	border-bottom: 1px solid #fff !important;
}

.no-border:hover { border: none !important;}
.fa:hover, .fa:focus, .fa:active, .fas:hover, .fas:focus, .fas:active,
.fab:hover, .fab:focus, .fab:active { 
	background: #fff; 
	color: rgb(16,17,56) !important;
}

.nav-item a:hover {
  cursor: pointer;
}

/* Mobile Nav Modal */

#nav-modal {
	background: rgb(16,17,56);
}

#nav-modal .navbar-nav {
	margin-top: -25px;
	text-transform: uppercase;
	font-size: 0.85em;
}

#nav-modal .navbar-nav .text-center {
	font-size: 0.85em;
}

#nav-modal .modal-header,
#nav-modal .modal-body,
#nav-modal .modal-footer {
	background: rgb(16,17,56);
	border: none !important;
}

#nav-modal .btn {
	margin-top: -10px;
	font-size: 0.85em;
	background: rgb(16,17,56);
	border: 1px solid #fff;
}

#nav-modal .btn:hover,
#nav-modal .btn:focus,
#nav-modal .btn:active {
	background: #fff;
	color: #000;
}

.modal-body .nav-link {
	text-align: center !important;
}

#nav-modal .modal-content {
	border: none;
}

@media (min-width: 375px) {

	#nav-modal .navbar-nav,
	#nav-modal .navbar-nav .text-center  {
		text-transform: uppercase;
		font-size: 1em;
	}

	#nav-modal .btn	 {
		font-size: 1em;
		margin-top: 5px;
	}

	#nav-modal .close {
		font-size: 2em;
		color: #fff;
        opacity: 1;
	}
}

/*
======
MISSION
======
*/

#mission {
    position: relative;
}

#mission p {
	font-family: 'Roboto Condensed', sans-serif;
}

#mission a { color: #fff;  }
#mission a:hover, #mission a:focus, #mission a:active  { 
  color: #fff;
  padding: 5px 0;
  text-decoration: none;
  border-bottom: 2px solid #fff;
}

@media (max-width: 767px) {
 #mission {
  background: url('../img/hero-mission-xs.webp') center no-repeat;
  background-size: cover;;
  color: #fff;
  font-family: 'Roboto Condensed', sans-serif;
  margin: 0 auto;
  padding-left: 25px;
  border-bottom: none;
}	
	
#mission h1 {
	  font-family: 'Roboto Condensed', sans-serif;
	  font-size: 2.5em;
	  text-transform: uppercase;
}

#mission p {
	  font-size: 1.2em;
	  line-height: 2em;
}
	
.divider-lg {
  background: #fff;
  height: 45px;
  width: 4px;
  position: absolute;
  left: 0;
}
	
 #mission-mobile {
  background: url('../img/mission-mobile-bg.webp') center no-repeat;
  background-size: cover;
  width: 100%;
  height: 450px;
}
}

@media (min-width: 767px) {

	#mission {
	  color: #fff;
	  font-family: 'Roboto Condensed', sans-serif;
	  margin: 0 auto;
	  padding-left: 25px;
	  margin-top: 30%;
	  text-align: right;
	}
	
	#mission h1 {
	  font-family: 'Roboto Condensed', sans-serif;
	  font-size: 3.5em;
	  text-transform: uppercase;
    position: relative;
        right: 25px;
	}

  #mission p {
	  font-size: 1.3em;
	  line-height: 2em;
	  max-width: 800px;
	  position: absolute;
	  right: 20px;
  }
	
	
	#mission-mobile {
		display: none;
	}
	
.divider-lg {
  background: #fff;
  height: 60px;
  width: 4px;
  position: absolute;
  right: 15px;
}
	
	.explore {
		margin-top: 150px;
	}

	
}




/*
======
ABOUT SECTION
======
*/

#about, #race-team, #shop p, #rentals p, #menu p {
	font-family: 'Roboto Condensed', sans-serif;
}	

#about p, #race-team p, #shop p, #rentals p {
	font-size: 1em;
	line-height: 1.5em;
	color: rgb(125, 125, 125);
	padding: 10px;
}

#about h3 {
	font-size: 1.5em;
	font-weight: 600;
	padding: 5px 10px;
}

#about .join-team {
    font-size: 1.25em;
    color: #101138;
	font-weight: 500;
}

#about h4 {
	font-size: 1.5em;
	font-weight: 500;
	padding: 5px 10px;
}

.circle {
	border: 3px solid #101138;
    width: 75px;
	height: 75px;
	border-radius: 50%;
	display: flex;
	justify-content: center; 
	align-items: center;
	text-align: center;
	margin: auto;
}

.odometer {
	font-size: 2.25em;
	font-weight: 500;
}

.type {
	padding: 5px;
    font-size: 1.25em;
	font-weight: bold;
	text-align: center;
	margin-bottom: 24px;
}

@media (min-width: 900px){
	#about p, #race-team p, #shop p, #rentals p, #menu p {
		font-size: 1.2em;
		line-height: 1.5em;
		color: rgb(125, 125, 125);
		padding: 25px 0;
	}

	#about h4, #about h3 {
		padding: 0;
		font-size: 1.75em;
	}

	#about .join-team {
		font-size: 1.25em;
	}

}

@media (min-width: 1200px) {
	#about p, #race-team p, #shop p, #rentals p, #menu p {
		font-size: 1.5em;
		max-width: 1600px;
		padding: 20px 10px 0 0;
	}
}

/* Match the CTA heading vibe */
.pyd-title{
  font-family: 'Roboto Condensed', sans-serif;
  text-transform: uppercase;
  color: #111827;               /* same near-black as CTA */
  -webkit-font-smoothing: antialiased;
  -moz-osx-font-smoothing: grayscale;
  font-size: clamp(28px, 3.6vw, 56px);
	margin-top: 25px;
	display: block;
	margin: auto;
	padding: 25px 10px;
	font-weight: 700;
}

/* The part we want the underline to match */
.pyd-underline{
  position: relative;
  display: inline-block;
  white-space: nowrap;          /* keep “JOIN A TEAM” together on desktop */
}

/* Short blue underline exactly the width of the span above */
.pyd-underline::after{
  content: "";
  position: absolute;
  left: 0; right: 0;            /* stretch to span width */
  bottom: -8px;
  height: 4px;
  border-radius: 9999px;
  background: linear-gradient(90deg, #2D6CDF 0%, #4CA2FF 100%); /* same blue as CTA */
  box-shadow: 0 2px 10px rgba(0,0,0,.08);
}

/* Mobile: allow wrapping if space gets tight */
@media (max-width: 640px){
  .pyd-underline{ white-space: normal; }
}


/*
======
RACE TEAM & SHOP SECTION
======
*/

.icon-display {
    text-align: left;
}

.icon-display h3 {
    font-size: 1.25em;
    background: rgb(16,17,56);
    color: #fff;
    padding: 5px 15px 5px 15px;
    transform: skew(-15deg);
    position: relative;
    margin-left: -25px;
    margin-top: 15px;
    max-width: 275px;
}

.icon-display h4 {
    font-size: 1em;
    line-height: 1.25em;
    font-weight: normal;
    transform: skew(-15deg);
    margin-left: -25px;
    max-width: 275px;
}

#shop .icon-display h3 {
    font-size: 1em;
    margin-top: 10px;
    max-width: 235px;
}

.card-display p {  text-align: center; }

@media (min-width: 768px) {
    
    .icon-display h3 {
        margin-top: 35px;
        max-width: 450px;
    }

    .icon-display h4 {
        max-width: 450px;
    }
    
    #shop .icon-display h3 {
        font-size: 1.25em;
        margin-top: 35px;
        max-width: 455px;
    }


}


@media (min-width: 1200px) {
    
    .icon-display {
        max-width: 1200px;
    }
    
    .icon-display img {
        width: 175px;
        height: auto;
    }
    
    .icon-display h3 {
        margin-top: 55px !important;
        font-size: 1.5em;
        max-width: 550px;
    }
    
    .icon-display h4 {
        font-size: 1.25em;
        max-width: 550px;
    }
    
    .card-display p {  
        margin-left: 25px;
        font-size: 1em !important;
        text-align: left;
    }

}

@media (min-width: 1400px) {
    
    
    .icon-display h3 {
        margin-left: -90px;
        font-size: 1.5em;
        max-width: 900px;
    }
    
    #shop .icon-display h3 {
        margin-top: 85px;
    }
    
    .icon-display h4 {
        margin-left: -90px;
        font-size: 1.25em;
        max-width: 900px;
    }

}


/*
======
RENTALS SECTION
======
*/

.arrive-n-drive-rentals {
	font-weight: 500;
	line-height: 2em;
}

.fa-caret-right {
	position: absolute;
	margin-top: 5px;
	color: rgb(16,17,56);
	font-size: 1.5em;
}

.rental-list {
	margin-left: 15px;
}

#rentals .pyd-title {
	margin-top: -25px;
}

@media (min-width: 1200px) {

	#rentals .pyd-title {
	margin-top: -10px;
	}
	
	.rental-list {
		font-size: 1.5em;
		line-height: 1.5em;
	}

.fa-caret-right {
	font-size: 1.75em;
}
}

/*
.card {
    max-width: 450px;
	background: #fff;
	font-family: 'Roboto Condensed', sans-serif;
	margin: 0 auto;
	margin-bottom: 25px;
}
.card-title {
    font-size: 1.5em;
	background: rgb(16,17,56);
	color: #fff;
	text-align: center;
	padding: 10px;
}

.card-body-rentals {
	font-size: 1.25em;
	line-height: 1.5em;
	color: rgb(125, 125, 125);
	margin: 0 auto;
    padding: 10px;
}

.fa-caret-right {
	color: rgb(16,17,56);
	font-size: 1.2em;
}

#rentals a {
    color: rgb(16,17,56);
}
   
}

/*
======
SCHEDULE SECTION
======
*/

.thumb-link {
    display: block;
    width: 275px;
    height: auto;
    margin: auto;
}

.thumb-schedule {
	margin-top: 5px;
	width: 100%;
	height: auto;
	box-shadow: 0px 0px 8px #404040;
    margin: auto;
}

@media (min-width: 768px) {

.thumb-link {
    display: block;
    width: 550px;
    height: auto;
    margin: auto;
}

	.thumb-schedule {
	margin-top: 5px;
	width: 100%;
	height: auto;
	box-shadow: 0px 0px 8px #404040;
    margin: auto;
}
	
}

.thumb-schedule:hover {
    opacity: .6;
	-webkit-transition: all ease-in 250ms;
    -moz-transition: all ease-in 250ms;
    -o-transition: all ease-in 250ms;
    transition: all ease-in 250ms;
}

/*
======
MENU SECTION
======
*/

.menu-display {
    padding: 5px;
}

.menu-display .col-md-10, .menu-display .col-9 {
    margin-bottom: 50px;
}

.menu-display h2 {
    font-size: 2.75em;
    margin: 25px 0 15px 0;
    text-transform: uppercase;
}

.menu-display h3 {
    font-weight: 700;
    font-size: 1.25em;
    margin-bottom: 0;
}

.menu-display h4 {
    font-weight: 700;
    font-size: 1em;
}

.menu-display {
    font-size: 0.85em;
}

.menu-display .disclaimer {
    font-size: 0.85em !important;
}

.bg-gray {
    margin-left: -20px;
    padding: 5px 15px 5px 20px;
    background: #CECECE;
}

.menu-display .txt-small {
    position: absolute;
    font-size: 0.9em;
    margin-top: -50px;
    right: 15px;
}

.vl {
    border-left: 2px solid;
    height: 25px;
}

.xtra-space { display: none;}

@media (min-width: 768px) {
 
    .menu-display {
    max-width: 650px;
    }
    
    .xtra-space {display: block;}
    
}

@media (min-width: 1024px) {
 
    .menu-display {    
        font-size: 1.2em;
        max-width: 715px;
    }
    
    .menu-display h4 {
    margin-bottom: -20px;
    }
    
}

@media (min-width: 1200px) {
 
    .menu-display {    
        font-size: 1.25em;
        max-width: 750px;
    }
    
    
}

/*
======
CONTACT SECTION
======
*/

#contact {
	padding: 10px;
	font-family: 'Roboto Condensed', sans-serif;
	color: rgb(32,32,32);
}

#contact p {
	color: rgb(125,125,125);
}

#contact h4 {
	font-style: italic;
	font-size: 1.5em;
	background: #101138;
	color: #fff;
	max-width: 350px;
	padding: 5px 0px 5px 15px;
	border-radius: 4px;
}

#contact img {
	width: 100px;
	height: auto;
}

.btn-success {
	background: #fff;
	border: 2px solid rgb(16,17,56);
	color: rgb(16,17,56);
	height: 50px;
	margin-top: -25px;
	
}

.btn-success:hover, .btn-success:focus, .btn-success:active {
	background: rgb(16,17,56);
	border: 2px solid rgb(16,17,56);
	color: #fff;
	  -webkit-transition: all ease-in 250ms;
    -moz-transition: all ease-in 250ms;
    -o-transition: all ease-in 250ms;
    transition: all ease-in 250ms;
}

.form-control {
	border: 2px solid rgb(16,17,56);
	font-size: 0.9em;
	color: rgb(24,24,24);
	height: 55px;
	max-width: 800px;
}

.form-control#message {
	height: 125px;
}

#contact-headshots {
	max-width: 600px;
}

/* =====================================================
   CONTACT — gradient heading + mobile alignment
   ===================================================== */

/* Contact headline with full HRT blue gradient */
.contact-heading {
  font-family: 'Roboto Condensed', sans-serif;
  font-size: clamp(28px, 4.5vw, 56px);
  line-height: 1.1;
  letter-spacing: .01em;
  margin: 0 0 10px;
}
.contact-heading span {
  background: linear-gradient(90deg, #0056A4 0%, #4FA8FF 100%);
  -webkit-background-clip: text;
  background-clip: text;
  color: transparent;
}
.contact-heading::after {
  content: "";
  display: block;
  height: 4px;
  width: min(140px, 25%);
  margin-top: .6rem;
  border-radius: 999px;
  background: linear-gradient(90deg, #0056A4, #4FA8FF);
  opacity: .9;
}

/* Mobile alignment fixes for Contact */
@media (max-width: 575.98px) {
  #contact .section-title { margin-left: 0 !important; }
  #contact .row > [class^="col-"] { padding-left: 16px; padding-right: 16px; }
  .contact-heading { margin-left: 0; }
}

/* =====================================================
   UI POLISH — focus, autofill, button feedback, type rhythm
   ===================================================== */
input, textarea { border-radius: 8px; }
input:focus, textarea:focus {
  outline: none;
  box-shadow: 0 0 0 3px rgba(79,168,255,.25);
}

/* Chrome/iOS autofill reset */
input:-webkit-autofill,
textarea:-webkit-autofill {
  -webkit-box-shadow: 0 0 0px 1000px #fff inset;
  transition: background-color 9999s ease-in-out 0s;
}

/* Button hover/tap feedback */
#contact .btn {
  transition: transform .08s ease, box-shadow .15s ease;
}
#contact .btn:hover {
  transform: translateY(-1px);
  box-shadow: 0 6px 16px rgba(0,0,0,.12);
}
#contact .btn:active {
  transform: translateY(0);
  box-shadow: 0 2px 8px rgba(0,0,0,.16);
}

/* Heading rhythm under the gradient H2 */
.contact-heading { margin-bottom: 6px; }
#contact p.lead { margin-top: 8px; margin-bottom: 18px; }

/* Small-tablet friendly input sizing */
@media (max-width: 768px) {
  #contact input, #contact textarea {
    font-size: 16px;
    padding: 14px 16px;
  }
}

/* =====================================================
   ANCHOR OFFSET — consistent landing for all sections
   (replaces negative anchor shims)
   ===================================================== */
:root{ --section-offset: 96px; }
@media (max-width: 992px){ :root{ --section-offset: 80px; } }
@media (max-width: 576px){ :root{ --section-offset: 64px; } }

section[id]::before{
  content:"";
  display:block;
  height:var(--section-offset);
  margin-top:calc(var(--section-offset) * -1);
}

/* Optional: tiny extra nudge for Contact if header differs slightly */
#contact::before{
  height: calc(var(--section-offset) + 12px);
  margin-top: calc((var(--section-offset) + 12px) * -1);
}
@media (max-width: 576px){
  #contact::before{
    height: calc(var(--section-offset) + 18px);
    margin-top: calc((var(--section-offset) + 18px) * -1);
  }
}


/*
======
THANK YOU
======
*/

#thankyou .modal-body {
	margin: auto;
	text-align: center;
	line-height:1.5em;
	font-size: 1.25em;
}

#thankyou .btn {
	background: #fff;
	border: 2px solid rgb(16,17,56);
	color: rgb(16,17,56);
}

#thankyou .btn:hover, #thankyou .btn:focus, #thankyou .btn:active {
	background: rgb(16,17,56);
	color: #fff;
	  -webkit-transition: all ease-in 250ms;
    -moz-transition: all ease-in 250ms;
    -o-transition: all ease-in 250ms;
    transition: all ease-in 250ms;
}


/*
======
FOOTER
======
*/

#footer {
  font-family: 'Roboto Condensed', sans-serif;
  font-size: 1;
  padding: 10px 0;
  color: rgb(16,17,56);
}


#contact a {
  color: rgb(16,17,56);
}


/*
======
404 ERROR PAGE
======
*/

#error {
    padding: 55px;
}

.section-title-error {
    font-size: 2.5em;
}

#error p {
    font-size: 1.5em;
    max-width: 450px;
}

#error .btn {
    background: #101138;
    color: #fff;
    border: 2px solid #101138;
}

#error .btn:hover, #error .btn:focus, #error .btn:active {
    background: #fff;
    color: #101138;
    
}

@media (min-width: 767px) {
    
    .section-title-error {
        font-size: 4em;
        margin-left: 145px;
    }
    
    #error p {
    margin-top: 85px;
    }
    
    #error .btn {
        margin-top: -100px;
    }
    
}


section[id]::before,
[id^="anchor-"]::before {
  content: "";
  display: block;
  height: var(--section-offset);
  margin-top: calc(var(--section-offset) * -1);
}

/* Tablet / mobile header heights */
@media (max-width: 991.98px){
  :root{ --section-offset: 80px; }
}
@media (max-width: 575.98px){
  :root{ --section-offset: -45px; }
}

/* ===== Contact: tiny extra nudge (comes AFTER the generic rule) ===== */
#contact::before{
  height: calc(var(--section-offset) + 12px);
  margin-top: calc((var(--section-offset) + 12px) * -1);
}

@media (max-width: 575.98px){
  #contact::before{
    height: calc(var(--section-offset) + 18px);
    margin-top: calc((var(--section-offset) + 18px) * -1);
  }
}


