﻿/*
	Copyright (C) 1999-2025 Empresa Limited - All Rights Reserved
	This resource is subject to the terms of the e-StudentTracker Full Code Access license.				
	A copy of this license can be found at:
		http://www.e-studenttracker.co.uk/Licenses/Full-Code-Access/
		licensing@e-studenttracker.co.uk
*/

/*
	CSS Stylesheet for eStudentTracker
	
	For screen rendering in all browsers.
*/

@import url(shared.css);

/*
	HTML Tags
*/

body {
    background: #efefef none;
    color: #333;
    font-family: Arial, sans-serif;
    font-size: 13px;
    font-weight: normal;
    line-height: 1.6em;
    margin: 0;
    padding: 0;
}

body.mobileNavigationOpened {
    overflow: hidden;
}

strong {
    font-weight: bold;
}

h1, h2, h3, h4, h5 {
    color: #333;
    font-weight: 400;
    margin: 0 0 10px;
}

h1 {
    font-size: 28px;
    margin: 0;
    margin-bottom: 20px;
    padding: 0 0 24px;
}

h2 {
    font-size: 18px;
    margin: 0;
    padding: 0 0 24px;
}

h3 {
    font-size: 15px;
    font-weight: bold;
    margin: 0;
    padding: 0 0 24px;
    text-transform: none;
}

h4 {
}

h5 {
}

h6 {
}

p {
    margin: 0;
    padding: 0;
}

span {
    margin: 0;
    padding: 0;
}

a {
    color: #000;
    font-weight: bold;
    outline: none;
    text-decoration: none;
}

.noTouchEvents a:hover {
    text-decoration: underline;
}

a img {
    border: 0 none;
}

input {
    outline: none;
}

/*
	Generic Classes
*/

.inactiveModule {
    text-decoration: line-through;
}

#header .inactiveModule {
    display: none;
}

#main .myBookmarks tr td + td {
    word-break: break-all;
}

.missingImage {
    background: repeating-linear-gradient(45deg, #ccc, #ccc 10px, #ddd 10px, #ddd 20px);
    background-color: #ccc;
    max-height: 300px;
}

a.emailButton {
    width: 20px;
    height: 20px;
    overflow: hidden;
    display: inline-block;
    background: transparent url(../images/icons/email.png) no-repeat scroll center 5px;
}

    .noTouchEvents a.emailButton:hover, a.emailButton.dark {
        background-position: center -15px !important;
    }

    a.emailButton.padded {
        margin-right: 5px;
    }

table.standardTable {
    border-collapse: collapse;
}

    table.standardTable thead tr th {
        background: #ccc none no-repeat scroll 0 0;
        border: 1px solid #aaa;
    }

    table.standardTable tbody tr td {
        background: #fff none no-repeat scroll 0 0;
        border: 1px solid #ccc;
    }

    table.standardTable tbody tr.alternate td {
        background: #f1f1f1 none no-repeat scroll 0 0;
    }

table.invisiTable, table.invisiTable > thead > tr > th {
    background-color: transparent !important;
    border: 0 none !important;
}

    table.invisiTable > tbody > tr > td {
        background-color: transparent !important;
        border: 0 none !important;
    }

    table.invisiTable tr.alternate td {
        background: transparent none;
    }

table.error {
    border: 1px solid #e63d43 !important;
    color: inherit !important;
}

    table.error tr td {
        border: 1px solid #e63d43 !important;
    }

table.warning {
    border: 1px solid #ffc0c0 !important;
    color: inherit !important;
}

    table.warning tr td {
        border: 1px solid #ffc0c0 !important;
    }

table tr td.warning, table tr.warning td, table tr.alternate td.warning, table tr.alternate.warning td, div.warning {
    outline: 1px solid #ffc0c0;
    border-color: #ffc0c0;
    background-color: #ffc0c0;
}

.smallButton {
    background: transparent url(../images/icons/pod-minimize-grey.png) no-repeat scroll 0 0;
    display: inline-block;
    font-size: 0;
    height: 20px;
    line-height: 20px;
    margin: 0;
    padding: 0;
    vertical-align: middle;
    width: 20px;
}

.smallButton-minus {
    background-position: 0 -20px;
}

.noTouchEvents .smallButton-minus:hover {
    background-position: 0 0;
}

.smallButton-add {
    background-position: 0 -60px;
}

.noTouchEvents .smallButton-add:hover {
    background-position: 0 -40px;
}

.smallButton-cross {
    background-position: 0 -100px;
}

.noTouchEvents .smallButton-cross:hover {
    background-position: 0 -80px;
}

.fullWidth {
    width: 100%;
}

.smallIcon {
    width: 20px !important;
    height: 20px !important;
    vertical-align: middle;
}

.grey {
    color: #808080;
}

.green {
    color: #6fb366 !important;
}

.orange, .amber {
    color: #e28830 !important;
}

.red {
    color: #e63d43 !important;
}

.white {
    color: #fff !important;
}

.greenBorder {
    border: 2px solid #6fb366 !important;
}

.orangeBorder, .amberBorder {
    border: 2px solid #e28830 !important;
}

.redBorder {
    border: 2px solid #e63d43 !important;
}

    .redBorder.padded {
        padding: 8px;
    }

.greyBorder {
    border: 2px solid #e0e0e0 !important;
}

.blackBorder {
    border: 2px solid #545454 !important;
}

.noBorder {
    border: 0 none !important;
}

.information {
    cursor: help;
}

.greenBackground,
tr.hoverState td.greenBackground,
tr.greenBackground td,
tr td.hoverState.greenBackground {
    background-color: #6fb366 !important;
    color: #fff !important;
}

.orangeBackground, .amberBackground,
tr.hoverState td.orangeBackground, tr.hoverState td.amberBackground,
tr.orangeBackground td, tr.amberBackground td,
tr td.hoverState.orangeBackground, tr td.hoverState.amberBackground {
    background-color: #e28830 !important;
    color: #fff !important;
}

.redOrangeBackground,
tr.hoverState td.redOrangeBackground,
tr td.hoverState.redOrangeBackground {
    background-color: #e4633a !important;
    color: #fff !important;
}

.redBackground,
tr.hoverState td.redBackground,
tr.redBackground td,
tr td.hoverState.redBackground {
    background-color: #e63d43 !important;
    color: #fff !important;
}

.greyBackground,
tr.hoverState .greyBackground,
tr.greyBackground td,
tr td.hoverState.greyBackground {
    background-color: #808080 !important;
    color: #fff !important;
}

.yellowBackground,
tr.hoverState .yellowBackground,
tr.yellowBackground td,
tr td.hoverState.yellowBackground {
    background-color: yellow !important;
    color: #000 !important;
}

.separator {
    border-top: 1px solid #dcdcd4;
    float: left;
    font-size: 0;
    height: 1px;
    line-height: 0;
    margin: 0;
    padding: 0;
    width: 100%;
}

.clear {
    clear: both;
    float: none;
    font-size: 0;
    height: 1px;
    line-height: 0;
    margin: 0 0 -1px;
    padding: 0;
}

.left {
    float: left;
    width: auto;
}

.right {
    float: right;
    width: auto;
}

.autoUpdate {
    display: none;
}

.hidden {
    display: none;
}

.updateOnPopupClose {
    display: none;
}

.lowerCase {
    text-transform: lowercase;
}

.desktopLink {
    display: block;
    margin: 32px 0 0;
    text-align: center;
}

.textbox {
    background-color: #555;
    border: 1px solid #555;
    box-sizing: border-box;
    color: #ccc;
    font-family: "Lucida Grande", Verdana, Geneva, Helvetica, Arial, sans-serif;
    font-size: 13px;
    height: 28px;
    line-height: 12px;
    -moz-box-sizing: border-box;
    -ms-box-sizing: border-box;
    padding: 8px 3px;
    width: 100%;
    -webkit-box-sizing: border-box;
}

textarea {
    background-color: #555;
    border: 1px solid #555;
    box-sizing: border-box;
    color: #ccc;
    font-family: "Lucida Grande", Verdana, Geneva, Helvetica, Arial, sans-serif;
    font-size: 13px;
    height: 80px;
    line-height: 16px;
    -moz-box-sizing: border-box;
    -ms-box-sizing: border-box;
    padding: 3px 3px;
    width: 100%;
    resize: none;
    -webkit-box-sizing: border-box;
}

select {
    appearance: none;
    background: #555 url(../images/css/select.png) no-repeat scroll right center;
    border: 1px solid #4c5158;
    box-sizing: border-box;
    color: #ccc;
    font-family: "Lucida Grande", Verdana, Geneva, Helvetica, Arial, sans-serif;
    font-size: 13px;
    height: 28px;
    line-height: 28px;
    -moz-box-sizing: border-box;
    -ms-box-sizing: border-box;
    padding: 0 0 0 3px;
    width: 100%;
    -webkit-box-sizing: border-box;
    -moz-appearance: none;
    -o-appearance: none;
    -webkit-appearance: none;
}

    select:focus, .textbox:focus, textarea:focus {
        border-color: #6c7178;
        color: #fff;
    }

    select::-ms-expand {
        display: none;
    }

a.button {
    color: #ec008c;
    font-size: 16px;
    font-weight: bold;
    line-height: 20px;
    text-transform: uppercase;
}

.form label.calendarField {
    padding: 6px 0;
}

input.calendarField {
    background: #555 url(../images/icons/button-calendar.png) no-repeat right 0;
    border: 1px solid #555;
    border-radius: 0 5px 5px 0;
    color: #ccc;
    cursor: pointer !important;
    font-size: 11px;
    height: 32px !important;
    padding: 0 32px 0 4px !important;
    transition: background-color 0.5s, border-color 0.5s;
    width: 120px !important;
}

input.timepicker {
    background: #555 url(../images/icons/button-clock.png) no-repeat right 0;
}

.noTouchEvents input.calendarField:hover,
.noTouchEvents input.timepicker:hover {
    background-position: right -32px;
    background-color: #555;
    color: #fff;
}

input.calendarField:active, input.calendarField:focus,
input.timepicker:active, input.timepicker:focus {
    background-position: right -64px;
    border-color: #6c7178;
    outline: none !important;
}

.form {
    float: left;
    margin: 0;
    padding: 0;
    width: 100%;
}

    .form .row {
        float: left;
        margin: 0;
        padding: 4px 0 0;
        width: 100%;
    }

    .form .firstRow {
        padding: 0;
    }

    .form .buttonRow {
        padding: 14px 0 0;
    }

    .form label {
        display: block;
    }

    .form .checkboxRow .checkbox {
        display: block;
    }

        .form .checkboxRow .checkbox input {
            margin: 0;
            padding: 0;
        }

        .form .checkboxRow .checkbox label {
            display: inline-block;
            margin: 0;
            padding: 0 0 0 4px;
        }

    .item {
        float: left;
        margin: 0;
        padding: 4px 0 0;
        width: 100%;
    }

        .item .item-top {
            display: none;
        }

        .item .item-middle {
            float: left;
            margin: 0;
            padding: 0;
            width: 100%;
        }

            .item .item-middle p {
                padding: 0 8px;
            }

                .item .item-middle div.buttons, .item .item-middle p.buttons {
                    padding: 10px;
                    float: right;
                }

        .item .item-bottom {
            display: none;
        }

    #progressIndicator,
    .progressIndicator {
        background: rgba(0, 0, 0, 0.8) none no-repeat scroll center center;
        bottom: 0;
        height: 100%;
        left: 0;
        margin: 0;
        opacity: 1;
        padding: 0;
        position: fixed;
        right: 0;
        top: 0;
        width: 100%;
        z-index: 1000;

        /*-webkit-backface-visibility: hidden;
        -webkit-perspective: 1000;
        -webkit-transform: translate3d(0,0,0);
        -webkit-transform: translateZ(0);
        backface-visibility: hidden;
        perspective: 1000;
        transform: translate3d(0,0,0);
        transform: translateZ(0);
        -webkit-backdrop-filter: blur(2px);
        backdrop-filter: blur(2px);*/ /* looks nice but some gpus struggle */
    }
    .progressIndicator {
        opacity: 0;
        pointer-events: none;
        position: absolute;
        transition: opacity 0.25s;
    }
    .progressIndicator.shown {
        opacity: 1;
        pointer-events: all;
    }

    .outerWrap {
        float: left;
        margin: 0;
        padding: 0;
        width: 100%;
    }

        .outerWrap .innerWrap {
            margin: 0 auto;
            padding: 40px 50px;
            width: 960px;
        }

    body.forceDesktopMode .outerWrap {
        min-width: 1024px;
    }

    .noBorder {
        border: 0 none !important;
    }

    table.noBorder,
    table.noBorderOuter {
        border: 0 none !important;
    }

        table.noBorder tr td {
            border: 0 none !important;
        }

        table.noBorderOuter > tbody > tr > td {
            border: 0 none !important;
        }

#footer + div {
    display: none;
}

