﻿@charset "UTF-8";
:root {
  --pw-primary-color: #006766;
  --pw-secondary-color: #a83c2f;
  --pw-container-width: 1724px;
}

:root, [data-bs-theme=light] {
  --bs-link-color: $pw-primary-color;
  --bs-link-color-rgb: 0, 103, 102;
  --bs-link-hover-color: rgb(0, 128.5, 127.2524271845);
  --bs-link-hover-color-rgb: 0, 129, 127;
  --bs-nav-link-color: var(--pw-primary-color);
  --bs-nav-link-hover-color: rgb(0, 154, 152.5048543689);
  --bs-emphasis-bg: #f4fafe;
  --bs-success: var(--pw-primary-color);
  --bs-success-rgb: 0, 103, 102;
}

[data-bs-theme=dark] {
  --bs-link-color: rgb(0, 128.5, 127.2524271845);
  --bs-link-color-rgb: 0, 129, 127;
  --bs-link-hover-color: rgb(0, 154, 152.5048543689);
  --bs-link-hover-color-rgb: 0, 154, 153;
  --bs-nav-link-color: rgb(0, 154, 152.5048543689);
  --bs-nav-link-hover-color: rgb(0, 205, 203.0097087379);
  --bs-emphasis-bg: #1a1d20;
}

.nav {
  --bs-nav-link-color: var(--pw-primary-color);
  --bs-nav-link-hover-color: rgb(0, 154, 152.5048543689);
}
[data-bs-theme=dark] .nav {
  --bs-nav-link-color: rgb(0, 154, 152.5048543689);
  --bs-nav-link-hover-color: rgb(0, 205, 203.0097087379);
}

.container-fluid {
  max-width: var(--pw-container-width);
}

.btn-success {
  --bs-btn-color: #fff;
  --bs-btn-bg: var(--pw-primary-color);
  --bs-btn-border-color: var(--pw-primary-color);
  --bs-btn-hover-color: #fff;
  --bs-btn-hover-bg: rgb(0, 123.4, 122.2019417476);
  --bs-btn-hover-border-color: #146c43;
  --bs-btn-focus-shadow-rgb: 60, 153, 110;
  --bs-btn-active-color: #fff;
  --bs-btn-active-bg: #146c43;
  --bs-btn-active-border-color: #13653f;
  --bs-btn-active-shadow: inset 0 3px 5px rgba(0, 0, 0, .125);
  --bs-btn-disabled-color: #fff;
  --bs-btn-disabled-bg: var(--pw-primary-color);
  --bs-btn-disabled-border-color: var(--pw-primary-color);
}

.btn-outline-success {
  --bs-btn-color: var(--pw-primary-color);
  --bs-btn-bg: rgba(0, 103, 102, 0.1);
  --bs-btn-border-color: var(--pw-primary-color);
  --bs-btn-hover-bg: var(--pw-primary-color);
  --bs-btn-hover-border-color: var(--pw-primary-color);
  --bs-btn-focus-shadow-rgb: 25, 135, 84;
  --bs-btn-active-bg: var(--pw-primary-color);
  --bs-btn-active-border-color: var(--pw-primary-color);
  --bs-btn-disabled-color: var(--pw-primary-color);
  --bs-btn-disabled-border-color: var(--pw-primary-color);
  text-shadow: none;
}
[data-bs-theme=dark] .btn-outline-success {
  text-shadow: 0 0 3px black;
  --bs-btn-color: rgb(0, 154, 152.5048543689);
  --bs-btn-border-color: var(--bs-btn-color);
}
[data-bs-theme=light] .btn-outline-success {
  text-shadow: none;
  --bs-btn-color: var(--pw-primary-color);
  --bs-btn-border-color: var(--pw-primary-color);
}

.btn-success:hover {
  text-shadow: 0 0 3px black;
}

.input-group > label.btn:not(:first-child) {
  margin-left: 0;
}

/*// Make radios/checkboxes in input groups take up available space
.input-group > label.btn {
    flex-grow: 1;
}*/
.input-group > .form-select {
  flex: 1 1 fit-content;
}

.input-group:focus-within {
  outline: 0;
  box-shadow: 0 0 0 0.25rem rgba(13, 110, 253, 0.25);
  z-index: 3;
  border-radius: var(--bs-border-radius);
}

.input-group > .form-control:focus, .input-group > .form-select:focus {
  box-shadow: none !important;
}

.input-group-btn-bottom {
  background-color: var(--bs-body-bg);
  border-radius: var(--bs-border-radius);
  border: var(--bs-border-width) solid var(--bs-border-color);
}
.input-group-btn-bottom > .btn:last-child {
  align-self: flex-end;
  margin: 0 0.25rem 0.25rem var(--bs-border-width) !important;
  border-radius: var(--bs-btn-border-radius) !important;
}
.input-group-btn-bottom > .form-control {
  border: 0;
}

.form-floating > label {
  color: var(--bs-secondary-color);
}

.form-floating > .form-select.form-select-lg {
  height: calc(3.75rem + var(--bs-border-width) * 2);
  min-height: calc(3.6rem + var(--bs-border-width) * 2);
}

.form-select-noicon, #searchForm .form-select {
  --bs-form-select-bg-icon: initial !important;
  padding-right: 2.25rem !important;
}

.was-validated .form-check-input:valid ~ .form-check-label, .was-validated .form-check-input:invalid ~ .form-check-label {
  color: revert;
}

.has-validation:has(> .invalid-tooltip) {
  position: relative;
}

.form-floating > .form-select {
  padding-bottom: 0.125rem;
}

.input-group > .form-floating > .form-select {
  padding-bottom: 0.625rem;
}

.form-control {
  transition: all ease 0.5s;
}
.form-control::placeholder {
  color: #757575;
}

.pagination {
  --bs-pagination-color: var(--bs-secondary-color);
  --bs-pagination-bg: var(--bs-body-bg);
  --bs-pagination-border-color: var(--bs-border-color);
  --bs-pagination-hover-color: var(--bs-link-hover-color);
  --bs-pagination-hover-bg: var(--bs-tertiary-bg);
  --bs-pagination-hover-border-color: var(--bs-border-color);
  --bs-pagination-active-color: #fff;
  --bs-pagination-active-bg: var(--bs-secondary);
  --bs-pagination-active-border-color: var(--bs-secondary);
}

.shadow, nav#mainButtons > div {
  box-shadow: 0 0 0.5rem 0.125rem rgba(0, 0, 0, 0.25);
}
[data-bs-theme=dark] .shadow, [data-bs-theme=dark] nav#mainButtons > div {
  box-shadow: 0 0 0.5rem 0.125rem rgba(255, 255, 255, 0.33);
}

.toast {
  z-index: var(--bs-toast-zindex);
}

a.alert-link {
  text-decoration: underline;
}

.alert-error {
  --bs-alert-color: var(--bs-danger-text-emphasis);
  --bs-alert-bg: var(--bs-danger-bg-subtle);
  --bs-alert-border-color: var(--bs-danger-border-subtle);
  --bs-alert-link-color: var(--bs-danger-text-emphasis);
}

.invalid-tooltip {
  background-color: transparent;
  background: linear-gradient(to bottom, rgb(220, 53, 69) 50%, rgba(220, 53, 69, 0.5) 100%);
  padding: 0.125rem 0.5rem;
  margin-top: -1px;
  left: var(--bs-border-radius);
  border-top-left-radius: 0;
  border-top-right-radius: 0;
}

body {
  font-size: 1rem;
  font-family: "Source Sans Pro", sans-serif;
  font-weight: 400;
  /*transition: $transition, padding-right 0s;*/
}
[data-bs-theme=dark] body {
  /*background-color: #111111;
  color: #eeeeee;*/
}

a {
  text-decoration: none;
  /*color: $pw-primary-color;*/
  transition: all ease 0.3s;
}

button {
  outline: 0 !important;
  box-shadow: none;
  border: none;
  padding: 0;
}
button:focus {
  box-shadow: none;
}

.h1, .h2, .h3, .h4, .h5, .h6, h1, h2, h3, h4, h5, h6 {
  font-weight: 700;
  font-family: "Raleway", sans-serif;
  transition: all ease 0.5s;
}

h3 {
  font-weight: 600;
}

.d-table {
  width: 100%;
  height: 100%;
}

.d-table-cell {
  vertical-align: middle;
}

p {
  margin-bottom: 0.875rem;
  line-height: 1.7;
}
p:last-child {
  margin-bottom: 0;
}

img {
  max-width: 100%;
  height: auto;
}

textarea.form-control {
  height: auto;
}

#mainNav {
  transition: all ease 0.5s;
  background-color: var(--bs-secondary-bg);
  font-size: 1.125rem;
}
@media (min-width: 576px) {
  #mainNav {
    position: -webkit-sticky;
    position: sticky;
    top: 0;
    z-index: 1000;
  }
}
body.page-default #mainNav {
  position: -webkit-sticky;
  position: sticky;
  top: 0;
  z-index: 1000;
}
#mainNav .container-fluid {
  max-width: 1724px;
}
#mainNav .navbar-brand svg {
  width: 12rem;
  color: #2b3b3a;
}
[data-bs-theme=dark] #mainNav .navbar-brand svg {
  color: #ffffff;
}
#mainNav .authenticated .nav-link {
  color: var(--bs-navbar-color);
}
#mainNav ul.nav {
  column-gap: 1rem;
}
#mainNav ul.nav > li button {
  padding-bottom: 0.25rem;
}
#mainNav ul.nav > li button > i {
  margin: 0;
  font-size: 1.25rem;
  line-height: 1.5rem;
}
#mainNav #mainNavSearchMenu {
  position: relative;
}
#mainNav #mainNavSearchMenu .dropdown-menu {
  padding: 0;
  min-width: 10rem;
}
#mainNav #mainNavSearchMenu .dropdown-menu[data-bs-popper] {
  position: absolute;
  top: 0;
  right: 0;
  left: auto;
  width: 20rem;
}
#mainNav #mainNavSearchMenu .dropdown-menu:is(.show *) {
  display: block;
}
#mainNav #mainNavSearchMenu .dropdown-toggle:is(.show *) {
  display: none;
}
#mainNav #mainNavSearchMenu .dropdown-toggle::after, #mainNav #mainNavSearchMenu .dropdown-toggle::before {
  content: none;
}
#mainNav .navbar-toggler {
  --bs-navbar-toggler-padding-x: 0.5rem;
}
#mainNav .navbar-collapse:not(.show) {
  flex-grow: 0;
}
#mainNav .dropdown-header {
  text-align: center;
}
#mainNav .main-nav-city {
  display: block;
}
#mainNav #mainNavAuthUser {
  border-radius: 50%;
  width: 2.375rem;
  height: 2.375rem;
  line-height: 2.375rem;
  padding: 0;
  text-align: center;
  color: var(--bs-link-color);
  background-color: var(--bs-body-bg);
  font-weight: 600;
  font-family: "Raleway", sans-serif;
  transition: all ease 0.5s;
}
#mainNav #mainNavAuthUser:hover {
  background-color: var(--bs-emphasis-bg);
}
#mainNav #mainNavAuthUser::after {
  content: none;
}
#mainNav #mainNavAuthUser + ul i {
  margin-right: 0.5rem;
}
#mainNav #mainNavAuthUserMsg {
  max-width: 18rem;
  white-space: nowrap;
  text-overflow: ellipsis;
  overflow: hidden;
}
#mainNav #mainNavIntro {
  display: none;
}

dialog.alert {
  margin: 1rem auto;
  width: 100%;
  max-width: var(--pw-container-width);
  line-height: 1.5rem;
}
@media (min-width: 1400px) {
  dialog.alert {
    font-size: 1.125rem;
  }
}
dialog.alert > i {
  margin-right: 0.25rem;
  font-size: 125%;
  line-height: 1.5rem;
}

dialog#alertMessage.alert {
  padding-right: 4rem;
  margin: auto;
  width: fit-content;
}
dialog#alertMessage.alert::backdrop {
  background-color: rgba(0, 0, 0, 0.75);
}
dialog#alertMessage.alert > button {
  position: absolute;
  top: 50%;
  right: 0.5rem;
  transform: translateY(-50%);
  z-index: 2;
}

#mainFooter {
  font-size: 1rem;
  line-height: 1.25rem;
  text-align: justify;
  background-color: var(--bs-tertiary-bg);
  color: var(--bs-tertiary-color);
  transition: all ease 0.5s;
}
#mainFooter > .container {
  container-type: inline-size;
}
#mainFooter a:not(:hover) {
  color: var(--bs-secondary-color);
}
#mainFooter .footer-section {
  margin: 1rem 0;
}
#mainFooter h5 {
  font-weight: 600;
}
#mainFooter ul.footer-links {
  list-style-type: none;
  margin: 1rem auto;
  padding: 0;
  font-size: 0;
}
#mainFooter ul.footer-links li {
  margin: 0.25rem 0;
  padding: 0;
  overflow: hidden;
  font-size: 1rem;
  /*&::before {
      content: '▶';
      font-size: 0.65rem;
      vertical-align: middle;
      color: $main-color;
      margin-right: 0.5rem;
  }*/
}
#mainFooter ul.footer-links a:not(:hover) {
  color: var(--bs-secondary-color);
}
#mainFooter ul.footer-links-city {
  list-style-type: none;
  margin: 1rem auto;
  padding: 0;
}
#mainFooter ul.footer-links-city.grid {
  display: grid;
  grid-template-columns: repeat(auto-fill, minmax(9rem, 1fr));
}
#mainFooter ul.footer-links-city.nested {
  display: flex;
  gap: 0.25rem;
  justify-content: space-evenly;
  flex-wrap: wrap;
}
@media (min-width: 1200px) {
  #mainFooter ul.footer-links-city.nested {
    justify-content: space-between;
    flex-wrap: nowrap;
  }
}
#mainFooter ul.footer-links-city > li {
  margin: 0.25rem 0;
  padding: 0;
  font-size: 1rem;
  /*&::before {
      content: '▶';
      font-size: 0.65rem;
      vertical-align: middle;
      color: $main-color;
      margin-right: 0.5rem;
  }*/
}
#mainFooter ul.footer-links-city > li a.current {
  font-weight: 600;
}
#mainFooter ul.footer-links-city #moreCities {
  min-width: 20rem;
  width: 33vw;
}
#mainFooter ul.footer-links-city #moreCities > li {
  display: inline-block;
  width: 9rem;
}
#mainFooter #mainFooterLogo {
  display: flex;
  justify-content: space-between;
  flex-wrap: wrap;
}
#mainFooter #mainFooterLogo svg {
  width: 11rem;
  color: #2b3b3a;
  margin: 0 0.5rem 0.5rem 0;
}
[data-bs-theme=dark] #mainFooter #mainFooterLogo svg {
  color: #ffffff;
}
#mainFooter #mainFooterLogo > ul {
  list-style-type: none;
  padding: 0;
  margin: 0;
  display: flex;
  column-gap: 0.5rem;
}
#mainFooter #mainFooterLogo > ul li {
  padding: 0;
  margin: 0;
}
#mainFooter #mainFooterLogo > ul li a {
  display: inline-block;
  border-radius: 50%;
  text-align: center;
  width: 2.25rem;
  height: 2.25rem;
  line-height: 2.25rem;
  font-size: 1.25rem;
  color: white;
  background-color: var(--pw-primary-color);
}
#mainFooter #mainFooterLogo > ul li a:hover {
  background-color: var(--pw-secondary-color);
}
#mainFooter #mainFooterLogo > ul li a.facebook:hover {
  background-color: #4267B2;
}
#mainFooter #mainFooterLogo > ul li a.twitter:hover {
  background-color: #1DA1F2;
}
#mainFooter #mainFooterLogo > ul li a.linkedin:hover {
  background-color: #0a66c2;
}
#mainFooter #mainFooterLogo > ul li a.instagram:hover {
  background-color: #833AB4;
}
#mainFooter #mainFooterLogo > ul li a.youtube:hover {
  background-color: #ff0033;
}
#mainFooter #mainFooterDisclaimer {
  text-align: justify;
}
#mainFooter #mainFooterCopyright {
  display: flex;
  justify-content: space-between;
  flex-wrap: wrap;
  text-align: left;
}

nav#mainButtons {
  position: fixed;
  bottom: 2rem;
  right: 2rem;
  z-index: 10;
}
nav#mainButtons > div {
  transition: all ease 0.5s;
  color: var(--bs-secondary-color);
  background-color: var(--bs-secondary-bg);
  width: 2rem;
  height: 2rem;
  border-radius: 50%;
  font-size: 1.5rem;
  line-height: 2rem;
  text-align: center;
  margin: 0 0 1rem 0;
}
nav#mainButtons > div input {
  width: 0;
  height: 0;
  opacity: 0;
  display: block;
}
nav#mainButtons > div label {
  cursor: pointer;
}
nav#mainButtons > div i {
  margin: 0;
}
nav#mainButtons > div:hover {
  background-color: var(--bs-border-color);
}
nav#mainButtons > div:last-child {
  margin: 0;
}
nav#mainButtons #mainBtnGoTop {
  position: relative;
  transform: scale(0);
}
nav#mainButtons #mainBtnGoTop i {
  position: absolute;
  top: 0;
  left: 0;
  right: 0;
  margin: 0;
  transition: 0.5s;
}
nav#mainButtons #mainBtnGoTop i:last-child {
  opacity: 0;
  visibility: hidden;
  top: 10%;
}
nav#mainButtons #mainBtnGoTop label:hover > i:first-child {
  opacity: 0;
  top: -50%;
  visibility: hidden;
}
nav#mainButtons #mainBtnGoTop label:hover > i:last-child {
  opacity: 1;
  visibility: visible;
  top: 0;
}
nav#mainButtons #mainBtnGoTop.active {
  opacity: 1;
  visibility: visible;
  transform: scale(1);
}
nav#mainButtons #mainBtnDarkMode input:checked + label > i.pi-sun-fill {
  display: block;
}
nav#mainButtons #mainBtnDarkMode input:checked + label > i.pi-moon-fill {
  display: none;
}
nav#mainButtons #mainBtnDarkMode input:not(:checked) + label > i.pi-sun-fill {
  display: none;
}
nav#mainButtons #mainBtnDarkMode input:not(:checked) + label > i.pi-moon-fill {
  display: block;
}

