/* CUSTOM CSS CLASSES */

.alignleft, *[style*='text-align: left'] {
	clear: left /* !important */;
	float: left;
	margin: 0 1.5em 1em 0 !important;
	max-width: 75%;
}
th.alignleft, th[style*='text-align: left'], td.alignleft, td[style*='text-align: left'] {
	float: none;
}

.aligncenter, *[style*='text-align: center'] {
	clear: both;
	display: block;
	float: none;
	margin-right: auto !important; margin-left: auto !important;
	max-width: 100%;
	text-align: center;
}
body:not(#tinymce) .aligncenter, body:not(#tinymce) *[style*='text-align: center'] {
	width: auto;
}
th.aligncenter, th[style*='text-align: center'], td.aligncenter, td[style*='text-align: center'] {
	float: none;
}

.alignright, *[style*='text-align: right'] {
	clear: right /* !important */;
	float: right;
	margin: 0 0 1em 1.5em !important;
	max-width: 75%;
}
th.alignright, th[style*='text-align: right'], td.alignright, td[style*='text-align: right'] {
	float: none;
}

img.alignleft, img[style*='text-align: left'], .wp-caption.alignleft,
img.alignright, img[style*='text-align: right'], .wp-caption.alignright
{ max-width: calc(50% - 2em); }

img.aligncenter, img[style*='text-align: center'] { margin-bottom: 1em !important; }
img.aligncenter:last-child, img[style*='text-align: center']:last-child { margin-bottom: 0 !important; }

.attribution {
	color: #808080;
	font-size: 85%;
	line-height: 1.5em;
	margin-bottom: 2em;
}

table.auto { table-layout: auto !important; }

/* Containing element MUST have position declared! */
.blocklink {
	display: block;
	overflow: hidden;
	position: absolute; top: 0; right: 0; bottom: 0; left: 0;
	text-indent: -9999px;
	z-index: 5;
}

.button, input[type=submit], #footer a.button {
	background-color: #2980b9;
	border: none !important;
	border-radius: 4px;
	color: #ffffff !important;
	cursor: pointer;
	display: inline-block;
	font-size: 100%;
	font-weight: 600 /* !important */;
	line-height: 1.2em;
	margin-right: 10px;
	margin-bottom: 0.5em;
	padding: 0.5em 1.333em;
	text-decoration: none !important;
	text-transform: uppercase;
	white-space: nowrap;
}

.aligncenter .button, .aligncenter input[type=submit],
.basic_centered_feature .button, .basic_centered_feature input[type=submit],
*[style*='center'] .button, *[style*='center'] input[type=submit]
{
	margin-left: 10px;
}

.button:hover, .button.toggle:hover, input[type=submit]:hover, #footer a.button:hover {
	background-color: #3498db;
	color: #ffffff !important;
	text-decoration: none !important;
}

.button:disabled:hover, input[type=submit]:disabled:hover, #footer a.button.disabled:hover {
	background-color: inherit;
	color: inherit;
	cursor: not-allowed;
}

.button.inactive, .button.inactive:hover, #footer a.button.inactive:hover {
	background-color: #c0c0c0;
}

.button.toggle {
	background-color: #ffffff;
	color: #2980b9 /* !important */;
}

.button.toggle.on {
	background-color: #2980b9;
	color: #ffffff /* !important */;
}

.aligncenter .button, .aligncenter input[type=submit],
*[style*=center] .button, *[style*=center] input[type=submit]
{ margin-right: 5px; margin-left: 5px; }

.animated_transitions .button, .animated_transitions input[type=submit],
.animated_transitions .button:hover, .animated_transitions input[type=submit]:hover
{ transition: all 0.25s ease 0s; }

ul.buttons {
	display: block;
	list-style: none !important;
	padding: 0 !important;
}

	ul.buttons li {
		display: inline-block;
		margin: 0 0.667em 0 0;
	}

.bypostauthor { }

.circle {
	border-radius: 100%;
	display: block;
	overflow: hidden;
}

.clearfix:after {
	clear: both;
	content: '';
	display: table;
}

.clear_columns {
	clear: both;
	-moz-column-count: 1;
	-webkit-column-count: 1;
	column-count: 1;
}

ul.columns {
	column-count: 3;
	column-gap: 1.5em;
}

	ul.columns li {
		display: inline-block !important; width: 100%; /* Fix for top alignment bug */
		-moz-column-break-inside: avoid;
		-moz-page-break-inside: avoid;
		-webkit-column-break-inside: avoid;
		page-break-inside: avoid;
		break-inside: avoid-column;
	}

table.compact { width: auto !important; }
table.compact th, table.compact td { padding: 0 1.5em 0 0; }

