#ACTFooter-act_footer_ABKHgT {
  --navy: #071f3d;
  --navy-soft: #0b294d;
  --gold: #c58a32;
  --text: #ffffff;

  position: relative;
  width: 100%;
  overflow: hidden;

  background: var(--navy);
  color: #ffffff;
}

#ACTFooter-act_footer_ABKHgT * {
  box-sizing: border-box;
}


/* =========================================================
   GOLD TOP ACCENT
========================================================= */

#ACTFooter-act_footer_ABKHgT::before {
  content: "";

  position: absolute;

  left: 0;
  top: 0;

  width: 100%;
  height: 3px;

  background:
    linear-gradient(
      90deg,
      transparent,
      var(--gold) 25%,
      var(--gold) 75%,
      transparent
    );
}


/* =========================================================
   MAIN WRAPPER
========================================================= */

#ACTFooter-act_footer_ABKHgT .act-footer__inner {
  width: min(
    calc(100% - 64px),
    1500px
  );

  margin: 0 auto;

  padding:
    80px
    0
    50px;
}


/* =========================================================
   GRID
========================================================= */

#ACTFooter-act_footer_ABKHgT .act-footer__grid {
  display: grid;

  grid-template-columns:
    1.4fr
    .85fr
    .85fr
    1fr;

  gap: 65px;
}


/* =========================================================
   BRAND
========================================================= */

#ACTFooter-act_footer_ABKHgT .act-footer__brand-link {
  display: inline-flex;

  align-items: center;

  gap: 14px;

  color: #ffffff;

  text-decoration: none;
}


#ACTFooter-act_footer_ABKHgT .act-footer__logo {
  display: block;

  width: auto;

  max-width:
    240px;

  max-height: 64px;

  object-fit: contain;
}


#ACTFooter-act_footer_ABKHgT .act-footer__monogram {
  width: 54px;
  height: 54px;

  display: grid;
  place-items: center;

  border:
    1px solid
    rgba(197,138,50,.65);

  color: var(--gold);

  font-family:
    Georgia,
    "Times New Roman",
    serif;

  font-size: 16px;

  letter-spacing: .07em;
}


#ACTFooter-act_footer_ABKHgT .act-footer__company {
  font-family:
    Georgia,
    "Times New Roman",
    serif;

  font-size: 19px;

  line-height: 1.1;
}


#ACTFooter-act_footer_ABKHgT .act-footer__tagline {
  margin-top: 5px;

  color:
    rgba(255,255,255,.58);

  font-family:
    Arial,
    Helvetica,
    sans-serif;

  font-size: 8px;

  font-weight: 600;

  letter-spacing: .18em;

  text-transform: uppercase;
}


#ACTFooter-act_footer_ABKHgT .act-footer__description {
  max-width: 390px;

  margin-top: 25px;

  color:
    rgba(255,255,255,.68);

  font-family:
    Arial,
    Helvetica,
    sans-serif;

  font-size: 12px;

  line-height: 1.75;
}


#ACTFooter-act_footer_ABKHgT
.act-footer__description p {
  margin: 0;
}


/* =========================================================
   COLUMN TITLES
========================================================= */

#ACTFooter-act_footer_ABKHgT .act-footer__heading {
  position: relative;

  margin: 0 0 23px;

  padding-bottom: 13px;

  color: #ffffff;

  font-family:
    Georgia,
    "Times New Roman",
    serif;

  font-size: 17px;

  font-weight: 400;
}


#ACTFooter-act_footer_ABKHgT
.act-footer__heading::after {
  content: "";

  position: absolute;

  left: 0;
  bottom: 0;

  width: 35px;
  height: 1px;

  background: var(--gold);
}


/* =========================================================
   LINKS
========================================================= */

#ACTFooter-act_footer_ABKHgT .act-footer__links {
  margin: 0;
  padding: 0;

  list-style: none;
}


#ACTFooter-act_footer_ABKHgT
.act-footer__links li + li {
  margin-top: 13px;
}


#ACTFooter-act_footer_ABKHgT
.act-footer__link {
  position: relative;

  color:
    rgba(255,255,255,.68);

  font-family:
    Arial,
    Helvetica,
    sans-serif;

  font-size: 11px;

  line-height: 1.4;

  text-decoration: none;

  transition:
    color .2s ease,
    padding-left .25s ease;
}


#ACTFooter-act_footer_ABKHgT
.act-footer__link::before {
  content: "";

  position: absolute;

  left: 0;
  top: 50%;

  width: 0;

  height: 1px;

  transform:
    translateY(-50%);

  background: var(--gold);

  transition:
    width .25s ease;
}


#ACTFooter-act_footer_ABKHgT
.act-footer__link:hover {
  padding-left: 15px;

  color: #ffffff;
}


#ACTFooter-act_footer_ABKHgT
.act-footer__link:hover::before {
  width: 8px;
}


/* =========================================================
   CONTACT
========================================================= */

#ACTFooter-act_footer_ABKHgT .act-footer__contact {
  display: flex;
  flex-direction: column;

  gap: 16px;
}


#ACTFooter-act_footer_ABKHgT .act-footer__contact-item {
  display: grid;

  grid-template-columns:
    28px
    1fr;

  gap: 10px;

  align-items: start;
}


#ACTFooter-act_footer_ABKHgT .act-footer__contact-icon {
  color: var(--gold);

  font-family:
    Arial,
    Helvetica,
    sans-serif;

  font-size: 16px;
}


