/* global */
.theme_btn {
    background-color: var(--greenColor);
    border: 1px solid var(--greenColor);
    border-radius: 4px;
    font-size: var(--heads);
}

.link_btn {
    background-color: var(--greenColor);
    border: 1px solid var(--greenColor);
    border-radius: 4px;
    font-size: var(--subHeads);
    outline: none;
    text-align: center;
}

.root_container {
    position: relative;
    width: var(--fullWidth);
}

/* navbar */
.navbar {
    width: var(--fullWidth);
    position: absolute;
    z-index: 300;
    top: 0;
    left: 0;
}

/* top navigation */
/* SM-G975F */
/* call *1234* to ope */

.top_nav {
    width: var(--fullWidth);
    background-color: var(--greenColor);

    .top_nav_container {
        max-width: 1200px;
        width: var(--secWidth2);
        margin: auto;
    }

    .top_nav_contacts {
        flex: 1;
        gap: 4rem;

        .nav_contact {
            gap: 1rem;
            font-size: var(--subHeads);
        }
    }

    .top_nav_socials {
        gap: 1.5rem;

        .nav_social {
            svg {
                &:not(:last-child) {
                    width: 20px;
                    height: 20px;
                }

                width: 24px;
                height: 24px;

                path {
                    fill: var(--textColor);
                }
            }
        }
    }
}

/* navigation */

.navigation {
    width: var(--fullWidth);

    .main_nav {
        max-width: 1200px;
        width: var(--secWidth2);
        margin: auto;
        padding: 2rem 0;
    }

    .logo {
        img {
            width: 80px;
        }
    }

    .nav_list {
        gap: 1rem;

        .nav_item {
            list-style: none;
            position: relative;

            .nav_link {
                padding: 0.5rem 1rem;
                font-size: var(--headsBig);
                gap: 0.6rem;
                transition: 250ms ease;
                border-radius: 4px;

                &.current,
                &:hover {
                    background-color: rgba(143, 222, 65, 0.25);
                    color: var(--themeColor);
                }

                svg {
                    margin-top: 0.5rem;
                }
            }

            &:hover {
                .sub_list {
                    top: calc(100% + 0.2rem);
                    pointer-events: initial;
                    opacity: 1;
                }
            }
        }

        .sub_list {
            width: fit-content;
            min-width: 180px;
            position: absolute;
            left: 0;
            top: calc(100% + 6rem);
            padding: 2rem 1rem;
            background-color: var(--greenColor);
            border-radius: 4px;
            pointer-events: none;
            opacity: 0;
            transition: 300ms ease-in-out;

            .nav_link {
                font-size: var(--paraSize);
            }
        }


    }

    .nav_actions {
        gap: 1rem;

        .language {
            padding: 4px 1rem;
            gap: 1rem;
            font-size: var(--heads);
        }

        .menu_btn {
            display: none !important;
            width: 35px;
            height: 35px;
            padding: 4px;
            border-radius: 50%;
            display: flex;
            align-items: center;
            justify-content: center;
        }
    }
}

/* hero */

.hero {
    width: var(--fullWidth);
    height: 100vh;
    min-height: 100svh;
    background-image: url("../assets/images/image_01.jpg");
    background-position: center;
    background-repeat: no-repeat;
    background-size: cover;

    .hero_background {
        width: var(--fullWidth);
        background-color: rgba(0, 0, 0, 0.65);
        height: var(--fullWidth);

        .hero_content {
            margin: auto;
            max-width: 1200px;
            width: var(--secWidth2);
            padding-top: 30rem;


        }

        .hero_slide_content {
            max-width: var(--halfWidth);

            .eyebrow {
                font-size: var(--headsBig);
                position: relative;
                padding-left: 4rem;
                font-weight: 500;
                color: var(--themeColor);
                font-family: var(--headFamily);

                &::before {
                    content: "";
                    background-color: var(--themeColor);
                    position: absolute;
                    left: 0;
                    top: 50%;
                    translate: 0 -50%;
                    height: 2px;
                    width: 3rem;
                    border-radius: 10px;
                    font-weight: bold;
                    font-size: var(--headsBigger);
                }
            }

            h1 {
                width: var(--fullWidth);
                font-size: var(--headsLarge);
                text-transform: uppercase;
                font-family: var(--otherFamily);
                letter-spacing: 3px;
                margin-bottom: 1rem;
            }

            p {
                font-size: var(--heads);
                margin-bottom: 2rem;
                line-height: 3rem;
            }

            .hero_buttons {
                width: var(--fullWidth);
                margin-top: 4rem;
                margin-bottom: 4rem;
                gap: 2rem;

                .video_btn,
                .btn {
                    border-radius: 4px;
                    font-size: var(--heads);
                    border: 1px solid transparent;
                    transition: 250ms ease;

                    &:hover {
                        background-color: transparent;
                        border: 1px solid var(--themeColor);
                        color: var(--themeColor);
                    }
                }
            }
        }

        .hero_bottom {
            width: var(--fullWidth);
            padding-top: 2rem;
            border-top: 1px solid rgba(244, 247, 254, 0.65);

            .bottom_left {
                gap: 2rem;

                span {
                    font-size: var(--smallSize);
                    text-transform: uppercase;
                    font-weight: 300;

                    &.f_aic {
                        gap: 0.5rem;
                    }

                    &.langs {
                        padding-left: 2rem;
                        border-left: 1px solid var(--themeColor);
                    }
                }
            }

            .bottom_buttons {
                gap: 1rem;

                .hero_btn {
                    width: 12px;
                    height: 12px;
                    border-radius: 50%;
                    background-color: rgba(244, 247, 254, 0.45);
                    border: 0;
                    outline: none;
                    cursor: pointer;
                    transition: all 300ms ease-in-out;

                    &:hover {
                        background-color: var(--themeColor);
                    }

                    &.current {
                        background-color: var(--themeColor);
                        width: 40px;
                        border-radius: 12px;
                    }

                }
            }
        }

    }
}

