:root {
    --black: #000000;
    --white: #FFFFFF;
    --gray: #2F3E46;
    --beige: #F1EEE9;
    --gold: #DAA520;
    --def-trans: .3s ease all;
    --container-width: max(1680px, 90vw);
    --grid-gap: max(1rem, 0.9375vw);
    --grid-margin: max(
        0px,
        calc((100vw - var(--container-width) - (2 * var(--grid-gap))) / 2)
    );
    --grid-padding: calc(var(--grid-gap) + var(--grid-margin));
    --m-small: max(32px, 5vw);
    --m-medium: max(64px, 10vw);
    --m-large: max(76px, 11.875vw);
    --fs-16: max(16px, 0.625vw);
    --fs-18: max(16px, 0.703125vw);
    --fs-20: max(16px, 0.78125vw);
    --fs-30: max(20px, 1.171875vw);
    --fs-40: max(24px, 1.5625vw);
    --fs-50: max(26px, 1.953125vw);
    --fs-80:  max(32px, 3.125vw);
    --header-init-height: calc(max(24px, 2.1875vw) + (max(24px, 2.1875vw) * 2));
    /* --header-height: calc(max(24px, 2.1875vw) + (max(12px, 0.859375vw) * 2)); */
    --header-height: calc((var(--fs-18)* 1.66) + (max(16px, 1.25vw) * 2))
}

* {
    scroll-margin-top: var(--header-height);
}

html {
    scroll-behavior: smooth;
}

body, html {
    font-family: "Exo 2";
    font-weight: 400;
    font-size: var(--fs-20);
    letter-spacing: 0;
}

.site-main {
    position: relative;
    z-index: 1;
}

body:not(.home) .site-main {
    padding-top: var(--header-height);
}

p {
    line-height: 1.2;
    margin: 0;
}

p:not(:last-child) {
    margin-bottom: 1.2em;
}

body, input, select, optgroup, textarea {
    color: var(--gray);
}

h1, h2, h3, h4, h5, h6 {
    font-family: "Conigen";
    margin: 0;
}

h1, .h1 {
    font-size: var(--fs-50);
    font-weight: 400;
    letter-spacing: 0;
    line-height: 1.3;
}

h2, .h2 {
    font-size: var(--fs-50);
    font-weight: 500;
    letter-spacing: 0;
    line-height: 1.3;
}

h3, .h3 {
    font-size: var(--fs-40);
    font-weight: 500;
    letter-spacing: 0;
    line-height: 1.375;
}

h4, .h4 {
    font-size: var(--fs-30);
    font-weight: 600;
    letter-spacing: .15em;
    line-height: 1.33;
}

h5, .h5 {
    font-size: var(--fs-20);
    font-weight: 600;
    letter-spacing: .15em;
    line-height: 1.35;
}

h6, .h6 {
    font-size: var(--fs-18);
    font-weight: 800;
    letter-spacing: .15em;
    line-height: 1.38;
}

.pre-headline,
.sub-headline {
    font-family: "Conigen";
    font-size: var(--fs-16);
    font-weight: 400;
    letter-spacing: .15em;
    line-height: 1.3125;
}

.form-title, .wapf-field-label {
    font-family: "Conigen";
    font-size: var(--fs-18);
    font-weight: 600;
    letter-spacing:0;
    line-height: 1.38;
    text-transform: uppercase;
}

ul, ol {
    margin: 0;
    padding: 0;
    list-style: none;
}

a, a:hover, a:focus, a:active {
    color: inherit;
    text-decoration: none;
}

a {
    transition: color .3s ease;
    width: fit-content;
    height: fit-content;
}

a:hover {
    transition: color .3s ease;
}

button {
    cursor: pointer;
    border: 0;
    border-radius: 0;
    background: none;
    padding: 0;
}

.position-relative {
    position: relative;
}

.position-absolute {
    position: absolute;
}

.position-fixed {
    position: fixed;
}

.position-sticky {
    position: sticky;
}

.full-width-grid {
    display: grid;
    grid-template-columns: var(--grid-margin) repeat(12, 1fr) var(--grid-margin);
    grid-column-gap: var(--grid-gap);
}

