/* open-sans-300 - latin: Digitized data copyright 2010-2011, Google Corporation, Apache License Version 2.0 (http://www.apache.org/licenses/LICENSE-2.0.html) */
@font-face {
  font-family: 'Open Sans';
  font-style: normal;
  font-weight: 300;
  src: local('Open Sans Light'), local('OpenSans-Light'),
       url('/sys/fonts/open-sans-v15-latin-300.woff2') format('woff2'), /* Chrome 26+, Opera 23+, Firefox 39+ */
       url('/sys/fonts/open-sans-v15-latin-300.woff') format('woff'); /* Chrome 6+, Firefox 3.6+, IE 9+, Safari 5.1+ */
}

/* open-sans-regular - latin: Digitized data copyright 2010-2011, Google Corporation, Apache License Version 2.0 (http://www.apache.org/licenses/LICENSE-2.0.html) */
@font-face {
  font-family: 'Open Sans';
  font-style: normal;
  font-weight: 400;
  src: local('Open Sans Regular'), local('OpenSans-Regular'),
       url('/sys/fonts/open-sans-v15-latin-regular.woff2') format('woff2'), /* Chrome 26+, Opera 23+, Firefox 39+ */
       url('/sys/fonts/open-sans-v15-latin-regular.woff') format('woff'); /* Chrome 6+, Firefox 3.6+, IE 9+, Safari 5.1+ */
}

html {
  -webkit-text-size-adjust: 100%;
  -ms-text-size-adjust: 100%;
}

article, aside, details, figcaption, figure, footer, header, hgroup, main, menu, nav, section, summary {
  display: block;
}

audio, canvas, progress, video {
  display: inline-block;
}

* {
  margin: 0; padding: 0;
}

body {
  font: 300 15px/1.5em 'Open Sans', Arial, Verdana, sans-serif; 
  color: #a6a5a2;
  letter-spacing: 1px;
}

b, strong {
  font-weight: 300; 
  text-transform: uppercase;
}

h1, h2, h3, h4, h5, h6 {    
  margin: 2em 0 1em; 
  line-height: 1.5em;
  font-size: 1em;
  font-weight: 300;
  color: #fe8a02; 
  text-transform: uppercase; 
}

h2:first-child, h3:first-child, h4:first-child {
  margin-top: 0;
}

h1 a, h2 a, h3 a {
  color: #fe8a02;
}

h1 {
  margin: 15px 0;
  color: #8b8a86;
  font-size: 1.5em;
  line-height: 1.2em;
  font-weight: 300;
}

h3 {
  margin: 1em 0;
}

h4 {  
  cursor: pointer;
}

h5 {
  color: #84734a;
}

h6 {
  margin-bottom: 0;
  color: #84734a; 
}

p {
  margin-bottom: 1em;
}

ol {
  margin: 0 0 1em; padding-left: 30px;
  list-style-type: decimal;
}

ul {
  margin: 0 0 1em; padding-left: 20px;
}

table {
  margin: -3px -3px 0;
  width: 100%;
  border-spacing: 3px;
  border-collapse: separate;
}

th, td {
  text-align: left;
  vertical-align: top;
  font: inherit;
} 

.timetable {   
  color: #fff;
}

.timetable h4 {
  color: #fff;
  margin: 0;
}

.timetable h4:hover {
  color: #4D4D4D;
}

.timetable th {
  padding: 5px 10px;
  background: #af9a70;
}

.timetable td {
  padding: 5px 10px;
  background: #d3cdbf;
}

.timetable p {
  margin: 1em 0 0;
} 

.timetable p:first-child {
  margin: 0;
} 

a {    
  color: #d3cdbf; 
  text-decoration: none;  
}

a:hover, .active > a, a.active {  
  outline: 0;
  color: #fe8a02;
}

a img {
  border: 0;
}

img {
  max-width: 100%;
}

table img {
  width: 100%;
}

#content a:hover img {
  opacity: 0.7;
  filter:alpha(opacity=70);
}

hr {
  margin: 1em 0;
  width: 100%; height: 1px;
  clear: both;
  background: #666;
  border: 0;
}

