html body {
  font-family: Helvetica, sans-serif;
}

* body {
  box-sizing: border-box;
  background-color: #6d6372;
}

.menu {
  float: left;
  width: 20%;
  text-align: center;
}

.menu a {
  padding: 8px;
  margin-top: 7px;
  display: block;
  width: 100%;
  color: black;
}

.main {
  float: left;
  width: 60%;
  padding: 0 20px;
}

.right {
  float: left;
  width: 20%;
  padding: 15px;
  margin-top: 7px;
  text-align: center;
}

.container {  
  width: 100%;
  height: 100%;
  display: grid;
  grid-template-columns: 1fr 1fr 1fr;
  grid-template-rows: 1fr 1fr 1fr;
  gap: 20px 20px;
  grid-auto-flow: row;
  background-color: transparent;
}

.cal-item {
  height: 220px;
  transition: 0.3s;
  padding: 10px;
  background-color: transparent;
  border-style: dashed;
  border-width: 1px;
}

.cal-item:hover {
  box-shadow: 0 8px 16px 0 rgba(0,0,0,0.2);
}

.cal-item-title {
  font-weight: bold;
  margin-bottom: 20px;
  text-align: center;
}

.box {
  color: lightgray;
  float: left;
  padding: 5px;
  background-color: #614274;
  box-shadow: 20px 20px 50px grey;
  border-radius: 5px;
}

ul {
  background-color: transparent;
}

ul:last-of-type {
  list-style-position: outside;
}

li {
  background-color: transparent;
}

a {
  background-color: transparent;
  color: lightgray;
}

@media only screen and (min-width: 720px) {
  .box-left {
    margin-right: 20px;
  }
}

@media only screen and (max-width: 620px) {
  /* For mobile phones: */
  .menu,
  .main,
  .right .container {
    width: 100%;
  }
}

@media screen and (min-width: 250px) and (max-width: 480px) {
  .container {
    grid-template-columns: repeat(1, 1fr);
  }
}

/* Tablet View */
@media screen and (min-width: 481px) and (max-width: 768px) {
  .container {
    grid-template-columns: repeat(2, 1fr);
  }
}
/* Laptop View */
@media screen and (min-width: 769px) and (max-width: 1024px) {
  .container {
    grid-template-columns: repeat(3, 1fr);
  }
}
