/* Flexnav Base Styles */
.flexnav {
    -webkit-transition: none;
    -moz-transition: none;
    -ms-transition: none;
    transition: none;
    -webkit-transform-style: preserve-3d;
    overflow: hidden;
    margin: 0 auto;
    width: 100%;
    max-height: 0;
}
nav {float: left; width: 100%;}
.flexnav.opacity {opacity: 0;}
.flexnav.flexnav-show {
    max-height: 2000px;
    opacity: 1;
    position: absolute;
    -webkit-transition: all .5s ease-in-out;
    -moz-transition: all .5s ease-in-out;
    -ms-transition: all .5s ease-in-out;
    transition: all .5s ease-in-out; 
}
.flexnav.one-page {
    position: fixed;
    top: 50px;
    right: 5%;
    max-width: 200px;
}
.flexnav li {
    font-size: 100%;
    position: relative;
    overflow: hidden;
    font-family: "微軟正黑體";
}
.flexnav li a {
    position: relative;
    display: block;
    padding: 17px;
    z-index: 2;
    overflow: hidden;
    color: #222222;
    background-color: #dae2eb;
    border-bottom: 1px solid #e2e2e2;
    padding-left: 50px;
    background-image: url(../../images/MegaMenu-icon01.svg);
    background-repeat: no-repeat;
    background-position: 22px 19px;
}
.flexnav li ul {width: 100%; }
.flexnav li ul li {font-size: 100%;position: relative;overflow: hidden;}
.flexnav li ul.flexnav-show li {overflow: visible; }
.flexnav li ul li a {display: block;background: #ebebeb;background-image: url(../../images/MegaMenu-icon02.svg);background-repeat: no-repeat; background-position: 48px 17px; padding-left: 70px; }
.flexnav ul li ul li a {background-color: #f7f7f7;background-image: url(../../images/MegaMenu-icon03.svg);background-repeat: no-repeat; background-position: 68px 17px;  padding-left: 90px; }
.flexnav ul li ul li ul li a {background-color: #ffffff;}
.flexnav .touch-button {
    position: absolute;
    z-index: 999999;
    top: 0;
    right: 0;
    width: 50px;
    height: 50px;
    display: inline-block;
    text-align: center;
    background-color: #24458b;
    background-image: url(../../images/nav_arrow.gif);
    background-repeat: no-repeat;
}
.flexnav .active {background-image: url(../../images/nav_arrow_.gif);}
.flexnav .touch-button:hover {cursor: pointer; }
.flexnav .touch-button .navicon {display: none;}
.menu-button {
    display: block;
    cursor: pointer;
    color: #FFF;
    font-size: 0px;
    float: right;
    text-align: center;
    margin-right: 13px;
    margin-top: 21px;
}

.menu-button span {
    display: block;
    width: 22px;
    height: 2px;
    background: #fff;
    margin-bottom: 4px;
    border-radius: 1px;
    
    -webkit-transition: all 0.3s ease-out;
	  -moz-transition: all 0.3s ease-out;
	  -o-transition: all 0.3s ease-out;
	  transition: all 0.3s ease-out;
}

#mobile-menu div:first-child.active {
  -webkit-transform: rotate(-45deg);
  -moz-transform: rotate(-45deg);
  -ms-transform: rotate(-45deg);
  -o-transform: rotate(-45deg);
  transform: rotate(-45deg);
}
.active span.navicon-bar1 {
  -webkit-transform: rotate(0deg) translateY(6px);
  -moz-transform: rotate(0deg) translateY(6px);
  -ms-transform: rotate(0deg) translateY(6px);
  -o-transform: rotate(0deg) translateY(6px);
  transform: rotate(0deg) translateY(6px);
  margin-top: 0;
	}
.active span.navicon-bar2 {opacity: 0;}
.active span.navicon-bar3 {
  -webkit-transform: rotate(-90deg) translateX(5.5px);
  -moz-transform: rotate(-90deg) translateX(5.5px);
  -ms-transform: rotate(-90deg) translateX(5.5px);
  -o-transform: rotate(-90deg) translateX(5.5px);
  transform: rotate(-90deg) translateX(5.5px);
}




/* #mobile-menu div.active {background-image: url(../../images/mobile-menu-button_.png);} */
.menu-button.one-page {
    position: fixed;
    top: 0;
    right: 5%;
    padding-right: 45px; 
}
.menu-button .touch-button {
    position: absolute;
    z-index: 999;
    top: 0;
    right: 0;
    width: 50px;
    height: 50px;
    display: none;
    text-align: center;
}