@mixin adf-viewer-theme($theme) {
    $background: map-get($theme, background);
    $foreground: map-get($theme, foreground);
    $adf-viewer-background-color: mat-color($background, card);

    .full-screen {
        width: 100%;
        height: 100%;
        background-color: $adf-viewer-background-color;
    }

    .adf-viewer {

        .mat-toolbar {
            color: mat-color($foreground, text, 0.54);
        }

        &-main {
            width: 0;
        }

        &__mimeicon {
            vertical-align: middle;
            height: 18px;
            width: 18px;
        }

        &-toolbar {
            .mat-toolbar {
                background-color: mat-color($background, card, 0.87);
            }
        }

        &__file-title {
            text-align: center;
        }

        &__display-name {
            font-size: 16px;
            opacity: 0.87;
            line-height: 1.5;
            letter-spacing: -0.4px;
            font-weight: normal;
            font-style: normal;
            font-stretch: normal;

            max-width: 400px;
            text-overflow: ellipsis;
            overflow: hidden;
            display: inline-block;
            vertical-align: middle;
            color: mat-color($foreground, text);
        }

        &-container {
            .adf-viewer-layout-content {
                @extend .full-screen;
                position: relative;
                overflow-y: hidden;
                overflow-x: hidden;
                z-index: 1;
                background-color: mat-color($background, background);

                display: flex;
                flex-direction: row;
                flex-wrap: wrap;
                flex: 1;

                & > div {
                    display: flex;
                    flex-flow: row wrap;
                    margin: 0 auto;
                    align-items: stretch;
                }
            }

            .adf-viewer-layout {
                @extend .full-screen;

                display: flex;
                flex-direction: row;
                overflow-y: auto;
                overflow-x: hidden;
                position: relative;
            }

            .adf-viewer-content {
                @extend .full-screen;
                flex: 1;

                & > div {
                    height: 0; // Firefox
                }
            }
        }

        &-overlay-container {
            .adf-viewer-content {
                position: fixed;
                top: 0px;
                left: 0px;
                z-index: 1000;
            }
        }

        &-inline-container {
            @extend .full-screen;
        }

        &-content-container {
            display: flex;
            justify-content: center;
        }

        &-custom-content {
            width: 100vw;
        }

        &-unknown-content {
            align-items: center;
            display: flex;
        }

        &__loading-screen {
            display: flex;
            align-items: center;
            justify-content: center;
            flex-direction: column;
            height: 85vh;

            .mat-spinner {
                margin: 0 auto;
            }
        }

        &__sidebar {
            width: 350px;
            display: block;
            padding: 0;
            background-color: mat-color($background, background);
            box-shadow: 0 2px 4px 0 mat-color($foreground, text, 0.27);
            overflow: auto;

            &__right {
                border-left: 1px solid mat-color($foreground, text, 0.07);
            }

            &__left {
                border-right: 1px solid mat-color($foreground, text, 0.07);
            }
        }

        &__thumbnails {
            width: 180px;
            display: flex;
            flex-direction: column;
            padding: 0;
            background: #e6e6e6;

            .adf-info-drawer-layout {
                display: flex;
                flex-direction: column;
                flex: 1;
                background: #e6e6e6;
            }

            .adf-info-drawer-layout-header {
                margin-bottom: 0;
            }

            .adf-info-drawer-layout-content {
                padding: 0;
                height: 100%;
                overflow: hidden;
            }

            .info-drawer-content {
                height: 100%;
            }

            .adf-info-drawer-layout-content > *:last-child {
                height: 100%;
                overflow: hidden;
            }
        }

        &__toolbar {
            &-page-scale {
                cursor: default;
                width: 79px;
                height: 24px;
                font-size: 14px;
                border: 1px solid mat-color($foreground, text, 0.07);
                text-align: center;
                line-height: 24px;
                margin-left: 4px;
                margin-right: 4px;
            }
        }
    }
}