/* Link
========================================================================== */

.c_link {
  font-weight: 500;
  display: inline-block;
  color: var(--c-black);
  line-height: 1.5;
  background:
    linear-gradient(
      to right,
      rgb(171, 184, 206),
      rgb(171, 184, 206)
    ),
    linear-gradient(
      to right,
      rgb(74, 129, 191),
      rgb(74, 129, 191)
  );
  background-size: 100% 2px, 0 2px;
  background-position: 100% 100%, 0 100%;
  background-repeat: no-repeat;
  transition: background-size 400ms, color 400ms;
}

.c_link:hover,
.c_link--active,
.c_link[aria-selected="true"],
.c_link[aria-current="page"] {
  color: var(--c-blue);
  text-decoration: none;
  background-size: 0 2px, 100% 2px;
}



/* Btn
========================================================================== */

/**************************** Buttton ****************************/

.c_btn {
  position: relative;
  display: inline-block;
  padding: 0.66em 1.75em;
  letter-spacing: 0.05rem;
  color: var(--c-white);
  background-color: var(--c-lynch);
  font-weight: 500;
  text-shadow: 0 1px 0 rgba(0, 0, 0, 0.4);
  transition: background-color 0.25s 0.0833333333s;
}
.c_btn:hover,
.c_btn[aria-current="page"] {
  background-color: var(--c-blue);
  text-decoration: none;
}

.c_btn--s {
  padding: 0.5em 1.55em;
  font-size: .93em;
}



/* Logo
========================================================================== */

.c_logo {
  display: inline-block;
  width: 190px;
  height: 42px;
}

@media (min-width: 1024px) {
  .c_logo {
    width: 185px;
    height: 41px;
  }
}

@media (min-width: 1280px) {
  .c_logo {
    width: 221px;
    height: 49px;
  }
}

@media (min-width: 1600px) {
  .c_logo {
    width: 248px;
    height: 55px;
  }
}

@media (min-width: 2300px) {
  .c_logo {
    width: 280px;
    height: 62px;
  }
}



/* Btn Toggler
========================================================================== */

.c_btn-toggler {
  position: fixed;
  z-index: 11;
  top: 1em;
  right: 1em;
  display: flex;
  justify-content: center;
  align-items: center;
  width: 55px;
  height: 55px;
  background-color: var(--c-white);
  border-radius: 50%;
}

.c_btn-toggler div {
  display: flex;
  flex-direction: column;
  gap: 5px;
  align-items: center;
  justify-content: center;
  transform: translateY(0px);
  transition: transform .3s ease;
}

.c_btn-toggler[aria-expanded="true"] div {
  transform: rotate(-180deg) translateY(-3px);
}

.c_btn-toggler span {
  display: block;
  width: 1.5em;
  height: 1px;
  background-color: var(--c-black);
  transition: transform .5s cubic-bezier(0.165, 0.84, 0.44, 1), opacity .2s;
}

.c_btn-toggler[aria-expanded="true"] span:nth-child(1) {
  transform: rotate(45deg) translateY(4px) translateX(4px);
}
.c_btn-toggler[aria-expanded="true"] span:nth-child(2) {
  transform: rotate(-45deg);
}
.c_btn-toggler[aria-expanded="true"] span:nth-child(3) {
  display: none;
}

@media (min-width: 1024px) {
  .c_btn-toggler {
    display: none;
  }
}



/* Component: Banner
========================================================================== */

@media (max-width: 1023px) {
  .c_banner__top-bar {
    display: none;
  }

  .c_banner .c_logo {
    position: fixed;
    z-index: 11;
    top: 1.25em;
    left: 1em;
  }
}

@media (min-width: 1024px) {
  .c_banner {
    will-change: top;
    position: fixed;
    z-index: 10;
    top: 0;
    left: 0;
    width: 100%;
    background-color: var(--c-white);
    transition: top .33s ease;
  }
  .state_banner-small .c_banner {
    top: -34px;
  }

  .c_banner__top-bar {
    display: flex;
    justify-content: flex-end;
    border-bottom: 1px solid var(--c-lynch-light);
    padding-top: .33em;
    padding-bottom: .33em;
  }
  .c_banner__top-bar address {
    display: flex;
    column-gap: 2em;
  }

  .c_banner__main {
    will-change: padding;
    display: flex;
    justify-content: space-between;
    align-items: center;
    padding-top: .66em;
    padding-bottom: .66em;
    transition: padding .33s ease;
  }
  .state_banner-small .c_banner__main {
    padding-top: .33em;
    padding-bottom: .33em;
  }

  .c_banner-observer {
    position: absolute;
    z-index: -1;
    top: 0;
    left: 0;
    width: 100%;
    height: 98px;
  }
}

