/**
 * Technetium PHP Framework
 * @version 3.0
 * @author Tony Leung <tony.leung@cruzium.com>
 * @copyright Copyright (c) 2023 Cruzium Digital
 * @license https://opensource.org/license/gpl-3-0/ GPL-3.0-only
 *
 * This stylesheet contains custom styles for individual sites.
 */

@charset "utf-8";

:root {
	--logo-size: 42px;
	--aria-outline: 2px solid rgba(var(--bs-primary-rgb), 0.5);
}
@media (min-width: 992px) {
	:root {
		--logo-size: 50px;
	}
}

/* html tags */
dt {
	color: var(--bs-primary);
}
hr {
	border-width: var(--bs-border-width) 0 0 0;
	border-style: solid;
	border-color: var(--bs-border-color);
}
a {
	color: inherit;
}
[type="checkbox"] {
	width: 20px;
	height: 20px;
	margin-left: 1rem;
}


/* shared classes */
.ajax-loading {
	height: 10rem;
	display: flex;
	align-items: center;
	justify-content: center;
}
.ajax-double-ring {
	width: 60px;
	height: 60px;
	background: transparent;
	display: block;
	shape-rendering: auto;
}
.ajax-double-ring .outer-ring {
	stroke: var(--bs-primary, #000000);
}
.ajax-double-ring .inner-ring {
	stroke: var(--bs-secondary, #000000);
}
.ajax-loading-init {
	position: absolute;
	inset: 0;
	background-color: rgba(var(--bs-white-rgb), 0.5);
	display: flex;
	align-items: center;
	justify-content: center;
	z-index: 8;
}

.badge.discount {
	border: var(--bs-border-width) solid var(--bs-danger);
	font-weight: normal;
	color: var(--bs-danger);
}
.badge.discount:before {
	content: '\f5af';
	margin-right: var(--bs-spacer-1);
	font-family: bootstrap-icons;
	vertical-align: top;
}

.bonus-point-summary {
	margin-top: var(--bs-spacer-4);
	margin-bottom: var(--bs-spacer-4);
}
.bonus-point-summary .bonus-point-balance {
	padding-bottom: var(--bs-spacer-2);
	font-size: var(--bs-fs-5);
	font-weight: bold;
	color: var(--bs-danger);
}
.bonus-point-summary .bonus-point-balance .value {
	font-size: 4rem;
	line-height: 1;
}
.bonus-point-summary .bonus-point-expiry {
	align-self: center;
}
.bonus-point-summary .bonus-point-expiry-title {
	margin-bottom: var(--bs-spacer-2);
	font-size: var(--bs-fs-6);
	font-weight: normal;
}
.bonus-point-summary .bonus-point-expiry-breakdown {
	padding-left: 0;
	list-style: none;
}
.bonus-point-summary .bonus-point-expiry-breakdown li {
	margin-bottom: 0;
}
.bonus-point-summary .bonus-point-balance ~ .bonus-point-expiry {
	margin-top: var(--bs-spacer-3);
}
.bonus-point-summary .form-actions {
	margin-top: var(--bs-spacer-3);
	align-self: end;
}
@media (min-width: 768px) {
	.bonus-point-summary {
		display: flex;
	}
	.bonus-point-summary .bonus-point-balance ~ .bonus-point-expiry {
		margin-top: 0;
		margin-left: var(--bs-spacer-5);
	}
}

.box {
	padding: var(--bs-spacer-3);
	border: var(--bs-border-width) solid var(--bs-border-color);
}
.box .form-check-input {
	--bs-form-check-bg: var(--bs-white);
}
.box-header {
	display: flex;
}
.box-header-actions {
	margin-left: auto;
	order: 1;
}
.box-header-actions > a {
	color: var(--bs-primary);
	text-decoration: none;
}
.box-title {
	font-size: var(--bs-fs-5);
}
.box-sub-title {
	margin-bottom: var(--bs-spacer-2);
	font-size: var(--bs-fs-6);
	color: var(--bs-body-color);
}
@media (min-width: 576px) {
	.box {
		padding: var(--bs-spacer-4);
	}
}
@media (min-width: 768px) {
	.box {
		padding: var(--bs-spacer-5);
	}
}

.cart-summary {
	--bs-table-spacer-x: var(--bs-spacer-2);
	--bs-table-spacer-y: var(--bs-spacer-3);
	--bs-table-border-color: #a8a8a8;
	--bs-table-bg: transparent;
}
.cart-summary > tbody {
	--bs-table-header-font-weight: normal;
}
.cart-summary > tfoot {
	font-weight: bold;
}
.cart-summary > :not(caption) > tr > td {
	text-align: right;
}
.cart-summary > :not(caption) > tr > th:first-child,
.cart-summary > :not(caption) > tr > td:first-child {
	padding-left: 0;
}
.cart-summary > :not(caption) > tr > th:last-child,
.cart-summary > :not(caption) > tr > td:last-child {
	padding-right: 0;
}
.cart-summary > :not(caption):last-child > tr:last-child > * {
	border-bottom-width: 0;
}
.cart-summary .form-label {
	font-weight: normal;
	color: var(--bs-body-color);
}
@media (min-width: 576px) {
	.cart-summary {
		--bs-table-spacer-x: var(--bs-spacer-4);
	}
}

.cart-list {
	--bs-list-group-bg: transparent;
	--bs-list-group-item-padding-x: var(--bs-spacer-4);
	--bs-list-group-item-padding-y: 1rem;
}
.cart-list .ajax-loading {
	height: auto;
	position: absolute;
	inset: 0;
	background-color: rgba(var(--bs-white-rgb), 0.5);
	z-index: 9;
}
.cart-list .list-group-item {
	margin-bottom: 0;
	border-width: 1px 0 0 0;
	display: flex;
}
.cart-list .list-group-item:first-of-type {
	border-top-width: 0;
}
.cart-list-image {
	max-width: 120px;
	flex-basis: 30%;
	flex-shrink: 0;
	align-self: flex-start;
}
.cart-list-info {
	overflow: hidden;
	margin-right: -2px;
	padding-right: 2px;
	flex-basis: 0;
	flex-grow: 1;
	align-self: center;
}
.cart-list-info:not(:first-child) {
	padding-left: 1rem;
}
.cart-list-info-header {
	display: flex;
}
.cart-list-info-header .cart-list-actions {
	margin-left: auto;
	padding-left: var(--bs-spacer-2);
}
.cart-list-info-header .cart-list-actions .btn {
	--bs-btn-padding-x: 0;
	--bs-btn-padding-y: 0;
	--bs-btn-border-width: 0;
	min-width: 1.5em;
}
.cart-list-title {
	overflow: hidden;
	margin: 0;
	font-size: var(--bs-body-font-size);
	font-weight: normal;
	color: var(--bs-body-color);
	line-height: var(--bs-body-line-height);
	text-overflow: ellipsis;
	white-space: normal;
	flex-grow: 1;
	align-self: center;
}
@media (min-width: 576px) {
	.cart-list-title {
		white-space: normal;
	}
}
.cart-list-addons {
	font-size: 0.75rem;
	color: var(--bs-secondary-color);
	list-style: disc;
}
.cart-list-addons-item {
	margin: 0;
}
.cart-list-metas {
	padding: 0;
	font-size: 0.75rem;
	color: var(--bs-secondary-color);
	list-style: none;
}
.cart-list-metas-item {
	margin: 0;
}
.box .cart-list {
	--bs-list-group-item-padding-x: 0;
}

.cart-actions {
	display: flex;
}
.cart-actions > .btn {
	white-space: nowrap;
	flex-basis: 0;
	flex-grow: 1;
}
.cart-actions > .btn:not(:last-child) {
	margin-right: var(--bs-spacer-1);
}

.input-search {
	position: relative;
}
.input-search .form-control {
	padding-right: 3.25rem;
}
.input-search .btn {
	position: absolute;
	top: 0;
	bottom: 0;
	right: 0;
}
.input-search .btn .bi {
	font-size: 1.75rem;
	line-height: 1;
}

.product-badges {
	display: flex;
	align-items: center;
	gap: 0.25em;
	justify-content: flex-end;
	flex-wrap: wrap;
}
.product-badges > :not(:last-child) {
}
.product-badges .badge {
	font-weight: normal;
	font-size: 0.8rem;
}

.product-card {
	max-width: 360px;
	position: relative;
	margin-left: auto;
	margin-right: auto;
}
.product-card .ajax-loading {
	height: auto;
	position: absolute;
	inset: 0;
	background-color: rgba(var(--bs-white-rgb), 0.5);
}
.product-card .card-image {
	position: relative;
}
.product-card .card-image-badges {
	position: absolute;
}
.product-card .card-image-badges.card-image-badges-top {
	top: 0.75rem;
}
.product-card .card-image-badges.card-image-badges-bottom {
	bottom: 0.75rem;
}
.product-card .card-image-badges.card-image-badges-left {
	left: 0.875rem;
}
.product-card .card-image-badges.card-image-badges-right {
	right: 0.875rem;
}
.product-card .card-body,
.product-card .card-actions {
	--bs-card-bg: rgba(var(--bs-primary-rgb), 0.1);
}
.product-card .card-actions .form-group {
	display: flex;
	flex-direction: column;
	align-items: center;
}
.product-card .card-actions .form-group:last-child {
	margin-bottom: 0;
}
.product-card.selectable {
	text-align: center;
}
.product-card.selectable .ajax-loading {
	z-index: 3;
}
.product-card.selectable .card-body {
	--bs-card-bg: transparent;
}
.product-card.selectable .card-actions {
	--bs-card-bg: transparent;
	align-items: center;
	justify-content: center;
}

.product-compare-row {
	position: relative;
	display: flex;
}
.product-compare-th,
.product-compare-td {
	padding: var(--bs-spacer-2) calc(var(--bs-gutter-x) * 0.5);
	flex-basis: 0;
	flex-grow: 1;
	flex-shrink: 0;
}
.product-compare-row > .product-compare-th {
	display: none;
}
.product-compare-row > .product-compare-td {
	overflow: hidden;
}
.product-compare-header {
	margin-bottom: var(--bs-spacer-3);
	text-align: center;
}
.product-compare-header .product-image {
	margin-bottom: var(--bs-spacer-3);
	padding-top: 0;
	padding-bottom: 0;
}
.product-compare-header .product-price {
	color: var(--bs-primary);
}
.product-compare-header .form-actions {
	margin-top: var(--bs-spacer-2);
	text-align: center;
}
.product-compare-header .skeleton {
	--bs-btn-border-color: transparent;
	--bs-btn-disabled-border-color: transparent;
	--bs-btn-color: transparent; 
	--bs-btn-disabled-color: transparent; 
	--bs-btn-disabled-opacity: 1;
	background-color: rgba(var(--bs-light-rgb), 0.5);
}
.product-compare-header > .sticky-wrapper > .product-compare-row:before {
	content: '';
	width: 100vw;
	height: 100%;
	position: absolute;
	left: 50%;
	transform: translateX(-50%);
	transition-property: box-shadow;
}
.product-compare-header > .sticky-wrapper.is-sticky {
	z-index: 8;
}
.product-compare-header > .sticky-wrapper.is-sticky > .product-compare-row:before {
	box-shadow: 0 0 1rem rgba(var(--bs-black-rgb), 0.1);
	background-color: var(--bs-body-bg);
}
.product-compare-pagination {
	margin-top: var(--bs-spacer-2);
	display: flex;
	justify-content: center;
}
.product-compare-pagination-bullet {
	width: 0.75rem;
	height: 0.75rem;
	margin: 0 0.25em;
	padding: 0;
	border: var(--bs-border-width) solid var(--bs-primary);
	border-radius: 50%;
	background-color: transparent;
	transition-property: background-color;
}
.product-compare-pagination-bullet.active {
	background-color: var(--bs-primary);
}
@media (min-width: 992px) {
	.product-compare-row > .product-compare-th {
		display: block;
	}
}

.product-gallery {
	max-width: 400px;
	margin-bottom: var(--bs-spacer-4);
}

.product-grid {
	position: relative;
	margin-bottom: -2rem;
}
.product-grid-header {
	margin-bottom: var(--bs-spacer-3);
	display: flex;
	align-items: center;
}
.product-grid-body {
	min-height: 15rem;
	position: relative;
}

.product-image {
	padding: 15%;
}
.product-image .img-holder {
	padding-bottom: 100%;
}
.product-image .img-holder > img {
	object-fit: contain;
}

.product-info > :not(:last-child) {
	margin-bottom: var(--bs-spacer-4);
}
.product-info .product-title {
	font-size: var(--bs-fs-3);
}
.product-info .product-price {
	font-size: var(--bs-fs-4);
	color: var(--bs-primary);
}
.product-info .product-purchase .input-spinner {
	max-width: 12em;
}
.product-info .product-stock {
	color: #e65504;
}

.product-list {
	min-height: 15rem;
	position: relative;
}
.product-list .list-group {
	--bs-list-group-item-padding-x: var(--bs-spacer-3);
	--bs-list-group-item-padding-y: var(--bs-spacer-3);
	--bs-list-group-border-width: 0;
}
.product-list .list-group-item {
	--bs-list-group-bg: rgba(var(--bs-light-rgb), 0.5);
}
.product-list .product-title {
	margin: 0;
	padding: calc(0.25rem + 1px) 0;
	font-size: var(--bs-body-font-size);
	color: var(--bs-body-color);
	line-height: var(--bs-body-line-height);
	display: flex;
	align-items: flex-start;
}
.product-list .product-title .badge {
	margin-top: -0.171875rem;
	margin-bottom: -0.171875rem;
}
.product-list .product-price {
	margin-bottom: var(--bs-spacer-2);
	padding: calc(0.25rem + 1px) 0;
}
.product-list .product-purchase .input-group {
	flex-wrap: nowrap;
}
.product-list .product-purchase .input-group .btn {
	white-space: nowrap;
}
@media (min-width: 576px) {
	.product-list .list-group {
		--bs-list-group-item-padding-x: var(--bs-spacer-2);
	}
	.product-list .list-group-item {
		display: flex;
		flex-wrap: wrap;
		align-items: center;
	}
	.product-list .list-group-item > * {
		padding-left: var(--bs-spacer-2);
		padding-right: var(--bs-spacer-2);
	}
	.product-list .product-title {
		margin-bottom: var(--bs-spacer-2);
		flex-basis: 100%;
	}
	.product-list .product-price {
		margin-bottom: 0;
		width: 10rem;
		text-align: right;
		padding-right: 2rem;
	}
	.product-list .product-code {
		width: 10rem;
	}
	.product-list .product-purchase {
		margin-left: auto;
	}
}
@media (min-width: 992px) {
	.product-list .list-group-item {
		flex-wrap: nowrap;
	}
	.product-list .product-title {
		margin-bottom: 0;
		flex-basis: 0;
		flex-grow: 1;
	}
	.product-list .product-purchase {
		margin-left: 0;
	}
}

.product-price .product-list-price {
	color: var(--bs-secondary-color);
	text-decoration: line-through;
}
.product-price .product-discount-price {
	color: var(--bs-danger);
}

.product-search-filter.collapse > .card,
.product-search-filter.collapsing > .card {
	margin-bottom: 0;
}
.product-search-filter .form-label {
	color: var(--bs-body-color);
}
.product-search-result-item {
	padding: 0;
}
.product-search-result-item > .btn {
	--bs-btn-padding-x: var(--bs-list-group-item-padding-x);
	--bs-btn-padding-y: var(--bs-list-group-item-padding-y);
	--bs-btn-hover-bg: rgba(var(--bs-primary-rgb), 0.1);
	width: 100%;
	text-align: left;
	display: flex;
	align-items: center;
}
.product-search-result-image {
	flex-basis: 80px;
	flex-shrink: 0;
}
.product-search-result-info {
	flex-grow: 1;
}
.product-search-result-image + .product-search-result-info {
	margin-left: var(--bs-spacer-3);
}
.product-search-result-title {
	margin-bottom: var(--bs-spacer-2);
	font-size: var(--bs-fs-5);
}

.product-spec-row {
	--bs-body-font-size: 14px;
	padding: var(--bs-spacer-2) 0;
	display: flex;
	flex-wrap: wrap;
}
.product-spec-row + .product-spec-row {
	border-top-width: var(--bs-border-width);
	border-top-style: solid;
	border-top-color: var(--bs-border-color);
}
.product-spec-label {
	padding: var(--bs-spacer-2) calc(var(--bs-gutter-x) * 0.5);
	font-weight: bold;
}
.product-spec-value {
	padding: var(--bs-spacer-2) calc(var(--bs-gutter-x) * 0.5);
}
.product-spec-row > .product-spec-label {
	flex-basis: 100%;
	flex-grow: 1;
	flex-shrink: 0;
}
.product-spec-row > .product-spec-value {
	flex-basis: 1%;
	flex-grow: 1;
}
.product-spec-section + .product-spec-section {
	margin-top: var(--bs-spacer-4);
}
.product-spec-section-title {
	padding: var(--bs-spacer-2);
	background-color: var(--bs-light);
	font-size: var(--bs-fs-5);
	font-weight: bold;
	text-align: center;
}
.product-spec-section-title {
	margin-bottom: var(--bs-spacer-2);
}
@media (min-width: 992px) {
	.product-spec-row {
		flex-wrap: nowrap;
	}
	.product-spec-row > .product-spec-label {
		flex-basis: 1%;
	}
}

.product-tabs .nav-pills {
	background-color: #e8e8e8;
}
.product-tabs .tab-content {
	padding: 2rem 0;
}
@media (min-width: 576px) {
	.product-tabs .tab-content {
		padding-left: 1.5rem;
		padding-right: 1.5rem;
	}
}
@media (min-width: 992px) {
	.product-tabs .tab-content {
		padding-left: 2.5rem;
		padding-right: 2.5rem;
	}
}

.related-products .product-card {
	--bs-card-spacer-x: 0;
	--bs-card-spacer-y: 0;
	--bs-card-border-width: 0;
	margin: 0;
	text-align: center;
}
.related-products .product-card .card-body,
.related-products .product-card .card-actions {
	--bs-card-bg: transparent;
}
.related-products .product-card .card-title {
	font-size: 0.8rem;
	font-weight: normal;
}
.related-products .related-by {
	font-size: 0.6rem;
	color: var(--bs-primary);
}


/* page structure */
.page-header > .container {
	display: flex;
}
.page-header .navbar-brand > img {
	height: var(--logo-size);
}
.page-header .navbar > .header-block {
	display: flex;
	align-items: center;
}
.page-header .navbar > .header-block + .header-block {
	margin-left: auto;
}
.page-header .navbar .hamburger {
	position: relative;
	margin-left: calc((var(--hamburger-size) - var(--hamburger-stroke-width)) * -0.5);
	display: block;
}
.page-header .navbar .header-links {
	--bs-nav-link-padding-x: 0;
	--bs-nav-link-padding-y: 0;
	--bs-nav-link-color: var(--bs-body-color);
	--bs-nav-link-hover-color: #666666;
	margin-left: auto;
	font-size: 0.875rem;
	align-items: center;
	display: flex;
}
.page-header .navbar .header-links .bi {
	color: var(--bs-primary);
}
.page-header .navbar .header-links .nav-item + .nav-item {
	margin-left: 0.5rem;
}
.page-header .navbar .header-links .nav-link:focus {
	outline: var(--aria-outline);
}
.page-header .navbar .header-links .nav-icon-link {
	--bs-nav-link-color: var(--bs-primary);
	--bs-nav-link-hover-color: var(--bs-primary);
	display: flex;
	align-items: center;
}
.page-header .navbar .header-links .nav-icon-link .bi {
	font-size: 1.5rem;
	line-height: 1;
	vertical-align: top;
}
.page-header .navbar .header-links .nav-icon-link [class^="fb-"],
.page-header .navbar .header-links .nav-icon-link [class*=" fb-"] {
	font-size: 1.875rem;
	line-height: 1;
}
.page-header .navbar .header-links .cart-items-count.badge {
	--bs-badge-padding-x: 0.5em;
	--bs-badge-padding-y: 0.25em;
	--bs-badge-font-size: 0.75em;
	--bs-badge-font-weight: normal;
	position: absolute;
	bottom: 50%;
	left: 60%;
	background-color: var(--bs-danger);
}
.page-header .main-nav {
	display: none;
}
.page-header.no-shadow {
	box-shadow: none !important;
}
.sticky-wrapper > .page-header {
	transition-property: box-shadow;
}
.sticky-wrapper.is-sticky > .page-header {
	box-shadow: 0 0 1rem rgba(var(--bs-black-rgb), 0.1);
	background-color: var(--bs-body-bg);
}
@media (min-width: 576px) {
	.page-header .navbar .header-links .nav-item + .nav-item {
		margin-left: 1.75rem;
	}
}
@media (min-width: 992px) {
	.page-header > .container {
		display: block;
	}
	.page-header .navbar > .header-block {
		flex-basis: 100%;
	}
	.page-header .navbar > .header-block + .header-block {
		margin-top: var(--bs-spacer-4);
	}
	.page-header .main-nav {
		display: block;
	}
	.page-header .main-nav .nav {
		--bs-nav-link-padding-x: 0;
		--bs-nav-link-padding-y: var(--bs-spacer-1);
		--bs-nav-link-color: var(--bs-body-color);
		--bs-nav-link-hover-color: var(--bs-body-color);
	}
	.page-header .main-nav .nav-item:hover > .dropdown-menu {
		display: block;
	}
	.page-header .main-nav .dropdown-menu .nav-link {
		--bs-nav-link-hover-color: var(--bs-primary);
		white-space: nowrap;
		display: flex;
		align-items: center;
	}
	.page-header .main-nav .dropdown-menu [class^="fb-"],
	.page-header .main-nav .dropdown-menu [class*=" fb-"] {
		margin-right: 0.5rem;
		font-size: 3rem;
	}
	.page-header .main-nav > .nav > .nav-item .nav-link {
		position: relative;
		top: 0;
		transition-property: top;
	}
	.page-header .main-nav > .nav > .nav-item + .nav-item {
		margin-left: 2.5rem;
	}
	.page-header .main-nav > .nav > .nav-item:hover > .nav-link {
		top: -0.5rem;
	}
}

.page-body {
	flex-grow: 1;
}

.page-footer {
	--bs-body-color: #515151;
	background-color: #f1f1f1;
	color: var(--bs-body-color);
}
.page-footer .footer-block {
	padding: 2rem 0;
}
.page-footer .footer-block + .footer-block {
	border-top: 1px solid #d9d9d9;
}
.page-footer .sns-block .nav {
	--bs-nav-link-padding-x: 0;
	--bs-nav-link-padding-y: 0;
	--bs-nav-link-color: #858585;
	--bs-nav-link-hover-color: #b0b1b0;
}
.page-footer .sns-block .nav-item:not(:last-child) {
	margin-right: 2rem;
}
.page-footer .sns-block .nav-link {
	line-height: 1;
}
.page-footer .sns-block .bi {
	font-size: 2.25rem;
}
.page-footer .group-block {
	font-size: 1.125rem;
}
.page-footer .group-block a {
	color: var(--bs-body-color);
	text-decoration: none;
}
.page-footer .group-block a:hover {
	color: var(--bs-body-color);
	text-decoration: underline;
}
.page-footer .legal-block .footer-links {
	--bs-nav-link-padding-x: 0;
	--bs-nav-link-padding-y: 0;
	--bs-nav-link-font-weight: bold;
	--bs-nav-link-color: var(--bs-body-color);
	--bs-nav-link-hover-color: var(--bs-body-color);
	margin-top: var(--bs-spacer-3);
	font-size: 0.875rem;
}
.page-footer .legal-block .footer-links .nav-item {
	margin-top: var(--bs-spacer-2);
}
.page-footer .legal-block .footer-links .nav-item:not(:last-child) {
	position: relative;
	margin-right: 0.75rem;
	padding-right: calc(0.75rem + 1px);
}
.page-footer .legal-block .footer-links .nav-item:not(:last-child):after {
	content: '';
	position: absolute;
	inset: 5% 0 5% auto;
	border-right: 1px solid #8a8a8a;
}
.page-footer .legal-block .footer-links .nav-link:hover {
	text-decoration: underline;
}
.page-footer .legal-block .copyright {
	margin-top: 0.5rem;
	font-size: 0.8em;
}
.page-footer .btn[data-toggle="back-to-top"] {
	width: calc(var(--bs-btn-padding-y) * 2 + 1em * var(--bs-btn-line-height));
	position: fixed;
	bottom: var(--bs-spacer-4);
	right: 0.75rem;
	transform: translateX(0);
	transition-property: right, background-color, transform;
}
.page-footer .btn[data-toggle="back-to-top"].hide {
	right: 0;
	transform: translateX(100%);
}
@media (min-width: 576px) {
	.page-footer .btn[data-toggle="back-to-top"] {
		right: var(--bs-spacer-3);
	}
}
@media (min-width: 768px) {
	.page-footer .btn[data-toggle="back-to-top"] {
		bottom: var(--bs-spacer-5);
		right: var(--bs-spacer-4);
	}
}
@media (min-width: 992px) {
	.page-footer .footer-block {
		padding-top: 2.5rem;
		padding-bottom: 2.5rem;
	}
	.page-footer .legal-block .footer-links {
		margin-top: 0;
	}
	.page-footer .legal-block .footer-links .nav-item {
		margin-top: 0;
	}
	.page-footer .legal-block .footer-links .nav-item:not(:last-child) {
		margin-right: 1.25rem;
		padding-right: calc(1.25rem + 1px);
	}
}

.announcement-bar {
	padding: var(--bs-spacer-2) 0;
	background: var(--bs-primary);
	color: var(--bs-white);
	text-align: center;
}
.announcement-bar > .container {
	display: flex;
	align-items: center;
	justify-content: center;
}
.announcement-icon {
	margin-top: calc(var(--bs-spacer-2) * -1);
	margin-bottom: calc(var(--bs-spacer-2) * -1);
	margin-right: var(--bs-spacer-2);
	flex-shrink: 0;
}
.announcement-icon [class^="fb-"],
.announcement-icon [class*=" fb-"] {
	font-size: var(--bs-fs-1);
}

.section-header {
	margin-bottom: var(--bs-spacer-4);
	display: flex;
}
.section-header-actions {
	margin-left: auto;
	padding: calc((var(--bs-fs-2) * 1.2 - var(--bs-body-font-size) * var(--bs-body-line-height)) * 0.5) 0;
}
.section-header-actions > a {
	color: var(--bs-primary);
	text-decoration: none;
}
.section-title {
	margin-bottom: 0;
	font-size: var(--bs-fs-2);
}

#offcanvas-cart .offcanvas-footer {
	background-color: var(--bs-light);
}
#offcanvas-cart .cart-list {
	--bs-list-group-bg: transparent;
	--bs-list-group-item-padding-x: var(--bs-offcanvas-padding-x);
	--bs-list-group-item-padding-y: var(--bs-offcanvas-padding-y);
	margin-left: calc(var(--bs-offcanvas-padding-x) * -1);
	margin-right: calc(var(--bs-offcanvas-padding-x) * -1);
}
#offcanvas-cart .cart-list:first-child {
	margin-top: calc(var(--bs-offcanvas-padding-y) * -1);
}
#offcanvas-cart .cart-list:last-child {
	margin-bottom: calc(var(--bs-offcanvas-padding-y) * -1);
}
#offcanvas-cart .cart-list .list-group-item {
	margin-bottom: 0;
}

