.FileBrowser {

}
.FileBrowser-content {
    display: flex;
    border: 1px solid #ddd;
    position: relative;
    z-index: 1;
    background: #f7f7f7;
    padding: 10px;
    .Code {
        border: 0;
    }
}
.FileBrowser-contentItem {
    display: none;
    position: relative;
    &.is-current {
        background: #fff;
        display: flex;
        width: 100%;
        padding-top: 5px;
        padding-bottom: 5px;
    }
    .Code {
        max-height: 500px;
        display: flex;
        width: 100%;
        pre {
            width: 100%;
            display: block;
            padding-top: 5px;
            padding-bottom: 5px;
        }
    }
}
.FileBrowser-contentItemContent {
    background: #fff;
    width: 100%;
    display: flex;
}
.FileBrowser-contentItemFooter {
    margin-bottom: 6px;
}
.FileBrowser-contentItemFooterLinks {
    position: absolute;
    right: 0;
    top: 0;
    display: none;
    font-size: 0;
    text-align: right;
    margin-right: 5px;
    li {
        font-size: 13px;
        display: inline-block;
    }
    li + li {
        margin-left: 10px;
        &:before {
            display: inline-block;
            content: "|";
            font-size: 14px;
            font-weight: normal;
            color: #aaa;
            margin-right: 10px;
            position: relative;
            top: -1px;
        }
    }
    a {
        color: #999;
        text-decoration: none;
        &:hover {
            text-decoration: underline;
        }
    }
}
@media all and (max-width: 999px) {
    .FileBrowser {

    }
    .FileBrowser-fileList {
        position: relative;
        display: flex;
        &.is-open {
            .FileBrowser-fileListItem {
                display: block;
            }
            .FileBrowser-fileListItem + .FileBrowser-fileListItem {
                border-top: 1px solid #ddd;
            }
        }
    }
    .FileBrowser-toggle {
        width: 44px;
        border: 1px solid #ddd;
        border-bottom: 0;
        border-left: 0;
        position: relative;
        &:active,
        &:focus {
            outline: none;
        }
        span {
            line-height: 0;
            position: absolute;
            top: 13px;
            left: 50%;
            transform: translateX(-50%);
        }
        .ToggleButton-active {
            top: 14px;
        }
    }
    .FileBrowser-files {
        border: 1px solid #ddd;
        border-bottom: 0;
        width: 100%;
    }
    .FileBrowser-fileListItem {
        display: none;
        padding-left: 10px;
        &.is-current {
            display: block;
        }
    }
    .FileBrowser-fileListLink {
        text-decoration: none;
        font-size: 14px;
        padding: 10px 10px 10px 26px;
        position: relative;
        text-overflow: ellipsis;
        width: 100%;
        white-space: nowrap;
        overflow: hidden;
        display: inline-block;
        &:link,
        &:visited,
        &:active {
            color: #666;
        }
        &:hover {
            color: #222;
        }
        .FileBrowser-fileListItem.is-current & {
            color: #222;
            font-weight: bold;
            &:link,
            &:hover,
            &:visited,
            &:active {
                color: #222;
                .FileBrowser-icon svg {
                    fill: #666;
                }
            }
        }
        .FileBrowser-icon {
            position: absolute;
            top: 12px;
            left: -2px;
            margin-right: 5px;
        }
    }
}
@media all and (min-width: 1000px) {
    .FileBrowser {
        display: flex;
    }
    .FileBrowser-content {
        flex: 4 0 0;
    }
    .FileBrowser-toggle {
        display: none;
    }
    .FileBrowser-fileList {
        flex: 1 0 0;
        border-top: 1px solid #ddd;
        position: relative;
        z-index: 2;
        padding-bottom: 10px;
        min-width: 110px;
        @media all and (min-width: $breakpoint-wide) {
            min-width: 160px;
        }
    }
    .FileBrowser-fileListItem {
        border: 1px solid #ddd;
        border-top: 0;
        margin-right: -1px;
        padding-left: 10px;
        &.is-current {
            background: #f7f7f7;
            border-right: 1px solid #f7f7f7;
        }
    }
    .FileBrowser-fileListLink {
        padding: 10px 10px 10px 0;
        display: block;
        text-decoration: none;
        font-size: 14px;
        position: relative;
        text-overflow: ellipsis;
        width: 100%;
        white-space: nowrap;
        overflow: hidden;
        @media all and (min-width: $breakpoint-wide) {
            padding-left: 26px;
        }
        &:link,
        &:visited,
        &:active {
            color: #666;
        }
        &:hover {
            color: #222;
        }
        .FileBrowser-fileListItem.is-current & {
            color: #222;
            font-weight: bold;
            &:link,
            &:hover,
            &:visited,
            &:active {
                color: #222;
                .FileBrowser-icon svg {
                    fill: #666;
                }
            }
        }
    }
    .FileBrowser-icon {
        position: absolute;
        top: 12px;
        left: -2px;
        display: none;
        margin-right: 5px;
        @media all and (min-width: $breakpoint-wide) {
            display: inline-block;
        }
    }
}
