/* montserrat-300 - latin */
@font-face {
  font-display: swap; 
  font-family: 'Montserrat';
  font-style: normal;
  font-weight: 300;
  src: url('../webfonts/montserrat-v31-latin-300.woff2') format('woff2'); /* Chrome 36+, Opera 23+, Firefox 39+, Safari 12+, iOS 10+ */
}
/* montserrat-regular - latin */
@font-face {
  font-display: swap; 
  font-family: 'Montserrat';
  font-style: normal;
  font-weight: 400;
  src: url('../webfonts/montserrat-v31-latin-regular.woff2') format('woff2'); /* Chrome 36+, Opera 23+, Firefox 39+, Safari 12+, iOS 10+ */
}
/* montserrat-500 - latin */
@font-face {
  font-display: swap; 
  font-family: 'Montserrat';
  font-style: normal;
  font-weight: 500;
  src: url('../webfonts/montserrat-v31-latin-500.woff2') format('woff2'); 
}
/* montserrat-600 - latin */
@font-face {
  font-display: swap; 
  font-family: 'Montserrat';
  font-style: normal;
  font-weight: 600;
  src: url('../webfonts/montserrat-v31-latin-600.woff2') format('woff2'); /* Chrome 36+, Opera 23+, Firefox 39+, Safari 12+, iOS 10+ */
}
/* montserrat-700 - latin */
@font-face {
  font-display: swap; 
  font-family: 'Montserrat';
  font-style: normal;
  font-weight: 700;
  src: url('../webfonts/montserrat-v31-latin-700.woff2') format('woff2'); 
}

:root {
  --black: #000000;
  --white: #ffffff;
  --black-trans: rgba(0,0,0,.7);
  --c-brand-red:#f40009;
}

* {
  box-sizing: border-box;margin:0;padding:0;
}

html, body {
  margin: 0;
  min-height: 100%;
  color: var(--white);
  font-family: 'Montserrat', Arial, sans-serif;
}

body {
  overflow-x: hidden;background:url("../images/water-bubbles.jpg") no-repeat bottom center / 100% auto;background-attachment:fixed;font-size:18px;font-weight:400;line-height:1.4;
}
p, a {color:var(--white);}
h1 {margin:0 0 20px;font-size:28px;}
img {height:auto;max-width:100%;}
header {background:var(--black);padding:25px 30px;display:flex;margin:0 auto;box-sizing: border-box;
	& div {padding:0px 0;}
	& .logo {width:120px;}
	& .main-nav {margin:0 auto;display: flex;align-items: center;
		& ul {list-style:none;margin:0;padding:0;
			& li {display:inline-block;padding:10px;
				& a {text-decoration: none;}
				& a:hover {text-decoration: underline;}
			}
			& li.current a {font-weight:700;}
		}
	}
}
main {
	& .keyvisual {background:url("../images/pattern.png") no-repeat 0 0 / 100% auto;height:55vh;width:100%;position:relative;background-attachment: fixed;}
	& .logo-fc {position:absolute;left:50%;top:50%;transform:translate(-50%, -50%);width:200px;}
	& .content {column-gap:30px;display:flex;background:var(--black);padding:50px;margin:0px auto;width:1200px;max-width:94%;position:relative;z-index:1;flex-wrap:wrap;
		& > div {width:calc(50% - 15px);position:relative;}
		& > div.full {width:100%;margin-block-end: 50px;}
		& .left {
			& img.logo-content {width:220px;position:absolute;left:0;top:97px;}
			& strong {font-size:80px;line-height:1.1;display:inline-block;
				& span {font-size:51px;display:block;padding-left:250px;}
			}
		}
		& .right {
			& p {font-weight:600;}
			& span.highlight {display:inline-block;padding:10px;background:var(--c-brand-red);border-radius:10px;text-align:center;}
		}
	}
	& .content::before {content:"";display:block;width:100%;position:absolute;top:-40px;height:40px;background:var(--black-trans);left:0;}
	& .center {text-align:center;}
}
.layout-2 main {
	& .content {background:url("/assets/images/53989237e6/Background_black.jpg") no-repeat 0 0 / cover;margin-top:-40px;margin-bottom:20px;}
	& .content::before {display:none;}
}
img.center-image {max-width:50%;margin:0 auto;display:block;}
footer {background:var(--black);text-align:center;line-height:1.5;font-size:13px;
	& p.legal {border-top:2px solid var(--white);font-weight:300;padding:10px;}
	& nav {padding:10px;
		& a {text-decoration: none;text-transform:uppercase;font-weight:600;display:inline-block;padding:5px 12px;letter-spacing:1.5px;}
	}
}

