/*
Theme Name: STEELYJAM
Author: AD
Version: 2.0
Text Domain: steelyjam

STEELYJAM WordPress Theme, (C) 2025 STEELYJAM
*/

/**
 * GENERIC
 * Variables
 * Normalize
 * Reset
 * Clearings
 * Media
 * Fonts
 * Icons
 * Global
 * Structure
 *
 * COMPONENTS
 * Header
 * Navigation
 * Mobile
 * Content
 * Intro
 * Homepage
 * Footer
 * Widget
 *
 * ELEMENTS
 * Social
 * Blocks
 *
 * PLUGINS
 * TranslatePress
 * Mailchimp
 * Simple Banner
 * WP Swiper
 * Simple Tabs
 * Leaflet Map
 * Contact Form 7
 *
 * APP
 * Custom Shop
 */

/* Variables
   -------------------------------------------------------------------------- */
:root {

	/* Font */
	--font-size-xs: .75rem;
	--font-size-sm: 1rem;
	--font-size-md: 1.25rem;
	--font-size-lg: 2rem;
	--font-size-xl: 2.5rem;
	--font-size-xxl: 3.5rem;
	--font-size-xxxl: 5rem;
	--letter-spacing: .02em;
	--line-height-title: 1.05;
	--line-height-heading: 1.2;
	--line-height-body: 1.35;
	--icons-size: 24px;

	/* Spacing */
	--spacing-xxxs: .5rem;
	--spacing-xxs: .75rem;
	--spacing-xs: 1rem;
	--spacing-sm: 1.5rem;
	--spacing-md: 2rem;
	--spacing-lg: 3rem;
	--spacing-xl: 4rem;
	--spacing-xxl: 6rem;
	--spacing-xxxl: 8rem;

	/* Easing */
	--ease-out-cubic: cubic-bezier(.33, 1, .68, 1);
	--ease-in-out-cubic: cubic-bezier(.65, 0, .35, 1);
	--ease-out-expo: cubic-bezier(.16, 1, .3, 1);
	--ease-in-out-expo: cubic-bezier(.87, 0, .13, 1);

	/* Header */
	--header-height: 64px;

	/* Colors */
	--color-placeholder: #f5f3f3;
	--color-error: #ff1100;
}
@media (min-width: 960px) {

	:root {
		--header-height: 80px;
	}
}

:root,
[data-theme=black-aluminium--aluminium] {
	--color-primary: #292d32;
	--color-primary-rgb: 41, 45, 50;
	--color-secondary: #e6ebef;
	--color-background: #f5f3f3;
}

/*[data-theme=mahogany--blush-rosewood] {
	--color-primary: #420b13;
	--color-primary-rgb: 66, 11, 19;
	--color-secondary: #e5b0a3;
	--color-background: #f8ebe8;
}

[data-theme=red-maple--blush-rosewood] {
	--color-primary: #c72a00;
	--color-primary-rgb: 199, 42, 0;
	--color-secondary: #e5b0a3;
	--color-background: #f8ebe8;
}*/

/* Normalize
   -------------------------------------------------------------------------- */
html {
	font-family: sans-serif;
	line-height: 1.15;
	-webkit-text-size-adjust: 100%;
}

main {
	display: block;
}

hr {
	box-sizing: content-box;
	height: 0;
	overflow: visible;
}

a {
	background-color: transparent;
}

a:active, a:hover {
	outline: 0;
}

b, strong {
	font-weight: bolder;
}

dfn {
	font-style: italic;
}

small {
	font-size: 80%;
}

sub, sup {
	font-size: 75%;
	line-height: 0;
	position: relative;
	vertical-align: baseline;
}

sub {
	bottom: -.25em;
}

sup {
	top: -.5em;
}

img {
	border-style: none;
	vertical-align: middle;
}

svg:not(:root) {
	display: block;
	overflow: hidden;
}

button, input, optgroup, select, textarea {
	color: inherit;
	font-family: inherit;
	font-size: 100%;
	line-height: 1.15;
	margin: 0;
}

button, input {
	overflow: visible;
}

button, select {
	text-transform: none;
}

button, [type="button"], [type="reset"], [type="submit"] {
	-webkit-appearance: button;
	cursor: pointer;
}

button::-moz-focus-inner, [type="button"]::-moz-focus-inner, [type="reset"]::-moz-focus-inner, [type="submit"]::-moz-focus-inner {
	border-style: none;
	padding: 0;
}

textarea {
	overflow: auto;
}

[type="checkbox"], [type="radio"] {
	box-sizing: border-box;
	padding: 0;
}

[type="search"] {
	-webkit-appearance: textfield;
	outline-offset: -2px;
}

[type="search"]::-webkit-search-decoration {
	-webkit-appearance: none;
}

[hidden] {
	display: none;
}

/* Reset
   -------------------------------------------------------------------------- */
html, body, p, ol, ul, li, dl, dt, dd, blockquote, figure, fieldset, legend, textarea, pre, iframe, hr, h1, h2, h3, h4, h5, h6 {
	margin: 0;
	padding: 0;
}

h1, h2, h3, h4, h5, h6 {
	font-size: 100%;
	font-weight: normal;
}

ul {
	list-style: none;
}

button, input, select {
	margin: 0;
}

html {
	box-sizing: border-box;
}

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

img, video {
	height: auto;
	max-width: 100%;
}

iframe {
	border: 0;
}

table {
	border-collapse: collapse;
	border-spacing: 0;
}

td, th {
	padding: 0;
}

/* Clearings
   -------------------------------------------------------------------------- */
.clearfix:after {
	content: '';
	display: table;
	clear: both;
}

/* Media
   -------------------------------------------------------------------------- */
embed,
iframe,
object {
	max-width: 100%;
}

/* Fonts
   -------------------------------------------------------------------------- */
@font-face {
	font-family: 'Creato Display';
	src: url('fonts/CreatoDisplay-Regular.woff2') format('woff2'),
		 url('fonts/CreatoDisplay-Regular.woff') format('woff');
	font-weight: normal;
	font-style: normal;
	font-display: swap;
}

@font-face {
	font-family: 'Creato Display';
	src: url('fonts/CreatoDisplay-Italic.woff2') format('woff2'),
		 url('fonts/CreatoDisplay-Italic.woff') format('woff');
	font-weight: normal;
	font-style: italic;
	font-display: swap;
}

@font-face {
	font-family: 'Creato Display';
	src: url('fonts/CreatoDisplay-Bold.woff2') format('woff2'),
		 url('fonts/CreatoDisplay-Bold.woff') format('woff');
	font-weight: bold;
	font-style: normal;
	font-display: swap;
}

@font-face {
	font-family: 'Creato Display';
	src: url('fonts/CreatoDisplay-BoldItalic.woff2') format('woff2'),
		 url('fonts/CreatoDisplay-BoldItalic.woff') format('woff');
	font-weight: bold;
	font-style: italic;
	font-display: swap;
}

/* Icons
   -------------------------------------------------------------------------- */
@font-face {
	font-family: 'steelyjam-icons';
	src: url('fonts/steelyjam-icons.woff2') format('woff2'),
		 url('fonts/steelyjam-icons.woff') format('woff');
	font-weight: normal;
	font-style: normal;
	font-display: block;
}

[class^="icon-"], [class*=" icon-"] {
	font-family: 'steelyjam-icons';
	font-size: var(--icons-size);
	line-height: 1;
	letter-spacing: normal;
}

.icon-account:before {
	content: '\e900';
}

.icon-arrow-left:before {
	content: '\e901';
}

.icon-arrow-next:before {
	content: '\e902';
}

.icon-arrow-previous:before {
	content: '\e903';
}

.icon-arrow-right:before {
	content: '\e904';
}

.icon-cart:before {
	content: '\e905';
}

.icon-check:before {
	content: '\e906';
}

.icon-chevron-down-lg:before {
	content: '\e907';
}

.icon-chevron-down-md:before {
	content: '\e908';
}

.icon-chevron-down-sm:before {
	content: '\e909';
}

.icon-chevron-up-lg:before {
	content: '\e90a';
}

.icon-chevron-up-md:before {
	content: '\e90b';
}

.icon-chevron-up-sm:before {
	content: '\e90c';
}

.icon-close:before {
	content: '\e90d';
}

.icon-customer-service:before {
	content: '\e90e';
}

.icon-dealers:before {
	content: '\e90f';
}

.icon-download-copie:before {
	content: '\e910';
}

.icon-download:before {
	content: '\e911';
}

.icon-facebook:before {
	content: '\e912';
}

.icon-flip:before {
	content: '\e913';
}

.icon-instagram:before {
	content: '\e914';
}

