@import "colors.css?v=4";

body {
  width: 98vw;
  height: 97vh;
  background: var(--background-light);
  color: var(--text-dark);
  font-family: var(--serif-text);
  overflow-y: auto;
  overflow-x: hidden;

}

.m1 { background: var(--m1); }
.m2 { background: var(--m2); }
.m3 { background: var(--m3); }

.color {
  background: var(--m1);
  color: var(--text-light);
} .color:nth-of-type(2) {
  background: var(--m2);
} .color:nth-of-type(3) {
  background: var(--m3);
} .color:nth-of-type(4) {
  background: var(--accent-gold);
}

menu {
  padding: 0;
  margin: 0;
}

sessinf {
  display: block;
  height: 8rem;
  margin-top: 1rem;
  overflow-x: scroll;
  color: var(--accent);
}

container {
  display: block;
  position: absolute;
  width: 80vw;
  height: 100vh;
  left: 10vw;
  transition: .5s;
}

container.menu {
  left: 20vw;
}

navigation {
  display: block;
  position: fixed;
  top: 0;
  left: 0;
  width: 14vw;
  height: 100%;
  padding: 0 0;
  margin: 0;
  font-family: var(--sans-text);
  text-align: center;
  transition: .5s;
}

navigation menu {
  display: block;
  position: absolute;
  top: 6rem;
  left: 1.75vw;
  width: 3.5rem;
  margin: 0;
  padding: 0;
}

navigation menu user {
  display: none;
}

#pagelogo {
  display: block;
  position: relative;
  top: 1.25rem;
  left: 2vw;
  width: 3.5rem;
  height: 3.5rem;
  background-image: url("img/dissemity_text.png");
  background-size: cover;
  background-position: right;
  background-repeat: no-repeat;
  cursor: pointer;
  transition: .3s;
  z-index: 2000;
}

#pagelogo:hover {
  width: 4rem;
  height: 4rem;
  margin-top: -.25rem;
  margin-left: -.25rem;
} #pagelogo:hover::after {
  color: var(--accent);
} #pagelogo::after {
  display: none;
  position: absolute;
  top: 4rem;
  content: attr(alt);
  font-family: var(--sans-bold);
}

theline {
  display: block;
  position: fixed;
  top: 3rem;
  left: calc(3rem + 2vw);
  z-index: 1000;
  right: calc(2vw + 2rem);
  height: 1px;
  background: var(--accent);
  transition: .5s;
}

side {
  display: block;
  position: fixed;
  font-family: var(--sans-text);
  top: 0;
  right: 0;
  width: 2vw;
  height: 100vh;
  z-index: 1300;
}

side.active {
  width: 20vw;
  z-index: 2300;
}

side_content {
  display: block;
  position: absolute;
  top: 7rem;
  right: calc(3.5vw + 3rem);
  width: calc(10vw - 3rem);
}

right_box label {
  display: block;
  position: fixed;
  right: 2.5vw;
  top: 2rem;
  width: 2rem;
  height: 1.75rem;
  border-radius: 1rem;
  font-family: var(--sans-bold);
  text-transform: uppercase;
  line-height: 1.5rem;
  background: var(--accent-grad);
  color: var(--text-light);
  text-align: center;
  padding-top: .25rem;
  cursor: pointer;
  z-index: 1300;
  transition: .5s;
} right_box label:hover {
    background: var(--accent);
    width: 2.5rem;
    height: 2rem;
    padding-top: .5rem;
    border-radius: 2.5rem;
    margin-right: -.25rem;
    margin-top: -.25rem;
  } right_box label:hover::after {
    text-transform: lowercase;
    content: attr(alt);
  }

side sidebar {
  display: block;
  position: absolute;
  padding: 3rem 2vw;
  width: calc(7vw + 1rem);
  top: 5rem;
  right: 0;
  height: calc(100vh - 10rem);
  color: var(--text-dark);
  transition: .5s;
  overflow-y: auto;
  overflow-x: hidden;
} .splitscreen side sidebar {
  width: calc(2vw + 1rem);
}

side_disc {
  display: block;
  position: absolute;
  top: 3.5vh;
}

#temp_top {
  display: block;
  user-select: none;
  color: transparent;
  font-size: 2rem;
} feedback #temp_top { 
  display: none; 
}

/* MENUBAR */

menubar {
  display: block;
  position: fixed;
  top: 0;
  left: calc(15vw - 3.5rem);
  padding: 0;
  padding-left: 3rem;
  width: 80vw;
  height: 3rem;
  background: var(--background-light);
  color: var(--text-dark);
  box-shadow: 0 0 .5rem 0 var(--background-light);
  transition: .5s;
  z-index: 999;
}

.splitscreen menubar {
  left: calc(11vw - 3.5rem);
}

.menu menubar, .menu searchbar {
  left: calc(18vw - .5rem);
}

#select {
  position: relative;
  display: inline-block;
  top: 1.5rem;
  border: none;
  outline: none;
  border-radius: 0;
  cursor: pointer;
  background: url("img/open_button.png");
  background-position: bottom;
  background-size: cover;
  color: var(--text-dark);
  width: 1.5rem;
  height: 1.3rem;
  transition: none;
}

@-moz-document url-prefix() {
    #select{
        top: .9rem;
    }
}

#select:hover, .manager #select {
  background-position: top;
}

.manager #select:hover {
  background-position: bottom;
}

menubar #filename {
  position: relative;
  width: 30vw;
  top: 1.5rem;
  background: none;
  border: 1px solid transparent;
  outline: none;
  font-family: var(--sans-text);
  font-weight: 600;
  font-size: 1rem;
  transition: .3s;
}

