/* Common CSS styles extracted from HTML files */

/* Theme Variables */
:root {
  --spacing-base: .5rem;
  --spacing-tiny: var(--spacing-base);
  --spacing-smaller: calc(var(--spacing-base)*1.5);
  --spacing-small: calc(var(--spacing-base)*2);
  --spacing-medium: calc(var(--spacing-base)*2.5);
  --spacing-default: calc(var(--spacing-base)*3);
  --spacing-large: calc(var(--spacing-base)*4);
  --spacing-large-2: calc(var(--spacing-base)*6);
  --spacing-large-3: calc(var(--spacing-base)*7);
  --spacing-large-4: calc(var(--spacing-base)*8);
  --spacing-large-5: calc(var(--spacing-base)*12);
  --spacing-large-6: calc(var(--spacing-base)*14);
  --spacing-large-7: calc(var(--spacing-base)*18);
  --spacing-sections-wide: calc(var(--spacing-base)*14);
  --border-radius-default: 6px;
  --border-radius-large: 12px;
  --box-shadow-soft: 0 3px 20px 12px hsla(0, 0%, 47%, .1);
  --box-shadow-sharp: 0px 2px 16px #00000024;
  --box-shadow-none: none;
  --box-shadow-cards: var(--box-shadow-sharp);
  --boxes-border-radius: 8px;
  --boxes-border-width: 1px;
  --images-border-radius: 8px;
  --height-header-default: 72px;
  --height-header: var(--height-header-default);
  --height-banner: 48px;
  --max-height-logo: 48px;
  --bg-forms: var(--color-white);
  --text-color-forms: #111;
  --forms-border-width: 1px;
  --forms-border-color: rgba(0, 0, 0, .18);
  --forms-border-color-hover: rgba(0, 0, 0, .6);
  --forms-box-shadow: none;
  --forms-border-radius: 4px;
  --forms-placeholder-color: rgba(0, 0, 0, .4);
  --transition-timing-default: cubic-bezier(.81, .12, .15, .97);
  --color-grey-50: #faf9f6;
  --color-grey-100: #f6f4ef;
  --color-grey-200: #f4f4f4;
  --color-grey-300: #e8e7e3;
  --color-grey-500: #a2a2a2;
  --color-grey-700: #414140;
  --color-grey-900: #232323;
  --color-grey-1000: #12161c;
  --color-white: #fff;
  --color-black: #000;
  --color-success: #1cb67c;
  --color-success-light: #72cda1;
  --color-success-dark: #0f4e37;
  --color-success-hover: #16865b;
  --color-error: #e13c26;
  --color-error-light: #ffa194;
  --color-error-dark: #9b2516;
  --color-error-hover: #f54931;
  --bg-body: #fff;
  --font-color-headlines: #111;
  --font-color-body: #4d4c4c;
  --bg-boxes: var(--color-white);
  --theme-color: #ffd7aa;
  --theme-color100: #ffe1bf;
  --theme-color300: #ffce95;
  --theme-color500: var(--theme-color);
  --theme-color700: #edb26f;
  --theme-color900: #251d15;
  --theme-color-bg: var(--color-white);
  --theme-color-headings: var(--color-black);
  --theme-color-text: var(--color-black);
  --theme-color-links: #251d15;
  --theme-color-links-hover: #251d15;
  --theme-color-buttons: #c66a00;
  --theme-color-button-text: var(--color-black);
  --theme-color-buttons-hover: #e47900;
  --theme-color-buttons-border: transparent;
  --theme-color-boxes-bg: var(--color-white);
  --theme-color-boxes-border-color: transparent;
  --theme-color-boxes-headings: var(--font-color-headlines);
  --theme-color-boxes-text: var(--font-color-body);
  --theme-color-boxes-links: #251d15;
  --theme-color-boxes-buttons: #c66a00;
  --theme-color-boxes-button-text: var(--color-black);
  --theme-color-boxes-buttons-hover: #e47900;
  --theme-color-boxes-buttons-border: transparent;
}

/* Theme Classes */
.theme-custom {
  --bg-body: rgb(255, 255, 255);
  --font-color-body: rgb(33, 54, 46);
  --font-color-headlines: #000000;
  --button-border-width: 2px;
  --button-border-radius: 24px;
  --button-border-radius-large: 36px;
  --button-box-shadow: 0px 2px 2px 0px rgba(0, 0, 0, 0.1);
  --bg-body: #ffffff;
  --boxes-border-radius: 15px;
  --boxes-border-width: 1px;
  --images-border-radius: 10px;
}

