/* ============================================================
	Helpers
============================================================ */
/* Visibly hidden */
.hidden {
	border: 0;
	padding: 0;
	clip: rect(0 0 0 0);
	width: 1px;
	height: 1px;
	margin: -1px;
	overflow: hidden;
	position: absolute;
}

/* Centered container with max-width of 800px */
.container {
	margin: 0 auto;
	padding: 1em 5%;
	max-width: 50em; /* 800px */
	}
	.container::before,
	.container::after {
		content: " ";
		display: table;
	}
	.container::after {
		clear: both;
	}
@media screen and (min-width: 30em) {
	.container {
		padding: 1em 2.5%;
	}
}

/* Bullet-less list */
.no-bullets li {
	list-style: none;
	margin-left: 0;
}


/* ============================================================
	Highlight/Marks
============================================================ */
.highlight {
	background-color: rgb(235,235,235);
}
.mark {
	background-color:  rgb(255,250,215);
}


/* ============================================================
	Text
============================================================ */
.headline {
	color:  rgb(50,50,50);
	font-weight: 700;
	font-size: 2.5em; /* 40px */
	line-height: 1; /* 40px */
	margin: 0.4em 0 0; /* 16px 0 0 */
}
@media screen and (min-width: 30em) {
	.headline {
		font-size: 4em; /* 64px */
		margin: 0.25em 0 0; /* 16px 0 0 */
	}
}
.lede {
	color:  rgb(100,100,100);
	font-weight: 300;
	font-size: 1.25em; /* 20px */
	line-height: 1.2; /* 24px */
	margin: 0.6667em 0 1em; /* 16px 0 24px */
}
.caption {
	color:  rgb(130,130,130);
	font-size: 0.75em; /* 12px */
	line-height: 1.25; /* 16px */
	margin: 0.6667em 0; /* 8px 0 */
}


/* ============================================================
	Image
============================================================ */
.circular {
	border-radius: 100%;
}
.framed {
	box-shadow: 0 2px 2px  rgb(230,230,230);
	border: 1px solid  rgb(200,200,200);
	padding: 0.25em;
	display:inline-block;
	}
	.framed.circular img {
		border-radius: 100%;
	}


/* ============================================================
	Layout
============================================================ */
/* Pull left */
.pull-left {
	float: left;
}
img.pull-left {
	margin: 0 1em 0.5em 0; /* 0 16px 8px 0 */
}

/* Pull right */
.pull-right {
	float: right;
}
img.pull-right {
	margin: 0 0 0.5em 1em; /* 0 0 8px 16px */
}

/* Grid */
.grid {
	margin: 0 -1.5em;
	overflow: hidden;
}
.grid-unit {
	-webkit-box-sizing: border-box;
	-moz-box-sizing: border-box;
	box-sizing: border-box;
	padding: 0 1.5em;
	width: 100%;
	display: block;
	float: left;
}

/* Module */
[class*="module"] {
	border: 0;
	padding: 2%;
	display: block;
	}
	[class*="module"]:before,
	[class*="module"]:after {
		content: " ";
		display: table;
	}
	[class*="module"]:after {
		clear: both;
	}
[class*="module"] > *:last-child {
	margin-bottom: 0;
}
[class*="module"] .h {
	color: inherit;
	font-weight: 700;
	font-size: 1.25em; /* 20px */
	line-height: 1.2; /* 24px */
	/*margin-top: 0;*/
}

/* Module > Notification */
[class$="notice"] {
	background-color:  rgb(255,250,215);
	border: 0.15em solid rgb(235,220,135); /* 2px */
	border-radius: 0 0.25em 0.25em 0; /* 0 4px 4px 0 */
}
.success-notice {
	background-color: rgb(240,245,230);
	border-color: rgb(180,215,140);
}
.failure-notice {
	background-color: rgb(250,235,235);
	border-color: rgb(220,105,105);
}

/* Module > Details */
.details details {
	margin-left: 1.5em;
}
.details summary {
	color:  rgb(35,85,220);
	font-weight: 700;
	display: inline;
	}
	.details summary:hover {
		color:  rgb(85,35,220);
	}
	.details summary:active {
		color:  rgb(220,35,85);
	}
	.details summary::-webkit-details-marker {
		margin-left: -1em;
	}


