/**
 * 
 * Design und Layout 'abenaa'
 * 
 * 
 * This file gives an overview of the required CSS definitions which
 * needs to be defined for all Website Baker templates added to the 
 * Website Baker addons repository from June 2008 onwards. 
 * 
 * See http://www.w3.org/TR/CSS21/sample.html for the HTML4 
 * default styles applied if nothing else is specified in your stylesheet.
 *
 * To facilitate adaption, you may want to consider separate stylesheets.
 * One for the layout (container for header, footer, content, menu ...),
 * another one for the HTML elements which are shown in the content areas.
 * This can easily be achieved via @import rules
 * 
 * @author     Ines Gesell
 * @copyright  Ines Gesell
 * @license    http://www.gnu.org/licenses/gpl.html
 * @version    1.0
 * @platform   Website Baker 2.13
 *
*/
/* poppins-100 - latin */
@font-face {
  font-display: swap; /* Check https://developer.mozilla.org/en-US/docs/Web/CSS/@font-face/font-display for other options. */
  font-family: 'Poppins';
  font-style: normal;
  font-weight: 100;
  src: url('../fonts/poppins-v24-latin-100.woff2') format('woff2'); /* Chrome 36+, Opera 23+, Firefox 39+, Safari 12+, iOS 10+ */
}

/* poppins-200 - latin */
@font-face {
  font-display: swap; /* Check https://developer.mozilla.org/en-US/docs/Web/CSS/@font-face/font-display for other options. */
  font-family: 'Poppins';
  font-style: normal;
  font-weight: 200;
  src: url('../fonts/poppins-v24-latin-200.woff2') format('woff2'); /* Chrome 36+, Opera 23+, Firefox 39+, Safari 12+, iOS 10+ */
}

/* poppins-300 - latin */
@font-face {
  font-display: swap; /* Check https://developer.mozilla.org/en-US/docs/Web/CSS/@font-face/font-display for other options. */
  font-family: 'Poppins';
  font-style: normal;
  font-weight: 300;
  src: url('../fonts/poppins-v24-latin-300.woff2') format('woff2'); /* Chrome 36+, Opera 23+, Firefox 39+, Safari 12+, iOS 10+ */
}

/* poppins-regular - latin */
@font-face {
  font-display: swap; /* Check https://developer.mozilla.org/en-US/docs/Web/CSS/@font-face/font-display for other options. */
  font-family: 'Poppins';
  font-style: normal;
  font-weight: 400;
  src: url('../fonts/poppins-v24-latin-regular.woff2') format('woff2'); /* Chrome 36+, Opera 23+, Firefox 39+, Safari 12+, iOS 10+ */
}

/* poppins-500 - latin */
@font-face {
  font-display: swap; /* Check https://developer.mozilla.org/en-US/docs/Web/CSS/@font-face/font-display for other options. */
  font-family: 'Poppins';
  font-style: normal;
  font-weight: 500;
  src: url('../fonts/poppins-v24-latin-500.woff2') format('woff2'); /* Chrome 36+, Opera 23+, Firefox 39+, Safari 12+, iOS 10+ */
}

/* poppins-600 - latin */
@font-face {
  font-display: swap; /* Check https://developer.mozilla.org/en-US/docs/Web/CSS/@font-face/font-display for other options. */
  font-family: 'Poppins';
  font-style: normal;
  font-weight: 600;
  src: url('../fonts/poppins-v24-latin-600.woff2') format('woff2'); /* Chrome 36+, Opera 23+, Firefox 39+, Safari 12+, iOS 10+ */
}

/* poppins-700 - latin */
@font-face {
  font-display: swap; /* Check https://developer.mozilla.org/en-US/docs/Web/CSS/@font-face/font-display for other options. */
  font-family: 'Poppins';
  font-style: normal;
  font-weight: 700;
  src: url('../fonts/poppins-v24-latin-700.woff2') format('woff2'); /* Chrome 36+, Opera 23+, Firefox 39+, Safari 12+, iOS 10+ */
}

/* poppins-800 - latin */
@font-face {
  font-display: swap; /* Check https://developer.mozilla.org/en-US/docs/Web/CSS/@font-face/font-display for other options. */
  font-family: 'Poppins';
  font-style: normal;
  font-weight: 800;
  src: url('../fonts/poppins-v24-latin-800.woff2') format('woff2'); /* Chrome 36+, Opera 23+, Firefox 39+, Safari 12+, iOS 10+ */
}

