@charset "UTF-8";

/*Reset*/
/*----------------------------------------------------------------------------*/
body,div,dl,dt,dd,ul,ol,li,h1,h2,h3,h4,h5,h6,pre,form,fieldset,input,textarea,p,
blockquote,th,td { 
    margin:0;
    padding:0;
}
table {
    border-collapse:collapse;
    border-spacing:0;
}
fieldset,img { 
    border:0;
}
address,caption,cite,code,dfn,em,strong,th,var {
    font-style:normal;
    font-weight:normal;
}
ol,ul {
    list-style:none;
}
caption,th {
    text-align:left;
}
h1,h2,h3,h4,h5,h6 {
    font-size:100%;
    font-weight:normal;
}
q:before,q:after {
    content:'';
}
abbr,acronym { border:0;
}


/* Text */
/*----------------------------------------------------------------------------*/
body{
    font-family:Arial, Helvetica, sans-serif;
    font-size:15px;
    line-height:24px;
}

h1{
    color:#0046A5;
    font-weight:bold;
    font-size:30px;
    margin-bottom:10px;
}

h2{
    color:#0046A5;
    font-weight:bold;
    font-size:20px;
    margin-bottom:7px;
}

h3{
    font-weight:bold;
    font-size:18px;
    margin:13px 0px 7px 0px;
    color:#0046A5;
}

p{
    margin-bottom:7px;
}

a{
    color:#0046A5;
    font-weight:bold;
}

strong{
    font-weight:bold;
}

/* Layout */
/*----------------------------------------------------------------------------*/


html, body, #main{
    height:100%;
}
body{
    text-align:center;
    background:#cae7fc url(../img/bg-grad.jpg) repeat-x;
}

#main{
    background:url(../img/clouds.png) center top no-repeat;
}

#container{
    width:890px;
    background-color:#fff;
    margin:0px auto 40px auto;
    text-align:left;
    position:relative;
}

#header{
    height:52px;
}

#logo{
    position:absolute;
    top:10px;
    left:20px;
}

#navigation-main{
    position:absolute;
    top:14px;
    right:22px;
}

#navigation-main li{
    float:left;
    margin-left:2px;
}

#navigation-main li a{
    color:#000;
    font-weight:bold;
    float:left;
    text-decoration:none;
    height:24px;
    line-height:24px;
    padding:0px 12px;
}

#navigation-main li.active a,
#navigation-main li a:hover{
    color:#fff;
    background-color:#4c7dc0;
    -moz-border-radius:5px;
    -webkit-border-radius:5px;
    border-radius:5px;
}

#content{
    padding:0px 35px 20px 35px;
    background-color:#fff8e1;
    
}

.main-box{
    margin:0px -35px;
}

#footer{
    height:30px;
    border-top:2px solid #7fa2d2;
    position:relative;
    padding:0px 35px;
}

#footer, #footer a{
    color:#0046a5;
    font-size:12px;
    line-height:30px;
}

#login-footer{
    background:url(../img/logout.gif) left center no-repeat;
    padding-left:20px;
    display:block;
    height:30px;
    left:15px;
    position:absolute;
    top:0px;
}

#meta{
    position:absolute;
    right:35px;
    top:0px;
}

#meta li{
    float:left;
    margin-left:20px;
}

#content-bottom{
    margin-top:30px;
    position:relative;
}

/*Classes*/
/*----------------------------------------------------------------------------*/

.floatright{
    float:right;
    margin-left:30px;
}

.floatleft{
    float:left;
    margin-right:30px;
}

.clearfix:after {
    content: ".";  
    display: block;
    height: 0;
    clear: both;
    visibility: hidden;
}
 
* + html .clearfix {
    display: inline-block;
}
 
* html .clearfix {
    height: 1%;
}

.align-right{
    text-align:right;
}

.block{
    display:block;
}

.text-section{
     margin:0px -35px 0px -35px;
     padding:10px 35px;
     clear:both;
     zoom:1;
}