/* ============================================================
	Link
============================================================ */
/* External */
a[rel="external"] {
	background: url(data:image/svg+xml;charset=utf-8;base64,PHN2ZyB3aWR0aD0iMTYiIGhlaWdodD0iMTYiIHZlcnNpb249IjEuMSIgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIj48cGF0aCBkPSJNMCw0IEw4LDQgTDYsNiBMMiw2IEwyLDE0IEwxMCwxNCBMMTAsMTAuNSBMMTIsOC41IEwxMiwxNiBMMCwxNiBaIE0wLDQiIGZpbGw9InJnYmEoMCwwLDAsMC4zMykiPjwvcGF0aD48cGF0aCBkPSJNNiwwIEwxNiwwIEwxNiwxMCBMMTQsMTAgTDE0LDMuNSBMNy41LDEwIEw2LDguNSBMMTIuNSwyIEw2LDIgWiBNNiwwIiBmaWxsPSJyZ2JhKDAsMCwwLDAuMzMpIj48L3BhdGg+PC9zdmc+) no-repeat right 40%;
	background-size: 12px;
	padding-right: 1em;
}

/* Tag */
a[rel="tag"] {
	font-size: 0.75em; /* 12px */
	line-height: 1.3334; /* 16px */
	text-transform: lowercase;
	border: 0;
}


/* ============================================================
	Tooltip
============================================================ */
.tip {
	position: relative;
	}
	.tip:hover:after {
		content: attr(data-tip);
		color:  rgb(255,255,255);
		font-size: 0.75em; /* 12px */
		line-height: 1.3334em; /* 16px */
		text-align: left;
		background-color:  rgb(100,100,100);
		border-radius: 0.3334em; /* 4px */
		padding: 0.6667em; /* 8px */
		width: 16.5em; /* 200px */
		opacity: 0.9;
		display: block;
		position: absolute;
		left: 0;
		bottom: 2em; /* 24px */
		z-index: 98;
	}
	.tip:hover:before {
		content: "";
		border: solid;
		border-color:  rgb(100,100,100) transparent;
		border-width: 0.5em 0.5em 0 0.5em; /* 6px 6px 0 6px */
		opacity: 0.9;
		display: block;
		left: 1em; /* 12px */
		bottom: 1em; /* 12px */
		position: absolute;
		z-index: 99;
	}


/* ============================================================
	List
============================================================ */
/* Articles */
.articles {
	overflow: hidden;
	}
	.articles a {
		display: block;
	}
	.articles a:hover {
		background-color: rgba(85,34,221,0.05);
	}
	.articles a:active {
		background-color: rgba(221,34,85,0.05);
	}
.articles li {
	list-style: none;
	margin-left: 0;
	}
.articles .h {
	margin-top: 0;
}
.articles p {
	color:  rgb(70,70,70);
}
.articles .caption {
	color:  rgb(130,130,130);
	margin-top: 0.6667em; /* 8px */
}
.articles article img {
	margin-bottom: 0;
	width: 25%;
}

/* Code block */
.code {
	font-family:'DejaVu Sans Mono',Inconsolata,Consolas,'Lucida Console',monospace;
	font-size: 0.75em; /* 12px */
	line-height: 1.6667; /* 20px */
}
ol.code {
	color:  rgb(130,130,130);
	margin: 1.3334em 0 1.3334em 3em; /* 16px 0 16px 36px */
	line-height: 2; /* 24px */
}
ol.code li {
	list-style: decimal-leading-zero;
	background:  rgb(240,240,240);
	margin: 0 0 -1px 0;
	border-top: 1px solid  rgb(255,255,255);
	padding: 0 0.5em; /* 0 8px */
	}
	ol.code li.tab1 { padding-left: 4ex; }
	ol.code li.tab2 { padding-left: 8ex; }
	ol.code li.tab3 { padding-left: 12ex; }
	ol.code li.tab4 { padding-left: 16ex; }
	ol.code li.tab5 { padding-left: 20ex; }

