/* 
PlasmaPen Website Styles
Copyright 2025 - Netfuel Ltd
www.netfuel.co.uk
26-Sep Additions: Classic Niall on Behalf of HouseDigital
*/
@font-face {
	font-family: 'Inter';
	font-style: normal;
	font-weight: 300;
	font-display: swap;
	src: url('../fonts/inter/Inter-Light.woff2') format('woff2');
}

@font-face {
	font-family: 'Inter';
	font-style: italic;
	font-weight: 300;
	font-display: swap;
	src: url('../fonts/inter/Inter-LightItalic.woff2') format('woff2');
}

@font-face {
	font-family: 'Inter';
	font-style: normal;
	font-weight: 500;
	font-display: swap;
	src: url('../fonts/inter/Inter-Medium.woff2') format('woff2');
}

@font-face {
	font-family: 'Lexend Deca';
	font-style: normal;
	font-weight: 500;
	font-display: swap;
	src: url('../fonts/lexand-deca/LexendDeca-Medium.woff2') format('woff2');
}

:root {
	--default-gutter-x: 15px;
	--default-gutter-y: 15px;
	--color-primary: #000000;
	--color-secondary: #232323;
	--color-white: #ffffff;
	--color-grey: #F5F5F5;
	--color-grey-darker: #e3e3e3;
	--color-red: #b62323;
	--text-size-xs: 12px;
	--text-size-sm: 14px;
	--text-size: 16px;
	--text-size-md: 20px;
	--text-size-lg: 32px;
	--text-size-xl: 48px;
	--transition: all 0.25s ease-in-out;
	--transition-background: background-color 0.25s ease-in-out;
	--transition-border: border-color 0.25s ease-in-out;
	--transition-color: color 0.25s ease-in-out;
}

/* General Layout */
html,
body {
	margin: 0;
	padding-right: 0 !important;
	background-color: var(--color-white);
	font-family: 'Inter', sans-serif;
	font-size: var(--text-size);
	color: var(--color-secondary);
	font-weight: 300;
	overflow-x: clip;
}

body {
	&:after {
		transition: var(--transition);
	}

	&.filter-open .body-overlay,
	&.mini-cart-open .body-overlay {
		display: block;
	}
}

.body-overlay {
	display: none;
	content: '';
	position: fixed;
	top: 0;
	left: 0;
	z-index: 1023;
	width: 100%;
	height: 100%;
	background: rgba(0, 0, 0, 0.5);
}

.mt-1 {
	margin-top: calc(var(--default-gutter-y) * 1) !important;
}

.mb-1 {
	margin-bottom: calc(var(--default-gutter-y) * 1) !important;
}

.mt-2 {
	margin-top: calc(var(--default-gutter-y) * 2) !important;
}

.mb-2 {
	margin-bottom: calc(var(--default-gutter-y) * 2) !important;
}

.mt-4 {
	margin-top: calc(var(--default-gutter-y) * 4) !important;
}

.mb-4 {
	margin-bottom: calc(var(--default-gutter-y) * 4) !important;
}

.mt-6 {
	margin-top: calc(var(--default-gutter-y) * 6) !important;
}

.mb-6 {
	margin-bottom: calc(var(--default-gutter-y) * 6) !important;
}

.pt-1 {
	padding-top: calc(var(--default-gutter-y) * 1) !important;
}

.pb-1 {
	padding-bottom: calc(var(--default-gutter-y) * 1) !important;
}

.pt-2 {
	padding-top: calc(var(--default-gutter-y) * 2) !important;
}

.pb-2 {
	padding-bottom: calc(var(--default-gutter-y) * 2) !important;
}

.pt-4 {
	padding-top: calc(var(--default-gutter-y) * 4) !important;
}

.pb-4 {
	padding-bottom: calc(var(--default-gutter-y) * 4) !important;
}

.pt-6 {
	padding-top: calc(var(--default-gutter-y) * 6) !important;
}

.pb-6 {
	padding-bottom: calc(var(--default-gutter-y) * 6) !important;
}

.padded-y-6 {
	padding-top: calc(var(--default-gutter-y) * 6) !important;
	padding-bottom: calc(var(--default-gutter-y) * 6) !important;
}

[class*="container"]:not(.container-fluid, .ginput_container, [class*="wc-block-components"], [class*="wc-blocks-components"]) {
	max-width: calc(1780px + calc(var(--default-gutter-x) * 4));
	padding-left: calc(var(--default-gutter-x) * 2);
	padding-right: calc(var(--default-gutter-x) * 2);
}

.container-fluid {
	padding-left: 0;
	padding-right: 0;
}

.row,
.sub-header .swiper:not(.swiper-initialized) .swiper-wrapper,
.gform_fields,
div.woocommerce:not(.dgwt-wcas-search-wrapp, .dgwt-wcas-suggestions-wrapp),
.wc-block-components-address-form {
	&:not(.col-gap-1, .col-gap-2, .col-gap-4) {
		margin-left: calc((var(--default-gutter-x) * 1) / -1);
		margin-right: calc((var(--default-gutter-x) * 1) / -1);

		>* {
			padding-left: var(--default-gutter-x);
			padding-right: var(--default-gutter-x);
		}
	}
}

.row {
	&:not(.row-gap-0) {
		row-gap: calc(var(--default-gutter-y) * 2);
	}

	&.row-gap-4 {
		row-gap: calc(var(--default-gutter-y) * 4);
	}

	&.col-gap-1 {
		margin-left: calc((var(--default-gutter-y) / 2) / -1);
		margin-right: calc((var(--default-gutter-y) / 2) / -1);

		>* {
			padding-left: calc(var(--default-gutter-x) / 2);
			padding-right: calc(var(--default-gutter-x) / 2);
		}
	}
}

.row.row-gap-1,
.gform_fields {
	row-gap: var(--default-gutter-y);
}

.menu,
ul.woocommerce-shipping-methods {
	margin-bottom: 0;
	padding: 0;
	list-style: none;
}

img {
	max-width: 100%;
	flex-shrink: 0;
	border: 0;
	vertical-align: middle;
}

span.ratio {
	display: block;
}

bdi span,
#breadcrumbs span {
	display: inline-block;
}

button {
	padding: 0;
	background: transparent;
	border: 0;
}

a {
	text-decoration: none;
	color: inherit;
	transition: var(--transition-color);

	&:hover {
		color: inherit;
	}

	&.remove {
		text-decoration: underline;
	}
}

strong {
	font-weight: 500;
}

.title,
:is(h1, h2, h3, h4, h5, h6) {
	display: block;
	margin-bottom: 0;
	font-family: 'Lexend Deca', sans-serif;
	color: var(--color-primary);
	font-weight: 500;
	line-height: 112.5%;
	transition: var(--transition-color);
}

.title {
	&.sm {
		font-size: var(--text-size-sm);
	}

	&.md {
		font-size: var(--text-size-md);
	}

	&.lg {
		font-size: var(--text-size-lg);
	}

	&.xl {
		font-size: var(--text-size-xl);
	}
}

p {
	margin-bottom: var(--default-gutter-y);

	&:last-of-type {
		margin-bottom: 0;
	}
}

i[class^="flaticon-"] {
	font-style: normal;

	&.trustpilot {
		color: #007f4e;
	}
}

.button,
.label,
.wc-block-components-button,
.facetwp-load-more {
	display: flex;
	position: relative;
	z-index: 2;
	justify-content: center;
	align-items: center;
	min-height: 46px;
	padding-right: 6px;
	padding-left: calc(var(--default-gutter-x) * 2);
	background-color: var(--color-primary);
	border: 0;
	border-radius: 50vh;
	font-size: var(--text-size);
	color: var(--color-white);
	font-weight: 500;
	text-align: center;
	transition: var(--transition-background), var(--transition-border), var(--transition-color);
	white-space: nowrap;
}

.button,
.label.outline.filter-trigger,
.facetwp-load-more {
	cursor: pointer;
}

.button.large,
.facetwp-load-more {
	padding-top: var(--default-gutter-y);
	padding-bottom: var(--default-gutter-y);
	font-size: var(--text-size-md);
}

.button {
	&.small {
		min-height: 38px;
		padding-left: var(--default-gutter-x);
		padding-right: 2px;
		font-size: var(--text-size-sm);

		&:not(.iconless):after {
			margin-left: calc(var(--default-gutter-x) / 2);
		}

		&:not(.iconless):hover:after {
			margin-left: var(--default-gutter-x);
		}
	}

	&:not(.iconless):before {
		content: '';
	}

	&:disabled {
		background-color: var(--color-grey-darker);
		cursor: not-allowed;
	}
}

.button.outline,
.label.outline,
.woocommerce-message .button,
.section-group-tabs .button:not(.active) {
	background-color: transparent;
	border: 2px solid var(--color-primary);
	color: var(--color-primary);
}

.button.iconless,
.wc-block-components-button,
.facetwp-load-more {
	padding-right: calc(var(--default-gutter-x) * 2);
}

.label:not(.button) {
	padding-left: 6px;
	padding-right: calc(var(--default-gutter-x) * 2);
}

.button.outline.reverse,
.label.outline.reverse,
.woocommerce-message .button {
	border-color: var(--color-white);
	color: var(--color-white);
}

.button:not(.iconless):after,
.label:not(.button, .iconless):before {
	display: flex;
	justify-content: center;
	align-items: center;
	width: 34px;
	height: 34px;
	margin-left: var(--default-gutter-x);
	background-color: var(--color-white);
	border-radius: 100%;
	font-family: 'flaticon_plasma_pen';
	font-size: var(--text-size);
	font-style: normal;
	font-weight: normal !important;
	font-variant: normal;
	text-transform: none;
	line-height: 100%;
	-webkit-font-smoothing: antialiased;
	-moz-osx-font-smoothing: grayscale;
	color: var(--color-primary);
	transition: var(--transition-background), var(--transition-color), margin 0.5s ease-in-out;
}

.button:not(.iconless):not([class*="flaticon-"]):after,
.label:not(.button, .iconless):not([class*="flaticon-"]):before {
	content: '\f101';
}

.label {
	&:not(.iconless):before {
		margin-left: 0;
		margin-right: var(--default-gutter-x);
	}

	&.outline:not(.reverse):before {
		background-color: var(--color-primary);
		color: var(--color-white);
	}

	&.outline:not(.reverse):hover:after {
		background-color: var(--color-primary);
		color: var(--color-white);
	}
}

/* An outline button on a light ground. Every outline button in the theme has
   until now been .outline.reverse, sitting on a dark band where the chip's
   default white circle reads correctly. Without .reverse the chip is white on
   white and only the arrow shows, so it takes the same solid primary circle
   the matching .label variant above already uses. On hover the pill fills
   primary, so the chip flips back to white to stay visible. */

