/*!
 * Theme Name: David Design
 * Theme URI: https://daviddesign.se
 * Author:  Michal Niewitala, Przemek Maczewski, Henrik Mattsson
 * Author URI: https://www.henrikmattsson.com
 * Description: Base theme for David Design website. Developers are strongly encouraged to modify the child theme instead of this core theme.
 * Version: 2.2.2
 * License: GNU General Public License v3
 * License URI: http://www.gnu.org/licenses/gpl-3.0.html
 * Text Domain: daviddesign
 *
 * Copyright: Content (c) David Design 2013-18 / Site Concept, Design & CSS (c) Henrik Mattsson 2013-18
 *
 * Project Team: Henrik Mattsson (concept development, site design, project management), Michal Niewitala (front-end development), Przemek Maczewski (WordPress development)
 */

/*
    ##################################
    #                                #
    #              FONTS              #
    #                                #
    ################################## */

/*
    ##################################
    #                                #
    #              BASE              #
    #                                #
    ################################## */

/*! normalize.css v8.0.1 | MIT License | github.com/necolas/normalize.css */
/* Document
   ========================================================================== */
/**
 * 1. Correct the line height in all browsers.
 * 2. Prevent adjustments of font size after orientation changes in iOS.
 */
html {
	line-height: 1.15;
	/* 1 */
	-webkit-text-size-adjust: 100%;
	/* 2 */
}

/* Sections
   ========================================================================== */
/**
 * Remove the margin in all browsers.
 */
body {
	margin: 0;
}

/**
 * Render the `main` element consistently in IE.
 */
main {
	display: block;
}

/**
 * Correct the font size and margin on `h1` elements within `section` and
 * `article` contexts in Chrome, Firefox, and Safari.
 */
h1 {
	font-size: 2em;
	margin: 0.67em 0;
}

/* Grouping content
   ========================================================================== */
/**
 * 1. Add the correct box sizing in Firefox.
 * 2. Show the overflow in Edge and IE.
 */
hr {
	box-sizing: content-box;
	/* 1 */
	height: 0;
	/* 1 */
	overflow: visible;
	/* 2 */
}

/**
 * 1. Correct the inheritance and scaling of font size in all browsers.
 * 2. Correct the odd `em` font sizing in all browsers.
 */
pre {
	font-family: monospace, monospace;
	/* 1 */
	font-size: 1em;
	/* 2 */
}

/* Text-level semantics
   ========================================================================== */
/**
 * Remove the gray background on active links in IE 10.
 */
a {
	background-color: transparent;
}

/**
 * 1. Remove the bottom border in Chrome 57-
 * 2. Add the correct text decoration in Chrome, Edge, IE, Opera, and Safari.
 */
abbr[title] {
	border-bottom: none;
	/* 1 */
	text-decoration: underline;
	/* 2 */
	-webkit-text-decoration: underline dotted;
	text-decoration: underline dotted;
	/* 2 */
}

/**
 * Add the correct font weight in Chrome, Edge, and Safari.
 */
b,
strong {
	font-weight: bolder;
}

/**
 * 1. Correct the inheritance and scaling of font size in all browsers.
 * 2. Correct the odd `em` font sizing in all browsers.
 */
code,
kbd,
samp {
	font-family: monospace, monospace;
	/* 1 */
	font-size: 1em;
	/* 2 */
}

/**
 * Add the correct font size in all browsers.
 */
small {
	font-size: 80%;
}

/**
 * Prevent `sub` and `sup` elements from affecting the line height in
 * all browsers.
 */
sub,
sup {
	font-size: 75%;
	line-height: 0;
	position: relative;
	vertical-align: baseline;
}

sub {
	bottom: -0.25em;
}

sup {
	top: -0.5em;
}

/* Embedded content
   ========================================================================== */
/**
 * Remove the border on images inside links in IE 10.
 */
img {
	border-style: none;
}

/* Forms
   ========================================================================== */
/**
 * 1. Change the font styles in all browsers.
 * 2. Remove the margin in Firefox and Safari.
 */
button,
input,
optgroup,
select,
textarea {
	font-family: inherit;
	/* 1 */
	font-size: 100%;
	/* 1 */
	line-height: 1.15;
	/* 1 */
	margin: 0;
	/* 2 */
}

/**
 * Show the overflow in IE.
 * 1. Show the overflow in Edge.
 */
button,
input {
	/* 1 */
	overflow: visible;
}

/**
 * Remove the inheritance of text transform in Edge, Firefox, and IE.
 * 1. Remove the inheritance of text transform in Firefox.
 */
button,
select {
	/* 1 */
	text-transform: none;
}

/**
 * Correct the inability to style clickable types in iOS and Safari.
 */
button,
[type='button'],
[type='reset'],
[type='submit'] {
	-webkit-appearance: button;
}

/**
 * Remove the inner border and padding in Firefox.
 */
button::-moz-focus-inner,
[type='button']::-moz-focus-inner,
[type='reset']::-moz-focus-inner,
[type='submit']::-moz-focus-inner {
	border-style: none;
	padding: 0;
}

/**
 * Restore the focus styles unset by the previous rule.
 */
button:-moz-focusring,
[type='button']:-moz-focusring,
[type='reset']:-moz-focusring,
[type='submit']:-moz-focusring {
	outline: 1px dotted ButtonText;
}

/**
 * Correct the padding in Firefox.
 */
fieldset {
	padding: 0.35em 0.75em 0.625em;
}

/**
 * 1. Correct the text wrapping in Edge and IE.
 * 2. Correct the color inheritance from `fieldset` elements in IE.
 * 3. Remove the padding so developers are not caught out when they zero out
 *    `fieldset` elements in all browsers.
 */
legend {
	box-sizing: border-box;
	/* 1 */
	color: inherit;
	/* 2 */
	display: table;
	/* 1 */
	max-width: 100%;
	/* 1 */
	padding: 0;
	/* 3 */
	white-space: normal;
	/* 1 */
}

/**
 * Add the correct vertical alignment in Chrome, Firefox, and Opera.
 */
progress {
	vertical-align: baseline;
}

/**
 * Remove the default vertical scrollbar in IE 10+.
 */
textarea {
	overflow: auto;
}

/**
 * 1. Add the correct box sizing in IE 10.
 * 2. Remove the padding in IE 10.
 */
