:root {
  --color-primary: #0c8918;
  --color-info: #EFF9F0;
  --color-warning: #e9bc38;
  --color-light: #FAFEF9;
  --color-dark: #1E2E20;
}

.btn-primary {
  background-color: var(--color-primary);
  border-color: var(--color-primary);
  color: var(--color-light);
}
.btn-primary:hover,
.btn-primary:focus,
.btn-primary:active {
  filter: brightness(0.9);
  background-color: var(--color-primary) !important;
  border-color: var(--color-primary) !important;
}

.btn-warning {
  background-color: var(--color-warning);
  border-color: var(--color-warning);
  color: var(--white);
}
.btn-warning:hover,
.btn-warning:focus,
.btn-warning:active {
  filter: brightness(0.9);
  color: var(--white) !important;
}

.btn-outline-primary {
  color: var(--color-primary);
  border-color: var(--color-primary);
  background-color: transparent;
}
.btn-outline-primary:hover,
.btn-outline-primary:focus {
  background-color: var(--color-primary);
  color: var(--white);
  border-color: var(--color-primary);
}
.btn-outline-primary:active {
  background-color: rgb(from var(--color-primary) r g b / 0.2);
}

.text-primary { color: var(--color-primary) !important; }
.text-warning { color: var(--color-warning) !important; }
.text-light { color: var(--color-light) !important; }
.text-kai-title { font-family: "LXGW WenKai", sans-serif; }

.bg-primary { background-color: var(--color-primary) !important; }
.bg-info { background-color: var(--color-info) !important; }
.bg-warning { background-color: var(--color-warning) !important; }
.bg-light { background-color: var(--color-light) !important; }

.border-primary { border-color: var(--color-primary) !important; }
.border-warning { border-color: var(--color-warning) !important; }

a { color: var(--color-dark); }
a:hover { color: var(--color-primary);text-decoration: none; }

.navbar-light .navbar-nav .nav-link:hover,
.navbar-light .navbar-nav .nav-link:focus {
  color: var(--color-primary) !important;
}

.rounded-lg { border-radius: 0.5rem !important; }

.form-control:focus,
.form-select:focus {
  border-color: var(--color-primary);
  box-shadow: 0 0 0 0.2rem rgb(from var(--color-primary) r g b / 0.25);
  outline: 0;
}
.navbar-nav .nav-link i {
  color: var(--color-primary);
}
.navbar-nav .nav-link:hover i,
.navbar-nav .nav-link:focus i {
  color: var(--color-warning) !important;
}

.navbar-nav .nav-link {
  color: var(--white) !important;
}
.navbar-nav .nav-link:hover,
.navbar-nav .nav-link:focus {
  color: var(--color-warning) !important;
}

.badge-primary {
  background-color: var(--color-primary);
  color: var(--white) !important;
}
.badge-warning {
  background-color: var(--color-warning);
  color: var(--white) !important;
  letter-spacing: 1px;
}

/* 实用工具类 */
.d-webkit { display: -webkit-box !important;overflow: hidden;text-overflow: ellipsis;-webkit-box-orient: vertical; }	/* 配合-webkit-line-clamp: 3;使用，控制文本在第三行后省略文本  */

.article-body { color: var(--color-dark);font-size: 95%; }
.article-body p { font-weight: 400; }
.article-body p img { display:block;margin: 0 auto; }
.article-body video { border-radius: 0.25rem; }

@media (min-width: 576px) { .card-columns { column-count: 2; } }
@media (min-width: 1200px) { .card-columns { column-count: 3; } }