/* poppins-900 - latin */
@font-face {
  font-display: swap; /* Check https://developer.mozilla.org/en-US/docs/Web/CSS/@font-face/font-display for other options. */
  font-family: 'Poppins';
  font-style: normal;
  font-weight: 900;
  src: url('../fonts/poppins-v24-latin-900.woff2') format('woff2'); /* Chrome 36+, Opera 23+, Firefox 39+, Safari 12+, iOS 10+ */
}


/* Body und Sideholder    ============================================================================= */
* {
margin:0;
padding:0;
}
html, body{
height:100%;
margin:0;
padding:0;
}
html {
scroll-behavior: smooth;
}
body {
margin : 0 0 0 0;
padding : 0;
font-family: "Poppins", sans-serif;
color : #3a3a3a;
background-color : #fff;
overflow-x: hidden;
-webkit-font-smoothing: subpixel-antialiased;
-moz-osx-font-smoothing: auto;
line-height: 1.7em;
font-weight: 400;
-webkit-font-smoothing:antialiased;
-moz-font-smoothing:antialiased;
-o-font-smoothing:antialiased;
font-smoothing:antialiased;
text-rendering:optimizeLegibility;
}
@media (min-width:200px) and (max-width:900px){
body  {font-size: calc(14px + (16 - 14) * ((100vw - 200px) / (800 - 200)));}
}
@media (min-width:900px){
body  {font-size: 16px}
}
a {
font-weight: 700;
color : #3a3a3a;
text-decoration : none;
border : none;
}
a:hover {
color : #3a3a3a;
text-decoration: none;
}
.div_link {
margin: 20px 0 20px 0;
}
.div_link a {
  padding:15px 40px;
  border:none;
  background: #3a3a3a;
  color:white;
  font-size:16px;
  letter-spacing:1px;
  margin-top:20px;
  transition:.3s;
}
.div_link a:hover {
  background: #ab0103;
  cursor:pointer;
  box-shadow:10px 10px 30px rgba(0,0,0,0.1);
  padding:15px 50px;
}
a img {
border : 0 none;
}
img {
max-width: 100%;
height: auto;
}
hr {
border-top: none;
border-bottom: 1px dashed #4c4f47;
width: 99%;
margin: 2.0em auto;
}
hr.style1 {
border-top: none;
width: 80px;
border-bottom: 10px solid #ab0103;
border-top: none;
margin: 1.5em auto 1.5em auto;
}
hr.style2 {
border-top: none;
width: 150px;
border-bottom: 7px solid #fcc400;
border-top: none;
margin: 1.5em auto 1.5em 0;
}

@media only screen and (max-width: 600px) {
hr {
margin: 1.0em auto;
}
}

/*  START UND CONTAINER ============================================================================= */
.lightcontainer {
margin: 0 auto;
max-width: 1360px;
padding: 0;
}
.lightcontainer1600 {
margin: 0 auto;
padding: 0;
max-width: 1600px; 
}	
.lightcontainer p {
margin : 2.5vh 0 2.5vh 0;
}
.less {
padding: 3.5em 0 3.5em 0;
}
@media only screen and (max-width: 1400px) {
.less {
margin: 0 2.0% 0 2.0%;
width: 96%;
}
}
.container_counter {
padding: 0;
background-color: #ab0103;
color: #fff;
margin: 0 0 30px 0;
}
@media only screen and (max-width: 720px) {
.container_counter {
text-align: center;
}
}
.container_kompakt {
padding: 0;
background-color: #eeeeee;
margin: 0 0 0 0;
}
.container_kompakt i {
font-size: 24px;
color: #fff;
background-color: #ab0103;
border-radius: 50%;
padding: 20px;
margin-right: 10px;
}

/* SKIP TO MAINCONTENT ============================================================================= */
.skip-link {
  position: absolute;
  left: -1000px; /* Off-screen */
  width: 1px;
  height: 1px;
  overflow: hidden;
}
.skip-link:focus {
  position: static; /* Or use absolute positioning and adjust top/left */
  width: auto;
  height: auto;
  /* Add styling to make the link visible on focus */
  background-color: white;
  color: black;
  padding: 10px;
  z-index: 100; /* Ensure it's on top */
}
/* Shrink    ============================================================================= */

