/*================================================================
                 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:#443e3e; text-decoration:none; font-weight: 600; }
.theme-2 .cm-menu a, .theme-2 .cm-menu a:visited { color:#444545; }
.cm-menu *, .cm-menu *:after, .cm-menu *:before {
    -webkit-box-sizing: border-box;
       -moz-box-sizing: border-box;
            box-sizing: border-box;
}

@media (min-width:48em){
	.cm-menu > li > a {color:#44463f !important; font-size: 18px; position:relative; font-weight: 700;}
	.cm-menu > li > a:hover,
	.cm-menu > li > a:focus { text-decoration:none; color:#0653a2;}
	.theme-2 .cm-menu > li > a {color:#fff !important; }
	.cm-menu > li.opened > a {color: #fbad10;}
}
@media (max-width:47.99em){
	.cm-menu a {color:#dfdede !important; }
	.theme-2 .cm-menu ul a {color:#454546 !important; }
	.cm-menu > li > a {color:#fff !important; font-size: 20px; }
	.cm-menu > li.extra-link > a {color:#fbad10 !important; font-size: 16px; background:none; padding: 28px 20px 0 20px; }
	.cm-menu > li.extra-link-alt > a {color:#0c456e !important; background:#fbad10; margin: 28px 10px; border-radius: 6px; }
}

.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; text-align: left; }
@media (min-width:48em) {
	.cm-menu { position:static; }
}
.cm-menu li a { display:block; padding:16px 20px; position:relative; }
.cm-menu li li a {  padding: 8px 20px; line-height:1em; }

.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 {
    font-family: 'Basic-Icons' !important;
	font-weight: bold;
	content:"\2b";
	font-size:14px;
    display:inline-block;
    position:absolute; top:50%; right:10px;
    vertical-align:middle;
    -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{	
    content:"\2d";
}
@media (min-width:48em){
	.cm-menu .has-sub:after,
	.cm-menu .expander-wrap .has-sub > span:after {
		display:none;
	}
}

@media (max-width:47.99em){
	.cm-menu > .opened > a { color:#fff !important; }
	.theme-2 .cm-menu > .opened > a { color:#444545 !important; background: #f2cfe3;  }
	.theme-2.site-4 .cm-menu > .opened > a { color:#444545 !important; background: #afd0ff;  }
}

.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:80em; opacity:1; background:#0855a1; background:rgba(8,85,161,.98); padding-top: 60px; margin-top: -60px; }
.theme-2 .cm-js-active .cm-menu { margin-top: -66px; }
.cm-menu .opened > ul { max-height:80em; 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; }


/* ================= MENU OPEN FUNCTIONALITY ADDED ON SETUP ================= */

