@font-face {
  font-display: swap;
  font-family: "HelveticaNeue";
  /* Helvetica Neue LT W01_41488878 */
  src: url("/assets/kubotatractor/fonts/1b950d2a-907a-4888-8056-0d44e8e86338.eot?#iefix");
  src: url("/assets/kubotatractor/fonts/1b950d2a-907a-4888-8056-0d44e8e86338.eot?#iefix") format("eot"), url("/assets/kubotatractor/fonts/3a46542f-f429-4821-9a88-62e3be54a640.woff2") format("woff2"), url("/assets/kubotatractor/fonts/50ac1699-f3d2-47b6-878f-67a368a17c41.woff") format("woff"), url("/assets/kubotatractor/fonts/0be5590f-8353-4ef3-ada1-43ac380859f8.ttf") format("truetype"), url("/assets/kubotatractor/fonts/82a4e1c2-7ffd-4c58-86fa-4010a6723c8e.svg#82a4e1c2-7ffd-4c58-86fa-4010a6723c8e") format("svg");
  font-weight: 300;
}
@font-face {
  font-display: swap;
  font-family: "HelveticaNeue";
  /* Helvetica Neue LT W01_46 Lt It */
  src: url("/assets/kubotatractor/fonts/e36efb7d-12e3-4773-a830-26e5652373ea.eot?#iefix");
  src: url("/assets/kubotatractor/fonts/e36efb7d-12e3-4773-a830-26e5652373ea.eot?#iefix") format("eot"), url("/assets/kubotatractor/fonts/261b4efb-3d70-4965-977d-38af9422700d.woff2") format("woff2"), url("/assets/kubotatractor/fonts/2e00514e-1764-4250-a0c5-aca3e5a8d133.woff") format("woff"), url("/assets/kubotatractor/fonts/e2fe2e07-9419-400f-953d-dc23cfa647a2.ttf") format("truetype"), url("/assets/kubotatractor/fonts/000472ba-312c-41be-b038-043ad8254e91.svg#000472ba-312c-41be-b038-043ad8254e91") format("svg");
  font-weight: 300;
  font-style: italic;
}
@font-face {
  font-display: swap;
  font-family: "HelveticaNeue";
  /* Helvetica Neue LT W01_55 Roman */
  src: url("/assets/kubotatractor/fonts/bf7ef4ce-de2a-4213-a9d7-826a3ee323cd.eot?#iefix");
  src: url("/assets/kubotatractor/fonts/bf7ef4ce-de2a-4213-a9d7-826a3ee323cd.eot?#iefix") format("eot"), url("/assets/kubotatractor/fonts/3dac71eb-afa7-4c80-97f0-599202772905.woff2") format("woff2"), url("/assets/kubotatractor/fonts/34e0e4c0-c294-49bb-9a8e-1b2cafd54e32.woff") format("woff"), url("/assets/kubotatractor/fonts/8a8bfee3-197c-4942-9b11-71508cc9f406.ttf") format("truetype"), url("/assets/kubotatractor/fonts/5101995a-e73b-4cf9-84e8-f99eb43277b1.svg#5101995a-e73b-4cf9-84e8-f99eb43277b1") format("svg");
  font-weight: 400;
}
@font-face {
  font-display: swap;
  font-family: "HelveticaNeue";
  /* Helvetica Neue LT W01_56 It */
  src: url("/assets/kubotatractor/fonts/5d0e5dca-869d-4e14-ac6b-45fbab3c4047.eot?#iefix");
  src: url("/assets/kubotatractor/fonts/5d0e5dca-869d-4e14-ac6b-45fbab3c4047.eot?#iefix") format("eot"), url("/assets/kubotatractor/fonts/21c44514-f4d6-4cff-a5de-e4cac5e61aff.woff2") format("woff2"), url("/assets/kubotatractor/fonts/e7c4b231-76ad-47c7-a54b-5d84dcd78d0f.woff") format("woff"), url("/assets/kubotatractor/fonts/b6db417f-e795-426a-a2af-adc37a3419a6.ttf") format("truetype"), url("/assets/kubotatractor/fonts/0c6d116c-89d1-402b-b9f3-2d9890d7a4ee.svg#0c6d116c-89d1-402b-b9f3-2d9890d7a4ee") format("svg");
  font-weight: 400;
  font-style: italic;
}
@font-face {
  font-display: swap;
  font-family: "HelveticaNeue";
  /* Helvetica Neue LT W01_65 Md */
  src: url("/assets/kubotatractor/fonts/f95f9fc2-ffda-431c-9d6a-2c3668f5b20b.eot?#iefix");
  src: url("/assets/kubotatractor/fonts/f95f9fc2-ffda-431c-9d6a-2c3668f5b20b.eot?#iefix") format("eot"), url("/assets/kubotatractor/fonts/5b1fbd62-45dc-4433-a7df-a2b24a146411.woff2") format("woff2"), url("/assets/kubotatractor/fonts/050b1948-f226-4d20-a65a-15d8ed031222.woff") format("woff"), url("/assets/kubotatractor/fonts/beb88be6-2a60-46fe-914f-6892b3ae46ce.ttf") format("truetype"), url("/assets/kubotatractor/fonts/e5567978-93ef-4de1-804d-1f0e3654a014.svg#e5567978-93ef-4de1-804d-1f0e3654a014") format("svg");
  font-weight: 500;
}
@font-face {
  font-display: swap;
  font-family: "HelveticaNeue";
  /* Helvetica Neue LT W01_66 Md It */
  src: url("/assets/kubotatractor/fonts/4c68f39a-1d08-4a26-81b3-c424cbe6d712.eot?#iefix");
  src: url("/assets/kubotatractor/fonts/4c68f39a-1d08-4a26-81b3-c424cbe6d712.eot?#iefix") format("eot"), url("/assets/kubotatractor/fonts/657c2fa4-585b-4761-9e2e-65ab13159323.woff2") format("woff2"), url("/assets/kubotatractor/fonts/400869f0-f0d5-49a0-8a11-f4fb4279d125.woff") format("woff"), url("/assets/kubotatractor/fonts/14df02b1-01f4-4426-bf7b-ad2f39dc1346.ttf") format("truetype"), url("/assets/kubotatractor/fonts/af7715e0-f8ab-4b34-a78f-a9dad7859eff.svg#af7715e0-f8ab-4b34-a78f-a9dad7859eff") format("svg");
  font-weight: 500;
  font-style: italic;
}
@font-face {
  font-display: swap;
  font-family: "HelveticaNeue";
  /* Helvetica Neue LT W01_71488914 */
  src: url("/assets/kubotatractor/fonts/8a6c3e5a-88a5-430c-91d8-7767ce971d12.eot?#iefix");
  src: url("/assets/kubotatractor/fonts/8a6c3e5a-88a5-430c-91d8-7767ce971d12.eot?#iefix") format("eot"), url("/assets/kubotatractor/fonts/531c5a28-5575-4f58-96d4-a80f7b702d7b.woff2") format("woff2"), url("/assets/kubotatractor/fonts/439c5962-f9fe-4eaf-a1f6-f41d42edba75.woff") format("woff"), url("/assets/kubotatractor/fonts/419a308d-b777-4f84-9235-2caf4a98ec23.ttf") format("truetype"), url("/assets/kubotatractor/fonts/e4d5b881-6835-45b7-8766-3e5b9e7cab8b.svg#e4d5b881-6835-45b7-8766-3e5b9e7cab8b") format("svg");
  font-weight: 700;
}
@font-face {
  font-display: swap;
  font-family: "HelveticaNeue";
  /* Helvetica Neue LT W01_76 Bd It */
  src: url("/assets/kubotatractor/fonts/52b6ae3e-9443-4acc-9bf9-f5154eeab77c.eot?#iefix");
  src: url("/assets/kubotatractor/fonts/52b6ae3e-9443-4acc-9bf9-f5154eeab77c.eot?#iefix") format("eot"), url("/assets/kubotatractor/fonts/ade4dbae-c607-4c84-a375-f0c4de0cc357.woff2") format("woff2"), url("/assets/kubotatractor/fonts/5b864741-6f14-4ed9-a297-27a4d73edf51.woff") format("woff"), url("/assets/kubotatractor/fonts/0cdccad5-a023-4a17-8ea9-01a0e6ad7ff4.ttf") format("truetype"), url("/assets/kubotatractor/fonts/d4b14776-395f-4a46-9862-3a0bb4e7a379.svg#d4b14776-395f-4a46-9862-3a0bb4e7a379") format("svg");
  font-weight: 700;
  font-style: italic;
}
@font-face {
  font-display: swap;
  font-family: "HelveticaNeueCondensed";
  /* Helvetica Neue LT W01_97 BlkCn */
  src: url("/assets/kubotatractor/fonts/fb8ed62a-3750-405b-b721-f4b950bfd875.eot?#iefix");
  src: url("/assets/kubotatractor/fonts/fb8ed62a-3750-405b-b721-f4b950bfd875.eot?#iefix") format("eot"), url("/assets/kubotatractor/fonts/d38cc1e3-5680-4390-8f60-78901d6e375b.woff2") format("woff2"), url("/assets/kubotatractor/fonts/04d98c2f-b101-4363-976a-6581c5acf5d8.woff") format("woff"), url("/assets/kubotatractor/fonts/f20324bd-78cb-412c-a570-efea43e52715.ttf") format("truetype"), url("/assets/kubotatractor/fonts/b3a7788b-f2f7-453b-bf6a-66bd22632ef4.svg#b3a7788b-f2f7-453b-bf6a-66bd22632ef4") format("svg");
  font-weight: 300;
}
@font-face {
  font-display: swap;
  font-family: "HelveticaNeueCondensed";
  /* Helvetica Neue LT W01_97 BlkCn */
  src: url("/assets/kubotatractor/fonts/fb8ed62a-3750-405b-b721-f4b950bfd875.eot?#iefix");
  src: url("/assets/kubotatractor/fonts/fb8ed62a-3750-405b-b721-f4b950bfd875.eot?#iefix") format("eot"), url("/assets/kubotatractor/fonts/d38cc1e3-5680-4390-8f60-78901d6e375b.woff2") format("woff2"), url("/assets/kubotatractor/fonts/04d98c2f-b101-4363-976a-6581c5acf5d8.woff") format("woff"), url("/assets/kubotatractor/fonts/f20324bd-78cb-412c-a570-efea43e52715.ttf") format("truetype"), url("/assets/kubotatractor/fonts/b3a7788b-f2f7-453b-bf6a-66bd22632ef4.svg#b3a7788b-f2f7-453b-bf6a-66bd22632ef4") format("svg");
  font-weight: 900;
}
@-webkit-keyframes errorFlashing {
  0% {
    background-color: black;
    box-shadow: 0 0 3px black;
    -webkit-box-shadow: 0 0 3px black;
  }
  50% {
    background-color: #69200b;
    box-shadow: 0 0 15px #69200b;
    -webkit-box-shadow: 0 0 15px #69200b;
  }
  100% {
    background-color: #DC4418;
    box-shadow: 0 0 3px #DC4418;
    -webkit-box-shadow: 0 0 3px #DC4418;
  }
}
@-webkit-keyframes errorFlashing {
  0% {
    background-color: #000;
    box-shadow: 0 0 3px black;
    -webkit-box-shadow: 0 0 3px black;
  }
  50% {
    background-color: #69200b;
    box-shadow: 0 0 15px #69200b;
    -webkit-box-shadow: 0 0 15px #69200b;
  }
  100% {
    background-color: #dc4418;
    box-shadow: 0 0 3px #dc4418;
    -webkit-box-shadow: 0 0 3px #dc4418;
  }
}
body {
  background: #e0e0e0;
  color: #1a1a1a;
  font-family: "HelveticaNeue";
  font-size: 18px;
  line-height: 28px;
}

a {
  -moz-transition: all 0.2s ease-in-out;
  -o-transition: all 0.2s ease-in-out;
  -webkit-transition: all 0.2s ease-in-out;
  transition: all 0.2s ease-in-out;
}

button {
  -moz-transition: all 0.2s ease-in-out;
  -o-transition: all 0.2s ease-in-out;
  -webkit-transition: all 0.2s ease-in-out;
  transition: all 0.2s ease-in-out;
  text-transform: uppercase;
  text-align: center;
}

a.button {
  -moz-transition: all 0.2s ease-in-out;
  -o-transition: all 0.2s ease-in-out;
  -webkit-transition: all 0.2s ease-in-out;
  transition: all 0.2s ease-in-out;
  text-transform: uppercase;
  text-align: center;
  display: inline-block;
  text-decoration: none;
}

h1 {
  font-family: "HelveticaNeueCondensed";
  font-size: 40px;
  text-transform: uppercase;
  padding-top: 2rem;
}

.subheadline {
  font-family: "HelveticaNeue";
  color: #909090;
  text-align: center;
  text-transform: uppercase;
  font-weight: bold;
  font-size: 85%;
}

.navbar-nav {
  flex-direction: row;
  flex: 1;
  justify-content: flex-end;
}

.orange {
  color: #DC4418;
}

sup {
  color: #DC4418;
  font-size: 70%;
  line-height: 100%;
  font-weight: bold;
  padding-left: 2px;
  cursor: pointer;
  top: -0.5em;
}

a.toolTipLink {
  cursor: pointer !important;
}

a.jumpToStep {
  cursor: pointer !important;
}

.sharingActionsContainer a {
  cursor: pointer !important;
}

.printOutputHolder,
.printSummaryOutputHolder {
  display: none;
}

.dealerResultsContainer {
  margin: 10px 0 15px 0;
  padding: 0;
  box-shadow: 0 0 3px black;
  -webkit-box-shadow: 0 0 3px #000;
}
.dealerResultsContainer a.dealerResult {
  display: flex;
  padding: 0.5rem;
  border: 0 none;
  color: #1A1A1A;
  flex-wrap: wrap;
  text-decoration: none;
  overflow: hidden;
  background: #fff;
  align-content: center;
  justify-content: space-between;
  cursor: pointer;
  border-bottom: 1px solid #ccc;
}
.dealerResultsContainer a.dealerResult:hover {
  background: #efefef;
}
.dealerResultsContainer a.dealerResult:last-child {
  border-bottom: 0px none;
}
.dealerResultsContainer a.dealerResult.active {
  background: #ccc;
}
.dealerResultsContainer a.dealerResult em {
  width: 10%;
  color: #DC4418;
  font-size: 200%;
}
.dealerResultsContainer a.dealerResult span.dealerDetailsContainer {
  width: 90%;
  display: flex;
  flex-direction: column;
}
.dealerResultsContainer a.dealerResult span.dealerDetailsContainer strong {
  display: block;
  font-size: 125%;
  text-transform: uppercase;
  text-align: left;
  font-family: "HelveticaNeueCondensed";
}
.dealerResultsContainer a.dealerResult span.dealerDetailsContainer span.dealerDetails {
  display: block;
  font-size: 90%;
  text-transform: uppercase;
  text-align: left;
}

.chooseDealerNote {
  display: block;
  padding: 1rem;
  text-align: center;
}

.action-button {
  color: #fff;
  background: #DC4418;
  border-color: #DC4418;
  font-size: 95%;
  text-transform: uppercase;
  font-weight: bold;
  text-decoration: none;
}
.action-button:hover {
  background-color: #000;
  border-color: #fff;
}
.action-button.black {
  background-color: #000;
  border-color: #fff;
}
.action-button.black:hover {
  background: #DC4418;
  border-color: #fff;
}

div.modal-content div.modal-body.config-validation.conflict-modal-body {
  flex-direction: column;
  width: 100%;
}
.conflict-modal-content {
  width: 100%;
}
.conflict-you-adding,
.conflict-also-required {
  margin-bottom: 12px;
}

.packageDecisionGroup {
  display: flex;
  flex-direction: column;
  gap: 10px;
  width: 100% !important;
}
.packageDecisionGroup .action-button {
  width: 100%;
}
@media (min-width: 1024px) {
  .packageDecisionGroup {
    flex-direction: row;
  }
  .packageDecisionGroup .action-button {
    flex: 1 1 0;
  }
}

.attachItemContainer.nothumbnail .wholegoodsItemImage {
  display: none !important;
}
.attachItemContainer.nothumbnail .wholegoodsItemDetailsContainer {
  width: 100% !important;
}

.attachItemContainer.nothumbnail.active .wholegoodsItemDetailsContainer {
  width: 100% !important;
}

.wholegoodsItemImage.centerSmall {
  display: flex !important;
  flex-direction: column !important;
  justify-content: center;
  padding: 10px;
}
.wholegoodsItemImage.centerSmall img {
  width: 55% !important;
  height: auto !important;
  display: block !important;
  margin: 0 auto !important;
}

.attachItemContainer.active .action-button {
  color: #fff;
  background: #000;
  border-color: #000;
}

.attachItemContainer.active[data-istireattachment=true] .action-button {
  display: none !important;
}

.attachItemContainer em.bi {
  display: none;
}
@media (min-width: 1024px) {
  .attachItemContainer em.bi {
    display: inline-block;
  }
}

div.modal-content div.modal-body > .highlights-container {
  flex-direction: row;
  flex-wrap: wrap;
}
div.modal-content div.modal-body.config-validation {
  flex-direction: row;
  flex-wrap: wrap;
}
@media (max-width: 1023px) {
  div.modal-content div.modal-body.config-validation .prerequisite-preview {
    flex-direction: column;
  }
  div.modal-content div.modal-body.config-validation .packageDecisionGroup {
    flex-direction: column;
  }
}

div.modal-content div.modal-body > .highlights-container {
  justify-content: center;
  display: flex;
}

div.modal-content div.modal-body > .highlights-container a,
div.modal-content div.modal-body > .highlights-container button {
  margin-top: 1rem;
  margin-left: 0.5rem;
  margin-right: 0.5rem;
  margin-bottom: 0;
  text-decoration: none;
}

.hiddenPrint {
  display: none;
}

.navbar-brand {
  padding-top: 0;
  padding-bottom: 0;
  margin-right: 0;
}

.white-button {
  color: #DC4418;
  background: #FFF;
  border: #DC4418 2px solid;
  font-weight: bold;
}
.white-button:hover {
  background-color: #000;
  border: #FFF 2px solid;
}

.black-button {
  color: #fff;
  background: #1A1A1A;
  border-color: #1A1A1A;
  font-weight: bold;
  border: 1px;
}
.black-button:hover {
  background-color: #DC4418;
  border-color: #fff;
}

.orange-button {
  color: #FFF;
  background: #DC4418;
  border: #DC4418 2px solid;
  font-weight: bold;
}
.orange-button:hover {
  background-color: #000;
  border: #FFF 2px solid;
}

.detailsContainerContent .groupListHeader:hover {
  cursor: pointer;
}

body.model-details div.container.main-content {
  background: #fff;
  padding: 0px !important;
}

.sliderContainerContent {
  width: 100%;
  margin: 0 auto 1rem auto;
}
.sliderContainerContent #carouselModels {
  width: 100%;
  min-height: 200px;
  background: #666;
  /*background-image: url("/assets/kubotatractor/Images/sample_model_headline_image.jpg");*/
  background-size: 100% auto;
  background-repeat: no-repeat;
  background-position: center center;
}
.sliderContainerContent #carouselModels .carousel-inner {
  width: 100%;
  min-height: 200px;
}
.sliderContainerContent #carouselModels .modelSliderBullets {
  margin-left: 1%;
  margin-right: 1%;
  margin-bottom: 25px;
  justify-content: center;
}
.sliderContainerContent #carouselModels .modelSliderBullets button {
  width: 15px;
  height: 15px;
  border-radius: 7.5px;
  border-top: 0 none;
  border-bottom: 0 none;
  background-color: #ccc;
  opacity: 0.75;
  margin-right: 8px;
  margin-left: 8px;
}
.sliderContainerContent #carouselModels .modelSliderBullets button.active {
  background-color: #DC4418;
}
.sliderContainerContent #carouselModels .modelCarouselContainer {
  min-height: 380px;
  background-size: auto 100%;
  background-position: center;
  background-repeat: no-repeat;
}
.sliderContainerContent #carouselModels .modelCarouselContainer img {
  min-height: 380px;
  color: #ffa500;
  visibility: hidden;
}
.sliderContainerContent #carouselModels .modelCarouselContainer .modelCarouselCaptionContainer {
  left: 0;
  right: 0;
  padding-left: 2rem;
  padding-right: 2rem;
  padding-top: 2rem;
  padding-bottom: 1rem;
}
.sliderContainerContent #carouselModels .modelCarouselContainer .modelCarouselCaptionContainer span.sliderModel {
  color: #fff;
  font-weight: bold;
  font-size: 175%;
  line-height: 115%;
  text-align: center;
  display: block;
  width: 100%;
  font-family: "HelveticaNeueCondensed";
  text-transform: uppercase;
}
.sliderContainerContent #carouselModels .modelCarouselContainer .modelCarouselCaptionContainer span.positionHeadline {
  color: #fff;
  font-size: 100%;
  line-height: 150%;
  text-align: center;
  display: block;
  width: 100%;
  margin-bottom: 10px;
}
.sliderContainerContent #carouselModels .modelCarouselContainer .modelCarouselCaptionContainer .choosePackage {
  display: block;
  width: auto;
  max-width: 180px;
  margin: 0.25rem auto 2rem auto;
  font-size: 80%;
  padding: 0.25rem;
  text-align: center;
  color: #fff !important;
  font-weight: bold;
  text-transform: uppercase;
  float: none;
  border-width: 0 !important;
}

