/*================================================================
                 CLICK MENU STYLES
================================================================*/

/*
    THESE STYLES will probably not be needed and are adjusted in your main styles
    - * for example is most efficient when not a child of a class
       -- hopefully you already are using the box sizing globally
    - you may not need text-decoration etc. depending on your global anchors
*/
.cm-menu a, .cm-menu a:visited { color:#fff; text-decoration:none; }
.cm-menu a:hover,
.cm-menu a:focus,
.cm-menu a:active {color: #ffcc80;}
.cm-menu a[tabindex="0"] {color: #ffffff;}
.cm-menu a[tabindex="0"]:hover {/* color: #383e56; */ color: #ffcc80;}
.cm-menu *, .cm-menu *:after, .cm-menu *:before {
    -webkit-box-sizing: border-box;
       -moz-box-sizing: border-box;
            box-sizing: border-box;
}

.outer-container {position:relative;}
.main-nav-container {
    -webkit-box-sizing: border-box;
       -moz-box-sizing: border-box;
            box-sizing: border-box;
}
.main-nav-container > .container {position:static;}

.cm-menu:focus { outline:3px solid blue;  }
.cm-menu, .cm-menu ul { margin:0; padding:0; list-style:none; }

.my-toggle-menu + .cm-menu, .cm-menu ul {
    max-height:0;
    opacity: 0;
    overflow: hidden;
    -wekbit-transition: max-height 0.25s ease-in-out, opacity 0.4s ease-in-out;
            transition: max-height 0.25s ease-in-out, opacity 0.4s ease-in-out;
}
.cm-menu {  background:#40475f;}
.cm-menu li a { display:block; padding: 6px 10px; position:relative;}

.cm-menu li { border-top: 1px solid #ffcc80; }
.cm-menu li:first-child { border-top:0; }
.cm-menu li { position:relative; }

.cm-menu > .opened > a,
.cm-menu > li > a:hover,
.cm-menu > li > a:focus,
.cm-menu > li > div > a:hover,
.cm-menu > li > div > a:focus { color:#ffffff;}

.cm-menu > li > a { text-transform: uppercase; color: #ffffff; font-weight: Bold;}
.cm-menu > li li {border: 0 none;}
.cm-menu > li li > a {padding: 0;}
.cm-menu > li p.title {margin: 0; font-weight: bold;}
.cm-menu > li li > a {padding: 0 10px 0 15px;}
.cm-menu > li li > a:before {content:''; position: absolute; width: 10px; height: 2px; top: 12px; left: 0; background: #ffcc80;}
.cm-menu > li li:last-child {padding-bottom: 5px;}

.cm-menu > li > a.has-sub:after {
    content: "";
    width: 60px;
    height: 100%;
    background: url(/cms/images/layout/2016/icon-plus.png) no-repeat 80% center / 25% auto;
    right: 0;
    position: absolute;
    top: 0;
    opacity: 1;
    text-align: center;
    -webkit-transition: all 0.25s ease-in-out;
    transition: all 0.25s ease-in-out;
}
.cm-menu > .opened > a.has-sub:after {background: url(/cms/images/layout/2016/icon-minus.png) no-repeat 80% center / 25% auto;}

.cm-menu .expander-wrap .has-sub:hover > span,
.cm-menu .expander-wrap .has-sub:focus > span { color:#333; background:#d4d4d4; }

.cm-menu ul .opened > a,
.cm-menu ul a:hover, .cm-menu ul li a:focus {}

.cm-menu ul .opened > .has-sub:after {border-top-color:#fff;}

.cm-js-active .cm-menu { max-height:80em; opacity:1; }
.cm-menu .opened > ul { max-height:80em; opacity:1; }

/* ================= HOVER FALLBACK IF JAVASCRIPT IS DISABLED ================= */

.no-js .my-toggle-menu + .cm-menu { opacity:1; max-height:80em; }
.no-js .cm-menu > li:hover > a { background:#333; }
.no-js .cm-menu ul ul li:hover > a { background:#444; }

.no-js .cm-menu li:hover > ul { display:block; max-height:80em; opacity:1; width:100%; }
.no-js .cm-menu ul { display:none; overflow:visible; }


/* ================= MENU OPEN FUNCTIONALITY ADDED ON SETUP ================= */

@media (min-width:48em){
    .my-toggle-menu + .cm-menu { max-height:80em; opacity:1; overflow:visible;}
    
    .cm-menu {background: none;}
    .cm-menu ul { top:100%; overflow:hidden; display: inline-block; text-align: left;}
    .cm-menu .opened > ul { max-height:80em; opacity:1; }

    .cm-menu .animated > ul { overflow:visible; z-index:10; }
    .cm-menu .animating > ul { z-index:-1; }
    
    
}


/*================================================================
                 CLICK MENU MENU TYPES
================================================================*/

/*  NAV BAR STYLE TYPE
    ================================================================*/

@media (min-width:48em){
    .main-nav-container {position: absolute; width: 100%; bottom: 10px; left: 0; padding: 0 10px;}
    .nav-bar li { border-top:0; }

    .nav-bar > ul { width:100%; margin: 0; padding: 0; float: right; text-align: right;}
    .nav-bar > ul > li { display:inline-block; text-align: left;}
    .nav-bar > ul > li > a,
	.nav-bar > ul > li > a:visited {display:inline-block; padding:0; }
    .nav-bar > ul > li > a > span { 
        padding: 0 5px; 
        text-align:center;
        font-size: 0.813em;
        text-transform: uppercase;
        font-weight: bold;
    }
    .nav-bar > ul > li > ul { position:absolute; }

    .nav-bar .has-sub span:after {}
    .nav-bar ul ul .has-sub:after {}

    .nav-bar ul li li { }
    .nav-bar ul li li li { }
    .nav-bar ul ul a {}

    .nav-bar ul ul a:hover, .nav-bar ul ul a:focus,
    .nav-bar ul ul .opened > a {}

    /* ================= HOVER FALLBACK IF JAVASCRIPT IS DISABLED ================= */

    .no-js .nav-bar ul ul li:hover > a { color:#000; background:#ddd; }

}

@media (min-width:60em){
    .main-nav-container {bottom: 30px; padding: 0 15px;}
    .nav-bar > ul { max-width:75%; }
    .nav-bar > ul > li {}
}

/*  MEGA MENU NAVIGATION ADJUSTMENTS
    ================================================================*/

@media (min-width:48em){

    .cm-menu [data-type="mega"] { position:static; }
    [data-type="mega"] > ul {
        position:absolute;
        top:100%; left:0;
        width:100%; max-height:0;
        background:#ff9900;
        overflow:hidden;
        -wekbit-transition: all 0.5s ease-in-out;
                transition: all 0.5s ease-in-out;
    }

    [data-type="mega"] > ul ul { position:static; max-height:80em; width:100%; overflow:hidden; background:transparent; opacity:1; }
    [data-type="mega"] > ul .opened ul { margin-left:0; }
    [data-type="mega"] > ul > li { float:left; width:25%; }
    [data-type="mega"] > ul > li:nth-child(4n+1) { clear:left; }

    [data-type="mega"] > ul > .link-landing { margin:0; width:100%; }
    [data-type="mega"] > ul > .link-landing ~ li:nth-child(4n+1) { clear:none; }
    [data-type="mega"] > ul > .link-landing ~ li:nth-child(4n+2) { clear:left; }

    /* ================= OPENED FUNCTIONALITY ADDED ON SETUP ================= */

    [data-type="mega"] a + .has-sub { width:0; min-height:0; height:100%; }
    [data-type="mega"] a + .has-sub > span { min-height:0; height:100%; }
    .nav-bar ul ul .has-sub:after,
	[data-type="mega"] ul .has-sub:after { display:none; }
    [data-type="mega"].opened > ul { padding: 40px 8.333%; margin: 30px 0 0; }
    
    
    /* ================= SEPARATE EXPANDERS OPTION IS ENABLED ================= */

    [data-type="mega"] ul a + .has-sub { display:none; }

    /* ================= HOVER FALLBACK IF JAVASCRIPT IS DISABLED ================= */

    .no-js .cm-menu [data-type="mega"] ul ul { display:block; }

}


/*================================================================
                 NAVIGATION TOGGLE STYLES
================================================================*/

.my-toggle-menu { 
    display:block; 
    position:absolute; 
    top:-70px; 
    right: 0; 
    width: 40px; 
    height:70px; 
    z-index: 100001;
}
.my-toggle-menu:before, 
.my-toggle-menu:after, 
.my-toggle-menu > span:before {
    content:" ";
    position:absolute;
    left:10px;
    width:50%; height:3px;
    background:#fff;
}

.my-toggle-menu:before { top:28px; }
.my-toggle-menu:after { top:40px; }
.my-toggle-menu > span:before { top:34px; }

.my-toggle-menu:hover, .toggle-menu:focus,
.js-menu-active .my-toggle-menu  {}

@media (min-width:48em){
    .my-toggle-menu { display:none; }
}


/*================================================================
                 EXTRA OVERWRITE STYLES
================================================================*/

.main-nav { z-index:1000; }

[data-type="mega"] .custom-sub {
    max-height:0; opacity:0;
    overflow:hidden;
    -wekbit-transition: all 0.5s ease-in-out;
            transition: all 0.5s ease-in-out;
}
[data-type="mega"] .custom-sub ul { position:static; opacity:1; max-height:80em; }
[data-type="mega"] .custom-sub p { margin:10px; color:#fff; }

[data-type="mega"] .custom-sub .banner-wrap { width:100%; }
[data-type="mega"] .custom-sub .banner-wrap a { text-align:center; background:none; }

.cm-menu .opened > .custom-sub { max-height:80em; opacity:1; padding:10px; }
.cm-menu .animated > .custom-sub { overflow:visible; z-index:10; }
.cm-menu .animating > .custom-sub { z-index:-1; }

@media (min-width:48em) {
    [data-type="mega"] .custom-sub {position:absolute; top:100%; left:0; width:100%; /* background: #ff9900; */ background: #40475f;}
    .cm-menu .opened > .custom-sub {margin: 10px 0 0; padding: 20px 10%; }
    .cm-menu > li > a.has-sub:after {display: none;}
    .cm-menu > li.opened > a.has-sub span:after {
        display: inline-block;
        width: 10px;
        height: 10px;
        background: none;
        content: '';
        position: absolute;
        bottom: -12px;
        left: 50%;
        margin: 0 0 0 -5px;
        border-left: 10px solid transparent;
        border-right: 10px solid transparent;
        /* border-bottom: 10px solid #ff9900; */
        border-bottom: 10px solid #7A4900;		
    }
}

@media (min-width:48em) {
    .table-row { display:inline-block; width:33.333%; float: left;}
    .table-col { display:block; width: 100%; padding: 0 0 20px;}
}

.section-nav .opened > ul { border-bottom:1px solid #d4d4d4; max-height:80em; opacity:1; }
.section-nav .opened > a,
.section-nav .opened > .expander-wrap a { border-bottom:1px solid #aaa; color:#333; background:#d4d4d4; }
.section-nav .opened .opened > .expander-wrap > a { background:#c4c4c4; }


