@charset "utf-8";

@font-face {
	font-family: "WolpePegasus";
	font-weight: normal;
	font-style: normal;
	src: url('../webfonts/WolpePegasusRegular/font.woff2') format('woff2'), url('../webfonts/WolpePegasusRegular/font.woff') format('woff');
}
@font-face {
	font-family: "WolpePegasus";
	font-weight: normal;
	font-style: italic;
	src: url('../webfonts/WolpePegasusItalic/font.woff2') format('woff2'), url('../webfonts/WolpePegasusItalic/font.woff') format('woff');
}
@font-face {
	font-family: "WolpePegasus";
	font-weight: bold;
	font-style: normal;
	src: url('../webfonts/WolpePegasusBold/font.woff2') format('woff2'), url('../webfonts/WolpePegasusBold/font.woff') format('woff');
}
@font-face {
	font-family: "WolpePegasus";
	font-weight: bold;
	font-style: italic;
	src: url('../webfonts/WolpePegasusBoldItalic/font.woff2') format('woff2'), url('../webfonts/WolpePegasusBoldItalic/font.woff') format('woff');
}

html { 
	margin: 0px;
	height: 100%;
}
 
:focus {
	 outline:0; 
	 -moz-outline:0; 
}

img {
	vertical-align: baseline;
}

span,div {
	zoom: 1;
}			   

input::-webkit-outer-spin-button,
input::-webkit-inner-spin-button {
  -webkit-appearance: none;
  margin: 0;
}

input[type=number] {
  -moz-appearance: textfield;
}

a {
	zoom: 1;
	color: inherit;
}
	
a img {
	border-width: 0px;
}	   

form {
	margin: 0px;
	padding: 0px;
}
	
sup { 
	vertical-align: baseline;
	position: relative;
	top: -0.5em;
	font-size: 70%;
}

body {	 
	position: relative;
	margin: 0;
	padding: 0px;
	-webkit-text-size-adjust: none;
	-webkit-font-smoothing: antialiased;
	-moz-osx-font-smoothing: grayscale;
	font-family: "WolpePegasus",serif;
	font-size: 18px;
	line-height: 23px;
	color: black;
	height: 100%;
	overflow-x: hidden;
}	 

.bigtext { font-size: 130%; }
.smalltext { font-size: 80%; }

/**** HEADER ****/

.header {
	position: relative;
	color: white;
	border-bottom: 18px solid #f72f46;
	width: 100%;
	overflow: hidden;
}

.header video {
	position: absolute;
	z-index: -1;
	left: 0px;
	top: 0px;
	width: 100%;
}

.header .content {
	text-align: center;
	max-width: 1000px;
	margin: auto;
	padding-top: 130px;
	padding-bottom: 120px;
}

.header h2 {
	font-size: 46px;
	line-height: 0.9;
	font-style: italic;
	max-width: 620px;
	margin: auto;
	color: #f72f46;
}

.header h2 p.smalltext { font-size: 60%; line-height: 1.2; margin-top: -1.5em; }

.header h2 p {
	margin-top: 14px;
	margin-bottom: 14px;
}

.header h1 {
	font-size: 92px;
	line-height: 64px;
	margin-top: 60px;
	margin-bottom: 90px;
}

.header h1 .stern {
	position: relative;
	top: -27px;
	margin-left: 2px;
	margin-right: 2px;
}

.header h1 .jahr {
	position: relative;
	top: 13px;
	letter-spacing: -2px;
}

.header h1 .jahr .num1 {
	position: relative;
	left: -6px;
}

.header .sprecher {
	font-size: 20px;
	line-height: 30px;
	margin: auto;
	margin-bottom: 15px;
}

.header .programmlink {
	color: #ffed71;
}

.header .datum {
	font-size: 24px;
	line-height: 32px;
	font-weight: bold;
	max-width: 600px;
	margin: auto;
	margin-top: 50px;
	color: #f72f46;
}

.header .datum p {
	margin: 0;
}

.header .anmeldelink {
	position: absolute;
	left: 50%;
	top: 410px;
	margin-left: 270px;
}

/**** BODY ****/

.body {
	background-color: white;
}	

.body.subseite {
	border-top: 18px solid #f72f46;
}

.body .content {
	box-sizing: border-box;
	max-width: 800px;
	padding-top: 40px;
	padding-bottom: 80px;
	margin: auto;
}

.body.subseite h1 {
	text-align: center;
	font-size: 30px;
	line-height: 32px;
}

.body h2 {
	text-align: center;
	font-size: 45px;
	line-height: 39px;
	margin-top: 55px;
	margin-bottom: 40px;
}

.body h2.logo {
	line-height: 25px;
	margin-bottom: 40px;
}

.body h2.logo .smalltext {
	font-size: 15px;
	font-weight: normal;
	font-style: italic;
	letter-spacing: 2px;
	line-height: 30px;
}

