/*--GOOGLE FONTS--*/

/* montserrat-300 - latin */
@font-face {
  font-display: swap; 
  font-family: 'Montserrat';
  font-style: normal;
  font-weight: 300;
  src: url('../fonts/montserrat-v26-latin-300.woff2') format('woff2'); 
}

/* montserrat-regular - latin */
@font-face {
  font-display: swap; 
  font-family: 'Montserrat';
  font-style: normal;
  font-weight: 400;
  src: url('../fonts/montserrat-v26-latin-regular.woff2') format('woff2'); 
}

/* montserrat-500 - latin */
@font-face {
  font-display: swap; 
  font-family: 'Montserrat';
  font-style: normal;
  font-weight: 500;
  src: url('../fonts/montserrat-v26-latin-500.woff2') format('woff2'); 
}

/* montserrat-600 - latin */
@font-face {
  font-display: swap; 
  font-family: 'Montserrat';
  font-style: normal;
  font-weight: 600;
  src: url('../fonts/montserrat-v26-latin-600.woff2') format('woff2'); 
}

/* montserrat-700 - latin */
@font-face {
  font-display: swap; 
  font-family: 'Montserrat';
  font-style: normal;
  font-weight: 700;
  src: url('../fonts/montserrat-v26-latin-700.woff2') format('woff2'); 
}

/* montserrat-800 - latin */
@font-face {
  font-display: swap; 
  font-family: 'Montserrat';
  font-style: normal;
  font-weight: 800;
  src: url('../fonts/montserrat-v26-latin-800.woff2') format('woff2'); 
}

/* sofia-sans-condensed-300 - latin */
@font-face {
  font-display: swap; 
  font-family: 'Sofia Sans Condensed';
  font-style: normal;
  font-weight: 300;
  src: url('../fonts/sofia-sans-condensed-v2-latin-300.woff2') format('woff2'); /* Chrome 36+, Opera 23+, Firefox 39+, Safari 12+, iOS 10+ */
}

/* sofia-sans-condensed-regular - latin */
@font-face {
  font-display: swap; 
  font-family: 'Sofia Sans Condensed';
  font-style: normal;
  font-weight: 400;
  src: url('../fonts/sofia-sans-condensed-v2-latin-regular.woff2') format('woff2'); /* Chrome 36+, Opera 23+, Firefox 39+, Safari 12+, iOS 10+ */
}

/* sofia-sans-condensed-500 - latin */
@font-face {
  font-display: swap; 
  font-family: 'Sofia Sans Condensed';
  font-style: normal;
  font-weight: 500;
  src: url('../fonts/sofia-sans-condensed-v2-latin-500.woff2') format('woff2'); /* Chrome 36+, Opera 23+, Firefox 39+, Safari 12+, iOS 10+ */
}


/*--END GOOGLE FONTS--*/


body
{
font-family: 'Montserrat';
color:#4c4c4c;
font-size:1.1em;
overflow-y:scroll;
}


/*--SITE HEADER / SIDEBAR & MAINMENU--*/

.no-padding
{
padding:0;
}

.shadow-right
{
box-shadow: 5px 5px 5px rgb(68 68 68 / 0.3);
position:relative;
z-index:100;
}

header#site-header
{
position:fixed;
top:0;
width:100%;
background:#fff;
z-index:500;
-webkit-box-shadow: 3px 3px 5px 1px rgba(60,60,60,.2);
-moz-box-shadow: 3px 3px 5px 1px rgba(60,60,60,.2);
box-shadow: 3px 3px 5px 1px rgba(60,60,60,.2);
}

header#site-header img#mainlogo
{
width:200px;
max-width:320px;
height:auto;
padding:10px 0 0 0;
transition: all 0.2s ease;
-webkit-transition: all 0.2s ease;
}

nav#site-navbar #menu-hauptmenu
{
margin-top:10px;
transition: all 1s ease;
-webkit-transition: all 1s ease;
}

nav#site-navbar.open #menu-hauptmenu
{
opacity:1;
}

nav#site-navbar
{
font-family: 'Sofia Sans Condensed';
padding:0;
}

/*.collapsing 
{
-webkit-transition: none;
transition: none;
display: none;
}*/

