/*
Welcome to custom CSS for the WSU Spine Theme!

You may delete these comments and get started with your custom stylesheet.
Before doing so, please review the WSU web standards:

http://brand.wsu.edu/media/web/web-standards/

As a general rule of thumb, if your styles target aspects of the spine
(#spine), that's against standard, whereas if you're styling elsewhere on
the page, it's all good.
*/
img {
	-ms-interpolation-mode: bicubic;
}

:target:before {
/* Position reset for anchor link targets */
	content: "";
	display: block;
	height: 1em;
/* fixed header height*/
	margin-top: -1em;
/* negative fixed header height */
}

.attachment.type-attachment .wp-video {
	margin-bottom: 2rem;
}

/* H1 for accessibility only. Add to wrapper. */
.hidden-h1 {
	visibility: hidden;
	display: none;
	height: 0;
	padding: 0;
	margin: 0;
	font-size: 0;
	line-height: 0;
}

/* Front Page COVID-19 Notice */
.home .advisory-banner {
	background: #981e32;
	color: white;
}

.home .advisory-banner a {
	color: #d7dadb;
	font-weight: bold;
}

/*=======================================================*/
/* WP Gallery Styles (Remove if UComm finds missing CSS) */
/*=======================================================*/
.gallery img {
	border: 0;
/*border: thick solid #fff;*/
/*box-shadow: 0 2px 5px -2px #5e6a71;*/
	-ms-filter: progid:DXImageTransform.Microsoft.Alpha(Opacity=100);
	filter: alpha(opacity=100);
	-moz-opacity: 1;
	-khtml-opacity: 1;
	opacity: 1;
}

.gallery img:hover, 
.gallery img:active {
/*box-shadow: 0 2px 5px -2px #b5babe;*/
	-ms-filter: progid:DXImageTransform.Microsoft.Alpha(Opacity=80);
	filter: alpha(opacity=80);
	-moz-opacity: .8;
	-khtml-opacity: .8;
	opacity: .8;
}

.gallery .gallery-caption, .wp-caption-text {
	font-size: 80%;
	font-style: italic;
	text-align: left;
}

.no-bullet ul, ul.no-bullet, .linkbox ul {
	list-style-type: none;
	padding: 0;
	margin: 0;
}

.hanging li, .linkbox li {
	padding-left: 1em;
	text-indent: -1em;
}

/*.noLink {
	color: #2a3033;
}*/
.noMarginTop {
	margin-top: 0;
	padding-top: 0;
}

/*================================================================*/
/* Nested floating div for links; attached to initial  of section */
/*================================================================*/
@media screen and (min-width: 694px) {
	.linkbox {
		width: 200px;
		margin-left: 2em;
		padding: .5em;
		float: right;
		clear: both;
		background-color: #fff;
		border: 1px solid #b5babe;
		border-top: .25em solid #b5babe;
	}
}

@media screen and (max-width: 693px) {
	.linkbox {
		margin: 1em 0;
	}
	
	.linkbox h3:not(:first-of-type) {
		margin-top: 1em;
	}
	
	.linkbox ul {
		list-style: none;
		margin: 0;
		padding: 0;
		background: #eff0f1;
		display: -webkit-box;
		display: -moz-box;
		display: -ms-flexbox;
		display: -webkit-flex;
		display: flex;
		-webkit-flex-flow: column wrap;
		flex-flow: column wrap;
	}
	
	.linkbox li a {
		text-align: center;
		text-decoration: none;
		display: block;
		color: #981e32;
		padding: 1em;
		padding-left: 2em;
		border-top: 1px solid #fff;
		border-bottom: 1px solid #b5babe;
	}
	
	.linkbox li a:hover, .linkbox li a:focus {
		background: #d7dadb;
	}
	
	.linkbox li a:active {
		background: #981e32;
		color: #fff;
	}
	
	.linkbox li {
		padding: 0;
	}
	
	.linkbox li:last-of-type a {
		border-bottom: none;
	}
}

.content {
/* wrapper for quicklinks div */
	overflow: auto;
}

/*=====================*/
/* Image style classes */
/*=====================*/
/*  wrapper to properly nest images into following content */
p.nested {
	margin: 0;
	padding-bottom: 0;
	padding-top: .5em;
}

