/* ================================
   CSS Custom Properties (Variables)
   ================================ */
:root {
    /* Fonts */
    --font-primary: "Roboto", Helvetica, Arial, sans-serif;

    /* Font Sizes */
    --font-size-base: 14px;
    --font-size-small: 0.9em;
    --font-size-xs: 0.9rem;
    --font-size-medium: medium;

    /* Font Weights */
    --font-weight-normal: 400;
    --font-weight-bold: 600;

    /* Line Heights */
    --line-height-base: 1.5;
    --line-height-table: 1.42857143;

    /* Primary Brand Colors */
    --color-primary: #617f8c;
    --color-primary-dark: #495e67;
    --color-secondary: #29434c;
    --color-secondary-hover: #385b67;

    /* Text Colors */
    --color-text-body: #212529;
    --color-text-dark: #191919;
    --color-text-muted: #616161;
    --color-text-gray: gray;
    --color-text-input: #555;
    --color-text-light: #9d9d9d;
    --color-text-schema: #313131;

    /* White & Black */
    --color-white: #fff;
    --color-black: #000;

    /* Navbar */
    --color-navbar-link: #d1d8da;

    /* Backgrounds */
    --color-bg-body: #fff;
    --color-bg-light: #f7f7f7;
    --color-bg-well-even: #f5f5f5;
    --color-bg-well-odd: #eaeaea;
    --color-bg-hover: #fafafa;
    --color-bg-search-alt: #eef2f4;

    /* Borders */
    --color-border-light: #e0e0e0;
    --color-border-input: #ccc;
    --color-border-table: #dee2e6;
    --color-border-tab: #d5e1e6;

    /* Info / Warning / Error Colors */
    --color-info: #17a2b8;
    --color-info-dark: #117a8b;
    --color-info-alt: #2f96b4;
    --color-warning: #af8b21;
    --color-error: #e28f97;

    /* Links */
    --color-link: #a9c1cc;
    --color-link-hover: #348e7b;

    /* Contextmenu / JSON editor */
    --color-contextmenu-selected: #666666;

    /* Misc */
    --border-radius-base: 4px;
    --border-radius-round: 5px;
    --border-radius-scrollbar: 8px;
    --transition-speed: 200ms;
    --shadow-search-result: 1px 1px 1px 1px rgba(97, 127, 140, 0.01);
    --shadow-focus: inset 0 1px 1px rgba(0, 0, 0, 0.075), 0 0 8px rgba(73, 94, 103, 0.6);
}

/* ================================
   Base Styles
   ================================ */
*{
    margin: 0;
    padding: 0;
    box-sizing: border-box;
}

body {
    padding-top: 60px;
    font-family: var(--font-primary);
    font-size: var(--font-size-base);
    font-weight: var(--font-weight-normal);
    line-height: var(--line-height-base);
    color: var(--color-text-body);
    background-color: var(--color-bg-body);
    min-height: 100vh;
    display: grid;
    grid-template-rows: auto 1fr auto;
}

textarea {
    resize: vertical;
}

button:focus {
    outline: none !important;
}

/* ================================
   Links
   ================================ */
a {
    color: var(--color-link);
    text-decoration: none;
}

a:focus,
a:hover {
    color: var(--color-link-hover);
    text-decoration: underline;
}

a i {
    padding: 0px 4px;
}

a.link {
    cursor: pointer;
}

.admin-link {
    color: var(--color-text-light);
}

.admin-link:hover {
    color: var(--color-white);
    text-decoration: none;
}

/* ================================
   Navbar
   ================================ */
.navbar-brand {
    color: var(--color-white) !important;
    display: flex;
    align-items: center;
}

.navbar-inverse {
    background-color: var(--color-secondary);
    border-color: var(--color-secondary);
}

.navbar-inverse .navbar-nav > li > a {
    color: var(--color-navbar-link);
}

/* ================================
   Search
   ================================ */
.search-bar {
    padding-bottom: 8px;
    margin: 20px 0px;
}

.search-result-properties,
.graph-selected-node-preview {
    list-style: none;
    padding-left: 0;
}

.graph-selected-node-preview {
    margin: 0;
}

ul.search-results-list.small {
    padding-left: 10px;
}

ul.search-results-list .list-handles-link {
    font-size: 11pt;
}

