/*
Theme Name: OceanWP Child
Theme URI: https://welldesignstudio.com/
Description: OceanWP WordPress theme example child theme.
Author: Well Design Studio
Author URI: https://welldesignstudio.com/
Template: oceanwp
Version: 1.5
*/

/* Parent stylesheet should be loaded from functions.php not using @import */

/* OceanWP Resets */
body {
	overflow-x: hidden;
}
body ul, body ol {
	margin-top: 0;
}

#site-header.transparent-header {
	border: none;
}

body #site-logo #site-logo-inner a:hover img {
	opacity: 1;
}
#site-header #site-logo #site-logo-inner a img {
	width: auto;
	height: auto;
	max-height: 38px;
	max-width: 200px;
}

/* PWA / iPhone notch */
#site-header {
	padding-top: env(safe-area-inset-top, 0px);
}

.esa-mobile-logo {
	display: none;
}

/* Mobile app + phones: ESA logo pinned top-right */
@media (max-width: 1220px) {
	#site-header {
		position: sticky;
		top: 0;
		z-index: 999;
		background-color: #122559;
	}
	#site-header #site-header-inner {
		display: flex !important;
		align-items: center;
		justify-content: space-between;
		min-height: 64px;
		padding-top: 6px;
		padding-bottom: 6px;
		padding-right: max(10px, env(safe-area-inset-right, 0px));
		padding-left: max(10px, env(safe-area-inset-left, 0px));
		gap: 0.5rem;
	}
	#site-header #site-logo {
		display: none !important;
	}
	.esa-mobile-logo {
		display: flex !important;
		align-items: center;
		margin-left: auto;
		order: 3;
		z-index: 1000;
		flex: 0 0 auto;
		line-height: 0;
	}
	.esa-mobile-logo img {
		display: block !important;
		height: 34px !important;
		width: auto !important;
		max-width: 170px !important;
		opacity: 1 !important;
		visibility: visible !important;
	}
	#site-header .oceanwp-mobile-menu-icon {
		display: block !important;
		order: 1;
		flex: 0 0 auto;
		margin-left: 0;
		margin-right: 0;
		float: none !important;
		z-index: 1000;
	}
}

/* Homepage: keep hero + Our Mission, then email signup + footer */
body.home .elementor-8 > .elementor-element-f392a97,
body.home .elementor-8 > .elementor-element-b98fa24,
body.home .elementor-8 .elementor-element-a45a4d2 {
	display: none !important;
}

/* Mobile homepage: keep blue hero, then email signup + footer */
@media (max-width: 767px) {
	body.home .elementor-8 > .elementor-section.elementor-top-section:not(.elementor-element-fccca08) {
		display: none !important;
	}
}

body.boxed-layout.wrap-boxshadow #wrap {
  -webkit-box-shadow: 0 0 30px -10px rgba(0, 0, 0, 0.5);
  -moz-box-shadow: 0 0 30px -10px rgba(0, 0, 0, 0.5);
	box-shadow: 0 0 30px -10px rgba(0, 0, 0, 0.5);
}
.boxed-layout #wrap #site-header-inner.container {
  max-width: 1800px;
}

.page-header, .has-transparent-header .page-header {
	/* display: none; */
}
.elementor-page header.page-header, .single-post header.page-header {
  /* display: none; */
}

/* Bootstrap Resets for OceanWP */
#content div#blog-entries .blog-entry.col-1 {
	max-width: inherit;
}
body #site-navigation-wrap ul.main-menu.dropdown-menu > li.menu-item > ul.megamenu.sub-menu {
	max-width: inherit;
	flex: initial;
}
.woocommerce-checkout .col-1, .woocommerce-checkout .col-2 {
	max-width: 100%;
}
body.single-product .elementor.elementor-location-single.product.col {
	padding: 0;
}
body .woocommerce-MyAccount-content .addresses > * {
	max-width: unset;
	flex: unset;
}

.elementor-widget-nav-menu li.menu-item > a.elementor-item > span.hidden {
	display: none;
}

/* Woo Resets */
body.woocommerce div.product.elementor form.cart table.variations td.value:before {
	content: "" !important;
	margin: 0 !important;
}
body.woocommerce div.product.elementor form.cart table.variations .reset_variations {
	float: none;
	position: absolute;
	right: 0px;
	margin: 0;
	transform: translateX(100%);
	border: none;
	display: flex !important;
	flex-direction: column;
	justify-content: center;
	align-items: center;
}
body.woocommerce div.product form.cart .variations .reset_variations:before {
	margin: 0;
}
body.woocommerce.single-product .single_variation .woocommerce-variation-price .price {
	display: block !important;
	text-align: center;
	font-size: 20px;
}



