/* CSS Document */

.menu ul {
    padding: 0;
    list-style-type: none;
}

/* CSS NAVIGATIONS --------------------------------------------- */


.menu span.icon,
.menu span.icon svg {
    line-height: 0;   
}

.menu span.icon {
    display: inline-block;
    vertical-align: -0.125em;
}

/* CSS NAVIGATIONS --------------------------------------------- */

nav.menu {
    z-index: 100;
}

nav.menu ul,
nav.menu ul > li {
    display: -moz-box;
	display: -webkit-flexbox;
	display: -ms-flexbox;
	display: -webkit-flex;
	display: -moz-flex;
	display: -o-flex;
	display: flex;
	position: relative;

	-webkit-flex-wrap: wrap;
	-moz-flex-wrap: wrap;
	-ms-flex-wrap: wrap;
	-o-flex-wrap: wrap;
	flex-wrap: wrap;
}

nav.menu ul > li {
	-webkit-flex-direction: column;
	-moz-flex-direction: column;
	-ms-flex-direction: column;
	-o-flex-direction: column;
	flex-direction: column;
}

nav.menu > ul {
    margin: 0 -0.50em;
}

nav.menu > ul > li {
    margin: 0 0.50em;
    position: relative;
}

@media (min-width: 1280px) {
    nav.menu > ul {
        margin: 0 -1.00em;
    }

    nav.menu > ul > li {
        margin: 0 1.00em;
        position: relative;
    }
}

nav.menu > ul > li span.icon,
nav.menu > ul > li span.icon svg {
    display: inline-block;
}

nav.menu > ul > li span.icon {
    vertical-align: middle;    
}

nav.menu > ul > li span.icon svg {
    width: 1.00em;
}

nav.menu a {
    text-decoration: none;
    color: inherit;
    position: relative;
}

/**/
nav.menu a.anime::after,
nav.menu a.anime.active::after {
	display: block;
	content: '';
	position: absolute;
	width: 100.00%;
	bottom: -5px;
	border-bottom: 1px solid rgb(255,255,255);
}

nav.menu a.anime::after {
	transform: scaleX(0);
	transition: transform 250ms ease-in-out;
}

nav.menu a.anime::after,
nav.menu a.anime.active::after {
	border-color: rgb(90,95,100);
}

nav.menu a.anime:hover::after,
nav.menu a.anime.hover::after,
nav.menu a.anime.active::after {
	transform: scaleX(1);
}

nav.menu a.anime:hover,
nav.menu a.anime.hover {
	/*border-color: transparent;*/
}
/**/

nav.menu button.btn-togglebars {
    padding: 0;
    background: none;
    border: none;
    line-height: 1.50em;
    box-shadow: none;
}

nav.menu button.btn-togglebars span.icon {
    margin-right: 0;
}
nav.menu button.btn-togglebars span.label {
    display: none;
}

svg.togglebars-svg,
svg.togglebars-svg .togglebar {
	transition: 0.25s ease-in-out;
}

svg.togglebars-svg .togglebar {
	transform-origin: 50% 50%;
}

/* wenn Open */
.open svg.togglebars-svg  .togglebar-1,
.open svg.togglebars-svg  .togglebar-4 {
	opacity: 0;
}

.open svg.togglebars-svg {
	transform: rotate(45deg);
}

.open svg.togglebars-svg  .togglebar-3 {
	transform: rotate(-90deg);
}

/* CSS NAVIGATIONS --------------------------------------------- */

.header-columns nav.menu > ul {
    align-items: center;
}

div.navigation-overlay {
    position: fixed;
    top: 0;
    right: 0;
    bottom: 0;
    left: 0;
    
    /*color: rgba(255,255,255,0.90);
    background-color: rgba(80,85,90,0.90);*/
    
    background-color: rgba(255,255,255,0.95);
    overflow: scroll;
}

/* CSS NAVIGATIONS --------------------------------------------- */
/* CSS NAVIGATIONS --------------------------------------------- */

nav.menu.main-menu > ul > li {
    margin-top: 0.50em;
    margin-bottom: 0.50em;
}

.main-menu > ul > li > a {
    font-size: 1.125em;
    text-transform: uppercase;
}

.main-menu .subitems-toggle {
    position: absolute;
    left: -0.50em;
    top: 1.50em;
    display: none;
}

.main-menu .subitems-toggle > ul {
    margin-top: 1.00em;
    padding: 0 0.50em;
    background-color: rgba(255,255,255,0.95);
    box-shadow: 0 0 0.50em rgba(0,0,0,0.125);
    border: 1px dotted rgba(200,200,200,1.0);
}

.main-menu .subitems-toggle > ul > li {
    white-space: nowrap;
    flex: 1;
}

.main-menu a {
    display: block;
}

