/* homelandci.org static restore additions (replace behaviour of removed JS plugins) */

/* Elementor stretched sections are sized by assets/site.js */
.elementor-section.elementor-section-stretched { position: relative; }
html, body { overflow-x: hidden; }

/* ---------- hero slideshow (replaces Revolution Slider) ---------- */
.hci-hero { position: relative; height: 800px; max-height: 90vh; min-height: 560px; overflow: hidden; background: #1c0007; }
.hci-slide { position: absolute; inset: 0; background-size: cover; background-position: center; opacity: 0; transition: opacity 1s ease; visibility: hidden; }
.hci-slide.is-active { opacity: 1; visibility: visible; }
.hci-slide-overlay { position: absolute; inset: 0; background: rgba(28, 0, 7, .6); }
.hci-slide-inner { position: relative; height: 100%; display: flex; flex-direction: column; justify-content: center; align-items: flex-start; color: #fff; padding-top: 40px; padding-bottom: 60px; }
.hci-slide-tag { display: inline-block; font-family: 'Jost', sans-serif; font-weight: 500; font-size: 14px; letter-spacing: 2px; text-transform: uppercase; background: rgba(255, 255, 255, .2); padding: 5px 30px; margin-bottom: 18px; color: #fff; }
.hci-hero .hci-slide-title { font-family: 'Jost', sans-serif; font-weight: 900; font-size: 72px; line-height: 84px; color: #fff; max-width: 900px; margin: 0 0 22px; }
.hci-slide-body { font-family: 'Poppins', sans-serif; font-size: 16px; line-height: 28px; color: #fff; max-width: 651px; margin: 0 0 30px; }
.hci-hero-dots { position: absolute; left: 0; right: 0; bottom: 28px; display: flex; justify-content: center; gap: 10px; z-index: 3; }
.hci-hero-dots button { width: 12px; height: 12px; border-radius: 50%; border: 2px solid #fff; background: transparent; padding: 0; cursor: pointer; }
.hci-hero-dots button.is-active { background: #fff; }
@media (max-width: 1024px) {
  .hci-hero { height: 700px; }
  .hci-hero .hci-slide-title { font-size: 60px; line-height: 70px; }
}
@media (max-width: 767px) {
  .hci-hero { height: 640px; min-height: 0; max-height: none; }
  .hci-slide-inner { align-items: center; text-align: center; }
  .hci-hero .hci-slide-title { font-size: 40px; line-height: 48px; font-weight: 700; }
  .hci-slide-body { font-size: 15px; line-height: 24px; }
}

/* ---------- owl carousels -> responsive grids ---------- */
.owl-carousel { display: grid !important; grid-template-columns: repeat(4, minmax(0, 1fr)); gap: 30px; }
.owl-carousel.tm-owl-carousel-5col { grid-template-columns: repeat(5, minmax(0, 1fr)); align-items: center; }
.owl-carousel > * { min-width: 0; }
@media (max-width: 1024px) { .owl-carousel, .owl-carousel.tm-owl-carousel-5col { grid-template-columns: repeat(3, minmax(0, 1fr)); } }
@media (max-width: 767px) { .owl-carousel { grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 16px; } .owl-carousel.tm-owl-carousel-5col { grid-template-columns: repeat(2, minmax(0, 1fr)); } }

/* ---------- isotope layouts (were positioned by JS) ---------- */
.isotope-layout .isotope-item-sizer { display: none; }
.isotope-layout .isotope-layout-inner { position: static !important; height: auto !important; }
.isotope-layout .isotope-item { position: static !important; transform: none !important; }
.isotope-layout.masonry .isotope-layout-inner { column-count: 3; column-gap: 15px; }
.isotope-layout.masonry .isotope-item { float: none; width: 100% !important; break-inside: avoid; margin-bottom: 15px; display: inline-block; }
@media (max-width: 767px) { .isotope-layout.masonry .isotope-layout-inner { column-count: 2; } }

/* ---------- mailto card (replaces contact forms) ---------- */
.hci-mailto-card { padding: 10px 0; }
.hci-mailto-card p { margin-bottom: 14px; }
.hci-mailto-btn { display: inline-flex; align-items: center; gap: 8px; white-space: normal; word-break: break-all; }

/* ---------- menus (menuzord JS replaced by assets/site.js) ---------- */
.menuzord .menuzord-menu li .indicator { display: none; }
@media (min-width: 1025px) {
  .menuzord-menu li { position: relative; }
  .menuzord-menu li > ul.dropdown { display: none; }
  .menuzord-menu li:hover > ul.dropdown, .menuzord-menu li:focus-within > ul.dropdown { display: block; }
}
@media (max-width: 1024px) {
  .menuzord-responsive { display: block !important; width: 100%; }
  .menuzord-responsive .showhide { display: block; margin: 24px 0 24px auto; float: none; }
  .menuzord-responsive .menuzord-menu { display: none; float: none !important; clear: both; background: #fff; }
  .menuzord-responsive.hci-open .menuzord-menu { display: block; }
  .menuzord-responsive .menuzord-menu li { position: relative; display: block; float: none; width: 100%; }
  .menuzord-responsive .menuzord-menu li > a { display: block; padding: 12px 60px 12px 15px; border-top: 1px solid #eee; }
  .menuzord-responsive .menuzord-menu li .indicator { display: flex; cursor: pointer; }
  .menuzord-responsive .menuzord-menu ul.dropdown { display: none; position: static; visibility: visible; opacity: 1; width: 100%; box-shadow: none; padding-left: 0; background: #222429; }
  .menuzord-responsive .menuzord-menu ul.dropdown li > a { padding-left: 40px !important; }
  .menuzord-responsive .menuzord-menu li.hci-sub-open > ul.dropdown { display: block; }
  .menuzord-responsive .menuzord-menu ul.dropdown li { height: auto !important; max-height: none !important; overflow: visible !important; opacity: 1 !important; visibility: visible !important; transform: none !important; }
  .menuzord-responsive .menuzord-menu li, .menuzord-responsive .menuzord-menu li > a, .menuzord-responsive .menuzord-menu ul.dropdown { float: none !important; clear: both; }
  .menuzord-responsive .menuzord-menu ul.dropdown li > a { position: static; opacity: 1 !important; visibility: visible !important; transform: none !important; }
}

/* hero: the Elementor widget wrap is a flex row */
.hci-hero { width: 100%; flex: 1 1 100%; }

/* staff carousel was a bleeding owl slider (widget margin-right:-360px) -> static grid */
.elementor-widget-tm-ele-cpt-staff > .elementor-widget-container { margin-right: 0 !important; }
.owl-carousel.tm-owl-carousel-4col { grid-template-columns: repeat(auto-fit, minmax(200px, 1fr)); }
.team-item .thumb img, .tm-staff .thumb img { aspect-ratio: 1 / 1; object-fit: cover; object-position: center top; width: 100%; height: auto; }
.team-item .hci-photo-placeholder, .tm-staff .hci-photo-placeholder { aspect-ratio: 1 / 1; }
.team-item .social-wrapper:empty { display: none; }

/* partner logos that were never archived -> text links */
.each-logo.hci-partner-text { display: flex; align-items: center; justify-content: center; min-height: 90px; border: 1px solid #e5e5e5; padding: 10px; text-align: center; }
.each-logo.hci-partner-text a { font-family: 'Jost', sans-serif; font-weight: 600; font-size: 17px; color: #1f2532; word-break: break-word; }

/* page title bar (its Elementor CSS post-24844.css was never archived) */
.page-title-wrapper .elementor-top-section { background: #1f2532 url("/wp-content/uploads/2021/06/WhatsApp-Image-2022-08-29-at-1.44.39-PM-10.jpeg") center / cover no-repeat; padding: 90px 0 80px; }
.page-title-wrapper .elementor-background-overlay { position: absolute; inset: 0; background: rgba(31, 37, 50, .72); }
.page-title-wrapper .elementor-container { position: relative; z-index: 1; }
.page-title-wrapper h1.title { color: #fff; }
.page-title-wrapper .breadcrumbs, .page-title-wrapper .breadcrumbs a, .page-title-wrapper .breadcrumbs span, .page-title-wrapper .breadcrumbs i { color: #fff !important; }
.page-title-wrapper .breadcrumbs .trail-end span { opacity: .85; }
.main-content-area > .page > .entry-content > .page-content > .elementor > .elementor-top-section:first-child { margin-top: 0; }

.hci-mailto-btn { text-transform: none !important; }

.hci-hero .hci-slide-inner { max-width: 1230px !important; width: 100%; margin: 0 auto; padding-left: 15px; padding-right: 15px; }
/* info boxes whose icon slot was archived empty */
.tm-sc-info-box .icon-wrapper:empty { display: none; }

/* isotope grids (non-masonry) -> CSS grid so rows line up */
.isotope-layout:not(.masonry) > .isotope-layout-inner { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); }
.isotope-layout.grid-1:not(.masonry) > .isotope-layout-inner { grid-template-columns: 1fr; }
.isotope-layout.grid-2:not(.masonry) > .isotope-layout-inner { grid-template-columns: repeat(2, minmax(0, 1fr)); }
.isotope-layout.grid-4:not(.masonry) > .isotope-layout-inner { grid-template-columns: repeat(4, minmax(0, 1fr)); }
.isotope-layout:not(.masonry) > .isotope-layout-inner > .isotope-item { float: none !important; width: auto !important; margin-bottom: 30px; }
.isotope-layout:not(.masonry) > .isotope-layout-inner::before, .isotope-layout:not(.masonry) > .isotope-layout-inner::after { display: none; }
@media (max-width: 1024px) { .isotope-layout:not(.masonry):not(.grid-1) > .isotope-layout-inner { grid-template-columns: repeat(2, minmax(0, 1fr)); } }
@media (max-width: 575px) { .isotope-layout:not(.masonry) > .isotope-layout-inner { grid-template-columns: 1fr !important; } }
.thumb:has(> .hci-photo-placeholder), .thumb-wrapper:has(.hci-photo-placeholder) { display: block; width: 100%; }
.elementor-widget-image .hci-photo-placeholder { max-width: 600px; margin: 0 auto; }

/* staff photo that was never archived */
.hci-photo-placeholder { display: flex; align-items: center; justify-content: center; width: 100%; aspect-ratio: 1294 / 772; background: #e9ecef; color: #9aa3ad; font-size: 64px; }
.team-item .hci-photo-placeholder, .tm-staff .hci-photo-placeholder { aspect-ratio: 1 / 1; }
@media (max-width: 767px) { #footer .elementor-widget-image img { max-width: 200px; } }