.button.outline:not(.reverse):not(.iconless):after {
	background-color: var(--color-primary);
	color: var(--color-white);
}

.button.outline:not(.reverse):not(.iconless):hover:after {
	background-color: var(--color-white);
	color: var(--color-primary);
}

.button:not(.label, .outline, :disabled):hover,
.nav-link:not(.active) .button:hover,
.event-card:hover .label.button,
.wc-block-components-button:hover,
.facetwp-load-more:hover {
	background-color: var(--color-secondary);
	color: var(--color-white);
}

.button.outline:hover,
.label.outline.filter-trigger:hover {
	background-color: var(--color-primary);
	color: var(--color-white);
}

.button.outline.reverse:hover,
.label.outline.filter-trigger:hover:before,
.overlay-menu .swiper-button .icon-wrapper,
.woocommerce-message .button:hover {
	background-color: var(--color-white);
	color: var(--color-primary);
}

.button:not(.label):hover:after,
.event-card:hover .button:after {
	margin-left: calc(var(--default-gutter-x) * 2);
}

.embed-container {
	position: relative;
	height: 0;
	padding-bottom: 56.25%;
	overflow: hidden;

	iframe,
	video {
		position: absolute;
		top: 0;
		left: 0;
		width: 100%;
		height: 100%;
		border: 0;
		border-radius: 0;
	}
}

.form-control {
	font-weight: inherit;
}

.rounded {
	border-radius: 12px !important;
	overflow: hidden;
}

.bg-image {
	background-size: cover;
	background-position: center;
	transition: all 0.25s ease-in-out;
}

.icon-wrapper {
	display: flex;
	justify-content: center;
	align-items: center;
	width: 60px;
	height: 60px;
	background-color: var(--color-white);
	border-radius: 100%;

	&.primary {
		background-color: var(--color-primary);
	}

	i[class^="flaticon-"] {
		font-size: var(--text-size-lg);
		color: var(--color-primary);
	}
}

.icon-wrapper.primary i[class^="flaticon-"],
.header .top-menu .menu li a,
.main-menu .menu li a,
.header .icon,
.header .icon a,
.hero .boxen .title,
.hero .boxen h1,
.hero.content-section .button,
.hero .boxen p,
.footer .boxen p,
.sub-footer.footer .boxen ul li,
.swiper.timelineSwiper .swiper-slide .boxen .title,
.swiper.timelineSwiper .swiper-slide .boxen p,
.content-section.footer .boxen ol li a,
.content-section .reversed .boxen .title,
.content-section .reversed .boxen p,
#menuModal .boxen .title,
#menuModal .boxen p,
#menuModal .modal-dialog .modal-content .boxen ul li a,
.modal.primary .modal-content .boxen .title,
.modal.primary .modal-content .boxen p,
.footer .boxen p,
.overlay-menu .boxen .title {
	color: var(--color-white);
}

.gradient:before {
	display: block;
	content: '';
	position: absolute;
	top: 0;
	left: 0;
	z-index: 2;
	width: 100%;
	height: 100%;
	background: linear-gradient(transparent 0%, rgba(0, 0, 0, 1) 100%);
}

.gradient>*:not(.hero-video, .hero-image),
.testimonial-card .position-relative>*:not(.image-overlay),
.full-swiper>*:not(.heroSwiper) {
	position: relative;
	z-index: 3;
}

.object-fit img,
.object-fit video,
.ratio>img {
	width: 100%;
	height: 100%;
	object-fit: cover;
	object-position: center;
}

.shadowed {
	box-shadow: 0px 0 30px 0px rgba(0, 0, 0, 0.15);
	transition: box-shadow 0.25s ease-in-out;
}

a .shadowed {
	transition: box-shadow 0.25s ease-in-out;

	&:hover {
		box-shadow: 0px 0 30px 0px rgba(0, 0, 0, 0.25);
	}
}

.row.hline-before:before,
.row.hline-after:after,
.tab-content.accordion .accordion-item:not(:first-of-type):before,
.filters.side-loaded .filter-bar:after,
.filters.side-loaded .accordion .facet-wrapper:after,
.mini-cart .filter-bar:after {
	display: block;
	content: '';
	position: relative;
	left: var(--default-gutter-x);
	width: calc(100% - calc(var(--default-gutter-x) * 2));
	height: 1px;
	background: rgba(255, 255, 255, 0.25);
}

.row.hline-before.hline-primary:before,
.row.hline-after.hline-primary:after,
.tab-content.accordion .accordion-item:not(:first-of-type):before,
.row.hline-before.section-hline:before {
	background: var(--color-primary);
}

.row.hline:before {
	margin-top: var(--default-gutter-y);
}

.row.hline-before.section-hline:before {
	height: 2px;
}

.ratio {
	&.ratio-9x16 {
		--bs-aspect-ratio: 177.78%;

		.rll-youtube-player {
			padding-bottom: 177.78%;

			img {
				height: 100%;
			}
		}
	}

	>* {
		position: absolute !important;
	}

	.rll-youtube-player {
		.rll-youtube-player img {
			height: 100%;
		}
	}

	.video-placeholder-youtube {
		position: absolute !important;
		top: 0 !important;
		left: 0 !important;
		width: 100% !important;
		height: 100% !important;
	}

	img {
		object-fit: cover;
		object-position: center;
	}
}

.floating-button {
	position: fixed;
	bottom: var(--default-gutter-y);
	left: var(--default-gutter-x);
	z-index: 1021;
}

figure {
	margin-bottom: 0;

	.blockquote {
		margin-bottom: 0;
	}

	.blockquote-footer {
		color: var(--color-primary);
		font-weight: 500;
	}
}

.boxen figure .blockquote.title p {
	line-height: 112.5%;
}

.facetwp-facet {
	margin-bottom: 0 !important;
}

/* Header */
.header {
	z-index: 1021;
	background-color: var(--color-primary);

	&.sticky-top {
		z-index: 1022;
	}

	.logo {
		min-width: 0;
	}

	.top-menu .menu li {
		font-size: var(--text-size);
	}

	.main-menu .menu li a {
		&:after {
			display: block;
			content: '';
			position: absolute;
			bottom: 0;
			width: 100%;
			height: 3px;
			background-color: var(--color-white);
			opacity: 0;
			transition: all 0.3s ease-in-out;
		}

		&:hover:after {
			opacity: 1;
		}
	}

	.menu-right {
		padding-top: var(--default-gutter-y);
		padding-bottom: var(--default-gutter-y);
	}

	.icon {
		font-size: 24px;
		cursor: pointer;
		vertical-align: middle;
	}

	.currency-selector {
		padding: 0;
		border: 0;
		background: transparent;
	}

	.search-wrapper {
		height: 44px;
		background-color: var(--color-white);
		border-radius: 22px;

		input[type="text"] {
			padding: 0 var(--default-gutter-x);
			background-color: transparent;
			border: 0;
			font-size: var(--text-size-sm);
			color: var(--color-primary);
		}

		button {
			padding: 0;
			padding-right: var(--default-gutter-x);
			background-color: transparent;
			border: 0;
			font-size: var(--text-size);
			color: var(--color-primary);

			&:hover {
				color: var(--color-secondary);
			}
		}

		.dgwt-wcas-search-wrapp {
			position: relative;
			max-width: 100%;
			color: inherit;
			min-width: 0;

			.dgwt-wcas-sf-wrapp {
				display: flex;
				align-items: center;
				height: 44px;
				padding: 0;
				background-color: var(--color-white);
				border: 0;
				border-radius: 22px;

				.dgwt-wcas-search-input {
					padding: 0 var(--default-gutter-x);
					background: transparent;
					border: 0;
					border-radius: 0;
					font-family: inherit;
					font-size: var(--text-size-sm);
					color: var(--color-primary);

					&:hover,
					&:focus {
						background-color: transparent;
					}
				}

				.dgwt-wcas-search-submit {
					position: relative;
					top: auto;
					left: auto;
					min-width: 0;
					min-height: 0;
					width: auto;
					height: auto;
					padding-right: var(--default-gutter-x);
					background-color: transparent;
					border: 0;
					border-radius: 0;
					font-size: var(--text-size);
					color: var(--color-primary);

					.dgwt-wcas-ico-magnifier {
						position: relative;
						top: auto;
						left: auto;
						width: 20px;
						height: auto;
						margin: 0;
					}
				}
			}

			&.dgwt-wcas-search-focused .dgwt-wcas-sf-wrapp .dgwt-wcas-search-input:focus {
				background-color: transparent;
			}

			&.dgwt-wcas-search-filled .dgwt-wcas-sf-wrapp .dgwt-wcas-search-input {
				padding: 0 var(--default-gutter-x);
			}
		}

		.dgwt-wcas-style-pirx.dgwt-wcas-search-filled .dgwt-wcas-sf-wrapp button.dgwt-wcas-search-submit {
			right: auto;
		}

		.dgwt-wcas-style-pirx .dgwt-wcas-preloader {
			margin-right: 10px;
		}
	}

	.mobile-header .search-icon button {
		padding: 0;
		background: transparent;
		border: 0;
	}

	.menu-trigger {
		.mobile-menu-button-wrapper {
			background: transparent;
			border: 0;
		}

		.mobile-menu-button {
			display: block;
			position: relative;
			z-index: 3;
			width: 25px;
			height: 22px;
			cursor: pointer;

			span {
				position: relative;
				top: 10px;

				&,
				&:before,
				&:after {
					display: block;
					content: "";
					width: 25px;
					height: 2px;
					background-color: var(--color-white);
					transition: all 0.5s ease-in;
				}

				&:before,
				&:after {
					position: absolute;
					top: -10px;
				}

				&:after {
					top: 10px;
				}
			}

			&.active span {
				height: 0;

				&:before {
					top: 0;
					transform: rotate(-45deg);
				}

				&:after {
					top: 0;
					transform: rotate(45deg);
				}
			}
		}

		.label {
			font-size: var(--text-size-sm);
			color: var(--color-white);
			text-transform: uppercase;
		}
	}

	.search-bar {
		padding-top: var(--default-gutter-y);
		padding-bottom: var(--default-gutter-y);
		background-color: var(--color-white);
		border-bottom: 1px solid var(--color-grey-darker);

		button[data-bs-toggle] i.back-button:before {
			font-size: var(--text-size-md);
			transform: rotate(-90deg);
		}

		.dgwt-wcas-search-wrapp .dgwt-wcas-sf-wrapp {
			padding: 0;

			input[type=search].dgwt-wcas-search-input {
				padding: var(--default-gutter-y) var(--default-gutter-x);
			}

			.dgwt-wcas-search-submit {
				top: 50%;
				left: auto;
				right: var(--default-gutter-x);
				transform: translateY(-50%);
			}
		}
	}
}

