body {
  margin: 0;
  font-family: Roboto, Arial, sans-serif;
  background-color: #fff;
  line-height: 1.3;
  text-align: center;
  color: #3e4042;
}
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;
}
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;
}
.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-weight: bold;
}
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: auto;
  overflow-wrap: break-word;
}
h2 a {
  font-weight: bold;
}
h3 {
  font-size: 1.25rem;
  line-height: 1.25;
  overflow: auto;
  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;
}
dd {
  margin: 0 0 0 1.25rem;
}
dl,
dd {
  font-size: 0.875rem;
}
div#nav table td {
  vertical-align: top;
}

#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;
}
.download {
  width: 9.375rem;
}

::-webkit-input-placeholder {
  color: #7f7f7f;
  opacity: 1;
}
::placeholder {
  color: #7f7f7f;
  opacity: 1;
}

.Header {
  align-items: center;
  display: flex;
  font-size: 0.875rem;
  justify-content: space-between;
  padding: 1.375rem 0;
}
.Header.is-active {
  background-color: #f7f9fa;
}
.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 {
  display: inline-flex;
}
.Header-menuItem:not(:last-of-type) {
  margin: 0 0 1rem 0;
}
.Header-menuItem,
.Header-menuItem a:link,
.Header-menuItem a:visited {
  color: #3e4042;
}
.HeaderSearch,
.HeaderSearch-label {
  display: inline-block;
  position: relative;
}
.Header-menuItem--search,
.HeaderSearch {
  width: 100%;
}
.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: 53.13rem) {
  .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:not(:last-of-type) {
    margin: 0 3rem 0 0;
  }
  .Header-menuItem a:hover,
  .Header-menuItem a:focus {
    text-decoration: underline;
  }
  .Header-menuItem--search,
  .HeaderSearch {
    width: 8.75rem;
  }
  .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-size: 1.5rem;
  font-weight: normal;
  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 430px;
    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: 10.63rem;
}
.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;
}
.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 {
  align-items: center;
  display: flex;
  justify-content: flex-start;
  margin: 0 auto;
  padding: 1rem 1.25rem;
  position: relative;
}
.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-googleLogo {
  bottom: 0.8125rem;
  position: absolute;
  right: 1.25rem;
}
.Footer-googleLogoImg {
  display: block;
  height: 1.5rem;
  width: 4.5rem;
}
@media only screen and (min-width: 50rem) {
  .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;
  }
}

.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;
}
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;
}
#lowframe {
  display: none;
}

@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;
  }
}
