@charset "UTF-8";
/*! normalize.css v6.0.0 | MIT License | github.com/necolas/normalize.css */
/* Document
   ========================================================================== */
/**
 * 1. Correct the line height in all browsers.
 * 2. Prevent adjustments of font size after orientation changes in
 *    IE on Windows Phone and in iOS.
 */
html {
  line-height: 1.15; /* 1 */
  -ms-text-size-adjust: 100%; /* 2 */
  -webkit-text-size-adjust: 100%; /* 2 */
}

/* Sections
   ========================================================================== */
/**
 * Add the correct display in IE 9-.
 */
article,
aside,
footer,
header,
nav,
section {
  display: block;
}

/**
 * Correct the font size and margin on `h1` elements within `section` and
 * `article` contexts in Chrome, Firefox, and Safari.
 */
h1 {
  font-size: 2em;
  margin: 0.67em 0;
}

/* Grouping content
   ========================================================================== */
/**
 * Add the correct display in IE 9-.
 * 1. Add the correct display in IE.
 */
figcaption,
figure,
main { /* 1 */
  display: block;
}

/**
 * Add the correct margin in IE 8.
 */
figure {
  margin: 1em 40px;
}

/**
 * 1. Add the correct box sizing in Firefox.
 * 2. Show the overflow in Edge and IE.
 */
hr {
  box-sizing: content-box; /* 1 */
  height: 0; /* 1 */
  overflow: visible; /* 2 */
}

/**
 * 1. Correct the inheritance and scaling of font size in all browsers.
 * 2. Correct the odd `em` font sizing in all browsers.
 */
pre {
  font-family: monospace, monospace; /* 1 */
  font-size: 1em; /* 2 */
}

/* Text-level semantics
   ========================================================================== */
/**
 * 1. Remove the gray background on active links in IE 10.
 * 2. Remove gaps in links underline in iOS 8+ and Safari 8+.
 */
a {
  background-color: transparent; /* 1 */
  -webkit-text-decoration-skip: objects; /* 2 */
}

/**
 * 1. Remove the bottom border in Chrome 57- and Firefox 39-.
 * 2. Add the correct text decoration in Chrome, Edge, IE, Opera, and Safari.
 */
abbr[title] {
  border-bottom: none; /* 1 */
  text-decoration: underline; /* 2 */
  text-decoration: underline dotted; /* 2 */
}

/**
 * Prevent the duplicate application of `bolder` by the next rule in Safari 6.
 */
b,
strong {
  font-weight: inherit;
}

/**
 * Add the correct font weight in Chrome, Edge, and Safari.
 */
b,
strong {
  font-weight: bolder;
}

/**
 * 1. Correct the inheritance and scaling of font size in all browsers.
 * 2. Correct the odd `em` font sizing in all browsers.
 */
code,
kbd,
samp {
  font-family: monospace, monospace; /* 1 */
  font-size: 1em; /* 2 */
}

/**
 * Add the correct font style in Android 4.3-.
 */
dfn {
  font-style: italic;
}

/**
 * Add the correct background and color in IE 9-.
 */
mark {
  background-color: #ff0;
  color: #000;
}

/**
 * Add the correct font size in all browsers.
 */
small {
  font-size: 80%;
}

/**
 * Prevent `sub` and `sup` elements from affecting the line height in
 * all browsers.
 */
sub,
sup {
  font-size: 75%;
  line-height: 0;
  position: relative;
  vertical-align: baseline;
}

sub {
  bottom: -0.25em;
}

sup {
  top: -0.5em;
}

/* Embedded content
   ========================================================================== */
/**
 * Add the correct display in IE 9-.
 */
audio,
video {
  display: inline-block;
}

/**
 * Add the correct display in iOS 4-7.
 */
audio:not([controls]) {
  display: none;
  height: 0;
}

/**
 * Remove the border on images inside links in IE 10-.
 */
img {
  border-style: none;
}

/**
 * Hide the overflow in IE.
 */
svg:not(:root) {
  overflow: hidden;
}

/* Forms
   ========================================================================== */
/**
 * Remove the margin in Firefox and Safari.
 */
button,
input,
optgroup,
select,
textarea {
  margin: 0;
}

/**
 * Show the overflow in IE.
 * 1. Show the overflow in Edge.
 */
button,
input { /* 1 */
  overflow: visible;
}

/**
 * Remove the inheritance of text transform in Edge, Firefox, and IE.
 * 1. Remove the inheritance of text transform in Firefox.
 */
button,
select { /* 1 */
  text-transform: none;
}

/**
 * 1. Prevent a WebKit bug where (2) destroys native `audio` and `video`
 *    controls in Android 4.
 * 2. Correct the inability to style clickable types in iOS and Safari.
 */
button,
html [type=button],
[type=reset],
[type=submit] {
  -webkit-appearance: button; /* 2 */
}

/**
 * Remove the inner border and padding in Firefox.
 */
button::-moz-focus-inner,
[type=button]::-moz-focus-inner,
[type=reset]::-moz-focus-inner,
[type=submit]::-moz-focus-inner {
  border-style: none;
  padding: 0;
}

/**
 * Restore the focus styles unset by the previous rule.
 */
button:-moz-focusring,
[type=button]:-moz-focusring,
[type=reset]:-moz-focusring,
[type=submit]:-moz-focusring {
  outline: 1px dotted ButtonText;
}

/**
 * 1. Correct the text wrapping in Edge and IE.
 * 2. Correct the color inheritance from `fieldset` elements in IE.
 * 3. Remove the padding so developers are not caught out when they zero out
 *    `fieldset` elements in all browsers.
 */
legend {
  box-sizing: border-box; /* 1 */
  color: inherit; /* 2 */
  display: table; /* 1 */
  max-width: 100%; /* 1 */
  padding: 0; /* 3 */
  white-space: normal; /* 1 */
}

/**
 * 1. Add the correct display in IE 9-.
 * 2. Add the correct vertical alignment in Chrome, Firefox, and Opera.
 */
progress {
  display: inline-block; /* 1 */
  vertical-align: baseline; /* 2 */
}

/**
 * Remove the default vertical scrollbar in IE.
 */
textarea {
  overflow: auto;
}

/**
 * 1. Add the correct box sizing in IE 10-.
 * 2. Remove the padding in IE 10-.
 */
[type=checkbox],
[type=radio] {
  box-sizing: border-box; /* 1 */
  padding: 0; /* 2 */
}

/**
 * Correct the cursor style of increment and decrement buttons in Chrome.
 */
[type=number]::-webkit-inner-spin-button,
[type=number]::-webkit-outer-spin-button {
  height: auto;
}

/**
 * 1. Correct the odd appearance in Chrome and Safari.
 * 2. Correct the outline style in Safari.
 */
[type=search] {
  -webkit-appearance: textfield; /* 1 */
  outline-offset: -2px; /* 2 */
}

/**
 * Remove the inner padding and cancel buttons in Chrome and Safari on macOS.
 */
[type=search]::-webkit-search-cancel-button,
[type=search]::-webkit-search-decoration {
  -webkit-appearance: none;
}

/**
 * 1. Correct the inability to style clickable types in iOS and Safari.
 * 2. Change font properties to `inherit` in Safari.
 */
::-webkit-file-upload-button {
  -webkit-appearance: button; /* 1 */
  font: inherit; /* 2 */
}

/* Interactive
   ========================================================================== */
/*
 * Add the correct display in IE 9-.
 * 1. Add the correct display in Edge, IE, and Firefox.
 */
details,
menu {
  display: block;
}

/*
 * Add the correct display in all browsers.
 */
summary {
  display: list-item;
}

/* Scripting
   ========================================================================== */
/**
 * Add the correct display in IE 9-.
 */
canvas {
  display: inline-block;
}

/**
 * Add the correct display in IE.
 */
template {
  display: none;
}

/* Hidden
   ========================================================================== */
/**
 * Add the correct display in IE 10-.
 */
[hidden] {
  display: none;
}

