/* ------Global Fonts---- */

@font-face {
  font-family: Lato-Thin;
  src: url("/wp-content/uploads/fonts/Lato-Thin.ttf");
}

@font-face {
  font-family: Lato-Light;
  src: url("/wp-content/uploads/fonts/Lato-Light.ttf");
}

@font-face {
  font-family: Lato-Regular;
  src: url("/wp-content/uploads/fonts/Lato-Regular.ttf");
}

@font-face {
  font-family: Lato-Bold;
  src: url("/wp-content/uploads/fonts//Lato-Bold.ttf");
}

@font-face {
  font-family: PlayfairDisplay;
  src: url("/wp-content/uploads/fonts/PlayfairDisplay.ttf");
}

* {
  --fontHeader: "PlayfairDisplay", serif;
  --fontRegular: "Lato-light", serif;
  --fontLight: LatoLight;
  --fontBig: "Lato-Light", serif;
  --fontSerif: "Lato-Thin", serif;
}

/* Global Colors */

:root {
  --colorBrandPrimary: rgb(107, 103, 98);
  --colorBrandPrimary90: rgba(107, 103, 98, 0.9);
  --colorBrandPrimary70: rgba(107, 103, 98, 0.7);
  --colorBrandPrimary50: rgba(107, 103, 98, 0.5);
  --colorBrandPrimary30: rgba(107, 103, 98, 0.3);
  --colorBrandPrimary20: rgba(107, 103, 98, 0.2);
  --colorBrandSecondary: rgba(160, 155, 150, 1);
  --colorBrandSecondary90: rgba(160, 155, 150, 0.9);
  --colorBrandSecondary50: rgba(160, 155, 150, 0.5);
  --colorBrandNeutral: #f6f0ff;
  --colorBrandSand: rgba(232, 230, 225, 1);
  --colorBrandClay: rgba(201, 196, 187, 1);
  --colorBrandSteel: rgba(65, 64, 66, 1);
  --colorBrandYellow: rgb(255 229 18 / 100%);
  --colorBrandGradiantHorizontal: linear-gradient(
    90deg,
    var(--colorBrandPrimary) 0%,
    var(--colorBrandSecondary) 100%
  );
  --colorBrandGradiantVertical: linear-gradient(
    to bottom,
    var(--colorBrandPrimary) 0%,
    var(--colorBrandSecondary) 100%
  );
  --buttonColor: var(--colorBrandClay);
  --buttonTextColor: var(--colorBrandSteel);
  --floorCloseButtonIcon: url('data: image/svg+xml;utf8,<svg width="24" height="24" viewBox="0 0 24 24" fill="none" xmlns="http://www.w3.org/2000/svg"><path d="M6.40002 18.6538L5.34619 17.6L10.9462 12L5.34619 6.40002L6.40002 5.34619L12 10.9462L17.6 5.34619L18.6538 6.40002L13.0538 12L18.6538 17.6L17.6 18.6538L12 13.0538L6.40002 18.6538Z" fill="white" /></svg>');
}

/* -----------------Animation-------------------------- */

@keyframes pulseOutline {
  0% {
    outline-width: 0px;
    outline-color: rgba(255, 255, 255, 1);
  }

  100% {
    outline-width: 50px;
    outline-color: rgba(255, 255, 255, 0); /* Outline fades out */
  }
}

/* ------------------------------------------- */
.headerProjectTitle {
  display: none !important;
}

.floorViewCloseButton {
  position: absolute;
  top: 1rem;
  right: 1rem;
  cursor: pointer;
  border-radius: 50%;
  overflow: hidden;
  background-color: rgba(0, 0, 0, 0.3) !important;
  z-index: 21;
}

.floorViewCloseButton::before {
  content: "";
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  z-index: 1;
  background-image: var(--floorCloseButtonIcon);
  background-position: center;
  background-repeat: no-repeat;
}

.floorViewCloseButton::after {
  content: "";
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  background: var(--colorBrandSecondary90);
  z-index: 0;
  transform: scaleY(0);
  transition: transform 0.3s ease;
  transform-origin: top;
}
body.hasHover .floorViewCloseButton:hover::after {
  transform: scaleY(1);
}

