/* ----------------------------------------------------------------------------- *
 *                           Styles der Basisversion                             *
 * ----------------------------------------------------------------------------- */
/* ----------------------------------------------------------------------------- *
 * Änderung des default-Box-Modells aller Elemente auf "border-box"
 * http://www.paulirish.com/2012/box-sizing-border-box-ftw/
 * << apply a natural box layout model to all elements >>
 * ----------------------------------------------------------------------------- */
*, *:before, *:after {
    -webkit-box-sizing: border-box; /* Safari/Chrome, andere WebKit-Browser */
    -moz-box-sizing: border-box; /* Firefox, andere Gecko-Browser */
    box-sizing: border-box; /* Opera/IE 8+ */
}

/* ----------------------------------------------------------------------------- */

body {
overflow-y: scroll;
}

.page-wrapper {
    margin: 0;
}

header {
    padding: 0.5em 20px;
}

aside, footer {
    padding: 0.6em 20px;
}

section {
    padding: 0 20px;
}

.mainContent {
    width: 100%;
    border-top: 1px solid transparent;
}

aside {
    width: 100%;
    margin-left: 0;
}

img {
	width: 100%;
}

header h1 {
	
}

p.center {
	text-align:center;
}

ul.mitte {
	margin-left:20px;
}

/* ----------------------------------------------------------------------------- *
 *                             Textauszeichnungen                                *
 * ----------------------------------------------------------------------------- */
h1 {
    margin: 0;
}

h2 {
    margin: 0.6em 20px;
}

h2.papyros {
	font-family:Papyrus, "Trebuchet MS", Arial, Helvetica, sans-serif;;
	text-align:center;
}

aside h3 {
	font-family:Papyrus, "Trebuchet MS", Arial, Helvetica, sans-serif;;
	
}

aside 
p.teasertext {
    margin: 0.8em 20px;
}

ul, ol {
    padding: 0;
    
}

aside p {
	color:#FFF;
}

footer a:link, a:visited {
    color: #fff;
    text-decoration: none;
}

main a:link, a:visited {
    color: #000;
    text-decoration: none;
}

.main img {
	float:right;
	width:100%;
}

.clear {
	clear:both;
}
/* ----------------------------------------------------------------------------- *
 *                                  Navigation                                   *
 * ----------------------------------------------------------------------------- */
nav ul {
    margin: 0;
}

nav ul > li {
    margin-left: 0;
    border-bottom: 1px solid rgba(250, 250, 250, 0.6);
}

nav ul > li > a, nav ul > li > strong {
    padding: 0.6em 20px;
    display: block;
}

nav ul a:link {
    text-decoration: none;
}

/* ----------------------------------------------------------------------------- *
 *                           Styles der Tabletversion                            *
 *                          750px / 16px/em = 46.875em                           *
 * ----------------------------------------------------------------------------- */
@media only screen and (min-width: 46.875em) {
    
    /* Schriftverkleinerung wird für große Screens wieder aufgehoben */
    @media only screen and (max-width: 78em) {
        body {
            font-size: 0.938em; /* 15px */
        }
    }

    .main {
        /* clearing für die floatenden gleichlangen Spalten (.mainContent und .aside) */
        overflow: hidden;
    }

    .mainContent {
        width: 70%;
        float: left;
        padding: 0.8em 20px;
        border-top: none;
    }

    aside {
        width: 30%;
        margin-left: 70%;
        /* Trick für gleichlange Spalten  - dazu gehört ein overflow: hidden für den umgeb. Container */
        margin-bottom: -99999px !important;
        padding-bottom: 99999px !important;
    }

    aside, footer {
        padding: 0.8em 20px;
    }

    section {
        padding: 0;
    }

    /* ----------------------------------------------------------------------------- *
     *                             Textauszeichnungen                                *
     * ----------------------------------------------------------------------------- */
    h2 {
        font-size: 2.1875em; /* 35px */
        line-height: 1.2em;
        margin: 0.3em 0 0;
    }

    p.teasertext {
        margin: 0.8em 0;
    }

    /* ----------------------------------------------------------------------------- *
     *                                  Navigation                                   *
     * ----------------------------------------------------------------------------- */
    nav {
        /* clearing für die floatenden LIs */
        overflow: hidden;
        font-size: 1.2em; /* 18px */
    }

    nav ul {
        margin: 0 20px;
    }

    nav ul li {
        float: left;
        border: none;
        width: auto;
    }

    nav ul > li > a {
        padding: 0.7em 10px 0.7em 10px;
        display: inline-block;
    }
}

