mor-link{
    display: inline-block;
    position: relative;
    line-height: 1.4em;
    height: 1.4em;

    &.margin{
        padding: 0 0.6em;
    }

    &.loading{
        .mo-loader{
            position: absolute;
            left: 50%;
            top: 50%;
            transform: translate(-50%, -50%);
            width: 1em;
        }

        span{
            opacity: 0;
        }

        &:hover{
            cursor: default;
        }
    }

    &.si-xxl{
        font-size: @fontSize*1.3;
    }

    &.si-xl{
        font-size: @fontSize*1.1;
    }

    &.si-l{
        font-size: @fontSize*1;
    }

    &.si-m{
        font-size: @fontSize*0.8125;
    }

    &.si-s{
        font-size: @fontSize*0.75;
    }

    &.si-xs{
        font-size: @fontSize*0.75;
    }

    &.si-xxs{
        font-size: @fontSize*0.75;
    }

    &.co-t{
        color: @colorTheme;

        .mo-loader{
            .mo-loader-path{
                stroke: @colorTheme;
            }
        }

        &:not(.st-disabled):hover,
        &.st-hover{
            color: darken(@colorTheme, 15%);
        }

        &:not(.st-disabled):active,
        &.st-active{
            color: darken(@colorTheme, 25%);
        }

        &.st-disabled{
            color: lighten(@colorTheme, 25%);
        }
    }

    &.co-lt{
        color: @colorLightTheme;

        .mo-loader{
            .mo-loader-path{
                stroke: @colorLightTheme;
            }
        }

        &:not(.st-disabled):hover,
        &.st-hover{
            color: darken(@colorLightTheme, 25%);
        }

        &:not(.st-disabled):active,
        &.st-active{
            color: darken(@colorLightTheme, 35%);
        }

        &.st-disabled{
            color: lighten(@colorLightTheme, 20%);
        }
    }

    &.co-dt{
        color: @colorDarkTheme;

        .mo-loader{
            .mo-loader-path{
                stroke: @colorDarkTheme;
            }
        }

        &:not(.st-disabled):hover,
        &.st-hover{
            color: darken(@colorDarkTheme, 10%);
        }

        &:not(.st-disabled):active,
        &.st-active{
            color: darken(@colorDarkTheme, 20%);
        }

        &.st-disabled{
            color: lighten(@colorDarkTheme, 25%);
        }
    }

    &.co-s{
        color: @colorSuccess;

        .mo-loader{
            .mo-loader-path{
                stroke: @colorSuccess;
            }
        }

        &:not(.st-disabled):hover,
        &.st-hover{
            color: darken(@colorSuccess, 10%);
        }

        &:not(.st-disabled):active,
        &.st-active{
            color: darken(@colorSuccess, 15%);
        }

        &.st-disabled{
            color: darken(@colorSuccess, 25%);
        }
    }

    &.co-w{
        color: @colorWarning;

        .mo-loader{
            .mo-loader-path{
                stroke: @colorWarning;
            }
        }

        &:not(.st-disabled):hover,
        &.st-hover{
            color: darken(@colorWarning, 10%);
        }

        &:not(.st-disabled):active,
        &.st-active{
            color: darken(@colorWarning, 15%);
        }

        &.st-disabled{
            color: lighten(@colorWarning, 15%);
        }
    }

    &.co-d{
        color: @colorDanger;

        .mo-loader{
            .mo-loader-path{
                stroke: @colorDanger;
            }
        }

        &:not(.st-disabled):hover,
        &.st-hover{
            color: darken(@colorDanger, 5%);
        }

        &:not(.st-disabled):active,
        &.st-active{
            color: darken(@colorDanger, 10%);
        }

        &.st-disabled{
            color: lighten(@colorDanger, 25%);
        }
    }

    &.co-p{
        color: @colorPrimary;

        .mo-loader{
            .mo-loader-path{
                stroke: @colorPrimary;
            }
        }

        &:not(.st-disabled):hover,
        &.st-hover{
            color: darken(@colorPrimary, 10%);
        }

        &:not(.st-disabled):active,
        &.st-active{
            color: darken(@colorPrimary, 15%);
        }

        &.st-disabled{
            color: lighten(@colorPrimary, 25%);
        }
    }

    &.co-m{
        color: @colorMinor;

        .mo-loader{
            .mo-loader-path{
                stroke: @colorMinor;
            }
        }

        &:not(.st-disabled):hover,
        &.st-hover{
            color: darken(@colorMinor, 10%);
        }

        &:not(.st-disabled):active,
        &.st-active{
            color: darken(@colorMinor, 15%);
        }

        &.st-disabled{
            color: lighten(@colorMinor, 15%);
        }
    }

    &.co-i{
        color: @colorInfo;

        .mo-loader{
            .mo-loader-path{
                stroke: @colorInfo;
            }
        }

        &:not(.st-disabled):hover,
        &.st-hover{
            color: darken(@colorInfo, 10%);
        }

        &:not(.st-disabled):active,
        &.st-active{
            color: darken(@colorInfo, 15%);
        }

        &.st-disabled{
            color: darken(@colorInfo, 25%);
        }
    }

    &.co-bk{
        color: @colorBlack;

        .mo-loader{
            .mo-loader-path{
                stroke: @colorBlack;
            }
        }

        &:not(.st-disabled):hover,
        &.st-hover{
            color: lighten(@colorBlack, 15%);
        }

        &:not(.st-disabled):active,
        &.st-active{
            color: lighten(@colorBlack, 30%);
        }

        &.st-disabled{
            color: lighten(@colorBlack, 40%);
        }
    }

    each(range(11), {
        @colorName : 'colorNeutral@{value}';

        &.co-n@{value}{
            color: @@colorName;

            .mo-loader{
                .mo-loader-path{
                    stroke: @@colorName;
                }
            }

            &:not(.st-disabled):hover,
            &.st-hover{
                color: if((@value > 5), lighten(@@colorName, 15%), darken(@@colorName, 15%));
            }

            &:not(.st-disabled):active,
            &.st-active{
                color: if((@value > 5), lighten(@@colorName, 25%), darken(@@colorName, 25%));
            }

            &.st-disabled{
                color: if((@value > 5), lighten(@@colorName, 40%), darken(@@colorName, 30%));
            }
        }
    });

    &.co-wh{
        color: @colorWhite;

        .mo-loader{
            .mo-loader-path{
                stroke: @colorWhite;
            }
        }

        &:not(.st-disabled):hover,
        &.st-hover{
            color: darken(@colorWhite, 8%);
        }

        &:not(.st-disabled):active,
        &.st-active{
            color: darken(@colorWhite, 12%);
        }

        &.st-disabled{
            color: darken(@colorWhite, 30%);
        }
    }

    &.st-normal{}

    &.st-hover{
        cursor: pointer;
    }

    &.st-active{}

    &.st-disabled{
        cursor: not-allowed !important;
    }

    &.st-apparent{
        animation-name: apparent;
        animation-duration: 1s;
        animation-timing-function: linear;
        animation-iteration-count: infinite;

        &:hover{
            animation-name: none;
        }
    }

    // default status
    &{
        .si-m;
        .co-t;
        .st-normal;
    }

    &:hover{
        .st-hover;
    }
}
