

/* Make text look crisper and more legible in all browsers */
body {
  -webkit-font-smoothing: antialiased;
  -moz-osx-font-smoothing: grayscale;
  font-smoothing: antialiased;
  text-rendering: optimizeLegibility;
}

/* Focus state style for keyboard navigation for the focusable elements */
*[tabindex]:focus-visible,
  input[type="file"]:focus-visible {
   outline: 0.125rem solid #4d65ff;
   outline-offset: 0.125rem;
}

/* Set color style to inherit */
.inherit-color * {
    color: inherit;
}

/* Get rid of top margin on first element in any rich text element */
.w-richtext > :not(div):first-child, .w-richtext > div:first-child > :first-child {
  margin-top: 0 !important;
}

/* Get rid of bottom margin on last element in any rich text element */
.w-richtext>:last-child, .w-richtext ol li:last-child, .w-richtext ul li:last-child {
	margin-bottom: 0 !important;
}


/* Make sure containers never lose their center alignment */
.container-medium,.container-small, .container-large {
	margin-right: auto !important;
  margin-left: auto !important;
}

/* 
Make the following elements inherit typography styles from the parent and not have hardcoded values. 
Important: You will not be able to style for example "All Links" in Designer with this CSS applied.
Uncomment this CSS to use it in the project. Leave this message for future hand-off.
*/
/*
a,
.w-input,
.w-select,
.w-tab-link,
.w-nav-link,
.w-dropdown-btn,
.w-dropdown-toggle,
.w-dropdown-link {
  color: inherit;
  text-decoration: inherit;
  font-size: inherit;
}
*/

/* Apply "..." after 3 lines of text */
.text-style-3lines {
	display: -webkit-box;
	overflow: hidden;
	-webkit-line-clamp: 3;
	-webkit-box-orient: vertical;
}

/* Apply "..." after 2 lines of text */
.text-style-2lines {
	display: -webkit-box;
	overflow: hidden;
	-webkit-line-clamp: 2;
	-webkit-box-orient: vertical;
}

/* These classes are never overwritten */
.hide {
  display: none !important;
}

@media screen and (max-width: 991px) {
    .hide, .hide-tablet {
        display: none !important;
    }
}
  @media screen and (max-width: 767px) {
    .hide-mobile-landscape{
      display: none !important;
    }
}
  @media screen and (max-width: 479px) {
    .hide-mobile{
      display: none !important;
    }
}
 
.margin-0 {
  margin: 0rem !important;
}
  
.padding-0 {
  padding: 0rem !important;
}

.spacing-clean {
padding: 0rem !important;
margin: 0rem !important;
}

.margin-top {
  margin-right: 0rem !important;
  margin-bottom: 0rem !important;
  margin-left: 0rem !important;
}

.padding-top {
  padding-right: 0rem !important;
  padding-bottom: 0rem !important;
  padding-left: 0rem !important;
}
  
.margin-right {
  margin-top: 0rem !important;
  margin-bottom: 0rem !important;
  margin-left: 0rem !important;
}

.padding-right {
  padding-top: 0rem !important;
  padding-bottom: 0rem !important;
  padding-left: 0rem !important;
}

.margin-bottom {
  margin-top: 0rem !important;
  margin-right: 0rem !important;
  margin-left: 0rem !important;
}

.padding-bottom {
  padding-top: 0rem !important;
  padding-right: 0rem !important;
  padding-left: 0rem !important;
}

.margin-left {
  margin-top: 0rem !important;
  margin-right: 0rem !important;
  margin-bottom: 0rem !important;
}
  
.padding-left {
  padding-top: 0rem !important;
  padding-right: 0rem !important;
  padding-bottom: 0rem !important;
}
  
.margin-horizontal {
  margin-top: 0rem !important;
  margin-bottom: 0rem !important;
}

.padding-horizontal {
  padding-top: 0rem !important;
  padding-bottom: 0rem !important;
}

.margin-vertical {
  margin-right: 0rem !important;
  margin-left: 0rem !important;
}
  
.padding-vertical {
  padding-right: 0rem !important;
  padding-left: 0rem !important;
}