menubar #filename:focus {
  color: var(--accent);
}

menubar #filename.active {
  color: var(--m3);
}

.splitscreen menubar #filename {
  width: 17vw;
}

menubar #filename + space::before {
  content:'';
  width:4vw;
  height:1rem;    
  position:absolute;
  left: calc(35vw - 3rem);
  top:2rem;
  background:linear-gradient(90deg, transparent, var(--background-light-solid));
  z-index: 9999;
}

.splitscreen menubar #filename + space::before {
  left: calc(22vw - 3rem);
}

menubar #filename + space::after {
  display: block;
  position: absolute;
  top: 3.2rem;
  color: var(--text-dark-em-hover);
  font-family: var(--sans-text);
  font-size: .9rem;
  padding-left: 2rem;
  z-index: 999999;
}

menubar #filename:hover + space::after {
  content: "rename";
}

menubar #filename:focus + space::after {
  content: "press return to save name change";
}

menubar section {
  display: block;
  position: absolute;
  left: 18rem;
  top: calc(1.8rem - 2px);
}

menubar.page section {
  left: auto;
  right: 10vw;
  transition: right .3s;
}

.splitscreen menubar.page section {
  right: 20vw;
}

menubar .imrd input ~ span,
searchbar .imrd input ~ span {
  position: relative;
  background: transparent;
  color: var(--text-dark);
  font-weight: normal;
  padding: 0 1.5rem;
  margin-left: -.5rem;
  border-radius: 0 .5rem 0 0;
  width: auto;
  border-right: 1px solid var(--accent-light);
}

menubar .imrd input ~ span:hover,
searchbar .imrd input ~ span:hover {
  background: transparent;
  color: var(--accent);
}

menubar .imrd input:checked ~ span, 
menubar .imrd input:checked ~ span:hover,
searchbar .imrd input:checked ~ span, 
searchbar .imrd input:checked ~ span:hover {
  z-index: 99999;
  border-color: var(--accent-light);
  background: var(--accent-grad);
  color: var(--text-light);
  padding: 0 1.5rem;
  border-radius: .5rem .5rem 0 0;
}

section .imrd input + span.comment::after {
  display: block;
  position: absolute;
  top: 0rem;
  right: .3rem;
  font-family: 'Material Icons';
  font-size: .7rem;
  content: "chat";
  -webkit-font-feature-settings: 'liga';
  color: var(--m3);
} section .imrd input:checked + span.comment::after {
  color: var(--lighten);
}


span rem,
hl rem,
opt rem,
note rem {
  display: block;
  opacity: 0;
  position: absolute;
  width: 1rem;
  height: 1rem;
  font-size: .8rem;
  line-height: .8rem;
  text-align: center;
  color: var(--text-light);
  background: var(--background-dark);
  border-radius: .5rem;
  text-indent: 0;
  top: -.3rem;
  left: -.5rem;
  cursor: pointer;
}

span rem::before,
hl rem::before,
opt rem::before,
note rem::before {
  content: "x";
}

span:hover rem,
hl:hover rem,
opt:hover rem,
note:hover rem {
  opacity: 1;
}

span rem:hover,
hl rem:hover,
opt rem:hover,
note rem:hover {
  background: var(--accent-purple);
}

/* ANNOTATE & EDITOR */
ed_wrapper, annotate document {
  display: inline-block;
  position: absolute;
  top: 3rem;
  left: 4vw;
  right: 4vw;
  bottom: 0;
  padding: 2rem;
  outline: none;
  border: 1px dotted var(--accent-purple);
  box-shadow: var(--page-shadow);
  background: #fff;
  font-family: var(--sans-text);
  font-size: 1.15rem;
  line-height: 2rem;
  letter-spacing: .08rem;
  overflow-y: scroll;
  transition: top .5s;
} .splitscreen ed_wrapper, 
  .splitscreen annotate document, 
  .splitscreen lesson {
  left: 0;
  right: 30vw;
}

.splitscreen explore.blank searchbar {
  left: calc(4vw + 1rem);
  right: calc(34vw + 2rem);
  width: auto;
  background: transparent;
}
.splitscreen explore.blank #query_sel {
  width: 25vw;
}
.splitscreen explore.blank #query_sub {
  width: calc(20vw - 1rem);
}

.splitscreen explore {
  left: 0vw;
  right: 30vw;
  width: auto;
}

.splitscreen left {
  display: none;
}
.splitscreen right {
  padding-left: 0;
  width: auto;
  right: 0;
  left: 0;
  font-size: .94rem;
}

.manager annotate document, .manager ed_wrapper, .manager side{
  top: 13rem;
} 

.manager right_box label {
  top: 12rem;
}

annotate document.blur, ed_wrapper.blur {
  filter: blur(.25rem);
} annotate document.blur h1,
  annotate document.blur h2,
  annotate document.blur p {
    opacity: .6;
  }

/* TEMPLATES */

feedback templates step {
  display: block;
  counter-reset: step-counter;
}

templates step label,
templates step label.m1,
templates step label.m2,
templates step label.m3 {
  display: block;
  background: transparent;
}

templates step label.m1 { color: var(--m1); }
templates step label.m2 { color: var(--m2); }
templates step label.m3 { color: var(--m3); }

templates step label add_temp {
  display: inline-block;
  margin-left: .5rem;
  padding: .25rem .5rem;
  border-radius: .5rem;
  background: transparent;
  color: var(--text-dark);
  font-size: .5rem;
  font-weight: bold;
  text-align: center;
  transition: .3s;
  cursor: pointer;
}

templates step label add_temp:hover {
  color: var(--text-light);
  background: var(--accent);
}

