/**
Theme Name: ROCG 2026
Author: AcctWeb / Dominic Greene
Author URI: https://www.acctweb.com.au/
Description: Child theme for the ROCG website. Uses Astra as a parent theme. Made by Dominic Greene of AcctWeb in 2026.
Version: 1.0.0
License: GNU General Public License v2 or later
License URI: http://www.gnu.org/licenses/gpl-2.0.html
Text Domain: rocg-2026
Template: astra
*/

/*
Header and Navigation -------------------------------------------------
*/

.ast-above-header-wrap {
	font-weight: 500;
}

.ast-above-header-wrap svg {
	height: 18px;
	width: 18px;
	fill: #505050;
	margin-bottom: -4px;
	margin-right: 0.125rem;
}

.ast-above-header-bar .header-widget-area[data-section="sidebar-widgets-header-widget-1"].header-widget-area-inner, .ast-above-header-bar .header-widget-area[data-section="sidebar-widgets-header-widget-5"].header-widget-area-inner {
	font-size: 14px;
}

.ast-above-header-bar .header-widget-area[data-section="sidebar-widgets-header-widget-5"].header-widget-area-inner {
	color: #333333;
}

.ast-theme-transparent-header #ast-desktop-header > .ast-main-header-wrap > .main-header-bar {
	font-weight: 500;
}

.main-header-bar.ast-sticky-active {
  box-shadow: 0 2px 10px 0 rgba(0, 0, 0, 0.12);
}

.nav-services li.current-menu-item a {
	text-decoration: none;
	pointer-events: none;
}

.nav-services ul {
	display: flex;
	flex-wrap: wrap;
	list-style: none;
	margin: 0;
	padding: 0;
	width: 100%;
}

.nav-services li {
	flex: 1;
	white-space: nowrap;
	margin: 0;
	text-align: center;
	font-size: 15px;
}

.nav-services a {
	display: block;
	color: #fff;
	text-decoration: none !important;
	padding: 14px 10px;
	border-bottom: 3px solid transparent;
	transition: background-color .2s linear, border-color .2s linear;
}

.nav-services a:hover {
	background-color: #1b67ad;
	border-bottom: 3px solid #1b67ad;
}

.nav-services .current_page_item > a {
	background-color: #3272c7;
	font-weight: 500;
	pointer-events: none;
	cursor: default;
	border-bottom: 3px solid #f68424;
}

.main-header-menu .menu-item.nav-dupe-sub {
	display: none;
}

.main-header-menu .menu-item-services > .menu-link {
	pointer-events: none;
	cursor: default;
}

/*
Homepage -------------------------------------------------
*/

.wp-block-cover.has-custom-content-position.has-custom-content-position.is-position-bottom-left.area-hero {
	padding-left: 0;
	padding-right: 0;
}

.wp-block-cover.has-custom-content-position.has-custom-content-position.is-position-bottom-left.area-hero .wp-block-cover__inner-container {
	width: 100%;
	max-width: 100%;
}

.wp-block-cover.area-hero_sub-menu {
	padding-top: 2rem !important;
}

.area-services a {
	background: #0156a4;
	color: #FFF;
	text-align: center;
	text-decoration: none !important;
	font-weight: 500;
	display: block;
	padding: 1rem 1rem 1.25rem 1rem;
	border: 3px solid #0156a4;
}

.area-services a svg {
	height: 75px;
	width: 75px;
	display: block;
	margin: 0 auto;
	margin-bottom: 0px;
	margin-bottom: 0.5rem;
	fill: #FFF;
}

.area-services a:hover {
	border: 3px solid #0156a4;
	background: #FFF;
	color: #0156a4; 
}

.area-services a:hover svg {
	fill: #0156a4; 
}

.area-hero span.wp-block-cover__background {
	background: #ffeadb !important;
}

