:root {
	--color-primary: #70538e;
	--color-secondary: #483859;
	--color-edit: #535d8f;
	--color-smart-primary: #c40027;
	--color-smart-secondary: #9a1a33;
}

html {
	font: 87.5% "Open Sans",sans-serif;
}

body {
	background: #f2f2f2;
	color: #000; line-height: 1;
}
body.stuck {
	padding-top: 7rem;
}
@media (max-width: 767px) {
	body {
		padding-top: 3rem;
	}
}

div,
section,
nav,
head {
	box-sizing: border-box;
}

h1,
h2,
h3 {
	display: block; position: relative;
	font-weight: 600;
	line-height: normal;
}
h1 {
	margin-bottom: 1.375rem;
	font-size: 1.375rem;
}
h2 {
	margin-bottom: 1.25rem;
	font-size: 1.25rem;
}
h3 {
	margin-bottom: 1.125rem;
	font-size: 1.125rem;
}
h1.hug,
h2.hug,
h3.hug {
	margin-bottom: 0.75rem;
}

img {
	max-width: 100%; height: auto; margin: 0; padding: 0;
	border: none;
}
img[onclick] {
	cursor: pointer;
}
img.text {
	width: auto; height: 1.05em;
	vertical-align: top;
}

p {
	margin: 1.25rem 0 0 0;
	line-height: normal;
}
p:first-child {
	margin-top: 0;
}
p.snug,
p.hug {
	margin-top: 0.375rem;
}
p.label {
	font-size: 0.8125rem; font-weight: 600; text-transform: uppercase;
}

strong {
	font-weight: 600;
}

a:link {
	color: #007; text-decoration: underline;
}
a:visited {
	color: #607; text-decoration: underline;
}
a:hover {
	color: #d11; text-decoration: underline !important;
}
a:active {
	color: #333; text-decoration: none;
}

hr {
	height: 5px; margin: 1.5rem 0;
	background: #555; border: none;
}
hr.light {
	height: 1px;
	background: #777;
}
hr.thin {
	height: 1px; margin: 1rem 0;
	background: #ccc;
}

