@import 'font-awesome.min.css';
@import 'all.min.css';

@font-face {
  font-display: swap; 
  font-family: 'Cardo';
  font-style: normal;
  font-weight: 400;
  src: url('../fonts/cardo-v21-latin-regular.woff2') format('woff2'); 
}
@font-face {
  font-display: swap; 
  font-family: 'Cardo';
  font-style: italic;
  font-weight: 400;
  src: url('../fonts/cardo-v21-latin-italic.woff2') format('woff2'); 
}
@font-face {
  font-display: swap; 
  font-family: 'Cardo';
  font-style: normal;
  font-weight: 700;
  src: url('../fonts/cardo-v21-latin-700.woff2') format('woff2'); 
}
@font-face {
	font-display: swap;
	font-family: 'Montserrat';
	font-style: normal;
	font-weight: 400;
	src: url('../fonts/montserrat-v25-latin-regular.eot'); 
	src: local(''),
       url('../fonts/montserrat-v25-latin-regular.eot?#iefix') format('embedded-opentype'), /* IE6-IE8 */
       url('../fonts/montserrat-v25-latin-regular.woff2') format('woff2'), 
       url('../fonts/montserrat-v25-latin-regular.woff') format('woff'), 
       url('../fonts/montserrat-v25-latin-regular.ttf') format('truetype'), 
       url('../fonts/montserrat-v25-latin-regular.svg#Montserrat') format('svg'); 
}
@font-face {
	font-display: swap;
	font-family: 'Montserrat';
	font-style: normal;
	font-weight: 700;
	src: url('../fonts/montserrat-v25-latin-700.eot'); 
	src: local(''),
       url('../fonts/montserrat-v25-latin-700.eot?#iefix') format('embedded-opentype'), 
       url('../fonts/montserrat-v25-latin-700.woff2') format('woff2'), 
       url('../fonts/montserrat-v25-latin-700.woff') format('woff'), 
       url('../fonts/montserrat-v25-latin-700.ttf') format('truetype'), 
       url('../fonts/montserrat-v25-latin-700.svg#Montserrat') format('svg'); 
}
@font-face {
	font-display: swap;
	font-family: 'Montserrat';
	font-style: italic;
	font-weight: 400;
	src: url('../fonts/montserrat-v25-latin-italic.eot'); 
	src: local(''),
       url('../fonts/montserrat-v25-latin-italic.eot?#iefix') format('embedded-opentype'), /* IE6-IE8 */
       url('../fonts/montserrat-v25-latin-italic.woff2') format('woff2'), 
       url('../fonts/montserrat-v25-latin-italic.woff') format('woff'), 
       url('../fonts/montserrat-v25-latin-italic.ttf') format('truetype'), 
       url('../fonts/montserrat-v25-latin-italic.svg#Montserrat') format('svg'); 
}
@font-face {
	font-display: swap;
	font-family: 'Montserrat';
	font-style: italic;
	font-weight: 700;
	src: url('../fonts/montserrat-v25-latin-700italic.eot'); 
	src: local(''),
       url('../fonts/montserrat-v25-latin-700italic.eot?#iefix') format('embedded-opentype'), /* IE6-IE8 */
       url('../fonts/montserrat-v25-latin-700italic.woff2') format('woff2'), 
       url('../fonts/montserrat-v25-latin-700italic.woff') format('woff'), 
       url('../fonts/montserrat-v25-latin-700italic.ttf') format('truetype'), 
       url('../fonts/montserrat-v25-latin-700italic.svg#Montserrat') format('svg'); 
}
@font-face {
	font-display: swap; 
	font-family: 'Great Vibes';
	font-style: normal;
	font-weight: 400;
	src: url('../fonts/great-vibes-v21-latin-regular.woff2') format('woff2'); 
}


html {
	font-size: 16px;
}
body {
	--isNeonGreen: rgb(182,255,21);
	--isBlack: #000000;
	--isWhite: #ffffff;
	--isMagenta: #e6007e;
	font-family: 'Montserrat', sans-serif;
	color: var(--isBlack);
	line-height: 1;
	font-size: 16px;
	background-color: var(--isWhite);
}