.area-hero img, .area-hero video {
	-webkit-mask-image: url(../ac/img/shape-02.svg);
  mask-image: url(../ac/img/shape-02.svg);
  -webkit-mask-size: 100%;
  mask-size: 100%;
  -webkit-mask-repeat: no-repeat;
  mask-repeat: no-repeat;
  height: 100%;
}

.area-hero video {
	object-fit: cover;
  min-height: 872px;
}

.home .area-hero video {
	object-position: -390px;
}

.area-hero .wp-block-column figure {
	background-image: url(../ac/img/shape-04.svg);
	background-repeat: no-repeat;
	background-position-x: 99%;
  background-position-y: 95%;
  background-size: 260px;
}

.area-hero {
	background-image: url(../ac/img/shapes-01.svg);
  background-repeat: no-repeat;
  background-position-x: 120%;
  background-position-y: -1%;
  background-size: 800px;
}

/*
Content -------------------------------------------------
*/

.ast-single-post .entry-content a, .ast-comment-content a:not(.ast-comment-edit-reply-wrap a) {
  text-underline-offset: 0.5rem;
}

.ast-single-post .entry-content a:hover, .ast-comment-content a:hover:not(.ast-comment-edit-reply-wrap a) {
  text-decoration-thickness: 2px;
}

.mask03 img {
	-webkit-mask-image: url(../ac/img/shape-03.svg);
  mask-image: url(../ac/img/shape-03.svg);
  -webkit-mask-size: 100%;
  mask-size: 100%;
  -webkit-mask-repeat: no-repeat;
  mask-repeat: no-repeat;
  height: 100%;
}

.area-enquire p {
	margin-top: 2rem;
	margin-bottom: 2.5rem;
}

.area-enquire video {
	-webkit-mask-image: url(../ac/img/shape-06.svg);
  mask-image: url(../ac/img/shape-06.svg);
  -webkit-mask-size: 100%;
  mask-size: 100%;
  -webkit-mask-repeat: no-repeat;
  mask-repeat: no-repeat;
  height: 100%;
}

.area-hero label {
	color: #222;
}

.area-hero textarea {
	height: 80px;
}

.wp-block-cover.angle-bottom-left {
  min-height: 100px;
  aspect-ratio: unset;
  position: relative;
  margin-bottom: -121px;
  clip-path: polygon(0 0, 100% 0, 100% calc(100% - 120px), 0 100%);
  z-index: 2;
}

.wp-block-cover.angle-top {
	padding-top: 15rem !important;
}

.area-service-box .wp-block-column {
	background: #FFF;
	border-radius: 16px;
}

.area-service-box img {
	border-radius: 16px 16px 0 0;
	width: 100%;
}

.area-service-box__content {
	padding: 2rem;
	color: #333 !important;
}

.area-service-box__content h3 {
	color: #333 !important;
	font-size: 1.25rem;
}

.area-service-box__content span {
	color: #0156a4;
	text-decoration: underline;
	text-decoration-thickness: 2px;
	text-decoration-color: #FFF;
}

.area-service-box a:hover span {
	text-decoration: underline;
	text-decoration-thickness: 2px;
	transition: all .2s;
}

.column-images figure {
  height: 100%;
}

.column-images img {
  height: 100%;
  width: 100%;
  object-fit: cover;
}

/*
Buttons and Forms -------------------------------------------------
*/

.wp-block-button.button-right a, .wp-block-button.button-right a:focus {
	background-image: url('data:image/svg+xml,<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 640 640"><!--!Font Awesome Free v7.2.0 by @fontawesome - https://fontawesome.com License - https://fontawesome.com/license/free Copyright 2026 Fonticons, Inc.--><path fill="rgb(255, 255, 255)" d="M439.1 297.4C451.6 309.9 451.6 330.2 439.1 342.7L279.1 502.7C266.6 515.2 246.3 515.2 233.8 502.7C221.3 490.2 221.3 469.9 233.8 457.4L371.2 320L233.9 182.6C221.4 170.1 221.4 149.8 233.9 137.3C246.4 124.8 266.7 124.8 279.2 137.3L439.2 297.3z"/></svg>');
	background-repeat: no-repeat;
  background-position-x: 90%;
  padding-right: 4rem;
  background-size: 24px;
  background-position-y: 50%;
}

