/* General Styles */

html {
  scroll-behavior: smooth;
}

body {
  font-family: 'Poppins', sans-serif;
  margin: 0;
  padding: 0;
  box-sizing: border-box;
  background-color: #EEEEEE;
  color: #40393B;
}

.center-text {
  text-align: center;
}

.white-background {
  background-color: white;
}

.medium-bold {
  font-weight: 600; /* Medium-bold */
}

.hide-when-small {
  display: none;
}

@media (min-width: 911px) {
  .hide-when-small {
      display: block;
  }
}

.hide-when-small-nav {
  display: none;
}

@media (min-width: 911px) {
  .hide-when-small-nav {
      display: flex;
  }
}

.hide-when-large {
  display: block;
}

@media (min-width: 911px) {
  .hide-when-large {
      display: none;
  }
}


a {
  text-decoration: none; /* Removes the underline */
  font-weight: bold; /* Makes the text bold */
  color:#333;
}

a:visited {
  color: #333;  /* Ensures visited links stay the same color */
}

b {
  font-weight: 500; /* Medium weight */
}


h1 {
  font-size: 60px;
  font-weight: 500; /* Medium weight */
  margin-block-start: 0em;
  margin-block-end: 0em;
  line-height: 110%;
}
@media (max-width: 875px) {
  #case-studies h1 {
    font-size: 46px;
  }
}

@media (max-width: 875px) {
  .case-study h1 {
    font-size: 46px;
  }
}

@media (max-width: 875px) {
  .cs-header h1 {
    font-size: 46px;
  }
}

h2 {
  font-size: 30px;
  font-weight: 500; /* Medium weight */
  margin-block-start: 0em;
  margin-block-end: 0em;
}

h3 {
  font-weight: normal;
  font-size: 24px;
  margin-block-start: 0em;
  margin-block-end: 0em;
  margin-bottom: 40px;
}

p {
  font-size: 16px;
  font-weight: 300; /* Light weight */
  line-height: 1.95;  /* This is equivalent to 195% */
  margin-block-start: 0em;
  margin-block-end: 0em;
}

.aqua-rectangle {
  width: 70px;
  height: 2px;
  background-color: #58C4BE;
  margin-top: 6px;
  margin-bottom: 15px;
}

.spacer-line {
  background-color: #D9D9D9;
  width: 100%;
  height: 2px;
  margin-top: 45px;
  margin-bottom: 45px;
}

.clearfix {
  clear: both;
}

.bottom-15 {
  margin-bottom: 15px !important;
}

.bottom-30 {
  margin-bottom: 30px !important;
}

.bottom-40 {
  margin-bottom: 40px !important;
}

.bottom-45 {
  margin-bottom: 45px !important;
}

.bottom-p-45 {
  padding-bottom: 45px !important;
}

.bottom-50 {
  margin-bottom: 50px !important;
}

.bottom-90 {
  margin-bottom: 90px !important;
}

.bottom-p-90 {
  padding-bottom: 90px !important;
}

.top-40 {
  margin-top: 40px !important;
}

.top-45 {
  margin-top: 45px !important;
}

.top-50 {
  margin-top: 50px !important;
}

.top-90 {
  margin-top: 90px !important;
}

.top-p-90 {
  padding-top: 90px !important;
}

.top-bottom-45 {
  padding: 45px 0px !important;
}

.top-bottom-45-90 {
  padding: 45px 0px 90px 0px !important;
}

.top-bottom-85 {
  padding: 85px 0px !important;
}

.top-bottom-90 {
  padding: 90px 0px !important;
}

.top-bottom-90-45 {
  padding: 90px 0px 45px 0px !important;
}

.header-background {
  height: 504px; /* Allow the height to adjust with content */
  display: flex;
  flex-direction: column;
  color: white;
  background-image: linear-gradient(to top right, rgba(0, 0, 0, 0.99), rgba(34, 34, 34, 0.96)), 
  url('/image/background-image-1.jpg');
  background-size: cover;
  background-position: center;
  background-repeat: no-repeat;
}