.dashicons-before { display: inline-block; }
.dashicons-before::before { margin-right: 0.25em; }

a.disabled {
	cursor: not-allowed !important;
	opacity: 0.5;
}

.featured_image_hero_caption {
	background-color: rgba(0,0,0,0.7) !important;
}
.featured_image_hero_caption *:not(.button) {
	color: #ffffff !important;
}

table.fixed { table-layout: fixed; }

table.grid {
	border-collapse: collapse;
	margin: 1.5em 0;
	width: 100%;
}
table.grid:first-child { margin-top: 0; }
table.grid:last-child { margin-bottom: 0; }

table.grid tr > * {
	border: 1px solid #ecf0f1;
	padding: 0.75em 1em 0.5em 1em;
}

table.grid tr:nth-of-type(2n) > td {
	background: rgba(0,0,0,0.025);
}

	table.grid th {
		background: rgba(0,0,0,0.05);
		font-weight: 600;
		text-align: left;
	}

.grayscale, .desaturate { filter: grayscale(100%); }
.grayscale_0 { filter: none; }
.grayscale_10 { filter: grayscale(10%); }
.grayscale_20 { filter: grayscale(20%); }
.grayscale_30 { filter: grayscale(30%); }
.grayscale_40 { filter: grayscale(40%); }
.grayscale_50 { filter: grayscale(50%); }
.grayscale_60 { filter: grayscale(60%); }
.grayscale_70 { filter: grayscale(70%); }
.grayscale_80 { filter: grayscale(80%); }
.grayscale_90 { filter: grayscale(90%); }
.grayscale_100 { filter: grayscale(100%); }

.hidden:not(.visibility) { display: none !important; }
.hidden.visibility { visibility: hidden !important; }

.icon.mobile_ui {
	height: 44px;
	width: 44px;
}

	.icon.mobile_ui img, .icon.mobile_ui svg {
		height: 26px !important;
		margin: 9px;
		width: 26px !important;
	}

ul.inline {
	display: block;
	list-style: none;
	padding: none !important;
}

	ul.inline li {
		display: inline-block;
		margin: 0 1.333em 0 0;
	}

	ul.alignright.inline li {
		margin: 0 0 0 1.333em;
	}

.inline-block {
	display: inline-block;
	margin: 0 1em 0 0;
	vertical-align: bottom;
}
.aligncenter .inline-block, *[style*='center'] .inline-block { margin: 0 auto; text-align: center; }
.alignright .inline-block, *[style*='right'] .inline-block { margin: 0 0 0 1em; }

.invisilink:not(:hover) { color: inherit !important; text-decoration: none; }

.large {
	font-size: 125%;
	line-height: 1.333em;
}

.linklist {
	list-style: none !important;
	padding-left: 0 !important;
}

.locations { }

	.locations .location { margin: 0 0 1.5em 0; }

/* General purpose switches for logged in / logged out links */
body.logged-in .logged-out, body.logged-in .logged_out { display: none !important; }
body:not(.logged-in) .logged-in, body:not(.logged-in) .logged_in { display: none !important; }

.lowercase {
	font-weight: inherit /* !important */;
	text-transform: lowercase /* !important */;
}

#page .mejs-container {
	border-radius: 6px;
	margin: 0.75rem 0 !important;
	max-width: 320px;
	min-width: 180px;
	width: 100%;
}

#page .mejs-button > button {
	background-color: transparent !important;
	background-image: url('../../../../wp-includes/js/mediaelement/mejs-controls.svg') !important;
	border: 0 !important;
}
#page .mejs-play > button {
	background-position: 0 0 !important;
}
#page .mejs-pause > button {
	background-position: -20px 0 !important;
}
#page .mejs-unmute > button {
	background-position: -40px 0 !important;
}
#page .mejs-mute > button {
	background-position: -60px 0 !important;
}
#page .mejs-fullscreen-button > button {
	background-position: -80px 0 !important;
}
#page .mejs-unfullscreen > button {
	background-position: -100px 0 !important;
}
#page .mejs- > button {
	background-position: -120px 0 !important;
}
#page .mejs-captions-button > button {
	background-position: -140px 0 !important;
}
#page .mejs-replay > button {
	background-position: -160px 0 !important;
}
#page .mejs-chapters-button > button {
	background-position: -180px 0 !important;
}

.menu .empty-node { cursor: default; }

.nowrap { white-space: nowrap; }

.pagination_header {
	clear: both;
	font-size: 80%;
	line-height: 1.5em;
	margin: 1.5em 0 0 0;
}

	.pagination_header a.current, .pagination_header a.current:visited, .pagination_header a.current:hover { color: inherit /* !important */; font-weight: bold; }

.pagination_links {
	clear: both;
}

