@import url("https://fonts.googleapis.com/css2?family=Poppins:ital,wght@0,100;0,200;0,300;0,400;0,500;0,600;0,700;0,800;0,900;1,100;1,200;1,300;1,400;1,500;1,600;1,700;1,800;1,900&display=swap");

@tailwind base;
@tailwind components;
@tailwind utilities;

* {
  scroll-behavior: smooth;
}

#screen {
  position: relative;
}

.activeNavLink {
  background-color: #f4f4f4;
  font-weight: 500;
}

.singleNavActive {
  font-weight: 500;
  border-bottom: 2px solid gray;
}

.hero-text-gradient {
  background: linear-gradient(to bottom, #ffffff, #c1cfdb);
  -webkit-background-clip: text;
  background-clip: text;
  color: transparent;
}

.project-overflow::-webkit-scrollbar {
  height: 4px;
}

.project-overflow::-webkit-scrollbar-thumb {
  background-color: #dedede;
  border-radius: 4px;
}

.testi-glide-arrows {
  position: absolute;
  top: -30px;
  right: 10px;
  width: 55px;
  display: flex;
  justify-content: space-between;
}

textarea::-webkit-scrollbar {
  width: 8px;
  height: 4px;
}
textarea::-webkit-scrollbar-thumb {
  background-color: #bebebe;
  border-radius: 4px;
}

@keyframes fadeInRight {
  from {
    opacity: 0;
    transform: translateX(100%);
  }
  to {
    opacity: 1;
    transform: translateX(0);
  }
}

.fadeInRight {
  animation: fadeInRight 0.3s ease-in-out;
}

.glide__bullets {
  position: absolute;
  bottom: -20px;
  left: 50%;
  transform: translateX(-50%);
  display: flex;
  justify-content: center;
  align-items: center;
}

.glide__bullet {
  width: 11px;
  height: 5px;
  background-color: #aaa;
  border-radius: 5px;
  margin: 0 5px;
  border: none;
  cursor: pointer;
  transition: background-color 0.3s;
}

.glide__bullet.glide__bullet--active {
  width: 15px;
  background-color: #054457;
}

.hidden-property-container {
  display: none;
  opacity: 0;
}

@keyframes fadeInTop {
  from {
    opacity: 0;
    transform: translateY(-50px);
  }
  to {
    opacity: 1;
    transform: translateY(0);
  }
}

@keyframes fadeOutBottom {
  from {
    opacity: 1;
    transform: translateY(0);
  }
  to {
    opacity: 0;
    transform: translateY(-50px);
  }
}

:root {
  --main-color: #ac0f11;
}

/* chat container body */

#mainInnerChatContainer {
  scrollbar-width: none;
  padding-bottom: 10px;
}

.chatbotSection {
  width: 95%;
  display: flex;
  padding: 4px 0;
  margin-left: 2%;
}

.chatbotProfilePicSection {
  width: 10%;
  display: flex;
  justify-content: center;
}
.chatbotProfilePicSection > img {
  margin-top: 10px;
  width: 25px;
  height: 25px;
  border-radius: 50%;
  object-fit: cover;
}

.chatbotMessageSection {
  width: 76%;
  margin-left: 2%;
  display: flex;
  flex-direction: column;
}

.chatbotProfileName {
  font-size: 10px;
  color: #000;
  border: 1px solid rgb(255, 255, 255);
}

.chatbotMessage {
  width: auto;
  margin-top: 6px;
  color: #4f4f4f;
  border-radius: 5px;
  font-size: 11px;
  padding: 8px;
  background-color: #fafafa;
}

.chatbotMessage > div {
  color: #4f4f4f;
  border-radius: 5px;
  margin: 5px 0;
}
.detailsSection {
  padding: 12px;
}
.listContainer {
  display: flex;
  justify-content: space-around;
  width: 100%;
}
.listContainer > p {
  width: 95%;
  font-size: 10px;
  padding-left: 10px;
  color: #4f4f4f;
  font-weight: 400;
  margin: 3px 0;
  list-style: circle;
  border-radius: 5px;
}