.groupContainerContent {
  display: flex;
  flex-wrap: wrap;
  justify-content: flex-start;
  align-content: center;
  width: 96%;
  margin: 1rem auto 3rem auto;
  min-height: 322px;
}
.groupContainerContent a.groupLink {
  background: #fff;
  width: calc(50% - 10px);
  overflow: hidden;
  margin: 0 5px 10px 5px;
  display: flex;
  flex-direction: column;
  justify-content: space-between;
  position: relative;
}
.groupContainerContent a.groupLink span.groupThumbContainer {
  position: relative;
  display: flex;
  flex-grow: 1;
  flex-direction: column;
  justify-content: center;
  padding: 0;
  width: 100%;
  margin: 1rem auto 0 auto;
}
.groupContainerContent a.groupLink span.groupThumbContainer img.groupThumb.thumb {
  display: block;
  height: auto;
  width: 90%;
  margin: 0 auto;
  padding: 0;
  z-index: 2;
  transition: left 0.5s ease-out, left 0.5s ease-out, top 0.5s ease-out;
}
.groupContainerContent a.groupLink span.headline {
  font-family: "HelveticaNeueCondensed";
  font-size: 125%;
  line-height: 110%;
  text-align: center;
  text-transform: uppercase;
  position: relative;
  display: flex;
  flex-direction: column;
  justify-content: flex-end;
  padding: 1rem 0;
  margin: 0 auto 2rem auto;
  width: 100%;
}
.groupContainerContent a.groupLink span.headline:before {
  content: "";
  position: absolute;
  bottom: 0;
  width: 50%;
  left: 25%;
  border-bottom: 2px solid #dc4418;
}
.groupContainerContent a.groupLink span.detailsLink {
  position: absolute;
  top: 15px;
  right: 15px;
  z-index: 3;
  width: 78px;
  height: 28px;
  background: #DDDDDD;
  border-radius: 20px;
  display: flex;
  align-items: center;
  justify-content: center;
  font-size: 11px;
  font-weight: bold;
  line-height: 1;
  color: #333;
  cursor: pointer;
  transition: background 0.3s ease-out;
}
.groupContainerContent a.groupLink span.detailsLink:hover {
  background: #C5C5C5;
}
.groupContainerContent a.groupLink span.detailsLink em {
  font-size: 13px;
  line-height: 1;
  padding-right: 4px;
}
.groupContainerContent div.modelContainer {
  background: #fff;
  width: calc(50% - 20px);
  padding: 0.25rem 0.5rem 0.5rem 0.5rem;
  overflow: hidden;
  margin: 0 5px 10px 5px;
  display: flex;
  flex-direction: column;
  justify-content: space-between;
  flex-wrap: wrap;
  position: relative;
}
.groupContainerContent div.modelContainer .textLink {
  font-size: 16px;
  font-weight: bold;
  text-decoration: underline;
  display: block;
  text-align: center;
  width: 100%;
}
.groupContainerContent div.modelContainer span.groupThumbContainer {
  width: 100%;
  position: relative;
  display: flex;
  flex-grow: 1;
  flex-direction: column;
  justify-content: center;
  padding: 0;
  width: 100%;
  margin: 1rem auto 0 auto;
  overflow: hidden;
}
.groupContainerContent div.modelContainer span.groupThumbContainer img.groupThumb.thumb {
  display: block;
  height: auto;
  width: 90%;
  margin: 0 auto;
  padding: 0;
  z-index: 2;
  transition: left 0.5s ease-out, left 0.5s ease-out, top 0.5s ease-out;
}
.groupContainerContent div.modelContainer span.modelHeadline {
  width: 100%;
  display: block;
  font-size: 100%;
  line-height: 110%;
  text-align: center;
  text-transform: uppercase;
  position: relative;
}
.groupContainerContent div.modelContainer span.modelNameHeadline {
  width: 100%;
  display: block;
  font-family: "HelveticaNeueCondensed";
  font-size: 115%;
  line-height: 100%;
  text-align: center;
  text-transform: uppercase;
  font-weight: bold;
  margin: 0 auto 0.25rem auto;
}
.groupContainerContent div.modelContainer span.modelDescription {
  width: 100%;
  display: block;
  font-size: 16px;
  line-height: 125%;
  text-align: center;
  color: #777;
  padding: 0 0.25rem;
  margin: 0 auto 0.25rem auto;
  min-height: 70px;
  overflow: hidden;
}
.groupContainerContent div.modelContainer span.modelHPMsrpContainer {
  display: flex;
  flex-direction: row;
  justify-content: center;
}
.groupContainerContent div.modelContainer span.hp-container {
  display: block;
  width: 45%;
}
.groupContainerContent div.modelContainer span.msrp-container {
  display: block;
  width: 55%;
}
.groupContainerContent div.modelContainer span.hp-value {
  display: block;
  font-size: 90%;
  line-height: 150%;
  text-align: center;
  text-transform: uppercase;
  font-weight: bold;
}
.groupContainerContent div.modelContainer span.msrp-value {
  display: block;
  font-size: 90%;
  line-height: 150%;
  text-align: center;
  text-transform: uppercase;
  font-weight: bold;
}
.groupContainerContent div.modelContainer span.hp-label {
  display: block;
  font-size: 65%;
  line-height: 105%;
  text-align: center;
  text-transform: uppercase;
}
.groupContainerContent div.modelContainer span.msrp-label {
  display: block;
  font-size: 65%;
  line-height: 105%;
  text-align: center;
  text-transform: uppercase;
}
.groupContainerContent div.modelContainer .choosePackage {
  display: block;
  width: auto;
  margin: 0.75rem 0.4rem;
  font-size: 16px;
  padding: 0.25rem;
  text-align: center;
  cursor: pointer;
  font-family: inherit;
  position: static;
}
.groupContainerContent div.modelContainer .choosePackage::after {
  content: "";
  position: absolute;
  top: 0;
  left: 0;
  right: 0;
  bottom: 0;
  z-index: 1;
}
.groupContainerContent div.modelContainer .choosePackage.orange-button {
  color: #fff !important;
  padding: 0.25rem;
  font-weight: bold;
  text-transform: uppercase;
}
.groupContainerContent div.modelContainer .startConfiguring {
  display: block;
  width: 100%;
  margin: 0.25rem 0;
  font-size: 16px;
  padding: 0.25rem;
  text-align: center;
}
.groupContainerContent div.modelContainer .startConfiguring.orange-button {
  color: #fff !important;
  padding: 0.25rem;
  font-weight: bold;
  text-transform: uppercase;
}
.groupContainerContent div.modelContainer .startConfiguring.textLink {
  font-size: 16px;
  font-weight: bold;
  text-decoration: underline;
  display: block;
  text-align: center;
  width: 100%;
}
/* Wraps div.modelPicker so it can look/behave like the shared app modals on
   mobile — full-viewport dark backdrop, centered content, background scroll
   locked (see the useEffect in Product.js) — without actually going through
   the shared Modal system. Desktop keeps .modelPicker's own per-card
   absolute overlay, so this wrapper is neutralized there (see the
   min-width: 1024px override below). */
.groupContainerContent div.modelContainer div.modelPickerBackdrop {
  position: fixed;
  inset: 0;
  background: rgba(0, 0, 0, 0.5);
  z-index: 10;
  display: flex;
  align-items: center;
  justify-content: center;
}
.groupContainerContent div.modelContainer div.modelPicker {
  display: none;
  position: relative;
  display: none;
  position: relative;
  display: flex;
  flex-direction: column;
  /* Centered by .modelPickerBackdrop's flexbox above instead of
     self-positioning — position: relative (not static) so .unPick below
     still anchors to this card and not to the backdrop. */
  position: relative;
  width: 95%;
  /* max-height (not height) — shrinks to fit short lists instead of always
     stretching to 90vh, which left a large empty gap before the button when
     a package group had few/no options. Still caps and scrolls long lists. */
  max-height: 90vh;
  overflow: hidden;
  z-index: 10;
  background: #fff;
}
.groupContainerContent div.modelContainer div.modelPicker .unPick {
  border: none;
  background: transparent;
  min-width: 44px;
  min-height: 44px;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  font-size: 150%;
  color: #fff;
  font-weight: bold;
  position: absolute;
  top: 0;
  right: 0;
  cursor: pointer;
}
.groupContainerContent div.modelContainer div.modelPicker div.modelPickerHeader {
  background: #000;
  color: #fff;
  font-size: 16px;
  line-height: 115%;
  padding: 0.5rem 0.75rem 0 0.75rem;
  text-align: left;
  text-transform: uppercase;
  font-weight: bold;
  border-bottom: #000 solid 2px;
}
.groupContainerContent div.modelContainer div.modelPicker div.modelPickerDisclaimer {
  background: #000;
  color: #fff;
  font-size: 13px;
  line-height: 115%;
  padding: 0 0.75rem 0.5rem 0.75rem;
  text-align: left;
}
.groupContainerContent div.modelContainer div.modelPicker div.modelPickerGroup {
  border-top: 1px solid #ccc;
  padding-top: 0.75rem;
  margin: 0 1rem;
}
.groupContainerContent div.modelContainer div.modelPicker div.modelPickerGroup h2 {
  /* flex (not float) — float positions the arrow wherever the preceding text
     flow has reached, so a long, wrapping group name dragged it down to the
     last line instead of keeping it at the top. */
  display: flex;
  align-items: flex-start;
  justify-content: space-between;
  gap: 0.5rem;
  text-align: left;
  font-size: 1rem;
  font-weight: bold;
  cursor: pointer;
}
.groupContainerContent div.modelContainer div.modelPicker div.modelPickerGroup h2 em {
  flex-shrink: 0;
}
.groupContainerContent div.modelContainer div.modelPicker div.modelPickerGroup div.modelPickerItem {
  margin: 0 !important;
}
.groupContainerContent div.modelContainer div.modelPicker div.modelPickerItemsContainer {
  flex: 1;
  overflow: hidden;
  overflow-y: scroll;
  padding: 1rem 0;
  border-bottom: #ccc solid 1px;
}
.groupContainerContent div.modelContainer div.modelPicker div.modelPickerItemsContainer div.modelPickerItem {
  display: flex;
  margin: 0rem 1rem 0 1rem;
  padding: 0.75rem 0;
  border-top: 1px solid #ccc;
  justify-content: space-between;
  position: relative;
}
.groupContainerContent div.modelContainer div.modelPicker div.modelPickerItemsContainer div.modelPickerItem .modelPickerRadioContainer {
  width: 15%;
  cursor: pointer;
  display: block;
  border: none;
  background: transparent;
  padding: 0;
  color: #0d6efd;
  font-family: inherit;
}
.groupContainerContent div.modelContainer div.modelPicker div.modelPickerItemsContainer div.modelPickerItem .modelPickerRadioContainer::after {
  content: "";
  position: absolute;
  top: 0;
  left: 0;
  right: 0;
  bottom: 0;
}
.groupContainerContent div.modelContainer div.modelPicker div.modelPickerItemsContainer div.modelPickerItem div.modelPickerContentContainer {
  width: 84%;
  display: flex;
  flex-wrap: wrap;
  justify-content: space-between;
}
.groupContainerContent div.modelContainer div.modelPicker div.modelPickerItemsContainer div.modelPickerItem div.modelPickerContentContainer span.modelPickerContentDescription {
  display: block;
  font-size: 16px;
  width: 100%;
  line-height: 110%;
  text-transform: uppercase;
  text-align: left;
}
.groupContainerContent div.modelContainer div.modelPicker div.modelPickerItemsContainer div.modelPickerItem div.modelPickerContentContainer a.modelPickerContentTooltip {
  display: block;
  font-size: 16px;
  font-weight: bold;
  line-height: 110%;
  padding-right: 0.25rem;
}
.groupContainerContent div.modelContainer div.modelPicker div.modelPickerItemsContainer div.modelPickerItem div.modelPickerContentContainer span.modelPickerContentCost {
  font-size: 16px;
  font-weight: bold;
  text-align: left;
  font-family: "HelveticaNeueCondensed";
}
.groupContainerContent div.modelContainer div.modelPicker div.modelPickerItemsContainer div.modelPickerItem div.modelPickerContentContainer span.modelPickerContentTireNote {
  font-size: 16px;
  text-transform: uppercase;
  white-space: nowrap;
  overflow: hidden;
  letter-spacing: 0.5px;
  padding-right: 0.25rem;
}
.groupContainerContent div.modelContainer span.centerIfOnly:only-child {
  margin-right: auto;
}
.groupContainerContent div.modelContainer.pickerOn {
  position: initial;
}
.groupContainerContent div.modelContainer.pickerOn div.modelPicker {
  /*display: flex;
  flex-direction: column;
  position: fixed;
  width: 95%;
  height: 90vh;
  top: 2.5vh;
  left: 2.5%;
  overflow: hidden;
  z-index: 10;
  background: #fff;*/
  display: flex;
  flex-direction: column;
  position: fixed;
  width: 84%;
  max-height: 80vh;
  top: 5vh;
  left: 8%;
  overflow: hidden;
  z-index: 10;
  background: #fff;
  box-shadow: 0px 0px 500px black;
}
.groupContainerContent .groupLink {
  background: #fff;
  width: calc(50% - 10px);
  margin: 1rem;
  overflow: hidden;
  margin: 0 5px 10px 5px;
  display: flex;
  flex-direction: column;
  justify-content: space-between;
  position: relative;
}
.groupContainerContent .groupLink span.groupThumbContainer {
  position: relative;
  display: flex;
  flex-grow: 1;
  padding: 0;
  width: 100%;
  height: 100%;
  margin: 1rem auto 0;
}
.groupContainerContent .groupLink span.groupThumbContainer img.groupThumb.thumb {
  display: block;
  height: auto;
  width: 90%;
  margin: auto;
  padding: 0;
  z-index: 2;
  transition: left 0.5s ease-out, left 0.5s ease-out, top 0.5s ease-out;
}
.groupContainerContent .groupLink span.headline {
  font-family: "HelveticaNeueCondensed", Helvetica, Arial, sans-serif;
  font-size: 125%;
  line-height: 110%;
  text-align: center;
  text-transform: uppercase;
  position: relative;
  display: flex;
  flex-direction: column;
  justify-content: flex-end;
  padding: 1rem 0;
  margin: 0 auto 1rem auto;
}
.groupContainerContent .groupLink span.headline:before {
  content: "";
  position: absolute;
  bottom: 0;
  width: 80%;
  left: 10%;
  border-bottom: 2px solid #dc4418;
}
.groupContainerContent .groupLink span.detailsLink {
  position: absolute;
  top: 15px;
  right: 15px;
  z-index: 3;
  width: 78px;
  height: 28px;
  background: #DDDDDD;
  border-radius: 20px;
  display: flex;
  align-items: center;
  justify-content: center;
  font-size: 11px;
  font-weight: bold;
  line-height: 1;
  color: #333;
  cursor: pointer;
  transition: background 0.3s ease-out;
}
.groupContainerContent .groupLink span.detailsLink:hover {
  background: #C5C5C5;
}
.groupContainerContent .groupLink span.detailsLink em {
  font-size: 13px;
  line-height: 1;
  padding-right: 4px;
}
.groupContainerContent .noAvailableSeries {
  width: 100%;
  text-align: center;
  padding: 3rem 1rem;
}
.groupContainerContent .noAvailableSeries p {
  font-size: 110%;
  color: #666;
  margin-bottom: 1.5rem;
}
.groupContainerContent .noAvailableSeries button {
  padding: 0.75rem 2rem;
}
.groupContainerContent.modelList {
  justify-content: space-evenly;
}
.groupContainerContent.modelList div.modelContainer {
  margin: 0 0 15px 0;
}
.groupContainerContent.skeletonGrid > .modelContainer:nth-child(n+5) {
  display: none;
}

.flashError {
  -webkit-animation: errorFlashing 1300ms;
  -moz-animation: errorFlashing 1300ms;
  -o-animation: errorFlashing 1300ms;
  animation: errorFlashing 1300ms;
}

.modal.show {
  padding: 1rem;
  display: block;
}

div.modal-content {
  border-radius: 0px;
  border: 0 none;
  box-shadow: 0 0.5rem 1rem rgba(0, 0, 0, 0.5);
  font-family: "HelveticaNeue";
  z-index: 1001;
}
div.modal-content .modal-header {
  border-bottom: none;
  border-top: none;
  width: 100%;
}
div.modal-content .modal-header button.close {
  position: absolute;
  top: 8px;
  right: 14px;
  background: transparent;
  border: 0 none;
  padding: 0;
  margin: 0;
  font-size: 150%;
  text-align: center;
  width: auto;
  color: #1a1a1a;
  z-index: 100;
}
div.modal-content .modal-header button.close:hover {
  color: #000;
  text-shadow: 3px 5px 5px rgba(0, 0, 0, 0.7);
}
div.modal-content .modal-footer {
  border-top: none;
  display: flex;
  justify-content: space-evenly;
  margin: 0 0 25px 0;
}
div.modal-content .modal-footer button {
  width: 100%;
  border-radius: 0;
  text-align: center;
  margin-bottom: 0.5rem;
}
div.modal-content h2.modal-title {
  font-family: "HelveticaNeueCondensed";
  font-size: 40px;
  text-transform: uppercase;
  display: block;
  width: 100%;
  margin-bottom: 1rem;
  text-align: center;
  position: relative;
  padding: 0;
}
div.modal-content h2.modal-title:before {
  content: "";
  position: absolute;
  bottom: 0;
  width: 40%;
  left: 30%;
  border-bottom: 2px solid #dc4418;
}
@media (max-width: 1023px) {
  div.modal-content h2.modal-title {
    padding: 0 2.5rem;
  }
}
div.modal-content .modal-body {
  padding: 1rem 1.5rem 3rem 1.5rem;
  display: flex;
  flex-direction: column;
  justify-content: space-between;
}
div.modal-content .modal-body .modal-image {
  display: block;
  padding: 0 2rem 1rem 2rem;
}
div.modal-content .modal-body .modal-image img {
  display: block;
  width: 100%;
  height: auto;
  background: #f0f0f0;
  padding: 1rem;
}
div.modal-content .modal-body .modal-highlights {
  padding: 0 1rem;
  display: block;
}
div.modal-content .modal-body .modal-highlights ul {
  list-style: none;
  margin: 0;
  padding: 0;
  margin-bottom: 1.5rem;
  list-style: none;
  margin: 0;
  padding: 0;
  margin-bottom: 1.5rem;
  list-style: none;
  margin: 0;
  padding: 0;
  margin-bottom: 1.5rem;
  flex-direction: column;
}
div.modal-content .modal-body .modal-highlights li {
  list-style: none;
  margin: 0;
  padding: 0;
  display: block;
  text-align: left;
  color: #777777;
  font-size: 16px;
  line-height: 105%;
  margin-top: 0.5rem;
}
div.modal-content .modal-body .modal-highlights li h3 {
  text-align: left;
  font-size: 120%;
  text-transform: uppercase;
  color: rgb(26, 26, 26);
  font-family: "HelveticaNeue";
  font-weight: bold;
}
div.modal-content .modal-body .modal-highlights li p {
  font-weight: normal;
  font-family: "HelveticaNeue";
}
div.modal-content .modal-body .modal-highlights li.highlight-category {
  font-size: 105%;
  font-weight: bold;
  margin-top: 1.5rem;
  color: #1A1A1A;
  font-size: 105%;
  font-weight: bold;
  margin-top: 1.5rem;
  color: #1a1a1a;
  font-size: 105%;
  font-weight: bold;
  margin-top: 1.5rem;
  color: #1a1a1a;
}
div.modal-content .modal-body .action-button {
  margin-left: auto;
  margin-right: auto;
  padding: 0.5rem 2rem;
  display: block;
}
div.modal-content .modal-body .action-button:hover {
  color: #fff;
  background: #000;
  border-color: #000;
}
div.modal-content .modal-body button.action-button.cancel {
  color: #DC4418;
  background: transparent;
  border: solid 1px #DC4418;
}
div.modal-content .modal-body .specsModal {
  width: 100%;
}
div.modal-content .modal-body .specsModal h2 button {
  font-size: 18px;
  font-family: HelveticaNeue;
  font-weight: normal;
  float: right;
  margin-top: 5px;
  border: 1px solid #909090;
  padding: 0.5rem 1rem;
}
@media (max-width: 1023px) {
  div.modal-content .modal-body .specsModal h2 {
    padding-right: 2.5rem;
  }
}
div.modal-content .modal-body .specsModalTable {
  width: 100%;
  font-size: 80%;
  line-height: 1.5;
}
div.modal-content .modal-body .specsModalTable .headers {
  font-weight: bold;
}
div.modal-content .modal-body .share-button {
  width: 100px;
  font-size: 75%;
  border: none;
  background: transparent;
  text-align: center;
  text-decoration: none;
  color: #000;
  padding: 0;
  text-transform: none;
}
div.modal-content .modal-body .share-button em {
  font-size: 2rem;
  line-height: 4rem;
  height: 4rem;
  width: 4rem;
  display: block;
  border-radius: 50%;
  margin: 0 auto;
  background: #000;
  color: #fff;
}
div.modal-content .modal-body .print-options {
  text-align: center;
}
div.modal-content .modal-body .print-options .action-button {
  display: inline-block;
  margin: 10px;
}
div.modal-content .modal-body div.modelContainer {
  width: calc(25% - 10px);
  border: 1px solid #ddd;
}
div.modal-content .modal-body .groupLink {
  border: 1px solid #ddd;
}