@media only screen and (min-width: 991px) {
#iconcontainer {
width: 100%;
position: fixed;
top: 0;
left: 0;
z-index: 101;
overflow: hidden;
text-align: right;
}
#navicontainer {
width: 100%;
position: fixed;
top:50px;
left: 0;
padding: 20px 0 10px 0;
z-index: 1001;
background-color: #fff;
-webkit-transition: all 1.0s;
-moz-transition: all 1.0s;
transition: all 1.0s;
}
#navicontainer p {
margin: 10px;
}
#headercontainer {
width: 100%;
position: relative;
z-index: 1000;
text-align: center;
margin-top: 200px;
padding: 0 0 0 0;
height: auto;
background-color: #fff;
}
.topmenubar {
-webkit-transition: all 1.0s;
-moz-transition: all 1.0s;
transition: all 1.0s;
}
.topmenubar ul {
padding-top: 10px;
-webkit-transition: all 0.5s;
-moz-transition: all 0.5s;
transition: all 0.5s;
}
.telefon p {
-webkit-transition: all 0.5s;
-moz-transition: all 0.5s;
transition: all 0.5s;
padding: 0;
}
.telefon.shrink  {
height: 0px;
line-heigth: 0;
}
.telefon.shrink p, .telefon.shrink a, .telefon.shrink span {
margin-top: 0em;
padding: 0;
margin: 0;
font-size: 0em;
}
.topmenubar ul.shrink {
padding-top: 0px;
}
#navicontainer.shrink {
top:0px;
border-top: 0px;
padding-top: 10px;
-webkit-box-shadow: 0px 10px 12px 0px rgba(0,0,0,0.25);
-moz-box-shadow: 0px 10px 12px 0px rgba(0,0,0,0.25);
box-shadow: 0px 10px 12px 0px rgba(0,0,0,0.25);
}
#navicontainer img {
max-width: 100%;
max-height: 100%;
-webkit-transition: all 1.0s; 
-moz-transition: all 1.0s; 
-ms-transition: all 1.0s; 
-o-transition:  all 1.0s; 
transition: all 1.0s; 
}
#navicontainer.shrink img {
width: 55%;
height: 55%;
padding: 0px;
}
}
/*  COLORCONTAINER MIT ICONS ============================================================================= */
#iconcontainer {
width: 100%;
float: left;
text-align: right;
background: #eeeeee;
}
#iconcontainer a {
font-size: 1.0em;
font-weight: 400;
color : #3a3a3a;
}
#iconcontainer p {
margin: 0;
padding: 10px 18px 20px 18px;
display: inline-block;
}
@media only screen and (min-width: 791px) {
#iconcontainer span::before {
  content: "";
  display: inline-block;
  width: 40px;
  height: 2px;
  background-color: #3a3a3a;
  margin-right: 7px;
  vertical-align: middle;
}
}
.telefon span {
margin: 3px;
padding: 12px 12px 12px 8px;
}
.telefon a {
font-weight: 400;
}
@media only screen and (max-width: 790px) {
#iconcontainer {
text-align: center;
}
.telefon span {
display: block;
margin: 3px;
padding: 2px;
}
}
/* headercontainer ============================================================================= */
#headercontainer {
line-height: 0;
}
#headercontainer img {
width:100%;
border:none 0;
max-width: none !important;
padding:0;
margin:0;
}
/*  SECTIONS     ============================================================================= */
.section { clear: both; padding: 0px; margin: 0px; }

/*  col SETUP     ============================================================================= */
.col { display: block; float:left; margin: 0% 0 0% 3.6%; }
.col:first-child { margin-left: 0; }
@media only screen and (max-width: 960px) {
.col { margin: 1% 1% 1% 1%; }
.col:first-child { margin-left: 1%; margin-right: 1%; }
}
/*  GROUPING     ============================================================================= */
.group:before,
.group:after { content:""; display:table; }
.group:after { clear:both; }
.group { zoom:1; /* For IE 6/7 */ }

