@viewport {
	width: device-width;
}

@-ms-viewport {
	width: device-width;
}

* {
	box-sizing: border-box;
}


.nav-lock-scroll {
	overflow: hidden;
}

.nav {
	display: none;
	position: fixed;
	top: 0;
	bottom: 0;
	left: 0;
	right: 0;
	/*z-index: 40;*/
	overflow-x: hidden;
	overflow-y: auto;
}

.nav ul {
	display: block;
	position: relative;
	zoom: 1;
	list-style-type: none;
	margin: 0;
	padding: 0;
}

.nav a,
.nav a:hover,
.nav a:active,
.nav a:visited {
	display: block;
	position: relative;
}

#navWrapper #quickLinks {
    background-color: #1665AF;
    color: #DDDDDD;
    padding: 8px 10px 12px 10px;
    font-size: .9rem;
    display: block;
}

#navWrapper #quickLinks a {
    color: #DDDDDD;
}


div#quickLinks {
    width: 100%;
}

div#quickLinks ul {
    list-style: none;
    padding: 0;
    margin: 0;
}

div#quickLinks ul li {
    display: inline;
    white-space: nowrap;
    padding: 0 4px 0 0;
    margin:0;
}

div#quickLinks ul li:last-child {
    padding-right: 10px;
}

div#quickLinks ul li:before {
    content: "· ";
}

div#quickLinks ul li:first-child:before {
    content: "";
}

@media only screen and (min-width: 840px) {

#navHomeSep {
    display: inline;
}

.nav {
	display: block;
	position: relative;
	bottom: auto;
	overflow: visible;
}

.nav li {
	position: relative;
	white-space: nowrap;
}

.nav > ul > li {
	display: inline-block;
}

.nav ul {
	display: block;
}

.nav ul ul {
	display: none;
	position: absolute;
	top: 100%;
	left: 0;
	z-index: 301;
}

.nav ul ul ul {
	top: 5px;
	left: 95%;
	z-index: 302;
}

.nav ul ul ul ul {
	z-index: 303;
}

.nav ul ul ul ul ul {
	z-index: 304;
}

.nav ul ul li.nav-left > ul {
	left: auto;
	right: 95%;
}

.nav-no-js .nav li:hover > ul {
	display: block;
}

#navWrapper #quickLinks {
    display: block;
    margin-bottom: 1rem;
}


}

@media only screen and (max-width: 839px) {

    #navHomeSep {
        display: none;
    }

    #topH1MenuItem a {
        font-size: 1.3em;
        font-weight: bold;
    }


.nav-no-js .nav-button:hover + .nav,
.nav-no-js .nav:hover,
.nav-no-js .nav-button:hover + .nav + .nav-close,
.nav-no-js .nav:hover + .nav-close {
	display: block;
}

#navWrapper #quickLinks {
    display: none;
}

#navWrapper {
    margin-bottom: 5rem;
}

nav.nav {
    padding-top: 5rem;
}

}


@font-face {
	font-family: "icon-font";
	src: url('nav-icon-font/icon-font.eot');
	src: url('nav-icon-font/icon-font.eot?#iefix') format('eot'), url('nav-icon-font/icon-font.woff') format('woff'), url('nav-icon-font/icon-font.ttf') format('truetype'), url('nav-icon-font/icon-font.svg#icon-font') format('svg');
}

.icon-desktop:before,
.icon-menu-close:before,
.icon-menu:before,
.icon-mobile:before,
.icon-submenu-down:before,
.icon-submenu-right:before,
.icon-world:before,
header h1:before,
.nav-button:before,
.nav-close:before,
.nav .nav-submenu > a:after,
.nav > ul > .nav-submenu > a:after {
	font-family: "icon-font";
	-webkit-font-smoothing: antialiased;
	-moz-osx-font-smoothing: grayscale;
	font-style: normal;
	font-variant: normal;
	font-weight: normal;
	text-decoration: none;
	text-transform: none;
	vertical-align: top;
}

.icon-desktop:before {
	content: "\E001";
}

.icon-menu-close:before {
	content: "\E002";
}

.icon-menu:before {
	content: "\E003";
}

.icon-mobile:before {
	content: "\E004";
}

.icon-submenu-down:before {
	content: "\E005";
}

.icon-submenu-right:before {
	content: "\E006";
}

.icon-world:before {
	content: "\E007";
}

/*body {
	padding-top: 4.4rem;
}
*/
#navWrapper header {
	display: block;
	position: fixed;
	top: 0;
	left: 0;
	right: 0;
	/*z-index: 31;*/
	padding-left: 10px;
	background: #0054A6;
	color: #FCFCFC;
}

#navWrapper header h1 {
	margin: 0;
	font-size: 1.7rem;
	line-height: 4.4rem;
}


#navWrapper .nav-button,
#navWrapper .nav-close {
	position: fixed;
	top: 0;
	width: 2.4rem;
	height: 3.3rem;
	overflow: hidden;
	z-index: 302;
	cursor: pointer;
	text-decoration: none;
	line-height: 3.3rem;
	background: #0054A6;
	color: #FCFCFC;
}

#navWrapper .nav-button:before,
#navWrapper .nav-close:before {
	display: block;
	text-align: center;
}

#navWrapper .nav-button {
	display: block;
	right: 1rem;
	font-size: 1.7rem;
}

#navWrapper .nav-button:before {
	content: "\E003";
}

#navWrapper .nav-close {
	display: none;
	right: 4rem;
	font-size: 1.9rem;
}

#navWrapper .nav-close:before {
	content: "\E002";
}

#navWrapper .nav {
	line-height: 2.4rem;
	background: #0054A6;
	color: #FCFCFC;
}

