* {
	margin: 0px;
	padding: 0px;
	box-sizing: border-box;
}

html {
	font-size: 62.5%;
	line-height: 1.5;
	--background-color-hue: 0;
    --background-color: hsl(var(--background-color-hue), 0%, 100%);
    --text-color-hue: 0;
    --text-color: hsl(var(--text-color-hue), 0%, 30%);
    --subnote-color: hsl(var(--text-color-hue), 0%, 58%);
    --link-color-hue: 0;
    --link-color: hsl(var(--link-color-hue), 0%, 23%);
    --link-color-hover: hsl(var(--link-color-hue), 0%, 43%);
    --title-color-hue: 0;
    --title-color: hsl(var(--title-color-hue), 0%, 27%);
    --title-color-hover: hsl(var(--title-color-hue), 0%, 18%);
    --code-color-hue: 0;
    --code-color: hsl(var(--code-color-hue), 0%, 94%);
    --line-seperator-color-hue: 0;
    --line-seperator-color: hsl(var(--line-seperator-color-hue),0%,78%);
}

/* latin */
@font-face {
  font-family: 'Merriweather';
  font-style: normal;
  font-weight: 300;
  src: local('Merriweather Light'), local('Merriweather-Light'), url(300.woff2) format('woff2');
  unicode-range: U+0000-00FF, U+0131, U+0152-0153, U+02C6, U+02DA, U+02DC, U+2000-206F, U+2074, U+20AC, U+2212, U+2215;
}
/* latin */
@font-face {
  font-family: 'Merriweather';
  font-style: normal;
  font-weight: 400;
  src: local('Merriweather'), local('Merriweather-Regular'), url(400.woff2) format('woff2');
  unicode-range: U+0000-00FF, U+0131, U+0152-0153, U+02C6, U+02DA, U+02DC, U+2000-206F, U+2074, U+20AC, U+2212, U+2215;
}
/* latin */
@font-face {
  font-family: 'Merriweather';
  font-style: normal;
  font-weight: 700;
  src: local('Merriweather Bold'), local('Merriweather-Bold'), url(700.woff2) format('woff2');
  unicode-range: U+0000-00FF, U+0131, U+0152-0153, U+02C6, U+02DA, U+02DC, U+2000-206F, U+2074, U+20AC, U+2212, U+2215;
}
/* latin */
@font-face {
  font-family: 'Merriweather';
  font-style: normal;
  font-weight: 900;
  src: local('Merriweather Black'), local('Merriweather-Black'), url(900.woff2) format('woff2');
  unicode-range: U+0000-00FF, U+0131, U+0152-0153, U+02C6, U+02DA, U+02DC, U+2000-206F, U+2074, U+20AC, U+2212, U+2215;
}

/* latin */
@font-face {
  font-family: 'Merriweather';
  font-style: italic;
  font-weight: 300;
  src: local('Merriweather Light Italic'), local('Merriweather-LightItalic'), url(300i.woff2) format('woff2');
  unicode-range: U+0000-00FF, U+0131, U+0152-0153, U+02C6, U+02DA, U+02DC, U+2000-206F, U+2074, U+20AC, U+2212, U+2215;
}
/* latin */
@font-face {
  font-family: 'Merriweather';
  font-style: italic;
  font-weight: 400;
  src: local('Merriweather Italic'), local('Merriweather-Italic'), url(400i.woff2) format('woff2');
  unicode-range: U+0000-00FF, U+0131, U+0152-0153, U+02C6, U+02DA, U+02DC, U+2000-206F, U+2074, U+20AC, U+2212, U+2215;
}
/* latin */
@font-face {
  font-family: 'Merriweather';
  font-style: italic;
  font-weight: 700;
  src: local('Merriweather Bold Italic'), local('Merriweather-BoldItalic'), url(700i.woff2) format('woff2');
  unicode-range: U+0000-00FF, U+0131, U+0152-0153, U+02C6, U+02DA, U+02DC, U+2000-206F, U+2074, U+20AC, U+2212, U+2215;
}
/* latin */
@font-face {
  font-family: 'Merriweather';
  font-style: italic;
  font-weight: 900;
  src: local('Merriweather Black Italic'), local('Merriweather-BlackItalic'), url(900i.woff2) format('woff2');
  unicode-range: U+0000-00FF, U+0131, U+0152-0153, U+02C6, U+02DA, U+02DC, U+2000-206F, U+2074, U+20AC, U+2212, U+2215;
}

/* dark-mode colors */
html[data-theme="dark"] {
    --background-color: hsl(var(--background-color-hue), 0%, 10%);
    --text-color: hsl(var(--text-color-hue), 0%, 75%);
    --subnote-color: hsl(var(--text-color-hue), 0%, 50%);
    --link-color: hsl(var(--link-color-hue), 0%, 60%);
    --link-color-hover: hsl(var(--link-color-hue), 0%, 65%);
    --title-color: hsl(var(--title-color-hue), 0%, 80%);
    --title-color-hover: hsl(var(--title-color-hue), 0%, 85%);
    --code-color: hsl(var(--code-color-hue), 0%, 30%);
    --line-seperator-color: hsl(var(--line-seperator-color-hue), 0%, 50%);
}
html[data-theme="dark"] pre.prettyprint.prettyprinted {
	border: solid 1px hsl(0, 0%, 40%) !important;
}
/* invert images in dark-mode when they are compatible (eg. charts, but not photos) */
html[data-theme="dark"] img.darkmode_compatible {
    filter: invert(100%) hue-rotate(180deg);
    mix-blend-mode: screen;
}
/* transition when switching between the light and dark theme */
html.theme_change_transition, html.theme_change_transition * {
    transition: all 750ms !important;
    transition-delay: 0 !important;
}

