/** globale Definitionen **/
:root {
    --fontFamily: "Montserrat_Regular", Arial, Verdana, Helvetica, sans-serif;

    --textColor: #2b2b2b;
    --borderColor: #000;
    --bulletColor: #000;
    --h1Color: #495057;
    --h1BackColor: transparent;
    --h2Color: #0069ae;
    --h2BackColor: transparent;
    --h3Color: #000;
    --h3BackColor: transparent;

    --aColor: #0069ae;
    --aHoverColor: #003b62;
    --btnBackColor: #00f;
    --btnBackHoverColor: #00f;
    --btnTextColor: #fff;
    --btnTextHoverColor: #fff;

    --bgColorLight: rgb(237, 246, 247);
    --bgColorMedium: rgb(135, 198, 203);
    --fontSize: 16px;
    --lineHeight: 24px;
    --h1Size: 24px;
    --h2Size: 20px;
    --h3Size: 16px;

	--scrollPosition: 0;
}

/** Schriften **/
@font-face {
    font-family: "Montserrat_Light";
    src: url(../fonts/Montserrat_Regular.woff) format("woff");
    font-weight: normal;
    font-style: normal;
    font-display: swap
}

@font-face {
    font-family: "Montserrat_Regular";
    src: url(../fonts/Monzserrat_Regular.woff) format("woff");
    font-weight: normal;
    font-style: normal;
    font-display: swap
}

@font-face {
    font-family: "Montserrat_Italic";
    src: url(../fonts/Montserrat_Italic.woff) format("woff");
    font-weight: normal;
    font-style: italic;
    font-display: swap
}

@font-face {
    font-family: "Montserrat_Semi_Bold";
    src: url(../fonts/Montserrat_Semi_Bold.woff) format("woff");
    font-weight: bold;
    font-style: normal;
    font-display: swap
}

@font-face {
    font-family: "Montserrat_Bold";
    src: url(../fonts/Montserrat_Bold.woff) format("woff");
    font-weight: bolder;
    font-style: normal;
    font-display: swap
}

@font-face {
    font-family: "Montserrat_Bold";
    src: url(../fonts/Montserrat_Bold.woff) format("woff");
    font-weight: bolder;
    font-style: normal;
    font-display: swap
}

@font-face {
    font-family: "linea-arrows-10";
    src: url(../fonts/linea-arrows-10.woff) format("woff");
    font-weight: normal;
    font-style: normal;
    font-display: swap
}

/** Reset **/
* {
    margin: 0;
    padding: 0;
    position: relative;
    box-sizing: border-box;
}

html,
body {
    background-color: #fff;
    font-size: var(--fontSize);
    line-height:var(--lineHeight);
    -webkit-font-smoothing: antialiased;
}

p {
    padding: 5px 0;
}

ul,
ol {
    padding: 5px 0 5px 25px;
}

/** Standards **/
#wrapper {
	max-width: 900px;
    margin: auto;
    margin-bottom: 50px;
    
	font-family: var(--fontFamily);
    border: solid 1px var(--bgColorMedium)
}

h2:empty,
div:empty,
p:empty,
section:empty {
    display: none;
}

a[href^="tel:"] {
    white-space: nowrap;
}
a {
    color: var(--aColor);
    text-decoration: none;
    font-family: "Montserrat_Bold";
}
a:hover {
    color: var(--aHoverColor);
}

ul {
    padding-left: 20px;
}

/*
ul li {
    padding-left: 10px;
    margin-left: -7px;
    list-style-type: none;
}

ul li::before {
	content: "\e068";
    font-family: "linea-arrows-10";
    font-weight: 400;
	color: var(--textColor);
    
	position: absolute;
    width: 14px;
    top: -0px;
    left: -16px;
	
    vertical-align: middle;
}
*/
strong {
    font-family: "Montserrat_Bold";
}

body {
    color: var(--textColor);
}

