html {
  scroll-behavior: smooth;
}

body {
  margin: 0;
  font-family: 'Roboto Condensed';
  font-size: 18px;
  font-weight: 400;
  line-height: 1.4;
  background: #fff;
  color: #000;
  margin-top: calc(168px + 1vw);
}

@media screen and (pointer: coarse) {
  body.modal-open {
    padding-right: 0 !important;
    width: 100% !important;
    position: fixed;
    overflow: hidden !important;
  }
}

@media (min-width: 768px) {
  body {
    margin-top: calc(150px + 1vw);
  }
}

@media (min-width: 991px) {
  body {
    margin-top: calc(175px + 1vw);
  }
}

hr {
  margin-top: 1rem;
  margin-bottom: 1rem;
  border: 0;
  border-top: solid 1px #0000ff;
}

.bg-theme {
  background: rgb(217,220,255);
}

/* Misc Styling */

.svg-shadow {
  filter: drop-shadow(2px 2px 2px rgba(0, 0, 0, 1));
}

/* Text Styling */

.text-shadow {
  text-shadow: 1px 1px 2px rgba(0,0,0,0.5);
}

.tighten-text {
  letter-spacing: -.2px;
}

.text-theme {
  color: #001e88;
}

a {
  color: #0a42ff;
  text-decoration: none;
  text-shadow: none;
}

a:hover {
  color: #0000ff;
  text-decoration: none;
  text-shadow: none;
}

p {
  text-align: justify;
  -webkit-hyphens: auto;
  -moz-hyphens: auto;
  -ms-hyphens: auto;
  hyphens: auto;
}

.h1, .h2, .h3, .h4, .h5, .h6, h1, h2, h3, h4, h5, h6 {
  margin-bottom: .5rem;
  font-family: inherit;
  font-weight: 700;
  line-height: 1.3;
}

h1, .h1 {
  font-size: calc(24px + 1.15vw);
  color: #001e88;
}

@media screen and (min-width:1600px) {
  h1, .h1 {
    font-size: 43px;
  }
}

h6, h6 {
  font-size: 18px;
}

.program-text {
  color: #001e88;
  font-size: calc(1.325rem + .9vw);
  line-height: 1.2;
  margin-bottom: 5px;
}

@media (min-width: 1600px) {
  .program-text {
    font-size: 36px;
  }
}

.intro-hp {
  font-family: 'Nothing You Could Do', serif;
  font-size: calc(20px + 2.0vw);
  line-height: 1.2;
}

@media (min-width: 576px) {
  .intro-hp {
    font-size: 28px;
  }
}

@media (min-width: 768px) {
  .intro-hp {
    font-size: 38px;
  }
}

@media (min-width: 992px) {
  .intro-hp {
    font-size: 50px;
  }
}

@media (min-width: 1200px) {
  .intro-hp {
    font-size: 60px;
  }
}

.signature-hp {
  font-size: 34px;
  font-family: 'Nothing You Could Do';
}

/* Button Styling */

.theme-btn:not(:disabled):not(.disabled) {
  background-color: #0a42ff;
  box-shadow: none;
  border-width: 0px;
  text-shadow: 1px 1px 1px rgba(0,0,0,0.6);
}

.theme-btn:not(:disabled):not(.disabled):hover {
  background-color: #0000ff;
  transition: all .5s;
}

.signup-but {
  background-color: #0a42ff;
  font-size: calc(16px + 2.2vw);
  font-style: italic;
  font-weight: 700;
  border-radius: 5px !important;
  transition: all .7s !important;
  border: none;
  text-shadow: 1px 1px 1px rgba(0,0,0,0.6);
}

.signup-but:hover {
  background-color: #0000ff !important;
  transition: all .7s !important;
  transform: scale(1.05,1.05) !important;
}

/* List Styling */

.list-columns {
  column-count: 2;
  margin-left: calc(-34px + 19vw);
  column-gap: 28px;
}

@media (min-width: 450px) {
  .list-columns-2 {
    margin-left: -40px;
  }
}