.main-menu ul > li > ul > li > a,
.main-menu .subitems-toggle > ul > li > a {
    padding: 0.50em;
    border-bottom: 1px dotted rgba(200,200,200,1.0);
}

.main-menu ul > li > ul > li > a:hover,
.main-menu .subitems-toggle > ul > li > a:hover {
    background-color: rgb(240,240,240);
}

/* CSS NAVIGATIONS --------------------------------------------- */

header.header .header-columns nav.menu {
    margin: 0.25em 0;
}

/* CSS NAVIGATIONS --------------------------------------------- */

/*.menu.quick-menu li.item-27,*/
.menu.quick-menu li > a.nav-button {
    padding: 0.25em 1.00em;
    border-radius: 0.250em;
    color: rgb(255,255,255);
    background-color: rgb(80,85,90);
}

/* CSS NAVIGATIONS --------------------------------------------- */

nav.aside-menu ul,
nav.aside-menu ul > li {
    display: block;
}

nav.aside-menu {
    padding: 1.00em;
    border-bottom: 1px solid rgb(220,220,220);
    /*background-color: rgb(240,240,240);*/
}

/* CSS NAVIGATIONS --------------------------------------------- */

.toggle-menu {
    /*border: 1px solid red;*/
}

.toggle-menu span.ifsubtoggle {
    position: absolute;
    z-index: 10;
    top: 0;
    right: 0;
    border: 1px solid transparent;
    padding: 0.50em 1.00em;
    font-size: 1.20em;
    background-color: rgba(255,255,255,0.25);
}

nav.toggle-menu ul,
nav.toggle-menu ul > li {
    display: block;
}

nav.toggle-menu ul > li > ul {
    margin: 0.50em 0;
    padding: 0.50em 0;
    /*border-top: 1px dotted orange;*/
}

@media (max-width: 1023.8px) {
    nav.toggle-menu.main-menu ul.subitems {
        display: none;
    }
}

@media (min-width: 1024px) {
    nav.toggle-menu span.ifsubtoggle {
        display: none;
    }
    
    nav.toggle-menu.main-menu > ul,
    nav.toggle-menu.main-menu > ul > li {
        display: -moz-box;
        display: -webkit-flexbox;
        display: -ms-flexbox;
        display: -webkit-flex;
        display: -moz-flex;
        display: -o-flex;
        display: flex;
        position: relative;

        -webkit-flex-wrap: wrap;
        -moz-flex-wrap: wrap;
        -ms-flex-wrap: wrap;
        -o-flex-wrap: wrap;
        flex-wrap: wrap;
    }
    
    nav.toggle-menu.main-menu > ul > li {
        -webkit-flex-direction: column;
        -moz-flex-direction: column;
        -ms-flex-direction: column;
        -o-flex-direction: column;
        flex-direction: column;
        
        width: 20.00%;
        /*border: 1px solid green;*/
        
        margin: 0;
        padding: 1.00em;
    }
}

/* CSS NAVIGATIONS --------------------------------------------- */
/*
.header-overlay.navigation-overlay {
    display: block !important;
}
*/
@media (max-width: 768.1px) {
    
    nav.toggle-menu.main-menu > ul > li,
    nav.toggle-menu.meta-menu > ul > li,
    nav.toggle-menu.meta-menu > ul > li > ul > li {
        margin: 0.50em 0;
    }
    
    nav.toggle-menu.main-menu > ul > li > a,
    nav.toggle-menu.meta-menu > ul > li > a,
    nav.toggle-menu.meta-menu > ul > li > ul > li > a {
        display: block;
        font-size: 1.20em;
        padding: 0.50em 1.00em;
        border-radius: 1.00ch;
        border: 1px solid rgba(90,95,100,0.250);
    }
    
}

/* CSS NAVIGATIONS --------------------------------------------- */

.menu.breadcrumb-menu {
    text-align: center;
    font-size: smaller;
}

.menu.breadcrumb-menu a {
    color: rgb(120,170,225);
}

.menu.breadcrumb-menu span.next {
    opacity: 0.5;
}

/* CSS NAVIGATIONS --------------------------------------------- */
/* CSS NAVIGATIONS --------------------------------------------- */

.menu.socialmedia-menu {
    align-self: center;
}

.menu.socialmedia-menu span.icon {
    font-size: 1.50em;    
}

.menu.socialmedia-menu span.icon svg,
.menu.socialmedia-menu span.icon svg path {
    fill: rgba(255,255,255,0.75);
}

.menu.socialmedia-menu span.label {
    display: none;
}

/* CSS NAVIGATIONS --------------------------------------------- */
/* CSS NAVIGATIONS --------------------------------------------- */
/* CSS NAVIGATIONS --------------------------------------------- */