/* --------------------------------------------------------------------------
   GRID
   -------------------------------------------------------------------------- */
@import url("https://fonts.googleapis.com/css2?family=Lato:wght@100;300;400;700&family=Staatliches&display=swap");
@import url("https://fonts.googleapis.com/css2?family=Nothing+You+Could+Do&family=Raleway&family=Shadows+Into+Light+Two&display=swap");
@import url("https://fonts.googleapis.com/css2?family=Oswald:wght@200;300;400;500;600&display=swap");
@import url("https://fonts.googleapis.com/css2?family=Shadows+Into+Light+Two&display=swap");
body {
  background: white;
}

* {
  margin: 0;
  padding: 0;
  box-sizing: border-box;
}

body {
  font-size: 12pt;
  color: #333 !important;
  font-family: "Raleway", sans-serif;
  font-weight: 400;
  line-height: 1.5;
}

div {
  box-sizing: border-box;
}

p {
  margin: 0;
}

a {
  color: inherit;
  text-decoration: none;
}
a:hover {
  text-decoration: none;
}

.order-1 {
  order: 1;
}

.order-2 {
  order: 2;
}

.order-3 {
  order: 3;
}

.font-red {
  color: red;
}

.spinner-wrapper {
  display: none;
}

.show-spinner .spinner-wrapper {
  width: 100%;
  height: 100%;
  background: #000000;
  opacity: 0.5;
  display: block;
  position: absolute;
  top: 0;
  left: 0;
  z-index: 1;
}

.spinner {
  animation: rotate 2s linear infinite;
  z-index: 2;
  position: absolute;
  top: 50%;
  left: 50%;
  margin: -25px 0 0 -25px;
  width: 50px;
  height: 50px;
}
.spinner .path {
  stroke: hsl(210, 70%, 75%);
  stroke-linecap: round;
  animation: dash 1.5s ease-in-out infinite;
}

@keyframes rotate {
  100% {
    transform: rotate(360deg);
  }
}
@keyframes dash {
  0% {
    stroke-dasharray: 1, 150;
    stroke-dashoffset: 0;
  }
  50% {
    stroke-dasharray: 90, 150;
    stroke-dashoffset: -35;
  }
  100% {
    stroke-dasharray: 90, 150;
    stroke-dashoffset: -124;
  }
}
h1, .h1, h2, .h2, h3, .h3, h4, .h4 {
  font-family: "Staatliches", sans-serif;
}
h1 .textblock, .h1 .textblock, h2 .textblock, .h2 .textblock, h3 .textblock, .h3 .textblock, h4 .textblock, .h4 .textblock {
  margin-top: 0.5em;
  margin-bottom: 1em;
}
h1 .textblock-concise, .h1 .textblock-concise, h2 .textblock-concise, .h2 .textblock-concise, h3 .textblock-concise, .h3 .textblock-concise, h4 .textblock-concise, .h4 .textblock-concise {
  margin-top: 0.25em;
  margin-bottom: 0.5em;
}

.fancy-title {
  font-family: "Staatliches", sans-serif;
  font-size: 1.5em;
  font-weight: 800;
}

.fancy-body {
  font-family: "Raleway", sans-serif;
  font-weight: 200;
  font-size: 1.1em;
}

.small-print {
  font-size: 0.8em;
}

.text-error {
  color: #a42c2c;
}

h1, .h1 {
  font-size: 20pt;
}

.para {
  margin: 25px 0;
}
.para.lite {
  font-size: 0.8em;
}

.emphasis {
  font-weight: bold;
}

.padded {
  padding: 25px;
}

.space, .sp-1 {
  margin-top: 20px;
  margin-bottom: 20px;
}

.space-2, .sp-2 {
  margin-top: 40px;
  margin-bottom: 40px;
}

.link:hover {
  text-decoration: underline;
}

.text-white {
  color: white;
}

.flex-box, .flex {
  display: flex;
}
.flex-box.justify, .flex.justify {
  justify-content: space-between;
}
.flex-box.wrap, .flex.wrap {
  flex-wrap: wrap;
}
.flex-box .flex-grow, .flex .flex-grow {
  flex-grow: 2;
}
.flex-box.vertical-center, .flex.vertical-center {
  justify-content: center;
}
.flex-box.align-base, .flex.align-base {
  align-items: baseline;
}
.flex-box.flex-col, .flex.flex-col {
  flex-direction: column;
}

@media screen and (max-width: 768px) {
  .flex-box, .flex {
    justify-content: space-between;
  }
  .flex-box.mobile-col, .flex.mobile-col {
    flex-direction: column;
  }
}
@media screen and (min-width: 769px) {
  .flex-box, .flex {
    flex-direction: row;
    justify-content: space-between;
  }
  .desktop-flex {
    display: flex;
  }
}
.flex-wrap {
  flex-wrap: wrap;
}

.flex-gap {
  gap: 5px;
}

.space-around {
  justify-content: space-around;
}

.flex-left {
  justify-content: flex-start;
}

.flex-inline {
  display: inline-flex;
}

.flex-vert {
  display: flex;
  flex-direction: column;
  justify-content: space-between;
}

.box {
  position: relative;
  display: inline-block;
}
.box .inner.bottom {
  position: absolute;
  bottom: 0;
}

.text-section {
  margin: 32px 0;
}

.width-10 {
  width: 10%;
}

.width-25 {
  width: 25%;
}

.width-33 {
  width: 33%;
}

.width-50 {
  width: 50%;
}

.width-66 {
  width: 66%;
}

.width-75 {
  width: 75%;
}

.width-100 {
  width: 100%;
}

@media screen and (max-width: 768px) {
  .m\:width-100 {
    width: 100%;
  }
}
.leading {
  margin-top: 1em;
  margin-bottom: 1em;
}

@media screen and (min-width: 769px) {
  .leading {
    margin-top: 1em;
    margin-bottom: 1em;
  }
  .leading-2 {
    margin-top: 2em;
    margin-bottom: 2em;
  }
}
@media screen and (min-width: 769px) {
  .desk-w25 {
    width: 25%;
  }
  .desk-w33 {
    width: 33%;
  }
  .desk-w50 {
    width: 50%;
  }
  .desk:w66 {
    width: 66%;
  }
  .desk:w75 {
    width: 75%;
  }
  .desk:w100 {
    width: 100%;
  }
}
.page {
  min-height: calc(100vh - 150px);
}

.width-200 {
  width: 200px;
}

.width-250 {
  width: 250px;
}

.max-250 {
  max-width: 250px;
}

.absolute {
  position: absolute;
}

.relative {
  position: relative;
}

.min-h-250 {
  min-height: 250px;
}

.m-auto {
  margin: 0 auto;
}

.mx {
  margin-top: 10px;
  margin-bottom: 10px;
}

.my-20 {
  margin-top: 2em;
  margin-bottom: 2em;
}

.strike {
  text-decoration: line-through;
}

.red {
  color: red;
}

.pad {
  padding: 1em;
}

#modal, .modal, .modal-popup {
  display: none;
  position: fixed;
  top: 0px;
  left: 0px;
  width: 100vw;
  height: calc(100vh - 100px);
  z-index: 1000;
}
#modal.active, .modal.active, .modal-popup.active {
  display: block;
}
#modal .modal-wrapper, .modal .modal-wrapper, .modal-popup .modal-wrapper {
  width: 100vw;
  height: 100vh;
  background: rgba(0, 0, 0, 0.6);
}