templates step saved {
  background: transparent;
  display: block;
  position: relative;
  width: calc(100% - 2rem);
  margin-left: 1rem;
  padding: .25rem .5rem;
  border-radius: .25rem;
  transition: .3s;
}

templates step saved::before {
  display: block;
  position: absolute;
  top: .5rem;
  left: -.5rem;
  counter-increment: step-counter;
  content: counter(step-counter);
  color: var(--text-dark-em-hover);
  border-radius: .5rem;
  width: 1rem;
  height: 1rem;
  font-size: .7rem;
}

templates del_com, 
templates new_com, 
templates good {
  display: none;
}

.grade step saved del_com:first-of-type {
  display: none;
}

.grade saved del_com {
  display: block;
  position: absolute;
  width: 1rem;
  height: 1rem;
  border: 1px solid transparent;
  border-radius: .25rem;
  right: 1rem;
  margin-top: -1.5rem;
  font-size: .5rem;
  text-align: center;
  z-index: 2001;
  transition: .3s;
  cursor: pointer;
}

.grade saved del_com:hover{
  border: 1px solid var(--accent);
}

.grade saved good {
  display: block;
  position: absolute;
  width: 1rem;
  height: 1rem;
  left: -1.4rem;
  font-size: .8rem;
  margin-top: .1rem;
  cursor: pointer;
}

.grade saved good:hover {
  color: #0a0;
}

.grade saved[score='good'] good {
  color: #fff;
}

.grade step new_com {
  display: block;
  padding-left: 1.5rem;
  border-radius: 1rem;
  transition: .3s;
  color: var(--m3);
}

.grade step new_com[contenteditable="true"] {
  outline: none;
  background: var(--highlight);
}






templates saved[score='good']{
  border-radius: .5rem;
  background: #dfd;
}

templates saved[score='good']::before {
  display: block;
  position: absolute;
  width: 1.5rem;
  left: -1.5rem;
  margin-top: -.25rem;
  content: "✅ " counter(step-counter);
}

templates saved del_pat {
  display: block;
  position: absolute;
  right: 1rem;
  top: .5rem;
  width: 0rem;
  border-radius: .25rem;
  text-align: center;
  font-size: .6rem;
  font-weight: bolder;
  text-transform: uppercase;
  color: transparent;
  cursor: pointer;
  transition: .3s;
  z-index: 3000;
}

templates saved:hover del_pat {
  color: var(--accent);
  width: 3rem;
}

templates step saved del_pat:hover {
  background: var(--accent);
  color: var(--text-light);
}

templates step saved comment, bar comment {
  display: block;
  position: relative;
  background: transparent;
  text-indent: 1rem;
  color: var(--text-dark-em);
  transition: .3s;
}

templates step saved comment::before, bar comment::before {
  content: attr(user)": ";
  color: var(--accent);
}

templates step saved comment:nth-last-of-type(n+2),
templates step saved comment:nth-last-of-type(n+2) ~ comment {
  padding: .25rem .5rem;
  background: var(--background-med);
}

templates step saved comment:first-of-type {
  border-radius: .5rem .5rem 0 0;
  text-indent: 0;
  color: var(--text-dark);
  border-bottom: none;
}

templates step saved comment:first-of-type::before {
  display: none;
}

templates step saved comment:last-of-type {
  border-radius: 0 0 .5rem .5rem;
}

templates comment[contenteditable="true"],
templates step saved comment:nth-last-of-type(n+2)[contenteditable="true"] {
  background: var(--highlight);
  border-radius: .25rem;
  outline: none;
  padding: .25rem .5rem;
}

templates step .newpatternbox {
  display: block;
  padding: .25rem;
  margin: .5rem 0;
  outline-color: var(--accent);
  background: var(--highlight);
  color: var(--text-dark);
}

save_temp {
  display: block;
  position: fixed;
  top: calc(50vh - 3rem);
  height: auto;
  left: 25vw;
  right: 25vw;
  padding: 1rem;
  background: var(--background-light);
  border-radius: .25rem;
  box-shadow: var(--shadow);
  font-family: var(--sans-text);
  z-index: 2000;
}

save_temp label {
  color: var(--accent);
}

save_temp #sent {
  background: var(--background-light);
  color: var(--text-dark);
  padding: .5rem;
  margin: .5rem 0;
  border: 1px solid var(--border-dark);
  outline: none;
}

save_temp #sent:focus {
  border-color: var(--accent);
  background: var(--highlighter);
}

save_temp #save {
  display: block;
  width: calc(50vw - 2rem);
  padding: .5rem;
  text-align: center;
  background: var(--accent);
  color: var(--text-light);
  border: none;
  outline: none;
  font-family: inherit;
  cursor: pointer;
  transition: .3s;
}

save_temp #save:hover {
  background: var(--highlight);
  color: var(--text-dark);
}

save_temp.video {
  top: 0;
  left: 0;
  bottom: 0;
  right: 0;
  background: transparent;
  text-align: center;
}

save_temp.video overlay {
  display: block;
  position: absolute;
  top: 0;
  left: 0;
  bottom: 0;
  right: 0;
  z-index: 3000;
  background: var(--background-dark);
  opacity: .7;
}

save_temp.video iframe {
  position: relative;
  margin-top: 10vh;
  z-index: 4000;
}

save_temp.video notes {
  display: block;
  position: absolute;
  bottom: 10vh;
  left: 30vw;
  right: 30vw;
  text-align: left;
  font-size: 1.2rem;
  line-height: 1.4rem;
  font-family: var(--sans-text);
  height: 30vh;
  padding: 1rem;
  background: var(--highlight);
  z-index: 4000;
}

save_temp.video notes:focus {
  outline: var(--accent);
}

