body {
  margin: 0;
  font-family: "Inter", "Noto Sans SC", "Noto Sans TC", sans-serif;
  overflow-x: hidden;
}

*,
*:before,
*:after {
  -webkit-box-sizing: border-box;
          box-sizing: border-box;
}

img {
  max-width: 100%;
  height: auto;
}

p {
  margin: 0 0 24px;
  line-height: 1.5;
}
p:last-child {
  margin-bottom: 0;
}

.cic-title {
  font-size: 2rem;
  font-weight: 500;
  line-height: 1.25;
  margin: 0 0 24px;
}
@media screen and (max-width: 991px) {
  .cic-title {
    font-size: 1.75rem;
  }
}

button {
  font-size: 1rem;
  padding: 0;
  border: none;
  color: #000;
  background-color: transparent;
  cursor: pointer;
  font-family: "Inter", "Noto Sans SC", "Noto Sans TC", sans-serif;
}

.more-btn {
  position: relative;
  display: inline-block;
  padding: 12px 24px;
  border: 1px #3bc3c5 solid;
  border-radius: 50px;
  font-weight: 500;
  color: #fff;
  background-color: #3bc3c5;
  text-decoration: none;
  -webkit-transition: 0.3s all ease;
  transition: 0.3s all ease;
}
.more-btn:after {
  content: "";
  display: inline-block;
  width: 6px;
  height: 6px;
  border-top: 2px #fff solid;
  border-right: 2px #fff solid;
  -webkit-transform: rotate(45deg);
      -ms-transform: rotate(45deg);
          transform: rotate(45deg);
  margin-left: 4px;
  position: relative;
  top: -3px;
  left: 0;
  -webkit-transition: 0.3s all ease;
  transition: 0.3s all ease;
}
.more-btn:hover {
  background-color: #fff;
  color: #3bc3c5;
}
.more-btn:hover:after {
  left: 4px;
  border-top-color: #3bc3c5;
  border-right-color: #3bc3c5;
}

.circle-icon {
  width: 44px;
  height: 44px;
  border-radius: 50%;
  border: 1px #ddd solid;
  background-size: 16px;
  background-position: center;
  background-repeat: no-repeat;
}
.circle-icon__calendar {
  background-image: url(../images/icon-calendar.png);
}

select {
  cursor: pointer;
}

.cust-select {
  position: relative;
  width: 100%;
}
.cust-select select {
  position: absolute;
  inset: 0;
  border: 0;
  background: transparent;
  opacity: 0;
  z-index: 2;
}
.cust-select__mask {
  display: block;
  font-size: 1.125rem;
  font-weight: bold;
  padding: 6px 0;
  padding-right: 20px;
  position: relative;
  border-bottom: 1px #dedede solid;
}
.cust-select__mask:after {
  content: "";
  display: block;
  width: 8px;
  height: 8px;
  position: absolute;
  top: calc(50% - 7px);
  right: 2px;
  border-right: 2px #3bc3c5 solid;
  border-bottom: 2px #3bc3c5 solid;
  -webkit-transform: rotate(45deg);
      -ms-transform: rotate(45deg);
          transform: rotate(45deg);
}

.wrapper {
  width: 100%;
  max-width: 1400px;
  padding: 0 38px;
  margin: 0 auto;
}
@media screen and (max-width: 479px) {
  .wrapper {
    padding: 0 24px;
  }
}

.header {
  background-color: #fff;
  padding: 28px 0;
  position: relative;
  /* top: 100px; */
  opacity: 0;
  -webkit-transition: 0.6s opacity ease;
  transition: 0.6s opacity ease;
}
.header.in-view {
  /* top: 0; */
  opacity: 1;
}
.home .header, .blue-inner .header {
  background-color: #e8f8f8;
}
@media screen and (max-width: 767px) {
  .header {
    padding: 24px 0;
  }
}
.header__container {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: justify;
      -ms-flex-pack: justify;
          justify-content: space-between;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
}
@media screen and (max-width: 1200px) {
  .header__container {
    -webkit-box-align: start;
        -ms-flex-align: start;
            align-items: flex-start;
  }
}
.header__logo-container {
  display: inline-block;
  /* width: 140px; */
  width: 160px;
  font-size: 0;
}
@media screen and (max-width: 767px) {
  .header__logo-container {
    /* width: 110px; */
    width: 125px;
  }
}
@media screen and (max-width: 479px) {
  .header__logo-container {
    /* width: 90px; */
    width: 100px;
  }
}
@media screen and (max-width: 374px) {
  .header__logo-container {
    /* width: 66px; */
    width: 76px;
  }
}
.header__logo-container img {
  width: 100%;
}
.header__right {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  /* @media screen and (max-width: 560px) {
      flex-flow: column;
      align-items: flex-end;
  } */
}

