/*
----------------------------------------------------------
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, img, 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, header, hgroup,
menu, nav, output, ruby, section, summary,
time, mark, audio, video {
	margin: 0;
	padding: 0;
	border: 0;
	font-size: 100%;
	font: inherit;
	vertical-align: baseline;
}

article, aside, details, figcaption, figure,
footer, header, hgroup, menu, nav, section {
	display: block;
}

article:after, aside:after, details:after, figcaption:after, figure:after,
footer:after, form:after, header:after, hgroup:after, menu:after, nav:after, section:after,
div:after, ul:after, ol:after {
	content: "";
	display: table;
	clear: both;
}

body {
	line-height: 1;
}

ol, ul {
	margin: 0;
}

blockquote, q {
	quotes: none;
}

blockquote:before, blockquote:after,
q:before, q:after {
	content: '';
	content: none;
}

table {
	border-collapse: collapse;
	border-spacing: 0;
}

*, :after, :before {
	box-sizing: border-box;
}





/*
----------------------------------------------------------
Variables
----------------------------------------------------------

Font: Arial, sans-serif
Primary colour: #d5045f
Secondary colour: #0c376e

*/







/*
----------------------------------------------------------
General
----------------------------------------------------------
*/

i, em {
	font-style: italic;
}

b, strong {
	font-weight: bold;
}

.r {
	float: right;
}

.c {
	text-align: center !important;
}

.h {
	display: none;
}

.num {
	text-align: right;
}

.small {
	font-size: 80% !important;
}

.smaller {
	font-size: 60% !important;
}



html {
	background: #fff;
}

html body {
	background: #eee;
	padding-top: 139px;
}

@media only screen and (max-width: 585px) {
	html body {
		padding-top: 60px;
	}
}

html .container {
	max-width: 1130px;
	margin: 0 auto;
	padding: 0 30px;
}

@media only screen and (max-width: 585px) {
	html .container {
		padding: 0 15px;
	}
}

@media only screen and (max-width: 768px) {
	html .container {
		padding: 0 10px;
	}
}




[id] {
	scroll-margin-top: 160px;
}



span.site-id {
	position: relative;
	display: inline-block;
	margin: 15px;
	border: 15px solid transparent;
	padding: 3px 9px;
	color: transparent;
    font-size: 18px;
    font-weight: bold;
	text-align: center;
	text-transform: uppercase;
}

span.site-id.site-id-dev {
	border-color: #00cc00;
	color: #00cc00;
}

span.site-id.site-id-uat {
	border-color: #ddcc00;
	color: #ddcc00;
}















/*
----------------------------------------------------------
Typography
----------------------------------------------------------
*/


body {
	font-size: 16px;
	line-height: 24px;
	font-family: Arial, sans-serif;
	color: #444;
}

a {
	color: #d5045f;
}

p {
	margin-bottom: 24px;
}

p:last-child {
	margin-bottom: 0;
}

h1, h2, h3, h4, h5, h6 {
	color: #0c376e;
	font-weight: bold;
}

h1 {
	margin-bottom: 30px;
	font-size: 44px;
	line-height: 52px;
	font-weight: 700;
	text-align: center;
}

h2 {
	font-size: 24px;
	font-weight: 700;
	line-height: 36px;
	margin: 60px 0 15px 0;
}

h2:first-of-type {
	margin-top: 0;
}

h3 {
	margin: 15px 0 24px 0;
	font-size: 18px;
}

address {
	margin: 0 0 24px 24px;
}















/*
----------------------------------------------------------
Header
----------------------------------------------------------
*/

#top {
	position: fixed;
	top: 0;
	left: 0;
	right: 0;
	background: #fff;
	z-index: 10;
	box-shadow: 0 5px 15px rgba(27, 27, 27, 0.08);
}

@media only screen and (max-width: 585px) {
	#top {
		text-align: center;
	}
}

#top > nav {
	border-top: 1px solid #eee;
	clear: both;
}

#top > nav a {
	display: block;
	float: left;
	padding: 12px 20px;
	border-right: 1px solid #eee;
	text-decoration: none;
	color: #444;
}

#top > nav a:first-child {
	border-left: 1px solid #eee;
}

#top > nav a.r {
	float: right;
	border-left: 1px solid #eee;
	border-right: none;
}

#top > nav a.r:last-child {
	border-right: 1px solid #eee;
}

@media only screen and (max-width: 585px) {
	#top > nav {
		position: fixed;
		left: -240px;
		height: 100%;
		width: 240px;
		background: #fff;
		z-index: 100;
		top: 0;
		bottom: 0;
		box-shadow: 0 5px 15px rgba(27, 27, 27, 0.2);
		transition: all .4s;
	}

	#top > nav.active {
		left: 0;
	}

	#top > nav .container {
		padding: 0;
	}

	#top > nav a {
		display: block;
		float: none;
		width: 100%;
		padding: 8px 10px;
		border: none;
		border-bottom: 1px solid #e5e5e5;
		text-align: left;
	}
}






.site-title {
	float: left;
	height: 60px;
	position: relative;
	margin: 15px 0;
}

@media only screen and (max-width: 585px) {
	.site-title {
		display: inline-block;
		height: 40px;
		float: none;
		margin: 10px auto;
	}

	span.site-id {
		margin: 0 auto 10px;
	}
}

.site-title img {
	height: 100%;
	width: auto;
}



.user-nav {
	float: right;
	position: relative;
}

@media only screen and (min-width: 586px) {
	.user-nav {
		margin: 20px 0;
	}
}

.user-nav ul {
	margin: 0;
	list-style-type: none;
}

