/*
Theme Name: Hello Crossroads
Description: Hello HCL is a child theme of Hello Elementor, created by Michael Hughes
Author: Michael Hughes
Template: hello-elementor
Text Domain: hello-crossroads
Version: 1.0.1
*/


/* Override Page Title max-width */
@media (min-width: 576px) {
	.site-header .header-inner, .site-header:not(.dynamic-header), .site-footer .footer-inner, .site-footer:not(.dynamic-footer), body:not([class*=elementor-page-]) .site-main, .page-header .entry-title {
	  max-width: 100%;
	  padding: 10px;
	  margin-top: 1rem;
	}
  }
  @media (min-width: 768px) {
	.site-header .header-inner, .site-header:not(.dynamic-header), .site-footer .footer-inner, .site-footer:not(.dynamic-footer), body:not([class*=elementor-page-]) .site-main, .page-header .entry-title {
	  max-width: 100%;
	}
  }
  @media (min-width: 992px) {
	.site-header .header-inner, .site-header:not(.dynamic-header), .site-footer .footer-inner, .site-footer:not(.dynamic-footer), body:not([class*=elementor-page-]) .site-main, .page-header .entry-title {
	  max-width: 100%;
	}
  }
  @media (min-width: 1200px) {
	.site-header .header-inner, .site-header:not(.dynamic-header), .site-footer .footer-inner, .site-footer:not(.dynamic-footer), body:not([class*=elementor-page-]) .site-main, .page-header .entry-title {
	  max-width: 1248px;
	}
  }


/* Custom CTC Styles */

:root {
	--ctc-color-blue: #0057b7;
	--ctc-color-light-blue: #0086b3;
	--ctc-color-lighter-blue: #009dea;
	--ctc-color-green: #a4d65e;
	--ctc-color-dark-green: #509f33;
	--ctc-color-gray: #6d6e71;
	--ctc-color-light-gray: #a7a9ab;
	--ctc-color-white: #ffffff;
	--ctc-color-yellow: #eaab00;
	--ctc-color-purple: #9263d9;
}

/* Section Templates */
/* the following classes were added to saved section templates */
/* hopefully will come in handy for future style overrides */
.ctc-2-col-icon-copy {}
.ctc-2-col-ctas {}
.ctc-3-col-ctas {}
.ctc-3-col-ctas-no-bg {}
.ctc-state-picker {}
/* END - Section Templates */


/* Equal height columns */
.equal-height-columns .elementor-section,
.equal-height-columns .elementor-container {
	height: 100%;
}

/* Align buttons in equal height columns */
.equal-height-columns .elementor-widget-wrap {
	flex-direction: column;
}
.equal-height-columns .elementor-widget-wrap .elementor-widget-button:last-child {
	margin-top: auto;
}

/* END - Equal height columns */

/* Auto width columns */
.auto-width-column {
	width: auto !important;
}
/* END - Auto width columns */


/* Main menu toggle */
#ctc-main-menu .elementor-widget-container .elementor-menu-toggle {
	margin-top: 0;
}
/* END - Main menu toggle */

/* Hide main menu items on desktop */
@media (min-width:768px) {
	.mobile-only-menu-item {
		display: none !important;
	}
}
/* END - Hide main menu items on desktop */

/* Move mobile menu toggle to right on tablet */
@media (min-width:768px) and (max-width:1080px) {
	#ctc-main-menu-column {
		order: 10;
		max-width: 10%;
		margin: 0 0 0 auto;
	}

	#ctc-main-menu-column + .elementor-column {
		margin: 0 auto;
	}
}
/* END - Move mobile menu toggle to right on tablet */

/* Main menu parent arrows */
.elementor-nav-menu__container .menu-item-has-children > a {
	justify-content: space-between;
}
.elementor-nav-menu__container .sub-arrow {
	position: relative;
}
.elementor-nav-menu__container .sub-arrow::after {
	content: '';
	background: transparent url('/wp-content/uploads/2025/01/ctc-nav-arrow.png') center center no-repeat;
	background-size: contain;
	height: 13px;
	width: 9px;
	color: var(--ctc-color-blue);
	position: absolute;
	left: 8px;
	top: 50%;
	transform: translateY(-50%);
}
@media (min-width:768px) {
	.elementor-nav-menu__container > ul > .menu-item-has-children > a .sub-arrow {
		display: none;
	}
}
/* END - Main menu parent arrows */

