/* ============================================================

   DICTA — global.css

   Variables, Reset, Typography, Buttons, Forms, Links, Layout

   ============================================================ */



/* ── CSS VARIABLES ─────────────────────────────────────── */

:root {

  /* ── Fonts — change here to update everywhere ─────────────

     To switch fonts: update these 3 lines only

     Then update Google Fonts import below

  ─────────────────────────────────────────────────────── */

  --font-head: 'Outfit', sans-serif;

  --font-body: 'DM Sans', system-ui, sans-serif;

  --font-body-secondary: 'DM Serif Display', serif;

  --font-mono: 'DM Mono', monospace;

  --font-logo: Georgia, serif;



  --bl:       #1b4694;

  --bld:      #122f65;

  --blh:      #0c1e4a;

  --blx:      #f0f5ff;

  --bll:      #dce8fa;

  --gr:       #13a64e;

  --grd:      #0d7a38;

  --grh:      #5de898;

  --grl:      #e0f5ea;

  --tx:       #0e1525;

  --txm:      #3a3f5c;

  --txs:      #6b7299;

  --txx:      #9da3be;

  --bo:       #e4e6ef;

  --alt:      #f5f6fb;

  --grey: #eaecf4;

  --wh:       #ffffff;

  --wh-75: rgba(255, 255, 255, 0.75);

  --wh-90: rgba(255, 255, 255, 0.90);

  --wh-55: rgba(255, 255, 255, 0.55);

  --wh-07: rgba(255, 255, 255, 0.07);

  --mxw:      1280px;

  --rad-card: 13px;

  --rad-btn:  8px;

  --hdr-h:    64px;

  --btn-px:   24px;

  --btn-py:   12px;

  --trans:    0.14s ease;

}



/* ── RESET & BASE ──────────────────────────────────────── */

*, *::before, *::after { box-sizing: border-box; }

html { scroll-behavior: smooth; -webkit-text-size-adjust: 100%; }

body, .et_pb_section, .et_pb_row, .et_pb_module {

  font-family: var(--font-body);

  font-size: 15px;

  color: var(--txm);

  line-height: 1.7;

  -webkit-font-smoothing: antialiased;

  -moz-osx-font-smoothing: grayscale;

}

/* ── Heading Tags ──────────────────────────────────────── */

h1, h2, h3, h4, h5, h6 {

  font-family: var(--font-head);

  padding-bottom: 0 !important;

  margin-top: 0;

  margin-bottom: 0px;  

  font-weight: 700 !important;

}

h1 {

  font-size: 48px !important;

  font-weight: 800 !important;

  line-height: 1.2;

  color: var(--bld);

}

h2 {

  font-size: 34px !important;

  font-weight: 800 !important;

  line-height: 1.2;

}

h3 {

  font-size: 28px !important;

  line-height: 1.2;

}

h4 {

  font-size: 20px !important;

  line-height: 1.3;

}

h5 {

  font-size: 13px;

  line-height: 1.35;

  text-transform: uppercase;

}

h6 {

  font-size: 11px;

  line-height: 1.4;

  color: var(--txs);

  text-transform: uppercase;

}

/* ── 12. BUTTONS ──────────────────────────────────────────── */



/* Base button — remove ALL Divi defaults first */

.et_pb_button,

.et_pb_button:visited,

.et_pb_button:hover,

.et_pb_button:focus,

.et_pb_button:active,

.dicta-btn,

.dicta-btn:visited,

.dicta-btn:hover,

.dicta-btn:focus,

.dicta-btn:active ,
 .et_button_no_icon .et_pb_button, 
 .et_button_no_icon .et_pb_button:hover,
 .et_button_no_icon .et_pb_button:focus,
.et_button_no_icon .et_pb_button:active {



  font-family: var(--font-body) !important;

  font-weight: 700 !important;

  font-size: 14px !important;

  letter-spacing: 0 !important;

  text-transform: none !important;

  text-decoration: none !important;

  border-radius: var(--rad-btn) !important;

  padding: var(--btn-py) var(--btn-px) !important;

  line-height: 1.4 !important;

  display: inline-flex !important;

  align-items: center !important;

  justify-content: center !important;

  white-space: nowrap !important;

  cursor: pointer !important;

  transition: background-color 0.14s ease, color 0.14s ease, border-color 0.14s ease !important;

  transform: none !important;

  -webkit-transform: none !important;

  box-shadow: none !important;

  outline: none !important;

}



/* Remove ALL Divi button pseudo elements — stops flickering */

.et_pb_button::before,

.et_pb_button::after {

  display: none !important;

  content: none !important;

  animation: none !important;

  transition: none !important;

}



/* Remove Divi button wrapper margin */

.et_pb_button_module_wrapper {

  margin: 0 !important;

  display: inline-flex !important;

  align-items: center !important;

}

.et_pb_button_module_wrapper .et_pb_button {

  border-width: 0 !important;

  width: 100% !important;

}



/* ── Default blue button ───────────────────────────────────── */

.et_pb_button, .dicta-btn {

  background-color: var(--bl) !important;

  color: var(--wh) !important;

  border: none !important;

}

.et_pb_button:hover {

  background-color: var(--bld) !important;

  color: var(--wh) !important;

  border: none !important;

  transform: none !important;

}



/* ── btn-enquiry — blue filled ────────────────────────────── */

.et_pb_button.btn-enquiry {

  background-color: var(--bl) !important;

  color: var(--wh) !important;

  border: none !important;

}