.listDots {
  background-color: #aeaeae;
  width: 7px;
  height: 7px;
  border-radius: 50%;
  margin-top: 7px;
}

.userSection {
  float: right;
  width: 95%;
  display: block;
  margin-right: 10px;
}
.userSection div {
  gap: 10px;
  flex-wrap: wrap;
  display: flex;
  justify-content: flex-end;
}

.userSection button {
  font-size: 10px;
  border: 1px solid var(--main-color);
  color: var(--main-color);
  padding: 5px;
  border-radius: 5px;
  box-shadow: 2px 2px 10px rgb(243, 243, 243);
  letter-spacing: 1px;
}
.userSection > div > button:hover {
  background-color: var(--main-color);
  color: white;
}

.userMessage {
  float: right;
  text-align: right;
  margin-bottom: 5px;
  margin-right: 5px;
}
.userMessage > p {
  width: auto;
  padding: 4px 8px;
  font-size: 13px;
  background-color: var(--main-color);
  border-radius: 5px;
  color: white;
}

/* Add fade-in animation for user and chatbot messages */
.userMessage,
.chatbotMessageSection,
.userSection,
.chatbotMessage {
  animation-name: chatFadeIn;
  animation-duration: 0.5s;
  animation-fill-mode: forwards;
  opacity: 0;
}

@keyframes chatFadeIn {
  from {
    opacity: 0; /* Start opacity */
  }
  to {
    opacity: 1; /* End opacity */
  }
}

/* HTML: <div class="loader"></div> */
/* HTML: <div class="loader"></div> */
.typing-loader {
  margin-top: 1em;
  width: 40px;
  aspect-ratio: 4;
  --_g: no-repeat radial-gradient(circle closest-side, #000 90%, #0000);
  background: var(--_g) 0% 50%, var(--_g) 50% 50%, var(--_g) 100% 50%;
  background-size: calc(100% / 3) 50%;
  animation: type-loader 1s infinite linear;
}
@keyframes type-loader {
  20% {
    background-position: 0% 0%, 50% 50%, 100% 50%;
  }
  40% {
    background-position: 0% 100%, 50% 0%, 100% 50%;
  }
  60% {
    background-position: 0% 50%, 50% 100%, 100% 0%;
  }
  80% {
    background-position: 0% 50%, 50% 50%, 100% 100%;
  }
}

/* top conatct form */

#top-contact-form,
#contact-page-form,
.chatbotForm {
  padding: 5px;
}

/* main contact page */

#contact-page-form {
  height: 90%;
  margin-top: 15px;
}
#contact-page-form .mainForm {
  height: 100%;
}
#contact-page-form .mainForm div {
  padding: 6px 0;
}

#contact-page-form #nameSection select {
  width: 10%;
}
#contact-page-form #nameSection input {
  width: 85%;
}

#contact-page-form #phoneEmailSection {
  width: 100%;
  display: flex;
  justify-content: space-between;
  align-items: center;
}

#contact-page-form #phoneSection {
  width: 50%;
  padding-top: 1.5px;
}
#contact-page-form #phoneSection input {
  width: 100%;
}
#contact-page-form #emailSection {
  width: 45%;
}

#contact-page-form #submitButtonSection {
  display: flex;
  justify-content: end;
}
#contact-page-form #submitButtonSection button {
  width: 45%;
  text-align: center;
  background-color: var(--main-color);
  color: white;
  padding: 3px 0;
  border-radius: 5px;
}

/* chatbot Form */
.chatbotForm {
  padding: 10px;
  background-color: rgb(249, 247, 247);
  border-radius: 10px;
  margin-top: 10px;
}
.chatbotForm .mainForm {
  box-shadow: 2px 2px 10px rgb(143, 143, 143);
  padding: 15px;
  background-color: white;
  border-radius: 10px;
}

.chatbotForm .mainForm div {
  padding: 3px 0;
}

