/* =============================================
   QUANTUM NEWSLETTER
=============================================== */
/* Honeypot - never visible to humans, multiple-redundancy hidden */
.qc-honeypot {
    position: absolute !important;
    left: -9999px !important;
    width: 1px !important;
    height: 1px !important;
    opacity: 0 !important;
    pointer-events: none !important;
    visibility: hidden !important;
}


.qc-modal-overlay {
    position: fixed;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    background: rgba(0, 0, 0, 0.6);
    z-index: 9999;
    display: flex;
    align-items: center;
    justify-content: center;
    padding: 20px;
}


.qc-modal-box {
    background: #fff;
    border-radius: 8px;
    max-width: 440px;
    width: 100%;
    padding: 40px 30px 30px;
    box-shadow: 0 10px 40px rgba(0, 0, 0, 0.2);
    text-align: center;
    position: relative;
    animation: qcModalIn 0.25s ease-out;
}


@keyframes qcModalIn {
    from { transform: scale(0.9); opacity: 0; }
    to   { transform: scale(1);   opacity: 1; }
}


.qc-modal-close {
    position: absolute;
    top: 20px;
    right: 20px;
    background-color: #c00 !important;
    font-size: 28px;
    line-height: 1;
    color: #fff !important;
    cursor: pointer;
    padding: 0;
    width: unset !important;
    height: unset !important;
    border: unset !important;
    font-size: 22px !important;
    padding: 10px 20px !important;
}


.qc-modal-close:hover {
	background-color: #f00 !important;
}


.qc-modal-icon {
    margin-bottom: 16px;
    display: flex;
    justify-content: center;
}


.qc-modal-title {
    font-size: 22px;
    font-weight: 700;
    margin: 0 0 10px;
    color: #222;
}


.qc-modal-message {
    font-size: 15px;
    color: #555;
    margin: 0 0 24px;
    line-height: 1.5;
}


.qc-modal-box .card-btn-default {
	background-color: #222 !important;
}



/* =============================================
   QUANTUM HUB
=============================================== */
.qc-readmore-toggle {
    color: #fff !important;
    font-weight: bold;
    text-transform: uppercase;
    background: #C00;
    padding: 3px 8px 3px 12px;
    border-radius: 4px;
    font-size: 11px !important;
}


/* Read more / Read less toggle */
.qc-readmore-toggle {
    color: #ce181e;
    font-weight: 600;
    text-decoration: none;
    white-space: nowrap;
}

.qc-readmore-toggle:hover {
    color: #a01217;
    text-decoration: underline;
}

.qc-readmore-arrow {
    display: inline-block;
    margin-left: 2px;
}


/* Margin control — bumped specificity to beat Porto/theme defaults */
.qc-readmore-wrap p.qc-readmore-trigger-para.qc-collapsed {
    margin-bottom: 0 !important;
}

.qc-readmore-wrap .qc-readmore-content p.qc-readmore-last-para {
    margin-bottom: 0 !important;
}



/* =============================================
   QUANTUM QUOTE: SUCCESS PAGE
=============================================== */
.qq-success {
    margin: 0 auto;
}


/* --- Success header (icon, title, quote id) --- */
.qq-success__header {
	text-align: center;
    padding: 40px;
    border: 1px solid #ddd;
    background: #efefef;
    border-radius: 4px;
    margin-bottom: 40px;
}


.qq-success__icon {
    stroke: #4caf50;
}


.qq-success__title {
    margin: 1.25rem 0;
}


.qq-success__quote-id {
    font-size: 1.4em;
    font-weight: bold;
    color: #1979c3;
}


.qq-success__lede {
    margin: 5px 0;
}


/* --- Section blocks --- */
.qq-success__section {
    margin: 0 auto 30px;
}


.qq-success__section-title {
    margin: 0 0 12px;
    text-transform: uppercase;
}


/* --- Tables (Submitted Information + Items Requested) --- */
.qq-success__table {
    width: 100%;
    border-collapse: collapse;
}


.qq-success__table th,
.qq-success__table td {
    padding: 8px 5px;
    text-align: left;
}


/* Info table — label column on the left */
.qq-success__table--info th {
    width: 35%;
    vertical-align: top;
}


.qq-success__notes-row th {
    vertical-align: top;
}


/* Items table — header gets the red bottom border */
.qq-success__table--items thead th {
    border-bottom: 2px solid #cc0000;
    color: #000;
}


.qq-success__table--items tbody td {
    border-bottom: 1px solid #eee;
}


/* Qty column centered in items table */
.qq-success__qty-col {
    text-align: center;
}


/* --- Actions --- */
.qq-success__actions {
    text-align: center;
    margin-top: 30px;
}


.qq-success__not-found {
    text-align: center;
    padding: 40px 0;
}



/* =============================================
   QUANTUM QUOTE: SUBMIT FORM
=============================================== */
.quantum-quote-submit-form .field.has-error .control input,
.quantum-quote-submit-form .field.has-error .control select,
.quantum-quote-submit-form .field.has-error .control textarea {
    border-color: #cc0000;
    box-shadow: 0 0 0 2px rgba(204, 0, 0, 0.1);
}


.quantum-quote-submit-form .field.has-error > .label {
    color: #cc0000;
}



/* =============================================
   QUANTUM QUOTE: RESPONSIVE
=============================================== */
@media (max-width: 600px) {
    .qq-success__table--info th {
        width: 40%;
    }
}



/* =============================================
   GLOBAL: CART/QUOTE
=============================================== */
.product-options-bottom {
	margin-top: 0px;
	margin-bottom: 0px;
	border-bottom: 3px solid #efefef;
}


.product-add-form .box-tocart {
	border-bottom: 3px solid #efefef !important;
	padding: 15px 0 !important;
	margin-top: unset !important;
	border-top: unset !important;
}


.quantum-quote-submit-form {
	max-width: unset !important;
	margin: unset !important;
	padding: 20px !important;
}


.quantum-quote-submit-form h2 {
	text-transform: uppercase !important;
	margin-bottom: 10px !important;
	line-height: normal !important;
}


.quantum-quote-submit-form .fieldset {
	margin-bottom: 0px !important;
}


.quantum-quote-submit-form .field {
	margin-bottom: 15px !important;
}


.cart-summary table .col {
	width: unset !important;
	max-width: unset !important;
}
	

.cart-summary {
	margin: 0px !important;
	padding: 0px !important;	
	border: none !important;
}


.cart.table-wrapper .cart thead tr th.col {
	background: #333 !important;
	color: #ffffff !important;	
	padding: 15px !important;		 
}


.cart.table-wrapper .product-item-name > a {
    font-weight: 700 !important;
	text-transform:uppercase !important;
}


.minicart-wrapper .action.showcart::after {
	content: unset !important;
	display: none !important;
}


.minicart-wrapper .action.showcart .counter.qty {
	background-color: #c00 !important;
	line-height: 17px !important;
	right: -5px !important;
}


.cart-design-2 .action.showcart .minicart-icon {
	width: 30px !important;
    height: 25px !important;
	margin: 9px 3px 0 !important;
	border: 3px solid #000 !important;
}


@media only screen and (max-width: 767px) {

    .cart.table-wrapper thead .col.item, 
	.cart.table-wrapper thead .col.qty, 
	.cart.table-wrapper thead .col.price, 
	.cart.table-wrapper thead .col.subtotal, 
	.cart.table-wrapper thead .col.msrp,
	.cart.table-wrapper thead .col.actions {
        display: table-cell !important;
    }

	
	.cart.table-wrapper .col.item, 
	.cart.table-wrapper .col.qty, 
	.cart.table-wrapper .col.price, 
	.cart.table-wrapper .col.subtotal, 
	.cart.table-wrapper .col.msrp,
	.cart.table-wrapper .col.actions {
		display: table-cell !important;
		width: 100% !important;
		padding: 15px !important;
	}

	
	.cart.table-wrapper .col.item:before,
	.cart.table-wrapper .col.qty:before,
	.cart.table-wrapper .col.price:before,
	.cart.table-wrapper .col.subtotal:before,
	.cart.table-wrapper .col.msrp:before,
	.cart.table-wrapper .col.actions:before {
        padding-bottom: unset !important;
		display: none !important;
    }

	
	.quantum-quote-submit-form {
		margin-bottom: 30px !important;
	}
}



@media only screen and (min-width: 767px) {

	.cart.table-wrapper tbody td {
		padding: 10px !important;
	}

	
	.cart .actions-toolbar {
		text-align: right !important;
	}
}



.cart.table-wrapper .actions-toolbar > .action-edit, 
.cart.table-wrapper .actions-toolbar > .action-delete {
	position: unset !important; 
}


.cart.table-wrapper .actions-toolbar {
	min-height: unset !important;
    padding-bottom: unset !important;
    position: unset !important;
}


.cart.table-wrapper .actions-toolbar {
	min-width: 80px !important;
}


.cart.table-wrapper thead .col.actions,
.cart.table-wrapper tbody .col.actions {
	text-align: right !important;
}

	
	
/* =============================================
   GLOBAL: SITE RESETS > OK
=============================================== */
.slider-wrapper {
	margin-left:0px !important;
    margin-right: 0px !important;
}


.products-slider.owl-carousel .owl-stage-outer:not(:first-of-type) {
	padding-top: unset !important;
	margin-bottom: 10px !important;
	}


.box-tocart {
	margin: 15px 0 !important;
	}


.box-tocart .actions {
	margin: 0px !important;
	}

	
.box-tocart .field.qty {
	margin-right: 8px !important;
	margin-bottom: 0px !important;
	}

	
.column.main {
	min-height: unset !important;
	}


.newsletter-block {
	display: flex;
	}


.pages .item.current {
	color: #fff;
	background: #c00;
	border: none;
	}


.pages strong.page {
	border: 1px solid #c00;
	}


.pages .item.current .page span {
	color: #fff;
	}


.page-layout-quantum-product-layout .toolbar-amount {
	display: block;
	margin-right: 15px;
	color: #000;
	font-weight: bold;
	}


.page-layout-quantum-product-layout .toolbar-amount:before {
	content: "(";
	}


.page-layout-quantum-product-layout .toolbar-amount:after {
	content: ")";
	}


.filter-value {
	clear: both;
	display: block;
	}


.products .product-item {
	padding-left: unset !important;
	padding-right: unset !important;
	width: unset !important;
	margin-bottom: unset !important;
	}


@media (min-width: 1201px) {

	.logo {
		max-width: 220px;
		}
}



@media (min-width: 1200px) {

	.header.content,
	.footer.content,
	.page-wrapper>.widget,
	.page-wrapper>.page-bottom,
	.block.category.event,
	.top-container,
	.page-main {
		padding-left: unset !important;
		padding-right: unset !important;
		}

	
	.page-wrapper>.breadcrumbs .items {
		padding-left: 0px;
		padding-right: 0px;
		}
}



@media (min-width: 992px) and (max-width: 1200px) {

	.logo {
		max-width: 210px;
		}
}



@media (min-width: 651px) and (max-width: 991px) {

	.logo {
		max-width: 175px;
		}
}



@media (min-width: 577px) and (max-width: 650px) {

	.logo {
		max-width: 175px;
		}
}



@media (min-width: 0px) and (max-width: 576px) {

	.logo {
		max-width: 130px;
		}
}



@media (min-width: 768px) {

	
	.page-main {
		max-width: -webkit-fill-available;
		padding-right: 0px;
		padding-left: 0px;
	}
}



@media (max-width: 650px) {

	.page-layout-quantum-product-layout .toolbar-amount {
		display: none !important;
		}
}



.product.media {
	margin-bottom: 0px;
	}


.product.info.detailed {
	padding-top: 20px;
	}


@media (max-width: 767px) {

	.product.media {
		margin-bottom: 20px;
		}


	.product.info.detailed {
		padding-top: 0px;
		}
}




/* =============================================
   GLOBAL: PAGE RESETS > OK
=============================================== */
input[type="email"], input[type="number"], input[type="password"], input[type="search"], input[type="tel"], input[type="text"], input[type="url"], input[type="color"], input[type="date"], input[type="datetime"], input[type="datetime-local"], input[type="month"], input[type="time"], input[type="week"], textarea, select {
    padding: 8px 12px 8px;
	height: 38px;
	}


h1 {
	line-height: normal !important;
	}


.promo-page-title-new {
	color: #cc0000;
	font-weight: 900;
	line-height: 1px;
	}


.page-title-wrapper:not(.product-info-main .page-title-wrapper) {
	display: unset;
	}


.page-main>.page-title-wrapper .page-title:not(.page-main > .product-info-main .page-title-wrapper .page-title) {
	margin: 10px 0 25px !important;
	}


.message.success {
	margin: 0 0 20px 0;
	}


.promo-list-item:hover,
.instructions-item:hover,
.listprice-item:hover {
	background: #e5f7fe;
	}


.promo-list-item:nth-child(even):hover,
.instructions-item:nth-child(even):hover,
.listprice-item:nth-child(even):hover {
	background: #e5f7fe;
	}


@media (max-width: 991px) {

	.column.main {
		margin-top: unset !important;
		}


	.page.messages {
		margin-top: unset !important;
		}
}




/* =============================================
   GLOBAL: PAGE TITLE > OK
=============================================== */
.product-info-main .page-title-wrapper h1 {
	font-size: 22px !important;
	}


.page-title-wrapper:not(.product-info-main .page-title-wrapper) {
	position: relative;
	height: 20px;
	margin: 15px 0;
	}


h1.page-title:not(.product-info-main h1.page-title) {
	border-top: 1px solid #000;
	width: 100%;
	height: 0px;
	font-size: 20px !important;
	font-weight: bold;
	display: inline-block !important;
	}


h1.page-title span.base:not(.product-info-main h1.page-title span.base) {
	position: relative;
	top: -14px;
	margin: 0 auto;
	display: block;
	color: #000;
	padding: 0 20px;
	width: fit-content;
	text-transform: uppercase;
	text-align: center;
	}


.page-title-wrapper h1.page-title .base,
.page-title-wrapper h1.page-title .base.out {
	background: #f6f7f9;
	}


.page-title-wrapper h1.page-title .base.in:not(.product-info-main .page-title-wrapper h1.page-title .base.in),
.product-info-main .page-title-wrapper h1.page-title .base {
	background: #fff !important;
	}



/* =============================================
   GLOBAL: NAVIGATION > OK
=============================================== */
/* ----- Desktop: Override -- */
@media (min-width: 992px) {
	.sw-megamenu.navigation .subchildmenu.mega-columns>li {
		float: left;
		padding: 8px 8px 0;
		}

	.sw-megamenu.navigation li.level0.fullwidth .submenu li.level1>a {
		font-weight: 500;
		}

	.sw-megamenu.navigation li.level0 .submenu .container {
		position: relative;
		}

	.menu-right-block {
		top: 110px;
		right: 10px;
		width: 300px;
		height: 346px;
		position: absolute;
		}
}


/* ----- Megamenu: Category Overlay Images ----- */
.subchildmenu-overlay-bins-and-systems {
	background-image: url("/media/prop/industrial/static/site/navigation/img/overlays/overlay_bins-and-systems.png");
	}


.subchildmenu-overlay-steel-shelving {
	background-image: url("/media/prop/industrial/static/site/navigation/img/overlays/overlay_steel-shelving.png");
	}


.subchildmenu-overlay-wire-shelving {
	background-image: url("/media/prop/industrial/static/site/navigation/img/overlays/overlay_wire-shelving.png");
	}


.subchildmenu-overlay-millenia {
	background-image: url("/media/prop/industrial/static/site/navigation/img/overlays/overlay_millenia.png");
	}


.subchildmenu-overlay-crusader {
	background-image: url("/media/prop/industrial/static/site/navigation/img/overlays/overlay_crusader.png");
	}


.subchildmenu-overlay-bins-and-systems,
.subchildmenu-overlay-steel-shelving,
.subchildmenu-overlay-wire-shelving,
.subchildmenu-overlay-millenia,
.subchildmenu-overlay-crusader {
	position: relative;
	display: block;
	height: 346px;
	width: inherit;
	z-index: 100;
	background-size: contain;
	background-position: center center;
	background-repeat: no-repeat;
	}


/* ----- Megamenu: Nav Image Spinner ----- */
.nav-img-spinner {
	position: absolute;
	top: 0;
	left: 0;
	right: 0;
	bottom: 0;
	display: flex;
	align-items: center;
	justify-content: center;
	background: rgba(255, 255, 255, 0.7);
	z-index: 10;
	}


.nav-img-spinner::after {
	content: "";
	width: 30px;
	height: 30px;
	border: 3px solid #f3f3f3;
	border-top: 3px solid #cc0000;
	border-radius: 50%;
	animation: navImgSpin 0.6s linear infinite;
	}


@keyframes navImgSpin {
	0% {
		transform: rotate(0deg);
		}

	100% {
		transform: rotate(360deg);
		}
}


.qi-trigger-chevron {
	width: 9px;
	height: 9px;
	border-right: 2px solid #fff;
	border-bottom: 2px solid #fff;
	transform: rotate(-45deg);
	transition: transform 0.25s ease;
	flex-shrink: 0;
	margin-top: -2px;
	position: absolute;
	right: 15px;
	}


/* ----- QI Bar: Industry Links ----- */
.qi-link,
.qi-link-inactive {
	flex: 1 1 0;
	min-width: 0;
	display: flex;
	align-items: stretch;
	text-decoration: none;
	color: #fff;
	transition: filter 0.2s;
	}

	
.qi-link-inactive {
	cursor: default !important;
	}

	
.qi-link:hover,
.qi-link-inactive:hover {
	filter: brightness(1.15);
	color: #fff;
	text-decoration: none;
	}


/* ----- QI Bar: Industry Colors ----- */
.qi-industrial,
.qi-medical,
.qi-foodservice,
.qi-janitorial {
	background: #efefef;
	}


.qi-industrial {
	border-top: 8px solid #cc0000;
	}


.qi-medical {
	border-top: 8px solid #0088cc;
	}


.qi-foodservice {
	border-top: 8px solid #16a34a;
	}


.qi-janitorial {
	border-top: 8px solid #ff9800;
	}


.qi-industrial .qi-strip {
	background: #cc0000;
	}


.qi-medical .qi-strip {
	background: #0088cc;
	}


.qi-foodservice .qi-strip {
	background: #16a34a;
	}


.qi-janitorial .qi-strip {
	background: #ff9800;
	}


/* ----- QI Bar: Dark Icon Strip ----- */
.qi-strip {
	flex-shrink: 0;
	width: 50px;
	display: flex;
	align-items: center;
	justify-content: center;
	background: rgba(0, 0, 0, 0.3);
	}


.qi-strip svg {
	width: 21px;
	height: 21px;
	opacity: 0.9;
	fill: #fff;
	stroke: #fff;
	position: relative;
	top: -4px;
	}


.qi-strip svg path,
.qi-strip svg line {
	stroke: #fff;
	}


/* ----- QI Bar: Text Label ----- */
.qi-label {
	flex: 1;
	display: flex;
	align-items: center;
	justify-content: left;
	padding: 4px 15px;
	font-weight: 700;
	white-space: nowrap;
	color: #222529 !important;
	}


/* ----- QI Bar: Confirmation Popup ----- */
.qi-confirm-overlay {
     position: fixed;
     top: 0;
     left: 0;
     right: 0;
     bottom: 0;
     background: rgba(0, 0, 0, 0.6);
     z-index: 10000;
     display: flex;
     align-items: center;
     justify-content: center;
	 }

	 
.qi-confirm-box {
     background: #fff;
     padding: 30px 35px;
     border-radius: 4px;
     max-width: 550px;
     width: 90%;
     text-align: center;
     box-shadow: 0 8px 30px rgba(0, 0, 0, 0.3);
	 }

	 
.qi-confirm-msg {
     font-size: 15px;
     color: #333;
     line-height: normal;
	 }

	 
.qi-confirm-dest {
	color: #000;
    text-transform: uppercase;
    margin: 10px 0 20px;
    display: block;
    font-size: 24px;
	}

	 
.qi-confirm-buttons {
     display: flex;
     gap: 12px;
     justify-content: center;
	 }


@media (max-width: 991px) {

	.qi-trigger-chevron {
		transform: rotate(45deg);
		margin-top: -5px;
		}


	.qi-label {
		padding: 15px;
		}


	.qi-industrial,
	.qi-medical,
	.qi-foodservice,
	.qi-janitorial {
		background-image: linear-gradient(to right, #fff, #d1d1d1);
		}


	.qi-strip svg {
		width: 30px;
		height: 30px;
		}


	#qi-backdrop {
		position: fixed;
		top: 0;
		left: 0;
		right: 0;
		bottom: 0;
		background: rgba(0, 0, 0, 0.7) !important;
		z-index: 10;
		}
}




/* =============================================
   GLOBAL: SHARED STYLES > OK
=============================================== */
/* ----- Global: Category Banner / Advanced Media ----- */
.quantum-advanced-media {
	width: 100%;
	}


.advanced-media-banner {
	width: 100%;
	line-height: 0;
	}


.advanced-media-banner-image {
	width: 100%;
	height: auto;
	display: block;
	}


.advanced-media-cms-block {
	width: 100%;
	}


/* ----- Global: Titles ----- */
.cms-content-subheading {
	color: #000;
	font-size: small;
	text-align: center;
	margin-top: -15px;
	padding: 0 10px;
	}