/* Elementor Resets */
section.elementor-section.elementor-top-section {
	padding: 70px 15px;
}
body .elementor-column-gap-default > .elementor-row > .elementor-column > .elementor-element-populated {
  padding: 15px;
}

body.has-transparent-header #main section.elementor-section.elementor-top-section:first-child {
	padding-top: 160px;
	padding-top: calc(100px + 60px);
}

body .elementor-element.elementor-widget-spacer, body .elementor-widget.elementor-widget-divider {
  margin-bottom: 0 !important;
}
body .elementor-widget-divider .elementor-divider {
	overflow: hidden;
}

body .elementor-widget p:last-child {
	margin: 0;
}

body .elementor-widget-wrap > aside.elementor-section {
	width: auto;
}



::-webkit-input-placeholder { /* Chrome/Opera/Safari */
  color: #616161;
}
::-moz-placeholder { /* Firefox 19+ */
  color: #616161;
}
:-ms-input-placeholder { /* IE 10+ */
  color: #616161;
}
:-moz-placeholder { /* Firefox 18- */
  color: #616161;
}


/* Menu tweaks - MISC */
body #site-navigation-wrap .dropdown-menu > li > a .nav-arrow {
	padding: 0;
	margin-left: -2px;
}

.effect-three #site-navigation-wrap .dropdown-menu>li.current-menu-item>a.menu-link>span:after, .effect-three #site-navigation-wrap .dropdown-menu>li>a.menu-link>span:after {
  height: 2px;
}
.effect-two #site-navigation-wrap .dropdown-menu>li.current-menu-item>a.menu-link>span:after, .effect-two #site-navigation-wrap .dropdown-menu>li>a.menu-link>span:after {
  height: 1px;
}

body.has-transparent-header .effect-two #site-navigation-wrap .dropdown-menu >li >a.menu-link >span:after, body.has-transparent-header .effect-eight #site-navigation-wrap .dropdown-menu >li >a.menu-link >span:before, body.has-transparent-header .effect-eight #site-navigation-wrap .dropdown-menu >li >a.menu-link >span:after {
	background-color: #fff;
}

/* Menu tweaks - Main Menu */
/* #site-navigation-wrap ul.dropdown-menu > li.menu-item > a.menu-link {
	font-size: 16px;
	font-family: 'Open Sans', sans-serif !important;
	text-transform: uppercase;
	transition: none !important;
	letter-spacing: 1px;
} */
body.has-transparent-header #site-navigation-wrap ul.dropdown-menu > li.menu-item > a.menu-link {
	color: #fff;
}

/* Menu tweaks - Sub Menu */
#site-navigation-wrap ul.dropdown-menu li.dropdown > ul.sub-menu {
	padding: 10px 0;
}
#site-navigation-wrap ul.dropdown-menu li.dropdown > ul.sub-menu > li.menu-item {
	border: none;
}

#site-navigation-wrap ul.dropdown-menu li.dropdown > ul.sub-menu > li.menu-item > a {
	font-size: 14px;
	line-height: 1.7em;
	padding: 8px 15px;
	transition: .25s;
	text-transform: uppercase;
}
#site-navigation-wrap ul.dropdown-menu li.dropdown > ul.sub-menu > li.menu-item > a:hover {
	background: transparent;
	transition: .25s;
}


html.pum-open.pum-open-overlay.pum-open-scrollable body>[aria-hidden] {
	padding: 0 !important;
}



/* Gravity form tweaks */
body .gform_wrapper li.hidden_label input {
  margin-top: 0px;
}
body .gform_wrapper ul li.gfield textarea {
  margin-top: 8px;
}

body .gform_wrapper .ginput_container.ginput_container_checkbox ul.gfield_checkbox li input[type=checkbox] {
	padding: inherit !important;
	font-size: inherit !important;
	width: 16px !important;
	height: 16px !important;
}
body .gform_wrapper .ginput_container.ginput_container_checkbox ul.gfield_checkbox li input[type=checkbox]:checked ~ label {
	font-weight: normal;
}

