/* http://www.color-hex.com/color/032169 - blau */

/* --------------------------------
// Reset, Essentials
-------------------------------- */

html, body, menu, img { margin: 0; padding: 0; }
menu li { list-style: none; }

body { font-family: "Source Sans Pro", "Trebuchet MS", sans-serif; font-size: 16px; color: rgb(80, 80, 80);  /* background-color: rgb(225, 225, 225);*/ background-color: #444444; }

.clearfix:after {
    content: ".";
    clear: both;
    display: block;
    visibility: hidden;
    height: 0px;
}

/* --------------------------------
// Top Navigation
-------------------------------- */

#top { background-color: #032169; /* background-color: #0073C6 */; padding: 2em 0; font-size: 19px; }

@media (min-width: 560px)
{
    #menu li { display: inline-block;  }
    #menu li.menu { padding: 8px 24px; }
    #menu li.menu:first-child { padding-left: 0; }
    .logo { padding-bottom: 1em; }
}

@media (min-width: 800px) and (max-width: 850px) {
    .logo img { width: 150px; padding-top: 8px; }
}

@media (min-width: 800px) {
    .logo { float: left; }
    .logo { padding-bottom: 0em; }
    #menu { margin: 0; padding: 0; float: right; font-weight: bold; font-size: 1.1em; }
    #menu li.contact { background-color: #CB003E; padding: 8px 16px; margin-left: 8px;  }
}


@media (max-width: 749px)
{
    #menu { margin-top: 6px; }
    #menu li { padding: 6px 0; }
    #breadcrumbs { line-height: 1.8em; }
}

#menu a { color: #ffffff; text-decoration: none; }

/* --------------------------------
// Container
-------------------------------- */

#frame, #breadcrumbs { background-color: #ffffff; }
#frame { padding: 3em 0; }
#frame img { max-width: 100%; height: auto; }

@media (min-width: 1050px)
{
    .container { width: 1000px; margin: 0 auto; }
    #main { width: 680px; float: right;  }
    #sidebar { width: 320px; float: right;  }
}
@media (max-width: 1049px)
{
    .container { padding: 0 25px; }
    #sidebar { background-color: #eeeeee; padding: 25px !important; }
}

#breadcrumbs { padding: 2em 0; border-bottom: 1px solid #dddddd; }
#breadcrumbs .sep { padding: 0 8px; }

#sidebar { box-sizing: border-box; padding-right: 60px; }
#sidebar menu li {   }
#sidebar menu li a, #sidebar menu li.heading { display: block; padding: 0.75em 0.75em; font-size: 1em; background-color: #f5f5f5; border-bottom: 1px solid #ffffff; color: #555555; font-weight: 600; }
#sidebar menu li a:hover, #sidebar menu li.active a, #sidebar menu li.heading { background-color: #444444 !important; color: #ffffff !important; }
#sidebar menu li.level-1 {  }
#sidebar menu li.spacing {  margin-top: 16px; margin-bottom: 8px; }
#sidebar menu { margin-bottom: 4em; }
.sidebar-box { border: 1px solid #032169; margin-top: 2em; background-color: #ffffff; }
.sidebar-box-heading { background-color: #032169; color: #ffffff; font-weight: bold; }
.sidebar-box-heading, .sidebar-box-content { padding: 0.5em; }
#sidebar-zertifitierungen .sidebar-box-content { text-align: center !important; }
#sidebar-zertifitierungen img { width: 90%; max-width: 190px; }
#sidebar-kontakt { border-color: #CB003E; }
#sidebar-kontakt .sidebar-box-heading { background-color: #CB003E; }

#footer { padding: 2em 0; text-align: left; font-size: 0.9em; color: #ffffff; }
#footer a { color: #ffffff; text-decoration: none; }

#bottom { padding: 2em 0; text-align: left; font-size: 0.9em; color: #ffffff; }


#bottom { background-color: #FDF5E1; padding: 2em 0em; border-bottom: 1px solid #ffffff;  }
#bottom p { font-size: 1.3em; }

#bottom-contact {
    padding-top: 2em;
    background-color: #eeeeee;
    text-align: center;
}

#bottom-contact h2 { margin-top: 0; }

#bottom-contact a {
    display: inline-block;
    border: 1px solid #CB003E;
    background-color: #CB003E;
    color: #ffffff;
    font-weight: bold;
    padding: 1em 1.5em;
    text-decoration: none;
    margin-bottom: 2.5em;
    font-size: 1.1em;
}
#bottom-contact a:hover {
    background-color: #ffffff;
    color: #CB003E;
}

