/* ------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: rgba(255, 229, 18, 1);
  --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>');
  --buttonHoverOutline: 0 0 0 4px rgba(255, 255, 255, 1.2) !important;
}

@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 */
  }
}

body .switcherContainer {
  box-shadow: var(--buttonOverOutline);
  background-color: #101010;
}
body.hasHover .switcherContainer:hover {
  box-shadow: var(--buttonHoverOutline);
  background-color: #101010;
}
.headerProjectTitle {
  display: none !important;
}
.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(--buttonOverGradient);
  z-index: 0;
  transform: scaleY(0);
  transition: transform 0.3s ease;
  transform-origin: top;
}
.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;
}

/* --------Layout-------- */
#header,
footer.footer {
  /* background-color: var(--colorBrandPrimary70); */
  border: none;
}

#header {
  display: none;
  background: none;
}

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 5%;
  pointer-events: none !important;
  overflow: hidden !important;
  height: fit-content;
  min-height: fit-content;
  padding-bottom: 2rem;
}

.main[data-page-url="executive-summary"] .leftSide {
  text-align: center;
}

.rightSide hr,
.leftSide hr {
  background-color: var(--colorBrandYellow);
  margin: 1.5rem 0;
  width: 60%;
}

.leftSide div,
.leftSide ul {
  font-family: var(--fontRegular);
  user-select: none;
  pointer-events: inherit !important;
}

.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);
}

/* -------Buttons-------- */

.buttonPrimary {
  /* background-color: var(--colorBrandPrimary70) !important; */
  background-color: var(--colorBrandPrimary90) !important;
  color: white !important;
}

.buttonPrimaryWithText {
  background-color: var(--colorBrandYellow);
  color: var(--colorBrandSteel);
  border: solid 1px var(--colorWhite50);
  cursor: pointer !important;
  display: flex;
  justify-content: center;
  align-items: center;
  white-space: nowrap;
}

.buttonPrimaryWithText:hover {
  box-shadow: var(--buttonOverOutline);
  background-color: var(--colorBrandYellow);
}

/* ------Elements------- */

a,
a:link,
a:visited {
  color: #cfc4c0;
}

h1,
h2,
h3,
p {
  color: var(--colorBrandClay);
  user-select: none;
  font-weight: normal;
}
img {
  user-select: none !important;
}

.leftSide h3 {
  display: none;
}

.material-icons {
  color: white;
}

body.hasHover .menu-item a:hover {
  background-color: var(--colorBrandSecondary) !important;
  color: var(--colorBrandNeutral);
}

/* ------fancyBox------- */

.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;
}

/* ------Switcher------- */

.switcherContainer {
  background-color: var(--colorBrandClay) !important;
}

.switcherSelector {
  background: var(--colorBrandYellow) !important;
}

.switherItem {
  user-select: none;
  color: var(--colorBrandSteel);
}

/* -----Enquire Form-------- */

.form-container {
  position: fixed;
  width: 100%;
  height: 100%;
  top: 0;
  left: 0;
  background-color: rgba(0, 0, 0, 0.8);
  display: none;
  justify-content: center;
  align-items: flex-start;
  z-index: 9998;
  backdrop-filter: blur(4px);
  -webkit-backdrop-filter: blur(4px);
  overflow: auto;
  padding: 1rem;
}

#contact-form {
  display: flex;
  flex-direction: column;
  gap: 0.3rem;
  justify-content: space-between;
  width: 350px;
  height: fit-content;
  padding: 3rem 1rem 1rem 1rem;
  background: var(--colorBrandPrimary90);
  border-radius: 1rem;
  color: white;
  position: relative;
}

.form-container.active {
  display: flex;
}

label {
  display: flex;
  margin: 8px 0;
  font-weight: bold;
  flex-direction: column;
  gap: 0.5rem;
  font-family: var(--fontRegular);
  font-size: 14px;
  user-select: none;
}

#message {
  height: 100px;
  min-height: 40px;
  max-height: 200px;
  width: 100%;
  max-width: 100%;
  min-width: 100%;
}

input,
textarea {
  width: 100%;
  padding: 10px;
  /* margin-bottom: 15px; */
  border: 1px solid #ddd;
  border-radius: 5px;
  background: #ededed;
}

button {
  padding: 12px 20px;
  background: var(--colorBrandYellow);
  color: var(--colorBrandSteel);
  border: none;
  border-radius: 5px;
  cursor: pointer;
  font-family: var(--fontHeader);
  font-size: 16px;
  transition: all 0.2s ease;
  /*margin-top: 1rem;*/
  user-select: none;
}

button:hover {
  box-shadow: var(--buttonOverOutline);
}

button[type="submit"] {
  /* pointer-events: none !important; */
}

.close-btn {
  background: none;
  border: none;
  color: white;
  font-size: 16px;
  cursor: pointer;
  padding: 5px 10px;
  border-radius: 2rem;
  position: absolute;
  top: 1rem;
  right: 1rem;
  margin: 0;
  font-family: var(--fontRegular);
  font-size: 14px;
}

.close-btn:hover {
  /* color: var(--colorBrandPrimary); */
}

/* ---------------------------------------------------- */
/* Mobile Landscape (481px to 767px) */
/* 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;
  }
}

/* Styles for tablet portrait screens */
@media only screen and (min-width: 768px) and (max-width: 1023px) {
  .leftSide hr {
    margin: 1.5rem auto;
  }
  .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);
    top: auto !important;
    right: auto !important;
    left: 2rem;
    opacity: 1 !important;
    font-size: 16px !important;
  }
  .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;
  }
}

/* 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;
  }
}