/* Retrieved from
   https://fonts.googleapis.com/css2?family=Alegreya+Sans&family=Exo+2:wght@200;300;400;600&display=swap
   on 2023-08-14
*/
/* cyrillic-ext */
@font-face {
  font-family: "Exo 2";
  font-style: normal;
  font-weight: 200;
  font-display: swap;
  src: url(/assets/fonts//7cHmv4okm5zmbtYlK-4E4Q.woff2) format("woff2");
  unicode-range: U+0460-052F, U+1C80-1C88, U+20B4, U+2DE0-2DFF, U+A640-A69F, U+FE2E-FE2F;
}
/* cyrillic */
@font-face {
  font-family: "Exo 2";
  font-style: normal;
  font-weight: 200;
  font-display: swap;
  src: url(/assets/fonts//7cHmv4okm5zmbtYsK-4E4Q.woff2) format("woff2");
  unicode-range: U+0301, U+0400-045F, U+0490-0491, U+04B0-04B1, U+2116;
}
/* vietnamese */
@font-face {
  font-family: "Exo 2";
  font-style: normal;
  font-weight: 200;
  font-display: swap;
  src: url(/assets/fonts//7cHmv4okm5zmbtYnK-4E4Q.woff2) format("woff2");
  unicode-range: U+0102-0103, U+0110-0111, U+0128-0129, U+0168-0169, U+01A0-01A1, U+01AF-01B0, U+0300-0301, U+0303-0304, U+0308-0309, U+0323, U+0329, U+1EA0-1EF9, U+20AB;
}
/* latin-ext */
@font-face {
  font-family: "Exo 2";
  font-style: normal;
  font-weight: 200;
  font-display: swap;
  src: url(/assets/fonts//7cHmv4okm5zmbtYmK-4E4Q.woff2) format("woff2");
  unicode-range: U+0100-02AF, U+0304, U+0308, U+0329, U+1E00-1E9F, U+1EF2-1EFF, U+2020, U+20A0-20AB, U+20AD-20CF, U+2113, U+2C60-2C7F, U+A720-A7FF;
}
/* latin */
@font-face {
  font-family: "Exo 2";
  font-style: normal;
  font-weight: 200;
  font-display: swap;
  src: url(/assets/fonts//7cHmv4okm5zmbtYoK-4.woff2) format("woff2");
  unicode-range: U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+0304, U+0308, U+0329, U+2000-206F, U+2074, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD;
}
/* cyrillic-ext */
@font-face {
  font-family: "Exo 2";
  font-style: normal;
  font-weight: 300;
  font-display: swap;
  src: url(/assets/fonts//7cHmv4okm5zmbtYlK-4E4Q.woff2) format("woff2");
  unicode-range: U+0460-052F, U+1C80-1C88, U+20B4, U+2DE0-2DFF, U+A640-A69F, U+FE2E-FE2F;
}
/* cyrillic */
@font-face {
  font-family: "Exo 2";
  font-style: normal;
  font-weight: 300;
  font-display: swap;
  src: url(/assets/fonts//7cHmv4okm5zmbtYsK-4E4Q.woff2) format("woff2");
  unicode-range: U+0301, U+0400-045F, U+0490-0491, U+04B0-04B1, U+2116;
}
/* vietnamese */
@font-face {
  font-family: "Exo 2";
  font-style: normal;
  font-weight: 300;
  font-display: swap;
  src: url(/assets/fonts//7cHmv4okm5zmbtYnK-4E4Q.woff2) format("woff2");
  unicode-range: U+0102-0103, U+0110-0111, U+0128-0129, U+0168-0169, U+01A0-01A1, U+01AF-01B0, U+0300-0301, U+0303-0304, U+0308-0309, U+0323, U+0329, U+1EA0-1EF9, U+20AB;
}
/* latin-ext */
@font-face {
  font-family: "Exo 2";
  font-style: normal;
  font-weight: 300;
  font-display: swap;
  src: url(/assets/fonts//7cHmv4okm5zmbtYmK-4E4Q.woff2) format("woff2");
  unicode-range: U+0100-02AF, U+0304, U+0308, U+0329, U+1E00-1E9F, U+1EF2-1EFF, U+2020, U+20A0-20AB, U+20AD-20CF, U+2113, U+2C60-2C7F, U+A720-A7FF;
}
/* latin */
@font-face {
  font-family: "Exo 2";
  font-style: normal;
  font-weight: 300;
  font-display: swap;
  src: url(/assets/fonts//7cHmv4okm5zmbtYoK-4.woff2) format("woff2");
  unicode-range: U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+0304, U+0308, U+0329, U+2000-206F, U+2074, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD;
}
/* cyrillic-ext */
@font-face {
  font-family: "Exo 2";
  font-style: normal;
  font-weight: 400;
  font-display: swap;
  src: url(/assets/fonts//7cHmv4okm5zmbtYlK-4E4Q.woff2) format("woff2");
  unicode-range: U+0460-052F, U+1C80-1C88, U+20B4, U+2DE0-2DFF, U+A640-A69F, U+FE2E-FE2F;
}
/* cyrillic */
@font-face {
  font-family: "Exo 2";
  font-style: normal;
  font-weight: 400;
  font-display: swap;
  src: url(/assets/fonts//7cHmv4okm5zmbtYsK-4E4Q.woff2) format("woff2");
  unicode-range: U+0301, U+0400-045F, U+0490-0491, U+04B0-04B1, U+2116;
}
/* vietnamese */
@font-face {
  font-family: "Exo 2";
  font-style: normal;
  font-weight: 400;
  font-display: swap;
  src: url(/assets/fonts//7cHmv4okm5zmbtYnK-4E4Q.woff2) format("woff2");
  unicode-range: U+0102-0103, U+0110-0111, U+0128-0129, U+0168-0169, U+01A0-01A1, U+01AF-01B0, U+0300-0301, U+0303-0304, U+0308-0309, U+0323, U+0329, U+1EA0-1EF9, U+20AB;
}
/* latin-ext */
@font-face {
  font-family: "Exo 2";
  font-style: normal;
  font-weight: 400;
  font-display: swap;
  src: url(/assets/fonts//7cHmv4okm5zmbtYmK-4E4Q.woff2) format("woff2");
  unicode-range: U+0100-02AF, U+0304, U+0308, U+0329, U+1E00-1E9F, U+1EF2-1EFF, U+2020, U+20A0-20AB, U+20AD-20CF, U+2113, U+2C60-2C7F, U+A720-A7FF;
}
/* latin */
@font-face {
  font-family: "Exo 2";
  font-style: normal;
  font-weight: 400;
  font-display: swap;
  src: url(/assets/fonts//7cHmv4okm5zmbtYoK-4.woff2) format("woff2");
  unicode-range: U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+0304, U+0308, U+0329, U+2000-206F, U+2074, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD;
}
/* cyrillic-ext */
@font-face {
  font-family: "Exo 2";
  font-style: normal;
  font-weight: 600;
  font-display: swap;
  src: url(/assets/fonts//7cHmv4okm5zmbtYlK-4E4Q.woff2) format("woff2");
  unicode-range: U+0460-052F, U+1C80-1C88, U+20B4, U+2DE0-2DFF, U+A640-A69F, U+FE2E-FE2F;
}
/* cyrillic */
@font-face {
  font-family: "Exo 2";
  font-style: normal;
  font-weight: 600;
  font-display: swap;
  src: url(/assets/fonts//7cHmv4okm5zmbtYsK-4E4Q.woff2) format("woff2");
  unicode-range: U+0301, U+0400-045F, U+0490-0491, U+04B0-04B1, U+2116;
}
/* vietnamese */
@font-face {
  font-family: "Exo 2";
  font-style: normal;
  font-weight: 600;
  font-display: swap;
  src: url(/assets/fonts//7cHmv4okm5zmbtYnK-4E4Q.woff2) format("woff2");
  unicode-range: U+0102-0103, U+0110-0111, U+0128-0129, U+0168-0169, U+01A0-01A1, U+01AF-01B0, U+0300-0301, U+0303-0304, U+0308-0309, U+0323, U+0329, U+1EA0-1EF9, U+20AB;
}
/* latin-ext */
@font-face {
  font-family: "Exo 2";
  font-style: normal;
  font-weight: 600;
  font-display: swap;
  src: url(/assets/fonts//7cHmv4okm5zmbtYmK-4E4Q.woff2) format("woff2");
  unicode-range: U+0100-02AF, U+0304, U+0308, U+0329, U+1E00-1E9F, U+1EF2-1EFF, U+2020, U+20A0-20AB, U+20AD-20CF, U+2113, U+2C60-2C7F, U+A720-A7FF;
}
/* latin */
@font-face {
  font-family: "Exo 2";
  font-style: normal;
  font-weight: 600;
  font-display: swap;
  src: url(/assets/fonts//7cHmv4okm5zmbtYoK-4.woff2) format("woff2");
  unicode-range: U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+0304, U+0308, U+0329, U+2000-206F, U+2074, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD;
}
/* font-awesome-regular */
@font-face {
  font-family: "Font Awesome 6 Free";
  font-style: normal;
  font-weight: 400;
  font-display: block;
  src: url(/assets/fonts//fa-regular-400.woff2) format("woff2"), url(/assets/fonts//fa-regular-400.ttf) format("truetype");
}
/* font-awesome-solid */
@font-face {
  font-family: "Font Awesome 6 Free";
  font-style: normal;
  font-weight: 900;
  font-display: block;
  src: url(/assets/fonts//fa-solid-900.woff2) format("woff2"), url(/assets/fonts//fa-solid-900.ttf) format("truetype");
}
/* font-awesome-brands */
@font-face {
  font-family: "Font Awesome 6 Brands";
  font-style: normal;
  font-weight: 400;
  font-display: block;
  src: url(/assets/fonts//fa-brands-400.woff2) format("woff2"), url(/assets/fonts//fa-brands-400.ttf) format("truetype");
}
/* roboto flex */
@font-face {
  font-family: "Roboto Flex";
  font-style: normal;
  font-weight: 400;
  font-display: swap;
  src: url(/assets/fonts//RobotoFlex-Regular.ttf) format("truetype");
}
/* Slider */
.slick-slider {
  position: relative;
  display: block;
  box-sizing: border-box;
  -webkit-touch-callout: none;
  -webkit-user-select: none;
  -khtml-user-select: none;
  -moz-user-select: none;
  -ms-user-select: none;
  user-select: none;
  -ms-touch-action: pan-y;
  touch-action: pan-y;
  -webkit-tap-highlight-color: transparent;
}

.slick-list {
  position: relative;
  overflow: hidden;
  display: block;
  margin: 0;
  padding: 0;
}
.slick-list:focus {
  outline: none;
}
.slick-list.dragging {
  cursor: pointer;
  cursor: hand;
}

.slick-slider .slick-track,
.slick-slider .slick-list {
  -webkit-transform: translate3d(0, 0, 0);
  -moz-transform: translate3d(0, 0, 0);
  -ms-transform: translate3d(0, 0, 0);
  -o-transform: translate3d(0, 0, 0);
  transform: translate3d(0, 0, 0);
}

.slick-track {
  position: relative;
  left: 0;
  top: 0;
  display: block;
  margin-left: auto;
  margin-right: auto;
}
.slick-track:before, .slick-track:after {
  content: "";
  display: table;
}
.slick-track:after {
  clear: both;
}
.slick-loading .slick-track {
  visibility: hidden;
}

.slick-slide {
  float: left;
  height: 100%;
  min-height: 1px;
  display: none;
}
[dir=rtl] .slick-slide {
  float: right;
}
.slick-slide img {
  display: block;
}
.slick-slide.slick-loading img {
  display: none;
}
.slick-slide.dragging img {
  pointer-events: none;
}
.slick-initialized .slick-slide {
  display: block;
}
.slick-loading .slick-slide {
  visibility: hidden;
}
.slick-vertical .slick-slide {
  display: block;
  height: auto;
  border: 1px solid transparent;
}

.slick-arrow.slick-hidden {
  display: none;
}

* {
  box-sizing: border-box;
}

body {
  margin: 0;
}

section,
header,
footer {
  max-width: 100%;
  margin: 0 auto;
}

/*header#mainheader:before {
  content: " ";
  display: block;
  height: 35px;
  width: 100%;
}*/
nav#navbar {
  margin: 0px;
  padding: 20px 5px;
}
nav#navbar div.navcontainer {
  width: auto;
  max-width: 1200px;
  margin: 0px auto;
  height: 3em;
}
nav#navbar div.navcontainer a.brand-logo img#logo {
  vertical-align: top;
  height: 70%;
}
nav#navbar div.navcontainer button#navbutton {
  display: none;
}
nav#navbar div.navcontainer ul.l1 {
  float: right;
  margin: 0;
  padding: 0;
}
nav#navbar div.navcontainer ul.l1 li {
  position: relative;
  display: inline-block;
  padding: 0rem 0.5rem;
  line-height: 1.5;
  height: 100%;
}
nav#navbar div.navcontainer ul.l1 li button.expand-children,
nav#navbar div.navcontainer ul.l1 li button.collapse-children {
  border: none;
  background: none;
  padding: 0;
  margin: 0;
  width: 2em;
}
nav#navbar div.navcontainer ul.l1 li button.collapse-children {
  display: none;
}
nav#navbar div.navcontainer ul.l1 li ul.l2 {
  display: none;
  top: 3em;
  left: 0em;
  position: absolute;
  width: 100%;
  margin: 0;
  padding: 0;
}
nav#navbar div.navcontainer ul.l1 li:hover button.expand-children,
nav#navbar div.navcontainer ul.l1 li.expanded button.expand-children {
  display: none;
}
nav#navbar div.navcontainer ul.l1 li:hover button.collapse-children,
nav#navbar div.navcontainer ul.l1 li.expanded button.collapse-children {
  display: inline;
}
nav#navbar div.navcontainer ul.l1 li:hover ul.l2,
nav#navbar div.navcontainer ul.l1 li.expanded ul.l2 {
  display: block;
}
nav#navbar div.navcontainer ul.l1 li.github-stars div.github-button {
  display: inline-flex;
  align-items: center;
  vertical-align: middle;
  height: 100%;
}
nav#navbar div.navcontainer ul.l1 li.github-stars div.github-button span {
  line-height: 1.5;
}

header.page-header {
  margin-bottom: 40px;
}
header.page-header div.container {
  display: flex;
  justify-content: space-between;
  align-items: center;
  padding: 40px 0px;
  min-height: 15rem;
}
header.page-header div.container div.logo {
  float: left;
  max-width: 400px;
  text-align: center;
}
header.page-header div.container div.logo img {
  width: 250px;
  max-width: 100%;
  max-height: 250px;
}
header.page-header div.container div.text {
  width: 100%;
  min-height: 240px;
  margin-left: 0px;
  padding-top: 3em;
  padding-bottom: 2em;
}
header.page-header div.container div.text p {
  margin: 0;
}
header.page-header div.container div.text h1 {
  text-align: center;
  margin: 0.5rem 0rem;
}
header.page-header div.container div.text p.subtitle {
  text-align: center;
  padding-top: 2rem;
}
header.page-header div.clear {
  clear: both;
}

div.container {
  width: 950px;
  margin: 0px auto;
  padding: 40px 0px;
}

div.banner img {
  width: 100%;
}

div.titlebar div.container {
  padding: 8px 0px;
}
div.titlebar div.container h2 {
  margin: 0px;
}

footer {
  margin: 0rem auto;
  padding: 1rem 2rem;
  text-align: center;
}
footer div.container {
  padding: 0rem;
}
footer div.container div.footer-inner {
  display: flex;
  /*align-items: center;
  justify-content: center;*/
  flex-direction: row;
  flex-wrap: wrap;
}
footer div.container div.footer-inner div.footer-left {
  flex: 1;
}
footer div.container div.footer-inner div.footer-left h1 {
  text-align: left;
}
footer div.container div.footer-inner div.footer-left .form-label {
  color: white !important;
}
footer div.container div.footer-inner div.footer-left .form-container,
footer div.container div.footer-inner div.footer-left .form-container-50 {
  padding-top: 5px !important;
  padding-bottom: 5px !important;
}
footer div.container div.footer-inner div.footer-left .form-control {
  margin-bottom: 10px !important;
  color: white !important;
}
footer div.container div.footer-inner div.footer-left div.submit-row {
  display: flex !important;
  justify-content: space-between;
  align-content: center;
}
footer div.container div.footer-inner div.footer-left div.submit-row button {
  flex: 0 0;
}
footer div.container div.footer-inner div.footer-right {
  flex: 1;
  display: flex;
  flex-direction: column;
  justify-content: center;
  align-items: center;
}
footer div.container div.footer-inner div.footer-right div.mpisws-logo,
footer div.container div.footer-inner div.footer-right nav,
footer div.container div.footer-inner div.footer-right div.tumvl-logo {
  width: 15rem;
}
footer div.container div.footer-inner div.footer-right div.mpisws-logo img,
footer div.container div.footer-inner div.footer-right nav img,
footer div.container div.footer-inner div.footer-right div.tumvl-logo img {
  margin: 1rem;
}
footer div.container div.footer-inner div.footer-right nav {
  width: 22rem;
}
footer div.container div.footer-inner div.footer-right div.mpisws-logo img {
  width: 5rem;
}
footer ul {
  padding: 0rem;
  margin: 1rem 0rem;
}
footer ul li {
  display: inline;
  padding: 0rem 1rem;
}

/* changes for mobile layout */
@media screen and (max-width: 1024px) {
  nav#navbar {
    border-bottom: none;
  }
  nav#navbar div.navcontainer {
    width: 100%;
    padding-left: 15px;
  }
  nav#navbar div.navcontainer button#navbutton {
    display: block;
    position: absolute;
    right: 15px;
    top: 40px;
    width: 40px;
    height: 40px;
  }
  nav#navbar div.navcontainer ul.l1 {
    display: none;
    width: 100%;
    margin: 0;
    padding: 15px;
    padding-right: 1.5em;
  }
  nav#navbar div.navcontainer ul.l1 li.meeting-button,
  nav#navbar div.navcontainer ul.l1 li.demo-button {
    padding-top: 5px;
    padding-bottom: 10px;
  }
  nav#navbar div.navcontainer ul.l1 li {
    width: 100%;
    text-align: right;
    display: block;
  }
  nav#navbar div.navcontainer ul.l1 li button.expand-children,
  nav#navbar div.navcontainer ul.l1 li button.collapse-children {
    margin-right: -2em;
  }
  nav#navbar div.navcontainer ul.l1 li ul.l2 {
    position: static;
    padding-bottom: 0.5em;
  }
  nav#navbar div.navcontainer ul.l1 li ul.l2 li {
    padding-right: 1em;
  }
  nav#navbar div.navcontainer ul.l1-active {
    display: block;
    position: absolute;
    left: 0px;
    top: 88px;
  }
  div.container {
    width: 100%;
    padding-left: 15px;
    padding-right: 15px;
  }
  header.page-header div.container {
    text-align: center;
    flex-wrap: wrap;
    justify-content: center;
    padding-bottom: 0px;
    height: auto;
  }
  header.page-header div.container div.text p.subtitle {
    text-align: center;
    padding-left: 2rem;
    padding-right: 2rem;
  }
  div.titlebar div.container {
    padding: 8px;
  }
  section.faq ul li {
    flex: 1 1 100%;
  }
  footer div.container div.footer-inner div,
  footer div.container div.footer-inner nav {
    width: 100%;
  }
}
html {
  background-color: white;
}