/*  2 BOXEN   ============================================================================= */
.span_2_of_2 { width: 100%; }
.span_1_of_2 { width: 47.2%; }
@media only screen and (max-width: 960px) {
.span_2_of_2, .span_1_of_2 { width: 98%; }
}
/*  3 BOXEN    ============================================================================= */
.span_3_of_3 { width: 100%; }
.span_2_of_3 { width: 65.47%; }
.span_1_of_3 { width: 30.93%;}
@media only screen and (max-width: 960px) {
.span_3_of_3, .span_2_of_3, .span_1_of_3 { width: 98%; }
}
/* 4 BOXEN*   ============================================================================= */
.span_4_of_4 { width: 100%; }
.span_3_of_4 { width: 74.0%; }
.span_2_of_4 { width: 48.0%; }
.span_1_of_4 { width: 22.3%; }
@media only screen and (max-width: 960px) {
.span_4_of_4, .span_3_of_4, .span_2_of_4, .span_1_of_4 { width: 98%; }
}
/*  5 BOXEN    ============================================================================= */
.span_5_of_5 { width: 100%; }
.span_4_of_5 { width: 78.6%; }
.span_3_of_5 { width: 56.9%; }
.span_2_of_5 { width: 37.3%;}
.span_1_of_5 { width: 17.8%; }
@media only screen and (min-width: 960px) {
#navicontainer .group, #navicontainer .section { display: table; width: 100%;}
#navicontainer .col { float: none; display: table-cell; vertical-align: middle; height: 100%; }
#navicontainer .span_2_of_5 { display: table-cell; vertical-align: middle; height: 100%;}
#navicontainer .span_3_of_5 { display: table-cell; vertical-align: middle; height: 100%;}
}
@media only screen and (max-width: 959px) {
.span_1_of_5, .span_2_of_5, .span_3_of_5, .span_4_of_5, .span_5_of_5 { width: 98%;}
#navicontainer .col {  margin: 0% 0% 0% 0%; }
#navicontainer .span_2_of_5 { text-align: center; margin: 15px 2% 5px 2%; width: 96%; }
#navicontainer .span_3_of_5 { text-align: center; width: 100%; }
}
@media only screen and (max-width: 1400px) and (min-width: 960px)  {
#navicontainer .span_2_of_5 { padding-left: 1%;}
}
/*  8 BOXEN    ============================================================================= */
.span_7_of_8 { width: 82.4%; }
.span_3_of_8 { width: 31.2%; }
.span_2_of_8 { width: 19.0%; }
.span_1_of_8 { width: 14.0%; }
@media only screen and (max-width: 959px) {
.span_1_of_8, .span_2_of_8, .span_3_of_8, .span_7_of_8 { width: 98%; }
}
/* Inhalt    ============================================================================= */
h1 {
  font-size: clamp(20.4px, calc(20.4px + (48 - 20.4) * ((100vw - 280px) / (1050 - 280))), 48px);
  line-height: 1.2em;
margin : 0.25em 0 0.5em 0;
font-weight: 600;
}
h2 {
font-size: clamp(18.4px, calc(18.4px + (32 - 18.4) * ((100vw - 280px) / (1050 - 280))), 32px);
line-height: 1.3em;
margin : 0.25em 0 0.15em 0;
font-weight: 600;
}
h3 {
font-size: clamp(14.4px, calc(14.4px + (24 - 14.4) * ((100vw - 280px) / (1050 - 280))), 24px);
margin : 0.5em 0 0.15em 0;
line-height: 1.1em;
font-weight: 600;
}
h4 {
font-size: clamp(12.4px, calc(12.4px + (20 - 12.4) * ((100vw - 280px) / (1050 - 280))), 20px);
margin : 0.5em 0 0.15em 0;
line-height: 1.1em;
font-weight: 600;
}
.container_counter h2 {
color: #fff;
}
main ul, ol {
margin : 1.0vh 0 1.0vh 10px;
}
main ul li {
margin : 0 0 1.5vh 0;
padding:0 0 0 1.4em;
list-style-type: none;
line-height: 1.7em;
background : url(img/li.png) no-repeat 0px 6px;
}
main ol li {
margin:0 0 0.7em 20px;
padding:0 0 0 0.5em ;
}
/* FOTOGALERIE ============================================================================= */
.galleries {
width: 90%;
padding-left: 60px;
}
.galleries img {
padding: 20px 0px 20px 0px;
}
@media only screen and (max-width: 960px) {
.galleries {
width: 90%;
padding-left: 5%;
padding-right: 5%;
}
}
/*  FOOTER 4 BOXEN   ============================================================================= */
#footer {
width:100%;
background-color: #3a3a3a;
color: #fff;
text-align: left;
line-height: 2.2em;
}
#footer a {
color: #fff;
}
#footer-copy {
width: 100%;
background-color : #f5f5f5;
color: #3a3a3a;
text-align: left;
padding: 10px 0 10px 0;
}
#footer-copy p {
margin: 10px 0 10px 10px;
}
#footer .title {
text-transform: uppercase;
color: #fff;
margin: 0;
font-size: 26px;
font-weight: 600;
}
/* Schriften und Bilder usw.   ============================================================================= */
.mittig {
text-align: center;
}
.btn-email {
border: none;
background: none;
}
.fett {
font-weight: 700;
}
#main-content .red {
font-weight: 700;
color: #ab0103;
font-size: 20px;
margin: 0.5em 0 0 0;
padding: 0;
}
.gross {
font-size: 1.6em;
font-weight: 700;
}
.klein {
font-size: 0.8em;
line-height: 1.5em;
font-weight: 300;
}
.img-bd {
border: 5px solid #eeeeee;
padding: 8px;
}
/* BUTTON NACH OBEN ============================================================================= */
.cd-top {
border: 10px solid #ff0000;
display: inline-block;
height: 60px;
width: 60px;
position: fixed;
z-index: 100;
bottom: 30px;
right: 30px;
box-shadow: 0 0 5px rgba(0, 0, 0, 0.2);
border: 1px solid rgba(255, 255, 255, 0.5);
overflow: hidden;
text-indent: 100%;
white-space: nowrap;
background: #ab0103 url(img/cd-top-arrow.svg) no-repeat center 50%;
visibility: hidden;
opacity: 0;
-webkit-transition: opacity .3s 0s, visibility 0s .3s;
-moz-transition: opacity .3s 0s, visibility 0s .3s;
transition: opacity .3s 0s, visibility 0s .3s;
}
.cd-top.cd-is-visible, .cd-top.cd-fade-out, .no-touch .cd-top:hover {
-webkit-transition: opacity .3s 0s, visibility 0s 0s;
-moz-transition: opacity .3s 0s, visibility 0s 0s;
transition: opacity .3s 0s, visibility 0s 0s;
}
.cd-top.cd-is-visible {
visibility: visible;
opacity: 1;
}
.cd-top.cd-fade-out {
opacity: 1.0;
}
.no-touch .cd-top:hover {
background-color: #4c4f47;
opacity: 1;
}

