@import url('https://fonts.googleapis.com/css2?family=Ubuntu:wght@400;500;700&display=swap');

body {
  font-family: Ubuntu, Arial, sans-serif;
  font-size: 1.3em;
}
/* Copyright 2014 The Chromium Authors. All rights reserved.
  * Use of this source code is governed by a BSD-style license that can be
  * found in the LICENSE file. */

/* Set the global 'box-sizing' state to 'border-box'.
  * *::after and *::before used to select pseudo-elements not selectable by *. */

*,
*::after,
*::before {
  box-sizing: border-box;
}

/* Remove all margins and padding from certain element and add word wrap. */

blockquote,
body,
caption,
dd,
dl,
fieldset,
figure,
form,
h1,
h2,
h3,
h4,
h5,
h6,
hr,
legend,
ol,
p,
pre,
ul,
table,
td,
th {
  margin: 0;
  padding: 0;
  word-wrap: break-word;
}

/* Prevent 'sub' and 'sup' affecting 'line-height'. */

sub,
sup {
  font-size: 75%;
  line-height: 0;
  position: relative;
  vertical-align: baseline;
}

sup {
  top: -0.5em;
}

sub {
  bottom: -0.25em;
}

/* Remove most spacing between table cells. */

table {
  border-collapse: collapse;
  border-spacing: 0;
  display: block;
  overflow-x: auto;
}

td,
th {
  padding: 0.5rem;
}

/* Base typography. */

html {
  font-size: 14px;
}

body {
  min-height: 100vh;
  display: flex;
  flex-direction: column;
  line-height: 1.714;
  margin: 0px auto;
  text-rendering: optimizeLegibility;
  transition-property: color, background-color;
  transition-duration: 0.5s;
  transition-timing-function: ease;
  overflow-x: hidden;
  -webkit-overflow-scrolling: touch;
}

/* Classes for light, dark and sepia themes.
  * Must agree with classes returned by useTheme() in dom_distiller_viewer.js
  * and with CSS class constants in viewer.cc */

.light {
  color: #424242;
  background-color: #fafafa;
}

.dark {
  color: #e0e0e0;
  background-color: #212121;
}

.sepia {
  color: #000;
  background-color: rgb(203, 173, 141);
}

.light a:link,
.sepia a:link {
  color: #55f;
}

.dark a:link {
  color: #88f;
}

.light a:visited,
.sepia a:visited {
  color: #902290;
}

.dark a:visited {
  color: #d872d8;
}

.light code,
.light pre {
  background-color: #eee;
  border-color: #aaa;
}

.sepia code,
.sepia pre {
  background-color: rgb(217, 196, 175);
  border-color: rgb(147, 125, 102);
}

.dark code,
.dark pre {
  background-color: #333;
  border-color: #555;
}

.light tbody tr:nth-child(odd) {
  background-color: #eee;
}

.light th,
.light td {
  border-left: 1px solid #aaa;
}

.sepia tbody tr:nth-child(odd) {
  background-color: rgb(217, 196, 175);
}

.sepia th,
.sepia td {
  border-left: 1px solid rgb(147, 125, 102);
}

.dark tbody tr:nth-child(odd) {
  background-color: #333;
}

.dark th,
.dark td {
  border-left: 1px solid #555;
}

/* #contentWrap is added to be more specific than the color theme rules */
#contentWrap th:first-child {
  border-left: none;
}
#contentWrap td:first-child {
  border-left: none;
}

/* Font settings */

.serif {
  font-family: serif;
}

.sans-serif {
  font-family: 'Roboto', sans-serif;
}

.monospace {
  font-family: monospace;
}

/* Define vertical rhythm (baseline grid of 4px). */

blockquote,
caption,
code,
dd,
dl,
fieldset,
figure,
form,
hr,
legend,
ol,
p,
pre,
q,
table,
td,
th,
ul {
  margin-bottom: 1.143rem;
}

h1,
h2,
h3,
h4,
h5,
h6 {
  line-height: 1.417;
  margin: 1em 0;
}

/* Content. */

#loadingIndicator {
  width: 100%;
  padding-bottom: 2em;
}

#loadingIndicator > img,
#loadingIndicator > svg {
  display: block;
  height: 2.5em;
  margin: auto;
  width: 2.5em;
}

/* Margins for Show Original link. */

.light #closeReaderView {
  border-top: 1px solid #e0e0e0;
  color: #4285f4;
}

.dark #closeReaderView {
  border-top: 1px solid #555;
  color: #3adaff;
}

.sepia #closeReaderView {
  border-top: 1px solid rgb(147, 125, 102);
  color: #55f;
}

video::-webkit-media-controls-fullscreen-button {
  display: none;
}

