/**
Theme Name: Astra Child
Author: Brainstorm Force
Author URI: http://wpastra.com/about/
Description: Astra is the fastest, fully customizable & beautiful theme suitable for blogs, personal portfolios and business websites. It is very lightweight (less than 50KB on frontend) and offers unparalleled speed. Built with SEO in mind, Astra comes with schema.org code integrated so search engines will love your site. Astra offers plenty of sidebar options and widget areas giving you a full control for customizations. Furthermore, we have included special features and templates so feel free to choose any of your favorite page builder plugin to create pages flexibly. Some of the other features: # WooCommerce Ready # Responsive # Compatible with major plugins # Translation Ready # Extendible with premium addons # Regularly updated # Designed, Developed, Maintained & Supported by Brainstorm Force. Looking for a perfect base theme? Look no further. Astra is fast, fully customizable and beautiful theme!
Version: 1.0.0
License: GNU General Public License v2 or later
License URI: http://www.gnu.org/licenses/gpl-2.0.html
Text Domain: astra-child
Template: astra
*/

/* ==========================================================================
   Custom styles â astra-child
   ========================================================================== */

/* Home hero CTA buttons (row 07d3482): equal width, single line, no wrap.
   Lives here (not in Elementor) so it isn't subject to Elementor's CSS cache. */
.elementor-element-07d3482 .elementor-widget-button {
	width: 320px !important;
	max-width: 100%;
}
.elementor-element-07d3482 .elementor-button {
	width: 100%;
	white-space: nowrap !important;
	justify-content: center;
	padding-left: 18px !important;
	padding-right: 18px !important;
}

/* Stack the two buttons full-width on phones */
@media (max-width: 767px) {
	.elementor-element-07d3482 .elementor-widget-button {
		width: 100% !important;
	}
}

/* Home hero H1 (407ab7f): looser line-height so it doesn't look cramped/stacked. */
.elementor-element-407ab7f .elementor-heading-title {
	line-height: 1.15 !important;
}

/* Block-two course tiles (section 5a74717): icon + name side by side, no overlap.
   Forces the icon/name wrapper to a flex row, pins the icon width, and lets the
   name take the remaining space and wrap cleanly within its own column. */
.elementor-element-5a74717 :is(.e-con, .e-con-inner):has(> .elementor-widget-icon) {
	display: flex !important;
	flex-direction: row !important;
	flex-wrap: nowrap !important;
	align-items: center !important;
	gap: 18px;
}
.elementor-element-5a74717 .elementor-widget-icon {
	flex: 0 0 38px !important;
	width: 38px !important;
	max-width: 38px !important;
	margin: 0 !important;
}
/* Vertically center the icon+name inside each box, so short (one-line) tiles
   sit in the middle of a box that was stretched tall by its row-mates. */
.elementor-element-5a74717 .e-con:has(> .e-con > .elementor-widget-icon) {
	justify-content: center !important;
}
.elementor-element-5a74717 .elementor-widget-icon .elementor-icon {
	display: inline-flex;
	justify-content: center;
}
.elementor-element-5a74717 .elementor-widget-heading {
	flex: 1 1 auto !important;
	min-width: 0 !important;
	text-align: left !important;
}
/* Never split letters mid-word; shrink the tile font + line-height so long
   names (e.g. "Responsibility") fit the column as whole words. */
.elementor-element-5a74717 .elementor-widget-heading,
.elementor-element-5a74717 .elementor-heading-title {
	word-break: normal !important;
	overflow-wrap: normal !important;
	hyphens: none !important;
}
.elementor-element-5a74717 .elementor-widget-heading .elementor-heading-title {
	font-size: 16px !important;
	line-height: 1.25 !important;
}

/* Home course tiles (5a74717): whole tile clickable + hover lift. Keep the course
   name styled as a heading (not an underlined blue link). */
.elementor-element-5a74717 .elementor-widget-heading a,
.elementor-element-5a74717 .elementor-widget-heading a:hover,
.elementor-element-5a74717 .elementor-widget-heading a:focus,
.elementor-element-5a74717 .elementor-widget-heading a:active {
	color: inherit !important;
	text-decoration: none !important;
	background: transparent !important;
	outline: none !important;
	box-shadow: none !important;
	border: 0 !important;
}
.elementor-element-5a74717 .si-clickable-tile {
	cursor: pointer;
	transition: transform .2s ease, box-shadow .2s ease;
}
.elementor-element-5a74717 .si-clickable-tile:hover {
	transform: translateY(-5px);
	box-shadow: 0 16px 32px rgba(32, 91, 154, 0.18);
}

/* "Explore Our Course Catalog" section title (5ff0fe4): make it bigger.
   Selector is scoped under the section so it out-specifies the tile-font rule above. */
