/*
Theme Name: Divi Child
Template: Divi
Author: Randy Hunt - For New Century Mortgages
Version: Divi Forge 5 2.9 - April 2026
Description: Child theme for Divi with custom Indigo overlays and spacing. This also Moves the Text to display on top of the Overlay.
*/

/* =========================================================
   TEAM MEMBER MODULE: Purple Overlay + Text On Image
========================================================= */

.overlay-purple .et_pb_team_member_image{
  position: relative;
}

.overlay-purple .et_pb_team_member_image::after{
  content: '';
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  background: linear-gradient(135deg, rgba(75, 0, 130, 0.7) 0%, rgba(154, 20, 244, 0.6) 100%);
  border-radius: inherit;
  pointer-events: none;
  z-index: 1;
}

.overlay-purple .et_pb_team_member{
  position: relative;
}

.overlay-purple .et_pb_team_member_description{
  position: absolute;
  bottom: 0;
  left: 0;
  right: 0;
  padding: 1.5rem;
  z-index: 10;
  background: transparent;
}

.overlay-purple .et_pb_team_member_name,
.overlay-purple .et_pb_team_member_name h4{
  color: #ffffff !important;
  margin-bottom: 0.5rem !important;
  font-weight: 700 !important;
  font-size: clamp(1.25rem, 1.1rem + 0.6vw, 1.6rem) !important;
}

.overlay-purple .et_pb_team_member_position{
  color: #ffffff !important;
  font-size: clamp(0.85rem, 0.8rem + 0.25vw, 0.95rem) !important;
  border: 2px solid rgba(255, 255, 255, 0.8) !important;
  border-radius: 20px !important;
  padding: 0.5rem 1rem !important;
  display: inline-block !important;
  margin-bottom: 0 !important;
}

.overlay-purple .et_pb_team_member_description p{
  display: none !important;
}

/* =========================================================
   SIMPLE HEADER TICKER
========================================================= */

.simple-ticker{
  background:#23083B !important;
  color:#fff !important;
  display:flex;
  align-items:center;
  gap:14px;
  padding:8px 14px;
  overflow:hidden;
  width:100%;
  max-width:100%;
}

.simple-ticker__label{
  flex:0 0 auto;
  display:inline-flex;
  align-items:center;
  gap:10px;
  font-weight:700;
  font-size:14px;
  white-space:nowrap;
  background:rgba(255,255,255,.06);
  padding:6px 10px;
  border-radius:999px;
}

.simple-ticker__dot{
  width:8px;
  height:8px;
  border-radius:50%;
  background:#90EE90;
  animation: st-pulse 2s ease-in-out infinite;
}

@keyframes st-pulse{
  0%,100%{opacity:1;}
  50%{opacity:.5;}
}

.simple-ticker__marquee{
  flex:1 1 auto;
  overflow:hidden;
  min-width:0;
  margin-left:10px;
}

.simple-ticker__track{
  display:flex;
  align-items:center;
  width:max-content;
  gap:32px;
  animation: st-scroll 30s linear infinite;
}

.simple-ticker__group{
  display:flex;
  align-items:center;
  gap:32px;
  flex:0 0 auto;
}

.simple-ticker__text{
  white-space:nowrap;
  font-size:14px;
}

.simple-ticker__text strong{
  font-weight:800;
}

@keyframes st-scroll{
  0%{ transform: translateX(0); }
  100%{ transform: translateX(-50%); }
}

@media (max-width:980px){
  .simple-ticker__text{
    animation-duration:14s;
  }
}

@media (max-width:767px){
  .simple-ticker{
    padding:7px 12px;
    gap:10px;
  }

  .simple-ticker__label,
  .simple-ticker__text{
    font-size:13px;
  }

  .simple-ticker__text{
    animation-duration:12s;
  }
}

@media (prefers-reduced-motion: reduce){
  .simple-ticker__text{
    animation:none;
  }
}

/* =========================================================
   PURPLE CARDS SLIDER
   Each JPG = one complete slide
========================================================= */

