/* ----------------------------------------------------------------------------- *
 *                           Styles der Basisversion                             *
 * ----------------------------------------------------------------------------- */
/* Verwendete Farben
 * #005765  -  blau  --> FF271F rot --> 3433B2  hellblau          --> D43600 dunkelorange
 * #FF8827  -  orange   --> 98D344 grün --> FEEE19 gelb            --> FFCA00  gelb
 * #0098B2  -  hellblau --> AA1A15 dunkelrot --> 4A00FF  tiefblau --> AA0000 dunkelrot
 * #FFAE6F  -  pfirsich --> C2FF63 hellgrün --> FFF575  hellgelb   --> FFFF00  hellgelb
 * #B25305  -  braun    --> 4C8639  dunkelgrün --> B2A500 oliv    --> FF8800   orange
 *
/* ----------------------------------------------------------------------------- *
 * Ã„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+ */
}

/* ----------------------------------------------------------------------------- */
.page-wrapper {
    margin: 0;
}

header {
    padding: 0.5em 20px;
    padding-bottom: 0;
}

aside, footer {
    padding: 0.6em 20px;
}

section {
    padding: 0 20px;
}

.mainContent {
    width: 100%;
    border-top: 1px solid transparent;
}

aside {
    width: 100%;
    margin-left: 0;
}

/* ----------------------------------------------------------------------------- *
 *                                   Helper                                      *
 * ----------------------------------------------------------------------------- */

.clearfix:before,
.clearfix:after {
    content: " ";
    display: table;
}
.clearfix:after {
    clear: both;
}
/* For IE 6/7 only */
.clearfix {
    *zoom: 1;
}


/* ----------------------------------------------------------------------------- *
 *                             Textauszeichnungen                                *
 * ----------------------------------------------------------------------------- */
h1 {
    margin: 0;
}

h2 {
    margin: 0.6em 20px;
}

p.teasertext {
    margin: 0.8em 20px;
}

ul, ol {
    padding: 0;
    margin: 0 0 0.625em 20px;
}

/* ----------------------------------------------------------------------------- *
 *                                  Navigation                                   *
 * ----------------------------------------------------------------------------- */

nav,
.menu-button {
    margin: 0 -20px;
}


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 {
        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;
    }
}
    /* ----------------------------------------------------------------------------- *
     *                     Standardstyle von Flexnav anpassen                        *
     * ----------------------------------------------------------------------------- */

    .flexnav .touch-button {
        width: 3.15em;
        height: 3.15em;
    }

    .flexnav .touch-button .navicon,
   .menu-button .touch-button .navicon{
        color: #AA0000 ;  /*  dunkelrot */
        font-size: 1em;
        top: 1em;
    }

    .page-wrapper .menu-button,
    .page-wrapper .flexnav li,
    .page-wrapper .flexnav li a {
        background-color: #FFFF00 ; /* hellgelb */
        color: #AA0000 ;  /*  dunkelrot  */
        border-color: #D43600 ;  /*  dunkelorange  */
    }

    .page-wrapper .flexnav li ul li a {
        background-color: #FFFF00 ; /* hellgelb */
        color: #AA0000 ;  /*  dunkelrot  */
        border-color: #D43600 ;  /*  dunkelorange  */
    }

    .flexnav li a:hover,
    .flexnav li a:focus,
    .flexnav li a:active {
        background-color: #FFCA00 ; /* gelb */
        color: #FF8800 ; /* orange */
    }

    .flexnav li ul li a:hover,
    .flexnav li ul li a:focus,
    .flexnav li ul li a:active {
        background-color: #FFCA00 ; /* gelb */
        color: #FF8800 ; /* orange */
    }


    .flexnav li ul {
        left: -20px;
}

/* NEU */
/* ----------------------------------------------------------------------------- *
 *             Beispiel Responsive Slideshow mit responsiveslides.js             *
 * ----------------------------------------------------------------------------- */
.lightbox-galerie{
    list-style: none;
    margin: 0;
    padding: 0;
    overflow: auto;
    background-color: #FF8800 ; /* orange */
    border: 4px solid #FF8800 ; /* orange */
}

.lightbox-galerie li{
    width: 100%;
    margin: 0;
    padding: 0;
}

