/*
Theme Name: Alone Child
Theme URI: https://wordpress.org/themes/alone/
Author: Bearsthemes
Author URI: https://wordpress.org/
Description: ALONE – Powerful and flexible WordPress theme that comes with 30+ unique and stunning demos, suitable for all your idea and different types of Non-profit Organizations, Ngo, Church, Events, Political, Candidate, Campaign project…
Requires at least: 5.7.X
Requires PHP: 7.X
Version: 7.0
Template: alone
License: GNU General Public License v2 or later
License URI: http://www.gnu.org/licenses/gpl-2.0.html
Text Domain: alone
Tags: one-column, flexible-header, accessibility-ready, custom-colors, custom-menu, custom-logo, editor-style, featured-images, footer-widgets, rtl-language-support, sticky-post, threaded-comments, translation-ready

This theme, like WordPress, is licensed under the GPL.
Use it to make something cool, have fun, and share what you've learned with others.

Alone is based on Underscores https://underscores.me/, (C) 2012-2019 Automattic, Inc.
Underscores is distributed under the terms of the GNU GPL v2 or later.

Normalizing styles have been helped along thanks to the fine work of
Nicolas Gallagher and Jonathan Neal https://necolas.github.io/normalize.css/
*/

body a:hover, body a:focus {
    text-decoration: none;
}

/* ==========================================================================
   Pattern Hero Banner — Reusable component
   Used on: About, Events, Resources, News pages
   Apply class "alone-child-pattern-hero" to any container (Gutenberg block,
   Elementor section, or .page-titlebar) to get the dark blue patterned hero.
   ========================================================================== */

/* Uses !important to override parent theme's inline customizer styles
   on .page-titlebar (background-image, background-color, background-size) */
.alone-child-pattern-hero {
	position: relative;
	background-color: #002866 !important;
	background-image: url('../../../uploads/2026/03/pattern-bg.png') !important;
	background-repeat: repeat !important;
	background-size: auto !important;
	background-position: center center !important;
	padding: 60px 20px;
	text-align: left;
	overflow: hidden;
}

.alone-child-pattern-hero h1,
.alone-child-pattern-hero h2,
.alone-child-pattern-hero h3,
.alone-child-pattern-hero p,
.alone-child-pattern-hero a {
	color: #ffffff;
}

.alone-child-pattern-hero h1,
.alone-child-pattern-hero h2 {
	font-weight: 700;
	line-height: 1.25;
	margin-top: 0;
}

.alone-child-pattern-hero p {
	font-size: 16px;
	line-height: 1.6;
	max-width: 680px;
	opacity: 0.9;
}

/* Constrain content width inside the hero */
.alone-child-pattern-hero > .container,
.alone-child-pattern-hero > .responsive,
.alone-child-pattern-hero > .wp-block-group__inner-container,
.alone-child-pattern-hero > div {
	max-width: 1200px;
	margin-left: auto;
	margin-right: auto;
	padding-left: 20px;
	padding-right: 20px;
}

/* Variant: applied to the theme's .page-titlebar (Events, Resources, etc.)
   Overrides the default grey background and centres the title */
.page-titlebar.alone-child-pattern-hero {
	text-align: center;
	padding: 60px 0;
}

.page-titlebar.alone-child-pattern-hero .page-title {
	color: #ffffff;
	background-color: transparent !important;
	width: auto !important;
}

.page-titlebar.alone-child-pattern-hero .breadcrumbs {
	color: #ffffff;
	background: transparent;
}

/* Override any existing background images on page-titlebar elements within pattern hero sections */
.alone-child-pattern-hero .page-titlebar,
.alone-child-pattern-hero.page-titlebar {
	background-image: none !important;
	background-color: transparent !important;
}

/* Ensure Elementor elements within pattern hero don't have background images */
.alone-child-pattern-hero .elementor-element {
	background-image: none !important;
}

/* Responsive adjustments */
@media ( max-width: 768px ) {
	.alone-child-pattern-hero {
		padding: 40px 15px;
	}

	.alone-child-pattern-hero h1,
	.alone-child-pattern-hero h2 {
		font-size: 24px;
	}

	.alone-child-pattern-hero p {
		font-size: 14px;
	}
}

/* ==========================================================================
   Homepage Hero Design - New horizontal layout with overlaid fact boxes
   ========================================================================== */

/* Ensure hero section has proper minimum height and positioning */
.home .new_hero_section {
	padding: 0;
}

/* Facts overlay section - positioned to overlap hero */
.home #facts_overlay_section {
	position: relative;
	z-index: 10;
}

/* Individual fact boxes - match horizontal box styling */
.home #facts_overlay_section .elementor-column[id*="fact_box"] {
	/* Remove any rounded corners */
	border-radius: 0 !important;
}

.home #facts_overlay_section .elementor-column[id*="fact_box"] .elementor-column-wrap,
.home #facts_overlay_section .elementor-column[id*="fact_box"] .elementor-widget-wrap {
	border-radius: 0 !important;
}

/* Add spacing between fact boxes using simple margins */
.home #facts_overlay_section .elementor-column[id*="fact_box"]:not(:last-child) {
	margin-right: 20px;
}

/* Remove margins on mobile for full width */
@media (max-width: 768px) {
	.home #facts_overlay_section .elementor-column[id*="fact_box"]:not(:last-child) {
		margin-right: 0;
	}
	
	.home #facts_overlay_section .elementor-column[id*="fact_box"] {
		margin-bottom: 20px;
	}
}

/* Fact box counter numbers - match horizontal box font sizes */
.home #facts_overlay_section .be-counter .be-counter-number {
	font-weight: 700;
}

