#{$mediaUpload} {
    position: relative;
    display: block;
    width: 100%;
    height: 100%;
    border: 5px dashed transparent;
    @include transition(border-color);

    &.hover {
        border-color: $color-light-blue;
    }

    &.prefix-mediaUpload_state_uploading {
        #{$mediaUpload} {
            &__title {
                display: none;
            }

            &__button {
                display: none;
            }

            &__progress {
                display: inline-block;
            }
        }
    }

    &.prefix-mediaUpload_state_uploaded {
        #{$mediaUpload} {
            &__title {
                display: none;
            }

            &__result {
                display: block;
            }
        }
    }

    &__wrapper {
        position: relative;
        display: block;
        width: 100%;
        top: 50%;
        transform: translateY(-50%);
        text-align: center;
    }

    &__filter {
        position: relative;
        display: none;
        max-width: 260px;
        margin: 0 auto 30px;
    }

    &__title {
        position: relative;
        display: block;
        margin-bottom: 15px;
        font-size: $font-size-prelarge;
        line-height: $line-height-little;
        color: $color-black;

        span {
            font-size: $font-size-premedium;
        }
    }

    &__result {
        position: relative;
        display: none;
        margin-bottom: 15px;
        font-size: $font-size-prelarge;
        line-height: $line-height-little;
        color: $color-black;

        span {
            font-size: $font-size-premedium;
        }
    }

    &__button {
        position: relative;
        display: inline-block;
        vertical-align: top;
        width: 190px;
        height: 46px;
        margin-bottom: 15px;
        font-size: $font-size-default;
        line-height: 46px;
        color: $color-black;
        border: 1px solid $color-silver;
        border-radius: 3px;
        background-color: darken($color-alabaster, 3%);
        box-shadow: 0 1px 0 $color-silver;
        overflow: hidden;
        @include transition(border-color, background-color);

        &:hover {
            background-color: $color-alabaster;
            border-color: darken($color-silver, 20%);
        }

        &:active {
            background-color: $color-gallery;
            border-color: darken($color-silver, 20%);
            box-shadow: inset 0 2px 5px -3px rgba($color-black,.5);
            transform: translateY(1px);
        }

        input {
            position: absolute;
            top: 0;
            right: 0;
            margin: 0;
            opacity: 0;
            -ms-filter: 'alpha(opacity=0)';
            font-size: 200px !important;
            direction: ltr;
            cursor: pointer;
            z-index: 2;
        }
    }

    &__progress {
        position: relative;
        display: none;
        vertical-align: top;
        width: 300px;
        height: 46px;
        margin-bottom: 15px;
        background-color: $color-concrete;
        border-radius: 3px;
        box-shadow: inset 0 1px 2px rgba($color-black, .1);
        overflow: hidden;
    }

    &__progress__bar {
        position: relative;
        display: block;
        width: 30%;
        height: 100%;
        background-color: lighten($color-green, 5%);
        @include transition(width .6s ease);
    }

    &__progress__count {
        position: absolute;
        display: block;
        height: 46px;
        top: 0;
        right: 10px;
        font-size: $font-size-medium;
        line-height: 46px;
        color: $color-black;
    }

    &__progress__label {
        position: absolute;
        display: block;
        height: 46px;
        top: 0;
        left: 10px;
        font-size: $font-size-medium;
        line-height: 46px;
        color: $color-black;
    }

    &__info {
        position: relative;
        display: block;
        font-size: $font-size-premedium;
        line-height: $line-height-little;
        color: $color-black;
    }
}
