/**
 * Brand Colors
 *
 * #70d2d7 : Light Blue : rgba(112, 210, 215, 1)
 * #3fc1c8 : Medium Blue : rgba(63, 193, 200, 1)
 * #9ec583 : Green : rgba(158, 197, 131, 1)
 * #ffc77a : Light Orange : rgba(255, 199, 122, 1)
 * #f8aa52 : Orange (Primary Logo Color) : rgba(248, 170, 82, 1)
 * #eb6841 : Red/Orange : rgba(235, 104, 65, 1)
 * #414243 : Charcoal (Secondary Logo Color) : rgba(65, 66, 67, 1)
 */

.light-blue {
    color: #70d2d7;
}
.light-blue-bg {
    background-color: #70d2d7;
    color: #fff;
}
.med-blue {
    color: #3fc1c8;
}
.med-blue-bg {
    background-color: #3fc1c8;
    color: #fff;
}
.green {
    color: #9ec583;
}
.green-bg {
    background-color: #9ec583;
    color: #fff;
}
.light-orange {
    color: #ffc77a;
}
.light-orange-bg {
    background-color: #ffc77a;
    color: #fff;
}
.orange {
    color: #f8aa52;
}
.orange-bg {
    background-color: #f8aa52;
    color: #fff;
}
.red-orange {
    color: #eb6841;
}
.red-orange-bg {
    background-color: #eb6841;
    color: #fff;
}
.charcoal {
    color: #414243;
}
.charcoal-bg {
    background-color: #414243;
    color: #fff;
}

/**
 * BASE STYLES
 */

body {
    color: #414243;
    font-size: 15px;
}
input,
select,
textarea,
button {
    font-size: 13px;
}
#mask {
    height: 100%;
    left: 0;
    opacity: 0;
    position: fixed;
    top: 0;
    width: 100%;
    z-index: 4;
    -webkit-transform: translateZ(0);
    transform: translateZ(0);
}
#mask,
.yui3-skin-sam .yui3-widget-mask {
    background: #414243;
}
a {
    color: #414243;
    text-decoration: none;
}
a:hover {
    text-decoration: underline;
}
.yui3-js-enabled .clickable {
    cursor: pointer;
}
.yui3-js-enabled .clickable .no-clickable {
    cursor: default;
}
tbody th {
    text-align: left;
}
tbody th a.send-msg {
    float: right;
}
textarea {
    max-width: 100%;
    resize: vertical;
}
.page-heading,
#content > h3,
.sc-table-toolbar h3 {
    font-size: 28px;
    margin: 0.8em 0 0.4em 0;
    text-transform: uppercase;
}
.module .hd {
    display: flex;
    justify-content: space-between;
    align-items: center;
}
.module-heading,
.page-content h4 {
    font-size: 1.5em;
    font-weight: normal;
    margin: 1em 0 0.5em;
    text-transform: none;
}
.columns .module-heading {
    margin: 0;
    line-height: 47px;
}
.split-box > .module-heading {
    margin-top: 0.5em
}
.split-box > .page-heading {
    margin-top: 10px;
}
.important {
    color: #3fc1c8;
}
.important.medical {
    color: #eb6841;
}
.important::before {
    content: '\f024';
    font-family: "Font Awesome 5 Free";
    font-weight: 900;
    font-style: normal;
    font-variant: normal;
    text-rendering: auto;
    -webkit-font-smoothing: antialiased;
    margin-right: 0.5em;
}
.important.medical::before {
    content: '\f0fa';
}
input[type="file"] {
    padding: 1px;
}
.pure-form select,
.pure-form select[multiple] {
    height: 2.385em;
}
.ua-macosx .pure-form input[type="date"] {
    padding: 0.3em 0.6em;
}
.pure-form legend strong {
    color: #414243;
    text-transform: uppercase;
}
.pure-form legend small {
    color: #888;
    margin-left: 1em;
}
.pure-form .group,
.pure-form label,
.pure-form .pure-checkbox,
.pure-form .pure-radio {
    margin: 0.5em;
}
.pure-form .group label {
    margin: 0.5em 0;
}
.pure-form .buttons {
    padding: 0.5em;
    text-align: right;
    box-sizing: border-box;
}
.pure-form .buttons .delete {
    float: left;
}
.pure-button-warning,
.pure-button.delete,
.pure-button.delete:hover {
    background-color: #EB6841;
    color: #fff;
}
.pure-button.icon {
    padding: 0.5em 0.75em;
}
.pure-button.add {
    background-color: #9EC583;
    color: #fff;
}
.pure-button.pure-button-link.add {
    background: transparent;
    color: inherit;
    padding: 0.5em;
}
.pure-button img {
    vertical-align: middle;
}
.pure-button-link .fa-plus {
    background-color: #9EC583;
    border-radius: 2px;
    color: #fff;
    padding: .5em;
    margin-right: .4em;
    min-width: 1em;
}
.pure-button-link:hover .fa-plus {
    background-image: linear-gradient(transparent, rgba(0, 0, 0, .05) 40%, rgba(0, 0, 0, .1));
}
.pure-button:hover {
    text-decoration: none;
}
.pure-button-primary,
.pure-button-primary:hover,
a.pure-button-primary {
    background-color: #9EC583;
}
.pure-form h3,
.pure-form h4,
.pure-form h5 {
    display: inline-block;
    margin: 0;
}
.pure-button-link,
.pure-button-link:hover,
.pure-button-link:focus,
.pure-button-link:active {
    border-color: transparent;
    background: none;
    box-shadow: none;
}
.pure-menu .pure-menu-link {
    text-decoration: none;
}
.pure-menu-children {
    border: 1px solid #ccc;
    margin-left: -1px;
    min-width: 100%;
}
.pure-menu-children .pure-button {
    min-width: 100%;
}
.pure-menu-children .pure-button-link:hover {
    background: #eee;
}
.pure-button:focus {
    box-shadow: inset 0 0 0 1px #129fea;
}
.date-picker .pure-button-link {
    padding-left: 0.5em;
    padding-right: 0.5em;
}
.pure-form.date-picker input {
    display: inline-block;
}
.table-overflow {
    overflow-y: auto;
    min-width: 100%;
}
.pure-table {
    width: 100%;
}
.pure-table thead {
    background-color: #414243;
    color: #fff;
}
.pure-table thead select {
    color: #333;
}
.pure-table th,
.pure-table td {
    padding: 12px;
}
.pure-table th.snug,
.pure-table td.snug {
    white-space: nowrap;
    width: 1px;
}
.pure-table-striped .pure-table-odd,
.pure-table-striped tbody tr:nth-child(2n-1),
.pure-table-striped tbody tr:nth-child(2n-1) th,
.pure-table .pure-table-odd th {
    background-color: #f2f2f2;
}
.pure-table-bordered tbody th {
    border-bottom: 1px solid #ccc;
}
.pure-table-bordered tbody>tr:last-child th,
.pure-table-horizontal tbody>tr:last-child th {
    border-bottom-width: 0;
}
.pure-table.no-border,
.pure-table.no-border tr,
.pure-table.no-border th,
.pure-table.no-border td {
    border-width: 0;
}
.scrollable-table {
    border: 1px solid #ccc;
    background: #fff;
}
.scrollable-table table {
    border: none;
}
/* sortable tables */
thead th[data-sortable]:after {
    content: '\f0dc';
    font-family: "Font Awesome 5 Free";
    font-weight: 900;
    font-style: normal;
    font-variant: normal;
    text-rendering: auto;
    -webkit-font-smoothing: antialiased;
    margin-left: 1em;
    visibility: hidden;
}
thead th[data-sortable]:hover:after {
    visibility: visible;
}
thead th[data-sortable].sort-asc:after {
    content: '\f0dd';
    visibility: visible;
}
thead th[data-sortable].sort-desc:after {
    content: '\f0de';
    visibility: visible;
}

/* week view */
table.week-view {
    table-layout: fixed;
}
table.week-view th {
    width: 100px;
}
table.week-view th small {
    float: right;
}
table.week-view td {
    border-bottom: 1px solid #ccc;
    vertical-align: top;
}
table.week-view td .day {
    text-align: right;
    color: #888;
    margin-bottom: 1em;
}
table.week-view td .content {
    min-height: 6em;
}

