html,
body {
  margin: 0;
  padding: 0;
  font-family: "Inconsolata", monospace;
  background-color: #101010;
  color: #efefef;
  width: 100%;
}

/* Hide content until fonts are loaded */
body {
  visibility: hidden;
  opacity: 0; /* Set initial opacity to 0 */
  transition: opacity 1s ease; /* Add a transition for opacity */
}
/* Show content when fonts are loaded */
body.fonts-loaded {
  visibility: visible;
  opacity: 1; /* Change opacity to 1 when fonts are loaded */
}

a:link {
  color: #efefef;
  background-color: transparent;
  text-decoration: none;
}

a:visited {
  color: #efefef;
  background-color: transparent;
  text-decoration: none;
}

a:hover {
  color: #808080;
  background-color: transparent;
  text-decoration: none;
}

a:active {
  color: #505050;
  background-color: transparent;
  text-decoration: none;
}

::selection {
  background: #0000ff; /* WebKit/Blink Browsers */
}

::-moz-selection {
  background: #0000ff; /* Gecko Browsers */
}

/* Bootstrap */

.container-fluid {
  overflow: hidden;
}

/* Define keyframes for fadein animation */
@keyframes fadein {
  from {
    opacity: 0;
  }
  to {
    opacity: 1;
  }
}

/* Apply fadein animation to all lazy-loaded images */
.lazyload,
.lazyloaded {
  opacity: 0;
  animation: fadein 5s forwards; /* Apply fadein animation with a duration of 0.5s and fill mode forwards */
}

/* Optional: Adjust animation delay for better timing */
.lazyload {
  animation-delay: 0.5s;
}

.mt-10 {
  margin-top: 100px;
}

.mb-10 {
  margin-bottom: 100px;
}

/* Navigation */

.nav-links {
  font-size: 0.9em;
  line-height: 1.8em;
  text-align: right;
  position: fixed;
  padding: 25px 30px 0px 0px;
  top: 0;
  right: 0;
  z-index: 9999;
}

.nav-links-container {
  width: auto; /* or specify a fixed width */
  margin-left: auto; /* Pushes the container to the right side of the row */
}

.nolink {
  unicode-bidi: bidi-override !important;
  direction: rlt !important;
  -moz-user-select: none !important;
  -webkit-user-select: none !important;
  -ms-user-select: none !important;
}

.nolink:hover span {
  display: none !important;
}
.nolink:hover:before {
  unicode-bidi: bidi-override !important;
  direction: rtl !important;
  content: "moc.notnurbnomis@olleh";
}

.nav-logo {
  margin: 30px 0px 30px 30px;
  height: 54px;
  width: 46px;
  position: fixed;
  top: 0;
  left: 0;
  z-index: 9999;
}

/* Structure */

.position-relative {
  position: relative;
  overflow: hidden; /* Add this line to limit overflow */
}

.overlay-text {
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  display: flex;
  justify-content: center;
  align-items: center;
}

.overlay-text:hover {
  background-color: rgba(0, 0, 0, 0.8); /* Adjust background color and opacity as needed */
}

.landing-page-title {
  font-family: "Plus Jakarta Sans", sans-serif !important;
  line-height: 140%;
  font-weight: 700 !important;
  font-size: 2.6em;
  opacity: 0; /* Initially hide the text */
  color: #ffffff !important;
}

@media only screen and (max-width: 768px) and (orientation: portrait) {
  .landing-page-title {
    padding-top: 0.3em;
  }
}

.landing-page-title:hover {
  color: #ffffff !important;
  opacity: 1; /* Make the text fully visible on hover */
}

.hidden {
  display: none !important;
}

.main-content {
  max-width: 1920px !important;
  margin-left: auto;
  margin-right: auto;
}

.banner {
  padding-top: 18%;
  padding-bottom: 14%;
}

@media only screen and (max-width: 768px) and (orientation: portrait) {
  .banner {
    padding-top: 38%;
    padding-bottom: 30%;
  }
}