@media (min-width: 1280px) {
  .state_banner-small .c_banner {
    top: -40px;
  }
  .c_banner-observer {
    height: 113px;
  }
}

@media (min-width: 1600px) {
  .state_banner-small .c_banner {
    top: -40px;
  }
  .c_banner-observer {
    height: 124px;
  }
}

@media (min-width: 2300px) {
  .c_banner-observer {
    height: 141px;
  }
  .state_banner-small .c_banner {
    top: -47px;
  }
}



/* Component: Nav List, Submenu
========================================================================== */

@media (max-width: 1023px) {
  .c_nav-list {
    display: none;
    position: fixed;
    z-index: 10;
    top: 0;
    left: 0;
    height: 100%;
    overflow: auto;
    transition-duration: .6s;
    transition-behavior: allow-discrete;
    opacity: 0;
    width: 100%;
    height: 100%;
    background-color: var(--c-mysctic);
    padding: 180px 2em 100px;
    flex-direction: column;
    align-items: center;
    justify-content: center;
    text-align: center;
    gap: .75em;
  }

  .c_btn-toggler[aria-expanded="true"] + .c_nav-list {
    display: flex;
    opacity: 1;

    @starting-style {
      opacity: 0;
    }
  }

  .c_nav-list > li:last-child {
    margin-top: 2em;
  }

  .c_nav-list .c_link {
    font-size: 1.18em;
  }

  .c_nav-list .c_link--submenu[aria-expanded="true"] + .c_submenu {
    display: block;
  }

  .c_submenu {
    margin-top: 1em;
  }
  .c_submenu li {
    margin-bottom: .33em;
  }
  .c_submenu li:last-child {
    margin-bottom: 0;
  }
}

@media (min-width: 1024px) {
  .c_nav-list {
    display: flex;
    column-gap: 2em;
    align-items: center;
  }

  .c_nav-list > li {
    position: relative;
  }

  .c_nav-list .c_link--submenu:hover + ul {
    display: block;
  }

  .c_submenu {
    position: absolute;
    top: 24px;
    left: -1.33em;
    padding: 2em 1.33em 1.25em;
    width: 250px;
    background-color: var(--c-white);
  }
  .c_submenu li {
    margin-bottom: .25em;
  }
  .c_submenu li:last-child {
    margin-bottom: 0;
  }

  .c_submenu:hover {
    display: block;
  }
}

@media (min-width: 1280px) {
  .c_submenu {
    top: 27px;
    width: 290px;
  }
}

@media (min-width: 1600px) {
  .c_submenu {
    top: 30px;
    width: 320px;
  }
}

@media (min-width: 2300px) {
  .c_submenu {
    top: 35px;
    width: 350px;
  }
}





/* Component: SVG
========================================================================== */

.c_svg {
  width: 2em;
  height: 2em;
  fill: var(--c-black);
}

@media (min-width: 768px) {
  .c_svg {
    width: 2.25em;
    height: 2.25em;
  }
}

@media (min-width: 1280px) {
  .c_svg {
    width: 3em;
    height: 3em;
  }
}


/* Component: Card
========================================================================== */

.c_card {
  display: flex;
  flex-direction: column;
  height: 100%;
  padding: 2em;
}

.c_card footer {
  flex: 1;
  display: flex;
  align-items: flex-end;
}

@media (min-width: 768px) {
  .c_card {
    padding: 1.5em;
  }
  .c_card--big {
    padding: 2.25em;
  }
}

@media (min-width: 1024px) {
  .c_card {
    padding: 1.75em;
  }
  .c_card--big {
    padding: 2.5em;
  }
}

@media (min-width: 1600px) {
  .c_card {
    padding: 2em;
  }
  .c_card--big {
    padding: 2.75em;
  }
}

@media (min-width: 2300px) {
  .c_card {
    padding: 2.5em;
  }
  .c_card--big {
    padding: 3em;
  }
}



/* Component: Blockquote
========================================================================== */

@media (max-width: 767px) {
  .c_blockquote.fs_b {
    font-size: 1em;
  }
}

@media (min-width: 1280px) {
  .c_blockquote.fs_b {
    font-size: 1.22em;
  }
}




/* Hero
========================================================================== */

.c_hero {
  position: relative;
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: center;
  text-align: center;
  transition: height .33s ease;
}

