body.page-template-template_portal, body.page-template-template_attendance, body.page-lets-talk {
    margin-top:0 !important;
}
body.page-lets-talk {
    font:normal 15px 'Montserrat', sans-serif;
    line-height:1.5em;
}
#login_left, #login_right {
	float:left;
	height:100%;
	position:relative;
}
#login_left {
	width:56%;
	background:url(../images/hero_login2025.jpg) no-repeat center center;
	background-size:cover;
	color:#fff;
}
body.page-template-template_attendance #login_left { background-image:url(../images/2025/hero_login_volunteer.jpg); }
body.page-lets-talk #login_left {
    background-image:url(../images/2025/hero_login_incursion.jpg);
    background-position:left bottom;
}
#login_left h3 { margin-top:0; }
body.page-template-template_attendance #login_left h3 {
    font:bold 46px 'Montserrat', sans-serif;
    color:#8DC63F;
}
#login_left h4 {
	font-size:17px;
	line-height:1em;
}
body.page-lets-talk #login_left h2 {
    font:bold 20px 'Montserrat', sans-serif;
    line-height:1em;
    color:#fff;
    text-transform:uppercase;
    margin-top:0;
    margin-bottom:0;
}
body.page-lets-talk #login_left h1 {
    font:800 78px 'Montserrat', sans-serif;
    line-height:1em;
    color:#fff;
    text-align:left;
    text-transform:none;
    margin-top:0;
    letter-spacing:-5px;
}
body.page-lets-talk #login_left h1::after {
    content:none;
}
body.page-lets-talk #login_left h3 {
    font:bold 17px 'Montserrat', sans-serif;
    line-height:1.5em;
    letter-spacing:normal;
    color:#fff200;
}
#login_left > div {
	position:absolute;
	left:0px;
	right:0px;
	top:50%;
	transform:translateY(-50%);
	padding-left:24%;
	padding-right:14%;
}
#login_left a.button {
	background:none;
	color:#EB8316;
	width:172px;
	margin-top:4px;
}
#login_left a:hover.button {
	background:#EB8316;
	color:#fff;
}
#login_right {
	width:44%;
	background:#EB8316;
    min-height:732px;
}
body.page-template-template_attendance #login_right { background:#8DC63F; }
body.page-lets-talk #login_right {
    background:#0098ca;
    color:#fff;
}
#login_right > div {
	position:absolute;
	left:0px;
	right:0px;
	top:50%;
	transform:translateY(-50%);
	padding-left:18%;
	padding-right:19%;
}
#login_right form { margin-top:40px; }
body.page-lets-talk #login_right form { margin-top:20px; }
#login_right form * { box-sizing:border-box; }
#login_right > div > img {
	display:block;
	margin-left:auto;
	margin-right:auto;
}
#login_right .form_row { margin-bottom:10px; }
#login_right input { border:none; }
#login_right label, #login_right a {
	color:#231F20;
	font-size:12px;
	text-decoration:none;
}
body.page-lets-talk #login_right label, body.page-lets-talk #login_right a {
    color:#fff;
}
#login_right input[type="submit"] {
	display:block;
	background:#333;
	color:#fff;
	width:220px;
	margin-top:10px;
	margin-bottom:10px;
}
#login_right aside {
	position:absolute;
	left:0px;
	right:0px;
	bottom:20px;
	padding-left:18%;
	padding-right:19%;
	font-size:12px;
	line-height:1.5em;
}
#login_select_school {
    width:100%;
    height:100%;
    background:url(../images/login_full.jpg) no-repeat center center;
    background-size:cover;
}
#login_select_school #login_left, #login_select_school #login_right { background:none; }
.login_tabs {
    margin-top:30px;
    font-size:15px;
    line-height:1em;
    text-transform:uppercase;
}
.login_tabs a {
    position:relative;
    display:inline-block;
    padding-bottom:10px;
    font-size:15px !important;
}
.login_tabs a.active {
    font-weight:bold;
}
.login_tabs a.active::after {
    content:'';
    position:absolute;
    left:0px;
    bottom:0px;
    width:37px;
    border-bottom:3px solid #fff200;
}
body.page-lets-talk #student_login { display:none; }

