/**
 * Eric Meyer's Reset CSS v2.0 (http://meyerweb.com/eric/tools/css/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, hr,
dl, dt, dd, ol, ul, li,
fieldset, form, label, legend,
table, caption, tbody, tfoot, thead, tr, th, td,
main, 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;
}

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

* {
	-webkit-box-sizing: border-box;
	-moz-box-sizing: border-box;
	box-sizing: border-box;
}

html {
	font-size: 62.5%;
	text-align: left;
}

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

th {
	text-align: inherit;
}

li {
	list-style-type: none;
}

a {
	color: inherit;
	text-decoration: inherit;
	outline: 0;
}

input,
textarea,
button,
select {
	margin: 0;
	padding: 0;
	font-family: inherit;
	font-size: inherit;
	font-weight: inherit;
	color: inherit;
}

input,
textarea {
	-moz-user-select: text;
}

textarea {
	line-height: inherit;
	resize: none;
}

a,
button,
select,
input[type=submit],
input[type=checkbox] {
	cursor: pointer;
}

a:disabled,
button:disabled,
select:disabled,
input[type=submit]:disabled,
input[type=checkbox]:disabled {
	cursor: auto;
}

button::-moz-focus-inner,
input::-moz-focus-inner {
	padding: 0;
	border: 0;
}

blockquote,
q {
	quotes: none;
}

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

[hidden] {
	display: none !important;
}

td[hidden] {
	display: table-cell !important;
	visibility: hidden;
}

fieldset {
	min-width: 0;
}

@-moz-document url-prefix() {
	fieldset {
		display: table-cell;
	}
}

@font-face {
	font-family: "Aino";
	font-weight: normal;
	font-style: normal;
	src: url("/assets/aino-regular.eot");
	src: url("/assets/aino-regular.woff") format("woff"), url("/assets/aino-regular.woff2") format("woff2"), url("/assets/aino-regular.otf") format("opentype");
}

@font-face {
	font-family: "Aino";
	font-weight: bold;
	font-style: normal;
	src: url("/assets/aino-bold.eot");
	src: url("/assets/aino-bold.woff") format("woff"), url("/assets/aino-bold.woff2") format("woff2"), url("/assets/aino-bold.otf") format("opentype");
}

@font-face {
	font-family: "Museo Sans Cyrl";
	font-weight: 100;
	font-style: normal;
	src: url("/assets/3084E9_0_0.eot");
	src: url("/assets/3084E9_0_0.eot?#iefix") format("embedded-opentype"), url("/assets/3084E9_0_0.woff2") format("woff2"), url("/assets/3084E9_0_0.woff") format("woff"), url("/assets/3084E9_0_0.ttf") format("truetype");
}

@font-face {
	font-family: "Museo Sans Cyrl";
	font-weight: 300;
	font-style: normal;
	src: url("/assets/3084E9_1_0.eot");
	src: url("/assets/3084E9_1_0.eot?#iefix") format("embedded-opentype"), url("/assets/3084E9_1_0.woff2") format("woff2"), url("/assets/3084E9_1_0.woff") format("woff"), url("/assets/3084E9_1_0.ttf") format("truetype");
}

@font-face {
	font-family: "Museo Sans Cyrl";
	font-weight: 500;
	font-style: normal;
	src: url("/assets/3084E9_2_0.eot");
	src: url("/assets/3084E9_2_0.eot?#iefix") format("embedded-opentype"), url("/assets/3084E9_2_0.woff2") format("woff2"), url("/assets/3084E9_2_0.woff") format("woff"), url("/assets/3084E9_2_0.ttf") format("truetype");
}

@font-face {
	font-family: "Museo Sans Cyrl";
	font-weight: bold;
	font-style: normal;
	src: url("/assets/3084E9_3_0.eot");
	src: url("/assets/3084E9_3_0.eot?#iefix") format("embedded-opentype"), url("/assets/3084E9_3_0.woff2") format("woff2"), url("/assets/3084E9_3_0.woff") format("woff"), url("/assets/3084E9_3_0.ttf") format("truetype");
}

@font-face {
	font-family: "Museo Sans Cyrl";
	font-weight: 900;
	font-style: normal;
	src: url("/assets/3084E9_4_0.eot");
	src: url("/assets/3084E9_4_0.eot?#iefix") format("embedded-opentype"), url("/assets/3084E9_4_0.woff2") format("woff2"), url("/assets/3084E9_4_0.woff") format("woff"), url("/assets/3084E9_4_0.ttf") format("truetype");
}

html,
body {
	height: 100%;
}

body {
	display: flex;
	flex-direction: column;
	background-color: white;
	font-family: Aino, sans-serif;
	font-size: 1.6rem;
	color: black;
}

main {
	flex: 1;
}

main section + section {
	margin-top: 4rem;
}

main section:last-child {
	padding-bottom: 4rem;
}

.centered {
	max-width: 76rem;
	margin-left: auto;
	margin-right: auto;
	padding-left: 4rem;
	padding-right: 4rem;
}

@media only screen and (max-width: 599px) {
	.centered {
		padding-left: 3rem;
		padding-right: 3rem;
	}
}

@media only screen and (max-width: 399px) {
	.centered {
		padding-left: 2.2rem;
		padding-right: 2.2rem;
	}
}

.section-heading {
	font-size: 3rem;
	font-family: "Museo Sans Cyrl", "Museo Sans", sans-serif;
	font-weight: 900;
	text-align: center;
}

.section-heading + .section-paragraph {
	margin-top: 2rem;
}

.section-paragraph {
	line-height: 1.5;
	text-align: justify;
}

.section-paragraph strong {
	font-weight: bold;
}

.section-paragraph + .section-paragraph {
	margin-top: 1.5rem;
}

.section-paragraph + .section-block {
	margin-top: 1.5rem;
}

.section-paragraph + .section-list {
	margin-top: 1rem;
}

.section-paragraph + .budget-table {
	margin-top: 2rem;
}

.section-block + .section-paragraph {
	margin-top: 2rem;
}

ul.section-list {
	padding-left: 2rem;
	line-height: 1.5;
}

ul.section-list li {
	margin-left: 1.5rem;
	list-style: disc;
}

ul.section-list + .section-paragraph {
	margin-top: 1rem;
}

.blue-button, .budget-form button[type=submit], .cyan-button, .green-button, .yellow-button {
	display: inline-block;
	padding: 1.2rem 2.5rem;
	border: none;
	border-radius: 0.5rem;
	line-height: 1.3;
	font-family: "Museo Sans Cyrl", "Museo Sans", sans-serif;
	font-weight: bold;
	font-size: 1.6rem;
	text-align: center;
}

.blue-button:focus, .budget-form button:focus[type=submit], .cyan-button:focus, .green-button:focus, .yellow-button:focus {
	outline-style: dashed;
	outline-width: 0.1rem;
	outline-offset: 0.2rem;
	-moz-outline-radius: 0.7rem;
}

.blue-button:active, .budget-form button:active[type=submit], .cyan-button:active, .green-button:active, .yellow-button:active {
	outline: none;
}

.blue-button, .budget-form button[type=submit] {
	background: #004367;
	color: white;
}

.blue-button:focus, .budget-form button:focus[type=submit] {
	outline-color: #004367;
}

.cyan-button {
	background: #a9e8fa;
	color: black;
	border-radius: 5rem;
	padding: 1.4rem 2.5rem 1.2rem;
	box-shadow: 0 3px 4px 1px rgba(0, 0, 0, 0.06);
	text-transform: uppercase;
}

.cyan-button:focus {
	outline-color: black;
}

.cyan-button:active:focus:hover {
	box-shadow: inset 0 0.3rem 0.1rem rgba(0, 0, 0, 0.3);
}

.green-button {
	background: #96e97f;
	color: black;
	border-radius: 5rem;
	padding: 1.4rem 2.5rem 1.2rem;
	box-shadow: 0 3px 4px 1px rgba(0, 0, 0, 0.06);
	text-transform: uppercase;
}

.green-button:focus {
	outline-color: black;
}

.green-button:active:focus:hover {
	box-shadow: inset 0 0.3rem 0.1rem rgba(0, 0, 0, 0.3);
}

.yellow-button {
	background: #ffec6e;
	color: black;
	border-radius: 5rem;
	padding: 1.5rem 2.5rem 1.0rem;
	box-shadow: 0 3px 4px 1px rgba(0, 0, 0, 0.06);
	text-transform: uppercase;
}

.yellow-button:focus {
	outline-color: black;
}

.yellow-button:active:focus:hover {
	box-shadow: inset 0 0.3rem 0.1rem rgba(0, 0, 0, 0.3);
}

.link-button, .section-paragraph a, #budgeting-home-page main #schools a, #budgeting-help-page main .timestamps a, #school-page main #budgets a, #budget-page main .idea .idea-title a, #paper-votes-page main #paper-votes .edit-button {
	color: #004367;
	text-decoration: underline;
	cursor: pointer;
	outline-offset: 0.2rem;
	-moz-outline-radius: 2px;
}

.link-button:focus, .section-paragraph a:focus, #budgeting-home-page main #schools a:focus, #budgeting-help-page main .timestamps a:focus, #school-page main #budgets a:focus, #budget-page main .idea .idea-title a:focus, #paper-votes-page main #paper-votes .edit-button:focus {
	outline: 1px dashed #004367;
}

.budget-table {
	width: 100%;
	border-collapse: separate;
	line-height: 1.5;
}

.budget-table th {
	font-weight: bold;
	padding: 0.5rem 1rem;
}

.budget-table td {
	border: 1px solid #f0f1f2;
	padding: 0.5rem 1rem;
}

.budget-table td + td {
	border-left: none;
}

.budget-table tr + tr td {
	border-top: none;
}

.budget-table tr:first-child td:first-child {
	border-top-left-radius: 0.5rem;
}

.budget-table tr:first-child td:last-child {
	border-top-right-radius: 0.5rem;
}

.budget-table tr:last-child td:first-child {
	border-bottom-left-radius: 0.5rem;
}

.budget-table tr:last-child td:last-child {
	border-bottom-right-radius: 0.5rem;
}

.budget-table.with-footer tbody tr:last-child td:first-child {
	border-bottom-left-radius: 0;
}

.budget-table.with-footer tbody tr:last-child td:last-child {
	border-bottom-right-radius: 0;
}

.budget-table.with-footer tfoot tr:first-child td:first-child {
	border-top-left-radius: 0;
}

.budget-table.with-footer tfoot tr:first-child td:last-child {
	border-top-right-radius: 0;
}

.budget-table tfoot {
	background: #fbfbfb;
}

.budget-table tfoot tr:first-child td {
	border-top: none;
}

.budget-form button[type=submit] {
	margin-top: 1rem;
}

.budget-field {
	display: block;
	line-height: 1.5;
}

.budget-field .label {
	display: block;
	margin-bottom: 0.2rem;
	font-weight: bold;
}

.budget-field p {
	margin-bottom: 0.5rem;
}

.budget-field p code {
	background: #efefef;
	padding: 0.5rem;
	font-family: monospace;
}

.budget-field + label {
	margin-top: 2rem;
}

input.budget-input {
	border: 1px solid #ccc;
	border-radius: 0.5rem;
	padding: 0.7rem 1rem;
}

input.budget-input:focus {
	border-color: #004367;
	box-shadow: 0 0 0 1px #004367;
	outline: none;
}

textarea.budget-input {
	padding: 1rem 1rem;
	border: 1px solid #ccc;
	border-radius: 0.5rem;
	line-height: 1.5;
}

textarea.budget-input:focus {
	border-color: #004367;
	box-shadow: 0 0 0 1px #004367;
	outline: none;
}

.eid-view .signature-methods .tab {
	display: inline-block;
	background-color: #fbfbfb;
	border: 0.1rem solid #f0f1f2;
	line-height: 4.9rem;
	padding: 0 2rem;
	font-size: 1.6rem;
	margin-bottom: -0.1rem;
	font-weight: 500;
	color: #888;
	cursor: pointer;
}

.eid-view .signature-methods .tab img {
	max-height: 2rem;
	vertical-align: middle;
}

.eid-view .signature-methods .tab + .tab {
	margin-left: -0.1rem;
}

.eid-view .signature-methods .tab:first-child {
	border-top-left-radius: 0.5rem;
	border-bottom-left-radius: 0.5rem;
}

.eid-view .signature-methods .tab:last-child {
	border-top-right-radius: 0.5rem;
	border-bottom-right-radius: 0.5rem;
}

.eid-view fieldset {
	padding: 2rem;
	display: none;
	border: 0.1rem solid #f0f1f2;
	border-top-right-radius: 0.5rem;
	border-bottom-left-radius: 0.5rem;
	border-bottom-right-radius: 0.5rem;
	line-height: 1.5;
}

.eid-view fieldset label {
	display: inline-block;
	margin-right: 1rem;
}

.eid-view fieldset input {
	display: block;
	margin-top: 0.5rem;
	max-width: 30rem;
	height: 3.6rem;
}

.eid-view fieldset button {
	vertical-align: bottom;
	padding-top: 0.8rem;
	padding-bottom: 0.8rem;
}

.eid-view fieldset output {
	display: block;
	margin-top: 1rem;
}

.eid-view fieldset label + button {
	margin-top: 1rem;
}

.eid-view #signature-method-tab-id-card:checked ~ #id-card-tab {
	display: block;
}

.eid-view #signature-method-tab-id-card:checked ~ .signature-methods .id-card-tab {
	background: white;
	border-bottom-color: white;
	color: black;
}

.eid-view #signature-method-tab-id-card:checked ~ .signature-methods .tab:first-child {
	border-bottom-left-radius: 0;
}

.eid-view #signature-method-tab-id-card:checked ~ .signature-methods .tab:last-child {
	border-bottom-right-radius: 0;
}

.eid-view #signature-method-tab-mobile-id:checked ~ #mobile-id-tab {
	display: block;
}

.eid-view #signature-method-tab-mobile-id:checked ~ .signature-methods .mobile-id-tab {
	background: white;
	border-bottom-color: white;
	color: black;
}

.eid-view #signature-method-tab-mobile-id:checked ~ .signature-methods .tab:first-child {
	border-bottom-left-radius: 0;
}

.eid-view #signature-method-tab-mobile-id:checked ~ .signature-methods .tab:last-child {
	border-bottom-right-radius: 0;
}

.eid-view #signature-method-tab-smart-id:checked ~ #smart-id-tab {
	display: block;
}

.eid-view #signature-method-tab-smart-id:checked ~ .signature-methods .smart-id-tab {
	background: white;
	border-bottom-color: white;
	color: black;
}

.eid-view #signature-method-tab-smart-id:checked ~ .signature-methods .tab:first-child {
	border-bottom-left-radius: 0;
}

.eid-view #signature-method-tab-smart-id:checked ~ .signature-methods .tab:last-child {
	border-bottom-right-radius: 0;
}

#nav {
	line-height: 3rem;
	background: #feef7f;
	color: black;
}

#nav .centered {
	padding-top: 4rem;
	padding-bottom: 2rem;
}

#nav .home {
	font-weight: bold;
	font-size: 2rem;
	font-family: "Museo Sans Cyrl", "Museo Sans", sans-serif;
	display: inline-block;
	margin-right: 1rem;
	vertical-align: middle;
	outline-offset: 0.2rem;
	-moz-outline-radius: 3px;
}

#nav .home:focus {
	outline: 1px dashed currentcolor;
}

#nav .account a,
#nav .account button {
	border-radius: 0.3rem;
	border: 1px dashed transparent;
	font-size: 1.5rem;
	display: inline-block;
	padding: 0 1rem;
	outline-offset: 0.2rem;
	background: transparent;
	height: 3rem;
}

#nav .account a:focus,
#nav .account button:focus {
	outline: none;
	border-color: currentcolor;
}

#nav .account a:hover,
#nav .account button:hover {
	border-style: solid;
	border-color: currentcolor;
}

#nav .account a.selected:focus,
#nav .account button.selected:focus {
	border: 1px dashed #004367;
}

#nav .account a + li,
#nav .account button + li {
	margin-left: 1rem;
}

#nav .account {
	float: right;
}

#nav .account .account-name {
	font-weight: bold;
}

#nav .account form {
	display: inline-block;
}

#header {
	background-color: #feef7f;
	color: black;
	line-height: 1.5;
}

#header .centered {
	padding-top: 2rem;
	padding-bottom: 4rem;
}

#header h1 {
	font-size: 4.8rem;
	font-family: "Museo Sans Cyrl", "Museo Sans", sans-serif;
	font-weight: 900;
	line-height: 1.2;
}

#header menu {
	margin-top: 1rem;
}

#header menu a {
	border-radius: 0.3rem;
	font-size: 1.4rem;
	display: inline-block;
	padding: 0.5rem 1rem;
	outline-offset: 0.2rem;
	border: 1px solid rgba(255, 255, 255, 0.8);
	-moz-outline-radius: 2px;
}

#header menu a:focus {
	outline: 1px dashed currentcolor;
}

#header menu a.selected {
	color: #004367;
	background-color: white;
	font-weight: bold;
}

#header menu a:hover {
	border-color: white;
}

#header menu a + a {
	margin-left: 1rem;
}

#header .context {
	font-size: 2.4rem;
	margin-bottom: 1rem;
	display: inline-block;
}

#header .subtitle {
	display: inline-block;
	margin-top: 1rem;
	font-size: 2.4rem;
}

#header.hero {
	overflow: hidden;
}

#header.hero .centered {
	position: relative;
	background-image: linear-gradient(to right, #feef7f 50%, #87df77 0);
	background-repeat: no-repeat;
}

#header.hero .cover {
	position: absolute;
	top: 0;
	left: 50%;
	width: 50%;
}

#header.hero .centered > .cover ~ * {
	width: 50%;
	padding-right: 3rem;
}

#header.hero p {
	font-family: "Museo Sans Cyrl", "Museo Sans", sans-serif;
	font-size: 2rem;
}

#header.hero p .link-button, #header.hero p .section-paragraph a, .section-paragraph #header.hero p a, #header.hero p #budgeting-home-page main #schools a, #budgeting-home-page main #schools #header.hero p a, #header.hero p #budgeting-help-page main .timestamps a, #budgeting-help-page main .timestamps #header.hero p a, #header.hero p #school-page main #budgets a, #school-page main #budgets #header.hero p a, #header.hero p #budget-page main .idea .idea-title a, #budget-page main .idea .idea-title #header.hero p a, #header.hero p #paper-votes-page main #paper-votes .edit-button, #paper-votes-page main #paper-votes #header.hero p .edit-button {
	color: black;
}

#header + section {
	margin-top: 4rem;
}

#footer {
	background: #feef7f;
	color: black;
	padding: 3rem 0;
	line-height: 1.5;
}

#footer .logos {
	float: right;
	margin-left: 4rem;
}

#footer .logos #kogu-logo {
	width: 10rem;
}

#footer .logos a {
	display: block;
}

#footer .logos img {
	display: block;
}

#footer .logos a + a {
	margin-top: 1rem;
}

#footer p {
	text-align: left;
}

#footer a {
	text-decoration: underline;
	outline-offset: 0.2rem;
	-moz-outline-radius: 2px;
	border-radius: 2px;
}

#footer a:focus {
	outline: 1px dashed currentcolor;
}

#home-page #nav {
	background-color: #BAD2FF;
}

#home-page #footer {
	background-color: #C9DBFF;
}

#home-page #header {
	background-color: #dde9ff;
	background-image: linear-gradient(to bottom, #BAD2FF 0, #DDE9FF 100%);
}

#home-page #header h1 {
	margin-bottom: 4rem;
	font-size: 4rem;
	text-transform: uppercase;
}

#home-page #header h1 img {
	width: 30rem;
}

#home-page #header h1 .subtitle {
	display: block;
	text-transform: none;
	font-weight: 700;
	font-size: 2.2rem;
}

#home-page #header .call-to-actions {
	overflow: hidden;
}

#home-page #header .call-to-actions h2 {
	margin-left: auto;
	margin-bottom: 2rem;
	width: 50%;
	padding-left: 3rem;
	text-transform: uppercase;
}

#home-page #header .call-to-actions .illustration {
	float: left;
	width: 50%;
}

#home-page #header .call-to-actions ul {
	float: right;
	width: 50%;
	padding-left: 5rem;
}

#home-page #header .call-to-actions ul li + li {
	margin-top: 2rem;
}

#home-page #header .call-to-actions .yellow-button {
	font-weight: 900;
	width: 100%;
}

@media only screen and (max-width: 759px) {
	#home-page #header .call-to-actions {
		overflow: visible;
	}
	#home-page #header .call-to-actions h2 {
		margin-left: 0;
		text-align: center;
		width: auto;
	}
	#home-page #header .call-to-actions .illustration {
		float: none;
		display: block;
		width: 100%;
		margin: 0 auto;
		max-width: 35rem;
	}
	#home-page #header .call-to-actions ul {
		padding-left: 0;
		margin-top: 2rem;
		float: none;
		width: 100%;
		text-align: center;
	}
	#home-page #header .call-to-actions ul .yellow-button {
		max-width: 38rem;
	}
}

#home-page #exercises-section {
	padding-top: 6rem;
	padding-bottom: 6rem;
	background-color: #ecf2ff;
}

#home-page #exercises-section h2 {
	margin-bottom: 4rem;
	text-transform: uppercase;
}

#home-page #exercises-section ul .exercise {
	display: flex;
	align-items: start;
}

#home-page #exercises-section ul .exercise .yellow-button {
	flex-grow: 1;
	flex-shrink: 0;
	font-weight: 900;
	flex-basis: 30rem;
	min-width: 28rem;
	text-align: left;
	padding: 3.5rem 4rem 3rem 3rem;
	background-image: url("/assets/yellow-button-arrow.svg");
	background-repeat: no-repeat;
	background-position: 24rem center;
	background-size: 3.5rem;
}

#home-page #exercises-section ul .exercise .budgeting-button {
	background-image: url("/assets/yellow-button-arrow.svg"), url("/assets/budgeting-white-icon.svg");
	background-position: 24rem center, 15rem center;
	background-position: right 2.5rem center, right 8rem center;
	background-size: 3.5rem, 6.5rem;
}

#home-page #exercises-section ul .exercise .election-button {
	background-image: url("/assets/yellow-button-arrow.svg"), url("/assets/election-white-icon.svg");
	background-position: 24rem center, 15rem center;
	background-position: right 2.5rem center, right 8rem center;
	background-size: 3.5rem, 6.5rem;
}

#home-page #exercises-section ul .exercise .signing-button {
	background-image: url("/assets/yellow-button-arrow.svg"), url("/assets/signing-white-icon.svg");
	background-position: 24rem center, 15rem center;
	background-position: right 2.5rem center, right 8rem center;
	background-size: 3.5rem, 6.5rem;
}

#home-page #exercises-section ul .exercise p {
	margin-left: 2rem;
	flex-grow: 1;
	flex-shrink: 1;
}

#home-page #exercises-section ul .exercise + .exercise {
	margin-top: 4rem;
}

@media only screen and (max-width: 759px) {
	#home-page #exercises-section ul .exercise {
		display: block;
		text-align: center;
	}
	#home-page #exercises-section ul .exercise .yellow-button {
		width: 100%;
		max-width: 38rem;
	}
	#home-page #exercises-section ul .exercise p {
		margin-top: 3rem;
		text-align: left;
	}
}

#budgeting-home-page #nav .centered,
#budgeting-home-page #header .centered,
#budgeting-help-page #nav .centered,
#budgeting-help-page #header .centered {
	max-width: 98rem;
}

#budgeting-home-page #nav .centered,
#budgeting-help-page #nav .centered {
	background-image: linear-gradient(to right, #feef7f 50%, #8ddced 0);
	background-repeat: no-repeat;
}

@media only screen and (max-width: 767px) {
	#budgeting-home-page #nav .centered,
	#budgeting-help-page #nav .centered {
		background-image: none;
	}
	#budgeting-home-page #header .centered,
	#budgeting-help-page #header .centered {
		background-image: none;
	}
	#budgeting-home-page #header .cover,
	#budgeting-help-page #header .cover {
		display: none;
	}
	#budgeting-home-page #header .cover ~ *,
	#budgeting-help-page #header .cover ~ * {
		width: 100%;
		padding-right: 0;
	}
}

#budgeting-home-page main #header h1 {
	margin-bottom: 1.5rem;
}

#budgeting-home-page main #header .call-to-actions {
	margin-top: 2rem;
}

#budgeting-home-page main #header .call-to-actions a {
	margin-right: 1rem;
	margin-bottom: 1rem;
}

#budgeting-home-page main #intro-section .benefits-list .list-image {
	float: left;
	margin-top: 1rem;
	margin-left: 2rem;
	margin-right: 2rem;
	width: 10rem;
}

#budgeting-home-page main #intro-section .benefits-list .list-image ~ * {
	margin-left: 12rem;
}

#budgeting-home-page main #intro-section .supporter-logos {
	text-align: center;
	margin-top: 2rem;
}

#budgeting-home-page main #intro-section .supporter-logos a {
	display: inline-block;
	margin-right: 2rem;
	margin-bottom: 2rem;
	outline-offset: 0.2rem;
	-moz-outline-radius: 2px;
	border-radius: 2px;
}

#budgeting-home-page main #intro-section .supporter-logos a:focus {
	outline: 1px dashed #004367;
}

#budgeting-home-page main #intro-section .supporter-logos img {
	vertical-align: middle;
	width: 20rem;
}

#budgeting-home-page main #schools {
	margin-top: 2rem;
	line-height: 1.5;
}

#budgeting-home-page main #schools a {
	font-size: 2rem;
}

@media only screen and (max-width: 767px) {
	#budgeting-home-page main .call-to-actions {
		text-align: center;
	}
}

#budgeting-help-page main .timestamps {
	margin: 1rem auto 0;
}

#budgeting-help-page main .timestamps td {
	padding: 0.2rem 0.5rem;
}

#budgeting-help-page main .timestamps td:first-child {
	text-align: right;
}

#budgeting-help-page main .video + .video,
#budgeting-help-page main .section-paragraph + .video {
	margin-top: 1.5rem;
}

#budgeting-help-page main .video {
	position: relative;
	background: #2e2f30;
	overflow: hidden;
	border-radius: 1rem;
	display: flex;
	align-items: center;
	text-align: center;
	justify-content: center;
}

#budgeting-help-page main .video:before {
	content: "";
	float: left;
	width: 1px;
	margin-left: -1px;
	height: 0;
	padding-top: 56.25%;
}

#budgeting-help-page main .video iframe {
	position: absolute;
	top: 0;
	left: 0;
	width: 100%;
	height: 100%;
}

#budgeting-help-page main #workshop ol {
	counter-reset: lesson;
}

#budgeting-help-page main #workshop ol li {
	margin-top: 2rem;
	counter-increment: lesson;
	margin-left: 3rem;
}

#budgeting-help-page main #workshop ol li:before {
	clear: left;
	float: left;
	margin-left: -3rem;
	margin-right: 1rem;
	content: counter(lesson) ". ";
	font-size: 2rem;
	font-family: "Museo Sans Cyrl", "Museo Sans", sans-serif;
	font-weight: 900;
}

#budgeting-help-page main #workshop .duration {
	color: #666;
}

#budgeting-help-page main #book .download-links {
	margin-top: 2rem;
	margin-bottom: 2rem;
}

#budgeting-help-page main #book .download-links a {
	margin-bottom: 1rem;
}

#budgeting-help-page main #book .supporter-logos {
	margin-top: 2rem;
}

#budgeting-help-page main #book .supporter-logos a {
	display: inline-block;
	margin-right: 2rem;
	margin-bottom: 2rem;
	outline-offset: 0.2rem;
	-moz-outline-radius: 2px;
	border-radius: 2px;
}

#budgeting-help-page main #book .supporter-logos a:focus {
	outline: 1px dashed #004367;
}

#budgeting-help-page main #book .supporter-logos img {
	vertical-align: middle;
	width: 20rem;
}

#school-page main #school-description {
	white-space: pre-line;
}

#school-page main #budgets {
	margin-top: 2rem;
	line-height: 1.5;
}

#school-page main #budgets a {
	font-size: 2rem;
}

.school-page #header {
	overflow: hidden;
}

.school-page #header .logo {
	float: right;
	width: 10rem;
	margin-top: -2rem;
	margin-left: 2rem;
}

@media only screen and (max-width: 650px) {
	.school-page #header .logo {
		display: block;
		float: none;
		margin-top: 0;
		margin-left: 0;
		margin-bottom: 2rem;
		width: 7rem;
	}
}

.update-school-page main #school-form label[for=name] input {
	width: 100%;
	font-size: 2rem;
	padding: 1rem 2rem;
}

.update-school-page main #school-form label[for=description] textarea {
	width: 100%;
	resize: vertical;
	min-height: 15rem;
}

.update-school-page main #school-form label[for=colors] table {
	width: auto;
}

.update-school-page main #school-form label[for=colors] table td:first-child {
	width: 5rem;
}

.update-school-page main #school-form label[for=logo] img {
	display: block;
	max-width: 15rem;
	margin-bottom: 1rem;
}

.update-school-page main #school-form label[for=teachers] textarea {
	width: 100%;
	resize: vertical;
	min-height: 15rem;
}

.update-school-page main #school-form button[type=submit] {
	margin-top: 2rem;
}

#budget-page main #budget-description {
	white-space: pre-line;
}

#budget-page main .idea {
	line-height: 1.5;
}

#budget-page main .idea .idea-title {
	font-size: 2rem;
}

#budget-page main .idea .idea-vote-count {
	display: block;
}

#budget-page main .idea .idea-vote-count progress {
	-webkit-appearance: none;
	-moz-appearance: none;
	-ms-appearance: none;
	appearance: none;
	width: 20rem;
	height: 1.2rem;
	vertical-align: middle;
	border: none;
	margin-right: 1rem;
	color: #004367;
	background-color: transparent;
}

#budget-page main .idea .idea-vote-count progress::-moz-progress-bar {
	border-radius: 1rem;
}

#budget-page main .idea .idea-vote-count progress::-webkit-progress-value {
	border-radius: 1rem;
}

#budget-page main .idea .idea-vote-count progress::-ms-fill {
	border-radius: 1rem;
}

#budget-page main .idea .idea-vote-count progress::-moz-progress-bar {
	background-color: #004367;
}

#budget-page main .idea .idea-vote-count progress::-webkit-progress-value {
	background-color: #004367;
}

#budget-page main .idea .idea-vote-count progress::-webkit-progress-bar {
	background-color: transparent;
}

#budget-page main .idea .idea-vote-count .count {
	font-weight: bold;
	font-size: 1.6rem;
}

#budget-page main .idea .idea-author-names {
	color: #888;
}

#budget-page main .idea .idea-description {
	margin-top: 1rem;
	white-space: pre-line;
}

#budget-page main .idea + .idea {
	margin-top: 2rem;
}

#budget-page main #viewable-ideas-section menu {
	margin-top: 2rem;
}

#budget-page main #viewable-ideas-section #ideas {
	margin-top: 2rem;
}

#budget-page main #votable-ideas-section #voting-form {
	margin-top: 2rem;
}

#budget-page main #votable-ideas-section .idea input[name=idea_id] {
	margin: 1rem;
	float: left;
	cursor: pointer;
	width: 2rem;
	height: 2rem;
	line-height: 3rem;
}

#budget-page main #votable-ideas-section .idea label {
	display: block;
	margin-left: 5rem;
}

#budget-page main #votable-ideas-section #ideas + p {
	margin-top: 2rem;
}

#budget-page main #votable-ideas-section .eid-view {
	margin-top: 2rem;
}

#budget-page main #voted-ideas-section #ideas {
	margin-top: 2rem;
}

#budget-page main #thanks {
	font-weight: bold;
	background: #fbfbfb;
	padding: 1rem 2rem;
	border-radius: 0.6rem;
	margin-bottom: 2rem;
}

#budget-page main #thanks:target {
	display: block;
}

.update-budget-page main #budget-form label[for=title] input {
	width: 100%;
	font-size: 2rem;
	padding: 1rem 2rem;
}

.update-budget-page main #budget-form label[for=description] textarea {
	width: 100%;
	resize: vertical;
	min-height: 15rem;
}

.update-budget-page main #budget-form label[for=voters] textarea {
	width: 100%;
	resize: vertical;
	min-height: 15rem;
}

.update-budget-page main #budget-form label[for=voters] .budget-table {
	margin-top: 1rem;
}

.update-budget-page main #budget-form button[type=submit] {
	margin-top: 2rem;
}

.update-budget-page main #voters .voted-column {
	text-align: center;
}

.update-budget-page main #voters tfoot .voted-column {
	text-align: left;
}

#paper-votes-page main #paper-votes .edit-button {
	display: inline-block;
}

#paper-votes-page main #paper-votes strong {
	font-weight: bold;
}

#paper-votes-page main #paper-votes .edit-row td {
	padding: 0.5rem 1rem;
	text-align: center;
}

#paper-votes-page main #paper-votes .edit-row td #edit-paper-votes-toggle:checked + label,
#paper-votes-page main #paper-votes .edit-row td #edit-paper-votes-toggle:not(:checked) ~ form {
	display: none;
}

#paper-votes-page main #paper-votes .edit-row td form {
	margin: 1rem 0;
}

#paper-votes-page main #paper-votes .edit-row td textarea {
	display: block;
	margin: 0.5rem auto;
	width: 100%;
	max-width: 60rem;
	min-height: 10rem;
	resize: vertical;
}

#paper-votes-page main #paper-votes .edit-row td button {
	margin: 1rem auto;
	display: block;
}

#idea-page main #idea-description {
	white-space: pre-line;
}

#idea-page main #idea-description img {
	max-width: 100%;
	margin-bottom: 3rem;
	display: block;
}

#create-idea-page main #idea-form label[for=title] input,
#update-idea-page main #idea-form label[for=title] input {
	width: 100%;
	font-size: 2rem;
	padding: 1rem 1rem;
}

#create-idea-page main #idea-form textarea,
#update-idea-page main #idea-form textarea {
	width: 100%;
	resize: vertical;
	min-height: 15rem;
}

#create-idea-page main #idea-form label[for=image] img,
#update-idea-page main #idea-form label[for=image] img {
	display: block;
	max-width: 30rem;
	margin-bottom: 1rem;
}

#create-idea-page main #idea-form label[for=author_names] input,
#update-idea-page main #idea-form label[for=author_names] input {
	width: 100%;
}

#create-session-page main .eid-view {
	margin-top: 2rem;
}

#account-page main #account-form label[for=name] input {
	width: 100%;
	font-size: 2rem;
	padding: 1rem 2rem;
}

#error-page main .description {
	white-space: pre-line;
}
