/* GLOBAL STYLES
-------------------------------------------------- */
body, html {
   padding: 0;
   margin: 0;
   overflow-x: hidden;
}
body {
   background-color: #f8f9fa;
   font-size: 100%;
}
html {
   position: relative;
   min-height: 100%;
}
main {
   margin-bottom: 45px;
}
.container {
   margin-top: 7.5rem;
   padding-top: 0.5%;
   padding-bottom: 5%;
   padding-left: 1.5%;
   padding-right: 1.5%;
}
.blackFont{
   color: #000000;
}
.whiteFont{
   color: #868e96;
}
.center-cropped {
   object-fit: cover; /* Do not scale the image */
   object-position: center; /* Center the image within the element */
   width: 100%;
   height: 100%;
}

/* ABOUT PAGE
-------------------------------------------------- */
.headshot {
   width: 100%;
   height: auto;
}

/* BUTTONS
-------------------------------------------------- */
.HDSBlue {
   background-color: #2e3192;
}

/* CAROUSEL
-------------------------------------------------- */
/* Carousel base class */
#home-page-carousel {
  margin-bottom: 2.5rem;
}
/* Declare heights because of positioning of img element */
.home-page-carousel-item {
  height: 100vh;
  background-color: #000000;
}
.home-page-carousel-item img {
   opacity: 0.75;
}
/* position and color caption */
.home-page-carousel-caption {
   position: absolute;
   left: 0;
   bottom: 10%;
   width: 100%;
   padding: 10px 20px 30px 20px;
   z-index: 10;
}

/* FOOTER
-------------------------------------------------- */
footer {
   position: absolute;
   bottom: 0;
   width: 100%;
   height: auto;
   padding: 1.5rem;
}

/* PORTFOLIO ADVERTISEMENT ON HOME PAGE
-------------------------------------------------- */
.portfolioAdvertisement {
   position: relative;
   margin: 0 0 2.5rem 0;
   padding: 0;
   height: 30rem;
}
.portfolioAdvertisement div {
   position: absolute;
   top: 50%;
   left: 50%;
   transform: translate(-50%, -50%);
   -ms-transform: translate(-50%, -50%);
   width: 100%;
}
.portfolioAdvertisement img {
   opacity: 0.4;
}

/* IMAGES
-------------------------------------------------- */
.featureImage {
   width: 65%;
   height: auto;
   border-radius: 50%;
}
.homePageImage {
   height: auto;
   width: 50%;
}

/* MAP
-------------------------------------------------- */
#map {
   width: 100%;
}

/* SERVICE PAGE(S)
-------------------------------------------------- */
.service-main-image {
   position: relative;
   margin: 0;
   padding: 0;
   height: 100vh;
   background-color: #000000;
}
.service-main-image img {
   opacity: 0.7;
}
.service-main-image div {
   position: absolute;
   top: 50%;
   left: 50%;
   transform: translate(-50%, -50%);
   -ms-transform: translate(-50%, -50%);
   width: 100%;
}
.service-image {
   width: 100%;
}

/* RESPONSIVE CSS
-------------------------------------------------- */
/* Extra small devices (phones, 600px and down) */
@media only screen and (max-width: 600px) {   
   /* MAP */
   #map {
      height: 325px;
   }
   
   /* NAVBAR */
   #navbarBrand {
      height: 50px;
   }
   .nav-link {
      font-size: 18px;
   }
   
   /* FONTS */
   .display-1 {
      font-size: 2.75rem;
   }
   .display-2 {
      font-size: 2.5rem;
   }
   .display-3 {
      font-size: 2.25rem;
   }
   h1, .display-4 {
      font-size: 2.0rem;
   }
   h2 {
      font-size: 1.8rem;
   }
   h3 {
      font-size: 1.6rem;
   }
   h4 {
      font-size: 1.4rem;
   }
   h5, p, .lead {
      font-size: 1.2rem;
   }
   .blackFont {
      font-size: 0.9em;
   }
} 

/* Small devices (portrait tablets and large phones, 600px and up) */
@media only screen and (min-width: 600px) {
   /* MAP */
   #map {
      height: 400px;
   }
   
   /* NAVBAR */
   #navbarBrand {
      height: 100px;
   }
   .nav-link {
      font-size: 20px;
   }
   
   /* FONTS */
   .display-1 {
      font-size: 2.8rem;
   }
   .display-2 {
      font-size: 2.6rem;
   }
   .display-3 {
      font-size: 2.4rem;
   }
   h1, .display-4 {
      font-size: 2.2rem;
   }
   h2 {
      font-size: 2.0rem;
   }
   h3 {
      font-size: 1.8rem;
   }
   h4 {
      font-size: 1.6rem;
   }
   h5, p, .lead {
      font-size: 1.4rem;
   }
} 

/* Large devices (laptops/desktops, 992px and up) */
@media only screen and (min-width: 992px) {
   /* MAP */
   #map {
      height: 500px;
   }
   
   /* NAVBAR */
   #navbarBrand {
      height: 100px;
   }
   .nav-link {
      font-size: 28px;
   }
   
   /* FONTS */  
   .display-1 {
      font-size: 5rem;
   }
   .display-2 {
      font-size: 4rem;
   }
   .display-3 {
      font-size: 3rem;
   }
   h1, .display-4 {
      font-size: 2.4rem;
   }
   h2 {
      font-size: 2.2rem;
   }
   h3 {
      font-size: 2.0rem;
   }
   h4 {
      font-size: 1.8rem;
   }
   h5, p, .lead {
      font-size: 1.6rem;
   }
}