.purple-cards-marquee{
  width:100%;
  position:relative;
  overflow:hidden;
}

.purple-cards-viewport{
  width:100%;
  overflow:hidden;
}

.purple-cards-track{
  display:flex;
  align-items:stretch;
  gap:24px;
  width:max-content;
  animation:purpleScroll 70s linear infinite;
  will-change:transform;
}

.purple-card{
  flex:0 0 auto;
  overflow:hidden;
  border-radius:28px;
  line-height:0;
}

.purple-card img{
  display:block;
  height:420px;
  width:auto;
  max-width:none;
  object-fit:contain;
}

/* smooth infinite movement */

@keyframes purpleScroll{
  0%{
    transform:translateX(0);
  }
  100%{
    transform:translateX(calc(-50% - 24px));
  }
}



/* Tablet */

@media (max-width:980px){

  .purple-card img{
    height:300px;
  }

  .purple-cards-track{
    gap:18px;
    animation-duration:30s;
  }

}

/* Mobile */

@media (max-width:767px){

  .purple-card img{
    height:220px;
  }

  .purple-cards-track{
    gap:12px;
    animation-duration:24s;
  }

}
/* =========================================================
   GLOBAL FIREFOX MOBILE FIX
========================================================= */

html, body{
  overflow-x:hidden !important;
  width:100%;
}

/* MOBILE MENU: force dropdown to the viewport, not the tiny wrapper */
@media (max-width: 980px) {

  .et_mobile_menu,
  .mobile_nav.opened .et_mobile_menu,
  .et_pb_menu .et_mobile_menu,
  .et_pb_fullwidth_menu .et_mobile_menu {
    position: fixed !important;
    top: 80px !important; /* adjust if needed */
    left: 16px !important;
    right: 16px !important;
    width: auto !important;
    min-width: 0 !important;
    max-width: none !important;
    margin: 0 !important;
    transform: none !important;
    box-sizing: border-box !important;
    z-index: 999999 !important;
    overflow: visible !important;
  }

  .et_mobile_menu li,
  .et_mobile_menu li a,
  .et_mobile_menu .sub-menu,
  .et_pb_menu .et_mobile_menu li a,
  .et_pb_fullwidth_menu .et_mobile_menu li a {
    display: block !important;
    width: 100% !important;
    min-width: 100% !important;
    box-sizing: border-box !important;
    white-space: normal !important;
  }
}
/* Make mobile dropdown appear above header buttons/modules */
@media (max-width: 980px) {

  .et_mobile_menu,
  .mobile_nav.opened .et_mobile_menu,
  .et_pb_menu .et_mobile_menu,
  .et_pb_fullwidth_menu .et_mobile_menu {
    z-index: 9999999 !important;
  }

  .mobile_nav,
  .et_mobile_nav_menu,
  .et_pb_menu__wrap,
  .et_pb_menu,
  .et_pb_fullwidth_menu {
    position: relative !important;
    z-index: 9999998 !important;
  }
}
@media (max-width: 980px) {

  .et_pb_button,
  .et_pb_button_module_wrapper,
  .et_pb_column,
  .et_pb_row,
  .et_pb_section {
    z-index: auto !important;
  }

  .et_mobile_menu,
  .mobile_nav.opened .et_mobile_menu,
  .et_pb_menu .et_mobile_menu,
  .et_pb_fullwidth_menu .et_mobile_menu {
    z-index: 9999999 !important;
  }
}
/* Active item in Divi mobile/tablet dropdown */
.et_mobile_menu li.current-menu-item > a,
.et_mobile_menu li.current_page_item > a,
.et_mobile_menu li.current-menu-parent > a,
.et_mobile_menu li.current-menu-ancestor > a,
.et_mobile_menu .current-menu-item > a,
.et_mobile_menu .current_page_item > a,
.et_mobile_menu .current-menu-parent > a,
.et_mobile_menu .current-menu-ancestor > a,
.et_pb_menu .et_mobile_menu li.current-menu-item > a,
.et_pb_menu .et_mobile_menu li.current_page_item > a,
.et_pb_menu .et_mobile_menu li.current-menu-parent > a,
.et_pb_menu .et_mobile_menu li.current-menu-ancestor > a,
.et_pb_menu .et_mobile_menu .current-menu-item > a,
.et_pb_menu .et_mobile_menu .current_page_item > a,
.et_pb_menu .et_mobile_menu .current-menu-parent > a,
.et_pb_menu .et_mobile_menu .current-menu-ancestor > a {
  color: #000000 !important;
  background: #ffffff !important;
  opacity: 1 !important;
  font-weight: 700 !important;
}
/*  Divi Indent unordered list */
.indent-list{
  padding-left: var(--Space-M);
  margin-top: var(--Space-XS);
  margin-bottom: var(--Space-S);
}