.text-section h2{
    margin:-10px -35px 20px -35px;
    margin-left:-35px;
    border-top:0px solid #fff;
    border-bottom:0px solid #fff;
    background: #fed06b; /* for non-css3 browsers */
    filter: progid:DXImageTransform.Microsoft.gradient(startColorstr='#fee38d', endColorstr='#ffbf4b'); /* for IE */
    background: -webkit-gradient(linear, left top, left bottom, from(#fee38d), to(#ffbf4b)); /* for webkit browsers */
    background: -moz-linear-gradient(top,  #fee38d,  #ffbf4b); /* for firefox 3.6+ */ 
    color:#000;
    padding:2px 35px;
    zoom:1;
}

.text-section dt{
    float:left;
    width:150px;
    font-weight:bold;
    clear:both;
}

.text-section dd{
    float:left;
    width:670px;
    margin-bottom:7px;
}

.nowrap{
    white-space:nowrap;
}

/*Forms*/
/*----------------------------------------------------------------------------*/

label{
    font-weight:bold;
    height:33px;
    line-height:33px;
}

input.text-input{
    height:29px;
    line-height:29px;
    border:2px solid #8cb8df;
    font-size:14px;
    font-family:Arial, Helvetica, sans-serif;
}

textarea.text-input{
    border:2px solid #8cb8df;
    font-size:14px;
    font-family:Arial, Helvetica, sans-serif;
}

button.submit{
    border:none;
    background:none;
    margin:0px;
    padding:0px;
}

button::-moz-focus-inner {
    border: 0 none;
    padding: 0;
}

button.submit span{
    display:block;
    text-align:center;
    color:#fff;
    font-weight:bold;
    font-size:15px;
    padding:0px 35px;
    height:27px;
    line-height:27px;
    background:#1762af url(../img/button-bg.gif) 0px 0px repeat-x;
    border:1px solid #1762af;
}

button.submit span:hover{
    background-position:0px -27px;
}

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


/*Login*/
/*----------------------------------------------------------------------------*/

.login #content{
    padding-bottom:0px;
}

#login{
    width:890px;
    height:500px;
    background:url(../img/login-bg.jpg) no-repeat;
    position:relative;
    margin-bottom:0px;
}

#login-form{
    position:absolute;
    top:115px;
    left:0px;
    width:417px;
    padding:20px;
    background:rgb(255, 255, 255);
    background:rgba(255, 255, 255, 0.8);
}

#login-form .form-table{
    width:100%;
}

#login-form .text-input{
    width:292px;
    margin:0px 0px 6px 10px;
    padding:0px 5px;
    
}

#login-form .left-col{
    vertical-align:bottom;
    padding-bottom:6px;
}

#login-form .right-col{
    text-align:right;
}

/*Galerie*/
/*----------------------------------------------------------------------------*/

#gallery{
    position:relative;
    width:890px;
    height:560px;
    overflow:hidden;
    
    background: #544F48; 
    filter: progid:DXImageTransform.Microsoft.gradient(startColorstr='#544F48', endColorstr='#2a2724'); /* for IE */
    background: -webkit-gradient(linear, left top, left bottom, from(#544F48), to(#2a2724)); /* for webkit browsers */
    background: -moz-linear-gradient(top,  #544F48, #2a2724); /* for firefox 3.6+ */ 
}

#gallery img{
    display:block;
    margin:0px auto;
}

#gallery #prev, #gallery #next{
    position:absolute;
    bottom:0px;
    width:50px;
    height:50px;
    background:url(../img/prev-next.png) no-repeat;
    text-indent:-9999em;
}

#gallery #prev{
    left:782px;
    background-position:0px 0px;
}

#gallery #prev:hover{
    background-position:0px -50px;
}

#gallery #next{
    right:10px;
    background-position:-50px 0px;
}

#gallery #next:hover{
    background-position:-50px -50px;
}

#gallery-slider{
    height:560px;
    position:relative;
}

#gallery-slider .slide{
    position:absolute;
    left:0px;
    top:0px;
    width:890px;
    height:560px;
}