/* Metadata */
dl.metadata {
	font-size: 0.75em;
	line-height: 1.3334;
	overflow: hidden;
}
dl.metadata dt {
	font-weight: 400;
	padding-top: 0.5em;
}
dl.metadata dd {
	color:  rgb(130,130,130);
	margin-left: 0;
	border-bottom: 1px solid  rgb(230,230,230);
	padding-bottom: 0.5em;
}
@media screen and (min-width: 40em) {
	dl.metadata dt {
		padding: 0.5em 0;
		width: 25%;
		float: left;
		clear: left;
		display: block;
	}
	dl.metadata dd {
		-moz-box-sizing: content-box;
		-webkit-box-sizing: content-box;
		box-sizing: content-box;
		margin-left: -25%;
		padding: 0.5em 0 0.5em 25%;
		width: 75%;
		float: right;
	}
}

/* Progress indicator */
.progress li {
	list-style: none;
	line-height: 2; /* 32px */
	background-color:  rgb(240,240,240);
	margin: 0 1.25em 0.5em 0; /* 0 20px 8px 0 */
	padding: 0.25em 0.25em 0.25em 0.5em; /* 4px 4px 4px 8px */
	position: relative;
	display: inline-block;
	}
	.progress li:before {
		content: "";
		font-size: 1em; /* 16px */
		font-weight: 700;
		border: solid;
		border-color:  rgb(240,240,240) transparent;
		border-width: 1.25em 0 1.25em 1.25em; /* 20px 0 20px 20px */
		display: block;
		position: absolute;
		top: 0;
		left: -1.25em; /* -20px */
	}
	.progress li:first-child {
		padding-left: 0.75em;
	}
	.progress li:first-child:before {
		display: none;
	}
	.progress li:after {
		content: "";
		font-size: 1em; /* 16px */
		border: solid;
		border-color: transparent  rgb(240,240,240);
		border-width: 1.25em 0 1.25em 1.25em; /* 20px 0 20px 20px */
		display: block;
		position: absolute;
		right: -1.25em; /* -20px */
		top: 0;
	}
.progress li.completed {
	background-color:  rgb(230,230,230);
	}
	.progress li.completed:hover {
		background-color:  rgb(230,230,230);
	}
	.progress li.completed:before {
		border-color:  rgb(230,230,230) transparent;
	}
	.progress li.completed:hover:before {
		border-color:  rgb(230,230,230) transparent;
	}
	.progress li.completed:after {
		border-color: transparent  rgb(230,230,230);
	}
	.progress li.completed:hover:after {
		border-color: transparent  rgb(230,230,230);
	}
.progress li.is-active {
	color:  rgb(255,255,255);
	font-weight: 700;
	background-color:  rgb(35,85,220);
	}
	.progress li.is-active:before {
		border-color:  rgb(35,85,220) transparent;
	}
	.progress li.is-active:after {
		border-color: transparent  rgb(35,85,220);
	}
.progress li a {
	border: 0;
	display: block;
}

/* Stats */
.stats {
	overflow: hidden;
}
.stats li {
	list-style: none;
	margin: 0 0.75em 0 0; /* 0 12px 0 0 */
	padding: 0 0.75em 0 0; /* 0 12px 0 0 */
	border-right: 1px solid  rgb(230,230,230);
	float: left;
	}
	ul.stats li:last-child {
		margin: 0;
		padding: 0;
		border: none;
	}
.stats a {
	font-weight: 700;
	font-size: 1.125em; /* 18px */
	line-height: 1.3334; /* 24px */
	border: 0 none;
	display: block;
	float: left;
}
.stats span {
	font-weight: 400;
	font-size: 0.6667em; /* 12px */
	line-height: 1.3334; /* 16px */
	display: block;
}

/* Tag cloud */
.tags li {
	list-style: none;
	margin: 0 0.3334em 0 0;
	display: inline;
	white-space: nowrap;
}
.tags [data-rank="6"] { font-size: 1.2500em; line-height: 1.0000; } /* 20px/20px */
.tags [data-rank="5"] { font-size: 1.1250em; line-height: 1.1111; } /* 18px/20px */
.tags [data-rank="4"] { font-size: 1.0000em; line-height: 1.2500; } /* 16px/20px */
.tags [data-rank="3"] { font-size: 0.8750em; line-height: 1.4286; } /* 14px/20px */
.tags [data-rank="2"] { font-size: 0.7500em; line-height: 1.6667; } /* 12px/20px */
.tags [data-rank="1"] { font-size: 0.6875em; line-height: 1.8181; } /* 11px/20px */


