/* ACCENT COLORS */
:root {
  --a: #3576ED; /* blue */
  --b: #e7effd; /* light blue */
  --y: #FCF770; /* yellow */
}
@font-face {
    font-family: 'pn';
    src: url('pn.woff2') format('woff2'),
         url('pn.woff') format('woff');
    font-weight: normal;
    font-style: normal;

}
@font-face {
    font-family: 'pnb';
    src: url('pnb.woff2') format('woff2'),
         url('pnb.woff') format('woff');
    font-weight: normal;
    font-style: normal;
}
html, body {
    margin: 0;
    padding: 0;
    min-height: 100%;
}
html,body,div,li,img,a {
	padding: 0;
	margin: 0;
	border: 0;
	list-style: none;
	font-size: 100%;
	font: inherit;
	vertical-align: baseline;
	color: #212221;
}
body {
                background-color: #f2f2f2;
                background-attachment: fixed;
	visibility: hidden;
	color: black;
	-webkit-tap-highlight-color: rgba(0,0,0,0);
	font-family: 'pn', '-apple-system','lato', 'Helvetica Neue', Arial, sans-serif;
}
b,h1,h2,h3,h4{
  font-family:'pnb','-apple-system','lato', 'Helvetica Neue', Arial, sans-serif;
  font-weight: normal;
  font-style: normal;
}
#loader {
	position: fixed;
	z-index: 11;
	right: 0;
	left: 0;
	top: 0;
	display: none;
}
#loader.a {
	display: block;
}
#loader > div {
	background-color: #f2c845;
	display: table;
	margin-right: auto;
	margin-left: auto;
	border-radius: 9em;
	padding: 0.3em .8em 0.3em 0.8em;
	margin-top: .5em;
}

/* LOST CONNECTION */
#off {
	background-color: #ff6c62;
	position: fixed;
	text-align: center;
	z-index: 20;
	top: 0;
	right: 0;
	left: 0;
	padding-top: 1em;
	padding-bottom: 1em;
	color: white;
	transition: all .3s;
	transform: translateY(-100%);
	display: none;
}
#off div {
	display: inline-block;
	border-radius: 9em;
	background-color: #f33f33;
	padding: .5em 1em;
	margin-left: 1em;
	cursor: pointer;
	color: white;
	transition: all .3s;
}
.nt #off div:hover {
	transform: scale(1.05);
}
#off.a {
	transform: translateY(0);
}
/* SAVED */
#saved {
	position: fixed;
	z-index: 4;
	display: none;
	top: 0;
	width: 100%;
}
#saved > div {
	margin-right: auto;
	margin-left: auto;
	background-color: #f2c946;
	display: table;
	padding: 7px;
}
/* MODAL OVERLAY */
#overlay {
	display: none;
	/*opacity: 0;*/
	position: fixed;
	z-index: 10;
	background-color: rgba(27, 27, 27, 0.7);
	top: 0;
	bottom: 0;
	right: 0;
	left: 0;
	overflow-y: auto;
	-webkit-transition: opacity 0.3s ease-in-out;
	-moz-transition: opacity 0.3s ease-in-out;
	-o-transition: opacity 0.3s ease-in-out;
	transition: opacity 0.3s ease-in-out;
}
#owrap, #owrap .in {
	display: table-cell;
	vertical-align: middle;
}
#owrap .out {
	display: table;
	margin-right: auto;
	margin-left: auto;
	/*-webkit-transition: margin-top 0.3s;
	-moz-transition: margin-top 0.3s;
	-o-transition: margin-top 0.3s;
	transition: margin-top 0.3s;
	margin-top: -3em;*/
}
#owrap.a .out {
	margin-top: 1em;
	max-width: 90%;
	margin-bottom: 1em;
}
#owrap .in {
	background-color: #f6f6f6;
	padding: 1em;
	/*-webkit-box-shadow: 0 0 1em rgba(0, 0, 0, 0.5);
	-moz-box-shadow: 0 0 1em rgba(0, 0, 0, 0.5);
	box-shadow: 0 0 1em rgba(0, 0, 0, 0.5);
	-webkit-border-radius: 3px;
	-moz-border-radius: 3px;*/
	border-radius: .8em;
}
#owrap .in label, .w label {
	font-size: 0.8em;
	color: gray;
	text-shadow: 0 1px 1px #ffffff;
}
#owrap .header {
	font-size: 1.5em;
	font-family: 'pnb';
	position: relative;
	padding-right: 1em;
}
#owrap .header > div {
	display: inline-block;
}
#owrap .close {
	color: silver;
	cursor: pointer;
	border-radius: 9em;
	position: absolute;
	right: 0;
	transition: all .3s;
	background-color: #ededed;
	font-size: .8em;
	padding: .3em .5em .2em;
}
#owrap .close:hover {
	color: gray;
	transform: scale(1.05);
	background-color: #e7e7e7;
}
input[type=text], input[type=number], input[type=email], input[type=tel], input[type=date], input[type=time], input[type=password], textarea {
  background-color: white;
  outline: none;
  border: .2em solid white;
  border-radius: .7em;
  display: inline-block;
  font: inherit;
  line-height: 1.5em;
  padding: 0.5em 3.5em 0.5em 1em;
  -webkit-box-sizing: border-box;
  -moz-box-sizing: border-box;
  box-sizing: border-box;
  -webkit-appearance: none;
  -moz-appearance: none;
  box-shadow: 0 0 .5em #f2f2f2;
}
input:focus, textarea:focus {
  border-color: var(--a);
}
select {
  background-color: white;
  border: 0 solid #e1e1e1;
  border-radius: .7em;
  display: inline-block;
  font: inherit;
  line-height: 1.5em;
  padding: 0.5em 3.5em 0.5em 1em;
  -webkit-box-sizing: border-box;
  -moz-box-sizing: border-box;
  box-sizing: border-box;
  -webkit-appearance: none;
  -moz-appearance: none;
  background-image:
    linear-gradient(45deg, transparent 50%, gray 50%),
    linear-gradient(135deg, gray 50%, transparent 50%),
    linear-gradient(to right, #ccc, #ccc);
  background-position:
    calc(100% - 20px) calc(1em + 2px),
    calc(100% - 15px) calc(1em + 2px),
    calc(100% - 2.5em) 0.5em;
  background-size:
    5px 5px,
    5px 5px,
    1px 1.5em;
  background-repeat: no-repeat;
	max-width: calc(100% - 3em);
}
/*#owrap .in input[type=text], #owrap .in input[type=password], #owrap .in textarea, .w input[type=text], .w select, #owrap .in select, input[type=file], .w input[type=date], #owrap input[type=time] {
	font-size: 1.2em;
	padding: 0.4em;
	-moz-box-sizing: border-box;
	-webkit-box-sizing: border-box;
	box-sizing: border-box;
	width: 100%;
	outline: none;
	border: 1px solid #dcdcdc;
	-webkit-appearance:none;
	border-radius: 0;
}
#owrap .in input[type=text]:focus, #owrap .in input[type=password]:focus, #owrap .in textarea:focus, .w input[type=text]:focus, .w input[type=date]:focus, #owrap input[type=time]:focus {
	border-color: #41a4f9;
	-webkit-box-shadow: 0 0 0.3em #41a4f9;
	-moz-box-shadow: 0 0 0.3em #41a4f9;
	box-shadow: 0 0 0.3em #41a4f9;
}
#owrap .in input[type=tel] {
	font-size: 1.2em;
	padding: 0.4em;
	outline: none;
	border: 1px solid #dcdcdc;
	-webkit-appearance:none;
	border-radius: 0;
}
#owrap .in input[type=tel]:focus {
	border-color: #41a4f9;
	-webkit-box-shadow: 0 0 0.3em #41a4f9;
	-moz-box-shadow: 0 0 0.3em #41a4f9;
	box-shadow: 0 0 0.3em #41a4f9;
}*/
#owrap .in textarea {
	/*width: 11em;*/
}
.w input[type=checkbox] {
	font-size: 1.2em;
}
#owrap select {
	font-size: 1em;
}
#owrap .i {
	width: 270px;
}
#owrap .inst {
	position: absolute;
	font-weight: bold;
	font-size: 1.6em;
}
#owrap .bx > div {
	display: inline-block;
	margin-right: 10px;
}
.hidden {
	visibility: hidden;
	position: absolute;
}
#owrap .sm {
	font-size: 0.6em;
	color: silver;
	position: relative;
	cursor: pointer;
	top: -0.7em;
}
#owrap .sm:hover {
	color: #42A4F9;
}
#owrap .per {
	text-align: center;
	display: block;
	text-decoration: none;
	background-color: #e9e9e9;
	padding: 0.5em;
	margin-top: 0.5em;
	border-radius: 9em;
	transition: all .3s;
}
#owrap .per:hover {
	background-color: #e3e3e3;
	transform: scale(1.02);
}
#owrap .per.g {
	background-color: #d8d9d8;
}
#owrap .per.g:hover {
	background-color: #cecece;
}
.inline1, .inline2 {
	display: inline-table;
	vertical-align:text-top;
}
.inline2 {
	padding-left: 1em;
}
#owrap .ksm {
	font-size: 0.6em;
	color: gray;
	margin-bottom: 0.5em;
}
.bci {
	
}
.bci li {
	position: relative;
	padding: 1em 1em 1em 3em;
	margin-bottom: .2em;
	color: gray;
	cursor: pointer;
}
.bci svg {
	position: absolute;
	top: .2em;
	fill: transparent;
	color: silver;
	left: .2em;
}
.bci li.a svg {
	opacity: 1;
	color: #41a4f9;
}
.bci li.a {
	background-color: transparent;
	color: black;
}
.pFile {
	color: transparent;
	margin-top: 1em;
	margin-bottom: 1em;
	padding: 0;
	width: 270px;
	max-width: 100%;
}
.pFile::-webkit-file-upload-button {
	visibility: hidden;
}
.pFile::before {
	content: 'Add Photo +';
	-webkit-user-select: none;
	cursor: pointer;
	outline: none;
	white-space: nowrap;
	color: silver;
	border: none;
	display: inline-block;
	width: 270px;
	max-width: 100%;
}
.pFile.lbl::before {
	content: 'Select DYMO Layout';
}
.pFile.csv {
	width: 100%;
	position: absolute;
	opacity: 0;
}