.icon-language:before {
	content: '\e915';
}

.icon-link:before {
	content: '\e916';
}

.icon-loading:before {
	content: '\e917';
}

.icon-menu:before {
	content: '\e918';
}

.icon-minus-sm:before {
	content: '\e919';
}

.icon-minus:before {
	content: '\e91a';
}

.icon-number-1:before {
	content: '\e91b';
}

.icon-number-2:before {
	content: '\e91c';
}

.icon-number-3:before {
	content: '\e91d';
}

.icon-number-4:before {
	content: '\e91e';
}

.icon-number-5:before {
	content: '\e91f';
}

.icon-number-6:before {
	content: '\e920';
}

.icon-number-7:before {
	content: '\e921';
}

.icon-number-8:before {
	content: '\e922';
}

.icon-number-9:before {
	content: '\e923';
}

.icon-payment:before {
	content: '\e924';
}

.icon-plus-sm:before {
	content: '\e925';
}

.icon-plus:before {
	content: '\e926';
}

.icon-remove:before {
	content: '\e927';
}

.icon-returns:before {
	content: '\e928';
}

.icon-search:before {
	content: '\e929';
}

.icon-snapshot:before {
	content: '\e92a';
}

.icon-warranty:before {
	content: '\e92b';
}

.icon-youtube:before {
	content: '\e92c';
}

.icon-zoom-in:before {
	content: '\e92d';
}

.icon-zoom-out:before {
	content: '\e92e';
}

.icon-info:before {
	content: '\e92f';
}

.icon-success:before {
	content: '\e930';
}

.icon-error:before {
	content: '\e931';
}

.icon-edit:before {
	content: '\e932';
}

.icon-password:before {
	content: '\e933';
}

.icon-password-off:before {
	content: '\e934';
}

.icon-box-uncheck:before {
	content: '\e935';
}

.icon-box-check:before {
	content: '\e936';
}

.icon-password-weak:before {
	content: '\e937';
}

.icon-password-medium:before {
	content: '\e938';
}

.icon-password-strong:before {
	content: '\e939';
}

.icon-list:before {
	content: '\e93a';
}

.icon-circle-uncheck:before {
	content: '\e93b';
}

.icon-circle-check:before {
	content: '\e93c';
}

/* Global
   -------------------------------------------------------------------------- */
* {
	box-sizing: border-box;
}

html {
	height: 100%;
	font-size: 16px; /* 100% */
}

body {
	min-height: 100%;
	background-color: var(--color-background);
	color: var(--color-primary);
	font-family: 'Creato Display', Helvetica, Arial, sans-serif;
	font-weight: normal;
	font-style: normal;
	font-size: var(--font-size-sm);
	line-height: var(--line-height-body);
	letter-spacing: var(--letter-spacing);
	text-rendering: optimizeLegibility;
	font-feature-settings: 'kern' 1;
	-webkit-font-kerning: normal;
					font-kerning: normal;
	-webkit-font-smoothing: antialiased;
	-moz-osx-font-smoothing: grayscale;
	display: flex;
	flex-direction: column;
	overflow-x: hidden;
}

h1, h2, h3, h4, h5 {
	letter-spacing: var(--letter-spacing);
	text-transform: uppercase;
	overflow-wrap: break-word;
}

h1, h2 {
	font-size: 3rem;
	line-height: var(--line-height-title);
	margin-bottom: var(--spacing-sm);
}
@media (min-width: 960px) {

	h1 {
		font-size: var(--font-size-xxxl);
		margin-bottom: var(--spacing-md);
	}

	h2 {
		font-size: var(--font-size-xxl);
	}
}

h3 {
	font-size: var(--font-size-xl);
	line-height: var(--line-height-title);
	margin-bottom: var(--spacing-sm);
}

h4 {
	font-size: var(--font-size-lg);
	line-height: var(--line-height-heading);
	margin-bottom: var(--spacing-xs);
}

h5 {
	font-size: var(--font-size-md);
	line-height: var(--line-height-heading);
	margin-bottom: var(--spacing-xs);
}

h6 {
	font-weight: bold;
	margin-bottom: var(--spacing-xs);
}

a {
	color: inherit;
	text-decoration: none;
}

b, strong {
	font-weight: bold;
}

dfn, em, i {
	font-style: italic;
}

small {
	font-size: var(--font-size-xs);
	letter-spacing: var(--letter-spacing);
}

p {
	max-width: 40rem;
}

p:not(:last-of-type) {
	margin-bottom: 1em;
}

blockquote, q {
	quotes: initial;
}

.no-margin {
	margin-bottom: 0 !important;
}

/* Structure
   -------------------------------------------------------------------------- */
.site {
	flex: 1 0 auto;
}

.col-width {
	padding: 0 var(--spacing-xs);
}
@media (min-width: 960px) {

	.col-width {
		padding: 0 var(--spacing-md);
	}
}

/* Header
   -------------------------------------------------------------------------- */
.site-header {
	position: sticky;
	top: 0;
	left: 0;
	width: 100%;
	background-color: #fff;
	padding: var(--spacing-xs) 0;
	z-index: 10;
}

.grid {
	display: flex;
	flex-wrap: wrap;
	align-items: center;
}

.site-logo {
	position: relative;
	z-index: 2;
}

.site-logo svg {
	width: auto;
	height: 32px;
	overflow: visible;
}

.site-logo svg path {
	fill: var(--color-primary);
}
@media (min-width: 960px) {

	.grid {
		display: grid;
		grid-template-columns: repeat(4, minmax(0, 1fr));
		gap: 0 var(--spacing-xs);
	}

	.site-branding {
		display: inline-flex;
	}

	.site-logo svg {
		height: auto;
	}
}

/* Navigation
   -------------------------------------------------------------------------- */
body.no-scroll {
	overflow: hidden;
}

.menu-item-has-children a {
	cursor: pointer;
}

.utility {
	display: flex;
	margin-left: auto;
}

.utility-wrapper {
	display: flex;
}

.utility-wrapper li {
	display: flex;
}

.utility-wrapper li a span {
	display: none;
}

