body {
  font-family: Rubik, sans-serif;
  font-weight: 300;
}
a {
  color: #116666;
}
strong,
b {
  font-weight: 500;
}
img {
  max-width: 100%;
}
.btn {
  font-weight: 400;
}
.required label::after {
  content: '*';
  display: inline;
  color: #c00;
  margin-left: 0.25rem;
  font-size: 1.1rem;
}
span.required {
  color: #c00;
  font-size: 1.1rem;
}
.form-check {
  margin-bottom: .5rem;
}
.navbar-brand {
  display: flex;
  align-items: center;
  max-width: 75%;
  white-space: normal;
}
.navbar-brand img {
  height: 3rem;
}
.navbar-brand span {
  display: block;
  margin-left: .25rem;
  font-size: 1rem;
  font-weight: 500;
  text-transform: uppercase;
}
@media (min-width: 480px) {
  .navbar-brand span {
    margin-left: .5rem;
    font-size: 1.25rem;
  }
}
header {
  background-color: #116666;
}
header .navbar-nav {
  font-weight: 400;
}
header .navbar-nav .nav-link {
  color: white !important;
}
@media (min-width: 992px) {
  header .navbar-nav.top-menu {
    margin-left: auto;
    margin-right: 2rem;
  }
}
footer {
  background-color: #3c4859;
  color: white;
  padding-top: 2rem;
  padding-bottom: 2rem;
}
@media (min-width: 768px) {
  footer {
    padding-top: 4rem;
  }
}
footer a,
footer a:hover,
footer a:focus {
  color: white;
}
footer .bottom {
  margin-top: 2rem;
  padding-top: 1rem;
  border-top: 1px solid rgba(255, 255, 255, 0.1);
  font-size: 0.8rem;
}
.page-header {
  padding-top: 1rem;
  padding-bottom: 2rem;
  background-color: #157c7c;
  color: white;
}
.page-header h1 {
  margin: 0;
  font-size: 1.5rem;
  font-weight: 500;
  text-transform: uppercase;
  line-height: 1.25;
}
@media (min-width: 992px) {
  .page-header h1 {
    font-size: 2rem;
  }
}
.breadcrumb {
  padding: 0;
  background: transparent;
  font-size: 0.9rem;
}
.breadcrumb-item a {
  color: white;
}
.breadcrumb-item + .breadcrumb-item::before {
  color: rgba(255, 255, 255, 0.75);
}
.page-content {
  padding-top: 1rem;
  padding-bottom: 2rem;
}
@media (min-width: 768px) {
  .page-content {
    min-height: 35rem;
    padding-top: 2rem;
    padding-bottom: 2em;
  }
}
@media (min-width: 992px) {
  .page-content {
    padding-top: 3rem;
    padding-bottom: 3em;
  }
}
@media (min-width: 1200px) {
  .page-content {
    padding-top: 4rem;
    padding-bottom: 4em;
  }
}
@media (min-width: 1600px) {
  .page-content {
    min-height: 40rem;
  }
}
.page-content h2,
.page-content h3 {
  margin-top: 1.5rem;
}
.page-content h4,
.page-content h5,
.page-content h6 {
  margin-top: 1rem;
}
article h2,
article h3 {
  margin-top: 2rem;
}
article h4 {
  margin-top: 1.5rem;
}
article h5,
article h6 {
  margin-top: 1rem;
}
.event-meta {
  margin-top: 1rem;
  font-size: 1.25rem;
  font-weight: 400;
  line-height: 1.75;
}
.event-meta span {
  margin-right: 1.5rem;
}
.event-meta .badge {
  font-size: 1.25rem;
  font-weight: 500;
}
section.home-upcoming-events {
  padding-top: 2rem;
  padding-bottom: 2em;
}
@media (min-width: 768px) {
  section.home-upcoming-events {
    padding-top: 3rem;
    padding-bottom: 3em;
  }
}
@media (min-width: 992px) {
  section.home-upcoming-events {
    padding-top: 4rem;
    padding-bottom: 4em;
  }
}
@media (min-width: 1200px) {
  section.home-upcoming-events {
    padding-top: 5rem;
    padding-bottom: 5em;
  }
}
section.home-upcoming-events h2 {
  margin-bottom: 2rem;
  text-align: center;
  text-transform: uppercase;
}
.card {
  margin-bottom: 2rem;
}
.card .card-title {
  font-size: 1.2rem;
  font-weight: 500;
}
.card .card-title a {
  color: #444444;
}
.card .card-date {
  color: #666;
  font-size: 0.9rem;
}
.card .card-location {
  margin-top: 0.5rem;
  font-size: 0.9rem;
  color: #666;
}
.card .card-location .flag-icon {
  margin-left: 0.5rem;
}
.card .card-application {
  margin-top: 1rem;
}
.flag-icon {
  box-shadow: 0 0 0.2rem rgba(0, 0, 0, 0.25);
}
