/* HM White Main Style Sheet */

@import url(reset.css);
@import url(small.css);
@import url(medium.css);
@import url(large.css);

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

:root {
	--orange: rgba(247, 143, 34);
}

html {
	font-size: 16px;
}

body {
	font-family: 'Roboto', sans-serif;
}

.main_container {
	margin: 50px auto;
	width: 95%;
	overflow: hidden;
}

h2 {
	font-size: 18px;
}

p {
	margin-bottom: 10px;
}

strong {
	font-weight: bold;
}

em {
	font-style: italic;
}

#toTop {
	margin-left: 54px;
	display: none;
	cursor: pointer;
	font-size: 12px;
}

.justify {
	text-align: justify;
}

.extra-indent {
	margin: 0 25px 0 25px;
}

.orange-text {
	color: var(--orange);
	margin-bottom: 10px;
}

.home_main_container {
}

.home_full_page_slider_container img {
	width: 100%;
	height: fit-content;
}

a {
	color: #000;
}

/* Begin Logo Box */
.logo_box {
	width: 200px;
}

.logo_box {
	float: left;
	position: absolute;
	top: 0;
	z-index: 1;
	margin-left: 30px;
}

	.logo_box img {
		width: 100%;
	}
/* End Logo Box */

/* ******************************************************** */
/** Begin identical styles used across various templates **/
/* Begin Title Boxes */
.title_box {
	font-size: 2rem;
	border-left: 4px solid var(--orange);
	padding: 17px 0 10px 18px;
	margin-left: 30px;
}

.work_title_box {
	margin: 50px 0 30px 54px;
}

	.draft-note {
		color: red;
	}

.person_title_box {
	margin-left: 10px;
	align-self: flex-end;
}

	.person_title_box h1 {
		color: #404041;
		margin-bottom: 4px;
	}

	.person_title_box p {
		color: var(--orange);
	}
/* End Title Boxes */

/* Begin Sub-Navigation Boxes */
.sub_navigation_box {
	border-left: 4px solid var(--orange);
    padding-left: 18px;
    margin: 0 0 20px 30px;
	width: 83%;
}

	.sub_navigation_box ul li {
		margin-right: 15px;
		display: inline-block;
	}
/* End Sub-Navigation Boxes */

/* Begin Body Text Boxes */
.team-body-text-heading {
	font-size: 1.1rem;
	margin-bottom: 3px;
}

.body_text_box,
.work_body_text_box,
.job_body_text_box,
.news_body_text_box,
.contact_address_text_box,
.contact_social_text_box,
.contact_map_box,
.search_results_text_box {
	margin-left: 54px;
	text-align: justify;
}

.body_text_box a,
.person_body_text_box a,
.work_body_text_box a,
.work_body_text_box_test a,
.news_body_text_box a,
.contact_address_text_box a,
.job_body_text_box a,
.contact_social_text_box a,
.search_results_text_box ul li a {
	color: var(--orange);
}

.team-top-body-text-box,
.body_text_box p,
.person_body_text_box p,
.work_body_text_box p,
.job_body_text_box p,
.search_results_text_box p {
	line-height: 25px;
}

.contact_social_text_box {
	margin-bottom: 20px;
}

.search_results_text_box li {
	margin-bottom: 10px;
	font-size: 1.1rem;
}

.person_body_text_box ul li {
	margin-bottom: 7px;
}

.contact_social_text_box ul li {
	display: inline;
}
/* End Body Text Boxes */

/* Begin Headline Boxes */
.headline_box,
.news_headline_box {
	margin: 10px 0 10px 54px;
}
/* End Headline Boxes */

/* Begin Sub-Head Boxes */
.sub_head_box {
	margin: 0 0 10px 54px;
}
/* End Sub-Head Boxes */

/* Begin Image Boxes */
.news_image_box {
margin: 0 0 10px 54px;
}

.work_image_box a:hover:after {
	position: absolute;
	content: attr(hover-title);
	left:0;
	top:0;
	width: 92%;
	height: 85%;
	background-color: rgba(51,51,51,0.5);
	color: var(--orange);
	font-size: 1.5rem;
	text-transform: uppercase;
	padding: 15% 0 0 8%;
}