.indent-list li{
  margin-bottom: calc(var(--Space-XS) * 0.75);
}
/* ---------------------------------------------------
   LOAN CARD LAYOUT FIX
   Purpose: Make all 6 mortgage loan blurbs equal height
   and behave like vertical cards inside each row.
   Used on: /century-loan pages
   Classes used: loan-card-row (rows) and loan-card (blurbs)
--------------------------------------------------- */

/* Make the row behave like a flex container */
.loan-card-row {
  display: flex;
  flex-wrap: wrap;
}

/* Make each column stretch to equal height */
.loan-card-row > .et_pb_column {
  display: flex;
}

/* Make each blurb act like a vertical card */
.loan-card {
  display: flex;
  flex-direction: column;
  height: 100%;
}
/* Push the button area to the bottom of each loan card */
.loan-card .et_pb_blurb_content {
  display: flex;
  flex-direction: column;
  height: 100%;
}

.loan-card .et_pb_blurb_container {
  display: flex;
  flex-direction: column;
  flex: 1;
}

/* Prevent large empty space at the bottom of the card */
.loan-card .et_pb_blurb_description {
  margin-top: var(--Space-S, 12px);
}
/* Keep the blurb content stretched so descriptions/buttons align evenly */
.loan-card .et_pb_main_blurb_image {
  margin-bottom: var(--Space-S, 16px);
}
/* Loan card hover effect – lift and stronger shadow */

.loan-card {
  transition: transform 0.25s ease, box-shadow 0.25s ease;
  box-shadow: 0 8px 18px rgba(0,0,0,0.10);
}

.loan-card:hover {
  transform: translateY(-6px);
  box-shadow: 0 16px 34px rgba(0,0,0,0.18);
}
/* WIDE TABLET HERO */
@media (min-width: 981px) and (max-width: 1280px) {

  .hero-section .et_pb_row {
    max-width: 1100px !important;
    margin: 0 auto !important;
    align-items: center !important;
  }

  .hero-section .et_pb_column:first-child {
    width: 55% !important;
    padding-right: 40px !important;
  }

  .hero-section .et_pb_column:last-child {
    width: 45% !important;
  }

  .hero-section h1 {
    font-size: clamp(2.2rem, 3vw, 3rem) !important;
    line-height: 1.15 !important;
    margin-bottom: 15px !important;
  }

  .hero-section p {
    font-size: clamp(1rem, 1.4vw, 1.2rem) !important;
    line-height: 1.5 !important;
    max-width: 520px !important;
  }

  .hero-section .et_pb_button_module_wrapper {
    margin-top: 20px !important;
  }

  .hero-section video {
    width: 100% !important;
    height: auto !important;
    object-fit: contain !important;
    display: block !important;
  }
}/* HERO: full-width text when video is hidden on tablet + phone */
@media (max-width: 980px) {

  .hero-section .et_pb_row {
    display: flex !important;
    flex-wrap: wrap !important;
  }

  .hero-section .et_pb_column:first-child {
    width: 100% !important;
    max-width: 100% !important;
    flex: 0 0 100% !important;
    margin-right: 0 !important;
    padding-right: 0 !important;
  }

  .hero-section .et_pb_column:last-child {
    display: none !important;
  }

  .hero-section h1,
  .hero-section p,
  .hero-section .et_pb_button_module_wrapper {
    text-align: center !important;
  }

  .hero-section p {
    max-width: 100% !important;
  }
}
/* WIDE TABLET HERO FONT FIX */
@media (min-width: 981px) and (max-width: 1280px) {

  .hero-section h1 {
    font-size: clamp(1.9rem, 2.4vw, 2.5rem) !important;
    line-height: 1.15 !important;
  }

  .hero-section p {
    font-size: clamp(0.95rem, 1.2vw, 1.1rem) !important;
    line-height: 1.5 !important;
  }

}
/* WIDE TABLET HERO FONT FIX */
@media (max-width: 1200px) {

  .hero-section h1 {
    font-size: clamp(1.9rem, 2.2vw, 2.4rem) !important;
    line-height: 1.15 !important;
  }

  .hero-section .et_pb_text_inner p,
  .hero-section .et_pb_text p,
  .hero-section .et_pb_module p {
    font-size: clamp(0.9rem, 1vw, 1rem) !important;
    line-height: 1.45 !important;
  }
}
.top-login-row .et_pb_column {
  display: flex !important;
  justify-content: flex-end !important;
  width: 100% !important;
}

