:root {
  --bg-primary: #ffffff;
  --bg-secondary: #f8f9fa;
  --bg-tertiary: #e9ecef;
  --text-primary: #212529;
  --text-secondary: #6c757d;
  --text-muted: #adb5bd;
  --border-color: #dee2e6;
  --shadow: rgba(0, 0, 0, 0.1);
  --shadow-hover: rgba(0, 0, 0, 0.15);
}

html.dark-mode {
  --bg-primary: #1a1a1a;
  --bg-secondary: #2d2d2d;
  --bg-tertiary: #3a3a3a;
  --text-primary: #e9ecef;
  --text-secondary: #adb5bd;
  --text-muted: #6c757d;
  --border-color: #495057;
  --shadow: rgba(0, 0, 0, 0.3);
  --shadow-hover: rgba(0, 0, 0, 0.4);
  --color-bg: #121212;
  --color-text: #E0E0E0;
  --color-border: #333;
  --color-text-on-bg: #fff;
  --color-bg-thin: #1d1d1d;
  --color-dark: #000000;
  --color-mid: #2a2a2a;
  --color-white: #E0E0E0;
  --color-bg-cookie-note: rgba(250, 250, 250, 0.08);
  --color-text-cookie-note: #ffffff;
  --color-link-cookie-note: #bbbbbb;
  --bs-body-bg: #1a1a1a;
  --bs-body-color: #e9ecef;
}