/* Add swoosh to hero */
.ctc-page-hero-swoosh {
  position: relative;
}

.ctc-page-hero-swoosh::after {
  content: '';
	aspect-ratio: 2499 / 347;
	/*max-height: 266px;*/
	background: transparent url('/wp-content/uploads/2024/04/CTC-HeaderSwoosh_2500px.png.webp') center center no-repeat;
	background-size: 100% 100%;
  display: block;
  width: 100%;
  height: auto;
  position: absolute;
  top: auto !important; /* fix position in elementor editor */
  bottom: 0;
  bottom: -1px; /* there's something weird about the bottom of the swoosh image in the "Page Hero Image with Title" section */
  left: 0;
}
/* tuck page title up into curve */
@media (min-width: 767px) {
	#ctc-page-header-section:has(.ctc-page-hero-swoosh) {
		margin-bottom: -.5em;
	}
}
/* END - Add swoosh to hero */

/* Hero Video */
@media screen and (max-width: 767px) {
	.ctc-video-hero .elementor-background-video-container {
		height: 70%;
		top: auto !important;
	}
}
@media screen and (max-width: 500px) {
	.ctc-video-hero .elementor-background-video-container {
		height: 50%;
	}
}
/* END - Hero Video */

/* Single Center taxonomy styles */
.ctc-center-offerings-column .elementor-widget-wrap {
	flex-direction: column;
}

.elementor-location-single.type-center .elementor-widget-post-info,
.ctc-center-offerings-link.elementor-widget,
.ctc-center-insurance-shortcode {
	font-size: 1rem; 
	max-width: 25ch;
}
.elementor-location-single.type-center .elementor-post-info .elementor-post-info__item > .elementor-post-info__item-prefix {
	display: block;
	font-weight: bold;
	color: var(--ctc-color-blue);
	margin-bottom: .5em;
}
.elementor-location-single.type-center .elementor-post-info span.elementor-post-info__terms-list {
	display: block;
	font-size: 0; /* hide commas */
	line-height: 0;
}
.elementor-location-single.type-center .elementor-post-info .elementor-post-info__item .elementor-post-info__terms-list-item {
	display: list-item;
	list-style: disc outside;
	color: var(--ctc-color-gray);
	font-size: 1rem; /* show terms */
	line-height: 1.5;
	margin: 0 0 0 1em;
}
/* END - Single Center taxonomy styles */

/* Center Offerings Custom Links */
.elementor-widget.ctc-elementor-widget-no-bottom-margin,
.ctc-center-offerings-link.elementor-widget {
	margin-bottom: 0;
}
.ctc-center-offerings-link.elementor-widget ul {
	padding: 0;
	margin: 0 0 0 1em;
	line-height: 1.5;
	list-style: disc outside;
}
/* END - Instant Intake Link */

/* Center Insurance Coverage List */
.ctc-insurance-heading {
	color: var(--ctc-color-blue);
	font-weight: bold;
}

.ctc-accepted-insurance {
	position: relative;
	line-height: 1.5;
	padding-left: 0;
	list-style: disc outside;
}

.ctc-accepted-insurance li {
	list-style: none;
	position: relative;
	padding: 0 0 0 1.2em;
}
.ctc-accepted-insurance li::before {
	content: '\2022' / ''; /* bullet with empty alt text for screen readers */
	display: block;
	position: absolute;
	left: 1px;
	top: 5px;
	font-size: 1.6em;
	line-height: 1rem;
}

/* Center Insurance Coverage List Trigger link */
li:has(.ctc-center-insurance-trigger) {
	color: var(--ctc-color-blue);
}
li:has(.ctc-center-insurance-trigger)::before {
	content: '+' / ''; /* add empty alt text for screen readers */
	left: 0px;
	top: 3px;
	font-size: 1.2em;
}
.ctc-center-insurance-trigger {
	color: var(--ctc-color-blue);
	cursor: pointer;
	display: block;
	position: absolute;
	top: 0;
	left: 0;
	width: 100%;
	height: 100%;
	z-index: 1;
}
li:has(.ctc-center-insurance-trigger.ctc-insurance-trigger-show)::before {
	content: '\2013' / ''; /* en dash with empty alt text for screen readers */
	top: 1px;
}

