@charset "UTF-8";
.fa, .btn-menu:before, .search-icon:before, .header-dropdown-link:after, .sidenav-title:after, .nav-content .has_submenu:before, .content a[href^="http"]:after,
.external-link:after, .note:before, .tip:before, .to-top a:before {
  display: inline-block;
  font: normal normal normal 14px/1 FontAwesome;
  font-size: inherit;
  text-rendering: auto;
  -webkit-font-smoothing: antialiased;
  -moz-osx-font-smoothing: grayscale; }

/* FONT PATH
 * -------------------------- */
@font-face {
  font-family: 'FontAwesome';
  src: url("../fonts/font-awesome/fontawesome-webfont.eot?v=4.6.2");
  src: url("../fonts/font-awesome/fontawesome-webfont.eot?v=4.6.2#iefix") format("embedded-opentype"), url("../fonts/font-awesome/fontawesome-webfont.woff2?v=4.6.2") format("woff2"), url("../fonts/font-awesome/fontawesome-webfont.woff?v=4.6.2") format("woff"), url("../fonts/font-awesome/fontawesome-webfont.ttf?v=4.6.2") format("truetype"), url("../fonts/font-awesome/fontawesome-webfont.svg?v=4.6.2#fontawesomeregular") format("svg");
  font-weight: normal;
  font-style: normal; }
/*
 * FILE: _reset.scss
========================================================================== */
html {
  font-family: sans-serif;
  /* 1 */
  -ms-text-size-adjust: 100%;
  /* 2 */
  -webkit-text-size-adjust: 100%;
  /* 2 */ }

audio,
canvas,
progress,
video {
  display: inline-block;
  /* 1 */
  vertical-align: baseline;
  /* 2 */ }

audio:not([controls]) {
  display: none;
  height: 0; }

[hidden],
template {
  display: none; }

a {
  background: transparent; }

a:active,
a:hover {
  outline: 0; }

b,
strong {
  font-weight: bold; }

h1 {
  font-size: 2em;
  margin: 0.67em 0; }

sub,
sup {
  font-size: 75%;
  line-height: 0;
  position: relative;
  vertical-align: baseline; }

sup {
  top: -0.5em; }

sub {
  bottom: -0.25em; }

svg:not(:root) {
  overflow: hidden; }

figure {
  margin: 1em 40px; }

hr {
  -moz-box-sizing: content-box;
  box-sizing: content-box;
  height: 0; }

pre {
  overflow: auto; }

code,
kbd,
pre,
samp,
.filepath {
  font-family: monospace, monospace;
  font-size: 1em; }

button,
input,
optgroup,
select,
textarea {
  color: inherit;
  /* 1 */
  font: inherit;
  /* 2 */
  margin: 0;
  /* 3 */ }

button {
  overflow: visible; }

button,
select {
  text-transform: none; }

button,
html input[type="button"],
input[type="reset"],
input[type="submit"] {
  -webkit-appearance: button;
  /* 2 */
  cursor: pointer;
  /* 3 */ }

button[disabled],
html input[disabled] {
  cursor: default; }

button::-moz-focus-inner,
input::-moz-focus-inner {
  border: 0;
  padding: 0; }

input {
  line-height: normal; }

input[type="checkbox"],
input[type="radio"] {
  box-sizing: border-box;
  /* 1 */
  padding: 0;
  /* 2 */ }

input[type="number"]::-webkit-inner-spin-button,
input[type="number"]::-webkit-outer-spin-button {
  height: auto; }

input[type="search"] {
  -webkit-appearance: textfield;
  /* 1 */
  -moz-box-sizing: content-box;
  -webkit-box-sizing: content-box;
  /* 2 */
  box-sizing: content-box; }

input[type="search"]::-webkit-search-cancel-button,
input[type="search"]::-webkit-search-decoration {
  -webkit-appearance: none; }

fieldset {
  border: 1px solid #c0c0c0;
  margin: 0 2px;
  padding: 0.35em 0.625em 0.75em; }

legend {
  border: 0;
  /* 1 */
  padding: 0;
  /* 2 */ }

textarea {
  overflow: auto; }

optgroup {
  font-weight: bold; }

table {
  border-collapse: collapse;
  border-spacing: 0; }

td,
th {
  padding: 0.3em 0.5em; }

/*
 * FILE: _default.scss
======================================================================== */
* {
  -webkit-font-smoothing: antialiased; }

html {
  font-size: 1em; }

