.gps {
  display: flex;
  justify-content: flex-start;
  width: 190px;
  max-width: calc(100% - 40px);
  padding: 0;
  background: transparent;
  border: 0;
}

.gps a,
.gps-card a,
.gps-inline a {
  display: inline-block;
  flex: 0 0 auto;
  line-height: 0;
  border-radius: 5px;
}

.gps > a {
  width: 100%;
  aspect-ratio: 338 / 107;
  background: url('/img/google-preferred-source.png') center / contain no-repeat;
  background-image: image-set(
    url('/img/google-preferred-source.png') 1x,
    url('/img/google-preferred-source@2x.png') 2x
  );
}

.gps a:focus-visible,
.gps-card a:focus-visible,
.gps-inline a:focus-visible {
  outline: 3px solid #1a73e8;
  outline-offset: 4px;
}

.gps img {
  display: block;
  width: 100%;
  max-width: 100%;
  height: auto;
  margin: 0;
  opacity: 0;
}

.gps.gps-source-ready > a {
  background-image: none;
}

.gps.gps-source-ready img {
  opacity: 1;
}

.gps-card img {
  display: block;
  width: 190px;
  max-width: 100%;
  height: auto;
  margin: 0 auto;
}

.gps-card {
  margin: 34px 0 8px;
  padding: 22px;
  border: 1px solid #dfe3e1;
  border-radius: 10px;
  background: #fff;
  text-align: center;
}

.gps-card p {
  max-width: 610px;
  margin: 0 auto 14px;
  color: #4f5b55;
  font-size: 15px;
  line-height: 1.55;
}

.gps-inline {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 18px;
  margin: 0 0 28px;
  padding: 14px 16px;
  border: 1px solid #dfe3e1;
  border-radius: 9px;
  background: #f7f9f8;
}

.gps-inline span {
  color: #4f5b55;
  font-size: 14px;
  font-weight: 650;
  line-height: 1.45;
}

.gps-inline img {
  display: block;
  width: 170px;
  max-width: 100%;
  height: auto;
}

.seo-footer,
#cbc-home-footer {
  position: relative;
}

.seo-footer > .gps {
  position: absolute;
  top: 36px;
  left: max(20px, calc((100% - 1080px) / 2 + 20px));
  z-index: 1;
}

.seo-footer .fcol-brand {
  padding-top: 76px;
}

#cbc-home-footer > .gps {
  position: absolute;
  top: 44px;
  left: max(20px, calc((100% - 1100px) / 2));
  z-index: 1;
}

#cbc-home-footer .cb-grid > :first-child {
  padding-top: 76px;
}

.site-footer {
  display: grid;
  grid-template-columns: minmax(176px, 190px) minmax(0, 1fr);
  align-items: center;
  gap: 24px;
  padding: 16px max(20px, calc((100% - 1100px) / 2));
  background: #faf6f1;
  border-top: 1px solid #e7ded3;
}

.site-footer > div:not(.gps) {
  padding: 0 !important;
  background: transparent !important;
  border: 0 !important;
  text-align: right !important;
}

@media (max-width: 560px) {
  .gps {
    width: 176px;
  }

  .gps-card img {
    width: 176px;
  }

  .gps-inline {
    align-items: flex-start;
    flex-direction: column;
  }

  .gps-inline img {
    width: 160px;
  }

  .seo-footer .fcol-brand,
  #cbc-home-footer .cb-grid > :first-child {
    padding-top: 72px;
  }

  .site-footer {
    grid-template-columns: 1fr;
    gap: 12px;
  }

  .site-footer > div:not(.gps) {
    text-align: left !important;
  }
}
