:root {
  --bs-primary: #2d7c33;
  --bs-primary-hover: #145d1a;
  --bs-primary-rgb: 45, 124, 51;
  --bs-primary-text-emphasis: #2d7c33;

  --bs-secondary: #b2e27d;
  --bs-secondary-hover: #88d03b;
  --bs-secondary-rgb: 178, 226, 125;
  --bs-primary-text-emphasis: #b2e27d;

  --bs-success: #28c76f;
  --bs-danger: #ea5455;
  --bs-warning: #f6c343;
  --bs-info: #00cfe8;
  --bs-light: #f8f9fa;
  --bs-dark: #343a40;
  --bs-blue: #1353a3;

  --bs-body-color: #000;
  --bs-font-sans-serif: "Montserrat", sans-serif;
  --bs-body-bg: #fff;
}

/* Links */
a {
  color: var(--bs-primary);
}
a:hover,
a:focus {
  color: var(--bs-primary-hover);
}
.link-primary:focus,
.link-primary:hover {
  color: RGBA(45, 124, 51, var(--bs-link-opacity, 1)) !important;
  -webkit-text-decoration-color: RGBA(
    7,
    31,
    61,
    var(--bs-link-underline-opacity, 1)
  ) !important;
  text-decoration-color: RGBA(
    7,
    31,
    61,
    var(--bs-link-underline-opacity, 1)
  ) !important;
}
.link-secondary:focus,
.link-secondary:hover {
  color: RGBA(178, 226, 125, var(--bs-link-opacity, 1)) !important;
  -webkit-text-decoration-color: RGBA(
    0,
    169,
    177,
    var(--bs-link-underline-opacity, 1)
  ) !important;
  text-decoration-color: RGBA(
    0,
    169,
    177,
    var(--bs-link-underline-opacity, 1)
  ) !important;
}
.link-white {
  text-decoration: underline;
  color: RGBA(var(--bs-white-rgb), var(--bs-link-opacity, 1)) !important;
  -webkit-text-decoration-color: RGBA(
    var(--bs-white-rgb),
    var(--bs-link-underline-opacity, 1)
  ) !important;
  text-decoration-color: RGBA(
    var(--bs-white-rgb),
    var(--bs-link-underline-opacity, 1)
  ) !important;
}
.link-white:focus,
.link-white:hover {
  color: RGBA(255, 255, 255, var(--bs-link-opacity, 1)) !important;
  -webkit-text-decoration-color: RGBA(
    255,
    255,
    255,
    var(--bs-link-underline-opacity, 1)
  ) !important;
  text-decoration-color: RGBA(
    255,
    255,
    255,
    var(--bs-link-underline-opacity, 1)
  ) !important;
}
.link-black {
  text-decoration: underline;
  color: RGBA(var(--bs-black-rgb), var(--bs-link-opacity, 1)) !important;
  -webkit-text-decoration-color: RGBA(
    var(--bs-black-rgb),
    var(--bs-link-underline-opacity, 1)
  ) !important;
  text-decoration-color: RGBA(
    var(--bs-black-rgb),
    var(--bs-link-underline-opacity, 1)
  ) !important;
}
.link-black:focus,
.link-black:hover {
  color: RGBA(0, 0, 0, var(--bs-link-opacity, 1)) !important;
  -webkit-text-decoration-color: RGBA(
    0,
    0,
    0,
    var(--bs-link-underline-opacity, 1)
  ) !important;
  text-decoration-color: RGBA(
    0,
    0,
    0,
    var(--bs-link-underline-opacity, 1)
  ) !important;
}

