:root {
  --ab-hero-overlay: rgba(0, 0, 0, 0.55);
}

body {
  background: #f7f7f9;
  font-family: "Libre Franklin", "Helvetica Neue", helvetica, arial, sans-serif;
  font-size: 15px;
  font-size: 0.9375rem;
  font-weight: 400;
  line-height: 1.66;
  margin-bottom: 100px;
}

h1,
h2,
h3,
h4,
h5,
h6 {
clear: both;
line-height: 1.4;
margin: 0 0 0.75em;
padding: 1.5em 0 0;
}
h1:first-child,
h2:first-child,
h3:first-child,
h4:first-child,
h5:first-child,
h6:first-child {
padding-top: 0;
}
h1 {
font-size: 24px;
font-size: 1.5rem;
font-weight: 300;
}
h2,
.home.blog .entry-title {
color: #666;
font-size: 20px;
font-size: 1.25rem;
font-weight: 300;
}
h3 {
color: #333;
font-size: 18px;
font-size: 1.125rem;
font-weight: 300;
}
h4 {
color: #333;
font-size: 16px;
font-size: 1rem;
font-weight: 800;
}
h5 {
color: #767676;
font-size: 13px;
font-size: 0.8125rem;
font-weight: 800;
letter-spacing: 0.15em;
text-transform: uppercase;
}
h6 {
color: #333;
font-size: 15px;
font-size: 0.9375rem;
font-weight: 800;
}
p {
margin: 0 0 1.5em;
padding: 0;
}

.hero-carousel .carousel-item {
  min-height: 520px;
  background-size: cover;
  background-repeat: no-repeat;
  background-position: center center;
  position: relative;
}

.hero-carousel .carousel-item::before {
  content: '';
  position: absolute;
  inset: 0;
  background: var(--ab-hero-overlay);
}

.hero-carousel .carousel-caption {
  position: absolute;
  right: 12%;
  left: 12%;
  bottom: 18%;
  text-align: left;
  z-index: 2;
}

.hero-carousel .carousel-caption h1,
.hero-carousel .carousel-caption h2,
.hero-carousel .carousel-caption p {
  color: #fff;
}

.hero-carousel .carousel-caption .btn {
  margin-top: 10px;
}

.section {
  padding: 48px 0;
}

.card-service {
  height: 100%;
}

.site-footer {
  padding: 28px 0;
  background: #111;
  color: #cfcfcf;
  margin-top: 48px;
}

.bio-photo {
  max-width: 240px;
  margin: 0 20px 12px 0;
}
@media (max-width: 300px) {
  .bio-photo {
    float: none !important;
    display: block;
    margin: 0 auto 15px auto;
    max-width: 70%;
  }
}

.page-hero {
  /* each page sets this variable */
  --hero-image: none;

  /* gradient overlay + image */
  background-image:
    linear-gradient(180deg, rgba(0,0,0,.75) 0%, rgba(0,0,0,.35) 45%, rgba(0,0,0,.15) 100%),
    var(--hero-image);
  color: white;
  background-size: cover;
  background-position: center;
  background-repeat: no-repeat;
  padding-top: 30px;

  min-height: 420px; /* or whatever your hero height is */
  position: relative;
}

.page-hero.keep-bottom { background-position: center bottom; }