/*
Theme Name: fwwm
Theme URI: 
Author: Krzysiek Dróżdż (WPmagus.pl)
Author URI: https://wpmagus.pl/
Description: 
Version: 2.0.5
License: GNU General Public License v2 or later
License URI: http://www.gnu.org/licenses/gpl-2.0.html
Tags: 
Text Domain: fwwm
*/


/* Style guide
 * ======================================== */

:root {
	--color-primary: #E11A81;

	--color-yellow: #ffbb0b;
	--color-blue: #339af5;
	--color-pink: #f151b9;

	--color-orange: #F29100;
	--color-green: #0F8A56;
	--color-red: #DF2A4A;
	--color-message-success: #E7F3EE;
	--color-message-error: #FCEAED;
	--color-message-info: #FEF4E5;
	--color-white: #ffffff;
	--color-almost-white: #FCFCFD; /* 50 */
	--color-lighter-grey: #EAEDEF; /* 100 */
	--color-light-grey: #E5E7EA; /* 200 */
	--color-grey: #BDC0C2; /* 400 */
	--color-dark-grey: #9C9EA1; /* 500 */
	--color-darker-grey: #7D7F83; /* 600 */
	--color-almost-black: #393D46; /* 800 */
	--color-black: #1E2430; /* 900 */

	--font-1: normal 400 3.875rem/1.25 'Playfair Display', serif;
	--font-2: normal 400 3rem/1.25 'Playfair Display', serif;
	--font-3: normal 500 1.875rem/1.5 'Playfair Display', serif;
	--font-4: normal 500 1.625rem/1.5 'Playfair Display', serif;
	--font-5: normal 400 1rem/1.7 'Merriweather Sans', sans-serif;
	--font-6: normal 700 1.125rem/1.5 'Merriweather Sans', sans-serif;

	--font-hand-1: normal 400 7.0625rem/1 'Smooch';
	--font-hand-2: normal 400 5.3125rem/1 'Smooch';

	--font-base: normal 300 1.125rem/1.8 'Merriweather Sans', sans-serif;
	--font-meta: normal 300 0.875rem/1.5 'Merriweather Sans', sans-serif;

	--font-price: normal 700 1.875rem/1.5 'Merriweather Sans', sans-serif;
	--font-price-small: normal 700 1.625rem/1.5 'Merriweather Sans', sans-serif;
	--font-price-x-small: normal 700 1.125rem/1.5 'Merriweather Sans', sans-serif;

	--font-size-small: .9375rem;
	--font-size-medium: 1.25rem;
	--font-size-large: 1.625rem;
	--font-size-x-large: 3rem;

	--line-height-base: 1.8;
	--line-height-meta: 1.5;

	--space-0: 5rem;
	--space-1: 3.75rem;
	--space-2: 1.5rem;
	--space-3: 1rem;
	--space-4: 0.75rem;
	--space-5: 0.5rem;
	--space-6: 0.25rem;
	--space-grid: 2.25rem;

	--base-space: var(--space-2);
	--container-padding-space: var(--space-1);

	--shadow-base: 0 .375rem 1.25rem -.25rem rgba(0, 0, 0, 0.1);
	--shadow-big: 0 1rem 2.5rem -.5rem rgba(0, 0, 0, 0.1);

	--container-width: 1200px;
	--container-max-width: calc(100vw - 2 * var(--container-padding-space));

	--content-wide-width: 1200px;
	--content-width: 992px;

	/* ----- */
	--base-color: var(--color-almost-black);
	--content-bg-color: var(--color-white);
	--html-bg-color: var(--color-primary);

	--link-color: var(--base-color);
	--link-hover-color: var(--base-color);
	--link-visited-color: var(--base-color);

	--button-padding: var(--form-input-padding);
	--button-small-padding: var(--space-5) var(--space-4);
	--button-border-radius: var(--form-input-border-radius);
	--button-primary-color: var(--color-white);
	--button-primary-bg-color: var(--color-primary);

	--form-input-margin: var(--space-4);
	--form-input-border-color: var(--color-lighter-grey);
	--form-input-border-radius: var(--space-6);
	--form-input-placeholder-color: var(--color-dark-grey);
	--form-input-padding: var(--space-5) var(--space-2);

	--meta-color: var(--color-grey);

	--base-animation-easing: ease-in-out;

	/* -- wp -- */
	--wp--style--block-gap: var(--space-3);
}

@media (max-width: 782px) {
	:root {
		--font-1: normal 400 2.25rem/1.25 'Playfair Display', serif;
		--font-2: normal 400 1.75rem/1.25 'Playfair Display', serif;
		--font-3: normal 500 1.5rem/1.5 'Playfair Display', serif;
		--font-4: normal 500 1.3125rem/1.5 'Playfair Display', serif;
		--font-5: normal 400 1rem/1.7 'Merriweather Sans', sans-serif;
		--font-6: normal 700 1.125rem/1.5 'Merriweather Sans', sans-serif;

		--font-hand-1: normal 400 3.6875rem/1 'Smooch';
		--font-hand-2: normal 400 2.875rem/1 'Smooch';

		--font-base: normal 300 1.0625rem/1.8 'Merriweather Sans', sans-serif;
		--font-meta: normal 300 0.875rem/1.5 'Merriweather Sans', sans-serif;

		--font-price: normal 700 1.875rem/1.5 'Merriweather Sans', sans-serif;
		--font-price-small: normal 700 1.25rem/1.5 'Merriweather Sans', sans-serif;
		--font-price-old: normal 700 1rem/1.5 'Merriweather Sans', sans-serif;

		--font-size-small: .875rem;
		--font-size-medium: 1.125rem;
		--font-size-large: 1.3125rem;
		--font-size-x-large: 1.75rem;

		--space-0: 2rem;
		--space-1: 2rem;
		--space-2: 1.5rem;
		--space-3: 1rem;
		--space-4: 0.75rem;
		--space-5: 0.5rem;
		--space-6: 0.25rem;
		--space-grid: 2rem;

		--container-padding-space: var(--space-2);
	}
}


@keyframes spin {
	100% {
		transform: rotate(360deg)
	}
}


/* html5doctor.com based Reset */
html, body, div, span, object, iframe, h1, h2, h3, h4, h5, h6, p, blockquote, pre, abbr, address, cite, code, del, dfn, em, img, ins, kbd, q, samp, small, strong, sub, sup, var, b, i, dl, dt, dd, ol, ul, li, fieldset, form, label, legend, table, caption, tbody, tfoot, thead, tr, th, td, article, aside, canvas, details, figcaption, figure, footer, header, hgroup, menu, nav, section, summary, time, mark, audio, video {
	margin: 0;
	padding: 0;
	border: 0;
	outline: 0;
	font-size: 100%;
	vertical-align: baseline;
	background: transparent
}

body {
	line-height: 1
}

article, aside, details, figcaption, figure, footer, header, hgroup, menu, nav, section {
	display: block
}

nav ul {
	list-style: none
}

blockquote, q {
	quotes: none
}

blockquote:before, blockquote:after, q:before, q:after {
	content: none
}

a {
	margin: 0;
	padding: 0;
	font-size: 100%;
	vertical-align: baseline;
	background: transparent
}

ins {
	background-color: transparent;
	color: var(--base-color);
	text-decoration: none
}

mark {
	background-color: transparent;
	color: var(--base-color);
	font-style: normal;
	font-weight: normal
}

del {
	text-decoration: line-through
}

abbr[title], dfn[title] {
	border-bottom: 1px dotted;
	cursor: help
}

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

hr {
	display: block;
	height: 1px;
	border: 0;
	border-top: 1px solid var(--form-input-border-color);
	margin: 1rem 0;
	padding: 0
}

input, select {
	vertical-align: middle
}

html {
	box-sizing: border-box;
}

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

a {
	text-decoration: underline;
}

a:hover {
	text-decoration: none;
}

p, ul, ol, table, blockquote, address, dl, pre {
	margin: var(--base-space) 0;
}

pre {
	max-width: 100%;
	overflow: auto;
}

h1, h2, h3, h4, h5, h6 {
	margin: calc(1.5 * var(--base-space)) 0 var(--base-space) 0;
}

::-webkit-input-placeholder {
	color: var(--form-input-placeholder-color);
}

:-moz-placeholder {
	color: var(--form-input-placeholder-color);
}

::-moz-placeholder {
	color: var(--form-input-placeholder-color);
	opacity: 1;
}

:-ms-input-placeholder {
	color: var(--form-input-placeholder-color);
}

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

img[class*="align"],
img[class*="wp-image-"],
img[class*="attachment-"] {
	height: auto;
}

embed,
iframe,
object,
video {
	margin: var(--base-space) 0;
	max-width: 100%;
}

video {
	aspect-ratio: 16 / 9;
	object-fit: cover;
	border-radius: .5rem;
}

.grecaptcha-badge {
	display: none;
}

.grecaptcha-logo iframe {
	margin: 0;
}

p > embed,
p > iframe,
p > object,
span > embed,
span > iframe,
span > object {
	margin-bottom: 0;
}

input[type="submit"],
button,
select {
	-webkit-appearance: none;
}

address {
	font-style: normal;
}

main, article, section, header, footer, nav, aside {
	display: block;
}


small, sub, sup {
	font-size: var(--font-size-small);
}

sub {
	vertical-align: sub
}

sup {
	vertical-align: super
}

/* Tools
 * ======================================== */

#page-wrap {
	overflow-x: hidden;
	width: 100%;
	position: relative;
}


.container {
	width: var(--container-width);
	max-width: var(--container-max-width);
	margin: 0 auto;
}

.container:after {
	content: '';
	display: block;
	clear: both;
}


.alignleft {
	float: left;
}

.alignright {
	float: right;
}

.aligncenter {
	display: block;
	margin-left: auto;
	margin-right: auto;
	text-align: center;
}


.video-container {
	width: 100%;
	height: auto;
	aspect-ratio: 16 / 9;
	position: relative;
}

.video-container iframe {
	width: 100%;
	height: 100%;
	position: absolute;
	left: 0;
	top: 0;
	right: 0;
	bottom: 0;
}

.video-container .video-thumbnail {
	position: relative;
}