body {
  font-family: "Roboto Flex", sans-serif;
}

h1,
h2,
h3,
h4,
h5,
h6 {
  font-family: "Exo 2", sans-serif;
  font-weight: 400;
}

h2,
h3,
h4,
h5,
h6 {
  font-family: "Roboto Flex", sans-serif;
}

h1 {
  font-size: 2rem;
  font-weight: bolder;
}

h2 {
  font-size: 2rem;
  /*text-transform: uppercase;*/
}

h3 {
  font-size: 1.5rem;
}

a,
a:hover,
a:active {
  color: hsl(23, 85%, 62%);
  text-decoration: none;
  font-weight: bold;
}

section {
  background-color: white;
}

/*header#mainheader:before {
  background-color: $col-os-grey;
}*/
header#mainheader {
  border-bottom: 0.1rem solid hsl(0, 0%, 96%);
}

nav#navbar {
  background-color: white;
  color: white;
}
nav#navbar div.navcontainer {
  border-bottom: 1px white solid;
}
nav#navbar div.navcontainer a,
nav#navbar div.navcontainer a:visited,
nav#navbar div.navcontainer a:hover,
nav#navbar div.navcontainer a:active {
  color: inherit;
  font-weight: normal;
}
nav#navbar div.navcontainer a:hover {
  color: hsl(18, 89%, 57%);
}
nav#navbar div.navcontainer a.brand {
  font-size: 1.8rem;
  font-family: "Exo 2", sans-serif;
  font-weight: 300;
  padding-left: 0.5rem;
  line-height: 1.4;
  color: black;
}
nav#navbar div.navcontainer button#navbutton {
  background-color: white;
  color: hsl(18, 89%, 57%);
  border: none;
  border-radius: 50%;
  font-size: 30px;
  cursor: pointer;
}
nav#navbar div.navcontainer ul.l1 li {
  color: #aaa;
  font-weight: 400;
  font-family: "Exo 2", sans-serif;
  text-transform: uppercase;
  line-height: 3;
}
nav#navbar div.navcontainer ul.l1 li button.expand-children,
nav#navbar div.navcontainer ul.l1 li button.collapse-children {
  color: inherit;
}
nav#navbar div.navcontainer ul.l1 li ul.l2 {
  background-color: white;
}
nav#navbar div.navcontainer ul.l1 li ul.l2 li {
  text-transform: none;
}
nav#navbar div.navcontainer ul.l1 li ul.l2 li.current-l2 a.l2,
nav#navbar div.navcontainer ul.l1 li ul.l2 li.current-l2 a.l2:visited,
nav#navbar div.navcontainer ul.l1 li ul.l2 li.current-l2 a.l2:hover,
nav#navbar div.navcontainer ul.l1 li ul.l2 li.current-l2 a.l1:active {
  color: hsl(18, 89%, 57%);
}
nav#navbar div.navcontainer ul.l1 li.current-l1 a.l,
nav#navbar div.navcontainer ul.l1 li.current-l1 a.l1:visited,
nav#navbar div.navcontainer ul.l1 li.current-l1 a.l1:hover,
nav#navbar div.navcontainer ul.l1 li.current-l1 a.l1:active {
  font-weight: 600;
  color: hsl(18, 89%, 57%);
}
nav#navbar div.navcontainer ul.l1 li.meeting-button,
nav#navbar div.navcontainer ul.l1 li.demo-button {
  text-transform: none;
  box-sizing: border-box;
  -moz-box-sizing: border-box;
  -webkit-box-sizing: border-box;
}
nav#navbar div.navcontainer ul.l1 li.meeting-button a,
nav#navbar div.navcontainer ul.l1 li.demo-button a {
  border-radius: 8px;
  padding: 4px 8px;
}
nav#navbar div.navcontainer ul.l1 li.meeting-button {
  text-transform: none;
}
nav#navbar div.navcontainer ul.l1 li.meeting-button a {
  box-sizing: border-box;
  -moz-box-sizing: border-box;
  -webkit-box-sizing: border-box;
  border: 1px hsl(18, 89%, 57%) solid;
  background-color: white;
  color: hsl(18, 89%, 63%);
}
nav#navbar div.navcontainer ul.l1 li.meeting-button a:hover {
  box-shadow: inset 0 0 0 2px hsl(18, 89%, 57%);
}
nav#navbar div.navcontainer ul.l1 li.demo-button {
  text-transform: none;
}
nav#navbar div.navcontainer ul.l1 li.demo-button a {
  background-color: hsl(18, 89%, 63%);
  color: white;
}
nav#navbar div.navcontainer ul.l1 li.demo-button a:hover {
  background-color: hsl(18, 89%, 57%);
}

