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

body {
    font-family: -apple-system, BlinkMacSystemFont, "Open Sans", Roboto, "Segoe UI", "Helvetica Neue", Arial, "Noto Sans", sans-serif, "Apple Color Emoji", "Segoe UI Emoji", "Segoe UI Symbol", "Noto Color Emoji" !important;
    font-weight: 300;
    line-height: 1.5;
    padding-top: 64px;
}

.accordion .card:last-of-type {
    border-radius: .25rem !important;
}

.accordion .card:first-of-type {
    border-bottom: 1px;
    border-radius: .25rem !important;
}

strong {
    font-weight: bold;
}

div.divider {
    clear: both;
    padding: 2px 0px 0px 0px;
}

div.page-menu {
    margin-bottom: 18px;
}

.back-to-top {
    cursor: pointer;
    position: fixed;
    bottom: 20px;
    right: 20px;
    display: none;
}

a.back-to-top,
a.back-to-top:hover,
a.back-to-top:visited {
    text-decoration: none;
}

.badge {
    padding: 6px;
}

.badge-danger.badge-outline {
    background-color: inherit !important;
    border: 1px solid #dc3545;
    color: #dc3545;
}

.badge-dark.badge-outline {
    background-color: inherit !important;
    border: 1px solid #343a40;
    color: #343a40;
}

.badge-info.badge-outline {
    background-color: inherit !important;
    border: 1px solid #17a2b8;
    color: #17a2b8;
}

.badge-light.badge-outline {
    background-color: inherit !important;
    border: 1px solid #a0a0a0;
    color: #a0a0a0;
}

.badge-primary.badge-outline {
    background-color: inherit !important;
    border: 1px solid #007bff;
    color: #007bff;
}

.badge-secondary.badge-outline {
    background-color: inherit !important;
    border: 1px solid #6c757d;
    color: #6c757d;
}

.badge-success.badge-outline {
    background-color: inherit !important;
    border: 1px solid #28a745;
    color: #28a745;
}

.badge-warning.badge-outline {
    background-color: inherit !important;
    border: 1px solid #ff9000;
    color: #ff9000;
}

.banner {
    font-family: 'Kaushan Script', cursive;
    font-size: 200%;
    font-weight: 400;
    padding: 0px 0 0 0;
}

.border-danger {
    border-color: #721c24;
}

.border-dark {
    border-color: #1b1e21;
}

.border-info {
    border-color: #0c5460;
}

.border-light {
    border-color: #818182;
}

.border-primary {
    border-color: #004085;
}

.border-secondary {
    border-color: #383d41;
}

.border-success {
    border-color: #155724;
}

.border-warning {
    border-color: #856404;
}

.boxshadow-1 {
    -webkit-box-shadow: 1px 1px 2px 0px rgba(0, 0, 0, 0.5);
    -moz-box-shadow: 1px 1px 2px 0px rgba(0, 0, 0, 0.5);
    box-shadow: 1px 1px 2px 0px rgba(0, 0, 0, 0.5);
}

.boxshadow-2 {
    -webkit-box-shadow: 2px 2px 5px 0px rgba(0, 0, 0, 0.5);
    -moz-box-shadow: 2px 2px 5px 0px rgba(0, 0, 0, 0.5);
    box-shadow: 2px 2px 5px 0px rgba(0, 0, 0, 0.5);
}

.btn-xs,
.btn-group-xs>.btn {
    padding: 1px 5px;
    font-size: 12px;
    line-height: 1.5;
    border-radius: 3px;
}

.card-header {
    font-weight: bold;
}

.card-header-help-icon {
    color: inherit;
    opacity: 1;
    padding-top: 4px;
}

.cc-revoke,
.cc-window {
    font-family: inherit;
}

.content {
    padding: 20px 20px 0px 20px;
}


.caret {
    margin-left: 6px;
}

.cursor-pointer:hover {
    cursor: pointer;
}

.menu-icon {
    margin-right: 10px;
    margin-left: -6px;
    padding-left: 0px;
    text-align: center;
    width: 20px;
}

