hr {
  border-top: 6px solid #b1afaf;
}
hr.dashed {
  border-top: 6px dashed #b1afaf;
}

/**
 * Alerts.
 */
.in-page-discount-alert-banner {
  border: 4px solid;
  box-shadow: 0px 0px 1rem rgba(0,0,0,.5);
  border-radius: 2rem;
}

/**
 * Background Gradients: https://cssgradient.io/
 */
.bg-gradient-orange-to-light-blue {
  background: rgb(252,175,36) !important;
  background: linear-gradient(243deg, rgba(252,175,36,1) 0%, rgba(37,170,225,1) 100%) !important;
}
.bg-gradient-orange-to-dark-purple {
  background: rgb(252,175,36) !important;
  background: linear-gradient(90deg, rgba(252,175,36,1) 10%, rgba(38,34,98,1) 90%) !important;
}
.bg-gradient-purple-to-dark-purple {
  background: rgb(38,34,98) !important;
  background: linear-gradient(90deg, rgba(38,34,98,1) 10%, rgba(56,58,142,1) 90%) !important;
}
.bg-gradient-orange-to-dark-orange {
  background: rgb(247,148,29) !important;
  background: linear-gradient(90deg, rgba(247,148,29,1) 10%, rgba(243,112,42,1) 90%) !important;
}

/* Helpers */
img {
  max-width: 100%;
}
.text-no-wrap {
  text-wrap: nowrap;
}
.enable-transitions {
  transition: .5s ease all;
}

@media (min-width: 768px) {
  .text-md-left {
    text-align: left !important;
  }
}
/* Variable Overrides */
:root {
  --bs-btn-font-family: 'Montserrat', sans-serif;
  --bs-primary: #383a8e;
  --bs-primary-rgb: 56, 58, 142;
}

/* High Level Overrides */
body a {
  color: var(--bs-primary);
}

body,
body p,
body span,
body small,
h3.card-title,
body button,
body a {
  font-family: var(--bs-btn-font-family);
}

.regular-font {
  font-family: var(--bs-btn-font-family) !important;
}

h1:not(.regular-font), 
h1:not(.regular-font) span,
h2:not(.regular-font),
h2:not(.regular-font) span,
h3:not(.card-title):not(.regular-font), 
h3:not(.card-title):not(.regular-font) span, 
h4:not(.regular-font), 
h4:not(.regular-font) span, 
.logo span {
  font-family: 'Permanent Marker', cursive;
}

/* Button Overrides */
.btn-primary {
  --bs-btn-color: #fff;
  --bs-btn-bg: var(--bs-primary);
  --bs-btn-border-color: var(--bs-primary);
  --bs-btn-hover-color: #fff;
  --bs-btn-hover-bg: #222355;
  --bs-btn-hover-border-color: #222355;
  --bs-btn-focus-shadow-rgb: 49,132,253;
  --bs-btn-active-color: #fff;
  --bs-btn-active-bg: #222355;
  --bs-btn-active-border-color: #222355;
  --bs-btn-active-shadow: inset 0 3px 5px rgba(0, 0, 0, 0.125);
  --bs-btn-disabled-color: #fff;
  --bs-btn-disabled-bg: var(--bs-primary);
  --bs-btn-disabled-border-color: var(--bs-primary);
}
.btn:hover {
  color: var(--bs-btn-hover-color);
  background-color: var(--bs-btn-hover-bg);
  border-color: var(--bs-btn-hover-border-color);
}
.btn-outline-primary {
  --bs-btn-color: var(--bs-primary);
  --bs-btn-border-color: var(--bs-primary);
  --bs-btn-hover-color: #fff;
  --bs-btn-hover-bg: var(--bs-primary);
  --bs-btn-hover-border-color: var(--bs-primary);
  --bs-btn-focus-shadow-rgb: 13,110,253;
  --bs-btn-active-color: #fff;
  --bs-btn-active-bg: var(--bs-primary);
  --bs-btn-active-border-color: var(--bs-primary);
  --bs-btn-active-shadow: inset 0 3px 5px rgba(0, 0, 0, 0.125);
  --bs-btn-disabled-color: var(--bs-primary);
  --bs-btn-disabled-bg: transparent;
  --bs-btn-disabled-border-color: var(--bs-primary);
  --bs-gradient: none;
}