body {
  background-color: #fff;
  font-family: "Source Sans Pro", sans-serif;
  font-weight: 400;
  line-height: 1.45;
  color: #333;
  margin: 0;
  padding: 0; }

p {
  margin-bottom: 1.3em; }

li p {
  margin: 0; }

/*doc
---
title: Link Default
name: link_default
category: basics
---
```html_example
<a class="link" href="#">Link</a>
```
*/
a, .link {
  border-bottom: 1px dotted #cddce5;
  color: #2185c5;
  text-decoration: none;
  -webkit-transition: all 0.1s linear;
  -moz-transition: all 0.1s linear;
  transition: all 0.1s linear; }

img {
  height: auto;
  max-width: 100%; }

h1, h2, h3, h4, h5, h6 {
  margin: 60px 0 0.5em;
  font-weight: inherit;
  line-height: 1.2; }

.steps-header {
  margin-top: -0.2em; }

/*doc
---
title: Headings
name: headings
category: basics
---
```html_example
<h1>h1. heading level 1</h1>
<h2>h2. heading level 2</h2>
<h3>h3. heading level 3</h3>
<h4>h4. heading level 4</h4>
<div class="h2">this is a div with an h2 class</div>
<h5 class="h3">this is an h5 with an h3 class</h5>
<h2><a id='fake-anchor'></a>h2. heading with link</h2>
<h3><a id='other-fake-anchor'></a>h3. heading with link</h3>
```
*/
h1, .h1 {
  margin-top: 0;
  font-size: 2.441em; }

h2, .h2 {
  font-size: 1.953em; }

h3, .h3 {
  font-size: 1.563em; }

h4, h5, .h4 {
  font-size: 1.25em; }

small,
.font_small {
  font-size: 0.8em; }

@media (min-width: 43.75em) {
  h2 > a:before, h3 > a:before {
    content: "";
    display: block;
    height: 80px;
    margin: -80px 0 0; } }

ul,
ol {
  margin: 0 0 1em; }

ul {
  padding: 0 0 0 1.2em; }

ol {
  padding: 0 0 0 1.4em; }

ul ul,
ol ol {
  margin-top: 1em;
  padding-bottom: 0; }

ol li {
  margin: 0 0 1.3em;
  padding: 0; }

ul li {
  margin: 0 0 0.5em;
  padding: 0; }

li li {
  margin-bottom: 0; }

ol img,
ul img {
  margin: 0.5em 0; }