.et_pb_button.btn-enquiry:hover {

  background-color: var(--bld) !important;

  color: var(--wh) !important;

}



/* ── btn-green — green filled ─────────────────────────────── */

.et_pb_button.btn-green, .btn-green {

  background-color: var(--gr) !important;

  color: var(--wh) !important;

  border: none !important;

}

.et_pb_button.btn-green:hover {

  background-color: var(--grd) !important;

  color: var(--wh) !important;

}



/* ── btn-outline — transparent + blue border ──────────────── */

.et_pb_button.btn-outline {

  background-color: transparent !important;

  color: var(--bl) !important;

  border: 1.5px solid var(--bl) !important;

}

.et_pb_button.btn-outline:hover {

  background-color: var(--blx) !important;

  color: var(--bld) !important;

  border-color: var(--bld) !important;

}



/* ── btn-ghost — white transparent on dark BG ─────────────── */

.et_pb_button.btn-ghost {

  background-color: rgba(255,255,255,0.08) !important;

  color: var(--wh) !important;

  border: 1.5px solid rgba(255,255,255,0.22) !important;

}

.et_pb_button.btn-ghost:hover {

  background-color: rgba(255,255,255,0.16) !important;

  color: var(--wh) !important;

  border-color: rgba(255,255,255,0.40) !important;

}



/* ── btn-secondary — light blue ───────────────────────────── */

.et_pb_button.btn-secondary {

  background-color: var(--blx) !important;

  color: var(--bl) !important;

  border: 1px solid var(--bll) !important;

  font-size: 13px !important;

}

.et_pb_button.btn-secondary:hover {

  background-color: var(--bll) !important;

  color: var(--bld) !important;

  border-color: var(--bl) !important;

}



/* ──  HEADER & NAVIGATION ──────────────────────────────── */

#dicta-main-header #dicta-main-nav li {

    margin-top: 0 !important;

}

#dicta-main-header #dicta-main-nav li a {

  font-family: var(--font-body) !important;

  font-size: 15px !important;

  font-weight: 600 !important;

  padding: 12px 20px !important;

  color: var(--bl) !important;

  border-radius: 5px;

}

#dicta-main-header #dicta-main-nav li a:hover {

  color: var(--bl) !important;

  opacity: 1 !important;

  transition: none !important;

  background: var(--bll) !important;

}

#dicta-main-header #dicta-main-nav li.current-menu-item > a,

#dicta-main-header #dicta-main-nav li.current-menu-ancestor > a {

  background-color: var(--bll) !important;

}

@media (min-width: 981px) {

    #dicta-main-header.et_pb_section_sticky {

        padding: 16px 0 !important;

    }

}
@media (min-width: 768px) and (max-width: 981px) {

.hero-category-list .dicta-cat-card {
    width: 280px !important;
}
}
@media (max-width: 981px) {

h1 {
  font-size: 34px !important;
}

h2 {
  font-size: 28px !important;
}

h3 {
  font-size: 24px !important;
}

.hero-stats-section .stats-row {
   justify-content: center;
   margin-bottom: 16px;
}


/* BREAK OUT OF SMALL PARENT */

#dicta-main-header .et_mobile_nav_menu {

  position: static !important;

}



/* MAKE MENU FULL SCREEN */

#dicta-main-header .opened .et_mobile_menu {

  position: fixed !important;

  top: 0;

  left: 0;

  width: 100vw !important;

  height: 100vh;

  background: var(--wh);

  z-index: 999999;

  display: flex !important;

  flex-direction: column;

  padding-top: 60px;

}

#dicta-main-header .mobile_nav {

  display: flex;

  align-items: center;

}

/* Default hamburger */

/* When menu is open → show X */

#dicta-main-header .mobile_nav.opened .mobile_menu_bar {

    transform: none;

}

#dicta-main-header .mobile_nav.opened .mobile_menu_bar:before {

  content: "\4d"; /* close icon */

  z-index: 9999999;

}

}



/* ──  Page Title Bar ──────────────────────────────── */

#dicta-title-bar .dicta-breadcrumbs, 

#dicta-title-bar .dicta-breadcrumbs a {

   color: var(--grd);

   font-size: 12px;

   cursor: pointer;

   font-weight: 600;

}

#dicta-title-bar .dicta-breadcrumbs a:hover {

    color: var(--wh-75);

}

#dicta-title-bar .dicta-page-title h1 {

    color: var(--alt) !important;

    margin-bottom: 0 !important;

    padding-bottom: 0 !important;

    font-size: 28px;

    font-weight: 500 !important;

}



.dicta-icon {

  font-family: "ETmodules" !important;

  font-size: 16px;

  margin-right: 8px;

  display: inline-block;

}

.dica-heading-section h2 { 
    margin-bottom: 12px;
}

.dica-heading-section, .dica-heading-section p { 
    text-align: center;
}

/* Section Label with lines */

.dicta-section-label .et_pb_text_inner {

  display: flex;

  align-items: center;

  justify-content: center;

  gap: 12px;

  text-align: center;

  font-size: 12px;

  font-weight: 600;

  letter-spacing: 2px;

  text-transform: uppercase;

  color:var(--gr);

  margin-bottom: 12px;

}

.dicta-section-label .et_pb_text_inner p {

  color:var(--gr);

}



/* Left & Right lines */

.dicta-section-label .et_pb_text_inner::before,

.dicta-section-label .et_pb_text_inner::after {

  content: "";

  display: inline-block;

  width: 30px;

  height: 2px;

  background: var(--gr);

}