#offcanvas-nav .offcanvas-header {
	--bs-border-width: 0;
}
#offcanvas-nav .offcanvas-body {
	--bs-offcanvas-padding-y: var(--bs-spacer-3);
	padding-left: 0;
	padding-right: 0;
}
#offcanvas-nav .nav {
	--bs-nav-link-padding-x: var(--bs-offcanvas-padding-x);
	--bs-nav-link-padding-y: 0.75rem;
	--bs-nav-link-color: var(--bs-body-color);
	--bs-nav-link-hover-color: var(--bs-body-color);
	display: block;
}
#offcanvas-nav .nav .dropdown-menu {
	--bs-dropdown-padding-y: 0;
	--bs-nav-link-padding-x: inherit;
	position: relative;
	box-shadow: none;
	flex-basis: 100%;
}
#offcanvas-nav .nav-item {
	display: flex;
	flex-wrap: wrap;
}
#offcanvas-nav .nav-link {
	flex-grow: 1;
	display: flex;
	align-items: center;
}
#offcanvas-nav .nav-link > [class^="fb-"],
#offcanvas-nav .nav-link > [class*=" fb-"] {
	margin-right: 0.25em;
	font-size: 2.5em;
	color: var(--bs-primary);
}
#offcanvas-nav .nav-opener span {
	margin-left: auto;
	padding: 0 var(--bs-offcanvas-padding-x) 0 0;
	border-width: 0;
	background-color: transparent;
	font-size: 1.125rem;
}
	#offcanvas-nav .nav-opener span:after {
		content: '\f282';
		font-family: bootstrap-icons;
		display: inline-block;
		transition-property: transform;
	}