input, select, textarea {
	-webkit-appearance: none;
	box-sizing: border-box;
	font: 1rem "Open Sans",sans-serif; line-height: 1.5rem;
}
input[type="text"],
input[type="email"],
input[type="tel"],
input[type="date"],
input[type="time"],
input[type="password"],
textarea {
	resize: vertical; /* field-sizing: content; */
	width: 100%; margin: 0; padding: 0.75rem;
	background: #fff; border: 1px solid #ccc;
}
input[readonly], textarea[readonly], select[readonly] {
	background: #e5e5e5;
	color: #555;
}
input[disabled], textarea[disabled], select[disabled] {
	background-color: #e5e5e5;
	color: #555;
}
select {
	-webkit-appearance: none;
	width: 100%; margin: 0; padding: 0.75rem 1rem 0.75rem 0.75rem;
	background: #fff url(https://toomuchsmart.com/cdn/i/select-ellipsis.svg) right center no-repeat; background-size: contain; border: 1px solid #ccc; border-radius: 0;
}
select::-ms-expand {
	display: none;
}
input[type="checkbox"], input[type="radio"] {
	margin: 0; padding: 0;
	vertical-align: middle;
}
input.invalid, textarea.invalid, select.invalid {
	color: #d00;
}
input:focus, textarea:focus, select:focus {
	outline: none;
	background: linear-gradient(0deg, #000 2px, #fff 2px);
}
input::placeholder, textarea::placeholder {
	color: #aaa;
}

label {
	cursor: pointer;
}

fieldset {
	display: block; position: relative;
	margin: 1.25rem 0 0 0; padding: 0;
	border: none;
}
fieldset:first-child {
	margin-top: 0;
}
fieldset .cell {
	display: block; position: relative;
	width: 100%;
}
fieldset .cell.label {
	padding-top: 1.25rem;
}
fieldset .cell.label.right {
	text-align: right;
}
fieldset .cell.check {
	padding: 0.75rem 1rem;
	background: #ddd;
	white-space: nowrap;
}
/* fieldset .cell.file {
	border: 1px solid #aaa;
} */
fieldset .cell.group {
	border-top: none;
}
fieldset .cell.error {
	border-left: 0.5rem solid #d00;
}
fieldset .cell.error input[type="text"],
fieldset .cell.error input[type="email"],
fieldset .cell.error input[type="tel"],
fieldset .cell.error input[type="date"],
fieldset .cell.error input[type="time"],
fieldset .cell.error input[type="password"],
fieldset .cell.error textarea,
fieldset .cell.error select {
	border-left: none;
}
fieldset .cell.check input[type="checkbox"], fieldset .cell.check input[type="radio"] {
	vertical-align: middle;
}
fieldset .cellnote {
	padding: 0.75rem;
	background: #fff; border: 1px solid #ccc;
	font-size: 0.9375rem;
}
fieldset .cell label.text {
	display: block;
	padding: 0.5rem 0.75rem;
	background: #ddd;
	font-size: 0.9375rem; color: #333;
}
fieldset .cell.req label.text {
	padding-right: 1.75rem;
}
fieldset .cell.disabled label.text {
	color: #999;
}
fieldset .cell label.check {
	display: inline-block;
	margin: 0 0 0 0.5rem;
	line-height: 1.5rem; white-space: normal;
	cursor: pointer;
}
fieldset .cell label.check .addl {
	color: #777;
}
fieldset .cell label.check .description {
	margin: 0.5rem 0 0 0;
	font-size: 0.9375rem;
}
fieldset.addl_expand .cell label.check .addl {
	display: block;
	margin-top: 0.25rem;
	color: #333;
}
fieldset .cell.req label.text::after {
	content: "\e405";
	display: block; position: absolute;
	top: 0.5rem; right: 0.5rem;
	font-family: "Font Awesome 6 Pro"; font-size: 0.8125rem; font-weight: 900; line-height: 0.9375rem; color: #777;
}
fieldset .cell .filewrap {
	display: block;
	padding: 0.75rem;
	background: #fff; border: 1px solid #ccc;
}
fieldset .overlay {
	display: inline-block; position: relative;
	width: 1.5rem; height: 1.5rem;
	vertical-align: top;
	cursor: pointer;
}
fieldset .overlay input {
	position: absolute; z-index: -1; opacity: 0;
}
fieldset .overlay .check {
	position: absolute; box-sizing: border-box;
	left: 0; top: 0; width: 1.5rem; height: 1.5rem;
	background: #fff; box-shadow: 0 0 0 1px #bbb inset;
}
fieldset .overlay:hover input ~ .check,
fieldset .overlay input:focus ~ .check {
	/* background: linear-gradient(0deg, #000 3px, #fff 3px); */
	box-shadow: 0 0 0 1px #000;
}
fieldset .overlay.radio .check {
	border-radius: 10px;
}
fieldset .overlay input:disabled ~ .check {
	opacity: 0.33;
	background: #ccc;
	pointer-events: none;
}
fieldset .overlay .check::after {
	content: "\f00c";
	display: none; position: absolute;
	left: 0; top: 0; width: 1.5rem;
	font-family: "Font Awesome 6 Pro"; font-size: 0.9375rem; font-weight: 900; line-height: 1.5rem; text-align: center;
}
fieldset .overlay.radio .check::after {
	border-radius: 5px;
}
fieldset .overlay input:checked ~ .check::after {
	display: block;
}
fieldset .overlay input:disabled ~ .check::after {
	background: #777;
}
fieldset p.fieldnote {
	margin: 0.375rem 0 0 0;
	font-size: 1rem; color: #333;
}
.submits {
	display: block;
	margin-top: 1.5rem;
	text-align: right;
}
.submits button {
	margin-left: 1rem;
}
.submits button:first-child {
	margin-left: 0;
}

.eblock {
	display: block; position: relative;
	margin-bottom: 1.5rem; padding: 1.5rem;
	background: #fff; border-left: 0.5rem solid #d00; box-shadow: 0 0 1px #0007;
	color: #000;
}
.eblock .fblock {
	align-items: center;
}
.eblock .icon {
	font-size: 1.75rem; color: #c00; text-align: center;
}
.eblock a {
	color: #000;
}
.eblock ul {
	list-style: square;
	padding-left: 1rem;
}
.eblock ul li {
	margin: 0.75rem 0 0 0;
}
.eblock ul ul {
	margin-top: 0.5rem; padding-left: 1.5rem;
}
.eblock ul ul li {
	margin-top: 0.5rem;
}
.eblock ul li:first-child {
	margin-top: 0;
}

button {
	-webkit-appearance: none;
	display: inline-block; box-sizing: content-box;
	background: none; border: none;
}

.btn {
	-webkit-appearance: none;
	display: inline-block;
	padding: 0.75rem 1.25rem 0.75rem 1rem;
	background: #777; border: none; box-shadow: 0 0 0 1px #0002 inset;
	font: 1rem "Open Sans",sans-serif; line-height: 1.5rem; color: #fff; vertical-align: middle; white-space: nowrap; text-shadow: 1px 1px 1px #0001;
	cursor: pointer;
}
.btn.negative { background: #333; }
.btn i {
	margin-right: 0.5rem;
}
.btn.thin {
	padding: 0.375rem 1rem 0.375rem 0.75rem;
}
.btn.ui {
	background-color: #fff;
	color: #000;
}


.wrapper {
	display: block;
	width: 100%; max-width: 1024px; margin: 0 auto; padding: 0 0.75rem;
}
@media (min-width: 768px) {
	.wrapper {
		padding: 0 1rem;
	}
	.wrapper.flex {
		display: flex;
	}
}

table.stats {
	width: 100%;
	margin: 1rem 0 0 0;
	border-top: 1px solid #555;
}
table.stats thead tr {
	background: #ddd;
	font-size: 0.9375rem;
}
table.stats tr th,
table.stats tr td {
	padding: 0.5rem;
	border-bottom: 1px solid #ccc;
	line-height: 1rem;
}
table.stats tr td.value {
	text-align: right;
}

table.admin {
	width: 100%;
	background: #fff;
}
table.admin tr {
}
table.admin thead tr {
	background: #ddd;
	font-size: 0.9375rem;
}
table.admin thead tr .sorted {
	cursor: pointer;
}
table.admin thead tr .sorted .sort {
	margin-left: 0.5rem;
	font-family: "Font Awesome 6 Pro"; font-weight: 900; color: #333;
}
table.admin thead tr .sorted .sort.asc::after {
	content: "\f106";
}
table.admin thead tr .sorted .sort.dsc::after {
	content: "\f107";
}
table.admin tr th,
table.admin tr td {
	padding: 0.75rem;
	line-height: 1rem;
}
table.admin thead tr th {
	border-left: 1px solid #ccc;
	text-align: left;
}
table.admin tr.item td {
	border-left: 1px solid #eee;
}
table.admin tr th:first-child,
table.admin tr td:first-child {
	border-left: none;
}
table.admin tr.item td {
	border-bottom: 1px solid #ccc;
}
/* table.admin tr.item.select td {
	background: #8c1c1c;
	color: #fff;
} */
table.admin tr .icon,
table.admin tr .ctrl {
	width: 2.5rem; min-width: 2.5rem; max-width: 2.5rem;
	text-align: center;
}
table.admin tr .icon {
	padding: 0.625rem 0;
	font-size: 1.25rem;
}
table.admin tr .icon.toggle {
	cursor: pointer;
}
table.admin tr .icon.toggle i.select_on {
	display: none;
}
table.admin tr.select .icon.toggle i.select_off {
	display: none;
}
table.admin tr.select .icon.toggle i.select_on {
	display: inline-block;
}
table.admin tr.item.select .toggle {
	background: #8c1c1c;
	color: #fff;
}
table.admin tr.item .icon.itemmove {
	cursor: move;
}
table.admin tr .ctrl {
	position: relative;
	padding: 0.75rem 0;
}
table.admin tr .ctrl a {
	display: block; position: absolute; z-index: 9;
	left: 0; right: 0; top: 0; bottom: 0;
}
table.admin tr .name {
	width: auto;
}
table.admin tr .name a {
	color: #000; text-decoration: none;
}
table.admin tr .name a:hover {
	text-decoration: underline;
}
table.admin tr .time {
	width: 11rem;
	white-space: nowrap;
}
table.admin tr .size {
	width: 5rem;
	white-space: nowrap;
}
table.admin tr.item .size {
	text-align: right;
}
table.admin tr .user {
	width: 9rem;
}
table.admin tr .version {
	width: 2rem;
}
table.admin tr.item .version {
	text-align: right;
}
/*
table.admin td.ctrl {
	border-color: #ddd;
}
table.admin td.ctrl.active {
	background: #999;
}
table.admin .null td {
	color: #777;
}
table.admin .load td {
	border: none;
	color: #bbb;
}
table.admin .expand.active {
	background: #bbb;
}
*/

i.positive { color: #090; }
i.negative { color: #b00; }

.pgap {
	margin-top: 1.25rem;
}
.gap {
	margin: 0 0.5rem;
	color: #0003;
}
.null {
	color: #ccc;
}

.boxed {
	background: #fff; box-shadow: 0 0 1px #000c;
}

.cblock {
	display: block; position: relative;
	margin: 1.25rem 0 0 0;
}
.rblock {
	display: block; position: relative;
	margin: 1.25rem 0 0 0;
}
.rblock:first-child { margin-top: 0 !important; }
.rblock.hug { margin-top: 0.125rem; }
.rblock.snug { margin-top: 0.5rem; }
.rblock.middle { align-items: center; }
.rblock .col {
	display: block; position: relative;
	min-height: 1px; margin-top: 1rem;
}
.rblock .col:first-child {
	margin-top: 0;
}
@media (min-width: 768px) {
	.rblock {
		display: grid;
		grid-template: auto / repeat(12, 1fr); column-gap: 1rem;
	}
	.rblock.nogut { column-gap: 0; }
	.rblock.biggut { column-gap: 2rem; }

	.rblock .col {
		grid-column-start: auto; grid-column-end: span 12;
		margin-top: 0;
	}

	.rblock .col.f1 { grid-column-end: span 1; }
	.rblock .col.f2 { grid-column-end: span 2; }
	.rblock .col.f3 { grid-column-end: span 3; }
	.rblock .col.f4 { grid-column-end: span 4; }
	.rblock .col.f5 { grid-column-end: span 5; }
	.rblock .col.f6 { grid-column-end: span 6; }
	.rblock .col.f7 { grid-column-end: span 7; }
	.rblock .col.f8 { grid-column-end: span 8; }
	.rblock .col.f9 { grid-column-end: span 9; }
	.rblock .col.f10 { grid-column-end: span 10; }
	.rblock .col.f11 { grid-column-end: span 11; }
	.rblock .col.f12 { grid-column-end: span 12; }
}

.fblock {
	display: grid; position: relative;
	grid-template: auto / repeat(12, 1fr); column-gap: 1rem;
	margin: 1.125rem 0 0 0;
}
.fblock:first-child {
	margin-top: 0 !important;
}
.fblock.hug { margin-top: 0.125rem; }
.fblock.snug { margin-top: 0.5rem; }
.fblock.nogut { column-gap: 0; }
.fblock.biggut { column-gap: 2rem; }
.fblock.middle { align-items: center; }
.fblock .col {
	display: block; position: relative;
	grid-column-start: auto; grid-column-end: span 12;
	min-height: 1px;
}
.fblock .col.center { text-align: center; }
.fblock .col.f1 { grid-column-end: span 1; }
.fblock .col.f2 { grid-column-end: span 2; }
.fblock .col.f3 { grid-column-end: span 3; }
.fblock .col.f4 { grid-column-end: span 4; }
.fblock .col.f5 { grid-column-end: span 5; }
.fblock .col.f6 { grid-column-end: span 6; }
.fblock .col.f7 { grid-column-end: span 7; }
.fblock .col.f8 { grid-column-end: span 8; }
.fblock .col.f9 { grid-column-end: span 9; }
.fblock .col.f10 { grid-column-end: span 10; }
.fblock .col.f11 { grid-column-end: span 11; }
.fblock .col.f12 { grid-column-end: span 12; }

.callout.label {
	margin: 0;
}

.editform_list {
	border: 1px solid #ccc;
}

.editform_list .item {
	display: flex;
	padding: 0.5rem;
	border-bottom: 1px solid #eee;
}

.editform_list .item.parent {
	border-top-color: #ccc;
}

.editform_list .item:first-child {
	border-top: none;
}

.editform_list .item .checkbox {
	flex: 0 0 1.5rem;
}

.editform_list .item .label {
	/* flex: 1 1 auto; */
	flex: 0 0 18rem;
}

.editform_list .item .references {
	flex: 1 1 auto;
}

.editform_list .item .icon {
	flex: 0 0 2.5rem;
	text-align: right;
}

.editform_list .item .icon img {
	display: block;
	width: auto;
	height: 0.875rem;
	margin: 0 0 0 auto;
}

/*
#categories .item .cat {
	flex: 0 0 4rem;
	text-align: right;
}

#categories .item.child .cat {
	color: #aaa;
}

#categories .item .catsep {
	flex: 0 0 1rem;
	text-align: center;
}

#categories .item .subcat {
	flex: 0 0 3rem;
}
*/

ul.sq {
	list-style: square;
	margin: 1.25rem 0 0 0; padding: 0 0 0 1.5rem;
	line-height: normal;
}
ul.sq li {
	margin: 1rem 0 0 0;
}
ul.sq li:first-child {
	margin-top: 0;
}
ul.snug { margin-top: 0.75rem; }

.colorblock {
	display: inline-block;
	width: 1em; height: 1em; margin-right: 0.25rem;
	vertical-align: bottom;
}

.editcog {
	display: block; position: absolute;
	top: 0; right: 0;
	font-size: 1.25rem; line-height: 1;
}

.fnc_link {
	cursor: pointer;
}


@media (max-width: 767px) {
	#upper {
		display: block; position: fixed; z-index: 500;
		left: 0; right: 0; top: 0;
	}
}

#head {
	display: none; position: relative; z-index: 100;
	background: #fff;
}
#head .wrapper {
	display: flex;
	align-items: center;
}
#head .logo {
	flex: 1 1 50%;
	padding: 1rem 0;
}
#head .logo img {
	display: block;
	width: auto; height: auto; max-width: 100%; max-height: 3.5rem;
}
#head .menu {
	flex: 1 1 50%;
	padding: 1rem 0 1rem 2rem;
	text-align: right;
}
#head .menu a {
	color: #000; text-decoration: none;
}
#head .menu .item {
	display: inline-block;
	margin: 0 0 0 1rem; padding: 0 0 0 1rem;
	border-left: 1px solid #bbb;
}
#head .menu .item:first-child {
	margin-left: 0; padding-left: 0;
	border: none;
}
#head .menu .item i {

	margin: 0 0 0 0.375rem;
}
/*
#head .account {
	display: inline-flex;
}
#head .user .photo {
	flex: 0 0 2.5rem;
	width: 2.5rem; height: 2.5rem;
}
#head .user .photo img {
	display: block;
	width: 2.5rem; height: 2.5rem;
	border-radius: 1.25rem; box-shadow: 0 0 0 0.125rem #fff;
}
#head .user .name {
	flex: 1 1 auto;
	margin-left: 0.75rem;
	font-size: 1.125rem; line-height: 2.5rem; white-space: nowrap;
}
*/
@media (max-width: 767px) {
/*
	#upper.open #head {
		display: block;
	}
*/
}
@media (min-width: 768px) {
	#head {
		display: block;
		height: 5.5rem;
	}
}

