<template>
  <section class="about-flow">
    <div class="flow-title">
      <div class="flow-title-text">
        全线产品自主研发
      </div>
      <div class="flow-title-subtext">
        全线产品自主研发，从高防IP、CDN到游戏盾SDK，核心技术完全自控，安全能力不受制于人，防护效果快人一步。
      </div>
    </div>
    <div class="flow-content">
      <div class="flow-content-left">
        <div class="left-user">
          <NuxtImg class="flow-icon" src="/images/about/icon-user.png" alt="icon" />
          <div class="flow-text">用户</div>
        </div>
        <div class="left-sdk">
          <NuxtImg class="flow-icon" src="/images/about/icon-sdk.png" alt="icon" />
          <div class="flow-text">终端设备/SDK</div>
        </div>
      </div>
      <div class="flow-content-con">
        <div class="con-item">高仿IP</div>
        <div class="con-item">CDN</div>
        <div class="con-item">游戏盾</div>
      </div>
      <div class="flow-content-right">
        <div class="right-item">扛攻击，让业务稳如山。</div>
        <div class="right-item">就近分发内容，让用户访问快人一步。</div>
        <div class="right-item">端上智能调度+加密隧道/大陆加速:</div>
      </div>
    </div>
    <div class="flow-bottom">
      <div class="btm-left">高防服务器</div>
      <div class="btm-con">
        <span>互联网基础设施</span><span>高防DNSSSL节点池</span>
      </div>
      <div class="btm-right">源站服务器</div>
    </div>
  </section>
