* {
  box-sizing: border-box;
}

html, body {
    height: 100%;
    margin: 0;
}

html, body, a, select, input, textarea, button, .item_table, 
.tekst, .tekstinput, .tekstrood, .tekstgrijs, .tekstkl,
.tussentitel, .titel, .titelgrijs,
a:visited, a:link, a:active {
    font-size: 7pt;
    line-height: 12px;
    font-family: Verdana, Arial, Helvetica, sans-serif;
    font-weight: 400;
}

h1, h2, th, b {
    font-weight: 500;
}

a, a:visited, a:link, a:active, a:hover {
    color: #666;
    font-weight: 600;
    text-decoration: none;
}

a:hover {
    text-decoration: underline;
}

a.red:link, a.red:visited, a.red:active {
    color: #f00;
    font-weight: 500;
    text-decoration: none;
}

a.white:link, a.white:visited, a.white:active {
    color: #ffffff;
    font-weight: 500;
    text-decoration: none;
}

a.blue:link, a.blue:visited, a.blue:active {
    color: blue;
    font-weight: 500;
    text-decoration: none;
}

a.red:hover {
    color: #f00;
}

#container {
    position: relative;
    min-height: 100%;
}

#header {
    display: grid;
    align-items: center;
}

#header_logo {
    display: none;
}

#header_date {
    justify-self: flex-end;
    grid-row: 1;
    padding: 1em;
}

#info-bar {
    position: relative;
    border-top: 1px solid #808080;
    border-bottom: 1px solid #808080;
    padding: 3px 20px;
    background: #bccddc;
}

#info-bar.suspended {
    border-top: 1px solid #808080;
    border-bottom: 1px solid #808080;
    padding: 3px 20px;
    background: #db2319;
}

#info-bar div.section {
    float: left;
    width: 300px;
    line-height: 20px;
}

#migration-bar {
    border-bottom: 1px solid #808080;
    padding: 1em 2em;
    font-size: 14px;
    font-weight: bold;
    text-align: center;
}

#migration-bar > span {
    white-space: pre-line;
    line-height: 1.5em;
}

#migration-bar.migration_planned {
    background-color: #e3fdff;
    color: #00363b;
}

#migration-bar.migration_migrated {
    background-color: #ffff99;
    color: #bb6600;
}

#migration-bar.migration_validated {
    background-color: #7dc165;
    color: #134900;
}

#linked-cases {
    border-top: 1px solid #808080;
    border-bottom: 1px solid #808080;
    padding: 3px 20px;
    background: #ffffff;
}

#linked-cases div {
    float: left;
    width: 300px;
    line-height: 20px;
}

#wrapper {
    padding: 15px;
    padding-bottom: 8em;
}

#menu_actions {
    background-color: #bfb6ae;
    text-align: right;
    padding-right: 15px;
    height: 15px;
    border-bottom: 1px solid #000;
    border-top: 1px solid #000;
}

#menu_items {
    border-bottom: 1px solid #000;
}

.menu_item_line {
    background-color: #eee;
    border-bottom: 1px solid #fff;
}

.menu_item_line img {
    display: inline;
    margin-left: 10px;
}

.menu_item_line ul {
    padding: 0;
    display: inline;
    text-align: center;
    position: relative;
    margin-top: -8px;
}

.menu_item_line li {
    list-style-type: none;
    display: inline;
    margin-left: 10px;
    margin-top: -8px;
}

#footer {
    position: absolute;
    bottom: 0;
    width: 100%;
    line-height: 3em;
}

#footer_coordinates {
    text-align: center;
    border-top: solid 1px #000000;
    background-color: #bccddc
}

#footer_actions {
    margin-bottom: 10px;
    margin-left: 20px;
}

table.data_table_without_border {
    width: 90%;
    margin-left: auto;
    margin-right: auto;
    border: none;
}

table.borderless th, table.borderless td {
    border: none !important;
}

table.data_table {
    width: 100%;
    margin-left: auto;
    margin-right: auto;
    border-collapse: collapse;
}

table.no-stretch {
    width: auto;
}

table.no-center {
    margin-left: 0px;
    margin-right: 0px;
}

table.deleted_vehicle {
    background: #db2319;
    color: #ffffff;
}

table.disabled_policy {
    background: #db2319;
    color: #ffffff;
}

table.frozen_policy {
    background: #1e90ff;
    color: #ffffff;
}