/* ============================================================
	Navigation
============================================================ */
[class$="nav"] li {
	margin: 0;
	display: inline;
}
[class$="nav"] a {
	border: 0;
	border-right: 1px solid rgb(230,230,230);
	font-weight: 400;
	padding: 0.5em 0.75em;
	display: inline-block;
	white-space: nowrap;
}
[class$="nav"] li:last-child a {
	border-right: 0;
	}
	[class$="nav"] li a:hover {
		background-color:  rgb(240,240,240);
	}
	[class$="nav"] li a.is-active {
		color:  rgb(70,70,70);
		font-weight: 700;
	}

/* Dropdown */
nav#menu.dropdown-nav {
	display: table;
	table-layout: fixed;
	width: 100%;
}
.dropdown-nav ul {
	background: rgb(20,45,93); /* Old browsers */
	background: -moz-linear-gradient(top,  rgba(20,45,93,1) 0%, rgba(13,28,59,1) 100%); /* FF3.6+ */
	background: -webkit-gradient(linear, left top, left bottom, color-stop(0%,rgba(20,45,93,1)), color-stop(100%,rgba(13,28,59,1))); /* Chrome,Safari4+ */
	background: -webkit-linear-gradient(top,  rgba(20,45,93,1) 0%,rgba(13,28,59,1) 100%); /* Chrome10+,Safari5.1+ */
	background: -o-linear-gradient(top,  rgba(20,45,93,1) 0%,rgba(13,28,59,1) 100%); /* Opera 11.10+ */
	background: -ms-linear-gradient(top,  rgba(20,45,93,1) 0%,rgba(13,28,59,1) 100%); /* IE10+ */
	background: linear-gradient(to bottom,  rgba(20,45,93,1) 0%,rgba(13,28,59,1) 100%); /* W3C */
	filter: progid:DXImageTransform.Microsoft.gradient( startColorstr='#142d5d', endColorstr='#0d1c3b',GradientType=0 ); /* IE6-9 */
	border-top: 3px solid rgb(31, 64, 129);
	border-bottom: 3px solid rgb(31, 64, 129);
	padding-left: 0;
	margin-bottom: 0;
	position: relative;
	text-transform: uppercase;
	width: 100%;
	z-index: 900;
}
.dropdown-nav li {
	display: inline-block;
	border-right: 1px solid rgb(20,20,20);
	font-size: .9em;
	margin-left: -5px;
}
.dropdown-nav li:first-child {
	border-left: 1px solid rgb(20,20,20);
}
.dropdown-nav > ul > li {
}
.dropdown-nav li a,
.parent {
	border-right: 0;
	display: block;
	padding: 0.7em 1.5em;
	color: rgba(255,255,255,1);
}
.dropdown-nav > ul > li > a:hover, 
.parent:hover {
	background: rgb(16,16,37); /* Old browsers */
	background: -moz-linear-gradient(top,  rgba(16,16,37,1) 0%, rgba(33,32,69,1) 100%); /* FF3.6+ */
	background: -webkit-gradient(linear, left top, left bottom, color-stop(0%,rgba(16,16,37,1)), color-stop(100%,rgba(33,32,69,1))); /* Chrome,Safari4+ */
	background: -webkit-linear-gradient(top,  rgba(16,16,37,1) 0%,rgba(33,32,69,1) 100%); /* Chrome10+,Safari5.1+ */
	background: -o-linear-gradient(top,  rgba(16,16,37,1) 0%,rgba(33,32,69,1) 100%); /* Opera 11.10+ */
	background: -ms-linear-gradient(top,  rgba(16,16,37,1) 0%,rgba(33,32,69,1) 100%); /* IE10+ */
	background: linear-gradient(to bottom,  rgba(16,16,37,1) 0%,rgba(33,32,69,1) 100%); /* W3C */
	filter: progid:DXImageTransform.Microsoft.gradient( startColorstr='#101025', endColorstr='#212045',GradientType=0 ); /* IE6-9 */
	cursor: pointer;
}
.dropdown-nav li ul,
.dropdown-nav li ul li ul {
	display: none;
	border: 1px solid rgba(40,40,40,1);
	min-width: 200px;
	width: auto;
	padding: .5em 0 0 0;
	text-align: left;
}
.dropdown-nav li:hover > ul {
	background: rgba(50,50,50,1);
	display: block;
	position: absolute;
	top: 30px;
}
.dropdown-nav li ul li:hover > ul {
	left: 100px;
}
.dropdown-nav li ul li {
	border-right: none;
	border-bottom: 1px solid rgb(20,20,20);
	display: block;
}
.dropdown-nav li ul li a:hover {
	background: rgb(30,30,30);
}
.dropdown-nav li ul li:last-child {
	border-bottom: none;
}
.dropdown-nav i.fa-caret-down {
	font-size: .8em;
	margin-left: .5em;
}
.dropdown-nav i.fa-chevron-right {
	font-size: .8em;
	margin-right: 1em;
}
.dropdown-nav li ul li a {
	display: block;
}