@media only screen and (min-width: 586px) {
	.user-nav ul li {
		display: inline-block;
	}

	.user-nav ul li a {
		display: block;
		line-height: 44px;
		padding: 0 20px 0 36px;
		position: relative;
		margin-left: 2px;
		border: 1px solid #e0e0e0;
		border-radius: 5px;
		text-decoration: none;
		color: #444;
		background-size: 15px 15px;
	}

	.user-nav ul li a:before {
		content: "";
		display: block;
		width: 16px;
		background-repeat: no-repeat;
		height: 16px;
		position: absolute;
		left: 16px;
		top: 13px;
		background-size: 16px 16px;
	}

	.user-nav ul li a[href="/user"]:before,
	.user-nav ul li a[href="/login"]:before {
		background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' xmlns:xlink='http://www.w3.org/1999/xlink' version='1.1' width='20' height='20' viewBox='0 0 20 20'%3E%3Cpath fill='%23000000' d='M9.5 11c-3.033 0-5.5-2.467-5.5-5.5s2.467-5.5 5.5-5.5 5.5 2.467 5.5 5.5-2.467 5.5-5.5 5.5zM9.5 1c-2.481 0-4.5 2.019-4.5 4.5s2.019 4.5 4.5 4.5c2.481 0 4.5-2.019 4.5-4.5s-2.019-4.5-4.5-4.5z'/%3E%3Cpath fill='%23000000' d='M17.5 20h-16c-0.827 0-1.5-0.673-1.5-1.5 0-0.068 0.014-1.685 1.225-3.3 0.705-0.94 1.67-1.687 2.869-2.219 1.464-0.651 3.283-0.981 5.406-0.981s3.942 0.33 5.406 0.981c1.199 0.533 2.164 1.279 2.869 2.219 1.211 1.615 1.225 3.232 1.225 3.3 0 0.827-0.673 1.5-1.5 1.5zM9.5 13c-3.487 0-6.060 0.953-7.441 2.756-1.035 1.351-1.058 2.732-1.059 2.746 0 0.274 0.224 0.498 0.5 0.498h16c0.276 0 0.5-0.224 0.5-0.5-0-0.012-0.023-1.393-1.059-2.744-1.382-1.803-3.955-2.756-7.441-2.756z'/%3E%3C/svg%3E");
	}

	.user-nav ul li a[href="/logout"]:before {
		background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' xmlns:xlink='http://www.w3.org/1999/xlink' version='1.1' width='20' height='20' viewBox='0 0 20 20'%3E%3Cpath fill='%23000000' d='M11.5 8c0.276 0 0.5-0.224 0.5-0.5v-4c0-0.827-0.673-1.5-1.5-1.5h-9c-0.827 0-1.5 0.673-1.5 1.5v12c0 0.746 0.537 1.56 1.222 1.853l5.162 2.212c0.178 0.076 0.359 0.114 0.532 0.114 0.213-0 0.416-0.058 0.589-0.172 0.314-0.207 0.495-0.575 0.495-1.008v-1.5h2.5c0.827 0 1.5-0.673 1.5-1.5v-4c0-0.276-0.224-0.5-0.5-0.5s-0.5 0.224-0.5 0.5v4c0 0.276-0.224 0.5-0.5 0.5h-2.5v-9.5c0-0.746-0.537-1.56-1.222-1.853l-3.842-1.647h7.564c0.276 0 0.5 0.224 0.5 0.5v4c0 0.276 0.224 0.5 0.5 0.5zM6.384 5.566c0.322 0.138 0.616 0.584 0.616 0.934v12c0 0.104-0.028 0.162-0.045 0.173s-0.081 0.014-0.177-0.027l-5.162-2.212c-0.322-0.138-0.616-0.583-0.616-0.934v-12c0-0.079 0.018-0.153 0.051-0.22l5.333 2.286z'/%3E%3Cpath fill='%23000000' d='M18.354 9.146l-3-3c-0.195-0.195-0.512-0.195-0.707 0s-0.195 0.512 0 0.707l2.146 2.146h-6.293c-0.276 0-0.5 0.224-0.5 0.5s0.224 0.5 0.5 0.5h6.293l-2.146 2.146c-0.195 0.195-0.195 0.512 0 0.707 0.098 0.098 0.226 0.146 0.354 0.146s0.256-0.049 0.354-0.146l3-3c0.195-0.195 0.195-0.512 0-0.707z'/%3E%3C/svg%3E");
	}
}

@media only screen and (max-width: 585px) {
	.user-nav {
		position: fixed;
		right: -240px;
		height: 100%;
		width: 240px;
		background: #fff;
		z-index: 100;
		top: 0;
		bottom: 0;
		box-shadow: 0 5px 15px rgba(27, 27, 27, 0.2);
		transition: all .4s;
	}

	.user-nav.active {
		right: 0;
	}

	.user-nav .container {
		padding: 0;
	}

	.user-nav a {
		display: block;
		float: none;
		width: 100%;
		padding: 8px 10px;
		border: none;
		border-bottom: 1px solid #e5e5e5;
		text-align: left;
		color: #444;
		text-decoration: none;
	}
}

.burger {
	background: transparent;
	font-size: 0;
	line-height: 0;
	color: transparent;
	padding: 0;
	width: 54px;
	height: 54px;
	position: absolute;
	left: 0;
	top: 50%;
	transform: translateY(-50%);
	border-radius: 0;
	border: none;
	box-shadow: none;
}

@media only screen and (min-width: 585px) {
	.burger {
		display: none;
	}
}

.burger span {
	display: block;
	height: 2px;
	width: 20px;
	background: #444;
	position: absolute;
	top: 50%;
	left: 50%;
	margin-left: -10px;
	transition: all 0.4s;
	margin-top: -1px;
}

.burger span:first-of-type {
	margin-top: -6px;
}

.burger span:last-of-type {
	margin-top: 4px;
}

.burger[aria-expanded="true"] span {
	margin-top: -1px;
	transform: rotate(-45deg);
}

.burger[aria-expanded="true"] span:last-of-type {
	transform: rotate(45deg);
}


.overlay {
	-webkit-appearance: none;
	-moz-appearance: none;
	-ms-appearance: none;
	border-radius: 0;
	border: none;
	background: rgba(27, 27, 27, 0.5);
	position: fixed;
	top: 100%;
	right: 0;
	left: 0;
	width: 100vw;
	height: 100%;
	font-size: 0;
	line-height: 0;
	color: transparent;
	opacity: 0;
	transition: opacity .2s;
}

@media only screen and (min-width: 585px) {
	.overlay {
		display: none;
	}
}

.overlay[aria-expanded="true"] {
	top: 0;
	opacity: 1;
}


.person {
	display: block;
	position :absolute;
	top: 50%;
	transform: translateY(-50%);
	right: 0;
	width: 54px;
	height: 54px;
	border-radius: 0;
	border: none;
	box-shadow: none;
	padding: 0;
	background: transparent;
	font-size: 0;
	line-height: 0;
	color: transparent;
}

@media only screen and (min-width: 586px) {
	.person {
		display: none;
	}
}

.person span {
	display: block;
	background: #444;
	position: absolute;
	top: 50%;
	left: 50%;
	transition: all .3s;
}

.person span:first-of-type {
	width: 6px;
	height: 6px;
	border-radius: 50%;
	margin-top: -8px;
	margin-left: -3px;
}

.person span:last-of-type {
	width: 16px;
	height: 6px;
	margin-left: -8px;
	border-top-left-radius: 20px;
	border-top-right-radius: 20px;
	margin-top: 0;
}

.person[aria-expanded="true"] & span {
	border-radius: 0;
	height: 2px;
	width: 20px;
	margin-top: -2px;
	margin-left: -10px;
	transform: rotate(-45deg);
}

.person[aria-expanded="true"] & span:last-of-type {
	transform: rotate(45deg);
}

@media only screen and (min-width: 586px) {
	.person {
		width: 60px;
	}

	.person i {
		background: #0c376e;
	}
}














/*
----------------------------------------------------------
Main
----------------------------------------------------------
*/


#main {
	margin-top: 30px;
}



main > section {
	background: #fff;
	position: relative;
	padding: 30px;
	box-shadow: 0 3px 8px rgba(27, 27, 27, 0.08);
	border-radius: 3px;
	min-height: 262px;
}

@media only screen and (max-width: 585px) {
	main > section {
		padding: 15px;
	}
}

@media only screen and (max-width: 768px) {
	main > section {
		padding: 10px;
	}
}



main > section ol, main > section ul {
	margin: 0 0 24px 24px;
}

main > section p + ol, main > section p + ul {
	margin-top: -12px;
}











/*
----------------------------------------------------------
Footer
----------------------------------------------------------
*/






