*{margin:0;padding:0;text-decoration:none;}

nav { position: relative; width: 100%; margin: 0 auto; }
#cssmenu ul ul,
#cssmenu ul ul li a { width: 380px; } /* BREITE SUB MENU */
#cssmenu ul ul ul,
#cssmenu ul ul ul li a { width: 380px; } /* BREITE SUB SUB MENU */
#cssmenu ul { padding: 0px; }
#cssmenu,
#cssmenu ul,
#cssmenu ul li,
#cssmenu ul li a,
#cssmenu #head-mobile { border: 0; list-style: none; line-height: 1; display: block; position: relative;
-webkit-box-sizing: border-box;
-moz-box-sizing: border-box;
box-sizing: border-box; }
#cssmenu:after,
#cssmenu > ul:after { content: "."; display: block; clear: both; visibility: hidden; line-height: 0; height: 0; }
#cssmenu #head-mobile  { display: none; }
#cssmenu { background: transparent; }
#cssmenu > ul > li { float: left; }
#cssmenu > ul > li > a { font-family: 'OpenSans-Bold'; font-size: 20px; line-height: 24px; letter-spacing: 0.03em; }
#cssmenu ul ul li a { padding: 6px 10px 8px 19px; font-family:'OpenSans-Bold'; font-size: 18px; line-height: 28px; letter-spacing: 0.02em; }
#cssmenu > ul > li > a { padding: 6px 18px 8px 20px; color: #fff; }
#cssmenu > ul > li:hover > a, 
#cssmenu ul li.active a { color: #b1daf2; text-shadow: none; }
#cssmenu > ul > li:hover,
#cssmenu ul li.active:hover,
#cssmenu ul li.active,
#cssmenu ul li.has-sub.active:hover { background: transparent !important; 
-webkit-transition:background .3s ease;
-ms-transition:background .3s ease;
transition:background .3s ease; }
/* Pfeile 
#cssmenu > ul > li.has-sub > a { padding-right: 46px }
#cssmenu > ul > li.has-sub > a:after { position: absolute; top: 20px; right: 17px; width: 19px; height: 19px; display: block;
background: url('../img/menu-pfeil-grau.png') no-repeat 0px 0px; content:''; }
#cssmenu > ul > li.has-sub > a:before { position: absolute; top: 20px; right: 17px; width: 19px; height: 19px; display: block; content:''; }
#cssmenu > ul > li.has-sub:hover > a:before { top: 23px; height: 0; }
*/
#cssmenu ul ul { position: absolute; left: -9999px; }
#cssmenu ul ul li { height: 0;
-webkit-transition: all .25s ease;
-ms-transition: all .25s ease;
transition: all .25s ease; }
#cssmenu ul ul li:hover { }
#cssmenu li:hover > ul { left: auto; }
#cssmenu li:hover > ul > li { height: 43px; }
#cssmenu ul ul ul { margin-left: 100%; top: 0; }
#cssmenu ul ul { margin-left: 1px; padding: 0px;
	-moz-box-shadow:    0px 0px 3px 1px #195491;
	-webkit-box-shadow: 0px 0px 3px 1px #195491;
	box-shadow:         0px 0px 3px 1px #195491; }
#cssmenu ul ul li:last-child > a,
#cssmenu ul ul li.last-item > a { border-bottom: 0px solid #fff; }
#cssmenu ul ul li:hover > a,
#cssmenu ul ul li a:hover { color: #fff; }
#cssmenu ul ul li.has-sub > a:after { position: absolute; top: 12px; right: 12px; width: 19px; height: 19px; display: block;
background: url('../img/menu-sub-has-sub.png') no-repeat 0px 0px; content:''; }
#cssmenu ul ul li.has-sub > a:before { position: absolute; top: 12px; right: 12px; width: 19px; height: 19px; display: block; content:''; }
#cssmenu ul ul > li.has-sub:hover > a:before { top: 17px; height: 0; }
#cssmenu ul ul ul li.active a { border-left: 1px solid #333; }
#cssmenu > ul > li.has-sub > ul > li.active > a,
#cssmenu > ul ul > li.has-sub > ul > li.active > a { border-top: 1px solid #333; }
#cssmenu ul ul li a { color: #133c80; }
#cssmenu ul ul,
#cssmenu ul ul li a { background-color: #fff; }
#cssmenu ul ul li a { border-bottom: 1px solid #d5d5d5; }
#cssmenu ul ul li:hover > a,
#cssmenu ul ul li a:hover { background-color: #c1d9e7; }
#cssmenu ul ul ul,
#cssmenu ul ul ul li a { background-color: #f3f3f3; }
#cssmenu ul ul ul li a { border-bottom: 1px solid #c1d9e7; border-left: 1px solid #c1d9e7; }
#cssmenu ul ul ul li:hover > a,
#cssmenu ul ul ul li a:hover { background-color: #c1d9e7; }
/* 
#cssmenu ul ul li.has-sub:hover,
#cssmenu ul li.has-sub ul li.has-sub ul li:hover { background-color: #1a7abf; }
*/


