/* Default CSS for products. */

.product-return-link {
	text-align: right;
}
.products-related{
    border-top:solid 1px #ccc;
    padding-top: 0px;
    margin-top: 2rem;
}

.products-related h3 {
    font-family: "Avenir Next", sans-serif;
    font-weight: bold;
    font-size: 28px;
    line-height: 1.2;
    color: #0a0a0a;
}

.products-related table {
    width:100%;
}

.products-related table td img {
    width:100%;
    height:150px;
    object-fit: cover;
    border: solid 10px #fff;
}

.no-products {
	text-align: center;
}

.purchase-options-container {
    display: flex;
    margin: 1rem 0 0 0;
    gap: 2rem;
}

.option-single-purchase,
.option-multiple-purchase {
    background: white;
    padding: 1rem;
    width: 100%;
    border-radius: 2px;
}

.single-purchase-button,
.multiple-purchase-button {
    background: #e30513;
    border: 1px solid #e30513;
    color: white;
    font-family: "Avenir Next", sans-serif;
    font-size: 1rem;
    line-height: 1.5;
    padding: 0.66rem 2rem;
    border-radius: 2px;
    display: inline-block;
    text-decoration: none;
    transition: all 0.25s;
    text-align: center;
    cursor: pointer;
    margin-bottom: 1rem;
    font-weight: 600;
}

.single-purchase-button:hover,
.multiple-purchase-button:hover {
    background: #fb535d;
    border: 1px solid #e30513;
    color: white;
    opacity: 1;
    text-decoration: none;
}

.single-purchase-button:active,
.multiple-purchase-button:active,
.single-purchase-button:focus,
.multiple-purchase-button:focus {
    border: 1px solid #e30513;
    background: white;
    color: black;
    text-decoration: none;
}

.course-options {
    text-align: right;
}

.course-options select {
    width:40%;
}

.course-options input[type="button"] {
    background: #e30513;
    border: 1px solid #e30513;
    color: white;
    font-family: "Avenir Next", sans-serif;
    font-size: 1rem;
    line-height: 1.5;
    padding: 0.66rem 2rem;
    border-radius: 2px;
    display: inline-block;
    margin-bottom: 1rem;
    text-decoration: none;
    transition: all 0.25s;
    text-align: center;
    cursor: pointer;
}

.course-options input[type="button"]:hover {
    background: #fb535d;
    color: #fff;
    text-decoration: none;
}

table.table-product-with-images {
	border:0px;
	padding:0px;
	border-spacing:0px;
	width:100%;
}

table.table-product-with-images td {
	vertical-align: top;
}

table.table-product-with-images td.image-cell{
	margin: auto;
	text-align:center;
	padding-right: 8px;
	width:25%;
}

table.table-product-with-images td.image-cell img {
    width:100%;
}

table.table-product-with-images td.product-cell {
	margin: auto;
	text-align:left;
}

@media(max-width:767px) {
    table.table-product-with-images td.image-cell {
        padding-right: 0px;
        width:100%;
        display: block;
    }

	table.table-product-with-images td.product-cell {
        margin: auto;
        text-align:left;
            width:100%;
        display: block;
    }
}

div.product-description p {
	margin-top:0px;
}

.product-store-managed {
    border: 10px;
    padding: 1rem;
    border-spacing: 0px;
    background-color: white;
    border-radius: 2px;
}

.product-details-quantity-container {
    text-align: left;
}

.product-details-quantity-container input {
    height: 3rem;
    border: 1px solid #cccccc;
    border-radius: 0.125rem;
    background-color: white;
    padding: 0.5rem 1rem;
    display: inline;
    margin-bottom: 1rem;
    box-sizing: border-box;
    margin-left: 1rem;
}

.product-details-quantity-container input:hover {
    border-color: #999999;
    outline: none;
    -webkit-transition: all 0.25s;
    transition: all 0.25s;
}

.product-details-quantity-container input:focus-within {
    border-color: #629eda;
}

.product-details-order-button-container {
    text-align: left;
}

.product-store-managed td {
	vertical-align: top;
	padding-top: 5px;
	padding-bottom: 5px;
    text-align: left;
}

.product-store-managed .product-price {
	line-height: 38.4px;
    font-weight: 700;
    font-size: 24px;
    font-family: "Avenir Next", sans-serif;
    text-align: left;
}