h1, h2, h3, h4, h5, h6, p, ol, ul {
	font-family: 'Montserrat';
	display: block;
	clear: both;
	-moz-hyphens: manual;
	hyphens: manual;
}
h2 {
	text-transform: uppercase;
	font-size: 1.74em;
	margin: 1em 0;
	line-height: 1.1;
	text-align: center;
}
h3 {
	text-transform: uppercase;
	font-size: 1.4em;
	margin: 1em 0 .75em 0;
	line-height: 1.15;
	text-align: center;
}
h4 {
	text-transform: uppercase;
	font-size: 1.2em;
	margin: 1em 0 .75em 0;
	line-height: 1.3;
	text-align: center;
}
p, ol, ul {
	font-family: 'Cardo';
	font-size: 1em;
	margin: 1em 0;
	line-height: 1.5;
	text-align: center;
}
p.isLarge {
	font-size: 1.25em;
	line-height: 1.3;
}
ol {
	padding: 0 0 0 1em;
}
ul {
	padding: 0;
	list-style: none;
	list-style-type: none;
}
.col li::before {
	content: '–';
	display: inline-block;
	margin-right: .5em;
}
b, strong {
	font-weight: 700;
}
a {
	color: inherit;
	text-decoration: none;	
	transition: all 0.2s ease-in-out;
}
button, [type="button"], [type="reset"], [type="submit"] {
	-webkit-appearance: none;
	outline: none;
	transition: all 0.2s ease-in-out;
	cursor: pointer;
}
a.button, button, [type="button"], [type="reset"], [type="submit"] {
	font-family: 'Montserrat', sans-serif;
	display: inline-flex;
	align-items: center;
	justify-content: center;
	font-size: .85em;
	line-height: 1.5;
	padding: .5em 1.5em;
	border: 1px solid #000;
	background-color: transparent;
	color: #000;
	font-weight: 700;
	text-transform: uppercase;
	border-radius: 0;
	height: 1.5em;
}
[type="submit"] {
	height: auto;
}
.modul-teaser-hover a.button, .entry-header a.button, .site-header a.button, section.isDark a.button, section.isDark button, section.isDark [type="button"], section.isDark [type="reset"], section.isDark [type="submit"], section.isDarkPattern a.button, section.isDarkPattern button, section.isDarkPattern [type="button"], section.isDarkPattern [type="reset"], section.isDarkPattern [type="submit"] {
	border: 1px solid #fff;
	background-color: transparent;
	color: #fff;
}
a.button:hover, button:hover, [type="button"]:hover, [type="reset"]:hover, [type="submit"]:hover {
	color: #fff;
	background-color: #000;
}
.modul-teaser-hover a.button:hover, .entry-header a.button:hover, .site-header a.button:hover, section.isDark a.button:hover, section.isDark button:hover, section.isDark [type="button"]:hover, section.isDark [type="reset"]:hover, section.isDark [type="submit"]:hover {
	color: #000;
	background-color: #fff;
}
.site-header a.button-neongreen {
	border: 1px solid var(--isNeonGreen);
	background-color: var(--isNeonGreen);
	color: #000;
} 
.site-header a.button-neongreen:hover {
	border: 1px solid #fff;
	background-color: #fff;
} 
p:has(a.button) {
	margin-top: 3em;
}
p:has(a.button) a.button {
	margin-right: .5rem;
	margin-bottom: .5rem;
}
a.button-square {
	padding: .5em;
	width: 1.5em;
}
a.button-phone::before {
	font-family: FontAwesome;
	margin-right: .5em;
	content: '\f095';
}
a.button-mail::before {
	font-family: FontAwesome;
	margin-right: .5em;
	content: '\f003';
}
a.button-contact::before {
	font-family: FontAwesome;
	margin-right: .5em;
	content: '\f11c';
}
a.arrow-link {
	margin-right: 2em;
}
a.arrow-link:last-child {
	margin-right: 0;
}
a.arrow-link:hover {
	opacity: .5;
}
a.arrow-link::before {
	font-family: FontAwesome;
	content: '\f061';
	margin-left: .25em;
	margin-right: .25em;
}
a.instagram-icon {
	content: '';
}
a.instagram-icon::before {
	font-family: FontAwesome;
	content: '\f16d';
	font-size: 3em;
}


.d21-input,
input, select, textarea, option {
	font-family: 'Montserrat', sans-serif;
	font-size: 1em;
	line-height: 1.5;
}
p.isSubline {
	font-family: 'Cardo';
	line-height: 1.34;
	text-transform: uppercase;
	margin-bottom: .25em;
}
label {
	font-size: 1em;
	line-height: 1.5;
	font-weight: 400;
}
.sig p {
}
span.isLowercase {
	text-transform: lowercase;
}
span.isUppercase {
	text-transform: uppercase;
}

@media only screen and (min-width: 480px) {
	html {
		font-size: 20px;
	}
	body {
		font-size: 16.5px;
	}
	h2 {
		font-size: 2.16em;
	}
	h3 {
		font-size: 1.6em;
	}
	h4 {
		font-size: 1.3em;
	}
}
@media only screen and (min-width: 640px) {
	html {
		font-size: 24px;
	}
	body {
		font-size: 17px;
	}
	h2 {
		font-size: 2.58em;
	}
	h3 {
		font-size: 1.8em;
	}
	h4 {
		font-size: 1.4em;
	}
}
@media only screen and (min-width: 800px) {
	html {
		font-size: 28px;
	}
	body {
		font-size: 17.5px;
	}
	h2 {
		font-size: 3em;
	}
	h3 {
		font-size: 2em;
	}
	h4 {
		font-size: 1.5em;
	}
}
@media only screen and (min-width: 960px) {
	html {
		font-size: 32px;
	}
	body {
		font-size: 18px;
	}
}
@media only screen and (min-width: 1120px) {
	html {
		font-size: 36px;
	}
	body {
		font-size: 18.5px;
	}
}
@media only screen and (min-width: 1280px) {
	html {
		font-size: 40px;
	}
	body {
		font-size: 19px;
	}
}

h1:first-child,
h2:first-child,
h3:first-child,
h4:first-child,
h5:first-child,
h6:first-child,
p:first-child,
ol:first-child,
ul:first-child,
form:first-child {
	margin-top: 0;
}
h1:last-child,
h2:last-child,
h3:last-child,
h4:last-child,
h5:last-child,
h6:last-child,
p:last-child,
ol:last-child,
ul:last-child,
form:last-child {
	margin-bottom: 0;
}