/* LOADING SCREEN STYLES
-------------------------------------------------- */
.loading-screen {
  position: fixed;
  top: 0;
  left: 0;
  width: 100vw;
  height: 100vh;
  background-color: #000000;
  display: flex;
  justify-content: center;
  align-items: center;
  z-index: 9999;
  opacity: 1;
  pointer-events: all;
  overflow: hidden;
}

.loading-screen.hidden {
  opacity: 0;
  pointer-events: none;
}

.loading-logo {
  max-width: 100vw;
  max-height: 100vh;
  width: 100%;
  height: 100%;
  object-fit: contain;
}

@keyframes holdThenFade {
  0%, 85% {
    opacity: 1;
    pointer-events: all;
  }
  100% {
    opacity: 0;
    pointer-events: none;
  }
}

/* GLOBAL STYLES
-------------------------------------------------- */
/* Padding below the footer and lighter body text */

body {
  padding-top: 3rem;
  padding-bottom: 0rem;
  color: #EFF1F3;
  background-color: #0c090a;
  font-family: 'Cerebri Sans', -apple-system, BlinkMacSystemFont, 'Segoe UI', Roboto, 'Helvetica Neue', Arial, sans-serif;
}

/* Dark theme navbar */
.navbar-dark-custom {
  background-color: #0c090a !important;
}

.navbar-dark-custom .navbar-toggler-icon {
  background-image: url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 30 30'%3e%3cpath stroke='rgba(239, 241, 243, 0.75)' stroke-linecap='round' stroke-miterlimit='10' stroke-width='2' d='M4 7h22M4 15h22M4 23h22'/%3e%3c/svg%3e");
}

.navbar-dark-custom .navbar-nav .nav-link {
  color: #EFF1F3;
}

.navbar-dark-custom .navbar-nav .nav-link:hover {
  color: #F09B00;
}


/* CUSTOMIZE THE CAROUSEL
-------------------------------------------------- */

/* Carousel base class */
.carousel {
  margin-bottom: 4rem;
}
/* Since positioning the image, we need to help out the caption */
.carousel-caption {
  bottom: 3rem;
  z-index: 10;
}

/* Declare heights because of positioning of img element */
.carousel-item {
  height: 32rem;
  background-color: #777;
}
.carousel-item > img {
  position: absolute;
  top: 0;
  left: 0;
  min-width: 100%;
  height: 32rem;
}


/* MARKETING CONTENT
-------------------------------------------------- */

/* Center align the text within the three columns below the carousel */
.marketing .col-lg-4 {
  margin-bottom: 1.5rem;
  text-align: center;
}
.marketing h2 {
  font-weight: 400;
}
.marketing .col-lg-4 p {
  margin-right: .75rem;
  margin-left: .75rem;
}


/* Featurettes
------------------------- */

.featurette-divider {
  margin: 0.5rem 0; /* Space out the Bootstrap <hr> more */
}

.featurette-divider-orange {
  margin: 1rem 0; /* Space out the Bootstrap <hr> more */
  border-color: #F09B00;
  border-width: 1px;
  border-style: solid;
}

.featurette-divider-thin {
  border-color: #F09B00;
  border-width: 0.5px;
  border-style: solid;
}

/* Thin out the marketing headings */
.featurette-heading {
  font-weight: 300;
  line-height: 1;
  letter-spacing: -.05rem;
  position: relative;
  display: inline-block;
}
@media (min-width: 40em) {
  /* Bump up size of carousel content */
  .carousel-caption p {
    margin-bottom: 1.25rem;
    font-size: 1.25rem;
    line-height: 1.4;
  }
  .featurette-heading {
    font-size: 50px;
  }
}
@media (min-width: 62em) {
  .featurette-heading {
    /* margin-top: 1rem; */
  }
}
/* Orange underline under header */
.featurette-heading::after {
  content: "";
  display: block;
  width: 100%; /* Now it will be the same width as the text */
  height: 2px; /* Adjust as needed */
  background-color: #F09B00; /* Orange color */
  position: absolute;
  left: 0;
  bottom: -10px; /* Adjust for spacing */
  animation: fadeIn 4s;
}