/* sections */

.main_section {
    width: var(--fullWidth);
    padding: 5rem 0;

    .section_content {
        width: var(--secWidth2);
        max-width: 1200px;
        margin: auto;

    }

    .section_heading {
        max-width: var(--sixWidth);
        margin: auto;
        margin-bottom: 3rem;

        &.feature {
            max-width: var(--halfWidth);
        }

        h4 {

            color: var(--themeColor);
            font-size: var(--heads);
            text-transform: uppercase;
            font-weight: 300;
            font-family: var(--otherFamily);
            letter-spacing: 3px;
            margin-bottom: 3rem;
            padding-bottom: 1rem;
            position: relative;
            text-align: center;

            span {
                position: absolute;
                width: 10px;
                height: 10px;
                left: 50%;
                translate: -50% 0;
                bottom: -1rem;
                border-radius: 50%;
                background-color: var(--themeColor);

                &::after,
                &::before {
                    content: "";
                    width: 100px;
                    border-radius: 4px;
                    height: 2px;
                    position: absolute;
                    top: 50%;
                    translate: 0 -50%;
                    background-color: var(--themeColor);
                }

                &::before {
                    left: -115px;
                }

                &::after {
                    right: -115px;
                }
            }
        }

        h2 {
            font-size: var(--headsBigger);
            font-family: var(--headFamily);
            text-align: center;
            margin-bottom: 1rem;
        }

        p {
            text-align: center;
            font-size: var(--heads);
        }
    }

    .explainer {
        width: var(--fullWidth);
        padding: 1rem 2rem;
        border-radius: 4px;
        border-left: 4px solid var(--themeColor);

        h3 {
            font-size: var(--headsBig);
            color: var(--themeColor);
            margin-bottom: 1rem;
        }
    }

    &#coming_safaris, &#contacts {
        background-color: var(--secColor);
    }

    &#why_us, &#steps, &#reviews {
        background-image: url('../assets/images/image_06.jpg');
        background-repeat: no-repeat;
        background-size: cover;
        background-attachment: scroll;
        background-position: center;
        position: relative;

        .section_content {
            position: relative;
            z-index: 10;
        }

        &::before {
            content: "";
            position: absolute;
            width: var(--fullWidth);
            height: var(--fullWidth);
            z-index: 2;
            background-color: rgba(22, 22, 24, 0.86);
            left: 0;
            top: 0;
        }
    }

    &#steps{
        .section_heading{
            margin-bottom: 5rem;
        }
    }


}

