/* ----------------------------------------------------------------------------- *
 *                           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: 2.4em 0 0.8em 0;
	text-align:center;
	height: auto;
}

.bilder {
	display: none;
	}

	.bilder-mobile {
	background-color: fff !important;
	width: 100%;
	margin-left: 0;
	float: left;
	/*display: block;*/
	}

footer {
	padding: 0.2em;
	text-align:center;
}

section {
    padding: 0 20px;
}

.main {
    margin: 0;
}

.mainContent {
    width: 100%;
    border-top: 1px solid transparent;
	background-color: fff;
}

aside {
    width: 100%;
    margin-left: 0;
	padding: 0.6em 20px;
}

.kontakt {
    width: 100%;
    margin-left: 0;
	float:left;
}


.slogan {
    width: 100%;
	margin-left: 0;
}

.slogan-tablet {
	display: none;
}


	img {
	max-width: 100%;
	height: auto;
}

/* ----------------------------------------------------------------------------- *
 *                             Textauszeichnungen                                *
 * ----------------------------------------------------------------------------- */
h1 {
    margin: 0.6em 20px;
}

h2 {
    margin: 0.6em 20px;
}

p.teasertext {
    margin: 0.8em 0px;
}

ul, ol {
    padding: 0;
    margin: 0 0 0.625em 20px;
}
    

/* ----------------------------------------------------------------------------- *
 *                                  Navigation                                   *
 * ----------------------------------------------------------------------------- */
nav ul {
    margin: 0;
}

nav ul > li {
    margin-left: 0;
    border-bottom: 1px solid #fff;
}

nav ul > li > a, nav ul > li > strong {
    padding: 0.6em 20px;
    display: block;
}

nav ul a:link {
    text-decoration: none;
}



/* ----------------------------------------------------------------------------- *
 *                           Styles der Tabletversion                            *
 *                          800px / 16px/em = 50.0em                           *
 * ----------------------------------------------------------------------------- */
@media only screen and (min-width: 50.0em) {
    body {
        font-size: 62.5%; /* 10px */
    }
	
	.main {
        overflow: hidden;
		width: 100%;
		border-top: 3px solid #748a3a;

    }
	
	.mainContent {
        width: 45%;
        float: left;
		padding: 0px 20px;
		min-height: 450px;
    }
	
	.bilder-mobile {
	display: none;
	}
	
	.bilder {
	width: 35%;
	/*max-height: 450px;*/
	max-width: 350px;
	float: left;
	display: block;
	margin: 3px 0;
    /* Bilder-Container zeigt nur den Ausschnitt innerhalb seiner Grenzen */
   	/*overflow: hidden;*/
	}
   
aside {
    width: 100%;
	overflow: hidden;
	border-top: 3px solid #fff;
	border-bottom: 3px solid #fff;
}

/*.kontakt {
	max-width: 340px;
    width: 35%;
	float:left;
}*/

	.kontakt {
    width: 20%;
	float:right;
	padding-top:50px;
	/* Trick für gleichlange Spalten  - dazu gehört ein overflow: hidden für den umgeb. Container */
    margin-bottom: -99999px !important;
    padding-bottom: 99999px !important;
}

.slogan {
	display: none;
}

.slogan-tablet {
	display: block;
    width: 65%;
	padding: 40px 0px 0px 40px;
	/* Trick für gleichlange Spalten  - dazu gehört ein overflow: hidden für den umgeb. Container */
    margin-bottom: -99999px !important;
    padding-bottom: 99999px !important;
}
	
	footer {
        padding: 0.2em 50px;
    }

    section {
        padding: 0em 30px ;
    }
	


    /* ----------------------------------------------------------------------------- *
     *                             Textauszeichnungen                                *
     * ----------------------------------------------------------------------------- */
       h1 {
        padding: 0.2em 10px ;
    }
   
    h2 {
        margin: 0.3em 0 0;
    }

    p.teasertext {
        margin: 0.8em 0;
    }
	
	
    /* ----------------------------------------------------------------------------- *
     *                                  Navigation                                   *
     * ----------------------------------------------------------------------------- */
    nav {
        /* clearing für die floatenden LIs */
        overflow: hidden;
		padding-left: 12em;
		border-bottom: 3px solid #fff;

    }

    nav ul {
        margin: 0 20px;
    }

    nav ul li {
        float: left;
        border: none;
        width: auto;
    }

    nav ul > li > a {
        padding: 0.8em 20px 0.7em 20px;
        display: inline-block;
    }
	
}


/* ----------------------------------------------------------------------------- *
 *                          Styles für Desktops                           *
 *                           1280px / 16px/em = 80em                             *
 * ----------------------------------------------------------------------------- */

