/* 
Theme Name: Hello Elementor Child - MDO Digital
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 */


body {
	color: var(--color-white);
}

h2 {
	color: var(--color-electric-lime);
}

.image-ratio--16-9 img {
	aspect-ratio: 16/9;
}

.object-fit--cover img {
	object-fit: cover;
}


.elementor-widget-image a {
	display: block;
}
.faqs--markup  .box-style--2:before {
	content: '';
	background: linear-gradient(0deg, rgba(165, 245, 67, 0.1), rgba(165, 245, 67, 0.1)),
radial-gradient(113.54% 80.88% at 93.05% 7.2%, rgba(0, 0, 0, 0.2) 0%, rgba(0, 0, 0, 0) 100%) /* warning: gradient uses a rotation that is not supported by CSS and may not behave as expected */;
	opacity: 0;
	visibility: hidden;
	transition: 400ms;

}
.faqs--markup .is-faq-open .box-style--2:before {
	opacity: 1;
	visibility: visible;
}

.faqs--content {
	max-height:0;
	transition: max-height 0.4s ease-in-out, opacity 0.4s ease-in-out, margin-top 0.4s ease-in-out;
    cursor: auto;
	overflow: hidden;
}

/* 
 * Upgraded Diagonal Glass Glare
 */
.elementor .btn--primary::before {
    content: '';
    position: absolute;
    /* Create an oversized canvas centered on the button to allow rotation without clipping corners */
    top: -50%;
    left: -50%;
    width: 200%;
    height: 200%;
    
    /* Multi-stop gradient for a sharper, more premium refractive hotspot */
    background: linear-gradient(
        to right,
        rgba(255, 255, 255, 0) 0%,
        rgba(255, 255, 255, 0.1) 40%,
        rgba(255, 255, 255, 0.5) 50%, /* Core glare intensity */
        rgba(255, 255, 255, 0.1) 60%,
        rgba(255, 255, 255, 0) 100%
    );
    
    /* 
     * Translate moves the entity to the bottom-left in screen space.
     * Rotate angles the gradient band perpendicularly to the path of motion.
     * Note: Transform order matters. We translate first, then rotate.
     */
    transform: translate(-100%, 100%) rotate(45deg);
    
    /* Snappier cubic-bezier for a more responsive feel */
    transition: transform 0.6s cubic-bezier(0.25, 1, 0.5, 1);
    
    z-index: -1;
    pointer-events: none; /* Prevents the pseudo-element from capturing hover events */
}

/* 
 * Hover State Trigger
 * Sweeps the element to the top-right along the established axis.
 */
.elementor .btn--primary:hover::before {
    transform: translate(100%, -100%) rotate(45deg);
}


.page-numbers.prev, .page-numbers.next {
	    overflow: hidden;
    font-family: Halfre;
    font-size: var(--fs-tx-sm);
    text-transform: uppercase;
    padding-block-start: var(--xxs);
    padding-block-end: var(--sm);
    padding-inline-start: var(--xxs);
    padding-inline-end: var(--md);
    border-radius: var(--xxs);
    border-width: 1px;
    border-color: var(--color-electric-lime) ;
	color: var(--color-electric-lime) !important;
    line-height: 110%;
    border-style: none;
    background: linear-gradient(0deg, rgba(165, 245, 67, 0.1), rgba(165, 245, 67, 0.1)), radial-gradient(113.54% 693% at 50% 0%, #000000 0%, rgba(0, 0, 0, 0) 100%);
	border: 1px solid var(--color-electric-lime);
}

.elementor-pagination.elementor-pagination {
	display: flex;
    justify-content: center;
    flex-wrap: wrap;
	align-items: center;
}

.loop--overflow-visible .swiper{
	overflow: visible !important;
}

.post-content h6 {
    text-transform: uppercase;
      
    font-size: 1.25rem;
}

.post-content h6, .post-content h5, .post-content h4 {
    font-weight: 400;
}

.wp-block-quote {
    margin-left: 0;
    padding-left: 1rem;
    border-left: 1px solid;
    font-size: 1.25rem;
    margin-top: 2rem;
    margin-bottom: 2rem;
}
.post-content .elementor-widget-container > *{
    margin-bottom: 1.5rem;
}

/* * 1. Force overflow visibility on the master section */
@media (min-width: 1025px) {
	body.admin-bar .master--header{
		top: 32px;
	}
	.scroller-box--1:not(.is-active) {
		opacity: 0.25;
	}

	#scroller-section {
		overflow: visible !important;
	}

	/* * 2. The injected block-level track */
	.custom-sticky-track {
		position: relative;
		width: 100%;
		/* Height is dynamically injected via JS */
	}

	/* * 3. The native sticky holder */
	#scroller--holder {
		position: -webkit-sticky !important; /* Safari compatibility */
		position: sticky !important;
		top: 10vh !important;
		height: max-content !important; /* Prevents inheriting 100% height from the track */
		width: 100%;
		z-index: 10;
	}

	/* * 4. Active state mappings */
	.scroller-box--1 {
		opacity: 0.25;
		transform: scale(0.98);
		transition: opacity 0.4s cubic-bezier(0.25, 1, 0.5, 1), transform 0.4s cubic-bezier(0.25, 1, 0.5, 1);
		will-change: opacity, transform;

	}

	.scroller-box--1.is-active {
		opacity: 1;
		transform: scale(1);
	}

	/* * 5. Master header */
	#master--header {
		transition: opacity 0.35s ease, transform 0.35s ease;
		will-change: opacity, transform;
	}

	/* * 6. Auto-Scrolling Window for the Text Column
	 * Restricts the height to fit within the viewport and hides native scrollbars.
	 */
	.scroller-right-column {
		max-height: 75vh; /* Prevents the column from exceeding the sticky viewport */
		overflow-y: hidden; /* Hides native scrollbar, controlled via JS */
		scroll-behavior: smooth; /* Hardware-accelerated glide */

		/* Cross-browser scrollbar hiding */
		-ms-overflow-style: none;
		scrollbar-width: none;
	}

	.scroller-right-column::-webkit-scrollbar {
		display: none;
	}
}

@media(max-width: 1780px) {
	.elementor .glass-image-2 {
		z-index: unset;
	}
}


@media(max-width: 1024px) {
	
	#wpadminbar {
		display: none !important;
	}
	body.admin-bar .dialog-type-lightbox {
		position: fixed !important;
	}
	html, html[lang="en-AU"] {
		margin-top: 0 !important;
	}
}
@media(max-width: 767px) {

	.elementor-element-b264e4b {
		border-radius: 12px !important;
	}
	.footer--menu .elementor-nav-menu:after{
		display: none !important;
	}
	.footer--menu .elementor-nav-menu{
		flex-direction: column;
		gap: 1rem;
	}
	.footer--menu .elementor-nav-menu .elementor-item  {
		justify-content: center;
	}
}
@media(max-width: 575px) {
	.page-numbers.prev, .page-numbers.next {
		padding-block-start: var(--xxs);
		padding-block-end: var(--xxs);
		padding-inline-start: var(--xxs);
		padding-inline-end: var(--xxs);
		font-size: 0.75rem;
	}
}


@keyframes spin {
  from { transform: rotateY(0deg); }
  to { transform: rotateY(360deg); }
}

.rotating-text{
  animation: spin 5s linear infinite;
  transform-style: preserve-3d;
	display: inline-block;
}
