/* inspired by https://github.com/jdan/98.css */

:root {
    --text-color: #222222;
    --button-face: #dfdfdf;
    --window-frame: #0a0a0a;
    --dialog-blue-light: #1084d0;
    --link-blue: #0000ff;
}

body {
    background: teal;
    color: var(--text-color);
    font-family: Arial, Helvetica, sans-serif;
}

button, input[type=reset], input[type=submit] {
    background: silver;
    border: none;
    border-radius: 0;
    box-shadow: inset -1px -1px var(--window-frame), inset 1px 1px white, inset -2px -2px grey, inset 2px 2px var(--button-face);
    box-sizing: border-box;
    color: transparent;
    font-size: 12px;
    min-height: 23px;
    min-width: 75px;
    padding: 0 12px;
    text-shadow: 0 0 var(--text-color);
}

button.default, input[type=reset].default, input[type=submit].default {
    box-shadow: inset -2px -2px var(--window-frame), inset 1px 1px var(--window-frame), inset 2px 2px white, inset -3px -3px grey, inset 3px 3px var(--button-face);
}

button:not(:disabled):active, input[type=reset]:not(:disabled):active, input[type=submit]:not(:disabled):active {
    box-shadow: inset -1px -1px white, inset 1px 1px var(--window-frame), inset -2px -2px var(--button-face), inset 2px 2px grey;
    text-shadow: 1px 1px var(--text-color);
}

button.default:not(:disabled):active, input[type=reset].default:not(:disabled):active, input[type=submit].default:not(:disabled):active {
    box-shadow: inset 2px 2px var(--window-frame), inset -1px -1px var(--window-frame), inset -2px -2px white, inset 3px 3px grey, inset -3px -3px var(--button-face);
}

button:focus, input[type=reset]:focus, input[type=submit]:focus {
    outline: 1px dotted black;
    outline-offset: -4px;
}

button::-moz-focus-inner, input[type=reset]::-moz-focus-inner, input[type=submit]::-moz-focus-inner {
    border: 0;
}

:disabled, :disabled + label, input[readonly], input[readonly] + label, input[type=submit]:disabled, input[type=reset]:disabled, input[type=submit]:disabled {
    color: grey;
}

:disabled + label, button:disabled, input[type=reset]:disabled, input[type=submit]:disabled {
    text-shadow: 1px 1px 0 white;
}

#content, #menu, .footer, #breadcrumb {
    background: silver;
    box-shadow: inset -1px -1px var(--window-frame), inset 1px 1px var(--button-face), inset -2px -2px grey, inset 2px 2px white;
    padding: 16px;
}

#content h2 {
    align-items: center;
    background: linear-gradient(90deg, navy, var(--dialog-blue-light));
    color: white;
    display: flex;
    font-size: 120%;
    font-weight: normal;
    justify-content: space-between;
    letter-spacing: 0;
    margin: -13px -13px 16px -13px;
    padding: 3px 2px 3px 3px;
}

fieldset {
    border-image: url("data:image/svg+xml;charset=utf-8,%3Csvg width='5' height='5' fill='gray' xmlns='http://www.w3.org/2000/svg'%3E%3Cpath fill-rule='evenodd' clip-rule='evenodd' d='M0 0h5v5H0V2h2v1h1V2H0' fill='%23fff'/%3E%3Cpath fill-rule='evenodd' clip-rule='evenodd' d='M0 0h4v4H0V1h1v2h2V1H0'/%3E%3C/svg%3E") 2;
    margin: 0;
    padding: 10px;
    padding-block-start: 8px;
}

legend {
    background: silver;
}

input[type=email], input[type=number], input[type=password], input[type=search], input[type=tel], input[type=text], input:not([type]) {
    -webkit-appearance: none;
    -moz-appearance: none;
    appearance: none;
    border: none;
    border-radius: 0;
}

input[type=email], input[type=number], input[type=password], input[type=search], input[type=tel], input[type=text], select, input:not([type]) {
    background-color: white;
    box-shadow: inset -1px -1px white, inset 1px 1px grey, inset -2px -2px var(--button-face), inset 2px 2px var(--window-frame);
    box-sizing: border-box;
    padding: 3px 4px;
}

select, textarea {
    border: none;
}

textarea {
    -webkit-appearance: none;
    -moz-appearance: none;
    appearance: none;
    background-color: white;
    border-radius: 0;
    box-shadow: inset -1px -1px white, inset 1px 1px grey, inset -2px -2px var(--button-face), inset 2px 2px var(--window-frame);
    box-sizing: border-box;
    padding: 3px 4px;
}

input[type=email], input[type=password], input[type=search], input[type=tel], input[type=text], input[type=number], select {
    min-height: 21px;
}

input[type=search]::-ms-clear, input[type=search]::-ms-reveal {
    display: none;
    height: 0;
    width: 0;
}

input[type=search]::-webkit-search-cancel-button, input[type=search]::-webkit-search-decoration, input[type=search]::-webkit-search-results-button, input[type=search]::-webkit-search-results-decoration {
    display: none;
}