body.portal * { box-sizing:border-box; }
#site_selector { position:static !important; }
body.page-attendance-portal #site_selector > a {
    background:#8dc63f;
}
body.portal header {
    height:120px;
    display:flex;
    background:url(../images/hero_portal2025.jpg) no-repeat center center;
    background-size:cover;
    padding-left:0;
    padding-right:18px;
    padding-top:0;
    justify-content:space-between;
    align-items:end;
    color:#fff;
}
body.portal header > img {
    margin-bottom:20px;
    margin-left:24px;
}
body.portal h1 {
    margin:0;
    font-family:'Flexo';
    font-size:36px;
    font-weight:normal;
    line-height:1em;
    text-transform:none;
    text-align:left;
    flex-basis:100%;
    margin-left:66px;
    margin-bottom:20px;
}
body.portal h1::after { content:none; }
body.portal h2 {
    margin:0;
    font-family:'Flexo';
    font-size:36px;
    font-weight:normal;
    line-height:1em;
}
body.portal header h2 {
    flex-grow:1;
    text-align:center;
}
body.portal h5 {
    font-size:13px;
    line-height:1.4em;
    font-weight:900;
    color:#58595B;
    text-transform:uppercase;
    margin-top:2em;
    margin-bottom:4px;
}
body.portal h5.pending { color:#F25500; }
body.portal h6 {
    font-size:10px;
    line-height:1em;
    font-weight:normal;
    text-transform:uppercase;
    margin-top:1em;
    margin-bottom:0;
}
body.portal p {
    font-size:18px;
    line-height:1.5em;
    margin-top:0;
    margin-bottom:1.5em;
}
body.portal small {
    font-weight:bold;
    display:inline-block;
    font-size:15px;
    line-height:1.5em;
}
body.portal a { color:#F25500; }
body.portal a.button { color:#fff; }
body.portal a.btn_modal_close { color:#000; }
body.portal a.button_close { color:#fff; }
a.button .spinner { display:none; }
a.button.waiting .spinner { display:inline-block; }

#user_menu {
    position:relative;
    margin-right:40px;
    margin-bottom:20px;
    white-space:nowrap;
}
#user_menu > a {
    font-size:17px;
    width:44px;
    height:44px;
    line-height:44px;
    margin-left:20px;
    display:inline-block;
    border:1px solid #fff;
    color:#fff;
    text-align:center;
}
#user_menu > a:hover { background:#58595B; }
#user_menu ul {
    display:none;
    position:absolute;
    right:0px;
    top:44px;
    list-style:none;
    margin:0;
    padding:0;
}
#user_menu ul.active { display:block; }
#user_menu li a {
    display:block;
    background:#fff;
    color:#000;
    height:50px;
    width:150px;
    padding:14px;
    text-decoration:none;
}
#user_menu li a:hover {
    background:#58595B;
    color:#fff;
}
main {
    display:flex;
    min-height:calc(100% - 155px);
}
main aside {
    flex-basis:160px;
    min-width:160px;
    background:#58595B;
    color:#fff;
    text-align:center;
    font-family: "Montserrat", sans-serif;
    font-optical-sizing: auto;
    font-size:12px;
    font-weight: 700;
    font-style: normal;
    text-transform:uppercase;
}
main aside h3 {
    font-size:12px;
    color:#fff;
    margin-top:40px;
}
main nav ul {
    list-style:none;
    margin:0;
    padding:0;
}
main nav li {
    margin-left:0;
    margin-right:0;
    margin-top:32px;
    padding:0;
}
body.portal main nav a {
    display:block;
    color:#fff;
    text-decoration:none;
}
body.portal main nav a:hover, body.portal main nav a.active { color:#FABC28; }
body.portal.page-attendance-portal main nav a:hover, body.portal.page-attendance-portal main nav a.active { color:#8dc63f; }

main nav a:hover img, main nav a.active img {
    filter:brightness(0) saturate(100%) invert(76%) sepia(91%) saturate(569%) hue-rotate(334deg) brightness(98%) contrast(99%);
}
body.portal.page-attendance-portal main nav a:hover img, body.portal.page-attendance-portal main nav a.active img {
    filter:brightness(0) saturate(100%) invert(74%) sepia(17%) saturate(1482%) hue-rotate(42deg) brightness(96%) contrast(84%);
}
main > div {
    flex-basis:100%;
    max-width:calc(100vw - 160px);
    background:#ECEAE9;
    padding-left:60px;
    padding-right:60px;
    padding-top:40px;
    padding-bottom:60px;
}

#portal_intro { max-width:1060px; }
#portal_intro, #portal_intro p {
    font-size:22px;
    line-height:1.5em;
}
#portal_intro p {
    padding-top:1em;
    margin-bottom:0;
}
#portal_intro strong { color:#F15922; }
#portal_intro img {
    display:block;
    float:left;
    margin-left:10px;
    margin-right:70px;
}
#portal_intro::after {
    content:'';
    display:table;
    clear:both;
}
#portal_details {
    margin-top:30px;
    font-size:24px;
    line-height:1.5em;
}
body.portal #portal_details p {
    font-size:24px;
    line-height:1.5em;
    margin-top:0;
    margin-bottom:1em;
}
#portal_details h6 {
    font-size:14px;
    font-weight:bold;
    line-height:1.5em;
}