#modalSeriesDetails div.modal-dialog.modal-dialog-centered {
  width: 98%;
  width: 98%;
  width: 98%;
}

div.contentContainer {
  overflow: hidden;
  transition: opacity 0.3s ease-out, max-height 0.8s ease-out;
  max-height: 0;
  opacity: 0;
  overflow: hidden;
  transition: opacity 0.3s ease-out, max-height 0.8s ease-out;
  max-height: 0;
  opacity: 0;
  overflow: hidden;
  transition: opacity 0.3s ease-out, max-height 0.8s ease-out;
  max-height: 0;
  opacity: 0;
}

div.contentContainer.active {
  opacity: 1;
  max-height: unset;
  min-height: calc(100% - 175px);
  opacity: 1;
  max-height: unset;
  min-height: calc(100% - 175px);
  opacity: 1;
  max-height: unset;
  min-height: calc(100% - 175px);
}

div.dragtospin {
  position: absolute;
  display: flex;
  flex-wrap: wrap;
  left: 50%;
  top: 50%;
  z-index: 100;
  background: rgba(255, 255, 255, 0.5);
  border-radius: 5px;
  justify-content: center;
  transform: translate(-50%, -50%);
  position: absolute;
  display: flex;
  flex-wrap: wrap;
  left: 50%;
  top: 50%;
  z-index: 100;
  background: rgba(255, 255, 255, 0.5);
  border-radius: 5px;
  justify-content: center;
  transform: translate(-50%, -50%);
  position: absolute;
  display: flex;
  flex-wrap: wrap;
  left: 50%;
  top: 50%;
  z-index: 100;
  background: rgba(255, 255, 255, 0.5);
  border-radius: 5px;
  justify-content: center;
  transform: translate(-50%, -50%);
}
div.dragtospin strong {
  display: block;
  width: 100%;
  display: block;
  width: 100%;
  display: block;
  width: 100%;
}

input[type=text],
input[type=password],
input[type=tel],
input[type=email],
select,
textarea {
  box-sizing: border-box;
  width: 100%;
  border: 1px solid #ccc;
  color: #1A1A1A;
  padding: 0.5rem 0.75rem;
  margin: 0 0 1rem 0;
  line-height: 100%;
  display: block;
  box-sizing: border-box;
  width: 100%;
  border: 1px solid #ccc;
  color: #1a1a1a;
  padding: 0.5rem 0.75rem;
  margin: 0 0 1rem 0;
  line-height: 100%;
  display: block;
  border-radius: 0px;
  box-sizing: border-box;
  width: 100%;
  border: 1px solid #ccc;
  color: #1a1a1a;
  padding: 0.5rem 0.75rem;
  margin: 0 0 1rem 0;
  line-height: 100%;
  display: block;
}

.saveBuildModalBody {
  display: flex;
  flex-wrap: wrap;
  justify-content: center;
}
.saveBuildModalBody .loginForm {
  width: 300px;
}
.saveBuildModalBody .loginForm input[type=checkbox] {
  margin: 0 5px 1rem 0;
}
.saveBuildModalBody .loginForm .error-message {
  margin: 0;
  color: red;
}
.saveBuildModalBody .loginForm .passwordLink {
  display: flex;
  flex-direction: row;
  justify-content: end;
}
.saveBuildModalBody .loginForm .signupLink {
  display: flex;
  flex-direction: row;
  justify-content: end;
  gap: 1rem;
}
.saveBuildModalBody .loginForm button {
  margin-bottom: 1rem;
}
.saveBuildModalBody .google-login-section {
  width: 300px;
  display: flex;
  justify-content: center;
  margin: 1rem 0;
}
.saveBuildModalBody .google-login-section > div {
  width: 250px;
  transform: scale(1.2);
  transform-origin: center;
}
.saveBuildModalBody .google-login-section > div > div > div > div {
  background-color: #f0f0f0;
}
.saveBuildModalBody .forgotPwdForm button {
  width: 100%;
}
.saveBuildModalBody .signupForm button {
  width: 100%;
}
.saveBuildModalBody .profileForm button {
  width: 100%;
}
.saveBuildModalBody .backToLogin {
  display: flex;
  flex-direction: row;
  justify-content: end;
}
.saveBuildModalBody .backToLogin button {
  width: 100%;
}
.saveBuildModalBody button {
  width: 100%;
  margin-bottom: 1rem;
  padding: 0.5rem;
}
.saveBuildModalBody a.close-modal {
  font-weight: normal;
  text-decoration: underline;
  display: block;
  text-align: center;
  font-size: 100%;
  color: #1a1a1a;
  width: 100%;
  margin-top: 15px;
}
.saveBuildModalBody .savedBuilds h3 {
  font-size: 1.25rem;
}
.saveBuildModalBody .savedBuilds .savedBuildDivider {
  text-align: center;
  margin: 0.5rem;
}
.saveBuildModalBody .savedBuilds .savedBuild {
  display: block;
  border: 1px solid #ccc;
  margin: 5px;
  display: flex;
  flex-direction: row;
  justify-content: center;
  align-items: center;
  text-decoration: none;
  color: inherit;
}
.saveBuildModalBody .savedBuilds .savedBuild img {
  max-width: 100px;
}
.saveBuildModalBody .savedBuilds .savedBuild .buildName {
  flex: auto;
}
.saveBuildModalBody .savedBuilds .savedBuild button {
  width: auto;
  padding: 0.25rem 0.5rem;
  margin: 0 0.5rem 0;
}

@media (min-width: 1024px) {
  .saveBuildModalBody .loginForm button {
    width: 48%;
  }
}
.userBuildsBody .backToLogin {
  width: 100%;
  justify-content: center;
}

#build_details_container_selection {
  position: relative;
  flex: 1;
  box-shadow: -3px -3px 7px rgba(0, 0, 0, 0.7) !important;
  -webkit-box-shadow: -3px -3px 3px rgba(0, 0, 0, 0.7) !important;
  position: relative;
  flex: 1;
  position: relative;
  flex: 1;
  box-shadow: -3px -3px 7px rgba(0, 0, 0, 0.7) !important;
  -webkit-box-shadow: -3px -3px 3px rgba(0, 0, 0, 0.7) !important;
}
#build_details_container_selection h1.buildDetailsHeader {
  width: 100%;
  line-height: 105%;
  font-size: 115%;
  padding: 0.75rem;
  margin: 0;
  width: 100%;
  line-height: 105%;
  font-size: 115%;
  padding: 0.75rem 0.75rem;
  margin: 0;
  width: 100%;
  line-height: 105%;
  font-size: 115%;
  padding: 0.75rem;
  margin: 0;
}

#build_details_container_payment_bottom_mobile {
  width: 100%;
  background: transparent;
  border-top: 1px solid #ccc;
  display: flex;
  flex-wrap: wrap;
  justify-content: center;
  width: 100%;
  background: transparent;
  border-top: 1px solid #ccc;
  display: flex;
  flex-wrap: wrap;
  justify-content: center;
  width: 100%;
  background: transparent;
  border-top: 1px solid #ccc;
  display: flex;
  flex-wrap: wrap;
  justify-content: center;
}
#build_details_container_payment_bottom_mobile .adjustPaymentLink {
  width: 95%;
  background: #777;
  color: #fff;
  font-size: 100%;
  line-height: 115%;
  display: flex;
  justify-content: space-between;
  padding: 0.25rem 1rem;
  text-transform: uppercase;
  position: relative;
  cursor: pointer;
}
#build_details_container_payment_bottom_mobile .adjustPaymentLink em {
  width: 10%;
  display: flex;
  text-align: center;
  justify-content: center;
  flex-direction: column;
  font-size: 140%;
  font-weight: bold;
  padding-bottom: 5px;
}
#build_details_container_payment_bottom_mobile .adjustPaymentLink span {
  width: 90%;
  text-align: left;
  font-size: 85%;
  padding-bottom: 5px;
}
#build_details_container_payment_bottom_mobile .adjustPaymentLink span.corners {
  position: absolute;
  width: 100%;
  border-top-left-radius: 5px;
  border-top-right-radius: 5px;
  background: #777;
  top: -5px;
  left: 0;
  font-size: 5px;
  line-height: 7px;
  max-height: 7px;
  display: block;
  padding: 0;
  margin: 0;
  z-index: 10;
}
#build_details_container_payment_bottom_mobile .estimatedNetPriceContainer {
  width: 60%;
  border-top: 1px solid #ccc;
  padding: 0.25rem 1rem;
  margin: 0;
  display: flex;
  background: #fff;
  align-items: center;
}
#build_details_container_payment_bottom_mobile .estimatedNetPriceContainer .estimatedNetPrice {
  width: auto;
  font-size: 110%;
  font-weight: bold;
  text-align: left;
  padding: 0 20px;
  flex: 1;
}
#build_details_container_payment_bottom_mobile .estimatedNetPriceContainer .estimatedNetPriceDisclaimer {
  width: auto;
  font-size: 70%;
  line-height: 115%;
  text-align: left;
  color: #909090;
}
a.rerun {
  cursor: pointer;
}

.formContainer {
  display: flex;
  flex-wrap: wrap;
  justify-content: space-between;
}
.formContainer h2 {
  font-size: 90%;
  position: relative;
  font-weight: bold;
  padding-right: 0.25rem;
  text-align: left;
  text-transform: uppercase;
  width: 100%;
  margin: 0 0 15px 0;
}
.formContainer .form-element-container {
  width: 48.5%;
}
.formContainer .form-element-container.full {
  width: 100%;
}
.formContainer .disclaimer-text {
  font-size: 80%;
  line-height: 1.5;
}

#build_details_container_send_quote {
  min-height: 72vh;
}

#printButton {
  width: 49%;
  text-align: center;
  padding: 1rem;
  font-size: 125%;
  border: 0 none !important;
  margin: 1rem 0 0;
}

#sendQuoteButton {
  width: 100%;
  text-align: center;
  padding: 1rem;
  font-size: 125%;
  border: 0 none !important;
  margin: 1rem auto 0 auto;
}

.nextButton.firstRow {
  margin-bottom: 0.5rem !important;
}

.nextButton.withPrint,
.nextButton.printButton {
  margin-top: 10px !important;
}
@media (min-width: 1024px) {
  .nextButton.withPrint,
  .nextButton.printButton {
    width: 49% !important;
    margin-top: 0 !important;
  }
  .nextButton.withPrint.printButton,
  .nextButton.printButton.printButton {
    margin-left: 2% !important;
  }
}

.summary-cta-buttons {
  display: flex;
  flex-wrap: wrap;
  gap: 10px;
  padding: 15px 0;
}
.summary-cta-buttons .nextButton,
div.wholegoods.contentContainer div.detailsContainer .summary-cta-buttons .nextButton {
  flex: 1 1 0;
  width: auto;
  margin-top: 0 !important;
  margin-bottom: 0 !important;
}

#startOverQuoteSentButton {
  width: 75%;
  text-align: center;
  padding: 1rem;
  font-size: 100%;
  border: 0 none !important;
  margin: 0 auto;
  display: block;
  color: #fff;
  text-decoration: none;
  cursor: pointer;
}

a.offerViewDetailsButton {
  width: 50%;
  text-align: center;
  padding: 1rem;
  font-size: 100%;
  border: 0 none !important;
  margin: 0 auto;
  display: block;
  color: #fff;
  text-decoration: none;
  cursor: pointer;
  float: right;
}

#build_details_container_dealers .dealerSelectionContainer {
  display: flex;
  flex-wrap: wrap;
  justify-content: space-between;
}
#build_details_container_dealers .dealerSelectionContainer input,
#build_details_container_dealers .dealerSelectionContainer button {
  width: 100%;
  text-align: center;
  margin: 0;
}

.printQuoteBody .pricingDisclaimerBox {
  font-size: 90%;
}

.imageSpecsButton.printSpecsButton {
  position: absolute;
  top: 10px;
  right: 50px;
  font-size: 15px;
  font-weight: normal;
  font-family: "HelveticaNeue";
  line-height: 20px;
}
@media (max-width: 1023px) {
  .imageSpecsButton.printSpecsButton {
    position: static;
    display: inline-block;
    top: auto;
    right: auto;
    margin: 0 0 1rem 0;
  }
}