#modules {
	display: none; position: relative; z-index: 300;
	padding: 0.5rem 0;
	background: #000; color: #fff;
}
body.nomod #modules {
	display: none;
}
#modules.stuck {
	position: fixed;
	left: 0; right: 0; top: 0;
}
#modules .item {
	height: 2.5rem; margin-top: 0.5rem; padding: 0 0.25rem;
}
#modules .item:first-child {
	margin-top: 0;
}
#modules .item.active {
	font-weight: 700;
}
#modules .item.select select {
	padding: 0.5rem 0.75rem;
	background-color: #eee; border: none;
	font-size: 1.125rem; color: #000;
}
#modules .item.select select:focus {
	background: #fff;
}
#modules .item.module a {
	color: #fff; text-decoration: none;
}
#modules .item.module .icon {
	display: block; position: absolute; box-sizing: border-box;
	width: 2.5rem; height: 2.5rem; padding: 0.75rem;
	background: #555;
	font-size: 1rem; color: #fff; line-height: 1; text-align: center;
}
#modules .item.module .label {
	display: block;
	padding: 0 1.25rem 0 3.25rem;
	background: #333;
	font-size: 1rem; line-height: 2.5rem; vertical-align: baseline;
}
@media (max-width: 767px) {
/*
	#upper.open #modules {
		display: block;
	}
*/
}
@media (min-width: 768px) {
	#modules {
		display: block;
		height: 3.5rem; padding: 0;
	}
	#modules .wrapper {
		display: flex; gap: 0.5rem; align-items: baseline;
	}
	#modules .item {
		flex: 1 1 15%;
		height: 3.5rem; margin: 0; padding: 0.5rem 0;
	}
	#modules .item.select {
		flex: 1 1 40%;
	}
	#modules .item.active .icon {
		height: 3rem;
		background: #1c548c;
	}
}

