/* This Source Code Form is subject to the terms of the Mozilla Public
 * License, v. 2.0. If a copy of the MPL was not distributed with this
 * file, You can obtain one at http://mozilla.org/MPL/2.0/. */

.input {
    display: inline-block;
    font-family: system-ui, -apple-system, "Segoe UI", Roboto, Oxygen, Ubuntu,
        Cantarell, "Open Sans", "Helvetica Neue", "Roboto Rouble", sans-serif;
    font-weight: 400;
}

.input,
    .input *,
    .input *:before,
    .input *:after {
        box-sizing: border-box;
    }

.input__inner {
        display: inline-table;
        position: relative;
        width: 100%;
    }

.input__box {
        display: table-cell;
        position: relative;
        -webkit-user-select: none;
           -moz-user-select: none;
            -ms-user-select: none;
                user-select: none;
        transition-duration: 250ms;
        transition-property: border-bottom-color, box-shadow, width,
            background-color;
        transition-timing-function: cubic-bezier(
            0.23,
            1,
            0.32,
            1
        ); /* TODO @teryaew: add custom easings to styles */
        -webkit-touch-callout: none;
    }

.input__input-wrapper {
        position: relative;
        display: block;
    }

.input__top {
        overflow: hidden;
        position: absolute;
        top: 0;
        right: 0;
        left: 0;
        font-size: 16px;
        text-overflow: ellipsis;
        white-space: nowrap;
        -webkit-transform: scale(1) translateY(0);
                transform: scale(1) translateY(0);
        -webkit-transform-origin: 0 100%;
                transform-origin: 0 100%;
        transition-duration: 200ms;
        transition-property: color, font-size, -webkit-transform;
        transition-property: color, transform, font-size;
        transition-property: color, transform, font-size, -webkit-transform;
        transition-timing-function: cubic-bezier(0.25, 0.1, 0.25, 1);
    }

.input__sub {
        display: table-caption;
        caption-side: bottom;
        padding-top: 5px;
        padding-right: 12px;
        white-space: normal;
    }

.input__control {
        display: inline-block;
        position: relative;
        width: 100%;

        /** Если использовать `height: 100%` поле схлопывается в Safari v10.1.2. **/
        min-height: 100%;
        margin: 0;
        padding: 0;
        outline: none;
        font: inherit;
        font-weight: 400;
        line-height: inherit;
        background: none;
        border: none;
        border-radius: 0;
        -webkit-appearance: none;
        -webkit-tap-highlight-color: rgba(0, 0, 0, 0);
    }

.input__control:invalid {
            box-shadow: none;
        }

.input__control::-webkit-search-decoration {
            -webkit-appearance: none;
        }

.input__control::-webkit-search-cancel-button {
            display: none;
        }

.input__control::-webkit-input-placeholder {
            text-indent: 0;
        }

.input__control::-moz-placeholder {
            opacity: 1;
        }

.input__control::-ms-clear {
            display: none;
        }

.input__control[placeholder],
        .input__control::-webkit-input-placeholder {
            text-overflow: ellipsis;
            transition: opacity 0.2s ease-in-out, color 0.2s ease-in-out;
        }

.input__control[placeholder],
        .input__control::-moz-placeholder {
            text-overflow: ellipsis;
            transition: opacity 0.2s ease-in-out, color 0.2s ease-in-out;
        }

.input__control[placeholder],
        .input__control::-ms-input-placeholder {
            text-overflow: ellipsis;
            transition: opacity 0.2s ease-in-out, color 0.2s ease-in-out;
        }

.input__control[placeholder],
        .input__control::placeholder {
            text-overflow: ellipsis;
            transition: opacity 0.2s ease-in-out, color 0.2s ease-in-out;
        }

.input__control:-webkit-autofill,
        .input__control:-webkit-autofill:hover,
        .input__control:-webkit-autofill:focus,
        .input__control:-webkit-autofill:active {
            /* Hack from http://stackoverflow.com/a/29350537 */
            transition: background-color 999999s ease-in-out 0s;
        }

.input_has-label .input__control::-webkit-input-placeholder {
            opacity: 0;
        }

.input_has-label .input__control::-moz-placeholder {
            opacity: 0;
        }

.input_has-label .input__control::-ms-input-placeholder {
            opacity: 0;
        }

.input_has-label .input__control::placeholder {
            opacity: 0;
        }

.input_has-label.input_focused .input__control::-webkit-input-placeholder {
                opacity: 1;
            }

.input_has-label.input_focused .input__control::-moz-placeholder {
                opacity: 1;
            }

.input_has-label.input_focused .input__control::-ms-input-placeholder {
                opacity: 1;
            }

.input_has-label.input_focused .input__control::placeholder {
                opacity: 1;
            }

.input_has-clear .input__control {
        padding-right: 0;
        text-overflow: ellipsis;
    }

