/* colors */
:root {
  --white-color: #ffffff;
  --black-color: #000000;
  --primary-color: #7e848d;
  --dark-color: #7e848d;
  --accent-color: #ffe027;
  --accent-text-color: #000000;
  --rose-color: #cc9999;
  --gray-color: #999999;
  --green-color: #395551;
  --orange-color: #f58137;
  --red-color: #dd4232;
  --yellow-color: #d7af48;
  --gray-color: #737373;
  --blue-color: #205da0;
  --light-blue-color: #2a9dbe;
  --light-gray-color: #F6F5F2;
  --very-light-gray-color: #f8f8f8;
}

html,
body,
div,
span,
applet,
object,
iframe,
h1,
h2,
h3,
h4,
h5,
h6,
p,
blockquote,
pre,
a,
abbr,
acronym,
address,
big,
cite,
code,
del,
dfn,
font,
img,
ins,
kbd,
q,
s,
samp,
small,
strike,
strong,
sub,
sup,
tt,
var,
dl,
dt,
dd,
ol,
ul,
li,
fieldset,
form,
label,
legend,
table,
caption,
tbody,
tfoot,
thead,
tr,
th,
td {
  margin: 0;
  padding: 0;
  border: 0;
  outline: 0;
  font-weight: inherit;
  font-style: inherit;
  font-size: 100%;
  font-family: inherit;
  vertical-align: baseline;
}

*,
::before,
::after {
  -webkit-box-sizing: border-box;
  box-sizing: border-box;
}

html,
body {
  height: 100%;
  position: relative;
}

body {
  margin: 0 auto;
  padding: 0;
  background-color: var(--white-color);
  font-family: 'Inter Tight', 'Helvetica', arial, sans-serif;
  font-size: 18px;
  font-weight: 400;
  color: var(--black-color);
  overflow: auto;
}

h1,
.h1,
h2,
.h2,
h3,
.h3,
h4,
.h4,
h5,
.h5,
h6,
.h6,
p,
.p,
address,
ul,
ul li,
ul.list li,
ol,
#nav-main li, 
#nav-main li a, 
.nav-main li, 
.nav-main li a, 
.nav-meta li, 
.nav-meta li a, 
.hero .title, 
.hero .title span, 
.hero .title .button, 
.hero2 .title, 
.hero2 .title span, 
.hero2 .title .button, 
a.button, 
.button .wp-block-button__link, 
.news h3, 
.news p {
  margin: 0;
  padding: 0;
  font-weight: normal;
  font-style: normal;
  font-size: clamp(var(--min), var(--val), var(--max));
}

/* texts */
h1, .h1,
h2, .h2 {
  font-family: 'Inter Tight', 'Helvetica', Arial, sans-serif;
}

h1,
.h1 {
  margin-bottom: 40px;
  font-weight: 700;
  color: var(--primary-color);
  line-height: 1.1;
  letter-spacing: 1px;
  --min: 36px;
  --val: 4vw;
  --max: 64px;
}

h2,
.h2 {
  margin-bottom: 30px;
  font-weight: 300;
  color: var(--primary-color);
  line-height: 1.3;
  letter-spacing: 1px;
  text-decoration: none;
  text-transform: uppercase;
  position: relative;
  display: block;
  --min: 28px;
  --val: 4vw;
  --max: 48px;
}

h3,
.h3 {
  margin-bottom: 20px;
  font-weight: 400;
  color: var(--primary-color);
  line-height: 1.3;
  letter-spacing: 0;
  text-transform: none;
  --min: 24px;
  --val: 4vw;
  --max: 40px;
}

h4,
.h4 {
  margin-bottom: 20px;
  font-weight: 700;
  color: var(--primary-color);
  line-height: 1.3;
  letter-spacing: 0;
  --min: 22px;
  --val: 4vw;
  --max: 32px;
}

h5,
.h5 {
  margin-bottom: 20px;
  font-weight: 700;
  color: var(--primary-color);
  line-height: 1.3;
  letter-spacing: 0;
  --min: 20px;
  --val: 4vw;
  --max: 28px;
}

h6,
.h6 {
  margin-bottom: 20px;
  font-weight: 700;
  color: var(--primary-color);
  line-height: 1.3;
  letter-spacing: 1px;
  text-transform: uppercase;
  --min: 20px;
  --val: 4vw;
  --max: 24px;
}

