/*
	Inside Elections
*/
@media screen {
/*
	Red: 		#bf2728
	Blue: 	#628ac1
	Grey:		#f6f6f6
*/
body {
	background: #f6f6f6;
	font: 14px/1.75 "Open Sans", Helvetica, Arial, sans-serif;
}

h1,h2,h3,h4,h6 {font-weight: 100;}
h1 {font-size: 1.9em; line-height: 2;}
h2 {font-size: 1.6em; line-height: 1.5;}
h3 {font-size: 1.4em; font-weight: bold;}
h4 {font-size: 1em;}
h5 {font-size: 0.85em; text-transform: uppercase; color: #999;}

p {padding-bottom: 1em;}

a, a:visited {
	color: #618ac1;
	text-decoration: none;
}
	a:hover {}

	a.btn {
		text-align: center;
		display: inline;
		text-transform: uppercase;
		font-weight: 600;
		font-size: 0.85em;
		color: #fff;
		background: #bf2728;
		padding: 0.4em 0.8em;
		border-radius: 5px;
	}

		div.ctr {
			display: flex;
			justify-content: center;
		  align-self: center;
		}

		a.btn.lg {
			display: block;
			margin: 1em auto;
			width: 80%;
			padding: 0.8em 1.2em;
		}

		a.btn:hover {
			background: #555;
		}

		a.btn span {
			opacity: 0.7;
			text-transform: uppercase;
			font-size: 70%;
		}

code, pre {
	font-family: Consolas, "Courier New", Courier, monospace;
	display: block;
	margin-bottom: 1em;
	background-color: #eee;
	padding: 1em;
	margin: 1em;
}

abbr {border-bottom: 1px dotted #999;}

small {font-size: 80%;}

strong {font-weight: bold;}

sup {
	vertical-align: text-top;
	font-size: 8px;
}

.grid {
	max-width: 1200px;
	padding: 0 30px;
	margin: 0 auto;
}

.static-grid {
	width: 940px;
	margin: 0 auto;
}

#top {
	position: relative;
	background: #eaeaea;
	color: #666;
	font-size: 11px;
	padding: 0.3em 0;
}

	#top #utility {}

	#top #login {
		text-align: right;
	}

		#top div.grid {
			display: grid;
			grid-template-columns: 1fr 1fr;
		}

	#top a {color: #bf2728;}

		#top #login a {font-weight: bold;}

#header {
	background: #618ac1;
}

	#header .grid {
		display: grid;
		grid-template-columns: 1fr 1fr;
		align-items: center;
	}

	#header #mast {
		grid-column: 1;
		grid-row: 1 / 3;
	}

	#header #social {
		grid-column: 2;
		grid-row: 1;
	}

	#header #nav {
		grid-column: 2;
		grid-row: 1 / 3;
	}

	#header h1 {}

		#header h1 a {
			display: block;
			background: url(/images/site/logo-4-with-tag.png) no-repeat transparent;
			background-size: 222px auto;
			min-height: 222px;
			position: relative;
			top: 12px;
		}

			#header h1 a span {
				display: none;
			}

		#nav {
			color: #fff;
			font-weight: 600;
			font-size: 15px;
			z-index: 10;
			text-transform: uppercase;
		}

			#nav-mobile {
				display: none;
			}

				#header #nav-mobile a {font-size: 1.25em; color: #fff;}

			#nav a {
				color: #fff;
				display: block;
				font-size: 14px;
				line-height: 40px;
			}

				#nav ul li a:hover {}

			#nav ul {
				line-height: 60px;
				float: right;
				cursor: pointer;
			}

				#nav ul li {
					float: left;
				}

				#nav ul li.news-and-analysis {
					padding-left: 30px;
				}

				#nav ul li.ratings {
					padding-right: 30px;
				}

					#nav ul li a {
						color: #618AC1;
						display: block;
						text-decoration: none;
					}

						#nav ul li a:hover {
							background: rgba(255,255,255,0.5);
						}

						#nav ul li a span {display: none;}

					#nav ul li ul {
						display: none;
						position: absolute;
						text-align: left;
						z-index: 100;
						border-radius: 6px;
						background-color: rgba(0,0,0,0.1);
						padding: 6px;
					}

						#nav li.news-and-analysis ul {
								left: auto;
							  margin-left: -2.75em; /* hacky - would love to fix */
						}

						#nav li ul li {
							float: left;
							clear: both;
							position: relative;
							padding: 0;
							width: auto;
							border-top: 1px solid #ddd;
						}

							#nav li ul li a {
								width: 11em;
								font-size: 13px;
								line-height: 1;
								text-align: left;
								background-image: none;
								background: rgba(255,255,255,1);
								padding: 12px 10px;
								display: block;
								color: #bf2728;
							}

								#nav ul li ul li a:hover {
									background-image: none;
									background-color: #eee !important; /* overrides body declarations above */
									text-shadow: none;
								}

						#nav li:hover ul {
							display: block;
						}

					#nav ul li span {
						width: 100%;
						height: 100%;
						left: -1px;
						top: 0;
						position: absolute;
					}

		#social {
			text-align: right;
			padding-top: 0.2em;
		}

			#social a {
				color: #fff;
				font-size: 1.6em;
				margin-left: 1em;
			}

			#social ul {
				display: inline-grid;
			}

					#social ul li {
						grid-row: 1;
				}

