/*
Theme Name: Kavli Institute
Theme URI: http://space.mit.edu
Description: Custom theme for the MIT Kavli Institute.
Author: Robert Tobey
Version: 1.0
*/

@import url('https://fonts.googleapis.com/css?family=Open+Sans:300,400,600,700');
@import url('reset.css');

/***************
BODY
***************/

html {
	overflow-x: hidden;
}

body {
	font-family: 'Open Sans', sans-serif;
	font-weight: 400;
	font-size:  1em;
	color: #58595B;
	background-color: #E7E8E9;
	line-height: 1.5;
	overflow-x: hidden;
}

/***************
GENERAL STYLES
***************/

/*** Bold, Italic, Underline ***/

body b {
	font-weight: bold;
}

body i, .italic_copy {
	font-style: italic;
}

body strong {
	font-weight: bold;
}

body em {
	font-style: italic;
}

body u {
	text-decoration: underline;
}

/*** Superscript and Subscript ***/

body sup {
    vertical-align: super;
    font-size: smaller;
}

body sub {
    vertical-align: sub;
    font-size: smaller;
}

/*** Link Styles ***/

a, a:link, a:visited, a:active {
	color: #007BB7;
	text-decoration: none;
} 

a:hover {
	text-decoration: underline;
}

/*** Images ***/

img {
	max-width: 100%;
	height: auto;
	display: block;
}

/*** Button Links ***/

a.button_link {
	min-width: 80px;
	height: 30px;
	padding: 0 15px;
	background-color: #001E43;
	border-radius: 10px;
	font-size: .875em;
	color: #BCBEC0;
	text-transform: uppercase;
	text-align: center;
	line-height: 30px;
	display: inline-block;
}

a:hover.button_link {
	text-decoration: none;
}

/***************
LAYOUT
***************/

/*** Box Sizing ***/

* { 
	-webkit-box-sizing: border-box;
	-moz-box-sizing: border-box;
	box-sizing: border-box;
}

/*** Site Wrappers ***/

#site_wrapper {
	display: -ms-flexbox;
	display: flex;
	min-height: 100vh;
	-ms-flex-direction: column;
	flex-direction: column;
}

#site_content {
	-ms-flex: 1 0 auto;
	flex: 1;
}

#site_footer {
	margin-top: 40px;
	background-color: #A7A9AC;
}

.page-template-page-home #site_footer {
	margin-top: 0;
}	

/*** Centering Wrapper ***/

.container {
	position: relative;
	margin: 0 5%;
}

/*** Clearing Floats ***/

.clr:after { 
	content: ""; 
	display: block; 
	height: 0; 
	clear: both; 
	visibility: hidden;
}

/***************
SECTION BANNERS
***************/

#section_banner {
	position: relative;
}

#section_banner img {
	max-width: none;
}

.banner_title_outer {
	font-weight: 300;
	color: #FFFFFF;
	line-height: 1.2;
}

#banner_overlay {
	position: absolute;
	left: 0;
	top: 0;
	width: 100%;
	height: 100%;
	z-index: 2;
	background: linear-gradient(to right, rgba(0,0,0,0.5), rgba(0,0,0,0) 70%);
}

/***************
NAVIGATION MENUS
***************/

/*** Title Navigation ***/

#title_navigation.omit_banner {
	margin-top: 25px;
	margin-bottom: 20px;
}

#title_nav li a {
	font-size: .875em;
	color: #6D6E71;
}

#title_nav > li.menu-depth-0 > a {
	display: none;
}

#title_nav li.menu-depth-1 > a {
	display: none;
}

#title_nav li.current-menu-item > a {
	font-weight: 700;
	color: #231F20;
}

/*** Project Page Navigation ***/

#project_page_navigation {
	margin-bottom: 30px;
}

#project_page_navigation li a {
	font-size: .875em;
	font-weight: 700;
	color: #6D6E71;
	text-transform: uppercase;
}

#project_page_navigation li.project_menu_selected > a {
	color: #231F20;
}

/*** Mobile Navigation ***/

#mobile_navigation_outer {
	position: relative;
}

/***************
PAGE CONTENT
***************/

/*** Page Columns ***/

#page_columns {
	max-width: 1575px;
	margin-top: 30px;
}

/*** Page Titles ***/

.page_title_wrapper {
	font-weight: 300;
	line-height: 1.2;
}

#page_full_title {
	margin-bottom: 20px;
	font-size: 1.250em;
	font-weight: 700;
	line-height: 1.2;
}

.page_secondary_title {
	font-size: 1.125em;
	font-weight: 700;
	line-height: 1.2;
}

/*** Admin Edit Link ***/

.admin_edit_link {
	margin-bottom: 10px;
	text-transform: uppercase;
}

/*** Page Lead ***/

#page_lead {
	margin-bottom: 30px;
	font-size: 1.125em;
}

#page_lead p {
	margin-bottom: 30px;
}

#page_lead p:last-child {
	margin-bottom: 0;
}

/*** Sections and Spacers ***/

#page_content .page_xxxsmall_spacer {
	margin-top: 3px;
}

#page_content .page_xxsmall_spacer {
	margin-top: 5px;
}

#page_content .page_xsmall_spacer {
	margin-top: 8px;
}

#page_content .page_small_spacer {
	margin-top: 10px;
}

#page_content .page_small_medium_spacer {
	margin-top: 15px;
}

#page_content .page_medium_spacer {
	margin-top: 20px;
}

#page_content .page_large_spacer {
	margin-top: 30px;
}

#page_content .page_bottom_spacer_large {
	margin-bottom: 30px;
}

#page_content .page_section {
	margin-top: 30px;
}

#page_content .page_divider {
	margin-top: 30px;
	padding-top: 30px;
	border-top: 1px solid #231F20;
}

#page_content .page_divider_bottom {
	margin-bottom: 30px;
	padding-bottom: 30px;
	border-bottom: 1px solid #231F20;
}

.shortcode_spacer + .shortcode_spacer {
	margin-top: 30px;
}

/*** Text Sizes ***/

#page_content .medium_copy {
	font-size: 1.125em;
}

/*** Reference Lists ***/

.reference_list h3 {
	margin-bottom: 20px;
	font-size: 1.125;
	font-weight: 700;
}

/*** Detail Lists ***/

.detail_list h4 {
	margin-bottom: 10px;
	font-size: 1em;
	font-weight: 700;
}

.detail_list ul {
	list-style-type: none;
}

.detail_list ul.show_markers, .detail_list ol.show_markers {
	padding-left: 15px;
	list-style-position: outside;
}

.detail_list ul.show_markers {
	list-style-type: disc;
}

.detail_list ol.show_markers {
	list-style-type: decimal;
}

.detail_list li {
	padding-bottom: 5px;
}

.detail_list li:last-child {
	padding-bottom: 0;
}

/*** Info Sections ***/

.info_section h3 {
	font-size: 1.125;
	font-weight: 700;
}

/*** Labels ***/

.page_label {
	padding-right: 8px;
}

/***************
POST FORMATTING
***************/

/*** Headings ***/

.post_formatting h1, .post_formatting h2, .post_formatting h3, .post_formatting h4, .post_formatting h5, .post_formatting h6 {
	margin-bottom: 30px;
	font-weight: 700;
	line-height: 1.2;
}

.post_formatting h1, .post_formatting h2 {
	font-size: 1.250em;
}

.post_formatting h3 {
	font-size: 1.125em;
}

.post_formatting h4, .post_formatting h5, .post_formatting h6 {
	font-size: 1.063em;
}

/*** Paragraphs ***/

.post_formatting p {
	margin-bottom: 30px;
}

.post_formatting p:last-child {
	margin-bottom: 0;
}

/*** Blockquote ***/

.post_formatting blockquote {
	padding: 0 40px 30px 40px;
	font-size: 1.125em;
	font-weight: 500;
	font-style: italic;
	display: inline-block;
}