.header .top-menu .menu li a:not(.button):hover,
.content-section.footer .boxen p a:hover,
.boxen ul li a:hover,
.content-section.footer .boxen ol li a:hover,
#menuModal .modal-dialog .modal-content .boxen ul li a:hover {
	text-decoration: underline;
}

.main-menu .menu li {
	font-size: var(--text-size-md);

	a {
		display: inline-flex;
		align-items: center;
		position: relative;
	}
}

.currency-selector img {
	width: 28px;
	height: 28px;
}

.dgwt-wcas-open-pirx {

	.dgwt-wcas-open .dgwt-wcas-suggestions-wrapp,
	.dgwt-wcas-open.dgwt-wcas-nores .dgwt-wcas-suggestions-wrapp {
		padding-bottom: 0;
		border: 0;
		border-radius: 12px;
	}

	.dgwt-wcas-details-inner,
	.dgwt-wcas-suggestions-wrapp>.dgwt-wcas-suggestion {
		padding: calc(var(--default-gutter-y) / 4) var(--default-gutter-x);
	}

	.js-dgwt-wcas-suggestion-headline:not(:first-of-type) {
		margin-top: var(--default-gutter-y);
	}
}

.dgwt-wcas-suggestions-wrapp .dgwt-wcas-suggestion .dgwt-wcas-st {
	margin: 0;
	font-size: var(--text-size-sm);
	color: initial;
	text-transform: none;
}

body.product-template-default .sub-header,
body.product-template-custom-product-template .sub-header {
	background-color: var(--color-grey);
}

.sub-header {

	.marqueeSwiper {
		
		overflow: hidden;
		position: relative;
		
		.swiper-wrapper {
			
			display: flex;
			flex-direction: row;
			flex-wrap: nowrap;
			
			.swiper-slide {
				
				display: flex;
				flex: 0 0 100%;
				width: 100%;
				min-width: 0;
			
			}

		}

	}

	/*.swiper {

		position: relative;
		overflow: hidden;

		.swiper-wrapper {
			
			display: flex;
			flex-direction: row;
			flex-wrap: nowrap;

			.swiper-slide {
				
				display: flex;
				flex: 0 0 100%;
				width: 100%;
				min-width: 0;
			
			}

		}

	}*/

	&.content-section {
		padding-top: var(--default-gutter-y);
		padding-bottom: var(--default-gutter-y);

		i[class^="flaticon-"] {
			font-size: var(--text-size-lg);
		}
	}
}

/* Hero */
.hero {
	position: relative;
	background-color: var(--color-grey);
	background-size: cover;
	background-position: right center;
	overflow: hidden;

	>*:not(.hero-video, .hero-image) {
		position: relative;
		z-index: 2;
	}

	&.gradient:before {
		background: rgba(0, 0, 0, 0.15);
	}

	.boxen p {
		font-size: var(--text-size-md);
	}

	.hero-video,
	.hero-image {
		position: absolute;
		top: 0;
		left: 0;
		width: 100%;
		height: 100%;
	}

	.hero-video {
		video {
			position: absolute;
			min-width: 101%;
			min-height: 101%;
			left: 50%;
			top: 50%;
			transform: translate(-50%, -50%);

			&.hero-video.portrait {
				display: none;
			}
		}
	}

	.hero-image {
		img {
			object-fit: cover;
			object-position: center;
		}
	}
}

/* Section Group */
.section-group {
	position: relative;

	&.quick-linked:not(.floated) {
		padding-top: calc(var(--default-gutter-y) * 4);
	}

	&.floated .section-group-tabs-wrapper {
		height: 0;
	}

	.section-group-tabs-wrapper {
		&.grey {
			background-color: var(--color-grey);
		}

		.section-group-tabs {
			padding: var(--default-gutter-y) var(--default-gutter-x);
			background: var(--color-white);
			border-radius: 50vh;
		}
	}

	&.quick-linked.floated .section-group-tabs-wrapper .section-group-tabs {
		position: relative;
		top: var(--default-gutter-y);
		border-radius: 50dvh;
	}
}

/* Content Section */
.content-section {
	padding-top: calc(var(--default-gutter-y) * 4);
	padding-bottom: calc(var(--default-gutter-y) * 4);

	&.breadcrumb {
		margin: 0;
		padding-top: calc(var(--default-gutter-y) * 1);
		padding-bottom: calc(var(--default-gutter-y) * 1);
		border: 0;
	}

	&.grey {
		background-color: var(--color-grey);
	}
}

.boxen p,
.boxen ul li a,
.boxen ol li a {
	color: var(--color-secondary);
}

.content-section.footer .boxen .title,
.content-section.footer .boxen p,
.footer .boxen ul li a {
	color: var(--color-white);
}

.boxen p,
.mini-cart .boxen span {
	line-height: 150%;
}

.boxen.sm-text p,
.boxen.sm-text ul li,
.boxen.sm-text ol li,
#menuModal .boxen.sm-text p,
#currencyModal .modal-content .boxen.sm-text p,
.mini-cart .boxen.sm-text p,
.mini-cart .boxen.sm-text span {
	font-size: var(--text-size-sm);
}

.boxen p a,
.sub-footer.footer.content-section ul li a {
	text-decoration: underline;
}

.boxen ul li:not(:last-of-type),
.boxen ol li:not(:last-of-type),
#menuModal .modal-dialog .modal-content .boxen ul li:not(:last-of-type) {
	margin-bottom: calc(var(--default-gutter-y) / 2);
}

.boxen {
	&.md-text p {
		font-size: var(--text-size-md);
	}

	&.lg-text p {
		font-size: var(--text-size-lg);
	}

	>*:not(:last-child) {
		margin-bottom: var(--default-gutter-y);
	}

	.highlights {
		display: flex;
		row-gap: var(--default-gutter-y);

		.item {
			display: flex;
			flex-direction: row;
			column-gap: var(--default-gutter-x);

			.circle {
				display: flex;
				align-items: center;
				justify-content: center;
				flex: 0 0 auto;
				width: calc(var(--default-gutter-x) * 2);
				height: calc(var(--default-gutter-y) * 2);
				background-color: var(--color-primary);
				border-radius: 100%;
				font-size: var(--text-size-sm);
				color: var(--color-white);

				&.flaticon-close {
					font-size: var(--text-size);
				}
			}
		}

		&.row .item {
			column-gap: calc(var(--default-gutter-x) / 2);
		}
	}

	&.sm-text .highlights .item .circle {
		width: calc(var(--default-gutter-x) * 1.5);
		height: calc(var(--default-gutter-y) * 1.5);
		font-size: var(--text-size-xs);

		&.flaticon-close {
			font-size: var(--text-size-xs);
		}
	}
}

/* Padding Wrapper */
[class*="padding-wrapper"] {
	display: block;
	padding: calc(var(--default-gutter-y) * 2) calc(var(--default-gutter-x) * 2);

	&.sticky-top {
		top: calc(var(--default-gutter-y) * 2);
	}

	&.panel {
		background-color: var(--color-white);
	}
}

.content-section.white [class*="padding-wrapper"].panel:not(.white) {
	background-color: var(--color-grey);
}

/* Before afters */
/*
.before-after {
	position:relative;
	width:100%;
	height:0;
	padding-bottom:100%;
	overflow:hidden;
	figure, figure div {
		position:absolute;
		width:100%;
		height:100%;
		background-size:cover;
	}
	figure div {
		bottom:0;
		width:50%;
		box-shadow:0 5px 10px -2px rgba(0,0,0,0.3);
		&:after {
			display:block;
			content:'';
			position:absolute;
			top:0;
			left:calc(100% - 2px);
			width:4px;
			height:100%;
			background-color:var(--color-white);
		}
	}
	figure > img {
		position:relative;
		width:100%;
	}
	.before, .after {
		position:absolute;
		bottom:calc(var(--default-gutter-y) * 2);
		left:0;
		padding:calc(var(--default-gutter-y) / 1) calc(var(--default-gutter-x) * 2);
		background:rgba(255,255,255,1);
		span.title {
			color:var(--color-primary);
		}
	}
	.after {
		left:auto;
		right:0;
	}
}
*/
img-comparison-slider {
	display: block;
	cursor: ew-resize;

	&:focus {
		outline: none;
	}

	.ba-figure {
		margin: 0;

		img {
			width: 100%;
			aspect-ratio: 1/1;
		}
	}

	.ba-label {
		position: absolute;
		bottom: var(--default-gutter-y);
		left: var(--default-gutter-x);
		padding: calc(var(--default-gutter-y) / 2) var(--default-gutter-x);
		background: var(--color-primary);
		color: var(--color-white);
		font-size: var(--text-size);
		line-height: 100%;
		border-radius: 50vh;
		pointer-events: none;

		&.ba-label--after {
			left: auto;
			right: var(--default-gutter-x);
		}
	}

	.ba-handle {
		display: flex;
		justify-content: center;
		align-items: center;
		padding-left: calc(var(--default-gutter-x) / 2);
		padding-right: calc(var(--default-gutter-x) / 2);
		background-color: var(--color-white);
		min-height: 32px;
		background-color: var(--color-white);
		border-radius: 50vh;
	}
}

input[type=range] {
	position: absolute;
	width: calc(100% + calc(var(--default-gutter-x) * 3));
	height: 100%;
	left: calc((var(--default-gutter-x) * 1.5) / -1);
	top: 0;
	background: transparent;
	cursor: grab;
	appearance: none;

	&:focus {
		outline: none;
	}

	&:active {
		outline: none;
	}

	&::-moz-range-track {
		-moz-appearance: none;
		height: calc(var(--default-gutter-x) * 2);
		width: 100%;
		background-color: transparent;
		position: relative;
		outline: none;
	}

	&::active {
		border: none;
		outline: none;
	}

	&::-webkit-slider-thumb {
		display: flex;
		justify-content: center;
		align-items: center;
		-webkit-appearance: none;
		width: calc(var(--default-gutter-x) * 3);
		height: calc(var(--default-gutter-y) * 3);
		background-color: var(--color-white);
		background-image: url('../images/before-after-arrow.svg');
		background-size: calc(100% - var(--default-gutter-x) * 1);
		background-position: center;
		background-repeat: no-repeat;
		border-radius: 100%;
	}

	&::-moz-range-thumb {
		appearance: none;
		width: calc(var(--default-gutter-x) * 2);
		height: calc(var(--default-gutter-y) * 2);
		background: var(--color-white);
		border-radius: 100%;
	}
}

