html { position: relative; min-height: 100%; }

body { color: #444; font-family: "Roboto", "Helvetica Neue", Helvetica, Arial, sans-serif; padding-top: 40px; }

a { color: #286fd7; }

a:hover, a:focus { color: #2059ac; text-decoration: none; }

a code { color: #286fd7; }

a.feature-link { color: #262362; }

a.feature-link:hover, a.feature-link:focus { color: #2059ac; text-decoration: none; }

span { color: #262362; }

h1, h2, h3, h4, h5, h6 { color: #444; font-weight: 400; }

h1 code, h2 code, h3 code, h4 code, h5 code, h6 code { color: #444; background: transparent; }

h1 { font-size: 30px; margin-top: 40px; margin-bottom: 40px; }

h2 { font-size: 24px; margin-top: 30px; margin-bottom: 30px; }

h2 code { font-size: 24px; }

h3 { font-size: 20px; margin-top: 24px; margin-bottom: 24px; }

h3 code { font-size: 20px; }

h4 { font-size: 18px; margin-top: 20px; margin-bottom: 20px; }

h4 code { font-size: 18px; }

p, li { font-size: 14px; line-height: 22px; }

.info-text { color: #666; font-size: 16px; line-height: 24px; margin-top: 30px; margin-bottom: 30px; }

.info-users-text { margin: 0 0 0 0; color: #666; font-size: 16px; line-height: 24px; }

code { font-family: "Source Code Pro", monospace; font-size: 13px; }

.btn { color: #444; background-color: #fff; }

.btn-inverse { color: #444; background-color: #fff; }

.well { box-shadow: none; }

table { width: 100%; }

table td, table th { border: 1px solid #ddd; padding: 8px; }

table tr:nth-child(even) { background-color: #eee; }

table th { padding-top: 12px; padding-bottom: 12px; background-color: #262362; color: #fff; }

.blog-meta { margin-top: 10px; margin-bottom: 20px; }

.docs-content * img { display: block; margin: 20px auto; }

.blog-content * img { display: block; margin: 20px auto; }

.blog-content .attribution, .blog-content figcaption { /* Stay close to the image. */ display: block; margin-top: 6px; padding-top: 0px; /* Italics, centered, lighter text. */ text-align: center; font-style: italic; color: #666; }

.blog-content * img:has(+ .attribution), .blog-content * img:has(+ figcaption) { /* Remove bottom margins from images where there is an attribution line immediately following the image. */ margin-bottom: 0px; }

.blog-content .attribution, .blog-content figcaption { /* Remove margin above image caption. */ margin-top: 0px; /* Add margin under image caption. */ margin-bottom: 1em; }

.blog-content details { margin-left: 2em; margin-right: 2em; border: 1px solid #ccc; border-radius: 0.33em; padding: 1em; margin-bottom: 1em; }

/* Override the top/bottom margins of whatever is inside. */
/* We rely on the padding of the details element instead. */
.blog-content details > summary:first-child, .blog-content details > summary:first-child > :first-child { margin-top: 0px; }

/* Remove bottom margin from last element of <details> */
.blog-content details > :not(summary):last-child { margin-bottom: 0px; }

/* Remove bottom margin from last child of <summary> if <details> isn't open. */
.blog-content details:not([open]) > summary > *:last-child { margin-bottom: 0px; }

.blog-content details > summary:first-child { cursor: pointer; /* No border when closed, added when opened: */ border-bottom: 0px; margin-bottom: 0em; }

.blog-content details[open] > summary:first-child { border-bottom: 1px dashed #ccc; margin-bottom: 1em; }

/* Create CSS triangle and animate openining/closing: */
.blog-content details > summary:first-child { padding-left: 1em; position: relative; }

.blog-content details > summary:first-child:before { content: ''; border-width: .4rem; border-style: solid; border-color: transparent transparent transparent #333; position: absolute; top: 0.5em; left: 0px; transform-origin: .2rem 50%; transition: .25s transform ease; }

.blog-content details:not([open]) > summary:before { transform: rotate(0); }

.blog-content details[open] > summary:before { transform: rotate(90deg); }

/* Add line above footnotes section if it is not empty. */
.blog-content .footnotes:has(li) { margin-top: 2em; border-top: 1px dotted #ccc; padding-top: 2em; }

.users-content { /* Shrink the container holding the users list on each side */ padding-left: 15%; padding-right: 15%; }

.row.display-flex { /* Make responsive columns equal height using flex. */ display: flex; flex-wrap: wrap; }

.row.display-flex > [class*='col-'] { flex-grow: 1; }

.no-space { /* Remove component spacing by remove padding and margins. */ margin: 0px auto; padding: 0px; }

.img-vert-center { /* Default img-vert-center to use block, larger screens will use position. */ margin: 0px; display: block; margin-left: auto; margin-right: auto; }

.panel-solution h2 { /* Reduce h2 margins in the big "solution" panels on the homepage. */ margin-top: 1em; margin-bottom: 1em; }

.panel-default h2 { /* Same, but also remove the top-margin for the "features" panels. */ margin-top: 0em; margin-bottom: 1em; }

@media (min-width: 480px) { /* Set panel height smart phones landscape. */ .panel-solution { height: 300px; } }

@media (min-width: 600px) { /* Set panel height tablets portrait. */ .panel-solution { height: 260px; } }

@media (min-width: 768px) { /* Set panel height tablets. */ .panel-solution { height: 240px; } }

@media (min-width: 992px) { /* Set panel height tablets landscape. */ .panel-solution { height: 330px; } /* Vertical center image in column on larger screens */ .img-vert-center { margin: 0; position: absolute; top: 50%; left: 50%; transform: translate(-50%, -50%); } }

@media (min-width: 1200px) { /* Set panel height laptops and desktops. */ .panel-solution { height: 300px; } }

.jumbotron { background-image: url(/assets/images/background_1080p.jpg); background-position: center; background-repeat: no-repeat; background-size: cover; background-blend-mode: darken; background-color: rgba(0, 0, 0, 0.3); }

.jumbotron p { color: #fff; margin-top: 0; margin-bottom: 0; font-weight: 300; font-size: 24px; line-height: 30px; }

.navbar-inverse { background-color: #262362; border-bottom: 1px solid #262362; }

.navbar-inverse .navbar-brand > a { color: #fff; }

.navbar-inverse .navbar-brand > a:focus, .navbar-inverse .navbar-brand > a:hover { color: #fff; }

.navbar-inverse .navbar-nav > li > a { color: #fff; }

.navbar-inverse .navbar-nav > li > a:focus, .navbar-inverse .navbar-nav > li > a:hover { color: #e6e6e6; }

.navbar-inverse .navbar-nav .nav-icon { font-size: 18px; }

.sidebar { margin-top: 40px; }

.sidebar ul.sidebar-nav { list-style-type: none; padding: 0; transition: height 0.01s; }

.sidebar ul.sidebar-nav li.sidebar-nav-heading { padding: 10px 0; margin: 0; display: block; font-size: 16px; font-weight: 300; }

.sidebar ul.sidebar-nav li a { padding: 4px 0; display: block; border-right: 2px solid #fff; }

.sidebar ul.sidebar-nav li a:focus { text-decoration: none; }

.sidebar ul.sidebar-nav li a .caret { float: right; margin-top: 8px; margin-right: 10px; }

.sidebar ul.sidebar-nav li.active a { border-left: 2px solid #66bb6a; padding-left: 6px; }

.sidebar ul.sidebar-nav ul.sidebar-nav { padding-left: 10px; }

@media (min-width: 992px) { .sidebar-toggle { display: none; } .sidebar.collapse { display: block; } }

.footer { margin-top: 40px; background-color: #222; color: #fff; padding: 20px; }

.footer a { color: #fff; }

.footer a:hover, .footer a:focus { color: #e6e6e6; }

.highlight table td { padding: 5px; }

.highlight table pre { margin: 0; }

.highlight .cm { color: #999988; font-style: italic; }

.highlight .cp { color: #999999; font-weight: bold; }

.highlight .c1 { color: #999988; font-style: italic; }

.highlight .cs { color: #999999; font-weight: bold; font-style: italic; }

.highlight .c, .highlight .ch, .highlight .cd, .highlight .cpf { color: #999988; font-style: italic; }

.highlight .err { color: #a61717; background-color: #e3d2d2; }

.highlight .gd { color: #000000; background-color: #ffdddd; }

.highlight .ge { color: #000000; font-style: italic; }

.highlight .gr { color: #aa0000; }

.highlight .gh { color: #999999; }

.highlight .gi { color: #000000; background-color: #ddffdd; }

.highlight .go { color: #888888; }

.highlight .gp { color: #555555; }

.highlight .gs { font-weight: bold; }

.highlight .gu { color: #aaaaaa; }

.highlight .gt { color: #aa0000; }

.highlight .kc { color: #000000; font-weight: bold; }

.highlight .kd { color: #000000; font-weight: bold; }

.highlight .kn { color: #000000; font-weight: bold; }

.highlight .kp { color: #000000; font-weight: bold; }

.highlight .kr { color: #000000; font-weight: bold; }

.highlight .kt { color: #445588; font-weight: bold; }

.highlight .k, .highlight .kv { color: #000000; font-weight: bold; }

.highlight .mf { color: #009999; }

.highlight .mh { color: #009999; }

.highlight .il { color: #009999; }

.highlight .mi { color: #009999; }

.highlight .mo { color: #009999; }

.highlight .m, .highlight .mb, .highlight .mx { color: #009999; }

.highlight .sb { color: #d14; }

.highlight .sc { color: #d14; }

.highlight .sd { color: #d14; }

.highlight .s2 { color: #d14; }

.highlight .se { color: #d14; }

.highlight .sh { color: #d14; }

.highlight .si { color: #d14; }

.highlight .sx { color: #d14; }

.highlight .sr { color: #009926; }

.highlight .s1 { color: #d14; }

.highlight .ss { color: #990073; }

.highlight .s, .highlight .sa, .highlight .dl { color: #d14; }

.highlight .na { color: #008080; }

.highlight .bp { color: #999999; }

.highlight .nb { color: #0086B3; }

.highlight .nc { color: #445588; font-weight: bold; }

.highlight .no { color: #008080; }

.highlight .nd { color: #3c5d5d; font-weight: bold; }

.highlight .ni { color: #800080; }

.highlight .ne { color: #990000; font-weight: bold; }

.highlight .nf, .highlight .fm { color: #990000; font-weight: bold; }

.highlight .nl { color: #990000; font-weight: bold; }

.highlight .nn { color: #555555; }

.highlight .nt { color: #000080; }

.highlight .vc { color: #008080; }

.highlight .vg { color: #008080; }

.highlight .vi { color: #008080; }

.highlight .nv, .highlight .vm { color: #008080; }

.highlight .ow { color: #000000; font-weight: bold; }

.highlight .o { color: #000000; font-weight: bold; }

.highlight .w { color: #bbbbbb; }

.highlight { background-color: #f8f8f8; }