.all-new-badge::before {
	content: "ALL NEW";
	position: absolute;
	color: #fff;
	z-index: 1;
	background-color: var(--bs-primary);
	padding: .25rem;
	top: 0px;
	right: 0;
	font-weight: 700;
}

/* Locator Styles specific to website only */
#map {
  height: 300px;
}

.gm-style-iw.gm-style-iw-c {
	border-radius: 0;
	border: 1px solid #000;
	padding: 1rem !important;
}
.gm-style-iw.gm-style-iw-c .gm-style-iw-d {
	overflow: unset !important;
}
.location {
  padding: 1rem;
  position: relative;
}

.location.selected {
  outline: 1px solid var(--bs-primary);
  outline-offset: -10px;
}

.location .title {
  font-size: 1.5rem;
  line-height: 1;
  font-family: var(--bs-body-font-family);
  font-weight: bold;
  text-transform: uppercase;
}

.location .title a {
  text-decoration: none;
  color: var(--bs-black);
}

.location .title a:focus,
.location .title a:hover {
  outline: 0px none;
  color: var(--bs-primary);
}

.location .hours {
  font-size: .9rem;
  text-transform: uppercase;
  line-height: 1.25rem;
  margin-right: 1.5rem;
  margin-bottom: 0;
}

.dealer-types .dealer-type label {
  font-size: 0.8125rem;
}

.locate-grid-container {
  display: grid;
  grid-template-columns: 1fr;
  grid-template-rows: 0fr 0fr 0fr;
  gap: 0px 0px;
  grid-auto-flow: row;
  grid-template-areas:
    "locate-header"
    "locate-map"
    "locate-results";
}

.locate-header {
  grid-area: locate-header;
}

.locate-map {
  grid-area: locate-map;
}

.locate-results {
  grid-area: locate-results;
}


@media (min-width: 576px) {
  #map {
    height: 400px;
  }

  .location {
    padding: 2rem;
  }

  .dealer-types .dealer-type label {
    font-size: 1rem;
  }
}

@media (min-width: 992px) {
  #map {
    height: calc(100vh - 3rem);
  }

  .location .title {
    font-size: 1.875rem;
  }

  .location .hours {
    font-size: 1rem;
    line-height: 1.5rem;
  }

  .locate-grid-container {
    display: grid;
    grid-template-columns: .9fr 1fr;
    grid-template-rows: 0fr 0fr;
    gap: 0px 0px;
    grid-auto-flow: row;
    grid-template-areas:
      "locate-header locate-map"
      "locate-results locate-map";
  }

  .locate-header {
    grid-area: locate-header;
  }

  .locate-results {
    grid-area: locate-results;
  }

  .locate-map {
    grid-area: locate-map;
  }

}

@media (min-width: 1200px) {
  .locate-grid-container {
    grid-template-columns: .8fr 1fr;
  }
}

@media (min-width: 1400px) {
  .locate-grid-container {
    grid-template-columns: .7fr 1fr;
  }
}

/* Builder CSS Step 1 */
.builder-product-card {
  overflow: hidden;
  border: 0;
  border-bottom: 2px solid var(--bs-dark);
}

.builder-product-card-container .col-12:last-child .builder-product-card {
  border-bottom: 0px solid;
}

.builder-product-card .builder-card-img,
.builder-card-img .ratio {
  max-width: 125px;
}

.builder-card-img .ratio {
  --bs-aspect-ratio: 80%;
}

@media (max-width: 340px) {

  .builder-product-card .builder-card-img,
  .builder-card-img .ratio {
    visibility: hidden;
    width: 0rem !important;
  }

  .builder-product-card {
    padding: 0.25rem 0 1rem;
  }
}

@media (min-width: 768px) {
  .builder-product-card {
    border-bottom: 0px none;
  }

  .builder-card-img .ratio {
    --bs-aspect-ratio: 75%;
  }



  .builder-product-card .builder-card-img,
  .builder-card-img .ratio {
    max-width: 100%;
  }
}

.engine-select-btn,
.deck-select-btn,
.accessory-select-btn {
  min-width: 115px;
}

.engine-item::after,
.deck-item::after {
  content: "";
  position: absolute;
  width: 100%;
  height: 1px;
  background: #444;
  bottom: -.875rem;
}

.engine-item:last-child::after,
.deck-item:last-child::after {
  display: none;
}

@media (min-width: 576px) {

  .engine-item::after,
  .deck-item::after {
    display: none;
  }
}

/* Builder CSS Step 2 */
.engine-select-btn,
.deck-select-btn,
.accessory-select-btn {
  min-width: 115px;
}

.engine-item::after,
.deck-item::after {
  content: "";
  position: absolute;
  width: 100%;
  height: 1px;
  background: #444;
  bottom: -.875rem;
}

.engine-item:last-child::after,
.deck-item:last-child::after {
  display: none;
}