[type='checkbox'],
[type='radio'] {
	box-sizing: border-box;
	/* 1 */
	padding: 0;
	/* 2 */
}

/**
 * Correct the cursor style of increment and decrement buttons in Chrome.
 */
[type='number']::-webkit-inner-spin-button,
[type='number']::-webkit-outer-spin-button {
	height: auto;
}

/**
 * 1. Correct the odd appearance in Chrome and Safari.
 * 2. Correct the outline style in Safari.
 */
[type='search'] {
	-webkit-appearance: textfield;
	/* 1 */
	outline-offset: -2px;
	/* 2 */
}

/**
 * Remove the inner padding in Chrome and Safari on macOS.
 */
[type='search']::-webkit-search-decoration {
	-webkit-appearance: none;
}

/**
 * 1. Correct the inability to style clickable types in iOS and Safari.
 * 2. Change font properties to `inherit` in Safari.
 */
::-webkit-file-upload-button {
	-webkit-appearance: button;
	/* 1 */
	font: inherit;
	/* 2 */
}

/* Interactive
   ========================================================================== */
/*
 * Add the correct display in Edge, IE 10+, and Firefox.
 */
details {
	display: block;
}

/*
 * Add the correct display in all browsers.
 */
summary {
	display: list-item;
}

/* Misc
   ========================================================================== */
/**
 * Add the correct display in IE 10+.
 */
template {
	display: none;
}

/**
 * Add the correct display in IE 10.
 */
[hidden] {
	display: none;
}

/*
    ##################################
    #                                #
    #             LAYOUT             #
    #                                #
    ################################## */

html {
	-moz-osx-font-smoothing: grayscale;
	-webkit-font-smoothing: antialiased;
	text-rendering: optimizelegibility;
	font-feature-settings: 'liga', 'kern';
	height: 100%;
}

body {
	font-family: 'Gotham SSm A', 'Gotham SSm B', 'Helvetica Neue', Helvetica,
		Arial, 'Lucida Grande', sans-serif;
	font-size: 14px;
	font-weight: normal;
	font-style: normal;
	line-height: 1.7142857143;
	letter-spacing: 0.01em;
	color: #000;
	min-width: 320px;
	display: flex;
	flex-direction: column;
	min-height: 100%;
}

.fadein {
	opacity: 0;
	transition: opacity 0.3s ease-in-out;
}

.fadein.lazyloaded {
	opacity: 1;
}

::-moz-selection {
	color: #000;
	background: #ccc;
	text-shadow: none;
}

::selection {
	color: #000;
	background: #ccc;
	text-shadow: none;
}

.size-auto,
.size-full,
.size-large,
.size-medium,
.size-thumbnail {
	max-width: 100%;
	height: auto;
}

img.alignright,
.wp-caption.alignright {
	clear: right;
	margin: 0 0 0.5em 8%;
}

img.alignleft,
.wp-caption.alignleft {
	margin: 0 8% 0.5em 0;
}

img.alignleft,
img.alignright,
.wp-caption.alignleft,
.wp-caption.alignright {
	max-width: 45%;
}

img.aligncenter,
.wp-caption.aligncenter {
	display: block;
	margin-left: auto;
	margin-right: auto;
}

.wp-caption img {
	width: 100%;
	display: block;
}

.wp-caption p {
	margin: 0.5em 0 0 0;
}

.alignright {
	float: right;
}

.alignleft {
	float: left;
}

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

/*
    ##################################
    #                                #
    #            ELEMENTS            #
    #                                #
    ################################## */

h1,
h2,
h3,
h4,
h5,
h6 {
	font-size: 1em;
	font-weight: inherit;
	margin: 20px 0;
}

h1,
h2,
h3 {
	font-weight: 500;
}

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

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

iframe {
	max-width: 100%;
}

address {
	font-style: normal;
}

strong,
b {
	font-weight: 500;
}

figure {
	margin: 0;
}

figure img {
	display: block;
}

p,
blockquote {
	margin: 1.4285714286em 0;
}

blockquote > *:first-child {
	margin-top: 0;
}

blockquote > *:last-child {
	margin-bottom: 0;
}

/*
    ##################################
    #                                #
    #             HELPERS             #
    #                                #
    ################################## */

.screen-reader-text {
	clip: rect(1px, 1px, 1px, 1px);
	-webkit-clip-path: polygon(0px 0px, 0px 0px, 0px 0px, 0px 0px);
	clip-path: polygon(0px 0px, 0px 0px, 0px 0px, 0px 0px);
	position: absolute !important;
	white-space: nowrap;
	height: 1px;
	width: 1px;
	overflow: hidden;
}

.screen-reader-text:focus {
	clip: auto !important;
	display: block;
	height: auto;
	left: 5px;
	top: 5px;
	width: auto;
	z-index: 100000;
}

/*
    ##################################
    #                                #
    #             MODULES             #
    #                                #
    ################################## */

.intro-scroll,
.single-product .type-product > .view-full-screen,
.single-product .type-product > .download-link,
.single-product .type-product > .language-switcher,
[id='header'] .nav-toggle {
	position: absolute;
	top: 0;
	right: 0;
	padding-top: 50px;
	padding-bottom: 50px;
	padding-left: 16px;
	padding-right: 16px;
	height: 14px;
	line-height: 14px;
	vertical-align: top;
	pointer-events: auto;
	margin-left: 4px;
	margin-right: 4px;
}

@media (min-width: 640px) {
	.intro-scroll,
	.single-product .type-product > .view-full-screen,
	.single-product .type-product > .download-link,
	.single-product .type-product > .language-switcher,
	[id='header'] .nav-toggle {
		margin-left: 24px;
		margin-right: 24px;
	}
}

@media (min-width: 1260px) {
	.intro-scroll,
	.single-product .type-product > .view-full-screen,
	.single-product .type-product > .download-link,
	.single-product .type-product > .language-switcher,
	[id='header'] .nav-toggle {
		margin-left: 44px;
		margin-right: 44px;
	}
}

.intro-scroll,
[id='header'] .nav-toggle {
	will-change: color;
	transition: color 0.3s cubic-bezier(0.645, 0.045, 0.355, 1);
	color: black;
	font-size: 12px;
	letter-spacing: 0.12px;
}

