/*
 * 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: 2rem auto;
  max-width: 38rem;
}
.Homepage-logo {
  display: block;
  height: 15.25rem;
  margin: 3.125rem auto;
  width: 22.8125rem;
}
.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;
  color: var(--gray-4);
  font-family: inherit;
  font-size: 1rem;
  height: 3rem;
  padding-left: 2.75rem;
  width: 100%;
}
.Homepage-buttonGroup {
  display: flex;
  justify-content: center;
  margin: 2.5rem auto auto 0;
}
.Homepage-searchButton {
  border: none;
  border-radius: 0.25rem;
  background-color: var(--turq-dark);
  color: var(--white);
  cursor: pointer;
  font-family: inherit;
  font-size: 1em;
  height: 2.5rem;
  margin-right: 0.5rem;
  padding: 0 1.375rem;
}
a.Homepage-helpButton {
  align-items: center;
  display: flex;
  border: 0.0625rem solid var(--gray-4);
  border-radius: 0.25rem;
  background: var(--white);
  color: var(--gray-4);
  font-size: 1em;
  height: 2.5rem;
  margin-left: 0.5rem;
  padding: 0 1.375rem;
}
.Homepage-helpButton img {
  height: 1rem;
  margin-left: 0.25rem;
  position: relative;
  top: 0.1875rem;
  width: 1rem;
}
.Homepage-exampleSearches {
  color: var(--gray-2);
  font-size: 0.875rem;
  font-weight: 500;
  line-height: 1.75rem;
  margin: 1.5rem auto;
  text-align: center;
}
.Homepage-exampleSearches a {
  color: var(--turq-dark);
  font-size: 1rem;
  font-weight: initial;
  padding: 0 0.625rem;
}
@media only screen and (max-width: 30rem) {
  .Homepage-exampleSearches > span {
    display: block;
  }
}
.Questions {
  background: var(--gray-9);
  color: var(--gray-2);
  display: flex;
  padding: 0.5rem 0;
  width: 100vw;
}
.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;
}
