/*
 Theme Name: Hello Elementor Child
 Template: hello-elementor
*/

/***************************************************
 * TRUSTARC
***************************************************/

#consent-banner {
	z-index: 10000;
}

/***************************************************
 * NO UNDERLINES ON LINKS
***************************************************/

a,
a.elementor-button,
.elementor-button-wrapper a,
.elementor-widget-button a {
    text-decoration: none !important;
}

/***************************************************
 * GIVE THIS A DEFAULT VALUE TO MINIMIZE SCREEEN SHIFTING
***************************************************/
	
:root {
  --scrollbar-width: 20px; /* fallback so layout doesn't break before JS runs */
}
	
/***************************************************
 * STOP NAV TOGGLE FROM CENTERING
***************************************************/

.elementor-menu-toggle {
		margin: 0 0 0 auto !important;
}
	
/***************************************************
 * AUTOMATIC PAGE PADDING AT ALL SIZES LESS THAN FULL DESKTOP
***************************************************/

@media (max-width: 1180px) {
    header > .elementor-element,
    footer > .elementor-element,
    .page-content > div > .elementor-element:not(.right-bleed) {
        padding-right: 20px !important;
    }
    header > .elementor-element,
    footer > .elementor-element,
    .page-content > div > .elementor-element:not(.left-bleed) {
        padding-left: 20px !important;
    }
}
	
@media (max-width: 768px) {
    .page-content > div > .elementor-element.right-bleed {
        padding-right: 20px !important;
    }
    .page-content > div > .elementor-element.left-bleed {
        padding-left: 20px !important;
    }
	
	footer .menu-item a  {
		justify-content: center !important;
	}
}
	
/***************************************************
 * CHEVRONS
***************************************************/
	
@media (min-width: 768px) {
	.chevron, .chevron > .e-con-inner {
			position: relative;
			overflow: hidden;
	}

	.chevron .chevron-div {
			background-image: url('https://www.pyxhealth.com/wp-content/uploads/2026/02/chevron-green.svg');
			background-repeat: no-repeat;
			background-size: contain;
			background-position: left center;
			position: absolute;
			top: -2px; left: 0; right: -2px; bottom: 0;
			z-index: 0;
			pointer-events: none;
			opacity: 1;
	}

	.chevron.orange .chevron-div {
			background-image: url('https://www.pyxhealth.com/wp-content/uploads/2026/02/chevron-orange.svg');
	}

	.chevron.blue .chevron-div {
			background-image: url('https://www.pyxhealth.com/wp-content/uploads/2026/02/chevron-blue.svg');
	}

	.chevron.teal .chevron-div {
			background-image: url('https://www.pyxhealth.com/wp-content/uploads/2026/02/chevron-teal.svg');
	}

	.chevron.purple .chevron-div {
			background-image: url('https://www.pyxhealth.com/wp-content/uploads/2026/02/chevron-purple.svg');
	}

	.chevron.solid-white .chevron-div {
			background-image: url('https://www.pyxhealth.com/wp-content/uploads/2026/02/chevron-solid-white.svg');
	}
}
	
/***************************************************
 * BUTTON BAR (SUBNAV)
***************************************************/

.button-bar,
.button-bar .e-con-inner {
	align-items: stretch;
}
	
.button-bar .elementor-widget-button {
    display: flex;
    align-items: stretch;
}

.button-bar .elementor-widget-button {
    display: flex;
    align-items: stretch;		
	  flex: 1 1 auto;
}
.button-bar .elementor-widget-button.icon-button {
    flex: 0 0 auto;
}

.button-bar .elementor-button-wrapper {
    display: flex;
    flex: 1;
}

.button-bar .elementor-button {
    display: flex;
    align-items: center;
    justify-content: center;
    flex: 1;
}

.button-bar .icon-button .elementor-button-content-wrapper {	
	align-items: center;
	justify-content: flex-start;
}
.button-bar .icon-button svg {	
	height: 30px;
	width: 30px;
}
	