#offcanvas-nav .nav-opener[aria-expanded=true] span:after {
	transform: scaleY(-1);
}
#offcanvas-nav .offcanvas-footer .btn-group {
	display: flex;
}
#offcanvas-nav .offcanvas-footer .btn-group > .btn {
	flex-basis: 0;
	flex-grow: 1;
}

/* module styles */
.section.featured-products .tab-content {
	max-width: 1150px;
	margin-left: auto;
	margin-right: auto;
	padding-top: 2rem;
}

.section.form-block form {
	max-width: 600px;
	margin-left: auto;
	margin-right: auto;
}
.section.form-block .form-actions {
	display: flex;
	align-items: center;
}
.section.form-block .form-actions .btn:not(:last-child) {
	margin-right: 0.25rem;
}
@media (min-width: 576px) {
	.section.form-block form {
		padding: var(--bs-spacer-4);
	}
}
@media (min-width: 768px) {
	.section.form-block form {
		padding: var(--bs-spacer-5);
	}
}

.section.hero {
	padding-top: 0;
	padding-bottom: 0;
}
.section.hero .section-body {
	border-top: 0.5rem solid var(--bs-primary);
}
.section.hero .swiper .img-holder {
	padding-bottom: 27.5%;
}
@media (max-width: 575px) {
	.section.hero > .container {
		padding-left: 0;
		padding-right: 0;
	}
}

