html, body {    height: 100%;  }
* {
   margin: 0;
   padding: 0;
   box-sizing: border-box;
}
body {
  background-color: #e3ae9c;
  background: #e3ae9c;
  background: linear-gradient(141deg, #e3ae9c 0%,#e3ae9c 60%, #865B77 100%);
  margin: 0;
  background-repeat: no-repeat;
  background-attachment: fixed;
  background-size: cover;
  font-family: 'Open Sans', sans-serif;
  font-size: 11pt;
  font-display: swap;
  padding-left:2%;
  padding-right:2%;
  padding-top: 10px;
}
header, footer, section, aside, nav, article { display: block;}

header:after{
    height: 0;
    content: ".";
    display: block;
    clear: both;
    visibility:hidden;
}
.header {
  margin-bottom: 10px;
}
#main_menu {	display: none; z-index: 2; }
#main_menu ul {
	list-style-type: none;
    text-align: center;
	margin:0;
	padding:0;
    background-color: rgba(0,150,0,0.4);   /* 70% opaque red */
    box-shadow: 0px 1px 3px 0px #000000;
    margin-left: auto;
    margin-right: auto;
}
#main_menu li {
  display: block;
  border-bottom: solid 1px #000000;
}
#main_menu li:last-child {  border-bottom: none; }
#main_menu a {
  color: white;
  display: block;
  padding: 8px;
  text-decoration: none;
  transition: all 0.5s linear;
}
#main_menu li:hover { background-color: rgba(90,50,50,0.7); }
.linking{  display:none;}
.show-menu {
	text-decoration: none;
	color: #fff;
	background-color: rgba(255,0,0,0.5);
	text-align: center;
	padding: 10px 0;
	display: block;
  box-shadow: 0px 0px 3px 0px #000000;
  cursor: pointer;
}
/*Hide checkbox*/
input[type=checkbox]{
    display: none;
    -webkit-appearance: none;
}
/*Show menu when invisible checkbox is checked*/
input[type=checkbox]:checked ~ #main_menu{
    display: block;
}
.main{
    background-color: #FFFFFF;
    margin: auto;
    margin-bottom: 10px;
    box-shadow: 0px 0px 2px #000000;
    box-shadow: -1px 0px 8px 0px rgba(0,0,0,0.57);
    padding: 0px;
}
section {    padding: 20px 3% 20px 3%; }
.main section table { min-width: 300px; }
.main:after {
    height: 0;
    content: ".";
    display: block;
    clear: both;
    visibility:hidden;
}
p { text-align: justify; margin-bottom: 0.7em;}
.title {
    font-family:'_chalkduster',Sans-Serif;
    font-size: 18pt;
    text-align:center;
}
h1 {
     font-size: 1.3em;
     color: #610B38;
     padding:0;
     margin-bottom:10px;
     border-bottom: 1px solid black;
}
h2 {
     font-size: 1.1em;
     padding:0;
     font-weight: 900;
     text-decoration: underline;
     margin-bottom: 10px;
     margin-top: 10px;
}
hr { margin-bottom: 10px;}
.slider { width: 100%; height: auto; }
#desktop-head { display: none;}
#mobile-head { display: block; padding:10px; }
#mobile-head img { display: block; width:100%; height:auto;}
#hero-image  { display: block; position:relative; top:0; left:0; height:100%;}
.main_images {display:none }
img.next_image { 
    position: absolute; 
    top:0; left:0; 
    height:auto; 
    width:100%;
		
	-webkit-transition: opacity 1s;
	-moz-transition: opacity 1s;
	-o-transition: opacity 1s;
	transition: opacity 1s;
}
.showing{
	opacity: 1;
	z-index: 2;
}
.hidden{
	opacity: 0;
	z-index: 1;
}
.footer {
    margin:auto;
    margin-top: 15px;
    text-align:center;
    padding-left: 10px;
    padding-right:10px;
}
.footer .left {
   width:50%;
   float:left;
   text-align:left;
}
.footer .right {
   width:50%;
   text-align:right;
   float:left;
}
.footer:after {
    height: 0;
    content: ".";
    display: block;
    clear: both;
    visibility:hidden;
}