div.wholegoods.contentContainer {
  display: flex;
  flex-direction: column;
  overflow: visible;
}
div.wholegoods.contentContainer div.buildImagesPaymentsContainer {
  position: sticky;
  top: 0;
  z-index: 10;
  background: #fff;
}
div.wholegoods.contentContainer div.buildImagesPaymentsContainer div.mainImageContainer {
  display: none;
  flex-direction: column;
  justify-content: center;
  align-content: center;
  min-height: 20vh;
  border-bottom: 1px solid #ccc;
  max-height: 40vh;
}
div.wholegoods.contentContainer div.buildImagesPaymentsContainer div.mainImageContainer .imageSpecsButton {
  position: absolute;
  top: 20px;
  left: 20px;
  z-index: 1;
  border: 1px solid #909090;
  padding: 0.25rem 1rem;
  min-height: 44px;
}
div.wholegoods.contentContainer div.buildImagesPaymentsContainer div.mainImageContainer .subImageContainer {
  width: 100%;
  min-height: 20vh;
  background-color: #fff;
}
div.wholegoods.contentContainer div.buildImagesPaymentsContainer div.mainImageContainer .subImageContainer img {
  width: auto;
  height: 100%;
  display: block;
  margin: 0 auto;
  max-width: 100%;
}
div.wholegoods.contentContainer div.buildImagesPaymentsContainer div.mainImageContainer .subImageContainer.img.placeholder {
  visibility: hidden;
}
div.wholegoods.contentContainer div.buildImagesPaymentsContainer div.mainImageContainer .subImageContainer img.changing {
  display: none;
  opacity: 0;
  -moz-transition: opacity 0.5s ease-in-out;
  -o-transition: opacity 0.5s ease-in-out;
  -webkit-transition: opacity 0.5s ease-in-out;
  transition: opacity 0.5s ease-in-out;
}
div.wholegoods.contentContainer div.buildImagesPaymentsContainer div.mainImageContainer .subImageContainer img.changing.active {
  display: block;
  opacity: 1;
}
div.wholegoods.contentContainer div.buildImagesPaymentsContainer div.mainImageContainer .subImageContainer img.not-available {
  width: 100%;
  height: auto;
  margin: 0 auto;
  max-width: 407px;
  position: absolute;
  top: 50%;
  left: 50%;
  transform: translate(-50%, -50%);
}
div.wholegoods.contentContainer div.buildImagesPaymentsContainer div.mainImageContainer .subImageContainer span.image-disclaimer {
  position: absolute;
  right: 20px;
  bottom: 10px;
  font-size: 75%;
}
div.wholegoods.contentContainer div.buildImagesPaymentsContainer div.mainImageContainer .subImageContainer.coming-soon img.active {
  filter: grayscale(75%);
  opacity: 0.45;
}
div.wholegoods.contentContainer div.buildImagesPaymentsContainer div.mainImageContainer .subImageContainer.coming-soon span.coming.noaddons {
  display: block;
}
div.wholegoods.contentContainer div.buildImagesPaymentsContainer div.mainImageContainer .subImageContainer.active {
  display: flex;
  overflow: hidden;
  flex-direction: column;
  justify-content: center;
}
div.wholegoods.contentContainer div.buildImagesPaymentsContainer div.mainImageContainer .subImageContainer.active.spinContainer {
  cursor: grab;
}
div.wholegoods.contentContainer div.buildImagesPaymentsContainer div.mainImageContainer .thumbsContainer {
  display: flex;
  position: absolute;
  left: 0;
  right: 0;
  bottom: 40px;
  margin-left: auto;
  margin-right: auto;
  justify-content: center;
}
div.wholegoods.contentContainer div.buildImagesPaymentsContainer div.mainImageContainer .thumbsContainer a,
div.wholegoods.contentContainer div.buildImagesPaymentsContainer div.mainImageContainer .thumbsContainer button {
  display: block;
  width: 60px;
  border: 1px solid #ccc;
  margin: 1rem 0.25rem;
  padding: 0;
  cursor: pointer;
  opacity: 0.75;
  box-shadow: 0 0 3px rgba(0, 0, 0, 0.7) !important;
  -webkit-box-shadow: 0 0 3px rgba(0, 0, 0, 0.7) !important;
  background: none;
}
div.wholegoods.contentContainer div.buildImagesPaymentsContainer div.mainImageContainer .thumbsContainer a img,
div.wholegoods.contentContainer div.buildImagesPaymentsContainer div.mainImageContainer .thumbsContainer button img {
  display: block;
  width: 100%;
  height: auto;
}
div.wholegoods.contentContainer div.buildImagesPaymentsContainer div.mainImageContainer .thumbsContainer a.pendingSuccess,
div.wholegoods.contentContainer div.buildImagesPaymentsContainer div.mainImageContainer .thumbsContainer button.pendingSuccess {
  display: none !important;
}
div.wholegoods.contentContainer div.buildImagesPaymentsContainer div.mainImageContainer .thumbsContainer a.active,
div.wholegoods.contentContainer div.buildImagesPaymentsContainer div.mainImageContainer .thumbsContainer button.active {
  border: 2px solid #dc4418;
  opacity: 1;
}
div.wholegoods.contentContainer div.buildImagesPaymentsContainer div.addOnImageContainer {
  display: none;
  flex-direction: column;
  justify-content: center;
  align-content: center;
  min-height: 20vh;
  border-bottom: 1px solid #ccc;
  max-height: 40vh;
  flex-direction: column;
  justify-content: center;
  align-content: center;
  min-height: 20vh;
}
div.wholegoods.contentContainer div.buildImagesPaymentsContainer div.addOnImageContainer .subImageContainer {
  width: 100%;
  min-height: 20vh;
  background-color: #fff;
}
div.wholegoods.contentContainer div.buildImagesPaymentsContainer div.addOnImageContainer .subImageContainer img {
  width: auto;
  height: 100%;
  display: block;
  margin: 0 auto;
}
div.wholegoods.contentContainer div.buildImagesPaymentsContainer div.addOnImageContainer .subImageContainer img.placeholder {
  visibility: hidden;
}
div.wholegoods.contentContainer div.buildImagesPaymentsContainer div.addOnImageContainer .subImageContainer img.changing {
  transition: opacity 0.5s ease-in-out;
  display: none;
  opacity: 0;
  -moz-transition: opacity 0.5s ease-in-out;
  -o-transition: opacity 0.5s ease-in-out;
  -webkit-transition: opacity 0.5s ease-in-out;
  transition: opacity 0.5s ease-in-out;
}
div.wholegoods.contentContainer div.buildImagesPaymentsContainer div.addOnImageContainer .subImageContainer img.changing.active {
  display: block;
  opacity: 1;
}
div.wholegoods.contentContainer div.buildImagesPaymentsContainer div.addOnImageContainer .subImageContainer.active {
  display: flex;
  overflow: hidden;
  flex-direction: column;
  justify-content: center;
}
div.wholegoods.contentContainer div.buildImagesPaymentsContainer div.addOnImageContainer .subImageContainer.active.spinContainer {
  cursor: grab;
}
div.wholegoods.contentContainer div.buildImagesPaymentsContainer div.addOnImageContainer .thumbsContainer {
  display: flex;
  position: absolute;
  left: 0;
  right: 0;
  bottom: 40px;
  margin-left: auto;
  margin-right: auto;
  justify-content: center;
}
div.wholegoods.contentContainer div.buildImagesPaymentsContainer div.addOnImageContainer .thumbsContainer a,
div.wholegoods.contentContainer div.buildImagesPaymentsContainer div.addOnImageContainer .thumbsContainer button {
  display: block;
  width: 60px;
  border: 1px solid #ccc;
  margin: 1rem 0.25rem;
  padding: 0;
  cursor: pointer;
  opacity: 0.75;
  box-shadow: 0 0 3px rgba(0, 0, 0, 0.7) !important;
  -webkit-box-shadow: 0 0 3px rgba(0, 0, 0, 0.7) !important;
  background: none;
}
div.wholegoods.contentContainer div.buildImagesPaymentsContainer div.addOnImageContainer .thumbsContainer a img,
div.wholegoods.contentContainer div.buildImagesPaymentsContainer div.addOnImageContainer .thumbsContainer button img {
  display: block;
  width: 100%;
  height: auto;
}
div.wholegoods.contentContainer div.buildImagesPaymentsContainer div.addOnImageContainer .thumbsContainer a.pendingSuccess,
div.wholegoods.contentContainer div.buildImagesPaymentsContainer div.addOnImageContainer .thumbsContainer button.pendingSuccess {
  display: none !important;
}
div.wholegoods.contentContainer div.buildImagesPaymentsContainer div.addOnImageContainer .thumbsContainer a.active,
div.wholegoods.contentContainer div.buildImagesPaymentsContainer div.addOnImageContainer .thumbsContainer button.active {
  border: 2px solid #dc4418;
  opacity: 1;
}
div.wholegoods.contentContainer div.buildImagesPaymentsContainer div.mainImageContainer.active {
  display: flex;
  position: relative;
}
div.wholegoods.contentContainer div.buildImagesPaymentsContainer div.addOnImageContainer.active {
  display: flex;
  position: relative;
}
div.wholegoods.contentContainer div.paymentsSharingContainer {
  display: none;
}
div.wholegoods.contentContainer div.paymentsSharingContainer .adjustPaymentLink {
  width: 25%;
  background: #777;
  color: #fff;
  font-size: 100%;
  line-height: 115%;
  display: flex;
  justify-content: space-between;
  padding: 0.25rem 1rem;
  text-transform: uppercase;
  margin-left: 3%;
  position: relative;
  cursor: pointer;
  text-decoration: none;
}
div.wholegoods.contentContainer div.paymentsSharingContainer .adjustPaymentLink em {
  width: 25%;
  display: flex;
  text-align: center;
  justify-content: center;
  flex-direction: column;
  font-size: 140%;
  font-weight: bold;
  padding-bottom: 5px;
}
div.wholegoods.contentContainer div.paymentsSharingContainer .adjustPaymentLink span {
  width: 80%;
  display: flex;
  justify-content: center;
  text-align: left;
  font-size: 85%;
  padding-bottom: 5px;
}
div.wholegoods.contentContainer div.paymentsSharingContainer .adjustPaymentLink span.corners {
  position: absolute;
  width: 100%;
  border-top-left-radius: 5px;
  border-top-right-radius: 5px;
  background: #777;
  top: -5px;
  left: 0;
  font-size: 5px;
  line-height: 7px;
  max-height: 7px;
  display: block;
  padding: 0;
  margin: 0;
}
div.wholegoods.contentContainer div.paymentsSharingContainer .modelNameSummaryContainer {
  width: 20%;
  padding: 0.5rem 0;
  margin-left: 3%;
}
div.wholegoods.contentContainer div.paymentsSharingContainer .modelNameSummaryContainer span {
  display: block;
  font-size: 75%;
  text-align: left;
  color: #1a1a1a;
  line-height: 100%;
}
div.wholegoods.contentContainer div.paymentsSharingContainer .modelNameSummaryContainer span.modelName {
  font-size: 105%;
  line-height: 115%;
  font-weight: bold;
}
div.wholegoods.contentContainer div.paymentsSharingContainer .sharingActionsContainer {
  width: 90%;
  margin: 0 auto;
  position: absolute;
  z-index: 11;
  top: 50%;
  left: 50%;
  transform: translate(-50%, -50%);
  padding: 1rem;
  border: 1px solid #ccc;
  display: flex;
  justify-content: right;
}
div.wholegoods.contentContainer div.paymentsSharingContainer .sharingActionsContainer .aligner {
  display: flex;
  flex-direction: row;
  justify-content: center;
}
div.wholegoods.contentContainer div.paymentsSharingContainer .sharingActionsContainer .aligner button,
div.wholegoods.contentContainer div.paymentsSharingContainer .sharingActionsContainer .aligner a {
  display: flex;
  justify-content: space-between;
  cursor: pointer;
  text-transform: uppercase;
  padding: 0 0.5rem;
  font-size: 70%;
  background: transparent;
  border: none;
  align-items: center;
}
div.wholegoods.contentContainer div.paymentsSharingContainer .sharingActionsContainer .aligner button em,
div.wholegoods.contentContainer div.paymentsSharingContainer .sharingActionsContainer .aligner a em {
  padding-right: 0.25rem;
  font-size: 135%;
}
div.wholegoods.contentContainer div.paymentsSharingContainer .estimatedNetPriceContainer {
  width: 32%;
  border-top: 1px solid #ccc;
  padding: 1rem;
  margin: 0;
  display: flex;
  align-items: center;
}
div.wholegoods.contentContainer div.paymentsSharingContainer .estimatedNetPriceContainer .estimatedNetPrice {
  width: 60%;
  font-size: 175%;
  font-weight: bold;
  text-align: center;
}
div.wholegoods.contentContainer div.paymentsSharingContainer .estimatedNetPriceContainer .estimatedNetPriceDisclaimer {
  width: 40%;
  font-size: 16px;
  line-height: 115%;
  text-align: left;
  color: #909090;
}
div.wholegoods.contentContainer div.paymentsSharingContainer .paymentTermsContainer {
  width: 34%;
  border-top: 1px solid #ccc;
  padding: 1rem;
  margin: 0;
  display: flex;
}
div.wholegoods.contentContainer div.paymentsSharingContainer .paymentTermsContainer .calculatedPayments {
  width: 60%;
  font-size: 175%;
  font-weight: bold;
  text-align: center;
}
div.wholegoods.contentContainer div.paymentsSharingContainer .paymentTermsContainer .calculatedPaymentDetails {
  width: 40%;
  font-size: 70%;
  line-height: 115%;
  text-align: left;
  color: #909090;
}
div.wholegoods.contentContainer div.paymentsSharingContainer .paymentAPRContainer {
  width: 20%;
  border-top: 1px solid #ccc;
  padding: 1rem;
  margin: 0;
  display: flex;
}
div.wholegoods.contentContainer div.paymentsSharingContainer .paymentAPRContainer .calculatedAPR {
  width: 40%;
  font-size: 175%;
  font-weight: bold;
  text-align: center;
}
div.wholegoods.contentContainer div.paymentsSharingContainer .paymentAPRContainer .calculatedAPRDetails {
  width: 60%;
  font-size: 70%;
  line-height: 115%;
  text-align: left;
  color: #909090;
}
div.wholegoods.contentContainer div.paymentsSharingContainer .startOverButtonContainer {
  border-top: 1px solid #ccc;
  padding: 1rem;
  margin: 0;
}
div.wholegoods.contentContainer div.paymentsSharingContainer .startOverButtonContainer .button {
  width: 100%;
  padding: 0.5rem;
  font-size: 100%;
  line-height: 100%;
  text-align: center;
  border: 1px solid #909090;
  color: #909090;
  background: transparent;
  font-family: inherit;
  display: flex;
  align-items: center;
  justify-content: center;
  cursor: pointer;
  min-height: 44px;
  /*background-color: #f2f2f2;
  text-transform: uppercase;*/
}
div.wholegoods.contentContainer div.paymentsSharingContainer .startOverButtonContainer .button:hover {
  background-color: #f2f2f2;
  color: #1a1a1a;
  border-color: #1a1a1a;
}
div.wholegoods.contentContainer div.paymentsSharingContainer .startOverButtonContainer .button span {
  margin-left: 0.25rem;
  white-space: nowrap;
}
div.wholegoods.contentContainer div.paymentOptionsContainer {
  opacity: 0;
  bottom: -100vh;
  left: 0;
  width: 100%;
  position: fixed;
  background: transparent;
  display: flex;
  flex-direction: column;
  flex-wrap: wrap;
  justify-content: space-between;
  min-height: 25vh;
  -moz-transition: all 0.5s ease-in-out;
  -o-transition: all 0.5s ease-in-out;
  -webkit-transition: all 0.5s ease-in-out;
  transition: all 0.5s ease-in-out;
}
div.wholegoods.contentContainer div.paymentOptionsContainer .paymentOptionsTermsContainer {
  width: 100%;
}
div.wholegoods.contentContainer div.paymentOptionsContainer .paymentTermNumbersContainer {
  width: 100%;
}
div.wholegoods.contentContainer div.paymentOptionsContainer .paymentDownContainer {
  width: 100%;
}
div.wholegoods.contentContainer div.paymentOptionsContainer .paymentDownContainer .paymentOptionsBoxesContainer {
  justify-content: center;
}
div.wholegoods.contentContainer div.paymentOptionsContainer .paymentDownContainer .paymentOptionsBoxesContainer input {
  width: 65%;
}
div.wholegoods.contentContainer div.paymentOptionsContainer .paymentDownContainer .paymentOptionsBoxesContainer button {
  width: 30%;
}
div.wholegoods.contentContainer div.paymentOptionsContainer .hidePaymentLink {
  width: 96%;
  margin-left: 2%;
  margin-right: 2%;
  background: #1a1a1a;
  color: #fff;
  font-size: 100%;
  line-height: 115%;
  display: flex;
  justify-content: space-between;
  padding: 0.25rem 1rem;
  text-transform: uppercase;
  position: relative;
  cursor: pointer;
}
div.wholegoods.contentContainer div.paymentOptionsContainer .hidePaymentLink em {
  width: 25%;
  display: flex;
  text-align: center;
  justify-content: center;
  flex-direction: column;
  font-size: 140%;
  font-weight: bold;
  padding-bottom: 5px;
}
div.wholegoods.contentContainer div.paymentOptionsContainer .hidePaymentLink span {
  width: 80%;
  display: flex;
  justify-content: center;
  text-align: left;
  font-size: 85%;
  padding-bottom: 5px;
}
div.wholegoods.contentContainer div.paymentOptionsContainer .hidePaymentLink span.corners {
  position: absolute;
  width: 100%;
  border-top-left-radius: 5px;
  border-top-right-radius: 5px;
  background: #1a1a1a;
  top: -5px;
  left: 0;
  font-size: 5px;
  line-height: 7px;
  max-height: 7px;
  display: block;
  padding: 0;
  margin: 0;
}
div.wholegoods.contentContainer div.paymentOptionsContainer .paymentOptionsConfiguratorContainer {
  flex: 1;
  background: #fff;
  border-top: 1px solid #ccc;
  box-shadow: -3px -3px 7px rgba(0, 0, 0, 0.3) !important;
  -webkit-box-shadow: -3px -3px 3px rgba(0, 0, 0, 0.3) !important;
  display: flex;
  flex-wrap: wrap;
}
div.wholegoods.contentContainer div.paymentOptionsContainer .paymentOptionsConfiguratorContainer .heading {
  font-weight: bold;
  font-size: 85%;
  text-transform: uppercase;
  text-align: left;
  display: block;
  padding: 0.25rem 1rem 0.5rem 1rem;
}
div.wholegoods.contentContainer div.paymentOptionsContainer .paymentOptionsConfiguratorContainer .heading span {
  font-size: 85%;
  float: right;
  text-transform: none;
  font-weight: normal;
}
div.wholegoods.contentContainer div.paymentOptionsContainer .paymentOptionsConfiguratorContainer .paymentOptionsBoxesContainer {
  padding: 0 1rem 0 1rem;
  display: flex;
  flex-wrap: wrap;
  flex-direction: row;
  width: 100%;
}
div.wholegoods.contentContainer div.paymentOptionsContainer .paymentOptionsConfiguratorContainer .paymentOptionsBoxesContainer input[type=tel] {
  width: 100%;
  text-align: center;
  line-height: 40px;
  margin-bottom: 0px;
}
div.wholegoods.contentContainer div.paymentOptionsContainer .paymentOptionsConfiguratorContainer .paymentOptionsBoxesContainer input[type=text] {
  width: 100%;
  margin-bottom: 5px;
}
div.wholegoods.contentContainer div.paymentOptionsContainer .paymentOptionsConfiguratorContainer .paymentOptionsBoxesContainer a {
  border: 1px solid #ccc;
  background: #f0f0f0;
  color: #1a1a1a;
  font-size: 100%;
  line-height: 100%;
  text-align: center;
  margin-right: 10px;
  margin-bottom: 0;
  /* 2%;*/
  font-weight: bold;
  padding: 0.5rem;
  display: inline-block;
  cursor: pointer;
}
div.wholegoods.contentContainer div.paymentOptionsContainer .paymentOptionsConfiguratorContainer .paymentOptionsBoxesContainer a strong,
div.wholegoods.contentContainer div.paymentOptionsContainer .paymentOptionsConfiguratorContainer .paymentOptionsBoxesContainer a span {
  display: block;
  line-height: 100%;
}
div.wholegoods.contentContainer div.paymentOptionsContainer .paymentOptionsConfiguratorContainer .paymentOptionsBoxesContainer a strong {
  font-size: 65%;
}
div.wholegoods.contentContainer div.paymentOptionsContainer .paymentOptionsConfiguratorContainer .paymentOptionsBoxesContainer a span {
  font-weight: normal;
  font-size: 55%;
}
div.wholegoods.contentContainer div.paymentOptionsContainer .paymentOptionsConfiguratorContainer .paymentOptionsBoxesContainer a strong.mid,
div.wholegoods.contentContainer div.paymentOptionsContainer .paymentOptionsConfiguratorContainer .paymentOptionsBoxesContainer a span.mid {
  line-height: 225%;
}
div.wholegoods.contentContainer div.paymentOptionsContainer .paymentOptionsConfiguratorContainer .paymentOptionsBoxesContainer a.active {
  border: 2px solid #dc4418;
  background: #fff;
}
div.wholegoods.contentContainer div.paymentOptionsContainer .paymentOptionsConfiguratorContainer .paymentOptionsBoxesContainer.months {
  padding: 0 0.1rem 0 0.1rem;
}
div.wholegoods.contentContainer div.paymentOptionsContainer .paymentOptionsConfiguratorContainer .paymentOptionsBoxesContainer.months a {
  display: flex;
  flex-direction: column;
  justify-content: center;
}
div.wholegoods.contentContainer div.paymentOptionsContainer .paymentOptionsConfiguratorContainer .paymentOptionsBoxesContainer.months a strong {
  display: block;
  font-size: 90%;
  line-height: 100%;
}
div.wholegoods.contentContainer div.paymentOptionsContainer .paymentOptionsConfiguratorContainer .paymentOptionsBoxesContainer.months a span {
  display: block;
  font-size: 85%;
  font-weight: normal;
  line-height: 100%;
}
div.wholegoods.contentContainer div.paymentOptionsContainer .paymentOptionsConfiguratorContainer .estimatedNetPriceContainer {
  width: 50%;
  border-right: 1px solid #ccc;
  padding: 1rem;
  margin: 0;
  display: flex;
  background: #fff;
  border-bottom: 1px solid #ccc;
  flex-direction: column;
}
div.wholegoods.contentContainer div.paymentOptionsContainer .paymentOptionsConfiguratorContainer .estimatedNetPriceContainer .estimatedNetPrice {
  font-size: 175%;
  font-weight: bold;
  text-align: center;
  width: 100%;
  line-height: 110%;
}
div.wholegoods.contentContainer div.paymentOptionsContainer .paymentOptionsConfiguratorContainer .estimatedNetPriceContainer .estimatedNetPriceDisclaimer {
  font-size: 70%;
  line-height: 115%;
  text-align: center;
  color: #909090;
  width: 100%;
}
div.wholegoods.contentContainer div.paymentOptionsContainer .paymentOptionsConfiguratorContainer .paymentTermsContainer {
  width: 50%;
  padding: 1rem;
  margin: 0;
  display: flex;
  background: #fff;
  border-bottom: 1px solid #ccc;
  flex-direction: column;
}
div.wholegoods.contentContainer div.paymentOptionsContainer .paymentOptionsConfiguratorContainer .paymentTermsContainer .calculatedPayments {
  font-size: 175%;
  font-weight: bold;
  text-align: center;
  width: 100%;
}
div.wholegoods.contentContainer div.paymentOptionsContainer .paymentOptionsConfiguratorContainer .paymentTermsContainer .calculatedPaymentDetails {
  width: 100%;
  font-size: 70%;
  line-height: 115%;
  text-align: center;
  color: #909090;
}
div.wholegoods.contentContainer div.paymentOptionsContainer .paymentOptionsConfiguratorContainer .paymentAPRContainer {
  width: 50%;
  padding: 1rem;
  margin: 0;
  display: flex;
  background: #fff;
  border-bottom: 1px solid #ccc;
  flex-direction: column;
}
div.wholegoods.contentContainer div.paymentOptionsContainer .paymentOptionsConfiguratorContainer .paymentAPRContainer .calculatedAPR {
  font-size: 175%;
  font-weight: bold;
  text-align: center;
  width: 100%;
}
div.wholegoods.contentContainer div.paymentOptionsContainer .paymentOptionsConfiguratorContainer .paymentAPRContainer .calculatedAPRDetails {
  width: 100%;
  font-size: 70%;
  line-height: 115%;
  text-align: center;
  color: #909090;
}
div.wholegoods.contentContainer div.paymentOptionsContainer .paymentOptionsConfiguratorContainer .paymentTermsLoading {
  width: 100%;
  display: none;
}
div.wholegoods.contentContainer div.paymentOptionsContainer .paymentOptionsConfiguratorContainer .paymentTermsLoading span {
  padding: 3rem;
  font-size: 150%;
  text-align: center;
}
div.wholegoods.contentContainer div.paymentOptionsContainer .paymentOptionsConfiguratorContainer .paymentTermsLoading.active {
  display: block;
}
div.wholegoods.contentContainer div.paymentOptionsContainer.active {
  opacity: 1;
  bottom: 0;
  z-index: 150;
}
div.wholegoods.contentContainer div.detailsContainer {
  background: #f0f0f0;
}
div.wholegoods.contentContainer div.detailsContainer .detailsContainerContent.addonsPanel img.wholegoodsItemImage {
  cursor: pointer;
}
div.wholegoods.contentContainer div.detailsContainer .right-list {
  overflow: hidden;
  overflow-y: scroll;
  width: 100%;
  margin: 0;
}
div.wholegoods.contentContainer div.detailsContainer .bottomBorder {
  border-bottom: 1px solid #fff;
  padding: 0.5rem 0.25rem;
  padding: 0.25rem 0.5rem;
}
div.wholegoods.contentContainer div.detailsContainer h1 {
  background: #000;
  color: #fff;
  font-size: 125%;
  text-align: left;
  font-family: "HelveticaNeue";
  margin: 0;
}
div.wholegoods.contentContainer div.detailsContainer .summaryTop {
  display: none;
}
div.wholegoods.contentContainer div.detailsContainer .summaryTop .summaryTopImage {
  width: 90%;
  height: auto;
  display: block;
  margin: 0 0;
}
div.wholegoods.contentContainer div.detailsContainer p.selectConfigToChange360 {
  display: none;
  margin: 0;
}
div.wholegoods.contentContainer div.detailsContainer p.selectConfigToChange360 em {
  font-size: 75%;
  padding-right: 0.25rem;
}
div.wholegoods.contentContainer div.detailsContainer p.selectConfigToChange360 span {
  flex: 1;
  font-size: 60%;
  text-align: left;
  color: #777;
}
div.wholegoods.contentContainer div.detailsContainer p.selectConfigToChange360.active {
  display: flex;
  align-content: center;
  justify-content: space-between;
}
div.wholegoods.contentContainer div.detailsContainer p.notallvisiblenote.active {
  margin: 0;
  display: flex;
  align-content: center;
  justify-content: space-between;
}
div.wholegoods.contentContainer div.detailsContainer p.notallvisiblenote.active em {
  font-size: 75%;
  padding-right: 0.25rem;
  padding-left: 6%;
}
div.wholegoods.contentContainer div.detailsContainer p.notallvisiblenote.active span {
  flex: 1;
  font-size: 60%;
  text-align: left;
  color: #777;
}
div.wholegoods.contentContainer div.detailsContainer .groupList .groupListHeader {
  font-size: 90%;
  position: relative;
  font-weight: bold;
  padding-right: 0.25rem;
  text-align: left;
  text-transform: uppercase;
}
div.wholegoods.contentContainer div.detailsContainer .groupList .groupListDescription {
  padding: 0;
  font-size: 80%;
  line-height: 115%;
  font-weight: normal;
  text-align: left;
}
div.wholegoods.contentContainer div.detailsContainer .groupList .groupListOptionGroup {
  padding: 0.5rem 0 0.5rem 0;
  font-size: 75%;
  line-height: 115%;
  font-weight: normal;
  text-align: left;
  font-style: italic;
}
div.wholegoods.contentContainer div.detailsContainer .groupList .groupDetailsList {
  padding: 5px;
  border-radius: 3px;
  background-color: #f0f0f0;
  font-size: 60%;
  font-weight: normal;
  text-align: left;
}
div.wholegoods.contentContainer div.detailsContainer .attachItemContainer {
  width: 100%;
  display: flex;
  justify-content: space-between;
  margin-bottom: 0.75rem;
  border: 2px solid transparent;
}
div.wholegoods.contentContainer div.detailsContainer .attachItemContainer:hover {
  cursor: pointer;
}
div.wholegoods.contentContainer div.detailsContainer .attachItemContainer .active-item {
  opacity: 0;
  position: absolute;
  z-index: 5;
  font-size: 20px;
  line-height: 100%;
  top: -8px;
  left: -6px;
  font-weight: bold;
  -moz-transition: all 0.2s ease-in-out;
  -o-transition: all 0.2s ease-in-out;
  -webkit-transition: all 0.2s ease-in-out;
  transition: all 0.2s ease-in-out;
}
div.wholegoods.contentContainer div.detailsContainer .attachItemContainer .wholegoodsItemImage {
  border-right: 0;
  margin-right: 4px;
  display: flex;
  flex-direction: column;
  justify-content: center;
  width: 84px;
  background: #fff;
  padding: 10px;
}
div.wholegoods.contentContainer div.detailsContainer .attachItemContainer .wholegoodsItemImage img {
  width: 100%;
  height: auto;
  display: block;
  font-size: 35%;
  white-space: nowrap;
  overflow: hidden;
  min-width: 60px;
  min-height: 60px;
  line-height: 80px;
  text-align: center;
}
div.wholegoods.contentContainer div.detailsContainer .attachItemContainer .wholegoodsItemDetailsContainer {
  width: 70%;
  padding: 0.5rem;
  display: flex;
  justify-content: space-between;
  flex: 1;
  border: 1px solid #ccc;
  align-items: center;
}
div.wholegoods.contentContainer div.detailsContainer .attachItemContainer .wholegoodsItemDetailsContainer .wholegoodsItemDetailsNameContainer {
  display: flex;
  flex-direction: column;
  justify-content: space-between;
  /* Flex items default to a min-width based on their content's un-shrinkable
     size (e.g. long unbroken strings like part numbers or dimensions).
     Without resetting it, the browser refuses to shrink this column enough
     at mid-range desktop widths and lets it overlap the Choose/Remove
     button instead. (Not "flex: 1" — this column already gets an explicit
     width from a >=1024px breakpoint elsewhere, which a flex-basis of 0
     would override.) */
  min-width: 0;
}
div.wholegoods.contentContainer div.detailsContainer .attachItemContainer .wholegoodsItemDetailsContainer .wholegoodsItemDetailsNameContainer .wholegoodsItemDetailsName {
  font-size: 16px;
  width: 100%;
  line-height: 125%;
  text-align: left;
  overflow-wrap: break-word;
}
div.wholegoods.contentContainer div.detailsContainer .attachItemContainer .wholegoodsItemDetailsContainer .wholegoodsItemDetailsNameContainer .wholegoodsItemDetailsName a.toolTipLink {
  font-size: 125%;
  font-weight: bold;
  padding-left: 0.25rem;
  cursor: pointer;
}
div.wholegoods.contentContainer div.detailsContainer .attachItemContainer .wholegoodsItemDetailsContainer .wholegoodsItemDetailsNameContainer .wholegoodsItemPrice {
  color: #1A1A1A;
  font-size: 16px;
  font-weight: bold;
  text-align: left;
  overflow-wrap: break-word;
}
div.wholegoods.contentContainer div.detailsContainer .attachItemContainer .wholegoodsItemDetailsContainer .wholegoodsItemDetailsNameContainer .wholegoodsItemPrice .partNum {
  float: right;
  font-weight: normal;
  font-size: 75%;
}
div.wholegoods.contentContainer div.detailsContainer .attachItemContainer .wholegoodsItemDetailsContainer .wholegoodsItemDetailsNameContainer .wholegoodsItemPrice.includedInPrice {
  font-weight: normal;
  font-style: italic;
}
div.wholegoods.contentContainer div.detailsContainer .attachItemContainer .wholegoodsItemDetailsContainer .wholegoodsItemDetailsNameContainer .wholegoodsItemPrice.active {
  color: #4ac057;
}
div.wholegoods.contentContainer div.detailsContainer .attachItemContainer .wholegoodsItemDetailsContainer .wholegoodsItemAction {
  display: flex;
  flex-direction: row;
  justify-content: flex-end;
  min-height: 44px;
  width: 200px;
  flex-shrink: 0;
}
div.wholegoods.contentContainer div.detailsContainer .attachItemContainer .wholegoodsItemDetailsContainer .wholegoodsItemAction input {
  width: 100%;
  text-align: center;
}
div.wholegoods.contentContainer div.detailsContainer .attachItemContainer .wholegoodsItemDetailsContainer .wholegoodsItemAction button {
  width: 100%;
  min-width: 44px;
  font-size: 60%;
  border: 0 solid;
  padding: 1px 6px;
}
div.wholegoods.contentContainer div.detailsContainer .attachItemContainer .wholegoodsItemDetailsContainer .wholegoodsItemAction button.increase, div.wholegoods.contentContainer div.detailsContainer .attachItemContainer .wholegoodsItemDetailsContainer .wholegoodsItemAction button.deacrease {
  padding: 0;
  font-size: 100%;
}
div.wholegoods.contentContainer div.detailsContainer .attachItemContainer .wholegoodsItemDetailsContainer .wholegoodsItemAction button.add,
div.wholegoods.contentContainer div.detailsContainer .attachItemContainer .wholegoodsItemDetailsContainer .wholegoodsItemAction button.remove {
  width: 89px;
  font-size: 16px;
}
div.wholegoods.contentContainer div.detailsContainer .attachItemContainer.active {
  border: 2px solid #dc4418;
  box-shadow: 0 0 3px #dc4418;
  background-color: #fff;
  -webkit-box-shadow: 0 0 3px #dc4418;
  position: relative;
  -moz-transition: all 0.2s ease-in-out;
  -o-transition: all 0.2s ease-in-out;
  -webkit-transition: all 0.2s ease-in-out;
  transition: all 0.2s ease-in-out;
}
div.wholegoods.contentContainer div.detailsContainer .attachItemContainer.active .active-item {
  opacity: 1;
  background: #fff;
  border-radius: 10px;
  -webkit-border-radius: 10px;
}
div.wholegoods.contentContainer div.detailsContainer .attachItemContainer.active .wholegoodsItemDetailsContainer {
  border: 0 none;
}
div.wholegoods.contentContainer div.detailsContainer .attachItemContainer.active .wholegoodsItemImage {
  border-right: 2px solid #ccc;
  margin-right: 2px;
}
div.wholegoods.contentContainer div.detailsContainer .nextButton {
  width: 100%;
  text-align: center;
  padding: 1rem;
  font-size: 125%;
  border: 0 none !important;
  margin: 0 0 10px 0;
}
div.wholegoods.contentContainer div.detailsContainer .selectionContainer .attachItemContainer.specialOffersItem {
  background-color: #fff;
  border: 1px solid #ccc;
}
div.wholegoods.contentContainer div.detailsContainer .selectionContainer .attachItemContainer.specialOffersItem .wholegoodsItemImage img {
  min-height: unset;
  min-width: unset;
}
div.wholegoods.contentContainer div.detailsContainer .selectionContainer .attachItemContainer.specialOffersItem .wholegoodsItemImage {
  background: transparent;
  border: 0 none !important;
}
div.wholegoods.contentContainer div.detailsContainer .selectionContainer .attachItemContainer.specialOffersItem .wholegoodsItemDetailsNameContainer {
  width: 95%;
}
div.wholegoods.contentContainer div.detailsContainer .selectionContainer .attachItemContainer.specialOffersItem .wholegoodsItemDetailsContainer {
  background: transparent;
  border: 0 none !important;
}
div.wholegoods.contentContainer div.detailsContainer .selectionContainer .attachItemContainer.specialOffersItem .wholegoodsItemPrice {
  padding-top: 0.5rem;
}
div.wholegoods.contentContainer div.detailsContainer .selectionContainer .attachItemContainer.specialOffersItem .wholegoodsItemPrice .offerDetails {
  font-weight: bold;
  line-height: 102%;
  font-size: 100%;
  display: block;
}
div.wholegoods.contentContainer div.detailsContainer .selectionContainer .attachItemContainer.specialOffersItem.active {
  border: 1px solid #dc4418;
}
div.wholegoods.contentContainer div.detailsContainer .selectionContainer .attachItemContainer.specialOffersItem.active .active-item {
  opacity: 1;
  position: absolute;
  z-index: 5;
  font-size: 20px;
  line-height: 100%;
  top: -5px;
  left: -6px;
  font-weight: bold;
  -moz-transition: all 0.2s ease-in-out;
  -o-transition: all 0.2s ease-in-out;
  -webkit-transition: all 0.2s ease-in-out;
  transition: all 0.2s ease-in-out;
}
div.wholegoods.contentContainer div.detailsContainer.addonsPanel .groupListHeader {
  display: none;
}
div.wholegoods.contentContainer div.detailsContainer.addonsPanel .groupListOptionGroup {
  font-size: 90%;
  position: relative;
  font-weight: bold;
  padding-right: 0.25rem;
  text-align: left;
  text-transform: uppercase;
}