.header-menu {
  padding-right: 24px;
  margin-right: 24px;
  border-right: 1px #dedede solid;
  /* @media screen and (max-width: 479px) {
      padding-right: 12px;
      margin-right: 12px;
  } */
  /* @media screen and (max-width: 560px) {
      padding-right: 0;
      margin-right: 0;
      border-right: 0;
      order: 2;
  } */
}
@media screen and (max-width: 1200px) {
  .header-menu {
    display: none;
    border-right: 0;
    margin-right: 0;
  }
}
.header-menu__link {
  display: inline-block;
  vertical-align: middle;
  color: #000;
  margin: 5px;
  text-decoration: none;
  border-top: 1px transparent solid;
  border-bottom: 1px transparent solid;
  -webkit-transition: 0.3s all ease;
  transition: 0.3s all ease;
}
@media screen and (max-width: 1200px) {
  .header-menu__link {
    font-size: 1.75rem;
    margin: 12px 0;
    font-weight: bold;
  }
}
.header-menu__link:hover {
  color: #3bc3c5;
}
.header-menu__link.active {
  border-bottom-color: #3bc3c5;
}
.header-menu__link:last-child {
  margin-right: 0;
}
.header-menu__btn {
  position: relative;
  display: none;
  width: 48px;
  height: 22px;
  margin-left: 28px;
}
@media screen and (max-width: 1200px) {
  .header-menu__btn {
    display: inline-block;
  }
}
.header-menu__btn-line {
  position: absolute;
  right: 0;
  display: block;
  width: 100%;
  height: 2px;
  background-color: #000;
  -webkit-transition: 0.3s all ease;
  transition: 0.3s all ease;
}
.header-menu__btn-line._1 {
  top: 2px;
}
.header-menu__btn-line._2 {
  top: calc(50% - 1px);
}
.header-menu__btn-line._3 {
  width: 80%;
  right: 20%;
  bottom: 2px;
}
.active .header-menu__btn-line._1, .active .header-menu__btn-line._3 {
  width: 30px;
}
.active .header-menu__btn-line._1 {
  top: 0;
  -webkit-transform: rotate(-45deg);
      -ms-transform: rotate(-45deg);
          transform: rotate(-45deg);
  -webkit-transform-origin: right top;
      -ms-transform-origin: right top;
          transform-origin: right top;
}
.active .header-menu__btn-line._2 {
  width: 0;
  opacity: 0;
}
.active .header-menu__btn-line._3 {
  right: 0;
  bottom: 0;
  -webkit-transform: rotate(45deg);
      -ms-transform: rotate(45deg);
          transform: rotate(45deg);
  -webkit-transform-origin: right bottom;
      -ms-transform-origin: right bottom;
          transform-origin: right bottom;
}

@media screen and (max-width: 1200px) {
  .mb-menu-open {
    overflow: hidden;
  }
}
@media screen and (max-width: 1200px) {
  .mb-menu-open .header {
    position: fixed;
    top: 0;
    left: 0;
    width: 100%;
    background-color: #fff;
    z-index: 99;
  }
}
@media screen and (max-width: 1200px) {
  .mb-menu-open .header-menu {
    position: fixed;
    top: 220px;
    left: 0;
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
        -ms-flex-flow: column;
            flex-flow: column;
    -webkit-box-align: center;
        -ms-flex-align: center;
            align-items: center;
    -webkit-box-pack: center;
        -ms-flex-pack: center;
            justify-content: center;
    width: 100%;
    height: calc(100% - 220px);
    padding: 24px;
    background-color: #fff;
    overflow: auto;
    z-index: 99;
  }
}
@media screen and (max-width: 767px) {
  .mb-menu-open .header-menu {
    top: 177px;
    height: calc(100% - 177px);
  }
}
@media screen and (max-width: 479px) {
  .mb-menu-open .header-menu {
    top: 152px;
    height: calc(100% - 152px);
  }
}
@media screen and (max-width: 374px) {
  .mb-menu-open .header-menu {
    top: 128px;
    height: calc(100% - 128px);
  }
}