.preloader {
  display: flex;
  justify-content: center;
  align-items: center;
  width: 100%;
  height: 100%;
  position: fixed;
  top: 0;
  left: 0;
  right: 0;
  background-color: rgba(22, 36, 52, 0.9);
  z-index: 9999;
}
.preloader .preloader-wrap {
  position: relative;
  width: 100px;
  height: 100px;
  border-radius: 50%;
  background: linear-gradient(#00FF00, #00FF00, #00FF00);
  animation: rotate-fourteen 1s linear infinite;
}
.preloader .preloader-wrap span {
  position: absolute;
  width: 100px;
  height: 100px;
  border-radius: 50%;
  background: linear-gradient(#00b2ff, #00ffbb, #6bff6b);
}
.preloader .preloader-wrap span:nth-child(1) {
  filter: blur(5px);
}
.preloader .preloader-wrap span:nth-child(2) {
  filter: blur(10px);
}
.preloader .preloader-wrap::after {
  content: "";
  position: absolute;
  top: 10px;
  left: 10px;
  right: 10px;
  bottom: 10px;
  background: #162434;
  border-radius: 50%;
}
.preloader.preloader-deactivate {
  visibility: hidden;
}

@keyframes rotate-fourteen {
  0% {
    transform: rotate(0deg);
  }
  100% {
    transform: rotate(360deg);
  }
}
.btn .spinner-border {
  display: none;
}

.btn:disabled .spinner-border {
  display: inline-block;
}

@media (hover: hover) {
  /* when hover is supported */
  .dropdown-hover:hover .dropdown-menu {
    display: block;
    margin-top: 0; /* remove the gap so it doesn't close */
    left: 50%;
    transform: translateX(-50%);
  }
  .dropdown-hover:hover .dropdown-menu-end {
    right: 0;
    left: auto;
    transform: none;
  }
  .dropdown-hover .dropdown-toggle::after, .dropdown-hover .dropdown-toggle::before {
    content: none;
  }
}
.dropdown-toggle::after {
  opacity: 0.33;
}

.lining-nums {
  font-variant-numeric: lining-nums;
  -moz-font-feature-settings: "lnum" 1;
  -moz-font-feature-settings: "lnum=1";
  -ms-font-feature-settings: "lnum" 1;
  -o-font-feature-settings: "lnum" 1;
  -webkit-font-feature-settings: "lnum" 1;
  font-feature-settings: "lnum" 1;
}

.note {
  color: var(--bs-tertiary-color);
  font-size: 0.75rem;
}

#drawer {
  height: 1px;
  width: 1px;
}

textarea.pw-autosize {
  resize: none;
  overflow-y: clip;
}

.delay-0-2s {
  animation-delay: 0.2s;
}

.delay-0-4s {
  animation-delay: 0.4s;
}

.delay-0-6s {
  animation-delay: 0.6s;
}

.delay-0-8s {
  animation-delay: 0.8s;
}

.delay-0-1s {
  animation-delay: 1s;
}

.bg-checkered {
  background: var(--bs-secondary-bg) url(/Redux//assets//images/ui/checker.svg) repeat;
}

.flex-fit {
  flex: 0 0 fit-content !important;
}

.authenticated {
  display: none;
}

body.auth-user .authenticated {
  display: revert;
}

body.auth-user .unauthenticated {
  display: none;
}

@media (min-width: 992px) and (max-resolution: 1.5x) {
  .modal-open #mainNav, .modal-open #mainBody, .modal-open #mainFooter {
    filter: blur(2px);
  }
}
#auth fieldset {
  display: none;
  margin-bottom: 1rem;
}
#auth .modal-header img {
  width: 1.5rem;
  margin-right: 1rem;
}
#auth #auth-mobile-code {
  /*max-width: 5rem;*/
}
#auth #auth-mobile-code option {
  font-family: monospace;
}

@keyframes heartBeatSubtle {
  0% {
    transform: scale(1);
  }
  14% {
    transform: scale(1.03);
  }
  28% {
    transform: scale(1);
  }
  42% {
    transform: scale(1.03);
  }
  70% {
    transform: scale(1);
  }
}
.animate__heartBeatSubtle {
  -webkit-animation-duration: 1.3s;
  animation-duration: 1.3s;
  -webkit-animation-duration: calc(var(--animate-duration) * 1.3);
  animation-duration: calc(var(--animate-duration) * 1.3);
  -webkit-animation-name: heartBeatSubtle !important;
  animation-name: heartBeatSubtle !important;
  -webkit-animation-timing-function: ease-in-out;
  animation-timing-function: ease-in-out;
}

.driver-popover {
  background-color: rgba(0, 0, 0, 0.5);
  color: white;
}
.driver-popover .driver-popover-description {
  text-shadow: 2px 2px 1px black, -2px -2px 1px black;
}

.page-error {
  --pw-container-width: 1320px;
}
.page-error #mainNav .input-group {
  width: 12rem;
}
.page-error #mainNav .main-nav-city {
  display: none;
}
.page-error #errorDetails h1 {
  font-size: calc(1.125rem + 0.5vw);
}
.page-error #errorDetails h2 {
  font-size: calc(1rem + 0.3vw);
}
.page-error #errorDetails > section {
  padding: 1rem 0;
}
.page-error #errorDetails > section > div {
  margin: 0 0 1rem 0;
}
.page-error #errorDetails > section img {
  min-width: 256px;
  width: 256px;
  height: 256px;
}
.page-error #errorDetails > section figure, .page-error #errorDetails > section blockquote {
  font-size: 0.75rem;
  color: var(--bs-secondary-color);
  margin-bottom: 0;
}
.page-error #errorDetails > section figcaption {
  margin-top: 0;
}
.page-error #errorDetails > section p.text-center {
  font-family: Verdana, Arial, sans-serif;
}
.page-error #errorExceptional {
  font-size: 0.875rem;
  color: #333;
  background-color: #f9f9f9;
  padding: 1rem;
}
.page-error #errorExceptional fieldset {
  font-size: 0.875rem;
  padding: 0.125rem;
}
.page-error #errorExceptional fieldset legend {
  margin-bottom: 0.25rem;
}
@media (min-width: 992px) {
  .page-error #errorExceptional fieldset dl {
    display: grid;
    grid-template-columns: 10rem 1fr;
  }
}
.page-error #errorExceptional fieldset dl > dt {
  color: var(--bs-tertiary-color);
  color: #777;
  white-space: nowrap;
  overflow: hidden;
  text-overflow: ellipsis;
}
.page-error #errorExceptional fieldset dl > dd {
  flex-grow: 1;
}

body.print * {
  text-shadow: none !important;
}
body.print .no-print, body.print button, body.print input {
  display: none !important;
}

@media print {
  * {
    text-shadow: none !important;
  }
  .no-print, button, input {
    display: none !important;
  }
}
/* latin */
@font-face {
  font-family: "Source Sans 3";
  font-style: italic;
  font-weight: 200 900;
  font-display: swap;
  src: url(../fonts/source-sans-3-italic.woff2) format("woff2");
  unicode-range: U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+0304, U+0308, U+0329, U+2000-206F, U+2074, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD;
}
@font-face {
  font-family: "Source Sans 3";
  font-style: normal;
  font-weight: 200 900;
  font-display: swap;
  src: url(../fonts/source-sans-3-normal.woff2) format("woff2");
  unicode-range: U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+0304, U+0308, U+0329, U+2000-206F, U+2074, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD;
}
@font-face {
  font-family: "Raleway";
  font-style: italic;
  font-weight: 100 900;
  font-display: swap;
  src: url(../fonts/raleway-italic.woff2) format("woff2");
  unicode-range: U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+0304, U+0308, U+0329, U+2000-206F, U+2074, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD;
}
@font-face {
  font-family: "Raleway";
  font-style: normal;
  font-weight: 100 900;
  font-display: swap;
  src: url(../fonts/raleway-normal.woff2) format("woff2");
  unicode-range: U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+0304, U+0308, U+0329, U+2000-206F, U+2074, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD;
}
.price-trends {
  width: 100%;
  overflow: hidden;
  font-size: 0.875rem;
  background-color: var(--bs-tertiary-bg);
}
[data-bs-theme=dark] .price-trends {
  background-color: var(--bs-dark-bg-subtle);
}
.price-trends .price-trends-graph {
  width: 100%;
  height: 20rem;
}
.price-trends .price-trends-note {
  color: var(--bs-tertiary-color);
  font-size: 0.75rem;
  text-align: right;
}

.map {
  position: relative;
  min-height: 200px;
  overflow: hidden;
}
.map .map-enlarge {
  position: absolute;
  bottom: 0;
  right: 0;
  background: #777;
  background: rgba(50, 50, 50, 0.75);
  color: white;
  padding: 2px;
  line-height: 1.25rem;
  font-size: 1.25rem;
  cursor: pointer;
}
.map img.map-static {
  width: 100%;
  height: 100%;
  object-fit: cover;
}

.map-container {
  width: 100%;
  height: 100%;
}
.map-container [role=dialog] {
  color: #444;
  background-color: white;
}
.map-container [role=dialog] h5 {
  font-size: 1rem;
}
.map-container [role=dialog] img {
  float: left;
  margin: 0 1rem 0 0;
}