h1 a,
h2 a,
h3 a,
h4 a,
h5 a,
h6 a {
  border-bottom: 1px solid transparent;
}

h1 a:hover,
h2 a:hover,
h3 a:hover,
h4 a:hover,
h5 a:hover,
h6 a:hover {
  border-bottom: 1px solid var(--primary-color);
}

p, 
address, 
.p {
  margin-bottom: 40px;
  font-weight: 400;
  color: var(--primary-color);
  letter-spacing: 0;
  line-height: 1.6;
  --min: 18px;
  --val: 4vw;
  --max: 20px;
}

p:last-child, 
address:last-child {
  margin: 0;
}

strong,
.bold {
  font-weight: 700;
}

p mark {
  background-color: var(--accent-color);
  padding: 10px 20px;
  font-weight: 400;
  color: var(--primary-color);
  line-height: 200%;
  -webkit-box-decoration-break: clone;
  box-decoration-break: clone;
}

p mark:hover {
  background-color: var(--accent-color);
  color: var(--primary-color);
}

/* links */
a,
a:link,
a:active,
a:visited {
  font-weight: 400;
  color: var(--primary-color);
  text-decoration: none;
  outline: 0;
  -webkit-transition: background-color 0.4s ease 0s, border 0s ease 0s, color 0.4s ease 0s, opacity 0.4s ease-in-out 0s;
  -moz-transition: background-color 0.4s ease 0s, border 0s ease 0s, color 0.4s ease 0s, opacity 0.4s ease-in-out 0s;
  -o-transition: background-color 0.4s ease 0s, border 0s ease 0s, color 0.4s ease 0s, opacity 0.4s ease-in-out 0s;
  transition: background-color 0.4s ease 0s, border 0s ease 0s, color 0.4s ease 0s, opacity 0.4s ease-in-out 0s;
  transition: all 0.2s ease-in-out;
  transition-duration: 0.5s;
}

a:hover {
  color: var(--primary-color);
  text-decoration: none;
}

/* lists */
ul { margin:0 0 40px 20px; padding:0; }
li { list-style:disc; margin:0 0 10px 0; font-size:20px; font-weight: 500; color:var(--primary-color); line-height:150%; }

/* images */
img { border:0; vertical-align:top; }
img.resize { width:100%; height:auto; }

/* meta nav */
nav#nav-meta ul { margin:0; padding:0; text-align:center; }
nav#nav-meta li { margin:0 10px 0 10px; padding:0; list-style:none; font-size: 16px; letter-spacing: 1px; line-height:1.5em; text-align:center; display:inline-block; }
nav#nav-meta li a { padding:0; font-size:16px; color:var(--primary-color); text-decoration:none; text-transform:uppercase; }
nav#nav-meta li a:hover { color: var(--accent-color); text-decoration:none; }
nav#nav-meta li.active a { font-weight:700; text-decoration:none; }

/* buttons */
.btn {
	padding: 10px 20px;
	min-width: 240px;
	background-color: var(--accent-color);
	color: var(--primary-color);
	border-color: var(--accent-color);
	border-radius: 25px;
	font-weight: 500;
	text-transform: uppercase;
	letter-spacing: 1px;
}

.btn:hover {
	background-color: var(--primary-color);
	color: var(--white-color);
	border-color: var(--primary-color);
}

/* misc */
.clear { clear:both; }
.hide-text { text-indent:100%; white-space:nowrap; overflow:hidden; }
hr.divider { height:0; margin:20px 0; background:none; color:transparent; border:0; border-bottom:1px dotted var(--primary-color); }
.nohover,
.nohover:hover {
	border: 0;
}

/* modal */
.modal-dialog {
	width: 100%;
	max-width: 800px;
}

.modal-content {
	border: 0;
	border-radius: 20px;
}

.modal-header {
	border: 0;
}

.modal-body {
	padding: 20px 40px;
}

.modal-footer {
	border: 0;
}

.modal-header .btn-close {
	outline: 0;
	--bs-btn-close-focus-shadow: 0;
}

.modal.fade .modal-dialog {
	animation-name: slideInUp;
	animation-duration: 0.5s;
	animation-timing-function: ease-out;
}

/* Animation für das Modal */
@keyframes fadeInDown {
	from {
		opacity: 0;
		transform: translateY(-50px);
	}
	to {
		opacity: 1;
		transform: translateY(0);
	}
}