.header-lang {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  line-height: 1.25;
}
.header-lang__link {
  margin-right: 12px;
  color: #8f8f8f;
  text-decoration: none;
  border-top: 1px transparent solid;
  border-bottom: 1px transparent solid;
  -webkit-transition: 0.3s all ease;
  transition: 0.3s all ease;
}
@media screen and (max-width: 479px) {
  .header-lang__link {
    font-size: 0.875rem;
    margin-right: 8px;
  }
}
.header-lang__link:hover {
  color: #000;
}
.header-lang__link:last-child {
  margin-right: 0;
}
.header-lang__link.active {
  color: #000;
  font-weight: bold;
  border-bottom-color: #3bc3c5;
}

.home-banner,
.inner-banner {
  /* display: flex; */
  display: none;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  position: relative;
  top: 100px;
  min-height: 50vh;
  color: #fff;
  background-color: #3cb4e4;
  opacity: 0;
  -webkit-transition: 0.8s all ease;
  transition: 0.8s all ease;
}
.home-banner.in-view,
.inner-banner.in-view {
  top: 0;
  opacity: 1;
}
.home-banner__title,
.inner-banner__title {
  font-size: 5rem;
  max-width: 560px;
  margin: 0;
  padding: 40px 0;
  position: relative;
  top: -200px;
  opacity: 0;
  -webkit-transition: 0.8s all ease;
  transition: 0.8s all ease;
}
.in-view .home-banner__title,
.in-view .inner-banner__title {
  top: 0;
  opacity: 1;
}
@media screen and (max-width: 767px) {
  .home-banner__title,
  .inner-banner__title {
    font-size: 3rem;
  }
}

.inner-banner {
  min-height: 35vh;
}

.lead-in {
  /* margin: 5vh 0 10vh; */
  margin: 0 0 10vh;
}
.home .lead-in, .blue-inner .lead-in {
  /* margin-top: 0; */
  /* padding-top: 5vh; */
  padding-bottom: 10vh;
  background-color: #e8f8f8;
}
.blue-inner .lead-in {
  padding-bottom: 3vh;
  margin-bottom: 5vh;
}
.lead-in__title {
  font-size: 2.8125rem;
}
.lead-in__title:last-child {
  margin-bottom: 0;
}
@media screen and (max-width: 1400px) {
  .lead-in__title {
    font-size: 2.75rem;
  }
}
@media screen and (max-width: 1279px) {
  .lead-in__title {
    font-size: 2rem;
  }
}
@media screen and (max-width: 479px) {
  .lead-in__title {
    font-size: 1.75rem;
  }
}
.lead-in__container {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -ms-flex-wrap: wrap;
      flex-wrap: wrap;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
}
@media screen and (max-width: 767px) {
  .lead-in__container {
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
        -ms-flex-flow: column;
            flex-flow: column;
    text-align: center;
  }
}
.lead-in__textarea {
  width: 60%;
  padding-right: 48px;
  position: relative;
  left: -100px;
  opacity: 0;
  -webkit-transition: 0.8s all ease;
  transition: 0.8s all ease;
}
.in-view .lead-in__textarea {
  left: 0;
  opacity: 1;
}
.lead-in__textarea--full {
  width: 100%;
  padding-right: 0;
}
@media screen and (max-width: 767px) {
  .lead-in__textarea {
    width: 100%;
    padding-right: 0;
    padding-bottom: 24px;
    top: 100px;
    left: auto;
    -webkit-box-ordinal-group: 2;
        -ms-flex-order: 1;
            order: 1;
  }
  .in-view .lead-in__textarea {
    top: 0;
  }
}
.lead-in__img {
  width: 40%;
  font-size: 0;
  position: relative;
  left: 100px;
  opacity: 0;
  -webkit-transition: 0.8s all ease;
  transition: 0.8s all ease;
}
.in-view .lead-in__img {
  left: 0;
  opacity: 1;
}
@media screen and (max-width: 767px) {
  .lead-in__img {
    width: 100%;
    max-width: 480px;
    margin: 0 auto;
    top: 100px;
    left: auto;
    -webkit-box-ordinal-group: 4;
        -ms-flex-order: 3;
            order: 3;
  }
  .in-view .lead-in__img {
    top: 0;
  }
}
.lead-in__img img {
  width: 100%;
  display: block;
}
.lead-in__bottom {
  position: relative;
  top: 100px;
  opacity: 0;
  -webkit-transition: 0.8s all ease;
  transition: 0.8s all ease;
}
.in-view .lead-in__bottom {
  top: 0;
  opacity: 1;
}
@media screen and (max-width: 767px) {
  .lead-in__bottom {
    -webkit-box-ordinal-group: 3;
        -ms-flex-order: 2;
            order: 2;
    margin-bottom: 34px;
  }
}
.lead-in__logo-container {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -ms-flex-wrap: wrap;
      flex-wrap: wrap;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  width: 100%;
  max-width: 1300px;
  margin: 34px 0;
}
@media screen and (max-width: 767px) {
  .lead-in__logo-container {
    -webkit-box-pack: center;
        -ms-flex-pack: center;
            justify-content: center;
    margin: 0 auto 18px;
  }
}
.lead-in__logo-container img {
  height: 52px;
  margin: 14px 0;
  margin-right: 48px;
  -o-object-fit: contain;
     object-fit: contain;
}
.lead-in__logo-container img.cic {
  height: 60px;
  margin-top: 10px;
  margin-bottom: 10px;
}
@media screen and (max-width: 767px) {
  .lead-in__logo-container img {
    height: 50px;
    margin: 14px 34px;
    max-width: calc(100% - 68px);
  }
  .lead-in__logo-container img.cic {
    height: 56px;
    margin-top: 11px;
    margin-bottom: 11px;
  }
}
@media screen and (max-width: 479px) {
  .lead-in__logo-container img {
    height: 46px;
    margin: 14px 14px;
    max-width: calc(100% - 28px);
  }
  .lead-in__logo-container img.cic {
    height: 52px;
    margin-top: 11px;
    margin-bottom: 11px;
  }
}

