/*
 * Frank Steffen
 * 01.04.2020
 * 
 * Released under GPLv3
 */
body {
    background-color: #fcfcfc;
    font-size: 120%;
    margin: 0em;
    padding: 0em;
    font-family: arial,helvetica,sans-serif;
}

img{
    width: 100%;
    height: auto;
}

a, .lnk-span{
    color: #005AAA;
    text-decoration: underline;
    cursor: pointer;
}

a:visited, .lnk-span:visited {color: #005AAA;}
a:hover, .lnk-span:hover {color: #058EFF;}
a:active, .lnk-span:active{color: #444;}


.lnk-white a, .lnk-white .lnk-span{
    color: #fff;
    text-decoration: underline;
    cursor: pointer;
}
.lnk-white a:visited, .lnk-white .lnk-span:visited {color: #fff;}
.lnk-white a:hover, .lnk-white .lnk-span:hover {color: #dedede;}
.lnk-white a:active, .lnk-white .lnk-span:active{color: #555;}

/* General */
.container{
    max-width: 1000px;
    min-height: 100vh;
    margin: 0 auto;
    box-sizing: border-box;
    background-color: #fff;

    display: flex;
    flex-direction: column;

    -webkit-box-shadow: 0px 0px 28px -12px rgba(0,0,0,0.75);
    -moz-box-shadow: 0px 0px 28px -12px rgba(0,0,0,0.75);
    box-shadow: 0px 0px 28px -12px rgba(0,0,0,0.75);
}

.header{
    padding: 0.65em 2em;
    display: flex;
    flex-direction: column;
    justify-content: space-between;

}
.header img{
    display: block;
}
.page{
    padding: 0.5em 2em;
    flex-grow: 1;
    display: flex;
    flex-direction: column;
    border-top: #005AAA 1px solid;
    border-bottom: #005AAA 1px solid;
    box-sizing: border-box;
    background-color: #F2F0E7;
}
.page > .page-content{
    flex-grow: 1;
    display: flex;
    flex-direction: column;
    box-sizing: border-box;
}
.page > .page-mover {
    padding-top: 0.6em;
    border-top: #005AAA 1px solid;
}
.page > .page-mover .page-mover-container{
    display: flex;
    flex-direction: row;
    align-items: stretch;
    justify-content: space-between;
    font-weight: bold;

}
.page > .page-mover .page-mover-container > div{
    display: flex;
    flex-direction: column;
    justify-content: center;
    margin: 0;   
}

.footer {
    position: relative;
    padding: 0.5em 2em;
    font-size: 80%;
}
.footer > div {
    display: flex;
    flex-direction: row;
    justify-content: space-between;
}
.page-number{
    position: absolute;
    right: 2em;
    bottom: 0.8em;
}

/* Navigationsleiste */
.nav{
    display: flex;
    flex-direction: row;
    justify-content: space-between;
    padding: 0.1em 0 0.6em 0;
    font-size: 1.1em;
    border-bottom: #005AAA 1px solid;
    margin-bottom: 0.5em;
}

.nav > div{
    display: flex;
    flex-direction: column;
    justify-content: center;
    padding: 0.5em 0.8em;
    text-align: center;

    -webkit-border-radius: 7px;
    -moz-border-radius: 7px;
    border-radius: 7px;
}

.nav-active{
    font-weight: bold;
}

/* Progressbar */
.progress{
    margin-top: 0.2em;
    position:relative;
    /*background-color: #d4d9ee;*/
    background:url(data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAAoAAAAKCAYAAACNMs+9AAAAQ0lEQVQYlY3QsREAMARAUfs39jCTXussIJ07CaH43as+ILF3mUoEG4TENbxRCSv0wA4l+EMBJ4TEDhuU4PQTNshU/AA8Q0j4oL1thwAAAABJRU5ErkJggg==) repeat;
}
.progress .progress-arrow-1,
.progress .progress-arrow-2{
    content: "";
    position: absolute;
    width: 0.65em;
    height: 50%;
    right: 0;
}
.progress .progress-arrow-1{
    bottom: 0;
    background: linear-gradient(to left top, #F2F0E7 50%, transparent 50%);
}
.progress .progress-arrow-2{
    top: 0;
    background: linear-gradient(to left bottom, #F2F0E7 50%, transparent 50%);
}

/* Text-Colors */
.text{
    margin: 0.5em 0;
}
.text-no-style {
    margin: 0;
}
.text-title{
    font-size: 1.4em;
    color: #005AAA;
    margin-bottom: 0.35em;
    padding: 0.45em 0 0.2em 0;
    border-bottom: solid 1px #005AAA;
}
.text-title-radius{
    -webkit-border-radius: 7px;
    -moz-border-radius: 7px;
    border-radius: 7px;
    padding: 0.2em 0.4em;
}
.text-title-subtitle{
    margin-bottom: 0.5em;
    -webkit-border-radius: 7px;
    -moz-border-radius: 7px;
    border-radius: 7px;
}
.text-title-subtitle > div{
    margin-bottom: 0;
}
.text-title-subtitle > .text-title{
    -webkit-border-top-left-radius: 7px;
    -webkit-border-top-right-radius: 7px;
    -moz-border-radius-topleft: 7px;
    -moz-border-radius-topright: 7px;
    border-top-left-radius: 7px;
    border-top-right-radius: 7px;
    border-bottom: #fff solid 1px;
    padding: 0.5em;
}
.text-title-subtitle > .text-subtitle{
    -webkit-border-bottom-right-radius: 7px;
    -webkit-border-bottom-left-radius: 7px;
    -moz-border-radius-bottomright: 7px;
    -moz-border-radius-bottomleft: 7px;
    border-bottom-right-radius: 7px;
    border-bottom-left-radius: 7px;
    padding: 0.75em;
}

.text-bold{
    font-weight: bold;
}
.text-hl{
    color: #005AAA;
}
.text-hb{
    font-weight: bold;
    color: #005AAA;
}
.text-warn{
    color: #b72026;
}
.text-center{
    text-align: center;
}
.text-underline{
    text-decoration: underline;
}
.text-white{
    color: #fff;
}

/* Test-Spacing */
.text-spacing-1{
    letter-spacing: 0.02em;
}
.text-spacing-2{
    letter-spacing: 0.04em;
}

/* -- Box -- */
.box{
    padding: 1em;
    margin: 0.5em 0;
}
/* Box-Colors */
.box-light{
    color: #005AAA;
    background-color: #fff;
    border: 3px solid #005AAA;
}
.box-dark{
    color: #fff;
    background-color: #005AAA;
}
.box-dark-light{
    color: #005AAA;
    border: 1px solid #005AAA;
    background-color: #d4d9ee;
}
.box-dark-light-2{
    color: #fff;
    border: 1px solid #005AAA;
    background-color: #779fd4;
}
.box-red {
    color: #c00000;
    border: 3px solid #c00000;
    background-color: #fff;
}
.box-red-light {
    color: #005AAA;
    background-color: #EAC9BC;
}
.box-green {
    color: #70AD47;
    border: 3px solid #70AD47;
    background-color: #fff;
}
.box-red-dark {
    color: #fff;
    border: 3px solid #c00000;
    background-color: #c00000;
}
.box-green-dark {
    color: #fff;
    border: 3px solid #70AD47;
    background-color: #70AD47;  
}
/* Box-Size */
.box-lg{
    font-size: 1.2em;
}
.box-big{
    font-size: 1.3em;
    padding: 1.5em;
    margin-bottom: 1.5em;
}
/* Box-Link */
.box-link{
    cursor: pointer;
    transition: 300ms ease-in-out;
}
.box-link:hover{
    -webkit-box-shadow: 0px 0px 5px 0px rgba(0,0,0,0.75);
    -moz-box-shadow: 0px 0px 5px 0px rgba(0,0,0,0.75);
    box-shadow: 0px 0px 5px 0px rgba(0,0,0,0.75);
}
.box-link:focus{
    -webkit-box-shadow: 0px 0px 5px 0px rgba(0,0,0,0.75);
    -moz-box-shadow: 0px 0px 5px 0px rgba(0,0,0,0.75);
    box-shadow: 0px 0px 5px 0px rgba(0,0,0,0.75);
}
.box-link:active{
    -webkit-box-shadow: inset 0px 0px 10px 1px rgba(0,0,0,0.75);
    -moz-box-shadow: inset 0px 0px 10px 1px rgba(0,0,0,0.75);
    box-shadow: inset 0px 0px 10px 1px rgba(0,0,0,0.75);
}
/* Box-Border */
.box-border-bottom {
    border-bottom: solid 3px #005AAA;
}
.box-border-bottom.box-dark {
    border-color: #fff !important;
}
.box-border-red{
    border: solid 3px #C00000;  
}
.box-border-green{
    border: solid 3px #70AD47;  
}

.box-border-left-red{
    padding-left: 0.5em;
    padding-right: 0.5em;
    border-left: solid 3px #C00000;
    border-right: solid 3px #C00000;  
}
.box-border-left-green{
    padding-left: 0.5em;
    padding-right: 0.5em;
    border-left: solid 3px #70AD47;
    border-right: solid 3px #70AD47;   
}
/* Skewing */
.skew-1{
    webkit-transform: rotate(-18deg);
    -o-transform: rotate(-18deg);
    -ms-transform: rotate(-18deg);
    -moz-transform: rotate(-18deg);
    transform: rotate(-18deg);
}
.skew-2{
    webkit-transform: rotate(18deg);
    -o-transform: rotate(18deg);
    -ms-transform: rotate(18deg);
    -moz-transform: rotate(18deg);
    transform: rotate(18deg);
}

/* Radius */
.radius-1{
    -webkit-border-radius: 0.4em;
    -moz-border-radius: 0.4em;
    border-radius: 0.4em;
}
.radius-2{
    -webkit-border-radius: 0.7em;
    -moz-border-radius: 0.7em;
    border-radius: 0.7em;
}
.radius-3{
    -webkit-border-radius: 1em;
    -moz-border-radius: 1em;
    border-radius: 1em;
}
.radius-4{
    -webkit-border-radius: 1.3em;
    -moz-border-radius: 1.3em;
    border-radius: 1.3em;
}
.radius-top-1{
    -webkit-border-radius: 0.4em 0.4em 0 0;
    -moz-border-radius: 0.4em 0.4em 0 0;
    border-radius: 0.4em 0.4em 0 0;
}
.radius-top-2{
    -webkit-border-radius: 0.7em 0.7em 0 0;
    -moz-border-radius: 0.7em 0.7em 0 0;
    border-radius: 0.7em 0.7em 0 0;
}
.radius-top-3{
    -webkit-border-radius: 1em 1em 0 0;
    -moz-border-radius: 1em 1em 0 0;
    border-radius: 1em 1em 0 0;
}
.radius-top-4{
    -webkit-border-radius: 1.3em 1.3em 0 0;
    -moz-border-radius: 1.3em 1.3em 0 0;
    border-radius: 1.3em 1.3em 0 0;
}

/* Box Arrow/Shapes */
.box-arrow-left{
    padding-left: 2.3em !important;
    position: relative;

}
.box-arrow-left > .div-arrow {
    top: 33%;
    left: 0.9em;
    position: absolute;
    width: 0;
    height: 0;
    border-top: 0.7em solid transparent;
    border-bottom: 0.7em solid transparent;
    border-right: 0.8em solid;
    padding: 0;
}
.box-arrow-right {
    padding-right: 2.3em !important;
    position: relative;
}
.box-arrow-right > .div-arrow {
    top: 33%;
    right: 0.9em;
    position: absolute;
    width: 0;
    height: 0;
    border-top: 0.7em solid transparent;
    border-bottom: 0.7em solid transparent;
    border-left: 0.8em solid;
    padding: 0;
}
.box-arrow-small-box  > .div-arrow {
    top: 21% !important;
}

/* img-text */
.img-text{
    -webkit-border-radius: 7px;
    -moz-border-radius: 7px;
    border-radius: 7px;
}
.img-text > div{
    display: flex;
    flex-direction: row;
    padding: 0.4em;
}
.img-text > div > div:first-child{
    margin: 0 1em 0 0.5em;
}
.img-text img {
    display: block;
    width: 3.2em;
}
.img-text-main{
    display:flex;
    flex-direction: row;
}
.img-text-text-center{
    display:flex;
    flex-direction:column;
    justify-content:center;
}
.img-text-center-img > div > div:first-child{
    display: flex;
    flex-direction: column;
    justify-content: center;
}
.img-text-center-img-rev > div > div:last-child{
    display: flex;
    flex-direction: column;
    justify-content: center;
}
.img-text-append{
    flex: 1;
    justify-content: space-between;
}

/* img-obj */
.img-obj > div{
    display: flex;
    flex-direction: row;
    padding: 0.5em;
}
.img-obj > div > div:first-child{
    margin: 0 1em 0 0.5em;
}
.img-obj img{
    display: block;
    width: 3.2em;
}
.img-obj-main{
    flex: 1;
    display: flex;
    flex-direction: column;
}
.img-obj-center-img .img-obj-img-container{
    display: flex;
    flex-direction: column;
    justify-content: center;
}

.img-obj-center-main .img-obj-main{
    display: flex;
    flex-direction: column;
    justify-content: center;
}


/* Grid */
.grid{
    width: 100%;
    margin: 0.5em 0;
}
.grid img{
    max-width: 10em;
}
.grid-padding td{
    padding: 0.5em;
}

/* Group */
.group{
    display: block;
}
.group-row{
    display: flex;
    flex-direction: row;
}
.group-column{
    display: flex;
    flex-direction: column;
}
.group-content-space{
    justify-content: space-between;
}
.group-flex-grow{
    flex: 1;
}

/* list */
.list ul{
    margin: 0;
    padding-left: 1.4em;
}
.list ul li{
    margin-bottom: 0.3em;
}
.list-square ul {
    list-style-type: square;
}
.list-arrow ul {
    list-style-image: url('listArrow.png');
}


/* Input-Link */
.input-link{
    margin-bottom: 0.5em;
}
.input-link > div{
    margin-bottom: 0.2em;
}

.input-link form{
    display: flex;
    flex-direction: row;
    justify-content: space-between;
    align-items: stretch;
}
.input-link input{
    color: #444;
    width: 100%;
    box-sizing: border-box;
    margin-right: 1em;
    padding: 0.5em;
    font-size: 0.81em;
    -webkit-border-radius: 7px;
    -moz-border-radius: 7px;
    border-radius: 7px;
    border: 1px solid #ced4da;
}
.input-link input:focus {
    border: #005AAA solid 1px;
}
.input-link button {
    font-size: 1em;
    text-align: center;
    text-decoration: none;

    color: #005AAA;
    background-color: #fff;
    border: none;
    border: #005AAA solid 2px;

    -webkit-border-radius: 7px;
    -moz-border-radius: 7px;
    border-radius: 7px;

    cursor: pointer;
    padding: 0.35em 1em;
    transition: 300ms ease-in-out;
}
.input-link button:active {
    -webkit-box-shadow: inset 0px 0px 17px 0px rgba(0,0,0,0.75);
    -moz-box-shadow: inset 0px 0px 17px 0px rgba(0,0,0,0.75);
    box-shadow: inset 0px 0px 17px 0px rgba(0,0,0,0.75);
}
.input-link button:focus {
    -webkit-box-shadow: 0px 0px 5px 0px rgba(0,0,0,0.75);
    -moz-box-shadow: 0px 0px 5px 0px rgba(0,0,0,0.75);
    box-shadow: 0px 0px 5px 0px rgba(0,0,0,0.75);
}
.input-link button:hover {
    -webkit-box-shadow: 0px 0px 5px 0px rgba(0,0,0,0.75);
    -moz-box-shadow: 0px 0px 5px 0px rgba(0,0,0,0.75);
    box-shadow: 0px 0px 5px 0px rgba(0,0,0,0.75);
}

/* Image */
.img-subtile{
    margin-top: 0.3em;
}
.img-shadow img{
    -webkit-box-shadow: 0px 0px 5px 0px rgba(0,0,0,0.75);
    -moz-box-shadow: 0px 0px 5px 0px rgba(0,0,0,0.75);
    box-shadow: 0px 0px 5px 0px rgba(0,0,0,0.75);
}


/* Margin */
.margin-0{
    margin: 0 !important;
}
.margin-0-5{
    margin: 0.5em !important;
}
.margin-1{
    margin: 1em !important;
}
.margin-2{
    margin: 2em !important;
}
.top-0{
    margin-top: 0 !important;
}
.top-0-5{
    margin-top: 0.5em !important;
}
.top-1{
    margin-top: 1em !important;
}
.top-2{
    margin-top: 2em !important;
}
.top-3{
    margin-top: 3em !important;
}
.left-1{
    margin-left: 1em !important;
}
.left-2{
    margin-left: 2em !important;
}
.right-1{
    margin-right: 1em !important;
}
.right-2{
    margin-right: 2em !important;
}
.bottom-0{
    margin-bottom: 0em !important;
}
.bottom-1{
    margin-bottom: 1em !important;
}
.bottom-2{
    margin-bottom: 2em !important;
}

/* Padding */
.padding-0{
    padding: 0 !important;
}
.padding-0-1{
    padding: 0.1em !important;
}
.padding-0-5{
    padding: 0.5em !important;
}
.padding-0-75{
    padding: 0.75em !important;
}
.padding-1{
    padding: 1em !important;
}
.i-top-0{
    padding-top: 0 !important;
}
.i-top-1{
    padding-top: 1em !important;
}
.i-top-2{
    padding-top: 2em !important;
}
.i-top-3{
    padding-top: 3em !important;
}
.i-left-1{
    padding-left: 1em !important;
}
.i-left-2{
    padding-left: 2em !important;
}
.i-right-1{
    padding-right: 1em !important;
}
.i-right-2{
    padding-right: 2em !important;
}
.i-right-3{
    padding-right: 3em !important;
}
.i-bottom-0{
    padding-bottom: 0em !important;
}
.i-bottom-1{
    padding-bottom: 1em !important;
}
.i-bottom-2{
    padding-bottom: 2em !important;
}

/* Stick on Top */
.sticky-top-container{
    top: 0;
    display: none;
    position: fixed;
    z-index: 100;

    margin: 0 auto;
    padding: 0 2em;
    max-width: 1000px;
    background-color: #F2F0E7;

    -webkit-box-shadow: 0px 2px 5px 0px rgba(0,0,0,0.5);
    -moz-box-shadow: 0px 2px 5px 0px rgba(0,0,0,0.5);
    box-shadow: 0px 2px 5px 0px rgba(0,0,0,0.5);
}
.sticky-top-container > div {
    margin-top: 0;
}

/* Other */
.center{
    display: block;
    text-align: center;
}
.center-exd{
    display: flex;
    flex-direction: row;
    justify-content: center;
}

.shadow{
    -webkit-box-shadow: 0px 0px 5px 0px rgba(0,0,0,0.75);
    -moz-box-shadow: 0px 0px 5px 0px rgba(0,0,0,0.75);
    box-shadow: 0px 0px 5px 0px rgba(0,0,0,0.75);
}
.link{
    cursor: pointer;
}
.border{
    padding: 1em;
    border: #005AAA solid 2px;
}
.mobile-only{
    display: none;
}
.mobile-400-only{
    display: none;
}

.home-btn{
    padding-left: 1.4em;

}
.home-btn table td > div{
    position: relative;   
}
.home-btn table td div > img{
    width: 2em;
    top: -1em;
    right: -0.2em;
    position: absolute;
}

@media screen and (max-width: 930px){
    body{
        font-size: 100%;
    }
}
@media screen and (max-width: 830px){
    body{
        font-size: 85%;
    }
}
@media screen and (max-width: 740px){
    body{
        font-size: 80%;
    }
}
@media screen and (max-width: 700px){
    .no-mobile{
        display: none !important;
    }
    .mobile-only{
        display: block !important;
    }
    .box-light{
        border: 2px solid #005AAA;
    }
    .box-border-bottom {
        border-bottom: 2px solid #005AAA;
    }
    .img-text > div > div:first-child{
        margin: 0 0.75em 0 0.25em;
    }
    .img-obj > div > div:first-child{
        margin: 0 0.75em 0 0.25em;
    }
}
@media screen and (max-width: 640px){
    body{
        font-size: 75%;
    }
    .header{
        padding-left: 0.6em;
        padding-right:  0.6em;
    }
    .page{
        padding-left: 0.6em;
        padding-right:  0.6em;
    }
    .footer{
        padding-left: 0.6em;
        padding-right:  0.6em;
    }
    .sticky-top-container{
        padding-left: 0.6em;
        padding-right:  0.6em;
    }
}
/*
@media screen and (max-width: 540px){
    body{
        font-size: 64%;
    }
    .nav{
        font-size: 96%;
    }
}
*/

@media screen and (max-width: 500px){
    body{
        font-size: 70%;
    }
    .mobile-no-text-center{
        text-align: left !important;
    }
    .group-content-mobile{
        flex-direction: column !important;
    }
}
@media screen and (max-width: 400px){
    .no-mobile-400{
        display: none !important;
    }
    .mobile-400-only{
        display: block;
    }
}
/* IE Rules (Pfui)*/
@media all and (-ms-high-contrast: none), (-ms-high-contrast: active) {
    .container{
        /*height: 100vh;*/
        box-shadow: 0px 0px 28px 12px #ddd;
    }
    .img-text-text-center {
        width: 100%;
    }
    .ie-100-opti {
        width: 100%;
    }
}