/*
Theme footer styles for the redesigned Vulcan footer.
Load this file after style.css.
*/
#footer {
  --footer-angle-drop:clamp(1.25rem,5.3vw,6.4rem);
  --footer-angle-inset:clamp(.5rem,.65vw,.8rem);
  background-color:#45434E;
  color:#fff;
  position:relative;
  overflow:hidden;
  padding:7.25rem 0 2rem;
  font-size:1rem;
  line-height:1.45}

#footer .site-footer__angle {
  position:absolute;
  top:0;
  left:0;
  width:100%;
  height:calc(var(--footer-angle-drop) + var(--footer-angle-inset));
  background:#FE5100;
  clip-path:polygon(0 0,100% 0,100% 100%,0 var(--footer-angle-inset));
  filter:drop-shadow(0 -.55rem .7rem rgba(0,0,0,.5));
  pointer-events:none}

#footer .site-footer__inner {
  max-width:1660px;
  padding-left:2rem;
  padding-right:2rem;
  margin-left:auto;
  margin-right:auto;
  position:relative;
  z-index:1;
  display:grid;
  grid-template-columns:100%;
  grid-column-gap:2.5rem;
  grid-row-gap:2.25rem}

#footer a {
  color:#fff;
  text-decoration:none;
  transition:color 200ms,border-color 200ms,background-color 200ms}

#footer a:hover,#footer a:focus {
  color:#FE5100}

#footer svg {
  max-width:100%;
  height:auto}

#footer .site-footer__brand {
  max-width:31rem}

#footer .site-footer__intro {
  display:block}

#footer .site-footer__logo {
  display:block;
  width:12.5rem;
  max-width:100%;
  margin:0 0 2rem}

#footer .site-footer__logo svg {
  display:block}

#footer .site-footer__logo svg path,
#footer .site-footer__logo svg polygon,
#footer .site-footer__logo svg rect {
  fill:#FE5100}

#footer .site-footer__about {
  max-width:25rem;
  margin:0 0 2rem;
  font-size:1.05rem;
  line-height:1.35}

#footer .footer-title,#footer .title {
  display:block;
  margin:0 0 1rem;
  color:#fff;
  font-size:1.95rem;
  font-weight:700;
  line-height:1.1;
  text-transform:none}

#footer .site-footer__newsletter {
  margin-bottom:2rem}

#footer .site-footer__newsletter .footer-title {
  margin-bottom:1rem;
  font-size:1.5rem}

#footer .site-footer__newsletter-form,
#footer .site-footer__newsletter-link {
  display:flex;
  align-items:center;
  justify-content:flex-end;
  width:100%;
  max-width:22rem;
  min-height:3.25rem;
  padding:0;
  border:2px solid #FE5100;
  border-radius:8px;
  color:#fff;
  position:relative}

#footer .site-footer__newsletter-form input[type="email"] {
  min-width:0;
  width:100%;
  height:3.25rem;
  padding:0 3rem 0 1rem;
  border:0;
  outline:0;
  background:transparent;
  color:#fff;
  font:inherit;
  text-align:left}

#footer .site-footer__newsletter-form input[type="email"]::placeholder {
  color:rgba(255,255,255,.72)}

#footer .site-footer__newsletter-submit {
  display:flex;
  align-items:center;
  justify-content:center;
  position:absolute;
  top:50%;
  right:.35rem;
  width:2.4rem;
  height:2.4rem;
  padding:0;
  border:0;
  background:transparent;
  color:#fff;
  cursor:pointer;
  transform:translateY(-50%)}

#footer .site-footer__newsletter-submit:disabled {
  cursor:wait;
  opacity:.65}

#footer .site-footer__newsletter-link .fa {
  font-size:1.5rem;
  line-height:1}

#footer .site-footer__newsletter-icon {
  display:block;
  width:1.85rem;
  height:1.85rem;
  object-fit:contain;
  transition:filter 200ms}