.pct-90 { display: block; max-width: 90% !important; }
.pct-80 { display: block; max-width: 80% !important; }
.pct-70 { display: block; max-width: 70% !important; }
.pct-60 { display: block; max-width: 60% !important; }
.pct-50 { display: block; max-width: 50% !important; }
.pct-40 { display: block; max-width: 40% !important; }
.pct-30 { display: block; max-width: 30% !important; }
.pct-20 { display: block; max-width: 20% !important; }
.pct-10 { display: block; max-width: 10% !important; }

.prev, .prev-month, *[data-dir='prev'] { cursor: w-resize /* !important */; }
.next, .next-month, *[data-dir='next'] { cursor: e-resize /* !important */; }

.prev.inactive, .prev-mont.inactiveh, *[data-dir='prev'].inactive,
.next.inactive, .next-month.inactive, *[data-dir='next'].inactive
{ cursor: not-allowed /* !important */; }

.price { }
th.price, td.price { text-align: right; }

.readmore {
	display: inline-block;
	font-size: 80%;
	font-weight: 600;
	line-height: 1.5em;
	text-transform: uppercase;
	vertical-align: baseline;
	white-space: nowrap;
}

.relative { position: relative; }

.results { }

	.results > * {
		margin: 0 0 3.25em 0;
	}

		/* This messes up the mejs media player and probably other stuff */
		/*.results:not(.full-content) > * * {
			margin-top: 0.25rem;
			margin-bottom: 0.25rem;
		}

		.results.full-content > * * {
			margin-top: 0;
			margin-bottom: 1.5rem;
		}*/

		.results > * h5 {
			font-size: 90%;
			font-weight: 600;
			line-height: 1.5em;
			margin: 0.25em 0;
		}

			.results > * h5 * {
				display: inline !important;
			}

		.results > * .entry-excerpt * {
			margin-top: 0 !important;
			margin-bottom: 0 !important;
		}

.reversed_text {
	color: #ecf0f1;
}

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

.script {
	font-family: cursive;
	font-style: italic;
}

.search.panel {
	background: #ecf0f1;
	display: block;
	margin: 1.5em 0;
	padding: 1em 1.5em;
}

	.search.panel *:last-child { margin-bottom: 0 !important; }

.sitemap { }

	.sitemap .fa { display: none; }
	
	/*.sitemap .menu, .sitemap .sub-menu { list-style: none; }
	
	.sitemap .menu { padding-left: 0; }*/
	
	.sitemap .menu a { font-weight: bold; }

	.sitemap .sub-menu .sub-menu a { font-weight: normal; }

.small {
	font-size: 85%;
	line-height: 1.5em;
}
.small.button {
	font-size: 75%;
}

.small_thumbnail {
	margin-top: 0 /* !important */;
	width: 20%;
}
#modular_with_sidebar .small_thumbnail { width: 30%; }

	.small_thumbnail img { margin: 0 /* !important */; }

.sticky {
	align-self: flex-start;
	position: sticky;
	top: 0;
	transition: top 0.4s ease;
}

.text-center { text-align: center /* !important */; }
.text-left { text-align: left /* !important */; }
.text-right { text-align: right /* !important */; }

.three-column {
	column-count: 3;
	column-gap: 30px;
}

	/* See: http://blog.room34.com/archives/5454#update-20170628 */
	.three-column > * {
		display: inline-block;
		width: 100%;
	}

	/* See: http://blog.room34.com/archives/5454#update-20200612 */
	.three-column > li {
		display: list-item;
		margin: 0 !important;
		padding-bottom: 0.5em;
	}

.two-column {
	column-count: 2;
	column-gap: 40px;
}

	/* See: http://blog.room34.com/archives/5454#update-20170628 */
	.two-column > * {
		display: inline-block;
		width: 100%;
	}

	/* See: http://blog.room34.com/archives/5454#update-20200612 */
	.two-column > li {
		display: list-item;
		margin: 0 !important;
		padding-bottom: 0.5em;
	}

.uppercase { text-transform: uppercase /* !important */; }

.valigntop { display: table-cell; vertical-align: top; }
.valignmiddle { display: table-cell; vertical-align: middle; }
.valignbaseline { display: table-cell; vertical-align: baseline; }
.valignbottom { display: table-cell; vertical-align: bottom; }

.widget {
	font-size: 100%;
	line-height: 1.5em;
	margin: 0 0 1.5em 0;
	padding: 0;
}

.widget {
	background: transparent;
	border-radius: 0;
	overflow: hidden; /* For border-radius! */
}