.modal-promome .modal-body {
  width: 800px !important;
  height: 600px !important;
}

.modal-body .standard {
  width: 800px;
  height: 500px;
}

.full-width {
  margin-left: -20px;
  margin-top: -20px;
}

.standard {
  width: 600px;
  height: 400px;
}

.modal-background {
  position: absolute;
  width: 100%;
}

.modal-popup.modal-how-to .modal-body {
  width: 800px;
  height: 600px;
}

.modal .modal-body {
  background: white;
  position: absolute;
  transform: translate(-50%, -50%);
  top: 50%;
  left: 50%;
  width: 90vw;
  height: auto;
  border-radius: 25px;
  padding: 20px;
  overflow: hidden;
}
.modal .modal-body.auto {
  height: auto;
}
.modal .modal-body .modal-header {
  position: absolute;
  width: calc(100% - 44px);
  pointer-events: none;
}
.modal .modal-body .modal-header .close-icon {
  float: right;
  padding: 10px;
  cursor: pointer;
  pointer-events: all;
}
.modal .modal-body .modal-content {
  height: 100%;
}
.modal .modal-body .modal-content .flex-column {
  height: 100%;
  display: flex;
  flex-direction: column;
}
.modal .modal-body .modal-content .flex-row {
  width: 100%;
  display: flex;
  flex-direction: row;
}
@media screen and (min-width: 769px) {
  #modal {
    height: 100vh;
  }
  .modal .modal-body {
    background: white;
    position: absolute;
    transform: translate(-50%, -50%);
    top: 50%;
    left: 50%;
    width: 60%;
    height: auto;
    border-radius: 25px;
    padding: 20px;
  }
}
.black {
  background: black;
  color: white;
}

.inverted {
  background: #802ba2;
  color: white;
}

.silver {
  background: #eee;
}

.headline {
  font-family: "Staatliches", sans-serif;
  font-size: 2em;
  margin-top: 2em;
  text-transform: uppercase;
}
.headline .title-prefix {
  color: white;
  font-size: 0.8em;
  line-height: 0.8em;
  padding-bottom: 2px;
}
.headline .title {
  font-size: 1em;
  line-height: 0.8em;
  padding-bottom: 2px;
}
.headline .title-challenge {
  font-size: 1.8em;
  line-height: 0.8em;
}

.drop {
  filter: drop-shadow(2px 2px 5px rgba(255, 255, 255, 0.9));
}

.drop-dark {
  filter: drop-shadow(2px 2px 5px rgba(0, 0, 0, 0.9));
}

.width-500 {
  width: 500px !important;
  max-width: 100vw;
}

.font-poster {
  font-family: "Staatliches", sans-serif;
}

.text-2xl {
  font-size: 2em !important;
  line-height: 1em !important;
}

.text-italic {
  font-style: italic;
}

.text-5xl {
  font-size: 4em !important;
  line-height: 1em !important;
}

.text-black {
  color: black;
}

