/* SAP Expert Button in Divi */
.et-menu .sap-expert-btn > a {
  background-color: #fec01a !important;
  color: #003f67 !important;        /* Lighter eye-catching blue */
  height: 42px !important;          /* Slightly taller fixed height */
  padding: 7px 22px !important;     /* Top/bottom padding + wider sides */
  border-radius: 35px !important;
  font-weight: 700 !important;
  display: flex !important;
  align-items: center !important;   /* Center text vertically */
  justify-content: center !important;
  text-decoration: none !important;
  transition: all 0.3s ease;
  margin-top: 15px !important;      /* Push button further down */
}
/* Hover effect */
.et-menu .sap-expert-btn > a:hover {
  background-color: #f49127 !important;  
  color: #003f67 !important;
  opacity: 1 !important;                /* Prevent faded look */
  filter: none !important;              /* Remove any brightness/contrast filters */
}

/* Adjust width of dropdown menus */

/*set the Divi menu dropdown auto width*/

@media only screen and (min-width: 981px) {
  .nav li ul {
    width: fit-content;
    display: flex;
    flex-direction: column;
  }

  .nav li li {
    white-space: nowrap;
  }
		

  .nav li li a {
    width: auto !important;
  }
}

/* Adjust position of 3rd-level dropdown menus */

@media only screen and (min-width: 981px) {
  .nav li ul ul {
    margin-left: 60px;
    /* Adjust this value to move the 3rd menu to the right */
    top: 0;
    /* Keep the 3rd dropdown aligned vertically */
  }
}

/* ================================
   Contact Form 7 - Two Column Layout
   ================================ */

.two-col {
  display: flex;
  gap: 20px; /* space between left and right column */
}

.two-col > div {
  flex: 1;
}

/* Label styling */
.two-col label {
  display: block;
  margin-bottom: 4px; /* space between label and input */
  font-weight: 600;
}

/* Input styling */
.two-col input {
  width: 100%;
  margin-bottom: 10px; /* reduce space between rows */
}

/* Responsive: stack on small screens */
@media (max-width: 768px) {
  .two-col {
    flex-direction: column;
  }
}

/* ================================
   FORCE HAMBURGER ICON TO #015489
   AND ADJUST POSITION
   ================================ */

/* Default hamburger menu icon */
.mobile_menu_bar:before,
.et_pb_menu .mobile_menu_bar:before {
  color: #015489 !important;
}

/* Mobile only */
@media (max-width: 980px) {
  .mobile_menu_bar:before,
  .et_pb_menu .mobile_menu_bar:before {
    color: #015489 !important;
  }

  /* Move hamburger higher (adjust value as needed) */
  .mobile_menu_bar {
    margin-top: -12px !important;  /* try -12px, tweak if needed */
  }
}

/* Sticky / fixed header (when scrolling) */
.et-fixed-header .mobile_menu_bar:before,
.et-fixed-header .et_pb_menu .mobile_menu_bar:before {
  color: #015489 !important;
}


/* ===== Fixed width for dropdown menus ===== */
@media only screen and (min-width: 981px) {
  /* First-level dropdown */
  #menu-main-menu .sub-menu {
    width: 280px !important;
    min-width: 280px !important;
    max-width: 280px !important;
    background-color: #fff !important; /* Optional: remove or change */
    box-shadow: 0 2px 10px rgba(0,0,0,0.1);
  }

  /* Dropdown items */
  #menu-main-menu .sub-menu li a {
    display: block;
    width: 100% !important;
    padding: 10px 15px !important;
    white-space: normal !important; /* set to nowrap if you prefer single-line */
  }

  /* Third-level dropdown positioning */
  #menu-main-menu .sub-menu .sub-menu {
    left: 100% !important;
    top: 0 !important;
    margin-left: 0 !important;
  }
}
.wpcf7-form-control {
    height: 45px !important;
    box-sizing: border-box;
}

.wpcf7-textarea {
    height: 45px !important; /* makes it same height as text fields */
    resize: none; /* optional: prevents dragging larger */
}

.two-col .col {
    width: 50%;
}