/* box list */
ul.box-list {
    padding: 0;
}
ul.box-list > li {
    border: 1px solid #e5e5e5;
    display: block;
    margin: 0.5em 0;
    padding: 0.5em;
}
ul.box-list > li > label {
    display: block;
    margin: -0.5em;
    padding: 0.5em;
}

/* two-column list items */
ul.pure-g {
    padding: 0;
}
.pure-u-1-2 .column {
    margin: 0 0.5em 1em 0.5em;
}
.pure-g.columns {
    margin-left: -0.5em;
    margin-right: -0.5em;
}
.pure-g.columns > [class*='pure-u'] {
    box-sizing: border-box;
    padding: 0 0.5em 1em 0.5em;
}
@media (min-width: 64em) {
    .pure-g.columns {
        margin-left: -0.75em;
        margin-right: -0.75em;
    }
    .pure-g.columns > [class*='pure-u'] {
        padding: 0 0.75em 1.5em 0.75em;
    }
}

/* person lists */
.households-list > li,
.person-list > li {
    box-sizing: border-box;
    padding: 0.5em;
}

/* line-clamp */
.line-clamp-1,
.line-clamp-2,
.line-clamp-3,
.line-clamp-4,
.line-clamp-5 {
    display: block;
    line-height: 1.3em;
    overflow: hidden;
    text-overflow: ellipsis;
    display: -webkit-box;
    -webkit-box-orient: vertical;
}
.line-clamp-1 {
    -webkit-line-clamp: 1;
    max-height: 1.3em;
}
.line-clamp-2 {
    -webkit-line-clamp: 2;
    max-height: 2.6em;
}
.line-clamp-3 {
    -webkit-line-clamp: 3;
    max-height: 3.9em;
}
.line-clamp-4 {
    -webkit-line-clamp: 4;
    max-height: 5.2em;
}
.line-clamp-5 {
    -webkit-line-clamp: 5;
    max-height: 6.5em;
}

/* YUI Panels skin*/
.yui3-panel {
    outline: none;
    margin-bottom: 8em; /* gives extra space at bottom of page */
}
.yui3-skin-sam .yui3-panel-content {
    box-shadow: 0 0 5px rgba(0, 0, 0, 0.5);
    border: 1px solid #666;
}
.yui3-skin-sam .yui3-panel-content > .yui3-widget-hd {
    background: #414243;
    border-bottom: 1px solid #ccc;
    color: #eee;
    padding: 8px 30px 8px 15px;
}
.yui3-skin-sam .yui3-panel-content > .yui3-widget-ft {
    background: transparent;
    border-top: 1px solid #ccc;
    color: inherit;
}
.yui3-skin-sam .yui3-panel-content > .yui3-widget-ft {
    background: transparent;
    border-top: 1px solid #ccc;
    color: inherit;
}
@media only screen and (max-device-width : 500px) {
    .yui3-panel {
        margin-bottom: 0;
        width: 100% !important;
        height: 100% !important;
        top: 0;
    }
    .yui3-skin-sam .yui3-panel-content > .yui3-widget-hd {
        display: none;
    }
    .yui3-skin-sam .yui3-panel-content {
        box-shadow: none;
        border: none;
        height: 100%;
    }
}

/* Hack for FontAwesome close button on modal panel */
.yui3-skin-sam .yui3-panel-content > .yui3-widget-hd .yui3-button-close {
    height: 1em;
    width: 1em;
}
.yui3-skin-sam .yui3-panel-content > .yui3-widget-hd .yui3-button-close:before {
    font-family: "Font Awesome 5 Free";
    font-weight: 900;
    font-style: normal;
    font-variant: normal;
    text-rendering: auto;
    -webkit-font-smoothing: antialiased;
    content: "\f00d";
    font-size: 15px;
    margin-right: 1em;
    line-height: 1;
    color: #ccc;
}
.yui3-skin-sam .yui3-panel-content > .yui3-widget-hd .yui3-button-close:hover:before {
    color: #eee;
}
.yui3-skin-sam .yui3-panel-content > .yui3-widget-bd h4 {
    display: block;
    border-bottom: 1px solid #ccc;
    margin: 0 7px .5em 7px;
    padding: .5em 0;
}
.yui3-skin-sam .yui3-panel-content > .yui3-widget-bd input[type="file"] {
    display: block;
    padding: 0.65em 0;
}

/* user/class details list */
dl.inline:after {
    content: '';
    display: table;
    clear: both;
}
dl.inline dt {
    clear: both;
    float: left;
    font-weight: bold;
    margin: 0 0 1em 0;
    text-align: right;
    text-transform: uppercase;
    width: 38%;
    word-wrap: break-word;
    overflow-wrap: break-word;
}
dl.inline dt .hint {
    color: #888;
    font-size: 80%;
    font-weight: normal;
    margin: 0;
    text-transform: none;
}
dl.inline dd {
    float: right;
    margin: 0 0 1em 0;
    padding-bottom: 2px;
    min-height: 1em;
    overflow: hidden;
    width: 60%;
}
dl.inline dd:last-child {
    margin-bottom: 0;
}
td.remove button.pure-button-warning,
dl.inline dd.edit button.delete {
    padding-left: .75em;
    padding-right: .75em;
}
dl.inline dd.edit button.undo {
    padding-left: .715em;
    padding-right: .715em;
}
/* Nested Inline DL */
dl.inline.nested > dd {
    float: none;
    clear: left;
    width: 100%;
}
dl.inline.nested > dd > dl {
    padding-top: 0;
    padding-bottom: 0;
    margin: 0;
}

/* Editable Sections */
form.editing {
    position: relative;
    z-index: 5;
}
.yui3-js-enabled form.editable:hover {
    cursor: pointer;
}
.yui3-js-enabled form.editable:hover,
.yui3-js-enabled form.editable:focus,
form.editing {
    transition: background 0.5s;
    background: #eee;
}
form.editing dt {
    margin-top: 5px;
}
form.editing label {
    line-height: 26px;
}
form.editable .edit,
form.editing .view {
    display: none;
}
form.editable .edit-template,
form.editing .edit-template {
    display: none;
}
form.editing dd input[type="text"],
form.editing dd select,
form.editing dd textarea {
    width: 100%;
}

/* student alert notes */
.alerts > span + span {
    margin-left: 0.5em;
}
.alerts > .important::before {
    margin: 0;
}
.alerts .tooltip {
    z-index: 1;
}

/* vcards */
.vcard {
    border-radius: 2px;
    border: 1px solid #ddd;
    line-height: 1.3;
    min-height: 75px;
    padding: 15px 15px 8px 85px;
    position: relative;
}
.vcard .vcard {
    font-size: 90%;
    margin-bottom: 1em;
}
.vcard .photo {
    left: 15px;
    position: absolute;
    top: 15px;
}
.vcard .alerts {
    left: 15px;
    position: absolute;
    text-align: center;
    top: 75px;
    width: 55px;
}
.vcard .fn {
    font-size: 140%;
    line-height: 1;
    text-transform: uppercase;
    vertical-align: middle;
}
.vcard .fn + .send-msg {
    color: #888;
    font-size: 120%;
    margin-left: 0.25em;
    vertical-align: middle;
}
.vcard .send-msg:hover {
    color: #70d2d7;
}
.vcard .org-id {
    color: #888;
    font-size: 85%;
}
.vcard .tel,
.vcard .email {
    display: inline-block;
    max-width: 100%;
    overflow: hidden;
    text-overflow: ellipsis;
    white-space: nowrap;
}
.vcard .vcard-address p {
    margin: 0;
}
.vcard .pure-button,
.vcard .note {
    font-size: 12px;
    margin: 0.5em 0 0 0;
}
.vcard .note {
    margin: 0;
}
.vcard .category {
    color: #EB6841;
    position: absolute;
    right: 15px;
    top: 15px;
}
.vcard .expandable-toggle {
    background: #eee;
    border-radius: 4px 0 1px 0;
    bottom: 0;
    padding: 0 6px;
    position: absolute;
    right: 0;
    font-size: 15px;
}
.vcard .expandable-toggle:hover {
    background: #ddd;
}
.vcard h4 {
    font-size: 126%;
    font-weight: normal;
    margin: 1.5em 0 0.5em;
    text-transform: uppercase;
}
/* ribbon on vcard */
.vcard .corner-flag {
    height: 60px;
    left: 0;
    overflow: hidden;
    pointer-events: none;
    position: absolute;
    top: 0;
    width: 60px;
}
.vcard .corner-flag span {
    background: #f8aa52;
    color: #fff;
    font-size: 10px;
    font-weight: normal;
    left: -18px;
    line-height: 1;
    padding: 3px 15px;
    position: absolute;
    text-transform: lowercase;
    top: 12px;
    transform: rotate(-45deg);
    white-space: nowrap;
}
.vcard.provisional .corner-flag span,
.vcard.future-enrolled .corner-flag span {
    background: #9ec583;
}