@keyframes fadeInUp {
	from {
		opacity: 0;
		transform: translateY(50px);
	}
	to {
		opacity: 1;
		transform: translateY(0);
	}
}

@keyframes slideInUp {
	from {
		opacity: 0;
		transform: translateY(100%);
	}
	to {
		opacity: 1;
		transform: translateY(0);
	}
}

/* padding */
.pb-0 { padding-bottom: 0 !important; }
.pb-1 { padding-bottom: 1rem !important; }
.pb-2 { padding-bottom: 2rem !important; }
.pb-3 { padding-bottom: 4rem !important; }
.pb-4 { padding-bottom: 6rem !important; }
.pb-5 { padding-bottom: 8rem !important; }
.pt-0 { padding-top: 0 !important; }
.pt-1 { padding-top: 1rem !important; }
.pt-2 { padding-top: 2rem !important; }
.pt-3 { padding-top: 4rem !important; }
.pt-4 { padding-top: 6rem !important; }
.pt-5 { padding-top: 8rem !important; }

@media (min-width:576px) {
  .pb-sm-0 { padding-bottom: 0 !important; }
  .pb-sm-1 { padding-bottom: 1rem !important; }
  .pb-sm-2 { padding-bottom: 2rem !important; }
  .pb-sm-3 { padding-bottom: 4rem !important; }
  .pb-sm-4 { padding-bottom: 6rem !important; }
  .pb-sm-5 { padding-bottom: 8rem !important; }
  .pt-sm-0 { padding-top: 0 !important; }
  .pt-sm-1 { padding-top: 1rem !important; }
  .pt-sm-2 { padding-top: 2rem !important; }
  .pt-sm-3 { padding-top: 4rem !important; }
  .pt-sm-4 { padding-top: 6rem !important; }
  .pt-sm-5 { padding-top: 8rem !important; }
}

@media (min-width:768px) {
  .pb-md-0 { padding-bottom: 0 !important; }
  .pb-md-1 { padding-bottom: 1rem !important; }
  .pb-md-2 { padding-bottom: 2rem !important; }
  .pb-md-3 { padding-bottom: 4rem !important; }
  .pb-md-4 { padding-bottom: 6rem !important; }
  .pb-md-5 { padding-bottom: 8rem !important; }
  .pt-md-0 { padding-top: 0 !important; }
  .pt-md-1 { padding-top: 1rem !important; }
  .pt-md-2 { padding-top: 2rem !important; }
  .pt-md-3 { padding-top: 4rem !important; }
  .pt-md-4 { padding-top: 6rem !important; }
  .pt-md-5 { padding-top: 8rem !important; }
}

@media (min-width:992px) {
  .pb-lg-0 { padding-bottom: 0 !important; }
  .pb-lg-1 { padding-bottom: 1rem !important; }
  .pb-lg-2 { padding-bottom: 2rem !important; }
  .pb-lg-3 { padding-bottom: 4rem !important; }
  .pb-lg-4 { padding-bottom: 6rem !important; }
  .pb-lg-5 { padding-bottom: 8rem !important; }
  .pt-lg-0 { padding-top: 0 !important; }
  .pt-lg-1 { padding-top: 1rem !important; }
  .pt-lg-2 { padding-top: 2rem !important; }
  .pt-lg-3 { padding-top: 4rem !important; }
  .pt-lg-4 { padding-top: 6rem !important; }
  .pt-lg-5 { padding-top: 8rem !important; }
}

@media (min-width:1200px) {
  .pb-xl-0 { padding-bottom: 0 !important; }
  .pb-xl-1 { padding-bottom: 1rem !important; }
  .pb-xl-2 { padding-bottom: 2rem !important; }
  .pb-xl-3 { padding-bottom: 4rem !important; }
  .pb-xl-4 { padding-bottom: 6rem !important; }
  .pb-xl-5 { padding-bottom: 8rem !important; }
  .pt-xl-0 { padding-top: 0 !important; }
  .pt-xl-1 { padding-top: 1rem !important; }
  .pt-xl-2 { padding-top: 2rem !important; }
  .pt-xl-3 { padding-top: 4rem !important; }
  .pt-xl-4 { padding-top: 6rem !important; }
  .pt-xl-5 { padding-top: 8rem !important; }
}

