.layout-table,
.dl-table {
  display: table;
  border-collapse: collapse;
  width: 100%;
  box-sizing: border-box;
}
[class*=-table].-free-width {
  width: inherit;
}
.layout-row {
  display: table-row;
}
.layout-cell > :first-child {
  margin-top: 0;
}
.layout-cell > :last-child {
  margin-bottom: 0;
}
.layout-table > .layout-cell,
.layout-row > .layout-cell {
  display: table-cell;
}
[class*=-cell-spacing] {
  border-collapse: separate;
  /* width: auto; */
}
.-cell-spacing { border-spacing: 10px; }
.-cell-spacing.-expand { margin: -10px; }

.-cell-padding > * > .layout-cell,
.-cell-padding > .layout-cell { padding: 7.5px 10px; }
.-cell-padding-5 > * > .layout-cell,
.-cell-padding-5 > .layout-cell { padding: 2.5px 5px; }
.-cell-padding-15 > * > .layout-cell,
.-cell-padding-15 > .layout-cell { padding: 12.5px 15px; }
.-cell-padding-20 > * > .layout-cell,
.-cell-padding-20 > .layout-cell { padding: 17.5px 20px; }
.-cell-padding-25 > * > .layout-cell,
.-cell-padding-25 > .layout-cell { padding: 22.5px 25px; }
.-cell-padding-h > * > .layout-cell,
.-cell-padding-h > .layout-cell { padding: 0 10px; }
.-cell-padding-h-5 > * > .layout-cell,
.-cell-padding-h-5 > .layout-cell { padding: 0 5px; }
.-cell-padding-h-15 > * > .layout-cell,
.-cell-padding-h-15 > .layout-cell { padding: 0 15px; }
.-cell-padding-h-20 > * > .layout-cell,
.-cell-padding-h-20 > .layout-cell { padding: 0 20px; }
.-cell-padding-h-25 > * > .layout-cell,
.-cell-padding-h-25 > .layout-cell { padding: 0 25px; }
.-cell-padding-v > * > .layout-cell,
.-cell-padding-v > .layout-cell { padding: 7.5px 0; }
.-cell-padding-v-5 > * > .layout-cell,
.-cell-padding-v-5 > .layout-cell { padding: 2.5px 0; }
.-cell-padding-v-15 > * > .layout-cell,
.-cell-padding-v-15 > .layout-cell { padding: 12.5px 0; }
.-cell-padding-v-20 > * > .layout-cell,
.-cell-padding-v-20 > .layout-cell { padding: 17.5px 0; }
.-cell-padding-v-25 > * > .layout-cell,
.-cell-padding-v-25 > .layout-cell { padding: 22.5px 0; }

.-cell-border > * > .layout-cell,
.-cell-border > .layout-cell {
  border: 1px solid #AAA;
}
.-cell-border-v > *:not(:last-child) > .layout-cell,
.-cell-border-v > .layout-cell {
  border-bottom: 1px solid #AAA;
}

.-cell-top > * > .layout-cell,
.-cell-top > .layout-cell{ 
  vertical-align: top;
}
.-cell-middle > * > .layout-cell,
.-cell-middle > .layout-cell{ 
  vertical-align: middle;
}
.-cell-bottom > * > .layout-cell,
.-cell-bottom > .layout-cell{ 
  vertical-align: bottom;
}
.layout-left {
  float: left;
}
.layout-right {
  float: right;
}
.layout-follower {
  overflow: hidden;
}

.dl-table > dl {
  display: table-row;
}
.dl-table > dl > * > :first-child {
  margin-top: 0;
}
.dl-table > dl > * > :last-child {
  margin-bottom: 0;
}
.dl-table > dl > *,
dl.dl-table > * {
  display: table-cell;
}
.dl-table.-cell-padding > dl > *,
dl.dl-table.-cell-padding > * { padding: 7.5px 10px; }
.dl-table.-cell-padding-5 > dl > *,
dl.dl-table.-cell-padding-5 > * { padding: 2.5px 5px; }
.dl-table.-cell-padding-15 > dl > *,
dl.dl-table.-cell-padding-15 > * { padding: 12.5px 15px; }
.dl-table.-cell-padding-20 > dl > *,
dl.dl-table.-cell-padding-20 > * { padding: 17.5px 20px; }
.dl-table.-cell-padding-25 > dl > *,
dl.dl-table.-cell-padding-25 > * { padding: 22.5px 25px; }
.dl-table.-cell-padding-h > dl > *,
dl.dl-table.-cell-padding-h > * { padding: 0 10px; }
.dl-table.-cell-padding-h-5 > dl > *,
dl.dl-table.-cell-padding-h-5 > * { padding: 0 5px; }
.dl-table.-cell-padding-h-15 > dl > *,
dl.dl-table.-cell-padding-h-15 > * { padding: 0 15px; }
.dl-table.-cell-padding-h-20 > dl > *,
dl.dl-table.-cell-padding-h-20 > * { padding: 0 20px; }
.dl-table.-cell-padding-h-25 > dl > *,
dl.dl-table.-cell-padding-h-25 > * { padding: 0 25px; }
.dl-table.-cell-padding-v > dl > *,
dl.dl-table.-cell-padding-v > * { padding: 7.5px 0; }
.dl-table.-cell-padding-v-5 > dl > *,
dl.dl-table.-cell-padding-v-5 > * { padding: 2.5px 0; }
.dl-table.-cell-padding-v-15 > dl > *,
dl.dl-table.-cell-padding-v-15 > * { padding: 12.5px 0; }
.dl-table.-cell-padding-v-20 > dl > *,
dl.dl-table.-cell-padding-v-20 > * { padding: 17.5px 0; }
.dl-table.-cell-padding-v-25 > dl > *,
dl.dl-table.-cell-padding-v-25 > * { padding: 22.5px 0; }

.dl-table.-cell-border > dl > *,
dl.dl-table.-cell-border > * {
  border: 1px solid #AAA;
}
.dl-table.-cell-border-v > dl:not(:last-child) > *,
dl.dl-table.-cell-border-v > * {
  border-bottom: 1px solid #AAA;
}
.dl-table.-cell-top > dl > *,
dl.dl-table.-cell-top > * { 
  vertical-align: top;
}
.dl-table.-cell-middle > dl > *,
dl.dl-table.-cell-middle > * { 
  vertical-align: middle;
}
.dl-table.-cell-bottom > dl > *,
dl.dl-table.-cell-bottom > * { 
  vertical-align: bottom;
}
.dl-table.-dt-nowrap > dl > dt,
dl.dl-table.-dt-nowrap > dt {
  white-space: nowrap;
}
.dl-table.-dt-right > dl > dt,
dl.dl-table.-dt-right > dt {
  text-align: right;
}