body .gform_wrapper ul li.gfield input:not([type="checkbox"]), body .gform_wrapper ul li.gfield textarea {
  padding: 8px 15px !important;
	font-family: 'Open Sans', sans-serif !important;
	-webkit-border-radius: 0px;
	border-radius: 0px;
}

body .gform_wrapper .gform_footer input.button, .gform_wrapper .gform_footer input[type=submit], body .gform_wrapper .gform_page_footer input.button, body .gform_wrapper .gform_page_footer input[type=submit] {
	padding: 10px 20px;
	font-family: 'Open Sans', sans-serif !important;
	font-size: 16px;
	line-height: 1.4em;
	text-transform: uppercase;
	font-weight: bold;
	min-width: 120px;
	-webkit-border-radius: 0px;
	border-radius: 0px;
}

body .gform_wrapper .gf_list_inline .gfield_checkbox li label, body .gform_wrapper .gf_list_inline .gfield_radio li label {
	max-width: 100%;
}

body .gform_wrapper .gf_list_inline .gfield_radio li input[type=radio] {
	margin-top: 0;
}


/* Caption Middle */
.caption-middle.elementor-widget.elementor-widget-image figcaption.widget-image-caption.wp-caption-text {
	position: absolute;
	top: 50%;
	left: 0;
	width: 100%;
	transform: translateY(-50%);
	color: #fff;
	font-size: 16px;
	line-height: 34px;
  transition: .25s;
  padding: 15px;
}
.caption-middle.elementor-widget.elementor-widget-image img {
  transition: .25s;
}
.caption-middle.elementor-widget.elementor-widget-image:hover img {
  transition: .25s;
}

.image-overlay.elementor-widget-image .elementor-image:before {
	content: "";
	width: 100%;
	height: 100%;
	position: absolute;
	opacity: 0;
}
.image-overlay.elementor-widget-image:hover .elementor-image:before {
	opacity: .8;
}
.image-overlay.green.elementor-widget-image .elementor-image:before {
	background: #a0a635;
}

@media only screen and (max-width: 767px) {
	section.float-left.elementor-section.elementor-inner-section > .elementor-container {
		margin-left: 0;
	}
	section.float-right.elementor-section.elementor-inner-section > .elementor-container {
		margin-right: 0;
	}
}

@media only screen and (max-width: 959px) {
	.container, body.content-full-screen .elementor-section-wrap>.elementor-section.elementor-section-boxed>.elementor-container {
		max-width: 100% !important;
	}
}

/* Media queiries and tweaks */
@media only screen and (max-width: 767px) {
  section.elementor-section.elementor-top-section {
		padding: 50px 15px;
  }
	body.has-transparent-header #main section.elementor-section.elementor-top-section:first-child {
		padding-top: 130px;
		padding-top: calc(80px + 50px);
	}

  body .elementor-posts .elementor-post {
    display: block;
  }
  body .elementor-post__text {
    margin: 15px 0;
  }
}


/* Font tweaks here - no longer used */
/* 
body .elementor-widget-button .elementor-button {
	font-family: 'Open Sans', sans-serif !important;
	font-size: 16px;
	line-height: 1.2em;
	font-weight: bold;
	-webkit-border-radius: 0px;
	border-radius: 0px;
}
body .elementor-widget-button .elementor-button.elementor-size-sm {
	padding: 8px 30px;
	min-width: 100px;
}

body, body .elementor-widget-text-editor {
  font-size: 16px;
  line-height: 1.6em;
  font-family: 'Open Sans', sans-serif !important;
  font-weight: normal;
}

body h1, body .elementor-widget-heading h1.elementor-heading-title {
  font-size: 50px;
  line-height: 1.2em;
  font-family: 'Open Sans', sans-serif !important;
  font-weight: bold;
}
body h2, body .elementor-widget-heading h2.elementor-heading-title {
  font-size: 40px;
  line-height: 1.2em;
  font-family: 'Open Sans', sans-serif !important;
  font-weight: bold;
}
body h3, body .elementor-widget-heading h3.elementor-heading-title {
  font-size: 24px;
  line-height: 1.2em;
  font-family: 'Open Sans', sans-serif !important;
  font-weight: bold;
}
body h4, body .elementor-widget-heading h4.elementor-heading-title {
  font-size: 16px;
  line-height: 1.2em;
  font-family: 'Open Sans', sans-serif !important;
  font-weight: bold;
}
body h5, body .elementor-widget-heading h5.elementor-heading-title {
  font-size: 24px;
  line-height: 1.2em;
  font-family: 'Open Sans', sans-serif !important;
  font-weight: bold;
	letter-spacing: 2px;
}

@media only screen and (max-width: 767px) {
	body, body .elementor-widget-text-editor {
		font-size: 16px;
	}
	body h1, body .elementor-widget-heading h1.elementor-heading-title {
		font-size: 36px;
	}
	body h2, body .elementor-widget-heading h2.elementor-heading-title {
		font-size: 25px;
	}
	body h3, body .elementor-widget-heading h3.elementor-heading-title {
		font-size: 18px;
	}
	body h4, body .elementor-widget-heading h4.elementor-heading-title {
		font-size: 13px;
	}
	body h5, body .elementor-widget-heading h5.elementor-heading-title {
		font-size: 22px;
	}
} */