.event-calendar {
  position: relative;
  top: 100px;
  opacity: 0;
  -webkit-transition: 0.8s all ease;
  transition: 0.8s all ease;
}
.event-calendar.in-view {
  top: 0;
  opacity: 1;
}
@media screen and (max-width: 767px) {
  .event-calendar__title {
    text-align: center;
  }
}
.event-calendar__date {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -ms-flex-wrap: wrap;
      flex-wrap: wrap;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  margin-bottom: 12px;
}
.event-calendar__date-btn-container {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  -ms-flex-wrap: wrap;
      flex-wrap: wrap;
  margin-left: -12px;
  margin-right: 24px;
  padding-right: 12px;
  border-right: 1px #ddd solid;
}
@media screen and (max-width: 767px) {
  .event-calendar__date-btn-container {
    width: 100%;
    margin: 0;
    -webkit-box-pack: center;
        -ms-flex-pack: center;
            justify-content: center;
    padding-right: 0;
    border-right: 0;
  }
}
.event-calendar__date-btn {
  margin: 4px 12px;
  padding: 4px 0;
  font-size: 1.125rem;
  border-bottom: 1px transparent solid;
  -webkit-transition: 0.3s all ease;
  transition: 0.3s all ease;
}
.event-calendar__date-btn:hover {
  border-bottom-color: #3bc3c5;
}
.event-calendar__date-btn.active {
  border-bottom-color: #3bc3c5;
  font-weight: bold;
}
.event-calendar__datepicker-container {
  position: relative;
}
@media screen and (max-width: 767px) {
  .event-calendar__datepicker-container {
    margin: 12px auto 0;
    width: 100%;
  }
}
.event-calendar__show-popup {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  font-size: 1.125rem;
}
@media screen and (max-width: 767px) {
  .event-calendar__show-popup {
    margin: 0 auto;
  }
}
.event-calendar__show-popup .circle-icon {
  margin-right: 8px;
}
.event-calendar__filter {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  max-width: 991px;
}
@media screen and (max-width: 767px) {
  .event-calendar__filter {
    -ms-flex-wrap: wrap;
        flex-wrap: wrap;
  }
}
.event-calendar__filter-item {
  width: calc(33.3333333333% - 48px);
  margin: 0 24px;
  position: relative;
}
@media screen and (max-width: 767px) {
  .event-calendar__filter-item {
    width: 100%;
    margin: 4px 0;
  }
}
@media screen and (min-width: 768px) {
  .event-calendar__filter-item--auto {
    width: auto;
  }
}
.event-calendar__filter-item:after {
  content: "";
  display: block;
  width: 1px;
  height: 100%;
  position: absolute;
  top: 0;
  right: -24px;
  background-color: #dedede;
}
@media screen and (max-width: 767px) {
  .event-calendar__filter-item:after {
    display: none;
  }
}
.event-calendar__filter-item:first-child {
  margin-left: 0;
}
.event-calendar__filter-item:last-child:after {
  display: none;
}
.event-calendar__popup {
  display: none;
  position: absolute;
  top: calc(100% + 20px);
  left: 50%;
  width: 400px;
  padding: 38px 24px;
  border-radius: 30px;
  background-color: #fff;
  z-index: 10;
  -webkit-box-shadow: 0 0 28px rgba(0, 0, 0, 0.2);
          box-shadow: 0 0 28px rgba(0, 0, 0, 0.2);
  -webkit-transform: translateX(-50%);
      -ms-transform: translateX(-50%);
          transform: translateX(-50%);
}
@media screen and (max-width: 767px) {
  .event-calendar__popup {
    /* left: 0; */
    /* transform: none; */
    width: 100%;
    max-width: 400px;
  }
}
.event-calendar__popup:before {
  content: "";
  display: block;
  border: 15px transparent solid;
  border-bottom-color: #fff;
  position: absolute;
  top: -30px;
  left: calc(50% - 15px);
  /* @media screen and (max-width: 767px) {
      left: 50px;
  } */
}
.event-calendar__range-btn {
  display: block;
  width: 100%;
  position: relative;
  font-size: 1.125rem;
  padding: 12px 0;
  padding-right: 18px;
  text-align: left;
  border-bottom: 1px #dedede solid;
}
.event-calendar__range-btn:after {
  content: "";
  display: inline-block;
  width: 6px;
  height: 6px;
  border-top: 2px #3bc3c5 solid;
  border-right: 2px #3bc3c5 solid;
  -webkit-transform: rotate(45deg);
  -ms-transform: rotate(45deg);
  transform: rotate(45deg);
  position: absolute;
  top: calc(50% - 3px);
  right: 2px;
}
.event-calendar__range-btn:last-child {
  border-bottom: 0;
}
.event-calendar__item-container {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -ms-flex-wrap: wrap;
      flex-wrap: wrap;
  -webkit-box-pack: start;
      -ms-flex-pack: start;
          justify-content: flex-start;
  -webkit-box-align: start;
      -ms-flex-align: start;
          align-items: flex-start;
  padding-top: 24px;
  margin: 0 -24px;
}
@media screen and (max-width: 479px) {
  .event-calendar__item-container {
    margin: 0 -16px;
  }
}
@media screen and (max-width: 479px) {
  .event-calendar__item-container {
    margin: 0 auto;
  }
}
.event-calendar__item {
  width: 33.3333333333%;
  padding: 0 24px 58px;
}
@media screen and (max-width: 991px) {
  .event-calendar__item {
    width: 50%;
    padding: 0 16px 58px;
  }
}
@media screen and (max-width: 479px) {
  .event-calendar__item {
    width: 100%;
    padding: 0 0 48px;
  }
}
.event-calendar__item-body {
  display: block;
  color: #000;
  text-decoration: none;
}
.event-calendar__item-img-holder {
  display: block;
  width: 100%;
  padding-bottom: 75%;
  margin-bottom: 24px;
  overflow: hidden;
  position: relative;
}
.event-calendar__item-img {
  position: absolute;
  inset: 0;
  background-size: cover;
  background-position: center;
  -webkit-transition: 0.3s all ease;
  transition: 0.3s all ease;
}
.event-calendar__item-body:hover .event-calendar__item-img {
  -webkit-transform: scale(1.2);
      -ms-transform: scale(1.2);
          transform: scale(1.2);
}
.event-calendar__item-name {
  margin: 12px 0;
  font-size: 1.25rem;
  line-height: 1.25;
  -webkit-transition: 0.3s all ease;
  transition: 0.3s all ease;
}
.event-calendar__item-body:hover .event-calendar__item-name {
  color: #3bc3c5;
}
.event-calendar__item-textarea p {
  color: #333;
  line-height: 1.5;
  margin-bottom: 12px;
}
.event-calendar__icon-text {
  display: block;
  font-weight: bold;
  padding-left: 22px;
  margin-top: 4px;
  background-size: 16px auto;
  background-repeat: no-repeat;
  background-position: left center;
}
.event-calendar__item-date {
  background-image: url(../images/icon-calendar.png);
  -webkit-transition: 0.3s all ease;
  transition: 0.3s all ease;
}
.event-calendar__item-date:hover {
  color: #3bc3c5;
}
.event-calendar__item-date.no-function:hover {
  color: inherit;
}
.event-calendar__item-time {
  background-image: url(../images/icon-clock.svg);
}
.event-calendar__item-type-holder {
  margin-top: 12px;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -ms-flex-wrap: wrap;
      flex-wrap: wrap;
}
.event-calendar__item-type-btn-container {
  padding-right: 12px;
  margin-right: 12px;
  border-right: 1px #3bc3c5 solid;
}
.event-calendar__item-type-btn-container.empty-location {
  padding-right: 0;
  margin-right: 0;
  border-right: 0;
}
.event-calendar__item-type-btn {
  font-size: 0.875rem;
  -webkit-transition: 0.3s all ease;
  transition: 0.3s all ease;
  text-align: left;
}
.event-calendar__item-type-btn:hover {
  color: #3bc3c5;
}
.event-calendar__item-location {
  font-size: 0.875rem;
}
.event-calendar__control {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  padding: 38px 0 58px;
}
.event-calendar__prev-btn, .event-calendar__next-btn {
  width: 50px;
  height: 50px;
  -ms-flex-negative: 0;
      flex-shrink: 0;
  border-radius: 50%;
  border: 1px #dedede solid;
  position: relative;
  -webkit-transition: 0.3s all ease;
  transition: 0.3s all ease;
}
.event-calendar__prev-btn:before, .event-calendar__next-btn:before {
  content: "";
  display: block;
  width: 8px;
  height: 8px;
  border-top: 2px #000 solid;
  border-left: 2px #000 solid;
  -webkit-transform: rotate(-45deg);
      -ms-transform: rotate(-45deg);
          transform: rotate(-45deg);
  position: absolute;
  top: calc(50% - 4px);
  left: calc(50% - 3px);
  -webkit-transition: 0.3s all ease;
  transition: 0.3s all ease;
}
.event-calendar__prev-btn:hover, .event-calendar__next-btn:hover {
  border-color: #3bc3c5;
  background-color: #3bc3c5;
}
.event-calendar__prev-btn:hover:before, .event-calendar__next-btn:hover:before {
  border-top-color: #fff;
  border-left-color: #fff;
}
.event-calendar__next-btn:before {
  -webkit-transform: rotate(135deg);
      -ms-transform: rotate(135deg);
          transform: rotate(135deg);
  left: calc(50% - 5px);
}
.event-calendar__paging {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  padding: 0 24px;
}
.event-calendar__paging-input {
  width: 50px;
  height: 50px;
  -ms-flex-negative: 0;
      flex-shrink: 0;
  border-radius: 50%;
  border: 1px #dedede solid;
  text-align: center;
}
.event-calendar__paging-of {
  padding: 0 8px;
}

