/* 
Theme Name: Hello Elementor Child
Theme URI: https://github.com/elementor/hello-theme-child/
Description: Hello Elementor Child is a child theme of Hello Elementor, created by Elementor team
Author: Elementor Team
Author URI: https://elementor.com/
Template: hello-elementor
Version: 2.0.0
Text Domain: hello-elementor-child
License: GNU General Public License v3 or later.
License URI: https://www.gnu.org/licenses/gpl-3.0.html
Tags: flexible-header, custom-colors, custom-menu, custom-logo, editor-style, featured-images, rtl-language-support, threaded-comments, translation-ready
*/

/* Add your custom styles here */

/* hide shop ctas */
/* .shop-cta{display: none;} */

/* utility */
ul + p {
    margin-top: 1rem;
}
.elementor-widget-text-editor p:last-child {
    margin-bottom: 0;
}
.elementor-icon-wrapper{
	display: flex;
}
.bg-blur{
	backdrop-filter: blur(40px);
}
.h-100 {
    height: 100%;
}
.display-block a{display: block;}
b, strong{
	font-weight: 600;
}
.column-margin-right-auto > .e-con-inner {
    margin-left: 0;
    margin-right: auto;
}

.elementor-nav-menu a{
	cursor: pointer;
}
.justify-end, .justify-end .elementor-icon-wrapper {
    justify-content: flex-end;
}

.bg-hover-zoom{transition: 0.3s;}
.bg-hover-zoom:hover{transform: scale(1.1);}

.icon-hover-01 circle{transition: 0.3s;}
.icon-hover-01 .elementor-icon:hover circle{fill: var( --e-global-color-text );}
/* button styling */
.elementor-button-info .elementor-button {
    background: transparent !important;
    padding-left: 0;
    padding-right: 0;
}
.elementor-button-info span.elementor-button-icon{
	transition: 0.3s;
}
.elementor-button-info:not(.no-transform):hover span.elementor-button-icon {
    transform: translateX(5px);
}
.elementor-button-info .elementor-button-text{
	color: var(--e-global-color-text) !important;
}
.elementor-button-info.arrow-after {
	transform: translateX(-24px);
}
.elementor-button-info.arrow-after::after {
    content: "";
    background-image: url("https://afsystems.optimisedesign.com.au/wp-content/uploads/2025/07/chevron-orange.svg");
    width: 20px;
    height: 20px;
    display: block;
    background-size: contain;
    background-repeat: no-repeat;
    background-position: center;
    position: absolute;
    right: -24px;
    top: 14px;
}

/* header styling */
header .elementor-sticky { 
width: 100% !important;
}
header{
	position: sticky;
	z-index: 999;
}
header .oo-header{
    transition: 0.3s
}
header .oo-header.elementor-sticky--effects{
    padding: 0;
}
header .oo-header.elementor-sticky--effects .oo-header-inner{
    border-radius: 0;
    border-bottom: 1px solid var(--e-global-color-547ab1f);
}

header .sub-arrow{
	color: var(--e-global-color-accent);
}
/* Pages styling */
.internal-banner::after {
    content: "";
    position: absolute;
    backdrop-filter: blur(25px);
    top: 0;
    left: 50%;
    right: 0;
    bottom: 0;
    z-index: 0;
}

.logo-carousel img{
	height: 150px;
	width: 150px;
	object-fit: contain;
	object-position: center;
}

/* Testimonial Slider */
.testimonial-carousel{
	--oo-arrow-size: 36px;
}
.testimonial-carousel .elementor-swiper-button > i {
    width: var(--oo-arrow-size) !important;
    height: var(--oo-arrow-size)!important;
}

.testimonial-carousel .elementor-swiper-button > i::before{
	content: "";
}
.testimonial-carousel .eicon-chevron-right{
	background: url('/wp-content/uploads/2025/07/chevron-orange.svg') no-repeat center/contain;
}
.testimonial-carousel .eicon-chevron-left{
	background: url('/wp-content/uploads/2025/07/chevron-orange-left.svg') no-repeat center/contain;
}
.testimonial-carousel .elementor-swiper-button-next{
	top: calc((var(--oo-arrow-size) / 2 + 120px) * -1) !important;
	right: calc( var(--oo-arrow-size) / 2) !important;
	left: auto !important;
}
.testimonial-carousel .elementor-swiper-button-prev{
	top: calc((var(--oo-arrow-size) / 2 + 120px) * -1) !important;
	right: calc( var(--oo-arrow-size) * 2) !important;
	left: auto !important;
}


