/*** FONTS ***/
@font-face {
	font-family: 'source_sans_pro_regular';
	src: url('/assets/fonts/sourcesanspro-regular-webfont.eot');
	src: url('/assets/fonts/sourcesanspro-regular-webfont.eot?#iefix') format('embedded-opentype'),
		 url('/assets/fonts/sourcesanspro-regular-webfont.woff2') format('woff2'),
		 url('/assets/fonts/sourcesanspro-regular-webfont.woff') format('woff'),
		 url('/assets/fonts/sourcesanspro-regular-webfont.ttf') format('truetype'),
		 url('/assets/fonts/sourcesanspro-regular-webfont.svg#source_sans_proregular') format('svg');
	font-weight: normal;
	font-style: normal;
}

@font-face {
	font-family: 'source_sans_pro_light';
	src: url('/assets/fonts/sourcesanspro-light-webfont.eot');
	src: url('/assets/fonts/sourcesanspro-light-webfont.eot?#iefix') format('embedded-opentype'),
		 url('/assets/fonts/sourcesanspro-light-webfont.woff2') format('woff2'),
		 url('/assets/fonts/sourcesanspro-light-webfont.woff') format('woff'),
		 url('/assets/fonts/sourcesanspro-light-webfont.ttf') format('truetype'),
	     url('/assets/fonts/sourcesanspro-light-webfont.svg#source_sans_prolight') format('svg');
	font-weight: normal;
	font-style: normal;
}

@font-face {
	font-family: 'source_sans_pro_semibold';
	src: url('/assets/fonts/sourcesanspro-semibold-webfont.eot');
	src: url('/assets/fonts/sourcesanspro-semibold-webfont.eot?#iefix') format('embedded-opentype'),
		 url('/assets/fonts/sourcesanspro-semibold-webfont.woff2') format('woff2'),
		 url('/assets/fonts/sourcesanspro-semibold-webfont.woff') format('woff'),
		 url('/assets/fonts/sourcesanspro-semibold-webfont.ttf') format('truetype'),
		 url('/assets/fonts/sourcesanspro-semibold-webfont.svg#source_sans_prosemibold') format('svg');
	font-weight: normal;
	font-style: normal;
}
/*** END FONTS ***/



/*** RESET ***/
html, body,
div, img, br,
h1, h2, h3, h4, h5, h6, p, a, em, span, strong, small, i, b, u, blockquote, q, strike,
ul, ol, li, dl, dt, dd,
address, hr, s, cite, dfn, abbr, code, var, samp, kbd, sub, sup, ins, del, pre, 
iframe, object, param, video, audio, source, track, canvas, map, area, svg, math,
form, fieldset, legend, label, input, button, select, textarea, datalist, optgroup, option, keygen, output, progress, meter,
table, caption, colgroup, col, tbody, thead, tfoot, td, th,
section, nav, article, aside, header, footer, main, figure, figcaption, data, time, mark, ruby, rt, rp, bdi, bdo, wbr, embed, details, summary, command, menu {
	margin: 0;
	padding: 0;
	border: 0;
	outline: none;
	line-height:1;
	font-weight: 400;
	font-family: 'source_sans_pro_regular', Verdana, Arial, sans-serif;
}
/*** END RESET ***/



body {
	font-size: 100%;
	color: #3D3D3D;
	margin: 2rem auto;
	max-width: 77rem;
	display: flex;
	padding: 0 3%;
}

a,
button,
.button,
.liste .zeile,
.liste-tabelle .zeile,
.link,
.eintrag-bearbeiten,
.select-ajax .select-search li {
	-webkit-transition: background .2s, color .2s;
	-moz-transition: background .2s, color .2s;
	-ms-transition: background .2s, color .2s;
	-o-transition: background .2s, color .2s;
	transition: background .2s, color .2s;	
}

a,
.link {
	cursor: pointer;
	text-decoration: underline;
	color: #e30613;
}
a:hover,
a:focus,
a:active,
.link:hover,
.link:focus,
.link:active {
	color: #b5000a;
}

h1, h2, h3, h4,
p,
label,
textarea {
	line-height: 1.3;
}

h1 {
	font-size: 1.8rem;
	color: #e30613;
	margin: 1.1rem 0 1rem;
}

h2 {
	font-size: 1.5rem;
	color: #e30613;
	margin: 2rem 0 .6rem;
}

h3 {
	font-size: 1.2rem;
	color: #e30613;
	margin: 1rem 0 .4rem;
}

p {
	font-size: 1rem;
	margin-bottom: .5rem;
}

strong,
strong * {
	font-family: 'source_sans_pro_semibold', Verdana, Arial, sans-serif;
	line-height: inherit;
}

span {
	line-height: inherit;
}


label {
	font-size: 1rem;
}

input, select, textarea,
.select {
	font-family: 'source_sans_pro_regular', Verdana, Arial, sans-serif;
	font-size: 1rem;
	color: #3D3D3D;
	vertical-align: top;
	background: #fbfbfb;
	border: 1px solid #cecece;
}

input[type=text], input[type=email], input[type=tel], input[type=number], input[type=date], input[type=datetime-local], input[type=password], input[type=search], input[type=file],
select, textarea, button,
.select {
	padding: .3rem .4rem;
	display: inline-block;
	width: 100%;
	line-height: 1.3;
	
	-webkit-box-sizing: border-box;
	-moz-box-sizing: border-box;
	box-sizing: border-box;
	
	-webkit-border-radius: 0;
	-moz-border-radius: 0;
	border-radius: 0;
	
	-webkit-appearance:none;
	-moz-appearance:none;
	appearance:none;
}