.video-container .video-thumbnail:after {
	content: '\25ba';
	font-size: 2rem;
	text-align: center;
	opacity: 0.8;
	width: 7rem;
	height: 5rem;
	margin: -2.5rem auto auto -3.5rem;
	line-height: 5rem;
	border-radius: 2rem;
	position: absolute;
	left: 50%;
	top: 50%;
	background: var(--button-primary-bg-color);
	color: var(--button-primary-color);
	-webkit-transition: all .3s;
	-moz-transition: all .3s;
	-ms-transition: all .3s;
	-o-transition: all .3s;
	transition: all .3s;
}

.video-container .video-thumbnail img {
	aspect-ratio: 16 / 9;
	object-fit: cover;
}

.video-container .video-thumbnail:hover {
	opacity: 1;
}

.video-container .video-thumbnail:hover img {
	opacity: 0.8;
}

.video-container .video-thumbnail:hover:after {
	opacity: 1;
	-webkit-transform: scale(1.1);
	-moz-transform: scale(1.1);
	-ms-transform: scale(1.1);
	-o-transform: scale(1.1);
	transform: scale(1.1);
}


a.icon {
	text-decoration: none;
}

a.icon:before {
	content: '';
	font-family: "Font Awesome 5 Free", "Font Awesome 5 Brands";
}

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

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

a.icon--vimeo:before {
	content: '\f27d';
}

a.icon--twitter:before {
	content: '\f099';
}

a.icon--tumblr:before {
	content: '\f174';
}

a.icon--tiktok:before {
	content: '\e07b';
}

a.icon--linkedin:before {
	content: '\f0e1';
}

a.icon--google-plus:before {
	content: '\f0d4';
}

a.icon--vimeo:before {
	content: '\f194';
}

a.icon--spotify:before {
	content: '\f1bc';
}

a.icon--pinterest:before {
	content: '\f0d3';
}

a.icon--instagram:before {
	content: '\e055'; /* '\f16d';*/
	font-weight: 400;
}

a.icon--reddit:before {
	content: '\f281';
}

a.icon--quora:before {
	content: '\f2c4';
}

a.icon--behance:before {
	content: '\f1b4';
}

a.icon--github:before {
	content: '\f09b';
}

a.icon--stackoverflow:before {
	content: '\f16c';
}

a.icon--stackexchange:before {
	content: '\f18d';
}

a.icon--rss:before {
	content: '\f143';
}

a.icon--search:before {
	content: '';
	background: url('assets/images/icon-search.svg') no-repeat center;
	display: block;
	width: .925rem;
	height: 1.375rem;
}

a.icon--phone:before {
	content: '\f879';
	font-weight: bold;
}

a.icon--mail:before {
	content: '\f0e0';
}

a.icon--cart:before {
	content: '';
	background: url('assets/images/icon-cart.svg') no-repeat center;
	display: block;
	width: .9375rem;
	height: 1.375rem;
}

a.icon--account:before {
	content: '';
	background: url('assets/images/icon-account.svg') no-repeat center;
	display: block;
	width: .875rem;
	height: 1.375rem;
}


.screen-reader-text {
	clip: rect(0 0 0 0);
	clip-path: inset(50%);
	height: 1px;
	overflow: hidden;
	position: absolute;
	white-space: nowrap;
	width: 1px;
}


.skip-links {
	list-style: none;
	display: inline-block;
	position: absolute;
}

.skip-link {
	position: fixed;
	left: -100vw;
	z-index: 9999;
	min-width: 20rem;
	top: 0;
	padding: var(--space-3) var(--base-space);
	text-decoration: none;
	background: var(--base-color);
	color: var(--content-bg-color);
}

.skip-link:hover,
.skip-link:focus,
.skip-link:active {
	left: 0;
}

.admin-bar .skip-link {
	top: 32px;
}

@media (max-width: 782px) {
	.admin-bar .skip-link {
		top: 46px;
	}
}


.toggle {
	color: var(--base-color);
	background: transparent;
	border-color: transparent;
	border-radius: 0;
	position: relative;
	margin: 0;
	padding: 0;
	display: block;
	width: auto;
	height: 1.5rem;
}


.nav .toggle--nav {
	display: none;
	z-index: 10001;
	cursor: pointer;
	background: transparent;
	padding: 0;
	overflow: hidden;
	font-size: 0;
	text-indent: -9999px;
	border-radius: 0;
	border: none;
}

.nav .toggle--nav span {
	background: var(--base-color);
	top: 50%;
	display: block;
	margin-left: 12.5%;
	right: 0;
	border-radius: 2px;
	-webkit-transition: background 0.3s var(--base-animation-easing) 0.15s;
	-moz-transition: background 0.3s var(--base-animation-easing) 0.15s;
	-ms-transition: background 0.3s var(--base-animation-easing) 0.15s;
	-o-transition: background 0.3s var(--base-animation-easing) 0.15s;
	transition: background 0.3s var(--base-animation-easing) 0.15s;
}

.nav .toggle--nav span:before,
.nav .toggle--nav span:after {
	content: '';
	background: var(--base-color);
	position: absolute;
	display: block;
	width: 87.5%;
	left: 0;
	border-radius: 2px;
	-webkit-transition: all 0.3s var(--base-animation-easing) 0s;
	-moz-transition: all 0.3s var(--base-animation-easing) 0s;
	-ms-transition: all 0.3s var(--base-animation-easing) 0s;
	-o-transition: all 0.3s var(--base-animation-easing) 0s;
	transition: all 0.3s var(--base-animation-easing) 0s;
}

.nav .toggle--nav span:before {
	top: 0;
}

.nav .toggle--nav span:after {
	bottom: 0;
}

.nav.nav-on .toggle--nav {
}

.nav.nav-on .toggle--nav span {
	background: transparent !important;
	-webkit-transition-delay: 0s;
	-moz-transition-delay: 0s;
	-ms-transition-delay: 0s;
	-o-transition-delay: 0s;
	transition-delay: 0s;
}

.nav.nav-on .toggle--nav span:before,
.nav.nav-on .toggle--nav span:after {
	width: 100%;
	-webkit-transition-delay: 0.15s;
	-moz-transition-delay: 0.15s;
	-ms-transition-delay: 0.15s;
	-o-transition-delay: 0.15s;
	transition-delay: 0.15s;
}

.nav.nav-on .toggle--nav span:before {
	top: 50%;
	-webkit-transform: rotate(45deg);
	-moz-transform: rotate(45deg);
	-ms-transform: rotate(45deg);
	-o-transform: rotate(45deg);
	transform: rotate(45deg);
}

.nav.nav-on .toggle--nav span:after {
	bottom: 50%;
	-webkit-transform: rotate(-45deg);
	-moz-transform: rotate(-45deg);
	-ms-transform: rotate(-45deg);
	-o-transform: rotate(-45deg);
	transform: rotate(-45deg);
}

.nav .nav-container {
	-webkit-transition: all .5s var(--base-animation-easing) 0s;
	-moz-transition: all .5s var(--base-animation-easing) 0s;
	-ms-transition: all .5s var(--base-animation-easing) 0s;
	-o-transition: all .5s var(--base-animation-easing) 0s;
	transition: all .5s var(--base-animation-easing) 0s;
}


.toggle.toggle--search-box {
	aspect-ratio: 1 / 1;
}

.toggle.toggle--search-box > span {
	position: absolute;
	clip: unset;
	clip-path: none;
	background: var(--base-color);
	border-radius: 2px;
	bottom: 1px;
	right: 0;
	width: 2px;
	height: 57%;
	display: block;
	transform: rotate(-45deg);
	transform-origin: 100% 100%;
	transition: all .3s var(--base-animation-easing) 0s;
}

.toggle.toggle--search-box:before {
	content: '';

	position: absolute;
	background: var(--base-color);
	border-radius: 2px;
	bottom: calc(50% - 0.5px);
	right: calc(50% - 0.15px);
	width: 2px;
	height: 0;
	display: block;
	transform: rotate(-45deg) translate(50%, 50%);
	transform-origin: 100% 100%;
	transition: all .3s var(--base-animation-easing) 0s;
	z-index: 1;
}

.toggle.toggle--search-box:after {
	content: '';
	position: absolute;
	left: 0;
	top: 0.5px;
	display: block;
	height: 70%;
	aspect-ratio: 1 / 1;
	border-radius: 50%;
	border: 2px solid var(--base-color);
	transition: all .3s var(--base-animation-easing) 0s;
}

.search-box-container .search-box {
	-webkit-transition: all .5s var(--base-animation-easing) 0s;
	-moz-transition: all .5s var(--base-animation-easing) 0s;
	-ms-transition: all .5s var(--base-animation-easing) 0s;
	-o-transition: all .5s var(--base-animation-easing) 0s;
	transition: all .5s var(--base-animation-easing) 0s;
}

.search-box-container.search-box-on .toggle.toggle--search-box:before {
	height: 134%;
	bottom: calc(50% - 0.5px);
	right: calc(50% + 0.5px);
	transform: rotate(45deg) translate(50%, 50%);
}

.search-box-container.search-box-on .toggle.toggle--search-box:after {
	transform: scale(0);
	transform-origin: 20% 20%;
}

.search-box-container.search-box-on .toggle.toggle--search-box span {
	height: 134%;
}


/* Global
 * ======================================== */

html {
	font-size: 16px;
	background: var(--html-bg-color);
}

body {
	font: var(--font-base);
	color: var(--base-color);
}

ul,
ol {
	margin-left: var(--base-space);
}

li > ul,
li > ol {
	margin-top: 0;
	margin-bottom: 0;
}

dl {
}

dl dt {
	font-weight: bold;
}

dl dd {
	padding-left: var(--base-space);
	margin-bottom: var(--space-3);
}

a {
	color: var(--link-color);
	text-decoration: underline;
	-webkit-transition: all .3s;
	-moz-transition: all .3s;
	-ms-transition: all .3s;
	-o-transition: all .3s;
	transition: all .3s;
}

a:hover:not(.button):not(.wp-block-button__link) {
	color: var(--link-hover-color);
	text-decoration: none;
	opacity: .75;
}

a:visited:not(.button):not(.wp-block-button__link) {
	color: var(--link-visited-color);
}

h1,
h2,
h3,
h4,
h5,
h6,
h1.has-text-color,
h2.has-text-color,
h3.has-text-color,
h4.has-text-color,
h5.has-text-color,
h6.has-text-color {
}

h1 {
	font: var(--font-1);
}

h2 {
	font: var(--font-2);
}

h3 {
	font: var(--font-3);
}

h4 {
	font: var(--font-4);
}

h5 {
	font: var(--font-5);
}

h6 {
	font: var(--font-6);
}

