﻿
/* variables */
:root {
	--font-weight--inherit: inherit;
	--font-weight--100: 100;
	--font-weight--200: 200;
	--font-weight--300: 300;
	--font-weight--400: 400;
	--font-weight--500: 500;
	--font-weight--600: 600;
	--font-weight--700: 700;
	--font-weight--800: 800;
	--font-weight--900: 900;
	--text-transform--none: none;
	--text-transform--uppercase: uppercase;
	--text-transform--capitalize: capitalize;
	--text-transform--lowercase: lowercase;
	--text-transform--inherit: inherit;
	--max-width--none: none;
}

/* default styles */
body {
	font-smoothing: antialiased;
	-webkit-font-smoothing: antialiased;
}

h1,
h2,
h3,
h4,
h5,
h6 {
	font-size: inherit;
	line-height: inherit;
	font-weight: inherit;
}

h1,
h2,
h3,
h4,
h5,
h6,
p,
label,
blockquote {
	margin-top: 0;
	margin-bottom: 0;
}

button {
	background-color: unset;
	padding: unset;
	text-align: inherit;
	cursor: pointer;
}

img::selection {
	background: transparent;
}

:is(h1, h2, h3, h4, h5, h6, p) a {
	text-decoration: underline;
}

.w-richtext>*:first-child {
	margin-top: 0;
}

.w-richtext>*:last-child {
	margin-bottom: 0;
}

video {
	width: 100%;
	object-fit: cover;
}

video.wf-empty {
	padding: 0;
}

svg {
	display: block;
}

section,
header,
footer {
	position: relative;
}

/* line clamp */
.u-line-clamp-1,
.u-line-clamp-2,
.u-line-clamp-3,
.u-line-clamp-4 {
	display: -webkit-box;
	overflow: hidden;
	-webkit-line-clamp: 1;
	-webkit-box-orient: vertical;
}

.u-line-clamp-2 {
	-webkit-line-clamp: 2;
}

.u-line-clamp-3 {
	-webkit-line-clamp: 3;
}

.u-line-clamp-4 {
	-webkit-line-clamp: 4;
}

/* component attributes */

/* section padding */
[data-padding-top="none"] {
	padding-top: var(--padding-vertical--none);
}

[data-padding-bottom="none"] {
	padding-bottom: var(--padding-vertical--none);
}

[data-padding-top="small"] {
	padding-top: var(--padding-vertical--small);
}

[data-padding-bottom="small"] {
	padding-bottom: var(--padding-vertical--small);
}

[data-padding-top="main"] {
	padding-top: var(--padding-vertical--main);
}

[data-padding-bottom="main"] {
	padding-bottom: var(--padding-vertical--main);
}

[data-padding-top="large"] {
	padding-top: var(--padding-vertical--large);
}

[data-padding-bottom="large"] {
	padding-bottom: var(--padding-vertical--large);
}

/* hide section if it has no cms items */
[data-cms-check="true"]:not(:has(.w-dyn-item)) {
	display: none;
}

/* theme light */
:root,
[data-theme="light"],
[data-theme="dark"] [data-theme="invert"] {
	--theme--background: var(--swatch--light);
	--theme--text: var(--swatch--dark);
	--theme--border: var(--swatch--light-secondary);
	/* button primary */
	--button--background: var(--swatch--brand);
	--button--text: var(--swatch--brand-text);
	--button--border: var(--swatch--brand);
	--button--background-hover: var(--swatch--dark);
	--button--text-hover: var(--swatch--light);
	--button--border-hover: var(--swatch--dark);
	/* button secondary */
	--button-secondary--background: var(--swatch--dark-tertiary);
	--button-secondary--text: var(--swatch--light);
	--button-secondary--border: var(--swatch--dark-tertiary);
	--button-secondary--background-hover: var(--swatch--brand);
	--button-secondary--text-hover: var(--swatch--brand-text);
	--button-secondary--border-hover: var(--swatch--brand);
}

