/* ==========================================================================
   Base Styles
   ========================================================================== */
html { 
    height: 100%; 
    width: 100%; 
    padding: 0; 
    margin: 0; 
}

body { 
    position: relative; 
    width: 100%; 
    height: 100%; 
    padding: 0; 
    margin: 0; 
    text-align: center; 
    font-family: Arial, Helvetica, sans-serif;  
    background: #fff; 
}

body.frontend { 
    font-size: 100%; 
    line-height: 150%; 
    color: #494949;  
}

/* Responsive Font Sizes */
@media only screen and (max-width: 750px) {
	body.frontend { font-size: 90%; }
}

@media only screen and (max-width: 400px) {
	body.frontend { font-size: 80%; }
}

/* Typografie */
p { 
    margin: 0 0 13px 0; 
    min-height: 1em; 
    text-align: justify; 
}
p:last-child { 
    margin-bottom: 0; 
}

h1, .h1 { 
    font-family: "Times New Roman", Times, serif, sans-serif; 
    line-height: 120%; 
    text-align: left; 
    font-weight: normal; 
    font-size: calc(1.8em + 1vw); 
    margin: 0 0 15px 0; 
    color: #f08019; 
}
h2, .h2 { 
    font-family: "Times New Roman", Times, serif; 
    line-height: 120%; 
    text-align: left; 
    font-weight: normal; 
    margin: 0 0 15px 0; 
    font-size: calc(1.5em + 0.4vw); 
    color: #174f99; 
}
h3, .h3 { 
    font-family: Arial, Helvetica, sans-serif; 
    line-height: 120%; 
    text-align: left; 
    font-weight: bold; 
    margin: 0 0 15px 0; 
    font-size: calc(1.3em + 0.4vw); 
    color: #174f99; 
}
h4, .h4, h5, .h5, h6, .h6 {
    font-family: Arial, Helvetica, sans-serif; 
    line-height: 120%; 
    text-align: left; 
    margin: 0 0 15px 0; 
    font-weight: normal; 
    font-size: calc(1em + 0.4vw);
}

a, .link { 
    text-decoration: none; 
    color: #174f99; 
    position: relative;
}
a:hover, .link:hover { 
    text-decoration: none; 
    color: #174f99;  
    cursor: pointer; 
}

address { 
    white-space: pre; 
    font-style: normal; 
}

hr { 
    height: 1px; 
    border: none;  
    margin: 10px 0;  
    background-image: linear-gradient(to right, rgba(0, 0, 0, 0), rgba(0, 0, 0, 0.35), rgba(0, 0, 0, 0)); 
}

/* Helper Klassen */
.text-right { text-align: right !important; }
.text-left { text-align: left !important; }
.text-center { text-align: center !important; }
.text-justify { text-align: justify !important; }

.nov-padding { padding-top: 0 !important; padding-bottom: 0 !important; }
.nov-margin { margin-top: 0 !important; margin-bottom: 0 !important; }

.al { float: left; }
.ar { float: right; }

.sb { margin-bottom: 15px !important; }

.cf:after { content: "."; visibility: hidden; display: block; clear: both; height: 0; }
.cf { display: inline-block; }
* html .cf { height: 1%; }
.cf { display: block; }