body {
    font-size:15px;
}

.bs-callout {
    padding: 20px;
    margin: 20px 0;
    border: 1px solid #eee;
    border-left-width: 5px;
    border-radius: 3px;
}
.bs-callout h4 {
    margin-top: 0;
    margin-bottom: 5px;
}
.bs-callout p:last-child {
    margin-bottom: 0;
}
.bs-callout code {
    border-radius: 3px;
}
.bs-callout+.bs-callout {
    margin-top: -5px;
}
.bs-callout-default {
    border-left-color: #777;
}
.bs-callout-default h4 {
    color: #777;
}
.bs-callout-primary {
    border-left-color: #428bca;
}
.bs-callout-primary h4 {
    color: #428bca;
}
.bs-callout-success {
    border-left-color: #5cb85c;
}
.bs-callout-success h4 {
    color: #5cb85c;
}
.bs-callout-danger {
    border-left-color: #d9534f;
}
.bs-callout-danger h4 {
    color: #d9534f;
}
.bs-callout-warning {
    border-left-color: #f0ad4e;
}
.bs-callout-warning h4 {
    color: #f0ad4e;
}
.bs-callout-info {
    border-left-color: #5bc0de;
}
.bs-callout-info h4 {
    color: #5bc0de;
}


.gi-2x{font-size: 2em;}
.gi-3x{font-size: 3em;}
.gi-4x{font-size: 4em;}
.gi-5x{font-size: 5em;}





.breadcrumb > .active {color: #777 !important;}

/* make room for the nav bar */
h1[id],
h2[id],
h3[id],
h4[id],
h5[id],
h6[id],
dt[id]{
padding-top: 60px;
margin-top: -40px
}

.post-content img {
    margin: 12px 0px 3px 0px;
    width: auto;
    height: auto;
    max-width: 100%;
    max-height: 100%;
}

.post-content ol li, .post-content ul li {
    margin: 10px 0px;
}

.pageSummary {
    font-size:13px;
    display:block;
    margin-bottom:15px;
    padding-left:20px;
}

.post-summary {
    margin-bottom:12px;
}

.bs-example{
    margin: 20px;
}

.breadcrumb li {
    color: gray;
}

table {
    background-color: transparent;
}
caption {
    padding-top: 8px;
    padding-bottom: 8px;
    color: #777;
    text-align: left;
}
th {
    text-align: left;
}
table {
    max-width: 90%;
    margin-bottom: 20px;
    border: 1px solid #dedede;
}

table > thead > tr > th,
table > tbody > tr > th,
table > tfoot > tr > th,
table > thead > tr > td,
table > tbody > tr > td,
table > tfoot > tr > td {
    padding: 8px;
    line-height: 1.42857143;
    vertical-align: top;
    border-top: 1px solid #ddd;
}
table > thead > tr > th {
    vertical-align: bottom;
    border-bottom: 2px solid #ddd;
    text-transform: none;
    background-color: #777;
    color: white;
    text-align: left;
}
table > caption + thead > tr:first-child > th,
table > colgroup + thead > tr:first-child > th,
table > thead:first-child > tr:first-child > th,
table > caption + thead > tr:first-child > td,
table > colgroup + thead > tr:first-child > td,
table > thead:first-child > tr:first-child > td {
    border-top: 0;
}

table > tbody > tr:nth-of-type(odd) {
    background-color: #f9f9f9;
}

table col[class*="col-"] {
    position: static;
    display: table-column;
    float: none;
}
table td[class*="col-"],
table th[class*="col-"] {
    position: static;
    display: table-cell;
    float: none;
}

table tr td {
    hyphens: auto;
}


p.external a {
    text-align:right;
    font-size:12px;
    color: #0088cc;
    display:inline;
}

#definition-box-container div a.active {
    font-weight: bold;
}
p.post-meta {font-size: 80%; color: #777;}

.entry-date{font-size:14px;font-size:0.875rem;line-height:1.71429;margin-bottom:0;text-transform:uppercase;}

/* search area */
#search-demo-container ul#results-container {
    list-style: none;
    font-size: 12px;
    background-color: white;
    position: absolute;
    top: 40px; /* if you change anything about the nav, you'll prob. need to reset the top and left values here.*/
    left: 20px;
    z-index: -1;
    width:223px;
    border-left: 1px solid #dedede;
}