/*** Pull Quote ***/

.post_formatting .pull_quote {
	padding: 20px 0;
	border-top: 1px solid #231F20;
	border-bottom: 1px solid #231F20;
	font-size: 1.125em;
	font-weight: 700;
}

/*** Lists ***/

.post_formatting ul {
	margin: 0 0 30px 0;
	padding-left: 15px;
	list-style-type: disc;
	list-style-position: outside;
}

.post_formatting ol {
	margin: 0 0 30px 0;
	padding-left: 15px;
	list-style-type: decimal;
	list-style-position: outside;
}

.post_formatting li {
	padding-bottom: 8px;
}

.post_formatting ul li:last-child, .post_content ol li:last-child {
	padding-bottom: 0;
}

/*** Divider ***/

.post_formatting hr {
	clear: both;
	margin: 5px 0;
	width: 100%;
	height: 1px;
	background-color: transparent;
	border: 0;
	border-top: 1px solid #231F20;
}

.post_formatting hr + p, .post_formatting hr + h1, .post_formatting hr + h2, .post_formatting hr + h3, .post_formatting hr + h4, .post_formatting hr + h5, .post_formatting hr + h6 {
	margin-top: 30px;
}

/*** Tables ***/

.post_formatting .table-wrap {
	overflow: auto;
}

/*** Images ***/

.post_formatting img {
	display: inline-block;
}

.post_formatting .alignnone {
    margin: 5px 30px 30px 0;
}

.post_formatting .aligncenter,
.post_formatting div.aligncenter {
    display: block;
    margin: 5px auto 5px auto;
}

.post_formatting .alignright {
    float: right;
    max-width: 50%;
    margin: 5px 0 10px 30px;
}

.post_formatting .alignleft {
    float: left;
    max-width: 50%;
    margin: 5px 30px 10px 0;
}

.post_formatting a img.alignright {
    float: right;
    max-width: 50%;
    margin: 5px 0 10px 30px;
}

.post_formatting a img.alignnone {
    margin: 5px 30px 30px 0;
}

.post_formatting a img.alignleft {
    float: left;
    max-width: 50%;
    margin: 5px 30px 10px 0;
}

.post_formatting a img.aligncenter {
    display: block;
    margin-left: auto;
    margin-right: auto
}

.post_formatting .wp-caption {
    max-width: 96%;
    padding: 10px 3px;
    text-align: left;
}

.post_formatting .wp-caption.alignnone {
    margin: 5px 30px 30px 0;
}

.post_formatting .wp-caption.alignleft {
	max-width: 50%;
    margin: 5px 30px 10px 0;
}

.post_formatting .wp-caption.alignright {
	max-width: 50%;
    margin: 5px 0 10px 30px;
}

.post_formatting .wp-caption img {
	width: auto;
    height: auto;
    margin: 0;
    max-width: 100%;
    padding: 0;
}

.post_formatting .wp-caption p.wp-caption-text {
	padding: 0 4px 5px;
    font-size: .875em;
}

#post_content .wp-smiley {
	width: auto;
	border: none;
}

.post_formatting iframe {
	margin: 0 auto;
	display: block;
}

/***************
PAGING
***************/

.pagination .nav-links {
	margin-top: 30px;
	padding-top: 20px;
	border-top: 2px solid #231F20;
}

.pagination h2.screen-reader-text {
	display: none;
}

.pagination .nav-links {
	text-align: center;
}

.pagination .nav-links .page-numbers {
	padding: 0 5px;
}

.pagination .nav-links a.page-numbers {
	color: #58595B;
}

.pagination .nav-links .page-numbers.current {
	color: #231F20;
}

/***************
RIGHT SIDEBAR
***************/

#right_sidebar .sidebar_widget {
	margin-bottom: 40px;
}

#right_sidebar .sidebar_widget:last-child {
	margin-bottom: 0;
}

#right_sidebar h2.widget_title {
	margin-bottom: 20px;
	font-size: 1.125em;
	font-weight: 700;
}

#right_sidebar .sidebar_widget {
	font-size: .875em;
}

#right_sidebar .sidebar_widget p {
	margin-bottom: 16px;
}

#right_sidebar .sidebar_widget p:last-child {
	margin-bottom: 0;
}

#right_sidebar .sidebar_widget ul {
	margin: 0 0 16px 0;
	padding-left: 15px;
	list-style-type: disc;
	list-style-position: outside;
}

#right_sidebar .sidebar_widget ol {
	margin: 0 0 16px 0;
	padding-left: 15px;
	list-style-type: decimal;
	list-style-position: outside;
}

#right_sidebar .sidebar_widget li {
	padding-bottom: 5px;
}

#right_sidebar .sidebar_widget ul li:last-child, #right_sidebar .sidebar_widget ol li:last-child {
	padding-bottom: 0;
}

#right_sidebar .sidebar_widget img {
	max-width: 100%;
	height: auto;
}

#right_sidebar .sidebar_widget .widget_image {
	margin-bottom: 16px;
}

#right_sidebar .sidebar_widget .widget_image_caption {
	margin-top: 8px;
	font-size: .750em;
}

/***************
FOOTER
***************/

#footer {
	color: #545455;
}

#footer a {
	color: #545455;
}

#footer h2 {
	font-size: 1.5em;
	font-weight: 400;
	color: #373839;
	text-transform: uppercase;
	line-height: 1.2;
}

#footer_inner {
	padding: 40px 0;
}

#footer_top {
	margin-bottom: 35px;
}

.footer_section {
	margin-top: 25px;
}

.footer_left .footer_spacer {
	margin-bottom: 5px;
}

.footer_left .footer_spacer:last-child {
	margin-bottom: 0;
}

/*** Logos ***/

#footer .footer_logo {
	overflow: hidden;
}

#footer .footer_logo a {
	width: 100%;
	height: 100%;
	background-position: center center;
	background-repeat: no-repeat;
	background-size: 100% 100%;
	color: transparent;
	display: block;
}

#sos_logo a {
	background-image: url('images/school_of_science_logo.png');
}

#kavli_logo a {
	background-image: url('images/kavli_foundation_logo.png');
}

/*** Social Icons ***/

#footer .footer_social_icon {
	width: 40px;
	height: 40px;
	overflow: hidden;
	display: inline-block;
}

#footer .footer_social_icons .footer_social_icon {
	margin-right: 8px;
}

#footer .footer_social_icons .footer_social_icon:last-child {
	margin-right: 0;
}

#footer .footer_social_icon a {
	width: 100%;
	height: 100%;
	background-position: center center;
	background-repeat: no-repeat;
	color: transparent;
	display: block;
}

#footer_facebook_icon a {
	background-image: url('images/social_facebook_icon.png');
}

#footer_twitter_icon a {
	background-image: url('images/social_twitter_icon.png');
}

#footer_youtube_icon a {
	background-image: url('images/social_youtube_icon.png');
}

#footer_email_icon a {
	background-image: url('images/social_email_icon.png');
}

#footer_rss_icon a {
	background-image: url('images/social_rss_icon.png');
}

/***************
ARCHIVE GRID
***************/

.archive_grid_title {
	font-size: 1.250em;
	font-weight: 700;
	line-height: 1.2
}

.archive_grid {
	margin-top: 20px;
}

.archive_grid_item {
	position: relative;
	margin-top: 30px;
	overflow: hidden;
}

.archive_grid_item_inner {
	ms-transition: -ms-transform 400ms ease-in-out;
	-webkit-transition: -webkit-transform 400ms ease-in-out;
	transition: transform 400ms ease-in-out;
}

a:hover .archive_grid_item_inner {
	-ms-transform: scale(1.2);
	-webkit-transform: scale(1.2);
	transform: scale(1.2);
}

