body {
  font-size: 14px;
}

body,
section,
header,
footer,
main {
  min-width: 0;
  width: 100%;
  overflow-x: hidden;
}

form .row {
  flex-wrap: wrap;
  flex-direction: column;
  row-gap: 20px;
}

form .half,
form .third {
  width: 100%;
}

input,
textarea,
select {
  font-size: .9em;
}

.is-compact .fancybox__content>.f-button.is-close-btn {
  width: 50px;
  min-width: 0;
  max-width: 50px;
  height: 50px;
  overflow: hidden;
}

form button {
  width: 100%;
  margin-bottom: 10px;
}

input,
textarea,
select {
  font-size: .9em;
}

.modal {
  min-width: 100%;
}

/* Menu */
/* Header */
header {

  .logo-link {

    .logo {
      position: relative;
      height: 70px;
    }
  }

  menu {
    display: none;
  }

  .socials {

    a {
      display: none;
    }
  }
}

/* Desktop Menu */
.desktop-menu {
  position: fixed;
  left: -40%;
  filter: opacity(0);
  top: 0;
  width: 35%;
  padding: 5%;
  z-index: 100;
  height: 100vh;
  overflow: hidden;
  transition: left 1s, filter 1s;
  display: block;
}

.desktop-menu a {
  text-decoration: none;
  margin-top: 20px;
  color: #fff;
  font-weight: 600;
  text-transform: uppercase;
  line-height: 110%;
  font-size: 1.1em;
  position: relative;
  z-index: 2;
  transition: .3s;
  display: flex;
  align-items: center;
  justify-content: space-between;
  width: 100%;
}

#desktop-menu-btn {
  width: 35px;
  position: relative;
  cursor: pointer;
  transition: all .3s;
  overflow: hidden;
  display: flex;
  flex-direction: column;
  row-gap: 6px;
}

#desktop-menu-btn>div {
  height: 3px;
  position: relative;
  transition: all .3s;
  width: 100%;
}

#desktop-menu-btn:hover>div {
  background-color: #f9c000 !important;
}

#desktop-menu-btn:hover>div.l2 {
  width: 60%;
}

#desktop-menu-btn:hover>div.l3 {
  width: 35%;
}

.desktop-menu a:hover {
  color: #f9c000 !important;
}

#desktop-menu-btn:active {
  transform: scale(.9);
}

#desk-close-btn {
  position: absolute;
  top: 20px;
  right: 20px;
  height: 30px;
  cursor: pointer;
  transition: all .5s;
  z-index: 2;
}

.desktop-menu .overlay {
  filter: opacity(.85);
}

.slide-left {
  left: 0 !important;
  filter: opacity(1);
}

.desktop-menu {
  left: -100%;
}

#desktop-menu-btn {
  width: 40px;
}

#desktop-menu-btn>div {
  height: 4px;
}

.desktop-menu {
  width: 100%;
  padding-top: 60px;
}

/* Homne Page */
.home {

  .hero {
    height: 70vh;

    video {
      display: none;
    }


    .img {
      background-position: center;


      .content {
        padding-top: 150px;

        h1 {
          font-size: 3em;
          opacity: 1;
          color: #fff;
        }

        .subtitle {
          font-size: 1.1em;
          text-wrap: balance;
          opacity: 1;
          color: #fff;
        }

        .text-slider {
          .reveal-slide-text {
            span {
              font-size: .8em;
            }
          }
        }
      }
    }
  }

  .sec1 {
    padding: 60px 5%;
    flex-direction: column;
    row-gap: 40px;
    font-size: .9em;
    height: fit-content;

    .left,
    .right {
      width: 100%;
    }
  }

  .project-wrap {
    font-size: .9em;

    .grid {
      grid-template-columns: repeat(1, 1fr);
      padding: 0;

      .item {
        height: 250px;
      }
    }
  }

  .latest_work {
    padding: 60px 5%;
    height: fit-content;

    .grid {
      flex-direction: column;
      row-gap: 60px;

      .left,
      .right {
        width: 100%;
      }

      .right {

        .row {
          flex-direction: column;
          row-gap: 60px;

          .bigBox,
          .smallBox {
            width: 100%;

            .img {
              height: 400px;
            }

            .title {
              font-size: 2em;
              text-wrap: balance;
            }
          }
        }

        .spacer {
          height: 40px;
        }

        .widerow {
          width: 100%;

          .hide-mobile {
            display: none;
          }

          .hide-desktop {
            height: 400px;
            overflow: hidden;
            margin-bottom: 20px;

            a {
              position: absolute;
              height: 100%;
              width: 100%;
              left: 0;
              top: 0;
              z-index: 99;
            }
          }

          .title {
            font-size: 2em;
            text-wrap: balance;
          }
        }
      }
    }
  }

  .collab {
    padding: 60px 5%;

    .title {
      font-size: 2em;
      color: #fff;
    }

    .subtitle {
      font-size: 1.6em;
      color: #fff;
    }
  }
}

