/*
Theme Name:   Somentra Child
Theme URI:    https://themeforest.net/user/greatives
Description:  Somentra Child Theme
Version:      2.1.0
Author:       Greatives Team
Author URI:   https://greatives.eu
Template:     impeka
*/

/* ==========================================
=! globals
------------------------------------------ */

:root {
  --ws-site-padding: 90px;
  --ws-container-padding: 117px;
  --ws-container-size: 940px;
  --ws-banner-height: 720px;
  --ws-banner-height-tablet: 420px;
  --ws-banner-height-mobile: 212px;
  --section-border-lg: solid #d1d1cf 8px;
  --section-border-md: solid #d1d1cf 6px;
  --border-radius-sml: 7px;
  --ws-gradient-one: linear-gradient(to bottom, #52b1ee 0%, #0069b4 100%);
  --font-headings: "neue-aachen-pro", serif;
  --font-body: "Roboto", sans-serif;
}

#grve-main-content p:last-child {
  margin-bottom: 30px;
}

/* --- word wrapping --- */

#grve-theme-wrapper,
#grve-theme-wrapper * {
  overflow-wrap: anywhere !important;
  word-break: normal !important;
}

/* ==========================================
=! typography
------------------------------------------ */

h2,
.grve-h2,
h3,
.grve-h3 {
  & strong {
    font-weight: 700 !important;
  }
}

h5,
.grve-h5 {
  & strong {
    font-weight: 500 !important;
  }
}

/* --- spacing --- */
:is(h1, .grve-h1) {
  padding-bottom: 30px;
}

:is(h2, .grve-h2) {
  padding-bottom: 10px;
}

:is(h6, .grve-h6) {
  padding-top: 28px;
  padding-bottom: 24px;
}

/* --- colour overrides --- */
:is(h2, h3, h4, h5, .grve-h2, .grve-h3, .grve-h4, .grve-h5) {
  color: var(--wp--preset--color--primary-3);
}

/*a[aria-current="page"]:not([aria-expanded="true"]) {
  color: var(--wp--preset--color--primary-2) !important;
  transition: color ease-in 0.1s;
}*/

a[aria-current="page"]{
	color: var(--wp--preset--color--primary-1) !important;
}

/* ==========================================
=! header
------------------------------------------ */

.ico-phone {
  & .grve-item {
    display: flex !important;
    align-items: center;
    flex-direction: row;
    gap: 10px;
  }

  &:hover span::before {
    background-color: var(--wp--preset--color--primary-2);
  }

  & span::before {
    content: "";
    background: url(https://devsites.au/iria/wp-content/uploads/2026/08/ico-phone.svg)
      no-repeat center center var(--wp--preset--color--primary-4);
    background-size: 85%;
    display: block;
    width: 44px;
    height: 44px;
    border-radius: 50px;
    border: 2px solid #000;
  }
}

#grve-main-header .grve-header-menu .grve-first-level.grve-menu-type-button {
  & .grve-item {
    background: var(--ws-gradient-one);
    font-family: var(--font-body);
    font-weight: 600;
    font-size: 20px;
  }

  &:hover .grve-item {
    background: var(--wp--preset--color--primary-2);
  }

  &.grve-shape-round > .grve-link-wrapper a .grve-item {
    border-radius: var(--border-radius-sml);
  }
}

#grve-responsive-menu-area .grve-vertical-menu li.menu-item + li.menu-item {
  margin-top: 0;
}

#ws-sidebar-menu,
#grve-responsive-main-menu .grve-menu {
  & .menu-item {
    line-height: 23px !important;
    margin-bottom: 10px !important;
  }

  & .sub-menu {
    padding-left: 0 !important;
    padding-top: 5px;
  }

  & .sub-menu li {
    margin-bottom: 3px !important;
  }
}

/* submenu indicator: caret instead of plus */
.grve-vertical-menu.grve-accordion-animation .grve-arrow::before,
.grve-vertical-menu.grve-toggle-animation .grve-arrow::before {
  width: 8px;
  height: 8px;
  background-color: transparent;
  border-right: 2px solid var(--wp--preset--color--primary-3);
  border-bottom: 2px solid var(--wp--preset--color--primary-3);
  transform: translate(-70%, -50%) rotate(-45deg);
}

#grve-responsive-menu-area
  .grve-vertical-menu.grve-toggle-animation
  .grve-arrow::before {
  border-right: 2px solid #fff;
  border-bottom: 2px solid #fff;
}

.grve-vertical-menu.grve-accordion-animation .grve-arrow:hover::before,
.grve-vertical-menu.grve-toggle-animation .grve-arrow:hover::before {
  border-right: 2px solid var(--wp--preset--color--primary-2) !important;
  border-bottom: 2px solid var(--wp--preset--color--primary-2) !important;
}

.grve-vertical-menu.grve-accordion-animation .grve-arrow::after,
.grve-vertical-menu.grve-toggle-animation .grve-arrow::after {
  display: none;
}

/* open: points down */

.grve-vertical-menu.grve-toggle-animation .grve-arrow.grve-open::before,
.grve-vertical-menu.grve-toggle-animation .grve-arrow.grve-open::before {
  transform: translate(-50%, -70%) rotate(0deg);
}

.grve-vertical-menu .grve-link-wrapper {
  display: flex;
  align-items: center;
  width: 100%;
}

.grve-vertical-menu .grve-link-wrapper > a {
  flex: 1 1 auto;
}

.grve-vertical-menu .grve-arrow {
  flex: 0 0 auto;
  margin-left: auto;
}

/* ==========================================
=! body
------------------------------------------ */

/* --- site padding overrides --- */

#grve-main-content .grve-main-content-wrapper {
  padding-top: 0;
  padding-bottom: 0;
}

/* --- white / lead section --- */
/*.grve-single-wrapper {
	border-top: var(--section-border-lg);
}*/

.ws-border-bottom-lg {
  border-bottom: var(--section-border-lg);
}
.ws-border-bottom-md {
  border-bottom: var(--section-border-md);
}

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

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

.ws-intro-row {
  padding-top: var(--ws-container-padding) !important;
}

/*
.grve-row-section:first-of-type {
	border-bottom: var(--section-border-lg);
}

.grve-row-section:not(:first-of-type) {
	border-bottom: var(--section-border-md);
}
*/

/* --- in-page links --- */

.grve-text a {
  text-decoration: underline;
}

/* ==========================================
=! page banner
------------------------------------------ */

#grve-feature-section.has-banner-badge {
  position: relative;
  overflow: visible;
  z-index: auto !important;
}
.ws-intro-row {
  border-top: var(--section-border-lg);
}

.iria-banner-badge {
  top: -124px;
}

.single-post .iria-banner-badge {
  top: -100px;
}

.ws-card-sign-top-wrapper {
  display: none !important;
}

.iria-banner-badge-wrap {
  position: relative;
  height: 0;
}

.iria-banner-badge {
  position: absolute;
  right: 0;
  width: auto;
  line-height: 0;
  z-index: 20;
}

.iria-banner-badge img {
  display: block;
  width: 100%;
}

/* ==========================================
=! components
------------------------------------------ */

/*#grve-theme-content{
	vertical-align: bottom !important;
	
	& .grve-container::after{
		content:'';
		display:block;
		background: url(https://devsites.au/iria/wp-content/uploads/2026/09/Sign-BTW140v2.svg) no-repeat;
		background-size: contain;
		width:140px;
		height:185px;
		position:absolute;
		bottom:-140px; 
		right:0;
		z-index:99999;
	}
}*/

/* Buttons */

.grve-btn {
  background: var(--ws-gradient-one);
  border-radius: var(--border-radius-sml);
  font-family: var(--font-body);
  font-weight: 600;
  font-size: 17px;
  padding: 0.563em 0.7em !important;
  border: none;

  &:hover {
    background: var(--wp--preset--color--primary-2) !important;
  }
}

/* Counters */

.grve-counter-content .grve-h4 {
  font-weight: 600;
}

.ws-counter-row .grve-image-item {
  min-height: 125px;
}

.ws-counter-row .grve-column-wrapper-inner {
  border-style: solid;
  border-width: 8px;
  border-color: rgba(255, 255, 255, 0.5);
  border-radius: var(--border-radius-sml);
}

