body {
    display: flex;
    min-height: 100vh;
    flex-direction: column;
}

.site-content {
    flex: 1;
}

footer {
    max-height: 20vh;

}

.navbar-item img {
    border-radius: 5px;
    max-height: 2.5rem;
}

.navbar-dropdown .navbar-item {
    font-size: 1rem;
}

.dashboard-message {
    vertical-align: middle
}

.modal-button-group {
    margin-left: auto;
    margin-right: auto;
}

.calendar {
    min-width: 20rem;
}

.app-title {
    font-family: concourse t6;
    padding: 0 1rem;
}

h1.title.landing-title {
    font-weight: normal;
    margin-bottom: 2rem;
    font-size: 3.5rem;
}

img.landing-image {
    border: 3px solid rgba(157,157,157,.2);
    border-radius: 4px;
}

.section {
    font-size: 1.2rem
}

.calendar .calendar-nav {
    font-size: 1.5rem
}

button.date-item {
    font-size: 0.85rem

}

.breadcrumb {
    margin-top: -2rem
}

article.message {
    margin-bottom: 1rem

}

.steps.is-small .step-item .step-content .step-title {
    font-size: 1rem
}

.optional {
    font-size: 1rem;
    font-weight: normal;
    color: #4a4a4a
}

@media (max-width: 400px) {
    .step-title {
        font-size: 0.6rem!important;
    }
}

.channel-card {
    margin-bottom: 1rem;

}

.channel-card .card-content {
    padding: 1rem;
}

.channel-card .card-header-title,
.channel-card .card-header-icon {
    padding: 0.5rem .75rem
}

.card-header-subtitle {
    padding-left: .5rem;
    color: #4a4a4a;
    font-weight: normal;
    font-size: 1rem
}

.channel-card .card-header {
    background-color: hsl(0, 0%, 96%);
    box-shadow: none
}

.channel-card .card-content p:last-of-type {
    padding-top: .5rem;
}