#content {
	background-image: url(/images/site/bg-texture.png);
	color: #333;
	position: relative;
	z-index: 0;
	padding: 3em 0;
}

@media
only screen and ( min-resolution: 200dpi),
only screen and ( min-resolution: 1.25dppx)
{
	#content {
		background-image: url(/images/site/bg-texture@2X.png);
		background-size: 160px 160px;
	}
}

	#content .grid {
		display: grid;
		grid-template-columns: 3fr 1fr;
		grid-column-gap: 3em;
	}

	#content .grid.embed {
		grid-template-columns: 1fr;
	}

#sidebar {}

	#sidebar p {
		font-size: 0.85em;
	}

	#sidebar h3 {
		color: #444;
		line-height: 2;
		padding: 1em 0 0;
		font-size: 1.4em;
		font-weight: 800;
		border-top: 4px solid #e1e1e1;
	}

		#sidebar h3:not(:first-child) {
			margin-top: 3em;
		}

		#sidebar h3.link {}

			#sidebar h3.link a {
				display: block;
				color: #fff;
			}

		#sidebar h3.search {
			display: none;
		}

	#sidebar a {
		color: #bf2728;
	}

		#sidebar a.btn {
			color: #fff;
		}

	#sidebar h4 {
		font-size: 1.1em; line-height: 1.5;
		margin-top: 10px;
		padding: 0 10px;
		font-weight: 100;
	}

	#sidebar ul {}

		#sidebar ul li {
			padding: 0.5em 0;
		}

		#sidebar ul li h5 {
			line-height: 30px;
		}

			#sidebar ul li h5 span.subtitle,
			#sidebar ul li h5 span.author {
				letter-spacing: 1px;
				font-weight: bold;
			}

			#sidebar ul li h5 span.datetime {
				letter-spacing: 0.3px;
			}

		#sidebar ul li span {
			display: block;
		}

	#sidebar ul.simple-list {
		font-size: 0.85em; line-height: 1.5;
		margin-bottom: 15px;
	}

		#sidebar ul.simple-list li {
			padding: 0 10px 0 0;
			margin-left: 25px;
			list-style-type: disc;
			border: none;
		}

	#sidebar ul.subnav {}

		#sidebar ul.subnav li {
			padding: 0.5em 0.5em;
			border-bottom: none;
		}

			#sidebar ul.subnav li a svg {
				font-size: 1.4em;
				position: relative;
				top: 0.10em;
			}

			#sidebar ul.subnav li a {
				display: block;
			}

	#sidebar ul#current-edition {}

		#sidebar ul#current-edition li ul li {
			padding: 10px 0;
		}

			#sidebar ul li:last-child {
				border: none;
			}

	#sidebar img.bio {
		padding: 10px;
		background-color: #ddd;
		margin: 30px auto;
		display: block;
	}

	#sidebar img.state {
		margin: 30px auto;
		display: block;
	}

	#sidebar #get-the-report a {
		display: block;
		text-align: center;
		margin: 2em auto 0;
		line-height: 0;
		font-weight: 600;
		background-color: #fff;
		border: 2px solid #f1f1f1;
		border-radius: 4px;
		padding-top: 1.5em;
	}

		#sidebar #get-the-report a span {
			position: relative;
			bottom: -1.5em;
		}

		#sidebar #get-the-report a img {
			max-width: 100%;
		}

	#sidebar form {}

		#sidebar form fieldset,
		#sidebar .publications,
		#sidebar .side-content {
			background-color: #fff;
			padding-bottom: 0;
			border: 2px solid #f1f1f1;
			border-radius: 4px;
		}

		#sidebar form input {
			float: none;
			width: 80%;
			display: block;
			margin: 0 auto 0.5em;
			border-color: #ccc;
			border-radius: 4px;
		}

			#sidebar form input[type=text] {}

			#sidebar form input[type=submit] {
				width: auto;
				background-color: #bf2728;
				border-color: #f1f1f1;
				color: #fff;
				margin-bottom: 1em;
				text-transform: uppercase;
				font-size: 0.7em;
				font-weight: 600;
				border-radius: 6px;
			}

				#sidebar form input[type=submit]:hover {
					background-color: #777;
				}

		#sidebar .publications,
		#sidebar .side-content {
			color: #777;
			margin-top: 4em;
			padding: 1em 1em 0.2em;
		}

			#sidebar .side-content {margin-top: 1.1em;}

			#sidebar .publications p,
			#sidebar .side-content p {font-size: 0.75em;}

		#sidebar ul#premium-year-list {
			font-size: 11px;
			text-transform: uppercase;
			text-align: center;
			margin-top: 4px;
		}

			#sidebar ul#premium-year-list li {
				display: inline;
				padding: 0;
				border: none;
			}

				#sidebar ul#premium-year-list li a {
					padding: 2px 4px;
					background-color: #ddd;
				}

		.timeline-Widget {display: none !important;}

