*, *::before, *::after {
  box-sizing: border-box;
}

h1, .h1, h2, .h2, h3, .h3, h4, .h4, h5, .h5, h6, .h6 {
  margin-top: 0;
  margin-bottom: .5rem;
  font-family: "Nunito",sans-serif;
  font-weight: 500;
  line-height: 1.2;
  color: #3E4C56;
}

h2, .h2 {
  font-size: calc(1.325rem + .9vw);
}

@media (min-width: 1200px) {
  h2, .h2 {
    font-size: 2rem;
  }
}

h3, .h3 {
  font-size: calc(1.3rem + .6vw);
}

@media (min-width: 1200px) {
  h3, .h3 {
    font-size: 1.75rem;
  }
}

p {
  margin-top: 0;
  margin-bottom: 1rem;
}

b, strong {
  font-weight: bolder;
}

.d-flex {
  display: flex !important;
}

.position-relative {
  position: relative !important;
}

.h-100 {
  height: 100% !important;
}

.flex-column {
  flex-direction: column !important;
}

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

.align-items-center {
  align-items: center !important;
}

.mb-0 {
  margin-bottom: 0 !important;
}

.mb-3 {
  margin-bottom: 1rem !important;
}

.p-5 {
  padding: 3rem !important;
}

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

.text-white {
  color: #fff !important;
}

.bg-primary {
  background-color: #3e4c56 !important;
}

.rounded {
  border-radius: 2px !important;
}

@media (max-width: 768px) {
  .p-5 {
    padding: 2rem !important;
  }
}

h1, h2, .fw-bold {
  font-weight: 800 !important;
}

h3, h4, .fw-semi-bold {
  font-weight: 700 !important;
}

