@charset "utf-8";

/* main */
/* html { siehe auch rte.css } */
html {
	overflow:hidden scroll;
}
body {
	position: relative;
	margin: auto;
	padding: 0;
	height: inherit;
	min-height: 100%;
	min-width: 15rem;
	max-width:initial;
}

header, nav, main, footer, figure, figcaption, input, textarea, select, ul, ol, li, a, div, h1, h2, h3, p, form {
	box-sizing: border-box;
	padding:0;
	margin:0;
}
input, textarea, select {
	font-family: "FiraSans", Arial, Helvetica, sans-serif;
}
figcaption { font-size: 0.8rem; line-height:1.4em; }
label { cursor:pointer; }

.page,
footer .page,
.content > div > div,
.content > div > header,
form {
	position:relative;
	left: 0;
	top: 0;
	width: 100%;
	margin: auto;
	padding: 0 0.75rem;
	max-width: 67.5rem;
}

body > header {
	position:relative;
	height:initial;
	width:100%;
	z-index: 100;
	margin: 0;
	background-color: rgb(26,112,184);
}
body > header .logo {
	position: absolute;
	top:.2rem;
	left:2.084%;
	width: 8.25em;
	height:inherit;
	z-index: 1;
}
/*body > header img {	max-width:100%; }*/
body > header .content > div > div { 
	max-width: 136rem; 
}
body > header .content img { border-radius:0; width: initial; height:initial; }
body > header .content .ce-gallery  { margin:0; } 
body > header .content .ce-gallery .ce-row { 
	position: relative;
	width:136rem;
	min-height:8rem;
	display:flex; 
	flex-flow: row nowrap; 
	justify-content:center;
}
body > header .content .ce-gallery .ce-column { 
	margin:0; 
	flex: 0 0 auto; 
}

#menu {
	position:relative;
	top:0rem;
	left:0;
	height:2.9rem;
	z-index:0;
	margin: auto;
	width: 67.5rem;
}
#menu label, input[id="showMenu"] { display: none; }
#menu > ul {
	position: relative;
	font-size:0.9rem;
	line-height:1.5;
	list-style: none;
	display: block;
	height: 100%;
	width: 100%;
	padding: 0;
}
#menu > ul > li {
	position: relative;
	min-height: 2.9rem;
	vertical-align: top;
	display: inline-block;
	transition: margin .5s ease;
}
#menu > ul > li:nth-of-type(1) { margin-right:10rem;  }
#menu > ul li > a {
	position: relative;
	display: block;
	width: 11rem;
	height: 100%;
	padding: .8rem 0 .8rem 0;
	color:rgb(255,255,255);
	text-align: center;
	font-family: 'FiraSans';
	max-height: 3.8rem;
	overflow: hidden;
	transition:all .5s ease;
}
#menu > ul li > a:hover,
#menu ul li.act > a, 
#menu ul li.cur > a { 
	color:rgb(26,112,184) !important; 
	background-color: rgb(255,255,255);
	text-shadow:0 0 0 rgba(0,0,0,0) !important;
}
#menu > ul > li:hover ul li a { margin: 0; }
#menu > ul > li > ul {
	background-color:rgba(255,255,255,.9);
	box-shadow: 1px 2px 2px rgba(0, 0, 0, 0.2);
	overflow:hidden;
}
#menu > ul li ul li > a {
	font-family: 'FiraSansB';
	text-align: left;
	padding: .5rem .75rem;
	margin: -3.8rem 0 0 0;
	transition: all .3s ease;
}
#menu > ul li ul li ul li > a {
	font-size: 0.65rem;
	padding: .5rem .75rem;
}

main {
	position:relative;
	display:block;
	top:0;
	left:0;
	width:100%;
	height: initial;
	padding: .05rem 0 0 0;
	margin: 0;
	background-color:rgb(255,255,255);
}

