
/* ----------------------------------------------------------------- */



/* --------------------------------------------------------------------------------------------- */
/* ----------------------------------------------------------------- */
/* rendered pages use .classListingContainer as a .boxRenderedClassHeader container*/

.classListingContainer {
	position: relaive;
	display: flex;
	flex-wrap: wrap;
	justify-content: space-around;
	align-items: baseline;
}

.classListingContainer .boxRenderedClassHeader {
	border-radius: 1em;
	border: 0.25em solid var(--border-dark);
	background-color: #e9e0cca2;
	margin: 0.5em;
	padding: 0.5em 1em;
	min-width: 15em;
	flex-grow: 1;
	cursor: pointer;
}

.classListingContainer.smallBoxes .boxRenderedClassHeader {
	flex-basis: 24%;
	flex-grow: unset;
}

.classListingContainer.smallBoxes .boxRenderedClassHeader:hover {
	border-color: rgba(0,0,255,0.5);
}


.classListingContainer .boxRenderedClassHeader img {
	max-width: 100%;
	max-height: 10em;
}

.classListingContainer h2 {
	flex-basis: 99%;
	margin-top: 2em;
	margin-bottom: 0;
}

.classListingContainer h2:first-of-type {
	margin-top: 0.5em;
}

.classListingContainer h3 {
	display: block;
	margin-top: 2em;
	margin-bottom: 0.5em;
	align-self: center;
	flex-basis: 99%;
	text-align: center;
}

.classListingContainer hr {
	flex-basis: 99%;
}

/* --------------------------------------------------------------------------------------------- */


.tileContainer {
	position: relative;
	
	display: flex;
	
	justify-content: space-around;
	flex-wrap: wrap;
	margin-bottom: 1.5em	;
}

.tileContainer > div:nth-child(even){
	background-color: var(--background-shade2);
}

.tileContainer > div  {
	position: relative;
	display: flex;

	flex-direction: column;
	justify-content: space-between;
	flex-basis: 31.1%;
	
	min-height: 225px;
	
	padding: 0.5em;
	text-align: center;
}

.tileContainer > div > a {
	flex-grow: 1;
	
	display: flex;
	flex-flow: column wrap;
	
	align-items: center;
	justify-content: center;
}

.tileContainer > div > span {
	
	
}

.tileContainer > div  h1 {
	font-size: 1.2rem;
	margin: 0;
}

.tileContainer .iSub {
	font-size: 0.8rem;
	margin-top: 0.5rem;
}

.tileContainer img {
	max-width: 16em;
	max-height: 16em;
}

.tileContainer h3 {
	display: block;
	margin-top: 2em;
	align-self: center;
	flex-basis: 99%;
	text-align: center;
}

/* --------------------------------------------------------------------------------------------- */
/* --------------------------------------------------------------------------------------------- */
/* Rendered Class Header for product listings */

.boxRenderedClassHeader {
	position: relative;
	text-align: center;

	margin-top: 0.5rem;

}

.boxRenderedClassHeader:not(:first-of-type) {
	margin-top: 3rem;
}


.boxRenderedClassHeader a {
	font-weight: bold;
}

.boxRenderedClassHeader h1 {
	
}

.boxRenderedClassHeader h2 {
	margin: 0.5em;
}

/* ---- */
/* Items */
/* ----------------------------------------------------------------- */
.product-display {
	position: relative;
	margin-top: 0.5em;
	margin-bottom: 1.5em;
}

.product-display section {
	
}

.product-display header {
	font-weight: bold;
	font-size: 1.1em;
	
	font-variant: small-caps;

	justify-content: space-between;
	
	background-color: rgba(0,0,0, 0.25);
}

/*----------*/
.product-display header,
.display-product-item
{
	position: relative;
	overflow: hidden;
	
	display: flex;

	padding: 0.5em 0.75em;

}

.display-product-item .specs > *{
	
	
}

.display-product-item ul {
	list-style-type: none;
	margin: 0;

	margin-block-start: 0;
    margin-block-end: 0;
    margin-inline-start: 0;
    margin-inline-end: 0;
    padding-inline-start: 0;

	padding-left: 0.5em;
	
}

.display-product-item > * > label,
.display-product-item .itmDeets label
{
	font-weight: bold;
	font-variant: small-caps;
	padding-right: 0.5em;
	font-size: 0.8em;
	white-space: nowrap;
}

.genFraction {
	white-space: nowrap;
}


.display-product-item .itmPartNum {
	font-weight: bold;
	flex-basis: 10em;
}


.display-product-item .itmPartNum label {
	display: none;
}

.product-pisdp .display-product-item .itmPartNum label
{
	display: inline;
}