ul.search-results-list {
    font-size: 10pt;
}

ul.search-results-list > li {
    margin-bottom: 0.75em;
}

li.search-results-dates {
    font-size: 8pt;
    color: var(--color-text-gray);
}

/* ================================
   Search Results
   ================================ */
.search-results-container {
    margin: 0px 0px;
    padding: 10px 0px;
}

.search-result-column-header {
    margin: 5px 0px;
    font-weight: bold;
}

.search-result {
    min-height: 50px;
    border: 1px solid var(--color-bg-search-alt);
    margin: 5px 0px;
    overflow-wrap: break-word;
    display: block;
    box-shadow: var(--shadow-search-result);
    padding-bottom: 2px;
    padding-left: 10px;
}

.search-result:nth-child(2n + 1) {
    background-color: var(--color-bg-search-alt);
    box-shadow: var(--shadow-search-result);
}

.search-result .header {
    margin-top: 3px;
    margin-bottom: 3px;
}

.search-result .header h4 {
    margin: 0px 0px !important;
    padding: 0px 10px;
}

.search-result a {
    color: var(--color-secondary);
}

.search-result .metadata {
    font-size: var(--font-size-small);
}

.search-result .metadata a {
    text-decoration: underline;
}

.search-result .metadata .fa {
    font-size: 10px;
    padding: 0px 4px 0px 0px;
}

.search-result .details {
    font-size: var(--font-size-small);
}

.search-result .details a {
    text-decoration: underline;
}

.search-result .details .fa {
    font-size: 10px;
    padding: 0px 4px 0px 0px;
}

.search-result .info-body {
    color: var(--color-text-muted);
}

.search-result .info-body .info-header {
    padding: 0px 5px 0px 0px;
}

.search-result .info-body .info-header::after {
    content: ":";
}

/* ================================
   Modal
   ================================ */
.cordra-big-modal {
    position: fixed;
    top: 0;
    left: 0;
    margin: 0 !important;
    height: 100% !important;
    width: 100% !important;
    padding-bottom: 5px !important;
    padding-top: 0 !important;
    padding-left: 0 !important;
    padding-right: 0 !important;
    border: none !important;
    z-index: 9999;
    background-color: var(--color-white) !important;
}

/* ================================
   Cordra Buttons (Search/Create/Round)
   ================================ */
.cordra-pagination-small {
    margin-top: 0;
    margin-bottom: 0;
}

.cordra-search-button {
    border-top-left-radius: 0;
    border-bottom-left-radius: 0;
    border-top-right-radius: 0;
    border-bottom-right-radius: 0;
    margin-left: -1px;
}

.cordra-create-button {
    border-top-left-radius: 0;
    border-bottom-left-radius: 0;
    margin-left: -1px;
}

.cordra-round-left {
    border-top-left-radius: var(--border-radius-base) !important;
    border-bottom-left-radius: var(--border-radius-base) !important;
}

.cordra-round-right {
    border-top-right-radius: var(--border-radius-base) !important;
    border-bottom-right-radius: var(--border-radius-base) !important;
}

/* ================================
   JSON Editor / Schema Editor
   ================================ */
.btn-default.json-editor-btn-delete {
    color: var(--color-white);
    background-color: var(--color-primary);
    border-color: var(--color-primary);
}

.editorTitle {
    margin-top: 0 !important;
    margin-bottom: 2px !important;
    overflow-wrap: break-word;
}

.hidden-buttons .btn-group,
.hidden-buttons button,
.hidden-buttons .hide-with-buttons {
    display: none !important;
}

[data-schemapath=root] table thead th:last-child {
    width: 1%;
    min-width: 136px;
}

[data-schemapath=root] table table {
    width: 100% !important;
}

div[data-schemapath] {
    padding-top: 0px !important;
}

[data-schemapath=root] h3 {
    margin-top: 0 !important;
    margin-bottom: 2px !important;
    font-size: var(--font-size-medium) !important;
}

[data-schemapath=root] h3 button {
    padding-top: 3px !important;
    padding-bottom: 3px !important;
}

[data-schemapath=root] h3 ~ div h3 {
    font-size: var(--font-size-medium) !important;
}

[data-schemapath=root] h3 ~ div h3 ~ div h3 {
    font-size: var(--font-size-medium);
}

/* ================================
   Wells
   ================================ */
