@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 {

        &__mimeicon {
            vertical-align: middle;
        }

        &-container {
            .adf-viewer-layout-content {
                @extend .full-screen;
                position: relative;
                overflow-y: auto;
                overflow-x: hidden;
                z-index: 1;

                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;
            }
        }

        &-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: #fafafa;
            box-shadow: 0 2px 4px 0 mat-color($foreground, text, 0.27);
            border-left: 1px solid mat-color($foreground, text, 0.07);
            overflow: auto;
        }
    }
}