ul#results-container a {
    background-color: transparent;
}

ul#results-container a:hover {
    color: black;
}


#search-demo-container a:hover {
    color: black;
}
#search-input {
    padding: .5em;
    margin-left:20px;
    width:20em;
    font-size: 0.8em;
    -webkit-box-sizing: border-box;
    -moz-box-sizing: border-box;
    box-sizing: border-box;
    margin-top:10px;
}
/* end search */

.filter-options {
    margin-bottom: 20px;
}
.filter-options button {
    margin: 3px;
}

div#toc ul li {
    margin: 8px 0px 8px 22px;
    font-size: 90%;
    list-style: square;
}
div#toc ul {
    background-color: whitesmoke;
    padding: 5px;
    border-radius: 5px;
    max-width: 300px;
    color: gray;
}

div#toc ul li ul {
    padding-left:8px;

}

div#toc ul li ul li::before {
    content: "–  ";
}

div#toc >ul::before {
    content: "Table of Contents";
    font-weight: 500;
    color: #555;
    text-align:center;
    margin-left:auto;
    margin-right:auto;
    width:70px;
    padding-top:20px;
    padding-bottom:20px;
    padding-left:10px;
}

li.dropdownActive a {
    font-weight: bold;
}


.post-content a.fa-rss {
    color: orange;
}


.navbar-inverse .navbar-nav > li > a {
    background-color: transparent;
    margin-top:10px;
}

.post-content .rssfeedLink {
    color: #248EC2;
}

footer {
    font-size: smaller;
}

/* FAQ page */
#accordion .panel-heading {
    font-size: 12px;
}

a.accordion-toggle, a.accordion-collapsed {
    font-size: 14px;
    text-decoration: none;
}

.navbar-inverse .navbar-nav > .active > a, .navbar-inverse .navbar-nav > .active > a:hover, .navbar-inverse .navbar-nav > .active > a:focus {
    border-radius:5px;
}

.navbar-inverse .navbar-nav>.open>a, .navbar-inverse .navbar-nav>.open>a:focus, .navbar-inverse .navbar-nav>.open>a:hover {
    border-radius: 5px;
}

span.projectTitle {
    font-family: Helvetica;
    font-weight: bold;
}

.footer {
    text-align: right;
}

.footerMeta {
    background-color: whitesmoke;
    padding: 10px;
    max-width: 250px;
    border-radius: 5px;
    margin-top: 50px;
    font-style:italic;
    font-size:12px;
}

img.screenshotSmall {
    max-width: 300px;
}


dl dt p {
    margin-left:20px;
}


dl dd {
    margin-top:10px;
    margin-bottom:10px;
}

dl.dl-horizontal dd {
    padding-top: 20px;
}

figcaption {

    padding-bottom:12px;
    padding-top:6px;
    max-width: 90%;
    margin-bottom:20px;
    font-style: italic;
    color: gray;

}

.testing {
    color: orange;
}

.preference {
    color: red;
}


table.dataTable thead {
    background-color: #444;
}
table td {
    hyphens: auto;
}

section table tr.success {
    background-color: #dff0d8 !important;
}

table tr.info {
    background-color: #d9edf7 !important;
}

section table tr.warning, table tr.testing, table tr.testing > td.sorting_1  {
    background-color: #fcf8e3 !important;
}
section table tr.danger, table tr.preference, table tr.preference > td.sorting_1  {
    background-color: #f2dede !important;
}

.orange {
    color: orange;
}

table.profile thead tr th {
    background-color: #248ec2;
}

table.request thead tr th {
    background-color: #ED1951;
}

.audienceLabel {
    margin: 10px;
    float: right;
    border:1px solid #dedede;
    padding:7px;
}

.prefaceAudienceLabel {
    color: gray;
    text-align: center;
    margin:5px;
}
span.myLabel {
    padding-left:10px;
    padding-right:10px;
}

button.cursorNorm {
    cursor: default;
}

