/* Custom fonts */
@font-face {
  font-family: 'TTFirsNeue';
  src: url('../fonts/ttfirsneue-demibold.ttf') format('truetype');
  font-weight: 600;
  font-display: swap;
}

@font-face {
  font-family: 'Inter';
  src: url('../fonts/inter-regular.otf') format('opentype');
  font-weight: 400;
  font-display: swap;
}

@font-face {
  font-family: 'Inter';
  src: url('../fonts/inter-bold.otf') format('opentype');
  font-weight: 700;
  font-display: swap;
}

:root  > * {
  --md-admonition-icon--highlight: url('data:image/svg+xml;base64,PHN2ZyB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHZpZXdCb3g9IjAgMCAyNCAyNCI+PHBhdGggZD0ibTkgMjAuNDItNi4yMS02LjIxIDIuODMtMi44M0w5IDE0Ljc3bDkuODgtOS44OSAyLjgzIDIuODN6Ii8+PC9zdmc+');
  --md-primary-fg-color:        #0D1A25;
  --md-primary-fg-color--light: #DEF5F9;
  --md-primary-fg-color--dark:  #0D1A25;
  --md-accent-fg-color:                #23BAD9;
  --md-text-font: "Inter", system-ui, -apple-system, sans-serif;
  --md-code-font: "SFMono-Regular", Consolas, "Liberation Mono", Menlo, monospace;
  --md-typeset-a-color: var(--md-accent-fg-color);
}

