/*
 * Gridism
 * A simple, responsive, and handy CSS grid by @cobyism
 * https://github.com/cobyism/gridism
 
 Copyright (c) 2013 Coby Chapple.

Permission is hereby granted, free of charge, to any person obtaining a copy
of this software and associated documentation files (the 'Software'), to deal
in the Software without restriction, including without limitation the rights
to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
copies of the Software, and to permit persons to whom the Software is
furnished to do so, subject to the following conditions:

The above copyright notice and this permission notice shall be included in all
copies or substantial portions of the Software.

THE SOFTWARE IS PROVIDED 'AS IS', WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
SOFTWARE.

 
 */

/* Preserve some sanity */
.grid,
.unit {
  -webkit-box-sizing: border-box;
  -moz-box-sizing: border-box;
  box-sizing: border-box;
}

/* Set up some rules to govern the grid */
.grid {
  display: block;
  clear: both;
}
.grid .unit {
  float: left;
  width: 100%;
  /*! padding: 10px; */
}

/* This ensures the outer gutters are equal to the (doubled) inner gutters. */
.grid .unit:first-child { /*! padding-left: 20px; */ }
.grid .unit:last-child { padding-right: 20px; }

/* Nested grids already have padding though, so let’s nuke it */
.unit .unit:first-child { padding-left: 0; }
.unit .unit:last-child { padding-right: 0; }
.unit .grid:first-child > .unit { padding-top: 0; }
.unit .grid:last-child > .unit { padding-bottom: 0; }

/* Let people nuke the gutters/padding completely in a couple of ways */
.no-gutters .unit,
.unit.no-gutters {
  padding: 0 !important;
}

/* Wrapping at a maximum width is optional */
.wrap .grid,
.grid.wrap {
  max-width: 100%;
  margin: 0 auto;
}

/* Width classes also have shorthand versions numbered as fractions
 * For example: for a grid unit 1/3 (one third) of the parent width,
 * simply apply class="w-1-3" to the element. */
.grid .whole,          .grid .w-1-1 { width: 100%; }
.grid .half,           .grid .w-1-2 { width: 50%; }
.grid .one-third,      .grid .w-1-3 { width: 33.3332%; }
.grid .two-thirds,     .grid .w-2-3 { width: 66.6665%; }
.grid .one-quarter,    .grid .w-1-4 { width: 25%; }
.grid .three-quarters, .grid .w-3-4 { width: 75%; }
.grid .one-fifth,      .grid .w-1-5 { width: 20%; }
.grid .two-fifths,     .grid .w-2-5 { width: 40%; }
.grid .three-fifths,   .grid .w-3-5 { width: 60%; }
.grid .four-fifths,    .grid .w-4-5 { width: 80%; }
.grid .golden-small,   .grid .w-g-s { width: 38.2716%; } /* Golden section: smaller piece */
.grid .golden-large,   .grid .w-g-l { width: 61.7283%; } /* Golden section: larger piece */

/* Clearfix after every .grid */
.grid {
  *zoom: 1;
}
.grid:before, .grid:after {
  display: table;
  content: "";
  line-height: 0;
}
.grid:after {
  clear: both;
}

/* Utility classes */
.align-center { text-align: center; }
.align-left   { text-align: left; }
.align-right  { text-align: right; }
.pull-left    { float: left; }
.pull-right   { float: right; }

/* Responsive Stuff */
@media screen and (max-width: 568px) {
  /* Stack anything that isn’t full-width on smaller screens */
  .grid .unit {
    width: 100% !important;
    padding-left: 0px;
    padding-right: 0px;
  }
  .unit .grid .unit {
    padding-left: 0px;
    padding-right: 0px;
  }

  /* Sometimes, you just want to be different on small screens */
  .center-on-mobiles {
    text-align: center !important;
  }
  .hide-on-mobiles {
    display: none !important;
  }
  
  .pull-right {
	  width:100%;
  }
  
  h1 {font-size:1.5em}
  h2 {font-size:1.25em}
  
  .top h2 {padding:0 !important;}
  .top p {padding:0 !important;}
  
  .center {width: 100%;padding:0 !important;}
  .center h3 {padding:0 !important;}
  .center p {padding:0 !important;}

}

