:root{
    --primary-color: rgba(191, 221, 231, 0.7);
}
.flex-center-center{
    display: flex;
    justify-content: center;
    align-items: center;
}
.grid-center-center{
    display: grid;
    align-items: center;
    justify-content: center;
}
.flex{
    display: flex;
}
.justify-center{
    justify-content: center;
}
.align-center{
    align-items: center;
}
body{
    background-color: var(--primary-color);
}
.container{
    display: grid;
    grid-template-rows: 5% 18% 50% 30% 24%;
    grid-template-columns: 100%;
    grid-gap: 15px;
}
.header{
    flex-direction: column;
}
.title{
    font-size: 30px;
    font-family: Calibri, serif;
    width: 100%;
    margin: 5px;
    justify-content: space-evenly;
}
.title2{
    flex-direction: column;
    justify-content: space-evenly;
}
.sub-title{
    font-size: x-large;
    justify-content: space-between;
}
.hero-banner{
    background-image: url("vibrant-abstract-art-close-up-colorful-multicolored-painting-textured-oil-brushstrokes-high-quality-illustration-312202762.webp");
    background-size: cover;
    grid-template-columns: 100%;
    justify-items: center;
}
.banner-text{
    width: 70%;
    flex-direction: column;
    height: 100%;
}
.banner-text-header{
    font-size: 30px;
    font-weight: bold;
    display: flex;
    justify-content: center;
    margin-bottom: 30px;
}
.banner-text-content{
    font-size: x-large;
    text-align: center;
}
.card{
    border: none;
    flex-direction: column;
    gap: 20px;
    border-radius: 10px;
    padding: 5px;
}
.card1{
    height: 50%;
    width: 100%;
    flex-direction: column;
    align-content: flex-end;
    row-gap: 20px;
}
.card1-heading{
    font-size: 30px;
    font-weight: bold;
    margin-top: 5px;
}
.card1-image{
    background-image: url("d24af374454937ec7f2b1b71b1bc7de9.webp");
    background-size: cover;
    height: 50%;
    width: 80%;
}
.card1-content{
    font-size: x-large;
    margin: 15px;
    text-align: center;
}
.card2{
    height: 50%;
    flex-direction: column;
    row-gap: 10px;
}
.card2-image{
    height: 50%;
    width: 100%;
}
.img3{
    height: 100%;
    width: 100%;
}
.card2-content{
    height: 50%;
    width: 100%;
    flex-direction: column;
}
.card2-heading{
    height: 40%;
    width: 100%;
    font-size: 30px;
    text-align: center;
    border-bottom: 2px solid black;
}
.card2-links{
    font-size: x-large;
    height: 60%;
    width: 100%;
    flex-direction: column;
    justify-content: flex-start;
    row-gap: 15px;
    padding-top: 10%;
    a{
        border: 2px solid black;
        padding: 5px 15px;
        width: 30%;
        text-align: center;
        border-radius: 10px;
    }
}
.contact-form{
    flex-direction: column;
    height: 100%;
    border-radius: 10px;
    padding: 5px;
}
.contact-form-heading{
    height: 15%;
    width: 100%;
    font-size: 30px;
}
.contact-form-content{
    height: 85%;
    width: 100%;
    flex-direction: column;
    row-gap: 20px;
    .contact-form-image{
        height: 35%;
        width: 90%;
    }
    .contact-form-fields{
        height: 65%;
        width: 70%;
        flex-direction: column;
        row-gap: 10px;
        margin-top: 20px;
        input{
            height: 15%;
            width: 90%;
            padding: 5px;
            font-size: larger;
            border: 2px solid black;
        }
        .btn{
            background-color: rgb(68, 141, 165);
            width: 50%;
            font-size: x-large;
            color: white;
            border-radius: 20px;
            padding: 10px;
        }
    }
}
.img4{
    height: 100%;
    width: 100%;
    object-fit: cover;
}
.footer{
    height: 100%;
    flex-direction: column;
    justify-content: flex-start;
    font-size: x-large;
    row-gap: 2%;
    border-top: 2px solid black;
    margin-top: 30px;
    div{
        margin: 10px;
    }
    .footer-socials{
        flex-direction: column;
    }
}

@media (min-width: 800px) {
    .container{
        grid-template-rows: 3% 35% 45% 30% 20%;
        grid-gap: 20px;
    }

    .header{
        flex-direction: row;
    }

    .title:first-child{
        display: flex;
        justify-content: start;
        text-align: start;
    }

    .title{
        font-size: 40px;
        width: 100%;
        margin: 5px;
        padding: 20px;
    }

    .title2{
        flex-direction: row;
        justify-content: flex-end;
        gap: 20px;
        /*background-color: #007777;*/
        margin-right: 15px;
    }

    .sub-title{
        font-size: x-large;
    }

    .hero-banner{
        justify-items: flex-end;
    }

    .banner-text{
        width: 50%;
        flex-direction: column;
        height: 90%;
    }

    .banner-text-header{
        font-size: 50px;
        font-weight: bold;
        margin-bottom: 30px;
    }

    .banner-text-content{
        font-size: xx-large;
        text-align: center;
    }

    .card{
        flex-direction: row;
        gap: 20px;
        margin-top: 20px;
    }

    .card1{
        width: 50%;
        height: 100%;
        flex-direction: column;
    }

    .card1-heading{
        font-size: 40px;
        font-weight: bold;
    }

    .card1-image{
        height: 60%;
        width: 80%;
    }

    .card1-content{
        font-size: x-large;
        margin: 15px;
    }

    .card2{
        height: 100%;
        width: 50%;
        row-gap: 10px;
    }

    .card2-image{
        height: 70%;
        width: 100%;
    }

    .card2-content{
        height: 60%;
        width: 100%;
        display: flex;
        flex-direction: column;
    }
    .card2-heading{
        height: 35%;
        width: 100%;
        font-size: 40px;
    }
    .card2-links{
        flex-direction: row;
        font-size: xx-large;
        height: 60%;
        width: 100%;
        justify-content: space-evenly;
        align-items: flex-start;
        row-gap: 15px;
    }
    .contact-form{
        flex-direction: column;
        margin-top: 40px;
    }
    .contact-form-heading{
        height: 15%;
        width: 100%;
        font-size: 3rem;
        justify-content: flex-start;
        align-items: center;
    }
    .contact-form-content{
        flex-direction: row;
        row-gap: 20px;
        .contact-form-image{
            height: 90%;
            width: 50%;
        }
        .contact-form-fields{
            height: 90%;
            width: 50%;
            flex-direction: column;
            row-gap: 10px;
            margin-top: 20px;
            input{
                height: 15%;
                width: 90%;
                padding: 5px;
                font-size: x-large;
                border: 2px solid black;
            }
            .btn{
                width: 40%;
                font-size: x-large;
                font-weight: bold;
            }
        }
    }
    .footer{
        flex-direction: row;
        justify-content: space-evenly;
        font-size: x-large;
        row-gap: 2%;
        margin-top: 50px;
        .footer-content{
            width: 50%;
        }
    }
}