@media (min-width: 992px) {
	.section.product-catalog .section-body {
		display: flex;
	}
	.section.product-catalog .product-filter {
		position: relative;
		margin-right: 2.5rem;
		flex-basis: 14rem;
		flex-shrink: 0;
		order: 0;
	}
	.section.product-catalog .product-filter > form {
		width: 100%;
		margin-top: calc(3rem + 2px + var(--bs-spacer-3));
	}
	.section.product-catalog .product-grid {
		flex-grow: 1;
		order: 1;
	}
}

.modal#site-search {
	--bs-modal-margin: 8rem;
	--bs-modal-padding: 0;
	--bs-modal-border-width: 0;
	--bs-modal-bg: transparent;
	background-color: rgba(var(--bs-black-rgb), 0.5);
}


/* page specific styles */
.account-nav {
	margin-bottom: var(--bs-spacer-3);
}
.account-nav .nav {
	display: none;
}
@media (min-width: 768px) {
	.account-nav .nav {
		display: flex;
	}
	.account-nav .nav-item {
		flex-grow: 1;
	}
	.account-nav .nav-link {
		text-align: center;
	}
}
@media (min-width: 992px) {
	.account-nav {
		width: 15rem;
		margin-bottom: 0;
	}
	.account-nav .nav {
		flex-direction: column;
	}
	.account-nav .nav-item:not(:last-child) {
		margin-bottom: var(--bs-spacer-2);
	}
}