#controlbar {
	display: block; position: relative; z-index: 500;
	left: 0; right: 0; top: 0;
	height: 3rem;
	background: var(--color-primary); border-bottom: 1px solid #0003;
	color: #fff; line-height: 2.5rem;
}
#controlbar.rule {
	display: none;
	height: 0.75rem;
}
#controlbar.stuck {
	position: fixed;
	left: 0; right: 0; top: 3.5rem;
}
#controlbar .wrapper {
	display: flex;
}
#controlbar #head_toggle {
	display: block; position: absolute;
	left: 0; top: 0; width: 3rem; height: 3rem;
	background: #333;
	color: #fff; text-align: center; line-height: 3rem;
	cursor: pointer;
}
#upper #controlbar #head_toggle i.collapse {
	display: none;
}
#upper.open #controlbar #head_toggle i.expand {
	display: none;
}
#upper.open #controlbar #head_toggle i.collapse {
	display: inline-block;
}
#controlbar .module {
	flex: 1 1 auto;
	margin-left: 3rem;
	white-space: nowrap; line-height: 3rem;
}
#controlbar .module i {
	margin-right: 0.5rem;
	font-size: 1rem; vertical-align: text-top;
}
#controlbar h1 {
	display: inline;
	font-size: 1.25rem;
}
#controlbar .menu {
	flex: 1 1 auto;
	list-style: none;
	text-align: right; line-height: 3rem;
}
#controlbar .menu a {
	color: #fff; text-decoration: none;
}
#controlbar .menu .links {
	display: none;
}
@media (min-width: 768px) {
	#controlbar {
		position: relative;
		left: auto; right: auto; top: auto;
	}
	#controlbar.rule {
		display: block;
	}
	#controlbar #head_toggle {
		display: none;
	}
	#controlbar .module {
		flex: 1 1 auto;
		margin-left: 0;
	}
	#controlbar h1 {
		font-size: 1.375rem;
	}
	#controlbar .menu .toggle {
		display: none;
	}
	#controlbar .menu .links {
		display: block;
	}
	#controlbar .menu .link {
		display: inline-block;
		margin: 0 0 0 1.5rem;
	}
	#controlbar .menu .link i {
		margin-right: 0.25rem;
	}
}