@media only screen and (max-width: 768px) and (orientation: landscape) {
  .banner {
    padding-top: 8%;
    padding-bottom: 5%;
  }
}


@media only screen and (max-width: 768px) {
  .image-container {
    display: block;
    overflow: hidden; /* Ensure images are cropped */
    height: 240px; /* Set the desired height for all images */
    border-radius: 4px; /* Add border-radius */
    position: relative; /* For absolute positioning of image */
  }

  .image-container img {
    width: 100%; /* Ensure the image fills its container */
    height: auto; /* Maintain aspect ratio */
    position: absolute; /* Position image relative to its container */
    top: 88%; /* Move image halfway down */
    transform: translateY(-50%); /* Center image vertically */
    border-radius: 20px; /* Add border-radius */
  }
}

@media only screen and (max-width: 576px) {
  .image-container {
    height: 180px; /* Set the desired height for all images */
  }
}

@media only screen and (max-width: 400px) {
  .image-container {
    height: 120px; /* Set the desired height for all images */
  }
}

/* Gallery */

.gallery {
  max-width: 1200px;
}

.modal-body {
  padding: 0px;
}

/* Case Studies */

.case-intro {
  padding-top: 18%;
  padding-bottom: 5%;
}

@media only screen and (max-width: 992px) {
  .case-intro {
    padding-top: 30%;
    padding-left: 15px;
    padding-right: 15px;
  }
}

@media only screen and (max-width: 576px) {
  .case-intro {
    padding-top: 38%;
  }
}

.case-outline-title {
  font-family: "Plus Jakarta Sans", sans-serif !important;
  font-size: 3.8em;
  line-height: 110%;
  font-weight: 700 !important;
  margin-left: -2px;
  margin-bottom: 0.3em;
  color: #ffffff;
}

@media only screen and (max-width: 768px) {
  .case-outline-title {
  font-size: 3em;
    margin-bottom: 0.33em;
}
}


.welcome-title {
  font-family: "Plus Jakarta Sans", sans-serif !important;
  font-size: 2.6em;
  line-height: 120%;
  font-weight: 700 !important;
  margin-left: -2px;
  margin-bottom: 0.3em;
  color: #ffffff;
}

@media only screen and (max-width: 768px) {
.welcome-title {
  font-size: 1.6em;
}
}

.case-outline {
  margin-right: 24px;
}

@media only screen and (max-width: 768px) {
  .case-outline {
    margin-right: 0px;
  }
}

/* Additional CSS for the "show-more" functionality */
.case-stats {
  margin-bottom: 20px; /* Add some space below the container */
}
.additional-content {
  display: none; /* Hide additional content by default */
}
.show-more .additional-content {
  display: block; /* Show additional content when "show-more" class is present */
}

/* Styles for the "Show more" button */
.see-more-btn {
  display: none; /* Initially hide the button */
  padding: 0px !important;
  margin-left: -0.1em;
  color: #9f9f9f !important;
  text-decoration: none;
  line-height: 1.4em;
}

.see-more-btn:hover {
  color: #505050 !important;
}

/* Show the button only on screens with a maximum width of 768px */
@media only screen and (max-width: 768px) {
  .see-more-btn {
    display: block;
  }
  .additional-content {
    display: none; /* Hide additional content by default on smaller screens */
  }
  .show-more .additional-content {
    display: block; /* Show additional content when "show-more" class is present */
  }
}

/* Styles for larger screens (769px and above) */
@media only screen and (min-width: 769px) {
  .see-more-btn {
    display: none; /* Hide the button on larger screens */
  }
  .additional-content {
    display: block; /* Show additional content by default on larger screens */
  }
}

.case-outline-text {
  font-size: 1.1em;
}

.case-item-title {
  margin: 0px;
  color: #9f9f9f;
}

.case-item {
  line-height: 1.4em;
}

.radius-small {
  border-radius: 4px !important;
}

.radius {
  border-radius: 12px !important;
}

.radius-top {
  border-radius: 12px 12px 0px 0px !important;
}

.radius-bottom {
  border-radius: 0px 0px 12px 12px !important;
}

