/* Begin critical CSS */
/*
 Copyright Watman & Worth Web Ltd 2018-2023
 Use without modification granted to all our customers.
 Do Not Redistribute
*/
/* 
    Created on : 30 Nov 2023, 10:11:16
    Author     : William Worth <william@watmanworth.co.uk>
*/


 /** Begin CSS Section: defaults */

 /* Begin CSS Part: Base */
/* ==========================================
   WATMAN WEB FRAMEWORK
   BASE
========================================== */

*,
*::before,
*::after {
	box-sizing: border-box;
}

* {
	margin: 0;
	padding: 0;
}

html {
	scroll-behavior: smooth;
	-webkit-text-size-adjust: 100%;
}

body {
	min-height: 100vh;
	text-rendering: optimizeLegibility;
	-webkit-font-smoothing: antialiased;
	line-height: 1.5;
}

img,
picture,
svg,
video,
canvas {
	display: block;
	max-width: 100%;
	height: auto;
}

table {
	width: 100%;
	border-collapse: collapse;
	border-spacing: 0;
}

a {
	color: inherit;
}

:focus-visible {
	outline: 2px solid currentColor;
	outline-offset: 3px;
}

[hidden],
.hidden,
.site-hide {
	display: none !important;
}
 /* Begin CSS Part: Layout */
/* ==========================================
   WATMAN WEB FRAMEWORK
   LAYOUT
========================================== */

:root {
	--ww-container-max: 1400px;
	--ww-container-wide: 1600px;
	--ww-container-narrow: 900px;

	--ww-header-height-desktop: 90px;
	--ww-header-height-mobile: 80px;

	--ww-page-gutter: 2rem;

	--ww-space-xs: 0.5rem;
	--ww-space-s: 1rem;
	--ww-space-m: 2rem;
	--ww-space-l: 4rem;
	--ww-space-xl: 6rem;
	--ww-space-xxl: 8rem;

	--ww-radius-s: 0.5rem;
	--ww-radius-m: 1rem;
	--ww-radius-l: 2rem;

	--ww-shadow-s: 0 2px 10px rgba(0,0,0,.05);
	--ww-shadow-m: 0 8px 25px rgba(0,0,0,.08);
	--ww-shadow-l: 0 15px 40px rgba(0,0,0,.12);

	--ww-transition-fast: 0.2s ease;
	--ww-transition-medium: 0.3s ease;

	--ww-z-header: 1000;
	--ww-z-responsive-menu: 1001;
	--ww-z-modal: 2000;
	--ww-z-cookie: 3000;
}

/* EOS safety */

.layout,
.layout-cell,
.layout-component {
	min-width: 0;
}

/* Core site shell */

.master-layout {
	background: var(--ww-color-body-bg);
	color: var(--ww-color-text);
}

.header-wrapper,
.responsive-menu-wrapper,
.page-content-wrapper,
.footer-wrapper {
	width: 100%;
}

.page-content-wrapper {
	padding-top: var(--ww-header-height-desktop);
}

/* Main containers */

.header-container,
.page-section > .i,
.main-footer > .i,
.base-footer > .i {
	width: calc(100% - (var(--ww-page-gutter) * 2));
	max-width: var(--ww-container-max);
	margin-left: auto;
	margin-right: auto;
}

.header-container {
	min-height: var(--ww-header-height-desktop);
}

/* Page sections */

.page-section {
	width: 100%;
	padding-block: var(--ww-space-xl);
}

/* Prevent double spacing when page sections sit directly together */

.page-section + .page-section {
	padding-top: 0;
}

.page-section-content,
.page-section-image,
.page-section-cards,
.page-section-form {
	width: 100%;
	min-width: 0;
}

/* Nested EOS inner wrappers */

.page-section-content > .i,
.page-section-image > .i,
.page-section-cards > .i,
.page-section-form > .i {
	width: 100%;
	min-width: 0;
}

/* Generic containers */

.ww-container {
	width: calc(100% - (var(--ww-page-gutter) * 2));
	max-width: var(--ww-container-max);
	margin-left: auto;
	margin-right: auto;
}

.ww-container--narrow {
	max-width: var(--ww-container-narrow);
}

.ww-container--wide {
	max-width: var(--ww-container-wide);
}

/* Generic grid helpers */

.ww-grid {
	display: grid;
	gap: var(--ww-space-l);
	align-items: start;
}

