@charset "UTF-8";
/* 
CSS Stylesheet by dialog im netz
*/

 :root {
     --blau: #6085a6;
     --trans: .3s;
     --trans2: .5s;
 }

/* MENÜ / NAVIGATION */


nav {

}
nav ul {
    padding: 0;
    margin: 0;
}
nav > ul {
    margin-bottom: 20px
}
nav ul li {
    list-style: none;
}
nav > ul > li {
    padding-left: 20px;
    padding-left: 0;
}

nav > ul > li.ac > ul ,
nav0 > ul > li.haschildren:hover > ul {
 max-height: 800px;
}
nav > ul > li > ul > li.ac ul ,
nav0 > ul > li > ul > li.haschildren:hover > ul {
 max-height: 500px;
}
nav0 li.haschildren > a:after {
 content: " ▼";
 opacity: .3;
 transition: .2
}
nav li.haschildren:hover > a:after,
nav li.ac > a:after{
 opacity: .8
}

nav ul ul,
nav ul ul ul {
position: relative;
height: auto;
max-height: 0;
padding-left: 0;
clear: both;
overflow: hidden;
transition: var(--trans2);
}

nav ul ul ul {
 padding-left: 0
}

nav ul ul li a {
    padding-left: 20px;
}
nav ul ul ul li a {
    width: calc(100% - 60px);
}

nav a {
    display: block;
    text-decoration: none;
    padding: 4px 0 2px 0;
    font-weight: bold;
    color: black;
    transition: .4s
}
nav a:hover  {
 opacity: 1;
}
nav a.ac{
font-weight: bold;
text-decoration: none 
}
nav li.ext0 {

}
nav li.ext a:after{
content: '';
width: 19px;
height: 1rem;
display: inline-block;    
background: transparent url('/img/style/ext.png') right bottom no-repeat; 
background-size: 12px auto; 

}
nav li.ac ul{

}

nav ul > li {
    display: flow-root;
}
nav ul > li > a {
    float: left;
    width: calc(100% - 40px);
    width: 100%
}
nav a.opensub,
nav a.hidesub {
display: inline-block;
width: 40px;
cursor: pointer;
transition: .2s;
color: #909090
}
nav ul li:hover a.opensub,
nav ul li:hover a.hidesub,
nav a.opensub:hover,
nav a.hidesub:hover {
color: black;
}
nav a.opensub.hide,
nav a.hidesub {
display: none;
z-index: 2
}
nav a.hidesub.show,
nav a.hidesub {
display: block;
opacity: 1;
z-index: 252
}
nav a.hidesub.hide,
nav a.hidesub {
display: none;
opacity: 1;
z-index: 2
}
nav a.opensub.show,
nav a.showsub {
display: block;
opacity: 1;
z-index: 252
}
nav ul.subac {
    left: 0; 
    max-height: 0
}
#searchform {
    background-color: transparent;
}
#search {
 background-color: var(--blau);
 border: 0 none;
 outline: 0;
 font-size: 16px;
 transition: .3s
}
#search::placeholder {
 color: white
}
#search:hover,
#search:focus,
#search:active {
 background-color: white
}

#hamburger-button{
position: fixed;
top: 0;
right: 0;
height: 70px;
width: 90px; 
transition: var(--trans);
cursor: pointer
}
#mobilebutton{
background: transparent url('/img/style/hamburger.png') center right no-repeat;
}
#mobilebutton,
#hidenav {
position: absolute;
display: block;
top:2px;
left:15px;
width: 70%;
height: 70%;
background-size: contain; 
transition: var(--trans);
opacity: 0;
}
#mobilebutton.show,
#hidenav.show{
display:block;
z-index: 252;
opacity: 1;
}
#mobilebutton.hide,
#hidenav.hide{
display:none;
opacity: 0;
z-index: -1;
 
}
#hidenav {
background: transparent url('/img/style/hidenav.png') center right no-repeat;
background-size: 80% auto; 
}
#mobilebutton span ,
#hidenav span,
#topbutton span {
visibility: hidden
}

#topbutton {
    position: fixed;
    opacity: 0;
    bottom: 0px;
    right: 0px;
    width: 60px;
    height: 60px;
    background: transparent url('/img/style/top.svg') center center no-repeat; 
    background-size: contain; 
    transition: .4s;
    z-index: 200
}
#topbutton:hover,
#topbutton:focus {
    opacity: 1!important
}
#topbutton a {
    display: block; 
    width: 60px;
    height: 60px;
    
}

#chlangform {
display: inline-block;
float: right;
background-color: transparent;
padding: 18px 0 0 0;
width: 60px;
height: 30px;

}
#chlang {
display: inline-block;
position: relative;
margin: 0 ;
width: 60px;
height: 30px;
border: 0 none;
background: transparent url('/img/style/de.png') center center no-repeat; 
background-size: 40px auto;
cursor: pointer; 
}

nav input, nav textarea,nav select {
width: calc(100% - 10px);
}



/* NAVI ALT */
/* header navigation for language, contact and search */
#navigation_header {
    float: right;
}

#navigation_header li {
    list-style: none;
    margin: 3px;
}

#navigation_header a {
    color:#9ba21b;
    text-decoration: none;
    /*text-underline: none;*/
}
nav {
clear: both;
padding: 10px 0 20px 0;
}
nav ul,
#links ul {
list-style: none;
margin:0;
padding:0;
}
nav > ul > li {
 padding: 3px 10px
}
nav > ul > li > ul > li {

} 
nav li,
#links li {
list-style: none;
}
nav li:hover,
nav li:active,
nav li:focus,
nav li.ac {
 background-color: rgba(255,255,255,.1);
}
nav li a,
#links li a {
display: block;
padding: 0 0 5px 0;
background: transparent url(/img/liste-weiss.png) 2px 5px no-repeat;
background-image: none; 
color: #ffffff;
text-decoration: none;
letter-spacing: .15em;
font-size: 16px;
hyphens: auto;
}
nav li a:hover,
#links li a:hover{
text-shadow: 0 0 2px white;

}
nav li a.active,
#links li a.active {
font-weight: bold;
letter-spacing: .17em;
}
#links ul {
margin-left: 3px
}
#links li {
display: inline-block;
float:left;
padding: 4px 20px ;
}
#links li a {
float:left;
padding: 1px 0 0 24px;
font-size:13px;
letter-spacing: .2em;
background-position: 0 4px
}
 nav ul ul li {
padding-left: 0;
}
nav ul ul li a{
background-image: none;
font-size: 14px;
line-height: 130%
}
#terminvergabe {
width: calc(100% - 60px;)
}
#terminvergabe a{
display: block;
float: left;
width:auto;
font-size: 19px;
letter-spacing: .3em;
color: white;
margin: 15px 15px 15px 12px;
padding: 6px 0 10px 48px;
background: transparent url(/img/button.png) 2px 0 no-repeat;
text-decoration: none;
}
#terminvergabe a:hover,
#terminvergabe a.active {

}




@media screen and (max-width: 590px) {

nav {
position: fixed;
left: -110vw;
top: 60px;
width: calc(100vw - 20px);
height: auto;
overflow: auto;
padding: 20px;
margin: 0;
background-color: rgba(96, 133, 166,.9);
box-shadow: 0 10px 20px rgba(0,0,0,.4);
z-index: 140;
transition: var(--trans)
}
nav p,
nav am,
nav li a {
    font-size: 1.2rem;
}
nav li{
}

#hamburger-button,
#mobilebutton {
opacity: 1;
z-index: 200;
}

}