.wp-block-button.button-down a, .wp-block-button.button-down a:focus {
	background-image: url('data:image/svg+xml,<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 640 640"><!--!Font Awesome Free v7.2.0 by @fontawesome - https://fontawesome.com License - https://fontawesome.com/license/free Copyright 2026 Fonticons, Inc.--><path fill="rgb(255, 255, 255)" d="M297.4 438.6C309.9 451.1 330.2 451.1 342.7 438.6L502.7 278.6C515.2 266.1 515.2 245.8 502.7 233.3C490.2 220.8 469.9 220.8 457.4 233.3L320 370.7L182.6 233.4C170.1 220.9 149.8 220.9 137.3 233.4C124.8 245.9 124.8 266.2 137.3 278.7L297.3 438.7z"/></svg>');
	background-repeat: no-repeat;
  background-position-x: 90%;
  padding-right: 4rem;
  background-size: 24px;
  background-position-y: 50%;
}

.button-white-transparent .wp-block-button__link, .button-white-transparent .wp-block-button__link:focus {
	background: transparent;
	color: #FFF;
	border: 1px solid #FFF;
}

.button-white-transparent .wp-block-button__link:hover {
	background: #FFF;
	color: #222;
	border: 1px solid #FFF;
}

.wp-block-button.button-right.button-white-transparent .wp-block-button__link:hover {
	background-image: url('data:image/svg+xml,<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 640 640"><!--!Font Awesome Free v7.2.0 by @fontawesome - https://fontawesome.com License - https://fontawesome.com/license/free Copyright 2026 Fonticons, Inc.--><path fill="%23222222" d="M439.1 297.4C451.6 309.9 451.6 330.2 439.1 342.7L279.1 502.7C266.6 515.2 246.3 515.2 233.8 502.7C221.3 490.2 221.3 469.9 233.8 457.4L371.2 320L233.9 182.6C221.4 170.1 221.4 149.8 233.9 137.3C246.4 124.8 266.7 124.8 279.2 137.3L439.2 297.3z"/></svg>');
	background-repeat: no-repeat;
  background-position-x: 95%;
  padding-right: 4rem;
  background-size: 32px;
  background-position-y: 50%;
}

.wp-block-button.button-down.button-white-transparent .wp-block-button__link:hover {
	background-image: url('data:image/svg+xml,<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 640 640"><!--!Font Awesome Free v7.2.0 by @fontawesome - https://fontawesome.com License - https://fontawesome.com/license/free Copyright 2026 Fonticons, Inc.--><path fill="%23222222" d="M297.4 438.6C309.9 451.1 330.2 451.1 342.7 438.6L502.7 278.6C515.2 266.1 515.2 245.8 502.7 233.3C490.2 220.8 469.9 220.8 457.4 233.3L320 370.7L182.6 233.4C170.1 220.9 149.8 220.9 137.3 233.4C124.8 245.9 124.8 266.2 137.3 278.7L297.3 438.7z"/></svg>');
	background-repeat: no-repeat;
  background-position-x: 95%;
  padding-right: 4rem;
  background-size: 32px;
  background-position-y: 50%;
}

label, legend {
  color: #FFF;
  font-size: 16px;
}

.wpcf7-form .wpcf7-form-control-wrap input, .wpcf7-form .wpcf7-form-control-wrap textarea {
	background: transparent;
	border-radius: 16px;
}

.wpcf7-form .wpcf7-form-control-wrap input:focus, .wpcf7-form .wpcf7-form-control-wrap textarea:focus {
	background: transparent;
	border-radius: 16px;
	border: 1px solid #FFF;
}

