All Downloads are FREE. Search and download functionalities are using the official Maven repository.

dashboard.dashboard.css Maven / Gradle / Ivy

The newest version!
:root {
    --nav-bar-initial-width: 720px;
    --nav-bar-min-width: 500px;
    --nav-bar-max-width: 2500px;
    --nav-bar-margin: 30px;
    --main-table-vertical: 116px;
    --fly-in-sidebar-width: 230px;
    --max-right-sheet-width: 3500px;
    --min-right-sheet-width: 720px;
    --top-right-badges-padding: 8px;
}

html, body {
    margin: 0;
    padding: 0;
    font-size: 14px;
    font-family: system-ui, -apple-system, "Segoe UI", Roboto, "Helvetica Neue", Arial, "Noto Sans", "Liberation Sans", sans-serif, "Apple Color Emoji", "Segoe UI Emoji", "Segoe UI Symbol", "Noto Color Emoji";
    font-weight: 400;
    line-height: 1.5;
    -webkit-text-size-adjust: 100%;
    background-color: var(--background-color);
    color: var(--text-color);
    overflow-x: hidden;
}

/* bootstrap replacement classes */
.primary-header {
    font-size: 32px;
}

.primary-header {
    margin-top: 0;
    margin-bottom: .5rem;
    font-weight: 500;
    line-height: 1.2;
}

*, ::after, ::before {
    box-sizing: border-box;
}

hr {
    margin: 1rem 0;
    color: inherit;
    background-color: currentColor;
    opacity: 0.12;
}

table {
    caption-side: bottom;
    border-collapse: collapse;
}

.h1, .h2, .h3, .h4, .h5, .h6, h1, h2, h3, h4, h5, h6 {
    margin-top: 0;
    margin-bottom: .5rem;
    font-weight: 500;
    line-height: 1.2;
}

.badge {
    display: inline-block;
    padding: .35em .65em;
    font-size: .75em;
    font-weight: 700;
    line-height: 1;
    color: var(--text-color-white);
    text-align: center;
    white-space: nowrap;
    vertical-align: baseline;
    border-radius: .25rem;
    margin-right: 4px;
    width: fit-content;
    width: -moz-fit-content;
}

.h4, h4 {
    font-size: min(1.5rem, calc(1.275rem + .3vw))
}

.h5, h5 {
    font-size: 1.25rem;
}

tbody, td, tfoot, th, thead, tr {
    border-color: inherit;
    border-style: solid;
    border-width: 0;
}

th {
    text-align: inherit;
    text-align: -webkit-match-parent;
}

.navigation-tile.active {
    color: var(--text-color-white);
    background-color: var(--strong-dark-blue);
    border-radius: .25rem;
}

.navigation-tile.active.special-highlighted {
    background-color: var(--strong-light-orange);
    font-style: normal;
}

a.special-highlighted {
    color: var(--strong-light-orange);
    font-style: italic;
}

.nav-pills .nav-link {
    background: rgba(0, 0, 0, 0) 0 0;
    border: 0;
    border-radius: .25rem;
}

.nav-link {
    display: block;
    padding: .5rem 1rem;
    text-decoration: none;
    transition: color .15s ease-in-out, background-color .15s ease-in-out, border-color .15s ease-in-out;
}

dl, ol, ul {
    margin-top: 0;
    margin-bottom: 1rem;
}

ol, ul {
    padding-left: 2rem;
}

.spinner-grow {
    display: inline-block;
    width: 2rem;
    height: 2rem;
    vertical-align: text-bottom;
    background-color: currentColor;
    border-radius: 50%;
    opacity: 0;
    -webkit-animation: .75s linear infinite spinner-grow;
    animation: .75s linear infinite spinner-grow;
}

@-webkit-keyframes spinner-grow {
    0% {
        transform: scale(0)
    }
    50% {
        opacity: 1;
        transform: none
    }
}

@keyframes spinner-grow {
    0% {
        transform: scale(0)
    }
    50% {
        opacity: 1;
        transform: none
    }
}