.ws-counter-row .grve-column-inner-content {
  background: #fff;
  min-height: 250px;
  padding-block: 10px;
}

.ws-card-white-cta {
  background: #fff;
  border: #a8d8f6 8px solid;
  border-radius: 8px;
  padding: 30px !important;

  &:hover {
    border-color: var(--wp--preset--color--primary-2);

    & .ws-heading-arrow {
      color: var(--wp--preset--color--primary-2) !important;
    }
    & .ws-heading-arrow::before {
      filter: brightness(0) saturate(100%) invert(84%) sepia(12%)
        saturate(5738%) hue-rotate(332deg) brightness(103%) contrast(98%);
    }
  }
}

.ws-heading-arrow {
  display: flex;
  flex-direction: row;
  gap: 15px;

  & span {
    min-width: 0;
    padding-top: 10px;
  }

  &::before {
    content: "";
    flex: 0 0 72px;
    width: 72px;
    height: 85px;
    display: block;
    background-size: contain !important;
    background-repeat: no-repeat !important;
    background: url('data:image/svg+xml,<%3Fxml version="1.0" encoding="UTF-8"%3F><svg id="a" xmlns="http://www.w3.org/2000/svg" width="67.995" height="77.996" viewBox="0 0 67.995 77.996"><defs><style> .c { fill: %2352b1ee; } </style></defs><path id="b" class="c" d="M64.51,32.862L10.49.972C8.16-.408,5.53-.238,3.49.972S0,4.402,0,7.152l.04,63.7c0,5.49,5.83,8.92,10.49,6.18l53.97-31.81c4.66-2.75,4.66-9.61,0-12.36h.01ZM63.5,43.452l-53.97,31.81c-1.56.92-3.43.92-4.99,0-1.56-.92-2.5-2.57-2.5-4.41l-.04-63.7c0-1.85.93-3.5,2.5-4.42,1.57-.92,3.43-.92,5,0l54.01,31.89c1.56.92,2.5,2.57,2.49,4.42,0,1.84-.93,3.49-2.5,4.41ZM21.79,54.952l12.53-13.19-26.32.05v-5.67l26.32.05-12.53-13.19h7.16l15.05,15.95-15.05,16.05-7.16-.05Z"/></svg>');
  }
}

/* --- racking character cards --- */

.ws-card-ric.ws-card-ric-full img{
	padding-right: 0 !important;
	max-height: 150px !important;
}

.ws-card-ric {
  --_gap: 20px;
  background: #fff;
  border: #a8d8f6 8px solid;
  border-radius: 8px;
  padding: var(--_gap);
  display: flex;
  flex-direction: column;
  align-items: flex-start;
  gap: var(--_gap);
  height: 100%;

  & .grve-box-title {
    margin-bottom: 0 !important;
  }

  /* override annoying grve stretch defaults */
  & .grve-thumbnail {
    padding-top: unset !important;
  }

  &
    .grve-thumbnail-wrapper
    img:not(.grve-dummy-image):not(.grve-image-from-url) {
    position: relative !important;
    width: 200px !important;
  }

  & img {
    object-fit: contain;
    object-position: left;
    padding-left: 0px;
    padding-right: 33.333%;
    max-height: 140px !important;
  }

  & .grve-box-content {
    margin-top: 0 !important;
  }
}

/* --- stat sign cards --- */

/* helper utility to offset grid (in order to align with other cards within aside layout)  */
.ws-grid-offset--left {
  padding-left: 40px !important;

  & .grve-column-inner {
    padding-left: 20px !important;
    padding-right: 27px !important;
  }
}

/* top sign */

.ws-card-sign {
  & .grve-column-inner-content {
    height: 100%;
  }

  & .grve-title {
    margin-bottom: 0;
  }

  & h5 {
    font-weight: 500;
  }
}

.ws-card-sign-top-wrapper {
  position: relative;
}

.ws-card-sign-top {
  position: absolute !important;
  /*top: calc(var(--ws-container-padding) * -1);*/
  top: 0;
  right: 0;
  z-index: 99999 !important;

  & img {
    max-width: 80px;
  }
}

