code {  
    white-space: pre-wrap;       /* CSS 3 */
    white-space: -moz-pre-wrap;  /* Mozilla */
    white-space: -pre-wrap;      /* Opera 4-6 */
    white-space: -o-pre-wrap;    /* Opera 7 */
    word-wrap: break-word;       /* IE 5.5+ */
}

pre.line-numbers > code {  
    position: relative;
}

.line-numbers .line-numbers-rows {
    position: absolute;
    pointer-events: none;
    top: 0;
    font-size: 100%;
    left: -6em; /* edit */
    width: 3em; 
    letter-spacing: -1px;
    border-right: 1px solid #999;
    padding-top: 4px; /* edit */

    -webkit-user-select: none;
    -moz-user-select: none;
    -ms-user-select: none;
    user-select: none;

}

.line-numbers-rows > span {
    pointer-events: none;
    display: block;
    counter-increment: linenumber;
}

.line-numbers-rows > span:before {
    content: counter(linenumber);
    color: #999;
    display: block;
    padding-right: 0.8em;
    text-align: right;
}

@media (max-width: 800px) {
    .line-numbers-rows {
        display: none;
    }
    pre.line-numbers {
        position: relative;
        padding-left: 1em;
    }
