body {
  background-color: var(--lighterYellow);
  display: grid;
  grid-template-rows: auto 1fr auto;
  font-family: var(--primary_family);
  overflow-x: hidden;
}

/* {
  border: 1px solid red;
} */

/*  Desktop first */
.hero {
  width: var(--w_100);
  height: var(--h_100vh);
  background-image: url("/images/image_01.jpg");
  background-position: center;
  background-repeat: no-repeat;
  background-size: cover;
  place-items: center;
  position: relative;
  z-index: 50;

  .hero_container {
    position: relative;
    width: var(--w_100);
    height: var(--h_100vh);
    z-index: 1;
    background-color: var(--darkGrayRgba);
    /* backdrop-filter: blur(5px); */
    grid-area: 1/1;

    .contact {
      position: fixed;
      background-color: var(--whiteColor);
      padding: 1rem;
      border-radius: 6px;
      gap: 1rem;
      left: 0;
      top: 90%;
      transform: rotate(-90deg);
      border: 1px solid var(--yellow);
      transform-origin: 0 0;

      .contact_text {
        position: relative;
        z-index: 2;

        h3 {
          text-transform: uppercase;
          font-size: var(--s_1p2rem);
          margin-bottom: var(--s_0p4rem);
          color: var(--greenLight);
          font-weight: 400;
        }

        h2 {
          text-transform: uppercase;
          font-size: var(--s_1p6rem);
          color: var(--yellow);
          font-family: var(--other_family);
          font-weight: 300;
        }
      }

      .btn {
        width: 40px;
        height: 40px;
        flex-shrink: 0;
        transform: rotate(90deg);

        svg {
          width: var(--w_100);
          height: var(--w_100);

          path {
            fill: var(--greenLight);
          }
        }
      }

      .contact_image {
        position: relative;
        flex-shrink: 0;
        transform: rotate(90deg);
        z-index: 4;
        width: 40px;
        height: 40px;

        display: flex;
        align-items: center;
        justify-content: center;

        cursor: pointer;

        img {
          display: block;
          object-fit: cover;
          width: var(--w_100);
        }
      }
    }
  }

  .hero_text {
    position: relative;
    z-index: 10;
    grid-area: 1/1;

    img {
      display: block;
      margin: auto;
      width: 140px;
      margin-bottom: 2rem;
    }

    h3 {
      font-size: 3.5rem;
      font-family: var(--script2_family);
      color: var(--whiteColor);
      font-weight: 400;
      text-align: center;
    }

    h1 {
      font-size: 5rem;
      font-family: var(--other_family);
      color: var(--yellow);
      text-transform: uppercase;
      font-weight: 400;
      text-align: center;
    }

    .btn {
      border: 1px solid var(--whiteColor);
      color: var(--whiteColor);
      font-size: var(--s_2p0rem);
      font-weight: 500;
      display: block;
      margin: auto;
      margin-top: 3rem;
      min-width: 25rem;
      padding: 6px 30px;
      transition: 250ms ease;

      &:hover {
        background-color: var(--yellow);
        color: var(--darkGray);
        border: 1px solid var(--yellow);
      }
    }
  }
}

/* navbar */
.main_nav {
  width: var(--w_80);
  max-width: 1200px;
  margin: auto;
  padding: 4rem 0;
  position: relative;
  z-index: 20;

  .image_logo {
    width: 10rem;
    /* 100px */
    height: 10rem;
    /* 100px */
    position: relative;

    .logo {
      width: var(--w_95);
      height: var(--w_95);
      text-decoration: none;
      cursor: pointer;
      outline: none;
      border: 0;
      background-color: transparent;

      img {
        object-fit: cover;
        width: 90%;
      }
    }
  }

  .nav_list {
    list-style: none;
    position: relative;

    .close_icon {
      position: absolute;
      left: 5rem;
      top: 3rem;
      background-color: transparent;
      cursor: pointer;
      border: 0;
      outline: none;
      display: none;

      svg {
        width: 30px;
        height: 30px;

        path {
          fill: var(--greenLight);
        }
      }
    }

    .nav_item {
      margin: 0 4px;
      position: relative;

      .btn_link {
        font-size: 1.8rem;
        padding: 6px 20px;
        background-color: transparent;
        outline: none;
        border: 0;
        color: var(--whiteColor);
        cursor: pointer;

        font-weight: 400;
        transition: 350ms ease;
        position: relative;

        &::after {
          content: "";
          width: 0;
          height: 2px;
          background-color: var(--yellow);
          position: absolute;
          bottom: -2px;
          left: 50%;
          transform: translateX(-50%);
          transition: 350ms ease;
        }
      }

      .sub_items {
        position: absolute;
        right: 0;
        top: 110%;
        background-color: #ffffff2a;
        opacity: 0;
        pointer-events: none;
        transition: 350ms ease;
        border-radius: 0 0 6px 6px;

        .sub_list {
          padding: 1rem;
          position: relative;
          min-width: 200px;

          .nav_item {
            .nav_link {
              font-size: 1.7rem;
              padding: 6px 10px;
              background-color: transparent;
              outline: none;
              border: 0;
              color: var(--whiteColor);
              cursor: pointer;
              width: var(--w_100);
              font-weight: 350;
              text-align: right;

              &::after {
                content: "";
                width: 0;
                height: 1.5px;
                background-color: var(--yellow);
                position: absolute;
                bottom: -2px;
                right: 0;
                transition: 350ms ease;
              }
            }

            &:hover,
            &.current {
              .nav_link {
                color: var(--yellow);

                &::after {
                  width: var(--w_75);
                }
              }
            }
          }

          &.g_cls {
            min-width: 380px;
            grid-template-columns: repeat(2, minmax(48%, 1fr));
          }
        }
      }

      &:hover,
      &.current {
        .btn_link {
          color: var(--yellow);

          &::after {
            width: var(--w_75);
          }
        }
      }

      &:hover {
        .sub_items {
          opacity: 1;
          pointer-events: initial;
          top: 100%;
        }
      }
    }
  }

  .menu_icon {
    background-color: transparent;
    cursor: pointer;
    border: 0;
    outline: none;
    margin-right: 2rem;
    display: none;

    svg {
      width: 30px;
      height: 30px;

      path {
        fill: var(--whiteColor);
      }
    }
  }

  .btn {
    color: var(--greenLight);
    background-color: var(--whiteColor);
    font-size: 1.6rem;
    text-transform: uppercase;
    transition: 350ms ease;
    padding: 6px 20px;
    font-weight: 500;

    &:hover {
      background-color: var(--yellow);
      color: var(--darkGray);
    }
  }
}

