/* dropdown menu */
#ddmenu { /*color:#fff; position:fixed; left:0;  top:0;*/z-index:300; width:100%; 
            position:absolute; top:100%; left:0; min-height:270px;
            padding:30px 0 50px 0; background:#ececec;  transform:translateY(-100%);
            transition:transform 500ms ease,top 500ms ease; border-bottom: 2px solid #C31F26;}
#ddmenu.go { transform:translateY(0); }
#ddmenu a { display:block; }
#ddmenu.onecol nav.lv2 { width:100%; float:none; }
#ddmenu.onecol.img nav.lv2 { width:83%; margin-right:2%; float:left; }
#ddmenu.twocol nav.lv2 { width:49%; margin-right:2%; float:left; }
#ddmenu.twocol.img nav.lv2 { width:45%; }
#ddmenu.twocol nav.lv3 { width:49%; float:left; box-sizing:border-box; }
#ddmenu.twocol.img nav.lv3 { width:33%; }
#ddmenu>div.pgw div.img { display:none; }
#ddmenu.img>div.pgw div.img { display:block; width:20%; float:right; }
#ddmenu.img>div.pgw div.img img { width:100%; }
#ddmenu.img>div.pgw div.img p { margin-top:8px; font-size: 120%; }
#ddmenu.img>div.pgw div.img:hover p { color:#C31F26; }

#ddmenu.onecol nav.lv3 { display:none;}

#ddmenu nav.lv2 a { color:#333; text-decoration:none; padding:10px 50px 10px 15px; 
                    line-height:1.2; font-size:140%; border-bottom:solid 1px #fff; }
#ddmenu nav.lv2 a:hover,#ddmenu nav.lv2 a.sel { color:#C31F26; }
#ddmenu nav.lv2 a.sub::after { content:""; position:absolute; top:10px; right:15px; overflow:hidden; 
                                height:100%; width:15px;
                                background:url(/images/icon-arrow.png) no-repeat top right;  }
#ddmenu nav.lv3 a { display:block; color:#333; text-decoration:none; padding-left:45px; font-weight:400;
                    margin:10px 0;transition: all 0.3s ease-out; cursor:pointer; }
#ddmenu nav.lv3 a { font-size:120%; }                    
#ddmenu nav.lv3 a::before { content:""; position:absolute; top:5px; left:30px; overflow:hidden; 
                            width:5px; height:5px; border-radius:5px; background:#999; }
#ddmenu nav.lv3 a:hover { color:#C31F26; } 
/* mobile side menu & ham btn */
#btham { position:absolute; bottom:20px; left:30px; z-index:1000; padding:10px 0 0 0; 
            color:#fff; transform:scale(2.8,2); display:none; cursor: pointer; /*background:#333;*/}
.esfpmask { position:fixed; width:100%; height:0; background:rgba(0,0,0,0.8); top:0; left:0;
            z-index:5000; opacity:0; transition: opacity 0.2s ease-in; }
body.openesfpm .esfpmask { height:100%; opacity:1; }
.esfpushm { position:fixed; top:0; height:100%; background:#ececec; /*2e3438*/ display:none; overflow:auto;
            transition: all 0.2s cubic-bezier(0.16, 0.68, 0.43, 0.99); color:#333; z-index:8000; }            
.esfpushm.right { right:-70%; width:70%; }
body.openesfpm .esfpushm.right { right:0; }
.esfpushm.left { left:-70%; width:70%; }
body.openesfpm .esfpushm.left { left:0; }

.esfpushm>p,.esfpushm>a,.esfpushm>div { position:relative; border-bottom:solid 1px #ccc;}
.esfpushm>a,.esfpushm>div,.esfpushm>p>a, .esfpushm nav>a{ display:block; padding:15px 20px; color:#333; 
                text-decoration:none; font-weight:400; }            
.esfpushm>p.sub>a { width:calc(100% - 50px); padding-right:0; box-sizing:border-box; } /*top level*/
/*.esfpushm>a.sub:after { font-family: FontAwesome; content:"\f054"; top:15px; right:10px;  color:#bbb; 
                        position:absolute; transition: transform 200ms ease-in; transform:rotate(90deg);}                        
.esfpushm>a.sub.open:after { transform:rotate(-90deg); } */
.esfpushm>p.sub>strong { display:block; position:absolute; right:0; top:0; width:50px; height:100%; background-color: #f1f1f1; border-left: 1px solid #f8f8f8;}
.esfpushm>p.sub>strong:after { font-family: FontAwesome; content:"\f054"; top:50%; left:50%;  color:#bbb; 
                        margin-top:-5px; margin-left:-7px; 
                        position:absolute; transition: transform 200ms ease-in; transform:rotate(90deg);}                        
.esfpushm>p.sub.open>strong:after { transform:rotate(-90deg); }                       
#body .esfpushm>a.bgc { color:#fff; }
.esfpushm>a.bgc>img { height:20px; vertical-align:middle; margin-right:10px;  }
.esfpushm>nav { background:#f7f7f7; /*padding-bottom:10px;*/ display:none; } /*Sublevel 1*/
.esfpushm>nav a { border-bottom:none; }
.esfpushm>nav>a { padding:7px 20px 7px 30px; } /*Sublevel 2*/
.esfpushm>nav a:before { content:'\2022'; position:absolute; top:7px; left:20px; }
.esfpushm>nav>nav>a:before {left:35px; }
.esfpushm>nav>nav {  display:none; background:#fff; border:solid 1px #eee; border-left:none; border-right:none;  } /*Sublevel 3*/
.esfpushm>nav>nav>a { padding:7px 20px 7px 50px; }
.esfpushm>nav>nav>nav>a:before {left:55px; }

#body .esfpushm>div.mfont>a { color:#fff; margin-right:20px; font-size:120%; }
#body .esfpushm>div.mfont>a.sel { color:#333; }

/* ==========================================================================
    SM Narrow Desktop
============================================================================= */
@media only screen and (max-width:950px) {
    .esfpushm,#btham { display:block; }     
}

/* ==========================================================================
    Mobile Portrait
============================================================================= */
@media only screen and (max-width:767px) {
	.ddmenu { display:none; }
    
    /* mobile side menu & ham btn */
    .esfpushm,#btham { display:block; }        
}