/* Buttons */
.btn {
  --bs-btn-border-radius: 50rem;
  --bs-btn-font-weight: 700;
  --bs-btn-padding-x: 2rem;
  --bs-btn-padding-y: 0.75rem;
  --bs-btn-font-size: 0.875rem;
  --bs-btn-font-family: "Montserrat", sans-serif;
  transition: background-color 0.3s ease, border-color 0.3s ease,
    transform 0.3s ease, box-shadow 0.3s ease;
}
.btn:hover {
  transform: translateY(-2px);
  box-shadow: 0 0.5rem 1rem rgba(0, 0, 0, 0.15);
}
.btn-animation-none:hover {
  transform: translateY(0);
  box-shadow: none;
}
.btn-primary {
  --bs-btn-bg: #2d7c33;
  --bs-btn-border-color: #2d7c33;
  --bs-btn-hover-bg: #145d1a;
  --bs-btn-hover-border-color: #145d1a;
  --bs-btn-focus-shadow-rgb: 45, 124, 51;
  --bs-btn-active-bg: #145d1a;
  --bs-btn-active-border-color: #145d1a;
  --bs-btn-disabled-bg: #2d7c33;
  --bs-btn-disabled-border-color: #2d7c33;
}
.btn-secondary {
  --bs-btn-bg: #b2e27d;
  --bs-btn-border-color: #b2e27d;
  --bs-btn-hover-bg: #88d03b;
  --bs-btn-hover-border-color: #88d03b;
  --bs-btn-focus-shadow-rgb: 178, 226, 125;
  --bs-btn-active-bg: #88d03b;
  --bs-btn-active-border-color: #88d03b;
  --bs-btn-disabled-bg: #b2e27d;
  --bs-btn-disabled-border-color: #b2e27d;
}
.btn-outline-primary {
  --bs-btn-color: #2d7c33;
  --bs-btn-border-color: #2d7c33;
  --bs-btn-hover-bg: #2d7c33;
  --bs-btn-hover-border-color: #2d7c33;
  --bs-btn-focus-shadow-rgb: 178, 226, 125;
  --bs-btn-active-bg: #2d7c33;
  --bs-btn-active-border-color: #2d7c33;
  --bs-btn-disabled-color: #2d7c33;
  --bs-btn-disabled-border-color: #2d7c33;
}
.btn-outline-secondary {
  --bs-btn-color: #b2e27d;
  --bs-btn-border-color: #b2e27d;
  --bs-btn-hover-bg: #b2e27d;
  --bs-btn-hover-border-color: #b2e27d;
  --bs-btn-focus-shadow-rgb: 209, 90, 58;
  --bs-btn-active-bg: #b2e27d;
  --bs-btn-active-border-color: #b2e27d;
  --bs-btn-disabled-color: #b2e27d;
  --bs-btn-disabled-border-color: #b2e27d;
}

/* Forms */
.form-control:focus,
.form-select:focus {
  border-color: var(--bs-primary);
  box-shadow: 0 0 0 0.2rem rgba(var(--bs-primary-rgb), 0.25);
}
.form-check-input:checked {
  background-color: var(--bs-primary);
  border-color: var(--bs-primary);
}

/* Nav */
.nav-link:hover,
.nav-link:focus {
  color: var(--bs-primary-hover);
}
.nav-tabs .nav-link.active {
  border-bottom: 0.25rem solid var(--bs-primary);
}
.nav-pills .nav-link.active {
  background-color: var(--bs-primary);
}

/* Pagination */
.page-link {
  color: var(--bs-primary);
}
.page-link:hover {
  color: var(--bs-primary-hover);
}
.page-item.active .page-link {
  background-color: var(--bs-primary);
  border-color: var(--bs-primary);
}

/* Scrollbar */
.primary-scroll::-webkit-scrollbar {
  width: 0.375rem;
  height: 0.375rem;
}
.primary-scroll::-webkit-scrollbar-track {
  background: #e5e5e5;
}
.primary-scroll::-webkit-scrollbar-thumb {
  background: var(--bs-primary);
  border-radius: 0.625rem;
}
.primary-scroll::-webkit-scrollbar-thumb:hover {
  background: var(--bs-primary-hover);
}

/* Others */
.badge-primary,
.progress-bar,
.list-group-item.active {
  background-color: var(--bs-primary);
  border-color: var(--bs-primary);
}
.text-primary.line-animation::before {
  background-color: var(--bs-primary-hover);
}
