body {
  max-width: 70rem;
  margin: 0 auto;
  padding: 0;
  line-height: 1.0;   /* override BS 1.5 */
}

#page-content {
  padding-bottom: 1rem !important;
  padding-top: 0 !important;
  margin-top:  0 !important;
}

/* fatal kirby error */
.admin-advice {
  display: none !important;
}

/* background image */
.background {
  background-color: transparent;
  color: inherit;
}

/* cover image */
.cover {
  max-width: 100%;
  height: auto;
  margin-right: auto;
  margin-left: auto;
  display: block;
}


/* top nav header section */
.header {
  background-color: inherit;
  color: inherit;
}

.header-text {
  font-weight: 600;
  line-height: 1;
  font-size: 1.5rem;
}

.header-logo {
  min-height: 32px;
  min-width: 40px;
  width: auto;
  height: auto;
  background-color: transparent;
}

.lh-1 {
  line-height: 1;
}

/* anchors */
a {
  color: inherit;
  text-decoration: none;
  background-color: transparent;
}
a:hover {
  color: inherit;
  text-decoration: none;
}

a:not([href]):not([class]) {
  color: inherit;
  text-decoration: none;
}
a:not([href]):not([class]):hover {
  color: inherit;
  text-decoration: none;
}

/* headings */
h1,
h2,
h3,
h4,
h5,
h6,
.h1,
.h2,
.h3,
.h4,
.h5,
.h6 {
  font-weight: 600;
  text-rendering: optimizeLegibility;
  color: inherit;
  line-height: 1.0;   /* override BS 1.2 */
}

/* font sizes */
.font-var {
  font-size: calc(1.375rem + 1.5vw);
}

.font-xxsmall {
  font-size: 9px;
}

.font-xsmall {
  font-size: x-small; /* 10px */
}

.font-small {
  font-size: small; /* 13px */
}

.font-medium {
  font-size: medium; /* 16px */
}

.font-large {
  font-size: large; /* 18px */
}

.font-xlarge {
  font-size: x-large; /* 24px */
}

.font-xxlarge {
  font-size: xx-large; /* 32px */
}

@media only screen and (max-width: 992px) {
  h1,
  .h1 {
    font-size: 2rem;
  }
  h2,
  .h2 {
    font-size: 1.75rem;
  }
  h3,
  .h3 {
    font-size: 1.5rem;
  }
  h4,
  .h4 {
    font-size: 1.25rem;
  }
  h5,
  .h5 {
    font-size: 1rem;
  }
  h6,
  .h6 {
    font-size: 0.875rem;
  }
  /* Disable body horizontal overflow for mobile */
  html {
    overflow-x: hidden;
  }
  body {
    max-width: 100%;
    overflow: hidden auto;
  }
}

@media only screen and (max-width: 768px) {
  h1,
  .h1 {
    font-size: 1.9rem;
  }
  h2,
  .h2 {
    font-size: 1.65rem;
  }
  h3,
  .h3 {
    font-size: 1.45rem;
  }
  h4,
  .h4 {
    font-size: 1.2rem;
  }
  h5,
  .h5 {
    font-size: 0.95rem;
  }
  h6,
  .h6 {
    font-size: 0.85rem;
  }
  #back-top {
    width: 40px;
    height: 40px;
  }
}

@media only screen and (max-width: 563px) {
  h1,
  .h1 {
    font-size: 1.8rem;
  }
  h2,
  .h2 {
    font-size: 1.6rem;
  }
  h3,
  .h3 {
    font-size: 1.35rem;
  }
  h4,
  .h4 {
    font-size: 1.15rem;
  }
  h5,
  .h5 {
    font-size: 0.9rem;
  }
  h6,
  .h6 {
    font-size: 0.8rem;
  }
  .font-small {
    font-size: 12px;
  }
  .font-medium {
    font-size: 14px;
  }
  .font-large {
    font-size: medium; /* 16px */
  }
  .font-xlarge {
    font-size: large; /* 18px */
  }
  .font-xxlarge {
    font-size: x-large; /* 24px */
  }
  .pb-1,
  .pb-2 {
    padding-bottom: 0.25rem !important;
  }
  .pt-1,
  .pt-2 {
    padding-top: 0.25rem !important;
  }
  .pb-3,
  .pb-4,
  .pb-5 {
    padding-bottom: 1rem !important;
  }
  .pt-3,
  .pt-4,
  .pt-5 {
    padding-top: 1rem !important;
  }
  .mb-1,
  .mb-2 {
    margin-bottom: 0.25rem !important;
  }
  .mt-1,
  .mt-2 {
    margin-top: 0.25rem !important;
  }
  .mb-3,
  .mb-4,
  .mb-5 {
    margin-bottom: 1rem !important;
  }
  .mt-3,
  .mt-4,
  .mt-5 {
    margin-top: 1rem !important;
  }
}

@media only screen and (max-width: 505px) {
  .pb-3,
  .pb-4,
  .pb-5 {
    padding-bottom: 1rem !important;
  }
  .pt-3,
  .pt-4,
  .pt-5 {
    padding-top: 1rem !important;
  }
  .mb-3,
  .mb-4,
  .mb-5 {
    margin-bottom: 1rem !important;
  }
  .mt-3,
  .mt-4,
  .mt-5 {
    margin-top: 1rem !important;
  }
  .p-3,
  .p-4,
  .p-5 {
    padding: 1rem !important;
  }
  .m-3,
  .m-4,
  .m-5 {
    margin: 1rem !important;
  }
  #back-top {
    width: 34px;
    height: 34px;
  }
}

