/* globals */

:root {
    /* theme */
    --blackish:             #0A1011;
    --dark-green:           #0C221D;
    --green:                #5CA2A2;
    --light-green:          #BBD1D5;

    /* basics */
    --primary-80:           #254040;
    --primary-65:           #407171;
    --primary:              #5CA2A2;
    --primary-35:           #8dbebe;
    --primary-20:           #bddada;

    --black:                #000000;
    --gray-90:              #1a1a1a;
    --gray-80:              #333333;
    --gray-70:              #4d4d4d;
    --gray-60:              #666666;
    --gray-50:              #808080;
    --gray-40:              #999999;
    --gray-30:              #b3b3b3;
    --gray-20:              #cccccc;
    --gray-10:              #e6e6e6;
    --white:                #ffffff;
}

html,
body {
    height: 100%;
}
html {
    font-size: 62.5%;
}
html, * {
    box-sizing: border-box;
}
body {
    display: flex;
    flex-direction: column;
    min-width: 32rem;
    font-size: 1.5rem;
    line-height: 1.8;
    font-family: 'Roboto', sans-serif;
    margin: 0;
}
code,
pre {
    font-family: Menlo, Consolas, monospace;
}
pre {
    border-style: solid;
    border-color: #E5E5E5;
    border-width: .1rem .5rem;
    overflow-x: scroll;
    padding: 1rem 2rem 1.5rem;
    color: var(--gray-70);
    margin: 2rem 0;
    background: #fff;
}
code {
    border: .1rem solid #E5E5E5;
    margin: 0 .3rem;
    padding: .2rem .4rem;
    background-color: #F4F9F9;
    border-radius: 0.3rem;
}
pre code {
    border: none;
    border-radius: 0;
    margin: 0;
    padding: 0;
    background-color: transparent;
}
code b,
pre b,
h1,
h2,
h3,
h4 {
    line-height: 1.4;
    -webkit-font-smoothing: antialiased;
    -moz-osx-font-smoothing: grayscale;
    text-rendering: optimizeLegibility;
}
h1 a,
h2 a,
h3 a,
h4 a,
h5 a,
h6 a {
    color: #000000;
    -webkit-font-smoothing: antialiased;
    -moz-osx-font-smoothing: grayscale;
    text-rendering: optimizeLegibility;
}
h1 {
    font-family: Roboto;
    font-weight: 900;
    font-size: 3.8rem;
    line-height: 4.5rem;
    letter-spacing: 0.06rem;
    text-transform: uppercase;
    margin: 0 0 2rem 0;
}
h2 {
    text-transform: uppercase;
    font-size: 2rem;
    font-weight: 700;
    margin: 40px 0px 0px 0px;
}
h3,
h4 {
    font-size: 2rem;
    font-weight: 700;
}
h5 {
    font-size: 1.6rem;
}
h3.bullet {
    margin-bottom: 1rem;
}
h3.bullet::after {
    content: "";
    display: block;
    background-color: #000000;
    height: .2rem;
    width: 5rem;
}
a {
    color: var(--green);
}
img {
    max-width: 100%;
}
.btn {
    background-color: #0B6D88;
    color: #FFFFFF;
    border-radius: .2rem;
    -moz-border-radius: .2rem;
    -webkit-border-radius: .2rem;
    text-align: center;
    text-transform: capitalize;
    padding: .9rem 2rem;
    box-sizing: border-box;
}
.btn--secondary {
    color: #0B6D88;
    border: .2rem solid #0B6D88;
    background-color: transparent;
}
.btn--sm {
    padding: .5rem 1rem;
}
.btn:hover {
    background-color: #888888;
    border-color: #888888;
    color: #FFFFFF;
}
.btn-group a {
    border: 1px solid #000000;
    margin: 0;
    float: left;
    min-width: 10rem;
    text-align: center;
    height: 2.9rem;
    line-height: 2.9rem;
    margin-left: -.1rem;
    color: #000000;
}
.btn-group a:hover {
    cursor: pointer;
    border-color: #888888;
    background-color: #888888;
    color: #FFFFFF;
}
.btn-group a:first-of-type {
    border-radius: .2rem 0 0 .2rem;
}
.btn-group a:last-of-type {
    border-radius: 0 .2rem .2rem 0;
}
.btn-group .selected {
    background-color: #000000;
    color: #ffffff;
}
ul {
    padding-left: 2rem;
    margin: 1rem 0 1rem 0;
}
.docs-nav {
    position: relative;
    width: 30rem;
}
.documentation--current .docs-nav {
    width: 30rem;
    position: fixed;
    top: 11.5rem;
    bottom: 0;
    text-transform: uppercase;
    margin-bottom: 5rem;
    overflow: hidden;
    overflow-y: auto;
}
.documentation--current .p-toc {
    width: 30rem;
    overflow: hidden;
    overflow-y: auto;
}
.documentation--current.expanded .docs-nav {
    width: 10rem;
}
.documentation--current.expanded .toc-handle-container {
    width: 11.2rem;
}
.documentation--current .toc-handle-container {
    width: 31.2rem;
    position: fixed;
    top: 11.5rem;
    bottom: 0;
    margin-bottom: 5rem;
}
.documentation--current .toc-handle {
    font-weight: bold;
    line-height: 1;
    cursor: pointer;
    padding: 2rem 0.2rem;
    background: var(--light-green);
    color: black;
    position: absolute;
    right: 0;
    top: 46%;
    z-index: 99;
}
.toc {
    width: 30rem;
    display: block;
}
.toc li {
    margin 0;
    list-style-type: none;
}
.toc > li {
    margin-bottom: .6rem;
}
.toc a {
    color: #000000;
}
.toc ul {
    padding: .2rem 1.7rem 0;
    text-transform: none;
    font-weight: 400;
    margin: 0 0 1rem;
}
.toc a:hover,
.toc ul a {
    color: #0B6D88;
}
.toc ul ul {
    padding: 0 1.8rem;
    margin-bottom: 0;
}
ol.toc {
    list-style: decimal;
    padding: 0 0 0 1rem;
}
ol.toc > li {
    padding-left: .2rem;
}
.data-table {
    border: none;
    border-collapse: collapse;
    width: 100%;
    overflow-x: scroll;
    margin: 2rem 0;
}
.page-dark .data-table th,
.page-dark .data-table td {
    color: white;
}
.data-table tbody {
    border-style: solid;
    border-color: #E5E5E5;
    border-width: 0;
}
.data-table td,
.data-table th {
    border: .1rem solid #cccccc;
    padding: .5rem 1rem;
    min-width: 10rem;
}
.data-table th {
    text-align: left;
    background-color: #fff;
    border: .1rem solid #222222;
    color:#000;
    font-weight: 400;
    padding: 1rem;
    text-transform: uppercase;
    overflow: hidden;
    vertical-align: top;
    width: 25%;
}
.data-table td {
    /* These are technically the same, but use both */

    overflow-wrap: break-word;
    word-wrap: break-word;
    -ms-word-break: break-all;
    /* This is the dangerous one in WebKit, as it breaks things wherever */

    word-break: break-all;
    /* Instead use this non-standard one: */

    word-break: break-word;
    /* Adds a hyphen where the word breaks, if supported (No Blink) */

    -ms-hyphens: auto;
    -moz-hyphens: auto;
    -webkit-hyphens: auto;
    hyphens: auto;
}
.data-table tr td:first-of-type {
    -ms-hyphens: none;
    -moz-hyphens: none;
    -webkit-hyphens: none;
    hyphens: none;
}

table.docutils  {
    border-collapse: collapse;
    border-spacing: 0;
    empty-cells: show;
    background-color: transparent;
    table-layout: fixed; width: 100%;
    font-size:1.5rem;
    line-height: 1.8;
}

td {
    border: 1px solid #e1e4e5;
    margin: 0;
    padding: 16px;
    overflow: hidden;
    width: 200px;
}

th {
    border: 1px solid #e1e4e5;
    margin: 0;
    overflow: visible;
    padding: 8px 16px;
    text-align:left;
    background-color:#ccc;
}