dt {
  margin-bottom: 0.5em;
}

input[type=text], textarea {
  padding: 10px;
  width: 300px; max-width: 100%;
  font: inherit;
  border: 1px solid #d3cdbf;
  color: #d3cdbf;
  box-sizing: border-box;
  -moz-box-sizing: border-box;
  -webkit-box-sizing: border-box; 
  outline: 0;
  -webkit-appearance: none;
  border-radius: 0; 
}

input[type=text].actForm, textarea.actForm {
  color: #a6a5a2;
}

input[type=submit], .button {
  padding: 5px 20px;
  width: auto;
  background: #c0b7a1;
  color: #fff;
  cursor: pointer;
  font: inherit;
  border: 0;
  outline: 0;
  display: inline-block;
  -webkit-appearance: none;
  border-radius: 0;
}

input[type=submit]:hover, .button:hover {
  background: #fe8a02;
  color: #fff;
  cursor: pointer;
}

input.error, textarea.error {
  border: 1px solid #706657;
  background: #ffbcbc;
  color: #fff;
}

input[type=radio].error, input[type=checkbox].error {
  margin: 0 4px;
  outline: 3px solid #ffbcbc;
}

input.checkform {
  display: none;
}

/*** Klassen ***/
.menu {
  margin: 0; padding: 0;
}

.menu li {
  margin: 0; padding: 0 12px;
  list-style: none;
}

.menu a { 
  display: block; 
} 

.alignleft {
  margin: 5px 20px 0 0;
  float: left; 
}

.alignright {
  margin: 5px 0 0 20px;
  float: right;     
} 

.mobile {
  display: none;
}

.inner {
  margin: 0 auto; padding: 0 30px;
  max-width: 1000px;
} 

/*** Page ***/
html, #body {
  height: 100%;
}

#page {
  min-height: 100%;
  position: relative;
  overflow: hidden;
}

/*** Header ***/
#header {  
  position: relative;
  z-index: 100;
}

#logo {
  margin-left: 20px; padding: 30px 20px 40px;
  max-width: 220px;
  line-height: 0;
  float: left;
  display: block;
  margin-bottom: -30px;
  background: #d3cdbf;
}

/*** Navigation ***/
#primary { 
  padding: 50px 0;
  width: 67%;  
  float: right;
}

#primary .menu > li {
  padding: 0 24px 0 0;
  float: left;
  position: relative;
}

#primary .menu > li > a {
  line-height: 60px;
  text-transform: uppercase;
}

#primary .menu > li:hover > a.parent {
  color: #fe8a02;
  background: transparent url(img/active.png?ver=1.2) no-repeat center bottom;
}

#primary .menu ul {
  margin: 0; padding: 5px;
  min-width: 140px;
  position: absolute; left: 0; top: 73px;
  background: #d3cdbf;
  display: none;
  font-size: 0.9em;
  white-space: nowrap
}

#primary .menu ul a {
  color: #fff;
}

#primary .menu ul a:hover,
#primary .menu ul .active > a {
  color: #7c7a75;
}

/*** Banner ***/
#banner {
  position: relative; 
}

#banner-image {  
  margin-bottom: 3px;
  max-height: 600px;
  line-height: 0; 
  overflow: hidden;
  border-top: 1px solid #fff;   
}

#banner-image img {
  width: 100%;
}

#banner-content {
  position: absolute; top: 0; bottom: 0; left: 0; right: 0;
  z-index: 10;
  color: #86754d;
}

#banner-content h1 {
  color: #86754d;
  letter-spacing: 2px;
  position: absolute; bottom: 50%; left: 0; right: 0;
  text-align: center;
}

#banner-content p {
  margin: 0 auto;
  max-width: 500px;
}

#banner h6 {
  padding: 40px 25px; margin-left: 400px;
  width: 90px; height: 60px;
  background: transparent url(img/button.png?ver=1.1) no-repeat;
  background-size: contain;
  position: absolute; left: 50%; top: 20px;
  color: #fff;
  text-align: center;
  font-size: 0.8em;
  line-height: 1.5em;
  text-transform: uppercase;
}

