/** colors */
:root {
    --black: rgb( 48, 48, 48 );
	--boxBg: #F8F8F8;
	--bulletColor: #C0003C;
	--h1Color: var( --black );
	--h2Color: var( --black );
	--linkColor: #C0003C;;
	--linkHoverColor: #303030;
}

/** fonts */
@font-face {
    font-family: "BundesSansWeb";
    src: url("../fonts/bundessansweb-regular-woff-data.woff") format("woff2"),
		url("../fonts/bundessansweb-regular-woff-data.woff") format("woff");
    font-weight: 300;
    font-style: normal;
    font-display: swap
}

@font-face {
    font-family: "BundesSansWeb";
    src: url("../fonts/bundessansweb-bold-woff-data.woff") format("woff2"),
		url("../fonts/bundessansweb-bold-woff-data.woff") format("woff");
    font-weight: bold;
    font-style: normal;
    font-display: swap
}

@font-face {
    font-family: "BundesSerif";
    src: url("../fonts/bundesserifweb-regular-woff-data.woff") format("woff2"),
		url("../fonts/bundessansweb-regular-woff-data.woff") format("woff");
    font-weight: 300;
    font-style: normal;
    font-display: swap
}

@font-face {
    font-family: "BundesSerif";
    src: url("../fonts/bundesserifweb-italic-woff-data.woff") format("woff2"),
		url("../fonts/bundesserifweb-italic-woff-data.woff") format("woff");
    font-weight: 300;
    font-style: italic;
    font-display: swap
}

/** reset */
* {
    margin: 0;
    padding: 0;
    position: relative;
    box-sizing: border-box;
}

h2:empty, div:empty {
    display: none;
}
html,
body {
    background-color: #fff;
}

:root {
    font-size: 17px;
    line-height: 26px;
    color: var( --black );
}

html, body {
	font-family: BundesSansWeb;
}

/** base */
#wrapper {
    max-width: 900px;
    margin: auto;
	padding: 25px 40px;
	border: solid 1px rgb( 25, 25, 25 );
	overflow: hidden;
}

header {
	overflow: hidden;
	margin: -25px -40px 40px;
	position: relative;
	display: grid;
	grid-template-columns: 100%;
}

/** header */
header div:first-of-type {
	padding: 0;
	background-color: #fff;
	position: absolute;
	margin: 30px;
	top: 0;
	z-index: 100;
	width: calc( 100% - 60px );
}

header a {
    line-height: 1px;
	display: inline-block;
	width: 100%;
	max-width: 526px;
}
header a img {
	width: 100%;
}

header > img {
	width: 100%;
 	margin-top: -330px;

}
header a::before {
	content: none !important;
}

/** main */
main {
    clear: both;
	margin-bottom: 20px;
	margin-left: 119px;
}

main p {
	margin-bottom: 25px;
}

h1 {
	margin-top: 30px;
	font-size: 35px;
	line-height: 45px;
	font-stretch: 100%;
	font-weight: normal;
	-webkit-font-smoothing: antialiased;
	color: var( --h1Color );
}

h1 small {
	display: block;
	font-size: 17px;
    line-height: 26px;
	font-weight: normal;
	margin-bottom: 25px;
	margin-top: 3px;
}

h1 sup {
	font-size: 20px;
}
h1, h2, h3 {
	font-family: BundesSerif;
}

h2 {
	font-size: 24px;
	line-height: 30px;
	margin-bottom: 12px;
	margin-top: 0px;
	font-weight: normal;
	font-style: italic;
	color: var( --h2Color );
}

ul  {
	margin-bottom: 20px;
	padding-left: 20px;
	line-height: 15px;
	list-style: none;
}

ul ul {
	margin-bottom: 0;
}

li {
	list-style-type: square;
	padding-left: .25rem;
	line-height: 28.9px;
	font-size: 17px;
}
li li {
	list-style-type: '—';

}
h2:empty,
div:empty,
p:empty,
section:empty {
	display: none;
}

li::marker {
	color: var(--bulletColor);
}
li li::marker {
	color: var(--black);
}

a {
	text-decoration: none;
	color: var( --linkColor );
	/* no break between ::before and content */
	display: inline-block;
}
a[href^="tel:"] {
    white-space: nowrap;
}
a[target="_blank"]::before,
a[href^="tel:"]::before {
	content: '';
	display: inline-block;
	background-image: url("../img/arrow_right.svg");
	height: 16px;
	width: 16px;
	margin: 5px 5px -3px 2px;
	background-size: contain;
	background-repeat: no-repeat;
}
a.bewerbungslink::before {
	background-image: url("../img/arrow_up.svg");
	height: 12px;
	width: 12px;
	margin-bottom: 0;
}
a[href^="tel:"]::before {
	background-image: url("../img/phone.svg");
	height: 14px;
	width: 14px;
	margin-bottom: 0;
}

a:hover {
	text-decoration: underline;
	transition: all .2s ease-in-out;
	color: var( --linkHoverColor );
}