.main.development{
  border-bottom: 3px solid var(--whiteColor);
  background-color: var(--greenLight);
}

/* section styles */

section {
  padding: 10rem 0;
  width: var(--w_100);
  position: relative;

  &>.btn {
    display: block;
    margin: auto;
  }

  .layer {
    position: absolute;
    top: 0;
    left: 0;
    z-index: 1;
    width: var(--w_100);
    height: var(--w_100);
    background-color: var(--darkerGrayRgba);
  }

  .section_head {
    width: var(--w_80);
    margin: auto;
    max-width: 1200px;
    margin-bottom: 6rem;
    position: relative;
    z-index: 2;

    h2 {
      font-family: var(--script2_family);
      font-size: var(--s_6p0rem);
      color: var(--greenLight);
      margin-bottom: 3rem;

      span {
        color: var(--yellow);
      }
    }

    p {
      width: var(--w_100);
      text-align: center;
      color: var(--darkGray);
      position: relative;
      font-size: var(--s_1p8rem);
      font-weight: 350;

      &::before {
        content: "";
        height: 2.5px;
        width: var(--w_10);
        border-radius: 10px;
        opacity: 0.6;
        background-color: var(--greenLight);
        position: absolute;
        left: 50%;
        transform: translateX(-50%);
        top: -18%;
      }
    }
  }

  .btn {
    border: 1px solid var(--whiteColor);
    color: var(--whiteColor);
    font-size: var(--s_2p0rem);
    font-weight: 500;
    margin-top: 3rem;
    min-width: 25rem;
    padding: 6px 30px;
    transition: 250ms ease;
    background-color: transparent;

    &:hover {
      background-color: var(--yellow);
      color: var(--darkGray);
      border: 1px solid var(--yellow);
    }
  }

  &.about_section {
    background-color: var(--whiteColor);
  }

  &.gallery_section {
    .btn {
      background-color: transparent;
      border: 1px solid var(--greenLight);
      color: var(--greenLight);

      &:hover {
        background-color: var(--yellow);
        border: 1px solid var(--yellow);
        color: var(--darkGray);
      }
    }
  }

  &.why,
  &.reviews {
    background-image: url("/images/image_05.jpg");
    background-position: center;
    background-size: cover;
    background-repeat: no-repeat;
    background-attachment: fixed;

    .section_head {
      h2 {
        color: var(--whiteColor);
      }

      p {
        color: var(--whiteColor);

        &::before {
          background-color: var(--whiteColor);
        }
      }
    }
  }

  &.faqs {
    .btn {
      border: 1px solid var(--greenLight);
      color: var(--greenLight);

      background-color: transparent;

      &:hover {
        background-color: var(--yellow);
        color: var(--darkGray);
        border: 1px solid var(--yellow);
      }
    }
  }

  &.packages {
    .btn {
      border: 1px solid var(--greenLight);
      color: var(--greenLight);

      &:hover {
        background-color: var(--yellow);
        color: var(--darkGray);
        border: 1px solid var(--yellow);
      }
    }
  }

  &.destinations {
    background-color: var(--whiteColor);
    padding: 0;
  }

  &.newsletter {
    background-color: var(--greenLight);
  }

  .about_content {
    width: var(--w_80);
    margin: auto;
    max-width: 1200px;

    .about_text {
      h3 {
        color: var(--greenLight);
        font-weight: 300;
        font-size: var(--s_2p5rem);
      }
      h4{
          font-size: var(--s_2p0rem);
          font-weight: 400;
        }

      p {
        color: var(--darkGray);
        font-weight: 300;
        line-height: 2.8rem;
        text-align: justify;
        font-size: var(--s_1p8rem);
        margin-top: 1rem;
        b{
          font-weight: 500;
        }
      }
    }

    .call_to_action {
      width: var(--w_100);
      color: var(--greenLight);
      margin-top: 2rem;

      h4 {
        font-size: var(--s_2p0rem);
        margin-bottom: var(--s_0p5rem);
      }

      h3 {
        color: var(--darkGray);
        font-size: var(--s_1p6rem);
        font-weight: 400;
      }

      .btn {
        min-width: 20rem;
        padding: 10px 20px;
        margin-top: 1.5rem;
        font-size: var(--s_1p8rem);
        color: var(--whiteColor);
        background-color: var(--greenLight);
        border: 1px solid var(--greenLight);
        transition: 250ms ease;

        &:hover {
          color: var(--greenLight);
          background-color: transparent;
        }
      }
    }
  }
}

.why_choose_us {
  width: var(--w_80);
  max-width: 1200px;
  position: relative;
  margin: auto;
  z-index: 6;

  .card_container {
    width: var(--w_100);
    grid-template-columns: repeat(auto-fit, minmax(300px, 1fr));
    gap: 2rem;

    .card {
      padding: 1rem;
      border-radius: 0.5rem;
      background-color: #ffffff21;
      .card_top {
        margin-bottom: 3rem;

        .icon {
          width: 5rem;
          height: 5rem;
          border-radius: 6px;
          background-color: var(--whiteColor);
          display: flex;
          align-items: center;
          justify-content: center;

          svg {
            width: var(--w_80);
            height: var(--w_80);

            path {
              fill: var(--greenLight);
            }
          }
        }

        h3 {
          color: var(--yellow);
          font-size: var(--s_2p4rem);
          color: var(--yellow);
          text-align: right;
          font-weight: 600;
        }
      }

      .card_text {
        h2 {
          width: var(--w_100);
          text-align: left;
          font-weight: 400;
          color: var(--yellow);
          text-transform: uppercase;
          font-size: var(--s_2p0rem);
          margin-bottom: 1rem;
        }

        p {
          width: var(--w_100);
          color: var(--whiteColor);
          font-size: var(--s_1p8rem);
          line-height: 2.6rem;
          text-align: justify;
          font-weight: 300;
        }
      }
      &:nth-child(even){
        background-color: #006c6166;
      }
    }
  }
}