@media (max-width: 767px) {
	
	.page-content > div > .elementor-element.button-bar:not(.left-bleed) {
	      padding-left: 0 !important;
	      padding-right: 0 !important;
				width: 100%;
	}

    .button-bar {
        flex-direction: column;
				background: none !important;
				width: 100% !important;
    }
    .button-bar.is-stuck {
				width: calc(100% - 70px) !important;
	}
	
    /* Hide the inner container by default */
    .button-bar .e-con-inner {
        display: none !important;
				background-color: rgba(0,0,0,0.5);
			  align-items: stretch;
    }
	
    .button-bar .e-con-inner > .elementor-widget-button {
		  width: calc(100% - 40px);
			margin: 0px 20px;
	}

    /* Show it when open */
    .button-bar.is-open .e-con-inner {
        display: flex !important;
        flex-direction: column;
        width: 100%;
    }

    .subnav-toggle {
        display: flex;
        width: 100%;
        padding: 12px 16px;
        background: transparent;
        border: none;
        font-size: 1rem;
        font-weight: 600;
        cursor: pointer;
        justify-content: space-between;
        align-items: center;
				border-radius: 0 !important;
    }

    .subnav-arrow {
        transition: transform 0.3s ease;
        display: inline-block;
    }

    .button-bar.is-open .subnav-arrow {
        transform: rotate(180deg);
    }
}

@media (min-width: 768px) {
    .subnav-toggle {
        display: none;
    }
}
	
/***************************************************
 * TAKE FIXED HEADER INTO ACCOUNT FOR # LINKS
***************************************************/

[id] {
  scroll-margin-top: 60px;
}
	
/***************************************************
 * ORBIT IMAGE
***************************************************/
	
.orbit-image {
	position: relative;
}

@keyframes orbit {
    from { transform: rotate(0deg); }
    to { transform: rotate(360deg); }
}
	
.orbit-image > .elementor-element:nth-child(2) img {
    animation: orbit 10s linear infinite; /* 10s is the duration, linear for consistent speed, infinite to loop */
    /* Ensure the SVG itself doesn't rotate with the orbit path (optional, for specific effect) */
    /* transform-origin: center; */ 
}

@media (max-width: 767px) {
  .orbit-image > .elementor-element {
    left: 50% !important;
    right: auto !important;
    transform: translateX(-50%) !important;
		width: 100%;
  }
	
  /* disable orbit animation on mobile */
  .orbit-image > .elementor-element:nth-child(2) img {
    animation: none !important;
  }
}

/***************************************************
 * GREEN HEADER TEXT
***************************************************/
	
.elementor-heading-title span {
		color: var(--e-global-color-primary);
}

/***************************************************
 * FLIP BOX ROUNDED CORNER HACK
***************************************************/
	
.elementor-flip-box .elementor-flip-box__front .elementor-flip-box__layer__overlay, 
.elementor-flip-box .elementor-flip-box__back .elementor-flip-box__layer__overlay,
.elementor-flip-box .elementor-flip-box__front, 
.elementor-flip-box .elementor-flip-box__back {
    border-radius: 10px;
}

	
/***************************************************
 * JUMBO STATS
***************************************************/
	
	.jumbo .elementor-counter-number-wrapper {
		margin-bottom: -20px;
	}
	
	.jumbo .elementor-counter-number-suffix {
		font-size: 64px;
		line-height: 120px;
	}
	
/***************************************************
 * STAT SLIDER TABLET
***************************************************/

@media (max-width: 1024px) {
  .stat-slider .elementor-widget-counter .elementor-counter-number-prefix,
  .stat-slider .elementor-widget-counter .elementor-counter-number,
  .stat-slider .elementor-widget-counter .elementor-counter-number-suffix,
  .stat-slider .elementor-widget-counter	.elementor-counter-title {
  		font-size: 70% !important;
  }
	.elementor-counter-number-wrapper {
		line-height: 40px;
  }
}

.roundy {
  aspect-ratio: 1 / 1;
  overflow: hidden;
  display: flex !important;
  align-items: center !important;
  justify-content: center !important;
}

