:root {
   --bmdi-black: 31 32 36;
   --bmdi-primary: 154 6 32;
   --bmdi-secondary: 131 3 1;
}

body {
   background-color: #fff;
   font-family: 'Open Sans', sans-serif;
   font-weight: 300;
}

h1, h2, h3, h4, h5, h6 {
   font-family: 'Playfair Display', serif;
   font-weight: 700;
}

h1 > small, h2 > small, h3 > small, h4 > small, h5 > small, h6 > small {
   font-family: 'Open Sans', sans-serif;
   font-size: 45%;
   font-weight: 500;
}

table {
   border: 1px solid rgb(var(--bmdi-primary) / 90%);
   border-collapse: separate;
   border-spacing: 0;
   clear: both;
   margin-top: 6px;
   margin-bottom: 6px;
   width: 100%;
}

table > thead {
   border-color: inherit;
   border-style: solid;
   border-width: 0;
   vertical-align: bottom;
}

table > thead tr {
   background-color: rgb(var(--bmdi-primary) / 80%);
   color: #fff;
   display: table-row;
   vertical-align: inherit;
}

table tbody tr {
   border-bottom: 0;
}

table td, table th {
   border: 1px solid rgb(var(--bmdi-primary) / 90%);
   border-bottom: 0;
   padding: .5rem 1.25rem;
}

table tr td:first-child {
   border-left: 0;
}

table tr td:last-child {
   border-right: 0;
}

table td+td, table th+th {
   border-left: 0;
}

.navbar .navbar-brand img {
   height: 50px;
}

.navbar .navbar-nav .nav-link {
   color: rgb(var(--bmdi-black) / 85%);
   font-size: .96rem;
   font-weight: 500;
   padding-right: 1.5rem;
   padding-left: 1.5rem;
   position: relative;
}

.navbar .navbar-nav .nav-link.active {
   color: rgb(var(--bmdi-primary) / 85%);
}

.dropdown-toggle::after {
    content: unset;
}

@media(min-width: 992px) {
   .navbar .navbar-nav .nav-item:not(:last-of-type) .nav-link::before {
      background: rgb(var(--bmdi-black) / 6%);
      bottom: 0;
      content: '';
      height: 50%;
      position: absolute;
      right: 0;
      top: 25%;
      width: 1px;
   }
}

footer {
   border-top: .175rem solid rgb(var(--bmdi-primary));
   font-size: .78rem;
   font-weight: 400;
   margin-top: .15rem;
   padding-top: .076rem;
   position: relative;
}

footer:before {
   background-color: #fff;
   content: "";
   height: .076rem;
   left: 0;
   top: .12rem;
   width: 1005%;
}

footer > div:first-of-type {
   border-top: .175rem solid rgb(var(--bmdi-black));
}

footer .social-icon a {
   font-size: 1.5rem;
   margin-left: .1rem;
   margin-right: .1rem;
}
footer .footer-menu {
    margin-bottom: 0;
}
footer .footer-menu a {
   color: rgb(var(--bmdi-primary) / 85%);
    text-decoration: none;
}
footer .footer-menu a:hover {
    text-decoration: underline;
}

#homeBannerCarousel {
   height: 100vh;
}

#homeBannerCarousel .carousel-inner {
   height: 100%;
   position: absolute;
}

#homeBannerCarousel .carousel-inner:before {
   background: linear-gradient(rgb(var(--bmdi-primary) / 70%) 0, rgb(var(--bmdi-primary) / 70%) 100%),url(../media/images/overlay.png);
   content: "";
   height: 100%;
   left: 0;
   position: absolute;
   top: 0;
   width: 100%;
   z-index: 1;
}

#homeBannerCarousel .carousel-item {
   background-attachment: fixed;
   background-position: center;
   background-repeat: no-repeat;
   background-size: cover;
   height: 100%;
   position: relative;
   z-index: 0;
}

#homeBannerCarousel .carousel-inner .carousel-jumbo {
   align-items: center;
   display: flex;
   height: 90%;
   justify-content: center;
   left: 0;
   position: absolute;
   top: 5%;
   width: 100%;
   z-index: 2;
}

#homeBannerCarousel .carousel-jumbo .jumbo {
   color: #fff;
   font-weight: 500;
   max-width: 755px;
   position: relative;
   text-align: center;
   text-shadow: 0.05rem 0.125rem rgb(var(--bmdi-black) / 40%);
}