.theme-primary {
  --theme-color: rgb(255, 255, 255);
  --theme-color100: #ffffff;
  --theme-color300: #f8f9fa;
  --theme-color500: #007bff;
  --theme-color700: #e9ecef;
  --theme-color900: #dee2e6;
  --theme-color-bg: rgb(255, 255, 255);
  --theme-color-headings: #212529;
  --theme-color-text: rgb(52, 58, 64);
  --theme-color-links: rgb(0, 123, 255);
  --theme-color-links-hover: rgb(0, 86, 179);
  --theme-color-buttons: rgb(0, 123, 255);
  --theme-color-button-text: #ffffff;
  --theme-color-buttons-hover: rgb(0, 86, 179);
  --theme-color-buttons-border: transparent;
  --theme-color-boxes-bg: rgba(0, 123, 255, 0.05);
  --theme-color-boxes-border-color: rgb(0, 123, 255);
  --theme-color-boxes-headings: rgb(52, 58, 64);
  --theme-color-boxes-text: rgb(52, 58, 64);
  --theme-color-boxes-links: rgb(0, 123, 255);
  --theme-color-boxes-buttons: rgb(0, 123, 255);
  --theme-color-boxes-button-text: #ffffff;
  --theme-color-boxes-buttons-hover: rgb(0, 86, 179);
  --theme-color-boxes-buttons-border: transparent;
  --theme-color-text-inactive: rgba(52, 58, 64, 0.4);
}

.theme-secondary {
  --theme-color: rgb(33, 37, 41);
  --theme-color100: #6c757d;
  --theme-color300: #495057;
  --theme-color500: #28a745;
  --theme-color700: #212529;
  --theme-color900: #000000;
  --theme-color-bg: rgb(33, 37, 41);
  --theme-color-headings: rgb(255, 255, 255);
  --theme-color-text: rgb(248, 249, 250);
  --theme-color-links: rgb(40, 167, 69);
  --theme-color-links-hover: rgb(32, 134, 55);
  --theme-color-buttons: rgb(40, 167, 69);
  --theme-color-button-text: #ffffff;
  --theme-color-buttons-hover: rgb(32, 134, 55);
  --theme-color-buttons-border: transparent;
  --theme-color-boxes-bg: rgb(248, 249, 250);
  --theme-color-boxes-border-color: transparent;
  --theme-color-boxes-headings: #212529;
  --theme-color-boxes-text: #495057;
  --theme-color-boxes-links: #007bff;
  --theme-color-boxes-buttons: rgb(40, 167, 69);
  --theme-color-boxes-button-text: #ffffff;
  --theme-color-boxes-buttons-hover: rgb(32, 134, 55);
  --theme-color-boxes-buttons-border: transparent;
  --box-shadow-cards: var(--box-shadow-none);
  --theme-color-text-inactive: rgba(248, 249, 250, 0.4);
}

.theme-blk {
  background: black;
  color: var(--theme-color-text);
}

.theme-button {
  --theme-color-boxes-buttons:rgb(15, 44, 98);
}

.theme-form {
  /*--theme-color-boxes-buttons:rgb(15, 44, 98);*/
  --theme-color: #0071ff;
  --theme-color100: #e6f2ff;
  --theme-color300: #99ccff;
  --theme-color500: #0071ff;
  --theme-color700: #004399;
  --theme-color900: #001633;
  --theme-color-bg: #0071ff;
  --theme-color-headings: #ffffff;
  --theme-color-text: #ffffff;
  --theme-color-links: #e6f2ff;
  --theme-color-links-hover: #99ccff;
  --theme-color-buttons: #e6f2ff;
  --theme-color-button-text: #0071ff;
  --theme-color-buttons-hover: #ffffff;
  --theme-color-buttons-border: transparent;
  --theme-color-boxes-bg: #0071ff;
  --theme-color-boxes-border-color: transparent;
  --theme-color-boxes-headings: #e6f2ff;
  --theme-color-boxes-text: #ffffff;
  --theme-color-boxes-links: #e6f2ff;
  --theme-color-boxes-buttons: #e6f2ff;
  --theme-color-boxes-button-text: #0071ff;
  --theme-color-boxes-buttons-hover: #ffffff;
  --theme-color-boxes-buttons-border: transparent;
  --box-shadow-cards: var(--box-shadow-none);
  --theme-color-text-inactive: rgba(255, 255, 255, 0.4);
}