@media (min-width: 576px) {
  .list-columns {
    margin-left: 65px;
    column-gap: 30px;
  }
}

@media (min-width: 768px) {
  .list-columns {
    margin-left: 120px;
  }
}

@media (min-width: 768px) and (max-width: 991.9px) {
  .list-columns-events {
    column-count: 1;
    margin-left: 80px;
  }
}

@media (min-width: 991px) {
  .list-columns {
    margin-left: 60px;
  }
}

@media (min-width: 1400px) {
  .list-columns {
    font-size: 21px;
  }
}

.benefits-list {
  font-size: 18px;
  font-weight: 700;
  line-height: 1.2;
}

@media (min-width: 1200px) {
  .benefits-list {
    font-size: 19px;
  }
}

@media (min-width: 1400px) {
  .benefits-list {
    font-size: 20px;
  }
}

.benefits-list li, .list-columns li {
  margin-bottom: 10px;
}

.benefits-list .fa-li, .list-columns .fa-li {
  position: absolute;
  left: -29px;
  width: 27px;
  top: -1px;
}

@media (min-width: 768px) {
  .list-columns-home {
    column-count: 3;
    column-gap: 20px;
    margin-left: 36px;
  }
}

@media (min-width: 992px) {
  .list-columns-home {
    column-count: 2;
    column-gap: 50px;
    margin-left: 50px;
  }
}

@media (min-width: 1200px) {
  .list-columns-home {
    column-count: 2;
    margin-left: 70px;
  }
}

@media (min-width: 1400px) {
  .list-columns-home {
    column-count: 3;
    column-gap: 70px;
  }
}

/* Contact Form Styling */

#cfm .form {
  max-width: 400px;
  height: 470px;
}

#cfm .btn-close {
  position: relative;
  box-sizing: content-box;
  width: 1em;
  height: 1em;
  color: #000;
  background: transparent url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 16 16' fill='%23000'%3e%3cpath d='M.293.293a1 1 0 011.414 0L8 6.586 14.293.293a1 1 0 111.414 1.414L9.414 8l6.293 6.293a1 1 0 01-1.414 1.414L8 9.414l-6.293 6.293a1 1 0 01-1.414-1.414L6.586 8 .293 1.707a1 1 0 010-1.414z'/%3e%3c/svg%3e") center/1em auto no-repeat;
  border: 0;
  border-radius: .25rem;
  opacity: .5;
  z-index: 9999;
}

#cfm .btn-close:hover {
  opacity: 1;
}

#cfm .modal-content {
  background-color: #000;
  border: 1px solid #000;
  border-radius: 4px;
}

#cfm .modal-header {
  padding: 10px;
  background-color: #0000ff;
  border-bottom: solid 1px #000;
  border-top-left-radius: 4px;
  border-top-right-radius: 4px;
}

#cfm .modal-footer {
  border-top: 1px solid #000;
  border-bottom-right-radius: 4px;
  border-bottom-left-radius: 4px;
}

#cfm .contact-form-cont {
  max-width: 440px;
}

#cfm .modal-body {
  padding: 15px;
}

#cfm h2, .h2 {
  color: #fff;
  font-size: 34px;
  font-weight: 700;
  margin-top: -20px;
  text-shadow: 1px 1px 2px #000;
}

@media (min-width: 576px) {
  #cfm h2, .h2 {
    font-size: 48px;
  }
}

#cfm h3, .h3 {
  color: #fff;
  font-size: 24px;
  font-weight: 700;
  line-height: 1.3;
  text-shadow: 1px 1px 1px #000;
}

#cfm .logo-shadow {
  filter: drop-shadow(2px 2px 2px rgba(0, 0, 0, 1));
}

#cfm .nospam {
  font-size: 16px;
}

/* Scroll Margin */

.scroll-margin {
  scroll-margin: 80px;
}

@media (min-width: 768px) {
  .scroll-margin {
    scroll-margin: 170px;
  }
}

@media (min-width: 992px) {
  .scroll-margin {
    scroll-margin: 210px;
  }
}