.input__clear {
        opacity: 0.6;
        position: absolute;
        top: 0;
        right: 0;
        margin: 0;
        padding: 0;
        cursor: pointer;
        outline: none;
        -webkit-user-select: none;
           -moz-user-select: none;
            -ms-user-select: none;
                user-select: none;
        color: inherit;
        font: inherit;
        background: none;
        background-position: center center;
        background-repeat: no-repeat;
        border: none;
        transition: opacity 0.1s ease-out;
    }

.input__clear:hover {
            opacity: 1;
        }

.input_has-icon .input__icon {
        display: flex;
        align-items: center;
        justify-content: center;
        position: absolute;
        top: 0;
        right: 0;
        text-align: center;
        transition: all 200ms ease;
    }

.input_has-icon .input__control {
        padding-right: 2px;
        text-overflow: ellipsis;
    }

.input_width_available {
        width: 100%;
    }

/* Override table styles by flex */

.input.input_has-addons .input__box {
            display: flex;
            flex-direction: row;
            flex-grow: 1;
            justify-content: space-between;
            width: 100%;
            height: 100%;
        }

.input.input_has-addons .input__control {
            padding-right: 12px;
        }

.input.input_has-addons .input__input-wrapper:nth-child(2) .input__control,
            .input.input_has-addons .input__input-wrapper:nth-child(2) .input__top {
                padding-right: 0;
                padding-left: 12px;
            }

/* If has left & right addons */

.input.input_has-addons .input__input-wrapper:nth-child(2):nth-last-child(2) .input__control,
            .input.input_has-addons .input__input-wrapper:nth-child(2):nth-last-child(2) .input__top {
                padding-right: 12px;
            }

.input__addons {
        display: flex;
        flex-shrink: 0; /* Avoid overflow cutting of addons in IE11 */
        align-items: center;
    }

.input_type_hidden {
        display: none !important;
    }

/* reset for ios */

.input__control:disabled {
        opacity: 1;
    }

.input_focused {
    z-index: 1;
}

.input_disabled:before,
    .input_disabled .input__clear {
        display: none;
    }

.input_disabled .input_has-value::-webkit-input-placeholder {
            opacity: 0.6;
        }

.input_disabled .input_has-value::-moz-placeholder {
            opacity: 0.6;
        }

.input_disabled .input_has-value::-ms-input-placeholder {
            opacity: 0.6;
        }

.input_disabled .input_has-value::placeholder {
            opacity: 0.6;
        }

.input_disabled .input__box,
    .input_disabled .input__control {
        cursor: default;
    }

.input_type_password .input__control {
    text-overflow: clip;
}

.input_size_s.input_has-label {
        padding-top: 9px;
    }

.input_size_s .input__top {
        line-height: 30px;
    }

.input_size_s.input_focused .input__top, .input_size_s.input_has-value .input__top {
            -webkit-transform: scale(0.92308) translateY(-22px);
                    transform: scale(0.92308) translateY(-22px);
            width: 107.692 %;
        }

.input_size_s .input__top,
    .input_size_s .input__box {
        font-size: 13px;
    }

.input_size_s .input__box {
        height: 30px;
    }

.input_size_s .input__sub {
        font-size: 12px;
    }

.input_size_s .input__control {
        padding: 7px 0;
    }

.input_size_s.input_has-clear .input__box,
    .input_size_s.input_has-icon .input__box {
        padding-right: 30px;
    }

.input_size_s.input_has-icon .input__icon {
        width: 30px;
        height: 30px;
        line-height: 28px;
    }

.input_size_m.input_has-label {
        padding-top: 6px;
    }

.input_size_m .input__top {
        line-height: 40px;
    }

.input_size_m.input_focused .input__top, .input_size_m.input_has-value .input__top {
            -webkit-transform: scale(0.8125) translateY(-30px);
                    transform: scale(0.8125) translateY(-30px);
            width: 118.75 %;
        }

.input_size_m .input__top,
    .input_size_m .input__box {
        font-size: 16px;
    }

.input_size_m .input__box {
        height: 40px;
    }

.input_size_m .input__sub {
        font-size: 13px;
    }

.input_size_m .input__control {
        padding: 10px 0;
    }

.input_size_m.input_has-clear .input__box,
    .input_size_m.input_has-icon .input__box {
        padding-right: 34px;
    }

.input_size_m.input_has-icon .input__icon {
        width: 34px;
        height: 40px;
        line-height: 38px;
    }

.input_size_l.input_has-label {
        padding-top: 14px;
    }

.input_size_l .input__top {
        line-height: 50px;
    }

.input_size_l.input_focused .input__top, .input_size_l.input_has-value .input__top {
            -webkit-transform: scale(0.88889) translateY(-40px);
                    transform: scale(0.88889) translateY(-40px);
            width: 111.111 %;
        }

