/*General styles*/

@import url(https://fonts.googleapis.com/css?family=Karla:300);


:root {
    --pr: #0f82c5;
    --prdark: #04273b;
    --prdarkopaque: rgba(4, 39, 59, .8);
    --prwhite: #e7f2f9;
    --backgrey: #F2F2F2;
    --middlegrey: #646464;
    --textgrey: #404040;
    --warning: /*#FF5050*/ #990909;
    --warningopaque: rgba(153, 9, 9, .8);
    --redinactive: #b36767;
    --cgreen: #5aba3c;
    --excel: #187246;
    --exceldark: #064124;
    --o: #990909;
    --oa: #B32323;
    --t: #ff8c00;
    --ta: #FFA61A;
    --v: #04273b;
    --va: #1E4155;
    --rv: #0CBC86;
    --rva: #26D6A0;
    --g: #5aba3c;
    --ga: #74D456;
}

* {
    font-family: 'Karla', sans-serif;
    font-size: 14pt;
    margin: 0;
    box-sizing: border-box;
}

html, body {
    height: 100%;
    background-color: var(--prdark);
}

.mainPage {
    background-color: white;
    height: 100%;
}

/*flexate the design*/

.mainPage {
    display: flex;
    flex-flow: row nowrap;
}

#sidebar {
    flex: 1 70px;
    min-width: 70px;
    max-width: 70px;
    height: 100%;
    padding-left: 5px;
}

#wrapper {
    flex: 14 auto;
    display: flex;
    flex-flow: column nowrap;
    border-bottom-right-radius: 10px
}

#main {
    height: 100%;
    position: relative;
    background-color: white;
}

    #main #message {
        background-color: white;
        position: absolute;
        width: 94%;
        left: 0;
        right: 0;
        margin: auto;
        display: none;
        z-index: 10;
        border-radius: 0px 0px 5px 5px;
        padding: 30px;
        box-shadow: 2px 2px 2px 1px #888;
    }

#apps {
    display: flex;
    flex-flow: row wrap;
    justify-content: space-evenly;
    padding: 0;
    background-color: white;
    max-width: 1000px;
    margin: 20px auto;
}

#main #menu {
    padding: 20px;
    display: flex;
    flex-flow: row-reverse wrap;
}

#apps a {
    flex: 0 1 auto;
    width: 200px;
    height: 200px;
    background-color: var(--pr);
    color: white;
    border: 0;
    margin: 20px 20px 20px 0;
    cursor: pointer;
    border-radius: 10px;
    text-align: center;
}

    #apps a.locked {
        background-color: var(--middlegrey);
    }

    #apps a img {
        width: 50%;
        text-align: center;
        margin: 10%;
        filter: brightness(0%) invert(100%);
    }

    #apps a:hover img {
        width: 30%;
    }

    #apps a:hover span:not(.hidden) {
        display: none;
    }

    #apps a:hover span:last-child {
        display: inline-block;
        padding: 0 10px;
    }

#menu {
    justify-content: space-between;
    align-items: center;
}

    #menu h2 {
        margin-left: 20px;
        margin-bottom: 10px;
        margin-right: 5px;
    }

    #menu #eventSelector {
        margin: 10px 0px 10px 10px;
    }

    #menu .container {
        display: flex;
        align-items: baseline;
    }

        #menu .container:first-child {
            height: 76px;
        }

        #menu .container.hidden {
            display: none;
        }

#adminSelector [type=search] {
    color: var(--pr);
    font-size: 18pt;
    width: 350px;
    border-radius: 7px;
    padding: 13px;
}

    #adminSelector [type=search]:not(:focus) {
        border-color: white;
    }

    #adminSelector [type=search].chosen {
        overflow-x: hidden;
        white-space: nowrap;
        text-overflow: ellipsis;
    }

.searchContainer {
    display: flex;
    flex-flow: column;
    display: none;
    overflow-y: auto;
    scrollbar-width: thin;
    max-height: 200px;
    position: absolute;
    z-index: 1;
    border-radius: 5px;
    border: 1px solid var(--pr);
    background-color: white;
    width: 350px;
}

    .searchContainer div {
        flex: 0 0 42px;
        color: var(--pr);
        cursor: pointer;
        padding: 10px;
        flex-flow: row nowrap;
        display: flex;
        align-items: center;
    }

        .searchContainer div.divider {
            color: var(--middlegrey);
            cursor: initial;
            text-align: center;
        }

        .searchContainer div:not(:first-child) {
            border-top: 1px solid var(--backgrey);
        }

        .searchContainer div:not(.divider):hover {
            background-color: var(--pr);
            color: white;
        }

#popupCanvas {
    position: absolute;
    width: 100%;
    height: 100%;
    background-color: rgba(0,0,0,0.8);
    padding-top: 50px;
    top: 0;
    left: 0;
    /*display: none;*/
    z-index: 10;
}

#popup {
    width: 94%;
    height: 92%;
    background-color: white;
    margin: auto;
    padding: 10px;
    border-radius: 5px;
    overflow: hidden;
}

footer {
    align-self: flex-end;
    background-color: var(--prwhite);
}

.nullT {
    color: var(--backgrey);
}

.badT {
    color: var(--o);
}

.badishT {
    color: var(--oa);
}

.mehT {
    color: var(--t);
}

.mehishT {
    color: var(--ta);
}

.okT {
    color: var(--v);
}

.niceishT {
    color: var(--va);
}

.niceT {
    color: var(--rv);
}

.radishT {
    color: var(--rva);
}

.radT {
    color: var(--g);
}

.raderinoT {
    color: var(--ga);
}

.null {
    background-color: var(--backgrey) !important;
    color: black;
}

.bad {
    background-color: var(--o) !important;
    color: white;
}

.badish {
    background-color: var(--oa) !important;
    color: white;
}

.meh {
    background-color: var(--t) !important;
    color: white;
}

.mehish {
    background-color: var(--ta) !important;
    color: white;
}

.ok {
    background-color: var(--v) !important;
    color: white;
}

.niceish {
    background-color: var(--va) !important;
    color: white;
}

.nice {
    background-color: var(--rv) !important;
    color: white;
}

.radish {
    background-color: var(--rva) !important;
    color: white;
}

.rad {
    background-color: var(--g) !important;
    color: white;
}