.spinner-grow-sm {
    width: 1rem;
    height: 1rem
}

@media (prefers-reduced-motion: reduce) {
    .spinner-border, .spinner-grow {
        -webkit-animation-duration: 1.5s;
        animation-duration: 1.5s
    }
}

button {
    cursor: pointer;
}

.btn {
    display: inline-block;
    font-weight: 400;
    line-height: 1.5;
    color: #212529;
    text-align: center;
    text-decoration: none;
    vertical-align: middle;
    cursor: pointer;
    -webkit-user-select: none;
    -moz-user-select: none;
    user-select: none;
    background-color: transparent;
    border: 1px solid transparent;
    padding: .375rem .75rem;
    font-size: 1rem;
    border-radius: .25rem;
    margin-right: 3px;
    margin-top: 3px;
    transition: color .15s ease-in-out, background-color .15s ease-in-out, border-color .15s ease-in-out, box-shadow .15s ease-in-out;
}

.btn-group-sm > .btn, .btn-sm {
    padding: .25rem .5rem;
    font-size: .875rem;
    border-radius: .2rem;
}

.btn-primary {
    color: var(--text-color-white);
    background-color: var(--strong-dark-blue);
    border-color: var(--strong-dark-blue);
}

.btn-primary:hover {
    background-color: #0b5ed7;
    border-color: #0949a6;
    box-shadow: var(--strong-blue) 0 0 0 2px;
}

.btn-secondary {
    color: var(--strong-dark);
    background-color: var(--pastel-white);
    border-color: var(--strong-gray);
}

.ae-dark .btn-secondary {
    color: var(--background-color);
    background-color: var(--text-color);
}

.btn-secondary:hover {
    color: var(--text-color);
    background-color: var(--strong-dark-blue);
    border-color: var(--strong-dark);
    box-shadow: var(--pastel-gray) 0 0 0 2px;
}

.btn-success {
    color: var(--text-color-white);
    background-color: var(--strong-dark-green);
    border-color: var(--strong-dark-green);
}

.btn-success:hover {
    background-color: #3c8808;
    border-color: #2c6206;
    box-shadow: var(--pastel-green) 0 0 0 2px;
}

.btn-danger {
    color: var(--text-color-white);
    background-color: var(--strong-red);
    border-color: var(--strong-red);
}

.btn-danger:hover {
    background-color: #b90d0d;
    border-color: #a80c0c;
    box-shadow: var(--pastel-red) 0 0 0 2px;
}

button, input, optgroup, select, textarea {
    margin: 0;
    font-family: inherit;
    font-size: inherit;
    line-height: inherit;
}

code, kbd, pre, samp {
    font-family: monospace;
    font-size: 1em;
    direction: ltr;
    unicode-bidi: bidi-override;
    color: var(--pastel-red)
}

.monospace {
    font-family: monospace;
}

.left-bracket-container {
    padding-left: 13px;
    margin-top: 10px;
    margin-bottom: 10px;
    border-left: var(--strong-gray) 3px solid;
    border-radius: 4px;
}

/* sliders replacement */

button, input, optgroup, select, textarea {
    margin: 0;
    font-family: inherit;
    font-size: inherit;
    line-height: inherit;
}

.form-check {
    display: block;
    min-height: 1.5rem;
    margin-bottom: .125rem;
}

.form-check-input {
    width: 1em;
    height: 1em;
    margin-top: .25em;
    vertical-align: top;
    background-color: #fff;
    background-repeat: no-repeat;
    background-position: center;
    background-size: contain;
    border: 1px solid rgba(0, 0, 0, 0.25);
    -webkit-appearance: none;
    -moz-appearance: none;
    appearance: none;
    -webkit-print-color-adjust: exact;
    color-adjust: exact;
    transition: color .15s ease-in-out, background-color .15s ease-in-out, border-color .15s ease-in-out, box-shadow .15s ease-in-out, background-position .15s ease-in-out;
}

