.controls_default {
    $item-height = 42px;
    $margin = 15px;
    $arrowWidth = 70px;
    $arrowImageWidth = 13px;
    $arrowImageHeight = 24px;

    item() {
        position: relative;

        width: 42px;
        height: $item-height;

        cursor: pointer;
        background-repeat: no-repeat;
        background-position: center, 50% 100%;

        &._disabled {
            cursor: default;
        }
    }

    &._hidden &__menu {
        /*
        Добавляем стартовое положение для анимации появления элемента menu.
        131px - длина окружности кнопки "menu",
        что бы выкатывание(появление) кнопки было реалистичней
        */
        transform: translateX(-131px) rotate(-360deg);
    }

    &__menu {
        width: 42px;
        margin-left: $margin;

        user-select: none;
        transition-timing-function: cubic-bezier(.75, 0, .25, 1);
        transition-duration: .25s, .25s, .25s, .5s;
        transition-property: background-color, box-shadow, opacity, transform;
        transform: translateX(0) rotate(0);

        border-radius: 21px;
    }

    &__trigger {
        item();

        &::before {
            position: absolute;
            top: 50%;
            left: 50%;

            content: '';

            width: 6px;
            height: 28px;
            margin: -14px 0 0 -3px;

            background: #fff;
            border-radius: 5px;
            box-shadow: 0 0 2px #999;

            transition-timing-function: inherit;
            transition-duration: .25s;
            transition-property: width, height, margin, background-color;
            transition:
                .15s width cubic-bezier(.75, 0, .25, 1),
                .15s height cubic-bezier(.75, 0, .25, 1),
                .15s margin cubic-bezier(.75, 0, .25, 1),
                .05s background-color linear;
        }
    }

    &__plus,
    &__minus {
        item();

        &::before {
            position: absolute;
            top: 50%;
            left: 50%;

            content: '';

            height: 2px;
            width: 18px;

            margin: -1px 0 0 -9px;

            background: #000;
        }
        &:hover::before,
        &:hover::after {
            background: #ffce00;
        }

        &._disabled::before,
        &._disabled::after {
            background: #ccc !important;
        }
    }

    &__plus {
        &::after {
            position: absolute;
            top: 50%;
            left: 50%;

            content: '';

            width: 2px;
            height: 18px;

            margin: -9px 0 0 -1px;

            background: #000;
        }
    }

    &__footnotes {
        item();

        line-height: ($item-height - 2);
        text-align: center;

        &._mode_appendix &-footnote {
            vertical-align: super;
            font-size: 13px;
        }
    }

    &__pages {
        item();

        text-align: center;
        line-height: $item-height;

        &::before {
            position: absolute;
            z-index: 1;
            top: 0;
            left: 0;

            content: 'auto';

            width: 100%;
            height: 100%;

            /* Выравнивает текст по центру */
            line-height: ($item-height - 8);
        }

        &-one {
            width: 8px;
            height: 14px;

            display: inline-block;

            border: 2px solid #eee;
        }

        &-two {
            position: relative;

            width: 12px;
            height: 14px;

            margin-left: 3px;

            display: inline-block;

            border: 2px solid #eee;

            &::before {
                position: absolute;
                left: 50%;

                content: '';
                margin-left: -1px;
                width: 2px;
                height: 100%;

                background: #eee;
            }
        }

        &._mode_one::before,
        &._mode_two::before {
            display: none;
        }

        &._mode_one &-one,
        &._mode_two &-two {
            border-color: #000;
            margin-left: 0;
        }
        &._mode_two &-two::before {
            background: #000;
        }

        &._mode_one &-two {
            display: none;
        }
        &._mode_two &-one {
            display: none;
        }
    }

    &__menu._state_closed {
        background-color: rgba(127, 127, 127, .5);
    }

    &__menu._state_closed &__buttons {
        height: 0 !important;
    }

    &__buttons {
        overflow: hidden;

        transition-timing-function: cubic-bezier(.75, 0, .25, 1);
        transition-duration: .25s;
        transition-property: height opacity;
        transform: translateZ(0);
    }

    &__menu._state_opened {
        background-color: #fff;
        box-shadow: rgba(0, 0, 0, .3) 0 1px 4px 0;
    }

    &__menu._state_opened &__trigger::before {
        height: 10px;
        width: 10px;
        margin: -5px 0 0 -5px;
        box-shadow: none;
        background: #000;

        transition:
            .15s width cubic-bezier(.75, 0, .25, 1),
            .15s height cubic-bezier(.75, 0, .25, 1),
            .15s margin cubic-bezier(.75, 0, .25, 1);
    }

    &__menu._state_opened &__trigger:hover::before {
        background: #ffce00;
    }

    &._hidden &__arrow-right {
        opacity: 0;
    }

    &__arrow {

        &-left,
        &-right {
            position: absolute;
            top: 90px;
            bottom: 4px;

            width: $arrowWidth;

            cursor: pointer;

            user-select: none;

            transition: transform .5s ease;
        }

        &-left:hover &-inner,
        &-right:hover &-inner {
            opacity: 1;
        }

        &-left &-inner,
        &-right &-inner {
            position: absolute;
            top: 50%;
            left: 50%;

            width: $arrowImageWidth;
            height: $arrowImageHeight;
            margin-top: -($arrowImageHeight / 2);
            margin-left: -($arrowImageWidth / 2);

            opacity: .3;
            background: url("data:image/svg+xml;base64,PHN2ZyB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHhtbG5zOnhsaW5rPSJodHRwOi8vd3d3LnczLm9yZy8xOTk5L3hsaW5rIiB3aWR0aD0iMTMiIGhlaWdodD0iNDgiIHZpZXdCb3g9IjAgMCAxMyA0OCI+PHN2ZyB3aWR0aD0iMTMiIGhlaWdodD0iMjQiIGlkPSJhcnJvd19sZWZ0IiB5PSIwIj48cGF0aCBkPSJNMTMgLjY2N0wxMi4zMTYgMCAwIDEyLjAxbC42ODQuNjY3TDEzIC42NjdtMCAyMi42NjZsLS42ODQuNjY3TDAgMTEuOTlsLjY4NC0uNjY3TDEzIDIzLjMzMyIgb3BhY2l0eT0iMSIgZmlsbD0iIzAwMCIvPjwvc3ZnPjxzdmcgd2lkdGg9IjEzIiBoZWlnaHQ9IjI0IiBpZD0iYXJyb3dfcmlnaHQiIHk9IjI0Ij48cGF0aCBkPSJNMCAuNjY3TC42ODQgMCAxMyAxMi4wMWwtLjY4NC42NjdMMCAuNjY3bTAgMjIuNjY2TC42ODQgMjQgMTMgMTEuOTlsLS42ODQtLjY2N0wwIDIzLjMzMyIgb3BhY2l0eT0iMSIgZmlsbD0iIzAwMCIvPjwvc3ZnPjwvc3ZnPgo="); no-repeat;

            transition: opacity .3s ease;

            /*.y-ua_svg_no &  {*/
                /*background-image: url(images/arrows.png);*/
            /*}*/
        }

        &-left._disabled {
            transform: translateX(-100%);
        }

        &-left {
          left: 0;
        }

        &-right &-inner {
          background-position: 0 -24px;
        }


        &-right._disabled {
            transform: translateX(100%);
        }

        &-right {
          opacity: 1;
          right: 0;
        }


    }
}
