/* ==========================================================================
   HTML5 Boilerplate styles - h5bp.com (generated via initializr.com)
   ========================================================================== */

html,
button,
input,
select,
textarea {
    color: #222;
}

body {
    font-size: 1em;
    line-height: 1.4;
    background: url("../img/background.png");
}

::-moz-selection {
    background: #b3d4fc;
    text-shadow: none;
}

::selection {
    background: #b3d4fc;
    text-shadow: none;
}

hr {
    display: block;
    height: 1px;
    border: 0;
    border-top: 1px solid #ccc;
    margin: 1em 0;
    padding: 0;
}

img {
    vertical-align: middle;
}

fieldset {
    border: 0;
    margin: 0;
    padding: 0;
}

textarea {
    resize: vertical;
}

strong{
    font-weight: 700;
}

.chromeframe {
    margin: 0.2em 0;
    background: #ccc;
    color: #000;
    padding: 0.2em 0;
}


/* ===== Initializr Styles ==================================================
   Author: Jonathan Verrecchia - verekia.com/initializr/responsive-template
   ========================================================================== */

body {
    font: 16px/26px 'Open Sans', Helvetica, Helvetica Neue, Arial;
}

.wrapper {
    width: 90%;
    margin: 0 5%;
}

/* ==============
    MOBILE: Menu
   ============== */

nav ul {
    margin: 0;
    padding: 0;
}

nav a {
    display: block;
    margin-bottom: 10px;
    padding: 10px 0;

    text-align: center;
    text-decoration: none;
    font-weight: 700;
    text-transform: uppercase;
    font-size: 13px;

    color: #275690;
    background: #dbdbdb;
}

nav a:hover,
nav a:visited {
    color: #3272c0;
}

nav a:hover {
    /*text-decoration: underline;*/
}

/* ==============
    MOBILE: Main
   ============== */

.main {
    padding: 30px 0;
    position: relative;
}

.main article {
    margin-bottom: 50px;
}


.main article h1 {
    font-size: 1.6em;
    line-height:1.4em;
    font-weight: 300;
}

.main article h2 {
    font-size: 1.6em;
    line-height:1.4em;
    font-weight: 300;
}

.main aside {
    color: white;
    padding: 0px 5% 10px;
}

.main footer{
    border-top: 1px solid #ccc;
    border-bottom: 1px solid #ccc;
    padding:20px 2%;
}

.footer-container {
    color: white;
    padding: 20px 0;
    background: #eee;
}

.footer-container nav{
    margin: 0;
    float: none;
    clear:both;
    width: auto;
}


.footer-container footer {
}


.error {color: red; }

label.error {color: red; font-size: 12px; }


/* ===============
    ALL: IE Fixes
   =============== */

.ie7 .title {
    padding-top: 20px;
}

/* ==========================================================================
   Author's custom styles
   ========================================================================== */

.title{
    width:60%;
    padding-right: 20%;
    padding-left: 20%;
}
.title img{
    width:100%;
}


h2{
    font-size: 18px;
    font-weight: 700;
    margin-bottom: 0.3em;
    
}

p{
    margin-top: 0.3em;
    color:#333;
}

input.button{
    border:none;
}

label{
    margin-top:1%;
    display: block;
    font-size: 0.9em;
    font-weight: 600;
    color: #666;
}

input{
    display: block;
    margin-bottom: 1%;
}

.main-container li {margin-bottom: 10px}

.preis_anmerkung {font-size: 11px; color: #000}

#check4noHuman {visibility:hidden;display:none;}

/* ===============
    MOBIL: Kontakt
   =============== */

.kontakt{
    padding:0 2%;
    font-size: 14px;
    color:#000;
    -webkit-transition: margin 0.3s ease-in-out;
    border-top: 1px solid #ccc;
}

.kontakt p {
    color: #000;
    line-height: 18px;
}

/* ===============
    MOBIL: Tour
   =============== */
.tour section{
    margin-bottom: 30px;
    overflow: hidden;
}

.main .tour h2{
    margin-top: 15px;
}

.main .tour header p{
    border-bottom: 1px solid #ccc;
    padding:0 0 20px 0;
}

.main .tour header{
   margin: 0 0 50px;
}

.main .tour section p{
    margin-left: 2%;
    margin-right: 2%;
}

.main .tour figure{
    width: 100%;
    text-align: center;
}

.main .tour figure img{
    width: 100%;
    max-width: 605px;
}



/* ===============
    MOBIL: Banner
   =============== */

.banner header{
    -webkit-transition: margin 1s ease-in-out;
}

.banner header h1{
    font-weight: normal;
    font-size: 1.7em;
}

.banner header h2{
    font-weight: normal;
    font-size: 1.7em;
}

.banner .frame{
    width:100%;
    position: relative;
}

.banner .frame img{
    max-width: 100%;
    width:100%;
}

/*
 * 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)
 */

 
/* 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;} /* 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 {display: block;}


/* FlexSlider Default Theme
*********************************/
.flexslider {margin: 0 0 60px; position: relative; 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;}

.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(img/bg_direction_nav.png) no-repeat 0 0; position: absolute; top: 50%; 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;}
.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: 1;}
.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%; 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;}