ul.features-view {
  list-style-type: none;
  padding: 0;
  margin: 1rem 0;
  font-size: 0.875rem;
  line-height: 1.125rem;
  /*display: grid;
  grid-template-columns: repeat(auto-fill, minmax(7.5rem, 1fr));*/
  --cols: 1;
  display: grid;
  justify-content: space-between;
  grid-template-columns: repeat(var(--cols), 7.5rem);
}
@container (min-width: 15rem) {
  ul.features-view:has(> :last-child:nth-child(3)) {
    --cols: 2;
  }
  ul.features-view:has(> :last-child:nth-child(4)) {
    --cols: 2;
  }
  ul.features-view:has(> :last-child:nth-child(5)) {
    --cols: 2;
  }
  ul.features-view:has(> :last-child:nth-child(6)) {
    --cols: 2;
  }
  ul.features-view:has(> :last-child:nth-child(7)) {
    --cols: 2;
  }
  ul.features-view:has(> :last-child:nth-child(8)) {
    --cols: 2;
  }
  ul.features-view:has(> :last-child:nth-child(9)) {
    --cols: 2;
  }
  ul.features-view:has(> :last-child:nth-child(10)) {
    --cols: 2;
  }
  ul.features-view:has(> :last-child:nth-child(11)) {
    --cols: 2;
  }
  ul.features-view:has(> :last-child:nth-child(12)) {
    --cols: 2;
  }
  ul.features-view:has(> :last-child:nth-child(13)) {
    --cols: 2;
  }
  ul.features-view:has(> :last-child:nth-child(14)) {
    --cols: 2;
  }
  ul.features-view:has(> :last-child:nth-child(15)) {
    --cols: 2;
  }
  ul.features-view:has(> :last-child:nth-child(16)) {
    --cols: 2;
  }
  ul.features-view:has(> :last-child:nth-child(17)) {
    --cols: 2;
  }
  ul.features-view:has(> :last-child:nth-child(18)) {
    --cols: 2;
  }
  ul.features-view:has(> :last-child:nth-child(19)) {
    --cols: 2;
  }
  ul.features-view:has(> :last-child:nth-child(20)) {
    --cols: 2;
  }
  ul.features-view:has(> :last-child:nth-child(21)) {
    --cols: 2;
  }
  ul.features-view:has(> :last-child:nth-child(22)) {
    --cols: 2;
  }
  ul.features-view:has(> :last-child:nth-child(23)) {
    --cols: 2;
  }
  ul.features-view:has(> :last-child:nth-child(24)) {
    --cols: 2;
  }
  ul.features-view:has(> :last-child:nth-child(25)) {
    --cols: 2;
  }
  ul.features-view:has(> :last-child:nth-child(26)) {
    --cols: 2;
  }
  ul.features-view:has(> :last-child:nth-child(27)) {
    --cols: 2;
  }
  ul.features-view:has(> :last-child:nth-child(28)) {
    --cols: 2;
  }
  ul.features-view:has(> :last-child:nth-child(29)) {
    --cols: 2;
  }
  ul.features-view:has(> :last-child:nth-child(30)) {
    --cols: 2;
  }
  ul.features-view:has(> :last-child:nth-child(31)) {
    --cols: 2;
  }
  ul.features-view:has(> :last-child:nth-child(32)) {
    --cols: 2;
  }
  ul.features-view:has(> :last-child:nth-child(33)) {
    --cols: 2;
  }
  ul.features-view:has(> :last-child:nth-child(34)) {
    --cols: 2;
  }
  ul.features-view:has(> :last-child:nth-child(35)) {
    --cols: 2;
  }
  ul.features-view:has(> :last-child:nth-child(36)) {
    --cols: 2;
  }
  ul.features-view:has(> :last-child:nth-child(37)) {
    --cols: 2;
  }
  ul.features-view:has(> :last-child:nth-child(38)) {
    --cols: 2;
  }
  ul.features-view:has(> :last-child:nth-child(39)) {
    --cols: 2;
  }
  ul.features-view:has(> :last-child:nth-child(40)) {
    --cols: 2;
  }
}
@container (min-width: 22.5rem) {
  ul.features-view:has(> :last-child:nth-child(3)) {
    --cols: 3;
  }
  ul.features-view:has(> :last-child:nth-child(5)) {
    --cols: 3;
  }
  ul.features-view:has(> :last-child:nth-child(6)) {
    --cols: 3;
  }
  ul.features-view:has(> :last-child:nth-child(7)) {
    --cols: 3;
  }
  ul.features-view:has(> :last-child:nth-child(8)) {
    --cols: 3;
  }
  ul.features-view:has(> :last-child:nth-child(9)) {
    --cols: 3;
  }
  ul.features-view:has(> :last-child:nth-child(10)) {
    --cols: 3;
  }
  ul.features-view:has(> :last-child:nth-child(11)) {
    --cols: 3;
  }
  ul.features-view:has(> :last-child:nth-child(12)) {
    --cols: 3;
  }
  ul.features-view:has(> :last-child:nth-child(13)) {
    --cols: 3;
  }
  ul.features-view:has(> :last-child:nth-child(14)) {
    --cols: 3;
  }
  ul.features-view:has(> :last-child:nth-child(15)) {
    --cols: 3;
  }
  ul.features-view:has(> :last-child:nth-child(16)) {
    --cols: 3;
  }
  ul.features-view:has(> :last-child:nth-child(17)) {
    --cols: 3;
  }
  ul.features-view:has(> :last-child:nth-child(18)) {
    --cols: 3;
  }
  ul.features-view:has(> :last-child:nth-child(19)) {
    --cols: 3;
  }
  ul.features-view:has(> :last-child:nth-child(20)) {
    --cols: 3;
  }
  ul.features-view:has(> :last-child:nth-child(21)) {
    --cols: 3;
  }
  ul.features-view:has(> :last-child:nth-child(22)) {
    --cols: 3;
  }
  ul.features-view:has(> :last-child:nth-child(23)) {
    --cols: 3;
  }
  ul.features-view:has(> :last-child:nth-child(24)) {
    --cols: 3;
  }
  ul.features-view:has(> :last-child:nth-child(25)) {
    --cols: 3;
  }
  ul.features-view:has(> :last-child:nth-child(26)) {
    --cols: 3;
  }
  ul.features-view:has(> :last-child:nth-child(27)) {
    --cols: 3;
  }
  ul.features-view:has(> :last-child:nth-child(28)) {
    --cols: 3;
  }
  ul.features-view:has(> :last-child:nth-child(29)) {
    --cols: 3;
  }
  ul.features-view:has(> :last-child:nth-child(30)) {
    --cols: 3;
  }
  ul.features-view:has(> :last-child:nth-child(31)) {
    --cols: 3;
  }
  ul.features-view:has(> :last-child:nth-child(32)) {
    --cols: 3;
  }
  ul.features-view:has(> :last-child:nth-child(33)) {
    --cols: 3;
  }
  ul.features-view:has(> :last-child:nth-child(34)) {
    --cols: 3;
  }
  ul.features-view:has(> :last-child:nth-child(35)) {
    --cols: 3;
  }
  ul.features-view:has(> :last-child:nth-child(36)) {
    --cols: 3;
  }
  ul.features-view:has(> :last-child:nth-child(37)) {
    --cols: 3;
  }
  ul.features-view:has(> :last-child:nth-child(38)) {
    --cols: 3;
  }
  ul.features-view:has(> :last-child:nth-child(39)) {
    --cols: 3;
  }
  ul.features-view:has(> :last-child:nth-child(40)) {
    --cols: 3;
  }
}
@container (min-width: 30rem) {
  ul.features-view:has(> :last-child:nth-child(4)) {
    --cols: 4;
  }
  ul.features-view:has(> :last-child:nth-child(7)) {
    --cols: 4;
  }
  ul.features-view:has(> :last-child:nth-child(8)) {
    --cols: 4;
  }
  ul.features-view:has(> :last-child:nth-child(10)) {
    --cols: 4;
  }
  ul.features-view:has(> :last-child:nth-child(11)) {
    --cols: 4;
  }
  ul.features-view:has(> :last-child:nth-child(12)) {
    --cols: 4;
  }
  ul.features-view:has(> :last-child:nth-child(13)) {
    --cols: 4;
  }
  ul.features-view:has(> :last-child:nth-child(14)) {
    --cols: 4;
  }
  ul.features-view:has(> :last-child:nth-child(15)) {
    --cols: 4;
  }
  ul.features-view:has(> :last-child:nth-child(16)) {
    --cols: 4;
  }
  ul.features-view:has(> :last-child:nth-child(17)) {
    --cols: 4;
  }
  ul.features-view:has(> :last-child:nth-child(18)) {
    --cols: 4;
  }
  ul.features-view:has(> :last-child:nth-child(19)) {
    --cols: 4;
  }
  ul.features-view:has(> :last-child:nth-child(20)) {
    --cols: 4;
  }
  ul.features-view:has(> :last-child:nth-child(21)) {
    --cols: 4;
  }
  ul.features-view:has(> :last-child:nth-child(22)) {
    --cols: 4;
  }
  ul.features-view:has(> :last-child:nth-child(23)) {
    --cols: 4;
  }
  ul.features-view:has(> :last-child:nth-child(24)) {
    --cols: 4;
  }
  ul.features-view:has(> :last-child:nth-child(25)) {
    --cols: 4;
  }
  ul.features-view:has(> :last-child:nth-child(26)) {
    --cols: 4;
  }
  ul.features-view:has(> :last-child:nth-child(27)) {
    --cols: 4;
  }
  ul.features-view:has(> :last-child:nth-child(28)) {
    --cols: 4;
  }
  ul.features-view:has(> :last-child:nth-child(29)) {
    --cols: 4;
  }
  ul.features-view:has(> :last-child:nth-child(30)) {
    --cols: 4;
  }
  ul.features-view:has(> :last-child:nth-child(31)) {
    --cols: 4;
  }
  ul.features-view:has(> :last-child:nth-child(32)) {
    --cols: 4;
  }
  ul.features-view:has(> :last-child:nth-child(33)) {
    --cols: 4;
  }
  ul.features-view:has(> :last-child:nth-child(34)) {
    --cols: 4;
  }
  ul.features-view:has(> :last-child:nth-child(35)) {
    --cols: 4;
  }
  ul.features-view:has(> :last-child:nth-child(36)) {
    --cols: 4;
  }
  ul.features-view:has(> :last-child:nth-child(37)) {
    --cols: 4;
  }
  ul.features-view:has(> :last-child:nth-child(38)) {
    --cols: 4;
  }
  ul.features-view:has(> :last-child:nth-child(39)) {
    --cols: 4;
  }
  ul.features-view:has(> :last-child:nth-child(40)) {
    --cols: 4;
  }
}
@container (min-width: 37.5rem) {
  ul.features-view:has(> :last-child:nth-child(5)) {
    --cols: 5;
  }
  ul.features-view:has(> :last-child:nth-child(9)) {
    --cols: 5;
  }
  ul.features-view:has(> :last-child:nth-child(10)) {
    --cols: 5;
  }
  ul.features-view:has(> :last-child:nth-child(13)) {
    --cols: 5;
  }
  ul.features-view:has(> :last-child:nth-child(14)) {
    --cols: 5;
  }
  ul.features-view:has(> :last-child:nth-child(15)) {
    --cols: 5;
  }
  ul.features-view:has(> :last-child:nth-child(17)) {
    --cols: 5;
  }
  ul.features-view:has(> :last-child:nth-child(18)) {
    --cols: 5;
  }
  ul.features-view:has(> :last-child:nth-child(19)) {
    --cols: 5;
  }
  ul.features-view:has(> :last-child:nth-child(20)) {
    --cols: 5;
  }
  ul.features-view:has(> :last-child:nth-child(21)) {
    --cols: 5;
  }
  ul.features-view:has(> :last-child:nth-child(22)) {
    --cols: 5;
  }
  ul.features-view:has(> :last-child:nth-child(23)) {
    --cols: 5;
  }
  ul.features-view:has(> :last-child:nth-child(24)) {
    --cols: 5;
  }
  ul.features-view:has(> :last-child:nth-child(25)) {
    --cols: 5;
  }
  ul.features-view:has(> :last-child:nth-child(26)) {
    --cols: 5;
  }
  ul.features-view:has(> :last-child:nth-child(27)) {
    --cols: 5;
  }
  ul.features-view:has(> :last-child:nth-child(28)) {
    --cols: 5;
  }
  ul.features-view:has(> :last-child:nth-child(29)) {
    --cols: 5;
  }
  ul.features-view:has(> :last-child:nth-child(30)) {
    --cols: 5;
  }
  ul.features-view:has(> :last-child:nth-child(31)) {
    --cols: 5;
  }
  ul.features-view:has(> :last-child:nth-child(32)) {
    --cols: 5;
  }
  ul.features-view:has(> :last-child:nth-child(33)) {
    --cols: 5;
  }
  ul.features-view:has(> :last-child:nth-child(34)) {
    --cols: 5;
  }
  ul.features-view:has(> :last-child:nth-child(35)) {
    --cols: 5;
  }
  ul.features-view:has(> :last-child:nth-child(36)) {
    --cols: 5;
  }
  ul.features-view:has(> :last-child:nth-child(37)) {
    --cols: 5;
  }
  ul.features-view:has(> :last-child:nth-child(38)) {
    --cols: 5;
  }
  ul.features-view:has(> :last-child:nth-child(39)) {
    --cols: 5;
  }
  ul.features-view:has(> :last-child:nth-child(40)) {
    --cols: 5;
  }
}
@container (min-width: 45rem) {
  ul.features-view:has(> :last-child:nth-child(6)) {
    --cols: 6;
  }
  ul.features-view:has(> :last-child:nth-child(11)) {
    --cols: 6;
  }
  ul.features-view:has(> :last-child:nth-child(12)) {
    --cols: 6;
  }
  ul.features-view:has(> :last-child:nth-child(16)) {
    --cols: 6;
  }
  ul.features-view:has(> :last-child:nth-child(17)) {
    --cols: 6;
  }
  ul.features-view:has(> :last-child:nth-child(18)) {
    --cols: 6;
  }
  ul.features-view:has(> :last-child:nth-child(21)) {
    --cols: 6;
  }
  ul.features-view:has(> :last-child:nth-child(22)) {
    --cols: 6;
  }
  ul.features-view:has(> :last-child:nth-child(23)) {
    --cols: 6;
  }
  ul.features-view:has(> :last-child:nth-child(24)) {
    --cols: 6;
  }
  ul.features-view:has(> :last-child:nth-child(26)) {
    --cols: 6;
  }
  ul.features-view:has(> :last-child:nth-child(27)) {
    --cols: 6;
  }
  ul.features-view:has(> :last-child:nth-child(28)) {
    --cols: 6;
  }
  ul.features-view:has(> :last-child:nth-child(29)) {
    --cols: 6;
  }
  ul.features-view:has(> :last-child:nth-child(30)) {
    --cols: 6;
  }
  ul.features-view:has(> :last-child:nth-child(31)) {
    --cols: 6;
  }
  ul.features-view:has(> :last-child:nth-child(32)) {
    --cols: 6;
  }
  ul.features-view:has(> :last-child:nth-child(33)) {
    --cols: 6;
  }
  ul.features-view:has(> :last-child:nth-child(34)) {
    --cols: 6;
  }
  ul.features-view:has(> :last-child:nth-child(35)) {
    --cols: 6;
  }
  ul.features-view:has(> :last-child:nth-child(36)) {
    --cols: 6;
  }
  ul.features-view:has(> :last-child:nth-child(37)) {
    --cols: 6;
  }
  ul.features-view:has(> :last-child:nth-child(38)) {
    --cols: 6;
  }
  ul.features-view:has(> :last-child:nth-child(39)) {
    --cols: 6;
  }
  ul.features-view:has(> :last-child:nth-child(40)) {
    --cols: 6;
  }
}
@container (min-width: 52.5rem) {
  ul.features-view:has(> :last-child:nth-child(7)) {
    --cols: 7;
  }
  ul.features-view:has(> :last-child:nth-child(13)) {
    --cols: 7;
  }
  ul.features-view:has(> :last-child:nth-child(14)) {
    --cols: 7;
  }
  ul.features-view:has(> :last-child:nth-child(19)) {
    --cols: 7;
  }
  ul.features-view:has(> :last-child:nth-child(20)) {
    --cols: 7;
  }
  ul.features-view:has(> :last-child:nth-child(21)) {
    --cols: 7;
  }
  ul.features-view:has(> :last-child:nth-child(25)) {
    --cols: 7;
  }
  ul.features-view:has(> :last-child:nth-child(26)) {
    --cols: 7;
  }
  ul.features-view:has(> :last-child:nth-child(27)) {
    --cols: 7;
  }
  ul.features-view:has(> :last-child:nth-child(28)) {
    --cols: 7;
  }
  ul.features-view:has(> :last-child:nth-child(31)) {
    --cols: 7;
  }
  ul.features-view:has(> :last-child:nth-child(32)) {
    --cols: 7;
  }
  ul.features-view:has(> :last-child:nth-child(33)) {
    --cols: 7;
  }
  ul.features-view:has(> :last-child:nth-child(34)) {
    --cols: 7;
  }
  ul.features-view:has(> :last-child:nth-child(35)) {
    --cols: 7;
  }
  ul.features-view:has(> :last-child:nth-child(37)) {
    --cols: 7;
  }
  ul.features-view:has(> :last-child:nth-child(38)) {
    --cols: 7;
  }
  ul.features-view:has(> :last-child:nth-child(39)) {
    --cols: 7;
  }
  ul.features-view:has(> :last-child:nth-child(40)) {
    --cols: 7;
  }
}
@container (min-width: 60rem) {
  ul.features-view:has(> :last-child:nth-child(8)) {
    --cols: 8;
  }
  ul.features-view:has(> :last-child:nth-child(15)) {
    --cols: 8;
  }
  ul.features-view:has(> :last-child:nth-child(16)) {
    --cols: 8;
  }
  ul.features-view:has(> :last-child:nth-child(22)) {
    --cols: 8;
  }
  ul.features-view:has(> :last-child:nth-child(23)) {
    --cols: 8;
  }
  ul.features-view:has(> :last-child:nth-child(24)) {
    --cols: 8;
  }
  ul.features-view:has(> :last-child:nth-child(29)) {
    --cols: 8;
  }
  ul.features-view:has(> :last-child:nth-child(30)) {
    --cols: 8;
  }
  ul.features-view:has(> :last-child:nth-child(31)) {
    --cols: 8;
  }
  ul.features-view:has(> :last-child:nth-child(32)) {
    --cols: 8;
  }
  ul.features-view:has(> :last-child:nth-child(36)) {
    --cols: 8;
  }
  ul.features-view:has(> :last-child:nth-child(37)) {
    --cols: 8;
  }
  ul.features-view:has(> :last-child:nth-child(38)) {
    --cols: 8;
  }
  ul.features-view:has(> :last-child:nth-child(39)) {
    --cols: 8;
  }
  ul.features-view:has(> :last-child:nth-child(40)) {
    --cols: 8;
  }
}
@container (min-width: 67.5rem) {
  ul.features-view:has(> :last-child:nth-child(9)) {
    --cols: 9;
  }
  ul.features-view:has(> :last-child:nth-child(17)) {
    --cols: 9;
  }
  ul.features-view:has(> :last-child:nth-child(18)) {
    --cols: 9;
  }
  ul.features-view:has(> :last-child:nth-child(25)) {
    --cols: 9;
  }
  ul.features-view:has(> :last-child:nth-child(26)) {
    --cols: 9;
  }
  ul.features-view:has(> :last-child:nth-child(27)) {
    --cols: 9;
  }
  ul.features-view:has(> :last-child:nth-child(33)) {
    --cols: 9;
  }
  ul.features-view:has(> :last-child:nth-child(34)) {
    --cols: 9;
  }
  ul.features-view:has(> :last-child:nth-child(35)) {
    --cols: 9;
  }
  ul.features-view:has(> :last-child:nth-child(36)) {
    --cols: 9;
  }
}
@container (min-width: 75rem) {
  ul.features-view:has(> :last-child:nth-child(10)) {
    --cols: 10;
  }
  ul.features-view:has(> :last-child:nth-child(19)) {
    --cols: 10;
  }
  ul.features-view:has(> :last-child:nth-child(20)) {
    --cols: 10;
  }
  ul.features-view:has(> :last-child:nth-child(28)) {
    --cols: 10;
  }
  ul.features-view:has(> :last-child:nth-child(29)) {
    --cols: 10;
  }
  ul.features-view:has(> :last-child:nth-child(30)) {
    --cols: 10;
  }
  ul.features-view:has(> :last-child:nth-child(37)) {
    --cols: 10;
  }
  ul.features-view:has(> :last-child:nth-child(38)) {
    --cols: 10;
  }
  ul.features-view:has(> :last-child:nth-child(39)) {
    --cols: 10;
  }
  ul.features-view:has(> :last-child:nth-child(40)) {
    --cols: 10;
  }
}
@container (min-width: 82.5rem) {
  ul.features-view:has(> :last-child:nth-child(11)) {
    --cols: 11;
  }
  ul.features-view:has(> :last-child:nth-child(21)) {
    --cols: 11;
  }
  ul.features-view:has(> :last-child:nth-child(22)) {
    --cols: 11;
  }
  ul.features-view:has(> :last-child:nth-child(31)) {
    --cols: 11;
  }
  ul.features-view:has(> :last-child:nth-child(32)) {
    --cols: 11;
  }
  ul.features-view:has(> :last-child:nth-child(33)) {
    --cols: 11;
  }
}
@container (min-width: 90rem) {
  ul.features-view:has(> :last-child:nth-child(12)) {
    --cols: 12;
  }
  ul.features-view:has(> :last-child:nth-child(23)) {
    --cols: 12;
  }
  ul.features-view:has(> :last-child:nth-child(24)) {
    --cols: 12;
  }
  ul.features-view:has(> :last-child:nth-child(34)) {
    --cols: 12;
  }
  ul.features-view:has(> :last-child:nth-child(35)) {
    --cols: 12;
  }
  ul.features-view:has(> :last-child:nth-child(36)) {
    --cols: 12;
  }
}
@container (min-width: 97.5rem) {
  ul.features-view:has(> :last-child:nth-child(13)) {
    --cols: 13;
  }
  ul.features-view:has(> :last-child:nth-child(25)) {
    --cols: 13;
  }
  ul.features-view:has(> :last-child:nth-child(26)) {
    --cols: 13;
  }
  ul.features-view:has(> :last-child:nth-child(37)) {
    --cols: 13;
  }
  ul.features-view:has(> :last-child:nth-child(38)) {
    --cols: 13;
  }
  ul.features-view:has(> :last-child:nth-child(39)) {
    --cols: 13;
  }
}
@container (min-width: 105rem) {
  ul.features-view:has(> :last-child:nth-child(14)) {
    --cols: 14;
  }
  ul.features-view:has(> :last-child:nth-child(27)) {
    --cols: 14;
  }
  ul.features-view:has(> :last-child:nth-child(28)) {
    --cols: 14;
  }
  ul.features-view:has(> :last-child:nth-child(40)) {
    --cols: 14;
  }
}
ul.features-view:has(> :nth-child(41)) {
  grid-template-columns: repeat(auto-fill, minmax(7.5rem, 1fr));
}
@supports not selector(:has(*)) {
  ul.features-view {
    grid-template-columns: repeat(auto-fill, minmax(7.5rem, 1fr));
  }
}
ul.features-view > li {
  width: 100%;
  height: 4.5rem;
  text-align: center;
  overflow: hidden;
  text-overflow: ellipsis;
  margin: 0 0 0.5rem 0;
}
ul.features-view > li i {
  font-size: 1.625rem;
  height: 2rem;
  display: block;
}

ul.features-view-grouped {
  list-style-type: none;
  padding: 0;
}
ul.features-view-grouped > li {
  margin: 1rem 0;
}
ul.features-view-grouped > li h4 {
  font-size: 1rem;
}
ul.features-view-grouped > li > ul {
  list-style-type: none;
  padding: 0;
  font-size: 0.875rem;
}
ul.features-view-grouped > li > ul > li {
  display: inline;
  overflow: hidden;
  text-overflow: ellipsis;
  margin: 0 0 0.5rem 0;
}
ul.features-view-grouped > li > ul li::after {
  content: ",";
  margin-right: 0.25rem;
}
ul.features-view-grouped > li > ul li:last-child::after {
  content: "";
  margin-right: 0;
}

.chart-container {
  width: 100%;
  height: 500px;
  background-color: var(--bs-secondary-bg);
}

.breadcrumb {
  font-size: 0.875rem;
  --bs-breadcrumb-divider: ">";
}
.breadcrumb a:not(:hover) {
  color: var(--pw-primary-color);
}

#reviewList figure {
  margin: 0 0 1rem 0;
  background-color: var(--bs-tertiary-bg);
  border-radius: 0.375rem;
  padding: 0.75rem 1rem;
}
#reviewList figure blockquote {
  font-size: 1rem;
}
#reviewList figure blockquote h5 {
  font-size: 1rem;
  color: var(--bs-secondary-color);
}
#reviewList figure blockquote ul {
  list-style-type: square;
  padding: 0 0 0 1rem;
}
#reviewList figure blockquote ul > li > em {
  color: var(--bs-body-color);
}
#reviewList figure blockquote ul.pros {
  color: var(--pw-primary-color);
}
#reviewList figure blockquote ul.cons {
  color: var(--pw-secondary-color);
}
#reviewList figure figcaption {
  margin: 0;
  color: var(--bs-tertiary-color);
}
#reviewList figure a {
  color: var(--bs-emphasis-color);
}
#reviewList figure a:hover {
  color: #a83c2f;
  /*text-decoration: underline;*/
}

#reviewPost {
  margin: 0.5rem 0;
}
#reviewPost .row > div {
  margin-bottom: 1rem;
}
#reviewPost .row > div > ul {
  margin: 0.5rem 0;
}
#reviewPost #reviewPostForm {
  background-color: var(--bs-tertiary-bg);
  border-radius: 0.375rem;
  padding: 0.75rem 1rem;
}
#reviewPost #reviewPostForm ul {
  padding-left: 1rem;
}

.pw-carousel {
  --carousel-count: 1;
  display: flex;
  flex-direction: row;
  gap: 1rem;
  width: 100%;
  max-width: 100%;
  overflow-x: auto;
  margin: 0;
  padding: 0;
  list-style: none;
  scroll-snap-type: x mandatory; /* snap */
  scrollbar-width: none;
  -ms-overflow-style: none;
}
.pw-carousel::-webkit-scrollbar {
  display: none;
}
.pw-carousel > li {
  flex: 0 0 calc(100% / var(--carousel-count) - 1rem * (var(--carousel-count) - 1) / var(--carousel-count));
  overflow: hidden;
  scroll-snap-align: start; /* snap */
  scroll-margin: 5px;
}

.pw-carousel-nav button {
  background-color: transparent;
  color: var(--pw-primary-color);
  border: 1px solid var(--pw-primary-color);
  width: 2.5rem;
  height: 2rem;
  line-height: 2rem;
  border-radius: 3px;
  transition: all ease 0.5s;
}

@media (min-width: 576px) {
  .pw-carousel {
    --carousel-count: 2;
  }
}
@media (min-width: 768px) {
  .pw-carousel {
    --carousel-count: 2;
  }
}
@media (min-width: 992px) {
  .pw-carousel {
    --carousel-count: 3;
  }
}
@media (min-width: 1200px) {
  .pw-carousel {
    --carousel-count: 4;
  }
}
.clickable {
  cursor: pointer;
}