@media screen and (max-width: 1175px)
{
nav { width: 100%; }
#cssmenu { width: 100%; }
#cssmenu ul { width: 100%; display: none; }
#cssmenu ul li { width: 100%; border-top: 2px solid #fff; }
#cssmenu > ul > li > a { font-family: 'OpenSans-Bold'; font-size: 22px; line-height: 28px; }
#cssmenu ul ul li a { padding: 10px 10px 12px 24px; font-family:'OpenSans-Bold'; font-size: 22px; line-height: 28px; }
#cssmenu ul ul { margin-left: 15px; padding: 0px;
	-moz-box-shadow:    0px 0px 0px 0px #fff;
	-webkit-box-shadow: 0px 0px 0px 0px #fff;
	box-shadow:         0px 0px 0px 0px #fff; }
#cssmenu > ul > li:hover > a, 
#cssmenu ul li.active a { color: #fff; text-shadow: none; }	
#cssmenu > ul > li:hover,
#cssmenu ul li.active:hover,
#cssmenu ul li.active,
#cssmenu ul li.has-sub.active:hover { background: #5383b6!important;
-webkit-transition:background .3s ease;
-ms-transition:background .3s ease;
transition:background .3s ease; }
#cssmenu ul ul li,
#cssmenu li:hover > ul > li { height:auto; }
#cssmenu ul li a,
#cssmenu ul ul li a,
#cssmenu ul ul ul li a { width: 100%; border-bottom: 0; }
#cssmenu > ul > li { float: none; }
#cssmenu ul ul li { background: #d9dbda!important; }
#cssmenu ul ul li:hover { background: #fff!important; }
#cssmenu ul ul li a { color: #133c80; background: none; }
#cssmenu ul ul li:hover > a,
#cssmenu ul ul li.active > a { color: #133c80; background: #c7c7c7; }
#cssmenu ul ul,#cssmenu ul ul ul{position:relative;left:0;width:100%;margin:0;text-align:left;}
#cssmenu > ul > li.has-sub > a:after,
#cssmenu > ul > li.has-sub > a:before,
#cssmenu ul ul > li.has-sub > a:after,
#cssmenu ul ul > li.has-sub > a:before { display: none; }
#cssmenu #head-mobile { display: block; padding: 27px; color: #ddd; font-size: 18px; font-weight: 700; }
.button { width: 55px; height: 46px; position: absolute; right: 0; top:2; cursor: pointer; z-index: 12399994; }
.button:after { position: absolute; top: 26px; right: 20px; display: block; height: 4px; width: 25px;
border-top: 2px solid #fff; border-bottom: 2px solid #fff; content:''}
.button:before { 
-webkit-transition: all .3s ease;
-ms-transition:all .3s ease;
transition:all .3s ease;
position:absolute;
top: 20px; right: 20px; display: block; height: 2px; width: 25px; background: #fff; content:''}
.button.menu-opened:after {
-webkit-transition:all .3s ease;
-ms-transition:all .3s ease;
transition:all .3s ease;
top: 26px; border: 0; height: 2px; width: 24px; background: #fff;
-webkit-transform: rotate(45deg);
-moz-transform:r otate(45deg);
-ms-transform: rotate(45deg);
-o-transform: rotate(45deg);
transform: rotate(45deg);}
.button.menu-opened:before { top: 26px; background: #fff; width: 24px;
 -webkit-transform: rotate(-45deg);
 -moz-transform: rotate(-45deg);
 -ms-transform: rotate(-45deg);
 -o-transform: rotate(-45deg);
 transform: rotate(-45deg)}
#cssmenu .submenu-button { position: absolute; z-index: 99; right: 4; top: 4; display: block;
height: 47px; width: 57px; cursor: pointer; }
#cssmenu .submenu-button.submenu-opened { background: transparent; }
#cssmenu ul ul .submenu-button { height: 42px; width: 57px; }
#cssmenu ul .submenu-button { border-left: 2px solid #fff; }
#cssmenu .submenu-button:before { position: absolute; top: 14px; right: 27px;
display: block; width: 2px; height: 18px; content: ''}
#cssmenu .submenu-button:after { position: absolute; top: 22px; right: 19px; width: 18px; height: 2px; 
display: block; content: ''}
#cssmenu .submenu-button.submenu-opened:before { display: none; }
#cssmenu ul .submenu-button:before,
#cssmenu ul .submenu-button:after,
#cssmenu ul .submenu-button.submenu-opened:after { background: #fff; }
#cssmenu ul ul .submenu-button:before { top: 12px; right: 27px; }
#cssmenu ul ul .submenu-button:after { top: 20px; right: 19px; }
#cssmenu ul ul ul li.active a{  border-left: none; }
#cssmenu > ul > li.has-sub > ul > li.active > a,
#cssmenu > ul ul > li.has-sub > ul > li.active > a { border-top: none; }
#cssmenu ul ul li a { border-bottom: 0px; }
#cssmenu ul ul ul,
#cssmenu ul ul ul li a { color: #313131; background-color: #ebebeb; }
#cssmenu ul ul ul li a { border-bottom: 1px solid #e6eef3; }
#cssmenu ul ul ul li:hover > a,
#cssmenu ul ul ul li a:hover { color: #313131; background-color: #d7d7d7; }
#cssmenu ul ul .submenu-button:before,
#cssmenu ul ul .submenu-button:after,
#cssmenu ul ul .submenu-button.submenu-opened:after { background: #133c80; } 
#cssmenu ul ul .submenu-button { border-left: 2px solid #133c80; }
}


/* MITTEL */
@media only screen and (min-width: 755px) and (max-width: 1174px) 
{
#cssmenu > ul > li > a { padding: 14px 25px 15px 25px; }
#cssmenu ul ul li a { padding-left: 35px; }
#cssmenu ul ul ul li a { padding-left: 50px; }
}

/* KLEIN */
@media only screen and (max-width: 754px) 
{
#cssmenu > ul > li > a { padding: 14px 15px 15px 15px; }
#cssmenu ul ul li a { padding-left: 15px; }
#cssmenu ul ul ul li a { padding-left: 25px; }
}