/* NAV */
#nav, #menu {
	-webkit-transition: left 0.2s;
	-moz-transition: left 0.2s;
	-ms-transition: left 0.2s;
	-o-transition: left 0.2s;
	transition: left 0.2s;
}
body.a.b #nav, body.a.b #menu {
	display: none;
}
#nav {
	position: fixed;
	width: 7em;
	font-size: 1.2em;
	top: 0;
	bottom: 0;
	overflow-y: auto;
	z-index: 4;
	padding: .5em;
	background-color: #1E1E1E;
}
#nav.a, body.a #nav {
	left: 0;
}
#nav a {
	color: gray;
	display: block;
	padding-top: 0.5em;
	padding-bottom: 0.5em;
	text-decoration: none;
	text-align: center;
	border-radius: 7em;
	transition: all .3s;
}
#nav a:hover {
	color: white;
}
#nav a.a {
	color: black;
	background-color: #f1c946;
}
.initial {
	background-color: var(--b);
	font: 1em 'pnb';
	color: var(--a);
	text-align: center;
	height: 100%;
	padding-top: .5em;
}

/* MENU */
#menu {
	position: fixed;
	left: 0;
	font-size: 1.2em;
	width: 1.2em;
	padding: 1em;
	cursor: pointer;
	opacity: 1;
}
body.a #menu {
	left: 8em;
	opacity: 1;
}
#menu > div {
	display: block;
	border-radius: 9em;
	background-color: silver;
	transition: all .3s;
	height: 0.2em;
	margin-top: 0.2em;
	margin-bottom: 0.2em;
}
#menu:hover > div, #menu:active > div, body.a #menu > div {
	background-color: black;
}


/* CONTENT WRAPPER */
.w {
	padding: 1em;
	margin-left: 8em;
	font-size: 1.2em;
	position: relative;
}
.w.x {
	padding: 0;
}
.w.p {
	padding: 11em 1em 1em;
}
.people-header {
    position: fixed;
    right: 0;
    top: 0;
    left: 8em;
    padding: 1em 1em 0;
    z-index: 2;
    background-color: rgba(241, 242, 241, 0.92);
    -moz-box-shadow: 0 5px 10px rgba(241, 242, 241, 0.5);
}