.content {
	position:relative;
	display: flex;
	flex-flow: row wrap;
	justify-content: center;
	/*! padding: 0 0 15rem 0; */
}

.content > div { flex: 1 1 100%; }
.content > div.frame-default .ce-bodytext {
	margin: auto;
	width:100%;
}
.content > div.frame-default { background-color:rgb(255,255,255); }
.content > div.frame-layout-7, .content > div.frame-20 { background-color: rgb(211,233,246); } /* Helblau */
.content > div.frame-layout-8, .content > div.frame-21 { background-color: rgb(26,112,184); } /* Blau */
.content > div.frame-layout-9, .content > div.frame-22 { background-color: rgb(233,76,10); padding: 1rem 0;} /* Orange */

/*
.content > div.frame-layout-10 > div {
	background-image: linear-gradient(90deg, rgb(255,255,255) 0%,rgb(211,233,246) 25%,rgb(211,233,246) 75%,rgb(255,255,255) 100%);
	max-width: initial;
}
*/

.content > div.frame-layout-11 > div {
	position:relative;
	left: 0%;
	top: 0;
	width: 100%;
	max-width: initial;
	margin: auto;
	padding: 0;
}
.content > div.frame-layout-11 .ce-gallery {
	max-width: initial;
	margin:0;
}
.content > div.frame-layout-11 .ce-gallery img {
	max-width: initial;
	width: initial;
	height: auto;
	margin: auto;
}
.content > div.frame-layout-11 .ce-gallery figure {
	display: block;
	text-align: center;					
}
.content > div.frame-layout-11 .ce-gallery .ce-row {
	margin: auto;
}
.content > div.frame-layout-11 .ce-bodytext {
	position: absolute;
	top:0;
	margin: auto;
	width:100%;
	max-width:100%;
	/* padding: 0 2.086%; */
}
.content > div.frame-layout-11 .ce-bodytext > * {
	max-width:67.5rem;
	margin: auto;
}
.content > div.frame-layout-11 { overflow:hidden; }

/* Sponsoren */
.content > div.frame-layout-12,
.content > div.frame-layout-13,
.content > div.frame-layout-14 {
	flex: 1 1 50%;
	max-width:50%;
	padding: 2rem 0;
}
.content > div.frame-layout-12 {
	background-color: rgb(211,233,246);
	font-size:0;
}
.content > div.frame-layout-12 > div .ce-gallery { 
	background-color: rgb(255,255,255); 
	border-radius: 1rem; 
	padding: 1rem 0; 
}
.content > div.frame-layout-13 {
	background-image: linear-gradient(90deg, rgb(255,255,255) 0%,rgb(211,233,246) 100%);
}
.content > div.frame-layout-14 {
	background-image: linear-gradient(90deg, rgb(211,233,246) 0%,rgb(255,255,255) 100%);
}
.content > div.frame-layout-12 img,
.content > div.frame-layout-13 img,
.content > div.frame-layout-14 img {
	max-width:100%;
	height: initial;
}
.content > div.frame-layout-13, 
.content > div.frame-layout-14 { flex: 1 1 25%; }
.content > div.frame-layout-13 img,
.content > div.frame-layout-14 img { border-radius: 100%; border:1px solid rgb(255,255,255);}
.content > div.frame-layout-13 > div, 
.content > div.frame-layout-13 > div .ce-gallery, 
.content > div.frame-layout-14 > div .ce-gallery, 
.content > div.frame-layout-14 > div { height:100%; }
.content > div.frame-layout-12 .ce-outer { width: 100%; }
.content > div.frame-layout-13 .ce-outer, 
.content > div.frame-layout-14 .ce-outer { float: none; right:0; display: table; height:100%; width: 100%; }
.content > div.frame-layout-13 .ce-inner,
.content > div.frame-layout-14 .ce-inner { float: none; right:0; display: table-cell; height:100%; width: 100%; vertical-align: middle; }
.content > div.frame-layout-13 .ce-row:nth-of-type(2n-1) .ce-column,
.content > div.frame-layout-14 .ce-row:nth-of-type(2n) .ce-column { float: right; }
.content > div.frame-layout-12 .ce-inner { width: 100%; white-space: nowrap; }
.content > div.frame-layout-12 .ce-row { display: inline-block; width: 100%; vertical-align: middle; padding: 0 1rem; }
.content > div.frame-layout-12 .ce-column { width: 100%; text-align: center; }
.content > div.frame-layout-12 .ce-column figure,
.content > div.frame-layout-12 .ce-column img { display:block; margin: auto; }

