/**
 * 
 * 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 : #223287;
background-color : #fff;
overflow-x: hidden;
-webkit-font-smoothing: subpixel-antialiased;
-moz-osx-font-smoothing: auto;
line-height: 1.6em;
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(16px + (20 - 16) * ((100vw - 200px) / (800 - 200)));}
}
@media (min-width:900px){
body  {font-size: 16px}
}
a {
font-weight: 700;
color : #223287;
text-decoration : none;
border : none;
}
a:hover {
color : #000;
text-decoration: none;
}
.div_link a {
  padding: 5px 40px 5px 40px;
  background-color: #223287;
  color : #fff;
  margin: 10px 0;
  display: inline-block;
  text-align: center;
  font-weight: 400;
  text-decoration: none;
  transition: 1.0s;
}
.div_link a:hover {
  background-color: #ffb178;
  color : #223287;
}
a img {
border : 0 none;
}
img {
max-width: 100%;
height: auto;
}
hr {
border-top: none;
border-left: none;
border-right: none;
border-bottom: 10px solid #ffb178;
width: 55px;
margin: 0.5em auto 0.5em 0;
}
hr.style1 {
width: 14px;
border-bottom: 30px solid #ffb178;
border-top: none;
border-left: none;
border-right: none;
margin: 1.0em auto 1.5em auto;
}
hr.style2 {
width: 80%;
border-bottom: 3px solid #ffb178;
border-top: none;
border-left: none;
border-right: none;
margin: 1.0em auto 1.5em auto;
}
hr.style3 {
width: 100%;
border-bottom: 1px dashed #223287;
border-top: none;
margin: 0.0em auto 3.0em auto;
}
hr.style4 {
width: 100%;
border-bottom: 1px dashed #223287;
border-top: none;
margin: 0.0em auto 0.0em auto;
}

@media only screen and (max-width: 600px) {
hr {

}
}

/*  START UND CONTAINER ============================================================================= */
.lightcontainer {
margin: 0 auto;
max-width: 1360px;
padding: 0;
}
.lightcontainer1600 {
margin: 0 auto;
padding: 0;
max-width: 100%; 
}	
.lightcontainer p {
margin : 2.5vh 0 2.5vh 0;
}
.h1_head {
background-color: #223287;
margin: 0;
padding: 0;
}
.container_grey {
padding: 0;
background-color: #ededed;
margin: 0 0 0 0;
}
.container_counter {
padding: 0;
background-color: #fff;
margin: 0 0 0 0;
}
.container_news {
padding: 0;
margin: 0 0 2.5em 0;
}
.less {
padding: 3.5em 0 3.5em 0;
}
.lesser {
padding: 20px 0 20px 0;
}
@media only screen and (max-width: 1400px) {
.less, .lesser {
margin: 0 2.0% 0 2.0%;
width: 96%;
}
}
.telefon p, .telefon a {
color : #223287;
font-weight: 400;
font-size: 0.9em;
margin: 4px 0 4px 0;
padding: 0;
}
.telefon i {
font-size: 1.5em;
color: #223287;
padding-right: 5px;
}
@media only screen and (max-width: 480px) {
.telefon span  {
display: block;
margin: 0px;
}
}

