/*!
 * 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.
 */
.go-SearchForm{display:none}.SearchSnippet .go-Chip:hover{background-color:var(--color-background-highlighted)}.SearchResults{font-size:.875rem;padding-top:.75rem}.SearchResults-header{margin:.5rem 0 0}.SearchResults-header[data-fixed]{background-color:var(--color-background-accented);border-bottom:var(--border);height:3.5rem;position:sticky;top:0}.SearchResults-headerContent{align-items:center;display:flex;gap:.5rem;height:100%;margin:auto;max-width:63rem;padding:.5rem var(--gutter)}.SearchResults-headerLogo{--logo-height: 1.75rem;--logo-width: calc(var(--logo-height) / .3768);align-items:center;display:flex;margin-right:-.5rem;opacity:0;transition:opacity .25s ease-in-out,width .25s ease-out;visibility:hidden;width:0}.SearchResults-headerLogo[data-fixed]{margin-right:.5rem;opacity:1;visibility:visible;width:var(--logo-width)}.SearchResults-headerLogo img{height:var(--logo-height);margin:-1rem 0;width:var(--logo-width)}.SearchResults-search{flex-grow:1;max-width:31.5rem}.SearchResults-tabs{border-bottom:var(--border)}.SearchResults-tabs nav{margin:auto;max-width:63rem;padding:0 var(--gutter)}.SearchResults-summary{color:var(--color-text-subtle);display:flex;flex-direction:column;gap:1rem;justify-content:space-between;line-height:1.5rem;margin:-.25rem 0 .25rem}@media only screen and (min-width: 64rem){.SearchResults-summary{align-items:baseline;flex-direction:row}}.SearchResults-summary h1{font-size:inherit;font-weight:inherit}.SearchResults-emptyContentMessage{text-align:center}.SearchSnippet{display:flex;flex-direction:column;gap:.375rem;padding:0 0 2.75rem}.SearchSnippet h2{font-size:1.25rem;font-weight:400}.SearchSnippet:last-of-type{padding:0 0 1rem}.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:.5rem 1rem;margin-top:-.0625rem}.SearchSnippet-sub{align-items:center;display:flex;flex-wrap:wrap;gap:.5rem}.SearchSnippet-symbolCode{font-size:.75rem;margin:.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:.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}
/*# sourceMappingURL=search.min.css.map */