.input_size_l .input__top,
    .input_size_l .input__box {
        font-size: 18px;
    }

.input_size_l .input__box {
        height: 50px;
    }

.input_size_l .input__sub {
        font-size: 16px;
    }

.input_size_l .input__control {
        padding: 14px 0;
    }

.input_size_l.input_has-clear .input__box,
    .input_size_l.input_has-icon .input__box {
        padding-right: 44px;
    }

.input_size_l.input_has-icon .input__icon {
        width: 44px;
        height: 50px;
        line-height: 48px;
    }

.input_size_xl.input_has-label {
        padding-top: 13px;
    }

.input_size_xl .input__top {
        line-height: 60px;
    }

.input_size_xl.input_focused .input__top, .input_size_xl.input_has-value .input__top {
            -webkit-transform: scale(0.81818) translateY(-50px);
                    transform: scale(0.81818) translateY(-50px);
            width: 118.182 %;
        }

.input_size_xl .input__top,
    .input_size_xl .input__box {
        font-size: 22px;
    }

.input_size_xl .input__box {
        height: 60px;
    }

.input_size_xl .input__sub {
        font-size: 18px;
    }

.input_size_xl .input__control {
        padding: 17px 0;
    }

.input_size_xl.input_has-clear .input__box,
    .input_size_xl.input_has-icon .input__box {
        padding-right: 52px;
    }

.input_size_xl.input_has-icon .input__icon {
        width: 52px;
        height: 60px;
        line-height: 58px;
    }

/* IE fix for input with label and placeholder */

.input_has-label .input__control:-ms-input-placeholder {
    opacity: 0;
}

.input_view_filled.input_size_s .input__top {
            line-height: 43px;
        }

.input_view_filled.input_size_s .input__box {
            height: 42px;
            padding: 0 8px;
        }

.input_view_filled.input_size_s .input__control {
            height: 42px;
        }

.input_view_filled.input_size_s .input__top,
        .input_view_filled.input_size_s .input__box {
            font-size: 13px;
        }

.input_view_filled.input_size_s.input_has-label .input__control {
                padding-top: 21px;
                padding-bottom: 7px;
            }

.input_view_filled.input_size_s.input_focused .input__top, .input_view_filled.input_size_s.input_has-value .input__top {
                font-size: 12px;
                -webkit-transform: translateY(-10px);
                        transform: translateY(-10px);
            }

.input_view_filled.input_size_s.input_has-icon .input__icon,
            .input_view_filled.input_size_s.input_has-icon .input__clear,
            .input_view_filled.input_size_s.input_has-clear .input__icon,
            .input_view_filled.input_size_s.input_has-clear .input__clear {
                top: 50%;
                width: 40px;
                height: 42px;
                margin-top: -21px;
            }

.input_view_filled.input_size_s.input_has-icon .input__box, .input_view_filled.input_size_s.input_has-clear .input__box {
                padding-right: 40px;
            }

.input_view_filled.input_size_s.input_has-addons .input__box {
                height: 43px;
            }

.input_view_filled.input_size_m .input__top {
            line-height: 56px;
        }

.input_view_filled.input_size_m .input__box {
            height: 56px;
            padding: 0 12px;
        }

.input_view_filled.input_size_m .input__control {
            min-height: 56px;
        }

.input_view_filled.input_size_m .input__top,
        .input_view_filled.input_size_m .input__box {
            font-size: 16px;
        }

.input_view_filled.input_size_m.input_has-label .input__control {
                padding-top: 26px;
                padding-bottom: 8px;
            }

.input_view_filled.input_size_m.input_focused .input__top, .input_view_filled.input_size_m.input_has-value .input__top {
                font-size: 13px;
                -webkit-transform: translateY(-12px);
                        transform: translateY(-12px);
            }

.input_view_filled.input_size_m.input_has-icon .input__icon,
            .input_view_filled.input_size_m.input_has-icon .input__clear,
            .input_view_filled.input_size_m.input_has-clear .input__icon,
            .input_view_filled.input_size_m.input_has-clear .input__clear {
                top: 50%;
                width: 48px;
                height: 48px;
                margin-top: -24px;
            }

.input_view_filled.input_size_m.input_has-icon .input__box, .input_view_filled.input_size_m.input_has-clear .input__box {
                padding-right: 48px;
            }

.input_view_filled.input_size_m.input_has-addons .input__box {
                height: 56px;
            }

.input_view_filled .input__top {
        -webkit-transform-origin: 0 50%;
                transform-origin: 0 50%;
    }

.input_view_filled .input__box {
        border-bottom-color: rgba(11, 31, 53, 0.15);
        background-color: rgba(11, 31, 53, 0.05);
        border-radius: 4px 4px 0 0;
    }