.well {
    background-color: var(--color-white);
}

[data-schemapath=root] .well {
    background-color: transparent;
    border: none;
    box-shadow: none;
    -webkit-appearance: none;
}

[data-schemapath=root] .well.well-sm h3 {
    line-height: 1.3em;
    padding: 5px 0px;
}

[data-schemapath=root] .well.well-sm > div > div > div > h3 {
    line-height: 1.3em;
    padding: 5px 0px;
}

[data-schemapath=root] > h3:after {
    content: " ";
    display: block;
    width: 100px;
    height: 2px;
    margin-top: 0.6rem;
    background: var(--color-primary);
}

[data-schemapath=root] .well.well-sm > div > div > div > h3:after {
    content: " ";
    display: block;
    width: 100px;
    height: 2px;
    margin-top: 0.6rem;
    background: var(--color-primary);
}

[data-schemapath=root] .well .well {
    margin-left: 12px !important;
    background-color: var(--color-bg-well-even);
    padding-bottom: 5px !important;
}

[data-schemapath=root] .well .well .well {
    background-color: var(--color-bg-well-odd);
}

[data-schemapath=root] .well .well .well .well {
    background-color: var(--color-bg-well-even);
}

[data-schemapath=root] .well .well .well .well .well {
    background-color: var(--color-bg-well-odd);
}

[data-schemapath=root] .well .well .well .well .well .well {
    background-color: var(--color-bg-well-even);
}

[data-schemapath=root] .well .well .well .well .well .well .well {
    background-color: var(--color-bg-well-odd);
}

[data-schemapath=root] .table .table {
    background-color: transparent;
}

[data-schemapath=root] .well .table {
    background-color: var(--color-bg-well-odd);
}

[data-schemapath=root] .well .table .table {
    background-color: var(--color-bg-well-even);
}

[data-schemapath=root] .well .well .table {
    background-color: var(--color-bg-well-even);
}

[data-schemapath=root] .well .well .table .table {
    background-color: var(--color-bg-well-odd);
}

[data-schemapath=root] .well .well .well .table {
    background-color: var(--color-bg-well-odd);
}

[data-schemapath=root] .well .well .well .table .table {
    background-color: var(--color-bg-well-even);
}

[data-schemapath=root] .well .well .well .well .table {
    background-color: var(--color-bg-well-even);
}

[data-schemapath=root] .well .well .well .well .table .table {
    background-color: var(--color-bg-well-odd);
}

[data-schemapath=root] .well .well .well .well .well .table {
    background-color: var(--color-bg-well-odd);
}

[data-schemapath=root] .well .well .well .well .well .table .table {
    background-color: var(--color-bg-well-even);
}

[data-schemapath=root] .well .well .well .well .well .well .table {
    background-color: var(--color-bg-well-even);
}

/* ================================
   Schema Editor
   ================================ */
#schemaEditor {
    margin-top: 5px;
}

/* ================================
   Chart Legends
   ================================ */
.chart-legend li,
.polararea-legend li {
    display: block;
    padding-left: 30px;
    position: relative;
    margin-bottom: 4px;
    border-radius: var(--border-radius-round);
    padding: 2px 8px 2px 28px;
    font-size: var(--font-size-base);
    cursor: default;
    -webkit-transition: background-color var(--transition-speed) ease-in-out;
    -moz-transition: background-color var(--transition-speed) ease-in-out;
    -o-transition: background-color var(--transition-speed) ease-in-out;
    transition: background-color var(--transition-speed) ease-in-out;
}

.chart-legend li:hover,
.polararea-legend li:hover {
    background-color: var(--color-bg-hover);
}

.chart-legend li span,
.polararea-legend li span {
    display: block;
    position: absolute;
    left: 0;
    top: 0;
    width: 20px;
    height: 100%;
    border-radius: var(--border-radius-round);
}

/* ================================
   Ace Editor
   ================================ */
.ace_editor {
    border: 1px solid var(--color-border-input);
    border-radius: var(--border-radius-base);
}

/* ================================
   JSON Editor (tree mode)
   ================================ */
.jsoneditor-poweredBy {
    display: none;
}

div.jsoneditor-contextmenu ul li button.jsoneditor-selected,
div.jsoneditor-contextmenu ul li button.jsoneditor-selected:hover,
div.jsoneditor-contextmenu ul li button.jsoneditor-selected:focus {
    color: var(--color-white);
    background-color: var(--color-contextmenu-selected);
}