#ACTFooter-act_footer_ABKHgT .act-footer__contact-label {
  color:
    rgba(255,255,255,.43);

  font-family:
    Arial,
    Helvetica,
    sans-serif;

  font-size: 8px;

  font-weight: 700;

  letter-spacing: .1em;

  text-transform: uppercase;
}


#ACTFooter-act_footer_ABKHgT .act-footer__contact-value {
  margin-top: 4px;

  color:
    rgba(255,255,255,.75);

  font-family:
    Arial,
    Helvetica,
    sans-serif;

  font-size: 11px;

  line-height: 1.5;
}


#ACTFooter-act_footer_ABKHgT .act-footer__contact-value a {
  color: inherit;

  text-decoration: none;
}


#ACTFooter-act_footer_ABKHgT
.act-footer__contact-value a:hover {
  color: var(--gold);
}


/* =========================================================
   CTA
========================================================= */

#ACTFooter-act_footer_ABKHgT .act-footer__cta {
  margin-top: 30px;

  display: inline-flex;

  min-height: 46px;

  padding: 0 19px;

  align-items: center;
  justify-content: center;

  gap: 12px;

  border:
    1px solid
    var(--gold);

  color: var(--gold);

  font-family:
    Arial,
    Helvetica,
    sans-serif;

  font-size: 10px;

  font-weight: 700;

  text-decoration: none;

  transition:
    background .25s ease,
    color .25s ease,
    transform .25s ease;
}


#ACTFooter-act_footer_ABKHgT
.act-footer__cta:hover {
  background: var(--gold);

  color: var(--navy);

  transform:
    translateY(-2px);
}


/* =========================================================
   DIVIDER
========================================================= */

#ACTFooter-act_footer_ABKHgT .act-footer__divider {
  width: 100%;
  height: 1px;

  margin-top: 60px;

  background:
    rgba(255,255,255,.09);
}


/* =========================================================
   BOTTOM
========================================================= */

#ACTFooter-act_footer_ABKHgT .act-footer__bottom {
  min-height: 72px;

  display: flex;

  align-items: center;
  justify-content: space-between;

  gap: 30px;
}


#ACTFooter-act_footer_ABKHgT .act-footer__copyright {
  color:
    rgba(255,255,255,.44);

  font-family:
    Arial,
    Helvetica,
    sans-serif;

  font-size: 9px;

  line-height: 1.5;
}


#ACTFooter-act_footer_ABKHgT .act-footer__legal {
  display: flex;
  align-items: center;

  gap: 24px;
}


#ACTFooter-act_footer_ABKHgT
.act-footer__legal a {
  color:
    rgba(255,255,255,.44);

  font-family:
    Arial,
    Helvetica,
    sans-serif;

  font-size: 9px;

  text-decoration: none;

  transition:
    color .2s ease;
}


#ACTFooter-act_footer_ABKHgT
.act-footer__legal a:hover {
  color: var(--gold);
}


/* =========================================================
   MOBILE
========================================================= */

@media screen and (max-width: 1000px) {

  #ACTFooter-act_footer_ABKHgT .act-footer__grid {
    grid-template-columns:
      repeat(2, minmax(0, 1fr));

    gap: 50px;
  }

}


@media screen and (max-width: 620px) {

  #ACTFooter-act_footer_ABKHgT .act-footer__inner {
    width:
      calc(100% - 38px);

    padding-top: 65px;
  }


  #ACTFooter-act_footer_ABKHgT .act-footer__grid {
    grid-template-columns: 1fr;

    gap: 43px;
  }


  #ACTFooter-act_footer_ABKHgT .act-footer__description {
    max-width: none;
  }


  #ACTFooter-act_footer_ABKHgT .act-footer__divider {
    margin-top: 45px;
  }


  #ACTFooter-act_footer_ABKHgT .act-footer__bottom {
    padding: 25px 0;

    min-height: 0;

    flex-direction: column;

    align-items: flex-start;

    gap: 15px;
  }


  #ACTFooter-act_footer_ABKHgT .act-footer__legal {
    flex-wrap: wrap;

    gap: 15px 22px;
  }

}

/* Shared footer additions */
#ACTFooter-act_footer_ABKHgT .act-footer__contact{
  display:flex;
  flex-direction:column;
  align-items:flex-start;
  gap:10px;
}

#ACTFooter-act_footer_ABKHgT .act-footer__phone{
  position:relative;
  display:inline-flex;
  align-items:center;
  gap:9px;
  color:rgba(255,255,255,.72);
  font-family:Arial,Helvetica,sans-serif;
  font-size:12px;
  font-weight:600;
  line-height:1.5;
  text-decoration:none;
  transition:color .22s ease, transform .22s ease;
}

#ACTFooter-act_footer_ABKHgT .act-footer__phone::before{
  content:"";
  width:6px;
  height:6px;
  border:1px solid var(--gold);
  transform:rotate(45deg);
}

#ACTFooter-act_footer_ABKHgT .act-footer__phone:hover{
  color:var(--gold);
  transform:translateX(3px);
}

#ACTFooter-act_footer_ABKHgT .act-footer__cta span{
  transition:transform .24s cubic-bezier(.16,1,.3,1);
}

#ACTFooter-act_footer_ABKHgT .act-footer__cta:hover span{
  transform:translateX(4px);
}