.hide-desktop {
  display: flex;
}

.page {

  .hero {

    height: fit-content;
    padding: 40px 0;
    font-size: .6em;
    margin-top: 70px;

    video {
      display: none;
    }

    .img {
      .content {

        h1 {
          font-size: 4em;
          color: #fff;
          opacity: 1;
        }

        .t1 {
          color: #fff;
          opacity: 1;
        }

        .t2 {
          font-size: 1.3em;
          color: #fff;
          opacity: 1;
        }
      }
    }
  }
}

/* PR Images / Brand Campaigns*/
.pr-images,
.brand-campaigns {

  .sec1 {

    .grid {
      column-count: 2;
    }
  }
}

/* Media */
.media {
  .sec1 {

    .grid {
      grid-template-columns: repeat(1, 1fr);
    }
  }
}

/* About Us Page */

.about {

  .hero {
    margin-top: 70px;
    padding: 0;

    .img {
      height: 25vh;

      .content {
        .small-title {
          font-size: 1.6em;
          text-wrap: balance;
        }
      }
    }
  }

  .sec1 {
    padding: 60px 5%;
    font-size: .9em;

    h2 {
      margin-bottom: 40px;
    }

    .content {
      flex-direction: column;
      row-gap: 40px;

      .left,
      .right {
        width: 100%;
      }

      .left {
        position: relative;
        height: 300px;
        top: 0;
      }
    }

    .grid {
      display: grid;
      grid-template-columns: repeat(1, 1fr);
      padding: 0 5%;
      gap: 10px;

      button {
        min-width: 0;
        width: 100%;
      }
    }
  }
}

/* What I Do Page */
.what-i-do {

  .hero {
    margin-top: 70px;
    padding: 0;

    .img {
      height: 25vh;

      .content {
        .small-title {
          text-wrap: balance;
          font-size: 1.6em;
        }
      }
    }
  }

  .sec1 {
    padding: 60px 5%;
    flex-direction: column;
    row-gap: 40px;
    font-size: .9em;

    .content {
      .grid {
        grid-template-columns: repeat(1, 1fr);
      }

      .grid2 {
        grid-template-columns: repeat(1, 1fr);
        gap: 30px;
        direction: rtl;

        .item2 {
          justify-content: flex-start;
        }
      }
    }



  }

  .sec2 {

    .right {

      .list {

        >div {
          align-items: flex-start;
        }
      }
    }
  }

}

/* My Work Page */
.work {

  .hero {

    .img {
      .content {
        .small-title {
          font-size: 1.6em;
        }
      }
    }
  }

  .projects-overview {
    font-size: .9em;

    .grid4,
    .grid3 {
      grid-template-columns: repeat(1, 1fr);

      .item {
        .img {
          height: 30vh;

          .title {
            text-align: center;
            text-wrap: balance;
          }
        }
      }
    }
  }

  .more {
    font-size: .9em;
    padding: 40px 5%;

    .websites {
      grid-template-columns: repeat(1, 1fr);

      .item {
        height: 60vh;
      }
    }


    .commercials {
      grid-template-columns: repeat(1, 1fr);
      row-gap: 20px;

      .item {
        .img {
          height: 25vh;
        }
      }
    }
  }
}

/* My Clients Page */
.clients {
  .hero {
    margin-top: 70px;
    padding: 0;

    .img {
      height: 25vh;

      .content {
        .small-title {
          font-size: 1.6em;
          text-wrap: balance;
        }
      }
    }
  }

  .sec1 {
    font-size: .9em;

    .grid {
      grid-template-columns: repeat(1, 1fr);
    }
  }
}