.person_image_box img {
	width: 175px;
}
/* End Image Boxes */

/* Begin Specific Image Definitions, to make background images on display and hide literal <img> */
.person_image_box {
	background-size: cover;
	background-repeat: no-repeat;
}

	.person_image_box img {
		visibility: hidden;
	}

.award_list_item_image_box {
	background-size: cover;
	background-repeat: no-repeat;
}

	.award_list_item_image_box img {
		visibility: hidden;
	}

.work_article_image {
	width: 90%;
	margin-bottom: 10px;
	background-size: cover;
	background-repeat: no-repeat;
}

	.work_article_image img {
		width: 90%;
		visibility: hidden;
	}
/* End Specific Image Definitions */

/* Begin List Containers */
.work_list_container,
.publications_list_container,
.awards_list_item_container,
.news_list_item_container {
	display: flex;
	flex-wrap: wrap;
	gap: 20px;
	margin: 10px 0 15px 54px;
	width: 85%;
}

.people_list_container {
	display: flex;
	flex-wrap: wrap;
	gap: 20px;
	width: 85%;
}

.work_article_image_container {
	margin: 10px 0 15px 54px;
	width: 88%;
}

.update_item_box,
.person_item_box,
.publication_item_box {
	width: 400px;
	max-width: 92%;
}

.person_item_box img,
.publication_item_box img {
	width: 400px;
    max-width: 92%;
}

.person_item_box h2 {
	margin: 5px 0 3px 0;
}

.person_item_box p a {
	color: var(--orange);
}
/* End List Containers */
/** End identical styles used across various templates **/

/** Begin styles specific to pages/sections **/
/* Begin Home */
.home_full_page_slider_container {
	margin-top: -68px;
	position: relative;
	width: 100%;
}

.bx-prev {
	margin-right: 60px;
}
/* End Home */

/* Begin Team */
.person-intro-box {
	display: flex;
}

.team-member-orange-text {
	color: var(--orange);
}
/* End Team */

/* Begin jobs */
.job_body_text_box h2 {
	font-size: 1.1rem;
	color: var(--orange);
	margin-top: 20px;
}

.job_body_text_box ul {
	margin-bottom: 10px;
}

	.job_body_text_box ul li {
		font-size: 1rem;
		list-style: disc;
		margin-left: 2%;
	}
/* End Jobs */

/* Begin Header & Footer */
.header_container {
	margin-top: -2px;
}
	.header_image {
		width: 100%;
		min-height: 128px;
	}

.footer_container {
	border-left: 4px solid var(--orange);
	margin: 45px 0 0 30px;
	padding-top: 10px;
}

	.footer_address_box {
		display: inline-block;
	}

	.footer_address_box {
	}

		.footer_address_box p {
			font-size: 0.9rem;
			margin: 0;
			padding-left: 20px;
		}

	.designer_id {
		margin: 30px 0 0 35px;
	}

		.designer_id p {
			font-size: 0.8rem;
			padding-left: 20px;
		}

.nav_header {
	font-size: 28px;
}

.nav_sub_item {
	padding-left: 10px;
	font-size: 21px;
}

.hamburger-open-box {
  width: 100%;
  height: 10px;
}

.hamburger {
  background: none;
  position: absolute;
  right: 3%;
  padding: 5px 15px 0px 15px;
  color: #fff;
  border: 0;
  font-size: 1.1rem;
  font-weight: bold;
  cursor: pointer;
  outline: none;
  z-index: 10000000000000;
}

.cross {
  background: none;
  position: absolute;
  top: 0;
  right: 0;
  color: #fff;
  border: 0;
  font-size: 3rem;
  font-weight: bold;
  cursor: pointer;
  outline: none;
  z-index: 10000000000000;
}

