/* Reset
-----------------------------------------------------------*/
article,aside,details,figcaption,figure,footer,header,hgroup,hr,menu,nav,section{display:block}a,hr{padding:0}abbr,address,article,aside,audio,b,blockquote,body,canvas,caption,cite,code,dd,del,details,dfn,div,dl,dt,em,fieldset,figcaption,figure,footer,form,h1,h2,h3,h4,h5,h6,header,hgroup,html,i,iframe,img,ins,kbd,label,legend,li,mark,menu,nav,object,ol,p,pre,q,samp,section,small,span,strong,sub,summary,sup,table,tbody,td,tfoot,th,thead,time,tr,ul,var,video{margin:0;padding:0;border:0;outline:0;font-size:100%;font-style:normal;vertical-align:baseline;background:0 0;font-weight:normal;font-style:normal;}ins,mark{background-color:#ff9;color:#000}body{line-height:1}ul, ol{list-style:none}blockquote,q{quotes:none}blockquote:after,blockquote:before,q:after,q:before{content:'';content:none}a{margin:0;font-size:100%;vertical-align:baseline;background:0 0}ins{text-decoration:none}mark{font-style:italic;font-weight:700}del{text-decoration:line-through}abbr[title],dfn[title]{border-bottom:1px dotted;cursor:help}table{border-collapse:collapse;border-spacing:0}hr{height:1px;border:0;border-top:1px solid #ccc;margin:1em 0}input,select{vertical-align:middle}

/* Schriften
-----------------------------------------------------------*/
	@font-face {
	font-family: 'ElenaWebBasicRegularItalic';
	src: url('webfonts/ElenaWebBasicRegularItalic.eot');
	src: url('webfonts/ElenaWebBasicRegularItalic%EF%B9%96.eot#iefix') format('embedded-opentype'),
	     url('webfonts/ElenaWebBasicRegularItalic.woff2') format('woff2'),
	     url('webfonts/ElenaWebBasicRegularItalic.woff') format('woff');
	font-weight: normal;
	font-style: normal;
	}

	@font-face {
	font-family: 'ElenaWebBasicRegular';
	src: url('webfonts/ElenaWebBasicRegular.eot');
	src: url('webfonts/ElenaWebBasicRegular%EF%B9%96.eot#iefix') format('embedded-opentype'),
	     url('webfonts/ElenaWebBasicRegular.woff2') format('woff2'),
	     url('webfonts/ElenaWebBasicRegular.woff') format('woff');
	font-weight: normal;
	font-style: normal;
	}

	@font-face {
	font-family: 'ElenaWebBasicBold';
	src: url('webfonts/ElenaWebBasicBold.eot');
	src: url('webfonts/ElenaWebBasicBold%EF%B9%96.eot#iefix') format('embedded-opentype'),
	     url('webfonts/ElenaWebBasicBold.woff2') format('woff2'),
	     url('webfonts/ElenaWebBasicBold.woff') format('woff');
	font-weight: normal;
	font-style: normal;
	}

/* Grundgerüst
-----------------------------------------------------------*/
html {
	-webkit-text-size-adjust: none;
	-webkit-font-smoothing: antialiased;
	-moz-osx-font-smoothing: grayscale;
/* 	min-height: 101%; */
}

body {
	font-family: "ElenaWebBasicRegular", Georgia, "Times New Roman", Times, serif;
	color: #000;
	font-size: 20px;
}

.frame {
	margin: 0 auto;
	width: 100%;
	max-width: 1250px;
	position: relative;
}

.mainContent, .siteHeader, .siteFooter {
	margin: 0 4.8245614035%;
	position: relative;
}

.mainImg {
	margin-bottom: 3em;
}

.grid-footer,
.grid-3,
.grid-4,
.person-block {
	display: grid;
	grid-template-columns: repeat(4, minmax(0, 1fr));
	grid-template-rows: 1fr;
	grid-column-gap: 8%;
	grid-row-gap: 0px;
	align-items: end;
}

.grid-3,
.grid-4,
.person-block {
	display: grid;
	grid-template-columns: repeat(4, minmax(0, 1fr));
	grid-template-rows: 1fr;
	grid-column-gap: 4.3859649123%;
	grid-row-gap: 3em;
	align-items: normal;
}

.grid-3 {
	grid-template-columns: repeat(3, minmax(0, 1fr));
}

/* Allgemeine Formatierungen
-----------------------------------------------------------*/
img {
	max-width: 100%;
	height: auto;
}

a {
	color: #d84f04;
	text-decoration: none;
	border-bottom: 1px solid #000;
}

p {
	line-height: 1.5em;
	margin-bottom: 0.75em;
}

p:last-child {
	margin-bottom: 0;
}

em {
	font-family: "ElenaWebBasicRegularItalic", Georgia, "Times New Roman", Times, serif;
}

h1, h2 {
	font-size: 1.75em;
	line-height: 1.2em;
	padding-bottom: 0.4em;
}

h3 {
	font-family: "ElenaWebBasicBold", Georgia, "Times New Roman", Times, serif;
	line-height: 1.5em;
}

h4 {
	font-family: "ElenaWebBasicRegularItalic", Georgia, "Times New Roman", Times, serif;
	line-height: 1.5em;
	display: inline;
	border-bottom: 1px solid #afafaf;
}

h4:after {
	content: "";
	display: table;
	clear: both;
}


/* Struktur
-----------------------------------------------------------*/
.fullBlock {
	margin-bottom: 6em;
}

.bigBlock {
	width: 61.6504854369%;
	margin-bottom: 6em;
}

.alignRight {
	padding-left: 38.349514563%;
}

.alignCenter {
	padding-left: 23.786407767%;
}

.abstandOben {
	margin-top: 3em;
}

.abstandUnten {
	margin-bottom: 1.5em;
}
/*
.fullBlock.txtImg .textBlock {
	float: left;
	width: 33.0097087379%;
}

.fullBlock.txtImg .imgBlock {
	float: right;
	width: 61.6504854369%;
}
*/


.kursBlock, .newsBlock {
	padding-bottom: 1.5em;
/* 	margin-bottom: 0.75em; */
	position: relative;
}

.kursBlock:after, .newsBlock:after {
	display: block;
	content: "";
	width: 5.3398058252%;
	height: 2px;
	background: #c3c3c3;
	background: #000;
	margin-top: 1.5em;

	background: #d84f04;

}

.kursBlock:after {
	width: 23.786407767%;
}

//.newsBlock:last-child:after {
//	display: none;
/* 	content: none; */
/*
	content: "";
	width: 23.786407767%;
	width: 5.3398058252%;
	height: 2px;
	background: #c3c3c3;
	background: #000;
	margin-top: 1.5em;
*/
//}



.zusatzInfo {
	padding-top: 3em;
}

/* Header
-----------------------------------------------------------*/
.logo {
	display: block;
	width: 135px;
	float: left;
	margin: 1.5em 0;
	border-bottom: none;
}


/* Footer
-----------------------------------------------------------*/
.siteFooter {
	padding: 12em 0 6em 0;
}

/* .adressBlock {
	float: left;
	width: 23.786407767%;
} */


/* Spezifische Formatierungen
-----------------------------------------------------------*/
.homeImg {
	position: relative;
}

.homeImg p {
	position: absolute;
	text-align: center;
	width: 100%;
	font-size: 1.75em;
	color: #fff;
	text-transform: uppercase;
	top: 50%;
	-ms-transform: translateY(-50%);
	-webkit-transform: translateY(-50%);
	transform: translateY(-50%);
	line-height: 1.3em;
	background: url(../img/trennerstrich.svg) no-repeat center bottom;
	background-size: 6% auto;
	padding-bottom: 0.5em;
}

.floatImg {
	float: right;
	width: 61.6504854369%;
	padding: 0 0 1.5em 5.3398058252%;
}


/* Team / Personen
-----------------------------------------------------------*/
.person-block {
	margin-top: 3em;
}

.person-block {
	display: grid;
	grid-template-columns: 3fr 4fr;
	grid-column-gap: 8%;
	grid-row-gap: 0px;
	align-items: normal;
}

.person-block .info {
	margin-top: 1em;
}

.person-block .info h2 {
	padding-bottom: 0.1em;
}

.person-block .info h3 {
	padding-bottom: 0.1em;
}

.portrait img {
	border-radius: 50%;
}

/* Arbeiten
-----------------------------------------------------------*/
/* .arbeitLink {
	border: none;
	display: block;
	float: left;
	width: 26.3157894737%;
	width: 21.7105263158%;
	margin: 0 4.3859649123% 3em 0;
	color: inherit;
	font-family: "ElenaWebBasicRegularItalic", Georgia, "Times New Roman", Times, serif;
	position: relative;
} */

/* .arbeitLink:nth-child(4n) {
	margin-right: 0;
} */

/* .arbeitLink:nth-child(3n+2) {
}

.arbeitLink:nth-child(4n+1) {
	clear: left;
} */

/*
.arbeitLink img {
	display: block;
}
*/

.arbeitLink {
	border: none;
}

.arbeitLink p {
	position: relative;
	color: #000;
	font-family: "ElenaWebBasicRegularItalic", Georgia, "Times New Roman", Times, serif;
	border: none;
}

.arbeitLink p:before {
	content: "";
	background: url(../img/iconPlus.svg) no-repeat center center;
	background-size: 100% 100%;
	display: block;
	width: 13px;
	height: 13px;
	position: absolute;
	right: 0;
	z-index: 1;
	bottom: 0.45em;
}

.arbeitAnriss {
	border: none;
}

.arbeitAnriss h2 {
	padding: 0.4em 0 0.2em 0;
	color: #000;
}

.arbeitAnriss p {
	display: inline-block;
	border-bottom: 1px solid inherit;
	/* color: #000; */
	font-family: "ElenaWebBasicRegularItalic", Georgia, "Times New Roman", Times, serif;
	line-height: 1.5em;
}


/* Veranstaltungen
-----------------------------------------------------------*/
.veranstaltungLink {
	border: none;
	display: block;
	float: left;
	width: 21.7105263158%;
	margin: 0 4.3859649123% 3em 0;
	color: inherit;
	font-family: "ElenaWebBasicRegularItalic", Georgia, "Times New Roman", Times, serif;
	position: relative;
}

.veranstaltungLink:nth-child(4n) {
	margin-right: 0;
}

.veranstaltungLink:nth-child(4n+1) {
	clear: left;
}

.veranstaltungLink:before {
	content: "";
	background: url(../img/iconPlus.svg) no-repeat center center;
	background-size: 100% 100%;
	display: block;
	width: 13px;
	height: 13px;
	position: absolute;
	right: 0;
	z-index: 1;
	bottom: -1em;
}

/* Main Navigation
-----------------------------------------------------------*/
.mainNav {
	position: absolute;
	right: 0;
	bottom: 1.5em;
	width: 61.6504854369%;
	z-index: 10;
}

.mainNav a {
	color: inherit;
	border-bottom: none;
}

.mainNav ul {
    display: flex;
    align-items: stretch;
    justify-content: space-between;
    width: 100%;
 	background: #fff;
 }

.mainNav > ul li {
	display: block;
    flex: 0 1 auto;
}

.mainNav ul ul {
	display: none;
	position: absolute;
 	width: auto;
/*     z-index: 10; */
	margin: 0;
	padding: 0.75em 0 0.25em 0;
	position: absolute;
	-webkit-box-shadow: 0px 4px 3px 0px rgba(0,0,0,0.2);
	-moz-box-shadow: 0px 4px 3px 0px rgba(0,0,0,0.2);
	box-shadow: 0px 4px 3px 0px rgba(0,0,0,0.2);
	min-width: 200px;

}

.mainNav ul ul li {
	padding: 0.25em 0.75em;
	border-bottom: 1px solid #f1f1f1;
	position: relative;
	font-family: "ElenaWebBasicRegularItalic", Georgia, "Times New Roman", Times, serif;
}

.mainNav ul ul li:last-child {
	border-bottom: none;
}

.mainNav ul li:hover ul {
	display: block;
}

a.active, .ancestor>a, .mainNav ul li a:hover {
	color: #d84f04;
}

.has-children > a,
.mainNav ul li:has(> ul) > a
 {
	padding: 0 0 0 1em;
	background: url(../img/iconDropdown.svg) no-repeat left center;
	background-size: auto 65%;
}



/*-----------------------------------------------------------------------------------
-------------------------------------------------------------------------------------
MediaQueries
-------------------------------------------------------------------------------------
-----------------------------------------------------------------------------------*/

@media screen and (max-width: 1400px) {

.fullWidth {
	margin: 0 4.8245614035%;
}

} /* Ende 1400px */


@media screen and (max-width: 1200px) {

.grid-footer {
	grid-template-columns: repeat(3, minmax(0, 1fr));
}

}

@media screen and (max-width: 1050px) {

body {
	font-size: 19px;
}

.bigBlock {
	width: 76.213592233%;
	margin-bottom: 9em;
}

.alignRight {
	padding-left: 23.786407767%;
}

.alignCenter {
	padding-left: 23.786407767%;
}

.mainNav {
	width: 76.213592233%;
}


/* Arbeiten
-----------------------------------------------------------*/
.grid-4 {
	grid-template-columns: repeat(3, minmax(0, 1fr));
}

.grid-3 {
	grid-template-columns: repeat(2, minmax(0, 1fr));
}

/* Footer
-----------------------------------------------------------*/
.siteFooter {
	padding: 6em 0 6em 0;
}

.adressBlock {
/* 	float: left; */
	width: auto;
	padding: 0 4.3859649123% 0 0;
}


} /* Ende 1000px */






@media screen and (max-width: 800px) {


body {
	font-size: 18px;
}

.bigBlock, .fullBlock {
	width: 100%;
	margin-bottom: 6em;
}

.alignRight {
	padding-left: 0%;
}

.alignCenter {
	padding-left: 0%;
}

.floatImg {
	float: none;
	width: 100%;
	padding: 0 0 1.5em 0;
}

.zusatzInfo {
	padding-top: 1.5em;
}

.grid-footer {
	grid-template-columns: repeat(2, minmax(0, 1fr));
}

/* Header
-----------------------------------------------------------*/
.logo {
	margin: 1em 0;
	width: 70px;
}

/* Footer
-----------------------------------------------------------*/
.adressBlock {
	width: auto;
	float: none;
	padding: 0 0 1.5em 0;
}



/* Arbeiten
-----------------------------------------------------------*/
.grid-4 {
	grid-template-columns: repeat(2, minmax(0, 1fr));
}

.grid-3 {
	grid-template-columns: repeat(1, minmax(0, 1fr));
}

/* Navigation
-----------------------------------------------------------*/
.mainNav {
	width: auto;
	display: block;
	z-index: 100;
	background: #fff;
	background: rgba(255, 255, 255, 0.93);
/* 	background: red; */
	position: absolute;
	top: 1.5em;
	right: 0;
	bottom: 0;
	left: 100px;
}

.mainNav ul {
	display: none;
/* 	display: block; */
	margin: 2.35em 0 0 0;
/* 	background: red; */
	padding-bottom: 1em;
/* 	background: #fff; */
}

.mainNav > ul {
	-webkit-box-shadow: 0px 4px 3px 0px rgba(0,0,0,0.2);
	-moz-box-shadow: 0px 4px 3px 0px rgba(0,0,0,0.2);
	box-shadow: 0px 4px 3px 0px rgba(0,0,0,0.2);
	background: rgba(255, 255, 255, 0.93);
}

.mainNav ul ul {
	display: block;
	position: static;
 	width: auto;
	margin: 0;
	padding: 0;
	-webkit-box-shadow: none;
	-moz-box-shadow: none;
	box-shadow: none;
	min-width: 200px;
	background: transparent;
/*
	background: #fff;
	background: rgba(255, 255, 255, 0.93);
*/
}

nav.mainNav ul li {
	margin: 0.35em 0;
	text-align: right;
	padding: 0.25em 1em 0.25em 0;
}

nav.mainNav ul ul li:last-child {
	padding-bottom: 0;
	margin-bottom: 0;
}

nav.mainNav label {
	display: block;
/* 	line-height: 34px; */
	padding: 0 0 0 2em;
	position: absolute;
	top: 0;
	right: 0;
	font-family: "ElenaWebBasicBold", Georgia, "Times New Roman", Times, serif;
}

nav.mainNav label span {

/*
	line-height: 1.4em;
	color: #e25859;
	border-bottom: 1px solid #3d3d3d;
*/
}

nav.mainNav label:before {
	background: url(../img/nav-icon.svg) no-repeat left center;
	background-size: auto 100%;
	position: absolute;
	left: 0;
	top: -0.2em;
	display: block;
	content: " ";
	width: 1.4em;
	height: 1.4em;
	/*
	position: absolute;
	left: 15px;
	top: 0;
	content: "\2261";
	font-size: 1.8em;
*/
}

nav.mainNav input[type=checkbox]:checked ~ ul {
	display: block;
	position: static;
}


.has-children > a  {
	padding:0;
	background: none;
}




} /* Ende 800 */



@media screen and (max-width: 500px) {

.grid-footer {
	grid-template-columns: repeat(1, minmax(0, 1fr));
}

} /* Ende 500 */



/* Advanced Checkbox Hack Navigation
-----------------------------------------------------------*/
body {
  -webkit-animation: bugfix infinite 1s;
}

@-webkit-keyframes bugfix {
  from {
	padding: 0;
  }
  to {
	padding: 0;
  }
}

.mainNav input[type=checkbox] {
	position: absolute;
	top: -9999px;
	left: -9999px;
}

.mainNav label {
	display: none;
	cursor: pointer;
	user-select: none;
}



/* Clearfix
-----------------------------------------------------------*/
.group:after {
  content: "";
  display: table;
  clear: both;
 }
