/*================================================================
                 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:#000; 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;
}

.cm-menu:focus { outline:3px solid blue;  }
.cm-menu, .cm-menu ul { margin:0; padding:0; list-style:none; background:#eee; }

.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; }
.cm-menu li a { display:block; padding:10px 10px 10px 40px; position:relative;}

.cm-menu li {}
.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:" ";
    display:inline-block;
    position:absolute; top:50%; right:10px;
    margin:2px 0 0 5px;
    vertical-align:middle;
    border:5px solid transparent;
    border:5px solid rgba(0,0,0,0);
    border-top-color:#000;
    -wekbit-transition: all 0.4s ease-in-out;
            transition: all 0.4s ease-in-out;
    -webkit-transform: scale(0.98) translateY(-50%);
        -ms-transform: scale(0.98) translateY(-50%);
            transform: scale(0.98) translateY(-50%);
}

.cm-menu .opened > .has-sub:after,
.cm-menu .opened > .expander-wrap .has-sub > span:after{
    border-top-color:#333;
    -webkit-transform: scale(0.98) translateY(-75%) rotate(-180deg);
        -ms-transform: scale(0.98) translateY(-75%) rotate(-180deg);
            transform: scale(0.98) translateY(-75%) rotate(-180deg);
} 

/* .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:#333; background:#d4d4d4; } */

.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-js-inFocus ul li a:focus {}

/* .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:110em; opacity:1; }
.cm-menu .opened > ul { max-height:110em; opacity:1; }

/* ================= 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; }

.nav-bar > ul > li > a {padding:15px 10px 15px 20px; white-space:nowrap;}
.nav-bar > ul > li > a > span {font-size:16px; font-weight:bold;}

/* ================= 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 .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
================================================================*/
.cm-menu > li > a {
	border-bottom: none;
	background-color: transparent;
	background-repeat: no-repeat;
}
 

/*  NAV BAR STYLE TYPE
    ================================================================*/