.big-and-loud {
  font-family: "Staatliches", sans-serif;
  font-weight: 800;
  font-size: 25pt;
  line-height: 35pt;
  width: 80%;
  margin: 0 auto;
  text-align: center;
  text-transform: uppercase;
  background: rgb(3, 18, 22);
  background: linear-gradient(60deg, #c36ce5 0%, #642e7a 29%, #c36ce5 64%, #642e7a 100%);
  -webkit-background-clip: text;
  color: transparent;
}

@media screen and (min-width: 769px) {
  .big-and-loud {
    font-size: 40pt;
    line-height: 52pt;
  }
}
.pad-10 {
  padding: 5px 10px;
}

.striped .row:nth-child(odd) {
  background: #e9e9e9;
}

@media screen and (min-width: 769px) {
  .big-and-loud {
    font-size: 50pt;
    line-height: 52pt;
    width: 66%;
  }
}
.align-left {
  text-align: left;
}

.align-right {
  text-align: right;
}

.align-center {
  text-align: center;
}

.drop-shadow {
  box-shadow: rgba(149, 157, 165, 0.2) 0px 8px 24px;
}

.suffix-link {
  position: absolute;
  top: 10px;
  right: 10px;
}

.link:hover {
  text-decoration: underline;
}

.inner-padding {
  padding: 25px;
}

.page .inner {
  max-width: 1366px;
  margin: 0 auto;
}
.page .inner-page {
  max-width: 1366px;
  margin: 0 auto;
  box-shadow: rgba(149, 157, 165, 0.2) 0px 8px 24px;
}

.centre-boxed {
  margin: 0 auto;
  position: absolute;
  top: 50%;
  left: 50%;
  transform: translate(-50%, -50%);
}

@media screen and (min-width: 769px) {
  .centre-left-boxed {
    margin: 0 auto;
    position: absolute;
    top: 50%;
    left: 0;
    transform: translatey(-50%);
  }
}
.bg-grey {
  background-color: #f5f5f5;
}

.padded-box {
  padding: 20px;
}

.pad {
  padding: 1em;
}

.m-4 {
  margin: 1em;
}

.mt-8 {
  margin-top: 18px;
}

.my-32 {
  margin-top: 32px;
  margin-bottom: 32px;
}

.text-primary {
  color: #802ba2;
}

.text-secondary {
  color: #d86ff1;
}

.text-body {
  font-family: "Raleway", sans-serif;
  font-size: 1em;
  color: #222;
}

.p-8 {
  padding: 8px;
}

.block {
  display: block;
}

.borders {
  background: linear-gradient(to right, #802ba2 2px, transparent 2px) 0 0, linear-gradient(to left, #802ba2 2px, transparent 2px) 100% 100%, linear-gradient(to bottom, #802ba2 2px, transparent 2px) 0 0, linear-gradient(to top, #802ba2 2px, transparent 2px) 100% 100%;
  background-repeat: no-repeat;
  background-size: 50px 50px;
  transition: all 250ms ease-out;
}

.borders:hover {
  background-size: 100% 100%;
}

.h-200 {
  min-height: 200px;
}

.min500 {
  min-height: 500px;
}

.row-spacer {
  min-height: 64px;
}

.mt {
  margin-top: 10px;
}

.mt20 {
  margin-top: 20px;
}

.py-2 {
  padding-top: 4px;
  padding-bottom: 4px;
}

.text-small {
  font-size: 0.8em;
  color: #575757;
}

.text-lg {
  font-size: 1.5rem;
  color: #575757;
}

@media screen and (max-width: 768px) {
  .m\:text-base {
    font-size: 1rem;
    color: #575757;
  }
}
.text-h3 {
  font-family: "Staatliches", sans-serif;
  font-size: 1.6em;
  font-weight: bold;
}

.text-h4 {
  font-family: "Staatliches", sans-serif;
  font-size: 1.2em;
  font-weight: bold;
}

.w-80p {
  width: 80%;
}

.auto {
  margin: 0 auto;
}

.pt50 {
  padding-top: 50px;
}

.pb50 {
  padding-bottom: 50px;
}

.fill-blue .svg {
  fill: #802ba2;
}

.w-50 {
  width: 50%;
}

.w-full {
  width: 100%;
}

.h-full {
  height: 100%;
}

.flex-middle {
  align-items: center;
}

.large {
  font-size: 1.2em;
}

.pad-50 {
  padding-top: 50px;
  padding-bottom: 50px;
}

.error-message {
  color: red;
  font-weight: bold;
  padding: 5px;
  background-color: #fdd2be;
}

.border-horizontal {
  border-top: 1px solid #bdbbbb;
  border-bottom: 1px solid #bdbbbb;
}

@media screen and (max-width: 768px) {
  .page .outer-margin {
    margin: 20px 0;
  }
  .page .inner {
    padding-left: 20px;
    padding-right: 20px;
  }
  .page .inner-page {
    padding-left: 20px;
    padding-right: 20px;
    margin-top: 10px;
    margin-bottom: 10px;
  }
}
@media screen and (min-width: 769px) {
  .page .outer-margin {
    margin: 20px;
  }
  .page .inner {
    padding-left: 50px;
    padding-right: 50px;
  }
  .page .inner-page {
    padding-left: 50px;
    padding-right: 50px;
    margin-top: 20px;
    margin-bottom: 20px;
  }
}
.rot5 {
  margin: 20px;
  transform: rotate(2deg);
}

.rotn5 {
  margin: 20px;
  transform: rotate(-2deg);
}

.shadow {
  -moz-box-shadow: 10px 10px 50px 0px rgba(153, 153, 153, 0.52);
  box-shadow: 10px 10px 50px 0px rgba(153, 153, 153, 0.52);
}

.padding {
  padding: 10px;
}

.bold {
  font-weight: 800;
}

.larger {
  font-size: 1.5em;
}

.size-x3 {
  font-size: 3em;
}

.auto {
  margin: auto;
}

.my-4 {
  margin-top: 4em;
  margin-bottom: 4em;
}

.hide {
  height: 0px !important;
  overflow: hidden;
  margin: 0 !important;
  border: 0 !important;
}

.hide-visible {
  display: none;
}

.rounded-10 {
  border-radius: 10px;
}

.grid {
  display: grid;
}

.gap {
  column-gap: 10px;
}

.text-shadow {
  text-shadow: rgb(149, 157, 165) 2px 2px 6px;
}

.justify-center {
  justify-content: center;
}

.hidden {
  display: none !important;
}

@media screen and (max-width: 768px) {
  .grid-1 {
    grid-template-columns: 1fr;
  }
  .grid-2 {
    grid-template-columns: 1fr;
  }
  .grid-3 {
    grid-template-columns: 1fr;
  }
}
@media screen and (min-width: 768px) and (max-width: 1024px) {
  .grid-1 {
    grid-template-columns: 1fr;
  }
  .grid-2 {
    grid-template-columns: 1fr 1fr;
  }
  .grid-3 {
    grid-template-columns: 1fr 1fr;
  }
}
@media screen and (min-width: 769px) {
  .grid-1 {
    grid-template-columns: 1fr;
  }
  .grid-2 {
    grid-template-columns: 1fr 1fr;
  }
  .grid-3 {
    grid-template-columns: 1fr 1fr 1fr;
  }
}
.margin {
  margin-top: 0.5em;
  margin-bottom: 0.5em;
}

.margin-2 {
  margin-top: 1em;
  margin-bottom: 1em;
}

.margin-4 {
  margin-top: 2em;
  margin-bottom: 2em;
}

.margin-top {
  margin-top: 0.5em;
}

.margin-top-2 {
  margin-top: 1em;
}

.main-menu {
  display: none;
}

/* ----------------------------------
   Header
   ---------------------------------- */
.admin-page #header {
  background-color: darkred;
}

#header {
  position: fixed;
  width: 100%;
  margin: 0 auto;
  z-index: 1;
  background-color: #802ba2;
  background: rgb(87, 19, 114);
  height: 75px;
  font-size: 18pt;
}
#header .admin-header {
  background-color: darkred;
}
#header .header-inner {
  width: 100%;
  margin: 0 auto;
  height: 100%;
  display: grid;
  grid-template-columns: 1fr auto 1fr;
}
#header .header-inner .account-name {
  font-size: 1.2em;
  font-weight: bold;
  text-align: right;
}
#header .header-inner .account-links {
  text-align: right;
}
#header .header-inner .logo-wrapper {
  width: 50px;
}
#header .header-inner .title-wrapper {
  display: flex;
  justify-self: center;
}
#header .header-inner .header-right {
  display: flex;
  align-items: center;
  justify-self: end;
  gap: 12px;
}
#header .header-inner .header-right .logo-wrapper {
  height: 40px;
  width: auto;
}
#header .header-inner .header-right .iconbar .item-account .icon {
  width: auto;
  display: flex;
  align-items: center;
  justify-content: center;
}
#header .header-inner .header-right .iconbar .item-account .icon svg {
  display: block;
}
#header .header-inner .header-right .iconbar .item-account .label a {
  color: white;
  text-decoration: none;
}
#header .header-inner .header-right .iconbar .item-account .label a:hover {
  text-decoration: underline;
}
#header .header-inner .hamburger-wrapper {
  width: 50px;
}
#header .logo-wrapper .logo-badge {
  height: 80%;
  margin-top: 10%;
  margin-left: 10%;
}
#header .logo-wrapper .logo-badge .image {
  margin-top: 2px;
  height: 100%;
}
#header .title-wrapper {
  color: white;
}
#header .title-wrapper .menu-item {
  margin-top: 16px;
}
#header .title-wrapper .left-menu {
  align-self: flex-end;
}
#header .title-wrapper .right-menu {
  align-self: flex-end;
}
#header .title-wrapper .site-title .image {
  height: 1.3em;
  margin-top: 0.1em;
}
#header .title-wrapper .site-title {
  font-size: 2em;
  font-family: "Staatliches", sans-serif;
  color: white;
  margin-left: 20px;
  margin-right: 20px;
}
#header .title-wrapper .site-title .h1 {
  margin-top: 5px;
  font-size: 3rem;
  line-height: 3rem;
}
#header .title-wrapper .site-title .h2 {
  font-size: 1rem;
  line-height: 1rem;
  margin-top: -5px;
  text-align: center;
}
#header .title-wrapper .small {
  font-size: 0.75em;
}
#header .hamburger-wrapper {
  padding-top: 10px;
}
#header .hamburger-wrapper .hamburger {
  position: absolute;
  top: 50%;
  transform: translateY(-50%);
}
#header .menu-dropdown {
  overflow: hidden;
  position: absolute;
  top: 76px;
  width: 275px;
  background: white;
  right: -275px;
  transition-duration: 0.25s;
}
#header .menu-dropdown.is-active {
  height: auto;
  right: 0px;
}
#header img {
  vertical-align: bottom !important;
}

.main-menu {
  width: 912px;
  margin: 0 auto;
}

/* -----------------------------------------------------------------------------------------
 * Mobile styling
 * ----------------------------------------------------------------------------------------- */
