/*@import "superkube/core";
@import "superkube/vars/scales";
@import "superkube/modules/nav";
@import "superkube/modules/navbar";
*/
html {
  box-sizing: border-box; }

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

* {
  margin: 0;
  padding: 0;
  outline: 0;
  -webkit-overflow-scrolling: touch; }

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

img,
video {
  height: auto; }

svg {
  max-height: 100%; }

iframe {
  border: none; }

::-moz-focus-inner {
  border: 0;
  padding: 0; }

body {
  margin: 0;
  padding: 0; }

button,
.button {
  font-family: Arial, "Helvetica Neue", Helvetica, sans-serif;
  font-size: 15px;
  color: #fff;
  background-color: #1c86f2;
  border-radius: 3px;
  min-height: 40px;
  padding: 8px 20px;
  font-weight: 500;
  text-decoration: none;
  cursor: pointer;
  display: inline-block;
  line-height: 20px;
  border: 2px solid transparent;
  vertical-align: middle;
  -webkit-appearance: none; }

button i,
.button i {
  position: relative;
  top: 1px;
  margin: 0 2px; }

input[type="submit"] {
  width: auto; }

button:hover,
.button:hover {
  outline: none;
  text-decoration: none;
  color: #fff;
  background-color: #f03c69; }

.button:disabled,
.button.disabled {
  cursor: default;
  font-style: normal;
  color: rgba(255, 255, 255, 0.7);
  background-color: #1c86f2; }

.button.small {
  font-size: 13px;
  min-height: 36px;
  padding: 6px 20px;
  border-radius: 3px; }

.button.big {
  font-size: 17px;
  min-height: 48px;
  padding: 13px 24px;
  border-radius: 3px; }

.button.large {
  font-size: 19px;
  min-height: 56px;
  padding: 20px 36px;
  border-radius: 3px; }

.button.outline {
  background: none;
  border-width: 2px;
  border-color: #1c86f2;
  color: #1c86f2; }

.button.outline:hover {
  background: #f03c69;
  color: white;
  border-color: #f03c69; }

.button.outline:disabled, .button.outline.disabled {
  background: none;
  color: #1c86f2;
  border-color: #1c86f2; }

.button.inverted {
  color: #000;
  background-color: #fff; }

.button.inverted:hover {
  color: #000;
  background-color: white; }

.button.inverted:disabled, .button.inverted.disabled {
  color: rgba(0, 0, 0, 0.7);
  background-color: rgba(255, 255, 255, 0.7); }

.button.inverted.outline {
  background: none;
  color: #fff;
  border-color: #fff; }

.button.inverted.outline:hover {
  color: rgba(255, 255, 255, 0.6);
  border-color: rgba(255, 255, 255, 0.5); }

.button.inverted.outline:disabled, .button.inverted.outline.disabled {
  background: none;
  color: rgba(255, 255, 255, 0.7);
  border-color: rgba(255, 255, 255, 0.5); }

.button.inverted:hover {
  opacity: .7; }

.button.round {
  border-radius: 56px; }

.button.raised {
  box-shadow: 0 1px 3px rgba(0, 0, 0, 0.3); }

.button.upper {
  text-transform: uppercase;
  letter-spacing: .04em;
  font-size: 13px; }

.button.upper.small {
  font-size: 11px; }

.button.upper.big {
  font-size: 13px; }

.button.upper.large {
  font-size: 15px; }

.button.secondary {
  color: #fff;
  background-color: #313439; }

.button.secondary:hover {
  color: #fff;
  background-color: #606670; }

.button.secondary:disabled, .button.secondary.disabled {
  color: rgba(255, 255, 255, 0.7);
  background-color: rgba(49, 52, 57, 0.7); }

.button.secondary.outline {
  background: none;
  color: #313439;
  border-color: #313439; }

.button.secondary.outline:hover {
  color: rgba(49, 52, 57, 0.6);
  border-color: rgba(49, 52, 57, 0.5); }

.button.secondary.outline:disabled, .button.secondary.outline.disabled {
  background: none;
  color: rgba(49, 52, 57, 0.7);
  border-color: rgba(49, 52, 57, 0.5); }

.label {
  display: inline-block;
  font-size: 13px;
  background: #e0e1e1;
  line-height: 18px;
  padding: 0 10px;
  font-weight: 500;
  color: #313439;
  border: 1px solid transparent;
  vertical-align: middle;
  text-decoration: none;
  border-radius: 4px; }

.label a,
.label a:hover {
  color: inherit;
  text-decoration: none; }

.label.big {
  font-size: 14px;
  line-height: 24px;
  padding: 0 12px; }

.label.upper {
  text-transform: uppercase;
  font-size: 11px; }

.label.outline {
  background: none;
  border-color: #bdbdbd; }

.label.badge {
  text-align: center;
  border-radius: 64px;
  padding: 0 6px; }

.label.badge.big {
  padding: 0 8px; }

.label.tag {
  padding: 0;
  background: none;
  border: none;
  text-transform: uppercase;
  font-size: 11px; }

.label.tag.big {
  font-size: 13px; }

.label.success {
  background: #35beb1;
  color: #fff; }

.label.success.tag, .label.success.outline {
  background: none;
  border-color: #35beb1;
  color: #35beb1; }

.label.error {
  background: #35beb1;
  color: #fff; }

.label.error.tag, .label.error.outline {
  background: none;
  border-color: #35beb1;
  color: #35beb1; }

.label.warning {
  background: #f7ba45;
  color: #0d0d0e; }

.label.warning.tag, .label.warning.outline {
  background: none;
  border-color: #f7ba45;
  color: #f7ba45; }

.label.focus {
  background: #1c86f2;
  color: #fff; }

.label.focus.tag, .label.focus.outline {
  background: none;
  border-color: #1c86f2;
  color: #1c86f2; }

.label.black {
  background: #0d0d0e;
  color: #fff; }

.label.black.tag, .label.black.outline {
  background: none;
  border-color: #0d0d0e;
  color: #0d0d0e; }

.label.inverted {
  background: #fff;
  color: #0d0d0e; }

.label.inverted.tag, .label.inverted.outline {
  background: none;
  border-color: #fff;
  color: #fff; }

ul#main-nav {
  transition: max-height .2s ease-out; }

.home .header {
  margin-bottom: 0; }

.navbar {
  --navbar-height: none; }

.header {
  border-bottom: 1px solid #eee;
  margin-bottom: 24px;
  /*background-color: #fff;
  box-shadow: 1px 1px 4px 0 rgba(0,0,0,.1);
  */
  width: 100%;
  z-index: 3;
  display: flex;
  align-items: stretch;
  justify-content: flex-start;
  flex-wrap: wrap; }
  .header .logo {
    color: #000;
    font-size: 2em;
    text-decoration: none;
    align-self: center; }
    .header .logo img {
      height: 100%;
      display: block;
      top: 0;
      bottom: 0;
      margin: 20px;
      height: 32px; }
      .header .logo img:hover {
        background-image: url("/images/logo22sel2.png"); }
    .header .logo:hover {
      background-color: #f4f4f4; }

.header ul.menu {
  margin: 0;
  padding: 0;
  list-style: none;
  overflow: hidden;
  background-color: #fff;
  flex-basis: 100%;
  align-items: end;
  display: flex;
  flex-direction: column;
  max-height: 0;
  transition: max-height .2s ease-out; }

.header ul.menu li {
  border-top: 1px solid #f4f4f4;
  border-image: linear-gradient(90deg, #fff, #fff, #f4f4f4) 1;
  width: 100%;
  text-align: right; }

.header ul.menu li a {
  display: block;
  padding: 20px 20px;
  white-space: nowrap;
  text-decoration: none;
  color: #333;
  font-size: 16px;
  font-weight: bold; }
  .header ul.menu li a:hover {
    background-color: #f4f4f4;
    color: #333;
    color: #f03c69; }

/* Menu Icon */
.menu-icon {
  cursor: pointer;
  padding: 20px 20px;
  margin: 15px 0;
  user-select: none;
  position: relative;
  align-self: end;
  margin-left: auto; }
  .menu-icon .navicon {
    background: #333;
    display: block;
    height: 2px;
    position: relative;
    transition: background .2s ease-out;
    width: 18px; }
    .menu-icon .navicon::before, .menu-icon .navicon::after {
      background: #333;
      content: '';
      display: block;
      height: 100%;
      position: absolute;
      transition: all .2s ease-out;
      width: 100%; }
    .menu-icon .navicon::before {
      top: 5px; }
    .menu-icon .navicon::after {
      top: -5px; }

#menu-btn {
  display: none;
  /* Toggle menu icon */ }
  #menu-btn:checked ~ .menu {
    max-height: 100%; }
  #menu-btn:checked ~ .menu-icon .navicon {
    background: transparent; }
  #menu-btn:checked ~ .menu-icon .navicon::before {
    transform: rotate(-45deg);
    top: 0; }
  #menu-btn:checked ~ .menu-icon .navicon::after {
    transform: rotate(45deg);
    top: 0; }
  #menu-btn:hover {
    background-color: #f4f4f4; }

.navbar-brand img {
  margin-left: 20px;
  width: 48px;
  vertical-align: middle; }

.flex-break {
  flex-basis: 100%;
  height: 0; }

@media (max-width: 768px) {
  .hidden-sm {
    display: none; }
  .visible-sm {
    display: block; } }

@media (min-width: 769px) {
  .header .flex-break {
    display: none; }
  .header ul.menu {
    display: flex;
    flex-direction: row;
    flex-wrap: nowrap;
    justify-content: space-between;
    flex-basis: auto;
    margin-left: auto;
    max-height: none; }
    .header ul.menu li {
      border-top: 0;
      border-right: 1px solid #f4f4f4; }
      .header ul.menu li a {
        padding: 20px 20px; }
  .menu-icon {
    display: none; } }

header.show-breadcrumbs a.logo {
  display: none; }

header.show-breadcrumbs ul.breadcrumbs {
  margin-left: 20px; }

.header ul.breadcrumbs {
  margin: 0;
  padding: 0;
  list-style: none;
  display: flex;
  flex-direction: row;
  flex-wrap: wrap;
  align-self: center; }
  .header ul.breadcrumbs.hide-breadcrumbs {
    display: none; }

.header ul.breadcrumbs a {
  padding: 0 10px;
  text-decoration: none;
  font-size: 0.8em; }
  .header ul.breadcrumbs a:hover {
    text-decoration: underline;
    color: #f03c69; }

.header .breadcrumbs li {
  white-space: nowrap; }

.header .breadcrumbs li::after {
  content: '>';
  color: #aaa; }

.header .breadcrumbs li:last-child::after {
  content: ''; }

/*
  PAGINATION
*/
.pagination {
  margin: 0;
  font-size: 14px; }
  .pagination hr {
    margin-bottom: 28px; }
  .pagination ul {
    display: flex;
    margin: 0;
    list-style: none; }
  .pagination.align-center ul {
    justify-content: center;
    align-items: center; }
  .pagination span, .pagination a {
    border-radius: 3px;
    display: inline-block;
    white-space: wrap; }
  .pagination a {
    text-decoration: none;
    color: #3794de; }
    .pagination a:hover {
      background-color: #f03c69;
      color: white;
      border: 2px solid #f03c69;
      text-decoration: none; }
  .pagination span, .pagination li.active a {
    color: rgba(0, 0, 0, 0.5);
    cursor: text; }
  .pagination.upper {
    font-size: 12px; }

.pager span {
  line-height: 24px; }

.pager span,
.pager a {
  padding-left: 16px;
  padding-right: 16px;
  border-radius: 64px;
  border-color: rgba(0, 0, 0, 0.1); }

.pager li {
  flex-basis: 50%; }
  .pager li.next {
    text-align: right; }

.pager:not(.flat) li.next a,
.pager:not(.flat) li.prev a {
  line-height: 20px;
  padding: 6px 20px;
  border: 2px solid #3794de;
  border-radius: 56px;
  color: #3794de; }
  .pager:not(.flat) li.next a:hover,
  .pager:not(.flat) li.prev a:hover {
    background-color: #f03c69;
    border-color: #f03c69;
    color: white; }

.pager.align-center li {
  flex-basis: auto;
  margin-left: 4px;
  margin-right: 4px; }

.pager.flat span,
.pager.flat a {
  border: none;
  display: block;
  padding: 0; }

.pager.flat a {
  font-weight: bold; }

.pager.flat a:hover {
  background: none;
  color: #f03c69; }

@media (max-width: 300px) {
  .pager.flat ul {
    flex-direction: column; }
  .pager.flat li {
    flex-basis: 100%;
    margin-bottom: 8px; } }

body .container {
  display: grid;
  height: 100vh;
  grid-template-rows: auto 1fr auto; }

body {
  font-family: Lato, Arial, sans-serif; }

html,
body {
  font-size: 16px;
  line-height: 24px; }

@media (max-width: 768px) {
  body .content {
    font-size: 16px;
    line-height: 24px; }
    body .content h2 {
      font-size: 22px; }
    body .content h3 {
      font-size: 22px; } }

body {
  color: #313439;
  background-color: transparent; }

h1.title, h1, h2, h3, h4, h5, h6, .h1, .h2, .h3, .h4, .h5, .h6 {
  font-family: Lato, Arial, sans-serif;
  font-weight: bold;
  color: #0d0d0e;
  text-rendering: optimizeLegibility;
  margin-bottom: 16px; }

h1.title {
  font-size: 60px;
  line-height: 64px;
  margin-bottom: 8px; }

h1.title {
  font-size: 60px;
  line-height: 64px;
  margin-bottom: 8px; }

h1,
.h1 {
  font-size: 48px;
  line-height: 52px; }

h2,
.h2 {
  font-size: 36px;
  line-height: 40px; }

h3,
.h3 {
  font-size: 24px;
  line-height: 32px; }

h4,
.h4 {
  font-size: 21px;
  line-height: 32px; }

h5,
.h5 {
  font-size: 18px;
  line-height: 28px; }

h6,
.h6 {
  font-size: 16px;
  line-height: 24px; }

h1 a, .h1 a,
h2 a, .h2 a,
h3 a, .h3 a,
h4 a, .h4 a,
h5 a, .h5 a,
h6 a, .h6 a {
  color: inherit; }

p + h2,
p + h3,
p + h4,
p + h5,
p + h6,
ul + h2,
ul + h3,
ul + h4,
ul + h5,
ul + h6,
ol + h2,
ol + h3,
ol + h4,
ol + h5,
ol + h6,
dl + h2,
dl + h3,
dl + h4,
dl + h5,
dl + h6,
blockquote + h2,
blockquote + h3,
blockquote + h4,
blockquote + h5,
blockquote + h6,
hr + h2,
hr + h3,
hr + h4,
hr + h5,
hr + h6,
pre + h2,
pre + h3,
pre + h4,
pre + h5,
pre + h6,
table + h2,
table + h3,
table + h4,
table + h5,
table + h6,
form + h2,
form + h3,
form + h4,
form + h5,
form + h6,
figure + h2,
figure + h3,
figure + h4,
figure + h5,
figure + h6 {
  margin-top: 24px; }

ul,
ul ul,
ul ol,
ol,
ol ul,
ol ol {
  margin: 0 0 0 24px; }

ol ol li {
  list-style-type: lower-alpha; }

ol ol ol li {
  list-style-type: lower-roman; }

nav ul,
nav ol {
  margin: 0;
  list-style: none; }

nav ul ul,
nav ul ol,
nav ol ul,
nav ol ol {
  margin-left: 24px; }

button, .button {
  font-family: Lato, Arial, sans-serif; }

h1, h2, h3, h4, h5, h6 {
  color: #222; }

.hero {
  padding-top: 48px;
  padding-bottom: 56px;
  text-align: center;
  padding-left: 20px;
  padding-right: 20px; }
  .hero h1 {
    max-width: 880px;
    margin-left: auto;
    margin-right: auto;
    margin-bottom: 12px;
    font-size: 64px;
    line-height: 72px;
    font-weight: 900; }
  .hero p {
    max-width: 540px;
    margin: auto;
    font-size: 22px;
    line-height: 28px;
    color: rgba(0, 0, 0, 0.5);
    margin-top: 28px;
    margin-bottom: 12px;
    position: relative;
    /*a {
      color: #000; 
      &:hover {
        color: #f03c69;//rgba(0, 0, 0, 0.6); 
      }
    }*/ }
    .hero p a {
      font-size: 18px;
      text-decoration: none; }
      .hero p a:hover {
        text-decoration: underline; }
    .hero p.hr-line:before {
      position: absolute;
      content: '';
      width: 40px;
      height: 3px;
      top: 0;
      left: 50%;
      margin-left: -20px;
      background: #ff3366; }

@media (max-width: 768px) {
  #top {
    display: block;
    height: auto;
    padding-bottom: 24px; }
  #top ul {
    display: block; }
  #top #top-brand {
    display: none; }
  #top #top-nav-main {
    padding: 0;
    border: none; }
  #top #top-nav-extra {
    margin: 0; }
  #top #top-nav-main li,
  #top #top-nav-extra li {
    text-align: center;
    width: auto;
    margin: 16px 0;
    padding: 0; }
  #subnav li,
  #subnav ul li {
    text-align: center;
    border: none;
    display: block;
    margin: 16px 0; }
  #hero {
    margin-top: 32px;
    padding-top: 0;
    padding-left: 20px;
    padding-right: 20px; }
  #hero h1 {
    font-size: 40px;
    line-height: 48px; }
  #hero p {
    font-size: 16px;
    line-height: 24px; }
  .posts,
  #main {
    padding-left: 20px;
    padding-right: 20px; }
  #action-buttons .button,
  #action-buttons button {
    margin: 8px 0; }
  #footer {
    display: block;
    text-align: center; }
  #footer nav ul {
    display: block;
    margin-bottom: 40px; }
  #footer nav ul li {
    margin: 8px 0; }
  #grafs-features ul {
    margin-bottom: 24px; }
  #grafs-features ul.br {
    border: none; }
  #grafs-features ul.br li,
  #grafs-features ul li {
    text-align: center; }
  .grafs-call-to-action p {
    font-size: 20px;
    line-height: 32px; }
  #docs-main {
    display: block; }
  #docs-main #side,
  #docs-main #area {
    width: 100%;
    padding: 20px 0;
    border: none; }
  .grafs-examples-row {
    flex-direction: column; }
  .grafs-examples-col {
    width: 100%;
    margin: 0;
    margin-bottom: 20px; }
  #price-box .item-selected {
    margin-top: 24px;
    top: 0; } }

.content {
  max-width: 680px;
  margin: auto;
  font-size: 17px;
  line-height: 28px; }
  .content.tutorial {
    max-width: 720px; }
  .content h2 {
    font-size: 28px;
    font-weight: 900;
    line-height: 32px;
    margin-top: 40px;
    margin-bottom: 20px;
    overflow-wrap: anywhere; }
  .content h3 {
    overflow-wrap: anywhere; }
  .content ol li, .content ul li {
    padding-left: 4px;
    margin-bottom: 8px; }
  .content .nav ol li, .content nav ul li {
    padding-left: 0;
    margin-bottom: 0; }

.posts {
  list-style: none;
  margin: auto;
  margin-top: 48px;
  margin-bottom: 128px;
  max-width: 680px;
  text-align: center; }

.posts h2 {
  font-size: 22px;
  font-weight: normal;
  margin: 0;
  line-height: 28px; }

a {
  color: #3794de; }

a:hover {
  color: #f03c69;
  text-decoration: underline; }

/** from kube.css */
pre, code, samp, var, kbd {
  font-family: Consolas, Monaco, "Courier New", monospace; }

pre, code, samp, var, kbd, mark {
  font-size: 87.5%; }

pre,
pre code {
  background: transparent;
  /*#f8f8f8;*/
  padding: 0;
  top: 0;
  display: block;
  line-height: 20px;
  /*color: rgba(49, 52, 57, 0.85);*/
  overflow: none;
  white-space: pre-wrap;
  font-weight: 500; }

pre {
  padding: 1rem; }

figcaption {
  opacity: .6; }

figure figcaption {
  position: relative;
  top: -1rem/2; }

figure pre {
  background: none;
  border: 1px solid rgba(0, 0, 0, 0.1);
  border-radius: 4px; }

blockquote {
  /*padding-left: 1rem;
  border-left: 4px solid rgba(0, 0, 0, 0.1);
  font-style: italic;*/
  color: rgba(49, 52, 57, 0.65);
  padding: 16px 64px 4px;
  margin: 32px 0px 44px;
  border-top: 2px solid rgba(0, 0, 0, 0.1);
  border-bottom: 2px solid rgba(0, 0, 0, 0.1);
  text-align: center;
  font-style: italic; }
  blockquote p {
    margin-bottom: .5rem; }

.time, time, cite, small, figcaption {
  font-size: 87.5%; }

table {
  border-collapse: collapse;
  border-spacing: 0;
  max-width: 100%;
  width: 100%;
  empty-cells: show;
  font-size: 15px;
  line-height: 24px; }

table caption {
  text-align: left;
  font-size: 14px;
  font-weight: 500;
  color: #676b72; }

th {
  text-align: left;
  font-weight: 700;
  vertical-align: bottom; }

td {
  vertical-align: top; }

tr.align-middle td,
td.align-middle {
  vertical-align: middle; }

th,
td {
  padding: 1rem 1rem;
  border-bottom: 1px solid rgba(0, 0, 0, 0.05); }

th:first-child,
td:first-child {
  padding-left: 0; }

th:last-child,
td:last-child {
  padding-right: 0; }

tfoot th,
tfoot td {
  color: rgba(49, 52, 57, 0.5); }

table.bordered td,
table.bordered th {
  border: 1px solid rgba(0, 0, 0, 0.05); }

table.striped tr:nth-child(odd) td {
  background: #f8f8f8; }

table.bordered td:first-child,
table.bordered th:first-child,
table.striped td:first-child,
table.striped th:first-child {
  padding-left: 1rem; }

table.bordered td:last-child,
table.bordered th:last-child,
table.striped td:last-child,
table.striped th:last-child {
  padding-right: 1rem; }

table.unstyled td,
table.unstyled th {
  border: none;
  padding: 0; }

dl dt {
  font-weight: bold; }

dd {
  margin-left: 24px; }

p, blockquote, hr, pre, ol, ul, dl, table, fieldset, figure, address, form {
  margin-bottom: 16px; }

hr {
  border: none;
  border-bottom: 2px solid rgba(0, 0, 0, 0.1);
  margin-bottom: 40px; }

hr.blogsep {
  border-bottom: 1px solid rgba(0, 0, 0, 0.1);
  margin-bottom: 40px; }

/*
blockquote {
  padding-left: 1rem;
  border-left: 4px solid rgba(0, 0, 0, 0.1);
  font-style: italic;
  color: rgba(49, 52, 57, 0.65); }
  blockquote p {
    margin-bottom: .5rem; }
*/
time, cite, small, figcaption {
  font-size: 87.5%; }

cite {
  opacity: .6; }

abbr[title], dfn[title] {
  border-bottom: 1px dotted rgba(0, 0, 0, 0.5);
  cursor: help; }

var {
  font-size: 16px;
  opacity: .6;
  font-style: normal; }

/*
mark, code, samp, kbd {
  position: relative;
  top: -1px;
  padding: 4px 4px 2px 4px;
  display: inline-block;
  line-height: 1;
  color: rgba(49, 52, 57, 0.85); 
}
*/
code {
  background: #e0e1e1; }

mark {
  background: #f7ba45; }

samp {
  color: #fff;
  background: #1c86f2; }

kbd {
  border: 1px solid rgba(0, 0, 0, 0.1); }

sub,
sup {
  font-size: x-small;
  line-height: 0;
  margin-left: 1rem/4;
  position: relative; }

sup {
  top: 0; }

sub {
  bottom: 1px; }

pre, code, samp, var, kbd {
  font-family: Consolas, Monaco, "Courier New", monospace; }

pre, code, samp, var, kbd, mark {
  font-size: 87.5%; }

pre,
pre code {
  background: transparent;
  /*#f8f8f8;*/
  padding: 0;
  top: 0;
  display: block;
  line-height: 20px;
  /*color: rgba(49, 52, 57, 0.85);*/
  overflow: none;
  white-space: pre-wrap; }

pre {
  padding: 1rem; }

figcaption {
  opacity: .6; }

figure figcaption {
  position: relative;
  top: -1rem/2; }

figure pre {
  background: none;
  border: 1px solid rgba(0, 0, 0, 0.1);
  border-radius: 4px; }

figure .video-container,
figure pre {
  margin-bottom: 8px; }

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

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

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

.monospace {
  font-family: Consolas, Monaco, "Courier New", monospace; }

.upper {
  text-transform: uppercase; }

.lower {
  text-transform: lowercase; }

.italic {
  font-style: italic !important; }

.strong {
  font-weight: bold !important; }

.normal {
  font-weight: normal !important; }

.muted {
  opacity: .55; }

a.muted {
  color: #0d0d0e; }

a.muted:hover {
  opacity: 1; }

.black {
  color: #0d0d0e; }

.smaller {
  font-size: 12px;
  line-height: 20px; }

.small {
  font-size: 14px;
  line-height: 20px; }

.extra-small {
  font-size: 12px;
  line-height: 20px; }

.big {
  font-size: 18px;
  line-height: 28px; }

.large {
  font-size: 20px;
  line-height: 32px; }

.end {
  margin-bottom: 0 !important; }

.highlight {
  background-color: #edf2ff; }

.nowrap,
.nowrap td {
  white-space: nowrap; }

.centered {
  text-align: center; }

.post-time {
  display: flex;
  font-size: 16px;
  justify-content: space-between; }
  .post-time .left, .post-time .right {
    flex-grow: 1;
    flex-basis: 0;
    padding: 0 12px; }
  .post-time .left {
    text-align: right; }
  .post-time .right {
    text-align: left; }

.hero hr, hr.hero {
  position: relative;
  max-width: 160px;
  width: 160px;
  margin: 28px auto 0;
  text-align: center;
  border: none;
  height: 32px;
  background-image: url(/images/logo22.png);
  background-size: 32px 32px;
  background-repeat: no-repeat;
  background-position: 50% 50%; }
  .hero hr.hero, hr.hero.hero {
    margin-top: 0;
    padding-top: 0; }
  .hero hr:before, hr.hero:before {
    content: " ";
    height: 3px;
    width: 48px;
    background: #f03c69;
    display: block;
    position: absolute;
    top: 50%;
    left: 0; }
  .hero hr:after, hr.hero:after {
    content: " ";
    height: 3px;
    width: 48px;
    background: #f03c69;
    display: block;
    position: absolute;
    top: 50%;
    right: 0; }

.home {
  /*nav {
    border-bottom: 0px;
    ul.menu.nav-list {
      background-color: transparent;
      li.nav-item {
        border-right: 1px transparent;
      }
      a {
        color: white;

      }
    }
  }*/ }
  .home #main {
    padding-top: 24px;
    background-image: url(/images/abstract.png);
    background-repeat: repeat-x;
    background-size: auto calc(100vh + 160px);
    background-size: calc(-moz-available + 160px);
    /* WebKit-based browsers will ignore this. */
    background-size: calc(-webkit-fill-available + 160px);
    /* Mozilla-based browsers will ignore this. */
    background-size: calc(fill-available + 160px);
    background-position-x: 20%; }
  .home ul.look {
    list-style: none;
    margin: auto;
    margin-top: auto;
    margin-bottom: auto;
    margin-top: 48px;
    margin-bottom: 32px;
    max-width: 680px;
    text-align: center;
    text-align: right;
    display: flex;
    flex-direction: column;
    justify-content: flex-end;
    min-height: 400px;
    margin-top: 0;
    /*li.message {
      //flex-grow:1;
      //background-size: auto 40vmin;//120%;
      a {
        text-decoration: none;
        &:hover {
          color:rgb(0,0,50);
        }
      }
      h2 {
        //font-size: 6vmin;
        //line-height: 6vmin;
        line-height: 40px !important;
        margin-bottom: 2vmin !important;
      }
      h5 {
        margin-top: 6vmin;
        font-size: 16px;//3vmin;
      }
      padding: 32px 6vmin 32px;
    }*/ }
    .home ul.look li {
      page-break-inside: avoid;
      break-inside: avoid-column; }
    .home ul.look li.welcome {
      text-align: right;
      height: calc(100vh - 144px);
      height: calc(-moz-available - 144px);
      /* WebKit-based browsers will ignore this. */
      height: calc(-webkit-fill-available - 144px);
      /* Mozilla-based browsers will ignore this. */
      height: calc(fill-available - 144px);
      display: flex;
      flex-direction: column;
      justify-content: flex-end;
      margin-bottom: 90px !important; }
      .home ul.look li.welcome h1 {
        color: #54b0dd;
        font-size: 2vh;
        font-weight: 900; }
      .home ul.look li.welcome h4 {
        color: #d1e1e9;
        font-size: 56px;
        font-size: 8vmin;
        height: 9vmin;
        font-weight: 300;
        margin: 0 !important; }
      .home ul.look li.welcome h2 {
        color: white;
        font-size: 84px;
        font-size: 16vmin;
        height: 12vmin;
        font-weight: 900;
        margin-top: 0 !important;
        margin-bottom: 0 !important; }
      .home ul.look li.welcome h3 {
        color: #93caec;
        font-size: 48px;
        font-size: 10vmin;
        height: 10vmin;
        font-weight: 1000;
        margin-top: 0 !important;
        margin-bottom: 0; }
      .home ul.look li.welcome a.more {
        margin-top: 12px;
        background-color: #f03c69; }
        .home ul.look li.welcome a.more:hover {
          background-color: #1c86f2; }

.span-all {
  column-span: all;
  width: 100%; }

/*
   logo / site title
*/
#top #top-brand {
  margin-right: 16px; }

#top #top-nav-main {
  border-left: unset;
  padding-left: 16px; }

#top #top-brand img,
#nav-toggle-box img {
  width: 48px;
  vertical-align: middle; }

ul li h2 {
  font-weight: normal;
  line-height: 32px !important;
  margin-top: 40px !important;
  margin-bottom: 20px !important; }

.content h2,
#posts.content h2 {
  font-size: 28px;
  font-weight: 900;
  line-height: 32px;
  margin-top: 40px !important;
  margin-bottom: 20px !important; }

/*
.content {
font-size: 17px;
  line-height: 28px;
}*/
code {
  background: transparent !important;
  /*#e0e1e1; */
  font-weight: bold; }

/*
blockquote {

	margin-top:  32px;
	margin-bottom: 44px;
	margin-left: 0px;
	margin-right: 80px;
}*/
ul.tut-list {
  columns: 2;
  -webkit-columns: 2;
  -moz-columns: 2;
  list-style: none;
  margin: 0; }
  ul.tut-list ul {
    margin-bottom: 40px; }
  ul.tut-list h2 {
    text-transform: capitalize;
    margin-top: 0 !important; }
  ul.tut-list li {
    page-break-inside: avoid;
    break-inside: avoid-column; }
    ul.tut-list li a {
      text-decoration: none; }

/*.show-sm #breadcrumbs,
.show-breadcrumbs #top-brand, 
.show-breadcrumbs #top-nav-main-menu,
.show-breadcrumbs .hide-sm */
.hide-breadcrumbs #breadcrumbs {
  display: none; }

@media (max-width: 600px) {
  ul li.message {
    background-position-x: right -128px !important; }
    ul li.message div {
      grid-template-areas: "a" "b";
      text-align: center; }
      ul li.message div h2 {
        text-align: center; }
      ul li.message div h5 {
        text-align: center;
        margin-right: 32px; }
      ul li.message div img {
        display: none; }
  blockquote {
    padding: 16px 8px 4px; } }

@media (max-width: 768px) {
  ul li.message h2 {
    font-size: 24px !important; } }

@media (min-width: 769px) {
  body {
    font-size: 18px;
    line-height: 32px; }
  /*.show-breadcrumbs .show-sm {
    display: block !important;
    float: right;
  }*/ }

#breadcrumbs {
  text-align: center; }

#breadcrumbs ul {
  margin-top: 10px;
  justify-content: center;
  display: flex;
  list-style: none; }

img[src$='#center'] {
  display: block;
  margin: 2.0rem auto;
  max-width: 100%;
  height: auto; }

img[src$='#floatleft'] {
  float: left; }

img[src$='#circle'] {
  display: block;
  margin: 2.0rem auto;
  max-width: 50%;
  height: auto;
  clip-path: circle(); }

img[src$='#floatright'] {
  float: right; }

figure.center {
  text-align: center; }

img[alt$=">"] {
  float: right; }

img[alt$="<"] {
  float: left; }

img[alt$="<>"] {
  display: block;
  max-width: 100%;
  height: auto;
  margin: auto;
  float: none !important; }

figcaption h4 {
  font-size: 14px;
  font-weight: normal;
  font-style: italic; }

figure {
  margin-top: 16px; }

/*
#top #top-nav-main li.button {
  margin-right: 0;
}
#top #top-nav-main li.button a {
  background-color: transparent;
}

#top #top-nav-main li.button a:hover {
  background-color: $hover-color;
  text-decoration: none;
  color: white;
}
/* */
/* breadcrumb */
#top #top-nav-main .breadcrumbs {
  vertical-align: middle;
  display: inline-block;
  line-height: 24px; }

#top #top-nav-main .breadcrumbs ul {
  display: inline-block;
  line-height: 24px;
  vertical-align: middle; }

#top #top-nav-main .breadcrumbs li {
  font-size: 16px;
  font-weight: 500;
  margin-right: 0;
  vertical-align: middle;
  display: inline; }

#top #top-nav-main .breadcrumbs li a {
  color: #3794de;
  display: inline-block; }

#top #top-nav-main .breadcrumbs li::after {
  display: inline-block;
  content: '>';
  color: rgba(0, 0, 0, 0.3); }

#top #top-nav-main .breadcrumbs li:last-child::after {
  content: ''; }

.tagcloud {
  margin-bottom: 50px;
  width: 50%;
  text-align: center;
  margin: 0 auto; }

.tagcloud a {
  margin-bottom: 10px; }

.social-link {
  width: 50px !important; }

#footer {
  background-color: #f0f0f4;
  display: flex;
  margin: 0;
  margin-top: 104px;
  color: #666; }

#footer nav {
  align-items: left;
  max-width: 680px;
  margin: auto; }
  #footer nav ul {
    display: flex;
    flex-direction: row;
    flex-wrap: wrap;
    justify-content: center;
    gap: 16px;
    margin-top: 40px;
    margin-bottom: 40px; }
    #footer nav ul li {
      text-align: center; }
      #footer nav ul li img {
        vertical-align: middle;
        height: 32px;
        margin: 0 10px; }
      #footer nav ul li a {
        text-decoration: none; }
        #footer nav ul li a:hover {
          text-decoration: underline; }