html.dark-mode {
  background-color: var(--bg-primary);
  color: var(--text-primary);
}
html.dark-mode body {
  background-color: var(--bg-primary);
  color: var(--text-primary);
}
html.dark-mode h1, html.dark-mode h2, html.dark-mode h3, html.dark-mode h4, html.dark-mode h5, html.dark-mode h6 {
  color: var(--text-primary);
}
html.dark-mode a {
  color: #58a6ff;
}
html.dark-mode a:hover {
  color: #79b8ff;
}
html.dark-mode .card {
  background-color: var(--bg-secondary);
  color: var(--text-primary);
  border-color: var(--border-color);
}
html.dark-mode .container,
html.dark-mode .section {
  color: var(--text-primary);
}
html.dark-mode .bg-white {
  background-color: var(--bg-secondary) !important;
}
html.dark-mode .bg-light {
  background-color: var(--bg-secondary) !important;
  color: var(--text-primary) !important;
}
html.dark-mode section.bg-light {
  background-color: var(--bg-secondary) !important;
}
html.dark-mode .text-dark {
  color: var(--text-primary) !important;
}
html.dark-mode .text-muted {
  color: var(--text-muted) !important;
}
html.dark-mode .form-control,
html.dark-mode .form-select {
  background-color: var(--bg-secondary);
  color: var(--text-primary);
  border-color: var(--border-color);
}
html.dark-mode .form-control:focus,
html.dark-mode .form-select:focus {
  background-color: var(--bg-secondary);
  color: var(--text-primary);
  border-color: var(--bs-primary);
}
html.dark-mode .form-control::placeholder,
html.dark-mode .form-select::placeholder {
  color: var(--text-muted);
}
html.dark-mode textarea.form-control {
  background-color: var(--bg-secondary);
  color: var(--text-primary);
}
html.dark-mode .form-label,
html.dark-mode label {
  color: #DDD !important;
}
html.dark-mode .form-text {
  color: var(--text-secondary) !important;
}
html.dark-mode .product-title,
html.dark-mode .form-title {
  color: #fff !important;
}
html.dark-mode .section-title {
  color: #E0E0E0 !important;
  border-bottom-color: var(--border-color) !important;
}
html.dark-mode .product-info-card,
html.dark-mode .order-form-card {
  background: var(--bg-secondary) !important;
  color: var(--text-primary) !important;
}
html.dark-mode .shipping-toggle-wrapper {
  background: var(--bg-secondary) !important;
  border-color: var(--border-color) !important;
}
html.dark-mode .form-check-label {
  color: var(--text-primary) !important;
}
html.dark-mode .total-display {
  background: var(--bg-tertiary) !important;
  border-color: var(--bs-primary) !important;
}
html.dark-mode .total-display span,
html.dark-mode .total-display .fw-bold {
  color: var(--text-primary) !important;
}
html.dark-mode .total-display .text-primary {
  color: var(--bs-primary) !important;
}
html.dark-mode #street-suggestions {
  background: var(--bg-secondary) !important;
  border-color: var(--border-color) !important;
}
html.dark-mode #street-suggestions li {
  color: var(--text-primary) !important;
  border-bottom-color: var(--border-color) !important;
}
html.dark-mode #street-suggestions li:hover {
  background-color: var(--bg-tertiary) !important;
}
html.dark-mode .product-image-wrapper {
  background: var(--bg-tertiary) !important;
}
html.dark-mode .breadcrumb-item a {
  color: var(--bs-primary);
}
html.dark-mode .breadcrumb-item.active {
  color: var(--text-primary);
}
html.dark-mode .btn-primary {
  background-color: var(--bs-primary) !important;
  border-color: var(--bs-primary) !important;
  color: white !important;
}
html.dark-mode .btn-primary:hover {
  background-color: color-mix(in srgb, var(--bs-primary) 80%, black) !important;
  border-color: color-mix(in srgb, var(--bs-primary) 80%, black) !important;
  color: white !important;
}
html.dark-mode .btn-secondary {
  background-color: var(--bg-tertiary) !important;
  border-color: var(--border-color) !important;
  color: var(--text-primary) !important;
}
html.dark-mode .btn-secondary:hover {
  background-color: var(--bg-secondary) !important;
  border-color: var(--border-color) !important;
  color: var(--text-primary) !important;
}
html.dark-mode .btn-success {
  background-color: var(--bs-success) !important;
  border-color: var(--bs-success) !important;
  color: white !important;
}
html.dark-mode .btn-success:hover {
  background-color: color-mix(in srgb, var(--bs-success) 80%, black) !important;
  border-color: color-mix(in srgb, var(--bs-success) 80%, black) !important;
  color: white !important;
}
html.dark-mode .btn-light {
  background-color: var(--bg-tertiary);
  border-color: var(--border-color);
  color: var(--text-primary);
}
html.dark-mode .btn-light:hover {
  background-color: var(--bg-secondary);
  border-color: var(--border-color);
  color: var(--text-primary);
}
html.dark-mode .btn-outline-primary {
  background-color: transparent !important;
  border-color: var(--bs-primary) !important;
  color: var(--bs-primary) !important;
}
html.dark-mode .btn-outline-primary:hover {
  background-color: var(--bs-primary) !important;
  border-color: var(--bs-primary) !important;
  color: white !important;
}
html.dark-mode .btn-outline-secondary {
  background-color: transparent !important;
  border-color: var(--border-color) !important;
  color: var(--text-primary) !important;
}
html.dark-mode .btn-outline-secondary:hover {
  background-color: var(--bg-tertiary) !important;
  border-color: var(--border-color) !important;
  color: var(--text-primary) !important;
}
html.dark-mode .btn-check:checked + .btn-outline-primary {
  background-color: var(--bs-primary) !important;
  border-color: var(--bs-primary) !important;
  color: white !important;
}
html.dark-mode .btn-check:checked + .btn-outline-secondary {
  background-color: var(--bg-tertiary) !important;
  border-color: var(--border-color) !important;
  color: var(--text-primary) !important;
}
html.dark-mode .btn-check:checked + .btn-outline-success {
  background-color: var(--bs-success) !important;
  border-color: var(--bs-success) !important;
  color: white !important;
}
html.dark-mode .btn-check:focus + .btn,
html.dark-mode .btn-check:active + .btn {
  box-shadow: 0 0 0 0.25rem rgba(var(--bs-primary-rgb), 0.25) !important;
}
html.dark-mode .modal-content {
  background-color: var(--bg-secondary);
  color: var(--text-primary);
  border-color: var(--border-color);
}
html.dark-mode .modal-header,
html.dark-mode .modal-footer {
  border-color: var(--border-color);
}
html.dark-mode .table {
  color: var(--text-primary);
  border-color: var(--border-color);
}
html.dark-mode .table thead th {
  background-color: var(--bg-tertiary);
  border-color: var(--border-color);
}
html.dark-mode .table tbody tr {
  border-color: var(--border-color);
}
html.dark-mode .table tbody tr:hover {
  background-color: var(--bg-tertiary);
}
html.dark-mode .alert {
  border-color: var(--border-color);
}
html.dark-mode .alert.alert-light {
  background-color: var(--bg-tertiary);
  color: var(--text-primary);
}
html.dark-mode .alert.alert-info {
  background-color: var(--bg-tertiary) !important;
  color: var(--text-primary) !important;
  border-color: var(--border-color) !important;
}
html.dark-mode .alert.alert-info .alert-link {
  color: var(--bs-info) !important;
}
html.dark-mode .alert.alert-success {
  background-color: rgba(var(--bs-success-rgb), 0.2) !important;
  color: var(--text-primary) !important;
  border-color: var(--border-color) !important;
}
html.dark-mode .alert.alert-danger {
  background-color: rgba(var(--bs-danger-rgb), 0.2) !important;
  color: var(--text-primary) !important;
  border-color: var(--border-color) !important;
}
html.dark-mode .alert.alert-warning {
  background-color: rgba(var(--bs-warning-rgb), 0.2) !important;
  color: var(--text-primary) !important;
  border-color: var(--border-color) !important;
}
html.dark-mode .navbar {
  background-color: var(--bg-secondary) !important;
  border-bottom: 1px solid var(--border-color);
}
html.dark-mode .navbar .nav-link {
  color: var(--text-primary);
}
html.dark-mode .navbar .nav-link:hover {
  color: var(--bs-primary);
}
html.dark-mode .current-menu-item a {
  color: white !important;
  background-color: var(--bs-primary) !important;
}
html.dark-mode .current-menu-item a.btn {
  color: white !important;
  background-color: var(--bs-primary) !important;
}
html.dark-mode .current-menu-item .nav-link {
  color: var(--bs-primary) !important;
}
html.dark-mode li.current-menu-item a,
html.dark-mode li.active a {
  color: white !important;
  background-color: var(--bs-primary) !important;
  padding: 0.5rem 1rem;
  border-radius: 0.25rem;
}
html.dark-mode .btn.sla-menu:not(:hover) {
  background-color: var(--bs-primary) !important;
  color: white !important;
}
html.dark-mode .current-menu-item .btn.sla-menu {
  background-color: var(--bs-primary) !important;
  color: white !important;
  border-color: var(--bs-primary) !important;
}
html.dark-mode .pagination .page-item .page-link {
  background-color: var(--bg-secondary) !important;
  border-color: var(--border-color) !important;
  color: var(--text-primary) !important;
}
html.dark-mode .pagination .page-item .page-link:hover {
  background-color: var(--bg-tertiary) !important;
  border-color: var(--bs-primary) !important;
  color: var(--bs-primary) !important;
}
html.dark-mode .pagination .page-item.active .page-link {
  background-color: var(--bs-primary) !important;
  border-color: var(--bs-primary) !important;
  color: white !important;
}
html.dark-mode .pagination .page-item.disabled .page-link {
  background-color: var(--bg-tertiary) !important;
  border-color: var(--border-color) !important;
  color: var(--text-secondary) !important;
  opacity: 0.5;
}
html.dark-mode footer {
  background-color: var(--bg-secondary);
  color: var(--text-primary);
  border-top: 1px solid var(--border-color);
}
html.dark-mode .shadow,
html.dark-mode .shadow-sm {
  box-shadow: 0 0.125rem 0.25rem var(--shadow) !important;
}
html.dark-mode .border {
  border-color: var(--border-color) !important;
}
html.dark-mode .cookie-banner {
  background-color: var(--bg-secondary);
  color: var(--text-primary);
  border-top: 1px solid var(--border-color);
}
html.dark-mode .cookie-modal__content {
  background-color: var(--bg-secondary);
  color: var(--text-primary);
}
html.dark-mode .cookie-category {
  background-color: var(--bg-tertiary);
}
html.dark-mode img {
  opacity: 0.9;
  transition: opacity 0.3s;
}
html.dark-mode img:hover {
  opacity: 1;
}
html.dark-mode .floating-search-btn {
  background: linear-gradient(135deg, var(--bs-primary) 0%, color-mix(in srgb, var(--bs-primary) 80%, black) 100%);
  box-shadow: 0 4px 20px rgba(0, 123, 255, 0.3);
}
html.dark-mode .floating-search-btn:hover {
  box-shadow: 0 6px 30px rgba(0, 123, 255, 0.4);
}
html.dark-mode .floating-search-close {
  background: rgba(255, 255, 255, 0.15);
  border-color: rgba(255, 255, 255, 0.3);
}
html.dark-mode .floating-search-close:hover {
  background: rgba(255, 255, 255, 0.25);
  border-color: rgba(255, 255, 255, 0.5);
}
html.dark-mode .exit-intent-modal {
  background: var(--bg-secondary);
  color: var(--text-primary);
}
html.dark-mode .exit-intent-content h3 {
  color: var(--text-primary);
}
html.dark-mode .exit-intent-content p {
  color: var(--text-secondary);
}
html.dark-mode .exit-intent-icon {
  color: var(--bs-primary);
}
html.dark-mode .exit-intent-close {
  color: var(--text-secondary);
}
html.dark-mode .exit-intent-close:hover {
  background: var(--bg-tertiary);
  color: var(--text-primary);
}
html.dark-mode .topbar-contact {
  background-color: var(--bg-tertiary);
  color: var(--text-primary);
}
html.dark-mode .navbar {
  background-color: var(--bg-secondary) !important;
  border-bottom-color: var(--border-color);
}
html.dark-mode .navbar .navbar-nav li a,
html.dark-mode .navbar .navbar-nav .nav-link,
html.dark-mode .navbar .navbar-nav a {
  color: var(--text-primary) !important;
}
html.dark-mode .navbar .navbar-nav li a:hover,
html.dark-mode .navbar .navbar-nav .nav-link:hover,
html.dark-mode .navbar .navbar-nav a:hover {
  color: var(--bs-primary) !important;
}
html.dark-mode .navbar .navbar-nav li a.btn,
html.dark-mode .navbar .navbar-nav .nav-link.btn,
html.dark-mode .navbar .navbar-nav a.btn {
  color: #ffffff !important;
  background-color: var(--bs-primary) !important;
}
html.dark-mode .navbar .navbar-nav li a.btn:hover,
html.dark-mode .navbar .navbar-nav .nav-link.btn:hover,
html.dark-mode .navbar .navbar-nav a.btn:hover {
  background-color: var(--bs-primary-dark) !important;
}
html.dark-mode .navbar .navbar-nav li.current-menu-item a,
html.dark-mode .navbar .navbar-nav li.active a {
  color: white !important;
  background-color: var(--bs-primary) !important;
}
html.dark-mode .hero,
html.dark-mode .section-dienstleistungen {
  background: linear-gradient(135deg, var(--bg-tertiary) 0%, var(--bg-secondary) 100%) !important;
}
html.dark-mode .hero h1, html.dark-mode .hero h2, html.dark-mode .hero h3, html.dark-mode .hero p,
html.dark-mode .section-dienstleistungen h1,
html.dark-mode .section-dienstleistungen h2,
html.dark-mode .section-dienstleistungen h3,
html.dark-mode .section-dienstleistungen p {
  color: var(--text-primary) !important;
}
html.dark-mode .section {
  background-color: var(--bg-primary);
  color: var(--text-primary);
}
html.dark-mode ul, html.dark-mode ol {
  color: var(--text-primary);
}
html.dark-mode .breadcrumb {
  color: var(--text-secondary);
}
html.dark-mode [class*=card],
html.dark-mode .content-wrapper,
html.dark-mode .feature-box,
html.dark-mode .contact-info,
html.dark-mode .tech-category,
html.dark-mode .accordion-item,
html.dark-mode .process-step,
html.dark-mode .form-section,
html.dark-mode .product-image-wrapper,
html.dark-mode .progress-container,
html.dark-mode .training-type-card-inner,
html.dark-mode .search-input-wrapper {
  background-color: var(--bg-secondary) !important;
  color: var(--text-primary) !important;
  border-color: var(--border-color) !important;
}
html.dark-mode [class*=card] h3, html.dark-mode [class*=card] h4, html.dark-mode [class*=card] h5, html.dark-mode [class*=card] p,
html.dark-mode .content-wrapper h3,
html.dark-mode .content-wrapper h4,
html.dark-mode .content-wrapper h5,
html.dark-mode .content-wrapper p,
html.dark-mode .feature-box h3,
html.dark-mode .feature-box h4,
html.dark-mode .feature-box h5,
html.dark-mode .feature-box p,
html.dark-mode .contact-info h3,
html.dark-mode .contact-info h4,
html.dark-mode .contact-info h5,
html.dark-mode .contact-info p,
html.dark-mode .tech-category h3,
html.dark-mode .tech-category h4,
html.dark-mode .tech-category h5,
html.dark-mode .tech-category p,
html.dark-mode .accordion-item h3,
html.dark-mode .accordion-item h4,
html.dark-mode .accordion-item h5,
html.dark-mode .accordion-item p,
html.dark-mode .process-step h3,
html.dark-mode .process-step h4,
html.dark-mode .process-step h5,
html.dark-mode .process-step p,
html.dark-mode .form-section h3,
html.dark-mode .form-section h4,
html.dark-mode .form-section h5,
html.dark-mode .form-section p,
html.dark-mode .product-image-wrapper h3,
html.dark-mode .product-image-wrapper h4,
html.dark-mode .product-image-wrapper h5,
html.dark-mode .product-image-wrapper p,
html.dark-mode .progress-container h3,
html.dark-mode .progress-container h4,
html.dark-mode .progress-container h5,
html.dark-mode .progress-container p,
html.dark-mode .training-type-card-inner h3,
html.dark-mode .training-type-card-inner h4,
html.dark-mode .training-type-card-inner h5,
html.dark-mode .training-type-card-inner p,
html.dark-mode .search-input-wrapper h3,
html.dark-mode .search-input-wrapper h4,
html.dark-mode .search-input-wrapper h5,
html.dark-mode .search-input-wrapper p {
  color: var(--text-primary) !important;
}
html.dark-mode [class*=card] i,
html.dark-mode .content-wrapper i,
html.dark-mode .feature-box i,
html.dark-mode .contact-info i,
html.dark-mode .tech-category i,
html.dark-mode .accordion-item i,
html.dark-mode .process-step i,
html.dark-mode .form-section i,
html.dark-mode .product-image-wrapper i,
html.dark-mode .progress-container i,
html.dark-mode .training-type-card-inner i,
html.dark-mode .search-input-wrapper i {
  color: #ffffff !important;
}
html.dark-mode .progress-step {
  background: var(--bg-tertiary) !important;
}
html.dark-mode .progress-step.active {
  background: rgba(var(--bs-primary-rgb), 0.2) !important;
}
html.dark-mode .progress-step.completed {
  background: rgba(var(--bs-success-rgb), 0.2) !important;
}
html.dark-mode .step-number {
  background: var(--bg-secondary) !important;
  border-color: var(--border-color) !important;
  color: var(--text-secondary) !important;
}
html.dark-mode .progress-step.active .step-number {
  background: var(--bs-primary) !important;
  border-color: var(--bs-primary) !important;
  color: white !important;
}
html.dark-mode .progress-step.completed .step-number {
  background: var(--bs-success) !important;
  border-color: var(--bs-success) !important;
  color: white !important;
}
html.dark-mode .step-label {
  color: var(--text-primary) !important;
}
html.dark-mode .progress-step.active .step-label {
  color: var(--bs-primary) !important;
}
html.dark-mode .progress-step.completed .step-label {
  color: var(--bs-success) !important;
}
html.dark-mode .progress-bar-custom {
  background-color: var(--bg-tertiary) !important;
}
html.dark-mode .progress-fill {
  background: var(--bs-primary) !important;
}
html.dark-mode .star-rating-container {
  background: var(--bg-tertiary) !important;
}
html.dark-mode .star-rating label {
  color: var(--border-color) !important;
}
html.dark-mode .star-rating label:hover, html.dark-mode .star-rating label:hover ~ label {
  color: #ffc107 !important;
}
html.dark-mode .star-rating input[type=radio]:checked ~ label {
  color: #ffc107 !important;
}
html.dark-mode .star-rating-text {
  color: var(--text-secondary) !important;
}
html.dark-mode .training-type-card-inner {
  background: var(--bg-secondary) !important;
  border-color: var(--border-color) !important;
}
html.dark-mode .training-type-card.featured .training-type-card-inner {
  border-color: var(--bs-primary) !important;
  background: linear-gradient(135deg, rgba(var(--bs-primary-rgb), 0.15) 0%, var(--bg-secondary) 100%) !important;
}
html.dark-mode .training-type-card:hover .training-type-card-inner {
  border-color: var(--bs-primary) !important;
}
html.dark-mode .training-type-card input:checked ~ .training-type-card-inner {
  border-color: var(--bs-primary) !important;
  background: linear-gradient(135deg, rgba(var(--bs-primary-rgb), 0.2) 0%, var(--bg-secondary) 100%) !important;
}
html.dark-mode .training-content h5,
html.dark-mode .training-content p {
  color: var(--text-primary) !important;
}
html.dark-mode .training-icon {
  background: var(--bg-tertiary) !important;
}
html.dark-mode .training-icon i {
  color: var(--bs-primary) !important;
}
html.dark-mode .badge-popular {
  background: var(--bs-primary) !important;
  color: white !important;
}
html.dark-mode .sla-package-card-inner {
  background: var(--bg-secondary) !important;
  border-color: var(--border-color) !important;
}
html.dark-mode .sla-package-card.featured .sla-package-card-inner {
  border-color: var(--bs-primary) !important;
  background: linear-gradient(135deg, rgba(var(--bs-primary-rgb), 0.15) 0%, var(--bg-secondary) 100%) !important;
}
html.dark-mode .sla-package-card:hover .sla-package-card-inner {
  border-color: var(--bs-primary) !important;
}
html.dark-mode .sla-package-card input:checked ~ .sla-package-card-inner {
  border-color: var(--bs-primary) !important;
  background: linear-gradient(135deg, rgba(var(--bs-primary-rgb), 0.2) 0%, var(--bg-secondary) 100%) !important;
}
html.dark-mode .package-header h4 {
  color: var(--text-primary) !important;
}
html.dark-mode .package-subtitle {
  color: var(--text-secondary) !important;
}
html.dark-mode .package-price {
  border-top-color: var(--border-color) !important;
  border-bottom-color: var(--border-color) !important;
}
html.dark-mode .package-price .price {
  color: var(--bs-primary) !important;
}
html.dark-mode .package-price .period {
  color: var(--text-secondary) !important;
}
html.dark-mode .package-features li {
  color: var(--text-primary) !important;
}
html.dark-mode .badge-recommended {
  background: var(--bs-primary) !important;
  color: white !important;
}
html.dark-mode .system-type-inner {
  background: var(--bg-secondary) !important;
  border-color: var(--border-color) !important;
}
html.dark-mode .system-type-inner span {
  color: var(--text-primary) !important;
}
html.dark-mode .system-type-inner i {
  color: var(--bs-primary) !important;
}
html.dark-mode .system-type-card:hover .system-type-inner {
  border-color: var(--bs-primary) !important;
}
html.dark-mode .system-type-card input:checked ~ .system-type-inner {
  border-color: var(--bs-primary) !important;
  background: rgba(var(--bs-primary-rgb), 0.2) !important;
}
html.dark-mode .review-card {
  background: var(--bg-secondary) !important;
}
html.dark-mode .review-section h5, html.dark-mode .review-section .review-title {
  color: var(--text-primary) !important;
}
html.dark-mode .review-item {
  border-bottom-color: var(--border-color) !important;
}
html.dark-mode .review-label {
  color: var(--text-secondary) !important;
}
html.dark-mode .review-value {
  color: var(--text-primary) !important;
}
html.dark-mode .featured .card,
html.dark-mode .featured .card-inner,
html.dark-mode .featured > div {
  background: var(--bg-secondary) !important;
  border-color: var(--bs-primary) !important;
}
html.dark-mode .badge.bg-primary, html.dark-mode .badge.badge-primary {
  background-color: var(--bs-primary) !important;
  color: white !important;
}
html.dark-mode .badge.bg-secondary, html.dark-mode .badge.badge-secondary {
  background-color: var(--bg-tertiary) !important;
  color: var(--text-primary) !important;
}
html.dark-mode .badge.bg-success, html.dark-mode .badge.badge-success {
  background-color: var(--bs-success) !important;
  color: white !important;
}
html.dark-mode .badge.bg-danger, html.dark-mode .badge.badge-danger {
  background-color: var(--bs-danger) !important;
  color: white !important;
}
html.dark-mode .badge.bg-warning, html.dark-mode .badge.badge-warning {
  background-color: color-mix(in srgb, var(--bs-warning) 70%, black) !important;
  color: white !important;
}
html.dark-mode .badge.bg-info, html.dark-mode .badge.badge-info {
  background-color: var(--bs-info) !important;
  color: white !important;
}
html.dark-mode .badge.bg-light, html.dark-mode .badge.badge-light {
  background-color: var(--bg-tertiary) !important;
  color: var(--text-primary) !important;
}
html.dark-mode .badge.bg-dark, html.dark-mode .badge.badge-dark {
  background-color: var(--bg-secondary) !important;
  color: var(--text-primary) !important;
  border: 1px solid var(--border-color) !important;
}
html.dark-mode .badge-outline-primary {
  background-color: transparent !important;
  color: var(--bs-primary) !important;
  border: 1px solid var(--bs-primary) !important;
}
html.dark-mode .badge-outline-secondary {
  background-color: transparent !important;
  color: var(--text-secondary) !important;
  border: 1px solid var(--border-color) !important;
}
html.dark-mode .accordion-button {
  background-color: var(--bg-secondary) !important;
  color: var(--text-primary) !important;
}
html.dark-mode .accordion-button:not(.collapsed) {
  background-color: var(--bg-tertiary) !important;
  color: var(--text-primary) !important;
}
html.dark-mode .accordion-body {
  background-color: var(--bg-secondary) !important;
  color: var(--text-primary) !important;
}
html.dark-mode .service-icon {
  background-color: var(--bg-tertiary) !important;
  border-color: var(--bs-primary) !important;
}
html.dark-mode .service-icon i {
  color: #ffffff !important;
}
html.dark-mode .feature-icon i {
  color: #ffffff !important;
}
html.dark-mode .cta-box,
html.dark-mode .search-cta .cta-box {
  background: var(--bg-secondary) !important;
  border-color: var(--border-color) !important;
}
html.dark-mode .cta-box h3, html.dark-mode .cta-box h4, html.dark-mode .cta-box h5, html.dark-mode .cta-box p,
html.dark-mode .search-cta .cta-box h3,
html.dark-mode .search-cta .cta-box h4,
html.dark-mode .search-cta .cta-box h5,
html.dark-mode .search-cta .cta-box p {
  color: var(--text-primary) !important;
}
html.dark-mode .cta-box i,
html.dark-mode .search-cta .cta-box i {
  color: var(--text-primary) !important;
}
html.dark-mode .cta-box.gradient-primary, html.dark-mode .cta-box[style*=gradient],
html.dark-mode .search-cta .cta-box.gradient-primary,
html.dark-mode .search-cta .cta-box[style*=gradient] {
  background: linear-gradient(135deg, var(--bs-primary) 0%, var(--bs-info) 100%) !important;
}
html.dark-mode .cta-box.gradient-primary h3, html.dark-mode .cta-box.gradient-primary h4, html.dark-mode .cta-box.gradient-primary h5, html.dark-mode .cta-box.gradient-primary p, html.dark-mode .cta-box.gradient-primary i, html.dark-mode .cta-box[style*=gradient] h3, html.dark-mode .cta-box[style*=gradient] h4, html.dark-mode .cta-box[style*=gradient] h5, html.dark-mode .cta-box[style*=gradient] p, html.dark-mode .cta-box[style*=gradient] i,
html.dark-mode .search-cta .cta-box.gradient-primary h3,
html.dark-mode .search-cta .cta-box.gradient-primary h4,
html.dark-mode .search-cta .cta-box.gradient-primary h5,
html.dark-mode .search-cta .cta-box.gradient-primary p,
html.dark-mode .search-cta .cta-box.gradient-primary i,
html.dark-mode .search-cta .cta-box[style*=gradient] h3,
html.dark-mode .search-cta .cta-box[style*=gradient] h4,
html.dark-mode .search-cta .cta-box[style*=gradient] h5,
html.dark-mode .search-cta .cta-box[style*=gradient] p,
html.dark-mode .search-cta .cta-box[style*=gradient] i {
  color: #ffffff !important;
}
html.dark-mode .cta-box .btn, html.dark-mode .cta-box .btn-cta,
html.dark-mode .search-cta .cta-box .btn,
html.dark-mode .search-cta .cta-box .btn-cta {
  position: relative;
  z-index: 3;
}
html.dark-mode .sla-section,
html.dark-mode .content-section,
html.dark-mode .tech-section,
html.dark-mode .contact-section {
  background: var(--bg-tertiary) !important;
  background-color: var(--bg-tertiary) !important;
  color: var(--text-primary) !important;
}
html.dark-mode .sla-section .sla-content,
html.dark-mode .sla-section .sla-packages,
html.dark-mode .content-section .sla-content,
html.dark-mode .content-section .sla-packages,
html.dark-mode .tech-section .sla-content,
html.dark-mode .tech-section .sla-packages,
html.dark-mode .contact-section .sla-content,
html.dark-mode .contact-section .sla-packages {
  color: var(--text-primary) !important;
}
html.dark-mode .sla-section .sla-package,
html.dark-mode .content-section .sla-package,
html.dark-mode .tech-section .sla-package,
html.dark-mode .contact-section .sla-package {
  background-color: var(--bg-secondary) !important;
  border-color: var(--border-color) !important;
  color: var(--text-primary) !important;
}
html.dark-mode .sla-section .sla-package.featured,
html.dark-mode .content-section .sla-package.featured,
html.dark-mode .tech-section .sla-package.featured,
html.dark-mode .contact-section .sla-package.featured {
  background-color: var(--bg-tertiary) !important;
  border-color: var(--bs-primary) !important;
}
html.dark-mode .sla-section .sla-package .sla-package-header h5, html.dark-mode .sla-section .sla-package .sla-package-header p,
html.dark-mode .content-section .sla-package .sla-package-header h5,
html.dark-mode .content-section .sla-package .sla-package-header p,
html.dark-mode .tech-section .sla-package .sla-package-header h5,
html.dark-mode .tech-section .sla-package .sla-package-header p,
html.dark-mode .contact-section .sla-package .sla-package-header h5,
html.dark-mode .contact-section .sla-package .sla-package-header p {
  color: var(--text-primary) !important;
}
html.dark-mode .sla-section .sla-package ul li,
html.dark-mode .content-section .sla-package ul li,
html.dark-mode .tech-section .sla-package ul li,
html.dark-mode .contact-section .sla-package ul li {
  color: var(--text-primary) !important;
}
html.dark-mode .sla-section .sla-feature,
html.dark-mode .content-section .sla-feature,
html.dark-mode .tech-section .sla-feature,
html.dark-mode .contact-section .sla-feature {
  background-color: var(--bg-secondary) !important;
  border-color: var(--border-color) !important;
  color: var(--text-primary) !important;
}
html.dark-mode .sla-section .sla-feature strong, html.dark-mode .sla-section .sla-feature p,
html.dark-mode .content-section .sla-feature strong,
html.dark-mode .content-section .sla-feature p,
html.dark-mode .tech-section .sla-feature strong,
html.dark-mode .tech-section .sla-feature p,
html.dark-mode .contact-section .sla-feature strong,
html.dark-mode .contact-section .sla-feature p {
  color: var(--text-primary) !important;
}
html.dark-mode .sla-section .sla-feature i,
html.dark-mode .content-section .sla-feature i,
html.dark-mode .tech-section .sla-feature i,
html.dark-mode .contact-section .sla-feature i {
  color: var(--bs-primary) !important;
}