@media (orientation: portrait) {
  .c_hero {
    height: 75vh;
  }
  .c_hero--s {
    height: 45vh;
  }
}

@media (orientation: landscape) {
  .c_hero {
    height: 90vh;
  }
  .c_hero--s {
    height: 70vh;
  }
}

@media (min-width: 600px) and (orientation: portrait) {
  .c_hero {
    height: 45vh;
  }
  .c_hero--s {
    height: 33vh;
  }
}

@media (min-width: 600px) and (orientation: landscape) {
  .c_hero {
    height: 60vh;
  }
  .c_hero--s {
    height: 42vh;
  }
}

@media (min-width: 1280px) and (orientation: landscape) {
  .c_hero {
    height: 75vh;
  }
  .c_hero--s {
    height: 55vh;
  }
}

@media (min-width: 1600px) and (orientation: landscape) {
  .c_hero {
    height: 66vh;
  }
  .c_hero--s {
    height: 50vh;
  }
}

@media (min-width: 2300px) and (orientation: landscape) {
  .c_hero {
    height: 70vh;
  }
  .c_hero--s {
    height: 55vh;
  }
}



/* Gallery (swiper)
========================================================================== */

/***** Wrapper *****/

.gallery .swiper-wrapper {
  align-items: stretch;
}

/***** Slide *****/

.gallery .gallery-slide {
  height: auto;
  width: auto;
  overflow: hidden;
}
.gallery .gallery-slide--small {
  max-width: 36%;
}
.gallery .gallery-slide--medium {
  max-width: 59%;
}
.gallery .gallery-slide--big {
  max-width: 76%;
}

.gallery .gallery-slide img {
  height: 100%;
}

/***** Scrollbar *****/

.gallery-scrollbar-wrapper .swiper-scrollbar.swiper-scrollbar-horizontal {
  position: static;
  height: 1px;
  width: 100%;
  border-radius: 0;
  background: var(--c-mysctic);
}

.gallery-scrollbar-wrapper .swiper-scrollbar-drag {
  top: -1px;
  height: 3px;
  border-radius: 0;
  background: var(--c-lynch);
}

@media (min-width: 768px) {
  .gallery .gallery-slide--small {
    max-width: 33%;
  }
  .gallery .gallery-slide--medium {
    max-width: 50%;
  }
  .gallery .gallery-slide--big {
    max-width: 66%;
  }
}

@media (min-width: 1280px) {
  .gallery .gallery-slide--small {
    max-width: 25%;
  }
  .gallery .gallery-slide--medium {
    max-width: 42%;
  }
  .gallery .gallery-slide--big {
    max-width: 70%;
  }
}


/* List
========================================================================== */

.c_ul {
  font-style: italic;
  font-weight: 600;
  margin-left: 1.8em;
}
.c_ul li {
  padding-top: .5em;
  padding-bottom: .5em;
  border-bottom: 1px solid var(--c-mysctic);
}
.c_ul--lynch li {
  border-bottom: 1px solid var(--c-lynch-light);
}
.c_ul li:first-child {
  padding-top: 0;
}
.c_ul li:last-child {
  border-bottom: none;
  padding-bottom: 0;
}
.c_ul li::marker {
  content: "✔️ ";
  font-size: 0.91em;
}
.c_ul--locations li:first-child {
  padding-top: .5em;
}
.c_ul--locations li:last-child {
  border-bottom: 1px solid var(--c-lynch-light);
  padding-bottom: .5em;
}

@media (min-width: 375px) {
  .c_ul--locations {
    display: flex;
    justify-content: flex-start;
    flex-wrap: wrap;
    column-gap: 10%;
  }
  .c_ul--locations li {
    width: 45%;
  }
}

@media (min-width: 768px) {
  .c_ul--columns {
    display: flex;
    justify-content: space-between;
    flex-wrap: wrap;
  }
  .c_ul--columns li {
    width: 45%;
  }
  .c_ul--columns li:last-child {
    border-bottom: 1px solid var(--c-mysctic);
  }
  .c_ul--lynch.c_ul--columns li:last-child {
    border-bottom: 1px solid var(--c-lynch-light);
  }
  .c_ul--locations {
    column-gap: 5%;
  }
  .c_ul--locations li {
    width: 30%;
  }
}

@media (min-width: 1024px) {
  .c_ul--locations {
    column-gap: 4%;
  }
  .c_ul--locations li {
    width: 22%;
  }
}

