/**
*
* .c40b
*  container and flexible amount of cards
*
**/

/*======= 320  padding l,r  15  = 290 ===*/

.c40b {
    text-align: center;
    margin-bottom: 2em;
    background-color: var(--areaBg);
    padding-bottom: 3em;
}

.c40b.bottomLine {
    border-bottom: 1px solid var(--fontDarkBlue);
}

.c40b .top-article h2 {
    font-size: 2em;
}

.c40b .card {
    background-color: white;
    padding: 5px;
}

.c40b .card h2 {
    margin-bottom: 10px;
    margin-top: 0;
    font-size: 1.5em;
}


.c40b .card h3 {
    font-size: 1.7em;
}

.c40b .card-footer p {
    text-align: center;
}

/*style the lists*/
.c40b ul {
    list-style: none;
    margin: 0 0 1em 0;
    padding: 0;
}

.c40b ul li {
    position: relative;
    padding-left: 1em;
}

.c40b ul li::before {
    content: ">";
    position: absolute;
    left: 0;
}

/*end list*/

.c40b article {
    margin-bottom: 2em;
}

.c40b .card {
    margin-bottom: 2em;
    padding-bottom: 2em;
}

.c40b .icon {
    height: 100px;
    width: auto;
}

.c40b .link {
    display: block;
    width: 250px;
    margin-bottom: 20px;
    padding: 10px 5px;
    margin-top: 20px;
    color: white;
}

.c40b .darkBlue {
    background-color: var(--darkBlue);
}

.c40b .purple {
    background-color: var(--purple);
}

.c40b .green {
    background-color: var(--green);
}

.c40b .brightBlue {
    background-color: var(--middleBlue);
}

.c40b .link a {
    text-transform: uppercase;
    color: white;
}

.c40b .link a:hover {
    font-weight: 500;
}

.c40b .container {
    display: flex;
    flex-wrap: wrap;
    justify-content: center;
    gap: 20px;
    align-items: stretch;
    /* makes all cards same height */
}

/* normal grid of cards */
.c40b .card {
    flex-grow: 0;
    flex-shrink: 0;
    flex-basis: calc(100% - 20px);
    display: flex;
    flex-direction: column;
    padding: 20px;
}

.c40b .card-footer {
    margin-top: auto;
    /* THIS is the magic */
    align-self: center;
    /* centers it horizontally */
    padding-bottom: 20px;
    /* your required spacing */
}





/*======= 576 ========= MEDIA QUERIES ======= border 15 = 546 ===*/

@media only screen and (min-width: 576px) {}


/*======= 768 ========= MEDIA QUERIES ======= border 15 = 738 ===*/

@media only screen and (min-width: 768px) {
    .c40b .card {
        flex-basis: calc(25% - 20px);
    }

    .c40b .top-article h2 {
        font-size: 3em;
    }

    .c40b .top-article {
        margin-bottom: 4em;
    }
}


/*======= 990 ======== MEDIA QUERIES ======== border 15 = 960 ===*/

@media only screen and (min-width: 990px) {


.c40b .top-article {
    text-align: left;
    display: block;
    width: 70%;
    padding-left: 4%;
}


    .c40b .card {
        flex-basis: calc(15% - 20px);
    }
}

/*======= 1398 ======= MEDIA QUERIES ======== border 30 = 1338 ==*/

@media only screen and (min-width: 1398px) {}

/*======= 2512 ======= MEDIA QUERIES ==== border 151-45 = 2396 ==*/

@media only screen and (min-width: 2512px) {}

/*END.c40b*/