html.high-contrast {
  --bg-primary: #000000;
  --bg-secondary: #000000;
  --bg-tertiary: #1a1a1a;
  --text-primary: #ffffff;
  --text-secondary: #ffffff;
  --border-color: #ffffff;
  --color-bg: #000000;
  --color-text: #ffffff;
  --color-border: #ffffff;
  --color-text-on-bg: #ffffff;
  background-color: #000000 !important;
  color: #ffffff !important;
}
html.high-contrast body {
  background-color: #000000 !important;
  color: #ffffff !important;
}
html.high-contrast * {
  border-width: 2px !important;
}
html.high-contrast a {
  color: #ffff00 !important;
  text-decoration: underline !important;
  background-color: #000000 !important;
}
html.high-contrast button,
html.high-contrast .btn {
  background-color: #000000 !important;
  color: #ffffff !important;
  border: 2px solid #ffffff !important;
}
html.high-contrast .section,
html.high-contrast .hero,
html.high-contrast .navbar,
html.high-contrast .topbar-contact,
html.high-contrast .footer {
  background: #000000 !important;
  background-color: #000000 !important;
  color: #ffffff !important;
}
html.high-contrast .navbar .navbar-nav a {
  color: #ffffff !important;
  background-color: #000000 !important;
}
html.high-contrast .navbar .navbar-nav a.btn {
  color: #ffffff !important;
  background-color: #000000 !important;
  border: 2px solid #ffffff !important;
}
html.high-contrast h1, html.high-contrast h2, html.high-contrast h3, html.high-contrast h4, html.high-contrast h5, html.high-contrast h6, html.high-contrast p, html.high-contrast span, html.high-contrast div {
  color: #ffffff !important;
}
html.high-contrast [class*=card],
html.high-contrast .content-wrapper,
html.high-contrast .feature-box,
html.high-contrast .contact-info,
html.high-contrast .tech-category,
html.high-contrast .accordion-item,
html.high-contrast .process-step,
html.high-contrast .form-section,
html.high-contrast .product-image-wrapper,
html.high-contrast .progress-container,
html.high-contrast .training-type-card-inner,
html.high-contrast .search-input-wrapper {
  background-color: #000000 !important;
  color: #ffffff !important;
  border: 2px solid #ffffff !important;
}
html.high-contrast .accordion-button {
  background-color: #000000 !important;
  color: #ffffff !important;
}
html.high-contrast .accordion-body {
  background-color: #000000 !important;
  color: #ffffff !important;
}
html.high-contrast .service-icon {
  background-color: #000000 !important;
  border: 2px solid #ffffff !important;
}
html.high-contrast .service-icon i {
  color: #ffffff !important;
}
html.high-contrast .feature-icon i {
  color: #ffffff !important;
}
html.high-contrast .cta-box,
html.high-contrast .search-cta .cta-box {
  background-color: #000000 !important;
  color: #ffffff !important;
  border: 2px solid #ffffff !important;
}
html.high-contrast .cta-box .btn, html.high-contrast .cta-box .btn-cta,
html.high-contrast .search-cta .cta-box .btn,
html.high-contrast .search-cta .cta-box .btn-cta {
  position: relative;
  z-index: 3;
}
html.high-contrast .sla-section,
html.high-contrast .content-section,
html.high-contrast .tech-section,
html.high-contrast .contact-section {
  background: #000000 !important;
  background-color: #000000 !important;
}
html.high-contrast .sla-section .sla-package,
html.high-contrast .content-section .sla-package,
html.high-contrast .tech-section .sla-package,
html.high-contrast .contact-section .sla-package {
  background-color: #000000 !important;
  border: 2px solid #ffffff !important;
}
html.high-contrast .sla-section .sla-feature,
html.high-contrast .content-section .sla-feature,
html.high-contrast .tech-section .sla-feature,
html.high-contrast .contact-section .sla-feature {
  background-color: #000000 !important;
  border: 2px solid #ffffff !important;
}