/* ----- Global: Breadcrumbs ----- */
.cms-page-view .breadcrumbs {
	display: none;
	}


/* ----- Global: Breadcrumbs Spacers ----- */
.catalogsearch-result-index .breadcrumbs-spacer,
.cms-index-index .breadcrumbs-spacer,
.cms-noroute-index .breadcrumbs-spacer,
.cms-page-view .breadcrumbs-spacer,
.checkout-cart-configure .breadcrumbs-spacer,
.contact-index-index .breadcrumbs-spacer,
.galleryimages-index-index .breadcrumbs-spacer,
.galleryvideos-index-index .breadcrumbs-spacer,
.locator-dealers-index .breadcrumbs-spacer,
.locator-managers-index .breadcrumbs-spacer,
.promotionalmaterials-category-view .breadcrumbs-spacer,
.page-layout-quantum-category-layout .breadcrumbs-spacer,
.quoterequest-quote-success .breadcrumbs-spacer {
	display: none;
	}


.breadcrumbs-spacer {
	margin-bottom: 20px
	}


/* ----- Global: Reset ----- */
.service-block>i {
	margin: unset !important;
	}


/* ----- Global: Inner Header / Title / Divider > Used On: Instructions, Catalogs, Blog ----- */
.inner-header {
	display: flex;
	justify-content: space-between;
	align-items: flex-end;
	margin-bottom: 15px;
	flex-wrap: wrap;
	gap: 15px;
	}


.inner-header-left {
	display: flex;
	flex-direction: column;
	}


.inner-title {
	font-size: 28px;
	font-weight: 700;
	margin: 0px;
	text-transform: uppercase;
	line-height: normal;
	}


.inner-subtitle {
	color: #cc0000;
	font-style: italic;
	font-size: 14px;
	font-weight: 600;
	line-height: normal;
	}


.inner-divider {
	height: 3px;
	background: #cc0000;
	margin-bottom: 15px;
	}


.inner-divider-black {
	height: 3px;
	background: #2b2a2a;
	margin-bottom: 15px;
	}


/* ----- Global: Module Search > Used On: Instructions ----- */
.module-search {
	position: relative;
	min-width: 250px;
	}


.module-search-input {
	font-size: 14px;
	transition: border-color 0.3s ease;
	float: right;
	width: unset !important;
	}


.module-search-input:focus {
	outline: none;
	border-color: #cc0000;
	}


.module-search-btn {
	background-color: #cc0000 !important;
	border: none !important;
	padding: 10px 18px !important;
	cursor: pointer;
	float: right;
	display: flex;
	align-items: center;
	justify-content: center;
	}


.module-search-btn:hover {
	background-color: #8d1000 !important;
	}


.module-search-btn svg {
	width: 18px;
	height: 18px;
	fill: #fff;
	}


.module-search-clear {
	left: 10px;
	background: none;
	border: none;
	font-size: 14px !important;
	cursor: pointer;
	padding: 0.8em 15px !important;
	float: right !important;
	margin-left: 10px !important;
	}


.module-search-clear:hover {
	color: #ffffff !important;
	background: #ff0000 !important;
	border-color: #ff0000 !important;
	}


/* ----- Global: Buttons > Used On: Instructions, Catalogs, Blog ----- */
.card-btn-default {
	display: inline-block;
	background-color: #222;
	color: #fff !important;
	padding: 3px 40px !important;
	font-size: 12px !important;
	font-weight: 700 !important;
	text-decoration: none !important;
	text-transform: uppercase !important;
	bottom: 10px;
	line-height: 30px !important;
	width: -webkit-fill-available !important;
	text-align: center !important;
	border: none !important;
	}


.card-btn-default:hover {
	background-color: #000;
	color: #fff !important;
	text-decoration: none !important;
	border: none !important;
	}


.card-btn-default.btn-black {
	background-color: #222222;
	}


.card-btn-default.btn-black:hover {
	background-color: #000;
	}


.card-btn-default.btn-red {
	background-color: #cc0000;
	}


.card-btn-default.btn-red:hover {
	background-color: #8d1000;
	}


.card-btn-default.btn-yellow {
	background: #fcdb10;
	color: #000 !important;
	}


.card-btn-default.btn-yellow:hover {
	background-color: #edca03;
	color: #000 !important;
	}


/* ----- Global: Module Pagination > Used On: Instructions ----- */
.module-pagination {
	display: flex;
	justify-content: center;
	align-items: center;
	gap: 5px;
	margin-top: 20px;
	flex-wrap: wrap;
	}


.module-pagination button {
	background: #fff;
	border: 1px solid #ccc;
	padding: 8px 14px;
	cursor: pointer;
	font-size: 14px;
	color: #333;
	min-width: 40px;
	}


.module-pagination button:hover {
	background: #f0f0f0;
	}


.module-pagination button.active {
	background: #cc0000;
	color: #fff;
	border-color: #cc0000;
	}


.module-pagination button.disabled {
	opacity: 0.4;
	cursor: default;
	}


/* ----- Global: Module No Results > Used On: Instructions ----- */
.module-no-results {
	padding: 30px;
	text-align: center;
	color: #666;
	font-size: 15px;
	background: #f7f7f7;
	}


/* ----- Global: Back Link > Used On: Blog List (Category), Blog View ----- */
a.qss-blog-back-link {
	color: #cc0000;
	font-size: 13px;
	font-weight: bold;
	text-decoration: none;
	display: inline-block;
	margin-bottom: 10px;
	}


a.qss-blog-back-link:hover {
	color: #990000;
	}


/* ----- Global: Layout Overrides ----- */
.page-layout-1column .column.main {
	width: 100% !important;
	max-width: 100% !important;
	flex-basis: 100% !important;
	padding-left: 0;
	padding-right: 0;
	}


/* ----- Global: Limiter Override ----- */
.limiter {
	float: right;
	}


.limiter .limiter-label {
	margin-right: 15px !important;
	}


.limiter .limiter-options {
	padding: 8px 30px 8px 10px !important;
	}


/* ----- Global: Clear Fix ----- */
.mp-clear,
.mp-clearfix {
	clear: both;
	}


/* ----- Global: Section Title (Red) > Used On: Gallery Images, Gallery Videos ----- */
.gallery-section-title {
	font-size: 28px;
	font-weight: 700;
	color: #cc0000;
	margin: 0 0 15px;
	text-transform: uppercase;
	}


/* ----- Global: Tab Navigation > Used On: Gallery (Images/Videos), Locator (Dealers/Managers) > Wrappers: .gallery-type-tabs, .locator-type-tabs ----- */
.gallery-type-tabs,
.locator-type-tabs {
	display: flex;
	margin-bottom: 0;
	margin-left: auto;
	margin-right: auto;
	border-bottom: 1px solid #ddd;
	}


.gallery-type-tabs {
	max-width: 1280px;
	}


.locator-type-tabs {
	max-width: 1200px;
	}


.locator-type-tabs .gallery-type-tab {
	font-size: 18px;
	}


.gallery-type-tab {
	flex: 1;
	display: flex;
	align-items: center;
	justify-content: center;
	gap: 12px;
	padding: 10px 30px;
	font-size: 22px;
	font-weight: 700;
	text-decoration: none !important;
	text-transform: uppercase;
	transition: all 0.3s ease;
	border: none;
	cursor: pointer;
	border-radius: 5px 5px 0 0;
	}


.gallery-type-tab.active {
	background: #cc0000;
	color: #fff !important;
	}


.gallery-type-tab.active:hover {
	background: #8d1000;
	transition: background-color 0.5s ease-in-out;
	}


.gallery-type-tab:not(.active) {
	background: #f5f5f5;
	color: #999 !important;
	border: 1px solid #ddd;
	border-bottom: none;
	}


.gallery-type-tab:not(.active):hover {
	background: #fff;
	color: #666 !important;
	}


.gallery-type-tab svg {
	width: 40px;
	height: 40px;
	}


.gallery-type-tabs .gallery-type-tab.active:first-child,
.locator-type-tabs .gallery-type-tab.active:first-child {
	margin-right: 10px !important;
	}


.gallery-type-tabs .gallery-type-tab.active:last-child,
.locator-type-tabs .gallery-type-tab.active:last-child {
	margin-left: 10px !important;
	}


/* ----- Global: Gallery Container > Used On: Gallery Images, Gallery Videos ----- */
.gallery-container {
	max-width: 1200px;
	margin: 0 auto;
	padding: 0;
	position: relative;
	}


/* ----- Global: Gallery Filter Tabs > Used On: Gallery Images, Gallery Videos ----- */
.gallery-filters {
	display: flex;
	flex-wrap: wrap;
	justify-content: space-between;
	align-items: center;
	gap: 20px;
	padding: 0 0 20px 0;
	}


.filter-tabs {
	display: flex;
	flex-wrap: wrap;
	gap: 10px;
	}


.filter-tab {
	display: inline-block;
	padding: 10px 20px !important;
	background-color: #f5f5f5;
	color: #333;
	border: none;
	font-weight: 600;
	font-size: 14px;
	cursor: pointer;
	transition: all 0.3s ease;
	}


.filter-tab:hover {
	background: #ccc;
	border-color: #ccc;
	color: #5b5a5a;
	}


.filter-tab.active {
	background-color: #cc0000 !important;
	color: #fff !important;
	border-color: #cc0000 !important;
	}


/* ----- Global: Gallery Search > Used On: Gallery Images, Gallery Videos ----- */
.gallery-search {
	position: relative;
	min-width: 250px;
	display: flex;
	flex-direction: row-reverse;
	}


.search-input {
	padding: 12px 40px 12px 15px;
	font-size: 14px !important;
	border: 2px solid #ddd;
	border-radius: 4px;
	background: #fff;
	transition: border-color 0.3s ease;
	width: stretch !important;
	display: flex !important;
	}


.search-input:focus {
	outline: none;
	border-color: #cc0000;
	}


.search-input::placeholder {
	color: #999;
	}


.search-clear {
	left: 10px;
	background: none;
	border: none;
	font-size: 14px !important;
	color: #999;
	cursor: pointer;
	display: none;
	line-height: 1;
	padding: 0.8em 15px !important;
	float: right !important;
	margin-left: 10px !important;
	}


.search-clear:hover {
	color: #ffffff !important;
	background: #ff0000 !important;
	border-color: #ff0000 !important;
	}


.search-btn {
	background-color: #cc0000 !important;
	border: none !important;
	padding: 10px 18px !important;
	cursor: pointer;
	float: right;
	display: flex;
	align-items: center;
	justify-content: center;
	}


.search-btn:hover {
	background-color: #8d1000 !important;
	}


.search-btn svg {
	width: 18px;
	height: 18px;
	fill: #fff;
	}


/* ----- Global: Gallery Results Info ----- */
.gallery-results-info {
	margin-bottom: 20px;
	font-size: 14px;
	color: #666;
	display: none !important;
	}


/* ----- Global: Loading Spinner > Used On: Gallery Images, Gallery Videos ----- */
.gallery-loading {
	position: absolute;
	top: 0;
	left: 0;
	right: 0;
	bottom: 0;
	background: transparent !important;
	display: none;
	justify-content: center;
	align-items: center;
	z-index: 100;
	min-height: 400px;
	}


.gallery-loading.active {
	display: flex;
	}


.loading-spinner {
	width: 50px;
	height: 50px;
	border: 4px solid #f3f3f3;
	border-top: 4px solid #cc0000;
	border-radius: 50%;
	animation: spin 1s linear infinite;
	}


/* ----- Global: Gallery Grid > Used On: Gallery Images, Gallery Videos ----- */
.gallery-grid {
	min-height: 200px;
	}


.fotorama__wrap {
	margin-bottom: unset !important;
	}


/* ----- Global: Gallery Card > Used On: Gallery Images, Gallery Videos ----- */
.gallery-card {
	background: #fff;
	border-radius: 4px;
	overflow: hidden;
	transition: box-shadow 0.3s ease;
	padding: 15px;
	border: 1px solid #dddddd;
	box-shadow: 0 5px 10px rgba(0, 0, 0, 0.1);
	position: relative;
	}


.gallery-card:hover {
	box-shadow: 0 4px 12px rgba(0, 0, 0, 0.3);
	cursor: pointer;
	}


.gallery-card.fade-in {
	opacity: 1;
	transform: translateY(0);
	}


.gallery-card.fade-out {
	opacity: 0;
	transform: translateY(-20px);
	}


/* ----- Global: Stagger Animation Delays ----- */
.gallery-card:nth-child(1) {
	transition-delay: 0s;
	}


.gallery-card:nth-child(2) {
	transition-delay: 0.05s;
	}


.gallery-card:nth-child(3) {
	transition-delay: 0.1s;
	}


.gallery-card:nth-child(4) {
	transition-delay: 0.15s;
	}


.gallery-card:nth-child(5) {
	transition-delay: 0.2s;
	}


.gallery-card:nth-child(6) {
	transition-delay: 0.25s;
	}


.gallery-card:nth-child(7) {
	transition-delay: 0.3s;
	}


.gallery-card:nth-child(8) {
	transition-delay: 0.35s;
	}


.gallery-card:nth-child(9) {
	transition-delay: 0.4s;
	}


.gallery-card:nth-child(10) {
	transition-delay: 0.45s;
	}


.gallery-card:nth-child(11) {
	transition-delay: 0.5s;
	}


.gallery-card:nth-child(12) {
	transition-delay: 0.55s;
	}


.gallery-card:nth-child(13) {
	transition-delay: 0.6s;
	}


.gallery-card:nth-child(14) {
	transition-delay: 0.65s;
	}


.gallery-card:nth-child(15) {
	transition-delay: 0.7s;
	}


.gallery-card:nth-child(16) {
	transition-delay: 0.75s;
	}


.gallery-card:nth-child(17) {
	transition-delay: 0.8s;
	}


.gallery-card:nth-child(18) {
	transition-delay: 0.85s;
	}


/* ----- Global: Gallery and Content > Used On: Gallery Images, Gallery Videos ----- */
.card-content {
	padding: 15px 0;
	}


.card-title {
	font-size: 16px;
	font-weight: 700;
	margin: 0 0 8px 0;
	color: #333;
	line-height: normal;
	}


.card-description {
	font-size: 14px;
	color: #666;
	margin: 0 0 20px 0;
	line-height: normal;
	}


.card-link {
	display: inline-block;
	color: #cc0000 !important;
	text-decoration: none !important;
	font-size: 14px;
	font-weight: 500;
	position: absolute;
	bottom: 15px;
}


.card-link:hover {
	text-decoration: none !important;
	color: #333333;
	}


.link-arrow {
	margin-left: 5px;
	}


/* ----- Global: Gallery No Results > Used On: Gallery Images, Gallery Videos ----- */
.no-results {
	grid-column: 1 / -1;
	text-align: center;
	padding: 60px 20px;
	color: #666;
	display: flex;
	align-items: center;
	background: #efefef;
	border: 1px solid #ccc;
	border-radius: 6px;
	}


.no-results p {
	font-size: 18px;
	margin: 0;
	width: -webkit-fill-available;
	}


/* ----- Global: Gallery Pagination > Used On: Gallery Images, Gallery Videos ----- */
.gallery-pagination {
	display: flex;
	justify-content: center;
	align-items: center;
	gap: 8px;
	margin-top: 30px;
	flex-wrap: wrap;
	}


.page-btn {
	display: inline-block;
	padding: 10px 16px;
	background-color: #333333 !important;
	color: #fff !important;
	border: 1px solid #333333 !important;
	cursor: pointer;
	font-size: 14px;
	transition: all 0.3s ease;
	}


.page-btn:hover {
	border-color: #333333 !important;
	color: #fff !important;
	background-color: #555555 !important;
	}


.page-btn.current {
	background-color: #cc0000 !important;
	border-color: #cc0000 !important;
	color: #fff !important;
	}


.page-btn.page-prev,
.page-btn.page-next {
	font-weight: 600;
	}


.page-ellipsis {
	padding: 10px 5px;
	color: #999;
	}


/* ----- Global: Search Messages > Used On: Locator Dealers, Locator Managers ----- */
.search-message {
	padding: 12px 15px;
	margin: 10px;
	border-radius: 4px;
	font-size: 14px;
	font-weight: 500;
	}


.search-message a {
	color: inherit;
	text-decoration: underline;
	}


.search-success {
	background: #d4edda;
	color: #155724;
	border: 1px solid #c3e6cb;
	}


.search-fallback {
	background: #fff3cd;
	color: #856404;
	border: 1px solid #ffeeba;
	}


.search-error {
	background: #f8d7da;
	color: #721c24;
	border: 1px solid #f5c6cb;
	}


.reset-search {
	padding: 15px;
	}


.reset-search a {
	color: #cc0000;
	font-size: 13px;
	text-decoration: none;
	}


.reset-search a:hover {
	text-decoration: underline;
	}


@keyframes spin {
	0% {
		transform: rotate(0deg);
		}

	100% {
		transform: rotate(360deg);
		}
}


@media (max-width: 1200px) {

	.gallery-section-title {
		text-align: center;
		}

		
	.filter-tabs {
		justify-content: center;
		margin-bottom: 15px;
		}

		
	.gallery-filters {
		display: unset;
		padding: unset;
		}

		
	.gallery-search {
		margin-bottom: 15px;
		padding-top: 15px !important;
		border-top: 1px solid #EFEFEF !important;
		}
}



@media (min-width: 992px) {

	.page-layout-2columns-right .column.main {
		width: unset !important;
		}
}



@media (max-width: 991px) {

	.gallery-search {
		min-width: 100% !important;
		}
}



@media (max-width: 768px) {

	.gallery-filters {
		flex-direction: column;
		align-items: stretch;
		}


	.gallery-search {
		min-width: 100%;
		}


	.gallery-type-tab svg {
		width: 20px !important;
		height: 30px !important;
		}


	.gallery-type-tabs,
	.locator-type-tabs {
		padding: 0 8px !important;
		}
}



@media (max-width: 640px) {

	.inner-header {
		flex-direction: column;
		align-items: flex-start;
		}

		
	.module-search-input {
		width: 220px;
		}

	.gallery-section-title,
	.inner-title,
	.locator-title {
		font-size: 20px;	
		}


	.gallery-type-tab {
		padding: 12px 8px !important;
		font-size: 13px !important;
		}
}



@media (max-width: 430px) {

	.gallery-type-tab svg {
		display: none !important;
		}
}




/* =============================================
   GLOBAL: SITE-WIDE BASE (Porto) > OK
=============================================== */
/* ----- Typography -- */
p {
	letter-spacing: 0;
	}


h1,
h2,
h3,
h4,
h5,
h6 {
	font-weight: 700;
	color: #222529;
	}


h1 {
	font-size: 36px;
	line-height: 44px;
	margin: 0 0 32px;
	}


h2 {
	font-size: 14px;
	line-height: 19px;
	margin: 0 0 32px;
	}


h3 {
	font-size: 25px;
	line-height: 32px;
	margin: 0 0 20px;
}


h4 {
	font-size: 16px;
	line-height: 22px;
	margin: 0 0 14px;
	}


h5 {
	font-size: 14px;
	line-height: 18px;
	margin: 0 0 14px;
	}


h6 {
	font-size: 14px;
	line-height: 18px;
	margin: 0 0 14px;
	font-weight: 600;
	}


/* ----- Buttons -- */
html .action.primary,
html .btn {
	font-weight: 700;
	line-height: 1.42857;
	padding: 0.8em 2em;
	border-radius: 0;
	}


html .action.primary {
	color: #fff;
	background-color: #a80000 !important;
	border-color: #a80000 !important;
	}


html .btn-lg {
	padding: 0.5rem 0.875rem;
	font-size: 0.875rem;
	line-height: 1.3333;
	}


html .btn-modern {
	text-transform: uppercase;
	font-size: 0.75rem;
	padding: 0.75rem 1.5rem;
	}


.btn-modern.btn-xl {
	font-size: 1rem;
	padding: 1.25em 3.125em;
	}


.btn-modern.btn-sm {
	font-size: 0.7rem;
	padding: 0.7rem 1.4rem;
	}


.btn-modern.btn-lg {
	font-size: 0.875rem;
	padding: 1rem 2.25rem;
	}


.btn-flat {
	padding: 0 !important;
	background: none !important;
	border: none !important;
	border-bottom: 1px solid transparent !important;
	box-shadow: none !important;
	text-transform: uppercase;
	font-size: 0.75rem;
	}


html .btn-dark {
	color: #fff;
	background-color: #222529;
	border-color: #222529 #222529 #0b0c0e;
	}


html .btn-light {
	color: #222529;
	background-color: #fff;
	border-color: #fff #fff #e6e6e6;
	}


/* ----- Global Helpers -- */
html .heading-secondary,
html .lnk-secondary,
html .text-color-secondary {
	color: #ff7272;
	}


html .background-color-secondary {
	background-color: #ff7272 !important;
	}


html .background-color-dark {
	background-color: #000 !important;
	}


body,
html {
	overflow-x: unset !important;
	}


bold {
	font-weight: bold !important;
	}


sup {
	font-size: 75% !important;
	color: #8d1000 !important;
	padding: 0 5px !important;
	}


bullet::before {
	content: "•";
	padding-right: 10px !important;
	}


bulletlist {
	display: block !important;
	}