.theme-tertiary {
  --theme-color: rgb(15, 44, 98);
  --theme-color100: #e8edf7;
  --theme-color300: #a8c1e8;
  --theme-color500: #0F2C62;
  --theme-color700: #0a1f47;
  --theme-color900: #051530;
  --theme-color-bg: rgb(15, 44, 98);
  /*--theme-color-bg: black;*/
  --theme-color-headings: rgb(255, 255, 255);
  --theme-color-text: rgb(255, 255, 255);
  --theme-color-links: rgb(232, 237, 247);
  --theme-color-links-hover: rgb(168, 193, 232);
  --theme-color-buttons: rgb(232, 237, 247);
  --theme-color-button-text: rgb(15, 44, 98);
  --theme-color-buttons-hover: rgb(255, 255, 255);
  --theme-color-buttons-border: transparent;
  --theme-color-boxes-bg: rgb(15, 44, 98);
  --theme-color-boxes-border-color: transparent;
  --theme-color-boxes-headings: rgb(232, 237, 247);
  --theme-color-boxes-text: rgb(255, 255, 255);
  --theme-color-boxes-links: rgb(232, 237, 247);
  --theme-color-boxes-buttons: rgb(232, 237, 247);
  --theme-color-boxes-button-text: rgb(15, 44, 98);
  --theme-color-boxes-buttons-hover: rgb(255, 255, 255);
  --theme-color-boxes-buttons-border: transparent;
  --box-shadow-cards: var(--box-shadow-none);
  --theme-color-text-inactive: rgba(255, 255, 255, 0.4);
}

.theme-quaternary {
  --theme-color: rgb(220, 53, 69);
  --theme-color100: #f8d7da;
  --theme-color300: #f1aeb5;
  --theme-color500: #dc3545;
  --theme-color700: #a71e2a;
  --theme-color900: #721c24;
  --theme-color-bg: rgb(220, 53, 69);
  --theme-color-headings: rgb(255, 255, 255);
  --theme-color-text: rgb(255, 255, 255);
  --theme-color-links: rgb(248, 215, 218);
  --theme-color-links-hover: rgb(241, 174, 181);
  --theme-color-buttons: rgb(248, 215, 218);
  --theme-color-button-text: rgb(220, 53, 69);
  --theme-color-buttons-hover: rgb(255, 255, 255);
  --theme-color-buttons-border: rgb(255, 255, 255);
  --theme-color-boxes-bg: rgba(255, 255, 255, 0.1);
  --theme-color-boxes-border-color: rgb(248, 215, 218);
  --theme-color-boxes-headings: rgb(255, 255, 255);
  --theme-color-boxes-text: rgb(255, 255, 255);
  --theme-color-boxes-links: rgb(248, 215, 218);
  --theme-color-boxes-buttons: rgb(248, 215, 218);
  --theme-color-boxes-button-text: rgb(220, 53, 69);
  --theme-color-boxes-buttons-hover: rgb(255, 255, 255);
  --theme-color-boxes-buttons-border: transparent;
  --box-shadow-cards: var(--box-shadow-none);
  --theme-color-text-inactive: rgba(255, 255, 255, 0.4);
}

.theme-quinary {
  --theme-color: #0071ff;
  --theme-color100: #e6f2ff;
  --theme-color300: #99ccff;
  --theme-color500: #0071ff;
  --theme-color700: #004399;
  --theme-color900: #001633;
  --theme-color-bg: #0071ff;
  --theme-color-headings: #ffffff;
  --theme-color-text: #ffffff;
  --theme-color-links: #e6f2ff;
  --theme-color-links-hover: #99ccff;
  --theme-color-buttons: #e6f2ff;
  --theme-color-button-text: #0071ff;
  --theme-color-buttons-hover: #ffffff;
  --theme-color-buttons-border: transparent;
  --theme-color-boxes-bg: #0071ff;
  --theme-color-boxes-border-color: transparent;
  --theme-color-boxes-headings: #e6f2ff;
  --theme-color-boxes-text: #ffffff;
  --theme-color-boxes-links: #e6f2ff;
  --theme-color-boxes-buttons: #e6f2ff;
  --theme-color-boxes-button-text: #0071ff;
  --theme-color-boxes-buttons-hover: #ffffff;
  --theme-color-boxes-buttons-border: transparent;
  --box-shadow-cards: var(--box-shadow-none);
  --theme-color-text-inactive: rgba(255, 255, 255, 0.4);
}

/* Base Styles */
html {
  box-sizing: border-box;
  margin: 0;
}

html.prevent-scroll {
  overflow: hidden;
}

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

body {
  margin: 0;
  font-family: 'DM Sans', sans-serif;
  background-color: var(--bg-body);
  color: var(--font-color-body);
}

/* Logo Styles */
.site-logo {
  max-height: var(--max-height-logo);
  height: auto;
  width: auto;
}

.logo-wrapper {
  display: flex;
  align-items: center;
}

.logo-wrapper a {
  display: flex;
  align-items: center;
}

/* Navigation Styles */
.main-nav {
  display: flex;
  align-items: center;
  gap: 1rem;
}

.main-nav-item {
  text-decoration: none;
  color: var(--theme-color-text);
  font-weight: 500;
  transition: color 0.3s ease;
}