.panels {
    list-style:none;
    margin-left:0;
    margin-right:0;
    margin-top:40px;
    margin-bottom:0;
    padding:0;
    display:flex;
    justify-content:space-between;
    max-width:1053px;
    flex-wrap:wrap;
    row-gap:28px;
}
#portal_details + .panels {
    margin-top:20px;
}
.panels.masonry {
    display:block;
    column-count:3;
    column-width:331px;
    column-gap:28px;
    font-size:16px;
    line-height:1.5em;
}
.panels > li {
    flex-basis:331px;
    background:#fff;
    border-radius:30px;
    margin-left:0;
    padding-left:20px;
    padding-right:20px;
    padding-top:24px;
    padding-bottom:28px;
    position:relative;
}
.panels.masonry > li {
    width:331px;
    margin-bottom:28px;
    break-inside:avoid;
}
.panels.masonry > li.break_before {
    break-before:column;
}
@media (max-width: 1329px) {
    .panels.masonry {
        column-count:2;
        max-width:700px;
        orphans:1;
    }
    .panels.masonry > li.break_before { break-before:auto; }
}
.panels > li > a.button, .panels > li > input.button, .panels > li > form > a.button, .panels > li > form > input.button { width:100% !important; }
body.portal .panels h2 {
    font-family:'Lato';
    font-size:18px;
    line-height:54px;
    font-weight:bold;
    color:#595A5C;
    text-transform:uppercase;
}
body.portal .panels.masonry h2 { margin-bottom:1em; }
.panels h2 .icon {
    display:inline-block;
    width:52px;
    margin-right:12px;
}
.panels h2 img { vertical-align:top; }
.panels.masonry h2 img { vertical-align:middle; }
.panels h3 {
    font-size:23px;
    line-height:1em;
    text-transform:uppercase;
    color:#F15922;
    letter-spacing:-1px;
    margin-top:0.8em;
    margin-bottom:0.5em;
}
.panels h4 {
    font-size:22px;
    font-weight:900;
    line-height:1em;
    color:#231F20;
    text-transform:uppercase;
    margin-top:0.8em;
    margin-bottom:1.1em;
}
body.portal .panels p {
    font-size:16px;
    line-height:1.5em;
}
body.portal .panels p:last-child { margin-bottom:0; }
body.portal .panels.masonry a { text-decoration:none; }
body.portal .panels a.secondary, body.portal .panels input.secondary {
    background:#595A5C;
    border:1px solid #595A5C;
}
body.portal .panels a.secondary { margin-bottom:6px; }
body.portal .panels.masonry small {
    font-size:10px;
    text-transform:uppercase;
}
.counts {
    list-style:none;
    display:flex;
    margin-left:0;
    margin-right:0;
    margin-top:0;
    margin-bottom:25px;
    padding:0;
    justify-content:flex-start;
}
.counts > li {
    margin:0;
    padding-left:0;
    padding-top:0;
    padding-bottom:0;
    padding-right:30px;
    font-size:48px;
    line-height:1em;
    font-weight:bold;
    color:#231F20;
}
.counts > li span {
    display:block;
    font-size:22px;
    letter-spacing:-1px;
    line-height:1em;
    font-weight:300;
    text-transform:uppercase;
}
.panels input[type="number"], .panels input[type="text"] {
    border:1px solid #939598 !important;
    font-family:'Flexo';
    line-height:50px;
}
.panels input[type="number"]:disabled, .panels input[type="text"]:disabled {
    color:#939598;
}
.panel_row { display:flex; }
.panel_row input[type="submit"], .panels a.button {
    font-weight:normal;
    height:50px;
    line-height:50px !important;
}
.segmented {
    display:flex;
    align-items:center;
    border:1px solid #939598;
}
.segmented input[type="number"], .segmented input[type="text"] {
    font-size:19px;
    height:48px !important;
    border:none !important;
}
.segmented span {
    background:#ECEAE9;
    color:#939598;
    font-size:12px;
    height:48px;
    line-height:48px;
    padding-left:10px;
    padding-right:10px;
    text-transform:uppercase;
    white-space:nowrap;
}
.segmented .prefix { border-right:1px solid #939598; }
.segmented .suffix { border-left:1px solid #939598; }
.panels textarea {
    outline:none;
    width:100%;
    height:66px;
}
.panel_bottom {
    position:absolute;
    bottom:28px;
    left:20px;
    right:20px;
}
body.portal a.expand {
    display:block;
    position:relative;
    border:1px solid #939598;
    color:#939598;
    font-family:'Flexo';
    font-weight:500;
    height:50px;
    line-height:50px;
    padding-left:15px;
    text-decoration:none;
    text-transform:uppercase;
}
body.portal a.expand::after {
    content:"\f107";
    font-family:'FontAwesome';
    font-size:18px;
    position:absolute;
    right:15px;
    top:0px;
    line-height:50px;
}
body.portal a.expand.active::after { content:"\f106"; }
.expand_content {
    max-height:0px;
    overflow:hidden;
    transition:all 0.25s;
}
.expand_content.active { max-height:999px; }
.expand_content .panel_row { margin-top:10px; }
.expand_content .panel_row input[type="number"] { margin-left:10px; }
.booking_day .single_check label { color:#939598; }
.expand_content .single_check label {
    position:relative;
    border:1px solid #939598;
    height:50px;
    line-height:50px;
    padding-top:0;
    padding-bottom:0;
    padding-left:15px;
    margin-bottom:0;
    min-width:112px;
}
.expand_content .single_check label::before, .expand_content .single_check label.active::before { content:none; }
.expand_content .single_check label::after {
    position:absolute;
    font-family:'FontAwesome';
    font-size:20px;
    line-height:50px;
    display:block;
    width:20px;
    content:"\f096";
    right:10px;
    top:0px;
}
.expand_content .single_check label.active::after { content:"\f046"; }
body.portal .booking_day form input[type="submit"], body.portal #update_settings_form input[type="submit"] { width:100%; }
.day_students, .day_teachers { margin-top:10px; }
.panels + .invoices { margin-top:40px; }

#dashboard, #dashboard > li {
    list-style:none;
    margin:0;
}
#dashboard { padding:0; }
#dashboard > li {
    background:#fff;
    height:52vh;
    min-height:580px;
    padding:20px;
    position:relative;
}
#dashboard.dashboard_admin > li {
    height:auto;
    min-height:200px;
}
#dashboard > li > div { height:52px; }
#dashboard > li > div img { vertical-align:middle; }
#dashboard h3 {
    font-size:18px;
    font-weight:bold;
    color:#58595B;
    text-transform:uppercase;
    margin-top:20px;
    margin-bottom:10px;
}
#dashboard.dashboard_admin h3 { margin-bottom:30px; }
body.portal #dashboard h4, body.portal #dashboard h5 {
    font-size:48px;
    line-height:1em;
    text-transform:uppercase;
    margin-top:0;
}
body.portal #dashboard h4 { font-weight:900; }
body.portal #dashboard h5 {
    float:right;
    font-weight:normal;
}
#dashboard h4 span, #dashboard h5 span {
    display:block;
    font-size:22px;
    line-height:1em;
    font-weight:300;
}
body.portal #dashboard h6 {
    font-size:14px;
    font-weight:normal;
    text-transform:uppercase;
    margin-bottom:0;
}
#dashboard p {
    font-size:16px;
    line-height:1.5em;
}
#dashboard strong.extra, #dashboard strong .extra { color:#F25500; }
#dashboard a.button {
    position:absolute;
    bottom:20px;
    left:20px;
    right:20px;
    color:#fff;
}
#dashboard a:hover.button { color:#EB8316; }
#dashboard .dashboard_buttons a.button {
    position:static;
    display:block;
    width:100%;
}
#dashboard .dashboard_buttons a.button:first-child {
    margin-bottom:5px;
    background:#58595B;
    border:1px solid #58595B;
}
#dashboard .dashboard_buttons {
    position:absolute;
    bottom:65px;
    left:20px;
    right:20px;
}
#dashboard + .lSAction { margin-top:20px; }
#dashboard + .lSAction > a {
    display:inline-block;
    position:static;
    margin-top:0;
    width:37px;
    height:37px;
    background-repeat:no-repeat;
    background-position:center center;
    background-size:contain;
    opacity:1;
}
.lSAction > .lSPrev { background-image:url(../images/ico_prev.png); }
.lSAction > .lSNext {
    background-image:url(../images/ico_next.png);
    background-repeat:no-repeat;
    background-position:center center;
    background-size:contain;
    margin-left:5px;
}
form h4 {
    text-transform:uppercase;
    margin-bottom:0.5em;
}
.narrow { max-width:600px !important; }
.med { max-width:796px; }
.radios, .checks, .input { position:relative; }
.radios label, .checks label, .school_year_checks > label, .single_check label {
    display:block;
    background:#fff;
    padding:14px;
    height:50px;
    margin-bottom:5px;
    text-transform:uppercase;
    cursor:pointer;
    -webkit-user-select:none;
    user-select:none;
}
.radios label::before, .checks label::before, .school_year_checks > label::before, .single_check label::before {
    font-family:'FontAwesome';
    display:inline-block;
    width:20px;
    content:"\f096";
}
.radios label.active::before, .checks label.active::before, .school_year_checks > label.active::before, .single_check label.active::before { content:"\f046"; }
.school_year_checks > label {
    width:370px;
    float:left;
}
.school_year_checks input[type="number"] {
    width:218px;
    margin-left:10px;
    float:left;
    clear:right;
}
.school_year_checks::after {
    content:'';
    display:table;
    clear:both;
}
.date_radios label {
    float:left;
    width:370px;
}
.date_radios span {
    display:block;
    float:left;
    width:218px;
    height:50px;
    padding:14px;
    background:#f6f5f4;
    color:#abadaf;
    margin-left:10px;
    text-transform:uppercase;
}
.yesno_radios { margin-bottom:15px; }
.yesno_radios label {
    float:left;
    width:295px;
}
.yesno_radios label:first-of-type { margin-right:10px; }
.date_radios::after, .yesno_radios::after {
    content:'';
    display:table;
    clear:both;
}
.single_check label {
    font-family:'Flexo';
    font-weight:500;
    padding-left:0;
    padding-top:10px;
    padding-bottom:30px;
    height:25px;
    white-space:nowrap;
}
.single_check input { display:none; }
input[type="text"], input[type="email"], input[type="number"], input[type="password"] {
    display:block;
    width:100%;
    border:none !important;
    background:#fff;
    outline:none;
}
.supplement_slot {
    line-height:50px;
    font-size:14px;
    background:#FABC28;
    padding-left:15px;
    padding-right:15px;
    text-transform:uppercase;
}
body.portal input[type="submit"], body.portal input[type="button"] { width:220px; }
#wait, #result {
    display:none;
    color:#EB8316;
}
.accordion {
    list-style:none;
    margin:0;
    padding:0;
}
.accordion > li {
    list-style:none;
    margin-left:0;
    margin-right:0;
    margin-top:0;
    margin-bottom:10px;
    padding:0;
}
.accordion > li > div {
    max-height:0px;
    overflow:hidden;
    transition:all 0.5s;
    clear:both;
}
.accordion > li.active > div { max-height:999px; }
.accordion > li > a, .accordion > li > span {
    display:block;
    float:left;
    line-height:50px;
    padding-left:18px;
    padding-right:18px;
    background:#58595B;
    color:#fff;
    text-transform:uppercase;
}
.accordion > li > a {
    position:relative;
    width:370px;
    text-decoration:none;
}
.accordion > li > a::after {
    content:"\f107";
    font-family:'FontAwesome';
    font-size:17px;
    line-height:1em;
    position:absolute;
    right:18px;
    top:18px;
}
.accordion > li.active > a::after {
    content:"\f106";
}
.accordion > li > span {
    font-size:14px;
    font-weight:bold;
    clear:right;
    width:218px;
    margin-left:10px;
}
.delete_user_form a {
    display:block;
    float:right;
    font-size:12px;
    color:red;
}
#dashboard_form {
    margin-top:30px;
    /*max-width:66% !important;*/
}
#dashboard_form::after {
    content:'';
    display:table;
    clear:both;
}
#dashboard_form .form_row.first, #dashboard_form .form_row.last { width:31.5%; }
#dashboard_form .form_row.first { margin-right:30px; }
#dashboard_form h4 {
    margin-top:0;
    margin-bottom:0;
}
#dashboard_form .yesno_radios label {
    width:31.5%;
    margin-right:30px;
}
body.portal form.borderless h4 { margin-bottom:10px; }
body.portal form.borderless h4:not(:first-of-type) { margin-top:30px; }
.user_row { margin-bottom:30px; }
a.user_delete {
    text-transform:uppercase;
    text-decoration:none;
}
a:hover.user_delete { text-decoration:underline; }
.current_user a.user_delete { display:none; }
.borderless a.button.secondary {
    width:220px;
    vertical-align:top;
    border:1px solid #231F20;
    color:#231F20;
    background:none;
}
.currency {
    position:absolute;
    left:4px;
    top:14px;
}
ul.invoices, ul.invoices ul {
    list-style:none;
    margin:0;
    padding:0;
}
ul.invoices li {
    margin-left:0;
    margin-right:0;
    margin-top:0;
    margin-bottom:20px;
    padding:0;
}
ul.invoices h4 {
    font-size:16px;
    font-weight:900;
    text-transform:uppercase;
    border-bottom:1px solid #000;
    padding-bottom:8px;
    margin-top:0;
    margin-bottom:0;
    max-width:1050px;
}
ul.invoices h4 a {
    color:#000;
    text-decoration:none;
}
ul.invoices h4 span { color:#F25500; }
ul.invoices h5 {
    color:#EB8423;
    margin-top:0;
}
ul.invoices ul {
    display:flex;
    justify-content:space-between;
    max-width:1050px;
    font-size:43px;
    line-height:1em;
    font-weight:900;
    color:#595A5C;
    border-bottom:1px solid #000;
    padding-bottom:25px;
    margin-bottom:20px;
    margin-top:28px;
}
ul.invoices ul li { margin-bottom:5px; }
ul.invoices ul li:last-child {
    border-left:1px solid #000;
    padding-left:50px;
}
ul.invoices p { font-size:16px; }
ul.invoices h6 {
    font-size:12px;
    line-height:1em;
    font-weight:900;
    margin-bottom:5px;
    color:#F15922;
}
ul.invoices li.paid h4 span, ul.invoices li.paid h5, ul.invoices li.paid h6 { color:#00A651; }
ul.invoices a.button {
    background:none;
    color:#303232;
    border:1px solid #303232;
    min-width:190px;
}
ul.invoices a.button.primary {
    background:#EB8423;
    border:1px solid #EB8423;
    color:#fff;
}
ul.invoices form + p {
    margin-top:2em;
    max-width:860px;
}
@media print {
    body.invoice_body #site_selector { display:none; }
}
main.invoice { display:block; }
main.invoice > div {
    padding:0;
    width:auto;
    max-width:100%;
}
#invoice_header {
    margin-left:182px;
    margin-top:90px;
    font-size:16px;
    line-height:1.5em;
    margin-bottom:25px;
}
@media print {
    #invoice_header {
        margin-left:40px;
        margin-top:20px;
        width:650px !important;
    }
}
#invoice_header th {
    border-bottom:1px solid #000;
    padding-bottom:5px;
}
#invoice_header h1 {
    margin:0;
    font-family:'Lato';
    font-weight:300;
    font-size:35px;
    line-height:1em;
    text-align:left;
    text-transform:uppercase;
}
#invoice_header h1 span {
    margin-left:30px;
    font-weight:bold;
    color:#00A651;
}
#invoice_header h2 {
    font-family:'Lato';
    font-weight:900;
    font-size:30px;
    line-height:0.9em;
    margin-top:0;
    margin-bottom:0;
}
#invoice_header th, #invoice_header td { white-space:nowrap; }
#invoice_header th:first-child, #invoice_header td:first-child { padding-left:35px; }
#invoice_header tbody tr:first-child td { padding-top:30px; }
#invoice_header .label {
    text-align:right;
    padding-right:40px;
}
#invoice_header tfoot td:last-child {
    font-size:14px;
    line-height:1em;
    color:#EB8316;
    text-transform:uppercase;
    border-bottom:1px solid #EB8316;
}
#invoice_header.paid tfoot td:last-child { border-bottom:none; }
#invoice_day {
    padding-top:32px;
    padding-bottom:32px;
    background:#eaeaea;
}
@media print {
    #invoice_day {
        padding-top:0;
        padding-bottom:0;
    }
}
#invoice_day h2 {
    font-family:'Lato';
    font-size:22px;
    font-weight:900;
    margin-left:217px;
    margin-top:0;
    margin-bottom:0;
}
@media print {
    #invoice_day h2 {
        margin-left:75px;
    }
}
#invoice_body {
    margin-left:200px;
    margin-top:30px;
}
@media print {
    #invoice_body {
        margin-left:58px;
        width:650px !important;
    }
}
#invoice_body thead {
    font-size:16px;
    line-height:1.5em;
}
#invoice_body thead td {
    padding-bottom:30px;
    border-bottom:1px solid #000;
}
#invoice_body td:first-child { padding-left:17px; }
#invoice_body tbody tr:first-child td { padding-top:20px; }
#invoice_body tbody tr:last-child td {
    padding-bottom:20px;
    border-bottom:1px solid #000;
}
#invoice_body tfoot tr:first-child td { padding-top:20px; }
#invoice_body tfoot tr:nth-last-child(2) td { padding-bottom:20px; }
#invoice_body tfoot tr:last-child td {
    padding-top:20px;
    border-top:1px solid #000;
    padding-bottom:20px;
    border-bottom:1px solid #000;
}
#invoice_total {
    font-size:20px;
    line-height:1em;
}
#invoice_footer {
    background:none;
    margin-top:20px;
    margin-left:200px;
    padding-bottom:40px;
    font-size:15px;
}
@media print {
    #invoice_footer {
        margin-left:58px;
        padding-bottom:0;
    }
}
#invoice_footer p { font-size:16px; }
@media print {
    #invoice_footer p { font-size:12px; }
}
#invoice_footer a.button {
    min-width:190px;
    color:#fff;
}
@media print {
    #invoice_footer a.button {
        display:none;
    }
}
#invoice_footer a:hover.button { color:#EB8316; }
#invoice_footer a.button.secondary {
    background:none;
    color:#000;
    border:1px solid #000;
}
#invoice_footer_send, .invoice_send {
    display:none;
}
#invoice_footer_send.active, .invoice_send.active {
    display:block;
    border-top:1px solid #000;
    margin-top:35px;
    padding-top:25px;
    width:796px;
}
#invoice_footer_send p, .invoice_send p {
    font-size:12px !important;
    line-height:1.5em !important;
    text-transform:uppercase;
    color:#606161;
}
#invoice_footer_send input[type="email"] {
    border:1px solid #303232 !important;
    height:50px;
    line-height:50px;
    max-width:595px;
}
#invoice_footer_send input[type="submit"], .invoice_send input[type="submit"] {
    background:none;
    color:#000;
    border:1px solid #000;
    width:190px;
    margin-top:10px;
}
#invoice_footer_contact {
    margin-top:30px;
}
#invoice_footer_charity {
    margin-top:40px;
    margin-bottom:20px;
}
#invoice_footer_charity img {
    display:block;
    float:left;
    margin-right:15px;
}
#invoice_footer_charity p.small {
    font-size:12px;
    line-height:1.2em;
    max-width:695px;
    padding-top:10px;
}
#invoice_footer_charity small {
    display:inline;
    font-size:12px;
    line-height:1.4em;
    font-weight:normal;
}
#payment_details {
    clear:both;
    margin-top:20px;
    padding-top:20px;
    border-top:2px solid #000;
}
#payment_details > img { float:right; }
#payment_details h4 { margin-top:0; }
#payment_method_select {
    list-style:none;
    margin-left:0;
    margin-right:0;
    margin-top:0;
    margin-bottom:15px;
    padding:0;
}
#payment_method_select::after {
    content:'';
    display:table;
    clear:both;
}
#payment_method_select li {
    margin:0;
    padding:0;
    float:left;
    width:49.2%;
}
#payment_method_select li:first-child { margin-right:1.5%; }
#payment_method_select li a {
    display:block;
    background:#58595B;
    color:#fff;
    text-decoration:none;
    text-transform:uppercase;
    line-height:50px;
    padding-left:25px;
    padding-right:25px;
}
#payment_method_select li a.active { background:#EB8316; }
#payment_details .selectric {
    text-transform:uppercase;
    background:#58595B;
    color:#fff;
}
#payment_details .selectric .selectric-button::after {
    content:"\f107";
    font-size:17px;
    line-height:1.8;
}
#payment_details .selectric-items {
    background:none !important;
    box-shadow:none;
    border:none !important;
}
#payment_details .selectric-items li {
    background:#D1D3D4;
    color:#000;
    text-transform:uppercase;
    padding-top:15px;
    padding-bottom:15px;
    margin-bottom:5px;
}
#payment_details .selectric-items li.selected, #payment_details .selectric-items li:hover {
    background:#58595B;
    color:#fff;
}
#payment_details .selectric-wrapper + .err { bottom:-22px; }
#payment_details p {
    font-size:14px;
    line-height:1.5em;
}
#payment_cc, #payment_eft, #payment_edc, #payment_cat {
    max-height:0px;
    overflow:hidden;
    transition:all 0.5s;
}
#payment_cc.active, #payment_eft.active, #payment_edc.active, #payment_cat.active { max-height:999px; }
#payment_eft blockquote { font-size:16px; }