body.page-about #hero.wrap {
  padding-bottom: 0; }

body.page-about #posts {
  margin-top: 0; }

body {
  min-height: 100vh;
  display: flex;
  flex-direction: column; }

main {
  flex: 1; }

.lightbox-image-link img {
  max-height: 200px;
  /*max-width:none;
 display:inline;*/ }

.gallery {
  list-style: none;
  align-items: center;
  display: flex;
  flex-wrap: wrap;
  column-gap: 16px;
  row-gap: 24px;
  text-align: center;
  align-items: center;
  justify-content: center;
  margin: 32px 0;
  padding: 0; }

ul.gallery li {
  height: 200px;
  position: relative;
  padding: 0;
  margin: 0; }
  ul.gallery li a {
    display: block; }

ul.gallery.noresize li {
  height: unset;
  position: relative; }

.gallery li img {
  /*object-fit: cover;*/
  /*min-height: 200px;*/
  /*max-width: 600px;*/
  width: auto;
  height: 100%;
  vertical-align: middle;
  /*border-radius: 5px;*/ }

/* hack to hide the header unline when the entire
   table header is blank. 
   1. we remove the border style from <th>
   2. apply the style to <tr> if it has any no-empty children!
   For firefox, this needs to be enabled as experimental feature
*/
tr:has(th) {
  empty-cells: hide; }

