/* ===================================================================
 * Fellowship Adventures - 2026 Framework | RockMedia
 * =================================================================== 
 * TABLE OF CONTENTS
 * -------------------------------------------------------------------
 * 01. CSS VARIABLES & FONTS
 * 02. BASE & RESET STYLES
 * 03. TYPOGRAPHY
 * 04. LAYOUT & GRID
 * 05. HEADER & NAVIGATION
 * 06. FOOTER
 * 07. IMAGES & VIDEO
 * 08. LINKS & BUTTONS
 * 09. FORMS
 * 10. BRAND FORM INTERFACE CUSTOMIZATIONS
 * 11. COMPONENTS (Cards, Modals, Sliders, Quotes, Maps)
 * 12. MODERN TEAM & BIOGRAPHY DIRECTORY STYLES
 * 13. UTILITIES & HELPER CLASSES
 * 14. FRAMEWORK REFACTORED INLINE STYLES (NEW)
 * 15. PAGE-SPECIFIC STYLES
 * 16. WOW AUXILIARY PAGE STYLES
 * 17. PARTNERSHIP PAGES
 * 18. ANIMATIONS & SCROLL REVEALS
 * 19. STATS CROSS-GRID & NARRATIVE STYLES
 * 20. EDITORIAL GUEST FEEDBACK CARDS
 * 21. TRUSTED MINISTRIES RESOURCE CARDS
 * 22. HERO CAPTION & LOCATION BADGE STYLES
 * 23. RESPONSIVE STYLES (MEDIA QUERIES)
 * 24. FOCUS GRID & INTERACTIVE MOVEMENTS
 * =================================================================== */

/* ===================================================================
 * 01. CSS VARIABLES & FONTS
 * =================================================================== */
/****
* Google Font Package
** font-family: 'Cinzel', Trajan, serif; -- Headers
** font-family: 'Plus Jakarta Sans', sans-serif; -- Primary Body & Accent
** font-family: 'Cormorant Garamond', Georgia, serif; -- Editorial Quotes & Scripture
*****/

:root {
  --title_font: "Cinzel", Trajan, serif;
  --accent_font: "Plus Jakarta Sans", system-ui, sans-serif;
  --copy_font: "Plus Jakarta Sans", system-ui, sans-serif;
  --quote_font: "Cormorant Garamond", Georgia, serif;
  --text_color: #333;
  --body_bg_color: #fff;
  --color-gray-50: #fbf9fa;
  --color-gray-500: #6a7282;
  --color-gray-600: #4a5565;
  --color-gray-700: #364153;
  --color-black: #131313;
  --color-white: #ffffff;
  --color-white-alt: #fbf9fa;
  --color-fa-green: #1a4d4a;
  --color-fa-navy: #0b4d61;
  --color-fa-orange: #e65f2b;
  --color-fa-teal: #112e2b;
  --card-shadow: 0 10px 30px rgba(0,0,0,0.1);
  --card-shadow-hover: 0 20px 40px rgba(0,0,0,0.15);
}

/* ===================================================================
 * 02. BASE & RESET STYLES
 * =================================================================== */

body {
  display: flex; 
  flex-direction: column; 
  min-height: 100vh; 
  font-family: var(--copy_font);
  font-size: 18px;
  font-weight: var(--base-font-weight);
  line-height: var(--base-line-height);
  color: var(--text_color);
  margin: 0;
  position: relative; 
  background-color: var(--body_bg_color);
}

hr {
  clear: both;
}

hr.light {
  border-top: 10px solid #AAA;
  border-bottom: none;
}

/* ===================================================================
 * 03. TYPOGRAPHY
 * =================================================================== */
.title-font { font-family: var(--title_font) !important; }
.copy-font { font-family: var(--copy_font) !important; }
.quote-font { font-family: var(--quote_font) !important; }
.title-font_alt { font-family: var(--accent_font) !important; }

p {
  font-size: 1em;
  font-weight: 400;
  line-height: 1.45em;
  text-wrap: balance;
  text-wrap: pretty;
}

.sub-content h1 {
  margin-bottom: 10px;
  padding-bottom: 10px;
  border-bottom: 1px solid #757575;
  text-align: center;
}

.entry-content h1 {
  margin-bottom: 10px;
  padding-bottom: 10px;
  border-bottom: 1px solid #757575;
  text-align: left;
  color: var(--color-fa-green);
  font-weight: 200;
  font-size: 1.75em;
}

.entry-content {
  position: relative;
  padding-bottom: 20px;
  color: #333;
}

