:root,
[data-bs-theme="light"] {
  --ifpd-primary: #2c3e50;
  --ifpd-primary-hover: #1a252f;
  --ifpd-primary-active: #0f1419;
  --ifpd-secondary: #e74c3c;
  --ifpd-tertiary: #c0392b;
  --ifpd-text: #0a0a0a;
  --ifpd-text-muted: #4a5565;
  --ifpd-divider: #d1d5dc;
  --ifpd-border: #e5e7eb;
  --ifpd-neutral-1: #7f8c8d;
  --ifpd-neutral-2: #95a5a6;
  --ifpd-neutral-3: #bdc3c7;
  --ifpd-disabled-text: #99a1af;
  --ifpd-success: #27ae60;
  --ifpd-warning: #f39c12;

  --bs-primary: var(--ifpd-primary);
  --bs-primary-rgb: 44, 62, 80;
  --bs-secondary: var(--ifpd-secondary);
  --bs-secondary-rgb: 231, 76, 60;
  --bs-danger: var(--ifpd-secondary);
  --bs-danger-rgb: 231, 76, 60;
  --bs-success: var(--ifpd-success);
  --bs-success-rgb: 39, 174, 96;
  --bs-warning: var(--ifpd-warning);
  --bs-warning-rgb: 243, 156, 18;
  --bs-dark: var(--ifpd-primary);
  --bs-dark-rgb: 44, 62, 80;
  --bs-black: var(--ifpd-text);
  --bs-black-rgb: 10, 10, 10;
  --bs-gray: var(--ifpd-neutral-1);
  --bs-gray-100: #f8f9fa;
  --bs-gray-200: #f1f3f5;
  --bs-gray-300: var(--ifpd-border);
  --bs-gray-400: var(--ifpd-divider);
  --bs-gray-500: var(--ifpd-disabled-text);
  --bs-gray-600: var(--ifpd-neutral-2);
  --bs-gray-700: var(--ifpd-text-muted);
  --bs-gray-800: var(--ifpd-primary);
  --bs-gray-900: var(--ifpd-text);
  --bs-body-color: var(--ifpd-text);
  --bs-body-color-rgb: 10, 10, 10;
  --bs-secondary-color: var(--ifpd-text-muted);
  --bs-secondary-color-rgb: 74, 85, 101;
  --bs-heading-color: var(--ifpd-text);
  --bs-link-color: var(--ifpd-secondary);
  --bs-link-color-rgb: 231, 76, 60;
  --bs-link-hover-color: var(--ifpd-tertiary);
  --bs-link-hover-color-rgb: 192, 57, 43;
  --bs-border-color: var(--ifpd-divider);
  --bs-border-color-translucent: rgba(209, 213, 220, 0.5);
  --bs-emphasis-color: var(--ifpd-text);
  --bs-emphasis-color-rgb: 10, 10, 10;
  --bs-secondary-bg: #f8f9fa;
  --bs-tertiary-bg: #f8f9fa;
  --bs-focus-ring-color: rgba(231, 76, 60, 0.25);
  --bs-form-valid-color: var(--ifpd-success);
  --bs-form-valid-border-color: var(--ifpd-success);
  --bs-form-invalid-color: var(--ifpd-secondary);
  --bs-form-invalid-border-color: var(--ifpd-secondary);
}

body,
.text-body,
.entry-content,
.site-main {
  color: var(--ifpd-text);
}

p,
li,
small,
.small,
.text-muted,
.form-text,
.wp-block-post-excerpt,
.wp-block-post-date {
  color: var(--ifpd-text-muted);
}

.hero-subtitle,
.hero-subtitle p,
.hero-subtitle li,
.hero-subtitle span,
.hero-subtitle strong,
.hero-subtitle em,
.hero-subtitle h1,
.hero-subtitle h2,
.hero-subtitle h3,
.hero-subtitle h4,
.hero-subtitle h5,
.hero-subtitle h6 {
  color: var(--hero-subtitle-color) !important;
}

.welcome-description,
.welcome-description p,
.welcome-description li,
.welcome-description span,
.welcome-description strong,
.welcome-description em,
.welcome-description a,
.welcome-description h1,
.welcome-description h2,
.welcome-description h3,
.welcome-description h4,
.welcome-description h5,
.welcome-description h6 {
  color: var(--welcome-description-color) !important;
}

h1,
h2,
h3,
h4,
h5,
h6,
.h1,
.h2,
.h3,
.h4,
.h5,
.h6 {
  color: var(--ifpd-text);
}

hr,
.border,
.border-top,
.border-bottom,
.border-start,
.border-end {
  border-color: var(--ifpd-divider) !important;
}

.btn-primary,
.btn-dark,
.wp-block-button__link,
.button,
button[type="submit"]:not(.navbar-toggler) {
  background-color: var(--ifpd-secondary);
  border-color: var(--ifpd-secondary);
  color: #fff;
}

.btn-primary:hover,
.btn-primary:focus,
.btn-primary:active,
.btn-primary.active,
.btn-dark:hover,
.btn-dark:focus,
.btn-dark:active,
.btn-dark.active,
.wp-block-button__link:hover,
.wp-block-button__link:focus,
.button:hover,
.button:focus,
button[type="submit"]:not(.navbar-toggler):hover,
button[type="submit"]:not(.navbar-toggler):focus {
  background-color: var(--ifpd-tertiary);
  border-color: var(--ifpd-tertiary);
  color: #fff;
}

.btn-primary:active,
.btn-primary.active,
.btn-dark:active,
.btn-dark.active {
  background-color: var(--ifpd-tertiary);
  border-color: var(--ifpd-tertiary);
}