/* Main Navigation */
#main-navigation {
  background: var(--bs-primary);
  background: rgb(38,34,98) !important;
  background: linear-gradient(90deg, rgba(38,34,98,1) 10%, rgba(56,58,142,1) 90%) !important;
}
#main-navigation .navbar-brand,
#main-navigation .quick-links a,
#main-navigation .navbar-nav > .nav-item > a,
#main-navigation button {
  color: #fff
}
#main-navigation .navbar-toggler {
  padding: 6px 10px !important;
  box-shadow: none;
}
#main-navigation .navbar-toggler {
  font-size: 1rem;
  padding: 4px;
  border: 2px solid rgba(255,255,255,.5);
  border-color: rgba(255,255,255,.5);
  border-radius: 1rem;
}
#main-navigation .navbar-toggler .fa-circle-xmark,
#main-navigation .navbar-toggler .fa-circle-plus {
  display: none;
}
#main-navigation .navbar-toggler:not(.collapsed) .fa-circle-xmark {
  display: inline-block;
}
#main-navigation .navbar-toggler.collapsed .fa-circle-plus {
  display: inline-block;
}
#main-navigation .quick-links a {
  text-decoration: none;
  padding: 4px 6px;
  display: inline-block;
  border: 2px solid rgba(255,255,255,.5);
  border-radius: 1rem;
  margin-bottom: 8px;
  font-size: 16px;
}
#main-navigation .nav-item {
  text-align: center;
}
#main-navigation .navbar-brand {
  white-space: normal;
  display: flex;
  align-items: center;
  text-align: center;
}
#main-navigation .navbar-brand .service-areas {
  font-size: 16px;
  display: inline-block;
}
@media screen and (max-width: 1399px) {
  #main-navigation .navbar-brand .brand-name {
    font-size: 21px;
  }
  #main-navigation .navbar-brand .service-areas {
    font-size: 12px;
  }
}
@media screen and (max-width: 767px) {
  #main-navigation .navbar-brand {
    flex: 1 0 0%;
  }
  #main-navigation a.nav-link {
    text-decoration: none;
    padding: 4px;
    display: inline-block;
    border: 2px solid rgba(255,255,255,.5);
    border-radius: 1rem;
    margin-bottom: 8px;
    display: block;
  }
}
@media screen and (max-width: 318px) {
  #main-navigation .quick-links a.call-link .call-text {
    display: none;
  }
}
@media screen and (min-width: 768px) {
  #main-navigation.navbar-expand-md .navbar-nav {
    flex-wrap: wrap;
    justify-content: end;
  }
  #main-navigation .navbar-collapse .nav-item {
    padding: 8px;
  }
  #main-navigation .navbar-collapse .nav-item a {
    border-bottom: 4px solid rgba(255,255,255,.5);
    padding: 4px;
  }
  #main-navigation .navbar-collapse .nav-item a:hover,
  #main-navigation .navbar-collapse .nav-item a:focus {
    border-bottom: 4px solid rgba(255,255,255,.9);
  }
}

/* Homepage */
#home-page footer {
  border-top: none !important;
  padding-top: 1rem !important;
}
#home-page h2 {
  display: inline-block;
  border-bottom: 4px solid transparent;
}
#home-page h2.highlight {
  color: #f7941d !important;
  transition: 1s ease all;
  border-bottom: 4px solid #f7941d;
}
#home-page img.golf-cart-hero-image {
  width: 750px;
  transition: 1s ease all;
}
#home-page img.golf-cart-hero-image.reduce-hero-image-size {
  width: 450px;
}
.review-by .g-logo {
  float: right;
  font-size: 1.5rem;
}
.review-stars {
  color: gold;
  padding: 8px 0;
}

/* Checkout */
html#checkout .container.main {
  max-width: 960px;
}
html#checkout .checkout-page-right-side-cart .checkout-cart-item .meta[data-value="Mint"] {
  background-color: #02d9c7 !important;
  color: var(--bs-body-color);
}

/* Login */
html#login .container.main {
  max-width: 600px;
}

/* About Page */
#about-page img.golf-cart-hero-image {
  width: 750px;
}

/* SMS Code Confirm */
input#sms-code {
  max-width: 12rem;
  margin: auto;
  letter-spacing: 1rem;
  padding-right: 0;
}