.input-text {
	color: #000 !important;
	}


.page-wrapper {
	min-height: 100vh;
	display: flex;
	flex-flow: column;
	}


.page-main {
	flex-grow: 1;
	padding-bottom: 0;
	}


.fullwidth-row {
	width: 100%;
	margin-left: 0;
	}


.infinite-loader .btn-load-more,
.infinite-loader .loading {
	width: auto;
	border: none;
	background: #222529;
	color: #fff;
	padding: 1.4em 4em;
	font-size: 0.8125rem;
	line-height: 1.3333;
	font-weight: 700;
	text-transform: uppercase;
	margin-bottom: 5px;
	}


.widget .widgettitle {
	font-size: 1rem;
	}


.columns .column.main {
	padding-bottom: 0;
	}


.item.content {
	padding: 0 !important;
	}


.search-category {
	border-color: #f6f7f9;
	}


/* ----- CMS Layout -- */
.cms-index-index .page-main .columns,
.cms-industrial .page-main .columns,
.cms-industrial_original .page-main .columns {
	display: block;
	padding: 0;
	background: none;
	}


.page-main .columns {
	display: grid;
	padding: 20px;
	background: #fff;
	}


/* ----- Filters -- */
.filter-options-item:last-child {
	border-bottom: none;
	}


.block.filter {
	border-bottom: 1px solid #e7e7e7;	
	}
	
	
/* ----- Products -- */
ul.additional-attributes_features {
	padding-left: 15px;
	margin: 0 !important;
	}


ul.additional-attributes_features h2 {
	margin: 20px 0 5px -15px !important;
	text-transform: uppercase;
	}


.additional-attributes.packaging-attributes.table-wrapper .product.attribute.label,
.additional-attributes.specifications-attributes.table-wrapper .product.attribute.label {
	/* width: 30%; */
	}


.block.related {
	margin-bottom: 0;
	margin-top: 20px;
	clear: both;
	display: inline-block;
	}


.block.related .section-title.slider-title {
	background: #000 !important;
	color: #fff !important;
	text-transform: uppercase !important;
	padding: 15px 25px !important;
	margin-bottom: 0 !important;
	}


.block.related .block-actions {
	margin-bottom: 10px;
	padding: 15px;
	background: #efefef;
	}


.description_short {
	display: inline-block !important;
	}


.product.attribute.overview .value {
	padding-top: 15px;
	line-height: 30px;
	}


.product-item-name:not(cart.table-wrapper .product-item-name),
.product-item-name a:not(cart.table-wrapper .product-item-name a) {
	overflow: unset !important;
	font-size: 16px;
	font-weight: bold;
	text-overflow: unset !important;
	white-space: normal !important;
	}


.product-item-name a {
	margin-bottom: 3px;
	}


.product-item-info.type3 .product.name {
	padding-right: unset !important;
	}


.product-item-info.type3 .product.name.category {
	text-align: center !important;
	padding-right: unset !important;
	}


.product-info-main {
	margin-bottom: 15px !important;
	}


.product-item-photo .product-item-inner {
	display: none !important;
	}


.product.photo.product-item-photo {
	border: 1px solid #DDD;
	border-radius: 6px;
	}


.product-options-wrapper .swatch-attribute-label {
	padding: 2px 0 0 !important;
	}


.product-options-wrapper .swatch-attribute-options {
	padding: unset !important;
	}


.product-options-wrapper .swatch-attribute-options:has(select) {
	min-width: 170px;
	}


.swatch-attribute {
	margin-bottom: 15px !important;
	padding-bottom: 15px !important;
	border-bottom: 1px solid #efefef !important;
	}


.swatch-attribute-label {
	color: #000 !important;
	font-size: 14px !important;
	font-weight: bold !important;
	}


.swatch-option.text {
	padding: 8px 14px !important;
	min-width: 102px !important;
	}


.swatch-option.selected {
	border-color: #cc0000 !important;
	background-color: #cc0000 !important;
	color: #fff !important;
	border: 1px solid #cc0000 !important;
	}


.swatch-option:not(.disabled):hover {
	outline: unset !important;
	border-color: #cc0000 !important;
	}


.swatch-option:focus {
	box-shadow: 0 0 3px 1px #aaa;
	}


/* ----- Categories -- */
.page-layout-custom-category-layout-top.container {
	background: #fff;
	padding: 20px 20px 0;
	}


.page-products.categorypath-products.category-products .breadcrumbs {
	display: none !important;
	}


.block-content.filter-content .filter-options .item {
	overflow: auto !important;
	width: 100% !important;
	}


.block-content.filter-content .filter-options input[type="checkbox"] {
	margin: 2px 10px 0 0 !important;
	display: block !important;
	float: left !important;
	}


.block-content.filter-content .filter-options a {
	display: block !important;
	margin: 0 !important;
	vertical-align: top !important;
	line-height: unset !important;
	width: 100% !important;
	}


.block-actions.filter-actions {
	border-top: 2px solid #ccc;
	background: #efefef !important;
	padding: 10px 20px !important;
	}


.block-actions.filter-actions a {
	padding: 4px 10px !important;
	background: #c00 !important;
	color: #fff !important;
	}


.container-category {
	margin-bottom: 15px;
	}


.container-category:nth-child(3) .category-top-description {
	margin-bottom: unset !important;
	border-bottom: 1px solid #efefef;
	}


.category-top-description,
.category-side-description {
	padding: 0 0 15px !important;
	}


.category-description h3 {
	margin-bottom: 5px !important;
	}


.filter .filter-current-subtitle {
	padding: 20px !important;
	background: #cc0000;
	border-bottom: 10px solid #8d1000 !important;
	color: #fff !important;
	}


.filter-current {
	padding: unset !important;
	}


.filter-current .item {
	padding: 0 !important;
	margin: 10px 0 0 !important;
	width: 93% !important;
	}


.filter-current .items {
	background: #e8f0f9 !important;
	}


.filter-current .items:last-child {
	padding: 10px 20px 20px !important;
	}


.filter-current .action.remove {
	right: -15px !important;
	top: 0 !important;
	}


.filter-label {
	font-weight: bold !important;
	margin-right: 7px !important;
	}


.filter-options-title {
	padding-right: 20px !important;
	}


.filter-options-title .toggle {
	top: 12px !important;
	}


/* ----- Category Description -- */
.page-description-actions a {
	margin: 0.5em 0 0;
	display: inline-block;
	width: 100% !important;
	text-decoration: underline;
	cursor: pointer;
	display: block !important;
	margin: 0px !important;
	vertical-align: top !important;
	line-height: unset !important;
	color: #777777 !important;
	padding: 4px 0;
	font-size: .9286em;
	}


.page-description-actions a.read-more span:after {
	content: " +";
	box-sizing: inherit;
	cursor: pointer;
	}


.page-description-actions a.read-less span:after {
	content: " -";
	box-sizing: inherit;
	cursor: pointer;
	}


.page-description-wrapper ul {
	margin-top: 15px !important;
	}


.page-description-content .hidden-content {
	display: none;
	}


.category-title {
	margin-bottom: 5px !important;
	font-size: 24px !important;
	padding: 0;
	font-weight: bold;
	color: #222529;
	position: relative;
	text-transform: uppercase;
	margin-bottom: 15px;
	}


/* ----- Images & Assets -- */
.chosen-container-multi .chosen-choices {
	background: #ffffff url("../svg/select-bg.svg") no-repeat 99% 49% !important;
	background-size: 26px 60px !important;
	padding-right: 25px !important;
	text-indent: 0.01em !important;
	cursor: pointer !important;
	}


.container-banner {
	margin-bottom: 20px !important;
	}


.container-banner img {
	width: -webkit-fill-available;
	}


/* ----- Navigation -- */
.brand-custom {
	border-top: 5px solid #000;
	margin: 15px 0 0;
	}


.brand-custom.brand-carousel.owl-carousel .owl-item img {
	filter: grayscale(100%);
	-webkit-filter: grayscale(100%);
	transition: filter 0.3s ease-in-out;
	}


.brand-custom.brand-carousel.owl-carousel .owl-item a:hover img {
	filter: none;
	-webkit-filter: grayscale(0%);
	}


.view-more-toggle {
	background: #c00;
	display: inline-block;
	clear: both;
	width: max-content;
	color: #fff;
	padding: 5px 15px;
	margin: 10px 0 0 10px;
	position: unset;
	cursor: pointer;
	float: inline-start;
	}


.search-autocomplete {
	position: absolute !important;
	width: -webkit-fill-available !important;
	padding: 20px !important;
	background: #ffffff !important;
	margin: 5px 20px 20px !important;
	box-shadow: rgba(60, 60, 60, 0.5) 0 0 15px 1px;
	clip-path: inset(0 -10px -10px -10px);
	}


.search-autocomplete dl {
	margin: 0 0 15px !important;
	padding: unset !important;
	}


.search-autocomplete dl dt:first-child {
	border-top: unset !important;
	border-bottom: unset !important;
	background: #000 !important;
	color: #fff !important;
	padding: 10px !important;
	text-transform: uppercase !important;
	}


.search-autocomplete dl dd {
	padding: 10px !important;
	}


.block-search .label:before {
	display: none !important;
	}


/* ----- Product Page: Configurable Loading Overlay ----- */
.catalog-product-view.page-product-configurable .product-info-main,
.catalog-product-view.page-product-configurable .product.info.detailed {
	opacity: 0;
	transition: opacity 0.4s ease-in-out;
	}


.catalog-product-view.page-product-configurable.product-loaded .product-info-main,
.catalog-product-view.page-product-configurable.product-loaded .product.info.detailed {
	opacity: 1;
	}


.configurable-loading-overlay {
	display: flex;
	justify-content: center;
	align-items: center;
	}


.configurable-loading-overlay .loading-spinner {
	position: absolute;
	top: 35%;
	z-index: 100;
	}


.product-loaded .configurable-loading-overlay {
	display: none;
	}


/* ----- Product Page: Kill Magento Gallery Loader GIF ----- */
.catalog-product-view .gallery-placeholder .loading-mask {
	display: none !important;
	}


.catalog-product-view.page-product-configurable .gallery-placeholder {
	opacity: 0;
	transition: opacity 0.4s ease-in-out;
	}


.catalog-product-view.page-product-configurable.product-loaded .gallery-placeholder {
	opacity: 1;
	}


/* ----- Product Tabs -- */
.product.data.items>.item.title {
	margin: 0 2px 2px 0;
	color: #fff !important;
	padding: 10px 25px;
	font-weight: 700;
	text-transform: uppercase;
	background: #a80000;
	border-bottom: 3px solid transparent;
	}


.product.data.items>.item.title.active {
	background: #cc0000;
	border-color: #222529;
	}


.product.data.items .item.title.active>.switch:hover,
.product.data.items .item.title.active>.switch:focus {
	color: #fff !important;
	}


.description_sell_copy li {
	margin-left: 20px;
	}


.description_sell_copy {
	margin-top: 15px;
	}


.additional-attributes.description_sell_copy.table-wrapper {
	background-image: linear-gradient(to top, #ecfbff, #fff) !important;
	padding: 15px !important;
	}


.additional-attributes.description_sell_copy.table-wrapper li {
	list-style: unset !important;
	}


.additional-attributes.specifications-attributes.table-wrapper,
.additional-attributes.packaging-attributes.table-wrapper {
	background: #f9f9f9 !important;
	}


.additional-attributes.specifications-attributes.table-wrapper .attribute-list tr:nth-child(even),
.additional-attributes.packaging-attributes.table-wrapper .attribute-list tr:nth-child(even) {
	background-color: #efefef;
	}

	
.catalog-product-view .promo-card-image {
	background: #efefef;
	}

	
.catalog-product-view .promo-card-image img {
	background: #ffffff;
	}
		

.catalog-product-view #product-promotional-materials-tab,
.catalog-product-view #product-image-gallery-tab {
	padding: 20px !important;
    background: #efefef !important;
	}


/* ----- Footer -- */
.footer .widgettitle,
.footer .widget-title {
	font-size: 15px;
	font-weight: 700;
	}


.footer .newsletter input {
	height: 44px;
	padding-left: 20px;
	padding-right: 20px;
	}


.footer .newsletter .action.subscribe {
	height: 44px;
	padding-left: 20px;
	padding-right: 20px;
	border-radius: 0 30px 30px 0;
	}


.footer .contact-info .contact-details strong {
	color: #222529;
	}


.footer {
	background: #dbdbdb !important;
	}

	
.footer .row {
	margin-right: unset !important;
	margin-left: unset !important;
	}


.footer .col-lg-3,
.footer .col-md-5,
.footer .col-md-6,
.footer .col-md-7,
.footer .col-lg-9 {
	padding-right: unset;
	padding-left: unset;
	}


.footer .col-lg-3,
.footer .col-lg-9 {
	padding: 30px;
	}


.footer .col-md-6 {
	padding-right: 10px;
	}


.footer .col-md-6:last-child {
	padding-right: 0px;
	}


.page-footer {
	border-bottom: 10px solid #a80000;
	background: unset !important;
	}


.page-footer-logo {
	margin: 0 auto;
	display: block;
	}


.page-footer-swoosh {
	display: block;
	margin-top: 15px !important;
	}


.custom-level {
	clear: both !important;
	}


.side-custom-block {
	background: linear-gradient(to bottom right, #EAF4FF, transparent);
	}


[class^="porto-icon-"]:before {
	margin-left: 0 !important;
	text-align: left !important;
	}


/* ----- Modal -- */
.modal-popup .action-close,
.modal-slide .action-close {
	right: 15px !important;
	top: 20px !important;
	}


.modals-overlay {
	background-color: rgba(0, 0, 0, 0.7) !important;
	}


.modal-popup .modal-title {
	font-size: 22px !important;
	font-weight: 700 !important;
	text-transform: uppercase !important;
	}

	
.block-search .action.search:before {
	background: #c00 !important;
	border-radius: 50% !important;
	color: #fff !important;
	}


.block-search .action.search:hover:before {
	background: #eb0000 !important
	}


@media (max-width: 575px) {

	body {
		font-size: 13px;
		line-height: 21px;
		}
}



@media (min-width: 768px) {

	.product.data.items>.item.content {
		position: relative;
		z-index: 1;
		margin-top: 47px;
		}


	.product.data.items>.item.title>.switch {
		z-index: unset !important;
		}
}



@media (max-width: 991px) {

		
	.mobile-sidebar .filter-options-item {
		padding-left: 20px !important;
		padding-right: 20px !important;
		}
}



@media (max-width: 768px) {

	a.filter-toggle span.show-less:after {
		content: " -";
		box-sizing: inherit;
		cursor: pointer;
		}


	.footer .newsletter-block {
		display: unset;
		}


	.footer .newsletter-block .col-md-6:last-child {
		max-width: unset;
		}
}



@media (max-width: 575px) {


	.page-main {
		padding-left: 0 !important;
		padding-right: 0 !important;
		}
}



@media (max-width: 600px) {

		
	.block.filter {
		padding: 0px;
		}

		
	.filter-options-item {
		padding: 20px;
		}
}



@media (max-width: 991px) {


	.breadcrumbs ul li.item:not(:nth-child(-n + 2)) {
		display: none !important;
		}


	.breadcrumbs .items>li:nth-child(2)::after {
		display: none !important;
		}


	.column.main {
		margin-top: unset !important;
		}


	.custom_nav li {
		padding: 5px 15px !important;
		}


	.header.panel>.header.links>li.greet.welcome {
		border-bottom: 1px solid #ccc;
		padding-bottom: 10px !important;
		padding-right: unset !important;
		margin-bottom: 10px;
		font-weight: bolder;
		color: #000;
		}


	.panel.header.show-icon-tablet .header.links {
		min-width: 250px !important;
		padding: 8px;
		font-weight: bolder !important;
		}


	.panel.header.show-icon-tablet .header.links li {
		padding-right: unset !important;
		}


	.panel.header.show-icon-tablet .header.links li a {
		color: #999 !important;
		}


	.panel.header.show-icon-tablet .header.links li a:hover {
		color: #000 !important;
		text-decoration: underline;
		}


	.panel.header.show-icon-tablet .header.links li span {
		font-weight: unset;
		}


	.panel.header.show-icon-tablet .top-links-icon {
		color: #8d1000 !important;
		}


	.block-search .action.search:before {
		background: #c00 !important;
		border-radius: 50% !important;
		color: #fff !important;
	}

	
	.block-search .action.search:hover:before {
		background: #eb0000 !important
	}
}



@media (min-width: 992px) {


	.container {
		max-width: 1180px;
		padding-left: 0;
		padding-right: 0;
		}


	.custom_nav {
		width: unset !important;
		position: absolute !important;
		}


	.custom_nav li {
		width: 300px !important;
		}


	.custom-level {
		width: max-content !important;
		}


	.custom-level-container {
		position: absolute;
		right: 0;
		}


	.seperator-vertical {
		padding-left: 75px;
		border-left: 1px solid rgba(255, 255, 255, 0.25);
		}


	.porto-block-top-scroll {
		padding: 10px;
		background: #333;
		height: auto;
		}


	.porto-block-top-scroll-inner {
		max-width: 1180px !important;
		margin: 0 auto;
		}
}



@media (min-width: 1200px) {

	.layout-1220 .container {
		max-width: 1180px;
		}
}




/* =============================================
   GLOBAL: CUSTOM NAV > OK
=============================================== */
.custom-level-parent-top-li {
	position: relative !important;
	}



/* =============================================
   GLOBAL: LIST, SEARCH AND SUB-HEADS > OK
=============================================== */
.card-btn-default.download,
.card-btn-default.download {
	padding: 3px 8px !important;
	font-size: 11px !important;
	min-width: unset;
	max-width: 35px;
	border-radius: 4px;
	
	}


.card-btn-default.download svg {
	position: relative;
    top: 5px;
	}


@media (max-width: 768px) {

	.inner-header-left {
        display: block;
        text-align: center;
        width: -webkit-fill-available;
		}

		
	.module-search {
		min-width: 100% !important;
		padding-top: 15px !important;
		border-top: 1px solid #EFEFEF !important;
		}

		
	.module-search input {
		width : stretch !important;
		display: flex !important;
		float: unset;
		}
}




/* =============================================
   PAGE: HOME > OK
=============================================== */
/* ----- Home: Legacy Overrides -- */
sub {
	bottom: -0.25em;
	}


.columns .column.main {
	padding-bottom: 0;
	}

	
.home-slider .col-md-12 {
	padding-right: 0px !important;
	padding-left: 0px !important;
	}


/* ----- Home: Special Products -- */
.special-products .section-title {
	margin-bottom: 0;
	}


.special-products .product-item-info.type1 .product-item-inner,
.special-products .product-item .weltpixel-quickview.weltpixel_quickview_button_v2 {
	display: none;
	}


.special-products .product-item-info:hover .product-item-photo {
	box-shadow: none;
	}


.special-products .product-item-photo {
	padding: 18px;
	}


.special-products img.product-image-photo.default_image {
	width: max-content !important;
	height: 150px !important;
	object-fit: contain !important;
	}


.product-image-photo.default_image {
	padding: 8px !important;
	}


/* ----- Home: Category Carousel -- */
#featured-products-more .product-image-photo,
#featured-products .product-image-photo,
#latest-products .product-image-photo {
	padding: 0px !important;
	}


#featured-products,
#latest-products {
	padding-bottom: 0px !important;
	}


#featured-products-more .product.details.product-item-details,
#featured-products .product.details.product-item-details,
#latest-products .product.details.product-item-details {
	overflow: unset !important;
	background: #000;
	position: relative;
	left: 0px;
	bottom: 0px;
	padding: 15px;
	width: -webkit-fill-available;
	color: #fff;
	font-weight: bold;
	text-transform: uppercase;
	line-height: normal;
	text-wrap-style: pretty;
	font-size: 12px;
	height: 65px;
	top: -16px;
	}


#featured-products-more .owl-item:hover .product-item-details,
#featured-products .owl-item:hover .product-item-details,
#latest-products .owl-item:hover .product-item-details {
	background: #C00;
	}


#featured-products-more .product.details.product-item-details span,
#featured-products .product.details.product-item-details span,
#latest-products .product.details.product-item-details span {
	position: relative;
	top: 50%;
	transform: translateY(-50%);
	vertical-align: middle;
	display: inline-flex;
	align-items: center;
	text-align: center;
	}


/* ----- Home: Ads / Banners -- */
.home-ads .porto-ibanner:hover {
	box-shadow: 0px 0px 30px 0 rgba(0, 0, 0, 0.08);
	}


.home-ads sup {
	font-size: 70%;
	top: -0.275em;
	font-weight: 700;
	margin-right: 2px;
	}


.heading-primary del {
	color: #222529;
	}


/* ----- Home: Sale Labels -- */
.home-ads .sale-label {
	border-radius: 50%;
	width: 2.25em;
	height: 2.25em;
	padding-top: calc(1.125em - 0.5em);
	}


.sale-label small {
	font-size: 70%;
	display: inline-block;
	font-weight: inherit;
	margin-left: 0.1em;
	color: inherit;
	}


.sale-label sup {
	position: static;
	font-size: 75%;
	}


.sale-label sub {
	display: block;
	font-size: 36%;
	line-height: 1;
	position: static;
	font-weight: 400;
	padding-left: 0.1em;
	}


