/*---------------------------------------
   1.0 FONTS
-----------------------------------------*/

@font-face {
    font-family: 'opensanslight';
    src: url('../fonts/open-sans/OpenSans-Light.woff2') format('woff2'),
         url('../fonts/open-sans/OpenSans-Light.woff') format('woff');
    font-weight: normal;
    font-style: normal;
}

@font-face {
    font-family: 'opensansregular';
    src: url('../fonts/open-sans/OpenSans.woff2') format('woff2'),
         url('../fonts/open-sans/OpenSans.woff') format('woff');
    font-weight: normal;
    font-style: normal;
}

@font-face {
    font-family: 'opensansbold';
    src: url('../fonts/open-sans/OpenSans-Bold.woff2') format('woff2'),
         url('../fonts/open-sans/OpenSans-Bold.woff') format('woff');
    font-weight: normal;
    font-style: normal;
}

/*---------------------------------------
   3.0 Footer
-----------------------------------------*/

#footer {
    font-size: 14px;
    background: #492D7F;
    color: #FFFFFF;
    text-align: center;
}

#footer .container2 {
    background: rgba(0, 0, 0, 0) none repeat scroll 0 0;
    /*
    border-top: 1px solid #dadbdb;
	border-bottom: 1px solid #dadbdb;
    */
    clear: both;
    /* margin: 10px auto; */
    padding: 10px 0 10px;
}

#footer a {
	color: #fff;
}

#footer .fa {
    font-family: 'Font Awesome 5 Brands';
    font-size: 23px;
    margin-right: 5px;
}

#footer a:hover {
	text-decoration: none;
	color: #1b0056;
}

#footer ul li {
	list-style-type: none;
	font-family: 'opensansregular', arial, sans-serif;
}

#footer ul,
#footer ul li {
	margin-left: 0;
	padding-left: 0;
}

#footer .logos img {
    margin-bottom: 10px;
    margin-right: 20px;
    margin-top: 10px;
}

/*---------------------------------------
   1.1 GENERAL STYLES                
-----------------------------------------*/

/*---------------------------------------
   2.3 ANCHOR AND BOLD TEXT           
-----------------------------------------*/
a {
	text-decoration: none;
	-webkit-transition: all ease 0.25s;
	transition: all ease 0.25s;
	outline: 0;
}

/*a:hover {
	text-decoration: none;
	color: #1b0056;
}*/

a:focus {
	outline: 0;
	text-decoration: none;
}

/*---------------------------------------
   1.4 MISC FIXES         
-----------------------------------------*/
@-webkit-viewport {
	width: device-width;
}

@-moz-viewport {
	width: device-width;
}

@-ms-viewport {
	width: device-width;
}

@-o-viewport {
	width: device-width;
}

@viewport {
	width: device-width;
}

.row.no-gutters[class^="col-"],
.row.no-gutters[class*=" col-"] {
	padding-right: 0;
	padding-left: 0;
}

.navbar-inverse .navbar-nav > li > a {
	color: inherit;
}

.nav > li > a {
	padding: inherit;
}

.navbar-nav.navbar-right:last-child {
	margin-right: 0;
}

.navbar-inverse .navbar-nav > li > a:focus {
	color: #1b0056;
	outline: 0;
}

.navbar-inverse .navbar-nav > li.not-active {
	color: #1b0056;
}

/* --------------------------------------
=========================================
   2. COMPONENTS
=========================================
-----------------------------------------*/
/*---------------------------------------
   2.1 TYPOGRAPHY      
-----------------------------------------*/
/* HEADINGS */
.red-text {
	color: #1b0056;
}

.yellow-text {
	color: #492D7F;
}


/*--------------------------------------------------------------
	2.2 Elements
--------------------------------------------------------------*/
*,
*:before,
*:after { /* Inherit box-sizing to make it easier to change the property for components that leverage other behavior; see http://css-tricks.com/inheriting-box-sizing-probably-slightly-better-best-practice/ */
	/*box-sizing: inherit;*/
}

blockquote:before,
blockquote:after,
q:before,
q:after {
	content: "";
}