@media only screen and (min-width: 80em) {

.page-wrapper {
/*        max-width: 1024px;*/
        margin:  20px auto;
}	
	

    /* Größenanpassungen */
	
	.mainContent {
        width: 40%;
        float: left;
		padding: 30px 10px;
		min-height: 450px;
    }
	
	.bilder-mobile {
	display: none;
	}
	
	.bilder {
	width: 35%;
	/*max-height: 600px;*/
	max-width: 500px;
	float: left;
	display: block;
	margin: 3px 0;
    /* Bilder-Container zeigt nur den Ausschnitt innerhalb seiner Grenzen */
   	/*overflow: hidden;*/
	}
	
/*	.bilder {
	width: 30%;
	max-height: 100%;
	float: left;
	display: block;
	margin: 3px 0;
	}	*/

/*    aside {
	margin-left: 65%;
	overflow: hidden;
    }*/

	
	.kontakt {
    width: 20%;
	float:right;
	padding-top:50px;
	/* Trick für gleichlange Spalten  - dazu gehört ein overflow: hidden für den umgeb. Container */
    margin-bottom: -99999px !important;
    padding-bottom: 99999px !important;
}

.slogan-tablet {
	display: none;
}

.slogan {
	display: block;
    width: 100%;
	padding-top: 20px;
	padding-bottom: 20px;
	text-align: center;
	margin-top: 3px;
}

nav {
		padding-left: 35em;
    }

    footer {
		margin-top: 3px;
        clear: left;
    }
	
    /* ----------------------------------------------------------------------------- *
     *                             Textauszeichnungen                                *
     * ----------------------------------------------------------------------------- */
       h1 {
        padding: 0.2em 10px ;
    }
   
    h2 {
        margin: 0.3em 0 0;
    }

    p.teasertext {
        margin: 0.8em 0;
    }

}




/* ----------------------------------------------------------------------------- *
 *             Beispiel Responsive Slideshow mit flexslider.js                   *
 * ----------------------------------------------------------------------------- */
/*
 * jQuery FlexSlider v2.0
 * http://www.woothemes.com/flexslider/
 *
 * Copyright 2012 WooThemes
 * Free to use under the GPLv2 license.
 * http://www.gnu.org/licenses/gpl-2.0.html
 *
 * Contributing author: Tyler Smith (@mbmufffin)
 * 
 * ----------------------------------------------------------------------------- *
 * Original jQuery FlexSlider v2.0 mit Anpassungen für das Praxisbeispiel        *
 * ----------------------------------------------------------------------------- *
 */

/* Browser Resets */
.flex-container a:active, .flexslider a:active, .flex-container a:focus, .flexslider a:focus {
    outline: none;
}

.slides, .flex-control-nav, .flex-direction-nav {
    margin: 0;
    padding: 0;
    list-style: none;
}

/* FlexSlider Necessary Styles
 *********************************/
.flexslider {
    margin: 0;
    padding: 0;
}

.flexslider .slides > li {
    display: none;
    -webkit-backface-visibility: hidden;
}

.flex-caption {
  width: 100%;
  padding: 0.5em 0;
  left: 0;
  bottom: 0;
  background: #000;
  background: rgba(0,0,0,0.6);
  color: #fff;
  text-align: center;
  font-size: 1.3em;
  line-height: 1.5em;
}


/* Hide the slides before the JS is loaded. Avoids image jumping */
.flexslider .slides img {
    width: 100%;
    display: block;
}

.flex-pauseplay span {
    text-transform: capitalize;
}

/* Clearfix for the .slides element */
.slides:after {
    content: ".";
    display: block;
    clear: both;
    visibility: hidden;
    line-height: 0;
    height: 0;
}

html[xmlns] .slides {
    display: block;
}

* html .slides {
    height: 1%;
}

/* No JavaScript Fallback */
/* If you are not using another script, such as Modernizr, make sure you
 * include js that eliminates this class on page load */
.no-js .slides > li:first-child, .js-off .slides > li:first-child {
    display: block;
}

/* FlexSlider Default Theme
 *********************************/
.flexslider {
    margin: 0 0 60px;
    background: #fff;
    border: 4px solid #fff;
    position: relative;
    -webkit-border-radius: 4px;
    -moz-border-radius: 4px;
    -o-border-radius: 4px;
    border-radius: 4px;
    box-shadow: 0 1px 4px rgba(0, 0, 0, 0.2);
    -webkit-box-shadow: 0 1px 4px rgba(0, 0, 0, 0.2);
    -moz-box-shadow: 0 1px 4px rgba(0, 0, 0, 0.2);
    -o-box-shadow: 0 1px 4px rgba(0, 0, 0, 0.2);
    zoom: 1;
}