#navWrapper .nav ul {
	/*border-radius: 0 0 6px 6px;*/
    background: #0054A6;
    margin-right: 3.6rem;
}

#navWrapper .nav ul ul {
	background: #6686AD;
}

#navWrapper .nav ul ul ul {
	background: #5779A2;
}

#navWrapper .nav ul ul ul ul {
	background: #4F6D92;
}

#navWrapper .nav ul ul ul ul ul {
	background: #466081;
}

#navWrapper .nav li {
	border-top: 1px solid #a9a9a9;
	cursor: pointer;
}

#navWrapper .nav li:hover > a,
#navWrapper .nav li.nav-active > a {
	color: #515151;
	background: #C8D6E6;
}

#navWrapper .nav .nav-submenu > ul {
	margin-left: 10px;
}

#navWrapper .nav .nav-submenu > a {
	padding-right: 30px !important;
}

#navWrapper .nav a,
#navWrapper .nav a:hover,
#navWrapper .nav a:active,
#navWrapper .nav a:visited {
	/*border-radius: 6px;*/
	padding: 0 15px 1px;
	color: #FFFFFF;
	text-decoration: none;
}

#navWrapper .nav .nav-submenu > a:after {
	position: absolute;
	display: block;
	right: 10px;
	top: 1px;
	content: "\E005";
}

@media only screen and (min-width: 840px) {

    body {
        padding: 0 !important;
    }

	#navWrapper header {
        position: relative;
    }


	#navWrapper .nav-button {
        display: none;
    }

	#navWrapper .nav {
        padding: 0 !important;
    }

	#navWrapper .nav .nav-submenu ul.sub-nav-2-col {
        columns: 2;
        -webkit-columns: 2;
        -moz-columns: 2;
    }

	#navWrapper .nav .nav-submenu ul.sub-nav-3-col {
        columns: 3;
        -webkit-columns: 3;
        -moz-columns: 3;
    }

	#navWrapper .nav > ul > li {
        border-top: none;
    }

	#navWrapper .nav li > ul {
        box-shadow: 0px 0px 5px 0px rgba(0, 0, 0, 0.75);
    }

	#navWrapper .nav ul ul ul {
        /*border-radius: 0 6px 6px 6px;*/
    }

	#navWrapper .nav ul ul ul li:first-child {
        border-top: none;
    }

	#navWrapper .nav .nav-left > ul {
        /*border-radius: 6px 0 6px 6px;*/
    }

	#navWrapper .nav .nav-submenu li {
        min-width: 110px;
    }

	#navWrapper .nav .nav-submenu > ul {
        margin: 0;
    }

	#navWrapper .nav > ul > .nav-submenu > a:after {
        content: "\E005";
    }

	#navWrapper .nav .nav-submenu > a:after {
        content: "\E006";
    }

}

#navWrapper .nav .nav-active-menu  {
    font-weight: bold;
    background-color: #88A0BF;
}

/* menu wrpper styles */
#navWrapper * {

}

#navWrapper nav.nav {
    font-size: 14px;
}

#navWrapper h1 {
    font-weight: 800;
    font-size: 1.6rem;
    line-height: 1.7;
    padding: 6px 0 0 6px;
}

#navWrapper h1 a {
    font-weight: 800;
    font-size: 1.6rem;
    line-height: 1.7;
    padding: 6px 0 0 6px;
    color: #ffffff;
    text-decoration: underline;
}

/* module chooser menu */
select#moduleSelector {
    font-size: 1.5rem;
    font-weight: 600;
    text-decoration: underline;
    -webkit-appearance: none;
    appearance: none;
    color: white;
    border: 0;
    line-height: 1;
    outline: 0;
    padding: 0 0.2em 0.55em 0.3em;
    background-color:  #0054A6;
    background-repeat: no-repeat, no-repeat, no-repeat, no-repeat;
    background-size: 1px 100%, 20px 22px, 20px 22px, 20px 100%;
    background-position: right 20px center, right bottom, right bottom, right bottom;
  }

  select#moduleSelector:hover {
    cursor: pointer;
  }

  #headerRow {
    display: flex;
    justify-content: space-between;
    align-content: center;
}

input#topSearch {
    width: 25rem;
    line-height: 2.0;
    margin: 12px;
}

div#topSearchCol {
    text-align: right;

}

div#topTitleCol {
}

#topSearchCol .selectize-input {
    width: 25rem;
    line-height: 2.0;
    margin: 12px;
    padding: 0;
    text-align: left;
}
div.flex-grid {
    flex: 1;
}

.selectize-dropdown {
    margin: -12px 0 0 0;
    background-color: #FFFFFF;
    text-align: left;
    box-shadow: 0 4px 8px 0 rgba(0, 0, 0, 0.2), 0 6px 20px 0 rgba(0, 0, 0, 0.19);


}

.selectize-dropdown div {

}

.selectize-dropdown div.active,
.selectize-dropdown div.selected {
    color: #000000;
    background-color: #D8E9FF;
}


.selectize-dropdown .optgroup-header {
    background-color: #b0b0b0;
    color: #000000;
    font-weight: 800;
    padding: 0 0 0 10px;
    line-height: 2.8;
}

.selectize-dropdown-content {
    max-height: 400px;

}

.searchResultOption .name {
    font-size: 1.4rem;
    padding: 16px 2px 6px 10px;
}
.searchResultOption .desc {
    color: #C0C0C0;
    font-size: .8rem;
}

@media (max-width: 900px) {
  #headerRow {
    display: block;
  }
}

/* putting print rules here to because chrome seems to ignore print.css */
@media print {
  .noprint {
    display: none !important;
  }
}