.hamburger-menu-box {
	z-index: 1000000;
	font-size: 0.8em;
	background: rgba(115, 115, 115, 0.6);
	position: absolute;
	top: 0;
	width: 250px;
	right: 8px;
}

	.hamburger {
		top: 40px;
	}

	.hamburger-menu-box ul {
		margin: 20px 0 0 10px;
		padding: 0;
		list-style-type: none;
		list-style-image: none;
		}

		.hamburger-menu-box li,
		.hamburger-menu-box li:hover {
		display: block;
		padding: 1px 0;
	}

	.hamburger-menu-box ul li a {
		text-decoration: none;
		margin: 0px;
		color: #ddd;
	}

	.hamburger-menu-box ul li a:hover {
		text-decoration: none;
	}

	.site_search_form {
		width: 20%;
	}

		.site_search_input {
			border-color: -moz-use-text-color -moz-use-text-color #404041;
			border-style: none none solid;
			border-width: medium medium 1px;
			font-size: 1.4em;
			font-weight: 400;
			margin-top: 5px;
		}

		.search_submit {
			border: none;
			visibility: hidden;
			width: 0;
		}

.sub_navigation_box ul li a:hover,
.sub_navigation_box ul li a,
.menu_active {
	color: var(--orange);
}

.sub_navigation_box ul li {
	font-size: 1.1rem;
	text-transform: uppercase;
	position: relative; /* This is needed to remove the tiny bit of extra baseline space, so the text aligns with the bottom of the orange border. */
	bottom: -3px; /* This is needed to remove the tiny bit of extra baseline space, so the text aligns with the bottom of the orange border. */
}
/* End Header & Footer */

.headline_box h1 {
	font-size: 28px;
	color: #404041;
}

.sub_head_box p {
	color: var(--orange);
}

.sub_head_box p {
	font-style: italic;
}

.print_page_main_container {
	display: none;
}

.print_page_instruction_container {
	background-color: #fff;
	border: 2px solid var(--orange);
    font-size: 18px;
    text-align: center;
    opacity: 0.8;
    padding: 10px;
    position: absolute;
    left: 40%;
    top: 120px;
    width: 16%;
}

	.print_page_instruction_container a {
		cursor: pointer;
	}

/* Media */
.publication_item_box h2,
.publication_item_box h2 a {
	font-size: 16px;
}

.update_image_box {
	margin-bottom: 10px;
	background: #f6f6f6;
}

	.update_image_box img {
		width: 100%;
	}

.update_item_box h2 {
	font-weight: 800;
}

/* Studio */
.studio-h1 {
	font-size: 1.6rem;
	flex: 0 0 100%;
	margin-bottom: 20px;
}

.publications-h1 {
	font-size: 1.6rem;
	margin: 0 0 20px 3%;
}

.publications-header {
	text-align: center;
	font-size: 1.6rem;
	color: var(--orange);
	margin-top: 20px;
	border-top: 1px solid #ccc;
	border-bottom: 1px solid #ccc;
}

.publication_intro_line,
.publication_intro_line a {
	font-style: italic;
}

/* Work */
.work_title_box h1 {
	font-size: 1.6rem;
	text-transform: uppercase;
}

.work_subhead_text {
	font-size: 1.2rem;
	margin-bottom: 0;
}

.work_location_text {
	font-style: italic;
}

.work_video_box {
	margin: 0 0 15px 3%;
}

.work_video_box {
	width: 350px;
}

	.work_video_box iframe {
	}

/* New work layout */
.work_lower_credits_container {
	margin: 20px 0 20px 54px;
	max-width: 700px;
}

.work_credits_head_plus_1_container {
	display: flex;
	flex-wrap: wrap;
	margin-bottom: 15px;
}

	.work_credits_head_1_column {
		color: var(--orange);
		width: 350px;
	}

	.work_credits_1_column {
		width: 350px;
	}

.work_credits_head_plus_2_container {
	display: flex;
	gap: 0 20px;
	flex-wrap: wrap;
	margin-bottom: 15px;
}

	.work_credits_head_2_column {
		width: 100%;
		margin-bottom: 5px;
		color: var(--orange);
	}

	.work_credits_2_column {
		display: flex;
		flex-wrap: wrap;
		gap: 0 20px;
		padding-left: 10px;
	}

		.sub_column_left {
			width: 320px;
		}

		.sub_column_right {
			width: 350px;
			margin-bottom: 5px;
		}
	