.featurette-heading-no-line {
  font-weight: 300;
  line-height: 1;
  letter-spacing: -.05rem;
  position: relative;
  display: inline-block;
}
@media (min-width: 40em) {
  /* Bump up size of carousel content */
  .carousel-caption p {
    margin-bottom: 1.25rem;
    font-size: 1.25rem;
    line-height: 1.4;
  }
  .featurette-heading-no-line {
    font-size: 50px;
  }
}
@media (min-width: 62em) {
  .featurette-heading-no-line {
    /* margin-top: 1rem; */
  }
}
/* Orange underline under header */
.featurette-heading-no-line::after {
  content: "";
  display: block;
  width: 100%; /* Now it will be the same width as the text */
  height: 2px; /* Adjust as needed */
  /* background-color: white; */
  position: absolute;
  left: 0;
  bottom: -10px; /* Adjust for spacing */
  animation: fadeIn 4s;
}


#hideMobile {
  display: block; /* Or whatever display style you want for non-mobile screens */
}
/* Media query for screens with a maximum width of 768px (adjust as needed for your design) */
@media (max-width: 768px) {
  #hideMobile {
    display: none; /* Hide the element on mobile screens */
  }
}

/* Default style for the element (hidden) */
#showMobile {
  display: none;
}
/* Media query for screens with a maximum width of 768px (adjust as needed for your design) */
@media (max-width: 768px) {
  #showMobile {
    display: block; /* Show the element on mobile screens */
  }
}

.bg-light-grey {
  background-color: rgb(190, 189, 189);
}

.bg-off-white {
  background-color: rgb(238, 238, 238);
}

.logo-container {
  position: relative;
  overflow: hidden;
  max-width: 100%;
  height: auto;
}

.logo {
  width: 100%;
  height: auto;
}

@media (max-width: 768px) {
  .logo {
      width: 80%;
  }
}

/* Custom */

.nav-padding {
  padding-left: 1000rem
}

.text-black {
  color: rgba(0, 0, 0, 0.749);
}

.text-heading {
  animation: fadeIn 2s;
}

.nav-link:hover {
  border-bottom: 2px solid #F09B00;
  color: #F09B00;
}

.footer-text {
  color: gray;
}

a:hover {
  color: #F09B00;
  text-decoration:none; 
  cursor:pointer;  
  border-bottom: 2px solid #F09B00;
}

a {
  color: white;
  text-decoration:none; 
  cursor:pointer;  
}

/* Disable hover effect for links with the class 'no-hover' */
a.no-hover:hover {
  color: white;
  border-bottom: 2px solid white;
  cursor: pointer; /* Optional: change cursor to default */
}

.icon-link:hover {
  text-decoration: none; /* Prevent underline on hover for icon links */
  border-bottom: none; /* Prevent bottom border on hover for icon links */
}

.home-heading {
  background-image: url('images/Realex\ Design\ Designed\ For\ Life\ -\ Home\ Page.png');
  background-size: cover;
  background-position: center;
  background-repeat: no-repeat;
  height: 120vh;
  min-height: 500px;
  position: relative;
  background-color: black;
  animation: fadeIn 2s ease-in-out;
  width: 100%;
}
@media (max-width: 768px) {
  .home-heading {
    height: 60vh;
    min-height: 300px;
    background-size: contain;
    background-position: center top;
  }
}
@media (min-width: 769px) and (max-width: 1024px) {
  .home-heading {
    background-size: cover;
  }
}

.home-heading-mobile {
  background-image: url('images/Realex\ Design\ Designed\ For\ Life\ -\ Home\ Page.png');
  background-size: cover;
  background-position: center;
  background-repeat: no-repeat;
  height: 10vh;
  min-height: 300px;
  position: relative;
  background-color: black;
  animation: fadeIn 2s ease-in-out;
  width: 100%;
}


.services-heading {
  position: relative;
  height: 40vh;
  color: #EFF1F3;
  font-size: xx-large;
  display: flex;
  justify-content: center;
  align-items: center;
  text-align: center;
}