@media (max-width: 959px) {

	.main-menu {
		width: 100%;
		position: relative;
		opacity: 0;
		visibility: hidden;
		transition: opacity .4s var(--ease-out-cubic), visibility 0s .4s;
	}

	.main-menu.is-shown {
		opacity: 1;
		visibility: visible;
		transition: opacity .4s var(--ease-out-cubic), visibility 0s 0s;
	}

	.main-menu-container {
		position: fixed;
		top: calc(var(--menu-position) + var(--spacing-xs));
		left: 0;
		right: 0;
		bottom: 0;
		background-color: #fff;
		padding: var(--spacing-md) var(--spacing-xs) var(--spacing-xs);
		overflow: auto;
	}

	.main-menu-wrapper:not(.sub-menu) > li {
		border-top: 1px solid rgba(var(--color-primary-rgb), .5);
	}

	.main-menu-wrapper:not(.sub-menu) > li:last-of-type {
		border-bottom: 1px solid rgba(var(--color-primary-rgb), .5);
	}

	.main-menu-wrapper:not(.sub-menu) > li > a {
		display: inline-block;
		font-size: var(--font-size-lg);
		line-height: var(--line-height-heading);
		letter-spacing: var(--letter-spacing);
		padding: var(--spacing-xs) 0;
	}

	/**
	 * Sub-menu
	 */
	.sub-menu-container {
		display: none;
	}

	.sub-menu {
		padding: var(--spacing-xxxs) 0 var(--spacing-sm);
	}

	.sub-menu-column {
		padding: 0 0 var(--spacing-sm);
	}

	.sub-menu li:not(.small) {
		font-size: var(--font-size-md);
		letter-spacing: var(--letter-spacing);
	}

	.sub-menu li.small,
	.sub-menu-column li {
		font-size: var(--font-size-xs);
		letter-spacing: var(--letter-spacing);
	}

	.sub-menu-column li.title {
		text-transform: uppercase;
		margin-bottom: var(--spacing-xxxs);
	}

	.sub-menu :nth-child(1 of .small) {
		margin-top: var(--spacing-sm);
	}

	/**
	 * Sub-menu Toggle
	 */
	.sub-menu-toggle {
		display: inline-block;
		margin-left: var(--spacing-xxxs);
		transition: transform .4s var(--ease-out-cubic);
	}

	.sub-menu-toggle.expanded {
		transform: rotate(180deg);
	}

	/**
	 * Overlay
	 */
	.overlay {
		display: none;
	}

	/**
	 * Utility
	 */
	.utility {
		gap: var(--spacing-xs);
	}

	.utility-wrapper {
		gap: var(--spacing-xs);
	}

	.utility-wrapper .dealers {
		display: none;
	}
}
@media (min-width: 960px) {

	.main-menu {
		grid-column: span 2;
	}

	.main-menu-wrapper {
		display: inline-flex;
		gap: var(--spacing-md);
	}

	.main-menu-wrapper:not(.sub-menu) > li > a {
		position: relative;
		z-index: 2;
		transition: opacity .3s;
	}

	.main-menu-wrapper:not(.sub-menu):has(> li:hover) > li > a {
		opacity: .5;
	}

	.main-menu-wrapper:not(.sub-menu):has(> li:hover) > li:hover > a {
		opacity: 1;
	}

	.menu-item-has-children.is-active {
		z-index: 1;
	}

	/**
	 * Sub-menu
	 */
	.sub-menu-container {
		position: absolute;
		top: 0;
		left: 0;
		width: 100%;
		display: grid;
		grid-template-columns: repeat(4, minmax(0, 1fr));
		align-items: start;
		gap: var(--spacing-xs);
		height: var(--header-height);
		background-color: #fff;
		padding: var(--header-height) var(--spacing-md) 0 var(--spacing-md);
		overflow: hidden;
		visibility: hidden;
		transition: height .6s var(--ease-in-out-expo) .2s, visibility 0s .8s;
		pointer-events: none;
	}

	.sub-menu-container:has(.sub-menu-column) {
		grid-template-columns: repeat(8, minmax(0, 1fr));
	}

	.sub-menu-container:before {
		content: '';
		position: absolute;
		top: var(--header-height);
		left: 0;
		right: 0;
		border-top: 1px solid rgba(var(--color-primary-rgb), .5);
	}

	.sub-menu,
	.sub-menu-column {
		margin: var(--spacing-md) auto var(--spacing-md) 0;
		opacity: 0;
	}

	.main-menu-wrapper:not(:has(.menu-item-has-children.is-active)) .sub-menu,
	.main-menu-wrapper:not(:has(.menu-item-has-children.is-active)) .sub-menu-column {
		transition: opacity .4s;
	}

	.sub-menu {
		grid-column: 2 / span 3;
	}

	.sub-menu-container:has(.sub-menu-column) .sub-menu {
		grid-column: 3 / span 3;
	}

	.sub-menu-column {
		grid-column: 6 / span 3;
	}

	.sub-menu-container.is-open {
		height: calc(var(--header-height) + var(--sub-menu-height) + 1px);
		visibility: visible;
		transition: height .6s var(--ease-out-expo), visibility 0s 0s;
		pointer-events: auto;
	}

	.sub-menu-container.is-open .sub-menu,
	.sub-menu-container.is-open .sub-menu-column {
		opacity: 1;
		transition: opacity .6s .1s;
	}

	.sub-menu-container.is-open .sub-menu-column {
		transition-delay: .2s;
	}

	.sub-menu li:not(.small) {
		font-size: var(--font-size-lg);
		line-height: var(--line-height-heading);
		letter-spacing: var(--letter-spacing);
	}

	.sub-menu li a,
	.sub-menu-column li a {
		transition: opacity .3s;
	}

	.sub-menu:has(li:not(.small):hover) li:not(.small) a, /* not .small */
	.sub-menu:has(li.small:hover) li.small a, /* .small */
	.sub-menu-column:has(li:not(.title):hover) li:not(.title) a { /* not .title */
		opacity: .5;
	}

	.sub-menu:has(li:not(.small):hover) li:not(.small):hover a,
	.sub-menu:has(li.small:hover) li.small:hover a,
	.sub-menu-column:has(li:not(.title):hover) li:not(.title):hover a {
		opacity: 1;
	}

	.sub-menu-column li.title {
		font-size: var(--font-size-xs);
		letter-spacing: var(--letter-spacing);
		text-transform: uppercase;
		margin-bottom: var(--spacing-xs);
	}

	.sub-menu-column li.title a {
		cursor: default;
		pointer-events: none;
	}

	.sub-menu :nth-child(1 of .small) {
		margin-top: var(--spacing-lg);
	}

	/**
	 * Sub-menu Toggle
	 */
	.sub-menu-toggle {
		display: none;
	}

	/**
	 * Overlay
	 */
	.overlay {
		position: fixed;
		top: 0;
		left: 0;
		right: 0;
		bottom: 0;
		background-color: rgba(0, 0, 0, .2);
		opacity: 1;
		visibility: visible;
		transition: opacity .5s, visibility 0s 0s;
		z-index: -1;
	}

	.overlay.hidden {
		opacity: 0;
		visibility: hidden;
		transition: opacity .5s, visibility 0s .5s;
	}

	/**
	 * Utility
	 */
	.utility {
		gap: var(--spacing-sm);
		z-index: 2;
	}

	.utility-wrapper {
		gap: var(--spacing-sm);
	}
}
@media (min-width: 1280px) {

	.sub-menu-container:has(.sub-menu-column) .sub-menu {
		grid-column: 3 / span 2;
	}

	.sub-menu-column {
		grid-column: 5 / span 2;
	}
}

/* Mobile
   -------------------------------------------------------------------------- */
.mobile-menu-toggle {
	margin-left: var(--spacing-xs);
	cursor: pointer;
}
@media (min-width: 960px) {

	.mobile-menu-toggle {
		display: none;
	}
}

.mobile-menu-toggle.close:before {
	content: '\e90d';
}

/* Content
   -------------------------------------------------------------------------- */
.site-content {
	padding: var(--spacing-md) 0 var(--spacing-xl);
}
@media (min-width: 960px) {

	.site-content {
		padding: var(--spacing-md) 0 var(--spacing-xxl);
	}
}

.home .site-content {
	padding-top: 0;
}

.entry-content p a,
.entry-content .wp-block-list a,
.entry-summary p a {
	text-decoration: underline;
	text-decoration-thickness: .05em;
	text-underline-offset: .15em;
	transition: text-decoration-color .3s;
}

.entry-content p a:hover,
.entry-content .wp-block-list a:hover,
.entry-summary p a:hover {
	text-decoration-thickness: .05em;
	text-decoration-color: transparent;
}

/* Intro
   -------------------------------------------------------------------------- */
html.intro-loading #page {
	opacity: 0;
	visibility: hidden;
}

html.intro-loading .intro {
	display: block;
}

html.intro-visited .intro {
	display: none !important;
}

.intro {
	position: fixed;
	top: 0;
	left: 0;
	right: 0;
	bottom: 0;
	background-color: var(--color-primary);
	z-index: 100;
	cursor: pointer;
}

.logo-animation {
	position: absolute;
	top: 50%;
	left: 50%;
	transform: translate(-50%, -50%);
	width: min(80vw, 960px);
	height: auto;
	opacity: 0;
}

.logo-animation.is-ready {
	opacity: 1;
}

.logo-animation svg * {
	animation-play-state: paused !important;
}

.logo-animation.is-ready svg * {
	animation-play-state: running !important;
}

.logo-animation svg path {
	fill: var(--color-secondary);
}

/* Homepage
   -------------------------------------------------------------------------- */
.genre {
	display: inline-block;
}

.slide-in {
	animation: slide-in .3s ease-out;
}

.slide-out {
	animation: slide-out .3s ease-in;
}

@keyframes slide-in {

	from {
		transform: translateY(var(--spacing-xs));
	}

	to {
		transform: translateY(0);
	}
}

@keyframes slide-out {

	from {
		transform: translateY(0);
	}

	to {
		transform: translateY(calc(var(--spacing-xs) * -1));
	}
}

/* Footer
   -------------------------------------------------------------------------- */
.site-footer {
	background-color: #fff;
	padding: var(--spacing-md) 0;
}

/* Widget
   -------------------------------------------------------------------------- */
/*@media (min-width: 600px) and (max-width: 959px) {
	.widget .wp-block-group-is-layout-grid {
		grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
	}

	.widget .wp-block-group-is-layout-grid div:first-child,
	.widget .wp-block-group-is-layout-grid div:last-child {
		grid-column: span 2 !important;
	}
}*/

/**
 * Links
 */
.widget .links {
	display: inline-block;
}

.widget .links li a {
	transition: opacity .3s;
}

.widget .links:has(li:hover) li a {
	opacity: .5;
}

.widget .links:has(li:hover) li:hover a {
	opacity: 1;
}

/**
 * Newsletter
 */
.widget .newsletter p {
	margin-bottom: 0;
}

/**
 * Social
 */
.widget .social {
	margin-top: var(--spacing-md);
}

.widget .social li a {
	font-size: 1.75rem;
}

/**
 * Logo
 */
