/* Hauptmenü */
.m3_menu {
	width:100%;
	margin: 0;
    padding: 0;
    list-style-type: none;
	font-size:16px;
}

.topmenu {
	width:100%;
	margin-top:0px;
	margin-bottom:0px;
	display:flex;
	flex-wrap:wrap;
	justify-content:flex-end;
}

.topmenu-item p {
	padding-top:5px;
	padding-bottom:3px;
}

.topmenu-item a {
    position: relative;
    z-index: 1;
	padding-left:15px;
	padding-right:15px;
	margin-left:3px;
	margin-right:3px;
	padding-top:5px;
	padding-bottom:5px;
}
.topmenu-item a:hover {
	text-decoration:none;
}

.topmenu-item a::after {
	content: "";
    position: absolute;
    bottom: 0;
    left: 0;
    width: 100%;
    height: 100%;
    transform: scaleY(0);
    transform-origin: bottom center;
    background: #0072ba;
	opacity:0.4;
    z-index: -1;
    transition: transform 0.3s;
}

.topmenu-item a:hover::after {
    transform: scaleY(1);
}

.sf-menu li{
	/*line-height: 2.5em;*/
}

.menu {
	cursor:pointer;
}

.menu_space {
	z-index:9;
}

.menu_space .col-sm-12 {
	width:23%;
	display:flex;
	flex-wrap:wrap;
	background-color:#f5f5f5;
	padding-right: 0px;
	padding-left: 0px;
	border:1px solid #0072ba;
	min-width:450px;
}

.submenufirstlvl-li {
	list-style:none;
	font-size:22px;
	color:#0072ba;
}

.li-opened {
	background-color:#fabb13;
}

.sub-opened {
	background-image:url("../images/sub_opened.png") !important;
}

.open_sub {
	width:15%;
	background-image:url("../images/sub_closed.png");
	background-repeat:no-repeat;
	background-position:center center;
	min-height:28px;
	cursor:pointer;
}

.open_sub:hover {
	background-color:#fabb13;
}

.firstlvl-li {
	width:100%;
	list-style:none;
	line-height:1;
	font-size:1.8em;
	display:flex;
	flex-wrap:wrap;
}

.firstlvl-li a {
	display:block;
	padding-left:10px;
	padding-right:10px;
	padding-top:10px;
	padding-bottom:10px;
	font-weight:regular;
	font-size:0.65em;
	width:85%;
}

.firstlvl-li:hover, .secondlvl-li:hover {
	background-color:#fabb13 !important;
}

.secondlvl-li {
	width:100%;
	line-height:1rem;
}
.secondlvl-ul {
	display:none;
	list-style:none;
	position:absolute;
	margin:0px;
	padding:0px;
	margin-left:100%;
	margin-top:0px;
	background-color:#f5f5f5;
	min-width:600px;
	max-width:600px;
	border:1px solid #0072ba;
}
.secondlvl-li a {
	display:block;
	padding-left:10px;
	padding-right:10px;
	padding-top:10px;
	padding-bottom:10px;
	width:100%;
	font-weight:normal;
	font-size:0.55em;
}
.thirdlvl-ul {
	list-style:none;
	padding:0px;
	padding-left:10px;
	margin:0px;
}
.thirdlvl-ul a {
	font-weight:normal;
	font-size:50%;
}

.breadcrumbs p {
	font-size:16px !important;
}