@media screen and (max-width: 768px) {
  #header {
    font-size: 14pt;
  }
  #header .title-wrapper .site-title {
    font-size: 2em;
    margin-top: 10px;
    line-height: 1em;
  }
  #header .title-wrapper .site-title .h1 {
    font-size: 1em;
    line-height: 1em;
    margin-top: -10px;
  }
  #header .iconbar .item.item-details {
    display: none;
  }
  #body {
    padding: 50px 0 0 0;
    padding-bottom: 0rem; /* Height of the footer */
  }
}
/* -----------------------------------------------------------------------------------------
 * Desktop styling
 * ----------------------------------------------------------------------------------------- */
@media screen and (min-width: 769px) {
  #body {
    padding: 75px 0 0 0;
    padding-bottom: 0rem; /* Height of the footer */
  }
  .admin-page #body {
    padding: 122px 0 0 0;
  }
  #header .main-menu {
    display: block;
  }
}
.social-icon .svg {
  fill: currentColor;
}

#footer {
  bottom: 0;
  width: 100%;
  min-height: 64px;
  background-color: rgb(87, 19, 114);
  padding-top: 30px;
  padding-bottom: 100px;
}
#footer .social-icon .svg {
  fill: white;
}

.footer-inner {
  color: white;
  width: 100%;
  height: 96px;
  padding: 0px;
  margin: 0 auto;
  text-align: center;
}
.footer-inner .footer-copyright {
  margin-bottom: 32px;
}

#mobileMenu .menubar,
#mobileNavBar {
  display: none;
}

@media screen and (min-width: 769px) {
  .mobile-logo {
    display: none;
  }
}
@media screen and (max-width: 768px) {
  .mobile-logo {
    position: absolute;
    top: 10px;
    left: 52px;
    height: 32px;
  }
  .mobile-logo img {
    height: 100%;
  }
  #header {
    height: 50px;
  }
  #mobileNavBar {
    display: block;
    position: absolute;
    top: 0;
    margin: 10px;
    width: 32px;
    height: 32px;
    background-image: url("/assets/icon-mobile-nav.png");
  }
  #mobileMenu .menubar {
    display: none;
    position: absolute;
    top: 40px;
    background: white;
    width: 100%;
    cursor: pointer;
  }
  #mobileMenu .menubar .menuitem {
    display: block;
    padding: 10px;
    font-size: 20pt;
    border-bottom: 1pt solid #ddd;
  }
  #mobileMenu .menubar .menuitem .menu {
    display: none;
  }
  #mobileMenu .menubar .menuitem .menu.isVisible {
    display: block;
  }
  #mobileMenu .menubar .menuitem .menu .item {
    padding-top: 10px;
  }
}
.zoom-image img {
  transition-duration: 0.3s;
}
.zoom-image:hover img {
  width: 110%;
}

.imagebox {
  width: 100%;
  overflow: hidden;
  position: relative;
  padding-bottom: 66%;
  height: 1px;
}
.imagebox .image-label {
  position: absolute;
  padding: 10px 20px;
  text-align: center;
}
.imagebox .image-label.top {
  top: 0px;
}
.imagebox .image-label.left {
  left: 0px;
}
.imagebox .image-label.right {
  right: 0px;
}
.imagebox .image-label.bottom {
  bottom: 0px;
}
.imagebox .image-label.sticker {
  top: 50%;
  left: 50%;
  transform: translate(-50%, -50%) rotate(-30deg);
  width: 100%;
  opacity: 0.8;
  border-radius: 3px;
  text-transform: uppercase;
  font-weight: bold;
}
.imagebox .image-label.red {
  background: red;
  color: white;
}
.imagebox .image-label.yellow {
  background: #f5f5af;
  color: #fcbb70;
}
.imagebox .image-label.green {
  background: #92fd92;
  color: #116c0e;
}
.imagebox img, .imagebox .image.centered {
  position: absolute;
  top: 50%;
  left: 50%;
  transform: translate(-50%, -50%);
  width: 100%;
}
.imagebox.slim img {
  width: auto;
  height: 100%;
}
.imagebox.tall img {
  width: 100%;
  height: auto;
}
.imagebox.aspect2x2 {
  padding-bottom: 100%;
}
.imagebox.aspect2x2 .slim {
  width: auto;
  height: 100%;
}
.imagebox.aspect2x2 .tall {
  width: 100%;
  height: auto;
}
.imagebox.aspect16x9 {
  padding-bottom: 40%;
}
.imagebox.aspect16x9 .slim {
  height: 100%;
  width: auto;
}
.imagebox.aspect16x9 .tall {
  width: 100%;
  height: auto;
}
.imagebox.aspect3x2 {
  padding-bottom: 66%;
}
.imagebox.aspect3x2 .slim {
  height: 100%;
  width: auto;
}
.imagebox.aspect3x2 .tall {
  width: 100%;
  height: auto;
}
.imagebox.aspect4x2 {
  padding-bottom: 40%;
}
.imagebox.aspect4x2 .slim {
  height: 100%;
  width: auto;
}
.imagebox.aspect4x2 .tall {
  width: 100%;
  height: auto;
}
.imagebox.aspect4x1 {
  padding-bottom: 25%;
}
.imagebox.aspect4x1 .slim {
  height: 100%;
  width: auto;
}
.imagebox.aspect4x1 .tall {
  width: 100%;
  height: auto;
}
.imagebox.aspect3x1 {
  padding-bottom: 33%;
}
.imagebox.aspect2x3 {
  padding-bottom: 150%;
}
.imagebox.aspect2x3 img {
  width: auto;
  height: 100%;
}
.imagebox.aspect2x3 img.tall {
  width: 100%;
  height: auto;
}
.imagebox.aspect1x3 {
  padding-bottom: 300%;
}
.imagebox.aspect1x3 img {
  width: auto;
  height: 100%;
}
.imagebox.aspect1x3 img.tall {
  width: 100%;
  height: auto;
}
.imagebox.aspect12x1 {
  padding-bottom: 12%;
}
.imagebox.aspect12x1 .slim {
  height: 100%;
  width: auto;
}
.imagebox.aspect12x1 .tall {
  width: 100%;
  height: auto;
}

@media screen and (max-width: 768px) {
  .imagebox.m\:aspect2x2 {
    padding-bottom: 100%;
  }
  .imagebox.m\:aspect2x2 img {
    height: 100%;
    width: auto;
  }
  .imagebox.m\:aspect2x3 {
    padding-bottom: 150%;
  }
  .imagebox.m\:aspect3x1 {
    padding-bottom: 33%;
  }
  .imagebox.m\:aspect3x1 img {
    height: auto;
    width: 100%;
  }
}
.button-group {
  margin-top: 30px;
  display: flex;
}
.button-group.align-left {
  justify-content: left;
}
.button-group.align-center {
  justify-content: center;
}
.button-group.align-right {
  justify-content: right;
}

.btn {
  padding: 15px 20px;
  background-color: #1D71B8;
  border: 1px solid #1D71B8;
  border-radius: 5px;
  cursor: pointer;
  color: white;
}
.btn:hover {
  background-color: #2a8cde;
  border: 1px solid #2a8cde;
}

.btn-icon {
  padding: 5px 10px;
  background-color: transparent;
  border: none;
  color: #1D71B8;
}
.btn-icon:hover {
  color: black;
}