a.dropdown-toggle, .navbar-inverse .navbar-nav > li > a  {
    margin-left: 10px;
}

hr.faded {
    border: 0;
    height: 1px;
    background-image: -webkit-linear-gradient(left, rgba(0,0,0,0), rgba(0,0,0,0.75), rgba(0,0,0,0));
    background-image:    -moz-linear-gradient(left, rgba(0,0,0,0), rgba(0,0,0,0.75), rgba(0,0,0,0));
    background-image:     -ms-linear-gradient(left, rgba(0,0,0,0), rgba(0,0,0,0.75), rgba(0,0,0,0));
    background-image:      -o-linear-gradient(left, rgba(0,0,0,0), rgba(0,0,0,0.75), rgba(0,0,0,0));
}

hr.shaded {
    height: 12px;
    border: 0;
    margin-top: 70px;
    background: white;
    width: 100%;
    margin-bottom: 10px;
}

.fa-6x{font-size:900%;}
.fa-7x{font-size:1100%;}
.fa-8x{font-size:1300%;}
.fa-9x{font-size:1500%;}
.fa-10x{font-size:1700%;}

i.border {
    padding: 10px 20px;
    background-color: whitesmoke;
}

a[data-toggle] {
    color: #248EC2;
}

.summary {
    font-size:120%;
    color: #808080;
    margin:20px 0px 20px 0px;
    border-left: 5px solid #ED1951;
    padding-left: 10px;

}

.summary:before {
    content: "Summary: ";
    font-weight: bold;
}


a.fa.fa-envelope-o.mailto {
    font-weight: 600;
}

