
body {
    margin: 0;
    padding: 35px 75px;
    font-family: 'Karla';
    color: #000000;
    background-image: url("https://c0.wallpaperflare.com/preview/65/993/280/background-blur-blurred-bright.jpg");
    background-size: cover;
    background-repeat: no-repeat;
  }
  
  html a:link,
  body a:link {
    text-decoration: none;
  }
  
  html a:visited,
  body a:visited {
    text-decoration: none;
  }
  
  html a:hover,
  body a:hover {
    text-decoration: underline;
  }
  
  html a:active,
  body a:active {
    text-decoration: underline;
  }
  
  * {
    box-sizing: border-box;
  }
  
  .timetable {
    display: grid;
    grid-template-areas: 'header header' 'gap week' 'time content' 'footer footer';
    grid-template-columns: 120px;
    grid-template-rows: 60px;
    width: 90vw;
    height: 90vh;
  }
  
  .timetable .accent-crimson-gradient {
    display: flex;
    align-items: center;
    justify-content: center;
    width: 100%;
    height: 100%;
    padding: 10px 0;
    background: linear-gradient(135deg, #dc14a0, #dc141b);
    font-weight: bold;
    color: white;
    transition: 0.2s ease box-shadow, 0.2s ease transform;
  }
  
  .timetable .accent-crimson-gradient:hover {
    box-shadow: 0 20px 30px 0 rgba(220, 20, 160, 0.3);
    transform: scale(1.05);
  }
  
  .timetable .accent-orange-gradient {
    display: flex;
    align-items: center;
    justify-content: center;
    width: 100%;
    height: 100%;
    padding: 10px 0;
    background: linear-gradient(135deg, #ff7700, #ffe23d);
    font-weight: bold;
    color: white;
    transition: 0.2s ease box-shadow, 0.2s ease transform;
  }
  
  .timetable .accent-orange-gradient:hover {
    box-shadow: 0 20px 30px 0 rgba(255, 88, 0, 0.3);
    transform: scale(1.05);
  }
  
  .timetable .accent-green-gradient {
    display: flex;
    align-items: center;
    justify-content: center;
    width: 100%;
    height: 100%;
    padding: 10px 0;
    background: linear-gradient(135deg, #80cd32, #32cd4c);
    font-weight: bold;
    color: white;
    transition: 0.2s ease box-shadow, 0.2s ease transform;
  }
  
  .timetable .accent-green-gradient:hover {
    box-shadow: 0 20px 30px 0 rgba(128, 205, 50, 0.3);
    transform: scale(1.05);
  }
  
  .timetable .accent-brown-gradient {
    display: flex;
    align-items: center;
    justify-content: center;
    width: 100%;
    height: 100%;
    padding: 10px 0;
    background: linear-gradient(135deg, #8b3113, #8b8113);
    font-weight: bold;
    color: white;
    transition: 0.2s ease box-shadow, 0.2s ease transform;
  }
  
  .timetable .accent-brown-gradient:hover {
    box-shadow: 0 20px 30px 0 rgba(139, 49, 19, 0.3);
    transform: scale(1.05);
  }
  
  .timetable .accent-blue-gradient {
    display: flex;
    align-items: center;
    justify-content: center;
    width: 100%;
    height: 100%;
    padding: 10px 0;
    background: linear-gradient(135deg, #4184e1, #6941e1);
    font-weight: bold;
    color: white;
    transition: 0.2s ease box-shadow, 0.2s ease transform;
  }
  
  .timetable .accent-blue-gradient:hover {
    box-shadow: 0 20px 30px 0 rgba(65, 132, 225, 0.3);
    transform: scale(1.05);
  }
  .timetable .night{
    display: flex;
    align-items: center;
    justify-content: center;
    width: 100%;
    height: 100%;
    padding: 10px 0;
    background: linear-gradient(135deg, #00d38d, #19bdef);
    font-weight: bold;
    color: white;
    transition: 0.2s ease box-shadow, 0.2s ease transform;
  }
  .timetable .night:hover{
    box-shadow: 0 20px 30px 0 rgba(65, 225, 212, 0.3);
    transform: scale(1.05);
  }
  .timetable .maths{
    display: flex;
    align-items: center;
    justify-content: center;
    width: 100%;
    height: 100%;
    padding: 10px 0;
    background: linear-gradient(135deg, #ff693b, #ed3261);
    font-weight: bold;
    color: white;
    transition: 0.2s ease box-shadow, 0.2s ease transform;
  }
  .timetable .maths:hover{
    box-shadow: 0 20px 30px 0 rgba(232, 92, 33, 0.3);
    transform: scale(1.05);
  }
  
  .timetable .lab{
    display: flex;
    align-items: center;
    justify-content: center;
    width: 100%;
    height: 100%;
    padding: 10px 0;
    background: #c31432;  
  background: -webkit-linear-gradient(to right, #240b36, #c31432);
  background: linear-gradient(to right, #240b36, #c31432);
    font-weight: bold;
    color: white;
    transition: 0.2s ease box-shadow, 0.2s ease transform;
  }
  .timetable .lab:hover{
    box-shadow: 0 20px 30px 0 rgba(124, 30, 50, 0.3);
    transform: scale(1.05);
  }
  .timetable .accent-purple-gradient {
    display: flex;
    align-items: center;
    justify-content: center;
    width: 100%;
    height: 100%;
    padding: 10px 0;
    background: linear-gradient(135deg, #7100d3, #d300a9);
    font-weight: bold;
    color: white;
    transition: 0.2s ease box-shadow, 0.2s ease transform;
  }
  
  .timetable .accent-purple-gradient:hover {
    box-shadow: 0 20px 30px 0 rgba(113, 0, 211, 0.3);
    transform: scale(1.05);
  }
  
  .timetable .accent-grey-gradient {
    display: flex;
    align-items: center;
    justify-content: center;
    width: 100%;
    height: 100%;
    padding: 10px 0;
    background: linear-gradient(135deg, rgba(90, 255, 252, 0.164), rgba(227, 63, 200, 0.247));
    font-weight: bold;
    font-size: x-large;
    color: rgb(0, 0, 0);
    transition: 0.2s ease box-shadow, 0.2s ease transform;
  }
  
  .timetable .accent-grey-gradient:hover {
    box-shadow: 0 10px 10px 0 rgba(128, 128, 128, 0.3);
    /* transform: scale(1.05); */
  }
  
  .timetable .accent-grey-gradient-bottom {
    display: flex;
    align-items: center;
    justify-content: center;
    width: 100%;
    height: 100%;
    padding: 10px 0;
    background: linear-gradient(135deg, rgba(255, 0, 0, 0.463), rgba(255, 0, 157, 0.495));
    font-weight: bold;
    color: white;
    transition: 0.2s ease box-shadow, 0.2s ease transform;
  }
  
  .timetable .accent-grey-gradient-bottom:hover {
    box-shadow: 0 20px 30px 0 rgba(128, 128, 128, 0.3);
    transform: scale(1.05);
  }
  .timetable .gap {
    grid-area: gap;
    box-shadow: inset 0 1px 0 0 #eceff1;
  }
  
  .timetable .header {
    grid-area: header;
    display: grid;
    grid-template-rows: repeat(1, 1fr);
    font-size: 14px;
    font-weight: bold;
  }
  
  .timetable .header > div {
    display: flex;
    align-items: center;
    justify-content: center;
    width: 100%;
    height: 100%;
    box-shadow: inset 1px 1px 1px 1px #eceff1;
  }
  
  .timetable .week-names {
    grid-area: week;
    display: grid;
    grid-template-columns: repeat(5, 1fr);
    text-transform: uppercase;
    font-size: 18px;
  }
  
  .timetable .week-names > div {
    display: flex;
    align-items: center;
    justify-content: center;
    width: 100%;
    height: 100%;
    box-shadow: inset 1px 1px 0 0 #eceff1;
  }
  
  .timetable .time-interval {
    grid-area: time;
    display: grid;
    grid-template-rows: repeat(9, 1fr);
    font-size: 12px;
  }
  
  .timetable .time-interval > div {
    display: flex;
    align-items: center;
    justify-content: center;
    width: 100%;
    height: 100%;
    box-shadow: inset 0 1px 0 0 #eceff1;
  }
  
  .timetable .content {
    grid-area: content;
    /* align-items: center;
    justify-content: center; */
    display: grid;
    grid-template-rows: repeat(9, 1fr);
    grid-template-columns: repeat(5, 1fr);
  }
  
  .timetable .content > div {
    display: flex;
    align-items: center;
    align-content: center;
    justify-content: center;
    flex-wrap: wrap;
    width: 100%;
    height: 100%;
    box-shadow: inset 1px 0 0 #eceff1, inset 0 1px 0 0 #eceff1;
  }
  
  .timetable .footer {
    grid-area: footer;
    display: grid;
    grid-template-rows: repeat(1, 1fr);
    font-size: 12px;
    font-weight: bold;
  }
  
  .timetable .footer > div {
    display: flex;
    align-items: center;
    justify-content: center;
    width: 100%;
    height: 100%;
    box-shadow: inset 1px 1px 1px 1px #eceff1;
  }
  