h1 a,
h2 a,
h3 a,
h4 a,
h5 a,
h6 a {
	text-decoration: none;
	color: inherit;
}

h1 em,
h2 em,
h3 em,
h4 em,
h5 em,
h6 em {
	color: var(--color-primary);
	font: var(--font-hand-2);
}

h1 em {
	font: var(--font-hand-1);
}

q,
blockquote {
	font-style: italic;
	position: relative;
}

.wp-block-quote.is-large p,
.wp-block-quote.is-style-large p {
	font-size: var(--font-size-large);
}

table {
	border-collapse: collapse;
}

table th,
table td {
	padding: var(--space-4) var(--space-3);
	text-align: left;
}

table thead th,
table thead td {
	border: 1px solid var(--color-grey);
}

table tbody th,
table tbody td {
	border: 1px solid var(--color-grey);
}

form {
}

form button {
	margin-left: auto;
}

label {
	display: block;
}

.label {
	display: block;
	text-transform: uppercase;
	font: var(--font-meta);
	letter-spacing: 0.0625rem;
	color: var(--color-black);
}

.req {
	color: var(--color-primary);
}

input,
button,
select,
textarea,
.select2-container--default .select2-selection {
	font: var(--font-base);
	padding: var(--form-input-padding);
	max-width: 100%;
	width: 100%;
	border: 1px solid var(--form-input-border-color);
	border-radius: var(--form-input-border-radius);
	height: auto;
	margin: var(--form-input-margin) 0;
}

input[type="radio"],
input[type="checkbox"] {
	padding: 0;
	width: auto;
	margin-top: 0;
	margin-bottom: 0;
	margin-right: var(--space-5);
	display: inline-block;
	vertical-align: middle;
}

.select2 .select2-selection .select2-selection__rendered {
	line-height: 1;
}

.select2 .select2-selection .select2-selection__arrow {
	height: 100%;
}

.select2 .select2-selection .select2-selection__arrow:after {
	content: '\25BE';
	position: absolute;
	font-weight: bold;
	color: var(--color-grey);
	top: 50%;
	-webkit-transform: translateY(-50%);
	-moz-transform: translateY(-50%);
	-ms-transform: translateY(-50%);
	-o-transform: translateY(-50%);
	transform: translateY(-50%);
}

.select2 .select2-selection .select2-selection__arrow b {
	display: none;
}

form .fields {
	display: grid;
	grid-template-columns: 1fr;
	grid-column-gap: var(--space-0);
	grid-row-gap: var(--space-1);
}

form .field {
}

form .field .label {
	display: block;
}

button,
input[type="submit"],
.button,
.wp-block-button__link {
	min-width: 0;
	width: fit-content;
	background: var(--button-primary-bg-color);
	color: var(--button-primary-color);
	cursor: pointer;
	font: var(--font-base);
	display: inline-block;
	padding: var(--button-padding);
	text-align: center;
	border: 2px solid var(--button-primary-bg-color);
	border-radius: var(--button-border-radius);
	text-decoration: none;
	overflow: hidden;
	text-overflow: ellipsis;
	margin: var(--form-input-margin) 0;
	-webkit-transition: background .3s, color .3s;
	-moz-transition: background .3s, color .3s;
	-ms-transition: background .3s, color .3s;
	-o-transition: background .3s, color .3s;
	transition: background .3s, color .3s;
}

button.button--alt,
input[type="submit"].button--alt,
.button.button--alt,
.wp-block-button__link.button--alt {
	background: transparent;
	color: var(--button-primary-bg-color);
	border: 2px solid var(--button-primary-bg-color);
}

button.button--alt:hover,
input[type="submit"].button--alt:hover,
.button.button--alt:hover,
.wp-block-button__link.button--alt:hover {
	background-color: var(--button-primary-bg-color);
	color: var(--button-primary-color);
}

button:hover,
input[type="submit"]:hover,
.button:hover,
.wp-block-button__link:hover {
	background-color: transparent;
	color: var(--color-primary);
}

button:disabled,
input[type="submit"]:disabled,
.button:disabled,
.wp-block-button__link:disabled {
	cursor: not-allowed;
	opacity: .5;
}

button.loading,
input[type="submit"].loading,
.button.loading,
.wp-block-button__link.loading,
.wpcf7-form.submitting .wpcf7-submit.has-spinner {
	opacity: .25;
	position: relative;
}

button.loading:after,
input[type="submit"].loading:after,
.button.loading:after,
.wp-block-button__link.loading:after,
.wpcf7-form.submitting .wpcf7-submit.has-spinner:after {
	content: '\2686';
	animation: spin 2s linear infinite;
	position: absolute;
	right: var(--space-4);
	line-height: 1.2;
	font-size: 1.5rem;
}


.thumbnail,
.video-thumbnail {
	display: block;
	background: transparent no-repeat 50% 50%;
	background-size: cover;
	overflow: hidden;
}

.thumbnail img,
.video-thumbnail img {
	display: block;
	width: 100%;
	height: 100%;
	object-fit: cover;
	-webkit-transition: opacity .3s;
	-moz-transition: opacity .3s;
	-ms-transition: opacity .3s;
	-o-transition: opacity .3s;
	transition: opacity .3s;
}

.thumbnail:hover {
	opacity: 1;
}

.thumbnail:hover img {
	opacity: .75;
}


.meta {
	font: var(--font-meta);
	line-height: var(--line-height-meta);
	color: var(--meta-color);
	margin: var(--space-4) 0;
}

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

.meta > * {
	margin-right: var(--space-3);
}

.meta span > * {
	color: var(--color-black);
}


.wpcf7 {
	position: relative;
}

.wpcf7 br {
	display: none;
}

.wpcf7 form {
	display: grid;
	grid-gap: var(--base-space);
	grid-template-columns: repeat(2, minmax(0, 1fr));
}

.wpcf7 form .field {
	grid-column: span 2;
}

.wpcf7 form .field--short {
	grid-column: span 1;
}

@media (max-width: 600px) {
	.wpcf7 form .field--short {
		grid-column: span 2;
	}
}

.wpcf7 form textarea {height: 10rem;}
.wpcf7 form .field button {display: block;
	margin: 0 0 0 auto;
}

.wpcf7 form .wpcf7-not-valid-tip {
	position: absolute;
	top: -16px;
	right: -10px;
	font: var(--font-meta);
	color: var(--base-color);
	background: var(--color-message-error);
	display: block;
	padding: 4px 6px;
}

.wpcf7 form .wpcf7-response-output {
	display: block;
	position: absolute;
	top: 100px;
	left: 10%;
	right: 10%;
	padding: var(--base-space);
	border: 0;
	text-align: center;
	font: var(--font-meta);
	color: var(--base-color);
	box-shadow: var(--shadow-base);
	z-index: 101;
	background: var(--color-message-info);
}

.wpcf7 form .wpcf7-response-output.wpcf7-display-none {
	display: none;
}

.wpcf7 form .wpcf7-response-output:after {
	content: '\00D7';
	position: absolute;
	top: 10px;
	right: 12px;
	color: var(--base-color);
	cursor: pointer;
}

.wpcf7 form.sent .wpcf7-response-output {
	background: var(--color-message-success);
}

.wpcf7 form.failed .wpcf7-response-output,
.wpcf7 form.aborted .wpcf7-response-output,
.wpcf7 form.invalid .wpcf7-response-output,
.wpcf7 form.unaccepted .wpcf7-response-output,
.wpcf7 form.spam .wpcf7-response-output {
	border-color: var(--color-message-error);;
	background: var(--color-message-error);;
}

.wpcf7 form .wpcf7-spinner {
	display: none !important;
}


.gallery {
	display: flex;
	align-items: normal;
	flex-wrap: wrap;
	gap: var(--wp--style--block-gap, 0.5em);
}

.gallery .gallery-item {
	box-sizing: border-box;
	display: flex;
	flex-direction: column;
	flex-grow: 1;
	justify-content: center;
	max-width: 100%;
	position: relative;
}

.gallery .gallery-item img {
	flex: 1 0 0%;
	height: 100%;
	object-fit: cover;
	width: 100%;
}

.gallery.gallery-columns-2 .gallery-item {
	width: calc(50% - var(--wp--style--block-gap));
}

.gallery.gallery-columns-3 .gallery-item {
	width: calc(33.3333333333% - var(--wp--style--block-gap));
}

.gallery.gallery-columns-4 .gallery-item {
	width: calc(25% - var(--wp--style--block-gap));
}

.gallery.gallery-columns-5 .gallery-item {
	width: calc(20% - var(--wp--style--block-gap));
}

.gallery.gallery-columns-6 .gallery-item {
	width: calc(16.6666666667% - var(--wp--style--block-gap));
}

.gallery.gallery-columns-7 .gallery-item {
	width: calc(14.285714286% - var(--wp--style--block-gap));
}

.gallery.gallery-columns-8 .gallery-item {
	width: calc(12.5% - var(--wp--style--block-gap));
}

.gallery.gallery-columns-9 .gallery-item {
	width: calc(11.111111111% - var(--wp--style--block-gap));
}


.menu--social {
	font-size: 1rem;
	margin: 0;
	gap: var(--space-4);
}

.menu--social a:visited:not(.button):not(.wp-block-button__link),
.menu--social a {
	color: var(--color-primary);
	border: 1px solid var(--color-primary);
	border-radius: 50%;
	width: 2rem;
	height: 2rem;
	line-height: 2rem;
	text-align: center;
	display: block;
}


body .wp-pagenavi {
	text-align: center;
	display: block;
	width: 100%;
	margin: var(--space-1) 0 var(--space-0) 0;
	font-size: var(--font-size-small);
	font-weight: 600;
	padding: 0 var(--space-1);
	position: relative;
}

body .wp-pagenavi .pages {
	display: none;
}

body .wp-pagenavi a,
body .wp-pagenavi span {
	display: inline-block;
	padding: 0;
	margin: 0 var(--space-6);
	text-align: center;
	color: var(--color-almost-black);
	border: 0;
	border-radius: 50%;
}

body .wp-pagenavi a,
body .wp-pagenavi span.current {
	width: 2.5rem;
	height: 2.5rem;
	line-height: 2.5rem;
}

@media (max-width: 480px) {
	body .wp-pagenavi a,
	body .wp-pagenavi span {
		width: 2rem;
		height: 2rem;
		line-height: 2rem;
	}
}