/* Gallery Page */
.gallery {
  .hero {
    margin-top: 70px;
    padding: 0;

    .img {
      height: 25vh;

      .content {
        .small-title {
          font-size: 1.6em;
          text-wrap: balance;
        }
      }
    }
  }

  .sec1 {
    padding: 5%;
    font-size: .9em;
    height: fit-content;
    overflow: hidden;

    .grid {
      column-count: 2;

      img {
        margin: 5px
      }
    }
  }
}

.brand-campaigns {
  .hero {
    .img {
      .content {
        h1 {
          font-size: 3em;
        }
      }
    }
  }
}

/* Portfolio Page */
.portfolio {

  .sec1 {
    padding: 60px 5%;
    flex-direction: column;
    row-gap: 40px;

    .left,
    .right {
      width: 100%;
    }
  }

  .sec2 {
    padding: 60px 5%;

    .grid {
      flex-direction: column;
      row-gap: 60px;

      .left,
      .right {
        width: 100%;
      }

      .right {
        grid-template-columns: repeat(1, 1fr);
        row-gap: 40px;

        .item {

          .title {
            font-size: 2em;
            text-wrap: balance;
          }
        }
      }
    }
  }
}

.campaigns {

  .projects,
  .more-projects {
    padding: 60px 5%;

    .grid {
      grid-template-columns: repeat(1, 1fr);
      gap: 40px;

      .item {
        transform: none;
        opacity: 1;
      }
    }
  }
}

.photos {

  .sec1 {
    padding: 40px 5%;

    .buttons {
      display: grid;
      grid-template-columns: repeat(2, 1fr);
      gap: 20px;

      a {
        min-width: 0;
        width: 100%;
      }
    }

    .grid {
      grid-template-columns: repeat(1, 1fr);
    }
  }
}

/* Photography Page */
.photography {
  .intro {
    padding: 20px 5% 40px;
    font-size: .9em;
  }

  .sec1 {
    .grid {
      grid-template-columns: repeat(1, 1fr);
    }
  }

  .photo-popup {
    .grid {
      column-count: 2;
    }
  }
}

/* Contact Page */
.contact {

  .hero {
    margin-top: 70px;
    padding: 0;

    .img {
      height: 25vh;

      .content {
        .small-title {
          font-size: 1.6em;
          text-wrap: balance;
        }
      }
    }
  }

  .sec1 {
    display: flex;
    padding: 60px 5%;
    flex-direction: column;
    row-gap: 0;
    font-size: .9em;
    height: fit-content;

    form {
      width: 100%;
      max-width: 100%;
    }
  }
}


.brand {

  .hero {
    .img {
      background-position: right center;
    }
  }

  .sec2 {
    padding: 60px 5%;
    flex-direction: column;
    row-gap: 60px;

    .left {
      width: 100%;
      position: relative;
      top: 0;
    }

    .right {
      width: 100%;

      .title {
        font-size: 1.8em;
      }

      .grid {
        grid-template-columns: repeat(2, 1fr);

        .item {
          height: 250px;
        }
      }

      .vids {
        .item {
          height: fit-content;

          .img {
            height: 120px !important;
          }
        }
      }
    }
  }
}


/* Footer */
footer {
  padding: 60px 5% 20px;
  font-size: 0.9em;

  .grid {
    grid-template-columns: repeat(1, 1fr);
    row-gap: 60px;

    .item {
      text-align: center;

      .social-links {
        justify-content: center;
      }

      .page-links {
        justify-content: center;
        align-items: center;
      }

      .social-pics {
        justify-content: center;
      }
    }

    img.logo {
      max-width: 80%;
      height: 100px;
      margin-left: auto;
      margin-right: auto;
    }
  }

  .legal {
    flex-direction: column;
    display: flex;
    row-gap: 10px;
  }
}

/* All Projects Popup */
.projects {
  padding: 40px 5% !important;

  .grid {
    font-size: .9em;
    flex-direction: column;
    row-gap: 60px;

    .left,
    .right {
      width: 100%;
    }
  }
}