.lightbox-galerie a{
    display: block;
    line-height: 0;
}

.lightbox-galerie li img{
    width: 100%;
    height: auto;
    border: 4px solid #FF8800 ; /* orange */
}

/* ----------------------------------------------------------------------------- *
 *                              0px / 16px/em = 30em                           *
 * ----------------------------------------------------------------------------- */

@media only screen and (min-width: 10em) {
    .lightbox-galerie li{
        width: 50%;
        float: left;
    }
}

@media only screen and (min-width: 20em) {
    .lightbox-galerie li{
        width: 33.333333%;
    }
}

@media only screen and (min-width: 30em) {
    .lightbox-galerie li{
        width: 25%;
    }
}

@media only screen and (min-width: 40em) {
    .lightbox-galerie li{
        width: 20%;
    }
}


#imagelightbox {
    box-shadow: 0 0 3.125em rgba(0,0,0,0.8);
    cursor: pointer;
    position: fixed;
    z-index: 10000;
}
#imagelightbox-loading, #imagelightbox-loading div {
    border-radius: 50%;
}
#imagelightbox-loading {
    background-color: rgba(0, 0, 0, 0.5);
    box-shadow: 0 0 2.5em rgba(0, 0, 0, 0.75);
    height: 2.5em;
    left: 50%;
    margin: -1.25em 0 0 -1.25em;
    padding: 0.625em;
    position: fixed;
    top: 50%;
    width: 2.5em;
    z-index: 10003;
}
#imagelightbox-loading div {
    animation: 0.5s ease 0s normal none infinite imagelightbox-loading;
    background-color: #fff;
    height: 1.25em;
    width: 1.25em;
}
@keyframes imagelightbox-loading {
    0% {
    opacity: 0.5;
    transform: scale(0.75);
    }
    50% {
    opacity: 1;
    transform: scale(1);
    }
    100% {
    opacity: 0.5;
    transform: scale(0.75);
    }
}
#imagelightbox-overlay {
    background-color: rgba(0,0,0,0.8);
    bottom: 0;
    left: 0;
    position: fixed;
    right: 0;
    top: 0;
    z-index: 9998;
}
#imagelightbox-close {
    background-color: #FF8800 ; /* orange */
    border: 1px solid #FF8800 ; /* orange */
    border-radius: 50%;
    height: 2.5em;
    position: fixed;
    right: 2.5em;
    text-align: left;
    top: 2.5em;
    transition: color 0.3s ease 0s;
    width: 2.5em;
    z-index: 10002;
}
#imagelightbox-close:hover, #imagelightbox-close:focus {
    background-color: red;
    border: 1px solid red;
}
#imagelightbox-close:before, #imagelightbox-close:after {
    background-color: #fff;
    bottom: 20%;
    content: "";
    left: 50%;
    margin-left: -1px;
    position: absolute;
    top: 20%;
    width: 2px;
}

#imagelightbox-close:hover:before, #imagelightbox-close:hover:after {
    background-color: #fff;
}

