/* Import Constants */
@import url("constants.css"); 


/* Import Webfonts */
@font-face {
  font-family: "KlavikaRegular";
  src: url("../Fonts/klavika-regular.otf") format("opentype");
}


@font-face {
	font-family: "KlavikaLight";
	src: url("../Fonts/klavika-light.otf") format("opentype");
  }
  

@font-face {
  font-family: "KlavikaBold";
  font-weight: 400;
  src: url("../Fonts/klavika-bold.otf") format("opentype");
}


body {
	font-family: var(--ff-prim);
	font-weight: 400;
	font-size:19px; 
	line-height:140%;
	color:var(--clr-quar);
	-moz-osx-font-smoothing: grayscale;
	-webkit-font-smoothing: antialiased;
	font-smoothing: antialiased;
}

p {  
	margin-bottom: 18px;
}

h1, h2, h3, h4, h5, h6 {
	font-family: var(--ff-prim);
    margin-top: 0px !important;
	-moz-osx-font-smoothing: grayscale;
	-webkit-font-smoothing: antialiased;
	font-smoothing: antialiased;
}

h1, h2 {
	font-size: 86px;
	font-weight:300;
	color:var(--clr-prim);
	margin-bottom:20px;
	line-height:100%;
	text-transform:uppercase; 
	margin-left:-4px;
}

h3 {
	font-family: var(--ff-ter);
	font-size: 24px;
	font-weight:100; 
	color:var(--clr-sec);
	margin-bottom:5px;
	line-height:120%;
	text-transform:uppercase; 
}

h4 {
	font-size:35px;
	font-weight:400;
	color:var(--clr-prim);
	margin-bottom:18px;
	line-height:130%;
}

h5 {
	/*font-family: var(--ff-ter); */
	font-family: var(--ff-prim);
	font-size:24px;
	font-weight:100;
	color:var(--clr-prim);
	margin-bottom:18px;
	line-height:130%;
}

h6 {
	font-size:72px;
	font-weight:400;
	color:var(--clr-ter);
	margin-bottom:0px;
	line-height:110%;
	text-transform:uppercase;
}


h1.font-stage,
h2.font-stage  {
	font-size:140px;
	color:var(--clr-ter) !important;
}

h2.text-normal {
	text-transform:none !important; 
}


h3.font-black {
	color:var(--clr-prim) !important;
}

.font-orange {
	color:var(--clr-sec) !important;
}

.font-black {
	color:var(--clr-prim) !important;
}

.font-white {
	color:var(--clr-default) !important;
}


.font-grey {
	color:var(--clr-ter) !important;
}

.font-stage {
	font-size:140px;
	color:var(--clr-ter) !important;
}

figcaption {
	font-family:var(--ff-sec);
	font-size:17px;
	font-weight:100;
	margin-top:8px; 
	line-height:120%; 
}



.bg-2 h1, 
.bg-2 h2,
.bg-2 h3,
.bg-2 h4,
.bg-2 p,
.bg-2 ul li {
	color: var(--clr-default);
}

.bg-1 h1,
.bg-1 h2,
.bg-1 h4,
.bg-1 p,
.bg-1 ul li {
	color: var(--clr-default);
}

.page-black h1,
.page-black h2,
.page-black h4,
.page-black p,
.page-black ul li {
	color: var(--clr-default);
}

.page-black .bg-3 h1,
.page-black .bg-3 h2,
.page-black .bg-3 h4,
.page-black .bg-3 p,
.page-black .bg-3 ul li {
	color: var(--clr-prim);
}

.page-black .pin-spacer h1,
.page-black .pin-spacer h2,
.page-black .pin-spacer h4,
.page-black .pin-spacer p,
.page-black .pin-spacer ul li {
	color: var(--clr-prim);
}



.page-black .ref-elevator h3.font-black {
	color:#fff !important; 
}

.font-small {
	font-size:17px; 
	line-height:130%; 
}

strong {
	font-family:var(--ff-ter);
	font-weight:100 !important; 
}



/* Referenzen Navigation */
.ref-nav a {
	text-decoration:none !important;
	color:var(--clr-ter) !important;
}

.ref-nav a:hover,
.ref-nav a.ref-active {
	color:var(--clr-prim) !important;
}


/* Referenzen Anchorlinks */
main .ref-anchorlinks a {
	text-decoration:none;
}

main .ref-anchorlinks h3 a,
.page-black main .ref-anchorlinks h3 a {
	color:var(--clr-sec) !important;
	text-decoration:none !important; 
}
	




/* Fusszeile */
footer h2 {
	color:#fff; 
}

footer h3 {
	font-size: 19px;
	font-weight: 700;
	color: #fff;
	margin-bottom: 10px;
	text-align: left;
	text-transform: uppercase;
}

footer p,
footer ul li {
	color:#fff;
	line-height:150%;
	font-weight:400;
	font-size:18px;
}

footer #footer-c3 p {
	line-height:160%;
}

.contact-button {
	display:inline-block;
	font-family: var(--ff-ter);
	font-size:22px;
	color:#111;
	text-transform:uppercase;
	padding:9.4px 15px 9px 15px;
	border-radius: 8px;
	background-color:#fff; 

}