header div {
    width: 100%;
    min-height: 130px;
    display: flex;
	justify-content: space-between;

	padding: 40px;
	padding-right: 30px;
    padding-top: 41px;
}

header div img#logo{
    height: 75px;
    margin-left: 4px;
}

header img {
    width: 100%;
}

header a img {
    width: auto;
}

header img#claim {
    position: absolute;
    top: 200px;
    right: 74px;
    display: block;
    width: 230px;
}

header span {
    display: block;
    height: 56px;

    background-image: url(../img/stripe.png);
    background-repeat: no-repeat;
    background-position: bottom 13px left 20px;
}

header span:first-child {
    margin-left: -20px;

    background-image: url(../img/stripe.png);
    background-repeat: no-repeat;
    background-position: bottom 13px left 20px;
}

#content {
    display: flex;
    margin: 25px 50px;
	margin-right: 35px;
    min-height: 1620px;
}

main {
    width: 100%;
    max-width: 660px;
    padding-right: 20px;
}

main section {
    margin-bottom: 20px;
}

aside {
    width: 100%;
    max-width: 240px;
	height: 100%;
}

aside section {
	padding: 22px 22px 22px 22px;

    background-color: var( --bgColorLight);

    background-image: url(../img/Schmaler-Grat.svg);
    background-repeat: no-repeat;
    background-position: bottom 5px left 20px;
    background-size:70px;
}

aside section#modalities ul {
    padding-left: 0;
}

aside section#modalities ul li {
    list-style-type: none;
    padding-bottom: 12px;
}

aside section#application {
    padding-bottom: 100px;
	background-image: none;
}

aside section#application {
    padding-bottom: 100px;
	background-image: none;
}

aside section span {
    display: block;
    margin-bottom: 12px;
}


aside #applyButton {
	padding: 4px 16px 4px 16px;
    background-color: var(--bgColorMedium);
    color: #fff;
    transition: color, background-color 0.3s ease;
}

aside #applyButton:hover {
    background-color: var(--aColor);
} 

aside #applyButton a {
    color: #fff;
}

aside #applyButton a span {
    font-family: "linea-arrows-10";
    content: "\e068";
    font-weight: bold;
    vertical-align: middle;
    padding-left: 10px;
}

#seal {
	position: absolute;
	bottom: 340px;
	right: 30px;
}

#seal img,
#seal svg {
	display: block;
	margin-left: auto;
	margin-right: auto;
	margin-bottom: 50px;
}

#seal #totale {
	width: 100px;
}

#seal #audit {
	width: 100px;
}

#seal #fidhLogo {
	display: block;;
	width: 100%;
    max-width: 230px;
	margin-bottom: 0;;
}

#static_intro {
    margin-bottom: 0;
}

#static_intro {
    color: var(--aColor);
    font-family: "Montserrat_Bold";
	margin-bottom: 20px;
}

h1 {
    color: var(--h1Color);
    background-color: var(--h1BackColor);

    font-size: 28px;
    line-height: 40px;
    font-family: "Montserrat_Bold";

    text-decoration: underline var(--bgColorMedium) 3px;
    text-underline-offset: 8px;

    -webkit-text-decoration-line: underline;
    -webkit-text-decoration-color: var(--bgColorMedium);
    
    margin-bottom: 15px;
	margin-top: 20px;
}

h1 small {
    font-size: 20px;
    line-height: 32px;
}

h2 {
    color: var(--h2Color);
    background-color: var(--h2BackColor);
    font-size: var(--fontSize);
    line-height:var(--lineHeight);
    font-family: "Montserrat_Bold";
}
h3 {
    color: var(--h3Color);
    background-color: var(--h3BackColor);
}

.btn {
    background-color: var(--btnBackColor);
    color: var(--btnTextColor);
}

.btn:hover {
    background-color: var(--btnBackHoverColor);
    color: var(--btnTextHoverColor);
}

.jobId {
    color: var(--bgColorMedium);
}

footer  {
    background-color: var(--bgColorLight);
    min-height: 300px;
}

