#footer {
  padding-top: 380rem;
  font-size: 16rem;
  font-weight: 900;
  font-family: 'Plexes';
  text-transform: uppercase;
  overflow-x: clip;
  position: relative;
  #footer-bg {
    width: 100%;
    height: auto;
    position: absolute;
    left: 50%;
    bottom: 80rem;
    z-index: 0;
    transform: translateX(-50%);
    pointer-events: none;
    svg {
      width: 100%;
      height: auto;
      fill: #1C1C1C;
      &:last-child {
        display: none;
      }
    }
    g path {
      transform-box: fill-box;
      transform-origin: 0% 100%;
      transition: transform 2s var(--in-out);
    }
    &.show {
      g path {
        transform: translateX(50%) scale(0.75);
      }
    }
  }
  .top, .end {
    padding: 16rem var(--margin);
    display: flex;
    justify-content: space-between;
    position: relative;
    z-index: 1;
  }
  .top {
    padding-bottom: 50rem;
    z-index: 2;
    .left, .right {
      .logo {
        height: 100rem;
        display: inline-flex;
        margin-bottom: 32rem;
        img {
          width: auto;
          height: 100%;
        }
      }
    }
    .left {
      #footer-left-bottom {
        display: inline-flex;
        gap: 48rem;
        
        ul {
          display: flex;
          align-items: center;
          list-style: none;
          text-transform: uppercase;
          padding: 0;
          margin: 0;
          gap: 0 48rem;
          li {
            height: 100%;
            display: inline-flex;
            align-items: center;
            a {
              height: 100%;
              display: inline-flex;
              align-items: center;
              position: relative;
              &::before {
                content: '';
                width: 6px;
                height: 6px;
                background: var(--green);
                display: inline-block;
                position: absolute;
                left: -12px;
                top: 50%;
                transform: translateY(-50%) scale(0);
                border-radius: 50%;
                transition: transform 1s var(--curve);
              }
              &.is-active {
                color: var(--title-color);
                &::before {
                  transform: translateY(-50%) scale(1);
                }
              }
            }
            svg {
              width: 10rem;
              margin-left: 10rem;
              fill: currentColor;
              transition: transform 1s var(--curve);
            }
            &:hover {
              a {
                color: var(--title-color);
              }
            }
            &.open {
              svg {
                transform: rotate(180deg);
              }
            }
          }
        }
      }
    }
    .right {
      .socials {
        display: flex;
        justify-content: flex-end;
        gap: 20rem;
        a {
          width: 56rem;
          height: 56rem;
          display: inline-flex;
          align-items: center;
          justify-content: center;
          position: relative;
          &::before {
            content: '';
            width: 100%;
            height: 100%;
            border-radius: 50%;
            position: absolute;
            top: 0;
            left: 0;
            z-index: 0;
            background: #333333;
            transition: transform 1s var(--in-out), background 1s var(--in-out);
          }
          svg {
            width: auto;
            height: 25rem;
            fill: currentColor;
            z-index: 1;
            transition: transform 1s var(--in-out);
          }
          &:hover {
            &::before {
              transform: scale(1.1);
              background: #222222;
            }
            svg {
              transform: scale(0.9);
            }
          }
        }
      }
    }
  }
  .end {
    background: #030303;
    align-items: center;
    .left {
      display: inline-flex;
      align-items: center;
      gap: 80rem;
      .logo {
        width: 34rem;
        height: auto;
      }
    }
    #go-top {
      display: inline-flex;
      align-items: center;
      font-family: 'Plexes';
      font-weight: 900;
      font-size: 16rem;
      text-transform: uppercase;
      cursor: pointer;
      span {
        margin-left: 12rem;
      }
      svg {
        color: var(--white);
        use {
          &:nth-child(2) {
            transform: translateY(110%);
          }
        }
      }
      &:hover {
        .button-prev {
          &::before {
            transform: scale(1.1);
            background: #222222;
          }
          svg {
            use {
              &:nth-child(1) {
                transform: translateY(-110%);
                transition-delay: 0s;
              }
              &:nth-child(2) {
                transform: translateY(0%);
                transition-delay: 0.12s;
              }
            }
          }
        }
      }
    }
  }
  @media (max-width: 1024px) {
    #footer-bg {
      top: 0;
      bottom: auto;
    }
    .top {
      flex-direction: column;
      background: #1C1C1C;
      gap: 48px;
      .left, .right {
        width: 100%;
      }
      .left {
        .logo {
          width: 100%;
          height: auto;
          img {
            width: 100%;
            height: auto;
          }
        }
        #footer-left-bottom {
          gap: 20px;
          #footer-menu ul {
            gap: 0 20px;
          }
        }
      }
      .right {
        display: flex;
        flex-direction: row;
        justify-content: space-between;
        .logo {
          margin-bottom: 0;
        }
      } 
    }
    .end {
      font-size: 14px;
      .left {
        gap: 40px;
      }
    }
  }
  @media (max-width: 880px) {
    padding-top: 300px;
    .top {
      .left {
        #footer-left-bottom {
          flex-direction: column;
          align-items: flex-start;
          gap: 30px;
          #footer-menu ul {
            flex-direction: column;
            align-items: flex-start;
            gap: 30px 0;
          }
        }
      }
    }
    .end {
      padding-top: 24px;
      padding-bottom: 40px;
      align-items: flex-start;
      .left {
        flex-direction: column;
        align-items: flex-start;
        gap: 20px;
      }
      .right {
      }
    }
  }
  @media (max-width: 740px) {
    padding-top: 150px;
    #footer-bg {
      position: static;
      transform: none;
      margin-bottom: -2px;
      svg {
        &:first-child {
          display: none;
        }
        &:last-child {
          display: block;
        }
      }
    }
    .top {
      padding-bottom: 30px;
      .right {
        .logo {
          width: auto;
          height: 48px;
        }
        .socials {
          gap: 9px;
          a {
            width: 48px;
            height: 48px;
            svg {
              height: 20px;
            }
          }
        }
      }
    }
    .end {
      position: relative;
      .right {
        position: absolute;
        right: var(--margin);
        top: 24px;
        .button-prev {
          width: 32px;
          height: 32px;
        }
      }
    }
  }
}