.services-heading::before {
  content: "";
  background-image: url('images/realex_design_project_Enoggera.png'); 
  background-size: cover; 
  background-position: center;
  height: 100%;
  width: 100%;
  position: absolute;
  top: 0;
  left: 0;
  filter: brightness(50%);
  z-index: -1;
  animation: fadeIn 2s;
}

.services-heading-text {
  position: relative;
  display: inline-block; /* This makes the ::after pseudo-element the same width as the text */
}

.services-heading-text::after {
  content: "";
  display: block;
  width: 100%; /* Now it will be the same width as the text */
  height: 2px; /* Adjust as needed */
  background-color: #F09B00; /* Orange color */
  position: absolute;
  left: 0;
  bottom: -10px; /* Adjust for spacing */
  animation: fadeIn 4s;
}

/* rochedale-heading */
.rochedale-heading {
  position: relative;
  height: 40vh;
  color: #EFF1F3;
  font-size: xx-large;
  display: flex;
  justify-content: center;
  align-items: center;
  text-align: center;
}
.rochedale-heading::before {
  content: "";
  background-image: url('images/realex_designs_new_1.png'); 
  background-size: cover; 
  background-position: center;
  height: 100%;
  width: 100%;
  position: absolute;
  top: 0;
  left: 0;
  filter: brightness(50%);
  z-index: -1;
  animation: fadeIn 2s;
}
.rochedale-heading-text {
  position: relative;
  display: inline-block; /* This makes the ::after pseudo-element the same width as the text */
}
.rochedale-heading-text::after {
  content: "";
  display: block;
  width: 100%; /* Now it will be the same width as the text */
  height: 2px; /* Adjust as needed */
  background-color: #F09B00; /* Orange color */
  position: absolute;
  left: 0;
  bottom: -10px; /* Adjust for spacing */
  animation: fadeIn 4s;
}
/* end rochedale-heading */

/* verano-heading */
.verano-heading {
  position: relative;
  height: 40vh;
  color: #EFF1F3;
  font-size: xx-large;
  display: flex;
  justify-content: center;
  align-items: center;
  text-align: center;
}
.verano-heading::before {
  content: "";
  background-image: url('images/VERANO_project_page.jpg'); 
  background-size: cover; 
  background-position: center;
  height: 100%;
  width: 100%;
  position: absolute;
  top: 0;
  left: 0;
  filter: brightness(50%);
  z-index: -1;
  animation: fadeIn 2s;
}
.verano-heading-text {
  position: relative;
  display: inline-block; /* This makes the ::after pseudo-element the same width as the text */
}
.verano-heading-text::after {
  content: "";
  display: block;
  width: 100%; /* Now it will be the same width as the text */
  height: 2px; /* Adjust as needed */
  background-color: #F09B00; /* Orange color */
  position: absolute;
  left: 0;
  bottom: -10px; /* Adjust for spacing */
  animation: fadeIn 4s;
}
/* end verano-heading */

/* whitehaven-heading */
.whitehaven-heading {
  position: relative;
  height: 40vh;
  color: #EFF1F3;
  font-size: xx-large;
  display: flex;
  justify-content: center;
  align-items: center;
  text-align: center;
}
.whitehaven-heading::before {
  content: "";
  background-image: url('images/Whitehaven.jpg'); 
  background-size: cover; 
  background-position: center;
  height: 100%;
  width: 100%;
  position: absolute;
  top: 0;
  left: 0;
  filter: brightness(50%);
  z-index: -1;
  animation: fadeIn 2s;
}
.whitehaven-heading-text {
  position: relative;
  display: inline-block; /* This makes the ::after pseudo-element the same width as the text */
}
.whitehaven-heading-text::after {
  content: "";
  display: block;
  width: 100%; /* Now it will be the same width as the text */
  height: 2px; /* Adjust as needed */
  background-color: #F09B00; /* Orange color */
  position: absolute;
  left: 0;
  bottom: -10px; /* Adjust for spacing */
  animation: fadeIn 4s;
}
/* end whitehaven-heading */