.benefit-group {
	--benefit-item-gutter: 4rem;
	--benefit-icon-size: 9rem;
	padding: 0;
	list-style: none;
	display: flex;
	justify-content: center;
}
.benefit-group-item {
	width: var(--benefit-icon-size);
	position: relative;
	margin: 0;
	box-sizing: content-box;
}
.benefit-group-item:before {
	content: '';
	height: 1.5rem;
	position: absolute;
	top: calc(var(--benefit-icon-size) * 0.5 - 0.75rem);
	left: 50%;
	right: 50%;
	background-color: var(--bs-primary);
}
.benefit-group-item:not(:first-child) {
	padding-left: calc(var(--benefit-item-gutter) * 0.5);
}
.benefit-group-item:not(:first-child):before {
	left: 0;
}
.benefit-group-item:not(:last-child) {
	padding-right: calc(var(--benefit-item-gutter) * 0.5);
}
.benefit-group-item:not(:last-child):before {
	right: 0;
}
.benefit-group-item-icon {
	width: var(--benefit-icon-size);
	height: var(--benefit-icon-size);
	position: relative;
	border: 2px solid var(--bs-primary);
	border-radius: 50%;
	background-color: var(--bs-white);
	font-size: calc(var(--benefit-icon-size) * 0.65);
	color: var(--bs-primary);
	line-height: 1;
	display: flex;
	align-items: center;
	justify-content: center;
}
.benefit-group-item-desc {
	font-weight: bold;
	color: var(--bs-primary);
	text-align: center;
}
.benefit-group-item-icon + .benefit-group-item-desc {
	margin-top: 0.5rem;
}