@media (prefers-reduced-motion: reduce) {
  *,
  *::before,
  *::after {
    animation-duration: 0.01ms !important;
    animation-iteration-count: 1 !important;
    transition-duration: 0.01ms !important;
  }
}
html.reduce-motion *,
html.reduce-motion *::before,
html.reduce-motion *::after {
  animation-duration: 0.01ms !important;
  animation-iteration-count: 1 !important;
  transition-duration: 0.01ms !important;
  scroll-behavior: auto !important;
}

html.font-size-small {
  font-size: 14px !important;
}
html.font-size-small body {
  font-size: 1rem !important;
}
html.font-size-small p, html.font-size-small li, html.font-size-small span, html.font-size-small div, html.font-size-small a, html.font-size-small label {
  font-size: 1rem !important;
}
html.font-size-small h1 {
  font-size: 2.5rem !important;
}
html.font-size-small h2 {
  font-size: 2rem !important;
}
html.font-size-small h3 {
  font-size: 1.75rem !important;
}
html.font-size-small h4 {
  font-size: 1.5rem !important;
}
html.font-size-small h5 {
  font-size: 1.25rem !important;
}
html.font-size-small h6 {
  font-size: 1.1rem !important;
}

html.font-size-normal {
  font-size: 16px !important;
}
html.font-size-normal body {
  font-size: 1rem !important;
}
html.font-size-normal p, html.font-size-normal li, html.font-size-normal span, html.font-size-normal div, html.font-size-normal a, html.font-size-normal label {
  font-size: 1rem !important;
}
html.font-size-normal h1 {
  font-size: 2.5rem !important;
}
html.font-size-normal h2 {
  font-size: 2rem !important;
}
html.font-size-normal h3 {
  font-size: 1.75rem !important;
}
html.font-size-normal h4 {
  font-size: 1.5rem !important;
}
html.font-size-normal h5 {
  font-size: 1.25rem !important;
}
html.font-size-normal h6 {
  font-size: 1.1rem !important;
}