.frame {
	-moz-box-sizing: border-box;
	-webkit-box-sizing: border-box;
	box-sizing: border-box;
	border: thick solid #FFF;
	font-size: .9em;
	line-height: 1.4em;
}

.shadow {
	box-shadow: 0 1px 2px #D7DADB;
}

.pub-cover {
	box-shadow: 0 7.5px 10px -7.5px rgba(94,106,113,0.75), 0 0 3.5px -1.5px rgba(94,106,113,0.25);
	border-radius: .125em;
}

a img.pub-cover {
	transition: box-shadow .125s ease-in, transform .125s ease-in;
}

a:hover img.pub-cover {
	transform: scale(1.05);
	box-shadow: 0 7.5px 10px -5px rgba(94,106,113,1), 0 0 5.5px -1px rgba(94,106,113,0.35);
	transition: box-shadow .375s ease-in, transform .375s ease-in;
}

/*===============*/
/* Contact Icons */
/*===============*/
.spine-blank-template a[title^="Email"]:before {
	font-family: Spine-Icons;
	content: "\0040";
	cursor: default;
	margin-right: .5em;
}

.spine-blank-template a[title^="Phone"]:before {
	font-family: Spine-Icons;
	content: "\1F4DE";
	cursor: default;
	margin-right: .5em;
}

.spine-blank-template p[title^="Fax"]:before {
	display: inline-block;
	width: 1.2em;
	height: 1.2em;
	margin-right: .3em;
	content: "";
	background: url("../wp-content/uploads/sites/402/2015/01/fax-icon.svg") no-repeat 0 0;
	background-size: 100%;
}

@media only screen and (min-width:480px) {
	/*Turn off link highlighting for tel:// links for non-mobile vistitors */
	a[href^="tel:"] {
		color: #5E6A71 !important;
		text-decoration: none !important;
		cursor: text;
	}
}

#contact {
	margin-bottom: 1em;
}

#contact p {
	padding-bottom: 0;
	font-size: .9em;
	line-height: 1.4em;
}

.contactbox {
/*border: 1px solid #d7dadb;*/
	padding-top: 1rem;
	padding-bottom: 1rem;
	margin-bottom: 1rem;
}

/*===================*/
/* Main Page Widgets */
/*===================*/
.widget_action_item a {
	background: url("../wp-content/uploads/sites/402/2015/03/action-bg.png") no-repeat scroll right top transparent;
	border-radius: 1px;
	color: #FFF;
	clear: both;
	display: block;
	line-height: 42px;
	margin-bottom: .8em;
	padding: 0 2em;
	white-space: nowrap;
}

.widget_action_item a:hover {
	background-position: right bottom;
	color: #FFF;
}

/*===========================*/
/* Employee Directory Styles */
/*===========================*/
.tablepress-id-3 {
	width: 100% !important;
	font-size: .8rem;
	line-height: 1.2em;
}

.tablepress-id-3 th {
	font-weight: normal !important;
	text-transform: uppercase;
	font-style: normal;
	font-size: .9rem;
}

.tablepress-id-3 .column-1 {
	padding-left: 0;
	max-width: 100px;
}

.tablepress-id-3 .column-1 img {
	border: 1px #b6bcbf solid;
	max-height: 75px;
	width: auto;
	min-width: 60px;
}

.tablepress-id-3 .column-1 img.emeritus {
	filter: grayscale(1) contrast(1.25);
}

.tablepress-id-3 .column-2, .tablepress-id-3 .column-2 img {
	width: 20px !important;
	height: auto;
	padding-left: 0;
	padding-right: 0;
	overflow: hidden;
}

.tablepress-id-3 .column-3 {
	font-weight: bold;
	text-transform: uppercase;
}

.tablepress-id-3 .column-6 {
	white-space: nowrap;
}

/* Don't break phone numbers */
.dataTables_paginate a {
	text-decoration: none;
	text-transform: uppercase;
}

.paging_simple .paginate_button.next:after, .paging_simple .paginate_button.previous:before {
	text-shadow: none;
	color: #b5babe;
}