footer #dots {
    display: block;
    width: 100%;
    height: 40px;
    background-image: url(../img/punktraster-secondary-white-18.svg);
    background-repeat: repeat-x;
    background-size: 16%;
}

footer div:nth-child(2) {
    display: flex;
}

footer #left {
    display: block;
    width: 100%;
    max-width: 700px;
}

footer #left #logoThin {
    height: 30px;
    margin-left: 48px;
    margin-top: 40px;
}

footer #left #socailLinks {
	width: 100%;
	max-width: 250px;
	margin-left: 50px;
	margin-top: 100px;

	display: flex;
	justify-content: space-between;
	vertical-align: middle;

	font-family: "fa-brands-400";
	font-size: 20px;
}

footer #left #socailLinks a:hover {
	transition: 0.3s ease;
}


footer #right {
    display: block;
    width: 100%;
    max-width: 320px;
    height: 260px;
    background-color: var(--aColor);

	color: #fff;

	padding-left: 20px;
	padding-top: 20px;

    font-size: 12px;
}

footer #right a {
    font-family: Montserrat_Regular, Arial, Verdana, Helvetica, sans-serif;
    font-weight: normal !important;
    color: #fff !important;
}

footer #right img {
    width: 30px;
    margin-bottom: 10px;
}

footer #right #btnContact {
    display: block;
    width: 180px;
    margin-top: 4px;
	padding: 6px 0 4px 16px;
    transition: color, background-color 0.3s ease;

	border: 1px solid #fff;
    
    font-size: 12px;;

    color: #fff;
}

footer #right #btnContact span {
    font-family: "linea-arrows-10";
    content: "\e068";
    font-weight: bold;
    vertical-align: middle;
    padding-left: 10px;
}

footer #right #btnContact:hover {
    background-color: #fff;
	color: var(--bgColorMedium);
}

@media screen AND (max-width: 900px) {
    header img#claim {
        top: 190px;
		width: calc(100vw - 73.5%);
    }
}

@media screen AND (max-width: 620px) {
	#content {
		flex-direction: column;
		margin: 25px 20px;
		margin-bottom: 0;;
	}

    #wrapper {
        margin-bottom: 0;
    }

	header div {
		padding: 20px;
        padding-bottom: 5px;
        min-height: 120px;
	}

	header div img#logo {
		margin-left: -4px;
	}

    header img#claim {
        top: 150px;
        right: 34px !important;
    }

	header span:first-child {
		margin-left: -10px;
	}

	main {
		width: 100%;
		max-width: 100%;
	}

	aside {
		width: 100%;
		max-width: 100%;
	}

	aside #seal {
		margin-top: 40px;
	}

    #seal {
        position: relative;
        bottom: 0;
        left: 0;
        margin-top: 40px;
    }

    #seal div {
        display: flex;
        justify-content: space-between;
        width: 100%;
        max-width: 320px;
        margin: 0 auto;
    }

    #seal #totale {
        margin-left: 20px;
    }

    #seal #audit {
        margin-right: 20px;
    }

	footer {
		margin-top: 40px;;
	}

	footer div:nth-child(2) {
		display: block;
	}

	footer #left #logoThin {
		margin-left: 20px;
		margin-top: 20px;
	}

	footer #left #socailLinks {
		margin-top: 40px;
		margin-left: 20px;
		width: 100%;
	}

	footer #left #socailLinks a {
		display: flex;;
		margin-right: 10px;
	}

	footer #right {
		margin-top: 40px;
		width: 100%;
		max-width: 100%;
	}
}

.noWrap {
	white-space: pre;
	word-break: keep-all;
  }

  @media screen AND (max-width: 380px) {
    header img#claim {
        top: 140px;
		width: calc(100vw - 73.5%);
    }
}

@media screen AND (max-width: 300px) {
    header img#claim {
        top: 140px;
		width: calc(100vw - 73.5%);
    }
}