header.page-header {
  background: linear-gradient(to bottom, white, hsl(0, 0%, 90%));
  color: black;
}
header.page-header div.container div.text p.subtitle {
  font-family: "Exo 2", sans-serif;
  font-size: 1.5rem;
  white-space: pre-line;
}
header.page-header div.container div.text h1 {
  font-size: 3rem;
}
header.page-header div.container div.text div.description {
  font-size: 1.2rem;
}

div.titlebar {
  background-color: hsl(77, 58%, 44%);
  color: white;
}
div.titlebar div.container h2 {
  font-weight: normal;
  font-size: 2rem;
}

footer {
  background: linear-gradient(to bottom, hsl(185, 100%, 32%), hsl(185, 100%, 24%));
  color: white;
}
footer ul {
  list-style: none;
}
footer ul li a,
footer ul li a:active {
  color: white;
  text-decoration: none;
}
footer ul li a::before,
footer ul li a:active::before {
  font-size: 2rem;
  display: inline-block;
  content: "";
  text-align: center;
  font-family: "Font Awesome 6 Brands";
  font-weight: bold;
}
footer ul li a.slack::before {
  content: "\f198";
}
footer ul li a.github::before {
  content: "\f09b";
}
footer ul li a.email::before {
  font-family: "Font Awesome 6 Free";
  content: "\f0e0";
}
footer ul li a.twitter::before {
  content: "\f099";
}
footer ul li a.linkedin::before {
  content: "\f08c";
}
footer div.copyright a.imprint,
footer div.copyright a.data-protection {
  color: white;
}

section.faq {
  background-color: white;
}
section.faq div.faq-questions-container {
  display: flex;
  flex-direction: column;
  justify-content: center;
  width: 100%;
  color: black;
  padding: 10px;
  gap: 10px;
}
section.faq div.faq-questions-container hr.faq-separator {
  width: 100%;
  color: hsl(0, 0%, 96%);
}
section.faq div.faq-questions-container div.faq-question {
  display: flex;
  flex-direction: row;
  justify-content: space-between;
  align-items: center;
  transition: background-color 0.3s ease-in-out;
  border-radius: 20px;
  padding: 10px 10px 10px 20px;
  cursor: pointer;
}
section.faq div.faq-questions-container div.faq-question div.question {
  font-size: x-large;
}
section.faq div.faq-questions-container div.faq-question div.faq-plus-minus {
  margin-right: 20px;
  font-weight: bolder;
  font-size: xx-large;
  transition: transform 0.3s ease-in-out;
  color: hsl(18, 89%, 57%);
  cursor: pointer;
}
section.faq div.faq-questions-container div.faq-question div.faq-plus-minus.active {
  transform: translateY(2px) rotate(45deg);
}
section.faq div.faq-questions-container div.faq-question:hover {
  background-color: hsl(0, 0%, 96%);
}
section.faq div.faq-questions-container div.faq-answer {
  max-height: 0px;
  overflow: hidden;
  font-size: large;
  padding: 10px 10px 10px 20px;
  transition: max-height 0.6s ease-in-out;
}
section.faq div.faq-questions-container div.faq-answer.active {
  max-height: 150px;
  overflow: scroll;
  transition: max-height 0.6s ease-in-out;
}

/* a few design changes for mobile too */
@media screen and (max-width: 1024px) {
  nav#navbar div.navcontainer ul.l1 {
    color: hsl(90, 1%, 32%);
    background-color: white;
    font-size: 1.5em;
  }
  nav#navbar div.navcontainer ul.l1 li {
    line-height: 1.5;
  }
  nav#navbar div.navcontainer ul.l1 li.slack-button {
    margin: 1em 0.5em;
  }
  nav#navbar div.navcontainer ul.l1 li.newsletter-button {
    margin: 1em 0.5em;
  }
}
.form-card {
  width: auto;
  background-color: #fff;
  border-radius: 20px;
  box-shadow: 0px 4px 8px rgba(0, 0, 0, 0.1);
  padding: 20px;
}

.form-wrapper {
  display: flex;
  flex-direction: row;
  flex-wrap: wrap;
}
.form-wrapper .full-row {
  width: 100%;
}
.form-wrapper .formError {
  color: red;
}
.form-wrapper .form-container,
.form-wrapper .form-container-50 {
  width: 100%;
  padding-right: 20px;
  padding-top: 10px;
  padding-bottom: 10px;
  position: relative;
}
.form-wrapper .form-container .form-label,
.form-wrapper .form-container-50 .form-label {
  top: 0;
  left: 0;
  padding: 10px 0px;
  color: gray;
  font-size: 18px;
  position: absolute;
  transition: 0.5s;
}
.form-wrapper .form-container .form-control,
.form-wrapper .form-container-50 .form-control {
  width: 100%;
  padding: 10px 0;
  font-size: 16px;
  color: black;
  margin-bottom: 30px;
  border: none;
  border-bottom: 1px solid lightgray;
  outline: none;
  background: transparent;
}
.form-wrapper .form-container .form-control:focus ~ .form-label,
.form-wrapper .form-container .form-control:not(:placeholder-shown) ~ .form-label,
.form-wrapper .form-container-50 .form-control:focus ~ .form-label,
.form-wrapper .form-container-50 .form-control:not(:placeholder-shown) ~ .form-label {
  top: -20px;
  left: 0;
  font-size: 14px;
}
.form-wrapper .form-container .form-submit-button,
.form-wrapper .form-container-50 .form-submit-button {
  padding: 0.5em;
  font-family: "Exo 2", sans-serif4;
  width: 100px;
  font-size: 18px;
  border: 1px solid lightgray;
  border-radius: 8px;
  color: white;
  background-color: hsl(18, 89%, 63%);
}
.form-wrapper .form-container .form-submit-button:hover,
.form-wrapper .form-container-50 .form-submit-button:hover {
  background-color: hsl(18, 89%, 57%);
}
.form-wrapper .form-container-50 {
  width: 50%;
}
.form-wrapper .frc-captcha {
  border: 1px solid lightgray;
  border-radius: 8px;
}
.form-wrapper .frc-captcha .frc-button {
  border: 1px solid lightgray;
  border-radius: 8px;
  color: white;
  background-color: hsl(18, 89%, 63%);
}
.form-wrapper .submit-row {
  display: flex;
  flex-wrap: wrap;
  gap: 10px;
}

.banner {
  display: none;
  width: 100%;
  color: white;
  font-size: 18px;
  border: 1px solid lightgray;
  border-radius: 20px;
  text-align: center;
}

.form-footer .mail-info {
  font-size: 18px;
  margin: 1em 0em 1em 0.5em;
}
.form-footer .required-info {
  font-size: 14px;
  margin: 1em 0em 1em 0.5em;
}