.form-check-input:hover, .form-check-input:active {
    box-shadow: var(--pastel-gray) 0 0 0 2px;
}

.form-check-input:hover:checked, .form-check-input:active:checked {
    box-shadow: var(--strong-blue) 0 0 0 2px;
}

.form-check-input:checked, .form-check-input:checked {
    background-color: var(--strong-dark-blue);
}

.form-check .form-check-input {
    float: left;
}

.form-check-input[type="checkbox"] {
    border-radius: .25em;
}

.form-switch .form-check-input {
    width: 2em;
    background-image: url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='-4 -4 8 8'%3e%3ccircle r='3' fill='rgba%280, 0, 0, 0.25%29'/%3e%3c/svg%3e");
    background-position: left center;
    border-radius: 2em;
}

.form-check-input:checked[type="checkbox"] {
    background-image: url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 20 20'%3e%3cpath fill='none' stroke='%23fff' stroke-linecap='round' stroke-linejoin='round' stroke-width='3' d='M6 10l3 3l6-6'/%3e%3c/svg%3e");
}

.form-switch .form-check-input:checked {
    background-position: right center;
    background-image: url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='-4 -4 8 8'%3e%3ccircle r='3' fill='%23fff'/%3e%3c/svg%3e");
}

.form-check-label {
    padding-left: 8px;
}

.select-input-field {
    padding: .25rem .5rem;
    margin: 3px 5px 2px 0;
    font-size: .875rem;
    border-radius: 0.2rem .2rem .2rem 0.2rem;
    border: 1px solid var(--pastel-gray);
    box-shadow: transparent 0 0 0 0;
    transition: box-shadow .15s ease-in-out;
    background-color: var(--pastel-white);
}

.ae-dark .select-input-field {
    background-color: var(--text-color);
}

.text-input-field {
    padding: .25rem .5rem;
    margin: 3px 5px 2px 0;
    font-size: .875rem;
    border-radius: 0.2rem .2rem .2rem 0.2rem;
    border: 1px solid var(--pastel-gray);
    box-shadow: transparent 0 0 0 0;
    transition: box-shadow .15s ease-in-out;
}

.text-input-field:active {
    box-shadow: var(--strong-blue) 0 0 0 2px;
}

.alert {
    margin-bottom: 8px;
    padding: 10px;
    border-radius: 5px;
    display: flex;
}

.alert-success {
    background-color: rgba(var(--strong-dark-green-rgb), 0.2);
    border: 1px solid var(--strong-dark-green);
    color: var(--background-color-rgb);
}

.alert-danger {
    background-color: rgba(var(--pastel-red-rgb), 0.2);
    border: 1px solid var(--strong-red);
    color: var(--text-color);
}

.alert-warning {
    background-color: rgba(var(--pastel-yellow-rgb), 0.2);
    border: 1px solid var(--strong-yellow);
    color: #443400;
}

.card {
    position: relative;
    min-width: 0;
    word-wrap: break-word;
    background-clip: border-box;
    border: 1px solid rgba(var(--text-color-rgb), .25);
    border-radius: .25rem;
    padding: 8px 15px;
}

.card:not(.card-noflex) {
    display: flex;
    flex-direction: column;
    flex: 1 1 auto;
}

.card-margin {
    margin-right: 4px;
    margin-bottom: 4px;
}

/* that was all for the bootstrap replacement, now our own css */

.card-design {
    border-radius: .25rem;
    box-shadow: 0 3px 6px rgba(var(--text-color-rgb), 0.16), 0 3px 6px rgba(var(--text-color-rgb), 0.23);
    background-color: var(--background-color);
}

.ae-dark .card-design {
    box-shadow: 0 0 0 3px rgba(var(--text-color-rgb), 0.16);
}

.card {
    background-color: transparent;
}

a {
    cursor: pointer;
    text-decoration: none;
}

a:not(.preserve-color) {
    color: var(--strong-dark-blue);
}

a.preserve-color {
    color: inherit;
    text-decoration: underline;
}

