/* =====================================================
   HEADER & TOPBAR
   ===================================================== */

/* Hide header topbar from the entire website */
.theme-header-topbar,
.theme-topbar-contact-info {
    display: none !important;
}

/* =====================================================
   LOGO STYLING
   ===================================================== */

/* Logo size for Desktop & Tablet */
.theme-logo-parent img[data-zs-logo] {
    width: 180px !important;
    height: auto !important;
}

/* Logo size for Mobile */
@media (max-width: 768px) {
    .theme-logo-parent img[data-zs-logo] {
        width: 130px !important;
        height: auto !important;
    }
}

/* =====================================================
   MEGA MENU & SUBMENU STYLING
   ===================================================== */

/* Submenu font styles
   (Visual editor styles not applying, so using CSS) */
.zpmm .zpmm-inner .zpmm-element.zpmm-title a {
    color: #606060 !important;
    font-family: "Open Sans", sans-serif !important;
    font-size: 16px !important;
    font-weight: 400 !important;
    text-transform: none !important;
    line-height: 1.8 !important;
    letter-spacing: normal !important;
}

/* Mega Menu container width & alignment */
.zpmm.zpmm-container-style-03 {
    width: 95% !important;
    margin-left: 2.5% !important;
}

/* Remove bottom border from mega menu items */
.zpmm .zpmm-inner .zpmm-element {
    border-block-end: none;
}

/* =====================================================
   TYPOGRAPHY – RESPONSIVE HEADINGS & TEXT
   ===================================================== */

/* Tablet typography (768px – 1024px) */
@media (min-width: 768px) and (max-width: 1024px) {

    /* H1 */
    h1,
    h1.zpheading span {
        font-size: 30px !important;
        line-height: 2.1rem !important;
    }

    /* Paragraphs & list items */
    p,
    p span,
    p.zpheading,
    li {
        font-size: 16px !important;
        line-height: 1.5rem !important;
    }

    /* H2 */
    h2,
    h2.zpheading span {
        font-size: 27px !important;
        line-height: 2.1rem !important;
    }
}

/* Mobile typography (below 768px) */
@media (max-width: 767px) {

    /* H1 */
    h1,
    h1.zpheading span {
        font-size: 30px !important;
        line-height: 2.1rem !important;
    }

    /* Paragraphs & list items */
    p,
    p span,
    p.zpheading,
    li {
        font-size: 16px !important;
        line-height: 1.5rem !important;
    }

    /* H2 */
    h2,
    h2.zpheading span {
        font-size: 27px !important;
        line-height: 2.1rem !important;
    }
}

/* H3 size for Tablet & Mobile (below 1024px) */
@media (max-width: 1024px) {
    h3,
    h3.zpicon-heading,
    h3.zpicon-heading span,
    h3.zpicon-heading strong {
        font-size: 20px !important;
        line-height: 1.3 !important;
    }
}

/* =====================================================
   LAYOUT FIXES – IMAGE & TEXT ORDER
   ===================================================== */

/* Reverse image & text order on Mobile and Tablet
   Section: "For New or Seasoned Business Owners" */
@media (max-width: 1024px) {
    .m-reverse div {
        display: flex;
        flex-direction: column-reverse;
    }
}

/* Image-with-text block reverse on Mobile */
@media (max-width: 767px) {
    .zpimage-with-text-container.zpimage-align-right,
    .zpimage-with-text-container.zpimage-align-left {
        display: flex;
        flex-direction: column-reverse !important;
    }
}

/* =====================================================
   ACCORDION STYLING
   ===================================================== */

/* Accordion heading style (About Us page) */
.zpaccordion-name {
    font-size: 16px !important;
    font-weight: 600 !important;
    color: #425968 !important;
}

/* =====================================================
   LINKS & COLORS
   ===================================================== */

/* Footer menu link color */
.zpdark-section a {
    color: #ffffff !important;
}

/* Global link styling */
a {
    color: #219BBA;
    text-decoration: none;
}

/* =====================================================
   UTILITY CLASSES
   ===================================================== */

/* Background helper class (for testing or highlights) */
.backgroundRed {
    background: red;
}

.zpform-mandatory{
	display: none!important;   
}

/* Desktop only */
@media (min-width:1024px){

/* Apply flex layout to Zoho forms */
.zpform-outer{
    display:flex;
    flex-wrap:wrap;
    gap:10px;
    padding:0;
    margin:0;
}

/* Remove default list spacing */
.zpform-outer li{
    list-style:none;
    margin:0;
    padding:0;
}

/* First 3 fields in one row */
.zpform-outer li:nth-child(-n+3){
    flex:1;
    min-width:200px;
}

/* All other fields full width */
.zpform-outer li:nth-child(n+4){
    width:100%;
}

/* Checkbox and button full width */
.zpform-choice-input-container,
.zpform-button{
    width:100%;
}

/* Remove extra vertical spacing */
.zpform-field-container{
    margin-bottom:0;
}
}











/* Fix equal height - override the flex-start alignment */
.e-height .zprow-container {
  display: flex !important;
  flex-wrap: wrap !important;
  align-items: stretch !important;  /* Override the zprow's flex-start */
}

.e-height [data-element-type="column"] {
  display: flex !important;
  flex-direction: column !important;
  align-self: stretch !important;
}

.e-height [data-element-type="iconHeadingText"] {
  height: 100% !important;
  box-sizing: border-box !important;
}

/* Mobile & Tablet stacked - match tallest */
@media (max-width: 991px) {
  .e-height [data-element-type="column"] {
    width: 100% !important;
  }
}