.checkout-step {
	--step-padding-x: 1.5rem;
	--step-padding-y: 1.5rem;
	--step-title-color: var(--bs-body-color);
	margin-bottom: 1rem;
	border: 1px solid var(--bs-border-color);
}
.checkout-step .form-actions {
	display: flex;
}
.checkout-step .form-actions > .btn {
	flex-basis: 0;
	flex-grow: 1;
}
.checkout-step-header {
	padding: var(--step-padding-y) var(--step-padding-x);
	display: flex;
}
.checkout-step-body {
	padding: 0 var(--step-padding-x) var(--step-padding-y) var(--step-padding-x);
}
.checkout-step-title {
	margin-bottom: 0;
	font-size: var(--bs-fs-4);
	color: var(--step-title-color);
}
.checkout-step-title .checkout-step-number {
	width: 1.5em;
	height: 1.5em;
	margin-right: var(--bs-spacer-1);
	background-color: var(--step-title-color);
	color: var(--bs-white);
	line-height: 1.35;
	text-align: center;
	display: inline-block;
}
.checkout-step-actions {
	margin-left: auto;
}
.checkout-step-actions .btn {
	--bs-btn-padding-x: 0;
	--bs-btn-padding-y: 0;
	--bs-btn-font-size: var(--bs-fs-4);
	--bs-btn-color: var(--bs-primary);
	--bs-btn-active-border-color: transparent;
	--bs-btn-active-color: var(--bs-primary);
}
.checkout-step.disabled {
	--step-title-color: #cecece;
}
.checkout-step.disabled .checkout-step-body {
	display: none;
}
.checkout-step-indicator {
	list-style: none;
	display: flex;
}
.checkout-step-indicator > li {
	width: 2.25rem;
	height: 2.25rem;
	position: relative;
	margin: 0;
	border-radius: 50%;
	background-color: var(--bs-primary);
	font-size: var(--bs-fs-5);
	color: var(--bs-white);
}
.checkout-step-indicator > li + li {
	margin-left: var(--bs-spacer-2);
}
.checkout-step-indicator > li + li:before {
	content: '';
	width: var(--bs-spacer-2);
	position: absolute;
	top: calc(50% - 2px);
	right: 100%;
	border-top: 4px solid var(--bs-primary);
}
.checkout-step-indicator > li.disabled {
	background-color: var(--bs-secondary-color);
}
.checkout-step-indicator > li.disabled:before {
	border-top-color: var(--bs-secondary-color);
}
.checkout-step-indicator > li > .btn {
	--bs-btn-padding-x: 0;
	--bs-btn-padding-y: 0;
	--bs-btn-border-width: 0;
	--bs-btn-border-radius: 50%;
	--bs-btn-color: inherit;
	--bs-btn-disabled-opacity: 1;
	width: 100%;
	height: 100%;
}
.checkout-step-indicator > li > .btn [class^="fb-"],
.checkout-step-indicator > li > .btn [class*=" fb-"] {
	font-size: 1.75em;
}
.section-header .checkout-step-indicator {
	margin-left: auto;
	align-self: center;
}
.section aside.order-summary {
	padding-top: var(--bs-spacer-3);
}
@media (min-width: 576px) {
	.checkout-step .form-actions {
		text-align: right;
		display: block;
	}
	.checkout-step-indicator > li + li {
		margin-left: var(--bs-spacer-3);
	}
	.checkout-step-indicator > li + li:before {
		width: var(--bs-spacer-3);
	}
}
@media (min-width: 768px) {
	.checkout-step-indicator > li + li {
		margin-left: var(--bs-spacer-4);
	}
	.checkout-step-indicator > li + li:before {
		width: var(--bs-spacer-4);
	}
}
@media (min-width: 992px) {
	.section aside.order-summary {
		padding-top: calc(var(--bs-fs-2) * 1.2 + var(--bs-spacer-4));
	}
}