tr:nth-child(even) {
    background-color: #f2f2f2;
}
tr:nth-child(odd) {
    background-color: white;
}

/* Configuration lists */
.config-list>li {
    list-style-type: none;
    padding: 15px 0px 15px 20px;
    border-bottom: 1px solid black;
}

.config-list h4 {
    margin: 0;
}

.config-list table *{
    border: 0;
    background-color: transparent;
    padding: 0;
}

.config-list tr {
    border-width: 0;
    background-color: transparent;
}

.config-list th {
    text-align: right;
}

.config-list td {
    text-align: left;
    padding: 0px 0px 0px 10px;
}

.config-list>li:nth-child(odd) {
    background: #f2f2f2;
}
.page-dark,
.page-dark * {
    box-sizing: border-box;
}
.page-dark .config-list {
    padding-left: 0;
}
.page-dark .config-list>li:nth-child(odd) {
    background: rgba(0, 0, 0, 0.2);
}
.page-dark .config-list td {
    color: white;
}

.page-dark .config-list .data-table {
    width: auto;
}

.page-dark code {
    background-color: rgba(0, 0, 0, 0.2);
    border-color: rgba(0, 0, 0, 0.3);
    border-radius: 0.3rem;
    font-size: 1.4rem;
}

.horizontal-list li {
    display: inline-block;
}

.horizontal-list li:before {
    content: '\00a0\00a0\2015\00a0';
}

.horizontal-list li:first-child:before {
    content: '';
}