/* brisa-heading */
.brisa-heading {
  position: relative;
  height: 40vh;
  color: #EFF1F3;
  font-size: xx-large;
  display: flex;
  justify-content: center;
  align-items: center;
  text-align: center;
}
.brisa-heading::before {
  content: "";
  background-image: url('images/BRISA_01.jpg'); 
  background-size: cover; 
  background-position: center;
  height: 100%;
  width: 100%;
  position: absolute;
  top: 0;
  left: 0;
  filter: brightness(50%);
  z-index: -1;
  animation: fadeIn 2s;
}
.brisa-heading-text {
  position: relative;
  display: inline-block; /* This makes the ::after pseudo-element the same width as the text */
}
.brisa-heading-text::after {
  content: "";
  display: block;
  width: 100%; /* Now it will be the same width as the text */
  height: 2px; /* Adjust as needed */
  background-color: #F09B00; /* Orange color */
  position: absolute;
  left: 0;
  bottom: -10px; /* Adjust for spacing */
  animation: fadeIn 4s;
}
/* end brisa-heading */

.CALLISTO-heading {
  position: relative;
  height: 40vh;
  color: #EFF1F3;
  font-size: xx-large;
  display: flex;
  justify-content: center;
  align-items: center;
  text-align: center;
}

.CALLISTO-heading::before {
  content: "";
  background-image: url('images/realex_designs_new_2.png'); 
  background-size: cover; 
  background-position: center;
  height: 100%;
  width: 100%;
  position: absolute;
  top: 0;
  left: 0;
  filter: brightness(50%);
  z-index: -1;
  animation: fadeIn 2s;
}

.CALLISTO-heading-text {
  position: relative;
  display: inline-block; /* This makes the ::after pseudo-element the same width as the text */
}

.CALLISTO-heading-text::after {
  content: "";
  display: block;
  width: 100%; /* Now it will be the same width as the text */
  height: 2px; /* Adjust as needed */
  background-color: #F09B00; /* Orange color */
  position: absolute;
  left: 0;
  bottom: -10px; /* Adjust for spacing */
  animation: fadeIn 4s;
}

.SERENITY-heading {
  position: relative;
  height: 40vh;
  color: #EFF1F3;
  font-size: xx-large;
  display: flex;
  justify-content: center;
  align-items: center;
  text-align: center;
}

.SERENITY-heading::before {
  content: "";
  background-image: url('images/Serenity.png'); 
  background-size: cover; 
  background-position: center;
  height: 100%;
  width: 100%;
  position: absolute;
  top: 0;
  left: 0;
  filter: brightness(50%);
  z-index: -1;
  animation: fadeIn 2s;
}

.SERENITY-heading-text {
  position: relative;
  display: inline-block; /* This makes the ::after pseudo-element the same width as the text */
}

.SERENITY-heading-text::after {
  content: "";
  display: block;
  width: 100%; /* Now it will be the same width as the text */
  height: 2px; /* Adjust as needed */
  background-color: #F09B00; /* Orange color */
  position: absolute;
  left: 0;
  bottom: -10px; /* Adjust for spacing */
  animation: fadeIn 4s;
}

@keyframes fadeIn {
  0% {
    opacity: 0;
  }
  100% {
    opacity: 1;
  }
}

.fade-image {
  animation: fadeIn 2s ease-in-out;
}

.fade-image-slower {
  animation: fadeIn 5s ease-in-out;
}

.fade-in-text {
  animation: fadeIn 2s;
}

.fade {
  margin: 50px;
  padding: 50px;
  background-color: lightgreen;
  opacity: 1;
}

.footer-pad {
  padding-top: 10px;
  float: right ;
}
@media (max-width: 768px) { /* Adjust the max-width as needed */
  .footer-pad {
    float: none;
    text-align: center;
    display: block;
    margin: auto; 
  }
}

.email-us {
  color: #F09B00; 
  font-size: large;
}
@media (max-width: 768px) { /* Adjust the max-width as needed */
  .email-us {
    font-size: medium; 
    text-align: center;
    padding-top: 10px;
    text-align: center;
  }
}

.footer-qbcc {
  color: #F09B00; 
  text-align: right;
}

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

.azcodez {
  color: #F09B00; 
  font-size: small;
}
@media (max-width: 768px) { /* Adjust the max-width as needed */
  .azcodez {
    font-size: small;
  }
}