div.container {
  width: 100%;
}
div.container a {
  text-decoration: none;
}
div.container .contentContainer a.eligible {
  color: #1a1a1a;
  cursor: pointer;
}
div.container .contentContainer a.eligible:hover {
  opacity: 0.75;
}
div.container .contentContainer a.eligible:hover img.productGroupThumb.thumb {
  width: 96%;
}
div.container .orange-button {
  color: #fff;
  background: #dc4418;
  border-color: #dc4418;
  font-weight: bold;
}
div.container .orange-button:hover {
  background-color: #000;
  border-color: #fff;
}

div.container.progress-bar {
  padding: 0;
}
div.container.progress-bar .linksSlider {
  width: 100%;
  overflow: scroll;
  overflow-x: scroll;
  overflow-y: hidden;
  margin: 0;
  padding: 0;
}
div.container.progress-bar .links {
  flex-direction: row;
  display: flex;
  background: #fff;
  justify-content: center;
  overflow: hidden;
  width: 200%;
}
div.container.progress-bar .links a,
div.container.progress-bar .links span.disabled {
  text-transform: uppercase;
  text-align: center;
  text-decoration: none;
  color: #d1d1d1;
  flex-grow: 1;
  padding: 0;
  font-size: 1rem;
  line-height: 250%;
  font-weight: 500;
  width: 25%;
}
div.container.progress-bar .links span.disabled {
  cursor: default;
  opacity: 0.5;
}
div.container.progress-bar .links a.active {
  color: #000;
}
div.container.progress-bar .links a.summary {
  display: block;
  color: #fff;
  background: #777;
  text-align: center;
}
div.container.progress-bar .links span.disabled.summary {
  display: block;
  color: #fff;
  background: #ccc;
  text-align: center;
}
@media (max-width: 1023px) {
  div.container.progress-bar .links {
    width: max-content;
    min-width: 100%;
  }
  div.container.progress-bar .links a,
  div.container.progress-bar .links span.disabled {
    flex: 0 0 auto;
    white-space: nowrap;
    width: auto;
    padding: 0 1.25rem;
  }
}
div.container.progress-bar .bar {
  background: #ccc;
}
div.container.progress-bar .bar .color {
  width: 0%;
  height: 4px;
  margin: 0;
  padding: 0;
  background-color: #dc4418;
  font-size: 4px;
  line-height: 100%;
}
div.container.progress-bar .bar .color.step1 {
  width: 16.6%;
}
div.container.progress-bar .bar .color.step2 {
  width: 33.33%;
}
div.container.progress-bar .bar .color.step3 {
  width: 50%;
}
div.container.progress-bar .bar .color.step4 {
  width: 66.67%;
}
div.container.progress-bar .bar .color.step5 {
  width: 83.33%;
}
div.container.progress-bar .bar .color.step6 {
  width: 100%;
}
div.container.progress-bar .bar .color.step7 {
  width: 100%;
}

div.container.main-content {
  background: #f2f2f2;
  padding: 0;
}

.mobile-only {
  display: block;
}

.aligner a {
  color: #777;
}

footer {
  background: #fff;
  display: block;
  border-top: 2px solid #ccc;
}
footer a {
  text-decoration: none !important;
}
footer ul.nav li a {
  font-size: 13px;
  color: #1a1a1a;
  text-transform: uppercase;
  line-height: 18px;
  padding: 0 10px;
  display: block;
  font-weight: 500;
}
footer .bottom-nav > img {
  margin: 30px auto;
}
footer .bottom-nav .global-nav li a {
  padding: 0 20px 0 0;
  line-height: 20px;
}
footer .sfContentBlock {
  width: 100%;
  padding: 1rem;
}
footer .sfContentBlock div.bottom-nav {
  display: flex;
  flex-direction: column;
}
footer .sfContentBlock div.bottom-nav ul {
  justify-content: center;
}
footer .sfContentBlock div.bottom-nav ul.nav li {
  padding: 0.5rem;
}
footer .sfContentBlock div.bottom-nav div.copyright {
  margin: 0.5rem 0;
}
footer .copyright span {
  font-size: 13px;
  color: #1a1a1a;
  text-transform: uppercase;
  line-height: 20px;
  display: block;
  font-weight: 500;
  text-align: center;
}

nav.navbar {
  margin: 0;
  padding: 0;
}
nav.navbar.navbar-draft .container {
  background: black;
}
nav.navbar.navbar-draft .draft-status {
  color: white;
  text-align: center;
  width: 100%;
}

nav div.container {
  background: #fff;
  height: 50px;
  padding: 0;
  border-bottom: 2px solid #ccc;
}
nav div.container a {
  display: block;
  color: #777;
}
nav div.container a img {
  width: auto;
  height: 50px;
  display: block;
}
nav div.container li.nav-item {
  width: 50px;
  height: 50px;
  border-left: 1px solid #ccc;
  text-align: center;
  padding: 0;
  margin: 0;
}
nav div.container li.nav-item a {
  display: block;
  text-align: center;
  padding: 0;
  margin: 0;
  font-size: 16.66667px;
  line-height: 50px;
  cursor: pointer;
}
nav div.container li.nav-item button {
  display: block;
  text-align: center;
  padding: 0;
  margin: 0;
  font-size: 16.66667px;
  line-height: 50px;
  cursor: pointer;
  border: none;
  background: transparent;
  width: 100%;
}
nav div.container li.nav-item button.nav-link em,
nav div.container li.nav-item a.nav-link em {
  color: #777;
}
nav div.container li.nav-item a.nav-link,
nav div.container li.nav-item a.nav-link:visited,
nav div.container li.nav-item a.nav-link:hover,
nav div.container li.nav-item a.nav-link:active {
  color: #777;
}
nav div.container li.nav-item.summary {
  background: #909090;
  color: #fff;
}
nav div.container li.nav-item.findDealer a span {
  display: none;
  font-size: 55%;
  padding-left: 0.5rem;
  text-transform: uppercase;
  font-weight: bold;
}

.modelPicker {
  display: none;
}

.modelPicker.active {
  position: absolute;
  z-index: 10;
  height: 200px;
  width: 96%;
  left: 2%;
  top: calc(50vh - 100px);
  display: block;
  position: absolute;
  z-index: 10;
  height: 200px;
  width: 96%;
  left: 2%;
  top: calc(50vh - 100px);
  display: block;
}

.d-none {
  display: block !important;
}

.modal .modal-backdrop {
  background: rgba(0, 0, 0, 0.5);
  position: fixed;
  top: 0;
  right: 0;
  bottom: 0;
  left: 0;
  z-index: 1000;
}

@media (max-width: 1023px) {
  body.scroll-locked {
    position: fixed;
    top: var(--scroll-lock-offset, 0);
    left: 0;
    right: 0;
    width: 100%;
    overflow: hidden;
  }
}
/* Applied to <body> by the Base Model Picker (see the useLayoutEffect in
   Product.js) while it's open on mobile. Deliberately plain overflow: hidden
   rather than .scroll-locked's position: fixed + offset technique above —
   that technique's capture-scrollY/restore-scrollY round-trip is what caused
   the page to visibly jump on open/close (see the comment in Product.js).
   overflow: hidden never touches scrollY, so there's nothing to jump. */
@media (max-width: 1023px) {
  body.modelPickerOpen {
    overflow: hidden;
  }
}

div.modal button.close {
  position: absolute;
  top: 8px;
  right: 8px;
  background: transparent;
  border: 0 none;
  padding: 0;
  margin: 0;
  font-size: 150%;
  min-width: 44px;
  min-height: 44px;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  color: #1a1a1a;
  z-index: 100;
}
div.modal button.close:hover {
  color: #000;
  text-shadow: 3px 5px 5px rgba(0, 0, 0, 0.7);
}
div.modal .saveBuildModalBody {
  flex-direction: column;
  align-items: center;
  justify-content: center;
}
div.modal .buildCloseLink {
  text-align: center;
  color: #1a1a1a;
  display: block;
  width: 100%;
  text-decoration: none;
}

.sendQuoteForm .nextButton {
  color: #fff !important;
  background-color: #777;
}

.pricingDisclaimerBox {
  text-align: left;
  padding: 0 0.5rem 0.5rem 0.5rem;
  font-size: 60%;
  line-height: 105%;
}
.pricingDisclaimerBox.print {
  font-size: 90% !important;
}

div.buildImagesPaymentsContainer {
  display: flex;
  flex-wrap: wrap;
}
div.buildImagesPaymentsContainer div.mainImageContainer {
  width: 100%;
  display: none;
  min-height: 20vh;
}
div.buildImagesPaymentsContainer div.mainImageContainer span.noaddons {
  top: 50%;
  left: 50%;
  transform: translate(-50%, -50%);
  font-size: 95%;
  padding: 2rem;
  text-align: center;
  line-height: 125%;
  position: absolute;
  width: 80%;
}
div.buildImagesPaymentsContainer div.addOnImageContainer {
  width: 100%;
  display: none;
  min-height: 20vh;
}
div.buildImagesPaymentsContainer div.addOnImageContainer span.noaddons {
  top: 50%;
  left: 50%;
  transform: translate(-50%, -50%);
  font-size: 95%;
  padding: 2rem;
  text-align: center;
  line-height: 125%;
  position: absolute;
  width: 80%;
}
div.buildImagesPaymentsContainer div.mainImageContainer.mobileActive {
  display: flex !important;
}
div.buildImagesPaymentsContainer div.addOnImageContainer.mobileActive {
  display: flex !important;
}

.progress-bar .links .summary.active {
  background: #dc4418 !important;
}

#summaryAddOnContainer {
  display: flex;
  overflow: scroll;
  justify-content: center;
  width: 90%;
  margin: 0 auto;
  overflow: auto;
  overflow-y: hidden;
}
#summaryAddOnContainer img {
  width: auto;
  height: 60px;
  display: block;
  border: 1px solid #000;
  margin: 1rem 0.5rem;
  padding: 0;
  cursor: pointer;
  opacity: 0.75;
  box-shadow: 0 0 3px rgba(0, 0, 0, 0.7) !important;
  -webkit-box-shadow: 0 0 3px rgba(0, 0, 0, 0.7) !important;
}
#summaryAddOnContainer img:hover {
  border: 1px solid #dc4418;
  opacity: 0.95;
}
#summaryAddOnContainer img.active {
  border: 2px solid #dc4418;
  opacity: 1;
}

.pricingDetailsContainer {
  background: #fff;
  box-shadow: 0 0 3px rgba(0, 0, 0, 0.7) !important;
  -webkit-box-shadow: 0 0 3px rgba(0, 0, 0, 0.7) !important;
  margin: 0.5rem 0 1rem 0;
}
.pricingDetailsContainer .itemContainer {
  padding: 0.5rem;
  display: flex;
  flex-wrap: wrap;
}
.pricingDetailsContainer .itemContainer div {
  font-size: 90%;
  line-height: 150%;
  color: #1a1a1a;
}
.pricingDetailsContainer .itemContainer div.key {
  width: 45%;
  text-align: left;
}
.pricingDetailsContainer .itemContainer div.value {
  width: 55%;
  text-align: right;
  font-weight: bold;
  font-size: 175%;
}
.pricingDetailsContainer .itemContainer div.value input {
  text-align: right;
}