.ww-grid--2 {
	grid-template-columns: repeat(2, minmax(0, 1fr));
}

.ww-grid--3 {
	grid-template-columns: repeat(3, minmax(0, 1fr));
}

.ww-grid--4 {
	grid-template-columns: repeat(4, minmax(0, 1fr));
}

.ww-grid > * {
	min-width: 0;
}

/* EOS grid pass-through
   When ww-grid is applied to an EOS layout-cell, the real grid should live on its .i inner wrapper.
*/

.layout-cell.ww-grid {
	display: block;
}

.layout-cell.ww-grid > .i {
	display: grid;
	gap: var(--ww-space-l);
	align-items: start;
	width: 100%;
}

.layout-cell.ww-grid--2 > .i {
	grid-template-columns: repeat(2, minmax(0, 1fr));
}

.layout-cell.ww-grid--3 > .i {
	grid-template-columns: repeat(3, minmax(0, 1fr));
}

.layout-cell.ww-grid--4 > .i {
	grid-template-columns: repeat(4, minmax(0, 1fr));
}

.layout-cell.ww-grid > .i > * {
	min-width: 0;
}

/* Generic flex helpers */

.ww-flex {
	display: flex;
	gap: var(--ww-space-m);
}

.ww-flex--wrap {
	flex-wrap: wrap;
}

.ww-stack > * + * {
	margin-top: var(--ww-space-m);
}
 /* Begin CSS Part: Desktop Defaults */
/* ==========================================
   WATMAN WEB FRAMEWORK
   DESKTOP DEFAULTS
========================================== */

@media (min-width: 1025px) {

	.header-wrapper {
		display: block;
	}

	.responsive-menu-wrapper {
		display: none;
	}

}
 /* Begin CSS Part: Tablet Defaults */
/* ==========================================
   WATMAN WEB FRAMEWORK
   TABLET DEFAULTS
========================================== */

@media (min-width: 768px) and (max-width: 1024px) {

	.header-wrapper {
		display: block;
	}

	.responsive-menu-wrapper {
		display: none;
	}

	/* Two-column EOS grids stack on tablet */

	.layout-cell.ww-grid--2 > .i {
		grid-template-columns: 1fr;
	}

	/* Four-column grids become two columns */

	.ww-grid--4,
	.layout-cell.ww-grid--4 > .i {
		grid-template-columns: repeat(2, minmax(0, 1fr));
	}

}
 /* Begin CSS Part: Mobile Defaults */
/* ==========================================
   WATMAN WEB FRAMEWORK
   MOBILE DEFAULTS
========================================== */

@media (max-width: 767px) {

	:root {
		--ww-page-gutter: 1.25rem;
		--ww-space-xl: 4rem;
	}

	.header-wrapper {
		display: none;
	}

	.responsive-menu-wrapper {
		display: block;
	}

	.page-content-wrapper {
		padding-top: var(--ww-header-height-mobile);
	}

	.page-section {
		padding-block: var(--ww-space-l);
	}

	.ww-grid--2,
	.ww-grid--3,
	.ww-grid--4,
	.layout-cell.ww-grid--2 > .i,
	.layout-cell.ww-grid--3 > .i,
	.layout-cell.ww-grid--4 > .i {
		grid-template-columns: 1fr;
	}

	.ww-flex {
		flex-direction: column;
	}

}
 /** Begin CSS Section: core */

 /* Begin CSS Part: DISABILITY */

 /* Begin CSS Part: Fonts */

 /* Begin CSS Part: Buttons */

 /* Begin CSS Part: Colours */
/* ==========================================
   WATMAN WEB FRAMEWORK
   COLOURS
========================================== */

:root {
	--ww-color-body-bg: #ffffff;

	--ww-color-primary: #274f87;
	--ww-color-primary-text: #ffffff;

	--ww-color-secondary: #4a4a4a;
	--ww-color-secondary-text: #ffffff;

	--ww-color-header-bg: #ffffff;
	--ww-color-header-text: #000000;

	--ww-color-footer-bg: #274f87;
	--ww-color-footer-text: #ffffff;

	--ww-color-heading-main: #274f87;
	--ww-color-heading-secondary: #274f87;
	--ww-color-heading-tertiary: #424242;
	--ww-color-text: #333333;

	--ww-color-link: #274f87;
	--ww-color-link-hover: #22323b;
	--ww-color-link-visited: #3f536e;

	--ww-color-button-bg: #274f87;
	--ww-color-button-text: #ffffff;
	--ww-color-button-border: #ffffff;
	--ww-color-button-bg-hover: #212121;
	--ww-color-button-text-hover: #ffffff;
	--ww-color-button-border-hover: #d6d6d6;

	--ww-color-border: #969696;
	--ww-color-border-hover: #4a4a4a;

	--ww-color-surface: #ffffff;
	--ww-color-surface-alt: rgba(39,79,135,0.03);
}
 /* Begin CSS Part: Menus */

 /* Begin CSS Part: Responsive Menu */