/* Linkstile */
main a img, a, a img, img { border:0px; outline:none !important;}
a img, a, a img, img { border:0px; outline:none !important;}

main a, 
main a:visited,
main a.download,
main a.internal-link,
main a.external-link-new-window,
main a.mail,
main a.pdf { 
	color:var(--clr-prim);
	text-decoration: underline;
	padding: 0;
	background-color:transparent;
	transition: all .2s ease;
}

main a:hover,
main a.internal-link:hover, 
main a.external-link-new-window:hover, 
main a.internal-link-new-window:hover,
main a.pdf:hover, main a.download:hover,
main a.mail:hover { 
	color:var(--clr-sec);
	text-decoration: underline;
}


.dark-section + #wrapper main a, 
.dark-section + #wrapper main a:visited,
.dark-section + #wrapper main a.download,
.dark-section + #wrapper main a.internal-link,
.dark-section + #wrapper main a.external-link-new-window,
.dark-section + #wrapper main a.mail,
.dark-section + #wrapper main a.pdf { 
	color:var(--clr-default);
	text-decoration: underline;
	background-color:transparent;
	transition: all .2s ease;
}

.dark-section + #wrapper main a:hover,
.dark-section + #wrapper main a.internal-link:hover, 
.dark-section + #wrapper main a.external-link-new-window:hover, 
.dark-section + #wrapper main a.internal-link-new-window:hover,
.dark-section + #wrapper main a.pdf:hover, main a.download:hover,
.dark-section + #wrapper main a.mail:hover { 
	color:var(--clr-sec) !important;
	text-decoration: underline;
}


.open-in-lightbox {
	text-decoration:none !important; 
}

h3 a.arrowlink {
	text-decoration:none !important;
	color:#fff;
}

h3 a.arrowlink:after {
	content:'';
	position:absolute;
	display:inline-block; 
	width:70px;
	height:70px;
	border-radius: 50%;
	background-color:var(--clr-sec);
	margin:-28px 0px 0px 14px; 
	background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 448 512'%3E%3Cpath d='M443.3 267.3c6.2-6.2 6.2-16.4 0-22.6l-176-176c-6.2-6.2-16.4-6.2-22.6 0s-6.2 16.4 0 22.6L393.4 240 16 240c-8.8 0-16 7.2-16 16s7.2 16 16 16l377.4 0L244.7 420.7c-6.2 6.2-6.2 16.4 0 22.6s16.4 6.2 22.6 0l176-176z' fill='%23fff' /%3E%3C/svg%3E");
	background-size: 40px 50px;
	background-repeat: no-repeat;
	background-position: center center;
}


h3 a.arrowlink:hover {
	color: var(--clr-sec) !important;
}



/* Buttons */
a.linkbutton,
a.linkbutton:visited {
	border:1.2px solid #000;
	border-radius:30px;
	padding:14px 23px 13px 23px;
	margin: 10px 10px 10px 0px;
	display: inline-block;
	color:#000;
	text-transform:uppercase; 
	text-decoration:none !important; 
	transition: all .3s ease;
}

a.linkbutton:hover,
a.linkbutton:focus {
	color:#fff !important;
	background-color:#000;
}

.text-center a.linkbutton,
.text-center a.linkbutton:visited {
	margin: 10px 10px 10px 10px;
}

.dark-section + #wrapper a.linkbutton, 
.dark-section + #wrapper a.linkbutton:visited {
	border:1.2px solid #fff;
	color:#fff;
}

.dark-section + #wrapper a.linkbutton:hover,
.dark-section + #wrapper a.linkbutton:focus {
	color:#000 !important;
	background-color:#fff;
}

h3:has(.open-website),
h3:has(.open-website):visited ,
h3:has(.open-website):hover,
.open-website {
	color:#F39507 !important; 
	text-decoration: none !important;
}

.open-website:before {
 content: '';
  position: relative;
  display: inline-block;
  width: 18px;
  height: 24px;
  background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 384 512'%3E%3Cpath d='M214.6 57.4L192 34.7 169.4 57.4l-144 144L2.7 224 48 269.2l22.6-22.6L160 157.2 160 448l0 32 64 0 0-32 0-290.7 89.4 89.4L336 269.2 381.3 224l-22.6-22.6-144-144z' fill='%23F39507' /%3E%3C/svg%3E");
  background-size: 18px 24px;
  background-repeat: no-repeat;
  background-position: center center;
  transform: rotate(45deg);
  margin-right: 7px;
  margin-bottom: -3px;
}

.index-link h5 a {
	text-transform: uppercase;
	text-decoration: none;
}

.index-link h5 a:before {
  display: inline-flex;
  content: '';
  background-image: url('/typo3conf/ext/t3master/Resources/Public/Icons/arrow-link.svg');
  background-repeat: no-repeat;
  background-size: 15px 13px;
  height: 13px;
  width: 15px;
  justify-content: center;
  margin-right: 15px;
}





footer a.linkbutton,
footer a.linkbutton:visited,
.bg-1 a.linkbutton,
.bg-1 a.linkbutton:visited {
	border:1.2px solid #fff;
	color:#fff;
}