blockquote,
q {
	quotes: "" "";
}

hr {
	background-color: #ccc;
	border: 0;
	height: 1px;
	/*margin-bottom: 1.5em;*/
    margin-bottom: 20px;
    margin-top: 20px;
}

ul,
ol {
	margin: 0 0 1.5em 0;
	padding-left: 20px;
}

ul {
	list-style: disc;
}

ol {
	list-style: decimal;
}

li > ul,
li > ol {
	margin-bottom: 0;
	margin-left: 1.5em;
}

dt {
	font-weight: bold;
}

dd {
	margin: 0 1.5em 1.5em;
}

img {
	-ms-interpolation-mode: bicubic;
	border: 0;
	height: auto;
	max-width: 100%;
	vertical-align: middle;
}

table {
	margin: 0 0 1.5em;
	width: 100%;
}
table, 
th, 
td {
	border: 1px solid #eaeaea;
}

th, 
td {
	padding: 0.4em;
}

p {
	margin: 0 0 10px;
}

dfn,
cite,
em,
i {
	font-style: italic;
}

blockquote {
	padding: 15px 20px;
	font-size: 17.5px;
	line-height: 24px;
	margin-bottom: 1.5em;
	font-weight: 300;
}

address {
	margin: 0 0 1.5em;
}

pre {
	background: #eee;
	font-family: "Courier 10 Pitch", Courier, monospace;
	font-size: 15px;
	font-size: 0.9375rem;
	line-height: 1.6;
	margin-bottom: 1.6em;
	max-width: 100%;
	overflow: auto;
	padding: 1.6em;
	background: #FAFAFA;
	border: 1px solid #E7E7E7;
}

code,
kbd,
tt,
var {
	font-family: Monaco, Consolas, "Andale Mono", "DejaVu Sans Mono", monospace;
	font-size: 15px;
	font-size: 0.9375rem;
}

abbr,
acronym {
	border-bottom: 1px dotted #666;
	cursor: help;
}

mark,
ins {
	background: #fff9c0;
	text-decoration: none;
}

big {
	font-size: 125%;
}

/*---------------------------------------
   2.6 SECTION HEADERS       
-----------------------------------------*/
.section-header {
    /*
	margin-top: 60px;
	margin-bottom: 60px;
    */
	text-align: left;
}

.sub-heading {
	margin-top: 20px;
}

/*---------------------------------------
   3.1 SECTION: HOME / HEADER         
-----------------------------------------*/

/* STICKY NAVIGATION AND LOGO */
#menu-primary {
	font-size: 14px;
	float: right;
}

/*
#menu-primary .active {
	font-weight: bold;
    background-color: #dedede;
}

#menu-primary .active .sub-menu .active,
#menu-primary .sub-menu .sub-menu-link:hover {
    background-color: #1b0056;
}

#menu-primary .active .sub-menu .active,
#menu-primary .active {
	font-weight: bold;
}
*/

#menu-primary .active .sub-menu {
    font-weight: normal;
}

.appear-on-scroll {
    opacity: 0;
}

header .navbar-brand {
	padding: 7px;
    /* padding: 0 15px 15px 0; */
	height: 100%;
	line-height: 47px;
}

.navbar-brand > img {
	/*max-height: 60px;*/
	display: inline-block;
}

.sticky-navigation {
    background: #ffffff;
    min-height: 70px;
    border: none;
    font-weight: 400;
    margin-bottom: 0 !important;
    -webkit-backface-visibility: hidden;
    -webkit-box-shadow: 0px 2px 8px 0px rgba(50, 50, 50, 0.08);
    box-shadow: 0px 2px 8px 0px rgba(50, 50, 50, 0.08);
}

.sticky-navigation .navbar-brand img {
    -webkit-backface-visibility: hidden;
}

.sticky-navigation .main-navigation {
    margin-top: 0;
}

.sticky-navigation .main-navigation li a {
    /*text-transform: uppercase;*/
	/*line-height: 18px;*/
    /*
	margin: 26px 18px;
	padding: 0px 20px 0px 20px;
    */
    font-size: 18px;
    color: #1b0056;
    line-height: 39px;
    padding-top: 15px;
    padding-bottom: 15px;
    padding-left: 30px;
    padding-right: 30px;
}

