/*================================================================
                 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 { text-decoration:none;}
.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; right:0px;

    -webkit-transition: all .2s linear;
        -moz-transition: all .2s linear;
        -ms-transition: all .2s linear;
        -o-transition: all .2s linear;
        transition: all .2s linear;
}

@media (max-width:47.99em){
    .main-nav-active .outer-container {right:-83%;}
}


.main-nav-container {background: rgba(255,255,255,0.6);}
.main-nav-container > .container {position:static;}

.main-nav-fly-in {
    background: #999 none repeat scroll 0 0;  
    height: auto;
    left: -83%;
    position: absolute;
    top: 0;
    width: 83%;
    z-index: 100;
}

.cm-menu:focus { outline:3px solid blue;  }
.cm-menu, .cm-menu ul { margin:0; padding:0; list-style:none;}

.toggle-menu + .cm-menu, .cm-menu ul {
    max-height:0;
    opacity:0;
    overflow:hidden;
    -wekbit-transition: max-height 0.4s ease-in-out, opacity 0.4s ease-in-out;
            transition: max-height 0.4s ease-in-out, opacity 0.4s ease-in-out;
}
.cm-menu { position:relative; margin-top: 50px;}
.interior .cm-menu{margin-top: 0;}
.cm-menu li a { display:block; padding:20px; position:relative; color: #fff;}

/*.cm-menu li { border-top:1px solid #00446b; }*/
.cm-menu li:first-child { border-top:0; }
.cm-menu li { position:relative; }

.cm-menu .has-sub:after,
.cm-menu .expander-wrap .has-sub > span:after {
    content:" ";
    border: solid #fff;
    border-width: 0 2px 2px 0;
    display: inline-block;
    padding: 5px;
    top: 20px;
    right: 20px;
    position: absolute;
    transform: rotate(-45deg);
    -webkit-transform: rotate(-45deg);
}

.cm-menu .opened > .has-sub:after,
.cm-menu .opened > .expander-wrap .has-sub > span:after{
    transform: rotate(45deg);
    -webkit-transform: rotate(45deg);

}

.cm-menu > li > a{ font-weight:900;}
.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:#fff; }

.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 {/* background:#444;*/ }

.cm-menu ul .opened > .has-sub:after,
.cm-menu ul .opened > .expander-wrap .has-sub > span:after{
    border-top-color:#fff;
}