p a span {
    color: #2293F0;
    font-weight: 600;
}
p a{
	color: inherit;
}

#site-navigation-wrap .dropdown-menu > li.btn > a,
#site-navigation-wrap .dropdown-menu > li.donate-large > a {
  padding: 0 8px;
}

#site-navigation-wrap .dropdown-menu > li.btn > a > span,
#site-navigation-wrap .dropdown-menu > li.donate-large > a .text-wrap {
  background-color: #fff;
  color: #edae26 !important;
  font-weight: 800;
  letter-spacing: 0.02em;
  border-radius: 999px;
  padding: 10px 26px;
}

#site-navigation-wrap .dropdown-menu > li.btn > a:hover > span,
#site-navigation-wrap .dropdown-menu > li.donate-large > a:hover .text-wrap {
  color: #c49212 !important;
  background-color: #fff;
}

#mobile-nav #menu-item-17010 a {
  display: inline-flex;
  align-items: center;
  background: #fff;
  color: #edae26 !important;
  font-weight: 800;
  border-radius: 999px;
  padding: 0.45rem 1.15rem;
}

.donate-btn svg {
        width: 50px !important;
}
.donate-btn span.elementor-button-text {
    font-weight: bold;
    display: flex;
    align-items: center;
	    text-align: left;
}
.donate-tabs .elementor-tabs-content-wrapper h4{
    color: #2293F0;

}

.donate-tabs .elementor-tabs-content-wrapper strong{
    font-weight: bold

}

.donate-tabs .elementor-tabs-content-wrapper {
    box-shadow: 0px 0px 20px -7px #9090905c !important;
}


.donate-tabs .elementor-tabs-wrapper .elementor-active {
        box-shadow: 0px 0px 20px -7px #9090905c !important;
        background-color: #fff !important;
}

.donate-tabs .elementor-tabs-wrapper {
    padding-top: 30px;
}

.donate-tabs .elementor-widget-tabs.elementor-tabs-view-horizontal .elementor-tab-desktop-title.elementor-active:before{
        border-bottom-style: none !important;
}
.donate-btn a.elementor-button-link.elementor-button.elementor-size-sm {
    padding: 11px 30px;
}


@media only screen and (min-width: 1025px){
.card-query .elementor-post__card {
    display: flex !important;
    flex-direction: row !important;
    align-items: center;
}
	.card-query a.elementor-post__thumbnail__link.no-lightbox {
    margin-bottom: 0px !important;
}
.card-query a.elementor-post__thumbnail__link.no-lightbox {
	max-width: 500px;
}

	
	
}

@media (max-width: 1024px){
.elementor-grid-tablet-2 .elementor-grid, .elementor-grid-tablet-1 .elementor-grid {
    grid-template-columns: repeat(1,1fr) !important;
}
}


.card-query a.elementor-post__read-more {
    background-color: #2293F0;
    padding: 10px 30px;
    border-radius: 999px;
    color:  #fff;
}

.card-query.featured a.elementor-post__read-more {
    background-color: #fff;
    padding: 10px 30px;
    border-radius: 999px;
    color:  #2293F0;
}

strong a {
    font-weight: bold
}



@media only screen and (max-width: 767px){
    a.elementor-button-link.elementor-button.elementor-size-sm {
    margin-bottom: 15px;
}
}
i.nav-arrow.fa.fa-angle-down {
    padding-left: 10px !important;
}