.swiper-pagination {
    width: 80% !important;
    display: flex;
    max-width: 280px;
    border-radius: 5px;
    overflow: hidden;
    margin-top: 64px;
}

span.swiper-pagination-bullet {
    margin: 0 !important;
    border-radius: 0;
	background: #6B7280 !important;
	width: inherit !important;
    opacity: 1 !important;
	height: 6px !important;
}
span.swiper-pagination-bullet-active{
	background: var(--e-global-color-accent) !important;
}

/* faqs */
.oo-accordion .elementor-accordion-item {
    border-bottom: 1px solid var(--e-global-color-accent) !important;
}
.oo-accordion .elementor-accordion .elementor-tab-title {
    padding: 32px 0;
}
.oo-accordion .elementor-accordion-icon{
    font-size: 24px;
}
.oo-accordion .elementor-accordion .elementor-tab-content {
    padding-left: 0;
    padding-right: 0;
    padding-top: 0;
}
.oo-accordion .elementor-accordion > .elementor-accordion-item:first-child .elementor-tab-title {
    padding-top: 0;
}

.oo-accordion.list-items ul{
	list-style: none;
	padding: 0;
}


.oo-accordion.list-items .elementor-tab-content {
    padding: 24px;
    background: #fff;
    margin-bottom: 24px;
    border-radius: 12px;
}

.oo-accordion.list-items li{
	position: relative;
	padding-left: 16px;
}
.oo-accordion.list-items li:not(:last-child){
	padding-bottom: 24px;
}
.oo-accordion.list-items li:not(:last-child)::after {
    content: "";
    display: block;
    width: 100%;
    height: 1px;
    background: var( --e-global-color-f290c70 );
    position: absolute;
    left: 0;
    bottom: 12px;
}

.oo-accordion.list-items li::before {
    content: "";
    position: absolute;
    display: block;
    width: 8px;
    height: 8px;
    background: url('/wp-content/uploads/2025/08/Ellipse-4.svg') center/contain no-repeat;
    top: 8px;
    left: 0;
}
.oo-accordion.list-items .elementor-accordion-title {
    font-size: var(--e-global-typography-secondary-font-size) !important;
}

.oo-accordion a{color: var(--e-global-color-accent);}

.oo-faq-tabs .premium-tab-title{display: block; width: 100%; text-align: left;}
.oo-faq-tabs .premium-tabs{border: none !important;}
.oo-faq-tabs .tab-current span.premium-tab-title {font-weight: 600 !important;}
 

/* wp-forms */
label.wpforms-field-label, legend.wpforms-field-label {
    font-weight: 400 !important;
}
button.wpforms-submit {
    background: var(--e-global-color-accent) !important;
    color: var(--e-global-color-text) !important;
}
button.wpforms-submit:hover{
	background: var(--e-global-color-text) !important;
	color: #fff !important;
}
.wpforms-form input:focus, .wpforms-form textarea:focus, .wpforms-form select:focus, .wpforms-form button:focus{
	box-shadow: 0 0 0 2px var(--e-global-color-accent) !important;
	border-color: var(--e-global-color-accent) !important;
}

/* custom service section */
.oo-service-grid{
    --heading-font-family: var( --e-global-typography-secondary-font-family ), Sans-serif;
    --heading-font-size: var( --e-global-typography-secondary-font-size );
    --heading-font-weight: var( --e-global-typography-secondary-font-weight );
    --heading-line-height: var( --e-global-typography-secondary-line-height );
    --icon-size: 32px;
    --container-padding: 28px;
    --tile-min-height: 350px;
    --trans: 0.7s;
}
.oo-service-grid .service-tile, .oo-service-grid .tile-content-wrapper {
    position: relative;
}
.oo-service-grid{
    display: flex;
    flex-wrap: wrap;
    column-gap: var(--container-padding);
    row-gap: var(--container-padding);
}
.oo-service-grid .service-tile{
    padding: var(--container-padding);
    border-radius: 12px;
    overflow: hidden;
    width: calc(50% - var(--container-padding) / 2);
    min-height: var(--tile-min-height);
    display: flex;
    align-items: flex-end;
    transition: var(--trans)
}
.oo-service-grid .tile-image{
    position: absolute;
    inset: 0;
    background-position: center;
    background-size: cover;
}
.oo-service-grid .tile-content-wrapper{
    border-radius: 8px;
    background: rgba(255, 255, 255, 0.75);
    backdrop-filter: blur(40px);
    transition: var(--trans);
    width: 100%;
}
.oo-service-grid .service-tile:not(.active) .tile-header{
    padding: 12px;
}
.oo-service-grid .tile-header{
    cursor: pointer;
    padding: var(--container-padding);
    display: grid;
    grid-template-columns: 1fr max-content;
    align-items: center;
    transition: var(--trans);
}