.ws-card-sign-green {
  background: url(https://devsites.au/iria/wp-content/uploads/2026/09/Sign-BTW140v2.svg)
    no-repeat;
  background-size: contain;
  max-width: 140px;
  height: 185px;
  align-self: flex-end;
}

.ws-card-sign-bot-left,
.ws-card-sign-top-left {
  padding: 20px 30px;
  width: 280px;
  height: 190px;
  display: block;
}

.ws-card-sign-wide {
  padding: 20px 30px;
  width: 270px;
  height: 185px;
  display: block;
  position: relative;
}

.ws-card-sign-wide-bot::before,
.ws-card-sign-wide-top::before {
  content: "";
  background-size: contain !important;
  position: absolute;
  display: block;
  width: 100%;
  height: 44px;
  background: url(https://devsites.au/iria/wp-content/uploads/2026/09/Sign-Wide-Handles-Block.svg)
    no-repeat center;
  z-index: 99999;
  left: 50%;
  transform: translate(-50%, -50%);
}

.ws-card-sign-wide.ws-card-sign-wide-top,
.ws-card-sign-wide.ws-card-sign-wide-bottom {
  background-position: center bottom;
  padding: 50px 20px 20px 20px;
}

.ws-card-sign-wide-bot::before {
  bottom: -22px;
}

.ws-card-sign-wide-top::before {
  top: 22px;
}

.ws-card-sign-yellow {
  padding-top: 60px;
  background: url(https://devsites.au/iria/wp-content/uploads/2026/09/Sign-GTK280.svg)
    no-repeat;
  background-size: contain;
}

.ws-card-sign-red {
  background: url(https://devsites.au/iria/wp-content/uploads/2026/09/Sign-CTA280-REV.svg)
    no-repeat;
  background-size: contain;
}

.ws-card-sign-wide-red {
  background: url(https://devsites.au/iria/wp-content/uploads/2026/09/Sign-Wide-Red.svg)
    no-repeat;
  background-size: contain;
}

.ws-card-sign-wide-green {
  background: url(https://devsites.au/iria/wp-content/uploads/2026/09/Sign-Wide-Green.svg)
    no-repeat;
  background-size: contain;
}

.ws-card-sign-wide-yellow {
  background: url(https://devsites.au/iria/wp-content/uploads/2026/09/Sign-Wide-Yellow.svg)
    no-repeat;
  background-size: contain;
}

.ws-card-sign-red-stat {
  background: url(https://devsites.au/iria/wp-content/themes/impeka-child/img/sign-tall-red.svg)
    no-repeat top center / contain !important;
}

.ws-card-sign-green-stat {
  background: url(https://devsites.au/iria/wp-content/themes/impeka-child/img/sign-tall-green.svg)
    no-repeat top center / contain !important;
}

.ws-card-sign-yellow-stat {
  background: url(https://devsites.au/iria/wp-content/themes/impeka-child/img/sign-tall-yellow.svg)
    no-repeat top center / contain !important;
}

.ws-card-sign-lightblue-stat {
  background: url(https://devsites.au/iria/wp-content/themes/impeka-child/img/sign-tall-lightblue.svg)
    no-repeat top center / contain !important;
}

.ws-card-sign-blue-stat {
  background: url(https://devsites.au/iria/wp-content/uploads/2026/09/Sign-blue-stat.svg)
    no-repeat;
  background-size: contain;
  padding: 28px 30px 20px 75px;
  max-height: 300px;
  display: block;
  aspect-ratio: 2 / 3;

  & .grve-image .grve-thumbnail {
    padding-top: 0 !important;
    height: auto !important;
    margin-bottom: 15px;
  }

  & .grve-image .grve-thumbnail img {
    position: static !important;
    width: auto !important;
    max-width: 100%;
    height: auto !important;
    max-height: 126px;
  }

  & .grve-align-center.grve-image .grve-thumbnail img {
    margin-inline: auto;
  }
}

/* card */
.ws-card-stat {
  /*aspect-ratio: 3/4;*/
  border: 9px solid var(--wp--preset--color--primary-3);
  background: var(--wp--preset--color--primary-1);
  position: relative;
  border-radius: 4px;
  min-height: 280px;
  max-width: 250px;

  & .grve-column-inner-content {
    height: 100%;
    padding: 20px;
  }

  & .grve-title {
    margin-bottom: 0;
  }

  & h5 {
    font-weight: 500;
  }

  & .grve-text {
    position: relative;
    height: 100%;
    display: flex;
    flex-direction: column;

    /*& p {
			flex:2;
			padding: 24px;
			color: white;
			font-family: neue-aachen-pro;
			font-weight: 200;
			font-style: normal;
			text-transform: none;
			font-size: 21px;
			line-height: 23px;
			
			& strong {
				font-size: 45px;
				line-height: 47px;
			}
		}*/

    &::after {
      position: relative;
      content: "";
      background-image: url("/iria/wp-content/uploads/2026/09/checkerplate-pattern.svg");
      background-repeat: repeat;
      background-size: 110%;
      background-position-y: -5px;
      flex: 1;
    }
  }
}

.ws-checkerboard .grve-column-inner-content::before {
  content: "";
  background-image: url(https://devsites.au/iria/wp-content/uploads/2026/09/checkerplate-pattern.svg);
  background-repeat: repeat;
  background-position: center;
  background-size: 80% auto;
  width: 100%;
  height: 80px;
  display: block;
  position: absolute;
  left: 0;
  bottom: 0;
}

/* outer element */
.grve-column-inner:has(.ws-card-stat)::before {
  position: absolute;
  content: "";
  background-image: url("/iria/wp-content/uploads/2026/09/sign-pole-rail-cropped.svg");
  background-repeat: no-repeat;
  width: 50px;
  height: 100%;
  display: block;
  left: -12px;
  top: 0;
  z-index: 99;
}

/* accordion */

.grve-accordion-top {
  padding: 30px !important;
}

.grve-accordion {
  background: #fff;
  border: 10px solid #fdaf3580;
  border-radius: var(--border-radius-sml);

  & .grve-title-wrapper {
    padding-block: 25px !important;
  }

  & .grve-accordion-wrapper {
    padding: 25px 30px;
  }

  & .grve-title-wrapper {
    color: var(--wp--preset--color--primary-4) !important;
  }

  & .grve-title-wrapper.active::after {
    opacity: 0 !important;
  }
  & .grve-title-wrapper.active,
  .grve-title-wrapper:hover {
    color: var(--wp--preset--color--primary-2) !important;
  }
  & .grve-title-wrapper.active svg {
    fill: var(--wp--preset--color--primary-3);
  }
  & .grve-accordion-content {
    border-bottom: 2px solid #d1d1cf !important;
    padding-top: 0 !important;
  }

  & li:last-child .grve-title-wrapper::after {
    display: none;
  }

  & li:last-child .grve-accordion-content {
    border-bottom: none !important;
  }

  & .grve-title-wrapper::after {
    border-top: 2px solid #d1d1cf !important;
    opacity: 1 !important;
    transition: opacity 0.1s ease-in-out;
  }
}

/* ==========================================
=! blog
------------------------------------------ */

/* --- home variants --- */

.ws-post-grid {
  & .grve-post-item.grve-style-3 .grve-post-item-inner {
    padding: 0;
    aspect-ratio: 16 / 9;
    height: auto !important;
    min-height: auto !important;
  }

  & .grve-post-item.grve-style-3 .grve-post-content {
    max-width: 100%;
    padding: 1em 1.8em;
    min-height: 80px;
    display: flex;
    justify-content: center;
    flex-direction: column;
    background-color: #0076bfa6; /* var(--wp--preset--color--primary-1) opaque */

    & p {
      display: none;
    }
  }
}

/* --- single post --- */

.single-post {
  & #grve-single-media .grve-media, #grve-single-media {
    border-bottom: var(--section-border-lg);
  }

  & .iria-banner-badge {
    display: none;
  }

  & .grve-post-meta {
    display: none;
  }

  & #grve-single-media .grve-container {
    max-width: unset;
    min-width: calc(100% + 90px); /* based on offset margin value */
  }

  & .grve-tags a {
    font-family: var(--font-body);
  }

  & .grve-bar-item .grve-title {
    font-size: 16px;
  }
}

/* --- archive --- */

body.page-id-689 {
  /* page */
  & .iria-banner-badge {
    display: none;
  }

  & #grve-main-content .grve-main-content-wrapper,
  #grve-sidebar {
    padding-top: 210px;
  }

  & .grve-filter {
    margin-bottom: 52px;
  }

  & .grve-filter li,
  select.grve-filters-select {
    font-family: var(--font-body);
    font-size: 20px;
    font-weight: 400;
    line-height: 1.5;
    letter-spacing: 0;
    text-transform: none;
  }

  & .grve-filter li.selected {
    font-weight: 700;
  }

  /* card */
  & .grve-post-item {
    border: 2px solid #d1d1cf;
    border-radius: var(--border-radius-sml);
    overflow: hidden;
  }

  & .grve-post-item-inner {
    background-color: var(--wp--preset--color--white) !important;
    border: 0;
  }

  & .grve-post-media {
    z-index: 0;
    flex: 0 0 auto;
  }

  & .grve-thumbnail-wrapper {
    height: auto;
  }

  & .grve-thumbnail {
    padding-top: 0 !important;
    aspect-ratio: 16 / 9;
    height: auto;

    & img {
      width: 100%;
      height: 100%;
      object-fit: cover;
    }
  }

  & .grve-post-content {
    padding-top: 60px !important;
    padding-inline: 22px !important;
    padding-bottom: 22px !important;
  }
  & .grve-post-item.grve-style-2 .grve-post-item-inner .grve-post-title {
    color: var(--wp--preset--color--primary-1);
    font-family: var(--font-headings);
    font-size: 24px;
    font-weight: 400;
    line-height: 1;
    letter-spacing: 0;
    padding-bottom: 0;
  }

  & .grve-post-exerpt,
  .grve-post-exerpt p {
    font-family: var(--font-body);
    font-size: 20px;
    font-weight: 400;
    line-height: 1.5;
    letter-spacing: 0;
  }

  & .grve-post-exerpt {
    & p:last-child {
      margin-bottom: 0;
    }
  }
}

/* ==========================================
=! footer
------------------------------------------ */

/* --- widgets --- */

.widget,
.widgets,
.widget p {
  font-family: "Roboto";
  font-size: 14px;
}

.grve-link-inherit a {
  text-decoration: none;
}

.footer-certs {
  transform: translateY(-20%);

  &::before {
    content: "approved by";
    text-transform: uppercase;
    position: relative;
    top: -20px;
    font-size: 16px;
  }
}

/* --- bottom bar --- */

.grve-footer-bar {
  padding-bottom: 90px !important;
}

.grve-footer-row {
  text-transform: uppercase;
  font-weight: bold;

  & .grve-footer-column.grve-footer-column-1-2:nth-of-type(2) {
    order: -1;
    max-width: 28% !important;
  }

  & .grve-align-right {
    text-align: left;
  }
}

/* ==========================================
=! responsive
------------------------------------------ */

@media (min-width: 1500px) {
  #grve-main-content .grve-container {
    max-width: 1000px;
  }

  .ws-card-sign-blue-stat {
    max-height: 350px;
  }
}

@media (min-width: 1401px) {
  .iria-logo img {
    height: 95px !important;
  }

  #grve-header {
    width: 75% !important;
  }
  #ws-sidebar-menu {
    padding: 20px 24px;
    width: 280px;
    height: 465px;
    border-width: 10px !important;
	  
	  & a{
		  font-size: 18px !important;
	  }
	  
	  & .grve-arrow{
  		margin-right:-15px;
	  }

	  & .sub-menu a{
		font-size: 17px !important;
        line-height: 22px;
	  } 
	  
  }

  .single-post
    #grve-content.grve-left-sidebar
    #grve-single-media
    .grve-container {
    margin-left: -90px !important;
  }
}

@media (min-width: 1024px) and (max-width: 1400px) {
  :root {
    --ws-site-padding: 45px;
  }

  #grve-content.grve-with-sidebar #grve-main-content,
  #grve-header,
  #grve-post-bar .grve-container {
    width: 70% !important;
  }
  #grve-content.grve-with-sidebar #grve-sidebar {
    width: 30%;
  }

  #grve-main-content #grve-single-media .grve-container {
    margin-left: -45px !important;
  }

  /* HEADER */

  .iria-logo img {
    height: 85px !important;
  }

  .grve-header-menu.grve-horizontal-menu {
    padding: 0;
  }

  .grve-horizontal-menu > .grve-menu > .grve-first-level + .grve-first-level {
    margin-left: 18px;
  }

  .grve-header-menu
    li.grve-first-level:not(.grve-menu-element-first-level)
    > .grve-link-wrapper:not(.grve-menu-element-link-wrapper)
    > a {
    font-size: 20px;
  }

  #grve-main-header
    .grve-header-menu
    .grve-first-level.grve-menu-type-button
    > .grve-link-wrapper
    a
    .grve-item {
    font-size: 17px;
    padding: 0.563em 0.7em;
  }

  .ico-phone span::before {
    width: 34px;
    height: 34px;
  }

  .grve-header-elements {
    padding-left: 0;
  }

  .iria-banner-badge img {
    max-height: 150px !important;
  }

  /* SIDEBAR */

  #menu-left-menu,
  #ws-sidebar-menu {
	  
	& .grve-arrow {
  		margin-right:-20px;
	  }

	& .sub-menu a{
		font-size: 16px !important;
        line-height: 20px;
	  } 
	  
    & a {
      font-size: 18px !important;
    }
  }

  #ws-sidebar-menu {
    padding: 20px 24px;
    width: 260px;
    height: 475px;
    border-width: 8px !important;
  }

  #grve-sidebar {
    background-position: center 160px !important;
    background-size: auto 530px !important;
  }

  .ws-sidebar-menu-wrapper::before {
    background-size: 177px auto !important;
  }

  .grve-vertical-menu.grve-accordion-animation .grve-arrow::before,
  .grve-vertical-menu.grve-toggle-animation .grve-arrow::before {
    width: 7px;
    height: 7px;
  }

  /* BLOG */

  .single-post
    #grve-content.grve-left-sidebar
    #grve-single-media
    .grve-container {
    margin-left: -45px !important;
  }
}

@media (min-width: 1024px) {
  /* TYPOGRAPHY */

  h1.grve-title,
  .ws-post-title h1 {
    max-width: 75%;
  }

  /* STRUCTURE */

  /* --- container size desktop --- */

  #grve-content.grve-left-sidebar .grve-content-wrapper {
    max-width: 100%;
    width: 100%;
  }

  /* aside site container padding overrides */
  #grve-content.grve-left-sidebar {
    overflow: auto;

    & #grve-main-content {
      padding-left: var(--ws-site-padding);
    }
    & .grve-section,
    .grve-section-wrapper > :not(.grve-section) {
      padding-right: var(--ws-site-padding) !important;
    }

    #grve-main-content .grve-container {
      margin-left: 0 !important;
      margin-right: auto !important;
    }
  }

  .single-post
    #grve-content.grve-left-sidebar
    + #grve-post-bar
    .grve-container {
    width: auto;
    max-width: 1000px;
    margin-left: calc(25% + 90px); /* sidebar width + content padding */
    margin-right: 90px;
  }

  /* FOOTER */

  #grve-footer {
    & .grve-container {
      max-width: inherit;
    }

    & .grve-column-3-4 {
      padding-right: 15px;
      padding-left: 55px;

      & .grve-widget,
      .grve-column-inner-content {
        max-width: var(--ws-container-size) !important;
      }
    }
  }

  /* HEADER */

  #grve-header {
    position: absolute;
    right: 0;
    top: 0;

    & .grve-container {
      margin-left: 90px;
    }

    & .grve-left-area {
      display: none;
    }

    & .grve-right-area {
      width: 100%;
      max-width: 1070px;
      justify-content: space-between;
    }
  }

  /* SIDEBAR */

  body.logged-in {
    #grve-sidebar {
      padding-top: 150px !important;
    }
    #grve-sidebar {
      height: calc(var(--ws-banner-height) + 40px) !important;
    }
    #grve-sidebar::before {
      top: 170px;
    }
  }
  body:not(.logged-in) {
    #grve-sidebar {
      padding-top: 120px;
      background-position: center 140px;
    }
  }

  #grve-sidebar {
    position: fixed;
    z-index: 999999999;
    top: 0;
    left: 0;
    height: calc(var(--ws-banner-height) + 8px);
    background: url(https://devsites.au/iria/wp-content/uploads/2026/10/menu-bg-1.png)
      no-repeat center 170px var(--wp--preset--color--primary-1);
    background-size: auto 520px;
    display: flex;
    justify-content: flex-end;
    padding-right: 30px;
    border-bottom: var(--section-border-lg);

    /*&::before{
			content:'';
			background: #000F9F;
			opacity:.5;
			width:100%;
			height:520px;
			position:absolute;
			top:140px;
			left:0;
		}*/

    & .grve-wrapper {
      display: flex;
      flex-direction: column;
      align-items: center;
      max-width: 280px;
    }

    & .widget:not(#block-13) {
      margin-bottom: 15px;
    }

    & .widget#block-13 {
      margin-bottom: 0;
    }

    & .grve-vertical-menu-wrapper {
      padding-bottom: 8px;
    }

    & #block-8::before {
      content: "© Maisie Nungarrayi Ward/Copyright Agency, 2026";
      color: #fff;
      font-size: 12px;
    }

    & h3 {
      font-weight: 700 !important;
      margin-top: 30px;
    }
  }

  .iria-logo {
    margin-bottom: 10px;
  }

  .iria-logo img {
    width: auto !important;
    margin-top: -90px;
  }

  #menu-left-menu,
  #ws-sidebar-menu {
    & a {
      font-family: var(--font-headings);
      color: var(--wp--preset--color--primary-3);
    }
    /* hover: only the row under the cursor (link + arrow), so hovering a child
       in an open dropdown no longer highlights its parent */
    & .grve-link-wrapper:hover > a {
      color: var(--wp--preset--color--primary-2);
    }
    & .grve-link-wrapper:hover > .grve-arrow::before {
      border-color: var(--wp--preset--color--primary-2) !important;
    }
    /* active page: arrow matches the active link (primary-1) and ignores hover */
    & .grve-link-wrapper:has(> a[aria-current="page"]) > .grve-arrow::before {
      border-color: var(--wp--preset--color--primary-1) !important;
    }
  }

  #ws-sidebar-menu {
    position: relative;
    background: rgba(255, 255, 255, 0.9);
    border-radius: var(--border-radius-sml);
    border-color: var(--wp--preset--color--primary-3) !important;
    border-style: solid;
  }

  .ws-sidebar-menu-wrapper::before {
    content: "";
    display: block;
    position: absolute;
    top: -15px;
    height: 40px;
    width: 100%;
    background: url(https://devsites.au/iria/wp-content/uploads/2026/09/menu-top.svg)
      no-repeat center top;
    background-size: 200px auto;
    z-index: 999999;
  }

  /* BANNER */

  .iria-banner-badge img {
    max-height: 185px;
  }

  #grve-feature-section:not(.banner-half),
  #grve-feature-section:not(.banner-half) .grve-wrapper {
    min-height: var(--ws-banner-height) !important;
    /*z-index: 1 !important;*/
  }

  #grve-feature-section:not(.banner-half) .grve-wrapper {
    height: var(--ws-banner-height) !important;
  }

  #grve-feature-section.banner-half,
  #grve-feature-section.banner-half .grve-wrapper {
    min-height: calc(var(--ws-banner-height) / 2) !important;
  }

  #grve-feature-section.banner-half .grve-wrapper {
    height: calc(var(--ws-banner-height) / 2) !important;
  }

  .single-post #grve-single-media .grve-media {
    max-height: calc(var(--ws-banner-height) / 1.5) !important;
    overflow: hidden;
    max-width: 1200px;
  }

  #grve-single-media {
    background-color: var(--wp--preset--color--primary-1);
  }

  /* single post */
  .single-post #grve-single-content {
    padding-right: var(--ws-site-padding) !important;
  }
}

