/* Static migration: retain the original Sydney design, with native interactions. */
:root { --xyz-accent: #ec297b; }
html { scroll-behavior: smooth; scroll-padding-top: 120px; }
body { font-family: Raleway, sans-serif; }
button, input, textarea, select { font-family: inherit; }
img { max-width: 100%; }
a:focus-visible, button:focus-visible { outline: 3px solid var(--xyz-accent); outline-offset: 5px; }
[inert] { pointer-events: none; }
.screen-reader-text:focus { z-index: 100000; }
.site-header { z-index: 1000; }
.site-header .btn-menu { border: 0; background: transparent; padding: 8px; }
#mainnav .sub-menu { visibility: hidden; opacity: 0; }
#mainnav li:hover > .sub-menu, #mainnav li:focus-within > .sub-menu { visibility: visible; opacity: 1; top: 100%; }
.contact-phone a { color: inherit; }
.contact-phone a:hover { color: var(--xyz-accent); }
.header-image { display: block; background-image: var(--header-image) !important; }
#mainnav ul ul a { font-family: Raleway, sans-serif !important; }
.page-template-page_front-page .header-image { display: none; }

/* The first sector is visible before JavaScript loads and without JavaScript. */
.header-slider { height: 100vh; height: 100svh; min-height: 560px; background: #172c3a; }
.slides-container { position: relative; width: 100%; height: 100%; }
.slides-container .slide-item {
  position: absolute; inset: 0; height: 100% !important;
  background-image: var(--slide-image) !important;
  background-size: cover; background-position: center; background-attachment: scroll;
  opacity: 0; visibility: hidden; transition: opacity .8s ease, visibility .8s;
}
.slides-container .slide-item.is-active { opacity: 1; visibility: visible; z-index: 1; }
.mobile-slide { display: none !important; }
.slide-inner { padding-left: 24px; padding-right: 24px; }
.text-slider { animation: none; }
.text-slider .maintitle { font-weight: 600; }
.text-slider .subtitle { font-weight: 400; }
.roll-button { font-weight: 600; }
.slider-controls {
  display: none; position: absolute; bottom: 22px; left: 50%; transform: translateX(-50%);
  z-index: 3; align-items: center; gap: 2px;
}
.js .slider-controls { display: flex; }
.slider-controls button {
  display: grid; place-items: center; width: 36px; height: 36px; padding: 0;
  border: 0; background: transparent; color: #fff; font-size: 18px;
}
.slide-dot::before { content: ""; width: 8px; height: 8px; border: 1px solid #fff; border-radius: 50%; }
.slide-dot[aria-pressed="true"]::before { background: #fff; }
.slider-pause { margin-left: 8px; border-radius: 50%; }
.slider-controls button:hover { background: rgb(0 0 0 / 28%); }

/* Replace SiteOrigin's runtime stretching with a responsive CSS layout. */
.siteorigin-panels-stretch[data-stretch-type="full"] {
  box-sizing: border-box; width: 100vw; max-width: none;
  margin-left: calc(50% - 50vw); margin-right: calc(50% - 50vw);
  padding-left: max(15px, calc((100vw - 1140px) / 2)) !important;
  padding-right: max(15px, calc((100vw - 1140px) / 2)) !important;
}
.panel-row-style { box-sizing: border-box; }
.so-widget-sow-headline-default-c21e49e24865 .sow-headline-container h1.sow-headline { color: var(--xyz-accent); }
.so-widget-sow-headline-default-c21e49e24865 .sow-headline-container h2.sow-sub-headline { color: #fff; }
.sydney_services_widget::after, .roll-icon-list::after, .sydney_latest_news_widget::after { content: ""; display: table; clear: both; }
.roll-promobox .title { color: #fff; }
#content-development, #primary, #content, #research-report { scroll-margin-top: 0; }
.booking-fallback { margin-top: 24px; font-size: 14px; }
iframe[title^="Book a free"] { border: 0; max-width: 100%; }
.site-footer, .site-footer a { color: #b6b6b6; }

@media (min-width: 1025px) {
  .site-header.fixed { position: fixed; }
}
@media (max-width: 1199px) and (min-width: 992px) {
  .siteorigin-panels-stretch[data-stretch-type="full"] {
    padding-left: max(15px, calc((100vw - 940px) / 2)) !important;
    padding-right: max(15px, calc((100vw - 940px) / 2)) !important;
  }
}
@media (max-width: 1024px) {
  .site-header, .site-header.float-header { position: relative !important; padding: 12px 0; background: #080808; }
  .site-header .header-wrap { text-align: left; }
  .site-header .header-wrap > .container > .row { display: flex; align-items: center; }
  .site-header .header-wrap .col-md-4 { flex: 1; }
  .site-header .header-wrap .col-md-8 { position: static; width: auto; }
  .site-header .site-logo { width: 112px; max-height: 75px; object-fit: contain; }
  .site-header .btn-menu { display: none; float: none; margin: 0 !important; width: 44px; height: 44px; }
  .js .site-header .btn-menu { display: inline-grid; place-items: center; }
  #mainnav { display: block; float: none; }
  .js #mainnav { display: none; }
  .js .menu-open #mainnav { display: block; }
  #mainnav {
    position: absolute; left: 0; right: 0; top: 100%; width: 100%; padding: 0 24px 16px;
    background: #131313; max-height: calc(100svh - 90px); overflow-y: auto;
  }
  #mainnav ul { display: block; margin: 0; padding: 0; }
  #mainnav ul li { float: none; display: block; padding: 0; }
  #mainnav ul li a, .site-header.float-header #mainnav > ul > li > a {
    display: block; float: none; width: 100%; height: auto; line-height: 1.5; padding: 12px 8px; font-size: 15px;
  }
  #mainnav ul li ul {
    position: static; display: block; width: auto; visibility: visible; opacity: 1;
    border: 0; padding: 0 0 0 18px; background: transparent;
  }
  #mainnav ul li ul a { width: auto; background: transparent; border: 0; font-size: 14px; }
  .site-header #mainnav .sub-menu { visibility: visible; opacity: 1; }
  #mainnav ul li ul::after { display: none; }
  .no-js .site-header { margin-bottom: 290px; }
  .header-slider { height: 65svh; min-height: 420px; max-height: 700px; }
  .slide-inner { min-height: 0; }
  .siteorigin-panels-stretch[data-stretch-type="full"] { padding-left: 30px !important; padding-right: 30px !important; }
}
@media (max-width: 780px) {
  .siteorigin-panels-stretch[data-stretch-type="full"] { padding-left: 20px !important; padding-right: 20px !important; }
  .panel-grid-cell { min-width: 0; }
  .text-slider .maintitle { font-size: 36px; line-height: 1.2; }
  .text-slider .subtitle { font-size: 18px; line-height: 1.55; padding: 18px 0 28px; }
  .slide-inner { padding: 0 20px; }
  .header-slider { height: 490px; height: min(70svh, 520px); min-height: 430px; }
  .header-image { height: 80px !important; }
  .page-wrap { padding-top: 35px; padding-bottom: 35px; }
  .page-template-page_front-page .page-wrap { padding: 0; }
  .panel-grid-cell .widget-title { font-size: 24px; }
  .panel-grid-cell .panel-widget-style { overflow-wrap: break-word; }
  #panel-8-1-1-0 { margin-top: 30px; }
  .service.col-md-4 { width: 100%; float: none; }
  .blog-post.col-md-4 { width: 100%; float: none; margin-bottom: 35px; }
  .footer-widgets .sidebar-column { float: none; width: 100%; }
  .content-area .post-wrap { padding-right: 0; }
  .single .hentry .title-post { font-size: 30px; }
  .go-top { right: 12px; }
}
@media (prefers-reduced-motion: reduce) {
  html { scroll-behavior: auto; }
  *, *::before, *::after { animation: none !important; transition: none !important; }
}
