/* Colours */
/* Fluid heading sizes - set your min/max sizes and you're done! */
/* Some device sizes to use with min-width */
/* adjusted breakpoints for above */
/* 100% widths look better than "Snapping" IMO */
/* Utility */
/* Additional Spacers -- don't think you'll need more than 7, but if you do -- maybe just use a custom class  :)  */
/* Colours */
/* Fluid heading sizes - set your min/max sizes and you're done! */
/* Some device sizes to use with min-width */
/* adjusted breakpoints for above */
/* 100% widths look better than "Snapping" IMO */
/* Utility */
/* Additional Spacers -- don't think you'll need more than 7, but if you do -- maybe just use a custom class  :)  */
#banner {
  position: relative;
  overflow: hidden;
  border-bottom: solid 18px #1a4e74;
  padding-top: 200px;
  padding-bottom: 100px; }
  @media (min-width: 769px) {
    #banner {
      padding-top: 250px;
      padding-bottom: 175px; } }
  @media (min-width: 1025px) {
    #banner {
      padding-top: 250px;
      padding-bottom: 175px; } }
  #banner .bg-cover {
    object-position: center bottom;
    z-index: -1;
    position: absolute;
    top: 0;
    left: 0;
    right: 0;
    bottom: 0;
    width: 100% !important;
    height: 100% !important;
    max-width: 100% !important;
    max-height: 100% !important;
    object-fit: cover; }
    @media (min-width: 769px) {
      #banner .bg-cover {
        object-position: center bottom; } }
  #banner .banner-content h1 {
    color: #3e3d3b;
    position: relative;
    padding-bottom: 1.5rem;
    margin-bottom: 0; }
    #banner .banner-content h1::after {
      content: "";
      height: 8px;
      width: 107px;
      background-color: #ffb000;
      position: absolute;
      left: 0;
      right: 0;
      bottom: 0;
      margin: 0 auto; }

.lead .content ul {
  list-style: none; }

.lead .lead-img {
  border-radius: 20px; }

.programs {
  background-color: rgba(244, 244, 244, 0.65);
  border-top: solid 18px #eceded; }
  .programs .top h2 {
    max-width: 882px;
    margin: 0 auto 2rem auto; }
  .programs .service-card {
    -webkit-box-shadow: 0px 20px 30px -10px rgba(0, 0, 0, 0.3);
    box-shadow: 0px 20px 30px -10px rgba(0, 0, 0, 0.3);
    border-radius: 20px;
    height: 100%;
    background-color: white; }
    .programs .service-card .card-img .img {
      border-radius: 20px 20px 0 0;
      height: 350px !important;
      max-height: 350px !important;
      width: 100% !important;
      max-width: 100% !important;
      object-fit: cover; }
    .programs .service-card .content {
      background-color: white;
      border-radius: 0 0 20px 20px;
      padding: 2.5rem 1.5rem 1.5rem 1.5rem; }
      @media (min-width: 641px) {
        .programs .service-card .content {
          padding: 2.5rem 2rem 1.5rem 2rem; } }
      .programs .service-card .content h3 {
        margin-bottom: 1.5rem; }
      .programs .service-card .content p {
        margin-bottom: 2rem; }

.cta {
  position: relative;
  overflow: hidden;
  padding: 0 0 75px 0; }
  @media (min-width: 769px) {
    .cta {
      padding: 125px 0; } }
  @media (min-width: 769px) {
    .cta .bg-cover {
      z-index: -1;
      position: absolute;
      top: 0;
      left: 0;
      right: 0;
      bottom: 0;
      width: 100% !important;
      height: 100% !important;
      max-width: 100% !important;
      max-height: 100% !important;
      object-fit: cover;
      object-position: center top; } }
  @media (min-width: 769px) {
    .cta .cta-content {
      background-color: white;
      border-radius: 20px;
      -webkit-box-shadow: 0px 20px 30px -10px rgba(0, 0, 0, 0.3);
      box-shadow: 0px 20px 30px -10px rgba(0, 0, 0, 0.3); } }