/* Center Insurance Coverage List Popup */
.ctc-center-insurance-list {
	/* display: none; */
	/* a11y friendly */
	overflow: hidden;
	height: 0;
	padding: 0;
	background-color: white;
	border: solid 0px #0057B7;
	border-radius: 1em;
	color: var(--ctc-color-gray);
	z-index: 2;
}
@media screen and (min-width: 1150px) {
	.ctc-center-insurance-list {
		position: absolute;
		top: 100%;
		width: 100%;
	}
}
.ctc-center-insurance-list.ctc-insurance-list-show {
	/* display: block; */
	height: auto;
	border-width: 1px;
	padding: .75em 1em;
}
.ctc-center-insurance-list li::before {
	content: '\25e6' / ''; /* white bullet with empty alt text for screen readers */
	font-weight: normal;
	font-size: 1rem;
	top: 3px;
}
.ctc-flag-item,
.ctc-insurance-legend {
	font-weight: bold;
}
.ctc-flag-item::after {
	content: '*' / '(Exchange Plan)';
}
li.ctc-insurance-legend {
	list-style: none;
	margin: 0;
	padding-left: 1ch;
}
li.ctc-insurance-legend::before {
	content: '*' / '';
	font-size: 1rem;
}

/* Single Center SEO title */
.ctc-center-seo-title span {
	display: block;
	color: var( --e-global-color-aab38c4 );
	font-size: .75em;
	font-weight: normal;
}

/* Single Center address styles */
.type-center .ctc-center-address .elementor-inner-column .elementor-widget-wrap {
	flex-direction: row;
	gap: 1ch;
}
.type-center .ctc-center-address .elementor-inner-column .elementor-widget-wrap > .elementor-element {
	width: auto;
}
/* END - Single Center address styles */

/* Single Center Hours styles */
.type-center .ctc-center-hours {
	margin-top: .33em;
	max-width: 275px;
}
.type-center .ctc-center-hours-day {
	display: flex;
	flex-wrap: wrap;
	justify-content: space-between;
	gap: .33em 1em;
	margin-bottom: .66em;
	line-height: 1;
	font-size: 1rem;
}
.type-center .ctc-center-hours-highlight-days,
.type-center .ctc-center-hours-highlight-legend {
	font-weight: bold;
	font-size: 1rem;
	max-width: 275px;
}
.type-center .ctc-center-hours-highlight-legend::before,
.type-center .ctc-center-hours-highlight-days .ctc-center-hours-name::after {
	content: '*';
}
.type-center .ctc-center-hours-day .ctc-center-hours-time {
	text-align: right;
}
.type-center .ctc-center-hours-day .ctc-center-hours-time span {
	white-space: nowrap;
}
.ctc-nowrap-button .elementor-button-text {
	white-space: nowrap;
}
/* END - Single Center Hours styles */

/* States Menu */
.ctc-states-menu .menu-item .elementor-item {
	border: solid 1px var(--ctc-color-white);
	border-radius: .33em;
	margin: .75em 0;
}
.ctc-states-menu .menu-item .elementor-item:hover::before {
	background-color: var(--ctc-color-green);
}
/* END - States Menu */

/* Biology Blocks */
.ctc-biology-blocks .elementor-inner-section:not(:last-child) {
	margin-bottom: 3em;
}

/* green connector line */
.ctc-biology-blocks .elementor-inner-section:not(:last-child)::before {
	content: '';
	display: block;
	background-color: var(--ctc-color-green);
	width: 1px;
	height: 3em;
	position: absolute;
	bottom: -3em;
	left: 20%;
}
.ctc-biology-blocks:not(.elementor-element-edit-mode) .elementor-inner-section:nth-child(even):not(:last-child)::before {
	left: 80%;
}
/* center edit mode green line */
.ctc-biology-blocks.elementor-element-edit-mode .elementor-inner-section:not(:last-child)::before {
	left: 50%;
}
/* visually center green line on blue box - helpful for last block pointing to button */
.ctc-biology-blocks:not(.elementor-element-edit-mode) .elementor-inner-section.ctc-bio-block-center-line:not(:only-child)::before {
	left: 50%;
}
@media (min-width: 768px) {
	.ctc-biology-blocks:not(.elementor-element-edit-mode) .elementor-inner-section.ctc-bio-block-center-line:not(:only-child)::before {
		left: 42.5%;
	}
}