.vcard.external a {
    pointer-events: none;
    cursor: default;
}

/* vcard lists */
.vcard-list {
    border: 1px solid #ddd;
    margin: .5em 0;
    padding: 0;
    list-style: none;
}
.vcard-list > li {
    position: relative;
}
.vcard-list .vcard {
    border: none;
}

/* profile pictures */
.profile-pic {
    border-radius: 50%;
    object-fit: cover;
    vertical-align: middle;
}
/* avoid manipulating svg icons */
.profile-pic[src^="data:image/svg+xml"] {
    border-radius: 0;
    object-fit: initial;
}
.profile-pic-large {
    width: 55px;
    height: 55px;
}
.profile-pic-medium {
    width: 32px;
    height: 32px;
}
.profile-pic-small {
    height: 18px;
    width: 18px;
    vertical-align: text-bottom;
}

/* generic helpers */
.hidden-label {
    margin: 0;
}
.hidden-label .label,
.ir {
    position: absolute;
    overflow: hidden;
    clip: rect(0 0 0 0);
    clip-path: inset(50%);
    height: 1px;
    width: 1px;
    margin: -1px;
    padding: 0;
    border: 0;
}
.skip-link:focus {
    all: initial;
    position: absolute;
    top: 0;
    left: 50%;
    transform: translateX(-50%);
    background: #fff;
    color: #3fc1c8 !important;
    z-index: 4;
    text-decoration: underline;
    padding: .25em;
}
.hidden,
.yui3-js-enabled .js-hidden {
    display: none !important;
}
.invisible,
html:not(.main-loaded) .requires-main,
html:not(.main-loaded) [data-alma-modal] {
    visibility: hidden;
}
.columns .no-results {
    border: 1px solid #ddd;
    padding: 1em;
    margin: 0;
    color: #888;
    font-style: italic;
    text-align: center;
}
.dimmed {
    color: #888;
}
.plain {
    padding: 0;
    margin: 1em 0;
    list-style: none;
}
.plain li {
    margin: .5em 0;
}

/**
 * Split Box layout without floats (thus better wrapping when necessary)
 * e.g.
 *     <div class="split-box">
 *         <h1>Foo</h1>
 *         <h2>Bar</h2>
 *     </div>
 */
.split-box {
    line-height: 0;
    text-align: justify;
}
.split-box::after {
    content: '';
    width: 100%;
}
.split-box > *,
.split-box::after {
    display: inline-block;
    line-height: normal;
    position: relative;
    text-align: initial;
    vertical-align: middle;
}

/* table toolbars (heading + form) */
.sc-table-toolbar {
    overflow: hidden;
    padding: 0 1px;
}
.sc-table-toolbar h3 {
    display: inline-block;
    margin: .4em 0;
    vertical-align: middle;
}
.sc-table-toolbar .status {
    float: right;
}
.sc-table-toolbar .status > p, /* not taken or updated-by */
.sc-table-toolbar .status > .attendance-totals {
    display: inline-block;
}
.sc-table-toolbar form,
.sc-table-toolbar > .pure-button {
    float: right;
    margin: 10px 0 10px 1em;
}
.sc-table-toolbar form.date-picker {
    float: none;
    min-width: 177px; /* firefox fix */
    display: inline-block;
    white-space: nowrap;
}
.sc-table-toolbar .module-heading {
    display: inline-block;
    line-height: 47px;
    margin: 0;
    vertical-align: middle;
}
@media screen and (min-width: 48em) { /*pure-u-md*/
    .sc-table-toolbar h3 {
        line-height: 53px;
        margin: 0;
    }
}

.columns .sc-table-toolbar form,
.profile-content .sc-table-toolbar > .pure-button {
    margin: 0;
}
.page-content h4 {
    font-size: 1.5em;
    font-weight: normal;
    margin: 0.5em 0 0.5em;
}

/* basic box */
.sc-box {
    display: inline-block;
    border: 1px solid #ccc;
    color: #888;
    font-size: 80%;
    line-height: 1;
    overflow: hidden;
    padding: 2px 4px;
}
.sc-box.active {
    background-color: #9EC583;
    border-color: #888;
    color: #fff;
}
/* version of basic box used for class schedule */
.class-schedule .sc-box {
    font-size: 10px;
    text-align: center;
    white-space: nowrap;
    width: 3.25em;
}
.class-schedule:not(:first-of-type) .sc-box.active {
    background-color: #bbb;
}
.class-schedule .has-tooltip .tooltip {
    padding: 0;
}
.class-schedule .has-tooltip .tooltip > div {
    max-height: 12em;
    overflow: auto;
    padding: 6px;
    width: 12em;
}
.class-schedule .has-tooltip .tooltip > div ul {
    margin: 0;
    padding: 0;
}
.class-schedule .has-tooltip .tooltip > div li {
    line-height: 1;
    margin-top: 0.5em;
}

/**
 * LAYOUT
 */
.has-nav #layout {
    transition: padding .2s ease-in-out; /* nav width transition */
}
.has-nav #layout,
.has-nav.nav-collapsed #layout {
    padding-left: 0;
}
#content {
    margin: 10px 20px 70px 20px;
    position: relative;
}
#content:before,
#content:after {
    content: ' ';
    display: table;
}
.fullscreen {
    margin: 0 !important;
}
.fullscreen #layout {
    padding-left: 0 !important;
    transition: padding 0s !important;
}
.fullscreen #header,
.fullscreen #nav,
.fullscreen #banner {
    display: none;
}
.fullscreen .fullscreen-toggle .fa-expand-arrows-alt:before {
    font-family: "Font Awesome 5 Free";
    font-weight: 900;
    font-style: normal;
    font-variant: normal;
    text-rendering: auto;
    -webkit-font-smoothing: antialiased;
    content: '\f066';
}
.page-tools {
    background: #fff;
    bottom: 0;
    box-shadow: 0 -1px 2px #ccc;
    box-sizing: border-box;
    padding: 10px;
    position: fixed;
    right: 0;
    text-align: right;
    transition: padding .2s ease-in-out; /* nav width transition */
    width: 100%;
    z-index: 1;
}
.sec-box {
    margin: 0 0 1em 0;
    padding: 0.75em 1em;
    border: 1px solid #ddd;
    position: relative;
    overflow: hidden;
}
.sec-box h4 {
    margin: 0 0 1em 0;
    font-size: 1.1875em;
}
@media screen and (min-width: 48em) { /*pure-u-md*/
    .has-nav #layout {
        padding-left: 130px; /* nav-width */
    }
    .has-nav.nav-collapsed #layout {
        padding-left: 40px; /* collapsed nav-width */
    }
    .has-sidebar #content {
        margin-right: 320px; /* width of sidebar + 20px gutter */
    }
    /*add a toggle for sidebar?*/
    .has-sidebar #sidebar {
        bottom: 0;
        position: absolute;
        right: 0;
        top: 0;
        width: 300px;
    }
    .has-nav #sidebar {
        top: 88px;
    }
    #sidebar > div {
        background-color: #f8f7f7;
        min-height: 100%;
    }
    .has-nav .page-tools {
        padding-left: 140px; /* nav width + 10px */
    }
    .has-nav.nav-collapsed .page-tools {
        padding-left: 50px; /* collapsed nav-width + 10px */
    }
}

/**
 * BANNER
 */
#banner {
    box-sizing: border-box;
    box-shadow: 0 0 4px #000;
    height: 30px;
    padding: 5px 20px;
    position: fixed;
    text-align: center;
    text-transform: uppercase;
    top: 0;
    width: 100%;
    white-space: nowrap;
    z-index: 4;
}
#banner h3 {
    font-size: 15px;
    line-height: 19px;
    margin: 0;
    overflow: hidden;
}

