.hicokit_courses {
  display: flex;
  flex-direction: column;
  gap: 1rem;
}

.hicokit_courses .hicokit_filter {
  display: flex;
  gap: 1rem;
}

.hicokit_courses .hicokit_filter select {
  width: 100%;
  display: block;
  padding: 0.375rem 2.25rem 0.375rem 0.75rem;
  -moz-padding-start: calc(0.75rem - 3px);
  background-color: #fff;
  background-image: url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 16 16'%3e%3cpath fill='none' stroke='%23343a40' stroke-linecap='round' stroke-linejoin='round' stroke-width='2' d='m2 5 6 6 6-6'/%3e%3c/svg%3e");
  background-repeat: no-repeat;
  background-position: right 0.75rem center;
  background-size: 16px 12px;
  border: 1px solid #efefef;
  transition: border-color 0.15s ease-in-out, box-shadow 0.15s ease-in-out;
  -webkit-appearance: none;
  -moz-appearance: none;
  appearance: none;
  font-family: inherit;
}
.hicokit_courses .hicokit_filter select:focus {
  border-color: #d3d3d3;
  outline: 0;
  box-shadow: 0 0 0 0.25rem rgba(0, 0, 0, 0.15);
}

.hicokit_courses .hicokit_course {
  display: flex;
  transition: border-color 0.15s ease-in-out, box-shadow 0.15s ease-in-out;
  padding: 1rem;
  color: inherit;
  font-family: inherit;

  gap: 2rem;
  background: white;
  border: 1px solid #efefef;
}
.hicokit_courses .hicokit_course .hicokit_course_meta {
  display: flex;
  transition: 0.2s ease all;
  width: 100%;
  gap: 2rem;
}

.hicokit_courses .hicokit_course .hicokit_course_data {
  min-width: 200px;
  transition: 0.2s ease all;
  font-size: 1rem;
}

.hicokit_courses .hicokit_course .hicokit_course_signup {
  flex-shrink: 0;
}
.hicokit_courses .hicokit_course .hicokit_course_slot {
  text-align: center;
  font-size: 1rem;
  margin-top: 0.5rem;
  display: flex;
  align-items: center;
  justify-content: center;
}

.hicokit_courses .hicokit_course .hicokit-slot-availability {
  display: flex;
  width: 0.5rem;
  height: 0.5rem;
  border-radius: 0.5rem;
  margin-right: 0.5rem;
}
.hicokit_courses
  .hicokit_course
  .hicokit-slot-availability.availability--green {
  background-color: green;
}
.hicokit_courses
  .hicokit_course
  .hicokit-slot-availability.availability--orange {
  background-color: orange;
}
.hicokit_courses .hicokit_course .hicokit-slot-availability.availability--red {
  background-color: red;
}

.hicokit_courses .hicokit_course:hover {
  border-color: #d3d3d3;
  outline: 0;
  box-shadow: 0 0 0 0.25rem rgba(0, 0, 0, 0.15);
}
.hicokit_courses .hicokit_course .hicokit_course_name {
  font-size: 1.4rem;
  font-weight: bold;
}

.hicokit_courses .hicokit_course .hicokit_course_button a {
  background: var(--hicokit-button-color);
  color: var(--hicokit-button-text-color);
  cursor: pointer;
  padding: 0.5rem 1rem;
  box-sizing: border-box;
  display: inline-flex;
  text-decoration: none;
  width: 100%;
  text-align: center;
  justify-content: center;
  align-items: center;
  transition: 0.2s ease all;
}
.hicokit_courses .hicokit_course .hicokit_course_button a:hover,
.hicokit_courses .hicokit_course .hicokit_course_button a:active,
.hicokit_courses .hicokit_course .hicokit_course_button a:focus {
  opacity: 0.8;
}
.hicokit_courses .hicokit_error {
  padding: 1rem;
  text-align: center;
  color: red;
  box-shadow: 0 0 0 0.25rem rgba(0, 0, 0, 0.15);
}
.hicokit_courses .course__progress {
  display: flex;
  height: 1rem;
  font-size: .75rem;
  border-radius: .25rem;
  background-color: #e9ecef;
  margin-top: 0.5rem;
  
}
.hicokit_courses .course__progress_bar {
  display: flex;
  flex-direction: column;
  justify-content: center;
  overflow: hidden;
  color: #fff;
  text-align: center;
  border-radius: .25rem;
  white-space: nowrap;
  background-color: #0d6efd;
  transition: width .6s ease;
}
.hicokit_courses .course__progress_bar.progress--red {
  background-color: red;
}
.hicokit_courses .course__progress_bar.progress--green {
  background-color: green;
}
.hicokit_courses .course__progress_bar.progress--orange {
  background-color: orange;
}