.intro-scroll:after,
[id='header'] .nav-toggle:after {
	content: '';
	display: inline-block;
	width: 24px;
	height: 18px;
	margin-top: -2px;
	margin-left: 1em;
	vertical-align: top;
	background-position: right center;
}

.article-grid {
	display: flex;
	flex-flow: row wrap;
	margin-left: auto;
	margin-right: auto;
	font-size: 12px;
	font-weight: normal;
	letter-spacing: 0.01em;
	line-height: 16px;
}

@media (max-width: 359px) {
	.article-grid article {
		width: 100%;
	}
	.article-grid article + article {
		margin-top: 18px;
	}
}

@media (min-width: 360px) and (max-width: 639px) {
	.article-grid article {
		width: calc((100% - 12px) / 2);
	}
	.article-grid article:nth-child(2n) {
		margin-left: auto;
	}
	.article-grid article:nth-child(n + 3) {
		margin-top: 18px;
	}
}

@media (min-width: 640px) and (max-width: 1019px) {
	.article-grid article {
		width: calc((100% - 12px * 2) / 3);
	}
	.article-grid article:not(:nth-child(3n)):not(:nth-child(3n - 1)) {
		margin-right: calc(12px);
	}
	.article-grid article:nth-child(3n) {
		margin-left: auto;
	}
	.article-grid article:nth-child(n + 4) {
		margin-top: 18px;
	}
}

@media (min-width: 1020px) {
	.article-grid article {
		width: calc((100% - 12px * 3) / 4);
	}
	.article-grid article:not(:nth-child(4n)):not(:nth-child(4n - 1)) {
		margin-right: calc(12px);
	}
	.article-grid article:nth-child(4n) {
		margin-left: auto;
	}
	.article-grid article:nth-child(n + 5) {
		margin-top: 18px;
	}
}

.article-grid figure {
	position: relative;
	overflow: hidden;
	border: 1px solid #ccc;
}

.article-grid figure:before {
	content: '';
	display: block;
	position: relative;
	height: 0;
	padding-top: 75%;
	width: 100%;
	background-color: #e6e6e6;
}

.article-grid figure:before > * {
	display: block;
	position: absolute;
	width: 100% !important;
	height: 100% !important;
	top: 0;
	margin: 0;
	padding: 0;
}

.article-grid figure img,
.article-grid figure iframe {
	box-sizing: border-box;
	display: block;
}

.article-grid figure img {
	position: absolute;
	top: 0;
	left: 0;
	width: 100%;
	height: 100%;
	-o-object-fit: cover;
	object-fit: cover;
	z-index: 1;
}

.article-grid figure iframe {
	position: absolute;
	top: 50%;
	left: 50%;
	width: 133%;
	max-width: none;
	height: 100%;
	transform: translate(-50%, -50%);
}

.article-grid a:hover img {
	border-color: #666666;
}

.article-grid h2 {
	margin: 0;
	font-weight: inherit;
}

.article-grid .article-entry {
	padding-top: 6px;
	padding-bottom: 4px;
	min-height: 32px;
}

.article-grid .article-entry * {
	margin: 0;
}

.page-template-default .article-grid img {
	filter: grayscale(1);
	border: none;
}

.archive .designer > .entry-title {
	text-transform: uppercase;
	margin-top: -1em;
}

.archive .designer .entry-content {
	max-width: 744px;
}

.archive .designer .designed {
	margin-top: 40px;
}

.archive .designer .designed h2 {
	font-weight: normal;
}

.archive .designer .article-grid {
	margin-top: 27px;
}

.page .designer img {
	filter: grayscale(1);
	border: none;
}

html.is-full-screen {
	overflow: hidden;
}

.full-screen {
	position: fixed;
	top: 0;
	right: 0;
	bottom: 0;
	left: 0;
	z-index: 1001;
	background-color: #808080;
	display: none;
}

.full-screen.is-active {
	display: block;
}

.full-screen .product-slider:not(:only-child) {
	padding-bottom: 80px;
}

@media (min-width: 1600px) {
	.full-screen {
		padding-top: 0;
		padding-left: 54px;
		padding-right: 54px;
	}
}

.image-grid {
	display: grid;
	grid-gap: 30px 40px;
	justify-content: space-between;
	padding-left: 20px;
	padding-right: 20px;
	grid-template-columns: 1fr;
	padding-top: 20px;
	padding-bottom: 20px;
}

@media (min-width: 640px) {
	.image-grid {
		padding-left: 40px;
		padding-right: 40px;
	}
}

@media (min-width: 1260px) {
	.image-grid {
		padding-left: 60px;
		padding-right: 60px;
	}
}

@media (min-width: 640px) and (max-width: 1287px) {
	.image-grid {
		grid-template-columns: repeat(2, 1fr);
	}
}

@media (min-width: 1288px) {
	.image-grid {
		grid-template-columns: repeat(3, 1fr);
	}
}

@media (min-width: 1020px) {
	.image-grid {
		padding-top: 60px;
		padding-bottom: 60px;
	}
}

.image-grid .entry-summary {
	min-height: 72px;
	padding-top: 12px;
	padding-bottom: 6px;
	max-width: 520px;
}

.image-grid .entry-summary > *:first-child {
	margin-top: 0;
}

.image-grid .entry-summary > *:last-child {
	margin-bottom: 0;
}

.image-grid article figure {
	background-color: #f3f3f3;
	position: relative;
}

.image-grid article figure:before {
	content: '';
	display: block;
	position: relative;
	height: 0;
	padding-top: 56.25%;
	width: 100%;
}

.image-grid article figure:before > * {
	display: block;
	position: absolute;
	width: 100% !important;
	height: 100% !important;
	top: 0;
	margin: 0;
	padding: 0;
}

.image-grid article figure img,
.image-grid article figure iframe {
	position: absolute;
	top: 0;
	left: 0;
	width: 100%;
	height: 100%;
}

.image-grid article figure img {
	-o-object-fit: cover;
	object-fit: cover;
}

.image-grid article img {
	width: 100%;
	display: block;
	-webkit-backface-visibility: hidden;
	backface-visibility: hidden;
}

.intro-section {
	height: 100vh;
}

/*! Flickity v2.2.2
https://flickity.metafizzy.co
---------------------------------------------- */
.flickity-enabled {
	position: relative;
}

