/*Allgemein*/
body{
    margin:0px;
    padding:0px;
    background-color:#f8f8f8;
   /* font-family: 'Fira+Sans', sans-serif;*/
    font-family: 'Source Sans Pro', sans-serif;

    text-size-adjust: 100%;
    -webkit-font-smoothing: antialiased;
    text-rendering: optimizelegibility;
    font-feature-settings: "pnum";
    font-variant-numeric: proportional-nums;
}

.clear {
    overflow: hidden;
    clear: both;
    height: 0;
}
.cursor{ cursor: pointer; }


/*Abstände*/
.space5{ height:5px; }
.space10{ height:10px; }
.space15{ height:15px; }
.space20{ height:20px; }
.space25{ height:25px; }
.space30{ height:30px; }
.space40{ height:40px; }
.space50{ height:50px; }
.space75{ height:75px; }
.space100{ height:100px; }
.space150{ height:150px; }
.space200{ height:200px; }
.space550{ height:550px; }
.line {
    padding: 20px 0px 0px 0px;
    margin: 0px 20px 20px 20px;
    box-sizing: border-box;
    border-bottom:1px solid #CCCCCC;
}
.lineheight14 {line-height:1.4em; }
.lineheight15 {line-height:1.5em; }
.lineheight17 {line-height:1.7em; }
.lineheight20 {line-height:2.0em; }

.mrgnt20{ margin-top:20px; }
.mrgnb15{ margin-bottom:15px; }
.mrgnb0{ margin-bottom:0px !important; }
.pddgt0{ padding-top:0px !important; }
.pddgb0{ padding-bottom:0px !important; }