i.pw-monogram {
  font-family: Georgia, Garamond, serif;
  font-style: normal;
  font-weight: 600;
  text-align: center;
  position: relative;
  flex-shrink: 0;
  display: inline-block;
  vertical-align: middle;
  letter-spacing: -1px;
}
i.pw-monogram.pw-monogram-3::after {
  font-size: 60% !important;
  transform: translate(-50%, -50%) scaleY(1.5);
}
i.pw-monogram.pw-monogram-2::after {
  font-size: 80% !important;
  transform: translate(-50%, -50%) scaleY(1.3);
}
i.pw-monogram.pw-monogram-1::after {
  font-size: 100%;
  transform: translate(-50%, -50%) scaleY(1.1);
}
i.pw-monogram::before {
  content: "";
  position: absolute;
  top: 0.5rem;
  bottom: 0.5rem;
  left: 0.5rem;
  right: 0.5rem;
  border-radius: 50%;
  z-index: 1;
  background-color: var(--bs-secondary-bg);
}
[data-bs-theme=dark] i.pw-monogram::before {
  background-color: var(--bs-tertiary-bg);
}
.bg-body-tertiary i.pw-monogram::before {
  background-color: var(--bs-secondary-bg) !important;
}
i.pw-monogram::after {
  content: attr(title);
  position: absolute;
  top: 50%;
  left: 50%;
  transform: translate(-50%, -50%);
  color: var(--bs-tertiary-color);
  z-index: 2;
}

.pw-resizable-x {
  position: relative;
  min-width: 20%;
  max-width: 80%;
}
.pw-resizable-x .pw-resizer-x {
  position: absolute;
  right: -0.25rem;
  top: 0;
  bottom: 0;
  width: 0.75rem;
  cursor: col-resize;
  z-index: 10;
}
.pw-resizable-x .pw-resizer-x:hover {
  background-color: rgba(100, 100, 100, 0.25);
}
.pw-resizable-x.right::after {
  right: unset;
  left: -0.5rem;
}

.pw-infotip {
  padding: 1rem 1rem 1rem 4.5rem;
  margin-bottom: 1rem;
  color: var(--bs-secondary-text-emphasis);
  background-color: var(--bs-secondary-bg-subtle);
  border-radius: 0.5rem;
  position: relative;
}
.pw-infotip::before {
  position: absolute;
  left: 1.5rem;
  top: 50%;
  transform: translateY(-50%);
  content: "i";
  font-family: monospace;
  font-size: 1.125rem;
  font-weight: bold;
  display: inline-block;
  width: 1.5rem;
  height: 1.5rem;
  line-height: 1.5rem;
  background-color: var(--bs-secondary-text-emphasis);
  color: var(--bs-secondary-bg-subtle);
  border-radius: 50%;
  text-align: center;
  margin-right: 1rem;
  opacity: 0.75;
}

.fg9 {
  --cols: 1;
  display: grid;
  justify-content: space-between;
  grid-template-columns: repeat(var(--cols), 9rem);
}
@container (min-width: 18rem) {
  .fg9:has(> :last-child:nth-child(3)) {
    --cols: 2;
  }
  .fg9:has(> :last-child:nth-child(4)) {
    --cols: 2;
  }
  .fg9:has(> :last-child:nth-child(5)) {
    --cols: 2;
  }
  .fg9:has(> :last-child:nth-child(6)) {
    --cols: 2;
  }
  .fg9:has(> :last-child:nth-child(7)) {
    --cols: 2;
  }
  .fg9:has(> :last-child:nth-child(8)) {
    --cols: 2;
  }
  .fg9:has(> :last-child:nth-child(9)) {
    --cols: 2;
  }
  .fg9:has(> :last-child:nth-child(10)) {
    --cols: 2;
  }
  .fg9:has(> :last-child:nth-child(11)) {
    --cols: 2;
  }
  .fg9:has(> :last-child:nth-child(12)) {
    --cols: 2;
  }
  .fg9:has(> :last-child:nth-child(13)) {
    --cols: 2;
  }
  .fg9:has(> :last-child:nth-child(14)) {
    --cols: 2;
  }
  .fg9:has(> :last-child:nth-child(15)) {
    --cols: 2;
  }
  .fg9:has(> :last-child:nth-child(16)) {
    --cols: 2;
  }
  .fg9:has(> :last-child:nth-child(17)) {
    --cols: 2;
  }
  .fg9:has(> :last-child:nth-child(18)) {
    --cols: 2;
  }
  .fg9:has(> :last-child:nth-child(19)) {
    --cols: 2;
  }
  .fg9:has(> :last-child:nth-child(20)) {
    --cols: 2;
  }
}
@container (min-width: 27rem) {
  .fg9:has(> :last-child:nth-child(3)) {
    --cols: 3;
  }
  .fg9:has(> :last-child:nth-child(5)) {
    --cols: 3;
  }
  .fg9:has(> :last-child:nth-child(6)) {
    --cols: 3;
  }
  .fg9:has(> :last-child:nth-child(7)) {
    --cols: 3;
  }
  .fg9:has(> :last-child:nth-child(8)) {
    --cols: 3;
  }
  .fg9:has(> :last-child:nth-child(9)) {
    --cols: 3;
  }
  .fg9:has(> :last-child:nth-child(10)) {
    --cols: 3;
  }
  .fg9:has(> :last-child:nth-child(11)) {
    --cols: 3;
  }
  .fg9:has(> :last-child:nth-child(12)) {
    --cols: 3;
  }
  .fg9:has(> :last-child:nth-child(13)) {
    --cols: 3;
  }
  .fg9:has(> :last-child:nth-child(14)) {
    --cols: 3;
  }
  .fg9:has(> :last-child:nth-child(15)) {
    --cols: 3;
  }
  .fg9:has(> :last-child:nth-child(16)) {
    --cols: 3;
  }
  .fg9:has(> :last-child:nth-child(17)) {
    --cols: 3;
  }
  .fg9:has(> :last-child:nth-child(18)) {
    --cols: 3;
  }
  .fg9:has(> :last-child:nth-child(19)) {
    --cols: 3;
  }
  .fg9:has(> :last-child:nth-child(20)) {
    --cols: 3;
  }
}
@container (min-width: 36rem) {
  .fg9:has(> :last-child:nth-child(4)) {
    --cols: 4;
  }
  .fg9:has(> :last-child:nth-child(7)) {
    --cols: 4;
  }
  .fg9:has(> :last-child:nth-child(8)) {
    --cols: 4;
  }
  .fg9:has(> :last-child:nth-child(10)) {
    --cols: 4;
  }
  .fg9:has(> :last-child:nth-child(11)) {
    --cols: 4;
  }
  .fg9:has(> :last-child:nth-child(12)) {
    --cols: 4;
  }
  .fg9:has(> :last-child:nth-child(13)) {
    --cols: 4;
  }
  .fg9:has(> :last-child:nth-child(14)) {
    --cols: 4;
  }
  .fg9:has(> :last-child:nth-child(15)) {
    --cols: 4;
  }
  .fg9:has(> :last-child:nth-child(16)) {
    --cols: 4;
  }
  .fg9:has(> :last-child:nth-child(17)) {
    --cols: 4;
  }
  .fg9:has(> :last-child:nth-child(18)) {
    --cols: 4;
  }
  .fg9:has(> :last-child:nth-child(19)) {
    --cols: 4;
  }
  .fg9:has(> :last-child:nth-child(20)) {
    --cols: 4;
  }
}
@container (min-width: 45rem) {
  .fg9:has(> :last-child:nth-child(5)) {
    --cols: 5;
  }
  .fg9:has(> :last-child:nth-child(9)) {
    --cols: 5;
  }
  .fg9:has(> :last-child:nth-child(10)) {
    --cols: 5;
  }
  .fg9:has(> :last-child:nth-child(13)) {
    --cols: 5;
  }
  .fg9:has(> :last-child:nth-child(14)) {
    --cols: 5;
  }
  .fg9:has(> :last-child:nth-child(15)) {
    --cols: 5;
  }
  .fg9:has(> :last-child:nth-child(17)) {
    --cols: 5;
  }
  .fg9:has(> :last-child:nth-child(18)) {
    --cols: 5;
  }
  .fg9:has(> :last-child:nth-child(19)) {
    --cols: 5;
  }
  .fg9:has(> :last-child:nth-child(20)) {
    --cols: 5;
  }
}
@container (min-width: 54rem) {
  .fg9:has(> :last-child:nth-child(6)) {
    --cols: 6;
  }
  .fg9:has(> :last-child:nth-child(11)) {
    --cols: 6;
  }
  .fg9:has(> :last-child:nth-child(12)) {
    --cols: 6;
  }
  .fg9:has(> :last-child:nth-child(16)) {
    --cols: 6;
  }
  .fg9:has(> :last-child:nth-child(17)) {
    --cols: 6;
  }
  .fg9:has(> :last-child:nth-child(18)) {
    --cols: 6;
  }
}
@container (min-width: 63rem) {
  .fg9:has(> :last-child:nth-child(7)) {
    --cols: 7;
  }
  .fg9:has(> :last-child:nth-child(13)) {
    --cols: 7;
  }
  .fg9:has(> :last-child:nth-child(14)) {
    --cols: 7;
  }
  .fg9:has(> :last-child:nth-child(19)) {
    --cols: 7;
  }
  .fg9:has(> :last-child:nth-child(20)) {
    --cols: 7;
  }
}
@container (min-width: 72rem) {
  .fg9:has(> :last-child:nth-child(8)) {
    --cols: 8;
  }
  .fg9:has(> :last-child:nth-child(15)) {
    --cols: 8;
  }
  .fg9:has(> :last-child:nth-child(16)) {
    --cols: 8;
  }
}
@container (min-width: 81rem) {
  .fg9:has(> :last-child:nth-child(9)) {
    --cols: 9;
  }
  .fg9:has(> :last-child:nth-child(17)) {
    --cols: 9;
  }
  .fg9:has(> :last-child:nth-child(18)) {
    --cols: 9;
  }
}
@container (min-width: 90rem) {
  .fg9:has(> :last-child:nth-child(10)) {
    --cols: 10;
  }
  .fg9:has(> :last-child:nth-child(19)) {
    --cols: 10;
  }
  .fg9:has(> :last-child:nth-child(20)) {
    --cols: 10;
  }
}
@container (min-width: 99rem) {
  .fg9:has(> :last-child:nth-child(11)) {
    --cols: 11;
  }
}
.fg9:has(> :nth-child(21)) {
  grid-template-columns: repeat(auto-fill, minmax(9rem, 1fr));
}
@supports not selector(:has(*)) {
  .fg9 {
    grid-template-columns: repeat(auto-fill, minmax(9rem, 1fr));
  }
}

/*
    HTML Structure:
    <div class="pw-form-grid">
        <h2 class="field-row">Optional Heading</h2>
        <label>Name</label>
        <div class="field"><input type="text" /></div>
        <div class="field-group">
            <label>Email</label>
            <div class="field"><input type="email" /></div>
            <label>Mobile</label>
            <div class="field"><input type="text" /></div>
        </div>
    <div>
*/
.pw-form-grid {
  display: grid;
  grid-template-columns: 1fr;
  --pw-form-label-width: 7.5rem;
}
.pw-form-grid > label, .pw-form-grid > .field-group > label {
  padding-top: calc(0.375rem + var(--bs-border-width));
  padding-bottom: calc(0.375rem + var(--bs-border-width));
  margin: 0.5rem 0 0 0;
  font-size: inherit;
  font-weight: 600;
  color: var(--bs-secondary-color);
  line-height: 1.5;
}
.pw-form-grid .field {
  position: relative;
}
.pw-form-grid .field-row {
  grid-column: 1/-1;
}
.pw-form-grid > .field-group {
  display: grid;
  grid-column: 1/-1;
  grid-template-columns: subgrid;
}
@media (min-width: 576px) {
  .pw-form-grid {
    grid-template-columns: minmax(var(--pw-form-label-width), max-content) 1fr;
    gap: 1rem;
  }
  .pw-form-grid > label, .pw-form-grid > .field-group > label {
    text-align: right;
    margin: 0;
  }
  .pw-form-grid > .field-group {
    gap: 1rem;
  }
}
.pw-form-grid [data-lastpass-icon-root] {
  display: none !important;
}

.toast {
  align-items: center;
}
.toast i.toast-icon {
  font-size: 1.5rem;
  display: none;
  padding: 0 0.5rem;
}
.toast.toast-info i.pi-information-2-fill {
  /*display: inline-flex;*/
  display: inline;
  color: var(--bs-info);
}
.toast.toast-success i.pi-checkbox-circle-fill {
  display: inline;
  color: var(--bs-success);
}
.toast.toast-warning i.pi-error-warning-fill {
  display: inline;
  color: var(--bs-warning);
}
.toast.toast-danger i.pi-close-circle-fill {
  display: inline;
  color: var(--bs-danger);
}

#theModal {
  display: flex;
  align-items: center;
}
#theModal > .modal-dialog {
  margin: 0 auto;
}
#theModal > .modal-dialog > .modal-content {
  width: 100%;
  height: 100%;
  overflow: hidden;
}
#theModal > .modal-dialog > .modal-content > .modal-header {
  padding: 0.25rem 0.5rem;
}
#theModal > .modal-dialog > .modal-content > .modal-body {
  padding: 0;
}

#homeHero {
  position: relative;
  width: 100%;
  height: 50vw;
  max-height: 720px;
  min-height: 600px;
  overflow: hidden;
  color: #ffffff;
  background-image: url(/Redux/assets/images/home/home-background.jpg);
  background-size: cover;
  background-repeat: no-repeat;
  background-position: center center;
  z-index: 1;
}
#homeHero video {
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  max-height: 800px;
  z-index: 2;
  object-fit: cover;
  object-position: center;
  margin: auto 0;
}
#homeHero::before {
  content: "";
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  background: linear-gradient(90deg, rgba(0, 0, 0, 0.5) 50%, rgba(0, 0, 0, 0) 100%);
  /*opacity: 0.65;*/
  z-index: 3;
}
#homeHero .container {
  height: 100%;
  position: relative;
  z-index: 4;
}
#homeHero .container .row {
  height: 100%;
}
#homeHero .container h1 {
  color: #ffffff;
  font-size: min(1.5rem + 2vw, 3.5rem);
}
#homeHero .banner-content {
  border-radius: 0.5rem;
  text-shadow: rgb(0, 0, 0) 0px 0px 1rem;
}
#homeHero #homeSearch {
  transition: all ease 0.5s;
  background: rgba(223, 235, 242, 0.3);
  border: 0.25rem solid #fff;
  border-radius: 10px;
}
[data-bs-theme=dark] #homeHero #homeSearch {
  background: rgba(64, 64, 64, 0.6);
}
#homeHero #homeSearch input, #homeHero #homeSearch button, #homeHero #homeSearch .btn {
  width: 100%;
}
#homeHero #homeSearch label.btn {
  border-color: var(--pw-primary-color);
  background-color: rgba(0, 103, 102, 0.4);
  color: #ddd;
}
#homeHero #homeSearch .btn-check:checked + .btn {
  background-color: var(--pw-primary-color);
  color: white;
}
#homeHero #homeSearch button.btn {
  line-height: 2rem;
}

#homeProjects ul > li > figure {
  font-size: 1rem;
  margin: 0;
  color: var(--bs-secondary-color);
  background-color: var(--bs-secondary-bg);
  position: relative;
  border-radius: 0.375rem;
  overflow: clip;
}
[data-bs-theme=dark] #homeProjects ul > li > figure {
  background-color: var(--bs-dark-bg-subtle);
}
#homeProjects ul > li > figure figcaption {
  margin: 0;
  padding: 0.375rem;
  display: flex;
  justify-content: space-between;
  flex-wrap: wrap;
  white-space: nowrap;
  /*position: absolute;
  left: 0;
  bottom: 0;
  right: 0;
  color: white;
  background-color: rgba(50, 50, 50, 0.75);*/
}
#homeProjects ul > li > figure figcaption > h4 {
  color: var(--bs-body-color);
  font-size: 1rem;
  font-weight: 600;
  line-height: 1.25rem;
  margin: 0;
  overflow: hidden;
  text-overflow: ellipsis;
}
#homeProjects ul > li > figure figcaption > h5 {
  color: var(--bs-secondary-color);
  font-size: 0.875rem;
  font-weight: 500;
  line-height: 1.25rem;
  margin: 0;
  overflow: hidden;
  text-overflow: ellipsis;
}
#homeProjects ul > li > figure img {
  width: 100%;
  /*height: 10rem;*/
  aspect-ratio: 1.5;
  object-fit: cover;
}
#homeProjects ul > li > figure span {
  position: absolute;
  top: 0.25rem;
  padding: 0 0.375rem;
  color: white;
  background-color: rgba(10, 10, 10, 0.5);
  border-radius: 0.25rem;
}
#homeProjects ul > li > figure .listing-type {
  left: 0.25rem;
}
#homeProjects ul > li > figure .listing-price {
  right: 0.25rem;
}

#homeAgents figure {
  border-radius: 0.5rem;
  overflow: clip;
  background-color: var(--bs-body-bg);
  margin: 0;
  width: 100%;
  /*height: 100%;*/
}
#homeAgents figure a {
  display: flex;
  gap: 0;
  color: var(--bs-body-color);
}
#homeAgents figure a img, #homeAgents figure a i {
  width: 6rem;
  height: 6rem;
  font-size: 4rem;
  object-fit: cover;
  /*background-color: #f4fafe;*/
}
#homeAgents figure a > figcaption {
  flex-grow: 1;
  padding: 0rem 0 0 0.75rem;
  overflow: hidden;
}
#homeAgents figure a > figcaption > h4, #homeAgents figure a > figcaption > h5, #homeAgents figure a > figcaption > h6 {
  font-size: 0.75rem;
  font-weight: normal;
  color: var(--bs-secondary-color);
  margin: 0;
  white-space: nowrap;
  overflow: hidden;
  text-overflow: ellipsis;
  line-height: 1.375rem;
  max-width: 100%;
}
#homeAgents figure a > figcaption > h4 {
  font-size: 1.125rem;
  line-height: 1.875rem;
  font-weight: 600;
  color: var(--bs-body-color);
}
#homeAgents figure a > figcaption > h6:last-child {
  display: flex;
  justify-content: space-between;
  padding-right: 0.5rem;
  /*background-color: var(--bs-secondary-bg);
  border-radius: 0.25rem;
  overflow: hidden;*/
}
#homeAgents img {
  width: 100%;
}

#homeCity {
  background-color: var(--bs-tertiary-bg);
}
#homeCity a:not(:hover) {
  color: var(--bs-body-color);
}
#homeCity #homeCitySummary {
  columns: 2 30rem;
  column-gap: 1.5rem;
  text-align: justify;
}
#homeCity #homeCitySummary ul {
  padding-left: 1.25rem;
}