@media screen and (max-width:693px) {
	.directory h2 {
		margin-top: 2em;
	}
	
	.tablepress-id-3 thead, .tablepress-id-3 .column-2, .main-header {
		display: none;
	}
	
	/* Remove column headers & grad student icon */
	.tablepress-id-3 .row-hover tr:hover td, .tablepress-id-3 .row-hover tr:hover td:last-child {
		background: inherit !important;
	}
	
	.tablepress-id-3 tr {
		max-width: 300px;
		display: block;
		margin: 2em auto 0;
		border: 1px solid #b5babe;
	}
	
	.tablepress-id-3 td {
		display: block;
		border: none !important;
		width: 100%;
		max-width: 300px;
	}
	
	.tablepress-id-3 td:first-child {
		padding: 0;
		margin-bottom: 1em;
	}
	
	.tablepress-id-3 td:last-child {
		padding-bottom: 2em;
	}
	
	.tablepress-id-3 .column-1 {
		height: auto;
		max-height: 300px;
		max-width: 100%;
		overflow: hidden;
	}
	
	.tablepress-id-3 .column-1 img {
		max-height: 375px;
		width: 100%;
		border: none;
	}
	
	.tablepress-id-3 .column-4 {
		font-style: italic;
	}
	
	/*Italicize job title*/
	.tablepress-id-3 .column-3,.tablepress-id-3 .column-4,.tablepress-id-3 .column-5,.tablepress-id-3 .column-6 {
		padding: 0 2em;
		width: calc(100% - 4em);
		line-height: 1.4em;
	}
	
	#tablepress-3_filter {
		width: calc(100% - 1em);
		margin-left: -2em;
		padding: .5em;
		float: none;
		background-color: #fff;
		text-align: center;
		position: fixed;
		top: 50px;
		box-shadow: 0 .0625em 1em;
	}
	
	#tablepress-3_filter input {
		width: calc(100% - 6.5em);
		height: 2em;
		margin-left: 1em;
		padding: .5em;
	}
	
	#tablepress-3 td.dataTables_empty {
		font-weight: bold;
		padding: 2em;
		margin: 0;
		width: auto;
		text-align: center;
	}
	
	#tablepress-3_paginate {
		float: none;
	}
	
	#tablepress-3_paginate :first-child {
		float: left;
	}
	
	#tablepress-3_paginate :last-child {
		float: right;
	}
}

/*=============================================*/
/* Styling Mission Statement bloc on Home Page */
/*=============================================*/
.mission {
	z-index: 2;
	display: flex;
	flex-flow: row wrap;
	font-style: italic;
	font-weight: 600;
}

.mission .column {
	padding: .5rem 1rem !important;
	margin: 1rem 0 0;
	border-top: .5em solid;
	border-bottom: 1px solid;
}

.mission h2 {
	font-family: Palatino, "Palatino Linotype", "Palatino LT STD", "Book Antiqua", serif;
	font-weight: bold;
	letter-spacing: -1px;
	font-size: 2.6em;
	padding: 0;
}

.mission .green {
	border-color: #8f7e35;
}

.mission .yellow {
	border-color: #c69214;
}

.mission .blue {
	border-color: #4f868e;
}

.mission .green, .mission .green h2 {
	color: #72652a;
}

.mission .yellow, .mission .yellow h2 {
	color: #81600d;
}

.mission .blue, .mission .blue h2 {
	color: #3f6b72;
}

/* Fix Tribe Events Calendar Spine-side margin. */
@media screen and (min-width: 990px) {
	.tribe-common.tribe-events.tribe-events-view {
		margin-left: 198px;
	}
}

.tribe-events {
	font-family: "Open Sans", "Lucida Sans", "Lucida Grande", "Lucida Sans Unicode", sans-serif;
}

.tribe-events-tooltip .tribe-events-event-thumb {
/*Tribe events thumbnail fix*/
	max-width: 320px;
	overflow-x: hidden;
}

/*======================*/
/* Re-style syndication */
/*======================*/
.wsuwp-content-syndicate-list {
	list-style-type: none;
	padding: 0;
	margin: 0;
}