input {
  background-color: #f1f1f1;
  border: 1px solid #eceae9;
  border-radius: 3px;
  box-shadow: #eceae9 1px 1px 4px -2px inset;
  color: #424242;
  display: block;
  padding: 0.5em 1em;
  -webkit-transition: all 0.1s linear;
  -moz-transition: all 0.1s linear;
  transition: all 0.1s linear;
  width: 100%; }
  input:hover {
    border-color: rgba(2, 70, 64, 0.5);
    background-color: #fff; }
  input:focus {
    background-color: #fff;
    border-color: #03786D;
    box-shadow: #eceae9 0 0 4px;
    outline: 0; }

table {
  border-color: #b5b5b5;
  border-collapse: collapse;
  border-style: solid;
  border-width: 1px;
  color: #333333;
  font-size: 1em;
  margin-top: 1em;
  padding: 0.8em 0.7rem;
  width: 100%; }

th {
  background-color: #f8f8f8;
  border-color: #b5b5b5;
  color: #4b6475;
  line-height: 1.1;
  font-size: 1em;
  text-align: left; }

tr {
  color: #686868; }

.content td, .content th, .content tr {
  border: solid 1px grey; }

.content tr:hover {
  background-color: #fdfdfd;
  color: #333; }

caption {
  font-size: 1.25em;
  padding: 0.5em; }

/*doc
---
title: Code Example - Default
name: code_example-default
category: basics
---
```html_example
<pre><code class="highlight ruby"><span class="nb">require</span> <span class="s1">'ova_manager'</span>
<span class="nb">require</span> <span class="s1">'vsphere_clients'</span>

<span class="no">OvaManager</span><span class="o">::</span><span class="no">Deployer</span><span class="p">.</span><span class="nf">new</span><span class="p">({</span>
  <span class="ss">host: </span><span class="s2">"172.16.74.3"</span><span class="p">,</span>
  <span class="ss">user: </span><span class="s2">"root"</span><span class="p">,</span>
  <span class="ss">password: </span><span class="s2">"vmware"</span>
<span class="p">})</span>
</code></pre>
```
*/
pre {
  background-color: #f0f0f0;
  border-radius: 3px;
  font-size: 0.8125rem;
  padding: 1em;
  white-space: pre;
  overflow: auto; }

pre code {
  background-color: transparent;
  border: 0;
  color: #424242;
  direction: ltr;
  font-family: Consolas, "Liberation Mono", Menlo, Courier, monospace;
  overflow: auto;
  text-align: left;
  margin: 0;
  padding: 0;
  word-spacing: normal;
  word-break: normal; }

/*doc
---
title: Code Example - Inline
name: code_example-inline

category: basics
---
```html_example
<code>"mbus"=&gt;"nats://nats:nats@192.168.86.17:4222"</code>
```
*/
code {
  background-color: #f5f5ff;
  border: 1px solid #e4e4e4;
  display: inline-block;
  font-size: 0.8125rem;
  line-height: 1.4;
  margin: 0.2em 0.1em 0.1em;
  padding: 0 0.4em 0 0.4em;
  vertical-align: text-top; }

code a {
  color: #fefefe; }

hr {
  background-color: #eceae9;
  border: 0;
  height: 1px;
  float: left;
  width: 100%; }

.content pre::-webkit-scrollbar {
  -webkit-appearance: none;
  width: 7px;
  height: 7px; }
.content pre::-webkit-scrollbar-thumb {
  border-radius: 4px;
  background-color: rgba(0, 0, 0, 0.5);
  -webkit-box-shadow: 0 0 1px rgba(255, 255, 255, 0.5); }

.hidden {
  display: none !important; }

/*
 * FILE: _syntax-highlight.scss
======================================================================== */
pre .hll {
  background-color: #ffffcc; }

pre .c {
  color: #666666;
  font-style: italic; }

pre .err {
  color: #FF0000;
  background-color: #FFAAAA; }

pre .k {
  color: #228899;
  font-weight: bold; }

pre .o {
  color: #333333; }

pre .cm {
  color: #666666;
  font-style: italic; }

pre .cp {
  color: #557799; }

pre .c1 {
  color: #666666;
  font-style: italic; }

pre .cs {
  color: #cc0000;
  font-weight: bold;
  font-style: italic; }

pre .gd {
  color: #A00000; }

pre .ge {
  font-style: italic; }

pre .gr {
  color: #FF0000; }

pre .gh {
  color: #000080;
  font-weight: bold; }

pre .gi {
  color: #00A000; }

pre .go {
  color: #888888; }

pre .gp {
  color: #c65d09;
  font-weight: bold; }

pre .gs {
  font-weight: bold; }

pre .gu {
  color: #800080;
  font-weight: bold; }

pre .gt {
  color: #0044DD; }

pre .kc {
  color: #228899;
  font-weight: bold; }

pre .kd {
  color: #228899;
  font-weight: bold; }

pre .kn {
  color: #228899;
  font-weight: bold; }

pre .kp {
  color: #0088ff;
  font-weight: bold; }

pre .kr {
  color: #228899;
  font-weight: bold; }

pre .kt {
  color: #6666ff;
  font-weight: bold; }

pre .m {
  color: #6600EE;
  font-weight: bold; }

pre .na {
  color: #000077; }

pre .nb {
  color: #007722; }

pre .nc {
  color: #ee99ee;
  font-weight: bold; }

pre .no {
  color: #41AA9E;
  font-weight: bold; }

pre .nd {
  color: #555555;
  font-weight: bold; }

pre .ni {
  color: #880000; }

pre .ne {
  color: #FF0000;
  font-weight: bold; }

pre .nf {
  color: #3E37DA;
  font-weight: bold; }

pre .nl {
  color: #997700;
  font-weight: bold; }

pre .nn {
  color: #0e84b5;
  font-weight: bold; }

pre .nt {
  color: #007700; }

pre .nv {
  color: #003366; }

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

pre .w {
  color: #bbbbbb; }

pre .mf {
  color: #6600EE;
  font-weight: bold; }

pre .mh {
  color: #005588;
  font-weight: bold; }

pre .mi {
  color: #6666ff;
  font-weight: bold; }

pre .mo {
  color: #4400EE;
  font-weight: bold; }

pre .sb {
  background-color: #F5F5FF; }

pre .sc {
  color: #8888FF; }

pre .sd {
  color: #DD4422; }

pre .s2 {
  background-color: rgba(211, 211, 211, 0.2); }

pre .se {
  color: #666666;
  font-weight: bold;
  background-color: #F5F5FF; }

pre .sh {
  background-color: #F5F5FF; }

pre .si {
  background-color: #eeeeee; }

pre .sx {
  color: #ff8888;
  background-color: #F5F5FF; }

pre .sr {
  color: #000000;
  background-color: #F5F5FF; }

pre .s1 {
  background-color: rgba(211, 211, 211, 0.2); }

pre .ss {
  color: #D60F3F; }

pre .bp {
  color: #007722; }

pre .vc {
  color: #ccccff; }

pre .vg {
  color: #ff8844; }

pre .vi {
  color: #aaaaff; }

pre .il {
  color: #6666ff;
  font-weight: bold; }

/*
 * FILE: _header.scss
======================================================================== */
@media (min-width: 43.75em) {
  .header-layout {
    left: 0;
    padding-left: 1.875em;
    padding-right: 1.875em;
    position: fixed;
    top: 0;
    width: 100%;
    z-index: 11; } }

/*doc
---
title: Header Bar
name: header_bar
category: basics
---
Add <code>.header-layout</code> to header tag to get fixed positioning.

```html_example
<header class="header">
  <h1 class="logo">
    Geode Documentation
  </h1>
  <div class="header-links js-bar-links">
    <div class="btn-menu" data-behavior="MenuMobile"></div>
    <div class="header-item">
      <a href="/">Docs Home</a>
    </div>
    <div class="header-item">
      <a href="<%=vars.support_url%>" target="_blank">Support</a>
    </div>
    <div class="header-item searchbar js-searchbar">
      <a class="search-icon" data-behavior="Search"></a>
      <div class="search-input">
      </div>
    </div>
  </div>
</header>
```
*/
.header {
  background: #243640;
  border-bottom: 3px solid #00a79d;
  color: #fefefe;
  min-height: 2.375em;
  padding: 0.3125em 1em 0.3125em 1em; }
  .header:after {
    content: "";
    display: table;
    clear: both; }

.header a {
  color: #fff;
  display: inline-block; }

.header img {
  height: 1;
  margin-right: 0.5em;
  width: 25px;
  vertical-align: top; }

.logo {
  float: left;
  font-size: 1em;
  font-weight: bold;
  line-height: 1.5625rem;
  margin-bottom: 0; }

.logo a {
  border: 0; }

@media (min-width: 43.75em) {
  .header-links {
    float: right;
    text-align: right;
    width: 50%; } }

.btn-menu {
  float: right;
  position: relative;
  right: -1em;
  padding: 0 1em; }
  .btn-menu:before {
    content: "";
    padding-right: 0.4em;
    padding-top: 0.4em; }
  .btn-menu:hover {
    cursor: pointer; }
  @media (min-width: 43.75em) {
    .btn-menu {
      display: none; } }

.menu-active .btn-menu {
  margin-bottom: 0.5em; }
  .menu-active .btn-menu:before {
    content: '\d7'; }

.header-item {
  clear: both;
  display: none;
  font-weight: bold;
  -webkit-transition: opacity;
  -moz-transition: opacity;
  transition: opacity;
  font-size: 0.8em;
  line-height: 1; }
  @media (min-width: 43.75em) {
    .header-item {
      clear: none;
      display: inline-block;
      padding-top: 0.55em; } }

@media (max-width: 43.75em) {
  .menu-active .header-item {
    display: block; } }

@media (min-width: 43.75em) {
  .header-item:after {
    content: "|"; } }

@media (min-width: 43.75em) {
  .header-item:last-child:after {
    content: ""; } }

/*doc
---
title: Link Header
name: link header
category: basics
---
```html_example
<div style="background: black">
  <div class="header-item">
    <a href="#">Link</a>
  </div>
  <div class="header-item">
    <a href="#">Link</a>
  </div>
  <div class="header-item">
    <a href="#">Link</a>
  </div>
</div>
```
*/
.header-item a {
  border-bottom-color: #686868;
  border-style: dotted;
  border-width: 0 0 1px;
  color: #fff;
  display: block;
  padding: 0.5em 0; }
  @media (min-width: 43.75em) {
    .header-item a {
      display: inline;
      margin-left: 1em;
      margin-right: 1em;
      padding: 0; } }

@media (min-width: 43.75em) {
  .header-item a:hover {
    background-color: transparent;
    border-bottom: 0; } }

.header-home {
  border-top: 5px solid #00a79d;
  background: #243640;
  color: #fff;
  padding: 0 1.5em 4em 1.5em;
  text-align: center;
  margin-bottom: 3em; }

.home-links {
  padding-top: .5rem;
  margin-bottom: 3em;
  text-align: left; }
  @media (min-width: 43.75em) {
    .home-links {
      text-align: right;
      margin-bottom: 0; } }

/*doc
---
title: Title Flashy
name: title_flashy
category: basics
---
```html_example
<h1 class="title-flashy">
  <span class="title-deemph">Geode</span> Documentation
</h1>
```
*/
.title-flashy {
  display: inline-block;
  font-weight: 600;
  font-size: 1.563em;
  text-align: left;
  margin-left: 1rem; }
  .title-flashy img {
    height: 3.8125rem;
    vertical-align: middle;
    padding-right: .5rem;
    float: left; }
    @media (min-width: 43.75em) {
      .title-flashy img {
        height: 2.8125rem;
        float: none; } }
  @media (min-width: 43.75em) {
    .title-flashy {
      font-size: 2.441em;
      margin-left: 0;
      padding-left: 1.8em;
      padding-top: 2rem;
      text-align: center; } }

/*doc
---
title: Title Intro
name: title_intro
category: basics
---
```html_example
<h2 class="title-intro">
  Everything you need to know about Geode Software.
</h2>
```
*/
.title-intro {
  font-size: 1.25em;
  font-weight: 300;
  margin: 0 auto 0.5em;
  max-width: 30em;
  text-align: center; }
  @media (min-width: 43.75em) {
    .title-intro {
      font-size: 1.563em; } }

.title-deemph {
  font-weight: 300; }

.searchbar {
  -webkit-transition: all 0.2s linear;
  -moz-transition: all 0.2s linear;
  transition: all 0.2s linear;
  color: #eee;
  margin-bottom: 1em;
  margin-top: 1.3em;
  padding-top: 0; }
  @media (min-width: 43.75em) {
    .searchbar {
      margin-bottom: 0;
      margin-top: 0;
      position: relative; } }

.searchbar:hover {
  cursor: pointer; }

.searchbar a {
  margin: 0;
  padding: 0.55em 1em; }

.searchbar a,
.searchbar a:hover {
  border-bottom: 0; }

.search-input-inner {
  position: relative; }

.search-icon:before {
  content: "";
  color: #c7c7c7; }

.header-item .search-icon {
  display: none; }
  @media (min-width: 43.75em) {
    .header-item .search-icon {
      display: block; } }

.search-input {
  display: none; }
  @media (min-width: 43.75em) {
    .search-input {
      padding: 1em;
      position: absolute;
      right: 0;
      top: 100%;
      width: 30em; } }

.active .search-input {
  display: block; }

@media (max-width: 43.75em) {
  .menu-active .search-input {
    display: block; } }

#search-dropdown-box {
  display: none; }

/*doc
---
title: Version Menu
name: version menu
category: basics
---
```html_example
<div class="header-dropdown">
  <a class="subnav-link" href="#">
    v1.2.0.0
  </a>
  <div class="header-dropdown-content">
    <ul>
      <li><a href="">v1.2.0.0</a></li>
    </ul>
  </div>
</div>
```
*/
.header-dropdown {
  border-radius: 0.5em;
  float: left;
  font-size: 0.9em;
  font-weight: bold;
  line-height: 1.5625rem;
  margin-left: 0.5em;
  margin-top: 0.04em;
  position: relative; }

.header-dropdown:hover .header-dropdown-content {
  display: block; }

.header-dropdown-link {
  border: 0;
  display: block;
  line-height: 1.4;
  padding: 0 0.5em; }

.header-dropdown-link:after {
  color: #4b6475;
  content: "";
  font-size: 0.8em;
  padding-left: 0.2em; }

.header-dropdown-content {
  background: #fdfdfd;
  box-shadow: 2px 1px 5px rgba(153, 153, 153, 0.2);
  border: 1px solid #eceae9;
  display: none;
  left: -0.875rem;
  min-width: 6.25em;
  padding: 0.5em;
  position: absolute;
  top: 100%;
  z-index: 11; }

.header-dropdown-content a {
  border: 0;
  color: #424242;
  display: block;
  padding-left: 0.9em; }

.header-dropdown-content ol,
.header-dropdown-content ul {
  list-style: none;
  margin: 0;
  padding: 0; }

.header-dropdown-content li {
  display: block;
  margin: 0; }

/*
 * FILE: _footer.scss
======================================================================== */
.site-footer-links {
  font-size: 0.8em;
  clear: both;
  padding: 1em 30px 4em 30px; }
  .site-footer-links a {
    color: #424242; }

@media (min-width: 43.75em) {
  .copyright {
    float: left; } }

@media (min-width: 43.75em) {
  .support {
    float: right; } }

#feedback #feedback-comments {
  margin-top: 1em;
  width: 49%; }
#feedback #feedback-helpful {
  border: none;
  margin-top: 1em; }
#feedback .feedback-option {
  float: left;
  margin-left: 2em;
  margin-top: 0.5em;
  width: 22%; }
#feedback form fieldset {
  width: 11em;
  float: left; }
#feedback textarea {
  width: 100%; }
#feedback input[type='submit'] {
  background-color: rgba(0, 167, 157, 0.2);
  float: left;
  margin-left: 1em;
  margin-top: 2.5em;
  padding: 1em;
  width: 8em; }

#repo-link {
  display: block;
  border-bottom: solid 1px #eceae9;
  border-top: solid 1px #eceae9;
  text-align: center;
  padding: 1em 0;
  font-weight: bold; }

.search-results .result-summary {
  margin: 20px; }
.search-results .search-results-list {
  list-style: none;
  padding-left: 20px; }
  .search-results .search-results-list li {
    margin-top: 30px; }
    .search-results .search-results-list li:first-child {
      margin-top: 0; }
.search-results .no-results {
  text-align: center;
  padding: 50px 0;
  border-bottom: 2px solid #F4F4F4;
  font-size: 20px;
  color: #66747B;
  font-weight: bold; }
.search-results .pagination {
  margin-top: 30px;
  text-align: center; }
  .search-results .pagination a.page {
    border: 0; }
  .search-results .pagination .page {
    display: inline-block;
    margin: 0 8px; }
    .search-results .pagination .page.disabled {
      color: #D3D3D3; }
    .search-results .pagination .page.current {
      color: #808080;
      border-bottom: 2px solid #808080; }
    .search-results .pagination .page.first:before {
      content: "\F053\F053";
      font-family: FontAwesome;
      font-size: 12px;
      padding-right: 4px; }
    .search-results .pagination .page.previous:before {
      content: "\F053";
      font-family: FontAwesome;
      font-size: 12px;
      padding-right: 4px; }
    .search-results .pagination .page.next:after {
      content: "\F054";
      font-family: FontAwesome;
      font-size: 12px;
      padding-left: 4px; }
    .search-results .pagination .page.last:after {
      content: "\F054\F054";
      font-family: FontAwesome;
      font-size: 12px;
      padding-left: 4px; }

/*
 * FILE: _sidenav.scss
======================================================================== */
/*doc
---
title: Nav - Side Nav Default
name: nav-side_nav_default
category: basics
---
```html_example
<a class="sidenav-title" data-behavior="SubMenuMobile">
  Doc Index
</a>
<div class="nav-content">
  <ul>
    <li class="has_submenu">
      <span>
        Side Nav Title 1
      </span>
      <ul>
        <li>
          <a href="#">
            Item
          </a>
        </li>
        <li>
          <a href="#">
            Item
          </a>
        </li>
      </ul>
    </li>
    <li>
      <a href="#">
        Item
      </a>
    </li>
  </ul>
</div>
```
*/
.sidenav-title {
  border: 0;
  color: #424242;
  display: block;
  padding: 1em;
  text-align: center;
  text-transform: uppercase; }
  @media (min-width: 43.75em) {
    .sidenav-title {
      display: none; } }
  .sidenav-title:after {
    content: "";
    padding-left: 1.5em; }

.sidenav-title:hover,
.active .sidenav-title {
  background-color: #00a79d;
  color: #fff;
  cursor: pointer; }

.active .sidenav-title:after {
  content: ""; }

.nav-container {
  background: #f8f8f8; }
  @media (min-width: 43.75em) {
    .nav-container {
      padding: 1.9em 0 1.9em 1em; } }

.nav-content {
  height: 0;
  opacity: 0;
  -webkit-transition: all 0.2s linear;
  -moz-transition: all 0.2s linear;
  transition: all 0.2s linear;
  overflow: hidden;
  padding-left: 1em; }
  @media (min-width: 43.75em) {
    .nav-content {
      height: auto;
      display: block;
      opacity: 1;
      padding-left: 0; } }
  @media (min-width: 56.25em) {
    .nav-content {
      padding-left: 0.875em; } }

.active .nav-content {
  border-top: 1px solid #ededed;
  height: auto;
  opacity: 1;
  padding-bottom: 1.9em;
  padding-top: 1em; }

.nav-content ul,
.nav-content ol {
  clear: both;
  display: block;
  margin: 0.5em 0;
  padding: 0; }

.nav-content li {
  display: block;
  margin: 0;
  overflow: hidden;
  padding: 0; }

.nav-content a, .nav-content span {
  border-width: 1px 0 1px 1px;
  border-style: solid;
  border-color: transparent;
  color: #686868;
  font-size: 0.9rem;
  display: block;
  float: left;
  padding: .75em 30px .75em 2em;
  text-decoration: none;
  width: 100%; }

.nav-content a:hover,
.nav-content a:focus,
.nav-content a:active {
  border-color: #EEE;
  background-color: #fff;
  color: #424242; }

.nav-content .active,
.nav-content .active:hover,
.nav-content .active:focus {
  background-color: rgba(0, 167, 157, 0.2);
  border-style: solid;
  color: #424242;
  font-weight: 600; }

.nav-content .has_submenu {
  cursor: pointer; }
  .nav-content .has_submenu:before {
    content: "";
    float: left;
    width: 1rem;
    margin-top: 1em;
    display: inline-block;
    font-style: normal;
    font-weight: normal;
    line-height: 1; }
  .nav-content .has_submenu > a, .nav-content .has_submenu > span {
    margin-left: 1em;
    float: none;
    width: inherit;
    padding-left: 1em; }
  .nav-content .has_submenu > ul {
    display: none; }
  .nav-content .has_submenu li {
    padding-left: 1em; }
  .nav-content .has_submenu.expanded:before {
    content: ""; }
  .nav-content .has_submenu.expanded > ul {
    display: block; }

.container {
  background: #fff;
  clear: both;
  margin: 0 auto;
  max-width: 1024px; }

.content-layout {
  padding: 2em 1.5em 2em 1.5em; }
  @media (min-width: 43.75em) {
    .content-layout {
      padding-top: 0; } }
  @media (min-width: 43.75em) {
    .content-layout #top:before {
      content: '';
      padding-bottom: 4em;
      border: none;
      display: block; } }

.has-subnav .container {
  max-width: auto; }
  @media (min-width: 43.75em) {
    .has-subnav .container {
      margin-left: 17.375em; } }
  @media (min-width: 56.25em) {
    .has-subnav .container {
      margin-left: 22.9375em; } }

@media (min-width: 43.75em) {
  .has-subnav .content-layout {
    max-width: 45em;
    padding: 0 2em 2em; } }

@media (min-width: 43.75em) {
  .nav-container {
    position: fixed;
    z-index: 10;
    top: 38px;
    left: 0;
    bottom: 0;
    overflow-y: auto;
    overflow-x: hidden;
    -webkit-overflow-scrolling: touch;
    width: 17.375em; } }
@media (min-width: 56.25em) {
  .nav-container {
    width: 22.9375em; } }

.has-sidenav table {
  border-color: #eceae9;
  border: 1px solid #eceae9; }

.has-sidenav th {
  background-color: rgba(3, 120, 109, 0.05); }

.has-sidenav table tr:nth-child(2n+1) {
  background: none; }

.has-sidenav .content tr:nth-child(2n+1) {
  background-color: #f8f8f8; }

.span3 {
  display: block; }
  @media (min-width: 43.75em) {
    .span3 {
      float: left;
      margin-right: 2%;
      width: 48%; } }
  @media (min-width: 56.25em) {
    .span3 {
      width: 32%; } }

@media (min-width: 43.75em) and (max-width: 56.25em) {
  .span3:nth-child(2n+1) {
    clear: left; } }

@media (min-width: 43.75em) and (max-width: 56.25em) {
  .span3:nth-child(2n) {
    margin-right: 0; } }

@media (min-width: 56.25em) {
  .span3:nth-child(3n+1) {
    clear: left; } }

@media (min-width: 56.25em) {
  .span3:nth-child(3n) {
    margin-right: 0; } }

/*doc
---
title: Title Container
name: title_container
category: basics
---
```html_example
<h1 class="title-container">
  Lorem Ipsum Dolor
</h1>
```
*/
.title-container {
  line-height: 1.1;
  font-weight: 600;
  font-size: 1.953em;
  margin-top: 0; }
  @media (min-width: 43.75em) {
    .title-container {
      font-size: 2.441em; } }

/*doc
---
title: Nav - Quick Links
name: nav-quick_links
category: basics
---
```html_example
<div class="quick-links">
  <ul>
  <li><a href="#">quick link</a></li>
  <li><a href="#">quick link</a></li>
  <li><a href="#">quick link</a></li>
  </ul>
</div>
```
*/
.quick-links {
  background-color: #fdfdfd;
  border-radius: 3px;
  border: 1px solid #eceae9;
  display: inline-block;
  padding: 1em 1.5em; }
  .quick-links ol, .quick-links ul, .quick-links li {
    margin: 0; }
  .quick-links > ul {
    list-style-position: inside;
    list-style-type: lower-roman;
    margin-left: -1em; }
    .quick-links > ul:before {
      content: "In this topic:";
      display: block;
      padding-bottom: 0.25em; }
  .quick-links ul ul {
    padding-left: 1.8em; }

.list-style-none .quick-links > ul {
  list-style-type: none; }

/*doc
---
title: Link External
name: link_external
category: basics
---
```html_example
<a class="external-link" href="#">Link</a>
```
*/
.content a[href^="http"]:after,
.external-link:after {
  content: "";
  font-size: 0.75em;
  padding-left: 0.5em; }

.content a:hover,
.content a:focus,
.content a:active,
.link:hover,
.link:focus,
.link:active {
  background-color: rgba(0, 167, 157, 0.08);
  border-bottom-style: solid; }

/*doc
---
title: Content Helper - Intro
name: content_helper-intro
category: basics
---
```html_example
<p class="intro">Lorem ipsum dolor sit amet, consectetur adipisicing elit. Necessitatibus totam libero facilis voluptatem aliquam incidunt ipsa officiis, dicta nihil expedita, molestiae delectus impedit hic quidem deserunt laudantium, sint debitis tenetur.</p>
```
*/
.intro {
  font-size: 1.25em;
  font-weight: 300; }

/*doc
---
title: Content Helper - Note
name: content_helper-note
category: basics
---
```html_example
<p class="note">Lorem ipsum dolor sit amet, consectetur adipisicing elit. Necessitatibus totam libero facilis voluptatem aliquam incidunt ipsa officiis, dicta nihil expedita, molestiae delectus impedit hic quidem deserunt laudantium, sint debitis tenetur.</p>
```
*/
.note {
  background: #ffffed;
  border-color: #ebebd3;
  border-radius: 3px;
  border-style: solid;
  border-width: 1px;
  margin: 1em 0;
  padding: 0.7em 1em 0.7em 2.3em;
  position: relative; }
  .note:before {
    content: "";
    color: #b9b781;
    font-size: 1.5em;
    left: 0.6em;
    position: absolute;
    top: 0.45em; }

/*doc
---
title: Content Helper - New User Tip
name: content_helper-tip
category: basics
---
```html_example
<p class="tip">Lorem ipsum dolor sit amet, consectetur adipisicing elit. Necessitatibus totam libero facilis voluptatem aliquam incidunt ipsa officiis, dicta nihil expedita, molestiae delectus impedit hic quidem deserunt laudantium, sint debitis tenetur.</p>
```
*/
.tip {
  background: #ffffff;
  border-color: #a7cae1;
  border-radius: 3px;
  border-style: solid;
  border-width: 1px;
  margin: 1em 0;
  padding: 1.7em 2em;
  position: relative;
  text-align: left; }
  .tip:before {
    color: #7C7C7C;
    font-size: 1.953em;
    left: 0.5em;
    position: absolute;
    top: 0.8em; }

/*doc
---
title: Code Example - Terminal
name: code_example-terminal
category: basics
---
```html_example
<pre class="terminal">$ keytool -import -alias ops-metrics-ssl -file ops-metrics.cer -keystore localhost.truststore</pre>
```
*/
.terminal {
  background-color: #3a3a3a;
  border: 0;
  color: #fefefe; }

.to-top {
  visibility: hidden;
  opacity: 0;
  -webkit-transition: all 0.2s linear;
  -moz-transition: all 0.2s linear;
  transition: all 0.2s linear; }
  .to-top a {
    border: 0;
    bottom: 4em;
    position: fixed;
    right: 4em;
    z-index: 10; }
    .to-top a:hover {
      background: none; }
    .to-top a:before {
      content: "";
      background: #00a79d;
      box-shadow: 0 0 9px rgba(153, 153, 153, 0.8);
      color: #fff;
      line-height: 2.5em;
      height: 2.5em;
      text-align: center;
      width: 2.5em; }
  .to-top.sticky {
    visibility: visible;
    opacity: 1; }
  @media (max-width: 43.75em) {
    .to-top {
      display: none; } }

.index .to-top {
  display: none; }

.partial-notice {
  color: red;
  font-size: 1.25em; }
  .partial-notice ul {
    font-size: 1em; }

* {
  box-sizing: border-box; }