/* Awards */
.awards_list_container {
	margin-top: 35px;
}

	.year-header {
		font-size: 1.2rem;
		margin: 20px 0 10px 54px;
		width: 84%;
		display: flex;
		align-items: center;
	}

		.year-header-left-line {
			height: 1px;
			background: #000;
			width: 120px;
			flex-shrink: 0;
		}

		.year-header-year-box {
			margin: 0 15px;
			flex-shrink: 0;
		}

		.year-header-right-line {
			height: 1px;
			background: #000;
			width: 500px;
			flex-grow: 1; /* Allow it to grow to fill remaining space */
		}

	.award_list_item_info_box a {
	}

	.award_list_item_info_box {
		width: 370px;
		margin: 0 10px 15px 0;
		padding: 10px;
	}

		.award_list_top_text_box {
		}

			.award_list_top_text_box h3 {
				font-weight: 300;
				margin-bottom: 3px;
			}

			.award_list_top_text_box h4 {
				color: var(--orange);
				font-weight: 300;
			}

		.award_list_item_image_box {
			margin-top: 5px;
			width: 370px;
			height: 278px;
		}

			.award_list_item_image_box img {
				height: 100%;
				width: 100%;
				object-fit: cover;
			}

		.award_list_bottom_text_box {
			margin-top: 5px;
		}

			.award_list_bottom_text_box h5,
			.award_list_bottom_text_box p {
				font-weight: 300;
			}

			.award_list_bottom_text_box p {
				font-style: italic;
			}

/* News */
.news_list_container {
	margin-top: 35px;
}

	.news-year-header {
		font-size: 1.2rem;
		margin: 20px 0 20px 54px;
		width: 85%;
		display: flex;
		align-items: center;
	}

		.news-year-header-year-box {
			text-transform: uppercase;
			font-size: 1.5rem;
			margin-right: 15px;
			flex-shrink: 0;
		}

		.news-year-header-right-line {
			height: 1px;
			background: #000;
			width: 500px;
			flex-grow: 1; /* Allow it to grow to fill remaining space */
		}

	.news_list_item_container {
		justify-content: center;
	}

		.news_list_item_info_box {
			width: 380px;
		}

			.news_list_item_image_box {
				width: 100%;
				height: 420px;
				display: flex;
				align-items: center;
				justify-content: center;
			}

				.news_list_item_image_box img {
					max-width: 100%;
					max-height: 100%;
					object-fit: cover;
				}

			.news_list_item_info_box h3 {
				font-weight: 300;
				margin: 5px 0;
				padding: 0 3px;
			}

			.news_list_item_info_box h4 {
				margin-top: 5px;
				font-size: 1.1rem;
				padding: 0 3px;
			}

			.news_list_item_info_box a {
			}

		.news_list_item_bottom_text {
			width: 100%;
		}

			.news_list_item_bottom_text a {
			}

/* Inquiries */
.bbb_box {
	margin: 20px 0 20px 4%;
}

.fab {
	font-size: 33px;
}

.contact_map_box iframe {
	border: none;
	width: 80%;
	height: 333px;
}

.employment-opportunity-box {
	margin-bottom: 50px;
}

.employment_opportunities_intro_text_box {
	width: 60%;
	margin: 10px 0 10px 54px;
	text-align: justify;
}
/** End styles specific to pages/sections **/

/** Lightbox Overrides **/
/* Begin CSS to Center Lightbox Vertically (https://github.com/lokesh/lightbox2/issues/172#issuecomment-459672473) */
#lightboxOverlay {
	position: fixed !important;
	top: 0;
	left: 0;
	height: 100% !important;
	width: 100% !important;
}
#lightbox {
	position: fixed !important;
	top: 50% !important;
	transform: translateY(-50%);
}
/* End CSS to Center Lightbox Vertically */

.lb-data .lb-close {
	position: absolute;
	left: 49%;
}