#chat-application {
	display: none !important;
}
#chart svg circle {
	fill: var(--a);
}

/* BUTTONS */
.big {
	cursor: pointer;
	text-align: center;
	margin-top: 1em;
	margin-bottom: 1em;
	padding: 0.5em;
	display: block;
	border-radius: 8em;
	text-decoration: none;
	transition: all .3s;
}
.big:hover {
	transform: scale(1.02);
}
#owrap .big {
	font-size: 1.2em;
}
a.trbl {
	display: inline-block;
	border-radius: 5em;
	font-size: .7em;
	padding: .4em .8em;
	background-color: #42a4f9;
	color: #f1f2f1;
	text-decoration: none;
	font-weight: bold;
}
.blue {
	background-color: var(--a);/*#42a4f9;*/
	color: white;/*#f1f2f1;*/
}
/*.blue:hover {
	background-color: #1b92f9;
}*/
.silver {
	background-color: #d9d9d9;
	color: gray;
}
.silver:hover {
	background-color: #d0d0d0;
}
.yel {
	background-color: #F2C946;
}
.yel:hover {
	background-color: #f0bf25;
}
.yellow {
	background-color: #F2C946;
}
.yellow:hover {
	background-color: #f0bf25;
}
.big.yellow {
	padding-top: 1.5em;
	padding-bottom: 1.5em;
}
.red {
	background-color: #e85843;
	color: #000000;
}
.red:hover {
	background-color: #df331a;
}
.th1 {
	background-color: white;
	color: #41a4f9;
}
.th2 {
	color: #f2c845;
	background-color: black;
}
#afile {
	position: absolute;
	height: 3em;
	opacity: 0;
	display: block;
	width: 18em;
}


/* DASHBOARD */
#d > a {
	display: inline-block;
	background-color: white;
	padding: 1em;
	border-radius: .8em;
	margin-right: 1em;
	margin-bottom: 1em;
	text-align: center;
	text-decoration: none;
}
#d a:hover {
	background-color: #f8f8f8;
}
#d .n {
	font-family: 'pnb';
	font-size: 8em;
}
#d .c.rm {
	background-color: #f1f2f1;
	margin-right: auto;
	margin-left: auto;
	display: block;
}
#d .c.rm:hover .n {
	color: #f2c845;
}
#d .la {
	display: none;
	font-family: 'pnb';
	text-align: center;
	font-size: 1.5em;
	padding-bottom: 0.2em;
}
.rbg {
	background-color: #272620;
	width: 100%;
	position: relative;
	height: 3em;
	margin-bottom: 1em;
	cursor: pointer;
	overflow: hidden;
	border-radius: .8em;
}
.rbg .o {
	height: 100%;
	background-color: rgba(241, 201, 70, 0.5);
	position: absolute;
	width: 100%;
	display: none;
}
.rbg:hover .o {
	display: block;
}
.rbg .progress2 {
	height: 100%;
	background-color: gray;
	position: absolute;
}
.rbg .progress {
	height: 100%;
	background-color: #F2C946;
	position: absolute;
}
.rbg .progress.rd {
	background-color: #e85843;
}
.rbg .l, .rbg .r {
	position: absolute;
	font-family: 'pnb';
	font-size: 2em;
	padding: 0.15em 0.3em;
	color: #f1f2f1;
}
.rbg .r {
	right: 0;
}
.rbg .lt {
	opacity: 0.5;
}



/* PEOPLE */
.sb {
	-webkit-transition: padding-left 0.2s;
	-moz-transition: padding-left 0.2s;
	-ms-transition: padding-left 0.2s;
	-o-transition: padding-left 0.2s;
	transition: padding-left 0.2s;
	padding-left: 0;
}
#s {
	-moz-box-sizing: border-box;
	-webkit-box-sizing: border-box;
	box-sizing: border-box;
	width: 100%;
	border: .2em solid white;
	outline: none;
	padding: .4em 0.8em;
	font-size: 1em;
}
#s:focus {
	border-color: var(--a);/*#41a4f9;*/
}
#r {
	position: absolute;
	display: none;
}
#rbox {
	background-color: #272620;
	z-index: 3;
	position: relative;
	border-radius: .6em;
	overflow: hidden;
}
#rbox .no {
	color: silver;
	font-size: 0.8em;
	padding-bottom: 0.5em;
}
#rbox > div {
	font-size: 1em;
	color: white;
	cursor: pointer;
	padding: 0.5em 1em 0.1em;
}
#rbox > div:hover, #rbox > div.a {
	color: #F2C946;
	background-color: #161511;
}
#rbox > div > small {
	font-size: 0.6em;
	color: gray;
	position: relative;
	top: -0.6em;
}
#r .arrow {
	border-bottom: 0.5em solid #272620;
	border-right: 0.5em solid transparent;
	border-left: 0.5em solid transparent;
	width: 0;
	margin-left: 1em;
}
.h {
	background-color: white;
	margin-bottom: 1em;
	border-radius: .8em;
	overflow: hidden;
	box-shadow: 0 0 .5em rgba(0, 0, 0, 0.05);
}
.house {
	cursor: pointer;
	padding-left: .5em;
	transition: all .3s;
}
.house:hover {
	background-color: #f3f3f3;
}
.house:hover .add {
	background-color: var(--a);
	color: white;
}
.house > div {
	padding: 0.5em;
	display: block;
}
.house .add {
	color: #adadad;
	position: absolute;
	right: 1em;
	border-radius: 9em;
	padding: .2em .5em .1em;
	display: inline-block;
	background-color: #f1f1f1;
	margin-top: -1.9em;
	margin-right: .3em;
	transition: all .3s;
}
.house .add:hover {
	background-color: #27251f;
	color: #f1f2f1;
}
.house .drop {
	position: absolute;
	right: 0em;
	display: none;
	z-index: 2;
	font-size: 1.2em;
	border-radius: .7em;
	overflow: hidden;
}
.house .add:hover .drop {
	display: block;
}
.house .box {
	background-color: #272620;
	width: 6em;
	padding: 0.3em;
}
.house .box > div {
	color: silver;
	font-size: 0.8em;
	padding: 0.2em .5em 0.2em 0.2em;
	text-align: right;
}
.house .box > div:hover {
	color: #F2C946;
}
.person {
	border-top: 1px solid #f0f0f0;
	cursor: pointer;
	position: relative;
	padding-left: 1em;
	transition: all .3s;
}
.person .photo {
	width: 2.1em;
	height: 2.1em;
	border-radius: 9em;
	overflow: hidden;
	position: absolute;
	background-color: #f1f2f1;
	top: .4em;
	left: .8em;
	transition: all .3s;
}
.person img {
	width: 100%;
	height: 100%;
	transition: opacity .5s;
	opacity: 1;
}
.person img.lazy {
	opacity: 0;
}
.person:hover {
	background-color: var(--b);/*#f8f8f8;*/
	padding-left: 1.2em;
}
.person:hover .details {
	color: var(--a);
}
.person:hover .photo {
	transform: scale(1.02);
}
.person .indi {
	position: relative !important;
	padding: .8em;
}
.person .details {
	color: #d8d9d8;
	margin-left: 1em;
	position: relative;
	top: -0.1em;
	font-size: 0.6em;
}
.person .details .bubble {
	background-color: #d8d9d8;
	color: white;
	font-size: 1em;
	padding: 0.2em 0.7em;
	border-radius: 9em;
}
.person .details .bubble.v {
	background-color: #F2C946;
}