.profile-placement {
  position: relative;
  overflow: visible;
}

header .profile-pic {
  width: 400px;
  height: 400px;
  border-radius: 50%;
  border: 5px solid #EEEEEE;
  z-index: 1;
  position: absolute;
  right: 0;
  top: -86px;
}

.profile-placement p {
  margin-top: 157px;
}

/* Media Query for screens 875px or less */
@media (max-width: 875px) {
  .header-background {
    height: auto; /* Allow the height to adjust with content */
  }

  .profile-placement {
    text-align: center;   /* Center text and image */
    position: static;     /* Remove the absolute positioning */
  }

  header .profile-pic {
    position: static;       /* Reset absolute positioning */
    margin-top: 20px;        /* Adjust spacing between text and image */
    width: 300px;            /* Optional: reduce image size */
    height: 300px;           /* Optional: reduce image size */
    margin-bottom: 90px;     /* Optional: adds space after the image */
  }

  .profile-placement p {
    margin-top: 65px;           /* Remove margin-top on smaller screens */
  }

  .profile-placement .aqua-rectangle {
    margin: 0 auto 10px;     /* Center the aqua rectangle */
  }

  .profile-placement h2 {
    max-width: none !important;
    margin-bottom: 15px;
  }

  .profile-placement h2, 
  .profile-placement p {
    text-align: center;
  }
}

#about {
  padding: 116px 0px 90px 0px;
}

@media (max-width: 875px) {
  #about {
    padding: 90px 0px 90px 0px;
  }
}

.header-background-gbwi {
  height: 780px; /* Adjust height as needed */
  display: flex;
  flex-direction: column;
  color: white;
  background-image: linear-gradient(to top right, rgba(16, 35, 36, 0.99), rgba(40, 103, 109, 0.98)), url('/image/background-image-6.jpg');
  filter: drop-shadow(4px 4px 10px rgba(0, 0, 0, 0.2)); /* Adds shadow to the image */
  background-size: cover;
  background-position: center;
  background-repeat: no-repeat;
}

@media (max-width: 970px) {
  .header-background-gbwi {
    height: auto; /* Allows the height to adjust based on content */
  }
}

.header-background-gbwi .cs-header img {
  width:90%;
  position: relative; /* Ensures positioning context */
  overflow: visible;  /* Allows the image to overlap */
  margin-top: 45px;
}

@media (max-width: 970px) {
  .header-background-gbwi .cs-header img {
    width:100%;
    position: relative; /* Ensures positioning context */
    overflow: visible;  /* Allows the image to overlap */
    margin-top: 45px;
    padding-bottom: 90px;
  }
}

.header-background-sssv {
  height: 780px; /* Adjust height as needed */
  display: flex;
  flex-direction: column;
  color: white;
  background-image: linear-gradient(to top right, rgba(15, 34, 23, 0.99), rgba(40, 109, 83, 0.98)), url('/image/background-image-5.jpg');
  background-size: cover;
  background-position: center;
  background-repeat: no-repeat;
}

@media (max-width: 970px) {
  .header-background-sssv {
    height: auto; /* Allows the height to adjust based on content */
  }
}

.header-background-sssv .cs-header img {
  width:87%;
  position: relative; /* Ensures positioning context */
  overflow: visible;  /* Allows the image to overlap */
  margin-top: 25px;
}

@media (max-width: 970px) {
  .header-background-sssv .cs-header img {
    width:100%;
    position: relative; /* Ensures positioning context */
    overflow: visible;  /* Allows the image to overlap */
    margin-top: 45px;
    padding-bottom: 90px;
  }
}

.header-background-cq {
  height: 780px; /* Adjust height as needed */
  display: flex;
  flex-direction: column;
  color: white;
  background-image: linear-gradient(to top right, rgba(31, 14, 22, 0.99), rgba(109, 40, 86, 0.98)), url('/image/background-image-4.jpg');
  background-size: cover;
  background-position: center;
  background-repeat: no-repeat;
}

@media (max-width: 970px) {
  .header-background-cq {
    height: auto; /* Allows the height to adjust based on content */
  }
}