@media only screen and (max-width: 470px) {
  .pb-1,
  .pb-2,
  .pb-3,
  .pb-4,
  .pb-5 {
    padding-bottom: 1rem !important;
  }
  .pt-1,
  .pt-2m .pt-3,
  .pt-4,
  .pt-5 {
    padding-top: 0.125rem !important;
  }
  .mb-1,
  .mb-2,
  .mb-3,
  .mb-4,
  .mb-5 {
    margin-bottom: 0.65rem !important;
  }
  .mt-1,
  .mt-2,
  .mt-3,
  .mt-4,
  .mt-5 {
    margin-top: 0.65rem !important;
  }
  .font-small {
    font-size: 12px;
  }
  .font-medium {
    font-size: 14px;
  }
  .font-large,
  .font-xlarge,
  .font-xxlarge{
    font-size: medium; /* 16px */
  }
}

@media only screen and (max-width: 385px) {
  h1,
  .h1 {
    font-size: 1.75rem;
  }
  h2,
  .h2 {
    font-size: 1.5rem;
  }
  h3,
  .h3 {
    font-size: 1.3rem;
  }
  h4,
  .h4 {
    font-size: 1.1rem;
  }
  h5,
  .h5 {
    font-size: 0.85rem;
  }
  h6,
  .h6 {
    font-size: 0.75rem;
  }
  .btn {
    font-size: 0.875rem;
  }
  .font-xxsmall {
    font-size: 8px;
  }
  .font-xsmall {
    font-size: 9px;
  }
  .font-small {
    font-size: 10px;
  }
  .font-medium {
    font-size: 12px;
  }
  .font-large {
    font-size: 14px;
  }
  .font-xlarge {
    font-size: medium;
  }
  .font-xxlarge {
    font-size: large;
  }
}

@media only screen and (max-width: 320px) {
  .mr-2 {
    margin-right: 0 !important;
  }
}

/* scroll to section anchor. */
.scrollto-section {
  scroll-margin: 4.55rem;
}

/* safari browser corrections */
button,
[type="button"],
[type="reset"],
[type="submit"] {
  -webkit-appearance: inherit;
  appearance: inherit;
}

/* back to top toolbar */
#back-top {
  width: 50px;
  height: 50px;
  background: rgba(0, 0, 0, 0.3);
  right: 12px !important;
  border-radius: 55px;
  border: 2px solid #fff;
  box-shadow: rgba(0, 0, 0, 0.3) 0 4px 8px;
  -webkit-box-shadow: 0 4px 8px rgba(0, 0, 0, 0.3);
     -moz-box-shadow: 0 4px 8px rgba(0, 0, 0, 0.3);
  bottom: 0;
  position: fixed;
  z-index: 1001;
}

#back-top:before {
  content: "";
  /* white v on transparent BG (rendered as ^ because rotated 180deg) */
  background: url("data:image/svg+xml;base64,PHN2ZyB3aWR0aD0iMTMiIGhlaWdodD0iOCIgdmlld0JveD0iMCAwIDEzIDgiIGZpbGw9Im5vbmUiIHhtbG5zPSJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2ZyI+CjxwYXRoIGQ9Ik0xIDEuNUw2LjUgN0wxMiAxLjUiIHN0cm9rZT0iI2ZmZmZmZiIgc3Ryb2tlLXdpZHRoPSIyIiBzdHJva2UtbGluZWNhcD0icm91bmQiIHN0cm9rZS1saW5lam9pbj0icm91bmQiLz4KPC9zdmc+Cg==") no-repeat center center;
  background-size: cover;
  -webkit-background-size: cover;
     -moz-background-size: cover;
       -o-background-size: cover;
  position: absolute;
  top:  50%;
  left: 50%;
  transform:         translate(-50%, -50%) rotate(180deg);
      -ms-transform: translate(-50%, -50%) rotate(180deg);
  -webkit-transform: translate(-50%, -50%) rotate(180deg);
  width: 20px;
  height: 12px;
}

/* text section */
.text-area {
  margin: 0;
  padding: 0.8rem 1rem 0rem 1rem;
  vertical-align: middle;
}

.text-area p {
  margin: 0;
}

.text-headline {
  margin: 0;
  padding: 0.2rem 1rem;
}

.text-subheadline {
  margin: 0;
  padding: 0.5rem 1rem;
}

/* footer section */
.footer {
  padding: 1.5rem 0.5rem;
  font-size: smaller;
  vertical-align: middle;
  text-align: center;
}

.footer-contactdetails p {
  margin: 0 !important;
  padding-bottom: 0 !important;
}

.footer-fullterms p {
  margin: 0.5rem !important;
  padding-bottom: 0 !important;
}

.footer-significantterms p {
  margin: 0.5rem !important;
  padding-bottom: 0 !important;
}

.footer-text p {
  margin: 0.5rem !important;
  padding-bottom: 0 !important;
}

/* border */
.border-none {
  border: 0 !important;
}

.border-thick {
  border: 3px solid;
}

.br-1 {
  border-radius: 1rem;
}
.br-2 {
  border-radius: 3rem;
}

/* other */
.scrollable {
  max-height: calc(100vh - 210px);
  overflow-y: auto;
}

.bi {
  vertical-align: -.125em;
  fill: currentColor;
}


img {
  max-width: 100%;
}

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


/* "Add to home screen" modal */
#add2home-modal img.icon {
  height: 18px;
  width: auto;
}

#add2home-modal .logo-img-container {
  margin: 0.5em auto;
  width: 40%;
}

#add2home-modal a {
  text-decoration: underline;
}