/* CHECKED-IN */
#ck {
	
}
.ch {
	background-color: white;
}
.ch a {
	text-decoration: none;
	padding: 0.5em;
	display: inline-block;
}
#gsel {
	display: inline-block;
	font-size: 1em;
	position: relative;
	margin-left: 1em;
	top: -0.1em;
	position: absolute;
	visibility: hidden;
}
.gz {
	display: inline-block;
	cursor: pointer;
	padding: 0.5em;
	background-color: #f1f2f1;
}
.gz:hover {
	background-color: #27251f;
}
.gz:hover #ga, .gz:hover #gb {
	color: white;
}
.gz:hover .darrow {
	border-top: 0.4em solid white;
}
.gz:hover .gd {
	display: block;
}
.gd {
	position: absolute;
	background-color: #272620;
	cursor: pointer;
	padding-top: 0.5em;
	margin-top: 0.5em;
	margin-left: -0.5em;
	border-radius: .5em;
	display: none;
	z-index: 2;
	padding-bottom: .5em;
}
.gd li {
	color: white;
	padding-bottom: 0.5em;
	padding-left: 1em;
	padding-right: 1em;
}
.gd li:hover {
	color: #F2C946;
}
.darrow {
	border-top: 0.4em solid #212120;
	border-right: 0.4em solid transparent;
	border-left: 0.4em solid transparent;
	width: 0;
	position: relative;
	top: 0.8em;
	margin-left: 0.3em;
}
.gradeTitle {
	background-color: #e3e3e3;
	color: gray;
	padding: 0.5em;
	font-weight: bold;
	cursor: pointer;
	clear: left;
}
/*.cp {
	position: fixed;
	top: 4em;
	right: 0;
	bottom: 0;
	left: 0;
	overflow-y: scroll;
	-webkit-overflow-scrolling: touch;
}*/
.cp {
	-webkit-touch-callout: none; /* iOS Safari */
	   -webkit-user-select: none; /* Safari */
	    -khtml-user-select: none; /* Konqueror HTML */
	      -moz-user-select: none; /* Firefox */
	       -ms-user-select: none; /* Internet Explorer/Edge */
	           user-select: none; 
}
.cp li {
	background-color: silver;
	cursor: pointer;
	position: relative;
	display: inline-block;
	margin-bottom: 0;
	float: left;
	-webkit-touch-callout: none; /* iOS Safari */
	   -webkit-user-select: none; /* Safari */
	    -khtml-user-select: none; /* Konqueror HTML */
	      -moz-user-select: none; /* Firefox */
	       -ms-user-select: none; /* Internet Explorer/Edge */
	           user-select: none; 
}
.cp li:hover {
	background-color: #aeaeae;
}
.cp .child {
	vertical-align: middle;
	display: table-cell;
	margin-bottom: 0;
}
.cp li.c, #owrap .per.c {
	background-color: #F2C946;
}
.cp li.c:hover, #owrap .per.c:hover {
	background-color: #f0bf25;
}
.cp li.c.n, #owrap .per.c.n {
	background-color: #41a4f9;
}
.cp li.c.n:hover, #owrap .per.c.n:hover {
	background-color: #1b92f9;
}
.cp li.c.v {
	background-color: #323232;
}
.cp li.c.v .name {
	color: white;
}
.cp li.c.v .name:after {
	content: '(Volunteer)';
	display: block;
	font-size: 0.8em;
	color: rgba(255, 255, 255, 0.5);
}
.cp li.c.v:hover {
	background-color: #2a2a2a;
}
.cp .out {
	display: table;
	margin-right: auto;
	margin-left: auto;
}
.cp .pic .child {
	background-color: rgba(190, 190, 190, 0.8);
}
.cp .c.pic .child {
	background-color: rgba(241, 201, 70, 0.7);
}
.cp .c.n.pic .child {
	background-color: rgba(65, 164, 249, 0.7);
}
.cp .c.pic:hover .child {
	background-color: rgba(236, 185, 17, 0.7);
}
.cp .c.n.pic:hover .child {
	background-color: rgba(24, 145, 248, 0.7);
}
.cp .c.v.pic .child {
	background-color: rgba(50, 50, 50, 0.8);
}
.cp .c.v.pic:hover .child {
	background-color: rgba(42, 42, 42, 0.8);
}
.cp .name {
	position: relative;
	padding: 0.8em;
	text-align: center;
	margin-top: 3em;
	display: table-cell;
	vertical-align: middle;
}
.cp .first {
	font-size: 1.2em;
	display: block;
	font-weight: bold;
}
.cp .last {
	font-size: 1em;
	position: relative;
}
.cp.list li {
	display: block;
	float: none;
	background-size: contain;
}
.cp.list .child, .cp.list .out {
	display: block;
	text-align: left;
}
.cp.list .first {
	display: inline;
	padding-right: 0.4em;
}
.cp .view {
	padding: 1em;
	display: inline-block;
	border: 2px solid gray;
	color: gray;
	border-radius: 5px;
	margin-top: 1em;
	cursor: pointer;
	margin-bottom: 1em;
}
.none {
	text-align: center;
	font-weight: bold;
	font-size: 1.2em;
	padding: 1em;
	color: silver;
}
.allOut {
	padding: 0.5em;
	float: right;
	cursor: pointer;
	color: gray;
}
.allOut:hover {
	color: black;
}
.aOu > div {
	background-color: #e8e8e8;
	margin-top: 0.5em;
	padding: 1em;
	cursor: pointer;
	border-radius: .5em;
	text-align: center;
}
/* CHECKOUT MODAL */
.m {
	position: relative;
	margin-bottom: 1em;
}
.m > span {
	display: block;
}
.m .f {
	font-weight: bold;
	font-size: 1.6em;
	cursor: pointer;
}
.m .f:hover {
	color: #1B92F9;
}
.m .l {
	font-size: 1.2em;
}
.m .close {
	font-weight: bold;
	font-size: 1.6em;
}
.code {
	text-align: center;
	font-size: 2em;
	background-color: #F2C946;
	padding: 0.5em;
	margin-bottom: 0.5em;
	cursor: pointer;
}
.clear {
	clear: left;
}
.col li {
	position: relative;
}
.col li img {
	position: absolute;
	top: .3em;
	left: .3em;
	height: 1.6em;
	width: 1.6em;
	border-radius: 9em;
	overflow: hidden;
}