/* ==========================================
   WATMAN WEB FRAMEWORK
   RESPONSIVE MENU
========================================== */

.responsive-menu-wrapper {
	position: fixed;
	top: 0;
	left: 0;
	width: 100%;
	z-index: var(--ww-z-header);
}

/* Fixed responsive header bar */

.responsive-menu {
	position: fixed;
	top: 0;
	left: 0;
	width: 100%;
	height: var(--ww-header-height-mobile);
	z-index: var(--ww-z-header);

	display: flex;
	align-items: center;
	justify-content: space-between;
	gap: var(--ww-space-s);

	padding-inline: var(--ww-page-gutter);

	background: var(--ww-color-primary);
	color: var(--ww-color-primary-text);
}

.responsive-logo,
.responsive-menu-trigger {
	position: relative;
	z-index: calc(var(--ww-z-responsive-menu) + 1);
}

.responsive-logo img,
.responsive-menu-trigger img {
	width: 50px;
	height: auto;
}

.responsive-menu-trigger {
	cursor: pointer;
}

/* Slide-out panel */

.responsive-slave {
	position: fixed;
	top: 0;
	right: 0;
	width: min(90vw, 420px);
	height: 100vh;
	z-index: var(--ww-z-responsive-menu);

	overflow-y: auto;

	background: var(--ww-color-header-bg);
	color: var(--ww-color-header-text);

	box-shadow:
		0 0 0 0 rgba(0,0,0,0),
		-10px 0 30px rgba(0,0,0,0.25);

	transform: translateX(100%);

	transition:
		transform 0.35s ease,
		box-shadow 0.35s ease;
}

/* Open state applied by EOS */

.responsive-slave.open {
	transform: translateX(0);

	box-shadow:
		0 0 0 100vmax rgba(0,0,0,0.5),
		-10px 0 30px rgba(0,0,0,0.25);
}

/* Close button */

.slave-close,
.slave-close:visited {
	position: absolute;
	top: 1.25rem;
	right: 1.5rem;
	z-index: calc(var(--ww-z-responsive-menu) + 2);

	display: inline-flex;
	align-items: center;
	justify-content: center;

	color: var(--ww-color-header-text);
	text-decoration: none;

	font-size: 0.85rem;
	font-weight: 700;
	letter-spacing: 0.06em;
	line-height: 1;
	text-transform: uppercase;

	cursor: pointer;

	transition:
		opacity var(--ww-transition-fast),
		transform var(--ww-transition-fast);
}

.slave-close:hover,
.slave-close:focus {
	color: var(--ww-color-header-text);
	opacity: 0.7;
	transform: translateY(-1px);
}

/* Menu list */

.responsive-slave .menubar {
	display: flex;
	flex-direction: column;
	gap: 0;

	list-style: none;
	margin: 0;
	padding: 5rem 0 2rem;
}

.responsive-slave .menubar .menubar {
	padding: 0;
	background: rgba(0,0,0,0.025);
}

.responsive-slave .menu_item,
.responsive-slave .menu_item:visited {
	display: block;
	padding: 1rem 1.5rem;

	color: var(--ww-color-header-text);
	text-decoration: none;
	font-weight: 600;

	border-bottom: 1px solid rgba(0,0,0,0.08);

	opacity: 0;
	transform: translateX(20px);

	transition:
		opacity 0.3s ease,
		transform 0.3s ease,
		background-color var(--ww-transition-fast),
		color var(--ww-transition-fast);
}

.responsive-slave.open .menu_item {
	opacity: 1;
	transform: translateX(0);
}

.responsive-slave .menubar .menubar .menu_item {
	padding-left: 2.5rem;
	font-size: 0.95rem;
}

.responsive-slave .menu_item:hover,
.responsive-slave .menu_item:focus,
.responsive-slave li.active > .menu_item {
	color: var(--ww-color-header-text);
	background: rgba(0,0,0,0.04);
}

