:root {
  --color__red: #cd413d;
  --threshold: 0.5;
}

/**
*  Clearfix
*  http://blog.teamtreehouse.com/a-better-clearfix-with-sass
*/
@keyframes TOOLTIP {
  from {
    bottom: 0.5em;
    background-color: rgba(0, 0, 0, 0);
    border: 0.05em solid rgba(255, 255, 255, 0);
    color: rgba(255, 255, 255, 0);
    box-shadow: 0 0 0 black;
  }
  to {
    bottom: 1.5em;
    background-color: rgba(0, 0, 0, 0.85);
    border: 0.05em solid white;
    color: white;
    box-shadow: 0.15em 0.15em 0.5em black;
  }
}
@keyframes rotate {
  100% {
    transform: rotate(360deg);
  }
}
@keyframes dash {
  0% {
    stroke-dasharray: 1, 200;
    stroke-dashoffset: 0;
  }
  50% {
    stroke-dasharray: 90, 200;
    stroke-dashoffset: -35px;
  }
  100% {
    stroke-dashoffset: -125px;
  }
}
.loading {
  width: 50px;
  height: 50px;
  margin: auto;
}
.loading svg {
  width: 3.75em;
  transform-origin: center;
  animation: rotate 2s linear infinite;
}
.loading circle {
  fill: none;
  stroke: blue;
  stroke-width: 2;
  stroke-dasharray: 1, 200;
  stroke-dashoffset: 0;
  stroke-linecap: round;
  animation: dash 1.5s ease-in-out infinite;
}

/* ----------------------------------------------
 * Generated by Animista on 2019-8-27 13:39:59
 * Licensed under FreeBSD License.
 * See http://animista.net/license for more info. 
 * w: http://animista.net, t: @cssanimista
 * ---------------------------------------------- */
/**
 * ----------------------------------------
 * animation slide-in-right
 * ----------------------------------------
 */
@-webkit-keyframes slide-in-right {
  0% {
    -webkit-transform: translateX(500px);
    transform: translateX(500px);
    opacity: 0;
  }
  100% {
    -webkit-transform: translateX(0);
    transform: translateX(0);
    opacity: 1;
  }
}
@keyframes slide-in-right {
  0% {
    -webkit-transform: translateX(500px);
    transform: translateX(500px);
    opacity: 0;
  }
  100% {
    -webkit-transform: translateX(0);
    transform: translateX(0);
    opacity: 1;
  }
}
/**
 * ----------------------------------------
 * animation fade-in
 * ----------------------------------------
 */
@-webkit-keyframes fade-in {
  0% {
    opacity: 0;
  }
  100% {
    opacity: 1;
  }
}
@keyframes fade-in {
  0% {
    opacity: 0;
  }
  100% {
    opacity: 1;
  }
}
/**
* ----------------------------------------
* animation heartbeat
* ----------------------------------------
*/
/**
 * ----------------------------------------
 * animation heartbeat
 * ----------------------------------------
 */
@-webkit-keyframes heartbeat {
  from {
    -webkit-transform: scale(1);
    transform: scale(1);
    -webkit-transform-origin: center center;
    transform-origin: center center;
    -webkit-animation-timing-function: ease-out;
    animation-timing-function: ease-out;
  }
  10% {
    -webkit-transform: scale(0.91);
    transform: scale(0.91);
    -webkit-animation-timing-function: ease-in;
    animation-timing-function: ease-in;
  }
  17% {
    -webkit-transform: scale(0.98);
    transform: scale(0.98);
    -webkit-animation-timing-function: ease-out;
    animation-timing-function: ease-out;
  }
  33% {
    -webkit-transform: scale(0.87);
    transform: scale(0.87);
    -webkit-animation-timing-function: ease-in;
    animation-timing-function: ease-in;
  }
  45% {
    -webkit-transform: scale(1.4);
    transform: scale(1.4);
    -webkit-animation-timing-function: ease-out;
    animation-timing-function: ease-out;
  }
}
@keyframes heartbeat {
  from {
    -webkit-transform: scale(1);
    transform: scale(1);
    -webkit-transform-origin: center center;
    transform-origin: center center;
    -webkit-animation-timing-function: ease-out;
    animation-timing-function: ease-out;
  }
  45% {
    -webkit-transform: scale(1.4);
    transform: scale(1.4);
    -webkit-animation-timing-function: ease-out;
    animation-timing-function: ease-out;
  }
}
.cal {
  background-color: #fff;
  font-size: 8px;
  font-size: 0.5rem;
}
.cal th {
  padding: 6px 0;
}
.cal header {
  margin-bottom: 5px;
}
.cal header i {
  margin-top: 6px;
}

