html {
  font-size: 16px;
}
html,
body,
div {
  box-sizing: border-box;
}
html,
body,
.site-flex {
  display: flex;
  flex-direction: column;
  height: 100vh;
  margin: 0;
  padding: 0;
}
html > div,
body > div,
.site-flex > div {
  flex: 1 1 auto;
}
html > div.site-topline,
body > div.site-topline,
.site-flex > div.site-topline {
  height: 29px !important;
}
html body.admin-menu {
  margin: 0 !important;
}
html body.admin-menu .site-flex > .site-topline {
  height: 29px !important;
  display: block !important;
}
.site-flex {
  display: flex;
}
.site-flex > div {
  flex: 0 0 auto;
}
.site-flex > div.site-topline {
  height: 0;
  display: none;
}
.site-flex > div.site-frame {
  flex: 1 1 auto;
}
.site-header {
  box-shadow: 0 0 0.4em #00000077;
  background: #fff;
  z-index: 1000;
  position: fixed;
  width: 100%;
  border-top: 5px solid #c78a5a;
}
html body.admin-menu .site-header {
  top: 29px;
}
.site-frame {
  padding-top: 5em;
}
.box {
  padding: 2rem 0;
}
.box .box-subtitle {
  font-size: 1.4em;
  font-weight: 300;
  text-align: center;
}
.box .box-title,
.block > h2,
.block > .block-title {
  display: block;
  text-align: center;
  font-weight: 200;
  font-size: 2.1em;
  text-transform: uppercase;
  position: relative;
  padding: 1.5em 0;
}
.box .box-title:after,
.block > h2:after,
.block > .block-title:after {
  position: absolute;
  content: '.....';
  font-size: 4em;
  line-height: 0;
  color: #c9c9c9;
  top: 56%;
  width: 100%;
  left: 0;
  right: 0;
  text-align: center;
}
