body {
    background: #fcfcfc;
}

.container-narrow {
    width: 100%;
    padding-right: 15px;
    padding-left: 15px;
    margin-right: auto;
    margin-left: auto;
}

@media (min-width: 576px) {
    .container-narrow {
        max-width: 540px;
    }
}

.attractor {
    margin-top: 5rem;
    margin-bottom: 2rem;
}

.footer {
    margin-top: 1rem;
    text-align: center;
    font-size: 0.8em;
    color: #6c757d;
}

.btn-toolbar {
    display: flex;
    flex-direction: row;
}

.btn-toolbar.btn-toolbar-reverse {
    justify-content: end;
    flex-direction: row-reverse;
}

.btn-toolbar .btn + .btn,
.btn-toolbar .btn-group + .btn-group,
.btn-toolbar .btn + .btn-group,
.btn-toolbar .btn-group + .btn {
    margin-left: 0.5rem;
}

.btn-toolbar.btn-toolbar-reverse .btn + .btn,
.btn-toolbar.btn-toolbar-reverse .btn-group + .btn-group,
.btn-toolbar.btn-toolbar-reverse .btn + .btn-group,
.btn-toolbar.btn-toolbar-reverse .btn-group + .btn {
    margin-left: 0;
    margin-right: 0.5rem;
}

.card {
    border: none;
    box-shadow: 0 2px 5px 0 rgba(0, 0, 0, .2);
}

.card-footer {
    border-top: none;
}

.card.infobox ~ .card.infobox {
    margin-top: 1rem;
}

.card.infobox .card-title {
    text-align: right;
    text-transform: lowercase;
}

.card.infobox .card-body {
    padding-bottom: 2rem;
}

.card.infobox .infobox-icon {
    display: flex;
    align-items: center;
    justify-content: center;

    font-size: 3em;
}

@media (min-width: 768px) {
    .card.infobox .infobox-icon {
        font-size: 4em;
    }
}

@media (min-width: 1200px) {
    .card.infobox .infobox-icon {
        font-size: 5em;
    }
}
