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

.Homepage-closeIcon {
  background: var(--color-input);
  border-bottom: var(--border);
  border-color: var(--color-brand-primary);
  border-left: 0;
  border-top: var(--border);
  color: var(--color-button);
  cursor: pointer;
  display: inline-block;
  font-weight: bold;
  padding-left: 0.5rem;
  padding-right: 0.5rem;
}

.Homepage-closeIcon:hover,
.Homepage-closeIcon:focus,
.Homepage-closeIcon:focus-within,
.Homepage-closeIcon:active {
  border-left: 0 !important;
}

.Homepage-search--input:hover,
.Homepage-search--input:focus,
.Homepage-search--input:focus-within,
.Homepage-search--input:active {
  border-right: 0 !important;
}

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;
}
