/*General styles*/

@import url(https://fonts.googleapis.com/css?family=Karla:300);


:root{

--pr: #0f82c5;
--prdark: #04273b;
--prwhite: #e7f2f9;
--backgrey: #F2F2F2;
--middlegrey: #646464;
--textgrey: #404040;
--warning: #990909;

--pj: #003d6e;
--pjwarn: #DA006A;
--sv: #008cb4;
--svwarn: #63358b;
}

*{
    font-family: 'Karla', sans-serif;
    font-size: 14pt;
    margin: 0;
    box-sizing: border-box;
}

html {
    height: 100%;
}

body {
    background-color: white;
    height: 100%;
}

/*flexate the design*/

body {
    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-bottom-right-radius: 5px;
    border-bottom-left-radius: 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-right: 5px;
    margin-bottom: 0px;
}

#menu #eventSelector{
    margin: 10px 0px 10px 10px;
    
}

#menu .container{
    display: flex;
    align-items: center;
}

#menu .container{
    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: 1;
}

#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);
}

/*Division styling*/

#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);
}

.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%);
}

[name="addActivity"] span{
    display: none;
}

#buttons .button[name="addActivity"]:not(.disabled):hover{
    width: auto;
    padding-left:20px;
    padding-right:20px;
}

[name="addActivity"]:hover span{
    display: inline;
}

#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-top-left-radius: 10px;
    border-bottom-left-radius: 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-top-right-radius: 10px;
    border-bottom-right-radius: 10px;
    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;
}

.tableList .divider{
    margin: 3px 0px;
    height: 2px;
    background-color: var(--pr);
}

.tableListHeader.folded + .tableList{
    display: none;
}

.tableListHeader{
    display: flex;
    flex-flow: row nowrap;
    align-items: center;
    justify-content: space-between;
    cursor: pointer;
    height: 48px;
    color: white;
    background-color: var(--pr);
    padding: 8px;
    border-radius: 5px 5px 0px 0px;
}

.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;
}

.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:not(.unclickable).selected,
.clickable .tableListRow:not(.unclickable):hover{
    color: white;
    background-color: var(--pr);
    cursor:pointer;
}

.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.mainText{
    flex:2 2 auto;
}

.tableListHeader div.quickScope .whiteCircleInRow,
.tableListRow div.quickScope .whiteCircleInRow{
    margin-left: 20px;
}

.tableListButtons{
    display: flex;
    flex-flow: row nowrap;
    min-width: 100px;
    justify-content: flex-end;
}

.tableListButtons a{
    display: none;
    border-radius: 18px;
    width: 36px;
    height: 36px;
    padding: 6px 8px;
    color: white;
    text-align: center;
    margin-left: 10px;
    cursor: pointer;
    background-color: var(--pr);
}

.tableListHeader .tableListButtons span:hover,
.tableListHeader .tableListButtons a:hover,
.tableListRow .tableListButtons 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{
    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;
}

.scroll{
    overflow-y:scroll;
}

/*Login specific styles*/

body#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-top-right-radius: 10px;
    border-top-left-radius: 10px;
    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-bottom-right-radius: 10px;
    border-bottom-left-radius: 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;
}

#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);
}

/*Intake/Report page specific styles*/
#enroll #result{
    height: calc(100% - 144px);
    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;
}

/*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{
    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;
}

.dropdown a, .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{
    display: none;
    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 span:last-child{
    transform: rotate(180deg);
}

.dropdown a{
    border-top: 1px solid var(--prwhite);
}

.dropdown a.selected, .dropdown a: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;
}

@media print{

    @page {
        margin: 10mm;
        size: auto;
    }

    #sidebar, header, #buttons, footer {
        display: none;
    }

    section {
        margin: initial;
    }

    html, #result, #main, body, #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){
    body{
        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;
    }
    
}