.tax-notice {
  display: block;width:700px;max-width:94%;left:50%;top:50%;transform:translate(-50%, -50%);
  position: fixed;transition: opacity 0.2s ease;
	opacity: 0;
	pointer-events: none;
  background:rgba(0,0,0,.9);border-radius:10px;
  z-index:50;padding:40px;
  & h2 {font-size:22px;margin:0 0 15px;}
  &.is-open {opacity: 1;pointer-events: auto;}
  & .close {position: absolute;top:20px;right:20px;font-size:30px;background: transparent;cursor:pointer;
	  border: 0;color:var(--white);}
}
.AccountEditPage  {
	& main .content > div {width:100%;}
}
/*.edit-page-container > .content {display:none;}*/
.registration-form-wrapper.full {margin-block-start: 50px;}
.registration-form-wrapper form, .UserDefinedForm form.userform {width:100%;max-width:100%;
	p.password-note {font-size:13px;}
	.userform-fields legend {display:none;}
	.field.userformsoptionset div label {display:block;}
	& h3 {font-weight:400;text-transform:uppercase;text-align:center;margin:0 0 25px;font-size:26px}
	& label {display:none;font-weight:400;font-size:15px;}
	& ul.optionset  {display:flex;max-width:300px;
		& > li {width:33.33%;}
	}
	& ul.optionset label {display:block;}
	& input.text, & textarea, & .textajaxuniquetext, & select {max-width:100%;border-radius:5px;padding:10px;box-sizing:border-box;background:#222;border:1px solid var(--c-brand-red);color:var(--white);width:100%;font-family: 'Montserrat', Arial, sans-serif;font-size:15px;
	&::placeholder {color:var(--white);}
}
	& input[type="submit"] {cursor:pointer;transition:ease all .3s;border:1px solid var(--c-brand-red);background:var(--c-brand-red);padding:10px;margin:25px auto;font-weight:bold;font-size:21px;display:block;float:none;
		&:hover {color:var(--white);background: var(--black);}
	}
	& .address-data-wrapper, & .location-data-wrapper, & #Form_RegistrationForm_StreetHouseNumber_Holder {display:flex !important;column-gap:20px;
		& > div.field {margin:0;}
		& #Form_EditForm_Street_Holder {width:calc(80% - 20px);}
		& #Form_EditForm_HouseNumber_Holder {width:20%;}
		& #Form_EditForm_City_Holder {width:calc(70% - 20px);}
		& #Form_EditForm_PostalCode_Holder {width:30%;}
		& #Form_RegistrationForm_Street_Holder {width:calc(80% - 20px);}
		& #Form_RegistrationForm_HouseNumber_Holder {width:20%;}
		& #Form_RegistrationForm_City_Holder {width:calc(70% - 20px);}
		& #Form_RegistrationForm_PostalCode_Holder {width:30%;}
	}
	& .participation-state-wrapper, p.required-note {width:100%;text-align: center}
	& .personal-data-wrapper, & .contact-data-wrapper, & .event-data-wrapper, & .access-data-wrapper {width:calc(50% - 50px);margin-top:35px;}
	& .event-data-wrapper, & .access-data-wrapper {margin-right:auto;margin-left: auto;font-size:15px;width:60%;
		& label {display:block;}
		& .textarea label {display:none;}
	}
	& #Form_RegistrationForm_Privacy_Holder {text-align:center;display:block;margin:20px auto;
		label {color:var(--white);display:block;font-size:17px;}
	}
	& > fieldset > div {display:flex;column-gap:100px;flex-wrap: wrap;}
}

.LoginPage .login-page-container {margin:0 auto;text-align: center;font-size:14px;
	form {margin:0px auto;}
	.form-group {margin:10px 0;}
	& input.text, & textarea, & .textajaxuniquetext, & select {margin-top:10px;max-width:100%;border-radius:5px;padding:10px;box-sizing:border-box;background:#222;border:1px solid var(--c-brand-red);color:var(--white);width:100%;font-family: 'Montserrat', Arial, sans-serif;font-size:15px;
		&::placeholder {color:var(--white);}
	}
		& button[type="submit"] {float:none;margin:20px auto;cursor:pointer;transition:ease all .3s;border:1px solid var(--c-brand-red);background:var(--c-brand-red);padding:10px;margin:25px auto;font-weight:bold;font-size:17px;display:block;float:none;
			&:hover {color:var(--white);background: var(--black);}
		}
}

@media (max-width:1400px) {
	body {font-size:16px;}
	h1 {font-size:24px;}
	footer {font-size:13px;}
	main {
		& .content {padding:40px;width:980px;
			& .left {
				& img.logo-content {width:200px;top:85px;}
				& strong {font-size:70px;
					& span {font-size:45px;padding-left:220px;}
				}
			}
		}
	}
}