#mobilebar {
	display: block; position: relative; z-index: 500;
	left: 0; right: 0; top: 0;
	height: 3rem;
	background: var(--color-primary); border-bottom: 1px solid #0003;
	color: #fff; line-height: 2.5rem;
}
#mobilebar.stuck {
	position: fixed;
	left: 0; right: 0; top: 3.5rem;
}
#mobilebar .wrapper {
	display: flex;
}
#mobilebar #head_toggle {
	display: block; position: absolute;
	left: 0; top: 0; width: 3rem; height: 3rem;
	background: #333;
	color: #fff; text-align: center; line-height: 3rem;
	cursor: pointer;
}
#upper #mobilebar #head_toggle i.collapse {
	display: none;
}
#upper.open #mobilebar #head_toggle i.expand {
	display: none;
}
#upper.open #mobilebar #head_toggle i.collapse {
	display: inline-block;
}
#mobilebar .module {
	flex: 1 1 auto;
	margin-left: 3rem;
	white-space: nowrap; line-height: 3rem;
}
#mobilebar .module i {
	margin-right: 0.5rem;
	font-size: 1rem; vertical-align: text-top;
}
#mobilebar h1 {
	display: inline;
	font-size: 1.25rem;
}
#mobilebar .menu {
	flex: 1 1 auto;
	list-style: none;
	text-align: right; line-height: 3rem;
}
#mobilebar .menu a {
	color: #fff; text-decoration: none;
}
#mobilebar .menu .links {
	display: none;
}
@media (min-width: 768px) {
	#mobilebar {
		display: none;
	}
}