/*
    Pods    
*/

    .colRow.grid {
        opacity: 0;
        transition: opacity 0.5s;
    }

        .colRow.grid.loaded {
            opacity: 1;
        }

    .pod {
        height: auto;
        margin: 0 0 24px;
        padding: 0;
    }

        .pod > .clear {
            height: 0;
        }

    .webparts-zone-webpart .pod {
        width: 100%;
    }

    .popup-item .pod .pod-middle .pod-middle-center {
        background: #fff none no-repeat scroll 0 0 !important;
    }

    .pod .pod-header {
        font-size: 0;
        height: auto;
        line-height: 0;
        position: relative;
        padding: 0 11px;
        width: auto;
    }

        .pod .pod-header .pod-header-center {
            background: #333 none;
            color: #fff;
            display: block;
            float: none;
            font-size: 14px;
            font-weight: bold;
            min-height: 22px;
            line-height: 25px !important;
            margin: 0;
            padding: 11px 5px;
            white-space: break-spaces !important;
        }

            .pod .pod-header .pod-header-center a {
                background: transparent url(../images/icons/pod-minimize.png) no-repeat left top;
                border: 1px double #fff;
                float: right;
                height: 20px;
                margin: 0;
                padding: 0;
                transition: background-color 0.5s;
                width: 20px;
            }

    .noTouchEvents .pod .pod-header .pod-header-center a:hover {
        background-color: #fff;
        background-position: 0 -20px;
    }

    .pod .pod-header .pod-header-center a.popup-item-help {
        background-image: url(../images/icons/pod-help.png);
        background-position: 0 0;
        margin: 0 16px 0 0;
    }

    .noTouchEvents .pod .pod-header .pod-header-center a.popup-item-help:hover {
        background-position: 0 -20px;
    }

    .pod .pod-header .pod-header-center a.expand {
        background-position: 0 -40px;
    }

    .noTouchEvents .pod .pod-header .pod-header-center a.expand:hover {
        background-position: 0 -60px;
    }

    .pod .pod-header .clear {
        display: none;
    }

    .pod .pod-header .pod-header-left {
        background: #333 none no-repeat left top;
        bottom: 0;
        font-size: 0;
        line-height: 0;
        height: auto;
        left: 0;
        position: absolute;
        top: 0;
        width: 11px;
    }

    .pod .pod-header .pod-header-right {
        background: #333 none no-repeat right top;
        bottom: 0;
        font-size: 0;
        line-height: 0;
        height: auto;
        position: absolute;
        right: 0;
        top: 0;
        width: 11px;
    }

    .pod .pod-top {
        font-size: 0;
        float: none;
        height: auto;
        line-height: 0;
        margin: 0;
        position: relative;
        padding: 0 11px;
        width: auto;
    }

        .pod .pod-top .pod-top-center {
            background: #333 none repeat-x center top;
            height: 4px;
        }

        .pod .pod-top .pod-top-left {
            background: #333 none no-repeat left top;
            bottom: 0;
            height: auto;
            left: 0;
            position: absolute;
            top: 0;
            width: 11px;
        }

        .pod .pod-top .pod-top-right {
            background: #333 none no-repeat right top;
            bottom: 0;
            height: auto;
            position: absolute;
            right: 0;
            top: 0;
            width: 11px;
        }

        .pod .pod-top .clear {
            display: none;
        }

    .pod .pod-middle {
        margin: 0;
        padding: 0;
    }

        .pod .pod-middle .pod-middle-left {
            background: #333 none repeat-y left center;
            padding: 0 0 0 4px;
            width: auto;
        }

        .pod .pod-middle .pod-middle-right {
            background: #333 none repeat-y right center;
            padding: 0 4px 0 0;
            width: auto;
        }

        .pod .pod-middle .pod-middle-center {
            background: #fff none;
            height: auto;
            padding: 10px;
            width: auto;
        }

    #main .innerWrap .centerColumn .top .pod .pod-middle-center {
        width: auto;
    }

    .pod .pod-bottom {
        display: block;
        font-size: 0;
        float: none;
        height: auto;
        line-height: 0;
        margin: 0;
        position: relative;
        padding: 0 11px;
        width: auto;
    }

        .pod .pod-bottom .pod-bottom-center {
            background: #333 none repeat-x center top;
            height: 4px;
            line-height: 0;
            padding: 0;
        }

        .pod .pod-bottom .pod-bottom-left {
            background: #333 none no-repeat left bottom;
            bottom: 0;
            height: auto;
            left: 0;
            position: absolute;
            top: 0;
            width: 11px;
        }

        .pod .pod-bottom .pod-bottom-right {
            background: #333 none no-repeat right bottom;
            bottom: 0;
            height: auto;
            position: absolute;
            right: 0;
            top: 0;
            width: 11px;
        }

        .pod .pod-bottom .clear {
            display: none;
        }

    .pod .ajaxTextBox {
        display: block;
    }

 /*
    Tooltips    
*/

    #overDiv img {
        vertical-align: middle;
    }