.content-sheet {
    padding: 20px;
    height: calc(100vh - var(--main-table-vertical));
    position: relative;
}

.navigation-type li {
    width: min(100%, 250px);
}

.cvssChart-container.modified {
    /*height: 264px;*/
}

.cvssChart-container-container {
    display: flex;
    flex-direction: row;
    justify-content: center;
    align-items: center;
    gap: 10px;
}

.cpe-timeline-chart-wrapper {
}

.cpe-not-in-vulnerability {
    color: var(--pastel-gray);
}

.ae-dark .cpe-not-in-vulnerability {
    color: var(--strong-gray);
}

.cpe-missing-data {
    color: var(--strong-red);
}

.cpe-wrong-data {
    color: var(--strong-red);
}

.cvss2-text {
    color: var(--cvss-2);
}

.cvss3-text {
    color: var(--cvss-3);
}

.cvss4-text {
    color: var(--cvss-4);
}

.badge-navigation {
    margin-right: 5px;
    padding: 3px 6px;
    background-color: #7fbeff2e;
    box-shadow: inset 0 0 3px 1px #008aff2b;
    border-radius: 4px;
}

.badge-navigation-unmatched {
    margin-right: 5px;
    padding: 3px 6px;
    background-color: #5597ff2e;
    box-shadow: inset 0 0 3px 1px #0028ff2b;
    border-radius: 4px;
    color: #484848cc;
}

.badge {
    margin-right: 4px;
    width: fit-content;
    width: -moz-fit-content;
}

.badge-danger {
    background-color: var(--strong-red);
}

.badge-warning {
    background-color: var(--strong-dark-orange);
}

.badge-success {
    background-color: var(--strong-dark-green);
}

.badge-secondary {
    background-color: var(--strong-gray);
}

.badge-void {
    background-color: var(--pastel-white);
    color: var(--strong-dark);
}

.badge-pastel-gray {
    background-color: var(--pastel-gray);
    color: var(--strong-dark);
}

.badge-primary {
    background-color: var(--strong-dark-blue);
}

.badge-cvss2 {
    background-color: var(--cvss-2);
}

.badge-cvss3 {
    background-color: var(--cvss-3);
}

.badge-artifact {
    background-color: var(--strong-aqua);
}

.badge-underline {
    text-decoration: underline;
    text-decoration-color: #ffffffbd;
}

.scrollbox {
    overflow: scroll;
    overflow-x: hidden;

    background: /* Shadow covers */ linear-gradient(var(--background-color) 30%, rgba(255, 255, 255, 0)),
    linear-gradient(rgba(255, 255, 255, 0), var(--background-color) 70%) 0 100%,
        /* Shadows */ radial-gradient(50% 0, farthest-side, rgba(0, 0, 0, .2), rgba(0, 0, 0, 0)),
    radial-gradient(50% 100%, farthest-side, rgba(0, 0, 0, .2), rgba(0, 0, 0, 0)) 0 100%;
    background: /* Shadow covers */ linear-gradient(var(--background-color) 30%, rgba(255, 255, 255, 0)),
    linear-gradient(rgba(255, 255, 255, 0), var(--background-color) 70%) 0 100%,
        /* Shadows */ radial-gradient(farthest-side at 50% 0, rgba(0, 0, 0, .2), rgba(0, 0, 0, 0)),
    radial-gradient(farthest-side at 50% 100%, rgba(0, 0, 0, .2), rgba(0, 0, 0, 0)) 0 100%;
    background-repeat: no-repeat;
    background-color: var(--background-color);
    background-size: 100% 40px, 100% 40px, 100% 14px, 100% 14px;

    /* Opera doesn't support this in the shorthand */
    background-attachment: local, local, scroll, scroll;
}

.status-field {
    border-left: 3px solid var(--strong-gray);
    margin-top: 0;
    margin-left: 6px;
    padding-left: 6px;
    padding-top: 4px;
}

.black-underline {
    color: var(--text-color);
    text-decoration: underline;
    font-weight: 500;
}