.ui-datepicker-calendar {
  width: 100%;
  margin: 12px 0 24px;
  text-align: center;
}
.ui-datepicker-calendar th {
  font-weight: 500;
}
.ui-datepicker-calendar td {
  position: relative;
  width: 14.2857142857%;
  line-height: 0;
}
.ui-datepicker-calendar td:before {
  content: "";
  display: block;
  width: 100%;
  height: 0;
  padding-bottom: 100%;
}
.ui-datepicker-calendar td a {
  position: absolute;
  /* top: 50%;
  left: 50%;
  transform: translate(-50%, -50%); */
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  -webkit-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center;
  color: #000;
  text-decoration: none;
}

.ui-datepicker-header {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: justify;
      -ms-flex-pack: justify;
          justify-content: space-between;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
}

.ui-datepicker-title {
  font-weight: bold;
}

.ui-datepicker-prev,
.ui-datepicker-next {
  width: 50px;
  height: 50px;
  font-size: 0;
  border-radius: 50%;
  border: 1px #dedede solid;
  background-image: url(../images/arrow-long-left.png);
  background-size: 22px;
  background-position: center;
  background-repeat: no-repeat;
  -ms-flex-negative: 0;
      flex-shrink: 0;
  cursor: pointer;
}
@media screen and (max-width: 374px) {
  .ui-datepicker-prev,
  .ui-datepicker-next {
    width: 40px;
    height: 40px;
    background-size: 16px;
  }
}