/* Pick Date */
#pick-date #start-date,
#pick-date #end-date {
  width: 360px;
  max-width: 100%;
  font-size: 24px;
  text-align: center;
  display: inline-block;
  border: 4px solid #02d9c7;
  padding: 1rem 2rem;
  font-weight: bold;
}
#pick-date #see-availability {
  width: 360px;
  max-width: 100%;
  display: inline-block;
}

/* Pick Date / Pick Date with Calendar */
#pick-date .result,
#pick-date-with-calendar .result {
  border: 4px solid #02d9c7;;
  padding: 1rem;
  border-radius: 1rem;
  box-shadow: 0px 0px 12px rgba(0,0,0,.5);
  position: relative;
}
#pick-date .result .cart-image,
#pick-date-with-calendar .result .cart-image {
  float: left;
  width: 30%;
}
#pick-date .result .cart-info,
#pick-date-with-calendar .result .cart-info {
  float: right;
  width: 69%;
}
@media screen and (max-width: 768px) {
  #pick-date .result,
  #pick-date-with-calendar .result {
    text-align: center;
  }
  #pick-date .result .cart-image,
  #pick-date-with-calendar .result .cart-image,
  #pick-date .result .cart-info,
  #pick-date-with-calendar .result .cart-info {
    float: unset;
    width: 100%;
  }
}
#pick-date .result.not-available:before,
#pick-date-with-calendar .result.not-available:before {
  position: absolute;
  top: -4px;
  left: -4px;
  width: calc(100% + 8px);
  height: calc(100% + 8px);
  background-color: rgba(0,0,0,.25);
  content: " ";
  display: block;
  border-radius: 1rem;
}
#pick-date .result .already-reserved-message,
#pick-date-with-calendar .result .already-reserved-message {
  position: absolute;
  z-index: 1;
  top: 50%;
  left: 50%;
  transform: translate(-50%, -50%);
  text-align: center;
  background: #fff;
  padding: 1rem;
  border-radius: 1rem;
  box-shadow: 0px 0px 12px rgba(0,0,0,.5);
  border: 4px solid var(--bs-warning);
  font-size: 1.25rem;
}
#pick-date-with-calendar .result .cart-info .features {
  border-bottom: 2px solid #ccc;
  padding-bottom: 1rem;
}

/* Pick Date Result Coloring */
#pick-date-with-calendar .result[data-color="Mint"] {
  border-color: #02d9c7;
}
#pick-date-with-calendar .result[data-color="Orange"] {
  border-color: #eb6326;
}
#pick-date-with-calendar .result[data-color="Ocean Blue"] {
  border-color: #59a4f4;
}
#pick-date-with-calendar .result .cart-info .features .badge {
  background: #f3f3f3;
}
#pick-date-with-calendar .result .cart-info[data-color="Mint"] .features .cart-color {
  background: #5ad9be !important;
  color: #000;
}
#pick-date-with-calendar .result .cart-info[data-color="Orange"] .features .cart-color {
  background: #eb6326 !important;
}
#pick-date-with-calendar .result .cart-info[data-color="Ocean Blue"] .features .cart-color {
  background: #59a4f4 !important;
}