/* SCROLL */


.imrd input { display: none; }

.imrd input ~ span {
  display: inline-block;
  width: 1.2rem;
  height: 1.4rem;
  margin: 0 0rem;
  background: var(--background-dark);
  color: var(--text-light);
  border-radius: .6rem;
  text-align: center;
  font-family: var(--sans-text);
  font-weight: bold;
  font-size: 1rem;
  line-height: 1.4rem;
  cursor: pointer;
  transition: .5s;
  user-select: none;
}

.imrd input ~ span:hover {
  background: var(--background-med);
  color: #000;
}

.imrd input:checked ~ span {
  background: var(--accent);
  color: #fff;
}

imrd_tip {
  display: block;
  position: absolute;
  top: 1.5rem;
  right: 0;
  left: 0;
  color: var(--accent);
  font-family: var(--sans-text);
  font-size: .8rem;
  font-weight: bold;
  text-align: center;
}

/* TEMP START STUFF */

description button {
  display: block;
  outline: none;
  border: none;
  border-radius: .5rem;
  width: inherit;
  margin: 1rem 0;
  padding: .5rem 0;
  font-size: 2rem;
  background: var(--background-dark);
  color: var(--text-light);
  transition: .3s;
  cursor: pointer;
}

description button:hover {
  background: var(--accent);
}


/* TEACHER AND ADMIN SPECIFIC */


user_menu {
  display: block;
  position: fixed;
  right: 14vw;
  left: 14vw;
  z-index: 10000;
  height: 2rem;
  bottom: 0;
  background: var(--background-med);
  color: var(--text-dark);
  overflow: hidden;
  box-shadow: none;
  font-family: var(--sans-text);
  text-align: center;
  border-top: 1px solid var(--text-dark);
}

.splitscreen user_menu {
  left: 10vw;
  right: 40vw;
}


user_menu.active {
  left: 0;
  right: 0;
  height: calc(60vh);
  border: none;
  box-shadow: var(--shadow);
  background: var(--background-dark);
  color: var(--text-light);
  overflow-y: auto;
  overflow-x: hidden;
}

user_menu top_bar {
  display: block;
  background: transparent;
  transition: .3s;
  cursor: pointer;
} user_menu.active top_bar {
  position: sticky;
  top: 0;
  background: var(--accent);
  padding: .5rem;
} user_menu:not(.active) top_bar:hover {
  background: var(--m1-light);
}

#search_users, user_menu close, user_menu rem {
  display: none;
} user_menu.active #search_users, user_menu.active close, user_menu.active rem {
  display: inline-block;
  border: none;
  outline: non;
  background: var(--background-lighter);
  border-radius: 2rem;
  padding: .5rem 1rem;
} #search_users {
  margin: 0 1rem;
}

user_menu.active close, user_menu.active rem {
  display: inline-block;
  background: var(--m1);
  box-shadow: inset 0 0 0rem .2rem var(--text-light);
  cursor: pointer;
  font-family: var(--sans-bold);
} user_menu.active close:hover, user_menu.active rem:hover {
  background: var(--accent-purple);
  cursor: pointer;
}

user_menu.active rem {
  position: absolute;
  right: .4rem;
  top: .4rem;
  font-size: .5rem;
  line-height: .5rem;
  padding: .4rem;
}

user_menu.active user.self rem {
  display: none;
}

user_menu h1 {
  display: inline-block;
  position: relative;
  padding: .5rem;
  margin: 0;
  font-family: var(--sans-bold);
  font-size: 1rem;
  font-weight: lighter;
  line-height: 1rem;
  text-align: center;
  color: var(--text-dark);
  transition: .3s ease;
} user_menu.active h1 {
  border-radius: 1rem;
  background: var(--m1-light);
  color: var(--text-dark);
  padding: .5rem 1rem;
}

user_menu.active user:not(.self) {
  display: inline-block;
  padding-right: 1.5rem;;
}

user_menu h1 user {
  color: var(--m2);
}

user_menu.active h1 user{
  color: var(--text-light);
}

user_menu student {
  display: none;
  cursor: pointer;
  transition: .3s;
} user_menu student:nth-of-type(2n) {
  background: var(--lighten);
}

user_menu.active class.current student,
user_menu.active class.teacher.result_all student,
user_menu.active class.current.result_all student,
user_menu.active class.result student.result,
user_menu.active class.result_all student,
user_menu.active class.result_all.result student {
  display: block;
}

user_menu student.active {
  background: var(--highlight);
  color: var(--text-dark);
}

user_menu student:hover, user_menu class.teacher:hover {
  color: var(--m1-light);
}

user_menu.active class {
  display: block;
  margin: 0 auto;
  width: 100%;
  padding: .25rem;
  border-radius: .4rem;
  border: 1px dotted var(--text-dark);
  cursor: pointer;
} user_menu.active.search class {
  display: none;
} user_menu.active.search class.result,
  user_menu.active.search class.result_all {
    display: block;
  }
  
  user_menu.active.search {
    background: var(--highlighter);
    color: var(--text-dark);
  } user_menu.active.search class.teacher,
    user_menu.active.search class.current {
      background: transparent;
  } user_menu.active.search close {
    color: var(--text-light);
  }

user_menu.active class.teacher {
  background: var(--background-med);
  color: var(--text-dark);
}

user_menu.active class.teacher.current {
  background: var(--background-light);
}

user_menu.active class::before {
  display: block;
  content: attr(course) " (" attr(size) " students)";
  text-align: center;
  font-family: var(--sans-bold);
} user_menu.active class:hover::before {
  color: var(--accent);
}

user_menu class::before {
  display: none;
}


