
@font-face {font-family: 'PlantinMTStd-Regular';src: url('../fonts/340D8F_0_0.eot');src: url('../fonts/340D8F_0_0.eot?#iefix') format('embedded-opentype'),url('../fonts/340D8F_0_0.woff2') format('woff2'),url('../fonts/340D8F_0_0.woff') format('woff'),url('../fonts/340D8F_0_0.ttf') format('truetype');}

body {
	font-size: 16px;
	line-height: 1.3;
	font-family: 'Crimson Text', serif;
	color: black;
}

h1,h2,h3,h4,p {
	-webkit-hyphens: auto;
  -moz-hyphens: auto;
	-ms-hyphens: auto;
  hyphens: auto;
}

a {
	color: black;
	text-decoration: underline;
}

a:hover {
	text-decoration: none;
}

.extEventLinks a {
	font-family: PlantinMTStd-Regular, Georgia, serif;
	text-decoration:none;
	font-size: 1.25em;
	display:block;
	margin-bottom: 0.5em;
}

h2>a.ticketLink {
	font-size: 1em;
}

.extEventLinks a.empty {
	display:none;
}

.component:not(.isBeingEdited) .extEventLinks a:before {
	font-family: 'Crimson Text', serif;
	content: "› ";
}

.contentArea div[data-type="redactor"] ul,
.contentArea div[data-type="fullredactor"] ul {
	list-style: disc;
	margin: 0 0 1em 0;
}

.contentArea div[data-type="redactor"] table,
.contentArea div[data-type="fullredactor"] table {
	margin-bottom: 1em;
	table-layout: fixed;
}

.contentArea div[data-type="redactor"] ul>li,
.contentArea div[data-type="fullredactor"] ul>li {
	margin-left: 1.2em;
	padding-left: 0.2em;
}

.pageTitle {
	font-family: PlantinMTStd-Regular, Georgia, serif;
}

.contentArea h2,
.contentArea .lead {
	font-family: PlantinMTStd-Regular, Georgia, serif;
	font-size: 1.2em;
	line-height: 1.3;
}

.contentArea h2 {
	margin-bottom: 0.3em;
}

.column p+h2,
.column+.column,
.column table+h2,
.column ul+h2,
.columns+.columns,
.gallery+.columns,
.pageTitle+.columns,
form+h2 {
	margin-top: 2em;
}

.contentArea .lead {
	margin-bottom: 1.5em;
}

.contentArea p.small,
.contentArea div.small {
	font-size: 0.8em;
}

.contentArea .userForm {
	margin: 1em 0;
}

.contentArea .userForm label,
.contentArea .userForm input {
	display:inline-block;
}

.contentArea .userForm label {
	width: 33%;
}

.contentArea .userForm input[type="text"],
.contentArea .userForm input[type="email"],
.contentArea .userForm input[type="date"],
.contentArea .userForm button {
	background-color: #ddd;
	border: none;
	padding: 0.1em 0.5em;
}

.contentArea .userForm input[type="text"],
.contentArea .userForm input[type="email"],
.contentArea .userForm input[type="date"] {
	width: 66%;
	margin-bottom: 0.3em;
}

.contentArea .userForm input.short {
	width: 3.1em;
	margin-right: 0.3em;
}

.contentArea div[data-type="redactor"] .userForm table,
.contentArea div[data-type="fullredactor"] .userForm table {
	table-layout:auto;
}

.submitError {
	color: red;
	padding: 1em 0;
}


.mainHeader,
.mainContainer,
.mainFooter,
.contentArea {
	position: relative;
}

.mainHeader,
.mainContainer,
.mainFooter {
	padding: 0;
}

.mainHeader {
	padding: 0.5em;
	border-bottom: 1px solid black;
	min-height: 23vw;
}

.mainHeader .logo {
	position: absolute;
	width: 30%;
}

.mainHeader .logo img {
	width: 100%;
}

.mainContainer {
	min-height: calc(77vh);
}

.pageTitle {
	font-size: 1.8em;
	line-height: 1;
	margin-bottom: 0.4em;
}

.pageTitle img {
	width: 95px;
	margin-bottom: 0.5em;
	margin-top: 0.2em;
}

.pageSubTitle,
.contentArea .pageSubTitle {
	font-size: 1.2em;
	padding-bottom: 0.5em;
}

.mainArea {
	padding-bottom: 2em;
}

.contentArea .component {
	position: relative;
	padding: 0.5em;
}