.pricingDetailsContainer.estimatedNetPricingBox {
  margin-bottom: 0.5rem;
}

.pricingDetailsContainer.small .itemContainer div.value {
  font-size: 90%;
  line-height: 150%;
}

.pricingDetailsContainer.large .itemContainer div.key {
  width: 50%;
  display: flex;
  flex-direction: column;
  justify-content: center;
}
.pricingDetailsContainer.large .itemContainer div.value {
  width: 50%;
}

.wholegoods.contentContainer div.detailsContainer .right-list {
  overflow: hidden;
  overflow-y: scroll;
}
.wholegoods.contentContainer div.detailsContainer .right-list .groupListHeader {
  display: flex;
  justify-content: space-between;
  align-items: center;
  /* Expand the clickable box (padding) then cancel it out in the surrounding
     layout (equal negative margin) — grows the hit area without the row
     itself looking taller/wider or pushing neighboring rows down. */
  padding: 18px 16px;
  margin: -18px -16px;
  color: #1a1a1a;
}
.wholegoods.contentContainer div.detailsContainer .right-list .groupListHeader.active {
  color: #dc4418;
}
.wholegoods.contentContainer div.detailsContainer .right-list .groupListHeader em {
  display: inline-block;
  font-weight: bold;
  font-size: 125%;
}
.wholegoods.contentContainer div.detailsContainer .right-list .groupListHeader em::before {
  font-weight: bold;
  font-size: 125%;
}
.wholegoods.contentContainer div.detailsContainer .right-list .groupListHeader span {
  font-size: 90%;
  position: relative;
  font-weight: bold;
  padding-right: 0.25rem;
  text-align: left;
  text-transform: uppercase;
}
.wholegoods.contentContainer div.detailsContainer .right-list .groupListHeader a.summarySelectionLink {
  font-size: 16px;
  font-weight: bold;
  text-align: right;
  color: #dc4418;
  cursor: pointer;
}

.selectionContainer .attachItemContainer:not(.specialOffersItem).active {
  position: relative !important;
  -moz-transition: all 0.2s ease-in-out;
  -o-transition: all 0.2s ease-in-out;
  -webkit-transition: all 0.2s ease-in-out;
  transition: all 0.2s ease-in-out;
  border: 0 none !important;
  box-shadow: unset !important;
  -webkit-box-shadow: unset !important;
}
.selectionContainer .attachItemContainer:not(.specialOffersItem).active .wholegoodsItemImage {
  box-shadow: 0 0 3px rgba(0, 0, 0, 0.7) !important;
  -webkit-box-shadow: 0 0 3px rgba(0, 0, 0, 0.7) !important;
  background: #fff !important;
  margin-right: 5px !important;
  border-right: 0 none !important;
}
.selectionContainer .attachItemContainer:not(.specialOffersItem).active .wholegoodsItemDetailsContainer {
  box-shadow: 0 0 3px rgba(0, 0, 0, 0.7) !important;
  -webkit-box-shadow: 0 0 3px rgba(0, 0, 0, 0.7) !important;
  background: #fff !important;
}
.selectionContainer .attachItemContainer:not(.specialOffersItem).active .wholegoodsItemAction {
  justify-content: flex-end;
}
.selectionContainer .attachItemContainer:not(.specialOffersItem).active .wholegoodsItemAction .action-button {
  background: transparent;
  color: #dc4418;
  font-weight: normal;
}

#build_details_container_summary {
  display: flex;
  justify-content: space-between;
}
#build_details_container_summary .summaryTopImage {
  width: 40%;
}
#build_details_container_summary .summaryTopImage span.groupThumbContainer {
  position: relative;
  display: flex;
  flex-grow: 1;
  flex-direction: column;
  justify-content: center;
  padding: 0;
  width: 100%;
  margin: 1rem auto 0 auto;
}
#build_details_container_summary .summaryTopImage span.groupThumbContainer img.groupThumb.thumb {
  display: block;
  height: auto;
  width: 100%;
  margin: 0 auto;
  padding: 0;
  z-index: 2;
  transition: left 0.5s ease-out, left 0.5s ease-out, top 0.5s ease-out;
  border: 1px solid #000;
  box-shadow: 0 0 3px rgba(0, 0, 0, 0.7) !important;
  -webkit-box-shadow: 0 0 3px rgba(0, 0, 0, 0.7) !important;
}
#build_details_container_summary #build_details_container_summary_text {
  width: 55%;
  display: flex;
  flex-direction: column;
  justify-content: center;
}
#build_details_container_summary #build_details_container_summary_text span.modelLabel {
  font-size: 100%;
  line-height: 110%;
  text-align: left;
  text-transform: uppercase;
  position: relative;
  color: #909090;
}
#build_details_container_summary #build_details_container_summary_text span.model {
  font-family: "HelveticaNeueCondensed", Helvetica, Arial, sans-serif;
  font-size: 125%;
  line-height: 110%;
  text-align: left;
  text-transform: uppercase;
  position: relative;
  display: inline-block;
  flex-direction: column;
  justify-content: flex-end;
  padding: 1rem 0;
  margin: 0 0 1rem 0;
}
#build_details_container_summary #build_details_container_summary_text span.model:before {
  content: "";
  position: absolute;
  bottom: 0;
  width: 100%;
  left: 0;
  border-bottom: 2px solid #dc4418;
}

#build_details_container_selections_base_model .baseModelItemContainer {
  padding: 0.5rem;
}
#build_details_container_selections_base_model .selectionContainer {
  box-shadow: 0 0 3px rgba(0, 0, 0, 0.7) !important;
  -webkit-box-shadow: 0 0 3px rgba(0, 0, 0, 0.7) !important;
  background: #fff !important;
  padding: 0.5rem;
}
#build_details_container_selections_base_model .selectionContainer .attachItemContainer {
  margin-bottom: 0;
  padding-top: 0;
}
#build_details_container_selections_base_model .selectionContainer .attachItemContainer .wholegoodsItemImage {
  border: 0 none !important;
  box-shadow: unset !important;
  -webkit-box-shadow: unset !important;
  background: transparent !important;
  margin-bottom: 0;
}
#build_details_container_selections_base_model .selectionContainer .attachItemContainer .wholegoodsItemDetailsContainer {
  border: 0 none !important;
  box-shadow: unset !important;
  -webkit-box-shadow: unset !important;
  background: transparent !important;
  margin-bottom: 0;
}
#build_details_container_selections_base_model .selectionContainer .attachItemContainer.attachItemContainerBaseModel .wholegoodsItemImage {
  width: 30%;
  margin-bottom: 0.25rem;
  border: 1px solid #1a1a1a !important;
}
#build_details_container_selections_base_model .selectionContainer .attachItemContainer.attachItemContainerBaseModel .wholegoodsItemImage img {
  min-width: unset;
  min-height: unset;
}

#product_groups_container {
  padding: 2rem;
}

.config-validation .validation-headline {
  display: block;
  font-family: "HelveticaNeueCondensed";
  padding: 0 0 2rem 0;
  margin: 0;
  font-size: 125%;
  line-height: 115%;
  text-align: justify;
}
.config-validation .validation-headline.non-bold {
  font-family: "HelveticaNeue" !important;
}
.config-validation .validation-headline.center {
  text-align: center;
}
.config-validation .validation-description {
  display: block;
  padding: 0 0 0.5rem 0;
  margin: 0;
  font-size: 105%;
  line-height: 110%;
  font-family: "HelveticaNeue";
}
.config-validation ul li {
  font-size: 105%;
  line-height: 110%;
  font-family: "HelveticaNeueCondensed";
}
.config-validation ul {
  display: flex;
  flex-direction: row;
  gap: 1em;
  width: 100%;
}
.config-validation div.selectionContainer {
  width: 100%;
  margin: 0;
  border-bottom: 1px solid #fff;
  padding: 0.5rem 0.25rem;
  padding: 0.25rem 0.5rem;
}
.config-validation div.selectionContainer .groupListHeader {
  font-size: 90%;
  position: relative;
  font-weight: bold;
  padding-right: 0.25rem;
  text-align: left;
  text-transform: uppercase;
}
.config-validation div.selectionContainer .groupListDescription {
  padding: 0;
  font-size: 80%;
  line-height: 115%;
  font-weight: normal;
  text-align: left;
}
.config-validation div.selectionContainer .groupListOptionGroup {
  padding: 0.5rem 0 0.5rem 0;
  font-size: 75%;
  line-height: 115%;
  font-weight: normal;
  text-align: left;
  font-style: italic;
}
.config-validation div.selectionContainer .groupDetailsList {
  padding: 5px;
  border-radius: 3px;
  background-color: #f0f0f0;
  font-size: 60%;
  font-weight: normal;
  text-align: left;
}
.config-validation div.selectionContainer .attachItemContainer {
  width: 100%;
  display: flex;
  justify-content: space-between;
  margin-bottom: 0.75rem;
  border: 2px solid transparent;
}
.config-validation div.selectionContainer .attachItemContainer:hover {
  cursor: pointer;
}
.config-validation div.selectionContainer .attachItemContainer .active-item {
  opacity: 0;
  position: absolute;
  z-index: 5;
  font-size: 20px;
  line-height: 100%;
  top: -8px;
  left: -6px;
  font-weight: bold;
  -moz-transition: all 0.2s ease-in-out;
  -o-transition: all 0.2s ease-in-out;
  -webkit-transition: all 0.2s ease-in-out;
  transition: all 0.2s ease-in-out;
}
.config-validation div.selectionContainer .attachItemContainer .wholegoodsItemImage {
  border-right: 0;
  margin-right: 4px;
  display: flex;
  flex-direction: column;
  justify-content: center;
  width: 84px;
  background: #fff;
}
.config-validation div.selectionContainer .attachItemContainer .wholegoodsItemImage img {
  width: 100%;
  height: auto;
  display: block;
  font-size: 35%;
  white-space: nowrap;
  overflow: hidden;
  min-width: 60px;
  min-height: 60px;
  line-height: 80px;
  text-align: center;
}
.config-validation div.selectionContainer .attachItemContainer .wholegoodsItemDetailsContainer {
  width: 70%;
  padding: 0.5rem;
  display: flex;
  justify-content: space-between;
  flex: 1;
  border: 1px solid #ccc;
  align-items: center;
}
.config-validation div.selectionContainer .attachItemContainer .wholegoodsItemDetailsContainer .wholegoodsItemDetailsNameContainer {
  display: flex;
  flex-direction: column;
  justify-content: space-between;
  /* Flex items default to a min-width based on their content's un-shrinkable
     size (e.g. long unbroken strings like part numbers or dimensions).
     Without resetting it, the browser refuses to shrink this column enough
     at mid-range desktop widths and lets it overlap the Choose/Remove
     button instead. (Not "flex: 1" — this column already gets an explicit
     width from a >=1024px breakpoint elsewhere, which a flex-basis of 0
     would override.) */
  min-width: 0;
}
.config-validation div.selectionContainer .attachItemContainer .wholegoodsItemDetailsContainer .wholegoodsItemDetailsNameContainer .wholegoodsItemDetailsName {
  font-size: 16px;
  width: 100%;
  line-height: 125%;
  text-align: left;
  overflow-wrap: break-word;
}
.config-validation div.selectionContainer .attachItemContainer .wholegoodsItemDetailsContainer .wholegoodsItemDetailsNameContainer .wholegoodsItemDetailsName a.toolTipLink {
  font-size: 125%;
  font-weight: bold;
  padding-left: 0.25rem;
  cursor: pointer;
}
.config-validation div.selectionContainer .attachItemContainer .wholegoodsItemDetailsContainer .wholegoodsItemDetailsNameContainer .wholegoodsItemPrice {
  color: #1A1A1A;
  font-size: 16px;
  font-weight: bold;
  text-align: left;
  overflow-wrap: break-word;
}
.config-validation div.selectionContainer .attachItemContainer .wholegoodsItemDetailsContainer .wholegoodsItemDetailsNameContainer .wholegoodsItemPrice .partNum {
  font-size: 75%;
  font-weight: normal;
}
.config-validation div.selectionContainer .attachItemContainer .wholegoodsItemDetailsContainer .wholegoodsItemDetailsNameContainer .wholegoodsItemPrice.includedInPrice {
  font-weight: normal;
  font-style: italic;
}
.config-validation div.selectionContainer .attachItemContainer .wholegoodsItemDetailsContainer .wholegoodsItemDetailsNameContainer .wholegoodsItemPrice.active {
  color: #4ac057;
}
.config-validation div.selectionContainer .attachItemContainer .wholegoodsItemDetailsContainer .wholegoodsItemAction {
  display: flex;
  flex-direction: row;
  justify-content: center;
  min-height: 44px;
  width: 140px;
  flex-shrink: 0;
}
.config-validation div.selectionContainer .attachItemContainer .wholegoodsItemDetailsContainer .wholegoodsItemAction input {
  width: 100%;
  min-width: 40px;
  font-size: 16px;
  text-align: center;
}
.config-validation div.selectionContainer .attachItemContainer .wholegoodsItemDetailsContainer .wholegoodsItemAction button {
  width: 100%;
  min-width: 44px;
  font-size: 16px;
  border: 0 solid;
  padding: 1px 6px;
}
.config-validation div.selectionContainer .attachItemContainer .wholegoodsItemDetailsContainer .wholegoodsItemAction button.increase, .config-validation div.selectionContainer .attachItemContainer .wholegoodsItemDetailsContainer .wholegoodsItemAction button.deacrease {
  padding: 0;
  font-size: 100%;
}
@media (max-width: 1023px) {
  .config-validation div.selectionContainer .attachItemContainer .wholegoodsItemDetailsContainer {
    flex-direction: column;
    align-items: stretch;
    gap: 0.5rem;
  }
  .config-validation div.selectionContainer .attachItemContainer .wholegoodsItemDetailsContainer .wholegoodsItemAction {
    width: 100%;
    height: auto;
  }
}
.config-validation .selectionContainer button:not(.action-button) {
  min-height: 44px;
  min-width: 44px;
}
.config-validation div.selectionContainer .attachItemContainer.active {
  border: 2px solid #dc4418;
  box-shadow: 0 0 3px #dc4418;
  background-color: #fff;
  -webkit-box-shadow: 0 0 3px #dc4418;
  position: relative;
  -moz-transition: all 0.2s ease-in-out;
  -o-transition: all 0.2s ease-in-out;
  -webkit-transition: all 0.2s ease-in-out;
  transition: all 0.2s ease-in-out;
}
.config-validation div.selectionContainer .attachItemContainer.active .active-item {
  opacity: 1;
  background: #fff;
  border-radius: 10px;
  -webkit-border-radius: 10px;
}
.config-validation div.selectionContainer .attachItemContainer.active .wholegoodsItemDetailsContainer {
  border: 0 none;
}
.config-validation div.selectionContainer .attachItemContainer.active .wholegoodsItemImage {
  border-right: 2px solid #ccc;
  margin-right: 2px;
}
.config-validation div.modal-content .modal-body {
  flex-direction: row;
}

.saveBuildModalBody button {
  width: 100%;
  margin-bottom: 2rem;
  padding: 0.5rem;
}
.saveBuildModalBody a.close-modal {
  font-weight: normal;
  text-decoration: underline;
  display: block;
  text-align: center;
  font-size: 100%;
  color: #1a1a1a;
  width: 100%;
  margin-top: 0px;
}

#build_details_container_selection h1.buildDetailsHeader {
  width: 100%;
  line-height: 105%;
  font-size: 115%;
  padding: 0.75rem 6%;
  margin: 0;
}

.link-button {
  text-decoration: none;
  display: inline-flex;
  align-items: center;
  min-height: 44px;
}