/*hamburger*/

.icon-container {
    cursor: pointer;
    display: flex;
    
}
svg {
  transition: transform 500ms cubic-bezier(0.4, 0, 0.2, 1);
   
}
.active svg {
  transform: rotate(90deg);
}
path {
  transition: transform 500ms cubic-bezier(0.4, 0, 0.2, 1),
    stroke-dasharray 500ms cubic-bezier(0.4, 0, 0.2, 1),
    stroke-dashoffset 500ms cubic-bezier(0.4, 0, 0.2, 1);   
}
path:nth-child(1) {
  transform-origin: 36% 40%;
}
path:nth-child(2) {
  stroke-dasharray: 29 299;
}
path:nth-child(3) {
  transform-origin: 35% 63%;
}
path:nth-child(4) {
  stroke-dasharray: 29 299;
}
path:nth-child(5) {
  transform-origin: 61% 52%;
}
path:nth-child(6) {
  transform-origin: 62% 52%;
}
.active path:nth-child(1) {
  transform: translateX(9px) translateY(1px) rotate(45deg);
}
.active path:nth-child(2) {
  stroke-dasharray: 225 299;
  stroke-dashoffset: -72px;
}
.active path:nth-child(3) {
  transform: translateX(9px) translateY(1px) rotate(-45deg);
}
.active path:nth-child(4) {
  stroke-dasharray: 225 299;
  stroke-dashoffset: -72px;
}
.active path:nth-child(5) {
  transform: translateX(9px) translateY(1px) rotate(-45deg);
}
.active path:nth-child(6) {
  transform: translateX(9px) translateY(1px) rotate(45deg);
}

button.navbar-toggler, button:focus.navbar-toggler
{
border:0;
box-shadow:none;
}

/*end hamburger*/

a.nav-link
{
padding:10px 40px 10px 70px;
font-size:1.4em;
font-weight:500;
}

a.nav-link:hover
{
color:#fff;
background:#004644;
}

.active a.nav-link
{
color:#fff;
background:#004644;
}

.navbar-collapse
{
margin:50px 0 50px 0;
}

.current-page-ancestor a.nav-link
{
color:#fff;
background:#004644;
}

#next-liq
{
display: flex;
align-items: center;
justify-content: center;
-webkit-align-items: center;
position:absolute;
bottom:-50px;
text-align:center;
z-index:100;
background:#fff;
right:20px;
border-radius:50%;
width:200px;
height:200px;
transition: all .2s ease;
-webkit-transition: all .2s ease;
}

#next-liq a
{
text-decoration: none;
}

#next-liq:hover
{
transform:scale(1.1);
}

#next-liq h3
{
font-size:1.3em;
}

#next-liq h4
{
font-size:1em;
}   


@media (min-width:992px) {
    
    
    header#site-header
    {
    position:static;
    box-shadow:none;
    }
    
    header#site-header img#mainlogo
    {
    width:100%;
    padding:50px 0 0 0;
    }    
    
    #sidebar
    {
    position:fixed;    
    height:100vh;
    width: 25%;    
    box-shadow: 5px 5px 5px rgb(68 68 68 / 0.3);    
    z-index:100;
    }
    
    .icon-container
    {
    display:none;
    }
    
    .navbar
    {
    position:static;
    }
    
    .navbar-collapse
    {
    display:block;
    opacity:1;
    margin:0;
    }
    
    nav#site-navbar
    {
    display:block;   
    }
        
    a.nav-link
    {
    position: relative;    
    }
    
    #next-liq
    {    
    bottom:100px;    
    right:100px;    
    width:250px;
    height:250px;    
    }
    
    #next-liq h3
    {
    font-size:1.6em;
    }

    #next-liq h4
    {
    font-size:1.2em;
    }
   
}


/*--END SITE HEADER--*/


/*--SITE MAIN--*/

.table2
{
width:100% !important;
}

.table2 tr
{
border-bottom:1px dotted #000;
}

.table2 tr td
{
padding:10px;
}

.table2 tr td:first-child
{
width:30% !important;
}

main#site-main
{
position:relative;
z-index:50;
background-color:#fff;
}