.chatbotForm #nameSection select {
  width: 16%;
  font-size: 10px;
}
.chatbotForm #nameSection input {
  width: 80%;
}

.chatbotForm #phoneSection {
  width: 100%;
  padding-top: 1.5px;
}
.chatbotForm #phoneSection select {
  width: 16%;
  font-size: 10px;
}
.chatbotForm #phoneSection input {
  width: 80%;
}

.chatbotForm #emailSection input {
  width: 96%;
}

.chatbotForm #submitButtonSection {
  width: 90%;
  margin: 13px auto 0 auto;
}

.chatbotForm #submitButtonSection button {
  width: 100%;
  background-color: var(--main-color);
  color: white;
  padding: 3px 0;
  border-radius: 5px;
}

.chatbotForm #messageSection {
  display: none;
}

/* top-contact-form  */

#fullScreenForm {
  animation: slideFromTop 0.5s ease-in-out forwards;
}

#top-contact-form .mainForm {
  padding: 5px;
  background-color: white;
  border-radius: 10px;
}

#top-contact-form .mainForm div {
  padding: 3px 0;
}

#top-contact-form #nameSection select {
  width: 14%;
}
#top-contact-form #nameSection input {
  width: 80%;
}

#top-contact-form #phoneSection {
  width: 100%;
  padding-top: 1.5px;
}
#top-contact-form #phoneSection select {
  width: 16%;
}
#top-contact-form #phoneSection input {
  width: 80%;
}

#top-contact-form #emailSection input {
  width: 96%;
}

#top-contact-form #submitButtonSection {
  margin-top: 10px;
  width: 90%;
  margin: auto;
}

#top-contact-form #submitButtonSection button {
  width: 100%;
  background-color: var(--main-color);
  color: white;
  padding: 3px 0;
  border-radius: 5px;
}

#top-contact-form #messageSection {
  display: none;
}

/* time slot */

.slotContainer {
  width: 90%;
  margin: 15px auto 5px auto;
  box-shadow: 2px 2px 5px rgb(167, 166, 166);
  background-color: rgb(239, 238, 238);
  padding: 10px;
  border-radius: 5px;
}

.slotHeading {
  width: 90%;
  margin: auto;
  font-size: 14px;
  padding: 3px 0;
}

.flexslot {
  width: 100%;
  display: flex;
  justify-content: space-between;
  flex-wrap: wrap;
}

.flexslot > p {
  width: 45%;
  text-align: center;
  border: 1px solid var(--main-color);
  padding: 4px;
  background-color: white;
  color: var(--main-color);
  border-radius: 5px;
  margin: 5px;
  font-size: 13px;
}

.flexslot > p:hover {
  cursor: pointer;
  background-color: var(--main-color);
  color: white;
}

.buttonDiv {
  width: 100%;
  margin-top: 10px;
}

.buttonDiv > button {
  width: 100%;
  padding: 3px 0;
  text-align: center;
  background-color: var(--main-color);
  color: white;
  border-radius: 5px;
}

.buttonDiv > button:hover {
  opacity: 0.9;
}

/* Add fade-in animation for user and chatbot messages */
#welcome-popup {
  animation-name: chatFadeIn;
  animation-duration: 2s;
  animation-fill-mode: forwards;
  opacity: 0;
}

@keyframes chatFadeIn {
  0% {
    opacity: 0;
  }

  100% {
    opacity: 1;
  }
}

#openChatbot {
  width: 50px;
  height: 50px;
  background-color: white;
  display: flex;
  justify-content: center;
  align-items: center;
  color: white;
  box-shadow: 2px 2px 10px grey;
  cursor: pointer;
  border-radius: 10px;
  border: 4px solid white;
}

.show {
  opacity: 1;
}

.hide {
  opacity: 0;
}

.clicked {
  background-color: var(--main-color);
  color: white;
}
.unclickable {
  display: none;
}

/*  swipper Customizing the navigation arrows */

