/* import google font */

@import url('https://fonts.googleapis.com/css2?family=Titillium+Web:wght@400;700&display=swap');

* {
    margin: 0;
}

body {
    font-family: 'Titillium Web', sans-serif;
}

header {
    background-color: #F7F7F7;
}

.container {
    margin: 0 8rem;
}

.top-nav {
    margin: 8px 0;
    display: flex;
    justify-content: space-between;
    align-items: center;
}

h1 {
    font-size: 60px;
}

h2 {
    font-size: 48px;
}

h3 {
    font-size: 36px;
}

h5 {
    font-size: 24px;
}

h6 {
    font-size: 20px;
}

.nav-link a {
    color: #251D58;
    text-decoration: none;
    font-size: 20px;
    padding: 10px 16px;
}

.nav-link a:hover {
    color: navy;
}

img {
    width: 100%;
}

.btn {
    border: none;
    cursor: pointer;
    padding: 10px 32px;
    border-radius: 4px;
}

.btn-link {
    color: white;
    background-color: #251D58;
}

.btn-link:hover {
    font-weight: 700;
    padding: 10px 20px;
    color: #251D58;
    background-color: lightblue;
    border-inline: 10px solid #251D58;
    transition: 0.4s ease-in-out;
    transform: border-inline;
}

img.logo {
    width: 125px;
    height: 51px;
}

/* header section style */

.header-area {
    padding: 0 8rem;
}

.header-item {
    padding: 120px 0;
    display: flex;
    justify-content: space-between;
    align-items: center;
}

.header-text {
    margin: 10px 0 30px 0;
}

.top-left, .top-right {
    width: 50%;
}

.top-left {
    padding-right: 60px;
}

.top-right img {
    width: 571px;
    height: 502px;
    border-radius: 4px;
}

/* projects style */

.projects {
    margin: 100px 0;
}

.project-title, .service-title {
    text-align: center;
    margin: 50px 0;
}

.project-gallery {
    display: grid;
    grid-template-columns: repeat(3, 1fr);
    grid-column-gap: 30px;
    align-items: stretch;
}

.gallery-item {
    border-radius: 8px;
    box-shadow: 0 0 20px 1px rgba(0, 0, 0, 0.1);
}

.gallery-item:hover {
    box-shadow: 0 0 40px 1px rgba(0, 0, 0, 0.2);
}

.gallery-item img {
    border-radius: 4px;
}

.item-info {
    margin: 30px 0;
    display: flex;
    flex-direction: column;
    justify-content: center;
    align-items: center;
}

.item-title {
    text-align: center;
}

/* services style */

.services {
    margin: 100px 0;
}

.service-title {
    text-align: center;
    margin: 50px 0;
}

.service-area {
    display: grid;
    grid-template-columns: repeat(3, 1fr);
    justify-content: center;
    align-items: stretch;
    grid-column-gap: 60px;
}

.service-item {
    padding: 60px 40px;
    text-align: center;
}

.service-item:hover {
    border-radius: 8px;
    padding: 60px 40px;
    text-align: center;
    box-shadow: 0 0 40px 1px rgba(0, 0, 0, 0.1);
}

.service-item img {
    width: 90px;
    height: 90px;
}

.btn-explore {
    text-align: center;
    margin: 50px 0;
}

/* testimonials style */

.container-test {
    padding: 30px 8rem;
    background-color: #F7F7F7;
}

.testimonials {
    display: grid;
    grid-template-columns: repeat(3, 1fr);
    grid-column-gap: 40px;
    align-items: stretch;
}

.testimonial-title {
    text-align: center;
    margin: 60px 0;
}

.testimonial-area {
    margin: 100px 0;
}

.testimonial-card {
    background-color: #FFFFFF;
    border-radius: 8px;
}

.testimonial-card:hover {
    box-shadow: 0 0 40px 1px rgba(0, 0, 0, 0.1);
}

.testimonial {
    margin: 30px 20px;
}

.person-info {
    display: flex;
    justify-content: flex-start;
    align-items: center;
}