.body h2.logo .stern {
	position: relative;
	top: -14px;
	margin-left: 1px;
	margin-right: 1px;
}

.body h2.logo .jahr {
	position: relative;
	top: 5px;
	letter-spacing: -0.5px;
}

.body h2.logo .jahr .num1 {
	position: relative;
	left: -3px;
}

.body h3 {
	margin-top: 15px;
	margin-bottom: 15px;
	font-size: 24px;
	line-height: 26px;
	color: #f72f46;
	text-align: center;
}

.body h3 strong { font-size: 24px; }

.body .redtext {
	font-size: 28px;
	line-height: 30px;
	font-style: italic;
	max-width:540px;
	margin: auto;
	color: #f72f46;
	text-align: center;
	font-weight: bold;
	margin-top: 130px;
	margin-bottom: -20px;
}

.body .redtext p {
	margin-top: 10px;
	margin-bottom: 10px;
}

.body .centered-text {
	color: #f72f46;
	text-align: center;
	max-width: 700px;
	margin: auto;
}

.body .bilder {
	text-align: center;	
	margin: auto;
}

.programm {
	text-align: center;
}

.programm strong {
	font-size: 20px;
}

.programm p {
	margin-bottom: 0px;
}

.programm h3 {
	margin-top: 15px;
}

/**** COLTEXT ****/

.coltext-container {
	font-size: 0;
	padding-left: 20px;
	padding-right: 20px;
}

.coltext {
	box-sizing: border-box;
	display: inline-block;
	vertical-align: top;
	width: 50%;
	font-size: 15px;
	line-height: 20px;
	color: #f72f46;
}

.coltext-container .coltext:first-child {
	padding-right: 7px;
}

.coltext-container .coltext:last-child {
	padding-left: 7px;
}

/**** ANMELDEFORMULAR ****/

.anmeldeformular {
	max-width: 350px;
	margin: auto;
	padding-top: 1px;
}

.anmeldeformular input[type=text] {
	box-sizing: border-box;
	font-family: "WolpePegasus",serif;
	font-size: 18px;
	line-height: 22px;
	font-weight: bold;
	border: none;
	border-bottom: 1px solid #a0a0a0;
	width: 100%;
	margin-top: 8px;
	padding: 2px 5px;
}

.anmeldeformular input[name=plz] {
	width: 70px;
	margin-right: 10px;
}

.anmeldeformular input[name=ort] {
	width: calc(100% - 84px);
}

.anmeldeformular input[type=text]::placeholder {
	color: #a0a0a0;
}

.anmeldeformular .pflichtfeldinfo {
	text-align: right;
	margin-top: 12px;
}

.anmeldeformular label {
	display: block;
	font-size: 12px;
	line-height: 16px;
	text-indent: -23px;
	padding-left: 19px;
	margin-top: 5px;
	margin-bottom: 5px;
}

.anmeldeformular .buttons {
	margin-top: 20px;
	text-align: center;
}

.anmeldeformular .fehler, .success {
	text-align: center;
	margin-top: 20px;
	color: #f72f46;
}

.success {
	text-align: center;
	margin-top: 20px;
	font-size: 20px;
	color: black;
}

.anmeldeformular .customSelect {
	box-sizing: border-box;
	font-family: "WolpePegasus",serif;
	font-size: 18px;
	line-height: 22px;
	font-weight: bold;
	border: none;
	border-bottom: 1px solid #a0a0a0;
	margin-top: 8px;
	padding: 2px 5px;
	color: #a0a0a0;
}

.anmeldeformular .customSelect.changed  {
	color: black;
}

.anmeldeformular .customSelect {
    background-image: url(../img/selection-box-button.png);
    background-position: right center;
    background-repeat: no-repeat;
    background-size: 35px 11px;
}

.anmeldeformular .customSelectInner {
	width: 100px !important;
}

.anmeldeformular input[type=submit] {
	background-color:  #f72f46;
	color: white;
	font-family: "WolpePegasus",serif;
	font-size: 18px;
	line-height: 24px;
	font-weight: bold;
	border: none;
	padding: 1px 20px 3px 20px;
	border-radius: 2px;
}	

/**** LOGOS ****/

.logos {
	margin-top: 140px;
	font-size: 0;
}

.logocol {
	display: inline-block;
	vertical-align: top;
	/* width: 50%; */
	width: 100%;
	text-align: center;
	color: #a0a0a0;
	font-size: 12px;
	line-height: 16px;
}

.logocol a {
	margin-left: 17px;
	margin-right: 17px;
}

/**** FOOTER ****/

.footer {
	background-color: black;
	padding-top: 15px;
	padding-bottom: 15px;
	color: white;
}

.footermenu {
	font-size: 0;
	text-align: center;
}