.btn-secondary,
.gform_button,
input.gform_button,
.woocommerce a.button.alt,
.woocommerce button.button.alt,
.woocommerce input.button.alt {
  background-color: var(--ifpd-secondary) !important;
  border-color: var(--ifpd-secondary) !important;
  color: #fff !important;
}

.btn-secondary:hover,
.btn-secondary:focus,
.btn-secondary:active,
.gform_button:hover,
.gform_button:focus,
input.gform_button:hover,
input.gform_button:focus,
.woocommerce a.button.alt:hover,
.woocommerce button.button.alt:hover,
.woocommerce input.button.alt:hover {
  background-color: var(--ifpd-tertiary) !important;
  border-color: var(--ifpd-tertiary) !important;
  color: #fff !important;
}

.btn-outline-primary,
.btn-outline-dark {
  border-color: var(--ifpd-primary);
  color: var(--ifpd-primary);
}

.btn-outline-primary:hover,
.btn-outline-primary:focus,
.btn-outline-dark:hover,
.btn-outline-dark:focus {
  background-color: var(--ifpd-secondary);
  border-color: var(--ifpd-secondary);
  color: #fff;
}

.hero-buttons .btn-outline-light {
  color: #fff;
  border-color: #fff;
}

.hero-buttons .btn-outline-light:hover,
.hero-buttons .btn-outline-light:focus-visible {
  background-color: #fff;
  border-color: #fff;
  color: var(--ifpd-primary);
}

.hero-buttons .btn-outline-light:active,
.hero-buttons .btn-outline-light.active,
.hero-buttons .btn-outline-light.show,
.hero-buttons .btn-check:checked + .btn-outline-light,
.hero-buttons .btn:first-child:active,
.hero-buttons :not(.btn-check) + .btn-outline-light:active {
  background-color: #fff;
  border-color: #fff;
  color: var(--ifpd-primary);
}

.btn:disabled,
.btn.disabled,
button:disabled,
input:disabled,
select:disabled,
textarea:disabled {
  background-color: var(--ifpd-neutral-3) !important;
  border-color: var(--ifpd-neutral-3) !important;
  color: var(--ifpd-disabled-text) !important;
  opacity: 1;
}

.card,
.wp-block-group,
.wp-block-cover__inner-container,
.accordion-item,
.modal-content {
  border-color: var(--ifpd-border);
}

.card,
.accordion-item {
  box-shadow: 0 2px 4px rgba(0, 0, 0, 0.1);
}

.form-control,
.form-select,
input[type="text"],
input[type="email"],
input[type="tel"],
input[type="url"],
textarea,
select {
  border: 2px solid var(--ifpd-divider);
  border-radius: 4px;
  color: var(--ifpd-text);
}

.form-control:focus,
.form-select:focus,
input[type="text"]:focus,
input[type="email"]:focus,
input[type="tel"]:focus,
input[type="url"]:focus,
textarea:focus,
select:focus {
  border-color: var(--ifpd-primary);
  box-shadow: 0 0 0 0.2rem rgba(44, 62, 80, 0.15);
}

.is-valid,
.form-control.is-valid,
.was-validated .form-control:valid {
  border-color: var(--ifpd-success) !important;
}

.is-invalid,
.form-control.is-invalid,
.was-validated .form-control:invalid {
  border-color: var(--ifpd-secondary) !important;
}

.text-success,
.valid-feedback {
  color: var(--ifpd-success) !important;
}

.text-danger,
.invalid-feedback,
.validation_message {
  color: var(--ifpd-secondary) !important;
}

.text-warning {
  color: var(--ifpd-warning) !important;
}

.navbar-toggler {
  border-color: var(--ifpd-divider);
}

.navbar-toggler:focus,
.navbar-toggler:active,
.navbar-toggler-icon:focus,
.navbar-toggler-icon:active {
  box-shadow: 0 0 0 0.2rem rgba(44, 62, 80, 0.2);
}

.nav-link:hover,
.nav-link:focus,
a:hover,
a:focus {
  color: var(--ifpd-tertiary);
}

.has-primary-background-color,
.bg-primary {
  background-color: var(--ifpd-primary) !important;
}

.has-primary-color,
.text-primary {
  color: var(--ifpd-primary) !important;
}

.has-secondary-background-color,
.bg-secondary {
  background-color: var(--ifpd-secondary) !important;
}

.has-secondary-color,
.text-secondary {
  color: var(--ifpd-text-muted) !important;
}

.our-services-section {
  background-color: #fff;
}

.our-services-section .border-bottom {
  border-color: var(--ifpd-divider) !important;
}

.our-services-heading {
  color: var(--ifpd-primary) !important;
}

.our-services-intro,
.our-services-intro p,
.our-services-intro li,
.our-services-intro span,
.our-services-intro strong,
.our-services-intro em,
.our-services-intro a {
  color: var(--our-services-intro-color, #fff) !important;
}

.our-services-intro p:last-child {
  margin-bottom: 0;
}

.our-service-item {
  text-align: left;
}

.our-service-icon {
  width: 4rem;
  height: 4rem;
  border-radius: 1rem;
  background-color: #dfe7ee;
  color: var(--ifpd-primary);
}

.our-service-title {
  color: #2c3e50 !important;
}

.our-service-description {
  color: var(--ifpd-text-muted) !important;
}

.our-service-item i {
  line-height: 1;
}

@media (max-width: 767.98px) {
  .our-services-section {
    padding-top: 3rem !important;
    padding-bottom: 3rem !important;
  }

  .our-service-icon {
    width: 4.5rem;
    height: 4.5rem;
  }
}