/* Events Lists */
.wsuwp-content-syndicate-event {
	padding: .5em;
}

.wsuwp-content-syndicate-event:not(:first-child) {
	border-top: 1px dotted #b5babe;
}

.content-item-event-date {
	font-size: 80%;
	text-transform: uppercase;
	display: block;
}

.content-item-event-title {
	display: block;
	margin-left: 1rem;
}

.content-item-event-meta {
	display: none;
}

/* Highlight events happening today. Works with isToday() JavaScript. */
.today {
	background-color: #eff0f1;
	padding-top: .5em;
}

.today:not(:first-of-type) {
	border-top: 1px dotted #fff;
}

.today + .wsuwp-content-syndicate-event:not(.today) {
	border-top: none;
}

.today .content-item-event-date {
	font-weight: bold;
	color: #464e54;
}

/* News list */
.wsuwp-content-syndicate-item {
	padding: .4em;
}

.pinned {
	padding: 0 1rem;
	margin-bottom: 1rem;
	background-color: white;
}

.pinned h3 {
	padding-bottom: .5em;
}

.pinned .wsuwp-content-syndicate-item {
	padding: 1rem 0;
}

.pinned .wsuwp-content-syndicate-item {
	border-top: 1px dotted #b5babe;
}

.pinned .content-item-title {
	display: block;
	padding-bottom: .5em;
	font-size: 1.2em;
	line-height: 1em;
	font-weight: 500;
	text-overflow: ellipsis;
}

.pinned .content-item-excerpt p:last-of-type {
	padding-bottom: 0;
}

.pinned .content-item-excerpt img {
	display: block;
	margin: 0 1em 1em;
	float: right;
	width: 50%;
}

@media screen and (max-width:693px) {
	.pinned .content-item-excerpt img {
		float: none;
		margin: 0 auto 1em;
		width: 100%;
	}
}

.pinned .content-item-byline, .pinned .content-item-thumbnail, .pinned .content-item-read-story, .pinned .more-link {
	display: none;
}

.content-more-default, .more-default {
	display: block;
	text-align: right;
	margin-top: 1em;
}

/* Avoid duplicate Read More links in pinned stories */
/*.pinned .content-item-read-story:after {
  content: "\00bb";
  margin-left: .25em;
} */
.article-summary {
/* Fix for overflowing thumbnails in news feed */
	overflow: hidden;
}

/*==========================*/
/* Parking Map styles */
/*==========================*/
.mapkey {
	display: -webkit-flex;
	display: flex;
	-webkit-flex-direction: column;
	flex-direction: column;
}

.mapkey div {
	padding: 1rem 2rem;
}

@media screen and (min-width:694px) {
	div.key {
		padding-top: 0;
	}
}

@media screen and (max-width:693px) {
	div.key {
		order: 1;
		padding-bottom: 0;
	}
	
	.key dl {
		display: -webkit-flex;
		display: flex;
		-webkit-flex-direction: column;
		flex-direction: column;
	}
}

.mapkey h2 {
	font-family: serif;
	font-style: italic;
	font-size: 2.6em;
	line-height: .8em;
	padding: 0;
}

.mapkey .key h2 {
	font-size: 1.1rem;
	font-family: "Open Sans", "Lucida Sans", "Lucida Grande", "Lucida Sans Unicode", sans-serif;
	line-height: 1.1em;
	padding: .5em 0 .2em;
}

.key ul {
	list-style-type: none;
	padding: 0;
}

.key li {
	margin-bottom: .5em;
	padding: 0;
	display: block;
}

.key li img {
	margin-right: .5em;
	border: 1px solid #d7dadb;
}

.b5, .back-m-gray {
	background-color: #d7dadb;
}

.b5 h2 {
	color: #5e6a71;
	text-transform: lowercase;
}

.b5 p, .d7 p, .back-l-gray p, .back-m-gray p {
	color: #464e54;
}

.d7, .back-l-gray {
	background-color: #eff0f1;
}

.d7 h2 {
	color: #5e6a71;
	text-transform: lowercase;
}

