#body
{ 
  display: block;
  position: relative;
  width: 100%;
  height: 100%;
  top: 0px;
  left: 0px;
  background-attachment: fixed;
  background-image: url(http:);
  margin: 0;
  padding: 0; 
  padding-top: 2px;
  background-color: #f1f5f1;
  color: #000;
  overflow: auto;
  -moz-box-sizing: border-box;
  border: none;
  cursor: text;
  -moz-user-select: none;
}

#body.read-only
{
  border: none;
}

#canvas
{
  margin: 0 0 -1em 2px;
  padding: 0;
  -moz-user-focus:normal;
  position: relative;
  z-index: 2;
}

#canvas div
{
  margin:0;
  padding:0 10% 0 0;
  -moz-user-focus:ignore;
}

#canvas input
{
  border: none;
  background: transparent;
  padding: 0;
  margin: 0;
  font-family: monospace;
}

#left-margin
{
/* only use bold if the canvas also uses bold */
  background: #a5bda5;
  color: #fff;
  padding: 2px 0.3em 2px 0.3em;
  top: 0px; left: 0;
  text-align: right;
  position: absolute;
  z-index: 3;
  margin: 0;
  cursor: default;
  -moz-box-sizing: border-box;
}

#left-margin div
{
  margin:0;
  padding:0;
}

#one-char
{
  position: absolute;
  visibility: hidden;
  padding: 0; margin: 0;
}

#cursors
{
  position: absolute;
  top: 0px;
  left: 0px;
  width: 100%;
  height: 100%;  
  z-index: 0;
  padding: 0;
  margin: 0;
}

#cursor
{
  position: absolute;
  border-left: 2px solid #000;
  opacity: 0.6;
  z-index: -1;
}

#line-cursor
{
  position: absolute;
  width: 100%;
  top: 0px;
  left: 0px;
  background-color: #a5bda5;
  opacity: 0.20;
  z-index: -1;
  xmargin-left: -2px;
}

#line-cursor-in-margin
{
  position: absolute;
  width: 100%;
  top: 0px;
  left: 0px;
  background-color: #f1f5f1;
  opacity: 0.20;
  z-index: 1;
  left: 2px;  
}

#col-cursor
{
  position: absolute;
  top: 0px;
  border-left: 1px solid #a5bda5;
  opacity: 0.25;
  z-index: -1;
  height: 100%;  
}

#selection-plane
{
  position: absolute;
  top: 2px;
  left: 0px;
  z-index: -1;
}

#canvas div.selected span, .selectAll span
{
  background-color: #a3c8f1;
  border-right: 4px solid #6ba6e9;
}
#canvas font
{
  position: relative;
  border-right: 0px solid #a3c8f1;
}

.selectAll font
{
  background-color: #a3c8f1;
}

#selection-plane span
{
  position: absolute;
  width: 0px;
  height: 0px;
  background-color: #a3c8f1;
}

#selection-plane span.linebreak-selected
{
  border-right: 4px solid #6ba6e9;
}

#selection-plane.compile-error span
{
  background-color: #f8aaa8;
}

#selection-plane.compile-error span.linebreak-selected
{
  border-right: 4px solid #d69290;
}

.read-only #line-cursor-in-margin, 
.read-only #line-cursor, 
.read-only #col-cursor {
  display: none;
}

::-moz-selection
{
  /* no styles so selection is invisible */
}