.backgrd_white{background-color:#fff !important;}
.backgrd_1{background-color:#9ed2f7 !important;}
.backgrd_2{background-color:#94C67B !important;}
.backgrd_3{background-color:#DDDDDD !important;}
.backgrd_4{background-color:#F9CB9C !important;}


/*Schrift*/
h1,h2,h3,h4,h5,h6{
    margin:0px;
    padding:0px;
    /*font-family: 'Barlow', sans-serif;*/
    font-family: mongoose,sans-serif;
    font-weight: 500;
    font-style: normal;



    /*
font-family: brandon-grotesque,sans-serif;
font-weight: 700;
font-style: normal;

font-family: itc-avant-garde-gothic-pro,sans-serif;
font-weight: 700;
font-style: normal;

 font-family: mr-eaves-modern,sans-serif;
font-weight: 700;
font-style: normal;*/

    color:#535353;
    text-decoration:none;
    -moz-transition:0.5s linear;
    -o-transition:0.5s linear;
    -webkit-transition:0.5s linear;
    -ms-transition:0.5s linear;
    transition:0.5s linear;
}
h1{ font-size: 100px; }
h2{ font-size: 80px; }
h3{ font-size: 48px; }
h4{ font-size: 28px; }
h5{ font-size: 24px; }
h6{ font-size: 20px; }

h1,h2,h3,h4,h5,h6 {
 line-height: 1em;
}

p, i, address{
    margin:0px;
    padding:0px;
    color:#333333;
    font-size: 24px;
    font-weight:400;
    font-style: normal;
    line-height: 32px;
    text-decoration:none;
}

a:link, a:active, a:visited{
    color: #5089C8;
    text-decoration:none;
}
a:hover{ text-decoration:underline; }

.bold, strong{ font-weight: 900 !important; }
.semibold{ font-weight: 500 !important; }
.cabin-font{font-family: 'Cabin Condensed' !important;
font-weight: 700 !important;
}

.italic{ font-style: italic; }
.center{ text-align:center !important; }
.right{ text-align:right !important; }
.left{ text-align:left !important; }
.jtfy{ text-align:justify !important; }

.color_black{color:#000000 !important;}
.color_darkgray{color:#222222 !important;}
.color_gray{color:#535353 !important;}
.color_lightgray{color:#D8D8D8 !important;}
.color_white{color:#FFFFFF !important;}
.color_darkblue{color:#17366E !important;}
.color_blue{color:#0262D0 !important;}
.color_grayblue{color:#546987 !important;}
.color_logoblue{color:#5089C8 !important;}
.color_lightblue{color:#9ED2F7 !important;}
.color_green{color:#117D03 !important;}
.color_orange{color:#F27405 !important;}
.color_red{color:#F80F30 !important;}
.color_yellow{color:#EAFB52 !important;}


.fs12{font-size:12px !important;}
.fs14{font-size:14px !important;}
.fs16{font-size:16px !important;}
.fs18{font-size:18px !important;}
.fs20{font-size:20px !important;}
.fs22{font-size:22px !important;}
.fs24{font-size:24px !important;}
.fs26{font-size:26px !important;}
.fs28{font-size:28px !important;}
.fs30{font-size:30px !important;}
.fs32{font-size:32px !important;}
.fs34{font-size:34px !important;}
.fs36{font-size:36px !important;}
.fs38{font-size:38px !important;}
.fs40{font-size:40px !important;}
.fs42{font-size:42px !important;}
.fs44{font-size:44px !important;}
.fs46{font-size:46px !important;}
.fs48{font-size:48px !important;}
.fs50{font-size:50px !important;}
.fs52{font-size:52px !important;}
.fs54{font-size:54px !important;}
.fs56{font-size:56px !important;}
.fs58{font-size:58px !important;}
.fs60{font-size:60px !important;}


main ul{
    margin:0px 0px 0px 20px;
    padding:0px;
}
    main li{
        margin:0px;
        padding:0px;
        color:#222222;
        font-size: 18px;
        font-weight:300;
        font-style: normal;
        line-height: 32px;
        text-decoration:none;
        }

/*Button*/
.button{
    display:inline-block;
    margin:0px;
    padding:10px 20px;
    border-radius:3px;
    font-size: 48px;
    font-weight: 500;
    color:#FFFFFF !important;
    background-color: #17366E;
    text-decoration:none !important;
}
.button:hover{ background-color: #535353; }

.button_big{
    display:inline-block;
    margin:0px;
    padding:15px 60px;
    border-radius:6px;
    color:#FFFFFF !important;
    background-color: #17366E;
    text-decoration:none !important;
}
.button_big:hover{ background-color: #535353; }

.button-green{ background-color: #117D03;}
.button-greentrans{ background-color: #ffffff; color:#000000 !important; }
.button-greentrans:hover{ color:#ffffff !important; }
.button-dark{ background-color: #222222;}


.button_open{
    display:inline-block;
    margin:0px;
    padding:10px 40px;
    border-radius:3px;
    border:solid;
    border-width: 1px;
    border-color: #858585;
    color:#000000 !important;
    background-color: transparent;
    text-decoration:none !important;

}
.button_open:hover{
    background-color: #535353;
    color:#FFFFFF !important;


}


/*Formular*/
input[type="text"], input[type="email"], input[type="url"], textarea, select{
    display: block;
    width:100%;
    border: 1px solid #aaaaaa;
    margin:0px 0px 20px 0px;
    padding:10px;
    color:#222222;
    font-size: 20px;
    font-weight:300;
    font-family: 'Fira+San', sans-serif;
    font-style: normal;
    line-height: 33px;
    box-sizing: border-box;
}
input[type="submit"]{
    border: 0px;
    margin:0px;
    padding:10px 30px;
    color:#222222;
    font-size: 20px;
    font-weight:300;
    font-family: 'Fira+San', sans-serif;
    font-style: normal;
    line-height: 33px;
    box-sizing: border-box;
}
::placeholder{ color:#aaaaaa; }


/*Main, header, footer*/
main {
    margin:0 auto;
    padding:0px 0px 0px 0px;
    width: 90%;
    min-height:500px;
}


/*Spalten*/
.col-wrap {
    display: flex;
    flex-flow: row wrap;
}
.col {
    width:100%;
}
.col-100 {
    width:100%;
    padding:40px;
    box-sizing: border-box;
}
.col-90 {
    width:90%;
    padding:40px;
    box-sizing: border-box;
}
.col-80 {
    width:80%;
    padding:40px;
    box-sizing: border-box;
}
.col-70 {
    width:70%;
    padding:40px;
    box-sizing: border-box;
}
.col-60 {
    width:60%;
    padding:40px;
    box-sizing: border-box;
}
.col-50 {
    width:50%;
    padding:40px;
    box-sizing: border-box;
}
.col-40 {
    width:40%;
    padding:40px;
    box-sizing: border-box;
}
.col-30 {
    width:30%;
    padding:40px;
    box-sizing: border-box;
}
.col-33 {
    width:33.333%;
    padding:40px;
    box-sizing: border-box;
}
.col-25 {
    width:25%;
    padding:40px;
    box-sizing: border-box;
}
.col-20 {
    width:20%;
    padding:40px;
    box-sizing: border-box;
}
.col-10 {
    width:10%;
    padding:40px;
    box-sizing: border-box;
}
.col-17 {
    width:16.666%;
    padding:40px;
    box-sizing: border-box;
}

.col-12-5 {
    width:12.5%;
    padding:40px;
    box-sizing: border-box;
}
.col-75 {
    width:75%;
    padding:40px;
    box-sizing: border-box;
}


/* Farbboxen */
.colorbox{
    box-sizing: border-box;
    border-radius: 8px;
    padding: 20px;
    border: 1px solid;
    border-color: #ccc;
    text-align: center;
    //box-shadow: rgba(0, 0, 0, 0.06) 0px 4px 12px 0px;
    min-height: 300px;
}

.colorbox2{
    box-sizing: border-box;
    margin:10px;
    border: 1px solid;
    border-color: #ccc;
    min-height: 300px;
}


.row-flex {
    display: flex;
    align-items: stretch;
    flex-flow: row wrap;
}

.row-image {
display: inline-block;
}



.container {
	display: flex;
}
.container * {
	box-sizing: border-box;

}

.container > div {
	width: 50%;
	padding: 10px;
}

.container .leftside {
	margin: -5px -5px;
}

.container .leftside > img {
    display: inline-block;
	width:calc(50% - 12px);
	margin: 5px;
}
.container .rightside {
	padding: 25px;
}

.box {
display: flex;
flex-flow: row wrap;
}

.box-inside {
    box-sizing: border-box;
    border-radius: 8px;
    padding: 20px;
    border: 1px solid;
    border-color: #ccc;
    width:calc(33% - 40px);
    margin: 20px 20px 20px 20px;
}

.box-inside-2 {
    box-sizing: border-box;
    border-radius: 8px;
    padding: 20px;
    border: 1px solid;
    border-color: #ccc;
    width:calc(50% - 40px);
    margin: 20px 20px 20px 20px;
}




/*Iconliste*/
.iconlist-wrap {
    position: relative;;
}
.iconlist-icon {
    position: absolute;
    width:70px;
    box-sizing: border-box;
}
.iconlist-content {
    width: calc(100% - 70px);
    padding: 0px 20px 20px 20px;
    margin-left: 70px;
    box-sizing: border-box;
}

.iconlistsmall-wrap {
    position: relative;;
    padding:20px;
}
.iconlistsmall-icon {
    position: absolute;
    width:30px;
    padding-top:6px;
    box-sizing: border-box;
}
.iconlistsmall-content {
    width: calc(100% - 30px);
    margin-left: 30px;
    box-sizing: border-box;
}


@media screen and (min-width: 1000px) {
    .textcol-2 {
        column-count: 2;
        column-rule: 1px solid #ccc;
        column-gap: 50px;
    }



/*****************
****RESPONSIVE****
*****************/

/*für alle Handys Hochformat
@media screen and (max-width: 500px) {
.space5{ height:5px; }
.space10{ height:5px; }
.space15{ height:5px; }
.space20{ height:5px; }
.space25{ height:5px; }
.space30{ height:10px; }
.space40{ height:10px; }
.space50{ height:10px; }
.space75{ height:20px; }
.space100{ height:20px; }
.space150{ height:25px; }
.space200{ height:30px; }
.space550{ height:40px; }

h1{ font-size: 42px; }
h2{ font-size: 30px; }
h3{ font-size: 24px; }
h4{ font-size: 22px; }
h5{ font-size: 20px; }
h6{ font-size: 18px; }


.fs20{font-size:10px !important;}
.fs22{font-size:12px !important;}
.fs24{font-size:14px !important;}
.fs26{font-size:16px !important;}
.fs28{font-size:18px !important;}
.fs30{font-size:20px !important;}
.fs32{font-size:20px !important;}
.fs34{font-size:20px !important;}
.fs36{font-size:20px !important;}
.fs38{font-size:20px !important;}
.fs40{font-size:31px !important;}
.fs42{font-size:30px !important;}
.fs44{font-size:30px !important;}
.fs46{font-size:30px !important;}
.fs48{font-size:28px !important;}
.fs50{font-size:30px !important;}
.fs52{font-size:32px !important;}
.fs54{font-size:34px !important;}
.fs56{font-size:36px !important;}
.fs58{font-size:38px !important;}
.fs60{font-size:40px !important;}


}
*/


/*für alle Handys Hochformat
@media screen and (max-height: 900px) {
.space5{ height:5px; }
.space10{ height:5px; }
.space15{ height:5px; }
.space20{ height:10px; }
.space25{ height:10px; }
.space30{ height:15px; }
.space40{ height:20px; }
.space50{ height:20px; }
.space75{ height:30px; }
.space100{ height:40px; }
.space150{ height:55px; }
.space200{ height:70px; }
.space550{ height:100px; }

h1{ font-size: 46px; }
h2{ font-size: 34px; }
h3{ font-size: 28px; }
h4{ font-size: 26px; }
h5{ font-size: 24px; }
h6{ font-size: 22px; }


.fs20{font-size:16px !important;}
.fs22{font-size:18px !important;}
.fs24{font-size:20px !important;}
.fs26{font-size:22px !important;}
.fs28{font-size:22px !important;}
.fs30{font-size:24px !important;}
.fs32{font-size:24px !important;}
.fs34{font-size:26px !important;}
.fs36{font-size:26px !important;}
.fs38{font-size:28px !important;}
.fs40{font-size:30px !important;}
.fs42{font-size:32px !important;}
.fs44{font-size:34px !important;}
.fs46{font-size:34px !important;}
.fs48{font-size:38px !important;}
.fs50{font-size:40px !important;}
.fs52{font-size:42px !important;}
.fs54{font-size:44px !important;}
.fs56{font-size:46px !important;}
.fs58{font-size:48px !important;}
.fs60{font-size:50px !important;}
}*/

.totop {
    position: fixed;
    display: none;
    bottom: 20px;
    right: 20px;
    z-index: 1000;
    padding: 5px 15px;
    background-color: #5089C8;
    cursor: pointer;
    text-align: center;
}


/* Cookie Liste */
.cookie-table {
    width:100%;
    padding: 30px 0 0 0;
}

.cookie-table h3 {
    font-size:18px;
    margin-bottom: 5px;
}

.cookie-table table {
    width:100%;
}

.cookie-table th:nth-child(1) {
    width:10em;
}

.cookie-table th:nth-child(3) {
    width:6em;
}
.cookie-table td, .cookie-table th {
    text-align: left;
    padding: 10px;
    font-size:14px;
    border-bottom: 1px solid #ccc;
}

/* Cookie Banner */
.wrap-cookie-banner {
    display:none;
    position: fixed;
    width:100%;
    bottom: 0px;
    left:0px;
    right:0px;
    min-height:300px;
    z-index: 1000;
    background-color: #efefef;
}
    .cookie-banner {
        margin:0 auto;
        width:80%;
        height:100%;
        background-color: #efefef;
    }


@media screen and (max-width: 1190px) {
    .col-90, .col-80, .col-70, .col-60, .col-50 {
        width:100%;
    }

    .right{ text-align: left !important; }
}


@media screen and (max-width: 1100px) {
    .col-40, .col-30, .col-33, .col-25, .col-20 {
        width:50%;
    }
    .col-17, .col-12-5, .col-10 {
        width:0%;
    }
    main .col-17, main .col-12-5, main .col-10, footer .col-12-5, footer .col-10 {
        padding:0px;
    }

    h1{ font-size: 24px !important; }
    h2{ font-size: 18px !important; }
    .fs60{font-size:34px !important;}
}



@media screen and (max-width: 900px) {
}
/*vorher 870px */
@media screen and (max-width: 990px) {
    .col-40, .col-30, .col-33, .col-25, .col-20 {
        width:100%;
    }
    .col-17, .col-12-5, .col-10 {
        width:0%;
    }
    main .col-17, main .col-12-5, main .col-10, footer .col-12-5, footer .col-10 {
        padding:0px;
    }

    .cookie-banner .col-25 {
        padding:20px 20px 0px 20px;
    }

    .cookie-banner .col-wrap .col-30 {
        display:none;
    }
    .cookie-banner { width:80%; }

    .button{
        display: block;
        text-align: center;
    }
    .button_big{
        display: block;
        text-align: center;
    }
}
@media screen and (min-width: 871px) {
}

.container .rightside label {
    display: inline-block;
    width: 250px;
    font-size: 20px;
    line-height:30px;
    color: #535353;
    font-weight: 400;
}

/** NEW **/
.container .rightside input {
    width: calc(100% - 250px);
    font-size: 20px;
    line-height:30px;
    margin-bottom: 20px;
}

.container .rightside button {
    display:block;
    font-family: 'Cabin Condensed', sans-serif;
    border:0;
    width:100%;
    margin:0 auto;
}

.privacy li {
    font-size: 20px;
    line-height: 1.4em;
    padding: 10px 0;

}

.privacy h3 {
    margin-bottom: 20px;
}

.error {
    border-color: red !important;
}

.container .rightside button {
    display:block;
    font-family: 'Cabin Condensed', sans-serif;
    border:0;
    width:100%;
    margin:0 auto;
    cursor: pointer;
}

.button:hover{ background-color: #535353; }

    .privacy li {
        font-size: 20px;
        line-height: 1.4em;
        padding: 10px 0;

    }

    .privacy h3 {
        margin-bottom: 20px;
    }