.packages_content {
  width: var(--w_80);
  margin: auto;

  max-width: 1200px;

  .packages_grid {
    width: var(--w_100);
    display: grid;
    grid-template-columns: repeat(auto-fit, minmax(330px, 1fr));
    justify-content: center;
    gap: 2rem;

    .single_package {
      height: 380px;
      min-height: 360px;
      position: relative;
      cursor: pointer;

      .package_details {
        width: var(--w_100);
        border-radius: 10px;
        height: 340px;
       
        background-size: cover;
        background-repeat: no-repeat;
        background-position: center;
        position: relative;
        z-index: 4;
        overflow: hidden;

        .country_tag {
          position: absolute;
          top: 0;
          right: 0;
          color: var(--darkGray);
          font-size: var(--s_1p5rem);
          border-top-right-radius: 10px;
          border-bottom-left-radius: 10px;
          padding: 0.8rem;
          background-color: var(--yellow);
        }

        .package_desc {
          width: var(--w_100);
          background-color: var(--yellow);
          position: absolute;
          bottom: 0;
          left: 0;
          padding: 10px;

          h2 {
            color: var(--greenLight);
            font-size: var(--s_2p0rem);
            text-align: center;
            font-weight: 400;
          }

          &::before {
            content: "";
            width: 10px;
            height: 10px;
            position: absolute;
            left: 0;
            top: -10px;
            background-color: transparent;
            border-radius: 0 0 0 10px;
            box-shadow: -4px 4px 0 4px var(--yellow);
          }

          &::after {
            content: "";
            width: 10px;
            height: 10px;
            position: absolute;
            right: 0;
            top: -10px;
            background-color: transparent;
            border-radius: 0 0 10px 0;
            box-shadow: 4px 4px 0 4px var(--yellow);
          }
        }
      }

      .package_price {
        width: var(--w_65);
        position: absolute;
        z-index: 1;
        min-height: 40px;
        bottom: 5px;
        left: 50%;
        padding: 4px 20px;
        transform: translateX(-50%);
        background-color: var(--yellow);
        border-radius: 0 0 10px 10px;

        h3 {
          font-size: var(--s_1p4rem);
          color: var(--whiteColor);
          text-align: center;
          font-weight: 400;
          text-transform: uppercase;
        }

        span {
          width: 10px;
          height: 10px;
          margin: 0 1rem;
          border-radius: 50%;
          background-color: var(--greenLight);
          flex-shrink: 0;
        }

        &::before {
          content: "";
          width: 10px;
          height: 10px;
          position: absolute;
          left: -10px;
          top: 0;
          background-color: transparent;
          border-radius: 0 10px 0 0;
          box-shadow: 4px -4px 0 4px var(--yellow);
        }

        &::after {
          content: "";
          width: 10px;
          height: 10px;
          position: absolute;
          right: -10px;
          top: 0;
          background-color: transparent;
          border-radius: 10px 0 0 0;
          box-shadow: -4px -4px 0 4px var(--yellow);
        }
      }

      .package_explainer {
        position: absolute;
        bottom: 0;
        z-index: 10;
        background-color: var(--greenLightRgba);
      
        height: 0;
        overflow: hidden;
        width: var(--w_100);
        border-radius: 10px;
        transition: all 300ms ease;
        display: flex;
        align-items: center;
        justify-content: center;

        .explainer_content {
          padding: 2rem;
          width: var(--w_100);

          h2 {
            width: var(--w_100);
            font-size: var(--s_2p0rem);
            color: var(--whiteColor);
            font-weight: 400;
            margin-bottom: var(--s_0p5rem);
          }

          p {
            color: var(--whiteColor);
            font-weight: 300;
            line-height: 2.2rem;
            text-align: justify;
            font-size: var(--s_1p6rem);
            margin-top: 1rem;
          }

          .btn {
            border: 1px solid var(--whiteColor);
            color: var(--whiteColor);
            font-size: var(--s_2p0rem);
            font-weight: 400;
            display: block;
            margin: auto;
            margin-top: 3rem;
            min-width: 25rem;
            background-color: transparent;
            padding: 6px 30px;
            transition: 250ms ease;

            &:hover {
              background-color: var(--yellow);
              color: var(--darkGray);
              border: 1px solid var(--yellow);
            }
          }
        }
      }

      &:hover {
        .package_explainer {
          height: var(--w_100);
        }
      }
    }
  }
}

.destination_content {
  width: var(--w_100);

  .slider_buttons {
    width: var(--w_80);
    margin: auto;
    max-width: 1200px;

    .slider_btn {
      background-color: transparent;
      outline: none;
      border: 0;
      transition: 300ms ease;
      color: var(--greenLight);
      font-size: var(--s_2p0rem);
      padding: 2rem;
      cursor: pointer;

      &:hover,
      &.current {
        background-color: var(--greenLight);
        color: var(--whiteColor);
      }
    }
  }

  .destinations_container {
    width: var(--w_100);
    background-color: var(--greenLight);

    .destinations_slider {
      padding: 3rem 0;
      width: var(--w_80);
      margin: auto;
      max-width: 1200px;
      overflow: hidden;

      .slider {
        width: 100%;
        cursor: grabbing;

        .image_content {
          column-gap: 2%;
          padding: 4rem 0;
          display: none;

          .image {
            flex: 0 0 49%;
            min-width: 49%;
            height: 340px;
            min-height: 300px;
            border-radius: 10px;
            background-repeat: no-repeat;
            background-size: cover;
            background-position: center;
          }

          .image_text {
            flex: 0 0 49%;
            min-width: 49%;

            h2 {
              color: var(--yellow);
              text-transform: uppercase;
              font-size: var(--s_2p0rem);
              margin-bottom: var(--s_1p0rem);
            }

            p {
              color: var(--whiteColor);
              font-weight: 300;
              line-height: 2.2rem;
              text-align: justify;
              font-size: var(--s_1p8rem);
              margin-bottom: 1rem;
            }

            .btn {
              margin-top: 2rem;
              font-size: var(--s_2p0rem);
              background-color: var(--whiteColor);
              color: var(--greenLight);
              font-weight: 400;
              border: 1px solid var(--whiteColor);
              min-width: 20rem;
              padding: 4px 10px;

              &::after {
                content: "→";
                margin-left: 1rem;
                color: var(--greenLight);
              }
            }
          }

          &.show {
            display: flex;
          }
        }
      }
    }
  }
}