body .wp-pagenavi a.page:hover,
body .wp-pagenavi a.first:hover,
body .wp-pagenavi a.last:hover,
body .wp-pagenavi span.current {
	color: var(--color-white);
	background: var(--color-primary);
	opacity: 1;
}

body .wp-pagenavi span.extend {
	width: auto;
}

body .wp-pagenavi .previouspostslink,
body .wp-pagenavi .nextpostslink {
	position: absolute;
	top: 50%;
	-webkit-transform: translateY(-50%);
	-moz-transform: translateY(-50%);
	-ms-transform: translateY(-50%);
	-o-transform: translateY(-50%);
	transform: translateY(-50%);
}

body .wp-pagenavi .previouspostslink {
	left: 0;
}

body .wp-pagenavi .nextpostslink {
	right: 0;
}


.slick-slider {
}

.slick-slider .slick-arrow {
	position: absolute;
	top: 50%;
	z-index: 99;
	border: 0;
	text-indent: -9999px;
	width: 3rem;
	height: 3rem;
	line-height: 3rem;
	margin-top: -4.5rem;
	background: transparent;
}

.slick-slider .slick-arrow:before {
	position: absolute;
	color: var(--base-color);
	left: 0;
	top: 0;
	right: 0;
	bottom: 0;
	text-align: center;
	font-family: "Font Awesome 5 Free";
	font-weight: bold;
	font-size: 2rem;
	text-indent: 0;
	opacity: .5;
	-webkit-transition: opacity .3s;
	-o-transition: opacity .3s;
	transition: opacity .3s;
}

.slick-slider:hover .slick-arrow:before {
	opacity: 1;
}

.slick-slider .slick-prev {
	left: -2rem;
}

.slick-slider .slick-prev:before {
	content: '\f0a8';
}

.slick-slider .slick-next {
	right: -2rem;
}

.slick-slider .slick-next:before {
	content: '\f0a9';
}

.slick-dots {
	list-style: none;
	margin-left: 0;
}

.slick-dots li {
	margin-right: var(--space-3);
	display: inline-block;
	vertical-align: middle;
}

.slick-dots button {
	display: block;
	width: 12px;
	height: 12px;
	border: 2px solid var(--color-grey);
	text-indent: -9999px;
	border-radius: 100%;
	padding: 0;
	background: transparent;
}

.slick-dots .slick-active {
}

.slick-dots button:hover,
.slick-dots .slick-active button {
	border-width: 4px;
	width: 12px;
	height: 12px;
}


.menu {
	list-style: none;
	display: flex;
	gap: var(--space-6);
	margin: var(--base-space) 0;
	padding: 0;
}


.menu--social {
}


#breadcrumbs {
	font: var(--font-meta);
	opacity: .65;
}

#breadcrumbs a {
	text-decoration: none;
}


.note {
	font: var(--font-meta);
	margin: var(--base-space) 0;
	text-transform: uppercase;
	background: var(--color-almost-white);
	padding: var(--space-3) var(--space-3) var(--space-3) 4rem;
	position: relative;
}

.note:before {
	content: 'i';
	position: absolute;
	left: var(--space-3);
	top: 50%;
	text-transform: none;
	background: var(--color-primary);
	color: var(--color-white);
	width: 1.625rem;
	height: 1.625rem;
	line-height: 1.625rem;
	text-align: center;
	border-radius: 50%;
	-webkit-transform: translateY(-50%);
	-moz-transform: translateY(-50%);
	-ms-transform: translateY(-50%);
	-o-transform: translateY(-50%);
	transform: translateY(-50%);
}

.note:after {
	content: '';
	position: absolute;
	left: calc(var(--space-3) + .125rem);
	top: 50%;
	width: 1.375rem;
	height: 1.375rem;
	border-radius: 50%;
	border: 1px solid var(--color-white);
	-webkit-transform: translateY(-50%);
	-moz-transform: translateY(-50%);
	-ms-transform: translateY(-50%);
	-o-transform: translateY(-50%);
	transform: translateY(-50%);
}


/* Articles */

.trip .meta {
	color: var(--base-color);
}

.trip .meta > span {
	background: var(--color-lighter-grey);
	padding: var(--space-5) var(--space-3);
	border-radius: 1rem;
	white-space: nowrap;
	display: inline-block;
	margin: var(--space-4) var(--space-4) 0 0;
}

.trip .meta > span:before {
	font-family: "Font Awesome 5 Free";
	font-weight: bold;
	font-size: 150%;
	margin-right: var(--space-4);
	vertical-align: middle;
}

.trip .meta span span:first-child:after {
	content: ': ';
}

.trip .meta span span:last-child {
	color: var(--color-darker-grey);
	margin-left: var(--space-5);
}

.trip .meta .dates:before {
	content: '';
	background: url('assets/images/icon-calendar.svg') no-repeat center;
	background-size: contain;
	width: 1rem;
	height: 1rem;
	display: inline-block;
	vertical-align: text-bottom;
}

.trip .meta .location:before {
	content: '';
	background: url('assets/images/icon-pin.svg') no-repeat center;
	background-size: contain;
	width: 1rem;
	height: 1rem;
	display: inline-block;
	vertical-align: text-bottom;
}

.trip .meta .registration:before {
	content: '';
	background: url('assets/images/icon-clipboard.svg') no-repeat center;
	background-size: contain;
	width: 1rem;
	height: 1rem;
	display: inline-block;
	vertical-align: text-bottom;
}


.course .meta {
	color: var(--base-color);
}

.course .meta > span {
	white-space: nowrap;
	display: block;
}

.course .meta > span:before {
	font-family: "Font Awesome 5 Free";
	font-weight: bold;
	font-size: 150%;
	margin-right: var(--space-4);
	vertical-align: middle;
}

.course .meta span span:first-child:after {
	content: ': ';
}

.course .meta span span:last-child {
	color: var(--color-darker-grey);
	margin-left: var(--space-5);
}

.course .meta .access-from:before,
.course .meta .access-to:before {
	content: '';
	background: url('assets/images/icon-calendar.svg') no-repeat center;
	background-size: contain;
	width: 1rem;
	height: 1rem;
	display: inline-block;
	vertical-align: text-bottom;
}

.course .meta .left-until-expiration:before {
	content: '';
	background: url('assets/images/icon-hourglass-black.svg') no-repeat center;
	background-size: contain;
	width: 1rem;
	height: 1rem;
	display: inline-block;
	vertical-align: text-bottom;
}

.progress-chart {
	padding-right: 3rem;
	margin: var(--space-5) 0;
	position: relative;
}

.progress-chart:before {
	content: '';
	display: block;
	background: var(--color-lighter-grey);
	height: 1rem;
	border-radius: .5rem;
}

.progress-chart .values {
	display: block;
	position: absolute;
	right: 0;
	top: 50%;
	transform: translateY(-50%);
	font: var(--font-meta);
}

.progress-chart .values .completed,
.progress-chart .values .available {display: none;}

.progress-chart .progress {
	position: absolute;
	left: 0;
	top: 0;
	height: 100%;
	border-radius: .5rem;
	background: var(--color-grey);
}


/* Lists */
.list:not(:has(.list-items)),
.list .list-items {
	list-style: none;
	display: grid;
	margin: var(--base-space) 0;
	grid-gap: var(--space-grid);
	grid-template-columns: repeat(2, minmax(0, 1fr));
}

@media (max-width: 782px) {
	.list:not(:has(.list-items)),
	.list .list-items {
		grid-template-columns: repeat(1, minmax(0, 1fr));
	}
}

.list .list-title {
	font: var(--font-5);
	text-transform: uppercase;
	color: var(--color-darker-grey);
}

.list .item {
	margin: 0;
}

.list > .nav {
	list-style: none;
	text-align: center;
	display: flex;
	justify-content: center;
	gap: var(--space-4);
	flex-wrap: wrap;
	font: var(--font-meta);
	width: var(--content-width);
	max-width: var(--container-max-width);
	margin: var(--space-0) auto 0;
}

.list > .nav a {
	text-decoration: none;
	display: block;
	padding: var(--space-4) var(--base-space);
	border-radius: 1.5rem;
	background: var(--color-almost-white);
}

.list > .nav:not(:has(.current-cat)) .cat-item-all > a,
.list > .nav .current-cat > a,
.list > .nav a:hover {
	background: var(--color-primary);
	color: var(--color-white);
}


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

@media (max-width: 1120px) {
	.list.list--box {
		grid-template-columns: repeat(2, minmax(0, 1fr));
	}
}

@media (max-width: 620px) {
	.list.list--box {
		grid-template-columns: repeat(1, minmax(0, 1fr));
	}
}

.list--box .item {
	border-radius: .5rem;
	overflow: hidden;
	border: 2px solid var(--color-lighter-grey);
	display: flex;
	flex-direction: column;
	text-align: center;
	padding: var(--base-space);
	justify-content: center;
}

.list--box .item .description {
	padding: 0 var(--space-2);
	flex-grow: 1;
}

.list--box .item .title {
	font: var(--font-4);
	margin: 0;
}


.list--course {
}

.list--course .list-items {
	grid-template-columns: repeat(1, minmax(0, 1fr));
}

.list--course .item {
	border-radius: .5rem;
	overflow: hidden;
	box-shadow: var(--shadow-base);
	padding: var(--space-2);
	display: grid;
	grid-template-columns: 14.5rem auto;
	grid-gap: var(--base-space);
	position: relative;
}

.list--course .item.expired {
	filter: grayscale(1);
}

.list--course .item .thumbnail {
	aspect-ratio: 1 / 1;
	margin-top: 0;
	margin-bottom: 0;
}

.list--course .item .info {
}

.list--course .item .title {
	font: var(--font-3);
	margin-top: 0;
	margin-bottom: var(--space-4);
	margin-right: var(--space-1);
}

.list--course .item .meta {
}

.list--course .item .meta > span {
	display: block;
	margin: var(--space-4) 0;
}

.list--course .item .meta > span > :first-child {
	color: var(--color-darker-grey);
}

.list--course .item .meta > span > :first-child:after {
	content: ':';
}

.list--course .item .buttons {
	display: grid;
	grid-gap: var(--base-space);
	grid-template-columns: repeat(2, minmax(0, 1fr));
}

.list--course .item .button {
	width: 100%;
}

.list--course .item .button:first-child {
	background: transparent;
	color: var(--color-primary);
}

.list--course .item .course-actions {
	position: absolute;
	right: var(--space-2);
	top: var(--space-2);
}

