/* ====================================================================
   HEADER ------------------------------------------------------
   ==================================================================== */
#screen {
	transition: display 0.25s, visibility 0.25s, opacity 0.25s, max-height 0.25s;
	-moz-transition: display 0.25s, visibility 0.25s, opacity 0.25s, max-height 0.25s;
	-webkit-transition: display 0.25s, visibility 0.25s, opacity 0.25s, max-height 0.25s;
	visibility: hidden;
	opacity: 0;
	max-height: 0;
	position: fixed;
	z-index: 50;
	width: 100%;
	height: 100%;
	background: rgba(0, 0, 0, 0.5);
	z-index: 10;
}

/* -- Header -- */
.menu-open #screen {
	transition: display 0s, visibility 0s, opacity 0.25s, max-height 0.25s;
	-moz-transition: display 0s, visibility 0s, opacity 0.25s, max-height 0.25s;
	-webkit-transition: display 0s, visibility 0s, opacity 0.25s, max-height 0.25s;
	visibility: visible;
	opacity: 1;
	max-height: 1500px;
}
#site-header{
    font-family: 'Lato', sans-serif;
    background:#FFF;
}
#site-header .wrap {
    margin: 0 auto;
}



/* Spaced Columns - copied from flint-theme.css */
#site-header .spacedcols{
	margin:0 -1em;
}
#site-header .spacedcols-wide{
	margin:0 -2em;
}
#site-header .spacedcols.pure-g {
    letter-spacing: -.31em;
    text-rendering: optimizespeed;
    /* font-family: FreeSans, Arimo, "Droid Sans", Helvetica, Arial, sans-serif; */
    display: -webkit-box;
    display: -webkit-flex;
    display: -ms-flexbox;
    display: flex;
    -webkit-flex-flow: row wrap;
    -ms-flex-flow: row wrap;
    flex-flow: row wrap;
    -webkit-align-content: flex-start;
    -ms-flex-line-pack: start;
    align-content: flex-start;
}
#site-header .spacedcols > div,
#site-header .spacedcols > article{
	padding-left: 1em;
	padding-right: 1em;
}
#site-header .spacedcols-wide > div,
#site-header .spacedcols-wid > article{
	padding-left: 2em;
	padding-right: 2em;
}
#site-header .spaced-4col{
	width:100%;
	margin:0 -2em;
}
#site-header .spaced-4col > div{
	padding-left:2em;
	padding-right:2em;
	padding-bottom:3em;
}
#site-header .spaced-4col > div p{ margin:0.1em 0; }
#site-header .twocol{
	-webkit-column-gap: 75px;
    -moz-column-gap: 75px;
    column-gap: 75px;
	-webkit-columns: 250px 2;
    -moz-columns: 250px 2;
    columns: 250px 2;
}

/* Disabled due to conflicts with Tailwind CSS
.shadow{
	content:'';
	position: absolute;
	height:15px;
	top:100%;
	width:120%;
	left:-10%;
	margin-top:-1px;
	z-index: 90;
	overflow: hidden;
}
.shadow:after{
	content:'';
	position: absolute;
	left:0;
	top:-15px;
	width:100%;
	height:30px;
	background: -moz-radial-gradient(center, ellipse cover, rgba(0,0,0,0.5) 0%, rgba(0,0,0,0) 45%);
	background: -webkit-radial-gradient(center, ellipse cover, rgba(0,0,0,0.5) 0%, rgba(0,0,0,0) 45%);
	background: -o-radial-gradient(center, ellipse cover, rgba(0,0,0,0.5) 0%, rgba(0,0,0,0) 45%);
	background: -ms-radial-gradient(center, ellipse cover, rgba(0,0,0,0.5) 0%, rgba(0,0,0,0) 45%);
	background: radial-gradient(ellipse at center, rgba(0,0,0,0.5) 0%, rgba(0,0,0,0) 45%);
}
#header-container .shadow{
	top:84px;
}
*/


