@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-translatable-nested-stretcher {
        width: 100%;
        height: 100%;
        left: 100%;
        top: 100%;
        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 {
        -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 {
        width: 100%;

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

        &.active {
            height: 6px;
        }
    }

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

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

        &.active {
            width: 6px;
        }
    }

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

    .x-scroll-indicator.default {
        @include border-top-radius(3px);
        @include border-bottom-radius(3px);
    }

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