.blindsScreenNext,
.blindsScreenPrev {
  background-image: var(--colorBrandGradiantHorizontal) !important;
  opacity: 0.9 !important;
  backdrop-filter: blur(5px);
  -webkit-backdrop-filter: blur(5px);
}

/* --------Layout-------- */
#header,
footer.footer {
  /* background-color: var(--colorBrandPrimary70); */
  border: none;
}

#header {
  display: none;
  background: none;
}

.slideNumber {
  color: var(--colorBrandSecondary) !important;
}

footer.footer {
  background: linear-gradient(
    0deg,
    rgba(0, 0, 0, 0.9) 0%,
    rgba(0, 0, 0, 0.55) 0%,
    rgba(0, 0, 0, 0) 100%
  );
}

.headerProjectTitle span {
  display: none;
}

/* .leftSide {
  padding: 0 2% 0.5rem 5%;
  pointer-events: none !important;
  overflow: hidden !important;
} */

.leftSide {
  width: 100%;
  padding: 0 2% 0.5rem 3%;
  overflow: hidden;
  height: fit-content;
  min-height: fit-content;
  pointer-events: none !important;
  align-items: flex-start;
}

.main[data-page-url="executive-summary"] .leftSide {
  text-align: center;
}

.rightSide hr,
.leftSide hr {
  background-color: var(--colorBrandYellow);
  margin: 1.5rem initial;
  width: 75%;
}

.leftSide hr {
  display: none;
}

.leftSide div,
.leftSide ul {
  font-family: var(--fontRegular);
  user-select: none;
  pointer-events: inherit;
}

.mainMenu {
  background-color: var(--colorBrandPrimary);
}

.menuTop {
  display: flex;
  align-items: center;
  padding-left: 2.5rem;
  background-color: var(--colorBrandSecondary);
  border-bottom: solid 1px #ffffff20;
}

.topMenuLogo {
  height: 60px;
  position: static;
  transform: initial;
}

.menuBottom {
  background-color: var(--colorBrandSecondary);
  border-top: none;
  /* color: black; */
}

.menuCloseButton {
  top: 25px;
}

.menuActive a,
.current-menu-item a {
  background-color: var(--colorBrandSecondary);
}

.bottomMenu {
  font-size: 0.8rem;
  display: flex;
  flex-direction: row;
  align-items: center;
  width: 100%;
  justify-content: space-around;
  color: var(--colorBrandNeutral);
}

.bottomMenuName {
  font-size: 0.9rem;
  font-weight: bold;
  margin-bottom: 0.25rem;
  color: white;
}

/* -------Buttons-------- */

.buttonPrimary {
  background-color: var(--colorBrandPrimary90) !important;
  /* background-image: var(--colorBrandGradiantHorizontal) !important; */
  color: white !important;
}

.buttonPrimary:hover {
  /* background-color: var(--colorBrandPrimary70) !important; */
  background-color: var(--colorBrandSecondary) !important;
}

.buttonPrimaryWithText {
  background-color: var(--buttonColor);
  border-radius: 5rem;
  padding: 0.75rem 1rem;
  color: var(--buttonTextColor);
  border: solid 1px var(--colorWhite50);
  cursor: pointer !important;
  display: flex;
  justify-content: center;
  align-items: center;
  white-space: nowrap;
  transition: none !important;
  pointer-events: auto;
  text-transform: capitalize;
  font-family: var(--fontRegular);
  font-weight: bold;
  /* margin-top: 1rem; */
  font-size: 1rem;
}

.buttonPrimaryWithText:hover {
  /* box-shadow: var(--buttonOverOutline); */
  background-color: var(--buttonColor);
  background-image: none;
  /* background-color: var(--colorBrandSecondary90); */
  box-shadow: var(--buttonOverOutline);
}

/* -----------------Elements---------------------------------------- */

a,
a:link,
a:visited {
  color: var(--colorBrandNeutral);
}

h1 {
  color: var(--colorBrandSand);
  text-shadow: 0px 0px 8px rgba(0, 0, 0, 0.3);
  user-select: none;
  font-weight: 100 !important;
}

