html {  scroll-behavior: smooth;	}

* {
    margin: 0px;
    padding: 0px;
    -moz-box-sizing: border-box;
    -webkit-box-sizing: border-box;
    -o-box-sizing: border-box;
    -ms-box-sizing: border-box;
    box-sizing: border-box;
    font-family: inherit;
}

a {color:#0079ab;}


/*makes it so that header text cannot be highlighted/selected*/
.preheader *, .header * {
    -webkit-touch-callout: none;
    -webkit-user-select: none;
    -khtml-user-select: none;
    -moz-user-select: none;
    -ms-user-select: none;
    user-select: none;
}

/*~~~~~~~~~~~~~~~~~~~~~Preheader styles start~~~~~~~~~~~~~~~~~~~~~*/
.preheader {
    max-height: 30px;													
	background:#44485f;	
	background:#4d515f;	
	overflow:hidden;
	position:relative;
	z-index:4;
}		

.preheader .phlogos { display: contents; }



.preheader .innerpreheader {
    margin: auto;
    display: flex;
    flex-direction: row;
    flex-wrap: nowrap;
    justify-content: flex-end;
    align-items: center;
}

.preheader .phlogosinner {
    display: flex;
    justify-content: center;
		margin-right:10px;
}

.preheader a {
	padding: 0 15px 0	15px;
    margin: 0;
    max-height: 32px;
	color:#bdc0c9;
	font-family:play;
	font-weight:bold;
	font-size:14px;
	transition: background-color 100ms linear;
	line-height: 11px;
}
.preheader span.phtriangle:after {
    content: ".";
    font-size: 0em;
    border-left: 7px solid #bdc0c9;
    border-top: 4px solid transparent;
    border-bottom: 4px solid transparent;
    vertical-align: bottom;
    margin-left: 2px;
}
@media only screen and (max-width: 515px) {
.preheader.activeph span.phtriangle:after {
    border-left: 5px solid transparent;
    border-right: 5px solid transparent;
    border-top: 7px solid #bdc0c9;
    border-bottom: none;
    vertical-align: baseline;
}	
}


.preheader  .innerpreheader>a:first-of-type {
	background-color:transparent!important;
}

.preheader  a:hover {
	background-color:#f7fbff;
}

.preheader a.italogo{
	background-color:#f7fbff;
	pointer-events: none;
} 

.preheader a.sglogo {
	padding-bottom:0px
}

.preheader a  img {
    margin: 6px 0;
    width: auto;
    height: 17px;
	transition: filter 100ms linear;
	vertical-align:middle;
	filter: invert(81%) sepia(4%) saturate(395%) hue-rotate(187deg) brightness(96%) contrast(89%);
} 

.preheader  a:hover img { filter: invert(56%) sepia(4%) saturate(1987%) hue-rotate(182deg) brightness(82%) contrast(84%);}
.preheader .italogo img {filter: invert(56%) sepia(4%) saturate(1987%) hue-rotate(182deg) brightness(82%) contrast(84%);}
.preheader .sglogo img {height:18px;}

/* Preheader remove ITA Logo when window isn't wide enough */
@media only screen and (max-width: 605px) {
.preheader .italogo {	display:none;	}
}/* end preheader max-width 595px */


	/* Preheader Mobile Styles */
@media only screen and (max-width: 515px) {
.preheader .innerpreheader {
    justify-content: flex-start;
	flex-wrap: wrap;
}

.preheader { max-height:unset; }

.preheader .phlogos {
    display: none;
	width: 100%;
}

.preheader .italogo { display:none; }

.preheader .innerpreheader> a:first-of-type {
    min-height: 30px;
    line-height: 30px;
	width: 100%;
}

.phlogosinner>a { padding: 0px 20px; }


}/* end preheader max-width 510px */

@media only screen and (max-width: 390px) {
	.phlogosinner>a { padding: 0px 10px; }
}/* end preheader max-width 390px */

@media only screen and (max-width: 333px) {
.preheader .innerpreheader> a:first-of-type { margin: auto; }
		
.phlogosinner {
    display: flex;
    justify-content: flex-start;
    flex-wrap: wrap;
}
	
	.phlogosinner>a { padding: 0px 10px; }
}  /* end preheader max-width 333px */

@media only screen and (min-width: 516px) {
.phlogos { display: contents!important; }
} /* end preheader min-width 515px */

/*~~~~~~~~~~~~~~~~~~~~~end preheader styles~~~~~~~~~~~~~~~~~~~~~*/






/********** NORMAL HEADER MENU **********/
.header {
	height: auto;
	width:100%;
	background:  #fff;
	background-image: linear-gradient(180deg, #fff 30px, #ecf6ff 70px);
	background-image: linear-gradient(180deg, #fff 20px, #e2f1ff 66px);
	border-bottom: solid #1db0ec 2px;
	position:relative;
	z-index:4;
}

.menunav .menu>li>a { 	
	color:#0055bb;
	color:#301563;
	font-family: 'Saira', sans-serif;
	font-weight: 550;
    display: block;
    text-align: center;
    font-size: 1em;
    line-height: 0;
    padding: 25px 20px 21px;
	transition: 0.2s padding, .2s font-size;
}  

.header li { 	padding:0; }  

.header .inheader {
	margin: auto;
	display: flex;
	align-items: center;
	height:76px;
}

.headerlogo {
	align-self:center;
	z-index:2; 
	margin-left: 25px;
    padding-right: 12px;} 

.headerlogo a img {
	padding-top: 1px;		
    height: 64px;
    max-width: 100%;
	vertical-align: middle;
}


 

.menunav>div { /*this selects the container that .menu is in btw*/
    width: 100%;
    display: inline-block;
}

.header .menu>li>a:hover{ color: #009fdf; }


 .headericons {
	display:flex;
	align-items:center;
	z-index: 99999999;
	margin-left:auto;
	margin-right: 15px;
	align-self: end;
}

.headericons div i {
	cursor: pointer;
	padding: 10px 11px 15px;
	color: #0055bb; 
	color: #301563; 
	font-size: 20px;
	transition: color .2s;
}
.headericons div i:hover { color: #1db0ec; }

.headericons .mobilemenubutton i { font-size: 1.8em; }


 /* styles for the search and portal menu section */
 
 .logincontain {
	z-index: 9999999999999;
	position: absolute;
	height: auto;
	right: 0;
	display: flex;
    flex-direction: row;
    justify-content: flex-end;
    align-items: center;
    background: #e2f1ff; 
    border-bottom-left-radius: 12px;
    border-bottom: solid #1db0ec 2px;
    border-left: solid #1db0ec 2px; 
    padding: 0px 15px 13px;
    margin-top: 0px;
}
 .logincontain { display:none; } /*don't show until clicked*/


.logincontain a { 
width: 100%;
display: block;
}

.logincontain a p {
	color: #ffffff;
    font-family:saira, play, sans-serif;
	font-weight: 450;
    padding:3px 25px;
    text-align:center;
    background:#1db0ec;
    border-radius:25px;
    margin-top:10px;
	transition: background .1s;
	border: solid 2px #1db0ec;
}

.logincontain a p:hover {
    background:#301563;
}

.wpb-content-wrapper .slider_full { z-index: 0; } /* makes it so that the slider on the homepage can't be above the menu, hopefully this does not mess up anything else! */



	
.header .menu>li {
	display:block;
	width:auto;
	cursor:pointer;
	box-sizing: content-box;
	border: solid 2px transparent;
	border-bottom-color: transparent !important;
}


							/*----------THINGS THAT ONLY APPLY TO DESKTOP LAYOUT------- */
@media only screen and (min-width: 650px) {	
.mobilemenubutton { display:none; }

.menunav>div .menu {
	display: flex!important;
    justify-content: flex-end;
    align-items: center;
}

.menu>li>.sub-menu {
        background-color: #fafafa;
        margin-top: 3px;
        border-bottom: ridge #bbbbc5 4px;
  }

 
} /*end styles only for desktop layout*/


/*make the menu titles have less padding at a smaller width so it doesn't run into the icons before converting to mobile header*/
@media only screen and (max-width: 860px) {
.header .menunav .menu>li>a{ 
	font-size: .95em;      
	padding-left: 15px;
	padding-right: 15px; 
}
}
/*make the 'home' option on the menu disappear when it doesn't fit anymore*/
@media only screen and (max-width: 750px) {			
.menu>li:first-of-type { display:none!important; }
} /* end hide home button */


.menunav * {z-index:999;}

.nav-contact ul li {
    width:100%;
} 

.menu>li.nav-contact>ul.sub-menu {
	padding-bottom:10px;
	position: absolute;
}

.menunav { font-family:play,sans-serif; }

.menunav .menu>li>.sub-menu {
	display:none;
	position: absolute;
}
 
.menu>.menu-item>ul{
   justify-content: center;					 
} 
						
.menunav .menu>li.nav-pc {
	position:initial;
}

.menu>li>ul.sub-menu {
    margin: auto;
	background-color: #fafafa;
    right: 0px;
    left: 0px;
	padding: 10px 2%;
    margin-top: 1px;
	border-bottom: ridge #bbbbc5 4px;
}





.header .menu ul li.htb {
float: left;
font-weight: bold;
margin-top: 6px;
}
.header .menu ul li.htb a{ 	padding: 2px 4px 3px; }


/* makes it so that all of the links are even and do not have indentation */
.menu-item>ul>li ul {
    display: inline-block;
    padding:0;
   	width:100%;
}

/* stops menu links from having list bullets */
.header .menu-item>ul>li, .header .menu-item>ul>li ul>li {
  display: block;
}

.menu>li>ul.sub-menu>li>ul.sub-menu>li {
    width: auto;    
	flex-basis: 33%;
    max-width: 320px;
}

/* makes it so that the active menu stays over the other as it slides down */
.menunav>div>.menu>li { z-index: 0; }  
.menunav>div>.menu>li.activemenu { z-index: 9; }

.menu>li.nav-pc>ul.sub-menu>li>ul.sub-menu>li {
    padding-bottom:1%;
}


/*------------------------------------------------------THIS IS THE MOBILE STYLES--------------------------------------------------------*/

								
@media only screen and (max-width: 649px) {									
.header .inheader {
    align-items: end;
}
.header .menu>li {
	cursor:pointer;
    box-sizing: content-box;
	border-top: 1px solid #1db0ec;
	border-radius:0!important;
	border-right:0!important;
	border-left:0!important;
}
.header .menu {
	border-bottom: solid #1db0ec 2px;
}

.header .menu>li:last-of-type>ul {
	border-top: 1px solid #808080!important;
}

.menunav>div {
    position: absolute;
    background: #e3f2ff;
    z-index: 999999999;
	left:0;
}


					
					
					
.header .menu * {
	z-index:9999999999999999999999999999999999999;
}
				

				
.header .inheader { 	justify-content:space-between; }

.header .headmenu {
	height:auto;
	margin-right:0;
	font-family:play, sans-serif;
}
					
.header .menu>li>.sub-menu { display:none;}
					
.activemenu>.sub-menu{ display:block; }
					
					
.fullmenuoff { display:none; } 					

.header .menunav>div>.menu>li>a{
	display: block;
	width:100%;
	height:auto;
	padding: 22px 25px;
	font-size: 1.25em;
	font-weight: bold;
	padding-left: 25px;
	font-size: 1em;	 
}

.menunav>div>.menu>li:hover>a {
	transition: background .1s, color .1s;
}

.menunav>div>.menu>li.activemenu>a{			 
	border-bottom:none;
	color:red;
}
					
.menunav>div>.menu>li.nav-home.activemenu>a{ 	border-bottom:4px solid #525252; } 

.sub-menu {
		padding:0;
		margin:0;
}

.menunav>div>.menu>li>.sub-menu {
		background:#ffffff;
		width:100%;
		margin:0;
		z-index: 0;
}

.menunav>div>.menu>li.activemenu>.sub-menu {
	border-bottom-style:ridge;
	border-top:none;
	z-index: 9;
}

.sub-menu li, .sub-menu ul { width:100%; }

}  /* end max-width 649px */


						
   
					
						   /* mobile header */
@media only screen and (max-width: 550px) {
/* removes the height limit on mobile */
.menu>li>ul.sub-menu>li>ul.sub-menu>li>ul,  .nav-edu ul.sub-menu { max-height: unset !important; }

.header .inheader .menu>li>.sub-menu>.menuwrap>.sub-menu { flex-direction: column;  }

.menu>li>ul.sub-menu>li>ul.sub-menu>li,.menu>li>ul.sub-menu>li>ul.sub-menu>li.nav-cap>ul>li, .menu>li>ul.sub-menu>li>ul.sub-menu>li.nav-edu>ul>li  {
	flex-basis: 100% !important;
	max-width: 100% !important;
}

.menu>li.nav-pc>ul.sub-menu>li>ul.sub-menu>li { padding-bottom: 2%; } /*product menu categories gets more padding*/
 
.header .menu ul li.htb { order: 2; } /* makes the htb links appear at the bottom of the mobile columns */

	
}  /* end max-width 550px */




/* adjustments to remove the icons on a very small screen & let the logo get smaller 	 */
@media only screen and (max-width: 375px) {
			
 .portalbutton {
	display:none;
}

.headerlogo a img {
	min-width:unset;
	margin-left:5px;
	margin-right:10px;
}

.headericons {
    margin-right: 5px;
}
} /*end tiny screen adjustments */



/*********************END MOBILE SIZE ******************************/










* {
	text-decoration:none;
}

p{
    margin-block-start: 0;
    margin-block-end: 0;
}

/* Main Page Styles */

body {
	margin:0;
}

body p {
    font-family: roboto,sans-serif;
}

 .content {
	max-width: 1400px;
    margin: auto;
    padding: 0px 15px;
	min-height:500px;
}

h1 {
	font-family: "Play", sans-serif;
	
}

.gform_wrapper,.vc_message_box {
    font-family: sans-serif;
}

h2, h3 {
    font-family: 'Saira',sans-serif;
    font-weight: 550;
}

.content li {
    font-family: sans-serif;
}


.layout {
    min-height: 100vh;
	background-color: white;
}

.layout ul {
	list-style-type: initial;
    padding: 0px 15px;
}

.layout ul li {
margin-left: 16px;
    margin-right: 16px;
    list-style-position:outside;
}

.layout ul li ul {
    list-style: circle;
}



































/* Footer Styles */

 

.cfpfooter {
    background-color: #1db0ec;
    font-family: 'Saira', sans-serif;
    padding-top: 10px;
	background-image: linear-gradient(360deg, #0957b8 -20px, transparent);	
	background-image: linear-gradient(360deg, #532d9b -30px, transparent 93%);
}


.cfpfooter ul {
	text-align:center;
	line-height:1.5em;
	padding:10px;
}


.cfpfooter ul li {
	display:inline-block;
	color:white;
	line-height:1em;
	font-weight:450; 
}

.cfpfooter ul li a {
	color:white;
	text-decoration:underline;
	font-size:1.1em;
}





.copynotice {
font-size: .9em;
padding-bottom:5px;
}


