#footer .site-footer__newsletter-submit:hover .site-footer__newsletter-icon,
#footer .site-footer__newsletter-submit:focus-visible .site-footer__newsletter-icon {
  filter:drop-shadow(0 0 .45rem #FE5100)}

#footer .site-footer__newsletter-form input[type="email"]:-webkit-autofill,
#footer .site-footer__newsletter-form input[type="email"]:-webkit-autofill:hover,
#footer .site-footer__newsletter-form input[type="email"]:-webkit-autofill:focus {
  -webkit-box-shadow:0 0 0 1000px #e8f0fe inset;
  -webkit-text-fill-color:#17171d;
  transition:background-color 9999s ease-out 0s}

#footer .site-footer__newsletter-form .nb-message {
  position:absolute;
  top:calc(100% + .45rem);
  left:0;
  margin:0;
  font-size:.9rem;
  line-height:1.25}

#footer .vn-honeypot {
  position:absolute !important;
  left:-9999px !important;
  width:1px !important;
  height:1px !important;
  opacity:0 !important}

#footer .social {
  position:static !important;
  inset:auto !important;
  display:flex !important;
  flex-direction:row !important;
  flex-wrap:wrap;
  align-items:center;
  justify-content:flex-start;
  gap:.75rem;
  margin:0 0 2rem;
  padding:0}

#footer .social dt {
  display:none !important}

#footer .social dd {
  display:inline-flex !important;
  width:auto !important;
  margin:0 !important;
  padding:0 !important}

#footer .social a {
  display:flex;
  align-items:center;
  justify-content:center;
  width:2.65rem;
  height:2.65rem;
  border-radius:50%;
  background:#fff;
  color:#474650;
  line-height:1}

#footer .social a:hover,#footer .social a:focus {
  background:#FE5100;
  color:#fff}

#footer .social .fab,#footer .social .fa,#footer .social .fa-brands {
  font-size:1.45rem;
  line-height:1}

#footer .social dd svg {
  width:1.45rem;
  height:1.45rem;
  vertical-align:middle}

#footer .site-footer__payment strong {
  display:block;
  margin-bottom:.75rem;
  font-size:1.05rem;
  font-weight:400}

#footer .site-footer__cards {
  width:17rem;
  max-width:100%}

#footer .site-footer__cards svg {
  display:block}

#footer .site-footer__cards svg path,
#footer .site-footer__cards svg polygon,
#footer .site-footer__cards svg rect,
#footer .site-footer__cards svg circle {
  fill:#fff}

#footer .footer-nav .title {
  display:block;
  margin:0 0 1rem;
  color:#fff;
  font-size:1.95rem;
  font-weight:700;
  line-height:1.1;
  text-transform:none}

#footer .footer-nav__toggle {
  display:flex;
  align-items:center;
  justify-content:space-between;
  width:100%;
  margin:0 0 1rem;
  padding:0;
  border:0;
  background:transparent;
  color:#fff;
  font:inherit;
  font-size:1.95rem;
  font-weight:700;
  line-height:1.1;
  text-align:left;
  cursor:pointer}

#footer .footer-nav__chevron {
  width:.65rem;
  height:.65rem;
  margin-right:.25rem;
  border-right:2px solid currentColor;
  border-bottom:2px solid currentColor;
  transform:rotate(45deg) translateY(-.2rem);
  transition:transform 200ms}

#footer .footer-nav__toggle[aria-expanded="true"] .footer-nav__chevron {
  transform:rotate(225deg) translate(-.2rem,-.1rem)}

#footer .footer-nav dt {
  display:none}

#footer .footer-menu,#footer .footer-nav ul,#footer .footer-nav dl {
  margin:0;
  padding:0;
  list-style:none}

#footer .footer-menu li,#footer .footer-nav dd {
  margin:0 0 .55rem;
  padding:0}

#footer .footer-menu a,#footer .footer-nav dd a {
  font-size:1rem;
  line-height:1.35}

#footer .site-footer__secondary {
  display:grid;
  grid-template-columns:100%;
  grid-row-gap:2.5rem}

#footer .site-footer__contact address,#footer .site-footer__contact p {
  margin:0;
  font-style:normal}

#footer .site-footer__contact .footer-title {
  margin-bottom:1.6rem}