@media (max-width: 980px) {
	body {background-attachment: scroll;background-size: cover;}
 main {
	 & .keyvisual {background-size:cover;background-attachment: scroll;}
	 & .content {
		 & .left {
			 & img.logo-content {width:160px;top:75px;}
			 & strong {font-size:52px;
				 & span {margin-top:10px;text-align:left;font-size:35px;padding-left:170px;}
			 }
		 }
	 }
 }
}

@media (max-width: 760px) {
main {
	& .keyvisual {height:45vh;}
	& .logo-fc {width:150px;}
	& .content {display:block;padding:25px;text-align:center;
		& > div {width:100%;}
		& label.left {margin-bottom:10px;}
		& .left {margin-bottom:50px;
			& strong span {text-align:left;padding-left:160px;}
			& img.logo-content {width:150px;}
			& img.logo-contentttt {left:auto;width:120px;top:auto;position:relative;margin:20px auto;}
		}
	}
}	
.tax-notice {padding:25px;font-size:13px;
	& h2 {font-size:19px;}
}
.registration-form-wrapper form {width:100%;max-width:100%;
	& .field .checkbox:not(.field) {float:none;}
	& h3 {font-size:24px}
	& label {}
	& input.text, & textarea, & .textajaxuniquetext, & select {}
	& input[type="submit"] {}
	& .address-data-wrapper, & .location-data-wrapper {display:flex !important;column-gap:20px;
		& > div.field {margin:0;}
		& #Form_EditForm_Street_Holder {width:calc(80% - 20px);}
		& #Form_EditForm_HouseNumber_Holder {width:20%;}
		& #Form_EditForm_City_Holder {width:calc(70% - 20px);}
		& #Form_EditForm_PostalCode_Holder {width:30%;}
		& #Form_RegistrationForm_Street_Holder {width:calc(80% - 20px);}
		& #Form_RegistrationForm_HouseNumber_Holder {width:20%;}
		& #Form_RegistrationForm_City_Holder {width:calc(70% - 20px);}
		& #Form_RegistrationForm_PostalCode_Holder {width:30%;}
	}
	& .participation-state-wrapper, & p.required-note {width:100% !important;text-align: center}
	& .personal-data-wrapper, & .contact-data-wrapper, & .event-data-wrapper, & .access-data-wrapper {width:100% !important}
}

}


.nav-toggle {
	display: none;
	width: 48px;
	height: 48px;
	padding: 0;
	border: 0;
	background: transparent;
	cursor: pointer;
	position: relative;
	z-index: 1001;

	& .nav-toggle-icon,
	& .nav-toggle-icon::before,
	& .nav-toggle-icon::after {
		display: block;
		width: 28px;
		height: 3px;
		background: #fff;
		border-radius: 2px;
		position: absolute;
		left: 50%;
		transition: transform .25s ease, opacity .25s ease, top .25s ease, background .25s ease;
	}

	& .nav-toggle-icon {
		top: 50%;
		transform: translate(-50%, -50%);
	}

	& .nav-toggle-icon::before,
	& .nav-toggle-icon::after {
		content: "";
	}

	& .nav-toggle-icon::before {
		top: -9px;
		transform: translateX(-50%);
	}

	& .nav-toggle-icon::after {
		top: 9px;
		transform: translateX(-50%);
	}

	&.is-active .nav-toggle-icon {
		background: transparent;
	}

	&.is-active .nav-toggle-icon::before {
		top: 0;
		transform: translateX(-50%) rotate(45deg);
	}

	&.is-active .nav-toggle-icon::after {
		top: 0;
		transform: translateX(-50%) rotate(-45deg);
	}
}
.RegistrationPage header .nav-toggle {display:none !important;}
@media (max-width: 980px) {
	header {
		position: relative;padding:15px 25px;
& .logo {width:100px;}
		& .nav-toggle {
			display: block;
			margin-left: auto;
		}
	}

header .main-nav {
		position: absolute;text-align:center;display:block;
		top: 100%;
		left: 0;
		right: 0;
		background:var(--black);
		opacity: 0;
		visibility: hidden;
		transform: translateY(-12px);
		transition: opacity .25s ease, transform .25s ease, visibility .25s ease;
		z-index: 1000;

		&.is-open {
			opacity: 1;
			visibility: visible;
			transform: translateY(0);
		}

		& ul {
			list-style: none;
			margin: 0;
			padding: 0 20px;
			display: flex;
			flex-direction: column;
			gap: 0;
		}

		& li {
			margin: 0;padding:5px 0 !important;
		}

		& a,
		& span {
			display: block;
			padding: 10px 0;
		}
	}
}

@media (min-width: 981px) {
	.nav-toggle {
		display: none;
	}
}