/***************************************************
 * COUNTERS
***************************************************/
	
.elementor-counter-title {
	text-align: center !important;
}

/***************************************************
 * HOVER CAROUSEL
***************************************************/

@media (min-width: 768px) {
	.hover-carousel {
			height: 500px;
	}
}
@media (max-width: 767px) {
	.hover-carousel > .elementor-element {
			width: 100% !important;
		justify-content: center;
	}
	.hover-carousel > .elementor-element:before {
		background-color: rgba(0,0,0,.45) !important;
	}
	.hover-carousel > .elementor-element .reveal-on-hover {
			opacity: 1 !important;
			display: block !important;
	}
  .hover-carousel > .elementor-element .hide-on-hover {
		display: none !important;
	}
	.hover-carousel > .elementor-element > * {
		max-width: 300px;
	}
	
	.roundy {
		width: 180px !important;
	}

}

.hover-carousel > .elementor-element {
    transition: width 0.5s ease;
		overflow: hidden;
}

body:not(.elementor-editor-active) .hover-carousel:hover .hover-container {
    width: 10% !important;
}
body:not(.elementor-editor-active) .hover-carousel > .elementor-element.expanded {
    width: 100% !important;
}

body:not(.elementor-editor-active) .hover-carousel	.reveal-on-hover {
    opacity: 0;
    transition: opacity 0.4s ease-in-out, visibility 0.4s;
		display: none;
    transition-behavior: allow-discrete;
}
body:not(.elementor-editor-active) .hover-carousel > .elementor-element.expanded .reveal-on-hover {
    opacity: 1;
    display: block;
	   @starting-style {
        opacity: 0;
    }
}

body:not(.elementor-editor-active) .hover-carousel > .elementor-element.expanded .hide-on-hover {
	display: none !important;
}



/***************************************************
 * IMAGE GRID
***************************************************/
.image-grid > .elementor-element:not(:first-child),
.image-grid > .e-con-inner > .elementor-element:not(:first-child) {
    overflow: hidden;
    position: relative;
}

/* pseudo-element holds the background image */
.image-grid > .elementor-element:not(:first-child)::before,
.image-grid > .e-con-inner > .elementor-element:not(:first-child)::before {
    content: '';
    position: absolute;
    inset: 0;
    background-size: cover;
    background-position: center;
    background-repeat: no-repeat;
    transition: 0.5s ease;
    z-index: 0;
}

/* scale only the pseudo-element on hover */
.image-grid > .elementor-element:not(:first-child):hover::before,
.image-grid > .e-con-inner > .elementor-element:not(:first-child):hover::before {
    transform: scale(1.2);
}

/* keep text content above the background */
.image-grid > .elementor-element:not(:first-child) > *,
.image-grid > .e-con-inner > .elementor-element:not(:first-child) > * {
    position: relative;
    z-index: 1;
}
	
.image-grid > .e-con-inner > .elementor-element:not(:first-child)::before,
.image-grid > .elementor-element:not(:first-child)::before {
    background-image: var(--bg-image);
}
	
/***************************************************
 * RANDOM IMAGE FADE IN
***************************************************/
body:not(.elementor-editor-active) .fade-in-images > .e-con,
body:not(.elementor-editor-active) .fade-in-images > .e-con-inner > .e-con {
    opacity: 0;
    transition: opacity 1.2s ease;
}
body:not(.elementor-editor-active) .fade-in-images > .e-con.visible,
body:not(.elementor-editor-active) .fade-in-images > .e-con-inner > .e-con.visible {
    opacity: 1;
}
	
/***************************************************
 * HI FRIEND RETRACTABLE POPUP
***************************************************/

.dialog-widget {
    pointer-events: none;
}

/* Re-enable only on the actual visible content */
.dialog-widget .dialog-widget-content {
    pointer-events: auto;
}

/* Smoothly slide the popup down */
.popup-retracted.dialog-widget .elementor-location-popup {
    transform: translateY(calc(100% - 60px)) !important;
    transition: transform 0.6s ease-in-out !important;
    cursor: pointer;
}