@media (max-width: 1023px) {
  #grve-sidebar {
    display: none;
  }

  .grve-container,
  #grve-content.grve-left-sidebar .grve-content-wrapper,
  #grve-content.grve-right-sidebar .grve-content-wrapper {
    width: 100% !important;
    max-width: 100% !important;
  }
  #grve-content.grve-left-sidebar .grve-container {
    padding-inline: 90px;
  }
  #grve-single-media .grve-container {
    padding-inline: 0 !important;
  }

  /* BANNER */

  .iria-banner-badge img {
    max-height: 115px;
  }

  /* single post */
  .single-post #grve-single-media .grve-container {
    min-width: unset;
  }
  #grve-post-bar.grve-layout-1 {
    padding-inline: 90px;
  }
}

/* ==========================================================================
   Homepage feature banner
   Feature Section class: banner-home   (single image)
   Also applies to any Feature Section in slider mode (.grve-with-slider)
   Optional colour class alongside it: banner-home-red | -yellow | -blue | -lightblue
   (green is the default)

   Layout: photo on top with a grey rail along its bottom edge. The sign has a
   minimum height and grows to fit its text. Square handles sit on the rail at
   each side, placed at the middle of a minimum-height sign, so a sign at the
   minimum is centred on the rail and a taller one extends further down.
   On mobile the sign only overlaps the photo slightly.
   ========================================================================== */

