@import url("https://fonts.googleapis.com/css2?family=DM+Sans:wght@400;500;600&family=Libre+Caslon+Display&display=swap");

.jrwpb-footer {
  --jrwpb-ink: #1d201d;
  --jrwpb-cream: #ebe4d6;
  --jrwpb-moss: #34483d;
  --jrwpb-rust: #ad4b31;
  --jrwpb-gold: #c3a25e;
  --jrwpb-sans: "DM Sans", Arial, sans-serif;
  --jrwpb-serif: "Libre Caslon Display", Georgia, serif;
  --jrwpb-pad: clamp(24px, 5vw, 80px);
  color: var(--jrwpb-ink);
  font-family: var(--jrwpb-sans);
  font-size: 16px;
  line-height: 1.65;
}

.jrwpb-footer,
.jrwpb-footer * {
  box-sizing: border-box;
}

.jrwpb-footer a {
  color: inherit;
}

.jrwpb-newsletter {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: clamp(30px, 7vw, 110px);
  align-items: center;
  padding: clamp(50px, 6vw, 88px) var(--jrwpb-pad);
  background: var(--jrwpb-cream);
}

.jrwpb-eyebrow {
  margin: 0 0 16px;
  color: var(--jrwpb-moss);
  font-size: 11px;
  font-weight: 600;
  letter-spacing: .16em;
  text-transform: uppercase;
}

.jrwpb-newsletter-title {
  margin: 0 0 10px;
  font: clamp(32px, 3.4vw, 52px)/1.06 var(--jrwpb-serif);
  letter-spacing: -.025em;
}

.jrwpb-signup label {
  display: block;
  margin-bottom: 7px;
  font-size: 13px;
  font-weight: 600;
}

.jrwpb-signup > div {
  display: flex;
  align-items: stretch;
}

.jrwpb-footer .jrwpb-newsletter .jrwpb-signup input {
  display: block !important;
  width: auto !important;
  min-width: 0 !important;
  max-width: none !important;
  min-height: 56px !important;
  height: 56px !important;
  flex: 1 1 auto !important;
  margin: 0 !important;
  padding: 14px !important;
  border: 1px solid rgba(29, 32, 29, .3) !important;
  border-right: 0 !important;
  border-radius: 0 !important;
  background: #fff !important;
  box-shadow: none !important;
  color: var(--jrwpb-ink) !important;
  font-family: var(--jrwpb-sans) !important;
  font-size: 16px !important;
  font-weight: 400 !important;
  line-height: 1.2 !important;
  appearance: none !important;
}

.jrwpb-signup small {
  display: block;
  margin-top: 8px;
  color: #65665f;
}

.jrwpb-footer .jrwpb-newsletter .jrwpb-signup .jrwpb-button {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  flex: 0 0 auto;
  width: auto !important;
  min-width: 116px !important;
  min-height: 56px !important;
  height: 56px !important;
  margin: 0 !important;
  padding: 12px 22px !important;
  border: 1px solid transparent !important;
  border-radius: 0 !important;
  background: var(--jrwpb-rust) !important;
  box-shadow: none !important;
  color: #fff !important;
  font-family: var(--jrwpb-sans) !important;
  font-size: 11px !important;
  font-weight: 600 !important;
  letter-spacing: .11em !important;
  line-height: 1 !important;
  text-transform: uppercase !important;
  cursor: pointer !important;
}

.jrwpb-site-footer {
  display: flex;
  justify-content: space-between;
  gap: 20px;
  padding: 28px clamp(20px, 4vw, 62px);
  background: #27382f;
  color: #fff;
  font-size: 12px;
}

.jrwpb-site-footer p {
  margin: 0;
}

.jrwpb-site-footer nav {
  display: flex;
  gap: 25px;
}

.jrwpb-site-footer a {
  text-decoration: none;
}

.jrwpb-footer a:focus-visible,
.jrwpb-footer button:focus-visible,
.jrwpb-footer input:focus-visible {
  outline: 3px solid var(--jrwpb-gold);
  outline-offset: 3px;
}

@media (hover: hover) {
  .jrwpb-footer .jrwpb-newsletter .jrwpb-signup .jrwpb-button,
  .jrwpb-site-footer a {
    transition: opacity .2s ease;
  }

  .jrwpb-footer .jrwpb-newsletter .jrwpb-signup .jrwpb-button:hover,
  .jrwpb-site-footer a:hover {
    opacity: .72;
  }
}

@media (max-width: 820px) {
  .jrwpb-newsletter {
    grid-template-columns: 1fr;
  }

  .jrwpb-site-footer {
    flex-direction: column;
  }
}