/* Ensure the normal state is also smooth */
.elementor-location-popup {
    transition: transform 0.6s ease-in-out !important;
}

.dialog-message {
    overflow: hidden !important;
}

.dialog-close-button {
    /* Delay the appearance by 0.5s when expanding */
    transition: opacity 0.3s ease 0.5s, visibility 0.3s ease 0.5s !important;
}

.popup-retracted .dialog-close-button {
    opacity: 0 !important;
    visibility: hidden !important;
    /*transition: opacity 0.3s ease !important;*/
    transition: opacity 0.1s ease 0s, visibility 0.1s ease 0s !important;
}

.dialog-widget-content {
    transition: margin-bottom 0.3s ease !important;
}
.popup-retracted .dialog-widget-content {
    margin-bottom: 0 !important;
}

.dialog-widget::after {
	  content: "";
    background-image: url('https://www.pyxhealth.com/wp-content/uploads/2026/03/hello-friend-tail-green.svg');
		position: absolute;
	  bottom: 18px;
	  right: 70px;
	  width: 18px;
	  height: 26px;
	  background-size: cover;
    transition: opacity 0.3s ease 0.5s, visibility 0.3s ease 0.5s !important;
}
.popup-retracted.dialog-widget::after {
    opacity: 0 !important;
    transition: opacity 0.1s ease 0s !important;
}
	
/***************************************************
 * HIDE LETS CONNECT MODULE FROM LETS CONNECT PAGE
***************************************************/

body.page-id-21 .lets-connect {
		display: none;
}
	
/***************************************************
 * HEADER TRICKERY
***************************************************/

.header-logo-container {
  left: calc((100vw - var(--scrollbar-width) - 1140px) / 2);
}
.header-logo-container img {
	filter: drop-shadow(0px 0px 4px rgba(0,0,0,0.5));
}

.header-menu-container {
  right: calc((100vw - var(--scrollbar-width) - 1140px) / 2);
  left: auto;
  width: fit-content;
	
  background-color: transparent;
  transition: background-color 0.3s ease;	
}	
.header-menu-container a {
	color: var(--e-global-color-e196bc0) !important;
}
.header-menu-container {
	
	}

	.header-menu-container .elementor-nav-menu > li.top-icon {
		display: none;
	}

@media (min-width: 1024px) {
	.header-menu-container:not(.scrolled) .elementor-item {
			text-shadow: 0px 0px 4px rgba(0,0,0,0.8);
	}
	
	body.page-id-2 .header-menu-container.scrolled .elementor-nav-menu > li.top-icon,
	body.page-id-21 .header-menu-container.scrolled .elementor-nav-menu > li.top-icon {
		display: block;
		
	}
	body.page-id-2 .header-menu-container .elementor-nav-menu > li.top-icon a,
	body.page-id-21 .header-menu-container .elementor-nav-menu > li.top-icon a {
  display: block;
  width: 22px;  
  height: 22px;
  background-image: url('https://www.pyxhealth.com/wp-content/uploads/2026/03/home-icon.svg');
  background-size: contain;
  background-repeat: no-repeat;
  font-size: 0 !important;
  color: transparent !important;
		top: 11px;
	}
}
	
.header-menu-container.scrolled {
  background-color: var(--e-global-color-e196bc0);
}
.header-menu-container.scrolled a {
	color: var(--e-global-color-accent) !important;
}

@media (min-width: 1024px) and (max-width: 1200px) {
  .header-logo-container {
    left: 0px !important;
  }

  .header-menu-container {
    right: 0px !important;
  }
}

@media (max-width: 1024px) {
    .header-logo-container {
      left: 0 !important;
    }
	
    .header-menu-container {
        background-color: transparent !important;
  			right: 0 !important;
    }
		
		.header-menu-container a,
		.header-menu-container.scrolled a {
			color: var(--e-global-color-accent) !important;
		}
		.header-menu-container a:hover,
		.header-menu-container.scrolled a:hover,
		.header-menu-container .current-menu-item a,
		.header-menu-container.scrolled .current-menu-item a {
			color: var(--e-global-color-e196bc0) !important;
		}
		
}
	
