.sw-input {
    box-sizing: border-box;
    display: block;
}

.sw-input .sw-input_inline-input {
    align-items: center;
    display: flex;
    position: relative;
}

.sw-input .sw-input_inline-input label {
    pointer-events: none;
    position: absolute;
    white-space: nowrap;
}

.sw-input .sw-input_inline-input label:empty {
    display: none;
}

.sw-input .sw-input_inline-input input {
    height: 100%;
    width: 100%;
    -webkit-appearance: none;
}

.sw-input .sw-input_control-container {
    display: flex;
    flex-grow: 1;
    height: 100%;
}

.sw-input .sw-input_icons-container {
    align-items: center;
    display: flex;
    height: 100%;
}

.sw-input .sw-input_icons-container:empty {
    display: none;
}

.sw-input .sw-input_helper-container {
    overflow: hidden;
}

.sw-input .sw-input_helper-container:empty {
    display: none;
}

@keyframes sw-input_autofill-start {
    from {
    }
    to {
    }
}

@keyframes sw-input_autofill-end {
    from {
    }
    to {
    }
}

.sw-input .sw-input_inline-input input:-webkit-autofill {
    animation-name: sw-input_autofill-start;
}

.sw-input .sw-input_inline-input input:not( :-webkit-autofill ) {
    animation-name: sw-input_autofill-end;
}