:root {
  --mobile_nav_button_color: #2D368F;
  --mobile_nav_active_button_color: #fff;
  --mobile_nav_background: #2D368F;
  --mobile_nav_item_color: #fff;
  --mobile_nav_dropdown_background: #fff;
  --mobile_nav_dropdown_item_color: #2D368F;

  --desktop_nav_dropdown_background: #fff;


  --bs-link-color-rgb: #2D368F;
	
	--aktiv_grotesk: aktiv-grotesk, sans-serif,system-ui,-apple-system;
}


* {
  -webkit-font-smoothing: antialiased;
  -moz-osx-font-smoothing: grayscale;
}

html {
  scroll-behavior: smooth;
}

html, body {
	color: #2D368F;
	font-family: var(--aktiv_grotesk);
	font-size: 18px;
  overflow-x: hidden;
}

.container, .container-fluid, .container-lg, .container-md, .container-sm, .container-xl, .container-xxl, .row {
  --bs-gutter-x: 1.666667rem;
}

@media (min-width: 768px) {
  :root {
    font-size: calc(1rem + ((1vw - .48rem) * 1.389));
  }

  html, body {
		font-size: 16px;
	}

  .container, .container-fluid, .container-lg, .container-md, .container-sm, .container-xl, .container-xxl, .row {
    --bs-gutter-x: 1.570886rem;
  }
}

@media (min-width: 992px) {
  .container, .container-fluid, .container-lg, .container-md, .container-sm, .container-xl, .container-xxl, .row {
    --bs-gutter-x: 1.252819rem;
  }
}


.container {
	max-width: 52.618391rem;
	width: 100%;
}


.bd_main_menu li {
  cursor: pointer;
  display: inline-block;
  position: relative;
}

@keyframes fadeInNav {
  0% {
      transform: translate(-50%, 20%) scale(0.9);
      opacity: 0;
  }
  100% {
      transform: translate(-50%, 0) scale(1);
      opacity: 1;
  }
}


a:hover {
    --bs-link-color-rgb: #2D368F;
}


header.staticHeader {
    position: static;
}

.bd_main_menu li.menu-item-has-children:hover .sub-menu {
  -webkit-animation: fadeInNav .25s cubic-bezier(.3,.76,.47,1.15);
  animation: fadeInNav .25s cubic-bezier(.3,.76,.47,1.15);
  -webkit-animation-fill-mode: both;
  animation-fill-mode: both;
  display: flex;
  margin-top: 0;
  opacity: 1;
  visibility: visible;
}

.sub-menu {
  visibility: hidden;
}

