html {
  scroll-behavior: smooth;
}

.blue_dot {
  background: #009ADF;
}

.green_dot {
  background: #00AC4E;
}

.yellow_dot {
  background: #FFE815;
}

.pink_dot {
  background: #FF83E4;
}

.calendar_section {
  color: white;
  display: flex;
  gap: 1rem;
}

.calendar_section li {
  list-style: none;
}

.calendar_section ul {
  padding-left: 0;
}

.calendar_col1 {
  width: 70%;
}

.calendar_header {
  display: flex;
  align-items: center;
  justify-content: center;
  gap: 1rem;
  margin-bottom: 2.5rem;
}
.calendar_header .arrow_next, .calendar_header .arrow_prev {
  cursor: pointer;
  padding: 0.5rem;
}
.calendar_header .arrow_next img {
  transform: rotate(180deg);
}
.calendar_header h3 {
  font-size: 28px;
  font-weight: 700;
  margin-bottom: 0;
}

.calendar_table_header {
  display: flex;
  width: 100%;
  margin-bottom: 1rem;
}
.calendar_table_header li {
  color: #585D6A;
  font-weight: 300;
  font-size: 14.4px;
  width: 6.7vw;
  flex: 1;
  text-align: center;
  text-transform: uppercase;
}

.calendar_table_content {
  display: grid;
  gap: 4px;
  grid-template-columns: repeat(7, minmax(6.7vw, 1fr));
}

.calendar_table_container {
  position: relative;
}
.calendar_table_container .onScroll_overlay {
  display: none;
  position: absolute;
  inset: 0;
  width: 100%;
  height: 100%;
  z-index: 2;
}
.calendar_table_container .onScroll_overlay.active {
  display: block;
}

.calendar_table_item {
  border: 1px solid #25262C;
  border-radius: 4px;
  height: 129px;
  padding: 2rem 0;
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: space-between;
  cursor: pointer;
}

.calendar_table_item h4 {
  font-size: 22.5px;
  min-height: 2.5rem;
  min-width: 2.5rem;
  height: 2.5rem;
  width: 2.5rem;
  display: flex;
  align-items: center;
  justify-content: center;
}

.calendar_table_item h4.current {
  border-radius: 50%;
  border: 1px solid white;
}

.calendar_table_item h4.active {
  border-radius: 50%;
  border: 1px solid #25262C;
}

.calendar_table_item .dots {
  display: flex;
  gap: 4px;
}

.calendar_table_item .dot {
  height: 9px;
  width: 9px;
  border-radius: 50%;
}

.calendar_col2 {
  width: 30%;
  margin-top: 6.7rem;
  padding: 2rem;
  border: 1px solid #25262C;
  border-radius: 4px;
}
.calendar_col2 h3 {
  font-weight: 700;
  font-size: 28px;
  margin-bottom: 2.5rem;
}

.calendar_category:not(:last-child) {
  margin-bottom: 2.5rem;
}

.calendar_category_header {
  display: flex;
  align-items: center;
  margin-bottom: 1.5rem;
}
.calendar_category_header .dot {
  width: 1.5rem;
  height: 1.5rem;
  border-radius: 50%;
  margin-right: 1rem;
}
.calendar_category_header h4 {
  font-weight: 400;
  font-size: 22.5px;
  margin-bottom: 0;
}

.calendar_category_events {
  margin-left: 2.5rem;
}
.calendar_category_events li {
  font-weight: 400;
  font-size: 18px;
}
.calendar_category_events li:not(:last-child) {
  margin-bottom: 0.5rem;
}

@media only screen and (min-width: 1920px) {
  .calendar_table_content {
    grid-template-columns: repeat(7, minmax(129px, 1fr));;
  }
}

@media only screen and (max-width: 1330px) {
  .calendar_table_container {
    overflow-x: scroll;
  }
  .calendar_table_container::-webkit-scrollbar-track {
    background-color: transparent;
  }
  .calendar_table_container::-webkit-scrollbar {
    height: 2px;
    background-color: transparent;
  }
  .calendar_table_container::-webkit-scrollbar-thumb {
    background: #25262C;
  }
}

@media only screen and (max-width: 991px) {
  .calendar_section {
    flex-direction: column;
  }

  .calendar_col1 {
    width: 100%;
  }

  .calendar_col2 {
    min-height: 300px;
    width: 100%;
    margin-top: 2rem;
  }

  .calendar_table_item {
    height: 100px;
    padding: 1.5rem 0;
  }

  .calendar_col2 {
    min-width: 40vh;
  }
}
@media only screen and (max-width: 771px) {
  .calendar_table_item h4 {
    font-size: 18px;
    width: 2rem;
    height: 2rem;
  }

  .calendar_col2 h3 {
    font-size: 22.5px;
  }

  .calendar_category_header h4 {
    font-size: 20px;
  }
}