@media (min-width: 1280px) {
  .c_ul--columns {
    display: flex;
    justify-content: space-between;
    flex-wrap: wrap;
  }
  .c_ul--columns li {
    width: 30%;
  }
  .c_ul--locations {
    column-gap: 3.7%;
  }
  .c_ul--locations li {
    width: 17%;
  }
}

@media (min-width: 1600px) {
  .c_ul li::marker {
    font-size: 0.85em;
  }
  .c_ul--locations {
    column-gap: 4.4%;
  }
  .c_ul--locations li {
    width: 13%;
  }
}

@media (min-width: 2300px) {
  .c_ul--locations {
    column-gap: 3.8%;
  }
  .c_ul--locations li {
    width: 11%;
  }
}

/* Component: Lined List
========================================================================== */

.c_lined-list {
  display: flex;
  flex-direction: column;
  text-align: center;
}
.c_lined-list > * {
  padding: 1em 0;
  border-bottom: 1px solid var(--c-lynch-light);
}
.c_lined-list > *:first-child {
  padding-top: 0;
}
.c_lined-list > *:last-child {
  border-bottom: none;
  padding-bottom: 0;
}

@media (min-width: 768px) {
  .c_lined-list {
    flex-direction: row;
    justify-content: center;
  }
  .c_lined-list > * {
    padding: 0 2em;
    border-bottom: none;
    border-right: 1px solid var(--c-lynch-light);
  }
  .c_lined-list > *:first-child {
    padding-left: 0;
  }
  .c_lined-list > *:last-child {
    padding-right: 0;
    border-right: none;
  }
}



/* Component: Content Info
========================================================================== */

.c_content-info {
  border-top: 1px solid var(--c-lynch-light);
}



/* Component: Bg
========================================================================== */

.c_bg {
  position: relative;
  overflow: hidden;
}
.c_bg--absolute {
  position: absolute;
  z-index: -1;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
}

.c_bg div {
  position: absolute;
  z-index: -1;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  background-size: cover;
  background-repeat: no-repeat;
  background-position: center center;
}
.c_bg div::after {
  content: "";
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  background-color: rgba(0, 0, 0, 0.5);
}

.c_bg--hero-home div {
  background-image: url(/_assets/images/home-hero-375x500.webp);
}
.c_bg--hero-about div {
  background-image: url(/_assets/images/about-hero-375x301.webp);
}
.c_bg--hero-kr div {
  background-image: url(/_assets/images/kr-hero-375x301.webp);
}
.c_bg--hero-br div {
  background-image: url(/_assets/images/br-hero-375x301.webp);
}
.c_bg--hero-ha div {
  background-image: url(/_assets/images/ha-hero-375x301.webp);
}
.c_bg--hero-sa div {
  background-image: url(/_assets/images/sa-hero-375x301.webp);
}
.c_bg--hero-sr div {
  background-image: url(/_assets/images/sr-hero-375x301.webp);
}
.c_bg--hero-bf div {
  background-image: url(/_assets/images/bf-hero-375x301.webp);
}
.c_bg--hero-cc div {
  background-image: url(/_assets/images/cc-hero-375x301.webp);
}
.c_bg--hero-er div {
  background-image: url(/_assets/images/er-hero-375x301.webp);
}

@media (min-width: 550px) {
  .c_bg--hero-home div {
    background-image: url(/_assets/images/home-hero-820x531.webp);
  }
  .c_bg--hero-about div {
    background-image: url(/_assets/images/about-hero-820x390.webp);
  }
  .c_bg--hero-kr div {
    background-image: url(/_assets/images/kr-hero-820x390.webp);
  }
  .c_bg--hero-br div {
    background-image: url(/_assets/images/br-hero-820x390.webp);
  }
  .c_bg--hero-ha div {
    background-image: url(/_assets/images/ha-hero-820x390.webp);
  }
  .c_bg--hero-sa div {
    background-image: url(/_assets/images/sa-hero-820x390.webp);
  }
  .c_bg--hero-sr div {
    background-image: url(/_assets/images/sr-hero-820x390.webp);
  }
  .c_bg--hero-bf div {
    background-image: url(/_assets/images/bf-hero-820x390.webp);
  }
  .c_bg--hero-cc div {
    background-image: url(/_assets/images/cc-hero-820x390.webp);
  }
  .c_bg--hero-er div {
    background-image: url(/_assets/images/er-hero-820x390.webp);
  }
}

