/*   HEADER ANFANG   -------------------------------------------------------------------------------------------------------------------------  */

.adresse-top p {
    color: #555;
    font-weight: 400;
}

.adresse-top > *:nth-child(1) {
    -ms-grid-column: 2;
    -ms-grid-column-span: 1;
    grid-column: 2 / 3;
    -ms-grid-column-align: start;
    justify-self: start;
    align-self: center;
}

.adresse-top > *:nth-child(2) {
    -ms-grid-column: 3;
    -ms-grid-column-span: 1;
    grid-column: 3 / 4;
    -ms-grid-column-align: end;
    justify-self: end;
    align-self: center;
    text-align: right;
}  

nav ul > li:hover {
    cursor: auto;
}  

nav ul li ul li.menu-item-has-children:hover > a:after  {
    color: #18344c;
}

#logo .logo {
    padding: 1rem 0;
    height: 70%;
    max-width: 100%;

}

#logo .logo-klein {
    padding: 1rem 0;
    height: 100%;
}

.logo-klein {
    display: none;
    max-height: 70px;
}

.header-mobile-buttons {
    padding-top: 7rem;
    background: #eee;
    padding-bottom: 2rem;
}

header p {
    margin: 0;
    padding: 0;
}

@media (min-width: 1400px) {

.adresse-top {  
    -ms-grid-columns: 1fr 685px 685px 1fr;
    grid-template-columns: 1fr 685px 685px 1fr; 
}

}

@media (min-width: 1200px) and (max-width: 1399px) {

.adresse-top {  
    -ms-grid-columns: 1fr 570px 570px 1fr;
    grid-template-columns: 1fr 570px 570px 1fr;  
}    

}  

@media (min-width: 992px) {

    nav ul li ul li.menu-item-has-children > a:after  {
        content: "\e258";
        float: right;
        color: #fff;
        font-size: inherit;
        font-family: "Glyphicons Halflings";
}
   
    #menueleisten-id .telefonlink, #menueleisten-id > a > img  {
        display: none;
        position: absolute;
}  

    nav > ul > li:last-child > a {
        background: #A01831;
        color: #fff;
        line-height: 40px !important;
        text-decoration: none;
        border-radius: 4px;
        margin-left: 1.5rem;
        border: 1px solid transparent;
    }
    
    nav > ul > li:last-child:hover > a {
        background: #ECE9E9;
        color: #555;
        line-height: 40px !important;
        text-decoration: none;
        border: 1px solid #ECE9E9;
    }

.menueleiste {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-orient: horizontal;
    -webkit-box-direction: normal;
    -ms-flex-direction: row;
    flex-direction: row;
    -webkit-box-align: stretch;
    -ms-flex-align: stretch;
    align-items: stretch;
    -ms-grid-column: 2;
    -ms-grid-column-span: 1;
    grid-column: 2 / 3;
    -ms-grid-row: 1;
    -ms-grid-row-span: 1;
    grid-row: 1 / 2;
    -ms-grid-row-align: end;
    -ms-grid-column-align: end;
    -ms-grid-row-align: stretch;
    align-self: stretch;
    -webkit-box-pack: end;
    -ms-flex-pack: end;
    justify-content: flex-end;
    position: relative;
}

header {
    position: fixed;
    z-index: 1200;
    width: 100%;
    overflow: visible;
    background: white;
    box-shadow: 0px 2px 2px rgb(172 172 172);
}

nav {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    position: relative;
    right: 0rem;
} 

nav > ul {
    width: auto;
    max-width: 965px;
    margin: 0 auto;
    padding: 0 0 0 0;
    list-style: none;
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-pack: end;
    -ms-flex-pack: end;
    justify-content: end;
    -webkit-box-align: stretch;
    -ms-flex-align: stretch;
    align-items: stretch;
}

.menueleiste > .btn, .menueleiste > .telefonlink {
    margin: 0;
    display: inline-table;
    margin-left: 1.4rem;
    font-weight: 500;
    font-size: 1.6rem;
    letter-spacing: 1px;
    align-self: center;
}

nav ul li {
    display: -ms-grid;
    display: grid;
    position: relative;
}

nav > ul > li > a {
    padding: 0rem 1.4rem 0;
    text-align: center;
    font-weight: 500;
    font-size: 1.6rem;
    line-height: 130px;
    -moz-transition: all .3s ease-in;
    -o-transition: all .3s ease-in;
    -webkit-transition: all .3s ease-in;
    transition: all .3s ease-in;
    align-self: center;
    color: #555;
}

nav > ul > li > a:before {
    content: "";
    position: absolute;
    z-index: -1;
    left: 51%;
    right: 51%;
    bottom: 0;
    background: #B51B36;
    height: 3px;
    -webkit-transition-property: left,right;
    transition-property: left,right;
    -webkit-transition-duration: 0.15s;
    transition-duration: 0.15s;
    -webkit-transition-timing-function: ease-out;
    transition-timing-function: ease-out;
}

header .current-menu-item > a:before, header .current-menu-parent > a:before,  header .current-menu-ancestor > a:before, header .current-page-parent > a:before, nav ul li a:hover:before {
    left: 0;
    right: 0;
}

#menu-item-641 > a:before {
    display: none;
}

.adresse-top {   
    background: #ECE9E9;
    padding: 1rem;
    display: -ms-grid;
    display: grid;     
    -ms-grid-rows: 1fr;
    grid-template-rows: 1fr;    
}

.adresse-top a {
    color: #555;
    font-weight: 400;
}

.adresse-top a:hover {
    text-decoration: underline;
}
    
.menuezeile{
    display: grid;
    grid-template-columns: auto 1fr;
    grid-template-rows: 1fr;
}
    
header #logo {
    grid-column: 1 / 2;
    grid-row: 1 / 2;
    height: 100%;
    max-height: 130px;
    width: auto;
    min-width: min-content;
    max-width: max-content;
    display: flex;
    align-items: center;
}  

.sub-menu > .current-menu-item > a, .sub-menu > .current-menu-parent > a {
     color: #18344c;
     background: #fff;
}

    .mobil-menu-button-bg {
        display: none;    
}
    
    .header-mobile-block {
        display: none;
}

}

@media (min-width: 992px) and (max-width: 1199px) {

.adresse-top {  
    -ms-grid-columns: 1fr 470px 470px 1fr;
    grid-template-columns: 1fr 470px 470px 1fr;  
}    

header #logo {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-align: center;
        -ms-flex-align: center;
            align-items: center;
}

#logo img {
    height: 69%;
}

}

@media (max-width: 991px) {

.adresse-top {
    display: none; 
}
    
header #logo {
    display: none;
}

.header-mobile-block img {
    width: 40%;
    margin-left: 1.5rem;
    position: fixed;
    bottom: 8rem;
}

.menueleiste .btn-primary {
    color: #18344c;
    background: #fff;
    margin-left: 2rem; 
}

.menueleiste nav ul li a:before {
    display: none;
}  

.mobil-menu-button-bg .telefonlink {
    color: #fff;
    margin-top: 1.2rem;
    position: absolute;
    margin-left: 2rem;
}
}

@media (min-width:992px) and (max-width: 1399px) {
    nav > ul > li > a {
        font-size: 1.3rem;
    }
}

/*  HEADER ENDE  ---------------------------------------------------------------------------------------------------------------------------   */