.d-grid {
    display: grid;
}

.d-flex {
    display: flex;
}

.d-none {
    display: none;
}

.justify-content-center {
    justify-content: center;
}
  
.justify-content-between {
    justify-content: space-between;
}
  
.justify-content-end {
    justify-content: flex-end;
}
  
.justify-self-center {
    justify-self: center;
}
  
.justify-self-end {
    justify-self: flex-end;
}
  
.align-items-center {
    align-items: center;
}
  
.align-items-end {
    align-items: flex-end;
}
  
.align-self-start {
    align-self: flex-start;
}
  
.align-self-end {
    align-self: flex-end;
}

.flex-column {
    flex-direction: column;
}

.flex-row {
    flex-direction: row;
}

.container {
    margin-left: calc(var(--grid-margin) + var(--grid-gap));
    margin-right: calc(var(--grid-margin) + var(--grid-gap));
    width: calc(100% - ((var(--grid-margin) + var(--grid-gap)) * 2));
}

.mb-small {
    margin-bottom: var(--m-small);
}
  
.mb-medium {
    margin-bottom: var(--m-medium);
}

.mb-large {
    margin-bottom: var(--m-large);
}

.mt-small {
    margin-top: var(--m-small);
}
  
.mt-medium {
    margin-top: var(--m-medium);
}

.mt-large {
    margin-top: var(--m-large);
}

.text-left {
    text-align: left;
}

.text-center {
    text-align: center;
}

.text-right {
    text-align: right;
}

.text-lowercase {
    text-transform: lowercase;
}

.text-uppercase {
    text-transform: uppercase;
}

.page-content,
.entry-content, 
.entry-summary,
.post, .page {
    margin: 0;
}

.site {
    display: flex;
    flex-direction: column;
    min-height: 100vh;
}

.site .site-main {
    flex-grow: 1;
}

.img-container,
.media-container {
    line-height: 0;
    background: #ccc;
}

.img-container img,
.media-container img,
.media-container video {
    width: 100%;
    height: 100%;
    object-fit: cover;
}

/* Buttons */
.default-btn,
.slidecount,
.button {
    font-family: "Conigen";
    font-size: var(--fs-18);
    font-weight: 600;
    letter-spacing: .15em;
    line-height: 1;
    height: fit-content;
    width: fit-content;
    text-transform: uppercase;
    color: var(--gray);
    background: var(--beige);
    border-radius: 100vmin;
    border: 2px solid currentColor;
    box-shadow: 3px 3px currentColor;
    transition: var(--def-trans);
}

.default-btn.dark,
.slidecount.dark {
    color: var(--beige);
    background: var(--gray);
}

.default-btn,
.button {
    /* padding: 1em 1.7em 1em 1.5em; */
    padding: max(8px, 0.703125vw) max(16px, 1.25vw);
}

.gold {
    color: var(--gold);
}

.slidecount {
    padding: max(8px, 0.625vw) max(12px, 0.9375vw);
}

a.default-btn:hover,
button.default-btn:hover,
input.default-btn:hover {
    box-shadow: 0px 0px currentColor;
    transform: translate(4px, 4px);
    transition: var(--def-trans);
}

.has-arrow-after {
    position: relative;
    margin-right: calc(4em + 4px);
}

.has-arrow-after::after {
    content: '';
    background-color: var(--beige);
    background-image: url(../img/double-arrow-right.svg);
    background-size: 45%;
    background-position: 58% center;
    background-repeat: no-repeat;
    padding: 0;
    border: 2px solid currentColor;
    box-shadow: 4px 4px currentColor;
    position: absolute;
    border-radius: 100vmin;
    left: 100%;
    top: -2px;
    height: calc(var(--fs-18) + max(16px, 1.25vw) + 4px);
    aspect-ratio: 1/1;
    margin-left: 1em;
    transition: var(--def-trans);
}

.has-arrow-after.dark::after {
    background-color: var(--gray);
    color: var(--beige);
    background-image: url(../img/double-arrow-right-w.svg);
}

