.text-editor {
    position: absolute;
    top:0;
    left:0;
    right:0;
    bottom:0;
    white-space: pre;
    overflow: auto;
}

.text-editor-lines {
    position: absolute;
    top: 0;
    left: 0;
    bottom: 0;
    overflow: hidden;
    -webkit-user-select: none;
    background-color: rgb(240, 240, 240);
    border-right: 1px solid rgb(187, 187, 187);
    min-width: 19px;
}

.text-editor-contents {
    position: absolute;
    top: 0;
    left: 0;
    right: 0;
    bottom: 0;
    overflow: auto;
    -webkit-user-select: text;
}

.text-editor-contents .inner-container {
    position: absolute;
    top: 0;
    left: 0;
    right: auto;
    bottom: auto;
    min-width: 100%;
}

.text-editor-editable {
    -webkit-user-modify: read-write-plaintext-only;
}

.webkit-line-decorations {
    pointer-events: none;
    -webkit-user-select: none;
    -webkit-user-modify: read-only;
}

.webkit-html-message-bubble {
    -webkit-box-shadow: black 0px 2px 5px;
    -webkit-border-radius: 9px;
    -webkit-border-fit: lines;
    font-size: 10px;
    font-family: Lucida Grande, sans-serif;
    font-weight: bold;
    margin: 6px 25px;
    padding: 0 7px 1px;
    z-index:20;
}

.webkit-html-warning-message {
    background-color: rgb(100%, 62%, 42%);
    border: 2px solid rgb(100%, 52%, 21%);
}

.webkit-html-error-message {
    background-color: rgb(100%, 42%, 42%);
    border: 2px solid rgb(100%, 31%, 31%);
}

.webkit-html-message-line {
    padding-left: 23px;
    text-indent: -20px;
}

.webkit-html-message-line-hover {
    padding-left: 23px;
    text-indent: -20px;
    white-space: auto;
    text-overflow: auto;
    overflow: auto;
}

.webkit-html-message-icon {
    position: relative;
    top: 2px;
    margin: 0 4px;
}

.webkit-line-number {
    color: rgb(128, 128, 128);
    text-align: right;
    vertical-align: top;
    word-break: normal;
    padding-right: 4px;
    padding-left: 6px;
}

.webkit-line-number-outer {
    margin-right: -4px;
    margin-left: -4px;
    border-color: transparent;
    border-style: solid;
    border-width: 0 0 0px 2px;
    vertical-align: top;
}

.webkit-line-number-inner {
    margin-right: 4px;
}

.webkit-breakpoint .webkit-line-number-inner, .webkit-breakpoint-conditional .webkit-line-number-inner, .webkit-execution-line .webkit-line-number-inner {
    margin-right: -10px;
}

.webkit-line-content {
    padding-left: 2px;
}

.webkit-breakpoint .webkit-line-number-outer {
    color: white;
    border-width: 0 14px 0px 2px;
    -webkit-border-image: url(Images/breakpointBorder.png) 0 14 0 2;
}

.webkit-breakpoint-conditional .webkit-line-number-outer {
    color: white;
    border-width: 0 14px 0px 2px;
    -webkit-border-image: url(Images/breakpointConditionalBorder.png) 0 14 0 2;
}

.webkit-execution-line .webkit-line-number-outer {
    color: transparent;
    border-width: 0 14px 0px 2px;
    -webkit-border-image: url(Images/programCounterBorder.png) 0 14 0 2;
}

.webkit-breakpoint.webkit-execution-line .webkit-line-number-outer {
    color: white;
    -webkit-border-image: url(Images/breakpointCounterBorder.png) 0 14 0 2;
}

.webkit-breakpoint.webkit-execution-line .webkit-line-number-outer {
    color: transparent;
    -webkit-border-image: url(Images/breakpointCounterBorder.png) 0 14 0 2;
}

.webkit-breakpoint-conditional.webkit-execution-line .webkit-line-number-outer {
    color: transparent;
    -webkit-border-image: url(Images/breakpointConditionalCounterBorder.png) 0 14 0 2;
}

.webkit-breakpoint-disabled .webkit-line-number-outer {
    opacity: 0.5;
}

.breakpoints-deactivated .webkit-breakpoint .webkit-line-number-outer {
    opacity: 0.5;
}

.breakpoints-deactivated .webkit-breakpoint-disabled .webkit-line-number-outer {
    opacity: 0.3;
}

.webkit-execution-line.webkit-line-content {
    background-color: rgb(171, 191, 254);
    outline: 1px solid rgb(64, 115, 244);
}

.diff-container .webkit-added-line.webkit-line-content {
    background-color: rgb(220, 255, 220);
}

.diff-container .webkit-removed-line.webkit-line-content {
    background-color: rgb(255, 220, 220);
    text-decoration: line-through;
}

.diff-container .webkit-changed-line.webkit-line-content {
    background-color: rgb(220, 220, 255);
}

.webkit-search-result {
    -webkit-border-radius: 4px;
    padding: 2px 2px 2px 3px;
    margin: -2px -2px -2px -3px;
    opacity: 0.8;
    -webkit-box-shadow: rgba(0, 0, 0, .5) 3px 3px 4px;
    background-color: rgb(241, 234, 0);
    color: black;
}

.webkit-highlighted-line.webkit-line-content {
    -webkit-animation: "fadeout" 2s 0s;
}

@-webkit-keyframes fadeout {
    from {background-color: rgb(255, 255, 120); }
    to { background-color: white; }
}