.elementor-element-5a74717 .elementor-element-5ff0fe4 .elementor-heading-title {
	font-size: 44px !important;
	line-height: 1.15 !important;
}
@media (max-width: 767px) {
	.elementor-element-5a74717 .elementor-element-5ff0fe4 .elementor-heading-title {
		font-size: 30px !important;
	}
}

/* ---- Stats / social-proof block (block three) ---- */
/* Big "4,000,000" highlight + the stat percentages. */
.si-bignum,
.si-stat-col .elementor-heading-title {
	color: #FF6B6B !important;
}
/* Keep the intro paragraph a comfortable reading width, centered. */
.si-stats-intro {
	max-width: 780px;
	margin-left: auto !important;
	margin-right: auto !important;
}
/* Force the 4-across stat row (don't rely on Elementor's container CSS). */
.si-stats-row {
	display: flex !important;
	flex-direction: row !important;
	flex-wrap: wrap;
	align-items: stretch;
	width: 100%;
}
.si-stat-col {
	flex: 1 1 0 !important;
	min-width: 0 !important;
}
/* Thin divider lines between the stat columns (not before the first). */
.si-stat-col + .si-stat-col {
	border-left: 1px solid rgba(255, 255, 255, 0.3);
}
@media (max-width: 767px) {
	.si-stats-row {
		flex-direction: column !important;
	}
	.si-stat-col {
		flex-basis: 100% !important;
	}
	.si-stat-col + .si-stat-col {
		border-left: 0;
	}
}

/* Testimonial at the bottom of the stats block â centered, comfortable width. */
/* Logo centered on a divider line (line â logo â line) above the testimonial. */
.si-divider-logo {
	display: flex !important;
	align-items: center;
	gap: 22px;
	width: 100% !important;
	max-width: 900px;
	margin: 45px auto 0 !important;
}
.si-divider-logo::before,
.si-divider-logo::after {
	content: "";
	flex: 1 1 auto;
	height: 1px;
	background: rgba(255, 255, 255, 0.4);
}
.si-divider-logo .elementor-widget-container {
	flex: 0 0 auto;
	line-height: 0;
}
.si-divider-logo img {
	width: 70px;
	height: auto;
	display: block;
}

.si-testimonial {
	max-width: 900px;
	margin: 28px auto 0 !important;
	font-style: italic;
	line-height: 1.6;
}

/* Tighten the gap between the intro line and its bullet list in the
   "What Students Experience" columns (How it Works page). */
/* "Why School Impact is a good fit": header full-width on top, then For Schools
   (left) and For Students (right) side by side below. */
.elementor-element-c7168cb,
.elementor-element-c7168cb > .e-con-inner {
	flex-wrap: wrap !important;
	align-items: flex-start !important;
}
.elementor-element-6bf29de {
	flex: 0 0 100% !important;
	width: 100% !important;
	margin-bottom: 12px;
}
.elementor-element-5191bd3,
.elementor-element-3816e51 {
	flex: 1 1 45% !important;
	width: 45% !important;
}
/* "For Schools" / "For Students" subtitles in a soft coral-red (easy on the eyes
   over the blue, matching the stats numbers). */
.elementor-element-734bdc1 .elementor-heading-title,
.elementor-element-a300001 .elementor-heading-title {
	color: #FF6B6B !important;
}

/* Pricing buttons (View our Pricing Sheet a400001, Custom Quote a400002): turn red on hover. */
.elementor-element-a400001 .elementor-button:hover,
.elementor-element-a400002 .elementor-button:hover,
.elementor-element-a600001 .elementor-button:hover,
.elementor-element-a900001 .elementor-button:hover {
	background-color: #AB2142 !important;
	color: #ffffff !important;
}

/* Header Login button (a900001): brand-blue pill, white text. */
.elementor-element-a900001 .elementor-button {
	background-color: #205B9A !important;
	color: #ffffff !important;
	font-weight: 700 !important;
	border-radius: 50px !important;
	padding: 10px 28px !important;
}

/* For Students "Login Here" button (a800002): white text, larger. */
/* Pricing (2179) Request-a-demo cutout image (655bf75): a bit larger, anchored to
   the bottom-right so it stays put. Scoped to this page (the element id is reused). */
.page-id-2179 .elementor-element-655bf75 img {
	transform: translate(110px, 41px) scale(1.5);
	transform-origin: bottom right;
}
@media (max-width: 767px) {
	.page-id-2179 .elementor-element-655bf75 img { transform: none; }
}

/* Rectangular intro photos: designed look â rounded corners, soft shadow, and a
   brand accent block behind. How it Works (cream bg) uses a blue accent; Home's
   "Teachers" photo sits on a red bg, so it uses a navy accent. */