save_info {
  display: none;
}


/* COMMENTS */


comment_box {
  display: none;
  position: fixed;
  top: 20vh;
  right: 5vw;
  height: auto;
  max-height: 50vh;
  overflow-y: scroll;
  width: 20vw;
  background: var(--background-lighter);
  box-shadow: var(--shadow);
  z-index: 19000;
  border-radius: .5rem;
}

comment_box.active {
  display: block;
}

comment_box.active::before {
  display: block;
  padding: .25rem .5rem;
  content: "COMMENTS";
  font-family: var(--sans-bold);
  border-bottom: 1px dashed var(--background-lighter);
  font-weight: bold;
  background: var(--accent);
  color: var(--text-light);
  font-size: .8rem;
  letter-spacing: .1rem;
}

comment_box close {
  display: block;
  position: absolute;
  top: 0;
  right: 0;
  padding: 0 .5rem .25rem .5rem;
  background: var(--accent);
  color: var(--text-light);
  font-family: var(--sans-bold);
  cursor: pointer;
  transition: .3s ease;
}

comment_box close:hover {
  background: var(--accent-light);
}






/* course progress information box */

info_box {
  display: block;
  width: 50vw;
  position: fixed;
  top: 3rem;
  left: 25vw;
  padding: 0 1rem;
  border-radius: 0 0 .5rem .5rem;
  background: var(--accent-grad);
  font-family: var(--sans-text);
  z-index: 2000;
  transition: .3s;
}

info_box.active {
  padding: 1rem;
}

info_box h1 {
  display: none;
  color: var(--text-light);
  text-transform: capitalize;
}

info_box quiz {
  display: none;
  width: auto;
  height: auto;
  position: relative;
  top: 0;
  left: 0;
  box-shadow: none;
  border: none;
  background: var(--background-light);
  padding: .5rem;
  margin: .25rem;
  border-radius: .25rem;
}

info_box.active quiz, info_box.active h1 {
  display: block;
}

info_box quiz.taken {
  color: var(--accent-green);
}

info_box quiz.taken::before {
  content: "✓ ";
}

info_box quiz sect {
  text-transform: capitalize;
}



/* HELP */

help {
  display: none;
  position: fixed;
  top: 4rem;
  left: 5vw;
  width: calc(20vw - 2rem);
  height: calc(83vh - 2rem);
  padding: 1rem;
  background: var(--background-dark);
  color: var(--text-light);
  z-index: 10000;
  box-shadow: var(--shadow-small-hover);
  font-family: var(--sans-text);
  font-size: 1rem;
}

help exp {
  color: var(--highlighter);
  font-size: .9rem;
  padding-top: .5rem;
  display: block;
}

help ol {
  counter-reset: help-counter;
}

help ol li {
  list-style: none;
  padding-bottom: 1rem;
  cursor: pointer;
}

help ol li exp {
  color: #888;
  font-size: .9rem;
  padding-top: 0;
}

input.help,
input.help:disabled,
preview.help textarea,
preview.help textarea.active,
newdoc div.help,
section.help,
#edit.help {
  box-shadow: var(--shadow-green);
  background: var(--highlight);
}

help ol li::before {
  display: block;
  width: 1.5rem;
  height: 1.4rem;
  padding-top: .1rem;
  position: absolute;
  left: 1rem;
  counter-increment: help-counter;
  content: counter(help-counter);
  text-align: center;
  border-radius: 1rem;
  
  background: var(--accent-gold);
  color: var(--text-light);
}

help ol li:hover::before {
  background: var(--accent-green);
}

help ol li:hover exp {
  color: var(--accent-green);
}

help ol li edit {
  display: inline-block;
  color: var(--accent-blue-light);
  -moz-transform:    scaleX(-1); /* Gecko */
  -o-transform:      scaleX(-1); /* Opera */
  -webkit-transform: scaleX(-1); /* Webkit */
  transform:         scaleX(-1); /* Standard */
}

help_link {
  color: var(--accent-blue);
  text-decoration: underline;
}

help_link:hover {
  color: var(--accent-blue-light);
}

newdoc.help {
  right: 5vw;
  left: 25vw;
  
}

clean {
  display: none;
  position: fixed;
  top: 8rem;
  right: calc(5vw + 1rem);
  width: 43vw;
  height: 68vh;
  padding: 1rem;
  overflow-x: scroll;
  background: var(--background-lighter);
  color: var(--text-dark);
  z-index: 1000011;
  box-shadow: var(--shadow-small);
  font-family: var(--sans-text);
  font-size: 1rem;
}

clean.active {
  display: block;
}

#close_clean {
  display: block;
  position: absolute;
  top: .5rem;
  right: .5rem;
  border: none;
  outline: none;
  border-radius: .5rem;
  color: var(--text-light);
  background: var(--accent-blue);
  font-family: var(--sans-bold);
  cursor: pointer;
  transition: .3s;
}

#close_clean:hover {
  background: var(--accent);
}

clean h1 {
  font-size: 1.5rem;
  color: var(--accent-green);
}

clean h1:first-of-type {
  padding-top: 0;
  margin-top: 0;
}

clean h2 {
  font-size: 1.3rem;
}

clean text {
  display: block;
  position: relative;
  background: var(--highlighter);
  font-family: var(--serif-text);
  height: 6rem;
  padding: .5rem;
  cursor: pointer;
}

clean text:after {
  display: block;
  position: absolute;
  bottom: 0;
  right: .5rem;
  font-size: .8rem;
  color: var(--text-dark-em-hover);
  content: "  Mouseover for demonstration";
  text-transform: uppercase;
  font-family: var(--sans-text);
}

clean text line {
  display: block;
}