/* 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) {
#navicontainer {
width: 100%;
position: fixed;
top:0;
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;
}
#headercontainer {
width: 100%;
position: relative;
z-index: 1000;
text-align: center;
margin-top: 140px;
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;
}
.telefon.shrink  {
height: 0px;
line-heigth: 0;
}
.telefon.shrink p, .telefon.shrink a, .telefon.shrink i {
margin-top: 0em;
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.15);
-moz-box-shadow: 0px 10px 12px 0px rgba(0,0,0,0.15);
box-shadow: 0px 10px 12px 0px rgba(0,0,0,0.15);
}
#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;
}
}	
/* headercontainer ============================================================================= */
#headercontainer, header {
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: 1250px) {
#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%; width: 25.0%; }
#navicontainer .span_3_of_5 { display: table-cell; vertical-align: middle; height: 100%; text-align: right; width: 75%; }
}
@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%; width: 23.0%; }
#navicontainer .span_3_of_5 { display: table-cell; vertical-align: middle; height: 100%; text-align: right; width: 76%; }
}
@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%;}
}
/* Inhalt    ============================================================================= */
h1 {
line-height: 1.3em;
margin : 15px 0 15px 0;
font-weight: 400;
color: #fff;
}
@media (min-width:200px) and (max-width:900px){
h1  {font-size: calc(20px + (42 - 20) * ((100vw - 200px) / (800 - 200)));}
}
@media (min-width:900px){
h1  {font-size: 42px}
}
h2 {
line-height: 1.2em;
margin : 1.0vh 0 1.0vh 0;
font-weight: 400;
}
h2 span {
border-left: 14px solid #ffb178;
padding-left: 40px;
display: block;
}
@media (min-width:200px) and (max-width:900px){
h2  {font-size: calc(18px + (32 - 18) * ((100vw - 200px) / (800 - 200)));}
}
@media (min-width:900px){
h2  {font-size: 32px}
}
h3 {
line-height: 1.4em;
margin : 1.0vh 0 1.0vh 0;
font-weight: 400;
}
@media (min-width:200px) and (max-width:900px){
h3  {font-size: calc(16px + (24 - 16) * ((100vw - 200px) / (800 - 200)));}
}
@media (min-width:900px){
h3  {font-size: 24px}
}
h4 {
margin : 1.0vh 0 1.0vh 0;
line-height: 1.1em;
font-weight: 500;
}
@media (min-width:200px) and (max-width:900px){
h4  {font-size: calc(14px + (20 - 14) * ((100vw - 200px) / (800 - 200)));}
}
@media (min-width:900px){
h4  {font-size: 20px}
}

main ul, ol {
margin : 1.4em 0 1.4em 10px;
}
main ul li {
margin : 0 0 1.4em 0;
padding: 0 0 0 1.7em;
list-style-type: none;
line-height: 1.7em;
background : url(img/li.png) no-repeat 0px 5px;
}
#main-content 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: #223287;
color: #fff;
text-align: center;
}
#footer-copy {
width: 100%;
background-color : #ededed;
text-align: center;
padding: 10px 0 10px 0;
}
#footer-copy p {
margin: 10px 0 10px 10px;
}
#footer a {
color: #fff;
}
/* Schriften und Bilder usw.   ============================================================================= */
.mittig {
text-align: center;
}
.fett {
font-weight: 700;
}
.gross {
font-size: 1.6em;
font-weight: 700;
}
.klein {
font-size: 0.8em;
line-height: 1.5em;
font-weight: 400;
}
.small {
font-weight: 300;
}
.orange {
color: #ffb178;
}
/*  SORTIERUNG REFERENZEN   ============================================================================= */
#sort_ref ul {
list-style: none;
padding: 0 0 0 0;
margin: 0 0 1.5em 0;
text-align: left;
}
#sort_ref li {
list-style: none;
padding: 0 0 0 0;
margin: 20px 0 20px 0;
background: none;
}
#sort_ref a {
padding: 5px 15px 5px 15px;
font-weight: 600;
}
#sort_ref a:hover, #sort_ref .active a {
padding: 5px 15px 5px 15px;
background-color: #ffb178;
}
.selected-group-title {
display: block;
width: 100%;
margin: 0 auto 40px auto;
padding: 0 0 20px 15px;
text-align: left;
border-bottom: 1px dashed #223287;
}
.selected-group-title a {
font-weight: 600;
padding: 0;
margin: 0;
}
/* 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: #223287 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;
}

/* LOGIN ============================================================================= */
fieldset {
    border: 0;
}
.login-button .login-button{
cursor:pointer;
border:none;
background: #223287;
color:#fff;
font-weight: 500;
margin-bottom:2.5em;
margin-top:1.5em;
padding:10px;
}
.logout-button {
cursor:pointer;
border:none;
background: #223287;
color:#fff;
font-weight: 500;
margin-bottom:2.5em;
margin-top:1.5em;
padding:10px 40px 10px 40px;
}
.form-control {
border: 1px solid #223287;
color: #223287;
margin: 1.5em 0 0.5em 1.5em;
padding:10px;
}