.home-hero_bg {
   position: absolute;
   top: 0;
   left: 0;
   width: 100%;
   height: 100%;
   z-index: -1;
   pointer-events: none;
   overflow: hidden;
}
.home-hero_bg iframe {
   width: 100vw;
   height: 56.25vw; /* Given a 16:9 aspect ratio, 9/16*100 = 56.25 */
   min-height: 100vh;
   min-width: 177.77vh; /* Given a 16:9 aspect ratio, 16/9*100 = 177.77 */
   position: absolute;
   top: 50%;
   left: 50%;
   transform: translate(-50%, -50%);
}



@media (min-width: 992px)  {


  .properties_list .properties_item {
    grid-column: span 4;
  }

  .properties_list .properties_item:nth-child(9n + 5),
  .properties_list .properties_item:nth-child(9n + 9) {
    grid-column: span 8;
  }


  .properties_list .properties_img {
    aspect-ratio: 37/50;
  }
  
  .properties_list .properties_item:nth-child(9n + 5) .properties_img,
  .properties_list .properties_item:nth-child(9n + 9) .properties_img {
    aspect-ratio: auto;
  }
  
}

@media (min-width: 992px) {
  /* NEWS ITEMS */
  .suburbs-wrapper > .suburbs-item {
    grid-column: span 3; /* 1st, 2nd, 4th & 5th item in pattern */
  }
  .suburbs-wrapper > .suburbs-item:nth-child(8n + 1),
  .suburbs-wrapper > .suburbs-item:nth-child(8n + 4),
  .suburbs-wrapper > .suburbs-item:nth-child(8n + 5),
  .suburbs-wrapper > .suburbs-item:nth-child(8n + 8)
  {
    grid-column: span 6 !important; /* 3rd & 6th item in pattern */
  }
  
  .is-select-input {
  background: url('/_wf/677ffc7bd0b8c814e26c1baa_Union-white.svg') center no-repeat;
        background-position: right 15px center; /* Change the px value here to change the distance */
        -moz-appearance: none; 
        -webkit-appearance: none; 
        appearance: none;
            padding : 4px 20px
  }
  .background-color-secondary .is-select-input {
  	background: url('/_wf/677ffb65b28a014c988134b4_Union.svg') center no-repeat !important;
    background-position: right 15px center !important; /* Change the px value here to change the distance */
        -moz-appearance: none; 
        -webkit-appearance: none; 
        appearance: none;
            padding : 4px 16px
  }
}

.background-color-tertiary .section_footer {
background-color:#1A1A1A !important;
}

.background-color-tertiary .footer_flipper-gradient {

background-image: linear-gradient(0deg, #1A1A1A, transparent 25%), linear-gradient(180deg, #1A1A1A, transparent 25%)
}

.fs_radio-2_field {
  position: relative;
  display: inline-block;
  text-decoration: none;
  
  /* We'll animate this custom property with GSAP */
  --underlineWidth: 0%;
}

/* The pseudo-element that becomes the "underline" */
.fs_radio-2_field::after {
  content: '';
  position: absolute;
  bottom: 0;
  left: 0;
  height: 1px;
  width: var(--underlineWidth);
  background: currentColor; /* Matches text color; or replace with any color you want */
  
  /* We don't want CSS transitions interfering, so explicitly set none */
  transition: none;
}
.fs_radio-2_field.is-active-inputactive::after {
  width: 100%;
}

.footer_link {
  position: relative;
  display: inline-block; /* Ensure pseudo-element positions properly */
  text-decoration: none; /* Remove default underline */
  --footerUnderlineWidth: 0%; /* Start at 0% width */
}

/* Pseudo-element for the "drawn" underline */
.footer_link::after {
  content: '';
  position: absolute;
  bottom: 0;
  left: 0;
  width: var(--footerUnderlineWidth);
  height: 1px;
  background: currentColor;  /* So it matches the text color (or pick a color) */
}

/* Optional: if you want to keep a link like `.w--current` always underlined in full, you can do: */
.footer_link.w--current::after {
  width: 100% !important;
}
.no-transform .nav-menu_component {
  transition: none !important; /* kills default Webflow transform transition */
}
