@charset "utf-8";
/* CSS Document */










/*  GENERAL  */
/*  ====================================================================== */

html, body {
	font-family: 'Catamaran', sans-serif;
	font-size: 16px; /* for consistency across browsers */
	height: 100%;
	min-height: 100%;
	-webkit-font-smoothing: antialiased;
	-moz-osx-font-smoothing: grayscale;
	margin: 0 0 0 0;
}

/* don't set these on html. it prevents momemtum scrolling on phone */
body {
	position: relative; /* because side nav (a child) is absolute */
	overflow: scroll;
    overflow-x: hidden;
    background: #ffffff;
}

a {
	text-decoration: none;
}



/*  CUSTOM SCROLLBAR  */
/*  ====================================================================== */
body::-webkit-scrollbar {
    width: .4em;
}
body::-webkit-scrollbar-track {
    -webkit-box-shadow: inset 0 0 0px rgba(0,0,0,0);
}
 
body::-webkit-scrollbar-thumb {
  background-color: #b4b4b4;
  outline: 0px solid #000000;
}

/* 	custom scrollbar IE, color only */
body{
  scrollbar-base-color: #d7d7d7;
  scrollbar-3dlight-color: #ffffff;
  scrollbar-highlight-color: #ffffff;
  scrollbar-track-color: #ffffff;
  scrollbar-arrow-color: #ffffff;
  scrollbar-shadow-color: #ffffff;
  scrollbar-dark-shadow-color: #ffffff;
}








/*  fix for flexbox causing small text in IOS  */
/*  ====================================================================== */
* {
	text-size-adjust: 100%; 
    -ms-text-size-adjust: 100%; 
    -moz-text-size-adjust: 100%; 
    -webkit-text-size-adjust: 100%;
}








/*  SMOOTH PAGE LOAD  */
/*  ====================================================================== */
body {
    opacity: 1;
    transition: 1s opacity;
}
body.fade-out {
    opacity: 0;
    transition: none;
}








/*  SIDE NAV GENERAL  */
/*  ====================================================================== */
.nav {
	position: absolute;
	top: 0;
	left: 0;
	width: 0;
	height: 100vh;
	overflow-x: hidden;
    background-color: #002382; 
	transition: width .3s ease;
	z-index: 89;  /* set this because news items were jumping in front of nav when resizing browser */
}

.nav a {
	transition: color .2s ease;
}

/* When you mouse over the navigation links, change their color */
.nav a:hover, .offcanvas a:focus {
    color: rgba(255,255,255,0.5);
}











/*  SIDE NAV DESKTOP  */
/*  ====================================================================== */


@media all and (min-height: 701px) {
	
	#nav_desktop {
		z-index: 90;
	}

	.nav_close {
		display: block;
		margin: 10px 20px 0px 0;
		text-align: right;
		font-size: 2em;
		font-weight: 200;
		line-height: .8em;
		color: #ffffff;
	}

	.nav_alevel {
		display: block;
		margin: 0 0 15px 20px;
		text-align: left;
		font-size: .9em;
		font-weight: 400;
		line-height: 1em;
		color: #ffffff;
		text-transform: uppercase;
		letter-spacing: 1px;
	}

	/* portfolio needs less space after*/
	.nav_alevel:nth-child(3) {
		margin-bottom: 10px;
	}

	/* news needs less space after*/
	.nav_alevel:nth-child(6) {
		/*margin-bottom: 15px;*/
	}
	
	.nav_row {
		display: block;
		margin-bottom: 20px;
	}

	.nav_cell {
		display: block;
		margin: 15px 0 0 40px;
	}
	
	.nav_subhead {
		display: block;
		margin: 0 0 15px 0;
		text-align: left;
		font-size: .8em;
		font-weight: 600;
		line-height: 1em;
		letter-spacing: 1px;
		text-transform: uppercase;
		color: rgba(255,255,255,0.4);
	}


	.nav_blevel {
		display: block;
		margin: 0 0 15px 0px;
		text-align: left;
		font-size: .8em;
		font-weight: 400;
		line-height: 1em;
		color: rgba(255,255,255,.8);
		letter-spacing: 1px;
		text-transform: uppercase;
	}

	.nav_blevel2 {
		display: block;
		margin: 0 0 15px 40px;
		text-align: left;
		font-size: .8em;
		font-weight: 400;
		line-height: 1em;
		color: rgba(255,255,255,.8);
		letter-spacing: 1px;
		text-transform: uppercase;
	}
	
	
	
	/* not part of desktop, but will show if mobile H is resized. hence this none */
	.nav_bullet {
		display: none;
	}
	
	
}