.widget.widget_search { background: transparent; }

	.widget .widgettitle {
		display: block;
		font-size: 150%;
		line-height: 1.25em;
		margin: 0 0 5px 0;
		padding: 5px 0;
	}

	.widget ul {
		background: transparent;
		border: 0;
		clear: both;
		display: block;
		margin: 0;
		overflow-x: auto;
		overflow-y: visible;
		padding: 10px 0;
		position: relative; top: 0; left: 0;
		white-space: normal;
		/*width: 100%;*/ /* No! This causes horizontal scrollbars */
	}

		.widget ul li { margin-bottom: 0.5em; }

		.widget ul.tweets li { margin-bottom: 2em; }
		.widget ul li:last-of-type { margin-bottom: 0; }

		.widget ul ul { margin: 0.5em 0 0 1em; }

	.widget .current_page_item > a { color: #808080 /* !important */; }

	.widget .post-date { display: block; font-size: 80%; line-height: 1.5em; }

	.widget .tweets .stt-em {
		font-size: 80%;
		font-style: normal;
	}

.wp-caption, .gallery-caption {
	max-width: 100%;
	width: auto !important;
}
.basic .wp-caption.alignleft, .basic .wp-caption.alignright {
	max-width: calc(50% - 2em);
}

	.wp-caption.alignnone img { margin-left: 0 /* !important */; }

	.wp-caption > p:not(.wp-caption-text) { display: none; } /* :eyeroll: */

	.wp-caption-text {
		font-size: 75%;
		line-height: 1.375em;
		padding: 0.75em 0;
	}

.wp-video, .wp-video-shortcode {
	height: auto;
	margin: 0;
	min-height: 135px;
	min-width: 240px;
	width: 100% !important;
}
.wp-video:not(:first-child) {
	margin-top: 1.5em;
}
.wp-video:not(:last-child) {
	margin-bottom: 1.5em;
}
iframe.video, iframe[src*=youtu], iframe[src*=vimeo], iframe[src*=video], .wp-video, .mejs-controls {
	background: transparent !important;
	overflow: hidden;
}

.x-small {
	font-size: 80%;
	line-height: 1.5em;
}


/* WP ADMIN */

.staging_indicator, .staging_indicator * {
	background: orange !important;
	color: white !important;
	font-weight: 600 !important;
}


/* CSS3 MEDIA QUERIES */

/* LARGE SCREENS (content area over 1600 pixels) */
/*
@media screen and (min-width: 1600px) {

}
*/


/* SMALLER COMPUTERS (content area under 1200 pixels) */
@media screen and (max-width: 1200px) {

	table.grid { font-size: 90%; }

}


/* TABLETS (content area under 1024 pixels) */
@media screen and (max-width: 1024px) {

	table.grid { font-size: 85%; }

	#modular_with_sidebar .small_thumbnail { width: 45%; }

}


/* PHONE / NO PHONE
Done this way so we are not imposing any display value on classes that SHOULD be displayed.
*/
@media screen and (min-width: 783px) { .phone_only { display: none !important; } }
@media screen and (max-width: 782px) { body:not(#tinymce) .no_phone { display: none !important; } }


/* PHONES (content area under 782 pixels) */
@media screen and (max-width: 782px) {

	.alignleft, *[style*='text-align: left'],
	.alignright, *[style*='text-align: right'],
	img.alignleft, img[style*='text-align: left'], .wp-caption.alignleft,
	img.alignright, img[style*='text-align: right'], .wp-caption.alignright
	{
		clear: both;
		display: block;
		float: none /* !important */;
		margin: 0 0 1.5em 0 !important;
		max-width: 100% /* !important */;
		width: auto;
	}
	
	.button, input[type=submit] {
		white-space: normal;
	}

	.button.toggle {
		font-size: 75%;
		line-height: 1.5em;
		margin-right: 0;
		padding: 0.333em 0.5em 0.167em 0.5em;
	}

	ul.buttons li { margin-right: 0.167em; }

	ul.columns { column-count: 2; }
	
	table.grid {
		display: block;
		overflow-x: auto;
		width: 100%;
	}
	
	table.grid tbody {
		display: table;
		width: auto;
	}
	
	table.grid th, table.grid td {
		min-width: 80px;
	}

	.two-column {
		column-count: 1;
		column-gap: 0;
	}

	.mobile-block { display: block !important; }
	
	.readmore { white-space: normal; }

	.sticky { position: relative !important; top: auto !important; }

	#modular_with_sidebar .two-column, .columns .two-column {
		column-count: 1;
		column-gap: 0;
	}

	#modular_with_sidebar .small_thumbnail { width: 100%; }

}


/* MEDIUM PHONES (content area under 640 pixels) */
/*
@media screen and (max-width: 640px) {

}
*/


/* SMALL PHONES (content area under 480 pixels) */
@media screen and (max-width: 480px) {

	ul.columns {
		column-count: 1;
		column-gap: 0;
	}

}