.list--course .item .course-actions .toggle {width: 1.5rem; text-align: center;}
.list--course .item .course-actions .toggle:before {content: '\22EE'; font-weight: bold; line-height: 1; font-size: 1rem; vertical-align: top;}
.list--course .item .course-actions ul {list-style: none; margin: 0; display: none; text-align: left; position: absolute; right: 0; padding: var(--space-6) var(--space-2); border-radius: var(--button-border-radius); border: 1px solid var(--color-lighter-grey); background: var(--color-almost-white);}
.list--course .item .course-actions ul button {color: var(--base-color); background: transparent; border: 0; padding: 0; font: var(--font-meta); white-space: nowrap;}
.list--course .item .course-actions ul button:hover {text-decoration: underline;}

.list--course .item .course-actions:hover ul {display: block;}

@media (max-width: 600px) {
	.list--course .item {
		grid-template-columns: auto;
	}

	.list--course .item .info {
	}

	.list--course .item .title {
		text-align: center;
	}
	.list--course .item .meta {
		text-align: center;
	}

	.list--course .item .progress-chart {
		margin: var(--base-space) 0;
	}
	.list--course .item .buttons {
		grid-template-columns: repeat(1, minmax(0, 1fr));
	}

	.list--course .item .button {
		margin: 0;
	}
}


.list--icon {
}


.list--logo {
}


.list--faq {
}


.list--page {
}

.list--page .list-items {
	display: block;
}


.list--post {
}

.list--post .list-items {
}

.list--post .item {
	border-radius: .5rem;
	overflow: hidden;
	box-shadow: var(--shadow-base);
}

.list--post .item .thumbnail {
	aspect-ratio: 582 / 360;
	background: var(--color-lighter-grey);
}

.list--post .item .description {
	padding: 0 var(--space-2);
}

.list--post .item .title {
	font: var(--font-4);
}

.list--post .item .excerpt {
	font-size: var(--font-size-small);
}


.list--recipe {
}

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

@media (max-width: 960px) {
	.list--recipe .list-items {
		grid-template-columns: repeat(2, minmax(0, 1fr));
	}
}

@media (max-width: 600px) {
	.list--recipe .list-items {
		grid-template-columns: repeat(1, minmax(0, 1fr));
	}
}


.list--recipe .item {
	border-radius: .5rem;
	overflow: hidden;
	box-shadow: var(--shadow-base);
}

.list--recipe .item .thumbnail {
	aspect-ratio: 582 / 360;
	background: var(--color-lighter-grey);
}

.list--recipe .item .description {
	padding: 0 var(--space-2);
}

.list--recipe .title {
	font: var(--font-4);
}

.list--recipe .categories {
	list-style: none;
	text-transform: uppercase;
	font: var(--font-meta);
	margin-left: 0;
	display: flex;
	flex-wrap: wrap;
	gap: var(--space-3);
}

.list--recipe .categories a,
.list--recipe .categories a:visited {
	color: var(--color-primary);
	text-decoration: none;
}


.list--podcast {
}

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

@media (max-width: 1120px) {
	.list--podcast .list-items {
		grid-template-columns: repeat(2, minmax(0, 1fr));
	}

	.related-content .list--podcast .list-items {
		grid-template-columns: repeat(3, minmax(0, 1fr));
	}
}

@media (max-width: 620px) {
	.list--podcast .list-items,
	.related-content .list--podcast .list-items {
		grid-template-columns: repeat(1, minmax(0, 1fr));
	}
}


.list--podcast .item {
	border-radius: .5rem;
	overflow: hidden;
	border: 2px solid var(--color-lighter-grey);
	display: flex;
	flex-direction: column;
}

.list--podcast .item .description {
	padding: 0 var(--space-2);
	flex-grow: 1;
}

.list--podcast .title {
	font: var(--font-4);
	margin: var(--base-space) 0 0 0;
}

.list--podcast .meta {
	margin-bottom: 0;
}

.list--podcast .listen {
	margin: var(--base-space);
	font: var(--font-meta);
	color: var(--color-black);
	font-weight: bold;
	text-decoration: none;
	display: block;
}


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

@media (max-width: 1080px) {
	.list.list--product-category {
		grid-template-columns: repeat(2, minmax(0, 1fr));
	}
}

@media (max-width: 680px) {
	.list.list--product-category {
		grid-template-columns: repeat(1, minmax(0, 1fr));
	}
}


.list.list--product-category .item {
	position: relative;
}

.list.list--product-category .item .thumbnail {
	padding-bottom: calc(5rem + var(--base-space));
	border-radius: .5rem;
	box-shadow: var(--shadow-base);
}

