*{
    padding: 0;
    margin: 0;
    box-sizing: border-box;
    font-family: "Hind", sans-serif;
}
:root{
    --primary-color: blue;
    --color-white: #fff;
    --secondary-color: #020d1f;
    --extra-color: #ebedeb;
}
a{
    text-decoration: none;
    color: #000;
}
.header{
    font-size: 80px;
    font-weight: bold;
    line-height: 80px;
    color: #000;
    text-transform: capitalize;
    padding: 25px 10px;
}
.sub_header{
    font-size: 40px;
    line-height: 35px;
}
@media screen and (max-width: 470px) {
    .header{
        font-size: 60px;
    }
    .sub_header{
        font-size: 30px;
    }
}
@media screen and (max-width: 350px) {
    .header{
        font-size: 50px;
    }
    .sub_header{
        font-size: 30px;
    }
}

/*============================ NAVBAR STYLES ============================*/

nav{
    width: 100%;
    height: 60px;
    position: fixed;
    display: flex;
    align-items: center;
    text-align: center;
    justify-content: space-between;
    z-index: 2;
    font-size: 18px;
    text-transform: capitalize;
    background: var(--primary-color);
}
nav a{
    color: #fff;
}
.nav-link{
    justify-content: center;
    text-align: center;
    align-items: center;
    display: flex;
    margin: 10px 10px;
    justify-content: space-between;
}
.nav_links{
    display: flex;
    font-weight: 400;
}
.nav_links li{
    list-style: none;
    margin: 0px 10px;
}
.logo{
    font-size: 25px;
    font-weight: bold;
    margin-left: 20px;
}
.nav_aside{
    display: flex;
    justify-content: center;
    align-items: center;
    color: var(--color-white);
    margin-right: 30px;
    font-size: 22px;
}
.container{
    width: 80%;
    margin: 0 auto;
    text-align: center;
    justify-content: center;
}
.togle-menu{
    display: flex;
    justify-content: space-between;
    color: var(--color-white);
    align-items: center;
}
@media screen and (min-width: 701px) {
    .nav_aside{
        display: none;
    }
}
@media screen and (max-width: 700px) {
    .nav_links{
        position: absolute;
        top: 60px;
        right: 0;
        width: 100%;
        background: var(--primary-color);
        display: flex;
        flex-direction: column;
        height: 250px;
        padding: 10px 10px;
        opacity: 0;
    }
    .showlinks{
        position: absolute;
        top: 60px;
        right: 0;
        width: 100%;
        background: var(--primary-color);
        display: flex;
        flex-direction: column;
        height: 250px;
        padding: 10px 10px;
        animation: cubic-bezier(0.55, 0.055, 0.675, 0.19) linear 0s alternate sun-rise;
        /* opacity: 0; */
    }
    @keyframes sun-rise {
  from {
    /* pushes the sun down past the viewport */
    transform: translateY(-110vh);
  }
  to {
    /* returns the sun to its default position */
    transform: translateY(0);
  }
}
    .showlinks li{
        padding: 8px 10px;
        border-bottom: 1px solid var(--color-white);
    }
}

/*================================ BUTTONS STYLES ============================*/

.btn{
    padding: 10px 10px;
    border-radius: 5px;
    /* width: 300px; */
    margin: auto;
    border: none;
}
.btn_white{
    background: #fff;
    color: #000;
    margin: 10px 10px;
}
.btn_dark{
    background: var(--secondary-color);
    color: var(--color-white);
    box-shadow: 5px 7px 33px 1px rgba(0,0,0,0.57);
}
.btn_dark a{
    color: var(--color-white);
    margin: 10px 10px;
}
.btn_white a{
    color: #000;
    font-weight: bold;
}
.cta{
    display: grid;
    grid-template-columns: repeat(2, 1fr);
    font-size: .9rem;
    margin: 0 auto;
    justify-content: center;
    gap: 20px;
    text-align: center;
    align-items: center;
}
.cta a{
    color: var(--color-white);
    display: flex;
    align-items: center;
    justify-content: space-between;
    width: 60%;
    text-align: left;
    margin: 5px auto;
    padding: 10px 10px;
    font-weight: normal;
}
/* .cta .logo{
    width: 30px;
    height: 30px;
    margin: 5px 10px;
} */
.cta .btn-primary{
    background: #000;
    box-shadow: 5px 7px 33px 1px rgba(0,0,0,0.57);
}
.btn-primary:hover{
    background: var(--secondary-color);
    transition: 0.2 ease;
}

