@import url("https://fonts.googleapis.com/css2?family=Cairo:wght@300;400;700&display=swap");
// Start Global Rules
* {
  margin: 0;
  padding: 0;
  box-sizing: border-box;
  text-transform: capitalize;
}
:root {
  --main-color: #2196f3;
  --main-color-alt: #1787e0;
  --main-transition: 0.3s;
  --main-padding-top: 100px;
  --main-padding-bottom: 100px;
  --section-background: #ececec;
  --main-line-height: 1.7;
  --main-color-second: #777;
}
html {
  scroll-behavior: smooth;
}
body {
  font-family: "Cairo", sans-serif;
}
ul {
  list-style: none;
  margin: 0;
  padding: 0;
}
a {
  text-decoration: none;
}
.container {
  padding-left: 15px;
  padding-right: 15px;
  margin-left: auto;
  margin-right: auto;
}
// Small
@media (min-width: 768px) {
  .container {
    width: 750px;
  }
}
// Medium
@media (min-width: 992px) {
  .container {
    width: 970px;
  }
}
// Large
@media (min-width: 1200px) {
  .container {
    width: 1170px;
  }
}
.main-title {
  margin: 0px auto 80px;
  border: 2px solid #000;
  padding: 10px 20px;
  font-size: 30px;
  width: fit-content;
  position: relative;
  z-index: 1;
  transition: var(--main-transition);
}
.main-title::before,
.main-title::after {
  content: "";
  width: 12px;
  height: 12px;
  background-color: var(--main-color);
  position: absolute;
  border-radius: 50%;
  top: 50%;
  transform: translateY(-50%);
}
.main-title::before {
  left: -30px;
}
.main-title::after {
  right: -30px;
}
.main-title:hover::before {
  z-index: -1;
  animation: left-move 0.5s linear forwards;
}
.main-title:hover::after {
  z-index: -1;
  animation: right-move 0.5s linear forwards;
}
.main-title:hover {
  color: #fff;
  border: 2px solid #fff;
  transition-delay: 0.5s;
}

