/*!
 * Copyright 2020 The Go Authors. All rights reserved.
 * Use of this source code is governed by a BSD-style
 * license that can be found in the LICENSE file.
 */

.go-SearchForm {
  display: none;
}

.Homepage-logo {
  border-radius: var(--border-radius);
  display: block;
  height: 10rem;
  margin: 3.125rem auto;
  width: auto;
}
[data-theme='dark'] .Homepage-logo {
  mix-blend-mode: difference;
}
@media (prefers-color-scheme: dark) {
  :root:not([data-theme='light']) .Homepage-logo {
    mix-blend-mode: difference;
  }
}
@media only screen and (min-width: 52rem) {
  .Homepage {
    margin: 2rem auto;
  }
  .Homepage-logo {
    margin: 3.5rem auto;
  }
}
.Homepage-searchForm input {
  background: url('/static/shared/icon/search_gm_grey_24dp.svg') right no-repeat;
  background-position: left 0.75rem center;
  background-size: 1.5rem;
  border: var(--border);
  border-radius: 0.5rem 0 0 0.5rem;
  color: var(--color-text);
  font-size: 1rem;
  height: 3rem;
  padding-left: 2.75rem;
  width: 37.6875rem;
}
.Homepage-buttonGroup {
  display: flex;
  justify-content: center;
  margin: 2.5rem auto auto 0;
}
.Homepage-searchButton {
  background-color: var(--color-button);
  border: none;
  border-radius: 0 0.5rem 0.5rem 0;
  color: var(--color-button-text);
  cursor: pointer;
  font-size: 1em;
  height: 3rem;
  padding: 0 1.375rem;
  width: 7.375rem;
}
.Homepage-searchHelp {
  align-items: center;
  display: block;
  justify-content: space-between;
  margin: 0 auto;
  max-width: 45.0625rem;
  text-align: center;
  width: 100%;
}
@media only screen and (min-width: 30rem) {
  .Homepage-searchHelp {
    display: flex;
  }
}
a.Homepage-helpLink {
  align-items: center;
  display: inline-flex;
  font-size: 1em;
  font-weight: initial;
  margin-right: 0.5rem;
  white-space: nowrap;
}
.Homepage-helpLink img {
  height: 1rem;
  margin-left: 0.25rem;
  position: relative;
  top: 0.1875rem;
  width: 1rem;
}
.Homepage-exampleSearches {
  align-items: center;
  color: var(--color-text-subtle);
  display: block;
  font-size: 0.875rem;
  font-weight: 500;
  text-align: center;
  width: 100%;
}
@media only screen and (min-width: 30rem) {
  .Homepage-exampleSearches {
    display: flex;
  }
}
.Homepage-exampleSearchesLabel {
  display: block;
  margin-bottom: 1rem;
  text-transform: uppercase;
}
@media only screen and (min-width: 30rem) {
  .Homepage-exampleSearchesLabel {
    display: inline;
    margin-bottom: -0.1rem;
  }
}
.Homepage-exampleSearch {
  color: var(--color-brand-primary);
  font-size: 1rem;
  font-weight: initial;
  padding: 0 0.625rem;
}
.Questions {
  background: var(--color-background-accented);
  color: var(--color-text);
  display: flex;
  padding-bottom: 1rem;
  padding-top: 0.5rem;
}
.Questions-header {
  color: var(--color-text);
  font-weight: bold;
  margin: 1rem 0;
}
.Questions-content {
  flex-grow: 1;
  margin: 0 auto;
  max-width: 75.75rem;
  padding: 0 1.5rem;
}
.Questions-content ul {
  list-style: none;
  padding-inline-start: 0;
}
.Questions-content ul > li {
  font-size: 0.875rem;
  line-height: 1.75rem;
}