/* overlap image to top on mobile */
.ctc-biology-blocks:not(.elementor-element-edit-mode) .elementor-inner-section {
	margin-top: 50%;
}
.ctc-biology-blocks:not(.elementor-element-edit-mode) .elementor-inner-section > .elementor-container {
	position: relative;
	margin-top: calc(-50% - 3em);
}
/* override top margin for button section */
.ctc-biology-blocks:not(.elementor-element-edit-mode) .elementor-inner-section.ctc-bio-button-section,
.ctc-biology-blocks:not(.elementor-element-edit-mode) .elementor-inner-section.ctc-bio-button-section > .elementor-container {
	margin-top: 0;
}

@media (min-width: 768px) {
	/* override green line position */
	.ctc-biology-blocks:not(.elementor-element-edit-mode) .elementor-inner-section:not(:last-child)::before {
		left: 10%;
	}
	.ctc-biology-blocks:not(.elementor-element-edit-mode) .elementor-inner-section:nth-child(even):not(:last-child)::before {
		left: 90%;
	}

	/* reset margin-top */
	.ctc-biology-blocks:not(.elementor-element-edit-mode) .elementor-inner-section,
	.ctc-biology-blocks:not(.elementor-element-edit-mode) .elementor-inner-section > .elementor-container {
		margin-top: 0;
	}

	/* alternate overlap image to left and right */
	.ctc-biology-blocks:not(.elementor-element-edit-mode) .elementor-inner-section:nth-child(odd) {
		margin-top: 0;
		margin-left: 15%;
	}
	.ctc-biology-blocks:not(.elementor-element-edit-mode) .elementor-inner-section:nth-child(odd) > .elementor-container {
		margin-top: 0;
		margin-left: calc(-15% - 3em);
	}
	.ctc-biology-blocks:not(.elementor-element-edit-mode) .elementor-inner-section:nth-child(even) {
		margin-right: 15%;
	}
	.ctc-biology-blocks:not(.elementor-element-edit-mode) .elementor-inner-section:nth-child(even) > .elementor-container {
		margin-right: calc(-15% - 3em);
	}
}
/* END - Biology Blocks */

/* Page Hero Image with Title */
.ctc-page-hero-swoosh .elementor-widget-text-editor h1 {
	font-family: inherit;
}


/* Override heading font sizes on Location pages */
.single-center .type-center h2 {
	font-size: 1.8rem;
}
.single-center .type-center h3 {
	font-size: 1.4rem;
}
.single-center .type-center h4 {
	font-size: 1.2rem;
}
.single-center .type-center h5 {
	font-size: 1.1rem;
}
.single-center .type-center h6 {
	font-size: 1rem;
}
@media screen and (max-width: 1080px) {
	.single-center .type-center h2 {
		font-size: 1.8rem;
	}
	.single-center .type-center h3 {
		font-size: 1.4rem;
	}
	.single-center .type-center h4 {
		font-size: 1.2rem;
	}
	.single-center .type-center h5 {
		font-size: 1.1rem;
	}
	.single-center .type-center h6 {
		font-size: 1rem;
	}
}
/* END - Override heading font sizes on Location pages */

/* override incorrect heading font-weight from pasted content on location pages */
.single-center .type-center h2 > span[style^='font-weight'],
.single-center .type-center h3 > span[style^='font-weight'],
.single-center .type-center h4 > span[style^='font-weight'] {
	font-weight: inherit !important;
}
/* END - override incorrect heading font-weight from pasted content on location pages */


/* Events Calendar Overrides */
.single-tribe_events #tribe-events-pg-template {
	margin: 0;
	padding: 0;
	width: 100%;
	max-width: none;
}

/* prevent events search placholder text from overlapping search icon */
@media screen and (min-width:768px) {
	.tribe-common-form-control-text.tribe-events-c-search__input-control {
		padding-left: 2rem;
	}
}

/* List view event title */
.tribe-common .tribe-events-calendar-list__event-title .tribe-events-calendar-list__event-title-link:not(.tribe-common-anchor--unstyle) {
	color: var(--tec-color-accent-primary);
}