.spikes{
  position: relative;
  &::after{
    content: "";
    position: absolute;
    right: 0;
    width: 100%;
    height: 30px;
    z-index: 1;
    background-image: linear-gradient(135deg, #fff 25% , transparent 25%), linear-gradient(225deg, #fff 25% , transparent 25%);
    background-size: 30px 30px;
  }
}
.dots{
  background-image: url(./images/dots.png);
  height: 186px;
  width: 204px;
  background-repeat: no-repeat;
  position: absolute;
  &.dots-up{
    top: 200px;
    right: 0;
  }
  &.dots-down{
    bottom: 200px;
    left: 0;
  }
}
// End Global Rules
// Start of Header
.header {
  background-color: #ffffff;
  position: relative;
  box-shadow: 0 0 10px #ddd;
  .container {
    display: flex;
    justify-content: space-between;
    align-items: center;
    flex-wrap: wrap;
    position: relative;
  }
  .logo {
    color: var(--main-color);
    font-size: 26px;
    font-weight: bold;
    height: 96px;
    display: flex;
    justify-content: center;
    align-items: center;
  }
  .main-nav > li:hover .mega-menu {
    opacity: 1;
    top: calc(100% + 1px);
    z-index: 100;
  }
  .main-nav {
    display: flex;
    > li > a {
      display: flex;
      justify-content: center;
      align-items: center;
      height: 96px;
      position: relative;
      color: #000;
      padding: 0 30px;
      transition: var(--main-transition) ease-in-out;
      overflow: hidden;
      &::before {
        content: "";
        position: absolute;
        width: 100%;
        height: 4px;
        background-color: var(--main-color);
        top: 0;
        left: -100%;
        transition: var(--main-transition) ease-in-out;
      }
      &:hover {
        color: var(--main-color);
        background-color: #fafafa;
        &::before {
          left: 0;
        }
      }
    }
  }
  .mega-menu {
    position: absolute;
    width: 100%;
    left: 0;
    padding: 30px;
    background-color: #ffffff;
    border-bottom: 3px solid var(--main-color);
    z-index: -1;
    display: flex;
    gap: 40px;
    top: calc(100% + 50px);
    transition: top var(--main-transition) ease-in-out, opacity var(--main-transition) ease-in-out;
    opacity: 0;
    img {
      max-width: 100%;
    }
    .links {
      min-width: 250px;
      flex: 1;
      li {
        position: relative;
        &::before {
          content: "";
          position: absolute;
          left: 0;
          top: 0;
          width: 0;
          height: 100%;
          background-color: #fafafa;
          z-index: -1;
          transition: var(--main-transition);
        }
        a {
          color: var(--main-color);
          padding: 15px;
          display: block;
          font-size: 18px;
          font-weight: bold;
          svg {
            margin-right: 10px;
          }
        }
        &:not(:last-child) {
          border-bottom: 1px solid #e9e6e6;
        }
      }
    }
  }
}
.mega-menu .links li:hover::before {
  width: 100%;
}
@media (max-width: 767px) {
  .header .logo {
    width: 100%;
    height: 50px;
  }
  .header .main-nav {
    margin: auto;
    > li > a {
      padding: 10px;
      font-size: 14px;
      height: 40px;
    }
  }
  .header .mega-menu {
    flex-direction: column;
    gap: 0;
    padding: 5px;
  }
  .mega-menu .links:first-of-type li:last-child {
    border-bottom: 1px solid #e9e6e6;
  }
}
@media (max-width: 991px) {
  .mega-menu .image {
    display: none;
  }
}
// End of Header

// Start Landing
.landing {
  position: relative;
  &::before {
    content: "";
    position: absolute;
    left: 0;
    top: 0;
    width: 100%;
    height: 100%;
    background-color: #ececec;
    z-index: -1;
    transform: skewY(-6deg);
    transform-origin: top left;
  }
  .container {
    min-height: calc(100vh - 96px);
    display: flex;
    align-items: center;
    padding-bottom: 120px;
  }
  .text {
    flex: 1;
    h1 {
      font-size: 40px;
      margin: 0;
      letter-spacing: -2px;
      font-weight: 600;
    }
    p {
      font-size: 24px;
      line-height: var(--main-line-height);
      margin: 5px 0 0;
      color: #666;
      max-width: 500px;
    }
  }
  .image img {
    position: relative;
    width: 600px;
    animation: up-and-down 5s linear infinite;
  }
  .go-down {
    color: var(--main-color);
    position: absolute;
    bottom: 30px;
    left: 50%;
    transform: translateX(-50%);
    transition: var(--main-transition) ease-in-out;
    svg {
      animation: bouncing 1.5s infinite;
    }
    &:hover {
      color: var(--main-color-alt);
    }
  }
}
@media (max-width: 767px) {
  .landing .text {
    h1 {
      font-size: 28px;
    }
    p {
      font-size: 18px;
    }
  }
}
@media (max-width: 991px) {
  .landing .image {
    display: none;
  }
  .landing .text {
    text-align: center;
    p {
      margin: 10px auto;
    }
  }
}
// End Landing
// Start of Articles
.articles {
  padding-top: var(--main-padding-top);
  padding-bottom: var(--main-padding-bottom);
  position: relative;
  .container {
    display: grid;
    grid-template-columns: repeat(auto-fill, minmax(200px, 1fr));
    gap: 40px;
  }
  .box {
    box-shadow: 0 2px 15px rgb(0 0 0 / 10%);
    background-color: #fff;
    border-radius: 6px;
    overflow: hidden;
    transition: transform var(--main-transition), box-shadow var(--main-transition);
    &:hover {
      transform: translateY(-10px);
      box-shadow: 0 2px 15px rgb(0 0 0 / 20%);
    }
    img {
      width: 100%;
      max-width: 100%;
    }
    .content {
      padding: 20px;
      h3 {
        margin: 0;
      }
      p {
        margin: 10px 0 0;
        line-height: var(--main-line-height);
        color: var(--main-color-second);
      }
    }
    .info {
      padding: 20px;
      border-top: 1px solid #e6e6e7;
      display: flex;
      justify-content: space-between;
      align-items: center;
      a {
        color: var(--main-color);
        font-weight: bold;
      }
      svg {
        color: var(--main-color);
      }
    }
    &:hover .info {
      svg {
        animation: moving-arrow 0.6s linear infinite;
      }
    }
  }
}
// End of Articles
// Start of Gallery
.gallery {
  padding-top: var(--main-padding-top);
  padding-bottom: var(--main-padding-bottom);
  position: relative;
  background-color: var(--section-background);
  .container {
    display: grid;
    grid-template-columns: repeat(auto-fill, minmax(300px, 1fr));
    gap: 40px;
  }
  .box {
    background-color: #fff;
    padding: 15px;
    box-shadow: 0px 12px 20px 0px rgb(0 0 0 / 13%), 0px 2px 4px 0px rgb(0 0 0 / 12%);
    .image {
      position: relative;
      overflow: hidden;
      &::before {
        content: "";
        position: absolute;
        top: 50%;
        left: 50%;
        transform: translate(-50%, -50%);
        background-color: rgb(255 255 255 / 20%);
        width: 0;
        height: 0;
        opacity: 0;
        z-index: 2;
      }
      img {
        max-width: 100%;
        transition: var(--main-transition);
      }
      &:hover::before {
        animation: flashing 0.7s;
      }
      &:hover img {
        transform: rotate(5deg) scale(1.1);
      }
    }
  }
}
// End of Gallery
// start Features
.features {
  padding-top: var(--main-padding-top);
  padding-bottom: var(--main-padding-bottom);
  position: relative;
  background-color: #fff;
  .container {
    display: grid;
    grid-template-columns: repeat(auto-fill, minmax(300px, 1fr));
    gap: 40px;
    .box {
      text-align: center;
      border: 1px solid #ccc;
      .img-holder {
        position: relative;
        overflow: hidden;
        &::before {
          content: "";
          position: absolute;
          left: 0;
          top: -1px;
          width: 100%;
          height: 100%;
        }
        &::after {
          content: "";
          position: absolute;
          bottom: 0;
          right: 0;
          border-style: solid;
          border-width: 0px 0px 170px 500px;
          border-color: transparent transparent #ffffff transparent;
          transition: var(--main-transition);
        }
        img {
          max-width: 100%;
        }
      }
      h2 {
        position: relative;
        font-size: 40px;
        margin: auto;
        width: fit-content;
        font-weight: 500;
        &::after {
          content: "";
          position: absolute;
          bottom: -10px;
          left: 15px;
          width: calc(100% - 30px);
          height: 5px;
          border-radius: 100px;
        }
      }
      p {
        line-height: var(--main-line-height);
        font-size: 20px;
        margin: 30px 0;
        padding: 25px;
        color: var(--main-color-second);
      }
      a {
        display: block;
        width: fit-content;
        margin: 0 auto 30px;
        font-weight: bold;
        font-size: 22px;
        padding: 5px 30px;
        border-radius: 6px;
        transition: var(--main-transition);
      }
      &:hover .img-holder {
        &::after {
          border-width: 170px 500px 170px 0px;
        }
      }
    }
  }
  .quality {
    .img-holder {
      &::before {
        background: rgb(244 64 54 / 60%);
      }
    }
    h2 {
      &::after {
        background-color: #f44036;
      }
    }
    a {
      border: 3px solid #f44036;
      color: #f44036;
      background: linear-gradient(to right, #f44036 50%, #fff 50%);
      background-size: 200% 100%;
      background-position: right bottom;
    }
  }

  .time {
    .img-holder {
      &::before {
        background: rgb(0 150 136 / 60%);
      }
    }
    h2 {
      &::after {
        background-color: #009688;
      }
    }
    a {
      border: 3px solid #009688;
      color: #009688;
      background: linear-gradient(to right, #009688 50%, #fff 50%);
      background-size: 200% 100%;
      background-position: right bottom;
    }
  }
  .passion {
    .img-holder {
      &::before {
        background: rgb(3 169 244 / 60%);
      }
    }
    h2 {
      &::after {
        background-color: #03a9f4;
      }
    }
    a {
      border: 3px solid #03a9f4;
      color: #03a9f4;
      background: linear-gradient(to right, #03a9f4 50%, #fff 50%);
      background-size: 200% 100%;
      background-position: right bottom;
    }
  }
  .box {
    &:hover {
      a {
        background-position: left bottom;
        color: #fff;
      }
    }
  }
}
// End Features
// Start Testimonials
.testimonials {
  padding-top: var(--main-padding-top);
  padding-bottom: var(--main-padding-bottom);
  background-color: var(--section-background);
  .container {
    display: grid;
    grid-template-columns: repeat(auto-fill, minmax(300px, 1fr));
    gap: 40px;
    .box {
      background-color: #fff;
      padding: 20px;
      box-shadow: 0 2px 4px rgb(0 0 0 / 7%);
      position: relative;
      border-radius: 6px;
      img {
        position: absolute;
        right: -10px;
        top: -50px;
        width: 100px;
        height: 100px;
        border-radius: 50%;
        border: 10px solid var(--section-background);
      }
      h3 {
        margin: 0 0 10px;
        font-weight: 600;
        font-size: 20px;
        color: var(--main-color);
      }
      .title {
        color: var(--main-color-second);
        margin-bottom: 12px;
        display: block;
      }
      .rate {
        .filled {
          color: #ffc109;
        }
      }
      p {
        line-height: var(--main-line-height);
        color: var(--main-color-second);
        margin-top: 10px;
        margin-bottom: 0;
      }
    }
  }
}
// End Testimonials
// Start Team Members
.team {
  padding-top: var(--main-padding-top);
  padding-bottom: var(--main-padding-bottom);
  position: relative;
  .container {
    display: grid;
    grid-template-columns: repeat(auto-fill, minmax(300px, 1fr));
    gap: 30px;
  }
  .box {
    position: relative;
    &::before {
      width: calc(100% - 60px);
      z-index: -2;
    }
    &::after {
      z-index: -1;
      background-color: #e4e4e4 !important;
      width: 0px;
    }
    .data {
      display: flex;
      align-items: center;
      padding-top: 60px;
      img {
        width: calc(100% - 60px);
        transition: var(--main-transition);
        border-radius: 10px;
      }
      .social {
        width: 60px;
        display: flex;
        flex-direction: column;
        align-items: center;
        gap: 20px;
        a {
          width: 60px;
          height: 30px;
          display: flex;
          justify-content: center;
          align-items: center;
          &:hover {
            svg {
              color: var(--main-color);
            }
          }
          svg {
            color: var(--main-color-second);
            transition: var(--main-transition);
          }
        }
      }
    }
    .info {
      padding-left: 80px;
      h3 {
        color: var(--main-color);
        font-weight: bold;
        margin-bottom: 0;
        font-size: 22px;
        transition: var(--main-transition);
      }
      p {
        margin-top: 10px;
        margin-bottom: 25px;
      }
    }
    &:hover {
      &::after {
        width: calc(100% - 60px);
      }
      img {
        filter: grayscale(100%);
      }
      .info {
        h3 {
          color: var(--main-color-second);
        }
      }
    }
  }
}
.team .box::before,
.team .box::after {
  content: "";
  background-color: #f3f3f3;
  position: absolute;
  right: 0;
  top: 0;
  height: 100%;
  border-radius: 10px;
  transition: var(--main-transition);
}

@media (max-width: 767px) {
  .team {
    .box {
      &::before {
        width: 100%;
      }
      img {
        padding-left: 30px;
        margin-bottom: 15px;
      }
      .info {
        padding-left: 0;
        text-align: center;
        margin-top: 15px;
      }
    }
  }
}
// End Team Members
// Start Services
.services {
  padding-top: var(--main-padding-top);
  padding-bottom: var(--main-padding-bottom);
  position: relative;
  background-color: var(--section-background);
  .container {
    display: grid;
    grid-template-columns: repeat(auto-fill, minmax(300px, 1fr));
    gap: 40px;
  }
  .box {
    background-color: #fff;
    box-shadow: 0 12px 20px rgb(0 0 0 / 13%), 0 2px 4px rgb(0 0 0 / 12%);
    counter-increment: services;
    transition: var(--main-transition);
    position: relative;
    &::before {
      content: "";
      position: absolute;
      left: 50%;
      transform: translateX(-50%);
      height: 3px;
      top: -4px;
      background-color: var(--main-color);
      width: 0;
      transition: var(--main-transition);
    }
    &:hover {
      transform: translateY(-10px);
      &::before {
        width: 100%;
      }
    }
    svg {
      margin: 40px auto 20px;
      display: block;
      text-align: center;
      color: #d5d5d5;
    }
    h3 {
      text-align: center;
      margin: 20px 0 40px;
      font-size: 25px;
      color: var(--main-color);
      font-weight: bold;
    }
    .info {
      padding: 12px;
      position: relative;
      background-color: #f9f9f9;
      text-align: right;
      &::before {
        content: "0" counter(services);
        position: absolute;
        background-color: var(--main-color);
        color: #fff;
        left: 0;
        top: 0;
        height: 100%;
        width: 80px;
        font-weight: bold;
        display: flex;
        justify-content: center;
        align-items: center;
        font-size: 30px;
        padding-right: 15px;
      }
      &::after {
        content: "";
        position: absolute;
        background-color: #d5d5d5;
        top: 0;
        left: 60px;
        width: 50px;
        height: calc(100% + 0.4px);
        transform: skewX(-30deg);
      }
      a {
        color: var(--main-color);
      }
    }
  }
}
// End Services
// Start Skills
.our-skills {
  padding-top: var(--main-padding-top);
  padding-bottom: var(--main-padding-bottom);
  position: relative;
  .container {
    display: flex;
    align-items: center;
  }
  .skills {
    flex: 1;
    .skill {
      h3 {
        display: flex;
        justify-content: space-between;
        align-items: center;
        span {
          font-size: 12px;
          border: 1px solid #ccc;
          padding: 3px;
          border-radius: 4px;
          color: var(--main-color);
        }
      }
      .the-progress {
        height: 30px;
        background-color: #eee;
        position: relative;
        span {
          position: absolute;
          background-color: var(--main-color);
          left: 0;
          top: 0;
          height: 100%;
          transition: var(--main-transition) ease-in-out;
        }
      }
    }
  }
}
@media (max-width: 991px) {
  .our-skills {
    img {
      display: none;
    }
  }
}
// End Skills
// Start Work Steps
.work-steps {
  padding-top: var(--main-padding-top);
  padding-bottom: var(--main-padding-bottom);
  position: relative;
  background-color: var(--section-background);
  .container {
    display: flex;
    align-items: center;
    justify-content: space-between;
    .image {
      max-width: 100%;
      margin-right: 100px;
    }
  }
  .info {
    .box {
      background-color: #f5f5f5;
      padding: 30px;
      margin-bottom: 20px;
      border-radius: 6px;
      display: flex;
      align-items: center;
      border: 2px solid #fff;
      position: relative;
      z-index: 1;
      img {
        width: 64px;
        margin-right: 30px;
      }
      .text {
        h3 {
          margin: 0;
          font-size: 22px;
          font-weight: 600;
        }
        p {
          line-height: var(--main-line-height);
          margin: 10px 0 0;
          color: var(--main-color-second);
          font-size: 18px;
        }
      }
      &::before {
        content: "";
        left: 50%;
        top: 50%;
        position: absolute;
        transform: translate(-50%, -50%);
        width: 0;
        height: 0;
        z-index: -1;
        background-color: #ededed;
        transition: var(--main-transition) ease-in-out;
      }
      &:hover {
        &::before {
          width: 100%;
          height: 100%;
        }
      }
    }
  }
}
@media (max-width: 767px) {
  .work-steps {
    .info {
      .box {
        flex-direction: column;
        img {
          margin: 0 0 40px;
        }
      }
    }
    .text {
      text-align: center;
    }
  }
}
@media (max-width: 991px) {
  .work-steps {
    .container {
      flex-direction: column;
      .image {
        margin: 0 0 50px;
      }
    }
  }
}
// End Work Steps
// Start Events
.events {
  padding-top: var(--main-padding-top);
  padding-bottom: var(--main-padding-bottom);
  position: relative;
  .container {
    display: flex;
    justify-content: space-between;
    flex-wrap: wrap;
    align-items: center;
    img {
      max-width: 450px;
    }
  }
  .info {
    flex: 1;
    .time {
      display: flex;
      align-items: center;
      margin: 20px auto;
      gap: 10px;
      justify-content: center;
      .unit {
        border: 1px solid #d4d4d4;
        border-radius: 6px;
        text-align: center;
        width: 75px;
        transition: var(--main-transition);
        &:hover {
          border-color: var(--main-color);
          span:last-child {
            border-color: var(--main-color);
          }
        }
        span {
          display: block;
          transition: var(--main-transition);
        }
        span:first-child {
          font-size: 35px;
          color: var(--main-color);
          padding: 10px 0;
          font-weight: 500;
        }
        span:last-child {
          padding: 8px 10px;
          font-size: 13px;
          border-top: 1px solid #d4d4d4;
        }
      }
    }
    .title {
      text-align: center;
      margin: 40px 0 0;
      font-size: 30px;
      font-weight: bold;
    }
    .description {
      text-align: center;
      line-height: var(--main-line-height);
      font-size: 19px;
      color: var(--main-color-second);
    }
  }
  .subscribe {
    width: 100%;
    margin-top: 50px;
    form {
      background-color: #f6f5f5;
      width: 600px;
      margin: 20px auto;
      padding: 30px 40px;
      border-radius: 50px;
      display: flex;
      gap: 20px;
      input[type="email"] {
        padding: 20px;
        border-radius: 50px;
        border: none;
        outline: none;
        caret-color: var(--main-color);
        flex: 1;
        &::placeholder {
          transition: opacity var(--main-transition);
        }
        &:focus {
          &::placeholder {
            opacity: 0;
          }
        }
      }
      input[type="submit"] {
        border-radius: 50px;
        border: none;
        padding: 20px;
        cursor: pointer;
        background-color: var(--main-color);
        color: #fff;
        font-weight: bold;
        transition: var(--main-transition);
        &:hover {
          background-color: var(--main-color-alt);
        }
      }
    }
  }
}
@media (max-width: 767px) {
  .events {
    .subscribe {
      form {
        max-width: 100%;
        padding: 20px;
        flex-direction: column;
        border-radius: 0;
        input[type="email"] {
          border-radius: 0;
        }
        input[type="submit"] {
          border-radius: 0;
        }
      }
    }
  }
}
@media (max-width: 991px) {
  .events {
    img {
      display: none;
    }
  }
}
// End Events
// Start Pricing
.pricing {
  padding-top: var(--main-padding-top);
  padding-bottom: var(--main-padding-bottom);
  position: relative;
  background-color: var(--section-background);
  .container {
    display: grid;
    grid-template-columns: repeat(auto-fill, minmax(300px, 1fr));
    gap: 30px;
  }
  .box {
    background-color: #fff;
    position: relative;
    box-shadow: 0px 12px 20px 0px rgb(0 0 0 / 13%), 0px 2px 4px 0px rgb(0 0 0 / 12%);
    transition: var(--main-transition);
    text-align: center;
    z-index: 1;
    &::before,
    &::after {
      content: "";
      position: absolute;
      width: 0;
      height: 50%;
      background-color: #f6f6f6;
      z-index: -1;
      transition: var(--main-transition);
    }
    &::before {
      left: 0;
      top: 0;
    }
    &::after {
      right: 0;
      bottom: 0;
    }
    &:hover {
      &::before,
      &::after {
        width: 100%;
      }
    }
    &.popular {
      .label {
        position: absolute;
        right: 20px;
        writing-mode: vertical-rl; // يقوم بكتابه الكلام بشكل طولي
        background-color: var(--main-color);
        color: #fff;
        font-weight: bold;
        padding: 10px 10px 35px 10px;
        font-size: 18px;
        width: 40px;
        display: flex;
        align-items: center;
        &::before {
          content: "";
          position: absolute;
          bottom: 0;
          right: 0;
          border-style: solid;
          border-color: transparent transparent #fff transparent;
          border-width: 20px;
        }
      }
    }
    .title {
      font-weight: bold;
      margin: 30px 0;
      font-size: 25px;
      letter-spacing: -1px;
    }
    img {
      width: 80px;
      margin-bottom: 30px;
    }
    .price {
      margin-bottom: 20px;
      span {
        display: block;
      }
      .amount {
        font-size: 60px;
        font-weight: bold;
        margin-bottom: 5px;
        color: var(--main-color);
      }
      .time {
        color: var(--main-color-second);
      }
    }
    ul {
      text-align: left;
      li {
        padding: 20px;
        border-top: 1px solid #eee;
        &::before {
          font-family: "Font Awesome 5 Free";
          content: "\f00c";
          margin-right: 10px;
          font-weight: 900;
          color: var(--main-color);
        }
      }
    }
    a {
      display: block;
      width: fit-content;
      border: 2px solid var(--main-color);
      color: var(--main-color);
      margin: 30px auto 40px;
      padding: 15px 20px;
      border-radius: 6px;
      font-weight: bold;
      transition: var(--main-transition);
    }
    &:hover {
      a {
        background-color: var(--main-color-alt);
        color: #fff;
        border-color: var(--main-color-alt);
      }
    }
  }
}
@media (min-width: 1200px) {
  .pricing {
    .box {
      &.popular {
        top: -20px;
      }
    }
  }
}
// End Pricing
// Start Videos
.videos {
  padding-top: var(--main-padding-top);
  padding-bottom: var(--main-padding-bottom);
  .holder {
    display: flex;
    justify-content: center;
    background-color: var(--main-color-second);
    border: 1px solid #ddd;
    .list {
      min-width: 300px;
      background-color: #fff;
      .name {
        display: flex;
        justify-content: space-between;
        padding: 20px;
        background-color: #f4f4f4;
        font-weight: bold;
      }
      ul {
        li {
          padding: 20px;
          border-top: 1px solid var(--section-background);
          transition: var(--main-transition);
          &:hover{
            background-color: #fafafa;
            color: var(--main-color);
          }
          span {
            display: block;
            margin-top: 10px;
            color: var(--main-color-second);
          }
        }
      }
    }
    .preview {
      background-color: #e2e2e2;
      padding: 10px;
      display: flex;
      flex-direction: column;
      justify-content: space-between;
      img {
        max-width: 100%;
      }
      .info {
        padding: 20px;
        background-color: #fff;
        margin-top: 10px;
      }
    }
  }
}
@media (max-width: 991px){
  .videos {
    .holder{
      flex-direction: column;
    }
  }
} 
// End Videos
// Start Stats 
.stats{
  padding-bottom: var(--main-padding-bottom);
  padding-top: var(--main-padding-top);
  position: relative;
  background: url(./images/stats.jpg) ;
  z-index: 1;
  &::before{
    content: "";
      position: absolute;
      left: 0;
      top: 0;
      width: 100%;
      height: 100%;
      z-index: -1;
      background-color: rgb(255 255 255 / 95%);
  }
  .title{
    font-weight: bold;
    font-size: 40px;
    width: fit-content;
    margin: 0 auto 50px;
  }
  .container{
    display: grid;
    grid-template-columns: repeat(auto-fill, minmax(200px, 1fr));
    gap: 40px;
  }
  .box{
    text-align: center;
    background-color: #fff;
    padding: 30px;
    opacity: 0.7;
    transition: var(--main-transition);
    position: relative;
    &:hover{
      opacity: 1;
    }
    &::before,
    &::after{
      content: "";
      position: absolute;
      width: 2px;
      height: 0;
      transition: 1s all ease-in-out;
      background-color: var(--main-color);
    }
    &::before{
      left: 0;
      top: 0;
    }
    &::after{
      right: 0;
      bottom: 0;
    }
    &:hover{
      &::before,
      &::after{
        height: 100%;
      }
  }
    span{
      display: block;
    }
    .number{
      font-weight: bold;
      margin-top: 10px;
      font-size: 30px;
      margin-bottom: 10px;
    }
    .text{
      color: var(--main-color);
      font-style: italic;
      font-size: 20px;
      font-weight: bold;
    }
  }
}
// End Stats 
// Start Discount 
.discount{
  position: relative;
  min-height: 100vh;
  display: flex;
  flex-wrap: wrap;
  .image{
    background-image: url(./images/discount-background1.jpg);
    background-size: cover;
    color: #fff;
    flex-basis: 50%;
    display: flex;
    align-items: center;
    justify-content: center;
    position: relative;
    z-index: 1;
    animation: change-background 10s linear infinite;
    &::before{
      content: "";
      position: absolute;
      top: 0;
      left: 0;
      width: 100%;
      height: 100%;
      background-color: rgb(23 135 224 / 97%);
      z-index: -1;
    }
    .content{
      text-align: center;
      padding: 0 20px;
      h2{
        font-size: 40px;
        letter-spacing: -2px;
        font-weight: 600;
        margin-top: 25px;
      }
      p{
        line-height: var(--main-line-height);
        font-size: 18px;
        max-width: 500px;
      }
      img{
        width: 300px;
        max-width: 100%;
      }
    }
  }
  .form{
    display: flex;
    flex-basis: 50%;
    align-items: center;
    justify-content: center;
    .content{
      text-align: center;
      padding: 0 20px;
      h2{
        font-size: 40px;
        letter-spacing: -2px;
        font-weight: 500;
        margin-bottom: 15px;
        margin-top: 25px;
      }
        form{
          margin-top: 25px;
          .input{
            display: block;
            width: 100%;
            border: none;
            margin-top: 25px;
            padding: 15px;
            border-bottom: 1px solid #ccc;
            background-color: #f9f9f9;
            outline: none;
            font-size: 14px;
            caret-color: var(--main-color);
          }
          input[type="submit"]{
            display: block;
            width: 100%;
            background-color: var(--main-color);
            transition: var(--main-transition);
            font-weight: bold;
            cursor: pointer;
            border: none;
            padding: 15px;
            color: #fff;
            &:hover{
              background-color: var(--main-color-alt);
            }
          }
        }
    }
  }
}
@media (max-width: 991px){
  .discount {
    .image,
    .form{
      flex-basis: 100%;
      padding-bottom: 40px;
    }
  }
} 
// End Discount 
// Start Footer 
// End Footer 
.footer{
  background-color: #191919;
  padding: 70px 0 0;
  .container{
    display: grid;
    grid-template-columns: repeat(auto-fill, minmax(200px, 1fr));
    gap: 30px;
  }
  .box{
    h3{
        color: #fff;
        font-size: 50px;
        margin: 0 0 20px;
        font-weight: bold;
    }
    .social{
      display: flex;
      li{
        margin-right: 10px;
        a{
            background-color: #313131;
            color: #b9b9b9;
            display: inline-flex;
            justify-content: center;
            align-items: center;
            width: 50px;
            height: 50px;
            font-size: 20px;
            transition: var(--main-transition);
            border-radius: 6px;
        }
      }
      .facebook{
        &:hover{
          background-color: #1877f2;
          color: #ffffff;
        }
      }
      .twitter{
        &:hover{
          background-color: #1da1f2;
          color: #ffffff;
        }
      }
      .youtube{
        &:hover{
          background-color: #ff0000;
          color: #ffffff;
        }
      }
    }
    .text{
          line-height: var(--main-line-height);
          color: #b9b9b9;
    }
    .links{
      li{
        padding: 15px 0;
        transition: var(--main-transition);
        &:not(:last-child){
          border-bottom: 1px solid #444;
        }
        &:hover{
          padding-left: 10px;
          a{
            color: #fff;
          }
        }
        a{
        color: #b9b9b9;
        transition: var(--main-transition);
        &::before{
          font-family: "Font Awesome 5 Free";
          content: "\F101";
          font-weight: 900;
          margin-right: 10px;
          color: var(--main-color);
        }
        }
      }
    }
    .line{
      display: flex;
      align-items: center;
      margin-bottom: 30px;
      color: #b9b9b9;
      svg{
        font-size: 25px;
        color: var(--main-color);
        margin-right: 10px;
      }
        .info{
          line-height: var(--main-line-height);
          flex: 1;
          span{
              display: block;
          }
        }
    }
    &.footer-gallery{
      img{
        width: 78px;
        margin: 2px;
        border: 3px solid #fff;
      }
    }
  }
  .copyright{
    padding: 25px 0;
    text-align: center;
    color: #fff;
    margin: 50px 0 0 ;
    border-top: 1px solid #444;
  }
}
@media(max-width:767px){
  .footer{
    text-align: center;
    .social{
      justify-content: center;
      margin-bottom: 15px;
    }
    .line{
      flex-direction: column;
      svg{
        margin-bottom: 10px;
      }
    }
  }
}
// Start Animation
@keyframes up-and-down {
  0%,
  100% {
    top: 0;
  }
  50% {
    top: -30px;
  }
}
@keyframes bouncing {
  0%,
  10%,
  20%,
  50%,
  80%,
  100% {
    transform: translateY(0);
  }
  40%,
  60% {
    transform: translateY(-15px);
  }
}
@keyframes left-move {
  50% {
    left: 0;
    width: 12px;
    height: 12px;
  }
  100% {
    left: 0;
    border-radius: 0;
    width: 55%;
    height: 100%;
  }
}
@keyframes right-move {
  50% {
    right: 0;
    width: 12px;
    height: 12px;
  }
  100% {
    right: 0;
    border-radius: 0;
    width: 50%;
    height: 100%;
  }
}
@keyframes moving-arrow {
  100% {
    transform: translateX(10px);
  }
}
@keyframes flashing {
  0%,
  40% {
    opacity: 1;
  }
  100% {
    opacity: 0;
    width: 200%;
    height: 200%;
  }
}
@keyframes change-background {
  0% , 100%{
    background-image: url(./images/discount-background1.jpg);
  }
  50%{
    background-image: url(./images/discount-background2.jpg);
  }
}
// End Animation
.formError, .nameError , .phoneError , .emailError , .textareaError{
  display: none;
  text-align: start;
}

.popup{
  position: absolute;
  top: 50%;
  left: 50%;
  transform: translate(-50%,-50%);
  width: 450px;
  background-color: #fff;
  box-shadow: 2px 2px 5px 2px rgba(0, 0, 0, 0.15);
  border-radius: 10px;
  overflow: hidden;
  transition:0.4s all ease-in-out;
}

@media (max-width:767px) {
  .popup{
    max-width: 280px;
  }
}

.popup.active{
  top: 50%;
  visibility: visible;
  transform: translate(-50%,-50%) scale(1);
}

.popup .check-icon{
  padding: 30px 20px;
  background-color: #2694af;
  border-radius: 10px 10px 0 0;
  display: flex;
  justify-content: center;
  align-items: center;
}
.popup .check-icon .icon{
  width: 80px;
  height: 80px;
  background-color: #f5f5f5;
  color: #2694af;
  font-size: 40px;
  display: flex;
  justify-content: center;
  align-items: center;
  border-radius: 50%;
}
.popup .content{
  padding: 20px;
  text-align: center;
}
.popup .content h1{
  margin-bottom: 10px;
  color: #333;
  font-size: 25px;
}
.popup .content p{
  margin-bottom: 20px;
  color: #555;
  font-size: 15px;
}
.popup .close-btn{
  padding: 7px;
    width: 100px;
    border-radius: 10px;
    border: none;
    color: #fff;
  background-color: #2694af;
}
.overlay{
  height: 100%;
  width: 100%;
  background-color: rgba(0, 0, 0, 0.5);
  position: fixed;
  left: 0;
  top: 0;
  z-index: 5;
}