#logo{}
#logo img{
	display:block;
}
#header-nav ul{
	margin:0;
	padding:0;
	list-style: none;
}
#header-nav li a{
	display:block;
	position: relative;
	color:#000;
	text-decoration: none;
	font-weight: normal;
	letter-spacing: 0.02em;
}
#primary-nav{
	background:#efefef;
}
#primary-nav > ul > li{ }
#primary-nav > ul > li > a{
	font-weight: 700;
	color:#b50938;
}
li.url-external > a:after{
	position: relative;
	font-family: "Font Awesome 5 Free";
	font-weight: 900 !important;
	content: "\f35d";
	font-size: 0.9em;
	display: inline-block;
	margin-left:0.6em;
	font-weight: normal;
	transition: all .25s;
	-moz-transition: all .25s;
	-webkit-transition: all .25s;
	color:#858b93;
}
.search-form{
	display:inline-block;
	border:1px solid #b0b0b0;
	overflow: hidden;
	height:53px;
	position: relative;
	text-align: right;
	transition: all .25s;
	-moz-transition: all .25s;
	-webkit-transition: all .25s;
	background: #FFF;
	width:100%;
}
.search-form > label{
	display:block;
	width:200px;
	position: absolute;
	left:0;
	top:0;
}
.search-form input[type="search"]{
	display:block;
	border:none;
	outline: none;
	height:51px;
	line-height: 40px;
	width:200px;
	font-size:16px;
	padding-left:15px;
	font-style: italic;
	transition: all 0.25s;
	-moz-transition: all 0.25s;
	-webkit-transition: all 0.25s;
}
.search-form button{
	display:block;
	position: absolute;
	right:0;
	top:0;
	border:none;
	outline:none;
	width:52px;
	height:52px;
	line-height: 51px;
	text-align: center;
	background:#8a9197;
	color:#FFF;
}
.search-form button:hover,
.search-form button:active{
	background:#818181;
}


/* ====================================================================
   MEDIA QUERIES ------------------------------------------------------
   ==================================================================== */

