

html, body, button, input, textarea, select {
  font-family: "Montserrat", sans-serif;
font-optical-sizing: auto;
font-weight: 300;
font-style: normal;
color:#042335;
font-style: normal;
}

h1, h2, h3, h4, h5, h6 {
  font-family: "Montserrat", sans-serif;
  font-optical-sizing: auto;
  font-weight: 400;
  font-style: normal;
  margin-bottom:1rem;
  line-height: 1.5;
}

html {
  scroll-padding-top: var(--header-offset, 120px); /* updated dynamically */
}


a {
  text-decoration: none;
  color:inherit;
}

section a {
  text-decoration: underline;
  opacity: 1;
  transition: all 250ms ease;
}

a.button {
  text-decoration: none;
}

section a:hover {
  text-decoration: none;
  opacity: 0.6;
}

section a.button:hover {
  opacity: 1;
}

hr {
  background:#042335;
  height:1px;
  border:0;
  padding:0;
  margin:0;
}

h1 {
  font-size: 30px;
  line-height:1.2;
}


.component-banner h1 {
  font-size: 64px;
}


h2 {
  font-size: 40px;
}

h3 {
  font-size: 24px;
  font-weight: 500;
}

h4, .layout-anchors a {
  font-size: 12px;
  font-weight: 600;
  letter-spacing: 2.08px;
  text-transform: uppercase;
}



.layout-anchors h1 {
  margin-bottom:70px;
  font-size: 40px;
}

.layout-anchors ul {
  margin:0;
  padding:0;
  list-style: none;
}

.layout-anchors a {
  text-decoration: none;
  display: inline-block;
  border-bottom:0.5px solid #042335;
  padding-bottom:5px;
 margin:14px 0;
 font-size: 13px;
}

.text-light.layout-anchors a {
  border-color:#F3F1EF;
}


.layout-anchors li {
  margin:0;
}



/* grid for two columns */
.layout-anchors .anchors-grid {
  max-width:600px;
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 2rem; /* adjust as needed */
}

/* ensure UL base styles still apply */
.layout-anchors .anchors-col {
  margin: 0;
  padding: 0;
  list-style: none;
}

/* mobile: stack to one column */
@media (max-width: 767px) {
  .layout-anchors .anchors-grid {
    grid-template-columns: 1fr;
    gap: 0;
  }
}




body {
  font-smooth: antialiased;
  -webkit-font-smoothing: antialiased;
  text-rendering: optimizeLegibility;
  -moz-osx-font-smoothing: grayscale;
}

html {
  font-size: 16px;
  overflow-x: hidden;
    scroll-behavior: smooth;
}

strong {
  font-weight: bold;
}

em {
  font-style: italic;
}

section li {
  margin:10px 0;
}

section .hd-card-description li {
  margin:0 0 10px 0;
}



section ol, section ul {
  padding-top:10px;
  padding-bottom:10px;
  list-style-position: outside;
  margin-left:1.25rem;
}

blockquote {
  padding-left: 1.25rem;
  border-left: 2px solid #042335;
  padding-top: 10px;
  padding-bottom: 10px;
  margin-top: 10px;
  margin-bottom: 10px;
}


p {
  margin-bottom:1rem;
  line-height: 1.5;
}

p:last-of-type {
  margin-bottom:0;
}

/* ---- minimal animate.css (slideInUp only, robust) ---- */
:root{
  --anim-duration: .8s;
  --anim-delay: 0s;
  --anim-ease: cubic-bezier(.2,.7,.3,1);
}

.animate{
  opacity: 0;                         /* initial state */
  transform: translate3d(0,40px,0);   /* initial offset */
  will-change: transform, opacity;
}

/* when in view */
.animate.play{
  /* safety: force visible in case another rule keeps opacity:0/transform */
  opacity: 1;
  transform: none;

  /* name | duration | timing | delay | count | direction | fill | play-state */
  animation: slideInUp var(--anim-duration, .8s) var(--anim-ease, cubic-bezier(.2,.7,.3,1)) var(--anim-delay, 0s) 1 normal both running;
}

@keyframes slideInUp{
  0% { transform: translate3d(0,80px,0); opacity: 0; }
  100% { transform: translate3d(0,0,0); opacity: 1; }
}

/* Reduce motion: show instantly */
@media (prefers-reduced-motion: reduce){
  .animate{ opacity: 1 !important; transform: none !important; }
  .animate.play{ animation: none !important; }
}





.button {
  text-transform: uppercase;
  letter-spacing: 1.6px;
  font-size: 12px;
  color:#fff;
  font-weight: 600;
  background-color:#042335;
  padding:16px 24px;
  transition:all 250ms ease;
  border:1px solid #042335;
  display: inline-block;
  text-align:center;
}

.button:hover {
  background-color:#4D5E69;
  border:1px solid #4D5E69;
}


.button.dark {
  background-color:transparent;
  border:1px solid #042335;
  color:#042335;
}

.button.dark:hover {
  background-color:#042335;
  border:1px solid #042335;
  color:#fff;
}


.button.light {
  background-color:transparent;
  border:1px solid #fff;
  color:#fff;
}

.button.light:hover {
  background-color:#fff;
  border:1px solid #fff;
  color:#042335;
}




.padding {
  padding-top:110px;
  padding-bottom:110px;
}

.padding-top {
  padding-top:110px;
}

.padding-bottom {
  padding-bottom:110px;
}

.padding-half {
  padding-top:70px;
  padding-bottom:70px;
}

.padding-half-top {
  padding-top:70px;

}
.padding-half-bottom {
  padding-bottom:70px;

}

html {
  padding-top:88px;
  background-color:#042335;
}


body {
  font-size:100%;
  background-color:#F9F7F7;
  font-weight: 300;
  line-height: 1.2;
  overflow-x: hidden;

}

.container {
  width: 90%;
  max-width: 1220px;
}

header {
  background:#042335;
  color:#fff;
  position: fixed;
  top:0;
  z-index: 9999;
  padding-top:15px;
  height:88px;
}

header .container {
  max-width:100%;
  width: 95%;
}

header img {
    width: 261px;
    height: 54px;
    position: relative;
    top: 3px;
    margin-bottom:15px;
}


header .desktop-menu ul.menu {
  margin:0;
  padding:0;
  list-style: none;
}

header .desktop-menu ul.menu li {
  display: inline-block;
  margin-left:40px;
  position: relative;
  padding-bottom:15px;
}

header .desktop-menu ul.menu li a {
  color:#fff;
  font-size: 12px;
  text-transform: uppercase;
  font-weight: 400;
  letter-spacing: 1.5px;
  transition: all 250ms ease;
}

header .desktop-menu ul.menu li:hover > a {
  opacity: 0.6;
}



header .desktop-menu ul.sub-menu {
  display: block;
  opacity: 0;
  visibility: hidden;

  position: absolute;
  left: -1rem;
  top: 16px;
  background: #042335;
  text-align: left;
  padding: 1.7rem 1rem 1rem 1rem;
  min-width: 300px;
}

header .desktop-menu ul.sub-menu:before {
    display: block;
    width: 2000%;
    height: 100%;
    content: '';
    background: #042335;
    top: 18px;
    left: -800%;
    position: absolute;
    border-top:1px solid rgba(0,0,0,0.25)
}

header .desktop-menu ul.menu li:hover ul.sub-menu {
  opacity: 1;
  visibility: visible;
  transition: opacity 350ms ease;
}


header .desktop-menu ul.sub-menu li {
  margin-left:0;
  margin:10px 0;
  display: block;
  width:100%;
  padding-bottom:0;
}

header .desktop-menu ul.sub-menu li a {
  font-size: 11px;
  transition: all 250ms linear;
  opacity: 1;
}


header .desktop-menu ul.sub-menu li a:hover {
  opacity: 0.6;
  font-weight:400;
}


header .desktop-menu ul.menu li:hover ul.sub-menu {
  display: block;
}


.menu-trigger, .mobile-menu {
  display: none;
}

.background-blue {
  background-color:#042335;
  color:#fff;
}


.banner {
  background-size:cover;
  background-position: center;
}


  .text-cta h2 {
  font-size: 22px;
  font-weight: 300;

}

  .text-cta *:last-child {
    margin-bottom:0;
  }




.banner .row {
    
min-height:680px;
    height: calc(100vh - 90px);
    max-height:900px;
}


/* Banner media layer behind content */
.banner,
.component-banner { position: relative; overflow: hidden; }

.banner .container,
.component-banner .container { position: relative; z-index: 3; }

/* overlay above media, below content */
.banner.has-overlay::after,
.component-banner.has-overlay::after { z-index: 2; }

/* was: inset: -12vh 0; */
.banner-media-wrap{
  position: absolute;
  inset: calc(var(--parallax-bleed, 6vh) * -1) 0; /* dynamic bleed, smaller by default */
  z-index: 1;
}


.banner-media {
  width: 100%;
  height: 100%;
  object-fit: cover;
  object-position: center;
  display: block;
  transform: translate3d(0,var(--parallax-y,0),0);
  will-change: transform;
}

/* videos fill as well */
.banner-video-wrap video,
.banner-video-wrap iframe {
  width: 100%;
  height: 100%;
  object-fit: cover; /* iframe won't obey; fine for <video> */
}

/* your existing overlay helpers (if not already present) */
.container-full.has-overlay { position: relative; }
.container-full.has-overlay::after{
  content:"";
  position:absolute; inset:0; pointer-events:none;
}
.container-full.overlay-light::after { background: rgba(0,0,0,.10); }
.container-full.overlay-dark::after  { background: rgba(0,0,0,.40); }







.grid-holder {
  position: relative;
  line-height: 0;
  margin-top:0.5rem;
  margin-bottom:0.5rem;
  overflow: hidden;
}

.grid-holder h3 {
  color:#fff;
  position: absolute;
  bottom:30px;
  left:40px;
  margin:0!important;
  transition: all 250ms linear;
  transition-delay: 150ms;
  opacity: 1;
}

.grid-holder a {
  display: block;
}

.grid-holder a:hover {
  opacity: 1;
}

.grid-holder .hover-content {
  background-color:#737D69;
  position: absolute;
  top:0;
  left:0;
  width:100%;
  height:100%;
  top:100%;
  transition: all 500ms ease-in-out;

  z-index: 2;
  color:#fff;
}

.grid-holder:hover .hover-content {
  top:0;
}

.grid-holder:hover h3 {
  opacity: 0;
  transition-delay: 0;
}

.grid-holder .hover-content h3 {
  position: initial;
  margin-bottom:10px!important;
  display: block;
  opacity: 1!important;
}