.month-view .day-contents > span,
.month-view .day-contents > span > span,
.week-view .day-contents > span,
.week-view .day-contents > span > span {
  text-align: center;
}
.month-view .lesson,
.week-view .lesson {
  cursor: pointer;
}
.month-view .lesson span,
.week-view .lesson span {
  text-align: left;
}
.month-view .month,
.week-view .month {
  display: grid;
  grid-auto-rows: min-content;
}
.month-view .week,
.week-view .week {
  display: grid;
  grid-template-columns: repeat(7, 1fr);
}
.month-view .week.days-o-week,
.week-view .week.days-o-week {
  text-align: center;
}
.month-view .day,
.week-view .day {
  position: relative;
  border: 1px solid rgba(51, 51, 51, 0.2);
  overflow: hidden;
  padding: 5px;
  white-space: nowrap;
}
.month-view .day:hover,
.week-view .day:hover {
  background-color: rgba(222, 239, 255, 0.6);
}
.month-view .day span,
.week-view .day span {
  display: block;
}
.month-view .day i,
.week-view .day i {
  font-size: 8px;
  font-size: 0.5rem;
  vertical-align: text-top;
}
.month-view .day.active,
.week-view .day.active {
  border: 2px solid #195aa7;
}
.month-view .day.today,
.week-view .day.today {
  background: rgba(108, 149, 198, 0.4);
  color: #fff;
}
.month-view .day.last-month, .month-view .day.next-month,
.week-view .day.last-month,
.week-view .day.next-month {
  opacity: 0.6;
  background: rgba(51, 51, 51, 0.2);
}
.month-view .day .lesson-ev,
.week-view .day .lesson-ev {
  display: none;
  padding: 2px 5px;
  margin: 5px 0;
  overflow: hidden;
  background: rgb(var(--red), var(--green), var(--blue));
  --r: calc(var(--red) * 0.2126);
  --g: calc(var(--green) * 0.7152);
  --b: calc(var(--blue) * 0.0722);
  --sum: calc(var(--r) + var(--g) + var(--b));
  --perceived-lightness: calc(var(--sum) / 255);
  color: hsl(0, 0%, calc((var(--perceived-lightness) - var(--threshold)) * -10000000%));
}
.month-view .day .lesson-ev:active,
.week-view .day .lesson-ev:active {
  border: 1px solid #000;
}
.month-view .day .more-events,
.week-view .day .more-events {
  display: none;
  position: absolute;
  bottom: 0;
  padding: 10px;
  width: calc(100% - 10px);
}
.month-view .day.modal,
.week-view .day.modal {
  position: relative;
  overflow: visible;
}
.month-view .day.modal .day-contents,
.week-view .day.modal .day-contents {
  border: 1px solid #000;
  position: absolute;
  top: -20px;
  right: -20px;
  left: -20px;
  background: #fff;
  z-index: 100;
  padding: 10px;
  white-space: normal;
  -webkit-box-shadow: 5px 5px 15px 5px rgba(25, 90, 167, 0.8);
  -moz-box-shadow: 5px 5px 15px 5px rgba(25, 90, 167, 0.8);
  box-shadow: 5px 5px 15px 5px rgba(25, 90, 167, 0.8);
}
.month-view .day.modal .more-events,
.week-view .day.modal .more-events {
  display: none;
}
.month-view .day .lesson,
.week-view .day .lesson {
  --red: 60;
  --green: 115;
  --blue: 197;
}
.month-view .day .virtual,
.week-view .day .virtual {
  --red: 178;
  --green: 243;
  --blue: 255;
}
.month-view .day .canceled-i,
.week-view .day .canceled-i {
  --red: 255;
  --green: 0;
  --blue: 0;
}
.month-view .day .markedliyh,
.week-view .day .markedliyh {
  --red: 128;
  --green: 0;
  --blue: 128;
}
.month-view .day .canceled-f,
.week-view .day .canceled-f {
  --red: 153;
  --green: 153;
  --blue: 0;
}
.month-view .day .canceled-liyh,
.week-view .day .canceled-liyh {
  --red: 90;
  --green: 90;
  --blue: 90;
}
.month-view .day .reminder,
.week-view .day .reminder {
  --red: 255;
  --green: 153;
  --blue: 85;
}
.month-view .day .taught,
.week-view .day .taught {
  --red: 0;
  --green: 128;
  --blue: 0;
}
.month-view .day .summer-canc,
.week-view .day .summer-canc {
  --red: 255;
  --green: 153;
  --blue: 17;
}
.month-view .day .holiday,
.week-view .day .holiday {
  --red: 144;
  --green: 238;
  --blue: 144;
}
.month-view .day .phantom-schedule-phantom,
.week-view .day .phantom-schedule-phantom {
  --red: 128;
  --green: 128;
  --blue: 128;
}