h3 {color: #ED1951; font-weight:normal; font-size:130%;}
h4 {color: #808080; font-weight:normal; font-size:120%; font-style:italic;}

.alert, .callout {
    overflow: hidden;
}

.nav-tabs > li.active > a, .nav-tabs > li.active > a:hover, .nav-tabs > li.active > a:focus {
    background-color: #248ec2;
    color: white;
}

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

li img {clear:both; }

div#toc ul li ul li {
    list-style-type: none;
    margin: 5px 0px 0px 0px;
}

.tab-content {
    padding: 15px;
    background-color: #FAFAFA;
}

span.tagTitle {font-weight: 500;}

li.activeSeries {
    font-weight: bold;
}

.seriesContext .dropdown-menu li.active {
    font-weight: bold;
    margin-left: 43px;
    font-size:18px;
}

.alert-warning {
    color: #444;
}

div.alert code, h2 code {
    background-color: transparent !important;
}
/* without this, the links in these notes aren't visible.*/
.alert a {
    text-decoration: underline;
}

div.tags {padding: 10px 5px;}

.tabLabel {
    font-weight: normal;
}

hr {
    background: #999;
    margin: 30px 0px;
    width: 90%;
    margin-left: auto;
    margin-right: auto;
}

button.cursorNorm {
    cursor: pointer;
}

h2  {
    font-size:24px;
    line-height:29px;
}
span.otherProgrammingLanguages {
    font-style: normal;
}

a[data-toggle="tooltip"] {
    color: #649345;
    font-style: italic;
    cursor: default;
}

.seriesNext, .seriesContext {
    margin-top: 15px;
    margin-bottom: 15px;
}

.seriescontext ol li {
    list-style-type: upper-roman;
}

ol.series li {
    list-style-type: decimal;
    margin-left: 40px;
    padding-left: 0px;
}

.siteTagline {
    font-size: 200%;
    font-weight: bold;
    color: silver;
    font-family: monospace;
    text-align: center;
    line-height: 10px;
    margin: 20px 0px;
    display: block;
}

.versionTagline {
    text-align: center;
    margin-bottom: 20px;
    font-family: courier;
    color: silver;
    color: #444;
    display:block;
}

/* not sure if using this ...*/
.navbar-inverse .navbar-collapse, .navbar-inverse .navbar-form {
    border-color: #248ec2 !important;
}

.nav ul.series li {
    list-style: decimal;
    font-size:12px;
}

.nav ul.series li a:hover {
    background-color: gray;
}
.nav ul.series {
    padding-left: 30px;
}

.nav ul.series {
    background-color: #FAFAFA;
}

/*
a.dropdown-toggle.otherProgLangs {
    color: #f7e68f !important;
}
*/

span.muted {color: #666;}

table code {background-color: transparent;}

.highlight .err {
    color: #a61717;
    background-color: transparent !important;
}

table p {
    margin-top: 12px;
    margin-bottom: 12px;
}

pre, table code {
    white-space: pre-wrap;       /* css-3 */
    white-space: -moz-pre-wrap;  /* Mozilla, since 1999 */
    white-space: -pre-wrap;      /* Opera 4-6 */
    white-space: -o-pre-wrap;    /* Opera 7 */
    word-wrap: break-word;       /* Internet Explorer 5.5+ */
}

pre {
    margin: 25px 0px;
}

#json-box-container pre {
    margin: 0px;
}

.video-js {
    margin: 30px 0px;
}

video {
    display: block;
    margin: 30px 0px;
    border: 1px solid #c0c0c0;
}


p.required, p.dataType {display: block; color: #c0c0c0; font-size: 80%; margin-left:4px;}

dd {margin-left:20px;}

.post-content img.inline {
    margin:0px;
    margin-bottom:6px;
}
.panel-heading {
    font-weight: bold;
}

.note code, .alert code, .warning code, div#toc code, h2 code, h3 code, h4 code {
    color: inherit;
    padding: 0px;
}

.alert {
    margin-bottom:10px;
    margin-top:10px;
}

a.accordion-toggle {
    font-style: normal;
}

span.red {
    color: red;
    font-family: Monaco, Menlo, Consolas, "Courier New", monospace;
}

h3.codeExplanation {
    font-size:18px;
    font-style:normal;
    color: black;
    line-height: 24px;
}

span.soft {
    color: #c0c0c0;
}

.endpoint {
    padding: 15px;
    background-color: #f0f0f0;
    font-family: courier;
    font-size: 110%;
    margin: 20px 0px;
    color: #444;
}

.parameter {
    font-family: courier;
    color: red !important;
}

.formBoundary {
    border: 1px solid gray;
    padding: 15px;
    margin: 15px 0px;
    background-color: whitesmoke;
}

@media (max-width: 767px) {
    .navbar-inverse .navbar-nav .open .dropdown-menu > li > a {
        color: #444;
    }
}

.col-md-9 img {
    max-width: 100%;
    max-height: 100%;
}


.post-content img {
    margin: 12px 0px 3px 0px;
    width: auto;
    height: auto;
    max-width: 100%;
    max-height: 100%;
}
.col-md-9 img {
    max-width: 100%;
    max-height: 100%;
}


.post-content img {
    margin: 12px 0px 3px 0px;
    width: auto;
    height: auto;
    max-width: 100%;
    max-height: 100%;
}

.videoThumbs img {
    float: left;
    margin:15px 15px 15px 0px;
    border: 1px solid #dedede;
}


@media only screen and (min-width: 900px), only screen and (min-device-width: 900px) {
    .col-md-9 img {
        max-width: 700px;
        max-height: 700px;
    }
}

*:hover > .anchorjs-link {
    transition: color .25s linear;
    text-decoration: none;
}

.kbCaption {
    color: white;
    background-color: #444;
    padding:10px;
}

/* this part adds an icon after external links, using FontAwesome*/
a[href^="http://"]:after, a[href^="https://"]:after {
    content: "\f08e";
    font-family: FontAwesome;
    font-weight: normal;
    font-style: normal;
    display: inline-block;
    text-decoration: none;
    padding-left: 3px;
}

/* Strip the outbound icon when this class is present */
a[href].noCrossRef::after,
a.no_icon:after
 {
    content:"" !important;
    padding-left: 0;
}

.btn-default {
    margin-bottom: 10px;
}

/* algolia search */

.search {
    text-align: left;
}
.search input {
    font-size: 20px;
    width: 300px;
}
.results {
    margin: auto;
    text-align: left;
}
.results ul {
    list-style-type: none;
    padding: 0;
}

/* algolia */

div.results {
    position: absolute;
    background-color: white;
    width: 100%;
}

.post-meta {
    font-size: 14px;
    color: #828282;
}

.post-link {
    font-size: 22px;
}

.post-list p {
    margin: 10px 0px;
}

time {
    margin-right: 10px;
}

p.post-meta time {
    margin-right: 0px;
}

span.label.label-default {
    background-color: gray;
}

span.label.label-primary {
    background-color: #f0ad4e;
}
.col-lg-12 .nav li a {background-color: white}


.nav li.active > a.subfoldersTitle {
    background-color: whitesmoke;
    font-weight: bold;
    color: black;
    }

a code {
    color: #248EC2;
}

code + a > code {
    margin-left: -7px;
}

table th code {
    color: white;
}

ol li ul li ol li {
    list-style: decimal;
}

ol li ul li ol li ul li{
    list-style: disc;
}

.post-content table th {
    vertical-align: top;
}

table thead th code.highlighter-rouge {
    background-color: transparent;
}


.box {
    padding: 10px;
    border: 1px solid #888;
    width: 100px;
    height: 80px;
    background-color: #f5f5f5;
    font-family: Arial;
    font-size: 12px;
    hyphens: auto;
    float: left;
    font-size: 12px;
}

.box:hover {
    background-color: #f0f0f0;
}

#userMap {
    overflow-x: auto;
    overflow-y: auto;
    padding: 20px;
    min-width: 770px;
}