.footer-copyright {
  font-size: 80%;
  color: #F09B00;
}
@media (max-width: 768px) { /* Adjust the max-width as needed */
  .footer-copyright {
    float: none;
    text-align: center;
    display: block;
    margin: auto; 
  }
}

.accordion-header {
  font-weight: bold;
}


.centered-text {
  position: absolute;
  top: 50%;
  left: 50%;
  transform: translate(-50%, -50%);
  opacity: 0;
  z-index: 1;
  color: #EFF1F3;
  display: flex;
  flex-direction: column;
  align-items: center;
  gap: 2px;  /* Reduced gap to bring elements closer together */
}

.centered-text::after {
  content: "";
  display: block;
  width: 100%;
  height: 2px;
  background-color: #F09B00;
  position: absolute;
  left: 0;
  top: calc(50% - 1px);  /* Moved line closer to text by offsetting upward */
  animation: fadeIn 1s;
  pointer-events: none;
}

.centered-text h2 {
  margin-bottom: 0;  /* Removed bottom margin to reduce space */
}

.centered-text-hover {
  position: absolute;
  top: 50%;
  left: 50%;
  transform: translate(-50%, -50%);
  opacity: 0;
  z-index: 1;
  color: #EFF1F3;
}
.centered-text-hover::after {
  content: "";
  display: block;
  width: 100%; /* Now it will be the same width as the text */
  height: 2px; /* Adjust as needed */
  position: absolute;
  left: 0;
  bottom: -5px; /* Adjust for spacing */
  animation: fadeIn 1s;
  pointer-events: none; /* Prevents hover issues */
}

.image-hover-container img {
  opacity: 1;
  transition: opacity 1.0s ease;
}
.image-hover-container img:hover {
  /* opacity: 0.5;  */
  filter: brightness(0.5);
}
.image-hover-container:hover .centered-text {
  opacity: 1;
}

.centered-text {
  position: absolute;
  top: 50%; 
  left: 50%; 
  transform: translate(-50%, -50%);
  color: #EFF1F3; 
  font-size: 20px; 
  font-weight: bold;
  text-align: center; 
  opacity: 0; 
  transition: opacity 0.5s ease;
  pointer-events: none; /* Prevents hover issues */
}

.image-hover-container-projects:hover .centered-text {
  opacity: 1; 
}

.centered-hg {
  position: absolute;
  top: 70%; 
  left: 50%; 
  transform: translate(-50%, -50%);
  color: #EFF1F3; 
  font-size: 20px; 
  font-weight: bold;
  text-align: center; 
  opacity: 0; 
  transition: opacity 0.5s ease;
  pointer-events: none; /* Prevents hover issues */
}

/* Carousel */
.tales {
  /* width: 100%;
  display: flex; */
}
.carousel-inner{
  /* width:100%;
  height: 320%;
  display: flex; */
  min-height: auto !important;
  overflow: hidden;
}
.carousel-image {
  min-height: auto;
  overflow: hidden;
}
/* Mobile-specific min-height (e.g., for screen widths less than 768px) */
@media (max-width: 768px) {
  .carousel-inner{
    min-height: 100px !important;
    max-height: 300px !important;
  }
  .carousel-image {
    min-height: 100px; /* Different minimum height for mobile */
    max-height: 300px !important;
  }
}
/* Courousel per project */
.carousel-inner-project{
  width: 100%;
  height: auto;
  object-fit: cover; /* Ensures the image covers the container while maintaining aspect ratio */
  /* max-height: 100vh; */

}
.carousel-image-project {
  width: 100%;
  height: auto;
  object-fit: cover;
  /* max-height: 100vh; */
}
/* Mobile-specific min-height (e.g., for screen widths less than 768px) */
@media (max-width: 768px) {
  .carousel-inner-project{
    width: 100%;
    height: auto;
    object-fit: cover;
  }
  .carousel-image-project {
    width: 100%;
    height: auto;
    object-fit: cover;
    max-height: none;
  }
}