.input_view_filled .input__box:hover {
            background-color: rgba(11, 31, 53, 0.1);
            border-color: rgba(11, 31, 53, 0.6);
        }

.input_view_filled__sub {
        padding-top: 4px;
        padding-right: 12px;
        font-size: 13px;
        line-height: 1.2;
    }

.input_view_filled .input__top,
    .input_view_filled .input__sub {
        color: rgba(11, 31, 53, 0.6);
    }

.input_view_filled .input__control {
        padding: 8px 0;
        color: #0b1f35;

        /*
        &:-webkit-autofill,
        &:-webkit-autofill:hover,
        &:-webkit-autofill:focus,
        &:-webkit-autofill:active {
            -webkit-text-fill-color: var(--color-content-alfa-on-white) !important;
        }
        */
    }

.input_view_filled .input__control::-webkit-input-placeholder {
            color: rgba(11, 31, 53, 0.6);
        }

.input_view_filled .input__control::-moz-placeholder {
            color: rgba(11, 31, 53, 0.6);
        }

.input_view_filled .input__control::-ms-input-placeholder {
            color: rgba(11, 31, 53, 0.6);
        }

.input_view_filled .input__control::placeholder {
            color: rgba(11, 31, 53, 0.6);
        }

.input_view_filled.input_focused .input__box {
            border-bottom-color: #0b1f35;
            box-shadow: inset 0 -1px 0 #0b1f35;
        }

.input_view_filled.input_has-label {
        padding-top: 0;
    }

.input_view_filled.input_has-label .input__control::-webkit-input-placeholder {
            color: transparent;
        }

.input_view_filled.input_has-label .input__control::-moz-placeholder {
            color: transparent;
        }

.input_view_filled.input_has-label .input__control::-ms-input-placeholder {
            color: transparent;
        }

.input_view_filled.input_has-label .input__control::placeholder {
            color: transparent;
        }

.input_view_filled.input_has-label.input_focused .input__control::-webkit-input-placeholder {
                color: rgba(11, 31, 53, 0.6);
            }

.input_view_filled.input_has-label.input_focused .input__control::-moz-placeholder {
                color: rgba(11, 31, 53, 0.6);
            }

.input_view_filled.input_has-label.input_focused .input__control::-ms-input-placeholder {
                color: rgba(11, 31, 53, 0.6);
            }

.input_view_filled.input_has-label.input_focused .input__control::placeholder {
                color: rgba(11, 31, 53, 0.6);
            }

.input_view_filled.input_focused .input__top, .input_view_filled.input_has-value .input__top {
            width: auto;
        }

.input_view_filled.input_has-addons .input__input-wrapper {
            width: 100%;
        }

.input_view_filled.input_has-addons .input__input-wrapper .input__control {
                padding-left: 12px;
                padding-right: 12px;
            }

.input_view_filled.input_has-addons .input__input-wrapper:first-child .input__control {
                    padding-left: 0;
                }

.input_view_filled.input_has-addons .input__input-wrapper:last-child .input__control {
                    padding-right: 0;
                }

.input_view_filled.input_has-addons .input__input-wrapper:nth-child(2) .input__control {
                    padding-right: 12px;
                }

.input_view_filled.input_disabled .input__box {
            background-color: rgba(11, 31, 53, 0.1);
            border-bottom-color: rgba(11, 31, 53, 0.15);
            border-bottom-style: dashed;
            box-shadow: none;
        }

.input_view_filled.input_disabled .input__control {
            color: rgba(11, 31, 53, 0.6);
        }

.input_view_filled.input_disabled .input__top,
        .input_view_filled.input_disabled .input__control::-webkit-input-placeholder {
            color: rgba(11, 31, 53, 0.3);
        }

.input_view_filled.input_disabled .input__top,
        .input_view_filled.input_disabled .input__control::-moz-placeholder {
            color: rgba(11, 31, 53, 0.3);
        }

.input_view_filled.input_disabled .input__top,
        .input_view_filled.input_disabled .input__control::-ms-input-placeholder {
            color: rgba(11, 31, 53, 0.3);
        }

.input_view_filled.input_disabled .input__top,
        .input_view_filled.input_disabled .input__control::placeholder {
            color: rgba(11, 31, 53, 0.3);
        }

.input_view_filled.input_invalid .input__sub {
            color: rgba(255, 92, 92, 1);
        }

.input_view_filled.input_invalid .input__box {
            border-bottom-color: rgba(255, 92, 92, 1);
            box-shadow: inset 0 -1px 0 rgba(255, 92, 92, 1);
        }

.input_view_filled.input_invalid.input_focused .input__box {
                border-bottom-color: rgba(255, 92, 92, 1);
                box-shadow: inset 0 -1px 0 rgba(255, 92, 92, 1);
            }

/*# sourceMappingURL=input.css.map */