.list.list--product-category .item .thumbnail:before {
	content: '';
	position: absolute;
	z-index: 1;
	top: 0;
	left: 0;
	right: 0;
	bottom: calc(5rem + var(--base-space));
	background: linear-gradient(180deg, rgba(255, 255, 255, 0.00) 73.13%, #FFF 99.7%);
}

.list.list--product-category .item .thumbnail:after {
	content: '';
	position: absolute;
	z-index: 1;
	top: var(--space-5);
	left: var(--space-5);
	right: var(--space-5);
	bottom: var(--space-5);
	border: 3px solid var(--color-primary);
	border-radius: .5rem;
}

.list.list--product-category .item .button {
	position: absolute;
	width: calc(100% - 2 * var(--space-grid));
	bottom: var(--base-space);
	left: var(--space-grid);
	z-index: 2;
	font: var(--font-1);
	font-size: var(--font-size-medium);
	padding-left: var(--space-4);
	padding-right: var(--space-4);
}

.list.list--product-category .item .button:hover {
	background: var(--color-white);
}


.list.list-course {

}


.list--team {
}


.list--testimonial {

}

.list--testimonial .list-items {
	display: block;
}


.list--trip {
}

.list--trip .list-items {
	grid-template-columns: repeat(1, minmax(0, 1fr));
}

.list--trip .item {
	border-radius: .5rem;
	overflow: hidden;
	box-shadow: var(--shadow-base);
	padding: var(--space-2);
}

.list--trip .item .info {
	display: flex;
	justify-content: space-between;
	gap: var(--space-1);
	align-items: center;
}

.list--trip .item .title {
	font: var(--font-3);
	margin-top: 0;
	margin-bottom: var(--space-4);
}

.list--trip .item .description {
	display: grid;
	grid-template-columns: 14rem minmax(0, 1fr);
	grid-gap: var(--base-space);
}

.list--trip .item .thumbnail {
	aspect-ratio: 1 / 1;
	margin-top: var(--base-space);
}

.list--trip .item .buttons {
	display: grid;
	grid-gap: var(--space-4);
	grid-template-columns: repeat(2, minmax(0, 1fr));
}

.list--trip .item .button {
	width: 100%;
}

@media (max-width: 600px) {
	.list--trip .item .info {
		display: block;
		text-align: center;
	}

	.list--trip .item .meta {
		text-align: center;
	}

	.list--trip .item .description {
		display: block;
	}

	.list--trip .item .buttons {
		grid-template-columns: repeat(1, minmax(0, 1fr));
	}

	.list--trip .item .button {
	}
}


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

.list.list--training .item {
	border-radius: .5rem;
	overflow: hidden;
	box-shadow: var(--shadow-base);
	padding: 2.5rem;
	display: flex;
	justify-content: space-between;
	align-items: end;
	gap: 2.5rem;
}

.list.list--training .item .meta {
	margin: 0;
}

.list.list--training .item .title {
	font: var(--font-3);
	margin: 0;
}

.list.list--training .item .meta + .title {
	margin-top: var(--space-4);
}

.list.list--training .item .button {
	white-space: nowrap;
	min-width: fit-content;
}

@media (max-width: 600px) {
	.list.list--training .item {
		display: block;
		text-align: center;
		padding: 1.25rem;
	}

	.list.list--training .item .meta + .title {
		margin-top: var(--space-6);
	}

	.list.list--training .item .button {
		width: 100%;
		margin: var(--base-space) 0 0 0;
	}

}


.list--toc {
}


/* Gutenberg Blocks */
/* Block styles */

.has-small-font-size {
	font-size: var(--font-size-small);
}

.has-medium-font-size {
	font-size: var(--font-size-medium);
}

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

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


.is-layout-flex {
	display: flex;
	flex-wrap: wrap;
	gap: var(--base-space);
	word-break: break-word;
}

.is-layout-grid {
	display: grid;
	gap: var(--base-space);
	word-break: break-word;
}


.alignwide {
	width: var(--content-wide-width);
	max-width: var(--container-max-width);
	position: relative;
	left: 50%;
	margin-left: 0;
	margin-right: 0;
	-webkit-transform: translateX(-50%);
	-moz-transform: translateX(-50%);
	-ms-transform: translateX(-50%);
	-o-transform: translateX(-50%);
	transform: translateX(-50%);
}

.alignfull {
	width: 100vw;
	max-width: 100vw;
	position: relative;
	left: 50%;
	-webkit-transform: translateX(-50%);
	-moz-transform: translateX(-50%);
	-ms-transform: translateX(-50%);
	-o-transform: translateX(-50%);
	transform: translateX(-50%);
}


blockquote.alignleft,
figure.wp-caption.alignleft,
img.alignleft,
.wp-caption.alignleft {
	margin: 0 var(--base-space) var(--base-space) 0;
}


blockquote.alignright,
figure.wp-caption.alignright,
img.alignright,
.wp-caption.alignright {
	margin: 0 0 var(--base-space) var(--base-space);
}


blockquote.aligncenter,
img.aligncenter,
.wp-caption.aligncenter {
	margin-top: var(--base-space);
	margin-bottom: var(--base-space);
}


.wp-caption {
	margin-bottom: 1rem;
	max-width: 100%;
}

.wp-caption img[class*="wp-image-"] {
	display: block;
	margin: 0;
}


.wp-caption-text,
.wp-element-caption {
	font: var(--font-meta);
}


.wp-element-caption {
	margin-top: calc(-1 * var(--space-3));
}


.wp-smiley {
	border: 0;
	margin-bottom: 0;
	margin-top: 0;
	padding: 0;
}


/* Blocks */

.wp-block-code,
.wp-block-columns,
.wp-block-cover,
.wp-block-details,
.wp-block-embed,
.wp-block-gallery,
.wp-block-group,
.wp-block-media-text,
.wp-block-pullquote,
.wp-block-quote,
.wp-block-table,
.fwwm-block {
	margin-top: var(--space-0);
	margin-bottom: var(--space-0);
}


.wp-block-code {
}


.wp-block-columns {
}

.wp-block-columns {
	gap: var(--base-space);
}

.wp-block-columns .wp-block-column {
	flex-basis: 0;
	flex-grow: 1;
}

.wp-block-columns .wp-block-column[style^="flex-basis"] {
}

.wp-block-columns .wp-block-group,
.wp-block-columns .fwwm-block {
	max-width: 100%;
}

.wp-block-columns .wp-block-column .wp-block-heading:first-child {
	margin-top: var(--base-space);
}


.wp-block-cover {
}

.wp-block-cover.alignfull {
	width: 100vw;
	max-width: 100vw;
}

.wp-block-cover.alignfull .wp-block-cover__inner-container {
	width: var(--content-wide-width);
	max-width: var(--container-max-width);
}


.wp-block-details {
}


.wp-block-embed {
}

.wp-block-embed.is-type-video iframe {
	width: 100%;
	height: auto;
}

.wp-block-embed.is-type-video.wp-embed-aspect-16-9 iframe {
	aspect-ratio: 16 / 9;
}


.wp-block-gallery {
}


.wp-block-group {
}


.wp-block-media-text {
}

.wp-block-media-text > .wp-block-media-text__content {
	padding: 0 var(--space-grid);
}

.wp-block-media-text.has-media-on-the-right .wp-block-media-text__content {
	padding-left: 0;
}

.wp-block-media-text.has-media-on-the-left .wp-block-media-text__content {
	padding-right: 0;
}

.wp-block-media-text > .wp-block-media-text__content > :first-child {
	margin-top: 0;
}

.wp-block-media-text > .wp-block-media-text__content > :last-child {
	margin-bottom: 0;
}

@media (max-width: 600px) {
	.wp-block-media-text > .wp-block-media-text__content {
		padding: 0;
		margin-top: var(--base-space);
	}
}


.wp-block-pullquote {
	border-top: .5rem solid var(--color-grey);
	border-bottom: .5rem solid var(--color-grey);
}

.wp-block-pullquote cite {
	font: var(--font-meta);
}

.wp-block-pullquote cite:before {
	content: '\2013';
	margin-right: var(--space-5);
}


blockquote,
.wp-block-quote,
.wp-block-quote.is-large,
.wp-block-quote.is-style-large {
	padding-left: var(--space-1);
	border-left: .5rem solid var(--color-grey);
}

blockquote cite,
.wp-block-quote cite {
	font: var(--font-meta);
}

blockquote cite:before,
.wp-block-quote cite:before {
	content: '\2013';
	margin-right: var(--space-5);
}


.wp-block-table {
}

.wp-block-table thead {
	border-bottom-width: 1px;
}


.wp-block-buttons {
}


p.has-background {
	padding: var(--base-space);
}


.wp-block-group.has-background.alignfull {
	width: 100vw;
	max-width: 100vw;
	padding-left: 0;
	padding-right: 0;
	z-index: 50;
}

.wp-block-group.has-background.alignfull > .wp-block-group__inner-container {
	width: var(--container-width);
	max-width: var(--container-max-width);
	margin-left: auto;
	margin-right: auto;
}

.section-content .container > .has-background:first-child {
	margin-top: calc(-1 * var(--space-0));
}

.section-content .container > .has-background:last-child {
	margin-bottom: calc(-1 * var(--space-0));
}

.has-background + .has-background {
	margin-top: calc(-1 * var(--base-space));
}

.wp-block-group.has-background,
.wp-block-columns.has-background,
.wp-block-media-text.has-background,
.fwwm-block.has-background {
	border-radius: .5rem;
	padding: var(--base-space) var(--space-grid);
}


.fwwm-block {
}


.fwwm-block-banner {
	border-radius: .5rem;
	overflow: hidden;
	position: relative;
	padding: calc(var(--base-space) + var(--space-5)) calc(var(--space-3) + var(--space-5));
	text-align: center;
}

.fwwm-block-banner:before {
	content: '';
	border: 3px solid currentColor;
	position: absolute;
	top: var(--space-5);
	right: var(--space-5);
	bottom: var(--space-5);
	left: var(--space-5);
}

.fwwm-block-banner .button {
}


.fwwm-block-boxes {
}

.fwwm-block-boxes .block-title {
	text-align: center;
}

.fwwm-block-google-map {
}

.fwwm-block-google-map .map {
	background: var(--color-grey);
	aspect-ratio: 16 / 9;
}


.fwwm-block-newsletter {}
.fwwm-block-newsletter .wpcf7 form {text-align: left; margin-top: var(--space-1);}
.fwwm-block-newsletter .wpcf7 .wpcf7-acceptance {font: var(--font-meta); text-align: left;}
.fwwm-block-newsletter .wpcf7 .wpcf7-acceptance {font: var(--font-meta); text-align: left;}
.fwwm-block-newsletter .wpcf7 .field--submit button {display: block; margin: 0 auto;}


.fwwm-block-pt-posts {
}

.fwwm-block-pt-posts .pt-posts-container {
	position: relative;
}

.fwwm-block-pt-posts .block-header {
	display: flex;
	gap: var(--space-2);
	align-items: end;
}

.fwwm-block-pt-posts .block-title em {
	display: block;
}

.fwwm-block-pt-posts .list--post .list-items {
	grid-template-columns: repeat(3, minmax(0, 1fr));
}

@media (max-width: 960px) {
	.fwwm-block-pt-posts .list--post .list-items {
		grid-template-columns: repeat(2, minmax(0, 1fr));
	}

	.fwwm-block-pt-posts .list--post .list-items .item:first-of-type {
		grid-column: 1 / span 2;
	}
}

@media (max-width: 600px) {
	.fwwm-block-pt-posts .list--post .list-items {
		grid-template-columns: repeat(1, minmax(0, 1fr));
	}

	.fwwm-block-pt-posts .list--post .list-items .item:first-of-type {
		grid-column: 1 / span 1;
	}
}


.fwwm-block-pt-posts .show-more {
	padding: 0 2rem 0 0;
	border: 0;
	text-decoration: underline;
	font-weight: 600;
	position: relative;
	overflow: visible;
	margin: 0 0 var(--base-space) auto;
	white-space: nowrap;
	justify-content: end;
}

.fwwm-block-pt-posts .show-more:after {
	content: '\f061';
	font-size: .875rem;
	position: absolute;
	top: 50%;
	font-weight: 900;
	font-family: "Font Awesome 5 Free", "Font Awesome 5 Brands";
	margin-left: var(--space-3);
	-webkit-transform: translateY(-50%);
	-moz-transform: translateY(-50%);
	-ms-transform: translateY(-50%);
	-o-transform: translateY(-50%);
	transform: translateY(-50%);
}

.fwwm-block-pt-posts .show-more:hover {
	text-decoration: none;
	background: transparent;
	color: var(--color-primary);
}


/* Widgets */

.widget {
}

.widget-title {
	font: var(--font-4);
}

.widget .list > .list-items {
	grid-template-columns: minmax(0, 1fr);
}


.widget_calendar {
}

.widget_calendar table {
	width: 100%;
	margin-bottom: var(--space-4);
}

.widget_calendar table caption {
	margin-bottom: var(--space-5);
}

.widget_calendar td,
.widget_calendar th {
	padding: var(--space-5);
	text-align: center;
}


.widget_nav_menu .menu {
	display: block;
}


/* Sections */
.section {
	width: var(--content-width);
	max-width: var(--container-max-width);
	margin-left: auto;
	margin-right: auto;
}

.section-header {
}

.section-header .section-title {
	text-align: center;
}


.section--wide {
	width: var(--content-wide-width);
}


.section--post.section--archive {
	width: var(--content-wide-width);
}


.section--post.section--single {
}

.section--post.section--single .section-header {
	margin: var(--space-0) 0;
}

.section--post.section--single .section-title {
	text-align: left;
	margin-top: 0;
}

.section--post.section--single .section-header .thumbnail {
	width: var(--content-wide-width);
	max-width: 100vw;
	position: relative;
	left: 50%;
	border-radius: .5rem;
	margin-top: var(--space-grid);
	transform: translateX(-50%);
}

@media (max-width: 1200px) {
	.section--post.section--single .section-header .thumbnail {
		border-radius: 0;
	}
}


.section--podcast.section--archive {
	width: var(--content-wide-width);
}

.section--podcast.section--single {
}

.section--podcast.section--single {
	width: var(--content-wide-width);
}

.section--podcast.section--single .section-header {
	border: 3px solid var(--color-primary);
	padding: var(--space-2);
	border-radius: .5rem;
	align-items: start;
}

.section--podcast.section--single .section-header:has(.thumbnail) {
	display: grid;
	grid-template-columns: minmax(0, 5fr) minmax(0, 7fr);
	grid-gap: var(--base-space);
}

.section--podcast.section--single .section-title {
	text-align: left;
	margin-top: 0;
}


.section--recipe.section--archive {
	width: var(--content-wide-width);
}

.section--recipe.section--single {
	width: var(--content-wide-width);
}

.section--recipe.section--single .section-header {
	margin: var(--space-0) 0;
}

.section--recipe.section--single .section-title {
	text-align: left;
	margin-top: 0;
}

.section--recipe.section--single .section-header .thumbnail {
	width: var(--content-wide-width);
	max-width: 100vw;
	position: relative;
	left: 50%;
	border-radius: .5rem;
	margin-top: var(--space-grid);
	transform: translateX(-50%);
	aspect-ratio: 1 / 1;
	object-position: center;
}

@media (max-width: 1200px) {
	.section--recipe.section--single .section-header .thumbnail {
		border-radius: 0;
	}
}

.section--recipe.section--single .section-content {
	display: grid;
	grid-template-columns: min(40%, 30rem) minmax(0, 1fr);
	grid-gap: var(--space-1);
	align-items: center;
	margin-bottom: var(--space-0);
}

@media (max-width: 960px) {
	.section--recipe.section--single .section-content {
		grid-template-columns: minmax(0, 1fr);
	}

	.section--recipe.section--single .related-content .list--recipe .item:nth-child(3) {
		display: none;
	}
}

.section--recipe.section--single .section-content .ingredients {
	background: var(--color-almost-white);
	padding: var(--space-2) var(--space-2);
}

.section--recipe.section--single .section-content .ingredients h2 {
	text-align: center;
}

.section--recipe.section--single .section-content .ingredients ul {
	list-style: none;
	margin-left: 0;
}

.section--recipe.section--single .section-content .ingredients ul h3 {
	margin-top: 0;
}


.section--trip.section--archive {
}


.section--trip.section--single {
	width: var(--content-wide-width);
}

.section--trip.section--single .section-header {
	border: 3px solid var(--color-primary);
	padding: var(--space-2);
	border-radius: .5rem;
	align-items: start;
}

.section--trip.section--single .section-header:has(.thumbnail) {
	display: grid;
	grid-template-columns: minmax(0, 5fr) minmax(0, 7fr);
	grid-gap: var(--base-space);
}

@media (max-width: 1080px) {
	.section--trip.section--single .section-header:has(.thumbnail) {
		grid-template-columns: minmax(0, 1fr);
	}
}

.section--trip.section--single .section-title {
	text-align: left;
	margin-top: 0;
}

.section--trip.section--single .trip-registration-form {
	display: none;
	margin-top: var(--space-1);
	background: var(--color-almost-white);
	border-radius: .5rem;
	padding: var(--space-1);
}

.section--trip.section--single .trip-registration-form h2 {text-align: center; margin-top: 0;}

.section--trip.section--single .trip-registration-form .wpcf7 {
	max-width: var(--content-width);
	margin: 0 auto;
}


.section--training {
	width: var(--content-wide-width);
	position: relative;
}

.section--training .button--prev,
.section--training .button--next,
.section--training .button--back {
	display: block;
	margin-left: auto;
	color: var(--color-black);
	border-color: var(--color-black);
	background: transparent;
	font: var(--font-meta);
	font-weight: 700;
}

.section--training .prev-next {
	display: flex;
	justify-content: space-between;
}

.section--training .button--prev,
.section--training .button--next {
	margin: 0;
}


.section--training .progress-chart {
	margin-bottom: 0;
}

.section--training .course-sections {
	list-style: none;
	font: var(--font-meta);
	font-weight: 400;
	margin: 0;
	padding-top: var(--base-space);
	z-index: 100;
	background: var(--color-white);
}

.section--training .course-sections li {
	border-top: 1px solid var(--color-lighter-grey);
}

.section--training .course-sections li a {
	text-decoration: none;
	padding: .625rem;
	border-radius: 0.3125rem;
	border: 2px solid transparent;
	display: block;
}

.section--training .course-sections li .title {
	display: block;
}

.section--training .course-sections li .title:before {
	content: '>';
	margin-right: var(--space-5);
	color: var(--color-grey);
}

.section--training .course-sections li.active a {
	border-color: var(--color-primary);
}

.section--training .course-sections li.completed a {
	color: var(--color-primary);
	text-decoration: line-through;
}

.section--training .course-sections li.completed .progress-chart {
	display: none;
}


.section--training.section--list {
	display: grid;
	grid-template-columns: minmax(0, 16rem) minmax(0, 1fr);
	grid-gap: var(--space-0);
}

.section--training.section--list .section-header {
	grid-column: span 2;
}

@media (max-width: 1080px) {
	.section--training.section--list {grid-template-columns: minmax(0, 1fr);}
	.section--training.section--list .section-header {
		grid-column: span 1;
	}
}

.section--training.section--list .section-content {
}


.section--training.section--single {
}

.section--training.section--single .section-content {
	margin: var(--space-1) 0;
}

.section--training.section--single .section-content img.size-large {
	display: block;
	margin-left: auto;
	margin-right: auto;
}

.section--training.section--single .section-content iframe {
	width: 100%;
	aspect-ratio: 16 / 9;
	height: auto;
}

.section--single:has(.section--training) > .section-header {
	display: none;
}



.section--training .section-nav {}

.section--training .section-nav .button {
	display: none;
	color: var(--color-black);
	border-color: var(--color-black);
	background: transparent;
	font: var(--font-meta);
	font-weight: 700;
}


.section--training.section--single .section-nav {
	position: absolute;
	left: 0;
	top: 0;
	z-index: 900;
}

.section--training.section--single .section-nav .button {
	display: block;
}

.section--training.section--single .section-nav .course-sections {
	display: none;
	width: 20rem;
	max-width: 100%;
}

.section--training.section--single .section-nav .course-sections li:first-child {
	border-top: 0;
	padding-top: 0;
}

.section--training.section--single .section-nav.on .course-sections,
.section--training.section--single .section-nav:hover .course-sections {
	display: block;
	box-shadow: var(--shadow-base);
	padding-left: var(--base-space);
	padding-right: var(--base-space);
}


@media (max-width: 1080px) {
	.section--training .section-nav {
		position: absolute;
		left: 0;
		top: 0;
		z-index: 900;
	}

	.section--training .section-nav .button {
		display: block;
	}

	.section--training .section-nav .course-sections {
		display: none;
		width: 20rem;
		max-width: 100%;
		box-shadow: var(--shadow-base);
		padding-left: var(--base-space);
		padding-right: var(--base-space);
	}

	.section--training .section-nav .course-sections li:first-child {
		border-top: 0;
		padding-top: 0;
	}

	.section--training .section-nav.on .course-sections,
	.section--training .section-nav:hover .course-sections {
		display: block;
	}
}


@media (max-width: 900px) {
	.section--training .section-nav {
	}

	.section--training .section-nav .button {
	}

	.section--training .section-nav .course-sections {
		position: fixed;
		top: 0;
		left: 0;
		bottom: 0;
		overflow-y: scroll;
	}

	.admin-bar .section--training .section-nav .course-sections {
		top: 32px;
		padding-top: calc(2*var(--space-3) + 2rem);
	}

	.admin-bar .section--training .section-nav .course-sections:before {
		content: '\00D7';
		position: absolute;
		top: var(--space-3);
		right: var(--space-3);
		font-size: 1.5rem;
		width: 2rem;
		height: 2rem;
		line-height: 2rem;
		text-align: center;
		cursor: pointer;
	}

	.section--training .section-nav:hover .course-sections {
		display: none;
	}

	.section--training .section-nav.on .course-sections {
		display: block;
	}
}



/* Header
 * ======================================== */

#header {
	background: var(--content-bg-color);
	padding: .1px 0;
}