/* Accordions */
.faq-accordion.accordion .accordion-item {
	border: 0;
	border-left: var(--default-gutter-x) solid var(--color-primary);

	&:not(:first-of-type) {
		margin-top: var(--default-gutter-y);
	}

	.accordion-button,
	.accordion-body {
		padding: calc(var(--default-gutter-y) * 2) calc(var(--default-gutter-x) * 2);
	}

	.accordion-button {
		display: flex;
		align-items: center;
		justify-content: space-between;

		&:not(.collapsed) {
			background: inherit;
			box-shadow: none;
		}
	}

	.accordion-body {
		padding-top: 0;
	}
}

.faq-accordion.accordion .accordion-item .accordion-button::after,
.full-description-trigger::before,
.tab-content.accordion .accordion-item .accordion-button:after,
.filters.side-loaded .accordion .accordion-button:after,
.technicians-locator-wrapper .technician-item .padding-wrapper {
	border: 2px solid var(--color-grey-darker);
}

.faq-accordion.accordion .accordion-item .accordion-button::after,
.full-description-trigger::before,
.tab-content.accordion .accordion-item .accordion-button:after,
.filters.side-loaded .accordion .accordion-button:after,
.technicians-locator-wrapper .technician-item button i[class^="flaticon-"]:before {
	display: flex;
	align-items: center;
	justify-content: center;
	content: '\f101';
	font-family: 'flaticon_plasma_pen';
	font-size: var(--text-size);
	color: var(--color-primary);
	font-style: normal;
	font-weight: normal;
	font-variant: normal;
}

.faq-accordion.accordion .accordion-item .accordion-button::after,
.full-description-trigger::before,
.tab-content.accordion .accordion-item .accordion-button:after,
.technicians-locator-wrapper .technician-item button i[class^="flaticon-"]:before {
	width: 34px;
	height: 34px;
	background: transparent;
	border-radius: 100%;
	transform: rotate(90deg);
	transition: var(--transition-background), var(--transition-color);
}

.faq-accordion.accordion .accordion-item .accordion-button:hover::after,
.technicians-locator-wrapper .technician-item button:hover i[class^="flaticon-"]:before {
	background-color: var(--color-secondary);
	color: var(--color-white);
}

.faq-accordion.accordion .accordion-item .accordion-button:not(.collapsed)::after,
.full-description-trigger:not(.collapsed)::before,
.tab-content.accordion .accordion-item .accordion-button:not(.collapsed):after,
.technicians-locator-wrapper .technician-item button[aria-expanded="true"] i[class^="flaticon-"]:before {
	transform: rotate(270deg);
}

.product-description .accordion-button {
	&.collapsed .title:before {
		content: 'Show ';
	}

	&:not(.collapsed) .title:before {
		content: 'Hide ';
	}
}

.full-description-trigger::before {
	margin-right: var(--default-gutter-x);
}

.tab-content.accordion>.accordion-item {
	background: transparent;
	border: 0;
	border-radius: 0;

	&:not(:first-of-type):before {
		width: 100%;
		left: auto;
	}

	>.accordion-button {
		padding: calc(var(--default-gutter-y) * 2) 0;
		background: transparent;
		border: 0;
		border-radius: 0;
		box-shadow: none;
	}

	>.accordion-collapse>.accordion-body {
		padding: 0;
		padding-bottom: var(--default-gutter-y);
	}
}

/* Tables */
.table> :not(caption)>*>* {
	padding: calc(var(--default-gutter-y) / 2) calc(var(--default-gutter-x) / 2);
	box-shadow: none;
}

/* Nav Tabs */
.tabs-overflow-x {
	display: flex;
	flex-direction: row;
	flex-wrap: nowrap !important;
	overflow: auto !important;
	overflow-y: hidden !important;
}

/*.tabs-overflow-x::-webkit-scrollbar {display:none;}*/
.nav-link {
	padding: 0;
	background: transparent;
	border: 0;
	cursor: pointer;

	&:not(.active) .button {
		background-color: var(--color-white);
		color: var(--color-primary);
	}
}

/* Modal */
.modal-backdrop.show {
	opacity: 0.75;
}

.modal {
	padding-right: 0 !important;

	.modal-body {
		padding: calc(var(--default-gutter-y) * 2) calc(var(--default-gutter-x) * 2);

		.modal-close {
			display: flex;
			align-items: center;
			justify-content: center;
			border-radius: 100%;
			color: var(--color-white);
		}
	}

	.modal-content {
		border-radius: 0;
	}

	&.primary .modal-content {
		background-color: var(--color-primary);
	}
}

#menuModal .modal-dialog {
	max-width: 100%;
	margin: calc(var(--default-gutter-y) * 2) calc(var(--default-gutter-x) * 2);

	.modal-content {
		background-color: var(--color-primary);
		border: 0;
		border-radius: 0;
	}
}

#currencyModal .modal-content .d-flex[data-currency] {
	padding: var(--default-gutter-y);
	border: 1px solid var(--color-secondary);
	transition: var(--transition-border);

	&.active {
		border-color: var(--color-white);
	}

	&:hover {
		border-color: var(--color-white);
	}
}

/* Testimonial Card */
.testimonial-card {
	&.ratio-1x1 {
		min-height: 50dvh;
	}

	.image-overlay {
		position: absolute;
		top: 0;
		left: 0;
		width: 100%;
		height: 100%;
	}

	.flex-column.padding-wrapper:before {
		display: block;
		content: '';
		aspect-ratio: 1/1;
	}
}

.swiper-slide:not(.swiper-slide-active) .testimonial-card .image-overlay img {
	filter: grayscale(100%);
	transition: all 0.5s ease-in-out;
}

/*.testimonial-card:not(.ratio-1x1) .padding-wrapper {margin-top:calc(var(--default-gutter-y) * 4);}*/
/* Footer */
.footer {
	background-color: var(--color-primary);

	.row.hline-before:before {
		margin-bottom: calc(var(--default-gutter-y) * 2);
	}

	&.sub-footer {
		padding-top: calc(var(--default-gutter-y) * 2);
		padding-bottom: calc(var(--default-gutter-y) * 2);

		.boxen p a,
		.boxen ul li a {
			font-weight: 500;
		}

		.boxen .menu li:not(:last-of-type):after {
			content: '\0020\007C';
		}
	}
}

.newsletter-signup {
	position: relative;

	.gform_footer {
		position: absolute;
		top: 10px;
		right: var(--default-gutter-x);

		.icon-wrapper {
			background-color: var(--color-primary);
			transition: var(--transition-background);

			&:hover {
				background-color: var(--color-secondary);
			}

			i[class*="flaticon-"] {
				font-size: var(--text-size-md);
				color: var(--color-white);
			}
		}
	}
}

.gform_wrapper .newsletter-signup .gform_fields .gfield input[type="email"] {
	background-color: var(--color-white);
	border: 0;
}

/* Gravity Forms' basic.css sets the field grid to width: 100%, which cancels
   its negative right margin and leaves the email field 30px short of the
   absolutely positioned submit. */
.gform_wrapper.gravity-theme .newsletter-signup .gform_fields {
	width: auto;
}

/* Gravity Forms' basic.css (loaded site-wide for the phone field) turns the
   field list into a 12-column grid that beats the theme's flex layout. It
   loads after this file, so body is needed to outrank its selector. */
body .gform_wrapper.gravity-theme .gform_fields {
	display: flex;
	flex-wrap: wrap;
	width: auto;
	column-gap: 0;
	row-gap: var(--default-gutter-y);
}

@media (min-width: 768px) {
	body .gform_wrapper.gravity-theme .gform_fields {
		row-gap: calc(var(--default-gutter-y) * 2);
	}
}

a.social-icon {
	display: flex;
	align-items: center;
	justify-content: center;
	width: 40px;
	height: 40px;
	border: 2px solid var(--color-white);
	border-radius: 100%;
	color: var(--color-white);
	transition: var(--transition);

	&.primary {
		border-color: var(--color-primary);
		color: var(--color-primary);

		&:hover {
			background-color: var(--color-primary);
			color: var(--color-white);
		}
	}

	&:hover {
		background-color: var(--color-white);
		color: var(--color-primary);
	}
}

.sub-footer.footer .boxen {
	p {
		margin-bottom: 0;
	}

	ul li {
		display: inline-block;
	}
}

/* Swiper */
.full-swiper {
	position: relative;
	width: 100%;
	min-height: calc(100dvw * 9 / 16);
	padding-top: 480px !important;

	.heroSwiper {
		position: absolute;
		top: 0;
		left: 0;
		width: 100%;
		height: 100%;

		.swiper-slide {
			background-size: cover;
			background-position: top right;
		}
	}
}

.swiper.heroCardsSwiper .swiper-slide {
	width: 16.66666667%;
	cursor: pointer;

	&:not(.swiper-slide-thumb-active) {
		opacity: 0.75;
		transition: opacity 0.25s ease-in-out;
	}
}

.swiper:not(.standardHeroSwiper) .swiper-slide {
	display: flex;
	height: auto;
}

.standardHeroSwiper .swiper-slide {
	display: block;
	height: auto;
}