/* List view categories */
.tribe-events-calendar-list__event-details .tribe-event-categories a:not(.tribe-common-anchor--unstyle) {
	color: var(--tec-color-accent-primary);
	font-size: .875em;
	font-style: italic;
	text-transform: capitalize;
}

/* News list overrides */
/*
.elementor-posts .elementor-post {
	align-items: flex-start;
}
.elementor-element.elementor-element-6965eb7 .elementor-posts .elementor-post .elementor-post__thumbnail.elementor-fit-height {
	padding-bottom: 0;
}
.elementor-posts .elementor-post .elementor-post__thumbnail.elementor-fit-height img {
	position: relative;
	top: auto;
	left: auto;
	max-width: 100%;
	height: auto;
	max-height: 100%;
	transform: none;
}
*/
/* END - News list overrides */
/* News & Blog list overrides */
@media (max-width: 767px) {
	.elementor-posts--thumbnail-left .elementor-post.has-post-thumbnail {
		flex-direction: column;
	}
	.elementor-457 .elementor-element.elementor-element-940f792.elementor-posts--thumbnail-left .elementor-post__thumbnail__link,
	.elementor-838 .elementor-element.elementor-element-6965eb7.elementor-posts--thumbnail-left .elementor-post__thumbnail__link {
		margin-bottom: 15px;
	}
}
/* END - News & Blog list overrides */


/* Map view event cards */
.tribe-events-pro-map__event-cards .tribe-events-pro-map__event-card-button {
	background-color: var(--e-global-color-00ed286);
	white-space: wrap;
}
.tribe-events-pro-map__event-cards .tribe-events-pro-map__event-card-button:active,
.tribe-events-pro-map__event-cards .tribe-events-pro-map__event-card-button:focus,
.tribe-events-pro-map__event-cards .tribe-events-pro-map__event-card-button:hover {
	background-color: #E9E9E9;
}

:root {
    --tec-color-icon-focus: var(--tec-color-accent-primary);
    --tec-color-event-icon-hover: var(--tec-color-accent-primary);
    --tec-color-accent-primary: #0057B7;
    --tec-color-accent-primary-hover: #A4D65E;
    --tec-color-accent-primary-active: var(--tec-color-accent-primary-hover);
    --tec-color-link-accent-hover: var(--tec-color-accent-primary-hover);
    --tec-color-background-primary-multiday: #E9E9E9;
    --tec-color-background-primary-multiday-hover: #F8F8F8;
    --tec-font-family-sans-serif: "Open Sans", sans-serif;
}

/* Override font-size of social icons. Text is for screen readers and is not visible. Need at least 11px size for ADA compliance */
footer .elementor-widget-social-icons.elementor-grid-0 .elementor-widget-container {
	font-size: 11px;
}

/* Prevent CLS in map store locator */
/* the radius dropdown is removed from the dom once the map setup is complete. So, let's hide it to avoid CLS */
.wpgmza-store-locator .wpgmza-radius-container {
	display: none !important;
}
/* the map styles load late. enforce max width to avoid CLS */
.wpgmza-standalone-component.wpgmza-auto-left .wpgmza-store-locator {
	padding: 1em 10px;
	max-width: 1248px;
	margin: 0 auto;
}
/* hide store locator lable to avoid CLS */
.wpgmza-store-locator .wpgmza-address-container label {
	display: none;
}

/* Gravity Form Overrides */
.gform_required_legend .gfield_required.gfield_required_asterisk {
	vertical-align: top;
}

.gfield_label .gfield_required.gfield_required_asterisk {
	line-height: 1;
	padding-inline-start: 0;
}

.gfield_label:has(.gfield_required.gfield_required_asterisk) {
	display: flex;
}
.gfield_label .gfield_required:not(.gfield_required_asterisk) {
	order: -1;
	padding-inline-start: 0;
	padding-inline-end: 0.125em;
}

/* Testimonials */
.ctc-testimonial-slideshow .elementor-testimonial__image img {
	object-fit: initial !important;
	height: auto !important;
}

/* Flip Box */
.ctc-flip-box .elementor-flip-box {
        height: 380px;
}
.ctc-flip-box .elementor-flip-box__front {
        overflow: hidden;
}
.ctc-flip-box .elementor-flip-box__front h3 {
        background-color: var( --e-global-color-6b1a4c7 );
        margin: 0;
        padding: .5em 1em;
}