.data-sheet-content-card {
    border-left: #6d7979 solid 4px;
    margin-bottom: 10px;
    padding: 10px;
    background-color: #9b9b9b1a;
    border-radius: 4px;
    box-shadow: #0000002b 0 0 4px 0;
    transition: all ease 0.1s;
}

.data-sheet-content-card:hover {
    box-shadow: 0 0 0 4px #2d2d2d0f;
}

.data-sheet-content-card p:last-of-type {
    margin-bottom: 0;
}

.data-sheet-content-card ul:last-of-type {
    margin-bottom: 0;
}

.data-sheet-content-card.red {
    border-left-color: var(--strong-red);
    background-color: #c4747433;
}

.data-sheet-content-card.green {
    border-left-color: var(--strong-dark-green);
    background-color: #58aa3a29;
}

.data-sheet-content-card.light-gray {
    border-left-color: var(--pastel-gray);
    background-color: #a6a6a60f;
}

.data-sheet-content-card.gray {
    border-left-color: var(--strong-gray);
}

.data-sheet-content-card.pastel-blue {
    border-left-color: var(--pastel-blue);
    background-color: rgba(86, 162, 162, 0.1);
}

/* tooltips */
#tooltip {
    position: absolute;
    z-index: 10;
    min-width: 100px;
    max-width: 600px;
    width: fit-content;
    width: -moz-fit-content;
    background-color: rgba(0, 0, 0, 0.82);
    color: var(--text-color-white);
    text-align: center;
    border-radius: 6px;
    padding: 5px;
}

#tooltip code {
    color: var(--pastel-red);
}

#tooltip hr {
    margin-bottom: 3px;
}

#tooltip h1 {
    font-size: 12px;
    margin-top: 2px;
    margin-bottom: 2px;
}

.tooltip-reveal {
    border-bottom: 1px dotted black;
    width: fit-content;
    width: -moz-fit-content;
}

.navigation-table-container {
    align-content: flex-start;
    align-items: flex-start;
    display: flex;

    margin-right: 30px;
    padding: 20px !important;

    max-width: calc(var(--nav-bar-max-width) - var(--nav-bar-margin));
    min-width: var(--nav-bar-min-width);
    width: var(--nav-bar-initial-width);
    height: calc(100vh - var(--main-table-vertical));

    overflow-x: scroll;
    white-space: nowrap;
}

.navigation-table-container.full-screen {
    max-width: calc(100vw - calc(var(--nav-bar-margin) * 2));
    width: calc(100vw - calc(var(--nav-bar-margin) * 2));
}

.navigation-header-tile {
    padding-left: 7px;
    padding-bottom: 10px;
}

.navigation-entry.active {
    background-color: rgba(var(--pastel-gray-rgb), 0.15);
    box-shadow: 0 0 3px 1px var(--pastel-gray);
    border-radius: 5px;
}

.ae-dark .navigation-entry.active {
    box-shadow: 0 0 3px 1px var(--strong-gray);
}

#sheet-container {
    vertical-align: top;
}

.content-sheet {
    width: max(min(calc(100% - 30px), var(--max-right-sheet-width)), var(--min-right-sheet-width));
    transition: width ease 0.1s;
}

.slight-text-highlight {
    font-weight: 550;
}

.slightBorder td {
    border-top: 1px solid #00000012;
}

.ae-dark .slightBorder td {
    border-top: 1px solid #ffffff12;
}

/* table designs */
.navigation-table {
    width: 100%;
}

.header-table {
    float: right;
    margin-right: 30px;
    margin-bottom: 6px;
    margin-top: 6px;
}

.header-table td {
    padding-left: 10px;
    text-align: left;
}

.cve-scoring-table {
    position: absolute;
    right: 20px;
    top: 20px;
}

.cve-scoring-table th, .cve-scoring-table td {
    border: 1px solid #b1b1b1;
    text-align: center;
    padding: 2px 6px;
}

.basic-table td {
    border-top: solid #00000066 1px;
}

