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

body {
  margin: 0;
  font-family: Lato, -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, sans-serif;
  font-size: 1rem;
  line-height: 1.5;
  color: #212529;
}

h1,
h2,
h3,
h4,
h5,
h6 {
  font-family: Montserrat, -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, sans-serif;
  font-weight: 700;
  margin-top: 0;
}

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

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

.bg-secondary {
  background-color: #2c3e50 !important;
}

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

.min-vh-100 {
  min-height: 100vh;
}

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

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

.lead {
  font-size: 1.25rem;
  font-weight: 300;
}

.page-section-heading {
  font-family: Montserrat, -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, sans-serif;
  font-weight: 700;
}

.container-fluid {
  width: 100%;
  margin-right: auto;
  margin-left: auto;
}

.px-3 {
  padding-right: 1rem !important;
  padding-left: 1rem !important;
}

.row {
  display: flex;
  flex-wrap: wrap;
  margin-right: -0.75rem;
  margin-left: -0.75rem;
}

.row > * {
  flex-shrink: 0;
  width: 100%;
  max-width: 100%;
  padding-right: 0.75rem;
  padding-left: 0.75rem;
}

.col-12 {
  flex: 0 0 auto;
  width: 100%;
}

@media (min-width: 576px) {
  .px-sm-4 {
    padding-right: 1.5rem !important;
    padding-left: 1.5rem !important;
  }
}

@media (min-width: 992px) {
  .col-lg-8 {
    flex: 0 0 auto;
    width: 66.666667%;
  }

  .px-lg-5 {
    padding-right: 3rem !important;
    padding-left: 3rem !important;
  }
}

@media (min-width: 1200px) {
  .col-xl-7 {
    flex: 0 0 auto;
    width: 58.333333%;
  }
}