.logosSwiper {
	mask-image: linear-gradient(to right, #0000 0%, #f0f0f0 10% 90%, #0000 100%);
	-webkit-mask-image: linear-gradient(to right, #0000 0%, #f0f0f0 10% 90%, #0000 100%);

	.swiper-wrapper {
		transition-timing-function: linear;
	}

	.swiper-slide {
		display: flex;
		justify-content: center;
		align-items: center;
		width: auto;
		height: auto;

		img {
			max-height: 48px;
		}
	}
}

.swiper-button {
	&.floating {
		position: absolute;
		top: calc(50% - 26px);
		left: calc(var(--default-gutter-x) * 2);
		z-index: 2;

		&.next {
			left: auto;
			right: calc(var(--default-gutter-x) * 2);
		}
	}

	&.swiper-button-disabled {
		opacity: 0.25;
		cursor: default;
	}

	.icon-wrapper {
		width: 52px;
		height: 52px;
		color: var(--color-primary);
		transition: var(--transition-background), var(--transition-color);

		&:hover {
			background-color: var(--color-secondary);
			color: var(--color-white);
		}

		i[class^="flaticon-"] {
			color: inherit;
		}
	}

	&.prev .icon-wrapper .flaticon-next:before {
		transform: rotate(180deg);
	}
}

.swiper-button .icon-wrapper,
.tab-content.accordion .accordion-item .accordion-button:after {
	background-color: var(--color-primary);
	color: var(--color-white);
}

.swiper-pagination.custom-pagination {
	position: relative !important;
	top: auto !important;
	bottom: auto !important;

	.swiper-pagination-bullet-active.swiper-pagination-bullet-active {
		background-color: var(--color-primary);
	}

	&.reverse .swiper-pagination-bullet-active.swiper-pagination-bullet-active {
		background-color: var(--color-white);
	}

	.swiper-pagination-bullet {
		width: 24px;
		height: 24px;
		margin: 0 5px;
		border-radius: 3px;
	}
}

/*.swiper.productGallerySwiper:after {content:'';display:block;position:absolute;top:0;right:0;z-index:2;width:20%;height:100%;background:linear-gradient(to right, transparent 0%, #ffffff 100%);}*/
/*.swiper.productGalleryThumbsSwiper .swiper-wrapper {justify-content:center;}*/
.swiper.productGalleryThumbsSwiper .swiper-slide {
	width: 90px;
	border: 1px solid var(--color-grey);
	border-radius: 12px;
	overflow: hidden;
	cursor: pointer;

	&.swiper-slide-thumb-active {
		border-color: var(--color-primary);
		border-radius: 12px;
	}
}

.swiper.timelineSwiper {
	position: relative;
	z-index: 4;

	.swiper-slide {
		min-height: 50dvh;

		.image-overlay {
			z-index: 1;
			width: 100%;
			height: 100%;
		}

		[class*="swiper-button"] .title {
			display: flex;

			span {
				border-bottom: 2px solid var(--color-white);
			}
		}

		.swiper-button-next-custom .title {
			justify-self: end;
		}

		.swiper-button-prev-custom .title:before {
			margin-right: 10px;
			margin-left: 0;
			transform: rotate(180deg);
		}
	}
}

.swiper.timelineSwiper .swiper-slide .swiper-button-prev-custom .title:before,
.swiper.timelineSwiper .swiper-slide .swiper-button-next-custom .title:after,
.main-menu .menu li a[data-bs-toggle="collapse"] span:after {
	content: '\f101';
	margin-left: 10px;
	font-family: 'flaticon_plasma_pen';
}

.swiper.timelineHeroSwiper {
	position: absolute;
	top: 0;
	left: 0;
	width: 100%;
	height: 100%;

	&.gradient:before {
		z-index: 3;
		background: linear-gradient(transparent 0%, rgba(0, 0, 0, 0.5) 100%);
	}
}

/* Form */
.form-stage {
	label {
		display: block;
		margin-bottom: 5px;
		font-size: var(--text-size);
		color: var(--color-primary);
		font-weight: 500;
	}

	select {
		width: 100%;
		padding: var(--default-gutter-y) var(--default-gutter-x);
		border: 2px solid var(--color-primary);
		border-radius: 12px;
		font-size: var(--text-size);
		font-weight: inherit;
	}
}

/* Ratings */
.rating-stars i.flaticon-star {
	color: #FFC107;

	&:not(:last-of-type) {
		margin-right: 3px;
	}
}

/* Technicians */
#map {
	width: 100%;
	height: 100%;
	min-height: 600px;
}

.technicians-locator-wrapper {
	max-height: 600px;
	overflow: hidden;
	overflow-y: scroll;

	.technician-item {
		&:hover {
			cursor: pointer;
		}

		&:not(:first-of-type) {
			margin-top: calc(var(--default-gutter-y) * 2);
		}

		&.active .padding-wrapper.panel {
			border: 2px solid var(--color-primary);
		}
	}
}

.technicians-locator-controls .input-group input[type="text"] {
	width: 1% !important;
}

/* Menu Overlay */
body.overlay-menu-active {
	height: 100dvh;
	overflow: hidden;

	.overlay-menu {
		right: 0;
	}
}

.overlay-menu {
	display: none;
	position: fixed;
	top: 0;
	right: calc(100% + 1px);
	z-index: 99999;
	width: 100dvw;
	height: 100dvh;
	background-color: var(--color-primary);
	transition: right 0.5s ease-in-out;

	.header {
		padding-top: var(--default-gutter-y) !important;
	}

	.menu-overlay-trigger.icon-wrapper {
		color: var(--color-white);
		transition: var(--transition-background), var(--transition-color);

		&:hover {
			background-color: var(--color-white);
			color: var(--color-primary);

			i[class^="flaticon-"] {
				color: var(--color-primary);
			}
		}

		i[class^="flaticon-"] {
			color: var(--color-white);
		}
	}

	.main-menu li.root {
		font-size: 24px;

		>* {
			font-weight: 500;
		}

		a[data-bs-toggle="collapse"] span:after {
			content: '\f102';
			transition: transform 0.25s ease-in-out;
		}

		a[data-bs-toggle="collapse"][aria-expanded="true"] span:after {
			transform: rotate(180deg);
		}
	}

	.main-menu li ul.sub-menu li {
		font-size: var(--text-size-md);
	}
}

.overlay-menu .menu-overlay-trigger.icon-wrapper,
.modal .modal-body .modal-close,
.filters.side-loaded .icon-wrapper.menu-overlay-trigger,
.mini-cart .mini-cart-trigger .icon-wrapper {
	cursor: pointer;
	background: transparent;
	border: 2px solid var(--color-white);
}

.overlay-menu .menu-overlay-trigger.icon-wrapper,
.modal .modal-body .modal-close,
.overlay-menu .swiper-button .icon-wrapper,
.filters.side-loaded .icon-wrapper.menu-overlay-trigger,
.mini-cart .mini-cart-trigger .icon-wrapper,
.footer .newsletter-signup .icon-wrapper {
	width: 34px;
	height: 34px;
}

.modal .modal-body .modal-close {
	color: var(--color-white);
	transition: var(--transition-background), var(--transition-color);

	&:hover {
		background-color: var(--color-white);
		color: var(--color-primary);
	}
}

.overlay-menu .menu-overlay-trigger.icon-wrapper i[class^="flaticon-"],
.overlay-menu .swiper-button .icon-wrapper i[class^="flaticon-"],
.filters.side-loaded .icon-wrapper.menu-overlay-trigger i[class^="flaticon-"],
.mini-cart .mini-cart-trigger .icon-wrapper i[class^="flaticon-"] {
	font-size: var(--text-size);
}

.main-menu .menu li a[data-bs-toggle="collapse"] span {
	display: flex;
	align-items: center;
}

.overlay-menu .main-menu li.root:not(:last-of-type),
div.woocommerce .woocommerce-MyAccount-navigation ul li:not(:last-of-type) {
	margin-bottom: calc(var(--default-gutter-y) / 2);
}

/* Gravity */
legend {
	font-size: inherit;
}

.gform_wrapper .gform_required_legend,
.gform_wrapper .gform_fields .gfield>.gfield_label,
.gform_wrapper .gform_fields .gfield .gchoice {
	display: flex;
	column-gap: calc(var(--default-gutter-x) / 2);
}

.gform_wrapper {
	.gform_required_legend {
		display: none;
		margin-bottom: calc(var(--default-gutter-y) * 2);
		font-size: var(--text-size-xs);
	}

	.gform_fields {
		display: flex;
		flex-wrap: wrap;

		.gfield {
			>.gfield_label .gfield_required_asterisk {
				color: #b62323;
			}

			&.recaptcha-token-field,
			&.gfield--type-honeypot {
				display: none;
			}

			&.hidden_label>.gfield_label {
				display: none;
			}

			.gfield_checkbox {
				display: flex;
				flex-direction: row;
				flex-wrap: wrap;
				row-gap: var(--default-gutter-x);
				column-gap: calc(var(--default-gutter-x) * 2);

				input[type="checkbox"] {
					margin-right: 0;
					appearance: none;
					-webkit-appearance: none;
					border: 2px solid #ccc;
					border-radius: 3px;
					cursor: pointer;

					&:checked {
						background-color: var(--color-primary);
						border-color: var(--color-primary);
					}
				}
			}

			input::placeholder,
			textarea::placeholder {
				color: var(--color-secondary);
			}

			select {
				font-weight: inherit;
			}

			.gchoice .gform-field-label {
				font-size: var(--text-size-sm);
			}

			.gfield_description {
				display: block;
				margin-top: calc(var(--default-gutter-y) / 2);
				font-size: var(--text-size-sm);
			}
		}
	}

	form:not(.newsletter-signup) .gform_footer {
		margin-top: calc(var(--default-gutter-y) * 2);
	}
}

.gform_wrapper .gform_fields .gfield,
.woocommerce-address-fields .gf-floats .form-row {
	flex: 0 0 auto;
	width: 100%;
}

.form-select,
.gform_wrapper .gform_fields .gfield input:not([type="checkbox"], [type="radio"]),
.gform_wrapper .gform_fields .gfield textarea,
.gform_wrapper .gform_fields .gfield select,
.form-control,
.wp-block-woocommerce-checkout .wc-block-components-form [class*="wc-block-components"] input:not([type="checkbox"], [type="radio"]),
.wp-block-woocommerce-checkout .wc-block-components-form [class*="wc-block-components"] textarea,
.wp-block-woocommerce-checkout .wc-block-components-form [class*="wc-block-components"] select,
.wc-block-components-form .wc-block-components-text-input input[type=email],
.wc-block-components-form .wc-block-components-text-input input[type=number],
.wc-block-components-form .wc-block-components-text-input input[type=password],
.wc-block-components-form .wc-block-components-text-input input[type=tel],
.wc-block-components-form .wc-block-components-text-input input[type=text],
.wc-block-components-form .wc-block-components-text-input input[type=url],
.wc-block-components-text-input input[type=email],
.wc-block-components-text-input input[type=number],
.wc-block-components-text-input input[type=password],
.wc-block-components-text-input input[type=tel],
.wc-block-components-text-input input[type=text],
.wc-block-components-text-input input[type=url],
.woocommerce-address-fields .gf-floats .form-row input:not([type="checkbox"], [type="radio"]),
.woocommerce-address-fields .gf-floats .form-row textarea,
.woocommerce-address-fields .gf-floats .form-row select,
.filters.side-loaded .accordion .facet-wrapper .facet-wrap input[type="text"],
.technicians-locator-controls .input-group input[type="text"] {
	width: 100%;
	height: auto;
	min-height: 48px;
	padding: var(--default-gutter-y) var(--default-gutter-x);
	background-color: transparent;
	border: 2px solid var(--color-grey-darker);
	border-radius: 12px;
	font-weight: inherit;
}

.form-select {
	padding-right: calc((var(--default-gutter-x) * 2) + 10px);
}

.form-control {
	background-color: var(--color-white);
	border: 0;
}

.gform_wrapper .gform_validation_errors,
.gform_wrapper .gform_fields .gfield .validation_message {
	display: block;
	padding: var(--default-gutter-y) var(--default-gutter-x);
	background-color: #cc0000;
	border-radius: 12px;
	color: var(--color-white);
}

.gform_wrapper .gform_validation_errors {
	margin-bottom: calc(var(--default-gutter-y) * 2);
	font-weight: bold;
}

.gform_wrapper .gform_fields .gfield .validation_message {
	margin-top: 3px;
	font-size: var(--text-size-sm);
}

.gf-floats .gfield,
.woocommerce-address-fields .gf-floats .form-row {
	position: relative;
}

.woocommerce-address-fields .gf-floats .form-row {
	margin-bottom: 0;
}

.gf-floats .gfield:not(.gfield--type-checkbox) .gfield_label,
.woocommerce-address-fields .gf-floats label {
	position: absolute;
	top: 21px;
	left: calc((var(--default-gutter-x) * 2) + 2px);
	margin: 0;
	font-size: var(--text-size);
	line-height: 1;
	color: var(--color-primary);
	background: var(--color-white);
	padding: 0 .25rem;
	pointer-events: none;
	transform-origin: left top;
	transition: transform .18s ease, top .18s ease, color .18s ease, opacity .18s ease;
}

.content-section.grey .gf-floats .gfield_label,
.content-section.grey .woocommerce-address-fields .gf-floats label {
	background: var(--color-grey);
}

.gf-floats .gfield:not(.gfield--type-checkbox):focus-within .gfield_label,
.woocommerce-address-fields .gf-floats .form-row:focus-within label,
.woocommerce-address-fields .gf-floats .form-row.is-filled label,
.gf-floats .gfield:has(input:not(:placeholder-shown)) .gfield_label,
.gf-floats .gfield:has(textarea:not(:placeholder-shown)) .gfield_label,
.gf-floats .gfield.is-filled .gfield_label,
.wc-block-components-form .wc-block-components-text-input input:-webkit-autofill+label,
.wc-block-components-form .wc-block-components-text-input.is-active label,
.wc-block-components-text-input input:-webkit-autofill+label,
.wc-block-components-text-input.is-active label {
	top: -0.55rem !important;
	transform: scale(.875) important;
	opacity: 1 !important;
}

.input-group button {
	border-radius: 0;
}

.gform_confirmation_message {
	padding: calc(var(--default-gutter-y) * 2) calc(var(--default-gutter-x) * 2);
	background-color: var(--color-primary);
	border-radius: 12px;
	color: var(--color-white);
}

#gform_confirmation_message_2.gform_confirmation_message {
	padding: var(--default-gutter-y) var(--default-gutter-x);
	background-color: var(--color-secondary);
}