/*  SIDE NAV MOBILE V  */
/*  ====================================================================== */



@media all and (max-height: 700px) and (min-height: 500px) {

	#nav_mobilev {
		z-index: 91;
	}
	
	.nav_close {
		position: absolute;  /* conserving space. so first <a> moves up */
		top: 10px;
		right: 15px;
		width: auto;
		height: auto;
		text-align: right;
		font-size: 2em;
		font-weight: 200;
		line-height: .8em;
		color: #ffffff;
	}
	
	.nav_alevel {
		display: block;
		margin: 0 0 15px 20px;
		text-align: left;
		font-size: 1em;
		font-weight: 400;
		line-height: 1em;
		color: #ffffff;
		text-transform: uppercase;
		letter-spacing: 1px;
	}
	
	/* "home" is second link, bump down */
	.nav_alevel:nth-child(2) {
		margin-top: 25px;
	}
	
	/* news needs less space after */
	.nav_alevel:nth-child(6) {
		/*margin-bottom: 15px;*/
	}
	
	
	.nav_row {
		display: block;
		text-align: left;
		margin: 0 0 0 25px;
	}

	.nav_cell {
		display: inline-block;
		float: left;
	}

	.nav_cell:nth-of-type(1) {
		margin-right: 30px;
	}
	
	.nav_subhead {
		display: block;
		margin: 0 0 15px 0px;
		text-align: left;
		font-size: .7em;
		font-weight: 800;
		line-height: 1em;
		letter-spacing: 1px; /* had to keep, otherwise desktop was overriding this */
		text-transform: uppercase;
		color: rgba(255,255,255,0.5);
		text-decoration: underline;
	}
	
	.nav_blevel {
		display: block;
		margin: 0 0 15px 0px;
		text-align: left;
		font-size: .9em;
		font-weight: 200;
		line-height: 1em;
		color: rgba(255,255,255,.6);
		letter-spacing: 0px; /* had to keep, otherwise desktop was overriding this */
		text-transform: uppercase;
	}	
	
	.nav_blevel2 {
		display: block;
		margin: 0 0 15px 25px;
		text-align: left;
		font-size: .9em;
		font-weight: 200;
		line-height: 1em;
		color: rgba(255,255,255,.6);
		letter-spacing: 0px; /* had to keep, otherwise desktop was overriding this */
		text-transform: uppercase;
	}
	
	.nav_bullet {
		display: none;  /* bullets aren't in this querie, but if mobile H is resized past 500, they will be (retaining mobile H content) */
	}
	
	/*  CLEAR FLOAT!  */
	.row_t:before, .row_t:after {
			content: "";
			display: table;
		}

	.row_t:after {
		clear: both;
	}	
}





/*  SHRINK VERTICAL SPACING A BIT AS HEIGHT SHORTENS */
/*  ====================================================================== */
@media all and (max-height: 560px) and (min-height: 500px) {
	.nav_alevel {margin: 0 0 15px 20px;}
	.nav_subhead {margin: 0 0 15px 0px;}
	.nav_blevel {margin: 0 0 15px 0px;}	
}






/*  SIDE NAV MOBILE H  */
/*  ====================================================================== */