.has-arrow-after:hover::after {
    box-shadow: 0px 0px currentColor;
    transition: var(--def-trans);
}

.next-btn,
.arrow-btn,
.prev-btn {
    content: '';
    color: var(--gray);
    background-color: var(--beige);
    background-image: url(../img/double-arrow-right.svg);
    background-size: 45%;
    background-position: 58% center;
    background-repeat: no-repeat;
    border: 2px solid currentColor;
    box-shadow: 4px 4px currentColor;
    border-radius: 100vmin;
    height: calc(var(--fs-18) + max(16px, 1.25vw) + 4px);
    aspect-ratio: 1/1;
    cursor: pointer;
    transition: var(--def-trans);
}

.prev-btn {
    background-image: url(../img/double-arrow-left.svg);
}

.next-btn.dark,
.arrow-btn.dark {
    color: var(--beige);
    background-color: var(--gray);
    background-image: url(../img/double-arrow-right-w.svg);
}

.prev-btn.gold {
    color: var(--gold);
    background-color: var(--beige);
    background-image: url(../img/double-arrow-left-gold.svg);
}

.next-btn.gold {
    color: var(--gold);
    background-color: var(--beige);
    background-image: url(../img/double-arrow-right-gold.svg);
}

.next-btn:hover,
.arrow-btn:hover,
.prev-btn:hover {
    box-shadow: 0px 0px currentColor;
    transform: translate(4px, 4px);
    transition: var(--def-trans);
}

.btn-gray,
.btn-beige,
.btn-gold {
    font-family: "Conigen";
    font-size: var(--fs-18);
    font-weight: 600;
    letter-spacing: .15em;
    line-height: 1.4;
    text-transform: uppercase;
    background: var(--gray);
    color: var(--beige);
    padding: .5em 1.1em;
    border-radius: 100vmin;
}

.btn-gray {
    background: var(--gray);
    color: var(--beige);
}

.btn-beige {
    background: var(--beige);
    color: var(--gray);
}

.btn-gold {
    background: var(--gold);
    color: var(--white);
}

.slider-nav button:not(:last-child) {
    margin-right: max(16px, 1.25vw);
}

/* Icons */
.icon {
    display: flex;
    mask-size: contain;
    -webkit-mask-size: contain;
    mask-repeat: no-repeat;
    -webkit-mask-repeat: no-repeat;
    background: currentColor;
    height: 1em;
}

.icon.nill {
    mask-image: url(../img/nill.svg);
    -webkit-mask-image: url(../img/nill.svg);
    height: 1em;
    transform: translateY(.2em);
    aspect-ratio: 28/20;
}

.icon.facebook {
    mask-image: url(../img/fb.svg);
    -webkit-mask-image: url(../img/fb.svg);
    height: max(24px, 1.40625vw);
    aspect-ratio: 1/1;
}

.icon.instagram {
    mask-image: url(../img/ig.svg);
    -webkit-mask-image: url(../img/ig.svg);
    height: max(24px, 1.40625vw);
    aspect-ratio: 1/1;
}

.icon.tiktok {
    mask-image: url(../img/tiktok.svg);
    -webkit-mask-image: url(../img/tiktok.svg);
    height: max(24px, 1.40625vw);
    aspect-ratio: 1/1;
}

.icon.visa {
    mask-image: url(../img/visa.svg);
    -webkit-mask-image: url(../img/visa.svg);
    aspect-ratio: 62/19;
}

.icon.paypal {
    mask-image: url(../img/paypal.svg);
    -webkit-mask-image: url(../img/paypal.svg);
    aspect-ratio: 75/20;
}

.icon.mastercard {
    mask-image: url(../img/mastercard.svg);
    -webkit-mask-image: url(../img/mastercard.svg);
    aspect-ratio: 40/24;
}

.icon.klarna {
    mask-image: url(../img/klarna.svg);
    -webkit-mask-image: url(../img/klarna.svg);
    aspect-ratio: 30/25;
}

/* Accordion */
.accordion {
    width: 100%;
}

.accordion .accordion-item {
    border-bottom: 1px solid;
}