/*===============================================*/
/* Gravity Forms DFA Rental Inquiry (Form ID 4)  */
/* Also schedule-note class for calendar alerts. */
/*===============================================*/
#gform_wrapper_4 .dfa-alert, .schedule-note {
	padding: 2em !important;
	padding-left: 4.5em !important;
	border: 1px solid #d7dadb;
	border-radius: .25em;
}

.schedule-note {
	border: 3px solid #981e32;
	color: #981e32;
	font-weight: bold;
}

#gform_wrapper_4 .dfa-alert:before, .schedule-note:before {
	content: "!" !important;
	color: #981e32;
	display: block !important;
	position: relative;
	font-size: 5.5em;
	font-weight: bold;
	line-height: .75em;
	float: left;
	margin-left: -.5em !important;
	animation: alert-shake 1.64s cubic-bezier(.36,.07,.19,.97) .82s both infinite;
	transform: translate3d(0,0,0);
	backface-visibility: hidden;
	perspective: 1000px;
}

@keyframes alert-shake {
	5%, 45% {
		transform: rotate(-1deg);
	}
	
	10%, 40% {
		transform: rotate(2deg);
	}
	
	15%, 25%, 35% {
		transform: rotate(4deg);
	}
	
	20%, 30% {
		transform: rotate(-4deg);
	}
}

/*=======================*/
/* WSU Jobs: Tablepress  */
/*=======================*/
.employment .tablepress.jobs th, 
.employment .tablepress.jobs :not(thead) + tbody tr:only-child td {
	background: #981e32 !important;
	color: white;
	font-weight: 700;
}

.employment .tablepress.jobs .column-1 {
	width: 40%;
}

.employment .tablepress.jobs .column-2 {
	width: 35%;
}

.employment .tablepress.jobs .column-3 {
	width: 25%;
}

/* Hide table header if table contains no other data */
.employment tbody tr.row-1 {
	display: none;
}

/*===================================*/
/* Grad Student Directory Tablepress */
/*===================================*/
.tablepress-table-description-id-9, #tablepress-10_filter {
	margin-bottom: 1rem;
}

.grad-students thead {
	display: none;
}

.grad-students tbody td {
	border: unset;
	padding: 0;
}

.grad-students.current tbody {
	display: grid;
	grid-template-columns: auto;
	grid-template-rows: repeat(auto-fill,minmax(50px,1fr));
	grid-row-gap: 1rem;
}

.grad-students.current tr {
	display: grid;
	grid-template-columns: 150px auto;
	grid-auto-rows: min-content;
	grid-column-gap: 1rem;
	padding-bottom: 1rem;
	border-bottom: 1px solid #b5babe;
}

.grad-students.current td:not(.column-1):empty {
	display: none;
}

.grad-students.current .column-1 {
	grid-column: 1 / span 1;
	grid-row: 1 / span 7;
}

.grad-students.current .column-2 {
	font-weight: 700;
}

.grad-students.current .column-3 + .column-4 {
	margin-top: 1em;
}

.grad-students.current .column-4:before,
.grad-students.current .column-5:before,
.grad-students.current .column-6:before {
	font-style: italic;
	font-weight: 600;
}

.grad-students.current .column-4:before {
	content: "Degree Pursued: ";
}

.grad-students.current .column-5:before {
	content: "Faculty Advisor: ";
}

.grad-students.current .column-6:before {
	content: "Department: ";
}

.grad-students.current .column-4, 
.grad-students.current .column-5, 
.grad-students.current .column-6 {
	margin-left: 2em;
	text-indent: -2em;
}

.grad-students.current .column-7 {
	background-color: #eff0f1;
	padding: 1em;
	margin-top: 1rem;
	font-size: .85em;
}

.grad-students.former tbody {
	display: grid;
	grid-template-columns: repeat(3,minmax(150px,1fr));
	grid-gap: .5rem;
}

.grad-students.former tr {
	display: grid;
	grid-auto-rows: min-content;
	grid-template-columns: 100%;
	align-content: top;
	font-size: .85em;
	padding: 1em;
	border-radius: .2em;
	background: #eff0f1;
}

.grad-students.former td {
	padding: 0;
}

.grad-students.former .column-1 {
	font-weight: 700;
}

.grad-students.former .column-2 + .column-3 {
	margin-top: .5em;
}

