/*!
 * 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.
 */
.about-Wrapper ul{list-style-type:disc;padding-left:2em}.about-Wrapper li{margin:.5em 0}.about-Wrapper b{font-weight:700}a.btn{background:var(--color-button);border-radius:.3125rem;color:var(--white);display:block;font-size:1rem;font-style:normal;font-weight:400;line-height:1rem;margin-top:1rem;padding:.625rem;text-align:center;text-decoration:none}.about-Content{grid-area:content;padding:0}.about-Content ul{overflow-wrap:break-word}.about-Content h1{font-size:2.25rem;font-weight:400;line-height:2rem}.about-Content h2{font-size:1.5rem;font-weight:400;line-height:2rem}.about-Content h3{font-size:1.125rem;font-weight:400;line-height:2rem}.about-Content p{font-size:.875rem;font-weight:400;line-height:1.5rem}.about-Wrapper{display:grid;gap:var(--gap);grid-template-areas:"content";margin:2rem auto 0;max-width:110rem;padding:0 var(--gutter)}.Sidebar{display:none;grid-area:Sidebar;margin-top:6rem}.Sidebar a{width:7.5rem}.Sidebar h4{font-size:1rem;font-style:normal;font-weight:500;line-height:1.5rem}.Sidebar p,.Sidebar-faq .link{font-size:.875rem;font-style:normal;font-weight:400;line-height:1.5rem}.Sidebar-faq h4{font-size:.813rem;margin-bottom:.375rem;margin-top:1.25rem}.Sidebar-faq p{margin-bottom:.625rem;margin-top:0}.Sidebar-socialLinks{align-items:center;display:flex}.Sidebar-socialLinks a{display:flex;margin-right:.675rem;width:unset}.LeftNav-columns{display:flex}.LeftNav-sidebar{display:none;grid-area:LeftNav-sidebar;height:100vh;overflow:auto;padding:0;position:sticky;top:0}.LeftNav{display:flex;flex-direction:column}.LeftNav a{align-items:center;display:flex;padding-bottom:.675rem;padding-top:.675rem;text-decoration:none}.LeftNav a span{color:var(--color-text-subtle);flex:30;font-size:1rem;font-style:normal;font-weight:500;line-height:1.5rem;margin:0 .75rem}.LeftNav .LeftSubnav a span{font-size:.875rem;font-weight:400}.LeftSubnav a{padding-left:1rem}.LeftNav a.active,.LeftNav a:hover,.LeftNav a:active,.LeftNav a:focus{background:var(--color-background-info)}.LeftNav a.active span,.LeftNav a:hover span,.LeftNav a:active span,.LeftNav a:focus span{color:var(--color-text)}.LeftNav ul.LeftSubnav li a.active,.LeftNav ul.LeftSubnav li a:hover,.LeftNav ul.LeftSubnav li a:active,.LeftNav ul.LeftSubnav li a:focus{background:var(--color-background-accented)}.LeftSubnav{list-style:none;margin-bottom:unset;margin-top:unset;padding:unset}.LeftSubnav img{flex:1;visibility:hidden}.LeftSubnav a.active img,.LeftSubnav a:hover img,.LeftSubnav a:focus img,.LeftSubnav a:active img{visibility:visible}ul.LeftSubnav{padding-left:unset}.LeftSubnav li{list-style:none;margin:unset}@media (min-width: 50rem){.about-Wrapper{grid-template-areas:"LeftNav-sidebar content";grid-template-columns:1fr 3fr;margin-top:3rem}.about-Content{padding:0}.LeftNav-sidebar{display:block}}@media only screen and (min-width: 90rem){.about-Wrapper{grid-template-areas:"LeftNav-sidebar content Sidebar";grid-template-columns:1.5fr 4fr 1.5fr}.Sidebar{display:block}}
/*# sourceMappingURL=about.min.css.map */