.person-info img {
    width: 64px;
    height: 64px;
}

.name-dgn {
    margin-left: 16px;
}

.testimonial-text {
    margin: 10px 0;
}

.fa-star {
    color: #FFAC0C;
}

.more-test {
    text-align: center;
    margin: 20px 0;
}

/* contact section style */

.contact-area {
    margin: 100px 0;
}

.contact-title {
    text-align: center;
    margin: 60px 0;
}

.contact-form {
    display: flex;
    flex-direction: column;
    align-items: center;
}

.name, .email-phone {
    display: grid;
    grid-template-columns: repeat(2, 250px);
    grid-column-gap: 20px;
    padding-bottom: 12px;
}

input, textarea {
    font-size: 16px;
    margin: 4px 0;
    padding: 12px;
    border: none;
    background-color: #F7F7F7;
}

textarea {
    width: 496px;
    border: none;
    height: 200px;
}

.send {
    text-align: center;
}

/* footer style */

footer {
    color: #FFFFFF;
    background-color: #251D58;
}

.footer-area {
    padding: 40px 8rem;
    display: grid;
    grid-template-columns: repeat(4, 1fr);
    grid-column-gap: 40px;
    justify-content: flex-start;
    align-items: flex-start;
}

.hq-location {
    display: flex;
    align-items: center;
}

.address {
    margin-left: 12px;
    display: flex;
    flex-direction: column;
}

.quick-links {
    display: flex;
    flex-direction: column;
    justify-content: flex-start;
    align-items: flex-start;
}

.quick-links a {
    text-decoration: none;
    color: whitesmoke;
}

.quick-links a:hover {
    color: blueviolet;
}

.fab {
    font-size: 24px;
    color: #FFFFFF;
}

.fa-map-marker-alt {
    margin-right: 8px;
}

.fab:hover {
    color: #F7F7F7;
}

.footer-location, .footer-company, .footer-quick-links, .footer-about {
    padding: 12px;
}

.hq-location, .quick-links, .about-text {
    margin-top: 12px;
}

.about-text {
    color: silver;
}

.social-links {
    margin-top: 20px;
}

.fab {
    margin-right: 12px;
}

.footer-text {
    text-align: center;
    padding: 20px 0 40px 0;
}

/* media query style */

/* extra large devices */

@media only screen and (max-width: 1200px) {
    

    .container {
        margin: 0 24px;
    }

    .header-area {
        padding: 0 24px;
    }

    .top-right img {
        width: 100%;
        height: 100%;
    }

    .container-test {
        padding: 30px 24px;
    }

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

    .footer-area {
        padding: 40px 24px;
        grid-template-columns: repeat(4, 1fr);
    }

}

/* large devices */

@media only screen and (max-width: 991.98px) {
    .container {
        margin: 0 24px;
    }

    .header-area {
        padding: 0 24px;
    }

    .header-item {
        padding: 100px 0;
    }

    .top-left, .top-right {
        width: 50%;
    }

    .top-right img {
        width: 100%;
        height: 100%;
    }

    .project-gallery {
        grid-template-columns: repeat(2, 1fr);
        grid-row-gap: 40px;
        grid-column-gap: 40px;
    }
    
    .service-area {
        grid-template-columns: repeat(2, 1fr);
        grid-row-gap: 40px;
    }

    .container-test {
        padding: 30px 24px;
    }

    .testimonials {
        grid-template-columns: repeat(2, 1fr);
        grid-row-gap: 40px;
    }
    
    .footer-area {
        padding: 40px 24px;
        grid-template-columns: repeat(2, 1fr);
        grid-row-gap: 40px;
    }

    .hq-location .fa-map-marker-alt {
        display: none;
    }
    
    .address {
        margin-left: 0;
    }

    .footer-location, .footer-about {
        order: 2;
    }

    .footer-company, .footer-quick-links {
        order: 1;
    }

}

/* medium devices */