/**
 * HEADER
 */
#header {
    background-color: #fff;
    position: relative;
    z-index: 3;
}
#header a {
    color: #414243;
}
#header h1,
#header h2 {
    margin: 0;
    padding: 10px 20px;
    line-height: 1;
}
#header h1 {
    border-top: 1px solid #eee;
    clear: both;
    font-size: 28px;
    text-transform: uppercase;
    white-space: nowrap;
}
#header h1 .switcher {
    display: inline-block;
    width: auto;
}
#header h1 .switcher .pure-menu-has-children {
    padding: 0 5px;
    margin: 0 -5px;
}
#header h1 .switcher .pure-menu-has-children > .pure-menu-link {
    font-size: 24px;
    padding: 0;
}
#header h1 .switcher .pure-menu-has-children:hover > .pure-menu-link {
    background: none;
}
#header h1 .switcher .pure-menu-has-children > .pure-menu-link:after {
    display: none;
}
#header h1 .switcher .current a {
    background-color: #eee;
}
#header h1 .switcher .pure-menu-children {
    font-size: 15px;
    font-weight: normal;
    text-transform: none;
    min-width: 0;
}
#header h1 .switcher .pure-menu-heading {
    display: block;
    font-weight: bold;
    margin-top: 0.5em;
}
#header h1 .switcher .pure-menu-heading:not(:first-of-type) {
    border-top: 1px solid #eee;
    padding-top: 1em;
}
#header h2 {
    color: #EB6841;
    font-size: 18px;
    font-weight: normal;
    text-transform: uppercase;
}
#page-header {
    background-color: #f8f7f7;
    border: solid #ccc;
    border-width: 1px 0;
    position: relative;
}
body.sy-pre-flight #page-header .back,
#page-header .back {
    border-right: 1px solid #ccc;
    color: #eb6841;
    float: left;
    font-size: 16px;
    line-height: 1;
    margin-right: 15px;
    padding: 10px 20px;
}
body.sy-pre-flight #page-header .back:hover,
#page-header .back:hover {
    background: #fff;
    color: #3fc1c8;
}
#header h1 small,
#header h2 small,
#banner h3 small {
    display: inline-block;
    font-size: 13px;
    font-weight: normal;
    margin-left: 1em;
    text-transform: none;
}
#banner h3 small {
    font-size: 12px;
    margin-left: 0;
}
#banner h3 a {
    color: #fff;
    text-decoration: underline;
}
#user-menu {
    background: inherit;
    float: right;
    position: relative;
    width: auto;
    z-index: 3;
}
#class-menu {
    float: right;
    padding: 5px 20px;
    font-size: 13px;
}
#class-menu a {
    display: inline-block;
    margin-left: .5em;
    vertical-align: middle;
}
#class-menu a:hover {
    text-decoration: none;
}
#class-menu a img {
    display: block;
    max-height: 28px;
}
#header-search {
    display: none;
    margin-right: -0.31em;
    position: relative;
    border-left: 1px solid #eee;
}
#header-search:before {
    content: '\f002';
    font-family: "Font Awesome 5 Free";
    font-weight: 900;
    font-style: normal;
    font-variant: normal;
    text-rendering: auto;
    -webkit-font-smoothing: antialiased;
    position: absolute;
    top: 0;
    left: 0;
    pointer-events: none;
    width: 48px;
    line-height: 48px;
    text-align: center;
}
#header-search input {
    cursor: pointer;
    font-size: 1em;
    box-shadow: none;
    padding-left: 48px;
    padding-right: 0;
    width: 0;
    border: none;
    height: 48px;
    transition: width .3s ease-in-out 1.5s;
    border-radius: 0;
    background-color: transparent;
}
#header-search input:hover {
    background-color: #eee;
}
#header-search input:focus {
    background-color: transparent;
    width: 180px;
    transition-delay: 0s;
}
#header-search input + .yui3-widget {
    width: 300px !important;
}
#header-search .yui3-aclist a,
.big-search .yui3-aclist a {
    color: #414243 !important;
    text-decoration: none;
}
#header-search .yui3-aclist-item-active,
.big-search .yui3-aclist-item-active {
    background-color: #eee;
}
#user-menu > .pure-menu-list {
    letter-spacing: -0.31em;
}
#user-menu > .pure-menu-list > .pure-menu-item {
    border-left: 1px solid #eee;
}
#user-menu .pure-menu-item {
    letter-spacing: normal;
}
#user-menu .button > .pure-menu-link {
    line-height: 48px;
    min-width: 48px;
    padding: 0;
    text-align: center;
}
#user-menu .button > .pure-menu-link::after {
    display: none;
}
#user-menu .pure-menu-link .greeting {
    visibility: hidden;
    display: inline-block;
    width: 0;
    overflow: hidden;
}
#user-menu .pure-menu-children {
    border-color: #eee;
}
#user-menu .pure-menu-children .fa {
    margin-right: 0.5em;
}
#user-menu .user {
    position: relative;
}
#user-menu .user .pure-menu-children {
    min-width: 100%;
    left: auto;
    right: 0;
}
#user-menu .bulletin-badge {
    background-color: #EB6841;
    border-radius: 50%;
    bottom: 8px;
    color: #fff;
    font-size: .6em;
    height: 14px;
    line-height: 15px;
    position: absolute;
    right: 14px;
    width: 14px;
}
.pure-button.toggle-nav {
    font-size: 18px;
    line-height: 48px;
    padding: 0 5px;
    width: 48px;
    float: left;
    border-right: 1px solid #eee;
}
.pure-button.toggle-nav:hover {
    border-right: 1px solid #eee;
    background-color: #eee;
}
@media screen and (min-width: 48em) { /*HEADER - pure-u-md*/
    #user-menu .pure-menu-link .greeting {
        visibility: visible;
        display: inline;
    }
    #user-menu .user img {
        margin-right: 5px;
    }
    #header-search {
        display: inline-block;
    }
    #header h1 {
        border: none;
        clear: none;
    }
    .pure-button.toggle-nav {
        display: none;
    }
}

/* header overrides when viewing past/pre-flight school year */
body.sy-past,
body.sy-pre-flight {
    margin-top: 30px;
}
body.sy-past #banner {
    background-color: #fff;
    color: #eb6841;
}
body.sy-pre-flight #banner {
    background-color: #3fc1c8;
    color: #fff;
}
body.sy-past       #nav,
body.sy-pre-flight #nav {
    top: 30px;
}
body.sy-past       #header,
body.sy-pre-flight #header,
body.sy-past       #header a,
body.sy-pre-flight #header a,
body.sy-past       #header button,
body.sy-pre-flight #header button {
    color: #fff;
}
body.sy-pre-flight #header .yui3-aclist-list,
body.sy-past #header .yui3-aclist-list {
    color: #414243;
}
.sy-past #header-search:hover input,
.sy-pre-flight #header-search:hover input,
body.sy-past       #user-menu .pure-menu-list > .pure-menu-item > .pure-menu-link:hover,
body.sy-pre-flight #user-menu .pure-menu-list > .pure-menu-item > .pure-menu-link:hover,
body.sy-past       #header button:hover,
body.sy-pre-flight #header button:hover {
    background-color: #eb6841;
}
.sy-past #header-search input:focus,
.sy-pre-flight #header-search input:focus {
    background: transparent;
}
body.sy-past       #header .pure-menu-children .pure-menu-link,
body.sy-pre-flight #header .pure-menu-children .pure-menu-link {
    color: #414243;
}
body.sy-past       #header,
body.sy-past       #user-menu,
body.sy-pre-flight #header,
body.sy-pre-flight #user-menu {
    background-color: #f8aa52;
}
.sy-past #header-search,
.sy-pre-flight #header-search {
    border-color: #fff;
}
.sy-past #header-search input::-webkit-input-placeholder,
.sy-pre-flight #header-search input::-webkit-input-placeholder,
.sy-past #header-search input::placeholder,
.sy-pre-flight #header-search input::placeholder,
.sy-past #header-search input,
.sy-pre-flight #header-search input,
.sy-past #header-search:before,
.sy-pre-flight #header-search:before {
    color: #fff;
}
#header h1 .switcher .sy-past a .fa,
#nav .sy-past a .fa {
    color: #eb6841;
}
#header h1 .switcher .sy-current a .fa,
#nav .sy-current a .fa {
    color: #9ec583;
}
#header h1 .switcher .sy-pre-flight a .fa,
#nav .sy-pre-flight a .fa {
    color: #3fc1c8;
}