h2,
h3,
p {
  color: var(--colorBrandClay);
  user-select: none;
  font-weight: 100 !important;
}

img {
  user-select: none !important;
}

.leftSide h3 {
  display: none;
}

.material-icons {
  color: white !important;
}

body.hasHover .menu-item a:hover {
  background-color: var(--colorBrandSecondary) !important;
  color: var(--colorBrandNeutral);
}

/* ------fancyBox------- */

.popupContent {
  padding: 0;
  border-radius: 0 3rem 0 0;
}

.fancybox__backdrop {
  background-color: var(--colorBrandPrimary20) !important;
}

.popupCloseButton i {
  color: var(--white) !important;
}

.contentContainer {
  display: flex;
  align-items: center;
  gap: 2rem;
  height: 100%;
}

.f-button::after {
  background: var(--colorBrandSecondary90) !important;
}

.f-button {
  background-color: var(--colorBrandSecondary90) !important;
  color: var(--colorBrandPrimary);
  border: solid 1px #ffffff80 !important;
}

.popupCloseButton {
  border: solid 1px #ffffff80;
}

.popupContent {
  padding: 0;
  /* border-radius: 0 3rem 0 0; */
  border-radius: 1rem;
  /* width: fit-content !important; */
  /* max-width: 80vw !important; */
  width: 95%;
}

.is-horizontal .f-carousel__nav .f-button.is-prev,
.is-horizontal .f-carousel__nav .f-button.is-next,
.is-horizontal .fancybox__nav .f-button.is-prev,
.is-horizontal .fancybox__nav .f-button.is-next {
  top: 90%;
}

.is-horizontal .f-carousel__nav .f-button.is-next,
.is-horizontal .fancybox__nav .f-button.is-next {
  right: 30%;
}

.is-horizontal .f-carousel__nav .f-button.is-prev,
.is-horizontal .fancybox__nav .f-button.is-prev {
  left: 30%;
}

.popupCloseButton {
  top: 4px;
  right: 4px;
  width: 36px;
  height: 36px;
  background-color: var(--colorBrandSecondary90) !important;
}

/* ------Switcher------- */

.switcherContainer {
  background-color: var(--colorBrandSecondary90) !important;
  white-space: nowrap;
}

.switcherSelector {
  background: var(--colorBrandYellow) !important;
}

.switherItem {
  user-select: none;
  color: var(--colorBrandSteel);
  font-family: var(--fontRegular);
  font-weight: bold;
}

/* -----Enquire Form-------- */

.form-container {
  position: fixed;
  width: 100%;
  height: 100%;
  top: 0;
  left: 0;
  /* background-color: rgba(0, 0, 0, 0.8); */
  background-color: rgba(231, 231, 231, 0.9);
  display: none;
  flex-direction: column;
  justify-content: flex-start;
  align-items: center;
  z-index: 9998;
  backdrop-filter: blur(4px);
  -webkit-backdrop-filter: blur(8px);
  /* overflow: auto; */
  padding: 1rem;
  color: rgb(32, 33, 36) !important;
}

/* .formContent {
  width: 100%;
  max-width: 640px;
  height: 100%;
  display: flex;
  flex-direction: column;
  gap: 1rem;
  overflow-y: auto;
  color: rgb(32, 33, 36) !important;
} */

.form-container .formContent {
  width: 100% !important;
  max-width: 640px !important;
  height: 100% !important;
  display: flex !important;
  flex-direction: column !important;
  gap: 1rem !important;
  overflow-y: auto !important;
  color: rgb(32, 33, 36) !important;
}

#contact-form {
  display: flex;
  flex-direction: column;
  gap: 0.3rem;
  justify-content: space-between;
  width: 100%;
  /* max-width: 370px; */
  height: fit-content;
  padding: 1.25rem;
  background: white;
  border-radius: 0.5rem;
  color: white;
  position: relative;
  border-top: 10px solid var(--colorBrandSecondary);
}

#contact-form h4 {
  font-size: 1.25rem;
  font-weight: bold;
  margin-bottom: 1rem;
}