.wpcf7 textarea.wpcf7-form-control, .area-enquire textarea {
	height: 80px;
	min-height: 80px;
}

input.wpcf7-submit {
	background-image: url('data:image/svg+xml,<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 640 640"><!--!Font Awesome Free v7.2.0 by @fontawesome - https://fontawesome.com License - https://fontawesome.com/license/free Copyright 2026 Fonticons, Inc.--><path fill="rgb(255, 255, 255)" d="M439.1 297.4C451.6 309.9 451.6 330.2 439.1 342.7L279.1 502.7C266.6 515.2 246.3 515.2 233.8 502.7C221.3 490.2 221.3 469.9 233.8 457.4L371.2 320L233.9 182.6C221.4 170.1 221.4 149.8 233.9 137.3C246.4 124.8 266.7 124.8 279.2 137.3L439.2 297.3z"/></svg>');
  background-repeat: no-repeat;
  background-position-x: 90%;
  padding-right: 4rem;
  background-size: 24px;
  background-position-y: 50%;
}

.button-margin-top {
	margin-top: 3rem !important;
}

.area-enquire input, .area-enquire textarea {
	color: #FFF;
}

.area-enquire input.wpcf7-submit {
	border: 1px solid #FFF;
	transition: all .2s linear;
}

.area-enquire input.wpcf7-submit:hover {
	background: #FFF;
	color: #0056a2;
	background-image: url('data:image/svg+xml,<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 640 640"><!--!Font Awesome Free v7.2.0 by @fontawesome - https://fontawesome.com License - https://fontawesome.com/license/free Copyright 2026 Fonticons, Inc.--><path fill="rgb(0, 86, 162)" d="M439.1 297.4C451.6 309.9 451.6 330.2 439.1 342.7L279.1 502.7C266.6 515.2 246.3 515.2 233.8 502.7C221.3 490.2 221.3 469.9 233.8 457.4L371.2 320L233.9 182.6C221.4 170.1 221.4 149.8 233.9 137.3C246.4 124.8 266.7 124.8 279.2 137.3L439.2 297.3z"/></svg>');
	background-repeat: no-repeat;
  background-position-x: 94%;
  padding-right: 4rem;
  background-size: 24px;
  background-position-y: 50%;
}

.area-enquire .wpcf7 input.wpcf7-form-control:not([type="submit"]):focus, .area-enquire .wpcf7 select.wpcf7-form-control:focus, .wpcf7 textarea.wpcf7-form-control:focus {
  border-color: #F58D32;
  color: #FFF;
}

/*
Media Queries -------------------------------------------------
*/

@media (min-width: 922px) {

	.area-hero video, .home .area-hero video {
		min-height: 0;
		height: auto;
		aspect-ratio: 1 / 1 !important;
		max-height: 872px;
		object-fit: cover;
		object-position: center center;
		-webkit-mask-size: 100% 100%;
		mask-size: 100% 100%;
		-webkit-mask-position: center center;
		mask-position: center center;
	}

	.area-hero .wp-block-column figure {
		background-size: min(260px, 42%);
	}

}

@media (min-width: 922px) and (max-width: 1150px) {

	.ast-above-header-bar .ast-builder-html-element {
		font-size: 13px;
	}

	.ast-above-header-bar .header-widget-area[data-section="sidebar-widgets-header-widget-1"].header-widget-area-inner, .ast-above-header-bar .header-widget-area[data-section="sidebar-widgets-header-widget-5"].header-widget-area-inner {
		font-size: 13px;
	}

	.ast-above-header-bar .ast-builder-html-element, .ast-above-header-bar .ast-builder-html-element * {
		white-space: nowrap;
	}

	.ast-above-header-bar .ast-builder-layout-element {
		padding-left: 8px;
		padding-right: 8px;
	}

}

@media (min-width: 922px) and (max-width: 1399px) {

	.main-header-menu > .menu-item.nav-dupe-top {
		display: none;
	}

	.main-header-menu .sub-menu .menu-item.nav-dupe-sub {
		display: block;
	}
}