/**
 * NAV
 */
#nav {
    bottom: 0;
    box-shadow: 0 0 4px #000;
    position: fixed;
    top: 0;
    transition: left .2s ease-in-out, width .2s ease-in-out;
    width: 130px;
    left: -134px; /* nav plus box-shadow*/
    z-index: 3;
}
.nav-collapsed #nav {
    width: 40px;
    left: -44px; /* nav plus box-shadow*/
}
.overlay-nav #nav,
.overlay-nav .nav-collapsed#nav {
    left: 0;
}
.overlay-nav .nav-cover {
    position: fixed;
    top: 0;
    right: 0;
    bottom: 0;
    left: 0;
    background: rgba(0, 0, 0, 0.3);
    z-index: -3;
}
#nav ul {
    list-style: none;
}
#nav > ul {
    background-color: #EB6841;
    margin: 0;
    padding: 0;
    height: 100%;
    overflow-x: hidden;
    overflow-y: auto;
}
#nav > ul > li.nav-collapse-toggle {
    text-align: center;
    width: 100%;
}
#nav > ul > li.nav-collapse-toggle .pure-button {
    color: #fff;
    box-shadow: none;
    font-size: 20px;
    padding: 0.5em 0;
    width: 40px;
}
#nav > ul > li.nav-collapse-toggle .pure-button:before {
    font-family: "Font Awesome 5 Free";
    font-weight: 900;
    font-style: normal;
    font-variant: normal;
    text-rendering: auto;
    -webkit-font-smoothing: antialiased;
    content: '\f100';
}
.nav-collapsed #nav > ul > li.nav-collapse-toggle .pure-button:before {
    content: '\f101';
}
.nav-collapsed #nav > ul > li.show-tooltip > a > span {
    background: rgba(0, 0, 0, 0.75);
    border-radius: 2px;
    color: #fff;
    display: block;
    left: 100%;
    margin: -30px 0 0 8px;
    padding: 0.5em 1em;
    position: absolute;
    white-space: nowrap;
    width: auto;
}
.nav-collapsed #nav > ul > li.show-tooltip > a > span:after {
    border: solid transparent;
    border-right-color: rgba(0, 0, 0, 0.75);
    border-width: 6px;
    content: ' ';
    height: 0;
    margin-top: -6px;
    pointer-events: none;
    position: absolute;
    right: 100%;
    top: 50%;
    width: 0;
}
#nav > ul > li > a {
    border-bottom: 1px solid #fff;
    color: #fff;
    display: block;
    font-size: 10px;
    padding-top: 3px;
    text-decoration: none;
    text-transform: uppercase;
    white-space: nowrap;
}
#nav a:focus {
    box-shadow: inset 0 0 0 3px #3fc1cb;
    outline: none;
}
#nav li.nav-active a:focus {
    box-shadow: inset 0 0 0 3px #db6d45;
}
#nav > ul > li.nav-active > a,
#nav > ul > li > a:hover {
    background-color: #3fc1c8;
}
#nav > ul > li > a > span {
    display: inline-block;
    line-height: 1;
    vertical-align: middle;
    white-space: normal;
    width: 80px; /* nav-width - icon-width - space */
}
.nav-collapsed #nav > ul > li > a > span {
    display: none;
}
#nav > ul .subnav {
    background: #f8f7f7;
    bottom: 0;
    box-shadow: 0 0 4px #888;
    font-size: 0.9em;
    left: -190px; /* subnav-width + subnav-padding - collapsed nav-width */
    margin: 0;
    overflow: auto;
    padding: 15px;
    position: absolute;
    top: 0;
    transform: translateZ(0);
    transition: left .3s .2s ease-in-out;
    width: 200px;
    z-index: -2;
}
#nav > ul > li.open .subnav,
#nav > ul > li > a:focus + .subnav,
#nav > ul > li:hover .subnav {
    left: 130px; /* nav-width */
    transition: left .2s ease-out;
    z-index: -1;
}
.nav-collapsed #nav > ul > li.open .subnav,
.nav-collapsed #nav > ul > li > a:focus + .subnav,
.nav-collapsed #nav > ul > li:hover .subnav {
    left: 40px; /* collapsed nav-width */
}
#nav .subnav ul {
    padding: 0;
}
#nav .subnav li {
    margin: 0.25em 0;
}
#nav .subnav h3,
#nav .subnav h4,
#nav .subnav h5 {
    margin: 0 0 0.5em 0;
}
#nav .subnav a {
    color: #666;
    display: block;
    padding: 0.25em;
    text-decoration: none;
}
#nav .subnav li.nav-active a,
#nav .subnav a:hover {
    background-color: #ddd;
    border-radius: 0.25em;
    color: #333;
}
#nav .subnav a .fa {
    float: left;
    margin-right: 0.5em;
    margin-top: 0.1em;
}
#nav .subnav a .fa + span {
    overflow: hidden;
    display: block;
}
#nav .subnav li.startgroup {
    margin-top: 1em;
    padding-top: 1em;
    border-top: 1px solid #ccc;
}
#nav .subnav li ul {
    margin-top: 0;
}
#nav .subnav li li {
    font-size: 80%;
    margin-left: 2em;
}
@media screen and (min-width: 48em) { /*Nav styles for pure-u-md*/
    #nav,
    .nav-collapsed #nav {
        left: 0;
    }
}

/* nav icons */
#nav > ul > li > a > i {
    background: url(/ui/alma/base/images/nav-icons-2x.png?v=v7.15.0) no-repeat 0 0/100px;
    display: inline-block;
    height: 40px;
    margin-top: -3px;
    vertical-align: middle;
    width: 40px;
}
#nav .nav-activities i {
    background-position: -30px -30px;
}
#nav .nav-activities.nav-active a i,
#nav .nav-activities a:hover i {
    background-position: -30px -130px;
}
#nav .nav-assessments i {
    background-position: -30px -230px;
}
#nav .nav-assessments.nav-active a i,
#nav .nav-assessments a:hover i {
    background-position: -30px -330px;
}
#nav .nav-attendance i {
    background-position: -30px -230px;
}
#nav .nav-attendance.nav-active a i,
#nav .nav-attendance a:hover i {
    background-position: -30px -330px;
}
#nav .nav-calendar i {
    background-position: -30px -430px;
}
#nav .nav-calendar.nav-active a i,
#nav .nav-calendar a:hover i {
    background-position: -30px -530px;
}
#nav .nav-classes i {
    background-position: -30px -630px;
}
#nav .nav-classes.nav-active a i,
#nav .nav-classes a:hover i {
    background-position: -30px -730px;
}
#nav .nav-courses i {
    background-position: -30px -830px;
}
#nav .nav-courses.nav-active a i,
#nav .nav-courses a:hover i {
    background-position: -30px -930px;
}
#nav .nav-directory i {
    background-position: -30px -1030px;
}
#nav .nav-directory.nav-active a i,
#nav .nav-directory a:hover i {
    background-position: -30px -1130px;
}
#nav .nav-fees i {
    background-position: -30px -1230px;
}
#nav .nav-fees.nav-active a i,
#nav .nav-fees a:hover i {
    background-position: -30px -1330px;
}
#nav .nav-home i {
    background-position: -30px -1430px;
}
#nav .nav-home.nav-active a i,
#nav .nav-home a:hover i {
    background-position: -30px -1530px;
}
#nav .nav-incidents i {
    background-position: -30px -1630px;
}
#nav .nav-incidents.nav-active a i,
#nav .nav-incidents a:hover i {
    background-position: -30px -1730px;
}
#nav .nav-reportcards i {
    background-position: -30px -1830px;
}
#nav .nav-reportcards.nav-active a i,
#nav .nav-reportcards a:hover i {
    background-position: -30px -1930px;
}
#nav .nav-reports i {
    background-position: -30px -2030px;
}
#nav .nav-reports.nav-active a i,
#nav .nav-reports a:hover i {
    background-position: -30px -2130px;
}
#nav .nav-scheduling i {
    background-position: -30px -2230px;
}
#nav .nav-scheduling.nav-active a i,
#nav .nav-scheduling a:hover i {
    background-position: -30px -2330px;
}
#nav .nav-settings i {
    background-position: -30px -2430px;
}
#nav .nav-settings.nav-active a i,
#nav .nav-settings a:hover i {
    background-position: -30px -2530px;
}
#nav .nav-workflows i {
    background-position: -30px -2630px;
}
#nav .nav-workflows.nav-active a i,
#nav .nav-workflows a:hover i {
    background-position: -30px -2730px;
}

