/*!
 * 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.
 */

.Homepage {
  display: flex;
  flex-direction: column;
  margin: 0 auto;
}
.Homepage-logo {
  display: block;
  height: 14.6rem;
  margin: 0 auto 3.125rem;
  width: 22.8125rem;
}
@media only screen and (min-width: 52rem) {
  .Homepage {
    margin: 2rem auto;
  }
  .Homepage-logo {
    margin: 3.125rem auto;
  }
}
.Homepage-searchForm input {
  background: url('/static/img/icon-search.svg') right no-repeat;
  background-position: left 0.75rem center;
  background-size: 1.5rem;
  border: 0.0625rem solid var(--gray-8);
  border-radius: 0.5rem 0 0 0.5rem;
  color: var(--gray-4);
  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 {
  border: none;
  border-radius: 0 0.5rem 0.5rem 0;
  background-color: var(--turq-dark);
  color: var(--white);
  cursor: pointer;
  font-size: 1em;
  height: 3rem;
  padding: 0 1.375rem;
  width: 7.375rem;
}
.Homepage-searchHelp {
  width: 100%;
  max-width: 45.0625rem;
  display: block;
  align-items: center;
  justify-content: space-between;
  margin: auto;
  text-align: center;
}
@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(--gray-2);
  display: block;
  font-size: 0.875rem;
  font-weight: 500;
  margin: 1.125rem auto 1rem;
  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(--turq-dark);
  font-size: 1rem;
  font-weight: initial;
  padding: 0 0.625rem;
}
.Questions {
  background: var(--gray-10);
  color: var(--gray-2);
  display: flex;
  padding: 0.5rem 0;
}
.Questions-header {
  color: var(--gray-2);
  font-weight: bold;
  margin: 1rem 0;
}
.Questions-content {
  flex-grow: 1;
  margin: 0 auto;
  padding: 0 1.5rem;
  max-width: 75.75rem;
}
.Questions-content ul {
  list-style: none;
  padding-inline-start: 0;
}
.Questions-content ul > li {
  line-height: 1.75rem;
  font-size: 0.875rem;
}