.about_images {
  float: left;
  width: 45%;
  column-gap: 2rem;
  margin-right: 2rem;
  margin-bottom: 10rem;

  img {
    width: 100%;
    height: 100%;
    border-radius: 10px;
    position: relative;
    z-index: 1;
  }

  .image_big {
    width: 60%;
    height: 350px;
    position: relative;

    .slider_buttons {
      width: var(--w_100);
      position: absolute;
      bottom: -50px;
      left: 50%;
      transform: translateX(-50%);

      .slider_btn {
        background-color: transparent;
        border: 1px solid var(--darkGray);
        cursor: pointer;
        outline: none;
        width: 18px;
        opacity: 0.85;
        height: 18px;
        transition: 250ms ease-in-out;
        margin: 0 2rem;
        border-radius: 50%;

        &:hover,
        &.current {
          background-color: var(--greenLight);
        }
      }
    }

    &::after {
      content: "";
      position: absolute;
      z-index: 5;
      top: 0;
      left: 0;
      width: var(--w_100);
      height: var(--w_100);
      border-radius: 10px;
      background-color: var(--darkGrayRgba);
    }
  }

  .image_small {
    width: 40%;
    height: 280px;
    position: relative;
    bottom: -80px;
    align-self: flex-end;

    &::after {
      content: "";
      position: absolute;
      z-index: 5;
      top: 0;
      left: 0;
      width: var(--w_100);
      height: var(--w_100);
      border-radius: 10px;
      background-color: var(--darkGrayRgba);
    }
  }
}

.testimonials {
  width: var(--w_80);
  position: relative;
  z-index: 5;
  margin: auto;
  max-width: 1200px;

  .testimonial_container {
    margin: auto;
    position: relative;
    width: var(--w_60);
    margin-bottom: 3rem;

    /* background-color: aqua; */

    .reviews_container {
      position: relative;
      width: var(--w_100);

      .reviews_slider {
        width: var(--w_100);
        position: relative;
        margin-bottom: 3rem;


        .review {
          position: relative;
          width: var(--w_100);
          transition: 600ms ease;
          min-height: 260px;
  

          p {
            width: var(--w_100);
            color: var(--whiteColor);
            font-weight: 300;
            line-height: 2.4rem;
            text-align: justify;
            font-size: var(--s_1p8rem);
            font-family: var(--other_family);
            margin-top: 1rem;
            position: relative;
            margin-bottom: 3rem;

            &::before {
              content: "";
              position: absolute;
              top: -10px;
              left: 0;
              height: 2.5px;
              width: 80px;
              background-color: var(--whiteColor);
              opacity: 0.5;
              border-radius: 10px;
            }
          }

          .reviewer {
            .rating {
              margin-bottom: 1rem;

              img {
                width: 9rem;
              }
            }

            h3 {
              text-transform: uppercase;
              color: var(--whiteColor);
              font-weight: 400;
              font-size: var(--s_2p0rem);
              margin-bottom: 0.6rem;
            }

            h4 {
              color: var(--yellow);
              font-weight: 300;
              font-size: var(--s_1p6rem);
            }
          }

          &:not(:first-child) {
            position: absolute;
            top: -10px;
            left: 0;
            opacity: 0;
          }

          &.hidden {
            opacity: 0;
              animation: fade 500ms ease-in-out 1 normal;
          }
          &.visible {
            /* animation: name duration timing-function delay iteration-count direction fill-mode; */
            animation: grow 500ms ease-in-out 1 normal;
            opacity: 1;
          }
        }


      }

      .slider_buttons {
        width: var(--w_100);
        transition: 300ms ease;
        gap: 1.5rem;
        flex-direction: row;

        .slider_btn {
          flex-shrink: 0;
          width: 1.7rem;
          height: 1.7rem;
          border-radius: 50%;
          outline: none;
          cursor: pointer;
          border: 1px solid var(--whiteColor);
          background-color: transparent;
          transition: 250ms ease;


          &:hover,
          &.current {
            background-color: var(--whiteColor);
          }

        }
      }
    }
  }
}

@keyframes grow {
  from{
    opacity: 0;
     transform: scale(0.5);
  }
  to{
    opacity: 1;
     transform: scale(1);
  }
  
}

@keyframes fade {
  from{
    opacity: 1;
    transform: scale(1);
  }
  to{
    opacity: 0;
     transform: scale(0.5);
  }
  
}

.faq_container {
  max-width: 1200px;
  width: var(--w_80);
  margin: auto;
  grid-template-columns: repeat(auto-fit, minmax(48%, 1fr));
  column-gap: 4%;

  .faq_col {
    width: var(--w_100);
  }

  .faq {
    display: block;
    width: var(--w_100);

    .faq_question {
      width: var(--w_100);
      color: var(--greenLight);
      font-size: var(--s_1p8rem);
      cursor: pointer;
      background-color: transparent;
      outline: none;
      padding: 4px;
      border-radius: 0 0 0 4px;
      border: 0;
      border-bottom: 1px solid var(--darkGray);
      gap: 1rem;

      img {
        width: 2.2rem;
      }
    }

    .faq_answer {
      width: var(--w_100);
      padding: 2rem 1rem;
      display: grid;
      grid-template-rows: 0fr;
      transition: all 350ms ease;

      .answer_text {
        overflow: hidden;

        p {
          color: var(--darkGray);
          font-weight: 300;
          line-height: 2.6rem;
          text-align: justify;
          font-size: var(--s_1p6rem);

          &:not(:last-child) {
            margin-bottom: 0.8rem;
          }
        }
      }
    }

    &.show {
      .faq_answer {
        grid-template-rows: 1fr;
      }
    }
  }
}

