html, body {
  height: 100%;
  overflow: hidden; }

.three-pane-app {
  position: absolute;
  top: 0;
  left: 0;
  bottom: 0;
  right: 0; }
  .three-pane-app *, .three-pane-app *::after, .three-pane-app *::before {
    -webkit-box-sizing: border-box;
    -moz-box-sizing: border-box;
    box-sizing: border-box; }
  .three-pane-app .top {
    position: absolute;
    height: 3.75em;
    padding: 1.25em;
    line-height: 2.5em;
    width: 100%;
    border-bottom: 0.0625em solid rgba(0, 0, 0, 0.1); }
  .three-pane-app .bottom {
    position: absolute;
    top: 3.75em;
    bottom: 0;
    width: 100%; }
    .three-pane-app .bottom .left {
      border-right: 0.0625em solid rgba(0, 0, 0, 0.1);
      position: absolute;
      width: 20%;
      height: 100%;
      overflow: auto; }
    .three-pane-app .bottom .middle {
      position: absolute;
      width: 60%;
      left: 20%;
      height: 100%;
      overflow: auto; }
      .three-pane-app .bottom .middle .page {
        width: 40em;
        padding: 1.25em;
        max-width: 100%;
        margin: 0 auto; }
    .three-pane-app .bottom .right {
      border-left: 0.0625em solid rgba(0, 0, 0, 0.1);
      position: absolute;
      width: 20%;
      right: 0;
      height: 100%;
      overflow: auto; }
    .three-pane-app .bottom .item {
      height: 4em;
      border-bottom: 0.0625em solid rgba(0, 0, 0, 0.1);
      cursor: pointer; }
      .three-pane-app .bottom .item:hover {
        background: rgba(0, 0, 0, 0.1);
        border-bottom: 0.0625em solid rgba(0, 0, 0, 0); }
      .three-pane-app .bottom .item:last-child {
        border-bottom: 0; }
  .three-pane-app .title {
    display: -moz-inline-stack;
    display: inline-block;
    vertical-align: middle;
    *vertical-align: auto;
    zoom: 1;
    *display: inline;
    background: rgba(0, 0, 0, 0.1);
    width: 10em;
    height: 1em;
    margin-bottom: 1.25em; }