.slide .caption{
    position:absolute;
    bottom:0px;
    background:rgb(0, 0, 0); /* The Fallback */
    background:rgba(0, 0, 0, 0.6);
    line-height:20px;
    padding:5px 210px 5px 35px;
    left:0px;
    width:645px;
    color:#fff;
}

#image-counter{
    bottom: 3px;
    color: #FFFFFF;
    font-size: 12px;
    position: absolute;
    right: 111px;
    text-shadow:0px 0px 2px #000;
}

/*Kalender*/
/*----------------------------------------------------------------------------*/

.calendar #content{
    padding-bottom:0px;
}

#calendar{
    height:640px;
    background:url(../img/calendar_bg.jpg) no-repeat;
    padding-top:15px;
    position:relative;
}

#calendar-title{
    height:27px;
    background: #1963b0; 
    filter: progid:DXImageTransform.Microsoft.gradient(startColorstr='#4786c5', endColorstr='#0051a5'); /* for IE */
    background: -webkit-gradient(linear, left top, left bottom, from(#4786c5), to(#0051a5)); /* for webkit browsers */
    background: -moz-linear-gradient(top,  #4786c5, #0051a5); /* for firefox 3.6+ */ 
    position:relative;
    margin:0px 35px 5px 35px;
    -moz-box-shadow:1px 1px 6px rgba(0,0,0, 0.3);
    -webkit-box-shadow:1px 1px 8px rgba(0,0,0, 0.3);
    -moz-border-radius:5px;
    -webkit-border-radius:5px;
}

#calendar-title h1{
    color:#fff;
    font-size:16px;
    height:27px;
    line-height:27px;
    text-align:center;
    text-transform:none;
    font-weight:normal;
    text-shadow:-1px -1px 1px #374581; 
}

#calendar-title .prev,
#calendar-title .next{
    position:absolute;
    top:0px;
    height:27px;
    color:#c4d7eb;
    font-weight:bold;
    text-decoration:none;
    background:url(../img/calendar_prev-next.gif) no-repeat;
    line-height:27px;
    font-size:13px;
}

#calendar-title .prev{
    left:0px;
    background-position:0px -54px;
    padding-left:22px;
}

#calendar-title .prev:hover{
    color:#fff;
    background-position:0px -81px;
}

#calendar-title .next{
    right:0px;
    background-position:right 0px;
    padding-right:22px;
}

#calendar-title .next:hover{
    background-position:right -27px;
    color:#fff;
}

#calendar .months{
    margin-left:25px;
}

.month{
    float:left;
    width:189px;
    height:158px;
    background-color:#fdf5c9;
    border:1px solid #aa6900;
    margin:10px 9px 10px 10px;
    -moz-box-shadow:2px 2px 12px rgba(0,0,0, 0.3);
    -webkit-box-shadow:2px 2px 12px rgba(0,0,0, 0.3);
    display:inline;
}

.month .month-title{
    text-align:center;
    text-transform:uppercase;
    font-weight:bold;
    height:18px;
    line-height:18px;
    display:block;
    
    background: #fed06b; /* for non-css3 browsers */
    filter: progid:DXImageTransform.Microsoft.gradient(startColorstr='#fee38d', endColorstr='#ffbf4b'); /* for IE */
    background: -webkit-gradient(linear, left top, left bottom, from(#fee38d), to(#ffbf4b)); /* for webkit browsers */
    background: -moz-linear-gradient(top,  #fee38d,  #ffbf4b); /* for firefox 3.6+ */ 
    
    
}

.month .weekdays span,
.month .dates span{
    display:block;
    float:left;
    text-align:center;
    width:27px;
    height:19px;
    line-height:19px;
    font-size:12px;
    font-weight:bold;
}
.month .weekdays{
    background-color:#fef9df;
    height:21px;
    border-bottom:1px solid #d7b56d; 
}

.month .weekdays span{
    height:21px;
    color:#794b00;
}

.month span.hidden{
    visibility:hidden;
}

.month span.reserved{
    font-weight:normal;
    color:#474746;
    background:url(../img/calendar_reserved-day.gif) center no-repeat;
}

#calendar-legend{
    position:absolute;
    left:35px;
    bottom:18px;
}

#calendar-legend .legend{
    background:rgb(255,255,255);
    background:rgba(255,255,255, 0.9);
    height:40px;
    line-height:40px;
    float:left;
    margin-right:20px;
    font-weight:bold;
    padding-right:15px;
}

#calendar-legend .calendar_free-day,
#calendar-legend .calendar_reserved-day{
    float:left;
    width:28px;
    height:28px;
    line-height:28px;
    margin:5px 10px 5px 5px;
    background-color:#fdf5c9;
    border:1px solid #794b00;
    text-align:center;
    font-size:12px;
}