#userMap .active {
    background-color: #d6f5d6;
    border:1px solid #555;
    font-weight: bold;
}

h2.userMapTitle {
    font-family: Arial;
}

#userMap a:hover {
    text-decoration: none;
  }

div.arrow {
    max-width: 50px;
    margin-left: 15px;
    margin-right: 15px;
    font-size: 20px;
}

div.content {
    max-width: 110px
}

#userMap div.arrow, #userMap div.content {
    float: left;
}

.clearfix {
    clear: both;
}


#userMap div.arrow {
    position: relative;
    top: 30px;
}

.box1 {
    margin-left:0px;
}

button.btn.btn-default.btn-lg.modalButton1 {
    margin-left: -20px;
}

div.box.box1 {
    margin-left: -20px;
}

#userMap .btn-lg {
    width: 100px;
    height: 80px;

}

#userMap .complexArrow {
    font-size: 22px;
    margin: 0px 10px;
}


#userMap .btn-lg .active {
    background-color: #d6f5d6;
}

#userMap .btn-lg  {
        white-space: pre-wrap;       /* css-3 */
        white-space: -moz-pre-wrap;  /* Mozilla, since 1999 */
        white-space: -pre-wrap;      /* Opera 4-6 */
        white-space: -o-pre-wrap;    /* Opera 7 */
        word-wrap: break-word;       /* Internet Explorer 5.5+ */
        font-size: 14px;
    }

/*
 * Let's target IE to respect aspect ratios and sizes for img tags containing SVG files
 *
 * [1] IE9
 * [2] IE10+
 */
/* 1 */
.ie9 img[src$=".svg"] {
    width: 100%;
}
/* 2 */
@media screen and (-ms-high-contrast: active), (-ms-high-contrast: none) {
    img[src$=".svg"] {
        width: 100%;
    }
}

h4.panel-title {
    padding-top: 0px;
    margin-top: 0px;
}

/*set navbar breakpoint so that it converts to hamburger earlier */

@media (max-width: 1200px) {
    .navbar-header {
        float: none;
    }
    .navbar-left,.navbar-right {
        float: none !important;
    }
    .navbar-toggle {
        display: block;
    }
    .navbar-collapse {
        border-top: 1px solid transparent;
    }
    .navbar-fixed-top {
        top: 0;
        border-width: 0 0 1px;
    }
    .navbar-collapse.collapse {
        display: none!important;
    }
    .navbar-nav {
        float: none!important;
        margin-top: 7.5px;
    }
    .navbar-nav>li {
        float: none;
    }
    .navbar-nav>li>a {
        padding-top: 10px;
        padding-bottom: 10px;
    }
    .collapse.in{
        display:block !important;
    }
}