.sub-menu {
  width: auto;
  height: auto;
  min-width: 9.869720rem;
  padding-top: 0.548108rem;
  padding-bottom: 0.548108rem;
  padding-inline: 0.315831rem;
  border-radius: 2px;
  background-color: var(--desktop_nav_dropdown_background, #fff);
  position: absolute;
  top: 100%;
  left: 50%;
  transform: translateX(-50%);
  box-shadow: 0 1px 1px 2px rgba(0, 0, 0, .08), 0 2px 2px rgba(0, 0, 0, .12), 0 4px 4px rgba(0, 0, 0, .12), 0 6px 6px rgba(0, 0, 0, .12), 0 10px 10px rgba(0, 0, 0, .08);
  z-index: 1000;
  flex-direction: column;
  flex-wrap: wrap;
  opacity: 0;
  list-style: none;
}

ul.sub-menu li a {
  display: block;
}
/* :target {
  scroll-margin-top: 100px;
} */


/* ==========================================================================
   THEME DEFAULTS & BOOTSTRAP OVERRIDES
   This section overrides Bootstrap defaults with theme standards.
   To revert: Remove everything between START and END markers below.
   ========================================================================== */

/* --- START: THEME DEFAULTS --- */

:root {
  /* Theme Core Colors */
  --theme-primary: #2D368F;
  --theme-secondary: #19234A;
  --theme-accent: #019966;
  --theme-accent-light: #08D88D;
  --theme-white: #fff;
  --theme-black: #000;
  
  /* Theme Font */
  --theme-font-family: aktiv-grotesk, sans-serif, system-ui, -apple-system;
  
  /* Bootstrap Color Overrides */
  --bs-body-color: #19234A;
  --bs-body-bg: #fff;
  --bs-link-color: #019966;
  --bs-link-hover-color: #2D368F;
  --bs-primary: #2D368F;
  --bs-primary-rgb: 45, 54, 143;
  --bs-secondary: #19234A;
  --bs-secondary-rgb: 25, 35, 74;
  --bs-success: #019966;
  --bs-success-rgb: 1, 153, 102;
  
  /* Bootstrap Font Overrides */
  --bs-body-font-family: var(--theme-font-family);
  --bs-body-font-size: 1rem;
  --bs-body-font-weight: 400;
  --bs-body-line-height: 1.6;
  
  /* Heading Sizes */
  --theme-h1-size: 2.5rem;
  --theme-h2-size: 2rem;
  --theme-h3-size: 1.75rem;
  --theme-h4-size: 1.5rem;
  --theme-h5-size: 1.25rem;
  --theme-h6-size: 1rem;
}

/* Typography Base */
/* h1, h2, h3, h4, h5, h6,
.h1, .h2, .h3, .h4, .h5, .h6 {
  font-family: var(--theme-font-family);
  color: var(--theme-secondary);
  font-weight: 700;
  line-height: 1.25;
  margin-bottom: 0.75em;
}

h1, .h1 { font-size: var(--theme-h1-size); letter-spacing: -0.02em; }
h2, .h2 { font-size: var(--theme-h2-size); letter-spacing: -0.015em; }
h3, .h3 { font-size: var(--theme-h3-size); letter-spacing: -0.01em; }
h4, .h4 { font-size: var(--theme-h4-size); }
h5, .h5 { font-size: var(--theme-h5-size); }
h6, .h6 { font-size: var(--theme-h6-size); }

p {
  font-family: var(--theme-font-family);
  color: var(--theme-secondary);
  font-size: 1rem;
  line-height: 1.7;
  margin-bottom: 1rem;
} */

/* Links */
/* a {
  color: var(--theme-accent);
  text-decoration: underline;
  transition: color 0.2s ease;
} */

/* a:hover,
a:focus {
  color: var(--theme-primary);
  text-decoration: underline;
} */

/* Blockquote */
blockquote,
.wp-block-quote {
  font-family: var(--theme-font-family);
  font-size: 1.25rem;
  font-style: italic;
  font-weight: 500;
  color: var(--theme-primary);
  border-left: 4px solid var(--theme-accent);
  padding: 1rem 1.5rem;
  margin: 1.5rem 0;
  background-color: rgba(45, 54, 143, 0.04);
}

blockquote p,
.wp-block-quote p {
  color: var(--theme-primary);
  margin-bottom: 0.5rem;
}

blockquote cite,
.wp-block-quote cite {
  font-size: 0.875rem;
  font-style: normal;
  font-weight: 600;
  color: var(--theme-accent);
  display: block;
  margin-top: 0.5rem;
}

/* Lists */
ul, ol {
  font-family: var(--theme-font-family);
  color: var(--theme-secondary);
  line-height: 1.7;
  margin-bottom: 1rem;
  padding-left: 1.5rem;
}

/* li {
  margin-bottom: 0.35rem;
} */

/* Gutenberg Block Defaults */
.wp-block-heading {
  font-family: var(--theme-font-family);
  color: var(--theme-secondary);
}

.wp-block-paragraph {
  font-family: var(--theme-font-family);
  color: var(--theme-primary);
}

.wp-block-list {
  font-family: var(--theme-font-family);
  color: var(--theme-primary);
}

/* Gutenberg Pullquote */
.wp-block-pullquote {
  border-top: 4px solid var(--theme-accent);
  border-bottom: 4px solid var(--theme-accent);
  padding: 2rem 0;
  text-align: center;
}

.wp-block-pullquote blockquote {
  border-left: none;
  background: transparent;
  padding: 0;
}

.wp-block-pullquote p {
  font-size: 1.5rem;
  font-weight: 600;
  color: var(--theme-primary);
}

/* Gutenberg Separator */
.wp-block-separator {
  border: none;
  border-top: 2px solid rgba(45, 54, 143, 0.15);
  margin: 2rem 0;
}

.wp-block-separator.is-style-wide {
  border-top-width: 3px;
}

.wp-block-separator.is-style-dots {
  border: none;
}

.wp-block-separator.is-style-dots::before {
  color: var(--theme-primary);
}

/* Gutenberg Buttons */
.wp-block-button__link {
  font-family: var(--theme-font-family);
  font-weight: 600;
  background-color: var(--theme-accent);
  border-radius: 4px;
  padding: 0.75rem 1.5rem;
  transition: background-color 0.2s ease, transform 0.2s ease;
}

.wp-block-button__link:hover {
  background-color: var(--theme-primary);
  transform: translateY(-1px);
}

.wp-block-button.is-style-outline .wp-block-button__link {
  background-color: transparent;
  border: 2px solid var(--theme-accent);
  color: var(--theme-accent);
}

.wp-block-button.is-style-outline .wp-block-button__link:hover {
  background-color: var(--theme-accent);
  color: var(--theme-white);
}

/* Gutenberg Table */
.wp-block-table table {
  font-family: var(--theme-font-family);
  color: var(--theme-secondary);
}

.wp-block-table th,
.wp-block-table td {
  border: 1px solid rgba(45, 54, 143, 0.15);
  padding: 0.75rem 1rem;
}

.wp-block-table th {
  background-color: var(--theme-primary);
  color: var(--theme-white);
  font-weight: 600;
}

.wp-block-table tbody tr:nth-child(even) {
  background-color: rgba(45, 54, 143, 0.03);
}

/* Gutenberg Code Block */
.wp-block-code,
.wp-block-preformatted,
pre, code {
  font-family: 'SF Mono', Monaco, 'Cascadia Code', Consolas, monospace;
  background-color: rgba(45, 54, 143, 0.06);
  border-radius: 4px;
}

.wp-block-code {
  padding: 1.25rem;
  overflow-x: auto;
}

code {
  font-size: 0.875em;
  padding: 0.2em 0.4em;
  color: var(--theme-primary);
}

/* Bootstrap Button Overrides */
.btn-primary {
  --bs-btn-bg: var(--theme-accent);
  --bs-btn-border-color: var(--theme-accent);
  --bs-btn-hover-bg: var(--theme-primary);
  --bs-btn-hover-border-color: var(--theme-primary);
  --bs-btn-active-bg: var(--theme-primary);
  --bs-btn-active-border-color: var(--theme-primary);
}

.btn-secondary {
  --bs-btn-bg: var(--theme-primary);
  --bs-btn-border-color: var(--theme-primary);
  --bs-btn-hover-bg: var(--theme-secondary);
  --bs-btn-hover-border-color: var(--theme-secondary);
}

.btn-outline-primary {
  --bs-btn-color: var(--theme-accent);
  --bs-btn-border-color: var(--theme-accent);
  --bs-btn-hover-bg: var(--theme-accent);
  --bs-btn-hover-border-color: var(--theme-accent);
}

/* Form Elements */
.form-control,
.form-select {
  font-family: var(--theme-font-family);
  color: var(--theme-secondary);
  border-color: rgba(45, 54, 143, 0.2);
}

.form-control:focus,
.form-select:focus {
  border-color: var(--theme-accent);
  box-shadow: 0 0 0 0.2rem rgba(1, 153, 102, 0.15);
}

/* --- END: THEME DEFAULTS --- */