#calendar-legend .calendar_reserved-day{
    color:##474746;
    font-weight:normal;
    background:#fdf5c9 url(../img/calendar_reserved-day.gif) center no-repeat;
}

/*Anfahrt*/
/*----------------------------------------------------------------------------*/

#directions-panel, #show-directions-panel-title{
    display:none;
    background-color:#fffcf3;
    border-bottom:1px solid #d9cca3;
    margin:0px -35px;
    padding:0px 35px;
}

#directions-panel{
    padding-bottom:10px;
}

#show-directions-panel-title{
    line-height:30px;
    height:30px;
    background-color:#fffcf3;
    cursor:pointer;
}

#show-directions-panel-title span{
    padding-right:30px;
    background:url(../img/slide-up-down-arrow.gif) right 7px no-repeat;
}

#show-directions-panel-title.open{
    border-bottom:none;
}

#show-directions-panel-title.over{
    background-color:#fff;
}

#show-directions-panel-title.open span{
    background-position:right -22px;
}

#show-directions-panel-title a.google-link{
    float:right;
    font-weight:normal;
    font-size:12px;
}

.adp-directions {
    width:100%;    
}

/*Kontakt*/
/*----------------------------------------------------------------------------*/
#kontakt{
    width:890px;
    height:621px;
    background:url(../img/kontakt-bg.jpg) no-repeat;
    position:relative;
    margin-bottom:-68px;
}

#kontakt h1{
    text-transform:none;
    font-size:22px;
}

#kontakt-form{
    position:absolute;
    top:58px;
    left:0px;
    width:562px;
    padding:10px 25px 25px 25px;
    background:rgb(255, 255, 255);
    background:rgba(255, 255, 255, 0.8);
}

#kontakt-form .form-table{
    width:100%;
}

#kontakt-form .left-col{
    width:142px;
}

#kontakt-form .text-input{
    margin-bottom:6px;
    width:406px;
    padding:0px 5px;
}

#kontakt-form .date-cell{
    width:134px;
    padding-left:6px;
}

#kontakt-form .date{
    width:120px;
    padding:0px 5px;
}

#kontakt-form textarea{
    height:165px;
    padding:5px !important;
}

/*Admin*/
/*----------------------------------------------------------------------------*/

#navigation-admin{
    border-top:1px solid #c2dbf0;
    padding:3px 0px 3px 24px;
    background-color:#E8F0F7;
}

#navigation-admin li{
    float:left;
    margin-right:20px; 
    padding-left:12px;
    background:url(../img/dot-navigation-admin.gif) left center no-repeat;
}

#navigation-admin li a{
    color:#000;
    font-weight:normal;
    text-decoration:none;
    display: block;
    height: 20px;
    line-height: 20px;
}

#navigation-admin li.active a{
    color:#fff;
    padding: 0 10px;
    -moz-border-radius:3px;
    -webkit-border-radius:3px;
    border-radius:3px;
    background-color:#4c7dc0;
    cursor:default;
}

#navigation-admin li a:hover{
    text-decoration:underline;
}

#navigation-admin li.active a:hover{
    text-decoration:none;
}

#bad-access{
    background:url(../img/smiley_bad-access.gif) 800px 15px no-repeat;
    padding-right:120px;
}

#not-found{
    background:url(../img/smiley_not-found.gif) 800px 15px no-repeat;
    padding-right:120px;
}
