%normalize_icon_size {
    &.size-sm ~ *[class*="icon-"],
    input.size-sm ~ * [class*="icon-"] {
        font-size: rem(12);
    }
    &.size-lg ~ *[class*="icon-"],
    input.size-lg ~ * [class*="icon-"] {
        font-size: rem(20);
    }
    &.size-xl ~ *[class*="icon-"],
    input.size-xl ~ * [class*="icon-"] {
        font-size: rem(24);
    }
}

%normalize_focus_disabled {
    &:focus{box-shadow: 0 0 0 em(3) rgba(50,115,220,.25);}

    &[disabled]{
        cursor: not-allowed;
        opacity: .455;
    }
}

%normalize_action_mouse {

    &:not([disabled]):not(.outline):not(.link):hover:after {
        content: "";
        position: absolute;
        top: 0; bottom: 0;
        left: 0; right: 0;
        display: block;
        border-radius: inherit;
        border: inherit;
        background-color: rgba(0, 0, 0, .1);
    }

    @extend %normalize_focus_disabled
}

%normalize_input_select_textarea {
    display: flex;
    position: relative;
    align-items: center;
    appearance: none;
    box-shadow: none;
    margin: 0;
    padding: em(8) em(12);
    vertical-align: baseline;
    outline: none;

    color: var(--var-text-color);
    border: 1px solid var(--var-bg-color);
    border-radius: var(--var-base-border-raduis);
    line-height: var(--line-height);
    vertical-align: middle;
    width: 100%;

    &:focus{
        border-color: var(--var-bg-color);
        box-shadow: 0 0 0 .125em rgba(50,115,220,.25), 0 0 0 .035em var(--var-bg-color);
    }

    @extend %normalize_size;
}

%fade_animation {
    opacity: 0;
    transition: opacity $period-animation linear;

    &.active {
        opacity: 1;
    }
}
