.box-link, a.box-link, a.box-link:visited {
	display:					inline-block;
	height:						auto;
	padding-left:				12px;
	padding-right:				12px;
	border-radius:				3em;
	font-weight:				normal;
	text-decoration:			none;
	color:						inherit;
	background-color:			rgba(0, 0, 0, 0.15);
	cursor:						default;
	-webkit-user-select:		none;
	-moz-user-select:			none;
	-ms-user-select:			none;
	user-select:				none;
	}
.box-link + .box-link, .box-label + .box-link, .box-link + .box-label {
	margin-left:				10px;
	}
.box-link:hover {
	background-color:			rgba(0, 0, 0, 0.25);
	}



form.impression .text-line label {
	display:					inline-block;
	width:						8em;
	}
form.impression .text-line label span.optional {
	display:					none;
	}
form.impression label span.example {
	color:						#888;
	}
form.impression span.optional {
	color:						#888;
	}
form.impression p {
	margin:						0 0 8px 0;
	}
form.impression input[type="text"], form.impression input[type="password"], form.impression textarea {
	-webkit-appearance:			none;
	border-radius:				5px;
	padding:					4px 6px;
	background-color:			#fff;
	border:						1px solid #ccc;
	box-shadow:none;
	}
form.impression input[type="text"]:focus, form.impression input[type="password"]:focus, form.impression textarea:focus {
	background-color:			#fff4aa;
	border:						1px solid #999;
	outline:					none;
	}
form.impression input#firstname, form.impression input#lastname {
	width:						15em;
	}
form.impression input#email {
	width:						24em;
	}
form.impression p.checkbox-line {
	margin-left:				24px;
	}
form.impression p.checkbox-line input[type="checkbox"] {
	vertical-align:				top;
	width:						14px;
	margin:						5px 8px 0 -24px;
	}
form.impression p.checkbox-line label {
	width:						auto;
	vertical-align:				top;
	display:					inline-block;
	}
form.impression .characters-remaining {
	font-size:					90%;
	color:						#888;
	margin:						8px 0 0 0;
	}
form.impression .button-bar {
	margin-top:					20px;
	}
form.impression .button-bar svg.impression.spinner {
	display: 					none;
	}
form.impression.processing .button-bar svg.impression.spinner {
	display:					inline-block;
	width:						36px;
	vertical-align:				middle;
	margin:						-2px 0 -4px 1.5em;
	}
form.impression .button-bar svg.impression.spinner circle {
	stroke:						#666;
	}


@media screen and (max-width: 500px) {
	form.impression label span.optional {
		display:					inline;
		}
	form.impression p.text-line > span.optional {
		display:					none;
		}
	form.impression p label {
		display:					block;
		width:						auto;
		}
	form.impression input#email, form.impression textarea {
		width:						19em;
		max-width:					100%;
		}
	}



form.sign-in a.forgot-password {
	margin-left:				1em;
	opacity:					0.5;
	color:						inherit;
	}
form.sign-in a.forgot-password:hover {
	opacity:					1;
	}



.lightbox {
	position:					fixed;
	top:						0;
	left:						0;
	width:						100%;
	height:						100%;
	background-color:			rgba(0, 0, 0, 0.4);
	z-index:					10000;
	font-family:				-apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, Helvetica, Arial, sans-serif, "Apple Color Emoji", "Segoe UI Emoji", "Segoe UI Symbol";
	font-size:					14px;
	}
.lightbox .container {
	position:					absolute;
	width:						100%;
	}
.lightbox .container .box {
	width:						500px;
	margin:						0 auto;
	padding:					4px 20px;
	background-color:			#f2f2f2;
	border-radius:				5px;
	box-shadow:					1px 1px 25px rgba(0, 0, 0, 0.4);
	}
.lightbox .container .box h2 {
	text-align:					center;
	font-size:					20px;
	line-height:				200%;
	}
.lightbox .container .box .button-row {
	padding:					20px 0 15px 0;
	text-align:					right;
	}
.lightbox .container .box .button-row .buttonlink {
	min-width:					6em;
	}
.lightbox .container .box.waiting {
	height:						150px;
	text-align:					center;
	}