/* Expand the wrap a bit further on larger screens */
@media screen and (min-width: 800px) {
  .wider .grid {max-width: 800px; margin: 0 auto;}
  .top h2 {padding:0 20px !important;}
  .top p {padding:0 20px !important;}
  .top img {padding-top:40px;}
  
  .center {width: 100%;padding:0 !important;}
  .center h3 {padding:0;}
  .center p {padding:0;}
  .center img {padding-top:40px;}
}



/* ------------------- End Gridism ----------------------------- */

@font-face {
  font-family: 'Ephesis';
  src: url('fonts/Ephesis-Regular.woff2') format('woff2'),
       url('fonts/Ephesis-Regular.woff') format('woff');
  font-weight: normal;
  font-style: normal;
  font-display: swap; /* Sorgt dafür, dass Text sofort sichtbar ist */
}

@font-face {
    font-family: 'Sinkin Sans';
    src: url('font/SinkinSans-500Medium.woff2') format('woff2'),
        url('font/SinkinSans-500Medium.woff') format('woff');
    font-weight: 500;
    font-style: normal;
}

@font-face {
    font-family: 'Sinkin Sans';
    src: url('font/SinkinSans-300LightItalic.woff2') format('woff2'),
        url('font/SinkinSans-300LightItalic.woff') format('woff');
    font-weight: 300;
    font-style: italic;
}

@font-face {
    font-family: 'Sinkin Sans';
    src: url('font/SinkinSans-800Black.woff2') format('woff2'),
        url('font/SinkinSans-800Black.woff') format('woff');
    font-weight: 900;
    font-style: normal;
}

@font-face {
    font-family: 'Sinkin Sans';
    src: url('font/SinkinSans-400Regular.woff2') format('woff2'),
        url('font/SinkinSans-400Regular.woff') format('woff');
    font-weight: normal;
    font-style: normal;
}

@font-face {
    font-family: 'Sinkin Sans';
    src: url('font/SinkinSans-400Italic.woff2') format('woff2'),
        url('font/SinkinSans-400Italic.woff') format('woff');
    font-weight: normal;
    font-style: italic;
}

@font-face {
    font-family: 'Sinkin Sans';
    src: url('font/SinkinSans-300Light.woff2') format('woff2'),
        url('font/SinkinSans-300Light.woff') format('woff');
    font-weight: 300;
    font-style: normal;
}

@font-face {
    font-family: 'Sinkin Sans';
    src: url('font/SinkinSans-800BlackItalic.woff2') format('woff2'),
        url('font/SinkinSans-800BlackItalic.woff') format('woff');
    font-weight: 900;
    font-style: italic;
}




html {
		overflow-y:scroll;
	}
	
body {
	margin:0;
	padding:0;		
	font-family: 'Sinkin Sans';	
	color:#36393E;		
	font-size:1.0em;
	font-weight:300;
}

.grid {
}

header {
	box-shadow: 2px 0 15px #dcdfdf;
	z-index:10;
	background-color:#fff;
}

header:after {
	clear:both;
}

article {
	line-height:1.5em;
}