@media screen and (max-width: 860px) {
  .flex-direction-nav .flex-prev {opacity: 1; left: 0;}
  .flex-direction-nav .flex-next {opacity: 1; right: 0;}
}

/* ===============
    MOBIL: Buttons
   =============== */

.button, .button:visited {
    background: #222 url(../img/overlay.png) repeat-x; 
    display: inline-block; 
    padding: 10px 15px 11px; 
    color: #fff; 
    text-decoration: none;
    -moz-border-radius: 6px; 
    -webkit-border-radius: 6px;
    -moz-box-shadow: 0 1px 3px rgba(0,0,0,0.6);
    -webkit-box-shadow: 0 1px 3px rgba(0,0,0,0.6);
    text-shadow: 0 -1px 1px rgba(0,0,0,0.25);
    border-bottom: 1px solid rgba(0,0,0,0.25);
    position: relative;
    cursor: pointer;
}
 
.button:hover                           { background-color: #111; color: #fff; }
.button:active                          { top: 1px; }
.small.button, .small.button:visited            { font-size: 11px}
.button, .button:visited,
.medium.button, .medium.button:visited      { font-size: 13px; 
                                              font-weight: 600; 
                                              line-height: 1; 
                                              text-shadow: 0 -1px 1px rgba(0,0,0,0.25); 
                                              }
                                              
.large.button, .large.button:visited            { font-size: 14px; 
                                                  padding: 8px 14px 9px; }
                                                  
.super.button, .super.button:visited            { font-size: 34px; 
                                                  padding: 8px 14px 9px; }

.pink.button, .magenta.button:visited       { background-color: #e22092; }
.pink.button:hover                          { background-color: #c81e82; }
.green.button, .green.button:visited        { background-color: #91bd09; }
.green.button:hover                         { background-color: #749a02; }
.red.button, .red.button:visited            { background-color: #e62727; }
.red.button:hover                           { background-color: #cf2525; }
.orange.button, .orange.button:visited      { background-color: #ff5c00; }
.orange.button:hover                        { background-color: #d45500; }
.blue.button, .blue.button:visited          { background-color: #2981e4; }
.blue.button:hover                          { background-color: #2575cf; }
.yellow.button, .yellow.button:visited      { background-color: #ffb515; }
.yellow.button:hover                        { background-color: #fc9200; }



/* ==========================================================================
   Media Queries
   ========================================================================== */

@media only screen and (min-width: 480px) {

    .title{
        width:13%;
        min-width: 110px;
        padding: 0;
    }

/* ====================
    INTERMEDIATE: Menu
   ==================== */

    nav a {
        float: left;
        width: 42%;
        margin: 0 1.7%;
        padding: 25px 2%;
        margin-bottom: 0;
        background: transparent;
    }


    .footer-container a {
        float:right;
        width:13%;
        padding:0;
    }



 /* ========================
    INTERMEDIATE: Main
   ======================== */

    .banner header h1{
        font-size: 2.7em;
        margin-top:5%;
    }
    .banner header h2{
        font-size: 2.7em;
        margin-top:5%;
    }
   
    .main .tour h2{
        margin-top: 15px;
        text-align: center;
    }

/* ========================
    INTERMEDIATE: IE Fixes
   ======================== */

    nav ul li {
        display: inline;
    }

    .oldie nav a {
        margin: 0 0.7%;
    }
}

    
@media only screen and (min-width: 768px) {

/* ============
    WIDE: Menu
   ============ */

    .title {
        float: left;
    }

    nav {
        float: right;
        width: 80%;
        margin-top: 42px;
    }

    nav a{
        width:20%;
        margin: 0;
        padding: 0 1%;
        white-space: nowrap;
        padding:15px 0;
    }


/* ============
    WIDE: Banner
   ============ */

    .banner{
        padding:30px 0;
        padding-bottom: -50px;
    }

    .banner header{
        margin-top: 1%;
        width:40%;
        text-align: right;
        float: left;
    }

    .banner  header h1{
        font-size: 1.7em;
    }
    .banner  header h2{
        font-size: 1.7em;
    }

    .banner .frame{
    width:51%;
    position: relative;
    float: right;
    }

/* ============
    WIDE: Main
   ============ */

    .grid{
        float: left;
    }

    .main .grid1{
        float:left;
        width:24%;
        margin: 0 2%;
    }

    .main .grid2{
        float:left;
        width:48%;
        margin: 0 2%;
    }

    .main .grid3{
        float:left;
        width:72%;
        margin: 0 2%
    }
    .main .grid:nth-child(2n+1){
        clear:both;
        margin-left: 0%;
    }
    .main .grid:nth-child(2n){
        margin-right: 0%;
    }

    .lt-ie9 .main .grid{
        margin: 0;
        padding:1%;
    }

    .main .tour h2{
        margin-top: 15px;
        text-align: right;
    }

    .main .tour figure{
        width: 100%;
        text-align: left;
    }

    .kontakt{
        position: absolute;
        top:0;
        right:0;
        margin-top:2%;
        padding:0 2%;
        border-left: 1px solid #ccc;
        border-top:none;
        min-height: 300px;
    }


    .kontakt p {
        color: #000;
        line-height: 18px;
    }

    .einleitung{
        margin-right:34%;
    }
    form div{
        clear: both;
        margin-bottom:1%;
        overflow: hidden;
    } 
    form h3{
        font-size: 0.9em;
        color: #3272C0;
    }
    input,select{
        width:30%;
        float:left;
        margin: 0;
    }
    label{
        width:15%;
        margin-top: 0;
        margin-right:5%;
        display: block;
        float:left;
        text-align: right;
        font-size: 0.9em;
        font-weight: 600;
        color: #666;
    }

    input.plz{
        width:10%;
        margin-right: 1.45%;
    }

    input.ort{
        width:18%;
    }

    textarea{
        margin-left: 20%;
        width: 30%;
    }


    /*alex Aenderungen*/

    label.error {
        color: red;
        width: auto;
        text-align: left;
        font-size: 12px;
        float: none;
        display: block;
        clear: both;
        margin: -10px 0 0 20%;
    }

}

@media only screen and (min-width: 1140px) {

/* ===============
    Maximal Width
   =============== */

    .wrapper {
        width: 1026px; /* 1140px - 10% for margins */
        margin: 0 auto;
    }

    .banner header{
        margin-top: 5%;
        width:40%;
        text-align: right;
        float: left;
    }

    .main .tour section p{
        margin-left: 2%;
        margin-right: 20%;
    }
    .einleitung{
        margin-right:30%;
    }

    .kontakt{
        margin-top:6%;
    }
}

/* ==========================================================================
   Helper classes
   ========================================================================== */

.ir {
    background-color: transparent;
    border: 0;
    overflow: hidden;
    *text-indent: -9999px;
}

.ir:before {
    content: "";
    display: block;
    width: 0;
    height: 100%;
}

.hidden {
    display: none !important;
    visibility: hidden;
}

.visuallyhidden {
    border: 0;
    clip: rect(0 0 0 0);
    height: 1px;
    margin: -1px;
    overflow: hidden;
    padding: 0;
    position: absolute;
    width: 1px;
}

.visuallyhidden.focusable:active,
.visuallyhidden.focusable:focus {
    clip: auto;
    height: auto;
    margin: 0;
    overflow: visible;
    position: static;
    width: auto;
}

.invisible {
    visibility: hidden;
}

.clearfix:before,
.clearfix:after {
    content: " ";
    display: table;
}

.clearfix:after {
    clear: both;
}

.clearfix {
    *zoom: 1;
}

/* ==========================================================================
   Print styles
   ========================================================================== */

@media print {
    * {
        background: transparent !important;
        color: #000 !important; /* Black prints faster: h5bp.com/s */
        box-shadow:none !important;
        text-shadow: none !important;
    }

    a,
    a:visited {
        text-decoration: underline;
    }

    a[href]:after {
        content: " (" attr(href) ")";
    }

    abbr[title]:after {
        content: " (" attr(title) ")";
    }

    /*
     * Don't show links for images, or javascript/internal links
     */

    .ir a:after,
    a[href^="javascript:"]:after,
    a[href^="#"]:after {
        content: "";
    }

    pre,
    blockquote {
        border: 1px solid #999;
        page-break-inside: avoid;
    }

    thead {
        display: table-header-group; /* h5bp.com/t */
    }

    tr,
    img {
        page-break-inside: avoid;
    }

    img {
        max-width: 100% !important;
    }

    @page {
        margin: 0.5cm;
    }

    p,
    h2,
    h3 {
        orphans: 3;
        widows: 3;
    }

    h2,
    h3 {
        page-break-after: avoid;
    }
}