/* WooCommerce */
.login-tabs {
	.account-tab-link {
		font-weight: 500;
		text-decoration: underline;
		cursor: pointer;
	}

	.gfield .woocommerce-form-login__rememberme p {
		display: inline-block;
	}
}

.price-wrapper .d-flex {
	flex-wrap: wrap;
	column-gap: 10px;

	del {
		font-size: var(--text-size);
		color: var(--color-red);
		line-height: 112.5%;
	}
}

.product-overview {
	.price-wrapper .d-flex del {
		flex: 0 0 auto;
		width: 100%;
	}

	.woocommerce-variation.single_variation {
		display: none !important;
	}
}

.woocommerce-notices-wrapper {
	>* {
		margin-bottom: calc(var(--default-gutter-y) * 2);
	}

	.woocommerce-message {
		display: flex;
		align-items: center;
		justify-content: space-between;
		row-gap: calc(var(--default-gutter-y) * 2);
		column-gap: calc(var(--default-gutter-x) * 2);
		padding: var(--default-gutter-y) var(--default-gutter-x);
		background-color: var(--color-primary);
		border-radius: 12px;
		color: var(--color-white);
	}
}

.add-to-basket-wrapper .cart,
.woocommerce-cart-form .coupon {
	display: flex;
	column-gap: calc(var(--default-gutter-x) / 1);
}

.add-to-basket-wrapper .cart .quantity input[type="number"],
.cart td.product-quantity input[type="number"] {
	max-width: 100px;
	min-height: 46px;
}

.add-to-basket-wrapper .cart .quantity input[type="number"] {
	height: 100%;
}

.product-tabs {
	.nav-pills {
		padding-bottom: 1px;

		&:after {
			display: block;
			content: '';
			position: absolute;
			bottom: 0;
			left: calc(var(--default-gutter-x) * 2);
			width: calc(100% - calc(var(--default-gutter-x) * 4));
			height: 1px;
			background-color: var(--color-white);
		}

		.nav-item .nav-link {
			padding: 0;
			padding-bottom: var(--default-gutter-y);
			border-radius: 0;
			font-size: var(--text-size-md);
			color: var(--color-white);
			font-weight: 500;

			/*text-transform:uppercase;*/
			&.active {
				background-color: transparent;
				border-bottom: 3px solid var(--color-white);
			}
		}
	}

	.tab-pane {
		padding-top: calc(var(--default-gutter-y) * 2);
	}
}

.woocommerce-error::after,
.woocommerce-info::after,
.woocommerce-message::after,
wc-order-attribution-inputs {
	display: none;
}

.woocommerce-error,
.gform_wrapper .gform_validation_errors,
.gform_wrapper .gform_fields .gfield .validation_message {
	display: block;
	padding: var(--default-gutter-y) var(--default-gutter-x);
	border-radius: 12px;
	list-style: none;
	background-color: #cc0000;
	color: var(--color-white);
}

.woocommerce-error,
.gform_wrapper .gform_validation_errors {
	font-weight: 500;
}

.gform_wrapper .gform_fields .gfield .validation_message {
	margin-top: 3px;
	font-size: var(--text-size-xs);
}

.woocommerce-cart-form {
	.padding-wrapper.panel:not(:last-of-type) {
		margin-bottom: calc(var(--default-gutter-y) * 2);
	}

	.product-thumbnail img {
		height: auto;
		border-radius: 12px;
	}

	.product-quantity input {
		width: 80px;
		height: 48px;
		background-color: var(--color-white);
		border: 0;
	}

	.actions {
		row-gap: var(--default-gutter-y);
	}
}

/*.cart-collaterals {margin-top:calc(var(--default-gutter-y) * 4);}*/
.cart-collaterals table.table tr>* {
	padding: var(--default-gutter-y) var(--default-gutter-x) var(--default-gutter-y) 0;
}

.cart-collaterals table tr>*:last-child {
	text-align: right;
	padding-right: 0;
}

#add_payment_method table.cart img,
.woocommerce-cart table.cart img,
.woocommerce-checkout table.cart img {
	width: 90px;
	height: auto;
}

#add_payment_method .cart-collaterals .cart_totals tr td,
#add_payment_method .cart-collaterals .cart_totals tr th,
.woocommerce-cart .cart-collaterals .cart_totals tr td,
.woocommerce-cart .cart-collaterals .cart_totals tr th,
.woocommerce-checkout .cart-collaterals .cart_totals tr td,
.woocommerce-checkout .cart-collaterals .cart_totals tr th {
	border-top: 0;
}

#add_payment_method .wc-proceed-to-checkout a.checkout-button,
.woocommerce-checkout .wc-proceed-to-checkout a.checkout-button {
	margin-bottom: 0;
	padding: calc(var(--default-gutter-x) * 0.75) calc(var(--default-gutter-x) * 2);
	font-size: var(--text-size-sm);
}

div.woocommerce #content table.cart td.actions .input-text,
div.woocommerce table.cart td.actions .input-text,
.woocommerce-page #content table.cart td.actions .input-text,
.woocommerce-page table.cart td.actions .input-text {
	width: auto;
	min-width: 90px;
}

#add_payment_method table.cart td.actions .coupon .input-text,
.woocommerce-cart table.cart td.actions .coupon .input-text,
.woocommerce-checkout table.cart td.actions .coupon .input-text {
	float: none;
	border: 0;
	margin: 0;
	padding: 0;
	padding-left: calc(var(--default-gutter-x) / 2);
	padding-right: calc(var(--default-gutter-x) / 2);
}

.woocommerce-cart table.cart td.actions .coupon .input-text {
	width: auto !important;
}

.wc-proceed-to-checkout .button {
	width: 100%;
}

.wc-block-components-checkout-step .wc-block-components-checkout-step__container p {
	margin-bottom: var(--default-gutter-y);
}

.wc-block-checkout__billing-fields .wc-block-components-address-form,
.wc-block-checkout__shipping-fields .wc-block-components-address-form {
	display: flex;
	flex-direction: row;
	flex-wrap: wrap;
	column-gap: 0px !important;
	row-gap: 15px !important;
}

.wc-block-checkout__billing-fields .wc-block-components-address-form [class^="wc-block-components"],
.wc-block-checkout__shipping-fields .wc-block-components-address-form [class^="wc-block-components"] {
	display: flex;
	flex-direction: column;
	width: 100%;
}

.wc-block-checkout__billing-fields .wc-block-components-address-form .wc-block-components-select-input,
.wc-block-checkout__billing-fields .wc-block-components-address-form .wc-block-components-state-input,
.wc-block-checkout__shipping-fields .wc-block-components-address-form .wc-block-components-select-input,
.wc-block-checkout__shipping-fields .wc-block-components-address-form .wc-block-components-state-input,
.wc-block-checkout__shipping-fields .wc-block-components-address-form .wc-block-components-text-input:not(.wc-block-components-address-form__address_1),
.wc-block-checkout__billing-fields .wc-block-components-address-form .wc-block-components-text-input:not(.wc-block-components-address-form__address_1) {
	width: 50% !important;
}

.wc-block-components-form .wc-block-components-text-input label,
.wc-block-components-text-input label {
	left: calc((var(--default-gutter-x) * 2) + 2px) !important;
	font-size: var(--text-size) !important;
}

.wc-block-components-form .wc-block-components-text-input input:-webkit-autofill,
.wc-block-components-form .wc-block-components-text-input.is-active input[type=email],
.wc-block-components-form .wc-block-components-text-input.is-active input[type=number],
.wc-block-components-form .wc-block-components-text-input.is-active input[type=password],
.wc-block-components-form .wc-block-components-text-input.is-active input[type=tel],
.wc-block-components-form .wc-block-components-text-input.is-active input[type=text],
.wc-block-components-form .wc-block-components-text-input.is-active input[type=url],
.wc-block-components-text-input input:-webkit-autofill,
.wc-block-components-text-input.is-active input[type=email],
.wc-block-components-text-input.is-active input[type=number],
.wc-block-components-text-input.is-active input[type=password],
.wc-block-components-text-input.is-active input[type=tel],
.wc-block-components-text-input.is-active input[type=text],
.wc-block-components-text-input.is-active input[type=url] {
	padding: var(--default-gutter-y) var(--default-gutter-x) !important;
}