.grid-holder .hover-content h4 {
  margin-bottom:40px;
  text-transform: uppercase;
}

.grid-holder .hover-content p {
  font-size: 18px;
}

.grid-holder .hover-content .inner {
  position: absolute;
  bottom:0;
  left:0;
  width:100%;
  padding:30px;
}



.arrow-link-outer {
  display: inline-block;
  width: 175px;
}

.arrow-link {
  position: relative;
  display: inline-block;
  width: 175px;
  height: 1px;
  background-color: #042335;
  transition: width 0.25s ease;
}

/* Arrowhead container */
.arrow-link::after,
.arrow-link::before {
    content: '';
  position: absolute;
  right: 0;
  top: 50%;
  width: 23px;
  height: 1px;
  background-color: #042335;
  transform-origin: right center;
}

/* Top diagonal line */
.arrow-link::before {
  transform: translateY(-50%) rotate(50deg);
}

/* Bottom diagonal line */
.arrow-link::after {
  transform: translateY(-50%) rotate(-50deg);
}

/* On hover: shorten tail */
.arrow-link-outer:hover .arrow-link {
  width: 85px;
}

.component-image-carousel .row.images {
  margin-right: 0;
  margin-left: 0; /* Optional: to reset any left offset too */
}

.component-image-carousel h3 {
  margin-bottom:30px;
}

/* Align image carousel flush with heading, allow overflow to right edge */
.carousel-track {
  position: relative;
  width: 100vw;
/*padding-left: calc((100vw - 1200px) / 2 - 0.5rem);*/
}



section.component-image-carousel {
  background-color:#F3F1EF;
}


/* Owl image styling */
.instagram-carousel img {
  display: block;
  width: auto;
  height: auto;
  max-width: 100%;
  border-radius: 0;
  object-fit: cover;
}

/* Arrows styled as per design */
.owl-nav button.owl-prev,
.owl-nav button.owl-next {
  position: absolute;
  top: 50%;
  transform: translateY(-50%);
  background: #fff;
  border-radius: 50%;
  width: 40px;
  height: 40px;
  line-height: 36px;
  border: 1px solid #ccc;
  font-size: 24px;
  color: #042335;
  z-index: 10;
}
.owl-nav button.owl-prev {
  left: 0;
}
.owl-nav button.owl-next {
  right: 0;
}

.owl-nav button span {
  display: inline-block;
  
}



/* Wrapper to help arrows align outside */
.carousel-wrapper {
  position: relative;
  padding: 0 40px;
}



/* Slide images */
.instagram-carousel .carousel-slide img {
  width: 100%;
  height: auto;
  display: block;
  border-radius: 0;
  object-fit: cover;
}

/* Arrows (outside the track) */
.carousel-arrow {
 font-size: 12px;
 background: transparent;
 border-radius: 50%;
 width: 24px;
 height: 24px;
 line-height: 23px;
 text-align: center;
 border: 1px solid #042335;
 cursor: pointer;
 position: absolute;
 top: 50%;
 transform: translateY(-50%);
 z-index: 10;
 transition: all 250ms ease;
}

.left-arrow {
  left: 0;
}

.right-arrow {
  right: 0;
}

.carousel-arrow:hover {
  background: #042335;
  color:#fff;
}



/* Ensure nav buttons are inside the container and bottom aligned */
.owl-nav {
    position: relative;
    max-width: 1200px;
    width:90%;
    margin: 2rem auto 0 auto;
    display: flex;
    justify-content: space-between;
    padding: 0 1rem;
}

/* Style for the custom arrows */
.custom-arrow {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  cursor: pointer;
  width: 48px;
  height: 48px;
  transition: opacity 0.2s ease;
}

.custom-arrow:hover {
  opacity: 0.7;
}

.owl-carousel .owl-dots.disabled, .owl-carousel .owl-nav.disabled {
  display: block!important;
}

/* Optional: make sure owl doesn't interfere with your custom styles */
.owl-nav button.owl-prev,
.owl-nav button.owl-next {
  background: none !important;
  border: none !important;
  padding: 0 !important;
  margin: 0 !important;
}

/* Instagram carousel: enforce a consistent tile and make images cover */
.component-image-carousel .instagram-carousel .owl-item {
  position: relative;
  /* Pick an aspect you like. Square looks very "Instagram": */
  aspect-ratio: 1 / 1;
  /* If you prefer a banner shape instead, use:
     aspect-ratio: 16 / 9;
  */
}

/* Ensure the <img> (or picture > img) actually fills the tile */
.component-image-carousel .instagram-carousel .owl-item img.gallery-hero-img {
  width: 100%;
  height: 100%;
  display: block;
  object-fit: cover;
}

/* Optional: responsive cap so huge desktops don't make them too tall */
@media (min-width: 1200px) {
  .component-image-carousel .instagram-carousel .owl-item {
    max-height: 440px;            /* adjust to taste */
  }
}

/* If WP wraps in <picture>, make sure inner <img> inherits */
.component-image-carousel .instagram-carousel .owl-item picture,
.component-image-carousel .instagram-carousel .owl-item picture img {
  width: 100%;
  height: 100%;
  display: block;
}




.component-banner {
  background-size:cover;
  background-position: center;
  position: relative;
}

.component-banner .container {
  position: relative;
  z-index: 2;
}

.component-banner:after {
  content:'';
  display: block;
  position: absolute;
  top:0;
  left:0;
  width:100%;
  height:100%;
/*  background-color:rgba(0,0,0,0.1); */
  z-index: 1;
}



.component-banner .row.full {
  min-height:calc(100vh - 89px);
}

.component-banner .row.large {
 aspect-ratio: 16 / 9;
}

.component-banner .row.small {
    aspect-ratio: 13 / 6;
}

.component-banner .row.small.video-height {
  aspect-ratio: 16 / 9;
}


.component-banner h4 {
  color:#fff;
  text-transform: uppercase;
  font-size: 18px;
}

.text-cta img {
  margin-top:30px;
  max-width:182px;
  height:auto;
}


footer .logo {
  max-width: 261px;
  display: block;
}


footer {
  font-size: 13px;
}

footer ul a {
opacity: 1;
transition:all 250ms ease;
}


footer .mobile-terms {
  display: none;
}


footer ul a:hover {
  opacity: 0.6;
}


footer .logo.mobile {
 display: none;
}

footer ul {
  list-style:none;
}

footer ul li {
  margin-bottom: 10px;
}

footer p.copyright {
  font-size: 11px;
}

footer div.icons {
  line-height:0;
}

footer div.icons img {
  max-height: 40px;
  width:auto;
  margin-top:1rem;

}

footer div.icons a {
  transition: all 250ms linear;
}

footer div.icons a:hover {
  opacity: 0.6;
}

footer div.icons * {
  margin-left:20px;
}

footer div.icons *:first-child {
  margin-left:0;
}

footer p.social {
margin: 15px 0;
display: block;
}

footer .social a {
  color:#A36336;
  display: block;
  width:23px;
  height:23px;
  line-height: 23px;
  text-align: center;
  font-size: 12px;
  border-radius: 100%;
  border:1px solid #A36336;
  transition: all 250ms ease;
}

footer .address li:nth-child(even) {
  font-weight: 400;
}

footer strong {
  font-weight: 600;
}

footer .social a:hover {
  color:#042335;
  background: #A36336;
  opacity: 1;
}

footer #menu-footer-menu-1 a {
  font-weight: 600;
}


footer ul.sub-menu {
  margin-top:10px;
}

footer ul li {
  font-weight: 600;
}

footer ul.sub-menu li {
  font-weight: 400;
}

footer .col-sm.footer_menu_1 {
  max-width:22%;
}

footer .col-sm.footer_menu_3 {
  max-width:20%;
}




/* Banner block sizing */
.banner,
.component-banner{
  position: relative;
}
.banner > .container,
.banner > .container > .row,
.component-banner > .container,
.component-banner > .container > .row{
  height: 100%; /* let content grid fill the section */
}

/* Video wrapper fills section and crops overflow */
.banner-media-wrap.banner-video-wrap{
  position: absolute;
  inset: 0 !important;   /* override any image-bleed rules */
  z-index: 1;
  overflow: hidden;
  pointer-events: none;  /* decorative bg */
}

/* Make the iframe behave like a cover background */
.banner-video-wrap .banner-vimeo{
  position: absolute;
  top: 50%; left: 50%;
  transform: translate(-50%, -50%);
  /* Cover technique: whichever side is limiting must still fill */
  width: auto;
  height: auto;
  min-width: 150%;
  min-height: 150%;
  display: block;
}

/* Content + overlay above video */
.banner .container,
.component-banner .container{ position: relative; z-index: 3; }
.banner.has-overlay::after,
.component-banner.has-overlay::after{ z-index: 2; }





.footer-social.two-per-row .social {
  display: inline-block;
  margin-right:10px;
}


.footer-social.two-per-row .social:nth-child(even) {
    clear: right;
    width: calc(100% - 60px);
}


footer p.social {
  
}



.footer-social.two-per-row .social {
  margin-top:5px;
  margin-bottom:5px;
}



.text-icon img {
  max-width: 200px;
}


.text-icon.padding {
 padding-top: 85px;
 padding-bottom: 85px;
}


.two-column-layout .button {
    margin-top:20px;
}






/* Form Styling */


/* Forminator placeholder color */
.forminator-ui.forminator-custom-form .forminator-input::placeholder,
.forminator-ui.forminator-custom-form .forminator-textarea::placeholder{
  color: #042335 !important;
  opacity: 1; /* Firefox */
}

/* WebKit */
.forminator-ui.forminator-custom-form .forminator-input::-webkit-input-placeholder,
.forminator-ui.forminator-custom-form .forminator-textarea::-webkit-input-placeholder{
  color: #042335 !important;
}

/* Old Edge/IE */
.forminator-ui.forminator-custom-form .forminator-input:-ms-input-placeholder,
.forminator-ui.forminator-custom-form .forminator-textarea:-ms-input-placeholder{
  color: #042335 !important;
}
.forminator-ui.forminator-custom-form .forminator-input::-ms-input-placeholder,
.forminator-ui.forminator-custom-form .forminator-textarea::-ms-input-placeholder{
  color: #042335 !important;
}



.forminator-ui.forminator-design--default .forminator-select2 + .forminator-select .selection .select2-selection--single[role="combobox"] {
    border-color: transparent!important;
    background-color: #fff!important;
    border: none!important;
}

.forminator-ui.forminator-design--default .forminator-label {
  display: none!important;
}