.swiper-button-next.custom-button::after {
  content: "";
}

.swiper-button-prev.custom-button::after {
  content: "";
}

/* custom alert */

#alertContainer {
  animation: slideFromTop 0.2s ease-in-out forwards;
}

@keyframes slideFromTop {
  0% {
    transform: translateY(-100%);
  }
  100% {
    transform: translateY(0);
  }
}

@keyframes slideOutTop {
  0% {
    transform: translateY(0);
  }
  100% {
    transform: translateY(-100%);
  }
}

.text-shadow-style {
  text-shadow: 2px 2px 7px rgb(229, 229, 229);
}

/* formSelect */
.formSelectContainer {
  width: 95%;
}
.formSelect {
  width: 70%;
  float: right;
  border-radius: 5px;
  box-shadow: 2px 2px 10px rgb(216, 215, 215);
  background-color: #f5f8fa;
  padding: 10px;
  margin-bottom: 20px;
}
.formSelect > div > select {
  background-color: white;
  width: 100%;
  outline: none;
  font-size: 10px;
  padding: 5px 3px;
  border-radius: 5px;
  border: 1px solid rgb(223, 223, 223);
}

.formSelect > div > button {
  background-color: var(--main-color);
  color: white;
  width: 100%;
  border-radius: 5px;
  padding: 2px;
  font-size: 10px;
}
.formSelect > p {
  font-size: 9px;
  padding: 2px 0;
}

@media (max-width: 767px) {
  #contact-page-form #nameSection select {
    width: 17%;
  }
  #contact-page-form #nameSection input {
    width: 80%;
  }

  #contact-page-form #phoneEmailSection {
    display: block;
  }

  #contact-page-form #phoneSection {
    width: 100%;
  }

  #contact-page-form #emailSection {
    width: 100%;
  }
  #contact-page-form #emailSection input {
    width: 100%;
  }

  #contact-page-form #submitButtonSection {
    display: flex;
    justify-content: center;
  }
  #contact-page-form #submitButtonSection button {
    width: 95%;
  }
}

/* chat structure css */
.projectInfoHeader {
  padding: 5px 0;
  letter-spacing: 0.5px;
  border-bottom: 1px solid rgb(199, 199, 199);
  font-size: 14px;
  text-align: center;
}

.endUserSuggestion {
  margin-top: 10px;
}

.imageContainer {
  display: flex;
  flex-wrap: wrap;
  justify-content: space-around;
  gap: 10px 0;
}

.imageContainer img {
  width: 30%;
  cursor: pointer;
}
.imageContainer img:hover {
  transform: scale(1.1);
}

.anythingElse {
  padding: 4px 0;
  text-align: center;
  border-top: 1px solid rgb(209, 209, 209);
}

/* modal-image */

.modal-image {
  width: auto;
  height: auto;
}

.ss-main .ss-single-selected {
  background-color: white;
  outline: none;
  font-size: 10px;
  border-radius: 5px;
}

.ss-content .ss-option {
  font-size: 10px;
}

.ss-content .ss-search input {
  font-size: 10px;
}
.ss-content .ss-search input::placeholder {
  font-size: 10px;
}

/* loader for proerty form images */

/* Add this CSS to your stylesheet */

.loader {
  position: absolute;
  top: 50%;
  left: 50%;
  transform: translate(-50%, -50%);
  background: rgba(255, 255, 255, 0.8);
  padding: 1rem;
  border-radius: 0.5rem;
  z-index: 9999;
}

.loader div {
  font-size: 1rem;
  color: #333;
}

/* single project css  */

.glassyBg {
  background: linear-gradient(
    to bottom,
    rgba(255, 255, 255, 0.5),
    rgba(215, 215, 215, 0.5)
  );
  box-shadow: 0 4px 30px rgba(0, 0, 0, 0.1);
  backdrop-filter: blur(5px);
  -webkit-backdrop-filter: blur(5px);
}
.glassyBgWhite {
  background: linear-gradient(
    to bottom,
    rgba(255, 255, 255, 0.5),
    rgba(255, 255, 255, 0.5)
  );
  box-shadow: 0 4px 30px rgba(227, 227, 227, 0.1);
  backdrop-filter: blur(5px);
  -webkit-backdrop-filter: blur(5px);
}

