html {
  font-size: 100%;
  min-width: 100px;
}
body {
  margin: 0;
  position: relative;
  font-size: 1em;
  font-family: Helvetica, sans-serif;
  background-color: #ddd;
}
html,
body {
  height: 100%;
  width: 100%;
}
[role='banner'] {
  width: 18em;
  height: 4em;
  position: absolute;
  right: 5.5em;
  top: 1em;
  color: #222;

  -webkit-transform-origin: 100% 0;
     -moz-transform-origin: 100% 0;
      -ms-transform-origin: 100% 0;
       -o-transform-origin: 100% 0;
          transform-origin: 100% 0;

  -webkit-transform: rotate(-90deg);
     -moz-transform: rotate(-90deg);
      -ms-transform: rotate(-90deg);
       -o-transform: rotate(-90deg);
          transform: rotate(-90deg);
}
[role='banner'] h1,
[role='banner'] p {
  margin: 0;
  line-height: 1;
}
[role='banner'] h1 {
  font-size: 2em;
}
[role='banner'] p {
  font-size: 1.2em;
}
[role='banner'] a {
  text-decoration: none;
  color: #227;
  border-bottom: 1px dotted #227;
  transform: border 8s linear;
  -moz-transition: all 2s ease-out;
}
[role='banner'] a:hover {
  color: blue;
  border-color: blue;
}
textarea {
  width: 89%;
  height: 88%;
  margin: 3em 0 0 3em;
  padding: 1em;
  cursor: text;
}

@media (max-width: 1447px) {
  textarea {
    width: 85%;
  }
}

@media (max-width: 1047px) {
  textarea {
    width: 84%;
  }
  [role='banner'] {
    right: 4em;
  }
}

@media (max-width: 800px) {
  [role='banner'] {
    position: static;
    margin: 0 auto;
    padding: 1em 0;

    -webkit-transform: none;
       -moz-transform: none;
        -ms-transform: none;
         -o-transform: none;
            transform: none;
  }
  textarea {
    display: block;
    width: 90%;
    height: 69%;
    margin: 0 auto;
  }
}