.oo-service-grid .title{
    font-size: var(--heading-font-size);
    font-family: var(--heading-font-family);
    font-weight: var(--heading-font-weight);
    line-height: var(--heading-line-height);
    margin: 0;
    
}
.oo-service-grid .control{
    width: var(--icon-size);
    height: var(--icon-size);
    background: var(--e-global-color-accent);
    border-radius: 50%;
    position: relative;
}
.oo-service-grid .control .line{
    position: absolute;
    background: #fff;
    transition: 0.2s;
}
.oo-service-grid .control .line:nth-child(1){
    top: 6px;
    bottom: 6px;
    width: 2px;
    left: calc((var(--icon-size) / 2) - 1px);
    transform-origin: center;
}
.oo-service-grid .control .line:nth-child(2){
    left: 6px;
    right: 6px;
    height: 2px;
    top: calc((var(--icon-size) / 2) - 1px);
}
.oo-service-grid .service-tile.active .control .line:nth-child(1){
    transform: rotate(90deg);
}
.oo-service-grid .tile-content {
  display: grid;
  grid-template-rows: 0fr;
  overflow: hidden;
  transition: grid-template-rows var(--trans);
    
}
.oo-service-grid .tile-content .content {
  min-height: 0;
  transition: visibility var(--trans);
  visibility: hidden;
}
.oo-service-grid .tile-content .content .content-padding{
    padding-left: var(--container-padding);
    padding-right: var(--container-padding);
    padding-bottom: var(--container-padding);
}
.oo-service-grid .service-tile.active .tile-content {
  grid-template-rows: 1fr;
   

}
.oo-service-grid .service-tile.active .tile-content .content {
  visibility: visible;
}

.oo-service-grid .service-tile.active{
    width: calc(70% - var(--container-padding) /2);
}

.oo-service-grid .service-tile:nth-child(odd).active + .service-tile{
    width:  calc(30% - var(--container-padding) /2);
}

.oo-service-grid .service-tile:has(+ .service-tile.active ) {
    width:  calc(30% - var(--container-padding) /2);
}
.oo-service-grid .service-tile:has(+ .service-tile:nth-child(odd).active ) {
    width:  calc(50% - var(--container-padding) /2);
}
.oo-service-grid .service-tile.active .tile-content-wrapper{
    width: 50%;
}

/* industry accordion */

.oo-industry-accordion{
  --button-font-size: var( --e-global-typography-secondary-font-size );
  --button-font-weight : var( --e-global-typography-secondary-font-weight )
  --button-line-height : var(--e-global-typography-secondary-line-height);
  --button-font-family : var(--e-global-typography-secondary-font-family);
  --button-text-colour: var(--e-global-color-text);
  --button-background-colour: transparent;

  --control-colour: var(--e-global-color-accent);
  --control-background: transparent;
  --control-background-hover: var(--e-global-color-accent);
  --divider-colour: var(--e-global-color-accent);
	
	--control-size: 32px;
  --icon-size: 48px;
  --icon-gap: 24px;

  --content-padding: 0 0 0 calc(var(--icon-size) + var(--icon-gap));
  --content-background: transparent;
  --content-border-radius: 0;
  --content-margin-top: 28px;


}


@media screen and (max-width:600px){
  .oo-industry-accordion{
    --control-size: 24px;
    --icon-size: 32px;
    --icon-gap: 12px;
  }
}