/*** Content ***/
#content-image {
  margin: 0 0 40px 0;
}

#content {  
  padding: 0 0 40px 0;
  overflow: hidden;
}

.page-home #content {
  padding-bottom: 0;
}

#content-image + #content,
.page-blog #content,
.page-impressum #content {
  width: 67%;
  float: right;
} 

#content > h2:first-child {
  margin-top: 80px;
}

#content-image + #content > h2:first-child {
  margin-top: 0;
}

#content .header-image {
  margin: 0 0 40px;
  width: 100%;
}

.post {
  overflow: hidden;
}

.post-image, .post-content {
  margin-right: 2%;
  width: 48%;
  float: left;
}

.post-title, .post-date {
  margin-bottom: 0;
}

.post-date {
  font-size: 0.8em;
  font-style: italic;
}

/*** Map ***/
.map {
  height: 400px;
  margin-bottom: 40px;
}

.map img {
  max-width: none;
}

/*** Gallery ***/
.bx-wrapper {
  position: relative;
  max-height: 600px;
  overflow: hidden;
}

.bx-wrapper .bx-controls-direction a {
  margin-top: -32px;
	width: 40px; height: 64px;
	position: absolute; top: 50%;
	outline: 0;
	display: block;
	text-indent: -9999px;
	z-index: 100;
}

.bx-wrapper .bx-controls-direction a.disabled {
	display: none;
}

.bx-wrapper .bx-controls-direction .bx-prev {
	left: 0;
	background: transparent url(/sys/img/arrow-left.png) no-repeat center center;
}

.bx-wrapper .bx-controls-direction .bx-next {
	right: 0;
	background: transparent url(/sys/img/arrow-right.png) no-repeat center center;
}

.bx-wrapper .bx-pager a:hover,
.bx-wrapper .bx-pager a.active,
.bx-wrapper .bx-controls-direction a:hover {
	opacity: 0.6;
  filter:alpha(opacity=60);
}

#bx-pager img {
  margin: 3px 3px 0 0;
  width: 100px;
  opacity: 0.5;
  filter:alpha(opacity=50);
}

#bx-pager a.active img, #bx-pager a:hover img {
  opacity: 1;
  filter:alpha(opacity=100);
}

/*** Sidebar ***/
#sidebar {
  padding: 60px 1% 60px 3%;
  width: 26%;
  float: left;
  clear: left;
}

#content-image + #content + #sidebar {
  padding-top: 0;
}

#sidebar h3, #sidebar h4 {
  margin-bottom: 0.5em;
  text-transform: uppercase;
  color: #d3cdbf;
}

#sidebar a {
  padding-left: 20px;
  display: block;
  font-size: 0.9em;
}

#sidebar a:before {
  margin-left: -20px;
  content: ">";
  float: left;
  font-size: 0.9em;  
}

/*** Footer ***/
#footer {
  padding: 20px 0 0;
  overflow: hidden;
  background: #d3cdbf;
  color: #fff;
  position: absolute; left: 0; right: 0; bottom: 0;
}

#footer .alignleft {
  margin-left: -40px;
}

#footer p {
  margin: 0 0 40px 0;
  width: 33%;
  float: left;
}

#footer p.address {
  margin: 0 -40px 40px 40px;
}

#footer p.home {
  display: none;
}

.page-home #footer p.home {
  width: auto;
  float: none;
  text-align: center;
  font-size: 1.5em;
  line-height: 1.4em;
  font-weight: 300;
  display: block;
}

.page-home #footer p.home br {
  display: none;
}

#footer a {
  color: #fff;
}

#footer a.newsletter {
  color: #86754d;
}

#footer a:hover, #footer a.newsletter:hover {
  color: #fe8a02;
}

@media screen and (max-width: 1100px) {
  #primary .menu > li {
    padding: 0 12px 0 0;
  }
  
  #banner h6 {
    margin-left: 0;
    left: auto; right: 60px;
  }
}