footer a.linkbutton:hover,
footer a.linkbutton:focus,
.bg-1 a.linkbutton:hover,
.bg-1 a.linkbutton:focus {
	color:#191919 !important;
	background-color:#fff;
}





/* Listen */
main ul {
	padding-left: 18px;
}


main ul li {
	margin-bottom:6px; 
}






/* Footer Linkstile */
footer a, footer a:visited { color:#fff; text-decoration:none; transition: all .2s ease;}
footer a:hover, footer a:focus { color:var(--clr-sec) !important; text-decoration:none; }
a.megura {text-decoration:none !important; color:#fff !important; font-size:12px !important; padding:0px;  }
a.megura:hover {color:#fff !important;}





/* Buttons */
.btn {
	font-size:inherit !important; 
}


.btn.focus, .btn:focus {
	outline: 0;
	box-shadow:none !important; 
}





/* Cookie Consent */
.cc-message {
	font-size: 16px;
	line-height: 130%;
}

.cc-btn {
	text-decoration: none;
}

.cc-allow,
.cc-deny {
    color: #fff !important;
}







/* RESPONSIVE FONTS
------------------------------------------------- */

@media screen and (max-width: 1840px) {
	h1, h2 { font-size:82px; }
	h4 { font-size: 32px; }
	footer h2 { font-size: 80px; }
}

@media screen and (max-width: 1680px) {
	h1, h2 { font-size:72px; }
	h4 { font-size: 30px; }
	h6 { font-size:66px; }
	footer h2 { font-size: 70px; }
}

@media screen and (max-width: 1360px) {
	h1, h2 { font-size:68px; }
	footer h2 { font-size: 66px; }
}

@media screen and (max-width: 1280px) {
	h4 { font-size: 28px; }
	h6 { font-size:64px; }
	footer h2 { font-size: 58px; }
}

@media screen and (max-width: 1180px) {
	h1, h2 { font-size:64px; }
	h3 { font-size: 21px; }
	h4 { font-size: 26px; }
	h6 { font-size:62px; }
}


@media screen and (max-width: 991.5px) { 	
	h1, h2 { font-size:60px; }
	h4 { font-size: 25px; }
	h6 { font-size:56px; }
}


@media screen and (max-width: 767.5px) { 	
	h1, h2 { font-size:52px; }
	h4 { font-size: 23px; }
	h6 { font-size:50px; }
}


@media screen and (max-width: 680px) { 
	h1, h2 { font-size:46px; margin-left:0px; }
	h5 { font-size: 22px; }
	h6 { font-size:44px; }
	footer h2 { font-size: 48px;}
}


@media screen and (max-width: 575.5px) { 
	h1, h2 { font-size:38px; }
	h3 { font-size: 19px; }
	h6 { font-size:36px; }
	footer h2 { font-size: 40px;}
}


@media screen and (max-width: 540px) { 
	
	.member-content h3 { font-size: 15px; }
	.member-content p { font-size: 15.5px; line-height:110%;  }
}



@media screen and (max-width: 480px) { 
	h1, h2 { font-size:30px; }
	h3 { font-size: 18px; }
	h4 { font-size: 21px; line-height:130%; font-weight: 500; }
	h5 { font-size: 20px; }
	h6 { font-size:34px; }


 	body, p {
		font-size:17px; 
		line-height:150%;
	}

	footer p,
	footer ul li {
		line-height:160%;
		font-size:17px;
	}

	.font-small { font-size: 15px; }

	/*
	.stage-claim h2 { font-size: 34px;  }
	.img-header h1 { font-size: 36px; 	}

	.prog-nav a.linkbutton-1,
	.prog-nav button.linkbutton-1 {
		padding: 7px 25px 8px 25px;
	}
		*/

	footer h2 { font-size: 34px;}
	footer h2 br { display:none;}
}





/* RTE STYLES
------------------------------------------------- */
.text-center {
	text-align: center;
  }
  
.text-right {
	text-align: right;
}

.text-justify {
	text-align: justify;
}

.ck_content p {
	font-family: var(--ff-prim);
	font-size:18px !important;
	margin-top:0px !important
}

.ck_content h1 {
	font-size: 70px !important;
}
	
.ck_content h2 {
	font-size: 70px !important;
}

.ck_content h3 {
	font-size: 24px !important;
}

.ck_content h3.font-black {
	color:var(--clr-prim) !important;
}

.ck_content h4 {
	font-size: 30px;
}

.ck_content h5 {
	font-family: var(--ff-prim);
	font-size: 30px;
}



/* Special Fonts Mac Safari 
@media screen and (-webkit-min-device-pixel-ratio: 2) and (-webkit-min-device-pixel-ratio: 2.99)   {
	

	body {
		font-size:19px; 
	}

	h1, h2 {
		font-size: 88px;
	}
	
	h3 {
		font-size: 22px;
	}
	
	h4 {
		font-size:32px;
	}
	
	h5 {
		font-size:22px;
	}
	
	h6 {
		font-size:64px;
	}

}
*/