#homeBannerCarousel .carousel-jumbo .jumbo h1 {
   font-family: 'Playfair Display', serif;
   font-size: 3.25rem;
   font-weight: 700;
   font-style: normal;
}

.banner-inner {
   background-position: center;
   background-repeat: no-repeat;
   background-size: cover;
   min-height: 15vh;
   position: relative;
}

.banner-inner:before {
   background: linear-gradient(rgb(var(--bmdi-primary) / 70%) 0, rgb(var(--bmdi-primary) / 70%) 100%),url(../media/images/overlay.png);
   content: "";
   height: 100%;
   left: 0;
   position: absolute;
   top: 0;
   width: 100%;
}

.banner .breadcrumb .breadcrumb-item, .banner .breadcrumb .breadcrumb-item a {
   color: #fff;
   font-weight: 500;
   text-decoration: none;
}
.banner .breadcrumb .breadcrumb-item a:hover {
   text-decoration: underline;
}
.breadcrumb-item + .breadcrumb-item::before {
   color: #fff;
}

.title-space {
   align-items: center;
   display: flex;
   font-size: 1.1rem;
   height: 5.25rem;
   justify-content: center;
   overflow: hidden;
   text-decoration: none;
   -webkit-line-clamp: 4;
   -webkit-box-orient: vertical;
}

@media(min-width: 768px) {
   #homeBannerCarousel .carousel-jumbo .jumbo h1 {
      font-size: 4.25rem;
   }
}

.form-label.small {
   font-weight: 500;
}

.slant-white:before, .slant-white:after {
   background-color: #fff;
}

.slant-light:before, .slant-light:after {
   background-color: rgb(var(--bmdi-black) / 2.6%);
}

.lft-slant, .rht-slant {
   overflow: hidden;
   position: relative;
}

.lft-slant:before {
   bottom: -15%;
   content: "";
   height: 15%;
   left: 0;
   overflow: hidden;
   position: absolute;
   -webkit-transform: skewY(3deg);
   -moz-transform: skewY(3deg);
   -ms-transform: skewY(3deg);
   -o-transform: skewY(3deg);
   transform: skewY(3deg);
   width: 100%;
   z-index: 2;
}

.rht-slant:after {
   bottom: -15%;
   content: "";
   height: 15%;
   left: 0;
   overflow: hidden;
   position: absolute;
   -webkit-transform: skewY(-3deg);
   -moz-transform: skewY(-3deg);
   -ms-transform: skewY(-3deg);
   -o-transform: skewY(-3deg);
   transform: skewY(-3deg);
   width: 100%;
   z-index: 2;
}

.bg-cover {
   background-position: 50% 0;
   background-repeat: no-repeat;
   background-attachment: fixed;
   background-size: cover;
   position: relative;
}

.bg-cover:before {   
   content: "";
   height: 100%;
   left: 0;
   position: absolute;
   top: 0;
   width: 100%;
}

.bg-cover-dark {
   background: linear-gradient(to top,rgb(var(--bmdi-black) / 80%) 0,rgb(var(--bmdi-black) / 80%) 100%),url(../media/images/lab_scientist.jpg);
}

.bg-cover-dark:before {
   background: linear-gradient(rgb(var(--bmdi-black) / 70%) 0, rgb(var(--bmdi-black) / 70%) 100%),url(../media/images/overlay.png);
}

.bg-primary {
   background-color: rgb(var(--bmdi-primary)) !important;
}

.border-top-primary {
   border-top: 0.25rem solid rgb(var(--bmdi-primary))!important;
}

.btn-primary {
   background-color: rgb(var(--bmdi-primary)) !important;
   border-color: rgb(var(--bmdi-primary) / 80%) !important;
}

.btn-primary:active, .btn-primary:focus, .btn-primary:hover {
   background-color: rgb(var(--bmdi-primary)/ 80%) !important;
   border-color: rgb(var(--bmdi-primary) / 80%) !important;
}

.text-primary {
   color: rgb(var(--bmdi-primary)) !important;
}

.stretched-link {
   color: rgb(var(--bmdi-black) / 80%);
   text-decoration: none;
}

.testimonial-card .card-body {
  position: relative;
  font-style: italic;
  padding-left: 3.5rem !important;
}

.testimonial-card .card-body::before {
  content: "“"; /* opening curly quote */
  font-family: 'Playfair Display', serif;
  font-size: 9rem;
  color: rgba(var(--bmdi-primary) / 30%); /* Bootstrap primary */
  position: absolute;
  left: 0;
  top: -3.25rem;
}