.elementor-kit-8{--e-global-color-primary:#1D4EA3;--e-global-color-secondary:#2CB4A3;--e-global-color-text:#4A5568;--e-global-color-accent:#5FC9A3;--e-global-color-gflime:#C9D935;--e-global-color-gfyellow:#F5C518;--e-global-color-gfbluedk:#0F3D8A;--e-global-color-gfnavy:#0B2A5B;--e-global-color-gfink:#1B2433;--e-global-color-gftint:#F2F7FB;--e-global-color-gfminttint:#EAF7F3;--e-global-color-gfwhite:#FFFFFF;--e-global-typography-primary-font-family:"Montserrat";--e-global-typography-primary-font-weight:800;--e-global-typography-secondary-font-family:"Montserrat";--e-global-typography-secondary-font-weight:600;--e-global-typography-text-font-family:"Montserrat";--e-global-typography-text-font-weight:400;--e-global-typography-accent-font-family:"Montserrat";--e-global-typography-accent-font-weight:700;color:#4A5568;font-family:"Montserrat", Sans-serif;font-size:17px;font-weight:400;line-height:1.75em;}.elementor-kit-8 button,.elementor-kit-8 input[type="button"],.elementor-kit-8 input[type="submit"],.elementor-kit-8 .elementor-button{background-color:#1D4EA3;font-family:"Montserrat", Sans-serif;font-size:14px;font-weight:700;text-transform:uppercase;letter-spacing:1px;color:#FFFFFF;border-radius:999px 999px 999px 999px;padding:15px 32px 15px 32px;}.elementor-kit-8 button:hover,.elementor-kit-8 button:focus,.elementor-kit-8 input[type="button"]:hover,.elementor-kit-8 input[type="button"]:focus,.elementor-kit-8 input[type="submit"]:hover,.elementor-kit-8 input[type="submit"]:focus,.elementor-kit-8 .elementor-button:hover,.elementor-kit-8 .elementor-button:focus{background-color:#0F3D8A;color:#FFFFFF;}.elementor-kit-8 e-page-transition{background-color:#FFBC7D;}.elementor-kit-8 p{margin-block-end:16px;}.elementor-kit-8 a{color:#1D4EA3;}.elementor-kit-8 a:hover{color:#2CB4A3;}.elementor-kit-8 h1{color:#1D4EA3;font-family:"Montserrat", Sans-serif;font-size:54px;font-weight:800;line-height:1.1em;letter-spacing:-0.5px;}.elementor-kit-8 h2{color:#1D4EA3;font-family:"Montserrat", Sans-serif;font-size:40px;font-weight:800;line-height:1.2em;letter-spacing:-0.3px;}.elementor-kit-8 h3{color:#1B2433;font-family:"Montserrat", Sans-serif;font-size:24px;font-weight:700;line-height:1.3em;}.elementor-kit-8 h4{color:#1B2433;font-family:"Montserrat", Sans-serif;font-size:19px;font-weight:700;line-height:1.4em;}.elementor-kit-8 h5{color:#1B2433;font-family:"Montserrat", Sans-serif;font-size:16px;font-weight:700;line-height:1.4em;}.elementor-kit-8 h6{color:#2CB4A3;font-family:"Montserrat", Sans-serif;font-size:14px;font-weight:700;text-transform:uppercase;line-height:1.4em;letter-spacing:1.5px;}.elementor-kit-8 label{color:#1B2433;font-family:"Montserrat", Sans-serif;font-size:14px;font-weight:600;}.elementor-kit-8 input:not([type="button"]):not([type="submit"]),.elementor-kit-8 textarea,.elementor-kit-8 .elementor-field-textual{font-family:"Montserrat", Sans-serif;font-size:15px;font-weight:500;color:#1B2433;background-color:#FFFFFF;border-style:solid;border-width:1px 1px 1px 1px;border-color:#D5DEE8;border-radius:12px 12px 12px 12px;padding:12px 16px 12px 16px;}.elementor-kit-8 input:focus:not([type="button"]):not([type="submit"]),.elementor-kit-8 textarea:focus,.elementor-kit-8 .elementor-field-textual:focus{border-style:solid;border-color:#2CB4A3;}.elementor-section.elementor-section-boxed > .elementor-container{max-width:1200px;}.e-con{--container-max-width:1200px;--container-default-padding-top:0px;--container-default-padding-right:0px;--container-default-padding-bottom:0px;--container-default-padding-left:0px;}.elementor-widget:not(:last-child){--kit-widget-spacing:20px;}.elementor-element{--widgets-spacing:20px 20px;--widgets-spacing-row:20px;--widgets-spacing-column:20px;}{}h1.entry-title{display:var(--page-title-display);}.site-header .site-branding{flex-direction:column;align-items:stretch;}.site-header{padding-inline-end:0px;padding-inline-start:0px;}.site-footer .site-branding{flex-direction:column;align-items:stretch;}@media(max-width:1024px){.elementor-kit-8 h1{font-size:44px;}.elementor-kit-8 h2{font-size:34px;}.elementor-section.elementor-section-boxed > .elementor-container{max-width:1024px;}.e-con{--container-max-width:1024px;}}@media(max-width:767px){.elementor-kit-8{font-size:16px;}.elementor-kit-8 h1{font-size:36px;}.elementor-kit-8 h2{font-size:29px;}.elementor-kit-8 h3{font-size:21px;}.elementor-section.elementor-section-boxed > .elementor-container{max-width:767px;}.e-con{--container-max-width:767px;}}/* Start custom CSS *//* Fundación Ganfer — Site Settings > Custom CSS (Elementor Pro). */

html { scroll-behavior: smooth; }
html, body { overflow-x: clip; }

/* Entrance animations (set per element in Advanced > Motion Effects).
   Same Elementor animation names, shorter distances and a soft ease-out for a formal feel. */
.elementor-element.animated { animation-duration: .9s; animation-timing-function: cubic-bezier(.22, .61, .36, 1); }
.elementor-element.animated.animated-fast { animation-duration: .6s; }
.elementor-element.animated.animated-slow { animation-duration: 1.3s; }
.elementor-element.animated.fadeIn { animation-name: gfFadeIn; }
.elementor-element.animated.fadeInUp { animation-name: gfFadeInUp; }
.elementor-element.animated.fadeInLeft { animation-name: gfFadeInLeft; }
.elementor-element.animated.fadeInRight { animation-name: gfFadeInRight; }
.elementor-element.animated.zoomIn { animation-name: gfZoomIn; }
@keyframes gfFadeIn { from { opacity: 0; transform: translate3d(0, 12px, 0); } to { opacity: 1; transform: none; } }
@keyframes gfFadeInUp { from { opacity: 0; transform: translate3d(0, 28px, 0); } to { opacity: 1; transform: none; } }
@keyframes gfFadeInLeft { from { opacity: 0; transform: translate3d(-36px, 0, 0); } to { opacity: 1; transform: none; } }
@keyframes gfFadeInRight { from { opacity: 0; transform: translate3d(36px, 0, 0); } to { opacity: 1; transform: none; } }
@keyframes gfZoomIn { from { opacity: 0; transform: scale(.86); } to { opacity: 1; transform: none; } }
body { -webkit-font-smoothing: antialiased; }
[id] { scroll-margin-top: 110px; }

/* Section titles: gradient bar above the heading */
.gf-bar .elementor-heading-title::before {
	content: "";
	display: block;
	width: 56px;
	height: 5px;
	border-radius: 5px;
	background: linear-gradient(90deg, #2CB4A3, #C9D935);
	margin-bottom: 18px;
}
.gf-bar-center .elementor-heading-title::before { margin-left: auto; margin-right: auto; }
.gf-bar-light .elementor-heading-title::before { background: linear-gradient(90deg, #C9D935, #FFFFFF); }

/* Home hero */
.gf-hero-title .gf-accent {
	color: #2CB4A3;
	position: relative;
	display: inline-block;
	z-index: 0;
}
.gf-hero-title .gf-accent::after {
	content: "";
	position: absolute;
	left: -2%;
	right: -2%;
	bottom: 0.06em;
	height: 0.26em;
	background: #C9D935;
	opacity: .55;
	border-radius: 0.2em;
	z-index: -1;
	transform: rotate(-1.5deg);
}
.gf-hero-carousel .swiper-slide-image {
	width: 100%;
	height: 540px;
	object-fit: cover;
}
.gf-hero-carousel .elementor-swiper-button {
	width: 46px;
	height: 46px;
	border-radius: 50%;
	background: rgba(11, 42, 91, .45);
	backdrop-filter: blur(4px);
	display: flex;
	align-items: center;
	justify-content: center;
	transition: background .25s;
}
.gf-hero-carousel .elementor-swiper-button:hover { background: #2CB4A3; }
@media (max-width: 1024px) { .gf-hero-carousel .swiper-slide-image { height: 440px; } }
@media (max-width: 767px)  { .gf-hero-carousel .swiper-slide-image { height: 300px; } }

/* Highlight + underline helpers used inside copy */
.gf-hl-blue { color: #1D4EA3; font-weight: 700; }
.gf-underline {
	color: #2CB4A3;
	background: linear-gradient(transparent 68%, rgba(201, 217, 53, .55) 68%);
	padding: 0 .08em;
}

/* Decorative block behind media */
.gf-media-accent { position: relative; }
.gf-media-accent::before {
	content: "";
	position: absolute;
	right: -18px;
	bottom: -18px;
	width: 58%;
	height: 62%;
	border-radius: 28px;
	background: #C9D935;
	z-index: 0;
}
.gf-media-accent--left::before { right: auto; left: -18px; background: #2CB4A3; }
.gf-media-accent--mint::before { background: #5FC9A3; }
.gf-media-accent > .elementor-element { position: relative; z-index: 1; }
@media (max-width: 767px) {
	.gf-media-accent::before { right: -10px; bottom: -10px; }
	.gf-media-accent--left::before { left: -10px; }
}

/* Shadows + cards */
.gf-shadow,
.gf-shadow img { box-shadow: 0 18px 40px rgba(11, 42, 91, .14); }
.gf-shadow img { border-radius: inherit; }
.gf-card {
	box-shadow: 0 10px 30px rgba(11, 42, 91, .08);
	transition: transform .35s ease, box-shadow .35s ease;
}
.gf-card:hover {
	transform: translateY(-6px);
	box-shadow: 0 22px 44px rgba(11, 42, 91, .16);
}
.gf-card .gf-card-img img { transition: transform .6s ease; }
.gf-card:hover .gf-card-img img { transform: scale(1.05); }
.gf-card .gf-card-img { overflow: hidden; }

/* Buttons */
.elementor-button { transition: all .25s ease; }
.elementor-button:hover { transform: translateY(-2px); box-shadow: 0 10px 22px rgba(29, 78, 163, .22); }
.gf-link-btn .elementor-button:hover { transform: none; box-shadow: none; }
.gf-link-btn .elementor-button-icon { transition: transform .25s ease; }
.gf-link-btn .elementor-button:hover .elementor-button-icon { transform: translateX(4px); }

/* Header */
/* Scrolled state (class added by Motion Effects > Sticky > Effects Offset). Boxed containers apply their
   padding on .e-con-inner through Elementor's --padding-* variables, so the shrink overrides those. */
.gf-header { transition: box-shadow .3s ease; box-shadow: 0 1px 0 rgba(11, 42, 91, .06); }
.gf-header > .e-con-inner { transition: padding .3s ease; }
body .elementor-element.gf-header.elementor-sticky--effects {
	--padding-top: 8px;
	--padding-bottom: 8px;
	box-shadow: 0 8px 28px rgba(11, 42, 91, .10);
}
@media (max-width: 767px) {
	body .elementor-element.gf-header.elementor-sticky--effects { --padding-top: 6px; --padding-bottom: 6px; }
}
.gf-header .gf-logo { transition: width .3s ease, max-width .3s ease; }
.gf-header .gf-logo img { display: block; width: 100%; height: auto; }
.gf-header.elementor-sticky--effects .gf-logo { width: 130px !important; max-width: 130px !important; }
@media (max-width: 767px) { .gf-header.elementor-sticky--effects .gf-logo { width: 112px !important; max-width: 112px !important; } }

/* Footer */
.gf-logo-white img { filter: brightness(0) invert(1); }
.gf-footer a { transition: color .2s; }

/* Loop carousels */
.gf-carousel .swiper-slide { padding: 6px 2px 20px; height: auto; }
.gf-carousel .e-loop-item,
.gf-carousel .e-loop-item > .e-con { height: 100%; }
.gf-carousel .elementor-swiper-button {
	width: 46px;
	height: 46px;
	border-radius: 50%;
	background: #FFFFFF;
	color: #1D4EA3;
	box-shadow: 0 8px 22px rgba(11, 42, 91, .14);
	display: flex;
	align-items: center;
	justify-content: center;
	transition: background .25s, color .25s;
}
.gf-carousel .elementor-swiper-button svg { fill: currentColor; }
.gf-carousel .elementor-swiper-button:hover { background: #2CB4A3; color: #FFFFFF; }

/* Program logo tiles */
.gf-tile { transition: transform .3s ease, box-shadow .3s ease, filter .3s ease; box-shadow: 0 10px 26px rgba(11, 42, 91, .10); }
.gf-tile:hover { transform: translateY(-5px); box-shadow: 0 18px 36px rgba(11, 42, 91, .18); filter: saturate(1.1); }
.gf-tile .gf-tile-logo { width: 100%; text-align: center; }
.gf-tile .gf-tile-logo img { max-height: 84px; width: auto; max-width: 76%; object-fit: contain; }
@media (max-width: 767px) { .gf-tile .gf-tile-logo img { max-height: 64px; max-width: 82%; } }
.gf-badge img { width: 100%; height: auto; }
.gf-badge { box-shadow: 0 14px 30px rgba(11, 42, 91, .18); }

/* Timeline */
.gf-tl-item { position: relative; }
.gf-tl-year .elementor-heading-title { display: flex; align-items: center; gap: 12px; }
.gf-tl-year .elementor-heading-title::after {
	content: "";
	flex: 1;
	height: 3px;
	border-radius: 3px;
	background: linear-gradient(90deg, #2CB4A3, rgba(44, 180, 163, 0));
}
.gf-tl-item img { transition: transform .5s ease; }
.gf-tl-item:hover img { transform: scale(1.03); }

/* Donations */
.gf-paypal { display: block; width: 130px; height: auto; margin: 0 auto; }
.gf-strip { border-bottom: 12px solid #C9D935; }
.gf-poster img { box-shadow: 0 24px 50px rgba(11, 42, 91, .22); }

/* Forms */
.gf-form .elementor-field-group .elementor-field-textual { transition: border-color .2s, box-shadow .2s; }
.gf-form .elementor-field-group .elementor-field-textual:focus {
	border-color: #2CB4A3 !important;
	box-shadow: 0 0 0 4px rgba(44, 180, 163, .15);
	outline: none;
}

/* Map */
.gf-map iframe { display: block; filter: saturate(.9); }

@media (prefers-reduced-motion: reduce) {
	.gf-card, .gf-tile, .elementor-button, .gf-card .gf-card-img img { transition: none !important; }
	html { scroll-behavior: auto; }
}/* End custom CSS */