.flex-viewport {
    max-height: 2000px;
    -webkit-transition: all 1s ease;
    -moz-transition: all 1s ease;
    transition: all 1s ease;
}

.loading .flex-viewport {
    max-height: 300px;
}

.flexslider .slides {
    zoom: 1;
    /* .slides existiert bei uns bereits und hat einen Schatten, der hier ausgeschaltet wird. */
    box-shadow: none;
}

.carousel li {
    margin-right: 5px;
}

/* Direction Nav */
.flex-direction-nav {
    *height: 0;
}

/*
 .flex-direction-nav a {
 width: 30px;
 height: 30px;
 margin: -20px 0 0;
 display: block;
 background: url(images/bg_direction_nav.png) no-repeat 0 0;
 position: absolute;
 top: 50%;
 z-index: 10;
 cursor: pointer;
 text-indent: -9999px;
 opacity: 0;
 -webkit-transition: all .3s ease;
 }
 .flex-direction-nav .flex-next {
 background-position: 100% 0;
 right: -36px;
 }
 .flex-direction-nav .flex-prev {
 left: -36px;
 }
 */
 
     .flex-direction-nav .flex-prev, .flex-direction-nav .flex-next {
        opacity: 0;
    }
 
 
/* Styles und GFX für eine größere Darstellung der Bedienelemente */
.flex-direction-nav a {
    width: 38px;
    background: url(../gfx/prev-next.gif) no-repeat scroll left 50% black;
    position: absolute;
    top: 0;
    bottom: 0;
    left: 0;
    z-index: 10;
    text-indent: -9999px;
    /* Schon in der Basisversion sichtbar */
    /*opacity: 0.5;*/
    overflow: hidden;
}

.flex-direction-nav a.flex-next {
    background-position: right 50%;
    left: auto;
    right: 0;
}

/* Positionierung und Opacitiy angepasst und Anweisung ins Media Query verschoben
 .flexslider:hover .flex-next {
 opacity: 0.8;
 right: 5px;
 }
 .flexslider:hover .flex-prev {
 opacity: 0.8;
 left: 5px;
 }
 */
.flexslider:hover .flex-next:hover, .flexslider:hover .flex-prev:hover {
    opacity: 0.5;
}

.flex-direction-nav .flex-disabled {
    opacity: .3 !important;
    filter: alpha(opacity=30);
    cursor: default;
}

/* Control Nav */
.flex-control-nav {
    width: 100%;
    position: absolute;
    bottom: -40px;
    text-align: center;
}

.flex-control-nav li {
    margin: 0 6px;
    display: inline-block;
    zoom: 1;
    *display: inline;
}

.flex-control-paging li a {
    width: 11px;
    height: 11px;
    display: block;
    background: #666;
    background: rgba(0, 0, 0, 0.5);
    cursor: pointer;
    text-indent: -9999px;
    -webkit-border-radius: 20px;
    -moz-border-radius: 20px;
    -o-border-radius: 20px;
    border-radius: 20px;
    box-shadow: inset 0 0 3px rgba(0, 0, 0, 0.3);
}

.flex-control-paging li a:hover {
    background: #333;
    background: rgba(0, 0, 0, 0.7);
}

.flex-control-paging li a.flex-active {
    background: #000;
    background: rgba(0, 0, 0, 0.9);
    cursor: default;
}

.flex-control-thumbs {
    margin: 5px 0 0;
    position: static;
    overflow: hidden;
}

.flex-control-thumbs li {
    /*width: 25%;*/
    width: 20%;
    float: left;
    margin: 0;
}

.flex-control-thumbs img {
    width: 100%;
    display: block;
    opacity: .7;
    cursor: pointer;
}

.flex-control-thumbs img:hover {
    opacity: 1;
}

.flex-control-thumbs .flex-active {
    opacity: 1;
    cursor: default;
}


/* ----------------------------------------------------------------------------- *
 *                           800px / 16px/em = 50em                          *
 *                     umgestellt auf Mobile first min-width                     *
 * ----------------------------------------------------------------------------- */

@media only screen and (min-width: 50em) {
    /* auf größeren Screens werden die Bedienelemente versteckt... */
    .flex-direction-nav .flex-prev, .flex-direction-nav .flex-next {
        opacity: 0;
    }

    /* ... und nur bei Hover gezeigt. */
    .flexslider:hover .flex-next, .flexslider:hover .flex-prev {
        opacity: 0.5;
    }
}



/* ----------------------------------------------------------------------------- * 
 *                          Styles für Multi-Toggle-Nav                          *
 * ----------------------------------------------------------------------------- */

