header {
    background-color: #2980b9;
    padding: 30px 0;
    margin-bottom: 52px;
}
header h1 {
    color: white;
    font-weight: bold;
    font-size: 32px;
    line-height: 36px;
    margin: 0;
}
@media (max-width: 600px) {
    header h1 {
        font-size: 27px;
        line-height: 30px;
    }
}
.card {
    border-radius: 12px;
    border: 1px solid #d0d0d0;
    width: 100%;
    margin-bottom: 12px;
    max-width: 634px;
}
.card .card-body {
    padding: 0 30px 25px 30px;
}
@media (max-width: 450px) {
    .card .card-body {
        padding: 0 20px 25px 20px;
    }
}
.card .card-body h2 {
    font-weight: bold;
    font-size: 25px;
    background-color: white;
    padding: 0 12px;
    transform: translateY(-50%);
    display: inline-block;
}
.card .card-body p {
    font-size: 19px;
}
.grid-wrapper {
    display: grid;
    grid-template-columns: 1fr 1fr;
    grid-gap: 24px;
}
@media (max-width: 800px) {
    .grid-wrapper {
        grid-template-columns: 1fr;
    }
}
@media (max-width: 450px) and (max-width: 800px) {
    .grid-wrapper {
        padding: 0 15px;
    }
}
.btn-primary {
    background-color: #2980b9;
    color: white;
    border: none;
    border-radius: 50px;
    font-weight: bold;
    padding: 8px 16px;
    margin-bottom: 8px;
}
.btn-primary:hover {
    background-color: #2980b9;
    color: white;
    opacity: 0.85;
}
hr {
    background-color: #adadad;
}

.grid-element.centered {
    margin-top: 30px;
}

@media (min-width: 800px) {
    .grid-element.centered {
        grid-column: span 2;
        justify-content: center;
        display: flex;
    }
}