@media (max-width: 1270px) {

	.site-primary-footer-wrap[data-section="section-primary-footer-builder"], .site-below-footer-wrap[data-section="section-below-footer-builder"] {
		padding-left: 2em;
		padding-right: 2em;
	}

}

@media (max-width: 921px) {

	.call-split {
		display: flex;
		width: 100%;
	}

	.call-split a {
		flex: 1 1 50%;
		display: flex;
		align-items: center;
		justify-content: center;
		gap: 5px;
		background: var(--ast-global-color-0);
		color: #fff;
		font-size: 14px;
		font-weight: 500;
		padding: 13px 6px;
		text-decoration: none;
		white-space: nowrap;
	}

	.call-split a + a {
		border-left: 1px solid rgba(255, 255, 255, 0.25);
	}

	.call-split a:hover, .call-split a:focus {
		background: #014a8c;
		color: #fff;
	}

	.call-split .loc-abbr {
		display: none;
	}

	.site-header-above-section-center > .header-widget-area[data-section="sidebar-widgets-header-widget-4"] {
		padding-left: 0;
		padding-right: 0;
	}

	.ast-header-break-point #masthead .ast-mobile-header-wrap .ast-above-header-bar {
		padding-left: 0;
		padding-right: 0;
	}

	.site-header-above-section-center, .header-widget-area[data-section="sidebar-widgets-header-widget-4"], .header-widget-area[data-section="sidebar-widgets-header-widget-4"] .widget {
		width: 100%;
		margin: 0;
	}

	.header-widget-area[data-section="sidebar-widgets-header-widget-4"] .widget a {
		display: block;
		width: 100%;
		background: var(--ast-global-color-0);
		color: #fff;
		text-align: center;
		padding: 14px 0px;
		text-decoration: none;
	}

	.header-widget-area[data-section="sidebar-widgets-header-widget-4"] .widget a:hover, .header-widget-area[data-section="sidebar-widgets-header-widget-4"] .widget a:focus {
		color: #fff;
		background: #014a8c;
	}

	.header-widget-area[data-section="sidebar-widgets-header-widget-4"] svg {
		fill: #fff;
	}

	header .custom-logo-link img, .astra-logo-svg {
		width: auto;
		max-width: 150px;
		height: auto;
	}

	[data-section="section-header-mobile-trigger"] .ast-button-wrap .ast-mobile-menu-trigger-minimal {
		padding-left: 8px;
		padding-right: 8px;
	}

	[data-section="section-header-mobile-trigger"] .ast-button-wrap .mobile-menu-wrap .mobile-menu {
		white-space: nowrap;
	}

	.area-hero .wp-block-columns {
		flex-wrap: wrap !important;
		gap: 1.5rem 0;
	}

	.area-hero .wp-block-columns > .wp-block-column {
		flex-basis: 100% !important;
		flex-grow: 1;
	}

	.area-hero .wp-block-column figure.wp-block-video {
		margin-left: calc(50% - 50vw);
		margin-right: calc(50% - 50vw);
		width: auto;
		max-width: none;
	}

	.area-hero video, .home .area-hero video {
		min-height: 0;
		height: auto;
		width: 100%;
		aspect-ratio: 16 / 9 !important;
		object-fit: cover;
		object-position: center center;
		-webkit-mask-image: url(../ac/img/shape-07.svg);
		mask-image: url(../ac/img/shape-07.svg);
		-webkit-mask-size: 100% 100%;
		mask-size: 100% 100%;
		-webkit-mask-repeat: no-repeat;
		mask-repeat: no-repeat;
		-webkit-mask-position: center center;
		mask-position: center center;
	}

	.area-hero .wp-block-column figure {
		background-size: 110px;
		background-position-x: 92%;
		background-position-y: 92%;
	}

	.area-hero {
		background-size: 480px;
	}

	.area-enquire > .wp-block-column {
		padding: 3rem 2rem !important;
	}

	.area-enquire > .wp-block-column:not(:has(.wpcf7)) {
		padding-top: 0 !important;
		padding-bottom: 0 !important;
	}

	.area-enquire > .wp-block-column:has(.wpcf7) {
		padding-top: 1rem !important;
	}

	.reverse-columns-mobile {
    flex-direction: column-reverse;
  }

}