#header .container {
	position: relative;
	display: flex;
	justify-content: space-between;
	gap: var(--base-space);
}

#header .container:after {
	content: none;
}


#header .site-title {
	margin: 0;
	padding: var(--space-3) 0;
	max-width: calc(100% - 12rem);
}

@media (max-width: 1080px) {
	#header .site-title {
		max-width: min(18rem, calc(100% - 12rem));
	}
}

@media (max-width: 480px) {
	#header .site-title {
		max-width: min(10rem, calc(100% - 9rem));
	}
}

#header .site-title a {
	width: 23.5rem;
	white-space: nowrap;
	max-width: 100%;
	height: 5.4375rem;
	line-height: 5.4375rem;
	display: block;
	font: var(--font-1);
	text-decoration: none;
	background: transparent no-repeat left 50%;
	background-size: contain;
}


#header .nav {
	text-align: left;
	padding: 0 0 0;
	right: 0;
	position: relative;
	display: flex;
	gap: var(--base-space);
	margin-top: calc(1.3125rem + 2 * var(--space-3));
	border-top: 2px solid var(--color-almost-white);
}

@media (max-width: 1080px) {
	#header .nav {
		position: static;
	}
}


#header .nav .menu.menu--secondary {
	position: absolute;
	right: 0;
	top: calc(-2.25 * var(--space-3));
	height: auto;
	font: var(--font-meta);
}

@media (max-width: 1080px) {
	#header .nav .menu.menu--secondary {
		position: static;
	}
}

#header .nav .menu.menu--shop {
}

#header .nav .menu.menu--shop .sub-menu {
	left: auto;
	right: calc(-1 * var(--space-3));
}

@media (max-width: 1080px) {
	#header .nav .menu.menu--shop {
		display: flex;
		position: absolute;
		z-index: 1000;
		right: calc(2rem + var(--base-space));
		top: 50%;
		-webkit-transform: translateY(-50%);
		-moz-transform: translateY(-50%);
		-ms-transform: translateY(-50%);
		-o-transform: translateY(-50%);
		transform: translateY(-50%);
	}

	#header .nav .menu.menu--shop li {
		position: static;
	}


	#header .nav .menu.menu--shop :hover .sub-menu,
	#header .nav .menu.menu--shop :focus .sub-menu,
	#header .nav .menu.menu--shop .sub-menu {
		background: var(--content-bg-color);
		font: var(--font-base);
		padding: 0 var(--container-padding-space) var(--space-0) var(--container-padding-space);
		position: absolute;
		min-height: 100vh;
		top: 100%;
		right: calc(-2rem - var(--base-space) - var(--container-padding-space));
		z-index: 10000;
		width: 100vw;
		-webkit-transform: translateX(150%);
		-moz-transform: translateX(150%);
		-ms-transform: translateX(150%);
		-o-transform: translateX(150%);
		transform: translateX(150%);
		-webkit-transition: all .5s var(--base-animation-easing) 0s;
		-moz-transition: all .5s var(--base-animation-easing) 0s;
		-ms-transition: all .5s var(--base-animation-easing) 0s;
		-o-transition: all .5s var(--base-animation-easing) 0s;
		transition: all .5s var(--base-animation-easing) 0s;
	}

	#header .nav .menu.menu--shop .sub-menu li {
		padding: 0 var(--space-3);
		border-top: 1px solid var(--color-lighter-grey);
	}

	#header .nav .menu.menu--shop .sub-menu li:first-child {
		border-top: 0;
	}

	#header .nav .menu.menu--shop .sub-menu li a {
		padding: var(--space-3) 0;
	}


	#header .nav .menu.menu--shop .on > .sub-menu {
		display: block;
		-webkit-transform: translateX(0);
		-moz-transform: translateX(0);
		-ms-transform: translateX(0);
		-o-transform: translateX(0);
		transform: translateX(0);
	}
}

@media (max-width: 480px) {
	#header .nav .menu.menu--shop {
		right: calc(1.5rem + var(--base-space));
		gap: 0;
	}

	#header .nav .menu.menu--shop :hover .sub-menu,
	#header .nav .menu.menu--shop :focus .sub-menu,
	#header .nav .menu.menu--shop .sub-menu {
		right: calc(-1.5rem - var(--base-space) - var(--container-padding-space));
	}
}