.wc-block-components-form .wc-block-components-text-input input:-webkit-autofill+label,
.wc-block-components-form .wc-block-components-text-input.is-active label,
.wc-block-components-text-input input:-webkit-autofill+label,
.wc-block-components-text-input.is-active label {
	color: var(--color-primary);
	background: var(--color-white);
	padding: 0 .25rem;
}

.wc-block-components-totals-coupon__form {
	.wc-block-components-text-input label {
		left: calc(var(--default-gutter-x) + 2px) !important;
	}

	.wc-block-components-text-input input[type="text"] {
		font-weight: inherit;
	}

	.wc-block-components-totals-coupon__button {
		flex: none !important;
		padding-left: calc(var(--default-gutter-x) * 2) !important;
		padding-right: calc(var(--default-gutter-x) * 2) !important;
	}
}

.wc-block-components-button {
	transition: var(--transition-background), var(--transition-color) !important;
}

.wc-block-checkout__payment-method .wc-block-components-radio-control__label>span {
	font-size: var(--text-size);
	font-weight: bold;
}

.wc-block-components-payment-method-label--with-icon {
	display: flex !important;
	justify-content: space-between !important;
}

#radio-control-wc-payment-method-options-gocardless__label .wc-block-components-payment-method-label--with-icon {
	flex-direction: row-reverse !important;
}

div.woocommerce:not(.dgwt-wcas-search-wrapp, .dgwt-wcas-suggestions-wrapp) {
	display: flex;
	flex-wrap: wrap;
	row-gap: calc(var(--default-gutter-y) * 2);
}

div.woocommerce {
	h2 {
		margin-bottom: var(--default-gutter-y);
	}

	>* {
		flex: 1 0 0%;
	}

	.woocommerce-MyAccount-navigation {
		flex: 0 0 auto;
		width: 100%;

		ul {
			margin: 0;
			padding: 0;
			list-style: none;

			li.is-active {
				font-weight: 500;
			}
		}
	}

	.woocommerce-order-details,
	.woocommerce-customer-details {
		margin-top: calc(var(--default-gutter-y) * 4);
	}
}

.ppcp-messages {
	margin-top: var(--default-gutter-y);
}

table.woocommerce-orders-table tr>* {
	vertical-align: middle;
}

.category {
	min-height: 600px;

	.card-wrapper,
	.card-wrapper .bio>* {
		position: relative;
		z-index: 2;
	}

	.card-wrapper .bio:before {
		height: 100%;
		background: linear-gradient(180deg, rgba(0, 0, 0, 0) 50%, rgba(0, 0, 0, 1) 100%);
	}

	.image {
		content: '';
		display: block;
		position: absolute;
		bottom: 0;
		left: 50%;
		transform: translateX(-50%);
		width: auto;
		max-width: calc(100% - calc(var(--default-gutter-x) * 4));
		height: calc(100% - calc(var(--default-gutter-x) * 2));

		img {
			max-width: 100% !important;
			max-height: 100% !important;
		}
	}
}

.saving-label {
	padding: calc(var(--default-gutter-y) / 2) var(--default-gutter-x);
	background-color: var(--color-red);
	border-radius: 12px;
	color: var(--color-white);

	span {
		display: inline-block;
	}
}

.add-to-bag-wrapper input.qty {
	display: none;
}

.facetwp-facet.facetwp-facet-load_more {
	display: flex;
	justify-content: center;
	margin-top: calc(var(--default-gutter-y) * 4);
}

.filters.side-loaded,
.mini-cart {
	position: fixed;
	top: 0;
	left: 0;
	z-index: 9999999;
	width: 480px;
	max-width: calc(100dvw - calc(var(--default-gutter-x) * 2));
	height: 100dvh;
	padding: calc(var(--default-gutter-y) * 1) calc(var(--default-gutter-x) * 1);
	background-color: var(--color-white);
	transform: translateX(-200%);
	transition: all 0.5s ease-in-out;
}

body.filter-open .filters.side-loaded,
body.mini-cart-open .mini-cart {
	transform: translateX(0);
}

.filters.side-loaded {
	.filter-bar {
		padding-top: var(--default-gutter-y);
	}

	.filter-bar:after,
	.accordion .facet-wrapper:after {
		background-color: var(--color-grey-darker);
	}

	.icon-wrapper.menu-overlay-trigger {
		border-color: var(--color-primary);
		color: var(--color-primary);
		transition: var(--transition-background), var(--transition-color);

		i[class*="flaticon-"] {
			color: inherit;
		}

		&:hover {
			background-color: var(--color-primary);
			color: var(--color-white);
		}
	}

	.accordion {
		background: transparent;

		.accordion-button {
			padding: var(--default-gutter-y) calc(var(--default-gutter-x) * 1);

			&:not(.collapsed) {
				background: transparent;
				box-shadow: none;
			}

			&:after {
				content: '\f102';
				background-image: none;
			}
		}

		.accordion-body {
			padding: 0 calc(var(--default-gutter-x) * 1);
		}

		.facet-wrapper {
			position: relative;

			.facetwp-facet {
				position: relative;
				margin-bottom: calc(var(--default-gutter-y) * 2) !important;

				&.facetwp-type-proximity {
					display: flex;
					flex-direction: row;
					column-gap: 10px;

					.facetwp-input-wrap {
						flex-grow: 1 !important;
					}

					.form-select {
						width: auto;
					}
				}
			}

			.facet-wrap .facetwp-facet .facetwp-input-wrap {
				display: block;
			}
		}

		.facetwp-checkbox {
			display: flex;
			flex-direction: row;
			margin-bottom: 0;
			padding-left: 0;
			background: transparent;
			font-size: var(--text-size-sm);
			color: var(--color-primary);
			/*white-space:nowrap;*/
			cursor: pointer;

			input[type="checkbox"] {
				display: none;
			}

			&:not(:first-of-type) {
				margin-top: calc(var(--default-gutter-y) / 2);
				margin-bottom: 0;
				padding-left: 0;
			}
		}

		.facetwp-facet.facetwp-type-slider {
			.facetwp-slider-label {
				font-size: var(--text-size-sm);
				text-align: center;
			}

			.facetwp-slider-wrap .noUi-connect {
				background-color: var(--color-grey);
			}

			.facetwp-slider-wrap .noUi-handle {
				background-color: var(--color-primary);
			}

			.facetwp-slider-reset {
				margin: var(--default-gutter-y) auto 0;
				padding: 0;
				background: transparent;
				border: 0;
				border-radius: 0;
				box-shadow: none;
				font-size: var(--text-size-sm);

				&:not(.facetwp-hidden) {
					display: block;
				}
			}
		}
	}

	.accordion-wrapper {
		margin-bottom: calc(var(--default-gutter-y) * 2);
		overflow: hidden;
		overflow-y: auto;
	}
}

.filters.side-loaded .filter-bar:after,
.mini-cart .filter-bar:after {
	margin-top: calc(var(--default-gutter-y) * 2);
}

.filters.side-loaded .filter-bar .container-fluid,
.mini-cart .filter-bar .container-fluid {
	padding-left: calc(var(--default-gutter-x) * 1);
	padding-right: calc(var(--default-gutter-x) * 1);
}

.mini-cart .accordion-wrapper {
	margin-bottom: calc(var(--default-gutter-y) * 2);
	overflow: hidden;
	overflow-y: auto;
}

.monopoly-card .facetwp-checkbox {
	&:before {
		margin-right: 0;
		background-color: var(--color-white);
		border-color: var(--color-white);
	}

	&.checked:before {
		background-color: var(--color-primary);
	}
}

.dropdown-menu .facetwp-facet .facetwp-radio:before {
	width: calc(var(--default-gutter-x) * 0.75);
	height: calc(var(--default-gutter-x) * 0.75);
	padding: 3px;
	border-radius: 100%;
}

.facetwp-facet .facetwp-number {
	border: 1px solid var(--color-primary) !important;
}

.filters.side-loaded .accordion .facetwp-checkbox:before,
.gform_fields .gfield .gfield_checkbox input[type="checkbox"],
.gform_fields .gfield .gfield_radio input[type="radio"] {
	content: '';
	width: 20px;
	height: 20px;
	margin-top: 1px;
	box-sizing: border-box;
	background-clip: content-box;
	margin-right: calc(var(--default-gutter-x) / 2);
	border: 2px solid var(--color-primary);
	border-radius: 4px;
}

.filters.side-loaded .accordion .facetwp-checkbox.checked:before,
.dropdown-menu .facetwp-facet .facetwp-radio.checked:before,
.gform_wrapper .gform_fields .gfield .gfield_checkbox input[type="checkbox"]:checked {
	background-color: var(--color-primary);
	background-image: url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 20 20'%3e%3cpath fill='none' stroke='%23fff' stroke-linecap='round' stroke-linejoin='round' stroke-width='3' d='m6 10 3 3 6-6'/%3e%3c/svg%3e");
}

.woocommerce-ordering select.orderby,
.facetwp-type-sort select {
	min-height: 46px;
	border: 2px solid var(--color-primary);
}

/* Mini cart */
.mini-cart {
	left: auto;
	right: 0;
	padding: calc(var(--default-gutter-y) * 2) calc(var(--default-gutter-x) * 2);
	transform: translateX(200%);

	.mini-cart-trigger .icon-wrapper {
		border-color: var(--color-primary);
		transition: var(--transition-background);

		&:hover {
			background-color: var(--color-primary);

			i[class*="flaticon-"] {
				color: var(--color-white);
			}
		}

		i[class*="flaticon-"] {
			transition: var(--transition-color);
		}
	}

	ul.woocommerce-mini-cart {
		margin: 0;
		padding: 0;
		list-style: none;

		li.woocommerce-mini-cart-item {
			display: flex;
			flex-direction: row;
			flex-wrap: nowrap;
			margin-bottom: calc(var(--default-gutter-y) * 2);
		}

		.woocommerce-mini-cart-item img {
			height: auto;
		}

		.woocommerce-mini-cart-item .woocommerce-Price-amount {
			font-weight: bold;
		}
	}

	.boxen span {
		vertical-align: top;
	}
}

.cky-revisit-bottom-left,
.grecaptcha-badge {
	display: none !important;
}

.livechat_button {
	position: fixed;
	bottom: var(--default-gutter-y);
	right: var(--default-gutter-x);
	z-index: 1021;
	width: 62px;
	height: 62px;
	cursor: pointer;
}

.cky-btn-revisit-wrapper {
	display: none !important;
}

@media (max-width:1839px) {
	.swiper.overflow-container-visible {
		overflow: visible;
	}
}

@media (max-width:1199px) {
	:root {
		--text-size-xs: 12px;
		--text-size-sm: 14px;
		--text-size: 16px;
		--text-size-md: 22px;
		--text-size-lg: 32px;
		--text-size-xl: 48px;
	}

	.swiper.overflow-lg-visible {
		overflow: visible;
	}
}