#closeReaderView {
  /*
   TODO(mdjones): Remove the "display: none;" style when the Reader Mode bar
                  behaves like the toolbar when scrolling.
   */
  display: none;
  flex: 0 0 auto;
  font-family: 'Roboto', sans-serif;
  font-weight: 700;
  line-height: 14px;
  padding: 24px 16px;
  font-size: 14px;
  text-align: right;
  text-decoration: none;
  text-transform: uppercase;
  width: 100%;
}

#content {
  margin: 24px 16px 24px 16px;
}

article {
  flex: 1 1 auto;
  margin: 0px auto;
  width: 100%;
}

@media screen {
  article {
    padding: 1rem;
    max-width: clamp(40em, 75vw, 55em);
  }
}

#articleHeader {
  margin-top: 24px;
  width: 100%;
}

#titleHolder {
  font-size: 1.714rem;
  line-height: 1.417;
  margin: 0 16px;
}

blockquote {
  border-left: 4px solid #888;
  padding-left: 1em;
}

cite {
  opacity: 0.8;
  font-style: italic;
}

hr {
  opacity: 0.5;
  border-style: solid;
  height: 1px 0 0 0;
  width: 75%;
}

q {
  opacity: 0.8;
  display: block;
  font-style: italic;
  font-weight: 600;
}

embed,
img,
object,
video {
  max-width: 100%;
}

/* TODO(sunangel): make images zoomable. */

img {
  display: block;
  height: auto;
  margin: 0.6rem auto 0.4rem auto;
}

/* TODO(nyquist): set these classes directly in the dom distiller. */

embed + [class*='caption'],
figcaption,
img + [class*='caption'],
object + [class*='caption'],
video + [class*='caption'] {
  opacity: 0.8;
  display: table;
  margin-bottom: 1rem;
  font-size: 0.857rem;
  line-height: 1.667;
}

ol,
ul {
  margin-left: 1.296rem;
}

code,
pre {
  border: 1px solid;
  border-radius: 2px;
}

pre code {
  border: none;
}

pre {
  line-height: 1.642;
  padding: 0.5em;
  white-space: pre-wrap;
}

body .hidden {
  display: none;
}

.clear {
  clear: both;
}

/* Iframe sizing. */
.youtubeContainer {
  height: 0px;
  /* This is the perecnt height of a standard HD video. */
  padding-bottom: 56.25%;
  position: relative;
  width: 100%;
}

.youtubeIframe {
  height: 100%;
  left: 0px;
  position: absolute;
  top: 0px;
  width: 100%;
}

/* Copyright 2014 The Chromium Authors. All rights reserved.
 * Use of this source code is governed by a BSD-style license that can be
 * found in the LICENSE file. */

/* Set the global 'box-sizing' state to 'border-box'.
 * *::after and *::before used to select pseudo-elements not selectable by *. */

*,
*::after,
*::before {
  box-sizing: border-box;
}

/* Remove all margins and padding from certain element and add word wrap. */

blockquote,
body,
caption,
dd,
dl,
fieldset,
figure,
form,
h1,
h2,
h3,
h4,
h5,
h6,
hr,
legend,
ol,
p,
pre,
ul,
table,
td,
th {
  margin: 0;
  padding: 0;
  word-wrap: break-word;
}

/* Prevent 'sub' and 'sup' affecting 'line-height'. */

sub,
sup {
  font-size: 75%;
  line-height: 0;
  position: relative;
  vertical-align: baseline;
}

sup {
  top: -0.5em;
}

sub {
  bottom: -0.25em;
}

/* Remove most spacing between table cells. */

table {
  border-collapse: collapse;
  border-spacing: 0;
  display: block;
  overflow-x: auto;
}

td,
th {
  padding: 0.5rem;
}

/* Base typography. */

html {
  font-size: 14px;
}

body {
  min-height: 100vh;
  display: flex;
  flex-direction: column;
  line-height: 1.714;
  margin: 0px auto;
  text-rendering: optimizeLegibility;
  transition-property: color, background-color;
  transition-duration: 0.5s;
  transition-timing-function: ease;
  overflow-x: hidden;
  -webkit-overflow-scrolling: touch;
}

/* Classes for light, dark and sepia themes.
  * Must agree with classes returned by useTheme() in dom_distiller_viewer.js
  * and with CSS class constants in viewer.cc */

.light {
  color: #424242;
  background-color: #fafafa;
}

.dark {
  color: #e0e0e0;
  background-color: #212121;
}

.sepia {
  color: #000;
  background-color: rgb(203, 173, 141);
}

.light a:link,
.sepia a:link {
  color: #55f;
}

.dark a:link {
  color: #88f;
}

.light a:visited,
.sepia a:visited {
  color: #902290;
}

.dark a:visited {
  color: #d872d8;
}