/*
    Main Navigation
*/

    .mainNavigation {
        margin: 0;
        padding: 0;
        width: auto;
        list-style: none;
    }

        .mainNavigation li {
            background-image: none;
            display: inline-block;
            margin: 0;
            padding: 0;
            text-align: right;
            width: 75px;
        }

            .mainNavigation li a {
                color: #fff;
                display: inline-block;
                font-weight: bold;
                margin: 0;
                padding: 0;
                position: relative;
                text-align: center;
                text-decoration: none;
                vertical-align: middle;
                width: 50px;
            }

                .mainNavigation li a .icon {
                    background: transparent none no-repeat scroll -1px 0;
                    border: 2px solid #fff;
                    display: inline-block;
                    height: 41px !important;
                    margin: 0 0 4px;
                    padding: 0;
                    text-decoration: none;
                    transition: background-color 0.5s;
                    width: 41px !important;
                }

    .noTouchEvents .mainNavigation li a:hover .icon {
        background-color: #fff;
    }

    .mainNavigation li.alerts a .icon {
        background-image: url(../images/icons/mainNavigation-alerts.png);
    }
    .mainNavigation li.messaging a .icon {
        background-image: url(../images/icons/mainNavigation-messaging.png);
    }

    .mainNavigation li.feedback a .icon {
        background-image: url(../images/icons/mainNavigation-feedback.png);
    }

    .mainNavigation li.ilp a .icon {
        background-image: url(../images/icons/mainNavigation-ilp.png);
    }

    .mainNavigation li.eMarkBook a .icon {
        background-image: url(../images/icons/mainNavigation-markbook.png);
    }

    .mainNavigation li.pastoral a .icon {
        background-image: url(../images/icons/mainNavigation-pastoral.png);
    }

    .mainNavigation li.references a .icon {
        background-image: url(../images/icons/mainNavigation-references.png);
    }

    .mainNavigation li.support a .icon {
        background-image: url(../images/icons/mainNavigation-support.png);
    }

    .mainNavigation li a .count {
        background: #fff none no-repeat scroll 0 0;
        clear: both;
        color: #212121;
        float: left;
        font-size: 11px;
        font-weight: normal;
        height: 22px;
        line-height: 22px;
        margin: 0;
        padding: 0;
        position: absolute;
        text-align: center;
        width: 22px;
        bottom: 0;
        right: 0;
    }

    .mainNavigation li a .label {
        display: none;
    }

    .mainNavigation li a .count.primary {
        background-color: #212121;
    }

    .mainNavigation li a .count.secondary {
        background-color: #aaa;
    }

    .mainNavigation li a .count.unreadCount {
        left: 0;
        bottom: 0;
    }

    .mainNavigation li a .count.pendingCount {
        right: 0;
        bottom: 0;
    }

    .mainNavigation li a .count.proxyUnreadCount {
        left: 0;
        top: 0;
    }

    .mainNavigation li a .count.proxyPendingCount {
        right: 0;
        top: 0;
    }

    .mainNavigation li a .text {
        font-size: 13px;
    }

    @media (max-width: 1024px) {
        body:not(.forceDesktopMode) .mainNavigation li {
            width: 60px;
        }
    }

    .mainNavigation li:nth-child(7n+1) a {
        animation-delay: 0s;
    }

    .mainNavigation li:nth-child(7n+2) a {
        animation-delay: 1.5s;
    }

    .mainNavigation li:nth-child(7n+3) a {
        animation-delay: 0.35s;
    }

    .mainNavigation li:nth-child(7n+4) a {
        animation-delay: 2s;
    }

    .mainNavigation li:nth-child(7n+5) a {
        animation-delay: 0.85s;
    }

    .mainNavigation li:nth-child(7n+6) a {
        animation-delay: 1.65s;
    }

    .mainNavigation li:nth-child(7n+7) a {
        animation-delay: 1s;
    }

 /*
	Header / Footer
*/

    #header, #footer {
        background-color: #333;
        color: #fff;
        overflow: hidden;
    }

    #header {
        bottom: auto;
        height: auto;
        left: 0;
        overflow: visible; /* an : 13/01/2020 : to allow for mobile nav */
        position: fixed;
        right: 0;
        top: 0;
        transition: height 0.25s, line-height 0.25s;
        z-index: 99;
    }

        #header .logo {
            background: url(../images/logos/logo.png) no-repeat scroll left center;
            background-size: contain;
            display: inline-block;
            height: 80%;
            position: absolute;
            top: 10%;
            vertical-align: middle;
            width: 100%;
        }

        #header .mobileNavigationToggle {
            bottom: 0;
            color: #fff;
            display: block;
            font-size: 1.4em;
            position: absolute;
            right: 0;
            text-align: right;
            top: 0;
            width: 60px;
        }

            #header .mobileNavigationToggle > span {
                bottom: 0;
                display: block;
                opacity: 1;
                position: absolute;
                right: 0;
                transition: 500ms all;
                top: 0;
            }

            #header .mobileNavigationToggle.open .navOpen,
            #header .mobileNavigationToggle .navClose {
                opacity: 0;
            }

            #header .mobileNavigationToggle.open .navClose {
                opacity: 1;
            }

            #header .mobileNavigationToggle i.navIcon {
                color: #fff !important;
                font-size: 32px !important;
                position: absolute;
                right: 0;
                transform: translateY(-50%);
                top: 50%;
            }

        #header.outerWrap .mainNavigation li {
            margin-top: 25px;
        }

        #header.outerWrap.shrunk .mainNavigation li {
            margin-top: inherit;
        }

 /*
    Mobile Navigation    
*/

    #mobileNavigation {
        background: #25282a none;
        bottom: 0;
        color: #fff;
        left: 100%;
        right: -100%;
        opacity: 0;
        overflow: auto;
        position: fixed;
        pointer-events: none;
        transition: all 350ms;
        top: 0;
        z-index: 100;
    }

    .open#mobileNavigation {
        left: 0;
        right: 0;
        opacity: 1;
        pointer-events: all;
    }

    #mobileNavigation ul.mainNavigation {
        margin: 0;
    }

    #mobileNavigation .mainNavigation li {
        border-bottom: 1px solid rgba(255, 255, 255, 0.1);
        display: block;
        text-align: left;
        width: auto;
    }

        #mobileNavigation .mainNavigation li.inactiveModule {
            display: none;
        }

        #mobileNavigation .mainNavigation li a {
            display: block;
            line-height: 1em;
            padding: 12px;
            text-align: left;
            width: auto;
        }

            #mobileNavigation .mainNavigation li a .label {
                color: #fff;
                display: inline;
            }

            #mobileNavigation .mainNavigation li a .icon {
                margin: 0 12px 0 0;
            }

            #mobileNavigation .mainNavigation li a .count,
            #mobileNavigation .mainNavigation li a .unreadCount.count {
                background-color: #c9282d;
                bottom: auto;
                border-radius: 50%;
                color: rgba(0, 0, 0, 0);
                height: 22px;
                left: auto;
                right: 24px;
                transform: translateY(-50%);
                top: 50%;
                width: 22px;
            }

 /*
	Main
*/

    #main {
        padding: 16px 0 0;
    }

        #main .innerWrap {
            background: #fff none;
            width: 960px;
        }

            #main .innerWrap .leftColumn {
                float: left;
                margin: 0 22px 0 0;
                padding: 0;
                width: 224px;
            }

            #main .innerWrap .centerColumn {
                float: left;
                margin: 0 22px 0 0;
                padding: 0;
                width: 468px;
            }

            #main .innerWrap .rightColumn {
                float: right;
                margin: 0;
                padding: 0;
                width: 224px;
            }

        #main .wideColumn {
            margin-top: 24px;
        }

 /*
    Webparts
*/

    #webparts-manager {
        display: none;
    }

    .webparts-zone {
        margin: 0 0 20px;
        min-height: 16px;
    }

    .webparts-visibleZone {
        background: transparent url(../images/css/dropZone.png) repeat scroll 0 0;
    }

    .webparts-horizontal {
        margin: 10px 0 0;
    }

    .webparts-vertical {
    }

    .webparts-zone .webparts-zone-webpart {
        position: absolute;
        top: 0;
    }

    .webparts-zone .webparts-zone-webpartHorizontal {
        margin: 0 0 0 24px;
    }

    .webparts-zone .webparts-zone-webpartVertical {
        margin: 24px 0 0;
    }

    .webparts-zone .webparts-zone-firstWebpart {
        margin: 0;
    }

    .noTouchEvents .webparts-zone .webparts-zone-webpart .webparts-zone-webpart-title {
        cursor: move;
    }

    .noTouchEvents .webparts-zone .webparts-zone-webpart .webparts-zone-webpart-title:hover {
        color: #333;
    }

    .noTouchEvents .webparts-zone .webparts-zone-webpart.hasTouchSupport .webparts-zone-webpart-title {
        cursor: default;
    }

    #minimizable-manager {
        display: none;
    }

    #general-manager {
        display: none;
    }

 /*
    Administrator Panel
*/

    .administratorPanel {
        background-color: #fff;
        border: 4px solid #333;
        bottom: 32px;
        float: left;
        margin: 0;
        padding: 0;
        position: fixed;
        right: 32px;
        width: auto;
        z-index: 99;
    }

        .administratorPanel .titleBar {
        }

            .administratorPanel .titleBar span {
                display: none;
            }

        .administratorPanel .content {
            background-color: #fff;
            border: 6px solid #333;
            height: auto;
            width: 230px;
            overflow: hidden;
            position: absolute;
            bottom: 32px;
            right: -4px;
        }

            .administratorPanel .content ul {
                list-style: none;
                margin: 0;
                padding: 16px;
            }

                .administratorPanel .content ul li {
                    background: transparent none no-repeat scroll 0 0;
                    list-style: none;
                    margin: 0;
                    padding: 0;
                }

                    .administratorPanel .content ul li a {
                        background: transparent none no-repeat scroll 0 0;
                        margin: 0;
                        padding: 0;
                    }

                        .administratorPanel .content ul li a .fa {
                            font-size: 110% !important;
                            line-height: normal !important;
                            height: auto !important;
                            color: #fff !important;
                            margin-right: 8px;
                        }
                            .administratorPanel .content ul li a .fa:hover, .administratorPanel .content ul li a:hover .fa {
                                opacity: 0.8;
                            }