.pure-menu-allow-hover a:focus + .pure-menu-children {
    display: block;
    position: absolute;
}
.pure-menu-active.expand-left > .pure-menu-children,
.pure-menu-allow-hover.expand-left:hover > .pure-menu-children {
    left: auto;
    right: 100%;
    top: 0;
}
.pure-menu-horizontal .pure-menu-has-children.expand-left > .pure-menu-link:after {
    content: "\f0d9";
    position: absolute;
    left: -2px;
    font-family: "Font Awesome 5 Free";
    font-weight: 900;
    font-style: normal;
    font-variant: normal;
    text-rendering: auto;
    -webkit-font-smoothing: antialiased;
    top: 11px;
}

/* #content menus tab and sub */
/* tab menu*/
.sc-tabmenu.pure-menu-horizontal {
    background-color: #f7f8f8;
    box-sizing: content-box;
    box-shadow: inset 0 -1px #ccc;
    margin: -10px -20px 0.8em -20px;
    padding: 20px 20px 0 20px;
    text-transform: lowercase;
}
.sc-tabmenu.pure-menu-horizontal.highlight-scroll {
    overflow-x: auto;
    overflow-y: hidden;
    -webkit-overflow-scrolling: touch;
}
.highlight-scroll .pure-menu-list,
.highlight-scroll .pure-menu-item {
    position: static;
}
@media screen and (min-width: 48em) { /*pure-u-md*/
    .has-nav .highlight-scroll .pure-menu-children {
        margin-left: -130px;
    }
    .has-nav.nav-collapsed .highlight-scroll .pure-menu-children {
        margin-left: -40px;
    }
}
.sc-tabmenu:not(.highlight-scroll) .pure-menu-children,
.submenu:not(.highlight-scroll) .pure-menu-children {
    left: 0 !important;
}

.submenu.pure-menu-horizontal .pure-menu-list,
.sc-tabmenu.pure-menu-horizontal .pure-menu-list {
    min-width: 100%;
}
.sc-tabmenu.pure-menu-horizontal > .pure-menu-list > .pure-menu-item + .pure-menu-item {
    margin-left: -0.25em;
}
.sc-tabmenu .pure-menu-link {
    border: 1px solid transparent;
    border-top-width: 3px;
    outline: none;
    padding: 6px 12px;
    padding-left: 0.75em;
    padding-right: 0.75em;
    text-decoration: none;
}
.sc-tabmenu .pure-menu-item:not(.pure-menu-selected):hover .pure-menu-link {
    border-bottom: 1px solid #ccc;
}
.sc-tabmenu .pure-menu-selected .pure-menu-link {
    color: #666;
}
.sc-tabmenu .pure-menu-selected > .pure-menu-link {
    border-color: #ccc;
    border-top-color: #EB6841;
    border-bottom-color: #fff;
    background-color: #fff;
    color: #EB6841;
}
.sc-tabmenu.highlight-scroll .pure-menu-list {
    padding-left: 20px;
    box-sizing: border-box;
    line-height: 1;
}
.sc-tabmenu.highlight-scroll .pure-menu-link {
    padding-bottom: 0.85em;
}
.sc-tabmenu.highlight-scroll .pure-menu-list:after {
    content: '\f054';
    font-family: "Font Awesome 5 Free";
    font-weight: 900;
    animation: horizontal-pulse 0.75s linear infinite alternate;
    background: #f7f8f8;
    color: #888;
    display: inline-block;
    padding: 8px 7px 0.85em 0;
    pointer-events: none;
    position: sticky;
    right: -20px;
    text-align: right;
    vertical-align: top;
    width: 13px;
}
.sc-tabmenu.highlight-scroll:after {
    content: '';
    display: inline-block;
    position: relative;
    vertical-align: bottom;
    margin-left: -25px;
    bottom: 1px;
    background: #f7f8f8;
    width: 20px;
    padding: 8px 0 1.85em 0;
}

@keyframes horizontal-pulse {
    from { transform: translateX(0); }
    to   { transform: translateX(3px); }
}
/* sub menu */
.submenu {
    border: 1px solid #ddd;
    border-width: 0 0 1px 0;
    margin: 0.5em 0;
    clear: both;
}
.submenu.highlight-scroll {
    border-width: 1px 0;
    margin: 0.5em -20px;
    padding: 0 20px;
    box-sizing: content-box;
    font-weight: bold;
    overflow-y: hidden;
    overflow-x: auto;
    -webkit-overflow-scrolling: touch;
}
.submenu .pure-menu-link {
    padding: 0.5em 0.75em;
    border-bottom: 3px solid transparent;
    color: #888;
    margin-bottom: -2px;
}
.submenu.highlight-scroll .pure-menu-link {
    padding: 1em;
    margin-bottom: 0;
}
.submenu .pure-menu-link:hover {
    color: #414243;
    background: transparent;
    position: relative;
}
.submenu .pure-menu-selected .pure-menu-link {
    border-color: #eb6841;
    color: #eb6841;
}

.highlight-scroll {
    scrollbar-color: #999 #ddd;
    scrollbar-width: thin;
}
.highlight-scroll::-webkit-scrollbar {
    height: 5px;
    background: #fff;
    border-top: 1px solid #ccc;
}
.highlight-scroll::-webkit-scrollbar-thumb {
    background: transparent;
}
.highlight-scroll:hover::-webkit-scrollbar {
    background: #ddd;
}
.highlight-scroll:hover::-webkit-scrollbar-thumb {
    background: #999;
}

/* Inline editing with tablular data */
.sc-edit-row {
    padding: 1em 0;
    vertical-align: top;
}
.sc-row-editing {
    display: none;
}
.sc-edit-row table {
    border: 0;
}
.sc-edit-row td {
    border-width: 0;
}
.sc-edit-row>td {
    padding: 6px 0;
}
.sc-edit-row form td {
    padding: 6px;
}
.sc-edit-row .pure-g label {
    display: block;
    margin: 0;
    padding: 6px;
}
.sc-edit-row .pure-form .pure-g {
    position: relative;
}
.sc-edit-row label span {
    text-transform: uppercase;
}
.sc-edit-row input[type="text"],
.sc-edit-row textarea,
.sc-edit-row select {
    width: 100%;
}

