/**
Theme Name: American Principal
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: american-principal
Template: astra
*/

html {
  overflow-x: hidden;
}

body.page-id-790 {
	background-image: none;
}

.elementor-divider-separator {
	width: 0 !important;
}

.flex-end-item {
	display: flex;
	align-items: flex-end;
}
.same-level-map > .elementor-widget-wrap  {
	flex-direction: column;
}
.same-level-map > .elementor-widget-wrap .flex-end-item {
	flex: 1;
}
.same-level-map .elementor-widget-container {
	width: 100%;
}
.single-post .custom-logo-link {
	display: none;
}
.single-post .sticky-custom-logo {
	display: block;
}
.single-post .mobile-menu-toggle-icon svg {
    fill: #be1e2d !important;	
}
.mobile-menu-toggle-icon svg {
	fill: #fff !important;
}

.wpforms-form .wpforms-field input[type="checkbox"] + label:before {
    background-color: transparent !important;	
}
#wpforms-confirmation-494 p {
	color: #fff !important;
}
#wpforms-864-field_5-question > * {
	color : #00335d;
}

.team-members-wrap {
	display: flex;
	flex-wrap: wrap;
	justify-content: center;
	align-items: flex-start;
	gap: 30px;
	padding: 40px 0;
}
.team-member-card {
	background: #ffffff;
	box-shadow: 0px 0px 15px #00000014;
	padding: 25px;
    flex-basis: calc(33% - 17px);
	flex-shrink: 0;
	box-sizing: border-box;
	text-align: center;
	transition: transform 0.3s ease, box-shadow 0.3s ease;
}
.team-member-card:hover {
    transform: translateY(-8px);
    box-shadow: 0px 8px 25px #00000030;
}
.team-member-card img {
	width: 100%;
	object-fit: cover;
	display: block;
	max-width: 330px;
	margin: 0 auto;
}
.team-member-card h3 {
	color: #004E8E;
	font-size: 25px;
	margin: 20px 0 8px;
}
.team-member-card .job-title {
	font-weight: 700;
	color: #000000;
	font-size: 17px;
	margin: 0;
	line-height: 1.3;
	margin-bottom: 20px;
	font-family: "Work Sans", sans-serif;
}
.team-member-card .content-preview {
	margin-bottom: 20px;
	min-height: 270px; /* NEW: keeps collapsed cards visually aligned; adjust to taste */
}
.team-member-card  .read-more-toggle {
	border: none;
}
.team-member-single {
	max-width: 1100px;
	padding: 0 40px;
}
.team-member-top {
	display: flex;
	column-gap: 60px;
	row-gap: 30px;
	align-items: flex-start;
	flex-wrap: wrap;
}
.team-member-top img {
	width: 100%;
	max-width: 330px;
	height: 430px;
	object-fit: cover;
	flex-shrink: 0;
}
.team-member-info {
	flex: 1;
}
.team-member-info h1 {
	color: #004E8E;
	font-size: 35px;
	margin: 0 0 8px;
}
.team-member-info .job-title {
	color: #000000;
	font-size: 19px;
	font-weight: bold;
	margin: 0 0 24px;
}
.team-member-info .bio {
	font-size: 15px;
	line-height: 1.8;
	color: #333333;
}
.team-member-beyond-wrap {
	width: 100vw;
	position: relative;
	left: 50%;
	right: 50%;
	margin-left: -50vw;
	margin-right: -50vw;
	background: #ffffff;
	margin-top: 80px;
	box-sizing: border-box;
	padding: 50px;
}
.team-member-beyond {
	max-width: 1100px;
	margin: 0 auto;
	text-align: center;
}
.team-member-beyond h2 {
	color: #004E8E;
	font-size: 32px;
	margin-bottom: 30px;
}
.team-member-beyond-images {
	display: flex;
	flex-wrap: wrap;
	justify-content: center;
	gap: 20px;
}
.team-member-beyond-images img {
	width: 580px;
	height: auto;
	display: block;
	object-fit: cover;
}