#supplements {
    font-size:18px;
    border-top:1px solid #000;
    border-bottom:1px solid #000;
    padding-top:15px;
    padding-bottom:15px;
    margin-top:80px;
    margin-bottom:15px;
}
#supplements a {
    font-weight:bold;
    text-decoration:none;
}
#school_list {
    margin-top:40px;
    margin-bottom:20px;
}
#school_list .selectric-wrapper, .panels .selectric-wrapper { font-family:'Flexo'; }
#school_list .selectric-wrapper {
    width:382px;
    float:left;
    margin-right:28px;
}
#school_list .selectric, .panels .selectric { background:none; }
body.page-attendance-portal .selectric-wrapper { text-transform:uppercase; }
body.page-attendance-portal .selectric { border:none; }
#school_list .selectric .label, .panels .selectric .label,
body.page-attendance-portal .selectric .label { padding-left:15px; }
#school_list .selectric .selectric-button, .panels .selectric .selectric-button,
body.page-attendance-portal .selectric .selectric-button { width:58px; }
#school_list .selectric .selectric-button::after, .panels .selectric .selectric-button::after,
body.page-attendance-portal .selectric .selectric-button::after { content:"\f107"; }
#school_list .selectric-items, .panels .selectric-items, body.page-attendance-portal .selectric-items {
    background:none;
    border:none;
    box-shadow:none;
    z-index:10;
}
#school_list .selectric-items li, .panels .selectric-items li, body.page-attendance-portal .selectric-items li {
    background:#D2D3D4 !important;
    margin-top:5px;
    line-height:34px;
    min-height:34px;
    padding-left:20px;
}
#school_list .selectric-items li:hover, .panels .selectric-items li:hover {
    background:#EB8316 !important;
    color:#fff !important;
}
#school_list .selectric-items li.selected, .panels .selectric-items li.selected { background:#D2D3D4; }
body.page-attendance-portal .selectric-items li:hover { filter:brightness(70%); }
body.page-attendance-portal .selectric-items .disabled, body.page-attendance-portal .selectric-items .disabled:hover {
    opacity:1;
}