.main-nav-item:hover {
  color: var(--theme-color-links-hover);
}

.main-nav-item.button {
  background-color: var(--theme-color-buttons);
  color: var(--theme-color-button-text);
  padding: 0.5rem 1rem;
  border-radius: var(--button-border-radius);
  border: var(--button-border-width) solid var(--theme-color-buttons-border);
}

.main-nav-item.button:hover {
  background-color: var(--theme-color-buttons-hover);
}

/* Footer Styles */
.footer-nav {
  display: flex;
  flex-direction: column;
  gap: 0.5rem;
}

.footer-nav-item {
  text-decoration: none;
  color: var(--theme-color-text);
  transition: color 0.3s ease;
}

.footer-nav-item:hover {
  color: var(--theme-color-links-hover);
}

/* Responsive Design */
@media (max-width: 768px) {
  .main-nav {
    flex-direction: column;
    gap: 0.5rem;
  }
  
  .site-logo {
    max-height: 32px;
  }
}

/* Utility Classes */
.center-align {
  text-align: center;
}

.prevent-scroll {
  overflow: hidden;
}

/* Form Styles */
.recaptcha-disclaimer {
  color: inherit;
  font-size: .65rem;
  line-height: 1.2;
}

/* Button Styles */
.button {
  display: inline-block;
  /* padding: 0.75rem 1.5rem; */
  background-color: var(--theme-color-buttons);
  color: var(--theme-color-button-text);
  text-decoration: none;
  border-radius: var(--button-border-radius);
  border: var(--button-border-width) solid var(--theme-color-buttons-border);
  box-shadow: var(--button-box-shadow);
  transition: all 0.3s ease;
  cursor: pointer;
  font-weight: 500;
}

.button:hover {
  background-color: var(--theme-color-buttons-hover);
  transform: translateY(-1px);
}

/* Section Styles */
.section {
  padding: var(--spacing-large) 0;
}

.section-title {
  font-size: 3rem;
  font-weight: bold;
  color: var(--theme-color-headings);
  margin-bottom: var(--spacing-medium);
}

/* Card Styles */
.card {
  background-color: var(--theme-color-boxes-bg);
  border: var(--boxes-border-width) solid var(--theme-color-boxes-border-color);
  border-radius: var(--boxes-border-radius);
  padding: var(--spacing-default);
  box-shadow: var(--box-shadow-cards);
}

.card-title {
  color: var(--theme-color-boxes-headings);
  margin-bottom: var(--spacing-small);
}

.card-text {
  color: var(--theme-color-boxes-text);
  line-height: 1.6;
}

/* Image Styles */
img {
  max-width: 100%;
  height: auto;
  border-radius: var(--images-border-radius);
}

/* Container Styles */
.container {
  max-width: 1200px;
  margin: 0 auto;
  padding: 0 var(--spacing-default);
}

/* Grid Styles */
.grid {
  display: grid;
  gap: var(--spacing-default);
}

.grid-2 {
  grid-template-columns: repeat(2, 1fr);
}

.grid-3 {
  grid-template-columns: repeat(3, 1fr);
}

.grid-4 {
  grid-template-columns: repeat(4, 1fr);
}

@media (max-width: 768px) {
  .grid-2,
  .grid-3,
  .grid-4 {
    grid-template-columns: 1fr;
  }
}

/* Flex Utilities */
.flex {
  display: flex;
}

.flex-center {
  display: flex;
  align-items: center;
  justify-content: center;
}

.flex-between {
  display: flex;
  align-items: center;
  justify-content: space-between;
}

.flex-column {
  flex-direction: column;
}

/* Text Utilities */
.text-center {
  text-align: center;
}

.text-left {
  text-align: left;
}

.text-right {
  text-align: right;
}

/* Spacing Utilities */
.mt-1 { margin-top: var(--spacing-tiny); }
.mt-2 { margin-top: var(--spacing-small); }
.mt-3 { margin-top: var(--spacing-default); }
.mt-4 { margin-top: var(--spacing-large); }

.mb-1 { margin-bottom: var(--spacing-tiny); }
.mb-2 { margin-bottom: var(--spacing-small); }
.mb-3 { margin-bottom: var(--spacing-default); }
.mb-4 { margin-bottom: var(--spacing-large); }

.pt-1 { padding-top: var(--spacing-tiny); }
.pt-2 { padding-top: var(--spacing-small); }
.pt-3 { padding-top: var(--spacing-default); }
.pt-4 { padding-top: var(--spacing-large); }

.pb-1 { padding-bottom: var(--spacing-tiny); }
.pb-2 { padding-bottom: var(--spacing-small); }
.pb-3 { padding-bottom: var(--spacing-default); }
.pb-4 { padding-bottom: var(--spacing-large); }