@media (min-width: 750px) {
    #bottom p { text-align: right; }
}

fieldset { background-color: #eeeeee; padding: 1.5em 1.5em; border: 1px solid #dddddd; margin: 1em 0; }

/* --------------------------------
// Typographie
-------------------------------- */

h1 { font-size: 32px; font-weight: normal; color: #525252; }
h2 { font-size: 28px; font-weight: normal; color: #525252; }
h3 { font-size: 22px; font-weight: normal; color: #525252; }

h1, h2, h3, h4, p, table, .paragraph { margin: 0; padding: 0; margin-bottom: 16px; }
h2, h3, h4 { margin-top: 24px; }
p, ul li { line-height: 1.6em; }
ul li, ol li { margin-bottom: 8px; line-height: 1.4em; }
ul, ol { margin-bottom: 16px; }
a { text-decoration: none; color: #0066cc; }
p a, .element a { font-weight: 600; }
a img { border: none; }

.intro { font-size: 1.2em;}
.intro, .intro strong { font-weight: 600; }
.float-left { float: left; }
.float-right { float: right; }
.align-left { text-align: left; }
.align-center { text-align: center; }
.align-right { text-align: right; }

.fs08 { font-size: 0.8em; }
.fs09 { font-size: 0.9em; }
.fs11 { font-size: 1.1em; }

.width-100 { width: 100%; }
.width-90 { width: 90%; }
.width-60 { width: 60%; }
.width-50 { width: 50%; }

.none { display: none; }

.legend { font-size: 0.9em; color: #888888; }
.blur { color: #888888; }

.flex-wrap {
    display: -webkit-flex;
    display: -ms-flexbox;
    display: flex;
    -webkit-flex-wrap: wrap;
    -ms-flex-wrap: wrap;
    flex-wrap: wrap;
}

@media (max-width: 1049px)
{
    #footer .float-right, #footer .float-left { float: none; text-align: left; }
}

hr {
    border: 0;
    color: #E8EAEB;
    background-color: #E8EAEB;
    height: 2px;
}

/* --------------------------------
// Tabellen
-------------------------------- */

table {
    border-collapse: collapse;
    border-spacing: 0;
    empty-cells: show;
    border: 1px solid #dcdcdc;
}

table td, table th {
    border-left: 1px solid #dcdcdc;
    border-width: 0 0 0 1px;
    font-size: inherit;
    margin: 0;
    overflow: visible;
    padding: .8em 1.2em
}

table td:first-child, table th:first-child {
    border-left-width: 0
}

table thead, table .header {
    background-color: #e0e0e0;
    color: #000;
    text-align: left;
    vertical-align: bottom
}

table td {
    background-color: transparent
}


table tr:nth-child(2n) td {
    background-color: #f5f5f5
}

/* --------------------------------
// Formulare
-------------------------------- */

fieldset dt { margin: 15px 0 10px; font-weight: bold; }
fieldset dd { margin: 10px 0; }

/* --------------------------------
// Spezial-Elemente
-------------------------------- */

#admin { /*position: fixed; top: 0; */ background-color: #666666; color: #eeeeee; padding: 15px 0; font-size: 80%; text-align: center; border-bottom: 1px solid #ffffff; }
#admin a { color: #eeeeee; padding: 6px 10px; margin: 0px 5px; background-color: #777777; border-radius: 4px; text-decoration: none; }

.message, .message-error, .message-notice, .message-success, .message-info { padding: 15px; background-color: #666666; color: #ffffff; }
.message-error { background-color: #f44336; }
.message-notice { background-color: #ff9800; }
.message-success { background-color: #4CAF50; }
.message-info { background-color: #2196F3; }

ul.icons {
    list-style-type: none;
    margin-left: 20px;
    padding: 0;
}
ul.icons li { padding-bottom: 5px; }