:root {
	--cwtb-ink: #151719;
	--cwtb-muted: #5d6670;
	--cwtb-line: #dfe3e8;
	--cwtb-surface: #ffffff;
	--cwtb-surface-soft: #f5f6f7;
	--cwtb-accent: #1559c7;
	--cwtb-accent-dark: #0e4297;
	--cwtb-radius: 12px;
}

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

html {
	scroll-behavior: smooth;
}

body {
	margin: 0;
	background: var(--cwtb-surface);
	color: var(--cwtb-ink);
	font-family: -apple-system, BlinkMacSystemFont, "Segoe UI", Arial, sans-serif;
	font-size: 16px;
	line-height: 1.6;
}

::selection {
	background: var(--cwtb-accent);
	color: #ffffff;
}

a {
	color: inherit;
	text-decoration-thickness: 1px;
	text-underline-offset: 0.2em;
}

a:focus-visible,
button:focus-visible,
input:focus-visible,
select:focus-visible,
textarea:focus-visible {
	outline: 3px solid color-mix(in srgb, var(--cwtb-accent) 58%, white);
	outline-offset: 3px;
}

img {
	display: block;
	max-width: 100%;
	height: auto;
}

.cwtb-skip-link {
	position: fixed;
	top: 12px;
	left: 12px;
	z-index: 10000;
	transform: translateY(-160%);
	background: var(--cwtb-ink);
	color: #ffffff;
	padding: 10px 14px;
}

.cwtb-skip-link:focus {
	transform: translateY(0);
}

.cwtb-site-header {
	position: relative;
	z-index: 40;
	border-bottom: 1px solid var(--cwtb-line);
	background: #ffffff;
}

.cwtb-site-header__inner {
	display: grid;
	grid-template-columns: minmax(160px, 1fr) auto minmax(160px, 1fr);
	align-items: center;
	gap: 32px;
	width: min(100% - 40px, 1240px);
	min-height: 84px;
	margin: 0 auto;
}

.cwtb-site-brand .custom-logo {
	width: auto;
	max-height: 54px;
}

.cwtb-site-brand__name,
.cwtb-site-footer__brand {
	font-size: 20px;
	font-weight: 750;
	letter-spacing: -0.02em;
	text-decoration: none;
}

.cwtb-site-nav ul,
.cwtb-site-footer ul {
	display: flex;
	align-items: center;
	gap: 28px;
	margin: 0;
	padding: 0;
	list-style: none;
}

.cwtb-site-nav a,
.cwtb-site-actions a,
.cwtb-site-footer a {
	font-size: 14px;
	font-weight: 650;
	text-decoration: none;
}

.cwtb-site-nav a:hover,
.cwtb-site-actions a:hover,
.cwtb-site-footer a:hover {
	color: var(--cwtb-accent);
}

.cwtb-site-actions {
	display: flex;
	justify-content: flex-end;
	gap: 20px;
}

.cwtb-site-main {
	min-height: 60vh;
}

.cwtb-standard-content,
.cwtb-commerce-shell {
	width: min(100% - 40px, 1240px);
	margin: 0 auto;
	padding: 72px 0 96px;
}

.cwtb-standard-content > * {
	max-width: 760px;
}

.cwtb-standard-content h1 {
	font-size: clamp(2.4rem, 5vw, 4.5rem);
	line-height: 1;
	letter-spacing: -0.035em;
}

.cwtb-site-footer {
	background: #111820;
	color: #f5f7f9;
}

.cwtb-site-footer__inner {
	display: grid;
	grid-template-columns: 1.2fr 1fr auto;
	align-items: start;
	gap: 48px;
	width: min(100% - 40px, 1240px);
	margin: 0 auto;
	padding: 64px 0;
}

.cwtb-site-footer p {
	margin: 8px 0 0;
	color: #bdc6cf;
}

.cwtb-layout {
	width: 100%;
	overflow: clip;
}

.cwtb-section {
	position: relative;
	display: flex;
	flex-flow: row;
	align-items: center;
	width: 100%;
	min-height: var(--cwtb-height-desktop, auto);
	padding-top: var(--cwtb-padding-desktop, 30px);
	padding-bottom: var(--cwtb-padding-desktop, 30px);
	isolation: isolate;
}

.cwtb-section__background {
	position: absolute;
	inset: 0;
	width: 100%;
	overflow: hidden;
	pointer-events: none;
}

.cwtb-section__background-image,
.cwtb-section__background > picture,
.cwtb-section__background > picture > img,
.cwtb-section__background > video {
	position: absolute;
	top: 0;
	left: 0;
	width: 100%;
	height: 100%;
	object-fit: cover;
	object-position: 50% 50%;
}

.cwtb-section__background-image {
	z-index: 0;
	transition: filter .6s ease, opacity .6s ease, transform .6s ease;
}

.cwtb-section__background > .cwtb-background-video,
.cwtb-section__background > .cwtb-background-effect {
	z-index: 0;
}

.cwtb-section__overlay {
	position: absolute;
	z-index: 1;
	inset: 0;
	background: var(--cwtb-bg-overlay-desktop, transparent);
	pointer-events: none;
	transition: background .6s ease, opacity .6s ease;
}

.cwtb-section__content {
	position: relative;
	z-index: 1;
	width: 100%;
}

.cwtb-section--sticky {
	position: sticky;
	top: 0;
	z-index: 30;
}

.cwtb-section--sticky.cwtb-sticky--bottom {
	top: auto;
	bottom: 0;
}

.cwtb-section--has-mask {
	overflow: hidden;
	transform: translateZ(0);
}

.cwtb-section-mask--circle {
	clip-path: circle(50% at 50% 50%);
}

.cwtb-section-mask--arrow {
	margin-top: -30px;
	clip-path: polygon(0 0, calc(50% - 30px) 0, 50% 30px, calc(50% + 30px) 0, 100% 0, 100% 100%, 0 100%);
}

.cwtb-section-mask--angled {
	margin-top: -30px;
	clip-path: polygon(0 30px, 100% 0, 100% 100%, 0 100%);
}

.cwtb-section-mask--angled-right {
	margin-top: -30px;
	clip-path: polygon(0 0, 100% 30px, 100% 100%, 0 100%);
}

.cwtb-section-mask--arrow-large {
	margin-top: -60px;
	clip-path: polygon(0 0, calc(50% - 60px) 0, 50% 60px, calc(50% + 60px) 0, 100% 0, 100% 100%, 0 100%);
}

.cwtb-section-mask--angled-large {
	margin-top: -60px;
	clip-path: polygon(0 60px, 100% 0, 100% 100%, 0 100%);
}

.cwtb-section-mask--angled-right-large {
	margin-top: -60px;
	clip-path: polygon(0 0, 100% 0, 100% calc(100% - 60px), 0 100%);
}

.cwtb-section--full-height {
	min-height: 100vh;
}

.cwtb-section.cwtb-dark,
.cwtb-section.cwtb-dark a {
	color: #fff;
}

.cwtb-section.cwtb-dark:not([style*="background-color"]) {
	background-color: #666;
}

.cwtb-section__loading {
	position: absolute;
	z-index: 3;
	top: 50%;
	left: 50%;
	width: 34px;
	height: 34px;
	margin: -17px 0 0 -17px;
	border: 3px solid rgb(255 255 255 / 35%);
	border-top-color: currentcolor;
	border-radius: 50%;
	color: #fff;
	animation: cwtb-section-spin .8s linear infinite;
}

@keyframes cwtb-section-spin {
	to { transform: rotate(360deg); }
}

.cwtb-section__scroll {
	position: absolute;
	bottom: 18px;
	left: 50%;
	z-index: 2;
	display: grid;
	place-items: center;
	width: 42px;
	height: 42px;
	transform: translateX(-50%);
	border: 1px solid currentcolor;
	border-radius: 50%;
	color: inherit;
	text-decoration: none;
}

.cwtb-section__scroll span {
	width: 10px;
	height: 10px;
	transform: translateY(-2px) rotate(45deg);
	border-right: 2px solid currentcolor;
	border-bottom: 2px solid currentcolor;
}

.cwtb-section-after {
	display: block;
	height: 0;
	scroll-margin-top: 84px;
}

.cwtb-row {
	display: flex;
	flex-flow: row wrap;
	width: 100%;
	max-width: var(--cwtb-site-width, 1080px);
	margin-right: auto;
	margin-left: auto;
	padding: var(--cwtb-padding-top-desktop, 0) var(--cwtb-padding-right-desktop, 0) var(--cwtb-padding-bottom-desktop, 0) var(--cwtb-padding-left-desktop, 0);
}

.cwtb-row--normal {
	max-width: var(--cwtb-site-width, 1080px);
}

.cwtb-row--full {
	max-width: 100%;
}

.cwtb-row--custom {
	max-width: min(100%, var(--cwtb-row-custom-width, 1080px));
}

.cwtb-row > .cwtb-column > .cwtb-column__inner {
	padding: var(--cwtb-column-padding-top-desktop, var(--cwtb-padding-top-desktop, var(--cwtb-column-style-padding-top, 0))) var(--cwtb-column-padding-right-desktop, var(--cwtb-padding-right-desktop, var(--cwtb-column-style-padding-right, 0))) var(--cwtb-column-padding-bottom-desktop, var(--cwtb-padding-bottom-desktop, var(--cwtb-column-style-padding-bottom, 0))) var(--cwtb-column-padding-left-desktop, var(--cwtb-padding-left-desktop, var(--cwtb-column-style-padding-left, 0)));
	border-radius: var(--cwtb-column-radius);
	background-color: var(--cwtb-column-background, transparent);
	transition: transform .3s, box-shadow .3s, background-color .3s, color .3s, opacity .3s, filter .2s;
}

.cwtb-row--normal.cwtb-row-style--collapse { max-width: 1050px; }
.cwtb-row--normal.cwtb-row-style--small { max-width: 1065px; }
.cwtb-row--normal.cwtb-row-style--large { max-width: 1110px; }

.cwtb-row-style--collapse > .cwtb-column { padding: 0; }
.cwtb-row-style--small > .cwtb-column { margin-bottom: 0; padding: 0 9.8px 19.6px; }
.cwtb-row-columns--dashed,
.cwtb-row-columns--solid { overflow: hidden; }
.cwtb-row-columns--dashed > .cwtb-column,
.cwtb-row-columns--solid > .cwtb-column { padding: 0; }
.cwtb-row-columns--dashed { --cwtb-column-style-padding-top: 15px; --cwtb-column-style-padding-right: 15px; --cwtb-column-style-padding-bottom: 15px; --cwtb-column-style-padding-left: 15px; }
.cwtb-row-columns--solid { --cwtb-column-style-padding-top: 15px; --cwtb-column-style-padding-right: 15px; --cwtb-column-style-padding-bottom: 15px; --cwtb-column-style-padding-left: 15px; }
.cwtb-row-columns--dashed > .cwtb-column::before,
.cwtb-row-columns--solid > .cwtb-column::before { position: absolute; top: 0; left: -1px; height: 100%; border-left: 1px dashed var(--cwtb-line); content: ""; }
.cwtb-row-columns--dashed > .cwtb-column::after,
.cwtb-row-columns--solid > .cwtb-column::after { position: absolute; bottom: -1px; left: 0; width: 100%; border-bottom: 1px dashed var(--cwtb-line); content: ""; }
.cwtb-row-columns--solid > .cwtb-column::before { border-left-style: solid; }
.cwtb-row-columns--solid > .cwtb-column::after { border-bottom-style: solid; }

.cwtb-columns-depth-1 > .cwtb-column > .cwtb-column__inner,
.cwtb-column-depth-1 { box-shadow: 0 1px 3px -2px rgb(0 0 0 / 12%), 0 1px 2px rgb(0 0 0 / 24%); }
.cwtb-columns-depth-2 > .cwtb-column > .cwtb-column__inner,
.cwtb-column-depth-2 { box-shadow: 0 3px 6px -4px rgb(0 0 0 / 16%), 0 3px 6px rgb(0 0 0 / 23%); }
.cwtb-columns-depth-3 > .cwtb-column > .cwtb-column__inner,
.cwtb-column-depth-3 { box-shadow: 0 10px 20px rgb(0 0 0 / 19%), 0 6px 6px rgb(0 0 0 / 22%); }
.cwtb-columns-depth-4 > .cwtb-column > .cwtb-column__inner,
.cwtb-column-depth-4 { box-shadow: 0 14px 28px rgb(0 0 0 / 25%), 0 10px 10px rgb(0 0 0 / 10%); }
.cwtb-columns-depth-5 > .cwtb-column > .cwtb-column__inner,
.cwtb-column-depth-5 { box-shadow: 0 30px 40px 0 rgb(0 0 0 / 20%); }
.cwtb-columns-depth-hover-1 > .cwtb-column:hover > .cwtb-column__inner,
.cwtb-column:hover > .cwtb-column-depth-hover-1 { box-shadow: 0 1px 3px -2px rgb(0 0 0 / 12%), 0 1px 2px rgb(0 0 0 / 24%); }
.cwtb-columns-depth-hover-2 > .cwtb-column:hover > .cwtb-column__inner,
.cwtb-column:hover > .cwtb-column-depth-hover-2 { box-shadow: 0 3px 6px -4px rgb(0 0 0 / 16%), 0 3px 6px rgb(0 0 0 / 23%); }
.cwtb-columns-depth-hover-3 > .cwtb-column:hover > .cwtb-column__inner,
.cwtb-column:hover > .cwtb-column-depth-hover-3 { box-shadow: 0 10px 20px rgb(0 0 0 / 19%), 0 6px 6px rgb(0 0 0 / 22%); }
.cwtb-columns-depth-hover-4 > .cwtb-column:hover > .cwtb-column__inner,
.cwtb-column:hover > .cwtb-column-depth-hover-4 { box-shadow: 0 14px 28px rgb(0 0 0 / 25%), 0 10px 10px rgb(0 0 0 / 10%); transform: translateY(-6px); }
.cwtb-columns-depth-hover-5 > .cwtb-column:hover > .cwtb-column__inner,
.cwtb-column:hover > .cwtb-column-depth-hover-5 { box-shadow: 0 30px 40px 0 rgb(0 0 0 / 20%); transform: translateY(-6px); }

.cwtb-row.cwtb-align-stretch {
	align-items: stretch;
}

.cwtb-row.cwtb-align-stretch > .cwtb-column {
	display: flex;
}

.cwtb-row.cwtb-align-start {
	align-items: flex-start;
}

.cwtb-row.cwtb-align-center {
	align-items: center;
}

.cwtb-row.cwtb-align-end {
	align-items: flex-end;
}

.cwtb-row.cwtb-justify-start {
	justify-content: flex-start;
}

.cwtb-row.cwtb-justify-center {
	justify-content: center;
}

.cwtb-row.cwtb-justify-end {
	justify-content: flex-end;
}

.cwtb-row.cwtb-justify-space-between {
	justify-content: space-between;
}

.cwtb-column-color--dark { color: inherit; }
.cwtb-column-color--light { color: #ffffff; }
.cwtb-column-color--light :where(h1, h2, h3, h4, h5, h6, p, a, li, blockquote, cite, label) { color: inherit; }
.cwtb-dark { color: #ffffff; }
.cwtb-light { color: var(--cwtb-ink); }
.cwtb-column--sticky { position: sticky; top: 24px; align-self: flex-start; z-index: 4; }
.cwtb-column--sticky.cwtb-sticky--css,
.cwtb-column--sticky.cwtb-sticky--javascript { top: 24px; bottom: auto; }

.cwtb-column {
	position: relative;
	flex: 0 0 var(--cwtb-column-width-desktop, 100%);
	min-width: 0;
	max-width: var(--cwtb-column-width-desktop, 100%);
	margin: 0;
	padding: 0 15px 30px;
}

.cwtb-column__inner {
	position: relative;
	flex: 1 0 auto;
	width: 100%;
	max-width: var(--cwtb-max-width-desktop, none);
	margin: var(--cwtb-margin-top-desktop, 0) var(--cwtb-margin-right-desktop, auto) var(--cwtb-margin-bottom-desktop, 0) var(--cwtb-margin-left-desktop, auto);
	padding: var(--cwtb-padding-top-desktop, 0) var(--cwtb-padding-right-desktop, 0) var(--cwtb-padding-bottom-desktop, 0) var(--cwtb-padding-left-desktop, 0);
	background-position: center;
	background-repeat: no-repeat;
	background-size: cover;
	translate: 0 var(--cwtb-parallax-y, 0);
}

.cwtb-column--sticky {
	position: sticky;
	top: 24px;
	align-self: start;
}

.cwtb-column-hover--fade > .cwtb-column__inner { opacity: .6; }
.cwtb-column-hover--fade:hover > .cwtb-column__inner { opacity: 1; }
.cwtb-column-hover--blur > .cwtb-column__inner { filter: blur(3px); }
.cwtb-column-hover--blur:hover > .cwtb-column__inner { filter: blur(0); }
.cwtb-row:hover > .cwtb-column-hover--focus:not(:hover) > .cwtb-column__inner { opacity: .6; }

.cwtb-column__border {
	position: absolute;
	inset: 0;
	z-index: 3;
	pointer-events: none;
	transition: opacity .2s ease-out;
}

.cwtb-border-hover--fade-in { opacity: 0; }
.cwtb-column:hover > .cwtb-column__inner > .cwtb-border-hover--fade-in { opacity: 1; }
.cwtb-column:hover > .cwtb-column__inner > .cwtb-border-hover--fade-out { opacity: 0; }

.cwtb-column__inner.cwtb-valign-center {
	display: flex;
	flex-direction: column;
	justify-content: center;
}

.cwtb-column__inner.cwtb-valign-end {
	display: flex;
	flex-direction: column;
	justify-content: flex-end;
}

.cwtb-column__inner[style*="--cwtb-text-depth:1"] { text-shadow: 1px 1px 1px rgb(0 0 0 / 30%); }
.cwtb-column__inner[style*="--cwtb-text-depth:2"] { text-shadow: 2px 2px 5px rgb(0 0 0 / 40%); }
.cwtb-column__inner[style*="--cwtb-text-depth:3"] { text-shadow: 3px 3px 8px rgb(0 0 0 / 40%); }
.cwtb-column__inner[style*="--cwtb-text-depth:4"] { text-shadow: 3px 3px 12px rgb(0 0 0 / 50%); }
.cwtb-column__inner[style*="--cwtb-text-depth:5"] { text-shadow: 5px 5px 16px rgb(0 0 0 / 60%); }

@media (min-width: 850px) {
	.cwtb-row-style--large > .cwtb-column { margin-bottom: 0; padding: 0 30px 30px; }
	.cwtb-column:first-child > .cwtb-column__inner {
		margin-right: var(--cwtb-margin-right-desktop, 0);
		margin-left: var(--cwtb-margin-left-desktop, auto);
	}
	.cwtb-column + .cwtb-column > .cwtb-column__inner {
		margin-right: var(--cwtb-margin-right-desktop, auto);
		margin-left: var(--cwtb-margin-left-desktop, 0);
	}
	.cwtb-row-columns--divided > .cwtb-column + .cwtb-column:not(.cwtb-span-desktop-12) {
		border-left: 1px solid var(--cwtb-line);
	}
	.cwtb-column--divider {
		border-right: 1px solid var(--cwtb-line);
		padding-right: 30px;
	}
	.cwtb-column--divider + .cwtb-column {
		padding-left: 30px;
	}
}

/* Reference Title shortcode. */
.cwtb-layout .section-title-container { margin-bottom: 1.5em; }
.cwtb-layout .cwtb-banner + .section-title-container,
.cwtb-layout .cwtb-row-columns--collapse + .section-title-container,
.cwtb-layout .cwtb-slider + .section-title-container,
.cwtb-layout .banner + .section-title-container,
.cwtb-layout .row-collapse + .section-title-container,
.cwtb-layout .slider-wrapper + .section-title-container { margin-top: 30px; }
.cwtb-layout .section-title {
	position: relative;
	display: flex;
	flex-flow: row wrap;
	align-items: center;
	justify-content: space-between;
	width: 100%;
	margin-top: 0;
	margin-bottom: .5em;
	color: #555;
	text-rendering: optimizeSpeed;
}
.cwtb-layout .section-title-container h1.section-title { font-size: 1.7em; }
.cwtb-layout .section-title-container h2.section-title { font-size: 1.6em; }
.cwtb-layout .section-title-container h3.section-title { font-size: 1.25em; }
.cwtb-layout .section-title-container h4.section-title { font-size: 1.125em; }
.cwtb-layout .section-title-container h5.section-title { font-size: 1em; }
.cwtb-layout .section-title-container h6.section-title { font-size: .85em; opacity: .8; }
.cwtb-layout .section-title .section-title-icon { margin-right: .5em; opacity: .6; }
.cwtb-layout .section-title .icon-angle-right { margin-right: 0; margin-left: 10px; }
.cwtb-layout .section-title span { text-transform: uppercase; }
.cwtb-layout .section-title b {
	display: block;
	flex: 1;
	height: 2px;
	background-color: currentcolor;
	opacity: .1;
}
.cwtb-layout .section-title a {
	display: block;
	margin-left: auto;
	padding-left: 15px;
	font-size: .8em;
}
.cwtb-layout .section-title-normal { border-bottom: 2px solid #ececec; }
.cwtb-layout .section-title-normal .section-title-main {
	margin-right: 15px;
	margin-bottom: -2px;
	padding-bottom: 7.5px;
	border-bottom: 2px solid rgb(0 0 0 / 10%);
}
.cwtb-layout .dark .section-title-normal,
.cwtb-layout .dark .section-title-normal .section-title-main { border-color: rgb(255 255 255 / 20%); }
.cwtb-layout .section-title-normal b { display: none; }
.cwtb-layout .section-title-center .section-title-main { margin: 0 15px; }
.cwtb-layout .section-title-bold-center .section-title-main,
.cwtb-layout .section-title-center .section-title-main { text-align: center; }
.cwtb-layout .section-title-bold .section-title-main,
.cwtb-layout .section-title-bold-center .section-title-main {
	padding: .3em .8em;
	border: 2px solid rgb(0 0 0 / 10%);
}
.cwtb-layout .section-title-bold b:first-of-type { display: none; }

.cwtb-text {
	margin: var(--cwtb-self-x);
	font-size: var(--cwtb-size-desktop);
	column-count: var(--cwtb-columns-desktop, 1);
	column-gap: 2em;
}

.cwtb-text p {
	margin: 0 0 1em;
}

.cwtb-text p:last-child {
	margin-bottom: 0;
}

.cwtb-image {
	position: relative;
	width: var(--cwtb-width-desktop, 100%);
	margin: 0;
	transition: box-shadow 180ms ease-out, transform 220ms ease-out;
}

.cwtb-image--align-left {
	margin-right: auto;
}

.cwtb-image--align-center {
	margin-right: auto;
	margin-left: auto;
}

.cwtb-image--align-right {
	margin-left: auto;
}

.cwtb-image__media,
.cwtb-image > a,
.cwtb-image > button {
	display: block;
	position: relative;
	width: 100%;
	height: var(--cwtb-height-desktop, auto);
	overflow: hidden;
	border: 0;
	border-radius: var(--cwtb-radius);
	background: transparent;
	color: inherit;
	line-height: 0;
}

.cwtb-image img {
	width: 100%;
	height: 100%;
	object-position: var(--cwtb-image-position, center);
	transition: filter 280ms ease-out, transform 320ms ease-out;
}

.cwtb-image--has-hover-image .cwtb-image__media > img:first-child,
.cwtb-image--has-hover-image > a .cwtb-image__media > img:first-child,
.cwtb-image--has-hover-image > button .cwtb-image__media > img:first-child { transition: opacity 240ms ease-out, filter 280ms ease-out, transform 320ms ease-out; }
.cwtb-image__hover { position: absolute; inset: 0; opacity: 0; }
.cwtb-image--has-hover-image:hover .cwtb-image__media > img:first-child,
.cwtb-image--has-hover-image:focus-within .cwtb-image__media > img:first-child { opacity: 0; }
.cwtb-image--has-hover-image:hover .cwtb-image__hover,
.cwtb-image--has-hover-image:focus-within .cwtb-image__hover { opacity: 1; }

.cwtb-image__overlay {
	position: absolute;
	inset: 0;
	background: var(--cwtb-image-overlay, #000000);
	opacity: 0;
	pointer-events: none;
	transition: opacity 220ms ease-out;
}

.cwtb-image:hover .cwtb-image__overlay,
.cwtb-image:focus-within .cwtb-image__overlay {
	opacity: var(--cwtb-image-overlay-opacity, 0);
}

.cwtb-image-hover--zoom:hover img,
.cwtb-image-hover--zoom:focus-within img {
	transform: scale(1.08);
}

.cwtb-image-hover--zoom-out img {
	transform: scale(1.08);
}

.cwtb-image-hover--zoom-out:hover img,
.cwtb-image-hover--zoom-out:focus-within img {
	transform: scale(1);
}

.cwtb-image-hover--lift:hover,
.cwtb-image-hover--lift:focus-within {
	transform: translateY(-6px);
}

.cwtb-image-hover--blur:hover img,
.cwtb-image-hover--blur:focus-within img {
	filter: blur(3px);
}

.cwtb-image-hover--grayscale img {
	filter: grayscale(1);
}

.cwtb-image-hover--grayscale:hover img,
.cwtb-image-hover--grayscale:focus-within img {
	filter: grayscale(0);
}

.cwtb-image figcaption {
	padding-top: 10px;
	color: color-mix(in srgb, currentcolor 72%, transparent);
	font-size: 0.875rem;
	line-height: 1.45;
}

/* Reference Image component. */
.img {
	position: relative;
	width: var(--cwtb-width-desktop, 100%);
}

.img > a,
.img > div,
.img .img-inner {
	display: block;
	position: relative;
	width: 100%;
}

.img .img-inner {
	overflow: hidden;
	transition: box-shadow 260ms ease, filter 260ms ease, opacity 260ms ease, transform 320ms ease;
}

.img img {
	display: block;
	width: 100%;
	height: auto;
	transition: filter 280ms ease, opacity 280ms ease, transform 320ms ease;
}

.img .image-cover {
	height: auto;
	padding-top: 56.25%;
}

.img .image-cover > img {
	position: absolute;
	inset: 0;
	width: 100%;
	height: 100%;
	object-fit: cover;
}

.img .overlay {
	position: absolute;
	z-index: 1;
	inset: 0;
	pointer-events: none;
	transition: opacity 280ms ease;
}

.img .caption {
	position: absolute;
	z-index: 2;
	right: 0;
	bottom: 0;
	left: 0;
	padding: 12px 15px;
	background: rgb(0 0 0 / 45%);
	color: #fff;
	line-height: 1.35;
	transform: translateY(100%);
	transition: transform 260ms ease;
}

.img:hover .caption,
.img:focus-within .caption { transform: translateY(0); }
.img:hover .image-zoom img,
.img:focus-within .image-zoom img { transform: scale(1.1); }
.img .image-zoom-long img { transition-duration: 1.2s; }
.img:hover .image-zoom-long img,
.img:focus-within .image-zoom-long img { transform: scale(1.18); }
.img:hover .image-zoom-fade img,
.img:focus-within .image-zoom-fade img { opacity: .72; transform: scale(1.1); }
.img .image-blur img { filter: blur(3px); }
.img:hover .image-blur img,
.img:focus-within .image-blur img { filter: blur(0); }
.img .image-fade-in img,
.img .image-glow img { opacity: .65; }
.img:hover .image-fade-in img,
.img:focus-within .image-fade-in img,
.img:hover .image-glow img,
.img:focus-within .image-glow img { opacity: 1; }
.img:hover .image-fade-out img,
.img:focus-within .image-fade-out img { opacity: .65; }
.img .image-color img { filter: grayscale(1); }
.img:hover .image-color img,
.img:focus-within .image-color img { filter: grayscale(0); }
.img:hover .image-grayscale img,
.img:focus-within .image-grayscale img { filter: grayscale(1); }
.img .image-overlay-add .overlay { opacity: 0; }
.img:hover .image-overlay-add .overlay,
.img:focus-within .image-overlay-add .overlay { opacity: 1; }
.img .image-overlay-remove .overlay { opacity: 1; }
.img:hover .image-overlay-remove .overlay,
.img:focus-within .image-overlay-remove .overlay { opacity: 0; }
.img .image-overlay-add-50 .overlay { opacity: 0; }
.img:hover .image-overlay-add-50 .overlay,
.img:focus-within .image-overlay-add-50 .overlay { opacity: .5; }
.img .image-overlay-remove-50 .overlay { opacity: .5; }
.img:hover .image-overlay-remove-50 .overlay,
.img:focus-within .image-overlay-remove-50 .overlay { opacity: 0; }
.img .box-shadow-1 { box-shadow: 0 2px 7px rgb(15 23 42 / 10%); }
.img .box-shadow-2 { box-shadow: 0 5px 16px rgb(15 23 42 / 13%); }
.img .box-shadow-3 { box-shadow: 0 10px 26px rgb(15 23 42 / 16%); }
.img .box-shadow-4 { box-shadow: 0 16px 38px rgb(15 23 42 / 19%); }
.img .box-shadow-5 { box-shadow: 0 24px 54px rgb(15 23 42 / 23%); }
.img:hover .box-shadow-1-hover { box-shadow: 0 2px 7px rgb(15 23 42 / 10%); }
.img:hover .box-shadow-2-hover { box-shadow: 0 5px 16px rgb(15 23 42 / 13%); }
.img:hover .box-shadow-3-hover { box-shadow: 0 10px 26px rgb(15 23 42 / 16%); }
.img:hover .box-shadow-4-hover { box-shadow: 0 16px 38px rgb(15 23 42 / 19%); }
.img:hover .box-shadow-5-hover { box-shadow: 0 24px 54px rgb(15 23 42 / 23%); }
.img .absolute { position: absolute; z-index: 2; }
.img .no-click { pointer-events: none; }
.img .x50 { left: 50%; }
.img .y50 { top: 50%; }
.img .x50.y50 { transform: translate(-50%, -50%); }
.img .overlay-icon {
	display: grid;
	place-items: center;
	width: 64px;
	height: 64px;
	border: 2px solid currentcolor;
	border-radius: 50%;
	color: #fff;
}
.img .icon-play::before { content: "▶"; font-style: normal; }

@media (max-width: 849px) {
	.img { width: var(--cwtb-width-tablet, var(--cwtb-width-desktop, 100%)); }
}

@media (max-width: 549px) {
	.img { width: var(--cwtb-width-mobile, var(--cwtb-width-tablet, var(--cwtb-width-desktop, 100%))); }
}

.cwtb-ratio-1-1 {
	aspect-ratio: 1;
}

.cwtb-ratio-4-3 {
	aspect-ratio: 4 / 3;
}

.cwtb-ratio-3-2 {
	aspect-ratio: 3 / 2;
}

.cwtb-ratio-16-9 {
	aspect-ratio: 16 / 9;
}

.cwtb-ratio-21-9 {
	aspect-ratio: 21 / 9;
}

.cwtb-fit-cover img {
	object-fit: cover;
}

.cwtb-fit-contain img {
	object-fit: contain;
}

.cwtb-fit-fill img {
	object-fit: fill;
}

.cwtb-banner {
	display: flex;
	position: relative;
	align-items: center;
	min-height: var(--cwtb-height-desktop);
	padding: 56px max(24px, calc((100vw - 1200px) / 2));
	background-color: #222b35;
	background-position: center;
	background-repeat: no-repeat;
	background-size: cover;
	color: var(--cwtb-banner-text);
	border-radius: var(--cwtb-banner-radius, 0);
	isolation: isolate;
	overflow: hidden;
	transition: box-shadow 180ms ease-out, filter 240ms ease-out, transform 260ms ease-out;
}

.cwtb-banner__overlay {
	position: absolute;
	z-index: -1;
	inset: 0;
	background: var(--cwtb-banner-overlay, #000000);
	opacity: var(--cwtb-banner-overlay-opacity, 0);
	transition: opacity 220ms ease-out;
}

.cwtb-banner--center {
	justify-content: center;
	text-align: center;
}

.cwtb-banner--right {
	justify-content: flex-end;
	text-align: right;
}

.cwtb-banner__content {
	z-index: 1;
	width: min(100%, var(--cwtb-content-width-desktop, 640px));
	padding: var(--cwtb-content-padding-top-desktop, 0) var(--cwtb-content-padding-right-desktop, 0) var(--cwtb-content-padding-bottom-desktop, 0) var(--cwtb-content-padding-left-desktop, 0);
}

.cwtb-banner--layered {
	display: block;
	padding: 0;
}

.cwtb-banner--layered .cwtb-banner__content,
.cwtb-slide--layered .cwtb-slide__inner {
	position: absolute;
	inset: 0;
	width: 100%;
	max-width: none;
	padding: 0;
}

.cwtb-banner .cwtb-button--color-primary {
	background: var(--cwtb-banner-accent);
}

.cwtb-banner__content h2 {
	margin: 0;
	font-size: clamp(2.8rem, 6vw, 5.8rem);
	line-height: 0.95;
	letter-spacing: -0.04em;
	text-wrap: balance;
}

.cwtb-banner__content p {
	max-width: 54ch;
	margin: 22px 0 30px;
	font-size: clamp(1rem, 1.6vw, 1.25rem);
}

.cwtb-banner--center .cwtb-banner__content p {
	margin-right: auto;
	margin-left: auto;
}

.cwtb-banner--right .cwtb-banner__content p {
	margin-left: auto;
}

.cwtb-banner__link {
	position: absolute;
	z-index: 0;
	inset: 0;
}

.cwtb-banner__content a,
.cwtb-banner__content button {
	position: relative;
	z-index: 2;
}

.cwtb-banner-hover--zoom:hover {
	background-size: 108%;
}

.cwtb-banner-hover--zoom-out {
	background-size: 108%;
}

.cwtb-banner-hover--zoom-out:hover {
	background-size: 100%;
}

.cwtb-banner-hover--fade:hover .cwtb-banner__overlay {
	opacity: calc(var(--cwtb-banner-overlay-opacity, 0) * 0.45);
}

.cwtb-banner--sticky {
	position: sticky;
	top: 0;
	z-index: 20;
}

.cwtb-button-wrap {
	display: flex;
}

.cwtb-button-wrap--center {
	justify-content: center;
}

.cwtb-button-wrap--right {
	justify-content: flex-end;
}

.cwtb-button {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	min-height: 48px;
	padding: 12px 24px;
	border: var(--cwtb-button-border, 1px) solid transparent;
	border-radius: 8px;
	background: var(--cwtb-accent);
	color: #ffffff;
	font-size: 15px;
	font-weight: 750;
	text-decoration: none;
	transition: background-color 180ms ease-out, border-color 180ms ease-out, color 180ms ease-out;
}

.cwtb-button:hover {
	background: var(--cwtb-accent-dark);
	color: #ffffff;
}

.cwtb-button--outline {
	border-color: currentColor;
	background: transparent;
	color: var(--cwtb-accent);
}

.cwtb-button--outline:hover {
	border-color: var(--cwtb-accent);
	background: var(--cwtb-accent);
}

.cwtb-button--text {
	min-height: auto;
	padding: 4px 0;
	border-radius: 0;
	background: transparent;
	color: var(--cwtb-accent);
}

.cwtb-button--text:hover {
	background: transparent;
	color: var(--cwtb-accent-dark);
}

.cwtb-button--banner {
	background: var(--cwtb-banner-accent);
}

.gap-element {
	display: block;
	height: auto;
	padding-top: var(--cwtb-gap-height-desktop, 30px);
}

.is-divider {
	display: block;
	width: 100%;
	max-width: 30px;
	height: 3px;
	margin: 1em 0;
	background-color: rgba(0, 0, 0, .1);
}

.dark .is-divider { background-color: rgba(255, 255, 255, .3); }
.text-center .is-divider { margin-right: auto; margin-left: auto; }
.text-left .is-divider { margin-right: auto; margin-left: 0; }
.text-right .is-divider { margin-right: 0; margin-left: auto; }

.cwtb-component-shell,
.cwtb-product-component,
.cwtb-category-component {
	width: 100%;
}

.cwtb-component-heading {
	margin: 0 0 32px;
	font-size: clamp(2rem, 4vw, 3.5rem);
	line-height: 1;
	letter-spacing: -0.035em;
}

.cwtb-products-grid,
.cwtb-categories-grid,
.woocommerce ul.products.cwtb-products-grid,
.woocommerce ul.products.cwtb-categories-grid {
	display: grid;
	grid-template-columns: repeat(var(--cwtb-columns-desktop), minmax(0, 1fr));
	gap: var(--cwtb-gap-desktop, 28px);
	margin: 0;
	padding: 0;
	list-style: none;
}

.cwtb-category-card {
	position: relative;
	display: flex;
	min-width: 0;
	flex-direction: column;
	overflow: hidden;
	transition: box-shadow 180ms ease-out, transform 220ms ease-out;
}

.cwtb-category-card__image { display: block; overflow: hidden; background: var(--cwtb-surface-soft); }
.cwtb-category-card__image img { display: block; width: 100%; height: 100%; object-fit: cover; transition: filter 220ms ease-out, opacity 220ms ease-out, transform 280ms ease-out; }
.cwtb-category-card h3 { display: flex; align-items: center; justify-content: inherit; gap: 8px; margin: 14px 0 0; font-size: 1rem; line-height: 1.25; }
.cwtb-category-card h3 a { color: inherit; text-decoration: none; }
.cwtb-category-card mark { display: inline-grid; place-items: center; min-width: 24px; min-height: 24px; padding: 3px 6px; border-radius: 999px; background: var(--cwtb-surface-soft); color: var(--cwtb-muted); font-size: 11px; }
.cwtb-product-ratio--1-1 .cwtb-category-card__image { aspect-ratio: 1; }
.cwtb-product-ratio--4-3 .cwtb-category-card__image { aspect-ratio: 4 / 3; }
.cwtb-product-ratio--3-2 .cwtb-category-card__image { aspect-ratio: 3 / 2; }
.cwtb-product-ratio--16-9 .cwtb-category-card__image { aspect-ratio: 16 / 9; }
.cwtb-product-box--card .cwtb-category-card { border: 1px solid var(--cwtb-line); border-radius: var(--cwtb-radius); background: #fff; }
.cwtb-product-box--card .cwtb-category-card h3 { margin: 0; padding: 16px; }
.cwtb-product-box--overlay .cwtb-category-card,
.cwtb-product-box--shade .cwtb-category-card { color: #fff; }
.cwtb-product-box--overlay .cwtb-category-card__image,
.cwtb-product-box--shade .cwtb-category-card__image { min-height: clamp(220px, 28vw, 420px); }
.cwtb-product-box--overlay .cwtb-category-card h3,
.cwtb-product-box--shade .cwtb-category-card h3 { position: absolute; z-index: 2; right: 0; bottom: 0; left: 0; margin: 0; padding: 22px; }
.cwtb-product-box--shade .cwtb-category-card::after { position: absolute; z-index: 1; inset: 35% 0 0; background: linear-gradient(to bottom, transparent, rgb(0 0 0 / 78%)); content: ""; pointer-events: none; }
.cwtb-product-box--circle .cwtb-category-card { overflow: visible; text-align: center; }
.cwtb-product-box--circle .cwtb-category-card__image { overflow: hidden; border-radius: 50%; }
.cwtb-product-box--circle .cwtb-category-card h3 { justify-content: center; }
.cwtb-product-layout--list .cwtb-categories-grid { grid-template-columns: 1fr; }
.cwtb-product-layout--list .cwtb-category-card { display: grid; grid-template-columns: minmax(110px, 24%) minmax(0, 1fr); align-items: center; gap: 20px; }
.cwtb-product-layout--list .cwtb-category-card h3 { margin: 0; }
.cwtb-product-layout--slider .cwtb-categories-grid { display: flex; overflow-x: auto; scroll-snap-type: x mandatory; }
.cwtb-product-layout--slider .cwtb-category-card { flex: 0 0 calc((100% - (var(--cwtb-gap-desktop, 28px) * (var(--cwtb-columns-desktop) - 1))) / var(--cwtb-columns-desktop)); scroll-snap-align: start; }
.cwtb-product-depth-1 .cwtb-category-card { box-shadow: 0 2px 7px rgb(15 23 42 / 10%); }
.cwtb-product-depth-2 .cwtb-category-card { box-shadow: 0 5px 16px rgb(15 23 42 / 13%); }
.cwtb-product-depth-3 .cwtb-category-card { box-shadow: 0 10px 26px rgb(15 23 42 / 16%); }
.cwtb-product-depth-4 .cwtb-category-card { box-shadow: 0 16px 38px rgb(15 23 42 / 19%); }
.cwtb-product-depth-5 .cwtb-category-card { box-shadow: 0 24px 54px rgb(15 23 42 / 23%); }
.cwtb-product-depth-hover-1 .cwtb-category-card:hover { box-shadow: 0 2px 7px rgb(15 23 42 / 10%); }
.cwtb-product-depth-hover-2 .cwtb-category-card:hover { box-shadow: 0 5px 16px rgb(15 23 42 / 13%); }
.cwtb-product-depth-hover-3 .cwtb-category-card:hover { box-shadow: 0 10px 26px rgb(15 23 42 / 16%); }
.cwtb-product-depth-hover-4 .cwtb-category-card:hover { box-shadow: 0 16px 38px rgb(15 23 42 / 19%); }
.cwtb-product-depth-hover-5 .cwtb-category-card:hover { box-shadow: 0 24px 54px rgb(15 23 42 / 23%); }
.cwtb-image-hover--zoom .cwtb-category-card:hover img { transform: scale(1.055); }
.cwtb-image-hover--zoom-out .cwtb-category-card img { transform: scale(1.055); }
.cwtb-image-hover--zoom-out .cwtb-category-card:hover img { transform: scale(1); }
.cwtb-image-hover--grayscale .cwtb-category-card img { filter: grayscale(1); }
.cwtb-image-hover--grayscale .cwtb-category-card:hover img { filter: grayscale(0); }
.cwtb-image-hover--fade .cwtb-category-card:hover img { opacity: .65; }

.cwtb-products-grid .product,
.cwtb-categories-grid .product,
.woocommerce ul.products.cwtb-products-grid li.product,
.woocommerce ul.products.cwtb-categories-grid li.product {
	float: none;
	width: auto;
	margin: 0;
}

.woocommerce ul.products li.product a img {
	margin-bottom: 14px;
	border-radius: var(--cwtb-radius);
	background: var(--cwtb-surface-soft);
}

.woocommerce ul.products li.product .woocommerce-loop-product__title,
.woocommerce ul.products li.product .woocommerce-loop-category__title {
	padding: 0;
	color: var(--cwtb-ink);
	font-size: 17px;
	line-height: 1.3;
}

.woocommerce ul.products li.product .price {
	color: var(--cwtb-ink);
	font-size: 16px;
	font-weight: 750;
}

.cwtb-product-layout--list .cwtb-products-grid,
.cwtb-product-layout--list .cwtb-categories-grid {
	grid-template-columns: 1fr;
}

.cwtb-product-layout--list ul.products li.product {
	display: grid;
	grid-template-columns: minmax(120px, 28%) minmax(0, 1fr);
	align-items: center;
	gap: 24px;
}

.cwtb-product-layout--slider .cwtb-products-grid,
.cwtb-product-layout--slider .cwtb-categories-grid {
	display: flex;
	overflow-x: auto;
	scroll-snap-type: x mandatory;
}

.cwtb-product-layout--full-slider .cwtb-products-grid,
.cwtb-product-layout--full-slider .cwtb-categories-grid {
	display: flex;
	overflow-x: auto;
	scroll-snap-type: x mandatory;
}

.cwtb-product-layout--full-slider .cwtb-product-card,
.cwtb-product-layout--full-slider .cwtb-category-card {
	flex: 0 0 100%;
	scroll-snap-align: center;
}

.cwtb-product-layout--slider ul.products li.product {
	flex: 0 0 calc((100% - (var(--cwtb-gap-desktop, 28px) * (var(--cwtb-columns-desktop) - 1))) / var(--cwtb-columns-desktop));
	scroll-snap-align: start;
}

.cwtb-product-layout--masonry .cwtb-products-grid,
.cwtb-product-layout--masonry .cwtb-categories-grid {
	display: block;
	columns: var(--cwtb-columns-desktop);
	column-gap: var(--cwtb-gap-desktop, 28px);
}

.cwtb-product-layout--masonry ul.products li.product {
	display: inline-block;
	width: 100%;
	margin: 0 0 var(--cwtb-gap-desktop, 28px);
	break-inside: avoid;
}

.cwtb-product-box--card ul.products li.product,
.cwtb-product-box--boxed ul.products li.product,
.cwtb-product-box--shade ul.products li.product,
.cwtb-product-box--overlay ul.products li.product {
	overflow: hidden;
	padding: 18px;
	border: 1px solid var(--cwtb-line);
	border-radius: var(--cwtb-radius);
	background: #ffffff;
	transition: box-shadow 180ms ease-out, transform 220ms ease-out;
}

.cwtb-product-box--shade ul.products li.product,
.cwtb-product-box--overlay ul.products li.product {
	position: relative;
}

.cwtb-product-ratio--1-1 ul.products li.product img { aspect-ratio: 1; object-fit: cover; }
.cwtb-product-ratio--4-3 ul.products li.product img { aspect-ratio: 4 / 3; object-fit: cover; }
.cwtb-product-ratio--3-2 ul.products li.product img { aspect-ratio: 3 / 2; object-fit: cover; }
.cwtb-product-ratio--16-9 ul.products li.product img { aspect-ratio: 16 / 9; object-fit: cover; }

.cwtb-product-component.cwtb-image-hover--zoom ul.products li.product img,
.cwtb-category-component.cwtb-image-hover--zoom ul.products li.product img,
.cwtb-product-component.cwtb-image-hover--darken ul.products li.product img,
.cwtb-category-component.cwtb-image-hover--darken ul.products li.product img,
.cwtb-product-component.cwtb-image-hover--grayscale ul.products li.product img,
.cwtb-category-component.cwtb-image-hover--grayscale ul.products li.product img {
	transition: filter 220ms ease-out, transform 280ms ease-out;
}

.cwtb-product-component.cwtb-image-hover--zoom ul.products li.product:hover img,
.cwtb-category-component.cwtb-image-hover--zoom ul.products li.product:hover img { transform: scale(1.045); }
.cwtb-product-component.cwtb-image-hover--darken ul.products li.product:hover img,
.cwtb-category-component.cwtb-image-hover--darken ul.products li.product:hover img { filter: brightness(0.76); }
.cwtb-product-component.cwtb-image-hover--grayscale ul.products li.product img,
.cwtb-category-component.cwtb-image-hover--grayscale ul.products li.product img { filter: grayscale(1); }
.cwtb-product-component.cwtb-image-hover--grayscale ul.products li.product:hover img,
.cwtb-category-component.cwtb-image-hover--grayscale ul.products li.product:hover img { filter: grayscale(0); }

.cwtb-product-depth-1 ul.products li.product { box-shadow: 0 2px 7px rgb(15 23 42 / 10%); }
.cwtb-product-depth-2 ul.products li.product { box-shadow: 0 5px 16px rgb(15 23 42 / 13%); }
.cwtb-product-depth-3 ul.products li.product { box-shadow: 0 10px 26px rgb(15 23 42 / 16%); }
.cwtb-product-depth-4 ul.products li.product { box-shadow: 0 16px 38px rgb(15 23 42 / 19%); }
.cwtb-product-depth-5 ul.products li.product { box-shadow: 0 24px 54px rgb(15 23 42 / 23%); }
.cwtb-product-depth-hover-1 ul.products li.product:hover { box-shadow: 0 2px 7px rgb(15 23 42 / 10%); }
.cwtb-product-depth-hover-2 ul.products li.product:hover { box-shadow: 0 5px 16px rgb(15 23 42 / 13%); }
.cwtb-product-depth-hover-3 ul.products li.product:hover { box-shadow: 0 10px 26px rgb(15 23 42 / 16%); }
.cwtb-product-depth-hover-4 ul.products li.product:hover { box-shadow: 0 16px 38px rgb(15 23 42 / 19%); }
.cwtb-product-depth-hover-5 ul.products li.product:hover { box-shadow: 0 24px 54px rgb(15 23 42 / 23%); }

.cwtb-product-hide-title .woocommerce-loop-product__title,
.cwtb-product-hide-rating .star-rating,
.cwtb-product-hide-price .price,
.cwtb-product-hide-button .button { display: none !important; }

.woocommerce a.button,
.woocommerce button.button,
.woocommerce input.button,
.woocommerce #respond input#submit {
	border-radius: 8px;
	background: var(--cwtb-accent);
	color: #ffffff;
}

[hidden] {
	display: none !important;
}

.cwtb-align-text-left {
	text-align: left;
}

.cwtb-align-text-center {
	text-align: center;
}

.cwtb-align-text-right {
	text-align: right;
}

.cwtb-stack {
	--stack-gap: 0;
	display: flex;
}

.cwtb-stack > * {
	--stack-gap: var(--cwtb-gap-desktop, 0rem);
}

.cwtb-stack > .cwtb-text > .cwtb-text__content > :first-child {
	margin-top: 0;
}

.cwtb-stack > .cwtb-text > .cwtb-text__content > :last-child {
	margin-bottom: 0;
}

.cwtb-stack.stack-row {
	flex-direction: row;
}

.cwtb-stack.stack-row > * {
	margin: 0 !important;
}

.cwtb-stack.stack-row > * ~ * {
	margin-left: var(--stack-gap) !important;
}

.cwtb-stack.stack-col {
	flex-direction: column;
}

.cwtb-stack.stack-col > * {
	margin: 0 !important;
}

.cwtb-stack.stack-col > * ~ * {
	margin-top: var(--stack-gap) !important;
}

.cwtb-stack.items-stretch {
	align-items: stretch;
}

.cwtb-stack.items-start {
	align-items: flex-start;
}

.cwtb-stack.items-center {
	align-items: center;
}

.cwtb-stack.items-end {
	align-items: flex-end;
}

.cwtb-stack.items-baseline {
	align-items: baseline;
}

.cwtb-stack.justify-start {
	justify-content: flex-start;
}

.cwtb-stack.justify-center {
	justify-content: center;
}

.cwtb-stack.justify-end {
	justify-content: flex-end;
}

.cwtb-stack.justify-between {
	justify-content: space-between;
}

.cwtb-stack.justify-around {
	justify-content: space-around;
}

ul.sidebar-wrapper.ul-reset,
ul.sidebar-wrapper.ul-reset > li {
	margin: 0;
	padding: 0;
}

ul.sidebar-wrapper.ul-reset > li {
	list-style: none;
}

.sidebar-wrapper .widget,
.sidebar-wrapper .cwtb-widget {
	margin-bottom: 1.5em;
}

.sidebar-wrapper .widget ul,
.sidebar-wrapper .cwtb-widget ul {
	margin: 0;
}

.sidebar-wrapper .widget li,
.sidebar-wrapper .cwtb-widget li {
	list-style: none;
}

.widgets-boxed .widget,
.widgets-framed .widget,
.widgets-boxed .cwtb-widget,
.widgets-framed .cwtb-widget {
	padding: 15px 20px;
	border: 1px solid #dddddd;
	background-color: #ffffff;
	box-shadow: 2px 2px 10px 0 rgb(0 0 0 / 5%);
}

.widgets-boxed .widget .widget-title,
.widgets-boxed .widget .cwtb-widget__title,
.widgets-boxed .widget .wp-block-heading,
.widgets-boxed .cwtb-widget .widget-title,
.widgets-boxed .cwtb-widget .cwtb-widget__title,
.widgets-boxed .cwtb-widget .wp-block-heading {
	display: block;
	width: calc(100% + 42px);
	margin-top: -16px;
	margin-left: -21px;
	padding: 10px 20px;
	background-color: var(--cwtb-primary, #446084);
	color: #ffffff;
}

.widgets-boxed .widget .widget-title + .is-divider,
.widgets-boxed .cwtb-widget .cwtb-widget__title + .is-divider {
	display: none;
}

.cwtb-align-start {
	align-items: flex-start;
}

.cwtb-align-center {
	align-items: center;
}

.cwtb-align-end {
	align-items: flex-end;
}

.cwtb-align-stretch {
	align-items: stretch;
}

.cwtb-justify-start {
	justify-content: flex-start;
}

.cwtb-justify-center {
	justify-content: center;
}

.cwtb-justify-end {
	justify-content: flex-end;
}

.cwtb-justify-space-between {
	justify-content: space-between;
}

.cwtb-slider {
	position: relative;
	width: 100%;
	margin-bottom: var(--cwtb-margin-desktop, 0);
	overflow: hidden;
	background: transparent;
}

.cwtb-slider__viewport {
	overflow: hidden;
}

.cwtb-slider__track {
	display: flex;
	align-items: stretch;
	will-change: transform;
	transition: transform 420ms ease;
}

.cwtb-slider__track > * {
	flex: 0 0 var(--cwtb-slide-width-desktop, 100%);
	min-width: 0;
}

.cwtb-slider--type-fade .cwtb-slider__track {
	display: grid;
	transform: none !important;
	transition: none;
}

.cwtb-slider--type-fade .cwtb-slider__track > * {
	grid-area: 1 / 1;
	width: 100%;
	opacity: 0;
	visibility: hidden;
	pointer-events: none;
	transition: opacity 420ms ease, visibility 0s linear 420ms;
}

.cwtb-slider--type-fade .cwtb-slider__track > *:first-child:not([aria-hidden]),
.cwtb-slider--type-fade .cwtb-slider__track > *[aria-hidden="false"] {
	opacity: 1;
	visibility: visible;
	pointer-events: auto;
	transition-delay: 0s;
}

.cwtb-slider__arrow:disabled {
	opacity: .28;
	cursor: not-allowed;
}

.cwtb-slider--align-center .cwtb-slider__track {
	justify-content: flex-start;
}

.cwtb-slider--style-container {
	width: min(100%, 1200px);
	margin-inline: auto;
}

.cwtb-slider--style-shadow {
	padding: 24px;
}

.cwtb-slider--style-shadow .cwtb-slide {
	box-shadow: 0 12px 34px rgb(15 23 42 / 18%);
}

.cwtb-slider--style-focus {
	padding-block: 18px;
}

.cwtb-slider--style-focus .cwtb-slider__viewport {
	overflow: visible;
}

.cwtb-slider--style-focus .cwtb-slider__track > * {
	opacity: .58;
	transform: scale(.96);
	transition: opacity 420ms ease, transform 420ms ease;
}

.cwtb-slider--style-focus .cwtb-slider__track > *[aria-hidden="false"] {
	opacity: 1;
	transform: scale(1);
}

.cwtb-slider[data-free-scroll="1"] .cwtb-slider__viewport {
	overflow-x: auto;
	scroll-behavior: smooth;
	scroll-snap-type: x proximity;
	scrollbar-width: thin;
}

.cwtb-slider[data-free-scroll="1"] .cwtb-slider__track {
	transform: none !important;
}

.cwtb-slider[data-free-scroll="1"] .cwtb-slider__track > * {
	scroll-snap-align: center;
}

.cwtb-slide {
	position: relative;
	display: flex;
	min-height: var(--cwtb-height-desktop);
	padding: clamp(32px, 7vw, 110px);
	isolation: isolate;
	background-position: center;
	background-size: cover;
}

.cwtb-slide::before {
	position: absolute;
	inset: 0;
	z-index: -1;
	background: var(--cwtb-slide-overlay-color, #000000);
	content: "";
	opacity: var(--cwtb-slide-overlay);
}

.cwtb-slide--left {
	justify-content: flex-start;
}

.cwtb-slide--center {
	justify-content: center;
}

.cwtb-slide--right {
	justify-content: flex-end;
}

.cwtb-valign-start {
	align-items: flex-start;
}

.cwtb-valign-center {
	align-items: center;
}

.cwtb-valign-end {
	align-items: flex-end;
}

.cwtb-slide__inner {
	position: relative;
	z-index: 2;
	width: min(100%, var(--cwtb-content-width-desktop, 720px));
	padding: var(--cwtb-content-padding-top-desktop, 0) var(--cwtb-content-padding-right-desktop, 0) var(--cwtb-content-padding-bottom-desktop, 0) var(--cwtb-content-padding-left-desktop, 0);
	transform: translate3d(var(--cwtb-slider-parallax-x, 0), var(--cwtb-parallax-y, 0), 0);
	transition: transform 420ms ease;
}

.cwtb-slide__link {
	position: absolute;
	inset: 0;
	z-index: 1;
}

.cwtb-slider__arrow {
	position: absolute;
	top: 50%;
	z-index: 4;
	display: grid;
	place-items: center;
	width: 44px;
	height: 44px;
	transform: translateY(-50%);
	border: 0;
	border-radius: 0;
	background: transparent;
	color: #111111;
	cursor: pointer;
	font-size: 24px;
}

.cwtb-slider__arrow span {
	display: block;
	width: 22px;
	height: 22px;
	transform: rotate(45deg);
	border: solid currentColor;
	border-width: 0 2px 2px 0;
}

.cwtb-slider__arrow--prev span {
	transform: rotate(135deg);
}

.cwtb-slider--nav-style-circle .cwtb-slider__arrow span {
	box-sizing: content-box;
	padding: 5px;
	border: 2px solid currentColor;
	border-radius: 50%;
}

.cwtb-slider:not(.cwtb-slider--nav-always) .cwtb-slider__arrow {
	opacity: 0;
	transition: opacity 180ms ease-out, transform 180ms ease-out;
}

.cwtb-slider:hover .cwtb-slider__arrow,
.cwtb-slider:focus-within .cwtb-slider__arrow,
.cwtb-slider--nav-always .cwtb-slider__arrow {
	opacity: 1;
}

.cwtb-slider--nav-small .cwtb-slider__arrow {
	width: 34px;
	height: 34px;
	font-size: 18px;
}

.cwtb-slider--nav-large .cwtb-slider__arrow {
	width: 56px;
	height: 56px;
	font-size: 30px;
}

.cwtb-slider--nav-style-simple .cwtb-slider__arrow {
	background: transparent;
}

.cwtb-slider--nav-style-reveal .cwtb-slider__arrow {
	width: 48px;
	border-radius: 0;
	background: rgb(255 255 255 / 78%);
}

.cwtb-slider--nav-style-reveal .cwtb-slider__arrow--prev {
	left: 0;
	transform: translate(-100%, -50%);
}

.cwtb-slider--nav-style-reveal .cwtb-slider__arrow--next {
	right: 0;
	transform: translate(100%, -50%);
}

.cwtb-slider--nav-style-reveal:hover .cwtb-slider__arrow--prev,
.cwtb-slider--nav-style-reveal:focus-within .cwtb-slider__arrow--prev,
.cwtb-slider--nav-style-reveal.cwtb-slider--nav-always .cwtb-slider__arrow--prev,
.cwtb-slider--nav-style-reveal:hover .cwtb-slider__arrow--next,
.cwtb-slider--nav-style-reveal:focus-within .cwtb-slider__arrow--next,
.cwtb-slider--nav-style-reveal.cwtb-slider--nav-always .cwtb-slider__arrow--next {
	transform: translate(0, -50%);
}

.cwtb-slider--nav-color-light .cwtb-slider__arrow {
	color: #ffffff;
}

.cwtb-slider__arrow--prev {
	left: 18px;
}

.cwtb-slider__arrow--next {
	right: 18px;
}

.cwtb-slider__dots {
	position: absolute;
	right: 0;
	bottom: 22px;
	left: 0;
	z-index: 4;
	display: flex;
	justify-content: center;
	gap: 8px;
}

.cwtb-slider__dots button {
	width: 9px;
	height: 9px;
	padding: 0;
	border: 1px solid #ffffff;
	border-radius: 50%;
	background: transparent;
	cursor: pointer;
}

.cwtb-slider__dots button.is-active {
	background: #ffffff;
}

.cwtb-slider--bullets-dashes .cwtb-slider__dots,
.cwtb-slider--bullets-dashes-spaced .cwtb-slider__dots {
	gap: 3px;
}

.cwtb-slider--bullets-dashes-spaced .cwtb-slider__dots {
	gap: 10px;
}

.cwtb-slider--bullets-dashes .cwtb-slider__dots button,
.cwtb-slider--bullets-dashes-spaced .cwtb-slider__dots button {
	width: 30px;
	height: 4px;
	border-radius: 0;
}

.cwtb-slider--bullets-simple .cwtb-slider__dots button {
	width: 7px;
	height: 7px;
	border: 0;
	background: rgb(255 255 255 / 45%);
}

.cwtb-slider--bullets-simple .cwtb-slider__dots button.is-active {
	background: #ffffff;
}

.cwtb-slider--bullets-square .cwtb-slider__dots button {
	border-radius: 0;
}

.cwtb-slider--nav-outside {
	padding-right: 58px;
	padding-left: 58px;
}

.cwtb-slider--nav-outside .cwtb-slider__arrow--prev {
	left: 7px;
}

.cwtb-slider--nav-outside .cwtb-slider__arrow--next {
	right: 7px;
}

.cwtb-slider--nav-bottom {
	padding-bottom: 62px;
}

.cwtb-slider--nav-bottom .cwtb-slider__arrow {
	top: auto;
	bottom: 8px;
	transform: none;
}

.cwtb-slider--nav-bottom .cwtb-slider__arrow--prev {
	left: calc(50% - 52px);
}

.cwtb-slider--nav-bottom .cwtb-slider__arrow--next {
	right: calc(50% - 52px);
}

.cwtb-slider--hide-nav .cwtb-slider__arrow,
.cwtb-slider--hide-nav .cwtb-slider__dots { display: none; }

.cwtb-gallery,
.cwtb-instagram-grid,
.cwtb-content-grid {
	display: grid;
	grid-template-columns: repeat(var(--cwtb-columns-desktop), minmax(0, 1fr));
	gap: var(--cwtb-gap-desktop, 24px);
}

.tabbed-content {
	display: flex;
	flex-flow: row wrap;
}

.tabbed-content > .uppercase { text-transform: uppercase; }
.tabbed-content > .nav,
.tabbed-content > .tab-panels { width: 100%; }

.tabbed-content > .nav {
	position: relative;
	display: flex;
	align-items: center;
	flex-flow: row wrap;
	margin: 0;
	padding: 0;
}

.tabbed-content > .nav > li {
	position: relative;
	display: inline-block;
	margin: 0 7px;
	padding: 0;
	list-style: none;
	transition: background-color .3s;
}

.tabbed-content > .nav > li:first-child { margin-left: 0 !important; }
.tabbed-content > .nav > li:last-child { margin-right: 0 !important; }
.tabbed-content > .nav > li > a {
	position: relative;
	display: inline-flex;
	align-items: center;
	flex-wrap: wrap;
	padding: 10px 0;
	color: rgb(102 102 102 / 85%);
	text-decoration: none;
	transition: all .2s;
}

.tabbed-content > .nav > li.active > a,
.tabbed-content > .nav > li > a:hover { color: rgb(18 18 18 / 85%); }
.tabbed-content > .nav.nav-uppercase > li > a { font-weight: bolder; letter-spacing: .02em; text-transform: uppercase; }
.tabbed-content > .nav.nav-left { justify-content: flex-start; }
.tabbed-content > .nav.nav-center { justify-content: center; }
.tabbed-content > .nav.nav-right { justify-content: flex-end; }
.tabbed-content > .nav.nav-size-xsmall > li > a { font-size: .65em; }
.tabbed-content > .nav.nav-size-small > li > a { font-size: .7em; }
.tabbed-content > .nav.nav-size-medium > li > a { font-size: .9em; }
.tabbed-content > .nav.nav-size-large > li > a { font-size: 1em; }
.tabbed-content > .nav.nav-size-xlarge > li > a { font-size: 1.1em; }

.tabbed-content > .nav.nav-line > li > a::before,
.tabbed-content > .nav.nav-line-grow > li > a::before,
.tabbed-content > .nav.nav-line-bottom > li > a::before {
	position: absolute;
	top: 0;
	left: 50%;
	width: 100%;
	height: 3px;
	transform: translateX(-50%);
	background-color: var(--cwtb-primary, var(--cwtb-accent));
	content: "";
	opacity: 0;
	transition: all .3s;
}

.tabbed-content > .nav.nav-line > li.active > a::before,
.tabbed-content > .nav.nav-line > li:hover > a::before,
.tabbed-content > .nav.nav-line-grow > li.active > a::before,
.tabbed-content > .nav.nav-line-grow > li:hover > a::before,
.tabbed-content > .nav.nav-line-bottom > li.active > a::before,
.tabbed-content > .nav.nav-line-bottom > li:hover > a::before { opacity: 1; }
.tabbed-content > .nav:hover > li:not(:hover) > a::before { opacity: 0; }
.tabbed-content > .nav.nav-line-grow > li > a::before { width: 0; }
.tabbed-content > .nav.nav-line-grow > li.active > a::before,
.tabbed-content > .nav.nav-line-grow > li:hover > a::before { width: 100%; }
.tabbed-content > .nav.nav-line-bottom > li > a::before { top: auto; bottom: 0; }

.tabbed-content > .nav.nav-outline > li,
.tabbed-content > .nav.nav-pills > li,
.tabbed-content > .nav.nav-tabs > li { margin: 0; }
.tabbed-content > .nav.nav-outline > li > a { z-index: 1; padding: 0 .75em; border: 2px solid transparent; border-radius: 32px; line-height: 2.4em; }
.tabbed-content > .nav.nav-outline > li.active > a { border-color: currentcolor; color: var(--cwtb-primary, var(--cwtb-accent)); }
.tabbed-content > .nav.nav-pills > li > a { padding: 0 .75em; border-radius: 99px; line-height: 2.5em; }
.tabbed-content > .nav.nav-pills > li.active > a { background-color: var(--cwtb-primary, var(--cwtb-accent)); color: #ffffff; opacity: 1; }
.tabbed-content > .nav.nav-tabs > li { margin: 0 .1em -1px; }
.tabbed-content > .nav.nav-tabs > li > a { padding-right: 15px; padding-left: 15px; border-top: 2px solid #dddddd; border-right: 1px solid #dddddd; border-left: 1px solid #dddddd; background-color: rgb(0 0 0 / 4%); }
.tabbed-content > .nav.nav-tabs > li.active > a { border-top-color: var(--cwtb-primary, var(--cwtb-accent)); background-color: #ffffff; }
.tabbed-content > .nav.nav-bold > li > a { font-weight: 800; }

.tabbed-content > .tab-panels { padding-top: 1em; }
.tabbed-content > .tab-panels > .entry-content { padding: 0; }
.tabbed-content > .tab-panels > .panel:not(.active) { display: block; height: 0; overflow: hidden; padding: 0; visibility: hidden; opacity: 0; }
.tabbed-content > .tab-panels > .panel.active { display: block !important; }
.tabbed-content > .nav.nav-tabs + .tab-panels { padding: 30px; border: 1px solid #dddddd; background-color: #ffffff; }

.tabbed-content > .nav.nav-vertical { flex-flow: column; }
.tabbed-content > .nav.nav-vertical > li { display: flex; align-items: center; flex-flow: row wrap; width: 100%; margin: 0; }
.tabbed-content > .nav.nav-vertical > li + li { border-top: 1px solid #ececec; }
.tabbed-content > .nav.nav-vertical > li > a { flex-grow: 1; width: auto; padding-top: 15px; padding-bottom: 15px; }
.tabbed-content > .nav.nav-vertical.nav-line > li > a::before { top: 0; right: -2px; left: auto; width: 3px; height: 100%; transform: none; }
.tabbed-content > .nav.nav-vertical.nav-tabs > li > a { border: 0; }
.tabbed-content > .nav.nav-vertical.nav-tabs > li.active > a { border-left: 3px solid var(--cwtb-primary, var(--cwtb-accent)); }

@media (min-width: 850px) {
	.tabbed-content > .nav.nav-divided > li { margin: 0 .7em; }
	.tabbed-content > .nav.nav-divided > li + li > a::after { position: absolute; top: 50%; left: -1em; width: 1px; height: 15px; margin-top: -7px; border-left: 1px solid rgb(0 0 0 / 10%); content: ""; }
	.tabbed-content > .nav.nav-vertical { width: 25%; padding-top: 0; }
	.tabbed-content > .nav.nav-vertical + .tab-panels { flex: 1; width: auto; margin-top: 0; padding: 0 30px 30px; border-left: 1px solid #dddddd; }
	.tabbed-content > .nav.nav-vertical.nav-outline { padding-right: 15px; }
}

.cwtb-accordion__heading { margin-bottom: .5em; }
.cwtb-accordion__inner { padding: 1em 2.3em; }
.cwtb-accordion__title {
	position: relative;
	display: block;
	padding: .6em 2.3em;
	border-top: 1px solid #dddddd;
	color: inherit;
	font-size: 110%;
	text-decoration: none;
	transition: border .2s ease-out, background-color .3s;
}
.cwtb-accordion__title.is-active { border-color: var(--cwtb-accent); background: rgb(0 0 0 / 3%); color: var(--cwtb-accent); font-weight: 700; }
.cwtb-accordion__toggle {
	position: absolute;
	top: .3em;
	left: 0;
	width: 2.3em;
	height: 1.5em;
	margin: 0 5px 0 0;
	padding: 0;
	border: 0;
	border-radius: 999px;
	background: transparent;
	color: currentColor;
}
.cwtb-accordion__toggle span::before { content: "›"; display: inline-block; transform: rotate(90deg); font-size: 1.4em; line-height: 1; transition: transform .25s; }
.cwtb-accordion__title.is-active .cwtb-accordion__toggle span::before { transform: rotate(-90deg); }

.cwtb-text-box {
	width: min(100%, var(--cwtb-width-desktop));
	margin: var(--cwtb-margin-top-desktop, 0) var(--cwtb-margin-right-desktop, 0) var(--cwtb-margin-bottom-desktop, 0) var(--cwtb-margin-left-desktop, 0);
	padding: var(--cwtb-padding-box-top-desktop, var(--cwtb-padding-desktop)) var(--cwtb-padding-box-right-desktop, var(--cwtb-padding-desktop)) var(--cwtb-padding-box-bottom-desktop, var(--cwtb-padding-desktop)) var(--cwtb-padding-box-left-desktop, var(--cwtb-padding-desktop));
	transform-origin: center;
	transition: filter 180ms ease-out, transform 220ms ease-out;
}

.cwtb-text-box--positioned {
	position: absolute;
	top: var(--cwtb-position-y-desktop, 50%);
	left: var(--cwtb-position-x-desktop, 50%);
	z-index: 2;
	box-sizing: border-box;
	max-width: none;
	margin: 0;
}

.cwtb-text-box-color--light {
	color: #ffffff;
}

.cwtb-text-box--dark {
	background: #151719;
}

.cwtb-text-box--transparent {
	background: transparent !important;
}

.cwtb-text-box-hover--lift:hover {
	translate: 0 -6px;
}

.cwtb-text-box-hover--zoom:hover {
	scale: 1.025;
}

.cwtb-text-box-hover--darken:hover {
	filter: brightness(0.86);
}

.cwtb-text-box[style*="--cwtb-text-shadow:1"] { text-shadow: 0 1px 2px rgb(0 0 0 / 22%); }
.cwtb-text-box[style*="--cwtb-text-shadow:2"] { text-shadow: 0 2px 5px rgb(0 0 0 / 28%); }
.cwtb-text-box[style*="--cwtb-text-shadow:3"] { text-shadow: 0 3px 9px rgb(0 0 0 / 34%); }
.cwtb-text-box[style*="--cwtb-text-shadow:4"] { text-shadow: 0 5px 14px rgb(0 0 0 / 40%); }
.cwtb-text-box[style*="--cwtb-text-shadow:5"] { text-shadow: 0 8px 20px rgb(0 0 0 / 46%); }

.cwtb-box-style--card {
	overflow: hidden;
	border: 1px solid var(--cwtb-line);
	border-radius: var(--cwtb-radius);
	background: #ffffff;
}
.cwtb-gallery__item img,
.cwtb-content-card__image img,
.cwtb-instagram-grid img {
	width: 100%;
	height: 100%;
	object-fit: cover;
}
.cwtb-content-card h3,
.cwtb-product-list h3 {
	margin: 0 0 8px;
	font-size: 20px;
	line-height: 1.25;
}

/* Reference Image Box component. */
.cwtb-layout .cwtb-image-box {
	position: relative;
	width: 100%;
	transition: opacity .3s, transform .3s, background-color .3s, box-shadow .3s;
}

.cwtb-layout .cwtb-image-box .box-image {
	height: auto;
	margin: 0 auto;
	overflow: hidden;
	position: relative;
	transition: opacity .3s, transform .3s, background-color .3s;
}

.cwtb-layout .cwtb-image-box .box-image > a,
.cwtb-layout .cwtb-image-box .box-image > div,
.cwtb-layout .cwtb-image-box .box-image > a > div {
	display: block;
	position: relative;
	width: 100%;
	overflow: hidden;
}

.cwtb-layout .cwtb-image-box .box-image > a:focus-visible {
	outline-offset: -2px;
}

.cwtb-layout .cwtb-image-box .box-image img {
	display: block;
	width: 100%;
	height: auto;
	margin: 0 auto;
	transition: filter .3s, opacity .3s, transform .3s;
}

.cwtb-layout .cwtb-image-box .image-cover {
	height: auto;
	overflow: hidden;
}

.cwtb-layout .cwtb-image-box .image-cover > img {
	position: absolute;
	inset: 0;
	width: 100%;
	height: 100%;
	object-fit: cover;
	object-position: 50% 50%;
}

.cwtb-layout .cwtb-image-box .overlay,
.cwtb-layout .cwtb-image-box .shade {
	position: absolute;
	z-index: 1;
	inset: 0;
	pointer-events: none;
	transition: opacity .3s;
}

.cwtb-layout .cwtb-image-box .overlay { background: rgb(0 0 0 / 30%); }
.cwtb-layout .cwtb-image-box .shade { background: linear-gradient(0deg, rgb(0 0 0 / 80%) 0, transparent 50%); }

.cwtb-layout .cwtb-image-box .box-text {
	position: relative;
	width: 100%;
	padding-top: .7em;
	padding-bottom: 1.4em;
	font-size: .9em;
	transition: opacity .3s, transform .3s, background-color .3s, filter .3s;
}

.cwtb-layout .cwtb-image-box .box-text :is(a:not(.cwtb-button), h1, h2, h3, h4, h5, h6) {
	margin-top: .1em;
	margin-bottom: .1em;
	line-height: 1.3;
}

.cwtb-layout .cwtb-image-box .box-text p {
	margin-top: .1em;
	margin-bottom: .1em;
}

.cwtb-layout .cwtb-image-box .box-text .cwtb-button { margin-top: 1em; }
.cwtb-layout .cwtb-image-box .box-text.text-center { padding-right: 10px; padding-left: 10px; }
.cwtb-layout .cwtb-image-box .box-text.dark,
.cwtb-layout .cwtb-image-box.dark { color: #fff; }
.cwtb-layout .cwtb-image-box .box-text.is-xsmall { font-size: .7em; }
.cwtb-layout .cwtb-image-box .box-text.is-small { font-size: .8em; }
.cwtb-layout .cwtb-image-box .box-text.is-medium { font-size: .9em; }
.cwtb-layout .cwtb-image-box .box-text.is-large { font-size: 1.15em; }
.cwtb-layout .cwtb-image-box .box-text.is-xlarge { font-size: 1.5em; }

.cwtb-layout .box-none .box-text { display: none !important; }
.cwtb-layout .cwtb-image-box.box-overlay,
.cwtb-layout .cwtb-image-box.box-shade,
.cwtb-layout .cwtb-image-box.box-label,
.cwtb-layout .cwtb-image-box.box-badge { overflow: hidden; }

.cwtb-layout .cwtb-image-box.box-overlay .box-text,
.cwtb-layout .cwtb-image-box.box-shade .box-text {
	position: absolute;
	z-index: 2;
	right: 0;
	bottom: 0;
	left: 0;
	max-height: 100%;
	padding-right: 1.5em;
	padding-left: 1.5em;
}

.cwtb-layout .cwtb-image-box.box-overlay.dark .box-text,
.cwtb-layout .cwtb-image-box.box-shade.dark .box-text { text-shadow: 1px 1px 1px rgb(0 0 0 / 50%); }
.cwtb-layout .cwtb-image-box.box-text-top:is(.box-overlay, .box-shade) .box-text { top: 0; bottom: auto; }
.cwtb-layout .cwtb-image-box.box-text-middle:is(.box-overlay, .box-shade) .box-text { top: 50%; bottom: auto; transform: translateY(-50%); }

.cwtb-layout .cwtb-image-box.box-label .box-text {
	position: absolute;
	z-index: 2;
	bottom: 0;
	left: 0;
	width: auto;
	margin: 10%;
	padding: .5em 1.5em .55em;
	background: rgb(255 255 255 / 95%);
	box-shadow: 1px 1px 3px rgb(0 0 0 / 10%);
}

.cwtb-layout .cwtb-image-box.box-label .box-text.text-center { left: 50%; transform: translateX(-50%); }
.cwtb-layout .cwtb-image-box.box-label .box-text.text-right { right: 0; left: auto; }
.cwtb-layout .cwtb-image-box.box-push .box-text { z-index: 2; max-width: 85%; margin: -15% auto 0; padding: 15px 20px; background: rgb(255 255 255 / 95%); }
.cwtb-layout .cwtb-image-box.box-badge .box-text { position: absolute; z-index: 2; bottom: 15%; padding: .8em 1em 1em; background: rgb(255 255 255 / 95%); }
.cwtb-layout .cwtb-image-box.box-badge.dark .box-text { background: rgb(0 0 0 / 95%); }
.cwtb-layout .cwtb-image-box.box-badge:hover .box-text { background: var(--cwtb-primary, #446084); color: #fff; }
.cwtb-layout .cwtb-image-box.box-bounce .box-text { z-index: 2; padding: 15px 15px 20px; }
.cwtb-layout .cwtb-image-box.box-bounce:hover .box-text { background: #fff; transform: translateY(-15px); }
.cwtb-layout .cwtb-image-box.box-bounce:hover .box-image { transform: translateY(-5px); }
.cwtb-layout .cwtb-image-box.box-bounce.dark:hover .box-text { background: #222; }

.cwtb-layout .cwtb-image-box.box-vertical { display: flex; width: 100%; align-items: center; }
.cwtb-layout .cwtb-image-box.box-vertical .box-image,
.cwtb-layout .cwtb-image-box.box-vertical .box-text { flex: 0 0 auto; }
.cwtb-layout .cwtb-image-box.box-vertical .box-text { flex: 1 1 auto; padding-right: 1.5em; padding-left: 1.5em; }
.cwtb-layout .cwtb-image-box.box-vertical.image-right { flex-direction: row-reverse; }

.cwtb-layout .cwtb-image-box:hover .image-zoom img,
.cwtb-layout .cwtb-image-box:focus-within .image-zoom img { transform: scale(1.1); }
.cwtb-layout .cwtb-image-box .image-zoom-long img { transition-duration: 5s; }
.cwtb-layout .cwtb-image-box:hover .image-zoom-long img,
.cwtb-layout .cwtb-image-box:focus-within .image-zoom-long img { transform: scale(1.3); }
.cwtb-layout .cwtb-image-box:hover .image-zoom-fade img,
.cwtb-layout .cwtb-image-box:focus-within .image-zoom-fade img { opacity: .7; transform: scale(1.1); }
.cwtb-layout .cwtb-image-box:hover .image-blur img,
.cwtb-layout .cwtb-image-box:focus-within .image-blur img { filter: blur(5px); }
.cwtb-layout .cwtb-image-box .image-fade-in img { opacity: .7; }
.cwtb-layout .cwtb-image-box:hover .image-fade-in img,
.cwtb-layout .cwtb-image-box:focus-within .image-fade-in img { opacity: 1; }
.cwtb-layout .cwtb-image-box:hover .image-fade-out img,
.cwtb-layout .cwtb-image-box:focus-within .image-fade-out img { opacity: .7; }
.cwtb-layout .cwtb-image-box:hover .image-glow img,
.cwtb-layout .cwtb-image-box:focus-within .image-glow img { filter: brightness(1.1); }
.cwtb-layout .cwtb-image-box .image-color img { filter: grayscale(1); }
.cwtb-layout .cwtb-image-box:hover .image-color img,
.cwtb-layout .cwtb-image-box:focus-within .image-color img { filter: grayscale(0); }
.cwtb-layout .cwtb-image-box:hover .image-grayscale img,
.cwtb-layout .cwtb-image-box:focus-within .image-grayscale img { filter: grayscale(1); }
.cwtb-layout .cwtb-image-box .image-overlay-add .overlay,
.cwtb-layout .cwtb-image-box .image-overlay-add-50 .overlay { opacity: 0; }
.cwtb-layout .cwtb-image-box:hover .image-overlay-add .overlay,
.cwtb-layout .cwtb-image-box:focus-within .image-overlay-add .overlay { opacity: 1; }
.cwtb-layout .cwtb-image-box:hover .image-overlay-add-50 .overlay,
.cwtb-layout .cwtb-image-box:focus-within .image-overlay-add-50 .overlay { opacity: .5; }
.cwtb-layout .cwtb-image-box:hover .image-overlay-remove .overlay,
.cwtb-layout .cwtb-image-box:focus-within .image-overlay-remove .overlay,
.cwtb-layout .cwtb-image-box:hover .image-overlay-remove-50 .overlay,
.cwtb-layout .cwtb-image-box:focus-within .image-overlay-remove-50 .overlay { opacity: 0; }
.cwtb-layout .cwtb-image-box .image-overlay-remove-50 .overlay { opacity: .5; }

.cwtb-layout .cwtb-image-box .show-on-hover { opacity: 0; pointer-events: none; transition: opacity .5s, transform .3s, filter .6s; }
.cwtb-layout .cwtb-image-box .hover-slide { transform: translateY(15%) translateZ(0); }
.cwtb-layout .cwtb-image-box .hover-zoom { transform: scale(1.1) translateZ(0); }
.cwtb-layout .cwtb-image-box .hover-zoom-in { transform: scale(.9) translateZ(0); }
.cwtb-layout .cwtb-image-box .hover-blur { filter: blur(10px); }
.cwtb-layout .cwtb-image-box .show-on-hover.hover-fade-out,
.cwtb-layout .cwtb-image-box .show-on-hover.hover-invert,
.cwtb-layout .cwtb-image-box .show-on-hover.hover-bounce { opacity: 1; pointer-events: auto; }
.cwtb-layout .cwtb-image-box:hover .hover-fade-out { opacity: 0; }
.cwtb-layout .cwtb-image-box:hover .hover-invert { filter: invert(1); }
.cwtb-layout .cwtb-image-box .hover-bounce { transform: translateY(10px); }
.cwtb-layout .cwtb-image-box:hover .show-on-hover,
.cwtb-layout .cwtb-image-box:focus-within .show-on-hover { opacity: 1; pointer-events: auto; transform: scale(1) translateZ(0) translateY(0); filter: none; }
.cwtb-layout .cwtb-image-box.box-text-middle:hover .show-on-hover,
.cwtb-layout .cwtb-image-box.box-text-middle:focus-within .show-on-hover { transform: translateY(-50%); }

.cwtb-layout .cwtb-image-box.box-shadow-1 { box-shadow: 0 2px 7px rgb(15 23 42 / 10%); }
.cwtb-layout .cwtb-image-box.box-shadow-2 { box-shadow: 0 5px 16px rgb(15 23 42 / 13%); }
.cwtb-layout .cwtb-image-box.box-shadow-3 { box-shadow: 0 10px 26px rgb(15 23 42 / 16%); }
.cwtb-layout .cwtb-image-box.box-shadow-4 { box-shadow: 0 16px 38px rgb(15 23 42 / 19%); }
.cwtb-layout .cwtb-image-box.box-shadow-5 { box-shadow: 0 24px 54px rgb(15 23 42 / 23%); }
.cwtb-layout .cwtb-image-box:hover.box-shadow-1-hover { box-shadow: 0 2px 7px rgb(15 23 42 / 10%); }
.cwtb-layout .cwtb-image-box:hover.box-shadow-2-hover { box-shadow: 0 5px 16px rgb(15 23 42 / 13%); }
.cwtb-layout .cwtb-image-box:hover.box-shadow-3-hover { box-shadow: 0 10px 26px rgb(15 23 42 / 16%); }
.cwtb-layout .cwtb-image-box:hover.box-shadow-4-hover { box-shadow: 0 16px 38px rgb(15 23 42 / 19%); }
.cwtb-layout .cwtb-image-box:hover.box-shadow-5-hover { box-shadow: 0 24px 54px rgb(15 23 42 / 23%); }

/* Reference Team Member uses the same box states with person-specific copy. */
.cwtb-layout .cwtb-team-member > a {
	display: block;
	width: 100%;
	color: inherit;
}

.cwtb-layout .cwtb-team-member .uppercase { text-transform: uppercase; }
.cwtb-layout .cwtb-team-member .person-title {
	font-size: .8em;
	font-weight: 300;
	opacity: .7;
}

.cwtb-layout .team-member-content {
	width: 100%;
	padding-top: 15px;
}

.cwtb-layout a.plain {
	color: inherit;
	text-decoration: none;
}

.cwtb-layout .text-left { text-align: left; }
.cwtb-layout .text-center { text-align: center; }
.cwtb-layout .text-right { text-align: right; }

.cwtb-layout .icon-box .icon-box-img {
	position: relative;
	max-width: 100%;
	margin-bottom: 1em;
}

.cwtb-layout .icon-box-img img,
.cwtb-layout .icon-box-img svg {
	width: 100%;
	padding-top: .2em;
}

.cwtb-layout .icon-box-img svg {
	height: 100%;
	fill: currentcolor;
	transition: all .3s;
}

.cwtb-layout .icon-box-img svg path {
	fill: currentcolor;
}

.cwtb-layout .has-icon-bg .icon {
	position: relative;
	height: 0;
	overflow: hidden;
	padding-top: 100%;
}

.cwtb-layout .has-icon-bg .icon .icon-inner {
	position: absolute;
	top: 0;
	width: 100%;
	height: 100%;
	border: 2px solid;
	border-radius: 100%;
	color: var(--cwtb-primary);
	transition: all .3s;
}

.cwtb-layout .icon-box:hover .has-icon-bg .icon .icon-inner {
	background-color: currentcolor;
}

.cwtb-layout .icon-box:hover .has-icon-bg i,
.cwtb-layout .icon-box:hover .has-icon-bg svg,
.cwtb-layout .icon-box:hover .has-icon-bg svg path {
	fill: #fff;
}

.cwtb-layout .has-icon-bg .icon i,
.cwtb-layout .has-icon-bg .icon img,
.cwtb-layout .has-icon-bg .icon svg {
	position: absolute;
	top: 50%;
	left: 0;
	width: 60%;
	margin: 0 20%;
	padding: 0;
	object-fit: cover;
	transform: translateY(-50%);
}

.cwtb-layout .icon-box-left,
.cwtb-layout .icon-box-right {
	display: flex;
	flex-flow: row wrap;
	width: 100%;
}

.cwtb-layout .icon-box-left .icon-box-img,
.cwtb-layout .icon-box-right .icon-box-img {
	flex: 0 0 auto;
	max-width: 200px;
	margin-bottom: 0;
}

.cwtb-layout .icon-box-left .icon-box-text,
.cwtb-layout .icon-box-right .icon-box-text {
	flex: 1 1 0;
}

.cwtb-layout .icon-box-right .icon-box-text {
	order: -1;
}

.cwtb-layout .icon-box-left .icon-box-img + .icon-box-text {
	padding-left: 1em;
}

.cwtb-layout .icon-box-right .icon-box-img + .icon-box-text {
	padding-right: 1em;
}

.cwtb-layout .icon-box-center .icon-box-img {
	margin-top: 0;
	margin-right: auto;
	margin-bottom: 1em;
	margin-left: auto;
}

.cwtb-layout .icon-box.is-xsmall { font-size: .7em; }
.cwtb-layout .icon-box.is-small { font-size: .8em; }
.cwtb-layout .icon-box.is-medium { font-size: 1em; }
.cwtb-layout .icon-box.is-large { font-size: 1.15em; }
.cwtb-layout .icon-box.is-xlarge { font-size: 1.5em; }

.cwtb-ratio-1-1 {
	aspect-ratio: 1;
}

.cwtb-ratio-4-3 {
	aspect-ratio: 4 / 3;
}

.cwtb-ratio-16-9 {
	aspect-ratio: 16 / 9;
}

.cwtb-gallery__item {
	position: relative;
	overflow: hidden;
	margin: 0;
	border-radius: var(--cwtb-gallery-radius, 0);
	background: var(--cwtb-surface-soft);
}

.cwtb-gallery-depth-1 .cwtb-gallery__item { box-shadow: 0 2px 7px rgb(15 23 42 / 10%); }
.cwtb-gallery-depth-2 .cwtb-gallery__item { box-shadow: 0 5px 16px rgb(15 23 42 / 13%); }
.cwtb-gallery-depth-3 .cwtb-gallery__item { box-shadow: 0 10px 26px rgb(15 23 42 / 16%); }
.cwtb-gallery-depth-4 .cwtb-gallery__item { box-shadow: 0 16px 38px rgb(15 23 42 / 19%); }
.cwtb-gallery-depth-5 .cwtb-gallery__item { box-shadow: 0 24px 54px rgb(15 23 42 / 23%); }

.cwtb-gallery-layout--masonry {
	display: block;
	columns: var(--cwtb-columns-desktop);
	column-gap: var(--cwtb-gap-desktop, 24px);
}

.cwtb-gallery-layout--masonry .cwtb-gallery__item {
	break-inside: avoid;
	margin-bottom: var(--cwtb-gap-desktop, 24px);
}

.cwtb-gallery-layout--slider,
.cwtb-gallery-layout--full-slider,
.cwtb-gallery-layout--stack {
	display: flex;
	overflow-x: auto;
	scroll-snap-type: x mandatory;
}

.cwtb-gallery-layout--slider .cwtb-gallery__item {
	flex: 0 0 calc((100% - (var(--cwtb-gap-desktop, 24px) * (var(--cwtb-columns-desktop) - 1))) / var(--cwtb-columns-desktop));
	scroll-snap-align: start;
}

.cwtb-gallery-layout--full-slider .cwtb-gallery__item {
	flex: 0 0 100%;
	scroll-snap-align: center;
}

.cwtb-gallery-layout--stack .cwtb-gallery__item {
	flex: 0 0 min(82%, 680px);
	scroll-snap-align: center;
}

.cwtb-gallery__item figcaption {
	position: absolute;
	right: 0;
	bottom: 0;
	left: 0;
	padding: 14px 16px;
	background: linear-gradient(to bottom, transparent, rgb(0 0 0 / 74%));
	color: #ffffff;
	font-size: 13px;
}

.cwtb-gallery__item button {
	width: 100%;
	height: 100%;
	padding: 0;
	border: 0;
	background: transparent;
	cursor: zoom-in;
}

.cwtb-wp-gallery {
	display: flex;
	flex-flow: row wrap;
	width: 100%;
	padding: 0;
}

.cwtb-wp-gallery .gallery-item {
	position: relative;
	width: 100%;
	margin: 0;
	padding: 0 15px 30px;
}

.cwtb-row .cwtb-wp-gallery {
	width: auto;
	margin-right: -15px;
	margin-left: -15px;
}

.cwtb-wp-gallery .gallery-caption {
	display: block;
}

@media (min-width: 850px) {
	.cwtb-wp-gallery.gallery-columns-1 .gallery-item { flex-basis: 100%; max-width: 100%; }
	.cwtb-wp-gallery.gallery-columns-2 .gallery-item { flex-basis: 50%; max-width: 50%; }
	.cwtb-wp-gallery.gallery-columns-3 .gallery-item { flex-basis: 33.3333333333%; max-width: 33.3333333333%; }
	.cwtb-wp-gallery.gallery-columns-4 .gallery-item { flex-basis: 25%; max-width: 25%; }
	.cwtb-wp-gallery.gallery-columns-5 .gallery-item { flex-basis: 20%; max-width: 20%; }
	.cwtb-wp-gallery.gallery-columns-6 .gallery-item { flex-basis: 16.6666666667%; max-width: 16.6666666667%; }
	.cwtb-wp-gallery.gallery-columns-7 .gallery-item { flex-basis: 14.2857142857%; max-width: 14.2857142857%; }
	.cwtb-wp-gallery.gallery-columns-8 .gallery-item { flex-basis: 12.5%; max-width: 12.5%; }
}

.cwtb-gallery-dialog,
.cwtb-video-dialog {
	width: min(94vw, 1100px);
	max-width: none;
	max-height: 92vh;
	padding: 0;
	border: 0;
	background: #101214;
	color: #ffffff;
}

.cwtb-gallery-dialog::backdrop,
.cwtb-video-dialog::backdrop {
	background: rgb(0 0 0 / 76%);
}

.cwtb-gallery-dialog > button,
.cwtb-video-dialog > button {
	position: absolute;
	top: 12px;
	right: 12px;
	z-index: 2;
	width: 42px;
	height: 42px;
	border: 0;
	border-radius: 50%;
	background: rgb(0 0 0 / 64%);
	color: #ffffff;
	cursor: pointer;
	font-size: 28px;
}

.cwtb-gallery-dialog img {
	width: 100%;
	max-height: 90vh;
	object-fit: contain;
}

.cwtb-logo {
	display: inline-block;
	max-width: 100%;
	vertical-align: middle;
}

.cwtb-logo .ux-logo-link,
.cwtb-logo .ux-logo-image {
	display: block;
}

.cwtb-logo .ux-logo-link {
	position: relative;
	overflow: hidden;
}

.cwtb-logo .ux-logo-image {
	width: auto;
	max-width: 100%;
}

.cwtb-logo--legacy-size {
	--cwtb-logo-legacy-width: var(--cwtb-logo-legacy-width-desktop);
}

.cwtb-logo--legacy-size.cwtb-logo--center {
	display: block;
	margin-inline: auto;
}

.cwtb-logo--legacy-size.cwtb-logo--right {
	display: block;
	margin-right: 0;
	margin-left: auto;
}

/* Reference Testimonial is an Icon Box, not a separate review-card system. */
.cwtb-layout .testimonial-box {
	width: 100%;
}

.cwtb-layout .testimonial-box .testimonial-image img {
	display: block;
	width: 100%;
	aspect-ratio: 1;
	padding-top: 0;
	border-radius: 999px;
	object-fit: cover;
}

.cwtb-layout .testimonial-box .star-rating {
	position: relative;
	width: 5.4em;
	height: 1.1em;
	margin-bottom: .5em;
	overflow: hidden;
	color: rgb(0 0 0 / 18%);
	font-size: .9em;
	line-height: 1;
	letter-spacing: .08em;
	white-space: nowrap;
}

.cwtb-layout .testimonial-box.text-center .star-rating {
	margin-right: auto;
	margin-left: auto;
}

.cwtb-layout .testimonial-box.text-right .star-rating {
	margin-right: 0;
	margin-left: auto;
}

.cwtb-layout .testimonial-box .star-rating::before,
.cwtb-layout .testimonial-box .star-rating > span::before {
	content: "★★★★★";
}

.cwtb-layout .testimonial-box .star-rating > span {
	position: absolute;
	top: 0;
	left: 0;
	height: 100%;
	overflow: hidden;
	color: var(--cwtb-primary, #d26e4b);
	white-space: nowrap;
}

.cwtb-layout .testimonial-box .line-height-small {
	line-height: 1.3;
}

.cwtb-layout .testimonial-box .is-italic,
.cwtb-layout .testimonial-box .italic {
	font-style: italic;
}

.cwtb-layout .testimonial-box .first-reset > :first-child,
.cwtb-layout .testimonial-box .first-reset > :first-child > :first-child {
	margin-top: 0;
}

.cwtb-layout .testimonial-box .last-reset > :last-child,
.cwtb-layout .testimonial-box .last-reset > :last-child > :last-child,
.cwtb-layout .testimonial-box.p-last-0 > .icon-box-text > p:last-child {
	margin-bottom: 0;
}

.cwtb-layout .testimonial-box .testimonial-meta {
	font-size: .8em;
	font-style: normal;
}

.cwtb-layout .testimonial-box .testimonial-name,
.cwtb-layout .testimonial-box .testimonial-company,
.cwtb-layout .testimonial-box .testimonial-name-divider {
	display: inline;
}

.message-box {
	position: relative;
	padding-right: 30px;
	padding-left: 30px;
	background-color: #f1f1f1;
	overflow: hidden;
}

.message-box.dark {
	background-color: #333333;
	color: #f1f1f1;
}

.message-box-bg-image,
.message-box-bg-overlay {
	position: absolute;
	inset: 0;
	background-position: center;
	background-repeat: no-repeat;
	background-size: cover;
}

.message-box > .container {
	position: relative;
	z-index: 1;
	width: 100%;
	max-width: var(--cwtb-site-width, 1080px);
	margin-right: auto;
	margin-left: auto;
	padding-right: 15px;
	padding-left: 15px;
}

.message-box .cwtb-row,
.message-box .cwtb-column,
.message-box .cwtb-column__inner {
	padding-top: 0 !important;
	padding-bottom: 0 !important;
}

.message-box .last-reset > :last-child,
.message-box .last-reset > :last-child > :last-child {
	margin-bottom: 0;
}

.pricing-table-wrapper {
	width: 100%;
}

.pricing-table {
	overflow: hidden;
	padding-bottom: 15px;
	border: 1px solid #ececec;
	background: #ffffff;
	text-align: center;
	transition: box-shadow 0.3s ease;
}

.pricing-table .title {
	padding: 0.5em 15%;
	border-bottom: 1px solid #ececec;
	background: rgb(0 0 0 / 3%);
}

.pricing-table .price {
	padding: 0.6em 15% 0;
	color: #000000;
	font-weight: 300;
}

.pricing-table .description {
	padding: 15px 15px 0;
}

.pricing-table .items {
	padding: 10px 15%;
}

.pricing-table .items > div {
	padding: 7.5px 0;
	border-bottom: 1px solid #ececec;
}

.pricing-table .items > .cwtb-button {
	margin-top: 30px;
}

.pricing-table .uppercase {
	letter-spacing: 0.04em;
	text-transform: uppercase;
}

.pricing-table .strong {
	font-weight: 700;
}

.pricing-table .is-small {
	font-size: 0.8em;
}

.pricing-table .is-xxlarge {
	font-size: 2em;
}

.pricing-table .is-disabled {
	opacity: 0.6;
	text-decoration: line-through;
}

.pricing-table .bullet-more-info {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	width: 1.35em;
	height: 1.35em;
	margin-left: 10px;
	border: 1px solid currentcolor;
	border-radius: 50%;
	font-size: 14px;
	line-height: 1;
}

.pricing-table.featured-table {
	margin-top: -15px;
	border: 2px solid var(--cwtb-accent);
}

.pricing-table.featured-table .title {
	border-color: var(--cwtb-accent);
	background: var(--cwtb-accent);
	color: #ffffff;
}

.pricing-table-wrapper.dark {
	color: #f1f1f1;
}

.pricing-table-wrapper.dark .pricing-table {
	border-color: rgb(255 255 255 / 20%);
	background: #333333;
	color: #ffffff;
}

.pricing-table-wrapper.dark .pricing-table .title,
.pricing-table-wrapper.dark .pricing-table .items > div {
	border-color: rgb(255 255 255 / 8%);
}

.pricing-table-wrapper.dark .pricing-table .price {
	color: #ffffff;
}

.pricing-table.box-shadow-1 { box-shadow: 0 2px 5px rgb(15 23 42 / 12%); }
.pricing-table.box-shadow-2 { box-shadow: 0 4px 10px rgb(15 23 42 / 15%); }
.pricing-table.box-shadow-3 { box-shadow: 0 8px 18px rgb(15 23 42 / 18%); }
.pricing-table.box-shadow-4 { box-shadow: 0 14px 28px rgb(15 23 42 / 21%); }
.pricing-table.box-shadow-5 { box-shadow: 0 22px 44px rgb(15 23 42 / 24%); }
.pricing-table:hover.box-shadow-1-hover { box-shadow: 0 2px 5px rgb(15 23 42 / 12%); }
.pricing-table:hover.box-shadow-2-hover { box-shadow: 0 4px 10px rgb(15 23 42 / 15%); }
.pricing-table:hover.box-shadow-3-hover { box-shadow: 0 8px 18px rgb(15 23 42 / 18%); }
.pricing-table:hover.box-shadow-4-hover { box-shadow: 0 14px 28px rgb(15 23 42 / 21%); }
.pricing-table:hover.box-shadow-5-hover { box-shadow: 0 22px 44px rgb(15 23 42 / 24%); }

.cwtb-badge-wrap {
	display: flex;
}

.cwtb-badge {
	display: inline-flex;
	align-items: center;
	gap: 6px;
	padding: 6px 11px;
	border: 1px solid transparent;
	font-size: 13px;
	font-weight: 800;
	line-height: 1;
}

.cwtb-badge a { display: inherit; align-items: center; gap: inherit; color: inherit; text-decoration: none; }
.cwtb-badge-size--small { padding: 4px 8px; font-size: 11px; }
.cwtb-badge-size--large { padding: 9px 15px; font-size: 15px; }

.cwtb-badge--pill {
	border-radius: 999px;
}

.cwtb-badge--outline {
	background: transparent !important;
}

.ux-timer {
	display: table;
	position: relative;
	width: 100%;
	margin: .3em 0 .2em;
	border-spacing: 5px;
	table-layout: fixed;
	font-size: var(--cwtb-size-desktop, 300%);
}

.ux-timer > span {
	display: table-cell;
	margin: 0 .05em .2em;
	padding: .4em .1em .1em;
	border-radius: 5px;
	background-color: var(--cwtb-bg-color-desktop, rgba(0, 0, 0, .85));
	color: #fff;
	font-weight: bolder;
	font-variant-numeric: tabular-nums;
	line-height: 80%;
	text-align: center;
}

.ux-timer > span > strong {
	display: block;
	font-family: Helvetica, sans-serif;
	font-size: 30%;
	text-transform: uppercase;
	opacity: .7;
}

.ux-timer.light > span {
	background-color: var(--cwtb-bg-color-desktop, rgba(255, 255, 255, .85));
	color: #000;
}

.ux-timer-text {
	font-size: var(--cwtb-size-desktop, 300%);
}

.ux-timer-text > span {
	display: inline-block;
	margin: 0 .35em;
	background-color: var(--cwtb-bg-color-desktop, transparent);
	font-weight: bolder;
	font-variant-numeric: tabular-nums;
}

.ux-timer-text > span > strong {
	margin-left: .2em;
}

@media (max-width: 849px) {
	.ux-timer,
	.ux-timer-text {
		font-size: var(--cwtb-size-tablet, var(--cwtb-size-desktop, 300%));
	}

	.ux-timer > span,
	.ux-timer-text > span {
		background-color: var(--cwtb-bg-color-tablet, var(--cwtb-bg-color-desktop, rgba(0, 0, 0, .85)));
	}

	.ux-timer.light > span {
		background-color: var(--cwtb-bg-color-tablet, var(--cwtb-bg-color-desktop, rgba(255, 255, 255, .85)));
	}

	.ux-timer-text > span {
		background-color: var(--cwtb-bg-color-tablet, var(--cwtb-bg-color-desktop, transparent));
	}
}

@media (max-width: 549px) {
	.ux-timer,
	.ux-timer-text {
		font-size: var(--cwtb-size-mobile, var(--cwtb-size-tablet, var(--cwtb-size-desktop, 300%)));
	}

	.ux-timer > span,
	.ux-timer-text > span {
		background-color: var(--cwtb-bg-color-mobile, var(--cwtb-bg-color-tablet, var(--cwtb-bg-color-desktop, rgba(0, 0, 0, .85))));
	}

	.ux-timer.light > span {
		background-color: var(--cwtb-bg-color-mobile, var(--cwtb-bg-color-tablet, var(--cwtb-bg-color-desktop, rgba(255, 255, 255, .85))));
	}

	.ux-timer-text > span {
		background-color: var(--cwtb-bg-color-mobile, var(--cwtb-bg-color-tablet, var(--cwtb-bg-color-desktop, transparent)));
	}
}

/* Reference Video shortcode. */
.cwtb-layout .video-fit {
	position: relative;
	height: auto;
	overflow: hidden;
	padding-top: 56.5%;
	background-position: 50% 50%;
	background-size: cover;
}

.cwtb-layout .video.mb { margin-bottom: 30px; }

.cwtb-layout .video-fit iframe,
.cwtb-layout .video-fit video {
	position: absolute;
	top: 0;
	right: 0;
	bottom: 0;
	left: 0;
	width: 100%;
	height: 100%;
	border: 0;
	object-fit: cover;
	object-position: 50% 50%;
}

.cwtb-layout .video-fit iframe { object-fit: fill; }

.cwtb-layout .video.box-shadow-1,
.cwtb-layout .video.box-shadow-1-hover,
.cwtb-layout .video.box-shadow-2,
.cwtb-layout .video.box-shadow-2-hover,
.cwtb-layout .video.box-shadow-3,
.cwtb-layout .video.box-shadow-3-hover,
.cwtb-layout .video.box-shadow-4,
.cwtb-layout .video.box-shadow-4-hover,
.cwtb-layout .video.box-shadow-5,
.cwtb-layout .video.box-shadow-5-hover {
	transition: transform .3s, box-shadow .3s, background-color .3s, color .3s, opacity .3s;
}

.cwtb-layout .video.box-shadow-1,
.cwtb-layout .video.box-shadow-1-hover:hover { box-shadow: 0 1px 3px -2px rgb(0 0 0 / 12%), 0 1px 2px rgb(0 0 0 / 24%); }
.cwtb-layout .video.box-shadow-2,
.cwtb-layout .video.box-shadow-2-hover:hover { box-shadow: 0 3px 6px -4px rgb(0 0 0 / 16%), 0 3px 6px rgb(0 0 0 / 23%); }
.cwtb-layout .video.box-shadow-3,
.cwtb-layout .video.box-shadow-3-hover:hover { box-shadow: 0 10px 20px rgb(0 0 0 / 19%), 0 6px 6px rgb(0 0 0 / 22%); }
.cwtb-layout .video.box-shadow-4,
.cwtb-layout .video.box-shadow-4-hover:hover { box-shadow: 0 14px 28px rgb(0 0 0 / 25%), 0 10px 10px rgb(0 0 0 / 10%); }
.cwtb-layout .video.box-shadow-5,
.cwtb-layout .video.box-shadow-5-hover:hover { box-shadow: 0 30px 40px rgb(0 0 0 / 20%); }
.cwtb-layout .video.box-shadow-4-hover:hover,
.cwtb-layout .video.box-shadow-5-hover:hover { transform: translateY(-6px); }

/* Reference Video Button shortcode. */
.cwtb-layout .video-button-wrapper .button.open-video {
	box-sizing: border-box;
	display: inline-flex;
	align-items: center;
	justify-content: center;
	min-width: 2.5em;
	min-height: 2.5em;
	margin: 0 .12em;
	padding: 0;
	border: 2px solid currentcolor;
	border-radius: 999px;
	background: transparent;
	color: currentcolor;
	cursor: pointer;
	font-size: 1.5em;
	font-weight: 700;
	line-height: 2.19em;
	text-decoration: none;
	transition: transform .3s, box-shadow .3s, background-color .3s, border-color .3s, color .3s;
}

.cwtb-layout .video-button-wrapper .button.open-video i {
	position: relative;
	top: -.027em;
	width: 1em;
	height: 1em;
	margin: 0;
	font-size: 1.5em;
	line-height: 1;
}

.cwtb-layout .video-button-wrapper .button.open-video:hover,
.cwtb-layout .video-button-wrapper .button.open-video:focus-visible {
	border-color: var(--cwtb-primary, var(--cwtb-accent));
	background: var(--cwtb-primary, var(--cwtb-accent));
	color: #fff;
}

.cwtb-video-dialog__body {
	position: relative;
	overflow: hidden;
	aspect-ratio: 16 / 9;
	background: #101214;
}

.cwtb-video-dialog iframe,
.cwtb-video-dialog video {
	position: absolute;
	inset: 0;
	width: 100%;
	height: 100%;
	border: 0;
	object-fit: cover;
}

.google-map,
.cwtb-map {
	position: relative;
	isolation: isolate;
	overflow: hidden;
	height: var(--cwtb-height-desktop, 400px);
}

.cwtb-map .map-height,
.cwtb-map iframe {
	width: 100%;
	height: 100%;
	min-height: 100%;
}

.cwtb-map iframe {
	display: block;
	border: 0;
	filter: saturate(var(--cwtb-map-saturation, 70%));
}

.cwtb-map .map_overlay {
	position: absolute;
	z-index: 3;
	inset: 0;
}

.cwtb-map .map_overlay_top,
.cwtb-map .map_overlay_bottom {
	position: absolute;
	z-index: 1;
	right: 0;
	left: 0;
	height: 1px;
	pointer-events: none;
}

.cwtb-map .map_overlay_top { top: 0; }
.cwtb-map .map_overlay_bottom { bottom: 0; }

.cwtb-hotspot-image {
	position: relative;
	height: var(--cwtb-height-desktop);
	background-position: center;
	background-size: cover;
	overflow: hidden;
}

.cwtb-hotspot-image::before {
	position: absolute;
	inset: 0;
	background: var(--cwtb-hotspot-overlay-color, transparent);
	content: "";
	opacity: var(--cwtb-hotspot-overlay, 0);
	pointer-events: none;
}

.cwtb-hotspot {
	position: absolute;
	z-index: 2;
	display: block;
	transform: translate(-50%, -50%);
	color: var(--cwtb-ink);
	text-decoration: none;
}

.cwtb-hotspot > span {
	position: relative;
	display: block;
	width: var(--cwtb-hotspot-size, 24px);
	height: var(--cwtb-hotspot-size, 24px);
	margin: auto;
	border: 5px solid #ffffff;
	border-radius: 50%;
	background: var(--cwtb-hotspot-color, var(--cwtb-accent));
	box-shadow: 0 0 0 1px rgb(0 0 0 / 15%);
}

.cwtb-hotspot--plus > span::before,
.cwtb-hotspot--plus > span::after {
	position: absolute;
	top: 50%;
	left: 50%;
	width: 42%;
	height: 2px;
	transform: translate(-50%, -50%);
	background: #ffffff;
	content: "";
}
.cwtb-hotspot--plus > span::after { transform: translate(-50%, -50%) rotate(90deg); }
.cwtb-hotspot-label--hover strong { opacity: 0; transform: translateY(5px); transition: opacity 160ms ease-out, transform 160ms ease-out; }
.cwtb-hotspot-label--hover:hover strong,
.cwtb-hotspot-label--hover:focus-visible strong { opacity: 1; transform: translateY(0); }
.cwtb-hotspot-label--hidden strong { display: none; }

.cwtb-hotspot strong {
	display: block;
	margin-top: 5px;
	padding: 4px 8px;
	border-radius: 4px;
	background: #ffffff;
	white-space: nowrap;
}

.searchform-wrapper {
	width: 100%;
}

.searchform-wrapper form {
	margin-bottom: 0;
}

.searchform {
	position: relative;
}

.searchform .flex-row {
	display: flex;
	flex-flow: row nowrap;
	align-items: center;
	justify-content: space-between;
	width: 100%;
}

.searchform .flex-col {
	max-height: 100%;
}

.searchform .flex-grow {
	flex: 1;
}

.searchform .search-field,
.searchform .search_categories,
.searchform .submit-button {
	height: 2.507em;
	margin: 0;
	border: 1px solid #dddddd;
	font: inherit;
}

.searchform .search-field {
	width: 100%;
	padding: 0 0.75em;
	border-radius: 0;
	background: #ffffff;
	color: #333333;
}

.searchform .search-form-categories {
	flex: 0 0 auto;
}

.searchform .search_categories {
	max-width: 180px;
	padding: 0 1.8em 0 0.75em;
	border-right: 0;
	background-color: #ffffff;
}

.searchform .submit-button {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	width: 2.9em;
	min-width: 2.9em;
	padding: 0;
	border-color: var(--cwtb-accent);
	border-radius: 0;
	background: var(--cwtb-accent);
	color: #ffffff;
	cursor: pointer;
}

.searchform .submit-button .icon-search {
	width: 1.2em;
	height: 1.2em;
}

.searchform-wrapper:not(.form-flat) .submit-button {
	border-top-right-radius: 3px;
	border-bottom-right-radius: 3px;
}

.searchform-wrapper.form-flat .search-field,
.searchform-wrapper.form-flat .search_categories {
	border-color: transparent;
	background-color: rgb(0 0 0 / 4%);
}

.searchform-wrapper.form-flat .search-form-categories {
	padding-right: 5px;
}

.searchform-wrapper.form-flat .flex-col:last-of-type {
	margin-left: -2.9em;
}

.searchform-wrapper.form-flat .submit-button {
	border-color: transparent;
	background: transparent;
	color: currentcolor;
}

.searchform-wrapper.is-xsmall { font-size: 0.7em; }
.searchform-wrapper.is-small { font-size: 0.8em; }
.searchform-wrapper.is-medium { font-size: 1em; }
.searchform-wrapper.is-large { font-size: 1.15em; }
.searchform-wrapper.is-xlarge { font-size: 1.3em; }

.searchform-wrapper .submit-button.loading .icon-search {
	opacity: 0;
}

.searchform-wrapper .submit-button.loading::after {
	position: absolute;
	width: 1.1em;
	height: 1.1em;
	border: 2px solid currentcolor;
	border-right-color: transparent;
	border-radius: 50%;
	content: "";
	animation: cwtb-spin 0.7s linear infinite;
}

.searchform-wrapper .live-search-results {
	position: absolute;
	z-index: 1000;
	top: 105%;
	right: 0;
	left: 0;
	max-height: 50vh;
	overflow-y: auto;
	background-color: rgb(255 255 255 / 95%);
	box-shadow: 0 0 10px rgb(0 0 0 / 10%);
	color: #111111;
	text-align: left;
	-webkit-overflow-scrolling: touch;
}

.autocomplete-suggestion {
	display: flex;
	align-items: center;
	padding: 10px 0.75em;
	border-bottom: 1px solid rgb(0 0 0 / 5%);
	cursor: default;
}

.autocomplete-suggestion:last-child {
	border-bottom: 0;
}

.autocomplete-suggestion .search-name {
	flex: 1;
}

.autocomplete-suggestion img {
	display: inline-block;
	width: 40px;
	height: 40px;
	margin-right: 10px;
	border-radius: 99px;
	object-fit: cover;
}

.autocomplete-suggestion img + .search-name {
	margin-top: -0.15em;
	padding-left: 0.5em;
}

.autocomplete-suggestion .search-price {
	margin-left: 5px;
	padding-top: 3px;
	font-size: 0.8em;
}

.autocomplete-selected {
	background-color: rgb(0 0 0 / 5%);
}

@media (max-width: 849px) {
	.searchform-wrapper { font-size: 1rem; }
}

.cwtb-social,
.cwtb-payment-icons {
	display: flex;
	align-items: center;
	gap: var(--cwtb-gap-desktop, 9px);
}

.cwtb-social--center,
.cwtb-payment-icons--center,
.cwtb-button-wrap--center {
	justify-content: center;
}

.cwtb-social--right,
.cwtb-payment-icons--right,
.cwtb-button-wrap--right {
	justify-content: flex-end;
}

.cwtb-social a {
	display: grid;
	place-items: center;
	width: 40px;
	height: 40px;
	text-decoration: none;
	color: var(--cwtb-social-color, currentcolor);
	transition: background-color 160ms ease-out, color 160ms ease-out, transform 160ms ease-out;
}

.cwtb-social a:hover { color: var(--cwtb-social-hover, var(--cwtb-accent)); transform: translateY(-2px); }

.cwtb-social--circle a {
	border-radius: 50%;
	background: var(--cwtb-social-bg, var(--cwtb-ink));
	color: var(--cwtb-social-color, #ffffff);
}

.cwtb-social--outline a {
	border: 1px solid currentcolor;
	border-radius: 50%;
}

.cwtb-social--square a { background: var(--cwtb-social-bg, var(--cwtb-ink)); color: var(--cwtb-social-color, #ffffff); }
.cwtb-social-size--small a { width: 32px; height: 32px; }
.cwtb-social-size--large a { width: 50px; height: 50px; }
.cwtb-social-size--xlarge a { width: 62px; height: 62px; }
.cwtb-social__title { flex: 0 0 100%; margin: 0 0 4px; font-weight: 750; }
.cwtb-social__snapchat { display: inline-grid; place-items: center; width: 40px; height: 40px; overflow: hidden; border-radius: 6px; }
.cwtb-social__snapchat img { width: 100%; height: 100%; object-fit: cover; }

/* Follow Icons keeps the reference wrapper, sizing, styles, and brand states. */
.social-icons {
	display: inline-block;
	color: #999999;
	font-size: .85em;
	vertical-align: middle;
}

.social-icons.full-width { width: 100%; }
.social-icons.text-left { text-align: left; }
.social-icons.text-center { margin-right: auto; margin-left: auto; text-align: center; }
.social-icons.text-right { text-align: right; }
.social-icons > span { padding-right: 10px; font-weight: 700; }

.social-icons a.icon {
	box-sizing: border-box;
	display: inline-flex;
	align-items: center;
	justify-content: center;
	margin-right: .12em;
	margin-left: .12em;
	color: currentcolor;
	text-decoration: none;
	vertical-align: middle;
	transition: transform .3s, border .3s, background .3s, box-shadow .3s, opacity .3s, color .3s;
}

.social-icons a.button.icon {
	width: 2.5em;
	min-width: 2.5em;
	height: 2.5em;
	min-height: 2.5em;
	padding: 0;
	border: 1px solid transparent;
	background: transparent;
	box-shadow: none;
	line-height: 2.4em;
}

.social-icons a.button.icon.circle { border-radius: 999px; }
.social-icons a.button.icon.round { border-radius: 5px; }
.social-icons a.button.icon.is-outline { border-color: currentcolor; }
.social-icons a.icon.plain { margin-right: .25em; margin-left: .25em; font-size: 1.2em; }
.social-icons .cwtb-follow-icon { width: 1.2em; height: 1.2em; fill: none; stroke: currentcolor; stroke-width: 1.8; stroke-linecap: round; stroke-linejoin: round; }
.social-icons .cwtb-follow-icon .is-fill,
.social-icons .cwtb-follow-icon text { fill: currentcolor; stroke: none; font: 700 7px/1 Arial, sans-serif; }

.social-icons .button.icon:hover,
.social-icons .button.icon:not(.is-outline) { border-color: currentcolor; background-color: currentcolor; }
.social-icons .button.icon:hover .cwtb-follow-icon,
.social-icons .button.icon:not(.is-outline) .cwtb-follow-icon { color: #ffffff; }
.social-icons .button.facebook:hover,
.social-icons .button.facebook:not(.is-outline) { color: #3a589d; }
.social-icons .button.instagram:hover,
.social-icons .button.instagram:not(.is-outline) { color: #3b6994; }
.social-icons .button.x:hover,
.social-icons .button.x:not(.is-outline),
.social-icons .button.twitter:hover,
.social-icons .button.twitter:not(.is-outline),
.social-icons .button.email:hover,
.social-icons .button.email:not(.is-outline),
.social-icons .button.threads:hover,
.social-icons .button.threads:not(.is-outline),
.social-icons .button.tiktok:hover,
.social-icons .button.tiktok:not(.is-outline) { color: #111111; }
.social-icons .button.phone:hover,
.social-icons .button.phone:not(.is-outline) { color: #51cb5a; }
.social-icons .button.pinterest:hover,
.social-icons .button.pinterest:not(.is-outline) { color: #cb2320; }
.social-icons .button.whatsapp:hover,
.social-icons .button.whatsapp:not(.is-outline) { color: #51cb5a; }
.social-icons .button.tumblr:hover,
.social-icons .button.tumblr:not(.is-outline) { color: #35465c; }
.social-icons .button.rss:hover,
.social-icons .button.rss:not(.is-outline) { color: #fc7600; }
.social-icons .button.vk:hover,
.social-icons .button.vk:not(.is-outline) { color: #527498; }
.social-icons .button.linkedin:hover,
.social-icons .button.linkedin:not(.is-outline) { color: #0072b7; }
.social-icons .button.youtube:hover,
.social-icons .button.youtube:not(.is-outline) { color: #c33223; }
.social-icons .button.flickr:hover,
.social-icons .button.flickr:not(.is-outline) { color: #e5086f; }
.social-icons .button.snapchat:hover,
.social-icons .button.snapchat:not(.is-outline) { color: #fff600; }
.social-icons .button.px500:hover,
.social-icons .button.px500:not(.is-outline) { color: #0099e5; }
.social-icons .button.telegram:hover,
.social-icons .button.telegram:not(.is-outline) { color: #54a9ea; }
.social-icons .button.twitch:hover,
.social-icons .button.twitch:not(.is-outline) { color: #9146fe; }
.social-icons .button.discord:hover,
.social-icons .button.discord:not(.is-outline) { color: #7189d9; }

.cwtb-follow-snapchat-dialog {
	max-width: min(92vw, 460px);
	padding: 22px;
	border: 0;
	border-radius: 4px;
	background: #ffffff;
	box-shadow: 0 18px 60px rgb(0 0 0 / 28%);
}
.cwtb-follow-snapchat-dialog::backdrop { background: rgb(0 0 0 / 72%); }
.cwtb-follow-snapchat-dialog > button { float: right; width: 36px; height: 36px; padding: 0; border: 0; background: transparent; color: #333333; font-size: 28px; }
.cwtb-follow-snapchat-dialog .text-center { clear: both; text-align: center; }
.cwtb-follow-snapchat-dialog img { width: auto; max-height: 320px; }
.cwtb-follow-snapchat-dialog p { margin: 15px 0 0; }

.cwtb-payment-icons {
	flex-wrap: wrap;
}

.cwtb-payment-icons span {
	display: inline-flex;
	align-items: center;
	min-height: 27px;
	padding: 4px 8px;
	border: 1px solid #cbd2d9;
	border-radius: var(--cwtb-payment-radius, 3px);
	background: #ffffff;
	color: #17212b;
	font-size: 11px;
	font-weight: 800;
	line-height: 1;
}

.cwtb-payment-icons__custom { display: block; width: auto; max-width: min(100%, 560px); max-height: 72px; object-fit: contain; }

.cwtb-payment-icons-size--small span { min-height: 22px; padding: 3px 6px; font-size: 9px; }
.cwtb-payment-icons-size--large span { min-height: 36px; padding: 7px 12px; font-size: 13px; }
.cwtb-payment-icons--monochrome { filter: grayscale(1); }

.cwtb-payment-icons--dark span {
	border-color: #17212b;
	background: #17212b;
	color: #ffffff;
}

.cwtb-payment-icons--outline span {
	background: transparent;
	color: currentcolor;
}

/* Payment Icons: reference inline icon group and custom-image replacement. */
.payment-icons.inline-block {
	display: inline-flex;
	align-items: center;
	gap: var(--cwtb-payment-icons-gap, 6px);
}

.payment-icons > a {
	display: inline-flex;
	align-items: center;
	gap: inherit;
	color: inherit;
}

.payment-icons--align-center {
	display: flex !important;
	justify-content: center;
	width: 100%;
}

.payment-icons--align-right {
	display: flex !important;
	justify-content: flex-end;
	width: 100%;
}

.payment-icons .payment-icon {
	display: inline-block;
	margin: 0;
	padding: 3px 5px 5px;
	border-radius: 5px;
	background-color: rgb(0 0 0 / 10%);
	opacity: 0.6;
	transition: opacity 0.3s;
}

.payment-icons .payment-icon:hover {
	opacity: 1;
}
.payment-icons .cwtb-payment-placeholder { display: inline-block; font: inherit; font-size: 12px; line-height: 20px; white-space: nowrap; }

.payment-icons .payment-icon:has(> .cwtb-payment-artwork) { opacity: 1; }
.payment-icons .payment-icon > .cwtb-payment-artwork { display: inline-block; width: auto; height: 20px; max-width: 50px; object-fit: contain; vertical-align: middle; filter: none; }

.payment-icons .payment-icon svg {
	width: auto !important;
	height: 20px;
	vertical-align: middle;
}

.payment-icons--size-small .payment-icon svg {
	height: 16px;
}

.payment-icons--size-large .payment-icon svg {
	height: 28px;
}

.dark .payment-icons .payment-icon {
	background-color: rgb(255 255 255 / 10%);
}

.dark .payment-icons .payment-icon svg {
	color: #ffffff;
	fill: currentcolor;
}

.payment-icons__custom {
	display: block;
	width: auto;
	max-width: 100%;
	height: auto;
}

.cwtb-animation {
	display: flex;
}

.cwtb-animation--center {
	justify-content: center;
}

.cwtb-animation--right {
	justify-content: flex-end;
}

.cwtb-animation img,
.cwtb-animation video {
	width: min(100%, var(--cwtb-responsive-width-desktop, var(--cwtb-animation-width)));
	border-radius: var(--cwtb-animation-radius, 0);
	transition: transform 220ms ease-out;
}

.cwtb-animation-hover--zoom:hover img,
.cwtb-animation-hover--zoom:hover video { transform: scale(1.025); }
.cwtb-animation-hover--lift:hover img,
.cwtb-animation-hover--lift:hover video { transform: translateY(-6px); }

.cwtb-page-header-wrapper {
	position: relative;
	margin-bottom: var(--cwtb-margin-desktop, 0);
}

.cwtb-page-header {
	position: relative;
	color: #222222;
}

.cwtb-page-header__background,
.cwtb-page-header__background-image,
.cwtb-page-header__overlay {
	position: absolute;
	inset: 0;
}

.cwtb-page-header__background {
	overflow: hidden;
}

.cwtb-page-header__background-image {
	background-position: 50% 50%;
	background-repeat: no-repeat;
	background-size: cover;
	transform: translate3d(0, var(--cwtb-parallax-y, 0), 0);
	transition: opacity .6s;
}

.cwtb-page-header__overlay {
	background: var(--cwtb-bg-overlay-desktop, rgba(0, 0, 0, .25));
	pointer-events: none;
}

.cwtb-page-header__inner {
	position: relative;
	z-index: 1;
	display: flex;
	align-items: center;
	justify-content: space-between;
	width: 100%;
	max-width: var(--cwtb-content-width, 1080px);
	min-height: var(--cwtb-height-desktop, 60px);
	margin-inline: auto;
	padding: 20px 15px 0;
}

.cwtb-page-header-style--normal .cwtb-page-header {
	border-top: 1px solid #ececec;
	border-bottom: 1px solid #ececec;
	background: var(--cwtb-page-title-bg-color, #f7f7f7);
}

.cwtb-page-header-style--normal .cwtb-page-header__inner {
	padding-top: 15px;
	padding-bottom: 15px;
}

.cwtb-page-header-style--featured .cwtb-page-header {
	background: var(--cwtb-page-title-bg-color, var(--cwtb-accent));
	text-shadow: 1px 1px 1px rgb(0 0 0 / 20%);
}

.cwtb-page-header-style--featured .cwtb-page-header__inner {
	padding-bottom: 20px;
}

.cwtb-page-header-style--featured .cwtb-page-header__background {
	box-shadow: inset 0 0 30px rgb(0 0 0 / 10%);
}

.cwtb-page-header__divider {
	width: 100%;
	max-width: var(--cwtb-content-width, 1080px);
	margin-inline: auto;
	padding-inline: 15px;
}

.cwtb-page-header__divider hr {
	margin: 15px 0;
	border: 0;
	border-top: 1px solid currentcolor;
	opacity: .1;
}

.cwtb-page-header-color--light .cwtb-page-header { color: #ffffff; }
.cwtb-page-header-color--dark .cwtb-page-header { color: #222222; }
.cwtb-page-header-color--light .cwtb-page-header__title,
.cwtb-page-header-color--light .cwtb-page-header__subtitle { color: #ffffff; }
.cwtb-page-header-color--dark .cwtb-page-header__title,
.cwtb-page-header-color--dark .cwtb-page-header__subtitle { color: #222222; }
.cwtb-page-header-color--light .cwtb-page-header__breadcrumbs,
.cwtb-page-header-color--light .cwtb-page-header__breadcrumbs a { color: #ffffff; }
.cwtb-page-header-color--light .cwtb-page-header__nav a { color: rgb(255 255 255 / 80%); }
.cwtb-page-header-color--light .cwtb-page-header__nav .active > a,
.cwtb-page-header-color--light .cwtb-page-header__nav a:hover { color: #ffffff; }

.cwtb-page-header-align--center .cwtb-page-header__inner {
	align-items: center;
	flex-direction: column;
	justify-content: center;
	text-align: center;
}

.cwtb-page-header-align--right .cwtb-page-header__inner {
	flex-direction: row-reverse;
}

.cwtb-page-header-align--right .cwtb-page-header__title-wrapper,
.cwtb-page-header-align--right .cwtb-page-header__subtitle { text-align: right; }
.cwtb-page-header-align--left .cwtb-page-header__content { margin-left: auto; text-align: right; }
.cwtb-page-header-align--right .cwtb-page-header__content { margin-right: auto; text-align: left; }
.cwtb-page-header-align--center .cwtb-page-header__content { text-align: center; }

.cwtb-page-header-valign--top:not(.cwtb-page-header-align--center) .cwtb-page-header__inner { align-items: flex-start; }
.cwtb-page-header-valign--bottom:not(.cwtb-page-header-align--center) .cwtb-page-header__inner { align-items: flex-end; }
.cwtb-page-header-valign--top.cwtb-page-header-align--center .cwtb-page-header__inner { justify-content: flex-start; }
.cwtb-page-header-valign--bottom.cwtb-page-header-align--center .cwtb-page-header__inner { justify-content: flex-end; }

.cwtb-page-header__title-wrapper { line-height: 1; }
.cwtb-page-header__title { margin: 0; font-size: 2em; line-height: 1.3; text-transform: var(--cwtb-page-title-case, none); }
.cwtb-page-header-title-size--xxsmall .cwtb-page-header__title-wrapper { font-size: .6em; }
.cwtb-page-header-title-size--xsmall .cwtb-page-header__title-wrapper { font-size: .7em; }
.cwtb-page-header-title-size--smaller .cwtb-page-header__title-wrapper { font-size: .75em; }
.cwtb-page-header-title-size--small .cwtb-page-header__title-wrapper { font-size: .8em; }
.cwtb-page-header-title-size--large .cwtb-page-header__title-wrapper { font-size: 1.15em; }
.cwtb-page-header-title-size--larger .cwtb-page-header__title-wrapper { font-size: 1.3em; }
.cwtb-page-header-title-size--xlarge .cwtb-page-header__title-wrapper { font-size: 1.5em; }
.cwtb-page-header-title-size--xxlarge .cwtb-page-header__title-wrapper { font-size: 2em; }

.cwtb-page-header__subtitle { margin-left: 30px; opacity: .7; }
.cwtb-page-header-align--right .cwtb-page-header__subtitle { margin-right: 30px; margin-left: 0; }
.cwtb-page-header-align--center .cwtb-page-header__subtitle { margin: 0; }
.cwtb-page-header__subtitle p { margin: 0; font-size: 1.3em; }

.cwtb-page-header-type--breadcrumbs .cwtb-page-header__content,
.cwtb-page-header-type--share .cwtb-page-header__content { padding-top: 15px; padding-bottom: 15px; }
.cwtb-page-header__breadcrumbs { justify-content: inherit; margin: 0; padding: 0; color: #222222; font-weight: 700; letter-spacing: 0; text-transform: uppercase; }
.cwtb-page-header__breadcrumbs a { color: rgb(102 102 102 / 70%); font-weight: 400; }
.cwtb-page-header__breadcrumbs a:hover { color: #111111; }

.cwtb-page-header__nav { display: flex; flex-wrap: nowrap; align-items: center; gap: 0; margin: 0; padding: 0; list-style: none; }
.cwtb-page-header__nav li { position: relative; display: inline-block; margin: 0 7px; padding: 0; list-style: none; }
.cwtb-page-header__nav li:first-child { margin-left: 0; }
.cwtb-page-header__nav li:last-child { margin-right: 0; }
.cwtb-page-header__nav a { display: inline-flex; align-items: center; padding: 10px 0; color: rgb(102 102 102 / 85%); font-size: .8em; text-decoration: none; transition: all .2s; }
.cwtb-page-header__nav .active > a,
.cwtb-page-header__nav a:hover { color: rgb(18 18 18 / 85%); }
.cwtb-page-header__nav-case--uppercase > li > a { font-weight: bolder; letter-spacing: .02em; text-transform: uppercase; }
.cwtb-page-header__nav-case--lowercase > li > a { text-transform: none; }
.cwtb-page-header__nav-size--xsmall > li > a { font-size: .65em; }
.cwtb-page-header__nav-size--small > li > a { font-size: .7em; }
.cwtb-page-header__nav-size--large > li > a { font-size: 1em; }
.cwtb-page-header__nav-size--xlarge > li > a { font-size: 1.1em; }
.cwtb-page-header__nav--bold > li > a { font-weight: bolder; }
@media (min-width: 850px) {
	.cwtb-page-header__nav--divided > li { margin: 0 .7em; }
	.cwtb-page-header__nav--divided > li + li > a::after { position: absolute; top: 50%; left: -1em; width: 1px; height: 15px; margin-top: -7px; border-left: 1px solid rgb(0 0 0 / 10%); content: ""; }
	.cwtb-page-header-color--light .cwtb-page-header__nav--divided > li + li > a::after { border-color: rgb(255 255 255 / 20%); }
}
.cwtb-page-header__nav--outline > li,
.cwtb-page-header__nav--pills > li,
.cwtb-page-header__nav--tabs > li { margin: 0; }
.cwtb-page-header__nav--outline > li > a { position: relative; z-index: 1; padding: 0 .75em; border: 2px solid transparent; border-radius: 32px; line-height: 2.4em; }
.cwtb-page-header__nav--outline > li.active > a { border-color: currentcolor; color: var(--cwtb-primary, var(--cwtb-accent)); }
.cwtb-page-header__nav--tabs > li > a { padding-right: 15px; padding-left: 15px; border-top: 2px solid #dddddd; border-right: 1px solid #dddddd; border-left: 1px solid #dddddd; background: rgb(0 0 0 / 4%); }
.cwtb-page-header__nav--tabs > li.active > a { border-top-color: var(--cwtb-primary, var(--cwtb-accent)); background: #ffffff; color: #000000; }
.cwtb-page-header-color--light .cwtb-page-header__nav--tabs > li:not(.active) > a { border-color: transparent; background: rgb(255 255 255 / 10%); }
.cwtb-page-header__nav--pills > li > a { padding: 0 .75em; border-radius: 99px; line-height: 2.5em; }
.cwtb-page-header__nav--pills > li.active > a { background: var(--cwtb-primary, var(--cwtb-accent)); color: #ffffff; opacity: 1; }
.cwtb-page-header__nav--line a,
.cwtb-page-header__nav--line-grow a,
.cwtb-page-header__nav--line-bottom a { position: relative; }
.cwtb-page-header__nav--line > li > a::before,
.cwtb-page-header__nav--line-grow > li > a::before,
.cwtb-page-header__nav--line-bottom > li > a::before { position: absolute; top: 0; left: 50%; width: 100%; height: 3px; background: var(--cwtb-primary, var(--cwtb-accent)); content: ""; opacity: 0; transform: translateX(-50%); transition: all .3s; }
.cwtb-page-header__nav--line > li.active > a::before,
.cwtb-page-header__nav--line > li:hover > a::before,
.cwtb-page-header__nav--line-grow > li.active > a::before,
.cwtb-page-header__nav--line-grow > li:hover > a::before,
.cwtb-page-header__nav--line-bottom > li.active > a::before,
.cwtb-page-header__nav--line-bottom > li:hover > a::before { opacity: 1; }
.cwtb-page-header__nav--line-grow > li > a::before { width: 0; }
.cwtb-page-header__nav--line-grow > li.active > a::before,
.cwtb-page-header__nav--line-grow > li:hover > a::before { width: 100%; }
.cwtb-page-header__nav--line-bottom > li > a::before { top: auto; bottom: 0; }

.title-share { width: 100%; }
.pt-half { padding-top: 15px; }
.pb-half { padding-bottom: 15px; }

.cwtb-page-meta {
	display: flex;
	align-items: center;
	gap: 10px;
	color: var(--cwtb-muted);
	font-size: 14px;
}

.cwtb-page-meta--pills > :not(span) {
	padding: 5px 10px;
	border-radius: 999px;
	background: var(--cwtb-surface-soft);
}

.cwtb-page-meta--boxed {
	padding: 12px 16px;
	border: 1px solid var(--cwtb-line);
	border-radius: var(--cwtb-radius);
}

.cwtb-page-meta--center {
	justify-content: center;
}

.cwtb-page-meta--right {
	justify-content: flex-end;
}

.cwtb-menu ul,
.cwtb-custom-menu ul {
	display: flex;
	gap: 12px var(--cwtb-gap-desktop, 24px);
	margin: 0;
	padding: 0;
	list-style: none;
}

.cwtb-menu,
.cwtb-custom-menu {
	color: var(--cwtb-menu-color, var(--cwtb-ink));
	font-size: var(--cwtb-menu-size, 15px);
	font-weight: var(--cwtb-menu-weight, 600);
}

.cwtb-menu a,
.cwtb-custom-menu a { color: inherit; text-decoration: none; }
.cwtb-menu a:hover,
.cwtb-custom-menu a:hover { color: var(--cwtb-menu-hover, var(--cwtb-accent)); }
.cwtb-menu--divider li + li,
.cwtb-custom-menu.cwtb-menu--divider li + li { border-left: 1px solid var(--cwtb-line); padding-left: var(--cwtb-gap-desktop, 24px); }
.cwtb-menu--vertical.cwtb-menu--divider li + li,
.cwtb-custom-menu--vertical.cwtb-menu--divider li + li { width: 100%; padding-top: var(--cwtb-gap-desktop, 12px); padding-left: 0; border-top: 1px solid var(--cwtb-line); border-left: 0; }

.cwtb-menu--vertical ul,
.cwtb-custom-menu--vertical ul {
	align-items: flex-start;
	flex-direction: column;
}

.cwtb-menu--center ul,
.cwtb-custom-menu--center ul {
	justify-content: center;
}

.cwtb-menu--right ul,
.cwtb-custom-menu--right ul {
	justify-content: flex-end;
}

.cwtb-custom-menu__title {
	font-weight: 800;
}

.ux-menu {
	display: flex;
	flex-direction: column;
	justify-content: flex-start;
}

.ux-menu-link {
	display: flex;
	align-items: center;
}

.ux-menu-link__link {
	display: flex;
	align-items: baseline;
	flex: 1;
	min-height: 2.5em;
	padding: .3em 0;
	border-bottom-width: 1px;
	border-bottom-color: #ececec;
	border-bottom-style: var(--cwtb-divider-desktop, none);
	color: currentcolor;
	text-decoration: none;
	transition: all .2s;
}

.ux-menu-link--active .ux-menu-link__link,
.ux-menu-link:hover .ux-menu-link__link { color: rgb(18 18 18 / 85%); }
.dark .ux-menu-link__link { border-bottom-color: rgb(255 255 255 / 20%); }
.dark .ux-menu-link--active .ux-menu-link__link,
.dark .ux-menu-link:hover .ux-menu-link__link { color: rgb(255 255 255 / 85%); }
.ux-menu.ux-menu--divider-solid .ux-menu-link:not(:last-of-type) .ux-menu-link__link { border-bottom-style: var(--cwtb-divider-desktop, solid); }
.ux-menu-link__icon { width: 16px; height: 16px; flex-shrink: 0; font-size: 16px; line-height: 1; text-align: center; vertical-align: middle; }
.ux-menu-link__icon + .ux-menu-link__text { padding-left: .5em; }
.ux-menu-title { display: flex; min-height: 3.125em; align-items: center; margin-top: 5px; padding: .3em 0; color: #000; font-size: .8em; font-weight: bolder; text-transform: uppercase; }
.ux-menu-link + .ux-menu-title { margin-top: 5px !important; }
.dark .ux-menu-title { color: currentcolor; }

.ux-menu .label-hot.menu-item > a::after,
.ux-menu .label-new.menu-item > a::after,
.ux-menu .label-popular.menu-item > a::after,
.ux-menu .label-sale.menu-item > a::after { display: inline-block; position: relative; top: -2px; margin-left: 4px; padding: 2px 3px 3px; border-radius: 2px; background: #000; color: #fff; font-size: 9px; font-weight: bolder; letter-spacing: -.1px; line-height: 9px; text-transform: uppercase; }
.ux-menu .label-new.menu-item > a::after { background: var(--cwtb-accent); content: "New"; }
.ux-menu .label-hot.menu-item > a::after { background: #b20000; content: "Hot"; }
.ux-menu .label-sale.menu-item > a::after { background: #f4c542; color: #111; content: "Sale"; }
.ux-menu .label-popular.menu-item > a::after { background: #7a9c59; content: "Popular"; }

@media (max-width: 849px) {
	.ux-menu .ux-menu-link:not(:last-of-type) .ux-menu-link__link,
	.ux-menu.ux-menu--divider-solid .ux-menu-link:not(:last-of-type) .ux-menu-link__link { border-bottom-style: var(--cwtb-divider-tablet, var(--cwtb-divider-desktop, none)); }
}

@media (max-width: 549px) {
	.ux-menu .ux-menu-link:not(:last-of-type) .ux-menu-link__link,
	.ux-menu.ux-menu--divider-solid .ux-menu-link:not(:last-of-type) .ux-menu-link__link { border-bottom-style: var(--cwtb-divider-mobile, var(--cwtb-divider-tablet, var(--cwtb-divider-desktop, none))); }
}

.cwtb-content-card {
	overflow: hidden;
	border: 1px solid var(--cwtb-line);
	border-radius: var(--cwtb-radius);
	background: #ffffff;
	transition: box-shadow 180ms ease-out, transform 220ms ease-out;
}

.cwtb-content-card__image {
	display: block;
	aspect-ratio: 4 / 3;
	background: var(--cwtb-surface-soft);
}

.cwtb-content-card__body {
	padding: 20px;
}

.cwtb-content-layout--list .cwtb-content-grid,
.cwtb-content-layout--list.cwtb-product-list .cwtb-product-list__items {
	grid-template-columns: 1fr;
}

.cwtb-content-layout--list .cwtb-content-card {
	display: grid;
	grid-template-columns: minmax(160px, 32%) minmax(0, 1fr);
}

.cwtb-content-layout--slider .cwtb-content-grid,
.cwtb-content-layout--full-slider .cwtb-content-grid,
.cwtb-content-layout--slider.cwtb-product-list .cwtb-product-list__items {
	display: flex;
	overflow-x: auto;
	scroll-snap-type: x mandatory;
}

.cwtb-content-layout--slider .cwtb-content-card,
.cwtb-content-layout--full-slider .cwtb-content-card,
.cwtb-content-layout--slider.cwtb-product-list .cwtb-product-list__item {
	flex: 0 0 calc((100% - (var(--cwtb-gap-desktop, 24px) * (var(--cwtb-columns-desktop) - 1))) / var(--cwtb-columns-desktop));
	scroll-snap-align: start;
}

.cwtb-content-layout--full-slider.cwtb-content-width--container,
.cwtb-content-width--full { width: 100%; }

.cwtb-content-width--container {
	width: min(100% - 40px, var(--cwtb-content-width));
	margin-inline: auto;
}

.cwtb-content-layout--full-slider .cwtb-content-card {
	flex-basis: 100%;
}

.cwtb-content-layout--masonry .cwtb-content-grid,
.cwtb-content-layout--masonry.cwtb-product-list .cwtb-product-list__items {
	display: block;
	columns: var(--cwtb-columns-desktop);
	column-gap: var(--cwtb-gap-desktop, 24px);
}

.cwtb-content-layout--masonry .cwtb-content-card,
.cwtb-content-layout--masonry.cwtb-product-list .cwtb-product-list__item {
	display: inline-block;
	width: 100%;
	margin-bottom: var(--cwtb-gap-desktop, 24px);
	break-inside: avoid;
}

.cwtb-content-card--plain { border: 0; background: transparent; }
.cwtb-content-card--card { padding: 0; }
.cwtb-content-card--vertical { display: grid; grid-template-columns: minmax(120px, 38%) minmax(0, 1fr); align-items: center; }
.cwtb-content-card--label .cwtb-content-card__body { margin: -26px 14px 0; background: #ffffff; box-shadow: 0 8px 24px rgb(15 23 42 / 12%); }
.cwtb-content-card--push,
.cwtb-content-card--bounce { transition: transform 220ms ease, box-shadow 220ms ease; }
.cwtb-content-card--push:hover { transform: translateY(-8px); }
.cwtb-content-card--bounce:hover { transform: translateY(-6px) scale(1.015); }
.cwtb-content-card--badge .cwtb-content-card__body { position: relative; margin: -20px 18px 0; border-radius: 999px; background: #ffffff; text-align: center; box-shadow: 0 6px 18px rgb(15 23 42 / 12%); }
.cwtb-content-card--overlay,
.cwtb-content-card--shade { position: relative; color: #ffffff; }
.cwtb-content-card--overlay .cwtb-content-card__body,
.cwtb-content-card--shade .cwtb-content-card__body {
	position: absolute;
	z-index: 2;
	right: 0;
	bottom: 0;
	left: 0;
}
.cwtb-content-card--shade::after {
	position: absolute;
	inset: 35% 0 0;
	background: linear-gradient(to bottom, transparent, rgb(0 0 0 / 82%));
	content: "";
	pointer-events: none;
}

.cwtb-text-size-small { font-size: 0.875rem; }
.cwtb-text-size-large { font-size: 1.125rem; }

.cwtb-content-card__meta {
	margin: 0 0 8px;
	color: var(--cwtb-muted);
	font-size: 13px;
}

.cwtb-content-card h3 a,
.cwtb-product-list h3 a {
	text-decoration: none;
}

/* Reference Instagram Feed: connected account, square row, or repeater slider. */
.cwtb-instagram-feed {
	position: relative;
	display: block;
	width: 100%;
	margin-right: auto;
	margin-left: auto;
}

.cwtb-instagram-feed--container {
	max-width: var(--cwtb-content-width, 1200px);
}

.cwtb-instagram-feed--full-width {
	width: 100vw;
	max-width: 100vw;
	margin-left: calc(50% - 50vw);
}

.cwtb-instagram-feed__items {
	display: grid;
	grid-template-columns: repeat(var(--cwtb-instagram-columns-desktop, 5), minmax(0, 1fr));
	gap: var(--cwtb-instagram-gap, 0);
	width: 100%;
}

.cwtb-instagram-feed .col,
.cwtb-instagram-feed .col-inner {
	box-sizing: border-box;
	min-width: 0;
}

.cwtb-instagram-feed .col-inner {
	height: 100%;
	transition: box-shadow 220ms ease, transform 220ms ease;
}

.cwtb-instagram-feed .img,
.cwtb-instagram-feed .instagram-image-container,
.cwtb-instagram-feed .plain {
	position: relative;
	display: block;
	width: 100%;
	height: 100%;
	overflow: hidden;
}

.cwtb-instagram-feed .instagram-image-container {
	aspect-ratio: 1;
	background: #f3f3f3;
}

.cwtb-instagram-feed .instagram-image-container img {
	display: block;
	width: 100%;
	height: 100%;
	object-fit: cover;
	transition: filter 280ms ease, opacity 280ms ease, transform 320ms ease;
}

.cwtb-instagram-feed .instagram-image-type--placeholder img {
	background: #f3f3f3;
}

.cwtb-instagram-feed--slider .cwtb-instagram-feed__items {
	display: flex;
	gap: var(--cwtb-instagram-gap, 0);
}

.cwtb-instagram-feed--slider .cwtb-instagram-feed__items > .col {
	flex: 0 0 calc((100% - (var(--cwtb-instagram-gap, 0px) * (var(--cwtb-instagram-columns-desktop, 5) - 1))) / var(--cwtb-instagram-columns-desktop, 5));
	max-width: none;
}

.cwtb-instagram-feed--empty,
.cwtb-instagram-feed--error {
	padding: 24px;
	text-align: center;
}

.cwtb-product-list__item {
	display: grid;
	grid-template-columns: 112px minmax(0, 1fr);
	align-items: center;
	gap: 18px;
	padding: 16px 0;
	border-bottom: 1px solid var(--cwtb-line);
}

.cwtb-product-list__items {
	display: grid;
	grid-template-columns: repeat(var(--cwtb-columns-desktop, 1), minmax(0, 1fr));
	gap: var(--cwtb-gap-desktop, 24px);
}

.cwtb-product-list__item.cwtb-content-card--card,
.cwtb-product-list__item.cwtb-content-card--boxed {
	padding: 18px;
	border: 1px solid var(--cwtb-line);
	border-radius: var(--cwtb-radius);
	background: #ffffff;
}

.cwtb-date-badge {
	display: inline-grid;
	place-items: center;
	min-width: 48px;
	margin-bottom: 12px;
	padding: 6px 8px;
	border: 1px solid currentcolor;
	color: var(--cwtb-accent);
	font-size: 11px;
	font-weight: 800;
	line-height: 1;
	text-align: center;
	text-transform: uppercase;
}
.cwtb-date-badge strong { display: block; font-size: 20px; line-height: 1; }
.cwtb-date-badge--solid { border-color: var(--cwtb-accent); background: var(--cwtb-accent); color: #ffffff; }
.cwtb-date-badge--square { aspect-ratio: 1; border-radius: 0; }

.cwtb-product-list__image {
	display: block;
	overflow: hidden;
}

.cwtb-product-list__image img {
	width: 112px;
	aspect-ratio: 1;
	object-fit: cover;
}

/* Flip Book: the reference two-page product slider. */
.cwtb-flip-book {
	background: #fff;
	color: #777;
}
.cwtb-flip-book .cwtb-slider__track > .cwtb-flip-book__slide {
	flex: 0 0 100%;
	background: #fff;
}
.cwtb-flip-book .flip-slide {
	display: flex;
	flex-flow: row wrap;
	align-items: center;
	width: 100%;
	margin: 0;
}
.cwtb-flip-book .flip-page-one,
.cwtb-flip-book .flip-page-two {
	flex: 0 0 50%;
	max-width: 50%;
	padding: 0;
}
.cwtb-flip-book .featured-product,
.cwtb-flip-book .product-image,
.cwtb-flip-book .front-image { width: 100%; }
.cwtb-flip-book .front-image img {
	display: block;
	width: 100%;
	height: auto;
}
.cwtb-flip-book .product-image { position: relative; }
.cwtb-flip-book .onsale {
	position: absolute;
	top: 18px;
	left: 18px;
	z-index: 2;
}
.cwtb-flip-book .inner-padding { padding: clamp(30px, 5vw, 70px); }
.cwtb-flip-book .entry-title {
	margin: 0;
	color: #555;
	font-size: clamp(1.65rem, 3vw, 2.9rem);
	line-height: 1.15;
}
.cwtb-flip-book .entry-title a { color: inherit; text-decoration: none; }
.cwtb-flip-book .is-divider {
	width: 100%;
	max-width: 30px;
	height: 3px;
	margin: 1em 0;
	background: rgba(0, 0, 0, .1);
}
.cwtb-flip-book .price { margin: 0 0 1em; font-size: 1.5em; font-weight: 700; }
.cwtb-flip-book .product-short-description { margin-bottom: 1.3em; }
.cwtb-flip-book .product_meta { margin-bottom: 1.5em; font-size: .8em; }
.cwtb-flip-book .product_meta > span { display: block; padding: 5px 0; border-top: 1px dotted #ddd; }
.cwtb-flip-book .button { margin: 0; }
.cwtb-flip-book .cwtb-slider__dots { bottom: 14px; }

.cwtb-product-next-prev {
	display: flex;
	justify-content: space-between;
	gap: 24px;
}

.cwtb-preview-placeholder,
.cwtb-preview-error {
	display: grid;
	place-items: center;
	min-height: 180px;
	padding: 24px;
	border: 1px dashed #aeb7c1;
	background: #f6f8fa;
	color: #38414a;
	text-align: center;
}

@media (max-width: 849px) {
	.cwtb-instagram-feed__items {
		grid-template-columns: repeat(var(--cwtb-instagram-columns-tablet, 3), minmax(0, 1fr));
	}

	.cwtb-instagram-feed--slider .cwtb-instagram-feed__items > .col {
		flex-basis: calc((100% - (var(--cwtb-instagram-gap, 0px) * (var(--cwtb-instagram-columns-tablet, 3) - 1))) / var(--cwtb-instagram-columns-tablet, 3));
	}

	.cwtb-site-header__inner {
		grid-template-columns: auto 1fr auto;
		gap: 20px;
	}

	.cwtb-site-nav ul {
		gap: 18px;
	}

	.cwtb-section {
		min-height: var(--cwtb-height-tablet, var(--cwtb-height-desktop, auto));
		padding-top: var(--cwtb-padding-tablet, var(--cwtb-padding-desktop, 30px));
		padding-bottom: var(--cwtb-padding-tablet, var(--cwtb-padding-desktop, 30px));
	}

	.cwtb-section__overlay {
		background: var(--cwtb-bg-overlay-tablet, var(--cwtb-bg-overlay-desktop, transparent));
	}

	.cwtb-row {
		padding: var(--cwtb-padding-top-tablet, var(--cwtb-padding-top-desktop, 0)) var(--cwtb-padding-right-tablet, var(--cwtb-padding-right-desktop, 0)) var(--cwtb-padding-bottom-tablet, var(--cwtb-padding-bottom-desktop, 0)) var(--cwtb-padding-left-tablet, var(--cwtb-padding-left-desktop, 0));
	}

	.cwtb-force-first--tablet { order: -1; }

	.cwtb-column {
		flex-basis: var(--cwtb-column-width-tablet, var(--cwtb-column-width-desktop, 100%));
		max-width: var(--cwtb-column-width-tablet, var(--cwtb-column-width-desktop, 100%));
	}

	.cwtb-column__inner {
		max-width: var(--cwtb-max-width-tablet, var(--cwtb-max-width-desktop, none));
		margin: var(--cwtb-margin-top-tablet, var(--cwtb-margin-top-desktop, 0)) var(--cwtb-margin-right-tablet, var(--cwtb-margin-right-desktop, auto)) var(--cwtb-margin-bottom-tablet, var(--cwtb-margin-bottom-desktop, 0)) var(--cwtb-margin-left-tablet, var(--cwtb-margin-left-desktop, auto));
		padding: var(--cwtb-padding-top-tablet, var(--cwtb-padding-top-desktop, 0)) var(--cwtb-padding-right-tablet, var(--cwtb-padding-right-desktop, 0)) var(--cwtb-padding-bottom-tablet, var(--cwtb-padding-bottom-desktop, 0)) var(--cwtb-padding-left-tablet, var(--cwtb-padding-left-desktop, 0));
	}

	.cwtb-row > .cwtb-column > .cwtb-column__inner {
		padding: var(--cwtb-column-padding-top-tablet, var(--cwtb-padding-top-tablet, var(--cwtb-column-style-padding-top, 0))) var(--cwtb-column-padding-right-tablet, var(--cwtb-padding-right-tablet, var(--cwtb-column-style-padding-right, 0))) var(--cwtb-column-padding-bottom-tablet, var(--cwtb-padding-bottom-tablet, var(--cwtb-column-style-padding-bottom, 0))) var(--cwtb-column-padding-left-tablet, var(--cwtb-padding-left-tablet, var(--cwtb-column-style-padding-left, 0)));
	}

	.cwtb-column__border { border-color: var(--cwtb-border-color-tablet, var(--cwtb-border-color-desktop, currentColor)) !important; }

	.cwtb-text {
		font-size: var(--cwtb-size-tablet);
	}

	.cwtb-text {
		column-count: var(--cwtb-columns-tablet, var(--cwtb-columns-desktop, 1));
	}

	.cwtb-image {
		width: var(--cwtb-width-tablet, var(--cwtb-width-desktop, 100%));
	}

	.cwtb-image__media,
	.cwtb-image > a,
	.cwtb-image > button {
		height: var(--cwtb-height-tablet, var(--cwtb-height-desktop, auto));
	}

	.cwtb-banner {
		min-height: max(var(--cwtb-height-tablet), var(--cwtb-min-height-tablet));
	}

	.cwtb-banner__content {
		width: min(100%, var(--cwtb-content-width-tablet, var(--cwtb-content-width-desktop, 640px)));
		padding: var(--cwtb-content-padding-top-tablet, var(--cwtb-content-padding-top-desktop, 0)) var(--cwtb-content-padding-right-tablet, var(--cwtb-content-padding-right-desktop, 0)) var(--cwtb-content-padding-bottom-tablet, var(--cwtb-content-padding-bottom-desktop, 0)) var(--cwtb-content-padding-left-tablet, var(--cwtb-content-padding-left-desktop, 0));
	}

	.gap-element {
		padding-top: var(--cwtb-gap-height-tablet, var(--cwtb-gap-height-desktop, 30px));
	}

	.cwtb-products-grid,
	.cwtb-categories-grid,
	.woocommerce ul.products.cwtb-products-grid,
	.woocommerce ul.products.cwtb-categories-grid {
		grid-template-columns: repeat(var(--cwtb-columns-tablet), minmax(0, 1fr));
	}

	.cwtb-stack {
		--stack-gap: var(--cwtb-gap-tablet, var(--cwtb-gap-desktop, 0rem));
	}

	.cwtb-stack > * { --stack-gap: var(--cwtb-gap-tablet, var(--cwtb-gap-desktop, 0rem)); }
	.cwtb-stack.md\:stack-row { flex-direction: row; }
	.cwtb-stack.md\:stack-row > * { margin: 0 !important; }
	.cwtb-stack.md\:stack-row > * ~ * { margin-left: var(--stack-gap) !important; margin-top: 0 !important; }
	.cwtb-stack.md\:stack-col { flex-direction: column; }
	.cwtb-stack.md\:stack-col > * { margin: 0 !important; }
	.cwtb-stack.md\:stack-col > * ~ * { margin-left: 0 !important; margin-top: var(--stack-gap) !important; }
	.cwtb-stack.md\:items-stretch { align-items: stretch; }
	.cwtb-stack.md\:items-start { align-items: flex-start; }
	.cwtb-stack.md\:items-center { align-items: center; }
	.cwtb-stack.md\:items-end { align-items: flex-end; }
	.cwtb-stack.md\:items-baseline { align-items: baseline; }
	.cwtb-stack.md\:justify-start { justify-content: flex-start; }
	.cwtb-stack.md\:justify-center { justify-content: center; }
	.cwtb-stack.md\:justify-end { justify-content: flex-end; }
	.cwtb-stack.md\:justify-between { justify-content: space-between; }
	.cwtb-stack.md\:justify-around { justify-content: space-around; }

	.cwtb-slide {
		min-height: var(--cwtb-height-tablet);
	}

	.cwtb-slider { margin-bottom: var(--cwtb-margin-tablet, var(--cwtb-margin-desktop, 0)); }

	.cwtb-slider__track > * {
		flex-basis: var(--cwtb-slide-width-tablet, var(--cwtb-slide-width-desktop, 100%));
	}

	.cwtb-slide__inner {
		width: min(100%, var(--cwtb-content-width-tablet, var(--cwtb-content-width-desktop, 720px)));
		padding: var(--cwtb-content-padding-top-tablet, var(--cwtb-content-padding-top-desktop, 0)) var(--cwtb-content-padding-right-tablet, var(--cwtb-content-padding-right-desktop, 0)) var(--cwtb-content-padding-bottom-tablet, var(--cwtb-content-padding-bottom-desktop, 0)) var(--cwtb-content-padding-left-tablet, var(--cwtb-content-padding-left-desktop, 0));
	}

	.cwtb-gallery,
	.cwtb-instagram-grid,
	.cwtb-content-grid {
		grid-template-columns: repeat(var(--cwtb-columns-tablet), minmax(0, 1fr));
		gap: var(--cwtb-gap-tablet, 20px);
	}

	.cwtb-text-box {
		width: min(100%, var(--cwtb-width-tablet));
		padding: var(--cwtb-padding-box-top-tablet, var(--cwtb-padding-tablet)) var(--cwtb-padding-box-right-tablet, var(--cwtb-padding-tablet)) var(--cwtb-padding-box-bottom-tablet, var(--cwtb-padding-tablet)) var(--cwtb-padding-box-left-tablet, var(--cwtb-padding-tablet));
	}

	.cwtb-text-box--positioned {
		top: var(--cwtb-position-y-tablet, var(--cwtb-position-y-desktop, 50%));
		left: var(--cwtb-position-x-tablet, var(--cwtb-position-x-desktop, 50%));
	}

	.cwtb-gallery-layout--masonry,
	.cwtb-content-layout--masonry .cwtb-content-grid,
	.cwtb-content-layout--masonry.cwtb-product-list .cwtb-product-list__items,
	.cwtb-product-layout--masonry .cwtb-products-grid,
	.cwtb-product-layout--masonry .cwtb-categories-grid {
		columns: var(--cwtb-columns-tablet, var(--cwtb-columns-desktop));
		column-gap: var(--cwtb-gap-tablet, var(--cwtb-gap-desktop, 20px));
	}

	.cwtb-product-list__items {
		grid-template-columns: repeat(var(--cwtb-columns-tablet, var(--cwtb-columns-desktop, 1)), minmax(0, 1fr));
		gap: var(--cwtb-gap-tablet, var(--cwtb-gap-desktop, 20px));
	}

	.cwtb-page-header-wrapper {
		margin-bottom: var(--cwtb-margin-tablet, var(--cwtb-margin-desktop, 0));
	}

	.cwtb-page-header__inner {
		min-height: var(--cwtb-height-tablet, var(--cwtb-height-desktop, 60px));
	}

	.cwtb-page-header__overlay {
		background: var(--cwtb-bg-overlay-tablet, var(--cwtb-bg-overlay-desktop, rgba(0, 0, 0, .25)));
	}

	.cwtb-logo--legacy-size { --cwtb-logo-legacy-width: var(--cwtb-logo-legacy-width-tablet, var(--cwtb-logo-legacy-width-desktop)); }

	.cwtb-map,
	.cwtb-hotspot-image {
		height: var(--cwtb-height-tablet);
	}

	.cwtb-social,
	.cwtb-payment-icons { gap: var(--cwtb-gap-tablet, var(--cwtb-gap-desktop, 9px)); }
	.cwtb-animation img,
	.cwtb-animation video { width: min(100%, var(--cwtb-responsive-width-tablet, var(--cwtb-responsive-width-desktop, var(--cwtb-animation-width)))); }
	.cwtb-menu ul,
	.cwtb-custom-menu ul { gap: 12px var(--cwtb-gap-tablet, var(--cwtb-gap-desktop, 18px)); }
}

@media (max-width: 549px) {
	.cwtb-instagram-feed__items {
		grid-template-columns: repeat(var(--cwtb-instagram-columns-mobile, 2), minmax(0, 1fr));
	}

	.cwtb-instagram-feed--slider .cwtb-instagram-feed__items > .col {
		flex-basis: calc((100% - (var(--cwtb-instagram-gap, 0px) * (var(--cwtb-instagram-columns-mobile, 2) - 1))) / var(--cwtb-instagram-columns-mobile, 2));
	}

	.cwtb-site-header__inner {
		display: flex;
		min-height: 70px;
	}

	.cwtb-site-nav {
		display: none;
	}

	.cwtb-site-brand {
		margin-right: auto;
	}

	.cwtb-site-actions a:first-child {
		display: none;
	}

	.cwtb-site-footer__inner {
		grid-template-columns: 1fr;
		gap: 32px;
		padding: 48px 0;
	}

	.cwtb-site-footer ul {
		align-items: flex-start;
		flex-direction: column;
		gap: 12px;
	}

	.cwtb-section {
		min-height: var(--cwtb-height-mobile, var(--cwtb-height-tablet, var(--cwtb-height-desktop, auto)));
		padding-top: var(--cwtb-padding-mobile, var(--cwtb-padding-tablet, var(--cwtb-padding-desktop, 30px)));
		padding-bottom: var(--cwtb-padding-mobile, var(--cwtb-padding-tablet, var(--cwtb-padding-desktop, 30px)));
	}

	.cwtb-section__overlay {
		background: var(--cwtb-bg-overlay-mobile, var(--cwtb-bg-overlay-tablet, var(--cwtb-bg-overlay-desktop, transparent)));
	}

	.cwtb-row {
		padding: var(--cwtb-padding-top-mobile, var(--cwtb-padding-top-tablet, 0)) var(--cwtb-padding-right-mobile, var(--cwtb-padding-right-tablet, 0)) var(--cwtb-padding-bottom-mobile, var(--cwtb-padding-bottom-tablet, 0)) var(--cwtb-padding-left-mobile, var(--cwtb-padding-left-tablet, 0));
	}

	.cwtb-force-first--mobile { order: -1; }

	.cwtb-column {
		flex-basis: var(--cwtb-column-width-mobile, var(--cwtb-column-width-tablet, 100%));
		max-width: var(--cwtb-column-width-mobile, var(--cwtb-column-width-tablet, 100%));
	}

	.cwtb-column__inner {
		max-width: var(--cwtb-max-width-mobile, var(--cwtb-max-width-tablet, var(--cwtb-max-width-desktop, none)));
		margin: var(--cwtb-margin-top-mobile, var(--cwtb-margin-top-tablet, var(--cwtb-margin-top-desktop, 0))) var(--cwtb-margin-right-mobile, var(--cwtb-margin-right-tablet, var(--cwtb-margin-right-desktop, auto))) var(--cwtb-margin-bottom-mobile, var(--cwtb-margin-bottom-tablet, var(--cwtb-margin-bottom-desktop, 0))) var(--cwtb-margin-left-mobile, var(--cwtb-margin-left-tablet, var(--cwtb-margin-left-desktop, auto)));
		padding: var(--cwtb-padding-top-mobile, var(--cwtb-padding-top-tablet, var(--cwtb-padding-top-desktop, 0))) var(--cwtb-padding-right-mobile, var(--cwtb-padding-right-tablet, var(--cwtb-padding-right-desktop, 0))) var(--cwtb-padding-bottom-mobile, var(--cwtb-padding-bottom-tablet, var(--cwtb-padding-bottom-desktop, 0))) var(--cwtb-padding-left-mobile, var(--cwtb-padding-left-tablet, var(--cwtb-padding-left-desktop, 0)));
	}

	.cwtb-row > .cwtb-column > .cwtb-column__inner {
		padding: var(--cwtb-column-padding-top-mobile, var(--cwtb-padding-top-mobile, var(--cwtb-column-style-padding-top, 0))) var(--cwtb-column-padding-right-mobile, var(--cwtb-padding-right-mobile, var(--cwtb-column-style-padding-right, 0))) var(--cwtb-column-padding-bottom-mobile, var(--cwtb-padding-bottom-mobile, var(--cwtb-column-style-padding-bottom, 0))) var(--cwtb-column-padding-left-mobile, var(--cwtb-padding-left-mobile, var(--cwtb-column-style-padding-left, 0)));
	}

	.cwtb-column__border { border-color: var(--cwtb-border-color-mobile, var(--cwtb-border-color-tablet, var(--cwtb-border-color-desktop, currentColor))) !important; }

	.cwtb-text {
		font-size: var(--cwtb-size-mobile);
	}

	.cwtb-text {
		column-count: var(--cwtb-columns-mobile, var(--cwtb-columns-tablet, 1));
	}

	.cwtb-image {
		width: var(--cwtb-width-mobile, var(--cwtb-width-tablet, 100%));
	}

	.cwtb-image__media,
	.cwtb-image > a,
	.cwtb-image > button {
		height: var(--cwtb-height-mobile, var(--cwtb-height-tablet, auto));
	}

	.cwtb-banner {
		min-height: max(var(--cwtb-height-mobile), var(--cwtb-min-height-mobile));
		padding: 36px 22px;
		background-position: center;
	}

	.cwtb-banner__content {
		width: min(100%, var(--cwtb-content-width-mobile, var(--cwtb-content-width-tablet, 100%)));
		padding: var(--cwtb-content-padding-top-mobile, var(--cwtb-content-padding-top-tablet, 0)) var(--cwtb-content-padding-right-mobile, var(--cwtb-content-padding-right-tablet, 0)) var(--cwtb-content-padding-bottom-mobile, var(--cwtb-content-padding-bottom-tablet, 0)) var(--cwtb-content-padding-left-mobile, var(--cwtb-content-padding-left-tablet, 0));
	}

	.cwtb-banner__content h2 {
		font-size: clamp(2.5rem, 14vw, 4.8rem);
	}

	.gap-element {
		padding-top: var(--cwtb-gap-height-mobile, var(--cwtb-gap-height-tablet, var(--cwtb-gap-height-desktop, 30px)));
	}

	.cwtb-products-grid,
	.cwtb-categories-grid,
	.woocommerce ul.products.cwtb-products-grid,
	.woocommerce ul.products.cwtb-categories-grid {
		grid-template-columns: repeat(var(--cwtb-columns-mobile), minmax(0, 1fr));
		gap: 18px 14px;
	}

	.cwtb-stack {
		--stack-gap: var(--cwtb-gap-mobile, var(--cwtb-gap-tablet, var(--cwtb-gap-desktop, 0rem)));
	}

	.cwtb-stack > * { --stack-gap: var(--cwtb-gap-mobile, var(--cwtb-gap-tablet, var(--cwtb-gap-desktop, 0rem))); }
	.cwtb-stack.sm\:stack-row { flex-direction: row; }
	.cwtb-stack.sm\:stack-row > * { margin: 0 !important; }
	.cwtb-stack.sm\:stack-row > * ~ * { margin-left: var(--stack-gap) !important; margin-top: 0 !important; }
	.cwtb-stack.sm\:stack-col { flex-direction: column; }
	.cwtb-stack.sm\:stack-col > * { margin: 0 !important; }
	.cwtb-stack.sm\:stack-col > * ~ * { margin-left: 0 !important; margin-top: var(--stack-gap) !important; }
	.cwtb-stack.sm\:items-stretch { align-items: stretch; }
	.cwtb-stack.sm\:items-start { align-items: flex-start; }
	.cwtb-stack.sm\:items-center { align-items: center; }
	.cwtb-stack.sm\:items-end { align-items: flex-end; }
	.cwtb-stack.sm\:items-baseline { align-items: baseline; }
	.cwtb-stack.sm\:justify-start { justify-content: flex-start; }
	.cwtb-stack.sm\:justify-center { justify-content: center; }
	.cwtb-stack.sm\:justify-end { justify-content: flex-end; }
	.cwtb-stack.sm\:justify-between { justify-content: space-between; }
	.cwtb-stack.sm\:justify-around { justify-content: space-around; }

	.cwtb-slide {
		min-height: var(--cwtb-height-mobile);
		padding: 34px 22px 58px;
	}

	.cwtb-slider { margin-bottom: var(--cwtb-margin-mobile, var(--cwtb-margin-tablet, var(--cwtb-margin-desktop, 0))); }

	.cwtb-slider__track > * {
		flex-basis: var(--cwtb-slide-width-mobile, var(--cwtb-slide-width-tablet, var(--cwtb-slide-width-desktop, 100%)));
	}

	.cwtb-slide__inner {
		width: min(100%, var(--cwtb-content-width-mobile, var(--cwtb-content-width-tablet, var(--cwtb-content-width-desktop, 100%))));
		padding: var(--cwtb-content-padding-top-mobile, var(--cwtb-content-padding-top-tablet, 0)) var(--cwtb-content-padding-right-mobile, var(--cwtb-content-padding-right-tablet, 0)) var(--cwtb-content-padding-bottom-mobile, var(--cwtb-content-padding-bottom-tablet, 0)) var(--cwtb-content-padding-left-mobile, var(--cwtb-content-padding-left-tablet, 0));
	}

	.cwtb-slider--hide-mobile {
		display: none;
	}

	.cwtb-slider__arrow {
		display: none;
	}

	.cwtb-button--mobile-icon-only > span:not(.dashicons) {
		display: none;
	}

	.cwtb-button--mobile-icon-only {
		width: 44px;
		height: 44px;
		min-height: 44px;
		padding: 0;
		border-radius: 50%;
	}

	.cwtb-slider__arrow {
		width: 38px;
		height: 38px;
	}

	.cwtb-slider__arrow--prev {
		left: 10px;
	}

	.cwtb-slider__arrow--next {
		right: 10px;
	}

	.cwtb-gallery,
	.cwtb-instagram-grid,
	.cwtb-content-grid {
		grid-template-columns: repeat(var(--cwtb-columns-mobile), minmax(0, 1fr));
		gap: var(--cwtb-gap-mobile, 14px);
	}

	.cwtb-text-box {
		width: min(100%, var(--cwtb-width-mobile));
		padding: var(--cwtb-padding-box-top-mobile, var(--cwtb-padding-mobile)) var(--cwtb-padding-box-right-mobile, var(--cwtb-padding-mobile)) var(--cwtb-padding-box-bottom-mobile, var(--cwtb-padding-mobile)) var(--cwtb-padding-box-left-mobile, var(--cwtb-padding-mobile));
	}

	.cwtb-text-box--positioned {
		top: var(--cwtb-position-y-mobile, var(--cwtb-position-y-tablet, var(--cwtb-position-y-desktop, 50%)));
		left: var(--cwtb-position-x-mobile, var(--cwtb-position-x-tablet, var(--cwtb-position-x-desktop, 50%)));
	}

	.cwtb-layout .cwtb-image-box.box-vertical,
	.cwtb-layout .cwtb-image-box.box-vertical.image-right { flex-direction: column; }
	.cwtb-layout .cwtb-image-box.box-vertical .box-image { width: 100% !important; }

	.cwtb-gallery-layout--masonry,
	.cwtb-content-layout--masonry .cwtb-content-grid,
	.cwtb-content-layout--masonry.cwtb-product-list .cwtb-product-list__items,
	.cwtb-product-layout--masonry .cwtb-products-grid,
	.cwtb-product-layout--masonry .cwtb-categories-grid {
		columns: var(--cwtb-columns-mobile, var(--cwtb-columns-tablet, 1));
		column-gap: var(--cwtb-gap-mobile, var(--cwtb-gap-tablet, 14px));
	}

	.cwtb-content-layout--list .cwtb-content-card,
	.cwtb-product-layout--list ul.products li.product,
	.cwtb-product-list__item {
		grid-template-columns: 1fr;
	}

	.cwtb-product-list__items {
		grid-template-columns: repeat(var(--cwtb-columns-mobile, var(--cwtb-columns-tablet, 1)), minmax(0, 1fr));
		gap: var(--cwtb-gap-mobile, var(--cwtb-gap-tablet, 14px));
	}

	.cwtb-page-header-wrapper {
		margin-bottom: var(--cwtb-margin-mobile, var(--cwtb-margin-tablet, var(--cwtb-margin-desktop, 0)));
	}

	.cwtb-page-header__inner {
		min-height: var(--cwtb-height-mobile, var(--cwtb-height-tablet, var(--cwtb-height-desktop, 60px)));
	}

	.cwtb-page-header__overlay {
		background: var(--cwtb-bg-overlay-mobile, var(--cwtb-bg-overlay-tablet, var(--cwtb-bg-overlay-desktop, rgba(0, 0, 0, .25))));
	}

	.cwtb-logo--legacy-size { --cwtb-logo-legacy-width: var(--cwtb-logo-legacy-width-mobile, var(--cwtb-logo-legacy-width-tablet, var(--cwtb-logo-legacy-width-desktop))); }

	.cwtb-map,
	.cwtb-hotspot-image {
		height: var(--cwtb-height-mobile);
	}

	.cwtb-social,
	.cwtb-payment-icons { gap: var(--cwtb-gap-mobile, var(--cwtb-gap-tablet, 8px)); }
	.cwtb-animation img,
	.cwtb-animation video { width: min(100%, var(--cwtb-responsive-width-mobile, var(--cwtb-responsive-width-tablet, var(--cwtb-animation-width)))); }
	.cwtb-menu ul,
	.cwtb-custom-menu ul { gap: 12px var(--cwtb-gap-mobile, var(--cwtb-gap-tablet, 12px)); }

}

@media (prefers-reduced-motion: reduce) {
	html {
		scroll-behavior: auto;
	}

	*,
	*::before,
	*::after {
		scroll-behavior: auto !important;
		transition-duration: 0.01ms !important;
	}
}

.cwtb-preview-add {
	display: grid;
	place-items: center;
	gap: 6px;
	width: 100%;
	min-height: 128px;
	padding: 20px;
	border: 2px dashed #8bc7ef;
	border-radius: 6px;
	background: #f5fbff;
	color: #087fbf;
	font: inherit;
	font-weight: 650;
	cursor: pointer;
}

.cwtb-preview-add span {
	display: grid;
	place-items: center;
	width: 30px;
	height: 30px;
	border-radius: 50%;
	background: #0ea5d8;
	color: #ffffff;
	font-size: 22px;
	line-height: 1;
}

/* 组件通用视觉设置。 */
.cwtb-element-options {
	transition: box-shadow 180ms ease-out, opacity 180ms ease-out, transform 180ms ease-out;
}

.cwtb-has-element-margin-top {
	margin-top: var(--cwtb-element-margin-top-desktop);
}

.cwtb-has-element-margin-right {
	margin-right: var(--cwtb-element-margin-right-desktop);
}

.cwtb-has-element-margin-bottom {
	margin-bottom: var(--cwtb-element-margin-bottom-desktop);
}

.cwtb-has-element-margin-left {
	margin-left: var(--cwtb-element-margin-left-desktop);
}

.cwtb-has-element-padding-top {
	padding-top: var(--cwtb-element-padding-top-desktop);
}

.cwtb-has-element-padding-right {
	padding-right: var(--cwtb-element-padding-right-desktop);
}

.cwtb-has-element-padding-bottom {
	padding-bottom: var(--cwtb-element-padding-bottom-desktop);
}

.cwtb-has-element-padding-left {
	padding-left: var(--cwtb-element-padding-left-desktop);
}

.cwtb-has-element-width {
	width: var(--cwtb-element-width-desktop);
}

.cwtb-has-element-max-width {
	max-width: var(--cwtb-element-max-width-desktop);
}

.cwtb-depth-1 {
	box-shadow: 0 2px 5px rgb(15 23 42 / 12%);
}

.cwtb-depth-2 {
	box-shadow: 0 4px 10px rgb(15 23 42 / 15%);
}

.cwtb-depth-3 {
	box-shadow: 0 8px 18px rgb(15 23 42 / 18%);
}

.cwtb-depth-4 {
	box-shadow: 0 14px 28px rgb(15 23 42 / 21%);
}

.cwtb-depth-5 {
	box-shadow: 0 22px 44px rgb(15 23 42 / 24%);
}

.cwtb-depth-hover-1:hover {
	box-shadow: 0 2px 5px rgb(15 23 42 / 12%);
}

.cwtb-depth-hover-2:hover {
	box-shadow: 0 4px 10px rgb(15 23 42 / 15%);
}

.cwtb-depth-hover-3:hover {
	box-shadow: 0 8px 18px rgb(15 23 42 / 18%);
}

.cwtb-depth-hover-4:hover {
	box-shadow: 0 14px 28px rgb(15 23 42 / 21%);
}

.cwtb-depth-hover-5:hover {
	box-shadow: 0 22px 44px rgb(15 23 42 / 24%);
}

.cwtb-visible-hidden {
	display: none !important;
}

.hidden,
.show-for-medium,
.show-for-small {
	display: none !important;
}

/* 完整按钮设置。 */
.cwtb-button-wrap--expand,
.cwtb-button--expand {
	width: 100%;
}

.cwtb-button {
	--cwtb-button-bg: var(--cwtb-accent);
	--cwtb-button-bg-hover: var(--cwtb-accent-dark);
	--cwtb-button-text: #ffffff;
	--cwtb-button-pad-y: 12px;
	--cwtb-button-pad-x: 24px;
	position: relative;
	overflow: hidden;
	gap: 0.55em;
	padding: var(--cwtb-padding-top-desktop, var(--cwtb-button-pad-y)) var(--cwtb-padding-right-desktop, var(--cwtb-button-pad-x)) var(--cwtb-padding-bottom-desktop, var(--cwtb-button-pad-y)) var(--cwtb-padding-left-desktop, var(--cwtb-button-pad-x));
	border-radius: var(--cwtb-button-radius, 0);
	background: var(--cwtb-button-bg);
	color: var(--cwtb-button-text);
	transition: background-color 180ms ease-out, border-color 180ms ease-out, box-shadow 180ms ease-out, color 180ms ease-out, transform 180ms ease-out;
}

.cwtb-button:hover {
	background: var(--cwtb-button-bg-hover);
	color: var(--cwtb-button-text);
}

.cwtb-button .dashicons {
	width: 1em;
	height: 1em;
	font-size: 1.15em;
	line-height: 1;
}

.cwtb-button--case-uppercase {
	text-transform: uppercase;
}

.cwtb-button--case-normal {
	text-transform: none;
}

.cwtb-button--color-secondary {
	--cwtb-button-bg: #334155;
	--cwtb-button-bg-hover: #1e293b;
}

.cwtb-button--color-alert {
	--cwtb-button-bg: #c9363e;
	--cwtb-button-bg-hover: #a7252c;
}

.cwtb-button--color-success {
	--cwtb-button-bg: #2f855a;
	--cwtb-button-bg-hover: #236b48;
}

.cwtb-button--color-white {
	--cwtb-button-bg: #ffffff;
	--cwtb-button-bg-hover: #edf1f4;
	--cwtb-button-text: #151719;
}

.cwtb-button--outline {
	border-color: var(--cwtb-button-bg);
	background: transparent;
	color: var(--cwtb-button-bg);
}

.cwtb-button--outline:hover {
	border-color: var(--cwtb-button-bg);
	background: var(--cwtb-button-bg);
	color: var(--cwtb-button-text);
}

.cwtb-button--link,
.cwtb-button--underline {
	min-height: auto;
	padding-top: 4px;
	padding-right: 0;
	padding-bottom: 4px;
	padding-left: 0;
	border: 0;
	border-radius: 0;
	background: transparent;
	color: var(--cwtb-button-bg);
}

.cwtb-button--link:hover,
.cwtb-button--underline:hover {
	background: transparent;
	color: var(--cwtb-button-bg-hover);
}

.cwtb-button--underline::after {
	position: absolute;
	right: 0;
	bottom: 0;
	left: 0;
	height: 2px;
	transform: scaleX(0.35);
	transform-origin: left;
	background: currentcolor;
	content: "";
	transition: transform 180ms ease-out;
}

.cwtb-button--underline:hover::after {
	transform: scaleX(1);
}

.cwtb-button--shade {
	background: linear-gradient(to bottom, color-mix(in srgb, var(--cwtb-button-bg) 84%, white), var(--cwtb-button-bg));
}

.cwtb-button--bevel {
	border-color: color-mix(in srgb, var(--cwtb-button-bg) 78%, black);
	box-shadow: inset 0 2px 0 rgb(255 255 255 / 28%), inset 0 -2px 0 rgb(0 0 0 / 18%);
}

.cwtb-button--gloss::before {
	position: absolute;
	top: 0;
	right: 0;
	left: 0;
	height: 48%;
	background: linear-gradient(to bottom, rgb(255 255 255 / 34%), rgb(255 255 255 / 4%));
	content: "";
	pointer-events: none;
}

.cwtb-button--icon {
	width: 58px;
	height: 58px;
	padding: 0;
	border-radius: 50%;
}

.cwtb-button--icon > span:not(.dashicons) {
	display: none;
}

.cwtb-button--size-xsmall {
	--cwtb-button-pad-y: 6px;
	--cwtb-button-pad-x: 12px;
	min-height: 32px;
	font-size: 11px;
}

.cwtb-button--size-small {
	--cwtb-button-pad-y: 9px;
	--cwtb-button-pad-x: 17px;
	min-height: 40px;
	font-size: 13px;
}

.cwtb-button--size-large {
	--cwtb-button-pad-y: 15px;
	--cwtb-button-pad-x: 30px;
	min-height: 56px;
	font-size: 17px;
}

.cwtb-button--size-xlarge {
	--cwtb-button-pad-y: 18px;
	--cwtb-button-pad-x: 36px;
	min-height: 64px;
	font-size: 19px;
}

.cwtb-button--reveal-icon .dashicons {
	width: 1em;
	opacity: 0;
	transform: translateX(-6px) scale(0.75);
	transition: opacity 180ms ease-out, transform 180ms ease-out;
}

.cwtb-button--reveal-icon:hover .dashicons,
.cwtb-button--reveal-icon:focus-visible .dashicons {
	opacity: 1;
	transform: translateX(0) scale(1);
}

/* 入场动画。 */
[data-cwtb-animate="fade-left"],
[data-cwtb-animate="fadeInLeft"] { animation: cwtb-fade-left 560ms cubic-bezier(0.16, 1, 0.3, 1) both; }
[data-cwtb-animate="fade-right"],
[data-cwtb-animate="fadeInRight"] { animation: cwtb-fade-right 560ms cubic-bezier(0.16, 1, 0.3, 1) both; }
[data-cwtb-animate="fade-up"],
[data-cwtb-animate="fadeInUp"] { animation: cwtb-fade-up 560ms cubic-bezier(0.16, 1, 0.3, 1) both; }
[data-cwtb-animate="fade-down"],
[data-cwtb-animate="fadeInDown"] { animation: cwtb-fade-down 560ms cubic-bezier(0.16, 1, 0.3, 1) both; }
[data-cwtb-animate="bounce"],
[data-cwtb-animate^="bounce-"],
[data-cwtb-animate="bounceIn"],
[data-cwtb-animate="bounceInUp"],
[data-cwtb-animate="bounceInDown"],
[data-cwtb-animate="bounceInLeft"],
[data-cwtb-animate="bounceInRight"] { animation: cwtb-pop 640ms cubic-bezier(0.16, 1, 0.3, 1) both; }
[data-cwtb-animate="blur"],
[data-cwtb-animate="blurIn"] { animation: cwtb-blur 600ms cubic-bezier(0.16, 1, 0.3, 1) both; }
[data-cwtb-animate="flip-x"],
[data-cwtb-animate="flipInX"] { animation: cwtb-flip-x 620ms cubic-bezier(0.16, 1, 0.3, 1) both; }
[data-cwtb-animate="flip-y"],
[data-cwtb-animate="flipInY"] { animation: cwtb-flip-y 620ms cubic-bezier(0.16, 1, 0.3, 1) both; }

@keyframes cwtb-fade-left { from { opacity: 0; transform: translateX(-28px); } }
@keyframes cwtb-fade-right { from { opacity: 0; transform: translateX(28px); } }
@keyframes cwtb-fade-up { from { opacity: 0; transform: translateY(28px); } }
@keyframes cwtb-fade-down { from { opacity: 0; transform: translateY(-28px); } }
@keyframes cwtb-pop { 0% { opacity: 0; transform: scale(0.84); } 65% { transform: scale(1.04); } }
@keyframes cwtb-blur { from { opacity: 0; filter: blur(14px); transform: scale(0.98); } }
@keyframes cwtb-flip-x { from { opacity: 0; transform: perspective(700px) rotateX(42deg); } }
@keyframes cwtb-flip-y { from { opacity: 0; transform: perspective(700px) rotateY(42deg); } }

@media (max-width: 849px) {
	.cwtb-has-element-margin-top { margin-top: var(--cwtb-element-margin-top-tablet, var(--cwtb-element-margin-top-desktop)); }
	.cwtb-has-element-margin-right { margin-right: var(--cwtb-element-margin-right-tablet, var(--cwtb-element-margin-right-desktop)); }
	.cwtb-has-element-margin-bottom { margin-bottom: var(--cwtb-element-margin-bottom-tablet, var(--cwtb-element-margin-bottom-desktop)); }
	.cwtb-has-element-margin-left { margin-left: var(--cwtb-element-margin-left-tablet, var(--cwtb-element-margin-left-desktop)); }
	.cwtb-has-element-padding-top { padding-top: var(--cwtb-element-padding-top-tablet, var(--cwtb-element-padding-top-desktop)); }
	.cwtb-has-element-padding-right { padding-right: var(--cwtb-element-padding-right-tablet, var(--cwtb-element-padding-right-desktop)); }
	.cwtb-has-element-padding-bottom { padding-bottom: var(--cwtb-element-padding-bottom-tablet, var(--cwtb-element-padding-bottom-desktop)); }
	.cwtb-has-element-padding-left { padding-left: var(--cwtb-element-padding-left-tablet, var(--cwtb-element-padding-left-desktop)); }
	.cwtb-has-element-width { width: var(--cwtb-element-width-tablet, var(--cwtb-element-width-desktop)); }
	.cwtb-has-element-max-width { max-width: var(--cwtb-element-max-width-tablet, var(--cwtb-element-max-width-desktop)); }
	.cwtb-button { padding: var(--cwtb-padding-top-tablet, var(--cwtb-padding-top-desktop, var(--cwtb-button-pad-y))) var(--cwtb-padding-right-tablet, var(--cwtb-padding-right-desktop, var(--cwtb-button-pad-x))) var(--cwtb-padding-bottom-tablet, var(--cwtb-padding-bottom-desktop, var(--cwtb-button-pad-y))) var(--cwtb-padding-left-tablet, var(--cwtb-padding-left-desktop, var(--cwtb-button-pad-x))); }
	.cwtb-visible-desktop-only { display: none !important; }
	.hide-for-medium { display: none !important; }
	.show-for-medium { display: block !important; }
}

@media (min-width: 1025px) {
	.cwtb-visible-tablet-only,
	.cwtb-visible-mobile-only,
	.cwtb-visible-not-desktop { display: none !important; }
}

@media (max-width: 549px) {
	.cwtb-has-element-margin-top { margin-top: var(--cwtb-element-margin-top-mobile, var(--cwtb-element-margin-top-tablet, var(--cwtb-element-margin-top-desktop))); }
	.cwtb-has-element-margin-right { margin-right: var(--cwtb-element-margin-right-mobile, var(--cwtb-element-margin-right-tablet, var(--cwtb-element-margin-right-desktop))); }
	.cwtb-has-element-margin-bottom { margin-bottom: var(--cwtb-element-margin-bottom-mobile, var(--cwtb-element-margin-bottom-tablet, var(--cwtb-element-margin-bottom-desktop))); }
	.cwtb-has-element-margin-left { margin-left: var(--cwtb-element-margin-left-mobile, var(--cwtb-element-margin-left-tablet, var(--cwtb-element-margin-left-desktop))); }
	.cwtb-has-element-padding-top { padding-top: var(--cwtb-element-padding-top-mobile, var(--cwtb-element-padding-top-tablet, var(--cwtb-element-padding-top-desktop))); }
	.cwtb-has-element-padding-right { padding-right: var(--cwtb-element-padding-right-mobile, var(--cwtb-element-padding-right-tablet, var(--cwtb-element-padding-right-desktop))); }
	.cwtb-has-element-padding-bottom { padding-bottom: var(--cwtb-element-padding-bottom-mobile, var(--cwtb-element-padding-bottom-tablet, var(--cwtb-element-padding-bottom-desktop))); }
	.cwtb-has-element-padding-left { padding-left: var(--cwtb-element-padding-left-mobile, var(--cwtb-element-padding-left-tablet, var(--cwtb-element-padding-left-desktop))); }
	.cwtb-has-element-width { width: var(--cwtb-element-width-mobile, var(--cwtb-element-width-tablet, var(--cwtb-element-width-desktop))); }
	.cwtb-has-element-max-width { max-width: var(--cwtb-element-max-width-mobile, var(--cwtb-element-max-width-tablet, var(--cwtb-element-max-width-desktop))); }
	.cwtb-button { padding: var(--cwtb-padding-top-mobile, var(--cwtb-padding-top-tablet, var(--cwtb-padding-top-desktop, var(--cwtb-button-pad-y)))) var(--cwtb-padding-right-mobile, var(--cwtb-padding-right-tablet, var(--cwtb-padding-right-desktop, var(--cwtb-button-pad-x)))) var(--cwtb-padding-bottom-mobile, var(--cwtb-padding-bottom-tablet, var(--cwtb-padding-bottom-desktop, var(--cwtb-button-pad-y)))) var(--cwtb-padding-left-mobile, var(--cwtb-padding-left-tablet, var(--cwtb-padding-left-desktop, var(--cwtb-button-pad-x)))); }
	.cwtb-visible-tablet-only,
	.cwtb-visible-not-mobile { display: none !important; }
	.hide-for-small { display: none !important; }
	.show-for-small { display: block !important; }
}

@media (min-width: 701px) {
	.cwtb-visible-mobile-only { display: none !important; }
}

@media (prefers-reduced-motion: reduce) {
	[data-cwtb-animate] {
		animation: none !important;
	}
}

/* 可视化图层、背景效果与完整组件。 */
.cwtb-positioned-layer {
	position: absolute !important;
	top: var(--cwtb-position-top-desktop, 50.3%) !important;
	right: var(--cwtb-position-right-desktop, auto) !important;
	bottom: var(--cwtb-position-bottom-desktop, auto) !important;
	left: var(--cwtb-position-left-desktop, 50%) !important;
	z-index: var(--cwtb-position-z, 1) !important;
	box-sizing: border-box;
	width: var(--cwtb-position-width-desktop, 50%) !important;
	max-width: none !important;
	margin: 0 !important;
	transform: translate(var(--cwtb-position-translate-x-desktop, -50%), var(--cwtb-position-translate-y-desktop, -50%)) rotate(var(--cwtb-position-rotate-desktop, 0deg)) scale(calc(var(--cwtb-position-scale-desktop, 100) / 100));
	transform-origin: center;
}

.cwtb-positioned-layer--locked {
	cursor: default;
}

.cwtb-section,
.cwtb-banner,
.cwtb-slide,
.cwtb-page-header,
.cwtb-grid-cell {
	isolation: isolate;
}

.cwtb-background-video,
.cwtb-background-effect {
	position: absolute;
	z-index: -2;
	inset: 0;
	width: 100%;
	height: 100%;
	pointer-events: none;
}

.cwtb-background-video {
	object-fit: cover;
}

.cwtb-background-effect {
	z-index: 0;
	overflow: hidden;
}

.cwtb-background-effect i {
	position: absolute;
	top: -12%;
	left: calc(var(--cwtb-effect-index, 1) * 15%);
	width: 8px;
	height: 8px;
	border-radius: 50%;
	background: currentcolor;
	color: rgb(255 255 255 / 72%);
	animation: cwtb-effect-fall calc(5s + var(--cwtb-effect-index, 1) * .7s) linear infinite;
}

.cwtb-background-effect i:nth-child(1) { --cwtb-effect-index: 1; }
.cwtb-background-effect i:nth-child(2) { --cwtb-effect-index: 2; animation-delay: -1.4s; }
.cwtb-background-effect i:nth-child(3) { --cwtb-effect-index: 3; animation-delay: -3.1s; }
.cwtb-background-effect i:nth-child(4) { --cwtb-effect-index: 4; animation-delay: -.8s; }
.cwtb-background-effect i:nth-child(5) { --cwtb-effect-index: 5; animation-delay: -4.2s; }
.cwtb-background-effect i:nth-child(6) { --cwtb-effect-index: 6; animation-delay: -2.4s; }
.cwtb-background-effect--confetti i { border-radius: 1px; color: #ffd84d; }
.cwtb-background-effect--confetti i:nth-child(even) { color: #ff5d73; }
.cwtb-background-effect--sparkle i { box-shadow: 0 0 14px 5px currentcolor; animation-name: cwtb-effect-sparkle; }
.cwtb-background-effect--rain i { width: 2px; height: 38px; border-radius: 2px; color: rgb(190 225 255 / 55%); }
.cwtb-background-effect--glass i { top: 0; left: -35%; width: 28%; height: 100%; border-radius: 0; background: linear-gradient(90deg, transparent, rgb(255 255 255 / 24%), transparent); animation: cwtb-effect-glass 5s ease-in-out infinite; }
.cwtb-background-effect--glass i:not(:first-child) { display: none; }

@keyframes cwtb-effect-fall { to { translate: 18px 125vh; rotate: 220deg; } }
@keyframes cwtb-effect-sparkle { 0%, 100% { opacity: .15; scale: .55; } 50% { opacity: 1; scale: 1.15; } }
@keyframes cwtb-effect-glass { 55%, 100% { translate: 520% 0; } }

.cwtb-shape-divider {
	position: absolute;
	z-index: 5;
	right: 0;
	left: 0;
	height: var(--cwtb-shape-top-height-desktop, var(--cwtb-shape-bottom-height-desktop, 60px));
	background: var(--cwtb-shape-color, #fff);
	pointer-events: none;
}

.cwtb-shape-divider--top { top: -1px; }
.cwtb-shape-divider--bottom { bottom: -1px; }
.cwtb-shape-divider--angle { clip-path: polygon(0 0, 100% 0, 100% 20%, 0 100%); }
.cwtb-shape-divider--angle.cwtb-shape-divider--bottom { clip-path: polygon(0 80%, 100% 0, 100% 100%, 0 100%); }
.cwtb-shape-divider--wave { clip-path: ellipse(70% 55% at 50% 0); }
.cwtb-shape-divider--wave.cwtb-shape-divider--bottom { clip-path: ellipse(70% 55% at 50% 100%); }
.cwtb-shape-divider--curve { clip-path: ellipse(85% 80% at 50% 0); }
.cwtb-shape-divider--curve.cwtb-shape-divider--bottom { clip-path: ellipse(85% 80% at 50% 100%); }
.cwtb-shape-divider--triangle { clip-path: polygon(0 0, 50% 100%, 100% 0); }
.cwtb-shape-divider--triangle.cwtb-shape-divider--bottom { clip-path: polygon(0 100%, 50% 0, 100% 100%); }
.cwtb-shape-divider--arrow { clip-path: polygon(0 0, 42% 0, 50% 100%, 58% 0, 100% 0); }
.cwtb-shape-divider--arrow.cwtb-shape-divider--bottom { clip-path: polygon(0 100%, 42% 100%, 50% 0, 58% 100%, 100% 100%); }
.cwtb-shape-divider--flip { transform: scaleX(-1); }

.cwtb-banner-grid-wrapper {
	width: 100%;
	max-width: 1080px;
	margin-inline: auto;
}

.cwtb-banner-grid {
	--cwtb-grid-height: var(--cwtb-height-desktop, 600px);
	--cwtb-grid-pad-x: 15px;
	--cwtb-grid-pad-bottom: 30px;
	display: grid;
	grid-template-columns: repeat(12, minmax(0, 1fr));
	grid-template-rows: repeat(12, calc(var(--cwtb-grid-height) / 12));
	grid-auto-flow: dense;
	width: calc(100% + (var(--cwtb-grid-pad-x) * 2));
	height: var(--cwtb-grid-height);
	margin-inline: calc(var(--cwtb-grid-pad-x) * -1);
}

.cwtb-banner-grid.cwtb-row-xsmall {
	--cwtb-grid-pad-x: 2px;
	--cwtb-grid-pad-bottom: 3px;
	max-width: 1054px;
}

.cwtb-banner-grid.cwtb-row-small {
	--cwtb-grid-pad-x: 9.8px;
	--cwtb-grid-pad-bottom: 19.6px;
	max-width: 1065px;
}

.cwtb-banner-grid.cwtb-row-large {
	--cwtb-grid-pad-x: 30px;
	--cwtb-grid-pad-bottom: 30px;
	max-width: 1110px;
}

.cwtb-banner-grid.cwtb-row-collapse {
	--cwtb-grid-pad-x: 0px;
	--cwtb-grid-pad-bottom: 0px;
	width: 100%;
	max-width: 1050px;
	margin-inline: 0;
}

.cwtb-banner-grid.cwtb-row-full-width {
	max-width: none;
}

.cwtb-grid-cell {
	position: relative;
	min-width: 0;
	padding: 0 var(--cwtb-grid-pad-x) var(--cwtb-grid-pad-bottom);
	grid-column: span var(--cwtb-span-desktop, 12);
	grid-row: auto / span 12;
}

.cwtb-grid-cell-height-1 { grid-row: auto / span 12; }
.cwtb-grid-cell-height-1-2 { grid-row: auto / span 6; }
.cwtb-grid-cell-height-1-3 { grid-row: auto / span 4; }
.cwtb-grid-cell-height-2-3 { grid-row: auto / span 8; }
.cwtb-grid-cell-height-1-4 { grid-row: auto / span 3; }
.cwtb-grid-cell-height-3-4 { grid-row: auto / span 9; }

.cwtb-grid-cell__inner {
	position: relative;
	width: 100%;
	height: 100%;
	overflow: hidden;
	transition: box-shadow 180ms ease-out, transform 180ms ease-out;
}

.cwtb-row-box-shadow-1 > .cwtb-grid-cell > .cwtb-grid-cell__inner { box-shadow: 0 1px 3px -2px rgb(0 0 0 / 12%), 0 1px 2px rgb(0 0 0 / 24%); }
.cwtb-row-box-shadow-2 > .cwtb-grid-cell > .cwtb-grid-cell__inner { box-shadow: 0 3px 6px -4px rgb(0 0 0 / 16%), 0 3px 6px rgb(0 0 0 / 23%); }
.cwtb-row-box-shadow-3 > .cwtb-grid-cell > .cwtb-grid-cell__inner { box-shadow: 0 10px 20px rgb(0 0 0 / 19%), 0 6px 6px rgb(0 0 0 / 22%); }
.cwtb-row-box-shadow-4 > .cwtb-grid-cell > .cwtb-grid-cell__inner { box-shadow: 0 14px 28px rgb(0 0 0 / 25%), 0 10px 10px rgb(0 0 0 / 10%); }
.cwtb-row-box-shadow-5 > .cwtb-grid-cell > .cwtb-grid-cell__inner { box-shadow: 0 30px 40px rgb(0 0 0 / 20%); }
.cwtb-row-box-shadow-1-hover > .cwtb-grid-cell:hover > .cwtb-grid-cell__inner { box-shadow: 0 1px 3px -2px rgb(0 0 0 / 12%), 0 1px 2px rgb(0 0 0 / 24%); }
.cwtb-row-box-shadow-2-hover > .cwtb-grid-cell:hover > .cwtb-grid-cell__inner { box-shadow: 0 3px 6px -4px rgb(0 0 0 / 16%), 0 3px 6px rgb(0 0 0 / 23%); }
.cwtb-row-box-shadow-3-hover > .cwtb-grid-cell:hover > .cwtb-grid-cell__inner { box-shadow: 0 10px 20px rgb(0 0 0 / 19%), 0 6px 6px rgb(0 0 0 / 22%); }
.cwtb-row-box-shadow-4-hover > .cwtb-grid-cell:hover > .cwtb-grid-cell__inner { box-shadow: 0 14px 28px rgb(0 0 0 / 25%), 0 10px 10px rgb(0 0 0 / 10%); transform: translateY(-6px); }
.cwtb-row-box-shadow-5-hover > .cwtb-grid-cell:hover > .cwtb-grid-cell__inner { box-shadow: 0 30px 40px rgb(0 0 0 / 20%); transform: translateY(-6px); }

.cwtb-grid-cell__inner > .cwtb-banner,
.cwtb-grid-cell__inner > .cwtb-slider,
.cwtb-grid-cell__inner > .cwtb-slider-wrapper,
.cwtb-grid-cell__inner > .cwtb-image,
.cwtb-grid-cell__inner > .cwtb-lottie {
	position: absolute !important;
	inset: 0;
	width: 100%;
	height: 100%;
	min-height: 100%;
	margin: 0;
	padding: 0 !important;
}

.cwtb-grid-cell__inner > .cwtb-image img,
.cwtb-grid-cell__inner > .cwtb-banner img {
	width: 100%;
	height: 100%;
	object-fit: cover;
}

.cwtb-price-bullet {
	display: flex;
	align-items: center;
	gap: 8px;
}
.cwtb-price-bullet.is-disabled { opacity: .45; text-decoration: line-through; }
.cwtb-price-bullet__help { display: inline-grid; place-items: center; width: 18px; height: 18px; border-radius: 50%; background: var(--cwtb-price-accent); color: #fff; font-size: 11px; }

.cwtb-map__card {
	position: absolute;
	z-index: 2;
	top: var(--cwtb-position-top-desktop, auto);
	right: var(--cwtb-position-right-desktop, 5%);
	bottom: var(--cwtb-position-bottom-desktop, 5%);
	left: var(--cwtb-position-left-desktop, auto);
	box-sizing: border-box;
	width: var(--cwtb-content-width-desktop, 30%);
	max-width: calc(100% - 30px);
	padding: 30px;
	transform: translate(var(--cwtb-position-translate-x-desktop, 0%), var(--cwtb-position-translate-y-desktop, 0%));
	background: var(--cwtb-map-card-bg, #fff);
	box-shadow: 0 18px 45px rgb(15 23 42 / 18%);
}

.cwtb-payment-icons span { width: 54px; height: 31px; min-height: 0; padding: 0; overflow: hidden; }
.cwtb-payment-icons svg { display: block; width: 100%; height: 100%; }
.cwtb-payment-icons-size--small span { width: 44px; height: 26px; min-height: 0; padding: 0; }
.cwtb-payment-icons-size--large span { width: 68px; height: 38px; min-height: 0; padding: 0; }

.cwtb-lottie,
.ux-lottie {
	position: relative;
	display: block;
	width: var(--cwtb-width-desktop, 100%);
	height: var(--cwtb-height-desktop, 300px);
}
.cwtb-lottie > a { display: block; width: 100%; height: 100%; color: inherit; }
.cwtb-lottie__canvas,
.ux-lottie__player {
	display: block;
	box-sizing: border-box;
	width: 100%;
	height: 100%;
	margin: var(--cwtb-margin-desktop, 0);
	padding: var(--cwtb-padding-desktop, 0);
}
.cwtb-lottie__canvas svg { display: block; width: 100% !important; height: 100% !important; }
.cwtb-lottie.is-error .ux-lottie__player { display: grid; place-items: center; border: 1px dashed currentcolor; opacity: .65; }
.cwtb-lottie__controls { position: absolute; z-index: 3; right: 12px; bottom: 12px; left: 12px; display: flex; align-items: center; gap: 8px; padding: 8px; border-radius: 8px; background: rgb(15 23 42 / 72%); }
.cwtb-lottie__controls button { border: 0; background: transparent; color: #fff; cursor: pointer; }
.cwtb-lottie__controls input { flex: 1; }

.cwtb-icon-wrap { display: flex; }
.cwtb-icon-wrap--center { justify-content: center; }
.cwtb-icon-wrap--right { justify-content: flex-end; }
.cwtb-icon-wrap > a { color: inherit; text-decoration: none; }
.cwtb-standalone-icon { display: inline-grid; place-items: center; width: var(--cwtb-size-desktop, 40px); height: var(--cwtb-size-desktop, 40px); color: var(--cwtb-icon-color, currentcolor); }
.cwtb-standalone-icon .dashicons { width: 1em; height: 1em; font-size: inherit; }
.cwtb-standalone-icon--circle,
.cwtb-standalone-icon--square { background: var(--cwtb-icon-bg, currentcolor); color: #fff; }
.cwtb-standalone-icon--circle { border-radius: 50%; }
.cwtb-standalone-icon--outline { border: 2px solid currentcolor; border-radius: 50%; }

.cwtb-page-title,
.cwtb-page-excerpt { font-size: var(--cwtb-size-desktop); }

.nav-wrapper > .nav { position: relative; display: flex; align-items: center; flex-flow: row wrap; width: 100%; margin: 0; padding: 0; }
.nav-wrapper > .nav > li { position: relative; display: inline-block; margin: 0 7px; padding: 0; list-style: none; }
.nav-wrapper > .nav > li:first-child { margin-left: 0; }
.nav-wrapper > .nav > li:last-child { margin-right: 0; }
.nav-wrapper > .nav > li > a { position: relative; display: inline-flex; align-items: center; flex-wrap: wrap; padding: 10px 0; color: rgb(102 102 102 / 85%); text-decoration: none; transition: color .2s; }
.nav-wrapper > .nav > li.active > a,
.nav-wrapper > .nav > li > a:hover { color: rgb(18 18 18 / 85%); }
.nav-wrapper > .nav.nav-uppercase > li > a { font-weight: 700; letter-spacing: .02em; text-transform: uppercase; }
.nav-wrapper > .nav.nav-left { justify-content: flex-start; }
.nav-wrapper > .nav.nav-center { justify-content: center; }
.nav-wrapper > .nav.nav-right { justify-content: flex-end; }
.nav-wrapper > .nav.nav-vertical { flex-flow: column; align-items: stretch; width: 25%; padding-top: 0; }
.nav-wrapper > .nav.nav-vertical > li { display: flex; align-items: center; flex-flow: row wrap; width: 100%; margin: 0; }
.nav-wrapper > .nav.nav-vertical > li + li { border-top: 1px solid #ececec; }
.nav-wrapper > .nav.nav-vertical > li > a { flex-grow: 1; width: auto; padding-top: 15px; padding-bottom: 15px; }
.nav-wrapper > .nav.nav-size-xsmall > li > a { font-size: .65em; }
.nav-wrapper > .nav.nav-size-small > li > a { font-size: .7em; }
.nav-wrapper > .nav.nav-size-medium > li > a { font-size: .9em; }
.nav-wrapper > .nav.nav-size-large > li > a { font-size: 1em; }
.nav-wrapper > .nav.nav-size-xlarge > li > a { font-size: 1.1em; }
.nav-wrapper > .nav.nav-divided > li { margin-right: .7em; margin-left: .7em; }
.nav-wrapper > .nav.nav-divided > li + li > a::after { position: absolute; top: 50%; left: -1em; width: 1px; height: 15px; margin-top: -7px; border-left: 1px solid rgb(0 0 0 / 10%); content: ""; }
.nav-wrapper > .nav.nav-line > li > a::before,
.nav-wrapper > .nav.nav-line-grow > li > a::before,
.nav-wrapper > .nav.nav-line-bottom > li > a::before { position: absolute; top: 0; left: 50%; width: 100%; height: 3px; background: var(--cwtb-accent); content: ""; opacity: 0; transform: translateX(-50%); transition: width .3s, opacity .3s; }
.nav-wrapper > .nav.nav-line > li.active > a::before,
.nav-wrapper > .nav.nav-line > li:hover > a::before,
.nav-wrapper > .nav.nav-line-grow > li.active > a::before,
.nav-wrapper > .nav.nav-line-grow > li:hover > a::before,
.nav-wrapper > .nav.nav-line-bottom > li.active > a::before,
.nav-wrapper > .nav.nav-line-bottom > li:hover > a::before { opacity: 1; }
.nav-wrapper > .nav.nav-line-grow > li > a::before { width: 0; }
.nav-wrapper > .nav.nav-line-grow > li.active > a::before,
.nav-wrapper > .nav.nav-line-grow > li:hover > a::before { width: 100%; }
.nav-wrapper > .nav.nav-line-bottom > li > a::before { top: auto; bottom: 0; }
.nav-wrapper > .nav.nav-vertical.nav-line > li > a::before { top: 0; right: -2px; left: auto; width: 3px; height: 100%; transform: none; }
.nav-wrapper > .nav.nav-outline > li,
.nav-wrapper > .nav.nav-pills > li,
.nav-wrapper > .nav.nav-tabs > li { margin: 0; }
.nav-wrapper > .nav.nav-outline > li > a { z-index: 1; padding: 0 .75em; border: 2px solid transparent; border-radius: 32px; line-height: 2.4em; }
.nav-wrapper > .nav.nav-outline > li.active > a { border-color: currentcolor; color: var(--cwtb-accent); }
.nav-wrapper > .nav.nav-pills > li > a { padding: 0 .75em; border-radius: 99px; line-height: 2.5em; }
.nav-wrapper > .nav.nav-pills > li.active > a { background: var(--cwtb-accent); color: #fff; }
.nav-wrapper > .nav.nav-tabs > li { margin: 0 .1em -1px; }
.nav-wrapper > .nav.nav-tabs > li > a { padding-right: 15px; padding-left: 15px; border-top: 2px solid #ddd; border-right: 1px solid #ddd; border-left: 1px solid #ddd; background: rgb(0 0 0 / 4%); }
.nav-wrapper > .nav.nav-tabs > li.active > a { border-top-color: var(--cwtb-accent); background: #fff; color: #000; }
.nav-wrapper > .nav.nav-vertical.nav-tabs > li > a { border: 0; }
.nav-wrapper > .nav.nav-vertical.nav-tabs > li.active > a { border-left: 3px solid var(--cwtb-accent); }
.nav-wrapper > .nav.nav-bold > li > a { font-weight: 800; }
.nav-wrapper > .nav .shortcode-error { width: 100%; margin: 0; }

.cwtb-subnav ul { display: flex; flex-wrap: wrap; justify-content: flex-start; gap: 12px 24px; margin: 0; padding: 0; list-style: none; }
.cwtb-subnav--center ul { justify-content: center; }
.cwtb-subnav--right ul { justify-content: flex-end; }
.cwtb-subnav--vertical ul { flex-direction: column; }
.cwtb-subnav a { display: block; padding: 8px 0; color: inherit; text-decoration: none; }
.cwtb-subnav--pills a { padding: 8px 14px; border-radius: 999px; background: var(--cwtb-surface-muted); }
.cwtb-subnav--tabs a { padding: 9px 14px; border: 1px solid var(--cwtb-line); }
.cwtb-subnav--line a { border-bottom: 2px solid currentcolor; }
.cwtb-subnav--divided li + li { border-left: 1px solid var(--cwtb-line); padding-left: 24px; }
.cwtb-subnav--vertical.cwtb-subnav--divided li + li { border-top: 1px solid var(--cwtb-line); border-left: 0; padding-top: 12px; padding-left: 0; }
.cwtb-subnav--line-grow a,
.cwtb-subnav--line-bottom a { position: relative; }
.cwtb-subnav--line-grow a::after,
.cwtb-subnav--line-bottom a::after { position: absolute; right: 0; bottom: 0; left: 0; height: 2px; background: currentcolor; content: ""; transform-origin: left; }
.cwtb-subnav--line-grow a::after { transform: scaleX(0); transition: transform 180ms ease-out; }
.cwtb-subnav--line-grow a:hover::after,
.cwtb-subnav--line-grow .is-current a::after { transform: scaleX(1); }
.cwtb-subnav--outline a { padding: 8px 14px; border: 1px solid currentcolor; }
.cwtb-subnav--bold a { font-weight: 800; }
.cwtb-subnav .is-current a { color: var(--cwtb-accent); }
.cwtb-subnav-size--xsmall { font-size: 11px; }
.cwtb-subnav-size--small { font-size: 13px; }
.cwtb-subnav-size--large { font-size: 18px; }
.cwtb-subnav-size--xlarge { font-size: 22px; }

@media (max-width: 849px) {
	.cwtb-flip-book .flip-page-one,
	.cwtb-flip-book .flip-page-two { flex-basis: 100%; max-width: 100%; }
	.cwtb-flip-book .inner-padding { padding: 30px; }
	.cwtb-positioned-layer { top: var(--cwtb-position-top-tablet, var(--cwtb-position-top-desktop, 50.3%)) !important; right: var(--cwtb-position-right-tablet, var(--cwtb-position-right-desktop, auto)) !important; bottom: var(--cwtb-position-bottom-tablet, var(--cwtb-position-bottom-desktop, auto)) !important; left: var(--cwtb-position-left-tablet, var(--cwtb-position-left-desktop, 50%)) !important; width: var(--cwtb-position-width-tablet, var(--cwtb-position-width-desktop, 50%)) !important; transform: translate(var(--cwtb-position-translate-x-tablet, var(--cwtb-position-translate-x-desktop, -50%)), var(--cwtb-position-translate-y-tablet, var(--cwtb-position-translate-y-desktop, -50%))) rotate(var(--cwtb-position-rotate-tablet, var(--cwtb-position-rotate-desktop, 0deg))) scale(calc(var(--cwtb-position-scale-tablet, var(--cwtb-position-scale-desktop, 100)) / 100)); }
	.cwtb-shape-divider { height: var(--cwtb-shape-top-height-tablet, var(--cwtb-shape-bottom-height-tablet, 44px)); }
	.cwtb-banner-grid { --cwtb-grid-height: var(--cwtb-height-tablet, var(--cwtb-height-desktop, 600px)); grid-template-rows: none; grid-auto-rows: calc(var(--cwtb-grid-height) / 12); height: auto; }
	.cwtb-grid-cell { grid-column: span var(--cwtb-span-tablet, 12); }
	.cwtb-map { height: var(--cwtb-height-tablet, var(--cwtb-height-desktop, 400px)); }
	.cwtb-map__card { top: var(--cwtb-position-top-tablet, var(--cwtb-position-top-desktop, auto)); right: var(--cwtb-position-right-tablet, var(--cwtb-position-right-desktop, 5%)); bottom: var(--cwtb-position-bottom-tablet, var(--cwtb-position-bottom-desktop, 5%)); left: var(--cwtb-position-left-tablet, var(--cwtb-position-left-desktop, auto)); width: var(--cwtb-content-width-tablet, var(--cwtb-content-width-desktop, 40%)); transform: translate(var(--cwtb-position-translate-x-tablet, var(--cwtb-position-translate-x-desktop, 0%)), var(--cwtb-position-translate-y-tablet, var(--cwtb-position-translate-y-desktop, 0%))); }
	.cwtb-lottie { width: var(--cwtb-width-tablet, var(--cwtb-width-desktop, 100%)); height: var(--cwtb-height-tablet, var(--cwtb-height-desktop, 300px)); }
	.cwtb-lottie__canvas, .ux-lottie__player { margin: var(--cwtb-margin-tablet, var(--cwtb-margin-desktop, 0)); padding: var(--cwtb-padding-tablet, var(--cwtb-padding-desktop, 0)); }
	.cwtb-standalone-icon { width: var(--cwtb-size-tablet, var(--cwtb-size-desktop, 40px)); height: var(--cwtb-size-tablet, var(--cwtb-size-desktop, 40px)); }
	.cwtb-page-title, .cwtb-page-excerpt { font-size: var(--cwtb-size-tablet, var(--cwtb-size-desktop)); }
}

@media (max-width: 549px) {
	.cwtb-positioned-layer { top: var(--cwtb-position-top-mobile, var(--cwtb-position-top-tablet, var(--cwtb-position-top-desktop, 50.3%))) !important; right: var(--cwtb-position-right-mobile, var(--cwtb-position-right-tablet, var(--cwtb-position-right-desktop, auto))) !important; bottom: var(--cwtb-position-bottom-mobile, var(--cwtb-position-bottom-tablet, var(--cwtb-position-bottom-desktop, auto))) !important; left: var(--cwtb-position-left-mobile, var(--cwtb-position-left-tablet, var(--cwtb-position-left-desktop, 50%))) !important; width: var(--cwtb-position-width-mobile, var(--cwtb-position-width-tablet, var(--cwtb-position-width-desktop, 50%))) !important; transform: translate(var(--cwtb-position-translate-x-mobile, var(--cwtb-position-translate-x-tablet, var(--cwtb-position-translate-x-desktop, -50%))), var(--cwtb-position-translate-y-mobile, var(--cwtb-position-translate-y-tablet, var(--cwtb-position-translate-y-desktop, -50%)))) rotate(var(--cwtb-position-rotate-mobile, var(--cwtb-position-rotate-tablet, var(--cwtb-position-rotate-desktop, 0deg)))) scale(calc(var(--cwtb-position-scale-mobile, var(--cwtb-position-scale-tablet, var(--cwtb-position-scale-desktop, 100))) / 100)); }
	.cwtb-shape-divider { height: var(--cwtb-shape-top-height-mobile, var(--cwtb-shape-bottom-height-mobile, 30px)); }
	.cwtb-banner-grid { --cwtb-grid-height: var(--cwtb-height-mobile, var(--cwtb-height-tablet, var(--cwtb-height-desktop, 600px))); }
	.cwtb-grid-cell { grid-column: span var(--cwtb-span-mobile, 12); }
	.cwtb-map { height: var(--cwtb-height-mobile, var(--cwtb-height-tablet, var(--cwtb-height-desktop, 400px))); }
	.cwtb-map__card { top: var(--cwtb-position-top-mobile, var(--cwtb-position-top-tablet, var(--cwtb-position-top-desktop, auto))); right: var(--cwtb-position-right-mobile, var(--cwtb-position-right-tablet, var(--cwtb-position-right-desktop, 0%))); bottom: var(--cwtb-position-bottom-mobile, var(--cwtb-position-bottom-tablet, var(--cwtb-position-bottom-desktop, 0%))); left: var(--cwtb-position-left-mobile, var(--cwtb-position-left-tablet, var(--cwtb-position-left-desktop, auto))); width: var(--cwtb-content-width-mobile, var(--cwtb-content-width-tablet, var(--cwtb-content-width-desktop, 100%))); max-width: 100%; padding: 20px; transform: translate(var(--cwtb-position-translate-x-mobile, var(--cwtb-position-translate-x-tablet, var(--cwtb-position-translate-x-desktop, 0%))), var(--cwtb-position-translate-y-mobile, var(--cwtb-position-translate-y-tablet, var(--cwtb-position-translate-y-desktop, 0%)))); }
	.cwtb-lottie { width: var(--cwtb-width-mobile, var(--cwtb-width-tablet, var(--cwtb-width-desktop, 100%))); height: var(--cwtb-height-mobile, var(--cwtb-height-tablet, var(--cwtb-height-desktop, 300px))); }
	.cwtb-lottie__canvas, .ux-lottie__player { margin: var(--cwtb-margin-mobile, var(--cwtb-margin-tablet, var(--cwtb-margin-desktop, 0))); padding: var(--cwtb-padding-mobile, var(--cwtb-padding-tablet, var(--cwtb-padding-desktop, 0))); }
	.cwtb-standalone-icon { width: var(--cwtb-size-mobile, var(--cwtb-size-tablet, 36px)); height: var(--cwtb-size-mobile, var(--cwtb-size-tablet, 36px)); }
	.cwtb-page-title, .cwtb-page-excerpt { font-size: var(--cwtb-size-mobile, var(--cwtb-size-tablet)); }
}

@media (prefers-reduced-motion: reduce) {
	.cwtb-background-effect i { animation: none !important; }
}

/* 完整组件交互与本地数据组件。 */
.cwtb-product-card {
	position: relative;
	display: flex;
	min-width: 0;
	flex-direction: column;
	overflow: hidden;
	transition: box-shadow 180ms ease-out, transform 220ms ease-out;
}

.cwtb-product-card__image,
.cwtb-product-card__image > span {
	position: relative;
	display: block;
	overflow: hidden;
}

.cwtb-product-card__image img {
	display: block;
	width: 100%;
	height: auto;
	margin: 0;
	background: var(--cwtb-surface-soft);
	object-fit: cover;
	transition: filter 220ms ease-out, opacity 220ms ease-out, transform 280ms ease-out;
}

.cwtb-product-ratio--1-1 .cwtb-product-card__image img { aspect-ratio: 1; }
.cwtb-product-ratio--4-3 .cwtb-product-card__image img { aspect-ratio: 4 / 3; }
.cwtb-product-ratio--3-2 .cwtb-product-card__image img { aspect-ratio: 3 / 2; }
.cwtb-product-ratio--16-9 .cwtb-product-card__image img { aspect-ratio: 16 / 9; }
.cwtb-image-hover--zoom .cwtb-product-card:hover .cwtb-product-card__image img:first-child { transform: scale(1.045); }
.cwtb-image-hover--zoom-out .cwtb-product-card__image img:first-child { transform: scale(1.055); }
.cwtb-image-hover--zoom-out .cwtb-product-card:hover .cwtb-product-card__image img:first-child { transform: scale(1); }
.cwtb-image-hover--grayscale .cwtb-product-card__image img:first-child { filter: grayscale(1); }
.cwtb-image-hover--grayscale .cwtb-product-card:hover .cwtb-product-card__image img:first-child { filter: grayscale(0); }

.cwtb-product-card__secondary {
	position: absolute;
	inset: 0;
	opacity: 0;
}

.cwtb-product-card:hover .cwtb-product-card__secondary,
.cwtb-product-card:focus-within .cwtb-product-card__secondary { opacity: 1; }
.cwtb-product-card:hover .cwtb-product-card__secondary + *,
.cwtb-product-card:focus-within .cwtb-product-card__secondary + * { opacity: 0; }
.cwtb-product-card__image > span:has(.cwtb-product-card__secondary):hover > img:first-child,
.cwtb-product-card__image > span:has(.cwtb-product-card__secondary):focus-within > img:first-child { opacity: 0; }

.cwtb-product-card__body {
	display: flex;
	flex: 1;
	flex-direction: column;
	padding: 16px 0 0;
}

.cwtb-product-card__body h3 { margin: 5px 0 9px; font-size: 1.05rem; }
.cwtb-product-card__body h3 a { color: inherit; text-decoration: none; }
.cwtb-product-card__category { color: var(--cwtb-muted); font-size: 12px; }
.cwtb-product-card__actions { display: flex; flex-wrap: wrap; gap: 8px; margin-top: auto; padding-top: 14px; }
.cwtb-product-card__quick { min-height: 38px; padding: 8px 12px; border: 1px solid var(--cwtb-line); border-radius: 6px; background: transparent; cursor: pointer; }
.cwtb-product-equalize .cwtb-product-card { height: 100%; }

.cwtb-product-box--card .cwtb-product-card,
.cwtb-product-box--boxed .cwtb-product-card,
.cwtb-product-box--shade .cwtb-product-card,
.cwtb-product-box--overlay .cwtb-product-card {
	padding: 16px;
	border: 1px solid var(--cwtb-line);
	border-radius: var(--cwtb-radius);
	background: #fff;
}

.cwtb-product-box--overlay .cwtb-product-card,
.cwtb-product-box--shade .cwtb-product-card {
	position: relative;
	min-height: 320px;
	padding: 0;
	border: 0;
	background: #17212b;
	color: #ffffff;
}

.cwtb-product-box--overlay .cwtb-product-card__image,
.cwtb-product-box--shade .cwtb-product-card__image,
.cwtb-product-box--overlay .cwtb-product-card__image > span,
.cwtb-product-box--shade .cwtb-product-card__image > span {
	display: block;
	height: 100%;
}

.cwtb-product-box--overlay .cwtb-product-card__image img,
.cwtb-product-box--shade .cwtb-product-card__image img {
	width: 100%;
	height: 100%;
	min-height: 320px;
	object-fit: cover;
}

.cwtb-product-box--overlay .cwtb-product-card__body,
.cwtb-product-box--shade .cwtb-product-card__body {
	position: absolute;
	z-index: 2;
	right: 0;
	bottom: 0;
	left: 0;
	padding: 72px 24px 24px;
	background: linear-gradient(to bottom, transparent, rgb(0 0 0 / 82%));
}

.cwtb-product-box--overlay .cwtb-product-card__body a,
.cwtb-product-box--shade .cwtb-product-card__body a,
.cwtb-product-box--overlay .cwtb-product-card__category,
.cwtb-product-box--shade .cwtb-product-card__category { color: inherit; }

.cwtb-product-layout--list .cwtb-product-card {
	display: grid;
	grid-template-columns: minmax(120px, 28%) minmax(0, 1fr);
	align-items: center;
	gap: 24px;
}

.cwtb-product-layout--list .cwtb-product-card__body { padding-top: 0; }
.cwtb-product-layout--slider .cwtb-product-card { flex: 0 0 calc((100% - (var(--cwtb-gap-desktop, 28px) * (var(--cwtb-columns-desktop) - 1))) / var(--cwtb-columns-desktop)); scroll-snap-align: start; }
.cwtb-product-layout--masonry .cwtb-product-card { display: inline-flex; width: 100%; margin-bottom: var(--cwtb-gap-desktop, 28px); break-inside: avoid; }
.cwtb-product-hide-category .cwtb-product-card__category,
.cwtb-product-hide-title .cwtb-product-card h3,
.cwtb-product-hide-rating .cwtb-product-card .star-rating,
.cwtb-product-hide-price .cwtb-product-card .price,
.cwtb-product-hide-button .cwtb-product-card__cart,
.cwtb-product-hide-quick-view .cwtb-product-card__quick { display: none !important; }

.cwtb-pagination {
	display: flex;
	flex-wrap: wrap;
	justify-content: center;
	gap: 8px;
	margin-top: 34px;
}

.cwtb-pagination > a {
	display: inline-grid;
	place-items: center;
	min-width: 42px;
	min-height: 42px;
	padding: 8px 12px;
	border: 1px solid var(--cwtb-line);
	border-radius: 7px;
	color: inherit;
	text-decoration: none;
}

.cwtb-pagination > a[aria-current="page"] { border-color: var(--cwtb-accent); background: var(--cwtb-accent); color: #fff; }

.cwtb-pagination--more [aria-busy="true"] {
	opacity: .65;
	pointer-events: none;
}

[data-cwtb-filter-root] { display: grid; grid-template-columns: minmax(0, 1fr); }
[data-cwtb-filter-root] > .cwtb-component-heading { grid-column: 1 / -1; }
.cwtb-relay {
	display: flex;
	flex-wrap: wrap;
	align-items: center;
	gap: 8px;
	margin-bottom: 24px;
}

.cwtb-relay--align-center { justify-content: center; }
.cwtb-relay--align-right { justify-content: flex-end; }
.cwtb-relay button {
	min-height: 38px;
	padding: 8px 13px;
	border: 1px solid var(--cwtb-line);
	border-radius: 999px;
	background: transparent;
	color: inherit;
	cursor: pointer;
}

.cwtb-relay button.is-active { border-color: var(--cwtb-accent); background: var(--cwtb-accent); color: #fff; }
.cwtb-portfolio-filter--line button { padding-right: 2px; padding-left: 2px; border-width: 0 0 2px; border-radius: 0; }
.cwtb-portfolio-filter--line button.is-active { border-color: var(--cwtb-accent); background: transparent; color: var(--cwtb-accent); }
.cwtb-portfolio-filter--outline button { border: 1px solid currentcolor; background: transparent; }
.cwtb-portfolio-filter--outline button.is-active { border-color: var(--cwtb-accent); background: var(--cwtb-accent); color: #ffffff; }
.cwtb-portfolio-filter--pills button { border-radius: 999px; }
.cwtb-portfolio-filter--boxed button { border-radius: 0; }
.cwtb-relay__search input { min-height: 40px; padding: 8px 12px; border: 1px solid var(--cwtb-line); border-radius: 7px; }
.cwtb-relay__count { display: inline-grid; place-items: center; min-width: 32px; min-height: 32px; border-radius: 50%; background: var(--cwtb-surface-soft); font-weight: 750; }
[data-cwtb-filter-root]:has(> .cwtb-relay--left),
[data-cwtb-filter-root]:has(> .cwtb-relay--right) { grid-template-columns: minmax(180px, 24%) minmax(0, 1fr); gap: clamp(24px, 4vw, 56px); }
[data-cwtb-filter-root]:has(> .cwtb-relay--left) > .cwtb-relay,
[data-cwtb-filter-root]:has(> .cwtb-relay--right) > .cwtb-relay { align-content: flex-start; align-items: stretch; flex-direction: column; margin: 0; }
[data-cwtb-filter-root]:has(> .cwtb-relay--right) > .cwtb-relay { grid-column: 2; }
[data-cwtb-filter-root]:has(> .cwtb-relay--right) > .cwtb-products-grid,
[data-cwtb-filter-root]:has(> .cwtb-relay--right) > .cwtb-content-grid { grid-column: 1; grid-row: 2; }

.cwtb-gallery__overlay,
.cwtb-box-image__overlay { position: absolute; z-index: 1; inset: 0; background: var(--cwtb-gallery-overlay, var(--cwtb-box-image-overlay, transparent)); opacity: 0; transition: opacity 220ms ease-out; pointer-events: none; }
.cwtb-gallery__item:hover .cwtb-gallery__overlay,
.cwtb-box-image-hover-alt--overlay:hover .cwtb-box-image__overlay { opacity: 1; }
.cwtb-image-hover-alt--glow:hover,
.cwtb-box-image-hover-alt--glow:hover .cwtb-box-image { box-shadow: 0 0 0 4px rgb(255 255 255 / 28%), 0 12px 36px rgb(15 23 42 / 24%); }
.cwtb-image-hover-alt--lift:hover,
.cwtb-box-image-hover-alt--lift:hover { transform: translateY(-6px); }

.cwtb-box-image { position: relative; flex: 0 0 auto; width: var(--cwtb-box-image-width-desktop, 100%); height: var(--cwtb-box-image-height-desktop, auto); overflow: hidden; border-radius: var(--cwtb-box-image-radius, 0); }
.cwtb-box-image img { display: block; width: 100%; height: 100%; object-fit: cover; transition: filter 220ms ease-out, opacity 220ms ease-out, transform 280ms ease-out; }
.cwtb-box-image-hover--zoom:hover .cwtb-box-image img { transform: scale(1.055); }
.cwtb-box-image-hover--zoom-out .cwtb-box-image img { transform: scale(1.055); }
.cwtb-box-image-hover--zoom-out:hover .cwtb-box-image img { transform: scale(1); }
.cwtb-box-image-hover--blur:hover .cwtb-box-image img { filter: blur(3px); }
.cwtb-box-image-hover--grayscale .cwtb-box-image img { filter: grayscale(1); }
.cwtb-box-image-hover--grayscale:hover .cwtb-box-image img { filter: grayscale(0); }
.cwtb-box-image-hover--fade:hover .cwtb-box-image img { opacity: .65; }
.cwtb-logo .ux-logo-image { transition: opacity 180ms ease-out, transform 220ms ease-out, filter 180ms ease-out; }
.cwtb-logo:hover .image-zoom .ux-logo-image,
.cwtb-logo:focus-within .image-zoom .ux-logo-image { transform: scale(1.1); }
.cwtb-logo .image-fade-in .ux-logo-image { opacity: .7; }
.cwtb-logo:hover .image-fade-in .ux-logo-image,
.cwtb-logo:focus-within .image-fade-in .ux-logo-image { opacity: 1; }
.cwtb-logo:hover .image-glow .ux-logo-image,
.cwtb-logo:focus-within .image-glow .ux-logo-image { filter: brightness(1.1); }
.cwtb-logo .image-color .ux-logo-image { filter: grayscale(1); }
.cwtb-logo:hover .image-color .ux-logo-image,
.cwtb-logo:focus-within .image-color .ux-logo-image { filter: grayscale(0); }
.cwtb-logo:hover .image-grayscale .ux-logo-image,
.cwtb-logo:focus-within .image-grayscale .ux-logo-image { filter: grayscale(1); }
.cwtb-logo .image-overlay-add::after {
	position: absolute;
	inset: 0;
	background: rgb(0 0 0 / 20%);
	content: "";
	opacity: 0;
	pointer-events: none;
	transition: opacity 180ms ease-out;
}
.cwtb-logo:hover .image-overlay-add::after,
.cwtb-logo:focus-within .image-overlay-add::after { opacity: 1; }
.cwtb-box-text { box-sizing: border-box; padding: var(--cwtb-box-text-padding-top-desktop, 0) var(--cwtb-box-text-padding-right-desktop, 0) var(--cwtb-box-text-padding-bottom-desktop, 0) var(--cwtb-box-text-padding-left-desktop, 0); background: var(--cwtb-box-text-bg, transparent); color: var(--cwtb-box-text-color, inherit); transition: opacity 220ms ease-out, transform 220ms ease-out; }
.cwtb-box-text-size--small .cwtb-box-text { font-size: .875rem; }
.cwtb-box-text-size--large .cwtb-box-text { font-size: 1.125rem; }
.cwtb-box-text-size--xlarge .cwtb-box-text { font-size: 1.35rem; }
.cwtb-box-text-pos--top { display: flex; flex-direction: column-reverse; }
.cwtb-box-text-pos--left,
.cwtb-box-text-pos--right { display: flex; align-items: center; gap: clamp(18px, 4vw, 44px); }
.cwtb-box-text-pos--left { flex-direction: row-reverse; }
.cwtb-box-text-pos--left .cwtb-box-text,
.cwtb-box-text-pos--right .cwtb-box-text { flex: 1; }
.cwtb-box-text-pos--center,
.cwtb-box-text-pos--bottom-overlay { position: relative; }
.cwtb-box-text-pos--center > .cwtb-box-text,
.cwtb-box-text-pos--center > a > .cwtb-box-text,
.cwtb-box-text-pos--bottom-overlay > .cwtb-box-text,
.cwtb-box-text-pos--bottom-overlay > a > .cwtb-box-text { position: absolute; z-index: 2; right: 0; left: 0; }
.cwtb-box-text-pos--center > .cwtb-box-text,
.cwtb-box-text-pos--center > a > .cwtb-box-text { top: 50%; transform: translateY(-50%); }
.cwtb-box-text-pos--bottom-overlay > .cwtb-box-text,
.cwtb-box-text-pos--bottom-overlay > a > .cwtb-box-text { bottom: 0; }
.cwtb-box-text-hover--fade .cwtb-box-text { opacity: 0; }
.cwtb-box-text-hover--fade:hover .cwtb-box-text { opacity: 1; }
.cwtb-box-text-hover--slide-up .cwtb-box-text { opacity: 0; transform: translateY(16px); }
.cwtb-box-text-hover--slide-down .cwtb-box-text { opacity: 0; transform: translateY(-16px); }
.cwtb-box-text-hover--slide-up:hover .cwtb-box-text,
.cwtb-box-text-hover--slide-down:hover .cwtb-box-text { opacity: 1; transform: translateY(0); }

.cwtb-gallery-dialog,
.cwtb-video-dialog,
.cwtb-product-dialog,
.cwtb-modal { max-width: none; border: 0; box-shadow: 0 26px 80px rgb(0 0 0 / 34%); }
.cwtb-product-dialog,
.cwtb-modal { width: min(calc(100vw - 32px), var(--cwtb-width-desktop, 980px)); max-height: min(90vh, 900px); padding: var(--cwtb-padding-top-desktop, 24px) var(--cwtb-padding-right-desktop, 24px) var(--cwtb-padding-bottom-desktop, 24px) var(--cwtb-padding-left-desktop, 24px); overflow: auto; border-radius: 12px; background: #fff; color: var(--cwtb-ink); }
.cwtb-gallery-dialog::backdrop,
.cwtb-video-dialog::backdrop,
.cwtb-product-dialog::backdrop,
.cwtb-modal::backdrop { background: rgb(0 0 0 / 74%); backdrop-filter: blur(3px); }
.cwtb-dialog__close,
.cwtb-product-dialog > [data-cwtb-dialog-close],
.cwtb-modal > [data-cwtb-dialog-close] { position: sticky; z-index: 5; top: 0; float: right; width: 42px; height: 42px; padding: 0; border: 0; border-radius: 50%; background: rgb(15 23 42 / 88%); color: #fff; cursor: pointer; font-size: 28px; line-height: 1; }
.cwtb-product-dialog__body { display: grid; grid-template-columns: minmax(0, 1fr) minmax(0, 1fr); gap: clamp(24px, 5vw, 64px); align-items: center; clear: both; }
.cwtb-product-dialog__body img { width: 100%; height: auto; }
.cwtb-gallery-dialog [data-cwtb-dialog-caption] { margin: 0; padding: 14px 18px; color: #fff; text-align: center; }

.scroll-to {
	width: 100%;
}

.scroll-to-bullets {
	position: fixed;
	z-index: 999;
	top: 50%;
	right: 0;
	max-height: 100vh;
	overflow: hidden;
	transform: translateY(-50%);
}

.scroll-to-bullets a {
	display: block;
	width: 15px;
	height: 15px;
	margin: 10px 15px;
	border: 3px solid transparent;
	border-radius: 30px;
	background: var(--cwtb-accent);
	box-shadow: 1px 1px 1px rgb(0 0 0 / 30%);
	transition: all 0.3s;
}

.scroll-to-bullets a:hover,
.scroll-to-bullets a.active {
	background: #ffffff;
	opacity: 1;
}

.scroll-to-bullets a.active {
	border-color: var(--cwtb-accent);
}

.cwtb-scroll-to-preview {
	position: absolute;
	z-index: 999999;
	display: block !important;
	height: 30px;
	margin-bottom: -30px;
	border: 1px solid rgb(0 115 170 / 20%);
	background: repeating-linear-gradient(135deg, rgb(0 115 170 / 16%) 0 4px, rgb(0 115 170 / 8%) 4px 8px);
	color: rgb(0 115 170 / 90%);
	opacity: 0.8;
	text-align: center;
}

.cwtb-scroll-to-preview::before {
	position: absolute;
	top: 0;
	left: 0;
	width: 100%;
	padding-top: 5px;
	color: #ffffff;
	content: attr(data-label);
	font-size: 14px;
	text-align: center;
}

.cwtb-text-box { translate: 0 var(--cwtb-parallax-y, 0); }
.cwtb-slide__inner,
.cwtb-page-header__inner { transform: translate3d(0, var(--cwtb-parallax-y, 0), 0); will-change: transform; }
.cwtb-breadcrumbs { display: flex; flex-wrap: wrap; align-items: center; gap: 7px; }
.cwtb-breadcrumbs a { color: inherit; }
.cwtb-page-header__breadcrumbs { gap: 0; }

.cwtb-shape-divider { right: auto; left: 50%; width: var(--cwtb-shape-width, 100%); transform: translateX(-50%); }
.cwtb-shape-divider--flip { transform: translateX(-50%) scaleX(-1); }
.cwtb-shape-divider--front { z-index: 8; }

.cwtb-map::after { position: absolute; z-index: 1; inset: 0; background: var(--cwtb-map-tint, transparent); content: ""; opacity: .3; pointer-events: none; mix-blend-mode: color; }
@media (max-width: 849px) {
	.cwtb-page-header__inner,
	.cwtb-page-header-align--right .cwtb-page-header__inner {
		align-items: center;
		flex-flow: column wrap;
		justify-content: center;
		text-align: center;
	}
	.cwtb-page-header-valign--top .cwtb-page-header__inner { justify-content: flex-start; }
	.cwtb-page-header-valign--bottom .cwtb-page-header__inner { justify-content: flex-end; }
	.cwtb-page-header__title-wrapper,
	.cwtb-page-header__subtitle,
	.cwtb-page-header-align--right .cwtb-page-header__title-wrapper,
	.cwtb-page-header-align--right .cwtb-page-header__subtitle,
	.cwtb-page-header-align--left .cwtb-page-header__content,
	.cwtb-page-header-align--right .cwtb-page-header__content {
		width: 100%;
		margin: 0;
		text-align: center;
	}
	.cwtb-page-header__title-wrapper,
	.cwtb-page-header__subtitle,
	.cwtb-page-header__content {
		flex-grow: 0;
		padding-top: 5px;
		padding-bottom: 5px;
	}
	.cwtb-page-header__breadcrumbs,
	.cwtb-page-header__nav { justify-content: center; }
	.cwtb-product-layout--slider .cwtb-product-card { flex-basis: calc((100% - (var(--cwtb-gap-tablet, var(--cwtb-gap-desktop, 20px)) * (var(--cwtb-columns-tablet, 3) - 1))) / var(--cwtb-columns-tablet, 3)); }
	.cwtb-product-layout--slider .cwtb-category-card { flex-basis: calc((100% - (var(--cwtb-gap-tablet, var(--cwtb-gap-desktop, 20px)) * (var(--cwtb-columns-tablet, 3) - 1))) / var(--cwtb-columns-tablet, 3)); }
	.cwtb-box-image { width: var(--cwtb-box-image-width-tablet, var(--cwtb-box-image-width-desktop, 100%)); height: var(--cwtb-box-image-height-tablet, var(--cwtb-box-image-height-desktop, auto)); }
	.cwtb-box-text { padding: var(--cwtb-box-text-padding-top-tablet, var(--cwtb-box-text-padding-top-desktop, 0)) var(--cwtb-box-text-padding-right-tablet, var(--cwtb-box-text-padding-right-desktop, 0)) var(--cwtb-box-text-padding-bottom-tablet, var(--cwtb-box-text-padding-bottom-desktop, 0)) var(--cwtb-box-text-padding-left-tablet, var(--cwtb-box-text-padding-left-desktop, 0)); }
	.cwtb-modal { width: min(calc(100vw - 28px), var(--cwtb-width-tablet, var(--cwtb-width-desktop, 620px))); padding: var(--cwtb-padding-top-tablet, var(--cwtb-padding-top-desktop, 24px)) var(--cwtb-padding-right-tablet, var(--cwtb-padding-right-desktop, 24px)) var(--cwtb-padding-bottom-tablet, var(--cwtb-padding-bottom-desktop, 24px)) var(--cwtb-padding-left-tablet, var(--cwtb-padding-left-desktop, 24px)); }
}

@media (max-width: 549px) {
	.cwtb-page-header-title-size--xxlarge .cwtb-page-header__title-wrapper { font-size: 2.5em; }
	.cwtb-page-header-title-size--xlarge .cwtb-page-header__title-wrapper { font-size: 1.8em; }
	.cwtb-page-header-title-size--larger .cwtb-page-header__title-wrapper { font-size: 1.2em; }
	.cwtb-page-header-title-size--large .cwtb-page-header__title-wrapper { font-size: 1em; }
	.cwtb-product-layout--list .cwtb-product-card { grid-template-columns: 92px minmax(0, 1fr); gap: 14px; }
	.cwtb-product-layout--slider .cwtb-product-card { flex-basis: calc((100% - (var(--cwtb-gap-mobile, var(--cwtb-gap-tablet, 14px)) * (var(--cwtb-columns-mobile, 2) - 1))) / var(--cwtb-columns-mobile, 2)); }
	.cwtb-product-layout--slider .cwtb-category-card { flex-basis: calc((100% - (var(--cwtb-gap-mobile, var(--cwtb-gap-tablet, 14px)) * (var(--cwtb-columns-mobile, 2) - 1))) / var(--cwtb-columns-mobile, 2)); }
	[data-cwtb-filter-root]:has(> .cwtb-relay--left),
	[data-cwtb-filter-root]:has(> .cwtb-relay--right) { grid-template-columns: 1fr; }
	[data-cwtb-filter-root]:has(> .cwtb-relay--right) > .cwtb-relay,
	[data-cwtb-filter-root]:has(> .cwtb-relay--right) > .cwtb-products-grid,
	[data-cwtb-filter-root]:has(> .cwtb-relay--right) > .cwtb-content-grid { grid-column: 1; grid-row: auto; }
	[data-cwtb-filter-root]:has(> .cwtb-relay--left) > .cwtb-relay,
	[data-cwtb-filter-root]:has(> .cwtb-relay--right) > .cwtb-relay { flex-direction: row; margin-bottom: 18px; }
	.cwtb-box-text-pos--left,
	.cwtb-box-text-pos--right { align-items: stretch; flex-direction: column; }
	.cwtb-box-image { width: var(--cwtb-box-image-width-mobile, var(--cwtb-box-image-width-tablet, 100%)); height: var(--cwtb-box-image-height-mobile, var(--cwtb-box-image-height-tablet, auto)); }
	.cwtb-box-text { padding: var(--cwtb-box-text-padding-top-mobile, var(--cwtb-box-text-padding-top-tablet, 0)) var(--cwtb-box-text-padding-right-mobile, var(--cwtb-box-text-padding-right-tablet, 0)) var(--cwtb-box-text-padding-bottom-mobile, var(--cwtb-box-text-padding-bottom-tablet, 0)) var(--cwtb-box-text-padding-left-mobile, var(--cwtb-box-text-padding-left-tablet, 0)); }
	.cwtb-product-dialog__body { grid-template-columns: 1fr; }
	.cwtb-modal { width: min(calc(100vw - 20px), var(--cwtb-width-mobile, var(--cwtb-width-tablet, 360px))); padding: var(--cwtb-padding-top-mobile, var(--cwtb-padding-top-tablet, 20px)) var(--cwtb-padding-right-mobile, var(--cwtb-padding-right-tablet, 20px)) var(--cwtb-padding-bottom-mobile, var(--cwtb-padding-bottom-tablet, 20px)) var(--cwtb-padding-left-mobile, var(--cwtb-padding-left-tablet, 20px)); }
}

/* Banner / Text Box contract. */
.cwtb-banner {
	display: block;
	position: relative;
	height: var(--cwtb-height-desktop, auto);
	min-height: 0;
	padding: 0;
	background-color: var(--cwtb-primary, #446084);
	color: inherit;
	isolation: isolate;
	overflow: hidden;
}

.cwtb-banner__inner,
.cwtb-banner__bg,
.cwtb-banner__layers,
.cwtb-banner__content {
	position: absolute;
	inset: 0;
	width: 100%;
	height: 100%;
}

.cwtb-banner__inner { overflow: hidden; }
.cwtb-banner__bg { z-index: 0; background: inherit; overflow: hidden; }
.cwtb-banner__layers {
	z-index: 2;
	right: 0;
	left: 0;
	max-width: var(--cwtb-site-width, 1080px);
	margin-right: auto;
	margin-left: auto;
}
.cwtb-banner__content { z-index: 1; max-width: none; padding: 0; }

.cwtb-banner__background-image,
.cwtb-banner__bg > .cwtb-background-video {
	position: absolute;
	inset: 0;
	width: 100%;
	height: 100%;
	border: 0;
	object-fit: cover;
	transition: filter .6s, opacity .6s, transform .6s;
}

.cwtb-banner__height-fix { position: relative; z-index: -1; width: 100%; visibility: hidden; }
.cwtb-banner__height-fix img { display: block; width: 100%; height: auto; }

.cwtb-banner__overlay {
	position: absolute;
	z-index: 2;
	inset: 0;
	background: var(--cwtb-bg-overlay-desktop, transparent);
	opacity: 1;
	pointer-events: none;
	transition: background-color .6s, opacity .6s;
}

.cwtb-banner__link { position: absolute; z-index: 0; inset: 0; }
.cwtb-banner__content > * { z-index: 2; }
.cwtb-banner--sticky { position: sticky; z-index: 20; top: 0; }

.cwtb-banner-hover--zoom:hover .cwtb-banner__background-image { transform: scale(1.1); }
.cwtb-banner-hover--zoom-long .cwtb-banner__background-image { transition-duration: 20s; }
.cwtb-banner-hover--zoom-long:hover .cwtb-banner__background-image { transform: scale(1.3); }
.cwtb-banner-hover--zoom-fade:hover .cwtb-banner__background-image { opacity: .7; transform: scale(1.1); }
.cwtb-banner-hover--blur:hover .cwtb-banner__background-image { filter: blur(5px); transform: scale(1.03); }
.cwtb-banner-hover--fade-in .cwtb-banner__background-image { opacity: .7; }
.cwtb-banner-hover--fade-in:hover .cwtb-banner__background-image { opacity: 1; }
.cwtb-banner-hover--fade-out:hover .cwtb-banner__background-image { opacity: .7; }
.cwtb-banner-hover--glow:hover .cwtb-banner__background-image { filter: brightness(1.18); }
.cwtb-banner-hover--color .cwtb-banner__background-image { filter: grayscale(1); }
.cwtb-banner-hover--color:hover .cwtb-banner__background-image { filter: grayscale(0); }
.cwtb-banner-hover--grayscale:hover .cwtb-banner__background-image { filter: grayscale(1); }
.cwtb-banner-hover--overlay-add:hover .cwtb-banner__overlay { background: rgb(0 0 0 / 30%); }
.cwtb-banner-hover--overlay-remove .cwtb-banner__overlay { background: rgb(0 0 0 / 30%); }
.cwtb-banner-hover--overlay-remove:hover .cwtb-banner__overlay { opacity: 0; }
.cwtb-banner-hover--overlay-add-50:hover .cwtb-banner__overlay { background: rgb(0 0 0 / 50%); }
.cwtb-banner-hover--overlay-remove-50 .cwtb-banner__overlay { background: rgb(0 0 0 / 50%); }
.cwtb-banner-hover--overlay-remove-50:hover .cwtb-banner__overlay { opacity: 0; }

.cwtb-section-hover--zoom:hover .cwtb-section__background-image,
.cwtb-section-hover-alt--zoom:hover .cwtb-section__background-image { transform: scale(1.1); }
.cwtb-section-hover--zoom-long .cwtb-section__background-image,
.cwtb-section-hover-alt--zoom-long .cwtb-section__background-image { transition-duration: 20s; }
.cwtb-section-hover--zoom-long:hover .cwtb-section__background-image,
.cwtb-section-hover-alt--zoom-long:hover .cwtb-section__background-image { transform: scale(1.3); }
.cwtb-section-hover--zoom-fade:hover .cwtb-section__background-image,
.cwtb-section-hover-alt--zoom-fade:hover .cwtb-section__background-image { opacity: .7; transform: scale(1.1); }
.cwtb-section-hover--blur:hover .cwtb-section__background-image,
.cwtb-section-hover-alt--blur:hover .cwtb-section__background-image { filter: blur(5px); transform: scale(1.03); }
.cwtb-section-hover--fade-in .cwtb-section__background-image,
.cwtb-section-hover-alt--fade-in .cwtb-section__background-image { opacity: .7; }
.cwtb-section-hover--fade-in:hover .cwtb-section__background-image,
.cwtb-section-hover-alt--fade-in:hover .cwtb-section__background-image { opacity: 1; }
.cwtb-section-hover--fade-out:hover .cwtb-section__background-image,
.cwtb-section-hover-alt--fade-out:hover .cwtb-section__background-image { opacity: .7; }
.cwtb-section-hover--glow:hover .cwtb-section__background-image,
.cwtb-section-hover-alt--glow:hover .cwtb-section__background-image { filter: brightness(1.18); }
.cwtb-section-hover--color .cwtb-section__background-image,
.cwtb-section-hover-alt--color .cwtb-section__background-image { filter: grayscale(1); }
.cwtb-section-hover--color:hover .cwtb-section__background-image,
.cwtb-section-hover-alt--color:hover .cwtb-section__background-image { filter: grayscale(0); }
.cwtb-section-hover--grayscale:hover .cwtb-section__background-image,
.cwtb-section-hover-alt--grayscale:hover .cwtb-section__background-image { filter: grayscale(1); }
.cwtb-section-hover--overlay-add:hover .cwtb-section__overlay,
.cwtb-section-hover-alt--overlay-add:hover .cwtb-section__overlay { background: rgb(0 0 0 / 30%); }
.cwtb-section-hover--overlay-remove .cwtb-section__overlay,
.cwtb-section-hover-alt--overlay-remove .cwtb-section__overlay { background: rgb(0 0 0 / 30%); }
.cwtb-section-hover--overlay-remove:hover .cwtb-section__overlay,
.cwtb-section-hover-alt--overlay-remove:hover .cwtb-section__overlay { opacity: 0; }
.cwtb-section-hover--overlay-add-50:hover .cwtb-section__overlay,
.cwtb-section-hover-alt--overlay-add-50:hover .cwtb-section__overlay { background: rgb(0 0 0 / 50%); }
.cwtb-section-hover--overlay-remove-50 .cwtb-section__overlay,
.cwtb-section-hover-alt--overlay-remove-50 .cwtb-section__overlay { background: rgb(0 0 0 / 50%); }
.cwtb-section-hover--overlay-remove-50:hover .cwtb-section__overlay,
.cwtb-section-hover-alt--overlay-remove-50:hover .cwtb-section__overlay { opacity: 0; }

.cwtb-banner--slide-fade-in .cwtb-banner__background-image { animation: cwtb-banner-fade-in 1s both; }
.cwtb-banner--slide-fade-in-fast .cwtb-banner__background-image { animation: cwtb-banner-fade-in .45s both; }
.cwtb-banner--slide-zoom-in .cwtb-banner__background-image { animation: cwtb-banner-zoom-in 1.2s both; }
.cwtb-banner--slide-zoom-in-fast .cwtb-banner__background-image { animation: cwtb-banner-zoom-in .55s both; }
.cwtb-banner--slide-zoom-out .cwtb-banner__background-image { animation: cwtb-banner-zoom-out 1.2s both; }
.cwtb-banner--slide-zoom-out-fast .cwtb-banner__background-image { animation: cwtb-banner-zoom-out .55s both; }
@keyframes cwtb-banner-fade-in { from { opacity: 0; } }
@keyframes cwtb-banner-zoom-in { from { opacity: 0; transform: scale(.86); } }
@keyframes cwtb-banner-zoom-out { from { opacity: 0; transform: scale(1.14); } }

/* Text and Button use component-scoped values so parent spacing cannot leak. */
.cwtb-text {
	margin: 0;
	color: var(--cwtb-text-color, inherit);
	font-size: var(--cwtb-text-font-size-desktop, inherit);
	line-height: var(--cwtb-text-line-height-desktop, inherit);
	text-align: var(--cwtb-text-align-desktop, inherit);
	column-count: initial;
}

.cwtb-text > .cwtb-text__content > * {
	color: inherit;
}

.cwtb-button {
	--cwtb-button-bg: var(--cwtb-primary, #446084);
	--cwtb-button-text: #fff;
	display: inline-flex;
	align-items: center;
	justify-content: center;
	box-sizing: border-box;
	max-width: 100%;
	min-height: 2.5em;
	margin-top: 0;
	margin-right: 1em;
	padding: 0 1.2em;
	border: 1px solid rgb(0 0 0 / 5%);
	border-radius: var(--cwtb-button-radius, 0);
	background: var(--cwtb-button-bg);
	color: var(--cwtb-button-text);
	font-size: .97em;
	font-weight: bolder;
	letter-spacing: .03em;
	line-height: 2.4em;
	text-align: center;
	text-decoration: none;
	text-rendering: optimizeLegibility;
	text-shadow: none;
	text-transform: uppercase;
	vertical-align: middle;
	transition: transform .3s, border .3s, background .3s, box-shadow .3s, opacity .3s, color .3s;
}

.cwtb-button > span { display: inline-block; line-height: 1.6; }
.cwtb-button:hover { background: var(--cwtb-button-bg); box-shadow: inset 0 0 0 100px rgb(0 0 0 / 20%); color: #fff; opacity: 1; }
.cwtb-button--case-lowercase { text-transform: none; }
.cwtb-button--color-secondary { --cwtb-button-bg: var(--cwtb-secondary, #d26e4b); }
.cwtb-button--color-alert { --cwtb-button-bg: var(--cwtb-alert, #b20000); }
.cwtb-button--color-success { --cwtb-button-bg: var(--cwtb-success, #7a9c59); }
.cwtb-button--color-white { --cwtb-button-bg: #fff; --cwtb-button-text: #666; }
.cwtb-button--outline { border: 2px solid currentcolor; background: transparent; color: var(--cwtb-button-bg); line-height: 2.19em; }
.cwtb-button--link,
.cwtb-button--underline { min-height: 2.5em; padding-right: .15em; padding-left: .15em; border-color: transparent; background: transparent; color: #666; }
.cwtb-button--size-xxsmall { font-size: .6em; }
.cwtb-button--size-xsmall { min-height: 2.5em; font-size: .7em; }
.cwtb-button--size-smaller { font-size: .75em; }
.cwtb-button--size-small { min-height: 2.5em; font-size: .8em; }
.cwtb-button--size-large { min-height: 2.5em; font-size: 1.15em; }
.cwtb-button--size-larger { font-size: 1.3em; }
.cwtb-button--size-xlarge { min-height: 2.5em; font-size: 1.5em; }
.cwtb-button--size-xxlarge { font-size: 2em; }

.cwtb-text-box {
	box-sizing: border-box;
	width: var(--cwtb-width-desktop, 60%);
	padding: 0;
	color: inherit;
	font-size: 16px;
	translate: 0 var(--cwtb-parallax-y, 0);
}

.cwtb-text-box.cwtb-positioned-layer {
	margin: var(--cwtb-text-box-margin-top-desktop, 0) var(--cwtb-text-box-margin-right-desktop, 0) var(--cwtb-text-box-margin-bottom-desktop, 0) var(--cwtb-text-box-margin-left-desktop, 0) !important;
}

.cwtb-text-box__content {
	position: relative;
	box-sizing: border-box;
	width: 100%;
	background: var(--cwtb-text-box-bg, transparent);
	border-radius: var(--cwtb-text-box-radius, 0);
	font-size: var(--cwtb-scale-desktop, 100%);
	rotate: var(--cwtb-text-box-rotate, 0deg);
	transition: filter .3s, opacity .3s, transform .3s;
}

.cwtb-text-box__inner {
	position: relative;
	z-index: 1;
	box-sizing: border-box;
	width: 100%;
	padding: var(--cwtb-text-box-padding-top-desktop, 0) var(--cwtb-text-box-padding-right-desktop, 0) var(--cwtb-text-box-padding-bottom-desktop, 0) var(--cwtb-text-box-padding-left-desktop, 0);
}

.cwtb-text-box--square .cwtb-text-box__content,
.cwtb-text-box--circle .cwtb-text-box__content {
	display: flex;
	align-items: center;
	aspect-ratio: 1;
}
.cwtb-text-box--circle .cwtb-text-box__content { border-radius: 999px; }
.cwtb-text-box-color--light .cwtb-text-box__content { color: #fff; }
.cwtb-text-box-color--dark .cwtb-text-box__content { color: #333; }

.cwtb-banner--layered .cwtb-text-box__content :is(h1, h2, h3, h4, h5, h6) {
	color: inherit;
}

.cwtb-banner--layered .cwtb-text-box__content h1,
.cwtb-banner--layered .cwtb-text-box__content h2,
.cwtb-banner--layered .cwtb-text-box__content h3 {
	margin-top: .2em;
	margin-bottom: .2em;
	padding: 0;
	font-weight: 400;
	line-height: 1;
	letter-spacing: normal;
}

.cwtb-banner--layered .cwtb-text-box__content h1 { font-size: 3.5em; }
.cwtb-banner--layered .cwtb-text-box__content h2 { font-size: 2.9em; }
.cwtb-banner--layered .cwtb-text-box__content h3 { font-size: 2em; }
.cwtb-banner--layered .cwtb-text-box__content h4 {
	margin-top: .6em;
	margin-bottom: .6em;
	padding: 0;
	font-size: 1.5em;
}
.cwtb-banner--layered .cwtb-text-box__content :is(h5, h6, p) {
	max-width: none;
	margin-top: 1em;
	margin-bottom: 1em;
	padding: 0;
	font-size: inherit;
}
.cwtb-banner--layered .cwtb-text-box__content .cwtb-button,
.cwtb-banner--layered .cwtb-text-box__content .is-divider {
	margin-top: .5em;
	margin-bottom: .5em;
}

.cwtb-text-box__hover--fade-in { opacity: .65; }
.cwtb-text-box__hover--fade-in:hover { opacity: 1; }
.cwtb-text-box__hover--fade-out:hover { opacity: .65; }
.cwtb-text-box__hover--slide { transform: translateY(12px); }
.cwtb-text-box__hover--slide:hover { transform: translateY(0); }
.cwtb-text-box__hover--zoom:hover { transform: scale(.94); }
.cwtb-text-box__hover--zoom-in:hover { transform: scale(1.06); }
.cwtb-text-box__hover--blur { filter: blur(3px); }
.cwtb-text-box__hover--blur:hover { filter: blur(0); }
.cwtb-text-box__hover--bounce:hover { animation: cwtb-text-box-bounce .45s both; }
.cwtb-text-box__hover--invert:hover { filter: invert(1); }
@keyframes cwtb-text-box-bounce { 50% { transform: translateY(-8px); } }

.cwtb-text-box[style*="--cwtb-text-shadow:1"] .cwtb-text-box__inner { text-shadow: 0 1px 2px rgb(0 0 0 / 22%); }
.cwtb-text-box[style*="--cwtb-text-shadow:2"] .cwtb-text-box__inner { text-shadow: 0 2px 5px rgb(0 0 0 / 28%); }
.cwtb-text-box[style*="--cwtb-text-shadow:3"] .cwtb-text-box__inner { text-shadow: 0 3px 9px rgb(0 0 0 / 34%); }
.cwtb-text-box[style*="--cwtb-text-shadow:4"] .cwtb-text-box__inner { text-shadow: 0 5px 14px rgb(0 0 0 / 40%); }
.cwtb-text-box[style*="--cwtb-text-shadow:5"] .cwtb-text-box__inner { text-shadow: 0 8px 20px rgb(0 0 0 / 46%); }

.cwtb-reference-border {
	position: absolute;
	z-index: 3;
	inset: 0;
	box-sizing: border-box;
	border-color: var(--cwtb-border-color-desktop, currentcolor);
	pointer-events: none;
	transition: filter .3s, opacity .3s, transform .3s;
}
.cwtb-reference-border--hover-fade-in { opacity: .35; }
:hover > .cwtb-reference-border--hover-fade-in { opacity: 1; }
:hover > .cwtb-reference-border--hover-fade-out { opacity: .35; }
:hover > .cwtb-reference-border--hover-slide { transform: translateY(5px); }
:hover > .cwtb-reference-border--hover-zoom { transform: scale(.95); }
:hover > .cwtb-reference-border--hover-zoom-in { transform: scale(1.05); }
:hover > .cwtb-reference-border--hover-blur { filter: blur(2px); }
:hover > .cwtb-reference-border--hover-bounce { animation: cwtb-text-box-bounce .45s both; }
:hover > .cwtb-reference-border--hover-invert { filter: invert(1); }

.cwtb-shape-divider {
	height: var(--cwtb-shape-height-desktop, 150px);
	width: var(--cwtb-shape-width-desktop, 100%);
}
.cwtb-shape-divider--arrow-invert { clip-path: polygon(0 0, 50% 100%, 100% 0, 100% 100%, 0 100%); }
.cwtb-shape-divider--arrow-2 { clip-path: polygon(0 0, 38% 0, 50% 100%, 62% 0, 100% 0); }
.cwtb-shape-divider--arrow-2-invert { clip-path: polygon(0 100%, 38% 100%, 50% 0, 62% 100%, 100% 100%); }
.cwtb-shape-divider--book { clip-path: polygon(0 0, 50% 70%, 100% 0); }
.cwtb-shape-divider--book-invert { clip-path: polygon(0 100%, 50% 30%, 100% 100%); }
.cwtb-shape-divider--curve-invert { clip-path: ellipse(85% 80% at 50% 100%); }
.cwtb-shape-divider--curve-2 { clip-path: ellipse(110% 75% at 20% 0); }
.cwtb-shape-divider--curve-2-invert { clip-path: ellipse(110% 75% at 80% 100%); }
.cwtb-shape-divider--curve-opacity { opacity: .55; clip-path: ellipse(85% 80% at 50% 0); }
.cwtb-shape-divider--fan { clip-path: polygon(0 0, 25% 50%, 50% 0, 75% 50%, 100% 0); }
.cwtb-shape-divider--tilt { clip-path: polygon(0 0, 100% 45%, 100% 100%, 0 100%); }
.cwtb-shape-divider--triangle-invert { clip-path: polygon(0 100%, 50% 0, 100% 100%); }
.cwtb-shape-divider--triangle-opacity { opacity: .55; clip-path: polygon(0 0, 50% 100%, 100% 0); }
.cwtb-shape-divider--waves,
.cwtb-shape-divider--waves-opacity,
.cwtb-shape-divider--waves-opacity-2,
.cwtb-shape-divider--waves-opacity-3 { clip-path: ellipse(70% 55% at 50% 0); }
.cwtb-shape-divider--waves-opacity { opacity: .75; }
.cwtb-shape-divider--waves-opacity-2 { opacity: .55; }
.cwtb-shape-divider--waves-opacity-3 { opacity: .35; }
.cwtb-background-effect--sliding-glass i { top: 0; left: -35%; width: 28%; height: 100%; border-radius: 0; background: linear-gradient(90deg, transparent, rgb(255 255 255 / 24%), transparent); animation: cwtb-effect-glass 5s ease-in-out infinite; }
.cwtb-background-effect--sliding-glass i:not(:first-child) { display: none; }

@media (max-width: 849px) {
	.cwtb-banner { height: var(--cwtb-height-tablet, var(--cwtb-height-desktop, auto)); }
	.cwtb-banner__overlay { background: var(--cwtb-bg-overlay-tablet, var(--cwtb-bg-overlay-desktop, transparent)); }
	.cwtb-text-box { font-size: 1.8vw; }
	.cwtb-text { font-size: var(--cwtb-text-font-size-tablet, var(--cwtb-text-font-size-desktop, inherit)); line-height: var(--cwtb-text-line-height-tablet, var(--cwtb-text-line-height-desktop, inherit)); text-align: var(--cwtb-text-align-tablet, var(--cwtb-text-align-desktop, inherit)); }
	.cwtb-text-box.cwtb-positioned-layer { margin: var(--cwtb-text-box-margin-top-tablet, var(--cwtb-text-box-margin-top-desktop, 0)) var(--cwtb-text-box-margin-right-tablet, var(--cwtb-text-box-margin-right-desktop, 0)) var(--cwtb-text-box-margin-bottom-tablet, var(--cwtb-text-box-margin-bottom-desktop, 0)) var(--cwtb-text-box-margin-left-tablet, var(--cwtb-text-box-margin-left-desktop, 0)) !important; }
	.cwtb-text-box__content { font-size: var(--cwtb-scale-tablet, var(--cwtb-scale-desktop, 100%)); }
	.cwtb-text-box__inner { padding: var(--cwtb-text-box-padding-top-tablet, var(--cwtb-text-box-padding-top-desktop, 0)) var(--cwtb-text-box-padding-right-tablet, var(--cwtb-text-box-padding-right-desktop, 0)) var(--cwtb-text-box-padding-bottom-tablet, var(--cwtb-text-box-padding-bottom-desktop, 0)) var(--cwtb-text-box-padding-left-tablet, var(--cwtb-text-box-padding-left-desktop, 0)); }
	.cwtb-reference-border { border-color: var(--cwtb-border-color-tablet, var(--cwtb-border-color-desktop, currentcolor)); }
	.cwtb-shape-divider { height: var(--cwtb-shape-height-tablet, var(--cwtb-shape-height-desktop, 150px)); width: var(--cwtb-shape-width-tablet, var(--cwtb-shape-width-desktop, 100%)); }
}

@media (max-width: 549px) {
	.cwtb-banner { height: var(--cwtb-height-mobile, var(--cwtb-height-tablet, var(--cwtb-height-desktop, auto))); }
	.cwtb-banner__overlay { background: var(--cwtb-bg-overlay-mobile, var(--cwtb-bg-overlay-tablet, var(--cwtb-bg-overlay-desktop, transparent))); }
	.cwtb-text-box { font-size: 11px; }
	.cwtb-text { font-size: var(--cwtb-text-font-size-mobile, var(--cwtb-text-font-size-tablet, var(--cwtb-text-font-size-desktop, inherit))); line-height: var(--cwtb-text-line-height-mobile, var(--cwtb-text-line-height-tablet, var(--cwtb-text-line-height-desktop, inherit))); text-align: var(--cwtb-text-align-mobile, var(--cwtb-text-align-tablet, var(--cwtb-text-align-desktop, inherit))); }
	.cwtb-button--size-large { font-size: 1em; }
	.cwtb-button--size-larger { font-size: 1.2em; }
	.cwtb-button--size-xlarge { font-size: 1.8em; }
	.cwtb-button--size-xxlarge { font-size: 2.5em; }
	.cwtb-text-box.cwtb-positioned-layer { margin: var(--cwtb-text-box-margin-top-mobile, var(--cwtb-text-box-margin-top-tablet, var(--cwtb-text-box-margin-top-desktop, 0))) var(--cwtb-text-box-margin-right-mobile, var(--cwtb-text-box-margin-right-tablet, var(--cwtb-text-box-margin-right-desktop, 0))) var(--cwtb-text-box-margin-bottom-mobile, var(--cwtb-text-box-margin-bottom-tablet, var(--cwtb-text-box-margin-bottom-desktop, 0))) var(--cwtb-text-box-margin-left-mobile, var(--cwtb-text-box-margin-left-tablet, var(--cwtb-text-box-margin-left-desktop, 0))) !important; }
	.cwtb-text-box__content { font-size: var(--cwtb-scale-mobile, var(--cwtb-scale-tablet, var(--cwtb-scale-desktop, 100%))); }
	.cwtb-text-box__inner { padding: var(--cwtb-text-box-padding-top-mobile, var(--cwtb-text-box-padding-top-tablet, var(--cwtb-text-box-padding-top-desktop, 0))) var(--cwtb-text-box-padding-right-mobile, var(--cwtb-text-box-padding-right-tablet, var(--cwtb-text-box-padding-right-desktop, 0))) var(--cwtb-text-box-padding-bottom-mobile, var(--cwtb-text-box-padding-bottom-tablet, var(--cwtb-text-box-padding-bottom-desktop, 0))) var(--cwtb-text-box-padding-left-mobile, var(--cwtb-text-box-padding-left-tablet, var(--cwtb-text-box-padding-left-desktop, 0))); }
	.cwtb-reference-border { border-color: var(--cwtb-border-color-mobile, var(--cwtb-border-color-tablet, var(--cwtb-border-color-desktop, currentcolor))); }
	.cwtb-shape-divider { height: var(--cwtb-shape-height-mobile, var(--cwtb-shape-height-tablet, var(--cwtb-shape-height-desktop, 150px))); width: var(--cwtb-shape-width-mobile, var(--cwtb-shape-width-tablet, var(--cwtb-shape-width-desktop, 100%))); }
}

@media (prefers-reduced-motion: reduce) {
	.cwtb-text-box,
	.cwtb-slide__inner,
	.cwtb-page-header__inner { translate: none; transform: none; }
}

/* Gallery contract. */
.cwtb-gallery.cwtb-ux-gallery {
	position: relative;
	display: block;
	box-sizing: border-box;
	min-width: 0;
}

.cwtb-ux-gallery--container {
	width: min(calc(100% - 40px), var(--cwtb-content-width, 1080px));
	margin-inline: auto;
}

.cwtb-ux-gallery--full-width { width: 100%; }
.cwtb-ux-gallery__items { min-width: 0; }

.cwtb-ux-gallery--type-row .cwtb-ux-gallery__items {
	display: grid;
	grid-template-columns: repeat(var(--cwtb-gallery-columns-desktop, 4), minmax(0, 1fr));
	gap: var(--cwtb-gallery-gap, 30px);
}

.cwtb-ux-gallery--type-masonry .cwtb-ux-gallery__items {
	columns: var(--cwtb-gallery-columns-desktop, 4);
	column-gap: var(--cwtb-gallery-gap, 30px);
}

.cwtb-ux-gallery--type-masonry .cwtb-ux-gallery__item {
	display: inline-block;
	width: 100%;
	margin-bottom: var(--cwtb-gallery-gap, 30px);
	break-inside: avoid;
}

.cwtb-ux-gallery.cwtb-slider { overflow: hidden; }
.cwtb-ux-gallery.cwtb-slider .cwtb-slider__track { gap: var(--cwtb-gallery-gap, 30px); }
.cwtb-ux-gallery.cwtb-slider .cwtb-slider__track > .cwtb-ux-gallery__item {
	flex-basis: calc((100% - (var(--cwtb-gallery-gap, 30px) * (var(--cwtb-gallery-columns-desktop, 4) - 1))) / var(--cwtb-gallery-columns-desktop, 4));
}

.cwtb-ux-gallery--type-slider-full.cwtb-slider .cwtb-slider__track { gap: 0; }
.cwtb-ux-gallery--type-slider-full.cwtb-slider .cwtb-slider__track > .cwtb-ux-gallery__item { flex-basis: 100%; }
.cwtb-ux-gallery.cwtb-slider .cwtb-slider__dots { bottom: 10px; }
.cwtb-ux-gallery.cwtb-slider .cwtb-slider__dots button { border-color: currentcolor; }
.cwtb-ux-gallery.cwtb-slider .cwtb-slider__dots button.is-active { background: currentcolor; }

.cwtb-ux-gallery--type-grid .cwtb-ux-gallery__items {
	display: grid;
	grid-auto-flow: dense;
	grid-template-columns: repeat(12, minmax(0, 1fr));
	grid-template-rows: repeat(6, minmax(0, 1fr));
	gap: var(--cwtb-gallery-gap, 30px);
	height: var(--cwtb-grid-height-desktop, 600px);
}

.cwtb-ux-gallery--type-grid .grid-col { min-width: 0; min-height: 0; }
.cwtb-ux-gallery--type-grid .large-2 { grid-column: span 2; }
.cwtb-ux-gallery--type-grid .large-3 { grid-column: span 3; }
.cwtb-ux-gallery--type-grid .large-4 { grid-column: span 4; }
.cwtb-ux-gallery--type-grid .large-6 { grid-column: span 6; }
.cwtb-ux-gallery--type-grid .large-8 { grid-column: span 8; }
.cwtb-ux-gallery--type-grid .large-9 { grid-column: span 9; }
.cwtb-ux-gallery--type-grid .large-12 { grid-column: span 12; }
.cwtb-ux-gallery--type-grid .grid-col-1 { grid-row: span 6; }
.cwtb-ux-gallery--type-grid .grid-col-1-2 { grid-row: span 3; }
.cwtb-ux-gallery--type-grid .grid-col-1-3 { grid-row: span 2; }
.cwtb-ux-gallery--type-grid .grid-col-2-3 { grid-row: span 4; }
.cwtb-ux-gallery--type-grid :is(.cwtb-ux-gallery__item, .col-inner, .cwtb-gallery-box, .cwtb-gallery-box__image) { height: 100%; }

.cwtb-ux-gallery__item {
	box-sizing: border-box;
	position: relative;
	min-width: 0;
	margin: 0;
}

.cwtb-ux-gallery__item > .col-inner { height: 100%; }
.cwtb-ux-gallery__item a { display: block; height: 100%; color: inherit; text-decoration: none; }
.cwtb-gallery-box {
	position: relative;
	display: flex;
	flex-direction: column;
	height: 100%;
	background: transparent;
	transition: box-shadow 180ms ease, transform 240ms ease;
}

.cwtb-gallery-box__image {
	position: relative;
	box-sizing: border-box;
	max-width: 100%;
	margin-inline: auto;
	overflow: hidden;
	background: #f2f2f2;
	transition: box-shadow 240ms ease;
}

.cwtb-gallery-box__image img {
	display: block;
	width: 100%;
	height: auto;
	object-fit: cover;
	transition: filter 300ms ease, opacity 300ms ease, transform 450ms ease;
}

.cwtb-gallery-box__image.image-cover img {
	position: absolute;
	inset: 0;
	height: 100%;
}

.cwtb-gallery-box__image > :is(.overlay, .shade) {
	position: absolute;
	z-index: 1;
	inset: 0;
	pointer-events: none;
}

.cwtb-gallery-box__image > .shade { background: linear-gradient(to top, rgb(0 0 0 / 72%), transparent 65%); }
.cwtb-gallery-box__text {
	box-sizing: border-box;
	position: relative;
	z-index: 2;
	width: 100%;
	padding: 0.7em 1.4em 1.4em;
	color: #111;
	transition: filter 250ms ease, opacity 250ms ease, transform 250ms ease;
}

.cwtb-gallery-box.dark .cwtb-gallery-box__text,
.cwtb-gallery-box__text.dark { color: #fff; }
.cwtb-gallery-box__text.text-left { text-align: left; }
.cwtb-gallery-box__text.text-center { text-align: center; }
.cwtb-gallery-box__text.text-right { text-align: right; }
.cwtb-gallery-box__text.is-xsmall { font-size: 0.7em; }
.cwtb-gallery-box__text.is-small { font-size: 0.86em; }
.cwtb-gallery-box__text.is-medium { font-size: 1em; }
.cwtb-gallery-box__text.is-large { font-size: 1.15em; }
.cwtb-gallery-box__text.is-xlarge { font-size: 1.35em; }
.cwtb-gallery-box__text p { margin: 0.35em 0; color: inherit; }

.cwtb-gallery-box.box-default,
.cwtb-gallery-box.box-normal,
.cwtb-gallery-box.box-badge { background: #fff; }
.cwtb-gallery-box.box-push .cwtb-gallery-box__text {
	width: calc(100% - 2.4em);
	margin: -2.6em auto 0;
	background: #fff;
}
.cwtb-gallery-box.box-label .cwtb-gallery-box__text {
	width: calc(100% - 2em);
	margin: -1.7em auto 0;
	background: #fff;
}
.cwtb-gallery-box.box-bounce:hover { transform: translateY(-7px); }
.cwtb-gallery-box.box-vertical { align-items: stretch; flex-direction: row; }
.cwtb-gallery-box.box-vertical .cwtb-gallery-box__image { flex: 0 0 auto; margin: 0; }
.cwtb-gallery-box.box-vertical .cwtb-gallery-box__text { display: flex; flex: 1; flex-direction: column; justify-content: flex-end; }
.cwtb-gallery-box.box-vertical.box-text-top .cwtb-gallery-box__text { justify-content: flex-start; }
.cwtb-gallery-box.box-vertical.box-text-middle .cwtb-gallery-box__text { justify-content: center; }

.cwtb-gallery-box.box-overlay,
.cwtb-gallery-box.box-shade { min-height: 180px; overflow: hidden; background: #111; }
.cwtb-gallery-box.box-overlay .cwtb-gallery-box__image,
.cwtb-gallery-box.box-shade .cwtb-gallery-box__image { width: 100% !important; height: 100%; margin: 0; }
.cwtb-gallery-box.box-overlay .cwtb-gallery-box__text,
.cwtb-gallery-box.box-shade .cwtb-gallery-box__text { position: absolute; right: 0; bottom: 0; left: 0; }
.cwtb-gallery-box.box-overlay.box-text-top .cwtb-gallery-box__text,
.cwtb-gallery-box.box-shade.box-text-top .cwtb-gallery-box__text { top: 0; bottom: auto; }
.cwtb-gallery-box.box-overlay.box-text-middle .cwtb-gallery-box__text,
.cwtb-gallery-box.box-shade.box-text-middle .cwtb-gallery-box__text { top: 50%; bottom: auto; transform: translateY(-50%); }

.cwtb-gallery-box .image-zoom:hover img { transform: scale(1.1); }
.cwtb-gallery-box .image-zoom-long:hover img { transform: scale(1.18); transition-duration: 1.2s; }
.cwtb-gallery-box .image-zoom-fade:hover img { opacity: 0.72; transform: scale(1.1); }
.cwtb-gallery-box .image-blur:hover img { filter: blur(3px); }
.cwtb-gallery-box .image-fade-in img { opacity: 0.55; }
.cwtb-gallery-box .image-fade-in:hover img { opacity: 1; }
.cwtb-gallery-box .image-fade-out:hover img { opacity: 0.55; }
.cwtb-gallery-box .image-glow:hover { box-shadow: inset 0 0 0 4px rgb(255 255 255 / 60%), 0 8px 28px rgb(15 23 42 / 20%); }
.cwtb-gallery-box .image-color img { filter: grayscale(1); }
.cwtb-gallery-box .image-color:hover img { filter: grayscale(0); }
.cwtb-gallery-box .image-grayscale:hover img { filter: grayscale(1); }
.cwtb-gallery-box :is(.image-overlay-add, .image-overlay-add-50, .image-overlay-remove, .image-overlay-remove-50)::after {
	position: absolute;
	z-index: 2;
	inset: 0;
	background: #000;
	content: "";
	pointer-events: none;
	transition: opacity 300ms ease;
}
.cwtb-gallery-box .image-overlay-add::after,
.cwtb-gallery-box .image-overlay-add-50::after { opacity: 0; }
.cwtb-gallery-box .image-overlay-add:hover::after { opacity: 0.35; }
.cwtb-gallery-box .image-overlay-add-50:hover::after { opacity: 0.18; }
.cwtb-gallery-box .image-overlay-remove::after,
.cwtb-gallery-box .image-overlay-remove-50::after { opacity: 0.35; }
.cwtb-gallery-box .image-overlay-remove:hover::after { opacity: 0; }
.cwtb-gallery-box .image-overlay-remove-50:hover::after { opacity: 0.18; }

.cwtb-gallery-box__text.show-on-hover.hover-fade-in { opacity: 0; }
.cwtb-gallery-box:hover .cwtb-gallery-box__text.show-on-hover.hover-fade-in { opacity: 1; }
.cwtb-gallery-box:hover .cwtb-gallery-box__text.show-on-hover.hover-fade-out { opacity: 0; }
.cwtb-gallery-box__text.show-on-hover.hover-slide { transform: translateY(1em); }
.cwtb-gallery-box:hover .cwtb-gallery-box__text.show-on-hover.hover-slide { transform: translateY(0); }
.cwtb-gallery-box:hover .cwtb-gallery-box__text.show-on-hover.hover-zoom { transform: scale(0.94); }
.cwtb-gallery-box:hover .cwtb-gallery-box__text.show-on-hover.hover-zoom-in { transform: scale(1.06); }
.cwtb-gallery-box__text.show-on-hover.hover-blur { filter: blur(3px); }
.cwtb-gallery-box:hover .cwtb-gallery-box__text.show-on-hover.hover-blur { filter: none; }
.cwtb-gallery-box:hover .cwtb-gallery-box__text.show-on-hover.hover-bounce { animation: cwtb-gallery-bounce 500ms ease; }
.cwtb-gallery-box:hover .cwtb-gallery-box__text.show-on-hover.hover-invert { filter: invert(1); }

@keyframes cwtb-gallery-bounce {
	0%, 100% { transform: translateY(0); }
	45% { transform: translateY(-0.7em); }
	70% { transform: translateY(0.2em); }
}

.cwtb-gallery-box__image.box-shadow-1 { box-shadow: 0 2px 7px rgb(15 23 42 / 10%); }
.cwtb-gallery-box__image.box-shadow-2 { box-shadow: 0 5px 16px rgb(15 23 42 / 13%); }
.cwtb-gallery-box__image.box-shadow-3 { box-shadow: 0 10px 26px rgb(15 23 42 / 16%); }
.cwtb-gallery-box__image.box-shadow-4 { box-shadow: 0 16px 38px rgb(15 23 42 / 19%); }
.cwtb-gallery-box__image.box-shadow-5 { box-shadow: 0 24px 54px rgb(15 23 42 / 23%); }
.cwtb-gallery-box:hover .cwtb-gallery-box__image.box-shadow-1-hover { box-shadow: 0 2px 7px rgb(15 23 42 / 10%); }
.cwtb-gallery-box:hover .cwtb-gallery-box__image.box-shadow-2-hover { box-shadow: 0 5px 16px rgb(15 23 42 / 13%); }
.cwtb-gallery-box:hover .cwtb-gallery-box__image.box-shadow-3-hover { box-shadow: 0 10px 26px rgb(15 23 42 / 16%); }
.cwtb-gallery-box:hover .cwtb-gallery-box__image.box-shadow-4-hover { box-shadow: 0 16px 38px rgb(15 23 42 / 19%); }
.cwtb-gallery-box:hover .cwtb-gallery-box__image.box-shadow-5-hover { box-shadow: 0 24px 54px rgb(15 23 42 / 23%); }
.cwtb-gallery-box__video-icon {
	position: absolute;
	z-index: 3;
	top: 50%;
	left: 50%;
	display: grid;
	place-items: center;
	width: 52px;
	height: 52px;
	transform: translate(-50%, -50%);
	border: 2px solid #fff;
	border-radius: 50%;
	color: #fff;
}
.cwtb-gallery-box__video-icon span { width: 0; height: 0; margin-left: 4px; border-top: 8px solid transparent; border-bottom: 8px solid transparent; border-left: 13px solid currentcolor; }

@media (max-width: 849px) {
	.cwtb-ux-gallery--type-row .cwtb-ux-gallery__items { grid-template-columns: repeat(var(--cwtb-gallery-columns-tablet, 3), minmax(0, 1fr)); }
	.cwtb-ux-gallery--type-masonry .cwtb-ux-gallery__items { columns: var(--cwtb-gallery-columns-tablet, 3); }
	.cwtb-ux-gallery.cwtb-slider .cwtb-slider__track > .cwtb-ux-gallery__item { flex-basis: calc((100% - (var(--cwtb-gallery-gap, 30px) * (var(--cwtb-gallery-columns-tablet, 3) - 1))) / var(--cwtb-gallery-columns-tablet, 3)); }
	.cwtb-ux-gallery--type-slider-full.cwtb-slider .cwtb-slider__track > .cwtb-ux-gallery__item { flex-basis: 100%; }
	.cwtb-ux-gallery--type-grid .cwtb-ux-gallery__items { height: var(--cwtb-grid-height-tablet, var(--cwtb-grid-height-desktop, 600px)); }
	.cwtb-ux-gallery--type-grid .grid-col { grid-column: span 12; }
	.cwtb-ux-gallery--type-grid .medium-6 { grid-column: span 6; }
	.cwtb-gallery-box.box-vertical { flex-direction: column; }
	.cwtb-gallery-box.box-vertical .cwtb-gallery-box__image { width: 100% !important; }
}

@media (max-width: 549px) {
	.cwtb-ux-gallery--container { width: min(calc(100% - 30px), var(--cwtb-content-width, 1080px)); }
	.cwtb-ux-gallery--type-row .cwtb-ux-gallery__items { grid-template-columns: repeat(var(--cwtb-gallery-columns-mobile, 2), minmax(0, 1fr)); }
	.cwtb-ux-gallery--type-masonry .cwtb-ux-gallery__items { columns: var(--cwtb-gallery-columns-mobile, 2); }
	.cwtb-ux-gallery.cwtb-slider .cwtb-slider__track > .cwtb-ux-gallery__item { flex-basis: calc((100% - (var(--cwtb-gallery-gap, 30px) * (var(--cwtb-gallery-columns-mobile, 2) - 1))) / var(--cwtb-gallery-columns-mobile, 2)); }
	.cwtb-ux-gallery--type-slider-full.cwtb-slider .cwtb-slider__track > .cwtb-ux-gallery__item { flex-basis: 100%; }
	.cwtb-ux-gallery--type-grid .cwtb-ux-gallery__items { display: grid; grid-template-columns: 1fr; grid-template-rows: none; height: auto; }
	.cwtb-ux-gallery--type-grid .grid-col { grid-column: 1; grid-row: auto; min-height: var(--cwtb-grid-height-mobile, var(--cwtb-grid-height-tablet, var(--cwtb-grid-height-desktop, 600px))); }
	.cwtb-gallery-box.box-push .cwtb-gallery-box__text,
	.cwtb-gallery-box.box-label .cwtb-gallery-box__text { width: calc(100% - 1.5em); }
}

@media (prefers-reduced-motion: reduce) {
	.cwtb-gallery-box,
	.cwtb-gallery-box__text,
	.cwtb-gallery-box__image img { transition: none; animation: none; }
}

/* Blog Posts contract. */
.cwtb-blog-posts {
	box-sizing: border-box;
	position: relative;
	min-width: 0;
}

.cwtb-blog-posts--container {
	width: min(calc(100% - 40px), var(--cwtb-content-width, 1080px));
	margin-inline: auto;
}

.cwtb-blog-posts--full-width { width: 100%; }
.cwtb-blog-posts__items { min-width: 0; }

.cwtb-blog-posts--type-row .cwtb-blog-posts__items {
	display: grid;
	grid-template-columns: repeat(var(--cwtb-blog-columns-desktop, 4), minmax(0, 1fr));
	gap: var(--cwtb-blog-gap, 30px);
}

.cwtb-blog-posts--type-masonry .cwtb-blog-posts__items {
	columns: var(--cwtb-blog-columns-desktop, 4);
	column-gap: var(--cwtb-blog-gap, 30px);
}

.cwtb-blog-posts--type-masonry .cwtb-blog-posts__item {
	display: inline-block;
	width: 100%;
	margin-bottom: var(--cwtb-blog-gap, 30px);
	break-inside: avoid;
}

.cwtb-blog-posts.cwtb-slider { overflow: hidden; }
.cwtb-blog-posts.cwtb-slider .cwtb-slider__track { gap: var(--cwtb-blog-gap, 30px); }
.cwtb-blog-posts.cwtb-slider .cwtb-slider__track > .cwtb-blog-posts__item {
	flex-basis: calc((100% - (var(--cwtb-blog-gap, 30px) * (var(--cwtb-blog-columns-desktop, 4) - 1))) / var(--cwtb-blog-columns-desktop, 4));
}

.cwtb-blog-posts--type-slider-full.cwtb-slider .cwtb-slider__track { gap: 0; }
.cwtb-blog-posts--type-slider-full.cwtb-slider .cwtb-slider__track > .cwtb-blog-posts__item { flex-basis: 100%; }
.cwtb-blog-posts.cwtb-slider .cwtb-slider__dots { bottom: 10px; }
.cwtb-blog-posts.cwtb-slider .cwtb-slider__dots button { border-color: currentcolor; }
.cwtb-blog-posts.cwtb-slider .cwtb-slider__dots button.is-active { background: currentcolor; }

.cwtb-blog-posts--type-grid .cwtb-blog-posts__items {
	display: grid;
	grid-auto-flow: dense;
	grid-template-columns: repeat(12, minmax(0, 1fr));
	grid-template-rows: repeat(6, minmax(0, 1fr));
	gap: var(--cwtb-blog-gap, 30px);
	height: var(--cwtb-grid-height-desktop, 600px);
}

.cwtb-blog-posts--type-grid .grid-col { min-width: 0; min-height: 0; }
.cwtb-blog-posts--type-grid .large-2 { grid-column: span 2; }
.cwtb-blog-posts--type-grid .large-3 { grid-column: span 3; }
.cwtb-blog-posts--type-grid .large-4 { grid-column: span 4; }
.cwtb-blog-posts--type-grid .large-6 { grid-column: span 6; }
.cwtb-blog-posts--type-grid .large-8 { grid-column: span 8; }
.cwtb-blog-posts--type-grid .large-9 { grid-column: span 9; }
.cwtb-blog-posts--type-grid .large-12 { grid-column: span 12; }
.cwtb-blog-posts--type-grid .grid-col-1 { grid-row: span 6; }
.cwtb-blog-posts--type-grid .grid-col-1-2 { grid-row: span 3; }
.cwtb-blog-posts--type-grid .grid-col-1-3 { grid-row: span 2; }
.cwtb-blog-posts--type-grid .grid-col-2-3 { grid-row: span 4; }
.cwtb-blog-posts--type-grid .col-inner,
.cwtb-blog-posts--type-grid .cwtb-blog-card,
.cwtb-blog-posts--type-grid .box-image,
.cwtb-blog-posts--type-grid .box-image-inner { height: 100%; }

.cwtb-blog-posts__item {
	box-sizing: border-box;
	position: relative;
	min-width: 0;
}

.cwtb-blog-posts__item .col-inner { height: 100%; }
.cwtb-blog-card {
	position: relative;
	display: flex;
	flex-direction: column;
	height: 100%;
	background: transparent;
	transition: box-shadow 180ms ease, transform 240ms ease;
}

.cwtb-blog-card .box-image {
	position: relative;
	max-width: 100%;
	margin-inline: auto;
}

.cwtb-blog-card .box-image-inner {
	position: relative;
	box-sizing: border-box;
	width: 100%;
	overflow: hidden;
	background: #f2f2f2;
}

.cwtb-blog-card .box-image-inner > a { position: absolute; inset: 0; display: block; }
.cwtb-blog-card .box-image-inner img {
	display: block;
	width: 100%;
	height: 100%;
	object-fit: cover;
	transition: filter 300ms ease, opacity 300ms ease, transform 450ms ease;
}

.cwtb-blog-card .box-image-inner > .overlay,
.cwtb-blog-card .box-image-inner > .shade {
	position: absolute;
	z-index: 1;
	inset: 0;
	pointer-events: none;
}

.cwtb-blog-card .box-image-inner > .shade { background: linear-gradient(to top, rgb(0 0 0 / 72%), transparent 65%); }
.cwtb-blog-card__post-icon {
	position: absolute;
	z-index: 2;
	top: 50%;
	left: 50%;
	display: grid;
	place-items: center;
	width: 46px;
	height: 46px;
	transform: translate(-50%, -50%);
	border: 2px solid currentcolor;
	border-radius: 50%;
	background: rgb(0 0 0 / 35%);
	color: #fff;
}

.cwtb-blog-card__text {
	box-sizing: border-box;
	position: relative;
	z-index: 2;
	width: 100%;
	padding: 0.7em 1.4em 1.4em;
	color: #111;
	transition: filter 250ms ease, opacity 250ms ease, transform 250ms ease;
}

.cwtb-blog-card__text.dark { color: #fff; }
.cwtb-blog-card__text.text-left { text-align: left; }
.cwtb-blog-card__text.text-center { text-align: center; }
.cwtb-blog-card__text.text-right { text-align: right; }
.cwtb-blog-card__text.is-small { font-size: 0.86em; }
.cwtb-blog-card__text.is-large { font-size: 1.15em; }
.cwtb-blog-card__text :is(h1, h2, h3, h4, h5, h6, p) { color: inherit; }
.cwtb-blog-card__text a { color: inherit; text-decoration: none; }
.cwtb-blog-card .post-title { margin: 0.1em 0; line-height: 1.3; }
.cwtb-blog-card .post-title.is-small { font-size: 0.9em; }
.cwtb-blog-card .post-title.is-medium { font-size: 1em; }
.cwtb-blog-card .post-title.is-large { font-size: 1.15em; }
.cwtb-blog-card .post-title.is-larger { font-size: 1.3em; }
.cwtb-blog-card .post-title.is-xlarge { font-size: 1.55em; }
.cwtb-blog-card .post-title.is-xxlarge { font-size: 2em; }
.cwtb-blog-card .uppercase { text-transform: uppercase; letter-spacing: 0.04em; }
.cwtb-blog-card .cat-label { margin: 0.1em 0 0.4em; font-size: 0.7em; opacity: 0.72; }
.cwtb-blog-card .tag-label { display: inline-block; padding: 0.25em 0.55em; background: var(--cwtb-accent, #446084); color: #fff; opacity: 1; }
.cwtb-blog-card .post-meta { margin-top: 0.35em; }
.cwtb-blog-card .is-divider { width: 30px; height: 2px; margin: 0.65em auto; background: currentcolor; opacity: 0.18; }
.cwtb-blog-card__text.text-left .is-divider { margin-left: 0; }
.cwtb-blog-card__text.text-right .is-divider { margin-right: 0; }
.cwtb-blog-card .from_the_blog_excerpt { margin: 0.45em 0; line-height: 1.6; }
.cwtb-blog-card .from_the_blog_comments { margin: 0.6em 0 0; font-size: 0.72em; opacity: 0.7; }
.cwtb-blog-card .button { margin-top: 0.65em; }

.cwtb-blog-card--default,
.cwtb-blog-card--badge { background: #fff; }
.cwtb-blog-card--default .cwtb-blog-card__text,
.cwtb-blog-card--badge .cwtb-blog-card__text { padding: 1.25em; }
.cwtb-blog-card--push .cwtb-blog-card__text {
	width: calc(100% - 2.4em);
	margin: -2.6em auto 0;
	background: #fff;
}
.cwtb-blog-card--bounce:hover { transform: translateY(-7px); }
.cwtb-blog-card--label .cwtb-blog-card__text {
	width: calc(100% - 2em);
	margin: -1.7em auto 0;
	background: #fff;
}

.cwtb-blog-card--vertical {
	align-items: stretch;
	flex-direction: row;
}
.cwtb-blog-card--vertical .box-image { flex: 0 0 auto; margin: 0; }
.cwtb-blog-card--vertical .cwtb-blog-card__text { display: flex; flex: 1; flex-direction: column; justify-content: flex-end; }
.cwtb-blog-card--vertical .box-text-top { justify-content: flex-start; }
.cwtb-blog-card--vertical .box-text-middle { justify-content: center; }

.cwtb-blog-card--overlay,
.cwtb-blog-card--shade { min-height: 240px; overflow: hidden; background: #111; }
.cwtb-blog-card--overlay .box-image,
.cwtb-blog-card--shade .box-image { width: 100% !important; height: 100%; margin: 0; }
.cwtb-blog-card--overlay .box-image-inner,
.cwtb-blog-card--shade .box-image-inner { height: 100%; padding-top: 0 !important; }
.cwtb-blog-card--overlay .cwtb-blog-card__text,
.cwtb-blog-card--shade .cwtb-blog-card__text {
	position: absolute;
	right: 0;
	bottom: 0;
	left: 0;
	color: #fff;
}
.cwtb-blog-card--overlay .box-text-top,
.cwtb-blog-card--shade .box-text-top { top: 0; bottom: auto; }
.cwtb-blog-card--overlay .box-text-middle,
.cwtb-blog-card--shade .box-text-middle { top: 50%; bottom: auto; transform: translateY(-50%); }

.cwtb-blog-card .post-date {
	position: absolute;
	z-index: 4;
	top: 7%;
	left: 0;
	display: grid;
	place-items: center;
	width: 2.8em;
	height: 2.8em;
	color: var(--cwtb-accent, #446084);
	text-align: center;
}
.cwtb-blog-card .badge-inner { display: block; width: 100%; padding: 0.25em; border: 2px solid currentcolor; background: #fff; font-weight: 700; line-height: 0.85; }
.cwtb-blog-card .badge-square .badge-inner { border-radius: 0; }
.cwtb-blog-card .badge-circle .badge-inner,
.cwtb-blog-card .badge-circle-inside .badge-inner { border-radius: 50%; }
.cwtb-blog-card .badge-circle-inside { left: 0.75em; }

.cwtb-blog-card .image-zoom:hover img { transform: scale(1.1); }
.cwtb-blog-card .image-zoom-long img { transition-duration: 5s; }
.cwtb-blog-card:hover .image-zoom-long img,
.cwtb-blog-card:focus-within .image-zoom-long img { transform: scale(1.3); }
.cwtb-blog-card:hover .image-zoom-fade img,
.cwtb-blog-card:focus-within .image-zoom-fade img { opacity: 0.7; transform: scale(1.1); }
.cwtb-blog-card:hover .image-blur img,
.cwtb-blog-card:focus-within .image-blur img { filter: blur(5px); }
.cwtb-blog-card .image-zoom-out img { transform: scale(1.1); }
.cwtb-blog-card .image-zoom-out:hover img { transform: scale(1); }
.cwtb-blog-card .image-fade-in img { opacity: 0.55; }
.cwtb-blog-card .image-fade-in:hover img { opacity: 1; }
.cwtb-blog-card .image-fade-out:hover img { opacity: 0.55; }
.cwtb-blog-card .image-glow:hover { box-shadow: inset 0 0 0 4px rgb(255 255 255 / 60%), 0 8px 28px rgb(15 23 42 / 20%); }
.cwtb-blog-card .image-color img { filter: grayscale(1); }
.cwtb-blog-card .image-color:hover img { filter: grayscale(0); }
.cwtb-blog-card .image-grayscale:hover img { filter: grayscale(1); }
.cwtb-blog-card .image-overlay-add::after,
.cwtb-blog-card .image-overlay-add-50::after,
.cwtb-blog-card .image-overlay-remove::after,
.cwtb-blog-card .image-overlay-remove-50::after {
	position: absolute;
	z-index: 2;
	inset: 0;
	background: #000;
	content: "";
	pointer-events: none;
	transition: opacity 300ms ease;
}
.cwtb-blog-card .image-overlay-add::after { opacity: 0; }
.cwtb-blog-card .image-overlay-add:hover::after { opacity: 0.35; }
.cwtb-blog-card .image-overlay-add-50::after { opacity: 0; }
.cwtb-blog-card .image-overlay-add-50:hover::after { opacity: 0.18; }
.cwtb-blog-card .image-overlay-remove::after { opacity: 0.35; }
.cwtb-blog-card .image-overlay-remove:hover::after { opacity: 0; }
.cwtb-blog-card .image-overlay-remove-50::after { opacity: 0.35; }
.cwtb-blog-card .image-overlay-remove-50:hover::after { opacity: 0.18; }

.cwtb-blog-card__text.show-on-hover.hover-fade-in { opacity: 0; }
.cwtb-blog-card:hover .cwtb-blog-card__text.show-on-hover.hover-fade-in { opacity: 1; }
.cwtb-blog-card:hover .cwtb-blog-card__text.show-on-hover.hover-fade-out { opacity: 0; }
.cwtb-blog-card__text.show-on-hover.hover-slide { transform: translateY(1em); }
.cwtb-blog-card:hover .cwtb-blog-card__text.show-on-hover.hover-slide { transform: translateY(0); }
.cwtb-blog-card:hover .cwtb-blog-card__text.show-on-hover.hover-zoom { transform: scale(0.94); }
.cwtb-blog-card:hover .cwtb-blog-card__text.show-on-hover.hover-zoom-in { transform: scale(1.06); }
.cwtb-blog-card__text.show-on-hover.hover-blur { filter: blur(3px); }
.cwtb-blog-card:hover .cwtb-blog-card__text.show-on-hover.hover-blur { filter: blur(0); }
.cwtb-blog-card:hover .cwtb-blog-card__text.show-on-hover.hover-bounce { animation: cwtb-text-box-bounce 0.45s both; }
.cwtb-blog-card:hover .cwtb-blog-card__text.show-on-hover.hover-invert { filter: invert(1); }
.cwtb-blog-card .from_the_blog_excerpt.show-on-hover { max-height: 0; margin-block: 0; overflow: hidden; opacity: 0; transform: translateY(0.75em); transition: max-height 300ms ease, margin 300ms ease, opacity 250ms ease, transform 300ms ease; }
.cwtb-blog-card:hover .from_the_blog_excerpt.show-on-hover { max-height: 12em; margin-block: 0.45em; opacity: 1; transform: none; }

.cwtb-blog-posts .ux-relay__control { width: 100%; padding-block: 0.75em; }
.cwtb-blog-posts .ux-relay__control.text-left { text-align: left; }
.cwtb-blog-posts .ux-relay__control.text-center { text-align: center; }
.cwtb-blog-posts .ux-relay__control.text-right { text-align: right; }
.cwtb-blog-posts .ux-relay__pagination { display: flex; flex-wrap: wrap; justify-content: inherit; gap: 0.3em; margin: 0; padding: 0; list-style: none; }
.cwtb-blog-posts .ux-relay__pagination .page-number,
.cwtb-blog-posts .ux-relay__nav-button {
	display: inline-grid;
	place-items: center;
	min-width: 2.25em;
	min-height: 2.25em;
	border: 1px solid currentcolor;
	border-radius: 50%;
	color: inherit;
	text-decoration: none;
}
.cwtb-blog-posts .ux-relay__pagination [aria-current="page"] { background: var(--cwtb-accent, #446084); color: #fff; }
.cwtb-blog-posts .ux-relay__nav-button { margin-inline: 0.15em; background: transparent; }
.cwtb-blog-posts .ux-relay__nav-button:disabled { opacity: 0.35; }

@media (max-width: 849px) {
	.cwtb-blog-posts--type-row .cwtb-blog-posts__items { grid-template-columns: repeat(var(--cwtb-blog-columns-tablet, var(--cwtb-blog-columns-desktop, 4)), minmax(0, 1fr)); }
	.cwtb-blog-posts--type-masonry .cwtb-blog-posts__items { columns: var(--cwtb-blog-columns-tablet, var(--cwtb-blog-columns-desktop, 4)); }
	.cwtb-blog-posts.cwtb-slider .cwtb-slider__track > .cwtb-blog-posts__item { flex-basis: calc((100% - (var(--cwtb-blog-gap, 30px) * (var(--cwtb-blog-columns-tablet, var(--cwtb-blog-columns-desktop, 4)) - 1))) / var(--cwtb-blog-columns-tablet, var(--cwtb-blog-columns-desktop, 4))); }
	.cwtb-blog-posts--type-slider-full.cwtb-slider .cwtb-slider__track > .cwtb-blog-posts__item { flex-basis: 100%; }
	.cwtb-blog-posts--type-grid .cwtb-blog-posts__items { height: var(--cwtb-grid-height-tablet, var(--cwtb-grid-height-desktop, 500px)); }
	.cwtb-blog-posts--type-grid .grid-col { grid-column: span 12; }
	.cwtb-blog-posts--type-grid .medium-6 { grid-column: span 6; }
	.cwtb-blog-card--vertical { flex-direction: column; }
	.cwtb-blog-card--vertical .box-image { width: 100% !important; }
}

@media (max-width: 549px) {
	.cwtb-blog-posts--container { width: min(calc(100% - 30px), var(--cwtb-content-width, 1080px)); }
	.cwtb-blog-posts--type-row .cwtb-blog-posts__items { grid-template-columns: repeat(var(--cwtb-blog-columns-mobile, 1), minmax(0, 1fr)); }
	.cwtb-blog-posts--type-masonry .cwtb-blog-posts__items { columns: var(--cwtb-blog-columns-mobile, 1); }
	.cwtb-blog-posts.cwtb-slider .cwtb-slider__track > .cwtb-blog-posts__item { flex-basis: calc((100% - (var(--cwtb-blog-gap, 30px) * (var(--cwtb-blog-columns-mobile, 1) - 1))) / var(--cwtb-blog-columns-mobile, 1)); }
	.cwtb-blog-posts--type-slider-full.cwtb-slider .cwtb-slider__track > .cwtb-blog-posts__item { flex-basis: 100%; }
	.cwtb-blog-posts--type-grid .cwtb-blog-posts__items { display: grid; grid-template-columns: 1fr; grid-template-rows: none; height: auto; }
	.cwtb-blog-posts--type-grid .grid-col { grid-column: 1; grid-row: auto; min-height: var(--cwtb-grid-height-mobile, 400px); }
	.cwtb-blog-card--push .cwtb-blog-card__text,
	.cwtb-blog-card--label .cwtb-blog-card__text { width: calc(100% - 1.5em); }
}

@media (prefers-reduced-motion: reduce) {
	.cwtb-blog-card,
	.cwtb-blog-card__text,
	.cwtb-blog-card .box-image-inner img { transition: none; animation: none; }
}

/* Pages contract. */
.cwtb-pages {
	box-sizing: border-box;
	position: relative;
	min-width: 0;
}

.cwtb-pages--container {
	width: min(calc(100% - 40px), var(--cwtb-content-width, 1080px));
	margin-inline: auto;
}

.cwtb-pages--full-width { width: 100%; }
.cwtb-pages__items { min-width: 0; }

.cwtb-pages--type-row .cwtb-pages__items {
	display: grid;
	grid-template-columns: repeat(var(--cwtb-pages-columns-desktop, 4), minmax(0, 1fr));
	gap: var(--cwtb-pages-gap, 30px);
}

.cwtb-pages--type-masonry .cwtb-pages__items {
	columns: var(--cwtb-pages-columns-desktop, 4);
	column-gap: var(--cwtb-pages-gap, 30px);
}

.cwtb-pages--type-masonry .cwtb-pages__item {
	display: inline-block;
	width: 100%;
	margin-bottom: var(--cwtb-pages-gap, 30px);
	break-inside: avoid;
}

.cwtb-pages.cwtb-slider { overflow: hidden; }
.cwtb-pages.cwtb-slider .cwtb-slider__track { gap: var(--cwtb-pages-gap, 30px); }
.cwtb-pages.cwtb-slider .cwtb-slider__track > .cwtb-pages__item {
	flex-basis: calc((100% - (var(--cwtb-pages-gap, 30px) * (var(--cwtb-pages-columns-desktop, 4) - 1))) / var(--cwtb-pages-columns-desktop, 4));
}
.cwtb-pages--type-slider-full.cwtb-slider .cwtb-slider__track { gap: 0; }
.cwtb-pages--type-slider-full.cwtb-slider .cwtb-slider__track > .cwtb-pages__item { flex-basis: 100%; }
.cwtb-pages.cwtb-slider .cwtb-slider__dots { bottom: 10px; }

.cwtb-pages--type-grid .cwtb-pages__items {
	display: grid;
	grid-auto-flow: dense;
	grid-template-columns: repeat(12, minmax(0, 1fr));
	grid-template-rows: repeat(6, minmax(0, 1fr));
	gap: var(--cwtb-pages-gap, 30px);
	height: var(--cwtb-grid-height-desktop, 600px);
}
.cwtb-pages--type-grid .grid-col { min-width: 0; min-height: 0; }
.cwtb-pages--type-grid .large-2 { grid-column: span 2; }
.cwtb-pages--type-grid .large-3 { grid-column: span 3; }
.cwtb-pages--type-grid .large-4 { grid-column: span 4; }
.cwtb-pages--type-grid .large-6 { grid-column: span 6; }
.cwtb-pages--type-grid .large-8 { grid-column: span 8; }
.cwtb-pages--type-grid .large-9 { grid-column: span 9; }
.cwtb-pages--type-grid .large-12 { grid-column: span 12; }
.cwtb-pages--type-grid .grid-col-1 { grid-row: span 6; }
.cwtb-pages--type-grid .grid-col-1-2 { grid-row: span 3; }
.cwtb-pages--type-grid .grid-col-1-3 { grid-row: span 2; }
.cwtb-pages--type-grid .grid-col-2-3 { grid-row: span 4; }
.cwtb-pages--type-grid :is(.col-inner, .cwtb-page-card, .cwtb-page-card__media, .cwtb-page-card__image) { height: 100%; }

.cwtb-pages__item {
	box-sizing: border-box;
	position: relative;
	min-width: 0;
}
.cwtb-pages__item > .col-inner,
.cwtb-pages__item > .col-inner > .block { display: block; height: 100%; }
.cwtb-pages__item .plain { color: inherit; text-decoration: none; }

.cwtb-page-card {
	position: relative;
	display: flex;
	flex-direction: column;
	height: 100%;
	background: transparent;
	transition: box-shadow 180ms ease, transform 240ms ease;
}
.cwtb-page-card__media {
	position: relative;
	max-width: 100%;
	margin-inline: auto;
	overflow: hidden;
	background: #f2f2f2;
}
.cwtb-page-card__image {
	position: relative;
	box-sizing: border-box;
	width: 100%;
	overflow: hidden;
}
.cwtb-page-card__image img {
	display: block;
	width: 100%;
	height: auto;
	transition: filter 300ms ease, opacity 300ms ease, transform 450ms ease;
}
.cwtb-page-card__image.image-cover img {
	position: absolute;
	inset: 0;
	height: 100%;
	object-fit: cover;
}
.cwtb-page-card__media > :is(.overlay, .shade) {
	position: absolute;
	z-index: 1;
	inset: 0;
	pointer-events: none;
}
.cwtb-page-card__media > .shade { background: linear-gradient(to top, rgb(0 0 0 / 72%), transparent 65%); }

.cwtb-page-card__text {
	box-sizing: border-box;
	position: relative;
	z-index: 2;
	width: 100%;
	padding: .7em 1.4em 1.4em;
	color: #111;
	transition: filter 250ms ease, opacity 250ms ease, transform 250ms ease;
}
.cwtb-page-card__text.dark { color: #fff; }
.cwtb-page-card__text.text-left { text-align: left; }
.cwtb-page-card__text.text-center { text-align: center; }
.cwtb-page-card__text.text-right { text-align: right; }
.cwtb-page-card__text.is-xsmall { font-size: .72em; }
.cwtb-page-card__text.is-small { font-size: .86em; }
.cwtb-page-card__text.is-medium { font-size: 1em; }
.cwtb-page-card__text.is-large { font-size: 1.15em; }
.cwtb-page-card__text.is-xlarge { font-size: 1.35em; }
.cwtb-page-card__text p { margin: .1em 0; color: inherit; line-height: 1.3; }

.cwtb-page-card--default,
.cwtb-page-card--normal,
.cwtb-page-card--badge { background: #fff; }
.cwtb-page-card--push .cwtb-page-card__text {
	width: calc(100% - 2.4em);
	margin: -2.6em auto 0;
	background: #fff;
}
.cwtb-page-card--label .cwtb-page-card__text {
	width: calc(100% - 2em);
	margin: -1.7em auto 0;
	background: #fff;
}
.cwtb-page-card--badge .cwtb-page-card__text {
	position: absolute;
	bottom: 15%;
	width: auto;
	min-width: 45%;
	padding: .8em 1em 1em;
	background: rgb(255 255 255 / 95%);
}
.cwtb-page-card--badge:hover .cwtb-page-card__text { background: var(--cwtb-primary, var(--cwtb-accent)); color: #fff; }
.cwtb-page-card--bounce:hover { transform: translateY(-7px); }

.cwtb-page-card--vertical { align-items: stretch; flex-direction: row; }
.cwtb-page-card--vertical .cwtb-page-card__media { flex: 0 0 auto; margin: 0; }
.cwtb-page-card--vertical .cwtb-page-card__text { display: flex; flex: 1; flex-direction: column; justify-content: flex-end; }
.cwtb-page-card--vertical.box-text-top .cwtb-page-card__text { justify-content: flex-start; }
.cwtb-page-card--vertical.box-text-middle .cwtb-page-card__text { justify-content: center; }

.cwtb-page-card--overlay,
.cwtb-page-card--shade { min-height: 240px; overflow: hidden; background: #111; }
.cwtb-page-card--overlay .cwtb-page-card__media,
.cwtb-page-card--shade .cwtb-page-card__media { width: 100% !important; height: 100%; margin: 0; }
.cwtb-page-card--overlay .cwtb-page-card__image,
.cwtb-page-card--shade .cwtb-page-card__image { height: 100%; padding-top: 0 !important; }
.cwtb-page-card--overlay .cwtb-page-card__image img,
.cwtb-page-card--shade .cwtb-page-card__image img { height: 100%; object-fit: cover; }
.cwtb-page-card--overlay .cwtb-page-card__text,
.cwtb-page-card--shade .cwtb-page-card__text { position: absolute; right: 0; bottom: 0; left: 0; color: #fff; }
.cwtb-page-card--overlay.box-text-top .cwtb-page-card__text,
.cwtb-page-card--shade.box-text-top .cwtb-page-card__text { top: 0; bottom: auto; }
.cwtb-page-card--overlay.box-text-middle .cwtb-page-card__text,
.cwtb-page-card--shade.box-text-middle .cwtb-page-card__text { top: 50%; bottom: auto; transform: translateY(-50%); }

.cwtb-page-card:hover .image-zoom img { transform: scale(1.1); }
.cwtb-page-card .image-zoom-long img { transition-duration: 1.2s; }
.cwtb-page-card:hover .image-zoom-long img { transform: scale(1.18); }
.cwtb-page-card:hover .image-zoom-fade img { opacity: .72; transform: scale(1.1); }
.cwtb-page-card:hover .image-blur img { filter: blur(3px); }
.cwtb-page-card .image-fade-in img { opacity: .55; }
.cwtb-page-card:hover .image-fade-in img { opacity: 1; }
.cwtb-page-card:hover .image-fade-out img { opacity: .55; }
.cwtb-page-card:hover .image-glow { box-shadow: inset 0 0 0 4px rgb(255 255 255 / 60%), 0 8px 28px rgb(15 23 42 / 20%); }
.cwtb-page-card .image-color img { filter: grayscale(1); }
.cwtb-page-card:hover .image-color img { filter: grayscale(0); }
.cwtb-page-card:hover .image-grayscale img { filter: grayscale(1); }
.cwtb-page-card .image-overlay-add::after,
.cwtb-page-card .image-overlay-add-50::after,
.cwtb-page-card .image-overlay-remove::after,
.cwtb-page-card .image-overlay-remove-50::after {
	position: absolute;
	z-index: 2;
	inset: 0;
	background: #000;
	content: "";
	pointer-events: none;
	transition: opacity 300ms ease;
}
.cwtb-page-card .image-overlay-add::after { opacity: 0; }
.cwtb-page-card:hover .image-overlay-add::after { opacity: .35; }
.cwtb-page-card .image-overlay-add-50::after { opacity: 0; }
.cwtb-page-card:hover .image-overlay-add-50::after { opacity: .18; }
.cwtb-page-card .image-overlay-remove::after { opacity: .35; }
.cwtb-page-card:hover .image-overlay-remove::after { opacity: 0; }
.cwtb-page-card .image-overlay-remove-50::after { opacity: .35; }
.cwtb-page-card:hover .image-overlay-remove-50::after { opacity: .18; }

.cwtb-page-card__text.show-on-hover.hover-fade-in { opacity: 0; }
.cwtb-page-card:hover .cwtb-page-card__text.show-on-hover.hover-fade-in { opacity: 1; }
.cwtb-page-card:hover .cwtb-page-card__text.show-on-hover.hover-fade-out { opacity: 0; }
.cwtb-page-card__text.show-on-hover.hover-slide { transform: translateY(1em); }
.cwtb-page-card:hover .cwtb-page-card__text.show-on-hover.hover-slide { transform: translateY(0); }
.cwtb-page-card:hover .cwtb-page-card__text.show-on-hover.hover-zoom { transform: scale(.94); }
.cwtb-page-card:hover .cwtb-page-card__text.show-on-hover.hover-zoom-in { transform: scale(1.06); }
.cwtb-page-card__text.show-on-hover.hover-blur { filter: blur(3px); }
.cwtb-page-card:hover .cwtb-page-card__text.show-on-hover.hover-blur { filter: none; }
.cwtb-page-card:hover .cwtb-page-card__text.show-on-hover.hover-bounce { animation: cwtb-text-box-bounce .45s both; }
.cwtb-page-card:hover .cwtb-page-card__text.show-on-hover.hover-invert { filter: invert(1); }

@media (max-width: 849px) {
	.cwtb-pages--type-row .cwtb-pages__items { grid-template-columns: repeat(var(--cwtb-pages-columns-tablet, 3), minmax(0, 1fr)); }
	.cwtb-pages--type-masonry .cwtb-pages__items { columns: var(--cwtb-pages-columns-tablet, 3); }
	.cwtb-pages.cwtb-slider .cwtb-slider__track > .cwtb-pages__item { flex-basis: calc((100% - (var(--cwtb-pages-gap, 30px) * (var(--cwtb-pages-columns-tablet, 3) - 1))) / var(--cwtb-pages-columns-tablet, 3)); }
	.cwtb-pages--type-slider-full.cwtb-slider .cwtb-slider__track > .cwtb-pages__item { flex-basis: 100%; }
	.cwtb-pages--type-grid .cwtb-pages__items { height: var(--cwtb-grid-height-tablet, var(--cwtb-grid-height-desktop, 500px)); }
	.cwtb-pages--type-grid .grid-col { grid-column: span 12; }
	.cwtb-pages--type-grid .medium-6 { grid-column: span 6; }
	.cwtb-page-card--vertical { flex-direction: column; }
	.cwtb-page-card--vertical .cwtb-page-card__media { width: 100% !important; }
}

@media (max-width: 549px) {
	.cwtb-pages--container { width: min(calc(100% - 30px), var(--cwtb-content-width, 1080px)); }
	.cwtb-pages--type-row .cwtb-pages__items { grid-template-columns: repeat(var(--cwtb-pages-columns-mobile, 2), minmax(0, 1fr)); }
	.cwtb-pages--type-masonry .cwtb-pages__items { columns: var(--cwtb-pages-columns-mobile, 2); }
	.cwtb-pages.cwtb-slider .cwtb-slider__track > .cwtb-pages__item { flex-basis: calc((100% - (var(--cwtb-pages-gap, 30px) * (var(--cwtb-pages-columns-mobile, 2) - 1))) / var(--cwtb-pages-columns-mobile, 2)); }
	.cwtb-pages--type-slider-full.cwtb-slider .cwtb-slider__track > .cwtb-pages__item { flex-basis: 100%; }
	.cwtb-pages--type-grid .cwtb-pages__items { grid-template-columns: 1fr; grid-template-rows: none; height: auto; }
	.cwtb-pages--type-grid .grid-col { grid-column: 1; grid-row: auto; min-height: var(--cwtb-grid-height-mobile, 400px); }
	.cwtb-page-card--push .cwtb-page-card__text,
	.cwtb-page-card--label .cwtb-page-card__text { width: calc(100% - 1.5em); }
}

@media (prefers-reduced-motion: reduce) {
	.cwtb-page-card,
	.cwtb-page-card__text,
	.cwtb-page-card__image img { transition: none; animation: none; }
}

/* Portfolio contract. */
.cwtb-portfolio {
	box-sizing: border-box;
	position: relative;
	min-width: 0;
}

.cwtb-portfolio > .container {
	width: min(calc(100% - 40px), var(--cwtb-content-width, 1080px));
	margin-inline: auto;
}

.cwtb-portfolio .filter-nav {
	display: flex;
	align-items: center;
	flex-flow: row wrap;
	gap: 0;
	width: 100%;
	margin: 0 0 15px;
	padding: 0;
}
.cwtb-portfolio .filter-nav.nav-left { justify-content: flex-start; }
.cwtb-portfolio .filter-nav.nav-center { justify-content: center; }
.cwtb-portfolio .filter-nav.nav-right { justify-content: flex-end; }
.cwtb-portfolio .filter-nav > li { position: relative; display: inline-block; margin: 0 7px; padding: 0; list-style: none; }
.cwtb-portfolio .filter-nav > li:first-child { margin-left: 0; }
.cwtb-portfolio .filter-nav > li:last-child { margin-right: 0; }
.cwtb-portfolio .filter-nav > li > a {
	position: relative;
	display: inline-flex;
	align-items: center;
	padding: 10px 0;
	color: rgb(102 102 102 / 85%);
	font-size: .8em;
	font-weight: 700;
	letter-spacing: .02em;
	text-decoration: none;
	text-transform: uppercase;
	transition: color .2s, background-color .2s, border-color .2s;
}
.cwtb-portfolio .filter-nav > li.active > a,
.cwtb-portfolio .filter-nav > li > a:hover { color: rgb(18 18 18 / 85%); }
.cwtb-portfolio .filter-nav.nav-divided > li { margin-right: .7em; margin-left: .7em; }
.cwtb-portfolio .filter-nav.nav-divided > li + li > a::after {
	position: absolute;
	top: 50%;
	left: -1em;
	width: 1px;
	height: 15px;
	margin-top: -7px;
	border-left: 1px solid rgb(0 0 0 / 10%);
	content: "";
}
.cwtb-portfolio .filter-nav.nav-line > li > a::before,
.cwtb-portfolio .filter-nav.nav-line-grow > li > a::before,
.cwtb-portfolio .filter-nav.nav-line-bottom > li > a::before {
	position: absolute;
	top: 0;
	left: 50%;
	width: 100%;
	height: 3px;
	background: var(--cwtb-accent);
	content: "";
	opacity: 0;
	transform: translateX(-50%);
	transition: width .3s, opacity .3s;
}
.cwtb-portfolio .filter-nav.nav-line > li.active > a::before,
.cwtb-portfolio .filter-nav.nav-line > li:hover > a::before,
.cwtb-portfolio .filter-nav.nav-line-grow > li.active > a::before,
.cwtb-portfolio .filter-nav.nav-line-grow > li:hover > a::before,
.cwtb-portfolio .filter-nav.nav-line-bottom > li.active > a::before,
.cwtb-portfolio .filter-nav.nav-line-bottom > li:hover > a::before { opacity: 1; }
.cwtb-portfolio .filter-nav.nav-line-grow > li > a::before { width: 0; }
.cwtb-portfolio .filter-nav.nav-line-grow > li.active > a::before,
.cwtb-portfolio .filter-nav.nav-line-grow > li:hover > a::before { width: 100%; }
.cwtb-portfolio .filter-nav.nav-line-bottom > li > a::before { top: auto; bottom: 0; }
.cwtb-portfolio .filter-nav.nav-outline > li,
.cwtb-portfolio .filter-nav.nav-pills > li,
.cwtb-portfolio .filter-nav.nav-tabs > li { margin: 0; }
.cwtb-portfolio .filter-nav.nav-outline > li > a { z-index: 1; padding: 0 .75em; border: 2px solid transparent; border-radius: 32px; line-height: 2.4em; }
.cwtb-portfolio .filter-nav.nav-outline > li.active > a { border-color: currentcolor; color: var(--cwtb-accent); }
.cwtb-portfolio .filter-nav.nav-pills > li > a { padding: 0 .75em; border-radius: 99px; line-height: 2.5em; }
.cwtb-portfolio .filter-nav.nav-pills > li.active > a { background: var(--cwtb-accent); color: #fff; }
.cwtb-portfolio .filter-nav.nav-tabs > li { margin: 0 .1em -1px; }
.cwtb-portfolio .filter-nav.nav-tabs > li > a { padding-right: 15px; padding-left: 15px; border-top: 2px solid #ddd; border-right: 1px solid #ddd; border-left: 1px solid #ddd; background: rgb(0 0 0 / 4%); }
.cwtb-portfolio .filter-nav.nav-tabs > li.active > a { border-top-color: var(--cwtb-accent); background: #fff; color: #000; }
.cwtb-portfolio .filter-nav.nav-bold > li > a { font-weight: 800; }

.cwtb-portfolio__items { min-width: 0; }
.cwtb-portfolio--type-row {
	display: grid;
	grid-template-columns: repeat(var(--cwtb-portfolio-columns-desktop, 4), minmax(0, 1fr));
	gap: var(--cwtb-portfolio-gap, 20px);
}
.cwtb-portfolio--type-masonry {
	display: block;
	columns: var(--cwtb-portfolio-columns-desktop, 4);
	column-gap: var(--cwtb-portfolio-gap, 20px);
}
.cwtb-portfolio--type-masonry .cwtb-portfolio__item {
	display: inline-block;
	width: 100%;
	margin-bottom: var(--cwtb-portfolio-gap, 20px);
	break-inside: avoid;
}
.cwtb-portfolio__items.cwtb-slider { overflow: hidden; }
.cwtb-portfolio__items.cwtb-slider .cwtb-slider__track { gap: var(--cwtb-portfolio-gap, 20px); }
.cwtb-portfolio__items.cwtb-slider .cwtb-slider__track > .cwtb-portfolio__item {
	flex-basis: calc((100% - (var(--cwtb-portfolio-gap, 20px) * (var(--cwtb-portfolio-columns-desktop, 4) - 1))) / var(--cwtb-portfolio-columns-desktop, 4));
}
.cwtb-portfolio--type-slider-full.cwtb-slider .cwtb-slider__track { gap: 0; }
.cwtb-portfolio--type-slider-full.cwtb-slider .cwtb-slider__track > .cwtb-portfolio__item { flex-basis: 100%; }

.cwtb-portfolio--type-grid {
	display: grid;
	grid-auto-flow: dense;
	grid-template-columns: repeat(12, minmax(0, 1fr));
	grid-template-rows: repeat(6, minmax(0, 1fr));
	gap: var(--cwtb-portfolio-gap, 20px);
	height: var(--cwtb-grid-height-desktop, 600px);
}
.cwtb-portfolio--type-grid .grid-col { min-width: 0; min-height: 0; }
.cwtb-portfolio--type-grid .large-2 { grid-column: span 2; }
.cwtb-portfolio--type-grid .large-3 { grid-column: span 3; }
.cwtb-portfolio--type-grid .large-4 { grid-column: span 4; }
.cwtb-portfolio--type-grid .large-6 { grid-column: span 6; }
.cwtb-portfolio--type-grid .large-8 { grid-column: span 8; }
.cwtb-portfolio--type-grid .large-9 { grid-column: span 9; }
.cwtb-portfolio--type-grid .large-12 { grid-column: span 12; }
.cwtb-portfolio--type-grid .grid-col-1 { grid-row: span 6; }
.cwtb-portfolio--type-grid .grid-col-1-2 { grid-row: span 3; }
.cwtb-portfolio--type-grid .grid-col-1-3 { grid-row: span 2; }
.cwtb-portfolio--type-grid .grid-col-2-3 { grid-row: span 4; }
.cwtb-portfolio--type-grid :is(.col-inner, .cwtb-portfolio-card, .cwtb-page-card__media, .cwtb-portfolio-card__image) { height: 100%; }

.cwtb-portfolio__item { box-sizing: border-box; position: relative; min-width: 0; }
.cwtb-portfolio__item[hidden] { display: none !important; }
.cwtb-portfolio__item > .col-inner,
.cwtb-portfolio__item > .col-inner > .plain { display: block; height: 100%; }
.cwtb-portfolio__item .plain { color: inherit; text-decoration: none; }
.cwtb-portfolio-card__image > :is(.overlay, .shade) {
	position: absolute;
	z-index: 1;
	inset: 0;
	pointer-events: none;
}
.cwtb-portfolio-card__image > .shade { background: linear-gradient(to top, rgb(0 0 0 / 72%), transparent 65%); }
.cwtb-portfolio-card .portfolio-box-title { margin: .1em 0; color: inherit; line-height: 1.3; text-transform: uppercase; }
.cwtb-portfolio-card .portfolio-box-category { margin: .1em 0; color: inherit; font-size: .72em; line-height: 1.3; opacity: .6; text-transform: uppercase; }
.cwtb-portfolio-card .portfolio-box-category .show-on-hover { opacity: 0; transition: opacity .3s; }
.cwtb-portfolio-card:hover .portfolio-box-category .show-on-hover { opacity: 1; }

@media (max-width: 849px) {
	.cwtb-portfolio--type-row { grid-template-columns: repeat(var(--cwtb-portfolio-columns-tablet, 3), minmax(0, 1fr)); }
	.cwtb-portfolio--type-masonry { columns: var(--cwtb-portfolio-columns-tablet, 3); }
	.cwtb-portfolio__items.cwtb-slider .cwtb-slider__track > .cwtb-portfolio__item { flex-basis: calc((100% - (var(--cwtb-portfolio-gap, 20px) * (var(--cwtb-portfolio-columns-tablet, 3) - 1))) / var(--cwtb-portfolio-columns-tablet, 3)); }
	.cwtb-portfolio--type-slider-full.cwtb-slider .cwtb-slider__track > .cwtb-portfolio__item { flex-basis: 100%; }
	.cwtb-portfolio--type-grid { height: var(--cwtb-grid-height-tablet, var(--cwtb-grid-height-desktop, 500px)); }
	.cwtb-portfolio--type-grid .grid-col { grid-column: span 12; }
	.cwtb-portfolio--type-grid .medium-6 { grid-column: span 6; }
}

@media (max-width: 549px) {
	.cwtb-portfolio > .container { width: min(calc(100% - 30px), var(--cwtb-content-width, 1080px)); }
	.cwtb-portfolio--type-row { grid-template-columns: repeat(var(--cwtb-portfolio-columns-mobile, 2), minmax(0, 1fr)); }
	.cwtb-portfolio--type-masonry { columns: var(--cwtb-portfolio-columns-mobile, 2); }
	.cwtb-portfolio__items.cwtb-slider .cwtb-slider__track > .cwtb-portfolio__item { flex-basis: calc((100% - (var(--cwtb-portfolio-gap, 20px) * (var(--cwtb-portfolio-columns-mobile, 2) - 1))) / var(--cwtb-portfolio-columns-mobile, 2)); }
	.cwtb-portfolio--type-slider-full.cwtb-slider .cwtb-slider__track > .cwtb-portfolio__item { flex-basis: 100%; }
	.cwtb-portfolio--type-grid { grid-template-columns: 1fr; grid-template-rows: none; height: auto; }
	.cwtb-portfolio--type-grid .grid-col { grid-column: 1; grid-row: auto; min-height: var(--cwtb-grid-height-mobile, 400px); }
}

@media (prefers-reduced-motion: reduce) {
	.cwtb-portfolio-card,
	.cwtb-portfolio-card .portfolio-box-category .show-on-hover,
	.cwtb-portfolio-card__image img { transition: none; animation: none; }
}

/* Products: reference repeater, product-box, slider, grid, and relay contract. */
.cwtb-products {
	box-sizing: border-box;
	position: relative;
	min-width: 0;
	width: 100%;
}
.cwtb-products--container { width: min(calc(100% - 30px), var(--cwtb-content-width, 1080px)); margin-inline: auto; }
.cwtb-products--full-width { width: 100%; }
.cwtb-products__title { margin: 0 0 1em; }
.cwtb-products__item { box-sizing: border-box; position: relative; min-width: 0; }
.cwtb-products__item > .col-inner { position: relative; height: 100%; }
.cwtb-products.equalize-box :is(.cwtb-products__item, .col-inner, .cwtb-product-box) { height: 100%; }
.cwtb-product-box { position: relative; width: 100%; }
.cwtb-product-box .box-image { position: relative; max-width: 100%; margin-inline: auto; }
.cwtb-product-box .box-image-inner { position: relative; box-sizing: border-box; width: 100%; overflow: hidden; background: #f2f2f2; }
.cwtb-product-box .box-image-inner:not(.image-cover) > a { position: relative; inset: auto; }
.cwtb-product-box .box-image-inner:not(.image-cover) img { height: auto; object-fit: contain; }
.cwtb-product-box .box-image-inner.image-cover > a { position: absolute; inset: 0; }
.cwtb-product-box .box-image-inner.image-cover img { width: 100%; height: 100%; object-fit: cover; }
.cwtb-product-box__primary,
.cwtb-product-box__secondary { display: block; width: 100%; transition: filter 300ms ease, opacity 300ms ease, transform 450ms ease; }
.cwtb-product-box__secondary { position: absolute; z-index: 1; inset: 0; opacity: 0; }
.cwtb-product-box:hover .cwtb-product-box__secondary,
.cwtb-product-box:focus-within .cwtb-product-box__secondary { opacity: 1; }
.cwtb-product-box:hover .cwtb-product-box__secondary + .cwtb-product-box__primary,
.cwtb-product-box:focus-within .cwtb-product-box__secondary + .cwtb-product-box__primary { opacity: 0; }
.cwtb-product-box .box-image-inner > :is(.overlay, .shade) { position: absolute; z-index: 2; inset: 0; pointer-events: none; }
.cwtb-product-box .box-image-inner > .overlay { background: rgb(0 0 0 / 30%); }
.cwtb-product-box .box-image-inner > .shade { background: linear-gradient(to top, rgb(0 0 0 / 72%), transparent 65%); }
.cwtb-product-box__text { box-sizing: border-box; position: relative; z-index: 3; width: 100%; padding: .7em 1.4em 1.4em; color: #111; }
.cwtb-product-box__text :is(p, a, span) { color: inherit; }
.cwtb-product-box__text.text-left { text-align: left; }
.cwtb-product-box__text.text-center { text-align: center; }
.cwtb-product-box__text.text-right { text-align: right; }
.cwtb-product-box__text.is-xsmall { font-size: .72em; }
.cwtb-product-box__text.is-small { font-size: .86em; }
.cwtb-product-box__text.is-medium { font-size: 1em; }
.cwtb-product-box__text.is-large { font-size: 1.15em; }
.cwtb-product-box__text.is-xlarge { font-size: 1.35em; }
.cwtb-product-box .product-cat { margin: .1em 0 .35em; font-size: .72em; line-height: 1.2; opacity: .7; text-transform: uppercase; }
.cwtb-product-box .product-title { margin: .1em 0; line-height: 1.3; }
.cwtb-product-box .product-title a { color: inherit; text-decoration: none; }
.cwtb-product-box .price-wrapper { display: grid; gap: .3em; }
.cwtb-product-box .price { display: block; margin-top: .3em; font-weight: 700; }
.cwtb-product-box .star-rating { margin-top: .35em; }
.cwtb-product-box__actions { display: flex; flex-wrap: wrap; gap: .5em; margin-top: .75em; }
.cwtb-product-box__actions .button,
.cwtb-product-box__quick { min-height: 2.35em; margin: 0; padding: .55em .85em; border: 1px solid currentcolor; border-radius: 0; background: transparent; color: inherit; cursor: pointer; font: inherit; line-height: 1.15; text-decoration: none; }
.cwtb-product-box .out-of-stock-label { position: absolute; z-index: 4; right: 0; bottom: 0; left: 0; padding: .65em; background: rgb(255 255 255 / 90%); color: #333; text-align: center; }
.cwtb-products__item > .col-inner > .onsale { position: absolute; z-index: 5; top: .6em; left: -.35em; min-width: 3.1em; padding: .45em .6em; border-radius: 999px; background: var(--cwtb-accent, #446084); color: #fff; font-size: .78em; font-weight: 700; text-align: center; }

.cwtb-products--style-default .cwtb-product-box,
.cwtb-products--style-normal .cwtb-product-box { background: transparent; }
.cwtb-products--style-default .cwtb-product-box__text,
.cwtb-products--style-normal .cwtb-product-box__text { padding-inline: .1em; }
.cwtb-products--style-overlay .cwtb-product-box,
.cwtb-products--style-shade .cwtb-product-box { min-height: 240px; overflow: hidden; background: #111; }
.cwtb-products--style-overlay .box-image,
.cwtb-products--style-shade .box-image,
.cwtb-products--style-overlay .box-image-inner,
.cwtb-products--style-shade .box-image-inner { width: 100% !important; height: 100%; }
.cwtb-products--style-overlay .box-image-inner,
.cwtb-products--style-shade .box-image-inner { padding-top: 0 !important; }
.cwtb-products--style-overlay .cwtb-product-box__text,
.cwtb-products--style-shade .cwtb-product-box__text { position: absolute; right: 0; bottom: 0; left: 0; color: #fff; }
.cwtb-products--style-overlay .box-text-top,
.cwtb-products--style-shade .box-text-top { top: 0; bottom: auto; }
.cwtb-products--style-overlay .box-text-middle,
.cwtb-products--style-shade .box-text-middle { top: 50%; bottom: auto; transform: translateY(-50%); }
.cwtb-products--style-push .cwtb-product-box__text { width: calc(100% - 2.4em); margin: -2.6em auto 0; background: #fff; }
.cwtb-products--style-label .cwtb-product-box__text { width: calc(100% - 2em); margin: -1.7em auto 0; background: #fff; }
.cwtb-products--style-bounce .cwtb-product-box:hover { transform: translateY(-7px); }
.cwtb-products--style-vertical .cwtb-product-box { display: flex; flex-direction: row; align-items: stretch; }
.cwtb-products--style-vertical .box-image { flex: 0 0 auto; margin: 0; }
.cwtb-products--style-vertical .cwtb-product-box__text { display: flex; flex: 1; flex-direction: column; justify-content: flex-end; }
.cwtb-products--style-vertical .box-text-top { justify-content: flex-start; }
.cwtb-products--style-vertical .box-text-middle { justify-content: center; }
.cwtb-products--style-badge .cwtb-product-box { background: #fff; }

.cwtb-products--type-grid .cwtb-product-box,
.cwtb-products--type-grid :is(.col-inner, .box-image, .box-image-inner) { height: 100%; }
.cwtb-products--type-grid .box-image-inner > a { position: absolute; inset: 0; }
.cwtb-products--type-grid .box-image-inner img { width: 100%; height: 100%; object-fit: cover; }
.cwtb-products .ux-relay__control { width: 100%; padding-block: .75em; }
.cwtb-products .ux-relay__control.text-left { text-align: left; }
.cwtb-products .ux-relay__control.text-center { text-align: center; }
.cwtb-products .ux-relay__control.text-right { text-align: right; }

@media (max-width: 849px) {
	.cwtb-products--style-vertical .cwtb-product-box { flex-direction: column; }
	.cwtb-products--style-vertical .box-image { width: 100% !important; }
}
@media (max-width: 549px) {
	.cwtb-products--style-push .cwtb-product-box__text,
	.cwtb-products--style-label .cwtb-product-box__text { width: calc(100% - 1.5em); }
}
@media (prefers-reduced-motion: reduce) {
	.cwtb-product-box,
	.cwtb-product-box__text,
	.cwtb-product-box :is(img, .cwtb-product-box__secondary) { transition: none; animation: none; }
}

/* Products List: WooCommerce small-product widget contract. */
ul.ux-products-list.product_list_widget {
	margin: 0;
	padding: 0;
	list-style: none;
}
ul.product_list_widget li {
	position: relative;
	min-height: 80px;
	margin-bottom: 0;
	padding: 10px 0 5px 75px;
	overflow: hidden;
	line-height: 1.33;
	list-style: none;
	vertical-align: top;
}
ul.product_list_widget li + li { border-top: 1px solid #ececec; }
.dark ul.product_list_widget li { border-color: rgb(255 255 255 / 20%); }
ul.product_list_widget li > span.reviewer { font-size: .8em; }
ul.product_list_widget li a:not(.remove) {
	display: block;
	margin-bottom: 5px;
	padding: 0;
	overflow: hidden;
	line-height: 1.3;
	text-overflow: ellipsis;
}
ul.product_list_widget li img {
	position: absolute;
	top: 10px;
	left: 0;
	width: 60px;
	height: 60px;
	margin-bottom: 5px;
	object-fit: cover;
	object-position: 50% 50%;
}
ul.product_list_widget li .quantity {
	display: block;
	margin-top: 3px;
	font-size: .85em;
	opacity: .6;
}

/* Product Categories: reference repeater and box-category hierarchy. */
.cwtb-product-categories {
	position: relative;
	width: 100%;
	margin: 0;
	gap: var(--cwtb-category-gap, 20px);
}
.cwtb-product-categories--type-row,
.cwtb-product-categories--type-masonry {
	display: grid;
	grid-template-columns: repeat(var(--cwtb-category-columns-desktop, 4), minmax(0, 1fr));
}
.cwtb-product-categories--type-masonry { align-items: start; }
.cwtb-product-categories .product-category { min-width: 0; padding: 0; }
.cwtb-product-categories .product-category > .col-inner { position: relative; height: 100%; }
.cwtb-product-categories .product-category a { color: inherit; text-decoration: none; }
.cwtb-product-categories .box-category {
	position: relative;
	display: flex;
	height: 100%;
	min-height: 0;
	flex-direction: column;
	overflow: hidden;
	transition: box-shadow .3s, transform .3s;
}
.cwtb-product-categories .box-image { position: relative; width: 100%; margin: 0 auto; }
.cwtb-product-categories .box-image > div {
	position: relative;
	height: auto;
	overflow: hidden;
	background: #f2f2f2;
}
.cwtb-product-categories .box-image .image-cover { height: 0; }
.cwtb-product-categories .box-image img {
	display: block;
	width: 100%;
	height: 100%;
	margin: 0;
	object-fit: cover;
	object-position: 50% 50%;
	transition: filter .6s, opacity .6s, transform .6s, box-shadow .3s;
}
.cwtb-product-categories .box-image .overlay,
.cwtb-product-categories .box-image .shade { position: absolute; inset: 0; z-index: 1; pointer-events: none; }
.cwtb-product-categories .box-image .overlay { background: rgb(0 0 0 / 25%); }
.cwtb-product-categories .box-image .shade { top: 35%; background: linear-gradient(to bottom, transparent, rgb(0 0 0 / 78%)); }
.cwtb-product-categories .box-text {
	position: relative;
	z-index: 2;
	width: 100%;
	padding: .7em 1em 1.4em;
	font-size: .9em;
}
.cwtb-product-categories .box-text-inner { width: 100%; }
.cwtb-product-categories .header-title { margin: 0; font-size: 1em; line-height: 1.3; }
.cwtb-product-categories .count { margin: .3em 0 0; opacity: .7; }
.cwtb-product-categories .text-left { text-align: left; }
.cwtb-product-categories .text-center { text-align: center; }
.cwtb-product-categories .text-right { text-align: right; }
.cwtb-product-categories .is-xsmall { font-size: .7em; }
.cwtb-product-categories .is-small { font-size: .8em; }
.cwtb-product-categories .is-large { font-size: 1.15em; }
.cwtb-product-categories .is-xlarge { font-size: 1.3em; }

.cwtb-product-categories--style-overlay .box-category,
.cwtb-product-categories--style-shade .box-category { background: #111; color: #fff; }
.cwtb-product-categories--style-overlay .box-image,
.cwtb-product-categories--style-shade .box-image { height: 100%; }
.cwtb-product-categories--style-overlay .box-text,
.cwtb-product-categories--style-shade .box-text { position: absolute; right: 0; bottom: 0; left: 0; }
.cwtb-product-categories .box-category.box-text-top:is(.box-overlay, .box-shade) .box-text { top: 0; bottom: auto; }
.cwtb-product-categories .box-category.box-text-middle:is(.box-overlay, .box-shade) .box-text { top: 50%; bottom: auto; transform: translateY(-50%); }
.cwtb-product-categories--style-badge .box-text {
	position: absolute;
	right: 10%;
	bottom: 15%;
	left: 10%;
	width: auto;
	padding: .8em 1em 1em;
	background: rgb(255 255 255 / 95%);
}
.cwtb-product-categories--style-badge .box-category:hover .box-text { background: var(--cwtb-primary, #446084); color: #fff; }
.cwtb-product-categories--style-label .box-text { width: calc(100% - 2em); margin: -1.7em auto 0; background: #fff; }
.cwtb-product-categories--style-push .box-text { width: calc(100% - 2.4em); margin: -2.6em auto 0; background: #fff; }
.cwtb-product-categories--style-vertical .box-category { flex-direction: row; }
.cwtb-product-categories--style-vertical .box-image { flex: 0 0 auto; }
.cwtb-product-categories--style-vertical .box-text { display: flex; flex: 1; align-items: center; }
.cwtb-product-categories--style-bounce .box-category:hover { transform: translateY(-7px); }

.cwtb-product-categories .image-zoom img,
.cwtb-product-categories .image-zoom-long img,
.cwtb-product-categories .image-zoom-fade img { transform: scale(1); }
.cwtb-product-categories .box-category:hover .image-zoom img { transform: scale(1.1); }
.cwtb-product-categories .box-category:hover .image-zoom-long img { transform: scale(1.3); }
.cwtb-product-categories .box-category:hover .image-zoom-fade img { opacity: .7; transform: scale(1.1); }
.cwtb-product-categories .image-grayscale img { filter: grayscale(1); }
.cwtb-product-categories .box-category:hover .image-grayscale img,
.cwtb-product-categories .image-color img { filter: grayscale(0); }
.cwtb-product-categories .image-color img { filter: grayscale(1); }
.cwtb-product-categories .box-category:hover .image-blur img { filter: blur(3px); }
.cwtb-product-categories .box-category:hover .image-fade-out img { opacity: .65; }
.cwtb-product-categories .image-fade-in img { opacity: .65; }
.cwtb-product-categories .box-category:hover .image-fade-in img { opacity: 1; }
.cwtb-product-categories .show-on-hover { opacity: 0; transition: opacity .3s, transform .3s; }
.cwtb-product-categories .box-category:hover .show-on-hover,
.cwtb-product-categories .box-category:focus-within .show-on-hover { opacity: 1; }

.cwtb-product-categories.cwtb-slider { overflow: hidden; }
.cwtb-product-categories.cwtb-slider .cwtb-slider__track { gap: var(--cwtb-category-gap, 20px); }
.cwtb-product-categories.cwtb-slider .cwtb-slider__track > .product-category {
	flex: 0 0 calc((100% - (var(--cwtb-category-gap, 20px) * (var(--cwtb-category-columns-desktop, 4) - 1))) / var(--cwtb-category-columns-desktop, 4));
}
.cwtb-product-categories--type-slider-full.cwtb-slider .cwtb-slider__track { gap: 0; }
.cwtb-product-categories--type-slider-full.cwtb-slider .cwtb-slider__track > .product-category { flex-basis: 100%; }
.cwtb-product-categories--type-grid {
	display: grid;
	grid-template-columns: repeat(12, minmax(0, 1fr));
	grid-auto-flow: dense;
}
.cwtb-product-categories--type-grid > .grid-col { grid-column: span 3; }
.cwtb-product-categories--type-grid > .large-2 { grid-column: span 2; }
.cwtb-product-categories--type-grid > .large-3 { grid-column: span 3; }
.cwtb-product-categories--type-grid > .large-4 { grid-column: span 4; }
.cwtb-product-categories--type-grid > .large-6 { grid-column: span 6; }
.cwtb-product-categories--type-grid > .large-8 { grid-column: span 8; }
.cwtb-product-categories--type-grid > .large-9 { grid-column: span 9; }
.cwtb-product-categories--type-grid > .large-12 { grid-column: span 12; }
.cwtb-product-categories--type-grid > .grid-col-1 { height: var(--cwtb-grid-height-desktop, 600px); }
.cwtb-product-categories--type-grid > .grid-col-1-2 { height: calc(var(--cwtb-grid-height-desktop, 600px) / 2); }
.cwtb-product-categories--type-grid > .grid-col-1-3 { height: calc(var(--cwtb-grid-height-desktop, 600px) / 3); }
.cwtb-product-categories--type-grid > .grid-col-2-3 { height: calc(var(--cwtb-grid-height-desktop, 600px) * 2 / 3); }
.cwtb-product-categories--type-grid > .grid-col-1-4 { height: calc(var(--cwtb-grid-height-desktop, 600px) / 4); }
.cwtb-product-categories--type-grid > .grid-col-3-4 { height: calc(var(--cwtb-grid-height-desktop, 600px) * 3 / 4); }
.cwtb-product-categories--type-grid .box-category,
.cwtb-product-categories--type-grid .box-image,
.cwtb-product-categories--type-grid .box-image > div { height: 100%; }
.cwtb-product-categories--type-grid .box-image > div { padding-top: 0 !important; }
.cwtb-product-categories.has-shadow .col-inner { transition: box-shadow .3s; }
.cwtb-product-categories.row-box-shadow-1 .col-inner { box-shadow: 0 1px 3px rgb(0 0 0 / 12%); }
.cwtb-product-categories.row-box-shadow-2 .col-inner { box-shadow: 0 3px 6px rgb(0 0 0 / 16%); }
.cwtb-product-categories.row-box-shadow-3 .col-inner { box-shadow: 0 7px 14px rgb(0 0 0 / 18%); }
.cwtb-product-categories.row-box-shadow-4 .col-inner { box-shadow: 0 12px 24px rgb(0 0 0 / 20%); }
.cwtb-product-categories.row-box-shadow-5 .col-inner { box-shadow: 0 18px 36px rgb(0 0 0 / 22%); }
.cwtb-product-categories.row-box-shadow-1-hover .col-inner:hover { box-shadow: 0 1px 3px rgb(0 0 0 / 12%); }
.cwtb-product-categories.row-box-shadow-2-hover .col-inner:hover { box-shadow: 0 3px 6px rgb(0 0 0 / 16%); }
.cwtb-product-categories.row-box-shadow-3-hover .col-inner:hover { box-shadow: 0 7px 14px rgb(0 0 0 / 18%); }
.cwtb-product-categories.row-box-shadow-4-hover .col-inner:hover { box-shadow: 0 12px 24px rgb(0 0 0 / 20%); }
.cwtb-product-categories.row-box-shadow-5-hover .col-inner:hover { box-shadow: 0 18px 36px rgb(0 0 0 / 22%); }

@media (max-width: 849px) {
	.cwtb-product-categories--type-row,
	.cwtb-product-categories--type-masonry { grid-template-columns: repeat(var(--cwtb-category-columns-tablet, 3), minmax(0, 1fr)); }
	.cwtb-product-categories.cwtb-slider .cwtb-slider__track > .product-category { flex-basis: calc((100% - (var(--cwtb-category-gap, 20px) * (var(--cwtb-category-columns-tablet, 3) - 1))) / var(--cwtb-category-columns-tablet, 3)); }
	.cwtb-product-categories--type-slider-full.cwtb-slider .cwtb-slider__track > .product-category { flex-basis: 100%; }
	.cwtb-product-categories--type-grid > .grid-col { grid-column: span 6; }
	.cwtb-product-categories--type-grid > .medium-12 { grid-column: span 12; }
	.cwtb-product-categories--type-grid > .grid-col-1 { height: var(--cwtb-grid-height-tablet, var(--cwtb-grid-height-desktop, 500px)); }
	.cwtb-product-categories--type-grid > .grid-col-1-2 { height: calc(var(--cwtb-grid-height-tablet, 500px) / 2); }
	.cwtb-product-categories--type-grid > .grid-col-1-3 { height: calc(var(--cwtb-grid-height-tablet, 500px) / 3); }
	.cwtb-product-categories--type-grid > .grid-col-2-3 { height: calc(var(--cwtb-grid-height-tablet, 500px) * 2 / 3); }
	.cwtb-product-categories--style-vertical .box-category { flex-direction: column; }
	.cwtb-product-categories--style-vertical .box-image { width: 100% !important; }
}
@media (max-width: 549px) {
	.cwtb-product-categories--type-row,
	.cwtb-product-categories--type-masonry { grid-template-columns: repeat(var(--cwtb-category-columns-mobile, 2), minmax(0, 1fr)); }
	.cwtb-product-categories.cwtb-slider .cwtb-slider__track > .product-category { flex-basis: calc((100% - (var(--cwtb-category-gap, 20px) * (var(--cwtb-category-columns-mobile, 2) - 1))) / var(--cwtb-category-columns-mobile, 2)); }
	.cwtb-product-categories--type-slider-full.cwtb-slider .cwtb-slider__track > .product-category { flex-basis: 100%; }
	.cwtb-product-categories--type-grid > .grid-col { grid-column: span 12; }
	.cwtb-product-categories--type-grid > .grid-col-1 { height: var(--cwtb-grid-height-mobile, var(--cwtb-grid-height-tablet, 400px)); }
	.cwtb-product-categories--type-grid > .grid-col-1-2 { height: calc(var(--cwtb-grid-height-mobile, 400px) / 2); }
	.cwtb-product-categories--type-grid > .grid-col-1-3 { height: calc(var(--cwtb-grid-height-mobile, 400px) / 3); }
	.cwtb-product-categories--type-grid > .grid-col-2-3 { height: calc(var(--cwtb-grid-height-mobile, 400px) * 2 / 3); }
}