.button {
  border-radius: 3px;
  transition-duration: 0.3s;
  cursor: pointer;
  padding: 10px 15px;
  background-color: #802ba2;
  border: 1px solid #802ba2;
  color: white;
}
.button.large {
  padding: 20px 30px;
}
.button.extra-wide {
  padding: 10px 30px;
}
.button:hover {
  background-color: #a036ca;
  border: 1px solid #a036ca;
}
.button.grey, .button.btn-altern, .button.altern {
  background-color: #d86ff1;
  border: 1px solid #d86ff1;
  color: white;
}
.button.grey:hover, .button.btn-altern:hover, .button.altern:hover {
  background-color: #cb41ec;
  border: 1px solid #cb41ec;
}
.button.green, .button.btn-affirm, .button.affirm {
  background-color: #54a136;
  border: 1px solid #54a136;
  color: white;
}
.button.green:hover, .button.btn-affirm:hover, .button.affirm:hover {
  background-color: #407b29;
  border: 1px solid #407b29;
}
.button.red, .button.btn-cancel, .button.cancel {
  background-color: #a42c2c;
  border: 1px solid #a42c2c;
  color: white;
}
.button.red:hover, .button.btn-cancel:hover, .button.cancel:hover {
  background-color: #7c2121;
  border: 1px solid #7c2121;
}
.button.extra-wide {
  padding: 20px 50px;
  min-width: 250px;
}

.button + .button {
  margin-left: 10px;
}

@media screen and (min-width: 769px) {
  .btn-large {
    padding: 15px 40px;
    font-size: 1.1em;
    text-transform: uppercase;
  }
}
/*!
 * Hamburgers
 * @description Tasty CSS-animated hamburgers
 * @author Jonathan Suh @jonsuh
 * @site https://jonsuh.com/hamburgers
 * @link https://github.com/jonsuh/hamburgers
 */
.hamburger {
  font: inherit;
  display: inline-block;
  overflow: visible;
  margin: 0;
  cursor: pointer;
  transition-timing-function: linear;
  transition-duration: 0.15s;
  transition-property: opacity, filter;
  text-transform: none;
  color: inherit;
  border: 0;
  background-color: transparent;
}

.hamburger.is-active:hover, .hamburger:hover {
  opacity: 0.7;
}

.hamburger.is-active .hamburger-inner, .hamburger.is-active .hamburger-inner:after, .hamburger.is-active .hamburger-inner:before {
  background-color: #f2f2f2;
}

.hamburger-box {
  position: relative;
  display: inline-block;
  width: 40px;
  height: 24px;
}

.hamburger-inner {
  top: 50%;
  display: block;
  margin-top: -2px;
}

.hamburger-inner, .hamburger-inner:after, .hamburger-inner:before {
  position: absolute;
  width: 40px;
  height: 2px;
  transition-timing-function: ease;
  transition-duration: 0.15s;
  transition-property: transform;
  border-radius: 2px;
  background-color: #f2f2f2;
}

.hamburger-inner:after, .hamburger-inner:before {
  display: block;
  content: "";
}

.hamburger-inner:before {
  top: 10px;
}

.hamburger-inner:after {
  bottom: 10px;
}

.hamburger--spin .hamburger-inner {
  transition-timing-function: cubic-bezier(0.55, 0.055, 0.675, 0.19);
  transition-duration: 0.22s;
}

.hamburger--spin .hamburger-inner:before {
  transition: top 0.1s ease-in 0.25s, opacity 0.1s ease-in;
}

.hamburger--spin .hamburger-inner:after {
  transition: bottom 0.1s ease-in 0.25s, transform 0.22s cubic-bezier(0.55, 0.055, 0.675, 0.19);
}

.hamburger--spin.is-active .hamburger-inner {
  transition-delay: 0.12s;
  transition-timing-function: cubic-bezier(0.215, 0.61, 0.355, 1);
  transform: rotate(225deg);
}

.hamburger--spin.is-active .hamburger-inner:before {
  top: 0;
  transition: top 0.1s ease-out, opacity 0.1s ease-out 0.12s;
  opacity: 0;
}

.hamburger--spin.is-active .hamburger-inner:after {
  bottom: 0;
  transition: bottom 0.1s ease-out, transform 0.22s cubic-bezier(0.215, 0.61, 0.355, 1) 0.12s;
  transform: rotate(-90deg);
}

.hamburger--spin-r .hamburger-inner {
  transition-timing-function: cubic-bezier(0.55, 0.055, 0.675, 0.19);
  transition-duration: 0.22s;
}

#header .mobile-nav {
  display: none;
  position: absolute;
  right: 0px;
  width: 200px;
  z-index: 100;
  background-color: white;
  border: 1px solid grey;
}
#header .mobile-nav.is-active {
  display: block;
}

@media screen and (min-width: 769px) {
  .mobile-nav {
    display: none;
  }
}
/* ----------------------------------------------------------------------------
   Menubar
   ---------------------------------------------------------------------------- */
#header .menubar {
  font-family: "Staatliches", sans-serif;
  font-variant: small-caps;
}

.menubar {
  display: flex;
  color: white;
  padding-left: 150px;
}

.menubar .item.l1 > .menu > .item, .menu .item.l1 > .menu > .item {
  transition-duration: 0.3s;
  width: 170px;
}
.menubar .item, .menu .item {
  position: relative;
  width: 170px;
}
.menubar .item .title, .menu .item .title {
  display: inline-block;
  padding: 5px 25px;
  width: 100%;
  box-sizing: border-box;
}
.menubar .item .menu, .menu .item .menu {
  position: absolute;
  z-index: 100;
}
.menubar .item .menu .item, .menu .item .menu .item {
  height: 0px;
  width: 0px;
  overflow: hidden;
}
.menubar .item.active > .menu > .item, .menu .item.active > .menu > .item {
  height: 60px;
  width: 170px;
  position: relative;
  overflow: initial;
}
.menubar .item.active > .menu > .item > .title, .menu .item.active > .menu > .item > .title {
  position: absolute;
  top: 50%;
  left: 50%;
  transform: translate(-50%, -50%);
}
.menubar .item.active > .menu > .item > .item, .menu .item.active > .menu > .item > .item {
  width: 0;
}
.menubar .item .menu .menu, .menu .item .menu .menu {
  top: 0px;
  left: 100%;
}
.menubar .item.active, .menu .item.active {
  background-color: #60207a;
}
.menubar .menu, .menu .menu {
  background: #a036ca;
}
.menubar .menu > .item.active, .menu .menu > .item.active {
  background-color: #b35fd4;
}
.menubar .menu-item:hover, .menu .menu-item:hover {
  background-color: #b35fd4;
}

.toolbar {
  display: flex;
}
.toolbar .toolbar-item {
  position: relative;
  border-radius: 8px;
  cursor: pointer;
  margin: 2px;
  width: 96px;
  height: 46px;
}
.toolbar .toolbar-item:hover {
  background: #a036ca;
}
.toolbar .toolbar-item.disabled {
  opacity: 0.5;
  pointer-events: none;
}
.toolbar .toolbar-item .icon {
  position: absolute;
  text-align: center;
  width: 100%;
  top: 5px;
  font-size: 20px;
}
.toolbar .toolbar-item .label {
  position: absolute;
  text-align: center;
  width: 100%;
  font-size: 8pt;
  bottom: 5px;
}