@media only screen and (max-width: 1279px){


	/* == Mobile Menu == */
	.desktoponly, .hidemobile{ display:none !important; }
	header#site-header {
		position: absolute;
		left: 0;
		top: 0;
		height: 84px;
		width: 100%;
		z-index: 100;
		background:#FFF;
		border-bottom:1px solid #b1b1b1;
	}
	#logo{
		position: absolute;
		width:auto;
		left:20px;
		top:20px;
		max-width: 60%;
		z-index: 2;
		height:42px;
		display: flex;
		flex-direction: column;
		justify-content: center;
	}
	#logo img{
		display: block;
		width: auto;
		max-width: 100%;
		max-height: 100%;
	}
	#menu-slide {
		padding-top: 84px;
		position: relative;
		left: 0;
		transition: left .25s;
		-moz-transition: left .25s;
		-webkit-transition: left .25s;
	}
	#header-nav-container{
		position: absolute;
		width: 320px;
		left: -320px;
		top:0;
		z-index: 90;
		transition: left .25s;
		-moz-transition: left .25s;
		-webkit-transition: left .25s;
		max-height: 100%;
	}
	#header-nav{
		margin-top:84px;
		background: #FFF;
	}
	.menu-open #header-nav-container{
		left: 0;

	}
	#close-menu, #menu-toggle{
		transition: display 0.25s, visibility 0.25s, opacity 0.25s, max-height 0.25s;
		-moz-transition: display 0.25s, visibility 0.25s, opacity 0.25s, max-height 0.25s;
		-webkit-transition: display 0.25s, visibility 0.25s, opacity 0.25s, max-height 0.25s;
		visibility: hidden;
		opacity: 0;
		max-height: 0;
		position: absolute;
		right: 0px;
		top: 0px;
		height: 83px;
		width: 84px;
		line-height: 74px;
		color: #b50938;
		text-decoration: none;
		z-index: 30;
		text-align: center;
		font-size: 1.8em;
		background-color: #efefef;
		border-left:1px solid #b0b0b0;
	}
	#menu-toggle{
		left:auto;
		opacity: 1;
		max-height: none;
		z-index: auto;
		visibility: visible;
	}
	#menu-toggle:after,
	#close-menu:after{
		content:'Menu';
		display:block;
		position: absolute;
		bottom:15px;
		text-align: center;
		text-transform: uppercase;
		font-size: 9px;
		line-height: 9px;
		width:100%;
		text-align: center;
	}
	#close-menu:after{
		content:'Close';
	}
	.menu-open #close-menu {
		transition: display 0s, visibility 0s, opacity 0.25s, max-height 0.25s;
		-moz-transition: display 0s, visibility 0s, opacity 0.25s, max-height 0.25s;
		-webkit-transition: display 0s, visibility 0s, opacity 0.25s, max-height 0.25s;
		visibility: visible;
		opacity: 1;
		max-height: 1500px;
		z-index: 999;
		font-size: 3em;
	}
	#header-search{
		padding:0.8em;
		line-height: 12px;
		vertical-align: middle;
	}
	#header-nav li a{
		/* padding:15px 22px; */
	}
	#header-nav > nav .sub-menu{
		position: relative;
		max-height: 0px;
		overflow: hidden;
		transition: all .75s;
		-moz-transition: all .75s;
		-webkit-transition: all .75s;
		opacity: 0;
		margin-bottom:-1px;
	}
	#header-nav > nav .open .sub-menu{
		max-height: 2000px;
		opacity: 1;
	}
	#header-nav > nav > ul > li.menu-item-has-children > a:after{
		content:'\f0da';
		font-family: 'Font Awesome 5 Free';
		font-weight: 800 !important;
		position: absolute;
		right:22px;
		top:0.8em;
	}
	#header-nav > nav > ul > li.menu-item-has-children.open > a:after{
		content:'\f0d7';
	}
	#primary-nav > ul > li > a{
		font-size: 1.2em;
		line-height: 120%;
		border-top:1px solid #b1b1b1;
		border-bottom:1px solid #b1b1b1;
		margin-bottom: -1px;
	}
	#primary-nav > nav .sub-menu li a{
		padding:15px 22px 15px 35px;
		font-size:0.85em;
	}
	#primary-nav .open .sub-menu{
		padding:10px 0 35px 0;
		background: #FFF;
	}
	#primary-nav .sub-menu li a{
		padding:8px 22px;
		line-height: 120%;
	}
	#primary-nav .sub-menu h3{
		margin:0;
		padding:20px 22px 5px 22px;
		font-size: 0.9em;
	}
	#primary-nav .sub-menu .hasheading li a{
		padding:5px 22px;
	}
	#secondary-nav > ul{
		border-top:1px solid rgba(255,255,255,0.1);
		padding:0.7em 0 1.5em 0;
	}
	#secondary-nav > ul > li{
		border:none;
	}
	#secondary-nav > ul > li > a{
		font-weight: 900;
		font-size:0.85em;
		text-transform: uppercase;
		color:#b50938;
		padding:10px 22px;
		line-height: 120%;
	}
	#secondary-nav > ul li.open .sub-menu{
		padding-bottom:35px;
	}
	#secondary-nav > ul .sub-menu > li > a{
		padding:8px 22px;
		font-size: 0.9em;
	}
}