/* Mobile sizing refinements */

@media (max-width: 480px) {

	.responsive-slave {
		width: min(92vw, 380px);
	}

}
 /* Begin CSS Part: Editor Overrides */

 /* Begin CSS Part: Specials */

 /* Begin CSS Part: Effects */

 /* Begin CSS Part: Site Design */
/* ==========================================
   HEADER
========================================== */

.header-wrapper {
	position: fixed;
	top: 0;
	left: 0;
	width: 100%;
	z-index: var(--ww-z-header);

	background: var(--ww-color-header-bg);
	color: var(--ww-color-header-text);

	box-shadow: 0 4px 20px rgba(0,0,0,0.08);
}

.header-container {
	display: flex;
	align-items: center;
	justify-content: space-between;
	gap: var(--ww-space-m);

	padding-block: 1rem;
}

.header-logo-container {
	flex-shrink: 0;
}

.logo-main-link {
	display: block;
	text-decoration: none;
}

.logo-main {
	display: block;
	width: auto;
	max-width: 280px;
	height: auto;
}

.header-menu-container {
	display: flex;
	justify-content: flex-end;
	align-items: center;
	flex: 1;
	min-width: 0;
}

/* ==========================================
   HEADER MENU RESET
========================================== */

.header-menu,
.header-menu .menubar,
.header-menu .menubar li {
	margin: 0;
	padding: 0;
}

.header-menu .menubar,
.header-menu .menubar ul {
	list-style: none;
}

.header-menu .menubar li {
	list-style: none;
}

.header-menu .menubar li::marker {
	content: "";
}

.header-menu .menu_item,
.header-menu .menu_item:visited {
	color: inherit;
	text-decoration: none;
}

/* ==========================================
   HEADER MENU
========================================== */

.header-menu .menubar.horizontal {
	display: flex;
	align-items: center;
	justify-content: flex-end;
	flex-wrap: wrap;
	gap: 2rem;
}

.header-menu .menubar li {
	position: relative;
}

.header-menu .menu_item,
.header-menu .menu_item:visited {
	position: relative;
	display: block;
	padding: 0.5rem 0;

	color: var(--ww-color-header-text);
	font-weight: 600;
	line-height: 1;
	text-decoration: none;

	transition:
		color var(--ww-transition-fast),
		opacity var(--ww-transition-fast);
}

.header-menu .menu_item:hover,
.header-menu .menu_item:focus {
	color: var(--ww-color-header-text);
	opacity: 0.75;
}

.header-menu li.active > .menu_item {
	color: var(--ww-color-header-text);
}

/* Header underline */

.header-menu > .menubar > li > .menu_item::after {
	content: "";
	position: absolute;
	left: 0;
	bottom: 0;

	width: 100%;
	height: 2px;

	background: currentColor;

	transform: scaleX(0);
	transform-origin: center;

	transition: transform 0.25s ease;
}

.header-menu > .menubar > li > .menu_item:hover::after,
.header-menu > .menubar > li > .menu_item:focus::after,
.header-menu > .menubar > li.active > .menu_item::after {
	transform: scaleX(1);
}

/* ==========================================
   HEADER SUBMENUS
========================================== */

.header-menu li.has_child > .menubar {
	position: absolute;
	top: calc(100% + 0.75rem);
	left: 0;
	z-index: calc(var(--ww-z-header) + 1);

	display: flex;
	flex-direction: column;
	align-items: stretch;
	justify-content: flex-start;
	flex-wrap: nowrap;
	gap: 0;

	min-width: 220px;
	margin: 0;
	padding: 0.75rem;

	list-style: none;

	background: var(--ww-color-header-bg);
	color: var(--ww-color-header-text);

	border: 1px solid rgba(0,0,0,0.08);
	border-radius: var(--ww-radius-s);

	box-shadow: var(--ww-shadow-m);

	opacity: 0;
	visibility: hidden;
	transform: translateY(8px);

	transition:
		opacity var(--ww-transition-fast),
		visibility var(--ww-transition-fast),
		transform var(--ww-transition-fast);
}

.header-menu li.has_child:hover > .menubar,
.header-menu li.has_child:focus-within > .menubar {
	opacity: 1;
	visibility: visible;
	transform: translateY(0);
}