#homeExplore {
  text-align: center;
}
#homeExplore .home-explore-box {
  padding: 0 1.5rem;
}
#homeExplore .home-explore-box img {
  width: 100%;
}
#homeExplore .home-explore-box P {
  color: var(--bs-secondary-color);
}

.home-section .container-fluid > header {
  display: flex;
  justify-content: space-between;
  margin-bottom: 0.75rem;
}
.home-section .container-fluid > header h3 {
  font-size: 1.5rem;
  margin: 0;
}
.home-section .container-fluid > header h3 small, .home-section .container-fluid > header h3 span {
  color: var(--bs-secondary-color);
  font-weight: 600;
}
.home-section .container-fluid > header h3 small:not(:empty)::before {
  content: "—";
  margin: 0 0.5rem;
}
.home-section h4 {
  font-size: 1.25rem;
}
.home-section h5 {
  font-size: 1.125rem;
}

.featured-listings {
  transition: all ease 0.5s;
  background-color: var(--bs-body-bg);
}
.featured-listings:nth-child(odd) {
  background-color: var(--bs-secondary-bg);
}

.featured-articles figure {
  width: 100%;
  margin: 0;
}
.featured-articles figure > a {
  position: relative;
}
.featured-articles figure > a > img {
  width: 100%;
  /* height: 10rem; */
  aspect-ratio: 1.77;
  object-fit: cover;
}
.featured-articles figure > a > label {
  position: absolute;
  bottom: 0.25rem;
  right: 0.25rem;
  background-color: rgba(50, 50, 50, 0.66);
  color: white;
  font-size: 0.875rem;
  border-radius: 0.25rem;
  padding: 0 0.25rem;
}
.featured-articles figure h5 {
  font-size: 1rem;
  font-weight: 600;
}
.featured-articles figure .card-text {
  font-size: 0.875rem;
  color: var(--bs-secondary-color);
}
.featured-articles figure .card-footer {
  display: flex;
  justify-content: space-between;
  font-size: 0.875rem;
}
.featured-articles figure .card-footer time {
  color: var(--bs-secondary-color);
}

.page-default #driver-popover-content {
  max-width: 400px;
}

#searchFilters {
  /*height: 4rem;*/
  display: flex;
  flex-wrap: wrap;
  justify-content: center;
  margin: 0;
  padding: 0.5rem 0 0 0.5rem;
  background-color: rgba(var(--bs-tertiary-bg-rgb));
  position: -webkit-sticky;
  position: sticky;
  top: 0;
  z-index: 100;
}
@media (min-width: 576px) {
  #searchFilters {
    position: -webkit-sticky;
    position: sticky;
    top: 4rem;
    z-index: 100;
  }
}
#searchFilters > .btn {
  margin: 0 0.5rem 0.5rem 0;
}
#searchFilters > label {
  padding: 0.125rem 0.25rem;
  color: var(--bs-body-color);
  display: flex;
  align-items: center;
}
#searchFilters > label span {
  display: none;
  color: var(--bs-secondary-color);
  margin-right: 0.25rem;
}
#searchFilters > button {
  padding: 0.125rem 0.5rem;
  order: 2;
}

#propertyListContainer {
  display: flex;
  gap: 1rem;
}
#propertyListContainer #propertyListMapCol {
  width: 50%;
  flex-shrink: 0;
}
#propertyListContainer #propertyListMapCol #propertyListMap:after {
  content: " ";
  position: absolute;
  top: calc(50% - 1.5rem);
  right: 2px;
  width: 3px;
  height: 3rem;
  cursor: col-resize;
  z-index: 9;
  border-left: 1px solid var(--bs-tertiary-color);
  border-right: 1px solid var(--bs-tertiary-color);
}
@media (min-width: 992px) {
  #propertyListContainer #propertyListMapCol {
    width: 25%;
    max-width: 50%;
  }
}
@media (min-width: 1200px) {
  #propertyListContainer #propertyListMapCol {
    width: 33%;
    max-width: 66%;
  }
}
@media (min-width: 1400px) {
  #propertyListContainer #propertyListMapCol {
    width: 50%;
    max-width: 75%;
  }
}
#propertyListContainer #propertyListMapCol::after {
  content: " ";
  position: absolute;
  top: 0;
  bottom: 0;
  right: -10px;
  width: 10px;
  z-index: 8;
  box-shadow: rgba(0, 0, 0, 0.4) -5px 0px 5px -3px;
}
#propertyListContainer #propertyListMap {
  width: 100%;
  height: calc(100vh - 8rem);
  max-height: calc(100vh - 8rem);
}
@media (min-width: 992px) {
  #propertyListContainer #propertyListMap {
    position: -webkit-sticky;
    position: sticky;
    top: 8rem;
    z-index: 0;
  }
}
#propertyListContainer #propertyListCol {
  flex-grow: 1;
  /*box-shadow: rgba(0, 0, 0, 0.4) -5px 0px 5px -3px;*/
  z-index: 3;
}
#propertyListContainer #propertyListCol > header, #propertyListContainer #propertyListCol > footer {
  padding: 0.5rem 0;
  color: var(--bs-secondary-color);
}
#propertyListContainer #propertyListCol > header h2, #propertyListContainer #propertyListCol > footer h2 {
  margin: 0 0 1rem 0;
}
#propertyListContainer #propertyListCol > header p, #propertyListContainer #propertyListCol > footer p {
  font-size: 0.875rem;
}
@media (max-width: 991.98px) {
  #propertyListContainer #propertyListCol #breadcrumb {
    display: none;
  }
}

.listings {
  --listing-no-photo-size: 9rem;
  display: flex;
  flex-wrap: wrap;
  font-size: 1rem;
  margin: 0;
  padding: 0;
  overflow: hidden;
  font-size: 0.875rem;
}
.listings > nav {
  width: 100%;
  padding: 0;
  display: flex;
  justify-content: space-between;
}
.listings > nav ul {
  margin: 0;
}
.listings .listings-header {
  margin: 0 0 0.5rem 0;
}
.listings .listings-sort .active {
  cursor: default;
}
.listings .listings-layout {
  display: none;
}
.listings > .listings-body {
  display: grid;
  grid-template-columns: repeat(auto-fill, minmax(20rem, 1fr));
  gap: 1rem;
  width: 100%;
  margin: 0 0 0.5rem 0;
}
.listings > .listings-body > article.listing {
  margin: 0;
  padding: 0;
  transition: all ease 0.5s;
  order: 2;
  display: flex;
  flex-direction: column;
  position: relative;
  border-radius: 0.375rem;
  overflow: hidden;
  background-color: #f5f5f5;
}
[data-bs-theme=dark] .listings > .listings-body > article.listing {
  background-color: #222;
}
.listings > .listings-body > article.listing figure {
  position: relative;
  width: 100%;
  margin: 0;
  font-size: 1rem;
  background-color: var(--bs-secondary-bg);
}
.listings > .listings-body > article.listing figure img {
  width: 100%;
  height: 100%;
  aspect-ratio: 1.5;
  object-fit: cover;
}
.listings > .listings-body > article.listing figure > a:has(i) {
  display: flex;
  width: 100%;
  height: 100%;
  aspect-ratio: 1.5;
}
.listings > .listings-body > article.listing figure > a:has(i) > i {
  color: var(--bs-tertiary-color);
  display: block;
  margin: auto;
  width: var(--listing-no-photo-size);
  height: var(--listing-no-photo-size);
  line-height: var(--listing-no-photo-size);
  text-align: center;
  font-size: var(--listing-no-photo-size);
  opacity: 0.5;
}
.listings > .listings-body > article.listing figure .property-price {
  position: absolute;
  bottom: 0.25rem;
  right: 0.25rem;
  background-color: rgba(25, 25, 25, 0.25);
  color: #fff;
  text-shadow: 0 0 3px black, 0 0 4px black;
  border: 0;
  border-radius: 0.375rem;
  padding: 0 0.25rem;
}
.listings > .listings-body > article.listing figure nav {
  position: absolute;
  top: 0;
  left: 0;
  right: 0;
  min-width: 2rem;
  margin: 0;
  padding: 0;
}
.listings > .listings-body > article.listing figure nav .btn {
  width: 1.5rem;
  height: 1.5rem;
  padding: 0;
  margin: 0.25rem;
  color: #fff;
  background-color: rgba(255, 255, 255, 0.1);
  border: 0;
  border-radius: 0.375rem;
  font-size: 1.25rem;
  line-height: 1.25rem;
  text-shadow: 0 0 3px black;
  /*[data-bs-theme=dark] & {
  	filter: invert(1) grayscale(100%) brightness(200%);
  }*/
}
.listings > .listings-body > article.listing figure nav .btn:hover {
  text-decoration: none;
  box-shadow: 0 0 0 0.125rem rgba(225, 225, 253, 0.5);
}
.listings > .listings-body > article.listing figure nav .btn:focus {
  outline: 0;
  box-shadow: 0 0 0 0.25rem rgba(225, 225, 253, 0.5);
}
.listings > .listings-body > article.listing figure nav .btn > i {
  margin: 0;
}
.listings > .listings-body > article.listing figure nav .btn .pi-heart-fill {
  display: none;
  color: #a83c2f;
}
.listings > .listings-body > article.listing section {
  padding: 0.5rem;
  /*a {
      color: var(--bs-emphasis-color);

      &:hover {
          text-decoration: underline;
      }
  }*/
}
.listings > .listings-body > article.listing section > header {
  margin-bottom: 0.5rem;
  display: flex;
  justify-content: space-between;
  width: 100%;
}
.listings > .listings-body > article.listing section > header h3, .listings > .listings-body > article.listing section > header h4 {
  margin: 0;
  font-size: 1rem;
  font-weight: 600;
  white-space: nowrap;
  overflow: hidden;
  text-overflow: ellipsis;
  flex-shrink: 0;
}
.listings > .listings-body > article.listing section > header h3 b, .listings > .listings-body > article.listing section > header h4 b {
  font-weight: 700;
}
.listings > .listings-body > article.listing section > header h4 {
  font-size: 0.875rem;
  font-weight: 500;
  color: var(--bs-secondary-color);
  padding-left: 0.5rem;
  flex-shrink: 1;
}
.listings > .listings-body > article.listing section > ul {
  flex-wrap: wrap;
  margin-bottom: 0.5rem;
  overflow: hidden;
}
.listings > .listings-body > article.listing section > ul li {
  min-width: 6rem;
  padding: 0;
  margin: 0.25rem 0 0.25rem 0.5rem;
}
.listings > .listings-body > article.listing section > ul li label {
  color: var(--bs-secondary-color) !important;
  opacity: 0.75;
  display: block;
}
.listings > .listings-body > article.listing section > ul li a {
  color: var(--bs-body-color);
}
.listings > .listings-body > article.listing section > ul li:first-child {
  border-right: none;
}
.listings > .listings-body > article.listing section > div {
  display: -webkit-box;
  -webkit-line-clamp: 3; /* Number of lines */
  -webkit-box-orient: vertical;
  overflow: hidden;
  text-overflow: ellipsis;
  margin-bottom: 0.5rem;
}
.listings > .listings-body > article.listing section > div > h4 {
  font-size: 0.75rem;
}
.listings > .listings-body > article.listing section > footer {
  color: var(--bs-secondary-color);
}
.listings > .listings-body > article.listing section > footer > .btn {
  white-space: nowrap;
  overflow: hidden;
  min-width: 6rem;
}
.listings > .listings-body > article.listing section .listings-listview-only {
  display: none;
}
.listings > .listings-body > article.listing section .listing-price {
  font-weight: 600;
}
.listings > .listings-body > article.listing.search-featured {
  order: 1;
}
.listings > .listings-body > article.listing.search-featured figure > a::after {
  content: "Featured";
  position: absolute;
  bottom: 0.25rem;
  left: 0.25rem;
  background-color: rgba(25, 25, 25, 0.25);
  color: #fff;
  text-shadow: 0 0 3px black, 0 0 4px black;
  border: 0;
  border-radius: 0.375rem;
  padding: 0 0.25rem;
}
.listings > .listings-body > article.listing.no-photo {
  order: 3;
}

.listing.wishlist .pi-heart-fill {
  display: inline !important;
  margin: 0;
}
.listing.wishlist .pi-heart-line {
  display: none !important;
  margin: 0;
}

.listing.hiddenlist {
  cursor: pointer;
  text-align: center;
  display: block !important;
  min-height: 2rem;
}
.listing.hiddenlist > * {
  display: none !important;
}
.listing.hiddenlist::after {
  content: "This listing has been hidden by you [Show]";
  position: absolute;
  top: calc(50% - 0.5rem);
  left: 0;
  right: 0;
}

#searchForm button.btn, #searchForm .btn-group {
  width: 100%;
}

@media (min-width: 576px) {
  #searchFilters > label span {
    display: inline;
  }
  .listings > .listing {
    width: 50%;
  }
}
@media (min-width: 992px) {
  #searchFilters {
    padding: 0.5rem 0 0 0.5rem;
    height: 4rem;
  }
  #searchFilters > label {
    padding: 0.25rem 0.5rem;
  }
  #searchFilters > button {
    padding: 0.25rem 0.75rem;
  }
  .listings .listings-layout {
    display: inline-flex;
  }
  .listings.listings-listview > .listings-body {
    grid-template-columns: repeat(1, 100%);
  }
  .listings.listings-listview > .listings-body > .listing {
    flex-direction: row;
  }
  .listings.listings-listview > .listings-body > .listing .listings-listview-only {
    display: block;
  }
  .listings.listings-listview > .listings-body > .listing > figure {
    width: 33%;
    max-width: 18rem;
    flex-basis: 25%;
    flex-shrink: 0;
  }
  .listings.listings-listview > .listings-body > .listing > section ul {
    flex-wrap: nowrap;
  }
}
@media (min-width: 1400px) {
  .listings > .listing {
    width: 33.33%;
  }
}
.page-properties {
  --pw-container-width: 3000px;
}

.page-projects {
  --pw-container-width: 3000px;
}

.page-directory .listings {
  padding: 0;
}
.page-directory .listings > .listings-body > article.listing figure img {
  aspect-ratio: 2;
}

.page-requirements .listings {
  padding: 0;
}
.page-requirements .listings > .listings-body > .listing h3 {
  font-weight: 700;
}
.page-requirements .listings > .listings-body > .listing ul > li {
  width: 10rem;
}

.page-viewproperty #breadcrumb, .page-viewproject #breadcrumb, .page-viewrequirement #breadcrumb, .page-viewlocality #breadcrumb {
  font-size: 0.875rem;
  margin: 0.5rem 0;
}
.page-viewproperty #breadcrumb .breadcrumb, .page-viewproject #breadcrumb .breadcrumb, .page-viewrequirement #breadcrumb .breadcrumb, .page-viewlocality #breadcrumb .breadcrumb {
  display: inline;
}
.page-viewproperty #breadcrumb .breadcrumb-item, .page-viewproject #breadcrumb .breadcrumb-item, .page-viewrequirement #breadcrumb .breadcrumb-item, .page-viewlocality #breadcrumb .breadcrumb-item {
  display: inline;
}
.page-viewproperty #breadcrumb .breadcrumb-item + .breadcrumb-item::before, .page-viewproject #breadcrumb .breadcrumb-item + .breadcrumb-item::before, .page-viewrequirement #breadcrumb .breadcrumb-item + .breadcrumb-item::before, .page-viewlocality #breadcrumb .breadcrumb-item + .breadcrumb-item::before {
  float: none;
}