.basic-table th, .basic-table td {
    padding-right: 6px;
    padding-left: 4px;
}

.basic-table td:not(:last-child) {
    border-right: solid #0000001f 1px;
}

.basic-table th:not(:last-child) {
    border-right: solid #0000001f 1px;
}

.ae-dark .basic-table td {
    border-top: solid #ffffff66 1px;
}

.ae-dark .basic-table td:not(:last-child) {
    border-right: solid rgba(255, 255, 255, 0.2) 1px;
}

.ae-dark .basic-table th:not(:last-child) {
    border-right: solid rgba(255, 255, 255, 0.2) 1px;
}

.eol-icon-container {
    display: flex;
    align-items: center;
    width: 100%;
    height: 100%;
    gap: 10px;
    margin-left: 5px;
}

.data-sheet-content-card td, .data-sheet-content-card th {
    border: 1px solid #626262;
    padding: 4px;
    padding-top: 2px;
    padding-bottom: 2px;
}

hr.half-br {
    height: 8px;
    margin: 0px;
    color: transparent;
    border: none;
}

hr.half-br-visible {
    margin: 9px;
}

/* footers and header */
.bottom-left-badges {
    position: absolute;
    left: 30px;
    bottom: 7px;
}

#top-right-badges {
    position: absolute;
    right: 30px;
    top: 25px;
    display: flex;
    align-items: center;
    gap: 11px;
    padding: var(--top-right-badges-padding) var(--top-right-badges-padding) calc(var(--top-right-badges-padding) - 5px);
}

#top-right-badges-overhang {
    position: absolute;
    right: 30px;
    top: calc(25px + var(--top-right-badges-padding) * 2 + 27px + 5px); /* base offset + padding + icon height + self offset */
    display: flex;
    align-items: center;
    flex-direction: column;
    gap: 11px;
    padding: var(--top-right-badges-padding) var(--top-right-badges-padding) calc(var(--top-right-badges-padding) - 5px);
}

.go-back-arrow {
    cursor: pointer;
}

.primary-header {
    margin-top: 0;
    margin-bottom: .5rem;
    font-weight: 500;
    line-height: 1.2;
}

/* The Modal (background) */
.modal {
    position: fixed;
    top: 0;
    left: 0;
    z-index: 1060;
    display: none;
    width: 100%;
    height: 100%;
    overflow: hidden;
    outline: 0;
    background-color: rgba(0, 0, 0, 0.4);
    padding-top: 100px;
}

/* Modal Content */
.modal-content {
    background-color: var(--background-color);
    margin: auto;
    padding: 20px;
    border: 1px solid #888;
    position: relative;
    display: flex;
    flex-direction: column;
    width: 100%;
    pointer-events: auto;
    background-clip: padding-box;
    border-radius: .3rem;
    outline: 0;
    max-height: 90vh;
    overflow-y: scroll;
}

.modal-content h2 {
    width: fit-content;
    width: -moz-fit-content;
}

/* The Close Button */
.modal-close {
    color: #aaaaaa;
    float: right;
    font-size: 28px;
    font-weight: bold;
    margin-top: -15px;
}

.modal-close:hover,
.modal-close:focus {
    color: #000;
    text-decoration: none;
    cursor: pointer;
}

.open-modal {
    position: absolute;
    left: 24px;
}

.header-table-sort {
    margin-bottom: 3px;
    width: fit-content;
    width: -moz-fit-content;
}

@media screen and (max-width: 1250px) {
    .modal-content-adjust {
        width: 80vw;
        padding-bottom: 40px;
    }
}

@media screen and (min-width: 1250px) {
    .modal-content-adjust {
        width: fit-content;
        width: -moz-fit-content;
        padding-bottom: 40px;
    }
}

.matching-criteria-badge {
    margin-right: 5px;
    margin-top: 2px;
    display: inline-block;
    white-space: nowrap;
}

.matching-criteria-badge > *:first-child {
    padding: 2px 4px;
    background-color: #2b99ea80;
    border-bottom-left-radius: 4px;
    border-top-left-radius: 4px;
}