.header-menu li.has_child > .menubar > li {
	display: block;
	width: 100%;
	margin: 0;
	padding: 0;

	list-style: none;
}

.header-menu li.has_child > .menubar > li::marker {
	content: "";
}

.header-menu li.has_child > .menubar .menu_item,
.header-menu li.has_child > .menubar .menu_item:visited {
	display: block;
	width: 100%;
	padding: 0.75rem 1rem;

	white-space: nowrap;

	color: var(--ww-color-header-text);
	border-radius: calc(var(--ww-radius-s) / 1.5);
}

.header-menu li.has_child > .menubar .menu_item:hover,
.header-menu li.has_child > .menubar .menu_item:focus {
	background: rgba(0,0,0,0.04);
	opacity: 1;
}

/* Remove underline effect from submenu links */

.header-menu li.has_child > .menubar .menu_item::after {
	display: none;
}
 /* Begin CSS Part: User Design */

 /* Begin CSS Part: Site Components */

 /* Begin CSS Part: Results */

 /* Begin CSS Part: Pages */

 /** Begin CSS Section: modules */

 /* Begin CSS Part: 404 */

 /* Begin CSS Part: Admin */

 /* Begin CSS Part: Analytics Data */

 /* Begin CSS Part: Auth */

 /* Begin CSS Part: Auto Pdf */

 /* Begin CSS Part: Basket */

 /* Begin CSS Part: Calendar */

 /* Begin CSS Part: Categories */

 /* Begin CSS Part: Checkout */

 /* Begin CSS Part: Collation */

 /* Begin CSS Part: Collation Admin */

 /* Begin CSS Part: Cookies */

#cookie-compliance {
    z-index: 1000000000;
    position: fixed;
    bottom: 0px;
    background-color: #333 !important;
    border-top: 2px solid #fff !important;
    width: 100%;
    left: 0px;
    text-align: left !important;
}

.layout-component.cookie-selection * {
    text-align: left !important;
}

#cookie-compliance .mod_cookies {
    padding: 24px !important;
}

#cookie-compliance * {
    color:#fff !important;
}

#cookie-compliance {
    overflow:hidden;
}

.layout-component.cookie-selection .checkbox input {
    display:inline-block;
    width:auto;
}
.layout-component.cookie-selection .checkbox span {
    display: inline-block;
    width: auto;
    font-weight: bold;
    vertical-align: top;
    line-height: 16px;
    font-size: 16px;
}

.cookie-selection .description {
    font-size:14px;
}

.layout-component.cookie-selection p, .layout-component.cookie-selection p a {
    font-size: 14px !important;
    line-height: 18px !important;
    margin-bottom: 12px !important;
}

.layout-component.cookie-selection p {
    display: inline-block;
}

#cookie-compliance div.compliance-ok{
    display: inline-block;
    background-color: green;
    color: #fff;
    padding: 2px 12px;
    font-size: 12px;
    border-radius: 2px;
    cursor:pointer;
}


.cookie-selection > .cookie-selection {
    border-top: 1px solid #fff;
    padding: 12px;
}

.layout-component.cookie-selection .button {
    border: 1px solid #fff !important;
    background-color: transparent !important;
    font-size: 14px;
    padding: 8px 12px;
    margin-top: 12px;
    margin-bottom: 12px;
}

#cookie-compliance div.saved-mask {
    position: absolute;
    height: 100%;
    width:100%;
    background-color: #333 !important;
    border-top: 2px solid #fff !important;
    text-align: center;
    font-size:20px;
    padding:24px;
    color:#fff;
}
/* ==========================================
   WATMAN WEB FRAMEWORK
   COOKIES
   Note: EOS injects legacy cookie rules, so key overrides are intentionally forceful.
========================================== */

#cookie-compliance {
	position: fixed !important;
	left: 0 !important;
	right: 0 !important;
	bottom: 0 !important;
	z-index: var(--ww-z-cookie) !important;

	width: 100% !important;

	background: #222 !important;
	color: #fff !important;

	border-top: 1px solid rgba(255,255,255,0.2) !important;

	text-align: left !important;
	overflow: hidden !important;

	box-shadow: 0 -10px 30px rgba(0,0,0,0.2);
}

#cookie-compliance .mod_cookies {
	width: calc(100% - (var(--ww-page-gutter) * 2)) !important;
	max-width: var(--ww-container-max) !important;
	margin-inline: auto !important;
	padding: 1.5rem 0 !important;
}

