/
addspin
/
tlss
Обзор
Документация
Войти
/
addspin
/
tlss
Код
Пакеты
0
Релизы
1
CI/CD
Аналитика
Безопасность
main
static/css/main.css
507 строк
10 KB
addspin
update: реализация алгоритма ecdsa и некторых кривых
27 окт 2025, 21:02
27 окт 2025, 21:02
4b628ae
Код
Авторство
О чём код?
.nav-menu { font-size: 0.8rem; font-family: Inter; font-weight: 100; } .nav-menu a { cursor: pointer; } .th-text-center { text-align: center; } .tables_lable { font-weight: bold; border-bottom: 1px solid #a99ee8; color: #ffffff; } .th_servers { border-top: none; border-left: none; border-right: none; border-bottom: 1px solid #a99ee8; color: #ffffff; text-align: center; padding: 5%; } .servers_table { padding-left: 3%; padding-right: 10%; align-content: center; /* padding-top: 3%; */ font-size: 14px; font-family: Inter; font-weight: 100; max-height: 70vh; overflow-y: auto; overflow-x: hidden; position: relative; /* Скрываем скроллбар */ scrollbar-width: none; /* Firefox */ -ms-overflow-style: none; /* IE и Edge */ } .servers_table::after { content: ''; position: sticky; bottom: 0; left: 0; right: 0; height: 90px; background: linear-gradient(to bottom, transparent, #212529); pointer-events: none; z-index: 5; display: block; margin-top: auto; } .servers_table thead { position: sticky; top: 0; background-color: #212529; z-index: 20; } .server-cert-tables { padding-left: 3%; padding-right: 10%; align-content: center; /* padding-top: 3%; */ font-size: 14px; font-family: Inter; font-weight: 100; max-height: 40vh; overflow-y: auto; overflow-x: hidden; position: relative; /* Скрываем скроллбар */ scrollbar-width: none; /* Firefox */ -ms-overflow-style: none; /* IE и Edge */ } /* Скрываем скроллбар для Webkit браузеров */ .server-cert-tables::-webkit-scrollbar { display: none; } /* Градиент затухания внизу списка сертификатов - появляется когда есть overflow */ .server-cert-tables::after { content: ''; position: sticky; bottom: 0; left: 0; right: 0; height: 90px; background: linear-gradient(to bottom, transparent, #212529); pointer-events: none; z-index: 5; display: block; margin-top: auto; } /* Заголовки таблицы остаются на месте */ .table-certs thead { position: sticky; top: 0; background-color: #212529; z-index: 20; } .domain-list { padding-left: 3%; padding-right: 10%; align-content: center; /* padding-top: 3%; */ font-size: 14px; font-family: Inter; font-weight: 100; max-height: 40vh; overflow-y: auto; overflow-x: hidden; position: relative; /* Скрываем скроллбар */ scrollbar-width: none; /* Firefox */ -ms-overflow-style: none; /* IE и Edge */ } /* Скрываем скроллбар для Webkit браузеров */ .domain-list::-webkit-scrollbar { display: none; } /* Градиент затухания внизу списка сертификатов - появляется когда есть overflow */ .domain-list::after { content: ''; position: sticky; bottom: 0; left: 0; right: 0; height: 90px; background: linear-gradient(to bottom, transparent, #212529); pointer-events: none; z-index: 5; display: block; margin-top: auto; } .certs_revoke_table { align-content: center; /* padding-top: 3%; */ font-size: 14px; font-family: Inter; font-weight: 100; max-height: calc(100vh - 200px); overflow-y: auto; overflow-x: hidden; position: relative; /* Скрываем скроллбар */ scrollbar-width: none; -ms-overflow-style: none; } /* Скрываем скроллбар для Webkit браузеров */ .certs_revoke_table::-webkit-scrollbar { display: none; } /* Градиент затухания внизу списка отозванных сертификатов - появляется когда есть overflow */ .certs_revoke_table::after { content: ''; position: sticky; bottom: 0; left: 0; right: 0; height: 90px; background: linear-gradient(to bottom, transparent, #212529); pointer-events: none; z-index: 5; display: block; margin-top: auto; } .table th { font-weight: bold; font-family: Inter; font-variant: all-small-caps; font-size: medium; } .table td, .table th { /* border-bottom: 1px solid #757575; */ color: #ffffff; } .trash { fill: #fff; } .trash:hover { fill: #bcb0ff; } .btn-trash { background: none; border: none; padding: 0; margin: 0; cursor: pointer; } .state-online { background: #2ba03d; border-radius: 30px; text-align: center; width: 4em; border: none; padding: 0; } .state-online-server-certs { width: 10px; height: 10px; background-color: #2ba03d; border-radius: 50%; display: inline-block; margin-left: 5%; } .state-offline-server-certs { width: 10px; height: 10px; background-color: #983636; border-radius: 50%; display: inline-block; margin-left: 5%; } .state-entity-server-certs { width: 10px; height: 10px; background-color: transparent; border-radius: 50%; display: inline-block; } .state-valid-certs { background: #2ba03d; border-radius: 30px; text-align: center; width: 4em; border: none; padding: 0; } .state-revoked-certs { background-color: #983636; border-radius: 30px; text-align: center; width: 4em; border: none; } .state-expired-certs { background: #efa70c; border-radius: 30px; text-align: center; width: 4em; border: none; padding: 0; } @keyframes colorPulse { from { background: #2ba03d; } to { background: #3cff5a; } } .state-offline { background: #983636; border-radius: 30px; text-align: center; width: 4em; border: none; padding: 0; } @keyframes colorPulseRed { from { background: #983636; } to { background: #c51717; } } /* библиотека для кастомного аллерта */ .custom-alert { container: 'swal2-container', popup: 'swal2-popup', header: 'swal2-header', title: 'swal2-title', closeButton: 'swal2-close', icon: 'swal2-icon', image: 'swal2-image', htmlContainer: 'swal2-html-container', input: 'swal2-input', inputLabel: 'swal2-input-label', validationMessage: 'swal2-validation-message', actions: 'swal2-actions', confirmButton: 'swal2-confirm', denyButton: 'swal2-deny', cancelButton: 'swal2-cancel', loader: 'swal2-loader', footer: 'swal2-footer', timerProgressBar: 'swal2-timer-progress-bar', } .swal2-backdrop-show { backdrop-filter: blur(3px); } .swal2-confirm { background-color: #007bff !important; color: white ; border: none ; border-radius: 5px ; font-size: 16px ; cursor: pointer; transition: background-color 0.3s; font-family: Inter; padding: 0.1em 3em; } .swal2-cancel { background-color: #007bff !important; color: white ; border: none ; border-radius: 5px !important; font-size: 16px !important; cursor: pointer !important; transition: background-color 0.3s; font-family: Inter; padding: 0.1em 3em; } .swal2-container { font-family: Inter; font-size: 0.7rem; color: #ffffff; padding: 0 !important; } .swal2-input { border-top: none; border-left: none; border-right: none; border-bottom: 1px solid #a99ee8; background-color: transparent; border-radius: 0; padding: 0 !important; } .swal2-input:focus { outline: none; box-shadow: none; border-top: none; border-left: none; border-right: none; border-bottom: 1px solid #bcb0ff; background-color: transparent; } .swal2-input:active { outline: none; box-shadow: none; border-top: none; border-left: none; border-right: none; border-bottom: 1px solid #bcb0ff; background-color: transparent; } .swal2-input:hover { outline: none; box-shadow: none; border-top: none; border-left: none; border-right: none; border-bottom: 1px solid #bcb0ff; background-color: transparent; } .swal2-title { font-size: 0.9rem; font-family: Inter; color: #a99ee8 } .swal2-popup { background-color: #212529; border: 1px solid #a99ee8; border-color: rgb(128, 119, 176); width: fit-content; font-size: 0.7rem; color: #ffffff; font-family: Inter; } /* Анимации перехода между страницами */ .htmx-swapping { opacity: 0; transform: translateY(15px); transition: opacity 0.3s ease-out, transform 0.3s ease-out; } .htmx-settling { opacity: 1; transform: translateY(0); transition: opacity 0.3s ease-in, transform 0.3s ease-in; } .footer { position: fixed; bottom: 0; left: 0; width: 100%; color: #858585; padding: 10px 0; text-align: center; font-family: Inter; font-weight: 100; font-size: 0.7rem; z-index: 100; } .ascii-logo { display: flex; margin-top: 6%; justify-content: center; text-align: center; margin-bottom: 2rem; width: 100%; position: relative; z-index: 1; height: 120px; } .ascii-art { color: #858585; font-family: monospace; margin: 0; text-align: left; display: inline-block; font-weight: 100; font-size: 0.7rem; white-space: pre; line-height: 1.2; } .qr { display: flex; margin-top: 6%; justify-content: center; align-items: center; flex-direction: column; } .qr-art { color: #858585; font-family: monospace; margin: 0; font-size: 0.7rem; text-align: left; display: inline-block; } .menu-item { font-family: Inter; font-weight: 100; font-size: 2.8rem; color: #ffffff; } .menu-revoked-cert { color: #983636; } .menu-expired-cert { color: #efa70c; } .menu-valid-cert { color: #2ba03d; } .domain_status_border { padding-top: 0; padding-bottom: 0; padding-left: 2%; padding-right: 2%; text-align: left; border: 1px solid #a99ee8; border-color: rgb(128, 119, 176); border-radius: 5px; background-color: transparent; width: 100%; }