clean text:hover line {
  display: inline;
  border-right: 2px dotted var(--m2);
}

clean text:hover sen::after {
  content: " ";
  border-right: 2px dotted var(--m2);
}


/*

FEEDBACK BOX

*/



feedback {
  display: block;
  display: none;
  position: fixed;
  padding: 1rem;
  padding-top: 3rem;
  padding-right: calc(4rem + 2vw);
  width: calc(40vw - 7.25rem);
  top: 3.25rem;
  right: 0;
  bottom: 0;
  overflow: scroll;
} .manager feedback {
  top: 13.25rem;
}

feedback review {
  display: block;
  font-family: var(--sans-text);
  font-style: italic;
  text-align: center;
  padding-bottom: 1rem;
  border-bottom: 1px dotted var(--accent);
}

feedback review vote.material-icons {
  display: inline-block;
  color: var(--good);
  font-size: 1.2rem;
  width: 1.2rem;
  user-select: none;
  text-align: center;
  margin-left: .5rem;
  cursor: pointer;
  transition: font-size .3s;
} vote[eval='bad'].material-icons {
  color: var(--bad);
} vote.material-icons:hover {
  color: var(--accent);
} vote.jump.material-icons {
  font-size: 1.5rem;
} vote.material-icons.marked {
  color: var(--accent);
} 

vote[eval='good'].selected {
  border-radius: .6rem;
  padding: .1rem;
  background: var(--good);
  color: #fff;
} vote[eval='bad'].selected {
  border-radius: .6rem;
  padding: .1rem;
  background: var(--bad);
  color: #fff;
} 

/*
vote {
  display: inline-block;
  width: 1.4rem;
  height: 1.4rem;
  margin-left: .5rem;
  cursor: pointer;
  background-image: url("img/Unclicked Thumbs Up.png?v=2");
  background-size: cover;
  background-position: right;
  background-repeat: no-repeat;
} vote[eval='bad'] {
  background-image: url("img/Unclicked Thumbs Down.png");
} vote[eval='good'].selected {
  background-image: url("img/Clicked Thumbs Up.png");
} vote[eval='bad'].selected {
  background-image: url("img/Clicked Thumbs Down.png");
} vote.selected {
  width: 1.6rem;
  height: 1.6rem;
  padding: -.1rem;
}
*/

feedback generative sentence {
  display: block;
  font-family: var(--sans-bold);
  color: var(--accent-purple);
}

feedback generative response {
  display: block;
  padding: 1rem;
  padding-top: 0;
  line-height: 1.4rem;
}

feedback note {
  display: block;
  padding: 1rem;
  margin: .5rem 0;
  background: var(--highlighter);
  box-shadow: var(--page-shadow);
}

feedback note highlight,
feedback note comment {
  display: block;
  width: fit-content;
  padding: .25rem .5rem;
  padding-top: .5rem;
} feedback note highlight::before,
  feedback note comment::before {
  content: "HIGHLIGHT";
  font-size: .8rem;
  display: block;
  font-family: var(--sans-bold);
} feedback note comment::before {
  content: "NOTE";
} feedback note highlight {
  background: var(--highlight);
  padding-top: .25rem;
}

feedback reflect question {
  display: block;
  padding-top: 1rem;
}

feedback reflect textarea {
  display: block;
  outline: none;
  border: none;
  border-radius: .25rem;
  margin-top: .5rem;
  padding: .5rem;
  font-size: 1rem;
  width: calc(40vw - 8rem);
  background: var(--background-lighter);
  transition: .3s;
} feedback reflect textarea:focus {
  background: var(--highlighter);
} reflect textarea.saving {
  background: var(--m3-trans);
}


#submit_reflection, #reflect_submit {
  display: block;
  padding: .5rem 1rem;
  margin-top: .5rem;
  border: 0;
  outline: none;
  border-radius: .4rem;
  background: var(--accent);
  color: var(--text-light);
  font-family: var(--sans-bold);
  cursor: pointer;
} #submit_reflection:hover, #reflect_submit:hover {
  background: var(--m1-light);
}

#reflect_submit {
  margin: 1rem 0 .5rem auto;
  background: var(--accent-purple);
  transition: .3s;
} #reflect_submit:hover {
  background: var(--accent-purple);
  letter-spacing: .2rem;
} #reflect_submit:disabled {
  background: var(--background-med);
  letter-spacing: 0;
}

load {
  display: block;
  font-family: var(--sans-text);
  font-size: 1.2rem;
  color: var(--accent-purple);
  text-align: center;
  animation: blinker 4s linear infinite;
  letter-spacing: .1rem;
  padding-bottom: 1rem;
}

@keyframes blinker {
  25% {
    color: var(--m2);
  }
  50% {
    letter-spacing: .5rem;
    color: var(--m1);
  }
  75% {
    color: var(--m3);
  }
}

feedback pane { display: none; }

feedback pane.active { display: block; }

side side_tabs {
  display: block;
  position: absolute;
  top: 0;
  right: calc(2vw + 1.5rem);
  transform: translateX(50%);
  text-align: center;
  bottom: 0;
  width: 3rem;
  padding: .5rem;
  border-radius: .4rem 0 0;
}

side side_tabs button,
navigation button,
side close {
  display: block;
  position: relative;
  width: 3rem;
  padding: .5rem 0;
  color: var(--text-dark);
  background: transparent;
  border: none;
  outline: none;
  margin-bottom: 1rem;
  cursor: pointer;
  transition: .3s;
}

side side_tabs button[for='reflect'].reflect::after {
  display: block;
  position: absolute;
  top: 0;
  right: 0;
  color: var(--m3);
  font-size: 1rem;
  content: "check";
}