.letter_text {
  width: var(--w_80);
  max-width: 1200px;
  margin: auto;

  h3 {
    color: var(--whiteColor);
    font-size: var(--s_3p0rem);
    margin-bottom: 2rem;
    width: var(--w_100);
    text-align: center;
    font-weight: 300;
  }

  .buttons {
    gap: 2rem;

    .letter_btn {
      outline: none;
      font-size: var(--s_2p0rem);
      font-weight: 400;
      text-align: center;
      padding: 4px 10px;
      min-width: 18rem;
      cursor: pointer;
      transition: 250ms ease;
      border-radius: 4px;

      &.sign_btn {
        background-color: transparent;
        border: 1px solid var(--whiteColor);
        color: var(--whiteColor);
      }

      &.contact_btn {
        background-color: transparent;
        border: 1px solid transparent;
        color: var(--yellow);
      }

      &:hover {
        background-color: var(--yellow);
        border: 1px solid var(--yellow);
        color: var(--darkGray);
      }
    }
  }
}

.gallery_container {
  max-width: 1200px;
  width: var(--w_80);
  margin: auto;

  .gallery {
    width: var(--w_100);
    position: relative;
    overflow: scroll;

    .image_slider {
      grid-auto-flow: column;
      grid-auto-columns: 100%;

      gap: 3rem;

      transition: 300ms ease;

      .image {
        height: 650px;
        min-height: 500px;
        border-radius: 10px;
        background-size: cover;
        background-position: center;
        background-repeat: no-repeat;
        position: relative;
        overflow: hidden;
        place-items: end;
        cursor: pointer;

        .layer {
          position: relative;
          z-index: 1;
          width: var(--w_100);
          height: var(--w_100);
          background-color: #343a40a0;
          grid-area: 1/1;
          transition: 200ms ease;
        }

        h3 {
          width: var(--w_100);
          position: relative;
          z-index: 4;
          grid-area: 1/1;
          padding: 2rem;
          color: var(--whiteColor);
          font-size: var(--s_1p8rem);
          font-weight: 400;
        }

        &:hover {
          .layer {
            opacity: 0.4;
          }
        }
      }
    }

    .slider_buttons {
      width: var(--w_15);
      position: absolute;
      z-index: 6;
      bottom: 2rem;
      right: 2rem;

      .slider_btn {
        background-color: transparent;
        border: 1px solid #ffffff88;
        cursor: pointer;
        outline: none;
        width: 16px;
        height: 16px;
        transition: 200ms ease-in-out;
        margin: 0 0.8rem;
        border-radius: 50%;
        flex-shrink: 0;

        &:hover,
        &.current {
          background-color: var(--whiteColor);
        }
      }
    }
  }
}

.main_footer {
  background-color: var(--greenLight);
  width: var(--w_100);

  .footer_container {
    width: var(--w_80);
    max-width: 1200px;
    margin: auto;

    .footer_top {
      width: var(--w_100);
      padding: 6rem 0;
      gap: 3rem;
    }

    .footer_left {
      flex: 2;

      img {
        width: 12rem;
        object-fit: cover;
        margin-bottom: 2rem;
      }

      .left_text {
        width: var(--w_100);

        p {
          width: var(--w_100);
          text-align: justify;
          font-weight: 300;
          font-size: var(--s_1p6rem);
          color: var(--whiteColor);
        }
      }

      .socials {
        width: var(--w_100);
        margin-top: 2rem;
        gap: 1.5rem;

        .btn {
          width: 3.5rem;
          height: 3.5rem;
          border-radius: 50%;
          background-color: rgba(255, 255, 255, 0.5);
          transition: 250ms ease;

          svg {
            width: var(--w_60);
            height: var(--w_60);

            path {
              fill: var(--yellow);
            }
          }

          &:hover {
            background-color: var(--yellow);

            svg {
              path {
                fill: var(--darkGray);
              }
            }
          }
        }
      }
    }

    .footer_lists {
      flex: 2;

      width: var(--w_100);

      &:last-child {
        flex: 1;
      }

      h3 {
        width: var(--w_100);
        color: var(--whiteColor);
        padding-bottom: 1.2rem;
        position: relative;
        font-size: var(--s_2p5rem);
        margin-bottom: 1rem;

        &::after {
          content: "";
          position: absolute;
          bottom: 0;
          left: 0;
          width: var(--w_20);
          height: 2px;
          background-color: var(--yellow);
        }
      }

      .footer_list {
        width: var(--w_100);

        .footer_item {
          display: block;
          width: var(--w_100);

          .footer_btn {
            background-color: transparent;
            outline: none;
            border: 0;
            width: var(--w_100);
            color: var(--whiteColor);
            font-weight: 300;
            font-size: var(--s_1p8rem);
            text-align: left;
            margin-bottom: 0.8rem;

            svg {
              width: 2.3rem;
              height: 2.3rem;
              flex-shrink: 0;
              margin-right: 1rem;

              path {
                fill: var(--yellow);
              }
            }

            &.nav_link {
              cursor: pointer;
              transition: 250ms ease;
              position: relative;
              padding-bottom: 0.8rem;
              margin-bottom: 0;

              &::after {
                content: "";
                width: 0;
                height: 1px;
                background-color: var(--yellow);
                position: absolute;

                bottom: 0;
                left: 0;
                transition: all 350ms ease-in-out;
              }

              &:hover {
                color: var(--yellow);

                &::after {
                  width: var(--w_100);
                }
              }
            }
          }
        }
      }
    }
  }

  .footer_bottom {
    width: var(--w_100);
    background-color: #ffcf7026;

    .bottom_text {
      width: var(--w_80);
      max-width: 1200px;
      margin: auto;
      padding: 2rem 0;

      h4 {
        color: var(--whiteColor);
        font-weight: 300;
        font-size: var(--s_1p8rem);
      }

      h5 {
        color: var(--yellow);
        font-weight: 300;
        font-size: var(--s_1p6rem);
      }
    }
  }
}