/* input type number disable arrow buttons */
input::-webkit-outer-spin-button,
input::-webkit-inner-spin-button {
	-webkit-appearance: none;
}

input[type=file] {
	padding: .9rem .4rem;
	font-size: .75rem;
	text-align: center;
	border-style: dashed;
}

input[type=checkbox], input[type=radio] {
	display: inline-block;
	height: 1.3rem;
	width: 1.3rem;
	margin-right: .2rem;
	
	-webkit-appearance:none;
	-moz-appearance:none;
	appearance:none;
}
input[type=checkbox]:checked {
	background: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' fill='%233d3d3d' viewBox='0 0 24 24'%3E%3Cpath d='M20.285 2l-11.285 11.567-5.286-5.011-3.714 3.716 9 8.728 15-15.285z'/%3E%3C/svg%3E") no-repeat center center #fbfbfb;
	background-size: 64% auto;
}
input[type=radio]:checked {
	background: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' fill='%233d3d3d' viewBox='0 0 2 2'%3E%3Ccircle cx='1' cy='1' r='1'/%3E%3C/svg%3E") no-repeat center center #fbfbfb;
	background-size: 48% auto;
}

input[type=checkbox] {
	-webkit-border-radius: 0;
	-moz-border-radius: 0;
	border-radius: 0;
}

input[type=radio] {
	-webkit-border-radius: 50%;
	-moz-border-radius: 50%;
	border-radius: 50%;
}

input[type=datetime-local],
input[data-type-original="datetime-local"] {
	word-spacing: .8rem;
}

label[for], input[type=checkbox], input[type=radio], input[type=file], input[type=submit], button, select {
	cursor: pointer;
}

button,
.button,
.button-sek,
.button-black {
	color: #fff;
	cursor: pointer;
	font-size: 1rem;
	padding: .3rem 1rem;
	background: #e30613;
	border:1px solid #e30613;
	width: auto;
	display: inline-block;
	text-decoration: none;
	line-height: 1.3;
	text-align: center;
}
button:hover,
button:focus,
button:active,
.button:hover,
.button:focus,
.button:active {
	color: #fff;
	background: #b5000a;
	border-color: #b5000a;
}

.button-sek {
	background: #fff;
	color: #e30613;
}
.button-sek:hover,
.button-sek:focus,
.button-sek:active {
	color: #b5000a;
	border-color: #b5000a;
	background: #fff;
}

.button-black {
	background: #3D3D3D;
	border-color: #3D3D3D;
	color: #fff;
}
.button-black:hover,
.button-black:focus,
.button-black:active {
	color: #fff;
	background: #000;
	border-color:#000;
}

select:not([multiple]),
.select {
	cursor: pointer;
	text-indent:0.01px;
	overflow: hidden;
	padding: .3rem 1.4rem .3rem .4rem;
	line-height: 1.3;
	text-overflow: ellipsis;
	white-space: nowrap;
	
	background-color: #fbfbfb;
	background-image: linear-gradient(45deg, transparent 50%, #3c393c 50%), linear-gradient(135deg, #3c393c 50%, transparent 50%);
	background-position: calc(100% - 1rem) center, calc(100% - .7rem) center;
	background-size: .3rem .5rem, .3rem .5rem;
	background-repeat: no-repeat;
}

select[multiple] {
	padding: 0;
	line-height: 1.3;
	height: 9.4rem;
}

select[multiple] option {
	padding: .2rem .4rem;
}

/* Firefox left padding bug */
@media screen and (-webkit-min-device-pixel-ratio:0) {
	input[type=date],
	select:not([multiple]) {
		padding-left: .18rem;
	}
}

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

optgroup {
	font-size: .85rem;
	font-style: normal;
	color: #e30613;
	font-weight: 300;
}

option {
	color: #3D3D3D;
}
option:disabled {
	color: #c9c9c9;
}

select:not([multiple]) option {
	font-size: .85rem;
}

select.placeholder-color {
	color: rgb(61, 61, 61, .25);
}

textarea {
	resize: none;
	line-height: 1.2;
	height: 4rem;
}

::placeholder { /* Chrome, Firefox, Opera, Safari 10.1+ */
	color: rgb(61, 61, 61, .25);
	opacity: 1; /* Firefox */
}
:-ms-input-placeholder { /* Internet Explorer 10-11 */
	color: rgb(61, 61, 61, .25);
}
::-ms-input-placeholder { /* Microsoft Edge */
	color: rgb(61, 61, 61, .25);
}

fieldset {
	position: relative;
	margin-bottom: 1.8rem;
	padding: 2.5rem 0 0 1rem;
	
	background: -webkit-linear-gradient(left, #f0f0f0 0%, #f0f0f0 .2rem, #ffffff .2rem);
	background: -moz-linear-gradient(left, #f0f0f0 0%, #f0f0f0 .2rem, #ffffff .2rem);
	background: linear-gradient(to right, #f0f0f0 0%, #f0f0f0 .2rem, #ffffff .2rem);
}

legend {
	font-size: .85rem;
	background: #f0f0f0;
	color: #a6a6a6;
	display: block;
	right: 0;
	left: 0;
	top: 0;
	padding: .4rem .5rem;
	position: absolute;
	letter-spacing: .04rem;
}



.left {
	text-align: left;
}

.center {
	text-align: center;
}

.right {
	text-align: right;
}

.c-rot {
	color: #e30613;
}

.c-grau {
	color: #a6a6a6;
}


.fs-90 {
	font-size: 90%;
}

.fs-80 {
	font-size: 80%;
}

.fs-0 {
	font-size: 0;
}