.flickity-enabled:focus {
	outline: 0;
}

.flickity-viewport {
	overflow: hidden;
	position: relative;
	height: 100%;
}

.flickity-slider {
	position: absolute;
	width: 100%;
	height: 100%;
}

.flickity-enabled.is-draggable {
	-webkit-tap-highlight-color: transparent;
	-webkit-user-select: none;
	-moz-user-select: none;
	-ms-user-select: none;
	user-select: none;
}

.flickity-enabled.is-draggable .flickity-viewport {
	cursor: move;
	cursor: -webkit-grab;
	cursor: grab;
}

.flickity-enabled.is-draggable .flickity-viewport.is-pointer-down {
	cursor: -webkit-grabbing;
	cursor: grabbing;
}

.flickity-button {
	position: absolute;
	background: rgba(255, 255, 255, 0.75);
	border: none;
	color: #333;
}

.flickity-button:hover {
	background: #fff;
	cursor: pointer;
}

.flickity-button:focus {
	outline: 0;
	box-shadow: 0 0 0 5px #19f;
}

.flickity-button:active {
	opacity: 0.6;
}

.flickity-button:disabled {
	opacity: 0.3;
	cursor: auto;
	pointer-events: none;
}

.flickity-button-icon {
	fill: currentColor;
}

.flickity-prev-next-button {
	top: 50%;
	width: 44px;
	height: 44px;
	border-radius: 50%;
	transform: translateY(-50%);
}

.flickity-prev-next-button.previous {
	left: 10px;
}

.flickity-prev-next-button.next {
	right: 10px;
}

.flickity-rtl .flickity-prev-next-button.previous {
	left: auto;
	right: 10px;
}

.flickity-rtl .flickity-prev-next-button.next {
	right: auto;
	left: 10px;
}

.flickity-prev-next-button .flickity-button-icon {
	position: absolute;
	left: 20%;
	top: 20%;
	width: 60%;
	height: 60%;
}

.flickity-page-dots {
	position: absolute;
	width: 100%;
	bottom: -25px;
	padding: 0;
	margin: 0;
	list-style: none;
	text-align: center;
	line-height: 1;
}

.flickity-rtl .flickity-page-dots {
	direction: rtl;
}

.flickity-page-dots .dot {
	display: inline-block;
	width: 10px;
	height: 10px;
	margin: 0 8px;
	background: #333;
	border-radius: 50%;
	opacity: 0.25;
	cursor: pointer;
}

.flickity-page-dots .dot.is-selected {
	opacity: 1;
}

.intro-slider {
	height: calc(100% - 120px);
}

.intro-slider div,
.intro-slider figure,
.intro-slider img {
	height: 100% !important;
}

.intro-slider .flickity-slider {
	transform: none !important;
}

.intro-slider .slider-cell {
	width: 100%;
	left: 0 !important;
	transition: opacity 4s ease, visibility 0s linear 4s;
	visibility: hidden;
	z-index: 0;
	opacity: 0;
}

.intro-slider .slider-cell:first-child,
.intro-slider .slider-cell.is-selected + * {
	visibility: visible;
}

.intro-slider .slider-cell:first-child,
.intro-slider .slider-cell:first-child img:not(.lazyloaded),
.intro-slider .slider-cell.is-selected + *,
.intro-slider .slider-cell.is-selected + * img:not(.lazyloaded) {
	opacity: 0.001;
}

.intro-slider .slider-cell.is-selected,
.intro-slider .slider-cell:only-child {
	transition-delay: 0s, 0s;
	visibility: visible;
	z-index: 1;
	opacity: 1;
}

.intro-slider img,
.intro-slider iframe {
	display: block;
	width: 100%;
	-o-object-fit: cover;
	object-fit: cover;
	-o-object-position: center;
	object-position: center;
	transition: opacity 1s;
}

.intro-slider iframe {
	height: 100%;
}

.intro-slider .top img {
	-o-object-position: center top;
	object-position: center top;
}

.intro-slider .middle img {
	-o-object-position: center center;
	object-position: center center;
}

.intro-slider .bottom img {
	-o-object-position: center bottom;
	object-position: center bottom;
}

.intro-slider .left img {
	-o-object-position: left center;
	object-position: left center;
}

.intro-slider .center img {
	-o-object-position: center center;
	object-position: center center;
}

.intro-slider .right img {
	-o-object-position: right center;
	object-position: right center;
}

.intro-slider .left.top img {
	-o-object-position: left top;
	object-position: left top;
}

.intro-slider .center.top img {
	-o-object-position: center top;
	object-position: center top;
}

.intro-slider .right.top img {
	-o-object-position: right top;
	object-position: right top;
}

.intro-slider .left.middle img {
	-o-object-position: left center;
	object-position: left center;
}

.intro-slider .center.middle img {
	-o-object-position: center center;
	object-position: center center;
}

.intro-slider .right.middle img {
	-o-object-position: right center;
	object-position: right center;
}

.intro-slider .left.bottom img {
	-o-object-position: left bottom;
	object-position: left bottom;
}

.intro-slider .center.bottom img {
	-o-object-position: center bottom;
	object-position: center bottom;
}

.intro-slider .right.bottom img {
	-o-object-position: right bottom;
	object-position: right bottom;
}

.intro-caption {
	padding-left: 20px;
	padding-right: 20px;
	padding-top: 12px;
	max-width: 585px;
	min-height: 108px;
	font-weight: normal;
	letter-spacing: 0.01em;
}

@media (min-width: 640px) {
	.intro-caption {
		padding-left: 40px;
		padding-right: 40px;
	}
}

@media (min-width: 1260px) {
	.intro-caption {
		padding-left: 60px;
		padding-right: 60px;
	}
}

.intro-scroll {
	bottom: 0;
	top: auto;
	transition: opacity 0.5s cubic-bezier(0.645, 0.045, 0.355, 1);
}

@media (max-width: 1020px) {
	.intro-scroll {
		display: none;
	}
}

.scrolled .intro-scroll {
	opacity: 0;
}

.language-switcher {
	font-size: 12px;
	font-weight: normal;
	-webkit-user-select: none;
	-moz-user-select: none;
	-ms-user-select: none;
	user-select: none;
	pointer-events: none;
}