#bottom {
	background: #fff;
	padding: 40px 0;
	box-shadow: 0 -3px 8px -3px rgba(27, 27, 27, 0.08);
	margin-top: 30px;
	text-align: center;
}




.footerlinks a {
	display: inline-block;
	border-right: 1px solid #333;
	padding: 0 20px;
}

.footerlinks a:last-child {
	border-right: none;
}











/*
----------------------------------------------------------
Forms
----------------------------------------------------------
*/


.double {
	max-width: 704px;
	margin: 0 auto;
	border: 2px solid #d5045f;
	border-radius: 10px;
	padding: 10px 25px 15px;
	overflow: hidden;
}


.field,
.comment {
	clear: both;
	margin: 0 0 15px 0;
	position: relative;
}

.field.right {
	clear: none;
}

.field > label {
	display: block;
	padding: 0 0 5px 0;
	font-weight: 600;
}

.field > :last-child {
	flex: 3;
}

.field > .disp-input {
	min-height: 10px;
}

span.required:after,
.field.required > label:after {
	content: "*";
	color: red;
	font-weight: 700;
	padding-left: 2px;
}

span.essential:after,
.field.essential > label:after {
	content: "†";
	color: #0000ff;
	font-weight: 700;
	padding-left: 2px;
}

.comment {
	padding: 10px 0;
	font-weight: bold;
	text-align: center;
}

@media only screen and (min-width: 768px) {
	.single .field {
		display: flex;
		padding-left: 300px;
	}

	.single .field > label {
		position: absolute;
		left: 0;
		padding: 12px 30px 0 0;
		text-align: right;
		width: 100%;
		max-width: 300px;
	}

	.single .field.checkbox > label {
		max-width: unset;
		text-align: left;
	}

	.single .field.checklist > label {
		padding-top: 14px;
	}

	.single .field.multicheck > label {
		padding-top: 14px;
	}

	.single .field.required > label:after {
		position: absolute;
		right: 20px;
	}
}


.double .field {
	float: left;
	width: 100%;
}

.double .field.wide {
	clear: both;
}

.double .field.half {
	clear: both;
	width: calc(50% - 15px);
}

.double .field.half.right {
	clear: none;
	margin-left: 30px;
}

@media only screen and (max-width: 450px) {
	.double .field.half {
		float: none;
		width: 100%;
	}

	.double .field.half.right {
		margin-left: 0;
	}
}







.item-list {
	position: relative;
	float: left;
	clear: both;
	margin: 30px 0 20px 0;
	border: 2px solid #d5045f;
	border-radius: 10px;
	padding: 25px 10px 5px;
	width: 100%;
}

.item-list legend {
	position: absolute;
	top: -20px;
	left: 15px;
	border: 2px solid #d5045f;
	border-radius: 20px;
	background: #fff;
	padding: 0 10px;
	font-size: 16px;
}

.item-list .add-item {
	position: absolute;
	bottom: -20px;
	right: 15px;
	border: 2px solid #d5045f;
	border-radius: 20px;
	padding: 5px 10px;
}

.item-list fieldset {
	position: relative;
	margin: 0;
	border: none;
	padding: 0;
}

.item-list .delete-item {
	position: absolute;
	top: 6px;
	right: 6px;
	display: block;
	border: 2px solid #d5045f;
	border-radius: 20px;
	background: #d5045f;
	background-image: url("data:image/svg+xml,%3Csvg width='20' height='20' xmlns='http://www.w3.org/2000/svg' version='1.1' xml:space='preserve'%3E%3Cpath fill='%23fff' d='M10,8L14,4L16,6L12,10L16,14L14,16L10,12L6,16L4,14L8,10L4,6L6,4Z'/%3E%3C/svg%3E");
	width: 24px;
	height: 24px;
	color: #ffffff;
	cursor: pointer;
}

.item-list .field {
	margin-bottom: 0;
}

.item-list .field.half {
	clear: both;
	width: calc(50% - 10px);
}

.item-list .field.quarter {
	clear: both;
	width: calc(25% - 10px);
}

.item-list .field.half.right,
.item-list .field.quarter.right {
	clear: none;
	margin-left: 15px;
}



@media only screen and (max-width: 585px) {
	.item-list {
		padding: 10px 10px 5px;
	}

	.item-list {
		padding: 25px 10px;
	}
}





input,
textarea,
select,
.checklist > div,
.multicheck > div,
.faux-ctrl {
	max-width: 300px;
	width: 100%;
	border: 2px solid #ccc;
	border-radius: 3px;
	padding: 10px;
	font-size: 16px;
	line-height: 24px;
	font-family: Arial, sans-serif;
}


.checklist > div {
	padding: 10px 10px 5px 10px;
}

.multicheck > div {
	position: relative;
	min-height: 48px;
	max-height: 300px;
	overflow-y: auto;
	padding: 10px 10px 5px 10px;
}

.faux-ctrl {
	display: block;
	height: 48px;
	background: #eee;
	overflow: hidden;
}

select {
	padding-right: 28px;
	background-color: #fff;
	background-repeat: no-repeat;
	background-size: 24px 24px;
	background-position: 100% 50%;
	background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' xmlns:xlink='http://www.w3.org/1999/xlink' version='1.1' width='24' height='24' viewBox='0 0 24 24' data-tags='chevron-down'%3E%3Cg fill='%23444' transform='scale(0.0234375 0.0234375)'%3E%3Cpath d='M225.835 414.165l256 256c16.683 16.683 43.691 16.683 60.331 0l256-256c16.683-16.683 16.683-43.691 0-60.331s-43.691-16.683-60.331 0l-225.835 225.835-225.835-225.835c-16.683-16.683-43.691-16.683-60.331 0s-16.683 43.691 0 60.331z'/%3E%3C/g%3E%3C/svg%3E");
	-webkit-appearance: none;
	-moz-appearance: none;
	-ms-appearance: none;
}

select::-ms-expand {
	display: none;
}


textarea {
	max-width: none;
	height: 100px;
	resize: vertical;
}



.double .field input,
.double .field textarea,
.double .field select,
.double .field.checklist > div,
.double .field.multicheck > div,
.double .field .faux-ctrl {
	max-width: 310px;
}

.double .field.wide input,
.double .field.wide textarea,
.double .field.wide select,
.double .field.checklist > div,
.double .field.multicheck > div,
.double .field.wide .faux-ctrl {
	max-width: 650px;
}

@media only screen and (max-width: 450px) {
	.double .field input,
	.double .field textarea,
	.double .field select,
	.double .field.checklist > div,
	.double .field.multicheck > div,
	.double .field .faux-ctrl {
		max-width: unset;
	}
}


div.copy {
	position: relative;
	cursor: default;
	white-space: pre-wrap;
}

div.copy:hover {
	text-shadow: 0 0 2px #6666ff;
}