.top {background-color: #dca57d}

.top h2 {font-family: 'Ephesis', cursive; /* 'cursive' ist der Fallback */
  font-size: 2.15rem;               /* Entspricht ca. 40px, je nach Basiswert */
  font-weight: 400;
  color: #fff;
  padding: 15px 0 0 50px;
}

.top h3 {
  font-family: 'Ephesis', cursive;
  font-size: 2.15rem;
  font-weight: 400;
  color: #ffffff;
  margin-bottom: 1.5rem;
  padding: 15px 0 0 50px;
  line-height: 3.0rem;
}

.top ul {
  padding-left: 20px; /* Verringert den Standard-Einzug (meist 40px) auf 20px */
  margin-left: 0;
}

.top li {margin: 10px 50px 10px 50px; color:#fff;  }

.top p {padding: 50px 33% 0 50px !important; color:#fff}

.top .btn {
  border: solid 1px #fff; 
  padding: 5px 10px; 
  color: #fff; 
  text-decoration: none; 
  border-radius: 5px;
  transition: opacity 0.3s ease; /* Weicher Übergang für den Profi-Look */
}

/* Der Hover-Zustand */
.top .btn:hover {
  opacity: 0.6; /* 50% Deckkraft */
}

/* Sicherstellen, dass die anderen Zustände wie der Normalzustand bleiben */
.top .btn:visited, 
.top .btn:active, 
.top .btn:focus {
  opacity: 1;
  outline: none; /* Optional: Entfernt den Standard-Browser-Rahmen bei Focus */
}

.top img {
  display: block;
  max-width: 100%;
  height: auto;
  padding:0;
  margin: 0 auto; /* Zentriert das Bild im Absatz */
}

.center {
  width: 100%;             /* Verhindert Überlaufen auf kleinen Screens */
  max-width: 1280px;       /* Deine Zielbreite */
  margin-left: auto;       /* Automatischer Abstand links */
  margin-right: auto;      /* Automatischer Abstand rechts */
  box-sizing: border-box;  /* Padding frisst die Breite nicht auf */
  padding: 50px 20px;         /* Optional: Kleiner Puffer zum Rand auf dem Handy */
}

.center h3 {font-family: 'Ephesis', cursive; /* 'cursive' ist der Fallback */
  font-size: 2.15rem;               /* Entspricht ca. 40px, je nach Basiswert */
  font-weight: 400;
}

.center p {padding-right: 50px}

.center ul {
  padding-left: 20px; /* Verringert den Standard-Einzug (meist 40px) auf 20px */
  margin-left: 0;
}

.center li {margin: 0 50px 10px 0}

#bottom {
  position: relative;          /* Wichtig, damit ::before sich daran ausrichtet */
  background-color: #dca57d;   /* Ihre gewünschte Farbe */
  width: 100%;
  margin-top: 80px;            /* Platz für die Welle, die oben "übersteht" */
  padding-bottom: 50px;
  color: #fff;
}

.bottom-inner {
  max-width: 1280px;
  margin: 0 auto;
  padding: 50px 20px 0px;
}

.bottom-inner h3 {
  font-family: 'Ephesis', cursive;
  font-size: 2.15rem;
  font-weight: 400;
  color: #ffffff;
  margin-bottom: 1.5rem;
}

.bottom-inner a:link, 
.bottom-inner a:visited, 
.bottom-inner a:active, 
.bottom-inner a:focus {
  color: #ffffff;
  text-decoration: none;
  transition: opacity 0.3s ease; /* Weicher Übergang für die Absoftung */
  outline: none; /* Entfernt den Standard-Fokusrahmen, falls gewünscht */
}

/* Hover-Effekt (leichte Absoftung) */
.bottom-inner a:hover {
  opacity: 0.7; /* Erzeugt den Effekt der Absoftung */
  text-decoration: none;
}

p {
  margin-block-start: 0;
  -ms-hyphens: auto;
  hyphens: auto;
  hyphenate-limit-chars: 5 5 5;
  font-size: 1.25em;
  line-height: 1.75em;
}

h1, h2, h3, h4, h5, dt, th {
	font-weight:300;
}

h1 {color: #dca57d; padding: 50px 0 25px}
h2 {color: #666; padding: 0 0 25px; line-height:1.75em; }

hr {
	border:0;
	border-bottom: 1px solid #8f9695;
}

img {
	max-width:100%;
	height:auto;
}

input[type="button"],
input[type="reset"],
input[type="submit"] {
	border:1px solid #36393E;		
	background-color:transparent;
	font-family: 'Sinkin Sans';	
	color:#36393E;	
	font-size:1em;
}
img.round {
  width: 250px;
  height: 250px;
  border-radius: 50%;
  object-fit: cover; /* Verhindert Verzerrungen, falls das Bild nicht perfekt quadratisch ist */
}

img.picfull {width:100%; height:auto;}
img.pic2left {float:left; max-width:49%; margin: 3px 1% 2px 0; height:auto;}
img.pic2right {float:right; max-width:49%; margin: 3px 0 2px 0.5%; height:auto;}

img.pic3left {float:left; max-width:32%; margin: 3px 1.5% 2px 0; height:auto;}
img.pic3right {float:right; max-width:32%; margin: 3px 0 2px 0.3%; height:auto;}

img.pic4left {float:left; max-width:24%; margin: 3px 1% 2px 0; height:auto;}
img.pic4right {float:right; max-width:24%; margin: 3px 0 2px 0.5%; height:auto;}



footer {
	background-color:#b47f4e;
	color:#fff;
    min-height: 50px;
	padding:1em;
	font-size:85%;	
	padding: 20px !important;
}

.footer-inner {
  width: 100%;
  max-width: 1280px;
  margin: 0 auto;
  padding: 0px;
  display: flex;           /* Das ist der Zauberbefehl für "nebeneinander" */
  justify-content: space-between; /* Schiebt left nach links und right nach rechts */
}

.footer-inner .left {
  font-size: 0.9rem;
}

.footer-inner .right ul {
    list-style: none;
    margin: 0;
    padding: 0;
    display: flex;          /* Richtet die Listenpunkte nebeneinander aus */
    justify-content: flex-end; /* Schiebt das Menü nach rechts (passend zum Namen) */
    gap: 20px;              /* Abstand zwischen den Menüpunkten */
}

.footer-inner .right li {
    display: inline-block;
}

.footer-inner .right a:link {
    color: #ffffff !important;
    text-decoration: none;
    font-size: 0.9rem;      /* Rechtliche Links dürfen meist etwas kleiner sein */
    transition: opacity 0.3s ease;
}

.footer-inner .right a:hover,
.footer-inner .right a:active,
.footer-inner .right a:focus,
.footer-inner .right a:visited {
    opacity: 0.7;
    text-decoration: none;
    color: #ffffff !important;
}

/* Mobil-Optimierung: Tablet */
@media (max-width: 1210px) {
    .footer-inner .right ul {
        justify-content: center;
        flex-wrap: wrap;    /* Falls es doch mehr Links werden */
    }
  
  .top p {
        padding: 10px 20px !important;
  }
  
  .center h3 {padding: 0 20px}
  .center p {padding: 0 20px}
  .center li {margin-left: 20px}
  
}


/* Mobil-Optimierung: Auf kleinen Bildschirmen mittig ausrichten */
@media (max-width: 768px) {
    .footer-inner .right ul {
        justify-content: center;
        flex-wrap: wrap;    /* Falls es doch mehr Links werden */
    }
    .top p {padding: 0px !important; color: #fff;}
    .top h3 {margin: 10px 0; padding: 0; font-size: 1.5em; line-height: 1.5em;; text-align: center}
    .top li {margin: 10px 0; padding: 0; line-height: 1.75em}
    
    .center h3 {margin: 20px 0 0; padding: 0; font-size: 1.5em; line-height: 1.5em;; text-align: center}
    .center li {margin: 10px 0; padding: 0; line-height: 1.75em}
    
    .footer-inner {
        flex-direction: column; /* Stapelt die Elemente untereinander */
        align-items: center;    /* Zentriert left und right horizontal */
        text-align: center;     /* Zentriert den Textinhalt */
        gap: 20px;              /* Erzeugt Abstand zwischen Copy-Text und Menü */
    }

    .footer-inner .right ul {
        flex-direction: column; /* Stapelt die Menüpunkte (Impressum etc.) untereinander */
        align-items: center;    /* Zentriert die Liste */
        gap: 10px;              /* Etwas weniger Abstand zwischen den Links auf Mobile */
    }
}

.logo {
	padding:1em 0;
}

a:link { color:#0a0a0a;	}
a:visited {	color:#51565c;}
a:hover, a:active {color:#c93c20}


/* ------------------------------- nav ----------------------------------------
https://forum.wbce.org/viewtopic.php?id=2433  */


#menu a {
	text-decoration:none;
}

#menu ul {
  margin: 0;
  padding: 0;
}

#menu .main-menu {
  display: none;
}

#tm:checked + .main-menu {
  display: block;
}

#menu input[type="checkbox"], 
#menu ul span.drop-icon {
  display: none;
}

/*#menu li, 
#toggle-menu, 
#menu .sub-menu {
  border-style: solid;
  border-color: rgba(0, 0, 0, .05);
}*/

#menu li, 
#toggle-menu {
  font-size:18px;
}

#menu .sub-menu {
  background-color: #fff;
  border-width: 1px 1px 0;
  margin: 0 1em;
}

#menu .sub-menu li:last-child {
  border-width: 0;
}