/* --- Settings --- */

#grve-feature-section.banner-home,
#grve-feature-section.grve-with-slider {
  --bh-img-h: var(--ws-banner-height); /* photo height */
  --bh-sign-min: 210px; /* sign is at least this tall, and grows to fit its text */
  --bh-rise: calc(
    var(--bh-sign-min) / 2
  ); /* sign top to rail centre: half the minimum = centred */
  --bh-bottom: 20px; /* white space under the sign */
  --bh-side: 0px; /* tablet/mobile: space either side of the sign */
  --bh-fill: #009805; /* sign colour */
  --bh-frame: #555; /* sign border */
  --bh-frame-w: 10px;
  --bh-rail: #d2d2d2; /* grey rail along the bottom of the photo */
  --bh-rail-h: 10px;
  --bh-handle: 30px; /* handle width and height */
  --bh-handle-fill: #555554;
  --bh-handle-edge: #d1d1d1;
  --bh-pad: 24px 40px; /* space inside the sign */
  --bh-text-gap: 30px; /* space between title and description */
  --bh-title-size: 44px; /* sign title */
  --bh-desc-size: 20px; /* sign description */
  --bh-logo-h: 110px; /* logo height on the right */

  /* where the sign starts, measured from the top of the photo */
  --bh-sign-top: calc(var(--bh-img-h) + var(--bh-rail-h) / 2 - var(--bh-rise));

  height: auto !important;
  background-color: #fff !important;
  overflow: visible;
}

#grve-feature-section.banner-home:not(.banner-half),
#grve-feature-section.grve-with-slider:not(.banner-half) {
  min-height: 0 !important;
}

#grve-feature-section.banner-home-red {
  --bh-fill: #d62d28;
}
#grve-feature-section.banner-home-yellow {
  --bh-fill: #fdaf35;
}
#grve-feature-section.banner-home-blue {
  --bh-fill: #0076bf;
}
#grve-feature-section.banner-home-lightblue {
  --bh-fill: #52b1ee;
}

/* --- Photo and rail --- */

/* Whatever holds the photo (the section itself, or each slide in slider mode) */
.banner-home:has(> .grve-background-wrapper),
.banner-home :has(> .grve-background-wrapper),
.grve-with-slider .grve-slider-item {
  position: relative;
  padding-top: var(--bh-sign-top);
  padding-bottom: var(--bh-bottom);
}

.banner-home .grve-background-wrapper,
.grve-with-slider .grve-background-wrapper {
  position: absolute !important;
  top: 0 !important;
  left: 0;
  right: 0;
  bottom: auto !important;
  height: var(--bh-img-h) !important;
}

.banner-home:has(> .grve-background-wrapper)::after,
.banner-home :has(> .grve-background-wrapper)::after,
.grve-with-slider .grve-slider-item::after {
  content: "";
  position: absolute;
  left: 0;
  right: 0;
  top: var(--bh-img-h);
  height: var(--bh-rail-h);
  background: var(--bh-rail);
  z-index: 2;
}

/* --- Undo the theme's fixed-height, centred content box --- */

#grve-feature-section:not(.banner-half).banner-home .grve-wrapper,
#grve-feature-section:not(.banner-half).grve-with-slider .grve-wrapper {
  height: auto !important;
  min-height: 0 !important;
}

.banner-home .grve-content,
.grve-with-slider .grve-content {
  position: relative !important;
  inset: auto !important;
  display: block !important;
  height: auto !important;
  padding: 0 !important;
  transform: none !important;
  z-index: 3;
}

/* --- The sign --- */

.banner-home .grve-title-content-wrapper,
.grve-with-slider .grve-title-content-wrapper {
  position: relative;
  display: grid !important;
  grid-template-columns: minmax(0, 1fr) auto;
  /* Flexible rows above and below the text share any spare height equally, so the
	   title and description stay centred together and the logo can't push them apart */
  grid-template-rows: 1fr auto auto 1fr;
  grid-template-areas:
    ".     graphic"
    "title graphic"
    "desc  graphic"
    ".     graphic";
  align-items: start;
  column-gap: 40px;
  row-gap: 0;
  width: 100%;
  max-width: none !important;
  min-height: var(--bh-sign-min);
  margin: 0 !important;
  padding: var(--bh-pad) !important;
  background: var(--bh-fill) !important;
  border: var(--bh-frame-w) solid var(--bh-frame);
  border-radius: 8px;
  text-align: left !important;
  box-sizing: border-box;
  overflow: visible !important;
}

/* Handles: square, centred on the frame edge and on the rail */
.banner-home .grve-title-content-wrapper::before,
.banner-home .grve-title-content-wrapper::after,
.grve-with-slider .grve-title-content-wrapper::before,
.grve-with-slider .grve-title-content-wrapper::after {
  content: "";
  position: absolute;
  top: calc(var(--bh-rise) - var(--bh-frame-w) - var(--bh-handle) / 2);
  width: var(--bh-handle);
  height: var(--bh-handle);
  background: var(--bh-handle-fill);
  border: 2px solid var(--bh-handle-edge);
  box-sizing: border-box;
  z-index: 4;
}

.banner-home .grve-title-content-wrapper::before,
.grve-with-slider .grve-title-content-wrapper::before {
  left: calc(var(--bh-frame-w) / -2 - var(--bh-handle) / 2);
}

.banner-home .grve-title-content-wrapper::after,
.grve-with-slider .grve-title-content-wrapper::after {
  right: calc(var(--bh-frame-w) / -2 - var(--bh-handle) / 2);
}

/* --- Sign contents --- */

.banner-home .grve-title-content-wrapper .grve-title,
.grve-with-slider .grve-title-content-wrapper .grve-title {
  grid-area: title;
  max-width: 575px;
  margin: 0 !important;
  color: #fff;
  font-size: var(--bh-title-size) !important;
  font-weight: 300;
  line-height: 1.05;
}

.banner-home .grve-title-content-wrapper .grve-description,
.grve-with-slider .grve-title-content-wrapper .grve-description {
  grid-area: desc;
  max-width: 575px;
  margin: var(--bh-text-gap) 0 0 !important;
  color: #fff;
  font-size: var(--bh-desc-size) !important;
  font-weight: 500;
  line-height: 1.25;
}

.banner-home .grve-title-content-wrapper .grve-graphic,
.grve-with-slider .grve-title-content-wrapper .grve-graphic {
  grid-area: graphic;
  align-self: center;
  margin: 0 !important;
  line-height: 0;
}

.banner-home .grve-title-content-wrapper .grve-graphic img,
.grve-with-slider .grve-title-content-wrapper .grve-graphic img {
  display: block;
  width: auto;
  height: var(--bh-logo-h);
  max-width: 160px;
  object-fit: contain;
}

/* --- Slider --- */

/* Slides share one grid cell instead of being absolutely positioned, so the slider takes
   the height of its tallest slide. Flickity's left offsets still move each slide sideways
   exactly as before. This replaces the theme's full-screen slide height. */