/* FOOTER */
/* Show desktop footer by default, hide mobile */
.footer-mobile {
  display: none;
}
/* On mobile (max-width: 768px), swap visibility */
@media (max-width: 768px) {
  .footer-desktop {
    display: none;
  }
  .footer-mobile {
    display: block;
  }
}

/* Projects mobile show */
/* Show desktop footer by default, hide mobile */
.projects-mobile {
  display: none;
}
/* On mobile (max-width: 768px), swap visibility */
@media (max-width: 768px) {
  .projects-desktop {
    display: none;
  }
  .projects-mobile {
    display: block;
  }
}

/* Underline text */
.underline {
  text-decoration: underline;
  text-decoration-color: #F09B00; /* Orange color */
  text-decoration-thickness: 2px; /* Thickness of the underline */
}

/* text small footer */
.text-small-footer {
  font-size: 0.9rem; /* Adjust the size as needed */

}

/* Service Areas Section */
.service-areas {
  padding: 10px 0;
  text-align: center;
}

.service-areas-title {
  color: #F09B00;
  font-size: 1rem;
  margin-bottom: 15px;
  font-weight: 400;
}

.service-areas-grid {
  display: grid;
  grid-template-columns: repeat(4, 1fr);
  gap: 8px 20px;
  max-width: 1000px;
  margin: 0 auto;
}

.service-areas-grid span {
  color: #F09B00;
  font-size: 0.85rem;
  text-align: left;
}

@media (max-width: 992px) {
  .service-areas-grid {
    grid-template-columns: repeat(3, 1fr);
  }
}

@media (max-width: 768px) {
  .service-areas-grid {
    grid-template-columns: repeat(2, 1fr);
    gap: 6px 15px;
  }
  .service-areas-grid span {
    font-size: 0.75rem;
  }
}

@media (max-width: 480px) {
  .service-areas-grid {
    grid-template-columns: repeat(2, 1fr);
  }
}

.footer-new {
  background-color: #0c090a;
  padding: 40px 0 20px 0;
}

.footer-new .footer-column {
  margin-bottom: 20px;
}

.footer-new .footer-heading {
  color: #F09B00;
  font-size: 0.9rem;
  font-weight: 600;
  text-transform: uppercase;
  letter-spacing: 1px;
  margin-bottom: 15px;
}

.footer-new .footer-links {
  list-style: none;
  padding: 0;
  margin: 0;
}

.footer-new .footer-links li {
  margin-bottom: 8px;
}

.footer-new .footer-links a {
  color: #9a9a9a;
  font-size: 0.85rem;
  text-decoration: none;
  transition: color 0.3s ease;
}

.footer-new .footer-links a:hover {
  color: #F09B00;
}

.footer-new .footer-logo {
  max-width: 180px;
  margin-bottom: 15px;
}

.footer-new .footer-description {
  color: #9a9a9a;
  font-size: 0.85rem;
  line-height: 1.6;
  margin-bottom: 15px;
}

.footer-new .footer-social {
  display: flex;
  gap: 12px;
  margin-top: 15px;
}

.footer-new .footer-social a {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  width: 36px;
  height: 36px;
  border: 1px solid #F09B00;
  border-radius: 50%;
  transition: background-color 0.3s ease;
}

.footer-new .footer-social a:hover {
  background-color: #F09B00;
}

.footer-new .footer-social a:hover svg {
  fill: #0c090a;
}

.footer-new .footer-contact-info {
  color: #9a9a9a;
  font-size: 0.85rem;
}

.footer-new .footer-contact-info a {
  color: #F09B00;
  text-decoration: none;
}

.footer-new .footer-contact-info a:hover {
  text-decoration: underline;
}

.footer-new .footer-bottom {
  border-top: 1px solid #333;
  margin-top: 30px;
  padding-top: 20px;
  text-align: center;
}

.footer-new .footer-bottom p {
  color: #F09B00;
  font-size: 0.8rem;
  margin: 0;
}

.footer-new .footer-qbcc-badge {
  color: #9a9a9a;
  font-size: 0.8rem;
  margin-top: 10px;
}

