#cssmenu, #cssmenu ul, #cssmenu ul li, #cssmenu ul li a, #cssmenu #menu-button { margin: 0; padding: 0; 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 #menu-button { display: none; }
#cssmenu { width: auto; font-family: 'Open Sans', sans-serif; line-height: 1; }
#menu-line { position: absolute; top: 0; left: 0; -webkit-transition: all 0.25s ease-out; -moz-transition: all 0.25s ease-out; -ms-transition: all 0.25s ease-out; -o-transition: all 0.25s ease-out; transition: all 0.25s ease-out; }
#cssmenu > ul > li { float: left; }
#cssmenu.align-center > ul { font-size: 0; text-align: center; }
#cssmenu.align-center > ul > li { display: inline-block; float: none; }
#cssmenu.align-center ul ul { text-align: left; }
#cssmenu.align-right > ul > li { float: right; }
#cssmenu.align-right ul ul { text-align: right; }
#cssmenu > ul > li > a { padding: 15px 20px; font-size: 14px; text-decoration: none; text-transform: uppercase; color: #ffffff; -webkit-transition: color .2s ease; -moz-transition: color .2s ease; -ms-transition: color .2s ease; -o-transition: color .2s ease; transition: color .2s ease; }
#cssmenu > ul > li.has-sub > a { padding-right: 25px; }
#cssmenu > ul > li.has-sub > a::after { position: absolute; top: 17px; right: 10px; width: 4px; height: 4px; border-bottom: 1px solid #fff; border-right: 1px solid #fff; content: ""; -webkit-transform: rotate(45deg); -moz-transform: rotate(45deg); -ms-transform: rotate(45deg); -o-transform: rotate(45deg); transform: rotate(45deg); -webkit-transition: border-color 0.2s ease; -moz-transition: border-color 0.2s ease; -ms-transition: border-color 0.2s ease; -o-transition: border-color 0.2s ease; transition: border-color 0.2s ease; }
#cssmenu > ul > li.has-sub:hover > a::after { border-color: #fff; }
#cssmenu ul ul { position: absolute; left: -9999px; }
#cssmenu li:hover > ul { left: auto; }
#cssmenu.align-right li:hover > ul { right: 0; }
#cssmenu ul ul ul { margin-left: 100%; top: 0; }
#cssmenu.align-right ul ul ul { margin-left: 0; margin-right: 100%; }
#cssmenu ul ul li { height: 0; -webkit-transition: height .2s ease; -moz-transition: height .2s ease; -ms-transition: height .2s ease; -o-transition: height .2s ease; transition: height .2s ease; }
#cssmenu ul li:hover > ul > li { height: 32px; }
#cssmenu ul ul li a { padding: 10px 20px; font-size: 12px; text-decoration: none; color: #ffffff; -webkit-transition: color .2s ease; -moz-transition: color .2s ease; -ms-transition: color .2s ease; -o-transition: color .2s ease; transition: color .2s ease; }
#cssmenu ul ul li:hover > a, #cssmenu ul ul li a:hover { color: #ffffff; }
#cssmenu ul ul li.has-sub > a::after { position: absolute; top: 13px; right: 10px; width: 4px; height: 4px; border-bottom: 1px solid #dddddd; border-right: 1px solid #dddddd; content: ""; -webkit-transform: rotate(-45deg); -moz-transform: rotate(-45deg); -ms-transform: rotate(-45deg); -o-transform: rotate(-45deg); transform: rotate(-45deg); -webkit-transition: border-color 0.2s ease; -moz-transition: border-color 0.2s ease; -ms-transition: border-color 0.2s ease; -o-transition: border-color 0.2s ease; transition: border-color 0.2s ease; }
#cssmenu.align-right ul ul li.has-sub > a::after { right: auto; left: 10px; border-bottom: 0; border-right: 0; border-top: 1px solid #dddddd; border-left: 1px solid #dddddd; }
#cssmenu ul ul li.has-sub:hover > a::after { border-color: #ffffff; }
@media all and (max-width: 480px) {
#cssmenu { width: 100%; }
#cssmenu ul { width: 100%; display: none; }
#cssmenu.align-center > ul,  #cssmenu.align-right ul ul { text-align: left; }
#cssmenu ul li,  #cssmenu ul ul li,  #cssmenu ul li:hover > ul > li { width: 100%; height: auto; border-top: 1px solid rgba(120, 120, 120, 0.15); }
#cssmenu ul li a,  #cssmenu ul ul li a { width: 100%; }
#cssmenu > ul > li > a { padding: 10px 15px; }
#cssmenu > ul > li,  #cssmenu.align-center > ul > li,  #cssmenu.align-right > ul > li { float: none; display: block; }
#cssmenu ul ul li a { padding: 10px 10px 10px 30px; font-size: 12px; color: #ffffff; background: none; }
#cssmenu ul ul li:hover > a,  #cssmenu ul ul li a:hover { color: #ffffff; }
#cssmenu ul ul ul li a { padding-left: 40px; }
#cssmenu ul ul,  #cssmenu ul ul ul { position: relative; left: 0; right: auto; width: 100%; margin: 0; }
#cssmenu > ul > li.has-sub > a::after,  #cssmenu ul ul li.has-sub > a::after { display: none; }
#menu-line { display: none; }
#cssmenu #menu-button { display: block; padding: 15px; color: #ffffff; cursor: pointer; font-size: 12px; text-transform: uppercase; }
#cssmenu #menu-button::after { content: ''; position: absolute; top: 15px; right: 20px; display: block; width: 15px; height: 2px; background: #ffffff; }
#cssmenu #menu-button::before { content: ''; position: absolute; top: 20px; right: 20px; display: block; width: 15px; height: 3px; border-top: 2px solid #ffffff; border-bottom: 2px solid #ffffff; }
#cssmenu .submenu-button { position: absolute; z-index: 10; right: 0; top: 0; display: block; border-left: 1px solid rgba(120, 120, 120, 0.15); height: 35px; width: 35px; cursor: pointer; }
#cssmenu .submenu-button::after { content: ''; position: absolute; top: 11px; left: 16px; display: block; width: 1px; height: 11px; background: #ffffff; z-index: 99; }
#cssmenu .submenu-button::before { content: ''; position: absolute; left: 11px; top: 16px; display: block; width: 11px; height: 1px; background: #ffffff; z-index: 99; }
#cssmenu .submenu-button.submenu-opened:after { display: none; }
}