body.home {
  /* changes for mobile layout */
}
body.home header.page-header div.container div.logo img {
  width: 300px;
  max-width: 100%;
  max-height: 300px;
}
body.home h2 {
  text-align: center;
}
body.home section.video {
  background-color: white;
}
body.home section.video div.container .card {
  border-radius: 20px;
  transition: 0.3s;
  width: 100%;
  margin: auto;
}
body.home section.video div.container .card .video-div {
  width: 100%;
}
body.home section.video div.container .card .video-div video {
  border-radius: 8px;
}
body.home section.video div.container .card .try-button {
  margin: auto;
  padding-top: 20px;
  display: flex;
  justify-content: center;
}
body.home section.video div.container .card .try-button a {
  display: inline-block;
  padding: 10px 25px;
  background-color: hsl(18, 89%, 63%);
  color: white;
  text-align: center;
  display: inline-block;
  font-size: min(4vmin, 1.5em);
  margin: 4px 2px;
  border-radius: 8px;
  width: fit-content;
}
body.home section.video div.container .card .try-button a:hover {
  background-color: hsl(18, 89%, 57%);
}
@media screen and (max-width: 1024px) {
  body.home section.video div.container {
    display: block;
  }
  body.home section.video div.container div.research-text,
  body.home section.video div.container div.research-figure {
    width: inherit;
  }
}
body.home section.code-example {
  display: flex;
  flex-direction: column;
  width: 100%;
  margin-bottom: 40px;
  justify-content: center;
}
body.home section.code-example .code-example-headings,
body.home section.code-example .learnmore {
  text-align: center;
  font-weight: bold;
  padding: 20px;
}
body.home section.code-example .code-example-headings .ce-large-heading,
body.home section.code-example .learnmore .ce-large-heading {
  font-weight: bold;
  padding: 40px;
}
body.home section.code-example .code-example-headings .ce-large-heading,
body.home section.code-example .learnmore .ce-large-heading {
  font-size: xx-large;
}
body.home section.code-example .code-example-headings a,
body.home section.code-example .learnmore a {
  font-size: x-large;
  color: hsl(18, 89%, 57%);
  padding: 40px;
}
body.home section.code-example .code-example-headings a:hover,
body.home section.code-example .learnmore a:hover {
  text-decoration: underline;
}
body.home section.code-example div.code-example-code-feature-box {
  display: flex;
  flex-direction: row;
  flex-wrap: wrap;
  align-items: center;
  justify-content: center;
  gap: 20px;
  height: fit-content;
  padding-bottom: 20px;
}
body.home section.code-example div.code-example-code-feature-box .code-section {
  display: flex;
  flex-direction: column;
  flex-wrap: wrap;
  justify-content: space-between;
  width: 593.75px;
  max-width: 100%;
  height: fit-content;
  border-radius: 20px;
  color: black;
  background-color: hsl(0, 0%, 96%);
  overflow: scroll;
}
body.home section.code-example div.code-example-code-feature-box .code-section .code {
  opacity: 1;
  border: solid 2px;
  border-color: hsl(0, 0%, 96%);
  border-radius: 20px;
  padding-left: 10px;
  padding-right: 10px;
  transition: all 0.3s ease-in-out;
}
body.home section.code-example div.code-example-code-feature-box .feature-section {
  display: flex;
  flex-direction: column;
  height: fit-content;
  max-width: 100%;
  justify-content: center;
}
body.home section.code-example div.code-example-code-feature-box .feature-section .feature {
  color: black;
  padding: 10px;
  border-radius: 20px;
  border: solid 2px;
  border-color: white;
  width: 330px;
  max-width: 90%;
  height: fit-content;
  opacity: 1;
  transition: all 0.3s ease-in-out;
}
body.home section.code-example div.code-example-code-feature-box .feature-section .feature div {
  font-size: x-large;
  font-weight: bold;
  height: fit-content;
}
body.home section.code-example div.code-example-code-feature-box .feature-section .feature p {
  font-size: large;
  height: fit-content;
}
body.home section.code-example div.code-example-code-feature-box .feature-section .feature div::before {
  content: "";
  text-align: center;
  font-family: "Font Awesome 6 Free";
  font-weight: bold;
  font-size: x-large;
  color: hsl(185, 100%, 32%);
  padding-right: 1rem;
  height: fit-content;
}
body.home section.code-example div.code-example-code-feature-box .feature-section .feature div.full-system-icon::before {
  content: "\f6ff";
}
body.home section.code-example div.code-example-code-feature-box .feature-section .feature div.extensible-icon::before {
  content: "\f12e";
}
body.home section.code-example div.code-example-code-feature-box .feature-section .feature div.scalable-icon::before {
  content: "\e4b7";
}
body.home section.code-example div.code-example-code-feature-box .feature-section .feature div.separation-icon::before {
  content: "☍";
}
body.home section.code-example div.non-code-features {
  display: flex;
  flex-direction: row;
  flex-wrap: wrap;
  width: 100%;
  justify-content: center;
}
body.home section.code-example div.non-code-features div.non-code-feature {
  color: black;
  padding: 10px;
  border-radius: 20px;
  border: solid 2px;
  border-color: white;
  width: 45%;
  min-width: 330px;
  max-width: 90%;
  height: fit-content;
}
body.home section.code-example div.non-code-features div.non-code-feature div {
  font-size: x-large;
  font-weight: bold;
  height: fit-content;
}
body.home section.code-example div.non-code-features div.non-code-feature p {
  font-size: large;
  height: fit-content;
}
body.home section.code-example div.non-code-features div.non-code-feature div::before {
  content: "";
  text-align: center;
  font-family: "Font Awesome 6 Free";
  font-weight: bold;
  font-size: x-large;
  color: hsl(185, 100%, 32%);
  padding-right: 1rem;
  height: fit-content;
}
body.home section.code-example div.non-code-features div.non-code-feature div.non-easy-icon::before {
  content: "\f5dc";
}
body.home section.code-example div.non-code-features div.non-code-feature div.non-fast-icon::before {
  content: "\f135";
}
body.home section.advantages {
  background-color: white;
}
body.home section.advantages ul {
  list-style: none;
  display: flex;
  flex-wrap: wrap;
  justify-content: space-between;
  padding: 0rem;
  margin: 0rem;
  margin-top: 1rem;
  gap: 35px;
}
body.home section.advantages ul li {
  display: flex;
  flex-direction: column;
  align-items: center;
  width: calc((950px - 35px) / 2);
  min-height: calc(0.9 * (950px - 35px) / 2);
  background-color: #f9fafb;
  border-radius: 20px;
  padding: 3rem 3rem 3rem 3rem;
  font-size: 1.3rem;
  line-height: 1.2;
}
body.home section.advantages ul li div.tile-content {
  color: black;
  padding: 20px 10px 10px 20px;
  width: 100%;
}
body.home section.advantages ul li div.tile-content .heading {
  color: hsl(185, 100%, 32%);
  height: 70px;
  padding-bottom: 20px;
  width: 100%;
  line-height: 1;
  font-size: 1.7rem;
  font-weight: 800;
}
body.home section.advantages ul li.technique-interfaces div.bg {
  background-position: top left;
}
body.home section.advantages ul li.technique-sync div.bg {
  background-position: top right;
}
body.home section.advantages ul li.technique-loose div.bg {
  background-position: bottom left;
}
body.home section.advantages ul li.technique-parallel div.bg {
  background-position: bottom right;
}
body.home section.social-proof {
  background: linear-gradient(to bottom, hsl(77, 58%, 44%), hsl(77, 58%, 62%));
  color: white;
}
body.home section.social-proof h2 {
  font-size: 3rem;
}
body.home section.social-proof ul {
  display: flex;
  flex-direction: row;
  justify-content: center;
  align-content: center;
  gap: 1rem 3.5rem;
  flex-wrap: wrap;
  padding: 0px;
  margin: 0px;
  width: 100%;
}
body.home section.social-proof ul li {
  display: flex;
  align-content: center;
  height: 4rem;
}
body.home section.social-proof ul li a {
  display: flex;
  flex-direction: column;
  justify-content: center;
  height: 100%;
}
body.home section.social-proof ul li a img {
  max-height: 3rem;
  max-width: 14rem;
}
body.home section.product div.twocol {
  display: flex;
  flex-direction: row;
  flex-wrap: wrap;
  gap: 2rem;
}
body.home section.product div.twocol div.showcase {
  flex: 2;
  text-align: center;
}
body.home section.product div.twocol div.showcase img {
  width: 100%;
}
body.home section.product div.twocol div.features {
  flex: 0.8;
  display: flex;
  flex-direction: column;
  justify-content: center;
  align-content: center;
}
body.home section.product div.twocol div.features ul {
  display: flex;
  flex-direction: column;
  gap: 1rem;
  list-style: none;
  padding-inline: 0rem;
  padding: 0rem;
  margin: 0rem;
}
body.home section.product div.twocol div.features ul li {
  margin-left: 0rem;
  padding: 0.75rem;
  color: white;
  background-color: hsl(185, 100%, 32%);
  text-align: center;
}
body.home section.product div.twocol div.features ul span.feature::before,
body.home section.product div.twocol div.features ul span.feature::after {
  content: "";
  text-align: center;
  font-family: "Font Awesome 6 Free";
  color: white;
  font-weight: bold;
  font-size: 1.5rem;
  padding-bottom: -0.1rem;
}
body.home section.product div.twocol div.features ul span.feature::before {
  padding-right: 1rem;
}
body.home section.product div.twocol div.features ul span.feature::after {
  padding-left: 1rem;
}
body.home section.product div.twocol div.features ul span.feature-fullsystem::before,
body.home section.product div.twocol div.features ul span.feature-fullsystem::after {
  content: "\f6ff";
}
body.home section.product div.twocol div.features ul span.feature-scalable::before,
body.home section.product div.twocol div.features ul span.feature-scalable::after {
  content: "\e4b7";
}
body.home section.product div.twocol div.features ul span.feature-fast::before,
body.home section.product div.twocol div.features ul span.feature-fast::after {
  content: "\f135";
}
body.home section.product div.twocol div.features ul span.feature-extensible::before,
body.home section.product div.twocol div.features ul span.feature-extensible::after {
  content: "\f12e";
}
body.home section.product div.twocol div.features ul span.feature-easy::before,
body.home section.product div.twocol div.features ul span.feature-easy::after {
  content: "\f5dc";
}
body.home section.product div.twocol div.features div.learnmore {
  margin-top: 1rem;
  text-align: center;
}
body.home section.product div.cta {
  margin: 2rem;
  display: flex;
  flex-direction: row;
  justify-content: center;
}
body.home section.product div.cta a.button-book {
  display: block;
  text-align: center;
  font-size: 1.2rem;
  font-weight: normal;
  font-family: "Exo 2", sans-serif;
  border: 2px hsl(18, 89%, 57%) solid;
  background-color: white;
  border-radius: 1em;
  color: hsl(18, 89%, 57%);
  padding: 0.75rem;
}
body.home section.product div.cta a.button-book:hover {
  box-shadow: inset 0 0 0 2px hsl(18, 89%, 57%);
}
body.home section.news {
  background: linear-gradient(to bottom, white, hsl(0, 0%, 90%));
  color: black;
}
body.home section.news div.news-slider {
  margin-left: 50px;
  margin-right: 50px;
}
body.home section.news button.slick-arrow {
  position: absolute;
  top: 30%;
  font-size: 2.5rem;
  cursor: pointer;
  background: none;
  border: none;
}
body.home section.news button.slick-disabled {
  color: black;
  cursor: default;
}
body.home section.news button.news-prev {
  left: -48px;
}
body.home section.news button.news-next {
  right: -48px;
}
body.home section.news div.news-item {
  position: relative;
  display: flex;
  flex-direction: column;
  justify-content: flex-start;
  gap: 10px;
  margin: 0rem 0.5rem;
  padding: 1rem;
  background-color: #f9fafb;
  border-radius: 20px;
  box-shadow: 0px 4px 8px rgba(0, 0, 0, 0.1);
  height: 18rem;
}
body.home section.news div.news-item div.date {
  color: #999;
}
body.home section.news div.news-item h3 {
  font-size: 1.2rem;
  font-weight: bold;
  font-size: 1.2rem;
  margin: 0;
  height: 2.5rem;
}
body.home section.news div.news-item div.text {
  line-height: 1.2;
}
@media screen and (max-width: 1024px) {
  body.home section.advantages ul {
    justify-content: center;
  }
  body.home section.product div.twocol {
    flex-direction: column;
  }
}
body.home article.home figure {
  margin: 0px;
  padding-top: 2em;
  padding-bottom: 2em;
}
body.home article.home figure img {
  width: 100%;
}
body.home article.home figure figcaption {
  text-align: center;
  padding-top: 0.5em;
  font-style: italic;
}