.raderino {
    background-color: var(--ga) !important;
    color: white;
}

/*Division styling*/
#login .sidebar {
    display: none;
}

#sidebar {
    background-color: var(--pr);
    /*border-right: 5px rgb(90,186,60) solid;*/
    /*box-shadow: 0 20px 20px 0 rgba(0,0,0,.1);*/
    z-index: 1;
}

    #sidebar h1 {
        font-weight: normal;
        color: white;
        font-size: 26pt;
        display: block;
    }

    #sidebar .smallDevice {
        display: none;
    }

header {
    text-align: center;
    z-index: 2;
    padding: 20px 0px;
}

    header h1 {
        font-weight: normal;
        font-size: 20pt;
        color: var(--pr);
    }

    header img {
        width: 60px;
        margin-left: 20px;
    }

#main {
    /*box-shadow: 0 20px 50px 0 rgba(0,0,0,.1);*/
    position: relative;
}

    #main:not(.scroll) {
        overflow-y: hidden;
    }

footer {
    background-color: var(--prwhite);
    width: 100%;
    text-align: right;
    border-top: 1px var(--textgrey) solid;
    padding: 5px;
}

    footer a {
        color: var(--pr);
        font-weight: normal;
        padding: 5px;
        border-radius: 7px;
    }

        footer a:hover {
            color: var(--warning);
        }

/*Element styling*/

/*General*/

a {
    text-decoration: none;
    color: black;
    outline: 0;
}

h2, #itemDetails [name="itemTitle"] {
    color: var(--pr);
    font-size: 18pt;
    margin-bottom: 5px;
    font-weight: normal;
}

h3 {
    font-weight: normal;
}

input, select, textarea {
    border: 0px;
    padding: 10px;
    border-radius: 5px;
    outline: 0;
}

    select:not(.disabled):hover, option:not(.disabled):hover {
        cursor: pointer;
    }

    select.disabled {
        color: var(--middlegrey);
    }

    input.inline {
        border: 1px solid black;
        padding: 5px;
    }

    input.text, input[type=text], input[type=search], select, textarea {
        border: 1px solid var(--middlegrey);
        background-color: white;
    }

        input.text:focus, input[type=text]:focus, input[type=search]:focus, select:focus, textarea:focus {
            border: 1px solid var(--pr);
        }

section {
    background-color: white;
    /*margin: 50px 100px 0px 100px;*/
    padding: 20px;
}

#welcome {
    margin: 50px 100px 0px 100px;
}

.button {
    background-color: var(--pr);
    cursor: pointer;
    color: white;
    padding: 15px 20px;
    border-radius: 7px;
    text-decoration: none;
    text-align: center;
    font-weight: bold;
    outline: 0;
}

    .button.disabled {
        background-color: var(--middlegrey);
        cursor: initial;
    }

    .button:not(.switch):not(.disabled):hover/*, .selected*/ {
        background-color: var(--prdark);
    }

#buttons {
    padding: initial;
    display: flex;
    flex-flow: row nowrap;
    justify-content: space-between;
    width: 100%;
}

    #buttons.hidden {
        display: none;
    }

    #buttons .button {
        width: 54px;
        height: 54px;
        border-radius: 27px;
        padding: 11px;
        line-height: 32px;
    }

    #buttons > div {
        display: flex;
        gap: 5px;
    }

    #buttons .button img {
        width: 32px;
        height: 32px;
        filter: brightness(0) invert(100%);
    }

    #buttons .button span {
        display: none;
    }
#menu #buttons{
    padding-left: 20px;
    justify-content: flex-start;
}

#menu #buttons > div {
    flex: 0 1 225px;
    justify-content: center;
}

#menu #buttons > div:first-child {
        justify-content: flex-start;
    }

#buttons .button:not(.disabled):hover, #buttons .button.selected:not(.disabled) {
    width: auto;
}

#buttons .button:not(.disabled):hover span, #buttons .button.selected:not(.disabled) span {
        display: inline;
        padding: 10px;
        vertical-align: top;
    }

#warningSection {
    position: absolute;
    top: 0;
    z-index: 10;
    width: calc(100% - 200px);
}

.pj {
    color: var(--pj);
}

.sv {
    color: var(--sv);
}

.present {
    color: var(--pr);
}

.abit {
    color: var(--pjwarn);
}

.checkbox {
    min-width: 35px;
    height: 35px;
    border-radius: 35px;
    text-align: center;
    padding-top: 5px;
    cursor: pointer;
}

    .checkbox.checked,
    .checkbox:hover {
        color: white;
        background-color: var(--textgrey);
    }

    .checkbox.confirm.checked,
    .checkbox.confirm:hover {
        color: white;
        background-color: var(--pr);
    }

    .checkbox.reject.checked,
    .checkbox.reject:hover {
        color: white;
        background-color: var(--warning);
    }

    .checkbox.finish.checked,
    .checkbox.finish:hover {
        color: white;
        background-color: var(--pj);
    }
/*Division specific*/

#sidebar img {
    width: 90%;
    display: block;
    margin: 10px auto;
}

#sidebar a:not(first-of-type) {
    display: block;
    text-align: center;
    color: var(--pr);
    font-size: 1.1em;
}

#sidebar nav a:first-of-type {
    margin-top: 100px;
}

#sidebar nav a {
    color: var(--pr);
    text-align: left;
    display: block;
    width: 100%;
    padding: 10px 20px;
    font-size: 16pt;
    text-transform: uppercase;
    position: relative;
    border-radius: 10px 0px 0px 10px;
}

nav a img {
    filter: brightness(0) invert();
}

#sidebar nav a span {
    position: absolute;
    top: 0;
    left: 70px;
    background-color: white;
    padding: 22px 20px;
    display: none;
    box-shadow: 20px 0px 20px 0 rgba(0,0,0,.1);
    border-radius: 0px 10px 10px 0px;
    z-index: 1;
}

#sidebar nav a:hover span {
    display: block;
}

nav a.focus, nav a:hover, nav a.focus:hover {
    background-color: white;
    color: var(--pr);
}

    nav a.focus img, nav a:hover img, nav a.focus:hover img {
        filter: none;
    }

#sidebar > p:last-child {
    position: absolute;
    bottom: 10px;
    left: 10px;
    font-size: 10pt;
    color: white;
}

