/*
 * Copyright 2021 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.
 */

.SearchResults {
  font-size: 0.875rem;
}
.SearchResults-summary {
  color: var(--color-text-subtle);
  display: flex;
  flex-direction: column;
  gap: 1rem;
  justify-content: space-between;
  line-height: 1.5rem;
  margin: -0.25rem 0 0.25rem 0;
}
@media only screen and (min-width: 64rem) {
  .SearchResults-summary {
    align-items: baseline;
    flex-direction: row;
  }
}
.SearchResults-emptyContentMessage {
  text-align: center;
}

.SearchSnippet {
  display: flex;
  flex-direction: column;
  gap: 0.375rem;
  padding: 0 0 2.75rem 0;
}
.SearchSnippet h2 {
  font-size: 1.25rem;
  font-weight: 400;
}
.SearchSnippet:last-of-type {
  padding: 0 0 1rem 0;
}
.SearchSnippet-synopsis {
  -webkit-box-orient: vertical;
  display: -webkit-box;
  -webkit-line-clamp: 2;
  overflow: hidden;
  text-overflow: ellipsis;
}
.SearchSnippet-infoLabel {
  display: flex;
  flex-wrap: wrap;
  gap: 0.5rem 1rem;
  margin-top: -0.0625rem;
}
.SearchSnippet-sub {
  align-items: center;
  display: flex;
  flex-wrap: wrap;
  gap: 0.5rem;
}
.SearchSnippet-symbolCode {
  font-size: 0.75rem;
  margin: 0.25rem 0;
}
.SearchSnippet-sub a[data-hidden] {
  display: none;
}
.SearchSnippet-sub a {
  color: var(--color-text-subtle);
}
.SearchSnippet-sub a:hover {
  color: var(--color-brand-primary);
}
.SearchSnippet-headerContainer {
  align-items: center;
  display: flex;
  flex-wrap: wrap;
  gap: 0.5rem;
}
.SearchSnippet-header-name {
  color: var(--color-text);
}
.SearchSnippet-header-dash {
  color: var(--color-text-subtle);
}
.SearchSnippet-symbolKind {
  color: var(--color-text);
}
.SearchPagination {
  height: 1.5rem;
}