.header-background-cq .cs-header img {
  width:78%;
  position: relative; /* Ensures positioning context */
  overflow: visible;  /* Allows the image to overlap */
  margin-top: 45px;
}

@media (max-width: 970px) {
  .header-background-cq .cs-header img {
    width:100%;
    position: relative; /* Ensures positioning context */
    overflow: visible;  /* Allows the image to overlap */
    margin-top: 45px;
    padding-bottom: 90px;
  }
}

.header-background-4C {
  height: 760px; /* Adjust height as needed */
  display: flex;
  flex-direction: column;
  color: white;
  background-image: linear-gradient(to top right, rgba(17, 28, 37, 0.99), rgba(40, 78, 109, 0.98)), url('/image/background-image-3.jpg'); 
  background-size: cover;
  background-position: center;
  background-repeat: no-repeat;
}

@media (max-width: 970px) {
  .header-background-4C {
    height: auto; /* Allows the height to adjust based on content */
  }
}

.header-background-4C .cs-header img {
  width:100%;
  position: relative; /* Ensures positioning context */
  overflow: visible;  /* Allows the image to overlap */
  margin-top: 45px;
}

@media (max-width: 970px) {
  .header-background-4C .cs-header img {
    width:100%;
    position: relative; /* Ensures positioning context */
    overflow: visible;  /* Allows the image to overlap */
    margin-top: 45px;
    padding-bottom: 90px;
  }
}

.header-background-livy {
  height: 780px; /* Adjust height as needed */
  display: flex;
  flex-direction: column;
  color: white;
  background-image: linear-gradient(to top right, rgba(24, 16, 35, 0.99), rgba(68, 40, 109, 0.98)), url('/image/background-image-2.jpg'); 
  background-size: cover;
  background-position: center;
  background-repeat: no-repeat;
}

@media (max-width: 970px) {
  .header-background-livy {
    height: auto; /* Allows the height to adjust based on content */
  }
}

.header-background-livy .cs-header img {
  width:80%;
  position: relative; /* Ensures positioning context */
  overflow: visible;  /* Allows the image to overlap */
  margin-top: 35px;
}

@media (max-width: 970px) {
  .header-background-livy .cs-header img {
    width:100%;
    position: relative; /* Ensures positioning context */
    overflow: visible;  /* Allows the image to overlap */
    margin-top: 45px;
    padding-bottom: 90px;
  }
}

.cs-header {
  text-align: center;
}

.cgr {
  margin:135px 0px 45px 0px;
}

@media (max-width: 970px) {
  .cgr {
    margin: 90px 0px 45px 0px;
  }
}

.navbar {
  margin-top: 30px;
  display: flex;
  justify-content: space-between;
  align-items: center;
}

.logo {
  width: 40px; /* Set the logo width to 40px */
  height: auto; /* Maintain aspect ratio */
}

.nav-links a {
  font-size: 16px;
  font-weight: 400;
  text-decoration: none;
  color: white; /* Set text color to white */
  margin-right: 34px;
}

.nav-links a:last-child {
  margin-right: 0;
}

.nav-links a:hover {
  text-decoration: underline;
}

nav a {
  color: white;
  font-size: 16px;
  font-weight: regular;
  text-decoration: underline;
  text-underline-position: under;
  text-decoration-thickness: 2px; /* Controls the thickness of the underline */
  text-decoration-skip-ink: none; /* Prevents the underline from skipping over descenders (like in letters 'g' and 'y') */
  padding-bottom: 5px; /* Adjust this value to move the underline further down */
}

nav a:hover {
  text-decoration: underline;
  text-underline-position: under;
}

@media (max-width: 910px) {
  .nav-links a.about-me {
    display: none;
  }

  .nav-links {
    justify-content: space-between; /* Ensures remaining links are spaced evenly */
  }
}

header h2 {
  max-width: 390px;
}

