:root {
    --main-background-color: #0d1117;
    --main-border-color: #555555;
    --link-color: #009dff;
    --primary-green: #099945;
    --secondary-green: #1a3a15;
    --tertiary-green: #0f200c;
    --primary-blue: #0a82b1;
    --secondary-blue: #05455f;
    --tertiary-blue: #05232f;
    --table-odd-color: rgba(255, 255, 255, 0.05);
    --table-even-color: rgba(255, 255, 255, 0.025);
}

@font-face {
    font-family: 'Cantarell';
    src: url('/assets/fonts/Cantarell/Cantarell-Regular.otf') format('opentype');
    font-weight: normal;
    font-style: normal;
    font-display: swap;
}

@font-face {
    font-family: 'Cantarell';
    src: url('/assets/fonts/Cantarell/Cantarell-Thin.otf') format('opentype');
    font-weight: 100;
    font-style: normal;
    font-display: swap;
}

@font-face {
    font-family: 'Cantarell';
    src: url('/assets/fonts/Cantarell/Cantarell-Light.otf') format('opentype');
    font-weight: 300;
    font-style: normal;
    font-display: swap;
}

@font-face {
    font-family: 'Cantarell';
    src: url('/assets/fonts/Cantarell/Cantarell-Bold.otf') format('opentype');
    font-weight: bold;
    font-style: normal;
    font-display: swap;
}

@font-face {
    font-family: 'Cantarell';
    src: url('/assets/fonts/Cantarell/Cantarell-ExtraBold.otf') format('opentype');
    font-weight: 800;
    font-style: normal;
    font-display: swap;
}

@font-face {
    font-family: 'EB Garamond';
    src: url('/assets/fonts/EB_Garamond/static/EBGaramond-Regular.ttf') format('truetype');
    font-weight: normal;
    font-style: normal;
    font-display: swap;
}

@font-face {
    font-family: 'EB Garamond';
    src: url('/assets/fonts/EB_Garamond/static/EBGaramond-Bold.ttf') format('truetype');
    font-weight: bold;
    font-style: normal;
    font-display: swap;
}

@font-face {
    font-family: 'EB Garamond';
    src: url('/assets/fonts/EB_Garamond/static/EBGaramond-ExtraBold.ttf') format('truetype');
    font-weight: 800;
    font-style: normal;
    font-display: swap;
}

@font-face {
    font-family: 'Hack';
    src: url('/assets/fonts/Hack/hack-regular-subset.woff2') format('woff2'), url('/assets/fonts/Hack/hack-regular-subset.woff') format('woff');
    font-weight: normal;
    font-style: normal;
    font-display: swap;
}

@font-face {
    font-family: 'Hack';
    src: url('/assets/fonts/Hack/hack-bold-subset.woff2') format('woff2'), url('/assets/fonts/Hack/hack-bold-subset.woff') format('woff');
    font-weight: bold;
    font-style: normal;
    font-display: swap;
}

@font-face {
    font-family: 'Hack';
    src: url('/assets/fonts/Hack/hack-italic-subset.woff2') format('woff2'), url('/assets/fonts/Hack/hack-italic-webfont.woff') format('woff');
    font-weight: normal;
    font-style: italic;
    font-display: swap;
}

@font-face {
    font-family: 'Hack';
    src: url('/assets/fonts/Hack/hack-bolditalic-subset.woff2') format('woff2'), url('/assets/fonts/Hack/hack-bolditalic-subset.woff') format('woff');
    font-weight: bold;
    font-style: italic;
    font-display: swap;
}

* {
    box-sizing: border-box;
}

article,
aside,
figcaption,
figure,
footer,
header,
hgroup,
main,
nav,
section {
    display: block;
}

body {
    font-family: 'Cantarell', 'Trebuchet MS', 'Lucida Sans Unicode', 'Lucida Grande', 'Lucida Sans', 'Helvetica Neue', 'Helvetica', Arial, sans-serif;
    margin: 0 0 44px;
    font-size: 18px;
    font-weight: 400;
    line-height: 1.5;
    color: #ffffff;
    text-align: left;
    height: 100%;
    background-color: var(--main-background-color);
    background-size: cover;
}

[tabindex="-1"]:focus {
    outline: 0 !important;
}

hr {
    box-sizing: content-box;
    height: 0;
    overflow: visible;
}

h1,
h2,
h3,
h4,
h5,
h6 {
    margin-top: 0;
    margin-bottom: 0.5rem;
}

h1,
.h1 {
    font-size: 2.5rem;
}

h2,
.h2 {
    font-size: 2rem;
}

h3,
.h3 {
    font-size: 1.75rem;
}

h4,
.h4 {
    font-size: 1.5rem;
}

h5,
.h5 {
    font-size: 1.25rem;
}

h6,
.h6 {
    font-size: 1rem;
}

p {
    margin-top: 0;
    margin-bottom: 1rem;
}

a {
    color: var(--link-color);
    text-decoration: underline;
    background-color: transparent;
    outline: none;
}

a:hover {
    text-decoration: underline;
}

a:focus {
    text-decoration: underline dotted;
}

section {
    margin: 0.5rem;
}

