.all {
  width: 1480px;
  margin: 0 auto; }

.main-banner {
  overflow: hidden;
  position: relative; }
  .main-banner .open {
    position: absolute;
    opacity: 0;
    left: 50%;
    bottom: 40px;
    width: 60px;
    margin-left: -30px;
    z-index: 1;
    cursor: pointer;
    animation: move 2s infinite; }
    .main-banner .open img {
      width: 100%;
      transition: all 0.8s ease 0.5s; }
    .main-banner .open.active {
      opacity: 1; }
  .main-banner .text {
    position: absolute;
    left: 10%;
    top: 37%;
    color: #FFF;
    opacity: 0;
    transition: all 0.5s ease 0.5s;
    transform: translateY(50px); }
    .main-banner .text h3 {
      font-size: 50px;
      line-height: 1.5;
      margin-bottom: 10px;
      font-weight: bold; }
    .main-banner .text .cn {
      font-size: 48px;
      margin-bottom: 5px; }
    .main-banner .text .en {
      font-size: 20px;
      line-height: 32px; }
      .main-banner .text .en.raj {
        font-family: "raj", sans-serif;
        font-size: 20px; }
  .main-banner .slide2 .text {
    top: 34%; }
  .main-banner .slide1 {
    background: #458CDA;
    height: 100%; }
  .main-banner .swiper-slide img {
    width: 100%;
    display: block; }
  .main-banner .swiper-slide .mCut {
    display: none; }
  .main-banner .swiper-slide.swiper-slide-active .text {
    opacity: 1;
    transform: translateY(0); }
  .main-banner .swiper-pagination {
    position: absolute;
    left: 10%;
    bottom: 10%;
    text-align: left;
    margin: 0; }
    .main-banner .swiper-pagination span {
      width: 50px;
      height: 4px;
      background: #FFF;
      opacity: 0.6;
      border-radius: 0;
      transition: all 0.3s ease; }
      .main-banner .swiper-pagination span.swiper-pagination-bullet-active {
        opacity: 1;
        height: 6px; }