.md-typeset a:focus, .md-typeset a:hover {
	color: color-mix(in srgb, var(--md-typeset-a-color), #fff);
}

.md-typeset h1 {
  --md-default-fg-color--light: #23BAD9;
}

@media screen {
  [data-md-color-scheme="slate"][data-md-color-primary="indigo"] {
    --md-typeset-a-color: #23BAD9;
  }
}

.md-nav__link[for]:focus, .md-nav__link[for]:hover, .md-nav__link[href]:focus, .md-nav__link[href]:hover {
  color: color-mix(in srgb, var(--md-typeset-a-color), #fff);
  cursor: pointer;
}

/* Light mode */
[data-md-color-scheme="default"] {
  --md-primary-fg-color: white;
  --md-primary-bg-color: #0D1A25;
  --md-default-bg-color: white;
  --md-footer-logo-dark-mode: none;
  --md-footer-logo-light-mode: block;
}

/* Dark mode */
[data-md-color-scheme="slate"] {
  --md-primary-fg-color: white;
  --md-primary-bg-color: color-mix(in srgb, var(--md-default-bg-color), #000);
  --md-default-bg-color: #081117;
  --md-footer-logo-dark-mode: block;
  --md-footer-logo-light-mode: none;
}

@media screen and (max-width: 76.2344em) {
  [data-md-color-scheme="default"] {
    --md-footer-logo-dark-mode: block;
    --md-footer-logo-light-mode: none;
  }

  .md-nav__title .md-nav__button.md-logo img, .md-nav__title .md-nav__button.md-logo svg {
    margin: 0 auto;
  }
}

/* Apply TTFirsNeue to headlines */
h1, h2, h3, h4, h5, h6,
.md-header__title,
.md-nav__title,
.md-footer__title {
  font-family: 'TTFirsNeue', system-ui, -apple-system, sans-serif !important;
  font-weight: normal !important;
}

.md-header {
  background-color: var(--md-default-bg-color);
  color: var(--md-default-fg-color);
}

.md-header__button.md-logo img, .md-header__button.md-logo svg {
  margin: 1rem .2rem .2rem .2rem;
  height: auto;
  width: 10rem;
}

@media screen and (min-width: 76.25em) {
  .md-header__title {
    line-height: 1.8rem;
    font-size: 1.1rem;
  }

  [dir="ltr"] .md-header__title {
    margin-left: 1.4rem;
  }
}

.md-tabs {
  background-color: var(--md-default-bg-color);
  color: var(--md-default-fg-color);
  margin-left: 12.4rem;
  margin-top: -1.6rem;
}

.md-tabs__link {
  margin-top: 0;
}

.md-tabs__link svg {
  display: none;
}

.md-tabs__item.md-tabs__item--active {
  font-weight: bold;
}

.md-tabs__item--active .md-tabs__link:focus, .md-tabs__item--active .md-tabs__link:hover {
  color: var(--md-default-fg-color);
}

.md-tabs__link:focus, .md-tabs__link:hover {
  color: var(--md-accent-fg-color);
}

.md-banner {
  background-color: var(--md-primary-bg-color);
  color: var(--md-primary-fg-color);
}

.md-banner__inner {
  margin: 0 auto;
}

.md-header--shadow {
  box-shadow: none;
}

#logo_light_mode {
    display: var(--md-footer-logo-light-mode);
}

#logo_dark_mode {
    display: var(--md-footer-logo-dark-mode);
}

[dir="ltr"] .md-typeset .task-list-item [type="checkbox"] {
  top: 0.2rem;
}
.md-typeset .cards table:not([class]) {
  border: 0;
}

.md-typeset .grid.cards > ol > li, .md-typeset .grid.cards > ul > li, .md-typeset .grid > .card {
  background: var(--md-default-bg-color);
}

.md-typeset .panzoom-box {
  background-color: var(--md-default-bg-color);
  border: 1px solid var(--md-typeset-table-color);
  padding: 20px;
}

.md-typeset .panzoom-no-padding .panzoom-box {
  padding: 0 0 20px 0;
}

@media screen and (min-width: 86.25em) {
  .md-main {
    background: url(../cubes.png) no-repeat bottom -220px right -290px;
  }

  .md-nav--secondary {
    background: color-mix(in srgb, var(--md-default-bg-color) 50%, transparent);
    border-radius: 20px;
  }
}

.md-footer {
  background-color: var(--md-primary-bg-color);
  color: var(--md-primary-fg-color);
}

.md-typeset .md-button {
	padding: .5em 2em;
  background-color: var(--md-primary-bg-color);
  color: var(--md-primary-fg-color);
}

.md-typeset .md-button--primary {
  border-color: var(--md-primary-bg-color);
}

.md-typeset .badge {
	display: inline;
  padding: 0.3em 0.5em;
  border: 2px solid var(--md-default-fg-color);
  background: var(--md-default-bg-color);
  border-radius: 5px;
  font-size: .85em;
}

.md-typeset .badge .twemoji {
  color: var(--md-default-fg-color);
}

.md-typeset img:not(.skip-round-corners) {
  border-radius: 20px;
}

.subtitle {
  position: relative;
  top: -1em;
}


.page-break {
  display: none;
}

.banner h1 {
  font-size: 5em;
  margin-bottom: 0;
  color: var(--md-default-fg-color);
  line-height: 1.2;
}

.banner h1 strong {
  color: var(--md-accent-fg-color);
}

.banner h1 + p {
  margin-top: 1em;
  margin-bottom: 2em;
}

.banner p {
  font-size: 1.5em;
}

.banner .logo {
  background: #fff;
  border-radius: 20px;
}

.banner .md-button {
  font-size: 0.8em;
}

.banner .vertical-center > p {
  position: relative;
  top: 50%;
  transform: translateY(-50%);
}

.banner .logo p {
    display: block;
    position: relative;
    top: 50%;
    transform: translateY(-50%);
}

.banner .video-logo {
  overflow: hidden;
  position: relative;
  background: var(--md-default-bg-color);
}

.banner .video-logo > video {
  position: absolute;
  left: 0;
  width: 100%;
  height: 100%;
  object-fit: cover;
  opacity: .9;
}

.banner .video-logo > p {
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  margin: 0;
  background: rgba(0, 0, 0, 0.5);
  mix-blend-mode: hard-light;
}

.banner .video-logo > p > img {
  position: relative;
  top: 50%;
  transform: translateY(-50%);
  outline: #fff solid 500px;
}

.banner .headerlink {
  display: none;
}

[data-md-color-scheme="slate"] {
  .banner .video-logo {
    mix-blend-mode: lighten;
  }

  .banner .video-logo > video {
    mix-blend-mode: lighten;
  }

  .banner .video-logo > p > img {
    filter: invert(1) hue-rotate(180deg) brightness(3);
  }

  .invert-dark-mode {
    filter: invert(1) hue-rotate(180deg) brightness(1.2);
    mix-blend-mode: lighten;
  }

  .customer-logos {
    filter: invert(1) hue-rotate(180deg) brightness(2.5);
    mix-blend-mode: lighten;
  }
}

.table-full-width .md-typeset__table {
   min-width: 100%;
}

.md-typeset .table-full-width table:not([class]) {
    display: table;
}

/* See https://github.com/squidfunk/mkdocs-material/discussions/3535 */
.headerlink {
	--permalink-size: 16px; /* for font-relative sizes, 0.6em is a good choice */
	--permalink-spacing: 4px;

	width: calc(var(--permalink-size) + var(--permalink-spacing));
	height: var(--permalink-size);
	vertical-align: middle;
	background-color: var(--md-default-fg-color--lighter);
	background-size: var(--permalink-size);
	mask-size: var(--permalink-size);
	-webkit-mask-size: var(--permalink-size);
	mask-repeat: no-repeat;
	-webkit-mask-repeat: no-repeat;
	visibility: visible;
	mask-image: url('data:image/svg+xml;utf8,<svg xmlns="http://www.w3.org/2000/svg" version="1.1" width="16" height="16" aria-hidden="true"><path fill-rule="evenodd" d="M7.775 3.275a.75.75 0 001.06 1.06l1.25-1.25a2 2 0 112.83 2.83l-2.5 2.5a2 2 0 01-2.83 0 .75.75 0 00-1.06 1.06 3.5 3.5 0 004.95 0l2.5-2.5a3.5 3.5 0 00-4.95-4.95l-1.25 1.25zm-4.69 9.64a2 2 0 010-2.83l2.5-2.5a2 2 0 012.83 0 .75.75 0 001.06-1.06 3.5 3.5 0 00-4.95 0l-2.5 2.5a3.5 3.5 0 004.95 4.95l1.25-1.25a.75.75 0 00-1.06-1.06l-1.25 1.25a2 2 0 01-2.83 0z"></path></svg>');
	-webkit-mask-image: url('data:image/svg+xml;utf8,<svg xmlns="http://www.w3.org/2000/svg" version="1.1" width="16" height="16" aria-hidden="true"><path fill-rule="evenodd" d="M7.775 3.275a.75.75 0 001.06 1.06l1.25-1.25a2 2 0 112.83 2.83l-2.5 2.5a2 2 0 01-2.83 0 .75.75 0 00-1.06 1.06 3.5 3.5 0 004.95 0l2.5-2.5a3.5 3.5 0 00-4.95-4.95l-1.25 1.25zm-4.69 9.64a2 2 0 010-2.83l2.5-2.5a2 2 0 012.83 0 .75.75 0 001.06-1.06 3.5 3.5 0 00-4.95 0l-2.5 2.5a3.5 3.5 0 004.95 4.95l1.25-1.25a.75.75 0 00-1.06-1.06l-1.25 1.25a2 2 0 01-2.83 0z"></path></svg>');
}

[id]:target .headerlink {
	background-color: var(--md-typeset-a-color);
}

.headerlink:hover {
	background-color: var(--md-accent-fg-color) !important;
}

@media screen and (min-width: 76.25em) {
	h1, h2, h3, h4, h5, h6 {
		position: relative;
	}

	.headerlink {
		position: absolute;
		left: calc(var(--permalink-size) * -2 - var(--permalink-spacing)) !important;
        top: 50%;
        transform: translateY(-50%);
	}
}

@media screen and (min-width: 60em) {
  .md-search__form {
    background-color: var(--md-default-bg-color);
    box-shadow: 0 4px 32px color-mix(in srgb, var(--md-default-fg-color) 15%, transparent);
  }

  .md-search__form:hover {
    background-color: color-mix(in srgb, var(--md-default-bg-color) 80%, transparent);
  }

  .md-search__input + .md-search__icon {
    color: var(--md-default-fg-color);
  }

  #mkdocs-decrypt-form {
    position: absolute;
    top: 50%;
    left: 50%;
    transform: translate(-50%, -50%);
    padding: 5vw;
    border-radius: 40px;
    box-shadow: 0 4px 64px color-mix(in srgb, var(--md-default-fg-color) 15%, transparent);
  }
}