#cookie-compliance * {
	color: inherit !important;
	text-align: left;
}

#cookie-compliance .layout-component.cookie-selection p,
#cookie-compliance .layout-component.cookie-selection p a {
	font-size: 0.9rem !important;
	line-height: 1.5 !important;
	margin-bottom: 0.75rem !important;
}

#cookie-compliance .cookie-selection .description {
	font-size: 0.875rem !important;
	opacity: 0.85;
}

#cookie-compliance .layout-component.cookie-selection .checkbox input {
	display: inline-block !important;
	width: auto !important;
}

#cookie-compliance .layout-component.cookie-selection .checkbox span {
	display: inline-block !important;
	width: auto !important;

	font-size: 0.95rem !important;
	font-weight: 700 !important;
	line-height: 1.3 !important;
	vertical-align: top !important;
}

#cookie-compliance .cookie-selection > .cookie-selection {
	border-top: 1px solid rgba(255,255,255,0.2) !important;
	padding-top: 1rem !important;
	margin-top: 1rem !important;
}

#cookie-compliance div.compliance-ok {
	display: inline-flex !important;
	align-items: center;
	justify-content: center;

	min-height: 38px;
	padding: 0.65rem 1rem !important;

	background: var(--ww-color-primary) !important;
	color: var(--ww-color-primary-text) !important;

	border-radius: var(--ww-radius-s) !important;

	font-size: 0.9rem !important;
	font-weight: 700 !important;

	cursor: pointer;
}

#cookie-compliance .layout-component.cookie-selection .button {
	display: inline-flex !important;
	align-items: center;
	justify-content: center;

	min-height: 38px;
	padding: 0.65rem 1rem !important;
	margin-top: 0.75rem !important;
	margin-bottom: 0.75rem !important;

	border: 1px solid rgba(255,255,255,0.55) !important;
	border-radius: var(--ww-radius-s) !important;

	background: transparent !important;
	color: #fff !important;

	font-size: 0.9rem !important;
	font-weight: 700 !important;
	text-decoration: none !important;
}

#cookie-compliance div.saved-mask {
	position: absolute !important;
	inset: 0 !important;

	display: flex !important;
	align-items: center;
	justify-content: center;

	padding: 1.5rem !important;

	background: #222 !important;
	color: #fff !important;

	border-top: 0 !important;

	text-align: center !important;
	font-size: 1.1rem !important;
	font-weight: 700 !important;
}

@media (max-width: 767px) {

	#cookie-compliance .mod_cookies {
		padding-block: 1.25rem !important;
	}

}
 /* Begin CSS Part: Crm */

 /* Begin CSS Part: Currency Converter */

 /* Begin CSS Part: Discount */

 /* Begin CSS Part: Email Template */

 /* Begin CSS Part: Faq */

 /* Begin CSS Part: Form */

 /* Begin CSS Part: Google Analytics */

 /* Begin CSS Part: Home */

 /* Begin CSS Part: Image Library */

 /* Begin CSS Part: Memorial */

 /* Begin CSS Part: Multi User */

 /* Begin CSS Part: News Letter */

 /* Begin CSS Part: Order Manager */

 /* Begin CSS Part: Orders */

 /* Begin CSS Part: Payment Gateway */

 /* Begin CSS Part: Paypal Express */

 /* Begin CSS Part: Qanda */

 /* Begin CSS Part: Redirect */

 /* Begin CSS Part: Review */

 /* Begin CSS Part: Schema */

 /* Begin CSS Part: Scroller */
/* ==========================================
   WATMAN WEB FRAMEWORK
   SCROLLER / BANNERS
========================================== */

/* Shared banner content */

.scroller-banner-header .nested-banner-content,
.static-banner-header .nested-banner-content,
.video-banner-header .nested-banner-content {
	position: relative;
	z-index: 2;

	width: calc(100% - (var(--ww-page-gutter) * 2));
	max-width: var(--ww-container-max);
	margin-inline: auto;
	padding-block: var(--ww-space-xl);

	color: #fff;
}

.scroller-banner-header .nested-banner-content .content,
.static-banner-header .nested-banner-content .content,
.static-banner-header .nested-banner-content .title,
.video-banner-header .nested-banner-content .content,
.video-banner-header .nested-banner-content .title {
	max-width: 760px;
}

.scroller-banner-header .nested-banner-content h1,
.static-banner-header .nested-banner-content h1,
.video-banner-header .nested-banner-content h1 {
	color: inherit;
	margin-bottom: 1rem;
}

