@import "./colors.scss";
@import "./mixin.scss";
@import url('https://fonts.googleapis.com/css2?family=Poppins:wght@500;700&display=swap');

body {
  background-color: $White;
  font-size: 18px;
  font-family: 'Poppins', sans-serif;
  @include flex(flex, center, center, column);

  &::-webkit-scrollbar {
    width: 12px;              
  }
  
  &::-webkit-scrollbar-track {
    background: $mainBackground;        
  }
  
  &::-webkit-scrollbar-thumb {
    background: linear-gradient($DarkViolet 40%, $Cyan 90%);    
    border-radius: 20px;    
  }

  header {
    padding: 55px 165px;
    overflow: hidden;
    width: 100%;

    .container {
      max-width: 1108px;
      margin: 0 auto;
      height: 45px;

      nav {
        .logo img {
          margin-right: 45px;
          width: 120px;
          height: 32px;
        }

        @include flex(flex, center, flex-start, row);

        .nav-content {
          width: 100%;
          display: grid;
          grid-template-columns: 75% 25%;
          grid-template-rows: 1fr;

          .nav-links,
          .nav-links2 {
            display: flex;
            align-items: center;
            gap: 34px;

            a {

              &:hover,
              &:focus-visible {
                color: #34313D;
              }

              text-decoration: none;
              @include font(700, 15px, 22px, none, $GrayishViolet);
            }

            .signUp {
              display: grid;
              place-content: center;
              background: $Cyan;
              border-radius: 28px;
              width: 105px;
              height: 45px;

              @include font(700, 15px, 22px, none, $White);

              &:hover,
              &:focus-visible {
                background-color: $hoverButton;
                color: $White;
              }
            }
          }

          .nav-links2 {
            justify-content: flex-end;
          }
        }
      }
    }

    .overflowImg {
      max-width: 1108px;
      margin: 152px auto;
      position: relative;
      overflow: visible;

      @include flex(flex, center, space-between, row);

      .content {
        width: 100%;
        max-width: 564px;
        height: auto;
        @include flex(flex, flex-start, center, column);
        gap: 38px;

        h1 {
          @include font(700, 80px, 90px, -2px, $VeryDarkBlue);
        }

        p {
          @include font(500, 22px, 36px, 0.15px, $GrayishViolet);
        }

        a {
          display: grid;
          place-content: center;
          width: 197px;
          height: 56px;
          border-radius: 28px;
          background-color: $Cyan;
          text-decoration: none;
          color: $White;

          &:hover,
          &:focus-visible {
            background-color: $hoverButton;
          }
        }
      }

      .hero-image {
        position: absolute;
        right: -290px;
        top: -46px;
        width: 733px;
        height: 482px;

        img {
          position: absolute;
          overflow: visible;
          width: 733px;
          height: 482px;
        }
      }
    }
  }

  main {
    background-color: $mainBackground;
    width: 100%;

    .statistics-input {
      @include flex(flex, center, center, row);
      padding: 28px 165px 112px 165px;
      position: relative;

      .input {
        position: absolute;
        top: -84px;
        @include flex(flex, center, center, row);
        gap: 24px;
        max-width: 1110px;
        height: 168px;
        width: 100%;
        background: url("./images/bg-shorten-desktop.svg") 100% $DarkViolet;
        border-radius: 10px;

        input {
          width: 100%;
          max-width: 769px;
          height: 64px;
          padding-left: 32px;
          border-radius: 10px;
          border: 1px solid transparent;
          background-color: $White;
          @include font(500, 20px, 36px, 0.15px, $VeryDarkBlue)
        }

        #error {
          @include font(500, 16px, 18px, 0.109091px, #F46363);
          position: absolute;
          left: 7%;
          bottom: 20px;
          display: none;
        }

        button {
          border: 1px solid transparent;
          background-color: $Cyan;
          width: 100%;
          border-radius: 10px;
          max-width: 188px;
          height: 64px;
          @include font(700, 20px, 30px, none, $White);
          cursor: pointer;

          &:hover,
          &:focus-visible {
            background-color: $hoverButton;
          }
        }
      }

      .shortLinks {
        margin-top: 0px;
        max-width: 1110px;
        width: 100%;
        background-color: transparent;
        @include flex(flex, none, none, column);
        gap: 16px;

        #showLink {
          border-radius: 5px;
          @include flex(flex, center, space-between, row);
          padding: 18px 24px;
          background-color: $White;

          .oldLink {
            @include font(500, 20px, 36px, 0.15px, $VeryDarkBlue);
          }

          .link {
            @include flex(flex, center, none, row);
            gap: 24px;

            .res {
              @include font(500, 20px, 36px, -.15px, $Cyan)
            }

            #copy {
              width: 103px;
              height: 40px;
              cursor: pointer;
              background-color: $Cyan;
              border-radius: 5px;
              border: 1px solid transparent;
              @include font(700, 15px, 22px, none, $White);

              &:hover,
              &:focus-visible {
                background-color: $hoverButton;
              }
            }
          }
        }
      }
    }

    .advanced-statistics {
      padding-bottom: 80px;
      margin: 0 auto;
      max-width: 1110px;
      height: auto;
      width: 100%;
      background-color: transparent;
      @include flex(flex, center, center, column);
      text-align: center;

      .content {
        max-width: 540px;

        h2 {
          @include font(700, 40px, 48px, -1px, $VeryDarkBlue);
          padding-bottom: 28px
        }

        p {
          @include font(500, 18px, 32px, 0.122727px, $GrayishViolet);
        }
      }

      .details {
        @include flex(flex, center, center, row);
        gap: 20px;
        padding: 90px 0 120px 0;
        position: relative;

        .brand,
        .fully,
        .detailed {
          @include flex(flex, flex-start, flex-start, column);
          gap: 10px;
          max-width: 350px;
          width: 100%;
          height: auto;
          background-color: $White;
          border-radius: 5px;
          padding: 67px 32px 44px 32px;
          position: relative;
          text-align: left;
          z-index: 2;

          &:hover {
            transform: scale(1.04);

            .img {
              background-color: $Cyan;

              img {
                transform: rotateY(360deg);
                filter: invert(0%) sepia(5%) saturate(0%) hue-rotate(215deg) brightness(156%) contrast(100%);
              }
            }
          }

          .img {
            position: absolute;
            top: -40px;
            padding: 20px;
            background-color: $DarkViolet;
            border-radius: 50%;
          }

          h3 {
            @include font(700, 22px, 33px, none, $VeryDarkBlue)
          }

          p {
            @include font(500, 12px, 26px, none, $GrayishViolet)
          }
        }

        .detailed {
          bottom: -40px;
        }

        .fully {
          bottom: -80px;
        }

        &:before {
          content: "";
          width: 700px;
          height: 10px;
          bottom: 200px;
          background-color: $Cyan;
          z-index: 1;
          position: absolute;
        }
      }
    }

    .boost {
      background: url('./images/bg-boost-desktop.svg') $DarkViolet repeat-x;
      background-size: cover;
      width: 100%;
      padding: 57px 24px;
      height: auto;
      width: 100%;
      @include flex(flex, center, center, column);

      h2 {
        @include font(700, 40px, 48px, -1px, $White);
        margin-bottom: 32px;
      }

      a {
        border-radius: 28px;
        background-color: $Cyan;
        width: 197px;
        height: 57px;
        @include font(700, 20px, 30px, none, $White);
        display: grid;
        place-content: center;
        text-decoration: none;

        &:hover,
        &:focus-visible {
          background-color: $hoverButton;
        }
      }
    }
  }

  footer {
    background-color: $VeryDarkViolet;
    @include flex(flex, center, center, row);
    width: 100%;

    .container {
      max-width: 1440px;
      padding: 70px 164px;
      width: 100%;
      @include flex(flex, flex-start, space-between, row);

      img {
        filter: invert(100%) sepia(0%) saturate(235%) hue-rotate(208deg) brightness(118%) contrast(100%);
      }

      .grid-items {
        display: grid;
        grid-template-columns: repeat(4, 1fr);

        .column1,
        .column2,
        .column3 {
          @include flex(flex, flex-start, flex-start, column);

          p {
            @include font(700, 16px, 24px, -0.25px, $White);
            padding-bottom: 28px;
          }

          a {
            text-decoration: none;
            @include font(500, 15px, 22px, -0.234375px, $Gray);
            padding-bottom: 10px;

            &:hover,
            &:focus-visible {
              color: $Cyan;
            }
          }
        }

        .column4 {
          @include flex(flex, flex-start, flex-start, row);
          gap: 24px;

          .socialIcon {
            filter: invert(0%) !important;

            &:hover,
            &:focus-visible {
              filter: none !important;
            }
          }
        }
      }
    }
  }
}