.pc-label-sale {
	position: relative;
	z-index: 1;
	display: inline-block;
	}


.pc-label-sale:before {
	content: "";
	position: absolute;
	left: 0;
	right: 0;
	top: 0;
	bottom: 0;
	transform: rotateZ(-2deg) skew(1deg);
	background-color: #000;
	z-index: -1;
	}


/* ----- Home: Industry Showcase -- */
.industry-showcase {
	display: flex;
	width: 1180px;
	height: 430px;
	position: relative;
	margin: 20px auto;
	}


.industry-tabs {
	width: 300px;
	position: absolute;
	left: 0;
	top: 0;
	height: 430px;
	z-index: 2;
	display: flex;
	flex-direction: column;
	box-shadow: 5px 0 20px rgba(0, 0, 0, 0.1);
	overflow: visible;
	}


.tab {
	flex: 1;
	display: flex;
	position: relative;
	cursor: pointer;
	transition: all 0.4s cubic-bezier(0.4, 0, 0.2, 1);
	overflow: hidden;
	width: 340px;
	}


.tab:hover,
.tab.active {
	width: 420px;
	box-shadow: 5px 0 15px rgba(0, 0, 0, 0.3);
	z-index: 10;
	}


.industry-tabs:hover .tab:not(:hover):not(.active) {
	width: 300px;
	}


.tab-main {
	flex: 1;
	display: flex;
	flex-direction: column;
	justify-content: center;
	padding: 20px 0px 25px 30px;
	position: relative;
	z-index: 2;
	cursor: default !important;
	}


.tab-strip {
	width: 60px;
	display: flex;
	align-items: center;
	justify-content: center;
	background: rgba(0, 0, 0, 0.3);
	position: relative;
	z-index: 1;
	transition: all 0.4s cubic-bezier(0.4, 0, 0.2, 1);
	flex-shrink: 0;
	}


.tab:hover .tab-strip,
.tab.active .tab-strip {
	width: 80px;
	}


.tab h3 {
	font-size: 25px;
	font-weight: 700;
	line-height: normal;
	margin-bottom: 0px;
	white-space: nowrap;
	color: #ffffff;
	}


.tab p {
	font-size: 12px;
	line-height: normal;
	opacity: 0.95;
	white-space: nowrap;
	text-overflow: ellipsis;
	margin: 0px;
	}


/* ----- Home: Industry Tab Colors -- */
.tab.industrial {
	background: #cc0000;
	color: #fff;
	}


.tab.medical {
	background: #0088cc;
	color: #fff;
	}


.tab.foodservice {
	background: #16a34a;
	color: #fff;
	}


.tab.janitorial {
	background: #ff9800;
	color: #fff;
	}


/* ----- Home: Tab Strip Icons/Arrows -- */
.tab-strip svg {
	width: 32px;
	height: 32px;
	opacity: 0.9;
	fill: #fff;
	stroke: #fff;
	position: relative;
	}


.tab-strip svg path,
.tab-strip svg line {
	stroke: #fff;
	}


.tab-strip .arrow {
	font-size: 30px;
	color: #fff;
	opacity: 0;
	position: absolute;
	transition: all 0.3s ease;
	}


.tab:hover .tab-strip svg,
.tab.active .tab-strip svg {
	opacity: 0;
	}


.tab:hover .tab-strip .arrow,
.tab.active .tab-strip .arrow {
	opacity: 0.9;
	}


.tab-slider {
	display: none;
	}


/* ----- Home: Industry Carousel -- */
.industry-carousel-container {
	margin-left: 300px;
	width: 880px;
	height: 430px;
	position: relative;
	overflow: hidden;
	}


.industry-carousel-tabs {
	width: 100%;
	}


.carousel-slide {
	height: 430px;
	width: 100%;
	display: flex;
	align-items: center;
	justify-content: center;
	position: relative;
	background-size: cover;
	background-position: center;
	cursor: pointer;
	}


.industry-carousel-tabs .owl-stage-outer,
.industry-carousel-tabs .owl-stage,
.industry-carousel-tabs .owl-item {
	height: 430px !important;
	}


.carousel-slide::after {
	display: none;
	}


/* ----- Home: Slide Content -- */
.slide-content {
	text-align: center;
	color: #fff;
	z-index: 10;
	position: relative;
	padding: 30px;
	}


.slide-content h2 {
	font-size: 52px;
	font-weight: 700;
	margin-bottom: 15px;
	text-shadow: 2px 2px 10px rgba(0, 0, 0, 0.5);
	}


.slide-content h3 {
	font-size: 36px;
	font-weight: 300;
	font-style: italic;
	margin-bottom: 25px;
	text-shadow: 2px 2px 8px rgba(0, 0, 0, 0.5);
	}


.slide-content .btn {
	display: inline-block;
	padding: 15px 40px;
	background: rgba(255, 255, 255, 0.95);
	color: #222;
	text-decoration: none;
	font-size: 16px;
	font-weight: 700;
	text-transform: uppercase;
	border-radius: 4px;
	transition: all 0.3s ease;
	box-shadow: 0 4px 15px rgba(0, 0, 0, 0.3);
	border: none;
	cursor: pointer;
	}


.slide-content .btn:hover {
	background: #fff;
	transform: translateY(-3px);
	box-shadow: 0 6px 20px rgba(0, 0, 0, 0.4);
	}


/* ----- Home: Slide Background Images -- */
.slide {
	background-position: top right;
	}


.slide.industrial {
	background-image: url("/media/prop/industrial/static/site/homepage/img/banner-industrial.webp");
	}


.slide.medical {
	background-image: url("/media/prop/industrial/static/site/homepage/img/banner-medical.webp");
	}


.slide.foodservice {
	background-image: url("/media/prop/industrial/static/site/homepage/img/banner-foodservice.webp");
	}


.slide.janitorial {
	background-image: url("/media/prop/industrial/static/site/homepage/img/banner-janitorial.webp");
	}


/* ----- Home: Industry Carousel Dots -- */
.industry-carousel-tabs.owl-theme .owl-dots {
	position: absolute;
	bottom: 20px;
	left: 85%;
	z-index: 100;
	}


.industry-carousel-tabs.owl-theme .owl-dots .owl-dot span {
	width: 14px;
	height: 14px;
	margin: 5px 7px;
	background: rgba(255, 255, 255, 0.5);
	border: 2px solid #fff;
	transition: all 0.3s ease;
	}


.industry-carousel-tabs.owl-theme .owl-dots .owl-dot.active span,
.industry-carousel-tabs.owl-theme .owl-dots .owl-dot:hover span {
	background: #fff;
	transform: scale(1.3);
	}


/* ----- Home: Promo Banners Desktop Grid -- */
#promo-banners .promo-grid-desktop a {
	display: block;
	transition:
		transform 0.2s ease,
		box-shadow 0.2s ease;
		}


#promo-banners .promo-item {
	grid-column: span 2;
	}


#promo-banners .promo-item-wide {
	grid-column: span 3;
	}


#promo-banners .promo-grid-desktop img {
	width: 100%;
	height: auto;
	display: block;
	}


#promo-banners .promo-carousel-mobile {
	display: none;
	}


/* ----- Home: Banner Spacing -- */
.home-banner-strip {
	margin-bottom: 20px;
	}

	
.home-banner-strip.industrial {
	margin-bottom: 32px;
	}

	
@media (max-width: 991px) {

	.home-slider .owl-dots {
		display: none !important;
		}

		
	.row.home-slider {
		margin-right: 0px !important;
		margin-left: 0px !important;
		}

		
	.industry-showcase {
		width: 100%;
		height: auto;
		flex-direction: column;
		margin: 0px auto 20px;
		box-shadow: none;
		}


	.industry-carousel-container {
		margin-left: 0;
		width: 100%;
		height: 400px;
		order: 1;
		}


	.carousel-slide {
		height: 400px;
		}


	.industry-carousel-tabs .owl-stage-outer,
	.industry-carousel-tabs .owl-stage,
	.industry-carousel-tabs .owl-item {
		height: 400px !important;
		}


	.slide-content h2 {
		font-size: 36px;
		}


	.slide-content h3 {
		font-size: 24px;
		}


	.industry-tabs {
		width: 100%;
		height: auto;
		position: relative;
		box-shadow: none;
		order: 2;
		margin-top: 0;
		}


	.tab {
		width: 100% !important;
		height: 120px !important;
		min-height: 120px;
		max-height: 120px;
		flex-direction: column;
		justify-content: center;
		align-items: center;
		text-align: center;
		padding: 20px 10px;
		border: none;
		box-shadow: none;
		margin: 0;
		box-sizing: border-box;
		}


	.tab:hover,
	.tab.active {
		width: 100% !important;
		height: 120px !important;
		box-shadow: none;
		transform: none;
		}


	.tab-main {
		padding: 0;
		width: 100%;
		}


	.tab h3 {
		font-size: 18px;
		margin-bottom: 0px;
		white-space: normal;
		line-height: normal;
		}


	.tab p {
		font-size: 11px;
		margin: 0px;
		white-space: normal;
		line-height: normal;
		}


	.tab-strip {
		width: unset;
		background: unset;
		margin: 5px 0 10px;
		}


	.tab.active::after {
		content: "";
		position: absolute;
		bottom: 0;
		left: 0;
		right: 0;
		height: 5px;
		background: rgba(255, 255, 255, 0.95);
		margin: 8px;
		}

	
	/* ----- Home: Promo Banners Desktop Grid Shared with Contact Us -- */
	#promo-banners .promo-grid-desktop:not(.contact-index-index #promo-banners .promo-grid-desktop) {
		display: none !important;
		}


	#promo-banners .promo-carousel-mobile {
		display: block;
		padding-left: 20px;
		padding-right: 20px;
		}
}



@media (max-width: 650px) {

	.industry-carousel-container {
		height: 300px;
		}


	.carousel-slide {
		height: 300px;
		}


	.industry-carousel-tabs .owl-stage-outer,
	.industry-carousel-tabs .owl-stage,
	.industry-carousel-tabs .owl-item {
		height: 300px !important;
		}


	.slide-content h2 {
		font-size: 28px;
		}


	.slide-content h3 {
		font-size: 18px;
		}


	.slide-content .btn {
		padding: 12px 30px;
		font-size: 14px;
		}


	.tab {
		height: 100px;
		padding: 15px 8px;
		}


	.tab h3 {
		font-size: 16px;
		}


	.tab p {
		font-size: 10px;
		}
}




/* =============================================
   PAGE: SUPPORT > OK
=============================================== */
.support-grid a {
	display: block;
	transition:
		transform 0.2s ease,
		box-shadow 0.2s ease;
	}


.support-grid a:hover {
	transform: translateY(-3px);
	box-shadow: 0 6px 20px rgba(0, 0, 0, 0.15);
	}


.support-grid img {
	width: 100%;
	height: auto;
	display: block;
	}


.support-banner {
	margin: 15px 0;
	}


.support-banner-no-margin {
	margin: 0;
	}


.support-banner img {
	width: 100%;
	height: auto;
	display: block;
	}



/* =============================================
   PAGE: SHELVING FINISHES > OK
=============================================== */
/* ----- Shelving Finishes: Section Row -- */
.sf-section {
	display: flex;
	align-items: stretch;
	}


.sf-section:not(:last-child) {
	margin-bottom: 15px;
	}