.widget .logo {
	margin: var(--spacing-xl) 0 var(--spacing-md);
}

.widget .logo svg {
	overflow: visible;
}

.widget .logo svg path {
	fill: var(--color-primary);
}

/**
 * Legal
 */
.widget .legal {
	font-size: var(--font-size-xs);
	letter-spacing: var(--letter-spacing);
	row-gap: var(--spacing-xxxs);
}

.widget .legal ul {
	display: flex;
	gap: var(--spacing-xs);
}
@media (min-width: 960px) {

	.widget .legal ul {
		float: right;
		gap: var(--spacing-md);
	}
}

/* Social
   -------------------------------------------------------------------------- */
.social {
	display: flex;
	gap: var(--spacing-xs);
}

.social li a span {
	display: none;
}

/* Blocks
   -------------------------------------------------------------------------- */

/**
 * Paragraph
 */
.has-small-font-size {
	font-size: var(--font-size-xs) !important;
	letter-spacing: var(--letter-spacing);
}

.has-medium-font-size {
	font-size: inherit !important;
}

.has-large-font-size {
	font-size: 1.5rem !important;
	line-height: var(--line-height-heading);
	letter-spacing: var(--letter-spacing);
}

.has-x-large-font-size {
	font-size: 2.25rem !important;
	line-height: var(--line-height-title);
	letter-spacing: var(--letter-spacing);
}
@media (min-width: 960px) {

	.has-medium-font-size {
		font-size: var(--font-size-md) !important;
		letter-spacing: var(--letter-spacing);
	}

	.has-large-font-size {
		font-size: var(--font-size-lg) !important;
	}

	.has-x-large-font-size {
		font-size: var(--font-size-xxl) !important;
	}
}

p.download {
	display: flex;
}

p.download a {
	display: flex;
	align-items: center;
	gap: var(--spacing-xxxs);
	text-decoration: none;
}

p.download a:after {
	content: '\e911';
	font-family: 'steelyjam-icons';
	font-size: var(--icons-size);
	line-height: 1;
	letter-spacing: normal;
}

/**
 * List
 */
.wp-block-list.list li {
	max-width: 40rem;
	padding-left: 1.5em;
}

.wp-block-list.list li:before {
	content: '●';
	display: inline-block;
	width: 1.5em;
	margin-left: -1.5em;
}

.wp-block-list.list:not(:last-child) {
	margin-bottom: 1em;
}

.wp-block-list.numbers li {
	display: flex;
	align-items: center;
	gap: var(--spacing-xxs);
}

.wp-block-list.numbers li:not(:last-child) {
	margin-bottom: var(--spacing-xxxs);
}

.wp-block-list.numbers li:before {
	font-family: 'steelyjam-icons';
	font-size: var(--icons-size);
	line-height: 1;
	letter-spacing: normal;
}

.wp-block-list.numbers li:nth-child(1):before {
	content: '\e91b';
}

.wp-block-list.numbers li:nth-child(2):before {
	content: '\e91c';
}

.wp-block-list.numbers li:nth-child(3):before {
	content: '\e91d';
}

.wp-block-list.numbers li:nth-child(4):before {
	content: '\e91e';
}

.wp-block-list.numbers li:nth-child(5):before {
	content: '\e91f';
}

.wp-block-list.numbers li:nth-child(6):before {
	content: '\e920';
}

.wp-block-list.numbers li:nth-child(7):before {
	content: '\e921';
}

.wp-block-list.numbers li:nth-child(8):before {
	content: '\e922';
}

.wp-block-list.numbers li:nth-child(9):before {
	content: '\e923';
}

/**
 * Quote
 */
.wp-block-quote p {
	font-size: var(--font-size-md);
	letter-spacing: var(--letter-spacing);
}
@media (min-width: 960px) {

	.wp-block-quote p {
		font-size: var(--font-size-lg);
		line-height: var(--line-height-heading);
	}
}

.wp-block-quote p:last-of-type {
	margin-bottom: 0;
}

.wp-block-quote cite {
	font-style: normal;
	font-size: var(--font-size-xs);
	letter-spacing: var(--letter-spacing);
	margin-top: var(--spacing-xs);
}

/**
 * Table
 */
/*.wp-block-table table {
	min-width: 600px;
}*/

.wp-block-table thead {
	border-bottom: 0;
}

.wp-block-table th,
.wp-block-table td {
	border: 1px solid var(--color-primary);
	border-left: 0;
	border-right: 0;
	padding: var(--spacing-xxs) 0;
}

.wp-block-table th {
	font-weight: normal;
	text-transform: uppercase;
	text-align: left;
}

.wp-block-table tfoot {
	border-top: 0;
}

.wp-block-table tfoot td {
	font-weight: bold;
}

.wp-block-table figcaption {
	font-size: var(--font-size-xs);
	letter-spacing: var(--letter-spacing);
	margin-top: var(--spacing-xs);
}

/**
 * Image
 */
.wp-block-image img {
	border-radius: var(--spacing-xs);
}

.wp-block-image figcaption {
	font-size: var(--font-size-xs);
	letter-spacing: var(--letter-spacing);
	margin: var(--spacing-xs) 0 0;
}

.highlights .wp-block-image figcaption {
	font-size: inherit;
}

/**
 * Cover
 */
.wp-block-cover {
	align-items: flex-end;
	width: calc(100% + (var(--spacing-xs) * 2));
	height: calc(100svh - var(--header-height));
	min-height: 0;
	padding: var(--spacing-md) var(--spacing-xs);
	margin-left: calc(var(--spacing-xs) * -1);
}
@media (min-width: 960px) {

	.wp-block-cover {
		width: calc(100% + (var(--spacing-md) * 2));
		padding: var(--spacing-md);
		margin-left: calc(var(--spacing-md) * -1);
	}
}

.wp-block-cover .wp-block-cover__inner-container {
	position: sticky;
	bottom: var(--spacing-md);
	color: #fff;
}

.wp-block-cover .wp-block-cover__inner-container p {
	max-width: 30rem;
}

/**
 * Media & Text
 */
.wp-block-media-text {
	grid-template-columns: 1fr 1fr;
	gap: var(--spacing-md) var(--spacing-xs);
	width: calc(100% + (var(--spacing-xs) * 2));
	padding: var(--spacing-md) var(--spacing-xs);
	margin-left: calc(var(--spacing-xs) * -1);
}
@media (max-width: 959px) {

	.wp-block-media-text {
		grid-template-columns: 100%;
	}

	.wp-block-media-text > .wp-block-media-text__media {
		grid-column: 1 !important;
		grid-row: 1 !important;
	}

	.wp-block-media-text > .wp-block-media-text__content {
		grid-column: 1 !important;
		grid-row: 2 !important;
	}
}
@media (min-width: 960px) {

	.wp-block-media-text {
		min-height: 40rem;
		width: calc(100% + (var(--spacing-md) * 2));
		padding: var(--spacing-md);
		margin-left: calc(var(--spacing-md) * -1);
	}
}

.wp-block-media-text.primary {
	background-color: var(--color-primary);
	color: var(--color-secondary);
}

.wp-block-media-text.secondary {
	background-color: var(--color-secondary);
}

.wp-block-media-text.white {
	background-color: #fff;
}

.wp-block-media-text > .wp-block-media-text__media {
	min-height: 0 !important;
	border-radius: var(--spacing-xs);
	overflow: hidden;
}
@media (min-width: 960px) {

	.wp-block-media-text > .wp-block-media-text__media {
		border-radius: var(--spacing-sm);
	}
}

.wp-block-media-text__media img {
	aspect-ratio: 4 / 3;
}

.wp-block-media-text.wide > .wp-block-media-text__media img {
	aspect-ratio: 3 / 2;
}

.wp-block-media-text__media video {
	aspect-ratio: 4 / 3;
	object-fit: cover;
}

.wp-block-media-text > .wp-block-media-text__content {
	display: flex;
	flex-direction: column;
	align-self: auto;
	padding: 0;
}
@media (min-width: 960px) {

	.wp-block-media-text > .wp-block-media-text__content {
		padding-left: calc(var(--spacing-md) - var(--spacing-xs));
	}
}

.wp-block-media-text > .wp-block-media-text__content .end {
	margin-top: auto;
}

/**
 * Buttons
 */
.wp-block-buttons {
	gap: var(--spacing-xs) var(--spacing-xxxs);
}

.wp-block-button__link {
	background-color: transparent;
	color: var(--color-primary);
	font-size: inherit;
	line-height: 1;
	padding: var(--spacing-xs) var(--spacing-md);
	border: 1px solid var(--color-primary);
	border-radius: 9999px;
	transition: background-color .3s, color .3s, border-color .3s;
}