.content > div.frame-7 > * { padding-left: 23.5rem; }


/* Gallery*/
.ce-intext.ce-right .ce-gallery { margin-left: 1rem; }
.ce-intext.ce-left .ce-gallery { margin-right: 1rem; }
.ce-below .ce-gallery { margin-top: 1rem; }
.ce-border img, .ce-border iframe { border:2px solid rgb(255,255,255); }
.ce-left > div, .ce-right > div { max-width: 50%; }


/* RTE-Fixes */
td,
.Spalten_33_33_33 > div,
.Spalten_33_66 > div,
.Spalten_50_50 > div,
.Spalten_25_25_25_25 > div,
.Spalten_66 > div
{ border:0 !important; }

.Farbe_WS, .Farbe_WS a, a .Farbe_WS, .Farbe_WS a *, a .Farbe_WS * { color: rgb(255,255,255); }
.Rand_WS { border-color: rgb(255,255,255); }

.content ul { padding: 0 0 0 1em; list-style-image:url(images/li-dot.svg); }
.content .nolist { list-style:none; }


/* Footer */
footer {
	position:absolute;
	left:0em;
	height: 34rem;
	width:100%;
	padding: 2.5rem 0 0 0;
	margin-top: 0.05rem;
	background-color:rgb(26,112,184);
}
/*
footer a:hover, a:hover * { 
	color:rgb(233,76,10) !important; 
}															 
footer a[data-mailto-token*="."]:hover span { background-image: url(images/at_OR.svg) !important;}
*/


/* ToTop */
body > div.totop {
	position: fixed;
	right: .5rem;
	bottom: .5rem;
	top: auto;
	left: auto;
	width: 2rem;
	height: 2rem;
	padding: .1rem 0 0 0;
	margin: 0;
	text-align: center;
	background-color: rgb(26,112,184);
	border-radius: 1rem;
	transition: all .3s ease;
}
body > div.totop a::before {
	content:"▲";
	display: inline-block;
	width: 2rem;
	font-size: 1.6rem;
	line-height: 1;
}
body > div.totop a {
	position: relative;
	top:0;
	right: 0;
	width:2rem;
	text-align: center;
	font-size: 0.8rem;
	color: rgb(255,255,255) !important;
}
body > div.totop:hover { bottom:1rem; }

/* eMail-Addresses */
a[data-mailto-token*="."] {
  transition:none;
}
a[data-mailto-token*="."] span {
	display: inline-block;
	width: .9em;
	height: .9em;
	background-repeat: no-repeat;
	background-size: contain;
	background-image: url(images/at_GR.svg);
}
.Farbe_BL a[data-mailto-token*="."] span { background-image: url(images/at_BL.svg);}
.Farbe_OR a[data-mailto-token*="."] span { background-image: url(images/at_OR.svg);}
.Farbe_WS a[data-mailto-token*="."] span { background-image: url(images/at_WS.svg);}
a[data-mailto-token*="."]:hover span { background-image: url(images/at_OR.svg);}
.Farbe_WS a[data-mailto-token*="."]:hover span { background-image: url(images/at_BL.svg);}