.sf-section.sf-millenia {
	background-image: linear-gradient(to right, #f2f8ef, #fff);
	}


.sf-section.sf-premium {
	background-image: linear-gradient(to right, #f4ecf1, #fff);
	}


.sf-section.sf-classics-plus {
	background-image: linear-gradient(to right, #fbf8ec, #fff);
	}


.sf-section.sf-classics {
	background-image: linear-gradient(to right, #f5f8f9, #fff);
	}


/* ----- Shelving Finishes: Color Classes -- */
.sf-green {
	border-left: 15px solid #62b949;
	color: #62b949;
	}


.sf-purple {
	border-left: 15px solid #983872;
	color: #983872;
	}


.sf-gold {
	border-left: 15px solid #d7b300;
	color: #d7b300;
	}


.sf-blue {
	border-left: 15px solid #92b6c7;
	color: #92b6c7;
	}


.sf-orange {
	border-left: 15px solid #f39133;
	color: #f39133;
	}


.sf-gray {
	border-left: 15px solid #959596;
	color: #959596;
	}


.sf-green .sf-title,
.sf-arrow-green {
	color: #62b949;
	}


.sf-purple .sf-title,
.sf-arrow-purple {
	color: #983872;
	}


.sf-gold .sf-title,
.sf-arrow-gold {
	color: #d7b300;
	}


.sf-blue .sf-title,
.sf-arrow-blue {
	color: #92b6c7;
	}


.sf-arrow-orange {
	color: #f39133;
	}


.sf-arrow-gray {
	color: #959596;
	}


/* ----- Shelving Finishes: Info Container -- */
.sf-info {
	flex: 1;
	}


/* ----- Shelving Finishes: Title Block -- */
.sf-text {
	padding: 20px;
	float: inline-start;
    display: block;
	}


.sf-title {
	font-size: 48px;
	font-weight: 900;
	margin: 0 0 15px;
	text-transform: uppercase;
	}


.sf-subtitle {
	font-size: 14px;
	color: #666;
	margin: 0;
	padding-left: 3px;
	}


/* ----- Shelving Finishes: Finish Rows -- */
.sf-finish-row {
	display: flex;
	align-items: center;
	margin: 0 0 10px;
	}

	
.sf-finish {
	flex: 0 0 180px;
	font-size: 16px;
	font-weight: 600;
	color: #333;
	white-space: nowrap;
	position: relative;
	left: -1px;
	}

	
.sf-arrow {
	margin-right: 8px;
	font-size: 14px;
	}


.sf-finish-img {
	flex: 1;
	}


.sf-finish-img img {
	width: 100%;
	height: auto;
	display: block;
	}


.sf-finishes-container {
	float: inline-end;
	}

	
@media (min-width: 992px) {

	.sf-finishes-container {
		width: 60%	
		}

		
	.sf-text {
		width: 40%;
        display: inline-table;
        position: relative;
        top: 50%;
        transform: translateY(-50%);
		}
}



@media (max-width: 991px) {

	.sf-finishes-container {
		width: 100%;
		float: unset;
        display: unset;
        position: unset;
        top: unset;
        transform: unset;
		}

		
	.sf-text {
		width: 100%;
		float: unset;
		}
}



@media (max-width: 768px) {

	.sf-text {
		padding: 20px 15px 10px;
		}


	.sf-title {
		font-size: 26px;
		}


	.sf-subtitle {
		margin-bottom: 10px;
		}


	.sf-finish-row {
		flex-direction: column;
		align-items: flex-end;
		gap: 8px;
		padding: 8px 15px;
		}


	.sf-finish {
		flex: none;
		}
}




/* =============================================
   PAGE: SHELVING WARRANTY
   ============================================= */
/* ----- Warranty: Sticky Nav Layout -- */
.wa-sticky-layout {
	display: flex;
	gap: 15px;
	max-width: 100%;
	position: relative;
	align-items: flex-start;
	}


.wa-sticky-nav {
	flex: 0 0 30%;
	max-width: 30%;
	position: sticky;
	top: 200px;
	max-height: calc(100vh - 100px);
	overflow-y: auto;
	}


.wa-sticky-nav ul {
	list-style: none;
	padding: 0;
	margin: 0;
	}


.wa-sticky-nav li {
	margin-bottom: 5px;
	width: -webkit-fill-available;
	}


.wa-sticky-content {
	flex: 1;
	min-width: 0;
	}


.wa-content-section {
	margin-bottom: 40px;
	padding-bottom: 40px;
	border-bottom: 8px solid #ddd;
	}

.wa-content-section:last-child {
	margin-bottom: 0px;
	padding-bottom: 0px;
	}

.wa-content-section:last-child {
	border-bottom: none;
	}


/* ----- Warranty: Nav Links -- */
.wa-nav-link {
	display: block;
	padding: 15px;
	color: #222 !important;
	text-decoration: none;
	font-size: 14px;
	font-weight: 600;
	transition: all 0.2s ease;
	background: #efefef;
	border-left: 7px solid #ddd;
	}


.wa-nav-link:hover {
	background: #f5f5f5;
	color: #222 !important;
	text-decoration: none;
	}


.wa-nav-link.active {
	border-left: 7px solid #cc0000;
	color: #fff !important;
	background: #000;
	}


/* ----- Warranty: Dark Header Bar -- */
.wa-header {
	background: #000;
	padding: 18px 25px;
	margin-bottom: 15px;
	}


.wa-header h2 {
	color: #fff;
	font-size: 22px;
	font-weight: 900;
	text-align: center;
	margin: 0;
	text-transform: uppercase;
	}


/* ----- Warranty: Banner -- */
.wa-banner {
	margin: 0px;
	}


/* ----- Warranty: Section Images -- */
.wa-sections {
	display: flex;
	gap: 15px;
	margin-bottom: 25px;
	}


.wa-sections .limited-1 {
	border-left: 12px solid #949494;
	}

	
.wa-sections .limited-15 {
	border-left: 12px solid #DFC233;
	}

	
.wa-sections .limited-lifetime {
	border-left: 12px solid #80C66B;
	}

	
.wa-section-img {
	flex: 1;
	margin-bottom: 15px;
	}


.wa-section-img img {
	width: 100%;
	height: auto;
	display: block;
	}


/* ----- Warranty: Comparison Table -- */
.wa-table-wrap {
	overflow-x: auto;
	-webkit-overflow-scrolling: touch;
	}


.wa-table {
	width: 100%;
	border-collapse: collapse;
	min-width: 700px;
	font-size: 13px;
	}


.wa-table thead th {
	padding: 10px 12px;
	text-align: center;
	font-size: 14px;
	font-weight: 800;
	text-transform: uppercase;
	color: #fff;
	border: 1px solid #fff;
	min-width: 150px;
	}


.wa-th-app { background: #333; text-align: left !important; }

.wa-th-chrome { background: #888; }

.wa-th-epoxy { background: #d7b300; }

.wa-th-polymer { background: #d7b300; }

.wa-th-steel { background: #63b949; }

.wa-th-millenia { background: #63b949; }


.wa-table tbody td {
	padding: 8px 12px;
	text-align: center;
	border: 1px solid #ddd;
	font-size: 13px;
	color: #333;
	}


.wa-table tbody td:first-child {
	text-align: left;
	background: #f5f5f5;
	font-weight: 700;
	}


.wa-table tbody tr:nth-child(even) {
	background: #fafafa;
	}


.wa-row td {
	background: #f0f0f0 !important;
	font-weight: 900;
	}


.wa-disclaimer {
	font-size: 12px;
	color: #777;
	margin: 8px 0 0;
	font-style: italic;
	}


@media (max-width: 768px) {

	.wa-sticky-layout {
		flex-direction: column;
		align-items: unset !important;
		}


	.wa-sticky-nav {
		flex: none;
		max-width: 100%;
		position: sticky;
		top: 60px;
		z-index: 10;
		background: #fff;
		border-bottom: 1px solid #ddd;
		padding-bottom: 10px;
		}


	.wa-sticky-nav ul {
		display: flex;
		overflow-x: auto;
		gap: 5px;
		}


	.wa-nav-link {
		white-space: nowrap;
		border-left: none;
		border-bottom: 7px solid #ddd;
		padding: 15px 15px 15px 8px;
		font-size: 13px;
		text-align: center;
		}


	.wa-nav-link.active {
		padding: 15px 15px 15px 8px;
		border-left: none;
		border-bottom-color: #cc0000;
		}
}



@media (max-width: 600px) {

	.wa-sections {
		flex-direction: column;
		}


	.wa-header h2 {
		font-size: 18px;
		}


	.wa-sections .limited-1,
	.wa-sections .limited-15,
	.wa-sections .limited-lifetime {
		border-left: unset;
		}

	
	.wa-sections .limited-1 {
		border-top: 12px solid #949494;
		}

		
	.wa-sections .limited-15 {
		border-top: 12px solid #DFC233;
		}

		
	.wa-sections .limited-lifetime {
		border-top: 12px solid #80C66B;
		}
}



/* ----- Warranty: Content Blocks -- */
.wa-block {
	margin-bottom: 20px;
	}


.wa-block h3 {
	font-size: 15px;
	font-weight: 900;
	margin: 0 0 5px;
	text-transform: uppercase;
	color: #222;
	line-height: normal;
	}


.wa-block p {
	font-size: 14px;
	color: #333;
	margin: 0 0 8px;
	line-height: 1.6;
	}


.wa-block ul {
	margin: 5px 0 0 80px;
	padding: 0;
	}


.wa-block li {
	font-size: 14px;
	color: #333;
	margin-bottom: 4px;
	line-height: 1.5;
	}


/* ----- Warranty: Claims Box -- */
.wa-claims {
	background: #f5f5f5;
	border-left: 4px solid #cc0000;
	padding: 15px;
	margin-bottom: 20px;
	}

	
.wa-claims-black {
	background: #000;
	color: #fff;
	border-left: 4px solid #cc0000;
	padding: 15px;
	margin-bottom: 0px;
	}

	
.wa-claims p { font-size: 14px; margin: 0 0 8px; color: #333; }

.wa-claims h4 { font-size: 14px; font-weight: 900; margin: 12px 0 5px; }

.wa-claims ul { margin: 5px 0 0 20px; padding: 0; }

.wa-claims li { font-size: 14px; color: #333; margin-bottom: 4px; }

.wa-claims a { color: #cc0000; text-decoration: none; }

.wa-claims-black a { color: #fff; text-decoration: none; }

.wa-claims a:hover { text-decoration: underline; }


/* ----- Warranty: Legal -- */
.wa-legal {
	margin: 20px 0 0;
	padding: 15px 0;
	border-top: 1px solid #ddd;
	}


.wa-legal p {
	font-size: 12px;
	color: #777;
	line-height: 1.6;
	margin: 0;
	}


/* ----- Warranty: Crusader Logos Grid -- */	
.wa-logo-crusader {
	text-align: center;
	margin-bottom: 15px;
	}


.wa-crusader-logos {
	display: grid;
	grid-template-columns: repeat(5, 1fr);
	gap: 15px;
	align-items: center;
	justify-items: center;
	}


.wa-logo img {
	max-width: 100%;
	height: auto;
	display: block;
	}


@media (max-width: 768px) {

	.wa-crusader-logos {
		grid-template-columns: repeat(3, 1fr);
		gap: 25px;
		}
}



@media (max-width: 600px) {

	.wa-crusader-logos {
		grid-template-columns: repeat(2, 1fr);
		max-width: -webkit-fill-available;
		gap: 25px;
		}

		
	.wa-logo-crusader {
		margin-bottom: 35px;
		}

		
	.wa-logo:last-child {
		grid-column: span 2;
		max-width: 258px;
		}
}


	
@media (max-width: 500px) {

	.wa-logo:last-child {
		max-width: 215px;
		}
}


	
@media (max-width: 400px) {

	.wa-crusader-logos {
		grid-template-columns: 1fr;
		max-width: -webkit-fill-available;
		gap: 25px;
		}

			
	.wa-logo:last-child {
		grid-column: unset;
		max-width: unset;
		}
}




/* =============================================
   PAGE: LAYOUT & DESIGN > OK
=============================================== */
/* ----- Layout: Hero 3D Image -- */
.layout-hero {
	margin-bottom: 25px;
	}


.layout-hero img {
	width: 100%;
	height: auto;
	display: block;
	}


/* ----- Layout: Product Mix Row -- */
.layout-product-mix {
	margin-bottom: 25px;
	}


.layout-product-mix>p {
	font-size: 14px;
	color: #333;
	margin: 0 0 15px;
	}


.layout-mix-row {
	display: flex;
	gap: 20px;
	align-items: flex-start;
	}


.layout-mix-image img {
	width: 100%;
	height: auto;
	display: block;
	}


.layout-mix-list {
	flex: 0 0 auto;
	}


.layout-mix-list ul {
	list-style: none;
	padding: 0;
	margin: 0;
	}


.layout-mix-list li {
	font-size: 14px;
	font-weight: 700;
	color: #222;
	padding: 2px 0;
	padding-left: 15px;
	position: relative;
	}


.layout-mix-list li::before {
	content: "\25CF";
	color: #cc0000;
	position: absolute;
	left: 0;
	font-size: 10px;
	top: 4px;
	}


.layout-mix-misc {
	flex: 1;
	margin-bottom: 25px;
	}


.layout-mix-misc img {
	width: 100%;
	height: auto;
	display: block;
	}


/* ----- Layout: Red CTA Banner -- */
.layout-cta-banner {
	background: #9e9e9e;
	color: #fff;
	text-align: center;
	padding: 15px 25px;
	margin-bottom: 10px;
	}


.layout-cta-banner strong {
	display: block;
	font-size: 14px;
	text-transform: uppercase;
	}


.layout-cta-banner span {
	display: block;
	font-size: 13px;
	margin-top: 5px;
	font-style: italic;
	}


/* ----- Layout: 4-Column Services -- */
.layout-services {
	display: flex;
	align-items: center;
	justify-content: center;
	gap: 0;
	margin: 0 0 40px;
	text-align: center;
	}


.layout-service-item {
	flex: 1;
	padding: 10px 15px;
	border-right: 1px solid #000;
	min-height: 100px;
	align-items: center;
	display: flex;
	text-align: center;
	}


.layout-service-item.last {
	border-right: none;
	}


.layout-service-item strong {
	font-size: 14px;
	color: #cc0000;
	text-transform: uppercase;
	margin: 0 auto;
	}


/* ----- Layout: 2D Section -- */
.layout-2d-section {
	margin-bottom: 30px;
	}


.layout-2d-header h2 {
	font-size: 28px;
	font-weight: 900;
	color: #222;
	margin: 0 0 10px;
	line-height: 28px;
	}


.layout-2d-header p {
	font-size: 19px;
	color: #000;
	margin: 0 0 20px;
	}


.layout-2d-image img {
	width: 100%;
	height: auto;
	display: block;
	}


/* ----- Layout: Info Box -- */
.layout-info-box {
	background: #f7e539;
	padding: 20px 25px;
	margin-bottom: 30px;
	border-top: 10px solid #000;
	}


.layout-info-box p {
	font-size: 14px;
	color: #000;
	margin: 0 0 10px;
	}


.layout-info-box ul {
	list-style: disc;
	padding-left: 20px;
	margin: 0;
	}


.layout-info-box li {
	font-size: 14px;
	color: #444;
	line-height: 1.6;
	margin-bottom: 5px;
	}


/* ----- Layout: Bottom Dark Banner -- */
.layout-bottom-banner {
	background: #222;
	display: flex;
	align-items: center;
	padding: 0px 30px 25px 30px;
	gap: 25px;
	border-radius: 6px;
	}


.layout-bottom-left {
	flex: 0 0 auto;
	}


.layout-bottom-left img {
	height: 80px;
	width: auto;
	}


.layout-bottom-content {
	flex: 1;
	padding: 20px 25px;
	border-radius: 4px;
	float: inline-start;
	}


.layout-bottom-content h3 {
	font-weight: 900;
	color: #fff;
	margin: 0 0 3px;
	text-transform: uppercase;
	font-size: 20px;
	}


.layout-bottom-content p {
	font-size: 16px;
	color: #fff;
	margin: 0 0 8px;
	}


.layout-bottom-content span {
	font-size: 13px;
	color: #ffcc00;
	}


.layout-bottom-right {
	background: #cc0000;
	width: -webkit-fill-available;
	border-left: 5px solid #e7bf38;
	}


.layout-bottom-right img {
	max-height: 150px;
	}


.layout-bottom-item {
	float: inline-end;
	margin-right: 40px;
	}


@media (max-width: 500px) {

	.layout-bottom-content {
		width: -webkit-fill-available !important;
		}


	.layout-bottom-item {
		width: -webkit-fill-available !important;
		}


	.layout-bottom-right img {
		max-height: unset !important;
		width: -webkit-fill-available !important;
		}
}



@media (max-width: 768px) {

	.layout-bottom-content {
		padding: 20px 15px;
		}


	.layout-bottom-banner {
		padding: 25px 30px;
		}


	.layout-mix-row {
		flex-direction: column;
		}


	.layout-mix-image {
		width: -webkit-fill-available;
		}


	.layout-mix-misc {
		flex: none;
		}


	.layout-services {
		flex-wrap: wrap;
		gap: 10px;
		}


	.layout-service-item {
		border-right: 4px solid #999;
		}


	.layout-service-item.last {
		border-right: 4px solid #999;
		}


	.layout-service-divider.last {
		display: block;
		}


	.layout-service-item {
		flex: 0 0 100%;
		background: #efefef;
		}


	.layout-2d-header h2 {
		font-size: 22px;
		}


	.layout-bottom-banner {
		flex-direction: column;
		text-align: center;
		}
}



@media (max-width: 820px) {

	.layout-bottom-item {
		margin-right: unset;
		}
}



@media (max-width: 992px) {

	.layout-bottom-item {
		width: unset;
		float: inline-end;
		}


	.layout-bottom-right img {
		max-height: 150px;
		width: unset;
		}
}




/* =============================================
   PAGE: ABOUT US > OK
=============================================== */
/* ----- About: Hero Building Image -- */
.about-hero {
	position: relative;
	margin-bottom: 25px;
	}


.about-hero img {
	width: 100%;
	height: auto;
	display: block;
	}


.about-hero-label {
	position: absolute;
	bottom: 0;
	left: 0;
	background: rgba(0, 0, 0, 0.7);
	color: #fff;
	padding: 10px 20px;
	font-size: 14px;
	background-color: #C00;
	}


.about-hero-label strong {
	font-weight: 700;
	}


/* ----- About: Content Paragraphs -- */
.about-content {
	margin-bottom: 15px;
	line-height: 1.7;
	font-size: 14px;
	color: #333;
	}


.about-content p {
	margin: 0 0 15px;
	}


.about-content strong {
	color: #000;
	}


.about-tagline {
	color: #cc0000;
	font-weight: 700;
	font-size: 15px;
	margin-top: 20px !important;
	}


/* ----- About: Facts + Mission Layout -- */
.about-facts-mission {
	display: flex;
	gap: 30px;
	margin-bottom: 15px;
	align-items: flex-start;
	}


.about-fact-item {
	display: flex;
	gap: 12px;
	margin-bottom: 18px;
	font-size: 14px;
	font-weight: 700;
	color: #222;
	line-height: 1.6;
	}


.about-fact-bullet {
	color: #cc0000;
	font-size: 12px;
	flex-shrink: 0;
	margin-top: 3px;
	}


.about-mission img {
	min-width: 290px;
	height: auto;
	display: block;
	margin: 0 auto;
	}


/* ----- About: Selection Tagline -- */
.about-selection-tagline {
	text-align: center;
	font-size: 28px;
	font-weight: 700;
	color: #cc0000;
	margin: 10px 0 25px;
	line-height: 1.4;
	}


/* ----- About: Why Quantum Banner -- */
.about-why-banner {
	margin-bottom: 0;
	}


.about-why-banner img {
	width: 100%;
	height: auto;
	display: block;
	}


/* ----- About: Supplying Bar -- */
.about-supplying-bar {
	background: #808080;
	color: #fff;
	text-align: center;
	padding: 12px 20px;
	font-size: 18px;
	font-weight: 700;
	text-transform: uppercase;
	margin: 7px 0;
	}


/* ----- About: Factory Gallery (Hero + Thumbs) -- */
.about-gallery {
	display: flex;
	gap: 0;
	}


.about-gallery-preview {
	flex: 1;
	overflow: hidden;
	background: #000;
	}


.about-gallery-preview img {
	width: 100%;
	height: 100%;
	object-fit: cover;
	display: block;
	transition: opacity 0.3s ease;
	}


.about-gallery-thumbs {
	flex: 0 0 40%;
	margin: 0 0 0 7px;
	}


.about-thumb {
	overflow: hidden;
	cursor: pointer;
	position: relative;
	}


.about-thumb img {
	width: 100%;
	height: 100%;
	object-fit: cover;
	display: block;
	transition:
		transform 0.3s ease,
		opacity 0.3s ease;
	}


.about-thumb:hover img {
	transform: scale(1.05);
	}


.about-thumb:not(.active) img {
	opacity: 0.6;
	}


.about-thumb.active img {
	opacity: 1;
	}


.about-thumb-empty {
	background: #222;
	cursor: default;
	}


@media (max-width: 768px) {

	.about-facts-mission {
		flex-direction: column;
		gap: unset !important;
		}


	.about-mission {
		width: 100%;
		}


	.about-selection-tagline {
		font-size: 22px;
		}


	.about-supplying-bar {
		font-size: 14px;
		}


	.about-gallery {
		flex-direction: column;
		}


	.about-gallery-preview {
		height: 280px;
		}


	.about-gallery-thumbs {
		flex: none;
		margin: 7px 0 0;
		}
}




/* =============================================
   PAGE: CONTACT US > OK
=============================================== */
/* ----- Contact: Location Card -- */
.contact-location-card {
	border: 1px solid #ddd;
	background: #fff;
	height: 100%;
	}


.contact-location-image {
	position: relative;
	overflow: hidden;
	}


.contact-location-image img {
	width: 100%;
	height: auto;
	display: block;
	}


.contact-location-label {
	bottom: 0;
	left: 0;
	right: 0;
	padding: 10px 15px;
	color: #fff;
	text-align: center;
	line-height: 1.3;
	}


.contact-location-label strong {
	display: block;
	font-size: 18px;
	font-weight: 900;
	text-transform: uppercase;
	}


.contact-location-label span {
	display: block;
	font-size: 12px;
	font-weight: 400;
	opacity: 0.9;
	}


.contact-location-details {
	padding: 32px;
	}


.contact-location-details.main {
	background: #fedcd2 !important;
	}


.contact-location-details.other {
	background: #e7e7e7;
	}


.contact-location-details p {
	font-size: 13px;
	color: #333;
	line-height: 1.6;
	margin: 0 0 10px;
	}


.contact-location-details p:last-child {
	margin-bottom: 0;
	}


.contact-location-details strong {
	color: #000;
	}


.contact-location-email {
	margin-top: 10px !important;
	padding-top: 10px;
	border-top: 1px solid #c7c7c7;
	}


.contact-location-email a {
	color: #333;
	text-decoration: none;
	}


.contact-location-email a:hover {
	color: #cc0000;
	}


/* ----- Contact: Left Info Column -- */
.contact-info-col {
	padding-right: 40px;
	}


.contact-info-title {
	font-size: 22px;
	font-weight: 900;
	color: #222;
	margin: 0 0 10px;
	}


.contact-info-text {
	font-size: 14px;
	color: #555;
	line-height: 1.6;
	margin: 0 0 20px;
	}


.contact-info-hours-label {
	font-size: 14px;
	color: #222;
	margin: 0 0 5px;
	}


.contact-info-hours {
	font-size: 13px;
	color: #666;
	margin: 0;
	}


/* ----- Contact: Form Layout -- */
.contact-index-index .form.contact {
	margin: 0;
	}


.contact-index-index .form.contact .fieldset {
	margin: 0;
	padding: 0;
	border: none;
	}


.contact-index-index .form.contact .legend {
	display: none;
	}


/* ----- Contact: Field Rows (Two-Up) -- */
.contact-field-row {
	display: flex;
	gap: 20px;
	margin-bottom: 0;
	}


.contact-field-row .field {
	flex: 1;
	}


/* ----- Contact: Field Styling -- */
.contact-index-index .form.contact .field {
	margin-bottom: 15px;
	}


.contact-index-index .form.contact .field .label {
	font-size: 14px;
	font-weight: 700;
	color: #333;
	margin-bottom: 5px;
	}


.contact-index-index .form.contact .field .control input,
.contact-index-index .form.contact .field .control textarea {
	width: 100%;
	padding: 10px 12px;
	border: 1px solid #ddd;
	border-radius: 3px;
	font-size: 14px;
	background: #fff;
	transition: border-color 0.3s ease;
	}


.contact-index-index .form.contact .field .control input:focus,
.contact-index-index .form.contact .field .control textarea:focus {
	outline: none;
	border-color: #cc0000;
	}


.contact-index-index .form.contact .field .control textarea {
	min-height: 120px;
	resize: vertical;
	}


/* ----- Contact: CAPTCHA Section -- */
.contact-index-index .captcha-container {
	margin: 15px 0;
	}


.contact-index-index .captcha-container .captcha-image {
	margin-bottom: 10px;
	}


.contact-index-index .captcha-container .captcha-image img {
	border: 1px solid #ddd;
	border-radius: 3px;
	}


.contact-index-index .captcha-container .action.reload {
	margin-left: 10px;
	font-size: 13px;
	color: #cc0000;
	cursor: pointer;
	}


.contact-index-index .captcha-container .action.reload:hover {
	color: #8d1000;
	}


.contact-index-index .captcha-container input.captcha {
	max-width: 300px;
	padding: 10px 12px;
	border: 1px solid #ddd;
	border-radius: 3px;
	font-size: 14px;
	}


/* ----- Contact: Submit -- */
.contact-index-index .form.contact .actions-toolbar {
	width: min-content;
	}


@media (max-width: 768px) {

	.contact-form-section>.row {
		flex-direction: column;
		}


	.contact-info-col {
		padding-right: 15px;
		margin-bottom: 25px;
		}


	.contact-field-row {
		flex-direction: column;
		gap: 0;
		}
}




/* =============================================
   PAGE: WHAT'S NEW > OK
=============================================== */
/* ----- What's New: Shows Subtitle -- */
.qc-subtitle {
	color: #aaa;
	font-size: 14px;
	font-style: italic;
	margin: -5px 0 15px;
	}


.wn-card-title {
	font-size: 14px;
	font-weight: 700;
	color: #222;
	margin: 0 0 8px 0;
	text-transform: uppercase;
	}


/* ----- What's New: Grid (Sort 3+) -- */
.wn-card {
	display: flex;
	flex-direction: column;
	padding: 10px 10px 49px 10px;
	border: 1px solid #ddd;
	border-radius: 6px;
	position: relative;
	}


/* ----- What's New: Year Heading -- */
.wn-year {
	color: #fff;
	font-size: 20px;
	font-weight: 900;
	margin: 0 0 15px;
	padding-bottom: 10px;
	border-bottom: 2px solid #cc0000;
	}


/* ----- What's New: Show Cards (Horizontal Layout) -- */
.wn-show {
	display: flex !important;
	flex-direction: row !important;
	gap: 15px;
	align-items: center;
	background: #000;
	padding: 25px;
	border-radius: 6px;
	}


.wn-card-img {
	width: 100%;
	margin-bottom: 20px;
	}


.wn-card img {
	width: 100%;
	height: auto;
	display: block;
	border-top: 1px solid #efefef;
	padding-top: 10px;
	margin-top: 10px;
	}


.wn-show-info {
	flex: 1;
	}


.wn-show-booth {
	font-size: 16px;
	font-weight: 700;
	color: #fff;
	margin: 0 0 6px;
	}


.wn-booth {
	color: #cc0000;
	font-weight: 900;
	}


.dates {
	font-size: 13px;
	color: #ccc;
	margin: 0 0 3px;
	}


.location {
	font-size: 13px;
	color: #999;
	margin: 0 0 10px;
	}


.wn-show .card-btn-default.btn-yellow {
	width: auto !important;
	min-width: 100px;
	}

	
.wn-show-img {
     flex: 0 0 130px;
     max-width: 130px;
     overflow: hidden;
	 border-radius: 4px;
	 }

	 
.wn-show-img img {
     width: 100%;
     height: auto;
     display: block;
	 }

	 
.wn-card-act {
	display: flex;
	gap: 8px;
	background: #efefef;
	padding: 12px;
	position: absolute;
	bottom: 0px;
	margin-right: 0px;
	margin-left: -10px;
	width: -webkit-fill-available;
	}


/* ----- What's New: NEW! Tag -- */
.wn-new {
	color: #cc0000;
	font-weight: 900;
	font-size: 16px;
	margin-right: 3px;
	}


.wn-tag {
	font-size: 12px;
	color: #b1b1b1;
	margin-bottom: 8px;
	display: block;
	background: #ededed;
	width: max-content;
	padding: 0 18px;
	border-radius: 4px;
	font-weight: 600;
	}


/* ----- What's New: Responsive -- */
.wn-tag.purple {
	background: #7b2d8e;
	color: #fff;
	}


.wn-tag.blue {
	background: #2563eb;
	color: #fff;
	}


.wn-tag.aqua {
	background: #0891b2;
	color: #fff;
	}


.wn-card-desc {
	font-size: 13px;
	color: #666;
	margin: 0 0 8px;
	line-height: 1.4;
	}


@media (max-width: 768px) {

	.wn-show {
		flex-direction: column !important;
		text-align: center;
		}


	.wn-show-img {
		flex: none;
		max-width: 100px;
		}

		
	.wn-card-title {
		font-size: 20px;
		}
}




/* =============================================
   PAGE: TERMS > OK
=============================================== */
.terms-container {
	display: flex;
	gap: 30px;
	align-items: flex-start;
	}


.terms-content {
	flex: 1;
	}


.terms-notice {
	font-weight: 700;
	margin: 0 0 25px;
	font-size: 14px;
	color: #d53600 !important;
	}


.terms-heading {
	font-size: 15px;
	font-weight: 900;
	color: #222;
	margin: 25px 0 8px;
	text-transform: uppercase;
	}


.terms-content p {
	font-size: 14px;
	color: #444;
	line-height: 2.4;
	margin: 0 0 5px;
	}


.terms-clipboard {
	flex: 0 0 220px;
	max-width: 220px;
	position: sticky;
	top: 220px;
	}


.terms-clipboard img {
	width: 100%;
	height: auto;
	display: block;
	}


@media (max-width: 768px) {

	.terms-clipboard {
		display: none;
		}
}




/* =============================================
   CATEGORY & SEARCH: SEARCH RESULTS > OK
=============================================== */
.qi-search-result-count {
	font-size: 18px;
	color: #9f9f9f;
	font-weight: bold;
	text-transform: uppercase;
	padding: 18px;
	border-radius: 4px 4px 0 0;
	background: linear-gradient(to right, #efefef, transparent);
	}



/* =============================================
   CATEGORY & SEARCH: DISPLAY MODES > OK
=============================================== */
.modes-mode:not(.active) {
	color: #bdbdbd !important;
	}


.modes-mode.active {
	color: #C00 !important;
	}


.modes-mode:not(.active):hover,
.modes-mode.active:hover {
	color: #000 !important;
	}


@media (min-width: 768px) {

	.modes-mode>span {
		position: unset !important;
		width: unset;
		overflow: unset;
		display: inline-grid;
		font-weight: 600;
		text-transform: uppercase;
		font-size: 14px;
		}


	.modes-mode:before {
		float: inline-start;
		margin: 0 8px 0 0;
		}


	.modes-mode {
		width: unset;
		}


	.modes-mode.mode-grid {
		margin-right: 10px;
		}
}




/* =============================================
   CATEGORY & SEARCH: QSS GRID > OK
=============================================== */
.filter-options-content {
	padding: 15px 0;
	margin: 15px 0;
	border-top: 1px solid #ddd;
	}


.products.wrapper.grid.products-grid {
	margin: 10px 0;
	}


.block related .products.wrapper.grid.products-grid,
.page-layout-quantum-category-layout .products.wrapper.grid.products-grid {
	margin: 0px;
	}


.page-layout-quantum-category-layout .filterproducts.products {
	margin-right: unset !important;
	margin-left: unset !important;
	}


.page-layout-quantum-product-layout .filterproducts.products,
.catalogsearch-result-index .filterproducts.products {
	margin-right: unset !important;
	margin-left: unset !important;
	row-gap: 30px;
	}


.product-item-photo {
	padding: 0;
	border: none;
	border-radius: 0;
	background: #ffffff;
	margin-bottom: 10px;
	}


.page-layout-quantum-category-layout .product-item-photo,
.page-layout-quantum-product-layout .product-item-photo,
.catalogsearch-result-index .product-item-photo {
	border: none;
	border-radius: 0;
	display: flex;
	align-items: center;
	justify-content: center;
	position: relative;
	}


.page-layout-quantum-category-layout .product-item-photo {
	min-height: 220px;
	}


.page-layout-quantum-product-layout .product-item-photo,
.catalogsearch-result-index .product-item-photo {
	min-height: 250px;
	}


@media (min-width: 576px) and (max-width: 991px) {

	.products-grid.columns3 .product-item,
	.products-grid.columns4 .product-item,
	.products-grid.columns5 .product-item {
		width: unset !important;
		}
}




/* =============================================
   CATEGORY & SEARCH: QSS LIST GLOBAL > OK
=============================================== */
/* Toolbar Remodel */
.toolbar {
	margin-right: unset !important;
	margin-bottom: 0px !important;
	padding: 8px 15px !important;
	border-radius: 4px;
	}


.toolbar>* {
	margin-left: 0px !important;
	margin-bottom: 0px !important;
	}


.toolbar-products {
	background: #EFEFEF !important;
	}


.modes-mode {
	margin-right: 0px;
	margin-left: 10px !important;
	}


.modes {
	margin-right: 0px;
	}


.columns:after {
	content: unset !important;
	}


.products {
	margin-right: unset !important;
	margin-left: unset !important;
	}



/* =============================================
   CATEGORY & SEARCH: LIST MODE > OK
=============================================== */
.list-mode-active .page-main .columns {
	padding: 20px;
	overflow: clip;
	display: grid;
	}


/* Sidebar Toggle Button */
#qss-sidebar-toggle {
	display: none;
	position: absolute;
	top: 8px;
	right: -16px;
	z-index: 100;
	background: #e8150f;
	color: #fff;
	border: none;
	width: 32px;
	height: 32px;
	border-radius: 50%;
	cursor: pointer;
	font-size: 18px;
	line-height: 30px;
	text-align: center;
	box-shadow: 0 2px 6px rgba(0, 0, 0, 0.25);
	transition: background 0.2s;
	padding: 0;
	}


#qss-sidebar-toggle:hover {
	background: #c0100b;
	}


.catalog-category-view.page-with-filter .sidebar-main,
.catalogsearch-result-index.page-with-filter .sidebar-main {
	transition: width 0.3s ease, min-width 0.3s ease;
	}


.catalog-category-view.page-with-filter .sidebar-main.qss-collapsed,
.catalogsearch-result-index.page-with-filter .sidebar-main.qss-collapsed {
	width: 0 !important;
	min-width: 0 !important;
	padding: 0;
	margin: 0;
	}


.catalog-category-view.page-with-filter .sidebar-main.qss-collapsed #qss-sidebar-toggle,
.catalogsearch-result-index.page-with-filter .sidebar-main.qss-collapsed #qss-sidebar-toggle {
	right: -32px;
	}


/* Table Scroll */
.qss-list-table-wrapper {
	width: 100%;
	margin-right: unset !important;
	margin-left: unset !important;
	overflow: visible;
	}


.qss-list-table-scroll {
	-webkit-overflow-scrolling: touch;
	}


/* Table */
.qss-list-table {
	width: 100%;
	border-collapse: separate;
	font-size: 13px;
	table-layout: auto;
	border-bottom: 1px solid #ddd;
	}


/* Header */
.qss-list-table thead tr {
	background: #222529;
	color: #fff;
	}


.qss-list-table th {
	padding: 10px 14px;
	white-space: nowrap;
	text-align: left;
	font-weight: 600;
	font-size: 11px;
	text-transform: uppercase;
	letter-spacing: 0.04em;
	border-right: 1px solid #3a3e43;
	vertical-align: middle;
	position: relative;
	}


.qss-list-table th:last-child {
	border-right: none;
	}


.qss-list-table th.sortable {
	cursor: pointer;
	user-select: none;
	}


.qss-list-table th.sortable:hover {
	background: #e8150f;
	}


.sort-icon {
	opacity: 1 !important;
	font-size: 15px !important;
	margin-left: 5px !important;
	color: rgba(255, 255, 255, 0.4) !important;
	padding-right: 8px;
	}


.qss-list-table th.sort-asc .sort-icon,
.qss-list-table th.sort-desc .sort-icon {
	color: #fff !important;
	}


.qss-list-table th.sort-asc .sort-icon::after {
	content: ' \2191';
	float: inline-end;
	position: absolute;
	right: 8px;
	line-height: 22px;
	}


.qss-list-table th.sort-desc .sort-icon::after {
	content: ' \2193';
	float: inline-end;
	position: absolute;
	right: 8px;
	line-height: 22px;
	}


/* Sticky Cols — Image, Name, SKU */
.qss-list-table td.col-image {
	padding: 8px;
	}


.qss-list-table th.col-image,
.qss-list-table td.col-image {
	left: 0;
	z-index: 2;
	min-width: 80px;
	max-width: 80px;
	position: sticky;
	}


.qss-list-table th.col-name,
.qss-list-table td.col-name {
	display: none;
	}


.qss-list-table th.col-sku,
.qss-list-table td.col-sku {
	position: sticky;
	left: 80px;
	z-index: 2;
	min-width: 120px;
	border-right: none !important;
	box-shadow: 4px 0 0 0 #222529 !important;
	}


.qss-list-table th.col-sku a,
.qss-list-table td.col-sku a {
	color: #c00;
	font-weight: bold;
	text-transform: uppercase;
	font-size: 14px;
	}


.qss-list-table th.col-sku a:hover,
.qss-list-table td.col-sku a:hover {
	text-decoration: underline;
	}


/* Sticky Header Backgrounds */
.qss-list-table thead th.col-image,
.qss-list-table thead th.col-sku {
	background: #222529;
	z-index: 3;
	}


/* Row Alternating + Hover */
.qss-list-table tbody tr {
	border-bottom: 1px solid #e4e4e4;
	transition: background 0.12s;
	}


.qss-list-table tbody tr:nth-child(odd) {
	background: #fbfbfb;
	}


.qss-list-table tbody tr:nth-child(even) {
	background: #f4f6f8;
	}


.qss-list-table tbody tr:hover {
	background: #e8f0fb !important;
	}


/* Cells */
.qss-list-table td {
	padding: 8px 14px;
	white-space: nowrap;
	vertical-align: middle;
	border-right: 1px solid #e4e4e4;
	color: #444;
	background: inherit;
	}


.qss-list-table td:last-child {
	border-right: none;
	}


/* Sticky Cell Backgrounds Inherit From Row */
.qss-list-table tbody tr:nth-child(odd) td.col-image,
.qss-list-table tbody tr:nth-child(odd) td.col-sku {
	background: #fbfbfb;
	}


.qss-list-table tbody tr:nth-child(even) td.col-image,
.qss-list-table tbody tr:nth-child(even) td.col-sku {
	background: #f4f6f8;
	}


.qss-list-table tbody tr:hover td.col-image,
.qss-list-table tbody tr:hover td.col-sku {
	background: #e8f0fb !important;
	}


/* SKU Separator */
.qss-list-table td.col-sku {
	color: #888;
	font-size: 12px;
	}


/* Name Cell */
.qss-list-table td.col-name {
	white-space: normal;
	font-weight: 500;
	line-height: 1.3;
	}


.qss-list-table td.col-name a {
	color: #e8150f;
	text-decoration: none;
	}


.qss-list-table td.col-name a:hover {
	text-decoration: underline;
	}


/* Image */
.qss-list-image-wrap {
	position: relative;
	cursor: pointer;
	}


.qss-list-thumb {
	width: 100px;
	object-fit: contain;
	display: block;
	border: 1px solid #eee;
	border-radius: 3px;
	transition: transform 0.15s;
	padding: 5px;
	background: #fff;
	position: sticky;
	}


.qss-list-image-wrap:hover .qss-list-thumb {
	transform: scale(1.1);
	position: relative;
	z-index: 11;
	}


/* Popup */
.qss-image-popup {
	display: none;
	position: absolute;
	top: 0;
	left: 82px;
	z-index: 999;
	background: #fff;
	border: 1px solid #ddd;
	box-shadow: 0 6px 24px rgba(0, 0, 0, 0.18);
	border-radius: 6px;
	padding: 10px;
	width: 240px;
	}


.qss-image-popup.active {
	display: block;
	}


.qss-popup-slide img {
	width: 220px;
	height: 220px;
	object-fit: contain;
	display: block;
	}


.qss-image-popup .owl-nav {
	text-align: center;
	margin-top: 6px;
	}


.qss-image-popup .owl-nav button {
	background: #e8150f !important;
	color: #fff !important;
	border-radius: 50% !important;
	width: 26px !important;
	height: 26px !important;
	font-size: 16px !important;
	line-height: 26px !important;
	margin: 0 3px;
	}


.qss-image-popup .owl-nav button:hover {
	background: #c0100b !important;
	}


/* EM Dash Empty */
.qss-attr-empty {
	color: #ccc;
	}


/* Toggle Button - SVG */
#qss-filter-toggle svg .cls-1 {
	fill: none;
	stroke: #fff;
	stroke-linecap: round;
	stroke-width: 2px;
	}


#qss-filter-toggle svg .cls-2 {
	fill: none;
	stroke: #fff;
	stroke-width: 2px;
	}


#qss-filter-toggle svg .cls-3 {
	fill: #fff;
	}


#qss-filter-toggle svg {
	width: 24px;
	height: 24px;
	}


/* Toggle Button */
#qss-filter-toggle {
	display: block;
	width: 100%;
	background: #222529;
	color: #fff;
	border: none;
	cursor: pointer;
	font-size: 18px;
	text-align: center;
	padding: 11px 0;
	transition: background 0.2s;
	border-radius: 6px;
	margin-bottom: 10px;
	}


#qss-filter-toggle:hover {
	background: #CC0000;
	}


/* Top Scrollbar Mirror */
.qss-list-table-scroll-top {
	overflow-x: scroll;
	overflow-y: hidden;
	height: 18px;
	margin-bottom: 4px;
	cursor: pointer;
	}


.qss-list-table-scroll-top-inner {
	height: 1px;
	}


.page-layout-1column .columns,
.page-layout-quantum-category-layout .columns {
	display: block !important;
	}


@media (min-width: 992px) {

	.sidebar.sidebar-main {
		position: sticky !important;
		}


	.page-layout-2columns-left .sidebar-main,
	.page-layout-2columns-left .column.main {
		width: unset !important;
		}


	.page-layout-2columns-left .sidebar-main {
		padding-right: unset !important;
		margin-right: 15px;
		}


	.page-layout-2columns-left .column.main {
		padding-left: 0px !important;
		}


	.column.main {
		order: 2 !important;
		}


	.sidebar-main {
		padding-right: unset !important;
		order: 1 !important;
		position: sticky;
		top: 200px;
		left: 0px;
		z-index: 10;
		align-self: start;
		overflow: visible !important;
		}


	.list-mode-active .sidebar-main,
	.list-mode-active .column.main {
		width: unset !important;
		}


	.list-mode-active .sidebar-main .sidebar-content {
		display: none;
		}


	/* Expanded state */
	.list-mode-active .columns.qss-sidebar-open .sidebar-main .sidebar-content {
		display: block;
		}


	.list-mode-active .columns.qss-sidebar-closed .sidebar-main .sidebar-content {
		display: none;
		}


	.list-mode-active .columns.qss-sidebar-open #qss-filter-toggle {
		background: #CC0000;
		}
}



@media (max-width: 991px) {

	.list-mode-active .page-main .columns {
		display: block !important;
		}


	#qss-filter-toggle {
		display: none !important;
		}


	.catalog-category-view .mobile-sidebar .sidebar-content,
	.catalogsearch-result-index .mobile-sidebar .sidebar-content,
	.catalog-product-view .mobile-sidebar .sidebar-content,
	.catalogsearch-result-index .mobile-sidebar .sidebar-content {
		overflow-y: auto !important;
		padding: 0px;
		}
}



@media (max-width: 575px) {

	.toolbar .modes {
		display: block !important;
		}


	.toolbar:last-of-type .modes {
		display: none !important;
		}
}




/* =============================================
   PRODUCT VIEW: RELATED PRODUCTS > OK
=============================================== */
.products.list.items .product-item .product-image-photo {
	position: relative;
	padding: 8px;
	}


.block.related .field.choice {
	position: absolute;
	top: 9px;
	left: 9px;
	z-index: 2;
	}


.block.related .field.choice input[type="checkbox"] {
	margin: unset;
	position: unset;
	height: 20px;
	width: 20px;
	}


.block.related .product-item-name,
.block.related .product-item-name a {
	font-size: 14px;
	}


.products.wrapper.grid.products-grid.products-related {
	margin: 10px 0 0;
	}


.block.related .action.select {
	display: contents;
	}



/* =============================================
   PRODUCT VIEW: PRODUCT PAGE > OK
=============================================== */
.qss-grid-sku {
	clear: both;
	display: block;
	font-weight: bold;
	color: #C00;
	font-size: 12px;
	text-transform: uppercase;
	}


.product-info-sku {
	border-bottom: 3px solid #efefef;
	padding-bottom: 15px;
	}


.product-info-content {
	clear: both;
	display: block;
	font-weight: bold;
	color: #000;
	font-size: 14px;
	text-transform: uppercase;
	}


.product-info-sku span {
	color: #d51414;
	}


.fieldset>.field .label {
	clear: both;
	display: block;
	font-weight: bold;
	color: #b7b7b7;
	font-size: 12px;
	text-transform: uppercase;
	}


.product-options-wrapper .field.required {
	padding: 10px 20px 0;
	}


.product-options-wrapper .field.required:last-child {
	padding: 10px 20px 20px;
	}


.product-options-wrapper {
	background: #f7f7f7;
	}


.qss-grid-dimensions {
	clear: both;
	display: block;
	font-size: 12px;
	}


.page-wrapper>.breadcrumbs .items>li strong {
	color: #000;
	font-weight: bold;
	}


/* Breadcrumb single-line ellipsis for long product names */
.page-wrapper>.breadcrumbs .items {
    display: flex;
    flex-wrap: nowrap;
    overflow: hidden;
    white-space: nowrap;
    align-items: center;
    }


.page-wrapper>.breadcrumbs .items>li {
    flex-shrink: 0;
    white-space: nowrap;
    }


.page-wrapper>.breadcrumbs .items>li.product {
    flex-shrink: 1;
    overflow: hidden;
    min-width: 0;
    }


.page-wrapper>.breadcrumbs .items>li strong {
    display: block;
    overflow: hidden;
    text-overflow: ellipsis;
    white-space: nowrap;
    }


.product-options-wrapper select {
	padding: 8px !important;
	}



/* =============================================
   MODULE: FAQ ACCORDION < OK
=============================================== */
.faq-item {
	margin-bottom: 8px;
	}


.faq-question {
	display: flex;
	justify-content: space-between;
	align-items: center;
	padding: 18px 20px;
	cursor: pointer;
	user-select: none;
	border-left: 8px solid #73826f;
	background: #efefef;
	}


.faq-question:hover {
	background: #f9f9f9;
	}


.faq-question-text {
	font-size: 15px;
	font-weight: 600;
	color: #333;
	flex: 1;
	padding-right: 20px;
	}


.faq-chevron {
	width: 10px;
	height: 10px;
	border-right: 2px solid #999;
	border-bottom: 2px solid #999;
	transform: rotate(45deg);
	transition: transform 0.25s ease;
	flex-shrink: 0;
	margin-top: -2px;
	}


.faq-item.active .faq-chevron {
	transform: rotate(-135deg);
	}


.faq-answer {
	max-height: 0;
	overflow: hidden;
	transition: max-height 0.3s ease;
	}


.faq-item.active .faq-answer {
	max-height: 600px;
	}


.faq-answer-inner {
	padding: 20px;
	font-size: 14px;
	line-height: 1.7;
	color: #fff;
	background: #73826f;
	}


.faq-search-form .gallery-search {
	overflow: auto !important;
	position: unset !important;
	min-width: unset !important;
	margin-bottom: 15px !important
	}


.faq-search-form .gallery-search input {
	width: stretch !important;
	display: flex !important;
	float: unset !important;
	}


.faq-accordion {
	clear: both;
	}



/* =============================================
   MODULE: PROMOTIONAL MATERIALS > OK
=============================================== */
/* ----- Global: Fix Standerize ----- */
.inner-subtitle,
a.qc-back,
a.qss-blog-back-link,
a.qi-back-link {
	line-height: normal;
	}


/* ----- Global: Back Link Modified ----- */
a.qc-back,
a.qss-blog-back-link,
a.qi-back-link {
	color: #cc0000;
	font-size: 13px;
	font-weight: bold;
	text-decoration: none;
	display: inline-block;
	margin-bottom: 10px;
	}


a.qc-back:hover,
a.qss-blog-back-link:hover,
a.qi-back-link:hover {
	color: #990000;
	}


/* ----- Promotional Materials: List Thumbnail -- */
.promo-list-thumb {
	flex-shrink: 0;
	width: 50px;
	position: relative;
	cursor: pointer;
	}


.promo-list-thumb:hover>img {
	filter: grayscale(100%) brightness(100%) blur(2px);
	transition: filter 0.3s ease-in-out;
	}


.promo-list-thumb img {
	width: 100%;
	height: 100%;
	object-fit: cover;
	display: block;
	}


.promo-list-thumb .promo-zoom-preview {
	display: none;
	position: absolute;
	top: 50%;
	left: 100%;
	transform: translateY(-50%);
	margin-left: 10px;
	width: 300px;
	height: 400px;
	background: #fff;
	box-shadow: 0 4px 20px rgba(0, 0, 0, 0.3);
	z-index: 100;
	pointer-events: none;
	}


.promo-list-thumb .promo-zoom-preview img {
	width: 100%;
	height: 100%;
	object-fit: fill;
	}


.promo-list-thumb:hover .promo-zoom-preview {
	display: block;
	}


.promo-list-thumb-placeholder {
	width: 100%;
	height: 100%;
	background: #cc0000;
	display: flex;
	align-items: center;
	justify-content: center;
	}


.promo-list-item {
	position: relative;
	z-index: 1;
	}


.promo-list-item:hover {
	z-index: 100;
	}


/* ----- Promotional Materials: Category List View -- */
#promo-category-list-wrapper {
	max-width: 100%;
	margin: 0 auto;
	}


.promo-list-item {
	display: flex;
	justify-content: space-between;
	align-items: center;
	padding: 15px;
	background: #f0f0f0;
	border-bottom: 1px solid #ddd;
	margin-bottom: 5px;
	}


.promo-list-item:nth-child(even) {
	background: #f7f7f7;
	}


.promo-list-item-left {
	display: flex;
	align-items: center;
	gap: 15px;
	flex: 1;
	min-width: 0;
	}


.promo-list-pdf-icon {
	flex-shrink: 0;
	display: flex;
	align-items: center;
	}


.promo-list-pdf-icon svg {
	width: 40px;
	height: 40px;
	}


.promo-list-item-title {
	font-weight: 700;
	font-size: 15px;
	color: #333;
	white-space: nowrap;
	overflow: hidden;
	text-overflow: ellipsis;
	}


.promo-list-item-right {
	display: flex;
	gap: 10px;
	flex-shrink: 0;
	margin-left: 15px;
	}


.promo-list-item-right a {
	min-width: 160px;
	}


.promo-category-header-right {
	display: flex;
	align-items: center;
	gap: 10px;
	}


a.promo-view-all-btn {

	display: block;
	width: max-content !important;
	position: relative;
	float: inline-start;
	margin-right: 15px;
	min-width: unset !important;
	padding: 3px 15px !important;
	}


.promo-no-new-items {
	color: #999;
	font-style: italic;
	padding: 60px;
	border: 1px solid #ddd;
	border-radius: 6px;
	background: #efefef;
	text-align: center;
	}


#promo-materials-wrapper {
	max-width: 100%;
	}


/* ----- Promotional Materials: Page -- */
.promo-category-section {
	margin-bottom: 50px;
	}


.promo-category-section:last-child,
.promo-category-section:last-child .owl-carousel {
	margin-bottom: 0;
	}


.promo-category-header {
	position: relative;
	}


.promo-category-header .qc-sec-title {
	font-size: 22px;
	font-weight: 900;
	margin: 0 0 20px 0;
	text-transform: uppercase;
	color: #222;
	line-height: 17px;
	}


.promo-new-badge {
	color: #cc0000;
	font-weight: 900;
	}


.promo-carousel-nav {
	display: flex;
	gap: 5px;
	position: absolute !important;
	right: 0px !important;
	top: -13px !important;
	}


.promo-nav-prev,
.promo-nav-next {
	border-radius: 0 !important;
	height: unset !important;
	font-size: 40px !important;
	padding: 0 10px 10px !important;
	margin: 0px !important;
	border: none !important;
	color: #000 !important;
	background: transparent !important;
	}


.promo-nav-prev:hover,
.promo-nav-next:hover {
	background: #222 !important;
	color: #fff !important;
	border-color: #222 !important;
	}


.promo-card {
	display: flex;
	flex-direction: row;
	overflow: hidden;
	height: 100%;
	min-height: 180px;
	}


.promo-card-image {
	flex: 0 0 50%;
	overflow: hidden;
	position: relative;
	background: #fff;
	box-shadow:
		5px 0 15px #ccc,
		-2px 0 5px rgba(255, 87, 51, 0.3);
	}


.promo-card-image img {
	width: 100%;
	height: 100%;
	display: block;
	object-fit: fill;
	padding: 8px;
	border: 3px solid #e7e7e7;
	border-radius: 6px 0 0 6px;
	border-right: none;
	}


.promo-card-placeholder {
	width: 100%;
	height: 100%;
	background: #cc0000;
	display: flex;
	align-items: center;
	justify-content: center;
	min-height: 180px;
}


.promo-item-new-badge {
	position: absolute;
	top: 6px;
	left: 6px;
	background: #cc0000;
	color: #fff;
	font-size: 10px;
	font-weight: 800;
	padding: 2px 8px;
	text-transform: uppercase;
}


.promo-card-info {
	flex: 1;
	padding: 20px;
	background: #333;
	position: relative;
	}


.promo-card-title {
	color: #fff;
	margin: 0 0 12px 0;
	text-transform: uppercase;
	min-height: 120px;
	line-height: 22px;
	}


.promo-card-actions {
	display: flex;
	flex-direction: row;
	gap: 6px;
	position: absolute;
    bottom: 20px;
	width: -webkit-fill-available;
    right: 20px;
    left: 20px;
	}


.promo-card-actions .card-btn-default {
	padding: 3px 0px !important;
	}


.promo-carousel .owl-item {
	display: flex;
	}


.promo-carousel .owl-item>.promo-card {
	width: 100%;
	}


@media (max-width: 640px) {

	.promo-list-item {
		flex-direction: column;
		align-items: flex-start;
		gap: 10px;
		}


	.promo-list-item-right {
		margin-left: 0;
		width: 100%;
		}
}



@media (max-width: 768px) {

	.promo-card {
		min-height: 160px;
		}


	.promo-card-image {
		flex: 0 0 50%;
		}


	.promo-category-header {
		flex-wrap: wrap;
		gap: 10px;
		}
}



@media (max-width: 480px) {

	.promo-card-image {
		flex: 0 0 50%;
		}

		
	.promo-category-header h2 {
	    font-size: 17px !important;
		}
}




/* =============================================
   MODULE: INSTRUCTIONS > OK
=============================================== */
#instructions-list-wrapper {
	max-width: 100%;
	margin: 0 auto;
	}


.instructions-item {
	display: flex;
	justify-content: space-between;
	align-items: center;
	padding: 12px 15px;
	background: #f0f0f0;
	border-bottom: 1px solid #ddd;
	margin-bottom: 5px;
	}


.instructions-item:nth-child(even) {
	background: #f7f7f7;
	}


.instructions-item-left {
	display: flex;
	align-items: center;
	gap: 15px;
	flex: 1;
	min-width: 0;
	}


.instructions-pdf-icon {
	flex-shrink: 0;
	display: flex;
	align-items: center;
	}


.instructions-pdf-icon svg {
	width: 40px;
	height: 40px;
	}


.instructions-item-title {
	font-weight: 700;
	font-size: 15px;
	color: #333;
	white-space: nowrap;
	overflow: hidden;
	text-overflow: ellipsis;
}


.instructions-item-right {
	display: flex;
	gap: 10px;
	flex-shrink: 0;
	margin-left: 15px;
	}


.instructions-item-right a {
	min-width: 160px;
	}


@media (max-width: 640px) {

	.instructions-item {
		flex-direction: column;
		align-items: flex-start;
		gap: 10px;
		}


	.instructions-item-right {
		margin-left: 0;
		width: 100%;
		}
}




/* =============================================
   MODULE: PRICE LISTS > OK
=============================================== */
#listprice-list-wrapper {
	max-width: 100%;
	margin: 0 auto;
	}