#product-addon .modal-body {
	overflow: hidden;
}
#product-addon .modal-footer .btn {
	flex-grow: 1;
}
#product-addon .nav-tabs {
	margin-bottom: var(--bs-spacer-4)
}
#product-addon .tab-content > .tab-pane {
	max-height: calc(90vh - var(--bs-modal-padding) * 4 - var(--bs-modal-border-width) * 2 - var(--bs-fs-5) * var(--bs-modal-title-line-height) - var(--bs-spacer-4) - 6.8125rem - 6px);
	overflow: auto;
}
#product-addon .list-group-item {
	--bs-gutter-x: var(--bs-spacer-2);
}
#product-addon .list-group-item .product-list-price {
	font-size: 0.8em;
}
#product-addon .list-group-item .product-qty {
	width: 120px;
	text-align: center;
}
#product-addon .list-group-item .product-qty > .btn,
#product-addon .list-group-item .product-qty > .btn-group {
	width: 100%;
}
#product-addon .list-group-item .product-qty > .form-group {
	margin-bottom: 0;
}
@media (min-width: 576px) {
	#product-addon .modal-footer .btn {
		flex-grow: 0;
	}
	#product-addon .list-group-item {
		--bs-gutter-x: var(--bs-spacer-3);
	}
	#product-addon .list-group-item .product-qty {
		width: 150px;
	}
}