navigation button.teacher {
  color: var(--m2);
}

side close {
  text-align: center;
}

side side_tabs button[for='instructor']{
  font-size: 1.5rem;
}

navigation button.material-icons {
  border-radius: 2rem;
  width: 2rem;
  font-size: 1rem;
}

side side_tabs button.active {
  font-size: 2rem;
} navigation button.active,
  navigation button:not(.active):hover {
  font-size: 1.5rem;
  padding: .25rem 0;
}

navigation button.color.active {
  outline: .2rem solid var(--m1);
  box-shadow: inset 0 0 .1rem .1rem var(--background-lighter);
} navigation button.color:nth-of-type(2).active {
  outline: .2rem solid var(--m2);
} navigation button.color:nth-of-type(3).active {
  outline: .2rem solid var(--m3);
} navigation button.color:nth-of-type(4).active {
  outline: .2rem solid var(--accent-gold);
}

navigation button.color tip {
  color: var(--m1);
} navigation button.color:nth-of-type(2) tip {
  color: var(--m2);
} navigation button.color:nth-of-type(3) tip {
  color: var(--m3);
} navigation button.color:nth-of-type(4) tip {
  color: var(--accent-gold);
} 

side side_tabs button:not(.active):hover,
side close:hover {
  font-size: 2rem;
  padding: .25rem 0;
}

side side_tabs button.active:hover tip {
  display: none;
}

side side_tabs button tip,
side close tip,
navigation button tip,
right_box label:hover::after,
#_pagelogo:hover::after {
  display: none;
  font-family: var(--sans-bold);
  font-size: 1rem;
  padding: .6rem .25rem;
  z-index: 99999;
  position: absolute;
  right: 3rem;
  top: 0;
  color: var(--text-dark);
}

side side_tabs button tip,
right_box label:hover::after {
  color: var(--text-dark);
  border: none;
  border-radius: .25rem;
  font-size: .9rem;
  padding: .25rem .5rem;
  right: 2.5rem;
}

navigation button tip {
  left: 2.25rem;
}

side side_tabs button:hover tip,
side close:hover tip,
navigation button:hover tip,
right_box label:hover::after,
#_pagelogo:hover::after {
  display: block;
} 

navigation button.active:hover tip {
  left: 2.5rem;
}

right_box label:hover::after {
  font-size: .9rem;
  line-height: 1rem;
  z-index: 99999;
  top: 2rem;
  right: auto;
  width: 5rem;
  left: -6rem;
}

#_pagelogo:hover::after {
  position: absolute;
  left: 3.75rem;
  top: 1.75rem;
  right: auto;
  width: auto;
  font-size: 1rem;
}

.dashboard navigation button tip {
  display: block;
  color: var(--text-dark);
  background: transparent;
}

.dashboard navigation button:hover tip {
  color: var(--accent);
  background: var(--background-light);
}

feedback loading {
  display: block;
  width: 20vw;
  height: 15vw;
  margin: 0 auto;
  background-image: url("img/loading_orbit.gif");
  background-size: cover;
  background-position: right;
  background-repeat: no-repeat;
}

feedback label {
  display: block;
  color: var(--accent-purple);
  font-family: var(--sans-bold);
  text-transform: uppercase;
  letter-spacing: .1rem;
}

feedback label.note {
  margin-top: 1rem;
}

feedback label.s_disc {
  text-transform: initial;
  font-size: .9rem;
}

feedback input ~ span {
  color: var(--text-dark);
  display: block;
  width: 100%;
  cursor: pointer;
}

feedback span:hover {
  background: var(--accent-purple);
  color: var(--text-light);
}

feedback input:checked ~ span {
  background: var(--accent);
  color: var(--text-light);
  padding: 0 .5rem;
}

feedback input:disabled ~ span {
  color: var(--accent-blue-light);
}

feedback disc_box {
  display: block;
  height: 50vh;
  width: calc(60vw - 2rem);
  overflow: hidden auto;
}

feedback #disc_sub {
  display: block;
  border: none;
  outline: none;
  position: relative;
  border-radius: .4rem;
  background: var(--accent-purple);
  color: var(--text-light);
  left: calc(30vw - 1.5rem);
  transform: translateX(-50%);
  margin-top: .5rem;
  padding: .25rem .5rem;
  font-family: var(--sans-bold);
  cursor: pointer;
  transition: .3s;
} feedback #disc_sub:hover {
  background: var(--accent-blue);
}

feedback vidbox {
  display: block;
  width: inherit;
  text-align: center;
}

feedback vidbox label {
  text-align: left;
}

feedback vidbox iframe {
  margin-top: 1rem;
  width: calc(38vw - 4rem);
  height: 19vw;
}

feedback matches {
  display: block;
  padding-bottom: 1rem;
  margin: 1rem 0;
  border-bottom: 1px dotted var(--accent);  
}

feedback matches label {
  display: block;
  font-size: 1rem;
  margin-bottom: 1rem;
}

feedback match_box {
  display: inline-block;
  border: 1px dotted var(--accent);
  border-radius: .25rem;
  text-align: center;
  vertical-align: top;
}

feedback match_buts {
  display: flex;
  flex-direction: column;
}

feedback match_box h1 {
  font-size: .8rem;
  font-family: var(--sans-bold);
  padding: 0 .5rem;
}

feedback match_box button {
  border: none;
  outline: none;
  background: var(--accent);
  color: var(--text-light);
  font-family: var(--sans-text);
  letter-spacing: .05;
  height: 1.25rem;
  cursor: pointer;
}

feedback match_box button:last-of-type {
  border-radius: 0 0 .25rem .25rem;
}