#home section {
    background-color: white;
    text-align: center;
    padding: 50px 0px;
}

    #home section a {
        color: var(--pr);
        text-decoration: none;
    }

#buttons form div {
    height: 54px;
}
/*#buttons input:last-of-type{
    margin-right: 20px;
}*/

#result {
    padding: 0px;
    overflow-y: auto;
}

    #result h4 {
        margin: 50px 0px;
    }

#more_info {
    border-radius: 10px;
}

table {
    width: 100%;
    /*height: 100%;*/
    border-collapse: collapse;
}

    table td {
        padding: 5px;
        border: 0px;
    }

.tableList {
    width: 100%;
    display: flex;
    flex-flow: column nowrap;
    color: black;
    border-radius: 0px 0px 5px 5px;
}

    .tableList.blocks {
        flex-flow: row wrap;
        justify-content: space-between;
        gap: 0px 3px;
    }

        .tableList.blocks .tableListRow {
            width: initial;
            flex: 1 1 100px;
        }

    .tableList .divider {
        margin: 3px 0px 0px 0px;
        height: 2px;
        background-color: var(--pr);
        width: 100%;
    }

.tableListHeader.folded + .tableList {
    display: none;
}

.tableListHeader {
    display: flex;
    flex-flow: row nowrap;
    align-items: center;
    height: 48px;
    color: white;
    background-color: var(--pr);
    padding: 8px;
    border-radius: 5px 5px 0px 0px;
    width: 100%;
    justify-content: space-between;
}

    .tableListHeader.folded {
        border-radius: 5px;
    }

    .tableListHeader:not(.folded) .arrowDown {
        transform: rotate(180deg);
    }

    .tableListHeader + .tableList .tableListRow:not(:last-child) {
        border-radius: 0px;
    }

    .tableListHeader + .tableList .tableListRow:last-child {
        border-radius: 0px 0px 5px 5px;
    }

    .tableListHeader + .tableList.blocks .tableListRow:last-child {
        border-radius: 0px;
    }

    .tableListHeader img {
        width: 25px;
        margin-left: 4px;
        margin-right: 10px;
        filter: brightness(0%) invert(100%);
    }

.tableListRow {
    width: 100%;
    display: flex;
    flex-flow: row nowrap;
    justify-content: space-between;
    align-items: center;
    background-color: var(--prwhite);
    height: 51px;
    border-top: 3px white solid;
    border-radius: 5px;
    padding: 8px;
}

    .tableListRow.subHeader {
        flex: 0 1 100% !important;
        background-color: white;
        color: var(--pr);
        border-bottom: 2px solid var(--pr);
        padding-top: 15px;
        font-weight: 700;
    }

.tableListRow.subHeader > div {
    font-weight: 700;
    justify-content: center;
}

.tableListRow.subHeader > div:first-child {
    justify-content: flex-start;
}

.tableListRow.moreHeight {
    height: 60px;
}

.tableListRow:not(.unfoldable).selected,
.foldable .tableListRow:not(.unfoldable):hover {
    color: white;
    background-color: var(--pr);
    cursor: pointer;
}

.tableListRow:not(.unclickable).selected,
.clickable .tableListRow:not(.unclickable):hover {
    color: white;
    background-color: var(--pr);
    cursor: pointer;
}

.tableListRow.listEnding{
    height: 20px;
    background-color: var(--pr);
    border-radius: 0px 0px 5px 5px;
}

.tableListHeader .tableListButtons a:not(.hide),
.tableListRow:hover .tableListButtons a:not(.hide),
.tableListRow.selected .tableListButtons a:not(.hide) {
    display: block;
}

.tableListHeader div,
.tableListRow div {
    height: 100%;
    padding: 5px;
    display: flex;
    align-items: center;
}

.tableListRow div {
    flex: 1;
}

.tableListRow div.smallInfo {
    flex: 0 1 100px;
}

.tableListRow div.cube {
    flex: 0 1 32px;
    justify-content: center;
}

.tableListRow div.mainText {
    flex: 2 2 auto;
}

.tableListRow div.center {
    justify-content: center;
}

.tableListRow div.quickScope img {
    width: 25px;
    margin-left: 4px;
    margin-right: 10px;
}

.tableListRow:not(.unclickable):hover div.quickScope img,
.tableListRow.selected div.quickScope img {
    filter: brightness(0%) invert(100%);
}

.tableListHeader div.quickScope .whiteCircleInRow,
.tableListRow div.quickScope .whiteCircleInRow {
    margin-left: 20px;
}

.tableListButtons {
    display: flex;
    flex-flow: row nowrap;
    justify-content: flex-end;
}

.tableListButtons a, .tableListButtons div, .studentCardItemIndicator {
    display: none;
    border-radius: 18px;
    width: 36px;
    height: 36px;
    padding: 7px;
    color: white;
    text-align: center;
    margin-left: 10px;
    cursor: pointer;
    background-color: var(--pr);
}

.tableListHeader .tableListButtons span:hover,
.tableListHeader .tableListButtons a:hover,
.tableListRow .tableListButtons:not(.markers) span:hover,
.tableListRow .tableListButtons a:hover {
    background-color: var(--prdark);
}

.tableListHeader .tableListButtons span.warning:hover,
.tableListHeader .tableListButtons a.warning:hover,
.tableListRow .tableListButtons span.warning:hover,
.tableListRow .tableListButtons a.warning:hover {
    background-color: var(--warning);
}

.tableListButtons a img, .tableListButtons div img {
    width: 20px;
    filter: brightness(0%) invert(100%);
    margin-top: 2px;
}

#participantList .tableListRow .email {
    margin-left: 20px;
    color: var(--warning);
    display: none;
}

.whiteCircleInRow {
    font-size: smaller;
    padding: 9px 0 0 0;
    text-align: center;
    background-color: white;
    border-radius: 18px;
    color: var(--pr);
    min-width: 36px;
    max-width: 36px;
    height: 36px;
    display: inline-block;
}

.whiteCircleInRow.warning{
    font-weight: 700;
}

.whiteCircleInRow.ok{
    background-color: var(--cgreen) !important;
    color: white;
}

.flex {
    display: flex;
}

.scroll {
    overflow-y: auto;
}
/*Login specific styles*/