.flip-boxes-2-button a.elementor-flip-box__button {
		width: 200px;
	  margin: 4px 0;
}

/***************************************************
 * NEWSROOM LOOP GRID
***************************************************/

#news-filter.is-active .elementor-button {
    background-color: var(--e-global-color-8a11e4f);
    color: var(--e-global-color-e196bc0);
}
#press-filter.is-active .elementor-button {
    background-color: var(--e-global-color-417b379);
    color: var(--e-global-color-e196bc0);
}
	
	#grid-search-btn {
		border: none !important;
	}

/* Make the loop grid items equal height */
.e-loop-item {
    display: flex;
    flex-direction: column;
}

/* Make the inner container stretch full height */
.e-loop-item > .elementor-element > .e-con-inner,
.e-loop-item .e-con {
    flex: 1;
    height: 100%;
}

.e-loop-item img {
    width: 100%;
    height: 250px; /* adjust to your preferred height */
    object-fit: cover;
    object-position: center;
    display: block;
}
	
/* Stretch the text/button container to fill remaining space */
.e-loop-item .elementor-widget-text-editor,
.e-loop-item [data-widget_type="heading.default"],
.e-loop-item [data-widget_type="post-title.default"] {
    flex: 1;
}

/* The inner container holding title + button needs to be a flex column */
.e-loop-item .e-con:last-child {
    display: flex !important;
    flex-direction: column;
    flex: 1;
}

.e-loop-item .e-con:last-child > .e-con-inner {
    display: flex;
    flex-direction: column;
    flex: 1;
    height: 100%;
}

/* Push the button to the bottom */
.e-loop-item .elementor-widget-button {
    margin-top: auto;
}

/***************************************************
 * COVERFLOW CAROUSEL
***************************************************/

.coverflow .flipster__item__content {
  display: flex;
  flex-direction: row-reverse;
}

.coverflow .flipster__item__content .ue-flip-item-content {
  display: flex;
  align-items: center;
  text-align: center;
  width: 50%;
}
.coverflow .flipster__item__content .ue-item-image {
  width: 50%;
}

.coverflow .flipster__item:nth-child(1) .flipster__item__content .ue-flip-item-content,
.coverflow .flipster__item:nth-child(6) .flipster__item__content .ue-flip-item-content {
  background-color: var(--e-global-color-primary);
}
.coverflow .flipster__item:nth-child(2) .flipster__item__content .ue-flip-item-content,
.coverflow .flipster__item:nth-child(7) .flipster__item__content .ue-flip-item-content {
  background-color: var(--e-global-color-35a3fe2);
}
.coverflow .flipster__item:nth-child(3) .flipster__item__content .ue-flip-item-content,
.coverflow .flipster__item:nth-child(8) .flipster__item__content .ue-flip-item-content {
  background-color: var(--e-global-color-0665377);
}
.coverflow .flipster__item:nth-child(4) .flipster__item__content .ue-flip-item-content,
.coverflow .flipster__item:nth-child(9) .flipster__item__content .ue-flip-item-content {
  background-color: var(--e-global-color-637a484);
}
.coverflow .flipster__item:nth-child(5) .flipster__item__content .ue-flip-item-content,
.coverflow .flipster__item:nth-child(10) .flipster__item__content .ue-flip-item-content {
  background-color: var(--e-global-color-0ada14e);
}

/***************************************************
 * PEOPLE MODULE
***************************************************/

.people .e-con {
    align-self: stretch;
}
.people > .e-con-inner {
    align-items: stretch;
}
.people .e-con {
    display: flex;
    flex-direction: column;
}

/* Make the text container fill remaining space */
.people .e-con .e-con:last-child {
    flex: 1;
}
	
/***************************************************
 * BLOG AND PODCAST SECTIONS
***************************************************/

#see-more-posts .elementor-button,
#see-more-podcasts .elementor-button {
    cursor: pointer;
}