.btn-primary {
  color: #40393B;
  font-size: 16px;
  font-weight: 500;
  border: 2px solid #40393B;
  background-color: transparent;
  width: 200px;
  border-radius: 9px;
  padding: 10px;
  text-align: center;
  display: inline-block;
  cursor: pointer;
  transition: background-color 0.75s ease;
  margin-top: 30px;
}

.btn-primary:hover {
  background-color: #40393B;
  color: white; /* Change this color to your preference when the button is hovered */
}

/* Centering btn-primary on small screens */
@media (max-width: 875px) {
  .btn-primary {
    display: block; /* Makes the button a block element */
    margin-left: auto; /* Aligns it to the center horizontally */
    margin-right: auto; /* Aligns it to the center horizontally */
  }
}


section {
  text-align: left;
}

.container-800 {
  width: 800px;
  margin: 0 auto; /* Centers the container */
}

@media (max-width: 970px) {
  .container-800 {
    width: 100%;                /* Default width is 90% of the viewport */
  }
}

.container-910 {
  width: 910px;                /* Default width is 90% of the viewport */
  margin: 0 auto;            /* Center the container horizontally */
  /* padding: 0 15px;            Optional padding for spacing */
  /* box-sizing: border-box;     Ensures padding is included in total width */
}

@media (max-width: 970px) {
  .container-910 {
    width: 90%;                /* Default width is 90% of the viewport */
  }
}


.case-study {
  padding: 90px 0px;
  color: white;
  background-size: cover;
  background-position: center;
  background-repeat: no-repeat;
  border-radius: 0px;
  margin: 0rem 0;
  text-align: center;
  position: relative;
}

.case-study h2 {
  margin-bottom: 1rem;
}

.case-study p {
  margin-bottom: 1.5rem;
}

.case-study .btn-primary {
  color: white;
  font-size: 16px;
  font-weight: 500;
  border: 2px solid white;
  background-color: transparent;
  width: 200px;
  border-radius: 9px;
  padding: 10px;
  text-align: center;
  display: inline-block;
  cursor: pointer;
  transition: background-color 0.75s ease;
  margin: 14px 0px 40px 0px;
}

.case-study .btn-primary:hover {
  background-color: white;
  color: #40393B; /* Change this color to your preference when the button is hovered */
}

.case-study img {
  max-width: 800px;
  max-height: 640px;
  width: 100%;
  height: auto;
  display: block;
  margin: 0 auto;
  filter: drop-shadow(4px 4px 10px rgba(0, 0, 0, 0.2)); /* Adds shadow to the image */
}

.feature {
  overflow: visible;
  position: relative;
}

.feature img {
  max-width: 800px;
  width: 100%;
  height: auto;
  display: block;
  margin: 0 auto;
  filter: drop-shadow(4px 4px 10px rgba(0, 0, 0, 0.2)); /* Adds shadow to the image */
  overflow: visible;
  position: relative; /* Ensures positioning context */
  z-index: 1;
  top: -40px; /* Allows the image to overlap the container */
}

.feature-small-screen img {
  width: 90%;
  height: auto;
  display: block;
  margin: 0 auto;
  filter: drop-shadow(4px 4px 10px rgba(0, 0, 0, 0.2)); /* Adds shadow to the image */
  padding: 90px 0px;
  z-index: 1;
}


.no-shadow {
  filter: none !important; /* Removes drop shadow with !important */
}

.image-container {
  display: flex;
  flex-direction: column;
  gap: 38px; /* space between rows */
}

@media (max-width: 910px) {
  .image-container {
    display: none;
  }
}

.image-row {
  display: flex;
  flex-wrap: wrap;
  gap: 38px; /* space between images horizontally */
}

.square-image {
  width: clamp(90px, 10vw, 120px); /* Minimum: 60px, Max: 120px, responsive in between */
  height: clamp(90px, 10vw, 120px); /* Matches width for 1:1 aspect ratio */
  object-fit: cover;
  border-radius: 12px; /* Optional: adds a slight corner radius */
}

/* Media Queries for responsiveness */
@media (max-width: 1024px) {
  .image-row {
    justify-content: space-evenly; /* Ensures even spacing between images */
  }
}

