/*------------------------------------------------------------
	Clearfix
------------------------------------------------------------*/
/*------------------------------------------------------------
	Font
------------------------------------------------------------*/
/*------------------------------------------------------------
	Media
------------------------------------------------------------*/
/*------------------------------------------------------------
	Flex Box
------------------------------------------------------------*/
:root {
  --font-pri: "Inter", sans-serif;
  --font-sec: "BankGothic DB", sans-serif;
  --font-thir: "Arial", sans-serif;
  --font-four: "Manrope", sans-serif;
  --footer-bg-color: #065ba7;
  --footer-clr-text: #f3f3f3;
  --foter-clr-text-cpr: #fff;
  --z-i-header: 100; }
.timeline-wrap {
  max-width: 1094px;
  margin-right: auto;
  margin-left: auto;
  margin-top: 1.6rem; }

.timeline {
  position: relative; }

.default-line {
  content: "";
  position: absolute;
  left: 50%;
  transform: translateX(-50%);
  width: 2px;
  background: #1a8ee1;
  height: 0; }

.timeline-item {
  padding: 4.8rem 0;
  position: relative;
  display: flex;
  justify-content: space-between; }
  .timeline-item::before {
    position: absolute;
    content: "";
    width: 16px;
    height: 16px;
    border-radius: 50%;
    background: #d5d5d5;
    left: 50%;
    transform: translateX(-50%); }
  .timeline-item.is-active::before {
    background: #1a8ee1; }
  .timeline-item:nth-child(odd) .timeline-img {
    justify-content: end; }
  .timeline-item:nth-child(even) {
    flex-direction: row-reverse; }
    .timeline-item:nth-child(even) .timeline-img {
      justify-content: start; }
    .timeline-item:nth-child(even) .timeline-content {
      text-align: right; }
  @media screen and (max-width: 767.98px) {
    .timeline-item {
      padding: 2.4rem 0; } }
  @media screen and (max-width: 575.98px) {
    .timeline-item {
      padding: 1.6rem 0; } }

.draw-line {
  opacity: 0;
  width: 2px;
  height: 100%;
  position: absolute;
  left: 50%;
  transform: translateX(-50%);
  background: #1a8ee1;
  top: 0;
  display: none; }

.timeline-img {
  border-radius: 12px;
  overflow: hidden;
  max-height: 20rem;
  display: flex; }
  .timeline-img img {
    height: 100%;
    width: auto;
    object-fit: contain; }

.timeline-img,
.timeline-content {
  width: 46%;
  max-width: 498px; }
  @media screen and (max-width: 767.98px) {
    .timeline-img,
    .timeline-content {
      width: 47%; } }

.timeline-head {
  margin-bottom: 3.2rem;
  display: flex;
  flex-direction: column;
  row-gap: 2.4rem; }
  @media screen and (max-width: 767.98px) {
    .timeline-head {
      margin-bottom: 1.6rem;
      row-gap: 0.8rem; } }

.timeline-num {
  color: #d5d5d5;
  font-size: 6.4rem;
  font-weight: 800;
  opacity: 0.5;
  display: block; }
  @media only screen and (max-width: 1200px) {
    .timeline-num {
      font-size: 3.9rem; } }
  @media only screen and (max-width: 800px) {
    .timeline-num {
      font-size: 2.9rem; } }

.timeline-tt {
  color: var(--color-text-primary, #0d0d0d);
  font-size: 2.4rem;
  font-weight: 700;
  line-height: 1.33; }
  @media only screen and (max-width: 1200px) {
    .timeline-tt {
      font-size: 2.2rem; } }
  @media only screen and (max-width: 800px) {
    .timeline-tt {
      font-size: 1.8rem; } }

.timeline-txt {
  color: var(--color-text-dark-secondary, #808080);
  font-size: 1.6rem;
  line-height: 1.5; }
  @media only screen and (max-width: 800px) {
    .timeline-txt {
      font-size: 1.4rem; } }

.p-servicedt .header,
.p-projectdt .header,
.p-newsdt .header {
  top: 0;
  background: #fff; }

.p-servicedt .main,
.p-projectdt .main,
.p-newsdt .main {
  padding-top: 8rem; }
  @media screen and (max-width: 1199.98px) {
    .p-servicedt .main,
    .p-projectdt .main,
    .p-newsdt .main {
      padding-top: 6.5rem; } }

.p-servicedt .banner.banner-sec,
.p-projectdt .banner.banner-sec,
.p-newsdt .banner.banner-sec {
  height: calc(100vw * 750 / 1728); }
  .p-servicedt .banner.banner-sec .banner-bg,
  .p-projectdt .banner.banner-sec .banner-bg,
  .p-newsdt .banner.banner-sec .banner-bg {
    height: 100%; }
    .p-servicedt .banner.banner-sec .banner-bg::before,
    .p-projectdt .banner.banner-sec .banner-bg::before,
    .p-newsdt .banner.banner-sec .banner-bg::before {
      z-index: 1;
      position: absolute;
      content: "";
      width: 100%;
      height: 100%;
      top: 0;
      left: 0;
      background: rgba(0, 0, 0, 0.5);
      display: block; }
  .p-servicedt .banner.banner-sec .banner-content,
  .p-projectdt .banner.banner-sec .banner-content,
  .p-newsdt .banner.banner-sec .banner-content {
    flex-direction: column-reverse;
    padding-top: 0;
    padding-bottom: 10rem; }
    .p-servicedt .banner.banner-sec .banner-content .tt-pri,
    .p-projectdt .banner.banner-sec .banner-content .tt-pri,
    .p-newsdt .banner.banner-sec .banner-content .tt-pri {
      color: #fff;
      font-size: 6.4rem;
      line-height: 1.2;
      text-shadow: -27px 11px 44.1px rgba(0, 0, 0, 0.1); }
      @media only screen and (max-width: 1200px) {
        .p-servicedt .banner.banner-sec .banner-content .tt-pri,
        .p-projectdt .banner.banner-sec .banner-content .tt-pri,
        .p-newsdt .banner.banner-sec .banner-content .tt-pri {
          font-size: 3.9rem; } }
      @media only screen and (max-width: 800px) {
        .p-servicedt .banner.banner-sec .banner-content .tt-pri,
        .p-projectdt .banner.banner-sec .banner-content .tt-pri,
        .p-newsdt .banner.banner-sec .banner-content .tt-pri {
          font-size: 2.9rem; } }
  .p-servicedt .banner.banner-sec .breadcrumb-item,
  .p-projectdt .banner.banner-sec .breadcrumb-item,
  .p-newsdt .banner.banner-sec .breadcrumb-item {
    color: #fff; }

.p-servicedt .banner .rouded-wrap,
.p-projectdt .banner .rouded-wrap,
.p-newsdt .banner .rouded-wrap {
  bottom: 3rem; }
  @media screen and (max-width: 575.98px) {
    .p-servicedt .banner .rouded-wrap,
    .p-projectdt .banner .rouded-wrap,
    .p-newsdt .banner .rouded-wrap {
      bottom: 4.5rem; } }

.p-servicedt .banner .rounded-icon {
  width: 45%;
  height: 45%; }

.servdt {
  position: relative;
  z-index: 1;
  --home-intro-spacing-top: 9.3rem;
  padding-top: var(--home-intro-spacing-top);
  margin-top: calc(var(--home-intro-spacing-top) * -1); }
  .servdt::before {
    content: "";
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    max-height: 1020px;
    background: linear-gradient(180deg, rgba(26, 142, 225, 0.2) -10.61%, rgba(255, 255, 255, 0.2) 74.42%), #fff;
    clip-path: ellipse(120% 100% at 50% 100%); }
    @media screen and (max-width: 991.98px) {
      .servdt::before {
        clip-path: ellipse(150% 100% at 50% 100%); } }

.servdt-outer {
  justify-content: space-between;
  position: relative;
  z-index: 2;
  display: flex;
  flex-wrap: wrap;
  max-width: 1248px;
  margin-right: auto;
  margin-left: auto;
  padding: 0 1.6rem;
  row-gap: 3.2rem; }
  .servdt-outer .share-list {
    height: fit-content; }
    @media screen and (max-width: 767.98px) {
      .servdt-outer .share-list {
        flex-direction: row;
        gap: 1.6rem; } }
  .servdt-outer .specify {
    margin-top: 2.4rem; }
  @media screen and (max-width: 767.98px) {
    .servdt-outer {
      flex-direction: column-reverse; } }

@media screen and (max-width: 1368px) {
  .servdt-wrap {
    padding-left: 6rem;
    width: 100%; } }

@media screen and (max-width: 767.98px) {
  .servdt-wrap {
    padding-left: 0;
    width: 100%; } }

.servdt-wrap .good-box {
  margin-top: 6.4rem; }
  .servdt-wrap .good-box:first-child {
    margin-top: 0; }
    .servdt-wrap .good-box:first-child .mona-content {
      margin-top: 0; }
    @media screen and (min-width: 992px) {
      .servdt-wrap .good-box:first-child {
        margin-top: 0; } }
  @media screen and (max-width: 575.98px) {
    .servdt-wrap .good-box {
      margin-top: 4rem; } }

.servdt-wrap .good-outer {
  flex-direction: row-reverse; }
  @media screen and (max-width: 767.98px) {
    .servdt-wrap .good-outer {
      flex-direction: column-reverse; } }

.servdt-wrap .good-l {
  width: 48%; }
  @media screen and (max-width: 767.98px) {
    .servdt-wrap .good-l {
      width: 100%; } }

.servdt-wrap .good-r:has(.mona-content) .mona-content {
  margin-top: 2.4rem; }

.servdt-wrap .good-r .mona-content {
  max-width: 440px; }
  @media screen and (max-width: 767.98px) {
    .servdt-wrap .good-r .mona-content {
      max-width: 100%; } }

.servdt-wrap .good-l .mona-content ul li,
.servdt-wrap .good-r .mona-content ul li {
  padding-bottom: 2rem; }
  .servdt-wrap .good-l .mona-content ul li:first-child,
  .servdt-wrap .good-r .mona-content ul li:first-child {
    margin-top: 0; }

.servdt-img {
  position: relative;
  padding-top: calc(687 / 1216 * 100%);
  min-height: 50rem;
  border-radius: 12px;
  overflow: hidden;
  display: block; }
  .servdt-img > img {
    top: 0;
    left: 0;
    width: 100%;
    position: absolute;
    height: 100%;
    object-fit: cover; }

.service-img_txt {
  display: flex;
  flex-direction: column;
  row-gap: 2.4rem;
  padding: 4.8rem;
  border-radius: 12px;
  background: var(--color-neutral-100, #fff);
  max-width: 488px;
  position: absolute;
  left: 5%;
  bottom: 6%;
  z-index: 1;
  color: var(--Neutral-1000, #050505);
  font-size: 1.8rem;
  line-height: 1.5; }
  @media only screen and (max-width: 800px) {
    .service-img_txt {
      font-size: 1.6rem; } }
  .service-img_txt::before {
    border-radius: 12px;
    content: "";
    position: absolute;
    inset: 0;
    padding: 2px;
    background: linear-gradient(to bottom, rgba(255, 255, 255, 0.5), rgba(26, 142, 225, 0.5));
    mask: linear-gradient(#000 0 0) content-box, linear-gradient(#000 0 0);
    mask-composite: exclude; }
  .service-img_txt::after {
    content: "";
    position: absolute;
    width: 2rem;
    top: 0;
    height: 2rem;
    left: 0;
    bottom: 0;
    right: 0;
    border-radius: 50%;
    background-color: #1a8ee1;
    offset-path: var(--dynamic-path2);
    animation: 20s clineCircle linear infinite; }
  .service-img_txt strong {
    font-weight: 700; }
  @media screen and (max-width: 991.98px) {
    .service-img_txt {
      padding: 2.4rem 1.6rem;
      width: 90%;
      right: 5%; } }

.servdt-slider {
  margin-top: 15rem;
  margin-bottom: 12rem;
  overflow: hidden; }
  @media screen and (max-width: 991.98px) {
    .servdt-slider {
      margin-top: 8rem;
      margin-bottom: 8rem; } }
  @media screen and (max-width: 575.98px) {
    .servdt-slider {
      margin-top: 6rem;
      margin-bottom: 6rem; } }

.gallery-slider {
  width: 100%;
  height: 100%;
  margin-top: 4.2rem; }
  .gallery-slider .swiper-slide {
    width: auto;
    height: 100%;
    max-height: 90rem;
    overflow: hidden;
    padding-top: calc(900 / 1728 * 100%);
    position: relative;
    min-height: 40rem; }
    .gallery-slider .swiper-slide::after {
      position: absolute;
      content: "";
      height: 100%;
      width: 100%;
      top: 0;
      left: 0;
      background: linear-gradient(270deg, rgba(0, 0, 0, 0) 0%, rgba(0, 0, 0, 0.5) 100%); }
    .gallery-slider .swiper-slide img {
      display: block;
      width: 100%;
      height: 100%;
      object-fit: cover;
      pointer-events: none;
      position: absolute;
      left: 0;
      top: 0; }

.gallery-thumbs {
  width: 70%;
  max-width: 492px;
  padding: 0;
  overflow: hidden;
  position: absolute;
  bottom: 5rem;
  right: 0;
  padding-top: 2rem; }
  .gallery-thumbs .swiper-slide {
    width: 25.4rem;
    height: 32rem;
    text-align: center;
    overflow: hidden;
    border-radius: 16px;
    border: 1.73px solid transparent; }
    .gallery-thumbs .swiper-slide::before {
      position: absolute;
      content: "";
      width: 100%;
      height: 100%;
      top: 0;
      left: 0;
      border-radius: 16px;
      background: rgba(0, 0, 0, 0.5);
      overflow: hidden;
      transition: 0.5s ease; }
    .gallery-thumbs .swiper-slide-active {
      border-color: #1a8ee1;
      opacity: 1; }
      .gallery-thumbs .swiper-slide-active::before {
        opacity: 0; }
    .gallery-thumbs .swiper-slide img {
      width: auto;
      height: 100%; }
    @media screen and (max-width: 1199.98px) {
      .gallery-thumbs .swiper-slide {
        width: 20rem;
        height: 25.2rem; } }
    @media screen and (max-width: 767.98px) {
      .gallery-thumbs .swiper-slide {
        width: 15rem;
        height: 19rem; } }
  .gallery-thumbs .swiper-pagination {
    position: relative;
    text-align: left; }
    .gallery-thumbs .swiper-pagination-bullet {
      border-radius: 0;
      width: 1.125rem;
      height: 0.25rem;
      background: #fff; }
      .gallery-thumbs .swiper-pagination-bullet-active {
        background: #fff; }
  @media screen and (max-width: 991.98px) {
    .gallery-thumbs {
      bottom: 2.4rem; } }

.gallery-nav {
  position: relative;
  margin-bottom: 1.6rem;
  z-index: 1;
  display: flex;
  align-items: end;
  gap: 1.2rem; }
  .gallery-nav .swiper-pagination {
    display: flex;
    align-items: center;
    margin: 0;
    width: fit-content; }
  .gallery-nav .swiper-pagination-current {
    padding-left: 9rem;
    position: relative;
    color: var(--Neutral-0, #fff);
    font-size: 2.24rem;
    font-weight: 700;
    transform: translateY(0); }
    .gallery-nav .swiper-pagination-current::before {
      position: absolute;
      content: "";
      width: 8.2rem;
      height: 1px;
      background: #fff;
      left: 0;
      top: 50%;
      transform: translateY(-50%); }
    @media screen and (max-width: 575.98px) {
      .gallery-nav .swiper-pagination-current {
        padding-left: 6rem; }
        .gallery-nav .swiper-pagination-current::before {
          width: 5.2rem; } }
  .gallery-nav .swiper-pagination-total {
    color: var(--Neutral-0, #fff);
    font-size: 11.2px;
    font-weight: 400;
    transform: translateY(0); }
  .gallery-nav .sell-nav {
    display: flex;
    align-items: end;
    transform: translate(-15%, 65%); }
  .gallery-nav .sell-line {
    width: 2rem;
    height: 2rem;
    filter: brightness(0) saturate(100%) invert(100%) sepia(0%) saturate(7497%) hue-rotate(172deg) brightness(106%) contrast(100%); }
  .gallery-nav .exp-nav {
    border-radius: 110px;
    border: 1.111px solid rgba(255, 255, 255, 0.05);
    background: rgba(255, 255, 255, 0.05);
    backdrop-filter: blur(8.0px); }
    .gallery-nav .exp-nav .next,
    .gallery-nav .exp-nav .prev {
      transition: 0.5s ease;
      background: #fff; }
      .gallery-nav .exp-nav .next::before,
      .gallery-nav .exp-nav .prev::before {
        transition: 0.5s ease;
        filter: brightness(0) saturate(100%) invert(41%) sepia(80%) saturate(746%) hue-rotate(169deg) brightness(98%) contrast(95%); }
      .gallery-nav .exp-nav .next.swiper-button-disabled, .gallery-nav .exp-nav .next:hover,
      .gallery-nav .exp-nav .prev.swiper-button-disabled,
      .gallery-nav .exp-nav .prev:hover {
        opacity: 1;
        background: #1a8ee1; }
        .gallery-nav .exp-nav .next.swiper-button-disabled::before, .gallery-nav .exp-nav .next:hover::before,
        .gallery-nav .exp-nav .prev.swiper-button-disabled::before,
        .gallery-nav .exp-nav .prev:hover::before {
          filter: unset; }
    @media screen and (max-width: 991.98px) {
      .gallery-nav .exp-nav {
        display: none; } }
  .gallery-nav .sell-line {
    display: inline-block;
    width: 30px;
    height: 24px;
    background-repeat: no-repeat;
    background-size: cover;
    background-position: center;
    background-image: url(../images/home/line.svg);
    margin-right: -10px;
    transform: translateY(-8px); }

.other {
  overflow: hidden;
  margin-top: 5rem; }
  .other .color-item {
    max-width: 414px;
    width: calc(100% / 3); }
    @media screen and (max-width: 575.98px) {
      .other .color-item {
        width: 50%; } }
  .other .color-img {
    width: 100%;
    height: 100%;
    max-height: 30rem;
    border-radius: 1.2rem; }
    .other .color-img img {
      transition: 0.5s ease; }
  .other .color-card:hover .color-img img {
    transform: scale(1.05); }
  .other .color-card:hover .color-tt {
    color: #1a8ee1; }
  .other .color-tt {
    font-size: 2rem;
    color: #050505;
    transition: 0.5s ease; }
    @media only screen and (max-width: 1200px) {
      .other .color-tt {
        font-size: 1.8rem; } }
    @media only screen and (max-width: 800px) {
      .other .color-tt {
        font-size: 1.6rem; } }