/*
.sticky-navigation .main-navigation li.menu-item-has-children a {
    padding-right: 40px;
}
*/

.main-navigation ul ul.sub-menu {
    padding-top: 10px;
    padding-bottom: 10px;
}

.sticky-navigation .main-navigation .sub-menu li a {
	margin: 0;
    padding-top: 0;
    padding-bottom: 0;
}


.menu-align-center  .main-navigation li a {
	margin: 0;
}

.sticky-navigation .main-navigation a {
	display: block;
	text-decoration: none;
	text-align: left;
	color: #313131;
}

.sticky-navigation .main-navigation ul ul a {
    /*width: 200px;*/
    width: 177px;
    /* padding: 10px; */
}

.dropdownmenu {
	position: absolute;
	top: 23px;
	right: 0;
	z-index: -1;
	line-height: 28px;
}

.sticky-navigation-open .sticky-navigation {
	top: 0px;
	opacity: 1;
}

.main-navigation {
	font-family: 'opensansregular', arial, sans-serif;
}

.site-footer .main-navigation {
	margin-bottom: 1.75em;
}

.main-navigation ul {
	list-style: none;
	margin: 0;
}

.main-navigation li {
	position: relative;
    /*
    border-left: 1px solid #dedede;
    border-bottom: 1px solid #dedede;
    */
}

/*
#menu-primary li.menu-item:hover {
    border-bottom: 1px solid #1b0056;
}
*/

.main-navigation li .sub-menu li {
    border: 0;
}

/*
li.last-item {
    border-right: 1px solid #dedede;
}
*/

.main-navigation a {
	color: #1a1a1a;
	display: block;
	line-height: 1.3125;
	padding: 0.84375em 0;
}

.main-navigation ul ul {
	display: none;
}

.main-navigation ul .toggled-on {
	display: block;
}

.main-navigation .primary-menu {
	border-bottom: 1px solid #e8e8e8;
}

.main-navigation .menu-item-has-children > a {
	margin-right: 50px;
}

.site-header-menu {
	display: none;
	-webkit-flex: 0 1 100%;
	-ms-flex: 0 1 100%;
	flex: 0 1 100%;
}

.site-header-menu.toggled-on,
.no-js .site-header-menu {
	display: block;
}

.primary-menu:before,
.primary-menu:after {
	content: "";
	display: table;
}

.primary-menu:after {
	clear: both;
}

.menu-item-has-children a:after,
.dropdown-toggle:after{
	-moz-osx-font-smoothing: grayscale;
	-webkit-font-smoothing: antialiased;
	display: inline-block;
	font-family: "Genericons";
	font-size: 16px;
	font-style: normal;
	font-weight: normal;
	font-variant: normal;
	line-height: 1;
	speak: none;
	text-align: center;
	text-decoration: inherit;
	text-transform: none;
	vertical-align: top;
}

.menu-item > a:focus{
	outline: 0;
}

.site-header-menu.toggled-on,
.no-js .site-header-menu {
	display: block;
}
.main-navigation ul .toggled-on {
	display: block;
}

.dropdown-toggle {
	position: absolute;
    z-index: 9;
    right: 0;
    top: 10px;
    right: 10px;
    width: 25px;
    height: 25px;
    margin: 0;
    padding: 0;
    border: 0;
    background-color: #1b0056;
	color: #ffffff;
}

.dropdown-toggle:after {
	content: "\f078";
	font-family: FontAwesome;
    font-style: normal!important;
    font-weight: 400!important;
    font-variant: normal!important;
    text-transform: none!important;
    speak: none;
    line-height: 24px;
    -webkit-font-smoothing: antialiased;
}

.dropdown-toggle:hover,
.dropdown-toggle:focus {
	background-color: #1b0056;
	color: #ffffff;
	z-index: 1;
}

.dropdown-toggle.toggled-on,
.dropdown-toggle.toggled-on:hover,
.dropdown-toggle.toggled-on:focus {
	background-color: #1b0056;
	color: #fff;
	z-index: 1;
}