/*
    News Feed
*/

    .newsFeed {
    }

        .newsFeed .feed {
            border-top: 1px solid #dcdcd4;
            margin: 16px 0 0;
        }

        .newsFeed .firstFeed {
            border: 0 none;
            margin: 0;
        }

        .newsFeed h3 {
            font-size: 14px;
            font-weight: bold;
            margin: 0;
            padding: 16px 0;
            text-transform: normal;
        }

        .newsFeed .firstFeed h3 {
            padding: 6px 0 16px;
        }

        .newsFeed a {
            clear: both;
            display: table;
            margin: 0;
            padding: 0 0 0 26px;
        }

            .newsFeed a span {
                cursor: pointer;
                float: left;
                margin: 0;
                padding: 0;
                text-decoration: underline;
                width: 100%;
            }

    .noTouchEvents .newsFeed a:hover span {
        text-decoration: none;
    }

    .newsFeed a span.icon {
        background: transparent url(../images/icons/bullet_newsFeed.png) no-repeat scroll 0 0;
        font-size: 0;
        height: 20px !important;
        line-height: 20px;
        margin: 0 0 0 -26px;
        padding: 0;
        width: 20px !important;
    }

    .noTouchEvents .newsFeed a:hover span.icon {
        background-position: 0 -20px;
    }

 /*
    Daily News Bulletin
*/

    .dailyNewsBulletinPod .pod-main {
        padding: 0;
    }

    .dailyNewsBulletin {
        position: relative;
    }

        .dailyNewsBulletin .buttons {
            border: none;
            float: left;
            margin: 20px 0 0 0;
            padding: 0 0 10px;
            width: 100%;
        }

        .dailyNewsBulletin .links {
            float: left;
            margin: 0;
            padding: 4px 0 0 !important;
            text-align: right;
            width: 100%;
        }

            .dailyNewsBulletin .links a {
                float: right;
                margin: 0 0 0 4px;
            }

        .dailyNewsBulletin .newsScrolling {
            float: none;
            margin: 0;
            padding: 0 0 2px;
            width: auto;
        }

            .dailyNewsBulletin .newsScrolling .progressBar {
                background: #cbddb9 none no-repeat scroll 0 0;
                bottom: 0 !important;
                float: left;
                font-size: 0;
                height: 8px;
                left: 0;
                line-height: 0;
                margin: 0;
                padding: 0;
                position: absolute;
                top: auto !important;
                width: 448px;
                z-index: 2;
                display: none;
                height: 0;
            }

                .dailyNewsBulletin .newsScrolling .progressBar .progressBar_inner {
                    background: #6a9f36 none no-repeat scroll 0 0;
                    float: left;
                    font-size: 0;
                    height: 8px;
                    line-height: 0;
                    margin: 0;
                    padding: 0;
                    width: 0;
                }

            .dailyNewsBulletin .newsScrolling .item {
            }

            .dailyNewsBulletin .newsScrolling .image {
            }

                .dailyNewsBulletin .newsScrolling .image img {
                    width: 100%;
                    max-height: 400px;
                }

            .dailyNewsBulletin .newsScrolling .text {
                padding: 0;
                width: auto;
            }

            .dailyNewsBulletin .newsScrolling .title {
                color: #6a9f36;
                font-size: 17px;
                line-height: 1.5;
                margin: 0 0 10px;
                padding: 0;
            }

            .dailyNewsBulletin .newsScrolling .longText {
                float: left;
                margin: 0;
                padding: 0;
                width: 100%;
            }

            .dailyNewsBulletin .newsScrolling .item .item-middle {
                float: none;
                width: auto;
            }

            .dailyNewsBulletin .newsScrolling .text p {
                padding: 0;
            }

            .dailyNewsBulletin .newsScrolling .text .title .date {
                display: none;
                font-size: 13px;
                font-weight: normal;
                margin: 0;
                padding: 0;
                vertical-align: middle;
            }

            .dailyNewsBulletin .newsScrolling .text .edit {
                background: transparent url(../images/icons/news_edit.gif) no-repeat scroll 0 0;
                display: inline-block;
                height: 16px;
                vertical-align: middle;
                width: 16px;
            }

            .dailyNewsBulletin .newsScrolling .text .delete {
                background: transparent url(../images/icons/news_delete.gif) no-repeat scroll 0 0;
                display: inline-block;
                height: 16px;
                vertical-align: middle;
                width: 16px;
            }

            .dailyNewsBulletin .newsScrolling .text .readMore {
                padding: 30px 0 20px;
            }

                .dailyNewsBulletin .newsScrolling .text .readMore a {
                    float: right;
                    margin: 0 0 0 4px;
                }

            .dailyNewsBulletin .newsScrolling .item .item-middle div.buttons {
                border: none;
                float: right;
                margin: 0;
                padding: 10px 0;
                width: auto;
            }

            .dailyNewsBulletin .newsScrolling .buttons a {
                float: left;
                margin: 0 4px 0 0;
            }

        .dailyNewsBulletin .newsSticky {
            margin: 10px 0 0;
            padding: 10px 0 0;
        }

            .dailyNewsBulletin .newsSticky .item {
                float none;
                padding: 0 0 10px 220px;
                position: relative;
                width: auto;
            }

            .dailyNewsBulletin .newsSticky .title {
                color: #6a9f36;
                font-size: 17px;
                margin: 0 0 10px;
                padding: 0;
            }

            .dailyNewsBulletin .newsSticky .text {
                padding: 0;
                width: auto;
            }

            .dailyNewsBulletin .newsSticky .image {
                left: 0;
                position: absolute;
                top: 0;
                width: 200px;
            }

                .dailyNewsBulletin .newsSticky .image img {
                    width: 100%;
                }

            .dailyNewsBulletin .newsSticky .item .item-middle {
                float: none;
                width: auto;
            }

                .dailyNewsBulletin .newsSticky .item .item-middle div.buttons {
                    border: none;
                    float: right;
                    margin: 0;
                    padding: 10px 0 0;
                    width: auto;
                }

            .dailyNewsBulletin .newsSticky .buttons a {
                float: left;
                margin: 0 4px 0 0;
            }

        .dailyNewsBulletin .newsEmpty {
            margin: 0;
            padding: 0;
            width: 448px;
        }

            .dailyNewsBulletin .newsEmpty h2 {
                margin: 0;
                padding: 11px;
            }

            .dailyNewsBulletin .newsEmpty p {
                margin: 0;
                padding: 0 11px 11px;
            }

            .dailyNewsBulletin .newsEmpty a {
                display: inline;
                float: right;
                margin: -32px 39px 0 0;
            }

                .dailyNewsBulletin .newsEmpty a.viewNewsArchive {
                    margin: -32px 11px 0 0;
                }


    /* #region Daily News Bulletin */

    .dailyNewsBulletin {
    }

        .dailyNewsBulletin .newsScrolling {
            float: none;
            margin: 16px;
            padding: 0;
            width: auto;
        }

        .dailyNewsBulletin .newsSticky {
            float: none;
            margin: 16px;
            padding: 0;
            width: auto;
        }

            .dailyNewsBulletin .newsScrolling .item, .dailyNewsBulletin .newsSticky .item {
                box-sizing: border-box;
                float: none;
                margin: 0;
                padding: 16px;
                width: 100%;
            }

            .dailyNewsBulletin .newsSticky .item {
                margin: 16px 0 0;
            }

            .dailyNewsBulletin .newsSticky .image {
                left: auto;
                position: static;
                top: auto;
                width: auto;
            }

        .dailyNewsBulletin .buttons {
            float: none;
            padding: 0 16px;
            width: auto;
        }

    /* #endregion */

/*
    Student Progress
*/

.podStudentProgress {
    padding-bottom: 10px;
    overflow: auto;
}
    .podStudentProgress .studentProgress table {
        max-width: 98%;
    }

/*
    Outstanding Targets
*/

    .pod-ILPTargets {
    }

        .pod-ILPTargets .group {
        }

            .pod-ILPTargets .group .title {
                font-weight: bold;
                padding: 0 0 5px 0;
                display: block;
                float: right;
                width: calc(100% - 50px);
            }

            .pod-ILPTargets .group .courseIcon {
                width: 22px;
                display: inline-block;
                float: left;
            }

            .pod-ILPTargets .group .targets {
                margin-bottom: 10px;
            }

            .pod-ILPTargets .group .target {
                margin: 0 0 0 10px;
            }

                .pod-ILPTargets .group .target .category {
                    font-weight: bold;
                }

                .pod-ILPTargets .group .target .text {
                    margin-bottom: 20px;
                }

                .pod-ILPTargets .group .target .text,
                .pod-ILPTargets .group .target .set {
                    display: block;
                }

                .pod-ILPTargets .group .target .set {
                    font-style: italic;
                    float: left;
                    margin: -12px 0 12px 0;
                }

                    .pod-ILPTargets .group .target .set .status {
                        margin-right: 8px;
                        vertical-align: sub;
                    }

                .pod-ILPTargets .group .target .separator {
                    margin: 8px 0 12px 0;
                    border-top: 1px dotted #5a5654;
                }

        .pod-ILPTargets .outstandingTargetsSettings {
            padding: 0 0 10px;
            display: none;
        }

        .pod-ILPTargets h2 {
            display: none;
        }

 /*
    My Calendar
*/

    .myCalendar {
        left: 0;
        margin: 0;
        padding: 0;
        position: relative;
        top: 0;
    }

        .myCalendar .monthSelector {
            margin: 0;
            padding: 0;
        }

            .myCalendar .monthSelector .currentMonth {
                float: left;
                font-size: 14px;
                font-weight: 600;
                height: 32px;
                line-height: 32px;
                margin: 0 0 -32px;
                padding: 0;
                text-align: center;
                width: 100%;
            }

        .myCalendar .calendarWrapper {
            margin: 10px 0;
            padding: 0 0;
        }

            .myCalendar .calendarWrapper > table {
                background: #fff;
                width: 100%;
            }

        .myCalendar table {
            border-collapse: collapse;
        }

            .myCalendar table tr th {
                background: #555 none;
                border: 1px solid #eee;
                color: #fff;
            }

            .myCalendar table tr td {
                background: #fcfcfb none;
                border: 1px solid #eaeae4;
                vertical-align: middle;
            }

                .myCalendar table tr td.event {
                    background-color: #eee;
                    border-color: #ddd;
                }

                .myCalendar table tr td.othermonth {
                    background-color: transparent;
                }

                .myCalendar table tr td.selected {
                    background-color: #555 !important;
                    border-color: #555;
                    color: #fff;
                }
            /*.myCalendar table tr td.selected { background-color: #4b8ac5 !important; border-color: #235e95; font-weight: bold; }*/
            .myCalendar table tr.dayHeading td {
                background: #555 none no-repeat scroll 0 0;
                border: 1px solid #555;
                color: #fff;
            }

            .myCalendar table tr td a {
                color: #333;
                display: block;
                font-weight: normal;
                padding: 3px 0;
                text-decoration: none;
            }

    .noTouchEvents .myCalendar table tr td a:hover {
        text-decoration: underline;
    }

    .myCalendar .dateTitle {
        float: left;
        margin: 0;
        padding: 0 0 8px;
        width: 100%;
    }

        .myCalendar .dateTitle h4 {
            font-size: 14px;
            font-weight: bold;
            margin: 0;
            padding: 0;
        }

    .myCalendar .buttons {
        margin: 20px 0 0 0;
        padding: 10px 0 0;
    }

    .myCalendar .item {
        float: left;
        margin: 0;
        padding: 4px 0 0;
        width: 100%;
    }

        .myCalendar .item .item-top {
            float: left;
            height: 8px;
            line-height: 8px;
            margin: 0;
            padding: 0;
            width: 100%;
        }

            .myCalendar .item .item-top .item-top-left {
                float: left;
                height: 8px;
                line-height: 8px;
                margin: 0;
                padding: 0;
                width: 4px;
            }

            .myCalendar .item .item-top .item-top-center {
                float: right;
                height: 8px;
                line-height: 8px;
                margin: 0 0 -8px;
                padding: 0;
                width: 100%;
            }

            .myCalendar .item .item-top .item-top-right {
                float: right;
                height: 8px;
                line-height: 8px;
                margin: 0;
                padding: 0;
                width: 4px;
            }

        .myCalendar .item .item-middle {
            background: #eee none;
            float: left;
            margin: 0;
            padding: 0;
            width: 100%;
        }

            .myCalendar .item .item-middle .content {
                padding: 8px;
            }

            .myCalendar .item .item-middle p {
                padding: 0;
            }

            .myCalendar .item .item-middle .buttons {
                padding: 0;
            }

        .myCalendar .item .item-bottom {
            float: left;
            height: 8px;
            line-height: 8px;
            margin: 0;
            padding: 0;
            width: 100%;
        }

            .myCalendar .item .item-bottom .item-bottom-left {
                float: left;
                height: 8px;
                line-height: 8px;
                margin: 0;
                padding: 0;
                width: 4px;
            }

            .myCalendar .item .item-bottom .item-bottom-center {
                padding: 0;
                width: 100%;
            }

            .myCalendar .item .item-bottom .item-bottom-right {
                float: right;
                height: 8px;
                line-height: 8px;
                margin: 0;
                padding: 0;
                width: 4px;
            }

 /*
    My Courses
*/

    .myCourses {
        margin: 0;
        padding: 0;
    }

        .myCourses ul {
            float: left;
            list-style: none;
            margin: 0;
            padding: 0;
            width: 100%;
        }

            .myCourses ul li {
                background-image: none;
                float: left;
                margin: 0;
                padding: 0;
                width: 100%;
            }

        .myCourses li a {
            clear: both;
            float: left;
            margin: 0;
            padding: 2px 0 2px 28px;
            width: auto;
        }

    .noTouchEvents .myCourses a:hover * {
        text-decoration: none;
    }

    .myCourses li a span {
        cursor: pointer;
        float: left;
        margin: 0;
        padding: 0;
        width: 100%;
    }

        .myCourses li a span.icon {
            background: transparent url(../images/icons/bullet-course.png) no-repeat scroll 0 0;
            font-size: 0;
            height: 20px;
            line-height: 20px;
            margin: 0 0 0 -28px;
            padding: 0;
            width: 20px;
        }

    .noTouchEvents .myCourses li a:hover span.icon {
        background-position: 0 -20px;
    }

    .myCourses .emailEntireClassDashboard {
        display: none;
    }

 /*
    My Reports
*/

    .myReports {
        margin: 0;
        padding: 0;
    }

        .myReports .buttons {
            padding: 0 10px 10px;
        }

        .myReports .settings {
            padding: 10px 10px 0;
        }

        .myReports ul {
            float: left;
            list-style: none;
            margin: 0;
            padding: 0;
            width: 100%;
        }

            .myReports ul li {
                background-image: none;
                float: left;
                margin: 0;
                padding: 0;
                width: 100%;
            }

        .myReports li a {
            clear: both;
            float: left;
            margin: 0;
            padding: 2px 0 2px 28px;
            width: auto;
        }

        .myReports a * {
            text-decoration: none;
        }

    .noTouchEvents .myReports a:hover * {
        text-decoration: none;
    }

    .myReports li a span {
        cursor: pointer;
        float: left;
        margin: 0;
        padding: 0;
        width: 100%;
    }

        .myReports li a span.icon {
            background: transparent url(../images/icons/bullet-report.png) no-repeat scroll 0 0;
            font-size: 0;
            height: 20px;
            line-height: 20px;
            margin: 0 0 0 -28px;
            padding: 0;
            width: 20px;
        }

    .noTouchEvents .myReports li a:hover span.icon {
        background-position: 0 -20px;
    }