.top-login-row .et_pb_module {
  margin-left: auto !important;
}

@media (max-width: 980px) {
  .top-login-row .et_pb_column {
    justify-content: flex-end !important;
  }

  .top-login-row .et_pb_module {
    margin-left: auto !important;
    margin-right: 0 !important;
  }
}

@media (max-width: 767px) {
  .top-login-row .et_pb_column {
    justify-content: center !important;
  }

  .top-login-row .et_pb_module {
    margin-left: auto !important;
    margin-right: auto !important;
  }
}

/* Hide submenus by default on mobile */
@media (max-width: 980px) {
  .et_mobile_menu .menu-item-has-children > ul.sub-menu {
    display: none;
  }

  /* Show when active */
  .et_mobile_menu .menu-item-has-children.open > ul.sub-menu {
    display: block;
  }

  /* Add clickable arrow indicator */
  .et_mobile_menu .menu-item-has-children > a::after {
    content: "▼";
    float: right;
    font-size: 12px;
  }
}

/* =========================================================
   HERO ROBOT VIDEO
   Expands video inside Divi Code module (removes size constraints)
   Ensures responsive scaling across desktop, tablet, and mobile
========================================================= */

/* Make the Code module fill its column */
.hero-robot-video,
.hero-robot-video .et_pb_code_inner {
  width: 100%;
  height: 100%;
}

/* Control the actual video size */
.hero-robot-video video {
  display: block;
  width: 100% !important;

  /* Responsive height using your clamp system */
  height: clamp(320px, 42vw, 720px) !important;

  /* Use 'contain' to show full robot, 'cover' to fill area */
  object-fit: contain;

  margin: 0 auto;
}
/* =========================================================
   GLOBAL LINK STYLE (Mortgage Site)
   Clean links + underline on hover
========================================================= */

a {
  text-decoration: none;
}

a:hover {
  text-decoration: underline;
}
/* =========================================================
   EQUAL HEIGHT BLURB CARDS (Broker Benefits)
========================================================= */

.equal-blurbs {
  display: flex;
  flex-wrap: wrap;
}

.equal-blurbs .et_pb_column {
  display: flex;
}

.equal-blurbs .et_pb_blurb {
  display: flex;
  flex-direction: column;
  width: 100%;
  height: 100%;
}

/* This makes the content stretch nicely */
.equal-blurbs .et_pb_blurb_content {
  display: flex;
  flex-direction: column;
  height: 100%;
}

/* Push button or last element to bottom if needed */
.equal-blurbs .et_pb_module_inner {
  display: flex;
  flex-direction: column;
  height: 100%;
}