.forminator-ui.forminator-custom-form:not(.forminator-size--small)[data-grid=open] .forminator-row-inside:not(:last-child), .forminator-ui.forminator-custom-form:not(.forminator-size--small)[data-grid=open] .forminator-row:not(:last-child) {
  margin-bottom: 20px!important;
}



.forminator-ui.forminator-design--default .forminator-button-submit {
  font-weight: bold!important;
  font-size: 14px!important;
  width:100%!important;
  max-width:100%!important;
  border:1px solid #042335!important;
  background-color:transparent!important;
  text-transform: uppercase!important;
  letter-spacing: 1.5px!important;
  color:#042335!important;
}


.text-light .forminator-ui.forminator-design--default .forminator-button-submit {
  color:#fff!important;
  border:1px solid #fff!important;
}



.forminator-ui.forminator-design--default .forminator-button-submit:active, .forminator-ui.forminator-design--default .forminator-button-submit:focus, .forminator-ui.forminator-design--default .forminator-button-submit:hover {
    -webkit-box-shadow: none!important;
    box-shadow: none!important;
    color:#fff!important;
    background-color:#042335!important;
}


.text-light .forminator-ui.forminator-design--default .forminator-button-submit:active, .text-light .forminator-ui.forminator-design--default .forminator-button-submit:focus, .text-light .forminator-ui.forminator-design--default .forminator-button-submit:hover {
  color:#042335!important;
  background-color:#fff!important;
}


.forminator-select.forminator-select-dropdown-container--open .forminator-select-dropdown.forminator-dropdown--default {
    padding: 9px 14px;
    border-style: solid;
    border: none;
    background: #fff;
    font-size: 14px !important;
}



.forminator-ui.forminator-custom-form .forminator-input, .forminator-ui.forminator-design--default select.forminator-select2 + .forminator-select .selection .select2-selection--single[role="combobox"] .select2-selection__rendered {
  border:none!important;
  font-size: 16px!important;
  padding: 15px 16px!important;
 border-radius: 0!important; 
}


.forminator-ui.forminator-custom-form[data-design=default] .forminator-button {
  padding: 14px!important;
}

/* ▼ Forminator select arrow → Font Awesome 7 Pro (solid angle-down) */
.forminator-ui.forminator-custom-form[data-design=default]
select.forminator-select2 + .forminator-select .selection
span[role=combobox].select2-selection--single .select2-selection__arrow [class*=forminator-icon-]::before,
.forminator-ui.forminator-custom-form[data-design=default]
select.forminator-select2 + .forminator-select .selection
span[role=combobox].select2-selection--multiple .select2-selection__arrow [class*=forminator-icon-]::before{
  content: "\f107"; /* angle-down */
  font-family: "Font Awesome 7 Pro","Font Awesome 6 Pro","Font Awesome 5 Pro" !important;
  font-style: normal;
  font-weight: 900; /* solid weight */
  -webkit-font-smoothing: antialiased;
  -moz-osx-font-smoothing: grayscale;
}


.forminator-ui.forminator-design--default .forminator-select2 + .forminator-select .selection .select2-selection--single[role="combobox"] .select2-selection__arrow, .forminator-ui.forminator-design--default .forminator-select2 + .forminator-select .selection .select2-selection--single[role="combobox"]:focus .select2-selection__arrow, .forminator-ui.forminator-design--default .forminator-select2 + .forminator-select.select2-container--open .selection .select2-selection--single[role="combobox"] .select2-selection__arrow {
  color: #042335!important;
}


.forminator-select.forminator-select-dropdown-container--open .forminator-select-dropdown.forminator-dropdown--default {
    padding: 0px 14px 9px 14px!important;
    border-style: solid;
    border: none!important;
    background: #fff!important;
    font-size: 14px !important;
}



.forminator-select-dropdown-container--open .forminator-dropdown--default .select2-results .select2-results__options .select2-results__option:not(.select2-results__option--selected).select2-results__option--highlighted, .forminator-select-dropdown-container--open .forminator-dropdown--default .select2-results .select2-results__options .select2-results__option:not(.select2-results__option--selected).select2-results__option--highlighted span:not(.forminator-checkbox-box) {
  background-color: #F9F7F7!important;
  color: #042335!important;
 font-size: 14px !important;
}

.forminator-select-dropdown-container--open .forminator-dropdown--default .select2-results .select2-results__options {
  color: #042335!important;
  font-size: 14px !important;
}

.forminator-select.forminator-select-dropdown-container--open .forminator-select-dropdown.forminator-dropdown--default .select2-results .select2-results__options .select2-results__option {
    padding: 5px 8px;
    font-size: 14px;
}

.layout-form h2 {
  font-size: 30px;
  font-weight: 400;
}


.forminator-edit-module {
  display: none;
}


/* ========================================================================== */
/*  THUMBNAIL GALLERY — OWL CAROUSEL (FINAL)                                  */
/* ========================================================================== */

section.component-thumbnail-gallery {
  background-color: #F9F7F7;
}

/* Hide Owl’s built-in controls; we use custom ones */
.component-thumbnail-gallery .owl-carousel .owl-nav,
.component-thumbnail-gallery .owl-carousel .owl-dots {
  display: none !important;
}

/* Title */
.component-thumbnail-gallery .gallery-title {

  text-transform: uppercase;
  font-size: 13px;
  border-bottom: 0.5px solid #042335;
  padding-bottom: 5px;
  margin-bottom: 25px;
}

/* ========================================================================== */
/* HERO                                                                       */
/* ========================================================================== */

.component-thumbnail-gallery .gallery-hero { position: relative; }

/* The viewport defines the height with aspect-ratio */
.component-thumbnail-gallery .gallery-hero-images.owl-carousel .owl-stage-outer{
  overflow: hidden;
  aspect-ratio: 16 / 9;
  border-radius: 0;
}

/* Make stage/items inherit that height so images can fill it */
.component-thumbnail-gallery .gallery-hero-images .owl-stage,
.component-thumbnail-gallery .gallery-hero-images .owl-item{
  height: 100%;
}

/* Images always fill (cover) */
.component-thumbnail-gallery .gallery-hero-img{
  display: block;
  width: 100%;
  height: 100% !important;   /* beat global img {height:auto} */
  object-fit: cover;
}

/* Caption + custom arrows */
.component-thumbnail-gallery .gallery-hero-bar{
  display: flex;
  align-items: center;
  gap: 12px;
  margin-top: 1rem;
  min-height: 24px;
  margin-bottom: 20px;
}
.component-thumbnail-gallery .gallery-caption{
  flex: 1;
  font-size: 12px;
  letter-spacing: .06em;
  text-transform: uppercase;
  font-weight: 600;
  color:#042335;
  margin-top:2px;
  padding-right: 50px;
}


.component-thumbnail-gallery .gallery-nav{
  display:inline-flex; align-items:center; justify-content:center;
  width:24px; height:24px; padding:0; border:0; background:transparent;
  color:#042335; cursor:pointer; transition:all .25s ease;
  font-size: 12px;
  line-height: 24px;
  text-align: center;
  border: 1px solid #042335;
  border-radius: 100%;
  
}

.component-thumbnail-gallery .gallery-nav:hover {
  background:#042335;
  color:#fff;
}

.component-thumbnail-gallery .gallery-nav i{ line-height:1; }

/* ========================================================================== */
/* THUMBNAILS                                                                 */
/* ========================================================================== */


.component-thumbnail-gallery .thumbs{
  display:flex; align-items:center; gap:12px; margin-top:1rem;
  pointer-events: none;
}
.component-thumbnail-gallery .thumbs-viewport{ overflow:hidden; flex:1; }

/* Owl viewport for thumbs */
.component-thumbnail-gallery .thumbs-track.owl-carousel .owl-stage-outer{ overflow:hidden; }

/* Let Owl handle widths/translate; ensure full-height cells */
.component-thumbnail-gallery .thumbs-track.owl-carousel{ width:100%; }
.component-thumbnail-gallery .thumbs-track .owl-stage{ align-items:stretch; }
.component-thumbnail-gallery .thumbs-track .owl-item{ height:100%;   pointer-events: none;}

/* Thumb button fills its cell; image covers */
.component-thumbnail-gallery .thumbs-track .thumb{
  display:block; width:100%; height:100%;
  padding:0; border:0; background:none; cursor:pointer;
  aspect-ratio: 4 / 3;           /* controls strip height */
  max-height:266px; overflow:hidden;
  transition:transform .25s ease, opacity .25s ease;

}
.component-thumbnail-gallery .thumb-img{
  display:block; width:100%; height:100%; object-fit:cover;
}

/* Keep active thumb VISIBLE (no hiding), just de-emphasise if desired */
.component-thumbnail-gallery .thumb.is-active{
       /* keep this or remove if you want full opacity */
}

/* Focus ring for a11y */
.component-thumbnail-gallery .thumb:focus{
  outline:2px solid #042335; outline-offset:2px;
}



/* ==== HERO: make object-fit work by giving the IMG a real height chain ==== */

/* The viewport defines the height via aspect-ratio */
.component-thumbnail-gallery .gallery-hero-images.owl-carousel .owl-stage-outer{
  overflow: hidden;
  aspect-ratio: 16 / 9;        /* keep your ratio */
  border-radius: 0;
}

/* Make stage and items adopt that height */
.component-thumbnail-gallery .gallery-hero-images .owl-stage,
.component-thumbnail-gallery .gallery-hero-images .owl-item{
  height: 100%;
}

/* CRITICAL: beat global img {height:auto} so the image fills the box */
.component-thumbnail-gallery .gallery-hero-images img.gallery-hero-img{
  display: block;
  width: 100% !important;
  height: 100% !important;     /* <-- enables object-fit properly */
  max-width: none !important;  /* avoid max-width interfering on some themes */
  max-height: none !important;
  object-fit: cover;
  object-position: center;
}

/* (Optional hardening) If any theme styles still fight this,
   absolute-fill the image inside the item. */
@supports (inset: 0) {
  .component-thumbnail-gallery .gallery-hero-images .owl-item{ position: relative; }
  .component-thumbnail-gallery .gallery-hero-images .owl-item > img.gallery-hero-img{
    position: absolute; inset: 0;
  }
}





/* -----------------------------------------------------------
   FAQs Accordion
----------------------------------------------------------- */

section.component-faqs {
  background-color:#F3F1EF;
}

.faqs-accordion {
  margin-top:30px;
}

.faq-item {
  border-bottom: 0.5px solid #042335;
  padding: 1rem 0;
}

.faq-item:first-child {
  border-top: 0.5px solid #042335;
}

