	.productListItem {
	    min-height: 460px;
	    text-align: center;
	    flex: 1;
	    justify-items: center;
	    place-items: center;
	    text-align: -webkit-center;
	}
	/*.prodImg img {
    	width: 280px;
    	height: 280px;
	}*/
	#mismatchSizeButtons {
		display: flex;
		/*gap: 60px;*/
	}
	#mismatchSizeButtons button {
		flex: 1 0 calc((100% - 60px) / 2);;
	}
	.productListItem:hover {
		cursor: pointer;
	}
	.wasPriceAmt {
		text-decoration: line-through;
		color: #767476;
	}
	.spinner {
	  border: 4px solid #f3f3f3;
	  border-top: 4px solid #555;
	  border-radius: 50%;
	  width: 40px;
	  height: 40px;
	  animation: spin 1s linear infinite;
	  margin: 20px auto;
	}

	@keyframes spin {
	  0% { transform: rotate(0deg); }
	  100% { transform: rotate(360deg); }
	}
	#stepsCompleteDivTxtOuter h2 {
		color:#2c3172;
		font-size: 1.4rem;
		padding-top: 0px;
		margin-top: 0px;
		font-weight: 600;
	}
	#stepsCompleteDivTxtOuter {
	    display: flex;
	    column-gap: 30px;
	    border: 1px solid #2c3172;
	    flex-wrap: wrap;
	    margin-bottom: 1rem;
	    padding: 2rem;
	    border-top: 0;
	    row-gap: 50px;
	}
	#stepsCompleteDivTxtLeft, #stepsCompleteDivTxtRight {
	    flex: 1 0 100%;
	    text-align: center;
	    font-size: 1rem;
	}
	#stepsCompleteDivDisclaimer {
		flex: 1 0 100%;
		max-width: 100%;
		margin-bottom: 1rem;
		border-top: 1px solid #ccc;
		margin-top: 1rem; padding-top: 1rem;
		font-style: italic;
		font-size: .9rem;
		text-align: center;
	}

	#modalConfirm h1, #modalConfirm b { color: #4761a8; }
	#modalConfirm h1 { padding-top: 0; margin-top: 0; padding-right: 20px; font-weight: 700;}
	#modalConfirm #itemAdded { display: flex; font-size: .9rem;}
	#modalConfirm #itemAdded #itemAddedImg { margin-right: 1rem; }
	#modalConfirm #itemAdded #itemAddedDetailsName { text-transform: uppercase; padding-bottom: 1rem; font-weight: 700;}
	#modalConfirm a { color: #4761a8; }
	#modalConfirm .oldPrice { text-decration: line-through; }
	#stepsComplete, #stepsComplete2 {
	    background-color: #2c3172;
	    padding: 1rem;
	    color: #ffffff;
	    font-weight: 700;
	    text-align: center;
	    font-size: 1.5rem;
	    cursor: pointer;
	    /*margin-bottom: 20px;*/
	}
	#stepsComplete2 .subhd { font-style: italic; font-size: 1.3rem; font-weight: 300; }
	#stepsComplete .clickHere { text-decoration: underline; }
	#stepsCompleteDivTxtOuter .step-selection { background: #2c3172; }
	#statusBar a { color:#4761a8; }
	a.addAnother { padding-left: 10px; display: inline-block; color: #4761a8; font-weight: 300;}
	.form-field.form-field--stock { display: inline; font-size: 1rem; }
	.wasPrice, .yourPrice, .yourPriceAmt, .wasPriceAmt { display: inline-block; }
	.ltdQtyWarn { display: inline; font-style: italic;}
	.byob-step-title {
	    background-color: #f4f4f4;
	    color: #555555;
	    font-size: 1.2rem;
	    min-height: 2rem;
	    padding: 1rem;
	    text-align: center;
	    /*width: 100%;*/
	    display: block;
	    cursor: pointer;
	}
	.byob-step-title.currentStep {
	    background-color: #4761a8;
	    color: #ffffff;
	}
	.byob-step-title.stepReview {
		background-color:#4761a8;
		color:#ffffff;
		min-height:2rem;
	}
	.byob-step-title.currentStep a{
	    color: #ffffff;
	    text-decoration: none;
	    text-transform: uppercase;
	    font-size: .8rem;
	}

	.byob-step-title b { 
		text-transform: uppercase;
		font-weight: 700;
	}
	.byob-step-title .learnMore {
		font-size: .9rem;
		padding-top: .5rem;
	}

	div#facets li {
		line-height: 1.8em;
	}	

	:root {
		--checkbox-color: #4761a8;
		--checkbox-border-color: #ccc;
		--checkbox-focus-color: #4761a8;
		--bs-font-sans-serif: system-ui, -apple-system, "Segoe UI", Roboto, "Helvetica Neue", Arial, "Noto Sans", "Liberation Sans", sans-serif, "Apple Color Emoji", "Segoe UI Emoji", "Segoe UI Symbol", "Noto Color Emoji";
	}
	.facetCheckbox {
		line-height: 1.8rem;
	}
	.custom-checkbox {
		display: inline-flex;
		align-items: center;
		cursor: pointer;
		gap: 8px;
		font-family: sans-serif;
		user-select: none;
		margin-left: 5px;
	}
	#byobTitle {
		border-bottom: 6px solid #ececec;
	}
	.row.byobhdrrow {
    	display: flex;
    	flex-wrap: wrap;
	}
	.byobhdr1 {
	    color: #2c3172;
	    text-transform: uppercase;
	    font-size: 3.4em;
	    font-weight: 700;
	    padding: 20px 0;
	    line-height: 100%;
	    text-align: center;
	    flex: 1 0 100%;
	}	
	.byobhdr2 {
	    color: #666;
	    font-size: 1.5em;
	    font-weight: 100;
	    line-height: 107%;
	    padding: 20px 0;
	    text-align: center;
	    flex: 1 0 100%;
	}
	.byobhdr3 {
		color: #4761a8;
	    font-size: 1.5em;
	    font-weight: 100;
	    line-height: 107%;
	    padding: 0 0 20px 0;
	    text-align: center;
	    flex: 1 0 100%;
	    /*font-style: italic;*/
	    /* border-top: 3px solid #ebebeb; */
	    padding-top: 20px;
	    /*background-color: #f4f4fb;*/
	}
	.pathTitle { 
	    font-size: 40px;
	    color: #131929;
	    font-weight: 700;
	    line-height: 46px;
	    font-family: FreightDispProMedium, Gelasio, serif;
	    font-style: normal;
	    font-weight: 400;
	}
	.pathSwitch { font-size: 1rem; color: #4761a8; font-weight: 400;}
	.byobhdrrow {
		/*border-bottom: 3px solid #ebebeb;*/
		align-items: center;
		margin-bottom: 1rem;
	}
	.blod { font-weight: 700; text-transform: uppercase; }
	.custom-checkbox input {
		/* Keep it visually hidden, but focusable */
		position: absolute;
		opacity: 0;
		width: 0;
		height: 0;
	}

	.custom-checkbox .checkmark {
		width: 15px;
		height: 15px;
		border: 2px solid var(--checkbox-border-color);
		border-radius: 0;
		background-color: white;
		position: relative;
		box-sizing: border-box;
		transition: background-color 0.2s ease, border-color 0.2s;
	}

	/* Checked state: filled with color */
	.custom-checkbox input:checked + .checkmark {
		background-color: var(--checkbox-color);
		border-color: var(--checkbox-color);
		outline: 2px solid var(--checkbox-focus-color);
		outline-offset: 2px;
	}

	/* Checkmark tick */
	.custom-checkbox .checkmark::after {
		content: "";
		position: absolute;
		left: 5px;
		top: 2px;
		width: 6px;
		height: 10px;
		/*border: solid white;*/
		border-width: 0 2px 2px 0;
		/*transform: rotate(45deg);*/
		opacity: 0;
		transition: opacity 0.2s;
	}

	.custom-checkbox input:checked + .checkmark::after {
		opacity: 1;
	}

	/* Focus ring when tabbed/focused */
	.custom-checkbox input:focus + .checkmark {
		outline: 2px solid var(--checkbox-focus-color);
		outline-offset: 2px;
	}
	.shopBy {
		font-weight: 700;
		font-size: 1.1rem;
		padding: 1rem 0 1.5rem 0;
		width: 100%;
		position: relative;
	}
	.shopBySub {
		font-weight: 700;
		font-size: 1.1rem;
		padding: 0;
		width: 100%;
		position: relative;
	}
	.shopByOuter {
		margin: 0 0 1.5rem 0;
		border-top: 1px solid #999999;
		padding-top: 1.5rem;
		display: none;
	}
	.shopBy .shopByReveal { top: 1rem; }
	.shopByReveal { 
		position: absolute; 
		top: 0px; 
		right: 10px; 
	}
	#shopByStd { display: none; }
	#shopByMbl { display: block; }
	#shopByMbl .shopByHd { width: 80%; }

	#stepCategory {
		width:100%;
		margin-top: 20px;
	}
	#bundles {
		display: block;
		width:100%;
		overflow: auto;
	}
	#results {
		padding: 0;
		/*width: 80%;
		float: left;*/
		/*margin:0;
		display: table-cell;
		vertical-align:top;*/
	    padding: 0;
	    margin: 0;
	    display: table-cell;
	    vertical-align: top;
	    display: flex;
	    align-items: start;
	    flex-wrap: wrap;
	    align-items: flex-start;
	    gap: 1rem;
	}
	#facetsOuter {
		font-size: 1rem;
		width: 100%;
		max-width:100%;
		padding:0;
		margin:0;
		flex: 1 0 250px;
		vertical-align:top;
	}
	#bundlesInner { display: block; }

	#facets {
		/*width: 100%;*/
		padding: 1rem;
		background-color: #f4f4f4;
		font-size: 1rem;
	}
	.priceRange {
		display: block;
		text-align: center;
		color:#4761a8;
		padding: .5rem 0;
		font-weight: 700;
		font-size: 1.1rem;
	}
	.productListItem .prodImg {
		height: 323px;
		width: 323px;
		justify-self: center;
	}
	.prodName {
		font-weight: 700;
		text-transform: uppercase;
		text-align: center; 
		width: 100%;
	}
	.reviewStars { display: inline-flex; }
	.innerContainer, .reviewCount { display: inline-block; font-size: 1rem;}
	.swatchImages { 
		width: 100%;
		text-align: center;
		display: block;
	}
	.no-sku-selected {	}
	#product-description-outer::before { 
		content: '';
		position: absolute;
		top:0;
		left: 0;
		height: 2px;
		width: 100%;
		background: #ffffff;
		z-index: 1;
	}
	.block-parent {
		display: block; 
		text-align: left;
		width:100%;
	}
	.pad10 {
		padding: 10px;
	}
	.pad15 {
		padding: 15px;
	}
	button#closeBtn {
		position: fixed;
		right: 1.25rem;
		top: 1.25rem;
		border: 0;
		background: #767476;
		font-size: 1.75rem;
		line-height:1.75rem;
		font-weight: 100;
		color: #ffffff;
		margin: 0;
		padding: 0;
	}
	.sidexside {
		-webkit-box-flex: 1;
		-ms-flex: 1;
		flex: 1 0 45%;
		/*min-width: 400px;*/
		box-sizing: border-box;
		display: flex;
		padding:0;
		margin: 2%;
	}
	#product-description {
			padding: 15px;
	}
	.sidexside p {
		margin:0;
	}
	#statusBar {
		display: block;
		width: 100%;
		font-size: .8rem;
		-webkit-box-flex: 1;
		-ms-flex: 1;
		font-family: var(--bs-font-sans-serif);
		margin-top: 5rem;
	}
	#statusBar #sbHeader {
		display: block;
		width: 100%;
	}
	#statusBar #sbSteps {
	    display: flex;
	    gap: 15px;
	    margin-bottom: 1.5rem;
	    flex-wrap: wrap;
	}
	#statusBar .byob-step-group { 
		flex: 1 0 100%;
		border: 1px solid #ddd;
		padding: 0;
		margin: 0;
	}
	#statusBar .byob-step-single-item {
		display: inline-flex; 
		/*padding-bottom: 15px;*/
	}
	#statusBar .byob-step-single-item-details { 
		padding: 0 15px;
		/*flex: 1 0 auto;*/
	}
	#statusBar .byob-step .byob-step-item-group {
		display:flex;
		padding: 1em;
		font-size: .9rem;
		flex-wrap: wrap;
		gap: 15px;
	}
	#statusBar .byob-step .byob-step-item {
		position: relative;
	}

	.delete-button {
		width: 25px;
	    height: 25px;
	    border-radius: 50%;
	    background-color: #ffffff;
	    color: #4761a8;
	    font-size: 16px;
	    font-weight: bold;
	    line-height: 24px;
	    text-align: center;
	    cursor: pointer;
	    padding: 0;
	    display: inline-block;
	    border: 1px solid #4761a8;
	    line-height: 22px;
	}
	img.thmbImg {
	    border: 1px solid #e6e6e6;
	}
	.delete-button:hover {
	  background-color: #999;
	}

	.byobItmDelete { 
		position: absolute; 
		right:-8px;
		top:-8px;
	}

	.completed-status {
	    text-align: center;
	    padding: 10px;
	    font-size: 1rem;
	    font-weight: 700;
	    color:#4761a8;
	}
	.quantity-container {
		display: flex;
		align-items: center;
		max-width: 200px;
		margin: 0 0 30px 0;
	}

	.quantity-label { 
		display: inline;
		padding-right: 10px;
		font-size: .8rem;
	}
	.quantity-button {
		background-color: #4761a8;
		border-radius: 50%;
		width: 30px;
		height: 30px;
		padding: 6px 10px;
		margin:0;
		line-height: 1rem;
		font-size: 1rem;
		-webkit-appearance: none;
		-moz-appearance: none;
		border-style: solid;
		border-width: 1px;
		cursor: pointer;
		font-family: Montserrat, Arial, Helvetica, sans-serif;
		font-weight: 700;
		position: relative;
		text-align: center;
		text-decoration: none;
		display: inline-block;
		border-color: #8f8f8f;
		color: #ffffff;
		outline: 0;
		vertical-align: middle;
	}

	.quantity-button:disabled {
		opacity: 0.5;
		cursor: not-allowed;
	}

	.quantity-input {
		text-align: center;
		width: 30px;
		height: 30px;
		border: 1px solid #4761a8;
		border-radius: 0;
		margin: 0 5px;			
	}

	#item-id { font-weight: 600; font-size: 1rem;}
	.product-pc {
		display: -webkit-box;
		display: -ms-flexbox;
		display: flex;
		flex-wrap: wrap;
		width: 100%;
		-webkit-box-orient: horizontal;
		-webkit-box-pack: justify;
		-ms-flex-pack: justify;
		justify-content: space-between;
		-webkit-box-align: stretch;
		-ms-flex-align: stretch;
		align-items: stretch;
	}
	.prod-basics-inner { display: block; }
	.selectedLabel-required { color: #008800; display: inline; text-transform: none; font-weight: 300;}
	#product { font-size: 1em; }
	#product-options {
		display: block;
		flex-wrap: wrap;
		gap: 2rem;
	}
	.option-group {
		min-width: 200px;
		clear:left;
		display: block;
		padding-bottom: 1rem;
	}
	.option-label {
		font-weight: bold;
		margin-bottom: 0.5rem;
		text-transform: uppercase;
	}
	.option-list {
		display: flex;
		flex-wrap: wrap;
		gap: 0.5rem;
	}
	.option-item {
		user-select: none;
		padding: 0.5rem 1rem;
		border: 2px solid #e9ecf1;
		background: white;
		cursor: pointer;
		outline-offset: 2px;
		display: inline-block;
		align-items: center;
	}

	.image-wrapper {
		display:flex;
		flex-wrap: wrap;
		position: relative;

	}

	.option-item.selected {
		border-color: #bad2e4;
		background: #bad2e4;
	}
	.option-item[aria-disabled="true"] {
		color: #999;
		background: #eee;
		border-color: #ddd;
		cursor: not-allowed;
	}
	.option-item:focus-visible {
		outline: 3px solid #0056b3;
		outline-offset: 2px;
	}
	.option-item img.swatch {
		max-width: 70px;
		object-fit: contain;
		border-radius: 4px;
	}
	#variant-info {
		padding: 15px 0;
			font-size: 1rem;
	}
	#variant-info p.no-sku-selected {
		font-style: italic;	
	}
	#variant-info img {
		max-width: 100px;
		margin-top: 0.5rem;
		border-radius: 6px;
	}
	div.colorName {
		display:block;
		clear: left;
	}

	.carousel {
		width: 100%;
		max-width: 50%;
		margin: 0 auto;
		font-family: sans-serif;
	}

	.main-image img {
		width: 100%;
		height: auto;
		display: block;
		border-radius: 8px;
	}

	.thumb-container-wrapper {
		position: relative;
		margin-top: 10px;
	}

	.section-header { 
		background: #4761a8;
		color:#ffffff;
		font-weight: 700;
		text-transform: uppercase;
		width: 100%;
	}

	.scroll-btn {
		position: absolute;
		top: 50%;
		transform: translateY(-50%);
		z-index: 2;
		background: rgba(255, 255, 255, 0.9);
		border: none;
		font-size: 20px;
		padding: 6px 10px;
		cursor: pointer;
		border-radius: 50%;
		box-shadow: 0 0 5px rgba(0,0,0,0.3);
		user-select: none;
	}

	#scrollLeft {
		left: 5px;
	}

	#scrollRight {
		right: 5px;
	}

	.thumb-container {
		display: flex;
		overflow-x: auto;
		padding: 10px 30px;
		scroll-behavior: smooth;
		-webkit-overflow-scrolling: touch;
	}

	.thumb-container::-webkit-scrollbar {
		display: none;
	}

	.thumb {
		cursor: pointer;
		border: 2px solid #e9ecf1;
		-webkit-box-sizing: content-box;
		box-sizing: content-box;
		display: -webkit-box;
		display: -ms-flexbox;
		display: flex;
		height: 67px;
		-webkit-box-pack: center;
		-ms-flex-pack: center;
		justify-content: center;
		max-width: 75px;
		padding: 7px;
		margin: 0 8px;
		position: relative;
		width: 100%;
		min-width:67px;
	}

	.thumb.selected { border: 2px solid #bad2e4; }

	.productView-options .form-field 
	{
		font-size: 1rem !important;
	}

	.red {
		color:#990000;
	}
	#overlay {
		position: fixed;
		top: 0;
		left: 0;
		width: 100vw;
		height: 100vh;
		background: rgba(51, 51, 51, 0.95); /* gray out */
		z-index: 999;
	}

	#overlay2 {
		position: fixed;
		top: 0;
		left: 0;
		width: 100vw;
		height: 100vh;
		background: rgba(51, 51, 51, 0.95); /* gray out */
		z-index: 1001;
	}
	#modal2,#modal3 {
		position: fixed;
		top: 50%;
		left: 50%;
		transform: translate(-50%, -50%);
		background: white;
		padding: 20px;
		border-radius: 0px;
		box-shadow: 0 0 20px rgba(0,0,0,0.3);
		max-width: 90vw;			/* Don't exceed viewport width */
		max-height: 90vh;		 /* Don't exceed viewport height */
		width: 900px;				 /* Or whatever default size you prefer */
		overflow: auto;			 /* Enables scrolling inside the modal2 */
		padding: 20px;
	}
	#modal2 {
		z-index: 1000;
	}
	#modal3 {
		z-index: 1002;
	}


	#variant-info .productView-info-keyName { 
		width: 100%; 
		background: #f4f4f4;
		/*letter-spacing: .39px;*/
		font-weight: 500;
		font-size: 14px;
		line-height: 20px;
		font-family: Rand, Roboto;
		color: #131929;
		text-align: left;
		padding: 20px 0 20px 20px;
		display: inline-block;
		/*width: 14%;*/
		padding-right: 5px;
	}

	#variant-info .productView-info-value {
		display: inline-block;
		letter-spacing: .39px;
		font-weight: 400;
		font-size: 14px;
		line-height: 20px;
		font-family: Rand, Roboto;
		color: #131929;
		padding: 20px 5px 20px 20px;
	}

	#variant-info .productView-info-name2 {
		background: #fff;
		border-top: 2px solid #f4f4f4;
		border-bottom: 2px solid #f4f4f4;
		border-left: 0 !important;
		border-right: 0 !important;
		margin: 0 0 15px 0;
	}
	
	#availability .backorder-container { font-weight: 700; font-size: .8rem; padding-bottom: 15px;}

	.step-selection {
		padding: 7px 15px;
		background: #4761a8;
		border-radius: 0;
		border: none;
		font-weight: 700;
		font-size: 1rem;
		line-height: 24px;
		letter-spacing: .65px;
		color: #fff;
		text-transform: uppercase;
		font-family: Rand, Roboto, sans-serif;
		cursor: pointer;
	}
	
	.step-selection:active {
		transform: translateY(2px);
		box-shadow: 0 2px #cccccc;
	}

	#product-description-outer, #variant-details { 
		box-shadow: 0 2px 10px #a0a9b3;
		margin-right: 1rem;
	}
	#modalConfirm .step-selection { margin-right: 1rem; margin-top: 1rem;}

	#byob_hero { display: block; width: 100%; }
	#byob_landing { width: 100%; display: block; }
	#byob_landing img { width: 100%; height: auto; }
	#byob_choose, #byob_steps { display: flex; gap: 16px; flex-wrap: wrap; margin-bottom: 16px;}
	#byob_text { font-family: sans-serif; font-size: 1rem; padding: 1rem; text-align: center;}
	.shopByHd b { padding-bottom: 1rem; display: block; }

	#byob_choose_rb, #byob_choose_wb { 
		flex: 1 0 100%; background-color:#ebebeb; max-width: 100%; width: 100%;  background-color:#ebebeb; 
	}
	#byob_steps_1, #byob_steps_2, #byob_steps_3 { 
		flex: 1 0 100%; background-color:#ebebeb; max-width: 100%; width: 100%;  background-color:#ebebeb; 
	}
	.accordion-indicator.toggleLink-text--on {
    	-webkit-transform: rotate(180deg);
    	transform: rotate(180deg);
    	display: block;
    }
    .facetDropdown { overflow: hidden; /*height: hidden; display: none;*/ padding: 1rem 0 0 0;}
	#byob_disclaimer { font-family: arial, helvetica, sans-serif; font-size: .8rem; padding: 1rem; text-align: center;}
	@media (min-width: 801px) {
		#byob_steps_1, #byob_steps_2, #byob_steps_3 { flex: 1 0 calc((100% - 32px) / 3) !important; }
		#byob_choose_rb, #byob_choose_wb { flex: 1 0 calc((100% - 16px) / 2) !important;}
		#bundlesInner { display: flex; }
		#statusBar .byob-step-group {
		   flex: 1 0 calc((100% - 40px) / 3);
		   border: 1px solid #ddd;
		   padding: 0;
		   margin: 0;
		}
		#statusBar { margin-top: 0; }
		/*.shopByReveal { display: none; }*/
		#facetsOuter {
			width: 250px;
			max-width:250px;
		}
		.byobhdr1 {
		    flex: 1 0 60%;
		    text-align: left;
		}	
		.byobhdr2 {
		    flex: 1 0 40%;
		    text-align: right;
		}
		.byob-step-title {
		    min-height: 6rem;
		}
		#stepsCompleteDivTxtLeft, #stepsCompleteDivTxtRight {
		    flex: 1 0 calc((100% - 30px) / 2);
		}
		#stepsCompleteDivTxtOuter {
		    row-gap: 15px;
		}
		.option-item.option-size /*, .option-item.option-date*/ { width: 11em; }
		#shopByStd { display: block; }
		#shopByMbl { display: none; }
		.shopByOuter { display: block; }
		#variant-info .productView-info-keyName { 
			width: 33% !important; 
		}
		#variant-info .productView-info-value {
			padding: 20px 5px 0 10px;
		}
	}