.language-switcher > * {
	pointer-events: auto;
}

.language-switcher .switcher-label {
	position: relative;
	vertical-align: top;
	padding-right: 12px;
	display: block;
	text-align: right;
	line-height: 14px;
	height: 14px;
	padding: 0 16px 4px 0;
}

.language-switcher .switcher-label:after {
	content: '';
	position: absolute;
	top: 0;
	right: 0;
	bottom: 4px;
	width: 10px;
	background-position: right center;
	transform-origin: center;
}

.language-switcher:hover .switcher-list,
.language-switcher:focus-within .switcher-list,
.language-switcher:active .switcher-list {
	visibility: visible;
}

.language-switcher:hover .switcher-label:after,
.language-switcher:focus-within .switcher-label:after,
.language-switcher:active .switcher-label:after {
	transform: rotate(180deg);
}

.language-switcher .switcher-list {
	visibility: hidden;
	border: 1px solid #898989;
	line-height: 24px;
	background-color: #f3f3f3;
	list-style-type: none;
	margin: 0;
	padding: 0;
	margin-top: -2px;
	min-width: 158px;
}

.language-switcher .switcher-list a {
	padding: 0 0.5em;
	display: block;
}

.language-switcher .switcher-list .active a,
.language-switcher .switcher-list a:hover {
	background-color: #e5e5e5;
}

.language-switcher .switcher-list:hover {
	visibility: visible;
}

.blog .post > *:not(img):not(figure),
.single .post > *:not(img):not(figure) {
	max-width: 744px;
}

.blog .post .entry-content,
.single .post .entry-content {
	margin-top: 24px;
}

.blog .post .entry-content > *:not(div):not(span):not(img):first-child,
.single .post .entry-content > *:not(div):not(span):not(img):first-child {
	margin-top: -0.3em;
}

.blog .post .entry-content > *:not(div):not(span):not(img):last-child,
.single .post .entry-content > *:not(div):not(span):not(img):last-child {
	margin-bottom: -0.3em;
}

.blog
	.post
	.entry-content
	> div:last-child
	> *:not(div):not(span):not(img):first-child,
.single
	.post
	.entry-content
	> div:last-child
	> *:not(div):not(span):not(img):first-child {
	margin-top: -0.3em;
}

.blog
	.post
	.entry-content
	> div:last-child
	> *:not(div):not(span):not(img):last-child,
.single
	.post
	.entry-content
	> div:last-child
	> *:not(div):not(span):not(img):last-child {
	margin-bottom: -0.3em;
}

.blog .post .entry-content:after,
.single .post .entry-content:after {
	content: '';
	display: block;
	clear: both;
}

.blog .post .entry-content + img,
.blog .post .entry-content + .article-image,
.single .post .entry-content + img,
.single .post .entry-content + .article-image {
	margin-top: 32px;
}

.blog .post .entry-title,
.single .post .entry-title {
	letter-spacing: 0.02em;
	text-transform: uppercase;
	margin-bottom: 0;
}

.blog .post > .entry-title,
.single .post > .entry-title {
	margin-top: -0.25em;
}

@media (min-width: 1288px) {
	.blog .post:first-child > .entry-title,
	.single .post:first-child > .entry-title {
		margin-top: -1em;
	}
}

.blog .post .entry-date,
.single .post .entry-date {
	font-size: 12px;
	font-weight: normal;
	letter-spacing: 0.12px;
}

.blog .post img,
.single .post img {
	display: block;
}

.blog .post + .post,
.single .post + .post {
	padding-top: 68px;
}

.blog .post:first-child,
.single .post:first-child {
	margin-top: -60px;
	padding-top: 60px;
}

.page .page .entry-content > h2 {
	text-transform: uppercase;
	letter-spacing: 0.02em;
}

.page .page .entry-content > *:first-child:not(div):not(img) {
	margin-top: -1em;
}

.page .page .entry-content > *:not([class*='grid']):not([class*='columns']) {
	max-width: 744px;
}

.page .page .entry-content > * + h2 {
	margin-top: 60px;
}

.page .page .entry-content > h2 + .article-grid {
	margin-top: 30px;
}

.wp-block-columns {
	display: flex;
	flex-flow: row wrap;
	max-width: 1156px;
}

@media (min-width: 1288px) {
	.wp-block-columns {
		margin-left: auto;
		margin-right: auto;
	}
}

.wp-block-columns + h2,
.wp-block-columns + h3,
.wp-block-columns + h4 {
	margin-top: 40px;
}

.wp-block-column:not(.x) {
	width: 100%;
	flex-basis: auto;
	margin: 0;
}

.wp-block-column:not(.x) > *:first-child {
	margin-top: 0;
}

.wp-block-column:not(.x) > *:last-child {
	margin-bottom: 0;
}

@media (max-width: 639px) {
	.wp-block-column:not(.x) * + * {
		margin-top: 40px;
	}
}

@media (min-width: 640px) {
	.has-2-columns .wp-block-column:not(.x) {
		width: calc((100% - 12px) / 2);
	}
	.has-2-columns .wp-block-column:not(.x):not(:nth-child(2n)) {
		margin-right: calc(12px);
	}
	.has-2-columns .wp-block-column:not(.x):nth-child(n + 3) {
		margin-top: 40px;
	}
}

@media (min-width: 640px) and (max-width: 1019px) {
	.has-4-columns .wp-block-column:not(.x) {
		width: calc((100% - 12px) / 2);
	}
	.has-4-columns .wp-block-column:not(.x):not(:nth-child(2n)) {
		margin-right: calc(12px);
	}
	.has-4-columns .wp-block-column:not(.x):nth-child(n + 3) {
		margin-top: 40px;
	}
}

@media (min-width: 1020px) {
	.has-4-columns .wp-block-column:not(.x) {
		width: calc((100% - 12px * 3) / 4);
	}
	.has-4-columns .wp-block-column:not(.x):not(:nth-child(4n)) {
		margin-right: calc(12px);
	}
}

.product-slider {
	position: relative;
}

.product-slider.flickity-enabled > .slider-cell {
	display: none !important;
}

.product .product-slider .slider-cell {
	width: 100%;
	position: relative;
}