@media (max-width: 768px) {
  .image-row {
    justify-content: space-around; /* Reduces gaps for smaller screens */
  }
}

@media (max-width: 480px) {
  .image-row {
    justify-content: center; /* Centers single images */
  }
}


#quote {
  padding: 120px 0px;
  background-color: white;
  text-align: center;
  margin-block-start: 0em;
  margin-block-end: 0em;
}

#quote-words {
  font-size: 40px;
  font-weight: 500; /* Medium font weight */
  line-height: 131.2%;
  margin-block-start: 0em;
  margin-block-end: 0em;
  margin-bottom: 16px;
}

#quote-author {
  font-size: 30px;
  font-weight: 300; /* Light font weight */
  margin-block-start: 0em;
  margin-block-end: 0em;
}

#tools {
  padding: 90px 0px;
}

.next {
  font-size: 24px;
  margin-block-start: 0em;
  margin-block-end: 0em;
  margin-bottom: 0rem !important;

}


.cs-section h1 {
  font-size: 40px;
  font-weight: 500;
}

.cs-section img {
  max-width: 800px;
  width:90%;
  display: block;
  margin: 0 auto;
}

@media (max-width: 910px) {
  .cs-section img {
    width:100%;
  }
}

.footer {
  text-align: center;
  overflow: hidden; /* Clears the float */
  padding: 50px 0px;
  background-image: linear-gradient(to top right, rgba(0, 0, 0, 0.99), rgba(34, 34, 34, 0.96)), 
  url('/image/background-image-1.jpg');
  background-size: cover;
  background-position: center;
  background-repeat: no-repeat;
  color: white;
}

.footer-icons a img {
  height: 24px;
}

.footer-icons a {
  margin-right: 44px;
}

.footer-icons a:last-child {
  margin-right: 0;
}

.footer-logo {
  height: 58px;
  margin-bottom: 10px;
}

.footer-email {
  margin-bottom: 30px;
}

.footer-email a {
  font-size: 22px;
  font-weight: 500;
  color: white;
  text-decoration: none;
}

.footer-email a:hover {
  text-decoration: underline;
  color: white; /* Or any other hover color you want */
}

.copyright {
  font-size: 14px;
  font-weight: 300; /* Light font weight */
  margin-block-start: 0em;
  margin-block-end: 0em;
  line-height: 140%;;
}

.bottom-nav {
  margin: 45px 0px 25px 0px;
}

.bottom-nav a {
  font-size: 16px;
  font-weight: 400;
  text-decoration: none;
  color: white; /* Set text color to white */
  margin-right: 34px;
}

.bottom-nav a:last-child {
  margin-right: 0;
}

.bottom-nav a:hover {
  text-decoration: underline;
}

bottom-nav a {
  color: white;
  font-size: 16px;
  font-weight: regular;
  text-decoration: underline;
  text-underline-position: under;
  text-decoration-thickness: 2px; /* Controls the thickness of the underline */
  text-decoration-skip-ink: none; /* Prevents the underline from skipping over descenders (like in letters 'g' and 'y') */
  padding-bottom: 5px; /* Adjust this value to move the underline further down */
}

bottom-nav a:hover {
  text-decoration: underline;
  text-underline-position: under;
}

.responsive-video {
  position: relative;
  width: 100%;
  padding-bottom: 56.25%; /* 16:9 Aspect Ratio */
  height: 0;
  overflow: hidden;
}

.responsive-video iframe {
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  border: none;
  border-radius: 15.63px; /* Adds the specified corner radius */
  overflow: hidden;
}

.responsive-iframe {
  width: 100%;
    height: auto;
    min-height: 400px; /* Ensures a minimum height */
    border: 1px solid rgba(0, 0, 0, 0.1);
    aspect-ratio: 16 / 9; /* Maintains a 16:9 ratio automatically */
    display: block;
}

.responsive-iframe iframe {
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
}

@media (max-width: 768px) {
  .break-on-small::before {
      content: "\A"; /* Inserts a line break */
      white-space: pre; /* Preserves the line break */
  }
}