/* FADE IN PAGE */
@-webkit-keyframes fadeIn { from { opacity:0; } to { opacity:1; } }
@-moz-keyframes fadeIn { from { opacity:0; } to { opacity:1; } }
@keyframes fadeIn { from { opacity:0; } to { opacity:1; } }
.fade-in {
opacity:0; 
-webkit-animation:fadeIn ease-in 1;  
-moz-animation:fadeIn ease-in 1;
animation:fadeIn ease-in 1;
-webkit-animation-fill-mode:forwards; 
animation-fill-mode:forwards;
-webkit-animation-duration:1s;
-moz-animation-duration:1s;
animation-duration:1s;
}
.fade-in.one {
-webkit-animation-delay: 0.7s;
-moz-animation-delay: 0.7s;
animation-delay: 0.7s;
animation-duration: 0.9s;
}

/* ==============================================
  	ZUS�TZLICHE CSS F�R BARRIEREFREIHEIT
   ============================================== */

/* Screen Reader Only Text */
.sr-only {
    position: absolute;
    left: -10000px;
    width: 1px;
    height: 1px;
    padding: 0;
    margin: -1px;
    overflow: hidden;
    clip: rect(0, 0, 0, 0);
    white-space: nowrap;
    border: 0;
}

/* Skip Link Styling */
.skip-link {
    position: absolute;
    top: -40px;
    left: 6px;
    background: #000;
    color: #fff;
    padding: 8px;
    text-decoration: none;
    z-index: 10000;
    border-radius: 4px;
}

.skip-link:focus {
    top: 6px;
}

/* Focus Indicators */
a:focus,
button:focus,
input:focus,
select:focus,
textarea:focus {
    outline: 2px solid #005fcc;
    outline-offset: 2px;
}

/* Mobile Menu Icon */
.mobile-menu-toggle .menu-icon {
    display: inline-block;
    width: 20px;
    height: 15px;
    position: relative;
    margin-left: 8px;
}

.mobile-menu-toggle .menu-icon span {
    display: block;
    height: 2px;
    width: 100%;
    background: currentColor;
    margin-bottom: 3px;
    transition: 0.3s;
}

.mobile-menu-toggle[aria-expanded="true"] .menu-icon span:nth-child(1) {
    transform: rotate(45deg) translate(5px, 5px);
}

.mobile-menu-toggle[aria-expanded="true"] .menu-icon span:nth-child(2) {
    opacity: 0;
}

.mobile-menu-toggle[aria-expanded="true"] .menu-icon span:nth-child(3) {
    transform: rotate(-45deg) translate(7px, -6px);
}

/* High contrast mode support */
@media (prefers-contrast: high) {
    .skip-link:focus {
        background: #000;
        color: #fff;
        outline: 3px solid #fff;
    }
}

/* Reduced motion support */
@media (prefers-reduced-motion: reduce) {
    * {
        animation-duration: 0.01ms !important;
        animation-iteration-count: 1 !important;
        transition-duration: 0.01ms !important;
    }
}

/* Address styling reset */
address {
    font-style: normal;
}

/* Definition list styling for opening hours */
dt {
    font-weight: bold;
    display: inline-block;
    min-width: 100px;
}

dd {
    display: inline;
    margin-left: 0;
}

dd:after {
    content: "\A";
    white-space: pre;
}