body.technology {
  /* changes for mobile layout */
}
body.technology h2 {
  text-align: center;
}
body.technology header.page-header {
  margin-bottom: 0px;
}
body.technology header.page-header div.container div.logo img {
  width: 300px;
  max-width: 100%;
  max-height: 300px;
}
body.technology section.research {
  background-color: white;
}
body.technology section.research div.container {
  display: flex;
  flex-wrap: wrap;
  gap: 2rem;
}
body.technology section.research div.container video {
  border-radius: 20px;
}
body.technology section.research div.container div {
  min-width: 34%;
}
body.technology section.research div.container div.block-40 {
  flex: 0.8;
}
body.technology section.research div.container div.block-50 {
  flex: 1;
}
body.technology section.research div.container div.block-60 {
  flex: 1.2;
}
@media screen and (max-width: 1024px) {
  body.technology section.research div.container {
    display: block;
  }
  body.technology section.research div.container div.research-text,
  body.technology section.research div.container div.research-figure {
    width: inherit;
  }
}
body.technology section.coder div.coder-card {
  text-align: center;
}
body.technology section.coder div.coder-card div h2 a {
  color: hsl(18, 89%, 57%);
}
body.technology section.features {
  background: linear-gradient(to bottom, hsl(77, 58%, 44%), hsl(77, 58%, 62%));
  color: white;
}
body.technology section.features ul {
  list-style: none;
  columns: 2;
  padding-inline: 0rem;
  padding: 0rem;
  margin: 0rem;
}
body.technology section.features ul li {
  margin-left: 2rem;
  padding: 2rem 0.5rem;
}
body.technology section.features ul li::before {
  position: absolute;
  content: "";
  text-align: center;
  font-family: "Font Awesome 6 Free";
  color: hsl(18, 89%, 57%);
  display: inline-block;
  width: 5rem;
  margin-left: -5rem;
  font-weight: bold;
  font-size: 2rem;
  padding-top: 0.5rem;
  line-height: 1rem;
}
body.technology section.features ul li.goal-endtoend::before {
  content: "\f6ff";
}
body.technology section.features ul li.goal-scalable::before {
  content: "\e4b7";
}
body.technology section.features ul li.goal-fast::before {
  /*content: "\f625"; spedometer */
  content: "\f135";
}
body.technology section.features ul li.goal-modular::before {
  content: "\f12e";
}
body.technology section.features ul li.goal-accurate::before {
  content: "\f140";
}
body.technology section.features ul li.goal-easy::before {
  content: "\f5dc";
}
body.technology section.techniques {
  background-color: white;
}
body.technology section.techniques ul {
  list-style: none;
  display: flex;
  flex-wrap: wrap;
  justify-content: space-between;
  padding: 0rem;
  margin: 0rem;
  margin-top: 1rem;
  gap: 35px;
}
body.technology section.techniques ul li {
  display: flex;
  flex-direction: column;
  align-items: center;
  width: calc((950px - 35px) / 2);
  min-height: calc(0.9 * (950px - 35px) / 2);
  background-color: #f9fafb;
  border-radius: 20px;
  padding: 3rem 3rem 3rem 3rem;
  font-size: 1.3rem;
  line-height: 1.2;
}
body.technology section.techniques ul li div.tile-content {
  color: black;
  padding: 20px 10px 10px 20px;
  width: 100%;
}
body.technology section.techniques ul li div.tile-content .heading {
  color: hsl(185, 100%, 32%);
  height: 70px;
  padding-bottom: 20px;
  width: 100%;
  line-height: 1;
  font-size: 1.7rem;
  font-weight: 800;
}
body.technology section.techniques ul li.technique-interfaces {
  background-position: top left;
}
body.technology section.techniques ul li.technique-sync {
  background-position: top right;
}
body.technology section.techniques ul li.technique-loose {
  background-position: bottom left;
}
body.technology section.techniques ul li.technique-parallel {
  background-position: bottom right;
}
body.technology section.news {
  background-color: white;
}
body.technology section.news div.news-slider {
  margin-left: 50px;
  margin-right: 50px;
}
body.technology section.news button.slick-arrow {
  position: absolute;
  top: 30%;
  font-size: 2.5rem;
  cursor: pointer;
  background: none;
  border: none;
}
body.technology section.news button.slick-disabled {
  color: hsl(90, 1%, 32%);
  cursor: default;
}
body.technology section.news button.news-prev {
  left: -48px;
}
body.technology section.news button.news-next {
  right: -48px;
}
body.technology section.news div.news-item {
  position: relative;
  margin: 0rem 0.25rem;
  padding: 0.75rem;
  border: 1px #ccc solid;
  height: 16rem;
}
body.technology section.news div.news-item div.date {
  position: absolute;
  top: 0.75rem;
  color: #999;
}
body.technology section.news div.news-item h3 {
  position: absolute;
  top: 1.25rem;
  padding-right: 0.75rem;
}
body.technology section.news div.news-item div.text {
  position: absolute;
  top: 4.5rem;
  padding-right: 0.75rem;
  color: #999;
  font-size: 1.1rem;
  line-height: 1.2;
}
@media screen and (max-width: 1024px) {
  body.technology section.features ul {
    columns: 1;
    padding-left: 2rem;
  }
  body.technology section.techniques ul {
    justify-content: center;
  }
}
body.technology article.technology figure {
  margin: 0px;
  padding-top: 2em;
  padding-bottom: 2em;
}
body.technology article.technology figure img {
  width: 100%;
}
body.technology article.technology figure figcaption {
  text-align: center;
  padding-top: 0.5em;
  font-style: italic;
}

section.coder {
  background: linear-gradient(to bottom, white, hsl(0, 0%, 90%));
  color: black;
}
section.coder .coder-card {
  border-radius: 20px;
  box-shadow: 0px 4px 8px rgba(0, 0, 0, 0.1);
  transition: 0.3s;
}
section.coder .coder-card img {
  border-radius: 8px;
}
section.coder .coder-card div {
  padding: 20px;
}
section.coder .coder-card a {
  color: black;
}
section.coder .coder-card a:hover {
  text-decoration: underline;
}
section.coder .coder-card:hover {
  box-shadow: 0px 8px 12px rgba(0, 0, 0, 0.1);
}