@media screen and (min-width: 769px) {
  .toolbar {
    display: flex;
  }
  .toolbar .toolbar-item {
    width: 96px;
    height: 64px;
  }
  .toolbar .toolbar-item .icon {
    font-size: 32px;
  }
}
.section-heroimage {
  position: relative;
}
.section-heroimage.h400 {
  height: 400px;
}
.section-heroimage .title-prefix {
  color: white;
}
.section-heroimage .para {
  color: white;
}
.section-heroimage .hero-image {
  width: 100vw;
  padding-bottom: 150%;
}
.section-heroimage .hero-inner {
  position: absolute;
  top: 0px;
  left: 0px;
  height: 100%;
  width: 100%;
  display: flex;
  flex-direction: column;
  justify-content: space-between;
  overflow: hidden;
}
.section-heroimage .hero-inner .image.centered {
  position: absolute;
  top: 50%;
  left: 50%;
  transform: translate(-50%, -50%);
}
.section-heroimage .hero-inner .hero-logo {
  width: 250px;
  margin: 0 auto;
}
.section-heroimage .mobile {
  position: absolute;
  width: 150px;
  bottom: 10%;
  left: 20%;
}
.section-heroimage .medal {
  position: absolute;
  width: 200px;
  bottom: 15%;
  left: 10%;
}
.section-heroimage .right .mobile {
  left: initial;
  right: 10%;
}
.section-heroimage .right .medal {
  left: initial;
  right: 15%;
  bottom: 20%;
}

@media screen and (max-width: 768px) {
  .section-heroimage .hero-inner {
    text-align: center;
  }
  .section-heroimage .hero-inner .hero-logo {
    margin-top: 20px;
  }
  .section-heroimage .hero-inner .hero-title {
    text-align: center;
  }
  .section-heroimage .hero-inner .hero-title .h1 {
    font-size: 3em;
    line-height: 1em;
  }
  .section-heroimage .hero-inner .hero-title .s1 {
    font-size: 1.5em;
    line-height: 1em;
  }
  .section-heroimage .hero-text-inner {
    width: 100%;
    text-align: center;
  }
  .section-heroimage .call-to-action {
    margin: 0 auto;
    margin-top: 30px;
    margin-bottom: 30px;
  }
}
@media screen and (min-width: 769px) {
  .section-heroimage .hero-image {
    width: 100vw;
    padding-bottom: 25%;
  }
  .section-heroimage .call-to-action {
    position: absolute;
    right: 50px;
    bottom: 50px;
  }
  .section-heroimage .image.centered {
    width: 100%;
  }
  .section-heroimage .hero-title {
    width: 400px;
    text-align: left;
  }
  .section-heroimage .hero-title .h1 {
    font-size: 4em;
    line-height: 1em;
  }
  .section-heroimage .hero-title .s1 {
    font-size: 2em;
    line-height: 1em;
  }
  .section-heroimage .hero-inner {
    flex-direction: row;
    align-items: center;
    text-align: center;
  }
  .section-heroimage .hero-inner .hero-logo {
    width: 250px;
    padding: 20px;
  }
  .section-heroimage .hero-text {
    width: 50%;
  }
  .section-heroimage .hero-text-inner {
    width: 50%;
    position: absolute;
    bottom: 20px;
  }
}
.animate {
  opacity: 0;
}
.animate.slide-left {
  left: -300px;
}
.animate.slide-right {
  left: 300px;
}
.animate.fade-in {
  left: 300px;
}

.animate-fired {
  transition-duration: 500ms;
  opacity: 1;
  left: 0;
}

.iconbar {
  display: flex;
}
.iconbar .item {
  position: relative;
  cursor: pointer;
  margin: 5px;
  color: white;
  text-align: center;
  display: flex;
  align-items: center;
}
.iconbar .item.disabled {
  opacity: 0.5;
  pointer-events: none;
}
.iconbar .item .icon {
  width: 64px;
  top: 5px;
  font-size: 2em;
  border-radius: 8px;
}
.iconbar .item .icon:hover {
  color: lightgrey;
}
.iconbar .item .label {
  font-size: 10pt;
}

.login-form {
  text-align: left;
}
.login-form h2, .login-form .h2 {
  margin-top: 0;
  margin-bottom: 1em;
}
.login-form p {
  margin-bottom: 1em;
}
.login-form label {
  display: block;
  margin-bottom: 0.4em;
  font-weight: bold;
}
.login-form input[type=text],
.login-form input[type=password] {
  width: 100%;
  box-sizing: border-box;
  padding: 0.6em 0.8em;
  border: 1px solid #ccc;
  border-radius: 4px;
  font-size: 1em;
}
.login-form .login-form-error {
  color: #bd0000;
  min-height: 1.2em;
}
.login-form button[type=submit] {
  width: 100%;
}

.section-heroimage .action-box {
  position: absolute;
  width: 50%;
  right: 80px;
  bottom: 20px;
  text-align: right;
}
.section-heroimage .headline {
  font-family: "Staatliches", sans-serif;
  font-size: 2em;
  margin-top: 2em;
  text-transform: uppercase;
}
.section-heroimage .headline .title-prefix {
  color: white;
  font-size: 0.8em;
  line-height: 0.8em;
  padding-bottom: 2px;
}
.section-heroimage .headline .title {
  font-size: 1em;
  line-height: 0.8em;
  padding-bottom: 2px;
}
.section-heroimage .headline .title-challenge {
  font-size: 1.8em;
  line-height: 0.8em;
}
.section-heroimage .para {
  color: white;
}

@media screen and (max-width: 768px) {
  .section-heroimage .image-box {
    height: 500px;
    position: relative;
    padding-bottom: 128%;
  }
  .section-heroimage .image-box .image {
    position: absolute;
    height: 100%;
    width: auto;
    overflow: hidden;
  }
  .section-heroimage .image-box .image img {
    height: 100%;
  }
  .section-heroimage .text-box {
    position: absolute;
    top: 0px;
    padding: 10px;
    display: flex;
    flex-direction: column;
    justify-content: space-between;
    height: 100%;
  }
  .section-heroimage .headline {
    margin-top: 0;
  }
  .section-heroimage .para {
    text-align: center;
    width: 66%;
    margin: 0 auto;
  }
  .section-heroimage .buttons {
    text-align: center;
    width: 66%;
    margin: 0 auto;
  }
  .section-heroimage.style-bottom .text-box {
    top: auto;
    bottom: 0px;
    padding-bottom: 100px;
  }
  .section-heroimage.style-bottom .text-box .para {
    display: none;
  }
  .section-heroimage.style-bottom .call-to-action {
    bottom: 20px;
    text-align: center;
    width: 100%;
  }
}
@media screen and (min-width: 768px) and (max-width: 1024px) {
  .section-heroimage {
    position: absolute;
    top: 0;
  }
}
@media screen and (min-width: 769px) {
  .section-heroimage .image-box {
    height: 1px;
    padding-bottom: 33%;
  }
  .section-heroimage .image-box .image {
    width: 100%;
  }
  .section-heroimage .text-box {
    position: absolute;
    top: 50%;
    transform: translateY(-50%);
    width: 40%;
  }
  .section-heroimage .text-box.right {
    right: 0;
  }
  .section-heroimage .para {
    width: 60%;
    padding-top: 40px;
  }
}
.section-welcome-style {
  margin: 50px 0;
}
.section-welcome-style .row {
  margin: 25px 0;
  display: flex;
}
.section-welcome-style .col + .col {
  margin-left: 20px;
}