.bx-viewport, .bx-wrapper {
	width: 100% ;
	left: 0 !important;
	border: none !important;
 }
 .bx-wrapper {
	 margin: none !important;
 }
 .bx-viewport {
	height: 100vh !important;
	position: fixed !important;
 }
 .bxslider, .bxslider li {
	height: 100% !important;;
 }
 .bxslider li {
	background-repeat: no-repeat;
	background-position: top center;
	background-size: cover;
 }

.bx-pager {
	display: none;
}

 .bx-caption {
	margin-left: 2.8%;
	padding-left: 0.5%;
	font-weight: bold;
	border-left: 4px solid var(--orange);
	background: none!important;
	bottom: auto!important;
 }

	.light_caption {
		color: #fff;
	}

	.outside { /* This is not technically part of the BXSlider files. It is added to have an "outside" pager. */
		position: absolute;
	}

		.bx-prev {
			margin-right: 60px;
		}

		.bx-next,
		.bx-prev {
			color: #fff;
		}

/* Print styling */
@media print {
	.header_container,
	.print_page_instruction_container {
		display: none;
	}

	.print_page_main_container {
		display: inline;
		margin-left: 1in;
	}

	.body,
	.main {
		width: 8.5in;
		height: 11in;
		margin: 0.5in;
	}

		.print_main_image_container {
			margin-bottom: 0.1in;
		}

			.print_main_image_container img {
				width: 7.5in;
			}

		.print_info_container {
			margin: 0 0.5in 0 0.5in;
			page-break-after: always;
		}

			.print_title_box {
				color: #2B2E34;
				margin: 0 0 0.15in 0;
			}

				.print_title_text {
					font-size: 17pt;
					margin: 0;
				}

				.print_subhead_text {
					font-size: 13pt;
					margin: 0;
				}

		.print_body_text_box {
			width: 7in;
			color: #2B2E34;
		}

			.print_body_text_box p {
				margin: 0 0 0.05in 0;
				font-size: 10pt;
			}

		.print_footer_container {
			margin-top: 0.1in;
			width: 5in;
		}

			.print_footer_container p {
				font-size: 10px;
				margin: 0;
			}

			.print_footer_logo_box {
				width: 1.25in;
				margin-right: 0.75in;
				float: left;
			}

				.print_footer_logo_box img {
					border-left: 2px solid var(--orange);
					width: 1.25in;
					margin: 0;
				}

			.print_footer_address_box {
				width: 1.25in;
				margin-right: 0.25in;
				float: left;
			}

				.print_email_text {
					color: var(--orange);
				}

		.print_image_container {
			margin: 0 0.5in 0 0.5in;
			padding-top: 0.5in;
		}

			.print_image {
				width: 3.25in;
				margin: 0.5in 0.25in 0.05in 0;
			}

		.print_article_link_box {
			font-size: 8pt;
			margin-top: 0.05in;
			width: 5in;
		}

	.print_page_breaker {
		page-break-after: always;
	}

/* **************************************** */
/* Begin Probably Unused -- Delete When Confirmed */

/* News */
.news_list_container {
}

	.news_list_item_container {
		border: 1px solid #ccc;
		padding: 5px;
		display: grid;
	}

		.news_list_item_info_box {
		}

			.news_list_item_info_box h4 {
				font-size: 1.5rem;
			}

			.news_list_item_info_box h2 {
				color: var(--orange);
				font-size: 1.3rem;
				margin: 20px 0;
			}

			.news_list_item_info_box h3 {
				font-size: 1.1rem;
				margin: 20px 0;
				font-style: italic;
			}

			.news_list_item_info_box a {
				background-color: var(--orange);
				padding: 5px;
				color: #fff;
				margin-top: 7px;
			}

		.news_list_item_image_box {
			align-self: end;
		}

			.news_list_item_image_box img {
				max-width: 100%;
				object-fit: cover;
			}

	.news_list_box {
		margin-left: 3%;
	}

	.news_nav_box {
		float: right;
	}

	.news_subhead_box {
		margin-left: 3%;
	}

	.news_image_box img {
		width: 100%;
	}

	.news_item_box img {
		width: 100%;
	}
	/* **************************************** */
	/* End Probably Unused -- Delete When Confirmed */

}