.oo-industry-accordion .accordion-trigger{
  display: flex;
  align-items: center;
  justify-content: space-between;
  width: 100%;
  background: var(--button-background-colour) !important;
  color: var(--button-text-colour) !important;
  padding: 0;
  border: none !important;
  margin: 0 !important;
}
.oo-industry-accordion h2{
  margin: 0;
}
.oo-industry-accordion .heading-wrapper{
  display: flex;
  gap: var(--icon-gap);
  align-items: center;
}
.oo-industry-accordion .heading-icon img{
  width: var(--icon-size);
  height: var(--icon-size);
  min-width: var(--icon-size);
  object-fit: contain;
}
.oo-industry-accordion .accordion-title{
  font-size: var( --button-font-size );
  font-weight: var(--button-font-weight);
  font-family: var(--button-font-family);
  line-height: var(--button-line-height);
  display: block;
  white-space: normal;
  text-align: left;
}
.oo-industry-accordion .accordion-control{
    width: var(--control-size);
    height: var(--control-size);;
    min-width: var(--control-size);;
    position: relative;
    border: 1px solid var(--control-colour);
    border-radius: 50%;
    transition: 0.2s
}
.oo-industry-accordion .line{
    background: var(--control-colour);
    position: absolute;
    transition: 0.2s;
}
.oo-industry-accordion .line:first-child{
    width: 18px;
    height: 2px;
    top: calc(50% - 1px);
    left: calc(50% - 9px);
}
.oo-industry-accordion .line:last-child{
    width: 2px;
    height: 18px;
    left: calc(50% - 1px);
    top: calc(50% - 9px);
}
.oo-industry-accordion .accordion-content .content-wrapper-styles{
  padding: var(--content-padding);
  background: var(--content-background);
  border-radius: var(--content-border-radius);
  margin-top: var(--content-margin-top);
}

.oo-industry-accordion .divider{
  width: 100%;
  height: 1px;
  background-color: var(--divider-colour);
  margin-top: 28px;
  margin-bottom: 28px;
}

.oo-industry-accordion .accordion-item:hover .accordion-control,
.oo-industry-accordion .accordion-item.open .accordion-control{
  background-color: var(--control-background-hover);
  border-color: var(--control-background-hover);
}
.oo-industry-accordion .accordion-item:hover .accordion-control .line,
.oo-industry-accordion .accordion-item.open .accordion-control .line{
  background: #fff;
}
.oo-industry-accordion .accordion-item.open .accordion-control .line:last-child{
  transform: rotate(90deg);
}
.oo-industry-accordion .accordion-content{
  display: grid;
  grid-template-rows: 0fr;
  overflow: hidden;
  transition: grid-template-rows 1s;
}
.oo-industry-accordion .content-wrapper{
  min-height: 0;
  transition: visibility 1s;
  visibility: hidden;
}

.oo-industry-accordion .accordion-item.open .accordion-content {
  grid-template-rows: 1fr;
}
.oo-industry-accordion .accordion-item.open .content-wrapper {
  visibility: visible;
}
/* Custom filter styling */
#oo-filter-toggle{cursor: pointer;}
#oo-filter-toggle svg, #oo-filter-toggle i{transition: 0.3s;}
#oo-filter-toggle i{color: #000 !important;}
#oo-filter-toggle[aria-expanded=false] svg, #oo-filter-toggle[aria-expanded=false] i{transform: rotate(-90deg);}



/* blog and wyswyg styling */
.wys{--wys-section-space: 64px;}
@media screen and (max-width: 1366px){
	.wys{--wys-section-space: 48px;}
}
@media screen and (max-width: 600px){
	.wys{--wys-section-space: 32px;}
}

.wys p:has(+ h2), 
.wys p:has(+ h3), 
.wys p:has(+ h4), 
.wys p:has(+ h5), 
.wys p:has(+ h6),
.wys p:has(+ img),
.wys p:has(+ figure),
.wys blockquote:has(+ h2), 
.wys blockquote:has(+ h3), 
.wys blockquote:has(+ h4), 
.wys blockquote:has(+ h5), 
.wys blockquote:has(+ h6),
.wys blockquote:has(+ img),
.wys blockquote:has(+ figure),
.wys ul:has(+ h2), 
.wys ul:has(+ h3), 
.wys ul:has(+ h4), 
.wys ul:has(+ h5), 
.wys ul:has(+ h6),
.wys ul:has(+ img),
.wys ul:has(+ figure),
.wys ol:has(+ h2), 
.wys ol:has(+ h3), 
.wys ol:has(+ h4), 
.wys ol:has(+ h5), 
.wys ol:has(+ h6),
.wys ol:has(+ img),
.wys ol:has(+ figure){
	margin-bottom: var(--wys-section-space);
}
.wys h2 + h2{margin-top: var(--wys-section-space);}


