.demo-container{
  position: relative;
  width: 100%;
  margin:0 auto;
  padding: 20px;
  border: 5px dashed #e2e2e2; 
}

.demo-container hr {
  margin: 30px;
}

.demo-container input[disabled] {
  background-color: white;
}

.demo-container input,
.demo-container div {
  padding: .5em 1em;
  height: 30px;
  color: grey;
}

.demo-container div:not(.container) {
  border: 5px solid #aaa;
}

.demo-container input:read-write,
.demo-container .element:read-write {
  height: auto;
  padding: 8px;
  border: 5px solid green;
}

.demo-container input:-moz-read-write,
.demo-container .element:-moz-read-write {
  height: auto;
   padding: 8px;
  border: 5px solid green;
}

.demo-container input:read-only,
.demo-container .element:read-only {
  height: auto;
  padding: 8px;
  border: 5px solid tomato;
}

.demo-container input:-moz-read-only,
.demo-container .element:-moz-read-only {
  height: auto;
   padding: 8px;
  border: 5px solid tomato;
}