.cm-js-active .cm-menu { max-height:80em; opacity:1; }
.cm-menu .opened > ul { max-height:80em; opacity:1; }
.cm-menu .opened > ul > li{padding-left: 15px; background: #405c72;}
.secondary-nav .cm-menu .opened > ul > li{padding-left: 15px; background: none; border-top: none;}
.cm-menu > li{background: #00446b;}
.nav-bar ul li li a{color: #fff; font-weight: 600; font-size: 1em;}
.nav-bar > ul > li {text-transform: uppercase;}
/* ================= SEPARATE EXPANDERS OPTION IS ENABLED ================= */

.cm-menu .expander-wrap { display:table; width:100%; }
.cm-menu .expander-wrap a { display:table-cell; }
.cm-menu .expander-wrap .has-sub { position:relative; width:30px; }
.cm-menu .expander-wrap .has-sub:after { display:none; }
.cm-menu .expander-wrap .has-sub > span {
    display:block;
    position:absolute; top:0; right:0;
    width:100%; height:100%;
    background:#aaa;
}
.cm-menu .expander-wrap .has-sub > span:after {
    content:" ";
    display:inline-block;
    position:absolute; top:50%; right:50%;
    margin:2px 0 0 5px;
    vertical-align:middle;
    border:5px solid transparent;
    /* Extra is for anti-aliasing issues in firefox and others */
    border:5px solid rgba(0,0,0,0);
    border-top-color:#fff;
    -wekbit-transition: all 0.4s ease-in-out;
            transition: all 0.4s ease-in-out;
    -webkit-transform: scale(0.98) translate(50%, -50%);
        -ms-transform: scale(0.98) translate(50%, -50%);
            transform: scale(0.98) translate(50%, -50%);
}
.cm-menu .opened > .expander-wrap .has-sub > span:after {
    border-top-color:#333;
    -webkit-transform: scale(0.98) translate(50%, -75%) rotate(-180deg);
        -ms-transform: scale(0.98) translate(50%, -75%) rotate(-180deg);
            transform: scale(0.98) translate(50%, -75%) rotate(-180deg);
}

/* ================= HOVER FALLBACK IF JAVASCRIPT IS DISABLED ================= */

.no-js .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; }

/* ================= SECONDARY NAVIGATION SETUP ================= */


.secondary-nav{background: #00456b; color: #fff; padding:0; display: none;}
.secondary-nav .navi{display: flex; align-items: center;}
.secondary-nav .s-nav-links{width: 100%;}
.secondary-nav .s-heading{display: none;}
.secondary-nav .cm-menu{border-top: 10px solid #ffa039;}

.secondary-nav .cm-menu > li{background: #af6a3d;}
.secondary-nav ul li a{color: #fff; text-transform: uppercase; font-weight:600; text-decoration: none;}

.secondary-nav-header{
    display:none; 
    padding: 20px 10px 15px; 
    text-transform: uppercase; 
    font-size: 1.15em;
}
/* ================= MENU OPEN FUNCTIONALITY ADDED ON SETUP ================= */

@media (min-width:60em){
    .toggle-menu + .cm-menu { max-height:80em; opacity:1; overflow:visible; }
    .cm-menu ul { top:100%; overflow:hidden; }
    .cm-menu li a {padding: 10px; color: #000;}   
    .cm-menu .opened > ul { max-height:80em; opacity:1; min-height: 15em;}
    .cm-menu > li:after{transition: all ease 0.9s;}
    .cm-menu > li.opened > a.has-sub:before{
        content: " ";
        display: inline-block;
        position: absolute;
        bottom: -5px;        
        margin: 0 auto;
        left: 40%;
        vertical-align: bottom;
        border: 10px solid rgba(24,211,123,0);
        border-bottom-color: #ffa039;
        transition: all ease 0.9s;
    }
    .cm-menu .opened > ul > li{padding-left: 0px; background: none;}
    .cm-menu { margin-top: 0px;}
    .cm-menu .animated > ul { overflow:visible; z-index:10; }
    .cm-menu > li{background: none;}
    .cm-menu .animating > ul { z-index:-1; }
    .cm-menu .has-sub:after, 
    .cm-menu .expander-wrap .has-sub > span:after {display: none;}
    .main-nav-fly-in {background:#999; position:static; width:auto; min-height:0px !important;}
    .main-nav-container{margin-bottom:-55px; padding: 8px 0; position: relative; z-index: 999;}
    .cm-menu li { border-top:1px solid #ccc; }
   /* .interior .main-nav-container{margin-top: 15px;}*/
    .secondary-nav .s-heading{display: block; width:13%; padding: 0 10px;}
    .secondary-nav .s-heading a{color: #fff; text-decoration: none; font-size: 1em; font-weight:900; text-transform: uppercase;}
    .secondary-nav .s-nav-links{width:87%; padding: 0 10px;}
    .secondary-nav .s-nav-links ul{display: block;  text-align: right;}
    .secondary-nav .s-nav-links ul li{display: inline-block; padding: 0px 10px; background: none;}
    .secondary-nav .s-nav-links ul li a{padding: 15px 0 20px 0; border-top:5px solid transparent; display: block;}
    .secondary-nav .s-nav-links ul li a:hover,
    .secondary-nav .s-nav-links ul li a:active{border-top:5px solid #ffa039;}
    .secondary-nav .s-nav-links ul {border-top: none;}
    .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:#ffa039; }
    .secondary-nav .cm-menu{border-top: none;}
    .secondary-nav .cm-menu > li > a{border-top: 5px solid transparent}
    .secondary-nav .cm-menu > li > a:hover,
    .secondary-nav .cm-menu > li > a:focus{border-top:5px solid #ffa039;}
    .secondary-nav .cm-menu > li{background: none;}
    .secondary-nav-header{ display:inline-block; }
}


/*================================================================
                 CLICK MENU MENU TYPES
================================================================*/

/*  NAV BAR STYLE TYPE
    ================================================================*/

@media (min-width:60em){
    .nav-bar li { border-top:0; }

    .nav-bar > ul { display:block; width:100%; text-align: center;}
    .interior .nav-bar  ul { text-align: right;}
    .nav-bar > ul > li { display:inline-block; vertical-align:middle;}   
    .nav-bar > ul > li > a { display:table; width:100%; padding:10px; }
    .secondary-nav .nav-bar > ul > li > a { padding:15px 10px 20px; }
    .nav-bar > ul > li > a > span { display:table-cell; padding:0px;  vertical-align:middle;}
    .nav-bar > ul > li > ul { position:absolute; }

    .nav-bar .has-sub span:after { position:static; margin-top:10px; }
    .nav-bar ul ul .has-sub:after { right:5px; }

    .nav-bar ul li li { text-transform: initial;}
    .nav-bar ul li li li { margin-left:0; margin-right:0; }
    .nav-bar ul ul a { padding:8px 15px; }

    /*.nav-bar ul ul a:hover,*/
    .nav-bar ul ul .opened > a { color:#fff; }
    .nav-bar ul li li a{color:#00456b; font-size: 1.4em; text-align: left;}
    .secondary-nav .nav-bar ul li li a{font-size: 1.1em;}
    .secondary-nav .cm-menu{width: 70%; float: right;}
    /* ================= HOVER FALLBACK IF JAVASCRIPT IS DISABLED ================= */

    .no-js .nav-bar ul ul li:hover > a { color:#000; background:#ddd; }
    .secondary-nav{display: block;}
}

/*  ACCORDION NAVIGATION
    ================================================================*/

/* ------------- CURRENTLY KEEPS SMALL SCREEN STYLES -------------- */


/*  DROP DOWN NAVIGATION
    ================================================================*/

@media (min-width:60em){
    [data-type="dropdown"] ul {
        display:block;
        position:absolute;
        z-index:-1;
        top:110%; left:-100px;
        width:100%; 
        min-width:300px;
        border-top: 5px solid #ffa039;
        background:rgba(255,255,255,0.8);
        -wekbit-transition: max-height 0.4s ease-in-out, opacity 0.4s ease-in-out, left 0.4s ease-in-out, right 0.4s ease-in-out;
                transition: max-height 0.4s ease-in-out, opacity 0.4s ease-in-out, left 0.4s ease-in-out, right 0.4s ease-in-out;
    }
    [data-type="dropdown"] ul ul { top:-5px; }
    [data-type="dropdown"] .opened > ul { left:100%; max-height:80em; opacity:1; }

    li[data-type="dropdown"]:nth-last-child(-n+2) ul { left:auto; right:0; }
    li[data-type="dropdown"]:nth-last-child(-n+2) .opened > ul { left:auto; right:100%; }

    .nav-bar ul li[data-type="dropdown"] li li { margin-left:5px; margin-right:5px; }

    [data-type="dropdown"] a + .has-sub { width:0; min-height:0; height:100%; }
    [data-type="dropdown"] a + .has-sub > span { min-height:0; height:100%; }

    /* ================= HOVER FALLBACK IF JAVASCRIPT IS DISABLED ================= */

    .no-js .cm-menu [data-type="dropdown"] li:hover > ul { left:100%; }
    .no-js .cm-menu [data-type="dropdown"]:nth-last-child(-n+2) ul { left:auto; right:0; }
    .no-js .cm-menu [data-type="dropdown"]:nth-last-child(-n+2) li:hover > ul { left:auto; right:100%; }

}

/*  SLIDING MENU NAVIGATION ADJUSTMENTS
    ================================================================*/


[data-type="sliding"].opened .sub-menu,
[data-type="sliding"].opened .sub-menu ul { max-width:100%; }

.cm-menu [data-type="sliding"].opened .sub-menu > ul { max-height:80em; opacity:1; background: #405c72; }
.secondary-nav .cm-menu [data-type="sliding"].opened .sub-menu  ul { background: #9c5e36;}
.secondary-nav .cm-menu [data-type="sliding"].opened .sub-menu > ul > li{ border-top: 1px solid #af6a3d; padding-left: 20px;}
.cm-menu [data-type="sliding"].animated .sub-menu > ul { overflow:visible; z-index:10; }
.cm-menu [data-type="sliding"].animating .sub-menu { z-index:-1; }


@media(max-width: 60em){
   .secondary-nav .cm-menu [data-type="sliding"].opened .sub-menu,
   .secondary-nav .cm-menu [data-type="sliding"].opened .sub-menu ul { width:100%!important; }
}

@media (min-width:60em){

    [data-type="sliding"] .sub-menu {
        position:absolute;
        -wekbit-transition: all 0.4s ease-in-out;
                transition: all 0.4s ease-in-out;
        left: -150px!important;
    }
    .cm-menu [data-type="sliding"].opened .sub-menu > ul,
    .secondary-nav .cm-menu [data-type="sliding"].opened .sub-menu  ul{background:rgba(255,255,255,0.9);}
    .secondary-nav .cm-menu [data-type="sliding"].opened .sub-menu > ul > li{ border-top: none; padding-left: 20px; word-wrap: break-word;}
    
    [data-type="sliding"] .sub-menu > ul {
        display:block;
        position:absolute;
        z-index:-1;
        top:100%; left:0px;
        width:300px;
        margin-top: 5px;
        border-top: 5px solid #ffa039;
        background:rgba(255,255,255,0.9);
        -wekbit-transition: max-height 0.4s ease-in-out, opacity 0.4s ease-in-out, left 0.4s ease-in-out, right 0.4s ease-in-out;
                transition: max-height 0.4s ease-in-out, opacity 0.4s ease-in-out, left 0.4s ease-in-out, right 0.4s ease-in-out;
    }

    [data-type="sliding"] .sub-menu > ul li { position:static; }
    [data-type="sliding"] .sub-menu > ul > li > ul { position:absolute; top:-5px; background: rgba(255,255,255,0.9); border-top: 5px solid #ffa039; }

    [data-type="sliding"] .sub-menu > ul ul { position:absolute; top:0; }

    [data-type="sliding"] .sub-menu ul ul ul { position:static; margin:0; padding:0; max-height:80em; width:100%; overflow:hidden; background:transparent; opacity:1; }

    [data-type="sliding"] .sub-menu ul ul .has-sub { color:#fff; cursor:default; }
    [data-type="sliding"] .sub-menu ul ul .has-sub { background: none; border-bottom:1px solid #fff; }
    [data-type="sliding"] .sub-menu ul ul .has-sub:after,
    [data-type="sliding"] .sub-menu ul ul .expander-wrap .has-sub  { display:none; }

    [data-type="sliding"] .sub-menu > ul > li > ul > li { /*float:left; width:50%; padding:0 5px;*/     border-left: 1px solid #000;}
    [data-type="sliding"] .sub-menu > ul > li > ul > li:nth-child(2n+1) { /*clear:left;*/ }
    [data-type="sliding"] .sub-menu > ul > li > ul > .link-landing { margin-left:0; margin-right:0; width:100%; }
    [data-type="sliding"] .sub-menu > ul > li > ul > .link-landing ~ li:nth-child(2n+1) { clear:none; }
    [data-type="sliding"] .sub-menu > ul > li > ul > .link-landing ~ li:nth-child(2n+2) { clear:left; }
    
    [data-type="sliding"] .sub-menu > ul > li.opened,
    [data-type="sliding"] .sub-menu > ul > li.opened:active{background: #405c72; color:#fff;}

    /* ================= ESSENTIAL SLIDING FUNCTIONALITY ================= */

    [data-type="sliding"] .sub-menu.cm-js-inactive { position:relative; left:0 !important; width:100% !important; }
    [data-type="sliding"] .sub-menu.cm-js-inactive > ul { min-width:100%; }
    [data-type="sliding"] .sub-menu.cm-js-inactive > ul > li > ul { padding:0; max-width:0; }

    [data-type="sliding"] .sub-menu > ul ul { width:100%!important; margin-left:280px; padding-left:0px; padding-right:5px; /*z-index:-1;*/ opacity:0; }
    [data-type="sliding"] .sub-menu .animated ul { opacity:1; }

    [data-type="sliding"].opened .sub-menu, [data-type="sliding"].opened .sub-menu ul { max-width:none; }
    [data-type="sliding"] .sub-menu > ul > li.opened > a:after{

        border: solid #fff;
        border-width: 0 2px 2px 0;
        display: inline-block;
        padding: 5px;
        top: 15px;
        transform: rotate(-45deg);
        -webkit-transform: rotate(-45deg);
    }
    

    /* ================= HOVER FALLBACK IF JAVASCRIPT IS DISABLED ================= */

    .no-js .cm-menu [data-type="sliding"] li:hover > ul { left:100%; }
    .no-js .cm-menu [data-type="sliding"]:nth-last-child(-n+2) ul { left:auto; right:0; }
    .no-js .cm-menu [data-type="sliding"]:nth-last-child(-n+2) li:hover > ul { left:auto; right:100%; }

    .cm-menu [data-type="sliding"].opened .sub-menu ul{min-height: 25em; padding: 20px 0;}
    .secondary-nav .cm-menu [data-type="sliding"].opened .sub-menu ul{min-height:auto; }
    .cm-menu [data-type="sliding"].opened .sub-menu ul li{padding: 0 20px;}
}


/*  MEGA MENU NAVIGATION ADJUSTMENTS
    ================================================================*/

@media (min-width:60em){

    .cm-menu [data-type="mega"] { position:static; }
    [data-type="mega"] > ul {
        position:absolute;
        top:100%; left:0;
        width:100%; max-height:0;
        background:rgba(255,255,255,0.8);
        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%; }
    [data-type="mega"] ul .has-sub:after { display:none; }
    [data-type="mega"].opened > ul { padding:20px; }

    /* ================= 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
================================================================*/

.toggle-menu, .toggle-menu2 { display:block; position:absolute; top:50px; left:25px; width:45px; height:46px; background:transparent;z-index: 9999; }
.toggle-menu:before, .toggle-menu:after, .toggle-menu > span:before,
.toggle-menu2:before, .toggle-menu2:after, .toggle-menu2 > span:before  {
    content:" ";
    position:absolute;
    left:15%;
    border-radius:8px;
    width:70%; height:5px;
    background:#00446b;
}

.toggle-menu:before,
.toggle-menu2:before { top:11px; }
.toggle-menu:after,
.toggle-menu2:after  { top:21px; }
.toggle-menu > span:before,
.toggle-menu2 > span:before { top:31px; }

.toggle-menu:hover, .toggle-menu:focus, .js-menu-active .toggle-menu,
.toggle-menu2:hover, .toggle-menu2:focus, .js-menu-active .toggle-menu2 { background:#111; }

@media (min-width:60em){
    .toggle-menu, .toggle-menu2 { display:none; }
}


/*================================================================
                 EXTRA OVERWRITE STYLES
================================================================*/

.main-nav { z-index:1000; }

[data-type="sliding"] .sub-menu .item-banner { width:100%; }
[data-type="sliding"] .sub-menu .item-banner a { text-align:center; background:none; }

[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:20px; }
.cm-menu .animated > .custom-sub { overflow:visible; z-index:10; }
.cm-menu .animating > .custom-sub { z-index:-1; }

@media (min-width:60em) {
    [data-type="mega"] .custom-sub {
        position:absolute;
        top:100%; left:0;
        width:100%;
        background:#333;
    }
}

@media (min-width: 60em) and (max-width: 80em){

    .nav-bar > ul > li > a{padding: 5px;}
    .nav-bar > ul > li > a > span{font-size: 0.925em;}
    .main-nav-container{margin-bottom: -45px;}
    .interior .main-nav-container{margin-bottom: 0; margin-right: 20px;}
}

@media (min-width:60em) {
    .table-row { display:table; width:100%; }
    .table-col { display:table-cell; vertical-align:top; }
}

.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; }