.content-body.is-clamped {
	display: -webkit-box;
	-webkit-line-clamp: 4;
	-webkit-box-orient: vertical;
	overflow: hidden;
}

.page-id-955 .elementor-location-footer,
.page-id-969 .elementor-location-footer {
    display: none !important;
}

header.elementor-865 {
	position: absolute;
	left: 0;
	right: 0;
}



@media (max-width: 1230px) {
	#ast-mobile-header {
		display: block;
	}
	#ast-desktop-header {
        display: none;
    }
	#masthead .ast-mobile-header-wrap .ast-primary-header-bar {
		padding-left: 20px;
		padding-right: 20px;
		border: 0;
	}
	.ast-main-header-nav-open.ast-hfb-header .ast-mobile-header-wrap .ast-mobile-header-content {
		display: block;
	}
	#ast-mobile-header .content-align-flex-start {
		max-height: 60vh;
		overflow: auto;
	}
	#masthead .main-navigation .stack-on-mobile li {
		width: 100%;
	}
	#masthead .main-navigation ul .menu-item .menu-link {
		padding: 0 20px;
		display: inline-block;
		overflow-y: hidden;
		width: 100%;
		border: 0;
		border-bottom-width: 1px;
		color: var(--ast-global-color-3);
		border-style: none;
	}
	#masthead .main-header-bar-navigation {
		line-height: 3;
	}
	.ast-builder-menu-mobile .main-navigation .main-header-menu {
		background-color: var(--ast-global-color-4);
		background-image: none;
	}
	.main-header-bar-navigation .menu-item-has-children > .ast-menu-toggle {
		display: inline-block;
		position: absolute;
		font-size: inherit;
		top: 0;
		right: 20px;
		cursor: pointer;
		-webkit-font-smoothing: antialiased;
		-moz-osx-font-smoothing: grayscale;
		padding: 0 .907em;
		font-weight: 400;
		line-height: inherit;
	}
	.ast-mobile-header-wrap .main-header-bar-navigation .menu-item-has-children > .ast-menu-toggle::before {
		font-weight: bold;
		content: "\e900";
		font-family: Astra;
		text-decoration: inherit;
		display: inline-block;
		color: #5f656c;
	}
	.dropdown-menu-toggle {
		display: none;
	}
	.main-navigation .main-header-menu .sub-menu {
        background-color: var(--ast-global-color-4);
        background-image: none;
    }
	.ast-nav-menu .sub-menu {
		line-height: 3;
	}
	.submenu-with-border .sub-menu {
		border: 0;
		background-color: var(--ast-global-color-4);
		position: static;
		opacity: 1;
		visibility: visible;
		border: 0;
		width: auto;
	}
	.main-navigation ul {
		list-style: none;
		margin: 0;
		padding-left: 0;
	}
	.main-navigation .main-header-menu .sub-menu .ast-mm-custom-content .elementor-top-section > .elementor-container {
		margin-left: 0;
	}
	.elementor-487 .elementor-element.elementor-element-0e75580 > .elementor-container {
		margin-left: 0;
	}
	.elementor-865 .elementor-element.elementor-element-eaf2dbd img {
		max-width: 300px;
	}
}

@media (max-width: 916px) {
	.team-member-card {
		flex-basis: 100%;
	}
	.team-member-top {
		flex-direction: column;
		align-items: center;
		text-align: center;
	}
}

@media (max-width: 767px) {
	.team-member-top img {
		max-width: 100%;
	}
}
/* === AP-MAINT-20260813-BATCH (Monday cards 12770197483/12770231842/12770252190/12771381765/12771428553/12771443443) === */

/* 12770197483: terms-wealth (page 851) - header is absolute+transparent with white links,
   invisible over the light page background. Give it the site navy. */
body.page-id-851 header.elementor-865 {
	background-color: #00335d;
	position: relative;
	z-index: 20; /* page content box was painting over the header's lower band */
}

/* 12770231842 + desktop dropdown: mega-menu template box oversized (699px wide,
   35px top/bottom padding) even for the single-link About dropdown. */