.image-shadow {
  box-shadow: 0 4px 64px color-mix(in srgb, var(--md-default-fg-color) 15%, transparent);
}

@media screen {
  .only-print {
    display: none !important;
  }
}

.md-typeset blockquote.reference {
  border-color: color-mix(in srgb, var(--md-accent-fg-color) 50%, transparent);
  color: var(--md-default-fg-color);
}

.md-typeset blockquote.reference h2,
.md-typeset blockquote.reference h3,
.md-typeset blockquote.reference h4,
.md-typeset blockquote.reference h5 {
  color: var(--md-accent-fg-color);
}

a.md-content__button[title="Download PDF"] {
  position: relative;
  z-index: 100;
  color: var(--md-accent-fg-color);
}

a.md-content__button[title="Download PDF"] svg {
  width: auto;
  height: 2em;
  margin-top: -.2em;
}

.md-typeset .admonition.highlight,
.md-typeset details.highlight {
  border: none;
  color: white;
  border-radius: 20px;
  box-shadow: 0 4px 32px color-mix(in srgb, var(--md-default-fg-color) 15%, transparent);
  padding: 1rem;
  background: var(--md-accent-fg-color) url(../cubes.png) no-repeat bottom -300px right -290px;
  background-blend-mode: soft-light;
  font-size: .8rem;
}

.md-typeset .highlight > .admonition-title,
.md-typeset .highlight > summary {
  font-size: 1.2rem;
  font-family: 'TTFirsNeue', system-ui, -apple-system, sans-serif !important;
  font-weight: normal !important;
  border-radius: 20px;
  background-color: transparent;
  color: white;
  padding: 0 1rem;
  margin: 0 -1rem;
}

.md-typeset .highlight > .admonition-title::before,
.md-typeset .highlight > summary::before {
  display: none;
  background-color: var(--md-accent-bg-color);
  -webkit-mask-image: var(--md-admonition-icon--highlight);
          mask-image: var(--md-admonition-icon--highlight);
}