.footermenu-entry {
	font-size: 16px;
	line-height: 20px;
	display: inline-block;
	text-align: center;
	vertical-align: middle;
	padding-top: 10px;
	padding-bottom: 10px;
	margin-left: 16px;
	margin-right: 16px;
}	

.footermenu-entry.m1 { width: 80px; padding-top: 3px; padding-bottom: 3px; font-weight: bold; font-size: 20px; line-height: 18px; }
.footermenu-entry.m2 { width: 100px; }
.footermenu-entry.m3 { width: 65px; }
.footermenu-entry.m4 { width: 100px; }
.footermenu-entry.m5 { width: 80px; }
.footermenu-entry.m6 { width: 90px; }
.footermenu-entry.m7 { width: 100px; }
.footermenu-entry.m8 { width: 100px; }

.footermenu-entry.m1 .stern { position: relative; top: -6px;  }
.footermenu-entry.m1 .jahr { font-size: 22px; }
.footermenu-entry.m1 .num1 { position: relative; left: -2px; }

.footermenu-entry a {
	text-decoration: none;
}

.logokat { 
	margin-top: 20px;
} 


/**** SMALL SCREENS ****/

@media only screen and (max-width: 1300px) {	
	.header .content { max-width: 800px; padding-top: 120px; padding-bottom: 110px; }
	.header h2 { font-size: 36px; max-width: 520px; }
	.header h2 p { margin-top: 12px; margin-bottom: 12px; }
	.header h1 { font-size: 78px; line-height: 51px; margin-top: 60px; margin-bottom: 90px; }
	.header h1 .jahr { top: 13px; letter-spacing: -2px; }
	.header h1 .jahr .num1 { left: -6px; }	
	.header .sprecher { font-size: 18px; line-height: 24px; max-width: 780px; }
	.header .datum { font-size: 20px; line-height: 23px; max-width: 500px; }
	.header .anmeldelink { top: 360px; margin-left: 230px; }
	.header .anmeldelink img { width: 160px; height: 160px; }	
}

@media only screen and (max-width: 925px) {	
	.footermenu-entry { margin-left: 10px; margin-right: 10px; }
}

@media only screen and (max-width: 840px) {	
	.header .content { padding-top: 100px; padding-bottom: 70px; }
	.header h2 { font-size: 24px; max-width: 400px; }
	.header h2 p { margin-top: 10px; margin-bottom: 10px; }
	.header h1 { font-size: 58px; line-height: 38px; margin-top: 50px; margin-bottom: 50px; }
	.header h1 .stern { width: 20px; top: -17px; margin-left: 1px; }
	.header h1 .jahr { top: 9px; letter-spacing: -1px; }
	.header h1 .jahr .num1 { left: -4px; }	
	.header .sprecher { font-size: 15px; line-height: 20px; max-width: 400px; }
	.header .sprecher .name { font-size: 17px; }
	.header .datum { font-size: 17px; line-height: 19px; }
	.header .anmeldelink { top: 280px; margin-left: 146px; }
	.header .anmeldelink img { width: 110px; height: 110px; }	
}

@media only screen and (max-width: 640px) {
	.body { font-size: 16px; line-height: 21px; }
	.programm strong { font-size: 19px; }
	.coltext { display: block; width: 100%; padding: 0px !important; }	
	.body .redtext { font-size: 20px; line-height: 24px; max-width: 420px; }
}

@media only screen and (max-width: 550px) {
	.logocol { display: block; width: 100%; margin-top: 40px; }
}

@media only screen and (max-width: 520px) {
	.header { background-position: center top; }
	.header video { left: -200px; }
	.header .content { padding-top: 40px; padding-bottom: 50px; padding-left: 10px; padding-right: 10px; }
	.header h2 { font-size: 20px; max-width: 360px; }
	.header h1 { font-size: 42px; line-height: 28px; margin-top: 40px; margin-bottom: 40px; }
	.header h1 .stern { width: 15px; top: -12px; margin-right: 1px; }
	.header h1 .jahr { top: 6px; letter-spacing: -0.5px; }
	.header h1 .jahr .num1 { left: -3px; }	
	.header .sprecher .person { white-space: normal; }
	.header .anmeldelink { top: 185px; margin-left: 90px; }
	.header .anmeldelink img { width: 110px; height: 110px; }	
	.body { padding-left: 15px; padding-right: 15px; }
	.body h2 { font-size: 32px; margin-top: 35px; }
	.body h2.logo { line-height: 22px; }
	.body h2.logo .stern { width: 11px; top: -10px; }
	.body h2.logo .jahr { top: 4px; }
	.coltext-container { padding-left: 0px; padding-right: 0px; }
	.footermenu-entry { width: 100px !important; }
}

@media only screen and (max-width: 375px) {
	.header .anmeldelink { margin-left: 70px; }
	.header .anmeldelink img { width: 90px; height: 90px; }	
}