/* GRADES */
.ga {
	font-weight: bold;
	text-align: center;
	font-size: 1.6em;
	display: none;
}
.gra > li {
	margin-bottom: 1em;
	background-color: white;
	cursor: pointer;
	border-radius: .7em;
	display: block;
	position: relative;
	transition: all .3s;
}
.gra > li:hover {
	background-color: #f8f8f8;
	transform: scale(1.02);
}
.gra .d {
	color: silver;
	padding-left: 0.5em;
}
.gra .d.p {
	font-size: 0.6em;
	font-weight: bold;
	background-color: #d8d9d8;
	color: white;
	margin-left: 1em;
	padding: 0.2em 0.5em;
	border-radius: 3px;
	position: relative;
	top: -0.2em;
}
.gra .x {
	padding-top: 0.3em;
	position: absolute;
	z-index: 1;
}
.gra .y{
	display: block;
}
.z {
	padding: 0.5em;
}
.gra .y {
	position: relative;
	padding: 1em 1em 1em 2em;
}
.au, .ad {
	border-right: 0.4em solid transparent;
	border-left: 0.4em solid transparent;
	width: 0;
}
.au {
	border-bottom: 0.5em solid silver;
}
.z:hover .au {
	border-bottom-color: black;
}
.ad {
	border-top: 0.5em solid silver;
}
.z:hover .ad {
	border-top-color: black;
}

/* PROMOTION */
.ps {
	padding-bottom: 1em;
	font-weight: bold;
	color: gray;
}
.ggp {
	margin-bottom: 1em;
	border-radius: 3px;
	border: 1px solid #CECECE;
}
.ggp > div {
	padding: 0.5em;
}
.gp {
	font-weight: bold;
}
.gp > div {
	display: inline-block;
}
.gp .a {
	border-left: 0.4em solid #212120;
	border-top: 0.4em solid transparent;
	border-bottom: 0.4em solid transparent;
	width: 0;
	height: 0;
	margin-left: 0.5em;
	margin-right: 0.5em;
}
.gpp {
	background-color: white;
	border-top: 1px solid #cecece;
}
.gpp .age {
	color: silver;
	padding-left: 1em;
	font-size: 0.8em;
	font-style: italic;
}
.ps > a {
	
}
.ps > a.a {
	color: silver;
}

/* TOUCHLESS TIMEFRAMES */
.tf div {
	display: inline-block;
	margin-right: .3em;
	background-color: #d8d9d8;
	cursor: pointer;
	font-size: .8em;
	font-weight: bold;
	padding: .2em .4em;
	border-radius: .3em;
	margin-top: .3em;
}
.tf div.a {
	background-color: #41a4f9;
	color: white;
}



/* USERS */
#taken {
	display: none;
}
.user {
	background-color: white;
	margin-bottom: 1em;
	padding: 1em;
	border-radius: .7em;
	transition: all .3s;
	cursor: pointer;
}
.user:hover {
	background-color: #f8f8f8;
	transform: scale(1.02);
}
.user .adm {
	font-size: 0.6em;
	margin-left: 1em;
	font-style: italic;
	color: silver;
	position: relative;
	top: -0.2em;
}

/* APPS */
.apps a {
	text-decoration: none;
	background-color: white;
	border-radius: .7em;
	display: block;
	padding: 1em;
	margin-bottom: 1em;
	text-align: center;
	transition: all .3s;
}
.apps a:hover {
	background-color: #f8f8f8;
	transform: scale(1.02);
}
.apps .t {
	font-weight: bold;
	font-size: 1.2em;
}
.apps .ds {
	font-size: 0.8em;
	color: silver;
}
.apps .i {
	font-size: 0.8em;
	color: silver;
}