.not_container {
  width: var(--w_100vw);
  height: var(--h_100vh);
  background-color: var(--greenLight);
  overflow: hidden;
  display: flex;
  justify-content: center;
  align-items: center;

  .not_content {
    color: var(--whiteColor);

    h3 {
      gap: 2rem;
      color: var(--whiteColor);
      font-size: var(--s_5p0rem);
      font-weight: 500;
      font-family: var(--script2_family);
      margin-bottom: 1rem;

      img {
        width: 5rem;
      }
    }

    p {
      text-align: left;
      font-weight: 300;
      font-size: var(--s_2p5rem);
      margin-bottom: 2rem;
    }

    .buttons {
      gap: 2rem;

      .btn {
        border: 1px solid var(--whiteColor);
        color: var(--whiteColor);
        font-size: var(--s_1p8rem);
        font-weight: 400;
        min-width: 20rem;
        padding: 6px 10px;
        transition: 200ms ease;
        border-radius: 4px;
        background-color: transparent;

        span {
          color: var(--yellow);
        }

        &:hover {
          background-color: var(--yellow);
          color: var(--darkGray);
          border: 1px solid var(--yellow);

          span {
            color: var(--darkGray);
          }
        }

        &.back_link {
          border: 0;
        }
      }
    }
  }

  &.contain{
    width: var(--w_50);
    margin: auto;

    min-width: 300px;
    max-width: 1000px;
  }
}

/* media queries  */

/* Large screens - width >= 1536px */

/* Large laptops  width >= 1280px*/
@media (max-width: 1350px) {
  .main_nav {
    position: relative;
    z-index: 10;

    .nav_list {
      width: var(--w_30);
      background-color: var(--whiteColor);
      list-style: none;
      position: fixed;
      opacity: 0;
      pointer-events: none;
      right: -10%;
      top: 0;
      height: var(--h_100vh);
      flex-direction: column;
      align-items: flex-start;
      padding: 3rem;
      padding-top: 8%;
      transition: 350ms ease-in-out;

      .close_icon {
        display: block;
      }

      .nav_item {
        .btn_link {
          font-size: 1.8rem;
          padding: 6px 20px;
          color: var(--greenLight);
        }

        .sub_items {
          position: relative;
          right: unset;
          top: unset;
          background-color: transparent;
          opacity: 1;
          pointer-events: all;
          transition: 350ms ease;
          border-radius: 0;
          display: grid;
          grid-template-rows: 0fr;

          .sub_list {
            position: relative;
            overflow: hidden;
            min-width: auto;
            padding: 0;

            .nav_item {
              .nav_link {
                font-size: 1.7rem;
                padding: 6px 10px;
                background-color: transparent;
                outline: none;
                border: 0;
                color: var(--greenLight);
                text-align: left;

                &::after {
                  bottom: -2px;
                  right: unset;
                  left: 0;
                  transition: 350ms ease;
                }
              }

              &:hover,
              &.current {
                .nav_link {
                  &::after {
                    width: var(--w_75);
                  }
                }
              }
            }

            &.g_cls {
              min-width: auto;
              grid-template-columns: repeat(1, minmax(100%, 1fr));
            }
          }
        }

        &:hover,
        &.current {
          .btn_link {
            color: var(--yellow);

            &::after {
              width: var(--w_75);
            }
          }
        }

        &:hover {
          .sub_items {
            opacity: 1;
            pointer-events: initial;
            top: unset;
            grid-template-rows: 1fr;

            .sub_list {
              padding: 1rem;
            }
          }
        }
      }

      &.visible {
        opacity: 1;
        pointer-events: initial;
        right: 0;
      }
    }

    .menu_icon {
      display: block;
      margin-left: auto;
      /* svg{
      width: 30px;
      height: 30px;
      path{
        fill: var(--whiteColor);
      }
    } */
    }
  }
}

/* Small laptops - width >= 1024px*/
@media (max-width: 1200px) {
  .hero {
    .hero_text {
      img {
        width: 100px;
        margin-bottom: 1.5rem;
      }

      h3 {
        font-size: 2.8rem;
      }

      h1 {
        font-size: 4.2rem;
      }

      .btn {
        font-size: var(--s_1p8rem);

        margin-top: 2rem;
        min-width: 20rem;
        padding: 6px 30px;
      }
    }
  }

  section {
    padding: 10rem 0;

    .section_head {
      margin-bottom: 5rem;

      h2 {
        font-size: var(--s_5p0rem);
      }

      p {
        font-size: var(--s_1p7rem);
      }
    }

    .btn {
      border: 1px solid var(--whiteColor);
      color: var(--whiteColor);
      font-size: var(--s_2p0rem);
      font-weight: 500;
      margin-top: 3rem;
      min-width: 25rem;
      padding: 6px 30px;
      transition: 250ms ease;
      background-color: transparent;

      &:hover {
        background-color: var(--yellow);
        color: var(--darkGray);
        border: 1px solid var(--yellow);
      }
    }

    .about_content {
      .about_text {
        h3 {
          font-size: var(--s_2p3rem);
        }
        

        p {
          line-height: 2.6rem;
          font-size: var(--s_1p6rem);
        }
      }

      .call_to_action {
        margin-top: 2rem;
      }
    }
  }

  .about_images {
    float: left;
    width: 50%;
    column-gap: 2rem;
    margin-right: 2rem;
    margin-bottom: 8rem;

    img {
      width: 100%;
      height: 100%;
      border-radius: 10px;
      position: relative;
      z-index: 1;
    }

    .image_big {
      width: 60%;
      height: 300px;
      position: relative;

      .slider_buttons {
        bottom: -40px;
      }
    }

    .image_small {
      height: 220px;
      position: relative;
      bottom: -60px;
    }
  }

  .gallery_container {
    .gallery {
      .image_slider {
        .image {
          height: 500px;
          min-height: 500px;
        }
      }

      .slider_buttons {
        right: 3rem;
      }
    }
  }

  .main_footer {
    .footer_container {
      .footer_top {
        gap: 2rem;
      }

      .footer_left {
        img {
          width: 10rem;
          margin-bottom: 2rem;
        }

        .socials {
          margin-top: 2rem;

          .btn {
            width: 3.4rem;
            height: 3.4rem;
          }
        }
      }

      .footer_lists {
        h3 {
          font-size: var(--s_2p5rem);
          margin-bottom: 1rem;

          &::after {
            width: var(--w_25);
          }
        }

        .footer_list {
          .footer_item {
            .footer_btn {
              font-size: var(--s_1p6rem);
            }
          }
        }
      }
    }
  }

  .testimonials {

    .testimonial_container {

      width: var(--w_70);

    }
  }
}