#propertyListing, #projectListing, #requirementListing, #userListing, #localityListing {
  container-type: inline-size;
  margin: 0.5rem 0;
}
#propertyListing .listing-content, #projectListing .listing-content, #requirementListing .listing-content, #userListing .listing-content, #localityListing .listing-content {
  container-type: inline-size;
}
#propertyListing .listing-section, #projectListing .listing-section, #requirementListing .listing-section, #userListing .listing-section, #localityListing .listing-section {
  margin: 0 0 1.5rem 0;
}
#propertyListing .listing-section h3:not(article article *), #projectListing .listing-section h3:not(article article *), #requirementListing .listing-section h3:not(article article *), #userListing .listing-section h3:not(article article *), #localityListing .listing-section h3:not(article article *) {
  font-size: calc(1.25rem + 0.5 * (100vw - 400px) / 75);
  color: var(--bs-body-color);
}
@media (min-width: 1600px) {
  #propertyListing .listing-section h3:not(article article *), #projectListing .listing-section h3:not(article article *), #requirementListing .listing-section h3:not(article article *), #userListing .listing-section h3:not(article article *), #localityListing .listing-section h3:not(article article *) {
    font-size: 1.75rem;
  }
}
#propertyListing .listing-section h4:not(article article *), #projectListing .listing-section h4:not(article article *), #requirementListing .listing-section h4:not(article article *), #userListing .listing-section h4:not(article article *), #localityListing .listing-section h4:not(article article *) {
  font-size: calc(1.125rem + 0.375 * (100vw - 400px) / 75);
  color: var(--bs-secondary-color);
  margin: 0.5rem 0;
}
@media (min-width: 1600px) {
  #propertyListing .listing-section h4:not(article article *), #projectListing .listing-section h4:not(article article *), #requirementListing .listing-section h4:not(article article *), #userListing .listing-section h4:not(article article *), #localityListing .listing-section h4:not(article article *) {
    font-size: 1.5rem;
  }
}
#propertyListing .listing-section h5:not(article article *), #projectListing .listing-section h5:not(article article *), #requirementListing .listing-section h5:not(article article *), #userListing .listing-section h5:not(article article *), #localityListing .listing-section h5:not(article article *) {
  font-size: calc(1rem + 0.375 * (100vw - 400px) / 75);
  color: var(--bs-secondary-color);
  margin: 0.5rem 0;
}
@media (min-width: 1600px) {
  #propertyListing .listing-section h5:not(article article *), #projectListing .listing-section h5:not(article article *), #requirementListing .listing-section h5:not(article article *), #userListing .listing-section h5:not(article article *), #localityListing .listing-section h5:not(article article *) {
    font-size: 1.375rem;
  }
}
#propertyListing .listing-section h6:not(article article *), #projectListing .listing-section h6:not(article article *), #requirementListing .listing-section h6:not(article article *), #userListing .listing-section h6:not(article article *), #localityListing .listing-section h6:not(article article *) {
  font-size: calc(1rem + 0.25 * (100vw - 400px) / 75);
  color: var(--bs-secondary-color);
  margin: 0.5rem 0;
}
@media (min-width: 1600px) {
  #propertyListing .listing-section h6:not(article article *), #projectListing .listing-section h6:not(article article *), #requirementListing .listing-section h6:not(article article *), #userListing .listing-section h6:not(article article *), #localityListing .listing-section h6:not(article article *) {
    font-size: 1.25rem;
  }
}
#propertyListing .listing-section h3 > small, #propertyListing .listing-section h4 > small, #projectListing .listing-section h3 > small, #projectListing .listing-section h4 > small, #requirementListing .listing-section h3 > small, #requirementListing .listing-section h4 > small, #userListing .listing-section h3 > small, #userListing .listing-section h4 > small, #localityListing .listing-section h3 > small, #localityListing .listing-section h4 > small {
  color: var(--bs-secondary-color);
}
#propertyListing .listing-section h3 > small > a:not(:hover), #propertyListing .listing-section h4 > small > a:not(:hover), #projectListing .listing-section h3 > small > a:not(:hover), #projectListing .listing-section h4 > small > a:not(:hover), #requirementListing .listing-section h3 > small > a:not(:hover), #requirementListing .listing-section h4 > small > a:not(:hover), #userListing .listing-section h3 > small > a:not(:hover), #userListing .listing-section h4 > small > a:not(:hover), #localityListing .listing-section h3 > small > a:not(:hover), #localityListing .listing-section h4 > small > a:not(:hover) {
  color: var(--bs-secondary-color);
}
#propertyListing .listing-section a:not(article article *, .btn), #projectListing .listing-section a:not(article article *, .btn), #requirementListing .listing-section a:not(article article *, .btn), #userListing .listing-section a:not(article article *, .btn), #localityListing .listing-section a:not(article article *, .btn) {
  color: var(--bs-emphasis-color);
}
#propertyListing .listing-section a:not(article article *, .btn):hover, #projectListing .listing-section a:not(article article *, .btn):hover, #requirementListing .listing-section a:not(article article *, .btn):hover, #userListing .listing-section a:not(article article *, .btn):hover, #localityListing .listing-section a:not(article article *, .btn):hover {
  color: #a83c2f;
  /*text-decoration: underline;*/
}
#propertyListing .listing-photos, #projectListing .listing-photos, #requirementListing .listing-photos, #userListing .listing-photos, #localityListing .listing-photos {
  position: relative;
  width: 100%;
  max-height: 480px;
  aspect-ratio: 2/1;
  overflow: hidden;
  border-radius: 0.5rem;
  cursor: pointer;
  margin: 0 0 1rem 0;
}
#propertyListing .listing-photos figure, #projectListing .listing-photos figure, #requirementListing .listing-photos figure, #userListing .listing-photos figure, #localityListing .listing-photos figure {
  margin: 0;
  overflow: hidden;
}
#propertyListing .listing-photos figure > img, #projectListing .listing-photos figure > img, #requirementListing .listing-photos figure > img, #userListing .listing-photos figure > img, #localityListing .listing-photos figure > img {
  width: 100%;
  height: 100%;
  object-fit: cover;
}
#propertyListing .listing-photos > div, #projectListing .listing-photos > div, #requirementListing .listing-photos > div, #userListing .listing-photos > div, #localityListing .listing-photos > div {
  width: 100%;
  height: 100%;
}
#propertyListing .listing-photos > span, #projectListing .listing-photos > span, #requirementListing .listing-photos > span, #userListing .listing-photos > span, #localityListing .listing-photos > span {
  position: absolute;
  right: 1rem;
  bottom: 1rem;
  font-size: 1.25rem;
  background-color: rgba(50, 50, 50, 0.75);
  color: white;
  text-shadow: black 0px 0px 3px, black 0px 0px 4px;
  border: 0px;
  border-radius: 0.375rem;
  padding: 0.25px 0.5rem;
}
#propertyListing .listing-photos > nav, #projectListing .listing-photos > nav, #requirementListing .listing-photos > nav, #userListing .listing-photos > nav, #localityListing .listing-photos > nav {
  position: absolute;
  right: 0.5rem;
  top: 0.5rem;
}
#propertyListing .listing-photos > nav button, #projectListing .listing-photos > nav button, #requirementListing .listing-photos > nav button, #userListing .listing-photos > nav button, #localityListing .listing-photos > nav button {
  color: white;
  font-size: 1.25rem;
  text-shadow: black 0px 0px 3px, black 0px 0px 4px;
  padding: 0px 0.5rem;
  margin: 0.25rem;
  background-color: rgba(50, 50, 50, 0.5);
}
#propertyListing .listing-photos > nav button > i, #projectListing .listing-photos > nav button > i, #requirementListing .listing-photos > nav button > i, #userListing .listing-photos > nav button > i, #localityListing .listing-photos > nav button > i {
  margin: 0;
}
#propertyListing .listing-photos > nav button .pi-heart-fill, #projectListing .listing-photos > nav button .pi-heart-fill, #requirementListing .listing-photos > nav button .pi-heart-fill, #userListing .listing-photos > nav button .pi-heart-fill, #localityListing .listing-photos > nav button .pi-heart-fill {
  display: none;
  color: rgb(168, 60, 47);
}
#propertyListing .listing-photos .listing-photos3, #projectListing .listing-photos .listing-photos3, #requirementListing .listing-photos .listing-photos3, #userListing .listing-photos .listing-photos3, #localityListing .listing-photos .listing-photos3 {
  display: grid;
  grid-template-columns: 2fr 1fr;
  grid-template-rows: auto;
  grid-template-areas: "photo1 photo2" "photo1 photo3";
  gap: 0.5rem;
}
#propertyListing .listing-photos .listing-photos3 > figure:nth-child(1), #projectListing .listing-photos .listing-photos3 > figure:nth-child(1), #requirementListing .listing-photos .listing-photos3 > figure:nth-child(1), #userListing .listing-photos .listing-photos3 > figure:nth-child(1), #localityListing .listing-photos .listing-photos3 > figure:nth-child(1) {
  grid-area: photo1;
}
#propertyListing .listing-photos .listing-photos3 > figure:nth-child(2), #projectListing .listing-photos .listing-photos3 > figure:nth-child(2), #requirementListing .listing-photos .listing-photos3 > figure:nth-child(2), #userListing .listing-photos .listing-photos3 > figure:nth-child(2), #localityListing .listing-photos .listing-photos3 > figure:nth-child(2) {
  grid-area: photo2;
}
#propertyListing .listing-photos .listing-photos3 > figure:nth-child(3), #projectListing .listing-photos .listing-photos3 > figure:nth-child(3), #requirementListing .listing-photos .listing-photos3 > figure:nth-child(3), #userListing .listing-photos .listing-photos3 > figure:nth-child(3), #localityListing .listing-photos .listing-photos3 > figure:nth-child(3) {
  grid-area: photo3;
}
#propertyListing .listing-photos .listing-photos2, #projectListing .listing-photos .listing-photos2, #requirementListing .listing-photos .listing-photos2, #userListing .listing-photos .listing-photos2, #localityListing .listing-photos .listing-photos2 {
  display: grid;
  grid-template-columns: 1fr 1fr;
  grid-template-rows: auto;
  grid-template-areas: "photo1 photo2";
  gap: 0.5rem;
}
#propertyListing .listing-photos .listing-photos2 > figure:nth-child(1), #projectListing .listing-photos .listing-photos2 > figure:nth-child(1), #requirementListing .listing-photos .listing-photos2 > figure:nth-child(1), #userListing .listing-photos .listing-photos2 > figure:nth-child(1), #localityListing .listing-photos .listing-photos2 > figure:nth-child(1) {
  grid-area: photo1;
}
#propertyListing .listing-photos .listing-photos2 > figure:nth-child(2), #projectListing .listing-photos .listing-photos2 > figure:nth-child(2), #requirementListing .listing-photos .listing-photos2 > figure:nth-child(2), #userListing .listing-photos .listing-photos2 > figure:nth-child(2), #localityListing .listing-photos .listing-photos2 > figure:nth-child(2) {
  grid-area: photo2;
}
#propertyListing .listing-photos .listing-photos1 > figure, #projectListing .listing-photos .listing-photos1 > figure, #requirementListing .listing-photos .listing-photos1 > figure, #userListing .listing-photos .listing-photos1 > figure, #localityListing .listing-photos .listing-photos1 > figure {
  width: 100%;
  height: 100%;
}
#propertyListing .listing-title, #projectListing .listing-title, #requirementListing .listing-title, #userListing .listing-title, #localityListing .listing-title {
  font-size: calc(1rem + 0.3vw);
  display: flex;
}
#propertyListing .listing-title h2, #projectListing .listing-title h2, #requirementListing .listing-title h2, #userListing .listing-title h2, #localityListing .listing-title h2 {
  font-size: calc(1.25rem + 0.75 * (100vw - 400px) / 75);
  flex-grow: 1;
  line-height: 1.5rem;
  color: var(--bs-emphasis-color);
}
@media (min-width: 1600px) {
  #propertyListing .listing-title h2, #projectListing .listing-title h2, #requirementListing .listing-title h2, #userListing .listing-title h2, #localityListing .listing-title h2 {
    font-size: 2rem;
  }
}
#propertyListing .listing-title #propertyPrice, #projectListing .listing-title #propertyPrice, #requirementListing .listing-title #propertyPrice, #userListing .listing-title #propertyPrice, #localityListing .listing-title #propertyPrice {
  line-height: 1.5rem;
  text-align: right;
  font-weight: bold;
}
#propertyListing .listing-summary, #projectListing .listing-summary, #requirementListing .listing-summary, #userListing .listing-summary, #localityListing .listing-summary {
  margin-bottom: 1rem;
  padding: 1rem 0 0 0;
  border-bottom: 1px solid var(--bs-border-color);
  border-top: 1px solid var(--bs-border-color);
  /*display: grid;
  justify-content: space-between;*/
  /*grid-template-columns: repeat(auto-fill, minmax(9rem, 1fr));*/
}
#propertyListing .listing-summary div, #projectListing .listing-summary div, #requirementListing .listing-summary div, #userListing .listing-summary div, #localityListing .listing-summary div {
  min-width: 7.5rem;
  height: 4rem;
  line-height: 1.25rem;
  overflow: clip;
}
#propertyListing .listing-summary dt, #projectListing .listing-summary dt, #requirementListing .listing-summary dt, #userListing .listing-summary dt, #localityListing .listing-summary dt {
  font-weight: 200;
  font-size: 0.75rem;
  color: var(--bs-tertiary-color);
  text-transform: uppercase;
}
#propertyListing .listing-summary dd, #projectListing .listing-summary dd, #requirementListing .listing-summary dd, #userListing .listing-summary dd, #localityListing .listing-summary dd {
  font-size: 0.875rem;
  margin: 0;
}
#propertyListing .listing-summary i, #projectListing .listing-summary i, #requirementListing .listing-summary i, #userListing .listing-summary i, #localityListing .listing-summary i {
  font-size: 1rem;
}
#propertyListing .listing-map .map-container, #projectListing .listing-map .map-container, #requirementListing .listing-map .map-container, #userListing .listing-map .map-container, #localityListing .listing-map .map-container {
  height: 20rem;
}
#propertyListing .listing-info, #projectListing .listing-info, #requirementListing .listing-info, #userListing .listing-info, #localityListing .listing-info {
  display: flex;
  justify-content: space-between;
}
> #propertyListing .listing-info div:last-child, > #projectListing .listing-info div:last-child, > #requirementListing .listing-info div:last-child, > #userListing .listing-info div:last-child, > #localityListing .listing-info div:last-child {
  text-align: right;
}
#propertyListing .listing-info dt, #projectListing .listing-info dt, #requirementListing .listing-info dt, #userListing .listing-info dt, #localityListing .listing-info dt {
  font-weight: 200;
  font-size: 0.75rem;
  color: var(--bs-tertiary-color);
}
#propertyListing .listing-info dd, #projectListing .listing-info dd, #requirementListing .listing-info dd, #userListing .listing-info dd, #localityListing .listing-info dd {
  font-size: 0.875rem;
  margin: 0 0.25rem 0 0;
}
#propertyListing .listing-contact, #projectListing .listing-contact, #requirementListing .listing-contact, #userListing .listing-contact, #localityListing .listing-contact {
  padding: 1rem;
  margin: 0 0 1rem 0;
  border-radius: var(--bs-border-radius);
  background-color: var(--bs-secondary-bg);
}
#propertyListing .listing-contact button, #projectListing .listing-contact button, #requirementListing .listing-contact button, #userListing .listing-contact button, #localityListing .listing-contact button {
  font-weight: 600;
}
#propertyListing .listing-attribute, #projectListing .listing-attribute, #requirementListing .listing-attribute, #userListing .listing-attribute, #localityListing .listing-attribute {
  margin-bottom: 0.5rem;
  display: flex;
}
#propertyListing .listing-attribute dt, #projectListing .listing-attribute dt, #requirementListing .listing-attribute dt, #userListing .listing-attribute dt, #localityListing .listing-attribute dt {
  width: 9rem;
  flex-shrink: 0;
  color: var(--bs-secondary-color);
}
#propertyListing .listing-attribute dd, #projectListing .listing-attribute dd, #requirementListing .listing-attribute dd, #userListing .listing-attribute dd, #localityListing .listing-attribute dd {
  margin: 0;
}
#propertyListing #propertyContact, #propertyListing #userContact, #projectListing #propertyContact, #projectListing #userContact, #requirementListing #propertyContact, #requirementListing #userContact, #userListing #propertyContact, #userListing #userContact, #localityListing #propertyContact, #localityListing #userContact {
  display: grid;
  grid-template-columns: 1fr 5rem;
  grid-template-rows: auto;
  grid-template-areas: "name photo" "form form";
  gap: 1rem;
  --listing-contact-photo-size: 5rem;
}
@media (min-width: 576px) {
  #propertyListing #propertyContact, #propertyListing #userContact, #projectListing #propertyContact, #projectListing #userContact, #requirementListing #propertyContact, #requirementListing #userContact, #userListing #propertyContact, #userListing #userContact, #localityListing #propertyContact, #localityListing #userContact {
    position: -webkit-sticky;
    position: sticky;
    top: 5rem;
    z-index: 100;
  }
}
#propertyListing #propertyContact .listing-contact-name, #propertyListing #userContact .listing-contact-name, #projectListing #propertyContact .listing-contact-name, #projectListing #userContact .listing-contact-name, #requirementListing #propertyContact .listing-contact-name, #requirementListing #userContact .listing-contact-name, #userListing #propertyContact .listing-contact-name, #userListing #userContact .listing-contact-name, #localityListing #propertyContact .listing-contact-name, #localityListing #userContact .listing-contact-name {
  grid-area: name;
  overflow: hidden;
  max-width: 100%;
}
#propertyListing #propertyContact .listing-contact-name h3, #propertyListing #propertyContact .listing-contact-name h4, #propertyListing #propertyContact .listing-contact-name h5, #propertyListing #userContact .listing-contact-name h3, #propertyListing #userContact .listing-contact-name h4, #propertyListing #userContact .listing-contact-name h5, #projectListing #propertyContact .listing-contact-name h3, #projectListing #propertyContact .listing-contact-name h4, #projectListing #propertyContact .listing-contact-name h5, #projectListing #userContact .listing-contact-name h3, #projectListing #userContact .listing-contact-name h4, #projectListing #userContact .listing-contact-name h5, #requirementListing #propertyContact .listing-contact-name h3, #requirementListing #propertyContact .listing-contact-name h4, #requirementListing #propertyContact .listing-contact-name h5, #requirementListing #userContact .listing-contact-name h3, #requirementListing #userContact .listing-contact-name h4, #requirementListing #userContact .listing-contact-name h5, #userListing #propertyContact .listing-contact-name h3, #userListing #propertyContact .listing-contact-name h4, #userListing #propertyContact .listing-contact-name h5, #userListing #userContact .listing-contact-name h3, #userListing #userContact .listing-contact-name h4, #userListing #userContact .listing-contact-name h5, #localityListing #propertyContact .listing-contact-name h3, #localityListing #propertyContact .listing-contact-name h4, #localityListing #propertyContact .listing-contact-name h5, #localityListing #userContact .listing-contact-name h3, #localityListing #userContact .listing-contact-name h4, #localityListing #userContact .listing-contact-name h5 {
  font-size: 0.875rem;
  font-weight: normal;
  line-height: 1.125rem;
  margin: 0.25rem 0 0 0;
  white-space: nowrap;
  text-overflow: ellipsis;
  overflow: hidden;
  max-width: 100%;
}
#propertyListing #propertyContact .listing-contact-name h3, #propertyListing #userContact .listing-contact-name h3, #projectListing #propertyContact .listing-contact-name h3, #projectListing #userContact .listing-contact-name h3, #requirementListing #propertyContact .listing-contact-name h3, #requirementListing #userContact .listing-contact-name h3, #userListing #propertyContact .listing-contact-name h3, #userListing #userContact .listing-contact-name h3, #localityListing #propertyContact .listing-contact-name h3, #localityListing #userContact .listing-contact-name h3 {
  font-size: 1rem;
  font-weight: 600;
  margin: 0;
}
#propertyListing #propertyContact .listing-contact-name a, #propertyListing #userContact .listing-contact-name a, #projectListing #propertyContact .listing-contact-name a, #projectListing #userContact .listing-contact-name a, #requirementListing #propertyContact .listing-contact-name a, #requirementListing #userContact .listing-contact-name a, #userListing #propertyContact .listing-contact-name a, #userListing #userContact .listing-contact-name a, #localityListing #propertyContact .listing-contact-name a, #localityListing #userContact .listing-contact-name a {
  color: var(--bs-body-color);
}
#propertyListing #propertyContact .listing-contact-name a:hover, #propertyListing #userContact .listing-contact-name a:hover, #projectListing #propertyContact .listing-contact-name a:hover, #projectListing #userContact .listing-contact-name a:hover, #requirementListing #propertyContact .listing-contact-name a:hover, #requirementListing #userContact .listing-contact-name a:hover, #userListing #propertyContact .listing-contact-name a:hover, #userListing #userContact .listing-contact-name a:hover, #localityListing #propertyContact .listing-contact-name a:hover, #localityListing #userContact .listing-contact-name a:hover {
  color: var(--pw-secondary-color);
}
#propertyListing #propertyContact .listing-contact-photo, #propertyListing #userContact .listing-contact-photo, #projectListing #propertyContact .listing-contact-photo, #projectListing #userContact .listing-contact-photo, #requirementListing #propertyContact .listing-contact-photo, #requirementListing #userContact .listing-contact-photo, #userListing #propertyContact .listing-contact-photo, #userListing #userContact .listing-contact-photo, #localityListing #propertyContact .listing-contact-photo, #localityListing #userContact .listing-contact-photo {
  grid-area: photo;
  text-align: right;
  overflow: hidden;
  border-radius: 0.25rem;
  background-color: var(--bs-tertiary-bg);
  display: flex;
  align-items: center;
}
#propertyListing #propertyContact .listing-contact-photo > img, #propertyListing #userContact .listing-contact-photo > img, #projectListing #propertyContact .listing-contact-photo > img, #projectListing #userContact .listing-contact-photo > img, #requirementListing #propertyContact .listing-contact-photo > img, #requirementListing #userContact .listing-contact-photo > img, #userListing #propertyContact .listing-contact-photo > img, #userListing #userContact .listing-contact-photo > img, #localityListing #propertyContact .listing-contact-photo > img, #localityListing #userContact .listing-contact-photo > img {
  width: var(--listing-contact-photo-size);
  height: var(--listing-contact-photo-size);
  object-fit: cover;
}
#propertyListing #propertyContact .listing-contact-photo > i, #propertyListing #userContact .listing-contact-photo > i, #projectListing #propertyContact .listing-contact-photo > i, #projectListing #userContact .listing-contact-photo > i, #requirementListing #propertyContact .listing-contact-photo > i, #requirementListing #userContact .listing-contact-photo > i, #userListing #propertyContact .listing-contact-photo > i, #userListing #userContact .listing-contact-photo > i, #localityListing #propertyContact .listing-contact-photo > i, #localityListing #userContact .listing-contact-photo > i {
  color: var(--bs-tertiary-color);
  display: inline-block;
  width: var(--listing-contact-photo-size);
  height: var(--listing-contact-photo-size);
  line-height: var(--listing-contact-photo-size);
  text-align: center;
  font-size: var(--listing-contact-photo-size);
  opacity: 0.5;
}
#propertyListing #propertyContact .listing-contact-form, #propertyListing #userContact .listing-contact-form, #projectListing #propertyContact .listing-contact-form, #projectListing #userContact .listing-contact-form, #requirementListing #propertyContact .listing-contact-form, #requirementListing #userContact .listing-contact-form, #userListing #propertyContact .listing-contact-form, #userListing #userContact .listing-contact-form, #localityListing #propertyContact .listing-contact-form, #localityListing #userContact .listing-contact-form {
  grid-area: form;
}
@media (max-width: 991.98px) {
  #propertyListing #propertyContact, #propertyListing #userContact, #projectListing #propertyContact, #projectListing #userContact, #requirementListing #propertyContact, #requirementListing #userContact, #userListing #propertyContact, #userListing #userContact, #localityListing #propertyContact, #localityListing #userContact {
    --listing-contact-photo-size: 3rem;
    grid-template-columns: 3rem 3fr 2fr;
    grid-template-areas: "photo name form";
    padding: 0.5rem;
    margin: 0;
    position: fixed;
    z-index: 11;
    bottom: 0;
    left: 0;
    right: 0;
    top: unset;
    border-radius: 0;
  }
  #propertyListing #propertyContact .listing-contact-name h3, #propertyListing #propertyContact .listing-contact-name h4, #propertyListing #propertyContact .listing-contact-name h5, #propertyListing #userContact .listing-contact-name h3, #propertyListing #userContact .listing-contact-name h4, #propertyListing #userContact .listing-contact-name h5, #projectListing #propertyContact .listing-contact-name h3, #projectListing #propertyContact .listing-contact-name h4, #projectListing #propertyContact .listing-contact-name h5, #projectListing #userContact .listing-contact-name h3, #projectListing #userContact .listing-contact-name h4, #projectListing #userContact .listing-contact-name h5, #requirementListing #propertyContact .listing-contact-name h3, #requirementListing #propertyContact .listing-contact-name h4, #requirementListing #propertyContact .listing-contact-name h5, #requirementListing #userContact .listing-contact-name h3, #requirementListing #userContact .listing-contact-name h4, #requirementListing #userContact .listing-contact-name h5, #userListing #propertyContact .listing-contact-name h3, #userListing #propertyContact .listing-contact-name h4, #userListing #propertyContact .listing-contact-name h5, #userListing #userContact .listing-contact-name h3, #userListing #userContact .listing-contact-name h4, #userListing #userContact .listing-contact-name h5, #localityListing #propertyContact .listing-contact-name h3, #localityListing #propertyContact .listing-contact-name h4, #localityListing #propertyContact .listing-contact-name h5, #localityListing #userContact .listing-contact-name h3, #localityListing #userContact .listing-contact-name h4, #localityListing #userContact .listing-contact-name h5 {
    margin: 0;
  }
  #propertyListing #propertyContact .listing-contact-form textarea, #propertyListing #userContact .listing-contact-form textarea, #projectListing #propertyContact .listing-contact-form textarea, #projectListing #userContact .listing-contact-form textarea, #requirementListing #propertyContact .listing-contact-form textarea, #requirementListing #userContact .listing-contact-form textarea, #userListing #propertyContact .listing-contact-form textarea, #userListing #userContact .listing-contact-form textarea, #localityListing #propertyContact .listing-contact-form textarea, #localityListing #userContact .listing-contact-form textarea {
    display: none;
  }
  #propertyListing #propertyContact .listing-contact-form button, #propertyListing #userContact .listing-contact-form button, #projectListing #propertyContact .listing-contact-form button, #projectListing #userContact .listing-contact-form button, #requirementListing #propertyContact .listing-contact-form button, #requirementListing #userContact .listing-contact-form button, #userListing #propertyContact .listing-contact-form button, #userListing #userContact .listing-contact-form button, #localityListing #propertyContact .listing-contact-form button, #localityListing #userContact .listing-contact-form button {
    margin-left: auto;
    border-radius: var(--bs-btn-border-radius);
  }
}
@media (min-width: 576px) {
  #propertyListing #projectContact, #projectListing #projectContact, #requirementListing #projectContact, #userListing #projectContact, #localityListing #projectContact {
    position: -webkit-sticky;
    position: sticky;
    top: 5rem;
    z-index: 100;
  }
}
@media (max-width: 991.98px) {
  #propertyListing #projectContact, #projectListing #projectContact, #requirementListing #projectContact, #userListing #projectContact, #localityListing #projectContact {
    padding: 0.5rem;
    margin: 0;
    position: fixed !important;
    z-index: 100;
    bottom: 0;
    left: 0;
    right: 0;
    top: auto;
    border-radius: 0;
  }
}
#propertyListing #requirementContact > div, #projectListing #requirementContact > div, #requirementListing #requirementContact > div, #userListing #requirementContact > div, #localityListing #requirementContact > div {
  display: flex;
  justify-content: space-between;
  margin-bottom: 0.5rem;
}
#propertyListing #requirementContact > div dt, #projectListing #requirementContact > div dt, #requirementListing #requirementContact > div dt, #userListing #requirementContact > div dt, #localityListing #requirementContact > div dt {
  color: var(--bs-tertiary-color);
  margin: 0;
  font-weight: 500;
}
#propertyListing #requirementContact > div dd, #projectListing #requirementContact > div dd, #requirementListing #requirementContact > div dd, #userListing #requirementContact > div dd, #localityListing #requirementContact > div dd {
  margin: 0;
}
#propertyListing #requirementContact #requirementCredits, #projectListing #requirementContact #requirementCredits, #requirementListing #requirementContact #requirementCredits, #userListing #requirementContact #requirementCredits, #localityListing #requirementContact #requirementCredits {
  font-size: 0.875rem;
  margin: 0;
}
#propertyListing #requirementContact #requirementCredits > div, #projectListing #requirementContact #requirementCredits > div, #requirementListing #requirementContact #requirementCredits > div, #userListing #requirementContact #requirementCredits > div, #localityListing #requirementContact #requirementCredits > div {
  display: flex;
  justify-content: space-between;
}
#propertyListing #requirementContact #requirementCredits > div dt, #projectListing #requirementContact #requirementCredits > div dt, #requirementListing #requirementContact #requirementCredits > div dt, #userListing #requirementContact #requirementCredits > div dt, #localityListing #requirementContact #requirementCredits > div dt {
  margin-right: 0.5rem;
}
#propertyListing #requirementContact button, #projectListing #requirementContact button, #requirementListing #requirementContact button, #userListing #requirementContact button, #localityListing #requirementContact button {
  margin-top: 0.75rem;
  width: 100%;
}
#propertyListing #requirementContact p, #projectListing #requirementContact p, #requirementListing #requirementContact p, #userListing #requirementContact p, #localityListing #requirementContact p {
  margin-top: 0.75rem;
  text-align: center;
}
#propertyListing #projectProperties .project-property, #projectListing #projectProperties .project-property, #requirementListing #projectProperties .project-property, #userListing #projectProperties .project-property, #localityListing #projectProperties .project-property {
  padding: 1rem;
  margin: 0 0 1rem 0;
  border-radius: var(--bs-border-radius);
  background-color: var(--bs-tertiary-bg);
}
#propertyListing #projectProperties .project-property .project-property-info, #projectListing #projectProperties .project-property .project-property-info, #requirementListing #projectProperties .project-property .project-property-info, #userListing #projectProperties .project-property .project-property-info, #localityListing #projectProperties .project-property .project-property-info {
  display: flex;
  justify-content: space-between !important;
}
#propertyListing #projectProperties .project-property .project-property-info h4, #projectListing #projectProperties .project-property .project-property-info h4, #requirementListing #projectProperties .project-property .project-property-info h4, #userListing #projectProperties .project-property .project-property-info h4, #localityListing #projectProperties .project-property .project-property-info h4 {
  font-size: 1.125rem;
  font-weight: 600;
}
#propertyListing #projectProperties .project-property .project-property-info > h4:last-child, #projectListing #projectProperties .project-property .project-property-info > h4:last-child, #requirementListing #projectProperties .project-property .project-property-info > h4:last-child, #userListing #projectProperties .project-property .project-property-info > h4:last-child, #localityListing #projectProperties .project-property .project-property-info > h4:last-child {
  text-align: right;
}
#propertyListing #projectProperties .project-property .project-property-contact, #projectListing #projectProperties .project-property .project-property-contact, #requirementListing #projectProperties .project-property .project-property-contact, #userListing #projectProperties .project-property .project-property-contact, #localityListing #projectProperties .project-property .project-property-contact {
  display: flex;
  justify-content: space-between !important;
}
#propertyListing #projectProperties .project-property .project-property-contact h5, #projectListing #projectProperties .project-property .project-property-contact h5, #requirementListing #projectProperties .project-property .project-property-contact h5, #userListing #projectProperties .project-property .project-property-contact h5, #localityListing #projectProperties .project-property .project-property-contact h5 {
  font-size: 1rem;
  font-weight: normal;
  margin: 0.25rem 0;
}
#propertyListing #projectProperties .project-property .project-property-contact h5 span, #projectListing #projectProperties .project-property .project-property-contact h5 span, #requirementListing #projectProperties .project-property .project-property-contact h5 span, #userListing #projectProperties .project-property .project-property-contact h5 span, #localityListing #projectProperties .project-property .project-property-contact h5 span {
  font-size: 0.875rem;
  color: var(--bs-secondary-color);
}
#propertyListing #projectProperties .project-property .project-property-contact button, #projectListing #projectProperties .project-property .project-property-contact button, #requirementListing #projectProperties .project-property .project-property-contact button, #userListing #projectProperties .project-property .project-property-contact button, #localityListing #projectProperties .project-property .project-property-contact button {
  width: 8rem;
}