/* ----------------------------------------------------------------------------- *
 *                          Styles für kleine Desktops                           *
 *                           1024px / 16px/em = 64em                             *
 * ----------------------------------------------------------------------------- */
@media only screen and (min-width: 64em) {
    /* Navigation wird links neben dem Inhalt angeordnet */
    nav {
        width: 15%;
        float: left;
        box-shadow: none;
    }

    nav ul {
        margin: 1.6em 0 0;
    }

    nav ul > li {
        width: 100%;
        float: none;
    }

    nav ul > li > a {
        padding: 0.8em 25px;
        display: block;
    }

    /* .main macht Platz für .nav */
    .main {
        width: 85%;
        float: left;
    }

    /* Größenanpassungen */
    .mainContent {
        width: 75%;
        padding: 0.8em 20px;
    }

    aside {
        width: 25%;
        margin-left: 75%;
    }

    footer {
        clear: left;
    }
}
/* ----------------------------------------------------------------------------- *
 *                          Styles für große Desktops                            *
 *                           1248px / 16px/em = 78em                             *
 * ----------------------------------------------------------------------------- */
@media only screen and (min-width: 78em) {
    .page-wrapper {
        margin: 0 auto;
        max-width: 78em;
    }
}


/* ----------------------------------------------------------------------------- *
 *                      Beispiel Responsive-Nav im Basis-Layout                  *
 * ----------------------------------------------------------------------------- */
/* responsive-nav.js v1.0.14 by @viljamis - start */
/*
 #nav ul {
     margin: 0;
     padding: 0;
     width: 100%;
     display: block;
     list-style: none;
 }
 #nav li {
     width: 100%;
     display: block;
 }
 */
.js #nav {
    clip: rect(0 0 0 0);
    max-height: 0;
    position: absolute;
    display: block;
    overflow: hidden;
    zoom: 1;
}

#nav.opened {
    max-height: 9999px;
}
/* responsive-nav.js v1.0.14 by @viljamis - ende */

/*
 * Eigene Anpassungen für den Toggle-Button
 */
#nav-toggle {
    display: inline-block;
    position: absolute;
    right: 5%;
    top: 1em;
    -webkit-border-radius: 0.4em;
    -moz-border-radius: 0.4em;
    border-radius: 0.4em;
    cursor: pointer;
    padding: 0.357em;
    color: #D0E4F2;
    background: #1b2a25;
    border: 1px solid #1b2a25;
}

#nav-toggle:hover {
    border: 1px solid #D0E4F2;
    background: #fff;
    color: #1b2a25;
}

/* ----------------------------------------------------------------------------- *
 *                  Beispiel Responsive-Nav im im Desktop-Layout                 *
 * ----------------------------------------------------------------------------- */
@media only screen and (min-width: 46.875em) {
    /* responsive-nav.js v1.0.14 by @viljamis - start */
    .js #nav {
        position: relative;
    }

    .js #nav.closed {
        max-height: none;
    }

    #nav-toggle {
        display: none;
    }

    /* responsive-nav.js v1.0.14 by @viljamis - ende */
}


/* NEU: */
/* ----------------------------------------------------------------------------- *
 *                          Styles für Teaserboxen                               *
 * ----------------------------------------------------------------------------- */

/* clearing für floatende Teaserboxen */
section {
    overflow: auto;
}

.box {
    margin: 0;
    border-bottom: 1px solid rgba(250, 250, 250, 0); /* verhindert das margin-Collapse nach unten */
    background-color: #565e47;
	color:#FFF;
}