.archive_grid_overlay {
	position: absolute;
	left: 0;
	top: 0;
	width: 100%;
	height: 100%;
	z-index: 2;
	background: linear-gradient(to bottom, rgba(0,0,0,0.5), rgba(0,0,0,0) 70%); 
}

.archive_grid_item_title {
	position: absolute;
	left: 50%;
	top: 50%;
	padding: 0 20px;
	font-size: 1em;
	font-weight: 700;
	color: #FFFFFF;
	text-align: center;
	transform: translate(-50%, -50%);
	z-index: 3;
}

/***************
CONTACT
***************/

/*** Contact Info ***/

.contact_info {
	display: inline-block;
}

.contact_info.contact_block {
	display: block;
}

.contact_info .contact_section {
	margin-top: 30px;
}

.contact_info .contact_section:first-child {
	margin-top: 0;
}

.contact_info h3 {
	margin-bottom: 0;
	font-size: 1.125em;
	font-weight: 700;
}

.contact_info .contact_label {
	padding-right: 5px;
}

/*** Google Maps and Map Markers ***/

.acf-map {
	width: 100%;
	height: 300px;
	border: 1px solid #FFFFFF;
	margin-top: 30px;
	display: block;
}

/***************
FILTER MENUS
***************/

#filter_menu {
	margin-bottom: 30px;
}

#filter_menu .filter_section {
	margin-top: 20px;
}

#filter_menu .filter_menu_row {
	margin-bottom: 10px;
}

#filter_menu .filter_menu_field {
	position: relative;
}

#filter_menu .filter_menu_field.field_large {
	width: 100%;
}

#filter_menu h3 {
	margin-bottom: 15px;
	font-size: 1.125em;
	font-weight: 700;
	color: #231F20;
}

#filter_menu label {
	width: 100%;
	margin-bottom: 5px;
	font-weight: 700;
	color: #231F20;
	display: block;
}

#filter_menu .filter_menu_field input[type="text"] {
	width: 100%;
	height: 30px;
	padding: 0 5px;
	border: 1px solid #ABABAC;
	border-radius: 5px;
    font-size: 1em;
    display: inline-block;
}

#filter_menu .filter_menu_field select {
	width: 100%;
	height: 30px;
	padding: 0 5px;
	border: 1px solid #ABABAC;
	border-radius: 5px;
    font-size: 1em;
    display: inline-block;
}

#filter_menu .filter_menu_field .menu_loading {
	position: absolute;
	right: -20px;
	bottom: 0;
	width: 16px;
	height: 30px;
	background-image: url('images/menu_loading.gif');
	background-repeat: no-repeat;
	background-position: right center;
	z-index: 2;
	display: none;
}

#filter_menu .filter_field_selected {
	position: relative;
	width: 100%;
	height: 30px;
	padding: 0 8px;
	background-color: #001E43;
	border-radius: 5px;
	font-size: 1em;
	font-weight: 700;
	color: #FFFFFF;
	line-height: 30px;
}

#filter_menu .filter_field_selected .filter_field_close {
	position: absolute;
	top: 50%;
	right: 0;
	transform: translateY(-50%);
	width: 30px;
	height: 30px;
}

#filter_menu .filter_field_selected .filter_field_close button {
	width: 100%;
	height: 100%;
	background-color: transparent;
	border: none;
	font-size: 1em;
	font-weight: 700;
	color: #FFFFFF;
	cursor: pointer;
}

#filter_menu input[type="submit"] {
	float: left;
	height: 30px;
	padding: 0 15px;
	border: none;
	background-color: #001E43;
	border-radius: 10px;
	font-size: .875em;
	color: #BCBEC0;
	text-transform: uppercase;
	line-height: 30px;
	cursor: pointer;
}

#filter_menu .filter_menu_row input[type="submit"]:first-child {
	margin-right: 10px;
}

#filter_menu .directory_filter_section {
	min-height: 35px;
}

#filter_menu .acf-fields > .acf-field {
	padding: 0;
}

#filter_menu .acf-fields > .acf-field .acf-label {
	margin: 0;
}

#filter_menu .acf-fields > .acf-field select {
	font-size: 1em;
}

#filter_menu .select2-container--default .select2-selection--single {
	border: 1px solid #ABABAC;
	border-radius: 5px;
}

#filter_menu .select2-container--default .select2-selection--single .select2-selection__rendered {
	color: #231F20;
}

#filter_menu .select2-container .select2-selection--single {
	height: 30px;
}

/***************
GALLERIES
***************/

/*** Grid ***/

.gallery_grid {
	margin-top: 20px;
}

.gallery_grid_item {
	position: relative;
	margin-top: 30px;
}

.gallery_grid_type {
	font-size: .875em;
	font-weight: 700;
	text-transform: uppercase;
}

.gallery_grid_title h3 a {
	font-size: 1.125em;
	font-weight: 700;
	color: #58595B;
}

.gallery_item_more a {
	font-size: .875em;
	font-weight: 700;
	text-transform: uppercase;
}

/*** Single ***/

#gallery_view {
	margin-bottom: 10px;
	font-size: .875em;
	font-weight: 600;
	text-transform: uppercase;
}

.gallery_single_title {
	font-size: 1em;
	font-weight: 700;
}

.gallery_single_description {
	font-size: .875em;
}

/***************
HOME PAGE
***************/

/*** Feature Banners ***/

.feature_banner {
	position: relative;
}

.feature_banner picture, .feature_banner img {
	width: 100%;
}

.feature_banner_title {
	position: absolute;
	text-align: right;
	z-index: 4;
}

.feature_banner_title .title_copy a {
	font-size: 3em;
	font-weight: 300;
	color: #FFFFFF;
	line-height: 1.2;
}

.feature_banner_date {
	font-weight: 300;
	color: #FFFFFF;
	line-height: 1.2;
}	

.feature_banner_more {
	height: 26px;
	padding-right: 36px;
	background-image: url('images/more_icon_white.png');
	background-position: right center;
	background-repeat: no-repeat;
	text-align: right;
}

.feature_banner_more a {
	height: 100%;
	font-size: 1em;
	font-weight: 700;
	color: #FFFFFF;
	text-transform: uppercase;
	line-height: 26px;
}

.feature_banner_overlay {
	position: absolute;
	left: 0;
	top: 0;
	width: 100%;
	height: 100%;
	z-index: 2; 
}

.feature_banner_move_down {
	position: absolute;
	right: 40px;
	bottom: 40px;
	width: 57px;
	height: 57px;
	overflow: hidden;
	z-index: 3;
}

.feature_banner_move_down button {
	width: 100%;
	height: 100%;
	border: none;
	background-color: transparent;
	background-image: url('images/move_down_icon.png');
	background-position: center center;
	background-repeat: no-repeat;
	color: transparent;
	cursor: pointer;
}
	
/*** Home Content ***/

.home_content {
	padding-bottom: 30px;
}

.home_view_all {
	height: 26px;
	margin: 20px 20px 0 0;
	padding-right: 29px;
	background-image: url('images/view_all_icon.png');
	background-position: right center;
	background-repeat: no-repeat;
	text-align: right;
}

.home_view_all a {
	height: 100%;
	font-size: 1em;
	font-weight: 700;
	color: #58595B;
	text-transform: uppercase;
	line-height: 26px;
}

/***************
LISTINGS GRID
***************/

#listings_grid {
	margin-top: 30px;
}

.listings_grid_item_inner {
	width: 100%;
	padding-top: 20px;
	padding-bottom: 20px;
	border-bottom: 1px solid #231F20;
	display: -ms-flexbox;
	display: flex;
	-ms-flex-align: center;
	align-items: center;
}

.listings_grid_image {
	width: 150px;
}

.listings_grid_details {
	width: calc(100% - 150px);
	padding-left: 30px;
}

.listings_grid_details .listings_grid_title h3 {
	font-size: 1.125em;
	font-weight: 700;
}

