.banner {
  height: 100vh;
  overflow: hidden;
  :global {
    .fullscreen-slide {
      height: 100vh !important;
      display: flex !important;
      align-items: center;
      justify-content: center;
      background-size: cover;
      background-position: center;

      .slide-content {
        width: 100%;
        height: 100%;
        position: relative;
        background-size: 100% 100% !important;
        text-align: center;
        color: white;
        text-shadow: 0 2px 4px rgba(0, 0, 0, 0.5);

        .iconList {
          position: absolute;
          top: 10%;
          right: 3%;
          width: 60px;
          height: 245px;
          display: flex;
          align-items: center;
          flex-direction: column;
          opacity: 0;
          transition: all 0.6s ease-in-out;
          .icon {
            width: 100%;
            height: 50%;
            cursor: pointer;
            & > img {
              width: 66px;
              height: 68px;
              object-fit: contain;
            }
          }
        }

        & > img {
          width: 100%;
          position: absolute;
          top: 50%;
          left: 50%;
          transform: translate(-50%, -50%);
          object-fit: contain;
        }

        .logo {
          width: 8%;
          top: 5%;
          left: 5%;
          object-fit: contain;
        }

        // 图1
        .title1 {
          width: 30%;
          transform: translate(-110%, -60%);
          opacity: 0.3;
          transition: all 1s ease-in-out;
        }
        .item1 {
          width: 35%;
          opacity: 0;
          transition: all 0.6s ease-in-out 0.4s;
          transform: translate(25%, -170px);
          object-fit: cover;

          &:hover {
            transition: none;
            transform: translate(25%, -170px) perspective(500px)
              translate3d(
                calc((var(--mouse-x) * 0.03) * 1px),
                calc((var(--mouse-y) * 0.03) * 1px),
                0
              );
          }
        }

        // 图2
        .title2 {
          width: 24%;
          opacity: 0.3;
          transform: translate(45%, -95%);
          transition: all 1.2s ease-in-out;
        }
        .item2Bg {
          width: 40%;
          opacity: 0;
          transform: translate(-90%, -50%);
          transition: all 0.4s ease-in-out;
        }
        .item2 {
          width: 35%;
          opacity: 0;
          transform: translate(-114%, -38%);
          transition: all 1s ease-in-out 0.4s;
          &:hover {
            transition: none;
            transform: translate(-114%, -48%) perspective(500px)
              translate3d(
                calc((var(--mouse-x) * 0.03) * 1px),
                calc((var(--mouse-y) * 0.03) * 1px),
                0
              );
          }
        }

        // 图3
        .item3 {
          width: 26%;
          opacity: 0;
          transform: translate(10%, -40%);
          transition: all 1s ease-in-out;
          &:hover {
            transition: none;
            transform: translate(10%, -50%) perspective(500px)
              translate3d(
                calc((var(--mouse-x) * 0.03) * 1px),
                calc((var(--mouse-y) * 0.03) * 1px),
                0
              );
          }
        }

        .item4 {
          width: 26%;
          opacity: 0;
          transform: translate(10%, -40%);
          transition: all 1s ease-in-out;
          &:hover {
            transition: none;
            transform: translate(10%, -50%) perspective(500px)
              translate3d(
                calc((var(--mouse-x) * 0.03) * 1px),
                calc((var(--mouse-y) * 0.03) * 1px),
                0
              );
          }
        }
      }

      // 动画效果
      .animate {
        .iconList {
          top: 5%;
          height: 195px;
          opacity: 1;
        }
        .title1 {
          opacity: 1;
          transform: translate(-110%, -50%);
        }
        .item1 {
          opacity: 1;
          transform: translate(25%, -170px);
          transition: all 0.6s ease-in-out 0.4s;
        }
        .title2 {
          opacity: 1;
          transform: translate(45%, -50%);
        }
        .item2Bg {
          opacity: 1;
        }
        .item2 {
          opacity: 1;
          transform: translate(-114%, -48%);
          transition: all 0.6s ease-in-out 0.4s;
        }
        .item3 {
          opacity: 1;
          transform: translate(10%, -50%);
        }
        .item4 {
          opacity: 1;
          transform: translate(10%, -50%);
        }
      }
    }

    /* 垂直dots样式 */
    .vertical-dots {
      position: fixed;
      left: 30px;
      top: 50%;
      height: 580px;
      transform: translateY(-50%);
      display: flex !important;
      flex-direction: column;
      align-items: center;
      background: url('../image/scroll2.png') no-repeat center;
      background-size: 2px 100%;
      width: auto;
      gap: 60px;
      & li {
        margin: 0 !important;
        width: 26px;
        height: 26px;
      }
      & li:nth-child(1) {
        padding-top: 93px;
      }
      & li:nth-child(2) {
        padding-top: 59px;
      }
      & li:nth-child(3) {
        padding-top: 59px;
      }
      & li:nth-child(4) {
        padding-top: 62px;
      }
      & .slick-active {
        & button {
          background: url('../image/scroll3.png') no-repeat center center;
          background-size: cover;
        }
      }
      & li button {
        width: 26px;
        height: 26px;
        background: url('../image/scroll1.png') no-repeat center center;
        background-size: cover;
        font-size: 12px !important;
        color: transparent !important;
        border: none;
        opacity: 1 !important;
      }
      & li button::before {
        width: 26px;
        height: 26px;
        font-size: 12px !important;
        color: transparent !important;
        border: none;
        opacity: 0 !important;
      }
    }

    @media screen and (max-width: 768px) {
      .fullscreen-slide {
        .slide-content {
          .iconList {
            height: 200px;
            .icon {
              display: flex;
              align-items: center;
              flex-direction: column;
              justify-content: center;
              font-size: 13px;
              gap: 5px;
              & > img {
                width: 46px;
                height: 48px;
              }
            }
          }

          .logo {
            width: 30%;
            top: 5%;
            left: 17%;
            object-fit: contain;
          }

          // 图1
          .title1 {
            width: 70%;
            transform: translate(-50%, -155%);
          }
          .item1 {
            width: 95%;
            transform: translate(-50%, 20px);

            &:hover {
              transition: none;
              transform: translate(-50%, 0);
            }
          }

          // 图2
          .title2 {
            width: 70%;
            transform: translate(-50%, -155%);
          }
          .item2Bg {
            width: 100%;
            transform: translate(-50%, -40px);
          }
          .item2 {
            transform: translate(-50%, 13px);
            width: 65%;

            &:hover {
              transition: none;
              transform: translate(-50%, 13px);
              width: 65%;
            }
          }

          // 图3
          .item3 {
            width: 65%;
            transform: translate(-50%, -20px);
            &:hover {
              transition: none;
              transform: translate(-30%, 0px);
            }
          }

          .item4 {
            width: 60%;
            transform: translate(-50%, -50px);
            &:hover {
              transition: none;
              transform: translate(-50%, -50px);
            }
          }
        }

        // 动画效果
        .animate {
          .iconList {
            top: 5%;
            height: 160px;
            opacity: 1;
          }
          .title1 {
            opacity: 1;
            transform: translate(-50%, -135%);
          }
          .item1 {
            opacity: 1;
            transform: translate(-50%, 0);
          }
          .title2 {
            transform: translate(-50%, -135%);
          }
          .item2Bg {
            opacity: 1;
          }
          .item2 {
            transform: translate(-50%, 0px);
          }
          .item3 {
            transform: translate(-30%, 0px);
          }
          .item4 {
            transform: translate(-50%, -30px);
          }
        }
      }

      .vertical-dots {
        left: 15px;
        height: 400px;
        gap: 40px;
        & li {
          margin: 0 !important;
          width: 16px;
          height: 16px;
        }
        & li:nth-child(1) {
          padding-top: 64px;
        }
        & li:nth-child(2) {
          padding-top: 42px;
        }
        & li:nth-child(3) {
          padding-top: 42px;
        }
        & li:nth-child(4) {
          padding-top: 47px;
        }
        & li button {
          width: 16px;
          height: 16px;
        }
        & li button::before {
          width: 16px;
          height: 16px;
        }
      }
    }
  }
}