.two-col {
    display: flex;
    gap: 20px;
    margin-bottom: 20px;
}
/* Make all blurb cards equal height */
.service-card {
  height: 100%;
  display: flex;
}

.service-card .et_pb_blurb_content {
  height: 100%;
  display: flex;
  flex-direction: column;
  justify-content: center; /* centers text vertically */
}

/* Keep icon spacing consistent */
.service-card .et_pb_main_blurb_image {
  margin-bottom: 14px;
}

/* CF7: remove any injected separators (|) or borders used as separators */
.wpcf7 .wpcf7-list-item::before,
.wpcf7 .wpcf7-list-item::after,
.wpcf7 .wpcf7-list-item-label::before,
.wpcf7 .wpcf7-list-item-label::after,
.wpcf7 label::before,
.wpcf7 label::after,
.wpcf7 .wpcf7-form-control-wrap::before,
.wpcf7 .wpcf7-form-control-wrap::after {
  content: none !important;
  display: none !important;
  border: 0 !important;
}

/* Align CF7 acceptance checkbox with other checkboxes (remove indent) */
.wpcf7 .wpcf7-acceptance .wpcf7-list-item {
  margin-left: 0 !important;
  padding-left: 0 !important;
  display: block !important;
}

/* Make acceptance label align nicely with the checkbox */
.wpcf7 .wpcf7-acceptance .wpcf7-list-item label {
  margin-left: 0 !important;
  padding-left: 0 !important;
  display: inline-flex !important;
  align-items: flex-start !important;
  gap: 6px !important;
}

/* Optional: nudge checkbox to match baseline (if needed) */
.wpcf7 .wpcf7-acceptance input[type="checkbox"] {
  margin-left: 0 !important;
}
/* Make the 3 cards equal height */
.equal-card-row {
  display: flex;
  align-items: stretch;
  gap: 24px;
}

.equal-card-row .equal-card {
  height: 100%;
  display: flex;
  flex-direction: column;
}

/* On mobile, return to normal stacking */
@media (max-width: 980px) {
  .equal-card-row {
    display: block;
  }
}
/* Equal height columns */
.equal-box-row {
  display: flex;
  flex-wrap: wrap;
}

.equal-box-row .et_pb_column {
  display: flex;
}

.equal-box-row .et_pb_column .et_pb_module {
  display: flex;
  flex-direction: column;
  justify-content: space-between;
  width: 100%;
}

/* Make buttons stick to bottom */
.equal-box-row .et_pb_button_module_wrapper {
  margin-top: auto;
}
/* Equal height boxes (works on all screen sizes) */
.equal-grow-boxes {
  display: flex;
  flex-wrap: wrap;
}

/* Make columns stretch */
.equal-grow-boxes .et_pb_column {
  display: flex;
}

/* Make each box fill height */
.equal-grow-boxes .et_pb_column .et_pb_module {
  display: flex;
  flex-direction: column;
  width: 100%;
}

/* Push content properly */
.equal-grow-boxes .et_pb_module .et_pb_text_inner {
  display: flex;
  flex-direction: column;
  height: 100%;
}

/* Optional: keep spacing consistent */
.equal-grow-boxes .et_pb_module {
  padding: 25px;
}
/* Row layout */
.equal-step-boxes {
  display: flex;
  flex-wrap: wrap;
  align-items: stretch;
}

/* Make every column equal height */
.equal-step-boxes .et_pb_column {
  display: flex;
  align-items: stretch;
}

/* Make module fill the whole column */
.equal-step-boxes .et_pb_module {
  width: 100%;
  display: flex;
  flex-direction: column;
  height: 100%;
}

/* Main card / text box stretches fully */
.equal-step-boxes .et_pb_text {
  height: 100%;
  display: flex;
  flex-direction: column;
}

/* Inner text area also stretches */
.equal-step-boxes .et_pb_text_inner {
  height: 100%;
  display: flex;
  flex-direction: column;
}

/* Optional: keep bottom area aligned nicely */
.equal-step-boxes .et_pb_text_inner p,
.equal-step-boxes .et_pb_text_inner ul {
  margin-bottom: 0;
}