html, body {
  margin: 0;
  font-family: 'Karla';
  color: #546E7A;
}

* {
  box-sizing: border-box;
}

a {
    text-decoration: none;
}

.timetable {
  display: grid;
  grid-template-areas: ". week" "time content";
  grid-template-columns: 120px;
  grid-template-rows: 60px;
  width: 100vw;
  height: 100vh;
}

.card {
    color: white;
    font-size: 30px;
    font-weight: bold;
    display: flex;
    justify-content: center;
    align-items: center;
}

.timetable .accent-pink-gradient {
  display: -webkit-box;
  display: flex;
  width: 100%;
  height: 100%;
  background: linear-gradient(135deg, #ee8ebc, #eea08e);
  -webkit-transition: .2s ease box-shadow, .2s ease transform;
  transition: .2s ease box-shadow, .2s ease transform;
}
.timetable .accent-pink-gradient:hover {
  box-shadow: 0 20px 30px 0 rgba(238, 142, 188, 0.3);
  -webkit-transform: scale(1.05);
          transform: scale(1.05);
}

.timetable .accent-yellow-gradient {
  display: -webkit-box;
  display: flex;
  width: 100%;
  height: 100%;
  background: linear-gradient(135deg, #f0ff17,#a1db0d);
  -webkit-transition: .2s ease box-shadow, .2s ease transform;
  transition: .2s ease box-shadow, .2s ease transform;
}
.timetable .accent-yellow-gradient:hover {
  box-shadow: 0 20px 30px 0 rgba(238, 142, 188, 0.3);
  -webkit-transform: scale(1.05);
          transform: scale(1.05);
}

.timetable .accent-powi-gradient {
  display: -webkit-box;
  display: flex;
  width: 100%;
  height: 100%;
  background: linear-gradient(135deg, #e070ff,#9f38ff);
  -webkit-transition: .2s ease box-shadow, .2s ease transform;
  transition: .2s ease box-shadow, .2s ease transform;
}
.timetable .accent-powi-gradient:hover {
  box-shadow: 0 20px 30px 0 rgba(238, 142, 188, 0.3);
  -webkit-transform: scale(1.05);
          transform: scale(1.05);
}

.timetable .accent-bio-gradient {
  display: -webkit-box;
  display: flex;
  width: 100%;
  height: 100%;
  background: linear-gradient(135deg, #85ff7a,#5ec955);
  -webkit-transition: .2s ease box-shadow, .2s ease transform;
  transition: .2s ease box-shadow, .2s ease transform;
}
.timetable .accent-bio-gradient:hover {
  box-shadow: 0 20px 30px 0 rgba(238, 142, 188, 0.3);
  -webkit-transform: scale(1.05);
          transform: scale(1.05);
}

.timetable .accent-geschi-gradient {
  display: -webkit-box;
  display: flex;
  width: 100%;
  height: 100%;
  background: linear-gradient(135deg, #c97842,#a35826);
  -webkit-transition: .2s ease box-shadow, .2s ease transform;
  transition: .2s ease box-shadow, .2s ease transform;
}
.timetable .accent-geschi-gradient:hover {
  box-shadow: 0 20px 30px 0 rgba(238, 142, 188, 0.3);
  -webkit-transform: scale(1.05);
          transform: scale(1.05);
}

.timetable .accent-info-gradient {
  display: -webkit-box;
  display: flex;
  width: 100%;
  height: 100%;
  background: linear-gradient(135deg, #8a8a8a,#666666);
  -webkit-transition: .2s ease box-shadow, .2s ease transform;
  transition: .2s ease box-shadow, .2s ease transform;
}
.timetable .accent-info-gradient:hover {
  box-shadow: 0 20px 30px 0 rgba(238, 142, 188, 0.3);
  -webkit-transform: scale(1.05);
          transform: scale(1.05);
}

.timetable .accent-sv-gradient {
  display: -webkit-box;
  display: flex;
  width: 100%;
  height: 100%;
  background: linear-gradient(135deg, #69ff8f,#ff386a);
  -webkit-transition: .2s ease box-shadow, .2s ease transform;
  transition: .2s ease box-shadow, .2s ease transform;
}
.timetable .accent-sv-gradient:hover {
  box-shadow: 0 20px 30px 0 rgba(238, 142, 188, 0.3);
  -webkit-transform: scale(1.05);
          transform: scale(1.05);
}

.timetable .accent-sport-gradient {
  display: -webkit-box;
  display: flex;
  width: 100%;
  height: 100%;
  background: linear-gradient(135deg, #69fff5,#69d5ff);
  -webkit-transition: .2s ease box-shadow, .2s ease transform;
  transition: .2s ease box-shadow, .2s ease transform;
}
.timetable .accent-sport-gradient:hover {
  box-shadow: 0 20px 30px 0 rgba(238, 142, 188, 0.3);
  -webkit-transform: scale(1.05);
          transform: scale(1.05);
}


.timetable .accent-grey-gradient {
  display: -webkit-box;
  display: flex;
  width: 100%;
  height: 100%;
  background: linear-gradient(135deg, #c2c2c2,#8f8f8f);
  -webkit-transition: .2s ease box-shadow, .2s ease transform;
  transition: .2s ease box-shadow, .2s ease transform;
}
.timetable .accent-grey-gradient:hover {
  box-shadow: 0 20px 30px 0 rgba(238, 142, 188, 0.3);
  -webkit-transform: scale(1.05);
          transform: scale(1.05);
}

.timetable .accent-orange-gradient {
  display: -webkit-box;
  display: flex;
  width: 100%;
  height: 100%;
  background: linear-gradient(135deg, #eec08e, #dcee8e);
  -webkit-transition: .2s ease box-shadow, .2s ease transform;
  transition: .2s ease box-shadow, .2s ease transform;
}
.timetable .accent-orange-gradient:hover {
  box-shadow: 0 20px 30px 0 rgba(238, 192, 142, 0.3);
  -webkit-transform: scale(1.05);
          transform: scale(1.05);
}
.timetable .accent-green-gradient {
  display: -webkit-box;
  display: flex;
  width: 100%;
  height: 100%;
  background: linear-gradient(135deg, #bcee8e, #8eeea0);
  -webkit-transition: .2s ease box-shadow, .2s ease transform;
  transition: .2s ease box-shadow, .2s ease transform;
}
.timetable .accent-green-gradient:hover {
  box-shadow: 0 20px 30px 0 rgba(188, 238, 142, 0.3);
  -webkit-transform: scale(1.05);
          transform: scale(1.05);
}
.timetable .accent-cyan-gradient {
  display: -webkit-box;
  display: flex;
  width: 100%;
  height: 100%;
  background: linear-gradient(135deg, #8eeec0, #8edcee);
  -webkit-transition: .2s ease box-shadow, .2s ease transform;
  transition: .2s ease box-shadow, .2s ease transform;
}
.timetable .accent-cyan-gradient:hover {
  box-shadow: 0 20px 30px 0 rgba(142, 238, 192, 0.3);
  -webkit-transform: scale(1.05);
          transform: scale(1.05);
}
.timetable .accent-blue-gradient {
  display: -webkit-box;
  display: flex;
  width: 100%;
  height: 100%;
  background: linear-gradient(135deg, #8ebcee, #a08eee);
  -webkit-transition: .2s ease box-shadow, .2s ease transform;
  transition: .2s ease box-shadow, .2s ease transform;
}
.timetable .accent-blue-gradient:hover {
  box-shadow: 0 20px 30px 0 rgba(142, 188, 238, 0.3);
  -webkit-transform: scale(1.05);
          transform: scale(1.05);
}
.timetable .accent-purple-gradient {
  display: -webkit-box;
  display: flex;
  width: 100%;
  height: 100%;
  background: linear-gradient(135deg, #c08eee, #ee8edc);
  -webkit-transition: .2s ease box-shadow, .2s ease transform;
  transition: .2s ease box-shadow, .2s ease transform;
}
.timetable .accent-purple-gradient:hover {
  box-shadow: 0 20px 30px 0 rgba(192, 142, 238, 0.3);
  -webkit-transform: scale(1.05);
          transform: scale(1.05);
}

.timetable .accent-red-gradient {
  display: -webkit-box;
  display: flex;
  width: 100%;
  height: 100%;
  background: linear-gradient(135deg, #fa5252, #fa9052);
  -webkit-transition: .2s ease box-shadow, .2s ease transform;
  transition: .2s ease box-shadow, .2s ease transform;
}
.timetable .accent-red-gradient:hover {
  box-shadow: 0 20px 30px 0 rgba(192, 142, 238, 0.3);
  -webkit-transform: scale(1.05);
          transform: scale(1.05);
}

.timetable .weekend {
  background: #fbfbfc;
  color: #87a1ad;
}
.timetable .week-names {
  grid-area: week;
  display: grid;
  grid-template-columns: repeat(7, 1fr);
  text-transform: uppercase;
  font-size: 12px;
}
.timetable .week-names > div {
  display: -webkit-box;
  display: flex;
  -webkit-box-align: center;
          align-items: center;
  -webkit-box-pack: center;
          justify-content: center;
  width: 100%;
  height: 100%;
  box-shadow: inset 1px 0 0 #ECEFF1;
}
.timetable .time-interval {
  grid-area: time;
  display: grid;
  grid-template-rows: repeat(6, 1fr);
  font-size: 14px;
}
.timetable .time-interval > div {
  display: -webkit-box;
  display: flex;
  -webkit-box-align: center;
          align-items: center;
  -webkit-box-pack: center;
          justify-content: center;
  width: 100%;
  height: 100%;
  box-shadow: inset 0 1px 0 0 #ECEFF1;
}
.timetable .content {
  grid-area: content;
  display: grid;
  grid-template-rows: repeat(6, 1fr);
  grid-template-columns: repeat(7, 1fr);
}
.timetable .content > div {
  box-shadow: inset 1px 0 0 #ECEFF1, inset 0 1px 0 0 #ECEFF1;
}