/* Homepage icon boxes — larger labels */
.elementor-8 .elementor-widget-image .widget-image-caption,
.elementor-8 figcaption.wp-caption-text {
  font-size: 18px !important;
  line-height: 1.3 !important;
  font-weight: 700;
}
@media (max-width: 767px) {
  .elementor-8 .elementor-widget-image .widget-image-caption,
  .elementor-8 figcaption.wp-caption-text {
    font-size: 16px !important;
    line-height: 1.25 !important;
  }
}

/*
  OceanWP sets html { font-size: 62.5% } so 1rem = 10px.
  Body copy matches About ESA / Love INC step boxes (18px).
*/
.ha, .gi, .ab, .ch, .cp, .cu, .dn, .sp, .pg, .pc, .uc {
  font-size: 18px;
  line-height: 1.55;
}
.ha-step h2, .gi-step h2, .ab-step h2, .ch-step h2, .cp-step h2, .sp-step h2, .pg-step h2, .dn-step h2, .uc-step h2 {
  font-size: 24px !important;
}
.gi-way h3 {
  font-size: 22px !important;
}
.pc-card h3 {
  font-size: 18px !important;
}

.ha p, .gi p, .ab p, .ch p, .cp p, .cu p, .dn p, .sp p, .pg p, .pc p, .uc p,
.ha-hero-lead, .gi-hero-lead, .ab-hero-lead, .ch-hero-lead, .cp-hero-lead,
.sp-hero-lead, .pg-hero-lead, .cu-hero-lead, .dn-hero-lead, .uc-hero-lead,
.ha-section-lead, .gi-section-lead, .ab-section-lead, .gi-way p,
.cu-brian p, .cu-card-value,
.dn-hero-copy, .dn-special-body, .dn-note p, .dn-facts,
.ha-step p, .gi-step p, .ab-step p, .ch-step p, .cp-step p, .sp-step p, .pg-step p, .dn-step p, .uc-step p,
body .elementor-widget-text-editor,
body .elementor-widget-text-editor p,
body .entry p,
body .entry li,
#footer p,
#copyright,
.footer-widgets p {
  font-size: 18px !important;
  line-height: 1.5 !important;
}

@media (max-width: 767px) {
  .ha, .gi, .ab, .ch, .cp, .cu, .dn, .sp, .pg, .pc, .uc {
    font-size: 18px !important;
    line-height: 1.55 !important;
  }

  .ha h1, .gi h1, .ab h1, .ch h1, .cp h1, .cu h1, .dn h1, .sp h1, .pg h1, .pc h1, .uc h1 {
    font-size: 32px !important;
    line-height: 1.15 !important;
  }

  .ha h2, .gi h2, .ab h2, .ch h2, .cp h2, .cu h2, .dn h2, .sp h2, .pg h2, .pc h2, .uc h2,
  .ha-step h2, .gi-step h2, .ab-step h2, .ch-step h2, .cp-step h2, .sp-step h2, .pg-step h2, .dn-step h2, .uc-step h2,
  .gi-way h3, .pc-card h3 {
    font-size: 24px !important;
    line-height: 1.25 !important;
  }

  .ha-kicker, .gi-kicker, .ab-kicker, .ch-kicker, .cp-kicker, .sp-kicker, .pg-kicker, .cu-kicker, .dn-kicker, .uc-kicker {
    font-size: 13px !important;
  }

  .ab-person h3 {
    font-size: 16px !important;
  }
  .ab-person p, .ab-logo span, .cu-card-label, .pc-pop strong, .pc-pop span {
    font-size: 15px !important;
  }

  .ha-btn, .gi-btn, .ab-btn, .ch-btn, .cp-btn, .sp-btn, .pg-btn, .cu-btn, .dn-btn, .uc-btn {
    font-size: 18px !important;
  }

  body:not(.home) .elementor-widget-heading h2.elementor-heading-title {
    font-size: 28px !important;
  }
  body:not(.home) .elementor-widget-heading h3.elementor-heading-title {
    font-size: 22px !important;
  }
}

/* Homepage school-prayer bus — flies in to the right of the hero headline. */
body.home .elementor-element-02b8429,
body.home .elementor-element-a45a4d2 {
  display: none !important;
}

body.home .elementor-element-fccca08,
body.home .elementor-element-5d12ee0,
body.home .elementor-element-1440196,
body.home .elementor-element-38e132e,
body.home .elementor-element-7365fa4 {
  overflow: visible;
}