html.font-size-large {
  font-size: 18px !important;
}
html.font-size-large body {
  font-size: 1rem !important;
}
html.font-size-large p, html.font-size-large li, html.font-size-large span, html.font-size-large div, html.font-size-large a, html.font-size-large label {
  font-size: 1rem !important;
}
html.font-size-large h1 {
  font-size: 2.5rem !important;
}
html.font-size-large h2 {
  font-size: 2rem !important;
}
html.font-size-large h3 {
  font-size: 1.75rem !important;
}
html.font-size-large h4 {
  font-size: 1.5rem !important;
}
html.font-size-large h5 {
  font-size: 1.25rem !important;
}
html.font-size-large h6 {
  font-size: 1.1rem !important;
}

html.font-size-xlarge {
  font-size: 20px !important;
}
html.font-size-xlarge body {
  font-size: 1rem !important;
}
html.font-size-xlarge p, html.font-size-xlarge li, html.font-size-xlarge span, html.font-size-xlarge div, html.font-size-xlarge a, html.font-size-xlarge label {
  font-size: 1rem !important;
}
html.font-size-xlarge h1 {
  font-size: 2.5rem !important;
}
html.font-size-xlarge h2 {
  font-size: 2rem !important;
}
html.font-size-xlarge h3 {
  font-size: 1.75rem !important;
}
html.font-size-xlarge h4 {
  font-size: 1.5rem !important;
}
html.font-size-xlarge h5 {
  font-size: 1.25rem !important;
}
html.font-size-xlarge h6 {
  font-size: 1.1rem !important;
}