.faq-question {
  display: flex;
  align-items: center;
  justify-content: space-between;
  width: 100%;
  font-size: 16px;
  font-weight: 600;
  padding-block: 0;
  padding-inline: 0;
  text-align: left;
  background: none;
  border: none;
  cursor: pointer;
  line-height: 1.3;
}

section.light-text .faq-question {
  color:#fff;
}

.faq-toggle {
    margin-left: 1rem;
font-weight: 400;
font-size: 30px;
}

.faq-answer {
  max-height: 0;
  overflow: hidden;
  padding: 0 0 0 0; /* always keep side padding */
  transition: all 0.4s ease;
 max-width: 1080px;
}

.faq-sub-title {
  margin-top:70px;
  margin-bottom:-10px;
  font-size: 13px;
}

/* FAQs template */

section.light-text .arrow-link::after, section.light-text .arrow-link::before, section.light-text .arrow-link{
  background-color:#fff;
}

section.light-text .faq-item:first-child, section.light-text .faq-item {
  border-color:#fff;
}


.logo-item {
  padding-top:2rem;
  padding-left:1rem;
  padding-right:1rem;
}


.two-column-content strong {
  font-weight: 500;
}



section.text-light {
  color:#fff;
}





section.component-display-homes {
  background:#F9F7F7;
}


.display-home-info {
  background:#fff;

}

.display-home-item {
  margin-left:0;
  margin-right:0;
}

.display-home-info-inner {
  padding:45px;
}

.display-home-info-inner .block-size.mobile {
  display: none;
}

.display-home-item {
  margin-top:55px;
}

.dh-details.padding {
  padding-bottom:0;
  background:#F9F7F7;
}

.dh-contact-details-row {
  margin-top: 70px;
  margin-left: 0;
  margin-right: 0;
}

.dh-details h1 {
  font-size: 50px;
  margin-bottom:0;
}

.dh-details .mobile-download {
  display: none;
}

.display-home-stats.mobile {
  display: none;
}

.display-home-stats {
  margin-top:30px;
  padding: 10px 0;
  border-top: 0.5px solid #000;
  border-bottom: 0.5px solid #000;
  margin-bottom: 20px;
  display: flex;
  align-items: center;       /* ✅ vertically middle align children */
  justify-content: space-between; /* ✅ specs left, block-size right */
}

.display-home-info-inner h3 {
  font-size: 35px;
  font-weight: 400;
  margin-bottom:0;
}

.display-home-stats .specs {

  list-style: none;
  padding: 0;
  margin: 0;
  display: flex;             /* ✅ line up icons/numbers horizontally */
  gap: 20px;                 /* adjust spacing between items */
}

.display-home-stats .specs li {
  display: flex;
  align-items: center;       /* icon and number aligned vertically */
  font-size: 1rem;           /* adjust as needed */
}

.display-home-stats .specs li i {
  margin-right: 6px;   
  font-weight: 300;      /* space between icon and number */
}

.display-home-stats .specs li span {
  font-weight: 500;
}

.block-size {
  font-weight: 600;
  text-transform: uppercase; /* matches your screenshot style */
  font-size: 12px;         /* tweak size */
  letter-spacing: 0.1em;
}


.dh-contact__tel:hover {
  text-decoration: underline;
}

.dh-contact-details-row h4 {
  margin-bottom:30px;
  padding-bottom:5px;
  font-size: 13px;
  border-bottom:0.5px solid #042335;
}


ul.dh-contacts, ul.dh-specs, .location-details ul  {
  list-style: none;
  margin:0;
  padding:0;
}

ul.dh-specs {
  margin-top:45px;
}


ul.dh-contacts li {
  margin-bottom:30px;
}

ul.dh-specs li {
  margin-bottom:15px;
}

ul.dh-specs li img {
    width: 24px;
position: relative;
top: 3px;
}


ul.dh-specs li.spec-beds img {width:24px;}
ul.dh-specs li.spec-bath img {width:23px;}
ul.dh-specs li.spec-car img {width:27px;}


ul.dh-specs li div {
  display: inline-block;
  width:30px;
  text-align: center;
}

ul.dh-contacts li:last-child, ul.dh-specs li:last-child, .location-details ul li:last-child {
  margin-bottom:0;
}

ul.dh-contacts span.dh-contact__name {
    font-weight: 600;
display: inline-block;
margin-bottom: 3px;
}


ul.dh-specs .dh-spec__text {
    font-size: 13px;
  text-transform: uppercase;
  letter-spacing: 0.1em;
  font-weight: 500;
  position: relative;
  top: -3px;
  margin-left: 10px;
}


ul.dh-specs i {
  font-size: 24px;
  font-weight: 300;
}



.component-testimonials h4 {
  margin-bottom:30px;
  padding-bottom:5px;
  font-size: 13px;
  border-bottom:0.5px solid #fff;
}

.component-testimonials {
  font-size: 22px;
}


.component-testimonials.text-dark h4 {
  border-bottom:0.5px solid #042335;
}

.location-details {
margin-bottom: 35px;
padding-top: 5px;
}



.location-details ul li {
  margin-bottom:20px;
}

.location-details li i {
  font-weight: 300;
}

.location-details li span {
  display: inline-block;
  width:calc(100% - 40px);
  line-height: 1.4;
}

.location-details li div  {
    float: left;
width: 17px;
margin-right: 10px;
position: relative;
top: 2px;

  }
  
  .location-details li div.location img {
    max-width: 22px;
    min-width: 22px;
    position: relative;
    left: -3px;
    top: -3px;
  }
  

  
  .display-home-thumb img {
    width: 100%;
    height: 100%;
    object-fit: cover;   
    display: block;
  }
 
 
 section.layout-map-location {
   background:#F9F7F7;
 }
 
 section.layout-map-location.padding {
   padding-bottom:50px;
   padding-top:50px;
 }
 
 section.layout-map-location h4 {
   margin-bottom:30px;
   padding-bottom:5px;
   font-size: 13px;
  border-bottom:0.5px solid #042335;
  padding-top:;
 }


.display-home-stats img {
  margin-right:6px;
  height:20px;
}

.locations img {
  max-width: 17px;
}



/*blocking use of arrows */

section.component-faqs .arrow-link-outer, section.component-display-homes .arrow-link-outer  {
  pointer-events: none;
}


.acf-map {
  height:500px;
}

.testimonial-cta {
  margin-top:50px;
}


.mobile-directions {
  display: none;
}






/* Timeline rail + numbering */
.layout-timeline {
  --rail: 100px;                 /* left padding to make room for number + line */
  --rail-line-x: 0;          /* x-position of the vertical line */
  --rail-vpad: 0;            /* top/bottom inset for the line */
  --line-colour: #042335;
  --number-size: clamp(28px, 6vw, 50px);
  --number-weight: 300;
  --number-colour: #042335;
}

.timeline-row {
 position: relative;
 padding-left: 120px; 
 margin-bottom: 20px;
 padding-bottom: 30px;
}


.timeline-image {
  margin-bottom:23px;
}

.timeline-inner {
  padding-left:50px;
}

.content-only .timeline-inner {
    padding-left: 0;
    padding-bottom: 30px;
}

.timeline-row::before {
  content: "";
  position: absolute;
  left: 5px;
  top: 50px;
  bottom: var(--rail-vpad);
  width: 0.5px;
  background: var(--line-colour);
}

.timeline-index {
  position: absolute;
  left: 0;
  top: -6px;
  color: var(--number-colour);
  font-size: 50px;
  font-style: normal;
  font-weight: 400;
  line-height: 1; 
  letter-spacing: -0.7px;
}

.timeline-image {
aspect-ratio: 4 / 3.4;
}

.timeline-image img {    width: 100%;
  height: 100%;
  object-fit: cover;
  object-position: center;}

.timeline-title {
  font-size: 13px;
  margin: 0 0 20px 0;
  padding: 0 0 10px 0;
  border-bottom: 1px solid var(--line-colour);
  text-transform: uppercase;
}


  .layout-timeline .container .timeline-row:last-child {
    padding-bottom: 0;
    margin-bottom: 0;
  }




  



/* Team: grid & spacing */
.layout-team .team-holder {
  display: grid;
  gap: 60px;
  grid-template-columns: repeat(1, minmax(0, 1fr));
}

/* Breakpoints -> 2 / 3 / 4 / 5 across */
@media (min-width: 480px) {
  .layout-team .team-holder { grid-template-columns: repeat(2, minmax(0, 1fr)); }
}
@media (min-width: 768px) {
  .layout-team .team-holder { grid-template-columns: repeat(3, minmax(0, 1fr)); 
    max-width: 710px;
    margin: auto;
    
    
  }
}
@media (min-width: 1024px) {
  .layout-team .team-holder { grid-template-columns: repeat(4, minmax(0, 1fr)); 
    max-width: 960px;
    margin: auto;
  }
}
@media (min-width: 1280px) {
  /* 5 across on desktop */
  .layout-team .team-holder { grid-template-columns: repeat(5, minmax(0, 1fr));
    
    max-width: 100%;
   }
}

/* Card */
.layout-team .team-member {
  display: flex;
  flex-direction: column;
  gap: 0;
  font-size: 13px;

}


.layout-team .team-member, .layout-team .member-details {
  text-align: center;
}

/* Rounded image corners */
.layout-team .team-image {
  border-radius: 150px;
  overflow: hidden;          /* ensures the image clips to rounded corners */
  line-height: 0;            /* remove inline-gap */
  margin-bottom:20px;
 
}
.layout-team .team-img {
  display: block;
  width: 100%;
  height: auto;
  transform: scale(1);
  transition: all 800ms ease;
}

.layout-team .team-member:hover .team-img {
  transform: scale(1.1);
}




/* Text */
.layout-team .team-name {
border-bottom: 0.5px solid #042335;
margin: 0 0 10px 0;
padding: 0 0 8px;
font-size: 13px;
}
.layout-team .job-description {
    font-weight: 400;
  margin: 0 0 20px;
  font-size: 13px;
}

/* Details (phone/email) */
.layout-team .member-details {
  display: flex;
  flex-direction: column;
  gap: 4px;
  font-weight: 400;
 
}
.layout-team .member-link {
  display: block;
  align-items: center;
  gap: 8px;
  text-decoration: none;
}
.layout-team .member-link i {
  font-size: 0.95em;
  width: 1.1em;
  text-align: center;
  display: none;
}

    .layout-team h3 {
      margin-bottom:80px;
    }





