body {
  background-color: #fff;
  color: #3e4042;
  font-family: Roboto, Arial, sans-serif;
  line-height: 1.3;
  margin: 0;
  text-align: center;
}
.Note {
  /* For styling "Note" sections. */
  background-color: rgb(224, 235, 245);
  font-size: 0.875rem;
  margin: 1.25rem;
  max-width: 50rem;
  padding: 0.5rem 0.5rem 0.5rem 0.625rem;
}
/* Tabs */
.TabSection {
  background: #fff;
  border: 0.0625rem solid #dadce0;
  border-radius: 0.3125rem;
  box-shadow: none;
  max-width: 50rem;
}
.TabSection-tabList {
  flex-shrink: 0;
  position: relative;
  border-bottom: 0.0625rem solid #dadce0;
}
.TabSection-tab {
  background: #fff;
  border: none;
  line-height: 3rem;
  padding: 0 1.125rem;
  position: relative;
}
.TabSection-tab[aria-selected='true'] {
  outline: 0;
  background-color: #e0ebf5;
}
.TabSection-tab:focus {
  outline: 0;
  background-color: #e0ebf5;
}
.TabSection-tabPanel {
  font-size: 0.875rem;
}
/* Tutorial previous and next links */
.Navigation {
  font-size: 0.875rem;
}
.Navigation-prev {
  float: left;
  font-weight: bold;
}
.Navigation-next {
  float: right;
  font-weight: bold;
}
/* Table in doc topics. */
.DocTable {
  border-collapse: collapse;
  font-size: 0.875rem;
  margin: 1.25rem;
  max-width: 50rem;
}
.DocTable-row {
  border-bottom: 0.0625rem solid #dadce0;
  height: 3rem;
  vertical-align: top;
}
.DocTable-head {
  background: #e8eaed;
  border-bottom: 0.0625rem solid #dadce0;
  border-top: 0.0625rem solid #dadce0;
  height: 3rem;
}
.DocTable-cell {
  padding: 0.4375rem;
}
.DocTable-cell pre {
  font-size: 0.775rem;
}
.DocTable-cell p,
.DocTable-cell pre {
  margin:  0rem 0rem 0.875rem;
}
.DocTable-row--highlighted {
  background: #f0f0f0;
  border-bottom: 0.0625rem solid #dadce0;
  height: 3rem;
}
textarea {
  /* Inherit text color from body avoiding illegible text in the case where the
   * user has inverted the browsers custom text and background colors. */
  color: inherit;
}
pre,
code {
  font-family: Menlo, monospace;
  font-size: 0.875rem;
}
code {
  /* Reduce spacing between words in code inline with text. Monospace font
   * spaces tend to be wider than proportional font spaces. */
  word-spacing: -0.3em;
}
pre code {
  /* Maintain spacing inside preformatted blocks rendered from Markdown.
   * See golang.org/issue/41507. */
  word-spacing: 0;
}
pre {
  line-height: 1.4;
  overflow-x: auto;
}
pre .comment {
  color: #006600;
}
pre .highlight,
pre .highlight-comment,
pre .selection-highlight,
pre .selection-highlight-comment {
  background: #ffff00;
}
pre .selection,
pre .selection-comment {
  background: #ff9632;
}
pre .ln {
  color: #999;
  background: #efefef;
}
pre ins {
  /* For styling highlighted code in examples. */
  color: rgb(0, 125, 156);
  font-weight: bold;
  text-decoration: none;
}
.ln {
  user-select: none;

  /* Ensure 8 characters in the document - which due to floating
   * point rendering issues, might have a width of less than 1 each - are 8
   * characters wide, so a tab in the 9th position indents properly. See
   * https://github.com/webcompat/web-bugs/issues/17530#issuecomment-402675091
   * for more information. */
  display: inline-block;
  width: 8ch;
}
.search-nav {
  margin-left: 1.25rem;
  font-size: 0.875rem;
  column-gap: 1.25rem;
  column-fill: auto;
  column-width: 14rem;
}
.search-nav .indent {
  margin-left: 1.25rem;
}
a,
.exampleHeading .text,
.expandAll {
  color: #007d9c;
  text-decoration: none;
}
a:hover,
.exampleHeading .text:hover,
.expandAll:hover {
  text-decoration: underline;
}
.article a {
  text-decoration: underline;
}
.article .title a {
  text-decoration: none;
}
.permalink {
  display: none;
}
:hover > .permalink {
  display: inline;
}
p,
li {
  max-width: 50rem;
  word-wrap: break-word;
}
p,
pre,
ul,
ol {
  margin: 1.25rem;
}
pre {
  background: #efefef;
  padding: 0.625rem;
  border-radius: 0.3125rem;
}
h1,
h2,
h3,
h4 {
  margin: 1.25rem 0 1.25rem;
  padding: 0;
  color: #202224;
  font-family: 'Work Sans', sans-serif;
  font-weight: 600;
}
h1 {
  font-size: 1.75rem;
  line-height: 1;
}
h1 .text-muted {
  color: #777;
}
h2 {
  font-size: 1.25rem;
  background: #e0ebf5;
  padding: 0.5rem;
  line-height: 1.25;
  font-weight: normal;
  overflow-wrap: break-word;
}
h2 a {
  font-weight: bold;
}
h3 {
  font-size: 1.25rem;
  line-height: 1.25;
  overflow-wrap: break-word;
}
h3,
h4 {
  margin: 1.25rem 0.3125rem;
}
h4 {
  font-size: 1rem;
}
h2 > span,
h3 > span {
  float: right;
  margin: 0 25px 0 0;
  font-weight: normal;
  color: #5279c7;
}
dl {
  margin: 1.25rem;
  max-width: 50rem;
}
dd {
  margin: 0 0 0 1.25rem;
}
dl,
dd {
  font-size: 0.875rem;
}
div#nav table td {
  vertical-align: top;
}
.ModTable {
  border-collapse: collapse;
  margin: 1.25rem;
  max-width: 50rem;
}
.ModTable code {
  white-space: nowrap;
}
.ModTable td,
.ModTable th {
  border: 1px solid #a9a9a9;
  padding: 1rem;
  vertical-align: top;
}
.ModTable td p {
  margin: 0 0 1rem 0;
}
.ModTable td p:last-child {
  margin-bottom: 0;
}
#pkg-index h3 {
  font-size: 1rem;
}
.pkg-dir {
  padding: 0 0.625rem;
}
.pkg-dir table {
  border-collapse: collapse;
  border-spacing: 0;
}
.pkg-name {
  padding-right: 0.625rem;
}
.alert {
  color: #aa0000;
}
#pkg-examples h3 {
  float: left;
}
#pkg-examples dl {
  clear: both;
}
.expandAll {
  cursor: pointer;
  float: left;
  margin: 1.25rem 0;
}
.Site {
  display: flex;
  flex-direction: column;
  min-height: 100vh;
}
.Site-content {
  flex: 1;
}
#page {
  width: 100%;
}
#page > .container,
.Header-nav {
  text-align: left;
  margin-left: auto;
  margin-right: auto;
  padding: 0 1.25rem;
}
#page > .container,
.Header-nav,
.Footer {
  max-width: 59.38rem;
}
#page.wide > .container,
.Header-nav--wide,
.Footer--wide {
  max-width: none;
}
div#playground .buttons a {
  background: #375eab;
  border: 0.0625rem solid #757575;
  color: white;
}
/* Style download button on doc/install page */
a#start {
  background: #e0ebf5;
  border: 0.0625rem solid #375eab;
  border-radius: 0.3125rem;
  color: #222;
  display: block;
  padding: 0.625rem;
  text-align: center;
  text-decoration: none;
}
a#start .big {
  display: block;
  font-size: 1.25rem;
  font-weight: bold;
}
a#start .desc {
  display: block;
  font-size: 0.875rem;
  font-weight: normal;
  margin-top: 0.3125rem;
}
.download {
  width: 17.5rem;
}
::-webkit-input-placeholder {
  color: #7f7f7f;
  opacity: 1;
}
::placeholder {
  color: #7f7f7f;
  opacity: 1;
}
.Header {
  align-items: center;
  box-sizing: border-box;
  display: flex;
  font-size: 0.875rem;
  justify-content: space-between;
  padding: 1.375rem 0;
}
.Header.is-active {
  background-color: #f7f9fa;
}
.Header-banner {
  display: none;
}
.Header-logo {
  height: 2rem;
  width: 5.125rem;
}
.Header-nav {
  align-items: center;
  display: flex;
  flex-wrap: wrap;
  justify-content: space-between;
  width: 100%;
}
.Header-menuButton {
  background-color: transparent;
  border: none;
  box-sizing: content-box;
  cursor: pointer;
  display: inline-block;
  height: 1.313rem;
  padding: 0.375rem;
  position: relative;
  vertical-align: middle;
  width: 1.313rem;
}
.Header-menuButtonInner {
  position: relative;
}
.Header-menuButton::after,
.Header-menuButtonInner,
.Header-menuButtonInner::before,
.Header-menuButtonInner::after {
  background-color: #3e4042;
  height: 0.1875rem;
  transition: all 100ms ease-in;
}
.Header-menuButton::after {
  opacity: 0;
  top: 0.9375rem;
}
.Header-menuButton::after,
.Header-menuButtonInner::before,
.Header-menuButtonInner::after {
  content: '';
  display: block;
  position: absolute;
  width: 1.313rem;
}
.Header-menuButtonInner::before {
  top: -0.375rem;
}
.Header-menuButtonInner::after {
  bottom: -0.375rem;
}
.Header.is-active .Header-menuButton::after {
  opacity: 1;
  transform: rotate(-45deg);
}
.Header.is-active .Header-menuButton .Header-menuButtonInner {
  transform: rotate(45deg);
}
.Header.is-active .Header-menuButton .Header-menuButtonInner::before,
.Header.is-active .Header-menuButton .Header-menuButtonInner::after {
  background-color: transparent;
}
.Header-menu {
  align-items: center;
  display: none;
  flex-direction: column;
  list-style: none;
  margin: 0;
  padding: 0;
  width: 100%;
}
.Header.is-active .Header-menu {
  display: flex;
}
.Header-menuItem:first-of-type {
  /* Offset the padding of the inner link, maintaining its click target size,
     while still placing the item as if it had no top margin or padding. */
  margin-top: -0.5rem;
}
.Header-menuItem {
  display: inline-flex;
}
.Header-menuItem,
.Header-menuItem a:link,
.Header-menuItem a:visited,
.Header-menuItem--search,
.HeaderSearch {
  width: 100%;
}
.Header-menuItem,
.Header-menuItem a:link,
.Header-menuItem a:visited {
  color: #3e4042;
  text-align: center;
}
.Header-menuItem a:link,
.Header-menuItem a:visited {
  padding: 0.5rem 0;
}
.Header-menuItem--search {
  margin-top: 0.5rem;
}
.HeaderSearch,
.HeaderSearch-label {
  display: inline-block;
  position: relative;
}
.HeaderSearch {
  border: 0.0625rem solid #979797;
  border-radius: 0.1875rem;
  display: inline-flex;
  overflow: hidden;
  position: relative;
}
.HeaderSearch-input {
  -webkit-appearance: none;
  border: none;
  border-radius: 0;
  box-sizing: border-box;
  display: block;
  flex: 1;
  font: inherit;
  font-size: 16px;
  /* Prevents automatic zoom on mobile devices */
  margin: 0;
  padding: 0.5rem;
}
.HeaderSearch-input::-webkit-search-decoration {
  -webkit-appearance: none;
}
.HeaderSearch-input::-moz-ui-invalid {
  box-shadow: unset;
}
.HeaderSearch-submit {
  background-color: #fff;
  border: none;
  box-sizing: border-box;
  cursor: pointer;
  margin: 0;
  padding: 0.125rem 0.5rem 0 0.55rem;
  transition: background-color 200ms;
}
.HeaderSearch:focus-within .HeaderSearch-submit {
  background-color: #e5f6fb;
}
.HeaderSearch-icon {
  fill: #757575;
  transition: fill 200ms;
}
.HeaderSearch:focus-within .HeaderSearch-icon {
  fill: #007d9c;
}
@media only screen and (min-width: 56rem) {
  .Header {
    display: block;
    padding: 0;
  }
  .Header-banner {
    background-color: #000;
    color: #fff;
    display: block;
    padding: 1rem;
  }
  .Header-banner a:link,
  .Header-banner a:visited {
    color: #fff;
    text-decoration: underline;
  }
  .Header-nav {
    width: auto;
  }
  .Header.is-active {
    background-color: #fff;
  }
  .Header.is-active .Header-menu {
    display: block;
  }
  .Header-menuButton {
    display: none;
  }
  .Header-menu {
    display: flex;
    flex-direction: row;
    width: auto;
  }
  .Header-menuItem:first-of-type {
    margin-top: 0;
  }
  .Header-menuItem,
  .Header-menuItem a:link,
  .Header-menuItem a:visited {
    width: auto;
  }
  .Header-menuItem a:link,
  .Header-menuItem a:visited {
    padding: 2rem 1.5rem;
  }
  .Header-menuItem a:hover,
  .Header-menuItem a:focus {
    text-decoration: underline;
  }
  .Header-menuItem--search,
  .HeaderSearch {
    width: 8.75rem;
  }
  .Header-menuItem--search {
    margin-left: 1.5rem;
    margin-top: 0;
  }
  .HeaderSearch-input {
    min-width: 5.625rem;
  }
  .HeaderSearch-submit {
    padding: 0.125rem 0.5rem 0;
  }
}
@media only screen and (min-width: 57.5rem) {
  .Header {
    font-size: 1rem;
  }
}
.Button,
.Button:link,
.Button:visited {
  align-items: center;
  background-color: #f7f9fa;
  border: none;
  border-radius: 0.1875rem;
  box-shadow: 0 2px 5px rgba(0, 0, 0, 0.2);
  box-sizing: border-box;
  color: #007d9c;
  cursor: pointer;
  display: inline-flex;
  font: bold 0.875rem Roboto, sans-serif;
  height: 2.375rem;
  padding: 0 0.625rem;
  justify-content: center;
  min-width: 4.063rem;
  text-decoration: none;
}
.Button:active {
  box-shadow: 0 1px 3px rgba(0, 0, 0, 0.2);
}
.Button--primary,
.Button--primary:link,
.Button--primary:visited {
  border: 0.0625rem solid #00add8;
}
.Button--big,
.Button--big:link,
.Button--big:visited {
  background-color: #7fd5ea;
  border-radius: 0.3125rem;
  color: #202224;
  font-size: 1.5rem;
  height: 4rem;
  justify-content: center;
}
.HomeContainer {
  align-items: top;
  display: flex;
  flex-wrap: wrap;
  justify-content: space-between;
}
.HomeContainer * {
  box-sizing: border-box;
}
.HomeSection {
  flex: 0 0 100%;
  margin-bottom: 2.5rem;
  padding: 0 1rem;
}
.HomeSection-header {
  background: none;
  color: #202224;
  margin: 0 0 0.625rem 0;
  padding: 0;
  font-weight: bold;
}
.Hero-header {
  font: 1.5rem Roboto, sans-serif;
  line-height: inherit;
  margin: 0 0 1.875rem;
}
.Hero-gopher {
  background: url('/lib/godoc/images/home-gopher.png') no-repeat;
  background-position: center top;
  display: block;
  height: 9.688rem;
  max-height: 200px;
  /* Setting in px to prevent the gopher from blowing up in very high default font-sizes */
}
.HeroDownloadButton,
.Hero-description {
  text-align: center;
}
.HeroDownloadButton,
.HeroDownloadButton:link,
.HeroDownloadButton:visited {
  display: flex;
  margin-bottom: 0.5rem;
}
.HeroDownloadButton-image {
  height: 2rem;
  margin-right: 2rem;
  width: 2rem;
}
.Hero-description {
  color: #616161;
  font-size: 0.875rem;
  margin: 0;
}
@media only screen and (min-width: 57.1875rem) {
  .HomeSection {
    flex: 0 0 26.875rem;
    padding: 0;
  }
  .Hero,
  .Playground {
    margin-top: 1rem;
  }
}
.Playground-headerContainer {
  align-items: baseline;
  display: flex;
  justify-content: space-between;
}
.Playground-popout {
  background: url('/lib/godoc/images/play-link.svg') no-repeat;
  background-position: right center;
  cursor: pointer;
  display: block;
  font-size: 1rem;
  padding: 0 1.688rem;
}
.Playground-input,
.Playground-output {
  padding: 0;
  margin: 0;
  font-family: Menlo, monospace;
  font-size: 0.875rem;
}
.Playground-inputContainer {
  border-top-left-radius: 0.3125rem;
  border-top-right-radius: 0.3125rem;
  overflow: hidden;
  height: 11rem;
}
.Playground-input {
  width: 100%;
  height: 100%;
  border: none;
  outline: none;
  resize: none;
  padding: 0.625rem;
}
.Playground-outputContainer {
  border-bottom-right-radius: 0.3125rem;
  border-bottom-left-radius: 0.3125rem;
  border-top: none !important;
  padding: 0.625rem;
  height: 5rem;
  margin-bottom: 1rem;
  overflow: auto;
}
.Playground-output {
  padding: 0;
  border-radius: 0;
}
.Playground-inputContainer,
.Playground-input,
.Playground-outputContainer,
.Playground-output {
  background: #f7f9fa;
  color: #202224;
}
.Playground-inputContainer,
.Playground-outputContainer {
  border: 0.0625rem solid #c0c2c3;
}
.Playground-controls {
  display: flex;
  flex-wrap: wrap;
}
.Playground-buttons {
  display: flex;
  flex: 1;
  flex-wrap: nowrap;
  justify-content: space-between;
}
.Playground-selectExample {
  background-color: white;
  border-radius: 3px;
  border: 0.0625rem solid #979797;
  color: inherit;
  font-family: inherit;
  font-size: 16px;
  /* Prevents automatic zoom on mobile devices */
  height: 2.375rem;
  margin: 0 0 0.5rem 0;
  width: 100%;
}
.Playground-secondaryButtons {
  white-space: nowrap;
}
.Playground-secondaryButtons .Button:not(:first-child) {
  margin-left: 0.4375rem;
}
@media only screen and (min-width: 27.8125rem) {
  .Playground-outputContainer {
    margin-bottom: 1.688rem;
  }
  .Playground-controls {
    flex-wrap: nowrap;
  }
  .Playground-selectExample {
    margin: 0 0.4375rem 0 0;
    width: auto;
  }
}
.Blog-title {
  display: block;
  font-size: 1.25rem;
  font-weight: normal;
  margin: 0;
}
.Blog-title,
.Blog-extract,
.Blog-when {
  margin-bottom: 0.625rem;
}
.Blog-when {
  color: #666;
  font-size: 0.875rem;
}
.Blog-footer {
  text-align: right;
}
@supports (--c: 0) {
  [style*='--aspect-ratio-padding:'] {
    position: relative;
    overflow: hidden;
    padding-top: var(--aspect-ratio-padding);
  }
  [style*='--aspect-ratio-padding:'] > * {
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
  }
}
.Footer {
  margin: 2rem auto 0;
  padding: 1rem 1.25rem;
  position: relative;
  text-align: right;
}
.Footer-gopher {
  bottom: 0;
  left: 1.25rem;
  position: absolute;
  width: 5rem;
}
.Footer-links {
  flex: 1;
  list-style: none;
  margin: 0;
  padding: 0;
}
.Footer-link {
  font-size: 0.875rem;
  white-space: nowrap;
}
.Footer-link + .Footer-link {
  margin-top: 0.5rem;
}
.Footer-supportedBy {
  color: #6e7072;
  display: inline-block;
  font: 0.875rem 'Product Sans', 'Roboto', 'sans-serif';
  margin-top: 1rem;
}
.Footer-supportedBy:hover {
  text-decoration: none;
}
@media only screen and (min-width: 50rem) {
  .Footer {
    align-items: center;
    display: flex;
    margin: 5rem auto 0;
  }
  .Footer-links {
    padding-left: 6.25rem;
    text-align: left;
  }
  .Footer-link {
    display: inline;
  }
  .Footer-link + .Footer-link {
    border-left: 0.0625rem solid #3e4042;
    margin-left: 0.75rem;
    padding-left: 0.75rem;
  }
  .Footer-supportedBy {
    margin-top: 0;
  }
}
.toggleButton {
  cursor: pointer;
}
.toggle > .collapsed {
  display: block;
}
.toggle > .expanded {
  display: none;
}
.toggleVisible > .collapsed {
  display: none;
}
.toggleVisible > .expanded {
  display: block;
}
table.codetable {
  margin-left: auto;
  margin-right: auto;
  border-style: none;
}
table.codetable td {
  padding-right: 0.625rem;
}
hr {
  border-style: none;
  border-top: 0.0625rem solid black;
}
img.gopher {
  float: right;
  margin-left: 0.625rem;
  margin-bottom: 0.625rem;
  z-index: -1;
}
h2 {
  clear: right;
}
div.play {
  padding: 0 1.25rem 2.5rem 1.25rem;
}
div.play pre,
div.play textarea,
div.play .lines {
  padding: 0;
  margin: 0;
  font-family: Menlo, monospace;
  font-size: 0.875rem;
}
div.play .input {
  padding: 0.625rem;
  margin-top: 0.625rem;

  border-top-left-radius: 0.3125rem;
  border-top-right-radius: 0.3125rem;

  overflow: hidden;
}
div.play .input textarea {
  width: 100%;
  height: 100%;
  border: none;
  outline: none;
  resize: none;

  overflow: hidden;
}
div#playground .input textarea {
  overflow: auto;
  resize: auto;
}
div.play .output {
  border-top: none !important;

  padding: 0.625rem;
  max-height: 12.5rem;
  overflow: auto;

  border-bottom-right-radius: 0.3125rem;
  border-bottom-left-radius: 0.3125rem;
}
div.play .output pre {
  padding: 0;
  border-radius: 0;
}
div.play .input,
div.play .input textarea,
div.play .output,
div.play .output pre {
  background: #f7f9fa;
  color: #202224;
}
div.play .input,
div.play .output {
  border: 0.0625rem solid #c0c2c3;
}
div.play .buttons {
  float: right;
  padding: 0.625rem 0;
  text-align: right;
}
div.play .buttons .Button {
  margin-left: 0.3125rem;
}
.output .stderr {
  color: #933;
}
.output .system {
  color: #999;
}
/* drop-down playground */
div#playground {
  /* start hidden; revealed by javascript */
  display: none;
}
div#playground {
  position: absolute;
  top: 3.938rem;
  right: 1.25rem;
  padding: 0 0.625rem 0.625rem 0.625rem;
  z-index: 1;
  text-align: left;
  background: #e0ebf5;

  border: 0.0625rem solid #b0bbc5;
  border-top: none;

  border-bottom-left-radius: 0.3125rem;
  border-bottom-right-radius: 0.3125rem;
}
div#playground .code {
  width: 32.5rem;
  height: 12.5rem;
}
div#playground .output {
  height: 6.25rem;
}
/* Inline runnable snippets (play.js/initPlayground) */
#content .code pre,
#content .playground pre,
#content .output pre {
  margin: 0;
  padding: 0;
  background: none;
  border: none;
  outline: 0 solid transparent;
  overflow: auto;
}
#content .playground .number,
#content .code .number {
  color: #999;
}
#content .code,
#content .playground,
#content .output {
  width: auto;
  margin: 1.25rem;
  padding: 0.625rem;
  border-radius: 0.3125rem;
}
#content .code,
#content .playground {
  background: #e9e9e9;
}
#content .output {
  background: #202020;
}
#content .output .stdout,
#content .output pre {
  color: #e6e6e6;
}
#content .output .stderr,
#content .output .error {
  color: rgb(244, 74, 63);
}
#content .output .system,
#content .output .exit {
  color: rgb(255, 209, 77);
}
#content .buttons {
  position: relative;
  float: right;
  top: -3.125rem;
  right: 1.875rem;
}
#content .output .buttons {
  top: -3.75rem;
  right: 0;
  height: 0;
}
#content .buttons .kill {
  display: none;
  visibility: hidden;
}
a.error {
  font-weight: bold;
  color: white;
  background-color: darkred;
  border-bottom-left-radius: 0.25rem;
  border-bottom-right-radius: 0.25rem;
  border-top-left-radius: 0.25rem;
  border-top-right-radius: 0.25rem;
  padding: 0.125rem 0.25rem 0.125rem 0.25rem;
  /* TRBL */
}
.downloading {
  background: #f9f9be;
  padding: 0.625rem;
  text-align: center;
  border-radius: 0.3125rem;
}
@media (max-width: 43.75em) {
  body {
    font-size: 0.9375rem;
  }
  div#playground {
    left: 0;
    right: 0;
  }
  pre,
  code {
    font-size: 0.866rem;
  }
  #page > .container,
  .Header-nav {
    padding: 0 0.625rem;
  }
  p,
  pre,
  ul,
  ol {
    margin: 0.625rem;
  }
  .pkg-synopsis {
    display: none;
  }
  img.gopher {
    display: none;
  }
}
@media print {
  pre {
    background: #fff;
    border: 0.0625rem solid #bbb;
    white-space: pre-wrap;
    page-break-inside: avoid;
  }
}