.dropdown-toggle.toggled-on:after {
	content: "\f078";
	font-family: FontAwesome;
    line-height: 28px;
}


.dropdown-toggle.toggled-on:after {
	content: "\f078";
	font-family: FontAwesome;
	-webkit-transform: rotate(-180deg);
	-moz-transform: rotate(-180deg);
	-ms-transform: rotate(-180deg);
	transform: rotate(-180deg);
}

.admin-bar .sticky-navigation-open .sticky-navigation {
	top: 32px;
	opacity: 1;
}

.sticky-navigation-open {
	min-height: 70px;
	background: transparent;
}

.primary-menu {
	width: auto;
}

.menu-align-center .navbar-header,
.menu-align-center .navbar-collapse {
	width: 100%;
	text-align: center;
}

.menu-align-center .navbar-header > a {
	display: inline-block;
	float: none;
}

.menu-align-center .primary-menu {
	text-align: center;
	width: 100%;
	margin-bottom: 10px;
}

.menu-align-center .primary-menu > li {
	display: inline-block;
	float: none;
}

.menu-align-center .primary-menu > li a {
	padding: 5px 8px;
}


.menu-align-center .primary-menu > li.menu-item-has-children a {
	padding: 5px 18px 5px 8px;
}

.menu-align-center .primary-menu > li.menu-item-has-children > .dropdownmenu {
	top: 4px;
}

.menu-align-center .no-menu > li > a{
	padding: 5px 8px;
}

.navbar-inverse .navbar-toggle .icon-bar {
	background-color: #FFF;
	height: 4px;
	width: 30px;
	-webkit-border-radius: 2px;
	-moz-border-radius: 2px;
	border-radius: 2px;
}

.navbar-toggle .icon-bar {
	display: block;
	width: 22px;
	height: 2px;
	-webkit-border-radius: 1px;
	-moz-border-radius: 1px;
	border-radius: 1px;
}
.navbar-toggle {
	margin-right: 5px;
	/*padding: 13px 10px;*/
    padding: 23px 10px;
}

/* Hover state */

/*
#menu-primary li.menu-item:hover {
background-color: #1b0056;
}

#menu-primary li.menu-item:hover a {
    color: #FFFFFF;
}

#menu-primary .sub-menu,
#menu-primary .sub-menu li.menu-item:hover {
    background-color: #492D7F;
}
*/


/*---------------------------------------
   4. DEFAULT COLORS
-----------------------------------------*/

.sticky-navigation .main-navigation li a:hover,
.sticky-navigation .login-register li.login a:hover {
	color: #333;
	text-decoration: none;
}

.sticky-navigation .main-navigation li.current > a {
    color: #1b0056;
}

/* --------------------------------------
=========================================
   6. RESPONSIVE CSS FIXES
=========================================
-----------------------------------------*/

/*---------------------------------------
   6.5 FIXES FOR => 768PX to <= 991PX SCREENS          
-----------------------------------------*/
@media (max-width: 782px) {
	.admin-bar .sticky-navigation-open .sticky-navigation {
	  top: 46px;
	}
	.contact-links .contact-link-box {
		margin-right: 0;
	}
}

/* Menu kicks in */
@media (max-width: 768px) {

html body .content-warp.no-banner {         
    margin-top: 0;     
}

body .navbar-collapse {
    padding: 0;
}

body #menu-primary {
    margin-bottom: 0em;
}

.main-navigation .primary-menu {
    border: 0;
}

/*
.main-navigation li {
    border-right: 1px solid #dedede;
}

#menu-primary .sub-menu a {
    color: #FFFFFF;
}
*/

#menu-primary li.menu-item:hover {
    background-color: none;
}

#menu-primary .sub-menu .sub-menu-link:hover {
    width: 100%;
}

body .dropdown-toggle {
    background-color: #492D7F;
}

.sticky-navigation .main-navigation ul ul a {
    width: 100%;
}

.main-navigation li {
    border-bottom: 0;
}

.navbar-collapse {
    border-bottom: none;
}

.sticky-navigation .main-navigation .sub-menu li a {
    padding-left: 20px;
}