@media (min-width:48em){
    .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
================================================================*/

/*  NAV BAR STYLE TYPE
    ================================================================*/

@media (min-width:48em){
    .nav-bar li { border-top:0; }

    .nav-bar > ul { display:table; width:100%; table-layout: fixed;}
    .nav-bar > ul > li { display:table-cell; vertical-align:middle; }
    .nav-bar > ul > li > a { display:table; width:100%; padding:0; }
    .nav-bar > ul > li > a > span { display:table-cell; padding:0 10px; height:60px; vertical-align:middle; text-align:center; }
    .nav-bar > ul > li.opened > a > span,
    .nav-bar > ul > li > a:hover > span { background: #f0f0f0; color:#0653a2;}
    .site-3 .nav-bar > ul > li.opened > a > span,
    .site-3 .nav-bar > ul > li > a:hover > span { background: #f2cee2; color:#444545; }
    .site-4 .nav-bar > ul > li.opened > a > span,
    .site-4 .nav-bar > ul > li > a:hover > span { background: #afd0ff; color:#444545; }
    .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 {  }
    .nav-bar ul li li li { margin-left:0; margin-right:0; }
    .nav-bar ul ul a { padding:10px 15px;}

    .nav-bar ul ul a:hover,
    .cm-js-inFocus ul ul a:focus { color: #fff; background: #0653a3; }
    .theme-2 .nav-bar ul ul a:hover,
    .theme-2 .cm-js-inFocus ul ul a:focus { color: #fff; background: #dc387f; }
	.site-4.theme-2 .nav-bar ul ul a:hover,
    .site-4.theme-2 .cm-js-inFocus ul ul a:focus { background: #484187; }

    /* ================= 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
    ================================================================*/
[data-type="dropdown"] ul {background:#f2cfe3;}
.site-4 [data-type="dropdown"] ul {background:#afd0ff;}
[data-type="dropdown"] ul li {margin-bottom:0;}
@media (min-width:48em){
    [data-type="dropdown"] ul {
        display:block;
        position:absolute;
        z-index:-1;
        top:100%; left:0;
        width:100%; min-width:310px;
        background:#f2cee2;
		border-radius: 0 0 6px 6px;
		padding-bottom: 6px;
        -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 { border-bottom: 1px solid #eca9c9; }
    .site-4 .nav-bar ul li[data-type="dropdown"] li { border-bottom: 1px solid #484187; }
    .nav-bar ul li[data-type="dropdown"] li:last-child { border-bottom: 0; }
    .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:48em){

    [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
    ================================================================*/

.theme-1 .cm-menu .m-column > a.desktop-only-menu-item {
	display: none;
}
	
@media (min-width:48em){

    .cm-menu [data-type="mega"] { position:static; }
    [data-type="mega"] > ul {
        position:absolute;
        top:100%; left:50%;
			-ms-transform: translate(-50%,0); /* IE 9 */
		-webkit-transform: translate(-50%,0); /* Safari */
				transform: translate(-50%,0); /* Standard syntax */				
        max-width: 1400px; width:100%; max-height:0;
        background:#f0f0f0;
        overflow:hidden;
        -wekbit-transition: all 0.4s ease-in-out;
                transition: all 0.4s ease-in-out;
    }
	[data-type="mega"] > ul:before {
		content:"";
		display:block;
		background:#f0f0f0;
		width: 500px;
		height: 100%;
		position:absolute;
		top:0;
		right: 100%;
    -moz-transition: none;
    -webkit-transition: none;
    -o-transition: color 0 ease-in;
    transition: none;	
	}
	[data-type="mega"] > ul:after {
		content:"";
		display:block;
		background:#f0f0f0;
		width: 500px;
		height: 100%;
		position:absolute;
		top:0;
		left: 100%;
    -moz-transition: none;
    -webkit-transition: none;
    -o-transition: color 0 ease-in;
    transition: none;	
	}

    [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; }

	/* Theme 1 adjsutments */
	[data-type="mega"] > ul > li > a {
		font-size:18px;
		font-weight: 700;
		color:#0653a2 !important;
	}
	[data-type="mega"] > ul > li > a:hover {
		color:#fff !important;
	}
	
	.theme-1 .cm-menu .m-column > a{
		display: none;
	}
	.theme-1 .cm-menu .m-column > a.desktop-only-menu-item {
		display: block;
	}
}


/*================================================================
                 NAVIGATION TOGGLE STYLES
================================================================*/

.toggle-menu { display:block; position:relative; border:0; height:22px; width:31px; background:none; font-size:13px; font-weight: bold; text-align: right;}
.toggle-menu:before, .toggle-menu:after, .toggle-menu > span:before {
    content:" ";
    position:absolute;
    left:0px;
    width:31px; height:4px;
    background:#443e3e;
	border-radius: 3px;
}
.theme-2.site-3 .toggle-menu:before, .theme-2.site-3 .toggle-menu:after, .theme-2.site-3 .toggle-menu > span:before {   background:#d51968; }
.theme-2.site-4 .toggle-menu:before, .theme-2.site-4 .toggle-menu:after, .theme-2.site-4 .toggle-menu > span:before {   background:#484187; }

.toggle-menu:before { top:0px; }
.toggle-menu:after { top:9px; }
.toggle-menu > span:before { top:18px; }

.cm-js-menu-active .toggle-menu {
    position: absolute;
    top: 20px;
    right: 18px;
}
.cm-js-menu-active .toggle-menu:before { top:12px; background:#fff;
    -webkit-transform: rotate(45deg);
        -ms-transform: rotate(45deg);
            transform: rotate(45deg);
}
.cm-js-menu-active .toggle-menu:after { top:12px; background:#fff;
    -webkit-transform: rotate(-45deg);
        -ms-transform: rotate(-45deg);
            transform: rotate(-45deg);
}
.cm-js-menu-active .theme-2.site-3 .toggle-menu:before { background:#f0cfe3;}
.cm-js-menu-active .theme-2.site-3 .toggle-menu:after { background:#f0cfe3;}
.cm-js-menu-active .theme-2.site-4 .toggle-menu:before { background:#afd0ff;}
.cm-js-menu-active .theme-2.site-4 .toggle-menu:after { background:#afd0ff;}

.cm-js-menu-active .toggle-menu > span:before {display: none;}

@media (min-width:48em){
    .toggle-menu { display:none; }
}


/*================================================================
                 EXTRA OVERWRITE STYLES
================================================================*/

.main-nav { position:relative; z-index:1000; }
@media (min-width:48em) {
	.main-nav { position:static; }
}

[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.4s ease-in-out;
            transition: all 0.4s 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%;  display: none;}
[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 15px;  background: #d2dde4; }
.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 .banner-wrap {  display: block;}
	
    [data-type="mega"] .custom-sub {
        position:absolute;
        top:100%; left:0;
        width:100%;
        background:#fff;
    }
	
	[data-type="mega"] .custom-sub .banner-wrap {
		border-left: 1px solid #bec4c8;
		height: 178px;
		padding: 0 15px 0 50px;
		max-width: 370px;
		float: right;
	}
}

@media (min-width:48em) {
    .table-row { display:table; width:100%; table-layout: fixed; }
    .table-col { display:table-cell; vertical-align:top; }
}



/* Section Nav */
.railNavHd { margin:0 0 18px 0; padding:0 0 18px 6px; line-height:1em; font-size:36px; font-weight:300; color:#0181c3; border-bottom:2px solid #0181c3;}
.section-nav {  margin-bottom: 30px; }
@media (min-width:48em) {
	.section-nav {  margin-bottom: 60px; }
}
.section-nav .cm-menu li {  padding: 0;}
.section-nav .cm-menu li:before { display:none; }
.section-nav .cm-menu li a {  padding: 10px 6px; color:#0181c3 !important; font-weight:600; font-size:18px; border-bottom:1px solid #0181c3;}
.section-nav .cm-menu li li a {  padding: 6px 10px 6px 20px; font-weight:400; font-size:16px; border:0; background:#f5f8fb;}
.section-nav .cm-menu > li.opened > a:before {display:none;}

.section-nav .cm-menu > .opened > a,
.section-nav .cm-menu li > a:hover {
    color: #fff !important;
    background: #0c456e;
}
.section-nav .opened > ul { max-height:80em; opacity:1; padding:10px 0; background:#f5f8fb; }
.section-nav .cm-menu li.opened > a,
.section-nav .cm-menu li.opened > .expander-wrap a { border-bottom:1px solid #0c456e; color:#fff !important; background:#0c456e; }
.section-nav .opened .opened > .expander-wrap > a { background:#c4c4c4; }

/* CUSTOM */
.banner-wrap .banner {width: 320px;  max-width: 100%; height: 180px; background-repeat: no-repeat; background-position: 50% 50%; }

@media (max-width:47.99em) {
	.toggle-menu {  position: absolute;    top: -41px;    right: 12px;}
	.stuck .toggle-menu {   top: -74px;}
}
@media (min-width:48em) { 
	.cm-menu > li.extra-link,
	.cm-menu > li.extra-link-alt { display:none; }
}
@media (min-width:48em) and (max-width:63.9999em){
	.cm-menu > li > a { font-size: 14px; }
	.cm-menu > li > a:after { font-size: 11px !important; right: 4px !important }
	[data-type="mega"] .custom-sub .banner-wrap { border-left: 0;  padding: 0 15px 0 15px; }
}

/**************** THEME-02 STYLES *******************/
.theme-2 .cm-js-active .cm-menu {
    background: rgb(69,69,70);
    background: rgba(69,69,70,.96);
}