/* Typo Styles */
/* Space */
.frame-space-before-extra-small { margin-top:0; padding-top: .5em; }
.frame-space-after-extra-small { margin-bottom:0; padding-bottom: .5em; }
.frame-space-before-small { margin-top:0; padding-top: 1em; }
.frame-space-after-small { margin-bottom:0; padding-bottom: 1em; }
.frame-space-before-medium { margin-top:0; padding-top: 1.5em; }
.frame-space-after-medium { margin-bottom:0; padding-bottom: 1.5em; }
.frame-space-before-large { margin-top:0; padding-top: 2em; }
.frame-space-before-extra-large { margin-top:0; padding-top: 2.5em; }
.frame-space-after-large { margin-bottom:0; padding-bottom: 2em; }
.frame-space-after-extra-large { margin-bottom:0; padding-bottom: 2.5em; }

.content > div.frame-layout-7.frame-space-before-extra-small,
.content > div.frame-layout-8.frame-space-before-extra-small, 
.content > div.frame-layout-9.frame-space-before-extra-small 
{ margin-top: .5em; }
.content > div.frame-layout-7.frame-space-before-small,
.content > div.frame-layout-8.frame-space-before-small, 
.content > div.frame-layout-9.frame-space-before-small 
{ margin-top: 1em; }
.content > div.frame-layout-7.frame-space-before-medium,
.content > div.frame-layout-8.frame-space-before-medium, 
.content > div.frame-layout-9.frame-space-before-medium 
{ margin-top: 1.5em; }
.content > div.frame-layout-7.frame-space-before-large,
.content > div.frame-layout-8.frame-space-before-large, 
.content > div.frame-layout-9.frame-space-before-large 
{ margin-top: 2em; }
.content > div.frame-layout-7.frame-space-before-extra-large,
.content > div.frame-layout-8.frame-space-before-extra-large, 
.content > div.frame-layout-9.frame-space-before-extra-large 
{ margin-top: 2.5em; }

.content > div.frame-layout-7.frame-space-after-extra-small,
.content > div.frame-layout-8.frame-space-after-extra-small, 
.content > div.frame-layout-9.frame-space-after-extra-small 
{ margin-bottom: .5em; }
.content > div.frame-layout-7.frame-space-after-small,
.content > div.frame-layout-8.frame-space-after-small, 
.content > div.frame-layout-9.frame-space-after-small 
{ margin-bottom: 1em; }
.content > div.frame-layout-7.frame-space-after-medium,
.content > div.frame-layout-8.frame-space-after-medium, 
.content > div.frame-layout-9.frame-space-after-medium 
{ margin-bottom: 1.5em; }
.content > div.frame-layout-7.frame-space-after-large,
.content > div.frame-layout-8.frame-space-after-large, 
.content > div.frame-layout-9.frame-space-after-large 
{ margin-bottom: 2em; }
.content > div.frame-layout-7.frame-space-after-extra-large,
.content > div.frame-layout-8.frame-space-after-extra-large, 
.content > div.frame-layout-9.frame-space-after-extra-large 
{ margin-bottom: 2.5em; }

.frame-type-menu_subpages ul {
	list-style: none;
	padding: .5rem;
	max-width:43.5rem;
	margin: auto;
	text-align: center;
	border-top:2px solid rgb(233,76,10);
}
.frame-type-menu_subpages li {
	display: inline;
}

.frame-type-menu_subpages a {
	display: inline-block;
	box-sizing: border-box;
	min-width: 2rem;
	min-height: 2rem;
	padding: .1rem .5rem;	
	border: 1px solid rgb(26,112,184);
	border-radius: .5rem;
}
.frame-type-menu_subpages a.cur {
	color:rgb(255,255,255);
	background-color: rgb(26,112,184);
}