/* Multi Column: auto grid that fills available space, max 4 per row on desktop */
    .layout-multi-column .auto-grid {
      --cols: 4;              /* default fallback */
      --gap: 50px 1rem;
      display: grid;
      gap: var(--gap);
      grid-template-columns: repeat(var(--cols), 1fr);
    }
    
    /* Items themselves don’t need width classes anymore */
    .layout-multi-column .auto-grid-item {
      display: block;
    }
    
    /* Tablet and mobile breakpoints */
    @media (max-width: 991px) {
      .layout-multi-column .auto-grid {
        grid-template-columns: repeat(2, 1fr);
      }
    }
    @media (max-width: 767px) {
      .layout-multi-column .auto-grid {
        grid-template-columns: 1fr;
      }
    }
    
    /* Optional: tighten gaps on smaller screens if you like */
    @media (max-width: 767px) {
      .layout-multi-column .auto-grid { --gap: 16px; }
    }



.row.icons {
  padding-top:50px;
  padding-left: 0.5rem;
  padding-right: 0.5rem;
}


.multi-col-image {
  margin-bottom:28px;
}

.multi-col-image img {
  height:70px;
  width:auto;
}

.multi-col-image.full img {
  width:100%;
  height:auto;
}

.layout-multi-column .buttons {
  padding-top:1rem;
}

section.layout-multi-column ul {
  padding-top:0;
}

section.layout-multi-column li {
  margin: 0 0 20px 0;
}

section.layout-multi-column li:last-child {
  margin-bottom:0;
}


.layout-multi-column .icons h4 {
  

    border-bottom: 0.5px solid #042335;
margin: 0 20px 30px 0;
padding: 0 0 8px;
font-size: 13px;
}


.layout-multi-column.text-light .icons h4 {
  border-color:#fff;
}


.layout-multi-column .icons p, section.layout-multi-column ul  {
  padding-right:20px;
}



.component-image-gallery a.button {
  margin-top:2rem;
}



.component-thumbnail-gallery.component-image-gallery .gallery-caption {
max-width: 720px;
margin-left: 40px;
letter-spacing: 1.6px;
line-height: 1.4;
font-weight: 400;
margin-top: 5px;
}


.component-image-gallery .gallery-hero-bar {
  position: relative;
}


.component-image-gallery .gallery-nav.gallery-prev {
    position: absolute;
    left:0;
    top:0;
}

 .component-image-gallery   .gallery-nav.gallery-next {
        position: absolute;
        right: 0;
        top:0;

}

.component-thumbnail-gallery.component-image-gallery .gallery-hero-bar {
  align-items: start;
}




/* Home Designs Post type build  */


/* Hide the actual text and inject the dataset label instead */
.hd-filter.select.show-default-label {
  color: transparent;
}

.hd-filter.select.show-default-label option {
  color: initial;
}

.hd-filter.select.show-default-label:after {
  content: attr(data-current-label);
  color: #18323E; /* text colour */
  position: absolute;
  left: 12px;
  top: 50%;
  transform: translateY(-50%);
  pointer-events: none;
}


.tax-hd_category h1 {
  font-size: 40px;
}


 .hd-filter-bar {
  padding:10px 0;
  background-color:#E0DBD6;
  margin-bottom:40px;
}


 .hd-card {
background-color: #fff;
 margin-bottom: 40px;
 padding: 10px 10px 50px 0;
}

 .hd-card .hd-card-title {
   margin-bottom: 0;
   margin-top: 20px;
   font-size: 35px;
   font-weight: 400;
 }
 
 
 .hd-card-title a, .hd-card-title a:hover {
    opacity: 1;
    text-decoration: none;
 }

.hd-floorplan-image {
  text-align: center;
  touch-action: none; /* allows our JS to handle pan when zoomed */
}

.hd-floorplan-image a:hover {
  opacity: 1;
}

.hd-floorplan-image img {
  max-width: 416px;
  margin:auto;
}

/* If your buttons sit above the image, ensure they can be tapped */
.fp-zoom-in, .fp-zoom-out {
  pointer-events: auto;
  position: relative; /* keep them on top if overlapping */
  z-index: 2;
}



.horizontal .hd-floorplan-image {
  
}

.horizontal .hd-floorplan-image img {
max-width: 100%;
margin-top: 40px;
max-height: 600px;
width: auto;
  
}

.horizontal .mobile-position {
  display: block;
  gap:0 20px;
}


.horizontal .mobile-position .taxonomy-thumb {
  width:50%;
  float:left;
  padding-right:20px;
  padding-left:10px;
}

.horizontal .mobile-position .hd-content-holder {
  width:50%;
  float:left;
  padding-left:20px;
}

.hd-list-section .horizontal .component-thumbnail-gallery .gallery-hero-bar {
  margin-right:0;
}

.hd-list-section .horizontal .gallery-nav.gallery-prev {
  left: auto;
  right: 55px;
  position: absolute;
}


.horizontal.hd-card {
  padding-bottom:30px;
}

.horizontal.hd-card .hd-card-title {
  margin-top:0;
}

.horizontal .hd-floorplan-image {
  margin-bottom:40px;
  margin-left:auto;
  margin-right:auto;
  max-width:80%;
  
}


.horizontal .component-thumbnail-gallery .gallery-hero-images.owl-carousel .owl-stage-outer {

  aspect-ratio: 21 / 9;
}


.hd-card-description {
  display: flex;
  gap:0 40px;
}

.hd-card-description a {
    min-width: 175px;
    padding: 16px 10px;

}


.hd-card-description ul, .hd-card-description ol {
  margin-top:0;
  margin-bottom:0;
  padding-top: 0;
  padding-bottom: 0;
}

.hd-filter-meta {
  font-size: 12px;
  text-transform: uppercase;
color: #E0DBD6;
  letter-spacing:1.6px;
  font-weight: 600;

}

.hd-list-section.padding {
  padding-top:50px;
}


 .hd-card .display-home-stats, .hd-card-description, .hd-list-section .component-thumbnail-gallery .gallery-hero-bar {
   margin-right:50px;
   
 }
 
 .hd-card .display-home-stats {
   margin-top:20px;
   margin-bottom:40px;
 }
 
 
 
 /* Core wrapper */
 .ds-select {
   --ds-select-width: auto;
   position: relative;
   display: inline-block;
   width: var(--ds-select-width);
   min-width: auto; /* adjust as desired */
 }
 
 /* Hide native select but keep accessible */
 .ds-select__native {
   position: absolute !important;
   inset: 0 !important;
   width: 100% !important;
   height: 100% !important;
   opacity: 0 !important;
   pointer-events: none !important;
 }
 
 /* Button look (like a select) */
 .ds-select__button {
width: auto;
 text-align: left;
 display: inline-block;
 align-items: center;
 justify-content: space-between;
 gap: .75rem;
 padding: 0;
 border: none;
 border-radius: 0;
 background: transparent;
 font: inherit;
 line-height: 1.3;
 cursor: pointer;
 position: relative;
 text-transform: uppercase;
 font-weight: 600;
 letter-spacing: 1.6px;
 font-size: 12px;
 }
 
 .ds-select__button:after {
  content: "\f107";
  display: inline-block;
  font-family: "Font Awesome 7 Pro";
  margin-left: 5px;
  transition: all 150ms ease;
  transform: rotate(0);
  font-size: 9px;
  position: relative;
  top: -1px;
 }
 
 .ds-select.is-open .ds-select__button:after {
  transform: rotate(180deg);
 }
 
 /* Listbox */
 .ds-select__list {
   position: absolute;
   z-index: 1000;
   top: calc(100% + 10px);
   left: -18px;
   right: 0;
   max-height: 260px;
   overflow: auto;
   margin: 0;
  padding: 0 8px;
   list-style: none;
   background: #E0DBD6;
  
   /*border-radius: 6px;*/
   /*box-shadow: 0 8px 30px rgba(2, 14, 32, 0.14);*/
   display: none;
   width:160px;
 }
 
 .ds-select.is-open .ds-select__list { display: block; }
 
 /* Options */
 .ds-select__option {
   padding: .55rem .6rem;
   /*border-radius: 6px;*/
   cursor: pointer;
   user-select: none;
   font-size: 13px;
   background: transparent;
   transition: all 150ms ease;
   margin:5px 0;
 }
 
 .ds-select__option:hover,
 .ds-select__option:focus {
   background: rgba(255,255,255,0.4);
 }
 
 .ds-select__option.is-selected {
 background: rgba(255,255,255,0.4);
   /*font-weight: 600;*/
   
 }
 
 /* Integrate with your grid */
 .hd-filter .ds-select { width: 100%; }
 .hd-filter__item { display: block; }

 
 .hd-filter.hd-filter--row {
   display: flex;
   gap:0 60px;
 }
 
 .layout-cta img {
   max-height:140px;
   width:auto;
   margin:0 auto 30px auto;

 }
 
 .layout-cta .cta-icon {
   margin:0;
 }
 
 .layout-cta .cta-actions {
   padding-top:10px;
 }
  
  .layout-cta h3 {
    font-size: 24px;
   margin-bottom:30px;
   line-height: 1.3;
  }
  
  .layout-cta .button {
    padding: 16px 34px;
  }
  
  
  .layout-cta.padding {
    padding-top:90px;
  }
  
  
  
 
  
  
  .hd-list-section .owl-carousel .owl-nav.disabled {
    display: none!important;
  }
  
  .hd-list-section section.component-thumbnail-gallery {
    background-color:transparent;
  }
  
  
  
  
  
  .hd-list-section .thumbs {
    display: none!important;
  }
  
  .hd-list-section .gallery-nav.gallery-prev{
    left: auto;
    right: 100px;
    position: absolute;
  }
  
  
  .hd-card a.button-mobile, .hd-filter--row.mobile-view {
    display: none;
  }
  
  .hd-card a.button-desktop {
    display: inline-block;
    margin-left:auto;
  }
  
  .hd-filter--row.desktop-view {
    display: flex;
  }



/*

.single-home_design .component-banner .row.large {
    aspect-ratio: 16 / 9;

  
}
*/

.single-home_design .hd-terms.mobile {
  display: none;
}

.single-home_design .hd-terms.desktop {
  display: block;
}