#page {}

	.page-content {
		background-color: #fff;
		padding: 2em;
		border-top: 4px solid #e1e1e1;
	}

	#page em {font-style: italic;}

	#page h2 {
		margin: 0;
		font-size: 1.4em;
		font-weight: 800;
	}

	#page h2 a {color: #444;}

	.embed #page h2 a {color: #628ac1;}

		#page h2.premium,
		#page h3.premium {
			width: 85%;
			display: block;
			float: left;
		}

		#page h4 {}

	#page .byline.shareable {
		clear: both;
		display: grid;
		grid-template-columns: 6fr 1fr;
	}

		#page .byline.shareable h5.meta {
			grid-column: 1;
			grid-row: 1;
		}

		#page .byline.shareable .share  {
			grid-row: 1;
			grid-column: 2;
			text-align: right;
			font-size: 1.5em;
			position: relative;
			top: -0.3em;
		}

	#page h5.meta {
		color: #666;
		font-style: italic;
		text-transform: none;
		font-weight: 600;
		font-size: 1em;
		clear: both;
	}

		#page h5.meta span.author {
			margin-right: 1em;
		}

			#page h5.meta span.author.left {
				display: block;
				width: 40%;
				float: left;
			}

	#page h5.meta span.datetime {
			font-weight: 200;
			color: #aaa;
		}

			#page h5.meta span.datetime.right {
				display: block;
				width: 50%;
				float: right;
				text-align: right;
			}

		#page .ev.tag {
			margin-top: -23px;
		}

	#page .archive {
		background-color: #fff;
		margin: 20px 0;
		padding: 20px;
	}

		#page .archive.alt {
			background: #f1f1f1;
			padding: 0 20px;
		}

		#page .archive h3 {
			font-size: 1.4em;
			font-weight: 800;
			text-transform: none;
		}

			#page .archive h3 a {color: #444;}

		#page .archive .meta {
		}

		#page .archive .toolbar {
			border: none;
			padding: 0;
		}

	#page .tag {
		background-color: #ddd;
		float: right;
		font-size: 0.7em; line-height: 1.5;
		text-transform: uppercase;
		margin-top: -45px;
		padding: 6px 10px;
	}

	#page .lock {
		float: right;
		text-align: right;
		width: 10%;
		font-size: 1.9em;
		color: #eee;
		position: relative;
		right: 0;
		top: -10px;
		vertical-align: top;
		margin-bottom: -10px;
	}

	#page a.state-select {
		display: block;
		text-align: center;
		margin: 2em auto 1em;
		line-height: 1em;
		font-weight: 600;
	}

		#page a.state-select img {
			max-width: 80%;
			padding: 0 10%;
			clear: both;
		}

		#page a.state-select span {display: block;}

		#page .page-content h5.meta {margin-bottom: 1em;}

		#page .archive .lock {color: #eee;}

		#page .archive .tag {
			background-color: #ccc;
			margin-top: -27px;
		}

		#state #page a.tag {
			margin: -20px 0 1px;
			color: #fff;
			background-color: #618AC1;
		}

		#ratings #page a.tag,
		#account #page a.tag {
			background-color: #bf2728;
			color: #fff;
			margin-top: -2.75em;
			font-size: 0.75em;
			border-radius: 4px;
		}

			#ratings #page a.tag:hover,
			#account #page a.tag:hover {
				background-position: 0 -60px;
			}

	#page .toolbar {
		font-size: 0.9em;
		padding-top: 10px;
		font-weight: 800;
	}

		#page .toolbar svg {
			font-size: 1.6em;
			margin-left: 0.3em;
			position: relative;
			top: 0.10em;
		}

		#page .toolbar .share {
			float: left;
		}

		#page .toolbar .continue {
			float: right;
		}

	#page .entry-image {
		margin: 20px 0 10px;
		max-width: 50%;
		height: auto;
	}

			#page .entry-image[style*="float:left"] {
				padding-right: 15px;
			}

			#page .entry-image[style*="float:right"] {
				padding-left: 15px;
			}

		#page .caption {
			margin-top: 5px; /* offsets above negative bottom margin on img */
			padding: 0 2px;
			font-size: 0.9em; line-height: 1.25;
			color: rgba(0,0,0,0.7);
		}

	#page ul {
		margin: 0 0 20px 30px;
	}

		#page ul li {
			list-style-type: disc;
		}

			#page ul li ul {
				margin-bottom: 0;
			}

			#page ul li ul li {
				list-style-type: circle;
			}

				#page ul li ul li ul li {
					list-style-type: square;
				}

	#page ul.column {
		width: 33%;
		float: left;
		margin: 0;
	}

		#page ul.column li {
			list-style-type: none;
		}

		#archive.year #page li {
			margin-bottom: 20px;
		}

			#archive.year #page li span {
				text-transform: uppercase;
				font-size: 0.9em;
			}

				#archive.year #page li span span {
					background: #ccc;
					padding: 3px 6px;
					font-size: 0.75em;
				}

	#page #article-nav {
		margin: 2em 0;
	}

			#page ul#article-nav li {
				list-style-type: none;
			}

		#page #article-nav #previous {
			float: left;
			width: 30%;
		}

		#page #article-nav #next {
			float: right;
			width: 30%;
		}

		#page #article-nav #archive {
			margin: 0 auto;
			width: 50%;
		}

			#page #article-nav #next a,
			#page #article-nav #previous a,
			#page #article-nav #archive a {
				display: block;
				padding: 4px 6px;
				background-color: #bf2728;
				text-align: center;
				color: #fff;
				font-size: 0.9em;
				text-transform: uppercase;
				font-weight: 600;
				border-radius: 6px;
			}

	#page .notice {
		font-size: 0.95em; line-height: 1.5;
		background-color: #eee;
		padding: 15px 15px 0;
		border: 1px solid #ccc;
		border-radius: 6px;
	}

	#page div.media-player {
		margin-bottom: 20px;
	}

	#pagination {
		font-size: 1em;
		line-height: 1;
		text-align: center;
		margin-top: 40px;
	}

		#pagination strong {
			display: inline-block;
			padding: 8px;
		}

		#pagination a {
			background-color: #ddd;
			padding: 8px;
			display: inline-block;
		}

			#pagination a:hover {
				background-color: #618AC1;
				color: #fff;
			}

	table {
		background-color: #ddd;
		font-size: 0.85em;
		line-height: 1.5;
		width: 100%;
		min-width: 180px;
		margin-bottom: 20px;
	}

		table th {}

		table tr {
			padding: 0 3px;
		}

			table tr.alt {
				background-color: #eaeaea;
			}

			table tr td {
				padding: 0 5px;
				line-height: 28px;
			}

		table.ratings {}

			table.ratings th {
				background-image: linear-gradient(to left, #BF2727 0%, #C4C4C4 50%, #6289C1 100%);
				color: #fff;
				border-radius: 4px;
			}

			table.ratings td {}

			table.map th {
				background: none;
				background-color: #4D4D49;
				color: #fff;
				padding: 4px;
				border-radius: 0;
			}

				table.map th.id,
				table.map td.id {
					text-align: center;
				}

				table.map th.label,
				table.map td.label,
				table.map th.segment,
				table.map td.segment {
					text-align: left;
				}

				table.ratings th span {padding: 0 15px;}

				table.ratings th span.D {float: left;}
				table.ratings th span.R {float: right;}
				table.ratings th span.D span,
				table.ratings th span.R span,
				table.ratings th span.T span {display: none;}

				body#ratings h3.rating {
					color: #fff;
					width: 160px;
					height: 32px;
					line-height: 22px;
					text-transform: none;
					font-size: 0.85em;
					background-position: top;
					text-align: center;
					text-shadow: 1px 1px #000;
					position: relative;
					overflow-x: hidden;
				}

				body#ratings h3.pure-toss-up {
					background-image: url(/images/site/ratings/pure-toss-up.png);
					left: 50%;
					position: relative;
					margin-left: -76px;
				}
				body#ratings h3.toss-up-tilt-democrat {
					background-image: url(/images/site/ratings/tilt-democrat.png);
					position: relative;
					left: 40%;
					margin-left: -76px;
			}
				body#ratings h3.lean-democrat {
					background-image: url(/images/site/ratings/lean-democrat.png);
					left: 30%;
					margin-left: -76px;
				}
				body#ratings h3.democrat-favored {
					background-image: url(/images/site/ratings/democrat-favored.png);
					left: 20%;
					margin-left: -76px;
				}
				body#ratings h3.currently-safe-democrat {
					background-image: url(/images/site/ratings/safe-democrat.png);
					left: 10%;
					margin-left: -76px;
				}
				body#ratings h3.toss-up-tilt-republican {
					background-image: url(/images/site/ratings/tilt-republican.png);
					left: 60%;
					margin-left: -76px;
				}
				body#ratings h3.lean-republican {
					background-image: url(/images/site/ratings/lean-republican.png);
					left: 70%;
					margin-left: -76px;
				}
				body#ratings h3.republican-favored {
					background-image: url(/images/site/ratings/republican-favored.png);
					left: 80%;
					margin-left: -76px;
				}
				body#ratings h3.currently-safe-republican {
					background-image: url(/images/site/ratings/safe-republican.png);
					left: 90%;
					width: 165px;
					margin-left: -82.5px;
				}
				body#ratings h3.toss-up-tilt-independent {
					background-image: url(/images/site/ratings/tilt-independent.png);
					left: 50%;
					margin-left: -76px;
				}
				body#ratings h3.lean-independent {
					background-image: url(/images/site/ratings/lean-independent.png);
					left: 40%;
					margin-left: -76px;
				}
				body#ratings h3.independent-favored {
					background-image: url(/images/site/ratings/independent-favored.png);
					left: 30%;
					margin-left: -76px;
				}
				body#ratings h3.currently-safe-independent {
					background-image: url(/images/site/ratings/safe-independent.png);
					left: 20%;
					margin-left: -76px;
				}
				body#ratings h3.not-up-this-cycle {}

			table.ratings td.state {
				padding-left: 1.1em;
				font-weight: bold;
				width: 1em;
			}

			table.ratings td.district,
			table.ratings td.class {
				width: 1em;
				text-align: center;
				font-weight: bold;
			}
			table.ratings td.related {
				width: 25%;
				font-weight: bold;
			}
				#state table.ratings td.related {
					width: 5.14em;
				}
			table.ratings td.electoral {
				text-align: right;
				width: 1.5em;
				font-size: 0.9em;
			}
				#state table.ratings td.electoral {
					text-align: left;
					width: 12.5em;
					font-weight: bold;
				}
					#state table.ratings td.electoral span {
						color: rgba(0,0,0,0.4);
						font-weight: normal;
					}

			table.ratings td.party {
				color: #fff;
				font-size: 0.75em;
				width: 2em;
			}

			table.ratings td.party span {
				display: block;
				width: 2em;
				line-height: 2em;
				text-align: center;
				border-radius: 50%;
			}

				table.ratings td.party.D span {
					background-color: #628ac1;
				}

				table.ratings td.party.R span {
					background-color: #bf2728;
				}

				table.ratings td.party.I span {
					background-color: #666;
				}

			table.ratings td.notes {
				width: 50px;
				text-align: center;
			}

			table.ratings td.incumbent {width: 20%;}

				table.ratings td.notes em,
				table.ratings td.incumbent em {
					font-size: 0.75em;
					text-transform: uppercase;
					font-style: normal;
					background-color: #cdcdcd;
					height: 15px;
					padding: 0 10px;
					border-radius: 8px;
				}

				table.ratings td.incumbent em {
					position: relative;
					left: 10px;
				}

			table.ratings td.incumbent {
				font-size: 1em;
				line-height: 1.5em;
			}

			table.ratings td.shift {
				font-size: 1.6em;
				line-height: 12px;
				text-align: right;
				padding-right: 12px;
			}

			body.president table.ratings td.shift {
				text-align: left;
				width: 1em;
			}

			body.president table.ratings td.state {
				line-height: 1.3em;
				padding: 5px 1em;
			}

				table.ratings td.shift.R {color: #bf2728;}
				table.ratings td.shift.D {color: #618AC1;}

			table.ratings td.rating {
				padding-right: 1em;
				line-height: 1.3em;
				vertical-align: middle;
			}

#footer {
	font-size: 0.85em;
	background-color: #555;
	color: #fff;
	padding: 24px 0 30px;
}

	#footer .grid {
		display: grid;
		grid-template-columns: 1fr 1fr 1fr 1fr;
		grid-column-gap: 3em;
	}

	#footer h3 {
		font-weight: 800;
		font-size: 1.6em;
		padding-bottom: 0.5em;
		text-transform: none;
		line-height: 40px;
		border-bottom: 3px solid rgba(255,255,255,0.4);
		margin-bottom: 1em;
	}

	#footer a {color: #98c1fa;}

	#footer .vcard,
	#footer p {}

			#footer .contributors h4 {
				font-size: 1.15em;
			}

				#footer .contributors h4 a {
					color: #fff;
				}

				#footer .contributors h4 svg {
					color: #333;
					font-size: 1.3em;
					position: relative;
					top: 0.2em;
					left: 0.2em;
				}

			#footer .contributors img {
				float: left;
				margin: 0 10px 11px 0;
				background: #292929;
				padding: 3px;
			}

			#footer .contributors span.position {
				display: block;
				text-transform: uppercase;
				font-weight: 100;
				font-size: 0.75em;
				margin-bottom: 10px;
			}

				#footer .stuart-rothenberg,
				#footer .nathan-gonzales {
					margin-top: 10px;
					clear: both;
				}

			#footer .about {
				font-size: 0.9em;
				line-height: 22px;
			}

			#footer .column.archive {
				padding: 0;
			}

				#footer .archive ul.inner-grid {
					display: grid;
					grid-template-columns: 1fr 1fr;
				}

				#footer .archive ul li a {
					background: rgba(0,0,0,0.2);
					text-align: center;
					font-size: 1em;
					padding: 0 10px;
					display: block;
					border-bottom: 1px solid #292929;
					line-height: 48px;
				}

					#footer .archive ul li a:hover {background: rgba(0,0,0,0.4);}

			#footer .column.contact {
				background: none;
				margin: 0;
			}

				#footer .vcard {
					font-size: 0.9em;
					line-height: 2.14;
				}