.page-id-1964 .elementor-element-4f1f01b img {
	border-radius: 18px !important;
	box-shadow: 20px 20px 0 0 #205B9A, 0 18px 38px rgba(0,0,0,0.16) !important;
}
.page-id-850 .elementor-element-ad5b163 img,
.page-id-2022 .elementor-element-ad5b163 img {
	border-radius: 18px !important;
	box-shadow: 20px 20px 0 0 #202562, 0 18px 38px rgba(0,0,0,0.22) !important;
}

/* How it Works (1964) Live Human Support woman (ce4f983): reduce the actual box
   (not just a visual transform) so she stays the same size but the blue block
   gets shorter. */
.page-id-1964 .elementor-element-ce4f983 img {
	width: 70% !important;
	height: 406px !important;          /* crop her lower torso ("midriff") off the bottom */
	object-fit: cover !important;
	object-position: top center !important;
	margin-right: auto;
}
/* Keep the blue "Live Human Support" section compact: a small negative top margin
   lets the lady peek just above the blue without covering the text in the section
   above. Section height = her (shrunk) image height minus this margin. */
.page-id-1964 .elementor-element-ce4f983 { margin-top: -20px !important; }
/* Larger support text */
.page-id-1964 .elementor-element-e0f9f81,
.page-id-1964 .elementor-element-e0f9f81 p {
	font-size: 22px !important;
	line-height: 1.6 !important;
}

.elementor-element-a800002 .elementor-button {
	color: #ffffff !important;
	background-color: #AB2142 !important;
	font-size: 18px !important;
	font-weight: 700 !important;
	padding: 16px 46px !important;
}
.elementor-element-a800002 .elementor-button:hover {
	background-color: #205B9A !important;
	color: #ffffff !important;
}

/* For Students "Do you already have an account?" prompt (a800001): a bit bigger. */
.elementor-element-a800001,
.elementor-element-a800001 p {
	font-size: 24px !important;
}

/* For Students logo icon (a800003): straddle the seam between the blue hero and
   the cream block, matching the home page (pulled up, sits on top). */
.elementor-element-a800003 {
	margin-top: -120px !important;
	z-index: 2 !important;
	position: relative !important;
}
.elementor-element-a800003 img {
	width: 120px !important;
	max-width: 120px !important;
}
@media (max-width: 767px) {
	.elementor-element-a800003 { margin-top: -70px !important; }
	.elementor-element-a800003 img { width: 84px !important; max-width: 84px !important; }
}

/* For Students (2245): smaller star tiles so they don't get clipped huge, and
   tighter vertical spacing through the steps / login / Our Courses area. */