/* theme dark */
[data-theme="dark"],
[data-theme="invert"],
[data-theme="light"] [data-theme="invert"] {
	--theme--background: var(--swatch--dark);
	--theme--text: var(--swatch--light);
	--theme--border: var(--swatch--dark-secondary);
	/* button primary */
	--button--background: var(--swatch--brand);
	--button--text: var(--swatch--brand-text);
	--button--border: var(--swatch--brand);
	--button--background-hover: var(--swatch--light);
	--button--text-hover: var(--swatch--dark);
	--button--border-hover: var(--swatch--light);
	/* button secondary */
	--button-secondary--background: var(--swatch--dark-tertiary);
	--button-secondary--text: var(--swatch--light);
	--button-secondary--border: var(--swatch--dark-tertiary);
	--button-secondary--background-hover: var(--swatch--brand);
	--button-secondary--text-hover: var(--swatch--brand-text);
	--button-secondary--border-hover: var(--swatch--brand);
	/* button tertiary */
	--button-tertiary--background: var(--swatch--dark-secondary);
	--button-tertiary--text: var(--swatch--light);
	--button-tertiary--border: var(--swatch--dark-secondary);
	--button-tertiary--background-hover: var(--swatch--brand);
	--button-tertiary--text-hover: var(--swatch--brand-text);
	--button-tertiary--border-hover: var(--swatch--brand);
}

/* button secondary */
[data-button-style="secondary"] {
	--button--background: var(--button-secondary--background);
	--button--text: var(--button-secondary--text);
	--button--border: var(--button-secondary--border);
	--button--background-hover: var(--button-secondary--background-hover);
	--button--text-hover: var(--button-secondary--text-hover);
	--button--border-hover: var(--button-secondary--border-hover);
}

/* button tertiary */
[data-button-style="tertiary"] {
	--button--background: var(--button-tertiary--background);
	--button--text: var(--button-tertiary--text);
	--button--border: var(--button-tertiary--border);
	--button--background-hover: var(--button-tertiary--background-hover);
	--button--text-hover: var(--button-tertiary--text-hover);
	--button--border-hover: var(--button-tertiary--border-hover);
}

/* apply colors */
:is(c, :where([data-theme]:not([data-theme="inherit"]))) {
	background-color: var(--theme--background);
	color: var(--theme--text);
}

/* desktop */
:root {
	/* custom */
}

/* tablet */
@media screen and (max-width: 991px) {
	:root {
		/* custom */
		--padding-horizontal--main: 2rem;
		/* adaptive sizes */
		--size--2rem: 1.75rem;
		--size--2-5rem: 2.18rem;
		--size--3rem: 2.52rem;
		--size--3-5rem: 2.73rem;
		--size--4rem: 3rem;
		--size--4-5rem: 3.375rem;
		--size--5rem: 3.75rem;
		--size--5-5rem: 4.125rem;
		--size--6rem: 4.5rem;
		--size--6-5rem: 4.875rem;
		--size--7rem: 5.25rem;
		--size--7-5rem: 5.625rem;
		--size--8rem: 6rem;
		--size--8-5rem: 6.375rem;
		--size--9rem: 6.75rem;
		--size--9-5rem: 7.125rem;
		--size--10rem: 7.5rem;
		--size--11rem: 8.25rem;
		--size--12rem: 9rem;
		--size--13rem: 9.75rem;
		--size--14rem: 10.5rem;
		--size--15rem: 11.25rem;
		--size--16rem: 12rem;
	}
}

/* landscape */
@media screen and (max-width: 767px) {
	:root {
		/* custom */
		--padding-horizontal--main: 1.5rem;
		/* adaptive sizes */
		--size--2-5rem: 2rem;
		--size--3rem: 2.25rem;
		--size--3-5rem: 2.375rem;
		--size--4rem: 2.5rem;
		--size--4-5rem: 2.75rem;
		--size--5rem: 3rem;
		--size--5-5rem: 3.25rem;
		--size--6rem: 3.5rem;
		--size--6-5rem: 3.75rem;
		--size--7rem: 4rem;
		--size--7-5rem: 4.25rem;
		--size--8rem: 4.5rem;
		--size--8-5rem: 4.75rem;
		--size--9rem: 5rem;
		--size--9-5rem: 5.25rem;
		--size--10rem: 5.5rem;
		--size--11rem: 5.75rem;
		--size--12rem: 6rem;
		--size--13rem: 6.5rem;
		--size--14rem: 7rem;
		--size--15rem: 7.5rem;
		--size--16rem: 8rem;
	}
}

/* portrait */
@media screen and (max-width: 479px) {
	:root {
		/* custom */
	}
}

html {
	font-size: calc(0.625rem + 0.41666666666666663vw);
}

@media screen and (max-width:1920px) {
	html {
		font-size: calc(0.625rem + 0.41666666666666674vw);
	}
}

@media screen and (max-width:1440px) {
	html {
		font-size: calc(0.8126951092611863rem + 0.20811654526534862vw);
	}
}

@media screen and (max-width:479px) {
	html {
		font-size: calc(0.7494769874476988rem + 0.8368200836820083vw);
	}
}