table.recalc_policy {
    background: #000066;
    color: #ffffff;
}

.hover_highlight:hover {
    background-color: grey;
}

table.data_table .even td {
    background-color: #E3E6FF;
}

table.data_table .odd td {
    background-color: #D1D8F6;
}

table.data_table .highlight {
    background-color: #ff0000;
}

table.data_table td, table.data_table th {
    border: 2px solid #ddd;
    padding: 2px;
    vertical-align: top;
}

table.data_table tr.inactive {
    color: white;
    background-color: red;
}

table.data_table tr.system {
    color: white;
    background-color: #00499F;
}

table.data_table th {
    background-color: #eee;
    text-align: left;
}

td.centered, th.centered {
    text-align: center !important;
}

td.money, th.money {
    text-align: right !important;
}

td.form-buttons {
    margin: 1em 0;
    background: #EEE;
    padding: 1em;
}

table.data_table tr.yellow-highlight td {
    background: #ffff99;
}

table.data_table tr.totals td {
    background: #eee;
    font-weight: 500;
}

.form_grid {
    display: grid;
    grid-template-columns: max-content auto;
    gap: 1em;
}

.form_item {
    display: contents;
}

.form_label {
    grid-column-start: 1;
    grid-column-end: 2;
}

.form_input {
    grid-column-start: 2;
    grid-column-end: 3;
}

.form_input input {
    /* width: 150px; */
}

.form_input select {
    /* width: 150px; */
}

.form_buttons {
    grid-column-start: 2;
    display: grid;
    grid-template-columns: auto auto;
    gap: 1em;
}

.form_dialog:empty {
    display: none;
}
.form_dialog {
    position: fixed;
    top: 50%;
    left: 50%;
    transform: translate(-50%, -50%);
    background-color: white;
    box-shadow: grey 0 0 1em;
    max-width: 50vw;
    max-height: 50vh;
    overflow: auto;
    padding: 1em;
}

.form_input .inline {
    display: inline;
    width: auto;
    float: none;
}

table.form {
    border-collapse: collapse;
    empty-cells: show;
}

table.form th, table.form th label {
    font-weight: 400;
    /*text-transform: capitalize;*/
}

table.form td, table.form th {
    vertical-align: top;
    text-align: left;
    border: 2px solid #DDD;
    padding: 3px;
}

table.form td.header {
    background: #EEE;
    font-weight: 500;
}

table.form th {
    text-align: left;
}

input.dynamic {
    width: 100%;
}

/** Taken from original
 *TODO: refactor to decent implementation
 **/
.transparent {
    filter: alpha(opacity=100);
    background-color: #dddddd;
    display: none;
    width: 300;
    height: 50;
    position: absolute;
    color: white;
    border: 1 black solid;
}

.tekst {
    color: #000000;
}

.tekstinput {
    color: #000000;
}

.tekstrood {
    color: #FF0000;
}

.tekstgrijs {
    color: #666666;
    line-height: 24px;
}

.tekstkl {
    color: #000000;
    font-size: 8px;
    line-height: 12px;
}

.tussentitel {
    color: #000000;
    font-size: 12px;
    font-weight: 500;
    line-height: 14px;
}

.titel {
    color: #eeeeee;
    font-size: 12px;
    line-height: 16px;
    font-weight: 500;
}

.titelgrijs {
    color: #999999;
    font-size: 16px;
    line-height: 18px;
    font-style: italic;
    font-weight: 500;
}

a.blue:link, a.blue:visited, a.blue:hover, a.blue:active {
    color: #000066;
}

a.admin:link, a.admin:visited, a.admin:active {
    color: #bb0000;
}

a.admin:hover {
    color: #ff0000;
}

a.rood:link, a.rood:visited, a.rood:active {
    color: #ffffff;
}

a.rood:hover {
    color: #ee0000;
}

a.wit:link, a.wit:visited, a.wit:active {
    color: #ff0000;
}

a.wit:hover {
    color: #FFFFFF;
}

select, INPUT, TEXTAREA, button, a.button {
    border: 1px solid #666666;
    font-weight: 400;
    color: #000000;
    background-color: #ffffff;
    text-decoration: none;
}

a.button {
    padding-left: 1em;
    padding-right: 1em;
}

@media print {
    .non-print {
        display: none;
    }
}

.item_table {
    width: 100%;
    border: 1px solid black;
    padding: 0px;
    border-spacing: 0px;
    color: #000000;
}