@media all and (max-height: 499px)  {
	
	#nav_mobileh {
		z-index: 92;

	}
	
	.nav_close {
		position: absolute;  /* conserving space. so first <a> moves up */
		top: 10px;
		right: 15px;
		width: auto;
		height: auto;
		text-align: right;
		font-size: 2em;
		font-weight: 200;
		line-height: .8em;
		color: #ffffff;
	}
	
	.nav_alevel {
		display: block;
		margin: 0 0 15px 20px;
		text-align: left;
		font-size: 1em;
		font-weight: 400;
		line-height: 1em;
		color: #ffffff;
		text-transform: uppercase;
		letter-spacing: 1px;
	}
	
	/* "home" is second link, bump down */
	.nav_alevel:nth-child(2) {
		margin-top: 20px;
	}
	
	/* people, news, podcasts, awards, contact, search all on one line */
	.nav_alevel:nth-of-type(n+4):nth-of-type(-n+9) {
		display: inline-block;
	}
	
	
	.nav_row {
		display: block;
		text-align: left;
		margin: 0 0 15px 40px;
	}
	
	.nav_cell {
		display: block;
	}
		
	.nav_subhead {
		display: block;
		margin: 0 0 4px 0;
		text-align: left;
		font-size: .7em;
		font-weight: 800;
		line-height: 1em;
		letter-spacing: 1px; /* had to keep, otherwise desktop was overriding this */
		text-transform: uppercase;
		color: rgba(255,255,255,0.5);
		text-decoration: underline;
	}
	
	.nav_subhead2 {
		margin-top: 15px;
	}
	
	
	.nav_blevel {
		display: inline-block;
		text-align: left;
		font-size: .8em;
		font-weight: 200;
		line-height: 1em;
		color: #ffffff;
		letter-spacing: 0px; /* had to keep, otherwise desktop was overriding this */
		text-transform: uppercase;
	}
	
	.nav_blevel2 {
		display: inline-block;
		margin: 0 0 15px 20px;
		text-align: left;
		font-size: 1.2em;
		font-weight: 400;
		line-height: 1em;
		color: #ffffff;
		text-transform: uppercase;
		letter-spacing: 1px;
	}		
			

	.nav_bullet {
		display: inline-block;
		margin: 0 4px 0 4px;
		width: 4px;
		height: 4px;
		vertical-align: middle;
	}
}









/*  HEADER  */
/*  ====================================================================== */

#top {
	height: 0;
	margin: 0 0 0 0;
}

.header {
	display: table;
	max-width: 1500px;
	margin: 30px auto 30px auto;
	transition: width .2s ease; /* smooth when header changes width*/
}

/* header changes width */
@media all and (max-width: 768px) {
	.header {width: 86%;}
}
@media all and (min-width: 769px) {
	.header {width: 80%;}
}

.header_row {
	display: table-row;
	width: 100%;
}

/* cell with hamburger and logo */
.header_cell1 {
	display: table-cell;
	width: 60%;
}

/* hamburger*/
.nav_open {
	display: inline;
	height: 20px;
	width: 25px;
	cursor: pointer;
	vertical-align: middle;
}

/* note: break points are different for V and H  */

/* desktop hambuger */
@media all and (min-height: 701px) {
	#nav_open_mv {display: none;}
	#nav_open_mh {display: none;}
	#nav_open_d {display: inline;}
}

/* mobile v hambuger */
@media all and (max-height: 700px) and (min-height: 500px) {
	#nav_open_d {display: none;}
	#nav_open_mh {display: none;}
	#nav_open_mv {display: inline;}
}

/* mobile h hambuger */
@media all and (max-height: 499px) {
	#nav_open_d {display: none;}
	#nav_open_mv {display: none;}
	#nav_open_mh {display: inline;}
}

/* old logo removed */
.nav_logo {
	display: inline;
	width: 266px;
	height: 20px;
	margin-left: 30px;
	vertical-align: middle;	
}

/* combined dlr logo  */
.nav_logo_combined {
	display: inline;
	margin-left: 30px;
	vertical-align: middle;	
}


@media all and (max-width: 800px)  {
	.nav_logo_combined {
		width: 140px;
		height: 26px;
	}	
}

@media all and (min-width: 801px)  {
	.nav_logo_combined {
		width: 200px;
		height: 37px;
	}	
	
}




