/* Stunden-Plan additional style files */

/*
 * Admin Panel
 */
.fixedAdminPanel{
  position: fixed;
  top: -49px;
  left:30%;
  width: 40%;
  height:50px;
  z-index:4;
  background: #e6e6e6;
}
.btn-ctrl {
  position: absolute;
  bottom: -1.5em;
  left: 0;
}
.fixedAdminPanel #fixed-admin-panel-up {
  visibility: hidden
}
.studentGroups b {
  font-size: small;
}
/*
 * Student groups
 *
 */
.student-group {
  width:1.5em; height:1.5em;
  color: #aaa;
 }
.student-group-active {
  width:1.5em; height:1.5em;
  color: #000000;
}
a[aria-expanded=true] .student-group {
   display: none;
}
.student-group-text {
  color:black;
  font-weight: bold;
  font-size: small;
  vertical-align: bottom
}
a[aria-expanded=false] .student-group-active,
a[aria-expanded=false] .student-group-text {
   display: none;
}
a.student-group-id,
span.student-group-id
{
  float: left;
}
a.student-group-id:after,
span.student-group-id:after {
  content: ', ';
  color: #aaa;
  white-space: pre;
}
a.student-group-id:last-of-type:after,
span.student-group-id:last-of-type:after,
span.student-group-active:before,
div.student-groups:after {
    content:'';
    display:block;
    clear: both;
} /* linebreak after last group and before active group icon */