/*
    My Pods
*/

    .myPods {
        margin: 0;
        padding: 0;
    }

        .myPods ul {
            float: left;
            list-style: none;
            margin: 0;
            padding: 0;
            width: 100%;
        }

            .myPods ul li {
                background-image: none;
                float: left;
                margin: 0;
                padding: 0;
                width: 100%;
            }

        .myPods li a {
            clear: both;
            float: left;
            margin: 0;
            padding: 2px 0 2px 28px;
            width: auto;
        }

        .myPods a * {
            text-decoration: underline;
        }

    .noTouchEvents .noTouchEvents .myPods a:hover * {
        text-decoration: none;
    }

    .myPods li a span {
        cursor: pointer;
        float: left;
        margin: 0;
        padding: 0;
        width: 100%;
    }

        .myPods li a span.icon {
            background: transparent url(../images/icons/bullet-pod.png) no-repeat scroll 0 0;
            font-size: 0;
            height: 20px;
            line-height: 20px;
            margin: 0 0 0 -28px;
            padding: 0;
            width: 20px;
        }

    .noTouchEvents .noTouchEvents .myPods li a:hover span.icon {
        background-position: 0 -20px;
    }

/*
    College Services
*/

    .collegeServices {
        float: left;
        margin: 0;
        padding: 0;
        width: 100%;
    }

        .collegeServices ul {
            list-style: none;
            margin: 0;
            padding: 0;
        }

        .collegeServices li {
            background: transparent none no-repeat scroll 0 0;
            float: left;
            margin: 0;
            padding: 2px 0;
            width: 100%;
        }

        .collegeServices a {
            clear: both;
            display: block;
            margin: 0;
            padding: 0 0 0 26px;
        }

            .collegeServices a span {
                cursor: pointer;
                float: left;
                margin: 0;
                padding: 0;
                width: 100%;
            }

    .noTouchEvents .collegeServices a:hover span {
        text-decoration: none;
    }

    .collegeServices a span.icon {
        background: transparent url(../images/icons/bullet-link.png) no-repeat scroll 0 0;
        font-size: 0;
        height: 20px !important;
        line-height: 20px;
        margin: 0 0 0 -26px;
        padding: 0 0 0;
        width: 20px !important;
    }

    .collegeServices a.highlight span:not(.icon) {
        background-color: red;
	color: white;
	padding: 2px;
	font-weight: bold;
    }

    .noTouchEvents .collegeServices a:hover span.icon {
        background-position: 0 -20px;
    }

/*
    My Links
*/

    .myLinks {
        margin: 0;
        padding: 0;
    }

        .myLinks ul {
            float: left;
            list-style: none;
            margin: 0;
            padding: 0;
            width: 100%;
        }

            .myLinks ul li {
                background-image: none !important;
                float: left;
                margin: 0;
                padding: 2px 0;
                width: 100%;
            }

                .myLinks ul li a {
                    background: transparent url(../images/icons/myModules-default.png) no-repeat scroll 0 0;
                    float: left;
                    height: auto;
                    line-height: 20px;
                    margin: 2px 0;
                    padding: 0 0 0 28px;
                    width: auto;
                }

    .noTouchEvents .myLinks ul li a:hover {
        background-position: 0 -20px;
    }

    .myLinks ul li a.alerts {
        background-image: url(../images/icons/myModules-alerts.png);
    }

    .myLinks ul li a.registers {
        background-image: url(../images/icons/myModules-registers.png);
    }

    .myLinks ul li a.messaging {
        background-image: url(../images/icons/myModules-messaging.png);
    }

    .myLinks ul li a.messages {
        background-image: url(../images/icons/myModules-messages.png);
    }

    .myLinks ul li a.eMarkBook {
        background-image: url(../images/icons/myModules-eMarkBook.png);
    }

    .myLinks ul li a.feedback {
        background-image: url(../images/icons/myModules-feedback.png);
    }

    .myLinks ul li a.ilp {
        background-image: url(../images/icons/myModules-ilp.png);
    }

    .myLinks ul li a.myAttendance {
        background-image: url(../images/icons/myModules-myAttendance.png);
    }

    .myLinks ul li a.myCourses {
        background-image: url(../images/icons/myModules-myCourses.png);
    }

    .myLinks ul li a.myDetails {
        background-image: url(../images/icons/myModules-myDetails.png);
    }

    .myLinks ul li a.myExamEntries {
        background-image: url(../images/icons/myModules-myExamEntries.png);
    }

    .myLinks ul li a.myExamResults {
        background-image: url(../images/icons/myModules-myExamResults.png);
    }

    .myLinks ul li a.pastoral {
        background-image: url(../images/icons/myModules-pastoral.png);
    }

    .myLinks ul li a.learnersupport {
        background-image: url(../images/icons/myModules-learnersupport.png);
    }

    .myLinks ul li a.references {
        background-image: url(../images/icons/myModules-references.png);
    }

    .myLinks ul li a.reports {
        background-image: url(../images/icons/myModules-reporting.png);
    }

    .myLinks ul li a.myTimetable {
        background-image: url(../images/icons/myModules-mytimetable.png);
    }

    .myLinks ul li a.analysis {
        background-image: url(../images/icons/myModules-learnerprogress.png);
    }

/*
    Timetable
*/

    .timetable {
        border-collapse: collapse;
        float: left;
        margin: 0;
        padding: 0;
        width: 100%;
    }

        .timetable table {
            border-collapse: collapse;
            table-layout: fixed;
        }

        .timetable tr th, .timetable tr td {
            background: #fcfcfb none;
            border: 1px solid #eaeae4;
            border-collapse: collapse;
            padding: 3px;
            vertical-align: middle;
            word-wrap: break-word;
        }

        .timetable tr.alternate td {
            background: transparent none;
        }

            .timetable tr td.today, .timetable tr.alternate td.today {
                background: #eee none;
                border-color: #e0e0e0;
            }

        .timetable tr th, .timetable tr td.heading {
            background: #555 none;
            border: 1px solid #71716e;
            color: #fff;
            text-align: center;
            width: 15px;
        }

            .timetable tr th.blank,
            .timetable tr td.blank.heading {
                background: transparent none no-repeat scroll 0 0;
                border: 0 none;
            }

            .timetable tr th.noPeriod, .timetable tr td.noPeriod {
                display: none;
            }

        .timetable tr td:not(.heading):hover,
        .timetable tr.alternate td:not(.heading):hover {
            background: #E3E3E3;
        }

        .timetable tr.today td:not(.heading):hover {
            background: #cccaca;
        }

        .timetable tr th.today, .timetable tr.alternate th.today {
            background: #eee none;
            border-color: #e0e0e0;
        }

        .timetable table td.tt_day a {
            padding: 2px;
        }

        .timetable table td.tt_day .notstarted {
            background-color: #ffbe7e;
            opacity: 1.0;
            border: 1px solid #e28830;
            color: #000;
        }

        .timetable table td.tt_day .ended {
            background-color: #e63d43;
            color: #fff !important;
            opacity: 1.0;
        }

        .timetable table td.tt_day .timetableClass:has(.ended.hide), .timetable table td.tt_day .timetableClass:has(.notstarted.hide) {
            display: none !important;
        }

            .timetable table td:has(.ended.hide)[onmouseover], .timetable table td:has(.notstarted.hide)[onmouseover] {
                pointer-events: none;
            }

        .timetable table td.tt_day .notteaching {
            background-color: #ffc0c0;
            border: 1px solid #ff0000;
            color: #000;
            opacity: 0.8;
        }

            .timetable table td.tt_day .notteaching i.weekly {
                display: none !important;
            }
        
        .timetable table td.tt_day .date hr {
            border-style: dotted;
            padding: 0;
            margin: 2px 0;
        }

        .timetable th.tt_link {
            cursor: pointer;
        }

        .timetable .timetableClass {
            position: relative;
            container-type: inline-size;
            container-name: timetableClass;
        }

        .timetable .mark {
            border-radius: 50%;
            font-weight: bold;
            color: #fff;
            cursor: help;
            float: right;
            width: 1.5em;
            height: 1.5em;
            display: flex;
            justify-content: center;
            align-items: center;
        }

        @container timetableClass (min-width: 120px) {
            .timetable .mark {
                position: relative;
                transform: translateY(-50%);
            }
        }

        .timetable table td p.tt_week_default, .timetable table td a.tt_week_default {
            background-color: #d3d3d3;
            border: 1px solid #e1e1e1;
            padding: 4px;
        }

        .timetable table td tt_week_default .fa {
            margin: -4px;
        }

        .timetable table td p.tt_week_alternate, .timetable table td a.tt_week_alternate {
            background-color: #c1c1c1;
            border: 1px solid #e1e1e1;
            padding: 4px;
        }

        .timetable table td .tt_week_alternate .fa, .timetable table td .tt_week_default .fa {
            margin: -4px;
        }

        .timetable table td .tt_week_alternate .fa {
            transform: scaleX(-1);
        }

        .timetable table td .tt_week_inactive.tt_week_alternate:not(.tt_week_0):not(.notstarted):not(.ended):not(.notteaching) span {
            opacity: 0.8;
        }

        .timetable table td p.tt_week_active, .timetable table td a.tt_week_active {
            border: 1px solid #000;
        }

        .timetable table td p.tt_week_inactive:not(.tt_week_0):not(.notstarted):not(.ended):not(.notteaching) span, .timetable table td a.tt_week_inactive:not(.tt_week_0):not(.notstarted):not(.ended):not(.notteaching) span {
            opacity: 0.8;
        }

        .timetable table td p.tt_week_0, .timetable table td a.tt_week_0 {
            opacity: 0.8 !important;
            background-color: #ffc0c0 !important;
            border: 1px solid #ff0000;
            padding: 4px;
            color: #000 !important;
            font-weight: normal !important;
        }

        .timetable.timetable_DayView .hide.show_Sma {
            display: block !important;
        }

        .timetable.timetable_DayView .hide_Sma {
            display: none !important;
        }