.image-container {
  width: 100%;
  height: fit-content;
  min-height: fit-content;
  border-radius: 0.5rem;
  overflow: hidden;
}
.image-container img {
  width: 100%;
  height: 100%;
  object-fit: cover;
}

.formTitle {
  text-align: left;
  font-family: var(--fontHeader);
  font-size: 2rem !important;
  color: var(--colorBrandNeutral);
  font-size: calc(min(3.2vh, 5vw));
  margin: 0;
}

.formContent h3 {
  color: rgb(32, 33, 36) !important;
  text-shadow: none !important;
}

.formSubTitle {
  margin: 0;
  margin-top: 0.5rem;
  margin-bottom: 2rem;
}

.form-container.active {
  display: flex;
}

label {
  cursor: pointer;
}

label[form="email"] {
  margin-bottom: 1rem !important;
}

.form-container label {
  display: flex;
  margin: 8px 0;
  font-weight: bold;
  flex-direction: column;
  align-items: flex-start;
  gap: 0.5rem;
  font-family: var(--fontRegular);
  font-size: 14px;
  user-select: none;
  color: rgb(32, 33, 36) !important;
  width: 100%;
}

.checkbox-section,
.radio-section {
  display: flex;
  flex-direction: column;
  justify-content: start;
  align-items: start;
  margin: 1.25rem 0;
}

.checkbox-container,
.radio-container {
  display: flex;
  flex-direction: column;
  justify-content: center;
  flex: 1;
}

.checkbox-container > label,
.radio-container > label {
  display: flex !important;
  flex-direction: row !important;
  align-items: center !important;
  width: 100% !important;
}

/* -----------------Change style of checkbox---------------- */

.checkbox-container input[type="checkbox"] {
  width: 24px;
  height: 24px;
  border-radius: 4px;
  background-color: white;
  border: 2px solid var(--colorBrandPrimary);
  appearance: none;
  outline: none;
  cursor: pointer;
  position: relative;
  transition: background-color 0.3s ease, border-color 0.3s ease;
}

.checkbox-container input[type="checkbox"]:checked {
  background-color: var(--colorBrandPrimary);
  border-color: var(--colorBrandPrimary);
}

.checkbox-container input[type="checkbox"]:checked::after {
  content: "";
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  background: url('data:image/svg+xml,%3Csvg xmlns="http://www.w3.org/2000/svg" width="10" height="12" viewBox="0 0 10 12"%3E%3Cpath d="M1 5l3 3l5-6" stroke="white" stroke-width="2" fill="none"/%3E%3C/svg%3E')
    no-repeat center center;
  background-size: 60%;
}

.checkbox-container label {
  display: flex;
  align-items: center;
  font-size: 16px;
  color: #333;
  margin-left: 10px;
}

.checkbox-container input[type="checkbox"]:focus {
  border-color: var(--colorBrandPrimary);
}

/* ----------------------------- */

/* Style the custom radio button */
.radio-container input[type="radio"] {
  width: 24px;
  height: 24px;
  border-radius: 50%;
  background-color: white; /* Default background is white */
  border: 2px solid var(--colorBrandPrimary);
  appearance: none;
  outline: none;
  cursor: pointer;
  position: relative;
  transition: background-color 0.3s ease, border-color 0.3s ease;
}

/* Style when the radio button is checked */
.radio-container input[type="radio"]:checked {
  background-color: white; /* Background stays white when checked */
  border-color: var(--colorBrandPrimary);
}

/* Add a circle icon when checked, with colorBrandPrimary as the fill */
.radio-container input[type="radio"]:checked::after {
  content: "";
  position: absolute;
  top: 50%;
  left: 52%;
  width: 14px;
  height: 14px;
  background-color: var(--colorBrandPrimary); /* Circle color when checked */
  border-radius: 50%;
  transform: translate(-50%, -50%); /* Center the inner circle */
}

/* Label styling */
.radio-container label {
  display: flex;
  align-items: center;
  font-size: 16px;
  color: #333;
  margin-left: 10px;
}

/* Focus styling */
.radio-container input[type="radio"]:focus {
  border-color: var(--colorBrandPrimary);
}

