/*
* Scut, a collection of Sass utilities
* to ease and improve our implementations of common style-code patterns.
* v2.0.0
* Docs at http://ramseyinhouse.github.io/scut
*/
.sn_history_wrapper {
  position: relative;
}

.sn_history_bar {
  position: -webkit-sticky;
  position: sticky;
  top: 100%;
  left: 0;
  z-index: 2;
  width: 100%;
  height: 0;
}
.sn_history_bar__ct {
  width: 100%;
  height: 100%;
  position: relative;
}
.sn_history_bar__in {
  position: absolute;
  right: 0;
  bottom: 0.625rem;
  left: 0;
  height: auto;
}
@media only screen and (min-width: 62em) {
  .sn_history_bar__in {
    bottom: 1.875rem;
  }
}
.sn_history_bar__list {
  list-style-type: none;
  padding-left: 0;
  margin-top: 0;
  margin-bottom: 0;
  background: #fff;
  display: flex;
  flex-wrap: wrap;
  gap: 0.25rem;
  padding-top: 0.25rem;
  padding-right: 0.25rem;
  padding-bottom: 0.25rem;
  padding-left: 0.25rem;
  border-radius: 0.6875rem;
}
@media only screen and (min-width: 0em) and (max-width: 61.99em) {
  .sn_history_bar__list.__mobile_scroll {
    flex-wrap: nowrap;
    overflow-x: auto;
    scrollbar-width: thin;
    scrollbar-color: #0069A7 transparent;
  }
  @supports selector(::-webkit-scrollbar) {
    .sn_history_bar__list.__mobile_scroll {
      scrollbar-width: auto;
      scrollbar-color: auto;
    }
    .sn_history_bar__list.__mobile_scroll::-webkit-scrollbar {
      width: 0.5rem;
      height: 0.5rem;
    }
    .sn_history_bar__list.__mobile_scroll::-webkit-scrollbar-track {
      background: transparent;
    }
    .sn_history_bar__list.__mobile_scroll::-webkit-scrollbar-thumb {
      background-color: #0069A7;
      border-radius: 0.5rem;
      border: 0.0625rem solid transparent;
      background-clip: content-box;
    }
  }
}
.sn_history_bar__i {
  width: 3rem;
  height: 3rem;
}
.sn_history_bar__i.__current:has(.hover) .btn {
  --bs-btn-color: var(--bs-btn-hover-color, #fff);
  --bs-btn-bg: var(--bs-btn-hover-bg, #fff);
  --bs-btn-border-color: var(--bs-btn-hover-border-color, #0069A7);
}
.sn_history_bar__i.__current:has(.hover) .btn .hover {
  transform: translate3d(-8%, -24%, 0) rotate3d(0, 0, 1, -15deg);
}
.sn_history_bar__i.__current:not(:has(.hover)):hover .btn::before, .sn_history_bar__i.__current:not(:has(.hover)):active .btn::before {
  height: 100%;
}
.sn_history_bar__i .btn {
  --bs-btn-color: #000;
  --bs-btn-border-color: var(--bs-btn-bg);
  --bs-btn-font-weight: 500;
  --bs-btn-padding-x: 0.5rem;
  --bs-btn-padding-y: 0.5rem;
  width: 100%;
  height: 100%;
  display: inline-flex;
  align-items: center;
  justify-content: center;
}

.sn_history {
  position: relative;
  padding-top: 5.125rem;
  padding-bottom: 5.125rem;
  margin-top: -5.125rem;
}
@media only screen and (min-width: 62em) {
  .sn_history {
    padding-top: 7rem;
    padding-bottom: 7rem;
    margin-top: -7rem;
  }
}
.sn_history__bookmark {
  visibility: hidden;
}
.sn_history__chapter {
  overflow: hidden;
  position: -webkit-sticky;
  position: sticky;
  margin-top: 5.125rem;
  top: 5.125rem;
  left: 0;
  z-index: 1;
}
@media only screen and (min-width: 62em) {
  .sn_history__chapter {
    margin-top: 7rem;
    top: 7rem;
  }
}
.sn_history__i {
  background: #fff;
  border-radius: 1rem;
}
.sn_history__i__in {
  padding-top: 2.125rem;
  padding-bottom: 2.125rem;
  padding-left: 0.3125rem;
  padding-right: 0.3125rem;
  display: flex;
  flex-direction: column;
  align-items: center;
  gap: 5.75rem;
}
@media only screen and (min-width: 0em) and (max-width: 35.99em) {
  .sn_history__i__in {
    gap: 2.75rem;
  }
}
@media only screen and (min-width: 36em) {
  .sn_history__i__in {
    padding-top: 2.75rem;
    padding-bottom: 2.75rem;
    gap: 4rem;
  }
}
@media only screen and (min-width: 62em) {
  .sn_history__i__in {
    padding-top: 4rem;
    padding-bottom: 4rem;
    flex-direction: row;
    gap: 0;
  }
}
@media only screen and (min-width: 62em) and (max-width: 74.99em) {
  .sn_history__i__in {
    padding-left: 0.625rem;
    padding-right: 0.625rem;
  }
}
@media only screen and (min-width: 87.5em) {
  .sn_history__i__in {
    padding-top: 4.75rem;
    padding-bottom: 4.75rem;
  }
}
.sn_history__i__img {
  flex-shrink: 0;
  position: relative;
  width: 13.5rem;
  max-width: 30%;
  aspect-ratio: 413/573;
}
@media only screen and (min-width: 36em) {
  .sn_history__i__img {
    width: 17.25rem;
    max-width: 35%;
  }
}
@media only screen and (min-width: 48em) {
  .sn_history__i__img {
    width: 20rem;
  }
}
@media only screen and (min-width: 0em) and (max-width: 61.99em) {
  .sn_history__i__img {
    order: -1;
  }
}
.sn_history__i__img__in {
  position: absolute;
  top: 50%;
  left: 50%;
  transform: translate3d(-50%, -50%, 0);
  width: 19.375rem;
  max-width: 100%;
  aspect-ratio: 310/387;
  transition: all 1s cubic-bezier(0.7, 0, 0, 1);
}
@media only screen and (min-width: 62em) and (max-width: 74.99em) {
  .sn_history__i__img__in {
    width: 15rem;
    max-width: 80%;
  }
}
.sn_history__i__img__i {
  width: 100%;
  height: 100%;
  position: relative;
  overflow: hidden;
  background: #E6F0F6;
  border-radius: 0.5rem;
}
.sn_history__i__ct {
  width: 100%;
  text-align: center;
}
@media only screen and (min-width: 62em) {
  .sn_history__i__ct {
    width: 50%;
    flex-grow: 1;
    text-align: left;
    padding-right: 0.875rem;
    padding-left: 5.75rem;
  }
}
@media only screen and (min-width: 62em) and (max-width: 74.99em) {
  .sn_history__i__ct {
    padding-right: 1rem;
    padding-left: 4rem;
  }
}
@media only screen and (min-width: 62em) {
  .sn_history__i__ct.__reverse {
    padding-right: 5.75rem;
    padding-left: 0.875rem;
  }
}
@media only screen and (min-width: 62em) and (max-width: 74.99em) {
  .sn_history__i__ct.__reverse {
    padding-right: 4rem;
    padding-left: 1rem;
  }
}
.sn_history__i__year {
  --bs-heading-color: #0069A7;
}
@media only screen and (min-width: 62em) {
  .sn_history__i__year {
    width: -webkit-fit-content;
    width: -moz-fit-content;
    width: fit-content;
  }
}
.sn_history__i__year:focus-visible {
  outline-color: rgba(0, 105, 167, 0.2);
}
.sn_history__i__back_to_bar {
  overflow: visible;
  position: relative;
  z-index: 10;
  height: 0;
  opacity: 0;
  transition: opacity 0.35s ease;
}
.sn_history__i__back_to_bar .btn {
  position: absolute;
  top: 0;
  left: 0;
}
.sn_history__i__back_to_bar:has(.btn:focus), .sn_history__i__back_to_bar:has(:focus-visible) {
  opacity: 1;
}
@media only screen and (min-width: 62em) {
  .sn_history__i.__reverse .sn_history__i__ct {
    padding-right: 5.75rem;
    padding-left: 0.875rem;
  }
}
@media only screen and (min-width: 0em) and (max-width: 61.99em) {
  .sn_history__i.__in .sn_history__i__img__in:first-child:not(:last-child), .sn_history__i:hover .sn_history__i__img__in:first-child:not(:last-child) {
    transform: translate3d(-90%, -45%, 0) rotate3d(1, 1, 1, -6deg);
  }
  .sn_history__i.__in .sn_history__i__img__in:last-child:not(:first-child), .sn_history__i:hover .sn_history__i__img__in:last-child:not(:first-child) {
    transform: translate3d(-10%, -35%, 0) rotate3d(1, 1, 1, 11deg);
  }
}
@media only screen and (min-width: 62em) {
  .sn_history__i.__in .sn_history__i__img__in:first-child:not(:last-child), .sn_history__i:hover .sn_history__i__img__in:first-child:not(:last-child) {
    transform: translate3d(-40%, -70%, 0) rotate3d(1, 1, 1, -6deg);
  }
  .sn_history__i.__in .sn_history__i__img__in:last-child:not(:first-child), .sn_history__i:hover .sn_history__i__img__in:last-child:not(:first-child) {
    transform: translate3d(-60%, -30%, 0) rotate3d(1, 1, 1, 11deg);
  }
}
@media only screen and (min-width: 0em) and (max-width: 61.99em) {
  .sn_history__i.__in .sn_history__i__img__in.__reverse:first-child:not(:last-child), .sn_history__i:hover .sn_history__i__img__in.__reverse:first-child:not(:last-child) {
    transform: translate3d(-10%, -45%, 0) rotate3d(1, 1, 1, -6deg);
  }
  .sn_history__i.__in .sn_history__i__img__in.__reverse:last-child:not(:first-child), .sn_history__i:hover .sn_history__i__img__in.__reverse:last-child:not(:first-child) {
    transform: translate3d(-90%, -35%, 0) rotate3d(1, 1, 1, 11deg);
  }
}
@media only screen and (min-width: 62em) {
  .sn_history__i.__in .sn_history__i__img__in.__reverse:first-child:not(:last-child), .sn_history__i:hover .sn_history__i__img__in.__reverse:first-child:not(:last-child) {
    transform: translate3d(-60%, -70%, 0) rotate3d(1, 1, 1, -6deg);
  }
  .sn_history__i.__in .sn_history__i__img__in.__reverse:last-child:not(:first-child), .sn_history__i:hover .sn_history__i__img__in.__reverse:last-child:not(:first-child) {
    transform: translate3d(-40%, -30%, 0) rotate3d(1, 1, 1, 11deg);
  }
}