.page-template section .entry-content {padding: 20px; background: #f1f1f1;}

h1 {
  font-family: var(--title_font);
  font-weight: 700;
  letter-spacing: 0.12em;
  line-height: 1.2em;
  text-transform: uppercase;
  text-wrap: balance;
  font-size: calc(228.5%); 
}

h2 {
  font-family: var(--title_font);
  font-weight: 700;
  letter-spacing: 0.1em;
  line-height: 1.2em;
  text-transform: uppercase;
  text-wrap: balance;
  text-wrap: pretty;
}

h3 {
  font-family: var(--title_font);
  font-weight: 700;
  letter-spacing: 0.1em;
  line-height: 1.2em;
  text-transform: uppercase;
  text-wrap: balance;
  text-wrap: pretty;
}

h4 {
  font-family: var(--title_font);
  font-weight: 600;
  line-height: 1.2em;
  letter-spacing: 0.1em;
  text-transform: uppercase;
}

h5 {
  font-family: var(--copy_font);
  line-height: 1.2em;
  font-weight: 400;
  letter-spacing: 0px;
}

h6 {
  font-family: var(--copy_font);
  font-size: 14px;
  font-weight: 300;
}

.singular .page-header .entry-title, .page-header .entry-title, .inner-page .page-header-image .entry-title { padding: 0; margin: 20px auto; }
.focus-title { font-size: calc(228.5%) !important; text-transform: uppercase !important; font-weight: 800 !important; letter-spacing: 4px !important; }
.fineprint { font-size: 11px; color: #999; text-transform: lowercase; }

p.focus {
  font-size: 28px;
  letter-spacing: 2px;
  word-spacing: 2px;
}

.copy h3 i {
  font-size: 0.5em;
  font-variant: super;
  margin: 0px 5px;
  color: rgb(221, 221, 221);
}

h1 span.border {
  position: relative;
  bottom: 0px;
  width: 20%;
  height: 3px;
  margin: 20px auto 10px;
  background: #757575 none repeat scroll 0% 0%;
  display: block;
}

.jumbotron { background: var(--color-white); font-size: 1.75em; line-height: 1.1em;}

h1.tagline {
  width: 60%;
  margin: 0px auto;
  text-transform: uppercase;
  color: rgb(62, 61, 64);
  letter-spacing: 1px;
  font-weight: 300;
}

.smallcaps {font-size: 14px; text-transform: full-width; }

h1.inpage.strong{ letter-spacing: 5px; position: relative; padding: 0; margin: 0;}
h1.inpage.strong::before {
  display: block;
  position: absolute;
  content: '';
  width: 20%;
  top: 1.1em;
  left: 40%;
  right: 40%;
  color: var(--color-fa-green);
  border: 2px solid;
}
h1.inpage.strong .smallcaps {
  display: flex;
  margin-top: .75em;
  justify-content: center;
}

blockquote {
  position: relative;
  margin-bottom: 2em;
  padding: 20px;
  background-color: var(--color-white);
  border: none;
  border-radius: 3px;
  box-shadow: 0px 0px 0px 1px rgba(0,0,0,0.02),0px 2px 4px rgba(0,0,0,0.08);
  border-color: #e3e6e8;
}
blockquote p {
  font-family: var(--quote_font) !important;
  font-style: italic !important;
  font-size: 1.25rem;
  line-height: 1.6;
}
blockquote:after {
  margin-left: 1.5em;
  display: block;
  position: absolute;
  top: 100%;
  left: 0;
  width: 0;
  height: 0;
  border-style: solid;
  border-width: 32px 32px 0 0;
  border-color: var(--color-white) transparent transparent;
  -webkit-transform:rotate(360deg);
  transform:rotate(360deg);
}
blockquote .quote-section { 
  font-family: var(--quote_font) !important;
  font-style: italic !important;
  color: var(--color-fa-green); 
  font-size: 1.5em; 
  font-weight: 500;
  letter-spacing: 1px;
  padding: 20px 40px;
}
blockquote .quote-section:first-letter { font-size: 3em; font-weight: 400; float: left;}
blockquote .quote-section:first-line {line-height: 100%;}

ol.fancy { list-style: none; white-space: nowrap; counter-reset: li; padding: 0;}
.fancy li { margin-bottom: 10px;}
ol.fancy li:before {
  counter-increment: li;
  content: counter(li);
  color: var(--color-white);
  background-color: var(--color-fa-green);
  -webkit-border-radius: 50%;
  -moz-border-radius: 50%;
  border-radius: 50%;
  display: inline-block;
  text-align: center;
  margin-right: 5px;
  padding: 5px 10px;
}

.tagline {
  margin: 30px 0 60px;
  font-weight: 500;
  font-size: 65px;
  font-weight: 700;
  max-width: 710px;
  color: var(--color-fa-green);
}
.tagline.mt-hero {margin-top: -275px;}

h3.section-title {font-size: 20px; text-transform: uppercase; color: #333; font-weight: 700;}

ul.focused {padding: 10px 0px; list-style: none;}
ul.focused li:nth-child(odd) {background: var(--color-white); padding: 10px; color: var(--color-fa-green);}
ul.focused li:nth-child(even){background: #666; padding: 10px; color: var(--color-white);}

ul.fancy {
  text-align: left;
  list-style: none;      
  margin-left: 3%;       
  padding-left: 1.2em;   
  text-indent: -1.2em;   
}
ul.fancy li:before {               
  content: "\2714";      
  margin-right: .5em;     
}
ul.fancy li { padding: .2em; }
ul.fancy-list {
  text-align: left;
  list-style: none;
  padding: 0;
  font-size: .9em;
}
ul.fancy-list li {padding-left: 20px;}
ul.fancy-list li i {margin-left: -20px; margin-right: 7.5px;}
ul.small li {margin-bottom: 2.5px !important;}
.oo-bullets ul.fancy li::before {color: var(--color-fa-orange);}

/* ===================================================================
 * 04. LAYOUT & GRID
 * =================================================================== */
#main { 
  flex-grow: 1; 
  width: 100%;
}
.page-heading {
  padding: 20px 0 45px 0;
  clear: both;
  background: #f4f5f7;
}

.inner-content {
  clear: both;
  width: 100%;
  margin: 10px auto;
}

.inner-page-content .inner {
  margin: 10px auto;
}

.rm-table { display: table; width: 100%;}
.rm-table .rm-table-row { display: table-row; }
.rm-table .rm-table-row [class*="col-md-"] { float: none; display: table-cell; vertical-align: middle; }
.footer-wrap .rm-table .rm-table-row [class*="col-md-"] { vertical-align: top; }

.inner-page-content section, .inner-page-content .main-content, .inner-page-content .lower-content, .sidebar-main .block {padding: 50px 0; position: relative;}
.inner-page-content .rm-content-block section, .rm-content-block section {padding: 0; background: none;}
.inner-page-content.single-trip-flyer section {padding: 25px 0;}

/* ===================================================================
 * 05. HEADER & NAVIGATION
 * =================================================================== */
.page-content.has_hero header.primary-header .standard .navbar, .home .standard .navbar {
  background: none;
  -moz-box-shadow: none;
  -webkit-box-shadow: none;
  box-shadow: none;
}
header.primary-header .standard .navbar .nav > li > a {color: var(--color-white); }
header.primary-header .standard .navbar .nav > li > a:hover {color: var(--color-fa-orange); }
header.primary-header .standard .navbar .nav > li.alt-menu-item > a { color: var(--color-fa-orange); }
header.primary-header .standard .navbar .nav > li.alt-menu-item > a:hover { color: var(--color-white); }
.page-content.normal header.primary-header .standard .navbar .nav > li > a {color: var(--color-gray-700); }
header.primary-header .standard .navbar .nav > li > a:hover {border-color: var(--color-fa-orange); }
.page-content.has_hero header.primary-header .standard .navbar .nav > li.menu_donate-btn > a {background-color: var(--color-white) !important; color: var(--color-fa-orange) !important; font-weight: 600;}
.page-content.has_hero header.primary-header .standard .navbar .nav > li.menu_donate-btn > a:hover {background-color: var(--color-fa-orange) !important; color: var(--color-white) !important;}
header.primary-header .standard .navbar .nav > li.current-menu-item > a {border-bottom: 3px solid var(--color-fa-orange);}
.page-content.normal header.primary-header .standard .navbar .navbar-brand img.home-alt,
header.primary-header .standard .navbar .navbar-brand img.home-standard {display: none;}

.page-content.normal header.primary-header .standard .navbar .navbar-brand img.home-standard,
header.primary-header .standard .navbar .navbar-brand img.home-alt {display: flex;}

.page-content.normal header.primary-header .shrink .navbar .navbar-brand img.home-standard,
header.primary-header .shrink .navbar .navbar-brand img.home-standard {display: flex;}

.page-content.normal header.primary-header .shrink .navbar .navbar-brand img.home-alt,
header.primary-header .shrink .navbar .navbar-brand img.home-alt {display: none;}

.sticky-header.shrink {
  -moz-box-shadow: rgba(0, 0, 0, 0.4) 0px 2px 3px;
  -webkit-box-shadow: rgba(0, 0, 0, 0.4) 0px 2px 3px;
  box-shadow: rgba(0, 0, 0, 0.4) 0px 2px 3px;
}

.sticky-header {
  position: fixed;
  left: 0;
  right: 0;
  width: 100%;
  top: 0;
  z-index: 1030;
  height: auto;
}

.home-page .sticky-header.shrink {
  -moz-box-shadow: rgba(0, 0, 0, 0.4) 0px 2px 3px;
  -webkit-box-shadow: rgba(0, 0, 0, 0.4) 0px 2px 3px;
  box-shadow: rgba(0, 0, 0, 0.4) 0px 2px 3px;
}
	
.top-menu { clear: both; padding: 10px; height: 170px !important; background-color: var(--color-white);}
.inner-page .sticky-header, .home-page .sticky-header.shrink {background-color: var(--color-white);}
header .navbar .navbar-brand img {max-width: 225px; width: 225px;}
header .navbar {
  padding: 10px 0;
  background-color: var(--color-white);
  -moz-box-shadow: rgba(0, 0, 0, 0.4) 0px 2px 3px;
  -webkit-box-shadow: rgba(0, 0, 0, 0.4) 0px 2px 3px;
  box-shadow: rgba(0, 0, 0, 0.4) 0px 2px 3px;
}

.nav-menu { clear: both;}

.nav-menu .navbar-collapse {
  padding: 0;
  width: 100%;
}

.site-name h1 {
  color: var(--color-fa-green);
  margin: 0;
  padding: 0;
  font-size: 2.5em;
}

.sitelogo .home-shrink, .shrink .sitelogo .home {display: none;}
.top-menu .sitelogo img {
  background-color: var(--color-white);
  border-radius: 50%;
  -webkit-transition: all .5s ease-in-out;
  -moz-transition: all .5s ease-in-out;
  -o-transition: all .5s ease-in-out;
  -ms-transition: all .5s ease-in-out;
  transition: all .5s ease-in-out;
}
.shrink .sitelogo .home-shrink { 
  max-width: 60%; 
  display: block;
  -webkit-transition: all .5s ease-in-out;
  -moz-transition: all .5s ease-in-out;
  -o-transition: all .5s ease-in-out;
  -ms-transition: all .5s ease-in-out;
  transition: all .5s ease-in-out;
}
.top-menu {
  height: initial;
  -webkit-transition: all ease-in-out;
  -moz-transition: all ease-in-out;
  -o-transition: all ease-in-out;
  -ms-transition: all ease-in-out;
  transition: all ease-in-out;
}

.shrink .top-menu {
  background-color: var(--color-white);
  -webkit-transition: all .85s ease-in-out;
  -moz-transition: all .85s ease-in-out;
  -o-transition: all .85s ease-in-out;
  -ms-transition: all .85s ease-in-out;
  transition: all .85s ease-in-out;
}

hgroup.standard .navbar-brand img {
  -webkit-transition: all .85s ease-in-out;
  -moz-transition: all .85s ease-in-out;
  -o-transition: all .85s ease-in-out;
  -ms-transition: all .85s ease-in-out;
  transition: all .85s ease-in-out;
}
hgroup .navbar-brand img {
  -webkit-transition: all .85s ease-in-out;
  -moz-transition: all .85s ease-in-out;
  -o-transition: all .85s ease-in-out;
  -ms-transition: all .85s ease-in-out;
  transition: all .85s ease-in-out;
}
.navbar-brand img:hover {
  filter: grayscale(1) brightness(1);
  -webkit-transition: all .85s ease-in-out;
  -moz-transition: all .85s ease-in-out;
  -o-transition: all .85s ease-in-out;
  -ms-transition: all .85s ease-in-out;
  transition: all .85s ease-in-out;
}

.top-menu a.sitelogo:hover img { 
  background-color: rgba(255,255,255,.65);
  -webkit-transition: all .85s ease-in-out;
  -moz-transition: all .85s ease-in-out;
  -o-transition: all .85s ease-in-out;
  -ms-transition: all .85s ease-in-out;
  transition: all .85s ease-in-out;
}

.site-logo h1 {
  font-size: 14px;
  color: var(--color-white);
  text-align: center;
  text-transform: uppercase;
  padding: 0;
  margin: 0 auto;
  letter-spacing: 1px;
}

.navbar {
  background: none;
  border: none;
  min-height: initial;
  margin-bottom: 0;
  padding: 0;
}

.navbar .nav {
  text-transform: uppercase;
  letter-spacing: 1px;
  z-index: 99;
  margin: 0;
}

.in .navbar .nav > li > a {
  border: none;
}

.navbar .nav > .active > a,
.navbar .nav > .active > a:hover,
.navbar .nav > .active > a:focus,
.navbar .nav > .current-category-ancestor > a,
.navbar .nav > .current-post-parent > a {
  text-decoration: none;
  -webkit-box-shadow: none;
  -moz-box-shadow: none;
  box-shadow: none;
  filter: alpha(opacity=100);
  filter: progid: DXImageTransform.Microsoft.Alpha(opacity=100);
  -moz-opacity: 1;
  opacity: 1;
}
.navbar .nav > li {vertical-align: middle;}
.navbar .nav > li > a {
  font-family: var(--copy_font);
  display: flex;
  align-items: center;
  justify-content: center;
  color: #2a2e30;
  text-shadow: none;
  font-size: 14px;
  margin: 5px 15px;
  font-weight: 500;
  text-transform: uppercase;
  border-bottom: 3px solid transparent;
}
.navbar .nav > li:first-child > a {margin-left: 0;}
.navbar .nav > li:last-child > a {margin-right: 0;}

.navbar .nav > li.home-logo > a {
  border: none;
}

.page-content.normal .page.site-main {padding-top: 120px;}

.shrink .navbar .nav > li > a {color: #555;}
.inner-page .sticky-header .navbar .nav > li.boxed > a, .shrink .navbar .nav > li.boxed > a {border: 1px solid #888;}

.navbar .nav li.lead-gen a {
  padding: 10px;
  margin-top: -6px;
  background: var(--color-white);
  color: var(--color-fa-green);
}
.navbar .nav li.lead-gen a:hover { text-decoration: none; color: var(--color-white); background: var(--color-fa-green);}
.shrink .navbar .nav li.lead-gen a {background: var(--color-fa-green); color: var(--color-white);}
.shrink .navbar .nav li.lead-gen a:hover {background: var(--white); color: var(--color-fa-green);}

.navbar .nav > li > a:hover,
.navbar .nav > li.active > a:hover,
.blog-nav .nav li a:hover {
  border-bottom: 3px solid var(--color-fa-green);
  background: none;
}
.nav > li.boxed > a {border: 1px solid #eee;}

.navbar .dropdown-menu {background-color: var(--color-white); width: 170%; padding: 10px;}
.navbar .dropdown-menu > li {margin: 10px auto; font-size: .9em; text-align: left;}
.navbar .dropdown-menu > li > a {color: #555;}
.navbar .dropdown-menu > .active > a, .navbar .dropdown-menu > .active > a:hover, .navbar .dropdown-menu > .active > a:focus { background-color: transparent;}
.navbar .dropdown-menu > li > a:hover { color: var(--color-fa-green);}
.nav .open > a {background-color: transparent;}

.menu-item .sub-menu {
  display: none;
}

.menu-item.open .sub-menu {
  display: block;
}

.navigation.pagination .nav-links .page-numbers {
  width: 30px;
  height: 30px;
  display: inline-block;
  background-color: #328cc1;
  color: var(--color-white);
  text-align: center;
  border-radius: 50%;
  padding-top: 3px;
  margin-right: 5px;
}
.navigation.pagination .nav-links .page-numbers a {color: var(--color-white);}
.navigation.pagination .nav-links .page-numbers.next, .navigation.pagination .nav-links .page-numbers.prev {display: none;}

.navigation.pagination {justify-content: center;}

.sticky-header .nav-menu .mobile {display: none;}
.sticky-header.shrink .nav-menu .mobile {display: table-cell;}

.bizplan-nav { padding: 0px 10px; border: 1px solid rgb(51, 130, 221); display: none !important;}
.bizplan-nav.stuck {
  position: fixed;
  -webkit-transition: all 275ms;
  -moz-transition: all 275ms;
  -o-transition: all 275ms;
  transition: all 275ms;
}
.bizplan-nav li {position: relative; padding: 5px; margin: 0 auto !important; clear: both; width: 100%;}
.bizplan-nav li.active {background-color: #f6f8f9;}
.bizplan-nav ul {list-style: none; padding: 0; width: 100%;}
.bizplan-nav .navbar .nav .more-indicator {
  font-size: 1em;
  text-align: left;
  position: relative;
  text-shadow: none;
  bottom: initial;
  color: var(--color-fa-green);
  text-transform: uppercase;
  padding: 0;
  letter-spacing: 0px;
  margin: 0 auto;
}
.bizplan-nav .navbar .nav .more-indicator:hover, .bizplan-nav .navbar .nav .more-indicator:focus {border: none; background: none;}

.inner-pg-nav {background: var(--color-white); padding: 10px !important;}
.inner-pg-nav .nav {margin-top: 20px;}
.inner-pg-nav .nav li {margin: 0 5px;}
.inner-pg-nav .nav li a {background-color: var(--color-fa-green); color: var(--color-white); }
.inner-pg-nav .nav li a:hover {background-color: #f4f4f4; color: var(--color-fa-green); }
.inner-pg-nav .nav li.active a {background: #dce5eb; color: var(--color-fa-green); }
.inner-pg-nav .nav .nav-item a {padding: 5px 0; margin: 0 auto; font-size: .9em; font-weight: 400;}

.sitelogo img.home-mobile {
  display: none;
  border-radius: 0;
  -webkit-border-radius: 0;
  -moz-border-radius: 0;
}

.mobile-cta {
  display: none;
  background: var(--color-fa-green);
  color: var(--color-white);
}
.mobile-cta p {color: var(--color-white); font-size: .9em;}
.mobile-cta h1.opening {display: none;}

button.navbar-toggler {background-color: var(--color-white);}
.top-menu .navbar-header {display: flex; margin-left: auto; justify-content: space-between; margin-top: -55px;}
body.mobile .top-menu .nav {display: inline-block;}
.navbar-toggler > i {
  -webkit-transition: all ease-in-out;
  -moz-transition: all ease-in-out;
  -o-transition: all ease-in-out;
  -ms-transition: all ease-in-out;
  transition: all ease-in-out;
}
.navbar-toggler.collapsed i.menu-close {display: none;}
.navbar-toggler.collapsed i.menu-open {display: block;}
.navbar-toggler i.menu-open {display: none;}
.navbar-toggler i.menu-close {display: block;}

/* ===================================================================
 * 06. FOOTER
 * =================================================================== */
#SiteFooter {
  clear: both; 
  width: 100%;
  color: var(--color-white-alt);
  background-color: var(--color-fa-green);
}

.footer ul,
.footer li {
  list-style: none;
  margin-left: 0;
}

.footer a { color: #f1f1f1; }
.footer li.title { 	font-weight: 700; }
.footer .sub-menu { margin-top: 10px; }
.footer .sub-menu a {
  font-size: .9em;
  font-weight: 300;
  color: #f1f1f1;
  text-transform: none;
  padding: 2.5px 0px;
}
.footer li a {
  color: var(--color-white);
  font-weight: 700;
  text-transform: uppercase;
  padding: 10px 0px;
}

.copyright {
  padding-top: 7.5px;
  text-align: left;
  font-size: .9em;
  font-weight: 200;
}
.copyright p {font-size: 1em;}

.footer-wrap .footer-menus, .footer-wrap .footer-connect {text-align: left;}
.footer-wrap .footer-connect {padding: 10px 0;}
.footer-wrap .footer-connect .rm-table {border-top: 1px solid #aaa; border-bottom: 1px solid #aaa; padding: 10px 0;}
.footer-wrap .footer-connect .social-assets {text-align: right; margin: 6px auto -6px auto;}

.footer-menu .menu-item .sub-menu {
  display: block;
}

.footer-wrap .border-left {border-left: 1px solid #eeeeee;}
.footer-wrap { padding: 25px 0 !important; font-size: .85em;}
.footer-wrap .left { text-align: left; }
.footer-wrap .right { text-align: right; }
.footer-wrap p {margin-bottom: 0;}
.footer-wrap a { color: var(--color-white) !important; text-decoration: none;}
.footer-wrap a:hover { text-decoration: underline; color: var(--color-fa-orange); }
.footer-wrap h3 {font-weight: 200; color: var(--color-white-alt);}
.page-bottom h3, .page-bottom h1.widget-title {
  font-size: 24px;
  text-align: center;
  color: #191919;
  padding-bottom: 10px;
  margin-bottom: 10px;
}
.footer-wrap .footer-logo img {max-width: 200px;}

.page-bottom .col-md-4:first-child,
.page-bottom .col-md-4:first-child h3 {
  text-align: left;
}

.page-bottom .col-md-4:last-child,
.page-bottom .col-md-4:last-child h3,
.page-bottom .col-md-4:last-child h1 {
  text-align: right;
}

.footer-menu {
  list-style: none;
  padding: 0;
}

.footer-menu .sub-menu {
  list-style: none;
  padding-left: 10px;
  text-transform: lowercase;
}

.footer-wrap .gform_wrapper .gform_body input {width: 100% !important;}
.footer-wrap .social {float: none; display: inline-block;}

.footer-menus h3 {
  font-size: 1.2em;
  text-transform: uppercase;
  font-weight: 500;
  color: var(--color-white);
}
.footer-menus #menu-footer-nav {
  list-style: none;
  margin-left: 0;
  padding-left: 0;
  font-size: .9em;
}
.footer-menus #menu-footer-nav li, .inner-page .footer-menus ul li {margin-bottom: 0;}

.footer .menu-item .sub-menu {
  display: block;
}

.footer-wrap .circle {
  font-size: 15px;
  line-height: 33px;
  width: 30px;
  height: 30px;
  background: #ed2836;
  margin-right: 5px;
  margin-top: 5px;
  float: left;
  left: 0;
}

.footer-wrap h4 {
  padding-top: 10px;
  text-align: center;
}

.footer-wrap .footer-endorsements img {width: 60px; max-width: 60px;}
.footer-wrap .footer-endorsements {margin-bottom: 10px;}

/* ===================================================================
 * 07. IMAGES & VIDEO
 * =================================================================== */
img {max-width: 100%;}
img.noresize, form img { width: auto !important; }
img.noresize { margin: 0 5px; }

img.round, .team-headshot img {
  -moz-box-shadow: 6px 6px 25px 0px var(--color-fa-green);
  -webkit-box-shadow: 6px 6px 25px 0px var(--color-fa-green);
  box-shadow: 6px 6px 25px 0px var(--color-fa-green);
  -webkit-border-radius: 50%;
  -moz-border-radius: 50%;
  border-radius: 50%;
}
.sub-content img {
  -moz-box-shadow: 6px 6px 25px 0px var(--color-fa-green);
  -webkit-box-shadow: 6px 6px 25px 0px var(--color-fa-green);
  box-shadow: 6px 6px 25px 0px var(--color-fa-green);
}

img.size-full, img.size-large {
  max-width: 100%;
  height: initial;
}

.featured-img img {width: 100% !important;}
.comment-meta img {width: auto !important;}

.video-wrapper, .media-content {
  position: relative;
  padding-bottom: 56.25%;
  height: 0;
  overflow: hidden;
}
.video-wrapper iframe{
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  border: none;
}

img.client-logo {width: 200px !important;}
.content-wrapper .inner-page-content .product-screenshot img {width: 100%;}
img.full-width {width: 100% !important;}
.feedflare img { width: auto; max-width: initial;}

.cover-image img {
  object-fit: cover;
  width: 100%;
  height: 100%;
}

.video-hero {
  position: relative;
  overflow: hidden;
}
.video-bg {
  position: absolute;
  top: 0;
  left: 0;
  right: 0;
  bottom: 0;
  display: block;
  background-position: center center;
  background-repeat: no-repeat;
  -webkit-background-size: cover;
  -moz-background-size: cover;
  background-size: cover;
}
.video-bg video {
  position: absolute;
  min-width: 100%;
  min-height: 100%;
  width: auto;
  height: auto;
  top: 50%;
  left: 50%;
  -webkit-transform: translate(-50%,-50%);
  -moz-transform: translate(-50%,-50%);
  transform: translate(-50%,-50%);
}

.video-bg--fullscreen {
  position: fixed;
}
.video-overlay {
  position: absolute;
  top: 0;
  left: 0;
  bottom: 0;
  right: 0;
  pointer-events: none; 
  background: rgba(0,0,0,0.5); 
}

.video-bg.demo-video {
  background-image: url(files/busy-new-york-intersection.jpg);
}

.js .video-bg video {
  opacity: 0;
  -webkit-transition: opacity .8s linear;
  -moz-transition: opacity .8s linear;
  transition: opacity .8s linear;
}
.js .video-bg video.is-playing {
  opacity: 1;
}

.featured-img .image-heading {bottom: -5%;}

.inner-page .featured-img .image-heading p {
  width: 50%;
}

.featured-img .image-heading h1, .hero-image h1, .hero-image h2, .featured-img .image-heading h2 {
  font-size: 3em;
  text-transform: uppercase;
}

/* ===================================================================
 * 08. LINKS & BUTTONS
 * =================================================================== */
a {
  color: var(--color-fa-green);
  text-decoration: none;
  outline: none !important;
}

a:hover,
a:focus,
a:active {
  color: var(--color-fa-orange);
  text-decoration: none;
  outline: none !important;
}

article .entry-title,
article .entry-title a,
.entry-title,
.entry-title a {
  color: var(--color-fa-orange);
  text-decoration: none;
  text-align: center;
  margin-top: 25px;
}

.entry-title a:hover,
.entry-title a:focus,
.entry-title a:active {
  text-decoration: none;
  color: var(--color-fa-green);
}

a.get-more {
  clear: both;
  display: inline-block;
  margin: 10px auto;
  text-align: left;
  color: var(--color-fa-green);
  font-weight: 600;
}

.inner-page .inner-page-content .btn-custom {color: var(--color-white);}

.btn {
  padding: 14px 30px;
  font-size: 1.1rem;
  line-height: 1.5rem;
  font-weight: 600;
  text-transform: uppercase;
  letter-spacing: 1px;
  border: none;
  border-radius: 2px;
  text-align: center;
  text-decoration: none;
}

.btn:hover {
  background-color: transparent; 
  font-weight: 700;
}

.btn-oo {background-color: var(--color-fa-orange); color: var(--color-white); }
.btn-oo:hover { background-color: var(--color-fa-green); color: var(--color-white);}
.btn-oo-alt {background-color: var(--color-fa-green); color: var(--color-white) !important;}
.btn-oo-alt:hover { background-color: var(--color-fa-orange); color: var(--color-white) !important;}

.btn-custom.btn:focus-visible, .btn-custom {
  background-color: var(--color-fa-green);
  background-image: none;
  filter: none;
  border-color: var(--color-fa-green) !important;
  color: var(--color-white);
  text-shadow: none;
  text-transform: uppercase;
}

.btn-custom:hover,
.btn-custom:active,
.btn-custom.active,
.btn-custom.disabled,
.btn-custom[disabled] {
  background-image: none;
  color: var(--color-fa-green) !important;
  background-color: #f1f1f1;
  opacity: .7;
  -webkit-transition: opacity .25s ease-in-out;
  -moz-transition: opacity .25s ease-in-out;
  -o-transition: opacity .25s ease-in-out;
  -ms-transition: opacity .25s ease-in-out;
  transition: opacity .25s ease-in-out;
}
.btn-custom.alt {
  background-color: var(--color-fa-orange);
  border-color: var(--color-fa-orange) !important;
}
.btn-custom.alt:hover {
  color: #fff !important;
  background-color: var(--color-fa-orange) !important;
  opacity: 1 !important; 
  filter: none !important;
}

.btn-secondary {
  --bs-btn-color: #fff;
  --bs-btn-bg: transparent;
  font-weight: 500;
  border-bottom: 2px solid rgba(255, 255, 255, 0.5);
  padding: 14px 0px 0px;
  margin: 0px 8px;
  border-radius: 0;
}
.btn-secondary:hover {
  --bs-btn-color: #fff;
  background-color: rgba(255, 255, 255, 0);
  border-bottom: 2px solid rgba(255, 255, 255, 1);
}

.btn-secondary-hero {
  display: inline-block;
  color: var(--color-white);
  font-size: 0.95rem;
  font-weight: 500;
  text-decoration: none;
  border-bottom: 2px solid rgba(255, 255, 255, 0.5);
  padding: 8px 4px;
  transition: border-color 0.25s;
}

/* Secondary Outline Button Scoped for Heros */
.hero-block .btn-secondary, 
.home-page-slider .btn-secondary, 
.hero-image .btn-secondary {
  --bs-btn-color: #fff;
  --bs-btn-bg: transparent;
  --bs-btn-border-color: transparent;
  font-weight: 500;
  border-bottom: 2px solid rgba(255, 255, 255, 0.5);
  padding: 14px 0px 0px;
  margin: 0px 8px;
  border-radius: 0;
}
.hero-block .btn-secondary:hover, 
.home-page-slider .btn-secondary:hover, 
.hero-image .btn-secondary:hover {
  --bs-btn-color: #fff;
  background-color: transparent;
  border-bottom: 2px solid rgba(255, 255, 255, 1);
}

.clear-btn, .btn-clear {
  color: #2a2e30;
  border: 1px solid #373737;
  text-transform: uppercase;
}
.clear-btn:hover, .btn-clear:hover {
  background-color: var(--color-fa-green);
  color: var(--color-white);
  -webkit-transition: all .25s ease-in-out;
  -moz-transition: all .25s ease-in-out;
  -o-transition: all .25s ease-in-out;
  -ms-transition: all .25s ease-in-out;
  transition: all .25s ease-in-out;
}
.btn-white {
  background-color: var(--color-white) !important;
  border: 1px solid var(--color-white) !important;
  color: var(--color-fa-green) !important;
}
.btn-white:hover {
  background-color: var(--color-fa-green) !important;
  color: var(--color-white) !important;
}

.btn-cta {
  padding: 15px 45px !important;
  color: var(--color-white);
  margin: 10px auto;
  font-size: 22px !important;
  margin-top: 25px;
  background-color: var(--color-fa-green);
}

.btn-cta:hover {
  background-color: #f4f5f7;
  color: var(--color-fa-green);
  -webkit-transition: all 275ms;
  -moz-transition: all 275ms;
  -o-transition: all 275ms;
  transition: all 275ms;
}
.btn-cta.light {background-color: #f4f5f7; color: var(--color-fa-green);}
.btn-cta.light:hover {
  background-color: var(--color-fa-green);
  color: #f4f5f7;
  -webkit-transition: all 275ms;
  -moz-transition: all 275ms;
  -o-transition: all 275ms;
  transition: all 275ms;
  border: 1px solid #f4f5f7;
}

.site-scroll-top { 
  background-color: var(--color-fa-orange);
  color: var(--color-white-alt);
  -webkit-transition: all 275ms;
  -moz-transition: all 275ms;
  -o-transition: all 275ms;
  transition: all 275ms;
  z-index: 999;
  position: fixed;
  display: none;
  border-radius: 4px;
  height: 45px;
  line-height: 45px;
  width: 45px;
  text-align: center;
  bottom: 30px;
  right: 30px;
  font-size: 18px;
}
.site-scroll-top:hover { 
  background-color: var(--color-fa-green);
  color: var(--color-white); 
  -webkit-transition: all 275ms;
  -moz-transition: all 275ms;
  -o-transition: all 275ms;
  transition: all 275ms;
}

.read-more-btn {
  clear: both;
  float: left;
  font-size: 2em;
  margin: 20px auto;
}

.odd .read-more-btn { color: #a0371f; }

.even .read-more-btn {
  float: right;
  color: #f4f5f7;
}

.menu_donate-btn a {
  background-color: var(--color-fa-orange);
  color: var(--color-white) !important;
  display: inline-block !important;
  padding: 10px 20px !important;
  margin: 0px !important;
}
.menu_donate-btn a:hover {
  text-decoration: none !important;
  border-color: transparent !important;
  background-color: #49d1f5 !important;
}

/* ===================================================================
 * 09. FORMS
 * =================================================================== */
.bigdesc .frm_description {
  font-size: 1em;
  margin-top: 5px;
}

.action-caption .gform_footer {
  width: 190px;
}

input:-moz-placeholder,
textarea:-moz-placeholder {
  color: var(--color-fa-green);
  font-family: var(--copy_font);
  font-size: .9em;
}

input:-ms-input-placeholder,
textarea:-ms-input-placeholder {
  color: var(--color-fa-green);
  font-family: var(--copy_font);
  font-size: .9em;
}

input::-webkit-input-placeholder,
textarea::-webkit-input-placeholder {
  color: var(--color-fa-green);
  font-family: var(--copy_font);
  font-size: .9em;
}

textarea,
input[type="text"],
input[type="password"],
input[type="datetime"],
input[type="datetime-local"],
input[type="date"],
input[type="month"],
input[type="time"],
input[type="week"],
input[type="number"],
input[type="email"],
input[type="url"],
input[type="search"],
input[type="tel"],
input[type="color"],
.uneditable-input,
select {
  width: 100%;
  padding: 4px;
  font-family: var(--copy_font);
}

.gform_legacy_markup .gfield {display: inline-block; margin: 5px 0;}

.form-footer {
  clear: both;
  margin-top: 25px;
  float: left;
  text-align: center;
  width: 100%;
}

#frm_field_143_container .frm_primary_label {display: none !important;}
.frm_repeat_buttons {clear: both; width: 100%; margin: 15px;}
.frm_repeat_buttons a {margin-right: 10px;}
.form-field.sub-section h3 {
  text-align: center;
  clear: both;
  display: inline-block;
  width: 100%;
  color: #191919;
  font-size: 20px;
}

.planner h3 {
  text-transform: uppercase;
  font-weight: 200;
  font-size: 1.25em;
  letter-spacing: 5px;
  text-align: center;
}

.planner .gform_body > ul {
  text-align: center;
}

.planner .gform_body > ul > li.gfield {
  float: none;
  display: inline-block;
}

.planner .gform_body {
  text-align: center;
}

form.planner {
  width: initial;
  margin: 10px auto;
}

.planner .gfield_label {
  display: none;
}

#gform_wrapper_3 {
  position: relative;
  left: 0;
  display: block;
  float: left;
}

article #gform_wrapper_3 {
  left: 50%;
}

.planner .gform_body li.gfield,
.planner .gform_body .nav-center ul.nav-center-right li {
  float: left;
}

.planner .gform_footer {
  text-align: center;
}

.planner .gform_footer input[type="submit"] {
  padding: 10px 20px;
  margin: 20px auto;
}

.planner .gfield_radio li {
  display: inline-block;
}

.planner textarea,
.planner input[type="text"],
.planner input[type="email"],
.planner input[type="tel"],
.planner select {
  padding: 7.5px;
  margin: 0 5px;
}

.planner textarea {
  width: 400px;
  margin: 0 auto;
}

.planner select {
  height: 40px;
  margin-top: 5px;
}

.planner .gfield_radio label {
  float: none;
  background-color: #d1d1d1;
  -webkit-transition: all 275ms;
  -moz-transition: all 275ms;
  -o-transition: all 275ms;
  transition: all 275ms;
  -webkit-border-radius: 5px;
  -moz-border-radius: 5px;
  -ms-border-radius: 5px;
  -o-border-radius: 5px;
  border-radius: 5px;
  display: block;
  text-transform: uppercase;
  z-index: 1;
  padding: 5px;
  width: 160px;
  font-weight: 100;
}

.planner .squeeze .gfield_radio label {
  width: 120px;
  font-size: 0.9em;
  padding: 5px;
  margin: 0;
  display: inline-block;
}

.planner .gfield_radio input {
  display: none;
}

.planner .gfield_radio li:nth-child(4n) {
  clear: both;
}

.planner .squeeze .gfield_radio li:nth-child(4n) {
  clear: none;
}

.planner .gfield_radio input[type="radio"]:checked+label {
  background-color: var(--color-fa-green);
  color: var(--color-white);
}

.custom-radio .info.active,
.custom-checkbox .info.active,
.custom-select .info.active {
  pointer-events: auto;
  filter: progid: DXImageTransform.Microsoft.Alpha(Opacity=90);
  opacity: 0.9;
}

.custom-radio .check,
.custom-checkbox .check,
.custom-select .check {
  position: absolute;
  font-size: 13px;
  bottom: 3px;
  right: 10px;
  filter: progid: DXImageTransform.Microsoft.Alpha(Opacity=0);
  opacity: 0;
  -webkit-transform: scale(1.2);
  -moz-transform: scale(1.2);
  -ms-transform: scale(1.2);
  -o-transform: scale(1.2);
  transform: scale(1.2);
  -webkit-transition: all 275ms;
  -moz-transition: all 275ms;
  -o-transition: all 275ms;
  transition: all 275ms;
}

.custom-radio.active .check,
.custom-checkbox.active .check,
.custom-select.active .check {
  filter: progid: DXImageTransform.Microsoft.Alpha(Opacity=100);
  opacity: 1;
  -webkit-transform: scale(1);
  -moz-transform: scale(1);
  -ms-transform: scale(1);
  -o-transform: scale(1);
  transform: scale(1);
}

.custom-radio:hover,
.custom-radio:focus,
.custom-radio:active,
.custom-radio.active,
.custom-radio .info {
  background: #ee6557;
}

.planner .gfield_radio label:hover {
  cursor: pointer;
}

.frm_submit {
  clear: both;
  display: inline-block;
  margin: 10px auto;
  width: 100%;
}

.frm_dropzone { padding: 10px; background-color: #ededed; text-align: center;}
.frm_dropzone span {clear: both; width: 100%; display: inline-block; }
.frm_dropzone .frm_compact_text {display: none;}
.frm_dropzone .frm_small_text {font-size: .8em;}
.frm_dropzone:hover {cursor: pointer;}

#bizplan-docs .bizplan-well div {margin: 10px auto;}
.biz-plan-submit th {font-weight: 300; text-align: center;}
.financial-data td input {text-align: right; padding: 5px; width: 95%;}
.fin-table h4 {margin-bottom: 0; padding-bottom: 0;}
.biz-plan-submit table h3 {width: 100%;}
.form-field h3 {clear: both; width: 100%; display: inline-block; }

/* ===================================================================
 * 10. BRAND FORM INTERFACE CUSTOMIZATIONS
 * =================================================================== */
.fa-contact-form input[type="text"],
.fa-contact-form input[type="email"],
.fa-contact-form input[type="tel"],
.fa-contact-form textarea {
  border: 1px solid #cccccc;
  border-radius: 4px;
  font-family: var(--copy_font);
  background-color: #ffffff;
  transition: border-color 0.2s ease-in-out;
}

.fa-contact-form input:focus,
.fa-contact-form textarea:focus {
  border-color: var(--color-fa-green) !important;
  outline: none;
  box-shadow: 0 0 0 2px rgba(26, 77, 74, 0.1);
}

.fa-contact-form input[type="checkbox"] {
  accent-color: var(--color-fa-green);
  width: 16px;
  height: 16px;
  cursor: pointer;
}

.biz-plan-submit .frm_submit {
  width: 100%;
  padding-top: 50px;
  text-align: center;
}
.frm_error {
  padding: 15px;
  margin-bottom: 20px;
  border: 1px solid transparent;
  border-radius: 4px;
  background-color: #f2dede;
  border-color: #ebccd1;
  color: #a94442;
}

.alert.alert-fa p {color: var(--color-fa-green) !important; text-wrap: initial;}
.alert.alert-fa p a {color: var(--color-fa-orange) !important;}

/* ===================================================================
 * 11. COMPONENTS (Cards, Modals, Sliders, Quotes, Maps, etc.)
 * =================================================================== */
.title-divider { width: 60px; height: 3px; background: var(--color-fa-orange); margin: 40px auto; }

/* --- Modals --- */
.modal-header h3 {
  font-weight: 300;
  font-size: 1.5em;
  color: var(--color-fa-green);
  text-transform: uppercase;
  width: 100%;
  margin-left: 30px;
}
.modal-dialog button.close {background: none; border: none; padding :0;}
.modal-header .modal-close {float:right;}
.modal-footer { text-align: center;}
#QuoteModal .modal-footer span {
  color: #003f29;
  font-weight: 600;
  font-size: 30px;
}
#ProjectModal .modal-content {
  text-align: center;
}

/* --- Cards & Boxes --- */
.card.media-card {padding: 0 !important; overflow: hidden;}
.sponsorship-grid {
  display: grid;
  grid-template-columns: repeat(auto-fill, minmax(280px, 1fr));
  gap: 30px;
  max-width: 1200px;
  margin: 0 auto;
}

.card.sponsorship {
  position: relative;
  background: #fff;
  border-radius: 12px;
  overflow: hidden;
  box-shadow: var(--card-shadow);
  transition: all 0.4s cubic-bezier(0.165, 0.84, 0.44, 1);
  border: none;
  cursor: pointer;
  height: 400px; 
  padding: 0;
}

.sponsorship-thumb-wrap {
  position: relative;
  width: 100%;
  height: 100%;
  overflow: hidden;
}

.sponsorship-thumb {
  width: 100%;
  height: 100%;
  object-fit: cover;
  transition: transform 0.6s ease;
  display: block;
}

.sponsorship::after {
  content: '';
  position: absolute;
  top: 0; left: 0; width: 100%; height: 100%;
  background: linear-gradient(
    to bottom,
    rgba(0, 0, 0, 0) 0%,
    rgba(0, 0, 0, 0.1) 50%,
    rgba(26, 102, 122, 0.85) 100% 
  );
  z-index: 1;
  transition: opacity 0.3s ease;
}

.sponsorship-details {
  position: absolute;
  bottom: 0;
  left: 0;
  width: 100%;
  padding: 25px;
  z-index: 2;
  box-sizing: border-box;
  transform: translateY(10px);
  transition: transform 0.4s ease;
}

.sponsorship-details p {
  color: var(--color-white);
  margin: 0 0 8px 0;
  font-size: 1.1rem;
  font-weight: 700;
  text-shadow: 0 2px 4px rgba(0,0,0,0.3);
  letter-spacing: 0.5px;
}

.sponsorship-link {
  display: inline-block;
  color: var(--color-white);
  text-decoration: none;
  font-size: 0.9rem;
  font-weight: 600;
  text-transform: uppercase;
  letter-spacing: 1px;
  padding: 10px 0;
  transition: all 0.3s ease;
  position: relative;
}

.card.sponsorship:hover {
  transform: translateY(-10px);
  box-shadow: var(--card-shadow-hover);
}
.card.sponsorship:hover .sponsorship-thumb { transform: scale(1.1); }
.card.sponsorship:hover .sponsorship-details { transform: translateY(0); }
.card.sponsorship:hover .sponsorship-link {
  background-color: var(--color-fa-orange); 
  color: var(--color-white);
  padding: 10px 20px;
  border-radius: 5px;
  margin-top: 5px;
  box-shadow: 0 4px 15px rgba(194, 116, 79, 0.4);
}

.age-badge {
  position: absolute;
  top: 15px;
  right: 15px;
  background: rgba(255,255,255,0.9);
  color: var(--color-fa-green);
  padding: 4px 12px;
  border-radius: 20px;
  font-size: 0.75rem;
  font-weight: 800;
  z-index: 3;
  box-shadow: 0 2px 10px rgba(0,0,0,0.1);
}

.card {
  background-color: var(--color-white);
  border: 1px solid var(--color-gray-600);
  padding: 15px;
}
.card.dark {background-color: var(--color-fa-green); color: var(--color-white);}
.card.dark h1, .card.dark h3 {color: var(--color-white); margin-bottom: 10px;}
.card.dark a {color: #fbf9fa;}
.card.dark a:hover {color: #49d1f5;}
.card h1, .card h3 {line-height: 1.3em;}
.card h3 {font-weight: 700;}
.card.dark .btn-cta {background-color: var(--color-white); color: var(--color-fa-green);}
.card.dark .btn-cta:hover {background-color: var(--color-fa-green); color: var(--color-white);}
.card.hero { padding: 30px 60px; font-size: 2em; line-height: 1.1em; }
.card.dark label, .card.dark .frm_primary_label {color: var(--color-white) !important;}
.card.hero p { line-height: 1.5em; font-size: 1.2rem;}
.card.hero ul li {font-size: 1.2rem; line-height: 1.2em;}
.card.collapse .close-icon {position: absolute; top: 30px; right: 30px;}
.card.border {
  -moz-box-shadow: 3px 3px 9px 0px var(--color-fa-green);
  -webkit-box-shadow: 3px 3px 9px 0px var(--color-fa-green);
  box-shadow: 3px 3px 9px 0px var(--color-fa-green);
  -webkit-border-radius: 5px;
  -moz-border-radius: 5px;
  border-radius: 5px;
}
.card.page-submenu {padding: 10px;}
.card.page-submenu h3 {font-size: 1.25em; margin: 0 auto; color: var(--color-fa-green);}
.card.page-submenu ul li {margin: 0 auto;}
.page-submenu ul {padding: 0; list-style: none;}
.page-submenu ul li {padding: 5px 0;}
.page-submenu ul li:hover {background: var(--color-fa-green);}
.page-submenu ul li a:hover {color: var(--color-white);}
.card .fa-stack {margin: 0 auto;}

.card.focus { background-color: #24282a; color: var(--color-white); }
.card.focus h4 { color: var(--color-white); font-size: 1.25em; text-transform: uppercase; line-height: 1.2em; font-weight: 600; letter-spacing: 2px; height: 2.5em; margin-top: 10px; }
.card.bg-img { background: url(../../assets/images/oo-card_bg.png) no-repeat; background-size: cover; }

.box {
  background-color: rgba(0, 63, 41, 0.05);
  -moz-box-shadow: 6px 6px 25px 0px var(--color-fa-green);
  -webkit-box-shadow: 6px 6px 25px 0px var(--color-fa-green);
  box-shadow: 6px 6px 25px 0px var(--color-fa-green);
  -webkit-border-radius: 10px;
  -moz-border-radius: 10px;
  border-radius: 10px;
  color: var(--color-fa-green);
  position: relative;
  padding: 20px;
}
.box h3 { text-align: center; color: #003f29; padding-top: 10px; }
.box.next { background-color: rgba(122, 183, 109, .5); }
.box.support { background-color: rgba(6, 154, 190, .5); }
.box.recap { background-color: rgba(187, 207, 94, .5); }
.featured-boxes .row.bumpup { margin-top: -140px; }
.box .copy { clear: both; width: 100%; margin: 10px auto; }
.box img.box-image, .box .box-image img {
  -moz-box-shadow: 3px 3px 12px 0px #ddd;
  -webkit-box-shadow: 3px 3px 12px 0px #ddd;
  box-shadow: 3px 3px 12px 0px #ddd;
  -webkit-border-radius: 10px;
  -moz-border-radius: 10px;
  border-radius: 10px;
}

.key-points .box { background: var(--color-white); min-height: 525px; padding-bottom: 60px; }
.highlight-boxes h3 { color: var(--color-fa-green); text-transform: uppercase; font-weight: 300; }

.featured-box { position: relative; border: 2px solid #0c2340; padding: 1rem 2.5rem; text-align: center; }
.featured-box .featured-title {
  position: absolute;
  top: -15px;
  left: 0;
  right: 0;
  font-size: 1.5rem;
  color: #0c2340;
  background-color: var(--color-white);
  width: 66%;
  margin: 0 auto;
  font-weight: 900;
  text-transform: uppercase;
  padding: 0;
}
.featured-box p {font-size: 1.3em; line-height: 1.2em;}	
.featured-box h3 {font-size: 1.2em;}

.feature-boxes .focus-box {padding: 20px; background-color: #f6f9fc; min-height: 420px;}
.feature-boxes .focus-box .fb-image { width: 100%; overflow: hidden; padding-bottom: 56%; background-size: cover; background-repeat: no-repeat; background-position: center; }
.feature-boxes .focus-box h2 { font-size: 1em; text-transform: uppercase; letter-spacing: 2px; font-weight: 700; font-family: var(--title_font); color: var(--color-fa-green); }
.feature-boxes .focus-box .fb-summary {color: var(--color-fa-green); margin-top: 10px;}

.feature-boxes .focus-box {
  width: 100%; height: 0; padding-bottom: 100%; overflow: hidden; background: #000; position: relative; background-size: cover; background-repeat: no-repeat; box-shadow: 0px 5px 14px 0px rgba(0,0,0,0.1);
}
.landing-page .block .feature-boxes .focus-box {padding-bottom: 50%;}

.feature-boxes .focus-box h3{
  font-family: var(--title_font); font-style: normal; color: var(--color-white); font-size: 1.2em; letter-spacing: 2px; bottom: 85px; left: 25px; position: absolute; font-weight: 700; padding: 0; margin: 0; text-transform: uppercase; transition-delay: 0.05s; transition-duration: 0.35s; transition: all 0.4s cubic-bezier(.45, .02, .34, 1);
}
.feature-boxes .focus-box:hover h3{ transform: translate3d(0px, -40px, 0px); transition-delay: 0.05s; transition-duration: 0.35s; transition: all 0.4s cubic-bezier(.45, .02, .34, 1); }
.feature-boxes .focus-box a.btn {position: absolute; bottom: 25px; left: 25px; }

.image-boxes .image-box { width: 100%; height: 0; padding-bottom: 100%; overflow: hidden; background: #000; position: relative; background-size: cover; background-repeat: no-repeat; box-shadow: 0px 5px 14px 0px rgba(0,0,0,0.1); }
.image-box h3{ color: var(--color-white); bottom: 25px; left: 25px; position: absolute; font-weight: 900; padding: 0; margin: 0; text-transform: uppercase; transition-delay: 0.05s; transition-duration: 0.35s; transition: all 0.4s cubic-bezier(.45, .02, .34, 1); }
.image-boxes .image-box:hover h3{ transform: translate3d(0px, -40px, 0px); transition-delay: 0.05s; transition-duration: 0.35s; transition: all 0.4s cubic-bezier(.45, .02, .34, 1); }
.proof-boxes {margin: 25px auto;}

/* --- Icons / Circles --- */
i.circle { position: relative; display: block; float: left; }
.circle { font-size: 50px; word-spacing: 1px; border-radius: 50%; box-sizing: border-box; line-height: 105px; width: 100px; height: 100px; max-width: 100%; text-align: center; color: white; background-color: var(--color-fa-green); display: inline-block; vertical-align: middle; zoom: 1; position: relative; }
.circle .circ { position: absolute; top: 0; left: 0; width: 100%; height: 100%; opacity: 0; background: none; border: 1px solid var(--color-fa-green); transition-property: all; transition-duration: 275ms; transition-timing-function: cubic-bezier(0.53, -0.67, 0.73, 0.74); border-radius: 50%; box-sizing: border-box; }
.action a:hover .circ, .action a:focus .circ, .actions a:active .circ { opacity: 1; transform: scale(1.15); transition-timing-function: cubic-bezier(0.37, 0.74, 0.15, 1.65); }
.action a:hover h3, .action a:hover img { background-image: none; opacity: 0.6; transition: opacity .5s ease-in-out; }
.action .row-fluid .span4 { padding-top: 20px; border-top: 1px solid #CCC; }

.call-out .circle { color: #003f29; border: 6px solid; background: none; padding: 0 5px; left: initial; margin-right: 10px; font-size: initial; }
.call-out .circle img { margin-top: -20px; }
.services .call-out .circle { background: var(--color-white); }
.services .call-out .circle img { width: 75%; height: 75%; }
.circle.white { background-color: #f4f5f7; color: #003f29; }
.key-points .circle .glyphicon { top: 0; }
.key-points .circle { left: 0; float: none; display: inline-block; border: 6px solid #003f29; margin-top: -65px; box-shadow: 6px 6px 25px 0px var(--color-fa-green); }
.content-icon {font-size: 4em; color: var(--color-fa-green);}

/* --- Social Icons --- */
.social { float: right; margin: 0; }
.social-item { position: relative; display: inline-block; text-align: center; font-size: 1.4em; margin-right: 5px; }
.social-item a { color: var(--color-white); }
.social-item .proj-plan span { background-color: #d5d5d5; color: #191919; border-radius: 50%; text-align: center; }
.social-item .proj-plan span:before { font-size: 70%; padding: 5px; }
.social-item a:hover { opacity: 1; text-decoration: none; }
.social-item a.proj-plan:hover span { background-color: var(--color-fa-green); }
.social-item a.facebook:hover { color: #3b5998; }
.social-item a.twitter:hover { color: #00acee; }
.social-item a.instagram:hover { color: #517fa4; }
.social-item a.pinterest:hover { color: #ca1f27; }
.social-item a.myspace:hover { color: #030303; }
.social-item a.youtube:hover, .social-item a.google:hover { color: #dd4b39; }
.social-item a.tumblr:hover { color: #2c4762; }
.social-item a.linkedin:hover { color: #0e76a8; }

/* --- FAQ / Accordion --- */
.faq-items a i { color: rgb(51, 130, 221); border: 1px solid rgb(51, 130, 221); border-radius: 50%; width: 38px; height: 38px; padding: 10px 12.5px; margin: 0 10px 0 -48px; font-size: 1em; transition: all 275ms; }
.faq-items a i.opened { background: var(--color-fa-green); color: var(--color-white); transition: all 275ms; }
.faq-items .faq-item {padding: 10px 0 10px 48px;}
.faq-items .faq-item .faq-heading {font-weight: 400; font-size: 18px;}
.faq-items .faq-item .faq-answer {padding-top: 10px;}
.faq-items .faq-item .faq-answer-wrap { border-left: 1px solid rgb(187, 187, 187); margin-left: -29px; padding: 0 0 10px 29px; background-color: #d7d7d7; }
.bizplan-well { padding: 20px; background-color: #f6f8f9; float: left; width: 100%; border-radius: 3px; box-shadow: 0px 0px 0px 1px rgba(0,0,0,0.02),0px 2px 4px rgba(0,0,0,0.08); border-color: #e3e6e8; transition: all 275ms; }
.collapse, .collpase.in { transition: all 275ms; }
h3 .well-toggle i {margin-right: 10px;}
h3 .well-toggle {color: var(--color-fa-green); font-weight: 300;}

/* --- Country Specific Components --- */
.country-link { display: flex; align-items: center; padding: 0.75rem 1rem; background-color: var(--color-white); border: 1px solid #dee2e6; border-radius: 0.5rem; text-decoration: none; color: #212529; transition: all 0.2s ease-in-out; box-shadow: 0 0.125rem 0.25rem rgba(0, 0, 0, 0.075); }
.country-link:hover, .country-link:focus { transform: translateY(-3px); box-shadow: 0 0.5rem 1rem rgba(0, 0, 0, 0.1); color: #0d6efd; border-color: #0d6efd; }
.country-flag { width: 40px; height: 40px; border-radius: 50%; object-fit: cover; margin-right: 0.75rem; }
.country-name { font-weight: 600; font-size: .85rem; }

/* --- Sliders / Carousel --- */
.home-page section.home-page-slider {padding-top: 0;}
.carousel-inner {padding: 0;}
.slide.item .mask {background-color: transparent;}
.item .slide-caption { opacity: 0; position: absolute; margin: 0 auto; transition: opacity 1s ease-in-out; background: RGBA(255,255,255,0.8); padding: 10px 15px; width: 30%; border: 0px solid RGBA(0,0,0,1); border-radius: 0px; }
.slide-caption h1 {font-size: 20px; color: #333; line-height: 1.2em;}
.item.active .slide-caption { opacity: 1 }
.slide-caption.wrap-local-0 { left: 0; right: 0; top: 45%; text-align: center;}
.slide-caption.wrap-local-1 { left: 5%; top: 15%; text-align: left;}
.slide-caption.wrap-local-2 { right: 15%; top: 15%; text-align: right;}
.slide-caption.wrap-local-3 { left: 5%; bottom: 15%; text-align: left;}
.slide-caption.wrap-local-4 { right: 15%; bottom: 15%; text-align: right;}
.slide-caption.wrap-local-5 { left: 0; right: 0; top: 45%; text-align: center;}
.slide-caption.wrap-local-0 h1 { text-align: center;}
.slide-caption.wrap-local-1 h1 { text-align: left;}
.slide-caption.wrap-local-2 h1 { text-align: right;}
.slide-caption.wrap-local-3 h1 { text-align: left;}
.slide-caption.wrap-local-4 h1 { text-align: right;}
.slide-caption.wrap-local-5 h1 { text-align: center;}
.carousel-indicators {bottom: 40px;}

/* Hero Slider Custom Styles */
.no-padding {padding: 0!important;}
.home-page-slider .carousel-item { background-color: #000; transition-duration: .75s; }
.home-page-slider .ratio-16x9 img { object-fit: cover; }

/* The Darkening Mask (Overlay) */
.rm-slide-mask { position: absolute; top: 0; left: 0; width: 100%; height: 100%; background: linear-gradient( to bottom, rgba(0, 0, 0, 0.5) 0%, rgba(0, 0, 0, 0.2) 50%, rgba(0, 0, 0, 0.6) 100% ); z-index: 1; }

/* Customizing Bootstrap Caption for better layout */
.home-page-slider .carousel-caption { z-index: 2; top: 0; bottom: 0; left: 0; right: 0; padding: 0; display: flex; align-items: center; text-align: left; }
.home-page-slider .slide-caption-inner { max-width: 50%; text-shadow: 0 2px 10px rgba(0,0,0,0.3); }
.home-page-slider .slide-caption-inner h2 { font-size: clamp(2rem, 5vw, 4rem); font-weight: 800; color: #fff; margin-bottom: 1rem; }
.home-page-slider .slide-caption-inner p { font-size: clamp(1rem, 2vw, 1.25rem); color: rgba(255,255,255,0.9); }

.home-page-slider .carousel-caption .container { display: flex; flex-direction: column; height: 100%; }
.home-page-slider .slide-caption-inner { max-width: 50%; padding: 0 25px; text-shadow: 0 2px 10px rgba(0,0,0,0.3); }

/* Horizontal Alignment Classes */
.home-page-slider .slide-caption-inner.h-left { margin-left: 0; margin-right: auto; text-align: left; }
.home-page-slider .slide-caption-inner.h-center { margin-left: auto; margin-right: auto; text-align: center; }
.home-page-slider .slide-caption-inner.h-right { margin-left: auto; margin-right: 0; text-align: left; }

/* Vertical Alignment Classes */
.home-page-slider .slide-caption-inner.v-top { margin-top: 15%; margin-bottom: auto; }
.home-page-slider .slide-caption-inner.v-center { margin-top: auto; margin-bottom: auto; }
.home-page-slider .slide-caption-inner.v-bottom { margin-top: auto; margin-bottom: 12%; }

.carousel-indicators [data-bs-target] { background-color: var(--color-fa-orange); }
.carousel-control-next, .carousel-control-prev {width: 10%;}

.oo-sponsorship-form .range-slider-group input[type="range"]::-webkit-slider-runnable-track { background: transparent !important; }
.oo-sponsorship-form .range-slider-group input[type="range"]::-moz-range-track { background: transparent !important; }

/* --- Maps --- */
.map-wrapper{ background-color:var(--color-white); font-family:sans-serif; padding: 1rem }
#map-container{ position:relative; width:100%; max-width:1100px; height:70vh; margin:auto; }
.datamaps-subunit{cursor:pointer}
.datamaps-bubble{ cursor:pointer; stroke-width:2px!important; stroke:var(--color-white); stroke-opacity:.8; transition:all .2s ease-in-out }
.datamaps-bubble:hover{ stroke-width:4px!important; stroke-opacity:1; fill-opacity:1!important }
.datamaps-hoverover{ box-shadow:0 .5rem 1rem rgba(0,0,0,.15)!important; max-width:280px; padding:0!important; background-color:transparent!important; border:none!important; font-size:1rem!important; color:inherit!important }
.custom-popup-card .card-header{font-size:1.1rem; font-weight:700}
.custom-popup-card .list-group-item{padding:.5rem 1rem}

.popover { --bs-popover-bg: #212529; --bs-popover-header-bg: #343a40; --bs-popover-header-color: var(--color-white); --bs-popover-body-color: var(--color-white); --bs-popover-border-color: #495057; --bs-popover-arrow-border: #495057; }
.popover-header { font-size: 1.1rem; font-weight: bold; }
.popover-body { padding: 0; }
.popover-body ul li {margin-bottom: 0; padding-left: 5px;}
.popover-body ul {padding: 5px 0 5px 25px;}
.popover-body ul li i {margin-left: -25px;}
.popover-body ul li a {color: var(--color-white-alt); }
.popover-body ul li a:hover {color: var(--color-fa-orange);}
.datamaps-hoverover{padding: 5px 10px !important; font-size: 14px !important; background: #212529 !important; color: var(--color-white) !important; border: 1px solid #495057 !important; box-shadow: 0 .5rem 1rem rgba(0,0,0,.15)!important; }

.zoom-controls { position: absolute; top: 15px; left: 15px; z-index: 10; }
.zoom-controls button { font-size: 1.2rem; line-height: 1; width: 38px; height: 38px; }
.map-tooltip { position: absolute; z-index: 1010; padding: 5px 10px; font-size: 14px; background: #212529; color: var(--color-white); border: 1px solid #495057; box-shadow: 0 .5rem 1rem rgba(0,0,0,.15); border-radius: .25rem; pointer-events: none; opacity: 0; transition: opacity 0.2s ease-in-out; }

/* --- Team Quotes --- */
.team-quotes-section {  position: relative; }
.quote-card { background: #fff; border-radius: 12px; overflow: hidden; display: flex; flex-direction: column; border: 1px solid #eee; transition: box-shadow 0.3s ease; }
.quote-card:hover { box-shadow: 0 10px 30px rgba(0,0,0,0.08) !important; }
.quote-image-wrap { height: 300px; width: 100%; overflow: hidden; background-color: var(--color-fa-green); }
.quote-image-wrap img { width: 100%; height: 100%; object-fit: cover; transition: transform 0.6s cubic-bezier(0.165, 0.84, 0.44, 1); }
.quote-card:hover .quote-image-wrap img { transform: scale(1.05); }
.quote-body { padding: 2.5rem; position: relative; flex-grow: 1; display: flex; flex-direction: column; }
.quote-icon-mark { position: absolute; top: 20px; right: 25px; font-size: 3.5rem; color: rgba(194, 116, 79, 0.1); font-family: serif; line-height: 1; user-select: none; }
.quote-message { font-family: var(--quote_font) !important; font-size: 1.35rem; line-height: 1.75; color: #333; font-style: italic; margin-bottom: 2rem; flex-grow: 1; }
.quote-message p:last-child { margin-bottom: 0; }
.quote-footer { border-top: 1px solid #f0f0f0; padding-top: 1.25rem; margin-top: auto; }
.quote-author-name { font-weight: 700; color: var(--color-fa-green); margin: 0; text-transform: uppercase; font-size: 0.85rem; letter-spacing: 0.08em; }
.quote-author-title { color: #6c757d; font-size: 0.8rem; margin: 2px 0 0 0; font-weight: 500; }

/* --- Transformational Approach --- */
.approach-section { background-color: #ffffff; padding: 80px 0; }
.approach-narrative h2 { font-weight: 700; margin-bottom: 1.5rem; }
.approach-narrative p { font-size: 1.15rem; line-height: 1.8; color: #555; margin-bottom: 2rem; }
.approach-matrix { display: grid; grid-template-columns: repeat(2, 1fr); gap: 20px; }
.matrix-item { background: #fdfdfd; border: 1px solid #f0f0f0; padding: 30px 20px; text-align: center; border-radius: 8px; transition: all 0.3s ease; display: flex; flex-direction: column; align-items: center; justify-content: center; }
.matrix-item:hover { border-color: var(--color-fa-orange); box-shadow: 0 10px 20px rgba(0,0,0,0.05); transform: translateY(-5px); }
.matrix-icon { font-size: 2.5rem; margin-bottom: 15px; color: var(--color-fa-green); }
.matrix-item h3 { font-size: 0.95rem; text-transform: uppercase; letter-spacing: 1px; font-weight: 700; margin: 0; color: #333; }
.pillar-edu:hover .matrix-icon { color: var(--color-fa-orange); } 
.pillar-phys:hover .matrix-icon { color: var(--color-fa-navy); } 
.pillar-social:hover .matrix-icon { color: #6c757d; } 
.pillar-spirit:hover .matrix-icon { color: var(--color-fa-teal); } 

.rm-approach-wrapper { padding: 80px 0; background-color: #fff; }
.rm-approach-narrative h2 { color: var(--color-fa-green); font-weight: 800; font-size: clamp(2rem, 4vw, 2.75rem); margin-bottom: 25px; line-height: 1.1; }
.rm-approach-narrative p { font-size: 1.15rem; color: #555; line-height: 1.7; margin-bottom: 1.5rem; }
.rm-approach-divider { width: 60px; height: 3px; background-color: var(--color-fa-orange); margin-top: 30px; }

.rm-pillar-grid { display: grid; grid-template-columns: repeat(2, 1fr); gap: 20px; }
.rm-pillar-card { position: relative; background: #fdfdfd; border: 1px solid #f0f0f0; border-radius: 10px; height: 220px; padding: 30px; display: flex; flex-direction: column; align-items: center; justify-content: center; text-align: center; transition: all 0.4s cubic-bezier(0.165, 0.84, 0.44, 1); overflow: hidden; box-shadow: 0 4px 6px rgba(0,0,0,0.02); }
.rm-pillar-card i { font-size: 3.25rem; color: var(--color-fa-green); margin-bottom: 15px; transition: all 0.3s ease; }
.rm-pillar-card h4 { font-size: 0.9rem; font-weight: 800; letter-spacing: 1.5px; color: #333; text-transform: uppercase; margin: 0; transition: all 0.3s ease; }
.rm-pillar-card:hover { transform: translateY(-8px); border-color: var(--color-fa-orange); box-shadow: 0 15px 35px rgba(0,0,0,0.06); background-color: #fff; }

.rm-pillar-overlay { position: absolute; top: 0; left: 0; width: 100%; height: 100%; background-color: var(--color-fa-green); color: #fff; padding: 25px; display: flex; align-items: center; justify-content: center; opacity: 0; visibility: hidden; transition: all 0.3s ease; transform: translateY(10px); z-index: 2; }
.rm-pillar-overlay p { font-size: 1rem; margin: 0; line-height: 1.45; color: #fff; text-align: center; }
.rm-pillar-card.has-hover-content:hover .rm-pillar-overlay { opacity: 1; visibility: visible; transform: translateY(0); }
.rm-pillar-card.has-hover-content:hover i, .rm-pillar-card.has-hover-content:hover h4 { opacity: 0; transform: scale(0.9); }

/* --- Misc Components --- */
.contact { width: 100%; height: 100%; float: left; overflow-wrap: break-word; white-space: nowrap; overflow: hidden; }
.action-caption { float: left; clear: both; width: 100%; text-align: center; }
.action-caption h3 { font-weight: 200; text-transform: uppercase; font-size: 20px; word-spacing: 1px; line-height: 22px; }
.action-caption p { font-weight: 200; font-size: .9em; line-height: 100%; }

.caption-wrapper { position: absolute; left: 10%; bottom: 10%; background-color: rgba(244, 245, 247, 0.75); padding: 20px; width: 40%; box-shadow: 6px 6px 25px 0px var(--color-fa-green); border-radius: 10px; }
.hero .caption-wrapper { top: 2.5%; bottom: initial; right: 10%; left: initial; border-radius: 50%; width: 300px; height: 300px; padding: 35px; }
.hero .caption-wrapper h1 { margin: 5px auto; padding: 10px; text-align: center; color: #003f29; font-weight: 400; font-size: 1.75em; text-shadow: 2px 3px 3px rgba(128, 128, 128, .5); }
.hero .caption-wrapper h1:first-child { margin-top: 35px; }
.hero .caption-wrapper h1:first-child:before { font-size: 75px; color: #757575; content: '\201C'; font-family: serif; font-weight: bolder; position: absolute; padding: 15px 10px 10px 0; margin-left: -40px; top: 48px; }

.hero { position: relative; padding: 20px; text-align: center; width: 60%; margin: 0 auto; }
.hero-lg {width: 80% !important;}
.hero h3 {font-weight: 900;}
.hero p {font-size: 1.2em; line-height: 1.3em;}
.hero .cta { width: 100%; text-align: center; }
.hero .cta .btn { text-transform: capitalize; }
.hero-box { padding: 20px 30px; border: 1px solid; }

/* ===================================================================
 * 12. MODERN TEAM & INDIVIDUAL BIOGRAPHY DIRECTORY STYLES
 * =================================================================== */
.team-member-profile .staff-name {
  color: var(--color-fa-green);
  font-size: 2.85rem;
  letter-spacing: -0.5px;
  line-height: 1.15;
}

.team-member-profile .staff-title {
  font-family: var(--copy_font);
  font-size: 1.25rem;
  letter-spacing: 0.5px;
  color: #555555 !important;
}

.team-member-profile .team-bio-text p {
  font-family: var(--copy_font);
  font-size: 1.05rem;
  line-height: 1.65;
  color: var(--text_color);
  margin-bottom: 20px;
}

.btn-back-team {
  font-family: var(--title_font);
  font-size: 0.85rem;
  font-weight: 700;
  color: #7f8c8d;
  letter-spacing: 1px;
  transition: color 0.2s ease-in-out;
}

.btn-back-team:hover {
  color: var(--color-fa-orange);
}

.team-pic-full img {
  height: auto;
  object-fit: cover;
  display: block;
}

.team-member-profile .bio-links .btn-custom {
  display: inline-flex;
  align-items: center;
  font-size: 0.9rem;
  padding: 10px 20px;
  font-weight: 600;
}

.team-directory-grid .team-card-link {
  color: inherit;
  display: block;
}

.team-member-card {
  background-color: #ffffff;
  overflow: hidden;
  border: 1px solid #f2f2f2;
  transition: transform 0.25s ease-in-out, box-shadow 0.25s ease-in-out;
}

.team-card-image-wrap {
  width: 100%;
  aspect-ratio: 4 / 4; 
  overflow: hidden;
  background-color: #f8f9fa;
}

.team-card-image-wrap img {
  width: 100%;
  height: 100%;
  object-fit: cover;
  transition: transform 0.4s ease-in-out;
}

.team-card-info .member-name {
  font-family: var(--title_font);
  font-size: 1.15rem;
  font-weight: 700;
  color: var(--text_color);
  transition: color 0.2s ease-in-out;
}

.team-card-info .member-role {
  font-family: var(--copy_font);
  font-size: 0.85rem;
  display: flex;
  align-items: center;
  justify-content: space-between;
}

.team-card-info .arrow-icon {
  color: var(--color-fa-green);
  font-weight: bold;
  transition: transform 0.2s ease-in-out;
}

.team-directory-grid .team-card-link:hover .team-member-card {
  transform: translateY(-5px);
  box-shadow: 0 12px 24px rgba(0, 0, 0, 0.08) !important;
}

.team-directory-grid .team-card-link:hover .member-name {
  color: var(--color-fa-orange);
}

.team-directory-grid .team-card-link:hover .team-card-image-wrap img {
  transform: scale(1.03);
}

.team-directory-grid .team-card-link:hover .arrow-icon {
  transform: translateX(4px);
}

.story-recap ul { list-style: none; }
.key-points .header { text-align: center; width: 100%; float: left; }
.contact a { float: left; color: var(--color-white); font-size: 16px; }
.contact a span { margin-right: 5px; }

.geolocal .textwidget { padding-left: 75px; }
.geolocal .textwidget:before { font-family: 'ElegantIcons'; content: attr(data-icon); font-weight: normal; font-variant: normal; text-transform: none; font-style: normal; line-height: 1; -webkit-font-smoothing: antialiased; content: "\e081"; float: left; font-size: 75px; margin-left: -75px; color: #003e29; }

.more-indicator { position: absolute; bottom: 10px; left: 0; right:0; text-align: center; font-size: 2em; color: var(--color-white); cursor: pointer; text-shadow: 0 1px 2px rgba(0,0,0,.6); }
.more-indicator.dark, .landing-page .block2 .more-indicator, .inner-page-content .more-indicator { color: #0b4d61; }
.inner-page-content .featured-img .more-indicator {color: var(--color-white);}
.more-indicator:hover { cursor: pointer; }

.overlay { top: 0; left: 0; width: 100%; height: 100%; position: absolute; z-index: 0; }
.overlay.grey { background: rgba(0, 0, 0, 0.6); }
.overlay.blue { background: rgba(31, 72, 160, 0.75); }
.rule { border-top-width: 1px; border-top-style: solid; border-top-color: transparent; border-bottom-width: 1px; border-bottom-style: solid; border-bottom-color: rgb(227, 230, 232); flex-grow: 1; flex-shrink: 1; flex-basis: 0px; }

.feature-highlights {padding: 0;}
.product-screenshot {position: relative;}
.product-screenshot .feature-highlights li { width: 50px; background-color: rgb(77, 41, 145); color: rgb(255, 255, 255); text-align: center; padding: 12.5px 0px; border-radius: 50%; font-weight: 500; cursor: pointer; }

.callout-pulse { display: block; background: rgb(77, 41, 145); border-radius: 100px; height: 200%; width: 200%; position: absolute; -webkit-animation: av_pulsate 2s ease-out; animation: av_pulsate 2s linear infinite; opacity: 0; top: -25px; left: -25px; z-index: 1; }

.glossary-nav, .news-nav { width: 100%; clear: both; margin: 20px auto; }
.glossary-nav .prior, .news-nav .prior {float: left;}
.glossary-nav .next, .news-nav .next {float: right;}

.section-waved { position: absolute; bottom: 0; left: 0; width: 100%; overflow: hidden; line-height: 0; transform: rotate(180deg); }
.section-waved svg { position: relative; display: block; width: calc(125% + 1.3px); height: 126px; transform: rotateY(180deg); }
.section-waved .shape-fill { fill: var(--color-white); }

.oo-mask { position: absolute; top: 0; left: 0; width: 100%; height: 100%; background: linear-gradient( to bottom, rgba(0, 0, 0, 0.5) 0%, rgba(0, 0, 0, 0.2) 50%, rgba(0, 0, 0, 0.6) 100% ); }

/* ===================================================================
 * 13. UTILITIES & HELPER CLASSES
 * =================================================================== */
.clearfix,
.clear-form {
  clear: both;
  display: block;
  overflow: hidden;
  visibility: hidden;
  width: 0;
  height: 0;
}

ul.nobullets,
ul.nobullets li {
  list-style: none;
}

.nobullets {list-style: none;}
span.meta-nav, span.screen-reader-text {display: none;}

.center { text-align: center; }
.left { float: left; }
.right { float: right; }
.bottom-border {border-bottom: 2px solid; padding-bottom: 10px; margin-bottom: 10px; }
.padtop20 {padding-top: 20px;}
.padtop50 {padding-top: 50px;}
.text.left {text-align: left !important;}
.text.right {text-align: right !important;}
.text.center {text-align: center !important;}
.text.white { color: var(--color-white) !important;}
.text.dark {color: #333333 !important;}
.pcolor {color: #1f48a0 !important;}
.btn-clear.white {color: var(--color-white); border-color: var(--color-white);}
.mt-5 {margin-top: 5px !important;}
.mt-10 {margin-top: 10px !important;}
.mt-25 {margin-top: 25px !important;}
.mt-50 {margin-top: 50px !important;}
.mb-5 {margin-bottom: 5px !important;}
.mb-10 {margin-bottom: 10px !important;}
.mb-25 {margin-bottom: 25px !important;}
.mb-50 {margin-bottom: 50px !important;}
.pt-5 {padding-top: 5px !important;}
.pt-10 {padding-top: 10px !important;}
.pt-25 {padding-top: 25px !important;}
.pt-50 {padding-top: 50px !important;}
.pad-100 {padding: 100px 0;}
.mr-5 {margin-right: 5px;}
.mr-10 {margin-right: 10px;}
.mr-20 {margin-right: 20px;}
.ml-5 {margin-left: 5px;}
.ml-10 {margin-left: 10px;}
.ml-20 {margin-left: 20px;}
.block-cta, .rm-block-has-bg-image {
  background-size: cover;
  background-position: center;
  background-repeat: no-repeat;
  background-attachment: fixed;
  padding: 5% 0 !important;
}
h1.color-white, h3.color-white, p.color-white, .color-white { color: var(--color-white) !important; }
h1.color-blue, h3.color-blue, p.color-blue, .color-blue { color: var(--color-fa-green) !important; }
h1.color-orange, h3.color-orange, p.color-orange, .color-orange { color: var(--color-fa-orange) !important; }
h1.color-ltblue, h3.color-ltblue, p.color-ltblue, .color-ltblue { color: var(--color-fa-teal) !important; }
h1.color-ltorange, h3.color-ltorange, p.color-ltorange, .color-ltorange { color: var(--color-fa-orange) !important; }
.color-white-75 { color: var(--color-white-alt) !important; }
.text-left {text-align: left !important;}
.text-right {text-align: right !important;}
.text-center {text-align: center !important;}
.text-p2, .text-p2 p, .text-p2 h2, .text-p2 h3 {font-size: 1.3em; }
.bg-orange {background-color: var(--color-fa-orange) !important; color: var(--color-white); }
.bg-green {background-color: var(--color-fa-green); color: #fff; }
.bg-believerblue {background-color: #abc2ca; color: var(--color-white); }
.bg-ooblue {background-color: var(--color-fa-green); color: var(--color-white); }
.bg-white-alt {background-color: var(--color-white-alt);}
.font-stnd {font-style: normal !important;}
span.focus { font-weight: 600; border-bottom: 2px solid; }
.color-white-10 { color: RGBA(255, 255, 255, .1); }
.color-orange-10 { color: RGBA(194, 116, 79, .1); }

/* Text Color Classes */
.color-oo-orange { color: var(--color-fa-orange) !important; }
.color-oo-blue { color: var(--color-fa-green) !important; }
.color-oo-navy { color: var(--color-fa-navy) !important; }
.color-oo-ltOrange, .color-oo-tangerine { color: var(--color-fa-orange) !important; }
.color-oo-ltBlue { color: var(--color-fa-teal) !important; }
.color-oo-believer-blue { color: var(--color-fa-teal) !important; }
.color-oo-seafoam { color: var(----color-fa-teal) !important; }
.color-oo-sky-blue { color: var(----color-fa-teal) !important; }
.color-oo-dkOrange { color: var(--color-fa-orange) !important; }

/* Background Color Classes */
.bg-oo-orange { background-color: var(--color-fa-orange) !important; }
.bg-oo-blue { background-color: var(--color-fa-green) !important; }
.bg-oo-navy { background-color: var(--color-fa-navy) !important; }
.bg-oo-ltOrange, .bg-oo-tangerine { background-color: var(--color-fa-orange) !important; }
.bg-oo-ltBlue { background-color: var(--color-fa-teal) !important; }
.bg-oo-believer-blue { background-color: var(--color-fa-teal) !important; }
.bg-oo-seafoam { background-color: var(----color-fa-teal) !important; }
.bg-oo-sky-blue { background-color: var(----color-fa-teal) !important; }
.bg-oo-dkOrange { background-color: var(--color-fa-orange) !important; }

ul.hlist {margin-bottom: 25px;}
.hlist li:first-child a {margin-left: 0;}
.hlist li:last-child a {margin-right: 0;}
.hlist li a {margin: 0 5px; border: 1px solid;}
.hlist li a:hover {background-color: var(--color-fa-green); color: var(--color-white); border-color: #ddd;}
.input-progress {
  clear: both;
  width: 70%;
  margin: 10px 15%;
}
.input-progress .bar,
.input-progress .progress {
  text-transform: uppercase;
  height: auto;
}
.text-2xl {font-size: 2em; }
.text-4xl {font-size: 3em; }  
.text-sm {font-size: .875em; }
.text-xs {font-size: .75em; }
.text-xl {font-size: 1.5em; }
.text-lg {font-size: 1.25em; }

.max-w-3xl { font-size: 20px; max-width: 60%; margin: 10px auto; padding-bottom: 10px; }
.max-w-4xl { max-width: 80%; margin: 10px auto; }
.max-w-7xl { max-width: 90%; margin: 10px auto; }
.pad-lg {padding: 40px;}
.rounded-2xl {border-radius: 1rem; overflow: hidden;}
.rounded-xl {border-radius: .75rem; overflow: hidden;}
.rounded {overflow: hidden;}
.shadow-xl {
  -moz-box-shadow: rgba(0, 0, 0, 0.4) 0px 4px 6px;
  -webkit-box-shadow: rgba(0, 0, 0, 0.4) 0px 4px 6px;
  box-shadow: rgba(0, 0, 0, 0.4) 0px 4px 6px;
}
.shadow {
  -moz-box-shadow: rgba(0, 0, 0, 0.4) 0px 2px 3px;
  -webkit-box-shadow: rgba(0, 0, 0, 0.4) 0px 2px 3px;
  box-shadow: rgba(0, 0, 0, 0.4) 0px 2px 3px;
}
.oo-bullets {
  font-size: 1.5em;
}
.oo-bullets li::marker {color: var(--color-fa-orange); }
.oo-bullets.standard {font-size: 1em;}

#error.item {
  color: var(--color-white);
  background: #f89406;
}
.error {
  width: 95%;
  background-color: #B81900;
  border: 2px solid #BE2E17;
  color: white;
  font-size: 14px;
  margin: 0;
  margin-bottom: 20px;
  padding: 5px 2.5%;
}
.showtip {
  position: absolute;
  top: 0;
  right: 0;
}
.newline { 	clear: both;  }
.mobile, .tablet, .for-mobile-use {display: none !important;}

/* ===================================================================
 * 14. FRAMEWORK REFACTORED INLINE STYLES (REPLACING INLINE HTML STYLES)
 * =================================================================== */

/* --- Hero & Overlay Utilities --- */
.hero-bg-dark { background-color: #131313; }
.hero-gradient-overlay { background: linear-gradient(to bottom, rgba(0,0,0,0.3) 0%, rgba(0,0,0,0.1) 50%, rgba(0,0,0,0.65) 100%); pointer-events: none; }
.hero-caption-wrapper { z-index: 3; max-width: 850px; }

/* --- Typography & Headings --- */
.section-title-lg { line-height: 1.2em; letter-spacing: 1px; }
.lead-subtitle { font-size: 1.25rem; line-height: 1.75;color: var(--color-gray-700);}
.lead-body { font-size: 1.15rem; line-height: 1.7; color: var(--color-gray-700) !important; }
.body-text { font-size: 1.05rem; line-height: 1.7; color: var(--color-gray-700) !important; }

/* --- Founder Note Component --- */
.founder-note-card { background-color: var(--color-white-alt, #fbf9fa); border-left: 5px solid var(--color-fa-orange) !important; }
.founder-avatar { max-width: 160px; width: 100%; aspect-ratio: 1/1; object-fit: cover; border: 4px solid #fff; }
.founder-title { font-size: 1.35rem; line-height: 1.4; }
.founder-quote { font-size: 1.05rem; line-height: 1.7; font-style: italic; color: var(--color-gray-700) !important; }
.founder-byline { font-size: 0.95rem; letter-spacing: 1px; text-transform: uppercase; }

/* --- Framework Section Backgrounds --- */
.bg-fa-light { background-color: #fbf9fa; }
.bg-fa-white { background-color: #ffffff; }
.bg-fa-muted { background-color: #e4e5e7; }

/* --- Max-Width Layout Constraints --- */
.text-constrained-600 { max-width: 600px; margin: 0 auto; }
.text-constrained-620 { max-width: 620px; margin: 0 auto; }
.text-constrained-700 { max-width: 700px; margin: 0 auto; }
.text-constrained-750 { max-width: 750px; margin: 0 auto; }
.text-constrained-800 { max-width: 800px; margin: 0 auto; }
.text-constrained-850 { max-width: 850px; margin: 0 auto; }

/* --- Cards & Focus Grid --- */
.card-img-wrapper { height: 180px; overflow: hidden; border-radius: 8px; }
.card-img-cover { width: 100%; height: 100%; object-fit: cover; }
.card-accent-top { border-top: 5px solid var(--color-fa-orange) !important; }
.badge-accent { letter-spacing: 1px; font-size: 0.75rem; border-radius: 0 0 8px 8px; }

/* --- CTA Banner Card --- */
.cta-banner-card { background-color: var(--color-fa-green); }
.cta-banner-title { font-size: 2.2rem; }
.cta-banner-body { max-width: 800px; font-size: 1.15rem; line-height: 1.7; }

/* --- Scripture & Citation --- */
.scripture-quote { font-size: 1.35rem; line-height: 1.6; font-style: italic; color: var(--color-gray-700) !important; font-family: Georgia, serif; }
.scripture-citation { font-size: 0.95rem; letter-spacing: 2px; }

/* --- Modals & Overlays --- */
.fa-modal-content { border-radius: 12px; overflow: hidden; }
.fa-modal-logo-wrapper { text-align: center; display: inline-block; width: 100%; margin-left: 53px; }
.fa-modal-logo-img { width: 100px; margin: 5px auto; }
.fa-modal-logo-wds { width: 125px; margin: 5px auto; }
.fa-modal-close-btn { border: none; background: none; font-size: 2em; color: var(--color-fa-green); }
.fa-modal-title { color: var(--color-fa-green); margin-bottom: 0.5rem; font-weight: 700; }
.fa-modal-subtitle { font-size: 1rem; color: #4a5568; line-height: 1.5; max-width: 600px; margin: 0 auto; }
.fa-modal-subtitle-wds { font-size: 1rem; color: #4a5568; line-height: 1.5; max-width: 620px; margin: 0 auto; }

.adventure-location-facts {
  background-color: var(--color-fa-green);
  margin-top: -25px;
  margin-bottom: 25px;
}

/* ===================================================================
 * 15. PAGE-SPECIFIC STYLES
 * =================================================================== */
.single-trip-flyer .oo-mask {background: linear-gradient(to right, rgba(37, 37, 37, 0.75), transparent);  }
.single-trip-flyer .header-trip-recap {padding: 10px 0;}
.single-trip-flyer a.trip-app-link {color: var(--color-white);}
.single-trip-flyer a.trip-app-link:hover {color: var(--color-fa-teal);}
.single-trip-flyer .itinerary-notice { padding: 10px; background-color: var(--color-fa-orange); color: var(--color-white); text-align: center; font-weight: 600; }

.programs-trip-details .country-programs-widget > .container > .row > .col-lg-6:first-child {
  width: 100% !important;
  flex: 0 0 100% !important;
  max-width: 100% !important;
}

.programs-trip-details .country-programs-widget > .container > .row > .col-lg-6:last-child {
  display: none !important; 
}
.programs-trip-details .country-programs-widget .justify-content-center, .programs-trip-details .country-programs-widget .justify-content-center .justify-content-center {justify-content: left !important;}

.home-page section { padding: 50px 0; position: relative; }
.home-page .inner-pg-hero .ip-copy {border-color: var(--color-white);}
.home-page .feature-box-content article h2.summary-title {display: none;}

.landing-page .hero-block { 
    overflow: hidden; 
    width: 100%;      
    margin-top: 0px;  
}
.landing-page .hero-block .hero-bg { position: relative; margin-top: -200px; width: 100%; height: 0; padding-bottom: 40%; overflow: hidden; }
.mask{ background-color: rgba(33, 33, 33, 0.35); width: 100%; height: 100%; position: absolute; top: 0; left: 0; right: 0; }
.mask.blue {background-color: rgba(1, 0, 102, 0.5);}
.landing-page .hero-block .mask.blue {display: none;}
.hero-copy { position: absolute; bottom: 20px; right: 20px; margin: 0 auto; }
.hero-copy .hero-cta h3 { color:var(--color-white); font-weight: 600; font-size: 2em; text-transform:uppercase; font-family: var(--title_font); }
.hero-inner .hero-cta, .hero-inner .opening {display: none;}
.hero-inner .hero-cta {  padding: 10px;}
.hero-cta p { font-size: 1.25em; color: var(--color-white-alt); line-height: 1.1em; }
.hero-inner p {color: var(--color-white);}
.landing-page section.odd { background-color: #f4f5f7; }
.landing-page .block .container {position: relative;}
.landing-page .block h1 { font-family: var(--title_font); text-transform: uppercase; color: var(--color-fa-green); letter-spacing: 1.2px; line-height: 1.3em; font-weight: 700; font-size: 25px; }
.landing-page .block h1.heading-alt, h1.heading-alt { color: rgb(54, 54, 54); text-transform: uppercase; text-shadow: 2px 3px 3px rgba(128, 128, 128, .5); font-size: 3em; letter-spacing: 5px; font-family: var(--title_font); }
.landing-page .block5 .mask { background-color: rgba(241, 241, 241, 0.75); }
.landing-page .block7 .mask { background-color: rgba(241, 241, 241, 0.75); }
.landing-page .proof-points i {font-size: 4em;color: rgb(222, 142, 51);}
.landing-page .proof-points.rm-table .rm-table-row [class*="col-md-"] {vertical-align: top; }
.landing-page .more-indicator {display: none;}
.landing-page section .section-waved {display: none;}
.landing-page section:first-child .section-waved {display: block;}
.landing-page section:nth-last-child(1) .section-waved {display: block;}
.landing-page section:nth-last-child(1) .section-waved { top: 0; bottom: initial; }
.landing-page section:nth-last-child(1) .section-waved .shape-fill { fill: var(--color-white); }
.landing-page section:nth-last-child(1) .section-waved svg { transform: scaleX(-1) scaleY(-1); filter: FlipH FlipV; }

.hero-inner h1 {
  font-size: 20px;
  letter-spacing: 0;
  font-weight: 700;
  text-transform: uppercase;
  line-height: 1em;
  text-align: center;
}
.hero-inner h1 .hdr-light {font-weight: 300;}

.inner-page-content .box { 	min-height: 375px; }
.inner-page-content.videos .box { min-height: 100%; }
.inner-page-content .box.upgrade { min-height: initial; }
.inner-page-content .box.upgrade .btn { padding: 4px 10px 4px; }
h1.inpage { text-align: center; text-transform: uppercase; font-size: 3em; }
.page .inner-page-content .entry-meta { display: none; }
.inner-page-content .featured-img, .featured-img { position: relative; width: 100%; max-width: 100%; height: 0; overflow: hidden; padding-bottom: 35%; }
.trip-flyer-page .featured-img {padding-bottom: 25%;}
.featured-img .page-header-image { background: none; top: initial; bottom: 20px !important; }
.featured-img .article-source {text-align: center; color: rgb(238, 238, 238); font-weight: 200; }
.featured-img .page-header-image h1 { font-size: 2.5em; color: var(--color-white); text-align: left; margin: 0 auto; padding: 0;}
.featured-img .page-header-image h4 { text-transform: uppercase; color: #f4f5f7;}
.featured-img .image-heading { position: absolute; bottom: -5%; left: 5%; width: 90%; padding: 5%; }
.trip-flyer-page .hero-image .image-heading {top: 0; bottom: 0; padding: 2.5% 5%;}
.featured-img .image-heading h1, .hero-image h1, .hero-image h2, .featured-img .image-heading h2 { color: var(--color-white); font-weight: 600; margin: 0 auto; padding: 0; letter-spacing: .5px; font-size: 3em;  }
.country-page .featured-img .image-heading h1 {text-transform: uppercase;}
.hero-image .image-heading p {font-size: 1.3em; font-weight: 500; margin-top: 10px; width: 60%;}
.trip-flyer-page .trip-tagline { color: var(--color-white-alt); text-align: center; margin-top: 4em; font-size: 1.5em; font-weight: 200; }
.trip-flyer-page .hero-image .image-heading h1, .trip-flyer-page .hero-image .image-heading h2 {text-align: center;}
.hero-image .hero-img {object-fit: cover;}
.trip-flyer-page .hero-image .image-heading .header-trip-code { color: var(--color-white-alt); background-color: rgba(21, 21, 21, 0.85); padding: 5px 10px; width: fit-content; text-align: center; margin: 10px auto; }
.featured-img .image-heading p, .hero-image .image-heading p {color: var(--color-white);}
.inside-page-header .hero-image, .landing-page .hero-block {max-height: 500px; overflow: hidden; padding: 0;}
.inside-page-header .hero-image .image-heading .container {margin-top: 150px;}
.inner-page .featured-img .hero-content { position: absolute; left: 0px; right: 0px; top: 90px; }
.hero-image .image-heading .btn { padding: .5rem 1rem; font-size: 1.25rem; }
.inner-page .featured-img .hero-content .jumbotron {background-color: rgba(129, 126, 127, 0.3); color: var(--color-white); line-height: 1.25em;}
.inner-page .entry-content h1 {color: var(--color-fa-green); text-transform: uppercase; letter-spacing: 2px; margin-bottom: 10px; padding-bottom: 10px; border: none;}
.inner-page .main-copy .hentry { margin: 0 auto; padding: 0; }
.inner-page ul li {margin-bottom: 10px;}
.inner-page .navbar ul li {margin-bottom: 0;}
.inner-page .page-header { background: none; padding: 20px 0 20px 0; margin: 0 auto; color: var(--color-fa-orange); font-size: 2.5em; }
.inner-page .page-header h1.entry-title {margin: 0 auto; padding: 0; text-align: left; font-size: 2.5em;}
.inner-page .inner-page-content article {margin-bottom: 0; padding-bottom: 0;}
.inner-page .innerpage-heading { text-align: center; background: var(--color-white); color: #222; padding: 5px; margin: -1.85em auto 0 auto; width: 40%; z-index: 99999; position: absolute; left: 0; right: 0; }
.inner-page .innerpage-heading h1 {margin: 0; padding: 0; color: var(--color-fa-green);}
.inner-page-content .more-indicator {display: none;}
.inner-page-content section.inner-pg-hero { padding: 0; }
.inner-pg-hero .container-fluid {padding :0;}
.inner-pg-hero .ip-copy { border-bottom: 25px solid #dce5eb; padding: 50px; background: var(--color-fa-green); color: var(--color-white); }
.inner-pg-hero .ip-copy .hero-content { padding: 60px 30px;}
.inner-pg-hero .ip-bgimg { background-size: cover; background-position: left top; background-repeat: no-repeat; }
.inner-page-content.hero-image .featured-img h1, .inner-page-content.hero-image .featured-img h3, .inner-page-content.hero-image .featured-img p {color: var(--color-white);}
.inner-page-content.hero-image .featured-img p, .inner-page .featured-img .image-heading p {font-size: 1.2em; font-weight: 500; width: 50%;}
.entry-header .standard-header { padding: 1.5rem 0; background-color: var(--color-fa-orange); color: var(--color-white); }
.entry-header .standard-header .entry-title {color: var(--white);}

.form-page .inner-page-content { padding: 0; }
.form-page .entry-content h3 { text-align: center; font-size: 16px; }

.articles-wrap article .entry-footer { padding: 0; color: #e5e5e5; background: none; border-radius: 0; box-shadow: none; border: none; }
.articles-wrap .hentry {border-bottom: 1px solid #4e4c54;}
.articles-wrap .hentry:last-child {border: none; }
.articles-wrap article .entry-footer .entry-meta #author-link {display: none;}
.articles-wrap article .entry-title {border: none; margin: 0 auto; padding: 0 0 20px 0; line-height: 1.1em}
.articles-wrap article .entry-title a {padding: 0;}
.articles-wrap article .entry-content {padding: 0;}
.sidebar-wrapper .entry-title {padding: 0 0 5px 0;}
.single-story {padding: 25px 0;}
.social-share div.sharedaddy h3.sd-title {float: left; border: medium none; margin: 10px 20px 0 0;}
.social-share div.sharedaddy h3.sd-title::before, .social-share div.sharedaddy::before, .social-share div.sharedaddy::after {border: none; content: none;}
.social-share {border-top: 1px solid rgb(238, 238, 238); border-bottom: 1px solid rgb(238, 238, 238); }
.more-stories {clear: both; padding: 20px 0;}
.more-stories .more-heading { padding-bottom: 20px; display: flex; align-items: center; }
.more-stories .single-recent-story .story-featured-image, .blog-content article .post-image { width: 100%; height: 0px; overflow: hidden; padding-bottom: 56%; background-position: center; background-size: cover; }
.more-stories .single-recent-story h1 { font-size: 1.0em; margin-top: 20px; font-weight: 400; letter-spacing: .5px; }
.more-stories .single-recent-story .entry-content {padding: 10px 0;}
.more-heading .text { padding-top: 0px; padding-right: 0.25em; padding-bottom: 0px; padding-left: 0.25em; color: var(--color-fa-green); }
.single .navigation a span {font-size: 1em;}
.single .navigation .nav-links span.navicon {margin-top: 0;}
.nav-justified.icons {text-align: center; margin-top: 20px;}
.newsitem article h1.entry-title { border: none; padding: 0; font-size: 1.2em; margin-top: 0; }
.newsitem article .entry-content {display: none;}
.newsitem article .news-footer .cat-links {float: right;}
.newsitem article {margin: 0 auto; padding: 0;}
.news-content .row {margin: 10px auto;}
.blog-content {padding: 50px 0 50px;}
.blog header.page-header-image h1.entry-title { text-align: center; }
.blog-articles .card {margin: 20px auto;}
.blog-articles .card:first-of-type {margin-top: 0;}
.landing-page .blog-articles .card { border: none; }
.blog-articles article .rm-table-row > div:first-child { background-color: var(--color-fa-green); }
.blog-articles article .article-icon {text-align: center;}
.article-icon i { font-size: 3em; color: var(--color-white);}
.blog .entry-title, .blog .entry-title a { color: var(--color-fa-green); }
.landing-page .blog-articles article h1 {margin-bottom: 0; color: var(--color-fa-green);}
.landing-page .blog-articles article a {color: var(--color-fa-green);}
.landing-page .blog-articles article a:hover {text-decoration: none; color: var(--color-fa-green);}
.landing-page .blog-articles article .entry-content {background: none; padding-left: 0;}
.blog-content article h1.entry-title { margin: 0 auto 20px; padding: 0; font-size: 1.5em; line-height: 1.2em; letter-spacing: 1px; border: none; }
.blog-content article {text-align: center; color: var(--color-fa-green); margin: 0 auto; padding: 0;}
.blog-content article .post-image {margin-bottom: 20px;}
.blog-content article .entry-content {margin: 0 auto; padding: 0;}
.blog-content article .entry-content h3 { color: var(--color-fa-green); font-size: .8em; line-height: 1.2em; margin: 0 auto 10px; }
.blog-content article .article-footer {margin-bottom: 20px;}
.archive.inner-page .page-header, .blog.inner-page .page-header {background-color: var(--color-white); padding: 0; width: 100%; margin-top: 25px;}
.archive.inner-page .page-header h1.entry-title, .blog.inner-page .page-header h1.entry-title {background: var(--color-fa-green); width: 40%; padding: 10px 0; text-transform: uppercase; text-align: center;}
.archive.inner-page .inner-pg-nav .nav, .blog.inner-page .inner-pg-nav .nav {margin-top: 0;}
.page-header h1.entry-title .smallcaps {letter-spacing: 1px; text-transform: initial; }
.single-post .featured-img, .single-press .featured-img { overflow: hidden; max-height: 540px; width: 100%; padding-bottom: 35%; background-size: cover; background-position: center; background-repeat: no-repeat; }
.single-recent-story a button { position: absolute; top: 35%; left: 30px; right: 30px; margin: 0 auto; opacity: 0; }
.single-recent-story .story-featured-image .mask {opacity: 0; background-color: rgba(8, 60, 93, 0.8);}
.single-recent-story .story-featured-image {position: relative;}
.single-recent-story a:hover button, .single-recent-story a:hover .mask { opacity: 1; transition: opacity .25s ease-in-out; }
.blog-articles article .article-image {overflow: hidden;}
.blog-articles article .article-image img { width: 100%; height: 100%; object-fit: cover; object-position: 50% 50%; aspect-ratio: 1/1; transition: all .5s ease-in; display: flex; }
.blog-articles article:hover .article-image img { transform: scale(1.2); transition: all .5s; }
.blog-articles article .story-box { position: relative; height: 100%; display: flex; flex-direction: column; }
.blog-articles article .story-box .article-content { padding: 20px; background-color: #282a2b; color: var(--color-white); }
.blog-articles article .story-box .article-content h3 { color: var(--color-white); font-size: 1em; text-transform: uppercase; line-height: 1.2em; height: 2.5em; }
.single-story .card, .more-stories .card {background-color: #d5d5d5;}
.single-story article h3 {font-size: 1.2em; line-height: 1.2em; font-weight: 600;}
.single-story .social-share {display: none;}

.team-bio {font-size: .8em; line-height: 1.5em; background: none; border: none;}
.team-bio ul {padding-left: 0;}
.individual-team.card {background: var(--color-white-alt); padding: 0px; overflow: hidden; border: none;}
.team-members .individual-team h3 {color: var(--color-fa-green); font-size: 1.25em; margin: 0 auto; padding: 10px 0; line-height: 1em;}
.individual-team .team-title h4 {padding: 0 0 10px 0; margin: 0px auto; color: rgb(51, 51, 51); text-transform: capitalize; font-size: 16px; line-height: 1.2em;}
.individual-team .connect-meta a {margin: 0 2.5px;}
.individual-team .connect-meta a:first-child {margin-left: 0;}
.individual-team .connect-meta a:last-child {margin-right: 0;}
.individual-team .team-pic img {width: 100%;}
.team-members .team-pic { width: 100%; height: 0; overflow: hidden; padding-bottom: 100%; }
.team-page .inner-page-content section {padding: 25px 0; }
.team-members .row {margin: 10px auto;}
.bio-links .btn-custom { text-transform: none; min-width: 175px;}
.bio-links .btn-custom p { clear: both; width: 100%; margin: 10px auto;}
.bio-links i {margin-right: 10px;}
.staff-page .featured-img {text-align: center;}
body.single-team {background-color: var(--color-white-alt) !important;}
.individual-team .connect-item.contact {display: none;}

.glossary-item { padding: 10px 0; border-bottom: 1px solid #bbb; }
.glossary-section.active { display: block; transition: all 275ms; }
.glossary-section.inactive { display: none; transition: all 275ms; }

.our-story .featured-image {margin-top: -200px;}

.access .more-indicator {display: none;}
.access .inner-page-content section {padding: 10px 0;}

.page-data article { padding: 0;}
.page-data article .page-summary {text-align: left; padding: 2.5em; min-height: 250px;}
.page-data article .text {background: var(--color-white); color: var(--color-fa-green);}
.page-data article .image {background-size: cover !important; background-position: center !important; }
.page-data article .page-image { margin: 0 -15px;  }
.page-data article .page-summary h2 {color: var(--color-fa-green);}
.page-data article .page-summary a.btn-clear { background: 0 0; color: var(--color-fa-green); border-color: var(--color-fa-green); font-size: .85em; }
.page-data article .page-summary a.btn-clear:hover { background-color: var(--color-fa-green); color: var(--color-white); }

.country-page .why-we-serve .card .card-body {padding: 15px;}
.block.country-impact {color: #fff;}
.country-page .country-single-article {margin-bottom: 0; padding-bottom: 0;}
.country-impact-content h2 {margin-top: 10px;}
.country-page h1 {font-size: 2.5rem;}
.country-page .country-stats-bar h2 { font-size: 2.5em; color: var(--color-fa-orange); }
.country-page .country-stats-bar h4 {font-size: 18px;}
.country-page .card, .card.img-card, .country-programs-widget .card.program-card {padding: 0; overflow: hidden; border: none;}
.country-page .card .card-body, .card.img-card .card-body, .country-programs-widget .card.program-card .card-body {padding: 15px;}
.country-programs .card .card-hero { position: relative; height: 0; overflow: hidden; width: 100%; padding-bottom: 60%; }
.country-programs .card .card-hero .fa-stack { position: absolute; top: 10px; right: 10px; }
.country-programs .card .service-footer { margin-top: 10px; padding-top: 10px; border-top: 1px solid #eee; color: var(--color-fa-orange); }
.country-programs .card .card-footer { border: none; background: initial; padding: 0 35px; color: var(--color-fa-orange); }
.country-programs .card .card-title {font-size: 22px; text-align: center;}
.country-programs-widget .program-card h2 {font-size: 1.3em; text-align: center; line-height: 1.2em;}
.program-impact-widget .impact-item .impact-value {color: var(--color-fa-orange); }
.program-impact-widget .impact-item .impact-label::first-letter {text-transform: uppercase;}
.country-programs-widget .program-card .card-hero {
  width: 100%;
  overflow: hidden;
  height: 0;
  padding-bottom: 100%;
}

.contact-icon {float: left; width: 20%;}
.contact-details {float: left; width: 80%;}
.contact-item {margin-bottom: 10px; display: inline-block; width: 100%; color: var(--color-fa-green);}
a.contact-link:hover .contact-item {color: #373737;}

.primary-sidebar .widget-title { text-align: left; font-size: 1.25em; text-transform: uppercase; }
.primary-sidebar .widget ul {padding-left: 15px;}
.primary-sidebar .widget ul li {margin-bottom: 2.5px;}
.primary-sidebar .widget ul li a {text-transform: capitalize;}
.primary-sidebar .widget ul.rm_widget {list-style: none !important;}
.blog-content .primary-sidebar .widget ul {padding-left: 15px;}
.blog-content .primary-sidebar .widget ul li {line-height: 1em; margin-bottom: 5px;}
.blog-content .primary-sidebar .widget ul li a {font-size: 12px !important; color: var(--color-fa-green);}
.blog-content .primary-sidebar .widget .widget-title {text-align: left;}

.trip-listing .card .card-header {background: none; min-height: 4em; border: none;}
.trip-listing .card .card-header h2 {font-size: 1.75rem; color: var(--color-fa-green);}
.trip-listing .card .card-footer {background: none; border: none;}
.get-involved .card-header, .get-involved .card-footer {background: none; border: none;}
.get-involved .card .card-body {padding: 15px;}
.stat-number { font-size: 2.5rem; font-weight: 700; color: var(--color-fa-orange); }
.feature-list-icon { width: 50px; height: 50px; background-color: var(--color-fa-green); color: var(--color-white); }
.feature-list-img { width: 100%; height: 100%; object-fit: cover; border-radius: 0.5rem; }

.cta-bg-block {background-size: cover !important;}
.cta-block > div, .cta-block .bg-fixed {background-attachment: initial !important; background-size: cover !important; background-repeat: no-repeat;} 
.cta-block .rm-table-row .col-md-3 {padding:0; }
.cta-block .bg-image {padding-bottom: 40%; position: relative;}
.cta-block .bg-image h1 {color: var(--color-white); position: absolute; top: 40%; left: 25px;}
.page-header h4 {color: var(--color-fa-green);}
.page-content.normal .page-title {color: var(--color-fa-green);}

#trust-bar {
  background-color: #1a667a;
  padding: 1rem 0;
}

#trust-bar .trust-items {
  display: flex;
  flex-wrap: nowrap;        
  justify-content: center;
  align-items: center;
  gap: 1.15rem;              
  color: #fff;
  font-weight: 600;
  font-size: 0.75rem;
  letter-spacing: 0.15em;
  text-transform: uppercase;
  text-align: center;
}

#trust-bar .trust-items span {
  white-space: nowrap;      
}

#trust-bar .trust-items .dot {
  opacity: 0.15;
}

.impact-trust-bar {
  background-color: var(--color-fa-green);
  padding: 0 !important;
}
.impact-stat-item {
  color: var(--color-white);
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: center;
  height: 100%;
  padding: 0 15px;
}
.impact-number {
  color: var(--color-white);
  font-size: 2.5rem;
  font-weight: 800;
  line-height: 1;
  margin-bottom: 0.25rem;
}
.impact-label {
  font-size: 0.85rem;
  font-weight: 700;
  text-transform: uppercase;
  letter-spacing: 1px;
  opacity: 0.9;
}
.ecfa-logo-wrap img {
  max-height: 60px; 
  width: auto;
  filter: brightness(0) invert(1);
}

@media (min-width: 768px) {
  .impact-stat-item { border-right: 1px solid rgba(255,255,255,0.1); }
  .col-md-3:last-child .impact-stat-item { border-right: none; }
}

.single-team .team-member-page h1 {padding-bottom: 0;}
.home .landing-page .block-1 {padding: 15px 0;}

/* ===================================================================
 * 16. WOW AUXILIARY PAGE STYLES
 * =================================================================== */
.wow-custom-page .wow-hero {
  background-size: cover;
  background-position: center;
  padding: 240px 0;
  color: var(--color-white);
  text-align: center;
}
.wow-section .bg-white {background-color: var(--color-white) !important;}
.wow-custom-page .wow-hero h1 { 
  font-weight: 800; 
  font-size: 3.5rem; 
  text-transform: uppercase; 
  letter-spacing: 1px; 
  margin-bottom: 0px;
  padding-bottom: 0; 
  color: var(--color-white); 
}
.wow-custom-page .wow-hero p { 
  font-size: 1.25rem; 
  font-weight: 500; 
  margin-bottom: 30px; 
  max-width: 800px; 
  margin-left: auto; 
  margin-right: auto; 
}
.wow-btn { 
  background-color: var(--color-fa-orange); 
  color: var(--color-white) !important; 
  font-weight: 700; 
  text-transform: uppercase; 
  letter-spacing: 1px; 
  padding: 15px 30px; 
  border-radius: 4px; 
  text-decoration: none; 
  display: inline-block; 
  transition: all 0.3s; 
}
.wow-btn:hover { 
  background-color: var(--color-fa-orange); 
  color: var(--color-white) !important; 
}
.wow-btn-outline { 
  border: 2px solid var(--color-fa-green); 
  color: var(--color-fa-green) !important; 
  font-weight: 700; 
  text-transform: uppercase; 
  padding: 12px 25px; 
  border-radius: 4px; 
  display: inline-block; 
  text-decoration: none; 
  transition: all 0.3s;
}
.wow-btn-outline:hover { 
  background-color: var(--color-fa-green); 
  color: var(--color-white) !important; 
}
.wow-section-light { background-color: var(--color-white-alt); }
.wow-h2 { color: var(--color-fa-green); font-weight: 800; margin-bottom: 25px; }
.wow-card { 
  background: var(--color-white); 
  padding: 40px 30px; 
  border-radius: 8px; 
  box-shadow: var(--card-shadow); 
  height: 100%; 
  text-align: center; 
  border-top: 4px solid var(--color-fa-orange); 
}
.wow-card h3 { 
  color: var(--color-fa-green); 
  font-weight: 800; 
  font-size: 1.5rem; 
  margin-bottom: 15px; 
}

/* ===================================================================
 * 17. PARTNERSHIP PAGES (Blue Theme - No Orange)
 * =================================================================== */
.partner-hero {
  background-size: cover;
  background-position: center;
  padding: 180px 0 !important;
  color: var(--color-white);
  text-align: center;
}
.partner-hero h1 { 
  font-weight: 800; 
  font-size: 3.5rem; 
  text-transform: uppercase; 
  letter-spacing: 1px; 
  color: var(--color-white); 
}
.partner-hero p { 
  font-size: 1.25rem; 
  font-weight: 500; 
  margin-bottom: 30px; 
  max-width: 800px; 
  margin-left: auto; 
  margin-right: auto; 
}
.partner-hero-content h1 {padding-bottom: 0;}
.partner-btn { 
  background-color: var(--color-fa-navy); 
  color: var(--color-white) !important; 
  font-weight: 700; 
  text-transform: uppercase; 
  letter-spacing: 1px; 
  padding: 15px 30px; 
  border-radius: 4px; 
  text-decoration: none; 
  display: inline-block; 
  transition: all 0.3s; 
}
.partner-btn:hover { 
  background-color: var(--color-fa-green); 
  color: var(--color-white) !important; 
}
.partner-btn-outline { 
  border: 2px solid var(--color-fa-navy); 
  color: var(--color-fa-navy) !important; 
  font-weight: 700; 
  text-transform: uppercase; 
  padding: 12px 25px; 
  border-radius: 4px; 
  display: inline-block; 
  text-decoration: none; 
  transition: all 0.3s;
}
.partner-btn-outline:hover { 
  background-color: var(--color-fa-navy); 
  color: var(--color-white) !important; 
}
.partner-section .bg-white { background-color: var(--color-white) !important; }
.partner-section-light { background-color: var(----color-fa-teal); } 
.partner-h2 { color: var(--color-fa-navy); font-weight: 800; margin-bottom: 25px; }
.partner-card { 
  background: var(--color-white); 
  padding: 40px 30px; 
  border-radius: 8px; 
  box-shadow: var(--card-shadow); 
  height: 100%; 
  border-top: 4px solid var(--color-fa-green); 
}
.partner-card h3 { 
  color: var(--color-fa-navy); 
  font-weight: 800; 
  font-size: 1.5rem; 
  margin-bottom: 15px; 
}
.partner-icon {
  font-size: 2.5rem;
  color: var(--color-fa-green);
  margin-bottom: 20px;
}

/* ===================================================================
 * 18. ANIMATIONS & SCROLL REVEALS
 * =================================================================== */
.animated {
  -webkit-animation-duration: 2.5s;
  animation-duration: 2.5s;
  -webkit-animation-fill-mode: both;
  animation-fill-mode: both;
  -webkit-animation-timing-function: linear;
  animation-timing-function: linear;
  animation-iteration-count: infinite;
  -webkit-animation-iteration-count: infinite;
} 

@-webkit-keyframes bounce {
  0%, 20%, 40%, 60%, 80%, 100% {-webkit-transform: translateY(0);}
  50% {-webkit-transform: translateY(-5px);}
} 

@keyframes bounce { 
  0%, 20%, 40%, 60%, 80%, 100% {transform: translateY(0);}
  50% {transform: translateY(-5px);}
} 

.bounce { 
  -webkit-animation-name: bounce;
  animation-name: bounce;
}

/* --- Modern Mission Trip Cards (Editorial Layout) --- */
.trip-card {
  border: none !important;
  border-radius: 12px !important;
  overflow: hidden;
  box-shadow: var(--card-shadow);
  transition: all 0.4s cubic-bezier(0.165, 0.84, 0.44, 1);
  background: var(--color-white);
  padding: 0;
}

.trip-card:hover {
  transform: translateY(-8px);
  box-shadow: var(--card-shadow-hover);
}

.trip-card-img-wrap {
  width: 100%;
  height: 200px;
  overflow: hidden;
  background-color: var(--color-fa-green);
}

.trip-card-img-wrap img {
  width: 100%;
  height: 100%;
  object-fit: cover;
  transition: transform 0.6s ease;
}

.trip-card:hover .trip-card-img-wrap img {
  transform: scale(1.05);
}

.trip-card-body {
  padding: 1.75rem 1.5rem;
  display: flex;
  flex-direction: column;
  flex-grow: 1;
}

.trip-card-title {
  color: var(--color-fa-green);
  font-size: 1.3rem;
  font-weight: 700;
  margin-bottom: 1.25rem;
  line-height: 1.3;
  display: -webkit-box;
  -webkit-line-clamp: 3;
  line-clamp: 3;
  -webkit-box-orient: vertical;
  overflow: hidden;
  min-height: 5.1rem; 
}

.trip-card-meta {
  background: transparent;
  padding: 0;
  border: none;
  margin-bottom: 1.25rem;
  font-size: 0.85rem;
  color: var(--color-gray-700);
}

.trip-card-meta p {
  margin: 0 0 6px 0;
  line-height: 1.5;
}

.trip-card-meta i {
  color: var(--color-fa-orange);
  width: 16px; 
  margin-right: 6px;
  text-align: center;
}

.trip-card-desc {
  font-size: 0.95rem;
  color: var(--color-gray-700);
  margin-bottom: 1.5rem;
  display: -webkit-box;
  -webkit-line-clamp: 3; 
  line-clamp: 3; 
  -webkit-box-orient: vertical;
  overflow: hidden;
}

.trip-card-link {
  margin-top: auto; 
  display: block;
  color: var(--color-fa-green);
  text-decoration: none;
  font-size: 0.9rem;
  font-weight: 700;
  text-transform: uppercase;
  letter-spacing: 1px;
  padding-top: 15px;
  border-top: 1px solid #eee;
  transition: all 0.3s ease;
}

.trip-card:hover .trip-card-link {
  color: var(--color-fa-orange);
  padding-left: 5px; 
}

/* ===================================================================
 * 19. STATS CROSS-GRID & NARRATIVE STYLES
 * =================================================================== */
.stats-section-heading, .fa-heading {
  font-family: var(--title_font);
  color: var(--color-fa-green);
  font-size: 1.65rem;
  font-weight: 800;
  letter-spacing: 1.5px;
  text-transform: uppercase;
}

.stats-cross-grid .stat-box {
     border-color: #d9d9d9 !important; 
    transition: transform 0.35s cubic-bezier(0.16, 1, 0.3, 1), 
                background-color 0.35s ease;
    border-radius: 8px;
}

.stats-cross-grid .stat-box:hover {
    transform: scale(1.04);
    background-color: var(--color-white-alt, #fbf9fa);
    z-index: 2;
}

.stats-cross-grid .stat-count {
    transition: transform 0.3s ease;
}

.stats-cross-grid .stat-box:hover .stat-count {
    transform: scale(1.1);
}

.stats-cross-grid .stat-label {
  font-family: var(--title_font);
  font-size: 0.85rem;
  font-weight: 600;
  letter-spacing: 1.5px;
  color: #7f8c8d;
}

.stats-cross-grid .stat-count {
  font-family: var(--title_font);
  font-weight: 700;
  font-size: 1.85rem;
  color: var(--text_color);
  white-space: nowrap;
}

.stats-cross-grid .stat-desc {
  font-family: var(--copy_font);
  font-size: 0.85rem;
  line-height: 1.5;
  color: #555555;
}

@media (max-width: 767px) {
  .stats-cross-grid .stat-box {
    border-right: none !important;
    padding-left: 0 !important;
    padding-right: 0 !important;
  }
}

/* ===================================================================
 * 20. EDITORIAL GUEST FEEDBACK CARDS
 * =================================================================== */
.feedback-card, .alert.alert-fa {
  background-color: #fbf9fa; 
  border-radius: 8px;
  padding: 25px;
  border: 1px solid #eaeaea;
  transition: transform 0.2s ease-in-out, box-shadow 0.2s ease-in-out;
}

.feedback-card:hover {
  transform: translateY(-3px);
  box-shadow: 0 10px 20px rgba(0, 0, 0, 0.03);
}

.feedback-avatar {
  width: 40px;
  height: 40px;
  background-color: var(--color-fa-teal);
  border-radius: 50%;
}

.feedback-avatar .avatar-letter {
  font-family: var(--title_font);
  color: var(--color-white);
  font-weight: 700;
  font-size: 1.1rem;
}

.feedback-name {
  font-family: var(--title_font);
  font-size: 0.95rem;
  font-weight: 700;
  color: var(--text_color);
  letter-spacing: 0.5px;
}

.feedback-body p {
  font-family: var(--copy_font);
  font-size: 0.925rem;
  line-height: 1.65;
  color: #4a5565; 
}

.partner-logo-wrapper {padding: 25px;}

/* ===================================================================
 * 21. TRUSTED MINISTRIES RESOURCE CARDS
 * =================================================================== */
.ministry-card-link .ministry-card {
  transition: transform 0.25s ease, box-shadow 0.25s ease, border-color 0.25s ease;
}

.ministry-card-link .card-icon {
  transition: transform 0.25s ease, color 0.25s ease;
}

.ministry-card-link .card-title {
  transition: color 0.25s ease;
}

.ministry-card-link:hover .ministry-card {
  transform: translateY(-4px);
  box-shadow: 0 12px 24px rgba(0, 0, 0, 0.08) !important;
  border-color: var(--color-fa-orange) !important;
}

.ministry-card-link:hover .card-title {
  color: var(--color-fa-green) !important;
}

.ministry-card-link:hover .card-icon {
  transform: translate(3px, -3px) scale(1.1);
  color: var(--color-fa-orange) !important;
}

.resource-card-link .resource-card {
transition: transform 0.25s ease, box-shadow 0.25s ease, border-color 0.25s ease;
border: 1px solid #eaeaea !important;
}
.resource-card-link .card-icon {
transition: transform 0.25s ease, color 0.25s ease;
}
.resource-card-link .card-title {
transition: color 0.25s ease;
}
.resource-card-link:hover .resource-card {
transform: translateY(-4px);
box-shadow: 0 12px 24px rgba(0, 0, 0, 0.08) !important;
border-color: var(--color-fa-orange) !important;
}
.resource-card-link:hover .card-title {
color: var(--color-fa-green) !important;
}
.resource-card-link:hover .card-icon {
transform: translateY(-3px) scale(1.1);
color: var(--color-fa-orange) !important;
}

/* ===================================================================
 * 22. HERO CAPTION & LOCATION BADGE STYLES
 * =================================================================== */

.inside-page-header div[style*="pointer-events: none"],
.rm-hero-caption,
.rm-hero-caption *,
.rm-hero-badge,
.rm-hero-badge * {
    pointer-events: auto !important;
}

.rm-hero-caption,
.rm-hero-badge {
    font-size: 0.95rem !important;
    letter-spacing: 3px !important;
    line-height: 1.5 !important;
    font-weight: 700 !important;
    text-transform: uppercase !important;
    color: #ffffff !important;
    text-shadow: 0 2px 8px rgba(0, 0, 0, 0.8) !important;
    text-align: right !important;
}
.rm-hero-badge {text-wrap: initial !important;}

.rm-hero-caption a {
  display: inline-block !important;
  font-size: 0.85rem !important;
  letter-spacing: 1px !important;
  text-transform: uppercase !important;
  color: rgba(255, 255, 255, 0.85) !important;
  text-decoration: none !important;
  margin-bottom: 0.5rem !important;
  transition: color 0.2s ease-in-out;
  margin-bottom: 0 !important;
  padding-bottom: 0 !important;
}

.rm-hero-caption a:hover {
  color: #ffffff !important;
}

.rm-hero-caption h1,
.rm-hero-caption .h1 {
  font-size: 0.95rem !important;
  letter-spacing: 3px !important;
  line-height: 1.5 !important;
  font-weight: 700 !important;
  text-transform: uppercase !important;
  color: #ffffff !important;
  text-shadow: 0 2px 8px rgba(0, 0, 0, 0.8) !important;
  text-align: right !important;
  margin-bottom: 0 !important;
  padding-bottom: 0 !important;
}

.rm-hero-caption p {
  font-size: .95rem !important;
  line-height: 1.4 !important;
  margin: 0 0 0 auto !important;
  letter-spacing: normal !important;
  font-weight: 400 !important;
  text-transform: none !important;
  text-align: right !important;
  color: rgba(255, 255, 255, 0.9) !important;
  text-shadow: 0 1px 6px rgba(0, 0, 0, 0.8) !important;
  margin-bottom: 0 !important;
  padding-bottom: 0 !important;
}

/* ===================================================================
 * 23. RESPONSIVE STYLES (MEDIA QUERIES)
 * =================================================================== */

@media (max-width:481px) {
  .btn.btn-custom {padding: 15px !important;}
  header.primary-header .standard .navbar .nav > li.current-menu-item > a {border: none;}
  .single-country .image-heading {top: 0;}
  .single-country .image-heading .d-flex .btn-custom {padding: 0;}
  .image-heading p.lead {font-size: 1em !important; line-height: 1.1em;}
  .image-heading .mt-4 {margin-top: 10px !important;}
  .image-heading .d-flex a.btn-custom:nth-of-type(2) {margin-top: -10px;}
  .for-mobile-use {display: flex !important;}
  .for-mobile-hide {display: none;}
  .list-group-item.justify-content-between span:last-of-type {text-align: right;}
  div[class^="col-md"] {margin: 10px auto;}
  .max-w-3xl, .max-w-4xl {width: 100%; max-width: 100%;}
  .section-waved svg {height: 40px;}
  .text-lg {font-size: 1.3em;}
  .hero {width: 100%; padding: 10px;}
  .mobile {display: block !important;}
  .blog-content {margin-top: 25px;}
  .blog-articles .row > div {margin: 10px auto;}
  .blog .featured-img img {margin-top: 0 !important;}
  .contact-items {margin-top: 20px;}
  header .navbar .navbar-brand img {max-width: 150px; width: 150px;}
  .home .featured-img, .inner-page .featured-img {padding-bottom: 56% !important;}
  .featured-img .image-heading {padding: 0; left: 0; width: 100%; bottom: 0;}
  .featured-img .image-heading p {width: 100% !important;}
  .hero-inner {width: 100%; padding: 0;}
  .hero-inner p {font-size: 16px; line-height: 1.2em; text-align: center;}
  .sitelogo img.home-mobile {display: table-cell;}
  .sitelogo img.home, .site-logo img.home-shrink {display: none;}
  .mt_m-25 {margin-top: 25px;}
  .item .slide-caption {width: 75%;}
  .item .slide-caption h1 {font-size: 1em !important;}
  .carousel-indicators { bottom: -15px; }
  .inner-page-content .featured-img {padding-bottom: 30%;}
  .inner-page-content.hero-image .featured-img h1 {font-size: 25px;}
  .inner-page-content.hero-image .featured-img p {font-size: 1em; line-height: 1.1em;}
  .block.block-cta {background-attachment: initial;}
  .home-page #s-3 {background-attachment: initial;}
  .blog-content {padding-top: 0;}
  .featured-box .featured-title { top: -43px;}
  .inner-pg-hero .ip-copy {padding: 20px;}
  .blog-articles article .rm-table-row > div:first-child {padding: 20px 0; margin: 10px auto;}
  .landing-page .block3 h1 {margin-top: 0 !important;}
  .landing-page .hero-block h1 {letter-spacing: 1px;}
  .landing-page .hero-block .video-bg {display: none;}
  .page-data article .image {
    background-size: cover !important;
    background-position: center top !important;
  }
  .mobile-cta {display: block;}
  .landing-page .block2 .feature-boxes {margin-top: 0 !important;}
  .featured-img .page-header-image h1, h1 {font-size: 1.5em;}
  .hero-inner h1 {font-size: 1em !important;}
  .footer-wrap .border-left {border: none;}
  .card {margin: 10px auto;}
  #SiteFooter { overflow: auto; height: auto;  margin-top: 0px; }
  footer { margin-top: 0; }
  header { padding: 0; }
  #page { height: auto; }
  .copyright { padding: 5px; }
  #nav { bottom: initial; top: 20px; }
  .inner-page .innerpage-heading, .archive.inner-page .page-header h1.entry-title, .blog.inner-page .page-header h1.entry-title, .inner-page .page-header {width: 90%;}
  .site-name h1 { display: none; }
  .footer-wrap .right, .footer-wrap .left { 	text-align: center;  float: none; }
  .social {  float: none;  display: inline-block; }
  .footer-wrap .social { margin: 10px auto; }
  #gform_wrapper_3 {  float: none; }
  .sticky-header .social-assets {display: none; }
  .rm-table, .rm-table .rm-table-row {display: block;}
  .rm-table .rm-table-row [class*="col-md-"] {display: block ;}
  .footer-menus .row [class*="col-md-"] { margin: 5px auto; }
  .sticky-header {background-color: var(--color-white); position: relative;}
  .navbar-default .navbar-collapse {border: none;}
  .landing-page .hero-block .hero-bg {margin-top: 0;}
  .hero-copy {font-size: .5em;}
  #hero-sub-nav .btn-cta { padding: 5px 10px; font-size: 10px; }
  #hero-sub-nav h2 {font-size: 12px; letter-spacing: 0px;}
  .home-page section {padding: 25px 0; }
  .landing-page h1.tagline {width: 100%; font-size: 1.25em;}
  .page-bottom .col-md-4:last-child,.page-bottom .col-md-4:last-child h3, .page-bottom .col-md-4:last-child h1 {text-align: center;}
  .nobullets {padding: 0;}
  #secondary {padding-top: 25px;}
  .inner-page .entry-content {padding-top: 0;}
  .inner-page .entry-content h1 {font-weight: 400; font-size: 1.25em;}
  section article.hentry {padding-bottom: 0; margin-bottom: 0;}
  section .entry-content {padding-bottom: 0;}
  .product-screenshot .feature-highlights li {width: 25px; padding: 0; font-size: .7em;}
  .product-screenshot.service .feature-highlights .fh-two { bottom: 38%; left: 10%; }
  .inner-page .featured-img .hero-content {position: initial;}
  .inner-page .featured-img .hero-content .jumbotron {font-size: 1em; position: relative;}
  .sticky-header .nav-menu .mobile {display: table-cell;}
  .single-opportunity .deal-logo {float: right; width: 150px; height: 150px; padding: 0; margin-top: -300px;}
  .page-data article .image {
    width: 100%;
    height: 0;
    overflow: hidden;
    padding-bottom: 50%;
  }
  .page-data article .page-summary {padding: 10px;}
  .page-data article {margin: 10px auto;}
  .footer-wrap [class*="col-md-"] {text-align: center;}
  .footer-logo img {max-width: 75px;}
}

@media (min-width:482px) and (max-width:768px) {
  .tablet {display: block !important;}
  #SiteFooter { overflow: auto; height: auto;  margin-top: 0px; }
  footer { margin-top: 0; }
  header { padding: 0; }
  #main { padding-bottom: 0; 	padding-top: 0px; }
  #page { height: auto; }
  .copyright { padding: 5px; }
  #nav { bottom: initial; top: 20px; }
  .navbar .nav > li > a { margin: 5px auto; }
  .sitelogo { float: left; width: 150px; margin-right: 10px; }
  .site-name h1 { display: none; }
  .footer-wrap .right, .footer-wrap .left { 	text-align: center;  float: none; }
  .social {  float: none;  display: inline-block; }
  .footer-wrap .social { margin: 10px auto; }
  #gform_wrapper_3 {  float: none; }
  .sticky-header .social-assets {display: none; }
  .rm-table, .rm-table .rm-table-row {display: block;}
  .rm-table .rm-table-row [class*="col-md-"] {display: block;}
  .sticky-header {background-color: var(--color-fa-green); position: relative;}
  .sticky-header .nav-menu {display: inline-block; width: 100%; margin-top: -75px;}
  .navbar-default .navbar-collapse {border: none;}
  .landing-page .hero-block .hero-bg {margin-top: 0;}
  .hero-copy {font-size: .5em;}
  #hero-sub-nav .btn-cta { padding: 5px 10px; font-size: 10px; }
  #hero-sub-nav h2 {font-size: 12px; letter-spacing: 0px;}
  .home-page section {padding: 25px 0; }
  .landing-page h1.tagline {width: 100%; font-size: 1.25em;}
  .page-bottom .col-md-4:last-child,.page-bottom .col-md-4:last-child h3, .page-bottom .col-md-4:last-child h1 {text-align: center;}
  .nobullets {padding: 0;}
  .inner-page .page-header {padding-bottom: 0;}
  .inner-page .entry-content {padding-top: 0;}
  .inner-page .entry-content h1 {font-weight: 400; font-size: 1.25em;}
  section article.hentry {padding-bottom: 0; margin-bottom: 0;}
  section .entry-content {padding-bottom: 0;}
  .product-screenshot .feature-highlights li {width: 25px; padding: 0; font-size: .7em;}
  .product-screenshot.service .feature-highlights .fh-two { bottom: 38%; left: 10%; }
  .landing-page .hero-block .hero-bg {padding-bottom: 28%;}
  .hero-copy {bottom: 20%;}
  .hero-block .hero-bg img {margin-top: -130px;}
  .inner-page .featured-img .hero-content .jumbotron {font-size: 1em;}
  .sticky-header .nav-menu .mobile {display: table-cell;}
  .single-opportunity .deal-logo {float: right; width: 150px; height: 150px; padding: 0; margin-top: -275px;}
}

@media (min-width:769px) and (max-width:980px) {
  .navbar .nav > li > a { margin: 2.5px; padding: 0px; font-size: 10px; }
  .landing-page .hero-block .hero-bg {padding-bottom: 75%; }
  .sitelogo img {width: 45%;}
  .top-menu .rm-table .rm-table-row .col-md-2 {width: 40%;}
  .hero-copy {font-size: .9em;}
  h1.tagline {width: 100%;}
  #main {padding-top: 128px;}
  .jumbotron {padding: 20px; font-size: 1.25em;}
  #SiteFooter { overflow: auto; height: auto;  margin-top: 0px; }
  footer { margin-top: 0; }
  .footer-wrap .right, .footer-wrap .left { 	text-align: center;  float: none; }
  .social {  float: none;  display: inline-block; }
  .footer-wrap .social { margin: 10px auto; }
  #main {padding-bottom: 0;}
  .page-bottom .col-md-4:last-child,.page-bottom .col-md-4:last-child h3, .page-bottom .col-md-4:last-child h1 {text-align: center;}
  .nobullets {padding: 0;}
  .country-programs-widget .program-card h2 {font-size: 1.2em; line-height: 1.2em;}
}

@media (max-width: 575px) {
  .rm-pillar-grid { grid-template-columns: 1fr; }
  .rm-pillar-card { height: 180px; }
}

@media (min-width:482px) and (max-width:1194px) {
  .country-programs-widget .program-card h2 {font-size: 1.2em; line-height: 1.2em;}
  .featured-img .image-heading {bottom: 5%;}
}

@media (max-width: 767px) {
    .hero-block.mobile-hero-ratio,
    .inside-page-header .hero-image.mobile-hero-ratio {
        --bs-aspect-ratio: 56.25% !important;
    }

    .home .featured-img, 
    .inner-page .featured-img {
        padding-bottom: 0 !important;
    }

    .inside-page-header .image-heading {
        align-items: center !important; 
        padding-bottom: 0 !important;
    }
    
    .inside-page-header .image-heading .container {
        margin-top: 0 !important;
        margin-bottom: 0 !important;
        text-align: center;
    }

    .inside-page-header .image-heading h1 {
        font-size: 2rem !important;
        line-height: 1.2 !important;
        margin-bottom: 0 !important;
    }
}

@media (max-width: 991px) {
  .quote-image-wrap { height: 240px; }
  .quote-body { padding: 1.75rem; }
  .approach-narrative { text-align: center; margin-bottom: 40px; }
  .approach-matrix { gap: 15px; }
  .rm-approach-narrative { margin-bottom: 50px; text-align: center; } 
  .rm-approach-divider { margin: 30px auto 0; }
}

@media (min-width: 992px) {
  .navbar .dropdown-menu {
    display: block; 
    opacity: 0;
    visibility: hidden;
    transform: translateY(10px);
    transition: all 0.3s ease-in-out;
    pointer-events: none; 
  }

  .nav-item.dropdown:hover > .dropdown-menu,
  .nav-item.dropdown .dropdown-menu.show {
    opacity: 1;
    visibility: visible;
    transform: translateY(0);
    pointer-events: auto;
  }
  .nav-item.dropdown:hover > .nav-link {
    cursor: pointer;
  }
  
  .border-start-md {
    border-left: 1px solid #eeeeee !important;
  }
}

@media (max-width: 1280px) {
  .rm-pillar-overlay p { font-size: .9rem; }
}

@media (min-width:1281px) {
  .hero-bubble h1 { font-size: 3em; }
  .country-name {font-size: 1.1rem;}
}

@media (min-width:1500px) {
  .trip-card-title {min-height: 2.8rem;}
}

@supports (-webkit-touch-callout: none) {
  .landing-page .hero-block,
  .block-cta, 
  .rm-block-has-bg-image {
    background-attachment: scroll !important;
  }
}

.mobile-hero-ratio img.hero-img {
    width: 100% !important;
    height: 100% !important;
    object-fit: cover !important;
    object-position: center center;
}

@media (max-width: 767px) {
    .mobile-hero-ratio.ratio-16x9 {
        --bs-aspect-ratio: 95% !important;
    }
    
    .mobile-hero-ratio .image-heading h1 {
        line-height: 1.2 !important;
        padding-bottom: 0 !important;
    }
}

@media (max-width: 767px) {
    .landing-page .hero-block {
        height: auto !important;
        padding: 0 !important;
    }

    .hero-block.mobile-hero-ratio,
    .inside-page-header .hero-image.mobile-hero-ratio,
    .inside-page-header .ratio-16x9,
    .mobile-hero-ratio.ratio-16x9 {
        --bs-aspect-ratio: 56.25% !important;
    }

    .inside-page-header .image-heading {
        align-items: center !important; 
        padding-bottom: 0 !important;
    }

    #s-4,
    .rm-block-content,
    .container {
      padding-left: 20px !important;
      padding-right: 20px !important;
    }

    .card {
      height: auto !important;
      padding-top: 1.75rem !important;
      padding-bottom: 1.75rem !important;
      padding-left: 1.25rem !important;
      padding-right: 1.25rem !important;
      margin-bottom: 1.25rem !important;
    }
}
/* ==========================================================================
   Tablet (iPad / iPad Air) Header & Footer Full-Width Fluid Override
   ========================================================================== */
@media (min-width: 768px) and (max-width: 1194px) {
    .btn.btn-custom {padding: 15px !important;}
    #masthead .container,
    header.primary-header .container,
    #SiteFooter .container,
    footer.footer-wrap .container {
        max-width: 100% !important;
        width: 100% !important;
        padding-left: 2rem !important;
        padding-right: 2rem !important;
    }
}

/* ===================================================================
 * 24. FOCUS GRID & INTERACTIVE MOVEMENTS
 * =================================================================== */

@media (min-width: 992px) and (hover: hover) {
    
    .fa-focus-grid > [class*="col-"] {
        transition: transform 0.4s cubic-bezier(0.16, 1, 0.3, 1), 
                    opacity 0.4s ease, 
                    box-shadow 0.4s ease;
        will-change: transform, opacity;
    }

    .fa-focus-grid .card img {
        transition: transform 0.5s cubic-bezier(0.16, 1, 0.3, 1);
    }

    .fa-focus-grid:hover > [class*="col-"] {
        opacity: 0.55;
        transform: scale(0.96);
    }

    .fa-focus-grid > [class*="col-"]:hover {
        opacity: 1 !important;
        transform: scale(1.08) !important;
        z-index: 10;
    }

    .fa-focus-grid > [class*="col-"]:hover .card {
        box-shadow: 0 1rem 3rem rgba(0, 0, 0, 0.175) !important;
    }

    .fa-focus-grid > [class*="col-"]:hover .card img {
        transform: scale(1.06);
    }
}

/* Scroll-Reveal Base */
.fa-reveal {
    opacity: 0;
    transform: translate3d(0, 24px, 0);
    transition: opacity 0.6s cubic-bezier(0.16, 1, 0.3, 1), 
                transform 0.6s cubic-bezier(0.16, 1, 0.3, 1);
    will-change: opacity, transform;
}

.fa-reveal.is-visible {
    opacity: 1;
    transform: translate3d(0, 0, 0);
}

/* Stagger Delays */
.fa-stagger > *:nth-child(1) .fa-reveal { transition-delay: 0.05s; }
.fa-stagger > *:nth-child(2) .fa-reveal { transition-delay: 0.15s; }
.fa-stagger > *:nth-child(3) .fa-reveal { transition-delay: 0.25s; }
.fa-stagger > *:nth-child(4) .fa-reveal { transition-delay: 0.35s; }
.fa-stagger > *:nth-child(5) .fa-reveal { transition-delay: 0.45s; }

/* Tactile Card Hover Lift & Icon Motion */
.fa-card-lift {
    transition: transform 0.35s cubic-bezier(0.16, 1, 0.3, 1), 
                box-shadow 0.35s cubic-bezier(0.16, 1, 0.3, 1), 
                border-color 0.35s ease;
}

.fa-card-lift:hover {
    transform: translate3d(0, -8px, 0) !important;
    box-shadow: 0 1.25rem 2.5rem rgba(0, 0, 0, 0.12) !important;
}

.fa-card-lift:hover i {
    transform: scale(1.15) rotate(-3deg);
    transition: transform 0.3s ease;
}

.fa-card-lift i {
    transition: transform 0.3s ease;
}

/* Smooth Button Pulse on Hover */
.btn-custom {
    transition: transform 0.25s ease, box-shadow 0.25s ease, background-color 0.25s ease;
}

.btn-custom:hover {
    transform: translate3d(0, -2px, 0);
    box-shadow: 0 6px 20px rgba(200, 104, 40, 0.35);
}

/* Title Divider & <hr> Expand from Center */
.title-divider.fa-reveal-line,
hr.light.fa-reveal-line {
    opacity: 0;
    transform: scaleX(0);
    transform-origin: center;
    transition: transform 0.8s cubic-bezier(0.16, 1, 0.3, 1), 
                opacity 0.6s ease;
    will-change: transform, opacity;
}

.title-divider.fa-reveal-line.origin-left {
    transform-origin: left;
}

.title-divider.fa-reveal-line.is-visible,
hr.light.fa-reveal-line.is-visible {
    opacity: 1;
    transform: scaleX(1);
}
/* ==========================================================================
   Mobile Quick-Facts Card Adjustments (Adventure Location Facts)
   ========================================================================== */
@media (max-width: 767px) {

    /* 1. Add balanced breathing room above and below the card */
    .adventure-location-facts {
        padding: 1.25rem 1rem !important;
    }

    /* 2. Flex-align items cleanly */
    .adventure-location-facts .row > [class*="col"] {
        display: flex;
        flex-direction: column;
        justify-content: flex-start;
        align-items: center;
    }

    /* 3. Scale icons & text down to eliminate awkward 3-line text wrapping */
    .adventure-location-facts .fact-icon {
        font-size: 1.5rem !important;
        margin-bottom: 0.35rem !important;
    }

    .adventure-location-facts .fact-label {
        font-size: 0.7rem !important;
        letter-spacing: 1.2px !important;
        margin-bottom: 0.2rem !important;
    }

    .adventure-location-facts .fact-value {
        font-size: 0.85rem !important;
        line-height: 1.3 !important;
    }
}