.sticky-navigation .main-navigation .sub-menu li a {
    padding-top: 10px;
    padding-bottom: 10px;
}

}

@media (min-width: 768px) {
	.navbar>.container .navbar-brand, 
	.navbar>.container-fluid .navbar-brand {
    	margin-left: 0;
	}
	
	.main-navigation {
		margin: 0 -0.875em;
	}

	.main-navigation .primary-menu {
		border: 0;
	}

	.main-navigation li {
		/*border: 0;*/
		float: left;
	}
	
	.main-navigation ul ul {
		box-shadow: 0 3px 3px rgba(0, 0, 0, 0.2);
		display: block;
		float: left;
		margin: 0;
		position: absolute;
		left: -999em;
		z-index: 99999;
		padding: 0;
		top: 100%;
		background: #FFF;
		list-style: none;
	}
	
	.main-navigation ul ul ul {
		left: -999em;
		top: 0px;
	}

	.main-navigation ul ul ul:before,
	.main-navigation ul ul ul:after {
		border: 0;
	}

	.main-navigation ul ul li:hover > ul,
	.main-navigation ul ul li.focus > ul {
		left: 100%;
	}

	.main-navigation ul ul a {
		white-space: normal;
		width: 15em;
	}


	.main-navigation li:hover > ul,
	.main-navigation li.focus > ul {
		left: auto;
	}

	.main-navigation .menu-item-has-children > a {
		margin: 0;
	}

	.main-navigation .menu-item-has-children > a:after{
		content: "\f078";
		font-family: FontAwesome;
		position: absolute;
		top: 23px;
		right: 15px;
		z-index: 10;
		line-height: 24px;
        font-size: 12px;
	}

	.main-navigation ul ul .menu-item-has-children > a:after {
		-webkit-transform: rotate(-90deg);
		-moz-transform: rotate(-90deg);
		-ms-transform: rotate(-90deg);
		transform: rotate(-90deg);
		top: 0;
		line-height: 38px;
		right: 10px;
	}

	.no-menu > li{
		float:none;
		display: inline-block;
	}
	
	.dropdown-toggle,
	.main-navigation ul .dropdown-toggle.toggled-on,
	.site-header .social-navigation,
	.site-footer .main-navigation {
		display: none;
	}
	
	.menu-align-center .primary-menu, 	.menu-align-center .no-menu{
    	text-align: center;
    	width: 100%;
    	margin-bottom: 10px;
		padding: 0;
	}
	
	.menu-align-center .primary-menu > li, 	.menu-align-center .no-menu > li {
    	display: inline-block;
    	float: none;
	}
	
	.menu-align-center .primary-menu > li a {
		padding: 5px 8px;
	}
	
	.menu-align-center .primary-menu > li.menu-item-has-children a{
		padding: 5px 18px 5px 8px;
	}
	
	.menu-align-center .primary-menu > li.menu-item-has-children a:after, .sticky-navigation .no-menu > li.page_item_has_children > a:after {
		line-height: 28px;
		top: 0;
	}
	
}

@media (max-width: 768px) {
    body .mobile-banner {
        display: block !important;
    }

    body .desktop-banner {
        display: none !important;
    }
}

@media (min-width: 768px) {
    body .mobile-banner {
        display: none !important;
    }

    body .desktop-banner {
        display: block !important;
    }
}

@media (min-width: 768px) and (max-width: 991px) {
	html {
		/*font-size: 95%;*/
	}

	.sticky-navigation {
		min-height: 70px;
	}

	.sticky-navigation .main-navigation > li.has_children > a {
		line-height: 34px;
		line-height: 18px;
		padding: 26px 18px;
	}

	.sticky-navigation .login-register {
		margin-top: 3px;
	}

	.ipad-image {
		max-width: 500px;
	}

}

/*---------------------------------------
   6.6 FIXES FOR <= 768PX SCREENS          
-----------------------------------------*/