feedback match_box button:hover {
  background: var(--m1-light);
}

feedback #add_hum_comment {
  display: block;
  position: absolute;
  top: 5rem;
  left: 5rem;
}

feedback human_feedback {
  position: absolute;
  bottom: 1rem;
} feedback human_feedback::before{
  content: 'instructor feedback';
  display: block;
}



#show_notes {
  display: block;
  position: absolute;
  right: 1rem;
  bottom: 1rem;
  background: var(--highlight);
  color: var(--accent-dark);
  border: none;
  outline: none;
  padding: 1rem;
  border-radius: .2rem;
  cursor: pointer;
}

#show_notes:hover {
  background: var(--highlighter);
}

feedback sent {
  display: none;
  padding-bottom: 1rem;
  margin-bottom: 1rem;
  border-bottom: 1px solid var(--accent);  
  position: relative;
  color: var(--accent-purple);
  font-family: var(--sans-text);
  font-size: .9rem;
} feedback sent span:hover {
  background: transparent;
  color: var(--accent-purple);
}

feedback sent em {
  text-decoration: underline;
}

feedback sent::before,
feedback comments::before,
feedback patterns::before {
  content: "SELECTED SENTENCE";
  display: block;
  text-align: left;
  color: var(--accent-purple);
  font-family: var(--sans-bold);
  font-size: 1rem;
  letter-spacing: .1rem;
  padding-bottom: 1rem;
}

feedback patterns::before{
  content: "LANGUAGE PATTERNS";
}

feedback patterns p {
  margin: .25rem 0;
  padding: 0;
  font-family: var(--sans-text);
}

feedback patterns li {
  display: inline-block;
  margin-right: .25rem;
  padding: .25rem;
  color: var(--accent-purple);
  font-family: var(--sans-text);
}

feedback comments {
  display: block;
  position: relative;
  background: var(--background-lighter);
  border-radius: .25rem;
  margin: 1rem 0;
  overflow: auto;
  border: 1px dotted #3335;
}

feedback comments.only {
  position: absolute;
  min-width: 50vw;
  bottom: 1rem;
  right: 1rem;
  left: 1rem;
  min-height: 7rem;
}

feedback comments box {
  display: block;
  max-height: 15rem;
  overflow: auto;
  margin-bottom: 2.75rem;
}

feedback comments::before {
  position: sticky;
  top: 0;
  padding: .25rem .5rem;
  width: inherit;
  background: inherit;
  content: "INSTRUCTOR COMMENTS";
}

feedback comments comment {
  display: block;
  position: relative;
  padding: .25rem .5rem;
  font-family: var(--sans-text);
}

feedback comments sentence.active {
  display: block;
  padding: .5rem;
  background: var(--highlighter);
}

feedback comments comment:hover {
  background: var(--highlighter);
}

feedback comments comment::before {
  color: var(--accent-purple);
  content: attr(user) ": ";
  font-family: var(--sans-bold);
}

comment del_but {
  display: block;
  position: absolute;
  right: 0;
  top: 0;
  padding: .25rem .5rem;
  margin-top: .25rem;
  margin-right: .25rem;
  border-radius: .25rem;
  background: var(--m2);
  color: var(--text-light);
  font-family: var(--sans-bold);
  font-size: .6rem;
  cursor: pointer;
  transition: .3s;
}

comment del_but:hover {
  background: var(--m2-light);
}

feedback #comm_submit {
  border: none;
  outline: none;
  display: inline-block;
  position: absolute;
  bottom: 0;
  width: calc(40vw - 8rem - 2px);
  padding: .25rem .5rem;
  margin: 0;
  margin-block: 0;
  border-top: 1px solid var(--accent-purple);
  background: var(--background-med);
  color: var(--text-dark);
  font-family: var(--sans-text);
  font-size: 1rem;
}

.only #comm_submit {
  width: calc(60vw - 16rem - 2px);
}

feedback #comm_submit:focus {
  background: var(--highlighter);
}

comments:has(#comm_submit:focus)::after {
  display: block;
  position: absolute;
  bottom: 2rem;
  left: 0;
  right: 0;
  font-size: .7rem;
  text-align: center;
  color: var(--accent-purple);
  opacity: .8;
  font-family: var(--sans-bold);
  content: "PRESS RETURN TO SUBMIT";
}

feedback p {
  font-family: var(--sans-bold);
}

feedback p em { color: var(--accent); }
feedback p em.bad { color: var(--bad); }
feedback p em.good { color: var(--good); }

feedback p vidbox {
  display: inline-block;
  float: right;
}

feedback patterns {
  display: block;
  background: var(--background-med);
  padding: .5rem;
  border: var(--accent-purple);
  border-radius: .25rem;
}

feedback .the_notes {
  display: block;
  padding: .5rem 1rem;
  background: var(--highlight);
  box-shadow: var(--shadow-small-frame);
  outline: none;
  margin-top: 1rem;
  min-height: 5rem;
  max-height: 12rem;
  width: calc(60vw - 8rem);
  resize: none;
  overflow: auto;
  line-height: 1.7rem;
}

feedback .the_notes:focus {
  background: var(--highlighter);
  box-shadow: var(--shadow-small-hover);
}

feedback #next_feedback, feedback #expand_feedback {
  position: relative;
  display: block;
  width: 24vw;
  border: 1px dotted var(--text-dark);
  border-radius: .4rem;
  cursor: pointer;
  background: var(--background-light);
  padding: .25rem;
  margin: 0 auto;
  margin-bottom: 1rem;
  transition: background .3s;
} feedback #next_feedback:hover, feedback #expand_feedback:hover {
  background: var(--background-med);
}
