/* ==================================================
   GLOBAL STYLES
================================================== */

/* Improve text rendering */
body {
  color: #5a5a5a;
}


/* ==================================================
   CAROUSEL
================================================== */

.carousel {
  margin-bottom: 0;
}

/* Caption positioning */
.carousel-caption {
  bottom: 3rem;
  z-index: 10;
}

/* Carousel item height */
.carousel-item {
  height: 42rem;
  position: relative;
}

/* Carousel images */
.carousel-item > img {
  position: absolute;
  inset: 0;
  width: 100%;
  height: 100%;
  object-fit: cover; /* modern & responsive */
}


/* ==================================================
   MARKETING CONTENT
================================================== */

.marketing .col-lg-4 {
  margin-bottom: 1.5rem;
  text-align: center;
}

.marketing h2 {
  font-weight: 400;
}

.marketing .col-lg-4 p {
  margin-right: 0.75rem;
  margin-left: 0.75rem;
}


/* ==================================================
   FEATURETTES
================================================== */

.featurette-divider {
  margin: 5rem 0;
}

.featurette-heading {
  font-weight: 300;
  line-height: 1.1;
  letter-spacing: -0.05rem;
}


/* ==================================================
   RESPONSIVE CSS
================================================== */

/* Tablets and above */
@media (min-width: 40em) {
  .carousel-caption p {
    margin-bottom: 1.25rem;
    font-size: 1.25rem;
    line-height: 1.4;
  }

  .featurette-heading {
    font-size: 3rem;
  }
}

/* Desktops and above */
@media (min-width: 62em) {
  .featurette-heading {
    margin-top: 7rem;
  }
}

/* Mobile devices */
@media (max-width: 576px) {
  .carousel-item {
    height: 22rem;
  }

  .carousel-caption {
    bottom: 1.5rem;
  }

  .carousel-caption h1 {
    font-size: 1.5rem;
  }

  .carousel-caption p {
    font-size: 0.95rem;
  }
}