/* Footer Responsive */
@media (max-width: 991px) {
  .footer-new .footer-column {
    margin-bottom: 25px;
    text-align: center;
  }
  
  .footer-new .footer-social {
    justify-content: center;
  }
  
  .footer-new .footer-links {
    text-align: center;
  }
}

@media (max-width: 767px) {
  .footer-new {
    padding: 30px 0 15px 0;
  }
  
  .footer-new .footer-logo {
    max-width: 150px;
  }
  
  .footer-new .footer-heading {
    font-size: 0.85rem;
    margin-bottom: 12px;
  }
  
  .footer-new .footer-links a {
    font-size: 0.8rem;
  }
  
  .footer-new .footer-bottom {
    margin-top: 20px;
    padding-top: 15px;
  }
}

.container-projects {
  width: 100%;
  padding-right: 1px;
  padding-left: 1px;
  margin-right: auto;
  margin-left: auto;
  padding-bottom: 0px !important;
}

.button-linkk {
  background-color: white; 
  border: 1px solid #F09B00; 
  color: #F09B00; 
  padding: 10px 20px; 
  text-align: center; 
  display: inline-block; 
  font-size: 16px; 
  margin: 4px 2px;
  text-decoration: none; 
}

.classWithPad { margin:10px; padding:10px; }

/* Projects specific hover text */
.projects-hover-text {
  position: absolute;
  top: 50%;
  left: 50%;
  transform: translate(-50%, -50%);
  opacity: 0;
  z-index: 1;
  color: #EFF1F3;
  display: flex;
  flex-direction: column;
  align-items: center;
  gap: 1px;
  text-align: center;
  transition: opacity 0.5s ease;
  pointer-events: none;
}

.projects-hover-text h2 {
  position: relative;
  margin-bottom: 0;
  padding-bottom: 8px;
}

.projects-hover-text h2::after {
  content: "";
  display: block;
  width: 150%;
  height: 2px;
  background-color: #F09B00;
  position: absolute;
  bottom: 0;
  left: 50%;
  transform: translateX(-50%);
  animation: fadeIn 1s;
  pointer-events: none;
}

.projects-hover-text .builder-logo {
  width: 50%;
  height: auto;
  margin-top: 24px;  /* Increased from 16px to create more space after the orange line */
  position: relative;
  z-index: 2;
}

.image-hover-container:hover .projects-hover-text {
  opacity: 1;
}



.feature-icons {
  display: flex;
  align-items: center;
  gap: 4px;
  margin-top: 25px;;
}


/* Blog specific hover text orange line */
.blog-hover-text {
  position: absolute;
  top: 50%;
  left: 50%;
  transform: translate(-50%, -50%);
  opacity: 1;  /* Changed from 0 to 1 to make text always visible */
  z-index: 1;
  color: #EFF1F3;
  display: flex;
  flex-direction: column;
  align-items: center;
  gap: 12px;
  text-align: center;
  transition: opacity 0.5s ease;
  pointer-events: none;
}
.blog-hover-text::after {
  content: "";
  display: block;
  width: 80%;
  height: 2px;
  background-color: #F09B00;
  position: absolute;
  left: 10%;
  top: calc(85% + 20px);
  opacity: 0;  /* Hide orange line by default */
  transition: opacity 0.5s ease;  /* Smooth transition for orange line */
  pointer-events: none;
}
.blog-hover-text h2 {
  margin-bottom: 5px;
}
.blog-hover-text .builder-logo {
  width: 50%;
  height: auto;
  margin-top: 24px;
  position: relative;
  z-index: 2;
}

/* Darken image for better text visibility */
.image-hover-container-blogs img {
  filter: brightness(0.6);  /* Darken image to 60% brightness */
  transition: filter 0.5s ease;
}

.image-hover-container-blogs:hover img {
  filter: brightness(0.4);  /* Darken further on hover */
}

.image-hover-container-blogs:hover .blog-hover-text::after {
  opacity: 1;  /* Show orange line on hover */
}

/* PROJECT MODAL STYLES
-------------------------------------------------- */
.project-modal {
  display: none;
  position: fixed;
  z-index: 10000;
  left: 0;
  top: 0;
  width: 100%;
  height: 100%;
  overflow: auto;
  background-color: rgba(0, 0, 0, 0.85);
  animation: fadeIn 0.3s;
}