#projectListing .listing-summary, #requirementListing .listing-summary, #localityListing .listing-summary {
  display: flex;
  flex-wrap: wrap;
  justify-content: space-between;
}
#projectListing .listing-summary > div, #requirementListing .listing-summary > div, #localityListing .listing-summary > div {
  padding-right: 0.5rem;
  max-width: 50%;
}

.listing-attachments .modal-body {
  scroll-snap-type: y; /* snap */
}
.listing-attachments .modal-body .listing-attachment-group {
  margin: 0 0 1rem 0;
  /*display: grid;
  grid-template-columns: repeat(auto-fill, minmax(75vh, 100%));*/
  --cols: 1;
  display: grid;
  justify-content: space-between;
  grid-template-columns: repeat(var(--cols), 1fr);
  gap: 0.25rem;
  /*column-width: 75vh;
  column-gap: 0;*/
}
@media (min-width: 100rem) {
  .listing-attachments .modal-body .listing-attachment-group:has(> :last-child:nth-child(3)) {
    --cols: 2;
  }
  .listing-attachments .modal-body .listing-attachment-group:has(> :last-child:nth-child(4)) {
    --cols: 2;
  }
  .listing-attachments .modal-body .listing-attachment-group:has(> :last-child:nth-child(5)) {
    --cols: 2;
  }
  .listing-attachments .modal-body .listing-attachment-group:has(> :last-child:nth-child(6)) {
    --cols: 2;
  }
  .listing-attachments .modal-body .listing-attachment-group:has(> :last-child:nth-child(7)) {
    --cols: 2;
  }
  .listing-attachments .modal-body .listing-attachment-group:has(> :last-child:nth-child(8)) {
    --cols: 2;
  }
  .listing-attachments .modal-body .listing-attachment-group:has(> :last-child:nth-child(9)) {
    --cols: 2;
  }
  .listing-attachments .modal-body .listing-attachment-group:has(> :last-child:nth-child(10)) {
    --cols: 2;
  }
  .listing-attachments .modal-body .listing-attachment-group:has(> :last-child:nth-child(11)) {
    --cols: 2;
  }
  .listing-attachments .modal-body .listing-attachment-group:has(> :last-child:nth-child(12)) {
    --cols: 2;
  }
  .listing-attachments .modal-body .listing-attachment-group:has(> :last-child:nth-child(13)) {
    --cols: 2;
  }
  .listing-attachments .modal-body .listing-attachment-group:has(> :last-child:nth-child(14)) {
    --cols: 2;
  }
  .listing-attachments .modal-body .listing-attachment-group:has(> :last-child:nth-child(15)) {
    --cols: 2;
  }
}
@media (min-width: 150rem) {
  .listing-attachments .modal-body .listing-attachment-group:has(> :last-child:nth-child(3)) {
    --cols: 3;
  }
  .listing-attachments .modal-body .listing-attachment-group:has(> :last-child:nth-child(5)) {
    --cols: 3;
  }
  .listing-attachments .modal-body .listing-attachment-group:has(> :last-child:nth-child(6)) {
    --cols: 3;
  }
  .listing-attachments .modal-body .listing-attachment-group:has(> :last-child:nth-child(7)) {
    --cols: 3;
  }
  .listing-attachments .modal-body .listing-attachment-group:has(> :last-child:nth-child(8)) {
    --cols: 3;
  }
  .listing-attachments .modal-body .listing-attachment-group:has(> :last-child:nth-child(9)) {
    --cols: 3;
  }
  .listing-attachments .modal-body .listing-attachment-group:has(> :last-child:nth-child(10)) {
    --cols: 3;
  }
  .listing-attachments .modal-body .listing-attachment-group:has(> :last-child:nth-child(11)) {
    --cols: 3;
  }
  .listing-attachments .modal-body .listing-attachment-group:has(> :last-child:nth-child(12)) {
    --cols: 3;
  }
  .listing-attachments .modal-body .listing-attachment-group:has(> :last-child:nth-child(13)) {
    --cols: 3;
  }
  .listing-attachments .modal-body .listing-attachment-group:has(> :last-child:nth-child(14)) {
    --cols: 3;
  }
  .listing-attachments .modal-body .listing-attachment-group:has(> :last-child:nth-child(15)) {
    --cols: 3;
  }
}
.listing-attachments .modal-body .listing-attachment-group:has(> :nth-child(16)) {
  grid-template-columns: repeat(auto-fill, minmax(50rem, 1fr));
}
@supports not selector(:has(*)) {
  .listing-attachments .modal-body .listing-attachment-group {
    grid-template-columns: repeat(auto-fill, minmax(50rem, 1fr));
  }
}
.listing-attachments .modal-body figure {
  position: relative;
  width: 100%;
  margin: 0;
  scroll-snap-align: start; /* snap */
  scroll-margin: 5px;
}
.listing-attachments .modal-body figure > img {
  object-fit: cover;
  width: 100%;
  height: 100%;
}
.listing-attachments .modal-body figure > figcaption {
  position: absolute;
  left: 0.5rem;
  bottom: 0.5rem;
  background-color: rgba(50, 50, 50, 0.5);
  color: rgb(255, 255, 255);
  text-shadow: black 0px 0px 3px, black 0px 0px 4px;
  border: 0px;
  border-radius: 0.375rem;
  padding: 0px 0.25rem;
}

.page-viewrequirement {
  --pw-container-width: 1320px;
}

@media (max-width: 991.98px) {
  .page-viewproject #mainBody {
    overflow: clip;
  }
}

.page-viewuser {
  --pw-container-width: 1320px;
}
.page-viewuser #userNav h1 {
  margin-bottom: 0;
  padding: 0;
}
.page-viewuser #userNav h1 > img, .page-viewuser #userNav h1 > i {
  width: 4rem;
  height: 4rem;
  font-size: 2.5rem;
}
.page-viewuser #userNav .nav-link {
  padding: 0.375rem;
}
.page-viewuser .listing-content {
  margin-top: 0.75rem;
}
.page-viewuser .listing-content .listing-section {
  scroll-margin-top: 4rem;
}
.page-viewuser .listing-content #userOperationalAreas {
  list-style-type: none;
  padding: 0;
}
.page-viewuser .listing-content #userOperationalAreas > li {
  margin: 0 0 0.5rem 0;
  font-weight: 600;
}
.page-viewuser .listing-content #userOperationalAreas > li > ul {
  list-style-type: none;
  padding: 0;
  display: flex;
  flex-wrap: wrap;
  column-gap: 1rem;
  font-weight: normal;
}
.page-viewuser #userFooter {
  font-size: 0.875rem;
  padding-top: 1rem;
  padding-bottom: 5rem;
}
.page-viewuser #userFooter svg {
  width: 10rem;
  color: #2b3b3a;
  margin-bottom: 1rem;
}
[data-bs-theme=dark] .page-viewuser #userFooter svg {
  color: #ffffff;
}