.cards_grid {
    grid-template-columns: repeat(4, 1fr);
    gap: 2rem;

    .grid_card {
        border-radius: 4px;
        margin-bottom: 2rem;

        &:hover {
            background-color: var(--secColor);
        }

        .card_image {
            width: var(--fullWidth);
            min-height: 180px;
            margin-bottom: 1rem;
            position: relative;

            img {
                object-fit: cover;
                width: var(--fullWidth);
                height: 180px;
                border-radius: 4px 4px 0 0;
            }

            span {
                position: absolute;
                right: 10px;
                top: 10px;
                padding: 4px;
                font-size: var(--smallSize);
                border-radius: 2px;
                background-color: var(--greenColor);
            }
        }

        .card_content {
            width: var(--fullWidth);
            padding: 0 1rem;
            padding-bottom: 2rem;
            height: 170px;
            display: grid;
            grid-template-rows: auto 1fr auto;

            h3 {
                text-align: left;
                color: var(--themeColor);
                font-size: var(--heads);
                margin-bottom: 1rem;

            }

            p {
                margin-bottom: 1.5rem;

            }

            .btn {
                max-width: var(--sevenWidth);

                &:hover {
                    border: 1px solid var(--themeColor);
                    background-color: transparent;

                    color: var(--themeColor);
                }
            }

            .card_top {
                width: var(--fullWidth);
                margin-bottom: 1rem;

                h2 {
                    font-size: var(--paraSmallSize);
                    gap: 0.6rem;
                }

                h5 {
                    font-size: var(--smallSize);
                }
            }

            .card_bottom {

                h4 {
                    font-size: var(--smallerSize);
                    text-transform: uppercase;
                }
            }
        }
    }

    &.safari_grid {
        width: var(--secWidth);
        margin: auto;
        grid-template-columns: repeat(3, 1fr);
        gap: 2rem;

        .grid_card:hover {
            background-color: var(--darkColor);
        }

        .card_image {
            min-height: 160px;

            img {
                height: 160px;
                border-radius: 4px 4px 0 0;
            }
        }
    }

    &.reasons_card {

        grid-template-columns: repeat(2, 1fr);
        gap: 0.5rem;

    }
}

.steps_cards {
  
    width: var(--secWidth);
    margin: auto;
    gap: 2rem;
    position: relative;

    &::after{
        content: "";
        width: 70%;
        height: 2px;
        z-index: 2;
        background-color: var(--themeColor);
        position: absolute;
        top: 25px;
        left: 50%;
        translate: -50% 0;
    }


    .reason{
position: relative;
        z-index: 5;
    }

    .icons {
        width: 50px;
        height: 50px;
        border-radius: 50%;
        background-color: var(--secColor);
        margin-bottom: 2rem;
        border: 1px solid var(--textColor);
        

    }
    h3{
        width: var(--fullWidth);
        text-align: center;
        font-size: var(--headsBigg);
        margin-bottom: 1rem;
    }

    p{
        text-align: center;
    }
}

.reasons_content {
    gap: 2rem;

    .section_image {
        width: 45%;

        img {
            width: var(--fullWidth);
            object-fit: cover;
            border-radius: 4px;
            min-height: 600px;
        }
    }

    .reasons_container {
        width: 55%;

        .reasons_heading {
            width: var(--fullWidth);
            margin-bottom: 2rem;

            h4 {

                color: var(--themeColor);
                font-size: var(--heads);
                text-transform: uppercase;
                font-weight: 300;
                font-family: var(--otherFamily);
                letter-spacing: 3px;
                margin-bottom: 2rem;
                position: relative;
                text-align: left;

            }

            h2 {
                font-size: var(--headsBigger);
                font-family: var(--headFamily);
                text-align: left;
                margin-bottom: 1rem;
            }

            p {
                text-align: justify;
                font-size: var(--heads);

            }
        }

        .reasons_card {
            .reason {
                padding: 1rem;
                border-radius: 4px;

                .icons {
                    width: var(--fullWidth);
                    position: relative;
                    margin-bottom: 1rem;

                    span {
                        width: 35px;
                        height: 35px;
                        background-color: rgba(143, 222, 65, 0.25);
                        display: flex;
                        align-items: center;
                        justify-content: center;
                        border-radius: 50%;
                        position: relative;
                        z-index: 5;

                        &.number {
                            background-color: var(--greenColor);
                            position: absolute;
                            left: 35px;
                            top: 0;
                            font-size: var(--heads);
                            z-index: 1;
                            opacity: 0;
                            transition: 350ms ease-in-out;
                        }
                    }
                }

                h3 {
                    font-size: var(--subHeads);
                    text-transform: uppercase;
                    font-weight: 400;
                    margin-bottom: 1rem;
                }

                &:hover {

                    .icons {
                        span {


                            &.number {
                                left: calc(100% - 35px);
                                opacity: 1;
                            }
                        }
                    }

                    h3 {
                        font-size: var(--subHeads);
                        text-transform: uppercase;
                        font-weight: 400;
                        margin-bottom: 1rem;
                    }
                }
            }

        }
    }

}