/* --------------------------------------- */

#message {
  height: 100px;
  min-height: 40px;
  max-height: 200px;
  width: 100%;
  max-width: 100%;
  min-width: 100%;
}

.form-container input:not([type="checkbox"], [type="radio"]),
textarea {
  background: transparent !important;
  border: none;
  border-bottom: 1px solid #ddd;
  width: 100%;
  padding: 10px;
  background: #ededed;
}

.form-container input::placeholder,
.form-container textarea::placeholder {
  opacity: 0.5;
}

.form-container input:focus,
.form-container textarea:focus {
  /* border-bottom: 3px solid var(--colorBrandSecondary);  */
  box-shadow: 0 2px 0 var(--colorBrandSecondary);
}

.form-container button {
  padding: 12px 20px;
  background: var(--colorBrandPrimary);
  color: white;
  border: none;
  border-radius: 5px;
  cursor: pointer;
  font-family: var(--fontHeader);
  font-size: 20px;
  transition: all 0.2s ease;
  margin-top: 1rem;
  user-select: none;
  transition: all 0.3s ease !important;
}

.form-container button:hover {
  background: var(--colorBrandSecondary) !important;
  color: white !important;
  box-shadow: var(--buttonOverOutline);
}

.form-container button[type="submit"] {
  /* pointer-events: none !important; */
}

.form-container .close-btn {
  position: fixed;
  top: 1.25rem;
  right: 1.75rem;
  background: none;
  border: none;
  color: white;
  font-size: 16px;
  cursor: pointer;
  padding: 5px 10px;
  border-radius: 50%;
  margin: 0;
  font-family: var(--fontRegular);
  font-size: 14px;
}

.form-container .close-btn:hover {
  /* color: var(--colorBrandPrimary); */
}

.deactive {
  pointer-events: none !important;
  opacity: 0.3 !important;
  backdrop-filter: grayscale(1) !important;
}

/* add lable */
.renderLabel {
  /* display: none; */
  position: absolute;
  bottom: auto;
  top: 0.2rem;
  left: 0.7rem;
  right: auto;
  z-index: 10;
  font-size: 14px;
  color: white;
  pointer-events: none;
  opacity: 0.5;
  padding: 0;
}

.renderLabel p {
  color: white;
  text-shadow: 0 0 5px black;
}
.registerBtn {
  background: white !important;
  box-shadow: 0 0 16px 0 rgba(0, 0, 0, 0.3);
}

/* ---------------------------------------------------- */
/* Styles for mobile landscape screens */
@media only screen and (min-width: 481px) and (max-height: 430px) and (orientation: landscape) {
  .renderLabel {
    position: absolute;
    bottom: calc(var(--footerHeight) + 10px);

    opacity: 1 !important;
    font-size: 16px !important;
  }
  .contentContainerLeft {
    display: flex;
  }
  .rightSide hr,
  .leftSide hr {
    margin: 1.5rem 0;
  }

  .leftSide h3 {
    display: block;
  }

  .leftSide {
    text-align: left;
    width: 33%;
  }
  .main[data-page-url="executive-summary"] .leftSide {
    text-align: left;
  }

  .is-horizontal .f-carousel__nav .f-button.is-prev,
  .is-horizontal .f-carousel__nav .f-button.is-next,
  .is-horizontal .fancybox__nav .f-button.is-prev,
  .is-horizontal .fancybox__nav .f-button.is-next {
    top: 50%;
  }

  .is-horizontal .f-carousel__nav .f-button.is-next,
  .is-horizontal .fancybox__nav .f-button.is-next {
    right: var(--f-button-next-pos);
  }

  .is-horizontal .f-carousel__nav .f-button.is-prev,
  .is-horizontal .fancybox__nav .f-button.is-prev {
    left: var(--f-button-prev-pos);
  }

  .popupContent {
    max-width: 80vw !important;
    width: 65%;
  }
}