.listings_grid_details .listings_grid_title h3 a {
	color: #231F20;
}

/***************
NEWS GRID
***************/

#news_grid {
	margin-top: 30px;
}

.news_grid_item {
	position: relative;
	margin-top: 30px;
	padding: 20px 20px 66px 20px;
	background-color: #FFFFFF;
}

.news_grid_type {
	font-size: 1em;
	font-weight: 700;
	text-transform: uppercase;
}

.news_grid_category a {
	color: #58595B;
	text-transform: uppercase;
}

.event_grid_header .news_grid_category {
	margin-top: 3px;
}

.news_grid_image {
	margin-top: 10px;
}

.news_grid_title {
	margin-top: 20px;
}

.news_grid_title a {
	font-size: 1.250em;
	color: #231F20;
}

.news_grid_date {
	margin-top: 10px;
}

.news_item_more {
	position: absolute;
	bottom: 20px;
	right: 20px;
	width: 19px;
	height: 26px;
	background-image: url('images/more_icon.png');
	background-repeat: no-repeat;
	background-position: center center;
	overflow: hidden;
}

.news_item_more a {
	width: 100%;
	height: 100%;
	color: transparent;
}

/***************
NEWS SINGLE
***************/

#single_news_category a {
	font-size: 1.125;
	color: #58595B;
	text-transform: uppercase;
}

#single_news_date {
	font-size: 1.125em;
	font-weight: 700;
}

#single_news_author {
	font-size: 1.125;
}

#single_news_location {
	font-size: 1.125;
}

#single_news_location a {
	color: #58595B;
}

.news_tags li a {
	color: #58595B;
}

/***************
PEOPLE
***************/

/*** Archive ***/

.person_wrapper a {
	color: #58595B;
}

.person_wrapper .person_name {
	font-weight: 700;
}

.person_wrapper {
	margin-top: 30px;
	padding-top: 10px;
	border-top: 1px solid #231F20;
}

.person_wrapper .person_image img {
	border-radius: 50%;
}

/*** Single ***/

#single_person a {
	color: #58595B;
}

#single_person .person_name {
	font-size: 1.250em;
	font-weight: 700;
}

/***************
PUBLICATIONS
***************/

#publications_wrapper .column_heading {
	font-size: .875em;
	font-weight: 700;
	color: #231f20;
	text-transform: uppercase;
}

.publication_wrapper {
	margin-top: 8px;
	padding: 8px 0 20px 0;
	border-top: 2px solid #231F20;
}

.publication_wrapper a {
	color: #58595B;
}

.publication_wrapper .publication_column_inner {
	font-size: .875em;
}

.publication_tax_title {
	margin-bottom: 20px;
	font-size: 1.250em;
	font-weight: 700;
	color: #231f20;
	line-height: 1.2
}

/***************
SEARCH
***************/

#search_results .search_result {
	margin-top: 30px;
}

#search_results .search_result:first-child {
	margin-top: 0;
}

#search_results .search_result h4 a {
	font-size: 1.125em;
	font-weight: 700;
	color: #58595B;
	line-height: 1.2
}

#search_results .search_result .search_excerpt {
	margin-top: 20px;
}

#search_paging ul.page-numbers {
	margin-top: 30px;
	padding-top: 20px;
	border-top: 2px solid #231F20;
}

#search_paging .page-numbers {
	list-style: none;
	font-size: .875em;
}

#search_paging .page-numbers li {
	padding: 0 5px;
	display: inline;
}

/***************
VIDEOS
***************/

/*** Single ***/

#single_video {
	margin-bottom: 20px;
}

/***************
641 AND UP
***************/

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

	/***************
	MOBILE HEADER
	***************/
	
	/*** Mobile Logo ***/
	
	#mobile_logo {
		width: 391px;
		height: 64px;
		margin-top: 3px;
	}
	
	#mobile_logo h1 a {
		background-image: url('images/mobile_logo.png');
	}
	
	/*** Mobile Buttons ***/
	
	#mobile_search_button {
		margin-right: 16px;
	}

}

/***************
737 AND UP
***************/

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

	/***************
	FOOTER
	***************/
	
	/*** Footer Logos ***/
	
	#footer .footer_logo {
		display: inline-block;
	}
	
	#sos_logo {
		width: 239px;
		height: 54px;
	}
	
	#kavli_logo {
		width: 245px;
		height: 54px;
	}
	
	/***************
	ARCHIVE GRID
	***************/
	
	.archive_grid {
		display: -ms-flexbox;
		display: flex;
		-ms-flex-wrap: wrap;
		flex-wrap: wrap;
		-ms-flex-pack: justify;
		justify-content: space-between;
	}
	
	.archive_grid_item {
		width: 46%;
		margin-left: 2%;
		margin-right: 2%;
	}
	
	.archive_grid .archive_grid_item:nth-child(1), .archive_grid .archive_grid_item:nth-child(2) {
		margin-top: 0;
	}
	
	/***************
	GALLERIES
	***************/
	
	/*** Grid ***/
	
	.gallery_grid {
		display: -ms-flexbox;
		display: flex;
		-ms-flex-wrap: wrap;
		flex-wrap: wrap;
		-ms-flex-pack: justify;
		justify-content: space-between;
	}
	
	.gallery_grid_item {
		width: 46%;
		margin-left: 2%;
		margin-right: 2%;
	}
	
	.gallery_grid .gallery_grid_item:nth-child(1), .gallery_grid .gallery_grid_item:nth-child(2) {
		margin-top: 0;
	}
	
	/***************
	HOME PAGE
	***************/

	/*** Feature Banners ***/

	.feature_banner_title {
		top: 40px;
		right: 40px;
		width: calc(70% - 40px);
	}

	.feature_banner_title .title_copy a {
		font-size: 2.5em;
	}
	
	.feature_banner_date {
		margin-top: 20px;
		font-size: 1.250em;
	}

	.feature_banner_more {
		margin-top: 20px;
	}
	
	.feature_banner_overlay {
		background: linear-gradient(to left, rgba(0,0,0,0.5), rgba(0,0,0,0) 70%); 
	}
	
	/***************
	LISTINGS GRID
	***************/
	
	#listings_grid {
		display: -ms-flexbox;
		display: flex;
		-ms-flex-wrap: wrap;
		flex-wrap: wrap;
		-ms-flex-pack: justify;
		justify-content: space-between;
	}
	
	.listings_grid_item {
		width: 49%;
	}
	
	.listings_grid_item:nth-child(odd) {
		margin-right: 2%;
	}
	
	.listings_grid_item:nth-child(1) .listings_grid_item_inner, .listings_grid_item:nth-child(2) .listings_grid_item_inner {
		border-top: 1px solid #231F20;
	}
	
	/***************
	NEWS GRID
	***************/
	
	#news_grid {
		display: -ms-flexbox;
		display: flex;
		-ms-flex-wrap: wrap;
		flex-wrap: wrap;
		-ms-flex-pack: justify;
		justify-content: space-between;
	}
	
	.news_grid_item {
		width: 46%;
		margin-left: 2%;
		margin-right: 2%;
	}
	
	#news_grid .news_grid_item:nth-child(1), #news_grid .news_grid_item:nth-child(2) {
		margin-top: 0;
	}
	
	/***************
	PEOPLE
	***************/
	
	/*** Archive ***/
	
	#people_wrapper {
		display: -ms-flexbox;
		display: flex;
		-ms-flex-wrap: wrap;
		flex-wrap: wrap;
		-ms-flex-pack: justify;
		justify-content: space-between;
	}
	
	.person_wrapper {
		width: 46%;
		margin-left: 2%;
		margin-right: 2%;
		display: -ms-flexbox;
		display: flex;
	}
	
	.person_wrapper .person_image {
		width: 37%;
	}
	
	.person_wrapper .person_info {
		width: 63%;
		padding-left: 20px;
	}
	
	/*** Single ***/
	
	#single_person {
		display: -ms-flexbox;
		display: flex;
	}
	
	#single_person_image {
		width: 30%;
	}
	
	#single_person_info {
		width: 70%;
		padding-left: 40px;
	}

}