@media (prefers-color-scheme: dark){ 
	html {
		--background-color: hsl(var(--background-color-hue), 0%, 10%);
		--text-color: hsl(var(--text-color-hue), 0%, 75%);
		--subnote-color: hsl(var(--text-color-hue), 0%, 50%);
		--link-color: hsl(var(--link-color-hue), 0%, 60%);
		--link-color-hover: hsl(var(--link-color-hue), 0%, 65%);
		--title-color: hsl(var(--title-color-hue), 0%, 80%);
		--title-color-hover: hsl(var(--title-color-hue), 0%, 85%);
		--code-color: hsl(var(--code-color-hue), 0%, 30%);
		--line-seperator-color: hsl(var(--line-seperator-color-hue), 0%, 50%);
	}
	html pre.prettyprint.prettyprinted {
		border: solid 1px hsl(0, 0%, 40%) !important;
	}
	/* invert images in dark-mode when they are compatible (eg. charts, but not photos) */
	html img.darkmode_compatible {
		filter: invert(100%) hue-rotate(180deg);
		mix-blend-mode: screen;
	}
}

body {
	font-family: 'Merriweather', serif;
    font-size: 16px;
    font-size: 1.6rem;
    font-weight: 300;
	background-color: var(--background-color);
    color: var(--text-color);
}

h1 {
    font-size: 28px;
    font-size: 2.8rem;
    font-weight: 900;
    margin-top: 5px;
	margin-top: 0.5rem;
    margin-bottom: 15px;
	margin-bottom: 1.5rem;
}

h2 {
    font-size: 24px;
    font-size: 2.4rem;
    font-weight: 700;
    margin-top: 5px;
	margin-top: 0.5rem;
    margin-bottom: 15px;
	margin-bottom: 1.5rem;
}

h3 {
    font-size: 20px;
    font-size: 2.0rem;
    font-weight: 700;
    margin-top: 5px;
	margin-top: 0.5rem;
    margin-bottom: 15px;
	margin-bottom: 1.5rem;
}

p {
	font-size: 16px;
    font-size: 1.6rem;
	margin-bottom: 20px;
	margin-bottom: 2.0rem;
	line-height: 26px;
	line-height: 2.6rem;
}

p.article-date {
	color: var(--subnote-color);
	margin-bottom: 5px;
	margin-bottom: 0.5rem;
}

b {
	font-weight: 700;
}

i {
	font-family: 'Merriweather Light Italic', serif;
	font-style: italic;
	font-size: 1.2em;
	font-weight: 300;
}

a {
	color: var(--link-color);
}
a:link {
	color: var(--link-color);
	text-decoration: underline;
}
a:visited {
	color: var(--link-color);
}
a:hover {
	color: var(--link-color-hover);
}
a:active {
	color: var(--link-color);
}

a.title {
	color: var(--title-color);
}
a.title:link {
	color: var(--title-color);
	text-decoration: none;
}
a.title:visited {
	color: var(--title-color);
}
a.title:hover {
	color: var(--title-color-hover);
}
a.title:active {
	color: var(--title-color);
}

code {
	font-family: monospace;
	font-size: 16px;
    background-color: var(--code-color);
    padding: 2px 6px;
}

img {
    max-width: 100%;
    height: auto;
}

ul {
	margin-left: 20px;
}

#main_container {
	
}

#center_container {
	max-width: 850px;
	margin: 0px auto;
	padding: 0px 15px;
}

#header_container {
	text-align: center;
	margin: 25px 0px 60px 0px;
}

#logo {
	background-image: url('../img/bg.png');
	background-repeat: no-repeat;
	background-position: center center;
	width: 175px;
	height: 175px;
	border-radius: 175px;
	display: inline-block;
	margin-bottom: 15px;
}

#header_container h1 {
	margin: 0px;
	line-height: 1;
}
#header_container .subnote {
	font-size: 12px;
	font-size: 1.2rem;
}

pre.prettyprint {
	overflow-y: none;
	overflow-x: auto;
	font-size: 14px;
	font-size: 1.4rem;
	padding: 5px 10px;
}

#sources {
	font-size: 14px;
	font-size: 1.4rem;
}

.lineseperator {
	font-size: 10px;
	font-size: 1.0rem;
	color: var(--line-seperator-color);
	text-align: center;
}

.icon_moon {
	position: relative;
	display: block;
	width: 25px;
	height: 25px;
	background-color: transparent;
	box-shadow: inset -4px -1px 0 2px var(--link-color);
	border-radius: 50%;
}
.icon_moon:hover {
	box-shadow: inset -4px -1px 0 2px var(--link-color-hover);
}

.displayinlineblock{
	display: inline-block;
}

.row::after {
    content: "";
    clear: both;
    display: block;
}
[class*="col-"] {
    float: left;
}
.col-1 {width: 8.33%;}
.col-2 {width: 16.66%;}
.col-3 {width: 25%;}
.col-4 {width: 33.33%;}
.col-5 {width: 41.66%;}
.col-6 {width: 50%;}
.col-7 {width: 58.33%;}
.col-8 {width: 66.66%;}
.col-9 {width: 75%;}
.col-10 {width: 83.33%;}
.col-11 {width: 91.66%;}
.col-12 {width: 100%;}

@media only screen and (max-width: 768px){
    [class*="col-"] {
        width: 100%;
    }
	
	pre.prettyprint {
		display: block;
	}
}

@media (min-width: 800px){
	/*font-size: 18px;*/
}

@media (min-width: 1200px){
	/*
	font-size: 20px;
	line-height: 1.4;
	*/
}