.scroller-banner-header .nested-banner-content p,
.static-banner-header .nested-banner-content p,
.video-banner-header .nested-banner-content p {
	font-size: clamp(1.1rem, 2vw, 1.35rem);
	margin-bottom: 2rem;
}

/* Scroller hero banner */

.hero-banner.scroller-banner-header,
.banner-scroller,
.banner-scroller .slide-container,
.banner-scroller .slide,
.banner-scroller .slide > .layout-cell {
	position: relative;
	width: 100%;
	min-height: clamp(420px, 55vw, 760px);
}

.banner-scroller {
	overflow: hidden;
}

.banner-scroller .slide-container,
.banner-scroller .slide {
	min-height: clamp(420px, 55vw, 760px) !important;
}

.banner-scroller .slide > .layout-cell {
	display: grid;
	align-items: center;
}

.scroller-banner-header .slide .background-image,
.scroller-banner-header .slide .banner-background-image {
	position: absolute;
	inset: 0;
	width: 100%;
	height: 100%;
}

.banner-background-image {
	background-size: cover;
	background-position: center center;
	background-repeat: no-repeat;
}

.banner-background-image::after {
	content: "";
	position: absolute;
	inset: 0;
	background: rgba(0,0,0,0.35);
}

/* Static page banner */

.static-banner-header {
	position: relative;
	width: 100%;
	min-height: clamp(360px, 42vw, 620px);
	overflow: hidden;
}

.static-banner-header > .background-image {
	position: relative;
	display: grid;
	align-items: center;

	width: 100%;
	min-height: clamp(360px, 42vw, 620px);

	background-size: cover;
	background-position: center center;
	background-repeat: no-repeat;
}

.static-banner-header > .background-image::before {
	content: "";
	position: absolute;
	inset: 0;
	z-index: 1;
	background: rgba(0,0,0,0.35);
}

/* Video banner */

.video-banner-header {
	position: relative;
	width: 100%;
	min-height: clamp(420px, 55vw, 760px);
	overflow: hidden;
}

.video-banner-header video,
.video-banner-header iframe,
.video-banner-header .video,
.video-banner-header .video-background {
	position: absolute;
	inset: 0;
	width: 100%;
	height: 100%;
	object-fit: cover;
}

.video-banner-header::before {
	content: "";
	position: absolute;
	inset: 0;
	z-index: 1;
	background: rgba(0,0,0,0.35);
}

.video-banner-header .nested-banner-content {
	position: relative;
	z-index: 2;
}

/* Pager */

.hero-banner .scroller-pager {
	position: absolute;
	left: 0;
	right: 0;
	bottom: 1.5rem;
	z-index: 5;
}

.hero-banner .sp-links {
	display: flex;
	justify-content: center;
	gap: 0.5rem;
}

.hero-banner .sp-link {
	width: 12px;
	height: 12px;
	border-radius: 999px;
	overflow: hidden;
	text-indent: -999px;
	background: rgba(255,255,255,0.5);
	cursor: pointer;
}

.hero-banner .sp-link.active {
	background: #fff;
}

/* Responsive */

@media (max-width: 767px) {

	.hero-banner.scroller-banner-header,
	.banner-scroller,
	.banner-scroller .slide-container,
	.banner-scroller .slide,
	.banner-scroller .slide > .layout-cell,
	.video-banner-header {
		min-height: 600px;
	}

	.banner-scroller .slide-container,
	.banner-scroller .slide {
		min-height: 600px !important;
	}

	.static-banner-header,
	.static-banner-header > .background-image {
		min-height: 520px;
	}

	.scroller-banner-header .nested-banner-content,
	.static-banner-header .nested-banner-content,
	.video-banner-header .nested-banner-content {
		padding-block: 5rem 4rem;
	}

}
 /* Begin CSS Part: Search */

 /* Begin CSS Part: Search Results */

 /* Begin CSS Part: Seo */

 /* Begin CSS Part: Shipping */

 /* Begin CSS Part: Snippets */

 /* Begin CSS Part: Social Media */

 /* Begin CSS Part: Sub Layout */

 /* Begin CSS Part: System Manager */

 /* Begin CSS Part: Traffic */

 /* Begin CSS Part: User */

 /* Begin CSS Part: User Documents */

 /* Begin CSS Part: Warning */