/***************
769 AND UP
***************/

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

	/***************
	LAYOUT
	***************/

	/*** Site Wrappers ***/

	#left_sidebar {
		position: fixed;
		left: 0;
		top: 0;
		width: 250px;
		height: 100%;
		padding: 33px 0;
		background-color: #001E43;
		overflow-x: hidden;
		overflow-y: auto;
		z-index: 1;
	
	}

	.admin-bar #left_sidebar {
		top: 32px;
	}
	
	#page_wrapper {
		margin-left: 250px;
	}
	
	#site_footer {
		margin-left: 250px;
	}
	
	/***************
	MOBILE HEADER
	***************/
	
	#mobile_header {
		display: none;
	}
	
	#mobile_menu {
		display: none;
	}
	
	#mobile_close_button {
		display: none;
	}
	
	#mobile_search {
		display: none;
	}

	/***************
	LEFT SIDEBAR
	***************/

	/*** Site Logo ***/

	#site_logo a {
		width: 214px;
		height: 214px;
		margin: 0 0 0 12px;
		background-image: url('images/logo.png');
		background-repeat: no-repeat;
		background-position: center center;
		color: transparent;
		display: block;
	}

	/*** Left Navigation ***/

	#side_navigation {
		padding: 28px 30px 0 18px;
	}

	#side_nav li.menu-item-has-children {
		position: relative;
	}

	#side_nav li a {
		color: #BCBEC0;
		text-decoration: none;
	}
	
	#side_nav li.current-menu-item > a, #side_nav li.current-menu-ancestor > a {
		color: #FFFFFF;
	}

	#side_nav li.menu-item-has-children .menu_toggle button {
		width: 100%;
		height: 100%;
		border: none;
		background-position: center center;
		background-repeat: no-repeat;
		cursor: pointer;
	}

	#side_nav li.menu-item-has-children.menu-depth-0 .menu_toggle {
		position: absolute;
		top: 0;
		right: 3%;
		width: 15px;
		height: 100%;
		background-color: transparent;
		display: block;
		z-index: 102;
	}

	#side_nav li.menu-item-has-children.menu-depth-0 .menu_toggle button {
		background-image: url('images/plus_icon.png');
		background-color: transparent;
		color: transparent;
	}

	#side_nav li.menu-item-has-children.menu-depth-0.expanded > .menu_toggle button {
		background-image: url('images/minus_icon.png');
		background-position: center 17px;
		color: transparent;
	}
	
	#side_nav li.menu-item-has-children.menu-depth-1 .menu_toggle {
		display: none;
	}

	#side_nav > li {
		padding: 10px 5%;
		border-top: 1px solid #BCBEC0;
		font-size: .813em;
		font-weight: 700;
		text-transform: uppercase;
		letter-spacing: 2px;
	}
	
	#side_nav li.menu-depth-0 {
		letter-spacing: 2px;
	}
	
	#side_nav li.menu-depth-1 {
		letter-spacing: 1px;
	}

	#side_nav > li:last-child {
		border-bottom: 1px solid #BCBEC0;
	}

	#side_nav > li > ul {
		padding: 5px 0;
		display: none;
	}

	#side_nav > li > ul li {
		padding: 5px 10px 0 0;
		font-size: .750em;
		font-weight: 400;
		text-transform: capitalize;
	}

	#side_nav > li > ul li ul {
		display: none;
	}
	
	/*** Contact Navigation ***/
	
	#contact_navigation {
		padding: 15px 30px 0 18px;
	}
	
	#contact_nav li {
		padding: 5px 5% 0 5%;
	}
	
	#contact_nav li a {
		padding-top: 8px;
		font-size: .750em;
		color: #BCBEC0;
	}
	
	#contact_nav li.current-menu-item > a {
		color: #FFFFFF;
	}
	
	/*** Side Search ***/
	
	#side_search_button {
		position: relative;
		height: 50px;
		margin: 15px 30px 0 18px;
	}
	
	#side_search_button button {
		width: 100%;
		height: 100%;
		padding-left: 60px;
		background-color: transparent;
		background-image: url('images/search_icon.png');
		background-position: 10px center;
		background-repeat: no-repeat;
		border: none;
		font-size: .875em;
		color: #BCBEC0;
		text-align: left;
		cursor: pointer;
		overflow: hidden;
	}
	
	#side_search {
		position: absolute;
		left: -300px;
		top: 0;
		z-index: 2;
		-webkit-transition: all 400ms ease;
		-moz-transition: all 400ms ease;
		-ms-transition: all 400ms ease;
		-o-transition: all 400ms ease;
		transition: all 400ms ease;
		-webkit-transform: translateZ(0);
		-ms-transform: translateZ(0);
		-o-transform: translateZ(0);
		transform: translateZ(0);
	}
	
	#side_search.side_search_open {
		left: 0;
	}
	
	#side_search_inner {
		display: -ms-flexbox;
		display: flex;
	}
	
	#side_search label {
		margin-bottom: 3px;
		padding-left: 5%;
		font-size: .875em;
		font-weight: 700;
		color: #BCBEC0;
		display: block;
	}
	
	#side_search .side_field {
		width: calc(100% - 45px);
		padding-right: 5px;
	}
	
	#side_search .side_button {
		width: 45px;
	}
	
	#side_search input[type="text"] {
		width: 100%;
		height: 25px;
		padding: 0 5%;
		background-color: #001E43;
		border: 1px solid #BCBEC0;
		color: #BCBEC0;
		font-size: .875em;
		display: block;
	}
	
	#side_search input[type="submit"] {
		width: 100%;
		height: 25px;
		padding: 0 5px;
		border: none;
		background-color: #BCBEC0;
		font-size: .875em;
		color: #001E43;
		text-transform: uppercase;
		line-height: 25px;
		cursor: pointer;
	}

	/*** MIT Logo ***/

	#mit_logo {
		padding: 30px 0 0 28px;
	}

	#mit_logo a {
		width: 50px;
		height: 27px;
		background-image: url('images/mit_logo.png');
		background-repeat: no-repeat;
		background-position: center center;
		color: transparent;
		display: block;
	}
	
	/***************
	SECTION BANNERS
	***************/

	#banner_titles {
		position: absolute;
		bottom: 30px;
		width: 100%;
		height: 50px;
		padding: 0 5%;
		z-index: 5;
	}

	.banner_title_outer {
		height: 100%;
		display: -ms-flexbox;
		display: flex;
		-ms-flex-direction: row;
		flex-direction: row;
		-ms-flex-align: baseline;
		align-items: baseline;
	}

	#banner_title.banner_title_inner {
		padding-right: 25px;
		border-right: 2px solid #FFFFFF;
		font-size: 2.5em;
	}
	
	#banner_title.banner_title_inner.omit_subtitle {
		padding-right: 0;
		border-right: none;
	}

	#banner_subtitle.banner_title_inner {
		padding-left: 25px;
		font-size: 1.250em;
	}
	
	/***************
	NAVIGATION MENUS
	***************/
	
	/*** Title Navigation ***/
	
	#title_navigation {
		padding: 15px 0;
		background: linear-gradient(to right, rgba(181,181,182,1), rgba(181,181,182,0) 80%);
	}
	
	#title_navigation.omit_banner {
		padding: 0;
		background-color: transparent;
	}

	#title_nav li.menu-depth-2 {
		padding: 0 8px;
		border-left: 1px solid #6D6E71;
		display: inline-block;
	}

	#title_nav li.menu-depth-2:first-child {
		padding-left: 0;
		border-left: none;
	}
	
	/*** Project Page Navigation ***/
	
	#project_page_navigation ul li {
		padding: 0 8px;
		border-left: 1px solid #6D6E71;
		display: inline-block;
	}
	
	#project_page_navigation ul li:first-child {
		padding-left: 0;
		border-left: none;
	}
	
	/***************
	PAGE CONTENT
	***************/
	
	/*** Page Titles ***/

	#page_titles {
		height: 50px;
		display: -ms-flexbox;
		display: flex;
		-ms-flex-direction: row;
		flex-direction: row;
		-ms-flex-align: baseline;
		align-items: baseline;
	}

	#page_title.page_title_wrapper {
		padding-right: 25px;
		border-right: 2px solid #58595B;
		font-size: 2.5em;
	}
	
	#page_title.omit_subtitle {
		padding-right: 0;
		border-right: none;
	}

	#page_subtitle.page_title_wrapper {
		padding-left: 25px;
		font-size: 1.250em;
	}
	
	#page_full_title.no_banner {
		margin-top: 25px;
	}
	
	/***************
	POST FORMATTING
	***************/

	/*** Pullquote ***/

	.post_formatting .pull_quote {
		float: right;
		width: calc(50% - 20px);
		margin: 0 0 0 20px;
	}
	
	/***************
	FOOTER
	***************/
	
	.footer_columns {
		display: -ms-flexbox;
		display: flex;
	}
	
	#footer_bottom {
		-ms-flex-align: center;
		align-items: center;
	}
	
	.footer_left {
		width: 42%;
		padding-right: 10px;
	}
	
	.footer_right {
		width: 58%;
	}
	
	/*** Footer Logos ***/
	
	.footer_logos {
		text-align: right;
	}
	
	/*** Social Icons ***/

	.footer_social_icons {
		text-align: right;
	}
	
	/***************
	FILTER MENUS
	***************/

	#filter_menu .filter_menu_row {
		display: -ms-flexbox;
		display: flex;
		margin-bottom: 10px;
	}

	#filter_menu .filter_menu_field.field_medium {
		width: 48%;
	}
	
	#filter_menu .filter_menu_field.field_medium:first-child {
		margin-right: 4%;
	}
	
	#filter_menu .acf-fields {
		width: 48%;
	}
	
	#filter_menu.acf_flex .acf-fields {
		display: -ms-flexbox;
		display: flex;
		width: 100%;
		margin-bottom: 10px;
	}
	
	#filter_menu.acf_flex .acf-field {
		width: 48%;
	}
	
	#filter_menu.acf_flex .acf-field:first-child {
		margin-right: 4%;
	}
	
	#filter_menu.acf_multiflex .acf-fields {
		display: -ms-flexbox;
		display: flex;
		-ms-flex-wrap: wrap;
		flex-wrap: wrap;
		width: 100%;
		margin-bottom: 10px;
	}
	
	#filter_menu.acf_multiflex .acf-field {
		width: 48%;
		margin-bottom: 10px;
	}
	
	#filter_menu.acf_multiflex .acf-field:nth-child(odd) {
		margin-right: 4%;
	}
	
	/***************
	VIDEOS
	***************/
	
	/*** Single ***/
	
	#single_video {
		width: 65%;
		margin: 0 auto 20px auto;
	}
	
	/***************
	PUBLICATIONS
	***************/
	
	#publications_header {
		display: -ms-flexbox;
		display: flex;
	}

	#publications_wrapper .publication_column {
		padding-right: 20px;
	}
	
	#publications_wrapper .large_column {
		width: 20%;
	}
	
	#publications_wrapper .medium_column {
		width: 15%;
	}
	
	#publications_wrapper .small_column {
		width: 10%;
	}
	
	.publication_wrapper {
		display: -ms-flexbox;
		display: flex;
	}
	
	.publication_wrapper .heading_mobile {
		display: none;
	}

}