.ui-datepicker-next {
  background-image: url(../images/arrow-long-right.png);
  -webkit-box-ordinal-group: 4;
      -ms-flex-order: 3;
          order: 3;
}

.ui-datepicker-current-day:after {
  content: "";
  display: block;
  width: 100%;
  height: 100%;
  position: absolute;
  top: 0;
  left: 0;
  border-radius: 50%;
  background-color: #3bc3c5;
  z-index: -1;
}
.ui-datepicker-calendar .ui-datepicker-current-day a {
  color: #fff;
}

.footer {
  padding: 58px 0;
  color: #fff;
  background-color: #3bc3c5;
  position: relative;
  /* top: 100px; */
  opacity: 0;
  -webkit-transition: 0.8s all ease;
  transition: 0.8s all ease;
}
.footer.in-view {
  /* top: 0; */
  opacity: 1;
}
.footer__container {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
}
@media screen and (max-width: 479px) {
  .footer__container {
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
        -ms-flex-flow: column;
            flex-flow: column;
  }
}
.footer__left {
  -webkit-box-flex: 1;
      -ms-flex-positive: 1;
          flex-grow: 1;
}
@media screen and (max-width: 479px) {
  .footer__left {
    font-size: 0.875rem;
    text-align: center;
  }
}
.footer__left a {
  color: #fff;
  text-decoration: none;
}
.footer__left a:hover {
  text-decoration: underline;
}
.footer__right {
  -ms-flex-negative: 0;
      flex-shrink: 0;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
}
@media screen and (max-width: 479px) {
  .footer__right {
    margin-top: 24px;
  }
}
.footer__social-icon {
  margin-left: 30px;
}
@media screen and (max-width: 479px) {
  .footer__social-icon {
    margin: 0 16px;
  }
}
.footer__social-icon img {
  width: auto;
  height: 34px;
}