div.copy:hover:after {
	position: absolute;
	top: 2px;
	right: 2px;
	width: 16px;
	height: 16px;
	background-image: url("data:image/svg+xml,%3Csvg width='16' height='16' xmlns='http://www.w3.org/2000/svg'%3E%3Cg%3E%3Crect x='4.5' y='1.5' width='10' height='13' stroke='%23000' fill='%23fff'/%3E%3Crect x='7.5' y='0.5' width='4' height='2' stroke='%23000' fill='%23000'/%3E%3Cline x1='6' y1='4.5' x2='13' y2='4.5' stroke='%23000'/%3E%3Cline x1='6' y1='6.5' x2='13' y2='6.5' stroke='%23000'/%3E%3Cline x1='6' y1='8.5' x2='13' y2='8.5' stroke='%23000'/%3E%3Cline x1='6' y1='10.5' x2='13' y2='10.5' stroke='%23000'/%3E%3Cline x1='6' y1='12.5' x2='13' y2='12.5' stroke='%23000'/%3E%3Cpath d='m0.5,11.5l6,0l0,3l5,-5l-5,-5l0,3l-6,0l0,4z' stroke='%23fff' fill='%23000'/%3E%3C/g%3E%3C/svg%3E");
	content: '';
	z-index: 1;
}

span.regen {
	display: inline-block;
	position: relative;
	top: 2px;
	border: 2px solid #006600;
	border-radius: 5px;
	background: #009900;
	width: 18px;
	height: 17px;
}

span.regen:after {
	position: absolute;
	top: -6px;
	left: -4px;
	width: 18px;
	height: 17px;
	content: '⟳';
	color: white;
	z-index: 1;
}






input[type=radio],
input[type=checkbox] {
	position: absolute;
	left: -10000000em;
}

input[type=radio] + label,
input[type=checkbox] + label {
	position: relative;
	font-weight: 700;
	padding: 2px 0 2px 30px!important;
	margin: 0 0 5px 0;
	display: block;
}

input[type=radio] + label:before,
input[type=checkbox] + label:before {
	content: "";
	display: block;
	width: 22px;
	height: 22px;
	border-radius: 50%;
	border: 2px solid #333;
	position: absolute;
	top: 3px;
	left: 3px;
}

input[type=radio] + label:after,
input[type=checkbox] + label:after {
	content: "";
	display: block;
	width: 14px;
	height: 14px;
	border-radius: 50%;
	background: #d5045f;
	position: absolute;
	top: 7px;
	left: 7px;
	opacity: 0;
}

input[type=radio]:checked + label:after,
input[type=checkbox]:checked + label:after {
	opacity: 1;
}

input[type=checkbox] + label:before {
	border-radius: 0;
}

input[type=checkbox] + label:after {
	border-radius: 0;
	background: none;
	background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='1024' height='1024' viewBox='0 0 1024 1024'%3E%3Cg transform='scale(0.01953125 0.01953125)'%3E%3Cpath fill='%23d5045f' d='M424.653 870.298c-22.272 0-43.366-10.394-56.883-28.314l-182.938-241.715c-23.808-31.386-17.613-76.083 13.824-99.891 31.488-23.91 76.186-17.613 99.994 13.824l120.371 158.925 302.643-485.99c20.838-33.382 64.87-43.622 98.355-22.784 33.434 20.787 43.725 64.819 22.835 98.304l-357.581 573.952c-12.39 20.019-33.843 32.512-57.344 33.587-1.126 0.102-2.15 0.102-3.277 0.102z'%3E%3C/path%3E%3C/g%3E%3C/svg%3E");
	background-repeat: no-repeat;
	width: 24px;
	height: 24px;
	top: 4px;
	left: 4px;
}

input[type=radio]:focus + label,
input[type=checkbox]:focus + label {
	border-radius: 2px;
	outline: 2px solid #0060df;
}

input.date {
	background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 1024 1024'%3E%3Cpath fill='%23777' d='M298.667 85.333v42.667h-85.333c-35.328 0-67.413 14.379-90.496 37.504s-37.504 55.168-37.504 90.496v597.333c0 35.328 14.379 67.413 37.504 90.496s55.168 37.504 90.496 37.504h597.333c35.328 0 67.413-14.379 90.496-37.504s37.504-55.168 37.504-90.496v-597.333c0-35.328-14.379-67.413-37.504-90.496s-55.168-37.504-90.496-37.504h-85.333v-42.667c0-23.552-19.115-42.667-42.667-42.667s-42.667 19.115-42.667 42.667v42.667h-256v-42.667c0-23.552-19.115-42.667-42.667-42.667s-42.667 19.115-42.667 42.667zM853.333 384h-682.667v-128c0-11.776 4.736-22.4 12.501-30.165s18.389-12.501 30.165-12.501h85.333v42.667c0 23.552 19.115 42.667 42.667 42.667s42.667-19.115 42.667-42.667v-42.667h256v42.667c0 23.552 19.115 42.667 42.667 42.667s42.667-19.115 42.667-42.667v-42.667h85.333c11.776 0 22.4 4.736 30.165 12.501s12.501 18.389 12.501 30.165zM170.667 469.333h682.667v384c0 11.776-4.736 22.4-12.501 30.165s-18.389 12.501-30.165 12.501h-597.333c-11.776 0-22.4-4.736-30.165-12.501s-12.501-18.389-12.501-30.165z'%3E%3C/path%3E%3C/svg%3E");
	background-size: 18px 18px !important;
	background-repeat: no-repeat !important;
	background-position: 6px calc(50% - 2px) !important;
	padding-left: 32px;
	background-color: #fff !important;
	font-weight: 400;
}



.field .desc {
	padding-left: 15px;
	font-size: 14px;
	line-height: 22px;
	border: none;
}


.field.controls {
	display: block;
	overflow: hidden;
	margin: 20px 0 0 0;
	padding-left: 0;
}

.field.controls input[type=submit] {
	float: right;
	margin-left: 20px;
}

.field.controls div.info {
	float: right;
	margin: 12px;
}

.field.controls .btn {
	float: left;
}

.field.outer.controls {
	max-width: 704px;
	margin: 30px auto;
	overflow: hidden;
}


input[type=submit],
button,
.btn {
	display: inline-block;
	background: #d5045f;
	color: #fff;
	border-radius: 24px;
	padding: 10px 28px;
	line-height: 24px;
	border: 2px solid #d5045f;
	max-width: unset;
	width: unset;
	font-family: Arial, sans-serif;
	font-size: 16px;
	outline: none;
	transition: all .3s;
	cursor: pointer;
}

.btn + .btn {
	margin-left: 10px;
}

.btn.r + .btn.r {
	margin-left: 0;
	margin-right: 10px;
}

input[type=submit]:hover,
button:hover,
.btn:hover {
	box-shadow: none;
}




.btn {
	background: #fff;
	color: #d5045f;
	text-align: center;
	text-decoration: none;
}

h2 .btn {
	display: block;
	float: right;
	margin-top: -6px;
}

legend {
	font-size: 20px;
	font-weight: 700;
	line-height: 36px;
	margin: 0;
}

.field > .btn:last-child {
	flex: none;
}



div.alert {
	margin-bottom: 50px;
	border: 2px solid #d5045f;
	padding: 10px 20px;
	font-weight: bold;
}

div.alert a.btn {
	background: #d5045f;
	border: 2px solid #d5045f;
	color: #fff;
	font-weight: normal;
}



input[type=submit][disabled] {
	background: #ccc;
	border: 2px solid #ccc;
}


.capex-form .header {
	position: relative;
	margin: -10px -25px 10px;
	border-bottom: 2px solid #d5045f;
	background: #0c376e;
	padding: 10px 25px 6px;
	color: #ffffff;
	font-weight: bold;
	column-count: 2;
	column-gap: 20px;
}