@media (max-width: 767px) {
	
	html {
		/*font-size: 80%;*/
	}

	.navbar-toggle {
		font-size: 30px !important;
	}

	.navbar-inverse .navbar-toggle {
		border: 0 !important;
	}

	.navbar-inverse .navbar-toggle,
	.navbar-inverse .navbar-toggle:hover,
    .navbar-inverse .navbar-toggle:focus {
		background-color: inherit;
		box-shadow: none;
	}

	.sticky-navigation .main-navigation li a {
		line-height: inherit;
		padding: 10px;
	}

	.border-right-colored,
    .border-left-colored {
		border: none;
	}

	.navbar-inverse .navbar-collapse,
    .navbar-inverse .navbar-form {
		border-color: rgba(49, 49, 49, 0.1);
	}

	.sticky-navigation {
		min-height: 60px;
	}

	.nav > li {
		display: inline-block;
		display: inline-block;
		width: 100%;
		text-align: left;
		padding-left: 15px;
	}

	.container>.navbar-header {
		margin-left: 0;
		margin-right: 0;
	}

	.menu-align-center .navbar-header > a {
		float: left;
	}

	/* fixed header */
	.sticky-navigation {
		top: 0 !important;
		opacity: 1 !important;
		position: fixed !important;
	}

	.sticky-navigation .main-navigation ul,
	.sticky-navigation .main-navigation ul ul,
	.sticky-navigation .main-navigation ul ul ul{
		position: relative;
		left: 0;
		left: auto;
	}

	.sticky-navigation .main-navigation ul,
	.sticky-navigation .main-navigation ul li,
	.sticky-navigation .main-navigation ul a {
		width: 100%;
	}

	.sticky-navigation .main-navigation ul li:hover > ul {
		left: 0;
	}

	.sticky-navigation .main-navigation ul {
		box-shadow: none;
		padding: 0;
	}

	.sticky-navigation .primary-menu ul li {
		/*padding-left: 7%;*/
	}

	.sticky-navigation .main-navigation ul .dropdownmenu, 
	.dropdownmenu {
		position: absolute;
		z-index: 9;
		right: 0;
		top: 5px;
		width: 25px;
		height: 25px;
		margin: 0;
		padding: 0;
		-webkit-border-radius: 2px;
		-moz-border-radius: 2px;
		border-radius: 2px;
		background: #999999;
	}

	.sticky-navigation .main-navigation ul .this-open > .dropdownmenu, 
	.this-open > .dropdownmenu {
		background: #1b0056;
	}

	.dropdownmenu:before {
		content: "";
		text-align: center;
		width: 25px;
		height: 25px;
		color: #FFF;
		line-height: 26px !important;
		text-align: center;
		float: left;
	}

	.this-open > a {
		color: #1b0056 !important;
	}

	.has_children > ul {
		display: none;
	}

	.has_children.this-open > ul {
		display: block;
	}

	.navbar-fixed-top .navbar-collapse, .navbar-fixed-bottom .navbar-collapse {
		max-height: 2000px;
	}	
	
	#menu-primary {
		float: none;
		width: 100%;
		margin: 0;
		overflow: hidden;
	}
	.menu-align-center #menu-primary > ul {
		margin-left: 0;
	}
	.nav > li {
		margin-left: 0;
		padding-left: 0;
	}
	#header_layer_one,
	#header_layer_two {
	    background-position: top center !important;
	}
	.navbar-collapse .main-navigation li a{
		margin: 0;
		line-height: 25px;
	}

    body .banner-main {
        margin-top: 0;
    }
	
}

@media (max-width: 800px) {
	.footerCol,
	.container3,
	.container4 {
		text-align: left;
		width: 100%;
	}
	
	#footer .careers ul {
		border-right: 0;
	}
}

/* --------------------------------------
=========================================
   8. ACCESSIBILITY
=========================================
-----------------------------------------*/
.screen-reader-text { position: absolute!important; clip: rect(1px,1px,1px,1px); overflow: hidden; color: #000; background: #fff; width: 1px; height: 1px; }
.screen-reader-text:focus { clip: auto; overflow: auto; left: 1em; top: 1em; z-index: 100; padding: 1em; background-color: #fff; font-size: 1.2em; outline: 0; width: auto; height: auto; }