@media (min-width: 601px) and (max-width: 921px) {

	.ast-builder-grid-row-container.ast-builder-grid-row-tablet-4-equal .ast-builder-grid-row {
		grid-template-columns: 1fr 1fr 1fr;
		row-gap: 2.5em;
	}

	.ast-builder-grid-row-container.ast-builder-grid-row-tablet-4-equal .ast-builder-grid-row > *:first-child {
		grid-column: 1 / -1;
	}

}

@media (max-width: 781px) {

	.area-enquire > .wp-block-column:has(.wpcf7) {
		order: 1;
	}

  .column-images .wp-block-group {
    padding: 2.5rem 1.5rem;
  }

}

@media (min-width: 545px) and (max-width: 600px) {

	.ast-builder-grid-row-container.ast-builder-grid-row-tablet-4-equal .ast-builder-grid-row {
		grid-template-columns: 1fr 1fr;
		row-gap: 2.5em;
	}

	.ast-builder-grid-row-container.ast-builder-grid-row-tablet-4-equal .ast-builder-grid-row > *:first-child {
		grid-column: 1 / -1;
	}

}

@media (max-width: 544px) {

	h2, .entry-content :where(h2) {
		font-size: 1.5rem;
		line-height: 1.25em;
	}

	.entry-content .wp-block-heading.has-large-font-size, .entry-content h2.has-large-font-size {
		font-size: 1.6rem !important;
		line-height: 1.25em;
	}

	h1, h2, h3, .entry-content :where(h1, h2, h3) {
		overflow-wrap: break-word;
		word-break: normal;
		hyphens: none;
	}

	.area-hero .wp-block-column figure {
		background-size: 90px;
	}

	.area-hero {
		background-size: 380px;
	}

	.area-enquire > .wp-block-column {
		padding-left: 1.5rem !important;
		padding-right: 1.5rem !important;
	}

	.site-primary-footer-wrap[data-section="section-primary-footer-builder"] {
		padding-top: 48px;
	}

	.site-primary-footer-wrap img {
		max-width: 160px;
		height: auto;
	}

	.wp-block-button .wp-block-button__link, input.wpcf7-submit {
		font-size: 15px;
		padding-top: 15px;
		padding-bottom: 15px;
		padding-left: 20px;
		padding-right: 20px;
	}

	.wp-block-button.button-right a, .wp-block-button.button-right a:focus, .wp-block-button.button-down a, .wp-block-button.button-down a:focus, input.wpcf7-submit {
		padding-right: 44px;
		background-size: 18px;
		background-position-x: calc(100% - 14px);
	}

}

@media (max-width: 449px) {

	.call-split .loc-full {
		display: none;
	}

	.call-split .loc-abbr {
		display: inline;
	}

	.call-split a {
		font-size: 13px;
		gap: 4px;
	}

}

@media (max-width: 400px) {

	header .custom-logo-link img, .astra-logo-svg {
		max-width: 120px;
	}

	.wp-block-button .wp-block-button__link, input.wpcf7-submit {
		font-size: 13px;
		padding-top: 13px;
		padding-bottom: 13px;
		padding-left: 16px;
		padding-right: 16px;
	}

	.wp-block-button.button-right a, .wp-block-button.button-right a:focus, .wp-block-button.button-down a, .wp-block-button.button-down a:focus, input.wpcf7-submit {
		padding-right: 38px;
		background-size: 16px;
		background-position-x: calc(100% - 12px);
	}

}