/* search side of header*/
.header_cell2 {
	display: table-cell;
	width: 40%;
	text-align: right;
}

#magnifying_glass {
	display: inline;
    width: 20px;
    height: 20px;
	margin-right: 10px;
	vertical-align: middle;
}

/* note: this is an anchor not an image*/
#magnifying_glass_mobile {
	text-align: right;
}

#magnifying_glass_mobile img {
	display: inline;
    width: 20px;
    height: 20px;
	vertical-align: middle;
}

/* hide mobile magnifying link on desktop */
@media all and (min-width: 769px) {
	#magnifying_glass_mobile {display: none;}	
}

/* hide search input on narrow width */
/* */
@media all and (max-width: 768px) and (min-width: 481px) {
	#magnifying_glass {display: none;}
	#tipue_search_input {display: none;}
	.header_cell1 {width: 85%;}
	.header_cell2 {width: 15%;}
}

/* hide magnifying glass on narrow width*/
@media all and (max-width: 480px) and (min-width: 410px) {
	#magnifying_glass {display: none;}
	#magnifying_glass_mobile {display: none;}
	#tipue_search_input {display: none;}
	.header_cell1 {width: 99%;}
	.header_cell2 {width: 1%;}
}

/* hide magnifying glass on narrow width*/
@media all and (max-width: 409px) {
	#magnifying_glass {display: none;}
	#magnifying_glass_mobile {display: none;}
	#tipue_search_input {display: none;}
	.header_cell1 {width: 99%;}
	.header_cell2 {width: 1%;}
	.nav_logo_combined {
		width: 180px;
		height: 33px;
		margin-left: 15px;
	}
}

/* hide logo on really narrow width */
@media all and (max-width: 310px) {
	.nav_logo_combined {
		display: none;
	}
}





/*  STICKY FOOTER  */
/*  ====================================================================== */

/* wrapper, everything except footer */
.sticky_footer_wrapper {
	min-height: 94%;
	margin-bottom: -202px;
}	

.footer, .push {
		height: 202px;
}










/*  FOOTER  */
/*  ====================================================================== */

.footer {
	display: block;
	margin: 0 auto 0 auto;
	background-color: #d8d8d8;
}

.inner_footer {
	display: block;
	max-width: 1500px;
	margin: 0 auto 0 auto;
	padding: 60px 0 60px 0;
	box-sizing: border-box;
	transition: width .3s ease; /* so change in width is smooth */
}

/* footer changes with width*/
@media all and (max-width: 768px) {
	.inner_footer {width: 86%;}
}
@media all and (min-width: 769px) {
	.inner_footer {width: 80%;}
}

#footer_envelope {
	display: inline;
	width: 23px;
	height: 16px;
	vertical-align: text-bottom;
	margin-right: 15px;
}

#footer_linkedin {
	display: inline;
	width: 18px;
	height: 18px;
	vertical-align: text-bottom;
	margin-right: 15px;
}

#footer_twitter {
	display: inline;
	width: 20px;
	height: 17px;
	vertical-align: text-bottom;
	margin-right: 15px;
}

#footer_instagram {
	display: inline;
	width: 17px;
	height: 17px;
	vertical-align: text-bottom;
}

.footer_icon:hover {
	opacity: 0.5;
	transition: 0.1s;
}	

/* old logo removed */
#footer_logo {
	display: block;
	width: 140px;
	height: 11px;
	margin-bottom: 6px;
	margin-top: 20px;
}

#footer_logo_combined {
	display: block;
	margin-bottom: 6px;
	margin-top: 26px;
}




@media all and (max-width: 800px)  {
	#footer_logo_combined {
		width: 140px;
		height: 26px;
	}	
}

@media all and (min-width: 801px)  {
	#footer_logo_combined {
		width: 170px;
		height: 31px;
	}	
	
}




/* below 300px hide icons and logo*/
@media all and (max-width: 300px) {
	#footer_envelope {display: none;}
	#footer_linkedin {display: none;}
	#footer_twitter {display: none;}
	#footer_instagram {display: none;}
	#footer_logo_combined {display: none;}
}