@media only screen and (min-width: 1280px){
	.wrap, .inside-content.wrap, .wrap.inside{ max-width: 1140px; }
    .spacedcols.morespace{
		margin:0 -2em;
	}
	.spacedcols.morespace > div,
	.spacedcols.morespace > article{
		padding-left:2em;
		padding-right:2em;
	}
	#site-header .wrap{ position: relative; }

	/* == Desktop Menu / Header == */
	#close-menu, #menu-toggle{ display:none; }
	header#site-header{
		height:170px;
		position: relative;
		z-index: 100;
	}
	#header-container .shadow{ top:170px; }
	#site-header .wrap{
		height:170px;
	}
	#logo{
		position: absolute;
		height:auto;
		width:342px;
		top:30px;
	}
	#logo img{
		max-width: 100%;
		height:auto;
	}
	#contact-bubbles{
		position: absolute;
		right:0;
		top:10px;
		z-index: 20;
		width:700px;
		text-align: right;
	}
	#contact-bubbles > div{
		display:inline-block;
		margin-right:0.3em;
	}
	#header-nav{}

	#secondary-nav{
		display:block;
		position:absolute;
		right:-15px;
		top:20px;
		top: 0;
	}
	#secondary-nav > ul > li{
		display:inline-block;
		position: relative;
		padding-left:0;
		padding-right:0;
		/* border-right:1px solid #b1b1b1; */
	}
	#secondary-nav > ul > li:last-child{ border-right:none; }
	#secondary-nav > ul > li > a{
		display:block;
		position: relative;
		line-height: 100%;
		padding:5px 13px;
		text-transform: none;
		font-size:14px;
		font-weight: 700;
		text-transform: uppercase;
		color:#818181;
		background-color: transparent;
	}

	#secondary-nav > ul > li.menubtn {
		margin-left: 13px;
	}

	#secondary-nav > ul > li.menubtn a {
		background: #b50938;
		color: #FFF;
		border: none;
		text-decoration: none;
		text-transform: uppercase;
		font-weight: 900;
		font-size: 14px;
		font-family: 'Lato';
		transition: all .25s;
		-moz-transition: all .25s;
		-webkit-transition: all .25s;
		white-space: nowrap;
		vertical-align: text-top;
		line-height: 100%;
		border: 2px solid #b50938;
    	padding: 11px 20px;
	}

	#secondary-nav > ul > li.menubtn.current_page_item a {
		color: #fff;
	}
	#secondary-nav > ul > li.menubtn a:after {
		content: '\f0da';
		font-family: 'Font Awesome 5 Free';
		font-weight: 800 !important;
		display: inline-block;
		margin-left: 1.2em;
		font-weight: normal;
		font-size: 1em;
		transition: all .25s;
		-moz-transition: all .25s;
		-webkit-transition: all .25s;
	}

	#secondary-nav > ul > li.menubtn a:hover {
		background: #454c55;
		color: #FFF;
		border: 2px solid #454c55;
	}

	#secondary-nav > ul > li.menubtn a:hover:after {
		margin-left: 1.4em;
	}


	#secondary-nav > ul > li > a:hover,
	#secondary-nav > ul > li.current_page_item > a,
	.post-type-archive-events #menu-item-22 > a,
	.tax-eventcampus #menu-item-22 > a,
	.tax-eventcat #menu-item-22 > a,
	.single-events #menu-item-22 > a{
		color:#202020;
	}
	/*
	#secondary-nav > ul > li.menu-item-has-children > a:after{
		content:'\f0d7';
		font-family: 'Font Awesome 5 Free';
		position: absolute;
		right:0px;
		top:0.35em;
	}
	*/
	#secondary-nav > ul > li.student-icon > a:before{
		content:'\f007';
		font-family: 'Font Awesome 5 Free';
		display: inline-block;
		margin-right:0.6em;
		font-weight: normal;
		display: none;
	}
	#secondary-nav > ul > li > a:hover,
	#secondary-nav > ul > li.current_page_item > a,
	#secondary-nav > ul > li.current-page-ancestor > a{

	}
	#secondary-nav ul.sub-menu{
		position: absolute;
		top:130%;
		left:50%;
		margin-left:-90px;
		width:200px;
		z-index: 100;
		overflow: hidden;
		background:#efefef;
		border:1px solid #b1b1b1;
		-webkit-border-radius: 2px;
		-moz-border-radius: 2px;
		border-radius: 2px;
		opacity: 0;
		max-height: 0;
		transition: all 0.35s;
		-moz-transition: all 0.35s;
		-webkit-transition: all 0.35s;
		-webkit-box-shadow: 0px 0px 7px 0px rgba(0,0,0,0.1);
		-moz-box-shadow: 0px 0px 7px 0px rgba(0,0,0,0.1);
		box-shadow: 0px 0px 7px 0px rgba(0,0,0,0.1);
	}
	#secondary-nav > ul > li:hover ul.sub-menu{
		max-height: 600px;
		opacity: 1;
	}
	#secondary-nav ul.sub-menu li a{
		font-size: 14px;
		text-transform: uppercase;
		font-weight: 700;
		padding:0.5em 1.5em;
		line-height: 175%;
	}
	#secondary-nav ul.sub-menu li a:hover,
	#secondary-nav ul.sub-menu li a:active{
		background:#b1b1b1;
		text-decoration:underline;
	}
	#secondary-nav ul.sub-menu li{
		border-bottom:1px solid #FFF;
	}
	#secondary-nav ul.sub-menu li:last-child{ border-bottom:none; }

	#primary-nav{
		display:block;
		position: absolute;
		left:0;
		bottom:0;
		padding-left:3000px;
		padding-right:3000px;
		width:7140px;
		margin-left:-3000px;
		margin-right:-3000px;
		/*
		border-top:1px solid #b1b1b1;
		border-bottom:1px solid #b1b1b1;
		*/
	}
	#primary-nav > ul{
		position: relative;
		margin-bottom: -1px;
		display: -ms-flexbox;
		display: -webkit-flex;
		display: flex;
		-webkit-flex-direction: row;
		-ms-flex-direction: row;
		flex-direction: row;
		-webkit-flex-wrap: nowrap;
		-ms-flex-wrap: nowrap;
		flex-wrap: nowrap;
		-webkit-align-content: stretch;
		-ms-flex-line-pack: stretch;
		align-content: stretch;
	}
	#primary-nav > ul > li{
		display:inline-block;
		padding-left:15px;
		padding-right: 15px;
		-webkit-order: 0;
		-ms-flex-order: 0;
		order: 0;
		-webkit-flex: 1 1 auto;
		-ms-flex: 1 1 auto;
		flex: 1 1 auto;
		-webkit-align-self: auto;
		-ms-flex-item-align: auto;
		align-self: auto;
	}
	/*
	#primary-nav > ul > li > a:before{
		content:'';
		position: absolute;
		right:-4px;
		top:20px;
		width:1px;
		height:18px;
		background:#b0b0b0;
		z-index: 10;
	}
	*/
	#primary-nav > ul > li:first-child{ padding-left:0; }
	#primary-nav > ul > li:last-child{ padding-right:0; }
	#primary-nav > ul > li > a{
		display:inline-block;
		height:60px;
		padding:16px 0px 16px 0px;
		white-space: nowrap;
		font-size: 16px;
		transition: all .25s;
		-moz-transition: all .25s;
		-webkit-transition: all .25s;
		border-bottom:5px solid transparent;
	}
	#primary-nav > ul > li a:hover,
	#primary-nav > ul > li:hover a,
	#primary-nav > ul > li.currentpage a{
		color:#5b0522;
		border-color:#b50938;
	}
	#primary-nav > ul > li > .sub-menu{
		position: absolute;
		top:100%;
		left:0;
		background:	#FFF;
		width:1160px;
		transition: all .25s;
		-moz-transition: all .25s;
		-webkit-transition: all .25s;
		overflow: hidden;
		z-index: 100;
		max-height: 0px;
		opacity: 0;
		-webkit-box-shadow: 0px 16px 22px -16px rgba(0,0,0,0.65);
		-moz-box-shadow: 0px 16px 22px -16px rgba(0,0,0,0.65);
		box-shadow: 0px 16px 22px -16px rgba(0,0,0,0.65);
	}
	/*
	#primary-nav > ul > li.menu-item-has-children > a:after{
		content:'\f0d7';
		font-family: 'Font Awesome 5 Free';
		position: absolute;
		right:18px;
		top:1.2em;
		font-size:0.8em;
	}
	*/
	#primary-nav > ul > li.menu-item-has-children:hover .sub-menu{
		max-height: 700px;
		/* overflow-y: auto; */
		opacity: 1;
		padding:2em 3000px 2em 3000px;
		margin:0 -3000px;
		width: auto;

	}
	/*
	#primary-nav > ul > li.menu-item-has-children .sub-menu.menucols1 > .pure-g{ max-width: 500px; }
	#primary-nav > ul > li.menu-item-has-children .sub-menu.menucols2 > .pure-g{ max-width: 800px; }
	#primary-nav > ul > li.menu-item-has-children .sub-menu.menucols3 > .pure-g{ max-width: 1000px; }
	#primary-nav > ul > li.menu-item-has-children .sub-menu.menucols4 > .pure-g{ max-width: 1200px; }
	*/

	#primary-nav > ul > li > .sub-menu li{
		display:block;
		text-align: left;
	}
	#primary-nav > ul > li > .sub-menu li a{
		display:block;
		width:auto;
		color:#b50938;
		font-size:16px;
		line-height: 130%;
		font-weight: 700;
		text-transform: none;
		height: auto;
		padding:8px 0;
		transition: all .25s;
		-moz-transition: all .25s;
		-webkit-transition: all .25s;
	}
	#primary-nav > ul > li > .sub-menu li:last-child a{  }
	#primary-nav > ul > li > .sub-menu li a:hover,
	#primary-nav > ul > li > .sub-menu li.currentpage a{
		color:#5b0522;
		text-decoration: underline;
	}
	#primary-nav > ul > li > .sub-menu h3{
		font-size: 17px;
		line-height: 120%;
		margin:0 0 0.5em 0;
		font-weight: 700;
	}
	#primary-nav .nav-column.coltype-spaced{
		padding-top:29px;
	}

	#header-search{
		display:block;
		vertical-align: top;
		position: absolute;
		z-index: 5;
		right:0px;
		bottom:59px;
	}
	.search-form{
		display: block;
		height:50px;
		width:620px;
		background:#FFF;
	}
	.search-form button{
		line-height: 42px;
	}
	.search-form button i{
		position: relative;
		top:-0.1em;
	}
	.search-form input[type="search"]{
		width:540px;
		height:45px;
	}
}

