/*!
 * 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-sub .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-search:after{right:2.75rem}.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}.SearchResults-divider{margin-bottom:2.5rem}.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: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-path{color:var(--color-text-subtle)}.SearchSnippet-symbolKind{color:var(--color-text)}.SearchPagination{height:1.5rem}
/*# sourceMappingURL=search.min.css.map */