.form_container {
    width: var(--sixWidth);
    margin: auto;

    .form {
        width: var(--fullWidth);
        margin-bottom: 2rem;

        .form_fields_group {
            width: var(--fullWidth);
            margin-bottom: 2rem;

            .input_group {
                flex: 1;

                input,
                textarea {
                    width: var(--fullWidth);
                    background-color: transparent;
                    color: var(--textColor);
                    font-size: var(--paraSize);
                    border: 1px solid rgba(244, 247, 254, 0.15);
                    border-radius: 4px;
                    text-align: left;
                    padding: 6px 10px;
                }

                textarea {
                    resize: none;
                    max-height: 10rem;
                }
            }

            &.double {
                display: flex;
                align-items: center;
                justify-content: space-between;
                gap: 2rem;
            }
        }

        .btn {
            min-width: calc(50% - 2rem);
            padding: 8px 10px;


            &:hover{
                background-color: transparent;
                color: var(--themeColor);
                border: 1px solid var(--themeColor);
            }
        }
    }

    hr{
        width: var(--fullWidth);
        border: 0;
        height: 1px;
        background-color: rgba(244, 247, 254, 0.15);
        margin-bottom: 2rem;
    }

    .contacts_details{
        width: var(--fullWidth);
        margin-bottom: 1rem;
        gap: 2rem;

        a{
            gap: 1rem;
            font-size: var(--subHeads);

            &:nth-child(2){
                padding-left: 2rem;
                padding-right: 2rem;
                border-left: 1px solid var(--themeColor);
                border-right: 1px solid var(--themeColor);

            }
        }

        
    }

    h4{
        color: var(--themeColor);
        font-family: var(--otherFamily);
        text-transform: uppercase;
        font-weight: 300;
        font-size: var(--smallerSize);
        display: flex;
        align-items: center;
        justify-content: center;
    }
}


.main_footer {
  background-color: var(--greenColor);
  width: var(--fullWidth);

  .footer_container {
    width: var(--secWidth2);
    max-width: 1200px;
    margin: auto;

    .footer_top {
      width: var(--fullWidth);
      padding: 6rem 0;
      gap: 6rem;
    }

    .footer_left {
      flex: 3;

      img {
        width: 10rem;
        object-fit: cover;
        margin-bottom: 2rem;
      }

      .left_text {
        width: var(--fullWidth);

        p {
          width: var(--fullWidth);
          text-align: justify;
          font-weight: 300;
          font-size: var(--paraSize);
          color: var(--textColor);
        }
      }

      .socials {
        width: var(--fullWidth);
        margin-top: 2rem;
        gap: 1.5rem;

        .social_icon {
          width: 35px;
          height: 35px;
          border-radius: 50%;
          background-color: rgba(143, 222, 65, 0.25);
          transition: all 300ms ease;
          flex-shrink: 0;
          display: flex;
          align-items: center;
          justify-content: center;

          &:hover {
            background-color: transparent;
            border: 1px solid var(--themeColor);

          }
        }
      }
    }

    .footer_lists {
      flex: 1;

      width: var(--fullWidth);

      

      h3 {
        width: var(--fullWidth);
        color: var(--textColor);
        padding-bottom: 1.2rem;
        position: relative;
        font-size: var(--headsBig);
        margin-bottom: 1rem;

        &::after {
          content: "";
          position: absolute;
          bottom: 0;
          left: 0;
          width: 20%;
          height: 2px;
          background-color: var(--themeColor);
        }
      }

      .footer_list {
        width: var(--fullWidth);

        .footer_item {
          display: block;
          width: var(--fullWidth);

          .footer_btn {
            background-color: transparent;
            outline: none;
            border: 0;
            width: var(--fullWidth);
            color: var(--textColor);
            font-weight: 350;
            font-size: var(--subHeads);
            text-align: left;
            margin-bottom: 1.2rem;

           
            &.nav_link {
              cursor: pointer;
              transition: 250ms ease;
              position: relative;
              padding-bottom: 0.8rem;
              margin-bottom: 0;

             

              &:hover {
                color: var(--themeColor);

                
              }
            }
          }
        }
      }
    }
  }

  .footer_bottom {
    width: var(--fullWidth);
    background-color: rgba(143, 222, 65, 0.25);

    .bottom_text {
      width: var(--fullWidth);
      max-width: 1200px;
      margin: auto;
      padding: 2rem 0;

      h4 {
        color: var(--textColor);
        font-weight: 300;
        font-size: var(--paraSize);
      }

      .nav_link{
        font-size: var(--paraSize);
        margin-right: 4rem;
      }

      h5 {
        color: var(--themeColor);
        font-weight: 300;
        font-size: var(--paraSize);
      }
    }
  }
}