.item_table tr {
    height: 25px;
}

.item_table th {
    border: 1px solid #dddddd;
    background-color: #eeeeee;
    text-align: left;
    font-weight: 400;
}

.item_table td {
    border: 1px solid #dddddd;
}

.table_title {
    background-color: #ff5c5c;
}

.form_item_color {
    height: 125px;
    width: 500px;
}

#damage_claim_followup_type_color_code {
    width: 150px;
}

#damage_claim_followup_type_color_codeColorPicker {
    width: 100px;
    height: 100px;

}

#police_details {
    margin-left: 15px;
}

.details_label {
    display: block;
    float: left;
    width: 200px;
}

.details_value {
    display: block;
}

.details_table_header {
    margin-top: 10px;
}

/* is used in customers\_form.html.erb */
#company_numberpre {
    width: 30px;
}

#company_numberafter {
    width: 115px;
}

.actions_policy {
    height: 430px;
}

td.strikethrough {
    background: url('../images/strikethrough.gif');

}

.top-margin {
    margin-top: 1em;
}

.bottom-margin {
    margin-bottom: 1em;
}

.full-width {
    width: 100%;
}

table.sortable th {
    text-decoration: underline;
    cursor: pointer;
}

body {
    counter-reset: sortabletablescope;
}

table.has-counter thead.has-counter tr.has-counter::before {
    content: "";
    display: table-cell;
    border: 2px solid #ddd;
    padding: 2px;
    vertical-align: top;
    background-color: #eee;
}

table.has-counter tbody.has-counter tr.has-counter::before {
    content: counter(sortabletablescope);
    counter-increment: sortabletablescope;
    display: table-cell;
    border: 2px solid #ddd;
    padding: 2px;
    vertical-align: top;
}

table th.has-counter tr.has-counter {
    width: 1.5%
}

div.tooltip-details {
    color: black;
}

div.tooltip-details div.title {
    background: #DDD;
    padding: .2em 0;
}

div.tooltip-details div.details {
    padding: .2em 0;
    background: #EEE;
}

input.date-field {
    width: 70px;
}

input.currency {
    width: 80px;
}

input.percentage {
    width: 35px;
}

img.calendar_date_select_popup_icon {
    vertical-align: top;
}

img.dbadmin-uploaded-image {
    max-width: 600px;
    max-height: 200px;
}

div.warning, ul#validation-errors {
    background: maroon;
    color: white;
    border: 1px solid silver;
    padding: .3em;
    margin: 1em 0;
}

div.message {
    background: #000066;
    color: white;
    border: 1px solid silver;
    padding: .3em;
    margin: 1em 0;
}

img {
    border: none;
}

div.button-bar input, div.button-bar button {
    margin-right: 1em;
}

div.pagination span.current {
    font-weight: 500;
}

div.pagination {
    margin: 1em 0;
    text-align: center;
}

div.pagination em {
    font-style: normal;
    font-weight: 500;
    color: red;
}

.errFld {
    border: 2px solid red !important;
}

select.errFld {
    background: maroon;
    color: white;
}

div.form-buttons {
    margin: 1em 0;
    text-align: center;
    background: #EEE;
    padding: 1em;
}

table.horizontal td {
    vertical-align: top;
    padding-right: 1em;
}

.indent_left {
    margin-left: 85px;
}

button,
input[type=button],
input[type=submit]{
    cursor: pointer;
}

input:disabled,
input[disabled],
button[disabled] {
    border: 1px solid #999999;
    background-color: #cccccc;
    color: #666666;
}

#customer-note {
    position: absolute;
    height: 100%;
    top: 0;
    right: 0;
}

.toggle-expand-note {
    background-color: #DDD;
    float: left;
    height: 100%;
    font-size: 16pt;
    padding: 1em;
    border-left: 1px solid #000;
    cursor: pointer;
}

div.collapsible {
    background-color: #FFFFFF;
    transition: all 0.2s;
    float: right;
}

div.collapsible.expanded {
    padding-top: 1em;
    padding-left: 1em;
    padding-right: 1em;
    border-bottom: 1px solid #000;
    border-left: 1px solid #000;
}

div.collapsible.collapsed {
    max-width: 0;
    overflow: hidden;
}

.richText {
    font-size: 12pt;
    line-height: 14pt;
}

.inmotiv-value {
    border-color: green;
    border-width: 2px;
}