.single-home_design .underlined-title {
    text-transform: uppercase;
    font-size: 13px;
    border-bottom: 0.5px solid #042335;
    padding-bottom: 5px;
    margin-bottom: 30px;
}
  
  
  
  .single-home_design ul.dh-specs {
    margin-top:0;
  }
  
  
 .single-home_design .hd-information.wysiwyg {
   max-width: 500px;
 }
 
 
 .single-home_design .hd-floorplan-details {
   margin-top:35px;
   max-width: 600px;
 }
 
 .single-home_design .hd-floorplan-details .hd-terms {
    font-size: 12px;

     padding: 27px 18px;
     display: inline-block;
 
 }
 
 .single-home_design .hd-floorplan-details .hd-terms p {
   line-height: 1.5;
 }
 
 
 .single-home_design .hd-floorplan-image {
   margin:25px 0 0 0;
   padding:0;
   text-align: left;
 }
 
 
 .single-home_design .hd-floorplan-table {

   background: transparent;
   font-family: inherit;
 }
 
 .single-home_design .hd-floorplan-header {
  background: #E0DBD6;
  padding: 18px;
  font-weight: 400;
  text-transform: uppercase;
  letter-spacing: 1.6px;
  font-size: 13px;
 }
 
 .single-home_design .hd-floorplan-list {
   list-style: none;
   margin: 0;
   padding: 0;
 }
 
 .single-home_design .hd-floorplan-list li {
   display: flex;
   justify-content: space-between;
   align-items: center;
   padding: 18px 18px 5px 18px;
   border-bottom: 0.5px solid #042335;
 }

 
 .single-home_design .hd-floorplan-list .label {
   font-size: 16px;
 }
 
 .single-home_design .hd-floorplan-list .value {
   font-size: 16px;
   font-weight: 600;
 }
 
 
 
 .single-home_design .component-thumbnail-gallery .gallery-hero-images.owl-carousel .owl-stage-outer {
   
   aspect-ratio: 0;
 }

.hd-grid .component-thumbnail-gallery .gallery-hero-images.owl-carousel .owl-stage-outer {
  aspect-ratio: 16 / 10;
}



.single-home_design .component-thumbnail-gallery .gallery-hero-images.owl-carousel .owl-stage-outer {
    overflow: visible;
}
 
 .single-home_design .component-thumbnail-gallery .count {
   float:right;
 }
 
 .single-home_design h1 {
   font-size: 50px;
 }
 
 .single-home_design .component-thumbnail-gallery .gallery-caption {
    letter-spacing: 1.6px;
     font-size: 12px;
     margin-top: 15px;
 }
 
 .single-home_design .component-thumbnail-gallery .gallery-hero-bar {
   width:100%;
   justify-content: space-between; 
   
    }
 
 .single-home_design .component-thumbnail-gallery .gallery-hero-bar .gallery-nav.gallery-next {
   float:right;
 }
 
 .single-home_design .hd-second-button {
   margin-top:40px;
 }
 
 
 .hd-mobile-button {
   display: none;
 }
 
  
  .hd-desktop-button {
    display: inline-block;
  }
 
  
  .single-home_design .padding-half-top.hd-information {
    padding-top:50px ;
  }
  
  .hd-floorplan-image img.floorplan-img,
  .hd-floorplan-image img {
    transform: translate3d(var(--tx,0), var(--ty,0), 0) scale(var(--scale,1));
    transform-origin: center center;
    will-change: transform;
    image-rendering: -webkit-optimize-contrast; /* iOS/Chrome mobile crispness */
  }

  
  
  .single-home_design .row.horizontal {
    -ms-flex-direction: column-reverse;
    -webkit-box-orient: vertical;
    -webkit-box-direction: reverse;
    flex-direction: column-reverse;
  }
  
  .single-home_design .row.horizontal > div {
    -ms-flex-preferred-size: 100%;
    flex-basis: 100%;
    max-width: 100%;
  }
  
  .single-home_design .row.horizontal .hd-floorplan-details {
    max-width: 100%;
  }
  

  
  
  .single-home_design .row.horizontal .hd-floorplan-image {
    margin-top:0;
    margin-left:auto;
    margin-right:auto;
  }
  