/* Vertical */
.vertical-nav li {
	margin: 0;
	display: block;
}
.vertical-nav a {
	border-right: 0;
	border-bottom: 1px solid  rgb(230,230,230);
	display: block;
	}
	.vertical-nav a.is-active {
		background-color:  rgb(230,230,230);
		position: relative;
	}
	.vertical-nav a.is-active:after {
		content: "";
		font-size: 1em; /* 16px */
		border: solid;
		border-color: transparent  rgb(230,230,230);
		border-width: 1.25em 0 1.25em 1.25em; /* 16px 0 16px 16px */
		display: block;
		position:absolute;
		z-index: 900;
		right: -1.25em; /* -16px */
		top: 0;
	}

/* Tabbed */
.tabbed-nav {
	border-top: 0;
	border-bottom: 1px solid  rgb(230,230,230);
	padding: 0;
	margin-left: 1em;
}
.tabbed-nav a.is-active {
	background-color:  rgb(255,255,255);
	margin-bottom: -1px;
	border: 1px solid  rgb(230,230,230);
	border-bottom-color:  rgb(255,255,255);
	border-radius: 0.25em 0.25em 0 0; /* 4px 4px 0 0 */
}

/* Pagination */
.page-nav a {
	padding: 0.5em 1em; /* 8px 16px */
	}
	.page-nav a.is-active {
		background-color:  rgb(230,230,230);
	}
	.page-nav a[rel="prev"],
	.page-nav a[rel="next"] {
		border: 0;
		}
		.page-nav a[rel="prev"]:hover,
		.page-nav a[rel="next"]:hover {
			background-color: transparent;
		}

/* Breadcrumb */
.breadcrumb-nav {
	color:  rgb(200,200,200);
	font-size: 0.75em; /* 12px */
	line-height: 1.3334; /* 16px */
	margin-top: 0;
	border: 0 none;
}
.breadcrumb-nav a,
.breadcrumb-nav strong {
	padding: 0 0.5em; /* 8px */
	border: 0;
}
.breadcrumb-nav a:first-child {
	padding-left: 0;
}


/* ============================================================
	Form
============================================================ */

fieldset {
	border-top: 1px solid rgb(200,200,200);
	margin: 1em 0;
}

legend {
	border: 1px solid rgb(150,150,150);
	border-radius: 5px;
	margin: 0;
	padding: .3em .5em;
}

.fullpagelabel {
	float: none;
}

.required:before {
	color: red;
	content: "* ";
}

.requiredfielddesc .required {
	font-size: .8em;
}

.checkboxitem {
	font-size: .8em;
}
.radio {
	width: 30px;
}