div.jsoneditor {
    border-color: var(--color-border-input);
}

/* ================================
   Form Controls
   ================================ */
.help-block {
    margin-top: 0px;
    margin-bottom: 0px;
}

.form-group {
    margin-bottom: 5px;
}

.control-label {
    margin-bottom: 1px;
}

.form-control:focus,
.payloadEditor input:focus,
.payloadEditor select:focus,
.payloadEditor textarea:focus {
    border-color: var(--color-primary-dark);
    outline: 0;
    -webkit-box-shadow: var(--shadow-focus);
    box-shadow: var(--shadow-focus);
    z-index: 3;
}

.payloadEditor input {
    border-top-right-radius: 0;
    border-bottom-right-radius: 0;
    height: 34px;
    padding: 6px 12px;
    font-size: var(--font-size-base);
    line-height: var(--line-height-table);
    color: var(--color-text-input);
    background-color: var(--color-bg-body);
    background-image: none;
    border: 1px solid var(--color-border-input);
    border-radius: var(--border-radius-base);
}

/* ================================
   Schemas Scroll
   ================================ */
.schemas-scroll {
    overflow-y: auto;
    max-height: 300px;
    border: 1px solid var(--color-border-light);
    padding: 15px;
    margin: 20px 0px;
}

.schemas-scroll::-webkit-scrollbar {
    -webkit-appearance: none;
}

.schemas-scroll::-webkit-scrollbar:vertical {
    width: 11px;
}

.schemas-scroll::-webkit-scrollbar:horizontal {
    height: 11px;
}

.schemas-scroll::-webkit-scrollbar-thumb {
    border-radius: var(--border-radius-scrollbar);
    border: 2px solid var(--color-white);
    background-color: rgba(0, 0, 0, 0.5);
}

.schemas-scroll::-webkit-scrollbar-track {
    background-color: var(--color-bg-body);
    border-radius: var(--border-radius-scrollbar);
}

.schemas-scroll .header-content {
    font-size: 1.1em;
    background-color: var(--color-primary);
    border: 1px solid var(--color-bg-light);
    color: var(--color-white);
}

.schemas-scroll .content:nth-child(2n+1) {
    border: 1px solid var(--color-bg-light);
    background-color: var(--color-bg-light);
    overflow-wrap: break-word;
}

.schemas-scroll .content .schema-object {
    color: var(--color-text-schema) !important;
    text-decoration: underline;
    overflow-wrap: break-word;
    cursor: pointer;
}

/* ================================
   App Container
   ================================ */
.app-container {
    margin-top: 20px;
}

/* ================================
   Button with Icons
   ================================ */
button span {
    padding: 0px 0px 0px 5px;
}

.btn .caret {
    padding: 0px;
}

.nopadding {
    padding: 0px !important;
}

/* ================================
   Pagination
   ================================ */
.pagination-controls-top {
    margin: 0px 20px 0px 0px;
}

.pagination-controls-bottom {
    padding: 10px 0px;
}

.pagination-container .pagination-text {
    margin-top: 10px;
    color: var(--color-primary);
    font-weight: var(--font-weight-bold);
    display: none;
}

.pagination-controls-top .pagination-text {
    display: block;
}

.pagination .page-item .page-link {
    padding: 0.5rem 0.75rem;
    line-height: 1.25;
    color: var(--color-primary);
    background-color: var(--color-bg-body);
    border: 1px solid var(--color-border-table);
}

.pagination .page-item.active .page-link {
    color: var(--color-white);
    background-color: var(--color-primary);
    border-color: var(--color-primary);
}

/* ================================
   Object Editor
   ================================ */
.editor > h3 > span {
    margin: 15px;
}

.heading {
    margin-bottom: 1rem;
    line-height: 1.1;
    display: inline-block;
    margin-bottom: 0;
}

.heading h1 {
    text-transform: uppercase;
    letter-spacing: 0.1em;
}

.heading h1:after,
.heading h2:after,
.heading h3:after {
    content: " ";
    display: block;
    width: 100px;
    height: 2px;
    margin-top: 0.6rem;
    background: var(--color-primary);
}

