/* Event Schedule */
.event-schedule {
  background-image: url("../img/event-schedule-bg.jpg");
  background-size: cover;
  background-position: bottom;
}

.event-schedule.main-page {
  background-image: unset;
}

.search-row {
  width: 100%;
  display: flex;
  justify-content: space-between;
  align-items: center;
  gap: 16px;
  margin-bottom: 50px;
}

.download-btn {
  padding: 15px 30px;
}

.search-form {
  display: flex;
  gap: 20px;
  margin-bottom: 0;
}

.search-form input[type="text"] {
  width: 100%;
  min-width: 440px;
  height: 100%;
  border: 2px solid var(--color-dark-grey);
  border-radius: 1rem;
  padding: 10px 20px 10px 44px;
  font-size: 1rem;
}

.search-form input[type="text"]::placeholder {
  line-height: normal;
  letter-spacing: 0.04em;
  color: var(--color-placeholder);
  font-size: 1rem;
  font-weight: 400;
}

.search-bar {
  position: relative;
}

.search-bar img {
  top: 50%;
  position: absolute;
  padding-inline: 16px;
  transform: translateY(-50%);
}

.search-form .button {
  height: 100%;
  padding: 15px 30px;
}

.filters {
  display: flex;
  flex-wrap: wrap;
  /* gap: 40px;  */
  column-gap: 40px;
  row-gap: 15px;
  margin-bottom: 40px;
  z-index: 1;
}

div:has(> .filter) {
  position: relative;
}

.filter {
  -webkit-appearance: none; /* For Chrome, Safari, and Opera */
  -moz-appearance: none; /* For Firefox */
  appearance: none; /* Standard property */

  min-width: 292px;
  height: fit-content;
  position: relative;
  /* box-shadow: rgba(0, 0, 0, .16) 0px 0px 2px;  */
  background-color: var(--color-white);
  color: var(--color-filter-option);
  font-size: 1.25rem;
  border: none;
  border-radius: 0.625rem;
}

.filter button {
  width: 100%;
  background-color: none;
  border: none;
  border-radius: 0.625rem;
  padding: 0;
  overflow: hidden;
}

.filter h3 {
  width: 100%;
  display: flex;
  justify-content: space-between;
  align-items: center;
  background-color: var(--color-action-darkgreen);
  margin-block: 0;
  padding: 15px 20px;
  text-align: left;
  font-size: 1.25rem;
  color: var(--color-white);
  cursor: pointer;
}

.filter h3:after {
  content: "";
  width: 14px;
  height: 14px;
  display: block;
  background-image: url("../img/down-arrow.svg");
  background-size: contain;
  background-repeat: no-repeat;
  background-position: center;
  margin-top: 0;
  background-color: unset;
  transition: all 0.3s;
}

.filter h3.active:after {
  transform: rotate(180deg);
}

.filter menu {
  width: 100%;
  position: absolute;
  display: none;
  flex-direction: column;
  margin: 0;
  padding: 20px;
  list-style: none;
  gap: 10px;
  background-color: var(--color-white);
  /* border-radius: 0 0 1rem 1rem; */
  border-radius: 0 0 0.625rem 0.625rem;
  /* box-shadow: rgba(0, 0, 0, .16) 0px 0px 2px;  */
  z-index: 2;
}

.filter menu li {
  display: flex;
  align-items: center;
  cursor: pointer;
}

.filter menu input[type="checkbox"] {
  width: 26px;
  height: 26px;
  position: relative;
  aspect-ratio: 1;
  border: 1px solid var(--iday-green);
  margin: 0 15px 0 0;
  appearance: none;
  -webkit-appearance: none;
}

.filter menu input[type="checkbox"]:after {
  content: "";
  top: 50%;
  left: 50%;
  width: 22px;
  height: 22px;
  position: absolute;
  display: block;
  background-size: contain;
  background-position: center;
  background-repeat: no-repeat;
  transform: translate(-50%, -50%);
}

.filter menu input[type="checkbox"]:checked:after {
  background-image: url("../img/checked-icon.svg");
}

.event-schedule .event-list, 
.event-schedule .views-element-container > div { 
  display: flex; 
  gap: 36px; 
  flex-wrap: wrap; 
  list-style: none; 
  margin: 0 0 50px; 
  padding: 0; 
}