.inner-textarea {
  margin: 10vh 0;
  position: relative;
  top: 100px;
  opacity: 0;
  -webkit-transition: 0.8s all ease;
  transition: 0.8s all ease;
}
.inner-textarea.in-view {
  top: 0;
  opacity: 1;
}
.inner-textarea h2 {
  font-size: 1.125rem;
  margin: 0;
  line-height: 1.5;
}

.text-group {
  display: inline-block;
  vertical-align: middle;
}

.tab-blk__filter {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  margin: -6px -12px 12px;
}
.tab-blk__filter-item {
  position: relative;
  font-size: 1rem;
  padding: 4px 0;
  margin: 6px 12px;
  border-bottom: 1px transparent solid;
  color: #000;
  text-decoration: none;
}
.tab-blk__filter-item.active {
  font-weight: bold;
  border-bottom-color: #47c7c8;
}

.two-blk__item {
  width: 100%;
  padding: 0 0 58px;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
}
@media screen and (min-width: 768px) {
  .two-blk__item:nth-child(even), .two-blk__item--reverse {
    -webkit-box-orient: horizontal;
    -webkit-box-direction: reverse;
        -ms-flex-flow: row-reverse;
            flex-flow: row-reverse;
  }
  .two-blk__item:nth-child(even) .two-blk__item-col:nth-child(2), .two-blk__item--reverse .two-blk__item-col:nth-child(2) {
    padding-left: 0;
    padding-right: 24px;
  }
  .two-blk__item:nth-child(even) .two-blk__item-col:nth-child(1), .two-blk__item--reverse .two-blk__item-col:nth-child(1) {
    padding-left: 24px;
    padding-right: 0;
  }
}
@media screen and (min-width: 992px) {
  .two-blk__item:nth-child(even) .two-blk__item-col:nth-child(2), .two-blk__item--reverse .two-blk__item-col:nth-child(2) {
    padding-right: 38px;
  }
  .two-blk__item:nth-child(even) .two-blk__item-col:nth-child(1), .two-blk__item--reverse .two-blk__item-col:nth-child(1) {
    padding-left: 38px;
  }
}
@media screen and (max-width: 767px) {
  .two-blk__item {
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
        -ms-flex-flow: column;
            flex-flow: column;
  }
}
.two-blk__item-col {
  -ms-flex-negative: 0;
      flex-shrink: 0;
  width: 50%;
  padding-right: 38px;
}
@media screen and (max-width: 991px) {
  .two-blk__item-col {
    padding-right: 24px;
  }
}
.two-blk__item-col:nth-child(2) {
  padding-left: 38px;
  padding-right: 0;
}
@media screen and (max-width: 991px) {
  .two-blk__item-col:nth-child(2) {
    padding-left: 24px;
  }
}
@media screen and (max-width: 767px) {
  .two-blk__item-col:nth-child(1) {
    width: 100%;
    padding-right: 0;
    padding-bottom: 24px;
  }
  .two-blk__item-col:nth-child(2) {
    width: 100%;
    padding-left: 0;
  }
}
.two-blk__item-col img {
  display: block;
  width: 100%;
}
.two-blk__item-col .event-calendar__item-date {
  margin-top: 12px;
}
.two-blk__item-head {
  display: block;
  color: #000;
  text-decoration: none;
}
.two-blk__item-head:hover .event-calendar__item-name {
  color: #3bc3c5;
}
.two-blk__item-img p {
  margin: 6px 0;
}
.two-blk__item-img p:last-child {
  margin-bottom: 0;
}