#go-to-main
{
display:block;
position:absolute;
z-index:100;
bottom:100px;
left:0;
right:0;
margin-left:auto;
margin-right:auto;
padding:5px;
border-radius:50%;   
border:3px solid #fff;
width:50px;
height:auto;
opacity:0;
transition: all 1s ease;
-webkit-transition: all 1s ease;
transform:rotate(180deg);
}

#go-to-main.active
{
bottom:20px;
opacity:1;
}

strong
{
font-weight:600 !important;
}

p {
line-height:1.6em;
}

p a, footer td a {
  color: #18272F !important;
  position: relative;
  text-decoration: none;
}

p a::before, footer td a::before {
  content: '';
  position: absolute;
  width: 100%;
  height: 1px;
  border-radius: 0;
  background-color: #18272F;
  bottom: -5px;
  left: 0;
  transform-origin: right;
  transform: scaleX(0);
  transition: transform .3s ease-in-out;
}

p a:hover::before, footer td a:hover::before {
  transform-origin: left;
  transform: scaleX(1);
}

main a:before
{
background-color:#004644;
}

main a
{
color:#004644 !important;
font-weight:600;
}

h1, h2, h3, h4
{
position:relative;
color:#004644;
letter-spacing:0.05em;
font-family: 'Sofia Sans Condensed';
}

.page-id-131 .fl-rich-text h3
{
margin-top:20px;
}

h1:before {
content: "";
position: absolute;
border-bottom: 3px solid #004644;
width: 200px;
height: 5px;
bottom:-20px;
}

.fl-photo-content
{
overflow:hidden;
}

.fl-photo-content img
{
transition: all 1.5s ease;
-webkit-transition: all 1.5s ease;
}

.fl-photo-content a img:hover
{
transform:scale(1.2);
}

#content.error
{
margin-top:150px;
}

#dates table tr:first-child
{
background:#004644;
color:#fff;
}

#dates td
{
padding:2px 8px 2px 8px;
text-align:center;
}

#dates td:nth-child(2n+1)
{
background-color:#ebf0f6;
}

#dates tr:first-child td
{
background:#004644 !important;
}

#slogan
{
font-family: 'Sofia Sans Condensed';
}

.fl-module-rich-text .fl-module-content  ul
{
list-style-type:none;
padding-left:25px;
text-align:left;
margin:0 auto;
}

.fl-module-rich-text .fl-module-content ul li
{
line-height:35px;
}

.fl-module-rich-text .fl-module-content ul li::before {
  content: "■";
  color: #004644;
  font-size:23px;
  display: inline-block;
  width: 25px;
  margin-left: -25px;
  vertical-align:top;
}

#slogan .fl-module-rich-text ul li::before {
    
   color: #fff; 
}

.liq-box
{
background:#dee5ec;
width:100%;
}

.liq-box-content
{
padding:5px 15px 5px 15px;
}

.liq-box h3
{
font-size:2em;
background:#004644;
color:#fff;
padding:0 10px 10px 15px;
}

.liq-box h4
{
font-size:1em;
background:#004644;
margin-bottom:0;
color:#fff;
padding:10px 10px 0 15px;
}

.liq-box a
{
color:#004644 !important;
font-weight:600;
}

.liq-box a:before
{
background-color: #004644;
}

.dates a
{
border:2px solid #004644;
color:#004644;
font-weight:600;
padding:10px;
margin:10px 10px 0 0;
text-decoration:none;
min-width:65px;
text-align:center;
float:left;
}

.dates a:hover
{
background:#004644;
color:#fff !important;
}

/*form (contact form7)*/

#contactform
{
max-width:900px;
}

#contactform input, #contactform textarea, #contactform select
{
padding:12px !important;
border:2px solid #cbcbcb;
background:#fff;
}

#contactform input:hover, #contactform textarea:hover
{
background-color:#f7f7f7; /*adjust*/
transition: all 0.2s ease;
-webkit-transition:all 0.2s ease;
color:#5e5e5e;
}

#contactform input:focus, #contactform textarea:focus
{
background:#f7f7f7;
}