.display-product-item .itmDeets {
	flex-grow: 1;

	position: relative;
	display: flex;

	justify-content: space-around;
	
	padding: 0.25em 1em;
}

.display-product-item .specs {
	flex-grow: 1;

	display: flex;
	flex-wrap: wrap;

	justify-content: space-evenly;
	align-items: center;

}

.display-product-item .specs li {
	margin: auto 0.25em;
}

.display-product-item .specs li:last-of-type {
	text-align: right;
}


.display-product-item .itmSize span.size {
	white-space: nowrap;
}

.display-product-item .itmSize,
.display-product-item .itmUsableStr,
.display-product-item .itmOALStr
{
	flex-basis: 6em;
}

.display-product-item .itmDiameter {
	flex-basis: 6em;
}


.display-product-item .itmDescription {
	flex-basis: 99%;
}
	/* ---------------------------------- */
/* ------   image cell ------------- */
.product-display .itmImageThumb {
	/* img table cell */
	position: relative;

	max-width: 17em;
	min-width: 12em;
	flex-basis: 12em;
	margin: 0.5em;
}

.product-display .itmImageThumb img {
	width: 100%;
}

.product-display .swiper-wrapper {
	align-items: center;
	max-height: 10em;
	min-height: 4em;
}

/* ---------------------------------- */
/* ------   price cell ------------- */

.display-product-item .itmPriceContainer {
	flex-basis: 12em;
	min-width: 12em;
	position: relative;

	display: flex;
	flex-direction: column;
	justify-content: center;
}

.product-display .itmPrice {
	text-align: right;
	margin-bottom: 0.5em;
	font-weight: 550;

	flex-grow: 1;
}

.product-display .itmPrice-msg {
	text-align: center;
}


.product-display .itmPriceStrCALL {
	color: blue;
	font-weight: bold;
	text-align: center;
	
	font-size: 0.8em;
	font-style: italic;
}

/* ---------------------------------- */
/* ------   action cell ------------- */

.product-display .boxAdd2Cart-inrow {
	position: relative;
	display: flex;
	flex-wrap: wrap;
	align-items: center;
	justify-content: space-around;
}

.product-display .boxAdd2Cart-inrow input {
	width: 4em;
	text-align: center;
	font-size: 1.25em;
	font-weight: bold;
}

.product-display .btnAddToCart {
	min-width: 4.5em;
	padding: 0.5em;
	margin: 0.25em;
}

/* ------   highlight ------------- */
.product-display .display-product-item:nth-child(odd) {
	background-color: rgba(0,0,0, 0.1);
}

.product-display .display-product-item:hover {
	background-color: rgba(0,128,128, 0.1) !important;
}



/* ----------------------------------------------------------------- */

.boxRenderedClassHeader .twoCol {
	display: flex;
	justify-content: space-around;
	align-items: center;
	flex-wrap: wrap;
}

.boxRenderedClassHeader .twoCol > * {
	flex-grow: 1;
	position: relative;
}

/* ----------------------------------------------------------------- */

.itmPrice-msg {
	font-size: 0.7em;
	font-variant: small-caps;
}

.itmPrice-basecross span {
	font-weight: bold;
}

.itmPrice-pkgqty {
	font-size: 0.8em;
	
}

.itmPrice-pkgqty span {
	font-style: italic;
	font-weight: bold;
}

.itmPrice-onsale {
	color: blue;
	font-weight: bold;
}

.itmPrice-qtydisc {
	color: blue;
	font-size: 1em;
}

.itmPrice-discountsapplied {
	display: none;
	color: blue;
	font-weight: bold;
}

.itmPrice-current {
	
}


/* --------------------------------------------------------------------------------------------- */
.tblQtyDiscount {
	position: relative;
	display: flex;
	flex-direction: column;

	list-style-type: none;

	margin-block: 0;
	padding-inline: 0;

	max-width: 15em;
}

.tblQtyDiscount li {
	display: flex;
	justify-content: space-between;
	padding: 0.125em 0.25em;
}


.tblQtyDiscount li:nth-child(odd) {
	background-color: var(--background-shade1);
}

.tblQtyDiscount li:first-of-type {
	font-weight: bold;
	background-color: var(--border-dark);
}




.swiper-container {
	/* swiper container */
	position: relative;

	height: 100%;
	width: 100%;
	
}

.swiper-slide {
	display: flex;
	justify-content: center;
	align-items: center;
	position: relative;
}

 .swiper-cube-shadow {
	display: none;
}

 .swiper-slide img {
	/* the actual image within slider*/
	object-fit: contain;
	max-height: 10em;
}