/* margin */
.mb-0 { margin-bottom: 0 !important; }
.mb-1 { margin-bottom: 1rem !important; }
.mb-2 { margin-bottom: 2rem !important; }
.mb-3 { margin-bottom: 4rem !important; }
.mb-4 { margin-bottom: 6rem !important; }
.mb-5 { margin-bottom: 8rem !important; }
.mt-0 { margin-top: 0 !important; }
.mt-1 { margin-top: 1rem !important; }
.mt-2 { margin-top: 2rem !important; }
.mt-3 { margin-top: 4rem !important; }
.mt-4 { margin-top: 6rem !important; }
.mt-5 { margin-top: 8rem !important; }

@media (min-width:576px) {
  .mb-sm-0 { margin-bottom: 0 !important; }
  .mb-sm-1 { margin-bottom: 1rem !important; }
  .mb-sm-2 { margin-bottom: 2rem !important; }
  .mb-sm-3 { margin-bottom: 4rem !important; }
  .mb-sm-4 { margin-bottom: 6rem !important; }
  .mb-sm-5 { margin-bottom: 8rem !important; }
  .mt-sm-0 { margin-top: 0 !important; }
  .mt-sm-1 { margin-top: 1rem !important; }
  .mt-sm-2 { margin-top: 2rem !important; }
  .mt-sm-3 { margin-top: 4rem !important; }
  .mt-sm-4 { margin-top: 6rem !important; }
  .mt-sm-5 { margin-top: 8rem !important; }
}

@media (min-width:768px) {
  .mb-md-0 { margin-bottom: 0 !important; }
  .mb-md-1 { margin-bottom: 1rem !important; }
  .mb-md-2 { margin-bottom: 2rem !important; }
  .mb-md-3 { margin-bottom: 4rem !important; }
  .mb-md-4 { margin-bottom: 6rem !important; }
  .mb-md-5 { margin-bottom: 8rem !important; }
  .mt-md-0 { margin-top: 0 !important; }
  .mt-md-1 { margin-top: 1rem !important; }
  .mt-md-2 { margin-top: 2rem !important; }
  .mt-md-3 { margin-top: 4rem !important; }
  .mt-md-4 { margin-top: 6rem !important; }
  .mt-md-5 { margin-top: 8rem !important; }
}

@media (min-width:992px) {
  .mb-lg-0 { margin-bottom: 0 !important; }
  .mb-lg-1 { margin-bottom: 1rem !important; }
  .mb-lg-2 { margin-bottom: 2rem !important; }
  .mb-lg-3 { margin-bottom: 4rem !important; }
  .mb-lg-4 { margin-bottom: 6rem !important; }
  .mb-lg-5 { margin-bottom: 8rem !important; }
  .mt-lg-0 { margin-top: 0 !important; }
  .mt-lg-1 { margin-top: 1rem !important; }
  .mt-lg-2 { margin-top: 2rem !important; }
  .mt-lg-3 { margin-top: 4rem !important; }
  .mt-lg-4 { margin-top: 6rem !important; }
  .mt-lg-5 { margin-top: 8rem !important; }
}

@media (min-width:1200px) {
  .mb-xl-0 { margin-bottom: 0 !important; }
  .mb-xl-1 { margin-bottom: 1rem !important; }
  .mb-xl-2 { margin-bottom: 2rem !important; }
  .mb-xl-3 { margin-bottom: 4rem !important; }
  .mb-xl-4 { margin-bottom: 6rem !important; }
  .mb-xl-5 { margin-bottom: 8rem !important; }
  .mt-xl-0 { margin-top: 0 !important; }
  .mt-xl-1 { margin-top: 1rem !important; }
  .mt-xl-2 { margin-top: 2rem !important; }
  .mt-xl-3 { margin-top: 4rem !important; }
  .mt-xl-4 { margin-top: 6rem !important; }
  .mt-xl-5 { margin-top: 8rem !important; }
}

@media screen and (max-width:768px) {
	
	.container {
		padding: 0 20px;
	}
	
	h2, a {
		word-wrap: break-word;
		hyphens: auto;
		overflow-wrap: anywhere;
	}
	
	.modal-dialog {
		width: 100%;
		max-width: 95%;
	}
	
	.modal-body {
		padding: 20px;
	}
	
}