#login {
    width: 550px;
    height: auto;
    box-shadow: 0 0px 10px 1px var(--textgrey);
    margin: 200px auto 0px auto;
    background-color: var(--prdark);
    flex-flow: row wrap;
    border-radius: 10px;
}

    #login header {
        flex: 1 100%;
        border-radius: 10px 10px 0px 0px;
        background-color: var(--pr);
        display: flex;
        align-items: center;
        padding: 10px 0px;
    }

        #login header img {
            vertical-align: middle;
        }

        #login header h1 {
            display: block;
            text-align: center;
            width: calc(100% - 160px);
            color: white;
        }

    #login #sidebar img {
        width: 100px;
        margin: 40px auto;
    }

    #login #wrapper {
        box-shadow: none;
        flex: 3 430px;
        background-color: var(--prwhite);
        padding: 20px;
        border-radius: 0px 0px 10px 10px;
    }

    #login input {
        width: 100%;
        margin: 4px 0;
    }

    #login label {
        margin: 14px 10px;
        display: inline-block;
    }

    #login .text {
        padding: 14px;
    }

    #login .button {
        font-weight: normal;
        width: 100%;
        display: block;
    }

        #login .button img {
            width: 30px;
            vertical-align: middle;
            margin: -10px 20px -5px 20px;
        }

    #login #message p {
        width: 100%;
        margin-top: 20px;
    }

    #login #message, .warning {
        color: var(--warning);
    }

    #login #resetPass, #login #resetSecret {
        display: none;
    }

        #login #resetSecret div {
            text-align: center;
        }

.warningBack {
    background-color: var(--warning);
}

.warningBorder {
    border: 1px solid var(--warning);
}

#login #message p {
    padding: 10px;
}

.tableWarning {
    color: var(--warning);
}

.nowrap {
    white-space: nowrap;
}
/*Intake/Report*/
#enroll #result {
    height: calc(100% - 170px);
    padding: 20px;
}

a.excel {
    display: block;
    width: 35px;
    height: 35px;
    border-radius: 35px;
    text-align: center;
    padding-top: 5px;
    cursor: pointer;
    background-color: darkgreen;
}

    a.excel img {
        width: 25px;
        height: 25px;
    }

    .hide, .hidden, a.excel.hidden {
        display: none;
    }
/*Feedback page specific styles*/
#feedback #result {
    height: calc(100% - 94px);
    padding: 20px;
    display: flex;
    flex-flow: row wrap;
    align-content: flex-start;
    overflow-y: hidden;
    position: relative;
}

.indicatorBlock {
    flex: 0 1 auto;
    width: 200px;
    height: 200px;
    background-color: var(--prwhite);
    border: 2px solid var(--pr);
    margin: 20px;
    cursor: pointer;
    border-radius: 10px;
    display: flex;
    flex-flow: column nowrap;
    justify-content: space-around;
}

    .indicatorBlock.selected {
        width: 100%;
        height: 100%;
        cursor: default;
        margin: 0;
        max-width: 1200px;
        justify-content: flex-start;
    }

    .indicatorBlock.hidden {
        display: none;
    }

    .indicatorBlock.selected .indicatorTitleInfo {
        display: none;
    }

    .indicatorBlock:not(.selected):hover {
        background-color: var(--pr);
        color: white;
    }

    .indicatorBlock > div:not(.indicatorDetails) {
        padding: 0px 10px;
        display: flex;
        flex-flow: row nowrap;
        justify-content: space-between;
    }

    .indicatorBlock.selected .indicatorTitleRow {
        padding: 10px;
    }

    .indicatorBlock .indicatorTitleRow div {
        display: flex;
        align-items: center;
    }

    .indicatorBlock .tableListRow {
        background-color: white;
        border-color: var(--prwhite);
    }

.indicatorTitle {
    font-size: 30pt;
    padding: 2px 10px;
}

.indicatorBlock > div.indicatorTitleInfo:nth-child(2) {
    flex-flow: column wrap;
}

.selected .indicatorTitleText {
    align-content: center;
}

.indicatorTitleText {
    font-size: 13pt;
    text-align: right;
    padding: 5px;
}

.indicatorHistory {
    padding-right: 10px;
}

.indicatorPrognosisText {
    align-self: flex-start;
    overflow: hidden;
    text-overflow: ellipsis;
}

.indicatorPrognosis {
    font-size: 30pt;
    padding: 0px 10px;
    align-self: flex-end;
}

.indicatorBlock .indicatorDetails {
    display: flex;
    flex-flow: row wrap;
    overflow-y: scroll;
}

    .indicatorBlock .indicatorDetails > div {
        display: flex;
        flex-flow: column nowrap;
        flex: 1 0 100%;
        padding: 10px;
    }

.indicatorBlock:not(.selected) .indicatorDetails {
    display: none;
}

#feedback #filterList .tableListSearchField {
    width: 100%;
    display: flex;
    padding: 5px 0px;
    justify-content: space-between;
    gap: 10px;
}

#feedback #filterList .tableListSearchField [type='search']{
    flex: 1 1 auto;
}

#feedback #filterList .tableListSearchField .button{
    border-radius: 50%;
}

.tableListButtons.markers div,
.tableListButtons.markerExplanation div {
    display: block;
    flex: none;
}

:not(:hover) .tableListButtons.markers div {
    background-color: initial;
}

.tableListButtons.markerExplanation div {
    background-color: var(--prdark);
    cursor: default;
}

.tableListButtons div .explanation,
#studentsList .tableListRow .cube .explanation,
.studentCardItem#studentWellbeing .studentCardItemIndicator > .explanation {
    display: none;
    position: relative;
    color: white;
    font-weight: 400;
    background-color: var(--prdarkopaque);
    height: 36px;
    border-radius: 18px;
    padding: 7px;
}

.tableListButtons div .explanation {
    width: 200px;
    margin-top: -50px;
    margin-left: -93px;
}

.studentCardItem#studentWellbeing .studentCardItemIndicator > .explanation {
    width: 130px;
    margin-top: -65px;
    margin-left: -50px;
    cursor: default;
}

.tableListButtons div:hover .explanation,
.studentCardItem#studentWellbeing .studentCardItemIndicator:hover > .explanation {
    display: block;
}

.tableListButtons.markers div.careSign {
    padding: 6px 8px;
    background-color: white;
    color: var(--warning);
    font-weight: 700;
    border: 0.5px solid;
}