.heading p {
    margin: 5px 0 10px;
    overflow-wrap: break-word;
}

.object-editor-toolbar {
    text-align: right;
    z-index: 100;
}

.object-editor-toolbar button {
    margin-left: 5px;
}

.object-editor-toolbar div {
    margin-left: 5px;
}

/* ================================
   Payloads Editor
   ================================ */
.payloadEditor button {
    margin-left: 5px;
}

.payloadEditor .helpText {
    margin-left: 5px;
}

/* ================================
   Other Editors (Handle, ACL, Versions, etc.)
   ================================ */
.handleEditor {
    padding: 10px 0px;
}

.aclEditor,
.objectMethods,
.versionsEditor,
.payloadEditor,
.relationshipsEditor,
.objectEditor .userMetadataEditor {
    padding-bottom: 10px;
    margin-bottom: 20px;
    border: 1px solid var(--color-border-light);
}

.aclEditor .object-editor-toolbar,
.objectMethods .object-editor-toolbar,
.versionsEditor .object-editor-toolbar,
.relationshipsEditor .object-editor-toolbar,
.objectEditor .object-editor-toolbar {
    margin-top: 10px;
}

.payloadEditor {
    border: 1px solid var(--color-border-light);
    margin-top: 20px;
}

.editJsonEditor {
    padding-right: 0px;
    padding-left: 0px;
}

.editJsonEditor > div:last-child,
.advancedEditor > div:last-child,
.objectMethods > div:last-child,
.versionsEditor > div:last-child,
.payloadEditor > div:last-child {
    margin-bottom: 10px;
}

.advancedEditor > div:first-child,
.editJsonEditor > div:first-child {
    margin-top: 10px;
}

.objectEditor .breadcrumb {
    background-color: var(--color-bg-body);
    padding: 5px 0px 0px 0px;
    margin-bottom: 0px;
    border-radius: 0px;
}

.objectEditor .breadcrumb ol {
    margin-bottom: 0px;
}

.objectEditor .breadcrumb > li {
    cursor: pointer;
    font-size: 12px;
    padding-left: 1ex;
}

.objectEditor .breadcrumb > li + li:before {
    content: "";
}

/* ================================
   ACL Editor
   ================================ */
.aclEditor .json-editor-btn-add,
.aclEditor .json-editor-btn-delete,
.aclEditor .json-editor-btn-moveup,
.aclEditor .json-editor-btn-movedown {
    margin: 5px;
}

.objectMethods .well,
.aclEditor .well {
    margin: 0px !important;
    border: none;
    background: none;
    padding: 0px;
}

.aclEditor .well .table {
    background-color: var(--color-white) !important;
    margin-bottom: 5px !important;
}

.action-tool-bar {
    padding: 10px 15px;
    text-align: right;
}

.action-tool-bar button {
    margin-left: 5px;
}

/* ================================
   Types Editors
   ================================ */
.schema-editor,
.js-editor {
    margin-bottom: 20px;
}

.schema-editor {
    margin-top: 20px;
}

.schemas-header {
    margin-top: 15px;
}

/* ================================
   Buttons
   ================================ */
button i {
    padding: 0px 4px;
}

.btn-primary {
    color: var(--color-white);
    background-color: var(--color-primary);
    border-color: var(--color-primary);
}

.btn-primary:hover,
.btn-primary:focus,
.btn-primary.focus,
.btn-primary.active.focus,
.btn-primary.active:focus,
.btn-primary.active:hover,
.btn-primary:active.focus,
.btn-primary:active:focus,
.btn-primary:active:hover,
.open > .dropdown-toggle.btn-primary.focus,
.open > .dropdown-toggle.btn-primary:focus,
.open > .dropdown-toggle.btn-primary:hover {
    color: var(--color-white);
    background-color: var(--color-primary-dark);
    border-color: var(--color-primary-dark);
}

.btn-secondary {
    color: var(--color-white);
    background-color: var(--color-secondary);
    border-color: var(--color-secondary);
}

.btn-secondary:hover,
.btn-secondary:focus,
.btn-secondary.focus,
.btn-secondary.active.focus,
.btn-secondary.active:focus,
.btn-secondary.active:hover,
.btn-secondary:active.focus,
.btn-secondary:active:focus,
.btn-secondary:active:hover,
.open > .dropdown-toggle.btn-secondary.focus,
.open > .dropdown-toggle.btn-secondary:focus,
.open > .dropdown-toggle.btn-secondary:hover {
    color: var(--color-white);
    background-color: var(--color-secondary-hover);
    border-color: var(--color-secondary-hover);
}