.lightbox .container .box.waiting p {
	text-align:					center;
	font-size:					18px;
	font-weight:				500;
	padding:					30px 0 20px 0;
	margin:						0;
	}
.lightbox .header h2 {
	margin:						0;
	padding:					10px 0 2px 0;
	}
.lightbox .section {
	margin:						0 -20px;
	padding:					12px 20px 8px 20px;
	}
.lightbox .section table {
	margin:						0 auto;
	font-size:					inherit;
	}
.lightbox input.text {
	background-color:			#fff;
	border:						1px solid #aaa;
	margin:						5px 8px;
	min-width:					240px;
	border-radius:				3px;
	padding:					5px 6px;
	background-clip:			padding-box;
	}
.lightbox input.text:focus {
	outline:					none;
	border:						1px solid #555;
	}


svg.impression.spinner {
	animation:					2s linear infinite impression-spinner-animation;
	}
@keyframes impression-spinner-animation {
	0%							{transform: rotateZ(0deg);}
	100%						{transform: rotateZ(360deg)}
	}
svg.impression.spinner circle {
	animation:					1.4s ease-in-out infinite both impression-circle-animation;
	display:					block;
	fill:						transparent;
	stroke:						#444;
	stroke-width:				10px;
	stroke-linecap:				round;
	stroke-dasharray:			283;
	stroke-dashoffset:			280;
	transform-origin:			50% 50%;
	}
@keyframes impression-circle-animation {
	0%, 25%						{stroke-dashoffset: 280; transform: rotate(0);}
	50%, 75%					{stroke-dashoffset: 75; transform: rotate(45deg);}
	100%						{stroke-dashoffset: 280; transform: rotate(360deg);}
	}



.lightbox svg.spinner {
	width:						48px;
	}
.lightbox svg.spinner.submit {
	float:						right;
	width:						32px;
	margin:						20px 5px 0 -37px;
	display:					none;
	}
.lightbox svg.spinner.submit.waiting {
	display:					block;
	}


@media screen and (max-width: 500px) {
	body.lightbox-open {
		background-color:			#f2f2f2;
		-webkit-overflow-scrolling:	touch;
		}
	body.lightbox-open > article {
		display:					none;
		}
	.lightbox {
		position:					static;
		background-color:			#f2f2f2;
		width:						100%;
		}
	.lightbox .container {
		position:					static;
		width:						100%;
		}
	.lightbox .container .box {
		position:					static;
		box-sizing:					border-box;
		width:						100vw;
		max-width:					100vw;
		margin:						0;
		padding:					0 15px;
		background-color:			#f2f2f2;
		border-radius:				none;
		box-shadow:					none;
		}
	.lightbox .container .box > h1, .lightbox .container .box > h2, .lightbox .container .box > .header {
		margin:						0 -15px;
		padding:					0 15px;
		line-height:				50px;
		color:						#000;
		background-color:			#f2f2f2;
		border-bottom:				1px solid #ddd;
		}
	.lightbox .container .box > .header > h1, .lightbox .container .box > .header > h2 {
		margin:						0;
		padding:					0;
		font-size:					18px;
		}
	.lightbox .section {
		margin:						0;
		padding:					12px 15px 8px 15px;
		}
	.lightbox .section:first-child {
		margin-top:					0;
		border-top:					none;
		}
	.lightbox .section:nth-child(odd) {
		background-color:			#eee;
		}
	}


.cms .button {
	display:					inline-block;
	box-sizing:					border-box;
	min-width:					120px;
	padding:					0 10px;
	line-height:				32px;
	text-align:					center;
	border-radius:				4px;
	background-color:			#27f;
	color:						#fff;
	box-shadow:					0 0 5px rgba(0, 0, 0, 0.1);
	cursor:						default;
	-webkit-user-select:		none;
	-moz-user-select:			none;
	-ms-user-select:			none;
	user-select:				none;
	font-family:				-apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, Helvetica, Arial, sans-serif, "Apple Color Emoji", "Segoe UI Emoji", "Segoe UI Symbol";
	}
.cms .button:hover {
	background-color:			#05f;
	box-shadow:					0 0 5px rgba(0, 0, 0, 0.2);
	}
.cms .button:active {
	background-color:			#03f;
	}
.cms .button + .button {
	margin-left:				15px;
	}