/* Formulare */
.frame-layout-8 label, .frame-layout-9 label {color:rgb(255,255,255); }
fieldset { border: 0; padding: 2rem 0; }
legend { font-weight: bold; }
form { margin: 2rem auto; }
.form-group { margin: 0 0 .5rem 0;}
input, button,textarea, select { 
	width: 100%; 
	font-size: 0.8rem; 
	padding: .5rem; 
	border-radius:.5rem; 
	border:1px solid rgb(200,200,200); 
	background-color:rgb(245,245,245);
	transition:all .3s ease;
}
button { 
	background-color:rgb(210,210,210); 
	cursor:pointer; 
	width: initial; 
	min-width:14rem;
}
.btn-primary { display: inline-block; float:right; font-weight: bold; }
.btn-group.next:after { content:''; clear:both; display: inline-block; }
.checkbox input { width:1rem; }
textarea { height: 10rem; }

button:hover { background-color: rgb(233,76,10); color:rgb(255,255,255); }
input:hover, textarea:hover, select:hover { border-color: rgb(233,76,10); }

.table-responsive td { width: 70%; padding: .2rem; }
.table-responsive tr:last-of-type td { font-size: .6rem; }
.table-responsive .summary-table-first-col { font-weight: bold; width: 30%; text-align: right; }