/*
    Student Search
*/
        .studentSearch {
        }

        .studentSearch a.iconButton {
            margin: 0 0 0 4px;
        }

        .studentSearch .form {
            padding: 4px 0 0;
        }

/*
    Search
*/

    .search {
    }

        .search a.iconButton {
            margin: 0 0 0 4px;
        }

        .search .form {
            padding: 4px 0 0;
        }

/*
    My Portal
*/

    .attendanceGraph {
        border-collapse: collapse;
        border: 0 none !important;
        height: 24px;
        margin: 10px 0 0;
    }

        .attendanceGraph td {
            border: 0 none;
            margin: 0;
            padding: 0;
        }

        .attendanceGraph .green {
            background-color: #6fb366 !important;
        }

        .attendanceGraph .orange, .attendanceGraph .amber {
            background-color: #e28830 !important;
        }

        .attendanceGraph .red {
            background-color: #e63d43 !important;
        }

    .myPortal {
        margin: 0;
        padding: 0;
    }

        .myPortal .trafficLight {
            background: transparent none no-repeat scroll 0 0;
            display: inline-block;
            height: 16px;
            margin: 0;
            padding: 0;
            width: 16px;
        }

        .myPortal .trafficLight-green {
            background-image: url(../images/icons/trafficLight-green.png);
        }

        .myPortal .trafficLight-orange {
            background-image: url(../images/icons/trafficLight-green.png);
        }

        .myPortal .trafficLight-red {
            background-image: url(../images/icons/trafficLight-red.png);
        }

        .myPortal .topSection {
            margin: 0;
            padding: 0;
        }

        .myPortal .photo {
            float: left;
            margin: 0 16px 0 0;
            min-height: 100px;
            padding: 0;
            width: 88px;
        }

            .myPortal .photo img {
                border: 0 none;
                width: 88px;
                max-width: 100%;
            }

        .myPortal .details {
            display: block;
            float: none;
            margin: 0;
            padding: 4px 0 0;
            width: auto;
        }

            .myPortal .details .tutorGroup {
                text-align: center;
                padding: 10px 0 0 0;
                width: auto;
            }

                .myPortal .details .tutorGroup .tutorGroupTitle {
                    font-size: 12px;
                }

                .myPortal .details .tutorGroup .tutorName {
                    font-size: 12px;
                }

            .myPortal .details a, .myPortal .details span {
                font-size: 15px;
                line-height: 23px;
                text-decoration: none;
            }

    .noTouchEvents .myPortal .details a:hover {
        text-decoration: underline;
    }

    .myPortal .bottomSection {
        margin: 0;
        padding: 8px 0 0;
    }

        .myPortal .bottomSection .label {
            float: left;
            margin: 0;
            padding: 0;
            width: 88px;
        }

        .myPortal .bottomSection .value {
            float: right;
            margin: 0;
            padding: 0;
            width: auto;
        }

    .myPortal .separator {
        margin-top: 10px;
    }

    .myPortal .bottomSection .attendance {
        float: left;
        font-size: 13px;
        margin: 0;
        padding: 0;
        text-align: center;
        width: 50%;
    }

    .myPortal .bottomSection .punctuality {
        float: left;
        font-size: 13px;
        margin: 0;
        padding: 0;
        text-align: center;
        width: 50%;
    }

    .myPortal .studentPastoral, .myPortal .pastoralStatus {
        text-align: center;
    }

        .myPortal .studentPastoral img {
            display: inline-block;
            margin: 0 4px 0 0;
            vertical-align: middle;
        }

        .myPortal .studentPastoral span {
            display: inline-block;
            margin: 0;
        }

            .myPortal .studentPastoral span.praise {
                margin: 0 8px 0 0;
            }

            .myPortal .studentPastoral span.neutral {
                margin: 0 8px 0 0;
            }

        .myPortal .studentPastoral .pastoralStatus {
            padding: 8px 0;
        }

        .myPortal .studentPastoral .praiseConcern {
            padding: 4px 0;
        }

    .parentPortal .barChart {
        margin: 10px 0 0;
    }

    .myPortal .bottomSection .attendanceSection .barChart {
        padding: 0 50px;
    }

    .myPortal .multipleAccounts {
        line-height: 24px;
        color: #fff;
    }

        .myPortal .multipleAccounts a.inactive {
            cursor: default;
        }

            .myPortal .multipleAccounts a.inactive:hover {
                text-decoration: none;
            }

        .myPortal .multipleAccounts span.icon {
            font-size: 0;
            height: 20px !important;
            line-height: 20px;
            margin: 0 8px 4px 0;
            padding: 0 0 0;
            width: 20px !important;
            display: inline-block;
        }

            .myPortal .multipleAccounts span.icon.staff {
                background: transparent url(../images/icons/bullet-staff.png) no-repeat scroll 0 0;
            }

            .myPortal .multipleAccounts span.icon.student {
                background: transparent url(../images/icons/bullet-student.png) no-repeat scroll 0 0;
            }

        .myPortal .multipleAccounts a:not(.inactive):hover span.icon,
        .myPortal .multipleAccounts a.inactive span.icon {
            background-position: 0 -20px;
        }

/*
    My Bookmarks
*/

    .myBookmarks .form {
        float: none;
    }

    .myBookmarks {
        left: 0;
        margin: 0;
        padding: 0;
        position: relative;
        top: 0;
    }

        .myBookmarks .addBookmark {
            padding: 11px 0 16px;
        }

            .myBookmarks .addBookmark .row {
                position: relative;
            }

                .myBookmarks .addBookmark .row .autoCompleteCategories {
                    background-color: #232529;
                    border: 1px solid #4c5158;
                    left: 0;
                    margin: -1px 0 0;
                    position: absolute;
                    top: 0;
                    z-index: 2;
                }

                    .myBookmarks .addBookmark .row .autoCompleteCategories a {
                        display: block;
                        color: #fff;
                        font-size: 11px;
                        margin: 0;
                        padding: 2px 4px;
                    }

    .noTouchEvents .myBookmarks .addBookmark .row .autoCompleteCategories a:hover {
        background-color: #333539;
    }

    .myBookmarks div.buttons {
        padding: 8px 0 0;
    }

    .myBookmarks .existing {
        margin: 0;
        padding: 0;
    }

        .myBookmarks .existing .category {
            border-top: 1px solid #d3d3c8;
            margin: 0;
            padding: 11px 0;
            position: relative;
        }

            .myBookmarks .existing .category h3:after {
                content: '';
                background-image: url(../images/icons/pod-minimize-grey.png);
                background-repeat: no-repeat;
                background-position: 0 -60px;
                display: inline-block;
                font-size: 0;
                height: 20px;
                line-height: 20px;
                margin: 0;
                padding: 0;
                vertical-align: middle;
                width: 20px;
                position: absolute;
                right: 0;
                top: 12px;
            }

    .noTouchEvents .myBookmarks .existing .category h3:hover:after {
        background-position: 0 -40px;
    }

    .myBookmarks .existing .category h3.open:after {
        background-position: 0 -20px;
    }

    .noTouchEvents .myBookmarks .existing .category h3.open:hover:after {
        background-position: 0 0;
    }

    .myBookmarks .existing .firstCategory {
        border: 0 none;
        padding: 8px 0 11px;
    }

    .myBookmarks .existing .category h3 {
        cursor: pointer;
        font-size: 14px;
        margin: 0;
        padding: 0 0 4px;
    }

    .myBookmarks .existing .category .item .content {
        padding: 0 8px;
    }

    .myBookmarks .existing .category table {
        border-collapse: collapse;
        border: 0 none !important;
        width: 100%;
    }

        .myBookmarks .existing .category table td {
            background: transparent;
            border: 0 none;
            border: 0 none;
            margin: 0;
            padding: 3px;
            vertical-align: top;
        }

            .myBookmarks .existing .category table td.favicon {
                width: 16px;
            }

                .myBookmarks .existing .category table td.favicon img {
                    height: 16px;
                    width: 16px;
                }

            .myBookmarks .existing .category table td.buttons {
                width: 12px;
            }

                .myBookmarks .existing .category table td.buttons a {
                    margin: 2px 0;
                }

/*
    My Notes
*/

    .myNotes {
        left: 0;
        margin: 0;
        padding: 0;
        position: relative;
        top: 0;
    }

        .myNotes h3 {
            margin: 0 0 10px;
            padding: 0;
        }

        .myNotes .addNote {
            padding: 11px 0 16px;
        }

            .myNotes .addNote .row {
                position: relative;
            }

        .myNotes div.buttons {
            padding: 8px 0 0;
        }

        .myNotes .existing, .myNotes .separator {
            margin: 0 0 10px;
        }

            .myNotes .existing td.checkbox {
                text-align: center;
                vertical-align: middle;
                width: 16px;
            }

                .myNotes .existing td.checkbox input {
                    margin: 0;
                }

            .myNotes .existing table {
                border-collapse: collapse;
                border: 0 none !important;
                width: 100%;
            }

                .myNotes .existing table td {
                    border: 0 none;
                    margin: 0;
                    padding: 5px;
                    vertical-align: middle;
                }

                .myNotes .existing table tr {
                    outline: 0 solid #aaa;
                }

                .myNotes .existing table td label {
                    display: block;
                }

                .myNotes .existing table td.buttons {
                    vertical-align: middle;
                    width: 12px;
                }

                    .myNotes .existing table td.buttons a {
                        margin: 2px 0;
                    }

        .myNotes .item {
            float: none;
            margin: 0;
            padding: 5px 30px 5px 5px;
            position: relative;
            width: auto;
        }

            .myNotes .item p {
                padding: 0;
            }

            .myNotes .item .smallButton {
                position: absolute;
                right: 3px;
                top: 3px;
            }