.grad-students.former .column-3:before {
	display: block;
	content: "Faculty Advisor";
	font-size: .75em;
	text-transform: uppercase;
	font-weight: 700;
}

.grad-students.former .column-4 {
	font-style: italic;
}

@media screen and (max-width:693px) {
	.grad-students.current tr {
		grid-template-columns: auto;
		grid-column-gap: unset;
	}
	
	.grad-students.current .column-1 {
		justify-self: center;
	}
	
	.grad-students.former tbody {
		grid-template-columns: auto;
	}
	
	.grad-students.former tr {
		background: none;
		border-bottom: 1px solid #d7dadb;
		border-radius: unset;
	}
}

/* Add CAHNRS Action Button styling */
body .cpb-action-button {
	display: block;
	margin: auto;
	padding: 1em;
	background-color: #981e32;
	border: 2px solid #981e32;
	border-radius: 8px;
	color: #fff;
	text-align: left;
	text-decoration: none;
	font-size: 18px;
	margin-bottom: 1.5rem;
}

body .cpb-action-button:hover {
	color: #fff;
	background-color: #464e54;
	border: 2px solid #464e54;
}

body .cpb-action-button:after {
	font-family: FontAwesome;
	content: '\f0da';
	text-decoration: none !important;
	display: inline-block;
	vertical-align: middle;
	margin-left: 8px;
}

body .cpb-action-button.in-page-action {
	display: inline-block;
	margin-top: 12px;
	padding: 12px 22px;
	background-color: transparent;
	border: 2px solid #981e32;
	border-radius: 0;
	color: #981e32;
	text-align: left;
	text-decoration: none;
	font-size: 18px;
	margin-bottom: 1.5rem;
	text-transform: uppercase;
}

//Fix bottom margin in P wrapper
body p .cpb-action-button,
body p .cpb-action-button.in-page-action {
	margin-bottom: calc(1.5rem - 1em);
}

body .cpb-action-button.size-small {
	font-size: 12px;
}

body .cpb-action-button.size-medium {
	font-size: 15px;
}

.builder-section-banner.banner-align-top .builder-banner-slide {
	background-position: center top !important;
}

/* Fundraising progress bar. DRAFT */
.fundraising-bar {
	border-radius: 2rem;
	padding: .25em;
	border: 2px solid white;
	background-color: white;
	overflow: hidden;
	box-shadow: 0 7.5px 10px -7.5px rgba(94,106,113,0.75), 0 0 3.5px -1.5px rgba(94,106,113,0.25);
}

.fundraising-bar .fundraising-progress {
	width: calc((var(--fundraising-progress) / var(--fundraising-goal)) * 100%);
	padding: .5rem;
	margin: -.5rem;
	text-align: right;
	color: #fff;
	text-shadow: 1px 1px 2px rgba(8,10,12,0.8);
	background-color: #A60F2D;
	background: linear-gradient(0deg,#A60F2D,#CA1237);
	border-top-right-radius: 2.5% 50%;
	border-bottom-right-radius: 2.5% 50%;
}

.fundraising-bar .fundraising-progress p {
	color: #fff;
	text-align: right;
	padding: .5em;
}

.fundraising-bar + p.fundraising-total {
	text-align: right;
	margin-top: .5em;
	margin-bottom: 1em;
}

.fundraising-bar .fundraising-progress.animate-progress {
	animation-name: animate-progressbar;
	animation-duration: 1.25s;
	animation-delay: 250ms;
	animation-timing-function: ease-out;
}

@keyframes animate-progressbar {
	0% {
		transform: translateX(-100%);
		opacity: 0;
	}
	
	20% {
		opacity: 0;
	}
	
	100% {
		transform: translateX(0);
		opacity: 1;
	}
}

/* Backport WDS3 */
.wsu-note {
	border-left: 3px solid #981e32;
	padding: 1em;
	margin-bottom: 2rem;
	margin-top: 2rem;
	background-color: #fff;
}

.wsu-note > :first-child {
	padding-top: 0;
	margin-top: 0;
}

.wsu-note > :last-child {
	padding-bottom: 0;
	margin-bottom: 0;
}