.wys hr{margin-bottom: var(--wys-section-space); margin-top: var(--wys-section-space);}
.wys h2,
.wys h3,
.wys h4,
.wys h5,
.wys h6{
	margin-bottom: 12px;
}

.wys h2{
    font-family: var(--e-global-typography-secondary-font-family), Sans-serif;
    font-size: var(--e-global-typography-secondary-font-size);
    font-weight: var(--e-global-typography-secondary-font-weight);
    line-height: var(--e-global-typography-secondary-line-height);
	color: var(--e-global-color-text);
}
.wys h3{
	font-family: var(--e-global-typography-c2c080a-font-family), Sans-serif;
    font-size: var(--e-global-typography-c2c080a-font-size);
    font-weight: var(--e-global-typography-c2c080a-font-weight);
    line-height: var(--e-global-typography-c2c080a-line-height);
	color: var(--e-global-color-text);
}
.wys h4, .wys h5, .wys h6{
	font-size: var(--e-global-typography-acfc634-font-size);
    font-weight: var(--e-global-typography-acfc634-font-weight);
    line-height: var(--e-global-typography-acfc634-line-height);
	color: var(--e-global-color-text);
}
.wys blockquote {position: relative;margin-left: 0;margin-right: 0;padding-left: calc(var(--wys-section-space) / 2);}
.wys blockquote::before {content: "";position: absolute;left: 0;height: 100%;width: 4px;background: var(--e-global-color-accent);}
.wys figcaption{color: var( --e-global-color-547ab1f ); margin-top: 8px;}
.wys ul, .wys ol{margin-block-end: 0.9rem;}
.wys a {
    color: var(--e-global-color-accent);
    font-weight: 600;
}
.wys a:hover {
    color: var(--e-global-color-text);
}

.oo-post-loop-cpt {
    text-transform: uppercase;
    padding: 4px 8px;
    background: #E5E7EB;
    width: fit-content;
    font-size: 12px;
    border-radius: 20px;
}

.jet-filter-label, .filter-heading .elementor-heading-title {
    font-size: 20px;
    font-weight: 600;
	font-family: var(--e-global-typography-acfc634-font-family), Sans-serif;
    font-size: var(--e-global-typography-acfc634-font-size);
    font-weight: var(--e-global-typography-acfc634-font-weight);
}
.jet-filter-label::after, .filter-heading .elementor-heading-title::after {
    content: "";
    display: block;
    height: 1px;
    width: 100%;
    background: darkgray;
    margin-top: 12px;
    margin-bottom: 24px;
}



/* responsive */
@media screen and (max-width: 1024px){
    .oo-service-grid{
    --icon-size: 24px;
    --container-padding: 14px;
    }
    .oo-service-grid .service-tile.active .tile-content-wrapper{
    width: 75%;
    }
}
@media screen and (max-width: 767px){
    .oo-service-grid{
        --tile-min-height: 260px;
    }
    .oo-service-grid .service-tile, .oo-service-grid .service-tile.active{
        width: 100% !important;
    }
    .oo-service-grid .service-tile.active .tile-content-wrapper{
        width: 100%;
    }
	
	.testimonial-carousel .elementor-swiper-button-next{
		display: none !important;
	}
	.testimonial-carousel .elementor-swiper-button-prev{
		display: none !important;
	}
	.mob-bg-blur{
		backdrop-filter: blur(40px);
	}
	.internal-banner::after{content: unset;}

}

/* Remove Hover and Focus style for carousel arrow button */
.oo-agents a.carousel-arrow.carousel-next:hover,
.oo-agents a.carousel-arrow.carousel-prev:hover {
  background: transparent !important;
}

.oo-agents a.carousel-arrow.carousel-next:focus,
.oo-agents a.carousel-arrow.carousel-prev:focus,
.oo-agents a.carousel-arrow.carousel-next:active,
.oo-agents a.carousel-arrow.carousel-prev:active {
  background: transparent !important;
}