@media (max-width: 1300px) {
  #error {
    bottom: 5px !important;
  }

  .shortLinks {
    margin-top: 40px !important;
  }

  header {
    padding: 55px 87.5px !important;

    .content {
      gap: 12px !important;

      p {
        font-size: 23px;
        max-width: 400px;
      }
    }

    .hero-image {
      width: 683px !important;
      height: 432px !important;

      img {
        width: 683px;
        height: 432px;
      }
    }
  }

  .statistics-input {
    padding: 28px 20px 152px 20px !important;
  }

  .advanced-statistics {
    padding: 0 20px;
  }

  .input {
    padding: 25px !important;
    width: 95% !important;
    height: auto !important;

    input {
      height: 68px !important;
      padding: 10px !important;
    }
  }

  h1 {
    max-width: 440px;
    font-size: 56px !important;
  }

  footer {
    .container {
      gap: 40px;
    }
  }
}

@media (min-width: 1300px) {
  .relative {
    position: relative;
    margin-top: 80px !important;
  }
}

@media (max-width: 956px) {
  #error {
    left: 27px !important;
    bottom: 76px !important;
  }
  .statistics-input {
    padding: 68px 20px 80px 20px !important;
  }

  .input {
    background: url('./images/bg-shorten-mobile.svg') #3b3054 no-repeat !important;
    background-size: cover !important;
    @include flex(flex, center, none !important, column !important);

    input,
    button {
      width: 100% !important;
      max-width: none !important;
      height: 48px !important;
    }
  }

  #showLink {
    @include flex(flex, center, center !important, column !important);
    padding: 0px !important;

    .oldLink {
      @include font(500, 16px !important, 36px, 0.12px !important, $VeryDarkBlue);
      border-bottom: 1px solid #000;
      padding: 18px 24px 0px 24px;
      text-align: center;
    }

    .link {
      @include flex(flex, none !important, flex-start, column !important);
      width: 100%;
      gap: 12px !important;
      padding: 18px 24px;

      .res {
        @include font(500, 16px, 36px, 0.12px, $Cyan);
      }

      #copy {
        width: 100% !important;
        height: 40px;
        border-radius: 5px;
        border: 1px solid transparent;
        @include font(700, 15px, 22px, none, $White);
      }
    }
  }

  .overflowImg {
    flex-direction: column-reverse !important;

    .hero-image {
      position: relative !important;
      right: -120px !important;

      img {
        position: absolute;
        overflow: visible;
      }
    }
  }

  .boost {
    background: url("../../dist/images/bg-boost-mobile.svg") $DarkViolet 100% no-repeat !important;

    h2 {
      @include font(700, 28px !important, 48px !important, -0.7px, $White);
      text-align: center;
    }
  }

  h1 {
    @include font(700 !important, 42px !important, 48px !important, -1.05px !important, none);
    text-align: center;
  }

  header {
    padding: 55px 24px 0px 24px !important;

    .content {
      @include flex(flex, center !important, center !important, column);

      p {
        @include font(500, 18px !important, 30px !important, 0.122727px !important, none);
        text-align: center !important;
      }
    }
  }

  .details {
    flex-direction: column !important;

    &::before {
      top: 500px;
      transform: rotate(90deg);
    }

    .brand,
    .fully,
    .detailed {
      @include flex(flex, center !important, center !important, column);
      text-align: center !important;
    }
  }

  footer {
    .container {
      @include flex(flex, center !important, center !important, column !important);
      padding: 70px 0px !important;

      .grid-items {
        @include flex(flex !important, center !important, space-evenly !important, column !important);
        text-align: center !important;
        gap: 20px;

        .column1,
        .column2,
        .column3 {
          @include flex(flex !important, center !important, space-evenly !important, column !important);
          text-align: center !important;
        }
      }
    }
  }
}