@media (min-width: 641px) {
  .sliderContainerContent #carouselModels .modelSliderBullets {
    margin-left: 4%;
    margin-right: 4%;
    justify-content: right;
  }
  .sliderContainerContent #carouselModels .modelCarouselContainer .modelCarouselCaptionContainer {
    left: 0;
    right: 0;
    padding-left: 2rem;
    padding-right: 2rem;
    padding-top: 2rem;
    padding-bottom: 1rem;
  }
}
@media (min-width: 1024px) {
  .show-image-errors {
    position: fixed !important;
    left: 1px;
    bottom: 1px;
    z-index: 10;
    opacity: 0;
    visibility: hidden;
    cursor: crosshair;
  }
  .sliderContainerContent {
    width: 90%;
    max-width: 1200px;
    margin-bottom: 2rem;
  }
  .sliderContainerContent #carouselModels .modelSliderBullets {
    margin-left: 4%;
    margin-right: 4%;
  }
  .sliderContainerContent #carouselModels .modelSliderBullets button {
    width: 15px;
    height: 15px;
    border-radius: 7.5px;
    margin-right: 8px;
    margin-left: 8px;
  }
  .sliderContainerContent #carouselModels .positionHeadline {
    text-align: left !important;
    text-shadow: #000 1px 0 7px;
  }
  .sliderContainerContent #carouselModels .sliderModel {
    text-align: left !important;
    text-shadow: #000 1px 0 10px;
  }
  .sliderContainerContent #carouselModels .modelCarouselContainer {
    background-color: transparent !important;
    background-size: 100% auto !important;
  }
  .sliderContainerContent #carouselModels .modelCarouselContainer img {
    background-color: transparent !important;
    visibility: visible;
  }
  .sliderContainerContent #carouselModels .modelCarouselContainer img.d-block.w-100 {
    display: none !important;
  }
  .groupContainerContent {
    max-width: 1200px;
  }
  .groupContainerContent a.groupLink {
    width: calc(20% - 10px);
  }
  .groupContainerContent a.groupLink span.headline {
    max-width: 175px;
  }
  .groupContainerContent div.modelContainer {
    width: calc(20% - 10px);
    padding: 0.5rem;
    position: relative;
  }
  .groupContainerContent div.modelContainer span.modelDescription {
    width: 100%;
    display: block;
    font-size: 95%;
    line-height: 110%;
    text-align: center;
    color: #777;
    padding: 0 0.25rem;
    margin: 0 auto 0.25rem auto;
    min-height: 70px;
    overflow: hidden;
  }
  .groupContainerContent div.modelContainer .choosePackage {
    display: block;
    width: auto;
    margin: 0.75rem 0.75rem;
    font-size: 80%;
    padding: 0.25rem;
    text-align: center;
  }
  /* On desktop .modelPicker goes back to expanding over just this card, so
     the backdrop/centering wrapper needs to get out of the way entirely
     rather than compete with the position: absolute override below —
     display: contents drops its own box while leaving .modelPicker in place
     as if it were still a direct child of div.modelContainer. */
  .groupContainerContent div.modelContainer div.modelPickerBackdrop {
    position: static;
    background: none;
    display: contents;
    z-index: auto;
  }
  .groupContainerContent div.modelContainer div.modelPicker div.modelPickerItemsContainer {
    overflow: hidden;
    overflow-y: auto;
  }
  .groupContainerContent div.modelContainer div.modelPicker {
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    z-index: 2;
  }
  .groupContainerContent div.modelContainer.pickerOn {
    position: relative;
  }
  .groupContainerContent div.modelContainer.pickerOn div.modelPicker {
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    z-index: 2;
  }
  .groupContainerContent .groupLink {
    width: calc(20% - 10px);
  }
  .groupContainerContent .groupLink span.headline {
    max-width: 175px;
  }
  .groupContainerContent.skeletonGrid > .modelContainer:nth-child(n+5) {
    display: flex;
  }
  .groupContainerContent.modelList div.modelContainer {
    width: calc(25% - 10px);
  }
  .modal.show {
    padding: inherit;
  }
  div.modal-content .modal-footer {
    justify-content: center;
  }
  div.modal-content .modal-footer button {
    margin: 0 2%;
    width: 45%;
  }
  div.modal-content .modal-footer button.btn-primary {
    width: 40%;
  }
  div.modal-content .modal-footer button.btn-secondary {
    width: 20%;
  }
  div.modal-content h2.modal-title {
    padding: 2rem 0 1rem 0;
  }
  div.modal-content h2.modal-title::before {
    width: 30%;
    left: 35%;
  }
  div.modal-content .modal-body .modal-image {
    width: 35%;
    padding: 0 1rem;
  }
  div.modal-content .modal-body .modal-highlights {
    width: 65%;
  }
  div.modal-content .modal-body.config-validation .groupList {
    padding: 1rem;
  }
  div.modal-content .modal-body.config-validation .groupList .groupListOptionGroup {
    padding: 0.5rem 0 0.5rem 0;
    font-size: 75%;
    line-height: 115%;
    font-weight: normal;
    text-align: left;
    font-style: italic;
  }
  div.modal-content .modal-body.config-validation .attachItemContainer {
    width: 100%;
    display: flex;
    justify-content: space-between;
    margin-bottom: 0.75rem;
    border: 2px solid transparent;
    background-color: #e0e0e0;
  }
  div.modal-content .modal-body.config-validation .attachItemContainer .wholegoodsItemDetailsContainer .wholegoodsItemDetailsNameContainer {
    width: 100%;
  }
  div.modal-content .modal-body.config-validation .attachItemContainer .wholegoodsItemDetailsContainer .wholegoodsItemDetailsNameContainer .wholegoodsItemDetailsName {
    font-size: 16px;
    width: 100%;
    line-height: 125%;
    text-align: left;
  }
  #modalSeriesDetails div.modal-dialog.modal-dialog-centered {
    width: 80%;
    max-width: 1000px;
  }
  div.contentContainer.active {
    min-height: calc(100% - 200px);
  }
  .saveBuildModalBody {
    justify-content: space-between;
  }
  #build_details_container_selection {
    padding-top: inherit;
    box-shadow: none !important;
    -webkit-box-shadow: none !important;
  }
  #build_details_container_selection h1.buildDetailsHeader {
    font-size: 125%;
    margin: 0;
    position: relative;
  }
  #build_details_container_payment_bottom_mobile {
    display: none;
  }
  .modal-body.config-validation.land-pride {
    justify-content: center;
  }
  .modal-body.config-validation.land-pride .validation-headline.caption {
    width: auto;
    max-width: 55%;
  }
  .modal-body.config-validation.land-pride .selectionContainer.options {
    width: auto;
    max-width: 45%;
    display: flex;
    gap: 10px;
    flex-wrap: wrap;
  }
  #build_details_container_dealers .dealerSelectionContainer input {
    width: 65%;
    font-weight: bold;
    text-align: left;
  }
  #build_details_container_dealers .dealerSelectionContainer button {
    width: 34%;
  }
  .right-list.summary .bottomBorder {
    padding: 1rem 2rem !important;
  }
  div.wholegoods.contentContainer div.buildImagesPaymentsContainer div.mainImageContainer.summary {
    border-right: 1px solid #ccc;
    width: 50%;
    display: flex !important;
    opacity: 1;
    position: relative;
  }
  div.wholegoods.contentContainer div.buildImagesPaymentsContainer div.mainImageContainer.summary .subImageContainer {
    display: flex;
    flex-direction: column;
    justify-content: center;
  }
  div.wholegoods.contentContainer div.buildImagesPaymentsContainer div.mainImageContainer.summary .subImageContainer img {
    width: 100%;
    height: auto;
    display: block;
  }
  div.wholegoods.contentContainer div.buildImagesPaymentsContainer div.mainImageContainer.summary span.noaddons {
    font-size: 115%;
  }
  div.wholegoods.contentContainer div.buildImagesPaymentsContainer div.addOnImageContainer.summary {
    border-right: 1px solid #ccc;
    width: 50%;
    display: flex !important;
    opacity: 1;
    position: relative;
  }
  div.wholegoods.contentContainer div.buildImagesPaymentsContainer div.addOnImageContainer.summary span.noaddons {
    font-size: 115%;
  }
  div.wholegoods.contentContainer {
    flex-direction: row;
    height: auto;
  }
  div.wholegoods.contentContainer div.buildImagesPaymentsContainer {
    width: 65%;
    align-self: flex-start;
    max-height: 100vh;
    overflow-y: auto;
  }
  div.wholegoods.contentContainer div.buildImagesPaymentsContainer div.mainImageContainer {
    display: none;
    flex-direction: column;
    justify-content: center;
    align-content: center;
    min-height: 20vh;
    border-bottom: 1px solid #ccc;
    max-height: calc(85vh - 130px);
    height: calc(85vh - 130px);
  }
  div.wholegoods.contentContainer div.buildImagesPaymentsContainer div.mainImageContainer .subImageContainer {
    height: 75vh;
    background-color: #fff;
  }
  div.wholegoods.contentContainer div.buildImagesPaymentsContainer div.mainImageContainer:not(.summary) .thumbsContainer {
    display: flex;
    position: absolute;
    right: 10px;
    bottom: 25px;
    left: inherit;
    margin-left: auto;
    margin-right: auto;
    justify-content: flex-end;
  }
  div.wholegoods.contentContainer div.buildImagesPaymentsContainer div.addOnImageContainer {
    display: none;
    flex-direction: column;
    justify-content: center;
    align-content: center;
    min-height: 20vh;
    border-bottom: 1px solid #ccc;
    background-color: #fff;
    max-height: 72vh;
    height: 100vh;
    height: 75vh;
  }
  div.wholegoods.contentContainer div.buildImagesPaymentsContainer div.addOnImageContainer .subImageContainer {
    height: 75vh;
  }
  div.wholegoods.contentContainer div.buildImagesPaymentsContainer div.addOnImageContainer:not(.summary) .thumbsContainer {
    display: flex;
    position: absolute;
    right: 10px;
    bottom: 25px;
    left: inherit;
    margin-left: auto;
    margin-right: auto;
    justify-content: flex-end;
  }
  div.wholegoods.contentContainer div.paymentsSharingContainer {
    display: block;
    width: 100%;
    background: #fff;
    border-top: 1px solid #ccc;
    display: flex;
    flex-wrap: wrap;
    justify-content: space-between;
  }
  div.wholegoods.contentContainer div.paymentsSharingContainer .sharingActionsContainer {
    width: 40%;
    margin: 0 10px 0 0;
    position: relative;
    z-index: auto;
    top: auto;
    left: auto;
    transform: none;
    border: 0 none;
    padding: 0;
  }
  div.wholegoods.contentContainer div.paymentsSharingContainer .paymentTermsContainer .calculatedPaymentDetails {
    width: 40%;
    font-size: 70%;
    line-height: 115%;
    text-align: left;
    color: #909090;
  }
  div.wholegoods.contentContainer div.paymentsSharingContainer .paymentAPRContainer .calculatedAPRDetails {
    width: 40%;
    font-size: 70%;
    line-height: 115%;
    text-align: left;
    color: #909090;
  }
  div.wholegoods.contentContainer div.paymentOptionsContainer {
    position: absolute;
    left: 0;
  }
  div.wholegoods.contentContainer div.paymentOptionsContainer .paymentOptionsTermsContainer {
    width: 35%;
  }
  div.wholegoods.contentContainer div.paymentOptionsContainer .paymentTermNumbersContainer {
    width: 65%;
  }
  div.wholegoods.contentContainer div.paymentOptionsContainer .paymentDownContainer .paymentOptionsBoxesContainer {
    justify-content: space-between;
  }
  div.wholegoods.contentContainer div.paymentOptionsContainer .paymentDownContainer .paymentOptionsBoxesContainer input {
    width: 65% !important;
  }
  div.wholegoods.contentContainer div.paymentOptionsContainer .paymentDownContainer .paymentOptionsBoxesContainer button {
    width: 30% !important;
  }
  div.wholegoods.contentContainer div.paymentOptionsContainer .hidePaymentLink {
    width: 25%;
    margin-left: 3%;
    margin-right: 72%;
  }
  div.wholegoods.contentContainer div.paymentOptionsContainer .paymentOptionsConfiguratorContainer .estimatedNetPriceContainer {
    width: 28%;
    flex-direction: row;
  }
  div.wholegoods.contentContainer div.paymentOptionsContainer .paymentOptionsConfiguratorContainer .estimatedNetPriceContainer .estimatedNetPrice {
    width: 60%;
  }
  div.wholegoods.contentContainer div.paymentOptionsContainer .paymentOptionsConfiguratorContainer .estimatedNetPriceContainer .estimatedNetPriceDisclaimer {
    width: 40%;
    text-align: left;
    margin: auto 0;
  }
  div.wholegoods.contentContainer div.paymentOptionsContainer .paymentOptionsConfiguratorContainer .paymentTermsContainer {
    width: 34%;
    flex-direction: row;
  }
  div.wholegoods.contentContainer div.paymentOptionsContainer .paymentOptionsConfiguratorContainer .paymentTermsContainer .calculatedPayments {
    width: 60%;
  }
  div.wholegoods.contentContainer div.paymentOptionsContainer .paymentOptionsConfiguratorContainer .paymentTermsContainer .calculatedPaymentDetails {
    width: 40%;
    font-size: 70%;
    line-height: 115%;
    text-align: left;
    color: #909090;
    margin: auto 0;
  }
  div.wholegoods.contentContainer div.paymentOptionsContainer .paymentOptionsConfiguratorContainer .paymentAPRContainer {
    width: 28%;
    flex-direction: row;
  }
  div.wholegoods.contentContainer div.paymentOptionsContainer .paymentOptionsConfiguratorContainer .paymentAPRContainer .calculatedAPR {
    width: 40%;
  }
  div.wholegoods.contentContainer div.paymentOptionsContainer .paymentOptionsConfiguratorContainer .paymentAPRContainer .calculatedAPRDetails {
    width: 60%;
    font-size: 70%;
    line-height: 115%;
    text-align: left;
    color: #909090;
    margin: auto 0;
  }
  div.wholegoods.contentContainer div.paymentOptionsContainer div.paymentOptionsContainer.active {
    bottom: 0;
    left: 0;
  }
  div.wholegoods.contentContainer div.paymentOptionsContainer .paymentDownContainer .paymentOptionsBoxesContainer {
    justify-content: space-between;
  }
  div.wholegoods.contentContainer div.paymentOptionsContainer .paymentDownContainer .paymentOptionsBoxesContainer input {
    width: 65% !important;
  }
  div.wholegoods.contentContainer div.paymentOptionsContainer .paymentDownContainer .paymentOptionsBoxesContainer button {
    width: 30% !important;
  }
  div.wholegoods.contentContainer div.detailsContainer {
    width: 35%;
    display: flex;
    flex-direction: column;
  }
  div.wholegoods.contentContainer div.detailsContainer .right-list {
    overflow: hidden;
    overflow-y: auto;
    width: 100%;
    margin: 0 0;
  }
  div.wholegoods.contentContainer div.detailsContainer .bottomBorder {
    /*padding: 1rem 2rem;*/
  }
  div.wholegoods.contentContainer div.detailsContainer .summaryTop .summaryTopImage {
    margin: 0;
  }
  div.wholegoods.contentContainer div.detailsContainer p.notallvisiblenote.active em {
    font-size: 75%;
    padding-right: 0.25rem;
    padding-left: 3%;
  }
  div.wholegoods.contentContainer div.detailsContainer .groupList {
    padding: 1rem;
  }
  div.wholegoods.contentContainer div.detailsContainer .groupList .groupListOptionGroup {
    padding: 0.5rem 0 0.5rem 0;
    font-size: 75%;
    line-height: 115%;
    font-weight: normal;
    text-align: left;
    font-style: italic;
  }
  div.wholegoods.contentContainer div.detailsContainer .attachItemContainer {
    width: 100%;
    display: flex;
    justify-content: space-between;
    margin-bottom: 0.75rem;
    border: 2px solid transparent;
  }
  div.wholegoods.contentContainer div.detailsContainer .attachItemContainer .wholegoodsItemDetailsContainer .wholegoodsItemDetailsNameContainer {
    width: 65%;
  }
  div.wholegoods.contentContainer div.detailsContainer .attachItemContainer .wholegoodsItemDetailsContainer .wholegoodsItemDetailsNameContainer .wholegoodsItemDetailsName {
    font-size: 16px;
    width: 100%;
    line-height: 125%;
    text-align: left;
  }
  div.wholegoods.contentContainer div.detailsContainer .attachItemContainer .wholegoodsItemDetailsContainer .wholegoodsItemAction {
    width: 25%;
    visibility: visible;
    position: relative;
    z-index: auto;
  }
  div.wholegoods.contentContainer div.detailsContainer .nextButton {
    width: 100%;
    text-align: center;
    padding: 1rem;
    font-size: 125%;
    border: 0 none !important;
    margin: auto 0 0 0;
    position: sticky;
    bottom: 0;
    z-index: 10;
  }
  div.wholegoods.contentContainer div.paymentOptionsContainer.active {
    bottom: 0;
    left: 0;
  }
  div.container {
    max-width: 1600px;
    margin: 0 auto;
    background: #fff;
  }
  div.container.progress-bar.active .links {
    display: flex;
    width: 100%;
  }
  div.container.progress-bar .linksSlider {
    overflow: hidden;
    overflow-x: hidden;
    overflow-y: hidden;
  }
  div.container.progress-bar .links {
    background: transparent;
    width: 100%;
  }
  div.container.progress-bar .links a,
  div.container.progress-bar .links span.disabled {
    line-height: 300%;
    width: auto;
  }
  div.container.progress-bar .links a.summary {
    display: block;
  }
  div.container.main-content {
    padding: 0rem;
  }
  .mobile-only {
    display: none;
  }
  footer {
    max-width: 1600px;
    margin: 0 auto;
  }
  footer .bottom-nav .global-nav li a {
    padding: 0 10px 0 0;
  }
  footer .sfContentBlock div.bottom-nav {
    flex-direction: row;
    justify-content: space-between;
  }
  footer .sfContentBlock div.bottom-nav ul {
    flex-wrap: nowrap;
  }
  footer .sfContentBlock div.bottom-nav ul.nav li {
    padding: 0;
    display: flex;
    flex-direction: column;
    justify-content: center;
  }
  footer .copyright {
    width: 32%;
  }
  footer .copyright span {
    text-align: right;
  }
  nav div.container {
    max-width: 1600px;
    margin: 0 auto;
    height: 70px;
  }
  nav div.container a img {
    height: 70px;
    width: auto;
  }
  nav div.container li.nav-item {
    width: 70px;
    height: 70px;
  }
  nav div.container li.nav-item a,
  nav div.container li.nav-item button {
    font-size: 25.45455px;
    line-height: 70px;
  }
  nav div.container li.nav-item a.findDealer,
  nav div.container li.nav-item button.findDealer {
    width: auto;
  }
  nav div.container li.nav-item a span,
  nav div.container li.nav-item button span {
    display: inline-block;
  }
  nav div.container li.nav-item.summary {
    display: none;
  }
  nav div.container li.nav-item.findDealer a span {
    font-size: 60%;
    padding-left: 0.75rem;
    padding-right: 0.25rem;
  }
  .modelPicker.active {
    width: 100%;
    position: relative;
    margin: 0;
    padding: 0;
    top: auto;
    left: auto;
    height: 100%;
  }
  div.buildImagesPaymentsContainer div.mainImageContainer {
    border-right: 1px solid #ccc;
  }
  div.buildImagesPaymentsContainer div.mainImageContainer span.noaddons {
    font-size: 115%;
  }
  div.buildImagesPaymentsContainer div.addOnImageContainer span.noaddons {
    font-size: 115%;
  }
  #summaryAddOnContainer {
    position: absolute;
    right: 5px;
    bottom: 25px;
  }
  .modelPicker {
    width: 100%;
    margin: 0;
    padding: 0;
    top: auto;
    left: auto;
    height: 100%;
  }
  .attachItemContainer.nothumbnail em.bi {
    display: flex;
    flex-direction: column;
    justify-content: center;
    margin-right: 15px;
  }
  div.modal-content div.modal-body.config-validation .validation-headline {
    width: 100%;
  }
  div.modal-content div.modal-body.config-validation div.selectionContainer {
    width: 45%;
    padding-top: 0;
  }
  div.modal-content div.modal-body.config-validation div.selectionContainer.prerequisite-preview,
  div.modal-content div.modal-body.config-validation div.selectionContainer.packageDecisionGroup {
    width: 100%;
  }
}
.paymentCheckboxContainers {
  width: 100%;
  display: flex;
  justify-content: space-between;
  flex-direction: column;
}
.paymentCheckboxContainers a.paymentQuestionContainer {
  width: 100%;
  display: flex;
  justify-content: space-between;
  flex-wrap: wrap;
  gap: 0.5rem;
  color: #1a1a1a;
  padding-right: 1rem;
  cursor: pointer;
}
.paymentCheckboxContainers a.paymentQuestionContainer em {
  color: #DC4418;
}
.paymentCheckboxContainers a.paymentQuestionContainer span {
  font-size: 70%;
}
@media (min-width: 1024px) {
  .paymentCheckboxContainers {
    gap: normal;
    flex-direction: row;
    justify-content: right;
  }
  .paymentCheckboxContainers a.paymentQuestionContainer {
    width: auto;
  }
}

.materialDescription {
  text-align: left;
  padding-bottom: 0.75rem;
  font-size: 75%;
}

.baseModelPriceContainer {
  display: flex;
  justify-content: space-between;
  padding: 1rem;
  font-size: 75%;
  width: 100%;
  border: 0;
  box-shadow: 0 0 3px black;
  -webkit-box-shadow: 0 0 3px #000;
  position: relative;
  -moz-transition: all 0.2s ease-in-out;
  -o-transition: all 0.2s ease-in-out;
  -webkit-transition: all 0.2s ease-in-out;
  transition: all 0.2s ease-in-out;
  background: #fff;
}
.baseModelPriceContainer span.label {
  width: 40%;
  text-align: left;
}
.baseModelPriceContainer span.value {
  width: 50%;
  text-align: right;
  font-weight: bold;
}

.summaryPanel .attachItemContainer .wholegoodsItemDetailsContainer {
  border: 0;
  box-shadow: 0 0 3px black;
  -webkit-box-shadow: 0 0 3px #000;
  position: relative;
  -moz-transition: all 0.2s ease-in-out;
  -o-transition: all 0.2s ease-in-out;
  -webkit-transition: all 0.2s ease-in-out;
  transition: all 0.2s ease-in-out;
  background: #fff;
  margin-bottom: 0;
}

#build_details_container_pricing_summary {
  display: block !important;
}

.paymentDownContainer {
  padding-bottom: 0.5rem;
}

.paymentsSharingContainer .paymentTermsContainer {
  width: 28% !important;
  flex: 1;
}
.paymentsSharingContainer .paymentTermsContainer.active .calculatedPayments,
.paymentsSharingContainer .paymentTermsContainer.active .calculatedPaymentDetails {
  visibility: visible;
}
.paymentsSharingContainer .paymentTermsContainer .calculatedPayments,
.paymentsSharingContainer .paymentTermsContainer .calculatedPaymentDetails {
  visibility: hidden;
}
.paymentsSharingContainer .paymentAPRContainer .calculatedPaymentDetails {
  font-size: 50%;
  line-height: 115%;
  text-align: left;
  color: #909090;
}

.land-pride-loading {
  text-align: center;
  padding: 50px;
}

.show-image-errors {
  position: absolute;
  border: 1px solid #ddd;
  color: #777;
  left: 1px;
  bottom: 1px;
  z-index: 10;
  opacity: 0;
  visibility: hidden;
  cursor: crosshair;
}

.image-errors {
  padding: 1rem;
}