.capex-form .header .print {
	display: block;
	position: absolute;
	top: 2px;
	right: 2px;
}

.capex-form .header .print:after {
	position: absolute;
	top: 2px;
	right: 2px;
	border: 2px solid #d5045f;
	border-radius: 7px;
	background: #ffffff;
	width: 33px;
	height: 40px;
	background-image: url("data:image/svg+xml,%3Csvg width='30' height='36' xmlns='http://www.w3.org/2000/svg' version='1.1' xml:space='preserve'%3E%3Cpath d='m25.5,8.5l-5,0l0,-5l-17,0l0,28l22,0l0,-23l-5,-5' stroke-width='1' stroke='%23000' fill='none'/%3E%3Cline x1='6.5' y1='7.5' x2='17.5' y2='7.5' stroke-width='1' stroke='%23000'/%3E%3Cline x1='6.5' y1='9.5' x2='17.5' y2='9.5' stroke-width='1' stroke='%23000'/%3E%3Cline x1='6.5' y1='11.5' x2='22.5' y2='11.5' stroke-width='1' stroke='%23000'/%3E%3Cline x1='6.5' y1='21.5' x2='22.5' y2='21.5' stroke-width='1' stroke='%23000'/%3E%3Cline x1='6.5' y1='23.5' x2='22.5' y2='23.5' stroke-width='1' stroke='%23000'/%3E%3Cline x1='6.5' y1='25.5' x2='22.5' y2='25.5' stroke-width='1' stroke='%23000'/%3E%3Cline x1='6.5' y1='27.5' x2='22.5' y2='27.5' stroke-width='1' stroke='%23000'/%3E%3Ctext xml:space='preserve' text-anchor='start' font-family='sans-serif' font-size='8' stroke-width='0' x='6.5' y='20' stroke='%23000' fill='%23000000'%3EPDF%3C/text%3E%3C/svg%3E");
	content: '';
}

.capex-form .header div {
	margin-bottom: 4px;
}

.capex-form .header div span {
	display: inline-block;
	width: 100px;
}


@media only screen and (max-width: 585px) {
	#capexes_form {
		border: none;
		padding: 0;
	}

	.capex-form .header {
		margin: 0 0 20px;
		border-radius: 10px;
		border-bottom: none;
		background: #0c376e;
		padding: 6px 10px 4px;
		color: #ffffff;
		font-weight: bold;
		column-count: 1;
	}

	.capex-form .header div {
		margin-bottom: 2px;
	}

	.capex-form .field.controls input[type=submit],
	.capex-form .field.controls button,
	.capex-form .field.controls .btn {
		display: block;
		float: none;
		margin: 10px 0 0 0;
		max-width: unset;
		width: 100%;
	}
}





#capexes_form:not(.view) fieldset#line_items {
	margin-bottom: 40px;
	padding-bottom: 25px;
}

#capexes_form fieldset#line_items fieldset {
	position: relative;
	margin: 0;
	border: none;
	padding: 0;
}

#capexes_form fieldset#line_items fieldset .delete-item {
	top: 10px;
	right: -25px;
}

#capexes_form fieldset#line_items fieldset textarea {
	height: 47px;
	resize: vertical;
}


#capexes_form fieldset#attachments .attachment {
	position: relative;
	margin: 10px 0 10px;
	border: 2px solid #d5045f;
	border-radius: 10px;
	padding: 5px 35px 5px 10px;
}

#capexes_form fieldset#attachments input[type="file"] {
	border: none;
}

#capexes_form div.description {
	font-size: 75%;
}



@media only screen and (max-width: 585px) {
	#capexes_form fieldset#line_items fieldset {
		padding: 25px 10px 0 10px;
	}

	#capexes_form fieldset#attachments {
		padding: 25px 10px 5px;
	}

	#capexes_form fieldset#attachments div {
		padding: 5px 10px;
	}
}



#capexes_share_form fieldset#viewers {
	margin-bottom: 40px;
	padding-bottom: 25px;
}

#capexes_share_form fieldset#viewers .line-item {
	margin-bottom: 10px;
	padding-left: 150px;
	padding-right: 150px;
}

#capexes_share_form fieldset#viewers .delete-item {
	top: 10px;
	right: 150px;
}



#capex_manage_form {
	margin: 0 auto 50px;
	max-width: 704px;
}






/* Filter form */

.filter {
	margin-bottom: 5px;
	overflow: hidden;
}

.filter .inline-field {
	display: block;
	float: left;
	padding-right: 4px;
	width: calc(100% - 205px);
	max-width: 300px;
}

.filter .inline-field label {
	display: block;
	font-weight: 700;
	padding-bottom: 4px;
}

.filter > input,
.filter > a {
	display: block;
	float: left;
	margin-top: 28px;
}

.filter > input + a,
.filter > a + a {
	margin-left: 4px;
}

.filter + .desc {
	margin-bottom: 15px;
}


.faux-filter {
	margin-bottom: 15px;
	text-align: center;
}




#pre-filter {
	margin-bottom: 15px;
	overflow: hidden;
}

#pre-filter:after {
}

#pre-filter .filter-field {
	display: block;
	float: left;
	padding: 0 4px 0 0;
}

#pre-filter input[type="submit"] {
	display: block;
	float: left;
}

#pre-filter .field-state {
	width: 140px;
}

#pre-filter .field-loc {
	width: calc(100% - 675px);
}

#pre-filter .field-type {
	width: 185px;
}

#pre-filter .field-date {
	width: 125px;
}

#pre-filter .filter-field label {
	font-weight: 700;
	padding-bottom: 4px;
	display: block;
}

#pre-filter > input {
	margin-top: 28px;
}

@media only screen and (max-width: 940px) {
	#pre-filter .field-loc,
	#pre-filter .field-cat {
		width: calc(50% - 245px);
	}
}

@media only screen and (max-width: 860px) {
	#pre-filter .field-loc,
	#pre-filter .field-cat {
		width: calc(50% - 87px);
	}

	#pre-filter .filter-field {
		margin-bottom: 5px;
	}
}

@media only screen and (max-width: 550px) {
	#pre-filter .filter-field {
		width: 100%;
	}

	#pre-filter > input {
		margin-top: 10px;
	}
}




#range-filter {
	position: -webkit-sticky;
	position: sticky;
	bottom: 0;
	border-top: 1px solid #eee;
	background: #fff;
	padding: 10px 0;
}

#range-filter span {
	display: inline-block;
	margin-right: 20px;
}

#range-filter span * {
	display: inline-block;
}

#range-filter span #range {
	width: 75px;
}





@media only screen and (max-width: 932px) {
	#key {
		float: none;
	}
}












/*
----------------------------------------------------------
Tables
----------------------------------------------------------
*/

main table {
	width: 100%;
	border-collapse: separate;
}

main table td,
main table th {
	text-align: left;
}
/*
main table tr > :first-child {
	padding-left: 0;
}

main table > :last-child {
	padding-right: 0;
}
*/

/*
Should be this, but Chrome doesn't play nice:

main table thead {
	position: -webkit-sticky;
	position: sticky;
	top: 135px;
	background: #fff;
}
*/