.btn-success {
    color: var(--color-white);
    background-color: var(--color-secondary);
    border-color: var(--color-secondary);
}

.btn-success:hover,
.btn-success:focus,
.btn-success.focus,
.btn-success.active.focus,
.btn-success.active:focus,
.btn-success.active:hover,
.btn-success:active.focus,
.btn-success:active:focus,
.btn-success:active:hover,
.open > .dropdown-toggle.btn-success.focus,
.open > .dropdown-toggle.btn-success:focus,
.open > .dropdown-toggle.btn-success:hover {
    color: var(--color-white);
    background-color: var(--color-secondary-hover);
    border-color: var(--color-secondary-hover);
}

.btn-info {
    color: var(--color-white);
    background-color: var(--color-info);
    border-color: var(--color-info);
}

.btn-info.active.focus,
.btn-info.active:focus,
.btn-info.active:hover,
.btn-info:active.focus,
.btn-info:active:focus,
.btn-info:active:hover,
.open > .dropdown-toggle.btn-info.focus,
.open > .dropdown-toggle.btn-info:focus,
.open > .dropdown-toggle.btn-info:hover {
    color: var(--color-white);
    background-color: var(--color-info-dark);
    border-color: var(--color-info-dark);
}

.btn-warning {
    color: var(--color-white);
    background-color: var(--color-primary);
    border-color: var(--color-primary);
}

.btn-warning:hover,
.btn-warning:focus,
.btn-warning.focus,
.btn-warning.active.focus,
.btn-warning.active:focus,
.btn-warning.active:hover,
.btn-warning:active.focus,
.btn-warning:active:focus,
.btn-warning:active:hover,
.open > .dropdown-toggle.btn-warning.focus,
.open > .dropdown-toggle.btn-warning:focus,
.open > .dropdown-toggle.btn-warning:hover {
    color: var(--color-white);
    background-color: var(--color-primary-dark);
    border-color: var(--color-primary-dark);
}

.btn-danger {
    color: var(--color-white);
    background-color: var(--color-primary);
    border-color: var(--color-primary);
}

.btn-danger:hover,
.btn-danger:focus,
.btn-danger.focus,
.btn-danger.active.focus,
.btn-danger.active:focus,
.btn-danger.active:hover,
.btn-danger:active.focus,
.btn-danger:active:focus,
.btn-danger:active:hover,
.open > .dropdown-toggle.btn-danger.focus,
.open > .dropdown-toggle.btn-danger:focus,
.open > .dropdown-toggle.btn-danger:hover {
    color: var(--color-white);
    background-color: var(--color-primary-dark);
    border-color: var(--color-primary-dark);
}

.btn-group .dropdown-toggle .caret {
    margin: 0px 0px 0px 5px;
}

/* ================================
   Toastr Notifications
   ================================ */
#toast-container > .toast-info {
    background-color: var(--color-info);
    color: var(--color-white);
}

#toast-container > .toast-info2 {
    background-color: var(--color-info-alt);
    color: var(--color-white);
}

#toast-container > .toast-error {
    background-color: var(--color-error);
    color: var(--color-text-dark);
}

#toast-container > .toast-success {
    background-color: var(--color-secondary);
    color: var(--color-white);
}

#toast-container > .toast-warning {
    background-color: var(--color-warning);
    color: var(--color-text-dark);
}

/* ================================
   Types Dropdown & Typeahead
   ================================ */
.navbar-nav .dropdown-menu,
.search-bar .dropdown-menu,
.tt-menu {
    max-height: 250px;
    overflow-x: scroll;
    width: 300px !important;
    overflow-y: scroll;
}

.navbar-nav .dropdown-menu li:nth-child(2n+1),
.search-bar .dropdown-menu li:nth-child(2n+1),
.tt-menu .tt-dataset-create .tt-suggestion:nth-child(2n+1) {
    background-color: var(--color-bg-light);
}

.tt-suggestion:hover {
    background-color: var(--color-bg-light) !important;
    color: var(--color-primary) !important;
}