.tableListButtons.markers .scoreLine {
    height: 54px;
    border-radius: 0px;
}

    .tableListButtons.markers .scoreLine.first {
        height: 44px;
        border-radius: 18px 18px 0px 0px;
        margin-top: 6px;
    }

    .tableListButtons.markers .scoreLine.last {
        height: 45px;
        border-radius: 0px 0px 18px 18px;
        margin-bottom: 9px;
    }

#feedback #indicatorPrognosis, #feedback #indicatorHistory {
    flex: 1 0 50%;
}

#prognosisFirstBlock {
    flex-flow: column wrap;
    height: 102px;
    cursor: pointer;
}

    #prognosisFirstBlock:hover {
        background-color: var(--pr);
        color: white;
    }

    #prognosisFirstBlock > div {
        padding: 0px;
        height: 50%;
        width: 65%;
    }

        #prognosisFirstBlock > div:not(:last-child) > div:last-child {
            flex: 0 1 auto;
            min-width: 75px;
        }

        #prognosisFirstBlock > div:last-child {
            width: 35%;
            flex-flow: row wrap;
        }

            #prognosisFirstBlock > div:last-child > div {
                height: 50%;
                justify-content: center;
            }

#studentsList.indicatorStudents .tableList {
    /*height: 155px;*/
}

/*Exam page specific styles*/
#exam #result {
    height: calc(100% - 94px);
    padding: 20px;
    display: flex;
    flex-flow: row wrap;
    align-content: flex-start;
}

#examsList {
    flex: 0 1 calc(80% - 10px);
    margin-top: 10px;
    margin-left: 10px;
}

#exam #filterList {
    flex: 0 1 calc(20% - 10px);
}

#exam .filterChoice {
    border-top: 3px solid white;
    height: 51px;
}

#examsList .quickScope,
#feedback #studentsList .quickScope{
    position: relative;
}

#examsList .quickScope img,
#feedback #studentsList .quickScope img{
    z-index: 1;
}

#examsList .quickScope .explanation,
#feedback #studentsList .quickScope .explanation{
    position: relative;
    display: none;
    top: 0px;
    left: -42px;
    height: 36px;
    width: 200px;
    border-radius: 18px;
    padding: 7px;
    background-color: var(--warningopaque);
    color: white;
    margin-right: -200px;
    padding-left: 42px;
}

#examsList .quickScope:hover .explanation,
#feedback #studentsList .quickScope:hover .explanation{
    display: block;
}

#examsList .quickScope:hover img,
#feedback #studentsList .quickScope:hover img{
    filter: brightness(0) invert(1);
}

#examsList .tableListButtons > div,
.examCardItem .tableListButtons > div{
    display: flex;
    flex: 0 1 auto;
    padding: 8px;
}

#examsList .tableListButtons > div span,
#examsList .tableListButtons > div div{
    display: none;
    margin-left: 5px;
}

#examsList .tableListButtons > div div span{
    color: white;
    background-color: var(--warning);
    font-weight: normal;
    justify-content: center;
}

#examsList .tableListButtons > div:hover,
#examsList .tableListButtons > div.selected{
    width: 225px;
}

#examsList .tableListButtons > div:hover span,
#examsList .tableListButtons > div.selected span,
#examsList .tableListButtons > div:hover div,
#examsList .tableListButtons > div.selected div
{
    display: flex;
}

#examsList .tableListButtons > div > span:hover{
    background-color: initial;
}

#examsList .tableListRow:not(.unclickable):hover .tableListButtons > div,
#examsList .tableListRow:not(.unclickable):hover .tableListButtons > div div {
    background-color: white;
    color: var(--pr);
}

#examsList .tableListRow:not(.unclickable):hover .tableListButtons img {
    filter: none;
}

#examCardNavigation div:first-child span{
    display: block;
    width: 225px;
}

#examCardItems{
    display: flex;
    flex-flow: row wrap;
    justify-content: space-between;
    gap: 20px;
}

.examCardItem{
    width: auto;
    flex: 1 2 30%;
}

/*Present multi-use*/
#filterList {
    flex: 0 1 calc(30% - 10px);
    margin-top: 10px;
    margin-right: 10px;
}

.filterSelector {
    display: flex;
    flex-flow: column nowrap;
    align-items: normal;
    cursor: pointer;
}

.filterSelector.open {
    height: initial;
}

.filterSelector.open .filterDropdown {
    transform: rotate(180deg);
}

.filterSelector:not(.open) .filterChoice:not(.chosen) {
    display: none;
}

.filterSelector .filterChoice {
    display: flex;
    justify-content: space-between;
    padding: 8px;
}

:not(.tableListHeader).filterSelector .filterChoice {
    background-color: var(--prwhite);
}

.filterSelector .filterChoice div{
    display: flex;
    justify-content: space-between;
    align-items: center;
}

.filterSelector .filterChoice img:not(.filterDropdown){
    width: 25px;
    margin-left: 4px;
    margin-right: 10px;
}

.filterSelector .filterChoice.chosen {
    order: -1;
}

.filterSelector .filterChoice.chosen,
.filterSelector .filterChoice:hover
{
    background-color: var(--pr);
    color: white;
}

.filterSelector .filterChoice.chosen img,
.filterSelector .filterChoice:hover img
{
    filter: brightness(0) invert(1);
}

.tableListHeader.filterSelector .filterChoice:not(.chosen):hover {
    background-color: var(--prdark);
}

.filterChoice:not(.chosen) .filterDropdown {
    display: none;
}

#studentsList:not(.indicatorStudents) {
    flex: 0 1 calc(70% - 10px);
    margin-top: 10px;
    margin-left: 10px;
    max-height: 100%;
    scrollbar-gutter: stable;
}

    #studentsList:not(.indicatorStudents) .tableListHeader {
        position: sticky;
        top: 0;
        z-index: 2;
    }

#studentCard, #examCard {
    display: flex;
    flex-flow: column nowrap;
    height: 100%;
}

#studentCardNavigation, #examCardNavigation {
    display: flex;
    flex-flow: row nowrap;
    justify-content: space-between;
    margin: 20px;
    align-items: center;
}

#studentCardNavigation div:first-child,
#examCardNavigation div:first-child{
    width: 54px;
    height: 54px;
    line-height: 49px;
    padding: 5px;
}