input[type=email]:disabled, input[type=email]:read-only, input[type=number]:disabled, input[type=number]:read-only, input[type=password]:disabled, input[type=password]:read-only, input[type=search]:disabled, input[type=search]:read-only, input[type=tel]:disabled, input[type=tel]:read-only, input[type=text]:disabled, input[type=text]:read-only, textarea:disabled {
    background-color: silver;
}

select {
    appearance: none;
    -webkit-appearance: none;
    -moz-appearance: none;
    background-image: url("data:image/svg+xml;charset=utf-8,%3Csvg width='16' height='17' fill='none' xmlns='http://www.w3.org/2000/svg'%3E%3Cpath fill-rule='evenodd' clip-rule='evenodd' d='M15 0H0v16h1V1h14V0z' fill='%23DFDFDF'/%3E%3Cpath fill-rule='evenodd' clip-rule='evenodd' d='M2 1H1v14h1V2h12V1H2z' fill='%23fff'/%3E%3Cpath fill-rule='evenodd' clip-rule='evenodd' d='M16 17H0v-1h15V0h1v17z' fill='%23000'/%3E%3Cpath fill-rule='evenodd' clip-rule='evenodd' d='M15 1h-1v14H1v1h14V1z' fill='gray'/%3E%3Cpath fill='silver' d='M2 2h12v13H2z'/%3E%3Cpath fill-rule='evenodd' clip-rule='evenodd' d='M11 6H4v1h1v1h1v1h1v1h1V9h1V8h1V7h1V6z' fill='%23000'/%3E%3C/svg%3E");
    background-position: top 2px right 2px;
    background-repeat: no-repeat;
    border-radius: 0;
    padding-right: 32px;
    position: relative;
}

input[type=email]:focus, input[type=number]:focus, input[type=password]:focus, input[type=search]:focus, input[type=tel]:focus, input[type=text]:focus, select:focus, textarea:focus {
    outline: none;
}

select:focus {
    background-color: navy;
    color: white;
}

select:focus option {
    background-color: white;
    color: black;
}

select:active {
    background-image: url("data:image/svg+xml;charset=utf-8,%3Csvg width='16' height='17' fill='none' xmlns='http://www.w3.org/2000/svg'%3E%3Cpath fill-rule='evenodd' clip-rule='evenodd' d='M0 0h16v17H0V0zm1 16h14V1H1v15z' fill='gray'/%3E%3Cpath fill='silver' d='M1 1h14v15H1z'/%3E%3Cpath fill-rule='evenodd' clip-rule='evenodd' d='M12 7H5v1h1v1h1v1h1v1h1v-1h1V9h1V8h1V7z' fill='%23000'/%3E%3C/svg%3E")
}

a {
    color: var(--link-blue);
}

a:focus {
    outline: 1px dotted var(--link-blue);
}

pre {
    border-image: url("data:image/svg+xml;charset=utf-8,%3Csvg width='5' height='5' fill='gray' xmlns='http://www.w3.org/2000/svg'%3E%3Cpath fill-rule='evenodd' clip-rule='evenodd' d='M0 0h5v5H0V2h2v1h1V2H0' fill='%23fff'/%3E%3Cpath fill-rule='evenodd' clip-rule='evenodd' d='M0 0h4v4H0V1h1v2h2V1H0'/%3E%3C/svg%3E") 2;
    border-style: solid;
    border-width: 1px;
    margin: 0;
    padding: 12px 8px;
}

table {
    background-color: white;
}

table > thead > tr > * {
    background: silver;
    box-shadow: inset -1px -1px var(--window-frame), inset 1px 1px white, inset -2px -2px grey, inset 2px 2px var(--button-face);
}

table.interactive > tbody > tr {
    cursor: pointer;
}

#fieldset-sort > div:not(:last-of-type), #fieldset-search > div:not(:last-of-type), #fieldset-select > div:not(:last-of-type) {
    margin-bottom: .5em;
}

#fieldset-partition p {
    margin: 0;
}

.icon {
    min-height: 0;
    min-width: 0;
}

.links {
    margin: 1em 0;
}

#logins a, #tables a, #tables span {
    background: none;
}

.jush-autocomplete, .jush-autocomplete:active {
    background: none;
    height: auto;
}

.logout {
    box-shadow: none;
    margin-top: .8em;
}

#breadcrumb {
    height: auto;
    margin: 0;
    padding: 2px 16px;
    top: calc(1.5em - 14px);
}

code {
    background: none;
}

#menu {
    margin: 0;
    top: 3em;
    width: 18em;
}

#menu h1 {
    background: none;
    margin: 0;
    padding: 0;
}

#menu h1 a {
    color: var(--text-color);
}

#menu .links a {
    display: block;
}

#lang {
    top: -2.8em;
}

#lang label {
    color: white;
}

#content {
    margin-top: 3em;
}

.footer {
    margin: 1em 0;
}

.footer > div {
    background: none;
}

.js .column {
    background: silver;
    border: none;
    border-radius: 0;
    box-shadow: inset -1px -1px var(--window-frame), inset 1px 1px var(--button-face), inset -2px -2px grey, inset 2px 2px white;
    margin-top: -.4em;
    padding: 4px;
}

@media all and (max-width: 800px) {
    .js .logout {
        box-shadow: none;
        top: 0;
    }

    #lang label {
        color: initial;
    }
}