th {
  border-bottom: unset; }

tr:has(th:not(:empty)) {
  border-bottom: 2px solid rgba(0, 0, 0, 0.4);
  empty-cells: show; }

td {
  border-bottom: 1px solid rgba(0, 0, 0, 0.05); }

.md-columns {
  display: flex;
  flex-wrap: wrap;
  margin-left: -1rem;
  margin-right: -1rem; }

.md-columns.center {
  align-content: center; }

.md-columns > div {
  flex: 1 1;
  margin: 1rem 0;
  min-width: 100px;
  max-width: 100%;
  padding: 0 1rem; }

.md-columns
.markdown-inner {
  margin-top: 0;
  margin-bottom: 0; }

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

.download-box {
  /*margin-top: 48px;*/
  margin-bottom: 64px;
  text-align: center;
  display: flex;
  justify-content: center;
  gap: 12px; }

.attachment-box {
  margin-top: 64px;
  text-align: right; }
  .attachment-box a.small {
    padding-left: 8px;
    color: #3794de;
    font-weight: bold;
    text-decoration: none; }
  .attachment-box a:hover {
    color: #f03c69; }
    .attachment-box a:hover img {
      content: url(/images/arrowdn.png); }

.attachment-box img {
  width: 24px;
  vertical-align: middle;
  margin-right: 8px;
  margin-bottom: 0px; }

.button .download:before {
  content: "\23EC"; }

.oof {
  text-align: center;
  font-size: 64px;
  font-size: 72px;
  font-size: 10vmin;
  margin-top: 48px;
  margin-bottom: 48px; }

@media (min-width: 769px) {
  .oof {
    font-size: 72px; } }

.smalltable td {
  padding: 0.5rem 0;
  font-size: 14px; }

.smalltable th {
  padding: 8px 0;
  font-size: 16px; }

.extra-large {
  font-size: 64px;
  margin: 44px 0; }

aside {
  color: #ddd;
  margin-top: 32px;
  margin-bottom: 44px;
  margin-left: 0px;
  margin-right: 80px;
  background-color: #f4f4f4; }

a.chevron.down:before {
  /*content: '\2304\00A0';*/
  content: '\203A\00A0\00A0';
  font-size: 2em;
  display: inline-block;
  transform: rotate(90deg) translateX(50%); }

/*
.pager a {
  color: #3794de; }
.pager a:hover {
  color: $hover-color; }
*/
.page-about #hero {
  display: none; }

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

h1.title {
  font-size: 64px;
  font-weight: 900;
  margin-top: 32px;
  margin-bottom: 12px;
  line-height: 72px;
  position: relative;
  display: flex;
  justify-content: center;
  align-items: center; }

ul.content h1.title:after {
  /*    display: inline-block;
  
      text-align: center;
      content: ' ';
      width: 40px;
      height: 3px;
      
      
      background: #ff3366; */
  content: '.';
  color: #ff3366; }

/* Tag pagination */
.post-list h1 {
  font-size: 36px; }

.tag-article-list {
  list-style: none;
  width: 100%; }
  .tag-article-list h1 {
    max-width: 300px;
    position: relative; }
  .tag-article-list li {
    display: flex;
    align-items: start;
    justify-content: center;
    margin-bottom: unset !important;
    line-height: 36px !important; }
    .tag-article-list li.article {
      width: 100%; }
    .tag-article-list li span {
      flex: 1;
      margin-right: 1em;
      display: inline-block; }
    .tag-article-list li a {
      flex: 1;
      text-decoration: none;
      display: inline-block; }

/*
    SOFTWARE list page
*/
ul.software-posts {
  list-style: none;
  text-align: center;
  display: grid;
  grid-template-columns: repeat(2, 1fr);
  grid-auto-flow: row;
  align-items: center;
  grid-gap: 48px;
  justify-content: space-between;
  justify-items: stretch; }

ul.topics {
  display: flex;
  flex-direction: row;
  flex-wrap: wrap;
  list-style: none;
  justify-content: center;
  gap: 8px;
  margin: 16px 0; }
  ul.topics li {
    margin: 0;
    padding: 0 4px; }
  ul.topics a.small {
    font-size: large;
    text-decoration: none; }

ul.software-posts li.software {
  background-color: #f0f0f4;
  /*padding: 24px;*/
  height: 186px;
  margin: 0 !important;
  margin-bottom: 32px !important;
  text-align: center; }
  ul.software-posts li.software a {
    text-decoration: none; }
  ul.software-posts li.software h3 a {
    font-size: 20px;
    font-weight: 800;
    color: rgba(0, 0, 0, 0.8); }
    ul.software-posts li.software h3 a:hover {
      color: #f03c69; }

ul.software-posts section {
  /* force the paginator to take full width always*/
  grid-column: 1/-1; }

ul.software-posts img {
  /*height: 100px;
    width: auto;*/
  /*min-width: 100%;
    width: 100%;*/
  height: 186px;
  object-fit: cover;
  object-position: left top;
  aspect-ratio: 3/2; }

ul.software-posts li a.shadow {
  position: relative;
  display: block; }
  ul.software-posts li a.shadow:before {
    content: '';
    position: absolute;
    top: 0;
    left: 0;
    bottom: 0;
    right: 0;
    width: 100%;
    height: 100%;
    box-shadow: inset 0 0 50px 25px rgba(0, 0, 0, 0.6); }

.tagcloud, .tags {
  margin-bottom: 8px; }
  .tagcloud a, .tags a {
    font-size: 12px;
    font-weight: normal;
    text-decoration: none;
    text-transform: uppercase;
    border: none; }

/* blog page */
ul.blog-list {
  columns: 2;
  column-gap: 48px;
  row-gap: 40px;
  display: flex;
  flex-direction: row;
  justify-content: space-between;
  flex-wrap: wrap;
  align-items: left;
  margin: 0 auto;
  margin-bottom: -1px; }
  ul.blog-list li.blog {
    display: inline-block;
    text-align: left;
    display: flex;
    flex-direction: column;
    width: calc(50% - 24px);
    padding-bottom: 32px;
    border-bottom: 1px solid rgba(0, 0, 0, 0.1); }
    ul.blog-list li.blog:first-child {
      column-span: all; }
    ul.blog-list li.blog:nth-last-of-type(-n + 2) {
      padding-bottom: 32px;
      border-bottom: 1px solid transparent; }
    ul.blog-list li.blog .image img {
      width: 100%;
      aspect-ratio: 10/6;
      /*1/1*;/*9/6;*/
      object-fit: cover; }
    ul.blog-list li.blog span a {
      text-decoration: none; }
      ul.blog-list li.blog span a:hover {
        text-decoration: none; }
    ul.blog-list li.blog .tags a.button.round {
      background-color: transparent;
      color: #3794de;
      position: relative;
      left: -8px; }
      ul.blog-list li.blog .tags a.button.round:hover {
        background-color: #f03c69;
        color: white; }
    ul.blog-list li.blog .tags a {
      font-size: 12px;
      font-weight: normal;
      text-decoration: none;
      text-transform: uppercase;
      /*&:hover {
          background-color: $hover-color;
          outline: 6px solid $hover-color;
          //outline-offset:2px;
          color:white;
          border-radius: 56px;
        }*/ }
    ul.blog-list li.blog span h2 {
      margin-top: 0 !important;
      font-size: 24px !important;
      font-weight: 900 !important;
      color: #333e63 !important;
      /*rgb(34, 34, 34);*/ }
    ul.blog-list li.blog p.summary {
      color: rgba(0, 0, 0, 0.6);
      font-size: 16px !important;
      line-height: 24px !important;
      margin-bottom: 24px; }
    ul.blog-list li.blog .published {
      display: flex;
      justify-content: space-between;
      margin-top: auto; }
      ul.blog-list li.blog .published h6 {
        font-weight: normal;
        font-size: 12px;
        margin: 0; }
      ul.blog-list li.blog .published .more {
        margin: 0; }
      ul.blog-list li.blog .published .button.extra-small {
        font-size: 12px;
        min-height: 20px;
        padding: 1px 8px; }
        ul.blog-list li.blog .published .button.extra-small:hover {
          text-decoration: none !important; }

@media (max-width: 769px) {
  ul.tut-list {
    columns: 1; }
  ul.software-posts {
    grid-template-columns: repeat(1, 1fr); }
  ul.blog-list li.blog {
    width: 100%; }
  ul.blog-list {
    columns: 1 !important;
    max-width: 400px; }
  ul.blog-list li.blog a img {
    width: 100%;
    object-fit: cover;
    max-height: 212px; }
  ul.blog-list li.blog span h2 {
    font-size: 28px !important; } }

ul li.message {
  column-span: all;
  width: 100%;
  background-color: #3794de; }
  ul li.message div {
    display: grid;
    grid-template-areas: "a c" "b c"; }
  ul li.message img {
    grid-area: c;
    object-fit: cover;
    object-position: left center;
    height: 100%;
    width: auto; }
  ul li.message h2 {
    grid-area: a; }
  ul li.message h5 {
    grid-area: b; }
  ul li.message a {
    text-decoration: none; }
  ul li.message h2 {
    margin: 32px;
    margin-right: 0;
    line-height: 40px !important;
    margin-bottom: 2vmin !important; }
  ul li.message h5 {
    margin: 32px;
    margin-top: 6vmin;
    margin-right: 0;
    font-size: 16px; }
  ul li.message h2 {
    position: relative;
    left: -16px;
    top: -8px;
    padding: 8px 16px;
    border-radius: 4px;
    text-align: left;
    font-size: 32px;
    line-height: 40px !important;
    font-weight: bold;
    color: white;
    margin-bottom: 2vmin;
    text-decoration: none; }
    ul li.message h2:hover {
      background-color: #f03c69; }
    ul li.message h2 a {
      text-decoration: none; }
      ul li.message h2 a:hover {
        color: white; }
  ul li.message h5 {
    font-weight: normal;
    text-align: left;
    color: white; }
    ul li.message h5 a {
      text-decoration: none;
      line-height: 32px;
      padding: 4px 14px; }
      ul li.message h5 a.inverted:hover {
        color: white;
        background-color: #f03c69;
        opacity: 1; }

.blog-truncate {
  /*text-align: justify;*/
  /*max-height: 74px;*/
  display: -webkit-box;
  -webkit-line-clamp: 7;
  -webkit-box-orient: vertical;
  overflow: hidden;
  text-overflow: ellipsis; }

.button.extra-small {
  min-height: 20px;
  padding: 1px 8px; }
  .button.extra-small:hover {
    text-decoration: none !important; }

body {
  /*background-color: #93d0ee;*/ }

.table-wrap {
  overflow-x: auto;
  max-width: calc(100vw - 40px); }

.highlight {
  background-color: #282a36;
  overflow-x: auto;
  max-width: calc(100vw - 40px);
  margin-bottom: 16px; }
  .highlight pre {
    margin-bottom: 0; }