/* Attendance Status Colors */
.attendance-present  { color: #9ec583; }
.attendance-partial  { color: #ffc77a; }
.attendance-absent   { color: #eb6841; }
.attendance-nottaken { color: #888; }
.attendance-take { color: #70d2d7; }

/* Attendance Totals */
.attendance-totals {
    font-size: 12px;
    padding: 0.5em;
    position: relative;
    white-space: nowrap;
    vertical-align: bottom;
    overflow-y: hidden;
    overflow-x: auto;
}
.attendance-totals .days-total {
    border: 2px solid #888;
    display: inline-block;
    margin: 0.5em;
    padding: 0 0.4em 0 0;
    text-align: center;
    white-space: nowrap;
}
.attendance-totals .days-total.attendance-present {
    border-color: #9ec583;
}
.attendance-totals .days-total.attendance-partial {
    border-color: #ffc77a;
}
.attendance-totals .days-total.attendance-absent {
    border-color: #eb6841;
}
.attendance-totals .days-total.attendance-take {
    border-color: #70d2d7;
}
.attendance-totals .days-total strong {
    background: #888;
    color: #fff;
    display: inline-block;
    font-size: 24px;
    font-weight: normal;
    padding: 0 0.3em;
    vertical-align: middle;
}
.attendance-totals .days-total.attendance-present strong {
    background: #9ec583;
}
.attendance-totals .days-total.attendance-partial strong {
    background: #ffc77a;
}
.attendance-totals .days-total.attendance-absent strong {
    background: #eb6841;
}
.attendance-totals .days-total.attendance-take strong {
    background: #70d2d7;
}
.attendance-totals .classes-total {
    text-align: center;
    white-space: nowrap;
}
.attendance-totals .classes-total strong {
    font-size: 1.2em;
    font-weight: normal;
}
.attendance-totals.expandable:not(.expanded) {
    cursor: pointer;
}
.attendance-totals.expandable.expanded {
    background: #fff;
    box-shadow: 2px 2px 4px 1px #888;
    position: absolute;
    padding-bottom: 2em;
    z-index: 1;
}
.attendance-totals.expandable .close {
    display: none;
    position: absolute;
    right: 0.5em;
    bottom: 0.5em;
}
.attendance-totals.expandable.expanded .close {
    display: block;
}
.attendance-totals .expanded-stats {
    overflow: hidden;
    padding: 0 0.5em;
}
.attendance-totals:not(.expanded) .expanded-stats {
    height: 0;
}
.attendance-totals .expanded-stats ul {
    font-weight: bold;
    list-style: none;
    margin: 0;
    padding: 0;
}
.attendance-totals .expanded-stats ul + ul {
    margin-top: 2em;
}
.attendance-totals .expanded-stats ul ul {
    border-top: 1px dotted;
    font-weight: normal;
    margin-top: 0.25em;
}
.attendance-totals .expanded-stats li {
    margin: 0.5em 0;
}
.attendance-totals .expanded-stats li span {
    display: inline-block;
    text-align: right;
    width: 1.5em;
}

/* Generic totals */
.status-totals {
    font-size: 12px;
    padding: 0.5em;
    position: relative;
    white-space: nowrap;
    vertical-align: bottom;
    overflow-y: hidden;
    overflow-x: auto;
}
.status-totals .total {
    border: 2px solid #888;
    display: inline-block;
    margin: 0.5em;
    padding: 0 0.4em 0 0;
    text-align: center;
    white-space: nowrap;
}

.status-totals .total strong {
    background: #888;
    color: #fff;
    display: inline-block;
    font-size: 24px;
    font-weight: normal;
    padding: 0 0.3em;
    vertical-align: middle;
}

.status-totals .total-green {
    border-color: #9ec583;
    color: #9ec583;
}
.status-totals .total-green strong {
    background: #9ec583;
}
.status-totals .total-yellow {
    border-color: #ffc77a;
    color: #ffc77a;
}
.status-totals .total-yellow strong {
    background: #ffc77a;
}
.status-totals .total-red {
    border-color: #eb6841;
    color: #eb6841;
}
.status-totals .total-red strong {
    background: #eb6841;
}
.status-totals .total-blue {
    border-color: #3fc1c8;
    color: #3fc1c8;
}
.status-totals .total-blue strong {
    background: #3fc1c8;
}

/* Year-View Calendars */
.cal {
    color: #ccc;
    border: none;
    margin: auto;
    width: 100%;
}
.cal caption {
    font-style: normal;
    color: #666;
    text-align: left;
    padding: 1em 4px;
}
.cal thead {
    background: none;
    color: #888;
    font-size: .8em;
}
.cal thead th {
    border: 0;
    font-weight: normal;
    text-align: center;
}
.cal td {
    text-align: center;
}
.cal td:first-of-type {
    padding-left: 4px;
}
.cal td:last-of-type {
    padding-right: 4px;
}
.cal td {
    padding: 2px;
    text-align: center;
    border: 0;
}
.cal strong,
.cal span {
    display: block;
    padding: 4px 6px;
    font-size: .8em;
}

/* animated ellipsis */
.animated-ellipsis {
    background: transparent url(/ui/alma/base/images/animated-ellipsis.png) 0 0 no-repeat;
    width: 34px;
    height: 8px;
    animation: ellipsis-keyframes .75s steps(3) infinite;
}
@keyframes ellipsis-keyframes {
    to { background-position: 0 -24px; }
}

/* yellow fade technique */
.yft {
    -webkit-animation: yft 4s;
    animation: yft 4s;
}
@-webkit-keyframes yft {
    0% {
        background-color: #9ec583;
    }
    25% {
        background-color: #9ec583;
    }
    100% {
        background-color: inherit;
    }
}
@keyframes yft {
    0% {
        background-color: #9ec583;
    }
    25% {
        background-color: #9ec583;
    }
    100% {
        background-color: inherit;
    }
}

/* toggle switch V2 (provided by KB) */
.onoffswitch {
    position: relative;
    width: 60px;
    text-align:left;
    -moz-user-select: none;
    -ms-user-select: none;
    -webkit-user-select: none;
    user-select: none;
}
.onoffswitch-checkbox {
    opacity: 0;
    position: absolute;
    width: 100%;
    height: 100%;
}
.onoffswitch-checkbox:focus + label .onoffswitch-switch {
    box-shadow: 0 0 2px 4px #3fc1c8;
}
.onoffswitch-label {
    display: block;
    overflow: hidden;
    cursor: pointer;
    border: 2px solid #FFFFFF;
    border-radius: 50px;
    margin: 0 !important;
}
.onoffswitch-inner {
    display: block;
    width: 200%;
    margin-left: -100%;
    transition: margin 0.3s ease-in 0s;
}
.onoffswitch-inner:before, .onoffswitch-inner:after {
    display: block;
    float: left;
    width: 50%;
    height: 23px;
    padding: 0;
    font-size: .8em;
    line-height: 2em;
    color: #fff;
    font-family: Trebuchet, Arial, sans-serif;
    font-weight: bold;
    box-sizing: border-box;
}
.onoffswitch-inner:before {
    content: "ON";
    padding-left: 7px;
    background-color: #9EC583;
}
.onoffswitch-inner:after {
    content: "OFF";
    padding-right: 7px;
    background-color: #ccc;
    text-align: right;
}
.onoffswitch.unlock {
    width: 50px;
}
.onoffswitch.unlock .onoffswitch-inner:before {
    font-family: "Font Awesome 5 Free";
    font-weight: 900;
    font-style: normal;
    font-variant: normal;
    text-rendering: auto;
    -webkit-font-smoothing: antialiased;
    content: '\f09c';
}
.onoffswitch.unlock .onoffswitch-inner:after {
    font-family: "Font Awesome 5 Free";
    font-weight: 900;
    font-style: normal;
    font-variant: normal;
    text-rendering: auto;
    -webkit-font-smoothing: antialiased;
    content: '\f023';
}
.onoffswitch.yesno .onoffswitch-inner:before {
    content: 'YES';
}
.onoffswitch.yesno .onoffswitch-inner:after {
    content: 'NO';
}
.onoffswitch.viewedit {
    width: 65px;
}
.onoffswitch.viewedit .onoffswitch-inner:before,
.onoffswitch.viewedit .onoffswitch-inner:after {
    line-height: 2.125em;
}
.onoffswitch.viewedit .onoffswitch-inner:before {
    content: 'EDIT';
}
.onoffswitch.viewedit .onoffswitch-inner:after {
    content: 'VIEW';
}
.onoffswitch-switch {
    display: block;
    width: 15px;
    margin: 6px;
    background: #fff;
    border-radius: 50px;
    position: absolute;
    top: 0;
    bottom: 0;
    left: 0;
    transition: left 0.3s ease-in;
}
.onoffswitch-checkbox:checked + .onoffswitch-label .onoffswitch-inner {
    margin-left: 0;
}
.onoffswitch-checkbox:checked + .onoffswitch-label .onoffswitch-switch {
    left: calc(100% - 27px);
}

/* expandable sections */
.expandable:not(.expanded) > .expandable-content {
    height: 0;
    overflow: hidden;
    display: none;
}
.expandable .expandable-toggle .fa-caret-right {
    transition: transform .5s;
}
.expandable.expanded .expandable-toggle .fa-caret-right {
    -ms-transform: rotate(90deg);
    -webkit-transform: rotate(90deg);
    transform: rotate(90deg);
}
.expandable .expandable:not(.expanded) .expandable-toggle .fa-caret-right {
    -ms-transform: none;
    -webkit-transform: none;
    transform: none;
}

/* Step Blocks */
.step {
    border: 1px solid #CCC;
    margin: 1em;
    padding: 1em;
    background-color: #fff;
    min-height: 22em;
}
.step legend {
    line-height: 2em;
    overflow: hidden;
}
.step strong {
    font-size: 1.5em;
}
.step.completed strong {
    color: #9EC583;
}
.step legend i {
    color: #9EC583;
    float: right;
    font-size: 2em;
}
.step.pending legend i {
    opacity: 0.4;
}
.step .center {
    text-align: center;
}
.step img {
    display: block;
    margin: 1em auto;
    border-radius: 50%;
    max-width: 8em;
}
.step p {
    margin: 2em;
}

/* uploaders */
.pure-form .pretty-upload {
    position: relative;
    display: block;
}
.pure-form .pretty-upload input {
    position: absolute;
    top: 0;
    left: 0;
    opacity: 0;
    width: 100%;
    height: 100%;
    cursor: pointer;
}
.pure-form .pretty-upload .filename {
    display: inline-block;
    box-sizing: border-box;
    width: 100%;
    border: 1px solid #e6e6e6;
    padding: 7px 12px;
}
.pure-form .pretty-upload .pure-button {
    position: absolute;
    top: 0;
    right: 0;
    background-color: #3fc1c8;
    color: #fff;
}

/* simple (inline) definition lists */
dl.simple dt,
dl.simple dd {
    display: inline;
    margin: 0;
}
dl.simple dd:after {
    content: '\A';
    white-space: pre;
}

/** pulse effects expiremental **/
.pulse-lt-blue {
    -webkit-animation-duration: .3s;
    -webkit-animation-name: pulse;
    -webkit-animation-iteration-count: 4;
    -webkit-animation-direction: alternate;
    animation-duration: .3s;
    animation-name: pulse;
    animation-iteration-count: 4;
    animation-direction: alternate;
}
@-webkit-keyframes pulse {
    from {
        box-shadow: 0px 0px 10px -2px #70d2d7;
    }
    to {
        box-shadow: 0px 0px 10px 10px #70d2d7;
    }
}
@keyframes pulse {
    from {
        box-shadow: 0px 0px 10px -2px #70d2d7;
    }
    to {
        box-shadow: 0px 0px 10px 10px #70d2d7;
    }
}

/* helper to absolutely center an element in its container */
.absolute-center {
    display: flex;
    flex-direction: column;
    justify-content: center;
}

/* radial chart */
.radial {
    background-color: #3fc1c8;
    border: 2px solid #fff;
    border-radius: 50%;
    width: 6.5em;
    height: 6.5em;
    padding: 0.4em;
}
.radial > div {
    width: 100%;
    height: 100%;
    background-color: #fff;
    border-radius: 50%;
    box-shadow: 0 0 2px #555;
    color: #555;
    line-height: 1;
    text-align: center;
    text-transform: uppercase;
}
.radial > div > strong {
    font-size: 1.8em;
    display: block;
}

/* nested (data-grid) EA */
dl.nested dt {
    text-align: left;
    float: none;
    width: auto;
}
dl.nested dd.view thead {
    background-color: transparent;
    color: #333;
}
dl.nested dd th,
dl.nested dd td {
    padding: 4px 6px;
}
dl.nested dd.view table,
dl.nested dd.view table tr,
dl.nested dd.view table th,
dl.nested dd.view table td {
    border-width: 0;
}

/* tooltips */
.has-tooltip {
    position: relative;
}
.has-tooltip .tooltip,
.has-tooltip .tooltip-top {
    background-color: #333;
    border-radius: 3px;
    bottom: 100%;
    color: #fff;
    display: block;
    font: normal normal normal 12px/1.2 proxima-nova, sans-serif;
    left: 50%;
    margin: 0.5em 0;
    opacity: 0;
    padding: 0.5em 1em;
    position: absolute;
    text-align: left;
    text-transform: none;
    transform: translateX(-50%);
    transition: opacity 0.3s ease-out, visibility 0.5s;
    visibility: hidden;
    white-space: normal;
    width: 200px;
    word-spacing: normal;
    z-index: 10;
}
.has-tooltip:hover .tooltip,
.has-tooltip.tooltip-enabled .tooltip {
    opacity: 1;
    visibility: visible;
}
.has-tooltip .tooltip a {
    color: #fff;
    text-decoration: underline;
}
.has-tooltip .tooltip:after,
.has-tooltip .tooltip-top:after {
    border: 0.5em solid transparent;
    border-top-color: #333;
    top: 100%;
    content: '';
    height: 0;
    left: 50%;
    position: absolute;
    transform: translate3d(-50%, 0, 0);
    width: 0;
}
.has-tooltip .tooltip-right {
    bottom: auto;
    top: 0;
    left: 100%;
    margin: -0.3em 0 0 0.75em;
    transform: none;
}
.has-tooltip .tooltip-right:after {
    top: 0.55em;
    left: auto;
    right: 100%;
    transform: rotate(90deg);
}
.has-tooltip .tooltip-bottom {
    bottom: auto;
    top: 100%;
    left: 50%;
}
.has-tooltip .tooltip-bottom:after {
    top: auto;
    bottom: 100%;
    left: 50%;
    transform: translateX(-50%) rotate(180deg);
}
.has-tooltip .tooltip-left {
    bottom: auto;
    left: auto;
    right: 100%;
    top: 0;
    margin: -0.3em 0.75em 0 0;
    transform: none;
}
.has-tooltip .tooltip-left:after {
    top: 0.55em;
    left: 100%;
    transform: rotate(-90deg);
}
.has-tooltip .tooltip-top-left {
    left: auto;
    right: -1em;
    transform: none;
}
.has-tooltip .tooltip-top-left:after {
    left: auto;
    right: 1.125em;
    transform: none;
}
.has-tooltip .tooltip-bottom-left {
    bottom: auto;
    top: 100%;
    left: auto;
    right: -1em;
    transform: none;
}
.has-tooltip .tooltip-bottom-left:after {
    top: auto;
    bottom: 100%;
    left: auto;
    right: 1.125em;
    transform: rotate(180deg);
}
.has-tooltip .tooltip-bottom-right {
    bottom: auto;
    top: 100%;
    left: -1em;
    transform: none;
}
.has-tooltip .tooltip-bottom-right:after {
    top: auto;
    bottom: 100%;
    left: 1.125em;
    transform: rotate(180deg);
}
.has-tooltip .tooltip-white {
    background-color: #fff;
    box-shadow: 0px 0px 8px 2px #888;
    color: #414243;
}
.has-tooltip .tooltip-white:after {
    border-top-color: #fff;
}
.has-tooltip .tooltip-white a {
    color: #333;
}
.has-tooltip .tooltip-light {
    background-color: #fdeedc;
    color: #333;
}
.has-tooltip .tooltip-light a {
    color: #333;
}
.has-tooltip .tooltip-light:after {
    border-top-color: #fdeedc;
}
.has-tooltip .tooltip-big {
    background-color: #f5f5f5;
    border: 2px solid #555;
    border-radius: 6px;
    color: #333;
    padding: 0;
    width: 400px;
}
.has-tooltip .tooltip-big > div {
    max-height: 400px;
    overflow-y: auto;
    padding: 1em;
}
.has-tooltip .tooltip-big a {
    color: #333;
}
.has-tooltip .tooltip-big:after {
    border-width: 0.75em;
    border-top-color: #555;
}
.has-tooltip .tooltip-big.tooltip-left,
.has-tooltip .tooltip-big.tooltip-right {
    top: -0.875em;
}
.has-tooltip .tooltip-big.tooltip-left:after,
.has-tooltip .tooltip-big.tooltip-right:after {
    top: .916666667em;
}
.has-tooltip .tooltip-big.tooltip-bottom-left:after,
.has-tooltip .tooltip-big.tooltip-top-left:after {
    right: .708333333em;
}
.has-tooltip .tooltip-big.tooltip-bottom-right:after {
    left: .708333333em;
}

@media only screen and (max-width: 480px) {
    .pure-form button[type=submit] {
        margin: inherit;
    }
}

/* base print styles */
@media print {
    #nav,
    #user-menu,
    .toggle-nav,
    .sc-tabmenu,
    h1 .switcher {
        display: none !important;
    }
    #layout {
        padding-left: 0 !important;
        transition: none !important;
    }
    #content {
        margin-left: 0;
        margin-right: 0;
    }
}