@media (max-width:991px) {
	.container-lg {
		max-width: 100%;
		padding-left: 0;
		padding-right: 0;
	}

	.swiper.overflow-md-visible {
		overflow: visible;
	}

	.section-group .section-group-tabs-wrapper.sticky-top.is-stuck {
		border-bottom: 1px solid var(--color-grey-darker);

		.section-group-tabs {
			top: auto;
		}
	}
}

@media (max-width:767px) {
	:root {
		--text-size-xl: 48px;
	}

	.row.col-gap-sm-1 {
		margin-left: calc((var(--default-gutter-y) / 2) / -1);
		margin-right: calc((var(--default-gutter-y) / 2) / -1);

		>* {
			padding-left: calc(var(--default-gutter-x) / 2) !important;
			padding-right: calc(var(--default-gutter-x) / 2) !important;
		}
	}

	.overlay-menu .content-section {
		padding-top: calc(var(--default-gutter-y) * 2);
		padding-bottom: calc(var(--default-gutter-y) * 2);
	}

	.section-group .section-group-tabs-wrapper {
		background-color: var(--color-white);
	}

	.swiper-button {
		&.floating {
			top: calc(50% - 18px);
			left: -18px;

			&.next {
				right: -18px;
			}
		}

		.icon-wrapper {
			width: 36px;
			height: 36px;
		}
	}

	.tab-content.accordion>.tab-pane {
		display: block;
		opacity: 1;
	}
}

@media (max-width:575px) {
	:root {
		--text-size-md: 18px;
		--text-size-xl: 42px;
	}

	.button,
	.label {
		font-size: var(--text-size-sm);
	}

	.table.woocommerce-orders-table {
		thead {
			display: none;
		}

		&,
		tbody,
		th,
		tr,
		td {
			display: block;
			width: 100%;
		}

		th::before,
		td:not(.woocommerce-orders-table__cell-order-actions)::before {
			content: attr(data-title) ":";
			margin-right: 10px;
			font-weight: 500;
			text-align: left;
		}
	}
}

/*
@media (min-width:420px) and (max-width:499px) {
	.header .logo img {max-width:calc(100dvw / 3);}
}
*/
@media (max-width:439px) {
	.container {
		padding-left: var(--default-gutter-x);
		padding-right: var(--default-gutter-x);
	}

	.button {
		padding-left: var(--default-gutter-x);

		&.iconless {
			padding-right: var(--default-gutter-x);
		}
	}

	.label.outline {
		padding-right: var(--default-gutter-x);
	}
}

@media (min-width:576px) {
	#enquiryModal .modal-dialog {
		max-width: 768px;
	}
}

@media (min-width:768px) {
	.padding-wrapper-md {
		padding: calc(var(--default-gutter-y) * 4) calc(var(--default-gutter-x) * 4);
	}

	.overlay-menu .main-menu li.root {
		font-size: var(--text-size-lg);
	}

	div.woocommerce .woocommerce-MyAccount-navigation ul li {
		font-size: var(--text-size-md);
	}

	.content-section {
		padding-top: calc(var(--default-gutter-y) * 4);
		padding-bottom: calc(var(--default-gutter-y) * 6);
	}

	.category {
		min-height: 33.33333dvw;
	}

	.gform_fields {
		row-gap: calc(var(--default-gutter-y) * 2);
	}

	.gform_wrapper .gform_fields .gfield.gfield--width-half,
	.woocommerce-address-fields .gf-floats .form-row {
		width: 50%;
	}
}

@media (min-width:992px) {
	.mt-lg-4 {
		margin-top: calc(var(--default-gutter-y) * 4) !important;
	}

	.overflow-lg-hidden {
		overflow: hidden !important;
	}

	.position-lg-absolute {
		position: absolute !important;
	}

	.header {
		position: relative;
		padding-top: var(--default-gutter-y);
	}

	.cover-image {
		position: absolute;
		top: 0;
		left: 0;
		width: 100%;
		height: 100%;
	}

	.cover-image-padding {
		padding-top: calc(var(--default-gutter-y) * 6);
		padding-bottom: calc(var(--default-gutter-y) * 6);
	}

	.padding-wrapper-lg {
		padding: calc(var(--default-gutter-y) * 4) calc(var(--default-gutter-x) * 4);
	}

	/*.tab-pane.accordion-item:first-of-type {display:block;opacity:1;}*/
	.tab-content.accordion>.accordion-item:not(:first-of-type):before {
		display: none;
	}

	.swiper.timelineSwiper .swiper-slide {
		min-height: 75dvh;
	}

	.header .search-wrapper {
		max-width: min(300px, 50dvw);
	}

	.search-bar.collapse {
		display: none;
	}

	div.woocommerce .woocommerce-MyAccount-navigation {
		width: auto;
	}

	.swiper.variationsSwiper.justify-override .swiper-wrapper {
		justify-content: center;
	}
}

@media (min-width:1200px) {
	.row.col-gap-2 {
		margin-left: calc((var(--default-gutter-y) * 3) / -1);
		margin-right: calc((var(--default-gutter-y) * 3) / -1);

		>* {
			padding-left: calc(var(--default-gutter-x) * 3);
			padding-right: calc(var(--default-gutter-x) * 3);
		}
	}

	.hero {
		min-height: 75vh;
	}

	.category {
		min-height: 600px;
	}

	.padding-wrapper-xl {
		padding: calc(var(--default-gutter-y) * 4) calc(var(--default-gutter-x) * 4);
	}

	.swiper.timelineSwiper .swiper-slide .boxen .title:not(.lg, .md) {
		font-size: 120px;
	}

	.sub-header {
	
		.swiper:not(.swiper-initialized) .swiper-wrapper {
			display: flex;
			flex-wrap: wrap;
			justify-content: space-between !important;
			width: auto;

			>* {
				flex: 0 0 auto;
				width: auto;
			}
		}

	}

}

@media (min-width:1500px) {
	#menuModal.modal .modal-body {
		padding: calc(var(--default-gutter-y) * 4) calc(var(--default-gutter-x) * 4);
	}
}

@media (min-width:1841px) {
	#menuModal .modal-dialog {
		max-width: 1780px;
		margin-left: auto;
		margin-right: auto;
	}
}

@media (min-width:1921px) {
	/*.swiper.cols-4 .swiper-slide {width:calc((1780px - calc((var(--default-gutter-x) * 2) * 3)) / 4) !important;}*/
}

@media (max-width:991px),
(max-height:999px) {
	.overlay-menu {
		overflow-y: auto;
	}
}

@media (min-width:992px) and (min-height:1000px) {
	.overlay-menu .content-wrapper {
		min-height: 0;
		overflow-x: hidden;
		overflow-y: auto;
	}
}

/* Product badge on product thumbnails (functions/product-badges.php): the
   same black pill as the device cards' Most popular. */
.card-wrapper .card-badge {
	position: absolute;
	top: 10px;
	left: 10px;
	z-index: 2;
	padding: 3px 10px;
	background-color: var(--color-primary);
	border-radius: 50vh;
	font-size: var(--text-size-xs);
	font-weight: 600;
	letter-spacing: 0.04em;
	text-transform: uppercase;
	color: var(--color-white);
}

/* Express checkout: PayPal draws its button inside its own iframe and stops at
   750px. With Pay Later (UK) there are two buttons sharing the row; elsewhere
   only Pay with PayPal shows, so cap the lone button at that width and centre
   it rather than leaving it short on the left. */
.wc-block-components-express-payment__event-buttons > li:only-child,
.wc-block-components-express-payment__event-buttons > div:only-child {
	justify-self: center;
	width: 100%;
	max-width: 750px;
}

/* Product carousel (template-parts/woocommerce/product-carousel.php), used by
 * related products and the Product Carousel layout: heading and intro on the
 * left, arrows on the right, then the cards. */
.product-carousel-intro {
	max-width: 1100px;
	margin: var(--default-gutter-y) 0 0;
	font-size: var(--text-size-md);
	line-height: 1.5;
}

.product-carousel-arrows {
	display: flex;
	gap: 16px;
}

.product-carousel-prev,
.product-carousel-next {
	display: flex;
	align-items: center;
	justify-content: center;
	width: 46px;
	height: 46px;
	padding: 0;
	border: 0;
	border-radius: 50%;
	background-color: var(--color-white);
	color: var(--color-secondary);
	box-shadow: 0 2px 10px rgba(0, 0, 0, 0.2);
	cursor: pointer;
}

/* Nothing more that way: both arrows stay, as in the design, this one faded. */
.product-carousel-prev.swiper-button-disabled,
.product-carousel-next.swiper-button-disabled {
	opacity: 0.4;
	cursor: default;
}

/* Everything fits: no arrows. */
.product-carousel-prev.swiper-button-lock,
.product-carousel-next.swiper-button-lock {
	display: none;
}

.product-carousel-card .card-wrapper {
	overflow: hidden;
}

/* A little shorter than square, as in the design; the ratio sits on the image
 * itself, since the image's own height would stretch its wrapper. */
.product-carousel-card-image {
	display: block;
	background-color: var(--color-grey);

	img {
		display: block;
		width: 100%;
		height: auto;
		aspect-ratio: 8 / 7;
		object-fit: cover;
	}
}

.product-carousel-card-body {
	gap: 16px;
	padding: 20px;

	.title.md {
		font-size: 24px;
		line-height: 1.15;
	}

	.price-wrapper .title,
	.price-wrapper del {
		font-size: var(--text-size-md);
	}
}

/* The design's tag: square-cornered, larger than the store's saving pill. */
.product-carousel-card-saving .saving-label {
	padding: 4px 14px;
	border-radius: 4px;
	font-size: var(--text-size-md);
}

.product-carousel-card-category {
	overflow: hidden;
	font-size: var(--text-size-sm);
	font-weight: 500;
	line-height: 1.2;
	color: #55565a;
	text-align: left;
	text-overflow: ellipsis;
	white-space: nowrap;
}

/* Up to four lines, so the cards stay close in height. */
.product-carousel-card-text {
	display: -webkit-box;
	overflow: hidden;
	-webkit-line-clamp: 4;
	-webkit-box-orient: vertical;
	font-size: var(--text-size-sm);
	line-height: 1.3;
	color: #55565a;
}

/* Full width at the foot of the card, the text centred between an empty
 * space and the arrow circle. */
.product-carousel-card-button {
	width: 100%;
	margin-top: auto;
	justify-content: space-between;
	padding-left: 6px;

	&:not(.iconless):before {
		flex: 0 0 34px;
		width: 34px;
	}
}

@media (max-width: 767.98px) {
	.product-carousel-arrows {
		display: none;
	}
}