.me-2 {
    margin-right: 10px;
    margin-left: -6px;
    padding-left: 0px;
    text-align: center;
    width: 20px;
}

.footer {
    color: #999999;
    margin-top: 60px;
    padding: 40px 15px 80px 15px;
}

.footer a {
    color: #999999;
}

.hidden {
    display: none;
}

.img_floatleft {
    float: left;
    margin: 0 24px 5px 0;
}

.img_floatright {
    float: right;
    margin: 0 0 5px 10px;
}

.img-border {
    -moz-box-shadow: 0 0 5px #ccc;
    -webkit-box-shadow: 0 0 5px #ccc;
    box-shadow: 0 0 5px #ccc;
    border: solid #fff 5px;
    left: -5px;
    background: #fff;
}

.logo-gradient:before {
    background-image: linear-gradient(45deg, #C00000, #ffc000, #00C000);
    background-clip: inherit;
    -webkit-background-clip: text;
    -webkit-text-fill-color: transparent;
}

.modal-header {
    min-height: 16.4286px;
    padding-top: 15px;
    padding-right: 15px;
    padding-bottom: 15px;
    padding-left: 15px;
    border-bottom-width: 1px;
    border-bottom-style: solid;
    border-bottom-color: #e5e5e5;
    border-top-left-radius: 4px;
    border-top-right-radius: 4px;
    background-image: -webkit-linear-gradient(top, #f5f5f5 0%, #e8e8e8 100%);
    background-image: linear-gradient(to bottom, #f5f5f5 0%, #e8e8e8 100%);
    background-repeat: repeat-x;
    filter: progid:DXImageTransform.Microsoft.gradient(startColorstr='#fff5f5f5', endColorstr='#ffe8e8e8', GradientType=0);
}

.rel-tooltip {
    display: inline;
    position: relative;
}

.rel-tooltip:hover:after {
    background: #ffffe0;
    border: 1px solid #ffb300;
    border-radius: 5px;
    content: attr(rel);
    bottom: 30px;
    left: 20%;
    padding: 5px 15px;
    position: absolute;
    z-index: 999999;
    width: 300px;
}

.rel-tooltip:hover:before {
    border: solid;
    border-color: #ffb300 transparent;
    border-width: 6px 6px 0 6px;
    bottom: 24px;
    content: "";
    left: 50%;
    position: absolute;
    z-index: 1001;
}

/**
 * Social icons
 */
.social-icon a {
    background-color: #404040;
    border-top-left-radius: 3px;
    border-top-right-radius: 3px;
    border-bottom-right-radius: 3px;
    border-bottom-left-radius: 3px;
    color: #ffffff;
    display: inline-block;
    height: 40px;
    line-height: 40px;
    margin-left: 5px;
    margin-right: 0px;
    margin-bottom: 5px;
    padding-top: 0px;
    text-align: center;
    transition-property: background-color;
    transition-duration: 0.5s;
    transition-timing-function: ease;
    transition-delay: 0s;
    width: 40px;
}

.social-icon a[href*="/feed"]:hover {
    background-color: #f39c12 !important;
}

.social-icon a[href*="/feed"] .fab:before {
    content: "\f09e"
}

.social-icon a[href*=".rss"]:hover {
    background-color: #f39c12 !important;
}

.social-icon a[href*=".rss"] .fab:before {
    content: "\f09e"
}

.social-icon a[href*="amazon."]:hover {
    background-color: #ff9900 !important;
}

.social-icon a[href*="amazon."] .fab:before {
    content: "\f270"
}

.social-icon a[href*="behance.net"]:hover {
    background-color: #1769ff !important;
}

.social-icon a[href*="behance.net"] .fab:before {
    content: "\f1b4"
}

.social-icon a[href*="bitbucket.org"]:hover {
    background-color: #205081 !important;
}

.social-icon a[href*="bitbucket.org"] .fab:before {
    content: "\f171"
}

.social-icon a[href*="deviantart.com"]:hover {
    background-color: #05cc47 !important;
}

.social-icon a[href*="deviantart.com"] .fab:before {
    content: "\f1bd"
}

.social-icon a[href*="dribbble.com"]:hover {
    background-color: #ea4c89 !important;
}

.social-icon a[href*="dribbble.com"] .fab:before {
    content: "\f17d"
}

.social-icon a[href*="dropbox."]:hover {
    background-color: #007ee5 !important;
}

.social-icon a[href*="dropbox."] .fab:before {
    content: "\f16b"
}

.social-icon a[href*="facebook.com"]:hover {
    background-color: #4265b9 !important;
}

.social-icon a[href*="facebook.com"] .fab:before {
    content: "\f09a"
}

.social-icon a[href*="flickr.com"]:hover {
    background-color: #ff0084 !important;
}

.social-icon a[href*="flickr.com"] .fab:before {
    content: "\f16e"
}

.social-icon a[href*="foursquare.com"]:hover {
    background-color: #2398C9 !important;
}

.social-icon a[href*="foursquare.com"] .fab:before {
    content: "\f180"
}

.social-icon a[href*="github.com"]:hover {
    background-color: #4183C4 !important;
}

.social-icon a[href*="github.com"] .fab:before {
    content: "\f09b"
}

.social-icon a[href*="instagram.com"]:hover {
    background-color: #F95B60 !important;
}

.social-icon a[href*="instagram.com"] .fab:before {
    content: "\f16d"
}

.social-icon a[href*="linkedin.com"]:hover {
    background-color: #005987 !important;
}

.social-icon a[href*="linkedin.com"] .fab:before {
    content: "\f0e1"
}

.social-icon a[href*="mailto"]:hover {
    background-color: #DA4453 !important;
}

.social-icon a[href*="mailto"] .fab:before {
    content: "\f003"
}

.social-icon a[href*="paypal."]:hover {
    background-color: #003087 !important;
}

.social-icon a[href*="paypal."] .fab:before {
    content: "\f1ed"
}

.social-icon a[href*="pinterest.com"]:hover {
    background-color: #c31e26 !important;
}

.social-icon a[href*="pinterest.com"] .fab:before {
    content: "\f0d2"
}

.social-icon a[href*="plus.google.com"]:hover {
    background-color: #dd4b39 !important;
}

.social-icon a[href*="plus.google.com"] .fab:before {
    content: "\f0d5"
}

.social-icon a[href*="skype.com"]:hover {
    background-color: #0bbff2 !important;
}

.social-icon a[href*="skype.com"] .fab:before {
    content: "\f17e"
}

.social-icon a[href*="soundcloud.com"]:hover {
    background-color: #F50 !important;
}

.social-icon a[href*="soundcloud.com"] .fab:before {
    content: "\f1be"
}

.social-icon a[href*="spotify.com"]:hover {
    background-color: #81b71a !important;
}

.social-icon a[href*="spotify.com"] .fab:before {
    content: "\f1bc"
}

.social-icon a[href*="tumblr.com"]:hover {
    background-color: #35506b !important;
}

.social-icon a[href*="tumblr.com"] .fab:before {
    content: "\f173"
}

.social-icon a[href*="twitter.com"]:hover {
    background-color: #55ACEE !important;
}

.social-icon a[href*="twitter.com"] .fab:before {
    content: "\f099"
}

.social-icon a[href*="vimeo.com"]:hover {
    background-color: #1bb6ec !important;
}

.social-icon a[href*="vimeo.com"] .fab:before {
    content: "\f194"
}

.social-icon a[href*="xing.com"]:hover {
    background-color: #026466 !important;
}

.social-icon a[href*="xing.com"] .fab:before {
    content: "\f168"
}

.social-icon a[href*="youtube.com"]:hover {
    background-color: #df3333 !important;
}

.social-icon a[href*="youtube.com"] .fab:before {
    content: "\f167"
}

.spacer-20 {
    margin-top: 20px;
}

.spacer-40 {
    margin-top: 40px;
}

.spacer-60 {
    margin-top: 60px;
}

.spacer-80 {
    margin-top: 80px;
}

.spacer-100 {
    margin-top: 100px;
}

.spacer-120 {
    margin-top: 120px;
}

.spacer-140 {
    margin-top: 140px;
}

.table-striped>tbody>tr.active:nth-child(odd)>td,
.table-striped>tbody>tr.active:nth-child(odd)>th {
    background-color: #f5f5f5;
}

.table-striped>tbody>tr.active:nth-child(odd):hover>td,
.table-striped>tbody>tr.active:nth-child(odd):hover>th {
    background-color: #e8e8e8;
}

.table-striped>tbody>tr.success:nth-child(odd)>td,
.table-striped>tbody>tr.success:nth-child(odd)>th {
    background-color: #dff0d8;
}

.table-striped>tbody>tr.success:nth-child(odd):hover>td,
.table-striped>tbody>tr.success:nth-child(odd):hover>th {
    background-color: #d0e9c6;
}

.table-striped>tbody>tr.danger:nth-child(odd)>td,
.table-striped>tbody>tr.danger:nth-child(odd)>th {
    background-color: #f2dede;
}

.table-striped>tbody>tr.danger:nth-child(odd):hover>td,
.table-striped>tbody>tr.danger:nth-child(odd):hover>th {
    background-color: #ebcccc;
}

.table-striped>tbody>tr.warning:nth-child(odd)>td,
.table-striped>tbody>tr.warning:nth-child(odd)>th {
    background-color: #fcf8e3;
}

.table-striped>tbody>tr.warning:nth-child(odd):hover>td,
.table-striped>tbody>tr.warning:nth-child(odd):hover>th {
    background-color: #faf2cc;
}

.text-italic {
    font-style: italic;
}

.text-normal {
    font-weight: normal;
}

.text-bold {
    font-weight: bold;
}

.text-xs {
    font-size: 75%;
}

.text-sm {
    font-size: 85%;
}

.text-lg {
    font-size: 115%;
}

.text-xl {
    font-size: 125%;
}

/*
 * Timeline
 */
.timeline {
    position: relative;
    padding: 0 0px 10px;
    margin-top: 4px;
}

.timeline .line {
    position: absolute;
    width: 2px;
    display: block;
    background: #c2c2c2;
    top: 0px;
    bottom: 0px;
    margin-left: 31px;
}

.timeline .card,
.timeline h4 {
    position: relative;
    margin: 10px 0px 21px 70px;
    clear: both;
}

.timeline .card::before {
    position: absolute;
    display: block;
    top: 8px;
    left: -24px;
    content: '';
    width: 0px;
    height: 0px;
    border: inherit;
    border-width: 12px;
    border-top-color: transparent;
    border-bottom-color: transparent;
    border-left-color: transparent;
}

.timeline .card .card-header h2 {
    display: inline-block;
}

.timeline .card .card-header.icon * {
    font-size: 20px;
    vertical-align: middle !important;
    line-height: 40px;
}

.timeline .card .card-header.icon {
    position: absolute;
    left: -59px;
    display: block;
    width: 40px;
    height: 40px;
    padding: 0px;
    border-radius: 50% !important;
    text-align: center;
    float: left;
    color: #ffffff;
}

.timeline .card-outline {
    border-color: transparent;
    background: transparent;
    box-shadow: none;
}

.timeline .card-outline .card-body {
    padding: 10px 0px;
}

.timeline .card-outline .card-header:not(.icon),
.timeline .card-outline .card-footer {
    display: none;
}

.timeline .line::before {
    top: -4px;
}

.timeline .line::before {
    content: '';
    position: absolute;
    left: -4px;
    width: 10px;
    height: 10px;
    display: block;
    border-radius: 50%;
    background: #c2c2c2;
}

/*
 * Tooltips
 */
.tooltip-inner {
    max-width: 500px;
    text-align: left;
}

.tooltip-danger .tooltip-inner {
    color: #721c24;
    background-color: #f8d7da;
    border: 1px solid #721c24;
}

.tooltip-danger .tooltip.bs-tooltip-top .arrow:before {
    border-top-color: #721c24;
}

.tooltip-danger .tooltip.bs-tooltip-right .arrow:before {
    border-right-color: #721c24;
}

.tooltip-danger .tooltip.bs-tooltip-bottom .arrow:before {
    border-bottom-color: #721c24;
}

.tooltip-danger .tooltip.bs-tooltip-left .arrow:before {
    border-left-color: #721c24;
}

.tooltip-dark .tooltip-inner {
    color: #1b1e21;
    background-color: #d6d8d9;
    border: 1px solid #1b1e21;
}

.tooltip-dark .tooltip.bs-tooltip-top .arrow:before {
    border-top-color: #1b1e21;
}

.tooltip-dark .tooltip.bs-tooltip-right .arrow:before {
    border-right-color: #1b1e21;
}

.tooltip-dark .tooltip.bs-tooltip-bottom .arrow:before {
    border-bottom-color: #1b1e21;
}

.tooltip-dark .tooltip.bs-tooltip-left .arrow:before {
    border-left-color: #1b1e21;
}

.tooltip-info .tooltip-inner {
    color: #0c5460;
    background-color: #d1ecf1;
    border: 1px solid #0c5460;
}

.tooltip-info .tooltip.bs-tooltip-top .arrow:before {
    border-top-color: #0c5460;
}

.tooltip-info .tooltip.bs-tooltip-right .arrow:before {
    border-right-color: #0c5460;
}

.tooltip-info .tooltip.bs-tooltip-bottom .arrow:before {
    border-bottom-color: #0c5460;
}

.tooltip-info .tooltip.bs-tooltip-left .arrow:before {
    border-left-color: #0c5460;
}

.tooltip-light .tooltip-inner {
    color: #818182;
    background-color: #fefefe;
    border: 1px solid #818182;
}

.tooltip-light .tooltip.bs-tooltip-top .arrow:before {
    border-top-color: #818182;
}

.tooltip-light .tooltip.bs-tooltip-right .arrow:before {
    border-right-color: #818182;
}

.tooltip-light .tooltip.bs-tooltip-bottom .arrow:before {
    border-bottom-color: #818182;
}

.tooltip-light .tooltip.bs-tooltip-left .arrow:before {
    border-left-color: #818182;
}

.tooltip-primary .tooltip-inner {
    color: #004085;
    background-color: #cce5ff;
    border: 1px solid #004085;
}

.tooltip-primary .tooltip.bs-tooltip-top .arrow:before {
    border-top-color: #004085;
}

.tooltip-primary .tooltip.bs-tooltip-right .arrow:before {
    border-right-color: #004085;
}

.tooltip-primary .tooltip.bs-tooltip-bottom .arrow:before {
    border-bottom-color: #004085;
}

.tooltip-primary .tooltip.bs-tooltip-left .arrow:before {
    border-left-color: #004085;
}

.tooltip-secondary .tooltip-inner {
    color: #383d41;
    background-color: #e2e3e5;
    border: 1px solid #383d41;
}

.tooltip-secondary .tooltip.bs-tooltip-top .arrow:before {
    border-top-color: #383d41;
}

.tooltip-secondary .tooltip.bs-tooltip-right .arrow:before {
    border-right-color: #383d41;
}

.tooltip-secondary .tooltip.bs-tooltip-bottom .arrow:before {
    border-bottom-color: #383d41;
}

.tooltip-secondary .tooltip.bs-tooltip-left .arrow:before {
    border-left-color: #383d41;
}

.tooltip-success .tooltip-inner {
    color: #155724;
    background-color: #d4edda;
    border: 1px solid #155724;
}

.tooltip-success .tooltip.bs-tooltip-top .arrow:before {
    border-top-color: #155724;
}

.tooltip-success .tooltip.bs-tooltip-right .arrow:before {
    border-right-color: #155724;
}

.tooltip-success .tooltip.bs-tooltip-bottom .arrow:before {
    border-bottom-color: #155724;
}

.tooltip-success .tooltip.bs-tooltip-left .arrow:before {
    border-left-color: #155724;
}

.tooltip-warning .tooltip-inner {
    color: #856404;
    background-color: #fff3cd;
    border: 1px solid #856404;
}

.tooltip-warning .tooltip.bs-tooltip-top .arrow:before {
    border-top-color: #856404;
}

.tooltip-warning .tooltip.bs-tooltip-right .arrow:before {
    border-right-color: #856404;
}

.tooltip-warning .tooltip.bs-tooltip-bottom .arrow:before {
    border-bottom-color: #856404;
}

.tooltip-warning .tooltip.bs-tooltip-top .arrow:before {
    border-left-color: #856404;
}

.xsmall {
    font-size: 75%;
}

.div-table-hover div.row:hover {
    background-color: rgba(0, 0, 0, 0.075);
    /* color: #ffffff !important; */
}

/*
 * System Diagram Table
 */
table.diagram {
    border-collapse: collapse;
}

td.diagram-env {
    color: #666666;
    font-size: 14px;
    font-weight: bold;
}

td.diagram-corner {
    padding-left: 20px;
}

td.diagram-arrow-in {
    color: #009900;
    font-size: 14px;
    font-weight: bold;
}

td.diagram-arrow-in-tip-left {
    background-image: url(../images/arrow-in-tip-left.png);
    background-position: right;
    background-repeat: no-repeat;
    width: 40px;
}

td.diagram-arrow-in-tip-right {
    background-image: url(../images/arrow-in-tip-right.png);
    background-position: left;
    background-repeat: no-repeat;
    width: 40px;
}

td.diagram-arrow-out-tip-left {
    background-image: url(../images/arrow-out-tip-left.png);
    background-position: left;
    background-repeat: no-repeat;
    width: 40px;
}

td.diagram-arrow-out-tip-right {
    background-image: url(../images/arrow-out-tip-right.png);
    background-position: right;
    background-repeat: no-repeat;
    width: 40px;
}

td.diagram-arrow-out-line-left,
td.diagram-arrow-out-line-right {
    background-image: url(../images/arrow-out-line.png);
    background-position: right;
    background-repeat: no-repeat;
    width: 40px;
}

td.diagram-arrow-in-line-left,
td.diagram-arrow-in-line-right {
    background-image: url(../images/arrow-in-line.png);
    background-position: right;
    background-repeat: no-repeat;
    width: 40px;
}

td.diagram-arrow-in-text {
    color: #009900;
    font-weight: bold;
    font-size: 14px;
    text-align: center;
}

td.diagram-arrow-out {
    color: #0000DD;
    font-size: 14px;
    font-weight: bold;
}

td.diagram-arrow-out-text {
    color: #0000DD;
    font-weight: bold;
    font-size: 14px;
    text-align: center;
}

td.diagram-box-top-001 {
    border-left: 2px solid #FF9900;
    border-top: 2px solid #FF9900;
    border-right: 2px solid #FF9900;
    background-color: #fffacd;
    padding: 6px;
}

td.diagram-box-mid-001 {
    border-left: 2px solid #FF9900;
    border-right: 2px solid #FF9900;
    background-color: #fffacd;
    font-weight: bold;
    font-size: larger;
    padding: 6px 20px 6px 20px;
}

td.diagram-box-bot-001 {
    border-left: 2px solid #FF9900;
    border-bottom: 2px solid #FF9900;
    border-right: 2px solid #FF9900;
    background-color: #fffacd;
    padding: 6px;
}

td.diagram-box-top-002 {
    border-left: 2px solid #DD0000;
    border-top: 2px solid #DD0000;
    border-right: 2px solid #DD0000;
    background-color: #ffeeee;
    padding: 6px;
}

td.diagram-box-mid-002 {
    border-left: 2px solid #dd0000;
    border-right: 2px solid #dd0000;
    background-color: #ffeeee;
    font-weight: bold;
    font-size: larger;
    padding: 6px 20px 6px 20px;
}

td.diagram-box-bot-002 {
    border-left: 2px solid #dd0000;
    border-bottom: 2px solid #dd0000;
    border-right: 2px solid #dd0000;
    background-color: #ffeeee;
    padding: 6px;
}