#footer .site-footer__contact-row {
  display:grid;
  grid-template-columns:2.8rem minmax(0,1fr);
  grid-column-gap:1.2rem;
  align-items:flex-start;
  margin-bottom:2rem;
  font-size:1rem;
  line-height:1.4}

#footer .site-footer__contact-icon {
  display:flex;
  align-items:center;
  justify-content:center;
  width:2.5rem;
  height:2.5rem;
  color:#fff}

#footer .site-footer__contact-icon .fa {
  font-size:1.65rem;
  line-height:1}

#footer .site-footer__created {
  display:flex;
  align-items:center;
  justify-content:flex-start}

#footer .site-footer__created .so-marketing {
  margin-left:-.25rem}

#footer .so-marketing {
  display:flex;
  align-items:center}

#footer .so-marketing__to-hide {
  top:auto !important;
  font-size:12px}

#footer .site-footer__bottom {
  border-top:1px solid rgba(255,255,255,.55);
  padding-top:1.35rem;
  font-size:1rem}

#footer .site-footer__copyright {
  margin:0 0 1rem}

#footer .site-footer__legal {
  display:flex;
  flex-wrap:wrap;
  gap:1rem 3rem}

#footer .site-footer__recaptcha-notice {
  margin:.9rem 0 0;
  color:rgba(255,255,255,.7);
  font-size:11px;
  line-height:1.5}

#footer .site-footer__recaptcha-notice a {
  color:inherit;
  text-decoration:underline;
  text-underline-offset:.18em}

#footer .site-footer__recaptcha-notice a:hover,
#footer .site-footer__recaptcha-notice a:focus-visible {
  color:#fff;
  text-decoration-thickness:2px}

#footer .site-footer__recaptcha-notice a:focus-visible {
  outline:2px solid #FE5100;
  outline-offset:3px}

@media screen and (max-width:580px) {
  #footer {
    padding-top:calc(var(--footer-angle-drop) + 3rem)}
  #footer .site-footer__secondary {
    grid-row-gap:0}
  #footer .footer-nav--collapsible {
    grid-row:span 1}
  #footer .footer-nav--collapsible {
    border-top:1px solid rgba(255,255,255,.4)}
  #footer .footer-nav--collapsible:last-child {
    border-bottom:1px solid rgba(255,255,255,.4)}
  #footer .footer-nav__toggle {
    margin:0;
    padding:1.2rem 0;
    font-size:1.45rem;
    line-height:1.2}
  #footer .footer-nav__content {
    padding-bottom:1.2rem}
  #footer .footer-nav--footer-1 .footer-nav__content {
    padding-bottom:0}
  #footer .footer-nav--footer-1 {
    margin-bottom:-2.25rem}
  #footer .footer-nav--collapsible.is-collapsed .footer-nav__content {
    display:none}
  #footer .footer-nav--collapsible.is-collapsed .footer-nav__toggle .footer-nav__chevron {
    transform:rotate(45deg) translateY(-.2rem)}
  #footer .site-footer__intro {
    display:flex;
    align-items:center;
    gap:1.5rem;
    margin-bottom:1.75rem}
  #footer .site-footer__logo {
    flex:0 0 9.75rem;
    width:9.75rem;
    margin:0}
  #footer .site-footer__about {
    flex:1 1 auto;
    margin:0;
    font-size:1.05rem;
    line-height:1.3}
  #footer .social {
    margin-bottom:0}
  #footer .site-footer__contact .footer-title {
    font-size:1.45rem}
  #footer .site-footer__meta {
    display:flex;
    align-items:flex-end;
    justify-content:space-between;
    gap:1rem}
  #footer .site-footer__payment {
    flex:1 1 auto;
    min-width:0}
  #footer .site-footer__payment strong {
    margin-bottom:.45rem;
    font-size:.85rem}
  #footer .site-footer__cards {
    width:8.5rem}
  #footer .site-footer__created {
    flex:0 0 8.75rem;
    justify-content:flex-end}
  #footer .site-footer__created .so-marketing {
    box-sizing:border-box;
    width:8.75rem !important;
    min-width:8.75rem;
    height:2.5rem;
    padding:0 2.25rem 0 0 !important;
    margin:0 !important;
    overflow:hidden}
  #footer .site-footer__created .so-marketing .to-slide {
    top:50% !important;
    right:0 !important;
    left:auto !important;
    width:2.25rem;
    transform:translateY(-50%) !important}
  #footer .site-footer__created .so-marketing .to-slide svg {
    width:2.25rem}
  #footer .site-footer__created .so-marketing:after {
    width:2.25rem}
  #footer .site-footer__created .so-marketing .to-hide {
    position:absolute !important;
    top:50% !important;
    left:0 !important;
    display:block;
    transform:translateY(-50%) !important;
    opacity:1 !important;
    white-space:nowrap;
    font-size:8px}
  #footer .site-footer__created .so-marketing .to-reveal {
    position:absolute !important;
    top:50% !important;
    right:0 !important;
    left:0 !important;
    display:block !important;
    width:100% !important;
    transform:translateY(-50%) !important;
    opacity:0}
  #footer .site-footer__created .so-marketing:hover {
    padding:0 !important}
  #footer .site-footer__created .so-marketing:hover:after {
    width:100% !important}
  #footer .site-footer__created .so-marketing:hover .to-hide {
    opacity:0 !important}
  #footer .site-footer__created .so-marketing:hover .to-slide {
    opacity:0}
  #footer .site-footer__created .so-marketing:hover .to-reveal {
    opacity:1 !important}
}