.table-products-list .table-products-list{width:100%;}
.table-products-list .table-products-list-row{flex: 1 47%;
max-width: 47%;
margin-right: 2%;
margin-bottom: 3.5%;
background-color: #e6e6e6;
display: inline-block;border-radius: 5px; vertical-align: top;}
.table-products-list .table-products-list-row:hover{background-color: #e6e6e6 !important;}
.table-products-list .product-list-cell-thumbnail{display: block;}
.table-products-list .product-list-cell-thumbnail img{width: 100%;
    object-fit: cover;
    border-top-left-radius: 5px;
	border-top-right-radius: 5px;
height: 9em;}
.table-products-list .productlist-product-title{min-height: 40px;}
.table-products-list .productlist-product-title .itemcolor{font-family: "AvenirNextLTW02-Demi", sans-serif;
    font-style: normal;
    font-weight: normal;
    text-transform: none;
    font-size: 1.25rem;
    color: #215a8e;
text-decoration: none;}
.table-products-list .productlist-product-description{ min-height: 100px;}
@media(max-width:1020px){
	.table-products-list .productlist-product-description{ min-height: 150px;}
}
.table-products-list .product-list-cell-info-description{padding: 0 0.8em 1em 0.8em !important;min-height: 140px;display: block; width: 100%;}
.table-products-list .product-list-cell-add-to-cart{display: block; width: 100%; padding:10px 10px 10px 10px;}
.table-products-list .product-list-cell-add-to-cart .cm-product-list-add-to-cart-form{margin:0 0 0 0;}
.table-products-list .productlist-product-description a{ font-weight: 500; text-decoration: none; color: #6e6e6e;line-height: 24px;}
.productlist-more-info{text-align: right;display: none;}
.productlist-more-info .itemcolor{border-bottom: 0px;}
.productlist-more-info .itemcolor:hover{text-decoration: none !important;}
.productlist-more-info .itemcolor img{width:3%;}
.productlist-more-info .itemcolor img:hover{text-decoration: none !important;}
td.product-list-heading-cell-new,
td.product-list-heading-cell-name,
td.product-list-heading-cell-category,
td.product-list-heading-cell-price,
td.product-list-heading-cell-type,
td.product-list-cell-new,
td.product-list-cell-name,
td.product-list-cell-category,
td.product-list-cell-price,
td.product-list-cell-type
{
	vertical-align: middle;
	text-align: left;
	padding: 10px;
}
#product-list-add-multiple-form input[type="submit"] {
    background: #e30513;
    border: 1px solid #e30513;
    color: white;
    font-family: "Avenir Next", sans-serif;
    font-size: 1rem;
    line-height: 1.5;
    padding: 0.66rem 2rem;
    border-radius: 2px;
    display: inline-block;
    margin-bottom: 1rem;
    text-decoration: none;
    transition: all 0.25s;
    text-align: center;
    cursor: pointer;
    font-weight: 600;
}

#product-list-add-multiple-form .page-products-list input[type="submit"] {
    float: right;
}

#product-list-add-multiple-form input[type="submit"]:hover {
    background: #fb535d;
    border: 1px solid #e30513;
    color: white;
    opacity: 1;
    text-decoration: none;
}

#product-list-add-multiple-form input[type="submit"]:active,
#product-list-add-multiple-form input[type="submit"]:focus {
    border: 1px solid #e30513;
    background: white;
    color: black;
    text-decoration: none;
}

.product-description {
    width: 100%;
    margin-bottom: 2rem;
}