.overview-title {
  width: 35%;
  text-align: center;
  border-top: 2px solid #8dabbf;
  border-left: 2px solid #8dabbf;
  border-right: 2px solid #8dabbf;
  border-radius: 6px 6px 0 0;
  padding: 0.5rem;
  font-size: 1.25rem;
  font-weight: 600;
  letter-spacing: 0.05em;
  position: absolute;
  background-color: white;
  top: -13%;
}

.no-scrollbar::-webkit-scrollbar {
  display: none;
}

.inner-shadow {
  box-shadow: inset 0 4px 15px rgba(0, 0, 0, 0.3);
}

.svg-container > svg {
  width: 50px;
  height: 50px;
}

/* Change the color of the SVG when hovering over the amenity-container */
/* .amenity-container:hover .svg-container > svg {
  filter: brightness(0) invert(1); 
} */

/* Custom scrollbar styling */
.location-advantage-container::-webkit-scrollbar {
  display: none;
}

@keyframes fadeInTop {
  from {
    opacity: 0;
    transform: translateY(-100%);
  }
  to {
    opacity: 1;
    transform: translateY(0);
  }
}

.fadeInTop {
  animation: fadeInTop 0.2s ease-in-out;
}

.location-svg > svg {
  width: 15px;
  height: 15px;
  filter: brightness(0) invert(1); /* This will change the SVG to white */
}

.plans:hover .plans-text {
  display: flex;
}

.plans {
  overflow: hidden;
}

.plans-text {
  display: flex;
  transform: translateY(-100%);
  transition: transform 0.2s ease-in-out;
}

.plans:hover .plans-text {
  transform: translateY(0);
}

#pop-form-container {
  opacity: 0;
  visibility: hidden;
}

#pop-form-container.show {
  opacity: 1;
  visibility: visible;
}

#pop-form-inner-container {
  opacity: 0;
}

#pop-form-container.show #pop-form-inner-container {
  opacity: 1;
}

/* lighbox  */

/* Example: Changing the lightbox background color */
.lb-overlay {
  background-color: rgba(0, 0, 0, 0.85);
}

/* Lightbox styling */
.lightbox {
  /* display: flex; */
  flex-direction: column;
  justify-content: center;
  align-items: center;
  width: 100%;
  height: 100%;
  background: rgba(0, 0, 0, 0.8);
  z-index: 9999;
}

/* Close button styling */
.lightbox-close {
  font-size: 30px;
  cursor: pointer;
  z-index: 10000;
}

/* Navigation buttons styling */
.lightbox-prev,
.lightbox-next {
  font-size: 40px;
  cursor: pointer;
  z-index: 10000;
  color: white;
  display: flex;
  align-items: center;
  justify-content: center;
}

/* Image styling */
#lightbox-image {
  max-width: 100%;
  max-height: 90vh;
  object-fit: contain;
}

/* Caption styling */
#lightbox-caption {
  color: white;
  margin-top: 15px;
  text-align: center;
}

/* Loader style */
.lightbox-loader {
  border: 8px solid #f3f3f3;
  border-top: 8px solid #3498db;
  border-radius: 50%;
  width: 60px;
  height: 60px;
  animation: spin 2s linear infinite;
}

@keyframes spin {
  0% {
    transform: rotate(0deg);
  }
  100% {
    transform: rotate(360deg);
  }
}

/* Animation for zoom-in effect */
@keyframes zoomIn {
  0% {
    transform: scale(0);
    opacity: 0;
  }
  100% {
    transform: scale(1);
    opacity: 1;
  }
}

/* Animation for slide-in from right */
@keyframes slideInRight {
  0% {
    transform: translateX(100%);
    opacity: 0;
  }
  100% {
    transform: translateX(0);
    opacity: 1;
  }
}