@media screen and (max-width: 580px) {
    .cta .logo{
        width: 20px;
        height: 20px;
        margin-right: 5px;
    }
    .cta{
        font-size: .5rem;
    }
}
@media screen and (max-width: 427px) {
    .cta .logo img{
        width: 15px;
        height: 15px;
        margin: 5px 10px;
    }
    .cta{
        font-size: .5rem;
    }
}

/*================================ HERO SECTION STYLES ============================*/

.hero_section{
    width: 100%;
    text-align: center;
    padding-top: 80px;
    background-image: url("images/header\ bg.jpg");
    background-repeat: no-repeat;
    background-position: center;
    background-size: cover;
    background-position-y: -300px;
}
.hero_section h1{
    font-size: 80px;
    font-weight: bold;
    line-height: 80px;
    color: var(--color-white);
    padding: 25px 10px;
}
.hero_section h1 span{
    display: block;
}
.hero_section p{
    color: var(--color-white);
    padding: 10px 10px;
}
.hero_image{
    width: 80%;
    margin: 0 auto;
}
.hero_image img{
    width: 80%;
}
.hero_socials{
    position: absolute;
    left: 3%;
    top: 30%;
    gap: 10px;
    display: flex;
    flex-direction: column;
    padding: 10px 10px;
}
.hero_socials a i{
    font-size: 20px;
    color: var(--color-white);
    margin: 15px 10px;
}
@media screen and (max-width: 800px) {
    .hero_section h1{
        line-height: 80px;
    }
    .hero_socials{
        top: 25%;
    }
    .hero_section{
        background-position-y: -200px;
    }
}

@media screen and (max-width: 600px) {
    .hero_socials{
        left: 2%;
    }
    .hero_section{
        background-position-y: -150px;
    }
    .hero_section h1{
        font-size: 50px;
        line-height: 50px;
    }
}
@media screen and (max-width: 400px) {
    .hero_section h1{
        font-size: 40px;
        line-height: 45px;
    }
}


/*=========================== ABOUT US =====================================*/

.about_section{
    padding-top: 50px;
    text-align: center;
    justify-content: center;
}
.about_section .container{
    width: 90%;
}
.about_section h2{
    margin-top: 50px;
}

@media screen and (max-width: 550px) {
    .about_section .container .grid_col-2{
        display: grid;
        grid-template-columns: 1fr;
    }
}

/*===================================== GRID STYLES ===================================*/

.grid_col-2{
    display: grid;
    grid-template-columns: repeat(2, 1fr); 
    gap: 10px;
    margin: auto;
}
.grid_col-2 img{
    width: 100%;
}
.grid-content{
    align-items: center;
    text-align: left;
    margin: auto;
    padding: 15px 10px;
}
.grid-content p{
    margin-top: 10px;
    margin-bottom: 10px;
}
.grid-col-4{
    display: grid;
    grid-template-columns: repeat(4, 2fr);
}
.grid-col-4 div{
    background: var(--extra-color);
    margin: 10px 10px;
    border-radius: 5px;
    display: grid;
    grid-template-columns: 1fr;
    align-items: center;
    justify-content: center;
    text-align: center;
    height: 80px;
    transition: all 300ms ease;
    cursor: pointer;
    object-fit: contain;
}
.grid-col-4 div img{
    width: 80%;
    height: 40px;
    margin: auto;
}

/*============================================ OUR CUSTOMER STYLES ===================================*/
.clients{
    width: 100%;
    justify-content: center;
    text-align: center;
    height: 500px;
}
.clients p{
    margin-bottom: 20px;
}

.grid-col-4 div:hover{
    background: var(--color-white);
}
.customer_profile img{
    width: 40px;
    height: 40px;
    border-radius: 50%;
}
.customer_testimony{
    text-align: left;
    padding: 10px 10px;
    margin: 5px 10px;
    background: var(--extra-color);
    transition: all 300ms ease;
    cursor: pointer;
}
.customer_profile{
    display: flex;
    padding: 10px 10px;
    text-align: center;
    align-items: center;
}
.customer_profile p{
    margin-left: 10px;
    font-weight: bold;
}
.customer_testimony:hover{
    border: 1px solid var(--secondary-color);
    box-shadow: 5px 7px 33px 1px var(--secondary-color);
}

/*============================================ TESTIMONIALS  STYLES ===================================*/

.testimonials{
    width: 100%;
    height: auto;
    padding-top: 50px;
}
@media screen and (max-width: 600px) {
    .testimonials .grid_col-2{
        display: grid;
        grid-template-columns: 1fr;
    }
}