#studentCardNavigation .flex,
#examCardNavigation .flex
{
    min-width: 50%;
    justify-content: space-between;
    align-items: center;
}

#studentCardItems {
    display: flex;
    flex-flow: row wrap;
    justify-content: space-between;
    align-content: flex-start;
    height: calc(100% - 96px);
    overflow-y: auto;
}

.studentCardItem {
    flex: 0 1 auto;
    width: 250px;
    min-height: 250px;
    background-color: var(--prwhite);
    border: 2px solid var(--pr);
    margin: 10px;
    border-radius: 10px;
    display: flex;
    flex-flow: column nowrap;
    padding: 10px;
    order: 2;
    cursor: default;
}

.studentCardItem.selected{
    order: 9;
    flex: 1 1 100%;
}

.studentCardItem.unselected {
    height: 75px;
    min-height: 75px;
}

.studentCardItem.unselected .studentCardItemTitle > div {
    display: none;
}

.studentCardItem:not(.disabled):not(.selected):hover {
    background-color: var(--pr);
    color: white;
    cursor: pointer;
}

.studentCardItem .studentCardItemTitle {
    display: flex;
    flex-flow: column nowrap;
    height: 100%;
    gap: 5px;
}

.studentCardItem .studentCardItemDetails{
    display: none;
    flex: 1 1 auto;
    flex-flow: row wrap;
    gap: 10px;
}

.studentCardItem.selected .studentCardItemDetails{
    display: flex;
}

.studentCardItem.selected .studentCardItemTitle {
    height: auto;
}

.studentCardItem.selected .studentCardItemTitle div{
    display: none;
}

.studentCardItem .studentCardItemTitle > div{
    display: flex;
    flex-flow: row nowrap;
    align-content: baseline;
    justify-content: space-between;
}

.studentCardItem .studentCardItemTitle > div:first-child{
    justify-content: flex-start;
}

.studentCardItem .studentCardItemTitle > h3{
    font-size: 20pt;
    margin-bottom: 5px;
}

.studentCardItem .studentCardItemTitle > div > span {
    align-content: center;
}

.studentCardItem .studentCardItemTitle .big {
    font-size: 30pt;
}

.studentCardItem .studentCardItemTitle .center {
    margin: 0px auto;
    
}

.studentCardItem .studentCardItemIndicator{
    display: inline-block;
    margin-left: 0px;
    color: white;
    align-self: center;
    cursor: default;
}

.studentCardItem#studentPrognosis {
    flex: 1 0 calc(100% - 20px);
    order: 0;
    min-height: 96px;
}

.studentCardItem#studentPrognosis .studentCardItemTitle,
.studentCardItem#studentPrognosis .studentCardItemDetails{
    flex-flow: row nowrap;
    justify-content: space-between;
}

.studentCardItem#studentPrognosis .studentCardItemTitle > div,
.studentCardItem#studentPrognosis .studentCardItemDetails > div{
    display: block;
    align-content: center;
}

.studentCardItem#studentPrognosis .studentCardItemTitle > div,
.studentCardItem#studentPrognosis .studentCardItemDetails > div{
    display: block;
    align-content: center;
}

.studentCardItem#studentPrognosis .studentCardItemTitle > div > div,
.studentCardItem#studentPrognosis .studentCardItemDetails > div > div{
    padding: 5px;
}

.studentCardItem#studentPrognosis .studentCardItemDetails{
    max-height: 98px;
}

.studentCardItem .tableListRow{
    background-color: white;
    border-color: var(--prwhite)
}

.studentCardItem#studentCare #studentCareSwitch{
    display: flex;
    width: 100%;
    align-items: baseline;
    gap: 20px;
}

.studentCardItem#studentCare #studentCareFacilities, 
.studentCardItem#studentCare #studentCarePlans {
    width: calc(50% - 5px);
}

.studentCardItem#studentGrades .studentCardItemTitle > div > div:first-child{
    white-space: nowrap;
    overflow: hidden;
    text-overflow: ellipsis;
}

.studentCardItem#studentGrades .tableList{
    width: calc(25% - 15px);
    flex-flow: column wrap;
    height: 160px;
    gap: 0px 20px;
}

.studentCardItem#studentGrades .tableListRow {
    height: 40px;
}

.studentCardItem#studentGrades .tableListRow div:first-child {
    flex: 1 1 400px;
}

.studentCardItem#studentGrades .tableListRow div:last-child{
    justify-content:right;
}

.studentCardItem#studentIndicators:not(.unselected){
    min-height: 100px;
}

.studentCardItem#studentIndicators .studentCardItemDetails > div{
    width: 350px;
}

.studentCardItem#studentIndicators .tableListHeader .studentCardItemIndicator{
    cursor:pointer;
}

.studentCardItem#studentIndicators .tableListRow:last-child{
    cursor:pointer;
}

.studentCardItem#studentIndicators .tableListRow div:first-child{
    flex: 1 1 auto;
}

.studentCardItem#studentIndicators .tableListRow div:last-child{
    flex: 0 1 50px;
    justify-content: center;
}

.studentCardItem#studentWellbeing .studentCardItemIndicator.warning{
    border: 1px solid var(--warning);
    color: var(--warning);
    background-color: white;
}

.studentCardItem#studentWellbeing .studentCardItemDetails > div{
    width: 100%;
    display: flex;
}

.studentCardItem#studentWellbeing .studentCardItemDetails > div span {
    display: block;
    margin: 0px 5px 0px 5px;
    cursor: pointer;
}

.studentCardItem#studentWellbeing .studentCardItemDetails > div span:not(.explanation):first-child {
    width: 200px;
    align-content: center;
    cursor: default;
}

.studentCardItem#studentWellbeing .studentCardItemDetails .studentCardItemIndicator.o.selected,
.studentCardItem#studentWellbeing .studentCardItemDetails .studentCardItemIndicator:not(.disabled).o:hover{
    background-color: var(--oa);
}

.studentCardItem#studentWellbeing .studentCardItemDetails .studentCardItemIndicator.t.selected,
.studentCardItem#studentWellbeing .studentCardItemDetails .studentCardItemIndicator:not(.disabled).t:hover{
    background-color: var(--t);
}