.accordion .accordion-item .accordion-title {
    font-family: "Conigen";
    font-size: var(--fs-20);
    font-weight: 400;
    line-height: 1.4;
    padding: max(16px, 1.25vw) 0;
    cursor: pointer;
}

.accordion .accordion-item .accordion-title::before {
    content: counter(item-counter, decimal-leading-zero);
    counter-increment: item-counter;
    font-size: var(--fs-18);
    font-weight: 600;
    letter-spacing: .15em;
    margin-right: max(24px, 1.875vw);
}

.accordion .accordion-item .accordion-title::after {
    content: "";
    display: inline-block;
    background-image: url(../img/double-arrow-right.svg);
    background-size: contain;
    background-repeat: no-repeat;
    height: 1.5em;
    aspect-ratio: 46/47;
    margin-left: auto;
    transition: var(--def-trans);
}

.accordion .accordion-item.active .accordion-title::after {
    transform: rotate(90deg);
    transition: var(--def-trans);
}

/* Forms */
input[type="text"],
input[type="email"],
input[type="tel"],
input[type="file"],
.file-upload-label,
textarea,
input[type="number"] {
    font-family: "Conigen";
    font-size: var(--fs-18);
    font-weight: 600;
    letter-spacing: 0;
    line-height: 1.4;
    padding: max(12px, 0.78125vw) max(16px, 1.171875vw);
    border: 1px solid var(--gray);
    outline: 0 none;
    border-radius: 2em;
    color: var(--gray);
    resize: none;
    width: 100%;
}

input[type="text"]::placeholder,
input[type="email"]::placeholder,
input[type="tel"]::placeholder,
textarea::placeholder {
    color: var(--gray);
    opacity: 1;
}

input[type="checkbox"] {
    width: 20px;
    height: 20px;
    padding: 0;
    margin: 0;
    margin-right: 12px;
    -webkit-appearance: none;
    appearance: none;
    background-color: var(--white);
    border: 1px solid currentColor;
    border-radius: 3px;
    display: grid;
    place-content: center;
    cursor: pointer;
}

input[type="checkbox"]::before {
    content: "";
    width: 1em;
    height: 1em;
    border-radius: 3px;
    transform: scale(0);
    transition: var(--def-trans);
    background: var(--black);
}

input[type="checkbox"]:checked::before {
    transform: scale(1);
    transition: var(--def-trans);
}

select {
    -webkit-appearance: none;
    -moz-appearance: none;
    appearance: none;
    outline: 0;
    cursor: pointer;
    font-family: "Exo 2";
    font-size: var(--fs-18);
    font-weight: 400;
    letter-spacing: 0;
    line-height: 1.2;
    padding:  1.15em 1.6em;
    border: 1px solid currentColor;
    border-radius: 100vmin;
    background: url(../img/arrow-down.svg) no-repeat right 1.6em center;
    background-size: 1em;
    width: 100%;
}

select:focus {
    background: url(../img/arrow-up.svg) no-repeat right 1.6em center;
}

select::-ms-expand {
    display: none;
}

select:focus {
    outline: none;
}

.wpcf7-form-control-wrap[data-name="privacy"] label {
	display: flex;
	align-items: center;
}

.wpcf7-list-item {
	margin: 0;
}

/* CookieYes */
.cky-consent-container {
	position: fixed;
	top: 50% !important;
	left: 50% !important;
	transform: translate(-50%,-50%);
	bottom: auto !important
}

.cky-btn-customize, .cky-btn-reject, .cky-btn-preferences, .cky-btn-accept {
	color: var(--gray) !important;
	border-color: var(--gray) !important;
	font-family: "Conigen" !important;
	font-size: var(--fs-18) !important;
	font-weight: 600 !important;
	letter-spacing: .15em !important;
	line-height: 1 !important;
	height: fit-content !important;
	width: fit-content !important;
	text-transform: uppercase !important;
	color: var(--gray) !important;
	background: var(--beige) !important;
	border-radius: 100vmin !important;
	border: 2px solid currentColor !important;
	box-shadow: 3px 3px currentColor !important;
	transition: var(--def-trans) !important;
}