@media (max-width: 640px) {
  .groupContainerContent {
    width: 100%;
  }
  .groupContainerContent a.groupLink span.detailsLink {
    width: 44px;
    height: 44px;
    top: 10px;
    right: 10px;
    font-size: 0;
    border-radius: 50%;
  }
  .groupContainerContent a.groupLink span.detailsLink em {
    font-size: 22px;
    padding-right: 0;
  }
  div.modal-content div.modal-body > .highlights-container a,
  div.modal-content div.modal-body > .highlights-container button {
    margin-top: 1rem;
  }
  .sliderContainerContent #carouselModels .modelCarouselContainer .modelCarouselCaptionContainer span.sliderModel {
    text-shadow: #000 3px 3px 10px;
  }
  .sliderContainerContent #carouselModels .modelCarouselContainer .modelCarouselCaptionContainer span.sliderModel {
    text-shadow: #000 2px 2px 4px;
    word-wrap: break-word;
  }
  .groupContainerContent a.groupLink span.headline {
    word-wrap: break-word;
  }
  /*.groupContainerContent div.modelContainer span.msrp-container {
      width: 100%;
  }*/
  .groupContainerContent div.modelContainer .choosePackage.orange-button {
    padding: 0.75rem 0rem;
  }
  .groupContainerContent div.modelContainer .choosePackage {
    line-height: 100%;
  }
  /* 3.4: Single-column cards on mobile */
  .groupContainerContent a.groupLink {
    width: 100%;
    margin: 0 0 10px 0;
  }
  .groupContainerContent div.modelContainer {
    width: 100%;
    margin: 0 0 10px 0;
  }
  /* 3.4: Touch target sizing (44px minimum per Apple/Google guidelines) */
  .modelPickerRadioContainer {
    min-width: 44px;
    min-height: 44px;
  }
  .modelPickerContentContainer {
    min-height: 44px;
    cursor: pointer;
  }
  .groupListHeader {
    min-height: 44px;
  }
  div.wholegoods.contentContainer div.buildImagesPaymentsContainer div.mainImageContainer .thumbsContainer {
    display: flex;
    position: absolute;
    right: 10px;
    bottom: 0px;
  }
  div.wholegoods.contentContainer div.buildImagesPaymentsContainer div.addOnImageContainer .thumbsContainer {
    display: flex;
    position: absolute;
    right: 10px;
    bottom: 0px;
  }
  #build_details_container_selection {
    -webkit-box-shadow: -3px -3px 7px rgba(0, 0, 0, 0.7) !important;
    -webkit-box-shadow: -3px -3px 7px rgba(0, 0, 0, 0.7) !important;
  }
  .modal-header {
    width: 100%;
  }
  .modal-title {
    line-height: 1.2;
  }
  .config-validation .validation-headline {
    text-align: justify;
  }
  .config-validation .validation-description {
    padding: 0 0 1rem 0;
  }
  div.wholegoods.contentContainer div.detailsContainer .attachItemContainer .wholegoodsItemDetailsContainer .wholegoodsItemDetailsNameContainer {
    width: 70%;
  }
  div.modal-content .modal-body {
    padding: 1rem 1rem 3rem 1rem;
  }
  div.wholegoods.contentContainer div.paymentOptionsContainer .hidePaymentLink span.corners {
    background: #1a1a1a;
  }
  div.wholegoods.contentContainer div.paymentOptionsContainer .hidePaymentLink {
    border-top: 1px solid #1a1a1a;
  }
  .config-validation ul {
    display: flex;
    flex-direction: row;
    gap: 1em;
    width: 100%;
  }
  div.wholegoods.contentContainer div.buildImagesPaymentsContainer div.mainImageContainer {
    min-height: 40vh;
  }
  footer {
    display: none;
  }
  div.wholegoods.contentContainer div.detailsContainer .nextButton {
    margin-bottom: 125px;
  }
  div.wholegoods.contentContainer div.detailsContainer .withPrint {
    margin-bottom: 0;
  }
  #build_details_container_dealers {
    padding-bottom: 40px;
  }
  #build_details_container_selection {
    box-shadow: 0px -6px 6px rgba(0, 0, 0, 0.25) !important;
    -webkit-box-shadow: 0px -6px 6px rgba(0, 0, 0, 0.25) !important;
  }
  div.wholegoods.contentContainer div.paymentsSharingContainer {
    display: flex;
    flex-wrap: wrap;
    background: linear-gradient(to top, #fff, 80%, #f0f0f0);
    z-index: 145;
    bottom: 0px;
    left: 0px;
    right: 0px;
    position: fixed;
  }
  div.wholegoods.contentContainer div.paymentsSharingContainer .adjustPaymentLink {
    width: 94%;
    margin-left: 3%;
  }
  div.wholegoods.contentContainer div.paymentsSharingContainer .modelNameSummaryContainer,
  div.wholegoods.contentContainer div.paymentsSharingContainer .paymentTermsContainer,
  div.wholegoods.contentContainer div.paymentsSharingContainer .startOverButtonContainer,
  div.wholegoods.contentContainer div.paymentsSharingContainer .sharingActionsContainer {
    display: none;
  }
  div.wholegoods.contentContainer div.paymentsSharingContainer .estimatedNetPriceContainer {
    flex: 1;
  }
  div.wholegoods.contentContainer div.paymentsSharingContainer .estimatedNetPriceContainer .estimatedNetPrice {
    width: auto;
    text-align: left;
    margin: 0 10px 0 0;
  }
  div.wholegoods.contentContainer div.paymentsSharingContainer .estimatedNetPriceContainer .estimatedNetPriceDisclaimer sup {
    line-height: 30px;
  }
  div.wholegoods.contentContainer div.paymentsSharingContainer .adjustPaymentLink span {
    width: 100%;
    padding: 0 0 5px 20px;
  }
  div.wholegoods.contentContainer div.paymentOptionsContainer .paymentOptionsConfiguratorContainer .paymentAPRContainer {
    display: flex;
  }
  div.wholegoods.contentContainer div.paymentOptionsContainer .paymentOptionsConfiguratorContainer .paymentOptionsBoxesContainer a {
    margin-bottom: 10px;
  }
  div.wholegoods.contentContainer div.paymentOptionsContainer .paymentOptionsConfiguratorContainer .paymentOptionsBoxesContainer a {
    margin-bottom: 10px;
  }
  .paymentCheckboxContainers {
    margin: 10px 0 10px 0;
  }
  .paymentCheckboxContainers a.paymentQuestionContainer {
    justify-content: flex-start;
    gap: 10px;
    margin: 0px 0 0 15px;
  }
  div.wholegoods.contentContainer div.paymentOptionsContainer .paymentDownContainer .paymentOptionsBoxesContainer button {
    width: 100%;
    padding: 10px 0;
    margin: 10px 0 20px 0;
  }
  div.wholegoods.contentContainer div.paymentOptionsContainer .paymentOptionsConfiguratorContainer {
    box-shadow: 0px -6px 10px rgba(0, 0, 0, 0.25) !important;
    -webkit-box-shadow: 0px -6px 6px rgba(0, 0, 0, 0.25) !important;
  }
  div.wholegoods.contentContainer div.paymentOptionsContainer .paymentOptionsConfiguratorContainer .paymentOptionsBoxesContainer {
    gap: 10px;
    justify-content: flex-start;
  }
  div.wholegoods.contentContainer div.paymentOptionsContainer .paymentOptionsConfiguratorContainer .paymentOptionsBoxesContainer.downPaymentBoxesContainer {
    gap: 10px;
    justify-content: space-between;
  }
  div.wholegoods.contentContainer div.paymentOptionsContainer .paymentOptionsConfiguratorContainer .paymentOptionsBoxesContainer.downPaymentBoxesContainer input[type=tel] {
    line-height: inherit;
    width: 48%;
  }
  div.wholegoods.contentContainer div.paymentOptionsContainer .paymentOptionsConfiguratorContainer .paymentOptionsBoxesContainer.downPaymentBoxesContainer button {
    width: 48%;
    margin: 0;
  }
  div.wholegoods.contentContainer div.paymentOptionsContainer .paymentOptionsConfiguratorContainer .paymentOptionsBoxesContainer a {
    margin-bottom: 0;
    font-size: 16px;
    margin-left: 0;
    margin-right: 0;
  }
  div.wholegoods.contentContainer div.paymentOptionsContainer .paymentOptionsConfiguratorContainer .estimatedNetPriceContainer,
  div.wholegoods.contentContainer div.paymentOptionsContainer .paymentOptionsConfiguratorContainer .paymentTermsContainer,
  div.wholegoods.contentContainer div.paymentOptionsContainer .paymentOptionsConfiguratorContainer .paymentAPRContainer {
    font-size: 14px;
    width: 33%;
  }
  div.wholegoods.contentContainer div.paymentOptionsContainer .paymentOptionsConfiguratorContainer .paymentTermsContainer {
    border-right: 1px solid #ccc;
  }
  #build_details_container_add-on_images {
    display: none !important;
  }
}
input.error {
  outline: 1px solid red;
  margin-bottom: 0;
}

.validationMessage {
  display: block;
  color: red;
  font-style: italic;
  text-align: left;
  font-size: 80%;
  margin-bottom: 0.5rem;
  overflow: auto;
  overflow-y: auto;
}

div.wholegoods.active.printSummary {
  background-color: #E0E0E0;
  margin: 0;
  height: 100%;
  justify-content: flex-start;
  padding: 0;
  overflow: auto;
  overflow-y: auto;
}
div.wholegoods.active.printSummary div.detailsContainer {
  background: #fff;
  width: 100%;
  box-shadow: none;
  -webkit-box-shadow: none;
  height: 100%;
  overflow: auto;
  overflow-y: auto;
}
div.wholegoods.active.printSummary div.detailsContainer .right-list {
  overflow: auto;
  overflow-y: auto;
}
div.wholegoods.active.printSummary div.detailsContainer .right-list em.bi {
  display: none;
}
div.wholegoods.active.printSummary div.detailsContainer .right-list .baseModelPriceContainer {
  background-color: #f2f2f2;
  border: none;
  border-radius: 8px;
  box-shadow: none;
  -webkit-box-shadow: none;
}
div.wholegoods.active.printSummary div.detailsContainer .right-list .attachItemContainer.active {
  background-color: #f2f2f2;
  border: none;
  border-radius: 8px;
  box-shadow: none;
  -webkit-box-shadow: none;
  padding: 0.5rem 0.75rem;
  align-items: center;
}
div.wholegoods.active.printSummary div.detailsContainer .right-list .wholegoodsItemImage {
  border-right: none;
  margin-right: 1rem;
  width: 48px;
  min-width: 48px;
  padding: 0;
  background: transparent;
  overflow: hidden;
}
div.wholegoods.active.printSummary div.detailsContainer .right-list .wholegoodsItemImage img {
  width: 100%;
  height: auto;
  min-width: 0;
  min-height: 0;
  border-radius: 4px;
}
div.wholegoods.active.printSummary div.detailsContainer .right-list .attachItemContainer .wholegoodsItemDetailsContainer {
  border: 0;
  box-shadow: none;
  -webkit-box-shadow: none;
  background: transparent;
  padding: 0;
}
div.wholegoods.active.printSummary div.detailsContainer .right-list .wholegoodsItemDetailsName {
  font-weight: bold;
  color: #1A1A1A;
}
div.wholegoods.active.printSummary div.detailsContainer .right-list .wholegoodsItemPrice {
  font-weight: normal !important;
  color: #666;
}
div.wholegoods.active.printSummary div.detailsContainer .right-list .printPartNum {
  display: none;
}
div.wholegoods.active.printSummary div.detailsContainer .printHeader {
  display: flex;
  padding: 1rem 1rem 0 1rem;
  margin: 0;
  background-color: #FFF;
  width: 100%;
  box-sizing: border-box;
}
div.wholegoods.active.printSummary div.detailsContainer .printHeadersLogo {
  width: 140px;
  box-sizing: border-box;
}
div.wholegoods.active.printSummary div.detailsContainer .printLogo {
  width: 100%;
  height: auto;
  display: block;
  box-sizing: border-box;
}
div.wholegoods.active.printSummary div.detailsContainer .summaryHeader {
  display: flex;
  padding: 1rem;
  margin: 0;
  background-color: #FFF;
  width: 100%;
  box-sizing: border-box;
  align-items: stretch;
  justify-content: space-between;
  gap: 1rem;
}
div.wholegoods.active.printSummary div.detailsContainer .summaryInfoBox {
  flex: 1;
  /* Explicit, matching .summaryImageBox's height below — relying on
     align-items: stretch alone left a visible mismatch. */
  height: 234px;
  background-color: #f2f2f2;
  border-radius: 6px;
  padding: 1.5rem;
  box-sizing: border-box;
}
div.wholegoods.active.printSummary div.detailsContainer .summaryBoxTitle {
  font-size: 175%;
  font-weight: bold;
  font-family: "HelveticaNeueCondensed";
  text-align: left;
  box-sizing: border-box;
}
div.wholegoods.active.printSummary div.detailsContainer .summaryBoxModel {
  font-size: 90%;
  color: #666;
  text-align: left;
  margin-top: 0.25rem;
  box-sizing: border-box;
}
div.wholegoods.active.printSummary div.detailsContainer .summaryBoxDivider {
  border-bottom: 1px solid #ccc;
  margin: 1rem 0;
}
div.wholegoods.active.printSummary div.detailsContainer .summaryBoxPriceRow {
  display: flex;
  justify-content: flex-start;
  gap: 2.5rem;
}
div.wholegoods.active.printSummary div.detailsContainer .summaryBoxPriceCol {
  text-align: left;
}
div.wholegoods.active.printSummary div.detailsContainer .summaryBoxPriceValue {
  font-size: 150%;
  font-weight: bold;
  font-family: "HelveticaNeueCondensed";
  box-sizing: border-box;
}
div.wholegoods.active.printSummary div.detailsContainer .summaryBoxPriceLabel {
  font-size: 70%;
  color: #666;
  box-sizing: border-box;
}
div.wholegoods.active.printSummary div.detailsContainer .summaryBoxMeta {
  display: flex;
  flex-direction: column;
  gap: 0.25rem;
}
div.wholegoods.active.printSummary div.detailsContainer .summaryBoxMetaRow {
  font-size: 75%;
  color: #666;
  text-align: left;
  box-sizing: border-box;
}
div.wholegoods.active.printSummary div.detailsContainer .summaryBoxCustomer {
  margin-top: 0.75rem;
}
div.wholegoods.active.printSummary div.detailsContainer .summaryCustomerInfo {
  text-align: left !important;
  font-size: 75%;
  line-height: 125%;
}
div.wholegoods.active.printSummary div.detailsContainer .summaryImageBox {
  flex: 1.3;
  /* Matches .summaryInfoBox's explicit height above. */
  height: 234px;
  display: flex;
  align-items: center;
  justify-content: center;
}
div.wholegoods.active.printSummary div.detailsContainer .summaryImage {
  /* Fills the fixed-height box above so the box reads as a wide rectangle
     instead of scaling up to a near-square as the column gets wider — the
     image scales down to fit, unclipped. */
  height: 100%;
  width: 100%;
  object-fit: contain;
  padding: 1rem;
  display: block;
  border: 1px solid #ccc;
  border-radius: 4px;
  box-sizing: border-box;
}
div.wholegoods.active.printSummary div.detailsContainer .printEquipment {
  margin: 1rem;
  padding: 1rem;
  font-size: 65%;
  line-height: 1.25em;
}
div.wholegoods.active.printSummary div.detailsContainer .printEquipmentHeadline {
  font-weight: bold;
  font-size: 150%;
  margin-bottom: 0.75rem;
  text-align: left;
  box-sizing: border-box;
}
div.wholegoods.active.printSummary div.detailsContainer .printEquipmentGrid {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 0.75rem 1rem;
}
div.wholegoods.active.printSummary div.detailsContainer .printEquipmentCard {
  border-radius: 6px;
  overflow: hidden;
  background: #fff;
  break-inside: avoid;
  box-sizing: border-box;
}
div.wholegoods.active.printSummary div.detailsContainer .printEquipmentCardHeader {
  background: #f0f0f0;
  font-weight: bold;
  padding: 0.5rem 0.75rem;
  border-radius: 6px 6px 0 0;
}
div.wholegoods.active.printSummary div.detailsContainer .printEquipmentCardList {
  margin: 0;
  padding: 0.5rem 0.75rem 0.5rem 1.5rem;
  list-style: disc;
}
div.wholegoods.active.printSummary div.detailsContainer .printEquipmentCardList li {
  margin-bottom: 0.15rem;
}
div.wholegoods.active.printSummary div.detailsContainer .printPartNum {
  width: 100%;
  text-align: right;
  font-size: 75%;
}
div.wholegoods.active.printSummary div.detailsContainer .sectionHeader {
  font-weight: bold;
  font-size: 150%;
  margin-top: 1.5rem;
  margin-bottom: 0.5rem;
  text-align: left;
  display: block;
  box-sizing: border-box;
}
div.wholegoods.active.printSummary div.detailsContainer .baseModelPriceContainer {
  display: flex;
  justify-content: space-between;
  padding: 1rem;
  font-size: 75%;
  width: 100%;
  border: 0;
  box-shadow: 0 0 3px black;
  position: relative;
  transition: all 0.2s ease-in-out;
  background: #fff;
  box-sizing: border-box;
}
div.wholegoods.active.printSummary div.detailsContainer .pricingSummaryHeadline {
  font-weight: bold;
  font-size: 150%;
  text-align: left;
  margin: 1rem 1rem 0 1rem;
  box-sizing: border-box;
}
div.wholegoods.active.printSummary div.detailsContainer .pricingSummaryDivider {
  border-bottom: 1px solid #ccc;
  margin: 0.75rem 1rem;
}
div.wholegoods.active.printSummary div.detailsContainer .pricingSummaryTable {
  margin: 0 1rem 1rem 1rem;
}
div.wholegoods.active.printSummary div.detailsContainer .pricingSummaryRow {
  display: flex;
  justify-content: space-between;
  padding: 0.35rem 0;
  font-size: 85%;
  color: #1A1A1A;
}
div.wholegoods.active.printSummary div.detailsContainer .pricingSummaryValue {
  text-align: right;
}
div.wholegoods.active.printSummary div.detailsContainer .pricingSummaryRowTotal {
  font-weight: bold;
}
div.wholegoods.active.printSummary div.detailsContainer .pricingHighlightBox {
  display: flex;
  margin: 1rem;
  background-color: #f2f2f2;
  border-radius: 6px;
  box-sizing: border-box;
}
div.wholegoods.active.printSummary div.detailsContainer .pricingHighlightCol {
  flex: 1;
  display: flex;
  justify-content: space-between;
  align-items: center;
  padding: 1rem 1.5rem;
  box-sizing: border-box;
}
div.wholegoods.active.printSummary div.detailsContainer .pricingHighlightCol:first-child {
  border-right: 1px solid #ccc;
}
div.wholegoods.active.printSummary div.detailsContainer .pricingHighlightLabel {
  font-weight: bold;
}
div.wholegoods.active.printSummary div.detailsContainer .pricingHighlightValue {
  font-weight: bold;
  font-size: 150%;
  font-family: "HelveticaNeueCondensed";
}
div.wholegoods.active.printSummary.overview .printEquipment {
  margin: 0 !important;
  page-break-after: avoid !important;
}

/* react-to-print injects its own "@page { margin: 0; }" into the print
   iframe to strip the browser's default header/footer — but that also
   removes all page margins, so content on any page after the first break
   starts flush against the paper edge. This rule is copied into the same
   iframe *after* that injected style, so at equal specificity it wins and
   restores real page margins on every page. */
@page {
  margin: 0.5in 0.4in;
}
@media print {
  div.wholegoods.active.printSummary {
    height: auto !important;
  }
  .printEquipment {
    clear: both;
  }
  .printEquipmentCard {
    font-family: "HelveticaNeue" !important;
    font-size: 13px !important;
  }
  body * {
    opacity: 1;
    max-height: 50000px;
  }
  .specsModalTable {
    margin: 2rem;
  }
}
.leftFloatingDisclaimer {
  position: absolute;
  bottom: 10px;
  left: 14px;
  font-size: 75%;
  z-index: 9999;
}

.leftAlignDisclaimer {
  line-height: 18px;
}

.printDisclaimer {
  padding-bottom: 1rem;
}

@media (max-width: 640px) {
  .leftFloatingDisclaimer {
    bottom: 40px;
    left: auto;
    right: 10px;
  }
}

:focus-visible {
  outline: 2px solid #0066CC;
  outline-offset: 2px;
}

/* Inset so the ring frames the icon glyph instead of the empty button box */
nav div.container li.nav-item button:focus-visible,
nav div.container li.nav-item a:focus-visible {
  outline-offset: -4px;
}

/* Between roughly 1024px and 1488px the configurator's main image column
   leaves the add-on/tire list narrower than the Choose/Remove button and
   full-size name/price text expect, so they overlap (name/price column and
   button both sized off wider assumptions than the actual space available
   in this band). Rebalance both as percentages of whatever width is
   actually available here, and shrink the button label to match — this
   must stay below to win over the >=1024px rules earlier in the file. */
@media (min-width: 1024px) and (max-width: 1488px) {
  div.wholegoods.contentContainer div.detailsContainer .attachItemContainer .wholegoodsItemDetailsContainer .wholegoodsItemDetailsNameContainer {
    width: 55%;
  }
  div.wholegoods.contentContainer div.detailsContainer .attachItemContainer .wholegoodsItemDetailsContainer .wholegoodsItemAction {
    width: 45%;
  }
  div.wholegoods.contentContainer div.detailsContainer .attachItemContainer .wholegoodsItemDetailsContainer .wholegoodsItemAction button {
    font-size: 50%;
    padding: 1px 4px;
  }
  .config-validation div.selectionContainer .attachItemContainer .wholegoodsItemDetailsContainer .wholegoodsItemDetailsNameContainer {
    width: 55%;
  }
  .config-validation div.selectionContainer .attachItemContainer .wholegoodsItemDetailsContainer .wholegoodsItemAction {
    width: 45%;
  }
  .config-validation div.selectionContainer .attachItemContainer .wholegoodsItemDetailsContainer .wholegoodsItemAction button {
    font-size: 13px;
    padding: 1px 4px;
  }
}
/*# sourceMappingURL=bmk-react.css.map */