.listprice-item {
	display: flex;
	justify-content: space-between;
	align-items: center;
	padding: 12px 15px;
	background: #f0f0f0;
	border-bottom: 1px solid #ddd;
	margin-bottom: 5px;
	}


.listprice-item:nth-child(even) {
	background: #f7f7f7;
	}


.listprice-item-left {
	display: flex;
	align-items: center;
	gap: 15px;
	flex: 1;
	min-width: 0;
	}


.listprice-file-icon {
	flex-shrink: 0;
	display: flex;
	align-items: center;
	}


.listprice-file-icon svg {
	width: 40px;
	height: 40px;
	margin-left: -5px;
	}


.listprice-item-title {
	font-weight: 700;
	font-size: 15px;
	color: #333;
	white-space: nowrap;
	overflow: hidden;
	text-overflow: ellipsis;
	}


.listprice-item-right {
	display: flex;
	gap: 10px;
	flex-shrink: 0;
	margin-left: 15px;
	}


@media (max-width: 640px) {

	.listprice-item {
		flex-direction: column;
		align-items: flex-start;
		gap: 10px;
		}


	.listprice-item-right {
		margin-left: 0;
		width: 100%;
		}
}




/* =============================================
   MODULE: BLOG LIST > OK
=============================================== */
/* ----- Blog: Year Sections -- */
.qss-blog-year-section {
	margin-bottom: 20px;
	line-height: 30px;
	}

	
