summaryrefslogblamecommitdiff
path: root/public/css/index.css
blob: a304ed4c0a7fef5cb975a3d4f8fd00dcd3cd5a84 (plain) (tree)














































































































































                                                                                  
                         















                                                  
                                              






















































































































                                                                                                                   
* {
    --active: rgb(43, 43, 48);
    --active-inner: #f3f3f3;
    --focus: 2px rgba(39, 94, 254, .3);
    --border: #a3a3a3;
    --border-hover: #f3f3f3;
    --background: rgb(255, 255, 255);
    --background-secondary: rgb(230, 230, 230);
    --disabled: rgb(43, 43, 48);
    --disabled-inner: #rgb(43, 43, 48);
    --text: #000;
}

@media (prefers-color-scheme: dark) {
    * {
        --active: rgb(43, 43, 48);
        --active-inner: #f3f3f3;
        --focus: 2px rgba(39, 94, 254, .3);
        --border: #f3f3f3;
        --border-hover: #f3f3f3;
        --background: rgb(31, 32, 39);
        --background-secondary: rgb(43, 43, 48);
        --disabled: rgb(43, 43, 48);
        --disabled-inner: #rgb(43, 43, 48);
        --text: #f3f3f3;
    }
}

html, body {
    padding: 0;
    margin: 0;
    background-color: var(--background);
    color: var(--text);
    font-family: 'Gill Sans', 'Gill Sans MT', Calibri, 'Trebuchet MS', sans-serif;
    font-size: 16px;
}

.turbolinks-progress-bar {
    height: 5px;
    background-color: rgb(52, 52, 175);
}

a, a:hover, a:active, a:visited {
    color: var(--text);
}

body {
    padding-top: 60px;
}

header {
    position: fixed;
    top: 0;
    left: 0;
    height: 50px;
    width: 100%;
    border-bottom: 1px solid var(--border);
    display: flex;
    flex-direction: row;
    justify-content: space-between;
    background-color: var(--background);
}

hr {
    width: auto;
    border-top: 0;
    border-bottom: 1px solid var(--border);
    margin: 16px 8px;
}

h1 {
    margin: 16px 8px;
    padding-bottom: 8px;
    border-bottom: 1px solid var(--border);
}

#header-logo {
    display: block;
    padding: 16px;
    text-decoration: none;
    font-family: 'Courier New', Courier, monospace;
    cursor: pointer;
}

.header-menu {
    list-style: none;
    display: flex;
    flex-direction: row;
}

.header-menu .header-menu--item {
    transition: background 0.3s, border-color 0.3s, box-shadow 0.2s;
    display: inline-block;
    padding: 16px;
    text-decoration: none;
}

.header-menu .header-menu--item:hover {
    background-color: var(--background-secondary);
}

.layout-center {
    display: flex;
    flex-direction: row;
    justify-content: space-around;
}

form {
    display: flex;
    flex-direction: column;
    /* max-width: 50vh; */
    width: 600px;
    border: 1px solid var(--border);
    border-radius: 8px;
    padding: 16px;
}

form .required {
    font-size: 14px;
    font-style: italic;
    color: rgb(255, 100, 100);
    align-self: flex-end;
}

form .optional {
    font-size: 14px;
    font-style: italic;
    align-self: flex-end;
}

form label {
    display: flex;
    flex-direction: row;
    justify-content: space-between;
    align-items: center;
}

.form-row {
    display: flex;
    flex-direction: row;
    align-items: center;
}

input, textarea, button {
    background-color: var(--background-secondary);
    color: var(--text);
    border: 1px solid var(--border);
    padding: 8px;
    margin: 8px;
    border-radius: 4px;
}

textarea {
    resize: vertical;
}

label {
    padding: 8px;
}

input:active, textarea:active, button:active {
    background-color: rgb(33, 33, 38);
}

@supports (-webkit-appearance: none) or (-moz-appearance: none) {
    input[type=checkbox], input[type=radio] {
        -webkit-appearance: none;
        -moz-appearance: none;
        height: 21px;
        outline: none;
        display: inline-block;
        vertical-align: top;
        position: relative;
        margin: 0 8px 0 0;
        cursor: pointer;
        border: 1px solid var(--bc, var(--border));
        background: var(--b, var(--background-secondary));
        transition: background 0.3s, border-color 0.3s, box-shadow 0.2s;
    }
    input[type=checkbox]:after, input[type=radio]:after {
        content: "";
        display: block;
        left: 0;
        top: 0;
        position: absolute;
        transition: transform var(--d-t, 0.3s) var(--d-t-e, ease), opacity var(--d-o, 0.2s);
    }
    input[type=checkbox]:checked, input[type=radio]:checked {
        --b: var(--active);
        --bc: var(--active);
        --d-o: .3s;
        --d-t: .6s;
        --d-t-e: cubic-bezier(.2, .85, .32, 1.2);
    }
    input[type=checkbox]:disabled, input[type=radio]:disabled {
        --b: var(--disabled);
        cursor: not-allowed;
        opacity: 0.9;
    }
    input[type=checkbox]:disabled:checked, input[type=radio]:disabled:checked {
        --b: var(--disabled-inner);
        --bc: var(--border);
    }
    input[type=checkbox]:disabled+label, input[type=radio]:disabled+label {
        cursor: not-allowed;
    }
    input[type=checkbox]:hover:not(:checked):not(:disabled), input[type=radio]:hover:not(:checked):not(:disabled) {
        --bc: var(--border-hover);
    }
    input[type=checkbox]:focus, input[type=radio]:focus {
        box-shadow: 0 0 0 var(--focus);
    }
    input[type=checkbox]:not(.switch), input[type=radio]:not(.switch) {
        width: 21px;
    }
    input[type=checkbox]:not(.switch):after, input[type=radio]:not(.switch):after {
        opacity: var(--o, 0);
    }
    input[type=checkbox]:not(.switch):checked, input[type=radio]:not(.switch):checked {
        --o: 1;
    }
    input[type=checkbox]+label, input[type=radio]+label {
        font-size: 14px;
        line-height: 21px;
        display: inline-block;
        vertical-align: top;
        cursor: pointer;
        margin-left: 4px;
    }
    input[type=checkbox]:not(.switch) {
        border-radius: 7px;
    }
    input[type=checkbox]:not(.switch):after {
        width: 5px;
        height: 9px;
        border: 2px solid var(--active-inner);
        border-top: 0;
        border-left: 0;
        left: 7px;
        top: 4px;
        transform: rotate(var(--r, 20deg));
    }
    input[type=checkbox]:not(.switch):checked {
        --r: 43deg;
    }
    input[type=checkbox].switch {
        width: 38px;
        border-radius: 11px;
    }
    input[type=checkbox].switch:after {
        left: 2px;
        top: 2px;
        border-radius: 50%;
        width: 15px;
        height: 15px;
        background: var(--ab, var(--border));
        transform: translateX(var(--x, 0));
    }
    input[type=checkbox].switch:checked {
        --ab: var(--active-inner);
        --x: 17px;
    }
    input[type=checkbox].switch:disabled:not(:checked):after {
        opacity: 0.6;
    }
    input[type=radio] {
        border-radius: 50%;
    }
    input[type=radio]:after {
        width: 19px;
        height: 19px;
        border-radius: 50%;
        background: var(--active-inner);
        opacity: 0;
        transform: scale(var(--s, 0.7));
    }
    input[type=radio]:checked {
        --s: .5;
    }
}