body.home .elementor-element-7365fa4 > .elementor-widget-container {
  position: relative;
}

.esa-flybus {
  text-decoration: none !important;
  filter: drop-shadow(0 16px 28px rgba(18, 37, 89, 0.32));
}

.esa-flybus img {
  display: block;
  width: 100%;
  height: auto;
}

.esa-flybus-desktop {
  position: absolute;
  z-index: 6;
  left: 100%;
  top: 8px;
  margin-left: 14px;
  width: 252px;
  animation: esa-bus-enter 1.4s cubic-bezier(0.16, 0.84, 0.22, 1) both;
}

.esa-flybus-desktop img {
  animation: esa-bus-float 3.5s ease-in-out 1.45s infinite;
}

.esa-flybus:hover img,
.esa-flybus:focus-visible img {
  animation: none;
  transform: scale(1.04) rotate(1deg);
  transition: transform 0.22s ease;
}

.esa-flybus:focus-visible {
  outline: 3px solid #edae26;
  outline-offset: 8px;
  border-radius: 999px;
}

@keyframes esa-bus-enter {
  0% {
    opacity: 0;
    transform: translateX(108%) rotate(-11deg);
  }
  70% {
    opacity: 1;
    transform: translateX(-5%) rotate(2.5deg);
  }
  100% {
    opacity: 1;
    transform: translateX(0) rotate(-1deg);
  }
}

@keyframes esa-bus-float {
  0%, 100% { transform: translateY(0); }
  50% { transform: translateY(-8px); }
}

.esa-flybus-mobile {
  display: none;
}

@media (max-width: 767px) {
  .esa-flybus-mobile {
    display: block;
    position: relative;
    width: min(92%, 440px);
    margin: 1rem auto 0.35rem;
    animation: esa-bus-enter-mobile 1.25s cubic-bezier(0.16, 0.84, 0.22, 1) both;
  }

  .esa-flybus-mobile img {
    animation: esa-bus-float 3.4s ease-in-out 1.3s infinite;
  }

  @keyframes esa-bus-enter-mobile {
    0% {
      opacity: 0;
      transform: translateX(70vw) rotate(-12deg);
    }
    72% {
      opacity: 1;
      transform: translateX(-12px) rotate(2deg);
    }
    100% {
      opacity: 1;
      transform: translateX(0) rotate(-1deg);
    }
  }
}

@media (prefers-reduced-motion: reduce) {
  .esa-flybus,
  .esa-flybus img {
    animation: none !important;
    transform: none !important;
  }

  html {
    scroll-behavior: auto !important;
  }

  *,
  *::before,
  *::after {
    animation-duration: 0.01ms !important;
    animation-iteration-count: 1 !important;
    transition-duration: 0.01ms !important;
    scroll-behavior: auto !important;
  }
}

/* Required keyboard / screen-reader access */
.skip-link.screen-reader-text:focus,
a.skip-link:focus {
  position: fixed !important;
  top: 10px !important;
  left: 10px !important;
  z-index: 100000 !important;
  width: auto !important;
  height: auto !important;
  clip: auto !important;
  clip-path: none !important;
  overflow: visible !important;
  padding: 0.75rem 1.1rem !important;
  background: #edae26 !important;
  color: #122559 !important;
  font-weight: 800 !important;
  text-decoration: none !important;
  border-radius: 10px !important;
  box-shadow: 0 8px 24px rgba(18, 37, 89, 0.35) !important;
}

:focus-visible {
  outline: 3px solid #edae26 !important;
  outline-offset: 3px !important;
}

button:focus:not(:focus-visible),
a:focus:not(:focus-visible),
input:focus:not(:focus-visible),
select:focus:not(:focus-visible),
textarea:focus:not(:focus-visible) {
  outline: none;
}