#summary {
	background-color: var( --boxBg );
	padding: 10px 20px;
	margin: 25px -40px 25px 0;
}
#summary ul {
	padding: 0;
	margin: 0;

}
#summary li {
	list-style: none;
	padding: 0;
	margin: 0;
}
#summary strong {
	display: inline-block;
	width: 27%
}
/* #summary > p {
	display: grid;
	grid-template-columns: 27% 63%;
	margin-bottom: 0;
}
#summary > p > br {
	display: none;
}*/
#summary a[target="_blank"]::before {
	content: '';
	display: inline-block;
	background-image: none;
	height: 16px;
	width: 0;
	margin: 5px -1px -3px 2px;
	background-size: contain;
	background-repeat: no-repeat;
}
@media screen and ( max-width: 859px ) {
	#summary strong {
		width: 42%;
	}
}
@media screen and ( max-width: 765px ) {
	#summary strong {
		width: 46%;
	}
}
@media screen and ( max-width: 679px ) {
	#summary strong {
		width: 50%;
	}
}
@media screen and ( max-width: 300px ) {
	#summary strong {
		width: 100%;
	}
}

#apply {
	background-color: var( --boxBg );
	padding: 15px 20px;
	margin-bottom: 25px;
	margin-right: -40px;
}
#apply section:last-of-type p:last-of-type {
	margin-bottom: 0;
}

#application a.arrow,
#contact a.arrow {
	padding-right: 24px;
}

#application a.btn {
	width: 210px;
	background-color: var( --blue );
	background-image: none;
	display:block;
	color:#fff;
	padding: 16px;
	padding-left: 36px;
	padding-right: 36px;
	margin-bottom: 32px;
	border-radius: 5000px;
	border: solid 1px var( --blue );
	margin-top: 40px;
	margin-bottom: 40px;
	font-weight: normal;
	text-transform: uppercase;
}

#application a.btn:hover {
	outline: 2px solid #fff;
	outline-offset: -3px;
	border-color: var( --blue );
	text-decoration: none;
	transition: 0ms;
}

#application a.btn p {
	display: inline;
	font-weight: normal;
	margin:0;
	padding-right: 6px;
	text-transform: uppercase;
}


#contact a {
	background-image: none;
	padding-right: 0;
}

#summary p {
	font-weight: normal;
}

.noMg {
	margin-bottom: 0;
}

@media screen and (max-width: 900px){
	header > img {
		width: 100%;
		margin-left: 0;
		margin-top: -295px;
	}
}

@media screen and (max-width: 850px){
	header > img {
		width: 100%;
		margin-left: 0;
		margin-top: -260px;
	}
}

@media screen and (max-width: 800px){
	header > img {
		width: 100%;
		margin-left: 0;
		margin-top: -250px;
	}
}

/* @media screen and (max-width: 790px){
	header > img {
		width: 100%;
		margin-left: 0;
		margin-top: -340px;
	}
} */


@media screen and ( max-width: 768px ) {
	header > img {
		width: 100%;
		margin-left: 0;
		margin-top: -195px;
	}

}

@media screen and ( max-width: 700px ) {
	header > img {
		width: 100%;
		margin-left: 0;
		margin-top: -150px;
	}

}

@media screen and ( max-width: 640px ) {
	header > img {
		width: 100%;
		margin-left: 0;
		margin-top: -120px;
	}

}

@media screen and ( max-width: 600px ) {
	header > img {
		width: 100%;
		margin-left: 0;
		margin-top: -140px;
	}
	header div:last-of-type {
		right: -60px;
	}

	#wrapper {
		padding-left: 20px;
		padding-right: 20px;
		border: none;
	}

	header div:first-of-type  {
		top: -10px;
		width: calc( 100% - 80px );
		left: 10px
	}

	main {
		margin-top: 2px;
		margin-left: 0;
	}
}

@media screen and ( max-width: 540px ) {
	header > img {
		width: 100%;
		margin-left: 0;
		margin-top: -120px;
	}

	#summary span {
		margin-bottom: 8px;
	}

	#summary span:last-child {
		margin-bottom: 0;
	}

	#apply {
		margin-right: -20px;
	}
}

@media screen and ( max-width: 480px ) {
	#wrapper {
		padding-left: 20px;
		padding-right: 20px;
		border: none;
	}
	header div:first-of-type  {
		top: -10px;
		width: calc( 100% - 80px );
		left: 10px
	}
	header > img {
		width: 92.5%;
		margin-left: 20px;
		margin-top: -90px;
	}

	main h1 {
		font-size: 30px;
		line-height: 40px;
	}

	h2 {
		font-size: 21px;
	}

	main {
		margin-top: 2px;
		margin-left: 0;
	}

	ul {
		margin-bottom: 10px;
	}

	#summary {
		margin: 25px -20px 25px 0;
	}
}

@media screen and ( max-width: 430px ) {
	header > img {
		width: 91.4%;
		margin-left: 20px;
		margin-top: -80px;
	}
}

@media screen and ( max-width: 390px ) {
	header > img {
		width: 92%;
		margin-left: 20px;
		margin-top: -70px;
	}
}