@keyframes fadeIn {
  from { opacity: 0; }
  to { opacity: 1; }
}

.project-modal-content {
  position: relative;
  background-color: #fff;
  margin: 2% auto;
  max-width: 1200px;
  width: 90%;
  max-height: 90vh;
  display: flex;
  flex-direction: column;
  border-radius: 4px;
  overflow: hidden;
  animation: slideDown 0.3s;
}

@keyframes slideDown {
  from {
    transform: translateY(-50px);
    opacity: 0;
  }
  to {
    transform: translateY(0);
    opacity: 1;
  }
}

/* Dark grey header ribbon */
.project-modal-header {
  background-color: #3a3a3a;
  color: white;
  padding: 20px 30px;
  display: flex;
  justify-content: space-between;
  align-items: center;
  min-height: 70px;
}

.project-modal-title {
  margin: 0;
  font-size: 28px;
  font-weight: 400;
  color: white;
}

.project-modal-close {
  background: none;
  border: none;
  color: white;
  font-size: 40px;
  font-weight: 300;
  cursor: pointer;
  padding: 0;
  width: 40px;
  height: 40px;
  display: flex;
  align-items: center;
  justify-content: center;
  transition: opacity 0.3s;
  line-height: 1;
}

.project-modal-close:hover {
  opacity: 0.7;
}

/* Modal body with carousel */
.project-modal-body {
  flex: 1;
  overflow: hidden;
  background-color: #000;
  display: flex;
  align-items: center;
  justify-content: center;
}

.project-modal-body .carousel {
  width: 100%;
  height: 100%;
}

.project-modal-body .carousel-inner {
  height: 60vh;
  max-height: 700px;
}

.project-modal-body .carousel-item {
  height: 100%;
  display: none;
  align-items: center;
  justify-content: center;
  background-color: #000;
}

.project-modal-body .carousel-item.active {
  display: flex;
}

.project-modal-body .carousel-item img {
  width: 100%;
  height: 100%;
  object-fit: contain;
  object-position: center;
}

/* Carousel controls */
.project-modal-body .carousel-control-prev,
.project-modal-body .carousel-control-next {
  width: 10%;
  opacity: 0.8;
  background: none;
  text-decoration: none !important;
  border-bottom: none !important;
}

.project-modal-body .carousel-control-prev:hover,
.project-modal-body .carousel-control-next:hover {
  opacity: 1;
  background: none;
  text-decoration: none !important;
  border-bottom: none !important;
}

.project-modal-body .carousel-control-prev:focus,
.project-modal-body .carousel-control-next:focus {
  text-decoration: none !important;
  border-bottom: none !important;
  outline: none;
}

/* Dark grey footer with description */
.project-modal-footer {
  background-color: #3a3a3a;
  color: white;
  padding: 20px 30px;
  min-height: 70px;
  max-height: 200px;
  overflow-y: auto;
}

.project-modal-description {
  margin-bottom: 15px;
}

.project-modal-description p {
  margin: 0;
  line-height: 1.6;
  color: white;
}

.project-modal-builder {
  display: flex;
  align-items: center;
}

.project-modal-builder img {
  transition: opacity 0.3s;
}

.project-modal-builder a:hover img {
  opacity: 0.8;
}

/* Mobile responsive */
@media (max-width: 768px) {
  .project-modal-content {
    width: 95%;
    margin: 5% auto;
    max-height: 85vh;
  }

  .project-modal-header,
  .project-modal-footer {
    padding: 15px 20px;
    min-height: 60px;
  }

  .project-modal-title {
    font-size: 22px;
  }

  .project-modal-close {
    font-size: 35px;
    width: 35px;
    height: 35px;
  }

  .project-modal-body .carousel-inner {
    height: 50vh;
    max-height: 500px;
  }

  .project-modal-body .carousel-control-prev,
  .project-modal-body .carousel-control-next {
    width: 15%;
  }

  .project-modal-footer {
    max-height: 150px;
  }

  .project-modal-description p {
    font-size: 14px;
  }
}
