/* ==========================================================================

DEFAULTS
   
 *
 * Default state of typical html elements
 *
 * 1. Customization of these elements (fonts, colors, etc.) should be handled in site theme file
  
========================================================================== */ 

/* Reset */
html, body, div, span, applet, object, iframe, h1, h2, h3, h4, h5, h6, p, blockquote, pre, a, abbr, acronym, address, big, cite, code, del, dfn, em, ins, kbd, q, s, samp, small, strike, strong, sub, sup, tt, var, b, u, i, center, dl, dt, dd, ol, ul, li, fieldset, form, label, legend, table, caption, tbody, tfoot, thead, tr, th, td, article, aside, canvas, details, embed, figure, figcaption, footer, hgroup, menu, nav, output, ruby, section, summary, time, mark, audio, video { margin: 0; padding: 0; border: 0; font-size:100%; font: inherit; vertical-align: middle; }
article, aside, details, figcaption, figure, footer, header, hgroup, menu, nav, section { background: transparent; border: 0; display: block; font-size: 100%; font-weight: inherit; margin: 0; outline: 0; padding: 0; vertical-align: baseline; }
*, *:after, *:before { box-sizing: border-box; -moz-box-sizing: border-box; -webkit-box-sizing: border-box;  }

/* Default */ 
::selection, ::-webkit-selection, ::-moz-selection { background-color: #cd1212; color: #fff; } /* browser text selection */
html { }
	html, body { background: #fff; height: 100%; }
a, a:link, a:visited { color: #000; text-decoration: none; }
	a:hover, b a:hover, h1 a:hover, h2 a:hover, h3 a:hover, h4 a:hover, h5 a:hover, h6 a:hover { opacity: 0.9; text-decoration: none; }
	a img { border: none; overflow: hidden; }
article {}
blockquote { border-left: solid 5px #000; color: #000; font-size: 3em; font-weight: 700; letter-spacing: -0.01em; line-height: 1.2em; margin: 0.5em auto 1.5em auto; padding: 0 0 0 0.5em; text-align: left; text-transform: inherit; width: 100%; }
	/* blockquote::after { content: "\201D"; bottom: 0; font-size: 2em; line-height: 0.1em; right: 0; vertical-align: -0.3em; }
	blockquote::before { content: "\201C"; font-size: 2em; left:0; line-height: 0.1em; vertical-align: -0.3em;  } */
b { font-weight: 500; letter-spacing: 0.02em; }
body { color: #333; font-family: Helvetica, sans-serif; font-size: 1em; font-weight: normal; }
br { line-height: 1em; }
div { display: block; }
em { font-style: italic; }
fieldset { }
	fieldset hr { border-top: solid 1px rgba(0,0,0,0.15); margin: 3em 0 3em 0; }
footer { border-top: solid 0px rgb(225,225,225); bottom: 0px; color: #999; display: block; font-size: 0.9em; letter-spacing: 0.9; padding: 3em 0 3em 0; }
	footer a { font-weight: 600; text-transform: uppercase; }
h1 { color: #000; font-family: Helvetica, sans-serif; font-size: 3em; font-weight: 600; letter-spacing: -0.01em; line-height: 1.5em; margin-bottom: 0.2em; text-transform: capitalize; }
	h1 a, h1 a:link, h1 a:visited { text-decoration: none; }
	h1 a:hover { text-decoration: none; }
h2 { color: #000; font-family: Helvetica, sans-serif; font-size: 2.0em; font-weight: 600; letter-spacing: -0.01em; line-height: 1.3em; margin-bottom: 0.5em; text-transform: inherit; }
	h2 a, h2 a:link, h2 a:visited { color: #000; text-decoration: none; }
	h2 a:hover { text-decoration: none; }
h3 { color: #000; font-family: Helvetica, sans-serif; font-size: 1.5em; font-weight: 500; letter-spacing: -0.01em; line-height: 1.2em; margin-bottom: 0.5em; text-transform: inherit; }
	h3 a, h3 a:link, h3 a:visited { color: #000; text-decoration: none; }
	h3 a:hover { text-decoration: none; }
h4 { color: #000; font-family: Helvetica, sans-serif; font-size: 1.2em; font-weight: 500; letter-spacing: -0.01em; line-height: 1.2em; margin-bottom: 0.5em; text-transform: inherit; }
	h4 a, h4 a:link, h4 a:visited { color: #000; text-decoration: none; }
	h4 a:hover { text-decoration: none; }
h5 { color: #000; font-family: Helvetica, sans-serif; font-size: 1.0em; font-weight: 400; line-height: 1.2em; margin-bottom: 0.5em; text-transform: inherit; }
h6 { color: #000; font-family: Helvetica, sans-serif; font-size: 0.8em; font-weight: 400; line-height: 1.; margin-bottom: 10px;  text-transform: inherit; }
h7 { color: #000; font-family: Helvetica, sans-serif; font-size: 0.7em; font-weight: 400; line-height: 1.; margin-bottom: 10px;  text-transform: inherit; }
h8 { color: #000; font-family: Helvetica, sans-serif; font-size: 0.6em; font-weight: 400; line-height: 1.; margin-bottom: 10px;  text-transform: inherit; }
header {}
hr { background: none; border: 0; border-top: 1px solid #333; margin: 2em 0 2em 0; }
i { font-style: italic; }
img { height: auto; width: 100%; }
input { appearance: none; -moz-appearance: none; -webkit-appearance: none; background: #fff; border: solid 1px rgba(0,0,0,0.05); display: block; margin-bottom: 0.5em; padding: 1em; width: 100%; }
	input[type=button] { background-color: #000; color: #fff; display: inline-block; width: auto; }
		input[type=button]:disabled { background-color: #ccc; }
		input[type=button]:hover { background: #333; color: #fff; }
	input[type=checkbox] { background-color: #fff; border: solid 1px rgba(0,0,0,0.05); border-radius: 0.2em; font-size: 2em; height: 0.4em; margin: 0 0.2em 1em 0; padding: 0.3em; width: 0.4em; }
		input[type=checkbox]:checked { background: url('data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAAoAAAAJCAYAAAALpr0TAAAAAXNSR0IArs4c6QAAADFJREFUGBljYCAO/CdGGY0UMUHtJsp4mDuRFSOzYfIoNEwBjEaRROaAFBBUBNOAVSEAjeIL97iBfGoAAAAASUVORK5CYII='); background-color: #fff; background-position: center center; background-repeat: no-repeat; }
	input[type=password] { -webkit-appearance: none; margin-bottom: 1em; }
	input[type=radio] { font-size: 1.1em; width: auto; }
	input[type=submit] { background: #000; border: none; color: #fff; margin-bottom: 0.5em; padding: 1em 1.5em 1em 1.5em; text-align: center; text-transform: capitalize; width: auto; }
		input[type=submit]:disabled { background: #ccc; color: #fff; }
		input[type=submit]:hover { background: #333; color: #fff; }
	input[type="text"] { -webkit-appearance: none; margin-bottom: 1em; }
label { display: block; color: #333; font-size: 0.95em; font-weight: 500; margin-bottom: 0.5em; text-transform: capitalize; }
legend { color: #111; font-weight: 500; font-size: 1em; }
li { line-height: 1.8em; margin-bottom: 0.8em; }
main {}
nav { height: auto; position: relative; width: 100%; z-index: 8000; }
    nav a, nav a:link, nav a:visited {}
    nav a:hover { text-decoration: none; }
ol {}
	ol li { list-style-type: inherit; }
p { font-size: 1.1em; font-weight: 400; line-height: 1.5em; }
	p a, p a:link, p a:visited { text-decoration: underline; }
	p a:hover { text-decoration: none; }
section { /* background: #fff; */ display: block; padding: 0; position: relative; }
	section:nth-child(even) { background: none; }
select { appearance: none; -webkit-appearance: none; background: url('data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAAoAAAAKCAYAAACNMs+9AAAAAXNSR0IArs4c6QAAACdJREFUGBljYGBg+A/E2ABWcXRBdD6KQTBJGI0iic4hShG6puHLBwBNzAb64q4q3AAAAABJRU5ErkJggg=='); background-color: #fff; background-repeat: no-repeat; background-position-x: 98%; background-position-y: 50%; border: solid 1px rgba(0,0,0,0.05); border-radius: 0; clear: both; color: #666; margin-bottom: 1em; padding: 1em; text-transform: capitalize; min-width: 5em; width: 100%; }
	select:focus { background-color: rgba(0,0,0,0.1); }
span { }
strong { font-weight: bold; }
time { font-size: 0.73em; font-weight: lighter; margin-bottom: 2em; }
table { border-bottom: solid 1px #dedede; border-collapse: collapse; font-size: 0.88em; font-weight: normal; width: 100%; }
	table td { border: none; padding: 1.5em 0 1.5em 0; text-align: left; vertical-align: middle; }
		table td a, a:link, a:visited { color: #222; }
		table td img { height: auto; width: 100%; }
		table td span { color: #999; font-size: 0.8em; }
	table th { background: none; padding: 1em 0 1em 0; text-align: left; vertical-align: middle; }
	table tr { border-top: solid 1px #dedede; width: 100%; }
	    table tr:hover { background-color: rgba(255,255,255,0.25); }
textarea { appearance: none; -moz-appearance: none; -webkit-appearance: none; background: #fff; border: solid 1px rgba(0,0,0,0.05); color: #333; height: 100px; margin-bottom: 10px; padding: 5px; width: 99%; }
ul {}
	ul li { list-style: disc; list-style-type: disc; }



/* ==========================================================================

CUSTOM CLASSES
   
 *
 * Use throughout the site to modify the appearance of a specific element beyond it's default state
 *
 * 1. Use sparingly (overuse indicates a new block may be needed or element should be simplified)
 * 2. Multiple classes can be used for the same element
  
========================================================================== */ 

.align {}
	.align_bottom { margin: auto; vertical-align: bottom; }
	.align_center { margin: auto; text-align: center; }
	.align_left { text-align: left; }
	.align_middle { vertical-align: middle; }
	.align_right { text-align: right; }	
[class*='block_'] { display: block; margin: 0 auto 1em auto; padding: 1em 0 1em 0; position: relative; }
	/* Advertisement */
	.block_advertisement { background: rgba(0,0,0,0.03); display: block; padding: 2em 0 1em 0; text-align: center; width: 100%; }
		.block_advertisement p { font-size: 0.6em; margin-top: 0.4em; opacity: 0.35; }
		.block_advertisement .wrap_outer { margin: auto; text-align: center; }
	/* Author */
	.block_author {}
		.block_author .byline { font-size: 0.93em; font-weight: 500; letter-spacing: 0.3em; margin: 4em 0 2.5em 0; text-align: center; text-transform: uppercase; }
	/* Billboard */
	.block_billboard { /* background-color: #000; */ height: auto; overflow: hidden; position: relative; width: auto; }
		.block_billboard a, .billboard a:link, .billboard a:visited { color: #fff; }
			.block_billboard a:hover { text-decoration: none; }
		.block_billboard .image { /* opacity: 0.85; */ height: 600px; }
		.block_billboard .copy { background: linear-gradient(rgba(0,0,0,.0), rgba(0,0,0,.6) 100%); bottom: 0; color: #fff; padding: 4em 2em 2em 2em; position: absolute; /* text-shadow: 1px 1px 1px rgba(0,0,0,0.25); */ width: 100%; }
			.block_billboard .copy h1 { color: #fff; width: 50%; }
			.block_billboard .copy h2.subhead { color: #fff; font-size: 3em; margin-bottom: 0.5em; padding: 0; text-shadow: 0px 0px 15px rgba(0,0,0,0.35); }
			.block_billboard .copy h3 { color: #fff; font-size: 6em; font-weight: 200; line-height: 0.96em; letter-spacing: -0.035em; }
	/* Button */
	.block_button {}
		.block_button [class*='button_'] { background: #0099ff; border: solid 2px #0099ff; color: #fff; font-size: 1.1em; font-weight: 400; margin: 2em 0 2em 0; padding: 1em 2em 1em 2em; text-align: center; min-width: 12em; }
			.block_button [class*='button_']:hover { color: #fff; opacity: 1.0; }
		.block_button .button_rounded_outline { background: none; border-radius: 10em; color: #0099ff; }
			.block_button .button_rounded_outline:hover { background: #0099ff; color: #fff; }
		.block_button .button_rounded_solid { border-radius: 20em; }
		.block_button .button_square_outline { background: none; color: #0099ff; }
			.block_button .button_square_outline:hover { background: #0099ff; color: #fff; }
		.block_button .button_square_solid {}		
	/* Collection */
	.block_collection {}
		.block_collection [class*='span_'] { padding-right: 0.25em; }
			.block_collection [class*='span_']:nth-last-child { padding-right: 0; }
		.block_collection .box { background: #dfdfdf; min-height: 15em; height: 100%; width: 100%; }
	/* Gallery*/
	.block_gallery {}
		.block_gallery figure {}
		.block_gallery figure figcaption {}
		.block_gallery figure img {}
	/* Headline */
	.block_headline { width: 80%; }
		.block_headline .byline { color: #000; display: none; font-size: 0.90vw; font-weight: 400; letter-spacing: 0.4em; margin: 0; text-transform: uppercase; }
		.block_headline .date { color: #000; display: block; font-size: 0.85em; font-weight: 400; letter-spacing: 0.09em; margin: 0 0 2em 0; text-transform: uppercase; }
		.block_headline .dek { color: #000; font-size: 1.5; font-weight: 300; letter-spacing: -0.01em; line-height: 1.2em; margin: 0; }
		.block_headline .headline { color: #000; font-size: 3em; font-weight: 600; letter-spacing: -0.04em; line-height: 1.0em; margin-bottom: 0.25em; text-transform: uppercase; }
		.block_headline .share { font-size: 1em; margin: 2.5em 0 1em 0; }
			.block_headline .share a { margin-right: 0.8em; }
			.block_headline .share .fa { font-size: 1.3em; }
	.block_headline.featured { bottom: 5%; height: 200px; left: 0; margin: auto; padding: 1em; position: absolute; right: 0; width: 80%; z-index: 888; }
		.block_headline.featured .arrowdown { animation: float 1.5s ease-in-out infinite; bottom: 8%; height: auto; left: 0; margin: auto; position: absolute; right: 0; transform: translatey(0px); width: 30px; z-index: 889; }		
		@keyframes float {
			0% { transform: translatey(0px); }
			50% { transform: translatey(-5px); }
			100% { transform: translatey(0px); }
		}
		.block_headline.featured .byline { color: #fff; display: none; font-size: 0.90vw; font-weight: 400; letter-spacing: 0.4em; margin: 0; text-transform: uppercase; }
		.block_headline.featured .date { color: #fff; display: block; font-size: 0.85em; font-weight: 400; letter-spacing: 0.09em; margin: 0 0 2em 0; text-transform: uppercase; }
		.block_headline.featured .dek { color: #fff; font-size: 6vh; font-weight: 300; letter-spacing: -0.01em; line-height: 1.2em; margin: 0; }
		.block_headline.featured .headline { color: #fff; font-size: 12vh; font-weight: 700; letter-spacing: -0.04em; line-height: 1.0em; margin-bottom: 0.25em; text-transform: uppercase; }
		.block_headline.featured .share { font-size: 1em; margin: 2.5em 0 1em 0; }
			.block_headline.featured .share a { margin-right: 0.8em; }
			.block_headline.featured .share .fa { font-size: 1.3em; }
	
	/* Heading */
	.block_heading { display: block; }
		.block_heading h3 { margin: auto; font-size: 1.8em; font-weight: 700; padding: 1em 0 1em 0; }
		.block_heading .wrap_inner { }
	/* Hero */
	.block_hero { height: 100%; margin: auto; overflow: hidden; width: 100%; z-index: 2; }
		.block_hero img { height: auto; filter: brightness(0.95); object-fit: cover; min-width: 100%; width: 100%; }
		.block_hero .noimage { padding: 2em; }
		.block_hero .overlay { background: rgba(0,0,0,0.5); display: none; position: absolute; z-index: 887; }
	/* Image */
	.block_image { margin: 0 auto 3em auto; overflow: hidden; padding: 0; }
		.block_image figure {}
			.block_image figure figcaption { font-size: 0.8em; opacity: 0.5; padding: 0.5em; text-align: center; }
			.block_image figure .image {}
			.block_image figure .noimage { background: rgba(0,0,0,0.07); margin: 0; padding: 5em; }
				.block_image figure .noimage img { max-height: 300px; }
		.block_image .wrap { padding: 0 4em 0 4em; }
	/* Line */
	.block_line { margin: 1em auto 3em auto; padding: 2em 0 2em 0; width: 100%; }
		.block_line .line_thick { border-top: solid 3px #000; }
		.block_line .line_thin { border-top: solid 1px #000; }
	/* Quote */
	.block_quote { margin: 2em 0 3em 0; padding: 1em 0 1em 0;  }
		.block_quote blockquote { color: #000; font-size: 3.2em; font-weight: 700; letter-spacing: -0.01em; line-height: 1.2em; margin: auto; text-transform: inherit; width: 85%; }
			.block_quote blockquote::after { content: "\201D"; bottom: 0; font-size: 2em; line-height: 0.1em; right: 0; vertical-align: -0.3em; }
			.block_quote blockquote::before { content: "\201C"; font-size: 2em; left:0; line-height: 0.1em; vertical-align: -0.3em;  }
		.block_quote hr { border-top: solid 3px #000; margin: 2em auto 2em auto; max-width: 5%; }
	.block_share {}
		.block_share .social { padding-bottom: 2em; text-align: center; }
		.block_share .social a { margin: 0 0.5em 0 0.5em; }
	/* Teaser */
	.block_teaser { margin: 0; }
		.block_teaser [class*='span_'] { height: 400px; position: relative; }
			.block_teaser [class*='span_'] .image { margin-bottom: 0; overflow: hidden; position: relative; }
				.block_teaser [class*='span_'] .image img { object-fit: cover; filter: brightness(0.85); transform: scale(1.0); transition: 0.35s all ease; }
					.block_teaser [class*='span_'] .image:hover img { filter: brightness(0.99); transform: scale(1.02); transition: 0.35s all ease; z-index: 1; }
			.block_teaser [class*='span_'] .copy { display: block; height: 250px; padding: 1em; width: 100%; }
				.block_teaser [class*='span_'] .copy h3 { color: #fff; font-size: 1.2rem; font-weight: 600; }
				.block_teaser [class*='span_'] .copy h4 { color: #fff; font-size: 0.9em; font-weight: 400; line-height: 1.25em; }
				.block_teaser [class*='span_'] .rubric { background: none; color: #fff; display: block; font-size: 0.5em; font-weight: 400; /* outline: solid 2px #fff; */ height: 40px; letter-spacing: 0.15em; padding: 0; position: absolute; text-transform: uppercase; }
		
		.block_teaser .span_4 { overflow: hidden; }
			.block_teaser .span_4 .copy { bottom: 0; left: 0; margin: 0; padding: 1em; position: absolute; width: 88%; z-index: 888; }
				.block_teaser .span_4 .copy h3 { color: #fff; font-size: 1.5em; font-weight: 600; letter-spacing: -0.05em; line-height: 1em; text-transform: capitalize; }
				.block_teaser .span_4 .copy p { color: #fff; font-size: 1.1vw; }
				.block_teaser .span_4 .copy time { color: #fff; font-size: 0.8em; font-weight: 300; }
			.block_teaser .span_4 .image { overflow: visible;  width: 100%; }
				.block_teaser .span_4 .image img { object-fit: cover; min-height: 300px; width: 100%; }
	
		.block_teaser .span_6 {  height: 400px; overflow: hidden; }
			.block_teaser .span_6 .copy { bottom: 0; min-height: 0; height: auto; left: 0; overflow: hidden; padding: 1em; position: absolute; width: 100%; }
				.block_teaser .span_6 .copy h3 { color: #fff; font-size: 2.3em; font-weight: 600; letter-spacing: -0.01em; line-height: 1.0em; padding: 0.3em 0 0.5em 0; }
				.block_teaser .span_6 .copy p { color: #fff; font-size: 1.5vw; }
				.block_teaser .span_6 .copy time { color: #fff; font-size: 0.9em; font-weight: 300; }
			.block_teaser .span_6 .image { overflow: hidden; }
				.block_teaser .span_6 .image img { object-fit: cover; min-height: 400px; width: 100%; }
	
		.block_teaser .span_12 {  height: auto; overflow: hidden; }
			.block_teaser .span_12 .copy { bottom: 0; min-height: 0; height: auto; left: 0; margin: auto; overflow: hidden; padding: 1em; position: relative; width: 80%; }
				.block_teaser .span_12 .copy h3 { color: #fff; font-size: 2.3em; font-weight: 600; letter-spacing: -0.01em; line-height: 1.0em; padding: 0.3em 0 0.5em 0; }
				.block_teaser .span_12 .copy p { color: #fff; font-size: 1.5vw; }
				.block_teaser .span_12 .copy time { color: #fff; font-size: 0.9em; font-weight: 300; }
			.block_teaser .span_12 .image { overflow: hidden; }
				.block_teaser .span_12 .image img { object-fit: cover; min-height: 400px; width: 100%; }
			
			.block_teaser .image_none { margin: auto; max-height: 300px; overflow: hidden; }
				.block_teaser .image_none .copy { height: 150px; width: 100%; }
					.block_teaser .image_none .copy h3 { color: #000; }
					.block_teaser .image_none .copy h4 { color: #000; }
					.block_teaser .image_none .copy p { color: #000; }
				.block_teaser .image_none .image { display: none; }
				.block_teaser .image_none .rubric { background: none; color: #000; padding: 0; }
	/* Text */
	.block_text { margin: 1em auto 1em auto; }
		.block_text h3 { margin: auto; padding-bottom: 1em; width: 85%;  }
		.block_text p { margin: auto; padding-bottom: 2em; width: 85%;  }
		.block_text .wrap { max-width: 960px; width: 100%; }
	/* Video */
	.block_video { background: #000; }
		.block_video .wrap { margin: auto; padding: 0; text-align: center; width: 100%; }
.border { border: solid 1px #bbb; }
	.border_bottom { border-bottom: solid 1px #d0d0d0; }
	.border_left { border-left: solid 1px #d0d0d0; }
	.border_right { border-right: solid 1px #d0d0d0; }
	.border_test { border: solid 1px #0ff; }
.button { background-color: #000; color: #fff !important; padding: 1em 2em 1em 2em; text-align: center; text-decoration: none; text-indent: 0; vertical-align: middle; width: auto; }
	.button:active { position: relative; top: 1px; }
	.button:hover { background-color: #333; }
[class*='button_'] { background: #0099ff; border: solid 2px #0099ff; color: #fff; display: inline-block; margin: 1em 0 1em 0; padding: 0.8em 2em 0.8em 2em; text-align: center; min-width: 12em; }
	[class*='button_']:hover { color: #fff; opacity: 1.0; }
	.button_rounded_outline { background: none; border-radius: 10em; color: #0099ff; }
		.button_rounded_outline:hover { background: #0099ff; color: #fff; }
	.button_rounded_solid { border-radius: 20em; }
		.button_rounded_solid:hover { color: #fff; opacity: 0.5; }
	.button_square_outline { background: none; color: #0099ff; }
		.button_square_outline:hover { background: #0099ff; color: #fff; }
	.button_square_solid {}
.capitalize { text-transform: capitalize; }
.clear { clear: both; height: 0.000001em; }
.circle { -moz-border-radius: 50%; -webkit-border-radius: 50%; border-radius: 50%; display: inline-block; overflow: hidden; text-align: center;  }
.color {}
	.color_red { color: #F2E0A5; }
	.color_orange { color: #F0C7BD; }
	.color_black { background-color: #000; color: #000; fill: #000; }
	.color_white { background-color: #fff; color: #333; fill: #fff; }
.column_ {}
	[class*='column_'] { column-gap: 0.5em; -moz-column-gap: 0.5em; -webkit-column-gap: 0.5em; }
	.column_2 { column_count: 2; -moz-column-count: 2; -webkit-column-count: 2; }
	.column_3 { column_count: 3; -moz-column-count: 3; -webkit-column-count: 3; }
	.column_4 { column_count: 4; -moz-column-count: 4; -webkit-column-count: 4; }
.container {}
.dim { opacity: 0.25; }
.display { display: block; }
.dropcap {}
	.dropcap:first-letter { color:#000; float:left; font-size: 4em; font-style: normal; font-weight: 800; line-height: 0.5em; margin: 0.28em 0em 0 0; padding: 0 0.15em 0 0; text-transform: uppercase;  }
.error { clear: both; color: #ae4f4f; display: block; } /* form validation */
	input.error { border: solid 1px #cd1212; box-shadow: 0 0 8px #fcd7d7; font-size: 16px; font-weight: lighter; margin-bottom: 10px; padding: 10px;  }
	label.error { color: #cd1212; font-size: 0.8em; margin: 0.3em 0 0.8em 0; padding: 0.5em 0 0.5em 0; text-transform: capitalize; width: 98%; }
.float { bottom: 0; left: 0; margin: 0; position: absolute; right: 0; top: 0; z-index: 99; }
	.float_center { bottom: 0; height: 65%; left: 0; margin: auto; overflow: visible; position: absolute; right: 0; top: 0; z-index: 800; }
	.float_left { float: left; }
	.float_right { float: right; }
.fullscreen { bottom: 0; height: 100%; left: 0; position: absolute; right: 0; top: 0; width: 100%; }
.hidden { display: none; }
.hover { opacity: 0; transition: opacity .2s ease-in-out; -moz-transition: opacity .2s ease-in-out; -webkit-transition: opacity .2s ease-in-out; }
	.hover:hover { opacity: 1; transition: opacity .2s ease-in-out; -moz-transition: opacity .2s ease-in-out; -webkit-transition: opacity .2s ease-in-out; }
.icon { height: auto; max-width: 20px; }
	.icon_xsmall { max-width: 15px; }
	.icon_small { max-width: 25px; }
	.icon_medium { max-width: 30px; }
	.icon_large { max-width: 40px; }
	.icon_xlarge { max-width: 60px; }
.inline { list-style: none; list-style-type: none; list-style-position: inherit; list-style-image: none; }
	.inline li { float: left; }
	.inline li:last-of-type { margin-right: 0; }
	.inline_block { display: inline-block; }
.invisible { visibility: hidden; }
.kicker { /* label or short deck above the head */ }
.lowercase { text-transform: lowercase; }
.margin { margin: 1em; }
    .margin_bottom { margin-bottom: 1em; }
    .margin_left { margin-left: 1em; }
    .margin_none { margin: 0; }
    .margin_right { margin-right: 1em; }
    .margin_top { margin-top: 1em; }
.masonry { column_count: 4; -moz-column-count: 4; -webkit-column-count: 4;  }
	.masonry_item { display: inline-block; margin-bottom: 0.5em; position: relative; }
.menu { }
    .menu ul { list-style: none; list-style-type: none; position: absolute; left: -9999px; width: 100%; z-index: 9999; /* hide off-screen when not needed */ }
        .menu ul a { color: #fff; letter-spacing: 0.07em; white-space: nowrap; /*top level links */ }
        .menu ul li { background-color: #333; float: none; padding: 2em; list-style: none; }
		    .menu li:hover ul { height: auto; left: 0; padding-top: 0.6em; width: 100%; /* bring back on-screen when needed */ }
		    .menu li:hover ul a { clear: both; display: block; padding-bottom: 0.5em; }
		    .menu li:hover ul h3 { color: #fff; font-size: 0.95em; padding-bottom: 0.6em; text-decoration: underline; }
.offscreen { left: -999em; position: absolute; }
.outline {}
	.outline_dashed { outline: dashed 3px #e9e9e9; padding: 5em; }
.overlay { background: rgba(250,249,248,1.0); bottom: 0; height: 100%; left: 0; margin: auto; position: fixed; right: 0; top: 0; width: 100%; z-index: 99999; }
	.overlay .loading { bottom: 0; height: 50px; left: 0; margin: auto; right: 0; position: absolute; top: 0; text-align: center; width: auto; }
.pad { padding: 1em; }
    .pad_bottom { padding-bottom: 0.5em; }
    .pad_left { padding-left: 2em; }
    .pad_none { padding: 0; }
    .pad_right { padding-right: 2em; }
    .pad_top { padding-top: 1em; }
.parallax { background-attachment: fixed; background-position: center top; background-repeat: no-repeat; background-size: cover; height: 100%; margin-bottom: 1em; object-fit: cover; transform: translateZ(0) scale(1.05); width: 100%; z-index: 1; }
.rotate {}
	.rotate_45 { transform: rotate(45deg); }
	.rotate_90 { transform: rotate(90deg); }
.rubric { font-size: 0.9em; margin 1em 0 1em 0; padding: 0.5em; min-width: 60px; }
.share { font-size: 1.1em; margin: 2em 0 2em 0; }
	.share a { margin-right: 0.5em; }
.slider { margin: 0 auto 0 auto; overflow: hidden; position: relative; }
	.slider ul { height: 500px; list-style: none; margin: 0; padding: 0; position: relative; width: 100%; }
		.slider ul li { display: block; float: left; height: 200px; margin: 0; padding: 0; position: relative; width: 500px; }
	.slider_control_next, .slider_control_prev { cursor: pointer; display: block; height: auto; opacity: 0.8; padding: 0.2em; position: absolute; top: 40%; width: auto; z-index: 999; }
	.slider_control_next { right: 0; }
	.slider_control_prev { left: 0; }
.social { font-size: 1.5em; padding: 2em 0 2em 0; }
.span_ { }
 	[class*='span_'] { float: left; }
	[class*='span_'] img { height: auto; width: 100%; }
	.span_1 { width: 8.333%; }
	.span_2 { width: 16.67%; }
	.span_3 { width: 25.00%; }
	.span_4 { width: 33.33%; }
	.span_5 { width: 41.66%; }
	.span_6 { width: 50.00%; }
	.span_7 { width: 58.33%; }
	.span_8 { width: 66.67%; }
	.span_9 { width: 75.00%; }
	.span_10 { width: 83.33%; }
	.span_11 { width: 91.67%; }
	.span_12 { width: 100.0%; }
.spinner { animation: spinner-scaleout 1.0s infinite ease-in-out; -webkit-animation: spinner-scaleout 1.0s infinite ease-in-out; background-color: #333; border-radius: 100%; bottom: 0; height: 40px; left: 0; margin: auto; position: absolute; right: 0; top: 0; width: 40px; }
	@-webkit-keyframes spinner-scaleout {
	  0% { -webkit-transform: scale(0) }
	  100% {
	    -webkit-transform: scale(1.0);
	    opacity: 0;
	  }
	}
	@keyframes spinner-scaleout {
	  0% { 
	    -webkit-transform: scale(0);
	    transform: scale(0);
	  } 100% {
	    -webkit-transform: scale(1.0);
	    transform: scale(1.0);
	    opacity: 0;
	  }
	}
.sticky { background: rgba(255,255,255,0.95); border-bottom: none 1px #eee; left: 0; position: fixed; top: 0; z-index: 10001; }
.tab {}
	.tab_button { transition: 0.3s; }
		.tab_button.active {}
	.tab_content { display: none; }
.tombstone {}
	.tombstone p:last-child:after { color: #000; content: " \220E"; display: inline-block; font-size: 1.5em; padding-left: 0.2em; }
.ui_modal_close { border: none; color: #fff; margin: 1em; outline: none; padding: 0.3em 0.6em 0.3em 0.6em; position: absolute; top: 0; right: 0; z-index: 9999; }
	.ui_modal_close a img { outline: none; }
.uppercase { text-transform: uppercase; }
.wrap { margin: auto; padding: 0 2em 0 2em; } /* max-width determined by responsive media queries */
	.wrap_inner { margin: auto; padding: 0 2em 0 2em; max-width: 800px; }
	.wrap_none { margin: auto; padding: 0; width: 100%; }
	.wrap_outer { margin: auto; padding: 0 1em 0 1em; width: 100%; }


/* ==========================================================================

SECTION SELECTORS

*
* Selectors are to be used as overwrites to customize the appearance of elements within a particular section
* 
* 1. Selectors most commonly apply to parent pages 
* 2. Use sparingly (overuse typically indicates a new block/layout should be created or page should be simplified)
*
*

========================================================================== */

/* Advertisements */
#advertisement { background: rgba(0,0,0,0.02); margin: 0 auto 0 auto; padding: 2em; text-align: center; width: 100%; }
	#advertisement img { width: auto; }
	#advertisement p { font-size: 0.6em; margin-top: 0.4em; opacity: 0.35; }
	#advertisement .block { margin-bottom: 1.5em; padding: 1em 0 1em 0; }
	#advertisement .horizontal-large { }
	#advertisement .large-skyscraper { }
	#advertisement .large-rectangle { }
	#advertisement .leaderboard { margin: 0; }
	#advertisement .medium-rectangle { height: 300px; }
	#advertisement .mobile-banner { margin: 1em 0 1em 0; padding: 1em 0 1em 0; }
	#advertisement .responsive { }

[id*='article_'] { margin: auto; position: relative; }
	[id*='article_'] header { display: block; overflow: hidden; position: relative; width: 100%; }
		[id*='article_'] main { background: #fff; padding: 2em 0 0 0; }
			[id*='article_'] main section { background: none; }
			[id*='article_'] main #advertisement { background: none; border-bottom: solid 1px rgba(0,0,0,0.10); border-top: solid 1px rgba(0,0,0,0.10); margin: 3em auto 4em auto; padding: 2em 0 2em 0; text-align: center; }

#content { height: 100%; margin: 0 auto 0 auto; }
	
	#content_credentials { background: none; height: 100%; position: relative; text-align: center; width: 100%;  }
		#content_credentials fieldset { background: none; bottom: 0; height: 50%; left: 0; margin: auto; position: absolute; right: 0; text-align: center; top: 0; max-width: 450px; }
		#content_credentials h2 { margin-bottom: 1em; }
	
	#content_error { background: none; height: 100%; position: relative; text-align: center; }
		#content_error .error_message h3 { margin-bottom: 3em; }
		#content_error .error_message { bottom: 0; height: 15em; left: 0; margin: auto; position: absolute; right: 0; top: 0; width: 100%; z-index: 10; }
	
	#content_login { background: none; margin-top: 4em; }
		#content_login fieldset { padding-bottom: 1em; margin-bottom: 2em; }
		#content_login .wrap { max-width: 600px; }

#common_footer { text-align: center; }
	#common_footer .social { text-align: center; }

#common_modal {}
	#common_modal .overlay { background: rgba(255,255,255,0.98); padding: 5%; }

#common_modal_iframe { background: #fff; }
	#common_modal_iframe .overlay { background: rgba(25,25,25,0.92); padding: 3% 5% 3% 5%; }
	#common_modal_iframe #modal_iframe_content { border-radius: 1.5em; height: 100%; overflow-y: scroll; padding: 1em; width: 100% }

#common_nav { background-color: rgba(255,255,255,0.98); height: auto; padding: 0.8em 0 0.5em 0; width: 100%; }

	#common_nav a {}
	#common_nav h3 { color: #fff; font-size: 1.25em; text-transform: uppercase; }
	#common_nav .nav_mobile { display: none; }
	#common_nav .overlay { background: rgba(0,0,0,0.75); z-index: 999; }
		
	/* nav menu */		
	#common_nav .menu { background: #fff; height: 100%; left: 0; padding: 4em 0 1em 0; position: fixed; text-align: center; top: 0; width: 320px; z-index: 99999; }
		#common_nav .menu .nav_link { border-bottom: solid 1px #f3f3f3; color: #000; display: block; font-size: 0.95em; font-weight: 700; letter-spacing: 0.1em; margin: auto; margin-bottom: 0.2em; padding: 1.3em; text-transform: uppercase; width: 95%; }
		#common_nav .menu footer { bottom: 0; height: 50px left: 0; padding: 2em; position: absolute; text-align: center; width: 100%; }
			#common_nav .menu footer a { display: block; font-size: 0.8em; }
			#common_nav .menu footer .social a { display: inline; font-size: 1.1em; }
			
	#common_nav .wrap { height: auto; padding: 0 1em 0 1em; }
	
	/* nav buttons */
	#common_nav #nav_menu_button { vertical-align: middle; }
		#common_nav #nav_menu_button img { height: 25px; width: 25px; }
	#common_nav #nav_menu_close_button { left: 0; padding: 1em; position: absolute; top: 0; z-index: 999; }
		#common_nav #nav_menu_close_button img { padding: 0; margin: 0; width: 20px; }
	#common_nav #nav_search_button {}
		#common_nav #nav_search_button img { height: 25px; width: 23px; }


[id*='common_spinner_'] { background: none; display: none; }
	#common_spinner_thinking .overlay { opacity: 1.0; }
	
#search { left: 0; padding: 2em; position: absolute; top: 0; z-index: 999; }
	#search input { background: none; border: none; border-bottom: solid 1px #333; font-size: 3em; font-weight: 600; margin: 0 auto 0 auto; outline: none; padding: 0.5em 0 0.2em 0; text-transform: uppercase; width: 90%; }
	#search .overlay { background: rgba(255,255,255,0.97); }
	#search .ui_search_close { padding: 1em; position: absolute; right: 1em; top: 0.5em; }
	#search .ui_modal_close { margin: 1em 0 0 0; padding: 0 0 0 0; }

#search_results { padding-bottom: 5em; }
	#search_results h2 { font-weight: 700; }
	#search_results .teaser #advertisement { border-bottom: solid 1px #e9e9e9; border-top: solid 1px #e9e9e9; margin: 3em auto 0 auto; padding: 2em 0 2em 0; text-align: center }
	#search_results .teaser { border-bottom: none 1px #e9e9e9; padding: 1em 0 2em 0; }
	#search_results .teaser h3 { font-size: 1.4em; font-weight: 500; }
	#search_results .teaser h4 { font-size: 1em; font-weight: 300; }
	#search_results .teaser .image { padding-right: 2em; }
	#search_results .teaser .rubric { font-size: 0.75em; }

#system_message { bottom: 0; height: 50px; left: 0; opacity: 0.95; padding: 0; position: fixed; right: 0; text-align: center; top: 0; vertical-align: middle; width: auto; z-index: 9999; }
	#system_message p { color: #fff; font-weight: 500; letter-spacing: -0.04em; text-align: center; }
	#system_message	.error { background-color: #e74c3c; padding: 0.5em; }
	#system_message	.info { background-color: #2ecc71; padding: 0.5em; }
	#system_message.unpublished { background: #0099FF; bottom: 0; height: auto; padding: 0.5em; position: fixed; top: auto; width: 100%; }
	#system_message	.warning { background-color: #e67e22; padding: 0.5em; }
		


/* ==========================================================================

MEDIA QUERIES

*
* Conditions modify existing classes & selectors to change the appearance of elements based on screen width
* 
* 1. The default 3 conditions typically cover majority of screen sizes, though additional conditions can be included.
* 2. Use sparingly (complex modifications typically indicate an element should be simplified)
*
*

========================================================================== */


@media screen and (min-width: 83.236em) {
	
}

@media screen and (min-width: 63.236em) and (max-width: 83.236em) {	
		
}

@media screen and (max-width: 63.236em /* 960px+ */ ) {
		
}

@media screen and (max-width: 53.236em /* 640px+ */) {

}