.studentCardItem#studentWellbeing .studentCardItemDetails .studentCardItemIndicator.g.selected,
.studentCardItem#studentWellbeing .studentCardItemDetails .studentCardItemIndicator:not(.disabled).g:hover{
    background-color: var(--g);
}

.studentCardItem#studentWellbeing .studentCardItemDetails .studentCardItemIndicator:not(.selected) {
    /*background-color: #7dbce0;*/
}

.studentCardItem#studentWellbeing .studentCardItemDetails .studentCardItemIndicator.disabled {
    cursor: default;
}

.studentCardItem#studentWellbeing .studentCardItemDetails .studentCardItemIndicator.disabled:not(.selected) {
    background-color: transparent;
    color: var(--textgrey);
    border: 1px solid var(--textgrey);
}

.totalScoreContainer {
    display: flex;
    flex-flow: row nowrap;
    justify-content: space-between;
    width: 240px;
    gap: 10px;
}

.totalScoreContainer div{
    width: 50px;
    height: 50px;
    border-radius: 25px;
    text-align: center;
    padding: 13px;
    border: 1px solid var(--pr);
    cursor: pointer;
}

.totalScoreContainer div.badishT, .totalScoreContainer div.badish {
    border-color: var(--oa);
}
.totalScoreContainer div.mehT, .totalScoreContainer div.meh {
    border-color: var(--t);
}
.totalScoreContainer div.niceishT, .totalScoreContainer div.niceish {
    border-color: var(--va);
}
.totalScoreContainer div.radT, .totalScoreContainer div.rad {
    border-color: var(--g);
}

.totalScoreContainer div.badishT:hover{
    background-color: var(--oa);
    color: white;
}

.totalScoreContainer div.mehT:hover {
    background-color: var(--t);
    color: white;
}

.totalScoreContainer div.niceishT:hover {
    background-color: var(--va);
    color: white;
}

.totalScoreContainer div.radT:hover {
    background-color: var(--g);
    color: white;
}

/*Dashboard/Tasks specific styles*/
#enroll section {
    padding: 0px;
}

section td {
    border-bottom: 1px solid var(--backgrey);
    background-color: white;
    height: 50px;
}

section thead td:first-child {
    border-top-left-radius: 10px;
}

section thead td:last-child {
    border-top-right-radius: 10px;
}

section td:first-child {
    padding-left: 15px;
}

section a {
    text-decoration: none;
}

section:not(#menu) a:not(.button):hover {
    text-decoration: underline;
}
/*Enroll specific style items*/

#activityList .tableListRow div.quickScope {
    min-width: 360px;
    max-width: 360px;
    justify-content: space-between;
}

#activityList .tableListRow div.mainText {
    padding-left: 30px;
}
/*#itemDetails [name=itemTitle],*/
#itemDetails [name=itemSearchTitle],
#itemDetails [name=itemDescription] {
    width: 100%;
}

#itemDetails h2, #itemDetails [name="itemTitle"] {
    margin-bottom: 0;
}
/*#itemDetails #itemDetailsTitleRow span.editInfo{
    width: 75%;
}*/

#itemDetailsTitleRow {
    display: flex;
    flex-flow: row nowrap;
    align-items: baseline;
}

    #itemDetailsTitleRow h2.viewInfo,
    #itemDetailsTitleRow h2:last-of-type,
    #itemDetailsTitleRow span.editInfo {
        flex: 8 0 auto;
    }

    #itemDetailsTitleRow [name="itemTitle"] {
        width: 90%;
    }

#itemDetails td {
    padding: 15px 5px;
}

#itemDetails .viewInfo {
    white-space: pre-wrap;
    max-height: 80px;
    display: inline-block;
    overflow-y: auto;
}

#itemDetails .editInfo {
    display: none;
}

#itemDetails .hide {
    display: none;
}

#itemDetails .editInfo input.disabled {
    border: 0;
    cursor: default;
}

#itemDetails .button, #searchEnrollButtons .button,
#reportButtons #closePopup, .indicatorTitleRow .button,
#studentCardNavigation .button, #examCardNavigation .button{
    width: 54px;
    height: 54px;
    border-radius: 27px;
    padding: 0;
}

#itemDetails #saveItem {
    vertical-align: top;
}

    #itemDetails #saveItem img,
    #itemDetails #saveFeedback img,
    #itemDetails #saveGradingComment img {
        margin-top: 10px;
        width: 33px;
        filter: brightness(0) invert(100%);
    }

#participantList {
    max-height: calc(100% - 450px);
}

#reportButtons {
    display: flex;
    justify-content: space-between;
}

#reportDiv, #searchEnrollResult {
    height: calc(100% - 74px);
    overflow-y: auto;
}


    #reportDiv table th {
        border-bottom: 1px solid black;
    }

    #reportDiv table td {
        border: 1px solid black;
    }

#searchEnrollButtons {
    display: flex;
    justify-content: space-between;
}

#searchEnrollResult .tableListRow div.quickScope .whiteCircleInRow {
    margin-left: 0px;
    margin-right: 20px;
}
/*Switchessss*/
.switch {
    position: relative;
    display: inline-block;
    width: 60px;
    height: 34px;
}

    .switch input {
        opacity: 0;
        width: 0;
        height: 0;
    }

.slider {
    position: absolute;
    cursor: pointer;
    top: 0;
    left: 0;
    right: 0;
    bottom: 0;
    background-color: #646464;
    -webkit-transition: .4s;
    transition: .4s;
    border-radius: 20px;
}

    /*.slider:before {
        position: absolute;
        content: "";
        height: 26px;
        width: 26px;
        left: 4px;
        bottom: 4px;
        background-color: white;
        -webkit-transition: .4s;
        transition: .4s;
        border-radius: 13px;
    }*/

input:checked + .slider {
    background-color: var(--pr);
}

input:focus + .slider {
    box-shadow: 0 0 1px var(--pr);
}

input:checked + .slider:before {
    -webkit-transform: translateX(26px);
    -ms-transform: translateX(26px);
    transform: translateX(26px);
}
/*Dropdown*/
.dropdown {
    width: 400px;
    display: flex;
    flex-flow: column;
    border: 1px solid var(--pr);
    border-radius: 7px;
    background-color: white;
    position: relative;
}

