.fr-wrapper {
    display: flex;
    flex-wrap: wrap;
    min-height: 100vh;
    vertical-align: top;
    flex-direction: column;
    max-width: 100vw;
    overflow: hidden;
}
.fr-header {
    width: 100%;
    background-color: #444;
}
.fr-header-inner {
    padding: 0;
    display: flex;
    background-color: $color-accent;
    @media all and (min-width: 40em) {
        max-width: $frame-max-width;
    }
}
.fr-header-unit {
    vertical-align: middle;
    display: flex;
    align-items: center;
    & + & {
        border-left: 1px solid rgba(255,255,255,0.3);
    }
}
.fr-header-navButton {
    display: none;
    padding: 10px 15px;
    outline: none;
    &.is-active {
        padding: 12px 17px;
    }
    &:hover {
        background-color: darken($color-accent, 4%);
        transition: background-color 0.3s ease-in-out;
    }
    &:focus {
        outline:0;
    }
    @media all and (max-width: $breakpoint-showNav) {
        display: flex;
    }
}
.fr-header-title {
    padding: 13px 15px 11px 15px;
    position: relative;
    top: -3px;
    display: inline-block;
    text-decoration: none;
    &:active,
    &:hover,
    &:visited,
    &:link {
        color: #fff;
    }
}

.fr-body {
    display: flex;
    flex-grow: 1;
    margin-right: 0;
    background: #f0f0ec;
    max-width: $frame-max-width;
    @media all and (max-width: $breakpoint-showNav) {
        overflow-x: hidden;
        margin-right: -1 * $sidebar-width;
        transition: .3s ease all;
        transform: translate3d(-1 * $sidebar-width, 0, 0);
        .show-nav & {
            transform: translate3d(0, 0, 0);
        }
    }
}

.fr-sidebar {
    flex-basis: $sidebar-width;
    flex-shrink: 0;
    max-height: 100%;
    overflow: scroll;
    -webkit-overflow-scrolling: touch;
    position: relative;
    background: #f5f5f5;
    border-right: 1px solid #ccc;
    &.is-closed {
        display: none;
    }
    @media all and (min-width: $breakpoint-wide) {
        flex-basis: $sidebar-width-wide;
    }
}

.fr-content {
    flex-grow: 1;
    overflow: scroll;
    position: relative;
    -webkit-overflow-scrolling: touch;
    background: #fff;
}

.fr-content--panelled {
    background-color: #f0f0ec;
}

.fr-content,
.fr-sidebar {
    .fr-inner {
        position: absolute;
        top: 0;
        left: 0;
        right: 0;
        bottom: 0;
        width: 100%;
        -webkit-overflow-scrolling: touch;
    }
}