</template>
<script setup>
</script>
<style lang="scss" scoped>
.about-flow {
  width: 1200px;
  margin: 72px auto 0;
  box-sizing: border-box;

  .flow-title {
    position: relative;
    border-radius: 10px;
    border: 2px solid #8B74FF;
    background: rgba(63, 51, 125, 0.30);
    color: #FFF;

    .flow-title-text {
      display: flex;
      align-items: center;
      justify-content: center;
      width: 100%;
      height: 70px;
      font-size: 30px;
      font-weight: 400;
      background: rgba(128, 119, 255, .5);
    }

    .flow-title-subtext {
      padding: 16px 36px 22px;
      font-size: 24px;
      font-weight: 400;
    }

    &::before {
      content: '';
      position: absolute;
      bottom: -75px;
      left: 50%;
      transform: translateX(-50%);
      width: 2px;
      height: 75px;
      background: #8B74FF;
    }

    &::after {
      content: '';
      position: absolute;
      bottom: -77px;
      left: 50%;
      transform: translateX(-50%);
      width: 0;
      height: 0;
      border-left: 8px solid transparent;
      border-right: 8px solid transparent;
      border-top: 12px solid #8B74FF;
    }
  }


  .flow-content {
    width: 100%;
    box-sizing: border-box;
    display: flex;
    align-items: center;

    .flow-content-left {
      display: flex;
      gap: 30px;
    }

    .left-user,
    .left-sdk {
      display: flex;
      flex-direction: column;
      align-items: center;
      justify-content: center;
      color: #FFF;

      .flow-text {
        position: relative;
        box-sizing: border-box;
        width: 162px;
        height: 55px;
        display: flex;
        justify-content: center;
        align-items: center;
        border-radius: 8px;
        border: 1px solid #A39DFF;
        background: #3F337D;

        &::before {
          content: '';
          position: absolute;
          right: -30px;
          top: 50%;
          transform: translateY(-50%);
          width: 30px;
          height: 1px;
          background: #8B74FF;
        }

        &::after {
          content: '';
          position: absolute;
          right: -32px;
          top: 50%;
          transform: translateY(-50%);
          width: 0;
          height: 0;
          border-top: 8px solid transparent;
          border-bottom: 8px solid transparent;
          border-left: 12px solid #8B74FF;
        }
      }

    }

    .left-sdk {

      .flow-text {
        &::before {
          right: -56px;
          width: 56px;

        }

        &::after {
          right: -56px;
        }
      }
    }

    .flow-content-con {
      position: relative;
      display: flex;
      flex-direction: column;
      align-items: center;
      justify-content: center;
      gap: 58px;
      width: 376px;
      height: 345px;
      box-sizing: border-box;
      border-radius: 10px;
      border: 2px solid #8B74FF;
      margin: 77px 80px 47px 56px;
      background: rgba(63, 51, 125, 0.30);

      &::before {
        content: '';
        position: absolute;
        left: 50%;
        bottom: -47px;
        transform: translateX(-50%);
        width: 1px;
        height: 47px;
        background: #8B74FF;
      }

      &::after {
        content: '';
        position: absolute;
        left: 50%;
        bottom: -47px;
        transform: translateX(-50%);
        width: 0;
        height: 0;
        border-left: 8px solid transparent;
        border-right: 8px solid transparent;
        border-top: 12px solid #8B74FF;
      }

      .con-item {
        color: #FFF;
        font-size: 20px;
        font-weight: 400;
        display: flex;
        height: 55px;
        width: 217px;
        justify-content: center;
        align-items: center;
        border-radius: 8px;
        border: 1px solid #A39DFF;
        background: #3F337D;
      }
    }

    .flow-content-right {
      display: flex;
      flex-direction: column;
      gap: 32px;
      align-items: center;

      .right-item {
        position: relative;
        display: flex;
        align-items: center;
        justify-content: center;
        padding: 0 20px;
        box-sizing: border-box;
        width: 332px;
        height: 89px;
        border-radius: 16px;
        border: 1px solid #A39DFF;
        background: #3F337D;
        color: #FFF;
        font-size: 20px;
        font-weight: 400;

        &::before {
          content: '';
          position: absolute;
          left: -65px;
          top: 50%;
          transform: translateY(-50%);
          width: 65px;
          height: 1px;
          background: #8B74FF;
        }

        &::after {
          content: '';
          position: absolute;
          left: -65px;
          top: 50%;
          transform: translateY(-50%);
          width: 0;
          height: 0;
          border-top: 8px solid transparent;
          border-bottom: 8px solid transparent;
          border-right: 12px solid #8B74FF;
        }
      }
    }
  }

  .flow-bottom {
    display: flex;
    gap: 80px;
    color: #FFF;
    font-size: 20px;

    .btm-left,
    .btm-con,
    .btm-right {
      border: 1px solid #A39DFF;
      background: #3F337D;
      display: flex;
      justify-content: center;
      align-items: center;
      border-radius: 16px;

    }

    .btm-left {
      position: relative;
      margin-left: 84px;
      width: 243px;
      height: 89px;

      &::before {
        content: '';
        position: absolute;
        right: -80px;
        top: 50%;
        transform: translateY(-50%);
        width: 65px;
        height: 1px;
        background: #8B74FF;
      }

      &::after {
        content: '';
        position: absolute;
        right: -22px;
        top: 50%;
        transform: translateY(-50%);
        width: 0;
        height: 0;
        border-top: 8px solid transparent;
        border-bottom: 8px solid transparent;
        border-right: 12px solid #8B74FF;
      }
    }

    .btm-con {
      width: 376px;
      height: 89px;
      gap: 12px;
    }

    .btm-right {
      position: relative;
      width: 332px;
      height: 89px;

      &::before {
        content: '';
        position: absolute;
        left: -80px;
        top: 50%;
        transform: translateY(-50%);
        width: 65px;
        height: 1px;
        background: #8B74FF;
      }

      &::after {
        content: '';
        position: absolute;
        left: -22px;
        top: 50%;
        transform: translateY(-50%);
        width: 0;
        height: 0;
        border-top: 8px solid transparent;
        border-bottom: 8px solid transparent;
        border-left: 12px solid #8B74FF;
      }
    }
  }
}
</style>