body { margin: 0; padding: 0; background: #292929; color: #fff; overflow-y: scroll; font-family: "Overpass Mono", monospace; font-size: 12pt; font-weight: 100; min-width: fit-content; } a { color: inherit; } .container { max-width: 1400px; margin: 50px auto; padding: 20px; border-radius: 4px; box-shadow: 0 0 5px rgba(255, 255, 255, 0.15); min-height: 90vh; } h2 { margin-top: 50px; font-size: 15pt; } h3 { font-size: 12pt; margin-top: 30px; } h1, h2, h3 { font-family: "Overpass Mono", monospace; font-weight: normal; } .ecosystem { margin-top: 20px; } header { display: flex; margin-bottom: 50px; justify-content: space-between; } #header-left { display: flex; align-items: center; } .logo { height: 20px; } #header-left .vl { border-left: 2px solid #fff; height: 25px; margin-left: 20px; margin-right: 20px; } #header-left h1 { font-size: 23px; } #header-right { display: flex; align-items: center; } #header-right ::after { display: inline-block; content: " "; background-image: url(https://osv.dev/static/img/external-link.svg); width: 16px; height: 16px; margin-left: 3px; vertical-align: middle; } .material-icons { vertical-align: middle; transform: rotate(0deg); transition: transform 0.2s ease; user-select: none; } .material-icons.expanded { transform: rotate(90deg); } .vuln-table { width: 100%; text-align: left; margin-bottom: 40px; margin-top: 10px; color: rgba(255, 255, 255, 0.87); border-spacing: 0; } .vuln-table th { border-bottom: 1px solid rgba(255, 255, 255, 0.33); padding: 16px; } .table-tr { line-height: 30px; } .table-tr td { word-break: break-word; width: 200px; padding: 16px; } .table-tr:hover { background-color: rgba(255, 255, 255, 0.04); } .table-tr-details > td { border-bottom: 1px solid rgba(255, 255, 255, 0.2); } .vuln-tr { display: table-row; } .vuln-id { color: #d9534f; } .package-details { text-align: left; padding: 20px 50px 30px 50px; display: block; max-height: 800px; overflow: auto; background: /* Cover TOP */ linear-gradient(rgb(41, 41, 41) 30%, rgba(41, 41, 41, 0)) center top, /* Cover BOTTOM */ linear-gradient(rgba(41, 41, 41, 0), rgb(41, 41, 41) 70%) center bottom, /* Shadow TOP */ linear-gradient(rgba(0, 0, 0, 0.2), rgba(0, 0, 0, 0)) center top, /* Shadow BOTTOM */ linear-gradient(rgba(0, 0, 0, 0), rgba(0, 0, 0, 0.2)) center bottom; background-repeat: no-repeat; background-size: 100% 40px, 100% 40px, 100% 20px, 100% 20px; background-attachment: local, local, scroll, scroll; } .package-details p { margin-bottom: 10px; margin-top: 10px; } .table-tr:hover .open-in-tab-tag { display: inline; } .open-in-tab-tag { display: none; border: 1px solid rgba(255, 255, 255, 0.12); padding: 5px; border-radius: 4px; width: fit-content; } .open-in-tab-cell { width: 90px !important; cursor: pointer; } .severity-cell { width: 60px !important; user-select: none; } .fixable-tag { border-radius: 4px; max-width: 250px; width: fit-content; padding: 0 5px; white-space: nowrap; overflow: hidden; text-align: center; user-select: none; } .has-fix { white-space: break-spaces; background-color: #6a6a6a; } .no-fix { background-color: #252525; border: 1px solid #3c4043; } .hide-block + .table-tr-details { /* If details is after a hidden block, also hide details */ display: none; } .uncalled-text { color: #808080; } #vuln-tab { display: block; margin-top: 30px; } #tab-switch { text-align: left; border-bottom: 1px solid #6c6c6c; padding-left: 20px; display: flex; margin-bottom: 50px; } .tab-switch-button { width: 180px; outline: 0; cursor: pointer; background-color: transparent; text-align: center; display: flex; } .tab-button-text-container { flex-direction: column; align-items: center; } .tab-button-text-container p { width: 160px; white-space: nowrap; overflow: hidden; text-overflow: ellipsis; border-bottom: 2px solid transparent; color: #5f6368; } .tab-switch-button span { cursor: pointer; font-size: 16px; display: none; } .tab-switch-button-border { width: 85%; height: 3px; background-color: transparent; margin: auto; } .tab-button-text-container:hover p { color: #fff; } .tab-switch-button-selected:hover span { display: block; } .tab-switch-button-selected .tab-switch-button-border { background-color: #eee; border-top-left-radius: 5px; border-top-right-radius: 5px; } .tab-switch-button-selected p { color: #fff; } .osv-tab { position: relative; } .osv-tab iframe { width: 100%; min-height: 1000px; border: none; } .iframe-spinner { position: absolute; inset: 0; margin: auto; width: 48px; height: 48px; border: 5px solid #fff; border-bottom-color: transparent; border-radius: 50%; display: inline-block; box-sizing: border-box; animation: rotation 1s linear infinite; } .package-tr { cursor: pointer; } .icon-td { width: 10px !important; } #filter-section { display: flex; width: 60%; } .filter-container { margin-right: 20px; max-width: 600px; } .filter { margin-top: 10px; max-width: 600px; min-width: 250px; background-color: transparent; border-radius: 8px; overflow: hidden; color: #fff; border: 1px solid #ddd; display: flex; justify-content: space-between; padding: 0 20px; } #layer-filter { width: 400px !important; } .filter-selected { white-space: nowrap; overflow: hidden; } .filter-option-container { border: 1px solid #ddd; border-radius: 8px; position: absolute; background-color: #292929; min-width: 200px; max-width: 1400px; box-shadow: 0px 8px 16px 0px rgba(0, 0, 0, 0.2); z-index: 1; display: block; } .filter-option { border-bottom: 1px dotted #ddd; padding: 15px 20px; white-space: nowrap; cursor: pointer; display: block; } .filter-option input, .filter-option label { cursor: pointer; } #layer-filter-option-container { width: 1400px; } .layer-filter-option { display: flex; justify-content: space-between; } .filter-option:hover { background-color: rgba(255, 255, 255, 0.04); } .filter-icon i { position: relative; top: 25%; } #summary-section { display: flex; justify-content: space-between; width: 100%; } #severity-section { overflow: hidden; } .severity-long { text-align: center; min-width: 100px; overflow: hidden; white-space: nowrap; user-select: none; font-weight: bold; } .severity-long p { font-size: 10pt; padding: 5px 5px; border-radius: 4px; margin-right: 3px; } .critical { background-color: #ad0300; } .high { background-color: #ffa500; color: #292929; } .medium { background-color: #ffd700; color: #292929; } .low { background-color: #53aa33; color: #292929; } .unknown { background-color: #80868b; color: #000; } .severity-count-summary { display: flex; } .severity-short { width: 40px; user-select: none; font-weight: bold; } .severity-short p { text-align: center; } .severity-short-first p { border-top-left-radius: 4px; border-bottom-left-radius: 4px; } .severity-short-last p { border-top-right-radius: 4px; border-bottom-right-radius: 4px; } .severity-cell .severity-short p { border-radius: 4px; } /* CSS for the search box */ .search-box { display: flex; align-items: center; width: 100%; border: 1px solid #fff; background-color: transparent; border-radius: 8px; margin-top: 30px; } .search-box input[type="text"] { flex: 1 0 auto; padding: 15px 10px; border: none; background-color: transparent; color: #fff; font-size: 12pt; } .search-box input[type="text"]:focus { outline: none; } .search-icon { height: fit-content; padding: 13px; } .package-detail-title { color: #9aa0a6; } .layer-command-container { display: flex; } .inner-table { width: 100%; border: 0.5px solid rgba(255, 255, 255, 0.12); border-spacing: 0px; border-radius: 4px; } .inner-table th { border-bottom: 0.5px solid rgba(255, 255, 255, 0.12); } .inner-table td { border-bottom: 0.5px solid rgba(255, 255, 255, 0.12); } .expand-icon i.rotated { transform: rotate(90deg); } .tooltip { position: relative; display: inline-block; text-decoration: underline; text-decoration-style: dotted; text-underline-offset: 3px; font-weight: 100; } .tooltip.no-underline { text-decoration: none; } .tooltip .tooltiptext { visibility: hidden; background-color: black; color: #fff; white-space: normal; text-align: left; line-height: 1.5; max-width: 300px; width: max-content; padding: 10px; border-radius: 4px; /* Position the tooltip */ position: fixed; transform: translateY(-100%); z-index: 999; } .tooltip .tooltiptext.layer-tooltiptext { white-space: normal; margin-left: 0; width: 1000px; max-width: 1000px; max-height: 200px; overflow-x: hidden; overflow-y: auto; } .tooltip:hover .tooltiptext { visibility: visible; } .severity-count-summary .tooltip { text-decoration: none; } .flex-box { display: flex; } /* new added */ .base-icon .tooltiptext { margin-left: 0px; background-color: #292929; } div.title { visibility: hidden; } .summary-section { margin-top: 30px; border: 1px solid #fff; border-radius: 8px; padding: 10px 20px; max-height: 400px; overflow-y: visible; overflow-x: hidden; } #base-image-table { width: 100%; } #base-image-table th { text-align: left; height: 30px; } .layer-entry { display: flex; justify-content: space-between; padding: 0 10px; border-bottom: 1px dotted #666666; } .base-image-summary { cursor: pointer; } .base-image-details { display: block; margin-bottom: 20px; } .base-image-title { width: 150px; color: #9aa0a6; height: 20px; } .layer-command { max-width: 1000px; white-space: nowrap; overflow: hidden; text-overflow: ellipsis; } .clickable { cursor: pointer; } .clickable-layer:hover { background-color: rgba(255, 255, 255, 0.04); } .source-path { border: 1px #888 solid; border-radius: 4px; padding: 5px; background-color: rgba(0, 0, 0, 0.2); line-height: 2; } .hide-block { display: none !important; } #license-summary-details { margin-left: 30px; } #deprecated-packages-details { margin-left: 30px; } @keyframes rotation { 0% { transform: rotate(0deg); } 100% { transform: rotate(360deg); } }