#logo{ padding-top:10px; }
#kontakt{
    text-align: right;
    padding-top:20px;
}

/* Gallery css */
.images { 
   text-decoration: none; 
   display: inline-block;
  
}
.centered { text-align: center; }
.image 
{ 
   width:180px;  
   height:180px; 
   object-fit:cover; 
   margin:2px; 
   padding:2px;
   border: 1px solid grey;
   box-shadow:0px 0px 3px 0px rgba(0,0,0,0.57);
}
.gall 
{ 
   width:150px;  
   height:100px; 
   object-fit:cover; 
   margin:2px; 
   padding:2px;
   border: 1px solid grey;
}
 .image_cat
 { 
   width:280px;  
   height:180px; 
   object-fit:cover; 
   margin:2px; 
   padding:2px;
   border: 1px solid grey;
   box-shadow:0px 0px 3px 0px rgba(0,0,0,0.57);
}
 .leistungen
 { 
   width: 90%;  
   height:150px; 
   object-fit:cover; 
   margin:2px; 
   padding:2px;
   border: 1px solid grey;
   box-shadow:0px 0px 3px 0px rgba(0,0,0,0.57);
}
.image:hover {box-shadow:0px 0px 10px 0px rgba(0,0,0,0.57);}

.gal_title { 
  padding:0 ; margin-left:10px; margin-right:10px; 
  text-align: center; 
  display:block; 
  position:relative;  
  top:-40px; 
  
  background-color: rgba(255, 255, 255, 0.7);
  color: #000;
  }
.gal_links { text-align:center; margin-bottom: 10px; }

.gal_links a.active { 
      
      color:red;
      text-decoration: underline
}

.gal_links a {
  padding: 2px;
  text-decoration: none;
  transition: all 0.5s linear;
  color: #000;
}
.gal_links a:hover {   color: #F0F; text-decoration: underline;  }

/* messages */
.notices {
   padding-top: 10px;
   padding-left: 15px;
   margin-bottom: 15px;
}
.error{
  background-color: #eea29a; /* Red */
  border: 2px solid #c94c4c;
  font-weight: bold;
  color: #303030;
}
  

/* Kontakt css */
#contact input[type="text"],
#contact input[type="email"],
#contact input[type="tel"],
#contact input[type="url"],
#contact textarea {
  width: 100%;
  border: 1px solid #ccc;
  background: #FFF;
  margin: 0 0 5px;
  padding: 10px;
  font-size: 9pt;
}
#contact input[type="text"]:hover,
#contact input[type="email"]:hover,
#contact input[type="tel"]:hover,
#contact input[type="url"]:hover,
#contact textarea:hover {
  -webkit-transition: border-color 0.3s ease-in-out;
  -moz-transition: border-color 0.3s ease-in-out;
  transition: border-color 0.3s ease-in-out;
  border: 1px solid #aaa;
}
#contact textarea {
  height: 200px;
  max-width: 100%;
  resize: vertical;
}

#contact button[type="submit"] {
  cursor: pointer;
  width: 100%;
  border: none;
  background: #4CAF50;
  color: #FFF;
  margin: 0 0 5px;
  padding: 10px;
  font-size: 15px;
  margin-top: 10px;
}
#contact button[type="submit"]:hover {
  background: #43A047;
  -webkit-transition: background 0.3s ease-in-out;
  -moz-transition: background 0.3s ease-in-out;
  transition: background-color 0.3s ease-in-out;
}
#contact button[type="submit"]:active {
  box-shadow: inset 0 1px 3px rgba(0, 0, 0, 0.5);
}
#contact input:focus,
#contact textarea:focus {
   outline: 0;
   border: 1px solid #aaa;
}
#contact label { display: none;}
 .map {
        height: 400px;
        padding-bottom: 10px;
        
      }
.standort .half, .standort p { text-align: center; }
.standort table { margin:auto;}
.standort td  { width: 150px;}

.clearfix:after {
    height: 0;
    content: ".";
    display: block;
    clear: both;
    visibility:hidden;
}
.main_section  { display:block; }