@media (min-width: 1024px) {
  .c_bg--hero-home div {
    background-image: url(/_assets/images/home-hero-1180x492.webp);
  }
  .c_bg--hero-about div {
    background-image: url(/_assets/images/about-hero-1180x345.webp);
  }
  .c_bg--hero-kr div {
    background-image: url(/_assets/images/kr-hero-1180x345.webp);
  }
  .c_bg--hero-br div {
    background-image: url(/_assets/images/br-hero-1180x345.webp);
  }
  .c_bg--hero-ha div {
    background-image: url(/_assets/images/ha-hero-1180x345.webp);
  }
  .c_bg--hero-sa div {
    background-image: url(/_assets/images/sa-hero-1180x345.webp);
  }
  .c_bg--hero-sr div {
    background-image: url(/_assets/images/sr-hero-1180x345.webp);
  }
  .c_bg--hero-bf div {
    background-image: url(/_assets/images/bf-hero-1180x345.webp);
  }
  .c_bg--hero-cc div {
    background-image: url(/_assets/images/cc-hero-1180x345.webp);
  }
  .c_bg--hero-er div {
    background-image: url(/_assets/images/er-hero-1180x345.webp);
  }
}

@media (min-width: 1280px) {
  .c_bg--hero-home div {
    background-image: url(/_assets/images/home-hero-1366x576.webp);
  }
  .c_bg--hero-about div {
    background-image: url(/_assets/images/about-hero-1366x423.webp);
  }
  .c_bg--hero-kr div {
    background-image: url(/_assets/images/kr-hero-1366x423.webp);
  }
  .c_bg--hero-br div {
    background-image: url(/_assets/images/br-hero-1366x423.webp);
  }
  .c_bg--hero-ha div {
    background-image: url(/_assets/images/ha-hero-1366x423.webp);
  }
  .c_bg--hero-sa div {
    background-image: url(/_assets/images/sa-hero-1366x423.webp);
  }
  .c_bg--hero-sr div {
    background-image: url(/_assets/images/sr-hero-1366x423.webp);
  }
  .c_bg--hero-bf div {
    background-image: url(/_assets/images/bf-hero-1366x423.webp);
  }
  .c_bg--hero-cc div {
    background-image: url(/_assets/images/cc-hero-1366x423.webp);
  }
  .c_bg--hero-er div {
    background-image: url(/_assets/images/er-hero-1366x423.webp);
  }
}

@media (min-width: 1600px) {
  .c_bg--hero-home div {
    background-image: url(/_assets/images/home-hero-1920x713.webp);
  }
  .c_bg--hero-about div {
    background-image: url(/_assets/images/about-hero-1920x540.webp);
  }
  .c_bg--hero-kr div {
    background-image: url(/_assets/images/kr-hero-1920x540.webp);
  }
  .c_bg--hero-br div {
    background-image: url(/_assets/images/br-hero-1920x540.webp);
  }
  .c_bg--hero-ha div {
    background-image: url(/_assets/images/ha-hero-1920x540.webp);
  }
  .c_bg--hero-sa div {
    background-image: url(/_assets/images/sa-hero-1920x540.webp);
  }
  .c_bg--hero-sr div {
    background-image: url(/_assets/images/sr-hero-1920x540.webp);
  }
  .c_bg--hero-bf div {
    background-image: url(/_assets/images/bf-hero-1920x540.webp);
  }
  .c_bg--hero-cc div {
    background-image: url(/_assets/images/cc-hero-1920x540.webp);
  }
  .c_bg--hero-er div {
    background-image: url(/_assets/images/er-hero-1920x540.webp);
  }
}

@media (min-width: 2300px) {
  .c_bg--hero-home div {
    background-image: url(/_assets/images/home-hero-2560x914.webp);
  }
  .c_bg--hero-about div {
    background-image: url(/_assets/images/about-hero-2560x718.webp);
  }
  .c_bg--hero-kr div {
    background-image: url(/_assets/images/kr-hero-2560x718.webp);
  }
  .c_bg--hero-br div {
    background-image: url(/_assets/images/br-hero-2560x718.webp);
  }
  .c_bg--hero-ha div {
    background-image: url(/_assets/images/ha-hero-2560x718.webp);
  }
  .c_bg--hero-sa div {
    background-image: url(/_assets/images/sa-hero-2560x718.webp);
  }
  .c_bg--hero-sr div {
    background-image: url(/_assets/images/sr-hero-2560x718.webp);
  }
  .c_bg--hero-bf div {
    background-image: url(/_assets/images/bf-hero-2560x718.webp);
  }
  .c_bg--hero-cc div {
    background-image: url(/_assets/images/cc-hero-2560x718.webp);
  }
  .c_bg--hero-er div {
    background-image: url(/_assets/images/er-hero-2560x718.webp);
  }
}