* {
	box-sizing: border-box;
}

body {
	font-family: Arial,sans-serif;
	font-size:14px;
	line-height: 22px;
	font-weight:normal;
	color:#333333;
	margin: 0;
}

a, a.visited {
	color: #333333;
	text-decoration: underline;
}

img {display: block; max-width:100%; height: auto;}

h1, h2, h3, h4 {
	font-family: 'Times New Roman';
	font-weight: normal;
	color: #8f2232;
	margin-top: 0px;
	margin-bottom: 0px;
}

h1 {
	font-size: 45px;
	line-height: 52px;
}

h2 {
	font-size: 24px;
	line-height: 30px;
}

hr {
	border: none;
	border-top: solid 1px #cccccc;
	margin: 20px 0px;
}

/* loading animation */
.loadingModal {
	display: none;
	position:fixed;
	z-index:1000; top:0;
	left:0;
	height:100%;
	width:100%;
	background: rgba( 255, 255, 255, .8 ) url('..//images/loading.gif') 50% 50% no-repeat;
	background-size: 100px 100px;
}
body.loading {overflow: hidden;}
body.loading .loadingModal {display: block;}


.wrap {
	margin: auto;
	max-width: 1200px;
}

.bg-bar {
	position: absolute;
	top: 225px;
	background-color: #8f2232;
	height: 187px;
	width: 100%;
	z-index: -1;
	
}

form {
	border: solid 1px #cccccc;
	padding: 20px;
	color: #747474;
	margin-top: 30px;
}

.page {
	font-family: 'Times New Roman';
	font-size: 18px;
	color: #b3a4a9;
	width: 100px;
	text-align: right;
}

input, select, textarea {
	-webkit-border-radius: 0px;
	background: #ffffff;
	border: solid 1px #cccccc;
	padding: 7px;
	font-family: inherit;
	font-size: inherit;
	line-height:inherit;
	color: #a39f9b;
}

input[type=button], input[type=submit] {
	border: none;
	font-family: 'Times New Roman';
	font-size: 22px;
	line-height: 28px;
	color: #fff;
	padding: 10px;
}

.form-buttons {
	margin-top: 40px;
}

input[type=button]:hover, input[type=submit]:hover {
	cursor: pointer;
}

input[type=button] {
	background-color: #b3a4a9;

}

input[type=submit] {
	background-color: #8f2232;
}

input:focus, select:focus, textarea:focus {
	border-bottom: solid 2px #8f2232;
	outline: none;
}

input[type=text], textarea, select {
	width: 100%;
}

select::-ms-expand { display: none; }

select {
	-webkit-appearance: none;
	-moz-appearance: none;
	-o-appearance: none;
	appearance: none;
	background: url('../images/select-arrow.png') no-repeat 100% 50% #ffffff;
	background-size: 38px 38px;
}

/* radios and checkboxes require a label in order to work */
input[type=checkbox], input[type=radio] {
	display: none !important;
}

input[type=checkbox] + label, input[type=radio] + label {
	min-height: 30px;
	padding-left: 35px;
	background-repeat: no-repeat;
	background-position: 0px 0px;
	background-size: 16px 16px;
	cursor: pointer;
	background-color: transparent;
	display: block !important;
	line-height:16px;
}

input[type=checkbox] + label {
	padding-left: 35px;
	background-size: 24px 24px;
	line-height:24px;
}

input[type=checkbox] + label {
  background-image: url('../images/cb_unchecked.png'); }

input[type=radio] + label {
  background-image: url('../images/radio_unchecked.png'); }

input[type=checkbox]:hover + label {
  background-image: url('../images/cb_hover.png'); }

input[type=radio]:hover + label {
  background-image: url('../images/radio_hover.png'); }

input[type=checkbox]:checked + label {
  background-image: url('../images/cb_checked.png'); }

input[type=radio]:checked + label {
  background-image: url('../images/radio_checked.png'); }

.error {
	color: #ff0000;
}

.mandatory-hint {
	color: #b3a4a9;
	font-style: italic;
	padding-top: 10px;
}

#participation-denied {
	display:none;
}