/* Responsive */
@media all and (max-width: 1349px) {
	main .content img { max-width: 100%; height: initial; }
	.p80 { font-size: 3.5rem; }
	img[src*="WS-rund.svg"] { margin-left: -5rem; }
}
@media all and (max-width: 1299px) {
	#menu {	width: 100%; }
	#menu > ul {	text-align: right; }
	#menu > ul > li:nth-of-type(1) { display: block; float:left; }
	#menu > ul > li:nth-of-type(1) { margin-right:0;  }
	.p80 { font-size: 3rem; }
}
@media all and (max-width: 1119px) {
	#menu > ul > li a { width: 8.8rem; }
}
@media all and (max-width: 1023px) {
	body > header .content img { max-height:8rem; }
	img[src*="WS-rund.svg"] { margin-left: -2rem; height: 8rem; }
	img[src*="HSG-Logo_WS-rund.svg"] { margin-left:-10%; height: 8rem; }
	h1, .p60, .p80 { font-size: 2rem; }

	.Spalten_66 > div { flex:0 1 100%; }
	.content > div.frame-7 > * { padding-left:0.75rem; }

	.content > div.frame-layout-12,
	.content > div.frame-layout-13,
	.content > div.frame-layout-14 { flex: 1 1 100%; max-width:100%;}	
	.content > div.frame-layout-13 { background-image: linear-gradient(180deg, rgb(255,255,255) 0%,rgb(211,233,246) 100%); }	
	.content > div.frame-layout-14 { background-image: linear-gradient(0deg, rgb(255,255,255) 0%,rgb(211,233,246) 100%); }	
	.content > div.frame-layout-13 .ce-inner,
	.content > div.frame-layout-14 .ce-inner { text-align: center; }	
	.content > div.frame-layout-13 .ce-row,
	.content > div.frame-layout-14 .ce-row { display: inline-block; margin: .25rem; }	
}
@media all and (max-width: 899px) {
	#menu > ul > li a{ width: 7.9rem; }

	.Rund { width:100%; height:inherit; }
	.Rund > div { border-radius: 5rem; padding: 0.5rem 0.5rem 2rem 0.5rem; }
}
@media all and (max-width: 799px) {
	#menu > ul > li a{ width: 7.3rem; }
}
@media all and (max-width: 749px) {

	#menu > ul li > a {
	  width: 100%;
	}
	#menu {
		left:inherit;
		right: 1rem;
		top:.5rem;
		width: 9rem;
		height: initial;
		min-height: 2.5rem;
		padding: 0;
		margin: 0 0 0 auto;
	}
	#menu label {
		position:absolute;
		display: block;
		right:0px;
		width:2rem;
		height:2rem;
		color:rgb(51,51,51);
		transition:all .5s ease;
	}
	#menu > label span.menu- {
		position: absolute;
		left: .3rem;
		width:1.6rem;
		height:.2rem;
		background-color: rgb(255,255,255);
		white-space:pre;
		cursor:pointer;
		transition:all .5s ease;
	}
	#menu > label  { transform: rotateZ(0deg); }
	#menu > label span.menu-:nth-of-type(1) { top:0.4rem; transform: translateY(0rem) rotateZ(0deg); }
	#menu > label span.menu-:nth-of-type(2) { top:0.8rem; transform: rotateZ(0deg); }
	#menu > label span.menu-:nth-of-type(3) { top:1.2rem; transform: translateY(0rem) rotateZ(0deg); }
	#menu > ul { position: absolute; top:2.0rem; left:0rem; overflow: hidden; box-shadow: 0px 4px 3px rgba(0,0,0,.4); height: auto; background-color: rgb(255,255,255);}
	#menu > ul > li { position:relative; padding:0; margin:-4rem 0 0 0 !important; display: block; float: none !important; width: 100%;}
	#menu > ul > li > a { display: block; padding:.75rem 0; background-color: rgb(26,112,184); border-top: 1px solid rgb(255,255,255);  }
	#menu > ul > li > ul {  box-shadow: none; }
	#menu > ul > li ul li { margin:-4rem 0 0 0 !important; }
	
	#showMenu:checked + #menu > ul > li { margin:.0rem 0 0 0 !important; }
	#showMenu:checked + #menu > ul > li ul li { margin:.0rem 0 0 0 !important; }
	#showMenu:checked + #menu > label  { border-radius: .8rem; }
	#showMenu:checked + #menu > label span.menu- { width:1.4rem; }
	#showMenu:checked + #menu > label span.menu-:nth-of-type(1) { transform: translateY(0.4rem) rotateZ(-45deg); }
	#showMenu:checked + #menu > label span.menu-:nth-of-type(2) { transform: rotateZ(45deg); }
	#showMenu:checked + #menu > label span.menu-:nth-of-type(3) { transform: translateY(-0.4rem) rotateZ(-45deg); }

	#menu > ul li ul li > a { margin: 0 0 0 0; text-align: center;}

	.Spalten_33_33_33 div[class^="Spalten"], 
	.Spalten_33_66 div[class^="Spalten"], 
	.Spalten_50_50 div[class^="Spalten"], 
	.Spalten_25_25_25_25 div[class^="Spalten"],
	.Spalten_66 div[class^="Spalten"] 
	{ flex-flow: row wrap; }
	.Spalten_33_33_33 div[class^="Spalten"] > div, 
	.Spalten_33_66 div[class^="Spalten"] > div, 
	.Spalten_50_50 div[class^="Spalten"] > div, 
	.Spalten_25_25_25_25 div[class^="Spalten"] > div,
	.Spalten_66 div[class^="Spalten"] > div
	{ flex:0 1 100%; margin: 0 0 .75rem 0; }
	
	footer .text-right { text-align:left; }
}
@media all and (max-width: 719px) {
	h1, .p60, .p80 { font-size: 1.6rem; }
	
	.Link_block { display:inline-block; }

	.Rund { width:21rem; height:21rem; }
	.Rund > div { border-radius: 100%; padding: 0.5rem; }

	.Spalten_33_66, 
	.Spalten_33_33_33 
	{ flex-flow: row wrap; }
	
	.Spalten_33_66 > div:nth-of-type(2n-1),
	.Spalten_33_66 > div:nth-of-type(2n),
	.Spalten_33_33_33 > div,
	.Spalten_66 > div 
	{ flex:0 1 100%; margin: 0 0 .75rem 0; }
	
}								   
@media all and (max-width: 499px) {
	body > header .content .ce-gallery img { max-height: initial; }
	
	.Spalten_50_50 { flex-flow: row wrap; }
	.Spalten_50_50 > div { flex:0 1 100%;  margin: 0 0 .75rem 0; }	
}
@media all and (max-width: 449px) {
	.Rund { width:100%; height:inherit; }
	.Rund > div { border-radius: 5rem; padding: 0.5rem 0.5rem 2rem 0.5rem; }
}								   