#grve-feature-section.grve-with-slider #grve-feature-slider,
#grve-feature-section.grve-with-slider .flickity-viewport {
  height: auto !important;
}

#grve-feature-section.grve-with-slider .flickity-slider {
  position: relative !important;
  display: grid;
  height: auto !important;
}

#grve-feature-section.grve-with-slider .grve-slider-item {
  position: relative !important;
  grid-area: 1 / 1;
  width: 100%;
  height: auto;
  box-sizing: border-box;
}

/* Arrows and dots stay on the photo, stopping where the sign starts */
#grve-feature-section.grve-with-slider .grve-carousel-navigation {
  position: absolute !important;
  top: 0 !important;
  left: 0;
  right: 0;
  width: auto !important;
  bottom: auto !important;
  height: var(--bh-sign-top) !important;
  z-index: 10;
}

/* --- Desktop --- */

@media (min-width: 1024px) {
  #grve-feature-section.banner-home,
  #grve-feature-section.grve-with-slider {
    --bh-sidebar-w: 25%;
  }

  /* Slider arrows and dots sit in the visible part of the photo, clear of the sidebar */
  #grve-feature-section.grve-with-slider .grve-carousel-navigation {
    left: var(--bh-sidebar-w);
  }

  /* Line the sign up with the main content column, clear of the fixed sidebar */
  #grve-feature-section.banner-home .grve-content .grve-container,
  #grve-feature-section.grve-with-slider .grve-content .grve-container {
    width: auto !important;
    max-width: none !important;
    margin-left: calc(var(--bh-sidebar-w) + var(--ws-site-padding)) !important;
    margin-right: var(--ws-site-padding) !important;
  }
}

@media (min-width: 1024px) and (max-width: 1400px) {
  #grve-feature-section.banner-home,
  #grve-feature-section.grve-with-slider {
    --bh-sidebar-w: 30%;
    --bh-title-size: 38px; /* narrower sign, so slightly smaller type */
    --bh-desc-size: 17px;
    --bh-pad: 24px 30px;
  }
}

@media (min-width: 1500px) {
  #grve-feature-section.banner-home .grve-content .grve-container,
  #grve-feature-section.grve-with-slider .grve-content .grve-container {
    max-width: 1000px !important;
  }
}

@media (min-width: 1200px) {
  .banner-home .grve-title-content-wrapper,
  .grve-with-slider .grve-title-content-wrapper {
    grid-template-columns: minmax(0, 575px) 1fr;
    --bh-logo-h: 150px;
  }

  .banner-home .grve-title-content-wrapper .grve-graphic,
  .grve-with-slider .grve-title-content-wrapper .grve-graphic {
    justify-self: center;
  }
}

/* --- Tablet and mobile: sign inset from the screen edges so the handles show --- */

@media (max-width: 1023px) {
  #grve-feature-section.banner-home,
  #grve-feature-section.grve-with-slider {
    --bh-img-h: var(--ws-banner-height-tablet);
    --bh-side: var(
      --ws-site-padding
    ); /* matches the page content padding (90px) */
    --bh-bottom: 40px;
    --bh-pad: 24px 30px;
    --bh-logo-h: 80px;
    --bh-title-size: 34px;
    --bh-desc-size: 17px;
  }

  #grve-feature-section.banner-home .grve-content .grve-container,
  #grve-feature-section.grve-with-slider .grve-content .grve-container {
    padding-left: 0 !important;
    padding-right: 0 !important;
  }

  #grve-feature-section.banner-home .grve-title-content-wrapper,
  #grve-feature-section.grve-with-slider .grve-title-content-wrapper {
    width: auto;
    margin: 0 var(--bh-side) !important;
    column-gap: 24px;
  }
}

/* --- Mobile: the photo is short, so the sign only overlaps it slightly instead of centring.
       Logo moves up beside the title, description runs full width underneath. --- */

@media (max-width: 767px) {
  #grve-feature-section.banner-home,
  #grve-feature-section.grve-with-slider {
    --bh-img-h: var(--ws-banner-height-mobile);
    --bh-rise: 35px; /* change to calc(var(--bh-sign-min) / 2) to centre on mobile too */
    --bh-sign-min: 180px;
    --bh-side: 30px;
    --bh-text-gap: 16px;
    --bh-title-size: 30px;
    --bh-desc-size: 16px;
    --bh-bottom: 24px;
    --bh-frame-w: 8px;
    --bh-handle: 24px;
    --bh-pad: 22px 20px;
    --bh-logo-h: 60px;
  }

  .banner-home .grve-title-content-wrapper,
  .grve-with-slider .grve-title-content-wrapper {
    grid-template-rows: auto auto;
    grid-template-areas:
      "title graphic"
      "desc  desc";
  }

  .banner-home .grve-title-content-wrapper .grve-graphic,
  .grve-with-slider .grve-title-content-wrapper .grve-graphic {
    align-self: start;
  }

  .banner-home .grve-title-content-wrapper .grve-description,
  .grve-with-slider .grve-title-content-wrapper .grve-description {
    align-self: end;
  }
}

/* =========================================================
   IRIA Get a Quote form (Gravity Forms, form CSS class: iria-quote-form)
   Add to Appearance > Customise > Additional CSS, or the child theme.
   ========================================================= */

/* ---------- Base: Roboto everywhere ---------- */
.iria-quote-form,
.iria-quote-form input,
.iria-quote-form select,
.iria-quote-form textarea,
.iria-quote-form button,
.iria-quote-form label,
.iria-quote-form legend,
.iria-quote-form .gfield_description,
.iria-quote-form .gform_page_footer a {
  font-family: "Roboto", Arial, sans-serif !important;
}

.iria-quote-form {
  --iria-blue: #0072bc;
  --iria-blue-dark: #005f9e;
  --iria-blue-light: #2aa8e6;
  --iria-text: #1d2733;
  --iria-muted: #5b6672;
  --iria-border: #cfd8e1;
  --iria-tint: #eef6fc;
  --iria-yellow: #fdaf35; /* theme primary-2 */
  color: var(--iria-text);
}

/* Field spacing */
.iria-quote-form .gform_fields {
  row-gap: 28px !important;
}

/* Question labels / legends */
.iria-quote-form .gfield_label,
.iria-quote-form legend.gfield_label {
  font-size: 17px !important;
  font-weight: 500 !important;
  line-height: 1.4;
  color: var(--iria-text);
  margin-bottom: 10px !important;
}
.iria-quote-form .gfield_required {
  color: var(--iria-blue);
}

.iria-quote-form .gfield_description {
  font-size: 14px !important;
  color: var(--iria-muted);
  padding-top: 8px !important;
}

/* ---------- Text inputs, selects, textarea ---------- */
.iria-quote-form input[type="text"],
.iria-quote-form input[type="email"],
.iria-quote-form input[type="tel"],
.iria-quote-form select,
.iria-quote-form textarea {
  font-size: 16px !important;
  font-weight: 400;
  color: var(--iria-text);
  background: #fff;
  border: 1.5px solid var(--iria-border) !important;
  border-radius: 8px !important;
  padding: 12px 14px !important;
  min-height: 50px;
  box-shadow: none !important;
  transition:
    border-color 0.15s ease,
    box-shadow 0.15s ease;
}
.iria-quote-form textarea {
  min-height: 140px;
}
.iria-quote-form input:focus,
.iria-quote-form select:focus,
.iria-quote-form textarea:focus {
  border-color: var(--iria-blue) !important;
  box-shadow: 0 0 0 3px rgba(0, 114, 188, 0.18) !important;
  outline: none;
}