.highlight pre span {
    font-size:1.4rem;
}
.logo-link {
    display: inline-block;
    width: 220px;
    height: 64.77px;
    background: url("/images/logo.png");
    background-size: 217px auto;
    background-repeat: no-repeat;
    /* small: 168 x 50 */
}
.page-dark .logo-link {
    background: url('/logos/kafka-white.svg');
    background-repeat: no-repeat;
}
.page-dark {
    background: #363D3F;
    color: white;
    margin: 0;
}
.page-dark .content {
    max-width: 100rem;
}
.page-dark .content-separator {
    max-width: 100rem;
    background-color: #969191;
    border: none;
    height: 1px;
}
.page-dark .content-get-started {
    margin-top: 7rem;
}
.page-dark a:link {
    color: var(--green);
}
.page-dark a:visited {
    color: var(--green);
}
.page-dark .top-nav-item-anchor:link,
.page-dark .top-nav-item-anchor:active,
.page-dark .top-nav-item-anchor:visited,
.page-dark .top-nav-anchor:link,
.page-dark .top-nav-anchor:active,
.page-dark .top-nav-anchor:visited {
    color: white;
    text-decoration: none;
}
.page-dark .top-nav-item-anchor:hover,
.page-dark .top-nav-anchor:hover,
.page-dark .top-nav-item-anchor:focus,
.page-dark .top-nav-anchor:focus {
    color: var(--green);
}
.page-dark .top-nav-menu {
    background-color: #373E40;
}
.page-dark .header {
    background-color: #363D3F;
}
.page-dark .header.scrolled {
    background-color: #373E40;
}
.page-dark .top-nav-download {
    background: linear-gradient(90deg, #427583 -15.13%, var(--green) 100%), #0A1011;
    color: white !important; /* ignoring link colors */
}
.page-dark .top-nav-download:hover {
    background: linear-gradient(90deg, #427583 -15.13%, #80bdbd 100%), #0A1011;
}
.page-dark .anchor-heading {
    position: relative;
}
.anchor-link,
.header-link {
    position: relative;
    top: -12rem;
    left: 0;
}
.page-dark .docs-title,
.page-dark .content-title {
    font-family: Roboto;
    font-weight: bold;
    font-size: 3rem;
    line-height: 4.2rem;
    text-transform: uppercase;
    color: #FFFFFF;
}
#docs-top-link {
    position: fixed;
    bottom: 6.5rem;
    right: 1rem;
    display: block;
    padding: .5rem 1.5rem;
    background: linear-gradient(90deg, #427583 -15.13%, var(--green) 100%), #0A1011;
    box-shadow: 0px 4px 20px rgba(0, 0, 0, 0.38);
    color: white !important; /* ignoring link colors */
    text-transform: uppercase;
    text-align: center;
    text-decoration: none;
}
.docs-toc-title {
    margin-top: 0;
}
/* helper classes */

.centered {
    display: block;
    margin: auto;
}
.pb-10 {
    display: inline-block;
    padding-bottom: 1rem;
}
/* components */

.main {
    width: auto;
    margin: 0;
    padding: 0;
    box-sizing: border-box;
}
.header {
    padding: 2rem 0 1rem;
    background-color: #FFFFFF;
    position: fixed;
    left: 0;
    display: flex;
    flex-direction: row;
    justify-content: space-around;
    padding: 2rem 2.2rem;
    width: 100%;
    box-sizing: border-box;
    margin: 0 auto;
    z-index: 99;
    transition: box-shadow 0.5s;
}
.header.scrolled {
    box-shadow: 0 0.2rem 1rem rgba(0, 0, 0, 0.38);
    margin: 0;
}
.burger-toggle {
    padding: .4rem;
    border-radius: .3rem;
    width: 4rem;
    height: 4rem;
    border: 1px solid #ccc;
    background-color: white;
}
.burger-toggle .burger-line {
    display: block;
    width: 80%;
    margin: 6px auto;
    height: 2px;
    background-color: black;
    border-radius: 2px;
}
.page-dark .burger-toggle {
    padding: .4rem;
    border-radius: .3rem;
    width: 4rem;
    height: 4rem;
    border: 1px solid rgba(0, 0, 0, 0.3);
    background-color: rgba(0, 0, 0, 0.1);
}
.page-dark .burger-toggle .burger-line {
    background-color: white;
}
.top-nav-toggle {
    display: none;
}
.top-nav-container {
    display: flex;
    box-sizing: border-box;
}
.top-nav {
    font-family: Roboto;
    font-style: normal;
    font-weight: 600;
    font-size: 1.2rem;
    line-height: 14px;
    display: flex;
    align-items: center;
    align-self: center;
    text-align: center;
    letter-spacing: 0.08em;
    text-transform: uppercase;
    /* fix inherited styles from nav selector */
    float: none;
    width: auto;
}
.top-nav-list {
    display: flex;
    list-style-type: none;
    padding: 0;
    margin: 0;
}
.top-nav-item {
    display: block;
    padding: 0;
    position: relative;
}
.top-nav-item-anchor {
    display: block;
    padding: 1.55rem 2.75rem;
    position: relative;
    cursor: pointer;
    color: black;
}
.top-nav-item-anchor[href="#"] {
    cursor: default;
}
.top-nav-menu {
    display: none;
    background: white;
    list-style-type: none;
    padding: 0;
    margin: 0;
    position: absolute;
    top: 4rem;
    left: 50%;
    z-index: 60;
    transform: translateX(-50%);
    box-shadow: 0px 4px 20px rgba(0, 0, 0, 0.38);
}
.top-nav-menu[aria-hidden="false"] {
    display: block;
}
.top-nav-anchor {
    display: inline-block;
    padding: 1rem 0;
    width: 16rem;
    text-align: center;
    font-family: inherit;
}
.top-nav-item-anchor:link,
.top-nav-item-anchor:active,
.top-nav-item-anchor:visited,
.top-nav-anchor:link,
.top-nav-anchor:active,
.top-nav-anchor:visited {
    color: black;
    text-decoration: none;
}
.top-nav-item-anchor:hover,
.top-nav-anchor:hover,
.top-nav-item-anchor:focus,
.top-nav-anchor:focus {
    color: var(--green);
}
.top-nav-download {
    font-size: 14px;
    letter-spacing: 0.11rem;
    line-height: 16px;
    background: linear-gradient(115.55deg, #000000, rgba(255, 255, 255, 0.5) 131.3%), #0A1011;
    box-shadow: 0px 4px 20px rgba(0, 0, 0, 0.38);
    border-radius: 0.2rem;
    border: none;
    color: white;
    text-transform: uppercase;
    padding: 1.5rem;
    margin-left: 3rem;
    cursor: pointer;
    font-weight: normal;
    text-decoration: none;
    position: relative;
    top: 1.4rem;
}
.top-nav-download:hover {
    background-color: rgb(178, 178, 178);
}
.page-home .waves {
    background: url("/images/waves.svg") no-repeat top center;
    background-size: cover;
    height: 24vw;
}
.page-home .content-bottom {
    background: #363D3F;
    color: white;
    margin-top: -1px; /* fixes scaling issues from the little hack i'm doing */
}
.page-home .content-bottom .content-section {
    max-width: 110rem;
    margin: 0 auto;
}
.page-home .content-bottom .content-section-separator {
    max-width: 105.8rem;
    height: 1px;
    background-color: #969191;
    margin: 0 auto 7rem;
    border: none;
}
.page-home .content-bottom .content-section-title {
    font-family: Roboto;
    font-style: normal;
    font-weight: bold;
    font-size: 2.1rem;
    line-height: 2.9rem;
    text-transform: uppercase;
    color: #A9CBD4;
    padding: 0 0 0 2.2rem;
    margin: 0 0 5rem 0;
}
.page-home .content-bottom .content-section-header {
    font-size: 21px;
    line-height: 2.9rem;
    padding: 2.2rem;
    height: 6rem;
}
.page-home .content-bottom .content-section-list {
    list-style-type: none;
    display: flex;
    flex-direction: row;
    justify-content: space-between;
    margin: 0;
    padding: 0;
    flex-wrap: wrap;
}
.page-home .content-bottom .content-section-item {
    width: 25rem;
    height: 38.4rem;
    padding: 2.2rem;
}
.page-home .content-bottom .content-section-item-icon {
    /* TODO */
    display: inline-block;
}
.page-home .content-bottom .content-section-item-title {
    margin: 3.1rem 0 0;
    font-size: 18px;
    line-height: 2.5rem;
    text-transform: uppercase;
    color: #A9CBD4;
    height: 6rem;
    padding: 0;
}
.page-home .content-bottom .content-section-item-content {
    font-family: "Roboto Condensed";
    font-weight: 300;
    font-size: 1.6rem;
    line-height: 2.2rem;
    margin: 0;
    padding: 0;
}
.page-home .content * {
    box-sizing: border-box;
}
.page-home .content {
    box-sizing: border-box;
    width: auto;
    margin: 25rem 0 0;
    padding: 0;
    max-width: none;
}
.page-home .content-top {
    max-width: 76.7rem;
    margin: 13rem auto 0;
    text-align: center;
    font-family: Roboto;
}
.page-home .content-top-title {
    font-weight: 900;
    font-size: 3.8rem;
    line-height: 4.5rem;
    letter-spacing: 0.06em;
    text-transform: uppercase;
    margin: 0 0 0.2rem;
}
.page-home .content-top-subtitle {
    font-size: 21px;
    font-style: italic;
    line-height: 3rem;
    margin: 0;
    font-weight: 400;
}
.page-home .content-top-subtitle-strong {
    color: var(--green);
    font-weight: bold;
}
.page-home .content-top-text {
    font-weight: 100;
    font-size: 2.1rem;
    line-height: 3rem;
    padding: 0 .5rem 0;
}
.page-home .content-top-separator {
    width: 10rem;
    height: 1px;
    background-color: black;
    border: none;
    margin: 3.5rem auto 0;
    padding: 0;
}
.page-home .content-top-industry {
    font-weight: bold;
    font-size: 1.6rem;
    line-height: 2.4rem;
    margin-bottom: 0;
}
.page-home .content-top-industry-list {
    list-style-type: none;
    display: flex;
    max-width: 53rem;
    margin: 6rem auto;
    padding: 0;
    justify-content: space-between;
    font-style: italic;
}
.page-home .content-top-industry-item {
    display: flex;
    flex-direction: column-reverse;
    align-items: center;
    flex-wrap: wrap;
}
.page-home .content-top-industry-title {
    margin: 0;
    padding: 0.5rem 0.5rem 0 0;
    font-size: 1.4rem;
    font-weight: 500;
    text-transform: uppercase;
    border-top: 1px solid black;
    position: relative;
    width: 100%;
    left: -.5rem;
}
.page-home .content-top-industry-ratio {
    font-size: 2.2rem;
    font-weight: 700;
    line-height: 2.6rem;
    display: flex;
    flex-direction: row;
    margin: 1rem 0 0;
    padding: .2rem .3rem .2rem 0;
    align-items: center;
    justify-content: center;
    border-top: 1px solid black;
    width: 100%;
}
.page-home .content-top-industry-ratio-stacked {
    font-size: 0.9rem;
    text-transform: uppercase;
    width: 1.7rem;
    line-height: 0.9rem;
    text-align: left;
    margin-left: .5rem;
    font-weight: 400;
}
.quickstart-step {
    border: 0.2rem solid var(--green);
    padding: 1rem 10rem 2.5rem;
    margin-bottom: 3rem;
}
.quickstart-step .anchor-heading {
    margin-top: 2rem;
}
.quickstart-step .anchor-heading a {
    text-decoration: none;
    text-transform: uppercase;
}
.quickstart-step .anchor-link {
    top: -16rem;
}
.quickstart-step .note {
    font-style: italic;
    color: var(--gray-70);
}
.figure {
    position: relative;
    width: 100%;
    text-align: center;
    margin: 0;
}
.figure-image {
    max-width: 75%;
    max-height: 300px;
}
.figure-caption {
    text-align: center;
    max-width: 75%;
    margin: 0 auto;
    font-style: italic;
}
.podcast-list {
    list-style-type: none;
    margin: 0;
    padding: 0;
    display: flex;
    flex-direction: row;
    justify-content: space-between;
}
.podcast-item {
    display: flex;
    flex-direction: column;
    max-width: 24%;
    min-width: 10rem;
    height: max-content;
}
.podcast-figure {
    width: 100%;
    padding: 0;
    margin: 0;
}
.podcast-figure-image {
    width: 100%;
    padding: 0.5rem;
    border: 1px solid var(--green);
}
.podcast-title {
    margin-top: 0;
    padding-top: 0;
}
.content-top-industry-full-list {
    position: relative;
    color: var(--green);
    text-decoration: underline;
    text-align: center;
    cursor: default;
    text-transform: uppercase;
    font-weight: bold;
    padding: .5rem;
    font-size: 1.2rem;
}
.content-top-industry-full-list:hover .content-top-industry-full-list-tooltip,
.content-top-industry-full-list:active .content-top-industry-full-list-tooltip {
    display: block;
} 
.content-top-industry-full-list-tooltip {
    font-size: 1.4rem;
    font-weight: 300;
    display: none;
    position: absolute;
    top: 3rem;
    left: 0;
    text-align: left;
    box-shadow: 0px 15px 30px rgba(0, 0, 0, 0.25);
    color: black;
    left: 50%;
    transform: translateX(-50%);
    padding: 1.2rem 2.2rem;
    background: white;
    white-space: nowrap;
    text-transform: none;
}
.page-home .content-top-disclaimer {
    font-weight: 100;
    font-size: 16px;
    line-height: 2.4rem;
    max-width: 38.5rem;
    padding: 0 2rem;
    margin: 0 auto;
}
.footer {
    flex: 1;
    min-height: 5.3rem;
    position: relative;
}
.footer__inner {
    position: absolute;
    bottom: 0;
    left: 0;
    width: 100%;
    border-top: .1rem solid #dedede;
    font-size: .9rem;
    line-height: 1.2rem;
    color: #888888;
    padding: 2rem 0;
    background: white;
}
.footer__legal {
    margin: 0 2rem;
}
.footer__legal a {
    color: #666666;
}
.sub-header {
    overflow: hidden;
    margin: 3rem 0 1rem;
}
.breadcrumbs {
    list-style: none;
    padding: 0;
    text-transform: uppercase;
    margin-bottom: 0;
    display: flex;
}
.breadcrumbs li {
    display: flex;
    align-items: center;
    margin-right: .8rem;
}
.breadcrumbs li::after {
    content: '\00BB';
    margin-left: .6rem;
    height: 1rem;
    line-height: .9rem;
}
.breadcrumbs a {
    color: #000000;
}
.breadcrumbs a:hover {
    color: #0B6D88;
}
.content {
    width: 98rem; /* the original width (120) minus the padding that accounted for the left nav (22) */
    max-width: 98vw;
    margin: 0 auto;
    margin-top: 12rem;
    padding: 0 0 12rem 0;
}
nav {
    float: left;
    text-transform: uppercase;
    width: 16rem;
}
nav a {
    text-decoration: none;
}
.nav__item,
.nav__item__with__subs {
    color: #000000;
    border-right: 2px solid #000000;
    display: block;
    padding-top: 1.5rem;
    position: relative;
}
.nav__item__with__subs {
    padding-top: 0;
}
.nav__sub__anchor,
.nav__sub__item {
    border-right: none;
}
.nav__sub__item {
    display: none;
    color: #888888;
    font-size: 1.2rem;
    text-transform: capitalize;
}
.nav__item__with__subs--expanded .nav__sub__item {
    display: block;
}
.nav__item:first-of-type {
    padding-top: 0;
}
.nav__item__with__subs .nav__item:first-of-type {
    padding-top: 1.5rem;
}
.nav__item::after {
    content: "";
    display: block;
    height: 1.1rem;
    width: 1.1rem;
    border-radius: 1rem;
    -moz-border-radius: 1rem;
    -webkit-border-radius: 1rem;
    border: 2px solid #000000;
    background: #FFFFFF;
    position: absolute;
    right: -.9rem;
    top: 1.7rem;
    opacity: 0;
    transition: opacity .2s ease-out;
}
.nav__item.selected::after {
    opacity: 1;
}
.nav__item.selected:first-of-type::after {
    top: .2rem;
}
.nav__item__with__subs .nav__item:first-of-type::after {
    top: 1.7rem;
}
nav .btn {
    display: block;
    margin-top: 4rem;
}
.social-links {
    margin: 2rem 0 3rem;
    font-size: 1.2rem;
}
.twitter {
    color: #888888;
    text-transform: none;
    background-image: url(/images/twitter_logo.png);
    background-size: contain;
    background-repeat: no-repeat;
    padding-left: 1.9rem;
}
.twitter:hover {
    color: #888888;
    opacity: 0.8;
}
.right {
    min-height: 60rem;
    overflow: hidden;
}
.apache-feather {
    position: absolute;
    bottom: 2rem;
    right: 2rem;
}
.apache-feather:hover {
    -webkit-animation-name: spin;
    -webkit-animation-duration: 200ms;
    -webkit-animation-iteration-count: infinite;
    -webkit-animation-timing-function: linear;
    -moz-animation-name: spin;
    -moz-animation-duration: 200ms;
    -moz-animation-iteration-count: infinite;
    -moz-animation-timing-function: linear;
    -ms-animation-name: spin;
    -ms-animation-duration: 200ms;
    -ms-animation-iteration-count: infinite;
    -ms-animation-timing-function: linear;
    animation-name: spin;
    animation-duration: 200ms;
    animation-iteration-count: infinite;
    animation-timing-function: linear;
}
@-ms-keyframes spin {
    from {
        -ms-transform: rotate(0deg);
    }
    to {
        -ms-transform: rotate(360deg);
    }
}
@-moz-keyframes spin {
    from {
        -moz-transform: rotate(0deg);
    }
    to {
        -moz-transform: rotate(360deg);
    }
}
@-webkit-keyframes spin {
    from {
        -webkit-transform: rotate(0deg);
    }
    to {
        -webkit-transform: rotate(360deg);
    }
}
@keyframes spin {
    from {
        transform: rotate(0deg);
    }
    to {
        transform: rotate(360deg);
    }
}
/* pages */

.index {
    text-align: center;
    padding-right: 25%;
}
.desc {
    margin-bottom: 6rem;
    overflow: hidden;
}
.desc-item {
    float: left;
    margin-left: 4.2rem;
    overflow: hidden;
}
.desc-item:first-of-type {
    margin-left: 0;
}
.desc-item h2 {
    color: #000000;
    margin-top: 20px;
}
.desc-item p {
    color: #000000;
    margin: 0;
    width: 20rem;
}
.desc-item__cta {
    margin-top: .5rem;
    display: block;
}
.desc-item p:before {
    content: "";
    border-top: 2px solid #000000;
    display: block;
    -webkit-transition: width .5s;
    transition: width .5s;
    width: 5rem;
    margin: .2rem 0 1rem;
}
.desc-item:hover p:before {
    border-color: #0C637B;
    width: 22rem;
}
.desc-item:hover h2,
.desc-item:hover p {
    color: #0C637B;
}
.news {
    text-transform: uppercase;
    color: #000;
    display: inline-block;
    border: solid 3px #000;
    padding: 20px;
    margin-left: 20px;
    vertical-align: top;
}
.news h2 {
    font-size: 18px;
    margin: 0 0 10px;
}

.news article {
    display: flex;
    flex-direction: column;
    margin-bottom: 10px;
}
.news h3 {
    font-size: 13px;
    margin: 0;
}
.news h3 a {
    color: #1471E2;
    text-decoration: none;
}
.news time {
    font-size: 10px;
}
.callout {
    background-color: #F0F0F0;
    padding: 1.5rem 2rem 3rem;
    width: 33rem;
    margin: 2rem auto 0;
    position: relative;
    text-align: center;
}
.callout--basic {
    width: auto;
}
.page-dark .callout {
    background-color: #363D3F;
    border: 1px solid #888;
    border-radius: .4rem;
}
.callout::before {
    content: "";
    width: 0;
    height: 0;
    border-style: solid;
    border-width: 8rem 0 0 5rem;
    border-color: transparent transparent transparent #F0F0F0;
    top: -6rem;
    right: 10rem;
    position: absolute;
    -ms-transform: rotate(-10deg);
    -webkit-transform: rotate(-10deg);
    transform: rotate(-10deg);
}
.callout--basic::before {
    display: none;
}
.callout__action {
    display: inline-block;
    width: 10rem;
}
.documentation__banner {
    background-color: rgba(0, 0, 0, 0.8);
    color: #ffffff;
    display: block;
    padding: 1.5rem 2rem;
    margin-bottom: 3rem;
    border-bottom: 2px solid transparent;
}
.documentation__banner:hover {
    background-color: #888888;
    color: #ffffff;
    cursor: pointer;
}
.page-dark .documentation__banner:hover {
    background-color: #222;
    border-bottom: 2px solid white;
}
.documentation--current .documentation__banner {
    display: none;
}
.content.documentation--current {
    position: relative;
    display: flex;
}
.content.documentation--current .right {
    max-width: 65rem;
    margin: 0 0 0 auto;
}
.content.documentation--current.expanded .right {
    max-width: 85rem;
    margin: 0 0 0 auto;
    overflow: visible;
}
.grid {
    margin: 2rem 0;
    max-width: 100%;
}
.grid__item {
    width: 23rem;
    margin: .65rem;
    border-radius: .4rem;
    overflow: hidden;
    border: 1px solid #888888;
}
.grid__item__link {
    display: block;
    height: 8rem;
    margin-bottom: -.1rem;
    text-align: center;
    padding-top: 1rem;
    text-decoration: none;
    border-bottom: 1px solid #888888;
}
.grid__item__link:hover {
    opacity: .8;
}
.grid__item__logo {
    margin: auto;
    width: 16rem;
    height: 6rem;
    display: block;
    background-size: contain;
    background-repeat: no-repeat;
    background-position: center center;
}
.grid__item__description {
    margin: 0 2rem 2rem;
    padding-top: 2rem;
}
.pagination {
    margin-top: 5rem;
    margin-bottom: 8rem;
    display: flex;
    justify-content: space-between;
}
.pagination__btn {
    border: .1rem solid #0B6D88;
    border-radius: .2rem;
    padding: .3rem;
    width: 8rem;
    display: flex;
    align-items: center;
    justify-content: center;
}
.pagination__btn__next::after {
    content: '\00BB';
    margin-left: .6rem;
    height: 1rem;
    line-height: .9rem;
}
.pagination__btn__prev::before {
    content: '\00AB';
    margin-right: .6rem;
    height: 1rem;
    line-height: .9rem;
}
.pagination__btn:hover {
    opacity: .7;
}
.pagination__btn--disabled {
    display: none;
}
.page-dark .pagination__btn {
    border-color: white;
    color: white;
    text-decoration: none;
}
.page-dark .pagination__btn:hover {
    text-decoration: underline;
    border-color: white;
    color: white;
    background: rgba(0, 0, 0, 0.2);
}
/* Doc landing page */

.hero {
    margin: 6rem 0 5rem;
    display: flex;
    justify-content: space-around;
}
.hero__diagram {
    max-width: 50rem;
}
.hero__cta {
    display: flex;
    flex-direction: column;
    align-items: center;
    justify-content: flex-end;
    flex-basis: 25rem;
    flex-shrink: 0;
    padding-bottom: 4rem;
}
.hero__cta .btn {
    height: 5.8rem;
    width: 25rem;
    font-size: 2rem;
    font-weight: 700;
    margin-top: 1rem;
}
.cards {
    display: flex;
    height: 16rem;
    max-width: 92rem;
    margin-top: 6rem;
    margin-bottom: 8rem;
}
.card {
    flex: 1;
    margin-right: 2rem;
    border: .2rem solid #000000;
    border-radius: .4rem;
    display: flex;
    flex-direction: column;
    align-items: center;
    justify-content: center;
}
.card:hover {
    border-color: #888888;
    background: #888888 url('/images/icons/slash--white.png') no-repeat .5rem .5rem;
    background-size: 2.5rem 2.4rem;
}
.cards .card:last-of-type {
    margin-right: 0;
}
.card__icon,
.card__label {
    display: flex;
}
.card__icon {
    width: 8.1rem
}
.card__icon--hover {
    display: none;
}
.card__label {
    margin-top: 1rem;
    color: #000000;
    text-transform: uppercase;
}
.card:hover .card__label {
    color: #FFFFFF;
}
.card:hover .card__icon {
    display: none;
}
.card:hover .card__icon--hover {
    display: flex;
}
.code-example {
    box-sizing: border-box;
}
.code-example .btn-group {
    display: inline-block;
    margin-bottom: 2rem;
}
.code-example__snippet {
    display: none;
}
.code-example .selected {
    display: block;
}
.feature-list {
    list-style: none;
    padding: 0;
    display: block;
    overflow: hidden;
}
.feature-list li {
    float: left;
    width: 50%;
    line-height: 3.2rem;
    margin-bottom: 1rem;
}
.feature-list li::before {
    content: '';
    display: block;
    height: 2.8rem;
    width: 2.8rem;
    border: .2rem solid;
    border-radius: 2rem;
    float: left;
    margin-right: .8rem;
    background-image: url('/images/icons/check.png');
    background-size: contain;
}

.download-version a{
    visibility: hidden;
    padding-left:10px;
  }
  .svg-inline--fa.fa-w-16 {
    width: 0.8em;
 }

#streams-use-case {
    visibility: hidden;
    opacity:0.7;

}

/* Responsive styles */

@media only screen and (max-width: 1240px) {
    .main {
        width: auto;
        max-width: 100%;
        margin: 0 2rem;
    }
    .page-home .main {
        margin: 0;
    }
    .footer {
        min-height: 6.4rem;
    }
    .footer__legal__one {
        display: block;
    }
    .desc-item h2 {
        margin-top: 4rem;
    }
    .news {
        margin-left: 0;
        margin-top: 4rem;
    }
}
@media only screen and (min-width: 1126px) {
    .video__series__grid {
        flex-direction: row;
    }
}
@media only screen and (max-width: 1125px) {
    .news {
        margin-top: 0;
    }
    .video__block {
        padding-left: 0px!important;
        padding-top: 15px;
    }
    .video__series__grid {
        flex-direction: column;
        margin: 0 auto 40px;
    }
    ul.video-list {
        padding-left: 21px!important;
    }
    .desc {
        margin-left: 0;
        margin-bottom: 3rem;
    }
    .desc-item,
    .desc-item:first-of-type {
        float: none;
        width: auto;
        margin-left: 0;
        display: block;
        margin-bottom: 4rem;
    }
    .desc-item p {
        width: auto;
    }
    .desc-item h2 {
        margin-top: 0;
    }
    .desc-item:first-of-type h2 {
        margin-top: 4rem;
    }
    .index {
        padding-right: 0;
        text-align: left;
    }
    .callout {
        margin: 2rem 1.5rem;
    }
    .hero {
        justify-content: flex-start;
    }
    .hero__diagram {
        max-width: 42rem;
        margin-right: 4rem;
    }
    .feature-list li {
        width: 100%;
    }
}
@media only screen and (max-width: 1035px) {
    .apache-feather {
        bottom: 2.8rem;
    }
}
@media only screen and (max-width: 950px) {
    .hero {
        flex-direction: column;
    }
    .hero__diagram {
        margin: 0;
        max-width: 100%;
    }
    .hero__cta {
        flex-direction: row;
        justify-content: center;
        flex-basis: inherit;
        margin-top: 4rem;
    }
    .hero__cta .btn:first-of-type {
        margin-right: 1rem;
    }
    .card {
        margin-right: 1rem;
    }
}
@media only screen and (max-width: 800px) {
    .kafka-diagram {
        width: 80%;
        min-width: 28rem;
        height: auto;
    }
    .callout {
        width: 60%;
        min-width: 21rem;
    }
    .callout::before {
        right: 25%;
    }
    .footer {
        min-height: 7.6rem;
    }
    .footer__legal__two {
        display: block;
    }
    .hero__cta .btn {
        font-size: 1.5rem;
        font-weight: 400;
        height: auto;
    }
    .cards {
        flex-direction: column;
        margin-top: 4rem;
        height: auto;
        margin-bottom: 4rem;
    }
    .card {
        margin-right: 0;
        margin-bottom: 1rem;
        min-height: 10rem;
        flex-direction: row;
        justify-content: flex-start;
    }
    .card__icon {
        width: 7rem;
        margin: 0 2rem 0 2rem;
    }
    .card__label {
        margin: 0;
    }
}
@media only screen and (max-width: 650px) {
    html,
    body {
        overflow-y: auto;
        -webkit-overflow-scrolling: touch;
    }
    .main {
        padding: 0 1rem;
        margin: 0;
    }
    .page-home .main {
        padding: 0;
    }
    .kafka-diagram {
        display: block;
        margin: 0 auto;
    }
    .callout {
        margin: 2rem auto;
    }
    .right {
        padding-bottom: 10rem;
    }
    .navindicator {
        min-width: 32rem;
        position: absolute;
        top: -0.8rem;
        left: 0;
        width: 100%;
        text-align: center;
        z-index: 2;
    }
    .navindicator__item {
        height: .2rem;
        width: calc(79% / 12);
        /* Note: width of mobile nav indicator should be divided by number of top level pages */

        background-color: #888888;
        display: inline-block;
        margin: 0 .5%;
    }
    .navindicator__item.selected {
        background-color: #FFFFFF;
    }
    nav {
        display: block;
        position: fixed;
        background-color: #000000;
        bottom: 0;
        left: 0;
        z-index: 1;
        width: 100%;
    }
    .nav-scroller {
        white-space: nowrap;
        overflow-y: hidden;
        overflow-x: scroll;
        -webkit-overflow-scrolling: touch;
        box-shadow: 0 0 1rem rgba(0, 0, 0, 0.3);
    }
    .nav__inner {
        width: 2000px;
    }
    .nav__item,
    .nav__item:first-of-type {
        color: #888888;
        float: left;
        padding: 2.6rem 1.1rem 1.8rem;
        border: none;
    }
    .nav__item.selected,
    .nav__item:hover {
        color: #FFFFFF;
    }
    .nav__item::after,
    .nav__item.selected::after,
    nav.hovering .nav__item:hover::after,
    nav .btn,
    .social-links,
    .footer {
        display: none;
    }
    .nav__item__with__subs .nav__item:first-of-type,
    .nav__item .nav__item {
        padding: 0;
    }
    .nav__sub__item {
        margin-left: 2rem;
        line-height: 2.2rem;
    }
    .right {
        margin: 0;
        min-height: auto;
    }
}
@media only screen and (max-width: 460px) {
    body {
        font-size: 1.2rem;
    }
    h1 {
        font-size: 3.6rem;
    }
    h2,
    h3,
    h4 {
        font-size: 1.6rem;
    }
    .logo {
        width: 21.667rem;
        height: auto;
    }
    .desc-item,
    .desc-item:first-of-type {
        margin-bottom: 2rem;
    }
    .grid__item {
        width: 96% !important;
        position: relative !important;
        float: left !important;
        top: auto !important;
        left: auto !important;
        margin-bottom: 2rem;
    }
    .btn-group a {
        min-width: 0;
        padding: 0 1rem;
    }
    .hero {
        margin-bottom: 0;
    }
    .feature-list li {
        line-height: 2.2rem;
    }
    .feature-list li:before {
        height: 2rem;
        width: 2rem;
    }
}
@media only screen and (max-width: 390px) {
    .hero__cta {
        flex-direction: column;
    }
    .hero__cta .btn {
        width: 100%;
    }
    .hero__cta .btn:first-of-type {
        margin-right: 0;
    }
}
.customer__cards {
    display: flex;
    height: 30rem;
    max-width: 92rem;
}
.customer_cards_2 {
    margin-top: 4.2rem;
    display: flex;
    height: 40rem;
    max-width: 92rem;
}
.customer__card {
    flex: 1;
    margin-right: 2rem;
    border-radius: .4rem;
    display: flex;
    flex-direction: column;
    align-items: left;
    text-align: justify;
}
.customer-right {
    margin-right: 0rem;
}
.customer__card__icon {
    align-items: center;
    border: 1px solid #888;
    border-radius: 4px;
    display: flex;
    height: 80px;
    justify-content: center;
    width: 268px;
}
.green_card {
    background-color: #00b900;
}
.customer__card__label {
    color: #000000;
    margin-top: 2.4rem;
    display: flex;
}
/* Streams page - adding video & cusomter logos*/

.sticky-top .active-menu-item {
    width: 108px;
    height: 2px;
    border-bottom: solid 4px #000000;
    color: #000!important;
    padding-bottom: 0;
}
.page-dark .sticky-top .active-menu-item {
    color: #fff!important; /* have to override the previous -- assuming it was there for a reason */
    border-bottom-color: #fff;
}
.sticky-top a {
    color: #8c8888;
    margin-top: 16px;
    height: 28px;
    font-family: Roboto;
    font-size: 15px;
    line-height: 1.87;
    text-align: left;
    margin-right: 30px;
    text-transform: uppercase;
}
.sticky-top {
    overflow-y: hidden;
    -webkit-overflow-scrolling: touch;
}
.sticky-top > div {
    height: auto !important;
}
.video__series__grid {
    width: 92%;
    display: -webkit-flex;
    /* Safari */

    display: flex;
    margin-bottom: 60px;
    /*flex-direction: row;*/
}
.video-list li {
    display: list-item;
    font-family: Roboto;
    font-size: 15px;
    line-height: 2.67;
    text-align: left;
    color: #d8d8d8;
    text-transform: capitalize;
}
.video-list .active {
    color: #000;
}
.video-list .active:before {
    background-color: #000;
    border: solid 2px #000;
}
ul.video-list {
    list-style-type: none;
    /* Setup the counter. */

    counter-reset: num;
    padding-left: 0px;
}
.video-list {
    margin-bottom: 1rem;
}
.video-list li:before {
    /* Advance the number. */

    counter-increment: num;
    /* Use the counter number as content. */

    content: counter(num);
    color: #fff;
    background-color: #d8d8d8;
    width: 50px;
    border-radius: 50%;
    padding: 5px 10px;
    margin-right: .8rem;
}
.grid__item__customer__description {
    margin: 0 2rem 2.2rem;
    padding-top: 0rem;
}
.stream__text {
    margin-top: 5.2rem;
    margin-bottom: 3.2rem;
}
.video__block h3 {
    font-size: 15px;
    line-height: 1.87;
    font-family: Roboto;
}
.video__block {
    padding-left: 42px;
}
.streams_intro {
    margin-top: 42px;
    margin-bottom: 15px;
}
.streams__description {
    font-family: Roboto;
    font-size: 15px;
    line-height: 1.87;
    text-align: justify;
    color: #000000;
    margin-bottom: 54px;
    max-width: 91rem;
}
.page-dark .streams__description {
    color: white;
}
.separator {
    width: 920px;
    margin-right: 153px;
}
.customers__grid * {
    box-sizing: border-box;
}
.customer__grid {
    margin: 0;
    padding-bottom: 20px;
}
.customer__item {
    border-radius: 10px;
    overflow: hidden;
    padding: 0px;
    width: 100%;
}
.streams_logo_grid {
    border: solid 1px #888888;
}
.streams__ny__grid,
.streams__line__grid,
.streams__rabobank__grid,
.streams__zalando__grid {
    height: auto;
}
.grid__logo__link {
    display: block;
    height: 8rem;
    margin-bottom: 2rem;
    text-align: center;
    padding-top: 2rem;
}
.navbar-fixed {
    position: fixed;
    background-color: #fff;
    color: #fff;
    margin-top: 0px;
    padding: 10px 0px 20px;
    /*width: 92rem;*/

    z-index: 50;
    top: 0px;
    overflow: auto;
    width: 95%;
}
@media only screen and (max-width: 650px) {
    .navbar-fixed {
        position: fixed!important;
        background-color: #fff;
        color: #fff;
        margin-top: 0px;
        padding: 10px 0px 20px;
        /*width: 92rem;*/

        z-index: 50;
        top: 0px;
        left: 0;
        z-index: 1;
        width: 100%;
    }

}
.yt_series {
    display: none;
    width: 420px;
    height: 315px;
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    border: none;
}
.video__series_grid .active {
    display: block;
}
.first__app__btn {
    background-color: #0B6D88;
    color: #FFFFFF;
    border-radius: .2rem;
    -moz-border-radius: .2rem;
    -webkit-border-radius: .2rem;
    text-align: center;
    text-transform: capitalize;
    padding: .9rem 2rem;
    box-sizing: border-box;
}
.first__app__btn:hover {
    background-color: #888888;
    border-color: #888888;
    color: #FFFFFF;
}
/* Doc landing page */

.use-item-section {
    margin: 2.2rem 0 3.8rem;
    display: flex;
    justify-content: flex-start;
}
.use__list__sec {
    max-width: 50rem;
}
.first__app__cta {
    display: flex;
    flex-direction: column;
    align-items: center;
    justify-content: center;
    flex-basis: 25rem;
    flex-shrink: 0;
    padding-bottom: 4rem;
}
.first__app__cta .first__app__btn {
    height: 5.8rem;
    width: 25rem;
    font-size: 2rem;
    font-weight: 700;
    margin-top: 1rem;
}
.use-feature-list {
    list-style: none;
    padding: 0;
    display: block;
    overflow: hidden;
    padding-left: 1.5rem;
}
.use-feature-list li {
    float: left;
    line-height: 3rem;
    margin-bottom: 1rem;
}
.use-feature-list li::before {
    content: '';
    display: block;
    height: 2.8rem;
    width: 2.8rem;
    border: .2rem solid;
    border-radius: 2rem;
    float: left;
    margin-right: .8rem;
    background-image: url('/images/icons/check.png');
    background-size: contain;
}
.video-number {
    background-color: #d8d8d8;
    color: #fff;
    width: 50px;
    border-radius: 50%;
    padding: 5px 10px;
    margin-right: .8rem;
}
.video__text {
    font-family: Roboto;
    font-size: 15px;
    line-height: 2.67;
    text-align: left;
    color: #d8d8d8;
    text-transform: capitalize;
}
.video__list .active .video-number {
    background-color: #000;
    color: #fff;
}
.page-dark .video__list .active .video-number {
    background-color: white;
    color: black;
}
.video__list .active .video__text {
    color: #000;
}
.page-dark .video__list .active .video__text {
    color: #fff;
    text-decoration: underline;
    text-decoration-color: black;
}
.video__item {
    margin: 0px;
}
.yt__video__block {
    -webkit-flex: 1;
    /* Safari 6.1+ */

    -ms-flex: 1;
    /* IE 10 */

    flex: 1;
}
.yt__video__inner__block {
    position: relative;
    padding-bottom: 56.25%;
    padding-top: 0px;
    height: 0;
    overflow: hidden;
}
.extra__space{
    padding-bottom:2.8rem;
}
/* TODO: this may be repeatable -- let's pay attention to any new designs */
.page-get-started .page-header {
    margin-top: 10rem;
    padding-top: 22rem;
}
.page-get-started .page-header-nav {
    margin-bottom: 10rem;
}
.page-header {
    margin-top: 5rem;
    padding: 5rem 0;
    width: 76.6rem;
    margin: 0 auto;
}
.page-header-title,
.content-title {
    font-family: Roboto;
    font-weight: 900;
    font-size: 3.8rem;
    line-height: 4.5rem;
    letter-spacing: 0.06rem;
    text-transform: uppercase;
}
.page-header-title {
    text-align: center;
}
.content-title {
    margin-bottom: 2rem;
}
.page-header-text {
    font-family: Roboto;
    font-style: italic;
    font-size: 2.1rem;
    line-height: 3rem;
    text-align: center;
}
.page-header-nav {
    list-style-type: none;
    display: flex;
    flex-direction: row;
    justify-content: center;
    margin: 5rem 0 7rem;
    padding: 0;
}
.page-header-nav-item {
    display: inline-block;
    margin: 0 1rem;
}
.page-header-nav-item-anchor {
    display: flex;
    width: 20rem;
    height: 5.2rem;
    justify-content: center;
    align-items: center;
    border: 0.2rem solid;
    font-family: Roboto;
    font-weight: bold;
    font-size: 1.4rem;
    line-height: 2rem;
    letter-spacing: 0.08em;
    text-transform: uppercase;
    text-decoration: none;
}
.page-header-nav-item-anchor,
.page-header-nav-item-anchor:link {
    color: var(--green);
}
.page-header-nav-item-anchor.current,
.page-header-nav-item-anchor.current:link {
    background: var(--green);
    color: #fff;
}
.page-header-video {
    width: 76.6rem;
    text-align: center;
}
.page-header-video-embed {
    width: 48rem;
}
.page-get-started .content-subtitle {
    font-style: italic;
    font-size: 2.1rem;
}
.page-get-started .content-section-title {
    font-weight: normal;
    text-transform: none;
    font-size: 1.8rem;
    margin: 5rem 0 3.2rem;
}
.page-get-started .content-section-title::before {
    content: " ";
    width: 30px;
    height: 4px;
    background: var(--green);
    display: block;
    margin-bottom: 1.1rem;
}
.page-get-started .content-feature-list {
    margin: 0;
    list-style-type: none;
    display: flex;
    flex-direction: row;
    flex-wrap: wrap;
    justify-content: space-between;
    padding: 0;
}
.page-get-started .content-feature-item {
    margin: 0;
    width: 31.7%;
    min-height: 19.5rem;
    margin: 0;
    padding: 3rem 3.5rem;
    border: 0.2rem solid #A9CBD4;
    display: flex;
    align-content: flex-start;
    flex-direction: column;
}
.page-get-started .content-feature-learn-more {
    display: block;
    margin-top: auto;
    font-family: Roboto;
    font-weight: bold;
    font-size: 1.2rem;
    line-height: 1.7rem;
    text-decoration-line: underline;
    text-transform: uppercase;
    color: var(--green);
}
.page-get-started a.content-feature-learn-more:link {
    color: var(--green);
}
.page-get-started .content-feature-title {
    margin: 0 0 2.1rem;
    font-family: Roboto;
    font-weight: 900;
    font-size: 1.8rem;
    line-height: 2.1rem;
    letter-spacing: 0.06em;
    text-transform: uppercase;
}
.page-get-started .content-feature-text {
    font-family: "Roboto Condensed";
    font-size: 1.6rem;
    line-height: 2.2rem;
    margin-top: 0;
}
.page-get-started .content-feature-diagram {
    width: 100%;
    text-align: center;
    padding: 3rem 0;
}
.page-get-started .content-feature-diagram-image {
    width: 100%;
    max-width: 64.5rem;
}

/* Utilities */

.visually-hidden { 
    position: absolute !important;
    height: 1px; 
    width: 1px;
    overflow: hidden;
    clip: rect(1px 1px 1px 1px); /* IE6, IE7 */
    clip: rect(1px, 1px, 1px, 1px);
    white-space: nowrap; /* added line */
}

/* Responsive styles */

@media only screen and (max-width: 1125px) {
    .use-item-section {
        justify-content: flex-start;
    }
    .use__list__sec {
        max-width: 42rem;
        margin-right: 4rem;
    }
    .use-feature-list li {
        width: 100%;
    }
    .extra__space{
       padding-bottom:0rem;
    }
    .page-home .waves {
        min-height: 24rem;
        height: auto;
        background-size: 100vw auto;
    }
}
@media only screen and (max-width: 1000px) and (min-width: 461px) {
    .page-home .content-bottom .content-section-list {
        justify-content: space-around;
    }
    .page-home .content-bottom .content-section-item {
        width: 40vw;
        padding: 3vw;
    }
    .page-home .content-bottom .content-section-title {
        margin-left: auto;
        margin-right: auto;
        width: 90vw;
        padding-left: 3vw;
    }
}
@media only screen and (max-width: 1000px) {
    .page-streams .main {
        margin: 0;
    }
    .content {
        margin: 0 auto;
        max-width: 95vw;
        padding-top: 12rem;
    }
    .documentation--current .sticky-top {
        white-space: normal;
        overflow: auto;
    }
    .documentation--current .sticky-top .active-menu-item {
        border-bottom: none;
        font-weight: bold;
    }
    .documentation--current .sticky-top > div {
        height: auto !important; /* override inline styles */
    }
}
@media only screen and (max-width: 950px) {
    .use-item-section {
        flex-direction: column-reverse;
        margin: 0rem;
    }
    .use__list__sec {
        margin: 0;
        text-align: center;
        max-width: 100%;
    }
    .use-feature-list li::before {
        content: none;
    }
    .first__app__cta {
        flex-direction: row;
        justify-content: center;
        flex-basis: inherit;
        margin-top: 4rem;
    }
    .first__app__cta .first__app_btn:first-of-type {
        margin-right: 1rem;
    }
    .content {
        max-width: 90vw;
    }
    .page-home .content-top {
        padding: 0 2rem;
        margin-top: 10rem;
    }
    .page-home .waves {
        min-height: 24rem;
        background-size: 950px auto;
    }
    .header {
        box-sizing: border-box;
        position: fixed;
        top: 0;
        left: 0;
        height: 8rem;
        padding: 1.5rem;
        z-index: 99;
        text-align: center;
        display: block;
        background-color: var(--white);
    }
    .header.scrolled {
        box-shadow: 0px 4px 20px rgba(0, 0, 0, 0.38);
    }
    .page-dark .header {
        background-color: #373E40;
    }
    .page-dark .top-nav-toggle + .top-nav-container {
        background-color: #373E40;
    }
    .page-home .content-home {
        margin-top: 16rem;
    }
    .logo {
        width: auto;
        height: 5rem;
    }
    .top-nav-toggle {
        display: inline-block;
        position: absolute;
        left: 1rem;
        margin: 0.5rem;
    }
    .top-nav-toggle + .top-nav-container {
        pointer-events: none;
        position: absolute;
        display: block;
        text-align: left;
        opacity: 0;
        left: 0;
        right: 0;
        bottom: 0;
        top: 8rem;
        width: 100vw;
        height: calc(100vh - 8rem);
        z-index: 99;
        background: rgba(255, 255, 255, 0.95);
        transition: all 0.35s;
        overflow-x: hidden;
        overflow: scroll;
    }
    .top-nav-toggle + .top-nav-container .top-nav {
        margin-top: 0;
        transition: all 0.35s;
        background: transparent;
        top: 10rem;
        display: block;
        overflow-y: auto;
    }
    .top-nav-toggle.active + .top-nav-container {
        pointer-events: all;
        opacity: 1;
    }
    .top-nav {
        padding: 0.8rem 2.2rem;
        margin-top: 0;
    }
    .top-nav-item {
        margin-bottom: 1rem;
        display: block;
    }
    .top-nav-list,
    .top-nav-menu {
        width: 100%;
        position: static;
        display: block;
        box-shadow: none;
        background: none;
        transform: none;
        left: 0;
        text-align: left;
    }
    .top-nav-menu {
        margin-left: 2rem;
    }
    .top-nav-item-anchor,
    .top-nav-anchor {
        width: auto;
        text-align: left;
        padding: 0.8rem 0;
        font-size: 1.4rem;
        font-weight: 400;
        padding-left: 1rem;
    }
    .top-nav-download {
        width: 78vw;
        max-width: 30rem;
        text-align: center;
        margin: 3rem auto 0;
        display: block;
        position: static;
    }
    .docs-nav {
        height: auto;
        width: auto;
    }
    .documentation--current .docs-nav {
        width: auto;
        position: static;
        margin-top: 0;
        padding-top: 0;
        text-transform: uppercase;
        margin-bottom: 5rem;
        overflow: hidden;
        overflow-y: auto;
    }
    .documentation--current .toc-handle-container {
        display: none;
    }
    .anchor-link,
    .headerlink {
        top: -10rem;
    }
    .quickstart-step {
        border: 0.2rem solid var(--green);
        padding: 1rem 2rem 2.5rem;
        margin-bottom: 3rem;
    }
    .page-header-nav {
        margin: 3rem auto;
        display: block;
    }
    .page-header-nav-item {
        width: 95vw;
        margin: 0;
    }
    .page-header-nav-item-anchor {
        width: 95vw;
        padding: 1rem auto;
        margin: 0;
    }
    .page-header {
        margin-top: 3rem;
        padding-top: 3rem;
        width: 95vw;
        margin: 0 auto;
    }
    .page-header-title,
    .content-title {
        font-size: 3rem;
        line-height: 3.8rem;
    }
    .page-header-text {
        font-size: 1.6rem;
        line-height: 2.4rem;
    }
    .page-header-video {
        width: 95vw;
        height: auto;
    }
    .page-header-video-embed {
        width: 95vw;
        height: 24vh;
    }
    .content.documentation--current {
        display: block;
    }
    .content.documentation--current .right {
        width: 95vw;
        margin: 0 auto;
        max-width: none;
    }
    .page-home .content {
        margin-top: 16rem;
    }
    .logo-link,
    .page-dark .logo-link {
        width: 170px;
        height: 50px;
        background-size: 168px auto;
        background-repeat: no-repeat;
    }
    .content {
        margin: 0 auto;
        max-width: 95vw;
        padding-top: 12rem;
    }
    .content-separator {
        max-width: 95vw;
        background-color: #969191;
        border: none;
        height: 1px;
    }
    #docs-top-link {
        bottom: 1rem;
    }
    .podcast-list {
        display: block;
    }
    .podcast-item {
        display: flex;
        flex-direction: row;
        max-width: none;
        margin-bottom: 2rem;
    }
    .podcast-figure {
        display: inline-block;
        width: 10rem;
        height: 10rem;
        margin-right: 1rem;
    }
    .podcast-figure-image {
        display: inline-block;
        width: 10rem;
        height: 10rem;
        max-width: none;
    }
    .podcast-title {
        margin-bottom: .5rem;
    }
    .content-top-industry-full-list:hover .content-top-industry-full-list-tooltip,
    .content-top-industry-full-list:active .content-top-industry-full-list-tooltip,
    .content-top-industry-full-list-tooltip {
        width: 90vw;
        max-width: 450px;
        white-space: normal;
    }
}
@media only screen and (max-width: 800px) {
    .first__app__cta .first__app_btn {
        font-size: 1.5rem;
        font-weight: 400;
        height: auto;
    }
    .page-home .content-bottom {
        padding-top: 1rem;
    }
    .page-home .content-bottom .content-section-item {
        width: 47vw;
        padding: 3vw;
    }
    .page-home .content-bottom .content-section-title {
        margin-left: auto;
        margin-right: auto;
        width: 97vw;
        padding-left: 3vw;
    }
}
@media only screen and (max-width: 460px) {
    .use-item-section {
        margin-bottom: 0;
    }
    .use-feature-list li {
        line-height: 2.2rem;
    }
    .use-feature-list li:before {
        height: 2rem;
        width: 2rem;
    }
    .page-home .content-top-industry-list {
        flex-wrap: wrap;
        justify-content: space-around;
    }
    .page-home .content-top-industry-item {
        margin: 2rem 4rem;
    }
    .page-home .content-top-industry {
        max-width: 26rem;
        margin-left: auto;
        margin-right: auto;
        margin-bottom: 2rem;
    }
    .page-home .content-bottom .content-section-list {
        justify-content: space-around;
    }
    .page-home .content-bottom .content-section-item {
        margin-left: 2vw;
        margin-right: 2vw;
        margin-bottom: 3rem;
        width: 80vw;
        height: auto;
    }
    .page-home .content-bottom .content-section-title {
        margin-left: auto;
        margin-right: auto;
        width: 80vw;
    }
}
@media only screen and (max-width: 390px) {
    .first__app__cta {
        flex-direction: column;
    }
    .first__app__cta .first__app_btn {
        width: 100%;
    }
    .first__app__cta .first__app_btn:first-of-type {
        margin-right: 0;
    }
}
@media only screen and (max-width: 1125px) {
    .video__text {
        display: none;
    }
    .video__list {
        margin: 0 auto;
        width: 200px;
        padding-top: 20px;
        text-align: center;
    }
    .video__item {
        display: inline-block;
    }
    iframe {
        width: 100%;
    }
    .sticky-top{
        overflow-x:scroll;
    }
    .video__block h3 {
        display: none;
    }
    .video-list {
        display: none;
    }
}
@media only screen and (min-width: 1126px) {
    .customers__grid {
        -webkit-column-count: 2;
        -moz-column-count: 2;
        column-count: 2;
    }
    .customer__item {
        break-inside: avoid;
    }
    .sticky-top{
        overflow-x:hidden;
    }
}

pre[class*="language-"].line-numbers {
	position: relative;
	padding-left: 3.8em;
	counter-reset: linenumber;
}

pre[class*="language-"].line-numbers > code {
	position: relative;
	white-space: inherit;
}

.line-numbers .line-numbers-rows {
	position: absolute;
	pointer-events: none;
	top: 0;
	font-size: 100%;
	left: -3.8em;
	width: 3em; /* works for line-numbers below 1000 lines */
	letter-spacing: -1px;
	border-right: 1px solid #999;

	-webkit-user-select: none;
	-moz-user-select: none;
	-ms-user-select: none;
	user-select: none;

}

.line-numbers-rows > span {
    display: block;
    counter-increment: linenumber;
}

.line-numbers-rows > span:before {
    content: counter(linenumber);
    color: #999;
    display: block;
    padding-right: 0.8em;
    text-align: right;
}