/* Animation for slide-in from left */
@keyframes slideInLeft {
  0% {
    transform: translateX(-100%);
    opacity: 0;
  }
  100% {
    transform: translateX(0);
    opacity: 1;
  }
}

/* Apply the zoom-in effect */
.zoom-in {
  animation: zoomIn 0.5s ease-in-out forwards;
}

/* Apply the slide-in from right effect */
.slide-in-right {
  animation: slideInRight 0.5s ease-in-out forwards;
}

/* Apply the slide-in from left effect */
.slide-in-left {
  animation: slideInLeft 0.5s ease-in-out forwards;
}

.opacity-0 {
  opacity: 0;
}

/* Custom alert for single project */
.alert-box {
  position: fixed;
  top: 10px; /* Add some spacing from the top */
  padding: 10px 20px;
  border-radius: 5px;
  display: flex;
  align-items: center;
  font-size: 16px;
  z-index: 9999;
  background-color: white;
  box-shadow: 0 2px 5px rgba(0, 0, 0, 0.2);
}

.alert-box.success {
  border: 1px solid #4caf50;
  color: #4caf50;
}

.alert-box.error {
  border: 1px solid #f44336;
  color: #f44336;
}

.alert-icon {
  margin-right: 10px;
}

.vertical-text {
  transform: rotate(-90deg);
  font-size: 10px;
}

.loader {
  border-radius: 50%;
  width: 60px;
  height: 60px;
  border: 6px solid transparent;
  border-top-color: #3498db; /* Change the color here */
  animation: spin 1s linear infinite;
}

@keyframes spin {
  0% {
    transform: rotate(0deg);
  }
  100% {
    transform: rotate(360deg);
  }
}

/* job description career page */

.job-description::-webkit-scrollbar {
  width: 10px;
}

.job-description::-webkit-scrollbar-thumb {
  background-color: #dedede;
}

.filter-amenities-container::-webkit-scrollbar {
  height: 2px;
}

.filter-amenities-container::-webkit-scrollbar-thumb {
  background-color: #1c445e;
}

/* multi range input */
.range-slider {
  position: relative;
  width: 100%;
}
.slider {
  position: absolute;
  width: 100%;
  -webkit-appearance: none;
  appearance: none;
  pointer-events: none;
  height: 3px; /* Track height */
  background: #ddd; /* Default track color */
  outline: none;
}
.slider::-webkit-slider-thumb {
  pointer-events: all;
  width: 20px;
  height: 20px;
  border-radius: 50%;
  background: #007bff; /* Thumb color */
  cursor: pointer;
  border: 2px solid white;
  position: relative;
  z-index: 9999;
}
.slider::-moz-range-thumb {
  pointer-events: all;
  width: 20px;
  height: 20px;
  border-radius: 50%;
  background: #007bff; /* Thumb color */
  cursor: pointer;
  border: 2px solid white;
}
.slider::-ms-thumb {
  pointer-events: all;
  width: 20px;
  height: 20px;
  border-radius: 50%;
  background: #1c445e; /* Thumb color */
  cursor: pointer;
  border: 2px solid white;
}
.slider-1 {
  z-index: 2; /* Ensure first slider is above */
  background: linear-gradient(to right, #ddd, #1c445e, #ddd);
}
.slider-2 {
  z-index: 1;
  background: #ddd;
}

.active-filter-button {
  background-color: black;
  color: white;
}

textarea {
  resize: none;
}

/* location-scroll */

.location-scroll::-webkit-scrollbar {
  display: none;
}

/* HTML: <div class="loader"></div> */
.loader-screen {
  width: 50px;
  aspect-ratio: 1;
  border-radius: 50%;
  border: 8px solid #1c445e;
  border-right-color: #97161c;
  animation: l2 1s infinite linear;
}
@keyframes l2 {
  to {
    transform: rotate(1turn);
  }
}