#content {
	display: block; position: relative;
}


#body {
	display: block; position: relative; box-sizing: border-box;
	padding: 1.5rem 0 3rem 0;
	background: #f2f2f2;
}
@media (min-width: 768px) {
	.wrapper.paneled {
		min-height: calc(100vh - 9.5rem);
	}
	body.nomod .wrapper.paneled {
		min-height: calc(100vh - 6rem);
	}
	.wrapper.paneled #body {
		flex: 1 1 auto;
		padding-left: 1.5rem;
	}
}

/*
.body_wrap {
	display: block;
	width: 100%; margin: 0 auto;
}
.body_wrap.large {
	max-width: 1024px;
}
.body_wrap.medium {
	max-width: 768px;
}
*/

.panel {
	display: block; position: relative;
	padding: 1rem;
	background: #ddd;
}
@media (max-width: 767px) {
	.panel {
		margin-top: 1rem;
	}
}
@media (min-width: 768px) {
	.panel {
		flex: 0 0 280px;
		width: 280px;
	}
}

#panel_toggle {
	display: none;
}
@media (max-width: 767px) {
	#panel_toggle {
		display: block;
	}
	#panel_toggle i {
		margin-right: 0.5rem;
	}
}

#panel_menu {
	padding-bottom: 7rem;
}
#smartassoc {
	display: block; position: absolute;
	left: 1rem; right: 1rem; bottom: 3.5rem;
}
#smartassoc img {
	display: block; opacity: 0.7;
	width: auto; height: auto; max-height: 1.5rem; margin: 0 auto;
}