@media screen and (max-width: 810px) {
  .hicokit_courses .hicokit_course {
    flex-direction: column;
    gap: 1rem;
  }
  .hicokit_courses .hicokit_course .hicokit_course_data {
    min-width: auto;
    order: 2;
    gap: 0.25rem;
    display: flex;
    flex-direction: column;
  }
  .hicokit_courses .hicokit_course .hicokit_course_meta {
    flex-direction: column;
    gap: 1rem;
  }
  .hicokit_courses .hicokit_course .hicokit_course_data > div {
    font-size: 0.75rem;
    display: flex;
    align-items: center;
    gap: 0.5rem;
  }
  .hicokit_courses .hicokit_course .hicokit_course_slot {
    font-size: 0.75rem;
  }

  .hicokit_courses .hicokit_course .hicokit_course_date::before {
    content: "";
    background: url('data:image/svg+xml;charset=UTF-8,<svg xmlns="http://www.w3.org/2000/svg" width="16" height="16" fill="currentColor" viewBox="0 0 16 16"><path d="M14 0H2a2 2 0 0 0-2 2v12a2 2 0 0 0 2 2h12a2 2 0 0 0 2-2V2a2 2 0 0 0-2-2zM1 3.857C1 3.384 1.448 3 2 3h12c.552 0 1 .384 1 .857v10.286c0 .473-.448.857-1 .857H2c-.552 0-1-.384-1-.857V3.857z"/><path d="M6.5 7a1 1 0 1 0 0-2 1 1 0 0 0 0 2zm3 0a1 1 0 1 0 0-2 1 1 0 0 0 0 2zm3 0a1 1 0 1 0 0-2 1 1 0 0 0 0 2zm-9 3a1 1 0 1 0 0-2 1 1 0 0 0 0 2zm3 0a1 1 0 1 0 0-2 1 1 0 0 0 0 2zm3 0a1 1 0 1 0 0-2 1 1 0 0 0 0 2zm3 0a1 1 0 1 0 0-2 1 1 0 0 0 0 2zm-9 3a1 1 0 1 0 0-2 1 1 0 0 0 0 2zm3 0a1 1 0 1 0 0-2 1 1 0 0 0 0 2zm3 0a1 1 0 1 0 0-2 1 1 0 0 0 0 2z"/></svg>')
      no-repeat center center;
    width: 12px;
    height: 12px;
    display: flex;
    background-size: 12px;
  }
  .hicokit_courses .hicokit_course .hicokit_course_time::before {
    content: "";
    background: url('data:image/svg+xml;charset=UTF-8,<svg xmlns="http://www.w3.org/2000/svg" width="16" height="16" fill="currentColor" viewBox="0 0 16 16"><path d="M8 3.5a.5.5 0 0 0-1 0V9a.5.5 0 0 0 .252.434l3.5 2a.5.5 0 0 0 .496-.868L8 8.71V3.5z"/><path d="M8 16A8 8 0 1 0 8 0a8 8 0 0 0 0 16zm7-8A7 7 0 1 1 1 8a7 7 0 0 1 14 0z"/></svg>')
      no-repeat center center;
    width: 12px;
    height: 12px;
    display: flex;
    background-size: 12px;
  }
}


.hicokit_overlay {
  display: none;
  position: fixed;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  background: #fafafa;
  z-index: 99999999;
  backdrop-filter: blur(10px);
}

.hicokit_overlay_content {
  width: 100%;
  height: 100%;
  padding: 5rem;
  display: flex;
  max-width: 1200px;
  margin: 0 auto;
}

.hicokit_overlay .hicokit_overlay_close {
  position: absolute;
  right: 5rem;
  top: 5rem;
  cursor: pointer;
  background: none;
  -webkit-appearance: none;
  -moz-appearance: none;
  appearance: none;
  transition: 0.2s ease all;
}
.hicokit_overlay .hicokit_overlay_close:hover {
  opacity: 0.5;
}

@media screen and (max-width: 810px) {
  .hicokit_overlay_content {

    padding: 1rem;

  }
  .hicokit_overlay .hicokit_overlay_close {
    position: absolute;
    right: 0.5rem;
    top: 1rem;
  }
}

.hicokit_courses [data-tooltip] {
  position: relative;
  z-index: 2;
  cursor: pointer;
}
.hicokit_courses [data-tooltip]:after,
.hicokit_courses [data-tooltip]:before {
  visibility: hidden;
  opacity: 0;
  pointer-events: none;
}
.hicokit_courses [data-tooltip]:before {
  position: absolute;
  bottom: 150%;
  left: 50%;
  margin-bottom: 5px;
  margin-left: -80px;
  padding: 7px;
  width: 160px;
  -webkit-border-radius: 3px;
  -moz-border-radius: 3px;
  border-radius: 3px;
  background-color: black;
  color: #fff;
  content: attr(data-tooltip);
  text-align: center;
  font-size: .75rem;
}
.hicokit_courses [data-tooltip]:after {
  position: absolute;
  bottom: 150%;
  left: 50%;
  margin-left: -5px;
  width: 0;
  border-top: 5px solid black;
  border-right: 5px solid transparent;
  border-left: 5px solid transparent;
  content: " ";
  font-size: 0;
  line-height: 0;
}
.hicokit_courses [data-tooltip]:hover:after,
.hicokit_courses [data-tooltip]:hover:before {
  visibility: visible;
  opacity: 1;
}