.subscribe{
    height: 400px;
    display: grid;
    grid-template-columns: repeat(2, 1fr);
    width: 100%;
    color: var(--color-white);
    align-items: center;
    display: flex;
    justify-content: center;
}
.subscribe .grid_col-2{
    display: grid;
    align-items: center;
    width: 90%;
    margin: auto;
    grid-template-columns: 60% 40%;
    background: var(--primary-color);
    border-radius: 15px;
}
.sub_content{
    text-align: left;
    padding: 10px 10px;
    margin: 10px 10px;
}
.sub_content h2{
    font-size: 35px;
    margin-bottom: 10px;
}
.subscribe .btn{
    margin-bottom: 10px;
    width: 150px;
    height: 50px;
    margin: auto;
}
@media screen and (max-width: 650px) {
    .subscribe .grid_col-2{
        display: grid;
        height: 230px;
        grid-template-columns: 1fr;
    }
}
@media screen and (max-width: 530px) {
    .subscribe .grid_col-2{
        display: grid;
        height: 300px;
        grid-template-columns: 1fr;
    }
    .sub_content h2{
        font-size: 30px;
        margin-bottom: 10px;
    }
}

/*============================ FAQS SECTION =====================================*/
.faqs{
    width: 100%;
    display: flex;
    flex-direction: column;
    align-items: center;
    justify-content: center;
    height: 500px;
  }
  .faqs h2{
    margin: 10px auto;
  }
  .faqs .line{
    margin: 10px auto;
  }
  .questions {
    text-align: center;
    align-items: center;
    justify-content: center;
  }
  
  .title {
    font-size: 24px;
    font-weight: 700;
    padding: 10px 10px;
    font-family: 'Dancing Script', cursive;
  }
  
  .center-sections {
    justify-content: center;
    text-align: left;
    align-items: center;
  }
  
  .question {
    font-family: 'Ubuntu', sans-serif;
    font-size: 18px;
    background: whitesmoke;
    height: auto;
    width: 600px;
    margin: 10px;
    padding: 10px;
    border-radius: 5px;
  }
  
  .question-title {
    display: flex;
    justify-content: space-between;
    align-items: center;
  }
  
  .question-btn i{
    border: none;
    font-size: 18px;
  }
  
  .question-title .minus-icon .plus-icon{
    font-size: 10px;
    cursor: pointer;
    border: none;
    display: flex;
    margin: 2px 0px;
  }
  
  .question-text {
    font-size: 18px;
    font-weight: 300;
  }
  
  .question-text p {
    border-top: 1px solid black;
    margin: 10px 0;
  }
  button{
    padding: 0.1px 0.5px;
    border: none;
  }
  
  /* hide text*/
  .question-text{
    display: none;
  }
  .show-text .question-text{
    display: block;
  }
  .question-btn .minus-icon{
    display: none;
  }
  .show-text .minus-icon{
    display: inline-block;
  }
  .show-text .plus-icon{
    display: none;
  }
  
  @media only screen and (max-width: 540px) {
    .question{
      width: 400px;
    }
  }
  @media only screen and (max-width: 415px) {
    .question{
      width: 300px;
    }
  }
  /*===========================FAQS ENDS HERE ============================*/


/* ============================================ FOOTER ============================================== */
footer{
    width: 100%;
    display: flex;
    align-items: center;
    color: var(--color-white);
    height: auto;
    margin-top: 150px;
    background: var(--primary-color);
}
footer .container{
    margin: auto;
}
footer .grid_col-4{
    display: grid;
    grid-template-columns: repeat(4, 1fr);
    justify-content: start;
}
.cols{
    justify-content: left;
    text-align: left;
    margin: 10px 10px;
} 
.cols ul li{
    list-style-type: none;
    text-align: start;
}
.cols ul li a{
    display: flex;
    flex-direction: column;
    color: var(--color-white);
}
.cols ul li a:hover{
    text-decoration: underline;
}
.cols input{
    padding: 5px 5px;
    border: 2px solid var(--color-white);
    background: var(--primary-color);
}
.cols input::placeholder{
    color: var(--color-white);
}
.cols input:active{
    border: 1px solid var(--color-white);
}
.cols input :placeholder-shown{
    color: #000;
}
.cols_4 a{
    color: var(--color-white);
}
.cols_4 a i{
    gap: 10px;
    margin-right: 10px;
}
.divider{
    border: .5px solid var(--color-white);
    margin-top: 40px;
}
#ft{
    padding: 10px 10px;
    margin-top: 10px;
}


/*================== MEDIA QUERRIES ==============================*/
@media screen and (max-width: 650px) {
    footer .grid_col-4{
        display: grid;
        grid-template-columns: 1fr;
        justify-content: start;
    }
}