/* REPORTS */
.rdrops {
	padding: 1em;
}
.rdrops select {
	font-size: 1em;
}
svg {
	fill: #f2f2f2;
	padding: 10px;
}
#reg {
	position: relative;
}
circle:hover {
	fill: black;
	cursor: pointer;
}
#report {
	padding: 0 1em 1em;
}
#report li {
	white-space: nowrap;
	overflow: hidden;
	font-size: 1em;
	margin-bottom: 1em;
}
#report li i, #report li .view {
	position: relative;
	top: -0.1em;
	color: gray;
}
#report .bar {
	background-color: #d8d9d8;
	color: gray;
	display: block;
	text-align: center;
	padding: 0.5em 0;
}
#report .day {
	display: inline;
}
#report li div a {
	margin-top: 0.5em;
	display: block;
}
.big.silver.view {
	margin: 0.2em 0;
}
#history a {
	color: #0f95ef;
}
#history a:hover {
	color: #000000;
}
#history i, #report li > div > div {
	font-size: 0.8em;
	color: silver;
	display: block;
	font-style: italic;
}
#history p {
	padding: 0.5em;
	border-radius: .7em;
}
#history p:nth-child(odd) {
	background-color: white;
}
#printFrame {
	width: 0;
	height: 0;
	position: absolute;
	top: -9999px;
}
#trms > div {
	background-color: white;
	display: inline-block;
	float: left;
	padding: 1em;
	margin-right: 20px;
	margin-bottom: 20px;
}
#trms li {
	cursor: move;
}
#trms li:hover {
	background-color: #fcffc1;
}
#trms li i {
	color: silver;
	font-size: 0.8em;
	margin-left: 0.5em;
}
#trms ul {
	padding-left: 0;
	min-height: 1em;
}
#trms b span {
	color: silver;
}
#grs li {
	cursor: move;
	-webkit-user-select: none;  /* Chrome all / Safari all */
	 -moz-user-select: none;     /* Firefox all */
	 -ms-user-select: none;      /* IE 10+ */
	 user-select: none;
}
.big.result {
	background-color: #d8d9d8;
	color: gray;
	text-align: left;
	position: relative;
	cursor: default;
}
.remE {
	color: silver;
	cursor: pointer;
	padding-right: 0.3em;
	position: absolute;
	right: 0;
	top: 0;
	font-size: 1.5em;
	transition: color .3s;
	padding-top: 0.1em;
}
.big.result:hover .remE {
	color: black;
}
.gra li .d.p {
	border-radius: 9em;
	padding-right: .8em;
	padding-left: .8em;
}



/* MONITOR */
.za {
	padding: 0;
}
#z {
	
	font-size: 1.2em;
}
body.za {
	background-color: #393930;
	padding-top: 4em;
	visibility: visible;
}
.za .ch {
	background-color: rgb(39, 37, 31);
	position: fixed;
	left: 0;
	right: 0;
	top: 0;
	z-index: 3;
	padding: 1px;
}

.za .gradeTitle {
	background-color: #272620;
}
.za .none {
	color: gray;
}
.za .gz {
	background-color: #27241e;
}
.za #gb, .za #ga {
	color: silver;
	font-weight: bold;
}
.za .darrow {
	border-top: 0.4em solid silver;
}
.za .gz, .z .ch a, .z .allOut {
	padding: 1em;
}
.za .allOut {
	color: silver;
}
.za .allOut:hover {
	color: white;
}
.indent {
	padding-left: 1em;
}
.imgThumb {
	width: 240px;
	height: auto;
	display: block;
}
#pic {
	display: none;
}
#rselect {
	position: absolute;
	font-size: 1em;
	max-width: 50%;
	top: 0.7em;
	left: .7em;
}

/* IMPORT */
#import {
	width: 500px;
	margin-left: auto;
	margin-right: auto;
	max-width: 100%;
}
#import label {
	display: block;
	margin-top: 1em;
	font-weight: bold;
	color: gray;
	font-size: 0.8em;
}
#import select {
	font-size: 1em;
}

#owrap img {
	max-width: 270px;
}
#qrcode {
	text-align: center;
	width: 256px;
}
#qrcode img {
	width: 100%;
	height: auto;
}
input[type=checkbox], input[type=radio] { 
	position: relative;
	padding: 0; border: 0;
	width: 22px;
	height: 22px;
	cursor: pointer;
	transition: all .2s;
	top: 4px;
}
.w input[type=checkbox]::before {
	margin-top: -1px;
}
input[type=checkbox]:hover, input[type=radio]:hover {
	transform: scale(1.05);
}
input[type=checkbox]::before, input[type=radio]::before { content: " "; display: inline-block; vertical-align: middle; margin-right: 3px; width: 22px; height: 22px; background-color: #dbdbdb;  border-radius: 5px; box-shadow: none;
}
input[type=checkbox]:checked::before, input[type=radio]:checked::before {
	background-color: var(--a);
}
input[type=checkbox]:checked::after { content: " "; background-image: url("data:image/svg+xml;base64,PHN2ZyB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHZpZXdCb3g9IjAgMCA1MTIgNTEyIj48cGF0aCBmaWxsPSIjZmZmZmZmIiBkPSJNMTczLjg5OCA0MzkuNDA0bC0xNjYuNC0xNjYuNGMtOS45OTctOS45OTctOS45OTctMjYuMjA2IDAtMzYuMjA0bDM2LjIwMy0zNi4yMDRjOS45OTctOS45OTggMjYuMjA3LTkuOTk4IDM2LjIwNCAwTDE5MiAzMTIuNjkgNDMyLjA5NSA3Mi41OTZjOS45OTctOS45OTcgMjYuMjA3LTkuOTk3IDM2LjIwNCAwbDM2LjIwMyAzNi4yMDRjOS45OTcgOS45OTcgOS45OTcgMjYuMjA2IDAgMzYuMjA0bC0yOTQuNCAyOTQuNDAxYy05Ljk5OCA5Ljk5Ny0yNi4yMDcgOS45OTctMzYuMjA0LS4wMDF6Ii8+PC9zdmc+"); background-repeat: no-repeat; background-size: 12px 12px; background-position: center center; position: absolute; display: flex; justify-content: center; align-items: center; margin-left: 0px; left: 0px;text-align: center; background-color: transparent; font-size: 10px; height: 22px; width: 22px;top: 0;
}
input[type=radio]::before {
	border-radius: 9em;
}
input[type=radio]:checked::after {
	content: ' ';border-radius: 9em;position: absolute; display: block; margin-left: 0px; left: 7px;text-align: center; background-color: rgba(255, 255, 255, 1); height: 8px; width: 8px;top: 7px;
}
	#owrap #pImg img {
		max-width: 270px;
		border-radius: .7em;
		overflow: hidden;
	}



/* iPad landscape only */
@media all and (device-width: 768px) and (device-height: 1024px) and (orientation:landscape) {
	#overlay, #nav {
		overflow-y: scroll;
		-webkit-overflow-scrolling: touch;
	}
}


