:root {
  --start-hue: 230;
  --end-hue: 150;
  --line-count: 31;
  --max-thickness: 19px;
  --decrement: 0.5px;
  --gap: 4px;
  --star-color: #ddd;
}

@keyframes gradient-move {
  0% {
    background-position: 0% 50%;
  }
  50% {
    background-position: 100% 50%;
  }
  100% {
    background-position: 0% 50%;
  }
}

body {
  font-family: "IBM Plex Sans Arabic", "Tajawal", sans-serif;

  > header {
    display: none !important;
  }

  page {
    height: auto;
    display: block;
    position: relative;

    content {
      width: 100%;
      background: #ffffff;
      position: relative;
      height: fit-content;
      width: inherit;
      display: block;

      .logo {
        width: 100px;
        height: 100px;
        margin: 140px 24% 0px 0px;
        position: absolute;
        border-radius: 29px;
        background: #2598ff;
        .animation {
          background-image:
            radial-gradient(at 0% 0%, #269aff 0, transparent 50%),
            radial-gradient(at 50% 0%, rgb(153, 247, 255) 0, transparent 50%),
            radial-gradient(at 100% 0%, #e4faff 0, transparent 50%);
          background-size: 200% 200%;
          animation: gradient-move 5s ease infinite;
          top: 0;
          z-index: 999999;
          width: 107px;
          height: 105px;
          position: absolute;
          border-radius: 29px;
        }

        .letter {
          font-family: "Lalezar";
          font-size: 90px;
          font-weight: 600;
          color: #fff;
          padding: 17px 18px 0 0;
          z-index: 99999999;
          display: inline-block;
          position: absolute;

          &::selection {
            color: #fff;
            background: transparent;
          }
        }
      }

      .ctrl,
      ._ctrl {
        a {
          width: 200px;
          cursor: pointer;
          border-radius: 13px;
          font-weight: 300;
          height: 50px;
          margin: 0;
          padding: 0;
          font-size: 17px;

          .text-container {
            padding-top: 2px;

            .text {
              &::selection {
                /* color: #fff; */
                /* background: transparent; */
              }
            }
          }
        }

        .limited-access {
          color: #777;
          font-size: 14px;
          font-weight: 300;
          margin-top: 16px;
          display: flex;

          &::before {
            content: "*";
            color: #bbb;
            margin-left: 3px;
          }
        }
      }

      > .text {
        position: relative;
        width: 52%;
        top: 270px;
        right: 24%;
        padding-bottom: 200px;

        padding {
          display: block;
          padding: 10px 0;
        }

        > .title {
          font-family: "Lalezar";
          font-size: 90px;
          font-weight: 600;
          color: #000;
          margin-bottom: 35px;
        }

        .body {
          .section {
            font-size: 25px;
            line-height: 1.8em;
            margin-bottom: 30px;
            font-weight: 300;
            color: #000;

            .title {
              font-weight: 500;
              margin-bottom: 15px;
            }

            a {
              color: inherit;
              border-bottom: 1px solid #888;
              text-decoration: none;
              display: inline-block;
              line-height: 1.6em;
              position: relative;

              &:hover {
                color: #027ae7;
                border-bottom: 1px solid #1893fd;
              }

              svg {
                position: absolute;
                width: 12px;
                left: -2px;
                top: 4px;
              }
            }

            .show-more {
              border-bottom: none;
              color: inherit;
              border-bottom: 1px solid #888;
              text-decoration: none;
              display: inline-block;
              line-height: 1.6em;
              cursor: pointer;

              svg {
                width: 20px;
              }

              &:hover {
                color: #027ae7;
                border-bottom: 1px solid #1893fd;
              }
            }

            b {
              font-weight: 400;
            }

            &.quote {
              position: relative;
              padding-right: 42px;
              font-size: 22px;
              width: 95%;
              font-weight: 200;

              svg {
                position: absolute;
                top: 12px;
                right: 0;
                width: 25px;
              }

              .meta {
                font-size: 17px;
                color: #666;
                display: inline;

                &:last-of-type {
                  margin-bottom: 0;
                }
              }
            }
          }
        }
      }
    }
  }

  .request-invitation-wrapper {
    width: 100%;
    padding: 19px 0 4px;
    position: absolute;
    bottom: 70px;
    background: #fff;
    border-top: 1px solid #eee;
    font-size: 14px;

    &.expanded {
      bottom: -170px;
      position: relative;
    }

    .request-invitation {
      width: 52%;
      margin-right: 24%;
      position: relative;

      .text {
        display: inline-block;
        text-align: right;

        .title {
          font-weight: 400;
          color: #222;
          margin-left: 5px;
          line-height: 1.1em;
        }

        .body {
          font-weight: 300;
          margin: 9px 0px 15px 0px;
          color: #666;
          margin-left: 5px;
          line-height: 1.7em;
        }
      }

      form {
        display: inline-block;
        position: absolute;
        left: 0;
        top: 3px;

        input {
          display: inline-block;
          height: 40px;
          line-height: 40px;
          padding: 9px 13px 10px;
          font-size: 14px;
          margin-bottom: 6px;
          border-radius: 10px;
          border: 1px solid #ccc;
          width: 230px;
          vertical-align: baseline;
          font-weight: 300;

          &::placeholder {
            color: #777;
          }

          &:focus {
            border: 1px solid #888;
          }
        }

        button {
          display: inline-block;
          font-size: 14px;
          border-radius: 10px;
          font-weight: 300;
          height: 40px;
          padding: 8.5px 20px 9.5px;
          vertical-align: middle;
          border-color: #ccc;

          .text-container {
            padding-top: 2px;
          }

          &:hover {
            border-color: #888;
            color: #000;
          }
        }

        .success-message,
        .error-message {
          font-size: 13px;
          padding-top: 8px;
          font-weight: 300;
          line-height: 1.7em;
        }

        .success-message {
          color: #008016;
        }

        .error-message {
          color: #d00000;
        }
      }
    }
  }

  footer {
    position: absolute;
    width: 100%;
    bottom: 0;
    height: 70px;
    background: #fff;

    &::before {
      content: "";
      display: block;
      position: absolute;
      z-index: 9999999;
      width: 100%;
      height: 0.8px;
      top: 0;
      left: 0;
      background: #eee;
    }

    > svg {
      position: absolute;
      width: 40px;
      fill: #ccc;
      right: 24%;
      top: 22px;
    }

    .sieve-web {
      position: fixed;
      left: 0;
      width: 55%;
      height: 72px;
      background-size: contain;
      bottom: -2px;

      &::after {
        content: "";
        display: block;
        position: absolute;
        width: 100%;
        height: 100%;
        top: 0;
        left: 0;
        background: linear-gradient(to left, #fff, transparent 100%);
      }
    }

    &.expanded {
      bottom: -170px;
      position: relative;

      .sieve-web {
        position: absolute;
      }
    }
  }
}

@media (max-width: 1440px) {
  body {
    page content {
      .logo {
        margin: 85px 16% 0px 0px;
        width: 95px;
        height: 95px;
        border-radius: 30px;

        .animation {
          width: 101px;
          height: 95px;
          border-radius: 30px 30px 0 0;
        }

        .letter {
          font-size: 78px;
          padding: 20px 19px;
        }
      }

      > .text {
        width: 66%;
        right: 16%;
        top: 200px;
        padding-bottom: 170px;

        > .title {
          font-size: 73px;
          margin-bottom: 30px;
        }

        .body {
          .section {
            font-size: 23px;
            margin-bottom: 25px;

            &.quote {
              font-size: 20px;
              padding-right: 38px;
              margin-bottom: 20px;

              svg {
                width: 19px;
              }

              .meta {
                font-size: 17px;
              }
            }
          }
        }
      }

      .ctrl,
      ._ctrl {
        a {
          width: 180px;
          height: 46px;
          font-size: 16px;
        }
      }
    }

    .request-invitation-wrapper {
      .request-invitation {
        width: 66%;
        margin-right: 16%;
        position: relative;
      }

      &.expanded {
        bottom: -140px;
        position: relative;
      }
    }

    footer {
      &.expanded {
        bottom: -140px;
        position: relative;
      }

      > svg {
        position: absolute;
        width: 36px;
        right: 16%;
        top: 23px;
      }
    }
  }
}

@media (max-width: 1152px) {
  body {
    & page content {
      .logo {
        width: 75px;
        height: 75px;
        border-radius: 25px;
        margin: 80px 8% 0px 0px;

        .animation {
          width: 83px;
          height: 82px;
          border-radius: 25px 25px 0 0;
        }

        .letter {
          font-size: 60px;
          padding: 16px 16px 0 0;
        }
      }

      & > .text {
        width: 84%;
        top: 177px;
        right: 8%;
        padding-bottom: 100px;

        > .title {
          font-size: 55px;
          margin-bottom: 30px;
        }

        .body {
          .section {
            font-size: 22px;
            line-height: 1.7em;
            margin-bottom: 24px;

            &.quote {
              padding-right: 37px;

              svg {
                width: 21px;
              }

              .meta {
                display: inline-block;
                line-height: 1.8em;
              }
            }

            a {
              svg {
                width: 11px;
              }
            }

            .show-more {
              svg {
                width: 17px;
              }
            }
          }

          .ctrl,
          ._ctrl {
            display: none;
          }
        }
      }

      &.expanded {
        .ctrl,
        ._ctrl {
          margin-top: 35px !important;
        }
      }
    }

    .request-invitation-wrapper {
      padding: 19px 0;
      text-align: center;

      .request-invitation {
        width: 84%;
        margin-right: 8%;
        position: relative;
        height: 100%;

        .text {
          text-align: center;
        }

        form {
          top: unset;
          position: relative;
          text-align: center;
          display: block;

          input {
            text-align: center;
          }

          button {
            width: 230px;
            display: block;
            margin: 0 auto;
            padding: 8.5px 0 9.5px;
          }

          .success-message,
          .error-message {
            padding-top: 0;
            padding-bottom: 4px;
          }
        }
      }
    }

    & footer {
      > svg {
        right: 8%;
        top: 22px;
      }
    }
  }
}

@media (max-width: 400px) {
  body {
    page content {
      .logo {
        width: 50px;
        height: 50px;
        border-radius: 16px;
        margin: 35px 6% 0px 0px;

        .animation {
          width: 54px;
          height: 50px;
          border-radius: 16px 16px 0 0;
        }

        .letter {
          font-size: 38px;
          padding: 11px 11px 0 0;
        }
      }

      > .text {
        width: 88%;
        top: 98px;
        right: 6%;
        padding-bottom: 0px;

        padding {
          padding: 5px 0;
        }

        > .title {
          font-size: 35px;
          margin-bottom: 10px;
        }

        .body {
          .section {
            font-size: 15px;
            margin-bottom: 10px;

            &.quote {
              font-size: 14px;
              padding-right: 25px;

              svg {
                width: 14px;
                top: 8px;
              }

              .meta {
                font-size: 12px;
              }
            }

            a {
              svg {
                width: 9px;
              }
            }

            .show-more {
              svg {
                width: 15px;
              }
            }
          }

          #readmore-sections {
            .section:nth-child(4) {
              margin-bottom: 10px !important;
            }

            .section:nth-child(5) {
              margin-bottom: 20px !important;
            }

            .section:nth-child(9) {
              margin-top: 20px !important;
            }

            &.invisible {
              height: 0;
              position: fixed;
            }
          }

          .ctrl,
          ._ctrl {
            display: none;
          }
        }
      }
    }

    .request-invitation-wrapper {
      .request-invitation {
        form {
          input,
          button {
            font-size: 13px;
          }
        }
      }
    }
  }
}

/* Mirror the icon if the UI is Arabic */
.ui-lang-ar body page content > .text {
  .body {
    .section {
      a {
        svg {
          transform: scale(-1, 1);
        }
      }
    }
  }
}
