html {
-webkit-box-sizing: border-box;
        box-sizing: border-box;
overflow-x: hidden;
overflow-y: auto;
font-size: 88%;
}

* {
-webkit-box-sizing: inherit;
        box-sizing: inherit;
}

body {
background-color: #def;
color: #000;
font-size: 1rem;
font-family: sans-serif;
line-height: 1.4;
margin: 2px;
}

a {
color: blue;
}

a:visited {
color: purple;
}

a:hover, a:focus, a:active {
color: navy;
background-color: #9bf;
}

h1 {
font-size: 2rem;
color: #215;
text-shadow: 3px 3px 3px #b9f;
}

h2 {
font-size: 1.7rem;
color: #326;
text-shadow: 3px 3px 3px #caf;
}

h3 {
font-size: 1.5rem;
color: #326;
}

h4 {
font-size: 1.4rem;
color: #326;
}

h5 {
font-size: 1.3rem;
color: #326;
}

h6 {
font-size: 1.25rem;
color: #326;
}

ul, ol {
padding-left: 2em;
}

img {
vertical-align: middle;
}

p, ul, ol, dl, blockquote, pre, td, th, label, textarea, caption, details, figure {
margin-top: 0.75em;
margin-bottom: 0;
line-height: 1.4;
}

p, pre, table, td, th, div, code, pre, samp {
word-wrap: break-word;
-ms-hyphens: auto;
-webkit-hyphens: auto;
-o-hyphens: auto;
hyphens: auto;
}

code, pre, samp, kbd {
white-space: pre-line;
white-space: pre-wrap;
font-family: consolas, courier, monospace;
line-height: normal;
}

em, address,  cite, i, var {
font-style: italic;
}

p:first-child, ul:first-child, ol:first-child, dl:first-child, blockquote:first-child, pre:first-child, h1:first-child, h2:first-child, h3:first-child, h4:first-child, h5:first-child, h6:first-child {
margin-top: 0;
}

li p, li ul, li ol {
margin-top: 0;
margin-bottom: 0;
}

big {
font-size: 1.2em;
}

small {
font-size: 0.8em; 
}

img, table, td, blockquote, code, pre, textarea, input, video, svg {
max-width: 100%;
}

img {
height: auto;
}

pre code {
padding: 0;
background: none;
color: inherit;
border-radius: 0;
}

mark {
padding: 2px 4px;
}

sup, sub {
vertical-align: 0;
}

sup {
bottom: 1ex;
}

sub {
top: 0.5ex;
}

.disabled,[disabled] {
opacity: 0.5;
pointer-events: none;
cursor: not-allowed;
-webkit-filter: grayscale(1);
filter: grayscale(1);
}

.hidden, [hidden] {
display: none;
}

.visually-hidden {
position: absolute !important;
border: 0 !important;
height: 1px !important; 
/* width: 1px !important; /*Disabled because of JFW+firefox bug, all words are concatenated */
padding: 0 !important;
overflow: hidden !important;
clip: rect(0, 0, 0, 0) !important;
left: -2px !important;
top: auto !important;
}

table {
border: 2px solid #a8f;
width: 100%;
max-width: 100%;
border-collapse: collapse;
vertical-align: top;
margin-bottom: 2rem;
}

table.fixed { 
table-layout: fixed;
}

td, th { 
padding: 0.3em 0.8em;
border: 2px solid #a8f;
border-collapse: collapse;
text-align: left;
vertical-align: top;
min-width: 2rem;
cursor: default;
}

caption {
padding: 1rem;
font-style: italic;
}

/*To be checked
th {   font-weight: normal; }
table.forum th { font-weight: bold; text-align: left; }
th.subtotal, th.subtotal~td { font-weight: bold; }
td.numeric { text-align: right; }
th.numeric { text-align: center; }
*/

.overlay {
position: fixed;
width: 100%;
height: 100%;
top: 0;
left: 0;
bottom: 0;
right: 0;
z-index: 99;
background-color: black;
opacity: 0.6;
}

dialog {
position: fixed;
width: 100%;
height: 100%;
top: 0;
left: 0;
bottom: 0;
right: 0;
z-index: 100;
background-color: transparent;
vertical-align: middle;
}

dialog>div:only-child {
width: auto;
height: auto;
vertical-align: middle;
margin: auto auto auto auto;
min-width: 20%;
min-height: 20%;
max-width: 95%;
max-height: 95%;
background-color: #cdf;
border: 3px solid #35f;
-webkit-box-shadow: 1.25em 1.25em 1.25em 1.25em RGBA(0,0,0,0.6);
        box-shadow: 1.25em 1.25em 1.25em 1.25em RGBA(0,0,0,0.6);
}

