Version 5.0.0 beta 1

This commit is contained in:
Neo committed 2025-12-19 16:27:35 -08:00
1 parent 25ddeb65d6
commit 15c7beabc5
6736 files changed
+627902 -497943

No files matched your search

+71
View File
@@ -0,0 +1,71 @@
.ipsButtons{
display: flex;
flex-wrap: wrap;
gap: .5em;
justify-content: center;
}
/* Base button style */
.ipsButton {
--_co: currentcolor;
background: #c0ccdb;
background: color-mix(in srgb, var(--_co) 15%, transparent);
text-align: center;
text-decoration: none;
display: inline-flex;
align-items: center;
gap: .8em;
vertical-align: middle;
padding: .8em 1.7em;
font-weight: 600;
border-radius: 5px;
cursor: pointer;
color: inherit;
position: relative;
}
.ipsButton:hover {
background: color-mix(in srgb, var(--_co) 22%, transparent);
}
.ipsButton:active {
top: 1px;
}
/* BUTTON STYLES */
.ipsButton--primary {
background: var(--i-primary);
color: var(--i-primary-contrast);
}
.ipsButton--primary:hover {
background: color-mix(in srgb, var(--i-primary), #fff 15%);
}
/* Link button - works like a button, but looks like text */
.ipsButton--text {
background: transparent;
color: inherit;
border: 1px solid transparent;
font-weight: normal;
}
.ipsButton--text:active {
border: 0;
box-shadow: none;
background-image: none;
}
/* BUTTON STATES */
.ipsButton:disabled {
opacity: .6;
font-style: italic;
cursor: default;
}
.ipsButton svg{
height: .9em;
width: auto;
fill: currentColor;
opacity: .8;
}
+553
View File
@@ -0,0 +1,553 @@
/*
----------------
- Form
----------------
*/
.ipsFieldRow{
display: grid;
gap: .8em;
padding: 2em;
border-bottom: 1px solid var(--i-background_4);
}
.ipsFieldRow[style*="list-item"]{
display: grid !important;
}
:is(.ipsFieldRow:last-child, .ipsFieldRow:has(+ .ipsSubmitRow)){
border-bottom-width: 0;
}
.ipsFieldRow ~ li:has(> .ipsHr:only-child){
display: none;
}
/* Form headers, eg in "Edit Profile" modal */
.ipsFieldRow__section{
padding: 1em;
font-weight: 600;
background: var(--i-background_3);
position: -webkit-sticky;
position: sticky;
top: 0;
z-index: 10;
}
/* Submit row */
.ipsSubmitRow{
flex: 0 0 auto; /* Useful when in flex-direction:column layouts */
background: var(--i-background_2);
padding: 1em;
border-top: 1px solid var(--i-background_4);
border-bottom-left-radius: var(--i-box--bo-ra);
border-bottom-right-radius: var(--i-box--bo-ra);
text-align: center;
}
/* Apply submit row styles to alternate HTML markup */
.ipsFieldRow:has(> .ipsFieldRow__content > button:only-child){
background: var(--i-background_2);
padding: 1em;
border-top: 1px solid var(--i-background_4);
border-bottom-left-radius: var(--i-box--bo-ra);
border-bottom-right-radius: var(--i-box--bo-ra);
text-align: center;
margin-top: -1px; /* This prevents a double border */
}
/* Labels */
.ipsFieldRow__label{
font-weight: 600;
display: block;
font-size: 1.1em;
color: var(--i-color_hard);
display: flex;
align-items: center;
flex-wrap: wrap;
gap: 0em 2em;
}
/* Hide labels on certain forms */
.ipsFieldRow--noLabel .ipsFieldRow__label,
.ipsForm--noLabels .ipsFieldRow:not(.ipsFieldRow--checkbox) .ipsFieldRow__label {
display: none;
}
/* ..or if they're empty */
.ipsFieldRow__label:has(span:only-child:empty){
display: none;
}
/* Hide empty labels, but keep parent visible incase it contains "Required". Topic content forms are an example */
.ipsFieldRow__label span:empty{
display: none;
}
.ipsFieldRow__required {
font-size: max(.7em, 10px);
text-transform: uppercase;
color: #AA1414;
margin-inline-start: auto;
}
/* Descriptions */
.ipsFieldRow__desc {
font-size: 0.9em;
margin-top: .75em;
color: var(--i-color_soft);
}
.ipsFieldRow__label ~ .ipsFieldRow__desc{
margin-top: 0;
}
/* Warning */
.ipsFieldRow__warning{
color: var(--i-color_warning);
background: color-mix(in srgb, var(--i-color_warning) 15%, transparent);
border: 1px solid color-mix(in srgb, var(--i-color_warning) 40%, transparent);
padding: 0.8em 1em;
border-radius: 5px;
font-weight: 500;
margin-top: 1em;
font-size: .9em;
}
.ipsFieldRow__warning .fa-circle-exclamation{
margin-inline-end: .4em;
}
.ipsFieldRow__warning:empty{
display: none;
}
.ipsFieldRow__content{
flex: 999 1 55%;
}
/* Inline checkboxes */
.ipsFieldRow__inlineCheckbox{
display: inline-flex;
align-items: center;
gap: .5em;
}
/* Stacked form: Used for addresses, poll options, etc */
.ipsFieldListParent{
display: grid;
gap: 2em;
}
.ipsFieldList > *{
display: flex;
align-items: center;
gap: .8em;
padding: .4em;
}
.ipsFieldList > li:has([disabled]){
opacity: .5;
filter: grayscale(1);
pointer-events: none;
}
.ipsFieldList > input{
flex: 0 0 auto;
align-self: baseline;
margin-top: .2em;
}
.ipsFieldList__content{
flex: 1 1 auto;
}
.ipsFieldRow label[for]{
cursor: pointer;
}
/* Highlight code tags (ACP > Content Discovery > Search) */
.ipsFieldList__content code{
background: var(--i-background_3);
color: var(--i-color_hard);
border-radius: 4px;
padding: .3em;
display: inline-block;
}
/* Select menus: If they're followed by a label, set their width to auto */
.ipsFieldRow__content select:has(+ span){
width: auto;
margin-inline-end: .6em;
}
/* Inputs */
input:where(:not([type="checkbox"], [type="radio"])),
select,
textarea{
--i-outline-width: 0px;
background-color: var(--i-input--ba-co);
border-radius: var(--i-input--bo-ra);
border: 1px solid var(--i-input--bo-co);
box-shadow: var(--i-input--bo-sh, none);
color: var(--i-co);
display: inline-flex;
padding: var(--i-input--pa-bl) var(--i-input--pa-in);
/* width: 100%; */
max-width: 100%; /* Necessary if width is overwritten somewhere */
justify-self: start; /* Prevent inputs/selects from being 100% due to grid */
vertical-align: middle;
}
@media (any-hover:hover){
input:where(:not([type="checkbox"], [type="radio"])):where(:not([disabled])):hover,
select:where(:not([disabled])):hover,
textarea:where(:not([disabled])):hover{
border-color: var(--i-input-hover--bo-co);
}
}
/* Mobiles/tablets */
@media (hover: none) and (max-width: 1024px) {
input:where(:not([type="checkbox"], [type="radio"])),
select,
textarea{
font-size: max(16px, 1em);
}
}
input:where(:not([type="checkbox"], [type="radio"])):focus,
select:focus,
textarea:focus{
outline: 2px solid var(--i-input-active--bo-co);
outline-offset: -1px;
}
input::placeholder,
textarea::placeholder{
color: inherit;
opacity: var(--i-placeholder--op, .75);
}
input:where([type="number"]){
width: auto;
}
/* Colors */
input:where([type="color"]) {
min-width: 50px;
padding: 0;
}
/* Add arrow to select elements */
select:where(:not([multiple])){
cursor: pointer;
padding: var(--i-input--pa-bl) var(--i-input--pa-in);
padding-inline-end: calc(var(--i-input--pa-in) * 3);
background-image: var(--i-select--dark-arrow);
background-size: auto 1em;
background-repeat: no-repeat;
background-position: calc(100% - 1em) 50%;
}
:where([data-ips-scheme="dark"]) select:where(:not([multiple])){
background-image: var(--i-select--light-arrow);
}
[dir="rtl"] select:where(:not([multiple])){
background-position: 1em 50%;
}
/* Hide 'x' in search input */
input::-webkit-search-cancel-button{
display: none;
}
textarea{
height: auto;
line-height: inherit;
padding: var(--i-input--pa-bl) var(--i-input--pa-in);
resize: vertical;
}
textarea[name="conf_global_error"] {
height: 200px;
font-family: monospace;
}
/* Disabled */
input:disabled{
opacity: .4;
font-style: italic;
pointer-events: none;
}
/*
----------------
- Checkbox and Radio inputs
----------------
*/
input:where([type="checkbox"], [type="radio"]){
-webkit-appearance: none;
appearance: none;
display: inline-flex;
align-items: center;
justify-content: center;
height: var(--i-input-toggle--size, 1.2em);
position: relative;
vertical-align: middle;
width: var(--i-input-toggle--size, 1.2em);
cursor: pointer;
background-color: var(--i-input--ba-co);
border-width: var(--i-input--bo-wi);
border-style: solid;
border-color: var(--i-input-toggle--bo-co, var(--i-input--bo-co));
box-shadow: var(--i-input--bo-sh, none);
flex: 0 0 auto;
}
/* Hovered and Checked */
@media (any-hover:hover){
input:where([type="checkbox"], [type="radio"]):hover{
border-color: var(--i-input-hover--bo-co);
}
}
/* Focus */
input:where([type="checkbox"], [type="radio"]):focus-visible{
--i-outline-color: var(--i-primary);
border-color: var(--i-input-active--bo-co);
outline: var(--i-outline-width) var(--i-outline-style) var(--i-outline-color);
outline-offset: var(--i-outline-offset);
}
input:where([type="checkbox"], [type="radio"]):checked{
background-color: var(--i-primary);
color: var(--i-primary-contrast);
border-color: transparent;
}
input:where([type="checkbox"], [type="radio"])::before{
content: '';
visibility: hidden;
}
input:where([type="checkbox"], [type="radio"]):checked::before{
visibility: visible;
}
/* Checkbox */
input:where([type="checkbox"]){
border-radius: var(--i-input-checkbox--bo-ra, max(4px, .2em));
}
/* Checkbox: tick */
input:where([type="checkbox"])::before{
content: "\f00c";
font-family: "Font Awesome 6 Free";
font-weight: 900;
-moz-osx-font-smoothing: grayscale;
-webkit-font-smoothing: antialiased;
display: block;
font-style: normal;
font-variant: normal;
line-height: 1;
text-rendering: auto;
font-size: 0.75em;
}
/* Radio */
input:where([type="radio"]){
border-radius: var(--i-input-radio--bo-ra, 50%);
}
/* Radio: dot */
input:where([type="radio"])::before{
background: currentColor;
border-radius: inherit;
width: 40%;
height: 40%;
}
/* Improved click/tap area */
@media(hover:none) and (pointer:coarse){
input:where([type="checkbox"], [type="radio"])::after{
content: '';
position: absolute;
top: 50%;
left: 50%;
height: max(30px, 100%);
width: max(30px, 100%);
transform: translate(-50%,-50%);
cursor: pointer;
z-index: 1;
}
}
label[for],
label:has(input){
cursor: pointer;
}
.ipsFieldRow__content textarea ~ label{
margin-top: 1em;
display: inline-block;
}
label input{
margin-inline-end: .6em;
}
.ipsFieldRow__warning:empty{
display: none;
}
/*
----------------
- Restyle certain forms/inputs
----------------
*/
/* Install: License key */
#license_lkey [name="lkey"]{
margin-inline-end: 1em;
}
#license_lkey a{
justify-self: start;
color: var(--i-color_soft);
}
#license_lkey a svg{
height: .8em;
margin-inline-start: .3em;
opacity: .5;
}
/* Install: Fix "Send usage and diagnostics" checkbox alignment */
#serverdetails_diagnostics_reporting{
grid-template-columns: auto 1fr;
position: relative;
}
#serverdetails_diagnostics_reporting > *{
grid-column: 2;
}
#serverdetails_diagnostics_reporting > label{
grid-column: 1;
order: -1;
}
#serverdetails_diagnostics_reporting label::before{
content: '';
position: absolute;
inset: 0;
}
/* Install: Admin username, password, email */
.ipsFieldRow[id^="admin_admin_"] input{
justify-self: stretch;
}
@supports(display:ehren){
.ipsFieldRow:not( :last-child ) {
margin-bottom: 15px;
}
/* FIELD LISTS (for stacks of radios/checkboxes) */
.ipsFieldList {
padding-top: 7px;
}
.ipsFieldList > li {
margin-bottom: 10px;
}
.ipsFieldList input[type="radio"], .ipsFieldList input[type="checkbox"] {
float: left;
margin-top: 4px;
}
.ipsFieldList__content {
margin-left: 22px;
}
/* FORM TYPOGRAPHY */
.ipsFieldRow__desc {
font-size: 12px;
color: #adadad;
margin-top: 3px;
display: inline-block;
}
.ipsFieldRow:not( .ipsFieldRow_checkbox ) .ipsFieldRow_label,
.ipsFieldRow:not( .ipsFieldRow_checkbox ) .ipsFieldRow_title {
font-size: 15px;
font-weight: bold;
margin-bottom: 5px;
display: inline-block;
padding-top: 5px;
}
.ipsFieldRow__required {
font-size: 10px;
text-transform: uppercase;
color: #c02222;
margin-left: 10px;
font-weight: normal;
}
.ipsFieldRow__content select {
margin-top: 6px;
}
.ipsFieldRow_section {
background: #f9f9f9;
color: #333;
padding: 15px;
font-size: 16px;
margin-bottom: 10px;
}
}
+218
View File
@@ -0,0 +1,218 @@
:root{
--i-background_1: hsl(215 32% 100%);
--i-background_2: hsl(215 32% 98.5%);
--i-background_3: hsl(215 32% 95%);
--i-background_4: hsl(215 32% 92%);
--i-background_5: hsl(215 32% 88%);
--i-color_root: hsl(215 32% 30%);
--i-color_soft: hsl(215 24% 49%);
--i-color_hard: hsl(215 60% 5%);
--i-color_positive: hsl(129 90% 25%);
--i-color_negative: hsl(0 95% 45%);
--i-color_warning: hsl(351 63% 40%);
--i-background_root: hsl(217 40% 96%);
--i-link--co: hsl(215 46% 14%);
--i-link-hover--co: hsl(215 84% 33%);
--i-header--ba-co: hsl(215 39% 20%);
--i-header--co: hsl(0 0% 100%);
--i-box--bo-ra: 6px;
--i-box--ba-co: hsl(0 0% 100%);
--i-box--bo-sh: hsla(215 41% 10% / 0.12) 0px 8px 7px -3px;
--i-box--bo-co: hsl(215 60% 30% / .1);
--i-primary: hsl(215 85% 50%);
--i-primary-contrast: hsl(0 0% 100%);
--i-secondary: hsl(215 48% 13%);
--i-secondary-contrast: hsl(0 0% 100%);
--i-outline-width: 2px;
--i-outline-style: solid;
--i-outline-color: var(--i-primary);
--i-input--ba-co: var(--i-background_1);
--i-input--pa-bl: .7em;
--i-input--pa-in: 1em;
--i-input--bo-wi: 1px;
--i-input--bo-ra: .4em;
--i-input--bo-co: color-mix(in srgb, currentColor 40%, transparent);
--i-input--bo-sh: hsl(0 0% 0% / .05) 0px 2px 1px;
--i-input-hover--bo-co: color-mix(in srgb, currentColor 40%, transparent);
--i-input-active--bo-co: var(--i-primary);
--i-placeholder--op: .75;
--i-select--dark-arrow: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 384 512'%3E%3Cpath d='M169.4 342.6c12.5 12.5 32.8 12.5 45.3 0l160-160c12.5-12.5 12.5-32.8 0-45.3s-32.8-12.5-45.3 0L192 274.7 54.6 137.4c-12.5-12.5-32.8-12.5-45.3 0s-12.5 32.8 0 45.3l160 160z' fill='hsl(0,0%25,0%25,.5)'/%3E%3C/svg%3E");
--i-select--light-arrow: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 384 512'%3E%3Cpath d='M169.4 342.6c12.5 12.5 32.8 12.5 45.3 0l160-160c12.5-12.5 12.5-32.8 0-45.3s-32.8-12.5-45.3 0L192 274.7 54.6 137.4c-12.5-12.5-32.8-12.5-45.3 0s-12.5 32.8 0 45.3l160 160z' fill='hsl(0,0%25,100%25,.5)'/%3E%3C/svg%3E");
}
html {
background: var(--i-background_root);
position: relative;
}
body {
font-family: system-ui, Helvetica, Arial, sans-serif, "Apple Color Emoji", "Segoe UI Emoji", "Segoe UI Symbol";
font-size: calc(1rem / 16 * 15);
line-height: 1.5;
color: var(--i-color_root);
min-height: 100vh;
min-height: 100svh;
padding: 50px 0;
}
pre {
white-space: pre-wrap;
text-align: start;
}
:where(a) {
color: var(--i-link--co);
text-decoration: none;
}
:where(a:hover) {
color: var(--i-link-hover--co);
}
#ipsInstaller {
margin: 0 auto;
max-width: min(95vw, 1200px);
border-radius: var(--i-box--bo-ra);
background-color: var(--i-box--ba-co);
background-clip: padding-box;
border: 1px solid var(--i-box--bo-co);
}
.ipsInstaller__header {
background: var(--i-header--ba-co);
color: var(--i-header--co);
border-radius: var(--i-box--bo-ra) var(--i-box--bo-ra) 0 0;
display: flex;
flex-wrap: wrap;
align-items: center;
gap: 1em;
padding: 1.3em;
}
.ipsInstaller__logo{
display: flex;
align-items: center;
gap: .8em;
font-size: 22px;
color: inherit;
text-decoration: none;
font-weight: 300;
}
.ipsInstaller__logo svg {
width: auto;
height: 1em;
fill: currentColor;
}
/* .ipsInstaller__page-title{
padding: 1.4em;
background: var(--i-background_3);
} */
.ipsInstaller__padding{
padding: 3em;
}
@keyframes progress-bar-stripes {
from {
background-position: 40px 0;
}
to {
background-position: 0 0;
}
}
.ipsProgressBar {
margin: auto;
height: 30px;
overflow: hidden;
background: var(--i-background_5);
border-radius: 8px;
box-shadow: inset 0 1px 2px rgba(0, 0, 0, 0.1);
}
.ipsProgressBar_animated .ipsProgressBar_progress {
background-color: var(--i-primary);
background-image: linear-gradient(45deg, rgba(255, 255, 255, 0.15) 25%, transparent 25%, transparent 50%, rgba(255, 255, 255, 0.15) 50%, rgba(255, 255, 255, 0.15) 75%, transparent 75%, transparent);
background-size: 40px 40px;
animation: progress-bar-stripes 2s linear infinite;
}
.ipsProgressBar_progress {
float: left;
width: 0;
height: 100%;
font-size: 12px;
color: #ffffff;
text-align: center;
text-shadow: 0 -1px 0 rgba(0, 0, 0, 0.25);
background: var(--i-primary);
position: relative;
padding-left: 6px;
}
.ipsProgressBar_progress[data-progress]:after {
position: absolute;
right: 5px;
top: 0;
line-height: 32px;
color: #fff;
content: attr(data-progress);
display: block;
font-weight: bold;
}
/* Redirector */
.ipsRedirect {
text-align: center;
}
.ipsRedirect_loading {
height: 100px;
}
.ipsRedirect_progress {
margin-bottom: 20px;
}
.ipsRedirect_message {
display: block;
text-align: center;
font-size: .9em;
color: var(--i-color_soft);
}
.ipsRedirect_message.custom_message {
text-align: start;
color: var(--i-color_root);
}
/* Code */
.ipsCode {
background: var(--i-background_2);
padding: 1em;
border: 0;
border-inline-start: 4px solid var(--i-color_soft);
clear: both;
}
/* Multi redirect */
.ipsMultipleRedirect{
padding: 3em;
}
/* Footer */
.ipsInstaller__ip{
text-align: center;
margin-top: 2em;
color: var(--i-color_soft);
}
View File
Whitespace-only changes.
+38
View File
@@ -0,0 +1,38 @@
#elInstaller_steps {
font-weight: 500;
padding: 3em 2em;
padding-inline-end: 0;
display: grid;
gap: 2em;
position: -webkit-sticky;
position: sticky;
top: 0;
}
#elInstaller_steps li{
display: flex;
align-items: center;
gap: .8em;
}
#elInstaller_steps svg{
width: 1em;
height: auto;
fill: currentColor;
}
.elInstaller_steps__done {
color: var(--i-color_positive);
}
.elInstaller_steps__current {
color: var(--i-color_hard);
}
.elInstaller_steps__future {
color: var(--i-color_soft);
}
.elInstaller_steps__future svg{
opacity: .3;
}
+40
View File
@@ -0,0 +1,40 @@
/* Fixed column sizing */
.ipsColumns {
display: flex;
flex-wrap: wrap;
}
.ipsColumns__primary{
flex: 9999 1 50%;
}
.ipsColumns__secondary{
flex: 1 1 18em;
background: var(--i-background_2);
border-inline-end: 1px solid var(--i-background_4);
}
.ipsColumn_medium {
flex: 1 1 200px;
}
.ipsColumn_wide {
flex: 1 1 280px;
}
.i-margin-top_1{ margin-top: .5em; }
.i-margin-top_2{ margin-top: 1em; }
.i-margin-top_3{ margin-top: 2em; }
.i-margin-top_4{ margin-top: 3em; }
.i-margin-top_5{ margin-top: 4em; }
.i-margin-bottom_1{ margin-bottom: .5em; }
.i-margin-bottom_2{ margin-bottom: 1em; }
.i-margin-bottom_3{ margin-bottom: 2em; }
.i-margin-bottom_4{ margin-bottom: 3em; }
.i-margin-bottom_5{ margin-bottom: 4em; }
.i-padding_1{ padding: .5em; }
.i-padding_2{ padding: 1em; }
.i-padding_3{ padding: 2em; }
.i-padding_4{ padding: 3em; }
.i-padding_5{ padding: 4em; }
+68
View File
@@ -0,0 +1,68 @@
.ipsMessage {
padding: 1em;
padding-inline-start: 3em;
border-radius: 5px;
position: relative;
margin-bottom: 1em;
color: #fff;
font-weight: 500;
font-size: .9em;
}
.ipsMessage::before {
font-family: 'Font Awesome 6 Free';
font-weight: 900;
-moz-osx-font-smoothing: grayscale;
-webkit-font-smoothing: antialiased;
text-rendering: auto;
position: absolute;
top: 1em;
inset-inline-start: 1em;
}
.ipsMessage--form{
margin: 1em;
}
.ipsMessage--error {
background: #b52b38;
}
.ipsMessage--error::before {
content: '\f06a';
}
.ipsMessage--success {
background: #53902f;
}
.ipsMessage--success::before {
content: '\f00c';
}
.ipsMessage--warning {
background: #c48712;
}
.ipsMessage--warning::before {
content: '\f071';
}
.ipsMessage--info {
background: #447a9a;
}
.ipsMessage--info::before {
content: '\f05a';
}
.ipsMessage--code {
padding: 7px;
display: inline-block;
background: rgba(0,0,0,0.2);
border-radius: 5px;
float: right;
margin-top: -7px;
margin-right: -7px;
color: rgba(255,255,255,0.8);
}
+85
View File
@@ -0,0 +1,85 @@
/* MISC COLORS */
.ipsAreaBackground {
background: #ebebeb;
}
.ipsAreaBackground_light {
background: #fafafa;
}
/* MISC */
hr.ipsHr {
margin: 15px 0;
height: 0;
padding: 0;
border-width: 1px 0 0 0;
border-style: solid;
border-color: #f0f0f0;
}
@-webkit-keyframes spinner {
0% { transform: rotate(0deg); }
100% { transform: rotate(359deg); }
}
@keyframes spinner {
0% { transform: rotate(0deg); }
100% { transform: rotate(359deg); }
}
.ipsPos_center { margin: 0 auto; }
.ipsHide { display: none }
.ipsList_bullets {
list-style-type: disc;
margin-left: 16px;
}
.ipsList_checks{
margin-bottom: 3em;
display: grid;
gap: 1em;
font-weight: 500;
}
.ipsList_checks li:not(.ipsMessage) {
position: relative;
padding-inline-start: 1.6em;
}
.ipsList_checks li:not(.ipsMessage)::before{
font-family: 'Font Awesome 6 Free';
font-weight: 900;
-moz-osx-font-smoothing: grayscale;
-webkit-font-smoothing: antialiased;
text-rendering: auto;
position: absolute;
inset-inline-start: 0;
font-size: .9em;
margin-top: .05em;
}
.ipsList_checks .success {
color: var(--i-color_positive);
}
.ipsList_checks .success::before {
content: '\f00c';
}
.ipsList_checks .fail {
color: var(--i-color_negative);
}
.ipsList_checks .fail::before {
content: '\f057';
}
.ipsList_checks .advisory {
color: var(--i-color_soft);
}
.ipsList_checks .advisory::before {
content: '\f05a';
}
.ipsPad { padding: 15px; }
.ipsPad_double { padding: 30px; }
.ipsPad_half { padding: 7px; }
+92
View File
@@ -0,0 +1,92 @@
*, *::before, *::after {
-webkit-box-sizing: border-box;
-moz-box-sizing: border-box;
box-sizing: border-box;
}
*{
margin: 0;
padding: 0;
min-width: 0;
min-height: 0;
}
ul, ol{
list-style-type: none;
}
article, aside, details, figcaption, figure, footer,
header, hgroup, nav, section, main {
display: block;
}
html {
-webkit-text-size-adjust: 100%;
accent-color: var(--i-primary);
-moz-osx-font-smoothing: grayscale;
-webkit-font-smoothing: antialiased;
text-rendering: optimizelegibility;
}
:focus{
outline-color: transparent;
}
:focus-visible{
outline: var(--i-outline-width) var(--i-outline-style) var(--i-outline-color);
outline-offset: var(--i-outline-offset);
}
img {
vertical-align: middle;
border: 0;
}
:where(input, textarea, select, button){
background: none;
border: 0;
color: inherit;
font-family: inherit;
font-size: inherit;
font-weight: inherit;
line-height: inherit;
text-align: inherit;
}
textarea, select{
-webkit-appearance: none;
appearance: none;
box-shadow: none;
}
textarea{
display: block;
width: 100%;
}
select{
cursor: inherit;
}
[type="search"]{
-webkit-appearance: none;
appearance: none;
}
button, [type="submit"], summary{
-webkit-appearance: none;
appearance: none;
cursor: pointer;
user-select: none;
}
h1,h2,h3,h4,h5,h6 {
font-weight: inherit;
font-size: inherit;
}
svg{
height: 1em;
width: auto;
fill: currentColor;
}
+51
View File
@@ -0,0 +1,51 @@
/* HEADINGS */
.ipsType_pageTitle {
font-size: 1.8em;
color: var(--i-color_hard);
font-weight: 500;
line-height: 1.2;
}
.ipsType_pageTitle .fa{
font-size: .75em;
}
.ipsType_pageTitle a {
color: inherit;
}
.ipsType_pageTitle + p{
margin-top: 1em;
}
.ipsType_sectionHead {
font-size: 1.3em;
color: var(--i-color_hard);
font-weight: 500;
margin-bottom: 1em;
}
.ipsList_checks + .ipsType_sectionHead{
margin-top: 3em;
}
/* ALIGNMENT */
.i-text-align_center { text-align: center; }
/* SIZING */
.i-font-size_small {
font-size: max(11px, .8em);
}
.i-font-size_large {
font-size: 1.2em;
}
/* COLORS */
.i-color_soft {
color: var(--i-color_soft);
}
.i-color_warning {
color: var(--i-color_warning);
}
+9
View File
@@ -0,0 +1,9 @@
/*!
* Font Awesome Free 6.5.2 by @fontawesome - https://fontawesome.com
* License - https://fontawesome.com/license/free (Icons: CC BY 4.0, Fonts: SIL OFL 1.1, Code: MIT License)
* Copyright 2024 Fonticons, Inc.
*/
.fa{font-family:var(--fa-style-family,"Font Awesome 6 Free");font-weight:var(--fa-style,900)}.fa,.fa-brands,.fa-classic,.fa-regular,.fa-sharp,.fa-solid,.fab,.far,.fas{-moz-osx-font-smoothing:grayscale;-webkit-font-smoothing:antialiased;display:var(--fa-display,inline-block);font-style:normal;font-variant:normal;line-height:1;text-rendering:auto}.fa-classic,.fa-regular,.fa-solid,.far,.fas{font-family:"Font Awesome 6 Free"}.fa-brands,.fab{font-family:"Font Awesome 6 Brands"}.fa-1x{font-size:1em}.fa-2x{font-size:2em}.fa-3x{font-size:3em}.fa-4x{font-size:4em}.fa-5x{font-size:5em}.fa-6x{font-size:6em}.fa-7x{font-size:7em}.fa-8x{font-size:8em}.fa-9x{font-size:9em}.fa-10x{font-size:10em}.fa-2xs{font-size:.625em;line-height:.1em;vertical-align:.225em}.fa-xs{font-size:.75em;line-height:.08333em;vertical-align:.125em}.fa-sm{font-size:.875em;line-height:.07143em;vertical-align:.05357em}.fa-lg{font-size:1.25em;line-height:.05em;vertical-align:-.075em}.fa-xl{font-size:1.5em;line-height:.04167em;vertical-align:-.125em}.fa-2xl{font-size:2em;line-height:.03125em;vertical-align:-.1875em}.fa-fw{text-align:center;width:1.25em}.fa-ul{list-style-type:none;margin-left:var(--fa-li-margin,2.5em);padding-left:0}.fa-ul>li{position:relative}.fa-li{left:calc(var(--fa-li-width, 2em)*-1);position:absolute;text-align:center;width:var(--fa-li-width,2em);line-height:inherit}.fa-border{border-radius:var(--fa-border-radius,.1em);border:var(--fa-border-width,.08em) var(--fa-border-style,solid) var(--fa-border-color,#eee);padding:var(--fa-border-padding,.2em .25em .15em)}.fa-pull-left{float:left;margin-right:var(--fa-pull-margin,.3em)}.fa-pull-right{float:right;margin-left:var(--fa-pull-margin,.3em)}.fa-beat{-webkit-animation-name:fa-beat;animation-name:fa-beat;-webkit-animation-delay:var(--fa-animation-delay,0s);animation-delay:var(--fa-animation-delay,0s);-webkit-animation-direction:var(--fa-animation-direction,normal);animation-direction:var(--fa-animation-direction,normal);-webkit-animation-duration:var(--fa-animation-duration,1s);animation-duration:var(--fa-animation-duration,1s);-webkit-animation-iteration-count:var(--fa-animation-iteration-count,infinite);animation-iteration-count:var(--fa-animation-iteration-count,infinite);-webkit-animation-timing-function:var(--fa-animation-timing,ease-in-out);animation-timing-function:var(--fa-animation-timing,ease-in-out)}.fa-bounce{-webkit-animation-name:fa-bounce;animation-name:fa-bounce;-webkit-animation-delay:var(--fa-animation-delay,0s);animation-delay:var(--fa-animation-delay,0s);-webkit-animation-direction:var(--fa-animation-direction,normal);animation-direction:var(--fa-animation-direction,normal);-webkit-animation-duration:var(--fa-animation-duration,1s);animation-duration:var(--fa-animation-duration,1s);-webkit-animation-iteration-count:var(--fa-animation-iteration-count,infinite);animation-iteration-count:var(--fa-animation-iteration-count,infinite);-webkit-animation-timing-function:var(--fa-animation-timing,cubic-bezier(.28,.84,.42,1));animation-timing-function:var(--fa-animation-timing,cubic-bezier(.28,.84,.42,1))}.fa-fade{-webkit-animation-name:fa-fade;animation-name:fa-fade;-webkit-animation-iteration-count:var(--fa-animation-iteration-count,infinite);animation-iteration-count:var(--fa-animation-iteration-count,infinite);-webkit-animation-timing-function:var(--fa-animation-timing,cubic-bezier(.4,0,.6,1));animation-timing-function:var(--fa-animation-timing,cubic-bezier(.4,0,.6,1))}.fa-beat-fade,.fa-fade{-webkit-animation-delay:var(--fa-animation-delay,0s);animation-delay:var(--fa-animation-delay,0s);-webkit-animation-direction:var(--fa-animation-direction,normal);animation-direction:var(--fa-animation-direction,normal);-webkit-animation-duration:var(--fa-animation-duration,1s);animation-duration:var(--fa-animation-duration,1s)}.fa-beat-fade{-webkit-animation-name:fa-beat-fade;animation-name:fa-beat-fade;-webkit-animation-iteration-count:var(--fa-animation-iteration-count,infinite);animation-iteration-count:var(--fa-animation-iteration-count,infinite);-webkit-animation-timing-function:var(--fa-animation-timing,cubic-bezier(.4,0,.6,1));animation-timing-function:var(--fa-animation-timing,cubic-bezier(.4,0,.6,1))}.fa-flip{-webkit-animation-name:fa-flip;animation-name:fa-flip;-webkit-animation-delay:var(--fa-animation-delay,0s);animation-delay:var(--fa-animation-delay,0s);-webkit-animation-direction:var(--fa-animation-direction,normal);animation-direction:var(--fa-animation-direction,normal);-webkit-animation-duration:var(--fa-animation-duration,1s);animation-duration:var(--fa-animation-duration,1s);-webkit-animation-iteration-count:var(--fa-animation-iteration-count,infinite);animation-iteration-count:var(--fa-animation-iteration-count,infinite);-webkit-animation-timing-function:var(--fa-animation-timing,ease-in-out);animation-timing-function:var(--fa-animation-timing,ease-in-out)}.fa-shake{-webkit-animation-name:fa-shake;animation-name:fa-shake;-webkit-animation-duration:var(--fa-animaLine truncated
.fa-0:before{content:"\30"}.fa-1:before{content:"\31"}.fa-2:before{content:"\32"}.fa-3:before{content:"\33"}.fa-4:before{content:"\34"}.fa-5:before{content:"\35"}.fa-6:before{content:"\36"}.fa-7:before{content:"\37"}.fa-8:before{content:"\38"}.fa-9:before{content:"\39"}.fa-fill-drip:before{content:"\f576"}.fa-arrows-to-circle:before{content:"\e4bd"}.fa-chevron-circle-right:before,.fa-circle-chevron-right:before{content:"\f138"}.fa-at:before{content:"\40"}.fa-trash-alt:before,.fa-trash-can:before{content:"\f2ed"}.fa-text-height:before{content:"\f034"}.fa-user-times:before,.fa-user-xmark:before{content:"\f235"}.fa-stethoscope:before{content:"\f0f1"}.fa-comment-alt:before,.fa-message:before{content:"\f27a"}.fa-info:before{content:"\f129"}.fa-compress-alt:before,.fa-down-left-and-up-right-to-center:before{content:"\f422"}.fa-explosion:before{content:"\e4e9"}.fa-file-alt:before,.fa-file-lines:before,.fa-file-text:before{content:"\f15c"}.fa-wave-square:before{content:"\f83e"}.fa-ring:before{content:"\f70b"}.fa-building-un:before{content:"\e4d9"}.fa-dice-three:before{content:"\f527"}.fa-calendar-alt:before,.fa-calendar-days:before{content:"\f073"}.fa-anchor-circle-check:before{content:"\e4aa"}.fa-building-circle-arrow-right:before{content:"\e4d1"}.fa-volleyball-ball:before,.fa-volleyball:before{content:"\f45f"}.fa-arrows-up-to-line:before{content:"\e4c2"}.fa-sort-desc:before,.fa-sort-down:before{content:"\f0dd"}.fa-circle-minus:before,.fa-minus-circle:before{content:"\f056"}.fa-door-open:before{content:"\f52b"}.fa-right-from-bracket:before,.fa-sign-out-alt:before{content:"\f2f5"}.fa-atom:before{content:"\f5d2"}.fa-soap:before{content:"\e06e"}.fa-heart-music-camera-bolt:before,.fa-icons:before{content:"\f86d"}.fa-microphone-alt-slash:before,.fa-microphone-lines-slash:before{content:"\f539"}.fa-bridge-circle-check:before{content:"\e4c9"}.fa-pump-medical:before{content:"\e06a"}.fa-fingerprint:before{content:"\f577"}.fa-hand-point-right:before{content:"\f0a4"}.fa-magnifying-glass-location:before,.fa-search-location:before{content:"\f689"}.fa-forward-step:before,.fa-step-forward:before{content:"\f051"}.fa-face-smile-beam:before,.fa-smile-beam:before{content:"\f5b8"}.fa-flag-checkered:before{content:"\f11e"}.fa-football-ball:before,.fa-football:before{content:"\f44e"}.fa-school-circle-exclamation:before{content:"\e56c"}.fa-crop:before{content:"\f125"}.fa-angle-double-down:before,.fa-angles-down:before{content:"\f103"}.fa-users-rectangle:before{content:"\e594"}.fa-people-roof:before{content:"\e537"}.fa-people-line:before{content:"\e534"}.fa-beer-mug-empty:before,.fa-beer:before{content:"\f0fc"}.fa-diagram-predecessor:before{content:"\e477"}.fa-arrow-up-long:before,.fa-long-arrow-up:before{content:"\f176"}.fa-burn:before,.fa-fire-flame-simple:before{content:"\f46a"}.fa-male:before,.fa-person:before{content:"\f183"}.fa-laptop:before{content:"\f109"}.fa-file-csv:before{content:"\f6dd"}.fa-menorah:before{content:"\f676"}.fa-truck-plane:before{content:"\e58f"}.fa-record-vinyl:before{content:"\f8d9"}.fa-face-grin-stars:before,.fa-grin-stars:before{content:"\f587"}.fa-bong:before{content:"\f55c"}.fa-pastafarianism:before,.fa-spaghetti-monster-flying:before{content:"\f67b"}.fa-arrow-down-up-across-line:before{content:"\e4af"}.fa-spoon:before,.fa-utensil-spoon:before{content:"\f2e5"}.fa-jar-wheat:before{content:"\e517"}.fa-envelopes-bulk:before,.fa-mail-bulk:before{content:"\f674"}.fa-file-circle-exclamation:before{content:"\e4eb"}.fa-circle-h:before,.fa-hospital-symbol:before{content:"\f47e"}.fa-pager:before{content:"\f815"}.fa-address-book:before,.fa-contact-book:before{content:"\f2b9"}.fa-strikethrough:before{content:"\f0cc"}.fa-k:before{content:"\4b"}.fa-landmark-flag:before{content:"\e51c"}.fa-pencil-alt:before,.fa-pencil:before{content:"\f303"}.fa-backward:before{content:"\f04a"}.fa-caret-right:before{content:"\f0da"}.fa-comments:before{content:"\f086"}.fa-file-clipboard:before,.fa-paste:before{content:"\f0ea"}.fa-code-pull-request:before{content:"\e13c"}.fa-clipboard-list:before{content:"\f46d"}.fa-truck-loading:before,.fa-truck-ramp-box:before{content:"\f4de"}.fa-user-check:before{content:"\f4fc"}.fa-vial-virus:before{content:"\e597"}.fa-sheet-plastic:before{content:"\e571"}.fa-blog:before{content:"\f781"}.fa-user-ninja:before{content:"\f504"}.fa-person-arrow-up-from-line:before{content:"\e539"}.fa-scroll-torah:before,.fa-torah:before{content:"\f6a0"}.fa-broom-ball:before,.fa-quidditch-broom-ball:before,.fa-quidditch:before{content:"\f458"}.fa-toggle-off:before{content:"\f204"}.fa-archive:before,.fa-box-archive:before{content:"\f187"}.fa-person-drowning:before{content:"\e545"}.fa-arrow-down-9-1:before,.fa-sort-numeric-desc:before,.fa-sort-numeric-down-alt:before{content:"\f886"}.fa-face-grin-tongue-squint:before,.fa-grin-tongue-squint:before{content:"\f58a"}.fa-spray-can:before{content:"\f5bd"}.fa-truck-monster:before{content:"\f63b"}.fa-w:before{content:"\57"}.fa-earth-africa:before,.fa-globe-africa:before{content:"\f5Line truncated
.fa-sr-only,.fa-sr-only-focusable:not(:focus),.sr-only,.sr-only-focusable:not(:focus){position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border-width:0}:host,:root{--fa-style-family-brands:"Font Awesome 6 Brands";--fa-font-brands:normal 400 1em/1 "Font Awesome 6 Brands"}@font-face{font-family:"Font Awesome 6 Brands";font-style:normal;font-weight:400;font-display:block;src:url(../webfonts/fa-brands-400.woff2) format("woff2"),url(../webfonts/fa-brands-400.ttf) format("truetype")}.fa-brands,.fab{font-weight:400}.fa-monero:before{content:"\f3d0"}.fa-hooli:before{content:"\f427"}.fa-yelp:before{content:"\f1e9"}.fa-cc-visa:before{content:"\f1f0"}.fa-lastfm:before{content:"\f202"}.fa-shopware:before{content:"\f5b5"}.fa-creative-commons-nc:before{content:"\f4e8"}.fa-aws:before{content:"\f375"}.fa-redhat:before{content:"\f7bc"}.fa-yoast:before{content:"\f2b1"}.fa-cloudflare:before{content:"\e07d"}.fa-ups:before{content:"\f7e0"}.fa-pixiv:before{content:"\e640"}.fa-wpexplorer:before{content:"\f2de"}.fa-dyalog:before{content:"\f399"}.fa-bity:before{content:"\f37a"}.fa-stackpath:before{content:"\f842"}.fa-buysellads:before{content:"\f20d"}.fa-first-order:before{content:"\f2b0"}.fa-modx:before{content:"\f285"}.fa-guilded:before{content:"\e07e"}.fa-vnv:before{content:"\f40b"}.fa-js-square:before,.fa-square-js:before{content:"\f3b9"}.fa-microsoft:before{content:"\f3ca"}.fa-qq:before{content:"\f1d6"}.fa-orcid:before{content:"\f8d2"}.fa-java:before{content:"\f4e4"}.fa-invision:before{content:"\f7b0"}.fa-creative-commons-pd-alt:before{content:"\f4ed"}.fa-centercode:before{content:"\f380"}.fa-glide-g:before{content:"\f2a6"}.fa-drupal:before{content:"\f1a9"}.fa-jxl:before{content:"\e67b"}.fa-hire-a-helper:before{content:"\f3b0"}.fa-creative-commons-by:before{content:"\f4e7"}.fa-unity:before{content:"\e049"}.fa-whmcs:before{content:"\f40d"}.fa-rocketchat:before{content:"\f3e8"}.fa-vk:before{content:"\f189"}.fa-untappd:before{content:"\f405"}.fa-mailchimp:before{content:"\f59e"}.fa-css3-alt:before{content:"\f38b"}.fa-reddit-square:before,.fa-square-reddit:before{content:"\f1a2"}.fa-vimeo-v:before{content:"\f27d"}.fa-contao:before{content:"\f26d"}.fa-square-font-awesome:before{content:"\e5ad"}.fa-deskpro:before{content:"\f38f"}.fa-brave:before{content:"\e63c"}.fa-sistrix:before{content:"\f3ee"}.fa-instagram-square:before,.fa-square-instagram:before{content:"\e055"}.fa-battle-net:before{content:"\f835"}.fa-the-red-yeti:before{content:"\f69d"}.fa-hacker-news-square:before,.fa-square-hacker-news:before{content:"\f3af"}.fa-edge:before{content:"\f282"}.fa-threads:before{content:"\e618"}.fa-napster:before{content:"\f3d2"}.fa-snapchat-square:before,.fa-square-snapchat:before{content:"\f2ad"}.fa-google-plus-g:before{content:"\f0d5"}.fa-artstation:before{content:"\f77a"}.fa-markdown:before{content:"\f60f"}.fa-sourcetree:before{content:"\f7d3"}.fa-google-plus:before{content:"\f2b3"}.fa-diaspora:before{content:"\f791"}.fa-foursquare:before{content:"\f180"}.fa-stack-overflow:before{content:"\f16c"}.fa-github-alt:before{content:"\f113"}.fa-phoenix-squadron:before{content:"\f511"}.fa-pagelines:before{content:"\f18c"}.fa-algolia:before{content:"\f36c"}.fa-red-river:before{content:"\f3e3"}.fa-creative-commons-sa:before{content:"\f4ef"}.fa-safari:before{content:"\f267"}.fa-google:before{content:"\f1a0"}.fa-font-awesome-alt:before,.fa-square-font-awesome-stroke:before{content:"\f35c"}.fa-atlassian:before{content:"\f77b"}.fa-linkedin-in:before{content:"\f0e1"}.fa-digital-ocean:before{content:"\f391"}.fa-nimblr:before{content:"\f5a8"}.fa-chromecast:before{content:"\f838"}.fa-evernote:before{content:"\f839"}.fa-hacker-news:before{content:"\f1d4"}.fa-creative-commons-sampling:before{content:"\f4f0"}.fa-adversal:before{content:"\f36a"}.fa-creative-commons:before{content:"\f25e"}.fa-watchman-monitoring:before{content:"\e087"}.fa-fonticons:before{content:"\f280"}.fa-weixin:before{content:"\f1d7"}.fa-shirtsinbulk:before{content:"\f214"}.fa-codepen:before{content:"\f1cb"}.fa-git-alt:before{content:"\f841"}.fa-lyft:before{content:"\f3c3"}.fa-rev:before{content:"\f5b2"}.fa-windows:before{content:"\f17a"}.fa-wizards-of-the-coast:before{content:"\f730"}.fa-square-viadeo:before,.fa-viadeo-square:before{content:"\f2aa"}.fa-meetup:before{content:"\f2e0"}.fa-centos:before{content:"\f789"}.fa-adn:before{content:"\f170"}.fa-cloudsmith:before{content:"\f384"}.fa-opensuse:before{content:"\e62b"}.fa-pied-piper-alt:before{content:"\f1a8"}.fa-dribbble-square:before,.fa-square-dribbble:before{content:"\f397"}.fa-codiepie:before{content:"\f284"}.fa-node:before{content:"\f419"}.fa-mix:before{content:"\f3cb"}.fa-steam:before{content:"\f1b6"}.fa-cc-apple-pay:before{content:"\f416"}.fa-scribd:before{content:"\f28a"}.fa-debian:before{content:"\e60b"}.fa-openid:before{content:"\f19b"}.fa-instalod:before{content:"\e081"}.fa-expeditedssl:before{content:"\f23e"}.fa-sellcast:before{content:"\f2da"}.fa-square-twitter:beLine truncated
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.