.light code,
.light pre {
  background-color: #eee;
  border-color: #aaa;
}

.sepia code,
.sepia pre {
  background-color: rgb(217, 196, 175);
  border-color: rgb(147, 125, 102);
}

.dark code,
.dark pre {
  background-color: #333;
  border-color: #555;
}

.light tbody tr:nth-child(odd) {
  background-color: #eee;
}

.light th,
.light td {
  border-left: 1px solid #aaa;
}

.sepia tbody tr:nth-child(odd) {
  background-color: rgb(217, 196, 175);
}

.sepia th,
.sepia td {
  border-left: 1px solid rgb(147, 125, 102);
}

.dark tbody tr:nth-child(odd) {
  background-color: #333;
}

.dark th,
.dark td {
  border-left: 1px solid #555;
}

/* #contentWrap is added to be more specific than the color theme rules */
#contentWrap th:first-child {
  border-left: none;
}
#contentWrap td:first-child {
  border-left: none;
}

/* Font settings */

.serif {
  font-family: serif;
}

.sans-serif {
  font-family: 'Roboto', sans-serif;
}

.monospace {
  font-family: monospace;
}

/* Define vertical rhythm (baseline grid of 4px). */

blockquote,
caption,
code,
dd,
dl,
fieldset,
figure,
form,
hr,
legend,
ol,
p,
pre,
q,
table,
td,
th,
ul {
  margin-bottom: 1.143rem;
}

h1,
h2,
h3,
h4,
h5,
h6 {
  line-height: 1.417;
  margin: 1em 0;
}

/* Content. */

#loadingIndicator {
  width: 100%;
  padding-bottom: 2em;
}

#loadingIndicator > img,
#loadingIndicator > svg {
  display: block;
  height: 2.5em;
  margin: auto;
  width: 2.5em;
}

/* Margins for Show Original link. */

.light #closeReaderView {
  border-top: 1px solid #e0e0e0;
  color: #4285f4;
}

.dark #closeReaderView {
  border-top: 1px solid #555;
  color: #3adaff;
}

.sepia #closeReaderView {
  border-top: 1px solid rgb(147, 125, 102);
  color: #55f;
}

video::-webkit-media-controls-fullscreen-button {
  display: none;
}

#closeReaderView {
  /*
   TODO(mdjones): Remove the "display: none;" style when the Reader Mode bar
                  behaves like the toolbar when scrolling.
   */
  display: none;
  flex: 0 0 auto;
  font-family: 'Roboto', sans-serif;
  font-weight: 700;
  line-height: 14px;
  padding: 24px 16px;
  font-size: 14px;
  text-align: right;
  text-decoration: none;
  text-transform: uppercase;
  width: 100%;
}

#content {
  margin: 24px 16px 24px 16px;
}

article {
  flex: 1 1 auto;
  margin: 0px auto;
  width: 100%;
}

@media screen {
  article {
    padding: 1rem;
    max-width: clamp(40em, 75vw, 55em);
  }
}

#articleHeader {
  margin-top: 24px;
  width: 100%;
}

#titleHolder {
  font-size: 1.714rem;
  line-height: 1.417;
  margin: 0 16px;
}

blockquote {
  border-left: 4px solid #888;
  padding-left: 1em;
}

cite {
  opacity: 0.8;
  font-style: italic;
}

hr {
  opacity: 0.5;
  border-style: solid;
  height: 1px 0 0 0;
  width: 75%;
}

q {
  opacity: 0.8;
  display: block;
  font-style: italic;
  font-weight: 600;
}

embed,
img,
object,
video {
  max-width: 100%;
}

/* TODO(sunangel): make images zoomable. */

img {
  display: block;
  height: auto;
  margin: 0.6rem auto 0.4rem auto;
}

/* TODO(nyquist): set these classes directly in the dom distiller. */

embed + [class*='caption'],
figcaption,
img + [class*='caption'],
object + [class*='caption'],
video + [class*='caption'] {
  opacity: 0.8;
  display: table;
  margin-bottom: 1rem;
  font-size: 0.857rem;
  line-height: 1.667;
}

ol,
ul {
  margin-left: 1.296rem;
}

code,
pre {
  border: 1px solid;
  border-radius: 2px;
}

pre code {
  border: none;
}

pre {
  line-height: 1.642;
  padding: 0.5em;
  white-space: pre-wrap;
}

body .hidden {
  display: none;
}

.clear {
  clear: both;
}

/* Iframe sizing. */
.youtubeContainer {
  height: 0px;
  /* This is the perecnt height of a standard HD video. */
  padding-bottom: 56.25%;
  position: relative;
  width: 100%;
}

.youtubeIframe {
  height: 100%;
  left: 0px;
  position: absolute;
  top: 0px;
  width: 100%;
}