.product .product-slider .slider-cell:after {
	content: '';
	display: block;
	position: relative;
	height: 0;
	padding-top: 56.25%;
	width: 100%;
	background-color: #f3f3f3;
}

.product .product-slider .slider-cell:after > * {
	display: block;
	position: absolute;
	width: 100% !important;
	height: 100% !important;
	top: 0;
	margin: 0;
	padding: 0;
}

.product .product-slider .slider-cell img,
.product .product-slider .slider-cell iframe {
	position: absolute;
	top: 0;
	left: 0;
	width: 100%;
	height: 100%;
	-o-object-fit: cover;
	object-fit: cover;
	z-index: 1;
	box-sizing: border-box;
	display: block;
}

@media (min-width: 1860px) {
	.product .product-slider {
		width: calc(100vw - 596px);
		max-width: 1500px;
		position: relative;
		left: 50%;
		right: 50%;
		transform: translateX(-50%);
	}
}

.full-screen .product-slider {
	border: none;
	height: 100%;
	width: 100%;
	box-sizing: border-box;
}

.full-screen .product-slider .slider-cell {
	height: 100%;
	width: 100%;
	position: relative;
}

.full-screen .product-slider .slider-cell img,
.full-screen .product-slider .slider-cell iframe {
	position: absolute;
	top: 0;
	right: 0;
	bottom: 0;
	left: 0;
	margin: auto;
}

.full-screen .product-slider .slider-cell img {
	width: auto;
	height: auto;
	max-height: 100%;
}

.product-slider .flickity-prev-next-button {
	opacity: 1;
	background-color: transparent;
	background-position: center;
	border-radius: 0;
	top: 0;
	bottom: 0;
	right: 0;
	height: auto;
	width: 128px;
	transform: none;
	padding: 0;
	background-position: right 18px center;
	outline: none;
}

.product-slider .flickity-prev-next-button.previous {
	background-position: left 18px center;
	left: 0;
	right: auto;
}

.product-slider .flickity-prev-next-button svg {
	display: none;
}

@media (max-width: 640px) {
	.full-screen .product-slider .flickity-prev-next-button {
		display: none;
	}
}

@media (min-width: 1600px) {
	.full-screen .product-slider .flickity-prev-next-button.next {
		right: -54px;
	}
	.full-screen .product-slider .flickity-prev-next-button.previous {
		left: -54px;
	}
}

.product-slider-nav.flickity-enabled > .slider-cell {
	display: none;
}

.product-slider-nav .slider-cell {
	cursor: pointer;
	position: relative;
	overflow: hidden;
	width: 114px;
	height: 62px;
}

.product-slider-nav .slider-cell:before {
	content: '';
	position: relative;
	height: 0;
	padding-top: 56.1403508772%;
	width: 100%;
}

.product-slider-nav .slider-cell:before > * {
	display: block;
	position: absolute;
	width: 100% !important;
	height: 100% !important;
	top: 0;
	margin: 0;
	padding: 0;
}

.product-slider-nav .slider-cell img,
.product-slider-nav .slider-cell iframe {
	position: absolute;
	top: 0;
	right: 0;
	bottom: 0;
	left: 0;
	-o-object-fit: cover;
	object-fit: cover;
	margin: auto;
	width: 100%;
	height: 100%;
}

.product-slider-nav .slider-cell:after {
	content: '';
	position: absolute;
	top: 0;
	right: 0;
	bottom: 0;
	left: 0;
	transition: all 0.2s ease;
	background-color: rgba(0, 0, 0, 0);
}

.product-slider-nav .slider-cell.is-selected:after {
	background-color: rgba(0, 0, 0, 0.5);
}

.product-slider-nav .slider-cell:only-child {
	display: none;
}

.product .product-slider-nav {
	margin-top: 8px;
	display: grid;
	grid-gap: 8px;
	grid-template-columns: repeat(auto-fill, minmax(100px, auto));
	grid-auto-flow: row dense;
}

.product .product-slider-nav .slider-cell {
	width: auto;
}

.product .product-slider-nav .slider-cell.screen {
	display: none;
}

.product .product-slider-nav + .entry-title {
	margin-top: 40px;
}

.full-screen .product-slider-nav {
	position: fixed;
	right: 0;
	bottom: 0;
	left: 0;
	padding: 8px;
	height: 64px;
	background: white;
}

.full-screen .product-slider-nav .flickity-slider .slider-cell + * {
	margin-left: 8px;
}

.full-screen .product-slider-nav .flickity-slider .slider-cell img {
	max-width: none;
}

.single-product {
	background-color: #ebebeb;
}

.single-product .type-product > .entry-title {
	text-transform: uppercase;
}

.single-product .type-product > .entry-title:first-child {
	margin-top: -1em;
}

.single-product .type-product .entry-content .product-content {
	max-width: 572px;
	padding-right: 16.091954023%;
}

.single-product .type-product .entry-content h2 {
	margin-bottom: 0;
}

@media (min-width: 1020px) {
	.single-product .type-product .entry-content {
		display: grid;
		grid-template-areas: 'main main main sidebar';
		grid-template-columns: 1fr 1fr 1fr 1fr;
		grid-gap: 12px;
	}
	.single-product .type-product .entry-content .product-content {
		grid-area: main;
	}
	.single-product
		.type-product
		.entry-content
		.product-content
		> *:first-child {
		margin-top: 0;
	}
	.single-product
		.type-product
		.entry-content
		.product-content
		> *:last-child {
		margin-bottom: 0;
	}
	.single-product .type-product .entry-content .product-aside {
		grid-area: sidebar;
		margin-top: 0;
	}
	.single-product
		.type-product
		.entry-content
		.product-aside
		> *:first-child {
		margin-top: 0;
	}
	.single-product .type-product .entry-content .product-aside > *:last-child {
		margin-bottom: 0;
	}
}

.single-product .type-product .product-slider + .entry-title {
	margin-top: 27px;
}

.single-product .type-product section {
	margin-top: 2.8571428571em;
}

.single-product .type-product > .view-full-screen,
.single-product .type-product > .download-link {
	border: none;
	cursor: pointer;
	text-indent: -119988px;
	overflow: hidden;
	text-align: left;
	width: 18px;
	background-color: transparent;
	background-position: center;
	z-index: 1002;
	box-sizing: content-box;
	outline: none;
}