.panel .menu {
	margin-top: 2rem;
}
.panel .menu:first-child {
	margin-top: 0;
}
.panel .menu h3 {
	margin-bottom: 0.75rem;
}
.panel .menu a {
	display: block;
	padding: 0.75rem; padding-left: 0.5rem;
	background: #eee; box-shadow: 0 0 1px #0005;
	color: #000; text-decoration: none;
}
.panel .menu a:hover {
	background: #f5f5f5;
}
.panel .menu i {
	width: 1.5rem; margin-right: 0.25rem;
	text-align: center;
}
.panel .menu .links {
}
.panel .menu .links .link {
	margin-top: 0.5rem;
}
.panel .menu .links .link:first-child {
	margin-top: 0;
}
.panel .menu .links .link.current>a {
	border-right: 0.25rem solid #777;
}
.panel .menu .links .links {
	padding: 0.5rem 0 0 2.5rem;
}
.panel .menu .links .links .link:last-child {
	padding-bottom: 0;
}

.panel .checklist {
	margin-top: 2rem;
}
.panel .checklist:first-child {
	margin-top: 0;
}
.panel .checklist h3 {
	margin-bottom: 0.75rem;
}
.panel .checklist a {
	display: block;
	padding: 0.75rem; padding-right: 0.5rem;
	background: #eee; box-shadow: 0 0 1px #0005;
	color: #000; text-decoration: none;
}
.panel .checklist a:hover {
	background: #f5f5f5;
}
.panel .checklist i {
	float: right;
	width: 1.5rem; margin-left: 0.25rem;
	color: #d00; text-align: center;
}
.panel .checklist .link.complete i { color: #000; }
.panel .checklist .link.optional i { color: #0004; }
.panel .checklist .links {
	border-left: 2px solid #999;
}
.panel .checklist .links .link {
	position: relative;
	margin-top: 0.5rem; padding-left: 0.5rem;
}
.panel .checklist .links .link:first-child {
	margin-top: 0;
}
.panel .checklist .links .link:after {
	content: "";
	display: block; position: absolute;
	left: 0; top: calc(50% - 1px); width: 0.5rem; height: 2px;
	background: #999;
}
/*
.panel .checklist .links .link.current {
	padding-left: calc(0.5rem - 2px);
}
.panel .checklist .links .link.current:after {
	width: 0.25rem;
}
*/
.panel .checklist .links .link.current a {
	padding-right: 0.25rem;
	border-right: 0.25rem solid #777;
}
.panel .checklist .links .links {
	padding: 0.5rem 0 0 2.5rem;
}
.panel .checklist .links .links .link:last-child {
	padding-bottom: 0;
}

.btn {
	background: #3c801a;
}
.btn.navigate { background: var(--color-primary); }

.codetext {
	display: inline-block;
	padding: 0.125rem 0.25rem;
	background: #0001; box-shadow: 0 0 1px #000;
}

/* .fg_submit { color: #3c801a !important; }
.fg_review { color: #8c1c1c !important; }
.fg_groups { color: #8c8c1c !important; }
.fg_schedule { color: #1c548c !important; }
.fg_admin { color: #555 !important; }

.bg_submit { background-color: #3c801a !important; }
.bg_review { background-color: #8c1c1c !important; }
.bg_groups { background-color: #8c8c1c !important; }
.bg_schedule { background-color: #1c548c !important; }
.bg_admin { background-color: #555 !important; } */

.bg_status_0 { background-color: #990 !important; }
.bg_status_1 { background-color: #080 !important; }
.bg_status_9 { background-color: #555 !important; }

.if_toggle {
	display: none;
}

.container {
	display: block; position: relative;
	margin: 1rem 0 0 0; padding: 1rem;
	background: #fff; border: 1px solid #ccc;
}
