/* Google Custom Search / Programmable Search */
.gsc-control-cse {
  padding: 0 !important;
  border: 0 !important;
  background: transparent !important;
  font-family: inherit !important;
}

/* Search box */
.gsc-search-box {
  margin: 0 !important;
}

.gsc-search-box table,
.gsc-search-box tbody,
.gsc-search-box tr,
.gsc-search-box td {
  display: block !important;
}

.gsc-input-box {
  height: auto !important;
  border: 1px solid #ddd !important;
  border-radius: 12px !important;
  padding: 6px 12px !important;
  background: #fff !important;
  box-shadow: none !important;
}

.gsc-input {
  font-size: 16px !important;
  padding: 10px 0 !important;
  background: transparent !important;
}

input.gsc-input {
  background-image: none !important;
}

.gsc-search-button-v2 {
  border: 0 !important;
  border-radius: 12px !important;
  padding: 13px 18px !important;
  background: #b21f24 !important;
}

.gsc-search-button-v2:hover {
  background: #87171b !important;
}

/* Results wrapper */
.gsc-results-wrapper-visible {
  margin-top: 24px !important;
}

.gsc-result {
  padding: 18px 0 !important;
  border-bottom: 1px solid #eee !important;
}

.gsc-webResult.gsc-result {
  border-radius: 0 !important;
  background: transparent !important;
}

/* Result title */
.gs-title,
.gs-title b {
  color: #171717 !important;
  font-size: 18px !important;
  line-height: 1.35 !important;
  text-decoration: none !important;
}

.gs-title:hover,
.gs-title:hover b {
  color: #b21f24 !important;
}

/* URL */
.gsc-url-top,
.gs-visibleUrl {
  color: #6f7277 !important;
  font-size: 13px !important;
}

/* Snippet */
.gs-snippet,
.gs-snippet b {
  color: #444 !important;
  font-size: 15px !important;
  line-height: 1.6 !important;
}

/* Pagination */
.gsc-cursor-box {
  margin-top: 24px !important;
}

.gsc-cursor-page {
  padding: 8px 12px !important;
  margin-right: 6px !important;
  border-radius: 8px !important;
  color: #171717 !important;
  background: #f5f5f5 !important;
  text-decoration: none !important;
}

.gsc-cursor-current-page {
  color: #fff !important;
  background: #b21f24 !important;
}

/* Clean up extra Google branding spacing */
.gcsc-more-maybe-branding-root,
.gcsc-find-more-on-google-root {
  margin-top: 16px !important;
}

/* Mobile */
@media (max-width: 575px) {
  .gsc-search-button-v2 {
    width: 100% !important;
    margin-top: 10px !important;
  }

  .gs-title,
  .gs-title b {
    font-size: 16px !important;
  }
}