header {
    position: relative;
}

/* Menü-Link im Header zum Ein-und Ausblenden des Menüs */
a.toggle-nav {
	margin-top: 20px;
    display: inline-block;
    position: relative;
	width: 100%;
    cursor: pointer;
    padding: 0.6em 20px;
    color: #748a3a;
    background:#dfe892; /*hellgruen*/
    border-bottom: 2px solid #fff;
	font-size: 1.6em;
	text-transform:uppercase;
	font-weight:bold;
	text-align:left;

}

a.toggle-nav:hover {
    border-bottom: 2px solid #fff;
    background: #854353; /*rot*/
    color: #fff;
}


/* ----------------------------------------------------------------------------- *
 *                      Beispiel Multi-Level-Menü im Basis-Layout                *
 * ----------------------------------------------------------------------------- */
/* Clearing von nav, nav.ul, .main mit .clearfix statt mit overflow:hidden;
 * sonst wird die zweite menüebene abgeschnitten! */
.clearfix:after {
    content: ".";
    display: block;
    clear: both;
    visibility: hidden;
    line-height: 0;
    height: 0;
}

.clearfix {
    display: block;
}

html[xmlns] .clearfix {
    display: block;
}

* html .clearfix {
    height: 1%;
}


/* ----------------------------------------------------------------------------- *
 *                          Multi-Level-Menü im Basis-Layout                     *
 * ----------------------------------------------------------------------------- */
/* Positionierung der Navigation "auf" dem Hauptinhalt, damit die zweite Menüebenen nicht verdeckt wird. */
nav {
    overflow: inherit;
    position: relative;
    z-index: 10;
}

.main {
    z-index: 5;
}

/* Layout und Positionierung der 2. Menüebene */
nav ul ul {
    background-color: #d0d390; /*olive hell*/
    z-index: 20;
    display: none;
}

nav ul .openmenu ul {
    display: block;
}

nav ul li {
    position: relative;
}

nav ul li li {
    font-size: 14px;
    float: none;
	padding-left: 0px;
}

nav ul li:hover {
    background-color: #d0d390; /*olive hell*/
    color: #30395C;
}

nav li.act {
    background-color: #d0d390; /*olive hell*/
}

nav ul > li > a, nav ul > li > b, nav ul > li > strong {
    padding: 0.8em 20px;
    display: block;
    font-weight: normal;
}

nav ul > li > b, nav ul > li > strong {
    color: #d0d390; /*olive hell*/
}

#navMain {
    display: none;
}

/* Einblenden des Untermenüs onHover für alle Ebenen */
nav ul li:hover ul {
    display: block;
}


/* ----------------------------------------------------------------------------- *
 *                      Styles für Menü ab Tabletversion                         *
 *                          768px / 16px/em = 48em                           *
 * ----------------------------------------------------------------------------- */
@media only screen and (min-width: 48em) {
    nav > ul > li {
        height: 2.8em;
		margin: 0 0px 0 20px;
/*        width: 16%;*/
    }
	

    /* Layout und Positionierung der 2. Menüebene */
    nav ul ul {
        top: 2.8em;
        position: absolute;
        width: auto;
        margin: 0;
        min-width: 120%;
    }

    nav ul > li > a, nav ul > li > strong {
        padding: 0.8em 10px;
        display: block;
    }

    #navMain {
        display: block;
    }
	

    /* Menü-Link verstecken in großen Viewports */
    a.toggle-nav {
        display: none;
    }
	
}


/* ----------------------------------------------------------------------------- * 
 *                          Styles für Formulare                                 *
 * ----------------------------------------------------------------------------- */

fieldset {
    border: 1px solid #a2b2c1;
}

legend {
    color: #ff0099;
    font-size: 1.4em;
}

.formset {
    margin: 0.5em 0;
}

.formset label, .formset input, .formset textarea {
    display: inline-block;
}

.formset label {
    width: 100%;
    padding-right: 2%;
	font-size: 1.2em;
}

.formset input, .formset textarea {
    width: 100%;
    border: 1px solid #a2b2c1;
    padding: 0.2em;
	font-size: 1.2em;
}

.unsichtbar {
	display: none;
	}

.submit-btn {
/*	font-family: 'Asap', sans-serif;*/
    float: left;
    padding: 0.2em;
    color: #fff;
    background: #854353;
	font-size: 1.2em;
	margin-left: 0.5em;
}

input:required {
    padding-right: 30%;
/*    background: url("../bilder/stern.png") no-repeat scroll right top;*/
}


input[type='number']:out-of-range {
    border-color: red;
}

/* Positionierung der Required * in em */
em{
    left: 98%;
}