@media (max-width: 1050px) {
  .main_footer {
    .footer_container {
      .footer_top {
        width: var(--w_100);
        padding: 6rem 0;
        gap: 4%;
        flex-wrap: wrap;
        justify-content: space-evenly;
        row-gap: 3rem;
      }

      .footer_left {
        width: 48%;
        flex: unset;

        img {
          object-fit: cover;
          margin-bottom: 2rem;
        }
      }

      .footer_lists {
        flex: unset;
        width: 48%;

        &:last-child {
          flex: 1;
        }
      }
    }
  }

  .gallery_container {
    .gallery {
      .image_slider {
        .image {
          height: 450px;
          min-height: 450px;
        }
      }

      .slider_buttons {
        right: 4rem;
      }
    }
  }

  .letter_text {
    h3 {
      font-size: var(--s_2p8rem);
    }

    .buttons {
      gap: 2rem;
      flex-direction: column;
    }
  }

  .faq_container {
    grid-template-columns: repeat(auto-fit, minmax(30rem, 1fr));
    column-gap: unset;
    gap: 3%;

    .faq_col {
      width: var(--w_100);
    }

    .faq {
      display: block;
      width: var(--w_100);

      .faq_question {
        width: var(--w_100);
        color: var(--greenLight);
        font-size: var(--s_1p8rem);
        cursor: pointer;
        background-color: transparent;
        outline: none;
        padding: 4px;
        border-radius: 0 0 0 4px;
        border: 0;
        border-bottom: 1px solid var(--darkGray);
        gap: 1rem;

        img {
          width: 2.2rem;
        }
      }

      .faq_answer {
        width: var(--w_100);
        padding: 2rem 1rem;
        display: grid;
        grid-template-rows: 0fr;
        transition: all 350ms ease;

        .answer_text {
          overflow: hidden;

          p {
            color: var(--darkGray);
            font-weight: 300;
            line-height: 2.4rem;
            text-align: justify;
            font-size: var(--s_1p5rem);

            &:not(:last-child) {
              margin-bottom: 0.8rem;
            }
          }
        }
      }

      &.show {
        .faq_answer {
          grid-template-rows: 1fr;
        }
      }
    }
  }

  .about_images {
    width: 60%;
    column-gap: 1rem;
    margin-right: 1.5rem;
    margin-bottom: 10rem;

    .image_big {
      width: 60%;
      position: relative;

      .slider_buttons {
        width: var(--w_100);
        position: absolute;
        bottom: -50px;
        left: 50%;
        transform: translateX(-50%);

        .slider_btn {
          background-color: transparent;
          border: 1px solid var(--darkGray);
          cursor: pointer;
          outline: none;
          width: 18px;
          opacity: 0.85;
          height: 18px;
          transition: 250ms ease-in-out;
          margin: 0 2rem;
          border-radius: 50%;

          &:hover,
          &.current {
            background-color: var(--greenLight);
          }
        }
      }
    }

    .image_small {
      width: 40%;
      position: relative;
    }
  }
}

@media (max-width: 950px) {
  .hero {
    .hero_text {
      img {
        width: 80px;
      }

      h3 {
        font-size: 2.7rem;
      }

      h1 {
        font-size: 3.6rem;
      }

      .btn {
        font-size: var(--s_1p8rem);

        margin-top: 2rem;
        min-width: 20rem;
        padding: 6px 30px;
      }
    }
  }

  .about_images {
    width: 60%;

    margin-right: 2rem;
    margin-bottom: 6rem;

    .image_big {
      width: 100%;
    }

    .image_small {
      display: none;
    }
  }

  .faq_container {
    grid-template-columns: repeat(1, 1fr);
    column-gap: 2%;
    row-gap: 0;

    .faq_col {
      width: var(--w_100);
    }
  }

  .main_nav {
    .nav_list {
      width: var(--w_40);
      padding-top: 10%;
    }
  }

  .destination_content {
    .destinations_container {
      .destinations_slider {
        .slider {
          .image_content {
            .image {
              flex: 0 0 60%;
              min-width: 60%;
            }

            .image_text {
              flex: 0 0 38%;
              min-width: 38%;
            }
          }
        }
      }
    }
  }

  .testimonials {
    .testimonial_container {

      width: var(--w_80);


    }
  }
}

/* Tablets - width >= 768px*/
@media (max-width: 850px) {
  .destination_content {
    .destinations_container {
      .destinations_slider {
        .slider {
          .image_content {
            flex-direction: column;
            row-gap: 3rem;

            .image,
            .image_text {
              flex: unset;
              min-width: unset;
              width: 100%;
            }
          }
        }
      }
    }
  }

  .gallery_container {
    .gallery {
      .image_slider {
        .image {
          height: 400px;
          min-height: 400px;
        }
      }
    }
  }
}