/***************
1025 AND UP
***************/

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

	/***************
	SECTION BANNERS
	***************/

	#banner_title.banner_title_inner {
		padding-right: 25px;
		border-right: 2px solid #FFFFFF;
		font-size: 3em;
	}

	#banner_subtitle.banner_title_inner {
		font-size: 1.5em;
	}
	
	/***************
	PAGE CONTENT
	***************/
	
	/*** Page Columns ***/
	
	#page_columns {
		display: -ms-flexbox;
		display: flex;
	}
	
	#page_content {
		width: 75%;
		padding-right: 75px;
	}
	
	#page_content.omit_right_sidebar {
		width: 100%;
		padding-right: 0;
	}
	
	#right_sidebar {
		width: 25%;
	}
	
	/***************
	FOOTER
	***************/
	
	/*** Footer Logos ***/
	
	#sos_logo {
		width: 259px;
		height: 58px;
	}
	
	#kavli_logo {
		width: 263px;
		height: 58px;
	}
	
	/***************
	ARCHIVE GRID
	***************/
	
	.archive_grid_item {
		width: 32%;
		margin-left: 0;
		margin-right: 0;
	}
	
	.archive_grid .archive_grid_item:nth-child(1), .archive_grid .archive_grid_item:nth-child(2), .archive_grid .archive_grid_item:nth-child(3) {
		margin-top: 0;
	}
	
	/***************
	GALLERIES
	***************/
	
	/*** Grid ***/
	
	.gallery_grid_item {
		width: 32%;
		margin-left: 0;
		margin-right: 0;
	}
	
	.gallery_grid .gallery_grid_item:nth-child(1), .gallery_grid .gallery_grid_item:nth-child(2), .gallery_grid .gallery_grid_item:nth-child(3) {
		margin-top: 0;
	}
	
	/***************
	HOME PAGE
	***************/

	/*** Feature Banners ***/

	.feature_banner_title {
		top: 60px;
		right: 60px;
		width: calc(60% - 60px);
		line-height: 1.2;
	}

	.feature_banner_title .title_copy a {
		font-size: 3em;
	}
	
	.feature_banner_date {
		margin-top: 25px;
	}

	.feature_banner_more {
		margin-top: 25px;
	}
	
	.feature_banner_overlay {
		background: linear-gradient(to left, rgba(0,0,0,0.5), rgba(0,0,0,0) 75%); 
	}
	
	/***************
	NEWS GRID
	***************/
	
	.news_grid_item {
		width: 32%;
		margin-left: 0;
		margin-right: 0;
	}
	
	#news_grid .news_grid_item:nth-child(1), #news_grid .news_grid_item:nth-child(2), #news_grid .news_grid_item:nth-child(3) {
		margin-top: 0;
	}
	
	.news_grid_header {
		display: -ms-flexbox;
		display: flex;
	}

	.news_grid_header .news_grid_type {
		width: 35%;
	}

	.news_grid_header .news_grid_category {
		width: 65%;
		text-align: right;
	}
	
	/***************
	PEOPLE
	***************/
	
	.person_wrapper {
		width: 32%;
		margin-left: 0;
		margin-right: 0;
	}
	
	.person_wrapper .person_info {
		padding-right: 15px;
	}
	
	#people_wrapper .person_wrapper:nth-child(3n) .person_info {
		padding-right: 0;
	}

}

/***************
1260 AND UP
***************/

@media screen and (min-width:1260px) {
	
	/***************
	FOOTER
	***************/
	
	/*** Footer Logos ***/
	
	#sos_logo {
		margin-right: 55px;
	}

}

/***************
1024 AND UNDER
***************/

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

	/***************
	PAGE CONTENT
	***************/
	
	/*** Page Columns ***/
	
	#right_sidebar {
		margin-top: 40px;
	}
	
	/***************
	NEWS GRID
	***************/

	.news_grid_category {
		margin-top: 3px;
	}

}