pre {
    width: 100%;
    max-width: 100%;
    overflow-x: auto;
}

code {
    overflow-x: auto;
    max-width: 100%;
    display: inline-block;
    background-color: rgba(255, 255, 255, 0.1);
    padding: 0.1rem 0.5rem;
    vertical-align: bottom;
}

pre,
kbd,
code {
    font-family: 'Hack', 'Source Code Pro', Consolas, monospace;
    font-size: 0.9rem;
}

table {
    margin: 1rem auto;
	width:100%;
    overflow: hidden;
    border-radius: 0.5rem;
}

table thead+tbody tr {
    border-radius: 0;
}

table thead {
    background: var(--secondary-green);
    z-index: -1;
}

table tbody,
table tr:last-of-type
{
    border-bottom-left-radius: 0.5rem;
    border-bottom-right-radius: 0.5rem;
}

table tbody tr:nth-of-type(2n) {
    background-color: var(--table-even-color);
}

table tbody tr:nth-of-type(2n+1) {
    background-color: var(--table-odd-color);
}

table thead tr th,
table tbody tr td {
    padding: .25rem 0.75rem;
}

ul li {
    list-style-type: square;
}

.lambda-logo {
    width: 256px;
    height: 256px;
    position: fixed;
    bottom: 0;
    left: 0;
    z-index: -1;
}

.container {
    margin: 0 0.5rem;
    position: relative;
}

@media screen and (min-width: 818px) {
    .container {
        max-width: 818px;
        margin: 0 auto;
        position: relative;
    }
}

.block {
    display: block;
    padding: 0.5rem;
    max-width: 100%;
    margin: 1rem 0.25rem;
    border-radius: 1rem;
}

.button {
    padding: 0.2rem 1rem;
    margin: 0.3rem 0.3rem;
    color: #ffffff;
    background: var(--primary-green);
    display: inline-block;
    text-decoration: none;
    transition: 50ms ease-in-out all;
    border-radius: 0.5rem;
    box-shadow: none;
}

.button:hover {
    text-decoration: none;
    background: var(--secondary-green);
    box-shadow: 0 0 0 1px var(--secondary-green);
}

.button:active {
    text-decoration: none;
    box-shadow: 0 0 0 1px var(--tertiary-green);
    transform: scale(0.98);
    color: #cccccc;
    background: var(--tertiary-green);
}

.button:focus {
    box-shadow: 0 0 0 2px #ffffff;
}

.button.blue {
    background: var(--primary-blue);
}

.button.blue:hover {
    background: var(--secondary-blue);
    box-shadow: 0 0 0 1px var(--secondary-blue);
}

.button.blue:active {
    background: var(--tertiary-blue);
    box-shadow: 0 0 0 1px var(--tertiary-green);
}

.button.blue:focus {
    box-shadow: 0 0 0 2px #ffffff;
}

.text.center {
    text-align: center;
}

.none.display {
    display: none;
}

.button.link::after {
    content: ' \2192';
    display: inline-block;
    transition: 50ms ease-in-out all;
    margin-left: 0.3rem;
}

.button.link:hover {
    display: inline-block;
    transition: 50ms ease-in-out all;
}

.button.link:hover::after {
    transform: translateX(0.25rem) scale(1.3);
}

.button.link.extern:hover::after {
    transform: rotateZ(-45deg) scale(1.5);
}

.button.link.back::before {
    content: ' \2190';
    display: inline-block;
    transition: 100ms ease-in-out all;
    margin-right: 0.3rem;
}

.button.link:hover::before {
    transform: translateX(-0.2rem) scale(1.3);
}

.button.link.back::after {
    content: '';
    display: none;
}

.sans.serif {
    font-family: 'Cantarell', 'Trebuchet MS', 'Lucida Sans Unicode', 'Lucida Grande', 'Lucida Sans', 'Helvetica Neue', 'Helvetica', Arial, sans-serif;
}

.serif {
    font-family: 'EB Garamond', 'Garamond', 'Times New Roman', Times, serif;
}

.monospace {
    font-family: 'Hack', 'Source Code Pro', Consolas, monospace;
}

.license {
    background-color: #222222;
    padding: 1rem;
}

heading.container {
    text-align: center;
    margin: auto;
    background-color: var(--main-background-color);
}

heading .title {
    border-bottom: 1px solid #FFFFFF;
    max-width: 95%;
    margin: auto;
}

.last-updated {
    text-align: right;
    display: block;
    font-style: italic;
    font-size: 1rem;
    margin: 0.5rem 0.75rem;
}

nav {
    padding: 0.25rem 0.75rem;
    font-size: 1.25rem;
    box-shadow: 0 4px 8px 0 rgba(0, 0, 0, 0.4);
    position: fixed;
    bottom: 0;
    z-index: 1000;
    margin: 0;
    height: 2.5rem;
    max-height: 2.5rem;
    min-height: 2.5rem;
    min-width: 100%;
    width: 100%;
    background: linear-gradient(to bottom right, #1a3a15, #09351b) no-repeat center center fixed;
    overflow-y: hidden;
    overflow-x: auto;
    white-space: nowrap;
}