.section-feature .text-box {
  position: relative;
}
.section-feature .width-60 {
  width: 60%;
}
.section-feature.grey {
  background-color: #6bafff;
}
@media screen and (max-width: 768px) {
  .section-feature .content {
    display: flex;
    flex-direction: column;
  }
  .section-feature .content .image-box {
    order: 1;
    margin-top: 20px;
    margin-bottom: 10px;
  }
  .section-feature .content .image-box .image {
    padding-bottom: 100%;
  }
  .section-feature .content .feature-item h1, .section-feature .content .feature-item .h1 {
    margin-top: 20px;
  }
  .section-feature .content .text-box {
    order: 2;
    padding: 0 10px;
  }
  .section-feature .content .fancy-title {
    margin-top: 0;
    font-size: 1.5em;
  }
}
@media screen and (min-width: 769px) {
  .section-feature .feature-item {
    padding: 25px;
  }
  .section-feature .content .image-box .image {
    padding-bottom: 50%;
  }
  .section-feature .margin-left {
    margin-left: 50px;
  }
  .section-feature .vert-center {
    position: absolute;
    top: 50%;
    transform: translateY(-50%);
  }
  .section-feature .text-box-inner {
    margin-top: 50px;
    margin-left: 24px;
  }
  .section-feature .fancy-title {
    font-size: 2.2em;
  }
}

.section-herobanner {
  position: relative;
}
.section-herobanner .image-box img {
  width: 100%;
}
.section-herobanner .text-wrapper {
  position: absolute;
  top: 0px;
  left: 0px;
  width: 100%;
  height: 100%;
  display: flex;
  flex-direction: column;
}
.section-herobanner .text-wrapper {
  display: flex;
  align-items: flex-end;
  justify-content: center;
}
.section-herobanner .text-box {
  padding: 20px;
}
.section-herobanner .cta-box {
  padding: 20px;
}
@media screen and (max-width: 768px) {
  .section-herobanner .text-wrapper {
    height: 100%;
  }
  .section-herobanner .text-wrapper .text-box {
    height: 100%;
  }
  .section-herobanner .text-wrapper .text-box .headline {
    margin-top: 0;
  }
  .section-herobanner .image-box {
    width: 100%;
    overflow: hidden;
    position: relative;
    padding-bottom: 125%;
    height: 1px;
  }
  .section-herobanner .image-box img {
    height: 100%;
  }
  .section-herobanner .image-box .image {
    position: absolute;
    top: 50%;
    left: 50%;
    transform: translate(-50%, -50%);
    width: 100%;
  }
}
@media screen and (min-width: 768px) and (max-width: 1024px) {
  .section-herobanner .image-box {
    width: 100%;
    overflow: hidden;
    position: relative;
    padding-bottom: 0 !important;
    height: 500px !important;
  }
  .section-herobanner .image-box .image {
    width: auto !important;
    height: 100% !important;
  }
}
@media screen and (min-width: 769px) {
  .section-herobanner .text-box {
    width: 40%;
  }
  .section-herobanner .image-box {
    width: 100%;
    overflow: hidden;
    position: relative;
    padding-bottom: 33%;
    height: 1px;
  }
  .section-herobanner .image-box img {
    width: 100%;
  }
  .section-herobanner .image-box .image {
    position: absolute;
    top: 50%;
    left: 50%;
    transform: translate(-50%, -50%);
    width: 100%;
  }
}

.section-iconics .icon {
  width: 66%;
  margin: 0 auto;
  padding-bottom: 100%;
}
.section-iconics .title {
  font-size: 1.7em;
  text-transform: uppercase;
  font-weight: bold;
  text-align: center;
  font-family: "Staatliches", sans-serif;
  color: #111;
}

@media screen and (max-width: 768px) {
  .section-iconics .title {
    min-height: 2.5em;
    font-size: 1.2em;
    line-height: 1.3em;
  }
}
/* ----------------------------------

   ---------------------------------- */
html, body {
  margin: 0;
  background-color: white;
  width: 100%;
  height: 100%;
  background: white;
}

#header {
  z-index: 100;
}

#body {
  z-index: 10;
  position: relative;
  background-color: white;
  width: 100%;
  margin: 0 auto;
  color: black;
}

#footer {
  z-index: 100;
}

/* ----------------------------------
   Min Height
   ---------------------------------- */
#body-minheight {
  float: left;
  height: 500px;
}

#body {
  overflow: hidden;
  min-height: 80vh;
}

/* --------------------------------------------------------------------------

   -------------------------------------------------------------------------- */
.clipAndCenter {
  position: relative;
  left: 50%;
  top: 50%;
  transform: translate(-50%, -50%);
}

.outer-wrapper {
  width: 100%;
}

.maxWidth {
  width: 100%;
  height: auto;
}

.maxHeight {
  width: auto !important;
  height: 100% !important;
}

.h1 > .col, .h1 > .box {
  height: 25em;
}

div {
  box-sizing: border-box;
}

.inner {
  max-width: 85.3771344284rem;
  margin: 0 auto;
  padding: 0 20px;
}

.break-out {
  width: 100vw !important;
  left: calc((100vw - 1266px) / -2);
}

.section-padding {
  margin-top: 25px;
  margin-bottom: 25px;
}

.row {
  width: 100%;
  position: relative;
  margin: 0 auto;
}

.gap {
  gap: 10px;
}

.full-screen-span-center {
  position: absolute;
  top: 50%;
  left: 50%;
  transform: translate(-50%, -50%);
}

.full-screen-splash {
  width: 100vw;
  height: 100vh;
}
.full-screen-splash img {
  height: 100%;
  position: absolute;
  top: 50%;
  left: 50%;
  transform: translate(-50%, -50%);
}

.text-center {
  text-align: center;
}

.span-center {
  margin: 0 auto;
}

.box {
  display: inline-block;
}

.col {
  position: relative;
  display: inline-block;
  vertical-align: top;
}

.col:first-child {
  position: relative;
}

.span2 {
  width: calc(16.1666666667% - 0px);
}

.span3 {
  width: calc(24.5% - 0px);
}

.span4 {
  width: calc(32.8333333333% - 0px);
}

.span6 {
  width: calc(49.5% - 0px);
}

.span8 {
  width: calc(66.1666666667% - 0px);
}

.span9 {
  width: calc(74.5% - 0px);
}

.span10 {
  width: calc(82.8333333333% - 0px);
}

.span12 {
  width: calc(99.5% - 0px);
}

.span6.grid {
  max-width: calc(683px);
}
.span6 .span2 {
  width: calc(32.8333333333% - 0px);
}
.span6 .span3 {
  width: calc(49.5% - 0px);
}
.span6 .span4 {
  width: calc(66.1666666667% - 0px);
}

.span8 .span2 {
  width: calc(24.5% - 0px);
}
.span8 .span4 {
  width: calc(49.5% - 0px);
}
.span8 .span6 {
  width: calc(66.1666666667% - 0px);
}

.grid6 {
  max-width: calc(683px);
}

.right {
  margin-left: auto !important;
  margin-right: 0;
}

