@mixin hide-line-numbers {
    float: left;
    margin-left: -$W_NONUMBERS_TINY;

    width: $W_NONUMBERS_TINY;
    height: 100%;
    padding: 0;
    overflow: hidden;

    color: white;
    text-align: right;

    &:hover, &:active {
        color: #ccc;
        background-color: #CCC;
    }

    &:before {
        content: "#";
        display: block;
        float: left;
        width: $W_NONUMBERS_TINY / 2 - 1px;
        height: 100%;
        overflow: hidden;
        border-right: 1px solid #ccc;
    }

    @include min-screen($S_NONUMBERS_TINY_MAX) {
        width: $W_NONUMBERS;
        margin-left: -$W_NONUMBERS;

        &:before {
            width: $W_NONUMBERS / 2 - 1;
        }
    }
}


.anchor {
    @include hide-line-numbers;

    @include min-screen($S_NUMBERS) {
        /* Show line numbers. */
        font-size: .8em;
        margin-left: -$W_NUMBERS;
        width: $W_NUMBERS - 4px;
        height: auto;
        padding: 2px;
        text-align: center;
        color: #ccc;
	user-select: none;
	-webkit-user-select: none;
	-moz-user-select: none;
	-ms-user-select: none;

        &:before {
            display: none;
        }
    }
}

@include min-screen($S_NUMBERS) {
    .always-hide-line-numbers {
        /* Cancel showing line numbers. */
        .anchor {
            @include hide-line-numbers;
        }
    }
}