@media (min-width: 1025px) {
	.uael-nav-menu .sub-menu .elementor-section {
		padding: 15px 25px;
	}
	/* About > Who we are: shrink the white box to fit its one link */
	.elementor-repeater-item-fa2dadc .sub-menu,
	.elementor-repeater-item-fa2dadc .sub-menu .elementor-section,
	.elementor-repeater-item-fa2dadc .sub-menu .elementor-container {
		width: auto;
		min-width: 240px;
		max-width: 300px;
	}
}

/* 12770252190: WPForms SMS consent checkbox - the visible box is label:before
   with a "✔" glyph that renders black on the navy form background. Make it white. */
.wpforms-form .wpforms-field input[type="checkbox"]:checked + label:before {
	color: #ffffff !important;
}
.wpforms-form .wpforms-field input[type="checkbox"] + label:before {
	border-color: #ffffff !important;
}

/* 12771381765: 1025-1260px window (iPad landscape 1180) - boxed content width is
   1200px, so sections lose all side padding and text touches the screen edges. */
@media (min-width: 1025px) and (max-width: 1260px) {
	.elementor-section-boxed > .elementor-container {
		padding-left: 40px;
		padding-right: 40px;
	}
	/* header keeps its own layout - padding there wraps the CLIENT LOGIN button */
	.elementor-location-header .elementor-section-boxed > .elementor-container {
		padding-left: 0;
		padding-right: 0;
	}
}

/* Below 1200px the header container is full-bleed, so the logo sat flush against
   the left edge. Indent the logo column only - padding on the button column
   wraps CLIENT LOGIN onto two lines. */
@media (min-width: 1025px) and (max-width: 1199px) {
	.elementor-location-header .elementor-container > .elementor-column:first-child {
		padding-left: 24px;
	}
	/* around 1100px the header runs out of room and CLIENT LOGIN broke onto a
	   second line (pre-existing); keep both header buttons on one line */
	.elementor-location-header .elementor-button {
		white-space: nowrap;
	}
}

/* 12771428553 + 12771443443: tablet/mobile dropdown menu - panel and submenu
   template render wider than the viewport (expand arrows and toggle clipped),
   and the submenu template keeps desktop columns/paddings (huge white gaps). */
@media (max-width: 1024px) {
	.uael-nav-menu,
	.uael-nav-menu .sub-menu {
		width: 100% !important;
		max-width: 100% !important;
		box-sizing: border-box;
	}
	.uael-nav-menu .sub-menu .elementor-section {
		padding: 10px 20px !important;
	}
	.uael-nav-menu .sub-menu .elementor-section > .elementor-container {
		max-width: 100% !important;
		margin-left: 0;
	}
	.uael-nav-menu .sub-menu .elementor-column {
		width: 100% !important;
	}
	.uael-nav-menu .sub-menu .elementor-widget-heading,
	.uael-nav-menu .sub-menu .elementor-widget {
		margin-bottom: 0;
	}
}
/* === /AP-MAINT-20260813-BATCH === */

/* === AP-FOLLOWUP-20260814-HAMBURGER-ICON (Monday card 12771428553, Analyn re-report
   2026-08-14: hamburger still cut off on tablet portrait Homepage) ===
   Root cause: the earlier 08-13 fix constrained the mobile menu PANEL to the
   viewport width, but never touched the toggle icon itself. The icon graphic
   (.uael-nav-menu-icon, a Font Awesome glyph + padding, intrinsic width ~37px)
   is wider than its own clickable button (.uael-nav-menu__toggle, ~20px) and
   was left-aligned inside it with overflow:visible, so with the toggle sitting
   near the header's right edge the icon spilled past the screen edge - measured
   right edge 826.9px in an 820px-wide viewport (iPad Air portrait) and 776.5px
   in a 768px-wide viewport (classic iPad portrait), both clipped by 7-9px. */
@media (max-width: 1024px) {
	.uael-nav-menu__toggle {
		position: relative;
	}
	.uael-nav-menu-icon {
		position: absolute;
		top: 0;
		right: 0;
	}
}
/* === /AP-FOLLOWUP-20260814-HAMBURGER-ICON === */