.teaser {
    margin: 0 0 1em 0;
}

.box-inner {
    padding: 1em;
}

.box.teaser {
    overflow: auto;
}

.teaser h3 {
    margin: 0.2em 0 0.4em;
}

.teaser p {
    margin: 0;
    font-size: 1em; /* 16 px */
}

/* ----------------------------------------------------------------------------- *
 *                  Teaser geht noch über die gesamte Breite,                    *
 *              aber Text rutscht im Teaser rechts neben das Bild                *
 *                          400px / 16px/em = 25em                               *
 * ----------------------------------------------------------------------------- */
@media only screen and (min-width: 25em) {
    .box.teaser img {
        width: 45%;
        float: left;
        margin: 1em;
    }
    .box-inner {
        padding: 1em;
        line-height: 1.375em;
    }
}
/* ----------------------------------------------------------------------------- *
 *                       Teaserboxen mit Bild und Text                           *
 *                Borders und Box-Shadows für größere Auflösungen                *
 *                          750px / 16px/em = 46.875em                           *
 * ----------------------------------------------------------------------------- */
@media only screen and (min-width: 46.875em) {

    .box {
        box-shadow: 0 1px 2px rgba(0, 0, 0, 0.5);
        margin-bottom: 2em;
        border: 1px solid rgba(133, 165, 204, 0.2);
    }

    /* Wenn der Screen breiter wird werden 2 Teaserboxen nebeneinander dargestellt. */
    .box.teaser {
        float: left;
        margin-right: 4%;
        width: 48%;
    }

    .box.teaser img {
        width: 100%;
        float: none;
        margin: 0;
    }

    /* damit 2 Teaser-boxen den gesamten Inhaltsbereich ausfüllen,
     * wird bei jedem zweiten das Margin auf 0 gesetzt. */
    .box.teaser:nth-of-type(2n+2) {
        margin-right: 0;
    }
}


/* NEU */
/* ----------------------------------------------------------------------------- * 
 *                              Styles für Tables                                *
 * ----------------------------------------------------------------------------- **/

caption {
    font-style: italic;
    color: #fff;
    font-size: 1.25em;
    background: #1B2A25;
    padding: 0.5em;
}

table {
    width: 100%;
    font-size: 0.938em;
    box-shadow: 0 1px 2px rgba(0, 0, 0, 0.5);
    text-align: center;
}

th, td {
    padding: 0.5em;
}

th {
    xcolor: #fff;
    background: #dedede;
}


/*
 * Eränzungen für FooTable
 */

.footable.breakpoint > tbody > tr > td.expand {
    background: url('../gfx/plus.png') no-repeat 5px center;
    padding-left: 35px;
    text-align: left;
}

.footable.breakpoint > tbody > tr.footable-detail-show > td.expand {
    background: url('../gfx/minus.png') no-repeat 5px center;
}

.footable-detail-show,
.footable.breakpoint > tbody > tr.footable-row-detail {
    background: #C2D2E5;
}

.footable > tbody > tr:hover {
    background: #85A5CC;
}

.footable.breakpoint > tbody > tr:hover:not(.footable-row-detail) {
    cursor: pointer;
}

.footable > thead > tr > th.footable-first-column, 
.footable > thead > tr > td.footable-first-column, 
.footable > tbody > tr > td.footable-first-column {
    border-left: none;
    text-align: left;
}

.footable > tbody img {
    vertical-align: middle;
}

.footable > tfoot > tr > th, .footable > tfoot > tr > td {
    background-color: #dce9f9;
    border-top: 1px solid #ccc;
    text-shadow: 0 1px 0 rgba(255,255,255,.5);
    padding: 10px;
}



/*
 * Inhalte nur bis 480px Viewport-Breite (entsprechend zum footable.js) anzeigen
 */
.hide-on-big-screen{
    display: block;
    color: yellowgreen;
}

@media only screen and (min-width: 480px) {
    .hide-on-big-screen {
        display: none;
    }  
}
