.chaos_hidden {
    display: none;
}

/*
 * Styling for fields
 */
input[type=text].chaos_field {
    width: 100%;
}

input[type=number].chaos_field {
    text-align: right;
}

/*
 * Styling for error and notice messages
 */
div.chaos_error,
div.chaos_notice {
    border: 1px solid #c3c4c7;
    border-left-width: 4px;
    box-shadow: 0 1px 1px rgb(0 0 0 / 4%);
    margin: 5px 0 15px;
    padding: 1px 12px;
    outline: 0;
}

div.chaos_error p,
div.chaos_notice p {
    margin: 0.5em 0;
    padding: 2px;
    line-height: 1.5;
    display: block;
    margin-block-start: 1em;
    margin-block-end: 1em;
    margin-inline-start: 0;
    margin-inline-end: 0;
}

div.chaos_error {
    border-left-color: #d63638;
}

div.chaos_notice {
    border-left-color: #dba617;
}

/*
 * Styling for the image uploader
 */
span.chaos_image_upload input[type=file] {
    width: 0.1px;
    height: 0.1px;
    opacity: 0;
    overflow: hidden;
    position: absolute;
    z-index: -1;
}

span.chaos_image_upload label {
    cursor: pointer;
    /*font-size: 1.25em;*/
    /*font-weight: 700;*/
    /*color: white;*/
    /*background-color: black;*/
    display: inline-block;
}

span.chaos_image_upload img {
    float: right;
    margin: 5px;
    max-width: 100px;
    max-height: 100px;
}

/*
 * Default table styling
 */
table.chaos {
    width: 100%;
    border-collapse: collapse;
}
/* Zebra striping */
table.chaos > tr:nth-of-type(odd),
table.chaos > tbody > tr:nth-of-type(odd){
    background: #eee;
}
table.chaos th {
    background: #333;
    color: white;
    font-weight: bold;
}
table.chaos td, table.chaos th {
    padding: 6px;
    border: 1px solid #ccc;
    text-align: left;
    vertical-align: top;
}
table.chaos thead th {
    position: sticky;
    position: -webkit-sticky;
    top: 0;
}
table.chaos tfoot th,
table.chaos tfoot td {
    font-weight: bold;
}

/*
 * Default form table styling
 */
table.chaos_form {
    width: 100%;
}

table.chaos_form th,
table.chaos_form td {
    text-align: left;
    vertical-align: baseline;
    border: none;
}

table.chaos_form td:first-child,
table.chaos_form th:first-child {
    white-space: nowrap;
    width: 1%;
}

table.chaos_form th label {
    font-weight: inherit;
}

table.chaos_form td input:not([type='submit']):not([type="checkbox"]),
table.chaos_form td textarea,
table.chaos_form td select {
    width: 100%;
}

/*
 * Collapsable panel
 */
button.collapsable {
    margin: 5px auto;
    width: 100%;
    text-align: left;
}

button.collapsable:after {
    content: '\02795'; /* Unicode character for "plus" sign (+) */
    color: white;
    float: right;
    margin-left: 5px;
}

button.collapsable.active:after {
    content: "\2796"; /* Unicode character for "minus" sign (-) */
}