.multi-col {display: flex;}
.multi-col.form {
	align-items: baseline;
}
.multi-col.form > div:nth-of-type(1) {width: 140px;}
.multi-col.form > div:nth-of-type(2) {width: 100%;}
div.element + div.element{margin-top:20px;}

.lang-selector {
	display: flex;
	justify-content: flex-end;
}

.lang-selector a {
	text-decoration:none;
	color: #c6c0bb;
	background-color: #ece8e9;
	display:block;
	width:55px;
	height:55px;
	line-height:55px;
	text-align:center;
}

.lang-selector a.active {
	color: #fff;
	background-color: #8f2232;
}



.logo {padding: 102px 0px 29px 40px;}

.header {
	display: flex;
	margin-bottom:36px;
}

.header .left {
	margin: auto;
	width: 100%;
}

.header .right {
	flex-basis: 414px;
	flex-grow: 0;
    flex-shrink: 0;	
	display: flex;
	flex-direction: column;
}

.header-box-red {
	flex-grow: 1;
	background-color: #8f2232;
	color: #fff;
	font-family: 'Times New Roman';
}

.header-box-red > .padding {
	padding-left:40px;
	padding-top:55px;
	padding-bottom: 25px;
}

.header-box-red .header-date {
	font-size: 40px;
	border-bottom: solid 1px #c38992;
	padding-bottom: 20px;
}

.header-box-red .header-register {
	font-size: 28px;
	border-bottom: solid 1px #c38992;
	margin-top: 10px;
	padding-bottom: 12px;
}

img.header-image {
	width: 100%;
}



.content {
	display: flex;
}

.footer {
	margin-top: 50px;
	color: #fff;
	padding: 20px;
	background-color: #8f2232;
}

.footer a {
	color: #fff;
	text-decoration: none;
}

.footer ul {
	list-style: none;
	margin: 0px;
	padding: 0px;
}

.footer li {
	display: inline-block;
}

.footer li + li {
	padding-left: 20px;
}

.content .main {
	padding-right:40px;
	flex-basis: 833px;
	
	}
.content .sidebar {
	flex-basis: 367px;
	flex-grow: 0;
    flex-shrink: 0;
}

.sidebar > .box {
	background-color: #ece8e9;
	padding: 25px;
	font-size: 12px;
	line-height: 18px;
}

.box + .box {
	margin-top: 28px;
}

.box .headline {
	font-family: 'Times New Roman', serif;
	font-size: 28px;
	line-height: 34px;
	display: block;
	color: #b3a4a9;
	padding-bottom: 10px;
}

.bullet {
	display:flex;
	align-items:center;
}

a.bullet {
	color: #8f2232;
	text-decoration: none;
}

a.bullet img {

	height: 14px;
	padding-right: 10px;
}

@media only screen and (max-width:1200px) {
	
	.bg-bar {
		display: none;
	}
	
	.wrap {
		width: 95%;
	}
	
	.header {
		flex-direction: column-reverse;
	}

	.header .right {
		flex-basis: auto;
		width: 100%;
		display: block;
	}

	.logo {padding: 20px;}
	
	.header-box-red > .padding {
		padding: 25px;
		text-align: right;
	}
	
	.header-box-red .header-date {
		font-size: 30px;
		border-bottom: none;
		padding-bottom: 5px;
	}
	
	.header-box-red .header-register {
		font-size: 18px;
		border-bottom: none;
		margin-top: 10px;
		padding-bottom: 0px;
	}		
}

@media only screen and (max-width:910px) {
	
	.content .sidebar {
	    flex-basis: 250px;
	}
}

@media only screen and (max-width:768px) {
	
	h1 {
		font-size: 32px;
	    line-height: 38px;
	}
	
	h2 {
		font-size: 20px;
	    line-height: 24px;
	}	
	
	.logo {
		max-width: 200px;
	}
	
	.header-box-red > .padding {
	    padding: 20px;
	}	
	
	.content {
	    display: block;
	}
	
	.content .main {
    	padding-right: 0px;
	}
	
	.content .sidebar {
	    margin-top: 25px;
	}
	
	.multi-col {
		display: block;
	}
		
}