@media only screen and (max-width: 1023px) {
	.spacedcols > div,
	.spacedcols > article{
		padding-bottom:1em;
	}
	.spacedcols > div:last-child,
	.spacedcols > article:last-child{
		/* padding-bottom:0; */
	}
}

@media only screen and (min-width: 1300px) {
	.wrap{ max-width:1240px; }
	#primary-nav{ left:50px; }
	#primary-nav > ul > li > .sub-menu > .pure-g{ width:1240px; }
	/*
	#primary-nav > ul > li > a{
		padding-left:35px;
		padding-right:35px;
	}
	*/
}

@media only screen and (min-width: 1500px) {
	.wrap{ max-width:1440px; }
	#primary-nav{ left:150px; }
	#primary-nav > ul > li > .sub-menu > .pure-g{ width:1440px; }
	#primary-nav > ul > li > a{
		padding-left:3px;
		padding-right:3px;
		/*
		padding-left:45px;
		padding-right:45px;
		*/
		font-size: 18px;
	}
	#primary-nav > ul > li:first-child{ padding-left:0; }
	#primary-nav > ul > li.menu-item-has-children > a:after{ right: 43px; }
	#primary-nav > ul > li.menu-item-has-children:hover .sub-menu{
		padding-top:3em;
		padding-bottom:3em;
	}
}