@media screen and (max-width: 768px) {
  .span2 {
    width: calc(49.5% - 0px);
  }
  .span3 {
    width: calc(49.5% - 0px);
  }
  .span4 {
    width: calc(99.5% - 0px);
  }
  .span6 {
    width: calc(99.5% - 0px);
  }
  .span8 {
    width: calc(99.5% - 0px);
  }
  .span9 {
    width: calc(99.5% - 0px);
  }
  .span10 {
    width: calc(99.5% - 0px);
  }
  .span12 {
    width: calc(99.5% - 0px);
  }
  .span6 .span2 {
    width: calc(49.5% - 0px);
  }
  .span6 .span3 {
    width: calc(49.5% - 0px);
  }
  .span6 .span4 {
    width: calc(99.5% - 0px);
  }
  .span8 .span2 {
    width: calc(49.5% - 0px);
  }
  .span8 .span4 {
    width: calc(99.5% - 0px);
  }
  .span8 .span6 {
    width: calc(99.5% - 0px);
  }
  .noTouch, .noMobile {
    display: none !important;
  }
}
@media screen and (min-width: 769px) {
  .span2 {
    width: calc(16.1666666667% - 0px);
  }
  .span3 {
    width: calc(24.5% - 0px);
  }
  .span4 {
    width: calc(32.8333333333% - 0px);
  }
  .span6 {
    width: calc(49.5% - 0px);
  }
  .span8 {
    width: calc(66.1666666667% - 0px);
  }
  .span10 {
    width: calc(82.8333333333% - 0px);
  }
  .span12 {
    width: calc(99.5% - 0px);
  }
  .noTouch, .noTablet {
    display: none !important;
  }
  .cols-tablet-3 .span4 {
    width: calc(32.8333333333% - 0px);
  }
  .row {
    display: flex;
  }
  .flex-row {
    display: flex;
  }
}
.flex-center {
  align-items: center;
}

@media screen and (max-width: 768px) {
  .uptoLaptop, .noLaptop, .desktopOnly {
    display: none !important;
  }
}
@media screen and (min-width: 769px) {
  .uptoLaptop, .noDesktop, .mobileOnly {
    display: none !important;
  }
}
.box {
  display: inline-block;
}

.slider .slide {
  height: 300px;
  background-color: #cdcdcd;
  border: 10px solid white;
  overflow: hidden;
}

.row.content {
  margin-top: 5px;
}

.mobile-first .inner {
  text-align: center;
  padding-top: 100px;
}
.mobile-first .inner h1, .mobile-first .inner .h1 {
  font-weight: 300;
  font-size: 2em;
  letter-spacing: 0.2em;
}

.special-offer {
  position: absolute;
  top: 30%;
  left: 10%;
}
.special-offer img {
  width: 250px;
}

.side-articles .profile,
.side-articles .article {
  background: rgba(255, 255, 255, 0.9);
  border: 1pt solid #ddd;
  display: flex;
  width: 100%;
  padding: 0.3125078127rem;
}
.side-articles .profile h1, .side-articles .profile .h1,
.side-articles .article h1,
.side-articles .article .h1 {
  font-size: 1rem;
}
.side-articles .profile p,
.side-articles .article p {
  font-size: 0.8rem;
}
.side-articles .profile .thumbnail,
.side-articles .article .thumbnail {
  text-align: center;
  width: 6.2501562539rem;
  margin-right: 0.3125078127rem;
}
.side-articles .profile .thumbnail img,
.side-articles .article .thumbnail img {
  width: 100%;
}
.side-articles .profile .thumbnail .name,
.side-articles .article .thumbnail .name {
  font-weight: bold;
}
.side-articles .profile .summary,
.side-articles .article .summary {
  width: calc(100% - 110px);
  padding: 0 0.6250156254rem;
}

/* -----------------------------------------------------------------
   Feature List
   ----------------------------------------------------------------- */
.section-feature {
  margin-top: 1em;
  margin-bottom: 1em;
}
.section-feature .h1 {
  margin-bottom: 1em;
}
.section-feature.grey {
  background-color: #f3f2f2;
}
.section-feature .para {
  margin: 1em 0;
}
.section-feature .text-box .headline {
  padding-top: 2em;
}
.section-feature .text-box .prefix {
  font-family: "Staatliches", sans-serif;
  font-size: 1.5em;
  color: #802ba2;
}
.section-feature .text-box .title {
  font-family: "Staatliches", sans-serif;
  font-size: 2.5em;
  color: #000;
  margin-top: -0.4em;
}
.section-feature:first-child {
  margin-left: 0;
}
.section-feature:last-child {
  margin-right: 0;
}
.articles {
  padding: 2em 0;
}

.fabulous {
  padding: 2em 0;
}

.page .feature-list {
  margin-left: 30px;
}
.page .feature {
  margin: 10px 0;
}

.landing-page {
  /* -----------------------------------------------------------------
     Feature List
     ----------------------------------------------------------------- */
}
.landing-page .banner-text {
  font-family: "Staatliches", sans-serif;
  padding: 20px;
}
.landing-page .header {
  font-size: 12pt;
  max-width: inherit !important;
  height: 18.7504687617em;
  overflow: hidden;
}
@media screen and (max-width: 768px) {
  .landing-page .header {
    font-size: 8pt;
  }
}
@media screen and (min-width: 768px) and (max-width: 1024px) {
  .landing-page .header {
    font-size: 10pt;
  }
}
.landing-page .header .backdrop {
  width: 100%;
  height: 100%;
}
@media screen and (max-width: 768px) {
  .landing-page .header .backdrop img {
    height: 100%;
  }
}
@media screen and (min-width: 769px) {
  .landing-page .header .backdrop img {
    width: 100%;
  }
}
.landing-page .header .text {
  height: 300px;
  margin-top: -300px;
}
.landing-page .header h1, .landing-page .header .h1 {
  margin-top: 170px;
  font-weight: 300;
  font-size: 2em;
}
.landing-page .header h2, .landing-page .header .h2 {
  font-weight: 400;
  font-size: 3em;
}

@media screen and (max-width: 768px) {
  .landing-page .inner-page {
    margin-top: 10px;
    margin-bottom: 10px;
  }
}
@media screen and (min-width: 769px) {
  .landing-page .inner-page {
    margin-top: 20px;
    margin-bottom: 20px;
  }
}
.page-legal {
  max-width: 768px;
  padding: 40px;
  box-shadow: rgba(149, 157, 165, 0.2) 0px 8px 24px;
  color: #2d2d2d;
  margin: 0 auto;
}
.page-legal h1, .page-legal .h1 {
  font-size: 16pt;
  font-weight: bold;
  margin-top: 32px;
  margin-bottom: 32px;
  text-align: center;
}
.page-legal h2, .page-legal .h2 {
  font-size: 12pt;
  font-weight: bold;
  margin-top: 32px;
  margin-bottom: 20px;
}
.page-legal h3, .page-legal .h3 {
  font-size: 12pt;
  font-weight: 400;
  margin-top: 12px;
  margin-bottom: 12px;
}
.page-legal p {
  font-size: 10pt;
  margin-top: 10px;
  margin-bottom: 10px;
}

/*# sourceMappingURL=main.css.map */