/* ---------- Radio questions as tappable option cards ---------- */
.iria-quote-form .iria-choices .gfield_radio {
  display: flex !important;
  flex-direction: row !important;
  flex-wrap: wrap !important;
  align-items: stretch;
  gap: 10px;
  grid-template-columns: none !important;
}
.iria-quote-form .iria-choices .gchoice {
  position: relative;
  display: block !important;
  flex: 0 1 auto !important;
  width: auto !important;
  max-width: none !important;
  margin: 0 !important;
  padding: 0 !important;
}
.iria-quote-form .iria-choices .gchoice input[type="radio"] {
  position: absolute;
  opacity: 0;
  width: 1px;
  height: 1px;
  margin: 0;
}
.iria-quote-form .iria-choices .gchoice label {
  display: inline-flex !important;
  align-items: center;
  gap: 10px;
  max-width: none !important;
  margin: 0 !important;
  padding: 12px 18px 12px 14px;
  font-size: 15px !important;
  font-weight: 500;
  color: var(--iria-text);
  background: #fff;
  border: 1.5px solid var(--iria-border);
  border-radius: 8px;
  cursor: pointer;
  transition:
    border-color 0.15s ease,
    background 0.15s ease;
}
/* custom radio dot */
.iria-quote-form .iria-choices .gchoice label::before {
  content: "";
  flex: 0 0 auto;
  width: 18px;
  height: 18px;
  border: 2px solid var(--iria-border);
  border-radius: 50%;
  background: #fff;
  transition:
    border-color 0.15s ease,
    box-shadow 0.15s ease;
}
.iria-quote-form .iria-choices .gchoice label:hover {
  border-color: var(--iria-blue);
}
.iria-quote-form .iria-choices .gchoice input:checked + label {
  border-color: var(--iria-blue);
  background: var(--iria-tint);
  color: var(--iria-blue-dark);
}
.iria-quote-form .iria-choices .gchoice input:checked + label::before {
  border-color: var(--iria-blue);
  box-shadow: inset 0 0 0 4px #fff;
  background: var(--iria-blue);
}
.iria-quote-form .iria-choices .gchoice input:focus-visible + label {
  box-shadow: 0 0 0 3px rgba(0, 114, 188, 0.25);
}

/* ---------- Bay explainer block ---------- */
.iria-quote-form .iria-bay-explainer {
  background: var(--iria-tint);
  border-left: 6px solid var(--iria-yellow);
  border-radius: 10px;
  padding: 22px 24px;
}
.iria-quote-form .iria-bay-explainer h4 {
  font-family: "Roboto", Arial, sans-serif;
  font-size: 20px;
  font-weight: 700;
  color: var(--iria-blue-dark);
  margin: 0 0 6px;
}
.iria-quote-form .iria-bay-explainer p {
  font-size: 15px;
  line-height: 1.55;
  margin: 0 0 14px;
}
.iria-quote-form .iria-bay-explainer img {
  display: block;
  width: 100%;
  max-width: 560px;
  height: auto;
  background: #fff;
  border-radius: 8px;
  padding: 10px;
  margin: 4px 0 16px;
}
.iria-quote-form .iria-bay-explainer ul {
  margin: 0 0 12px;
  padding-left: 20px;
}
.iria-quote-form .iria-bay-explainer li {
  font-size: 15px;
  line-height: 1.55;
  margin-bottom: 4px;
}
.iria-quote-form .iria-bay-example {
  margin: 0 !important;
  font-weight: 500;
}

/* Bays select: make it stand out as the key question */
.iria-quote-form .iria-bays select {
  max-width: 340px;
  font-weight: 500;
  border-color: var(--iria-blue) !important;
}

/* Bay confirmation checkbox */
.iria-quote-form .iria-bay-confirm .gchoice {
  display: flex;
  align-items: flex-start;
  gap: 10px;
}
.iria-quote-form .iria-bay-confirm input[type="checkbox"] {
  width: 20px !important;
  height: 20px !important;
  margin-top: 2px !important;
  accent-color: var(--iria-blue);
  flex: 0 0 auto;
}
.iria-quote-form .iria-bay-confirm label {
  font-size: 15px !important;
  font-weight: 500;
  max-width: none !important;
}

/* ---------- File upload ---------- */
.iria-quote-form .gform_drop_area {
  border: 2px dashed var(--iria-border) !important;
  border-radius: 10px !important;
  background: #fafcfe !important;
  padding: 24px !important;
}
.iria-quote-form .gform_drop_area .gform_button_select_files {
  font-family: "Roboto", Arial, sans-serif !important;
  border: 1.5px solid var(--iria-blue) !important;
  color: var(--iria-blue) !important;
  background: #fff !important;
  border-radius: 8px !important;
  font-weight: 500 !important;
}

/* ---------- Progress bar ---------- */
.iria-quote-form .gf_progressbar_title {
  font-size: 14px !important;
  font-weight: 500;
  color: var(--iria-muted) !important;
}
.iria-quote-form .gf_progressbar {
  background: #e4ebf1 !important;
  border-radius: 20px !important;
}
.iria-quote-form .gf_progressbar_percentage {
  background: linear-gradient(
    180deg,
    var(--iria-blue-light) 0%,
    var(--iria-blue) 100%
  ) !important;
  border-radius: 20px !important;
  font-family: "Roboto", Arial, sans-serif !important;
}

/* ---------- Buttons: match the header "Get a quote" button ---------- */
.iria-quote-form .gform_button,
.iria-quote-form .gform_next_button,
.iria-quote-form input[type="submit"],
.iria-quote-form button[type="submit"] {
  font-family: "Roboto", Arial, sans-serif !important;
  font-size: 20px !important;
  font-weight: 700 !important;
  line-height: 1 !important;
  letter-spacing: 0;
  text-transform: none !important;
  color: #fff !important;
  background: linear-gradient(180deg, #2aa8e6 0%, #0072bc 100%) !important;
  border: 0 !important;
  border-radius: 10px !important;
  padding: 18px 44px !important;
  min-height: 0 !important;
  cursor: pointer;
  box-shadow: none !important;
  transition:
    filter 0.2s ease,
    transform 0.2s ease;
}
.iria-quote-form .gform_button:hover,
.iria-quote-form .gform_next_button:hover,
.iria-quote-form input[type="submit"]:hover,
.iria-quote-form button[type="submit"]:hover {
  filter: brightness(1.08);
}
.iria-quote-form .gform_button:focus-visible,
.iria-quote-form .gform_next_button:focus-visible {
  outline: 3px solid rgba(0, 114, 188, 0.35);
  outline-offset: 3px;
}

/* Previous button: secondary outline style */
.iria-quote-form .gform_previous_button {
  font-family: "Roboto", Arial, sans-serif !important;
  font-size: 18px !important;
  font-weight: 500 !important;
  color: var(--iria-blue) !important;
  background: #fff !important;
  border: 1.5px solid var(--iria-blue) !important;
  border-radius: 10px !important;
  padding: 16px 32px !important;
  box-shadow: none !important;
  cursor: pointer;
}

/* Save and continue later link */
.iria-quote-form .gform_save_link {
  font-family: "Roboto", Arial, sans-serif !important;
  font-size: 15px !important;
  color: var(--iria-muted) !important;
  background: none !important;
  border: 0 !important;
  text-decoration: underline;
}

.iria-quote-form .gform_page_footer,
.iria-quote-form .gform_footer {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  gap: 14px;
  margin-top: 28px !important;
}

/* ---------- Validation ---------- */
.iria-quote-form .gfield_error .gfield_label {
  color: #c02b0a !important;
}
.iria-quote-form .validation_message {
  font-size: 14px !important;
  font-weight: 500;
}

/* ---------- Mobile ---------- */
@media (max-width: 600px) {
  .iria-quote-form .iria-choices .gfield_radio {
    flex-direction: column !important;
  }
  .iria-quote-form .iria-choices .gchoice,
  .iria-quote-form .iria-choices .gchoice label {
    width: 100% !important;
  }
  .iria-quote-form .iria-bay-explainer {
    padding: 18px 16px;
  }
  .iria-quote-form .iria-bays select {
    max-width: none;
  }
  .iria-quote-form .gform_button,
  .iria-quote-form .gform_next_button {
    width: 100%;
  }
}

@media (max-width: 1200px) {
  /* RACKING CHARACTER CARDS */

  .grve-row-inner:has(.ws-card-ric) {
    display: grid !important;
    grid-template-columns: repeat(auto-fit, minmax(min(100%, 220px), 1fr));
    gap: 30px;
    margin-inline: 0;

    & > .grve-column-inner {
      width: 100%;
      min-width: 0;
      padding-inline: 0;
      margin-bottom: 0;
    }
  }
}

@media (min-width: 769px) and (max-width: 1200px) {
  /* SIGN CTA */

  .grve-row-inner:has(
    :is(.ws-card-sign-wide, .ws-card-sign-red, .ws-card-sign-yellow)
  ) {
    display: grid !important;
    grid-template-columns: 280px minmax(0, 1fr);
    gap: 30px;
    margin-inline: 0;

    & > .grve-column-inner {
      width: 100%;
      min-width: 0;
      padding-inline: 0;
    }

    & .grve-column-inner-content {
      max-width: 100%;
    }
  }

  .grve-row-inner:has(:is(.ws-card-sign-wide-red, .ws-card-sign-red)) {
    & .grve-text h5 {
      font-size: 22px;
      line-height: 1.3;
    }
  }

  /* ARROW CARDS */

  .ws-card-white-cta {
    & .ws-heading-arrow {
      font-size: 20px;
      line-height: 1.3;
    }

    & .grve-h2 {
      font-size: 30px;
      line-height: 1.2;
    }

    & p {
      font-size: 18px;
      line-height: 1.5;
    }
  }

  /* FOOTER */

  #grve-footer {
    & .grve-container {
      padding-inline: 30px;
    }

    & .grve-row,
    .grve-row-inner {
      margin-inline: 0;
    }

    & .grve-column,
    .grve-column-inner {
      padding-inline: 0;
    }
  }
}