#idSiteMeterHREF {
	height: 0;
	width: 0;
	overflow: hidden;
	display: none;
}

#page .article-content.truncated {
	height: 400px;
	overflow: hidden;
	padding-bottom: 3px;
}

@media only screen and (max-height: 1000px) {#page .article-content.truncated {height: 255px;} }

@media only screen and (max-height: 800px) {#page .article-content.truncated {height: 175px;} }

@media only screen and (max-height: 700px) {#page .article-content.truncated {height: 125px;} }

@media only screen and (max-height: 600px) {#page .article-content.truncated {height: 75px;} }

@media only screen and (max-height: 480px) {#page .article-content.truncated {display: none;} }

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

	table.ratings td.state {
		padding-left: 10em;
	}

	table.ratings td.shift {
		padding-right: 20%;
	}

}

@media only screen and (min-width: 700px) and (max-width: 799px) {

	table.ratings td.state {
		padding-left: 5em;
	}

	table.ratings td.shift {
		padding-right: 20%;
	}

}

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

body {
	font: 12px/1.5 "Open Sans", Helvetica, Arial, sans-serif;
}

	#header .grid {
		display: grid;
		grid-template-columns: 1fr;
		align-items: center;
	}

	#header #mast {
		grid-column: 1;
		grid-row: 1;
		width: 50%;
	}

		#header h1 a {
			background-size: 130px auto;
			min-height: 130px;
			position: relative;
			top: 12px;
		}

	#header #social {
		display: none;
	}

	#header #nav-mobile {
		display: block;
		grid-column: 2;
		grid-row: 1;
		width: 50%;
		float: right;
		text-align: right;
	}

	#header #nav {
		grid-column: 1;
		grid-row: 1;
	}

	#nav {
			display: none;
			width: 103.5%;
			background-color: #fff;
			position: relative;
			top: 95px;
			color: #666;
	}

	.hamburger {
	  font-size: 1.5em;

	  display: inline-block;

	  width: 1em;
	  height: 1em;
	  padding: 0;

	  cursor: pointer;
	  transition: transform .2s ease-in-out;
	  vertical-align: middle;

	  border: 0 none;
	  background: transparent;
	}

	.hamburger::-moz-focus-inner {
	  padding: 0;
	  border: 0 none;
	}

	.hamburger:focus {
	  outline: 0; /* Focus fix for Chrome */
	}

	.hamburger:before,
	.hamburger:after {
	  content: "";
	}

	.hamburger:before,
	.hamburger .icon,
	.hamburger:after {
	  display: block;

	  width: 100%;
	  height: .2em;
	  margin: 0 0 .2em;

	  transition: transform .1s ease-in-out;

	  border-radius: .05em;
	  background: #fff;
	}

	.hamburger.active:before,
	.hamburger.active .icon,
	.hamburger.active:after {
	  background: #fff;
	}

	.hamburger.hamburger-cancel.active .icon {
	  transform: scale(0);
	}

	.hamburger.hamburger-cancel.active:before {
	  transform: translateY(.4em) rotate(135deg);
	}

	.hamburger.hamburger-cancel.active:after {
	  transform: translateY(-.4em) rotate(-135deg);
	}

		#nav ul {
			float: none;
			display: none;
		}

			#nav ul li {
				width: 50%;
				text-align: center;
		}

			#nav ul li.ratings,
			#nav ul li.news-and-analysis {padding: 0;}

			#nav li.news-and-analysis ul {
					left: auto;
					margin-left: 0; /* remove above hack */
			}
			#nav ul li a {
					display: block;
					font-size: 1.15em;
					text-decoration: none;
					color: #666;
					padding: 6px 0;
					border-radius: 0;
				}

					#nav ul li a:hover {
						background-color: #f9f9f9;
					}

					#nav ul li.news-and-analysis,
					#nav li.news-and-analysis ul li a {background-color: #eee;}
					#nav li.news-and-analysis ul li a:hover {background-color: #fff !important;}

				#nav ul li ul {
						padding: 0;
						background-color: transparent;
						border-radius: 0;
						width: 50%;
				}

					#nav li ul li {
						position: relative;
						padding: 0;
						width: 100%;
					}

					#nav li ul li a {
							width: 100%;
							display: block;
							text-align: center;
							padding: 12px 0;
					}

						#nav ul li ul li a:hover {
						}

	#page h5.meta span.author {display: block;}

	#page .entry-image {
		max-width: 50%;
		height: auto;
	}

	#ratings #page a.tag {display: none;}

	#footer {}

	 	#footer .contributors span.position span.profile-link {display: none;}

} /* end @media 700px */