/*
    Icon Button overrides
*/

    a.iconButton {
        background-position: -1px -33px !important;
        border: 2px solid #212121;
        height: 30px !important;
        transition: background-color 0.5s, border-color 0.5s;
        width: 30px !important;
    }

    #footer a.iconButton.iconButton-refresh {
        border: none;
        margin-left: 1rem;
    }

    .noTouchEvents a.iconButton:hover {
        background-color: #212121;
        background-position: -1px -1px !important;
    }

    .noTouchEvents a.iconButton:active, a.iconButtonActive, .noTouchEvents a.iconButtonActive:hover {
        background-color: #555;
        background-position: -1px -1px !important;
        border-color: #555;
    }

    .pod .pod-header .pod-header-center a {
        border-width: 2px;
    }

/*
    Tooltip    
*/

    #toolTip {
        font-size: 11px;
    }

        #toolTip .pod-header .pod-header-center {
        }

        #toolTip .pod-middle .pod-middle-center {
        }

/*
    Misc.    
*/

    #customPrompts_overlay {
        background: rgba(0, 0, 0, 0.8) none no-repeat scroll 0 0;
    }

    #customPrompts_container .pod .pod-middle .pod-middle-center {
        background: #fff none no-repeat scroll 0 0;
        color: #16191c;
    }
    /*#customPrompts_container a.iconButton { background-position: -1px -33px !important; border: 1px solid #212121 !important; border-radius: 4px !important; height: 30px !important; transition: background-color 0.5s, border-color 0.5s; width: 30px !important; }
#customPrompts_container a.iconButton:hover { background-color: #212121 !important; background-position: -1px -1px !important; }
#customPrompts_container a.iconButton:active, #customPrompts_container a.iconButtonActive, #customPrompts_container a.iconButtonActive:hover { background-color: #555 !important; background-position: -1px -1px !important; border-color: #555 !important; }*/

/*
    Support screen
*/

    #tblEvents tr:nth-child(odd) td:nth-child(2) {
        word-break: break-all;
    }

/*
    Error page    
*/

    .errorPage #main {
        margin-top: 40px;
    }

        .errorPage #main .innerWrap {
            border-bottom-width: 11px;
        }

/*
    Login
*/

    .Login {
    }

        .Login .row {
            display: block;
            padding: 4px 0 0;
            text-align: right;
        }

            .Login .row:first-child {
                padding: 0;
            }

            .Login .row .label {
                display: block;
                padding: 0;
                text-align: left;
            }

                .Login .row .label label {
                    display: block;
                    padding: 0;
                }

            .Login .row .input {
                display: block;
                padding: 0;
                text-align: left;
            }

                .Login .row .input input {
                    width: 100%;
                    box-sizing: border-box;
                    -moz-box-sizing: border-box;
                    -webkit-box-sizing: border-box;
                }

        .Login .rowError {
            color: #c9282d;
            font-size: bold;
            text-align: left;
        }

/*
    Set Target Alert
*/

    .setTargetAlert {
        padding-left: 15px;
    }

        .setTargetAlert li {
            background: transparent none no-repeat scroll 0 0;
            margin: 0;
            padding: 0;
        }

    /* Clock */

    .clock {
        height: 48px;
        line-height: 48px;
        width: auto;
    }

        .clock .date {
            margin: 0 36px 0 0;
        }

    /* Masonry */

    .grid {
        overflow: hidden;
    }

    .grid-sizer, .grid-item {
        width: 31%;
    }

    .gutter-sizer {
        width: 2%;
    }

    .grid-item {
        margin: 0 0 16px 1% !important;
    }

    .grid-item-2 {
        width: 64%;
    }

    .grid-item-3 {
        width: 98%;
    }

    @media (max-width: 1023px) {
        /*body:not(.forceDesktopMode) .administratorPanel
    {
        display: none;
    }*/

        body:not(.forceDesktopMode) .studentSearch a.iconButton-advanced {
            display: none;
        }
    }

    @media (max-width: 767px) {
        .grid-sizer, .grid-item {
            width: 48%;
        }

        .grid-item {
            margin: 0 0 16px 1% !important;
        }

        .grid-item-2, .grid-item-3 {
            margin: 0 0 16px !important;
            width: 100%;
        }

        body:not(.forceDesktopMode) h1 {
            margin: 0;
            padding: 0;
        }

        .administratorPanel {
            margin-bottom: 40px;
        }
    }

    @media (max-width: 511px) {
        .grid-sizer, .grid-item {
            width: 100%;
        }

        .grid-item {
            margin: 0 0 16px !important;
        }

        .gutter-sizer {
            width: 0;
        }

        body:not(.forceDesktopMode) h1 {
            font-size: 30px !important;
        }

        body:not(.forceDesktopMode) .clock .time, body:not(.forceDesktopMode) .clock .date {
            font-size: 13px;
        }
    }

/*
    webpart updates
*/

    .webparts-zone {
        height: auto !important;
    }

        .webparts-zone:after {
            clear: both;
            content: "";
            display: table;
        }

        .webparts-zone .webparts-zone-webpart {
            bottom: auto;
            float: left;
            left: auto;
            position: static;
            right: auto;
            width: 100% !important;
        }

        .webparts-zone.webparts-vertical .webparts-zone-webpart {
            margin: 24px 0 0 !important;
        }

            .webparts-zone.webparts-vertical .webparts-zone-webpart.first-child {
                margin: 0 !important;
            }

        .webparts-zone.webparts-horizontal .webparts-zone-webpart {
            margin: 0 0 0 24px !important;
        }

            .webparts-zone.webparts-horizontal .webparts-zone-webpart:first-child {
                margin: 0 !important;
            }

    .webparts-horizontal.webparts-zone-1 .webparts-zone-webpart {
        width: 100% !important;
    }

    .webparts-horizontal.webparts-zone-2 .webparts-zone-webpart {
        width: calc(50% - 12px) !important;
    }

    .webparts-horizontal.webparts-zone-3 .webparts-zone-webpart {
        width: calc(33.33% - 16px) !important;
    }

    .webparts-horizontal.webparts-zone-4 .webparts-zone-webpart {
        width: calc(25% - 18px) !important;
    }

    .webparts-horizontal.webparts-zone-5 .webparts-zone-webpart {
        width: calc(20% - 19px) !important;
    }

    .webparts-horizontal.webparts-zone-6 .webparts-zone-webpart {
        width: calc(16.66% - 20px) !important;
    }

    .webparts-toolbox {
        background-color: #fff;
        bottom: 0;
        box-shadow: 0 -6px 24px 2px rgba(0, 0, 0, 0.1), 0 -2px 8px 1px rgba(0, 0, 0, 0.1);
        color: #fff;
        left: 0;
        margin: 0;
        /*overflow: hidden;*/
        padding: 0;
        position: fixed;
        right: 0;
        z-index: 100;
    }

        .webparts-toolbox .webparts-toolbox-tab {
            background-color: #313131;
            border-radius: 50px;
            box-shadow: 0 -6px 24px 2px rgba(0, 0, 0, 0.1), 0 -2px 8px 1px rgba(0, 0, 0, 0.1);
            box-sizing: border-box;
            color: #212121;
            display: block;
            font-weight: bold;
            height: 64px;
            left: 16px;
            line-height: 32px;
            padding: 2px 4px 32px;
            position: absolute;
            top: -32px;
        }

        .webparts-toolbox::after {
            clear: both;
            content: "";
            display: table;
        }

        .webparts-toolbox .fa {
            color: #fff !important;
            font-size: 18px !important;
        }

    .noTouchEvents .webparts-toolbox.hasTouchSupport {
        display: none !important;
    }

.webparts-zone-toolbox {
    height: 0 !important;
    margin: 0 !important;
    min-height: 0 !important;
    padding: 0 !important;
    overflow-x: hidden;
    overflow-y: hidden;
    transition: height 0.300s, margin 0.300s;
    white-space: nowrap;
}

        .webparts-zone-toolbox.webparts-visibleZone,
        .webparts-toolbox:hover .webparts-zone-toolbox {
            height: 64px !important;
            margin: 16px !important;
            min-height: 16px !important;
            overflow-x: auto;
        }

        .webparts-zone-toolbox .webparts-zone-webpart,
        .webparts-zone-toolbox.webparts-horizontal.webparts-zone-1 .webparts-zone-webpart,
        .webparts-zone-toolbox.webparts-horizontal.webparts-zone-2 .webparts-zone-webpart,
        .webparts-zone-toolbox.webparts-horizontal.webparts-zone-3 .webparts-zone-webpart,
        .webparts-zone-toolbox.webparts-horizontal.webparts-zone-4 .webparts-zone-webpart,
        .webparts-zone-toolbox.webparts-horizontal.webparts-zone-5 .webparts-zone-webpart,
        .webparts-zone-toolbox.webparts-horizontal.webparts-zone-6 .webparts-zone-webpart {
            display: inline-block;
            float: none;
            height: 48px !important;
            width: 128px !important;
            opacity: 0;
            overflow: hidden;
            transition: opacity 0.125s;
        }

        .webparts-zone-toolbox.webparts-visibleZone .webparts-zone-webpart,
        .webparts-zone-toolbox.webparts-horizontal.webparts-zone-1.webparts-visibleZone .webparts-zone-webpart,
        .webparts-zone-toolbox.webparts-horizontal.webparts-zone-2.webparts-visibleZone .webparts-zone-webpart,
        .webparts-zone-toolbox.webparts-horizontal.webparts-zone-3.webparts-visibleZone .webparts-zone-webpart,
        .webparts-zone-toolbox.webparts-horizontal.webparts-zone-4.webparts-visibleZone .webparts-zone-webpart,
        .webparts-zone-toolbox.webparts-horizontal.webparts-zone-5.webparts-visibleZone .webparts-zone-webpart,
        .webparts-zone-toolbox.webparts-horizontal.webparts-zone-6.webparts-visibleZone .webparts-zone-webpart,
        .webparts-toolbox:hover .webparts-zone-toolbox .webparts-zone-webpart,
        .webparts-toolbox:hover .webparts-zone-toolbox.webparts-horizontal.webparts-zone-1 .webparts-zone-webpart,
        .webparts-toolbox:hover .webparts-zone-toolbox.webparts-horizontal.webparts-zone-2 .webparts-zone-webpart,
        .webparts-toolbox:hover .webparts-zone-toolbox.webparts-horizontal.webparts-zone-3 .webparts-zone-webpart,
        .webparts-toolbox:hover .webparts-zone-toolbox.webparts-horizontal.webparts-zone-4 .webparts-zone-webpart,
        .webparts-toolbox:hover .webparts-zone-toolbox.webparts-horizontal.webparts-zone-5 .webparts-zone-webpart,
        .webparts-toolbox:hover .webparts-zone-toolbox.webparts-horizontal.webparts-zone-6 .webparts-zone-webpart {
            opacity: 1;
        }

        .webparts-zone-toolbox .webparts-zone-webpart .pod-middle,
        .webparts-zone-toolbox .webparts-zone-webpart .pod-bottom {
            display: none;
        }

    .webparts-toolbox {
        display: none !important;
    }

    .noTouchEvents .webparts-toolbox {
        display: block !important;
    }

    @media (max-width: 1023px) {
        .webparts-toolbox,
        .noTouchEvents .webparts-toolbox {
            display: none !important;
        }
    }