/* Fact box titles - match horizontal box styling */
.home #facts_overlay_section .be-counter .be-counter-title {
	font-weight: 500;
	line-height: 1.25;
}

/* Fact box headings - match horizontal box styling */
.home #facts_overlay_section .elementor-heading-title {
	font-weight: 400;
}

/* Mobile responsive adjustments for hero */
@media (max-width: 768px) {
	.home .new_hero_section {
		min-height: 400px;
		padding: 40px 0 0 0;
	}
	
	.home .new_hero_section .hero_heading h1 {
		font-size: 24px !important;
		margin-bottom: 60px;
		line-height: 1.3;
	}
	
	.home #facts_overlay_section {
		margin-top: -80px !important;
		margin-bottom: 40px !important;
	}
}

/* Tablet responsive adjustments */
@media (max-width: 1024px) and (min-width: 769px) {
	.home .new_hero_section {
		min-height: 500px;
	}
	
	.home .new_hero_section .hero_heading h1 {
		font-size: 36px !important;
		margin-bottom: 80px;
	}
	
	.home #facts_overlay_section {
		margin-top: -100px !important;
		margin-bottom: 50px !important;
	}
}

/* ==========================================================================
   Be Posts Grid Pumori - Primary Category Styling
   ========================================================================== */

/* Primary category styling for Grid Pumori skin */
.elementor-posts--skin-grid-pumori .elementor-post__primary-category {
	margin-bottom: 8px;
	margin-top: 8px;
}

.elementor-posts--skin-grid-pumori .elementor-post__cat-link {
	display: inline-block;
	background-color: transparent;
	color: rgb(77, 105, 149);
	padding-bottom: 4px;
	border-radius: 3px;
	font-size: 14px;
	font-weight: 500;
	letter-spacing: 0.5px;
	text-decoration: none;
}

.elementor-posts--skin-grid-pumori  .elementor-post__date {
	display: none;
}

.elementor-posts--skin-grid-pumori .elementor-post__cat-link:hover {
	color: inherit;
	text-decoration: none;
}

/* Ensure proper spacing between elements */
.elementor-posts--skin-grid-pumori .elementor-post__content {
	position: relative;
}

.elementor-posts--skin-grid-pumori .elementor-post__primary-category + .elementor-post__title {
	margin-top: 0;
}

/* ==========================================================================
   Be Logo Carousel - Aspect Ratio Fixes for Member Logos
   Ensures logos maintain proper proportions and aren't squashed
   ========================================================================== */

/* Fix aspect ratio issues in Be Logo Carousel widget */
.be-logo-carousel .elementor-logo {
	display: flex;
	align-items: center;
	justify-content: center;
	height: 100px; /* Set consistent height for all logo containers */
	padding: 15px;
	box-sizing: border-box;
}

.be-logo-carousel .elementor-logo img {
	max-width: 100%;
	max-height: 100%;
	width: auto;
	height: auto;
	object-fit: contain; /* Maintain aspect ratio, fit within container */
	object-position: center;
}

/* Ensure consistent spacing and alignment */
.be-logo-carousel .swiper-slide {
	height: auto;
	display: flex;
	align-items: center;
}

/* Member logos specific styling - for reusable template */
.member-logos-carousel .elementor-logo {
	background-color: #ffffff;
	border: 1px solid #e5e5e5;
	border-radius: 8px;
	transition: all 0.3s ease;
}

.member-logos-carousel .elementor-logo:hover {
	border-color: #002866;
	box-shadow: 0 4px 12px rgba(0, 40, 102, 0.1);
	transform: translateY(-2px);
}

/* Responsive adjustments for member logos */
@media (max-width: 768px) {
	.be-logo-carousel .elementor-logo {
		height: 80px;
		padding: 10px;
	}
}

@media (max-width: 480px) {
	.be-logo-carousel .elementor-logo {
		height: 60px;
		padding: 8px;
	}
}

/* PDF embed fix */
.country .pdfp_wrapper {
	display: flex;
	flex-direction: column-reverse;
}

.country .pdfp_wrapper .pdfp_header {
	margin-top: 2rem;
}

.country .pdfp_wrapper .pdfp_header .cta_wrapper a {
	font-family: 'Poppins';
	font-style: normal;
	font-weight: 700;
	font-size: 16px;
	line-height: 120%;
	padding: 21px 48px;
	width: 100%;
	color: #002866;
	text-transform: uppercase;
	text-align: center;
	background: #FFEE00;
	content: 'Read full report';
}

.country .pdf-sidebar .iframe_wrapper {
	height: 520px !important;
}

.page-titlebar .page-title {
	font-size: 38px;
	font-weight: 700;
	line-height: 1.25;
	text-transform: none;
	color: #FFF;
	margin: 0;
}

.category .site-content .content-area {
	padding-top: 50px;
}

.category .site-content .content-area .widget-area {
	width: 100%;
	max-width: 568px;
	margin-left: auto;
	margin-right: auto;
}

.category .site-content .content-area .widget-area .sidebar-widget-wrap {
	margin-left: 2rem;
	margin-right: 2rem;
}

.container-5rs,
.container-5rs .e-flex,
.item-5rs .e-flex,
.item-5rs {
	row-gap: 0 !important;
	line-height: 1.2 !important;
}

.container-5rs .e-grid {
	grid-template-rows: auto !important;
}

.item-5rs {
	line-height: 1.2;
}

.item-5rs h3 {
	margin-top: 1rem;
}

.item-5rs .elementor-widget-container p:last-child {
	margin-bottom: 0;
}