/***************
768 AND UNDER
***************/

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

	/***************
	LAYOUT
	***************/

	#left_sidebar {
		display: none;
	}
	
	#page_wrapper {
		padding-top: 70px;
	}
	
	/***************
	MOBILE HEADER
	***************/
	
	#mobile_header {
		position: fixed;
		top: 0;
		left: 0;
		width: 100%;
		height: 70px;
		padding: 0 5% 0 5%;
		background-color: #E7E7E8;
		z-index: 9998;
	}
	
	.admin-bar #mobile_header {
		top: 46px;
	}
	
	/*** Mobile Logo ***/
	
	#mobile_logo {
		float: left;
	}
	
	#mobile_logo h1 {
		width: 100%;
		height: 100%;
	}
	
	#mobile_logo h1 a {
		width: 100%;
		height: 100%;
		background-position: left center;
		background-repeat: no-repeat;
		color: transparent;
		display: block;
		overflow: hidden;
	}
	
	/*** Mobile Buttons ***/
	
	#mobile_search_button {
		float: right;
		width: 40px;
		height: 40px;
		margin-top: 15px;
	}
	
	#mobile_search_button button {
		width: 100%;
		height: 100%;
		background-color: transparent;
		background-image: url('images/search_icon.png');
		background-position: center center;
		background-repeat: no-repeat;
		border: none;
		color: transparent;
		cursor: pointer;
		overflow: hidden;
	}
	
	#mobile_menu_button {
		float: right;
		width: 96px;
		height: 40px;
		margin-top: 15px;
	}
	
	#mobile_menu_button button {
		width: 100%;
		height: 100%;
		background-color: transparent;
		background-image: url('images/menu_icon.png');
		background-position: center center;
		background-repeat: no-repeat;
		border: none;
		color: transparent;
		cursor: pointer;
		overflow: hidden;
	}
	
	#mobile_menu_button_wrapper label {
		float: right;
		height: 35px;
		padding-right: 10px;
		font-size: 1.125em;
		font-weight: 300;
		color: #000000;
		text-transform: uppercase;
		line-height: 35px;
	}
	
	#mobile_close_button {
		position: absolute;
		left: -65px;
		top: 0;
		width: 65px;
		height: 70px;
		background-color: #E7E7E8;
		z-index: 9999;
		-webkit-transition: all 400ms ease;
		-moz-transition: all 400ms ease;
		-ms-transition: all 400ms ease;
		-o-transition: all 400ms ease;
		transition: all 400ms ease;
		-webkit-transform: translateZ(0);
		-ms-transform: translateZ(0);
		-o-transform: translateZ(0);
		transform: translateZ(0);
	}
	
	#mobile_close_button.mobile_close_open {
		left: 0;
	}
	
	#mobile_close_button button {
		width: 100%;
		height: 100%;
		background-color: transparent;
		background-image: url('images/menu_close.png');
		background-position: center center;
		background-repeat: no-repeat;
		border: none;
		color: transparent;
		cursor: pointer;
		overflow: hidden;
	}
	
	/*** Mobile Menu ***/
	
	#mobile_menu {
		position: absolute;
		top: 0;
		right: -768px;
		width: calc(100% - 65px);
		padding: 20px 5% 20px 5%;
		background-color: #001E43;
		border-left: 1px solid #BCBEC0;
		border-bottom: 1px solid #BCBEC0; 
		z-index: 9999;
		-webkit-transition: all 400ms ease;
		-moz-transition: all 400ms ease;
		-ms-transition: all 400ms ease;
		-o-transition: all 400ms ease;
		transition: all 400ms ease;
		-webkit-transform: translateZ(0);
		-ms-transform: translateZ(0);
		-o-transform: translateZ(0);
		transform: translateZ(0);
	}
	
	#mobile_menu.mobile_menu_open {
		right: 0;
	}

	#mobile_nav li.menu-item-has-children {
		position: relative;
	}

	#mobile_nav li a {
		color: #BCBEC0;
		text-decoration: none;
	}
	
	#mobile_nav li.current-menu-item > a, #mobile_nav li.current-menu-ancestor.menu-depth-1 > a {
		color: #FFFFFF;
	}

	#mobile_nav li.menu-item-has-children .menu_toggle button {
		width: 100%;
		height: 100%;
		border: none;
		background-position: center center;
		background-repeat: no-repeat;
		cursor: pointer;
	}

	#mobile_nav li.menu-item-has-children.menu-depth-0 .menu_toggle {
		position: absolute;
		top: 0;
		right: 3%;
		width: 15px;
		height: 100%;
		background-color: transparent;
		display: block;
		z-index: 102;
	}

	#mobile_nav li.menu-item-has-children.menu-depth-0 .menu_toggle button {
		background-image: url('images/plus_icon.png');
		background-color: transparent;
		color: transparent;
	}

	#mobile_nav li.menu-item-has-children.menu-depth-0.expanded > .menu_toggle button {
		background-image: url('images/minus_icon.png');
		background-position: center 17px;
		color: transparent;
	}

	#mobile_nav > li {
		padding: 10px 5%;
		border-top: 1px solid #BCBEC0;
		font-size: 1em;
		font-weight: 700;
		text-transform: uppercase;
		letter-spacing: 2px;
	}

	#mobile_nav > li:last-child {
		border-bottom: 1px solid #BCBEC0;
	}

	#mobile_nav > li > ul {
		padding: 5px 0;
		display: none;
	}

	#mobile_nav li.menu-item-has-children.menu-depth-1 .menu_toggle {
		position: static;
		width: 20px;
		height: 100%;
		margin-left: 10px;
		display: inline-block;
	}
	
	#mobile_nav li.menu-item-has-children.menu-depth-1 .menu_toggle button {
		background-image: url('images/plus_icon.png');
		background-position: left center;
	}
	
	#mobile_nav li.menu-item-has-children.menu-depth-1.expanded > .menu_toggle button {
		background-image: url('images/minus_icon.png');
		background-position: left center;
	}
	
	#mobile_nav > li > ul li {
		padding: 2px 20px 2px 0;
		font-size: .875em;
		font-weight: 400;
		text-transform: capitalize;
	}
	
	#mobile_nav > li > ul li ul {
		display: none;
	}
	
	#mobile_nav > li > ul li ul li {
		padding: 2px 20px;
	}
	
	/*** MIT Mobile Logo ***/

	#mit_mobile_logo {
		padding-top: 30px;
	}

	#mit_mobile_logo a {
		width: 40px;
		height: 22px;
		background-image: url('images/mit_logo.png');
		background-repeat: no-repeat;
		background-position: center center;
		background-size: 40px 22px;
		color: transparent;
		display: block;
	}
	
	/*** Mobile Search ***/
	
	#mobile_search {
		position: fixed;
		top: 70px;
		left: 0;
		width: 100%;
		padding: 20px 5% 20px 5%;
		background-color: #001E43;
		border-bottom: 1px solid #BCBEC0;
		z-index: 9997;
		display: none;
	}
	
	.admin-bar #mobile_search {
		top: 116px;
	}
	
	#mobile_search_inner {
		display: -ms-flexbox;
		display: flex;
	}
	
	#mobile_search label {
		margin-bottom: 3px;
		font-size: .875em;
		font-weight: 700;
		color: #FFFFFF;
		display: block;
	}
	
	#mobile_search .mobile_field {
		width: calc(100% - 45px);
		padding-right: 5px;
	}
	
	#mobile_search .mobile_button {
		width: 45px;
	}
	
	#mobile_search input[type="text"] {
		width: 100%;
		height: 25px;
		padding: 0 5px;
		border: 1px solid #001E43;
		border-radius: 5px;
		font-size: .875em;
		display: block;
	}
	
	#mobile_search input[type="submit"] {
		width: 100%;
		height: 25px;
		padding: 0 5px;
		border: none;
		background-color: #EE3523;
		border-radius: 5px;
		font-size: .875em;
		color: #FFFFFF;
		text-transform: uppercase;
		line-height: 25px;
		cursor: pointer;
	}
	
	/***************
	SECTION BANNERS
	***************/

	#banner_titles {
		position: absolute;
		top: 50%;
		left: 0;
		width: 100%;
		transform: translateY(-50%);
		z-index: 5;
	}

	.banner_title_outer {
		padding: 0 5%;
	}

	#banner_title.banner_title_inner {
		margin-bottom: 25px;
		font-size: 3em;
	}
	
	#banner_title.omit_subtitle {
		margin-bottom: 0;
	}

	#banner_subtitle.banner_title_inner {
		font-size: 1.5em;
	}
	
	/***************
	NAVIGATION MENUS
	***************/
	
	/*** Title Navigation ***/
	
	#title_navigation .container {
		margin-bottom: 25px;
		padding: 25px 0;
		border-bottom: 1px solid #231F20;
	}
	
	#title_navigation.omit_banner {
		margin-bottom: 25px;
		padding-bottom: 25px;
		border-bottom: 1px solid #231F20;
	}
	
	/*** Project Page Navigation ***/
	
	#project_page_navigation {
		padding-bottom: 25px;
		border-bottom: 1px solid #231F20;
	}
	
	/***************
	PAGE CONTENT
	***************/
	
	/*** Page Titles ***/
	
	#page_title.page_title_wrapper {
		margin-bottom: 10px;
		font-size: 2.5em;
	}
	
	#page_title.omit_subtitle {
		margin-bottom: 0;
	}

	#page_subtitle.page_title_wrapper {
		font-size: 1.250em;
	}
	
	/***************
	POST FORMATTING
	***************/

	/*** Pullquote ***/

	.post_formatting .pull_quote {
		width: 100%;
		margin: 30px 0;
		display: block;
	}
	
	/***************
	FOOTER
	***************/
	
	#footer .footer_column {
		margin-bottom: 30px;
	}
	
	#footer .footer_column:last-child {
		margin-bottom: 0;
	}
	
	/*** Footer Logos ***/
	
	.footer_logos {
		text-align: left;
	}
	
	#sos_logo {
		margin-right: 30px;
	}
	
	/***************
	FILTER MENUS
	***************/
	
	#filter_menu.search_menu {
		display: none;
	}

	#filter_menu .filter_menu_field.field_medium {
		width: 100%;
		margin-bottom: 10px;
	}
	
	#filter_menu .acf-fields {
		width: 100%;
	}
	
	#filter_menu.acf_flex .acf-field {
		margin-bottom: 10px;
	}
	
	#filter_menu.acf_multiflex .acf-field {
		margin-bottom: 10px;
	}
	
	/***************
	PUBLICATIONS
	***************/
	
	#publications_header {
		display: none;
	}

	.publication_wrapper .publication_column {
		margin-top: 20px;
	}
	
	.publication_wrapper .publication_column:first-child {
		margin-top: 0;
	}

}