@media only screen and (max-width: 767.98px) {
    .top-nav {
        justify-content: space-around;
    }

    .nav-link a {
        padding: 10px 14px;
    }

    .container {
        margin: 0 16px;
    }

    h1 {
        font-size: 48px;
    }

    h3 {
        font-size: 36px;
    }

    .header-area {
        padding: 0;
    }

    .header-item {
        padding: 100px 0;
    }

    .top-left, .top-right {
        width: 50%;
        padding: 16px;
    }

    .top-right img {
        width: 100%;
        height: 100%;
    }
    
    .project-gallery {
        grid-template-columns: repeat(2, 1fr);
        grid-row-gap: 30px;
    }
    
    .service-area {
        grid-template-columns: repeat(2, 1fr);
        grid-row-gap: 40px;
    }

    .container-test {
        padding: 30px 16px;
    }
    
    .testimonials {
        grid-template-columns: repeat(2, 1fr);
        grid-row-gap: 40px;
    }
    
    .footer-area {
        padding: 40px 16px;
        grid-template-columns: repeat(2, 1fr);
        grid-row-gap: 40px;
    }

    .hq-location .fa-map-marker-alt {
        display: none;
    }
    
    .address {
        margin-left: 0;
    }

    .footer-location, .footer-about {
        order: 2;
    }

    .footer-company, .footer-quick-links {
        order: 1;
    }
}

/* small display */

@media only screen and (max-width: 576px) {
    .container {
        width: 100%;
        margin: 0;
    }

    .header-area {
        padding: 0;
    }

    h1 {
        font-size: 48px;
    }

    h3 {
        font-size: 36px;
    }

    .top-nav {
        margin: 16px;
        flex-direction: column;
    }

    .nav-link {
        display: flex;
        flex-direction: column;
        align-items: center;
    }

    .header-item {
        padding: 100px 0;
        flex-direction: column;
    }

    .top-left, .top-right {
        width: 90%;
        padding: 16px;
    }

    .top-left {
        order: 2;
    }

    .top-right {
        order: 1;
    }

    .top-right img {
        width: 100%;
        height: 100%;
    }

    .projects {
        margin: 50px 30px;
    }
    
    .project-title, .service-title {
        margin: 80px 0;
    }
    
    .project-gallery {
        grid-template-columns: repeat(1, 1fr);
        grid-row-gap: 50px;
    }

    .gallery-item {
        width: 100%;
    }

    .services {
        margin: 80px 16px;
    }
    
    .service-title {
        margin: 50px 0;
    }
    
    .service-area {
        grid-template-columns: repeat(1, 1fr);
        grid-row-gap: 50px;
    }
    
    .service-item {
        margin: 0 30px;
        padding: 80px 40px;
    }
    
    .service-item:hover {
        padding: 80px 40px;
    }
    
    .service-item img {
        width: 90px;
        height: 90px;
    }

    .container-test {
        padding: 30px 16px;
        background-color: #F7F7F7;
    }
    
    .testimonial-area {
        margin: 80px 0;
    }
    
    .testimonial-title {
        margin: 50px 0;
    }

    .testimonials {
        margin: 0 30px;
        grid-template-columns: repeat(1, 1fr);
        grid-row-gap: 50px;
    }
    
    .testimonial-card {
        background-color: #FFFFFF;
        border-radius: 8px;
    }
    
    .testimonial {
        margin: 40px 30px;
    }

    .more-test {
        display: none;
    }

    .contact-area {
        margin: 50px 16px;
    }
    
    .contact-title {
        text-align: center;
        margin: 50px 0;
    }

    .form-input {
        width: 80%;
    }
    
    .name, .email-phone {
        grid-template-columns: repeat(1, 100%);
        grid-row-gap: 10px;
    }

    textarea {
        width: 94%
    }

    .footer-area {
        padding: 40px 30px;
        grid-template-columns: repeat(1, 1fr);
        grid-row-gap: 40px;
    }
    
    .address {
        margin-left: 0;
    }

    .hq-location .fa-map-marker-alt {
        display: none;
    }

}