@media only screen and (min-width : 800px) {
	#menu {
		display: none;
	}
}
@media only screen and (max-width : 800px) {
	#menu {
		display: block;
		z-index: 4;
	}
	.people-header {
		left: 0;
	}
	#nav {
		left: -8em;
	}
	.w {
		margin-left: 0;
	}
	#s {
		left: 2em;
		right: 2em;
	}
	.sb {
		padding-left: 2em;
	}
	body.a .sb {
		padding-left: 10em;
	}
	#d > a, #d .la {
		display: block;
		margin-right: 0;
	}
	#d .n {
		font-size: 3em;
	}
	#d .c.rm {
		display: block;
		background-color: white;
	}
	.ch {
		padding-left: 3em;
	}
	.za .ch {
		padding-left: 0;
	}
	.gz, .ch a, .allOut {
		padding: 1em;
	}
	.ga {
		display: block;
	}
	.inline1, .inline2 {
		display: block;
		padding-left: 0;
	}
	#owrap {
		font-size: 1.2em;
	}
	#owrap img {
		width: 100%;
		height: auto;
		display: block;
		margin-right: auto;
		margin-left: auto;
	}
	#owrap .col li img {
		position: absolute;
		top: 0;
		left: 0;
		height: 2.2em;
		width: 2.2em;
	}
	#owrap #pImg img {
		max-width: 270px;
		border-radius: .7em;
		overflow: hidden;
	}
	#overlay, #nav {
		overflow-y: scroll;
		-webkit-overflow-scrolling: touch;
	}
	/*.house .drop {
		font-size: 1.2em;
	}*/
}
@media only screen and (min-width : 460px) {
	#s1 {
		margin-right: 1em;
	}
}
@media only screen and (max-width : 460px) {
	#ck .lr/*, #ck .allOut*/ {
		display: none;
	}
	#report .day {
		display: none;
	}
	.tf div {
		font-size: 1em;
	}
	.tf div span {
		display: none;
	}
}
@media print {
	li {
		white-space: nowrap;
		overflow: hidden;
		font-size: 1em;
		margin-bottom: 1em;
	}
	li i, li .view {
		position: relative;
		top: -0.1em;
		color: gray;
	}
	.bar {
		background-color: #d8d9d8;
		color: gray;
		display: block;
		text-align: center;
		padding: 0.5em 0;
	}
	li div a {
		margin-top: 0.5em;
		display: block;
	}
}
.lastAction {
	background-color:white;
}

/* DARK MODE */
@media (prefers-color-scheme: dark) {
	body, .people-header, .person .photo, .h .add, #modal .close, #modal input, #modal .big.silver, #modal .per, #modal .per.g, #modal input[type=checkbox]::before, #modal input[type=radio]::before, #modal select, #modal textarea, #history p:nth-child(odd), #ck .ch, .aOu div {
		background-color: #1E1E1E;/*dark gray*/
	}
	#modal input[type=checkbox]:checked::before, #modal input[type=radio]:checked::before {
		background-color: var(--a);
	}
	#s, .h, #modal.in, .people-header .big.silver, #w #d > a, #ck .ch .gz, .gradeTitle, .apps > a, .gra li, .ggp, .user, .rdrops select, #report .bar, #dtf, #aResults .result, #sname, select, input[type=text] {
		background-color: #3B3B3D;/*lighter gray*/
		color: white;
	}
	#menu:hover > div {
		background-color: white;
	}
	.gz .darrow {
		border-top: 0.4em solid silver;
	}
	#s, #dtf, #sname, input[type=text] {
		border-color: #3B3B3D;
	}
	#modal .close:hover {
		background-color: black;
		color: white;
	}
	#modal .header div, #modal input, #modal .per, #modal select, #modal textarea, #history, #d .la, #w #d > a > div, #gb, #modal.in .m, #modal.in .age, #bcki li, #modal div.header, .allOut:hover, .aOu div, .apps > a .t, .gra li div b, #report li div a, #aResults, .ga {
		color: white;
	}
	#modal.in div.yellow, #modal.in div.yel {
		color: black;
	}
	#bcki li svg, .ggp .gp div {
		color: gray;
	}
	#bcki li.a svg {
		color: var(--a);
	}
	.person, #modal input, #modal textarea {
		border-color: #1E1E1E;
	}
	#modal.in label, #modal.in label a, .rdrops label, .w label, .w label a {
		color: #919191;
		text-shadow: none;
	}
	#modal input:focus, #modal textarea:focus, #sname:focus, input[type=text]:focus {
		border-color:var(--a);
	}
	.person:hover, .house:hover, .apps > a:hover, .gra li:hover, .user:hover {
		background-color: #2b2b2c;
	}
	#nav, #modal .per:hover, #modal .per.g:hover, div.lastAction {
		background-color: black;
	}
	.h .indi, .h .house div, #modal.in div {
		color: white;
	}
	.people-header, #s, #modal input, #modal textarea, #dtf, #sname, input[type=text] {
		box-shadow: none;
	}
	.person .details .bubble, .gra li .d.p {
		color: #3a3b3d;
	}
	.ggp, .gpp {
		border-color: gray;
	}
	a.vhistory {
		color: silver;
	}
	.gpp {
		background-color: transparent;
		color: white;
	}
}/* DIRECTORY */
.directory-grid {
  display: grid;
  grid-template-columns: repeat(auto-fill, minmax(180px, 1fr));
  gap: 1.5em;
  margin-top: 1.5em;
}

.directory-card {
  background-color: white;
  border-radius: .8em;
  padding: 1em;
  text-align: center;
  cursor: pointer;
  box-shadow: 0 0 .5em rgba(0,0,0,0.05);
  transition: all .3s;
}
.directory-card:hover {
  transform: scale(1.02);
  background-color: #f8f8f8;
}

.directory-card img.profile-thumb {
  width: 80px;
  height: 80px;
  border-radius: 50%;
  object-fit: cover;
  border: 2px solid #e1e1e1;
  margin-bottom: .6em;
}

.directory-name {
  font-family: 'pnb';
  font-size: 1.1em;
  margin-bottom: .2em;
  color: #212221;
}