.event-item {
  width: calc((100% - 78px) / 3);
  display: flex;
  flex-direction: column;
  border: 1px solid var(--color-main-green);
  border-radius: 1rem;
  background-color: var(--iday-surface);
  padding: 25px;
  transition: all 0.6s;
}

.event-list .button {
  padding: 15px;
}

.page-section.active .event-item {
  opacity: 1;
  transform: translateY(0);
}

.event-item-head * {
  margin: 0;
  padding: 0;
}

.event-item-head img {
  width: 20px;
  height: auto;
  max-height: 20px;
  margin-left: 10px;
  transform: translateY(25%) scale(1.5);
  object-fit: contain;
}

.event-item-label {
  width: fit-content;
  background-color: var(--color-white);
  border-radius: 5px;
  margin-bottom: 6px;
  padding: 2px 10px;
  color: var(--color-event-title);
  font-size: 0.875rem;
  font-weight: bold;
  text-transform: uppercase;
}

.event-item-title, 
.event-item-title *, 
.event-item-title:hover, 
.event-item-title:hover * { 
  /* margin-bottom: 12px; */
  margin-bottom: 22px;
  line-height: 30px;
  font-size: 1.125rem;
  font-weight: 700; 
  color: var(--color-link-black);
}

.event-item-title:after, 
.event-item-title > *:after { 
  content: none; 
}

.time-list {
  list-style: none;
  margin: 0;
  padding: 0;
}

.event-item-foot {
  display: flex;
  gap: 20px;
  margin-top: 34px;
  flex-wrap: wrap;
}

.event-item-foot > a { 
  height: fit-content;
  display: flex;
  align-items: center;
  border-radius: 1rem;
  padding: 16px 30px;
  font-size: 18px;
  text-decoration: none;
  border: 1px solid var(--color-btn-bg); 
  background-color: var(--color-white); 
  color: var(--color-btn-bg); 
  cursor: pointer;
  transition: all .3s;
}

.event-item-foot > a:hover { 
  border-color: var(--color-white); 
  background-color: var(--color-btn-bg); 
  color: var(--color-white); 
}

.event-schedule .show-more {
  width: fit-content;
  margin-inline: auto;
  margin-bottom: 100px;
}

.views-exposed-form { 
  /* top: 0; 
  left: 0; 
  width: 100%; 
  position: absolute; */
  
  display: flex; 
  flex-wrap: wrap; 
}

.views-exposed-form .js-form-item { 
  display: flex;
  flex-direction: column; 
}

.event-schedule .views-field, 
.event-schedule .field-content { 
  height: 100%; 
  display: flex; 
  flex-direction: column; 
}

.more-link { 
  width: 100%; 
  display: flex; 
  height: fit-content;
  align-items: center;
}

.more-link > a { 
  width: fit-content; 
  border: 1px solid var(--color-white); 
  border-radius: 1rem;
  margin-inline: auto; 
  background-color: var(--color-btn-bg);
  padding: 16px 30px;
  color: var(--color-white);
  font-size: 18px;
  text-decoration: none;
  cursor: pointer;
  transition: all .3s;
}

.more-link > a:hover { 
  border-color: var(--color-btn-bg); 
  background-color: var(--color-white); 
  color: var(--color-btn-bg); 
}

/* Pagination */
.pager__items { 
  width: 100%; 
  display: flex; 
  list-style: none; 
  margin: 0; 
  padding: 0; 
}

/* Responsive */
/* Desktop */
@media (min-width: 1281px) and (max-width: 1920px) { 
  .views-exposed-form { 
    display: flex; 
  }

  /* Search Form */
  .search-row {
    gap: calc(16vw / 19.2);
    margin-bottom: calc(50vw / 19.2);
  }

  .search-form {
    gap: calc(20vw / 19.2);
  }

  .search-form input[type="text"] {
    padding: calc(10vw / 19.2) calc(20vw / 19.2) calc(10vw / 19.2)
      calc(44vw / 19.2);
  }

  .search-bar img {
    padding-inline: calc(16vw / 19.2);
  }

  .search-form .button {
    padding: 15px 30px;
  }

  /* Filters */
  .filters {
    margin-bottom: calc(40vw / 19.2);
  }

  div:has(> .filter):after {
    right: 20px;
    width: calc(14vw / 19.2);
    height: calc(14vw / 19.2);
  }

  .event-schedule .event-list {
    margin-bottom: calc(50vw / 19.2);
  }

  .event-item {
    padding: calc(25vw / 19.2);
  }

  .event-item-foot {
    gap: calc(20vw / 19.2);
    margin-top: calc(34vw / 19.2);
  }

  .event-schedule .show-more {
    margin-bottom: calc(100vw / 19.2);
  }
}