.qss-blog-year-heading {
	font-size: 28px;
	font-weight: bold;
	margin: 0 0 15px 0;
	color: #333;
	letter-spacing: 3px;
	}


.qss-blog-year-divider {
	height: 1px;
	background: #ddd;
	margin-bottom: 18px;
	}


/* ----- Blog: Card -- */
.qss-blog-card {
	display: flex;
	flex-direction: row;
	background: #fff;
	position: relative;
	padding: 13px;
	border: 1px solid #ddd;
	border-radius: 4px;
	box-shadow: 0px 0px 5px 0px rgba(0, 0, 0, 0.1);
	}


.qss-blog-card:hover {
	box-shadow: 0px 0px 5px 0px rgba(0, 0, 0, 0.2);
	}


/* ----- Blog: Card Image -- */
.qss-blog-card-image {
	flex: 0 0 150px;
	display: flex;
	align-items: center;
	justify-content: center;
	overflow: hidden;
	min-width: 150px;
	min-height: 150px;
	}


.qss-blog-card-image img {
	object-fit: cover;
	}


.qss-blog-card-image a {
	display: flex;
	width: 100%;
	height: 100%;
	align-items: flex-start;
	justify-content: center;
	text-decoration: none;
	}


.qss-blog-card-image.qss-blog-card-initials a {
	align-items: center;
	}


/* ----- Blog: Card Initials Fallback -- */
.qss-blog-card-initials {
	background: #333;
	}


.qss-blog-card-initials span {
	font-size: 36px;
	font-weight: 700;
	color: #fff;
	line-height: 1;
	}


/* ----- Blog: Card Content -- */
.qss-blog-card-content {
	flex: 1;
	padding: 0px;
	flex-direction: column;
	justify-content: center;
	margin-left: 0px;
	padding: 15px;
    background: linear-gradient(to bottom right, #EAF4FF, transparent);
	min-height: 370px;
	}


.qss-blog-card-date {
	font-weight: bold;
	color: #333;
	}

	
.qss-blog-card-categories {
	line-height: normal !important;
	padding-bottom: 10px;
	margin-bottom: 10px;
	border-bottom: 3px solid #dae4ef;
	}

		
.qss-blog-card-categories a {
	color: #000 !important;
	line-height: normal !important;
	font-size: 12px;
	}


.qss-blog-card-categories :hover {
	color: #F00 !important;
	}

	
.qss-blog-card-title {
	font-size: 17px;
	font-weight: bold;
	margin: 0 0 5px 0;
	line-height: normal;
	display: -webkit-box;
	-webkit-line-clamp: 4;
	-webkit-box-orient: vertical;
	overflow: hidden;
	text-transform: uppercase;
	}


.qss-blog-card-title a {
	color: #000;
	text-decoration: none;
	}


.qss-blog-card-title a:hover {
	color: #333;
	}


.qss-blog-card-new {
	font-size: 18px;
	font-weight: 700;
	color: #cc0000;
	text-transform: uppercase;
	vertical-align: middle;
	}


.qss-blog-card-excerpt {
	font-size: 15px;
	color: #666;
	margin: 0 0 12px 0;
	line-height: 1.4;
    display: -webkit-box;
    -webkit-line-clamp: 4;
    -webkit-box-orient: vertical;
    overflow: hidden;
	}


/* ----- Blog: Card Actions -- */
.qss-blog-card-actions {
	position: absolute;
    bottom: 13px;
	}


.post-list-content .pager {
	background: #efefef;
    overflow: auto;
    padding: 10px;
	}


/* ----- Blog: Content Title -- */
.post-list-content-title h1 {
	font-size: 35px;
	margin-bottom: 0;
	}



/* =============================================
   MODULE: BLOG VIEW > OK
=============================================== */
/* ----- Product View: Tabs -- */
.quantum-blog-no-posts {
	background-image: linear-gradient(to top, #ecfbff, #fff) !important;
	padding: 15px !important;
	}


/* ----- Blog View: Hide Default Page Title -- */
.quantum-blog-view~.page-title-wrapper {
	display: none;
	}


/* ----- Blog View: Post Title -- */
.qss-blog-post-title {
	font-size: 40px;
	font-weight: 700;
	color: #333;
	margin: 0 0 20px 0;
	line-height: 1.0 !important;
	text-transform: uppercase;
	border-bottom: 1px solid #ddd;
	padding-bottom: 20px;
	}


/* ----- Blog View: Content Area -- */
.quantum-blog-view a {
	text-decoration: none;
	}


.quantum-blog-view .mpcss.post-view {
	margin: 0;
	}


.post-view-image {
	text-align: center;
	margin-bottom: 20px;
	}


.post-view-image img.img-responsive {
	max-width: 100%;
	height: auto;
	border: none;
	}


.post-post_content {
	line-height: normal;
	font-size: 15px;
	padding: 0px;
	color: #000 !important;
	}

	
.post-post_content ul {
	margin-bottom: 30px;
	}

	
.post-post_content p {
	margin-bottom: 30px;
	line-height: 32px;
	font-size: 18px;
	}


.post-post_content img {
	margin: 40px 0;
	width: -webkit-fill-available !important;
	}


.post-post_content p:last-child {
	margin-bottom: 0px !important;
	}


.post-post_content h2 {
	margin-bottom: 10px;
	font-size: 34px;
	font-weight: bolder;
	line-height: normal;
	}


.post-post_content h3 {
	margin-bottom: 10px;
    font-size: 30px;
    font-style: normal;
	line-height: normal;
	}


.post-post_content h4 {
	margin-bottom: 10px;
	font-size: 22px;
	font-weight: bolder;
	line-height: normal;
	}

	
.post-post_content .center {
	margin: 0 auto !important;
	display: block !important;
	}


.post-post_content .align-right {
    float: right;
    max-width: 20%;
	margin: 0px 0px 25px 25px !important;
	}

	
.post-post_content blockquote {
    width: -webkit-fill-available;
    font-size: 24px;
    font-weight: bold;
    color: #c00;
    padding: 20px 20px 20px 50px;
    border-left: 4px solid #c00;
    margin: 0px 0px 40px 0;	
	}

	
.post-post_content .card-btn-default {
    font-size: 24px !important;
    padding: 20px 35px !important;
    width: max-content !important;
    border-radius: 6px;
	}

	
.post-post_content a {
	color: #cc0000;
	}


.post-list-content.col-md-12 {
	padding: 0;
	}


.quantum-blog-video-embed iframe {
	max-width: 100%;
	}


/* ----- Blog View: Post Info -- */
.mp-post-info {
	color: #999;
	font-size: 12px;
	line-height: 18px;
	margin: 0 0 15px 0;
	}


.mp-post-info span {
	color: #6f6f6f;
	}


.mp-post-info a.mp-info {
	color: #333;
	text-decoration: none;
	}


.mp-post-info a.mp-info:hover {
	color: #cc0000;
	}


/* ----- Blog View: Sharing -- */
#sharing {
	padding: 20px 30px;
	background: #f6f6f6;
	margin-top: 40px;
	display: flex;
	align-items: center;
	gap: 20px;
	}


#sharing h5 {
	margin: 0;
	}


.post-sharing-button {
	display: flex;
	gap: 10px;
	}


.post-sharing-button img {
	width: 32px;
	height: 32px;
	cursor: pointer;
	}


/* ----- Blog View: Author -- */
.author-content-image {
	float: left;
	width: 135px;
	}


.author-content-image img {
	max-width: 100%;
	border-radius: 50%;
	}


.author-content-information {
	float: left;
	padding-left: 20px;
	width: calc(100% - 155px);
	}


.author-content-information .author-name {
	font-size: 20px;
	font-weight: 700;
	}


.author-content-information .author-description {
	color: #666;
	margin-top: 8px;
	}


/* ----- Blog View: Related Posts Grid -- */
.post-list-item.col-mp {
	padding: 8px;
	box-sizing: border-box;
	}


.mp-6 {
	width: 50%;
	}


.mp-lg-4 {
	width: 33.33%;
	}


.post-list-item .post-item-wraper {
	border: 1px solid #eee;
	padding: 10px;
	}


.post-list-item .post-item-wraper:hover {
	box-shadow: 3px 3px 4px 0 rgba(0, 0, 0, 0.3);
	}


.post-list-item .post-image {
	min-height: 150px;
	position: relative;
	}


.post-list-item .post-image img {
	max-width: 100%;
	height: auto;
	border: none;
	}


.post-list-item .post-info-wraper {
	padding: 10px 0 0 0;
	}


.post-list-item h2.mp-post-title {
	margin-top: 0;
	font-size: 16px;
	}


.post-list-item h2.mp-post-title a {
	color: #333;
	text-decoration: none;
	}


.post-list-item h2.mp-post-title a:hover {
	color: #cc0000;
	}


.item.post-list-item.col-mp {
	width: 100%;
	}


@media (max-width: 768px) {

	.mp-lg-4,
	.mp-6 {
		width: 50%;
		}
}



@media (max-width: 600px) {

	.mp-lg-4,
	.mp-6 {
		width: 100%;
		}
}




/* =============================================
   MODULE: GALLERY IMAGES > OK
=============================================== */
/* ----- Gallery: Card Image Wrapper -- */
.card-image-wrapper {
	position: relative;
	width: 100%;
	height: 0;
	padding-bottom: 75%;
	overflow: hidden;
	background: #f5f5f5;
	}


.card-image-wrapper .single-image {
	position: absolute;
	top: 0;
	left: 0;
	width: 100%;
	height: 100%;
	object-fit: cover;
	cursor: pointer;
	transition: transform 0.3s ease;
	}


.card-image-wrapper .single-image:hover {
	transform: scale(1.05);
	}


.card-image-wrapper .gallery-carousel {
	position: absolute;
	top: 0;
	left: 0;
	width: 100%;
	height: 100%;
	}


.gallery-carousel .owl-stage-outer,
.gallery-carousel .owl-stage,
.gallery-carousel .owl-item,
.gallery-carousel .carousel-item {
	height: 100%;
	}


.gallery-carousel .carousel-item img {
	width: 100%;
	height: 100%;
	object-fit: cover;
	cursor: pointer;
	}


.carousel-item {
	position: absolute;
	top: 0;
	left: 0;
	width: 100%;
	height: 100%;
	}


.carousel-item img {
	width: 100%;
	height: 100%;
	object-fit: cover;
	}


.no-image {
	position: absolute;
	top: 0;
	left: 0;
	width: 100%;
	height: 100%;
	display: flex;
	align-items: center;
	justify-content: center;
	background: #eee;
	color: #999;
	font-size: 14px;
	}


/* ----- Gallery: OWL Carousel Dots -- */
.gallery-carousel .owl-dots {
	position: absolute;
	bottom: 10px;
	left: 0;
	right: 0;
	text-align: center;
	}


.gallery-carousel .owl-dot {
	display: inline-block;
	margin: 0 4px;
	background: rgba(255, 255, 255, 0.5);
	border-radius: 50%;
	border: none;
	cursor: pointer;
	transition: background 0.3s ease;
	}


.gallery-carousel .owl-dot.active {
	background: #fff;
	}


/* ----- Gallery: Lightbox -- */
.gallery-lightbox {
	display: none;
	position: fixed;
	top: 0;
	left: 0;
	width: 100%;
	height: 100%;
	z-index: 9999;
	}


.gallery-lightbox.active {
	display: block;
	}


.lightbox-overlay {
	position: absolute;
	top: 0;
	left: 0;
	width: 100%;
	height: 100%;
	background: rgba(0, 0, 0, 0.9);
	cursor: pointer;
	}


.lightbox-content {
    position: absolute;
    top: 50%;
    left: 50%;
    transform: translate(-50%, -50%);
    max-width: 90%;
    max-height: 90%;
    width: auto;
	}


.lightbox-image-wrapper {
	display: flex;
	align-items: center;
	justify-content: center;
	}


.lightbox-image {
    width: auto;
    max-width: 90vw;
    height: auto;
    max-height: 80vh;
    object-fit: contain;
	}


.lightbox-close {
	position: fixed;
	top: -51px !important;
	right: 0px !important;
	color: #fff !important;
	border: none !important;
	outline: none !important;
	box-shadow: none !important;
	cursor: pointer;
	z-index: 10001;
	line-height: 1;
	padding: 10px !important;
	opacity: 0.8;
	background: #f00 !important;
	font-size: 30px !important;
	}


.lightbox-close:hover {
	opacity: 1;
	color: #ffffff !important;
	}


.lightbox-prev,
.lightbox-next {
	position: fixed;
	top: 50%;
	transform: translateY(-50%);
	background: #ccc !important;
	border: none !important;
	outline: none !important;
	box-shadow: none !important;
	cursor: pointer;
	padding: 15px 15px 25px !important;
	z-index: 10001;
	line-height: 1;
	opacity: 0.8;
	font-size: 60px !important;
	}


.lightbox-prev {
	left: 20px;
	}


.lightbox-next {
	right: 20px;
	}


.lightbox-prev:hover,
.lightbox-next:hover {
	opacity: 1;
	color: #ffffff !important;
	}


.lightbox-counter {
	text-align: center;
	color: #fff;
	padding: 15px;
	font-size: 14px;
	}


body.lightbox-open {
	overflow: hidden;
	}



/* =============================================
   MODULE: GALLERY VIDEOS > OK
=============================================== */
/* ----- Videos: Thumbnail -- */
.card-thumbnail-wrapper {
	position: relative;
	width: 100%;
	height: 0;
	padding-bottom: 75%;
	overflow: hidden;
	background: #f5f5f5;
	}


.card-thumbnail {
	position: absolute;
	top: 0;
	left: 0;
	width: 100%;
	height: 100%;
	object-fit: cover;
	transition: transform 0.3s ease;
	}


.card-thumbnail-wrapper:hover .card-thumbnail {
	transform: scale(1.05);
	}


/* ----- Videos: Play Button Overlay -- */
.play-button-overlay {
	position: absolute;
	top: 50%;
	left: 50%;
	transform: translate(-50%, -50%);
	width: 70px;
	height: 70px;
	background: rgba(204, 0, 0, 0.9);
	border-radius: 50%;
	display: flex;
	align-items: center;
	justify-content: center;
	transition: background 0.3s ease;
	z-index: 2;
	}


.play-button-overlay::after {
	content: "";
	width: 0;
	height: 0;
	border-style: solid;
	border-width: 12px 0 12px 20px;
	border-color: transparent transparent transparent #fff;
	margin-left: 5px;
	}


.card-thumbnail-wrapper:hover .play-button-overlay {
	background: rgba(204, 0, 0, 1);
	}