@media screen and (max-width: 980px) {

  #page table, #page tbody, #page tr, #page th, #page td {
    margin: 0;
    width: auto !important;
    display: block;    
  }
  
  #page td[style*='width: 60px;'] {
    margin: 0 5px 3px 0;
    width: 60px !important;
    float: left;
    clear: both;
  }
  
  #page td[style*='width: 60px;'] + td {
    margin-bottom: 3px;
  }      
  
  #page tr {
    border-bottom: 5px solid #fff;
  }

  .inner {
    max-width: 600px;
  }
  
  #header {
    padding-top: 40px;
  }
    
  #logo {
    margin: 0 0 -20px 30px; padding: 20px 15px 30px;
    max-width: 40%;
    float: none;
  }
        
  #primary {
    padding: 0 30px;
    line-height: 40px;
    width: auto;
    position: fixed; top: 0; left: 0; right: 0;
    background: #fff;
    z-index: 10;
    float: none;
    -moz-box-shadow: 0 3px 15px rgba(0, 0, 0, 0.1);
    -webkit-box-shadow: 0 3px 15px rgba(0, 0, 0, 0.1);
    box-shadow: 0 3px 15px rgba(0, 0, 0, 0.1);
  }
  
  #primary.menuactive {
    margin: 0 0 -40px;
    position: absolute;
  }
    
  #primaryCtrl {
    margin: 0 auto;
    max-width: 600px; height: 40px;   
    display: block;
    text-decoration: none;
    color: #d3cdbf;    
    overflow: hidden;
  }
  
  #primaryCtrl:hover {
    color: #7c7a75;
  }

  #primaryCtrl span {
    width: 20px;
    display: block;
  }

  #primaryCtrl > span {
    margin: 12px 10px 0 0;
    float: left;
  }

  #primaryCtrl > span > span {
    margin-bottom: 3px;
    height: 3px;
    background: #d3cdbf;
  }

  #primaryCtrl:hover > span > span {
    background: #7c7a75;
  }

  #primary .menu {
    margin: 0 auto 30px;
    display: none;
    float: none;
  }
    
  #primary .menu li {
    padding: 0 0 0 30px;
  }
  
  #primary .menu > li {
    float: none;
  }
  
  #primary .menu > li > a {
    line-height: 30px;
  }
    
  #primary .menu > li:hover > a.parent {    
    background: none;
  }
  
  #primary .menu ul {
    margin: 0; padding: 0;
    width: auto;
    line-height: 30px;
    position: relative; left: auto; top: auto;
    background: none;
    display: block !important;
  }
  
  #primary .menu ul a {
    color: #d3cdbf;
  }
          
  #banner-image {
    margin: 0 -20% 3px;
    width: 140%;
  }
  
  #banner h6 {
    right: 30px;
  }
  
  #content > h2:first-child {
    margin-top: 60px;
  }
  
  #content-image {
    margin: 0 0 2em;
    width: auto;
    float: none;
  }
  
  #content {
    float: none !important;
    width: auto !important;
  }
  
  .page-blog #content {
    margin: 0;
  }
   
  .post-image, .post-content {
    margin: 0 0 2em;
    width: auto;
    float: none;
  }

  #sidebar {
    padding: 0 0 30px;
    width: auto;
    float: none;
  }
  
  #footer p {
    width: 100%;
    float: none;
  }
}

@media screen and (max-width: 600px) {
  body {
    font-size: 0.8em;
  }
  
  #banner h6 {
    padding: 30px 15px;
    width: 70px; height: 40px;
    right: 10px; top: auto;  bottom: 10px;
    font-size: 0.6em;
    line-height: 1.5em;
  }
  
  #banner-image {
    margin: 0 -40% 3px;
    width: 180%;
  }

  #banner-content {
    padding-top: 40px;
  }

  #banner-content h1 {
    margin: 0;
    font-size: 1.2em;
  }
  
  .page-home #footer p.home {
    font-size: 1.1em;
    line-height: 1.4em;
  }
  
  .page-home #footer p.home br {
    display: inline;
  }
}