/***************
736 AND UNDER
***************/

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

	/***************
	MOBILE HEADER
	***************/
	
	/*** Mobile Menu ***/
	
	#mobile_menu {
		right: -736px;
	}
	
	/***************
	FOOTER
	***************/
	
	/*** Footer Logos ***/
	
	#sos_logo {
		width: 259px;
		height: 58px;
	}
	
	#kavli_logo {
		width: 263px;
		height: 58px;
	}
	
	/***************
	ARCHIVE GRID
	***************/
	
	.archive_grid .archive_grid_item:first-child {
		margin-top: 0;
	}
	
	/***************
	GALLERIES
	***************/
	
	/*** Grid ***/
	
	.gallery_grid .gallery_grid_item:first-child {
		margin-top: 0;
	}
	
	/***************
	HOME PAGE
	***************/

	/*** Feature Banners ***/

	.feature_banner_title {
		top: 20px;
		right: 20px;
		width: calc(95% - 20px);
	}

	.feature_banner_title .title_copy a {
		font-size: 2em;
	}
	
	.feature_banner_date {
		margin-top: 15px;
		font-size: 1.125em;
	}

	.feature_banner_more {
		margin-top: 15px;
	}
	
	.feature_banner_more a {
		font-size: .875em;
	}
	
	.feature_banner_move_down {
		display: none;
	}
	
	.feature_banner_overlay {
		background: linear-gradient(to left, rgba(0,0,0,0.5), rgba(0,0,0,0) 95%); 
	}
	
	/***************
	LISTINGS GRID
	***************/
	
	.listings_grid_item:first-child .listings_grid_item_inner {
		border-top: 1px solid #231F20;
	}
	
	.listings_grid_image {
		width: 75px;
	}

	.listings_grid_details {
		width: calc(100% - 75px);
	}
	
	/***************
	NEWS GRID
	***************/
	
	#news_grid .news_grid_item:first-child {
		margin-top: 0;
	}
	
	/***************
	PEOPLE
	***************/
	
	/*** Archive ***/

	.person_wrapper .person_info {
		margin-top: 10px;
	}
	
	/*** Single ***/
	
	#single_person_info {
		margin-top: 30px;
	}

}

/***************
667 AND UNDER
***************/

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

	/***************
	MOBILE HEADER
	***************/
	
	/*** Mobile Menu ***/
	
	#mobile_menu {
		right: -667px;
	}

}

/***************
640 AND UNDER
***************/

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

	/***************
	MOBILE HEADER
	***************/
	
	/*** Mobile Logo ***/
	
	#mobile_logo {
		width: 180px;
		height: 50px;
		margin-top: 10px;
	}
	
	#mobile_logo h1 a {
		background-image: url('images/mobile_logo_portrait.png');
	}
	
	/*** Mobile Buttons ***/
	
	#mobile_search_button {
		margin-right: 10px;
	}

}

/***************
568 AND UNDER
***************/

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

	/***************
	MOBILE HEADER
	***************/
	
	/*** Mobile Menu ***/
	
	#mobile_menu {
		right: -568px;
	}
	
	/***************
	FOOTER
	***************/
	
	#footer .footer_left {
		text-align: center;
	}
	
	/*** Footer Logos ***/
	
	#footer .footer_logo {
		margin: 0 auto;
	}
	
	/*** Social Icons ***/
	
	.footer_social_icons {
		text-align: center;
	}

}

/***************
480 AND UNDER
***************/

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

	/***************
	MOBILE HEADER
	***************/
	
	/*** Mobile Menu ***/
	
	#mobile_menu {
		right: -480px;
	}
	
	/***************
	SECTION BANNERS
	***************/
	
	#banner_title.banner_title_inner {
		font-size: 2.5em;
	}

	#banner_subtitle.banner_title_inner {
		font-size: 1.250em;
	}

}

/***************
375 AND UNDER
***************/

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

	/***************
	MOBILE HEADER
	***************/
	
	/*** Mobile Menu ***/
	
	#mobile_menu {
		right: -375px;
	}
	
	/***************
	HOME PAGE
	***************/

	/*** Feature Banners ***/

	.feature_banner_title .title_copy a {
		font-size: 1.750em;
	}
	
	.feature_banner_date {
		margin-top: 10px;
		font-size: 1em;
	}

	.feature_banner_more {
		margin-top: 10px;
	}

}

/***************
MOBILE PORTRAIT NARROW
***************/

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

	/***************
	MOBILE HEADER
	***************/
	
	/*** Mobile Menu ***/
	
	#mobile_menu {
		right: -320px;
	}

}

/***************
ALL TABLETS
***************/

@media screen and (min-width:737px) and (max-width:1024px) {

	/***************
	RIGHT SIDEBAR
	***************/
	
	#right_sidebar .sidebar_widget .widget_image.widget_portrait {
		width: 60%;
		margin: 0 auto 8px auto;
	}
	
	/***************
	PEOPLE
	***************/
	
	#people_wrapper .person_wrapper:nth-child(odd) .person_info {
		padding-right: 15px;
	}

}