.page-id-2245 .elementor-element-1a4796b::before {
	background-size: cover !important;
	background-repeat: no-repeat !important;
	background-position: center center !important;
	/* fade the star layer near all four edges so no star ends in a hard slice */
	-webkit-mask-image:
		linear-gradient(to right, transparent 0, #000 80px, #000 calc(100% - 80px), transparent 100%),
		linear-gradient(to bottom, transparent 0, #000 60px, #000 calc(100% - 60px), transparent 100%);
	-webkit-mask-composite: source-in;
	mask-image:
		linear-gradient(to right, transparent 0, #000 80px, #000 calc(100% - 80px), transparent 100%),
		linear-gradient(to bottom, transparent 0, #000 60px, #000 calc(100% - 60px), transparent 100%);
	mask-composite: intersect;
}
.page-id-2245 .elementor-element-b4ee19c {
	overflow: visible !important;
	padding-bottom: 6px !important;
	--gap: 10px !important;
	/* Thin red line under the navy band, matching the other pages' hero/first-block divider. */
	border-bottom: 5px solid #AB2142 !important;
}
/* No star overlay on the navy login band â keep it solid #202562 like the
   dark-blue sections elsewhere on the site. */
.page-id-2245 .elementor-element-b4ee19c::before {
	display: none !important;
}
.page-id-2245 .elementor-element-1a4796b {
	padding-top: 0 !important;
	padding-bottom: 14px !important;
	--gap: 10px !important;
}
/* A little breathing room between the navy login band and "How to Get Started". */
.page-id-2245 .elementor-element-be50227 {
	padding-top: 34px !important;
}
.page-id-2245 .elementor-element-145ece8 { margin-bottom: 0 !important; } /* "Our Courses" heading */
.page-id-2245 .elementor-element-a700001 { margin-top: -8px !important; margin-bottom: 6px !important; }
.page-id-2245 .elementor-element-a800001 { margin-top: 6px !important; margin-bottom: 2px !important; }
.page-id-2245 .elementor-element-a800002 { margin-bottom: 6px !important; }
/* "Evidence Based Education" trust emblem floating at the top-right of the Home hero
   red box, overlapping into the photo. Static + right-aligned on smaller screens. */
.page-id-850 .elementor-element-1cbffa3,
.page-id-850 .elementor-element-49aa9aa {
	position: relative !important;
	overflow: visible !important;
}
/* Extra top padding so the corner sticker overlaps empty red space instead of the heading. */
.page-id-850 .elementor-element-49aa9aa { padding-top: 88px !important; }
.page-id-850 .elementor-element-emb7a21c {
	position: absolute !important;
	top: -48px;
	left: -42px;
	transform: none;
	width: 130px;
	margin: 0 !important;
	z-index: 6;
}
.page-id-850 .elementor-element-emb7a21c img {
	width: 130px;
	height: auto;
	filter: drop-shadow(0 6px 14px rgba(0, 0, 0, 0.30));
}
@media (max-width: 1024px) {
	.page-id-850 .elementor-element-49aa9aa { padding-top: 62px !important; }
	.page-id-850 .elementor-element-emb7a21c {
		top: -28px;
		left: 8px;
		width: 88px;
	}
	.page-id-850 .elementor-element-emb7a21c img { width: 88px; }
}

/* Home stats: center each number over its label line. */
.page-id-850 .elementor-element-a100120,
.page-id-850 .elementor-element-a100130,
.page-id-850 .elementor-element-a100140 {
	align-items: center !important;
	text-align: center !important;
}
.page-id-850 .elementor-element-a100103 .elementor-widget-heading,
.page-id-850 .elementor-element-a100103 .elementor-widget-text-editor {
	width: 100% !important;
	text-align: center !important;
}

/* Hero banner image (1ee6dde) is bottom-anchored; nudge the focal point up so the
   students' heads show at the short hero height. */
@media (min-width: 768px) {
.page-id-1964 .elementor-element-1ee6dde,
.page-id-2022 .elementor-element-1ee6dde,
.page-id-2179 .elementor-element-1ee6dde,
.page-id-2245 .elementor-element-1ee6dde { background-position: 50% 55% !important; }
.page-id-2238 .elementor-element-f3e12f8 { background-position: 50% 55% !important; }
.page-id-2240 .elementor-element-f1dddfb { background-position: 50% 55% !important; }
}

/* Contact Us (2240): lay the quote form out in two columns (horizontal) instead of
   one tall stack. Name/Email/Phone pair up; enrollments + Questions stay full width. */
.page-id-2240 .wpforms-field-container { display: flex !important; flex-wrap: wrap !important; column-gap: 24px; row-gap: 2px; }
.page-id-2240 .wpforms-field { width: calc(50% - 12px) !important; box-sizing: border-box; }
.page-id-2240 #wpforms-2242-field_5-container,
.page-id-2240 .wpforms-field-textarea { width: 100% !important; }
@media (max-width: 600px) { .page-id-2240 .wpforms-field { width: 100% !important; } }

/* Center the "Select your Course and Start Now" heading above the course tiles. */
.page-id-850 .elementor-element-5ff0fe4 .elementor-heading-title { text-align: center !important; }

/* Pricing (2179) + Course Catalog (2022): tighten large empty padding on the
   text + course-bar section. */
.page-id-2179 .elementor-element-65b158f,
.page-id-2022 .elementor-element-65b158f { padding-top: 40px !important; padding-bottom: 40px !important; }

/* Course Catalog (2022): the left text column is shorter than the course list, so
   vertically center it and compact the list to cut the empty space in this section. */
.page-id-2022 .elementor-element-301a42d { align-self: center !important; }
.page-id-2022 .si-browse .side-list a { padding-top: 7px !important; padding-bottom: 7px !important; }

/* Course Catalog (2022) + For Students (2245) boxes: icon to the LEFT of the course
   name (like the Home tiles), with the button on its own line below. */
.page-id-2022 .elementor-element-bc185e0 > .e-con,
.page-id-2245 .elementor-element-bc185e0 > .e-con {
	flex-direction: row !important;
	flex-wrap: wrap !important;
	align-items: center !important;
	justify-content: flex-start !important;
	column-gap: 14px !important;
	row-gap: 16px !important;
}
.page-id-2022 .elementor-element-bc185e0 > .e-con > .elementor-widget-icon,
.page-id-2245 .elementor-element-bc185e0 > .e-con > .elementor-widget-icon {
	flex: 0 0 auto !important;
	width: auto !important;
	margin: 0 !important;
}
.page-id-2022 .elementor-element-bc185e0 > .e-con > .e-con:nth-child(2),
.page-id-2245 .elementor-element-bc185e0 > .e-con > .e-con:nth-child(2) { flex: 1 1 0 !important; width: auto !important; }
.page-id-2022 .elementor-element-bc185e0 > .e-con > .e-con:nth-child(3),
.page-id-2245 .elementor-element-bc185e0 > .e-con > .e-con:nth-child(3) { flex: 0 0 100% !important; width: 100% !important; }
/* left-align the course name next to the icon */
.page-id-2022 .elementor-element-bc185e0 .elementor-widget-heading .elementor-heading-title,
.page-id-2245 .elementor-element-bc185e0 .elementor-widget-heading .elementor-heading-title { text-align: left !important; }

/* Course Catalog (2022) + For Students (2245): make the course tiles white
   (instead of cream) so they stand out against the cream page background. */
.page-id-2022 .elementor-element-bc185e0 > .e-con,
.page-id-2245 .elementor-element-bc185e0 > .e-con { background-color: #ffffff !important; }

/* Remove the (left-aligned) divider lines inside each course tile and keep the
   heading + button centered, so every box looks cohesive. */
.page-id-2022 .elementor-element-bc185e0 .elementor-widget-divider,
.page-id-2245 .elementor-element-bc185e0 .elementor-widget-divider { display: none !important; }

/* Contact page (2240) WPForms submit button: white text on a brand-blue button,
   red on hover. */
.page-id-2240 .wpforms-submit {
	color: #ffffff !important;
	background-color: #205B9A !important;
	border-color: #205B9A !important;
}
.page-id-2240 .wpforms-submit:hover {
	color: #ffffff !important;
	background-color: #AB2142 !important;
	border-color: #AB2142 !important;
}

/* FAQ page (2238) accordions: when a question is expanded, the question bar and
   its answer turn brand red with white text. */
.page-id-2238 .elementor-tab-title.elementor-active {
	background-color: #205B9A !important; /* brand blue question bar */
}
.page-id-2238 .elementor-tab-content {
	background-color: #AB2142 !important; /* brand red answer */
}
.page-id-2238 .elementor-tab-title.elementor-active,
.page-id-2238 .elementor-tab-title.elementor-active a,
.page-id-2238 .elementor-tab-title.elementor-active .elementor-accordion-icon,
.page-id-2238 .elementor-tab-content,
.page-id-2238 .elementor-tab-content * {
	color: #ffffff !important;
}

/* Course boxes (bc185e0): center the name + button horizontally, and pin the
   ENROLL HERE button to the bottom of each box so buttons line up across a row. */
.elementor-element-bc185e0 > .e-con,
.elementor-element-bc185e0 > .e-con > .e-con-inner,
.elementor-element-bc185e0 > .e-con-inner > .e-con,
.elementor-element-bc185e0 > .e-con-inner > .e-con > .e-con-inner {
	display: flex !important;
	flex-direction: column !important;
	align-items: center !important;
	justify-content: flex-start !important;
}
.elementor-element-bc185e0 .elementor-heading-title {
	text-align: center !important;
	width: 100%;
}
/* the button's sub-container (has a button, no heading) â bottom + centered */
.elementor-element-bc185e0 .e-con:has(.elementor-widget-button):not(:has(.elementor-widget-heading)) {
	margin-top: auto !important;
	width: 100%;
	display: flex !important;
	justify-content: center !important;
}

/* Administrator Account Access: keep the text clear of the bottom-right photo. */
.elementor-element-7420828 {
	max-width: 62% !important;
}
@media (max-width: 1024px) {
	.elementor-element-7420828 {
		max-width: 100% !important;
	}
}

/* Bulk-pricing explainer: span full width now that the photo column is removed. */
.elementor-element-ae379d6 {
	width: 100% !important;
	flex-basis: 100% !important;
	max-width: 100% !important;
}
/* Readable on the red background: cream titles, white body text. */
.elementor-element-ae379d6 .elementor-heading-title {
	color: #F1DFC2 !important;
}
/* Section title a bit bigger. */
.elementor-element-a500001 .elementor-heading-title {
	font-size: 46px !important;
}
@media (max-width: 767px) {
	.elementor-element-a500001 .elementor-heading-title {
		font-size: 32px !important;
	}
}
.elementor-element-ae379d6 .elementor-widget-text-editor,
.elementor-element-ae379d6 .elementor-widget-text-editor p {
	color: #ffffff !important;
}
@media (max-width: 767px) {
	.elementor-element-5191bd3,
	.elementor-element-3816e51 {
		flex-basis: 100% !important;
		width: 100% !important;
	}
}

/* How it Works hero H1 (f861372): the longer SEO title overflows the blue box at
   the original size, so scale it down to fit and wrap cleanly. */
.elementor-element-f861372 .elementor-heading-title {
	font-size: 50px !important;
	line-height: 1.12 !important;
	white-space: normal !important;
	overflow-wrap: break-word;
}
@media (max-width: 1024px) {
	.elementor-element-f861372 .elementor-heading-title {
		font-size: 38px !important;
	}
}
@media (max-width: 767px) {
	.elementor-element-f861372 .elementor-heading-title {
		font-size: 30px !important;
	}
}
.si-testimonial-cite {
	max-width: 900px;
	margin: 12px auto 0 !important;
	font-weight: 700;
}

/* ============================================================
   Blog branding â Astra posts page (/blog/), category/date/tag
   archives, and single posts. The blog is theme-rendered (not
   Elementor), so it's styled here to match the rest of the site.
   ============================================================ */

/* Cream content background with faint stars, matching the site's beige
   sections. A cream wash (linear-gradient) is layered over the star image
   so the stars stay subtle instead of dark. */
body.blog .site-content,
body.archive .site-content,
body.single-post .site-content {
	background-color: #F7EEDF;
	background-image:
		linear-gradient( rgba(247, 238, 223, 0.85), rgba(247, 238, 223, 0.85) ),
		url("/wp-content/uploads/2026/04/star-bg.png");
	background-repeat: repeat;
	background-size: auto;
}

/* Posts rendered as white cards on the cream background. */
body.blog .ast-article-post,
body.archive .ast-article-post,
body.single-post .ast-article-post,
body.single-post .ast-article-single {
	background-color: #ffffff !important;
	border: none !important;
	border-radius: 14px !important;
	box-shadow: 0 6px 24px rgba(32, 91, 154, 0.10) !important;
	padding: 34px !important;
	margin-bottom: 34px !important;
}

/* Post titles in brand blue, red on hover. */
body.blog .entry-title a,
body.archive .entry-title a,
body.single-post .entry-title,
body.single-post .entry-title a {
	color: #205B9A !important;
}
body.blog .entry-title a:hover,
body.archive .entry-title a:hover {
	color: #AB2142 !important;
}

/* "Read More" as a brand pill button (blue, red on hover) like the rest of
   the site. */
body.blog .ast-read-more-container a,
body.archive .ast-read-more-container a,
body.blog .read-more a,
body.archive .read-more a {
	display: inline-block;
	background-color: #205B9A !important;
	color: #ffffff !important;
	padding: 10px 26px !important;
	border-radius: 50px !important;
	font-weight: 600;
	text-decoration: none !important;
	transition: background-color 0.2s ease;
}
body.blog .ast-read-more-container a:hover,
body.archive .ast-read-more-container a:hover,
body.blog .read-more a:hover,
body.archive .read-more a:hover {
	background-color: #AB2142 !important;
	color: #ffffff !important;
}

/* Meta links (category, author) pick up the brand red on hover. */
body.blog .entry-meta a:hover,
body.archive .entry-meta a:hover,
body.single-post .entry-meta a:hover {
	color: #AB2142 !important;
}

/* Archive / blog page title in brand blue. */
body.blog .ast-archive-title,
body.archive .ast-archive-title,
body.blog .page-title,
body.archive .page-title {
	color: #205B9A !important;
}

/* Pagination: brand-blue numbers, filled blue for the current page. */
body.blog .page-numbers,
body.archive .page-numbers,
body.blog .ast-pagination a,
body.archive .ast-pagination a {
	color: #205B9A !important;
}
body.blog .page-numbers.current,
body.archive .page-numbers.current {
	background-color: #205B9A !important;
	color: #ffffff !important;
	border-radius: 6px;
	padding: 4px 13px;
}

/* In-content links on single posts use the brand blue. */
body.single-post .entry-content a {
	color: #205B9A;
	font-weight: 600;
}
body.single-post .entry-content a:hover {
	color: #AB2142;
}

/* Single blog post: readable centered column + sane typography. */
body.single-post .ast-article-single {
	max-width: 820px !important;
	margin: 40px auto !important;
	padding: 44px 50px !important;
}
body.single-post .entry-title {
	font-size: 34px !important;
	line-height: 1.2 !important;
	margin-bottom: 20px !important;
}
body.single-post .entry-content {
	font-size: 17.5px;
	line-height: 1.75;
}
body.single-post .entry-content h2 {
	font-size: 24px !important;
	line-height: 1.3 !important;
	color: #205B9A !important;
	margin: 32px 0 8px !important;
}
body.single-post .entry-content p {
	margin: 0 0 17px !important;
	color: #3c4651;
}
/* section divider between course sections */
body.single-post .entry-content hr {
	border: 0 !important;
	height: 2px !important;
	width: 70px;
	background: #AB2142 !important;
	margin: 34px 0 22px !important;
	border-radius: 2px;
}
/* course-name heading links */
body.single-post .entry-content h2 a {
	color: #205B9A !important;
	text-decoration: none;
}
body.single-post .entry-content h2 a:hover {
	color: #AB2142 !important;
}

/* Blog archive (/blog/): readable centered cards + tidy excerpt. */
body.blog .ast-article-post,
body.archive .ast-article-post {
	max-width: 820px !important;
	margin-left: auto !important;
	margin-right: auto !important;
}
body.blog .entry-title,
body.archive .entry-title {
	font-size: 27px !important;
	line-height: 1.25 !important;
	margin-bottom: 6px !important;
}
body.blog .ast-excerpt-container,
body.archive .ast-excerpt-container {
	font-size: 17px !important;
	line-height: 1.7 !important;
	color: #3c4651 !important;
	margin-top: 12px;
}
@media (max-width: 768px) {
	body.single-post .ast-article-single { padding: 28px 22px !important; margin: 22px auto !important; }
	body.single-post .entry-title { font-size: 27px !important; }
}
/* For Students hero: collapse the tall spacer on phones/tablets so the heading and
   banner photo aren't separated by a big empty blue gap when they stack. */
@media (max-width: 1024px) {
	.page-id-2245 .elementor-element-6f2a42c,
	.page-id-2245 .elementor-element-6f2a42c .elementor-spacer-inner {
		height: 18px !important;
		min-height: 18px !important;
	}
}

/* Mobile: hero photo on top (above text) on Home + For Students, as a compact banner
   cropped to the students' faces, text block directly below (no tall empty blue gap). */
@media (max-width: 767px) {
	.page-id-850 .elementor-element-afc92c5,
	.page-id-850 .elementor-element-1cbffa3,
	.page-id-2245 .elementor-element-ed5a1ef,
	.page-id-2245 .elementor-element-1cbffa3 {
		min-height: 0 !important;
		height: auto !important;
	}
	.page-id-850 .elementor-element-afc92c5 .elementor-element-1ee6dde,
	.page-id-2245 .elementor-element-ed5a1ef .elementor-element-1ee6dde {
		order: -1 !important;
		height: 200px !important;
		min-height: 200px !important;
		margin: 0 !important;
		background-position: 50% 6% !important;
	}
}

/* Mobile: remove the desktop 200px top padding inside the hero text column so the
   text sits directly under the photo (no empty blue gap). */
@media (max-width: 767px) {
	.page-id-850 .elementor-element-1cbffa3 > .e-con-inner,
	.page-id-2245 .elementor-element-1cbffa3 > .e-con-inner {
		padding-top: 0 !important;
	}
}

/* ============================================================
   Mobile formatting cleanup (phones)
   ============================================================ */
@media (max-width: 767px) {
	/* Header: smaller logo so it isn't oversized */
	.elementor-location-header .elementor-widget-image img,
	.elementor-location-header .elementor-widget-theme-site-logo img,
	.ast-site-identity img { max-width: 150px !important; height: auto !important; }

	/* "Blue line" navy divider band under the hero -> thin strip with small flame */
	.page-id-850 .elementor-element-830d4bd {
		min-height: 0 !important;
		padding-top: 8px !important;
		padding-bottom: 8px !important;
	}
	.page-id-850 .elementor-element-830d4bd img { max-width: 40px !important; }

	/* Contact CTA section: trim empty blue space (girl image kept at original size). */
	.page-id-850 .elementor-element-8841aae { min-height: 0 !important; }

	/* Footer: center the contact + links columns */
	.elementor-element-dac82fc,
	.elementor-element-5e60d16,
	.elementor-element-d911521,
	.elementor-element-b586359 { text-align: center !important; }
	.elementor-element-dac82fc .elementor-icon-list-items,
	.elementor-element-5e60d16 .elementor-icon-list-items { align-items: center !important; }
	.elementor-element-dac82fc .elementor-icon-list-item,
	.elementor-element-5e60d16 .elementor-icon-list-item { justify-content: center !important; }
}

/* Mobile: shrink the HFE header logo so the header isn't oversized. */
@media (max-width: 767px) {
	img.hfe-site-logo-img { max-width: 150px !important; height: auto !important; }
}

/* Mobile: center the blue contact CTA section (Call or Text / Email) above the footer. */
@media (max-width: 767px) {
	.page-id-850 .elementor-element-8841aae .elementor-heading-title,
	.page-id-850 .elementor-element-8841aae .elementor-widget-text-editor,
	.page-id-850 .elementor-element-59aebff { text-align: center !important; }
}

/* Mobile: center all WordPress footer content (logo, social, contact, links, copyright). */
@media (max-width: 767px) {
	footer .elementor-widget-container { text-align: center !important; }
	footer .elementor-icon-list-items { justify-content: center !important; }
	footer .elementor-icon-list-item { justify-content: center !important; }
}

/* Mobile: the footer list links are full-width flex anchors with justify-content:normal,
   which keeps icon+text left. Center the anchor content. */
@media (max-width: 767px) {
	footer .elementor-icon-list-item,
	footer .elementor-icon-list-item a { justify-content: center !important; }
}

/* Mobile: other pages (How It Works, Pricing, Catalog, FAQ, Contact) â hero image on top,
   title below, and a thinner navy divider ("blue line"). */
@media (max-width: 767px) {
	.elementor-element-afc92c5,
	.elementor-element-c613e30,
	.elementor-element-ef7ec8f { min-height: 0 !important; height: auto !important; }

	.elementor-element-afc92c5 .elementor-element-1ee6dde { order: -1 !important; }
	.elementor-element-c613e30 .elementor-element-f3e12f8 { order: -1 !important; }
	.elementor-element-ef7ec8f .elementor-element-f1dddfb { order: -1 !important; }

	.elementor-element-1ee6dde,
	.elementor-element-f3e12f8,
	.elementor-element-f1dddfb {
		height: 200px !important;
		min-height: 200px !important;
		margin: 0 !important;
		background-position: 50% 4% !important;
	}

	/* drop the desktop vertical-centering padding inside the hero title columns */
	.elementor-element-afc92c5 .elementor-element-1cbffa3 > .e-con-inner,
	.elementor-element-5a0804d > .e-con-inner,
	.elementor-element-bea4a82 > .e-con-inner { padding-top: 0 !important; }

	/* "Blue line" navy divider band: thinner on every page */
	.elementor-element-830d4bd {
		min-height: 0 !important;
		padding-top: 8px !important;
		padding-bottom: 8px !important;
	}
	.elementor-element-830d4bd img { max-width: 40px !important; }
}

/* Mobile: center the Pricing page main content column (enroll CTA, Pre-Paid Bulk Pricing,
   Custom Solutions) â headings, text, bullet lists, and buttons. Sidebar is untouched. */
@media (max-width: 767px) {
	.page-id-2179 .elementor-element-301a42d,
	.page-id-2179 .elementor-element-301a42d .elementor-heading-title,
	.page-id-2179 .elementor-element-301a42d .elementor-widget-text-editor,
	.page-id-2179 .elementor-element-301a42d .elementor-widget-button { text-align: center !important; }
	.page-id-2179 .elementor-element-301a42d .elementor-icon-list-items { justify-content: center !important; align-items: center !important; }
	.page-id-2179 .elementor-element-301a42d .elementor-icon-list-item,
	.page-id-2179 .elementor-element-301a42d .elementor-icon-list-item a { justify-content: center !important; }
}

/* Pricing bullets: let the text shrink so the check + text center together even when wrapping. */
@media (max-width: 767px) {
	.page-id-2179 .elementor-element-301a42d .elementor-icon-list-text { flex: 0 1 auto !important; text-align: center !important; }
}

/* Pricing bullets: inline check + text, centered as one unit. */
@media (max-width: 767px) {
	.page-id-2179 .elementor-element-301a42d .elementor-icon-list-item { display: block !important; text-align: center !important; }
	.page-id-2179 .elementor-element-301a42d .elementor-icon-list-icon { display: inline-block !important; vertical-align: middle; }
	.page-id-2179 .elementor-element-301a42d .elementor-icon-list-text { display: inline !important; flex: none !important; }
}

/* Mobile: make the Pricing sidebar column full-width so it aligns with the content above (not offset). */
@media (max-width: 767px) {
	.page-id-2179 .elementor-element-c587df2,
	.page-id-2022 .elementor-element-c587df2 { width: 100% !important; max-width: 100% !important; flex: 0 0 100% !important; }
}

/* Mobile: course boxes (Catalog + For Students) â trim the big side padding and ease the
   font so course names that fit stay on one line instead of wrapping. */
@media (max-width: 767px) {
	.page-id-2022 .elementor-element-bc185e0 > .e-con,
	.page-id-2245 .elementor-element-bc185e0 > .e-con {
		padding-left: 16px !important;
		padding-right: 16px !important;
	}
	.page-id-2022 .elementor-element-bc185e0 .elementor-heading-title,
	.page-id-2245 .elementor-element-bc185e0 .elementor-heading-title {
		font-size: 16px !important;
	}
}

/* Mobile: pull the Home hero red block up so it covers the bottom of the photo a bit. */
@media (max-width: 767px) {
	.page-id-850 .elementor-element-1cbffa3 { z-index: 5; }
	.page-id-850 .elementor-element-49aa9aa { position: relative; z-index: 5; margin-top: -34px !important; }
}