.directory-role {
  font-size: 0.9em;
  color: gray;
}
.profile-container {
	background: white;
	border-radius: .8em;
	padding: 2em;
	max-width: 600px;
	margin: auto;
	box-shadow: 0 0 .5em rgba(0,0,0,0.05);
  }
  .profile-container h2 {
	font-family: 'pnb';
	margin-bottom: 1em;
  }
  .profile-thumb-large {
	width: 150px;
	height: 150px;
	border-radius: 50%;
	object-fit: cover;
	display: block;
	margin: 0 auto 1em;
	border: 3px solid #e1e1e1;
  }
  .profile-container p {
	margin: .5em 0;
  }
  .profile-page {
	max-width: 800px;
	margin: auto;
	background: white;
	border-radius: 1em;
	box-shadow: 0 2px 10px rgba(0,0,0,0.1);
	padding: 2em;
  }
  
  .profile-header {
	display: flex;
	align-items: center;
	border-bottom: 2px solid #f2f2f2;
	padding-bottom: 1em;
	margin-bottom: 1.5em;
  }
  
  .profile-photo {
	width: 120px;
	height: 120px;
	border-radius: 50%;
	object-fit: cover;
	margin-right: 1.5em;
	background: #eee;
  }
  
  .profile-header-info h2 {
	margin: 0;
	font-size: 1.8em;
  }
  
  .profile-role {
	color: gray;
	font-size: 1em;
  }
  
  .profile-sections {
	margin-top: 1em;
  }
  
  .profile-section {
	margin-bottom: 1.5em;
  }
  
  .profile-section h3 {
	margin-bottom: 0.5em;
	color: var(--a); /* matches your blue */
  }
  
  .profile-section ul {
	list-style: none;
	padding: 0;
	margin: 0;
  }
  
  .profile-section li {
	padding: 0.3em 0;
	border-bottom: 1px solid #f0f0f0;
  }
  
  .profile-section li:last-child {
	border-bottom: none;
  }
  
  .profile-actions {
	display: flex;
	justify-content: space-between;
	margin-top: 2em;
  }
  .kidbucks-grid {
	display: flex;
	flex-wrap: wrap;
	gap: 1em;
  }
  .kidbucks-card {
	background: white;
	border-radius: .8em;
	padding: 1em;
	width: 250px;
	box-shadow: 0 0 .5em rgba(0,0,0,0.1);
	text-align: center;
  }
  .kidbucks-photo {
	width: 100px;
	height: 100px;
	border-radius: 50%;
	object-fit: cover;
  }
  .kidbucks-balance {
	font-size: 1.5em;
	margin: .5em 0;
  }
  .kidbucks-actions button {
	margin: 0.2em;
	padding: 0.5em 1em;
	border-radius: .5em;
	cursor: pointer;
  }
  .kidbucks-actions .red {
	background: #e85843;
	color: white;
  }
  /* ──────────────────────────────────────────────
   ROOM ROSTERS – per-room sections + child rows
   ────────────────────────────────────────────── */

.room-roster-section {
    margin: 0.5em 0;
    background: white;
    border-radius: .8em;
    overflow: hidden;
    box-shadow: 5px 5px 4px rgba(0,0,0,0.08);
	border: 2px solid #0e0d0d;
}

.room-roster-header {
    background: #9a9b9a;
    padding: 0.3em 0.2em;
    font-family: 'pnb';
    font-size: 3.3em;
    display: flex;
    justify-content: space-between;
    align-items: left;
    border-bottom: 1px solid #0e0d0d;
}

.room-roster-header .count {
    font-size: 0.5em;
    color: #666;
    background: #292828;
    padding: 0.25em 0.7em;
    border-radius: 1em;
}

.room-roster-kids {
    padding: 0.6em;
    display: flex;
    flex-direction: column;
    gap: 0.5em;
	border: 1px solid #0e0d0d;
}

.kid-roster-item {
    padding: 0.5em 1.2em;
    border-radius: .6em;
    display: flex;
    align-items: center;
    justify-content: space-between;
    transition: all 0.18s ease;
    font-size: 1.1em;
    min-height: 3.2em;
}
.kid-roster-item span {
    font-family: 'pnb';
    font-size: 1.2em;
    letter-spacing: 0.02em;
    color: #1a1a1a;
}

.kid-roster-item.not-checked span {
    color: #555555;
}

.kid-roster-item.checked-in span {
    color: #1a1a1a;
}

/* Hover effect – subtle lift */
.kid-roster-item:hover {
    transform: translateY(-1px);
    box-shadow: 0 3px 8px rgba(0,0,0,0.08);
}
.room-select-grid {
    display: flex;
    flex-wrap: wrap;
    gap: 16px;
    padding: 16px;
}

.room-select-card {
    background: #fff;
    border: 2px solid #ddd;
    border-radius: 10px;
    padding: 20px;
    min-width: 150px;
    text-align: center;
    cursor: pointer;
    transition: border-color 0.2s;
}

.room-select-card:hover {
    border-color: #4a90e2;
}

.room-select-name {
    font-size: 1.2em;
    font-weight: bold;
}

.room-select-count {
    margin-top: 6px;
    color: #666;
    font-size: 0.9em;
}

.room-detail-header {
    display: flex;
    align-items: center;
    gap: 16px;
    padding: 10px;
}
/* Optional: small photo thumbnail if you want to add later */
.kid-roster-item .thumb {
    width: 42px;
    height: 42px;
    border-radius: 50%;
    object-fit: cover;
    margin-right: 1em;
    background: #eee;
    flex-shrink: 0;
}
.roster-photo {
    width: 80px;
    height: 80px;
    border-radius: 50%;
    object-fit: cover;
    margin-right: 10px;
    vertical-align: middle;
    flex-shrink: 0;
    display: block;
}
.kid-roster-item.not-checked {
    background-color: rgba(248, 248, 248, 0.92);
    color: #949292;
    opacity: 1;
    border-left: 6px solid #1f1e1e;
    border: 2px solid #aaaaaa;
}

.kid-roster-item.checked-in {
    background-color: rgba(241, 208, 98, 0.95);
    border: 2px solid #f2c846;
    font-weight: 500;
    box-shadow: 0 1px 3px rgba(32, 32, 32, 0.3);
}
.kid-roster-photo {
    width: 80px;
    height: 80px;
    border-radius: 50%;
    overflow: hidden;
    flex-shrink: 0;
    margin-right: 10px;
    display: flex;
    align-items: center;
    justify-content: center;
}
/* Small action buttons if you add them later */
.kid-roster-item .actions button {
    font-size: 0.9em;
    padding: 0.4em 0.9em;
    border-radius: .5em;
    margin-left: 0.6em;
	justify-content: center;
}
.page-bg {
    background-size: cover !important;
    background-position: center center !important;
    background-repeat: no-repeat !important;
    background-attachment: fixed !important;
}