.hd-grid .horizontal .component-thumbnail-gallery .gallery-hero-images.owl-carousel .owl-stage-outer {
      aspect-ratio: 16 / 7;
  }
  
  .hd-list-section .horizontal  section.component-thumbnail-gallery {
    margin-top:15px;
  }
  
  
 .hd-floorplan-image[data-zoomable]{position:relative;overflow:hidden;touch-action:none}
 .hd-floorplan-image .floorplan-img{
   display:block;width:100%;height:auto;user-select:none;-webkit-user-drag:none;
   transform-origin:center center;
   transform:translate(var(--tx,0px),var(--ty,0px)) scale(var(--scale,1));
   transition:transform 160ms ease;
 }
 .hd-floorplan-image .fp-zoom-controls{ grid-auto-flow: column; position:absolute;top:10px;right:10px;display:grid;gap:6px;z-index:2}
 .hd-floorplan-image .fp-zoom{padding:0;width:24px;height:24px;line-height:22px;border:0.5px solid #042335;background:#F9F7F7;font-size:13px;font-weight:200;text-align:center;cursor:pointer;transition: all 250ms ease;}
 .hd-floorplan-image .fp-zoom:hover {
   background:#042335;
 }
 
 
 .hd-floorplan-image[data-zoomed="true"]{cursor:grab}
 .hd-floorplan-image[data-zoomed="true"][data-panning="true"]{cursor:grabbing}


 .hd-floorplan-image .fp-zoom img {
   width: 15px;
   height: auto;
   position: relative;
   top: 3px;
   margin-top:0;
 }
 
 
 .hd-floorplan-image .fp-zoom:hover img {
   filter: invert(1) grayscale(1) brightness(1.2);
 }
 
 

  .layout-inclusion-package .row.packages .row {
    padding-bottom:60px;
  }
  
  
  .layout-inclusion-package .underlined-title {
     border-bottom: 0.5px solid #042335;
     padding-bottom: 5px;
     margin-bottom: 55px;

  }
  
  .layout-inclusion-package .packages .underlined-title {
    margin-bottom:30px;
  }
  
  .layout-inclusion-package .packages .package-inner {
  
      padding: 0 30px 0 0;
  }
  
  .layout-inclusion-package .packages .inclusion-image-wrap {
    padding: 0 30px 0 0;
  }
  
  
  .layout-inclusion-package h4 {
    margin-bottom:50px;
  }
  
  .layout-inclusion-package.padding {
    padding-top:90px;
    padding-bottom:75px;
  }
    
    
    .layout-inclusion-package.padding.maybe-no-padding {
      padding-bottom:0;
    }
    
    
section.component-thumbnail-gallery.component-image-gallery-two h3.gallery-title {
      border-bottom: 0.5px solid #042335;
      padding-bottom: 5px;
      margin-bottom: 55px;
      font-size: 24px;
      text-transform: none;
      letter-spacing: 0;
      font-weight: 500;
       
    }
    
    
    
    .gallery-two-title {
      border-bottom: 0.5px solid #042335;
      padding-bottom: 5px;
      margin-bottom: 40px;
    }
    
    section.light .gallery-two-title {
      border-color:#fff;
    }
    
    
    section.light.component-thumbnail-gallery .gallery-nav {
   
        color: #fff;
        border: 1px solid #fff;
    }
    
    
    section.light.component-thumbnail-gallery.component-image-gallery-two h3.gallery-title {
      border-color:#fff;
    }
    
    
    section.light.component-thumbnail-gallery .gallery-nav:hover {
        color: #042335;
        border: 1px solid #fff;
        background-color:#fff!important;
    }
    
  
    
    section.component-thumbnail-gallery.component-image-gallery-two .gallery-nav.gallery-next {
      float:right;
    }
    
    
    .gallery-two-info {
      margin-top:70px;
    }
    
    /*
   section.component-thumbnail-gallery.component-image-gallery-two .gallery-hero-bar {
     position: absolute;
     top:65%;
     z-index: 2;
   }
    */
    
    
    
    /*
    
    section.component-thumbnail-gallery.component-image-gallery-two .gallery-hero {
        position: relative;
        width: 100vw;
        margin-left: calc((100% - 100%) / -2);
        max-width: none;
    }
    
    @media only screen and (max-width: 1440px) {
        section.component-thumbnail-gallery.component-image-gallery-two .gallery-hero {
            position: relative;
            width: 100vw;
            margin-left: calc((100% - 100%) / -2);
            max-width: none;
        }
    }
    */
    
 section.component-thumbnail-gallery.component-image-gallery-two .owl-carousel .owl-stage-outer {
   overflow: visible;
  
 }
 
 
 /* disabled state */
 .gallery-nav.is-disabled, .gallery-two-nav.is-disabled {
   pointer-events: none;
   cursor: default;
   opacity: 0.2;
   background: transparent;
 }

 
 
 p.gallery-two-content {
   margin-bottom:0!important;
 }
 
 
 /* Make the viewport the positioning context */
 .component-image-gallery-two .gallery-viewport {
   position: relative;
 }
 
 /* Pin the bar to the bottom of the images */
.component-thumbnail-gallery.component-image-gallery-two .gallery-hero-bar {
  margin:20px 0 0 0;

  display: block;
}


/* ================================
   DS Banner Gallery (stand-alone)
   ================================ */

.component-banner.is-gallery.ds-gallery-enabled {
  position: relative;
}

/* Media layer stretches behind content */
.component-banner.is-gallery.ds-gallery-enabled .banner-media-wrap {
  position: absolute;
  inset: 0;
  z-index: 0;
  overflow: hidden;
  height: 100%;
}

/* Core gallery wrapper */
.component-banner.is-gallery.ds-gallery-enabled .ds-gallery {
  position: relative;
  width: 100%;
  height: 100%;
  /* Set default fade via CSS var (JS will read data attrs and can override) */
  --fade-ms: 800ms;
}

/* Slides stack; only active (or fading pair) visible */
.component-banner.is-gallery.ds-gallery-enabled .ds-slide {
  position: absolute;
  inset: 0;
  width: 100%;
  height: 100%;
  opacity: 0;
  visibility: hidden;
  z-index: 0;
}

.component-banner.is-gallery.ds-gallery-enabled .ds-slide.is-active,
.component-banner.is-gallery.ds-gallery-enabled .ds-slide.is-fading-in,
.component-banner.is-gallery.ds-gallery-enabled .ds-slide.is-fading-out {
  opacity: 1;
  visibility: visible;
  z-index: 1;
}

/* Background image layer that receives KB animation */
.component-banner.is-gallery.ds-gallery-enabled .kb-bg {
  position: absolute;
  inset: 0;
  background-size: cover;
  background-position: center;
  background-repeat: no-repeat;

  /* Start zoomed in; we animate OUT to scale(1) */
  transform: scale(var(--kb-scale-start, 1.12));
  will-change: transform;
  backface-visibility: hidden;
}

/* Transform origins from ACF */
.component-banner.is-gallery.ds-gallery-enabled .kb-left   { transform-origin: 0%   50%; }
.component-banner.is-gallery.ds-gallery-enabled .kb-center { transform-origin: 50%  50%; }
.component-banner.is-gallery.ds-gallery-enabled .kb-right  { transform-origin: 100% 50%; }

/* Ken Burns — only when .kb-play exists on the active slide BG */
.component-banner.is-gallery.ds-gallery-enabled .ds-slide.is-active .kb-bg.kb-play {
  animation-name: ds-kb-zoomout;
  animation-duration: var(--kb-duration, 4s);
  animation-timing-function: ease-out;
  animation-iteration-count: 1;
  animation-fill-mode: forwards; /* land at scale(1) */
}

@keyframes ds-kb-zoomout {
  0%   { transform: scale(var(--kb-scale-start, 1.12)) translate3d(0,0,0); }
  100% { transform: scale(1.0) translate3d(0,0,0); }
}

/* Fade keyframes for slide transitions (used via JS class toggles) */
@keyframes ds-fade-in   { from { opacity: 0 } to { opacity: 1 } }
@keyframes ds-fade-out  { from { opacity: 1 } to { opacity: 0 } }

.component-banner.is-gallery.ds-gallery-enabled .ds-slide.is-fading-in {
  animation: ds-fade-in var(--fade-ms, 800ms) linear 1 both;
  z-index: 2; /* ensure above fading-out */
}

.component-banner.is-gallery.ds-gallery-enabled .ds-slide.is-fading-out {
  animation: ds-fade-out var(--fade-ms, 800ms) linear 1 both;
  z-index: 1;
}

/* Respect reduced motion */
@media (prefers-reduced-motion: reduce) {
  .component-banner.is-gallery.ds-gallery-enabled .kb-bg,
  .component-banner.is-gallery.ds-gallery-enabled .ds-slide.is-active .kb-bg.kb-play,
  .component-banner.is-gallery.ds-gallery-enabled .ds-slide.is-fading-in,
  .component-banner.is-gallery.ds-gallery-enabled .ds-slide.is-fading-out {
    animation: none !important;
    transform: none !important;
  }
}





/* Trial of iframe input css code override */

.contactFormWrapper label {
  color:blue;
}





/* NEW Mobile filter layout  */


/* --------------------------------------
   MOBILE FILTER DRAWER BASE
---------------------------------------*/

.hd-filter-mobile-wrapper {
    width: 100%;

}

/* Header */
.hd-filter-mobile-header {
    padding-left:28px;
    padding-right:28px;
    display: none;
    align-items: center;
    justify-content: space-between;
    padding-bottom:20px;
}

.hd-filter-mobile-title {
    font-size: 12px;
    font-weight: 600;
    letter-spacing: 0.1em;
    text-transform: uppercase;
    color: #042335;
}

/* Hamburger / close icon */
.hd-filter-mobile-toggle {
    background: none;
    border: none;
    padding: 0;
    cursor: pointer;
    display: block;
    height: 15px;
}

.hd-filter-mobile-toggle .icon-bars,
.hd-filter-mobile-toggle .icon-close {
    width: 22px;
    height: 1px;
    background: #042335;
    display: block;
    position: relative;
}

/* Bars */
.hd-filter-mobile-toggle .icon-bars:before,
.hd-filter-mobile-toggle .icon-bars:after {
    content: "";
    width: 22px;
    height: 1px;
    background: #042335;
    position: absolute;
    left: 0;
}

.hd-filter-mobile-toggle .icon-bars:before { top: -6px; }
.hd-filter-mobile-toggle .icon-bars:after  { top: 6px; }

/* When open replace icon-bars with a rotated cross */
.hd-filter-mobile-toggle.is-open .icon-bars {
    background: transparent;
}
.hd-filter-mobile-toggle.is-open .icon-bars:before {
    transform: rotate(45deg);
    top: 0;
}
.hd-filter-mobile-toggle.is-open .icon-bars:after {
    transform: rotate(-45deg);
    top: 0;
}

/* Drawer container */
.hd-filter-mobile-drawer {
    padding-left:28px;
    padding-right:28px;
    max-height: 0;
    overflow: hidden;
    transition: all .35s ease;
    background-color:#F9F7F7;


}



/* --------------------------------------
   ACCORDION ITEMS
---------------------------------------*/


.hd-filter-mobile-label {
width: 100%;
background: none;
border: none;
padding: 14px 0 13px 0;
text-align: left;
display: flex;
justify-content: space-between;
align-items: center;
cursor: pointer;
border-bottom: 0.5px solid #042335;
}

.hd-filter-mobile-label .label-text {
  font-size: 12px;
  font-weight: 600;
  letter-spacing: 0.1em;
  text-transform: uppercase;
  color: #042335;
}

.hd-filter-mobile-label .label-value {
    font-size: 16px;
    font-weight: 400;
    color: #042335;
    margin-right: 10px;
}

/* Chevron */
.hd-filter-mobile-label .chevron {
    width: 10px;
    height: 10px;
    border-right: 1.5px solid #042335;
    border-bottom: 1.5px solid #042335;
    transform: rotate(45deg);
    transition: transform .25s ease;
}

.hd-filter-mobile-item.is-open .chevron {
    transform: rotate(-135deg);
}

/* Options */
.hd-filter-mobile-options {
    display: none;
    background: #fff;
}

.hd-filter-mobile-item.is-open .hd-filter-mobile-options {
    display: block;
}

.hd-filter-mobile-options button {
    width: 100%;
    background: none;
    border: none;
    padding: 14px 15px;
    font-size: 14px;
    text-align: left;
    border-bottom: 0.5px solid #042335;
    cursor: pointer;
}

.hd-filter-mobile-options button:hover {
    background: rgba(224, 219, 214, 0.5);
}

.hd-filter-mobile-item:first-child {
  margin-top:20px;
}

/* CLEAR FILTER BUTTON */
.hd-mobile-clear-button {
    display: block;
    width: 100%;
    margin: 25px auto 0 auto;
    padding: 12px;
    border: 1px solid #042335;
    background: none;
    text-align: center;
    font-size: 12px;
    letter-spacing: .16em;
    font-weight: 600;
    cursor: pointer;
}

.hd-mobile-clear-button:hover {
  color:#fff;
  background:#042335;
}


.hd-filter-mobile-label {
    display: grid;
    grid-template-columns: auto 1fr 14px;
    gap: 8px;
    align-items: center;
}

.hd-filter-mobile-label .label-text {
    text-align: left;
    min-width: 190px;
}

.hd-filter-mobile-label .label-value {
    text-align: left;
    min-width: 40px; /* keeps everything aligned */
}



.hd-desktop-clear-button {
  margin-left: auto;
  width: auto;
  text-align: left;
  display: inline-block;
  align-items: center;
  justify-content: space-between;
  gap: .75rem;
  padding: 0;
  border: none;
  border-radius: 0;
  background: transparent;
  font: inherit;
  line-height: 1.3;
  cursor: pointer;
  position: relative;
  text-transform: uppercase;
  font-weight: 600;
  letter-spacing: 1.6px;
  font-size: 12px;
  transition: all 250ms ease;
  
}

.hd-desktop-clear-button:hover {
  opacity: 0.6;
}



.hd-desktop-clear-button:after {
    content: "\f00d";
  display: inline-block;
  font-family: "Font Awesome 7 Pro";
  margin-left: 2px;
  font-size: 9px;
  position: relative;
  top: -1px;
}

.news-listing-header{
  background: #9FB1BD;
  padding: 60px 0;
}

.news-listing-header__container{
   max-width: 1268px;
   width: 100% ;
   padding: 0 24px;
   margin: 0 auto;
}

.news-listing-header__title{
 color: #042335;
 font-family: "Montserrat", sans-serif;
  font-size: 40px;
  font-style: normal;
  font-weight: 400;
  line-height: 166%; /* 66.4px */
  letter-spacing: -0.8px;
}

.news-listing-breadcrumbs{
  ul{
    list-style: none;
    display: flex;
    padding: 0;
    margin: 0;
    gap: 5px;
    li{
      color: #333;
      font-family: "Montserrat", sans-serif;
      font-size: 13px;
      font-style: normal;
      font-weight: 400;
      line-height: normal;
      a{
        color: #042335;
        font-family: "Montserrat", sans-serif;
        font-size: 13px;
        font-style: normal;
        font-weight: 700;
        line-height: normal;
        text-decoration: none;
      }
    }
  }
}

.news-listing-section{
  padding-top: 50px;
  background: #F3F1EF;
}

.news-listing-section__container{
  max-width: 1268px;
  width: 100% ;
  padding: 0 24px;
  margin: 0 auto;
}

.news-listing-breadcrumbs{
  padding-bottom: 33px;
}

.news-listing__dropdown-group{
  display: flex;
  gap: 8px;
}

.news-listing__filters{
  display: flex;
  justify-content: space-between;
  flex-wrap: wrap;
  row-gap: 15px;
  margin-bottom: 30px;
  padding: 13px 0 9px;
  border-bottom: 1px solid rgba(0, 0, 0, 0.20);
}

.news-listing__grid{
  display: flex;
  flex-wrap: wrap;
  margin: 0 -13.5px;
}

.news-card{
  max-width: 33.33%;
  width: 100%;
  padding: 0 13.5px;
  margin-bottom: 30px;
}

.news-card__image{
  position: relative;

  img{
    height: 234.678px;
    object-fit: cover;
  }

  a{
    position: absolute;
    width: 100%;
    height: 100%;
    top: 0;
    left: 0;
  }
}

.news-card__tags{
   position: absolute;
    top: 10px;
    right: 10px;
    display: flex;
    gap: 10px;

  span{
     display: inline-flex;
    padding: 8px 12px;
    justify-content: center;
    align-items: center;
    gap: 8px;
    background: #9FB1BD;
    color: #042335;
    text-align: center;
    font-family: "Montserrat", sans-serif;
    font-size: 11px;
    font-style: normal;
    font-weight: 500;
    line-height: 100%; /* 11px */
    text-transform: uppercase;
  }
}

  .news-card__content{
    padding: 15px 5px;
  }

  .news-card__title{
    
      color: #042335;
      font-family: "Montserrat", sans-serif;
      font-size: 13px;
      font-style: normal;
      font-weight: 600;
      line-height: 20px; /* 153.846% */
      margin-bottom: 11px;
      min-height: 40px;

      a{
        text-decoration: none;
      }
   
  }

  .news-card__meta{
    color: rgba(4, 35, 53, 0.50);
    font-family: "Montserrat", sans-serif;
    font-size: 13px;
    font-style: normal;
    font-weight: 400;
    line-height: 20px; /* 153.846% */
  }

  .news-card__excerpt{
    color: #042335;
    font-family: "Montserrat", sans-serif;
    font-size: 13px;
    font-style: normal;
    font-weight: 400;
    line-height: 20px; /* 153.846% */
  }
 
  .news-listing__dropdown{
    select{
      border: 1px solid rgba(0, 0, 0, 0.10);
      background: #FFF;
      height: 34px;
      appearance: none;
      padding: 0 7px;
      color: #042335;
       font-family: "Montserrat", sans-serif;
      font-size: 13px;
      font-style: normal;
      font-weight: 400;
      line-height: 150%; /* 19.5px */
      width: 165px;
      background-image: url('../images/select-icon.svg');
      background-repeat: no-repeat;
      background-position: right 7px center;

    }
  }

  .news-listing__search{
    display: flex;
    gap: 10px;
    align-items: center;

    input{
      background-color: transparent;
      color: rgba(4, 35, 53, 0.50);
      border: 0;
      font-family: "Montserrat", sans-serif;
      font-size: 13px;
      font-style: normal;
      font-weight: 600;
      line-height: 120%; /* 15.6px */
    }
  }

  .news-pagination{
    display: flex;
    align-items: center;
    justify-content: center;
    gap: 12px;
    
  }

  .news-pagination__btn{
    width: 60px;
    height: 60px;
    border: 1px solid #042335;
    background-color: #fff;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    color: #042335;
    font-family: "Montserrat", sans-serif;
    font-size: 12px;
    font-style: normal;
    font-weight: 600;
    line-height: 24px; /* 200% */
    cursor: pointer;
  }

  .news-pagination__btn.is-active{
    background-color: #042335;
    color: #fff;
  }

  .news-listing__results{
    padding-bottom: 60px;
  }

  .single-post__header-banner{
    height: 495px;
    background-size: cover;
    background-position: center;
  }

  .single-post__header{
    background: #9FB1BD;
    display: flex;
    padding: 30px 0 60px;
  }

  .single-post__header-container{
    max-width: 1268px;
    width: 100% ;
    padding: 0 24px;
    margin: 0 auto;   
  }

  .single-post__breadcrumbs{
    padding: 20px 0 33px;
    ul{
      list-style: none;
      display: flex;
      padding: 0;
      margin: 0;
      gap: 5px;
      li{
        color: #333;
        font-family: "Montserrat", sans-serif;
        font-size: 13px;
        font-style: normal;
        font-weight: 400;
        line-height: normal;
        a{
          color: #042335;
          font-family: "Montserrat", sans-serif;
          font-size: 13px;
          font-style: normal;
          font-weight: 700;
          line-height: normal;
          text-decoration: none;
        }
      }
    }
}

  .single-post__title{
    color: #042335;
    font-family: "Montserrat", sans-serif;
    font-size: 24px;
    font-style: normal;
    font-weight: 600;
    line-height: 36px; /* 150% */
   margin-bottom: 0;
  }

  .single-post__meta{
    display: flex;
    gap: 20px;
    align-items: center;
  }

  .single-post__author-image{
    img{
      width: 57px;
      height: 57px;
      border-radius: 50%;
      object-fit: cover; 
    }
  }

  .single-post__author{
    margin-bottom: 0;
    color: #042335;
    font-family: "Montserrat", sans-serif;
    font-size: 13px;
    font-style: normal;
    font-weight: 500;
    line-height: 20px; /* 153.846% */
  }

  .single-post__header-top-title{
    display: flex;
    justify-content: space-between;
    align-items: center;
    flex-wrap: wrap;
   row-gap: 15px;
    margin-bottom: 24px;
  }

  .single-post__tags{
    display: flex;
    gap: 10px;
  }

  .single-post__tag{
    display: flex;
    padding: 8px 12px;
    justify-content: center;
    align-items: center;
    gap: 8px;
    background: #FFF;
    color: #042335;
    text-align: center;
    font-family: "Montserrat", sans-serif;
    font-size: 11px;
    font-style: normal;
    font-weight: 500;
    line-height: 100%; /* 11px */
    text-transform: uppercase;
    text-decoration: none;
  }

  .single-post__date{
    color: #042335;
    font-family: "Montserrat", sans-serif;
    font-size: 13px;
    font-style: normal;
    font-weight: 500;
    line-height: 20px; /* 153.846% */
  }

  .single-post__main-container{
    max-width: 1268px;
    width: 100% ;
    padding: 0 24px;
    margin: 0 auto;
    display: flex;
     align-items: flex-start;
  }

  .single-post__main{
    padding: 61px 0 42px;

  }

  .single-post__content{
    flex: 1;
    margin-left: 73px;
    margin-right: 58px;
    p{
      color: #042335;
      font-family: "Montserrat", sans-serif;
      font-size: 13px;
      font-style: normal;
      font-weight: 400;
      line-height: 20px;
      margin-bottom: 30px;

      strong{
        font-weight: 700;
      }
    }

    h2{
         color: #042335;
        font-family: "Montserrat", sans-serif;
        font-size: 13px;
        font-style: normal;
        font-weight: 400;
        line-height: 20px;
        margin-bottom: 30px;
      }

    img{
      line-height: 0;
      margin-bottom: 30px;
    }

    blockquote{
      background: #F3F1EF;
      display: flex;
      padding: 20px 20px 20px 80px;
      margin-bottom: 30px;
      border: 0;
      background-image: url('../images/quote.svg');
      background-repeat: no-repeat;
      background-position: left 35px center;

      color: #042335;
      font-family: "Montserrat", sans-serif;
      font-size: 13px;
      font-style: normal;
      font-weight: 400;
      line-height: 20px; /* 153.846% */
    }
  }

  .single-post__content-takeaway{
    background: #F3F1EF;
    padding: 30px;
    margin-bottom: 30px;

    p{
      color: #042335;
      font-family: "Montserrat", sans-serif;
      font-size: 13px;
      font-style: normal;
      font-weight: 400;
      line-height: 20px; /* 153.846% */
      margin-bottom: 10px;
    }

    h2{
       color: #042335;
        font-family: "Montserrat", sans-serif;
        font-size: 13px;
        font-style: normal;
        font-weight: 700;
        line-height: 20px; /* 153.846% */
        margin-bottom: 10px;
    }

    ul{
      padding: 0 20px;
      margin: 0;
      li{
        color: #042335;
        font-family: "Montserrat", sans-serif;
        font-size: 13px;
        font-style: normal;
        font-weight: 400;
        line-height: 20px; /* 153.846% */
      }
    }
  }

  .single-post__share span{
  
            color: rgba(0, 42, 69, 1);
            font-size: 10px;
            font-style: normal;
            font-weight: 400;
            line-height: 16px;
            text-transform: uppercase;
            display: inline-flex;
            margin-bottom: 10px;
      
  }

  .single-post__share a {
    width: 34px;
    height: 34px;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    background-color: rgba(242, 242, 242, 1);
    border-radius: 4px;
}

.single-post__share a.a2a_button_linkedin svg {
    width: 16px;
    height: auto;
}

.single-post__share a.a2a_button_email svg {
    width: 16px;
    height: auto;
}

.single-post__share a svg path {
    fill: rgba(0, 42, 69, 1);
}

.single-post__share  .a2a_kit{
  display: flex;
  flex-direction: column;
  gap: 8px
}

.single-post__side{
  position: sticky;
  top: 150px;
   align-self: flex-start;
   z-index: 9;
}

.single-post__side-table{
  border: 1px solid rgba(4, 35, 53, 0.30);
  background: #FFF;
  max-width: 294px;
  width: 100%;
  padding: 36px 26px;
  p{
    color: #000;
  font-family: Montserrat;
  font-size: 20px;
  font-style: normal;
  font-weight: 600;
  line-height: 34px; /* 170% */
  letter-spacing: -0.4px;
  margin-bottom: 9px;
  }
  ul{
    padding:0;
    margin: 0;
    list-style: none;
    li{
      a{
        color: #042335;
        font-family: "Montserrat", sans-serif;
        font-size: 13px;
        font-style: normal;
        font-weight: 600;
        line-height: 20px; /* 153.846% */
        text-decoration: none;
      }
    }
  }
}

.single-post__related{
  background: #F3F1EF;
  padding: 30px 0 60px;

  h2{
    color: #042335;
    font-family: "Montserrat", sans-serif;
    font-size: 22px;
    font-style: normal;
    font-weight: 500;
    line-height: 166%; /* 36.52px */
    letter-spacing: -0.44px;
    margin-bottom: 30px;
  }
  
}

.single-post__related-container{
  max-width: 1268px;
  width: 100% ;
  padding: 0 24px;
  margin: 0 auto;
}

.single-post__grid{
  display: flex;
  flex-wrap: wrap;
  margin: 0 -13.5px;
}

@media screen and (max-width: 1024px){
  .single-post__main-container{
    flex-wrap: wrap;
  }
  .single-post__share{
    max-width: 100%;
    width: 100%;
    margin-bottom: 30px;
  }

  .single-post__side{
    margin-bottom: 30px;
  }

  .single-post__side{
    max-width: 100%;
    width: 100%;
  }

  .single-post__side-table{
    max-width: 100%;
  }

  .single-post__share .a2a_kit{
    flex-direction: row;
  }

  .single-post__content{
    margin-left: 0;
    margin-right: 0;
    max-width: 100%;
    width: 100%;
    flex: auto;
    order: 2;
  }
}

.news-listing__search {
	position: relative;
	display: flex;
	align-items: center;
}

#news-keyword {
	width: 100%;
	padding-right: 40px;
}

.news-listing__clear {
	position: absolute;
	right: 12px;
	top: 50%;
	transform: translateY(-50%);
	border: 0;
	background: transparent;
	cursor: pointer;
	font-size: 20px;
	line-height: 1;
	padding: 0;
	color: #000033;
}

  @media screen and (max-width: 768px) {
    .news-card{
      max-width: 50%;
    }

    .news-listing-header__title{
      font-size: 30px;
      line-height: 36px;
    }

    .news-listing-header{
      padding: 40px 0;
    }

    .single-post__content{
      blockquote{
        
        background-position: left 30px  top 25px;
      }
    }
  }

  @media screen and (max-width: 480px) {
    .news-card{
      max-width: 100%;
    }

    .news-pagination__btn{
      width: 40px;
      height: 40px;
    }

    .news-listing__dropdown {
      width: 50%;
      select {
        width: 100%;
      }
    }

    .news-listing__dropdown-group{
      width: 100%;
    }
  }