@media only screen and (min-width: 600px)and (max-width: 800px) {

	table.ratings td.rating {
		min-width: 95px;
	}

}

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


	#content .grid {
		grid-template-columns: 1fr;
		grid-row-gap: 3em;
	}

	#page .entry-image {
		max-width: 100%;
	  width: 100%;
		height: auto;
	}

	#sidebar h3.search {
		margin-top: 3em;
		display: block;
	}

	#sidebar form {
		width: 80%;
		padding: 0 10% 0;
	}

	#sidebar img.state {display: none;}

	#sidebar #get-the-report {
		width: 80%;
		padding: 0 10% 0;
		position: relative;
		top: -2em;
	}

	#sidebar #get-the-report a {
		max-width: 100%;
		font-size: 1.2em;
	}

	#footer .grid {
		grid-template-columns: 2fr 2fr;
		grid-row-gap: 3em;
	}

		#footer h3 {font-size: 1.7em;}

		#footer .contributors div,
		#footer .about p,
		#footer .archive ul.inner-grid,
		#footer .contact .vcard {font-size: 1.25em;}

} /* end @media 600px */


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

#top div.grid {display: block;}

	#top #utility {display: none;}

	#top #login {
		text-align: right;
		width: 100%;
	}

	#header .grid {
		grid-template-columns: 2fr;
	}

		#header #mast {
				width: 80%;
		}

		#header #nav-mobile {
			width: 20%;
		}

		#header h1 a {
			display: block;
			background: url(/images/site/logo-4-no-tag.png) no-repeat transparent;
			background-size: 105px auto;
			min-height: 80px;
			position: relative;
			top: 12px;
			width: 100%;
		}

	#nav {
		top: 70px;
	}

	.hamburger {
	  font-size: 1.25em;
	}

	#page .byline.shareable {
			clear: both;
			display: grid;
			grid-template-columns: 1fr;
		}

			#page .byline.shareable h5.meta {
				grid-column: 1;
				grid-row: 1;
			}

			#page .byline.shareable .share  {
				grid-row: 2;
				grid-column: 1;
				text-align: left;
				font-size: 1.5em;
				position: relative;
				top: -0.7em;
			}

			#page #article-nav #previous {
				float: left;
				width: 45%;
			}

			#page #article-nav #next {
				float: right;
				width: 45%;
			}

	#footer .grid {
		grid-template-columns: 1fr;
		grid-row-gap: 3em;
	}

} /* end @media 480px */

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

	#nav ul {
		font-size: 11px;
		font-weight: 800;
		padding: 0;
		color: #222;
	}

		#nav ul li {
	}

		#nav ul li a {
	}

				#nav ul li a:hover {
				}

			#nav ul li ul {
			}

				#nav li ul li {
			}

				#nav li ul li a {
					font-size: 11px;
				}

					#nav ul li ul li a:hover {
					}

		#sidebar #get-the-report {
			width: 100%;
			padding: 0;
			top: -1.7em;
		}

			#sidebar #get-the-report a {
				padding: 2em 0 0;
				font-size: 0.9em;
			}

		#sidebar form {
			width: 100%;
			padding: 0;
		}

		#footer .about p,
		#footer .archive ul.inner-grid,
		#footer .contact .vcard {font-size: 1.1em;}

} /* end @media 400px */


} /* end @media screen */