article.about div.grid {
  display: flex;
  flex-direction: row;
  flex-wrap: wrap;
  justify-content: left;
  width: 100%;
  gap: 100px;
}
@media screen and (max-width: 1024px) {
  article.about div.grid {
    justify-content: center;
  }
}
article.about div.grid div.grid-item {
  position: relative;
  width: 200px;
  height: 300px;
  text-align: center;
}
article.about div.grid div.grid-item div.flags {
  position: absolute;
  top: 140px;
  right: 10px;
}
article.about div.grid div.grid-item div.flags img {
  width: 40px;
  border-radius: 50%;
  margin-left: -10px;
}
article.about div.grid div.grid-item img.profile {
  width: 200px;
  border-radius: 50%;
}
article.about div.grid div.grid-item a, article.about div.grid div.grid-item a:visited, article.about div.grid div.grid-item a:hover, article.about div.grid div.grid-item a:active {
  color: inherit;
  text-decoration: none;
}
article.about div.grid div.grid-item h3 {
  margin-bottom: 0px;
}
article.about div.grid div.grid-item p.contact {
  margin: 0;
}
article.about div.grid div.grid-item p.contact a, article.about div.grid div.grid-item p.contact a:active {
  color: hsl(23, 85%, 62%);
  text-decoration: none;
  padding: 0rem 0.3rem;
}
article.about div.grid div.grid-item p.contact a::before, article.about div.grid div.grid-item p.contact a:active::before {
  font-size: 1.5rem;
  display: inline-block;
  content: "";
  font-weight: bold;
}
article.about div.grid div.grid-item p.contact a.email-button::before {
  font-family: "Font Awesome 6 Free";
  content: "\f0e0";
}
article.about div.grid div.grid-item p.contact a.linkedin-button::before {
  font-family: "Font Awesome 6 Brands";
  content: "\f08c";
}
article.about div.grid div.grid-item p.description {
  margin: 5px auto;
}
article.about div.grid div.grid-item p.pronouns {
  margin: 0px;
  color: hsl(90, 1%, 32%);
}
article.about section.get-in-touch {
  background-color: hsl(90, 1%, 32%);
  color: white;
}

body.project div.titlebar {
  background-color: hsl(185, 100%, 32%);
  color: white;
}

div.publist {
  padding-bottom: 20px;
}
div.publist h3 {
  margin-top: 20px;
  margin-bottom: 10px;
}
div.publist span.venue {
  font-style: italic;
}
div.publist span.award {
  font-weight: bold;
}
div.publist span.resources a, div.publist span.resources a:visited, div.publist span.resources a:hover, div.publist span.resources a:active {
  color: hsl(23, 85%, 62%);
}
div.publist span.resources a.res-paperpdf, div.publist span.resources a.res-paperpdf:active {
  text-decoration: none;
  font-size: 0;
}
div.publist span.resources a.res-paperpdf::before, div.publist span.resources a.res-paperpdf:active::before {
  font-size: 12pt;
  padding: 0rem 0.3rem;
  visibility: visible;
  content: "\f1c1";
  text-align: center;
  font-family: "Font Awesome 6 Free";
  font-weight: bold;
  text-decoration: none;
}
div.publist span.resources a.res-preprint, div.publist span.resources a.res-preprint:active {
  text-decoration: none;
  font-size: 0;
}
div.publist span.resources a.res-preprint::before, div.publist span.resources a.res-preprint:active::before {
  font-size: 12pt;
  padding: 0rem 0.3rem;
  visibility: visible;
  content: "\f573";
  text-align: center;
  font-family: "Font Awesome 6 Free";
  font-weight: bold;
  text-decoration: none;
}
div.publist span.resources a.res-video, div.publist span.resources a.res-video:active {
  text-decoration: none;
  font-size: 0;
}
div.publist span.resources a.res-video::before, div.publist span.resources a.res-video:active::before {
  font-size: 12pt;
  padding: 0rem 0.3rem;
  visibility: visible;
  content: "\f03d";
  text-align: center;
  font-family: "Font Awesome 6 Free";
  font-weight: bold;
  text-decoration: none;
}
div.publist span.resources a.res-audio, div.publist span.resources a.res-audio:active {
  text-decoration: none;
  font-size: 0;
}
div.publist span.resources a.res-audio::before, div.publist span.resources a.res-audio:active::before {
  font-size: 12pt;
  padding: 0rem 0.3rem;
  visibility: visible;
  content: "\f58f";
  text-align: center;
  font-family: "Font Awesome 6 Free";
  font-weight: bold;
  text-decoration: none;
}
div.publist span.resources a.res-artifact, div.publist span.resources a.res-artifact:active {
  text-decoration: none;
  font-size: 0;
}
div.publist span.resources a.res-artifact::before, div.publist span.resources a.res-artifact:active::before {
  font-size: 12pt;
  padding: 0rem 0.3rem;
  visibility: visible;
  content: "\f0c3";
  text-align: center;
  font-family: "Font Awesome 6 Free";
  font-weight: bold;
  text-decoration: none;
}
div.publist span.resources a.res-slides, div.publist span.resources a.res-slides:active {
  text-decoration: none;
  font-size: 0;
}
div.publist span.resources a.res-slides::before, div.publist span.resources a.res-slides:active::before {
  font-size: 12pt;
  padding: 0rem 0.3rem;
  visibility: visible;
  content: "\f5fd";
  text-align: center;
  font-family: "Font Awesome 6 Free";
  font-weight: bold;
  text-decoration: none;
}
div.publist span.resources a.res-poster, div.publist span.resources a.res-poster:active {
  text-decoration: none;
  font-size: 0;
}
div.publist span.resources a.res-poster::before, div.publist span.resources a.res-poster:active::before {
  font-size: 12pt;
  padding: 0rem 0.3rem;
  visibility: visible;
  content: "\f328";
  text-align: center;
  font-family: "Font Awesome 6 Free";
  font-weight: bold;
  text-decoration: none;
}

article.research div.project-block {
  position: relative;
  text-align: center;
  padding: 10px;
  box-shadow: 0px 4px 8px rgba(0, 0, 0, 0.1);
  border-radius: 20px;
}
article.research div.project-block div.people {
  position: absolute;
  top: 10px;
  right: 30px;
}
article.research div.project-block div.people img.profile {
  width: 40px;
  border-radius: 50%;
  /*margin-left: -20px;*/
}
article.research div.project-block div.logo {
  display: flex;
  align-items: center;
  justify-content: center;
  box-sizing: border-box;
  height: 100px;
  padding-bottom: 8px;
}
article.research div.project-block div.logo img.logo {
  height: 100%;
  max-width: 200px;
}
article.research div.project-block div.description {
  height: 100px;
  width: 350px;
  margin: 0 auto;
  text-align: left;
}
article.research div.project-block div.description h3 {
  /*text-align: center;*/
  margin: 5px 0px;
}
article.research div.project-block div.description p {
  text-align: left;
  margin: 0px;
}
article.research div.project-block div.link a {
  color: hsl(18, 89%, 57%);
  font-weight: bold;
  text-decoration: none;
}
article.research div.projects {
  display: flex;
  flex-direction: row;
  flex-wrap: wrap;
  gap: 30px;
  margin-top: 30px;
  justify-content: space-between;
  /* filler to get bottom row to align left */
}
article.research div.projects:after {
  content: "";
  flex: auto;
}
@media screen and (max-width: 1024px) {
  article.research div.projects:after {
    display: none;
  }
}
article.research div.projects div.project-block {
  flex: 0 1 48%;
  margin: 0 auto;
}
article.research div.projects div.project-block div.description {
  height: 130px;
  width: 320px;
  padding: 0px 20px;
}
article.research div.projects div.project-block div.link {
  text-align: left;
  padding-left: 20px;
}
article.research section.call {
  background-color: hsl(90, 1%, 32%);
  color: white;
}

hr.divider-most-recent {
  width: 950px;
  color: hsl(185, 100%, 32%);
}

article.blog div.most-recent-post-block-container {
  width: 100%;
}
article.blog div.most-recent-post-block-container div.most-recent-post-block {
  display: flex;
  flex-wrap: wrap;
  flex-direction: row;
  align-items: center;
  justify-content: center;
  border-radius: 20px;
  border: 1px solid hsl(0, 0%, 96%);
  box-shadow: 1px 1px 4px hsl(0, 0%, 96%);
  max-width: 100%;
  width: fit-content;
  height: fit-content;
}
article.blog div.most-recent-post-block-container div.most-recent-post-block a {
  overflow: hidden;
  border-radius: 20px;
  width: calc(950px / 2 - 10px);
}
article.blog div.most-recent-post-block-container div.most-recent-post-block a img {
  width: 100%;
  border-radius: 20px;
  object-fit: cover;
}
article.blog div.most-recent-post-block-container div.most-recent-post-block a img:hover {
  transform: scale(1.1);
  transition: transform 0.3s ease-in-out;
}
article.blog div.most-recent-post-block-container div.most-recent-post-block div.most-recent-post-block-content {
  width: calc(950px / 2 - 20px);
  margin-left: 10px;
  margin-right: 10px;
  padding: 10px;
}
article.blog div.most-recent-post-block-container div.most-recent-post-block div.most-recent-post-block-content div.description div.title {
  color: black;
  font-size: x-large;
  font-weight: bold;
}
article.blog div.most-recent-post-block-container div.most-recent-post-block div.most-recent-post-block-content div.link-author-container {
  display: flex;
  flex-wrap: wrap;
  flex-direction: row;
  justify-content: space-between;
  align-items: center;
}
article.blog div.most-recent-post-block-container div.most-recent-post-block div.most-recent-post-block-content div.link-author-container div.link a:hover {
  text-decoration: underline;
}
article.blog div.most-recent-post-block-container div.most-recent-post-block div.most-recent-post-block-content div.link-author-container div.people {
  display: flex;
  flex-direction: row;
  gap: 10px;
}
article.blog div.most-recent-post-block-container div.most-recent-post-block div.most-recent-post-block-content div.link-author-container div.people p {
  color: gray;
}
article.blog div.most-recent-post-block-container div.most-recent-post-block div.most-recent-post-block-content div.link-author-container div.people img.profile {
  width: 50px;
  border-radius: 50%;
}
article.blog div.older-posts {
  display: flex;
  flex-direction: row;
  flex-wrap: wrap;
  justify-content: center;
  align-items: center;
  gap: 20px;
}
article.blog div.older-posts div.post-block {
  width: calc(950px / 3 - 20px);
  max-width: 90%;
  display: flex;
  flex-direction: column;
  border-radius: 20px;
  border: 1px solid hsl(0, 0%, 96%);
  box-shadow: 1px 1px 4px hsl(0, 0%, 96%);
  overflow: hidden;
}
article.blog div.older-posts div.post-block a {
  overflow: hidden;
}
article.blog div.older-posts div.post-block a img {
  width: 100%;
  border-radius: 20px;
  object-fit: cover;
}
article.blog div.older-posts div.post-block a img:hover {
  transform: scale(1.1);
  transition: transform 0.3s ease-in-out;
}
article.blog div.older-posts div.post-block div.post-block-content {
  display: flex;
  flex-wrap: wrap;
  flex-direction: column;
  justify-content: space-between;
  overflow: hidden;
  height: 240px;
  padding: 10px;
}
article.blog div.older-posts div.post-block div.post-block-content div.link-author-container {
  display: flex;
  flex-direction: row;
  justify-content: space-between;
  align-items: center;
}
article.blog div.older-posts div.post-block div.post-block-content div.link-author-container div.link a:hover {
  text-decoration: underline;
}
article.blog div.older-posts div.post-block div.post-block-content div.link-author-container div.people {
  display: flex;
  flex-direction: row;
  gap: 10px;
}
article.blog div.older-posts div.post-block div.post-block-content div.link-author-container div.people p {
  color: gray;
}
article.blog div.older-posts div.post-block div.post-block-content div.link-author-container div.people img.profile {
  width: 50px;
  border-radius: 50%;
}
article.blog div.older-posts div.post-block div.post-block-content div.description {
  text-align: left;
}
article.blog div.older-posts div.post-block div.post-block-content div.description div.title {
  color: black;
  font-size: large;
  font-weight: bold;
}
article.blog div.posts {
  display: flex;
  flex-direction: row;
  flex-wrap: wrap;
  gap: 30px;
  margin-top: 30px;
  justify-content: center;
  /* filler to get bottom row to align left */
}
article.blog div.posts:after {
  content: "";
  flex: auto;
}
@media screen and (max-width: 1024px) {
  article.blog div.posts:after {
    display: none;
  }
}
article.blog section.call {
  background-color: hsl(90, 1%, 32%);
  color: white;
}

