/* ----------------------------------------------------------------------------- *
 *                           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+ */
}

/* ----------------------------------------------------------------------------- */
.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: 100%;
        float: left;
        padding: 0.8em 20px;
        border-top: none;
    }

    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: #B20095;  /*dunkel-lila */
        font-size: 1em;
        top: 1em;
    }

    .page-wrapper .menu-button,
    .page-wrapper .flexnav li,
    .page-wrapper .flexnav li a {
        background-color:#98D344; /* hellgrün */
        color: #B20095;  /*dunkel-lila */
        border-color: #FF5DE4;  /*  lila  */
    }

    .page-wrapper .flexnav li ul li a {
        background-color: #4C8639; /* dunkelgrün */
        color: #FFFFFF;  /*  weiß  */
    }

    .flexnav li a:hover,
    .flexnav li a:focus,
    .flexnav li a:active {
        background-color: #4C8639; /* dunkelgrün */
        color:#98D344; /* hellgrün */
    }

    .flexnav li ul li a:hover,
    .flexnav li ul li a:focus,
    .flexnav li ul li a:active {
        background-color: #4C8639; /* dunkelgrün */
        color:#98D344; /* hellgrün */
    }

    .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: #FF8827;  /*  orange  */
    border: 4px solid #FF8827;  /*  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 #FF8827;  /*  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: #FF8827;  /*  orange  */
    border: 1px solid #FF8827;  /*  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: #FF8827;  /*  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: #FF8827;  /*  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;
}


/* 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: #EDEDED;
    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);
    }
}


/* ----------------------------------------------------------------------------- *
 *                          Styles fÃ¼r Teaserboxen                               *
 * ----------------------------------------------------------------------------- */

/* clearing fÃ¼r floatende Teaserboxen */
section {
    overflow: auto;
}

article {
    margin: 0;
    border-bottom: 1px solid rgba(250, 250, 250, 0); /* verhindert das margin-Collapse nach unten */
    background-color: #DAE4F0;
}

.teaser {
    margin: 0 0 1em 0;
}

.box-inner {
    padding: 20px;
}

.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: 15px;
    }
    .box-inner {
        padding: 15px;
    }
}
/* ----------------------------------------------------------------------------- *
 *                       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) {
    article {
        box-shadow: 0 1px 2px rgba(0, 0, 0, 0.5);
    }

    .box {
        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 Promoboxen                                *
 *       Promoboxen mit skalierbaren Backgroundgrafiken  .box.promo              *
 * ----------------------------------------------------------------------------- */
.full-link_01 {
    background: url("../img/urlaub2016.jpg") no-repeat;
    background-size: cover;
    display: block;
    position: relative;
    padding: 1em 1em 89%;
}

.full-link_02 {
    background: url("../img/urlaub2017.jpg") no-repeat;
    background-size: cover;
    display: block;
    position: relative;
    padding: 1em 1em 89%;
}

.full-link_03 {
    background: url("../img/urlaub2018.jpg") no-repeat;
    background-size: cover;
    display: block;
    position: relative;
    padding: 1em 1em 89%;
}

.full-link_04 {
    background: url("../img/urlaub2019.jpg") no-repeat;
    background-size: cover;
    display: block;
    position: relative;
    padding: 1em 1em 89%;
}

.full-link_05 {
    background: url("../img/placeholder_next_holiday.jpg") no-repeat;
    background-size: cover;
    display: block;
    position: relative;
    padding: 1em 1em 89%;
}



.promo {
    margin-bottom: 1em;
}

.promo a {
    color: #fff;
    text-decoration: none;
}

.promo h3 {
    color: #fff;
    font-size: 2.5em;
    line-height: 1em;
    margin: 20px 0 0;
}

.promo p {
    position: absolute;
    bottom: 0;
    font-size: 1.125em;
    width: 90%;
}


/* Promo-Buttons nebeneinander platzieren ab ca. 320px Viewport-Breite und horizontaler Ausrichtung
@media only screen and (min-width: 20em) and (orientation: landscape)   {
    .box.promo {
        float: left;
        margin-right: 3%;
        width: 48.5%;
    }

    .box.promo:nth-of-type(2n+2) {
        margin-right: 0;
    }

    @media only screen and (max-width: 25em) {
        .promo h3 {
            font-size: 1.500em;
        }

        .promo p {
            font-size: .8em;
            line-height: 1.1em;
            width: auto;
            margin-right: 10px;
        }
    }

}

/* Promo-Buttons nebeneinander platzieren ab ca. 400px Viewport-Breite */
@media only screen and (min-width: 25em) {
    .box.promo {
        float: left;
        margin-right: 3%;
        width: 48.5%;
    }

    .box.promo:nth-of-type(2n+2) {
        margin-right: 0;
    }
}