.radius-bottom-left {
  border-radius: 0px 0px 12px 0px !important;
}

.radius-bottom-right {
  border-radius: 0px 0px 12px 0px !important;
}

@media only screen and (max-width: 576px) {
  .radius {
    border-radius: 6px !important;
  }
}

@media only screen and (max-width: 576px) {
  .radius-top {
    border-radius: 6px 6px 0px 0px !important;
  }
}

@media only screen and (max-width: 576px) {
  .radius-bottom {
    border-radius: 0px 0px 6px 6px !important;
  }
}

.radius-top-left {
  border-radius: 12px 0px 0px 0px !important;
}

.radius-top-right {
  border-radius: 0px 12px 0px 0px !important;
}

.radius-bottom-left {
  border-radius: 0px 0px 0px 12px !important;
}

.radius-bottom-right {
  border-radius: 0px 0px 12px 0px !important;
}

@media only screen and (max-width: 991px) {
  .radius-top-left {
    border-radius: 6px 6px 6px 6px !important;
  }
}

@media only screen and (max-width: 991px) {
  .radius-top-right {
    border-radius: 6px 6px 6px 6px !important;
  }
}

@media only screen and (max-width: 991px) {
  .radius-bottom-left {
    border-radius: 6px 6px 6px 6px !important;
  }
}

@media only screen and (max-width: 991px) {
  .radius-bottom-right {
    border-radius: 6px 6px 6px 6px !important;
  }
}

@media only screen and (max-width: 991px) {
  .radius-mobile {
    border-radius: 6px 6px 6px 6px !important;
  }
}

.image-caption {
  font-size: 0.9em;
  padding-top: 10px;
  padding-bottom: 7px;
  color: #9f9f9f;
}

@media only screen and (max-width: 576px) {
  .image-caption-padding {
    margin: 0px !important;
    margin-top: 1rem;
    margin-bottom: 1rem;
    border: 0;
    border-bottom: 1px solid #404040;
  }
}

@media only screen and (max-width: 576px) {
  .case-text-padding {
    margin: 0px !important;
    padding: 24px 0px 34px 0px !important;
  }
}

.case-links {
  padding: 24px 0px 24px 0px;
  margin: 0px 0px 0px 0px;
}

@media only screen and (max-width: 576px) {
  .case-links {
    padding: 24px 12px 24px 12px;
    margin: 0px 0px 0px 0px;
    line-height: 2em;
  }
}

@media only screen and (max-width: 576px) {
  .case-home {
    padding-top: 36px;
  }
}

.divider {
  margin-top: 1rem;
  margin-bottom: 1rem;
  border: 0;
  border-top: 1px solid #404040;
}

.spacer {
  margin: 10em;
}

@media only screen and (max-width: 768px) {
  .spacer {
    margin: 5em;
  }
}

.spacer-small {
  margin: 6em;
}

@media only screen and (max-width: 768px) {
  .spacer-small {
    margin: 3em;
  }
}

.spacer-large {
  margin: 12em;
}

@media only screen and (max-width: 768px) {
  .spacer-large {
    margin: 6em;
  }
}

/* Hide the default video controls */
.video-container video::-webkit-media-controls {
  display: none !important;
}

.video-container video {
  /* Prevent users from interacting with the video controls */
  pointer-events: none !important;
}

/* Modified YouTube Embed */

.embed-responsive-16by9 {
  position: relative;
  padding-bottom: 56.25%; /* 16:9 aspect ratio */
  overflow: hidden;
}

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

@media only screen and (max-width: 768px) {
  .hide-on-mobile {
    display: none !important;
  }
}

/* Footer */

.footer-row {
  background-color: #404040;
}

.footer-copyright {
  padding: 10px 0px 10px 20px;
}

.footer-links {
  color: #efefef;
  text-align: right;
  padding: 10px 22px 10px 0px;
}

.footer-links a {
  text-align: right;
  padding: 3px;
}

.footer-links a:hover {
  color: #9f9f9f;
}