.event-list h3 {
  border-bottom: 4px solid #195aa7;
  margin-bottom: 10px;
}
.event-list .event {
  margin: 7px 0;
  padding: 5px 0;
  font-size: 18px;
  font-size: 1.125rem;
  border-bottom: 1px solid #195aa7;
}
.event-list .event > * {
  display: inline-block;
  vertical-align: middle;
}
.event-list .event > span:first-of-type {
  margin-right: 8px;
}
.event-list .event .event-status {
  margin-right: 5px;
  width: 7px;
  height: 27px;
  background-color: #195aa7;
  border-color: #195aa7;
  font-size: 11px;
}
.event-list .event .event-status.virtual {
  background-color: #B2F3FF;
  color: #333;
}
.event-list .event .event-status.canceled-i {
  background-color: red;
}
.event-list .event .event-status.markedliyh {
  background-color: purple;
}
.event-list .event .event-status.canceled-f {
  background-color: #999900;
}
.event-list .event .event-status.canceled-liyh {
  background-color: gray;
}
.event-list .event .event-status.reminder {
  background-color: #f95;
}
.event-list .event .event-status.taught {
  background-color: green;
}
.event-list .event .event-status.summer-canc {
  background-color: #ff9911;
}
.event-list .event .event-status.holiday {
  background-color: lightgreen;
  color: #333;
}
.event-list .event .event-status.phantom-schedule-phantom {
  background-color: gray;
  --red: 128;
  --green: 128;
  --blue: 128;
}

/*--------------------------------------------------------------
### Calendar Overrides
--------------------------------------------------------------*/
@media (min-width: 992px) {
  .cal {
    background-color: #fff;
    font-size: 12px;
    font-size: 0.75rem;
  }
  .cal th {
    padding: 6px 0;
  }
  .cal header i {
    margin-top: 6px;
  }
}
.cal header {
  background-color: #195aa7;
}
.cal header h2 {
  text-align: center;
  height: 30px;
  line-height: 30px;
}
.cal header h2 i {
  cursor: pointer;
  padding: 0 5px;
}

/*# sourceMappingURL=calendar.css.map */