.page-products-list .table-products-list-add-multiple{border-spacing: 2rem 0;background-color: white;margin-bottom: 2rem;padding: 1rem 0 2rem 0;border-radius: 2px;}
.page-products-list .table-products-list-add-multiple .product-list-heading-cell-thumbnail{text-align: center;font-family: "AvenirNextLTW02-Demi";font-size: 0.75rem;line-height: 1.15;color: #0a0a0a;text-transform: uppercase;border-bottom: 2px solid #0a0a0a;padding: 1rem 0 1rem 0;}
.page-products-list .table-products-list-add-multiple .product-list-heading-cell-checkbox{text-align: center;font-family: "AvenirNextLTW02-Demi";font-size: 0.75rem;line-height: 1.15;color: #0a0a0a;text-transform: uppercase;border-bottom: 2px solid #0a0a0a;padding: 1rem 0 1rem 0;}
.page-products-list .table-products-list-add-multiple .product-list-heading-cell-info-description{text-align: center;font-family: "AvenirNextLTW02-Demi";font-size: 0.75rem;line-height: 1.15;color: #0a0a0a;text-transform: uppercase;border-bottom: 2px solid #0a0a0a;padding: 1rem 0 1rem 0;}
.page-products-list .table-products-list-add-multiple .product-list-heading-cell-date{text-align: center;font-family: "AvenirNextLTW02-Demi";font-size: 0.75rem;line-height: 1.15;color: #0a0a0a;text-transform: uppercase;border-bottom: 2px solid #0a0a0a;padding: 1rem 0 1rem 0;}
.page-products-list .table-products-list-add-multiple .product-list-heading-cell-location{text-align: left;font-family: "AvenirNextLTW02-Demi";font-size: 0.75rem;line-height: 1.15;color: #0a0a0a;text-transform: uppercase;border-bottom: 2px solid #0a0a0a;padding: 1rem 0 1rem 0;}
.page-products-list .table-products-list-add-multiple .product-list-heading-cell-type{text-align: center;font-family: "AvenirNextLTW02-Demi";font-size: 0.75rem;line-height: 1.15;color: #0a0a0a;text-transform: uppercase;border-bottom: 2px solid #0a0a0a;padding: 1rem 0 1rem 0;}
.page-products-list .table-products-list-add-multiple .product-list-heading-cell-price{text-align: right;font-family: "AvenirNextLTW02-Demi";font-size: 0.75rem;line-height: 1.15;color: #0a0a0a;text-transform: uppercase;border-bottom: 2px solid #0a0a0a;padding: 1rem 0 1rem 0;}
.page-products-list .table-products-list-add-multiple .product-list-cell-add-to-cart-heading{text-align: right;font-family: "AvenirNextLTW02-Demi";font-size: 0.75rem;line-height: 1.15;color: #0a0a0a;text-transform: uppercase;border-bottom: 2px solid #0a0a0a;padding: 1rem 0 1rem 0;}
.page-products-list .table-products-list-add-multiple .table-products-list-add-multiple-row{background: none;padding: 10px 0px;border-bottom: 1px solid #cccccc;}
.page-products-list .table-products-list-add-multiple .table-products-list-add-multiple-row .product-list-cell-checkbox{text-align: center;vertical-align: middle;padding: 10px 0px; border-bottom: 1px solid #cccccc;}
.page-products-list .table-products-list-add-multiple .table-products-list-add-multiple-row .product-list-cell-thumbnail{text-align: center;vertical-align: middle;padding: 10px 0px; border-bottom: 1px solid #cccccc;}
.page-products-list .table-products-list-add-multiple .table-products-list-add-multiple-row .product-list-cell-thumbnail img{}
.page-products-list .table-products-list-add-multiple .table-products-list-add-multiple-row .product-list-cell-info-description{text-align: left;vertical-align: middle;padding: 10px 0px; border-bottom: 1px solid #cccccc;}
.page-products-list .table-products-list-add-multiple .table-products-list-add-multiple-row .product-list-cell-info-description .productlist-product-title{}
.page-products-list .table-products-list-add-multiple .table-products-list-add-multiple-row .product-list-cell-info-description .productlist-product-title .itemcolor{}
.page-products-list .table-products-list-add-multiple .table-products-list-add-multiple-row .product-list-cell-info-description .productlist-product-description{}
.page-products-list .table-products-list-add-multiple .table-products-list-add-multiple-row .product-list-cell-info-description .productlist-more-info{text-align: left;}
.page-products-list .table-products-list-add-multiple .table-products-list-add-multiple-row .product-list-cell-info-description .productlist-more-info .itemcolor{}
.page-products-list .table-products-list-add-multiple .table-products-list-add-multiple-row .product-list-cell-date{text-align: center;vertical-align: middle;padding: 10px 0px; border-bottom: 1px solid #cccccc;}
.page-products-list .table-products-list-add-multiple .table-products-list-add-multiple-row .product-list-cell-location{text-align: left;vertical-align: middle;padding: 10px 0px; border-bottom: 1px solid #cccccc;}
.page-products-list .table-products-list-add-multiple .table-products-list-add-multiple-row .product-list-cell-type{text-align: center;vertical-align: middle;padding: 10px 0px; border-bottom: 1px solid #cccccc;}
.page-products-list .table-products-list-add-multiple .table-products-list-add-multiple-row .product-list-cell-price{text-align: right;vertical-align: middle;padding: 10px 0px; border-bottom: 1px solid #cccccc;}
.page-products-list .table-products-list-add-multiple .table-products-list-add-multiple-row .product-list-cell-add-to-cart{text-align: center;vertical-align: middle;padding: 10px 0px; border-bottom: 1px solid #cccccc;}
#product-list-add-multiple-form .page-products-list .table-products-list-add-multiple .table-products-list-add-multiple-row .product-list-cell-add-to-cart .orderbutton{margin-bottom: 0px;}

.products-list-section {
    display: flex;
    flex-wrap: wrap;
    gap: 2rem;
}

.product-list-tile {
    background-color: white;
    padding: 1rem;
    width: 100%;
    border-radius: 2px;
}

.product-list-info-container a {
    text-decoration: none;
}

.product-list-title {
    text-decoration: none;
    margin-bottom: 0.5rem;
}

.product-list-title:hover {
    text-decoration: underline;
    color: #4D4D4D;
}

.product-list-tile ul {
    margin-top: 0rem;
}

.product-list-about {
    font-size: 14px;
    line-height: 21px;
    font-weight: 400;
}

.product-list-hr {
    margin: 2rem 0 1rem 0;
    border: 0;
    border-bottom: 1px solid #cccccc;
}

.product-list-price-container {
    line-height: 38.4px;
    font-weight: 700;
    font-size: 24px;
    font-family: "Avenir Next", sans-serif;
    text-align: left;
    display: inline;
    float: left;
}

.product-list-action-container {
    display: inline;
    float: right;
    margin-top: 1rem;
}

.cm-product-list-add-to-cart-form {
    display: inline;
}

.product-list-quantity-label {
    font-family: "Avenir Next", sans-serif;
    color: black;
    line-height: 24px;
    font-weight: 600;
    font-size: 16px;
    display: inline;
}

.product-list-price-label {
    font-family: "Avenir Next", sans-serif;
    color: black;
    line-height: 21px;
    font-weight: 600;
    font-size: 14px;
}

.product-price-label {
    font-family: "Avenir Next", sans-serif;
    color: black;
    display: inline;
    line-height: 38.4px;
    font-weight: 600;
    font-size: 22px;
}

div.product-details-name {
    display: none;
}

div.product-details-name h1 {
	margin: 0;
	font-size: 2.4rem;
}

div.product-details-name > p {
	margin: 0;
	font-size: 8px;
}
.product-details-order-button-container {
    margin-top:10px;
}

.orderbutton,
.formbutton {
    background: #e30513;
    border: 1px solid #e30513;
    color: white;
    font-family: "Avenir Next", sans-serif;
    font-size: 1rem;
    line-height: 1.5;
    padding: 0.66rem 2rem;
    border-radius: 2px;
    display: inline-block;
    margin-bottom: 1rem;
    text-decoration: none;
    transition: all 0.25s;
    text-align: center;
    cursor: pointer;
    font-weight: 600;
}

.orderbutton:hover,
.formbutton:hover {
    background: #fb535d;
    border: 1px solid #e30513;
    color: white;
    opacity: 1;
    text-decoration: none;
}

.formbutton:focus,
.formbutton:active,
.orderbutton:focus,
.orderbutton:active {
    border: 1px solid #e30513;
    background: white;
    color: black;
    text-decoration: none;
}

.products-list-section .orderbutton {
    background: #e30513;
    border: 1px solid #e30513;
    color: white;
    font-family: "Avenir Next", sans-serif;
    font-size: 1rem;
    line-height: 1.5;
    padding: 0.66rem 2rem;
    border-radius: 2px;
    display: inline-block;
    margin-bottom: 0rem;
    text-decoration: none;
    transition: all 0.25s;
    text-align: center;
    cursor: pointer;
    margin-left: 1rem;
    font-weight: 600;
}

.products-list-section .orderbutton:hover {
    background: #fb535d;
    border: 1px solid #e30513;
    color: white;
    opacity: 1;
    text-decoration: none;
}

.products-list-section .orderbutton:focus,
.products-list-section .orderbutton:active {
    border: 1px solid #e30513;
    background: white;
    color: black;
    text-decoration: none;
}

.products-list-section .cm-product-list-add-to-cart-form input[aria-label="Quantity"] {
    height: 3rem;
    border: 1px solid #cccccc;
    border-radius: 0.125rem;
    background-color: white;
    padding: 0.5rem 1rem;
    display: inline;
    margin-bottom: 0rem;
    box-sizing: border-box;
    margin-left: 10px;
}

.products-list-section .cm-product-list-add-to-cart-form input[aria-label="Quantity"]:hover {
    border-color: #999999;
    outline: none;
    -webkit-transition: all 0.25s;
    transition: all 0.25s;
}

.products-list-section .cm-product-list-add-to-cart-form input[aria-label="Quantity"]:focus-within {
    border-color: #629eda;
}

div.cm-realex {
	padding-top: 30px;
}

.cm-realex table {
	margin-left: auto;
	margin-right: auto;
}

.product-no-products {
	display: none;
}

.catalog-no-products {
    text-align: center;
}

@media(max-width:950px) {
	.table-products-list .table-products-list-row {
        flex: 1 47%;
        max-width: 47%;
        margin-right: 2%;
        margin-bottom: 6%;
        background-color: #e6e6e6;
        display: inline-block;
        border-radius: 5px;
        text-align: center;
        vertical-align: top;
    }

    .purchase-options-container {
        flex-wrap: wrap;
    }

    .option-single-purchase,
    .option-multiple-purchase {
        width: 100%;
    }

    .product-store-managed {
        width: 100%;
    }

    .product-list-action-container {
        width: 100%;
    }

    .cm-product-list-add-to-cart-form {
        display: flex;
        margin-top: 1rem;
    }

    .products-list-section .cm-product-list-add-to-cart-form input[aria-label="Quantity"] {
        margin-left: 0px;
    }
}

@media(max-width:640px) {
    .table-products-list .table-products-list-row{display: block;
        -ms-flex: 1 100%;
        flex: 1 100%;
        max-width: 100%;
        width: 100%;
        margin-right: 0;
    }	
	
    .table-products-list .productlist-product-description {
        min-height: 80px !important;
    }

    .product-list-action-container {
        display: block;
        clear: both;
        float: left;
    }

    .product-list-quantity-label {
        display: block;
        margin-bottom: 1rem;
    }

    .products-list-section .cm-product-list-add-to-cart-form input[aria-label="Quantity"] {
        margin-left: 0px;
    }

    .single-purchase-button,
    .multiple-purchase-button {
        width: 100%;
        box-sizing: border-box;
    }

    .product-details-order-button-container .orderbutton {
        width: 100%;
    }

    .products-list-section .orderbutton {
        width: 100%;
    }
}

.page-categories .linetable .cm-category-cell {
    border: solid 20px whitesmoke;
}

.page-categories .linetable .cm-category-cell .cm-category-thumbnail {
    width: 100%;
    border-left: solid 20px #e6e6e6;
	border-top: solid 20px #e6e6e6;
	border-right: solid 20px #e6e6e6;
    border-top-left-radius: 10px;
    border-top-right-radius: 10px;
}

.page-categories .linetable .cm-category-cell .category-list-title {
    margin-bottom: 0em;
    background-color: #e6e6e6;
    border-bottom-left-radius: 10px;
    border-bottom-right-radius: 10px;
}

.page-categories .linetable .cm-category-cell .category-list-title .text-link {
    display: block;
    border-bottom:none;
    padding: 10px 0px 10px 0px;
}

.products-related table tbody tr {
    display: flex;
    -ms-flex-wrap: wrap;
    flex-wrap: wrap;
    gap: 2rem;
}

.products-related table tbody tr td {
    max-width: calc(25% - 2rem);
    min-width: calc(25% - 2rem);
    background-color: white;
    -webkit-transition: all all 0.25s;
    transition: all 0.25s;
    border-radius: 2px;
    padding-bottom: 0.5rem;
}

.products-related table tbody tr td:hover {
    -webkit-transition: all all 0.25s;
    transition: all 0.25s;
    -webkit-box-shadow: 0 8px 16px 0 rgba(0, 0, 0, 0.16);
    box-shadow: 0 8px 16px 0 rgba(0, 0, 0, 0.16);
}

.products-related table tbody tr td a img {
    width: 100%;
    height: 150px;
    object-fit: cover;
    border: 0px;
    box-sizing: border-box;
    margin: 0px;
    padding: 0px;
}

.products-related table tbody tr td .relatedcolor {
    margin: 0.75rem 0;
    font-family: "AvenirNextLTW02-Bold";
    font-size: 1.125rem;
    line-height: 1.15;
    color: #0a0a0a;
    font-weight: normal;
}

@media screen and (max-width: 960px) {
    .products-related table tbody tr td {
        max-width: calc(50% - 2rem);
        min-width: calc(50% - 2rem);
    }
}

@media screen and (max-width: 660px) {
    .products-related table tbody tr td {
        max-width: calc(100% - 2rem);
        min-width: calc(100% - 2rem);
    }
}
