@import url('https://fonts.googleapis.com/css2?family=Gabarito:wght@400;500;700&display=swap');

body { background-color: #003051; padding-top: 4rem; }

/* Pre Live */
body.preLive { padding-top: unset; }

h1, h2, h3, p, li { font-family: 'Gabarito', sans-serif; }

h1, h2, h3 { color: #002e3d; font-size: 2.5rem; margin: 3rem 0 2rem; text-align: center; }

h3 { font-size: 2rem; margin: 2rem 0; }

ol { padding-left: 3rem; }

p, li, .alert {
  font-size: 1.625rem;
  margin-bottom: 1rem;
  margin-top: 2rem;
}

li { margin-top: 1.5rem; }
.compressed li { margin: 0.8rem 0; }
.compressed li .fa-duotone { margin-right: 1rem; }

label {
  font-size: 1.25rem;
  margin-bottom: 0.5rem;
  margin-top: 1.4rem;
}

p a, p a:hover, li a, li a:hover, small a, small a:hover, .alert a {
  border-bottom: 1px dashed #c3450c;
  color: #002e3d;
  text-decoration: none;
}

.small, small, .small p {
  font-size: 1.4rem;
}

.small p { margin: 0 0 0.6rem; }

@media (max-width: 767.98px) {

  p, label, li, .alert {
    font-size: 1.25rem;
    line-height: 1.75;
  }

  .small, small, .small p {
    font-size: 1rem;
  }

  label {
    font-size: 1.125rem;
  }

  .footer div.email a { font-size: 1.625rem; }
  .footer div.social-media a { font-size: 2rem; margin-left: 1.8rem; margin-right: 1.8rem; }

  .blog-image { max-width: 100%; width: 100%; }

}

.footer, .navbar { background-color: #003051; }

.navbar .navbar-brand { color: #fff; font-size: 1.375rem; line-height: 3rem; }
.navbar .navbar-toggler span { color: #fff; }
.navbar { transition: box-shadow 0.3s ease; }
.navbar.scrolled { box-shadow: 0 2px 12px rgba(0, 0, 0, 0.25); }
.navbar li { font-size: 1.375rem; margin: unset; }
.navbar li a { color: #002e3d; border-bottom: none; border-left: 3px solid transparent; padding-left: 0.75rem; transition: background-color 0.18s ease, border-left-color 0.18s ease, color 0.18s ease; }
.navbar li a:hover { background-color: rgba(195, 69, 12, 0.08); border-left-color: #c3450c; }
.navbar li a.active { font-weight: 600; border-left-color: #c3450c; background-color: rgba(195, 69, 12, 0.12); }
.navbar li a i { color: #c3450c; }
.navbar li a:hover i { color: #dc6e3c; }
.navbar i.fa-fw { margin-right: 1.25rem; }
.navbar .nav-divider { padding: 0; }
.navbar .nav-divider hr { border-top: 1px solid #d0dde6; margin: 0.5rem 0.75rem; width: auto; opacity: 1; }

.navbar .custom-toggler { background-color: transparent; border: 2px solid white; border-radius: 4px; color: white; padding: 0.5rem; }
.navbar .custom-toggler:focus { outline: none; box-shadow: 0 0 5px rgba(255, 255, 255, 0.75); }
.navbar .custom-toggler i { font-size: 1.5rem; }

@media (hover: hover) {
  .navbar .custom-toggler:hover { background-color: rgba(255, 255, 255, 0.1); }
}

#offcanvasNavbar { width: 540px; }

@media (max-width: 576px) {
  #offcanvasNavbar { width: 100%; }
}

@media (min-width: 767.98px) {
  .header-pusher { margin-top: 2rem; }
}

hr { border: none; border-top: 2px solid #c3450c; margin: 0 auto 3rem; opacity: unset; width: 200px; }

.footer { padding: 2rem 0 3rem; }
.footer a, .footer a:hover, .footer a:visited { color: #fff; }
.footer div.email, .footer div.social-media { text-align: center; }
.footer div.email a { font-size: 2.25rem; text-decoration: none; }
.footer div.social-media a { font-size: 3rem; margin-left: 4rem; margin-right: 4rem; }
.footer label, .footer p, .footer small { color: #fff; }
.footer label a, .footer p a, .footer small a { border-bottom: 1px dashed #fff; }

/* Forms */
label .fad, label .fas { margin-right: 0.875rem; }
.character-count { display: block; margin-top: 0.3rem; text-align: right; }

/* Buttons */
.btn i { margin-right: 0.875rem; }
.btn-primary { background-color: #fff; border-color: #c3450c; color: #c3450c; font-size: 1.6rem; margin-bottom: 2rem; margin-top: 2.4rem; }
.btn-primary:hover { background-color: #c3450c; border-color: #dc6e3c; color: #fff; }

#divSignUpResult, #divSubmitEvidenceResult { display: none; margin-top: 3rem; }
#divSignUpResult i.fad, #divSubmitEvidenceResult i.fad { font-size: 10rem; margin-bottom: 2rem; }
#divSignUpResult.success i, #divSubmitEvidenceResult.success i { color: #37d51f; }
#divSignUpResult.failure i, #divSubmitEvidenceResult.failure i { color: #f13f3f; }

/* Alerts */
.alert { text-align: center; }
.alert .fa-duotone { margin-right: 0.6rem; }
.alert-info { background-color: #ebfbb2; border: 1px solid #b2c768; }

/* Cards */
.card-text { font-size: 1.2rem; }
.card-body { background-color: #fff; }
.card-subtitle { font-size: 1.25rem; line-height: 1.2; }
.card-footer .btn { font-size: 1rem; margin-top: 0.4rem; margin-bottom: 0.4rem; }

.white-background { background-color: #fff; }

/* Modals */
.modal-success, .modal-failure { padding: 1.25rem; text-align: center; }
.modal-success i.fad, .modal-failure i.fad { font-size: 14rem; margin-bottom: 1.5rem; }
.modal-success h1, .modal-failure h1 { font-size: 3rem; margin-bottom: 1.5rem; }
.modal .close { border: none; background-color: #fff; }
.modal li { font-size: 1.25rem; margin: 0 0 0.5rem; }
.modal ol { margin-top: 0.5rem; }
.modal-success i.fad { color: #37d51f; }
.modal-failure i.fad { color: #f13f3f; }

/* Call For Evidence */
.evidence p { font-size: 1.375rem; margin: 0.8rem 0; }
.was-validated :invalid ~ * .invalid-feedback { display: block; } /* Improve Existing Validation */
.width-unset { width: unset; }

@media (max-width: 991px) {
  .btn-primary { font-size: 1.2rem; margin-bottom: 1rem; margin-top: 1rem; }
  h1 { font-size: 2rem; }
  h2 { font-size: 1.75rem; }
  h3 { font-size: 1.625rem; }
  .footer div.email a { font-size: 2rem; }
  .footer div.social-media a { margin-left: 3rem; margin-right: 3rem; }
}

/* Blog */
.blog-image { max-width: 350px; }

/* Case Studies */
.case-study-img { height: 260px; object-fit: cover; }
.case-study .card-title { font-size: 1.75rem; margin: 1.5rem 0 1rem; text-align: center; }
.case-study .card-footer { flex-wrap: wrap; }
.case-study .card-footer .btn { flex: 1 1 auto; }

@media (min-width: 768px) and (max-width: 991.98px) {
  .case-study-img { height: 360px; }
}

/* Scroll Reveal */
.reveal {
  opacity: 0;
  transform: translateY(24px);
  transition: opacity 0.5s ease, transform 0.5s ease;
}
.reveal.reveal-visible {
  opacity: 1;
  transform: none;
}
@media (prefers-reduced-motion: reduce) {
  .reveal {
    opacity: 1 !important;
    transform: none !important;
    transition: none !important;
  }
}