.old { color: #E4032D; text-decoration: line-through;}
.unchanged { color: #f90; }
.new { color: #6A8A26; text-decoration: underline;}

.PlanInfo { font-size:smaller; vertical-align: top; }
.PlanInfo i, .PlanInfo svg { margin: 0em .125em; }
.PlanInfo .student-group { width: 1.25em; height: 1em;}
.student { color: #000000; }
.student-light { color: #aaa; }
.student-group-active  .student-obl { color: #E4032D!important; }
.student-group-active  .student-wob { color: #f90!important; }
.student-group-active  .student-fak { color: #6A8A26!important; }
.student-group .student-obl,
.student-group .student-wob,
.student-group .student-fak,
.student-group .student-history,
.student-group .student-request,
.student-group .student-calculated
{ color: #000; }
.student-groups {
  font-size: smaller;
  line-height: 1.3em;
}
.student-group-name { font-size: smaller;}
.student-group-name:before { content:'('; }
.student-group-name:after { content:')'; }
/*
 * Structure and code numbers
 */
.space-right {
  margin-right: 0.5em;
}
.space-left {
  margin-left: 0.5em;
}
.space-divider {
  width: 100%;
  height: 1px;
}
.line-divider {
  background: #999;
  width: 100%;
  height: 1px;
}
span.lkstrnr {
  font-size: x-small;
  color: #aaa;
  display: table-cell;
  position:relative;
  /* top:1em; */
}
span.lkid {
  margin-left: auto;
  display: table;
  color: #a10b70 !important;
}
td span.lkid:after  { /* Line break before first module */
  content: "\A";
  white-space: pre;
}
span.module, span.week {
  color: #005E50;
  font-size: x-small;
}
span.V {font-weight: bold;}
span.module {
  position:relative;
  /* top:-1em; */
  display: table-cell;
}
span.week {
  display: block;
  margin: -1em 0;
  text-align: right;
}
.shiftActive {
  color: #005E50!important;
  font-style: italic;
}
span.teacher { display: table; font-size: smaller;}
span.module:after, span.teacher:after{ content: ', ';}
span.module:last-child:after, span.teacher:last-child:after { content: '';}
/*
 * Time and Room
 */
span.day-and-time, span.room {
  color:#000;
  margin-left:-.25em;
}
span.day-and-time a, span.room a{
  color:#000;
  margin-left:-.25em;
}
.btn-small {
  padding:0px 3px;
}
.adminpanel {
  top:0px;
}
.dataTables_filter {
  border: 1px solid #aaa;
  margin-bottom:3px;
  padding: 3px 10px;
  border-radius:8px;
}
.dataTables_filter input[type=search] {
  border: 0px;
  background-color: #ffffff;
}
.dataTables_filter label {
  border: 0px; margin:0px;
}
.adminpanel-block {
  padding: .2em 1ex;
  font-size: small;
  display: inline-block;
  text-align: center;
}

.signaturename {}
.position { font-size: smaller;}

.signature {
  border-bottom: 1px solid black;
  height: 30px;
}
.offtimeDetail { font-size: small; font-style: italic; color: #adadad;}
.right {
  float:right;
}
/*
 * Changes
 */
span.DataReplacedOld, span.unknown {
  color:#CC3311;
  text-decoration: line-through;
}
span.DataReplacedNew {
  color: #009988;
}
span.DBKey {
    font-weight: bold;
}
span.DBForeignKey {
  color: #005E50;
}
span.DBForeign {
  color: #005E50;
}
span.DBForeign:before {
  content:"foreign: ";
}
/* span.DataUnchanged {} */
/*
 * Stundenplan-Redesign
 */
table.SPTable {
  margin-bottom: 20px;
  width: 100%;
  background-color: inherit;
  max-width: 100%;
  border-collapse: collapse;
  border-spacing: 0;
  table-layout: fixed;
  word-wrap:break-word; 
}
table.SPTable>thead {
  border-top: 2px solid;
  border-bottom: 1px solid;
  border-color: #000;
  display: table-header-group;
}
table.SPTable thead tr th.suphead {
  border-bottom: 1px solid;
  border-color: #000;
  text-align: center;
}
table.SPTable thead tr th.subhead { font-size: small; font-weight: normal;}
table.SPTable tbody tr:nth-child(even) {
    background: #e6e6e6;
}
table.SPTable tbody tr.activated {
  color: #a10b70 !important;
  font-weight: bold;
}
table.SPTable tbody tr.exists {
  color: #999 !important;
}
table.SPTable tbody tr.intern { color:#adadad;}
table.SPTable tbody tr:nth-child(5n) {border-bottom: 1px solid; border-color: #000;}

table.SPTable tbody tr.dtrg-level-0 td { background: #fff; font-size: larger; font-weight: bold; border:0px; border-left: 3px solid #e6e6e6; }
table.SPTable tbody {
  border-bottom: 2px solid;
  border-color: #000;
}
table.SPTable td.minWidth {
    width: 10rem;
    white-space: nowrap;
}
dl.condensed {margin:0px;padding:0px;}
dl.condensed>dt {
  float: left;
  padding-right: 1em;
}
dd {margin-bottom: 10px};

@media print {
  .offtimeDetail { visibility:hidden; display:none;}
  a span.student-group { display:none; }
  span.student-group-active svg.fa-users { color: #aaa!important; }
  span.student-group-active svg.student-obl {
    color: #E4032D!important;
  }
  span.student-group-active svg.student-wob {
    color: #f90!important;
  }
  span.student-group-active svg.student-fak {
    color: #6A8A26!important;
  }
  a[aria-expanded=false] .student-group-active, a span.student-group-active {display:table-caption;}
  a[aria-expanded=false] .student-group-text {display:inherit;}
}

table.Plan {
  margin-bottom: 20px;
  width: 100%;
  background-color: inherit;
  max-width: 100%;
  border-collapse: collapse;
  border-spacing: 0;
  table-layout: fixed;
  word-wrap:break-word;
}

table.Plan>thead>th {
  font-weight: bold;
}
    
table.Plan>thead {
  border-top: 2px solid;
  border-bottom: 1px solid;
  border-color: #000;
  display: table-header-group;  
}
table.Plan>tbody {
  border-bottom: 2px solid;
  border-color: #000;
}

table.Plan tbody tr:nth-child(even) {
    background: #e6e6e6;
}
table.Plan tbody tr:nth-child(odd) {
    background: white;
}

/*
table.Plan tbody tr td:nth-child(1) {  
    text-align: center;
}
*/

abbr[title] {
  border-bottom: none !important;
  cursor: inherit !important;
  text-decoration: none !important;
}

table.lv_codes {
    border: 2px solid black;
    float: left;
}

table.lv_codes>thead td {
    border: 2px solid black;
    width:22px;
    height:22px;
    padding:1px;
    text-align: center;
    background: #e6e6e6;
    font-weight:bold;
}

table.lv_codes>thead td:first-child {
    background: #c6c6c6;
}

table.lv_codes>tbody td {
    border: 1px solid black;
    width:22px;
    height:22px;
    padding:1px;
    text-align: center;
    font-weight:bold;
}
table.lv_codes>tbody td:first-child {
    border: 2px solid black;
    background: #e6e6e6;
}
td.lv_code_exercise {
    background: #edcc9a;
}
td.lv_code_lecture {
    background: #fca4c7;
}
td.lv_code_seminar {
    background: #a6cbe3;
}
td.lv_code_exercise:hover, td.lv_code_lecture:hover, td.lv_code_seminar:hover {
    background-color: #7c5eff;
}

.parent_row {
    border-top: 1pt solid black;
    border-bottom: 1pt solid black;
    background: #ffffff !important;
};

#lv_details_overlay, .overlay_dialog {
    position:fixed;
    left: 0;
    top: 0;
    width: 100%;
    height: 100%;
    background: rgba(0,0,0,0.5);
}

#lv_details_text, .overlay_text {
    position:fixed;
    border: solid 2px black;
    top:50%;
    left:50%;
    width: 95%;
    max-width: 800px;    
    height: 90%;
    max-height: 600px;   
    margin: auto;
    padding: 20px;
    padding-top: 0px;
    transform:translate(-50%, -50%);
    background: white;
    z-index: 1000;
}

.overlay_text {
    height: unset;
}

.flex-container {
    display: flex;
    flex-flow: column;
    height: 100%;
    max-height: 100%;
}

.hflex-container {
    display: flex;
    width: 100%;
    max-width: 100%;
}

.overlay {
    position: fixed;
    left: 0;
    top: 0;
    width: 100%;
    height: 100%;
    display: none;
    background: rgba(0,0,0,0.5);
}

.overlay_content{
    position:fixed;
    border: solid 2px black;
    top:50%;
    left:50%;
    width: 95%;
    max-width: 600px;    
    margin: auto;
    padding: 20px;
    transform:translate(-50%, -50%);
    background: white;
    z-index: 2000;
}

.LV_List {
    max-width: 100%;
    /*border: 1px solid black;*/
}
.scrollbox {
    border: 2px solid black;
    flex: 1 0;
    overflow-y: auto;
}

table.LV_List>thead {
  border-bottom: 1px solid;
  border-color: #000;
  display: table-header-group;
}
.lecture {
    background: #e6e6e6!important;
    border-top: 1px solid;
    border-color: #000;
}

.sublecture td {
    background: #ffffff;
    padding-top: 0px;
    padding-bottom: 0px;
    height: 30px;
}

table.LV_List tbody tr.parent td {
    background: #e6e6e6;
    padding-top: 0px;
    padding-bottom: 0px;
}

table.LV_List tbody tr.child td {
    padding-top: 0px;
    padding-bottom: 0px;
    background: #f2f2f2;
    height: 25px;
}

table.LV_List tbody tr.grandchild td {
    padding-top: 0px;
    padding-bottom: 0px;
    background: #ffffff;
    height: 25px;
}

table.LV_Info {
    border: 2px solid;
    width: 100%;
}
table.LV_Info thead tr th {
    vertical-align: top;
    font-weight: bold;
}
table.LV_Info tr td{
    padding: 1px;
}

.struct_item {
    display: block;
    float: left;
    height: 100%;
}

.separator {
    background: #000000;
    height: 1px;
    margin: 5px;
}

.code_nr {
    color: #a10b70;
    font-size: 110%;
    /*text-decoration: underline;*/
}
.code_nr:hover {
    cursor: pointer;
}

.editable-text {
    font-size: small;
    color: #a10b70;
}
.editable-teacher {
    font-size: small;
    color: #a10b70;
}
.editable-teacher:hover {
    cursor: pointer;
}
.viewoptions {
    width: 600px;
    max-width: 100%;
}

.prettybox {
    border: solid 1px black;
    border-radius: 10px;
    background: #999999;
    padding: 2px;
    padding-left: 6px;
    color: #ffffff;
    white-space: nowrap;
}

.fa-times-circle:hover {
    color: red;
}
.fa-user-plus:hover {
    color: red !important;
}
.fa-trash-alt:hover {
    color: red !important;
}
.offtime {
    background: rgba(255, 0, 0, 0.3);
}

.offtime-desired {
    background: rgba(255, 255, 0, 0.3);
}

.chosen-container {
    font-size: 11pt !important;
}
.chosen-choices {
    min-height: 36px !important;
}

table.tight tr td {
    padding: 0px;
    padding-right: 10px;
}

table.tight tr:nth-child(2n) {
    background: unset!important;
}

.bad {
    color: red;
}
.good {
    color: green;
}

.high-priority {
    color: green;
    font-size: 9pt;
}

.low-priority {
    color: #AAAA00;
    font-size: 9pt;
}
.hover-emph:hover {
    background-color: rgb(255,165,0)!important;
}
.clickable-row:hover {
    background-color: rgba(255,165,0, 0.2)!important;
}
.clickable-row {
    cursor: pointer;
}

.box {
    border: 1px solid black;
    padding: 2px;
    margin: 3px;
}

.lecture-box {
    background-color: rgba(255,215,0, 0.3);
}

.exercise-box {
    background-color: rgba(0,191,255, 0.3);
}

.practical-box {
    background-color: rgba(17,205,20, 0.3);
}

.seminar-box {
    background-color: rgba(255,52,82, 0.3);
}

.rotated {
    writing-mode: vertical-rl;
}

.sticky-col {
  position: -webkit-sticky;
  position: sticky;
  background-color: inherit;
}

.scroll-table-container {
  position: relative;
  overflow: auto;
  white-space: nowrap;
}