@media (max-width: 400px) {
	#header .nav .menu.menu--shop li {
		padding: 0 var(--space-5);
	}
}


#header .nav .nav-container {
	height: 100%;
}


#header .nav a {
	text-decoration: none;
	display: block;
}

#header .nav a:hover {
	opacity: 1;
}


#header .nav .menu {
	align-items: center;
	height: 100%;
	justify-content: end;
	margin: 0;
}

#header .nav .menu li {
	position: relative;
	height: 100%;
	display: flex;
	align-items: center;
	padding: 0 var(--space-3);
}

@media (max-width: 1080px) {
	#header .nav .nav-container .menu {
		display: block;
		height: auto;
		text-align: left;
		margin-top: var(--base-space);
	}

	#header .nav .nav-container .menu--primary {
		margin-top: 0;
	}

	#header .nav .nav-container .menu li {
		display: block;
		margin: 0;
		border-top: 1px solid var(--color-lighter-grey);
	}

	#header .nav .nav-container .menu > li:first-child {
		border-top: 0;
	}

	#header .nav .nav-container .menu li a {
		padding: var(--space-3) 0;
	}

	#header .nav .nav-container .menu li li a {
		margin-left: var(--space-3);
	}
}


#header .nav .menu-item-has-children > a {
	padding-right: var(--space-3);
	position: relative;
}

#header .nav .menu-item-has-children > a:after {
	content: '\203A';
	line-height: 1;
	display: block;
	font-size: .875rem;
	font-weight: bold;
	position: absolute;
	top: 50%;
	right: 0;
	-webkit-transform: translateY(-50%) rotate(90deg);
	-moz-transform: translateY(-50%) rotate(90deg);
	-ms-transform: translateY(-50%) rotate(90deg);
	-o-transform: translateY(-50%) rotate(90deg);
	transform: translateY(-50%) rotate(90deg);
}

@media (max-width: 1080px) {
	#header .nav .menu-item-has-children > a {
		padding-right: 0;
	}

	#header .nav .menu-item-has-children > a:after {
		content: none;

	}
}

#header .nav .current_page_parent > a,
#header .nav .current-menu-item > a,
#header .nav .current-menu-ancestor > a {
	color: var(--color-primary);
}


#header .nav .sub-menu {
	display: none;
	text-align: left;
	min-width: 15rem;
	margin: 0;
	position: absolute;
	z-index: 1000;
	left: calc(-1 * var(--base-space));
	top: 100%;
	background: var(--content-bg-color);
	height: auto;
	box-shadow: var(--shadow-big);
}

@media (max-width: 1080px) {
	#header .nav .sub-menu {
		display: block;
		position: static;
		box-shadow: none;
		font: var(--font-meta);
	}
}


#header .nav .menu li a:focus + .sub-menu,
#header .nav .menu li:focus-within > .sub-menu,
#header .nav .menu li:hover > .sub-menu {
	display: block;
}


#header .nav .sub-menu li {
	display: block;
	padding: 0;
}

#header .nav .sub-menu a {
	padding: var(--space-5) var(--base-space);
}

#header .nav .sub-menu .menu-item-has-children > a {
	padding-right: calc(var(--base-space) + var(--space-3));
}

#header .nav .sub-menu .menu-item-has-children > a:after {
	right: var(--base-space);
	-webkit-transform: translateY(-50%) rotate(0);
	-moz-transform: translateY(-50%) rotate(0);
	-ms-transform: translateY(-50%) rotate(0);
	-o-transform: translateY(-50%) rotate(0);
	transform: translateY(-50%) rotate(0);
}


#header .nav .sub-menu .sub-menu {
	top: 0;
	left: 100%;
}


#header .nav .toggle.toggle--search-box {
	height: 1.25rem;
}


#header .nav .toggle--nav {
	position: absolute;
	display: none;
	width: 1.75rem;
	max-width: none;
	height: 1.25rem;
	top: 50%;
	right: 0;
	-webkit-transform: translateY(-50%);
	-moz-transform: translateY(-50%);
	-ms-transform: translateY(-50%);
	-o-transform: translateY(-50%);
	transform: translateY(-50%);
}

#header .nav .toggle--nav span {
	height: 1px;
	background: var(--base-color);
}

#header .nav .toggle--nav span:before,
#header .nav .toggle--nav span:after {
	background: var(--base-color);
	height: 1px;
}

#header .nav.nav-on .toggle--nav span:before {
	margin-top: -.5px; /* half of height */
}

#header .nav.nav-on .toggle--nav span:after {
	margin-bottom: -.5px; /* half of height */
}

@media (max-width: 1080px) {
	#header .nav .toggle--nav {
		display: block;
	}

	#header .nav .nav-container {
		background: var(--content-bg-color);
		padding: 0 var(--container-padding-space) var(--space-0) var(--container-padding-space);
		position: absolute;
		top: 100%;
		min-height: 100vh;
		right: calc(-1 * var(--container-padding-space));
		z-index: 10000;
		width: 100vw;

		-webkit-transform: translateX(150%);
		-moz-transform: translateX(150%);
		-ms-transform: translateX(150%);
		-o-transform: translateX(150%);
		transform: translateX(150%);
	}

	#header .nav.nav-on .nav-container {
		-webkit-transform: translateX(0);
		-moz-transform: translateX(0);
		-ms-transform: translateX(0);
		-o-transform: translateX(0);
		transform: translateX(0);
	}
}


#header .search-box-container .search-box {
	background: var(--content-bg-color);
	border-radius: .5rem;
	overflow: hidden;
	box-shadow: var(--shadow-base);
	padding: var(--space-2);
	position: absolute;
	z-index: 1;
	top: 100%;
	left: 0;
	right: 0;

	-webkit-transform: translateY(-100vh);
	-moz-transform: translateY(-100vh);
	-ms-transform: translateY(-100vh);
	-o-transform: translateY(-100vh);
	transform: translateY(-100vh);
}

#header .search-box-container.search-box-on .search-box {
	-webkit-transform: translateY(0);
	-moz-transform: translateY(0);
	-ms-transform: translateY(0);
	-o-transform: translateY(0);
	transform: translateY(0);
}

#header .search-box-container .search-box .form--search {
	position: relative;
}

#header .search-box-container .search-box .search-field {
	padding-right: calc(2 * var(--base-space) + .925rem);
	margin: 0;
}

#header .search-box-container .search-box .search-submit {
	margin: 0;
	background: transparent;
	border: 0;
	position: absolute;
	right: 0;
	top: 0;
	height: 3.125rem;
}

#header .search-box-container .search-box .search-submit span {
}

#header .search-box-container .search-box .search-submit:before {
	content: '';
	background: url(assets/images/icon-search.svg) no-repeat center;
	display: block;
	width: .925rem;
	height: 1.375rem;
}


@media (max-width: 1080px) {
	body #main,
	body #footer {
		-webkit-transition: opacity .3s;
		-moz-transition: opacity .3s;
		-ms-transition: opacity .3s;
		-o-transition: opacity .3s;
		transition: opacity .3s;
	}

	body.nav-menu-on #main,
	body.nav-menu-on #footer,
	body.search-on #main,
	body.search-on #footer {
		opacity: .15;
	}
}


/* Footer
 * ======================================== */

#footer {
	margin-top: .25rem;
	font: var(--font-meta);
	line-height: 2;
}

#footer a {
	text-decoration: none;
}

#footer .list--widgets {
	position: relative;
	z-index: 0;
	padding: var(--space-0) 0 var(--space-1);
}

#footer .list--widgets:before {
	content: '';
	position: absolute;
	top: 0;
	bottom: 0;
	left: 50%;
	width: 100vw;
	z-index: -1;
	background: var(--color-almost-white);
	transform: translateX(-50%);
}

#footer .list--widgets > .list-items {
	margin: 0;
	grid-template-columns: repeat(6, minmax(0, 1fr));
}

@media (max-width: 960px) {
	#footer .list--widgets > .list-items {
		grid-template-columns: repeat(2, minmax(0, 1fr));
	}
}

@media (max-width: 380px) {
	#footer .list--widgets > .list-items {
		grid-template-columns: repeat(1, minmax(0, 1fr));
	}
}


#footer .list--widgets > .list-items .widget .widget-title {
	margin-top: 0;
	font: var(--font-meta);
	font-weight: 400;
	text-transform: uppercase;
}

#footer .list--widgets > .list-items .widget :last-child {
	margin-bottom: 0;
}

#footer .list--widgets > .list-items .widget li.menu-item {
	margin-bottom: .5em;
	line-height: 1.5;
}

#footer .list--widgets > .list-items .widget:first-child {
	grid-column: 1 / span 2;
}

@media (max-width: 380px) {
	#footer .list--widgets > .list-items .widget:first-child {
		grid-column: 1;
	}
}


#footer .list--widgets > .list-items .widget:first-child p {
	margin: var(--space-3) 0;
}

#footer .list--widgets > .list-items .widget:first-child img {
	margin-top: 0;
	max-width: min(100%, 16.6875rem);
}

#footer .list--widgets > .list-items .widget:first-child .menu {
}

@media (max-width: 960px) {
	#footer .list--widgets > .list-items .widget:first-child {
		text-align: center;
	}

	#footer .list--widgets > .list-items .widget:first-child .menu {
		justify-content: center;
	}
}


#footer .copyright-madeby {
	color: var(--color-white);
	text-align: center;
	font: var(--font-meta);
	text-transform: uppercase;
}

#footer .copyright-madeby a {
	color: inherit;
}


/* Main
 * ======================================== */

#main {
	background: var(--content-bg-color);
	padding: .1px 0;
}

#main .container > .section:last-child {
	margin-bottom: var(--space-0);
}


/* Print
 * ======================================== */

@media print {
	body {
		background: none !important;
		color: #2b2b2b;
		font-size: 10pt;
		width: 100%;
	}

	#header {
		background: none;
		min-height: 100px;
	}

	#header .site-title a {
		height: 100px;
		width: auto;
	}

	#header nav {
		display: none;
	}

	#footer {
		display: none;
	}

	h1, h2, h3, h4, h5, h6 {
		page-break-after: avoid;
	}

	#main a {
		font-weight: bolder;
		text-decoration: none;
	}

	#main a[href^=http]:after {
		content: " <" attr(href) "> ";
	}

	#main .secondary {
		display: none;
	}
}


/* WP Styles
 * ======================================== */


/*

*/
