/* ----------------------------------------------------------------------------- *
 *                           Styles für Boxen                                    *
 * ----------------------------------------------------------------------------- */
/* ----------------------------------------------------------------------------- *
 * Ä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;
}

aside, footer {
    padding: 0.6em 20px;
}

section {
    padding: 0 20px;
}

#container {
  margin: 0 auto;
  max-width: 1400px;
  border-radius: 8px;
  box-shadow: 0 1px 8px rgba(0, 0, 0, 0.5);

}

.mainContent {
    width: 100%;
    border-top: 1px solid transparent;
}

aside {
    width: 100%;
    margin-left: 0;
}
 /* ----------------------------------------------------------------------------- * 
 *                          Styles für Formulare                                 *
 * ----------------------------------------------------------------------------- */

fieldset {
	border: 1px solid;
	border-color: #CCCCCC;
}

legend {
	color: #666666;
	font-size: 1.375em;
	padding: 0 0.5em;
}

.formset {
    margin: 0.5em 0;
}

.formset label, .formset input, .formset textarea {
    display: inline-block;
}

.formset label {
    width: 100%;
    padding-right: 2%;
}

.formset input, .formset textarea {
	width: 100%;
	border: 1px solid;
	border-color: #CCCCCC;
	padding: 0.2em;
}

.submit-btn {
	float: right;
	border: 1px solid;
	border-color: #999999;
	border-radius: 8px;
	padding: 0.4em;
	color: #000000;
	background-color: #009900;
	margin-right: 2.5%;
}
.submit-btn:hover {
	background-color: #00CC00;
}

.senden-btn {
	float: left;
	border: 1px solid;
	border-color: #999999;
	border-radius: 8px;
	padding: 0.4em;
	color: #ffffff;
	background-color: #f01212;
	margin-right: 2.5%;
}
.senden-btn:hover {
	background-color: #ff0000;
    
}

/* ----- für nicht sichtbare Formularfelder gegen SPAM-ROBOTS ----- */
.verdeckt { display:none; } 


.nosee { display:none; } 
/* ----- für nicht sichtbare Formularfelder gegen SPAM-ROBOTS ----- */

input:required {
    padding-right: 3%;
    background: url("../gfx/form-stern.png" ) no-repeat scroll right center  / 2.5% auto transparent;
 background:
	background-color: #F8F1E1;
}


input[type='number']:out-of-range {
    border-color: red;
}

/* Positionierung der Required * in em */
em{

    left: 98%;
}

/* ----------------------------------------------------------------------------- *
 *             480px / 16px/em = 30em  (768 = 48em bedingt durch navi)           *
 * ----------------------------------------------------------------------------- */
@media only screen and (min-width: 30em) {
    .formset label {
        width: 34%;
        text-align: right;
    }

    .formset input, .formset textarea {
        width: 62%;
    }
    
    em{
        left: 32.5%;
    }
}


 /* ----------------------------------------------------------------------------- * 
 *                          Styles für Formulare - ENDE                           *
 * ----------------------------------------------------------------------------- */

/* ----------------------------------------------------------------------------- *
 *                              Responsive Videos                                *
 * ----------------------------------------------------------------------------- */

video {
    width: 100%;
    height: auto;
}
/* ----------------------------------------------------------------------------- *
 *                              Responsive Videos - ENDE                         *
 * ----------------------------------------------------------------------------- */
 /* ----------------------------------------------------------------------------- *
 *                       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;
	box-shadow: 0px 0px;
	border-radius: 8px;
}

/* figure.slides-Container um die Bilder */
.slides {
    margin: 0 0 2em 0;
    line-height: 0;
	box-shadow: 0 2px 2px rgba(0, 0, 0, 0.5);
	border-radius: 8px;
}

figcaption {
	background-color: #FFE091;
	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);
    }   */

/* ----------------------------------------------------------------------------- *
 *                       Anpassungsfähige Bilder ENDE                            *
 * ----------------------------------------------------------------------------- */
 
  /* ----------------------------------------------------------------------------- *
 *                          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: #FFE091;
	border-radius: 8px;
}

.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;
    }
}
/* ----------------------------------------------------------------------------- *
 *                       Styles Teaserboxen ENDE                                 *
 * ----------------------------------------------------------------------------- */

/* ----------------------------------------------------------------------------- *
 *                           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: 65%;
        float: left;
        padding: 0.8em 20px;
        border-top: none;
		
    }

    aside {
        width: 35%;
        margin-left: 65%;
        /* 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                                *
     * ----------------------------------------------------------------------------- */


    p.teasertext {
        margin: 0.8em 0;
    }

 /* ----------------------------------------------------------------------------- *
 *                          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: 20%;
        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: 100%;
        float: left;
    }

    /* Größenanpassung der Container */
    .mainContent {
        width: 65%;
        padding: 0.8em 20px;
    }

    aside {
        width: 35%;
        margin-left: 65%;
    }

    footer {
	clear: left;
	
    }
}
/* ----------------------------------------------------------------------------- *
 *                    Styles für große Desktops - Fullscreen                     *
 *                           1248px / 16px/em = 78em                             *
 * ----------------------------------------------------------------------------- */
/* @media only screen and (min-width: 78em) {
    .page-wrapper {
        margin: 0 auto;
        max-width: 78em;
    }
}*/