@media (max-width: 1023px) and (min-width: 769px) {
  /* TYPOGRAPHY */

  h1.grve-title,
  .ws-post-title h1 {
    max-width: 75%;
  }

  /* SIGN CARDS */

  .ws-card-sign-blue-stat {
    max-height: none;
    padding: 12% 10% 8% 20%;

    & h4,
    .grve-h4 {
      font-size: 32px;
      line-height: 1.1;
    }

    & h5,
    .grve-h5 {
      font-size: 16px;
      line-height: 1.2;
    }
  }

  /* BANNER */

  #grve-feature-section:not(.banner-half),
  #grve-feature-section:not(.banner-half) .grve-wrapper {
    min-height: var(--ws-banner-height-tablet) !important;
    /*z-index: 1 !important;*/
  }

  #grve-feature-section:not(.banner-half) .grve-wrapper {
    height: var(--ws-banner-height-tablet) !important;
  }

  #grve-feature-section.banner-half,
  #grve-feature-section.banner-half .grve-wrapper {
    min-height: calc(var(--ws-banner-height-tablet) / 2) !important;
  }

  #grve-feature-section.banner-half .grve-wrapper {
    height: calc(var(--ws-banner-height-tablet) / 2) !important;
  }

  .single-post #grve-single-media {
    height: calc(var(--ws-banner-height-tablet) / 1.5) !important;
  }

  .single-post #grve-single-media .grve-media {
    height: calc(var(--ws-banner-height-tablet) / 1.5) !important;
    overflow: hidden;
  }
}

@media (max-width: 768px) {
  /* TYPOGRAPHY */

  /* Keep component typography overrides more specific than these defaults. */
  :where(#grve-main-content) {
    & h1,
    .grve-h1 {
      font-size: 40px;
      line-height: 1.1;
    }

    & h2,
    .grve-h2 {
      font-size: 24px;
      line-height: 1.35;
    }

    & h3,
    .grve-h3 {
      font-size: 24px;
      line-height: 1.25;
    }

    & h4,
    .grve-h4,
    h6,
    .grve-h6 {
      font-size: 30px;
      line-height: 1.2;
    }

    & h5,
    .grve-h5 {
      font-size: 20px;
      line-height: 1.3;
    }

    & p {
      font-size: 18px;
      line-height: 1.5;
    }
  }

  /* STRUCTURE */

  #grve-content.grve-left-sidebar .grve-container {
    padding-inline: 30px;
  }

  /* SIGN CARDS */

  #grve-main-content {
    & .grve-column-inner:has(.ws-card-sign-blue-stat) {
      width: 100%;
      margin-bottom: 30px;
    }

    & .ws-card-sign-blue-stat {
      width: 220px;
      max-width: 100%;
      max-height: none;
      margin-inline: auto;
      padding: 28px 25px 20px 50px;

      & h4,
      .grve-h4 {
        font-size: 40px;
        line-height: 1.1;
      }

      & h5,
      .grve-h5 {
        font-size: 18px;
        line-height: 1.2;
      }
    }

    &
      .grve-column-inner:has(
        :is(.ws-card-sign-wide, .ws-card-sign-red, .ws-card-sign-yellow)
      ) {
      width: 100%;
    }

    & .ws-card-sign-wide,
    .ws-card-sign-bot-left,
    .ws-card-sign-top-left {
      max-width: 100%;
      margin-inline: auto;
    }

    & .ws-card-sign-wide-red,
    .ws-card-sign-red {
      font-size: 36px;
      line-height: 1.1;
    }

    & .ws-card-sign-wide-yellow,
    .ws-card-sign-yellow {
      font-size: 22px;
      line-height: 1.25;
    }
  }

  .grve-row-inner:has(
    :is(.ws-card-sign-wide, .ws-card-sign-red, .ws-card-sign-yellow)
  ) {
    margin-inline: 0;

    & > .grve-column-inner {
      padding-inline: 0;
    }

    & .grve-text h5 {
      font-size: 20px;
      line-height: 1.3;
    }
  }

  .grve-row-inner:has(.ws-card-ric) {
    grid-template-columns: 1fr;
  }

  .grve-row-inner:has(.ws-card-white-cta) {
    display: grid !important;
    grid-template-columns: 1fr;
    gap: 30px;
    margin-inline: 0;

    & > .grve-column-inner {
      width: 100%;
      padding-inline: 0;
      margin-bottom: 0;
    }
  }

  /* ARROW CARDS */

  .ws-card-white-cta {
    & .ws-heading-arrow {
      font-size: 20px;
      line-height: 1.3;
      margin-bottom: 24px !important;
    }

    & .grve-h2 {
      font-size: 24px;
      line-height: 1.25;
      margin-bottom: 24px !important;
    }

    & p {
      font-size: 18px;
      line-height: 1.5;
    }
  }

  /* FOOTER */

  #grve-footer {
    & .grve-container {
      padding-inline: 30px;
    }

    /* Let the container own the inset instead of the nested column gutters. */
    & .grve-row,
    .grve-row-inner {
      margin-inline: 0;
    }

    & .grve-column,
    .grve-column-inner {
      padding-inline: 0;
    }

    & .grve-row-inner {
      flex-direction: column;
      align-items: flex-start;
      gap: 20px;
    }

    & .grve-column-inner {
      width: 100%;
      max-width: 100% !important;
    }
  }
}

@media (max-width: 767px) {
  /* TYPOGRAPHY */

  h1.grve-title,
  .ws-post-title h1 {
    max-width: 75%;
  }

  /* STRUCTURE */

  #grve-content.grve-left-sidebar .grve-container {
    padding-inline: 30px;
  }

  /* BANNER */

  .iria-banner-badge img {
    max-height: 100px;
  }

  #grve-feature-section:not(.banner-half),
  #grve-feature-section:not(.banner-half) .grve-wrapper {
    min-height: var(--ws-banner-height-mobile) !important;
    /*z-index: 1 !important;*/
  }

  #grve-feature-section:not(.banner-half) .grve-wrapper {
    height: var(--ws-banner-height-mobile) !important;
  }

  #grve-feature-section.banner-half,
  #grve-feature-section.banner-half .grve-wrapper {
    min-height: calc(var(--ws-banner-height-mobile) / 2) !important;
  }

  #grve-feature-section.banner-half .grve-wrapper {
    height: calc(var(--ws-banner-height-mobile) / 2) !important;
  }

  .single-post #grve-single-media {
    height: --ws-banner-height-mobile !important;
  }

  .single-post #grve-single-media .grve-media {
    height: var(--ws-banner-height-mobile) !important;
    overflow: hidden;
  }
  #grve-post-bar.grve-layout-1 {
    padding-inline: 30px;
  }
}

/* Single post: one full-width border beneath the top image */
.single-post #grve-single-media,
.single-post #grve-single-media .grve-media {
  border-bottom: 0;
}

.single-post #grve-single-media .grve-container {
  border-bottom: var(--section-border-lg);
}

.single-post #grve-single-media .grve-media {
  max-width: none;
}