.wp-block-button__link:hover {
	background-color: var(--color-primary);
	color: var(--color-secondary);
}

.wp-block-button.fill .wp-block-button__link {
	background-color: var(--color-primary);
	color: var(--color-secondary);
}

.wp-block-button.fill .wp-block-button__link:hover {
	background-color: transparent;
	color: var(--color-primary);
}

.wp-block-button.secondary .wp-block-button__link {
	color: var(--color-secondary);
	border-color: var(--color-secondary);
}

.wp-block-button.secondary .wp-block-button__link:hover {
	background-color: var(--color-secondary);
	color: var(--color-primary);
}

.wp-block-button.secondary.fill .wp-block-button__link {
	background-color: var(--color-secondary);
	color: var(--color-primary);
	border-color: var(--color-secondary);
}

.wp-block-button.secondary.fill .wp-block-button__link:hover {
	background-color: transparent;
	color: var(--color-secondary);
}

.wp-block-button.white .wp-block-button__link {
	background-color: #fff;
	border-color: #fff;
}

.wp-block-button.white .wp-block-button__link:hover {
	background-color: transparent;
	color: #fff;
}

.wp-block-button.frame {
	width: 100%;
}

.wp-block-button.frame .wp-block-button__link {
	font-size: var(--font-size-md);
	line-height: var(--line-height-heading);
	letter-spacing: var(--letter-spacing);
	text-transform: uppercase;
	text-align: left;
	padding: var(--spacing-md);
	border-radius: var(--spacing-xs);
}

.wp-block-button.frame .wp-block-button__link:hover {
	background-color: transparent;
	color: var(--color-primary);
}

/**
 * Columns
 */
.wp-block-columns {
	gap: var(--spacing-xl) var(--spacing-xs);
	margin-bottom: 0;
}
@media (max-width: 959px) {

	.wp-block-columns {
		flex-wrap: wrap !important;
	}

	.wp-block-columns:not(.is-not-stacked-on-mobile) > .wp-block-column {
		flex-basis: 100% !important;
	}

	.wp-block-column:empty {
		display: none;
	}
}

.wp-block-columns.half {
	gap: var(--spacing-md) var(--spacing-xs);
}
@media (min-width: 600px) and (max-width: 959px) {

	.wp-block-columns.half:not(.is-not-stacked-on-mobile) > .wp-block-column {
		flex-basis: calc(50% - var(--spacing-xxxs)) !important;
	}
}

.wp-block-columns.white,
.wp-block-columns.borders {
	gap: var(--spacing-xs);
}

.wp-block-columns.white > .wp-block-column,
.wp-block-columns.borders > .wp-block-column {
	padding: var(--spacing-md);
	border-radius: var(--spacing-xs);
}

.wp-block-columns.white > .wp-block-column {
	background-color: #fff;
}

.wp-block-columns.borders > .wp-block-column {
	border: 1px solid var(--color-primary);
}

.wp-block-columns.borders > .wp-block-column:empty {
	border-color: transparent;
}

.wp-block-group.table .wp-block-columns {
	padding: var(--spacing-xxs) 0;
	border-top: 1px solid var(--color-primary);
}

.wp-block-group.table .wp-block-columns:last-child {
	border-bottom: 1px solid var(--color-primary);
}

.wp-block-group.specs .wp-block-columns {
	padding: var(--spacing-xxs) 0 var(--spacing-sm);
	border-top: 1px solid var(--color-primary);
}

.wp-block-group.specs .wp-block-columns:last-child {
	padding-bottom: 0;
}
@media (max-width: 959px) {

	.wp-block-group.table .wp-block-columns,
	.wp-block-group.specs .wp-block-columns {
		flex-wrap: nowrap !important;
	}

	.wp-block-group.table .wp-block-columns:not(.is-not-stacked-on-mobile) > .wp-block-column,
	.wp-block-group.specs .wp-block-columns:not(.is-not-stacked-on-mobile) > .wp-block-column {
		flex-basis: 0 !important;
	}

	.wp-block-group.table .wp-block-column:empty,
	.wp-block-group.specs .wp-block-column:empty {
		display: inline;
	}
}

/**
 * Group
 */
@media (min-width: 960px) {

	.wp-block-group.half {
		max-width: calc(50% - var(--spacing-xxxs));
	}
}

.wp-block-group.section {
	background-color: #fff;
	width: calc(100% + (var(--spacing-xs) * 2));
	padding: var(--spacing-xl) var(--spacing-xs);
	margin-left: calc(var(--spacing-xs) * -1);
}
@media (min-width: 960px) {

	.wp-block-group.section {
		width: calc(100% + (var(--spacing-md) * 2));
		padding: var(--spacing-xxl) var(--spacing-md);
		margin-left: calc(var(--spacing-md) * -1);
	}

	.wp-block-group.section:has(.wp-swiper) h1 {
		margin-right: calc((var(--icons-size) * 2) + var(--spacing-xs) + var(--spacing-md));
	}
}

.wp-block-group.reviews {
	background-color: var(--color-background);
	padding: var(--spacing-md);
	border-radius: var(--spacing-xs);
}
@media (min-width: 960px) {

	.wp-block-group.reviews {
		border-radius: var(--spacing-sm);
	}
}

.wp-block-group.reviews img {
	border-radius: 0;
}

.wp-block-group.reviews svg path {
	fill: var(--color-primary);
}

/**
 * Grid
 */
.wp-block-group-is-layout-grid {
	gap: var(--spacing-md) var(--spacing-xs);
}
@media (max-width: 959px) {

	.wp-block-group-is-layout-grid {
		grid-template-columns: none !important;
	}

	.wp-block-group-is-layout-grid [class^="wp-container-content-"], .wp-block-group-is-layout-grid [class*=" wp-container-content-"] {
		grid-column: auto !important;
		grid-row: auto !important;
	}
}

.wp-block-group-is-layout-grid.heading-button {
	gap: var(--spacing-xs);
}
@media (min-width: 960px) {

	.wp-block-group-is-layout-grid.heading-button .wp-block-buttons {
		margin-left: auto;
		align-items: flex-end;
		/*transform: translateY(calc(var(--spacing-xxs) * -1));*/
	}
}

.wp-block-group-is-layout-grid.row {
	gap: 0 var(--spacing-xs);
	padding-top: var(--spacing-xs);
	border-top: 1px solid var(--color-primary);
}

/**
 * Separator
 */
.wp-block-separator {
	background-color: var(--color-primary);
	border: 0;
	height: 1px;
	margin: var(--spacing-lg) 0;
}
@media (min-width: 960px) {

	.wp-block-separator {
		margin: var(--spacing-xxl) 0;
	}
}

/**
 * Spacer
 */
.wp-block-spacer.is-style-default {
	height: var(--spacing-xs) !important;
}

.wp-block-spacer.is-style-small {
	height: var(--spacing-sm) !important;
}

.wp-block-spacer.is-style-medium {
	height: var(--spacing-md) !important;
}

.wp-block-spacer.is-style-large {
	height: var(--spacing-lg) !important;
}

.wp-block-spacer.is-style-x-large {
	height: var(--spacing-xl) !important;
}
@media (min-width: 960px) {

	.wp-block-spacer.is-style-small {
		height: var(--spacing-md) !important;
	}

	.wp-block-spacer.is-style-medium {
		height: var(--spacing-lg) !important;
	}

	.wp-block-spacer.is-style-large {
		height: var(--spacing-xl) !important;
	}

	.wp-block-spacer.is-style-x-large {
		height: var(--spacing-xxl) !important;
	}
}

/**
 * YouTube Embed
 */
.wp-block-embed__wrapper {
	padding-bottom: 56.25%;
	border-radius: var(--spacing-xs);
	overflow: hidden;
}

.wp-block-embed iframe {
	position: absolute;
	top: 0;
	left: 0;
	width: 100%;
	height: 100%;
}

.wp-block-embed figcaption {
	font-size: var(--font-size-xs);
	letter-spacing: var(--letter-spacing);
	margin: var(--spacing-xs) 0 0;
}

/* TranslatePress
   -------------------------------------------------------------------------- */
.trp_language_switcher_shortcode {
	display: flex;
}

.trp-language-switcher {
	width: auto;
	height: auto;
}

.trp-language-switcher:before,
.trp-language-switcher:after {
	font-family: 'steelyjam-icons';
	font-size: var(--icons-size);
	line-height: 1;
	letter-spacing: normal;
	position: absolute;
	top: calc(50% - (var(--icons-size) / 2));
	z-index: 2;
}

.trp-language-switcher:before {
	content: '\e915';
	left: var(--spacing-xs);
}

