    @mixin sencha-layout {
        html, body {
            width: 100%;
            height: 100%;
        }

        .x-translatable {
            position: absolute;
            top: 100%;
            left: 100%;
            z-index: 1;
        }

        .x-translatable-container {
            position: relative;
        }

        .x-translatable-wrapper {
            width: 100%;
            height: 100%;
            position: absolute;
            overflow: hidden;
        }

        .x-translatable-stretcher {
            width: 300%;
            height: 300%;
            position: absolute;
            visibility: hidden;
            z-index: -1;
        }

        .x-layout-fit,
        .x-layout-card {
            position: relative;
            overflow: hidden;
        }

        .x-layout-fit-item, .x-layout-card-item {
            position: absolute !important;
            width: 100%;
            height: 100%;
        }

        .x-layout-hbox, .x-layout-vbox {
            display: -webkit-box;
            > * {
                -webkit-box-flex: 0;
            }
        }

        .x-layout-hbox {
            -webkit-box-orient: horizontal;
        }

        .x-layout-vbox {
            -webkit-box-orient: vertical;
        }

        .x-layout-hbox > .x-layout-box-item {
            width: 0 !important;
        }

        .x-layout-vbox > .x-layout-box-item {
            height: 0 !important;
        }

        .x-table-inner {
            display: table !important;
            width: 100%;
            height: 100%;
        }

        .x-table-inner.x-table-fixed {
            table-layout: fixed !important;
        }

        .x-table-row {
            display: table-row !important;
        }

        .x-table-row > * {
            display: table-cell !important;
            vertical-align: middle;
        }

        .x-container, .x-body {
            display: -webkit-box;
        }

        .x-body {
            overflow: hidden;
            -webkit-box-flex: 1;
            min-width: 100%;
            min-height: 100%;
        }

        .x-body > .x-inner, .x-container > .x-inner {
            -webkit-box-flex: 1;
            min-width: 100%;
            min-height: 100%;
            position: relative;
        }

        .x-docking-horizontal {
            display: -webkit-box;
            -webkit-box-flex: 1;
            -webkit-box-orient: horizontal;
            min-width: 100%;
            min-height: 100%;
        }

        .x-docking-vertical {
            display: -webkit-box;
            -webkit-box-flex: 1;
            -webkit-box-orient: vertical;
            min-width: 100%;
            min-height: 100%;
        }

        .x-centered {
            position: absolute !important;
            width: 100%;
            height: 100%;
            display: -webkit-box;
            -webkit-box-align: center;
            -webkit-box-pack: center;
        }

        .x-floating {
            position: absolute !important;
        }

        .x-centered > * {
            position: relative !important;
            -webkit-box-flex: 0 !important;
        }

        .x-size-change-detector {
            visibility: hidden;
            position: absolute;
            left: 0;
            top: 0;
            z-index: -1;
            width: 100%;
            height: 100%;
            overflow: hidden;
        }

        .x-size-change-detector > * {
            visibility: hidden;
        }

        .x-size-change-detector-shrink > * {
            width: 200%;
            height: 200%;
        }

        .x-size-change-detector-expand > * {
            width: 100000px;
            height: 100000px;
        }

        .x-scroll-view {
            position: relative;
            display: block;
        }

        .x-scroll-container {
            position: absolute;
            overflow: hidden;
            width: 100%;
            height: 100%;
        }

        .x-scroll-scroller {
            position: absolute;
            min-width: 100%;
            min-height: 100%;
        }

        .x-ios .x-scroll-scroller, .x-android-4 .x-scroll-scroller {
            -webkit-transform: translate3d(0, 0, 0);
        }

        .x-scroll-stretcher {
            position: absolute;
            visibility: hidden;
        }

        .x-scroll-bar-grid-wrapper {
            position: absolute;
            width: 100%;
            height: 100%;
        }

        .x-scroll-bar-grid {
            display: table;
            width: 100%;
            height: 100%;

            > * {
                display: table-row;
            }

            > * > * {
                display: table-cell;
            }

            > :first-child > :first-child {
                width: 100%;
                height: 100%;
            }

            > :first-child > :nth-child(2) {
                padding: 3px 3px 0 0;
            }

            > :nth-child(2) > :first-child {
                padding: 0 0 3px 3px;
            }
        }

        .x-scroll-bar {
            position: relative;
            overflow: hidden;
        }

        .x-scroll-bar-stretcher {
            position: absolute;
            visibility: hidden;
            width: 100%;
            height: 100%;
        }

        .x-scroll-bar-x {
            height: 6px;
            width: 100%;

            > .x-scroll-bar-stretcher {
                width: 300%;
            }
        }

        .x-scroll-bar-y {
            width: 6px;
            height: 100%;

            > .x-scroll-bar-stretcher {
                height: 300%;
            }
        }

        .x-scroll-indicator {
            background: #333;
            position: absolute;
            z-index: 1;
            opacity: 0.5;
        }

        .x-list-light,
        .x-dataview-light {
            .x-scroll-indicator {
                background: #fff;
                opacity: 1;
            }
        }

        .x-scroll-indicator-x {
            height: 100%;
        }

        .x-scroll-indicator-y {
            width: 100%;
        }

        .x-scroll-indicator.csstransform {
            background: none;
            -webkit-transition: opacity 0.2s ease-out;

            > * {
                position: absolute;
                background-color: #333;
            }

            > :nth-child(2) {
                -webkit-transform-origin: 0% 0%;
                background: none;
                content: url(data:image/bmp;base64,Qk08AAAAAAAAADYAAAAoAAAAAQAAAAEAAAABABAAAAAAAAYAAAASCwAAEgsAAAAAAAAAAAAAxhgAAAAA);
            }

            &.x-scroll-indicator-light {
                > * {
                    background-color: #eee;
                }

                > :nth-child(2) {
                    content: url(data:image/bmp;base64,Qk08AAAAAAAAADYAAAAoAAAAAQAAAAEAAAABABAAAAAAAAYAAAASCwAAEgsAAAAAAAAAAAAAvXcAAAAA);
                }
            }

            &.x-scroll-indicator-y {
                > * {
                    width: 100%;
                }

                > :first-child {
                    height: 3px;
                    @include border-top-radius(3px);
                }

                > :nth-child(2) {
                    height: 1px;
                }

                > :last-child {
                    height: 3px;
                    @include border-bottom-radius(3px);
                }
            }

            &.x-scroll-indicator-x {
                > * {
                    height: 100%;
                }

                > :first-child {
                    width: 3px;
                    @include border-left-radius(3px);
                }

                > :nth-child(2) {
                    width: 1px;
                }
                > :last-child {
                    width: 3px;
                    @include border-right-radius(3px);
                }
            }
        }
    }