/*
    Absence Notifications   
 */

.absenceNotifications {
    margin-bottom: 12px;
}

.studentAbsencesList {
    max-height: 500px;
    overflow-x: hidden;
    overflow-y: auto;
    width: 100%;
    padding: 1px;
}

    .studentAbsencesList td {
        padding: 3px;
    }

    .studentAbsencesList .mark a {
        color: #fff;
    }

.studentAbsences h3 {
    padding: 0 0 4px 0;
    margin-top: -8px;
    font-weight: bold;
}

/*
    student summary pod
*/

.studentSummary tr.expanded {
}

.studentSummary tr.leaver td {
    opacity: 0.5;
    cursor: not-allowed;
}

.studentSummary .summarySection {
    padding: 10px 10px 20px;
    container-type: inline-size;
    container-name: summarySection;
}
.studentSummary .summarySection .separator {
    float: none;
}

    .studentSummary .summarySection .summaryItems {
        display: grid;
        grid-template-columns: repeat(auto-fit, 50%);
    }

@container summarySection (max-width: 400px) {
    .studentSummary .summarySection .summaryItems {
        grid-template-columns: repeat(auto-fit, 100%);
    }
}

    .studentSummary .summarySection .summaryItem {
        float: left;
        padding: 16px;
        outline: 1px solid #5a5654;
    }

        .studentSummary .summarySection .summaryItem.alternate {
            background: #f1f1f1 none no-repeat scroll 0 0;
            background-color: rgba(255, 255, 255, 0.1);
        }

        .studentSummary .summarySection .summaryItem .title {
            font-weight: bold;
            font-size: 15px;
            float: left;
        }

            .studentSummary .summarySection .summaryItem .title .icon {
                padding-right: 12px;
            }

        .studentSummary .summarySection .summaryItem .subtitle {
            font-weight: bold;
            float: right;
        }

        .studentSummary .summarySection .summaryItem .attendance {
            padding: 12px !important;
        }

            .studentSummary .summarySection .summaryItem .attendance td {
                padding: 0 12px;
            }

        .summarySection .summaryItem .timelost, .summarySection .summaryItem .timelate {
            padding: 10px !important;
        }

        .studentSummary .summarySection .summaryItem .pieChart {
            max-width: calc(50% - 20px);
            float: left;
            min-width: 100px;
        }

.studentSummary .content table tr td {
    border: 1px solid #ccc !important;
    text-align: center;
}

.studentSummary .summaryStudent.alternate {
    background-color: rgba(255, 255, 255, 0.1);
}

.studentSummary .summaryStudent.leaver {
    opacity: 0.5;
}

.studentSummary .summaryStudent {
    display: flex;
    flex-wrap: wrap;
    align-items: center;
    padding: 6px 10px;
    gap: 13px;
}

.studentSummary .summaryStudent .studentName {
    flex-basis: 5ch;
    flex-grow: 1;
    max-width: 60ch;
}

.studentSummary .summaryStudent .icon {
    width: 32px;
}

.studentSummary .summaryStudent .buttons {
    margin-left: auto;
}

.studentSummary .timetable_DayView .blank, .studentSummary .timetable_DayView .timetablePeriod, .studentSummary .timetable_DayView td.heading {
    display: none;
}

.studentSummary .timetable_DayView table tr th {
    word-wrap: unset;
}

@media screen and (min-width: 512px) {
    .audience-student .studentSummary .summaryStudent, .audience-student .studentSummary .summarySection .separator,
    .audience-parent .studentSummary:not(:has(.summaryStudent ~ .summaryStudent)) .summaryStudent,
    .audience-parent .studentSummary:not(:has(.summaryStudent ~ .summaryStudent)) .summarySection .separator {
        display: none;
    }
}

/*
    pastoral review queue
*/
    .pastoralReviewQueue { }
    .pastoralReviewQueue .tabs,
    .pastoralReviewQueue .tabs tbody,
    .pastoralReviewQueue .tabs tbody tr,
    .pastoralReviewQueue .tabs tbody tr td {
        border-spacing: 0;
        margin: 0 !important;
        padding: 0 !important;
        vertical-align: bottom;
    }
    .pastoralReviewQueue .tabs tbody tr td {
        padding: 0 2px 0 0 !important;
    }

        .pastoralReviewQueue .tabs a {
            background: #f1f1f1;
            border-bottom: 1px solid #ccc;
            border-radius: 6px 6px 0 0;
            box-sizing: border-box;
            display: inline-block;
            padding: 5px 0;
            text-align: center;
            vertical-align: bottom;
            width: 100%;
        }
        .pastoralReviewQueue .tabs a.selected {
            background: #fff;
            border: 1px solid #ccc;
            border-bottom: 0 none;
            padding: 10px 0;
            position: relative;
            z-index: 2;
        }
    .pastoralReviewQueue .queue {
        border: 1px solid #ccc;
        margin: -1px 0 0;
        padding: 10px;
    }

    .pastoralReviewQueue .pagination {
        border: 0 none;
    }


/*
    accessibility menu and widget styling
*/
.accessibilityMenu {
    display: none;
}

#bDashboard .uwy {
    z-index: 100;
}

    #bDashboard .uwy .userway_buttons_wrapper {
        bottom: 5px;
    }

    #bDashboard .uwy.userway_p3 .userway_buttons_wrapper {
        transition: 300ms left ease-in !important;
        bottom: 70px;
        left: calc(100vw + 45px);
        align-items: flex-end;
    }
        #bDashboard .uwy.userway_p3 .userway_buttons_wrapper:hover, #bDashboard .uwy.userway_p3 .userway_buttons_wrapper:active {
            left: calc(100vw - 21px);
        }

    #bDashboard .uwy.userway_p5 .userway_buttons_wrapper {
        right: 100vw;
        align-items: flex-start;
        left: -55px;
        transition: 300ms left ease-in !important;
        bottom: 55px;
    }

        #bDashboard .uwy.userway_p5 .userway_buttons_wrapper:hover, #bDashboard .uwy.userway_p5 .userway_buttons_wrapper:active {
            left: 2px;
        }

@media screen and (max-width:767px) {
    #bDashboard .uwy.userway_p3 .userway_buttons_wrapper, #bDashboard .uwy.userway_p5 .userway_buttons_wrapper {
        bottom: 100px;
    }
}

    #bDashboard .uwy.userway_p5 .userway_buttons_wrapper .accessibilityMenu {
        rotate: 180deg;
    }

    .accessibilityMenu {
        display: block;
        background-color: #313131;
        height: 44px;
        width: 90px;
        position: absolute;
        bottom: 0px;
        color: white;
        border-radius: 50px;
        z-index: -1;
    }

        .accessibilityMenu i {
            color: white !important;
            margin-top: 8%;
        }

/*
    navigation bar
*/

.navigationBar {
    padding: 6px 0;
    position: fixed;
    bottom: 0;
    left: 0;
    right: 0;
    z-index: 98 !important;
    width: 100vw;
    background-color: #000;
    text-align: center;
    border-top: 1px solid #fff;
}

    .navigationBar a {
        border: 1px solid #fff;
        border-radius: 30px;
        padding: 5px 12px 9px 12px;
        background-color: #fff;
        text-align: center;
        box-shadow: inset 0 0 0 2px #000;
        display: inline-block;
        height: 28px;
        width: 20px;
        vertical-align: middle;
        margin: 0 4px;
        background-size: contain;
        background-position: center;
    }

        .navigationBar a .fa {
            font-size: 20px !important;
            width: 20px !important;
            color: #000 !important;
        }

            .navigationBar a .fa.fa-calendar-day, .navigationBar a .fa.fa-calendar-check {
                font-size: 22px !important;
            }

            .navigationBar a .fa.fa-analytics {
                font-size: 18px !important;
            }

            .navigationBar a .fa.green {
                color: #6fb366 !important
            }

            .navigationBar a .fa.orange, .navigationBar a .fa.amber {
                color: #e28830 !important
            }

            .navigationBar a .fa.red {
                color: #e63d43 !important
            }

        .navigationBar a.small {
            padding: 0 8px 8px 8px;
            height: 24px;
            width: 16px;
            border-radius: 30px !important;
        }

            .navigationBar a.small .fa {
                font-size: 18px !important;
                width: 16px !important;
            }

            .navigationBar a.small .fa.fa-analytics {
                font-size: 14px !important;
            }

        .navigationBar a:hover {
            background-color: #000 !important;
        }

            .navigationBar a:hover .fa {
                color: #fff !important;
            }

        .navigationBar a.profile {
            border: none;
            box-shadow: 0 0 4px 1px #808080;
            border-radius: 30px;
        }

        .navigationBar a .statusIcon {
            position: absolute;
            top: 4px;
        }

        .navigationBar a.aspNetDisabled {
            cursor: not-allowed;
            opacity: 0.2;
        }

        .navigationBar a.aspNetDisabled.profile.navIcon {
            opacity: 1;
        }

            .navigationBar a.aspNetDisabled .statusIcon {
                display: none;
            }

.appmode .navigationBar {
    padding-bottom: 36px;
}

.navigationMenu {
    display: block;
    background-color: #313131;
    height: 90px;
    width: 44px;
    position: fixed;
    bottom: -60px;
    color: white;
    border-radius: 50px;
    z-index: 98;
    text-align: center;
    left: 50%;
    transition: bottom 300ms ease-in;
}

.navigationMenu:hover {
    cursor: pointer;
    bottom: 5px;
}

.navigationMenu .fa {
    color: white !important;
}

    .navigationMenu .navigationButton {
        width: 38px;
        height: 38px;
        border-radius: 50%;
        display: block;
        outline: 1px solid #ffffff;
        outline-offset: -4px;
        position: relative;
        bottom: -15px;
        text-align: center;
        transition: scale 300ms ease;
        border: 3px solid #000;
        background-color: #000;
    }

        .navigationMenu .navigationButton:hover {
            scale: 1.1;
        }

        .navigationMenu .navigationButton i {
            position: relative;
            top: calc(50% - 15px);
        }