.trp-language-switcher:after {
	content: '\e909';
	right: var(--spacing-xs);
}

.trp-language-switcher:hover:after {
	content: '\e90c';
}

.trp-language-switcher .trp-ls-shortcode-language,
.trp-language-switcher .trp-ls-shortcode-current-language {
	width: auto !important;
}

.trp-language-switcher > div {
	background-image: none;
	background-color: transparent;
	padding: var(--spacing-xxxs) var(--spacing-xl) var(--spacing-xxxs) var(--spacing-lg);
	border: 1px solid var(--color-primary);
	border-radius: calc(var(--trp-ls-height) / 2);
}

.trp-language-switcher > div > a {
	color: inherit;
	font-weight: inherit;
	font-style: inherit;
	font-size: inherit;
	line-height: 1;
	padding: var(--spacing-xxxs) 0;
	border-radius: 0;
}

.trp-language-switcher > div > a:hover {
	background: none;
	border-radius: 0;
}

.trp-language-switcher > div > a.trp-ls-shortcode-disabled-language {
	cursor: pointer;
}

.trp-language-switcher:focus .trp-ls-shortcode-language,
.trp-language-switcher:hover .trp-ls-shortcode-language {
	padding: var(--spacing-xxxs) var(--spacing-xl) var(--spacing-xxxs) var(--spacing-lg);
}

/* Mailchimp
   -------------------------------------------------------------------------- */
.widget .mc4wp-form-fields {
	position: relative;
}

.mc4wp-form input[type=email] {
	width: 100%;
	background-color: transparent;
	letter-spacing: inherit;
	padding: 0 calc(var(--icons-size) + var(--spacing-xs)) var(--spacing-xxxs) 0;
	border: solid var(--color-primary);
	border-width: 0 0 1px;
	border-radius: 0;
}

.mc4wp-form input[type=email]::placeholder {
	color: var(--color-primary);
	opacity: .5;
}

.mc4wp-form input[type=email]:focus {
	outline: 0;
}

.mc4wp-form button[type=submit] span {
	display: none;
}

.mc4wp-form button[type=submit] {
	position: absolute;
	top: 0;
	right: 0;
	background-color: transparent;
	padding: 0;
	border: 0;
	/*transition: transform .15s ease-out;*/
}

/*.widget .mc4wp-form input[type=submit]:hover {
	transform: translateX(.25rem);
}*/

.mc4wp-response {
	font-size: var(--font-size-xs);
	letter-spacing: var(--letter-spacing);
	margin-top: var(--spacing-xs);
}

/* Simple Banner
   -------------------------------------------------------------------------- */
.simple-banner {
	background: var(--color-primary) !important;
	z-index: 11 !important;
}

.simple-banner-text {
	display: flex;
	color: var(--color-secondary) !important;
	font-weight: inherit !important;
	font-size: var(--font-size-xs);
	line-height: 1.5;
	letter-spacing: var(--letter-spacing);
	padding: var(--spacing-xxxs) 0 !important;
	white-space: nowrap;
	overflow: hidden;
}

.animate-ticker {
	animation: ticker 14s linear infinite;
}

/*.simple-banner:hover .animate-ticker {
	animation-play-state: paused;
}*/

.simple-banner-text a {
	color: inherit !important;
	padding: 0 var(--spacing-xl);
}

.simple-banner-button {
	height: 100%;
	background-image: linear-gradient(270deg, var(--color-primary), transparent);
	font-size: var(--font-size-sm) !important;
	padding: 0 var(--spacing-xxxs) 0 var(--spacing-md) !important;
	margin: 0 !important;
}

.simple-banner-button:before {
	color: var(--color-secondary);
}

.simple-banner-button span {
	display: none;
}

@keyframes ticker {

	from {
		transform: translateX(0);
	}

	to {
		transform: translateX(-100%);
	}
}

/* WP Swiper
   -------------------------------------------------------------------------- */
.wp-swiper > .wp-swiper__wrapper {
	margin-bottom: 0;
}

.swiper {
	width: calc(100% + (var(--spacing-xs) * 2));
	padding: 0 var(--spacing-lg) 0 var(--spacing-xs);
	margin-left: calc(var(--spacing-xs) * -1);
}
@media (min-width: 960px) {

	.swiper {
		width: calc(100% + (var(--spacing-md) * 2));
		padding: 0 var(--spacing-md);
		margin-left: calc(var(--spacing-md) * -1);
	}
}

.swiper-wrapper {
	transition-timing-function: var(--ease-out-expo);
}

/**
 * Navigation
 */
.wp_swiper__navigation {
	position: absolute;
	top: calc((var(--icons-size) + var(--spacing-md)) * -1);
	right: 0;
}
@media (max-width: 959px) {

	.wp_swiper__navigation {
		display: none;
	}
}

.wp_swiper__navigation-container {
	display: flex;
	gap: var(--spacing-xs);
}

.swiper-button-prev,
.swiper-button-next {
	display: block !important;
	position: relative;
	top: auto;
	width: auto;
	height: auto;
	margin-top: 0;
	display: flex;
	align-items: normal;
	color: var(--color-primary);
	z-index: 1;
}

.swiper-button-prev {
	left: auto;
}

.swiper-button-next {
	right: auto;
}

.swiper-button-prev:after,
.swiper-button-next:after {
	font-family: 'steelyjam-icons';
	font-size: var(--icons-size);
	line-height: 1;
	letter-spacing: normal;
}

.swiper-button-prev:after {
	content: '\e903';
}

.swiper-button-next:after {
	content: '\e902';
}

.swiper-button-prev.swiper-button-disabled,
.swiper-button-next.swiper-button-disabled {
	opacity: .25;
}

.swiper-button-prev svg,
.swiper-button-next svg {
	display: none !important;
}

/* Simple Tabs
   -------------------------------------------------------------------------- */
/*.tabs-nav ul {
	margin-bottom: -8px;
}

.tabs-nav li {
	display: inline-block;
	margin: 0 8px 8px 0;
}

.tabs-nav a {
	display: inline-block;
	background-color: transparent;
	color: #3300ff;
	font-weight: bold;
	line-height: 1;
	letter-spacing: -.03em;
	padding: 14px 21px;
	border: 1px solid #3300ff;
	border-radius: 100px;
	transition: all .3s ease-in-out;
}

.tabs-nav a:hover,
.tabs-nav a.active {
	background-color: #3300ff;
	color: #fff;
	border-color: transparent;
}

section.tab {
	display: none;
	margin-top: 48px;
}

section.tab.active {
	display: block;
	animation: fade-in .6s;
}

@media (min-width: 960px) {
	.tabs-nav a {
		padding: 16px 24px;
	}

	section.tab {
		margin-top: 64px;
	}
}

@keyframes fade-in {
	0% {
		opacity: 0;
	}

	50% {
		opacity: 0;
	}

	100% {
		opacity: 1;
	}
}*/

/* Leaflet Map
   -------------------------------------------------------------------------- */
.leaflet-map {
	height: 40rem !important;
	border-radius: var(--spacing-xs);
	z-index: 0;
}
@media (max-width: 959px) {

	.leaflet-map {
		height: auto !important;
		padding-top: 100%;
	}
}

.leaflet-container {
	font-family: inherit !important;
}

.leaflet-container a {
	color: var(--color-primary) !important;
}

/**
 * Zoom
 */
.leaflet-left {
	left: auto !important;
	right: 0;
}

.leaflet-left .leaflet-control {
	margin-left: 0 !important;
	margin-right: var(--spacing-xs);
}

.leaflet-top .leaflet-control {
	margin-top: var(--spacing-xs) !important;
}

.leaflet-bar {
	border: 0 !important;
	border-radius: var(--spacing-xxxs) !important;
	box-shadow: 0 1px .25rem -1px rgba(0, 0, 0, .25) !important;
}

.leaflet-bar a {
	color: inherit !important;
	width: var(--spacing-md) !important;
	height: var(--spacing-md) !important;
	line-height: var(--spacing-md) !important;
}

.leaflet-bar a:hover,
.leaflet-bar a:focus {
	background-color: #fff !important;
}

.leaflet-bar a:not(:last-child) {
	border-bottom: 1px solid rgba(var(--color-primary-rgb), .5) !important;
}

.leaflet-bar a:first-child {
	border-top-left-radius: var(--spacing-xxxs) !important;
	border-top-right-radius: var(--spacing-xxxs) !important;
}

.leaflet-bar a:last-child {
	border-bottom-left-radius: var(--spacing-xxxs) !important;
	border-bottom-right-radius: var(--spacing-xxxs) !important;
}