/* Tablet */
@media (max-width: 1280px) { 
  /* Event Schedule */
  /* Filters */
  .filters { 
    margin-bottom: 30px; 
  }

  .event-schedule .event-list { 
    gap: 16px; 
  }

  .event-item { 
    width: calc((100% - 16px) / 2); 
  }

  .event-info-head { 
    margin-bottom: 30px; 
  }

  .event-item-title { 
    line-height: 28px; 
  }

  .event-slider .event-details { 
    margin-right: 0; 
  }

  .event-details * { 
    line-height: 180%; 
    font-size: 18px; 
  }

  .controls {
    justify-content: flex-start;
    gap: calc(16vw / 12.8);
    margin-bottom: calc(68vw / 12.8);
  }

  div:has(> .event-slider) .slick-next,
  div:has(> .event-slider) .slick-prev {
    width: 45px;
    height: 45px;
  }

  .event-info {
    min-height: 456px;
    padding: 58px 40px 116px 40px;
  }

  .event-info-title {
    font-size: 2rem;
  }

  div:has(> .event-slider) {
    max-width: calc((100% - (12vw / 12.8)) / 2);
  }

  .event-img {
    width: calc((100% - (12vw / 12.8)) / 2);
    object-fit: cover;
  }
}

@media (min-width: 769px) and (max-width: 1280px) { 
    /* Event Schedule */
    .event-schedule {
        background-position: bottom 0 left 25%;
    }

    .event-schedule .event-list, .event-schedule .views-element-container > div { 
      gap: 16px; 
    }

    /* Serach Form */
    .search-row {
        gap: calc(16vw / 12.8);
    }

    .search-form input[type="text"] {
        max-width: 256px;
        min-width: unset;
    }

    .search-form input[type="text"]::placeholder {
        font-weight: 700;
    }

    .button {
        padding: 15px 30px;
    }

    /* Filters */
    .filters {
        display: grid;
        gap: 16px;
    }

    .filter {
        min-width: unset;
    }

    .filter h3 {
        font-size: 1.125rem;
    }
}

/* Mobile */
@media (max-width: 768px) { 
  /* Event Schedule */
  .event-schedule { 
    background-position: bottom 0 left 30%; 
  }

  /* Search Form */
  .search-row {
    flex-direction: column;
    align-items: flex-start;
    gap: 30px;
    margin-bottom: 30px;
  }

  .search-form {
    width: 100%;
    gap: 12px;
  }

  .search-bar {
    width: 100%;
  }

  .search-form input[type="text"] {
    min-width: 100%;
  }

  .filters {
    display: flex;
    justify-content: center;
    column-gap: 12px;
    row-gap: 15px;
  }

  .filter {
    width: calc((100% - 12px) / 2);
    min-width: unset;
  }

  .filter h3 {
    font-size: 1rem;
  }

  /* Event Schedule */
  .event-schedule {
    background-position: bottom 0 left 30%;
  }
  /* Search Form */
  .search-row {
    /* height: 58px; */
    flex-direction: column;
    align-items: flex-start;
    gap: 30px;
    margin-bottom: 30px;
  }

  .search-form {
    width: 100%;
    gap: 12px;
  }

  .search-bar {
    width: 100%;
  }

  .search-form input[type="text"] {
    min-width: 100%;
  }

  .filters {
    /* display: grid; */
    /* grid-template-columns: repeat(2, 1fr); */
    display: flex;
    justify-content: center;
    column-gap: 12px;
    row-gap: 15px;
  }

  .filter {
    /* width: 100%; */
    width: calc((100% - 12px) / 2);
    min-width: unset;
  }

  .filter h3 {
    font-size: 1rem;
  }

  /* Event Schedule List */
  .event-schedule .event-list { 
    display: flex; 
    flex-direction: column; 
    gap: 15px; 
  }

  .event-item {
    width: 100%;
  }

  .event-schedule .event-item .detail {
    /* margin-bottom: 20px; */
  }

  .event-schedule .event-item .detail:last-child {
    margin-bottom: 0;
  }

  .event-item-foot {
    margin-top: 30px;
  }
}