.detail-head {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -ms-flex-wrap: wrap;
      flex-wrap: wrap;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
}
.detail-head .event-calendar__item-date {
  -ms-flex-negative: 0;
      flex-shrink: 0;
  margin-top: 0;
  margin-right: 38px;
}
.detail-head__type-container {
  -ms-flex-negative: 0;
      flex-shrink: 0;
  -webkit-box-flex: 1;
      -ms-flex-positive: 1;
          flex-grow: 1;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -ms-flex-wrap: wrap;
      flex-wrap: wrap;
  margin-left: -1em;
}
.detail-head .event-calendar__item-type-btn,
.detail-head .event-calendar__item-location {
  margin-left: 1em;
}

.detail-banner {
  margin-top: -5vh;
  opacity: 0;
  background-image: -webkit-gradient(linear, left top, left bottom, color-stop(50%, #e8f8f8), color-stop(50%, #fff));
  background-image: linear-gradient(to bottom, #e8f8f8 50%, #fff 50%);
  -webkit-transition: 0.6s all ease;
  transition: 0.6s all ease;
}
.detail-banner.in-view {
  opacity: 1;
}

.detail-body__row {
  position: relative;
  top: 100px;
  margin: 68px 0;
  opacity: 0;
  -webkit-transition: 0.6s all ease;
  transition: 0.6s all ease;
}
.detail-body__row.in-view {
  top: 0;
  opacity: 1;
}
.detail-body__row .two-blk__item {
  padding-bottom: 0;
}

.detail-textarea {
  margin-bottom: 24px;
}
.detail-textarea:last-child {
  margin-bottom: 0;
}
.detail-textarea h2 {
  margin: 0 0 18px;
  font-weight: 400;
  line-height: 1.5;
}
.detail-textarea h2:last-child {
  margin-bottom: 0;
}
.detail-textarea__desc p {
  line-height: 1.5;
}
.detail-textarea__desc--justify p {
  text-align: justify;
}

.video-popup {
  display: none;
  position: fixed;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  z-index: 99;
}
.video-popup__btn {
  position: relative;
  display: block;
  font-size: 0;
  width: 100%;
}
.video-popup__btn:after {
  content: "";
  position: absolute;
  top: calc(50% - 50px);
  left: calc(50% - 50px);
  display: block;
  width: 100px;
  height: 100px;
  background-image: url(../images/detail/play-btn.png);
  background-position: center;
  background-repeat: no-repeat;
  background-size: 100px;
  z-index: 2;
}
.video-popup__btn img {
  display: block;
  width: 100%;
}
.video-popup__container {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  -webkit-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center;
  width: 100%;
  height: 100%;
}
.video-popup__close-bg {
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  background-color: rgba(0, 0, 0, 0.5);
  z-index: 1;
}
.video-popup .wrapper {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
      -ms-flex-flow: column;
          flex-flow: column;
  padding-top: 24px;
  padding-bottom: 24px;
  position: relative;
  z-index: 2;
}
.video-popup__close-btn {
  position: relative;
  width: 24px;
  height: 24px;
  display: block;
  margin-left: auto;
  margin-bottom: 12px;
  -ms-flex-negative: 0;
      flex-shrink: 0;
}
.video-popup__close-btn:before, .video-popup__close-btn:after {
  content: "";
  position: absolute;
  top: 50%;
  left: 0;
  display: block;
  width: 100%;
  height: 2px;
  background-color: #fff;
  -webkit-transform: rotate(45deg);
      -ms-transform: rotate(45deg);
          transform: rotate(45deg);
}
.video-popup__close-btn:after {
  -webkit-transform: rotate(-45deg);
      -ms-transform: rotate(-45deg);
          transform: rotate(-45deg);
}
.video-popup__iframe-container {
  width: 100%;
  height: 0;
  padding-bottom: 56.25%;
  position: relative;
}
.video-popup__iframe-container iframe {
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
}

.gallery-blk {
  -webkit-box-align: start;
      -ms-flex-align: start;
          align-items: flex-start;
}
.gallery-blk__thumb {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -ms-flex-wrap: wrap;
      flex-wrap: wrap;
  margin: -4px;
}
.gallery-blk__thumb-item {
  position: relative;
  width: calc(20% - 8px);
  margin: 4px;
  background-size: cover;
  background-position: center;
}
.gallery-blk__thumb-item:before {
  content: "";
  display: block;
  width: 100%;
  padding-bottom: 75%;
}
.gallery-blk__thumb-item:after {
  content: "";
  position: absolute;
  top: 0;
  left: 0;
  display: block;
  width: 100%;
  height: 100%;
  border: 0 #3bc3c5 solid;
  -webkit-transition: 0.3s all ease;
  transition: 0.3s all ease;
}
.gallery-blk__thumb-item.active:after, .gallery-blk__thumb-item:hover:after {
  border-width: 4px;
}/*# sourceMappingURL=style.css.map */