@media (min-width:60em){
	
	
    .nav-bar li { border-top:0; }

    .nav-bar > ul { display:table; background:transparent;}
    .nav-bar > ul > li { display:table-cell; vertical-align:middle; }
	.nav-bar > ul > li > a {
		display: table;
		width: 100%;
		-wekbit-transition: all 0.4s ease-in-out;
		transition: all 0.4s ease-in-out;	
		padding:10px;
	}	
	
    .nav-bar > ul > li > a > span {
		display: table-cell;
		padding: 0 7px;
		vertical-align: bottom;
		text-align: center;
		line-height: 1.2;
		font-size: 14px;
	}
	
	.nav-bar > ul > li:nth-child(6) > a > span {line-height:1.1;}
	
    .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 { margin:5px; }
    .nav-bar ul li li li { margin-left:0; margin-right:0; }
    .nav-bar ul ul a { padding:3px 15px; background:#fff; }

    .nav-bar ul ul a:hover,
    .cm-js-inFocus ul ul a:focus,
    .nav-bar ul ul .opened > a { color:#000; background:#99caf1; }


	.cm-menu > li > a {
		background-position: 50% 40%;
	}
	
		.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 {
			background-color: #fff;
			background-repeat: no-repeat;
			/* background-size: 50px 40px;
			background-position: 50% calc(100% - 50px); */
			-wekbit-transition: all 0.4s ease-in-out;
					transition: all 0.4s ease-in-out;			
		}	

	.nav-bar > ul > li:nth-child(7):after {
		position:absolute;
		content:"";
		left:0;
		top:25px;
		bottom:17px;
		width:1px;
		background:#ccc;
	}
		
    /* ================= HOVER FALLBACK IF JAVASCRIPT IS DISABLED ================= */

    .no-js .nav-bar ul ul li:hover > a { color:#000; background:#ddd; }

}

/*  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:100%; left:0;
        width:100%; min-width:180px;
        background:#fff;
        -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; }
.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 (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;
    }
    [data-type="sliding"] .sub-menu > ul {
        display:block;
        position:absolute;
        z-index:-1;
        top:100%; left:0;
        width:180px;
        background:#333;
        -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:0; }

    [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; }
    [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; }

    /* ================= 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%; margin-left:-5px; padding-left:180px; 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; }

    /* ================= 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%; }

}

/*  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:#333;
        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 { display:block; position:absolute; right:20px; top:-53px; border:0; width:40px; height:39px; background:none; border:2px solid #ccc; padding:0;}
.toggle-menu:before, .toggle-menu:after, .toggle-menu > span:before {
    content:" ";
    position:absolute;
    left:6px;
    width:25px; 
	height:2px;
    background:#ccc;
}

.toggle-menu:before { top:9px; }
.toggle-menu:after { top:16px; }
.toggle-menu > span:before { top:23px; }

/* .toggle-menu:hover, .toggle-menu:focus, .js-menu-active .toggle-menu { background:#111; } */

@media (min-width:60em){
    .toggle-menu { display:none; }
}

.cm-js-menu-active .toggle-menu:before, 
.cm-js-menu-active .toggle-menu:after {height:2px;}

.cm-js-menu-active .toggle-menu {
	background:#4b4b4b;
}
.cm-js-menu-active .toggle-menu > span:before {display:none;}
.cm-js-menu-active .toggle-menu:before { 
	top:17px; 
	-ms-transform: rotate(-45deg); 
	-webkit-transform: rotate(-45deg); 
	transform: rotate(-45deg);
}
.cm-js-menu-active .toggle-menu:after {
	top:17px; 
	-ms-transform: rotate(45deg); 
	-webkit-transform: rotate(45deg); 
	transform: rotate(45deg);
}
/*================================================================
                 EXTRA OVERWRITE STYLES
================================================================*/

.main-nav { position:relative; 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;}
.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;
    }
	
	.cm-menu .opened > .custom-sub {
		padding: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; }


@media (min-width:60em){
	.nav-bar-wrpr {
		position: absolute;
		right: 10px;
		top: -55px;
		display: -webkit-box;
		display: -moz-box;   
		display: -ms-flexbox;
		display: -webkit-flex;
		display: flex;
		align-items: center; /* vertical */ 

	}
	
	.cm-menu .has-sub:after,
	.cm-menu .expander-wrap .has-sub > span:after {
		right:5px;
	}
}


/*================================================================
                 DRAWER STYLES
================================================================*/
/* .mainBodyOverlay {height:0;}
.mainBodyOverlay:after {display:none;}

.main-nav .secondaryNav {display:none;}
@media (max-width:59.938em) {
	body, html {
		overflow-x: hidden;
	}

	.site-header,
	.main-content, 
	.site-footer  {
		right: 0;
		position: relative;
		transition: right 0.3s ease-in-out 0s;
	}
	.cm-js-menu-active {
		overflow: hidden;
	}
	.cm-js-menu-active .site-header,
	.cm-js-menu-active .main-content,
	.cm-js-menu-active .site-footer {right:-82.2%;}
	
	.nav-bar {
		height: 0;
		position: relative;
		z-index: 4000;
	}
	.nav-bar .cm-menu {
		height: 100%;
		right: 100%;
		position: fixed;
		top: 0;
		padding-top: 25px;		
		padding-bottom: 30px;
	}	
	.nav-bar .cm-menu {
		background: #eee;
		overflow-y: auto;
		width: 82.2%;
		transition: all 0.3s ease-in-out 0s;		
	}

	.cm-js-menu-active .main-nav .cm-menu {right:17.8%;}	
	
	.cm-js-menu-active .toggle-menu {left:82.2%; transition: right 0.3s ease-in-out 0s;}

	
	.main-nav .secondaryNav {display:block;}
	.main-nav .secondaryNav a {font-weight:normal;}

} */

.cm-menu .extra-link a {font-size:16px; font-weight:normal;}
.cm-menu .extra-link .megamenu-list-heading a {font-weight:700;}

@media (max-width:59.938em) {

	.cm-menu .extra-link .has-sub:after  {
		content:" ";
		display:inline-block;
		position:absolute; top:50%; right:10px;
		margin:2px 0 0 5px;
		vertical-align:middle;
		border:5px solid transparent;
		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) translateY(-50%);
			-ms-transform: scale(0.98) translateY(-50%);
				transform: scale(0.98) translateY(-50%);
	}

	.cm-menu .extra-link.opened > .has-sub:after {
		border-top-color:#fff;
		-webkit-transform: scale(0.98) translateY(-75%) rotate(-180deg);
			-ms-transform: scale(0.98) translateY(-75%) rotate(-180deg);
				transform: scale(0.98) translateY(-75%) rotate(-180deg);
	} 
	
	
	
	
	.cm-js-menu-active .nav-bar-wrpr {top:90px; left:0; bottom:0; right:0; background:#eeeeec; z-index: 9; min-height:100vh;}
	.cm-js-menu-active #main-content,
	.cm-js-menu-active .site-footer {display:none;}
	
	.cm-js-menu-active .cm-menu {
		-webkit-box-shadow: inset 0px 8px 8px -8px rgba(50, 50, 50, 0.2);
		-moz-box-shadow: inset 0px 8px 8px -8px rgba(50, 50, 50, 0.2);
		box-shadow: inset 0px 8px 8px -8px rgba(50, 50, 50, 0.2);		
	}
	
	.nav-bar > ul > li {border-bottom:1px solid #d7d7d7;}
	.nav-bar > ul > li > a {background-color:transparent;}

	.cm-menu > li  > a {
		background-position: 25px 50%;
	}
	.cm-menu > li:nth-child(1)  > a {
		background-position: 20px 50%;
	}	
	.cm-menu > li:nth-child(4)  > a {
		background-position: 33px 50%;
	}	
	

	.nav-bar > ul > li.extra-link {border:none;}
	.nav-bar > ul > li.extra-link > a {background:#0234a7; color:#fff; font-size:16px; font-weight:700; text-transform:none; padding: 15px 10px 15px 20px;}
	.nav-bar > ul > li.extra-link > a span {display:none;}
	
	.nav-bar > ul > li.extra-link.first > a {padding-top:30px;}
}

/* SECONDARY NAV */


.secondary-main-nav {
	display:none; 
}

.secondary-main-nav .cm-menu {
	float:right;
	position:static;
}

.secondary-main-nav [data-type="mega"] .custom-sub {
	background:#fff;
	border-top: 4px solid #005DAA;
	-webkit-box-shadow: 0 8px 24px -5px #ccc;
	-moz-box-shadow: 0 8px 24px -5px #ccc;
	box-shadow: 0 8px 24px -5px #ccc;	
	padding:10px;
}

.secondary-main-nav .cm-menu li a {
	padding:10px;
	font-size:14px;
}

.secondary-main-nav .cm-menu > li > a {
	font-size:18px;
	padding:10px 20px;
}


.secondary-main-nav .toggle-menu {
	top:20px;
	right:60px;
}

@media only screen and (min-width:60em){
		
	.secondary-main-nav {
		position: relative;
		width: 980px;
		right: 0;
		float: right;
		z-index:1001 !important;
		display:block;
	}

	.secondary-main-nav  .table-row {
		table-layout:fixed;
	}
	
	.secondary-main-nav .table-col {
		border-right:1px solid #ccc;
	}

	.secondary-main-nav .table-col:last-child {
		border-style:none;
	}	
	
	.secondary-main-nav ul li ul {
		padding:0 10px;
		background:#fff;
	}
	
	.secondary-main-nav ul li li {
		margin:0;
	}
	
}