/* Styles for tablet portrait screens */
@media only screen and (min-width: 768px) and (max-width: 1023px) {
  .leftSide hr {
    margin: 1.5rem auto;
  }

  .is-horizontal .f-carousel__nav .f-button.is-prev,
  .is-horizontal .f-carousel__nav .f-button.is-next,
  .is-horizontal .fancybox__nav .f-button.is-prev,
  .is-horizontal .fancybox__nav .f-button.is-next {
    top: 50%;
  }

  .is-horizontal .f-carousel__nav .f-button.is-next,
  .is-horizontal .fancybox__nav .f-button.is-next {
    right: var(--f-button-next-pos);
  }

  .is-horizontal .f-carousel__nav .f-button.is-prev,
  .is-horizontal .fancybox__nav .f-button.is-prev {
    left: var(--f-button-prev-pos);
  }

  .popupContent {
    max-width: 80vw !important;
    width: 60%;
  }

  .form-container label {
    width: 50%;
  }
  .renderLabel {
    position: absolute;
    bottom: calc(var(--footerHeight) + 10px);
    opacity: 1 !important;
    font-size: 16px !important;
    left: 2rem;
    right: auto;
    top: auto;
    transform: none;
  }
}

/* Tablet Landscape (1024px to 1279px) */
/* Styles for tablet landscape screens */
@media only screen and (min-width: 1024px) {
  .renderLabel {
    position: absolute;
    bottom: calc(var(--footerHeight) + 10px);
    opacity: 1 !important;
    font-size: 16px !important;
    left: 2rem;
    right: auto;
    top: auto;
    transform: none;
  }
  .leftSide {
    width: 33%;
  }
  #header {
    display: block;
  }

  .leftSide h3 {
    display: block;
  }

  .rightSide hr,
  .leftSide hr {
    margin: 1rem 0;
  }

  .leftSide {
    text-align: left;
  }
  .form-container {
    align-items: center;
  }
  .main[data-page-url="executive-summary"] .leftSide {
    text-align: left;
  }

  .is-horizontal .f-carousel__nav .f-button.is-prev,
  .is-horizontal .f-carousel__nav .f-button.is-next,
  .is-horizontal .fancybox__nav .f-button.is-prev,
  .is-horizontal .fancybox__nav .f-button.is-next {
    top: 50%;
  }

  .is-horizontal .f-carousel__nav .f-button.is-next,
  .is-horizontal .fancybox__nav .f-button.is-next {
    right: var(--f-button-next-pos);
  }

  .is-horizontal .f-carousel__nav .f-button.is-prev,
  .is-horizontal .fancybox__nav .f-button.is-prev {
    left: var(--f-button-prev-pos);
  }

  .popupContent {
    max-width: 80vw !important;
    width: 80%;
  }

  .popupCloseButton {
    width: 45px;
    height: 45px;
  }

  #secondSubtitle {
    font-size: calc(min(2vh, 3.5vw));
  }

  .form-container label {
    width: 50%;
  }
}

/* Small Desktop (1280px to 1440px) */
@media only screen and (min-width: 1280px) {
  /* Styles for small desktop screens */
}

/* Desktop (1441px to 1920px) */
@media only screen and (min-width: 1441px) and (max-width: 1920px) {
  /* Styles for desktop screens */
}

/* Large Desktop (1921px and above) */
@media only screen and (min-width: 1921px) {
  /* Styles for large desktop screens */
}

/* Portrait Orientation */
@media only screen and (orientation: portrait) {
}

/* Landscape Orientation */
@media only screen and (orientation: landscape) {
  /* Styles for landscape orientation */
  .renderLabel {
    position: absolute;
    bottom: calc(var(--footerHeight) + 10px);
    opacity: 1 !important;
    font-size: 16px !important;
    left: 2rem;
    right: auto;
    top: auto;
    transform: none;
  }
}

/* Large Devices and Tablets in Landscape Mode */
/* Styles for large screens and tablets in landscape orientation */
@media (min-width: 1024px) and (orientation: landscape) {
  .contentContainerLeft {
    display: flex;
  }

  .popupContent {
    width: fit-content !important;
  }

  .leftSide hr {
    display: block;
  }
  /* .popupContent {
    border-radius: 22px 22px 100px;
  } */
  .popupCloseButton {
    top: 24px;
    right: 24px;
  }
}