@media (max-width: 600px) {
  #showLink {
    word-break: break-all;
    width: 100%;

    .oldLink {
      word-break: break-all;
    }
  }

  .shortLinks {
    margin-top: 70px !important;
  }

  .overflowImg {
    margin: 60px auto 152px auto !important;

    .hero-image {
      right: -78px !important;
    }

    .hero-image,
    img {
      width: 460px !important;
      height: 337px !important;
    }
  }

  .input {
    width: 90% !important;
  }

  header {
    .container {
      position: relative;
    }

    .logo {
      position: absolute;
      top: 0px;
    }
  }

  nav {
    justify-content: space-between !important;
  }

  #menu {
    display: block !important;
  }

  .nav-content {
    @include flex(flex !important, center !important, center !important, column !important);
    height: 0px;
    visibility: hidden;
    position: relative;
    bottom: -50px;
    z-index: -1;

    li {
      display: none !important;
      opacity: 0;
    }
  }

  .nav-mobile {
    padding: 40px 24px;
    opacity: 1;
    transition: 0.8s;
    z-index: 2;
    height: 383px !important;
    visibility: visible;
    background-color: $DarkViolet;
    border-radius: 10px;
    gap: 20px;

    .nav-links {
      border-bottom: 1px solid rgba(255, 255, 255, 0.329);
      padding-bottom: 20px;
      width: 100%;
    }

    .nav-links,
    .nav-links2 {
      opacity: 1 !important;
      @include flex(flex !important, center, none !important, column);
      width: 100%;

      a {
        @include font(700 !important, 18px !important, 27px !important, none !important, $White !important);
      }
    }

    .signUp {
      width: 100% !important;
    }
  }
}

.error {
  border: 3px solid $Red !important;

  &::placeholder {
    color: $Red !important;
  }
}

.errorTxt {
  display: block !important;
}



.copied {
  background-color: $DarkViolet !important;
}

.disabled {
  background-color: $DarkViolet !important;
}

#menu {
  position: absolute;
  top: 0px;
  right: 0px;
  display: none;
  border: 1px solid transparent;
  background-color: transparent;
  cursor: pointer;

  img {
    width: 40px;
    height: auto;
  }
}