.layout--- {
  display: flex;
  min-height: 100vh;
  flex-direction: column;
}
@-moz-document url-prefix() {
  .flex-container {
    width: 100%;
    -moz-box-sizing: border-box;
  }
}
.stretch,
.same-h {
  -webkit-align-items: stretch;
  -ms-flex-align: stretch;
  align-items: stretch;
}
.stretch-xs {
  -webkit-align-items: stretch;
  -ms-flex-align: stretch;
  align-items: stretch;
}
@media (min-width: 768px) {
  .stretch-sm {
    -webkit-align-items: stretch;
    -ms-flex-align: stretch;
    align-items: stretch;
  }
}
@media (min-width: 992px) {
  .stretch-md {
    -webkit-align-items: stretch;
    -ms-flex-align: stretch;
    align-items: stretch;
  }
}
@media only screen and (min-width: 1200px) {
  .stretch-lg {
    -webkit-align-items: stretch;
    -ms-flex-align: stretch;
    align-items: stretch;
  }
}
.frame.type-cols,
.layout.type-cols {
  margin: 10px 0 10px;
}