.selection-row {
  font-size: 0.75em;
}

.mower-container {
  --bs-aspect-ratio: 60%;
}

.accessory-item {
  border-bottom: 1px solid #000;
  margin-bottom: 1rem;
  padding-bottom: 1rem;
}

.accessory-item:last-child {
  border-bottom: 0px none;
  margin-bottom: 0rem;
  padding-bottom: 0rem;
}

.map-container {
  --bs-aspect-ratio: 100%;
}

@media (min-width: 576px) {

  .engine-item::after,
  .deck-item::after {
    display: none;
  }

  .selection-row {
    font-size: 1em;
  }
}

@media (min-width: 992px) {
  .display-container {
    height: 100vh;
    position: sticky;
    top: 0;
  }

  .mower-container {
    --bs-aspect-ratio: unset;
  }

  .info-container {
    position: sticky;
    bottom: 0;
  }

  .map-container {
    --bs-aspect-ratio: calc(9 / 21 * 100%);
  }
}

/* Builder CSS Step 3 */
.engine-select-btn,
.deck-select-btn,
.accessory-select-btn {
  min-width: 115px;
}

.engine-item::after,
.deck-item::after {
  content: "";
  position: absolute;
  width: 100%;
  height: 1px;
  background: #444;
  bottom: -.875rem;
}

.engine-item:last-child::after,
.deck-item:last-child::after {
  display: none;
}

.selection-row {
  font-size: 0.75em;
}

.mower-container {
  --bs-aspect-ratio: 50%;
}

.product-builder-mower-container {
  --bs-aspect-ratio: 85%;
  max-width: 60%;
}

.builder-anchor {
  position: relative;
  display: block;
  visibility: hidden;
}

.display-container .mower-container .mower-360-container {
	padding: 0 15%;
}

.accessory-item {
  border-bottom: 1px solid #000;
  margin-bottom: 1rem;
  padding-bottom: 1rem;
}

.accessory-item:last-child {
  border-bottom: 0px none;
  margin-bottom: 0rem;
  padding-bottom: 0rem;
}

.map-container {
  --bs-aspect-ratio: 100%;
}

@media (min-width: 576px) {

  .engine-item::after,
  .deck-item::after {
    display: none;
  }

  .selection-row {
    font-size: 1em;
  }
}

@media (min-width: 992px) {
  .display-container {
    height: 100vh;
    position: sticky;
    top: 0;
  }

  .mower-container {
    --bs-aspect-ratio: unset;
  }
  .display-container .mower-container .mower-360-container {
	padding: unset;
  }
  .info-container {
    position: sticky;
    bottom: 0;
  }

  .map-container {
    --bs-aspect-ratio: calc(9 / 21 * 100%);
  }
}
/* Builder CSS preloader */
.build-preloader {
  position: absolute;
  width: 100%;
  height: 100%;
  background: radial-gradient(circle, rgba(243, 111, 35, 0.9) 0%, rgba(0, 0, 0, 0.99) 100%), url('../jpg/coming_soon_bg.jpg');
  z-index: 1;
  display: flex;
  justify-content: center;
  align-items: center;
  top: 0;
  padding-bottom: 50px;
  background-position: 50% 90%;
  background-size: cover;
  overflow: hidden;
  opacity: 1;
  visibility: visible;
  transition: visibility 0s .75s, opacity .75s linear
}
.build-preloader.finished {
  opacity: 0;
  visibility: hidden;
}

.loader {
  position: relative;
  margin: auto;
  box-sizing: border-box;
  width: 250px;
  height: 250px;
  border-radius: 50%;
  border: 6px solid rgba(255, 255, 255, 0.1);
  transform-origin: 50% 50%;
  transform: perspective(200px) rotateX(66deg);
  animation: spinner-wiggle 1.2s infinite;
}

.loader:before,
.loader:after {
  content: "";
  position: absolute;
  inset: -6px;
  border-radius: 50%;
  box-sizing: border-box;
  border: 6px solid #0000;
  animation: spinner-spin 1.2s cubic-bezier(0.6, 0.2, 0, 0.8) infinite,
    spinner-fade 1.2s linear infinite;
}

.loader:before {
  border-top-color: #fff;
}

.loader::after {
  border-top-color: rgba(0, 0, 0, 0.75);
  animation-delay: 0.8s;
}

@keyframes spinner-spin {
  100% {
    transform: rotate(360deg)
  }
}

@keyframes spinner-fade {

  25%,
  75% {
    opacity: 0.1
  }

  50% {
    opacity: 1
  }
}
/* Login Styles */
[class*=" icon-"],
[class^=icon-] {
  font-family: Font Awesome\ 6 Pro;
}
.icon-eye:before {
  content: "\f06e";
}
.icon-eye-slash:before {
  content: "\f070";
}
