* {
    color: #111111;
    margin: 0;
    padding: 0;
}

a {
    text-decoration: none;
    color: #111111;
}

.main-heading h1 {
    font-size: 7.5rem;
    font-weight: 600;
}

.main-heading h2 {
    margin-top: 3rem;
    margin-bottom: 1em;
    font-weight: 700;
    font-size: 1.5rem;
}

.explanation {
    min-height: 100vh;
}

.explanation h1 {
    font-size: 5rem;
    font-weight: 600;
}

.normal-heading {
    font-size: 2.5rem;
    font-weight: 600;
    margin-bottom: 2.5rem !important;
}

.card {
    padding: 1rem;
    border: 1px solid #111111;
    transition: 0.3s;
}

.card:hover {
    transform: scale(1.02);
    background-color: var(--bs-primary);
}

.card:hover h3, .card:hover p, .card:hover i {
    color: white !important;
}

.card .card-text {
    font-size: 1.15rem;
}

@media only screen and (max-width: 991px) {
    p {
        font-size: 1.8rem;
    }

    h2 {
        font-size: 2.5rem;
    }

    .btn {
        font-size: 1.5rem;
    }

    .card {
        background-color: var(--bs-primary);
    }

    .card h3, .card p, .card i {
        color: white !important;
    }

    .card .card-title {
        font-size: 2rem;
    }

    .card .card-text {
        font-size: 1.2rem;
    }

    .card-img-overlay .lead {
        font-size: 1.75rem;
    }
}