main table thead th {
	position: -webkit-sticky;
	position: sticky;
	top: 135px;
	background: #fff;
	border-bottom: 2px solid #d5045f;
	padding: 12px 10px;
	font-weight: 700;
	vertical-align: bottom;
	z-index: 4;
}

main table thead tr + tr th {
	top: 170px;
}

main table.static thead th {
	position: static;
}

main table thead th a {
	color: #444;
	text-decoration: none;
}

main table tbody tr {
}

main table tbody th,
main table tbody td {
	padding: 16px 10px;
	border-bottom: 1px solid #eee;
	z-index: 2;
}

main table > tbody > tr:last-child > th,
main table > tbody > tr:last-child > td {
	border-bottom: none;
}

main table tr.new {
	background: #e8e8ff;
}

main table tr.internal {
	color: #d5045f;
}


main table th.bl,
main table td.bl {
	border-left: 2px solid #d5045f;
}

main table th.nb,
main table td.nb {
	border-bottom: none;
}

td.error {
	color: #ff3b30;
	font-weight: bold;
}


table.grid {
	margin-bottom: 20px;
	border: 1px solid #e8e8e8;
	-moz-box-shadow: 0 1px 3px rgba(0,0,0,.4);
	-webkit-box-shadow: 0 1px 3px rgba(0,0,0,.4);
	box-shadow: 0 1px 3px rgba(0,0,0,.4);
	width: 100%;
}

table.grid colgroup col:nth-child(even) {
	background: rgba(0, 0, 0, 0.05);
}

table.grid thead tr {
	background: #ccc;
}

table.grid thead tr th,
table.grid tbody tr th {
	padding: 8px 24px 8px 8px;
	text-align: left;
	vertical-align: middle;
	font-weight: 600;
}

table.grid thead tr th.num,
table.grid tbody tr th.num,
table.grid tbody tr td.num {
	text-align: right;
}

table.grid tbody tr td.num {
	padding-right: 25px;
}

table.grid t.grid thead tr th[colspan] {
	position: relative;
	text-align: center;
}

table.grid thead tr th[colspan]:after {
	position: absolute;
	right: 8px;
	bottom: 0px;
	left: 8px;
	border-bottom: 1px solid rgba(0, 0, 0, 0.1);
	content: '';
}

table.grid tbody tr {
	background: #fff;
}

table.grid tbody tr:nth-of-type(even) {
	background: #eee;
}

table.grid tbody tr td {
	background: inherit;
	padding: 8px;
	font-size: 14px;
	line-height: 22px;
	vertical-align: middle;
}

table.grid tbody tr td:first-child,
table.grid tbody tr td span {
	white-space: pre;
}

table.grid#capex_manage_list tbody tr td:first-child {
	white-space: pre-wrap;
}

table.grid tbody tr td:last-child {
	padding-bottom: 3px;
}

table.grid tbody tr td:last-child a {
	display: inline-block;
	margin: 0 5px 5px 0;
	border: 1px solid #d5045f;
	border-radius: 15px;
	padding: 0 10px;
	color: #d5045f;
	text-decoration: none;
	white-space: pre;
}

table.grid tbody tr td:last-child span {
	display: inline-block;
	margin: 0 5px 5px 0;
	border: 1px solid #666666;
	border-radius: 15px;
	padding: 0 10px;
	color: #666666;
	cursor: default;
}

table.grid tbody tr td:last-child a:last-child,
table.grid tbody tr td:last-child span:last-child {
	margin-right: 0;
}

table.grid.job {
	table-layout: fixed;
	width: 100%;
}

table.grid table.grid {
	margin-left: 100px;
	margin-bottom: 0;
}

table.grid.job tbody tr th {
	width: 200px;
	vertical-align: top;
}

table.grid.job tbody tr td > span {
	display: block;
	width: 100%;
	overflow-x: hidden;
	overflow-y: hidden;
	white-space: pre-wrap;
}

table.grid.log tbody tr td {
	white-space: pre;
	vertical-align: top;
}

table.grid.log tbody tr td:last-child {
	white-space: pre-wrap;
}

table.mini {
	width: auto;
	margin-bottom: 50px;
	border: 2px solid #d5045f;
}

table.mini thead th,
table.mini tbody td {
	padding: 5px 10px;
	border-bottom: 1px solid #eee;
}


table caption {
	caption-side: bottom;
	text-align: left;
	font-size: 14px;
}



table.filters th > span {
	position: relative;
	cursor: pointer;
	user-select: none;
}

table.filters th > span:after {
	position: absolute;
	top: 1px;
	right: -16px;
	width: 15px;
	height: 16px;
	background-image: url("data:image/svg+xml,%3Csvg width='15' height='16' xmlns='http://www.w3.org/2000/svg' xml:space='preserve' version='1.1'%3E%3Cpath d='M0.5,0.5L14.5,0.5L9.5,7.5L9.5,15.5L6.5,12.5L6.5,7.5L0.5,0.5z' stroke='%23000' fill='transparent'/%3E%3C/svg%3E");
	content: '';
}

table.filters th > span.used:after {
	background-image: url("data:image/svg+xml,%3Csvg width='15' height='16' xmlns='http://www.w3.org/2000/svg' xml:space='preserve' version='1.1'%3E%3Cpath d='M3.5,3.5L12.5,3.5L9.5,7.5L9.5,15.5L6.5,12.5L6.5,7.5L0.5,0.5z' stroke='transparent' fill='%2366f'/%3E%3Cpath d='M0.5,0.5L14.5,0.5L9.5,7.5L9.5,15.5L6.5,12.5L6.5,7.5L0.5,0.5z' stroke='%23000' fill='transparent'/%3E%3C/svg%3E");
}

table.filters th > span + div {
	display: none;
	position: absolute;
	top: 40px;
	left: 0;
	border: 2px solid #d5045f;
	-moz-box-shadow: 0 1px 3px rgba(0,0,0,.4);
	-webkit-box-shadow: 0 1px 3px rgba(0,0,0,.4);
	box-shadow: 0 1px 3px rgba(0,0,0,.4);
	background: #fff;
	white-space: nowrap;
}

table.filters th > span.open + div {
	display: block;
}

table.filters th > span + div > div {
	position: relative;
	padding: 0 6px 1px 4px;
	max-height: 300px;
	overflow-x: hidden;
	overflow-y: auto;
}

table.filters th > span + div > div label:last-of-type {
	margin-bottom: 0;
}

table.filters th > span + div > span {
	display: block;
	position: absolute;
	bottom: -9px;
	right: -9px;
	width: 16px;
	height: 16px;
	border: 2px solid #d5045f;
	background-color: #fff;
	background-image: url("data:image/svg+xml,%3Csvg width='11' height='11' xmlns='http://www.w3.org/2000/svg' xml:space='preserve' version='1.1'%3E%3Cline fill='none' stroke='%23000' x1='1.5' y1='6.5' x2='5.5' y2='10.5'/%3E%3Cline fill='none' stroke='%23000' x1='5.5' y1='10.5' x2='10.5' y2='1.5'/%3E%3C/svg%3E");
}