.dropdown a, .dropdown .ddContainer span, .dropdown .ddTitle {
    flex: 0 0 54px;
    display: flex;
    flex-flow: row nowrap;
    text-decoration: none;
    align-items: center;
    cursor: pointer;
    padding: 0px 20px;
}

.dropdown a:hover {
    text-decoration: none;
}

.dropdown .ddTitle span {
    padding: 10px;
}

.dropdown .ddTitle span:not(:last-child) {
    flex: 0 1 100%;
}

.dropdown .ddTitle span:last-child {
    text-align: center;
    flex: 1 0 24px;
}

.dropdown .ddTitle .ddChoices {
    overflow-x: hidden;
    white-space: nowrap;
    text-overflow: ellipsis;
}

.dropdown.unfolded .ddTitle .ddChoices {
    white-space: normal;
}

.dropdown .ddContainer {
    flex-flow: column;
    display: none;
    overflow-y: auto;
    scrollbar-width: thin;
    max-height: 300px;
    position: relative;
}

.dropdown.unfolded .ddContainer {
display: flex;
}

.dropdown.unfolded .ddTitle {
    border-bottom: 1px solid var(--pr);
}

.dropdown.unfolded {
    align-self: flex-start;
    z-index: 1;
    box-shadow: 0px 0px 10px 1px #bbb;
}

.dropdown.unfolded .ddTitle span:last-child {
    transform: rotate(180deg);
}

.dropdown a,.dropdown .ddContainer span {
    border-top: 1px solid var(--prwhite);
}

.dropdown a.selected, .dropdown a:hover,
.dropdown .ddContainer span.selected, .dropdown .ddContainer span:hover {
    background-color: var(--pr);
    color: white;
}

.dropdown.warning {
    border-color: var(--warning);
}

.dropdown.warning .ddTitle {
    color: var(--warning);
    font-weight: normal;
}

.dropdown.disabled {
    border: 1px solid white;
}

.dropdown.disabled .ddTitle {
    text-align: right;
    cursor: default;
}

.dropdown.disabled .ddTitle span:last-child {
    display: none;
}

.blockswitch {
    background-color: white;
    position: relative;
    border-radius: 18px;
    cursor: pointer;
    height: 38px;
    display: flex;
    flex-flow: row nowrap;
    border: 1px solid var(--pr);
    width: fit-content;
}

.blockswitch.disabled {
    cursor: default;
}

.blockswitch.disabled .switchOption:not(.selected){
    display: none;
}

.blockswitch.disabled .switchOption{
    margin-right: 2px;
}


.blockswitch .slider {
    position: absolute;
    display: block;
    top: 2px;
    width: 52px;
    height: 32px;
    background-color: var(--pr);
    border-radius: 16px;
    z-index: 1;
    -webkit-transition: .4s;
    transition: .4s;
}

.blockswitch .slider.one {
    left: 2px;
}

.blockswitch .slider.two {
    left: 54px;
}

.blockswitch .switchOption {
    text-align: center;
    width: 54px;
    height: 32px;
    z-index: 2;
    position: relative;
    color: var(--pr);
    padding: 7px;
}

.blockswitch .switchOption.selected {
    color: white;
}

.loadingCircleContainer{
    width: 100%;
}

.loadingCircle {
    border: 3px solid ghostwhite;
    border-top: 3px solid var(--pr);
    border-radius: 50%;
    width: 31px;
    height: 31px;
    animation: spin 2s linear infinite;
    margin: 10px auto;
}

@keyframes spin {
    0% {
        transform: rotate(0deg);
    }

    100% {
        transform: rotate(360deg);
    }
}

@media print {

    @page {
        margin: 10mm;
        size: auto;
    }

    #sidebar, header, #buttons, footer {
        display: none;
    }

    section {
        margin: initial;
    }

    html, #result, #main, .mainPage, #wrapper, #popupCanvas, #popup {
        height: 2500px;
    }

        #result table, #popupCanvas table {
            page-break-inside: auto;
        }

    #popupCanvas {
        padding: 0px;
    }

    #popup {
        width: 100%;
    }

    #result table tr, #popupCanvas table tr {
        page-break-inside: avoid;
        page-break-before: auto;
    }

    #result table .tableSubRow {
        page-break-before: avoid;
    }
}

@media only screen and (max-width: 1000px) {
    .tableListHeader, .tableListRow {
        height: auto;
        min-height: 51px;
    }

    .tableListButtons a {
        display: block;
        background-color: var(--pr);
    }

    #itemDetails #editFeedback,
    #itemDetails [name=returnToGoalsForm] {
        font-size: 14pt;
    }
}

@media only screen and (max-width: 800px) {
    .mainPage {
        flex-flow: column nowrap;
    }

    #activityList .tableListRow div.quickScope {
        min-width: auto;
        max-width: auto;
    }

    #sidebar {
        flex: 1 0px;
        width: initial;
        min-width: 100%;
        max-width: initial;
        display: flex;
        flex-flow: row wrap;
        align-items: center;
        justify-content: space-between;
    }

        #sidebar .bigDevice {
            display: none;
        }

        #sidebar .smallDevice {
            display: block;
        }

        #sidebar #menuButton img {
            height: 40px;
            width: initial;
        }

        #sidebar > p:last-child {
            position: unset;
            display: block;
            width: 40px;
            color: var(--pr);
        }

        #sidebar #presentLogo img.smallDevice {
            height: 40px;
            width: initial;
            margin-left: 20px;
            filter: brightness(100);
        }

        #sidebar nav {
            display: none;
            position: fixed;
            width: 100%;
            height: calc(100% - 90px);
            top: 60px;
            left: 0;
            background-color: var(--pr);
            overflow: auto;
            scrollbar-width: none;
        }

            #sidebar nav a {
                border-radius: 0;
            }

                #sidebar nav a span {
                    display: block;
                    border-radius: 0;
                    font-size: 14pt;
                    background-color: var(--pr);
                    color: white;
                    box-shadow: none;
                    padding: 20px;
                }

                #sidebar nav a:hover span, #sidebar nav a.focus span {
                    background-color: white;
                    color: var(--pr);
                }

                #sidebar nav a img {
                    width: 24px;
                    margin-left: 4px;
                }

    #main #menu h2, #main #menu #adminSelector {
        margin: auto;
    }

    [name=userSearch] {
        text-align: center;
    }
}