.box.quotation-highlight {
	margin-bottom: var(--bs-spacer-3);
	padding: var(--bs-spacer-3);
	border-width: 0;
	background-color: var(--bs-primary);
	color: var(--bs-white);
	text-align: center;
}
.box.quotation-highlight h1,
.box.quotation-highlight h2,
.box.quotation-highlight h3,
.box.quotation-highlight h4,
.box.quotation-highlight h5,
.box.quotation-highlight h6,
.box.quotation-highlight .h1,
.box.quotation-highlight .h2,
.box.quotation-highlight .h3,
.box.quotation-highlight .h4,
.box.quotation-highlight .h5,
.box.quotation-highlight .h6 {
	color: inherit;
}
.box.quotation-terms {
	font-size: 0.875rem;
	color: var(--bs-secondary-color);
}
.box.quotation-terms:not(:first-child) {
	margin-top: var(--bs-fs-4);
}
.box.quotation-terms .box-title {
	font-size: var(--bs-fs-6);
	color: inherit;
}
.box.quotation-terms .box-sub-title {
	font-size: inherit;
	color: inherit;
}

span, p, div, th, td {
	word-break: break-word;
}
.sitemap-list {
	--bs-gutter-x: var(--bs-spacer-3);
	padding: 0;
	list-style: none;
}

	.sitemap-list .sitemap-list {
		margin-left: calc(var(--bs-gutter-x) * -0.5);
		margin-right: calc(var(--bs-gutter-x) * -0.5);
		display: flex;
		flex-wrap: wrap;
	}

.sitemap-link {
	text-decoration: none;
}

	.sitemap-link[href="#"],
	.sitemap-link[href="javascript:;"] {
		pointer-events: none;
	}

.sitemap-list-0 > .sitemap-item:not(:last-child) {
	margin-bottom: var(--bs-spacer-3);
}

.sitemap-list-0 > .sitemap-item > .sitemap-link {
	font-size: var(--bs-fs-3);
	color: var(--bs-primary);
}

.sitemap-list-1 {
	margin-top: var(--bs-spacer-3);
}

	.sitemap-list-1 .sitemap-item {
		padding-left: calc(var(--bs-gutter-x) * 0.5);
		padding-right: calc(var(--bs-gutter-x) * 0.5);
		flex-basis: 100%;
	}

	.sitemap-list-1 > .sitemap-item:not(:last-child) {
		margin-bottom: var(--bs-spacer-3);
	}

	.sitemap-list-1 > .sitemap-item > .sitemap-link {
		font-size: var(--bs-fs-5);
	}

.sitemap-list-2 {
	margin-top: var(--bs-spacer-2);
}

@media (min-width: 576px) {
	.sitemap-list-1 .sitemap-item:not(.has-children) {
		flex-basis: 50%;
	}
	.nav-tabs .nav-link span {
		font-size: 14px;
	}
}

@media (min-width: 768px) {
	.sitemap-list-1 .sitemap-item:not(.has-children) {
		flex-basis: 33.333333%;
	}
	.nav-tabs .nav-link span {
		font-size: 16px;
	}

}

@media (min-width: 992px) {
	.sitemap-list-1 .sitemap-item:not(.has-children) {
		flex-basis: 25%;
	}
}

@media (max-width: 575px) {
	:root {
		--bs-fs-1: calc(1.225rem + 1.5vw);
		--bs-fs-2: calc(1.2rem + 0.9vw);
		--bs-fs-3: calc(1.175rem + .6vw);
		--bs-fs-4: calc(1.15rem + .3vw);
	}
	body {
		font-size: 12px;
		-webkit-hyphens: auto;
		-moz-hyphens: auto;
		-ms-hyphens: auto;
		hyphens: auto;
	}
	.btn, .btn-lg {
		--bs-btn-font-size: 12px;
	}
	.form-control {
		--bs-form-control-padding-y: 0.5rem;
	}
	.input-group-sm .btn {
		padding: var(--bs-btn-padding-y) var(--bs-btn-padding-x);
	}

	
	.product-list .list-group-item {
		display: flex;
		flex-wrap: wrap;
		align-items: center;
	
	}
	.product-list .product-title {
		margin-bottom: 0;
		flex-basis: 0;
		flex-grow: 1;
		min-width: max-content;
		word-break: normal;
	}

	.product-list .product-price {
		margin-bottom: 0;
		width: 10rem;
		text-align: left;
		padding-right: 2rem;
	}

	.product-list .product-code {
		width: 10rem;
	}

	.box {
		overflow: scroll;
	}
	.box .list-group {
		width: max-content;
	}
	.btn.password-peekaboo-toggle {
		padding: var(--bs-btn-padding-y) 24px;
	}
	.password-peekaboo-toggle .bi {
		display: block;
		width: 0px;
		height: 0px;
		margin-top: -12px;
	}


	.nav-tabs .nav-link [class^="fb-"],
	.nav-tabs .nav-link [class*=" fb-"] {
		display: unset;
		font-size: x-large;
	}

	.nav-tabs .nav-link span{
		display: none;
	}


	.nav-tabs .nav-link.active [class^="fb-"],
	.nav-tabs .nav-link.active [class*=" fb-"] {
		display: none;
	}
	.nav-tabs .nav-link.active span {
		display: unset;
	}
}
.cms-content:has(table) {
	overflow-x: scroll;
}
.cms-content table {
	width: 100%;
	min-width: max-content;
	overflow-x: scroll;
}
.cms-content table td {
	padding: 0.25rem;
}