body {
    background-attachment: fixed;
    background-position: 50% 50%;
    background-repeat: no-repeat;
    background-size: cover;
    height: 100%;
}

nav {
    border-bottom: 1px solid black;
}

.tab {
    display: flex;
    /* 1 */
    flex-wrap: wrap;
    /* 2 */
    margin-left: -20px;
    /* 3 */
    padding: 0;
    list-style: none;
    position: relative;
}
.tab::before {
    content: "";
    position: absolute;
    bottom: 0;
    left: 20px;
    right: 0;
    border-bottom: 1px solid #e5e5e5;
}
/*
 * 1. Space is allocated solely based on content dimensions: 0 0 auto
 * 2. Gutter
 * 3. Create position context for dropdowns
 */
.tab > * {
    /* 1 */
    flex: none;
    /* 2 */
    padding-left: 20px;
    /* 3 */
    position: relative;
}

.tab > * > span {
    display: block;
    text-align: center;
    padding: 5px 10px;
    color: #999;
    border-bottom: 1px solid transparent;
    font-size: 0.875rem;
    text-transform: uppercase;
    cursor: default;
}

.tab > .active > span {
    color: #333;
    border-color: #1e87f0;
}