.single-product .type-product > .language-switcher {
	transform: translateX(-150px);
}

.single-product .type-product > .language-switcher .switcher-list {
	margin-top: 1px;
	line-height: 24px;
	position: absolute;
	right: 16px;
	width: 158px;
}

.single-product .type-product .view-full-screen {
	transform: translateX(-50px);
}

.is-full-screen .single-product .type-product .view-full-screen {
	transform: translateX(0);
	margin: 0;
}

.single-product .type-product .download-link {
	transform: translateX(-100px);
}

.single-product .type-product .download-link[href=''] {
	display: none;
}

.is-full-screen .single-product .type-product .download-link {
	transform: translateX(-50px);
	margin: 0;
}

.searchform {
	margin-top: 23px;
	display: flex;
	flex-flow: row nowrap;
}

.searchform [type='search'] {
	all: unset;
	border: 1px solid #999999;
	flex: 1;
	width: 100%;
	padding: 0 0.5em;
	line-height: inherit;
	font-size: 12px;
}

.searchform [type='search']:focus {
	position: relative;
	border-color: black;
}

.searchform ::-webkit-search-cancel-button,
.searchform ::-ms-clear {
	-webkit-appearance: none;
	height: 24px;
	width: 24px;
	background-position: center;
	position: absolute;
	right: 0;
}

.searchform button {
	all: unset;
	border: 1px solid #999999;
	padding: 0 0.5em;
	margin-left: -1px;
	cursor: pointer;
}

.searchform button:hover,
.searchform button:focus {
	border-color: black;
}

.archive article > *:first-child {
	margin-top: 0;
}

.archive article > *:last-child {
	margin-bottom: 0;
}

/*
    ##################################
    #                                #
    #             HEADER             #
    #                                #
    ################################## */

[id='header'] {
	position: fixed;
	top: 0;
	right: 0;
	left: 0;
	z-index: 1000;
	padding: 39px 0 44px;
	padding-left: 20px;
	padding-right: 20px;
	display: flex;
	flex-flow: row wrap;
	justify-content: center;
	pointer-events: none;
	transition: background 0s linear 0s;
}

@media (min-width: 640px) {
	[id='header'] {
		padding-left: 40px;
		padding-right: 40px;
	}
}

@media (min-width: 1260px) {
	[id='header'] {
		padding-left: 60px;
		padding-right: 60px;
	}
}

[id='header']:before {
	content: '';
	background-color: #f3f3f3;
	position: absolute;
	top: 0;
	right: 0;
	bottom: 0;
	left: 0;
	z-index: 0;
}

[id='header'] .nav,
[id='header']:before {
	pointer-events: none;
	opacity: 0;
	will-change: transform, opacity;
	transition: all 0.5s cubic-bezier(0.645, 0.045, 0.355, 1);
	transform: translate3d(0, -1em, 0);
}

[id='header'] .logo {
	text-indent: -119988px;
	overflow: hidden;
	text-align: left;
	width: 153px;
	height: 31px;
	display: block;
	background-repeat: no-repeat;
	margin-right: auto;
	margin-bottom: 24px;
	z-index: 100;
	pointer-events: auto;
	will-change: transform, opacity;
	transition: all 0.5s cubic-bezier(0.645, 0.045, 0.355, 1);
}

.scrolled [id='header'] .logo {
	opacity: 0;
	transform: translate3d(0, -1em, 0);
	pointer-events: none;
}

.nav-open [id='header'] {
	position: fixed;
	max-height: 100%;
	box-sizing: border-box;
	-webkit-overflow-scrolling: touch;
	overflow: auto;
	pointer-events: auto;
	background-color: #f3f3f3;
	transition-delay: 0.5s;
}

.nav-open [id='header'] .logo,
.nav-open [id='header'] .nav,
.nav-open [id='header']:before {
	opacity: 1;
	transform: translate3d(0, 0, 0);
	pointer-events: auto;
}

.nav-open [id='header'] .nav-toggle {
	transform: translate3d(0, 0, 0);
	-webkit-backface-visibility: hidden;
	backface-visibility: hidden;
}

[id='header'] .menu > .menu-item {
	margin-top: 12px;
	margin-bottom: 12px;
}

@media (max-width: 359px) {
	[id='header'] .nav-toggle {
		font: 0/0 serif;
		text-shadow: none;
		color: transparent;
	}
}

body:not(.home) [id='header'] .nav-toggle,
.nav-open [id='header'] .nav-toggle,
.scrolled [id='header'] .nav-toggle {
	color: rgba(0, 0, 0, 0);
}

[id='header'] .language-switcher {
	position: absolute;
	top: 0;
	right: 54px;
	pointer-events: none;
	z-index: 99;
	padding-top: 50px;
	padding-bottom: 50px;
	padding-left: 16px;
	padding-right: 16px;
	margin-left: 4px;
	margin-right: 4px;
}

@media (min-width: 360px) {
	[id='header'] .language-switcher {
		right: 100px;
	}
}

@media (min-width: 640px) {
	[id='header'] .language-switcher {
		margin-left: 24px;
		margin-right: 24px;
	}
}

@media (min-width: 1260px) {
	[id='header'] .language-switcher {
		margin-left: 44px;
		margin-right: 44px;
	}
}

@media (min-width: 1288px) {
	[id='header'] .logo {
		position: absolute;
		top: 40px;
		left: 60px;
	}
}

/*
    ##################################
    #                                #
    #               NAV               #
    #                                #
    ################################## */

[id='nav'] {
	font-size: 12px;
	font-weight: normal;
	line-height: 24px;
	width: 100%;
}

[id='nav'] ul {
	margin: 0;
	padding: 0;
	list-style-type: none;
}

[id='nav'] ul li {
	margin: 0;
}

[id='nav'] .menu {
	display: flex;
	flex-flow: row wrap;
}

[id='nav'] .menu > .menu-item {
	width: 100%;
}

[id='nav'] .menu > .menu-item > a {
	font-weight: 500;
	pointer-events: none;
}

@media (min-width: 360px) and (max-width: 1019px) {
	[id='nav'] .menu > .menu-item {
		width: calc((100% - 12px) / 2);
	}
	[id='nav'] .menu > .menu-item:not(:nth-child(2n)) {
		margin-right: calc(12px);
	}
}