html.font-dyslexic {
  font-family: "OpenDyslexic", "Comic Sans MS", cursive, sans-serif !important;
}
html.font-dyslexic body, html.font-dyslexic p, html.font-dyslexic h1, html.font-dyslexic h2, html.font-dyslexic h3, html.font-dyslexic h4, html.font-dyslexic h5, html.font-dyslexic h6, html.font-dyslexic li, html.font-dyslexic a, html.font-dyslexic span, html.font-dyslexic div {
  font-family: "OpenDyslexic", "Comic Sans MS", cursive, sans-serif !important;
}

html.font-serif {
  font-family: Georgia, "Times New Roman", Times, serif !important;
}
html.font-serif body, html.font-serif p, html.font-serif h1, html.font-serif h2, html.font-serif h3, html.font-serif h4, html.font-serif h5, html.font-serif h6, html.font-serif li, html.font-serif a, html.font-serif span, html.font-serif div {
  font-family: Georgia, "Times New Roman", Times, serif !important;
}

html.font-mono {
  font-family: "Courier New", Courier, monospace !important;
}
html.font-mono body, html.font-mono p, html.font-mono h1, html.font-mono h2, html.font-mono h3, html.font-mono h4, html.font-mono h5, html.font-mono h6, html.font-mono li, html.font-mono a, html.font-mono span, html.font-mono div {
  font-family: "Courier New", Courier, monospace !important;
}

html.line-height-relaxed {
  line-height: 1.8;
}
html.line-height-relaxed p, html.line-height-relaxed li {
  line-height: 1.8;
}

html.line-height-loose {
  line-height: 2;
}
html.line-height-loose p, html.line-height-loose li {
  line-height: 2;
}

html.letter-spacing-wide {
  letter-spacing: 0.05em;
}
html.letter-spacing-wide body, html.letter-spacing-wide p, html.letter-spacing-wide li, html.letter-spacing-wide h1, html.letter-spacing-wide h2, html.letter-spacing-wide h3, html.letter-spacing-wide h4, html.letter-spacing-wide h5, html.letter-spacing-wide h6 {
  letter-spacing: 0.05em;
}

html.letter-spacing-wider {
  letter-spacing: 0.1em;
}
html.letter-spacing-wider body, html.letter-spacing-wider p, html.letter-spacing-wider li, html.letter-spacing-wider h1, html.letter-spacing-wider h2, html.letter-spacing-wider h3, html.letter-spacing-wider h4, html.letter-spacing-wider h5, html.letter-spacing-wider h6 {
  letter-spacing: 0.1em;
}

/*# sourceMappingURL=accessibility.css.map */
