@import './colors';
@import './functions';

@mixin hc-radio-container() {
    cursor: pointer;
    display: block;
    line-height: 1.5;
    margin: 4px 0;
    padding-left: 35px;
    position: relative;
    -webkit-user-select: none;
    -moz-user-select: none;
    -ms-user-select: none;
    user-select: none;
}

@mixin hc-radio-container-disabled() {
    color: $gray-300;
    cursor: not-allowed;
}

@mixin hc-radio-container-inline() {
    padding-left: 32px;
    margin-right: 25px;
}

@mixin hc-radio-container-tight() {
    margin: 1px 15px 1px 0;
    padding-left: 25px;
}

@mixin hc-radio-overlay() {
    background-color: $white;
    border: 1px solid $slate-gray-300;
    border-radius: 50%;
    height: 22px;
    left: 0;
    position: absolute;
    width: 22px;

    &:after {
        background: $white;
        border-radius: 50%;
        content: '';
        display: none;
        height: 8px;
        left: 5px;
        position: absolute;
        top: 5px;
        width: 8px;
    }
}

@mixin hc-radio-align-top {
    top: 0;
}

@mixin hc-radio-align-center {
    top: calc(50% - 11px);
}

@mixin hc-radio-align-bottom {
    top: calc(100% - 21px);
}

@mixin hc-radio-align-center-tight {
    top: calc(50% - 9px);
}

@mixin hc-radio-align-bottom-tight {
    top: calc(100% - 19px);
}

@mixin hc-radio-overlay-tight() {
    height: 18px;
    width: 18px;
    top: 1px;

    &:after {
        left: 3px;
        top: 3px;
    }
}

@mixin hc-radio-overlay-hover() {
    border: 1px solid $primary-brand;
    background-color: tint($blue, 95%);
}

@mixin hc-radio-overlay-checked() {
    background-color: $primary-brand;
    border: 2px solid $primary-brand;

    &:after {
        display: block;
    }
}

@mixin hc-radio-overlay-disabled {
    background-color: $gray-200;
    border-color: $gray-300;
    cursor: not-allowed;

    &:after {
        background: $gray-200;
    }
}

@mixin hc-radio-overlay-checked-disabled() {
    background-color: $gray-200;
    border: 1px solid $gray-300;
}

@mixin hc-radio-input() {
    cursor: pointer;
    opacity: 0;
    position: absolute;
}

@mixin hc-radio-input-focus {
    outline: none;
    box-shadow: 0 0 5px $primary-brand;
}

@mixin hc-radio-input-active {
    outline: none;
}

@mixin hc-radio-input-disabled() {
    cursor: not-allowed;
}

@mixin hc-radio-content-tight() {
    font-size: calculateRem(13px);
}