.contentArea table {
	width: 100%;
}

/*
.contentArea div:not(div.redactor-styles) td:not(:last-of-type) {
	padding: 0 1em 0 0;
}
*/

.contentArea td {
	padding-bottom: 0.3em;
}

.contentArea td:not(:last-of-type) {
	padding-right: 0.5em;
}

.contentArea .foldableContainer {
	border-top: 1px solid black;
	min-height: 6em;
}

.contentArea.subSection:last-of-type .foldableContainer:not(.open) {
	border-bottom: 1px solid black;
}

.contentArea .foldableContainer.open,
html.isLoggedIn .foldableContainer {
	padding-bottom: 4em;
}


html:not(.isLoggedIn) .foldableContainer .columns:not(.previewColumns) {
	max-height: 0;
	overflow:hidden;
	transition: none;
}

html:not(.isLoggedIn) .foldableContainer.open .columns:not(.previewColumns) {
	max-height: 8000px;
	transition: max-height 1s ease;
}

.foldableContainer.open .arrowDown {
	bottom: auto;
	top: 0;
	right: -1px;
	transform: rotate(180deg);
}

.sectionTitle {
	padding-bottom: 1em;
	margin: 0;
	max-width: 85%;
}

html:not(.isLoggedIn) .foldableContainer:not(.open) .sectionTitle {
	cursor:pointer;
}

.foldableContainer .arrowDown {
	position: absolute;
	bottom: 0;
	right: 0;
	padding: 1em;
	cursor:pointer;
}

html:not(.isLoggedIn) .subSection.empty {
	display:none;
}


/* footer */

.mainFooter {
	padding: 0.5em;
	border-top: 1px solid black;
	margin-top: 8em;
}

.schulLogos img.logo,
.mainFooter img.logo {
	max-height: 50px;
	margin-bottom: 0.5em;
}

.mainFooter .row5 img.logo {
	max-height: 40px;
}




.component[data-component-type="textfield"]+.component[data-component-type="sectiontitle"] {
	margin-top: 3em;
}

.contentArea img {
	display:block;
	max-width: 100%;
}

img.logo {
	max-height: 60px;
	max-width: 200px;
	margin-right: 1em;
	margin-bottom: 1em;
	display:inline-block;
	vertical-align: middle;
}




/* images / gallery */


.gallery {
	position: relative;
	overflow:hidden;
	width: calc(100% + 1em);
	padding-bottom: 47%;
	height: 0;
	-ms-touch-action: none;
	margin-left: -0.5em;
	margin-right: -0.5em;
	margin-bottom: 1em;
	margin-top: 1em;
}

.gallery.portrait {
	width: 100%;
	padding-bottom: 160%;
}


.gallery>img {
	position:absolute;
	top: 0;
	bottom: 0;
	left: 0;
	right: 0;
	margin: auto;
	opacity: 0;
	width: 100%;
	transition: opacity ease 0.3s;
}

.gallery>img[data-orientation="portrait"] {
	height: 100%;
	width: auto;
}

.gallery>img.active {
	opacity: 1;
}

.slidesButtons {
	display:none;
}


.slide {
	margin-bottom: 0.5em;
}

iframe {
	margin-bottom: 0.3em;
}



/* slide indicators */

.gallery .slideIndicatorContainer {
	position: absolute;
	bottom: 0;
	text-align: center;
	margin: 0.4em auto;
	width: 100%;
}

.gallery .slideIndicator {
	position: relative;
	display:inline-block;
	width: 10px;
	height: 10px;
	border-radius: 5px;
	margin-right: 6px;
	background-color: #666;
}

.gallery .slideIndicator:not(.active) {
	background-color: #ddd;
}



/* other */


.extEventLinks {
	margin-top: 2em;
}

body.home .stickyContainer {
	min-height: 0 !important;
}

.schutzkonzeptButton {
	position: relative;
	width: 100px;
	height: 100px;
	bottom: 100px;
	right: 4vw;
	margin: 0 0 0 auto;
}

.schutzkonzeptButton img {
	display:block;
	width: 100%;
	height: auto;
}