.page-viewlocality {
  --pw-container-width: 1320px;
}
.page-viewlocality .listing-map {
  height: 20rem;
}
.page-viewlocality #localityNav {
  --bs-navbar-padding-x: 1rem;
  margin-bottom: 1rem;
}
@media (min-width: 576px) {
  .page-viewlocality #localityNav {
    position: -webkit-sticky;
    position: sticky;
    top: 4rem;
    z-index: 100;
  }
}
.page-viewlocality #localityNav .nav {
  row-gap: 0;
  justify-content: space-around;
  flex-grow: 1;
}
@media (min-width: 992px) {
  .page-viewlocality .listing-section {
    scroll-margin-top: 8rem;
  }
  .page-viewlocality #localityNav .nav .nav-link {
    padding: 0.5rem;
  }
}

#articleImage {
  position: relative;
  margin: 0;
}
#articleImage > img {
  width: 100%;
  min-height: 13rem;
  max-height: 26rem;
  object-fit: cover;
  /*opacity: 0.9;*/
}
#articleImage > figcaption {
  color: white;
  background-color: rgba(10, 10, 10, 0.25);
  position: absolute;
  bottom: 10%;
  width: 100%;
  max-height: 75%;
}
#articleImage > figcaption h1 {
  text-shadow: 1px 1px 1rem #000, -1px -1px 1rem #000;
  font-size: calc(1.625rem + 0.875 * (100vw - 400px) / 75);
}
@media (min-width: 1600px) {
  #articleImage > figcaption h1 {
    font-size: 2.5rem;
  }
}
#articleImage > figcaption h2 {
  text-shadow: 1px 1px 1rem #000, -1px -1px 1rem #000;
  font-size: calc(1rem + 0.25 * (100vw - 400px) / 75);
  font-weight: 500;
}
@media (min-width: 1600px) {
  #articleImage > figcaption h2 {
    font-size: 1.25rem;
  }
}

#articleNav {
  background-color: var(--bs-tertiary-bg);
}
#articleNav > ul {
  flex-grow: 1;
  justify-content: space-evenly;
}

.article-container {
  padding-bottom: 1rem;
}
.article-container article.article > header {
  margin: 0 0 1rem 0;
}
.article-container article.article h1 {
  font-size: 1.75rem;
}
.article-container article.article h2 {
  font-size: 1.375rem;
  color: var(--bs-secondary-color);
}
.article-container article.article h3 {
  font-size: 1.25rem;
  color: var(--bs-secondary-color);
}
.article-container article.article h4 {
  font-size: 1.125rem;
  color: var(--bs-secondary-color);
}
.article-container article.article h5 {
  font-size: 1rem;
  color: var(--bs-secondary-color);
}
.article-container article.article .article-content {
  margin: 1rem 0;
}
.article-container article.article .article-content.md {
  column-width: 30rem;
  column-gap: 2rem;
}
.article-container article.article .article-content img {
  max-width: 100%;
  height: auto;
  float: left;
  margin: 0 1rem 0.5rem 0;
}
.article-container article.article .article-content::after {
  display: block;
  clear: both;
  content: "";
}
.article-container article.article .article-content blockquote {
  margin-left: 1rem;
  font-size: 1.125rem;
}
.article-container article.article > footer {
  margin: 1rem 0;
  color: var(--bs-secondary-color);
}
.article-container article.article > footer > span, .article-container article.article > footer > time {
  color: var(--bs-body-color);
}
.article-container aside.article-comments {
  padding: 1rem 0;
}
.article-container aside.article-comments .article-comments-order {
  float: right;
}
.article-container aside.article-comments .article-comments-order:has(input[value=newest]:checked) + .article-comments-container {
  display: flex;
  flex-direction: column-reverse;
}
.article-container aside.article-comments .article-comments-order:has(input[value=oldest]:checked) + .article-comments-container {
  display: flex;
  flex-direction: column;
}
.article-container aside.article-comments .article-comments-container {
  clear: both;
}
.article-container aside.article-comments .article-comment {
  display: flex;
  gap: 1rem;
  padding: 1rem 0;
}
.article-container aside.article-comments .article-comment .article-comment-avatar {
  flex: 0 0 3rem;
  height: 3rem;
}
.article-container aside.article-comments .article-comment .article-comment-avatar figure {
  width: 100%;
  height: 100%;
  border-radius: 50%;
  background-color: var(--bs-secondary-bg);
  text-align: center;
  margin: 0;
  overflow: clip;
  font-family: "Raleway", sans-serif;
  font-size: 1.375rem;
  font-weight: 600;
  line-height: 3rem;
  color: var(--bs-tertiary-color);
}
.article-container aside.article-comments .article-comment .article-comment-avatar figure img {
  width: 100%;
  height: 100%;
  object-fit: cover;
  display: block;
}
.article-container aside.article-comments .article-comment .article-comment-avatar figure i {
  font-size: 2rem;
}
.article-container aside.article-comments .article-comment .article-comment-body .article-comment-author {
  font-weight: 600;
}
.article-container aside.article-comments .article-comment .article-comment-body .article-comment-posted {
  font-size: 0.875rem;
  color: var(--bs-secondary-color);
}
.article-container aside.articles-list {
  padding: 1rem 0;
}
.article-container aside.articles-list .article-summary {
  position: relative;
  margin: 1.5rem 0;
  display: flex;
  column-gap: 1rem;
}
.article-container aside.articles-list .article-summary > img {
  flex: 0 0 25%;
  width: 25%;
  max-width: 15rem;
  max-width: 12rem;
  object-fit: cover;
  border-bottom-left-radius: var(--bs-border-radius) !important;
  border-top-left-radius: var(--bs-border-radius) !important;
}
.article-container aside.articles-list .article-summary > div header {
  margin: 0 0 0.75rem 0;
}
.article-container aside.articles-list .article-summary > div header h2 {
  font-size: calc(1.125rem + 0.375 * (100vw - 400px) / 75);
}
@media (min-width: 1600px) {
  .article-container aside.articles-list .article-summary > div header h2 {
    font-size: 1.5rem;
  }
}
.article-container aside.articles-list .article-summary > div header a::after {
  position: absolute;
  top: 0;
  right: 0;
  bottom: 0;
  left: 0;
  z-index: 1;
  content: "";
}
.article-container aside.articles-list .article-summary > div > div {
  display: -webkit-box;
  -webkit-line-clamp: 4;
  -webkit-box-orient: vertical;
  line-clamp: 4;
  overflow: hidden;
  text-overflow: ellipsis;
  font-size: calc(0.875rem + 0.125 * (100vw - 400px) / 75);
}
@media (min-width: 1600px) {
  .article-container aside.articles-list .article-summary > div > div {
    font-size: 1rem;
  }
}
.article-container aside.articles-list .article-summary > div footer {
  margin: 0.75rem 0 0 0;
  color: var(--bs-secondary-color);
}
.article-container aside.articles-list .article-summary > div footer > span {
  color: var(--bs-body-color);
}

.page-sitemap #sitemapLinks {
  list-style-type: square;
  padding-left: 1.5rem;
  color: var(--bs-tertiary-color);
}
.page-sitemap #sitemapLinks li span {
  font-family: consolas, courier, monospace;
  padding-right: 1rem;
}

.page-contact .pw-form-flex {
  --pw-form-label-width: 9rem;
}

.page-query {
  --pw-container-width: 720px;
}
.page-query .container-page {
  --pw-container-width: 720px;
}
.page-query .container-page #queryFormLogo {
  width: 100%;
  max-height: 20rem;
  object-fit: contain;
  margin: 0 0 1rem 0;
  border-top-left-radius: 0.5rem;
  border-top-right-radius: 0.5rem;
}
.page-query .container-page .btn {
  width: 100%;
  font-weight: bold;
}

.page-unsubscribe {
  --pw-container-width: 720px;
}
.page-unsubscribe .container-page {
  --pw-container-width: 720px;
}

.page-invoice {
  --pw-container-width: 960px;
}
.page-invoice .container-page {
  --pw-container-width: 960px;
}
.page-invoice #mainBtnDarkMode {
  display: none;
}
.page-invoice table {
  border-collapse: separate !important;
}
.page-invoice th, .page-invoice td {
  border-top: none;
  border-bottom: none;
  border-left: none;
  border-right: none;
}
.page-invoice #invoiceDetails {
  width: 100%;
  /*border-collapse: collapse;*/
  border: 0;
  text-align: center;
  font-size: 1rem;
  color: #212529;
  color: var(--bs-body-color);
  background-color: white;
}
.page-invoice #invoiceDetails tr > th {
  background-color: #e9ecef;
  background-color: var(--bs-secondary-bg);
  color: rgba(33, 37, 41, 0.75);
  color: var(--bs-secondary-color);
  padding: 0.5rem;
  font-size: 1.125rem;
}
.page-invoice #invoiceDetails tr > th:first-child, .page-invoice #invoiceDetails tr > td:first-child {
  text-align: left;
}
.page-invoice #invoiceDetails tr > td {
  padding: 0.5rem;
}
.page-invoice #invoiceDetails #invoiceHeader {
  text-align: left;
  font-size: 0.875rem;
}
.page-invoice #invoiceDetails #invoiceHeader td {
  padding: 0 0 0.5rem 0;
}
.page-invoice #invoiceDetails #invoiceHeader h3 {
  font-size: 0.875rem;
  margin: 0;
}
.page-invoice #invoiceDetails #invoiceHeader #invoiceCompanyLogo {
  width: 20rem;
}
.page-invoice #invoiceDetails #invoiceHeader #invoiceCompanyInfo > * {
  width: 33%;
}
.page-invoice #invoiceDetails #invoiceHeader #invoiceQR {
  font-size: 0.75rem;
  font-family: monospace;
  width: 250px;
  text-align: right;
}
.page-invoice #invoiceDetails #invoiceHeader #invoiceQR dl {
  white-space: normal;
}
.page-invoice #invoiceDetails #invoiceHeader #invoiceQR img, .page-invoice #invoiceDetails #invoiceHeader #invoiceQR svg {
  width: 250px;
  height: 250px;
}
.page-invoice #invoiceDetails #invoiceHeading > td {
  padding: 1rem 0.5rem;
  border-top: 2px solid #D14836;
}
.page-invoice #invoiceDetails #invoiceHeading h1 {
  font-size: 2rem;
  letter-spacing: 1px;
  text-transform: uppercase;
  margin: 0;
}
.page-invoice #invoiceDetails #invoiceHeading h2 {
  font-size: 14px;
  font-weight: normal;
  font-style: italic;
  color: rgba(33, 37, 41, 0.75);
  color: var(--bs-secondary-color);
  letter-spacing: 1.75px;
  text-transform: uppercase;
  margin: 0;
}
.page-invoice #invoiceDetails #invoiceHeading #orderPaid, .page-invoice #invoiceDetails #invoiceHeading #orderDue {
  font: bold 1.75rem "Courier New", monospace;
  font-variant: small-caps;
  letter-spacing: 1px;
  color: #0A6F6B;
  display: inline-block;
  border: 2px solid #0A6F6B;
  border-radius: 5px;
  padding: 0 0.5rem;
}
.page-invoice #invoiceDetails #invoiceHeading #orderDue {
  color: #D14836;
  border: 2px solid #D14836;
}
.page-invoice #invoiceDetails #invoiceHeading img, .page-invoice #invoiceDetails #invoiceHeading svg {
  width: 200px;
  height: 200px;
  margin-bottom: 0.5rem;
}
.page-invoice #invoiceDetails #invoiceInfo > td {
  font-size: 1.125rem;
}
.page-invoice #invoiceDetails #invoiceInfo > td address {
  margin-bottom: 0.5rem;
  font-size: 1rem;
}
.page-invoice #invoiceDetails #invoicePackageDetails {
  max-height: 10rem;
  font-size: 0.75rem;
  color: rgba(33, 37, 41, 0.75);
  color: var(--bs-secondary-color);
}
.page-invoice #invoiceDetails #invoicePackageDetails ul {
  padding: 0 0 0 1.25rem;
}
.page-invoice #invoiceDetails #transactionDetails {
  width: 100%;
  text-align: center;
}
.page-invoice #invoiceDetails #transactionDetails th, .page-invoice #invoiceDetails #transactionDetails td {
  background-color: white;
  background-color: var(--bs-body-bg);
  font-size: 0.875rem;
  white-space: nowrap;
  padding: 0.25rem;
}
.page-invoice #invoiceDetails #invoicePayment > td {
  color: rgba(33, 37, 41, 0.75);
  color: var(--bs-secondary-color);
  border-top: 1px solid #ddd;
  text-align: justify !important;
  font-size: 0.875rem;
  padding: 1rem 0.5rem;
}
.page-invoice #invoiceDetails #invoicePayment > td h4 {
  font-size: 1.25rem;
}
.page-invoice #invoiceDetails #invoicePayment > td ol {
  margin: 0;
  padding: 0 0 0 1.25rem;
}
.page-invoice #invoiceDetails #invoicePayment > td #orderPaymentUPI {
  margin-top: 0;
}
.page-invoice #invoiceDetails .invoice-total td {
  font-size: 1.125rem;
  border-top: 1px solid #ddd;
}
.page-invoice #invoiceDetails .invoice-total td:first-child {
  text-align: right;
  color: rgba(33, 37, 41, 0.75);
  color: var(--bs-secondary-color);
}
.page-invoice #invoiceDetails .upiQR {
  margin: 0 0 0 auto;
}
.page-invoice .webkit-flex {
  display: -webkit-box;
  -webkit-box-pack: justify;
  -webkit-box-align: center;
  display: flex;
  justify-content: space-between;
  align-items: center;
  width: 100%;
}
.page-invoice .webkit-flex-grow {
  -webkit-box-flex: 1;
  flex-grow: 1;
}
.page-invoice dl {
  white-space: nowrap;
  margin: 0;
}
.page-invoice dl > dt {
  float: left;
  margin: 0;
  padding: 0 0.25rem 0 0;
  color: rgba(33, 37, 41, 0.75);
  color: var(--bs-secondary-color);
  font-weight: normal;
}
.page-invoice dl > dd {
  margin: 0;
}

.upiQR {
  padding: 0.75rem 0;
  margin: 0.5rem auto;
  width: 300px;
  box-sizing: border-box;
  border: 1px solid #e5e7eb;
  border-radius: 0.5rem;
  box-shadow: 0 0 8px 1px #bab6b6;
  text-align: center;
  color: #345;
  background-color: #fff;
}
.upiQR div {
  margin: 0 0 0.5rem 0;
}
.upiQR .upiQRID {
  margin: 0 0 0.5rem 0;
  font-weight: normal;
  font-size: 0.875rem;
  letter-spacing: normal;
}
.upiQR img.qr {
  margin: 0.5rem;
  width: 200px;
  height: 200px;
}

.page-homeloan {
  --pw-container-width: 1140px;
}
.page-homeloan .container-page {
  --pw-container-width: 1140px;
}
.page-homeloan .pw-form-grid {
  /*--pw-form-grid-label-width: 9rem;*/
}

.page-start {
  --pw-container-width: 1140px;
}
.page-start .container-page {
  --pw-container-width: 1140px;
}
.page-start .container-page #leadMatchingLocalities {
  margin: 0;
  padding: 0;
  list-style: none;
}
.page-start .container-page #leadMatchingLocalities > li {
  margin: 0;
  padding: 0;
  width: 12rem;
  float: left;
}
.page-start .container-page #leadMatchingLocalities > li > label {
  max-width: 100%;
  overflow: hidden;
  white-space: nowrap;
  text-overflow: ellipsis;
}
.page-start .container-page #leadMatchingProjects {
  margin: 0;
  padding: 0;
  list-style: none;
}
.page-start .container-page #leadMatchingProjects > li {
  margin: 0 0 0.5rem 0;
  padding: 0;
}
.page-start .container-page #leadMatchingProjects > li > label {
  font-weight: 600;
}
.page-start .container-page #leadMatchingProjects > li span {
  color: var(--bs-secondary-color);
  font-size: 0.875rem;
  font-weight: 500;
  line-height: 1rem;
}

.container-page {
  --pw-container-width: 960px;
  margin-bottom: 2rem;
  padding: 1rem;
}
.container-page h1 {
  font-size: calc(1.625rem + 0.375 * (100vw - 400px) / 75);
  color: var(--bs-body-color);
}
@media (min-width: 1600px) {
  .container-page h1 {
    font-size: 2rem;
  }
}
.container-page h2 {
  font-size: calc(1.5rem + 0.25 * (100vw - 400px) / 75);
  color: var(--bs-body-color);
}
@media (min-width: 1600px) {
  .container-page h2 {
    font-size: 1.75rem;
  }
}
.container-page h3 {
  font-size: calc(1.25rem + 0.25 * (100vw - 400px) / 75);
  color: var(--bs-secondary-color);
}
@media (min-width: 1600px) {
  .container-page h3 {
    font-size: 1.5rem;
  }
}
.container-page h4 {
  font-size: calc(1.125rem + 0.25 * (100vw - 400px) / 75);
  font-weight: 600;
  color: var(--bs-secondary-color);
  margin: 0.5rem 0;
}
@media (min-width: 1600px) {
  .container-page h4 {
    font-size: 1.375rem;
  }
}
.container-page h5 {
  font-size: calc(1rem + 0.25 * (100vw - 400px) / 75);
  font-weight: 500;
  color: var(--bs-secondary-color);
  margin: 0.5rem 0;
}
@media (min-width: 1600px) {
  .container-page h5 {
    font-size: 1.25rem;
  }
}
.container-page .btn[type=submit] {
  font-weight: 600;
}

main:has(> .container-hero) {
  background: url("/static/images/backgrounds/rooftops.jpg") no-repeat center center fixed;
  -webkit-background-size: cover;
  -moz-background-size: cover;
  -o-background-size: cover;
  background-size: cover;
  min-height: calc(100vh - 4rem);
  display: flex;
  align-items: center;
}

.container-hero {
  display: flex;
  align-items: center;
  justify-content: center;
  flex-wrap: wrap;
  height: 100%;
  color: var(--bs-body-color);
  /*text-shadow: 0 0 3px white;*/
}
.container-hero .hero-header {
  padding: 0;
  text-shadow: 1px 1px 1rem #000, -1px -1px 1rem #000;
}
.container-hero .hero-content {
  padding: 1rem;
  background-color: var(--bs-body-bg);
  border-radius: 0.5rem;
  flex: 1 0 0;
  max-width: 60rem;
}
@media (min-width: 768px) {
  .container-hero {
    gap: 1rem;
  }
  .container-hero .hero-header {
    flex: 0 0 33%;
  }
}
@media (min-width: 992px) {
  .container-hero .hero-header {
    flex: 0 0 50%;
  }
}