#school_list a.button {
    background:none;
    color:#000;
    border:1px solid #000;
    width:382px;
    float:left;
}
#school_list + a.button {
    color:#fff;
    width:192px;
}
#school_list table {
    margin-top:30px;
    background:#fff;
}
#school_list th, #school_list td { padding-left:15px; }
#school_list th {
    text-align:left;
    background:#A6A6A6;
    color:#fff;
    font-size:12px;
    line-height:1em;
    padding-top:15px;
    padding-bottom:10px;
}
#school_list td {
    font-size:16px;
    line-height:1em;
    padding-top:7px;
    padding-bottom:8px;
    border-bottom:1px solid #929497;
}
#school_list td.new_day_row {
    background:#f0a250;
    font-weight:bold;
    text-transform:uppercase;
}
#school_list tr.modified td { background:#fceddc; }
#school_list .circle {
    display:inline-block;
    width:14px;
    height:14px;
    border-radius:50%;
    margin-right:4px;
}
#school_list .circle.pending { background:#F6931D; }
#school_list .circle.unpaid { background:red; }
#school_list .circle.paid { background:#00A651; }
#school_list a.ico_resend, #school_list a.ico_resend_verify, #school_list a.ico_notes {
    color:#000;
    text-decoration:none;
}
#school_list a.ico_resend .spinner, #school_list a.ico_resend_verify .spinner { display:none; }
#school_list a.ico_resend.waiting .spinner, #school_list a.ico_resend_verify.waiting .spinner { display:inline-block; }
#school_list a.ico_resend.waiting .icon, #school_list a.ico_resend_verify.waiting .icon { display:none; }
#school_list .cancelled td { color:red; }
#school_list .unverified td { color:#F6931D; }

body.portal .datepick-nav, body.portal .datepick-month-header, body.portal .datepick-ctrl { background:#595A5C; }
body.portal a.datepick-cmd { color:#fff; }
body.portal .datepick-month, body.portal .datepick { min-width:240px; }
.datepick-month td {
    background:#fff;
    min-width:30px;
}
.datepick-month a { background:#fff; }
.hidden { display:none; }

#user_type_row li[data-index="1"], #user_type_row li[data-index="2"], #user_type_row li[data-index="3"], #user_type_row li[data-index="4"] {
    background:#8dc63f !important;
}
#user_type_row li[data-index="5"] { background:#3fa9f5 !important; }
#user_type_row li:hover { filter:brightness(70%); }
#display_row .selectric-items ul {
    column-count:2;
    letter-spacing:-1px;
}
#display_row .selectric-items ul li { break-inside:avoid; }
#display_row .selectric-items ul li:first-child { column-span:all; }

body.page-template-template_attendance a.button, body.page-template-template_attendance input[type="submit"] {
    font-family:'Montserrat';
    line-height:48px !important;
    background:#8dc63f;
    border:1px solid #8dc63f;
    color:#000;
    padding-top:0;
    padding-bottom:0;
}