.business-cont {
  padding: 55px 0 40px; }
  .business-cont .title {
    font-size: 36px;
    color: var(--default-color);
    margin-bottom: 35px; }
    .business-cont .title span {
      font-size: 18px;
      margin-left: 10px; }
  .business-cont .bu-cut {
    border: 1px solid #EDEDED;
    border-radius: 15px;
    overflow: hidden;
    position: relative;
    margin-bottom: 60px; }
  .business-cont .bu-menu {
    width: 100%;
    height: 100%; }
    .business-cont .bu-menu .bu-btn {
      height: 20%;
      padding: 0 30px 0 110px;
      box-sizing: border-box;
      position: relative;
      transition: all 0.3s ease;
      cursor: pointer;
      display: flex;
      align-items: center;
      border-right: 1px dotted #C7C7C7; }
      .business-cont .bu-menu .bu-btn::after {
        content: "";
        position: absolute;
        width: 94%;
        left: 3%;
        border-bottom: 1px dotted #C7C7C7;
        bottom: 0; }
      .business-cont .bu-menu .bu-btn .tit {
        font-size: 24px;
        color: #000;
        margin-bottom: 10px;
        transition: all 0.3s ease; }
      .business-cont .bu-menu .bu-btn p {
        line-height: 24px;
        color: #000;
        text-transform: uppercase; }
      .business-cont .bu-menu .bu-btn:last-child::after {
        display: none; }
      .business-cont .bu-menu .bu-btn i {
        display: inline-flex;
        position: absolute;
        width: 60px;
        height: 60px;
        left: 30px;
        top: 50%;
        transform: translateY(-50%);
        background-color: var(--default-color);
        border-radius: 60px;
        transition: all 0.3s ease;
        color: #FFF;
        font-size: 28px;
        align-items: center;
        justify-content: center; }
      .business-cont .bu-menu .bu-btn .arrow {
        position: absolute;
        right: -10px;
        top: 50%;
        margin-top: -11px;
        width: 0;
        height: 0;
        border: 11px solid;
        border-color: transparent #FFF transparent transparent;
        display: block;
        opacity: 0;
        transition: all 0.3s ease 0.2s; }
      .business-cont .bu-menu .bu-btn.active {
        background: var(--default-color);
        color: #FFF;
        border-right: 1px dotted transparent; }
        .business-cont .bu-menu .bu-btn.active i {
          background-color: #FFF;
          color: var(--default-color); }
        .business-cont .bu-menu .bu-btn.active .arrow {
          opacity: 1;
          right: -1px; }
  .business-cont .bu-cont {
    padding: 40px 50px;
    position: relative;
    transition: all 0.2s ease;
    height: 740px; }
    .business-cont .bu-cont .cut-btn {
      display: none;
      border-radius: 15px;
      padding: 20px 20px 20px 90px;
      box-sizing: border-box;
      position: relative;
      transition: all 0.3s ease;
      cursor: pointer; }
      .business-cont .bu-cont .cut-btn.active {
        background: var(--default-color);
        color: #FFF; }
        .business-cont .bu-cont .cut-btn.active::after {
          display: none; }
        .business-cont .bu-cont .cut-btn.active .tit {
          color: #FFF; }
        .business-cont .bu-cont .cut-btn.active::before {
          background-color: #FFF; }
      .business-cont .bu-cont .cut-btn::after {
        content: "";
        position: absolute;
        width: 94%;
        left: 3%;
        border-bottom: 1px dotted #C7C7C7;
        top: 0; }
      .business-cont .bu-cont .cut-btn .tit {
        font-size: 18px;
        color: #000;
        margin-bottom: 10px;
        transition: all 0.3s ease; }
      .business-cont .bu-cont .cut-btn p {
        line-height: 20px;
        font-size: 12px; }
      .business-cont .bu-cont .cut-btn::before {
        content: "";
        position: absolute;
        width: 40px;
        height: 40px;
        left: 20px;
        top: 50%;
        margin-top: -20px;
        background-color: var(--default-color);
        background-repeat: no-repeat;
        background-position: center;
        background-size: 100%;
        border-radius: 60px;
        transition: all 0.3s ease; }
    .business-cont .bu-cont .bu-box {
      width: 100%;
      background: #FFF; }
      .business-cont .bu-cont .bu-box .m-tit {
        font-size: 16px;
        color: var(--default-color);
        line-height: 15px;
        margin-bottom: 20px;
        position: relative;
        padding-left: 14px; }
        .business-cont .bu-cont .bu-box .m-tit::before {
          content: "";
          position: absolute;
          width: 3px;
          height: 15px;
          left: 0;
          top: 0;
          background: var(--default-color); }
    .business-cont .bu-cont .box-det {
      margin-bottom: 40px; }
      .business-cont .bu-cont .box-det ul {
        display: flex;
        flex-wrap: wrap;
        justify-content: space-between; }
      .business-cont .bu-cont .box-det li {
        width: 32%;
        background: #EEF1FF;
        align-items: stretch;
        padding: 25px 25px 20px 25px;
        border-radius: 15px;
        box-sizing: border-box; }
        .business-cont .bu-cont .box-det li .head {
          font-size: 18px;
          color: #000;
          line-height: 30px;
          position: relative;
          margin-bottom: 10px; }
          .business-cont .bu-cont .box-det li .head span {
            position: absolute;
            right: 0;
            top: 0;
            background: #FFF;
            width: 30px;
            height: 30px;
            text-align: center;
            line-height: 30px;
            font-size: 20px;
            color: var(--default-color);
            border-radius: 30px; }
        .business-cont .bu-cont .box-det li.half {
          width: 49%;
          margin-top: 20px; }
        .business-cont .bu-cont .box-det li.fif {
          width: 23.5%; }
        .business-cont .bu-cont .box-det li p {
          line-height: 24px; }
    .business-cont .bu-cont .box-case {
      margin-bottom: 40px; }
      .business-cont .bu-cont .box-case .li .img {
        --bs-aspect-ratio: calc(9 / 14 * 100%);
        overflow: hidden;
        border-radius: 15px;
        margin-bottom: 20px;
        border: 1px solid #EDEDED; }
        .business-cont .bu-cont .box-case .li .img img {
          object-fit: cover;
          width: 100%;
          height: 100%; }
      .business-cont .bu-cont .box-case .li .tit {
        color: #000;
        font-size: 16px;
        margin-bottom: 10px;
        white-space: nowrap;
        overflow: hidden;
        text-overflow: ellipsis; }
      .business-cont .bu-cont .box-case .li p {
        line-height: 24px;
        color: #666;
        height: 48px;
        overflow: hidden; }
      .business-cont .bu-cont .box-case .li a:hover .tit {
        color: var(--default-color); }
    .business-cont .bu-cont .box-com {
      font-size: 0; }
      .business-cont .bu-cont .box-com span {
        display: inline-block;
        position: relative;
        box-sizing: border-box;
        width: 32%;
        margin-right: 2%;
        height: 70px;
        overflow: hidden;
        border: 1px solid #EDEDED;
        border-radius: 15px; }
        .business-cont .bu-cont .box-com span:last-child {
          margin-right: 0; }
        .business-cont .bu-cont .box-com span.cp1 {
          background: url(../img/comp2-1.jpg) no-repeat center;
          background-size: auto 100%; }
        .business-cont .bu-cont .box-com span.cp2 {
          background: url(../img/comp3-1.jpg) no-repeat center;
          background-size: auto 100%; }
        .business-cont .bu-cont .box-com span.cp3 {
          background: url(../img/comp4-1.jpg) no-repeat center;
          background-size: auto 100%; }
        .business-cont .bu-cont .box-com span.cp4 {
          background: url(../img/comp5-1.jpg) no-repeat center;
          background-size: auto 100%; }
        .business-cont .bu-cont .box-com span.cp5 {
          background: url(../img/comp1-1.jpg) no-repeat center;
          background-size: auto 100%; }
        .business-cont .bu-cont .box-com span.cp6 {
          background: url(../img/comp1-2.jpg) no-repeat center;
          background-size: auto 100%; }

.business-cont .bu-menu .bu-btn:hover .tit,
.business-cont .bu-menu .bu-btn:hover p {
  color: var(--default-color); }

.business-cont .bu-menu .bu-btn.active .tit,
.business-cont .bu-menu .bu-btn.active p {
  color: #FFF; }

.about-cont {
  background: url("../img/about-bg.jpg") no-repeat #F7F7F7;
  background-size: cover; }
  .about-cont .title {
    font-size: 36px;
    color: #FFF;
    margin-bottom: 135px; }
    .about-cont .title span {
      display: block;
      font-size: 18px; }
  .about-cont .about-text {
    padding-top: 80px;
    padding-bottom: 80px;
    max-width: 50%; }
    .about-cont .about-text p {
      font-size: 16px;
      color: #FFF;
      line-height: 2;
      margin-bottom: 1rem; }

.case-cont {
  padding: 55px 0 40px; }
  .case-cont .title {
    font-size: 36px;
    color: var(--default-color);
    margin-bottom: 35px; }
    .case-cont .title span {
      font-size: 18px;
      margin-left: 10px; }
  .case-cont .case-btn-group {
    margin-bottom: 35px; }
    .case-cont .case-btn-group .btn {
      width: 38px;
      font-size: 20px; }
  .case-cont .case-swiper .swiper-slide {
    max-width: 620px; }
    .case-cont .case-swiper .swiper-slide .text {
      top: 100%;
      transition: top 0.3s ease-in-out; }
    .case-cont .case-swiper .swiper-slide:hover .text {
      top: 0; }
  .case-cont .case-swiper .swiper-pagination {
    --swiper-pagination-bullet-horizontal-gap: 0;
    --swiper-pagination-bullet-width: 100%;
    --swiper-pagination-bullet-height: 2px;
    --swiper-pagination-bullet-border-radius: 0;
    position: unset;
    display: flex;
    justify-content: space-around;
    margin-top: 18px; }

.news-cont {
  position: relative;
  background: #F7F7F7;
  padding: 55px 0 50px; }
  .news-cont .title {
    font-size: 36px;
    color: var(--default-color);
    margin-bottom: 35px; }
    .news-cont .title span {
      font-size: 18px;
      margin-left: 10px; }
  .news-cont .news-item-ul {
    background: #FFF;
    padding: 30px; }
    .news-cont .news-item-ul .news-item-list {
      display: flex;
      align-items: center;
      justify-content: space-between; }
      .news-cont .news-item-ul .news-item-list .time div:nth-of-type(1),
      .news-cont .news-item-ul .news-item-list .text div:nth-of-type(1) {
        color: #333;
        font-weight: bold; }
      .news-cont .news-item-ul .news-item-list .time {
        text-align: center;
        font-size: 32px; }
        .news-cont .news-item-ul .news-item-list .time span {
          display: block;
          font-size: 14px; }
      .news-cont .news-item-ul .news-item-list:hover .text div:nth-of-type(1),
      .news-cont .news-item-ul .news-item-list:hover .time div:nth-of-type(1) {
        color: var(--default-color); }
    .news-cont .news-item-ul hr {
      border-style: dashed; }

.main-footer {
  border: none; }

@media only screen and (min-width: 1600px) {
  .container, .container-lg, .container-md, .container-sm, .container-xl, .container-xxl {
    max-width: 1520px; } }
@media only screen and (max-width: 1520px) {
  .business-cont .bu-cont .box-det li .head {
    font-size: 16px; }
    .business-cont .bu-cont .box-det li .head span {
      right: -10px; }

  .main-banner .text {
    top: 25%; }
    .main-banner .text h3 {
      font-size: 32px; }
    .main-banner .text .cn {
      font-size: 28px; }
    .main-banner .text .en {
      font-size: 20px;
      line-height: 28px; }

  .all {
    width: 100%;
    padding: 0 20px;
    box-sizing: border-box; } }
@media only screen and (max-width: 1490px) {
  .business-cont .bu-cont {
    height: 800px; } }
@media only screen and (max-width: 1420px) {
  .business-cont .bu-cont .box-det li.fif {
    width: 49%;
    margin-bottom: 20px; } }
@media only screen and (max-width: 1370px) {
  .business-cont .bu-cont {
    margin-left: 390px; }
  .business-cont .bu-menu {
    width: 340px; }

  .main-footer .all {
    padding: 0 40px; } }
@media only screen and (max-width: 1280px) {
  .business-cont .bu-menu .bu-btn {
    padding-left: 90px; }
    .business-cont .bu-menu .bu-btn .tit {
      font-size: 20px; }
    .business-cont .bu-menu .bu-btn::before {
      width: 40px;
      height: 40px;
      background-size: 100%;
      margin-top: -20px; }
  .business-cont .bu-cont .box-det li .head {
    padding-right: 30px; }
  .business-cont .title {
    font-size: 30px; }

  .main-banner .text {
    top: 23%; }
    .main-banner .text h3 {
      font-size: 28px; }
    .main-banner .text .cn {
      font-size: 22px; }
    .main-banner .text .en {
      font-size: 16px;
      line-height: 24px; }

  .case-cont .title,
  .about-cont .title {
    font-size: 30px; }

  .news-cont .title {
    font-size: 30px; } }
@media only screen and (max-width: 1230px) {
  .main-banner .text {
    top: 17%; }

  .business-cont .bu-cont {
    height: 830px; } }
@media only screen and (max-width: 1030px) {
  .business-cont .bu-menu {
    width: 300px; }
    .business-cont .bu-menu .bu-btn .tit {
      font-size: 18px; }
  .business-cont .bu-cont {
    margin-left: 350px; }
    .business-cont .bu-cont .box-det li.three {
      width: 49%;
      margin-bottom: 20px; }
    .business-cont .bu-cont .box-com a {
      height: auto; }
      .business-cont .bu-cont .box-com a img {
        position: static;
        margin: 0;
        width: 100%; }

  .business-cont .bu-menu .bu-btn p, .business-cont .bu-cont .box-det li p {
    font-size: 12px; }

  .main-footer .all {
    padding: 0 20px; } }
@media only screen and (max-width: 992px) {
  .about-cont {
    background-image: none; }
    .about-cont .ratio.ratio-21x9::before {
      content: none; }
    .about-cont .title {
      margin-bottom: 35px;
      color: var(--default-color); }
    .about-cont .link-primary {
      margin-bottom: 35px; }
    .about-cont .about-text {
      padding-top: 40px;
      padding-bottom: 40px;
      max-width: 100%;
      position: unset; }
      .about-cont .about-text p {
        font-size: 15px;
        color: #333; }

  .case-cont .case-btn-group .btn {
    width: 32px;
    font-size: 18px; } }
@media only screen and (max-width: 820px) {
  .business-cont .bu-menu {
    width: 100%;
    position: static;
    margin-bottom: 20px;
    height: auto; }
    .business-cont .bu-menu .bu-btn {
      padding: 10px 15px;
      border-radius: 5px;
      color: var(--default-color);
      border: 1px solid var(--default-color) !important;
      height: auto;
      width: auto;
      display: block; }
      .business-cont .bu-menu .bu-btn .tit {
        margin-bottom: 0;
        font-size: 14px;
        line-height: 1; }
      .business-cont .bu-menu .bu-btn i, .business-cont .bu-menu .bu-btn .arrow, .business-cont .bu-menu .bu-btn p {
        display: none; }
      .business-cont .bu-menu .bu-btn::before, .business-cont .bu-menu .bu-btn::after {
        content: none; }
      .business-cont .bu-menu .bu-btn .arrow {
        border-color: transparent transparent #FFF;
        bottom: 0;
        top: unset;
        left: 50%;
        margin-top: 0;
        margin-left: -11px; }
  .business-cont .bu-cont {
    padding: 0 0 20px;
    height: 1140px; }
    .business-cont .bu-cont .box-case li {
      width: 48%;
      margin-bottom: 20px; }
    .business-cont .bu-cont .box-det li {
      margin-bottom: 20px; }
      .business-cont .bu-cont .box-det li, .business-cont .bu-cont .box-det li.fif {
        width: 49%; }

  .main-banner .text {
    top: 24%; }
    .main-banner .text h3 {
      font-size: 24px; }
    .main-banner .text .cn {
      font-size: 16px; }
    .main-banner .text .en {
      font-size: 12px;
      line-height: 18px; } }
@media only screen and (max-width: 510px) {
  .business-cont {
    padding: 40px 0 0; }
    .business-cont .title {
      font-size: 24px; }
      .business-cont .title span {
        font-size: 16px; }
    .business-cont .bu-cont {
      margin: 0;
      height: auto; }
      .business-cont .bu-cont .cut-btn {
        display: none; }
      .business-cont .bu-cont .bu-box {
        padding: 20px 0; }
      .business-cont .bu-cont .box-com a {
        width: 100%;
        margin: 0 0 10px 0; }
      .business-cont .bu-cont .box-com span {
        background-size: 130% auto !important;
        width: 49%; }
      .business-cont .bu-cont .box-case li {
        width: 100%;
        margin: 0 0 20px 0; }
        .business-cont .bu-cont .box-case li .img {
          margin: 0 auto 20px;
          width: 100%;
          height: auto; }
          .business-cont .bu-cont .box-case li .img img {
            position: static;
            width: 100%;
            height: auto; }
      .business-cont .bu-cont .box-det li.half {
        width: 100%;
        margin-top: 0; }
    .business-cont .bu-cut {
      border: none;
      border-radius: 0;
      margin-bottom: 0; }

  .case-cont .title {
    font-size: 24px; }
    .case-cont .title span {
      font-size: 16px; }
  .case-cont .case-btn-group .btn {
    width: 30px;
    font-size: 16px; }

  .business-cont .bu-cont .box-det li, .business-cont .bu-cont .box-det li.fif {
    width: 100%; }

  .business-cont .bu-cont .box-det, .business-cont .bu-cont .box-case {
    margin-bottom: 20px; }

  .news-cont {
    padding: 40px 0; }
    .news-cont .title {
      font-size: 24px;
      margin-bottom: 12px; }
      .news-cont .title span {
        font-size: 16px; }
    .news-cont .news-item-first {
      margin-top: 20px; }
    .news-cont .news-item-ul {
      padding: 20px; }
      .news-cont .news-item-ul .news-item-list {
        display: block; }
        .news-cont .news-item-ul .news-item-list .vr {
          display: none; }
        .news-cont .news-item-ul .news-item-list .time {
          text-align: unset;
          display: flex;
          align-items: baseline;
          font-size: 20px;
          display: none; }
          .news-cont .news-item-ul .news-item-list .time span {
            display: inline;
            padding-left: 10px; }

  .main-banner .swiper-slide .mCut {
    display: block; }
  .main-banner .swiper-slide .pCut {
    display: none; }
  .main-banner .text h3 {
    font-size: 38px;
    line-height: 1.5;
    letter-spacing: normal; }
  .main-banner .text .en br {
    display: none;
    text-align: left; }
  .main-banner .text .cn {
    margin-bottom: 15px;
    font-size: 28px; }
  .main-banner .slide2 .text {
    top: 20%; }
  .main-banner .swiper-container .swiper-pagination {
    left: 0;
    width: 100%;
    text-align: center; }

  .main-banner .text, .main-banner .slide2 .text {
    font-size: 17px;
    text-align: center;
    left: 0;
    width: 100%;
    top: 15%; }

  .main-banner .text .en, .main-banner .text .en.raj {
    font-size: 10px;
    line-height: 14px;
    width: 70%;
    margin: 0 auto; }

  .about-cont .title {
    font-size: 24px;
    margin-bottom: 20px; }
    .about-cont .title span {
      font-size: 16px; } }
@keyframes move {
  0% {
    transform: translateY(-5px); }
  50% {
    transform: translateY(5px); }
  100% {
    transform: translateY(-5px); } }