@media screen and (min-width:581px) {
  #footer .site-footer__inner {
    grid-template-columns:repeat(2,minmax(0,1fr))}
  #footer .site-footer__brand,
  #footer .site-footer__bottom {
    grid-column:span 2}
}

@media screen and (min-width:1025px) {
  #footer {
    padding-top:8.75rem}
  #footer .site-footer__inner {
    padding-left:3rem;
    padding-right:3rem;
    grid-template-columns:1.15fr .82fr .78fr .95fr;
    grid-column-gap:3rem;
    align-items:start}
  #footer .site-footer__brand,
  #footer .footer-nav--footer-1,
  #footer .site-footer__secondary,
  #footer .site-footer__contact,
  #footer .site-footer__payment,
  #footer .site-footer__created {
    transform:translateX(2.25rem)}
  #footer .site-footer__brand {
    grid-column:1;
    grid-row:1}
  #footer .footer-nav--footer-1 {
    grid-column:2;
    grid-row:1}
  #footer .site-footer__secondary {
    grid-column:3;
    grid-row:1}
  #footer .site-footer__meta {
    display:contents}
  #footer .site-footer__payment {
    grid-column:1;
    grid-row:2;
    align-self:start}
  #footer .site-footer__contact {
    grid-column:4;
    grid-row:1;
    box-sizing:border-box;
    padding-left:2rem}
  #footer .footer-nav__toggle {
    display:block;
    margin:0 0 1rem}
  #footer .footer-nav__chevron {
    display:none}
  #footer .footer-nav__content {
    display:block !important;
    padding:0 !important}
  #footer .site-footer__created {
    grid-column:4;
    grid-row:2;
    justify-content:flex-end;
    align-self:end;
    margin:0 2rem 0 0}
  #footer .site-footer__created .so-marketing {
    margin-left:auto !important}
  #footer .site-footer__bottom {
    grid-column:1 / -1;
    grid-row:3;
    width:calc(100% - 2rem);
    justify-self:center;
    display:grid;
    grid-template-columns:1fr auto;
    align-items:center;
    column-gap:2rem}
  #footer .site-footer__copyright {
    grid-column:1;
    grid-row:1;
    margin:0}
  #footer .site-footer__legal {
    grid-column:2;
    grid-row:1;
    justify-content:flex-end}
  #footer .site-footer__recaptcha-notice {
    grid-column:2;
    grid-row:2;
    margin:.25rem 0 0;
    text-align:right}
}

@media screen and (min-width:1600px) {
  #footer .site-footer__inner {
    grid-column-gap:4rem}
}