#imagelightbox-close:before {
    transform: rotate(45deg);
}
#imagelightbox-close:after {
    transform: rotate(-45deg);
}
#imagelightbox-caption {
    background-color: #FF8800 ; /* orange */
    bottom: 0;
    color: #FFFFFF;
    left: 0;
    padding: 0.625em;
    position: fixed;
    right: 0;
    text-align: center;
    z-index: 10001;
}
#imagelightbox-nav {
    background-color: rgba(0, 0, 0, 0.5);
    border-radius: 20px;
    bottom: 3.75em;
    left: 50%;
    padding: 0.313em;
    position: fixed;
    transform: translateX(-50%);
    z-index: 10001;
}
#imagelightbox-nav button {
    background-color: transparent;
    border: 1px solid #fff;
    border-radius: 50%;
    display: inline-block;
    height: 1em;
    margin: 0 0.313em;
    width: 1em;
}
#imagelightbox-nav button.active {
    background-color: #fff;
}
.imagelightbox-arrow {
    background-color: #FF8800 ; /* orange */
    border: none;
    display: none;
    height: 7.5em;
    margin-top: -3.75em;
    position: fixed;
    top: 50%;
    vertical-align: middle;
    width: 3.75em;
    z-index: 10001;
}
.imagelightbox-arrow:hover, .imagelightbox-arrow:focus {
    background-color: red;
}
.imagelightbox-arrow:active {
    background-color: #111;
}
.imagelightbox-arrow-left {
    left: 2.5em;
}
.imagelightbox-arrow-right {
    right: 2.5em;
}
.imagelightbox-arrow:before {
    border: 1em solid transparent;
    content: "";
    display: inline-block;
    height: 0;
    margin-bottom: -0.125em;
    width: 0;
}
.imagelightbox-arrow-left:before {
    border-left: medium none;
    border-right-color: #fff;
    margin-left: -0.313em;
}
.imagelightbox-arrow-right:before {
    border-left-color: #fff;
    border-right: medium none;
    margin-right: -0.313em;
}
#imagelightbox-loading, #imagelightbox-overlay, #imagelightbox-close, #imagelightbox-caption, #imagelightbox-nav, .imagelightbox-arrow {
    animation: 0.25s linear 0s normal none 1 fade-in;
}
@keyframes fade-in {
    0% {
    opacity: 0;
    }
    100% {
    opacity: 1;
    }
}
@media only screen and (max-width: 41.25em) {
    #container {
        width: 100%;
    }
    #imagelightbox-close {
        right: 1.25em;
        top: 1.25em;
    }
    #imagelightbox-nav {
        bottom: 1.25em;
    }
    .imagelightbox-arrow {
        height: 3.75em;
        margin-top: -2.75em;
        width: 2.5em;
    }
    .imagelightbox-arrow-left {
        left: 1.25em;
    }
    .imagelightbox-arrow-right {
        right: 1.25em;
    }
}
@media only screen and (max-width: 20em) {
    .imagelightbox-arrow-left {
        left: 0;
    }
    .imagelightbox-arrow-right {
        right: 0;
    }
}

/* NEU */
/* ----------------------------------------------------------------------------- *
 *                              Flexible Google-Maps                             *
 * ----------------------------------------------------------------------------- */

/* Je nach gewÃ¼nschtem VerhÃ¤ltnis muss das Padding gesetzt werden: fÃ¼r 16:9 z.B. 56,25*/
#map {
        padding-bottom: 56.25%;
        height: 0;

}

.gm-style-iw {
background-color: #FF8800;
}

.gm-style {
background-color: #FF8800;
}


/* NEU */
/* ----------------------------------------------------------------------------- *
 *                              Beispiel Responsive Videos                       *
 * ----------------------------------------------------------------------------- */

video {
    width: 100%;
    height: auto;
}


/* NEU: */
/* ----------------------------------------------------------------------------- *
 *                       Kapitel: AnpassungsfÃ¤hige Bilder                        *
 *                          750px / 16px/em = 46.875em                           *
 * ----------------------------------------------------------------------------- */
/* Bilder flexibel machen:
 * hier mit max-width: 100%; damit sie nicht grÃ¶ÃŸer werden als das Original
 * width: 100%; wÃ¼rde die Bilder immer einpassen, aber u.U. auch aufblÃ¤hen
 **/
img {
    max-width: 100%;
    height: auto;
}

/* figure.slides-Container um die Bilder */
.slides {
    margin: 20px 0;
    line-height: 0;
}

figcaption {
    background-color: #FFFF00;  /*hellgelb */
    font-size: 0.875em;
    line-height: 1.4em;
    padding: 0.5em;
    text-align: center;
}


/* Andere AbstÃ¤nde und Schatten auf grÃ¶ÃŸeren Screens */
@media only screen and (min-width: 46.875em) {
    .slides {
        margin: 0 0 2em 0;
        box-shadow: 0 1px 2px rgba(0, 0, 0, 0.5);
    }
}


/* ----------------------------------------------------------------------------- *
 *                  Teaserboxen mit Bild und Text .box.teaser                    *
 * ----------------------------------------------------------------------------- */

.teaser {
    margin-bottom: 2em;
    padding: 20px;
    border: 1px solid rgba(133,165,204,0.2);
}

.box.teaser {
    float: left;
    margin-right: 2.816901408%;
    width: 48.50746269%;
    overflow: auto;
}

.teaser p {
    font-size: 1em; /* 16 px */
}

.box.teaser:nth-of-type(2n+2) {
    margin-right: 0;
}