article.blog-post div.post-meta {
  margin-bottom: 2rem;
  text-align: right;
}
article.blog-post div.post-meta img.profile {
  width: 40px;
  border-radius: 50%;
}
article.blog-post div.disclaimer-card {
  margin: 0.5rem;
  padding: 0.2rem 0.5rem;
  text-align: center;
  border-radius: 0.5rem;
  box-shadow: 0px 4px 8px rgba(0, 0, 0, 0.1);
}
article.blog-post div.disclaimer-card p::before {
  font-family: "Font Awesome 6 Free";
  font-weight: bold;
  font-size: x-large;
  color: hsl(185, 100%, 32%);
  padding-right: 0.5rem;
  content: "⚠";
}
article.blog-post pre.highlight {
  font-size: 0.9rem;
  background-color: #f6f8fa;
  padding: 16px;
  overflow-x: auto;
}
article.blog-post div.call-to-action {
  margin-top: 2rem;
  border-radius: 8px;
}
article.blog-post div.call-to-action a {
  font-family: "Exo 2", sans-serif;
  font-weight: normal;
  border-radius: 0.5em;
  color: white;
  padding: 8px;
}
article.blog-post div.call-to-action a.green {
  background-color: hsl(77, 58%, 44%);
}
article.blog-post div.call-to-action a.green:hover {
  background-color: hsl(77, 58%, 38%);
}
article.blog-post div.call-to-action a.orange {
  background-color: hsl(18, 89%, 63%);
}
article.blog-post div.call-to-action a.orange:hover {
  background-color: hsl(18, 89%, 57%);
}
article.blog-post div.blog-content img {
  display: block;
  max-width: 90%;
  margin: 0 auto;
}
article.blog-post div.blog-content p,
article.blog-post div.blog-content ol,
article.blog-post div.blog-content ul {
  font-size: 1.2rem;
  line-height: 1.5;
}
article.blog-post div.blog-content p a,
article.blog-post div.blog-content ol a,
article.blog-post div.blog-content ul a {
  font-weight: normal;
}
article.blog-post div.blog-content p code,
article.blog-post div.blog-content ol code,
article.blog-post div.blog-content ul code {
  font-size: 1rem;
  background-color: rgba(175, 184, 193, 0.2);
  padding: 0px 4px;
}

.highlight { /* Comment */
  /* Error */
  /* Keyword */
  /* Operator */
  /* Comment.Multiline */
  /* Comment.Preproc */
  /* Comment.Single */
  /* Comment.Special */
  /* Generic.Deleted */
  /* Generic.Deleted.Specific */
  /* Generic.Emph */
  /* Generic.Error */
  /* Generic.Heading */
  /* Generic.Inserted */
  /* Generic.Inserted.Specific */
  /* Generic.Output */
  /* Generic.Prompt */
  /* Generic.Strong */
  /* Generic.Subheading */
  /* Generic.Traceback */
  /* Keyword.Constant */
  /* Keyword.Declaration */
  /* Keyword.Pseudo */
  /* Keyword.Reserved */
  /* Keyword.Type */
  /* Literal.Number */
  /* Literal.String */
  /* Name.Attribute */
  /* Name.Builtin */
  /* Name.Class */
  /* Name.Constant */
  /* Name.Entity */
  /* Name.Exception */
  /* Name.Function */
  /* Name.Namespace */
  /* Name.Tag */
  /* Name.Variable */
  /* Operator.Word */
  /* Text.Whitespace */
  /* Literal.Number.Float */
  /* Literal.Number.Hex */
  /* Literal.Number.Integer */
  /* Literal.Number.Oct */
  /* Literal.String.Backtick */
  /* Literal.String.Char */
  /* Literal.String.Doc */
  /* Literal.String.Double */
  /* Literal.String.Escape */
  /* Literal.String.Heredoc */
  /* Literal.String.Interpol */
  /* Literal.String.Other */
  /* Literal.String.Regex */
  /* Literal.String.Single */
  /* Literal.String.Symbol */
  /* Name.Builtin.Pseudo */
  /* Name.Variable.Class */
  /* Name.Variable.Global */
  /* Name.Variable.Instance */
  /* Literal.Number.Integer.Long */
}
.highlight .c {
  color: #999988;
  font-style: italic;
}
.highlight .err {
  color: #a61717;
  background-color: #e3d2d2;
}
.highlight .k {
  font-weight: bold;
}
.highlight .o {
  font-weight: bold;
}
.highlight .cm {
  color: #999988;
  font-style: italic;
}
.highlight .cp {
  color: #999999;
  font-weight: bold;
}
.highlight .c1 {
  color: #999988;
  font-style: italic;
}
.highlight .cs {
  color: #999999;
  font-weight: bold;
  font-style: italic;
}
.highlight .gd {
  color: #000000;
  background-color: #ffdddd;
}
.highlight .gd .x {
  color: #000000;
  background-color: #ffaaaa;
}
.highlight .ge {
  font-style: italic;
}
.highlight .gr {
  color: #aa0000;
}
.highlight .gh {
  color: #999999;
}
.highlight .gi {
  color: #000000;
  background-color: #ddffdd;
}
.highlight .gi .x {
  color: #000000;
  background-color: #aaffaa;
}
.highlight .go {
  color: #888888;
}
.highlight .gp {
  color: #555555;
}
.highlight .gs {
  font-weight: bold;
}
.highlight .gu {
  color: #aaaaaa;
}
.highlight .gt {
  color: #aa0000;
}
.highlight .kc {
  font-weight: bold;
}
.highlight .kd {
  font-weight: bold;
}
.highlight .kp {
  font-weight: bold;
}
.highlight .kr {
  font-weight: bold;
}
.highlight .kt {
  color: #445588;
  font-weight: bold;
}
.highlight .m {
  color: #009999;
}
.highlight .s {
  color: #d14;
}
.highlight .na {
  color: #008080;
}
.highlight .nb {
  color: #0086B3;
}
.highlight .nc {
  color: #445588;
  font-weight: bold;
}
.highlight .no {
  color: #008080;
}
.highlight .ni {
  color: #800080;
}
.highlight .ne {
  color: #990000;
  font-weight: bold;
}
.highlight .nf {
  color: #990000;
  font-weight: bold;
}
.highlight .nn {
  color: #555555;
}
.highlight .nt {
  color: #000080;
}
.highlight .nv {
  color: #008080;
}
.highlight .ow {
  font-weight: bold;
}
.highlight .w {
  color: #bbbbbb;
}
.highlight .mf {
  color: #009999;
}
.highlight .mh {
  color: #009999;
}
.highlight .mi {
  color: #009999;
}
.highlight .mo {
  color: #009999;
}
.highlight .sb {
  color: #d14;
}
.highlight .sc {
  color: #d14;
}
.highlight .sd {
  color: #d14;
}
.highlight .s2 {
  color: #d14;
}
.highlight .se {
  color: #d14;
}
.highlight .sh {
  color: #d14;
}
.highlight .si {
  color: #d14;
}
.highlight .sx {
  color: #d14;
}
.highlight .sr {
  color: #009926;
}
.highlight .s1 {
  color: #d14;
}
.highlight .ss {
  color: #990073;
}
.highlight .bp {
  color: #999999;
}
.highlight .vc {
  color: #008080;
}
.highlight .vg {
  color: #008080;
}
.highlight .vi {
  color: #008080;
}
.highlight .il {
  color: #009999;
}

div.demo-heading {
  padding-bottom: 3rem;
}
div.demo-heading .demo-heading-video-container .demo-heading-video {
  width: 100%;
  border-radius: 20px;
  box-shadow: 0px 4px 8px rgba(0, 0, 0, 0.1);
}

/*# sourceMappingURL=main.css.map */