@media (max-width: 520px) {
  .jrwpb-newsletter {
    padding: 54px 24px;
  }

  .jrwpb-signup > div {
    flex-direction: column;
  }

  .jrwpb-footer .jrwpb-newsletter .jrwpb-signup input {
    width: 100% !important;
    margin-bottom: 8px !important;
    border-right: 1px solid rgba(29, 32, 29, .3) !important;
  }

  .jrwpb-footer .jrwpb-newsletter .jrwpb-signup .jrwpb-button {
    width: 100% !important;
  }

  .jrwpb-site-footer nav {
    flex-wrap: wrap;
  }
}

@media (prefers-reduced-motion: reduce) {
  .jrwpb-footer * {
    transition: none !important;
  }
}

/* WordPress theme compatibility: preserve the footer typography and form layout. */
#fbpb-canvas .jrwpb-footer,
#fbpb-canvas .jrwpb-footer p,
#fbpb-canvas .jrwpb-footer a,
#fbpb-canvas .jrwpb-footer label,
#fbpb-canvas .jrwpb-footer input,
#fbpb-canvas .jrwpb-footer button,
#fbpb-canvas .jrwpb-footer small {
  font-family: var(--jrwpb-sans) !important;
}

#fbpb-canvas .jrwpb-footer {
  color: var(--jrwpb-ink);
  font-size: 16px !important;
  font-weight: 400;
  line-height: 1.65;
  -webkit-font-smoothing: antialiased;
}

#fbpb-canvas .jrwpb-footer p {
  font-size: 16px;
}

#fbpb-canvas .jrwpb-footer .jrwpb-newsletter-title {
  margin: 0 0 10px !important;
  padding: 0 !important;
  border: 0 !important;
  background: transparent !important;
  color: inherit !important;
  font-family: var(--jrwpb-serif) !important;
  font-size: clamp(32px, 3.4vw, 52px) !important;
  font-weight: 400 !important;
  line-height: 1.06 !important;
}

#fbpb-canvas .jrwpb-footer .jrwpb-eyebrow,
#fbpb-canvas .jrwpb-footer .jrwpb-button {
  font-size: 11px !important;
}

#fbpb-canvas .jrwpb-footer .jrwpb-signup > div {
  display: flex !important;
  align-items: stretch !important;
}

#fbpb-canvas .jrwpb-footer .jrwpb-signup .jrwpb-button {
  display: inline-flex !important;
  width: auto !important;
  min-width: 116px !important;
  min-height: 56px !important;
  height: 56px !important;
  flex: 0 0 auto !important;
  align-items: center !important;
  justify-content: center !important;
  margin: 0 !important;
  padding: 12px 22px !important;
  border: 1px solid transparent !important;
  border-radius: 0 !important;
  background: var(--jrwpb-rust) !important;
  box-shadow: none !important;
  color: #fff !important;
  font-family: var(--jrwpb-sans) !important;
  font-size: 11px !important;
  font-weight: 600 !important;
  letter-spacing: .11em !important;
  line-height: 1 !important;
  text-transform: uppercase !important;
}

#fbpb-canvas .jrwpb-footer .jrwpb-signup label {
  font-size: 13px !important;
}

#fbpb-canvas .jrwpb-footer .jrwpb-signup input {
  display: block !important;
  width: auto !important;
  min-width: 0 !important;
  max-width: none !important;
  min-height: 46px !important;
  flex: 1 1 auto !important;
  margin: 0 !important;
  padding: 14px !important;
  border: 1px solid rgba(29, 32, 29, .3) !important;
  border-right: 0 !important;
  border-radius: 0 !important;
  background: #fff !important;
  box-shadow: none !important;
  color: var(--jrwpb-ink) !important;
  font-size: 16px !important;
  font-weight: 400 !important;
  line-height: 1.2 !important;
  appearance: none !important;
}

#fbpb-canvas .jrwpb-footer .jrwpb-signup input::placeholder {
  color: #65665f !important;
  opacity: 1 !important;
}

#fbpb-canvas .jrwpb-footer .jrwpb-site-footer,
#fbpb-canvas .jrwpb-footer .jrwpb-site-footer p {
  font-size: 12px !important;
}

@media (max-width: 520px) {
  #fbpb-canvas .jrwpb-footer .jrwpb-signup > div {
    flex-direction: column !important;
  }

  #fbpb-canvas .jrwpb-footer .jrwpb-signup input {
    width: 100% !important;
    margin-bottom: 8px !important;
    border-right: 1px solid rgba(29, 32, 29, .3) !important;
  }

  #fbpb-canvas .jrwpb-footer .jrwpb-signup .jrwpb-button {
    width: 100% !important;
  }
}