form, fieldset {
border: none;
}

input, textarea, button, select, label {
font-family: inherit;
font-size: inherit;
}

label {
vertical-align: middle;
cursor: pointer;
text-align: right;
padding-right: 0.5em;
}

legend {
border: 0;
white-space: normal;
display: table-caption;
}

textarea {
min-height: 10em;
min-width: 200px;
max-width: 100%;
width: 100%;
height: auto;
vertical-align: top;
resize: vertical;
}

select {
-webkit-appearance: menulist-button;
}

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

input, select, textarea, button, .button  {
background-color: #eef;
color: black;
border: 3px solid #35f;
vertical-align: top;
}

input.light, button.light, .button.light {
border: 0px none transparent;
}

button, .button {
display: inline-block;
text-align: center;
padding-left: 0.5em;
padding-right: 0.5em;
}

input:-ms-input-placeholder, textarea:-ms-input-placeholder { color: #777; }
input:-moz-placeholder, textarea:-moz-placeholder { color: #777; }
::-moz-placeholder { color: #777; }
::-webkit-input-placeholder { color: #777; }
::-ms-input-placeholder { color: #777; }
::placeholder { color: #777; }

button:focus, .button:focus, input[type=button]:focus, input[type=submit]:focus, input[type=reset]:focus  {
-webkit-tap-highlight-color: transparent;
-webkit-user-select: none;
-moz-user-select: none;
-ms-user-select: none;
user-select: none;
}

input:hover, input:focus, input:active, select:hover, select:focus, select:active, textarea:hover, textarea:focus, textarea:active, button:hover, button:focus, button:active, .button:focus, .button:hover, .button:active, div:focus, span:focus {
background-color: #eef;
color: black;
border: 3px solid navy;
}

input:valid, textarea:valid, select:valid {
}

input:invalid, textarea:invalid, select:invalid {
border: 3px solid red;
}

input:required, textarea:required, select:required {
}

input:optional, textarea:optional, select:optional {
}

fieldset, .table { 
display: table; 
}

fieldset>*, .table>* { 
display: table-row; 
}

fieldset>*>*, .table>*>* { 
display: table-cell; 
}

fieldset>*>span:first-child::before  { 
content: " "; 
display: table-cell; 
}

.tablist {
list-style: none;
}

.flex, .flex-h, .flex-v {
display: -webkit-box;
display: -ms-flexbox;
display: flex;
}

.flex {
-webkit-box-orient: horizontal;
-webkit-box-direction: normal;
    -ms-flex-direction: row;
        flex-direction: row;
-ms-flex-wrap: wrap;
    flex-wrap: wrap;
}

.flex-h {
-webkit-box-orient: horizontal;
-webkit-box-direction: normal;
    -ms-flex-direction: row;
        flex-direction: row;
}

.flex-v {
-webkit-box-orient: vertical;
-webkit-box-direction: normal;
    -ms-flex-direction: column;
        flex-direction: column;
}

.flex-item-fluid, .flex-fluid>* {
-webkit-box-flex: 1;
    -ms-flex: 1;
        flex: 1;
min-width: 0;
}

.space-between  {
-webkit-box-pack: justify;
    -ms-flex-pack: justify;
        justify-content: space-between;
}

.space-evenly {
-webkit-box-pack: space-evenly;
    -ms-flex-pack: space-evenly;
        justify-content: space-evenly;
}

.space-around {
-ms-flex-pack: distribute;
    justify-content: space-around;
}

.scroll-x {
overflow-x: auto;
width: auto;
}

.scroll-y {
overflow-y: auto;
height: auto;
}

.tablist>li {
display: inline-block;
padding-left: 0.25em;
padding-right: 0.25em;
border-left: 1px solid #009;
border-right: 1px solid #00a;
border-collapse: collapse;
list-style: none;
}

.tablist *[aria-current] {
background-color: #bdf;
color: black;
border: 2px solid navy;
font-weight: bold;
}

.success {
color: #050;
padding-left: 2em; 
background: url('images/information.svg') no-repeat;
}

.error {
color: red;
padding-left: 2em; 
background: url('images/invalid.svg') no-repeat;
}

.icon {
display: inline-block;
width: 1em;
height: auto;
}

.close-button {
float: right;
vertical-align: top;
}

.floating-menu {
position: absolute;
}

#search {
float: right;
}

#breadcrump {
clear: both;
}

.skip-link:focus, .skip-link:active {
position: relative;
top: 0px;
left: 0px;
width: auto;
height: auto;
z-index: 9;
}

@media(screen and max-width: 800px) {
.mobile-hidden { display: none; }
}