.leaflet-control-zoom-in,
.leaflet-control-zoom-out {
	font-family: 'steelyjam-icons' !important;
	font-weight: normal !important;
	font-size: var(--icons-size) !important;
	letter-spacing: normal;
	text-indent: 0 !important;
}

.leaflet-control-zoom-in span,
.leaflet-control-zoom-out span {
	display: none;
}

.leaflet-control-zoom-in:before,
.leaflet-control-zoom-out:before {
	content: '\e925';
}

.leaflet-control-zoom-out:before {
	content: '\e919';
}

/**
 * Popup
 */
.leaflet-popup-content-wrapper,
.leaflet-popup-tip {
	color: var(--color-primary) !important;
	box-shadow: 0 .25rem var(--spacing-xxxs) rgba(0, 0, 0, .25) !important;
}

.leaflet-popup-content {
	font-size: var(--font-size-xs) !important;
	letter-spacing: var(--letter-spacing);
	line-height: var(--line-height-body) !important;
	margin: var(--spacing-xxs) var(--spacing-md) var(--spacing-xxs) var(--spacing-xs) !important;
}

.leaflet-popup-content a {
	color: var(--color-primary) !important;
	text-decoration: underline;
	text-decoration-thickness: .05em;
	text-underline-offset: .15em;
	transition: text-decoration-color .3s;
}

.leaflet-popup-content a:hover {
	text-decoration-thickness: .05em;
	text-decoration-color: transparent;
}

.leaflet-popup-tip-container {
	margin-top: 0 !important;
}

.leaflet-popup-tip {
	width: var(--spacing-xs) !important;
	height: var(--spacing-xs) !important;
	margin: calc(var(--spacing-xxxs) * -1) auto 0 !important;
}

/**
 * Close
 */
.leaflet-container a.leaflet-popup-close-button {
	top: var(--spacing-xxxs) !important;
	right: var(--spacing-xxxs) !important;
	color: inherit !important;
	font-family: 'steelyjam-icons' !important;
	font-size: var(--font-size-sm) !important;
	line-height: 1 !important;
	letter-spacing: normal;
	width: var(--font-size-sm) !important;
	height: var(--font-size-sm) !important;
}

.leaflet-container a.leaflet-popup-close-button:before {
	content: '\e90d';
}

.leaflet-container a.leaflet-popup-close-button span {
	display: none;
}

/* Contact Form 7
   -------------------------------------------------------------------------- */
.wpcf7 input,
.wpcf7 textarea {
	background-color: transparent;
	letter-spacing: inherit;
}

.wpcf7 input[type=text],
.wpcf7 input[type=email],
.wpcf7 input[type=tel] {
	padding: 0 0 var(--spacing-xxxs);
	border: solid var(--color-primary);
	border-width: 0 0 1px;
	border-radius: 0;
}

.wpcf7 textarea {
	padding: var(--spacing-xs);
	border: 1px solid var(--color-primary);
	border-radius: var(--spacing-xs);
	resize: none;
}

.wpcf7 input::placeholder,
.wpcf7 textarea::placeholder {
	color: var(--color-primary);
	opacity: .5;
}

.wpcf7 input:focus,
.wpcf7 textarea:focus {
	outline: 0;
}

/**
 * Wrapper
 */
.wpcf7 .wrapper {
	display: flex;
	gap: 0 var(--spacing-xs);
}
@media (max-width: 959px) {

	.wpcf7 .wrapper {
		flex-direction: column;
	}
}

.wpcf7-form-control-wrap {
	display: flex;
	flex-direction: column;
	width: 100%;
	margin-bottom: var(--spacing-md);
}

.wpcf7 .has-small-font-size {
	margin-top: var(--spacing-xs);
}

/**
 * Checkbox
 */
.wpcf7-form-control.wpcf7-checkbox {
	display: flex;
}

.wpcf7-list-item {
	margin: 0;
}

.wpcf7-list-item label {
	display: flex;
	align-items: center;
	gap: var(--spacing-xxxs);
	cursor: pointer;
}

.wpcf7 input[type=checkbox] {
	appearance: none;
	width: var(--icons-size);
	height: var(--icons-size);
	cursor: pointer;
}

.wpcf7 input[type=checkbox]:before {
	content: '\e935';
	font-family: 'steelyjam-icons';
	font-size: var(--icons-size);
	line-height: 1;
	letter-spacing: normal;
}

.wpcf7 input[type=checkbox]:checked:before {
	content: '\e936';
}

/**
 * Button
 */
.wpcf7 input[type=submit] {
	background-color: var(--color-primary);
	color: var(--color-secondary);
	font-weight: normal;
	font-size: inherit;
	padding: var(--spacing-xs) var(--spacing-md);
	border: 1px solid var(--color-primary);
	border-radius: 9999px;
	transition: background-color .3s, color .3s;
}
@media (max-width: 959px) {

	.wpcf7 input[type=submit] {
		width: 100%;
	}
}

.wpcf7 input[type=submit]:hover {
	background-color: transparent;
	color: var(--color-primary);
}

/**
 * Response
 */
.wpcf7-spinner {
	display: none;
}

.wpcf7-not-valid-tip {
	color: var(--color-error);
	font-size: var(--font-size-xs);
	letter-spacing: var(--letter-spacing);
	margin-top: var(--spacing-xxxs);
}

.wpcf7 form .wpcf7-response-output {
	display: flex;
	align-items: center;
	gap: var(--spacing-xs);
	padding: var(--spacing-xs);
	margin: var(--spacing-md) 0 0;
	border: 1px solid var(--color-primary);
	border-radius: var(--spacing-xs);
}
@media (min-width: 600px) {

	.wpcf7 form .wpcf7-response-output {
		padding: var(--spacing-md);
	}
}

.wpcf7 form .wpcf7-response-output:before {
	content: '\e931';
	font-family: 'steelyjam-icons';
	font-size: var(--icons-size);
	line-height: 1;
	letter-spacing: normal;
}

.wpcf7 form.invalid .wpcf7-response-output {
	color: var(--color-error);
	border-color: var(--color-error);
}

/* Custom Shop
   -------------------------------------------------------------------------- */
.custom-product-header {
	margin-bottom: var(--spacing-xs);
}
@media (min-width: 960px) {

	.custom-product-header {
		display: flex;
		justify-content: space-between;
		align-items: flex-start;
	}

	.custom-product-header .title {
		margin-bottom: 0;
	}
}

.custom-product-header .controls {
	display: flex;
	flex-wrap: wrap;
	align-items: center;
	gap: var(--spacing-xs);
}
@media (min-width: 960px) {

	.custom-product-header .controls {
		gap: var(--spacing-sm);
	}
}

.custom-product-header .view {
	display: flex;
	flex-wrap: wrap;
	gap: var(--spacing-xxxs);
}

.custom-product-header .view li {
	flex-shrink: 0;
	font-size: var(--font-size-xs);
	line-height: 1;
	letter-spacing: var(--letter-spacing);
	padding: var(--spacing-xxs) var(--spacing-sm);
	border: 1px solid rgba(var(--color-primary-rgb), .25);
	border-radius: 9999px;
	cursor: pointer;
}

.custom-product-header .view li.active {
	border-color: var(--color-primary);
}

.custom-product-header .flip {
	transition: transform .4s var(--ease-out-cubic);
	cursor: pointer;
}

.custom-product-header .flip.active {
	transform: rotate(180deg);
}

/**
 * Images
 */
:root {
	--scale: clamp(.9, calc(95vw / 40rem), 2.5);
}

.custom-product {
	margin-bottom: var(--spacing-xs);
}

.custom-product .layer {
	position: relative;
	width: 100%;
	height: 40rem;
	border-radius: var(--spacing-xs);
	overflow: hidden;
}

.custom-product .layer.back {
	display: none;
}

.custom-product .layer-wrapper {
	position: absolute;
	top: 50%;
	left: 50%;
	transform: translate(-50%, -50%);
	height: 40rem;
	aspect-ratio: 4 / 5;
	filter: drop-shadow(rgba(0, 0, 0, .375) var(--spacing-xxxs) var(--spacing-sm) var(--spacing-xxxs));
	transition: transform 1s var(--ease-out-expo);
}

.custom-product .layer-wrapper.view-body {
	transform: translate(-50%, -75%) scale(1.5);
}