/* --------------------------------------------------------------------------------------------- */
.jit-class-image {
	height: 10em;
}
/* --------------------------------------------------------------------------------------------- */
/* --------------------------------------------------------------------------------------------- */

/* ----------------------------------------------------------------- */
/* ----------------------------------------------------------------- */
/* ----------------------------------------------------------------- */
/* ----------------------------------------------------------------- */
/* ----------------------------------------------------------------- */
.boxAdd2Cart-inrow {
	position: relative;
	display: block;
	
}

/* ----------------------------------------------------------------- */




.inCartMsg {
	position: relative;
	font-size: 1.5em;
	
	margin: 0.5em auto;
	padding: 0.33em;
	
	font-variant: small-caps;
	font-style: italic;
	white-space: nowrap;
	
	border: 2px solid rgb(254, 224, 159);
	
	background-color: rgba(255, 255, 225, 0.5);
	
	border-radius: 0.7em;
	display: inline-block;
	clear: both;

	cursor: pointer;
}

.inCartMsg span {
	font-weight: bold;
	
}

.inCartMsg a {
	display: block;
	font-weight: bold;
	font-style: normal;
	margin-left: 0.5em;
}

.inCartMsg .iconCart {
	position: relative;
	width: 1em;
	top: 0.125em;
}

/* ----------------------------------------------------------------- */
.toolTable {
	position: relative;
	margin: auto 1em;
	display: flex;
	flex-direction: column;
	list-style-type: none;
	text-align: left;
}

.toolTable h3 {
	margin: 0.5em auto;
	font-variant: small-caps;
}

.toolTable li {
	position: relative;
	
	padding: 0.33em 0.5em;
}

.toolTable li:nth-child(odd) {
	background-color: var(--background-shade1);
}

.toolTable li span {
	display: inline-block;
	width: 20%;
	max-width: 10em;
	margin-right: 1em;
	font-weight: bold;
	
}

.toolTable .andOthers {
    font-weight: bold;
    font-style: italic;
    margin: 0.25em 1em;
}

/* ----------------------------------------------------------------- */
.productQuickNav {
	position: relative;
	display: flex;
	flex-wrap: wrap;

	justify-content: space-around;
}

.productQuickNav > * {
	position: relative;
	display: flex;
	flex-direction: column;
	justify-content: space-around;

	text-align: center;

	height: 10em;
	width: 10em;
	margin: 1.5em;

	border-radius: 0.5em;
	border: 0.25em solid var(--border-dark);
	background-color: var(--background-shade2);
}

.productQuickNav h4 {
	margin: 0;
	margin-top: 1em;
}

.productQuickNav .uc img {
	max-width: 7em;
	max-height: 7em;
}

/* ----------------------------------------------------------------- */

@media only screen and (max-width: 1000px) {
	
	.product-display header
	{
		display: none;
	}
	
	.display-product-item {
		display: block;

		margin: 0.5em 1em;
		
		padding: 0em;

		border-radius: 1em;
		border: 0.25em solid var(--border-dark);

		background-color: rgba(0,0,0,0.1);
	}

	.display-product-item .itmPartNum {
		padding: 0.5em;
		background-color: rgba(0,0,0,0.25);
	}

	.display-product-item .itmDeets,
	.display-product-item .specs
	{
		flex-wrap: wrap;
		justify-content: space-around;
	}

	.display-product-item .specs li:last-of-type {
		text-align: inherit;
	}

	.display-product-item .itmPartNum label,
	.display-product-item .itmDeets label
	{
		display: inline;
	}

	.display-product-item ul {
		padding: 0.5em;
	}


	.display-product-item .itmSize {
		font-size: 1.25em;
		margin-bottom: 0.25em;
	}

	.display-product-item .itmPriceContainer {
		border-top: 1px solid rgba(0, 0, 0, 0.377);
		background-color: var(--background-shade2);

		padding-left: 0.5em;
		padding-bottom: 0.25em;
		padding-top: 0.25em;

		flex-direction: row;
		justify-content: space-between;
		align-items: center;
	}

	.display-product-item .itmPrice {
		background-color: rgba(255, 255, 225, 0.8);
		padding: 0.5em;
		padding-bottom: 0.25em;
		padding-top: 0.25em;
		border-radius: 0.5em;

		text-align: left;
	}

	.display-product-item .itmPriceContainer .inCartMsg {
		text-align: center;
		order: 3;
	}

	.product-display .itmPriceStr {
		order: 1;
	}

	.product-display .boxAdd2Cart-inrow {
		justify-content: flex-end;
		flex-grow: 1;
		order: 2;
	}

	.product-display .boxAdd2Cart-inrow button {
		margin: 1em;
		margin-right: 0.5em;
		padding: 1em 2em;
		font-weight: bold;
	}
}

