/*!
 * 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) {
  .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;
}
