.tabbable {
    position: relative;
}
.filterable {
    position: relative;
    padding-top: 3em;
}
.filter-table {
    position: absolute;
    top: 0;
    right: 0;
}

/* copy of col-sm-4, without float:left */
#nav-search {
    width: 33%;
    position: relative;
    min-height: 1px;
    padding-right: 15px;
    padding-left: 15px;
}

footer {
    border-top: 1px solid #e5e5e5;
    background-color: #f5f5f5;
    padding-top: .75em;
    height: 3em;
    text-align: center;
}

/* based on http://stackoverflow.com/a/9530687/16390 */
footer:after { 
    background-color: #f5f5f5;
    content: "";
    padding-top: 0;
    /* margin-top: .75em; /* to offset for footer's padding and avoid overlap */
    width: 100%;
    height: 100%;
    position: fixed;
    display: block;
}

footer a {
    color: #33a0d6;
}

footer a:hover {
    color: #337799;
}

.tabbable {
    position: relative;
}
.filterable {
    position: relative;
    padding-top: 3em;
}
.filter-table {
    position: absolute;
    top: 0;
    right: 0;
}

/* copy of col-sm-4, without float:left */
#nav-search {
    position: relative;
    min-height: 1px;
    padding-right: 15px;
    padding-left: 15px;
}

@media (min-width: 768px) {
    #nav-search {
        width: 33.33333333333333%;
    }
}

footer {
    border-top: 1px solid #e5e5e5;
    background-color: #f5f5f5;
    padding-top: .75em;
    height: 3em;
    text-align: center;
}

/* based on http://stackoverflow.com/a/9530687/16390 */
footer:after { 
    background-color: #f5f5f5;
    content: "";
    padding-top: 0;
    /* margin-top: .75em; /* to offset for footer's padding and avoid overlap */
    width: 100%;
    height: 100%;
    position: fixed;
    display: block;
}

footer a {
    color: #33a0d6;
}

footer a:hover {
    color: #337799;
}

Fix nav-search on narrow screen
Fix nav-search on narrow screen
