/* ActiveWills brand layer. Keep the original Purpose theme reusable. */
:root {
  --activewills-green: #6cb232;
  --activewills-forest: #173f2c;
  --activewills-primary: #397d32;
  --activewills-primary-hover: #2c6527;
  --activewills-mist: #f4f8f1;
  --primary: #397d32;
  --success: #397d32;
  --dark: #173f2c;
}

body {
  color: #53615a;
}

body.bg-dark,
#navbar-main.bg-dark {
  background-color: var(--activewills-forest) !important;
}

h1, h2, h3, h4, h5, h6,
.h1, .h2, .h3, .h4, .h5, .h6 {
  color: #203c2d;
}

a {
  color: var(--activewills-primary);
}

a:hover {
  color: var(--activewills-primary-hover);
}

.bg-gradient-primary {
  background: linear-gradient(115deg, #173f2c 0%, #326b34 58%, #4b812e 100%) !important;
}

.footer.bg-gradient-primary {
  background: linear-gradient(115deg, #123424 0%, #214c2e 60%, #32632e 100%) !important;
}

.bg-section-secondary {
  background-color: var(--activewills-mist) !important;
}

.text-primary,
a.text-primary:hover,
a.text-primary:focus {
  color: var(--activewills-primary) !important;
}

.text-info,
.typed-cursor {
  color: #d6efb5 !important;
}

.btn-primary,
.btn-success,
.btn-dark {
  color: #fff;
  background-color: var(--activewills-primary);
  border-color: var(--activewills-primary);
  box-shadow: 0 4px 12px rgba(23, 63, 44, 0.12);
}

.btn-primary:hover,
.btn-success:hover,
.btn-dark:hover,
.btn-primary:not(:disabled):not(.disabled):active,
.btn-success:not(:disabled):not(.disabled):active,
.btn-dark:not(:disabled):not(.disabled):active {
  color: #fff;
  background-color: var(--activewills-primary-hover);
  border-color: var(--activewills-primary-hover);
}

.btn-white {
  color: var(--activewills-forest);
}

.btn-white:hover {
  color: var(--activewills-forest);
  background-color: #edf5e5;
  border-color: #edf5e5;
}

a:focus-visible,
button:focus-visible,
[role="button"]:focus-visible {
  outline: 3px solid var(--activewills-green);
  outline-offset: 5px;
}

.bg-gradient-primary a:focus-visible,
.navbar a:focus-visible,
.navbar button:focus-visible {
  outline-color: #d6efb5;
}

#navbar-logo {
  display: block;
  width: 215px;
  max-width: 100%;
  height: auto;
}

.footer-logo {
  display: block;
  width: 250px;
  max-width: 100%;
  height: auto;
  margin-bottom: 1.5rem;
}

.navbar-dark .navbar-nav .nav-link {
  color: #fff;
}

.footer-dark,
.footer-dark p,
.footer-dark .list-unstyled li a {
  color: #e2edde;
}

.footer-dark .list-unstyled li a:hover {
  color: #fff;
}

.card-pricing.border {
  border-color: #e1eada !important;
}

.card-pricing .card-header {
  background-color: #fff;
}

.accordion .card {
  border-color: #e1eada;
  box-shadow: 0 4px 16px rgba(23, 63, 44, 0.035);
}

.accordion .card-header[aria-expanded="true"] {
  background-color: #edf5e5;
}

.accordion .card-header[aria-expanded="true"] h6,
.accordion .card-header::after {
  color: var(--activewills-primary);
}

.activewills-phone {
  display: block;
  position: relative;
  margin-left: auto;
  margin-right: auto;
  filter: drop-shadow(0 18px 24px rgba(13, 40, 25, 0.16));
}

/* Use the supplied master artwork so both phone wordmarks stay exact. */
.activewills-phone-brand {
  position: absolute;
  top: 12.8%;
  left: 25.5%;
  width: 49%;
  height: 11.6%;
  display: flex;
  align-items: center;
  padding: 1.8%;
  background: #fff;
  pointer-events: none;
}

.activewills-phone-brand img {
  display: block;
  width: 100%;
  height: auto;
}

@media (max-width: 991.98px) {
  #navbar-logo {
    width: 190px;
  }

  .activewills-phone-small {
    max-width: 320px;
    margin-top: 2.5rem;
    margin-bottom: 2.5rem;
  }
}

@media (prefers-reduced-motion: reduce) {
  .hover-scale-110:hover {
    transform: none;
  }
}