@media (min-width: 1020px) {
	[id='nav'] .menu > .menu-item {
		width: calc((100% - 12px * 3) / 4);
	}
	[id='nav'] .menu > .menu-item:not(:nth-child(4n)) {
		margin-right: calc(12px);
	}
}

@media (min-width: 1288px) {
	[id='nav'] {
		max-width: 1156px;
		width: 66.4367816092%;
		margin-top: -5px;
	}
}

[id='nav'] .menu-item > a {
	position: relative;
}

[id='nav'] .menu-item > a:before {
	content: '';
	position: absolute;
	top: 100%;
	right: 0;
	left: 0;
	border-top: 1px solid transparent;
}

[id='nav'] a:hover,
[id='nav'] a:focus,
[id='nav'] .current-menu-item a {
	outline: none;
}

[id='nav'] a:hover:before,
[id='nav'] a:focus:before,
[id='nav'] .current-menu-item a:before {
	border-color: #bfbfbf;
}

/*
    ##################################
    #                                #
    #              MAIN              #
    #                                #
    ################################## */

body:not(.home) [id='main'] {
	padding-left: 20px;
	padding-right: 20px;
	padding-top: 120px;
	padding-bottom: 98px;
}

@media (min-width: 640px) {
	body:not(.home) [id='main'] {
		padding-left: 40px;
		padding-right: 40px;
	}
}

@media (min-width: 1260px) {
	body:not(.home) [id='main'] {
		padding-left: 60px;
		padding-right: 60px;
	}
}

@media (min-width: 1288px) {
	body:not(.home) [id='main'] {
		padding-top: 60px;
	}
	body:not(.home) [id='main'] > * {
		max-width: 1156px;
		width: 66.4367816092%;
		margin-left: auto;
		margin-right: auto;
	}
}

[id='main'] .entry-summary a,
[id='main'] .entry-content a,
[id='main'] .more-link,
[id='main'] .intro-caption a {
	position: relative;
}

[id='main'] .entry-summary a:before,
[id='main'] .entry-content a:before,
[id='main'] .more-link:before,
[id='main'] .intro-caption a:before {
	content: '';
	position: absolute;
	top: 100%;
	right: 0;
	left: 0;
	border-top: 1px solid #bfbfbf;
}

[id='main'] .entry-summary a:hover:before,
[id='main'] .entry-content a:hover:before,
[id='main'] .more-link:hover:before,
[id='main'] .intro-caption a:hover:before {
	border-color: black;
}

[id='main'] .more-link,
[id='main'] .intro-caption a,
[id='main'] .entry-summary a {
	font-size: 12px;
}

/*
    ##################################
    #                                #
    #             FOOTER             #
    #                                #
    ################################## */

[id='footer'] {
	margin-top: auto;
	display: flex;
	flex-flow: row wrap;
	background-color: #f3f3f3;
	font-size: 12px;
	line-height: 20px;
	letter-spacing: 0.01em;
	padding-left: 20px;
	padding-right: 20px;
	padding-top: 26px;
	padding-bottom: 26px;
}

@media (min-width: 640px) {
	[id='footer'] {
		padding-left: 40px;
		padding-right: 40px;
	}
}

@media (min-width: 1260px) {
	[id='footer'] {
		padding-left: 60px;
		padding-right: 60px;
	}
}

[id='footer'] .logo,
[id='footer'] .widget,
[id='footer'] .privacy-policy-link {
	margin-top: 24px;
	margin-bottom: 24px;
}

[id='footer'] .widget-area {
	display: flex;
	flex-flow: row wrap;
	width: 100%;
	margin: 0 auto;
}

[id='footer'] .widget {
	width: 100%;
}

@media (min-width: 360px) and (max-width: 1019px) {
	[id='footer'] .widget {
		width: calc((100% - 12px) / 2);
	}
	[id='footer'] .widget:not(:nth-child(2n)) {
		margin-right: calc(12px);
	}
}

@media (min-width: 1020px) {
	[id='footer'] .widget {
		width: calc((100% - 12px * 3) / 4);
	}
	[id='footer'] .widget:not(:nth-child(4n)) {
		margin-right: calc(12px);
	}
}

[id='footer'] .textwidget > *:first-child {
	margin-top: 0;
}

[id='footer'] .textwidget > *:last-child {
	margin-bottom: 0;
}

@media (min-width: 1288px) {
	[id='footer'] .logo {
		position: absolute;
		left: 60px;
	}
	[id='footer'] .widget-area {
		max-width: 1156px;
		width: 66.4367816092%;
	}
	[id='footer'] .privacy-policy-link {
		position: absolute;
		right: 60px;
	}
}

[id='footer'] .textwidget a {
	position: relative;
}

[id='footer'] .textwidget a:before {
	content: '';
	position: absolute;
	top: 100%;
	right: 0;
	left: 0;
	border-top: 1px solid #999999;
}

[id='footer'] .textwidget a:hover:before {
	border-color: black;
}

[id='footer'] p {
	margin: 1.2em 0;
}

.scroll-top {
	position: fixed;
	right: 0;
	bottom: 0;
	padding-top: 45px;
	padding-bottom: 45px;
	width: 24px;
	height: 14px;
	padding-left: 20px;
	padding-right: 20px;
	background-position: center;
	text-indent: -119988px;
	overflow: hidden;
	text-align: left;
	display: none;
}

@media (min-width: 640px) {
	.scroll-top {
		padding-left: 40px;
		padding-right: 40px;
	}
}

@media (min-width: 1260px) {
	.scroll-top {
		padding-left: 60px;
		padding-right: 60px;
	}
}

.below-fold .scroll-top {
	display: block;
}

/*
    ##################################
    #                                #
    #           WP PLUGINS           #
    #                                #
    ################################## */

/* WP Search Suggest */

.ac_results {
	border: 1px solid #666666;
	margin: -1px 0 0 0;
	display: none;
	list-style: none;
	padding: 0;
	position: absolute;
	z-index: 10000;
	background-color: #f3f3f3;
}

.ac_results li {
	padding: 0 0.5em;
	line-height: 24px;
	font-size: 12px;
	text-align: left;
	white-space: nowrap;
}

.ac_over {
	background-color: #e5e5e5;
	cursor: pointer;
}

.ac_match {
	font-weight: bold;
}