@media (max-width: 800px) {
  .about_images {
    width: 100%;

    margin-right: 2rem;
    margin-bottom: 6rem;

    .image_big {
      width: 100%;
    }

    .image_small {
      display: none;
    }
  }

  section {
    padding: 6rem 0;

    .section_head {
      width: var(--w_90);
    }

    .about_content {
      width: var(--w_90);
    }
  }

  .faq_container {
    width: var(--w_90);
  }

  .main_footer {
    .footer_container {
      width: var(--w_90);

      .footer_top {
        padding: 5rem 0;
        gap: 2%;
        row-gap: 3rem;
        flex-direction: column;
        align-items: center;
      }

      .footer_left {
        width: var(--w_100);

        img {
          display: block;
          margin: auto;
          width: 10rem;
          object-fit: cover;
          margin-bottom: 2rem;
        }

        .left_text {
          p {
            width: var(--w_100);
            text-align: center;
          }
        }

        .socials {
          justify-content: center;
        }
      }

      .footer_lists {
        width: var(--w_100);

        &:last-child {
          flex: unset;
        }
      }
    }

    .footer_bottom {
      .bottom_text {
        width: var(--w_90);

        h4 {
          width: var(--w_100);
          text-align: center;
        }

        h5 {
          display: none;
        }
      }
    }
  }

  .letter_text {
    width: var(--w_90);
  }

  .main_nav {
    width: var(--w_90);
  }

  .destination_content {
    .slider_buttons {
      width: var(--w_90);

      .slider_btn {
        font-size: var(--s_1p8rem);
        padding: 1rem;
        cursor: pointer;
      }
    }

    .destinations_container {
      .destinations_slider {
        width: var(--w_90);

        .slider {
          .image_content {
            flex-direction: column;

            .image {
              height: 260px;
              min-height: 280px;
            }

            .image,
            .image_text {
              flex: unset;
              min-width: unset;
              width: 100%;

              h2 {
                font-size: var(--s_1p8rem);
              }

              p {
                font-size: var(--s_1p6rem);
              }

              .btn {
                font-size: var(--s_1p8rem);
              }
            }
          }
        }
      }
    }
  }

  .packages_content {
    width: var(--w_90);
  }

  .why_choose_us {
    width: var(--w_90);
  }

  .gallery_container {
    width: var(--w_90);
  }

  .main_footer {
    .footer_container {
      width: var(--w_90);
    }

    .footer_bottom {
      .bottom_text {
        width: var(--w_90);
      }
    }
  }

  .testimonials {
    width: var(--w_90);

    .testimonial_container {

      width: var(--w_90);


    }
  }
}

/* Phones landscape - width >= 576px

Phones Portrait - width <= 576px
*/
@media (max-width: 750px) {
  .faq_container {
    .faq {
      .faq_question {
        font-size: var(--s_1p8rem);

        img {
          width: 2rem;
        }
      }

      .faq_answer {
        padding: 1rem;

        .answer_text {
          overflow: hidden;

          p {
            line-height: 2.6rem;
            font-size: var(--s_1p6rem);
          }
        }
      }
    }
  }

  .letter_text {
    h3 {
      font-size: var(--s_2p4rem);
    }

    .buttons {
      gap: 2rem;

      .letter_btn {
        font-size: var(--s_1p8rem);
      }
    }
  }

  section {
    .section_head {
      h2 {
        width: var(--w_100);
        font-size: var(--s_4p0rem);
        text-align: center;
      }
    }
  }

  .hero {
    width: var(--w_100);
    height: var(--h_70vh);

    .hero_container {
      height: var(--h_70vh);
    }

    .hero_text {
      padding-top: 20%;
      width: var(--w_85);

      h3 {
        font-size: 2.4rem;
        margin-bottom: 1rem;
        text-align: center;
      }

      h1 {
        font-size: 3.6rem;
        text-align: center;
      }

      .btn {
        font-size: var(--s_1p8rem);

        margin-top: 3rem;
      }
    }
  }

  .main_nav {
    .nav_list {
      width: var(--w_50);
      padding-top: 15%;

      .close_icon {
        left: 5rem;
        top: 3rem;

        svg {
          width: 26px;
          height: 26px;
        }
      }

      .nav_item {
        .btn_link {
          font-size: 1.6rem;
          padding: 6px 15px;
        }

        .sub_items {
          .sub_list {
            .nav_item {
              .nav_link {
                font-size: 1.5rem;
                border: 0;
              }

              &:hover,
              &.current {
                .nav_link {
                  &::after {
                    width: var(--w_90);
                  }
                }
              }
            }
          }
        }

        &:hover,
        &.current {
          .btn_link {
            &::after {
              width: var(--w_90);
            }
          }
        }
      }
    }
  }

  .gallery_container {
    .gallery {
      .slider_buttons {
        right: 5rem;
      }
    }
  }
}

@media (max-width: 650px) {
  section {
    .section_head {
      h2 {
        font-size: var(--s_3p4rem);
      }
    }
  }

  .main_nav {
    .image_logo {
      width: 8rem;
      /* 80px */
      height: 8rem;

      .logo {
        width: var(--w_95);
        height: var(--w_95);

        img {
          object-fit: cover;
          width: 90%;
        }
      }
    }

    .btn {
      display: none;
    }
  }

  .gallery_container {
    .gallery {
      .image_slider {
        .image {
          height: 340px;
          min-height: 340px;

          h3 {
            width: var(--w_100);
            font-size: var(--s_1p6rem);
            text-align: center;
          }
        }
      }

      .slider_buttons {
        width: 20px;
        height: var(--w_20);

        bottom: 50%;
        right: 2rem;
        flex-direction: column;
        gap: 2rem;

        transform: translateY(50%);
      }
    }
  }

  .not_container {
    .not_content {
      display: flex;
      align-items: center;
      justify-content: center;
      flex-direction: column;

      h3 {
        font-size: var(--s_4p0rem);
        gap: 1rem;

        img {
          width: 4rem;
        }
      }

      p {
        font-size: var(--s_2p0rem);
      }

      .buttons {
        gap: 2rem;
        flex-direction: column;

        .btn {
          font-size: var(--s_1p6rem);
        }
      }
    }
  }

  .testimonials {


    .testimonial_container {

      width: var(--w_100);


    }
  }
}

@media (max-width: 576px) {}

@media (max-width: 550px) {
  .letter_text {
    h3 {
      font-size: var(--s_2p2rem);
    }
  }

  .hero {
    width: var(--w_100);
    height: var(--h_70vh);

    .hero_container {
      height: var(--h_70vh);
    }

    .hero_text {
      padding-top: 20%;
      width: var(--w_90);

      h3 {
        font-size: 2rem;
        width: var(--w_80);
        margin: auto;
      }

      h1 {
        font-size: 3.2rem;
      }

      .btn {
        font-size: var(--s_1p8rem);
      }
    }
  }

  .main_nav {
    .nav_list {
      width: var(--w_70);
      padding-top: 20%;
    }
  }

  .gallery_container {
    .gallery {
      .image_slider {
        .image {
          height: 300px;
          min-height: 300px;
        }
      }
    }
  }
}