#menu li, 
#toggle-menu, 
#menu a {
  position: relative;
  display: block;
  color: #dca57d;  
}


#menu {
  background-color: #fff;
  padding-top:12px;
}

#toggle-menu {
  background: #fff;
}

#toggle-menu, 
#menu a {
  padding: 1em;
}



#menu ul.submenu li a {
}

#menu a {
  transition: all .125s ease-in-out;
  -webkit-transition: all .125s ease-in-out;
}

#menu a:hover {
  background-color: #dca57d;
  color: #fff;
}

#menu .sub-menu {
  display: none;
}

#menu input[type="checkbox"]:checked + .sub-menu {
  display: block;
}

#menu .sub-menu a:hover {
  color: #0a0a0a;
}

#toggle-menu .drop-icon, 
#menu li label.drop-icon {
  position: absolute;
  right: 0;
  top: 0;
}

#menu label.drop-icon, #toggle-menu span.drop-icon {
  padding: 1em;
  font-size: 1em;
  text-align: center;
  background-color: rgba(205,164,126,1);
  text-shadow: 0 0 0 transparent;
  color: rgba(255, 255, 255, .75);
}

/**
 * CLEAR FLOATS
 * Reference: http://w3bits.com/clearfix
 */

.cf:after {
  content: "";
  display: table;
  clear: both;
}

@media only screen and (min-width: 1024px) {
  #menu .main-menu {
    display: block;
    width: 64%; 
    margin: 0 auto;
  }

  #toggle-menu, 
  #menu label.drop-icon {
    display: none;
  }

  #menu ul span.drop-icon {
    display: inline-block;
  }

  #menu li {
    float: left;
    border-width: 0 ;
  }

  #menu .sub-menu li {
    float: none;
  }

  #menu .sub-menu {
    border-width: 0;
    margin: 0;
    position: absolute;
    top: 100%;
    left: 0;
    width: 12em;
    z-index: 3000;
  }

  #menu .sub-menu, 
  #menu input[type="checkbox"]:checked + .sub-menu {
    display: none;
  }

  #menu .sub-menu li {
    border-width: 0 0 1px;
  }

  #menu .sub-menu .sub-menu {
    top: 0;
    left: 100%;
  }

 #menu .sub-menu .drop-icon {
    position: absolute;
    top: 0;
    right: 0;
    padding: 1em;
  }

  #menu li:hover > input[type="checkbox"] + .sub-menu {
    display: block;
  }
  
  .spacer {
	  height:1.4em;
  }
}