/* Text input */
.input, input, textarea, select {
	background-color:  rgb(245,245,245);
	box-shadow: inset 0 1px 0 rgba(0,0,0,0.1);
	border: 1px solid  rgb(220,220,220);
	border-color: rgba(0,0,0,0.2);
	border-radius: 0.25em;
	padding: 0.5em;
	vertical-align: middle;
	width: 94%;
	}
	.input:focus {
		background-color:  rgb(255,255,255);
		box-shadow: inset 0 1px 0 rgba(17,34,187,0.1);
		border: 1px solid  rgb(15,35,185);
		border-color: rgba(85,34,221,0.5);
	}

input[type="submit"] {
	width: auto;
}

/* Button/Select */
select.input,
[class$="button"] {
	color:  rgb(70,70,70);
	text-shadow: 0 1px 0  rgb(255,255,255);
	box-shadow: inset 0 -1px 0 rgba(0,0,0,0.1);
	background-color:  rgb(230,230,230);
	background: -webkit-linear-gradient(top,  rgb(255,255,255),  rgb(230,230,230));
	background: -moz-linear-gradient(top,  rgb(255,255,255),  rgb(230,230,230));
	background: -o-linear-gradient(top,  rgb(255,255,255),  rgb(230,230,230));
	background: linear-gradient(to bottom,  rgb(255,255,255),  rgb(230,230,230));
	margin-right: 0.5em;
	border: 1px solid  rgb(200,200,200);
	border-radius: 0.25em;
	padding: 0.5em 0.75em; /* 8px 12px */
	display: inline-block;
	position: relative;
	}
	select.input {
		background:  rgb(230,230,230) url(data:image/svg+xml;charset=utf-8;base64,PHN2ZyB3aWR0aD0iMTYiIGhlaWdodD0iMTUiIHhtbG5zPSJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2ZyI+PHBvbHlnb24gcG9pbnRzPSI4LDAgMyw2IDEzLDYiIGZpbGw9IiM0NDQiLz48cG9seWdvbiBwb2ludHM9IjgsMCAzLDYgMTMsNiIgZmlsbD0iIzQ0NCIgdHJhbnNmb3JtPSJ0cmFuc2xhdGUoMTYsIDE1KSByb3RhdGUoLTE4MCkiLz48L3N2Zz4=);
		background-repeat: no-repeat;
		background-position: 92% 50%;
		background-size: 1em;
	}
	select.input:hover,
	select.input:focus,
	[class$="button"]:hover,
	[class$="button"]:focus {
		color:  rgb(50,50,50);
		box-shadow: inset 0 -1px 0  rgb(180,180,180);
		background-color:  rgb(230,230,230);
		border: 1px solid  rgb(180,180,180);
	}
	select.input:active,
	[class$="button"]:active,
	[class$="button"].selected {
		color:  rgb(50,50,50);
		outline: 0 none;
		box-shadow: inset 0 1px 0 rgba(0,0,0,0.1);
		background-color:  rgb(180,180,180);
		background: -webkit-linear-gradient(top,  rgb(230,230,230),  rgb(255,255,255));
		background: -moz-linear-gradient(top,  rgb(230,230,230),  rgb(255,255,255));
		background: -o-linear-gradient(top,  rgb(230,230,230),  rgb(255,255,255));
		background: linear-gradient(to bottom,  rgb(230,230,230),  rgb(255,255,255));
		border-color:  rgb(180,180,180);
	}

/* Button > Primary */
.primary-button {
	color:  rgb(240,240,240);
	text-shadow: 0 -1px 0  rgb(0,35,170);
	box-shadow: inset 0 -1px 0  rgb(0,35,170);
	background-color:  rgb(50,70,220);
	background: -webkit-linear-gradient(top,  rgb(35,85,220),  rgb(85,35,220));
	background: -moz-linear-gradient(top,  rgb(35,85,220),  rgb(85,35,220));
	background: -o-linear-gradient(top,  rgb(35,85,220),  rgb(85,35,220));
	background: linear-gradient(to bottom,  rgb(35,85,220),  rgb(85,35,220));
	border: 1px solid  rgb(0,35,170);
	}
	.primary-button:hover,
	.primary-button:focus {
		color:  rgb(255,255,255);
		box-shadow: inset 0 -1px 0  rgb(0,0,100);
		border-color:  rgb(0,0,100);
	}
	.primary-button:active {
		color:  rgb(255,255,255);
		box-shadow: inset 0 1px 0 rgba(0,0,0,0.15);
		background-color:  rgb(0,0,100);
	}

