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

/* Hide the search form in the header. */
.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-search {
  --border-radius: 0.5rem;

  height: 3rem;
  margin: 2.5rem auto 0;
  max-width: 45.0625rem;
  position: relative;
  width: 100%;
}

.Homepage-search::before {
  background: url('/static/shared/icon/search_gm_grey_24dp.svg') left no-repeat;
  content: '';
  height: 3rem;
  left: 0.75rem;
  position: absolute;
  width: 1.5rem;
  z-index: 3;
}

.Homepage-search .go-Select {
  padding-left: 2.5rem;
}

.Homepage-search .go-Input {
  padding-left: 2.5rem;
}

.Homepage-search--symbol .go-Input {
  border-bottom-right-radius: var(--border-radius);
  border-top-right-radius: var(--border-radius);
  padding-left: 2.5rem;
}

.Homepage-search .go-Button {
  justify-content: center;
  width: 7.375rem;
}

.Homepage-search--symbol .go-Button {
  display: none;
}
@media only screen and (min-width: 30rem) {
  .Homepage-search--symbol .go-Input {
    border-bottom-right-radius: 0;
    border-top-right-radius: 0;
  }

  .Homepage-search--symbol .go-Button {
    display: inline-flex;
  }
}

input[type='search']::-webkit-search-decoration {
  display: none;
}

.Homepage-tips {
  margin: auto;
  max-width: 45.0625rem;
  width: 100%;
}

[data-local='true'] .Homepage-tips {
  display: none;
}

.Homepage-examples {
  align-items: center;
  display: flex;
  flex-direction: column;
  font-size: 0.875rem;
  gap: 0.5rem 1rem;
  justify-content: space-between;
  margin: 0 auto;
  max-width: 45.0625rem;
  white-space: nowrap;
  width: inherit;
}
@media only screen and (min-width: 52rem) {
  .Homepage-examples {
    flex-direction: row;
  }
}

.Homepage-examplesTitle {
  color: var(--color-text-subtle);
  font-weight: 500;
  text-transform: uppercase;
}

.Homepage-examplesList {
  display: flex;
  flex-grow: 1;
  flex-wrap: wrap;
  gap: 0.5rem 2rem;
}

a.Homepage-helpLink {
  align-items: center;
  display: inline-flex;
  font-size: 1em;
  font-weight: initial;
  margin-left: 0.5rem;
  white-space: nowrap;
}

.Homepage-helpLink img {
  height: 1rem;
  margin-left: 0.25rem;
  position: relative;
  top: 0.1875rem;
  width: 1rem;
}

.Homepage-modules {
  margin: auto;
  max-width: 45.0625rem;
  width: 100%;
}

.Homepage-modules-header {
  color: var(--color-text);
  font-weight: bold;
}

.Homepage-modules ul {
  list-style: circle;
  padding: 0 1.5rem;
}

.Homepage-modules ul > li {
  font-size: 1rem;
  line-height: 1.75rem;
}

.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 a {
  color: var(--color-bright-text-link);
}

.Questions-content ul {
  list-style: none;
  padding-inline-start: 0;
}

.Questions-content ul > li {
  font-size: 0.875rem;
  line-height: 1.75rem;
}