.custom-product .layer-wrapper.view-neck {
	transform: translate(-50%, -25%) scale(1.5);
}
@media (min-width: 600px) {

	.custom-product .layer-wrapper {
		transform: translate(-50%, -50%) rotate(90deg);
		filter: drop-shadow(
			rgba(0, 0, 0, .375)
			clamp(0px, calc(var(--spacing-xs) * var(--scale) / 2.5), var(--spacing-xs))
			clamp(0px, calc(var(--spacing-lg) * var(--scale) / 2.5), var(--spacing-lg))
			clamp(0px, calc(var(--spacing-xs) * var(--scale) / 2.5), var(--spacing-xs))
		);
	}

	.custom-product .layer-wrapper:has(img.flipped) {
		filter: drop-shadow(
			rgba(0, 0, 0, .375)
			clamp(0px, calc(var(--spacing-xs) * var(--scale) / 2.5), var(--spacing-xs))
			clamp(calc(var(--spacing-lg) * -1), calc(var(--spacing-lg) * var(--scale) / 2.5 * -1), 0px)
			clamp(0px, calc(var(--spacing-xs) * var(--scale) / 2.5), var(--spacing-xs))
		);
	}

	.custom-product .layer-wrapper.view-body {
		transform: translate(calc(-50% + (10rem * var(--scale))), -50%) rotate(90deg) scale(1.5);
	}

	.custom-product .layer-wrapper.view-neck {
		transform: translate(calc(-50% - (10rem * var(--scale))), -50%) rotate(90deg) scale(1.5);
	}
}

.custom-product .layer-wrapper img {
	position: absolute;
	object-fit: cover;
	image-rendering: auto;
	transform: translateZ(0);
	-webkit-backface-visibility: hidden;
}

.custom-product .layer-wrapper img.flipped {
	transform: translateZ(0) scaleX(-1);
}
@media (min-width: 600px) {

	.custom-product .layer-wrapper img {
		object-fit: contain;
		transform: scale(var(--scale));
	}

	.custom-product .layer-wrapper img.flipped {
		transform: scale(var(--scale)) scaleY(-1);
	}
}

/**
 * Navigation
 */
.custom-product-form {
	background-color: #fff;
	padding: var(--spacing-md);
	border-radius: var(--spacing-xs);
}

.custom-product-form .navigation {
	display: flex;
	align-items: center;
	gap: var(--spacing-xs);
}

.custom-product-form .step-prev,
.custom-product-form .step-next {
	opacity: 1;
	cursor: pointer;
}

.custom-product-form .step-prev.disabled,
.custom-product-form .step-next.disabled {
	opacity: .25;
	cursor: default;
	pointer-events: none;
}

.custom-product-form .progress {
	min-width: var(--spacing-md); /* 1.75em */
	text-align: center;
}

.custom-product-form .menu-toggle {
	margin-left: auto;
	cursor: pointer;
}

/**
 * Menu
 */
.custom-product-form .menu {
	display: none;
	position: relative;
}

.custom-product-form .menu ul {
	margin-right: calc(var(--icons-size) + var(--spacing-md));
}

.custom-product-form .menu li {
	font-size: 1.5rem;
	line-height: var(--line-height-heading);
	letter-spacing: var(--letter-spacing);
	opacity: .5;
	cursor: pointer;
}
@media (min-width: 960px) {

	.custom-product-form .menu li {
		font-size: var(--font-size-lg);
	}
}

.custom-product-form .menu li.active {
	opacity: 1;
}

.custom-product-form .close {
	position: absolute;
	top: 0;
	right: 0;
	cursor: pointer;
}

/**
 * Form
 */
.custom-product-form .step-title {
	margin: var(--spacing-md) 0 var(--spacing-xs);
}
@media (min-width: 960px) {

	.custom-product-form .step-title:not(.step-no-menu) {
		margin: var(--spacing-lg) 0 var(--spacing-sm);
	}
}

.custom-product-form .thumbnails-group,
.custom-product-form .options-group {
	width: calc(100% + (var(--spacing-md) * 2));
	margin-left: calc(var(--spacing-md) * -1);
}

.custom-product-form .thumbnails,
.custom-product-form .options {
	display: flex;
	gap: var(--spacing-xxxs);
	width: 100%;
	padding: 0 var(--spacing-md);
	overflow-x: auto;
	touch-action: pan-x;
	scrollbar-width: none;
}

.custom-product-form .thumbnails label {
	display: flex;
	align-items: center;
	gap: var(--spacing-xxxs);
	padding: var(--spacing-xxxs);
	border: 1px solid rgba(var(--color-primary-rgb), .25);
	border-radius: var(--spacing-xs);
	cursor: pointer;
}

.custom-product-form .thumbnails label.selected {
	border-color: var(--color-primary);
}
@media (max-width: 959px) {

	.custom-product-form .thumbnails label {
		flex-direction: column;
		align-items: normal;
	}
}
@media (min-width: 960px) {

	.custom-product-form .thumbnails label {
		flex-shrink: 0;
		gap: var(--spacing-xs);
		width: calc(20rem + (1px * 2));
	}

	.custom-product-form .thumbnails.large label {
		flex-shrink: 0;
		width: calc(30rem + (1px * 2));
	}
}

.custom-product-form .thumbnails img,
.custom-product-form .thumbnails .radio-fallback {
	background-color: var(--color-background);
	border-radius: var(--spacing-xxxs);
	width: 9rem;
	min-width: 9rem;
	aspect-ratio: 3 / 2;
	object-fit: cover;
	image-rendering: auto;
	transform: translateZ(0);
	-webkit-backface-visibility: hidden;
}

.custom-product-form .thumbnails.colour img,
.custom-product-form .thumbnails.colour .radio-fallback {
	border-radius: 50%;
	width: calc(6rem - ((var(--spacing-xs) - var(--spacing-xxxs)) * 2));
	min-width: calc(6rem - ((var(--spacing-xs) - var(--spacing-xxxs)) * 2));
	aspect-ratio: 1;
	margin: calc(var(--spacing-xs) - var(--spacing-xxxs));
}
@media (min-width: 960px) {

	.custom-product-form .thumbnails.colour img,
	.custom-product-form .thumbnails.colour .radio-fallback {
		margin-right: 0;
	}
}

.custom-product-form .options label {
	flex-shrink: 0;
	font-size: var(--font-size-xs);
	line-height: 1;
	letter-spacing: var(--letter-spacing);
	padding: var(--spacing-xxs) var(--spacing-sm);
	border: 1px solid rgba(var(--color-primary-rgb), .25);
	border-radius: 9999px;
	cursor: pointer;
}

.custom-product-form .options label.selected {
	border-color: var(--color-primary);
}

.custom-product-form .options label.disabled {
	color: rgba(var(--color-primary-rgb), .25);
	cursor: default;
	pointer-events: none;
}

.custom-product-form .thumbnails input[type=radio],
.custom-product-form .options input[type=radio] {
	display: none;
}

.custom-product-form .thumbnails span {
	padding: calc(var(--spacing-xs) - var(--spacing-xxxs)) calc(var(--spacing-xs) - var(--spacing-xxxs)) calc(var(--spacing-xs) - var(--spacing-xxxs)) 0;
}
@media (max-width: 959px) {

	.custom-product-form .thumbnails span {
		font-size: var(--font-size-xs);
		letter-spacing: var(--letter-spacing);
		padding: 0 0 calc(var(--spacing-xxs) - var(--spacing-xxxs));
	}
}

/**
 * Button
 */
.custom-product-form .button {
	display: inline-block;
	background-color: var(--color-primary);
	color: var(--color-secondary);
	font: inherit;
	line-height: 1;
	letter-spacing: inherit;
	padding: var(--spacing-xs) var(--spacing-md);
	margin: var(--spacing-xl) 0 0;
	border: 1px solid var(--color-primary);
	border-radius: 9999px;
	outline: 0;
	cursor: pointer;
	transition: background-color .3s, color .3s;
}
@media (max-width: 959px) {

	.custom-product-form .button {
		width: 100%;
		margin: var(--spacing-lg) 0 0;
	}
}

.custom-product-form .button:hover {
	background-color: transparent;
	color: var(--color-primary);
}

.custom-product-form .button span:before {
	content: '';
	margin: 0 var(--spacing-xs);
	border-left: 1px solid;
	opacity: .25;
}

.custom-product-form .button:disabled {
	background-color: var(--color-background);
	color: var(--color-primary);
	border-color: var(--color-background);
	cursor: default;
	pointer-events: none;
	position: relative;
}
@media (min-width: 960px) {

	.custom-product-form .button:disabled {
		padding-right: var(--spacing-xl);
	}
}

.custom-product-form .button:disabled:after {
	content: '\e917';
	font-family: 'steelyjam-icons';
	font-size: var(--icons-size);
	line-height: 1;
	letter-spacing: normal;
	position: absolute;
	top: calc(50% - (var(--icons-size) / 2));
	right: var(--spacing-xs);
	animation: spin 2s linear infinite;
}