/* Combined inputs/buttons */
.combined {
	display: block;
	overflow: hidden;
	padding-bottom: 1px;
	}
	.combined .input,
	.combined [class$="button"] {
		margin: 0;
		border-left-width: 0;
		border-radius: 0;
		float: left;
	}
	.combined input:first-of-type,
	.combined [class$="button"]:first-of-type {
		border-left-width: 1px;
		border-radius: 0.25em 0 0 0.25em;
	}
	.combined input:last-of-type,
	.combined [class$="button"]:last-of-type {
		border-radius: 0 0.25em 0.25em 0;
	}

/* Combined search field */
input[type="search"] + .button {
	box-shadow: none;
	background: transparent url(data:image/svg+xml;charset=utf-8;base64,PHN2ZyB3aWR0aD0iMTYiIGhlaWdodD0iMTYiIHZlcnNpb249IjEuMSIgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIj48cGF0aCBkPSJNIDE2IDE0LjYgTCAxMC45IDkuNSBDIDExLjYgOC41IDEyIDcuMyAxMiA2IEMgMTIgMi43IDkuMyAwIDYgMCBDIDIuNyAwIDAgMi43IDAgNiBDIDAgOS4zIDIuNyAxMiA2IDEyIEMgNy4zIDEyIDguNSAxMS42IDkuNSAxMC45IEwgMTQuNiAxNiBMIDE2IDE0LjYgWk0gMiA2IEMgMiAzLjggMy44IDIgNiAyIEMgOC4yIDIgMTAgMy44IDEwIDYgQyAxMCA4LjIgOC4yIDEwIDYgMTAgQyAzLjggMTAgMiA4LjIgMiA2IFoiIGZpbGw9IiM5OTkiLz48L3N2Zz4=) no-repeat 50% 55%;
	border-color: transparent;
	overflow: hidden;
	width: 2em;
	text-indent: 2em;
	margin-left: -2em;
}

/* Button Group */
.button-group {
	border-top: 1px solid  rgb(230,230,230);
	padding: 0.75em 0;
	overflow: hidden;
}
@media screen and (min-width:40em) {
	.button-group {
		padding-left: 25%;
	}
}

/* Single checkboxes */
label.check {
	font-weight: 400;
	margin: 0;
	padding: 0;
	float:none;
}
label.check input {
	width: 1.5em;
}
label.check + .caption {
	margin-top: 0;
	padding-left: 2em;
}
@media screen and (min-width:40em) {
	fieldset.options li {
		margin-left: 25%;
	}
	label.check {
		margin-left: 25%;
		float: none;
	}
}

/* Labels */
label,
fieldset.options legend {
	color:  rgb(70,70,70);
	margin: 0.375em 0; /* 6px 0 */
	font-size: .8em; 
	font-weight: 400;
	line-height: 1.5; /* 24px */
	width: auto;
	display: block;
   -webkit-font-smoothing: antialiased;
}
fieldset.options legend {
	margin: 0;
	padding: 0.375em 0; /* 6px 0 */
}
@media screen and (min-width:40em) {
	label,
	fieldset.options legend {
		padding: 0;
		width: 25%;
		float: left;
		display: inline;
	}
}

/* Options list */
fieldset.options {
	clear: left;
}
fieldset.options ul {
	margin: 0;
}
fieldset.options li {
	list-style: none;
	margin-left: 0;
}
@media screen and (min-width:40em) {
	fieldset.options label,
	fieldset.options label.check + .caption {
		margin-left: 0;
	}
	fieldset.options li {
		margin-left: 25%;
	}
}

/* Required text */
abbr[title="Required"] {
	color:  rgb(170,0,0);
	font-size: 1.25em;
	font-weight: 400;
	border: 0;
}

/* Field caption */
label.check + .caption,
.input + .caption {
	display: block;
}
@media screen and (min-width:40em) {
	.input + .caption,
	label.check + .caption,
	fieldset.options .caption {
		margin-left: 25%;
	}
}