/* Rental Date Picker View */
.rental-date-picker-wrapper,
.rental-time-picker-wrapper {
  position: relative
}
.rental-time-picker-wrapper {
  display: none;
}
.rental-date-picker-wrapper .rental-date-picker-loading,
.rental-time-picker-wrapper .rental-time-picker-loading {
  position: absolute; 
  left: -5px; 
  top: 0; 
  height: 100%; 
  width: calc(100% + 10px); 
  backdrop-filter: blur(2px); 
  -webkit-backdrop-filter: blur(2px)
}
.rental-date-picker-wrapper .rental-date-picker-loading img,
.rental-time-picker-wrapper .rental-time-picker-loading img {
  position: absolute; 
  top: 50%; 
  left: 50%; 
  animation: rotation 5s infinite linear; 
  max-height: 45%
}
.rental-time-picker-wrapper {
  text-align: center;
}
div.month-name{
  text-align:center;
  font-size:1.5rem
}
table.calendar{
  width:100%;
  text-align: center
}
table.calendar td { 
  border: 4px solid #fff; 
  border-radius: 1rem; 
  cursor:no-drop
}
table.calendar td.day {
  width: 14%; 
  vertical-align: top; 
  padding: 1rem; 
  text-align: center; 
}
table.calendar td.day span.day-date, 
td.day span.today-date {
  font-size: 14pt; 
  font-weight: 700;
}
table.calendar th.header{
  background-color: #003972; 
  color: #fff; 
  font-size: 14pt; 
  padding: 5px;
}
table.calendar th.header:first-of-type{
  border-top-left-radius:1rem; 
  border-bottom-left-radius:1rem;
}
table.calendar th.header:last-of-type{
  border-top-right-radius:1rem; 
  border-bottom-right-radius:1rem;
}
table.calendar .not-month{
  background-color: #f8f9fa;
}
table.calendar td.today {
  background-color:#dc3545;
}
table.calendar td.available {
  background-color: #02d9c7;
}
table.calendar td.none-available {
  background-color: #dc3545;
}
table.calendar td.rental-period-limit {
  background-color: #adb5bd;
}
table.calendar td.none-available span.day-date,
td.past-day span.day-date{
  font-weight:normal
}
table.calendar td.past-day {
  background-color: #adb5bd;
}
table.calendar td.day.available:hover{
  cursor:pointer;
}
table.calendar td.day.selected:not(.none-available):not(.past-day){
  background-color:gold;
}
@media screen and (max-width: 768px) {
  table.calendar td.day{
    font-size: 16px;
    padding: 8px;
  }
}
@keyframes rotation {
  from {
    transform: translate(-50%,-50%) rotate(0deg);
  }
  to {
    transform: translate(-50%,-50%) rotate(359deg);
  }
}

/**
 * Post page.
 */
#post-page .post-content h2, 
#post-page .post-content h3 {
  font-family: var(--bs-btn-font-family) !important;
}
#post-page .post-content p {
  font-size: 1.2rem;
}
#post-page .post-content h2 {
  font-size: 1.5rem;
  font-weight: bold
}

/**
 * Dev notes.
 */
.dev-notes {
  padding: .5rem;
  font-family: 'Courier New', Courier, monospace;
  background: #333;
  color: lime;
  border-radius: .5rem;
  display: inline-block;
  font-size: .75rem;
  margin: 1rem;
  position: fixed;
  bottom: 0;
  left: 0;
}

/**
 * Chat.
 */
#launch-chat {
  position: fixed;
  right: 1rem;
  bottom: 1rem;
  background: var(--bs-primary);
  color: #fff;
  border-radius: 8px;
  padding: 8px 15px;
  cursor: pointer;
  box-shadow: 0px 0px 12px rgba(0,0,0,.3);
  border: 2px solid;
}
#launch-chat .chat-is-loading {
  display: none;
}
#launch-chat.loading .chat-is-loading {
  display: inline;
}
#launch-chat.loading .chat-with-us {
  display: none;
}

/**
 * Session keep alive.
 */
a#keep-session-alive[data-active="true"] {
  color: green;
  font-weight: bold;
}
a#keep-session-alive[data-active="false"] {
  color: #333;
}

/**
 * Accordion.
 */
.accordion-button {
  background: #efefef;
  border-top-left-radius: var(--bs-accordion-border-radius);
  border-top-right-radius: var(--bs-accordion-border-radius);
}
.accordion-button:not(.collapsed) {
  background: rgb(38,34,98) !important;
  background: linear-gradient(90deg, rgba(38,34,98,1) 10%, rgba(56,58,142,1) 90%) !important;
  color: #fff
}
.accordion-button:not(.collapsed)::after {
  background-image: url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 16 16' fill='none' stroke='white' stroke-linecap='round' stroke-linejoin='round'%3e%3cpath d='M2 5L8 11L14 5'/%3e%3c/svg%3e")
}
.accordion-item {
  border: none;
  margin-bottom: 1rem;
}

/**
 * Hero.
 */
.hero-image-container { 
  background-position: center;
  background-size: cover !important;
  position: relative;
}
.hero-image-container img {
  max-width: 100%;
  visibility: hidden;
}
.hero-image-container .hero-image-label {
  background: rgba(0,0,0,.65); 
  border-radius: .25rem 0 0 .25rem; 
  padding: .5rem; 
  color: #fff; 
  position: absolute; 
  right: 0rem; 
  bottom: 1rem; 
  font-size: .85rem
}