/* Chicago YMCA - newsletter band, footer columns, social, bottom bar
   Extracted verbatim from ymcachicago.org main.min.css
   (Wayback capture 20260309024027) - do not hand-edit; regenerate
   with build-notes/header-footer/extract_css.py */

.site-footer {
  margin:0;
  content-visibility:auto;
}

.newsletter-signup {
  background:#f3f3f3;
  background:linear-gradient(180deg,#00345F 0,#0460AD 100%);
  padding:35px 25px;
}

.newsletter-signup__inner {
  max-width:1330px;
  margin:0 auto;
}

.newsletter-signup__heading {
  color:#fff;
  text-align:center;
  font-size:36px;
  font-size:2.25rem;
  margin:0 0 20px;
  font-weight:400;
  letter-spacing:-2px;
}

.newsletter-signup__message {
  color:#fff;
  text-align:center;
  font-size:36px;
  font-size:2.25rem;
  font-weight:400;
}

.newsletter-signup__input {
  border:1px solid #fff;
  border-radius:43px;
  height:70px;
  color:#fff;
  background:0 0;
  width:100%;
  text-align:center;
  font-size:18px;
  font-size:1.125rem;
  margin:0 0 20px;
}

.newsletter-signup__input:-ms-input-placeholder {
  color:#fff;
}

.newsletter-signup__input::placeholder {
  color:#fff;
}

.newsletter-signup__button {
  background:#fff;
  border-radius:30px;
  border:1px solid #fff;
  color:#000;
  text-transform:uppercase;
  text-align:center;
  padding:20px 30px;
  min-width:194px;
  display:block;
  margin:0 20px;
  text-decoration:none;
  font-family:Cachet,Geneva,sans-serif;
  cursor:pointer;
}

.newsletter-signup__button:focus,
.newsletter-signup__button:hover {
  background:0 0;
  color:#fff;
}

.footer-top {
  padding:25px 0;
}

.footer-map-container {
  margin:0 0 50px;
}

.footer-map {
  height:320px;
}

.footer-map-container__find {
  padding:20px 0 0;
  text-align:center;
}

.footer-map-container__find-link {
  display:-ms-inline-flexbox;
  display:inline-flex;
  color:#666;
}

.footer-map-container__find-link:focus .footer-map-container__find-link-text,
.footer-map-container__find-link:hover .footer-map-container__find-link-text {
  text-decoration:none;
}

.footer-map-container__find-link-icon {
  width:20px;
  height:20px;
  fill:currentColor;
}

.footer-map-container__find-link-text {
  text-decoration:underline;
  margin:0 0 0 5px;
}

.footer-top__block {
  margin:0 0 60px;
  text-align:center;
  font-size:22px;
  font-size:1.375rem;
  font-weight:300;
}

.footer-top__block p {
  font-size:22px;
  font-size:1.375rem;
  font-weight:300;
  line-height:1.7;
}

.footer-top__block.footer-top__block--with-border:last-child {
  border-top:1px solid #5C2E91;
  padding-top:60px;
}

.footer-heading {
  font-size:28px;
  font-size:1.75rem;
  font-weight:400;
  color:#000;
  margin:0 0 5px;
}

.footer-bottom {
  margin:0 -15px;
  border-top:1px solid #979797;
  padding:45px 15px;
}

.footer-links {
  padding:0;
  list-style:none;
  text-align:center;
  margin:0 0 25px;
}

.footer-links__item {
  display:block;
  margin:10px 0;
}

.footer-links__link {
  font-size:18px;
  font-size:1.125rem;
  text-decoration:none;
}

.footer-links__link:focus,
.footer-links__link:hover {
  text-decoration:underline;
}

.footer-copyright {
  text-align:center;
  font-size:14px;
  font-size:.875rem;
  font-weight:300;
  color:#000;
}

.social-list {
  padding:0;
  list-style:none;
  display:-ms-flexbox;
  display:flex;
  margin:0 -5px;
  -ms-flex-pack:center;
  justify-content:center;
}

.social-list__item {
  padding:0 5px;
}

.social-list__link {
  display:block;
  width:48px;
  height:48px;
  margin:0 auto;
  position:relative;
  color:#0060af;
}

.social-list__link:focus,
.social-list__link:hover {
  color:#000;
}

.social-list__icon {
  fill:currentColor;
  width:22px;
  height:22px;
  position:absolute;
  left:50%;
  top:50%;
  -ms-transform:translateX(-50%) translateY(-50%);
  transform:translateX(-50%) translateY(-50%);
}

@media (min-width:48em) {
  .footer-top__inner {
    display:-ms-flexbox;
    display:flex;
    -ms-flex-pack:justify;
    justify-content:space-between;
    -ms-flex-wrap:wrap;
    flex-wrap:wrap;
  }

  .footer-map-container {
    width:50%;
  }

  .footer-top__block {
    padding:0 15px;
    width:50%;
  }

  .footer-top__block.footer-top__block--with-border:last-child {
    border:0;
    padding-top:0;
  }

  .footer-links {
    display:-ms-flexbox;
    display:flex;
    -ms-flex-pack:center;
    justify-content:center;
  }

  .footer-links__item {
    margin:0 2%;
  }
}

@media (min-width:71.25em) {
  .newsletter-signup {
    padding:70px 25px;
  }

  .newsletter-signup__inner {
    display:-ms-flexbox;
    display:flex;
    -ms-flex-align:center;
    align-items:center;
    -ms-flex-pack:center;
    justify-content:center;
  }

  .newsletter-signup__heading {
    color:#fff;
    text-align:left;
    font-size:48px;
    font-size:3rem;
    margin:0;
  }

  .newsletter-signup__input-container {
    width:50%;
    position:relative;
  }

  .newsletter-signup__input {
    padding:5px 210px 5px 30px;
    height:88px;
    text-align:left;
    width:100%;
    margin:0;
  }

  .footer-top {
    padding:75px 0 20px;
  }

  .footer-top__inner {
    display:-ms-flexbox;
    display:flex;
    -ms-flex-pack:justify;
    justify-content:space-between;
    -ms-flex-wrap:initial;
    flex-wrap:initial;
    -ms-flex-align:start;
    align-items:flex-start;
  }

  .footer-map-container {
    width:33.33%;
  }

  .footer-top__block {
    width:auto;
    padding:0 0 0 5%;
    text-align:left;
  }

  .footer-top__block.footer-top__block--with-border:last-child {
    border:0;
    border-left:1px solid #5C2E91;
    padding:0 0 0 3%;
    margin:0 0 0 3%;
  }

  .social-list {
    -ms-flex-pack:start;
    justify-content:flex-start;
  }
}

@media (min-width:60em) {
  .footer-nav .menu {
    display:table;
    list-style:none;
    width:100%;
  }

  .footer-nav .menu>li {
    display:table-cell;
  }

  .footer-nav .menu>li ul {
    list-style:none;
    margin:0;
    padding:0;
  }
}

.review-social-list {
  padding:0;
  list-style:none;
  display:-ms-flexbox;
  display:flex;
  margin:0 -5px;
  -ms-flex-pack:center;
  justify-content:center;
}

.review-social-list__item {
  padding:0 5px;
}

.review-social-list__link {
  display:block;
  width:38px;
  height:38px;
  margin:0 auto;
  position:relative;
  color:#0060af;
}

.review-social-list__link:focus,
.review-social-list__link:hover {
  color:#0060af;
}

.review-social-list__icon {
  fill:currentColor;
  width:22px;
  height:22px;
  position:absolute;
  left:50%;
  top:50%;
  -ms-transform:translateX(-50%) translateY(-50%);
  transform:translateX(-50%) translateY(-50%);
}