#contactform .wpcf7-submit, #contactform .wpcf7-submit:hover, #contactform .wpcf7-submit:focus
{
border-radius:0 !important;
background:#fff;
color:#28347f;
border:2px solid #28347f;
font-size:20px !important;
padding:4px 15px 8px 15px !important;
margin-top:15px;
letter-spacing:0.02em;
}

#contactform .wpcf7-submit:focus, #contactform .wpcf7-submit:hover
{
background:#28347f !important;
color:#fff;
box-shadow: none;
}

#contactform .wpcf7-textarea
{
height:150px !important;
}

#contactform label
{
width:100%;
}

#contactform label input
{
width:100%;
}

#contactform textarea
{
width:100%;
}

#contactform .wpcf7-list-item
{
display:block;
}

#contactform .wpcf7-list-item:first-child
{
margin-top:10px;
}

#contactform .wpcf7-list-item:last-child
{
margin-bottom:20px;
}

#contactform h4
{
margin-bottom:20px;
}

#contactform input[type=checkbox]
{
background-color:#ccc;
border:1px solid #ccc;
}

#contactform .wpcf7-list-item-label
{
margin-left:8px;
}

#contactform input[type=file]
{
background:none;  
font-size:14px;
}

#contactform .form-box input[type=file]
{
background:none;  
font-size:12px;
}

#contactform .terms, #contactform .form-box
{
border:2px solid #0068ab;
padding:12px 12px 0 12px;
margin-bottom:20px;
}

#contactform .additional, #contactform .additional2, #contactform .additional3, #contactform .additional4  
{
display:none;
margin-bottom:10px;
}

#contactform .visible
{
display:block;
}

#contactform .form-control
{
border-radius:0;
height:auto;
}

#contactform .form-control:focus
{
box-shadow:none;
}

#contactform .wpcf7-date
{
margin:10px 10px 10px 0;
}

#contactform .wpcf7-list-item {
  display: inline-block;
  margin: 0 0 0 0.5em !important;
}

#contactform .datenschutz .wpcf7-list-item-label
{
display:none;
}

/*end form*/


@media (min-width:992px) {
    
    
    h1:before {
    content: "";
    position: absolute;
    border-bottom: 3px solid #004644;
    width: 200px;
    height: 5px;
    top: 70px;
}
    
}

/*--END SITE MAIN--*/


/*--SITE FOOTER--*/

footer#site-footer
{
color:#000;
font-family: 'Sofia Sans Condensed';
font-size:1.2em;
position:relative;
margin:50px 0 0 0;
border-top:1px dotted #646464;
overflow:hidden;
}

.home footer#site-footer
{
border-top:none;
}

#bottom-line
{
margin:0 20px 0 60px;
font-size:0.8em;
}

#bottom-line a
{
color:#4c4c4c;
text-decoration: none;
}

#go-to-top
{
display:none;
opacity:0;
}

.textwidget
{
margin-left:50px;
}


@media (min-width:992px) {
    
    
    body.open
    {
    background-color:#fff;
    }    
    
    #site-main, #site-footer
    {
    transition: all .3s ease;
    -webkit-transition: all .3s ease;
    }
    
    #site-main.open, #site-footer.open
    {
    opacity:0.7;    
    transition: all .6s ease;
    -webkit-transition: all .6s ease;    
    }
    
    footer#site-footer
    {
    margin:50px 50px 0 50px;    
    }    
    
    #go-to-top
    {
    display:block;
    position:absolute;
    bottom:-100px;
    left:0;
    right:0;
    margin-left:auto;
    margin-right:auto;
    border-radius:50%;
    background-color:#fff;
    border:3px solid #ccc;
    width:50px;
    padding:3px 10px 7px 10px;
    height:auto;
    transition: all 0.5s ease;
    -webkit-transition: all 0.5s ease;
    opacity:1;
    }

    #go-to-top.viewport-bottom
    {
    bottom:20px;
    }
    
    .textwidget
    {
    margin-left:0;
    }
    
    #bottom-line
    {
    margin:0 20px 0 20px;
    }
    
}

@media (min-width:1400px) {
    
    
     #sidebar
    {
    width:16.66666667%;
    }
    
}

/*--END SITE FOOTER--*/