/* Homepage: ESA Bed Finder circle icon (coming soon, not linked) */
body.home .esa-ow-icon {
  width: auto;
  max-width: none;
  text-align: center;
}
body.home .esa-ow-icon figure.wp-caption {
  width: max-content;
  max-width: none;
  overflow: visible;
  text-align: center;
}
body.home .esa-ow-icon .widget-image-caption {
  color: #ffffff;
  line-height: 1.15;
  display: block;
  width: max-content !important;
  max-width: none !important;
  margin-left: auto;
  margin-right: auto;
  white-space: nowrap !important;
}
body.home .esa-ow-circle {
  position: relative;
  display: inline-block;
  width: 80px;
  height: 80px;
  border-radius: 50%;
  overflow: hidden;
  vertical-align: middle;
  flex-shrink: 0;
  cursor: default;
  box-shadow: 0 0 0 2px #edae26;
}
body.home .esa-ow-circle img {
  display: block;
  width: 80px;
  height: 80px;
  max-width: none;
  object-fit: cover;
  object-position: 58% 46%;
  border-radius: 50%;
}
body.home .esa-ow-soon {
  position: absolute;
  left: -20%;
  right: -20%;
  top: 50%;
  transform: translateY(-50%) rotate(-18deg);
  background: #edae26;
  color: #122559;
  font-size: 9px;
  font-weight: 800;
  letter-spacing: 0.04em;
  line-height: 1.15;
  text-align: center;
  text-transform: uppercase;
  padding: 3px 0 2px;
  white-space: nowrap;
  pointer-events: none;
}
body.home .esa-ow-icon-mobile-col {
  display: none !important;
}
body.home .esa-ow-icon-desktop {
  display: none;
}
body.home .esa-next-icon {
  margin: 0;
  text-align: center;
}
body.home .esa-next-circle {
  position: relative;
  display: inline-block;
  width: 80px;
  height: 80px;
  border-radius: 50%;
  overflow: hidden;
  vertical-align: middle;
  flex-shrink: 0;
  background: #fff;
  line-height: 0;
  box-shadow: 0 0 0 2px #122559;
}
body.home .esa-next-circle img {
  display: block;
  width: 80px;
  height: 80px;
  max-width: none;
  object-fit: cover;
  border-radius: 50%;
}
body.home a.esa-next-circle {
  text-decoration: none;
}

/* Desktop: original 6 stay in one row; new icon floats above Help others */
@media (min-width: 1367px) {
  body.home .elementor-8 .elementor-element-e816b2b > .elementor-widget-wrap,
  body.home .elementor-8 .elementor-element-1c8773a > .elementor-widget-wrap {
    flex-wrap: nowrap;
  }
  body.home .elementor-8 .elementor-element-a4e403c,
  body.home .elementor-8 .elementor-element-a4e403c .elementor-widget-wrap,
  body.home .elementor-element-0a6c4ad {
    overflow: visible;
  }
  body.home .elementor-element-0a6c4ad {
    position: relative;
  }
  body.home .esa-ow-icon-desktop {
    display: flex;
    flex-direction: column;
    align-items: center;
    gap: 4px;
    position: absolute;
    /* Centered on I want to help others. */
    left: 50%;
    bottom: calc(100% + 4px);
    transform: translateX(-50%);
    z-index: 3;
    width: max-content;
    margin: 0;
  }
  body.home .esa-ow-icon-desktop > figure {
    margin: 0;
  }
  body.home .elementor-8 .elementor-element-a4e403c {
    margin-top: 184px;
  }
}

/* Wide desktop: half an inch (48px) under the copy. -32px was flush; 16px is that plus 48px. */
@media (min-width: 1580px) {
  body.home .elementor-8 .elementor-element-a4e403c {
    margin-top: 16px;
  }
}

/* iPad + phone: centered between the two rows of three, even gaps */
@media (max-width: 1366px) {
  body.home .esa-ow-icon-desktop {
    display: none !important;
  }
  body.home .esa-ow-icon-mobile-col {
    display: flex !important;
    width: 100% !important;
    justify-content: center;
    align-items: center;
    padding: 20px 0 !important;
    margin: 0 !important;
  }
  body.home .esa-ow-icon-mobile-col > .elementor-widget-wrap {
    display: flex;
    flex-direction: row !important;
    flex-wrap: nowrap;
    justify-content: center;
    align-items: flex-start !important;
    gap: 18px;
    width: 100%;
    padding: 0 !important;
    margin: 0 !important;
  }
  body.home .esa-ow-icon-mobile > .elementor-widget-container {
    margin: 0;
  }
  body.home .elementor-8 .elementor-element-e816b2b > .elementor-element-populated {
    padding-bottom: 0 !important;
    margin-bottom: 0 !important;
  }
  body.home .elementor-8 .elementor-element-1c8773a > .elementor-element-populated {
    padding-top: 0 !important;
    margin-top: 0 !important;
  }
}