.matching-criteria-badge > *:last-child {
    padding: 2px 4px;
    /*background-color: #a0e5e850;*/
    box-shadow: 0 0 0 2px inset #2b99ea80;
    border-bottom-right-radius: 4px;
    border-top-right-radius: 4px;
}

.matching-criteria-badge.inapplicable > *:first-child {
    background-color: #b7b4a991;
}

.matching-criteria-badge.inapplicable > *:last-child {
    /*background-color: #e3dcd250;*/
    box-shadow: 0 0 0 2px inset #b7b4a991;
}

/* filter creation */
.filter-creation-column {
    display: flex;
    flex-direction: column;
    padding-right: 20px;
}

/* sidebar */
.fly-in-sidebar {
    position: absolute;
    top: 95px;
    left: calc(calc(var(--fly-in-sidebar-width) * -1) + 20px);
    width: var(--fly-in-sidebar-width);
    background-color: white;
    transition: all 0.4s ease;
    padding: 10px 10px 10px 20px;
}

.fly-in-sidebar:hover {
    left: -3px;
}

.fly-in-sidebar-text {
    padding: 10px 0 10px 10px;
}

.fly-in-sidebar-arrow {
    position: absolute;
    right: 4px;
    top: calc(50% - 13.5px);
    opacity: 0.8;
    transition: all 0.1s ease;
    -webkit-animation: ease-in-out alternate;
    -webkit-animation-name: fly-in-arrow-move-left-right;
    -webkit-animation-duration: 1.2s;
}

.fly-in-sidebar:hover .fly-in-sidebar-arrow {
    opacity: 0.0;
}

@-webkit-keyframes fly-in-arrow-move-left-right {
    0% {
        right: 4px;
    }
    50% {
        right: -4px;
    }
    100% {
        right: 4px;
    }
}

/* adapt to screen size (desktop and mobile) */
@media screen and (max-width: 700px) {
    /* mobile */
    .primary-header {
        font-size: 25px;
    }

    h1 {
        font-size: 25px;
    }

    h2 {
        font-size: 22px;
    }

    .content-sheet {
        width: calc(100vw - 62px);
    }

    .hidden-on-mobile {
        display: none;
    }
}

@media screen and (min-width: 700px) {
    /* desktop */
    .primary-header {
        font-size: 32px;
    }

    h1 {
        font-size: 32px;
    }

    h2 {
        font-size: 28px;
    }

    .hidden-on-desktop {
        display: none;
    }
}

@media screen and (min-width: 1800px) {
    .modal {
        padding-top: 100px;
    }

    .modal-content-normal {
        width: 50vw;
    }

    .modal-content-large {
        width: 85vw;
    }
}

@media screen and (max-width: 1800px) {
    .modal {
        padding-top: 50px;
    }

    .modal-content-normal {
        width: 80vw;
    }

    .modal-content-large {
        width: 85vw;
    }
}

/* utility classes */
.clickable {
    cursor: pointer;
}

.unselectable {
    -webkit-user-select: none; /* Safari */
    -moz-user-select: none; /* Firefox */
    -ms-user-select: none; /* IE10+/Edge */
    user-select: none; /* Standard */
}

.hidden {
    display: none;
    visibility: hidden;
}

.invisible {
    opacity: 0;
    width: 0;
    height: 0;
}

.horizontal-resize {
    resize: horizontal;
}

.text-align-start {
    text-align: start;
}

.text-align-center {
    text-align: center;
}

.text-align-end {
    text-align: end;
}

/* make scrollbar macos-like */

*::-webkit-scrollbar {
    width: 20px;
    scrollbar-width: thin;
}

*::-webkit-scrollbar-thumb {
    background-color: #d6dee1;
    border-radius: 20px;
    border: 6px solid transparent;
    background-clip: content-box;
}

*::-webkit-scrollbar-thumb:hover {
    background-color: #a8bbbf;
}




© 2015 - 2025 Weber Informatics LLC | Privacy Policy