table.inner {
	border: 1px solid #e8e8e8;
	-moz-box-shadow: 0 1px 3px rgba(0,0,0,.4);
	-webkit-box-shadow: 0 1px 3px rgba(0,0,0,.4);
	box-shadow: 0 1px 3px rgba(0,0,0,.4);
	width: 100%;
}

table.inner thead th {
	background: #fff;
	border-bottom: 2px solid #d5045f;
	padding: 12px 10px;
	font-weight: 700;
	vertical-align: bottom;
}





tr a.link-frob {
	position: relative;
	padding-right: 25px !important;
	z-index: 0;
}

tr a.link-frob:after {
	position: absolute;
	top: 0px;
	right: 5px;
	content: '▼';
}

tr.open a.link-frob:after {
	content: '▲';
}

tr + tr.links {
	display: none;
}

tr.open + tr.links {
	display: table-row;
}




.capex-notes {
	margin: 50px auto 0;
	border: 2px solid #0c376e;
	border-radius: 10px;
	padding: 10px;
	max-width: 704px;
}

.capex-notes h2 {
	margin: -10px -10px 10px;
	border-bottom: 2px solid #0c376e;
	padding: 6px 20px 6px;
	color: #d5045f;
	font-weight: bold;
}

.capex-notes table th {
	padding-top: 0;
	font-weight: bold;
}




/*
----------------------------------------------------------
Pager
----------------------------------------------------------
*/

p.pager {
	position: -webkit-sticky; /* Safari */
	position: sticky;
	bottom: 0;
	border-top: 1px solid #eee;
	background: #fff;
	padding: 20px 0 10px 0;
	width: 100%;
	text-align: center;
}

.subfilter + p.pager {
	bottom: 69px;
	margin-bottom: 0;
	padding-bottom: 18px;
}

p.pager:last-child {
	margin-bottom: 0;
}

p.pager a,
p.pager span {
	display: inline-block;
	margin: 0 4px;
	border: 1px solid #ccc;
	border-radius: 4px;
	width: 50px;
	padding: 2px 6px;
	text-align: center;
	text-decoration: none;
}

p.pager span {
	border: 1px solid #eee;
	color: #ccc;
	cursor: default;
}

p.pager span.curr {
	border: 1px solid #ccc;
	color: #0c376e;
	font-weight: 900;
}

p.pager a:focus,
p.pager a:hover {
	background: #eee;
}

p.pager.expand a,
p.pager.expand span {
	width: auto;
}










/*
----------------------------------------------------------
Messages
----------------------------------------------------------
*/

.messages {
	margin: 0 0 15px 0;
	padding: 0;
}

.messages li {
	position: relative;
	margin: 5px 0;
	box-shadow: 0 3px 8px rgba(27, 27 ,27, 0.08);
	border: 1px solid #e8e8e8;
	border-radius: 3px;
	border-left-width: 4px;
	border-left-color: #0077ff;
	background: #fff;
	padding: 6px 20px;
	color: #0077ff;
	list-style-type: none;
}

.messages li.error {
	border-left-color: #ff3333;
	color: #ff3333;
}

.messages li.message {
	border-left-color: #009933;
	color: #009933;
}

.messages li.warning {
	border-left-color: #ddcc00;
	color: #ddcc00;
}









/*
----------------------------------------------------------
Login
----------------------------------------------------------
*/


.login main {
	max-width: 350px;
	margin: 0 auto;
	padding: 15px;
}

.login main .field {
	padding-left: 0;
	display: block;
}

.login main .field label {
	padding: 0 0 5px 0;
	position: relative;
	text-align: left;
	display: block;
}

.login main .field label:after {
	position: relative;
	right: auto;
}

.login main .field.controls {
	padding-top: 0;
}












/*
----------------------------------------------------------
Tabs
----------------------------------------------------------
*/

.actions {
	position: relative;
	clear: both;
	overflow: hidden;
}

.actions > div {
	float: left;
}

.tabs {
	position: relative;
	margin: 0 0 0 5px;
}

.tabs.right-tabs {
	float: right;
	margin: 0 5px 0 0;
}

.tabs a {
	display: inline-block;
	box-shadow: inset 0 -3px 8px -3px rgba(27, 27, 27, 0.2);
	border: none;
	border-radius: 0;
	border-top-left-radius: 3px;
	border-top-right-radius: 3px;
	background: #fff;
	padding: 10px 24px;
	color: #d5045f;
	font-weight: 700;
	text-decoration: none;
}

.tabs a.current {
	color: #0c376e;
	background: #fff;
	box-shadow: none;
}









/*
----------------------------------------------------------
Link grid
----------------------------------------------------------
*/

div.linkgrid {
	border: 2px solid #0c376e;
	padding: 5px;
	column-count: 4;
	column-gap: 5px;
}

div.linkgrid a {
	display: flex;
	align-items: center;
	margin: 0 0 5px 0;
	border: 2px solid #0c376e;
	background: url("data:image/svg+xml,%3Csvg width='50' height='50' xmlns='http://www.w3.org/2000/svg' xml:space='preserve' version='1.1'%3E%3Crect fill='%23d5045f' x='0' y='0' width='50' height='50'/%3E%3Cellipse fill='%23ffffff' cx='7.5' cy='10' rx='2.5' ry='2.5'/%3E%3Crect fill='%23ffffff' x='15' y='7.5' width='27.5' height='5'/%3E%3Cellipse fill='%23ffffff' cx='7.5' cy='20' rx='2.5' ry='2.5'/%3E%3Crect fill='%23ffffff' x='15' y='17.5' width='27.5' height='5'/%3E%3Cellipse fill='%23ffffff' cx='7.5' cy='30' rx='2.5' ry='2.5'/%3E%3Crect fill='%23ffffff' x='15' y='27.5' width='27.5' height='5'/%3E%3Cellipse fill='%23ffffff' cx='7.5' cy='40' rx='2.5' ry='2.5'/%3E%3Crect fill='%23ffffff' x='15' y='37.5' width='27.5' height='5'/%3E%3C/svg%3E") no-repeat left;
	height: 50px;
	width: 100%;
	padding: 5px 10px 5px 60px;
	break-inside: avoid-column;
	color: #0c376e;
	font-weight: bold;
	text-decoration: none;
	line-height: 17px;
}

div.linkgrid a:hover {
	border: 2px solid #d5045f;
	color: #d5045f;
}

@media only screen and (max-width: 585px) {
	div.linkgrid {
		column-count: 3;
	}
}

@media only screen and (max-width: 768px) {
	div.linkgrid {
		column-count: 2;
	}
}

@media only screen and (max-width: 550px) {
	div.linkgrid {
		column-count: 1;
	}
}







/*
----------------------------------------------------------
Home
----------------------------------------------------------
*/


.announce {
	margin-bottom: 50px;
	border: 4px solid #ff3b30;
	padding: 2px 10px;
}


.home form#home-form-initial {
	overflow: hidden;
	margin-bottom: -30px;
}


.home button[name="type"] {
	display: block;
	float: left;
	position: relative;
	box-shadow: 0 3px 8px rgba(27, 27, 27, 0.08);
	margin: 0 30px 30px 0;
	border-radius: 3px;
	border-width: 1px;
	background: #fff;
	width: calc((100% - 90px) / 4);
	padding: 140px 10px 40px 10px;
	color: #d5045f;
	transition: all .3s;
}