/* ================================
   Scrollable Menu
   ================================ */
.scrollable-menu {
    height: auto;
    max-height: 180px;
    overflow-x: hidden;
}

/* ================================
   Table
   ================================ */
.table > tbody > tr > td,
.table > tbody > tr > th,
.table > tfoot > tr > td,
.table > tfoot > tr > th,
.table > thead > tr > td,
.table > thead > tr > th {
    padding: 8px;
    line-height: var(--line-height-table);
    vertical-align: top;
    border-top: 1px solid var(--color-primary);
}

.table > thead > tr > th {
    vertical-align: bottom;
    border-bottom: 2px solid var(--color-primary);
}

.table > thead > tr > th > span {
    padding-right: 20px;
}

td,
th {
    padding: 5px;
}

/* ================================
   Typography
   ================================ */
.text-xs {
    font-size: var(--font-size-xs);
}

/* ================================
   Authentication
   ================================ */
.authenticatedDiv {
    margin-top: 8px;
}

.sign-out-link {
    margin: 0px 5px;
    text-decoration: underline;
    font-size: var(--font-size-small);
    cursor: pointer;
}

.sign-out-link:hover,
.sign-out-link:focus {
    color: var(--color-white);
    text-decoration: underline;
}

/* ================================
   Tabs
   ================================ */
.tab .nav-tabs {
    border-bottom: 0 none;
    background-color: var(--color-bg-light);
}

.tab .nav-tabs li {
    margin-right: 2px;
}

.tab .nav-tabs li a {
    padding: 10px 10px;
    border: 1px solid var(--color-border-tab);
    border-radius: 3px;
    background: var(--color-bg-light);
    color: var(--color-primary);
    text-transform: uppercase;
    position: relative;
}

.tab .nav-tabs li.active a,
.tab .nav-tabs li.active a:focus,
.tab .nav-tabs li.active a:hover {
    border: none;
    background: var(--color-primary);
    color: var(--color-white);
}

/* ================================
   Popover & Footer
   ================================ */
.popover {
    max-width: 300px;
}

#footerImage {
    text-align: center;        /* centers the inline img element */
}

#footerImage img {
    width: 50%;
    /* removed invalid "align: center;" */
}

#footerBottom {
    padding: 1rem;
    position: fixed;           /* pins it to the bottom of the viewport */
    bottom: 0;
    left: 0;
    width: 100%;
    text-align: center;        /* in case there's other content to center */
}
.typeahead,
.tt-query,
.tt-hint {
    margin-left: -2px;
  /*width: 396px;
  height: 30px;
  padding: 8px 12px;
  font-size: 24px;
  line-height: 30px;
  border: 2px solid #ccc;
  -webkit-border-radius: 8px;
     -moz-border-radius: 8px;
          border-radius: 8px;
  outline: none;*/
}

.typeahead {
  /*background-color: #fff;*/
}

.typeahead:focus {
  /*border: 2px solid #0097cf;*/
}

.tt-query {
  -webkit-box-shadow: inset 0 1px 1px rgba(0, 0, 0, 0.075);
     -moz-box-shadow: inset 0 1px 1px rgba(0, 0, 0, 0.075);
          box-shadow: inset 0 1px 1px rgba(0, 0, 0, 0.075);
}

.tt-hint {
  color: #999
}

.tt-menu {
  margin-left: -2px;
  width: 422px;
  z-index: 1000 !important;
  /*margin: 12px 0;*/
  padding: 8px 0;
  background-color: #fff;
  border: 1px solid #ccc;
  border: 1px solid rgba(0, 0, 0, 0.2);
  /*-webkit-border-radius: 8px;
     -moz-border-radius: 8px;
          border-radius: 8px;*/
  -webkit-box-shadow: 0 5px 10px rgba(0,0,0,.2);
     -moz-box-shadow: 0 5px 10px rgba(0,0,0,.2);
          box-shadow: 0 5px 10px rgba(0,0,0,.2);
}

.tt-suggestion {
  padding: 3px 20px;
  font-size: 14px;
  line-height: 20px;
}

.tt-suggestion:hover {
  cursor: pointer;
  color: #fff;
  background-color: #0097cf;
}

.tt-suggestion.tt-cursor {
  color: #fff;
  background-color: #0097cf;

}

.tt-suggestion p {
  margin: 0;
}