/* ----- Videos: Frame Overlay -- */
.video-frame-overlay {
	position: absolute;
	top: 0;
	left: 0;
	width: 100%;
	height: 100%;
	background-image: url("/media/prop/industrial/var/videos/img/overlay_videos.png");
	background-size: cover;
	background-position: center;
	pointer-events: none;
	z-index: 1;
	}


/* ----- Videos: Lightbox -- */
.video-lightbox {
	position: fixed;
	top: 0;
	left: 0;
	right: 0;
	bottom: 0;
	z-index: 9999;
	display: none;
	}


.video-lightbox.active {
	display: flex;
	align-items: center;
	justify-content: center;
	}


.video-lightbox .lightbox-content {
	position: relative;
	width: 90%;
	max-width: 1000px;
	top: unset;
	left: unset;
	transform: none;
	}


.video-wrapper {
	position: relative;
	width: 100%;
	padding-bottom: 56.25%;
	background: #000;
	}


.video-wrapper iframe {
	position: absolute;
	top: 0;
	left: 0;
	width: 100%;
	height: 100%;
	border: none;
	}



/* =============================================
   MODULE: LOCATOR - DEALERS & MANAGERS > OK
=============================================== */
/* ----- Locator: Container & Title -- */
.locator-container {
	max-width: 1200px;
	margin: 0 auto;
	padding: 0;
	}


.locator-title {
	font-size: 28px;
	font-weight: 700;
	color: #cc0000;
	margin: 0 0 15px;
	text-transform: uppercase;
	}


/* ----- Locator: Layout -- */
.locator-layout {
	display: flex;
	gap: 0;
	min-height: auto;
	border: 1px solid #ddd;
	}


/* ----- Locator: Sidebar -- */
.locator-sidebar {
	flex: 0 0 380px;
	display: flex;
	flex-direction: column;
	border-right: 1px solid #ddd;
	background: #fff;
	}


/* ----- Locator: Search -- */
.locator-search {
	padding: 15px;
	border-bottom: 1px solid #ddd;
	display: flex;
	gap: 10px;
	}


.locator-search-icon {
	display: flex;
	align-items: center;
	justify-content: center;
	color: #666;
	}


.locator-search-icon svg {
	width: 20px;
	height: 20px;
	fill: currentColor;
	}


.locator-search-input {
	flex: 1;
	padding: 12px 15px;
	font-size: 14px;
	border: 1px solid #ddd;
	border-radius: 4px;
	outline: none;
	}


.locator-search-input:focus {
	border-color: #cc0000;
	}


.locator-search-input::placeholder {
	color: #999;
	}


.locator-search-btn {
	padding: 12px 18px;
	background-color: #cc0000 !important;
	color: #fff;
	border: unset !important;
	border-radius: 4px;
	cursor: pointer;
	display: flex;
	align-items: center;
	justify-content: center;
	}


.locator-search-btn:hover {
	background-color: #8d1000 !important;
	}


.locator-search-btn svg {
	width: 18px;
	height: 18px;
	fill: #fff;
	}


/* ----- Locator: Scrollable List -- */
.locator-list {
	flex: 1;
	overflow-y: auto;
	max-height: 510px;
	}


.locator-item {
	display: flex;
	gap: 15px;
	padding: 20px 15px;
	border-bottom: 1px solid #eee;
	cursor: pointer;
	transition: background 0.2s ease;
	}


.locator-item:hover,
.locator-item.active {
	background: #f9f9f9;
	}


.locator-item.active {
	border-left: 5px solid #cc0000;
	}


.locator-item:not(.active) {
	border-left: 5px solid #ddd;
	}


.locator-item-icon {
	flex: 0 0 24px;
	color: #cc0000;
	}


.locator-item-icon svg {
	width: 24px;
	height: 24px;
	fill: currentColor;
	}


.locator-item-content {
	flex: 1;
	}


.locator-item-name {
	font-size: 16px;
	font-weight: 700;
	color: #cc0000;
	margin: 0 0 5px;
	}


.locator-item-name a {
	color: #cc0000;
	text-decoration: none;
	}


.locator-item-name a:hover {
	text-decoration: underline;
	}


.locator-item-address {
	font-size: 14px;
	color: #333;
	line-height: 1.5;
	margin: 0 0 8px;
	}


.locator-item-title {
	font-size: 14px;
	color: #666;
	margin: 0 0 8px;
	font-style: italic;
	}


.locator-item-phone {
	font-size: 14px;
	margin: 0 0 5px;
	}


.locator-item-phone a {
	color: #333;
	text-decoration: underline;
	}


.locator-item-details {
	font-size: 13px;
	color: #666;
	margin: 5px 0 0;
	}


.locator-item-details strong {
	color: #333;
	}


.locator-item-details a {
	color: #cc0000;
	}


.locator-item-distance {
	color: #cc0000;
	font-size: 13px;
	margin: 5px 0 0;
	display: none !important;
	}


/* ----- Locator: Territories (Managers) -- */
.locator-item-territories {
	font-size: 13px;
	color: #666;
	margin: 8px 0 0;
	}


.locator-item-territories strong {
	color: #333;
	}


.territory-badge {
	display: inline-block;
	background: #e0e0e0;
	padding: 2px 8px;
	border-radius: 3px;
	font-size: 12px;
	margin: 2px 2px 2px 0;
	}


/* ----- Locator: Coverage Notes (Managers) -- */
.locator-item-notes {
	font-size: 12px;
	color: #888;
	margin: 6px 0 0;
	padding-left: 5px;
	border-left: 2px solid #ddd;
	}


/* ----- Locator: Right Display Area -- */
.locator-display {
	width: 100%;
	overflow: hidden;
	min-height: 580px;
	display: grid;
	align-items: center;
	background-color: #efefef;
	}


.locator-display-image {
	max-width: unset !important;
	translate: -15px;
	}


.locator-display-placeholder {
	text-align: center;
	color: #999;
	width: max-content;
	margin: 0 auto;
	border: 1px solid #ccc;
	padding: 15px;
	border-radius: 6px;
	}


.locator-display-placeholder svg {
	width: 100px;
	height: 100px;
	fill: #ddd;
	margin-bottom: 15px;
	}


.locator-display-placeholder p {
	font-size: 16px;
	margin: 0;
	}


/* ----- Locator: No Results -- */
.locator-no-results {
	padding: 40px 20px;
	text-align: center;
	color: #666;
	}


.locator-loading {
	padding: 40px 20px;
	text-align: center;
	color: #666;
	}


@media (max-width: 768px) {

	.locator-layout {
		flex-direction: column;
		}


	.locator-sidebar {
		flex: none;
		width: 100%;
		border-right: none;
		border-bottom: 1px solid #ddd;
		}


	.locator-list {
		max-height: 400px;
		}


	.locator-display {
		display: none;
		}
}




/* =============================================
   MODULE: LOCATOR - NATIONAL DISTRIBUTORS > OK
=============================================== */
.distributors-section {
	margin: 30px 0;
	}


.distributor-item {
	display: flex;
	align-items: center;
	justify-content: center;
	padding: 15px;
	min-height: 100px;
	background-image: linear-gradient(to bottom, #efefef, #fff);
	border-bottom: 5px solid #ededed;
	}


.distributor-item:hover {
	border-bottom: 5px solid #000;
	}


.distributor-item a {
	display: flex;
	align-items: center;
	justify-content: center;
	transition: opacity 0.3s ease;
	}


.distributor-item a:hover {
	opacity: 0.7;
	}


.distributor-logo {
	max-width: 150px;
	max-height: 80px;
	object-fit: contain;
	transition: filter 0.3s ease;
	}


.distributor-item:hover .distributor-logo {
	filter: grayscale(100%);
	}


.distributor-name {
	font-size: 14px;
	font-weight: 600;
	color: #333;
	text-align: center;
	}



/* =============================================
   MODULE: CATALOGS > OK
=============================================== */
#qc-wrap {
	max-width: 100%;
	margin: 0 auto;
	}


/* ----- Catalogs: Category Sections -- */
.qc-sec+.qc-sec,
.qc-sec.qc-dark.shows:not(:nth-of-type(2)) {
	margin-bottom: 40px;
	}


.qc-sec:last-of-type {
	margin-bottom: 0px !important;
	}


.qc-sec-title {
	font-size: 22px;
	font-weight: 900;
	margin: 0 0 15px 0;
	text-transform: uppercase;
	color: #222;
    line-height: 17px;
	}


/* ----- Catalogs: Latest Row Layout -- */
.qc-row {
	display: flex;
	gap: 0;
	border: 1px solid #ddd;
	padding: 15px;
	}


.qc-row:first-child {
	border-radius: 5px 5px 0 0;
	}


.qc-row-img {
	flex: 0 0 215px;
	max-width: 215px;
	overflow: hidden;
	background: #fff;
	}


.qc-row-img img {
	width: 100%;
	height: 100%;
	display: block;
	object-fit: cover;
	}


.qc-card-act {
	display: flex;
	gap: 8px;
	background: #efefef;
	padding: 12px;
	bottom: 0px;
	width: -webkit-fill-available;
	margin-top: 1px;
	}

	
.qc-tag {
	font-size: 12px;
	color: #b1b1b1;
	margin-bottom: 8px;
	display: block;
	background: #ededed;
	width: max-content;
	padding: 0 18px;
	border-radius: 4px;
	font-weight: 600;
	}

		
.qc-card-img {
     width: 100%;
     overflow: hidden;
	 }


.qc-card-img img {
     width: 100%;
     height: auto;
     display: block;
	 }


.qc-row-info {
	flex: 1;
	padding: 25px 30px;
	flex-direction: column;
	justify-content: center;
	background: #efefef;
	}


.qc-row-title {
	font-size: 40px;
	font-weight: 800;
	margin: 0 0 25px 0;
	color: #222;
	line-height: 1;
	text-transform: uppercase;
	border-bottom: 1px solid #ccc;
	padding: 0 0 20px;
	}


.qc-row-desc {
	font-size: 14px;
	color: #222;
	margin: 0 0 25px 0;
	}


.qc-row-act {
	display: flex;
	gap: 10px;
	}


.qc-row-act .card-btn-default {
	width: auto;
	min-width: 140px;
	}


.qc-row-req {
	flex: 0 0 280px;
	max-width: 280px;
	background: #222;
	color: #fff;
	display: flex;
	align-items: center;
	justify-content: center;
	}


.qc-req-content {
	padding: 25px 30px;
	text-align: center;
	}


.qc-req-content h4 {
	font-size: 22px;
	font-weight: 900;
	margin: 0 0 10px 0;
	text-transform: uppercase;
	color: #fff;
	line-height: 30px;
	}


.qc-req-content p {
	margin: 0 0 25px 0;
	font-size: 13px;
	font-style: italic;
	color: #fff;
	}


.qc-req-content em {
	display: block;
	font-size: 14px;
	margin-bottom: 15px;
	color: #fff;
	text-transform: uppercase;
	}


.qc-req-content .card-btn-default {
	width: auto;
	}


/* ----- Catalogs: More Catlogs Dark Panel -- */
.qc-dark {
	background: #333;
	padding: 25px;
	}

	
.qc-dark:nth-of-type(2) {
	background: #414040;
	padding: 25px;
	}

	
.qc-sec.qc-dark:not(:nth-of-type(2)) {
	border-radius: 0 0 5px 5px;
	}

	
.qc-dark-title {
	color: #fff !important;
	}


.qc-dark-hr {
	height: 1px;
	background: #666;
	margin-bottom: 20px;
	}


.qc-dark-card {
	width: 100%;
	}


.qc-dark-card-title {
	font-size: 14px;
	font-weight: 700;
	color: #fff;
	margin: 0 0 8px 0;
	text-transform: uppercase;
	}


.qc-dark-card-img {
	width: 100%;
	overflow: hidden;
	margin-bottom: 10px;
	}


.qc-dark-card-img img {
	width: 100%;
	height: auto;
	display: block;
	}


.qc-dark-card-act {
	display: flex;
	gap: 8px;
	}


/* ----- Catalogs: Standard Grid -- */
.qc-card {
	display: flex;
	flex-direction: column;
	position: relative;
	}


.qc-card-title {
	font-size: 14px;
	font-weight: 700;
	color: #222;
	margin: 0 0 8px 0;
	text-transform: uppercase;
	}


@media (max-width: 991px) {

	.qc-row-title {
		font-size: 24px;
		}


	.qc-row-desc {
		font-size: 14px;
		}


	.qc-row-req {
		flex: 0 0 220px;
		max-width: 220px;
		}
}



@media (max-width: 768px) {

	.qc-row {
		flex-direction: column;
		}


	.qc-row-img {
		flex: none;
		max-width: 100%;
		}


	.qc-row-img img {
		height: auto;
		}


	.qc-row-info {
		border-left: none;
		border-right: none;
		border-top: 1px solid #ddd;
		border-bottom: 1px solid #ddd;
		}


	.qc-row-req {
		flex: none;
		max-width: 100%;
		}
}




/* =============================================
   MASTER: GRID CONTROL > DESKTOP > OK
=============================================== */
/* ----- Home: Promo Banners Desktop Grid 3/2 Display -- */
#promo-banners .promo-grid-desktop {
	display: grid;
	grid-template-columns: repeat(6, 1fr); /* -- OK! -- */
	gap: 15px;
	}


/* ----- Categories: Grid 5 -- */
.page-layout-quantum-category-layout .filterproducts.products {
	display: grid;
	grid-template-columns: repeat(5, 1fr); /* -- OK! -- */
	gap: 15px;
	}


/* ----- Categories w Product Filters & Search w Filters Grid 4 -- */
.page-layout-quantum-product-layout .filterproducts.products,
.catalogsearch-result-index .filterproducts.products {
	display: grid;
	grid-template-columns: repeat(4, 1fr);
	gap: 15px;
	}


/* ----- Page: Support Grid 4 -- */
.support-grid {
	display: grid;
	grid-template-columns: repeat(4, 1fr);  /* -- OK! -- */
	gap: 15px;
	}


/* ----- Page: Whats New > Show Grid 2 -- */
.wn-shows {
	grid-template-columns: repeat(2, 1fr) !important;
	}


/* ----- Page: Whats New > Products Grid 2 -- */
.wn-products {
	grid-template-columns: repeat(4, 1fr) !important;
	}


/* ----- Page: About > Gallery Thumbs Right Pane Grid 2 -- */
.about-gallery-thumbs {
	display: grid;
	grid-template-columns: repeat(2, 1fr);
	gap: 7px;
	}


/* ----- Module: Images & Videos Grid 3 -- */
.gallery-grid {
	display: grid;
	grid-template-columns: repeat(3, 1fr);
	gap: 25px;
	}


/* ----- Module: Quantum Catalogs -- */
.qc-dark-grid {
	display: grid;
	grid-template-columns: repeat(auto-fill, minmax(160px, 1fr));
	gap: 25px;
	}


.qc-grid {
	display: grid;
	grid-template-columns: repeat(auto-fill, minmax(160px, 1fr));
	gap: 15px;
	}


/* ----- Module: Blog 3 -- */
.qss-blog-cards-grid {
	display: grid;
	grid-template-columns: repeat(3, 1fr);
	gap: 20px;
	}


/* ----- Module: Promotional Materials 3 -- */
.promo-materials-grid {
	display: grid;
	grid-template-columns: repeat(3, 1fr);
	gap: 10px;
	}


/* ----- Products: Related 8 -- */
.catalog-product-view .products.list.items {
	display: grid;
	grid-template-columns: repeat(8, 1fr);
	gap: 10px;
	}



/* =============================================
   MASTER: GRID CONTROL / COLUMNS > MOBILE > OK
=============================================== */
@media (min-width: 992px) {	
	/* ----- List Mode: Filter Closed - Init State > 5/95% -- */
	.list-mode-active .columns {
		display: grid;
		grid-template-columns: 5% 95%;
		}	
		
	/* ----- List Mode: Filter Closed > 5/95% -- */
	.list-mode-active .columns.qss-sidebar-closed {
		grid-template-columns: 5% 95% !important;
		}
		
	/* ----- List Mode: Filter Open > 25/75% -- */	
	.list-mode-active .columns.qss-sidebar-open {
		grid-template-columns: 25% 75%;
		}

	/* ----- 2-Column: Categories w Product Filters & Search w Filters > 25/95% -- */
	.page-main .columns:not(.list-mode-active .columns) {
		display: grid;
		grid-template-columns: 25% 75%;
		}	
}


@media (min-width: 992px) {

	/* ----- Module: Images & Videos Grid > Product Page Tab 4 -- */
	.catalog-product-view .gallery-grid {
		grid-template-columns: repeat(4, 1fr);
		}
}



@media (max-width: 1100px) {

	/* ----- Module: Promotional Materials > Product Page Image Resize -- */
	.catalog-product-view .promo-card-image {
        flex: 0 0 50%;
		}
}



/* =============================================
   MASTER: GRID CONTROL > MOBILE
=============================================== */
@media (max-width: 991px) {
	/* ----- Home: Industry Tabs 2/2 -- */
	.industry-tabs {
		display: grid;
		grid-template-columns: 1fr 1fr;
		grid-template-rows: 1fr 1fr;
		gap: 0;
	}
			
	/* ----- Categories: Grid 4 -- */
	.page-layout-quantum-category-layout .filterproducts.products {
		grid-template-columns: repeat(4, 1fr);
		}	
	
	/* ----- Page: Contact Grid Promo Banners Shared from Home/Desktop grid 3/2 Display -- */
	.contact-index-index #promo-banners .promo-grid-desktop {
		grid-template-columns: repeat(1, 1fr); /* -- OK! -- */
		}

	.contact-index-index #promo-banners .promo-item,
	.contact-index-index #promo-banners .promo-item-wide {
		grid-column: span 1; /* -- OK! -- */
		}	
		
	/* ----- Module: Images & Videos Grid 2 -- */
	.gallery-grid {
		grid-template-columns: repeat(2, 1fr);
		}

	/* ----- Module: Blog 2 -- */	
	.qss-blog-cards-grid {
		grid-template-columns: repeat(2, 1fr);
		}	

	/* ----- Module: Promotional Materials > Product Page Tab 2 -- */
	.catalog-product-view .promo-materials-grid {
		grid-template-columns: repeat(2, 1fr);
		}	
		
	/* ----- Products: Related 4 -- */
	.catalog-product-view .products.list.items {
		display: grid;
		grid-template-columns: repeat(4, 1fr);
		gap: 10px;
		}
}


@media (max-width: 768px) {

	/* ----- Categories: Grid 3 -- */
	.page-layout-quantum-category-layout .filterproducts.products {
		grid-template-columns: repeat(3, 1fr);
		}


	/* ----- Categories w Product Filters & Search w Filters Grid 3 -- */
	.page-layout-quantum-product-layout .filterproducts.products,
	.catalogsearch-result-index .filterproducts.products {
		grid-template-columns: repeat(3, 1fr);
	}

	
	/* ----- Page: Support Grid 2 -- */
	.support-grid {
		grid-template-columns: repeat(2, 1fr); /* -- OK! -- */
		}
	

	/* ----- Page: Whats New > Show Grid 1 -- */
	.wn-shows {
		grid-template-columns: repeat(1, 1fr) !important;
		}

		
	/* ----- Page: Whats New > Products Grid 2 -- */
	.wn-products {
		grid-template-columns: repeat(2, 1fr) !important;
		}


	/* ----- Page: About > Gallery Thumbs Under Pane Shift Grid 4 -- */
	.about-gallery-thumbs {
		grid-template-columns: repeat(4, 1fr);
		}


	/* ----- Products: Related 8 -- */
	.catalog-product-view .products.list.items {
		display: grid;
		grid-template-columns: repeat(3, 1fr);
		gap: 10px;
		}

		
	/* ----- Module: Promotional Materials > Product Page Image Resize -- */
	.catalog-product-view .promo-card-image {
        flex: 0 0 50%;
		}
}



@media (max-width: 700px) {
	
	/* ----- Module: Promotional Materials > Product Page Tab 1 -- */
	.catalog-product-view .promo-materials-grid {
		grid-template-columns: repeat(1, 1fr);
		}
}



@media (max-width: 600px) {
	
	/* ----- Module: Quantum Catalogs -- */
	.qc-dark-grid {
		grid-template-columns: repeat(auto-fill, minmax(180px, 1fr));
		}

	
	.qc-grid {
		grid-template-columns: repeat(auto-fill, minmax(180px, 1fr));
		}
}



@media (max-width: 576px) {

	/* ----- Categories: Grid 2 -- */
	.page-layout-quantum-category-layout .filterproducts.products {
		grid-template-columns: repeat(2, 1fr);
		}


	/* ----- Categories w Product Filters & Search w Filters Grid 2 -- */
	.page-layout-quantum-product-layout .filterproducts.products,
	.catalogsearch-result-index .filterproducts.products {
		grid-template-columns: repeat(2, 1fr);
		}

	
	/* ----- Module: Images & Videos Grid 1 -- */
	.gallery-grid {
		grid-template-columns: 1fr;
		}

	
	/* ----- Module: Blog 1 -- */
	.qss-blog-cards-grid {
		grid-template-columns: 1fr;
		}
}



@media (max-width: 480px) {

	/* ----- Page: About > Gallery Thumbs Under Pane Shift Grid 3 -- */
	.about-gallery-thumbs {
		grid-template-columns: repeat(3, 1fr);
	}
}