.home button[name="type"]:hover {
	box-shadow: 0 5px 15px rgba(27, 27, 27, 0.08);
	background: #fff;
}

.home button[name="type"]:nth-of-type(4n),
.home button[name="type"]:last-of-type {
	margin-right: 0;
}

.home button[name="type"]:before {
	content: "";
	display: block;
	width: 200px;
	height: 200px;
	max-width: 40%;
	max-height: 40%;
	background-repeat: no-repeat;
	background-size: auto;
	background-position: center center;
	position: absolute;
	top: 50%;
	left: 50%;
	transform: translateX(-50%) translateY(-50%);
	margin-top: -30px;
}


@media only screen and (max-width: 768px) {
	.home button[name="type"] {
		width: calc((100% - 30px) / 2);
	}

	.home button[name="type"]:nth-of-type(2n),
	.home button[name="type"]:last-of-type {
		margin-right: 0;
	}
}


@media only screen and (max-width: 550px) {
	.home button[name="type"] {
		padding: 70px 10px 20px 10px;
	}

	.home button[name="type"]:before {
		margin-top: -20px;
	}
}



div.intro {
	margin-bottom: 30px;
}













/*
----------------------------------------------------------
Misc
----------------------------------------------------------
*/

a.download {
	text-decoration: none;
}

a.download:before {
	display: inline-block;
	margin-right: 5px;
	border: 1px solid #d5045f;
	border-radius: 3px;
	padding: 0;
	width: 15px;
	height: 15px;
	font-size: 13px;
	line-height: 13px;
	content: '▼';
	text-align: center;
	vertical-align: baseline;
	text-decoration: none!important;
}

div.extra {
	margin: 0 0 60px 0;
	text-align: center;
}

div.extra a.download {
	border: 2px solid #cccccc;
	border-radius: 3px;
	padding: 10px;
}






/*
----------------------------------------------------------
Help
----------------------------------------------------------
*/

div.help_file {
	margin: 20px 0 0 0;
	border: 1px solid #0c376e;
	border-radius: 10px;
	padding: 10px;
}

div.help_file h2 {
	line-height: normal;
}

div.help_file h2 a.download:before {
	position: relative;
	top: -2px;
	margin-right: 10px;
	border: 2px solid #d5045f;
	border-radius: 5px;
	width: 21px;
	height: 21px;
	font-size: 18px;
	line-height: 18px;
}

span.filedesc {
	padding-left: 10px;
	font-size: 60%;
	font-weight: normal;
}








/*
----------------------------------------------------------
Popup control
----------------------------------------------------------
*/


#popup {
	display: none;
	position: fixed;
	top: 0px;
	left: 0px;
	background: rgba(0, 0, 0, 0.85);
	width: 100%;
	height: 100vh;
	z-index: 100;
}

#popup > div {
	position: absolute;
	top: 50%;
	left: 50%;
	transform: translateX(-50%) translateY(-50%);
	border: 5px solid #0c376e;
	background: #eee;
	padding: 10px;
}

#popup > div > span {
	display: block;
	position: absolute;
	top: -9px;
	right: -9px;
	width: 16px;
	height: 16px;
	border: 2px solid #d5045f;
	background-color: #fff;
	background-image: url("data:image/svg+xml,%3Csvg width='11' height='11' xmlns='http://www.w3.org/2000/svg' xml:space='preserve' version='1.1'%3E%3Cline fill='none' stroke='%23000' x1='1.5' y1='1.5' x2='10.5' y2='10.5'/%3E%3Cline fill='none' stroke='%23000' x1='1.5' y1='10.5' x2='10.5' y2='1.5'/%3E%3C/svg%3E");
}

#popup h3 {
	margin: 0;
}

#popup button {
	display: block;
	margin: 10px 0 0;
	width: 100%;
	font-family: inherit;
	font-size: inherit;
}









/*
----------------------------------------------------------
Note block
----------------------------------------------------------
*/

div.note {
	margin: 40px auto 0 auto;
	border: 1px solid #000;
	box-shadow: 3px 3px 3px rgba(27, 27, 27, 0.08);
	max-width: 350px;
	padding: 5px 15px;
	text-align: center;
}

div.note h2 {
	margin: 0 0 5px;
}

div.note.imp h2 {
	color: #f00;
}

div.note p {
	margin: 0 0 10px;
}

div.note p:last-child {
	margin-bottom: 0;
}

div.note.imp p {
	font-style: italic;
}

div.note a {
	color: #0c376e;
}

div.note.imp a {
	font-style: normal;
}











/*
----------------------------------------------------------
Progress bar
----------------------------------------------------------
*/


#progress {
	margin: 2px 0 0 0;
	width: 202px;
	border: 1px solid black;
	height: 12px;
}

#progress div {
	margin: 0;
	background: #d5045f;
	border: none;
	width: 0px;
	height: 10px;
}












/*
----------------------------------------------------------
Admin sidebar
----------------------------------------------------------
*/




aside.sidebar {
	float: right;
	margin: -15px -15px -15px 20px;
	border-left: 2px solid #eee;
	border-bottom: 2px solid #eee;
	width: 250px;
	padding: 15px 15px 0 15px;
}

aside.sidebar a.blk {
	display: block;
	margin: 0 0 15px 0;
	background: #eee;
	padding: 5px;
	text-decoration: none;
}

aside.sidebar a.blk:hover {
	background: #eee;
}



canvas {
	border: 2px solid #eee;
	margin: 0 10px 10px 0;
}














/*
----------------------------------------------------------
Ad-hoc extras
----------------------------------------------------------
*/


#ot-sdk-btn {
	font-size: 1em !important;
		color: blue;
		background: none;
		margin: 0;
		padding: 0;
		border: none;
		cursor: pointer;
		text-decoration: underline;
}


table.capn-table {
	margin-bottom: 24px;
}


table.capn-blocks {
	margin-bottom: 24px;
}

table.capn-blocks td {
	width: 25%;
	padding: 12px;
	text-align: center;
	vertical-align: middle;
}


table.capn-3up {
	margin-bottom: 24px;
}

table.capn-3up th,
table.capn-3up td {
	text-align: left;
	vertical-align: top;
}

table.capn-3up th {
	vertical-align: bottom;
}

table.capn-3up th:first-child,
table.capn-3up td:first-child {
	width: 210px;
}

table.capn-3up th:last-child,
table.capn-3up td:last-child {
	width: 105px;
}

table.capn-3up td:last-child {
	text-align: left;
}





/* Overrides to get the stupid privacy policy injected block to look anywhere decent */

.otnotice-content {
	margin: 0!important;
	padding: 0!important;
}

.otnotice-menu {
	position: static!important;
	margin-left: 0!important;
}

.otnotice-sections {
	margin: -860px 0 0 320px!important;
}

@media only screen and (max-width:767px) {
	.otnotice-sections {
		margin: 0!important;
	}

	.otnotice-sections > .otnotice-section > h2.otnotice-section-header {
		margin: 0!important;
	}

	.otnotice-sections > .otnotice-section > .otnotice-section-content {
		margin: 0!important;
	}
}