/* tablet & desktop */
@media only screen and (min-width: 1000px) {
	
	body {
		font-size: 19px;
	}
	
	.mainHeader,
	.mainContainer,
	.mainFooter {
		padding: 0;
		margin: 0 auto;
	}
	
	.mainHeader {
		position: fixed;
		width: 100%;
		min-height: 0;
		height: 4.4em;
		top: 0;
		z-index: 20;
		background-color: white;
	}
	
	.isLoggedIn .mainHeader {
		margin-top: 32px;
	}
	
	.mainHeader .logo {
		position: absolute;
		bottom: 0.25em;
		left: -12%;
		width: 8vw;
		max-width: 92px;
		text-align: right;
	}
	
	.contentArea h2,
	.contentArea .lead {
		font-size: 1.4em;
	}
	
	.component:not(.isBeingEdited) .pageSubTitle,
	.contentArea .component:not(.isBeingEdited) .pageSubTitle {
		position: absolute;
		left: 173px;
		top: 47px;
		overflow:visible;
		white-space:nowrap;
	}
	
	html.isLoggedIn .component:not(.isBeingEdited) .pageSubTitle {
		top: 81px;
	}
	
	.contentArea .lead {
		margin-top: 1.5em;
		font-size: 1.2em;
	}
	
	.mainContainer {
		margin-top: 4.4em;
	}
	
	.isLoggedIn .mainContainer {
		margin-top: calc(4.4em + 32px);
	}

	.mainContainer,
	.mainFooter .rowsContainer {
		width: 76vw;
		max-width: 1200px;
	}
	
	.mainArea {
		padding-top: 2em;
	}
	
	.contentArea.subSection .component,
	.contentArea.subSection .columns>div:not(.sortMode) .componentGroupAdminButtons,
	.contentArea.subSection .ui-sortable {
		padding: 0.5em 0.5em 2em 0.5em;
	}

	.contentArea .column {
		position: relative;
		display:inline-block;
		vertical-align: top;
		width: 48%;
	}
	
	.column+.column {
		margin-top: 0;
	}


	.contentArea .columnLeft {
		margin-right: 4%;
	}
	
	.pageTitle {
		margin-bottom: 0.5em;
	}
	
	.pageTitle img {
		width: 129px;
	}
	
	.foldableContainer .arrowDown {
		padding: 1em 2em;
	}
	

	

	/* images / gallery */
	
	.gallery {
		margin-left: 0;
		margin-right: 0;
		margin-top: 0;
		width: 100%;
	}

	.gallery.portrait {
		width: 100%;
		padding-bottom: 60%;
	}

	.slidesButtons {
		display:block;
		position: absolute;
		top: 0;
		left: 0;
		width: 100%;
		height: 100%;
	}

	.slidesButtons>div {
		position: absolute;
		display:block;
		width: 1.2em;
		height: 100%;
		cursor: pointer;
	}

	.slidesArrow {
		width: 60%;
		position: absolute;
		top: 50%;
		margin-top: -10px;
		transition: margin-left ease 0.1s;
		fill:white;
	}

	.slideLeftButton .slidesArrow,
	.slideLeftButton {
		left: 0.5em;
	}

	.slideRightButton .slidesArrow,
	.slideRightButton {
		right: 0.5em;
	}
	
	
	/* footer */

	.mainFooter {
		margin-top: 4em;
	}
	
	body.inEditMode .mainFooter {
		padding: 0.5em;
	} 

	.mainFooter .rowsContainer {
		margin: 0 auto;
		position: relative;
		padding: 0.8em 0.5em;
	}
	
	body:not(.inEditMode) .mainFooter .rowsContainer {
		display:table;
	}
	
	body:not(.inEditMode) .mainFooter .rowsContainer>div {
		display:table-cell;
	}
	
	body:not(.inEditMode) .mainFooter .row1 {
		width: 22%;
	}
	
	body:not(.inEditMode) .mainFooter .row4 {
		width: 22.5%;
	}
	
	body:not(.inEditMode) .mainFooter .row5 {
		width: 12%;
		text-align: right;
	}

	body:not(.inEditMode) .mainFooter .componentAdminButtons {
		position: absolute;
		left: -90px;
		top: 3px;
	}
		
	body:not(.inEditMode) .mainFooter .componentAdminButtons {
		position: absolute;
		left: -90px;
		top: 3px;
	}

	body:not(.inEditMode) .mainFooter .row5 img.logo {
		margin-right: 0;
		margin-left: 1em;
	}
	
	.schutzkonzeptButton {
		width: 140px;
		bottom: 120px;
		right: 0;
		margin: 0 0 0 auto;
	}
}

/* desktop + */
@media only screen and (min-width: 1500px) {
	.schutzkonzeptButton {
		width: 160px;
		bottom: 140px;
	}
}