

/* PR2019-05-02 PR2019-07-19*/
.input_text, .tsa_transparent {
    background: transparent;
    border: none;
    margin: 0;
	padding: 0;
}

.input_timepicker {
    text-align: right;
    background: transparent;
    border: none;
    margin: 0;
	padding: 0;
}
.input_popup {
    text-align: right;
    background: transparent;
    border: none;
    margin: 0;
	padding: 0;
}
.input_popup_date {
    text-align: left;
    background: transparent;
    border: none;
    margin: 0;
	padding: 0;
}

.input_popup_dhm {
    text-align: right;
    background: transparent;
    border: none;
    margin: 0;
	padding: 0;
}
.input_popup_wdy {
    text-align: left;
    background: transparent;
    border: none;
    margin: 0;
	padding: 0;
}

/* PR2019-04-13 */
.popup_container {
    position:relative;

    z-index:99;
    padding: 0;
    margin: 0;
}

.popup_box {
    position: absolute;
    padding: 0;
    margin: 0;

    /*background-color: #808080; /* #e0e0e0; /* licht grijs; */
    /*background: #ffd01c; /* tsa yellow */
    /*background: #fbedba; /* tsa_bc_yellow_light lighter shade of tsa yellow */
    background: #fdf7e1; /* tsa_bc_yellow_lightlight more lighter shade of tsa yellow */

    color: #868e96;
    z-index: 99;
}

.popup_header {
    display: flex;
    align-items: flex-start; /* so the close btn always stays on the upper right corner */
    justify-content: space-between; /* Put modal header elements (title and dismiss) on opposite ends */
    /*border-bottom: 1px solid purple /*#808080; /* grijs; */

    background-color: #808080;
    color: #ffffff;
    /*font-weight: bold;*/
  }

/* PR2019-04-13 for popup box */
.pop_tbl {
    table-layout: auto;
    /*table-layout: fixed;*/
    width: 100%; /* must have this set */
}
.pop_tbl th  {
    padding: 4px;
    margin: 0;
    white-space: normal;
    /*overflow: hidden;
    text-overflow: ellipsis;*/
}

.pop_tbl tr {
    padding: 0;
    margin: 0;

    /*background-color: #808080; /* #e0e0e0; /* licht grijs; */
    /*background: #ffd01c; /* tsa yellow */
    /*background: #fbedba; /* tsa_bc_yellow_light lighter shade of tsa yellow */
    background: #fdf7e1; /* tsa_bc_yellow_lightlight more lighter shade of tsa yellow */
}
.pop_tbl td {
    /* padding: <top><right><bottom><left> */
    padding: 2px 4px 0 4px;
    margin: 0;
    overflow: hidden;
    white-space: nowrap;
    text-overflow: ellipsis;
}


/* PR2019-04-06 from https://css-tricks.com/fixing-tables-long-strings/ */
.tsa_tbl  {
    /*table-layout: auto;*/
    table-layout: fixed;
    width: 100%; /* must have this set instead of 'auto'*/
    /* try: */
    /* word-break: break-all; */
    word-break: break-word;
    display: block;
    overflow: auto;
    /* PR2020-06-17 see https://stackoverflow.com/questions/41421512/why-does-flex-box-work-with-a-div-but-not-a-table */
    /* TEST
    position: absolute;
    height: 100%;
    left: 0;
    top: 0;
    border-collapse: collapse;
    */
}

.tsa_tbl th  {
    padding: 0.2rem 0.25rem 0.05rem 0.25rem;
    margin: 0;
    /*background: #f8f8f8; /*licht licht licht grijs 248 248 248 100%; */
    /*background: #e8e8e880; /*licht licht grijs 232 232 232 50% */
    /* background-color: #f5f5f5; /* this is reddish: background-color: #f8f8f8;*/

      background-color: #ececec; /* a bit bluish darker RGB 236 236 236*/

    white-space: normal;
    overflow-wrap: break-word; /* TODO not working*/
    word-wrap: break-word;
    /*overflow: hidden;
    text-overflow: ellipsis;*/
}

.tsa_tbl tr {
    padding: 0.2rem 0.25rem 0.05rem 0.25rem;
    margin: 0;
}

.tsa_tbl td {
    /* display: table-cell; /* PR2020-05-28 problems with right align offset field in datatable om planning page */
    /*width: 100%;*/
    padding: 0.2rem 0.25rem 0.05rem 0.25rem;
    margin: 0;
    overflow: hidden;
    white-space: nowrap;
    text-overflow: ellipsis;
    vertical-align: top;/* from bootstrap table td */
    border-top: 1px solid #dee2e6; /* from bootstrap table td */
}
.tbl_h_auto {
    height: auto;
    overflow-x: hidden;
    overflow-y: auto;
}
.tbl_h_360 {
    height: 360px;
    overflow-x: hidden;
    overflow-y: auto;
}
.tbl_h_240 {
    height: 240px;
    overflow-x: hidden;
    overflow-y: auto;
}
.tbl_h_180 {
    height: 180px;
    overflow-x: hidden;
    overflow-y: auto;
}
.ta_l {
    text-align: left;
}

.ta_c {
    text-align: center;
}
.ta_r {
    text-align: right;
}
.line_height_normal {
    line-height: normal;
}

.image_container {
    display: flex;
    justify-content: center;
    padding: 4px;
}

.icon_24 {
    width: 24px;
    height: 24px;
    margin: 4px;
}
.icon_18 {
    width: 18px;
    height: 18px;
    margin: 2px;
}

/* freeze table header - not working yet PR2021-10-03
    from https://stackoverflow.com/questions/673153/html-table-with-fixed-headers
    borders dont translate. fixed with https://stackoverflow.com/questions/45692744/td-border-disappears-when-applying-transform-translate
    no luck, border still not showing */

#id_tbl_container {
    float: left;
    overflow: auto;
    height: 75%;
    border-spacing: 0 !important;
    border-collapse: separate !important;
}
/* from https://stackoverflow.com/questions/45692744/td-border-disappears-when-applying-transform-translate */


/* SPRITES PR2020-08-17 */

.stat_0_0, .stat_0_1, .stat_0_2, .stat_0_3, .stat_0_4, .stat_0_5, .stat_0_6,
.stat_1_0, .stat_1_1, .stat_1_2, .stat_1_3, .stat_1_4, .stat_1_5, .stat_1_6,
.inactive_0_0, .inactive_0_1, .inactive_0_2, .inactive_0_3,
.inactive_1_0, .inactive_1_1, .inactive_1_2, .inactive_1_3,
.edit_0_0, .edit_0_1, .edit_0_2, .edit_0_3, .edit_0_4, .edit_0_5, .edit_0_6, .edit_0_7,
.edit_1_0, .edit_1_1, .edit_1_2, .edit_1_3, .edit_1_4, .edit_1_5, .edit_1_6, .edit_1_7,
.edit_2_0, .edit_2_1, .edit_2_2, .edit_2_3, .edit_2_4, .edit_2_5, .edit_2_6, .edit_2_7,
.xmark_0_0, .xmark_0_1, .xmark_0_2, .xmark_0_3,
.exclamation_0_0, .exclamation_0_1, .exclamation_0_2,

.tick_0_0, .tick_0_1, .tick_0_2,
.tick_1_0, .tick_1_1, .tick_1_2,
.tick_2_0, .tick_2_1, .tick_2_2,

.flag_0_0, .flag_0_1, .flag_0_2,
.flag_1_0, .flag_1_1, .flag_1_2,
.delete_0_0, .delete_0_1, .delete_0_2 {
    background-repeat: no-repeat;
    height: 20px;
    width: 20px;
    margin: auto;
    padding-top: 2px;
    /*cursor: pointer*/;
}

.stat_0_0, .stat_0_1, .stat_0_2, .stat_0_3, .stat_0_4, .stat_0_5, .stat_0_6,
.stat_1_0, .stat_1_1, .stat_1_2, .stat_1_3, .stat_1_4, .stat_1_5, .stat_1_6 {
    background-image: url('/static/img/status210402.png');
    background-size: 140px 40px;
}
.stat_0_0 { background-position: -0px -0px;}
.stat_0_1 { background-position: -20px -0px;}
.stat_0_2 { background-position: -40px -0px;}
.stat_0_3 { background-position: -60px -0px;}
.stat_0_4 { background-position: -80px -0px;}
.stat_0_5 { background-position: -100px -0px;}
.stat_0_6 { background-position: -120px -0px;}
.stat_1_0 { background-position: -0px -20px;}
.stat_1_1 { background-position: -20px -20px;}
.stat_1_2 { background-position: -40px -20px;}
.stat_1_3 { background-position: -60px -20px;}
.stat_1_4 { background-position: -80px -20px;}
.stat_1_5 { background-position: -100px -20px;}
.stat_1_6 { background-position: -120px -20px;}

.inactive_0_0, .inactive_0_1, .inactive_0_2, .inactive_0_3,
.inactive_1_0, .inactive_1_1, .inactive_1_2, .inactive_1_3 {
    background-image: url('/static/img/inactive.png');
    background-size: 80px 40px;
}
.inactive_0_0 { background-position: -0px -0px;}
.inactive_0_1 { background-position: -20px -0px;}
.inactive_0_2 { background-position: -40px -0px;}
.inactive_0_3 { background-position: -60px -0px;}
.inactive_1_0 { background-position: -0px -20px;}
.inactive_1_1 { background-position: -20px -20px;}
.inactive_1_2 { background-position: -40px -20px;}
.inactive_1_3 { background-position: -60px -20px;}

.edit_0_0, .edit_0_1, .edit_0_2, .edit_0_3, .edit_0_4, .edit_0_5, .edit_0_6, .edit_0_7,
.edit_1_0, .edit_1_1, .edit_1_2, .edit_1_3, .edit_1_4, .edit_1_5, .edit_1_6, .edit_1_7,
.edit_2_0, .edit_2_1, .edit_2_2, .edit_2_3, .edit_2_4, .edit_2_5, .edit_2_6, .edit_2_7 {
    background-image: url('/static/img/editor210202.png');
    background-size: 160px 60px;
}
.edit_0_0 { background-position: -0px -0px;}
.edit_0_1 { background-position: -20px -0px;}
.edit_0_2 { background-position: -40px -0px;}
.edit_0_3 { background-position: -60px -0px;}
.edit_0_4 { background-position: -80px -0px;}
.edit_0_5 { background-position: -100px -0px;}
.edit_0_6 { background-position: -120px -0px;}
.edit_0_7 { background-position: -140px -0px;}
.edit_1_0 { background-position: -0px -20px;}
.edit_1_1 { background-position: -20px -20px;}
.edit_1_2 { background-position: -40px -20px;}
.edit_1_3 { background-position: -60px -20px;}
.edit_1_4 { background-position: -80px -20px;}
.edit_1_5 { background-position: -100px -20px;}
.edit_1_6 { background-position: -120px -20px;}
.edit_1_7 { background-position: -140px -20px;}
.edit_2_0 { background-position: -0px -40px;}
.edit_2_1 { background-position: -20px -40px;}
.edit_2_2 { background-position: -40px -40px;}
.edit_2_3 { background-position: -60px -40px;}
.edit_2_4 { background-position: -80px -40px;}
.edit_2_5 { background-position: -100px -40px;}
.edit_2_6 { background-position: -120px -40px;}
.edit_2_7 { background-position: -140px -40px;}

.xmark_0_0, .xmark_0_1, .xmark_0_2, .xmark_0_3 {
    background-image: url('/static/img/xmark.png');
    background-size: 80px 20px;
}
.xmark_0_0 { background-position: -0px -0px;}
.xmark_0_1 { background-position: -20px -0px;}
.xmark_0_2 { background-position: -40px -0px;}
.xmark_0_3 { background-position: -60px -0px;}

.exclamation_0_0, .exclamation_0_1, .exclamation_0_2 {
    background-image: url('/static/img/exclamation.png');
    background-size: 60px 20px;
}
.exclamation_0_0 { background-position: -0px -0px;}
.exclamation_0_1 { background-position: -20px -0px;}
.exclamation_0_2 { background-position: -40px -0px;}

.tick_0_0, .tick_0_1, .tick_0_2,
.tick_1_0, .tick_1_1, .tick_1_2,
.tick_2_0, .tick_2_1, .tick_2_2 {
    background-image: url('/static/img/tick.png');
    background-size: 60px 60px;
}
.tick_0_0 { background-position: -0px -0px;}
.tick_0_1 { background-position: -20px -0px;}
.tick_0_2 { background-position: -40px -0px;}
.tick_1_0 { background-position: -0px -20px;}
.tick_1_1 { background-position: -20px -20px;}
.tick_1_2 { background-position: -40px -20px;}
.tick_2_0 { background-position: -0px -40px;}
.tick_2_1 { background-position: -20px -40px;}
.tick_2_2 { background-position: -40px -40px;}

.delete_0_0, .delete_0_1, .delete_0_2 {
    background-image: url('/static/img/btn_del.png');
    background-size: 60px 20px;
}
.delete_0_0 { background-position: -0px -0px;}
.delete_0_1 { background-position: -20px -0px;}
.delete_0_2 { background-position: -40px -0px;}

.btn_del_0_1, .btn_del_0_2 {
    background-image: url('/static/img/btn_del.png');
    background-size: 84px 28px;
    background-repeat: no-repeat;

    border: 1px solid #808080;  /* #2d2400 = 45 36 0 Panta Rhei grijs;*/  /* #808080; /* dark grey 128 128 128 */
    border-radius: .1rem;
    box-shadow: 2px 2px #808080;

    height: 28px;
    width: 28px;
    margin: 0;
    padding-top: 0px;
    cursor: pointer;
}

.btn_del_0_1 { background-position: -28px -0px;}
.btn_del_0_2 { background-position: -56px -0px;}

.flag_0_0, .flag_0_1, .flag_0_2,
.flag_1_0, .flag_1_1, .flag_1_2 {
    background-image: url('/static/img/flags.png');
    background-size: 60px 40px;
}
.flag_0_0 { background-position: -0px -0px;}
.flag_0_1 { background-position: -20px -0px;}
.flag_0_2 { background-position: -40px -0px;}
.flag_1_0 { background-position: -0px -20px;}
.flag_1_1 { background-position: -20px -20px;}
.flag_1_2 { background-position: -40px -20px;}



.tsalogo {
    background-image: url('/static/img/tsalogo210217.png');
    background-size: 72px 24px;
    background-repeat: no-repeat;
    height: 24px;
    width: 72px;
    margin: 8px 4px;
    cursor: pointer;
    background-position: -0px -0px;
}



/* EMD OF IMAGES */


.tw_360 { width: 360px; }
.tw_300 { width: 300px; }
.tw_270 { width: 270px; }
.tw_240 { width: 240px; }
.tw_220 { width: 220px; }
.tw_200 { width: 200px; }
.tw_180 { width: 180px; }
.tw_150 { width: 150px; }
.tw_120 { width: 120px; }
.tw_110 { width: 110px; }
.tw_100 { width: 100px; }
.tw_090 { width: 90px; }
.tw_075 { width: 75px; }
.tw_060 { width: 60px; }
.tw_032 { width: 32px; }
.tw_020 { width: 20px; }
.tw_016 { width: 16px; }

.tw_hours { padding: 2px; width: 60px; }


.tbl_h390_w_350 {
    overflow-x: hidden;
    overflow-y: auto;
    height: 390px;
    width: 360px;
}
.tbl_h390_w_auto {
    overflow-x: hidden;
    overflow-y: auto;
    height: 390px;
    width: auto
}

.tbl_h320_w_auto {
    overflow-x: hidden;
    overflow-y: auto;
    height: 320px;
    width: auto
}

.tbl_border {
    border: 1px solid #808080; /* grijs; */
}

.td_border_right {
    border-right: 1px solid #808080; /* grijs; */
}
.td_border_left {
    border-left: 1px solid #808080; /* grijs; */
}

.tsa_btn_selected  {
    background-color: #fbedba; /* lighter shade of tsa yellow */
    color: #303024; /* dark dark Panta Rhei grey 48 48 36 */
}
.tsa_tr_selected {
    background: #e0e0e0; /* light grey; tsa_tr_selected*/
}

.tsa_tr_error {
   /* background: #f1b5b5; /* licht rood; */
    background: #ffe8e8; /* licht lichtrood; */
}
.tsa_tr_error_darker {
    background: #f1b5b5; /* licht rood; */
    /*background: #ffe8e8; /* licht lichtrood; */
}
.tsa_tr_ok {
    /*background: #d7f4de!; /* licht groen; */
    background-color: #d7f4de !important;
}

.tsa_color_error {
    color: orange; /* #f1b5b5; /* licht rood; */
}

.tsa_tr_lightblue {
    /*background-color: #4A7DBB; /* 'TextboxBackColor Default Schema Blauw medium blauw */
    background-color: #d7e4f3; /*#d7e4f3 is even lighter blueish   */
   /* background-color: #B8CCE4; /* 'TextboxBackColor Default Schema Blauw lichtblauw */
    /*background: #F5FAFF; */ /*licht licht blauw; */

   /* background: #d7e4f3;/* is even lighter blueish */
   /* background:  #bacee6; geyish blue*/
}


.tsa_ellipsis {
    white-space: nowrap;
    overflow: hidden;
}


.status_icon {
  -o-object-fit: none;
     object-fit: none;
  -o-object-position: -48 0;
     object-position: -48 0;
  width: 24px;
  height: 24px;
}


.tr_hover .tr_hover_yellow {
    color: #000000;
    -moz-box-shadow: 3px 3px 5px 6px rgba(68, 68, 68, 0.6);
    -webkit-box-shadow: 3px 3px 5px 6px rgba(68, 68, 68, 0.6);  /* Safari 3-4, iOS 4.0.2 - 4.2, Android 2.3+ */  /* Firefox 3.5 - 3.6 */
    /* box-shadow: [horizontal offset] [vertical offset] [blur radius] [optional spread radius] [color]; */
    box-shadow:         3px 3px 5px 6px rgba(68, 68, 68, 0.6);  /* Opera 10.5, IE 9, Firefox 4+, Chrome 6+, iOS 5 */
}
.tr_hover {
   background-color: #e0e0e0 !important; /* licht grijs; tsa_tr_selected*/
}
.tr_hover_yellow {
   background: #fbedba !important; /* tsa_bc_yellow_light lighter shade of tsa yellow */
}

.tr_highlighted {
    /* background-color:   #2D4E77; /* HeaderBackColor Default Schema Blauw donkerblauw */
    /* background:  #2d4e77cc;*/
    background-color: #808080 ;
    color: #ffffff;
    font-weight: bold;
        -moz-transition: background 0.25s ease-in-out;
        -webkit-transition: background 0.25s ease-in-out;
               -o-transition: background 0.25s ease-in-out;
               transition: background 0.25s ease-in-out;
}

.tr_color_disabled {
    color: grey; /* #e0e0e0; /* default light grey */
}

.tsa_color_lightgrey {
    /*color: #e0e0e0 !important; /* #e0e0e0; 224 224 224 /* default light grey */
    color: #a0a0a0 !important; /* bit darker lightgrey 160 160 160 **/
    /*font-weight: bold !important;*/

   /* background-color: #303024; /* dark dark Panta Rhei grey 48 48 36 */
    /*background-color: #808080; /* dark grey 128 128 128 */
   /* background-color: #a5a5a5; /* medium grey; 165 165 165 */
   /* background-color:  #d8d8d8;  /* light grey 218 218 218 100%  /*  #e0e0e0; light grey 224 224 224 */
}

.tsa_color_lightlightgrey {
    color: #d8d8d8 !important;  /* light grey 218 218 218 100%  */
}
.tsa_color_mediumgrey {
    color: #a5a5a5 !important;  /* medium grey; 165 165 165 */
}
.tsa_color_darkgrey {
    color: #808080 !important;  /* dark grey 128 128 128 */
}
.tsa_color_darkblue {
    color: #40487f !important;  /* dark blue   #40487f     64 72 127 */
}
.tsa_color_lightblue {
    color: #969dcd !important;  /*   lightblue    #969dcd    150 157 205 */
}

.tsa_color_notallowed {
    color: red !important; /* #e0e0e0; /* default light grey */
    font-weight: bold !important;
}
.tsa_color_red {
    color: #cc0000; /* bit dark red ; /* default light grey */
}
.tsa_color_black {
    color: #000000;
}
.tsa_padding_20 {
    /* padding: <top><right><bottom><left> */
    padding: 20px 20px 20px 20px;
}
.tsa_btn {
    /* padding: <top><right><bottom><left> */
     padding: 4px 4px 0px 4px;
     margin: 4px 4px 0px 4px;
     border: 2px solid #dc3545;    /*  red like in django is-invalid */

}

.tsa_margin_top_72 {
    /* margin: <top><right><bottom><left> */
   margin-top: 72px
}
.tsa_margin_top48_left24 {
    /* margin: <top><right><bottom><left> */
   margin-top: 48px;
   margin-left: 24px;
}
.tsa_margin_top_24 {
    /* margin: <top><right><bottom><left> */
   margin-top: 24px
}
.tsa_margin_form_label {
    margin: 16px 8px 4px 8px; /* mx-2 = .5 rem, mx-1 = .25 rem, 1 rem = 16 px  <top><right><bottom><left> */
}
.tsa_margin_label_8848 {
    margin: 8px 8px 4px 8px; /* mx-2 = .5 rem, mx-1 = .25 rem, 1 rem = 16 px  <top><right><bottom><left> */
}
.tsa_margin_label_0848 {
    margin: 0px 8px 4px 8px; /* mx-2 = .5 rem, mx-1 = .25 rem, 1 rem = 16 px  <top><right><bottom><left> */
}
.tsa_margin_label_4848 {
    margin: 4px 8px 4px 8px; /* mx-2 = .5 rem, mx-1 = .25 rem, 1 rem = 16 px  <top><right><bottom><left> */
}
.tsa_carousel_item {
   height: calc(100vh - 32px);
}

.tsa_flex_1 {
    flex: 1;
}

.tsa_flex_2 {
    flex: 2;
}

.tsa_flex_3 {
    flex: 3;
}

.tsa_flex_4 {
    flex: 4;
}

.tsa_scroll_100vh {
    max-height: 100vh;
    overflow: auto;
}
.tsa_scroll_50vh {
    max-height: 50vh;
    overflow: auto;
}

/*
m-1= $spacer * .25 !important;
m-2: $spacer * .5 !important;
m-3: $spacer !important;
m-4: $spacer * 1.5 !important;
m-5: $spacer * 3 !important;
*/

.tsa_err_msg {
    line-height: 1.15 !important;
    font-size: 80%;
    color: #dc3545 !important;
    margin: 8px 8px 0px 8px; /* mx-2 = .5 rem, mx-1 = .25 rem, 1 rem = 16 px  <top><right><bottom><left> */
}
.tsa_info_msg {
    line-height: 1.15 !important;
    font-size: 80%;
    color: #808080 !important; /* dark grey 128 128 128 */
    margin: 8px 8px 0px 8px; /* mx-2 = .5 rem, mx-1 = .25 rem, 1 rem = 16 px  <top><right><bottom><left> */
}
.tsa_msg {
    line-height: 1.15 !important;
    font-size: 80%;
    color: #000000 !important; /* black */
    margin: 8px 8px 0px 8px; /* mx-2 = .5 rem, mx-1 = .25 rem, 1 rem = 16 px  <top><right><bottom><left> */
}
.tbl_div_390_420, .tbl_div_390_280, .tbl_div_390_220, .tbl_div_390_360, .tbl_div_390_320,
.tbl_div_50vh_200, .tbl_div_25vh_200, .tbl_MEP_h1800_w280 {
    overflow-x: hidden;
    overflow-y: auto;
}

.tbl_MEP_h140_w720 {
    height: 140px;
    width: 720px;
}
.tbl_div_390_420 {
    height: 390px;
    width: 420px;
}
.tbl_div_390_360 {
    height: 390px;
    width: 360px;
}
.tbl_div_390_320 {
    height: 390px;
    width: 320px;
}
.tbl_div_390_280 {
    height: 390px;
    width: 280px;
}
.tbl_div_390_220 {
    height: 390px;
    width: 220px;
}
.tbl_div_340_360 {
    height: 340px;
    width: 360px;
}
.tbl_div_50vh_200 {
    max-height: 50vh;
    width: 200px;
}
.tbl_div_25vh_200 {
    max-height: 25vh;
    width: 200px;
}

/* ======================== from forms.css =================================*/

.flex_container {
/*PR2019-02-05 from https://css-tricks.com/snippets/css/a-guide-to-flexbox/*/

/* Properties for the Parent (flex container):

/* container display: flex  or inline-flex;  It enables a flex context for all its direct children. */
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;

/* flex-direction: establishes the main-axis: row = hotizontal, left to right */
    -webkit-box-orient: horizontal;
    -webkit-box-direction: reverse;
        -ms-flex-direction: row-reverse;
            flex-direction: row;  /* option: row | row-reverse | column | column-reverse; */

/* flex-wrap: By default, flex items will all try to fit onto one line.
    nowrap (default): all flex items will be on one line
    wrap: flex items will wrap onto multiple lines, from top to bottom.
    wrap-reverse: flex items will wrap onto multiple lines from bottom to top. */
    -ms-flex-wrap: wrap;
        flex-wrap: wrap;  /* flex-wrap: nowrap | wrap | wrap-reverse;  */

/* flex-flow (Applies to: parent flex container element):
    This is a shorthand for the flex-direction and flex-wrap properties,
    which together define the flex container's main and cross axes.
    The default value is row nowrap. */

/* justify-content
    This defines the alignment along the main axis.
    It helps distribute extra free space left over when either all the flex items on a line are inflexible,
    or are flexible but have reached their maximum size.
    It also exerts some control over the alignment of items when they overflow the line.
        flex-start (default): items are packed toward the start line
        flex-end: items are packed toward the end line
        center: items are centered along the line
        space-between: items are evenly distributed in the line; first item is on the start line, last item on the end line
        space-around: items are evenly distributed in the line with equal space around them.
        space-evenly: items are distributed so that the spacing between any two items (and the space to the edges) is equal. */

    -ms-flex-pack: distribute;
        justify-content: space-around; /*center space-between; space-around PR2019-01-05 */
    /*  flex-flow: is a shorthand flex-direction and flex-wrap <‘flex-direction’> || <‘flex-wrap’>  */

/* align-items
    This defines the default behavior for how flex items are laid out along the cross axis on the current line.
    Think of it as the justify-content version for the cross-axis (perpendicular to the main-axis).
        stretch (default): stretch to fill the container (still respect min-width/max-width)
        flex-start: cross-start margin edge of the items is placed on the cross-start line
        flex-end: cross-end margin edge of the items is placed on the cross-end line
        center: items are centered in the cross-axis
        baseline: items are aligned such as their baselines align */

     -webkit-box-align: stretch;
         -ms-flex-align: stretch;
             align-items: stretch;   /*   align-items: stretch | flex-start | flex-end | center |  */

/* align-content
    This aligns a flex container's lines within when there is extra space in the cross-axis,
    similar to how justify-content aligns individual items within the main-axis.
    Note: this property has no effect when there is only one line of flex items
        flex-start: lines packed to the start of the container
        flex-end: lines packed to the end of the container
        center: lines packed to the center of the container
        space-between: lines evenly distributed; the first line is at the start of the container while the last one is at the end
        space-around: lines evenly distributed with equal space around each line
        stretch (default): lines stretch to take up the remaining space */

    -ms-flex-line-pack: start;
        align-content: flex-start;  /* flex-start | flex-end | center | space-between | space-around | stretch; */

    /*margin: 0px; /*these dont work: margin: none; margin: 0;*/

   /* padding: 10px;*/
   /* margin-left: 220px; /* Same as the width of the sidebar */

}


/* Properties for the Children (flex items): */

/* order
    By default, flex items are laid out in the source order.
    However, the order property controls the order in which they appear in the flex container.

/* flex-grow
    This defines the ability for a flex item to grow if necessary.
    It accepts a unitless value that serves as a proportion.
    It dictates what amount of the available space inside the flex container the item should take up.

    If all items have flex-grow set to 1, the remaining space in the container will be distributed equally to all children.
    If one of the children has a value of 2, the remaining space would take up twice as much space as the others (or it will try to, at least). */

/* flex-shrink
    This defines the ability for a flex item to shrink if necessary. Negative numbers are invalid. */

/*  flex-basis
    This defines the default size of an element before the remaining space is distributed.
    It can be a length (e.g. 20%, 5rem, etc.) or a keyword.
    The auto keyword means "look at my width or height property"
    (which was temporarily done by the main-size keyword until deprecated).
    The content keyword means "size it based on the item's content" - this keyword isn't well supported yet,
    so it's hard to test and harder to know what its brethren max-content, min-content, and fit-content do.

    If set to 0, the extra space around content isn't factored in.
    If set to auto, the extra space is distributed based on its flex-grow value. See this graphic. */

/*  flex
    This is the shorthand for flex-grow, flex-shrink and flex-basis combined.
    The second and third parameters (flex-shrink and flex-basis) are optional. Default is 0 1 auto.
    It is recommended that you use this shorthand property rather than set the individual properties.
    The short hand sets the other values intelligently. */

/* align-self:
    This allows the default alignment (or the one specified by align-items) to be overridden for individual flex items.
    Please see the align-items explanation to understand the available values. */

.flex_content {
/*
    PR2021-04-01 test on modselectinvoiceorder:
     - modal_container not good:  keeps 3 items on one line, will go outside modal form
     - flex_container  not good: has a lot of space between items, will dislay in 2 lines
     - flex_content  is the right choice
*/

/*
    -webkit-box-flex: 1;
        -ms-flex: auto;
            flex: auto; /*  <length> | auto; /* default auto */

    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;

    -webkit-box-orient: horizontal;
    -webkit-box-direction: normal;
    -ms-flex-direction: row;
        flex-direction: row;

    -ms-flex-wrap: wrap;
        flex-wrap: wrap;  /* flex-wrap: nowrap | wrap | wrap-reverse;  */

    -ms-flex-pack: distribute;
        justify-content: space-around; /*center space-between; space-around PR2019-01-05 */
    /*  flex-flow: is a shorthand flex-direction and flex-wrap <‘flex-direction’> || <‘flex-wrap’>  */

    /*  align-items defines how flex items are laid out along the cross axis on the current line. */
    -webkit-box-align: stretch;
        -ms-flex-align: stretch;
            align-items: stretch;   /*   align-items: stretch | flex-start | flex-end | center |  */

    /*  align-content aligns a flex container's lines within when there is extra space in the cross-axis,   */
    -ms-flex-line-pack: start;
        align-content: flex-start;  /* flex-start | flex-end | center | space-between | space-around | stretch; */

  text-align: left;


/* The flex CSS property is a shorthand property specifying the ability
    of a flex item to alter its dimensions to fill available space. It contains:
        flex-grow: 0;     /* do not grow   - initial value: 0
        flex-shrink: 0;   /* do not shrink - initial value: 1
        flex-basis: 25em; /* width/height  - initial value: auto */

}


.flex_searchbar {
    padding-right: 10px;
    padding-top: 10px;
    padding-bottom: 10px;
    padding-left: 0;
}

.content_wrapper {
    -webkit-box-flex: 0;
        -ms-flex: 0 0 220px;
            flex: 0 1 220px; /* [ <'flex-grow'> <'flex-shrink'>? || <'flex-basis'> ] */
    -webkit-box-flex: 1;-ms-flex: 1 1 220px;flex: 1 1 220px;

    margin: 32px 10px 10px 10px;
    /* padding: <top><right><bottom><left> */

   /* background: #fdf7e1; /* more lighter shade of tsa yellow */
   /* border: 1px solid #808080;    /* #808080 medium grey; #141619  dark grey; */
   border: 0;
}

.content_header {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;

    -webkit-box-orient: horizontal;
    -webkit-box-direction: normal;
    -ms-flex-flow: row wrap; /* flex-direction: row | row-reverse | column | column-reverse; */
        flex-flow: row wrap; /* flex-wrap: nowrap | wrap | wrap-reverse;  */
    /*  flex-flow: is a shorthand flex-direction and flex-wrap <‘flex-direction’> || <‘flex-wrap’>  */

    -webkit-box-pack: between;
    -ms-flex-pack: between;
        justify-content: between; /*center space-between; space-around PR2019-01-05 */

    /*  align-items defines how flex items are laid out along the cross axis on the current line. */
     -webkit-box-align: stretch;
         -ms-flex-align: stretch;
             align-items: stretch;   /*   align-items: stretch | flex-start | flex-end | center |  */

    /*  align-content aligns a flex container's lines within when there is extra space in the cross-axis,   */
    -ms-flex-line-pack: start;
        align-content: flex-start;  /* flex-start | flex-end | center | space-between | space-around | stretch; */

    position:relative;

    line-height: 1.15rem;

    /* padding: 1rem 0.5rem 0.25rem 0.5rem;*/
    /*padding: 0.5rem 0.5rem 0.25rem 0.5rem;*/
    padding: 0px;
    margin: 0px;
}

.content_header_left {
    flex: 1;
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    text-align: left;
    align-content: flex-end;  /* flex-start | flex-end | center | space-between | space-around | stretch; */

    position:absolute; /* this outlines text to the bottom, you must set parent position:relative; */
    bottom:0;
}

.content_header_right {
    flex: 1;
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;

    text-align: right;
}

.content_header_middle {
    flex: 1;
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    margin: auto;
    text-align: center;
}


.content_header_label {
    /* PR2024-08-22 to outline label at the bottom of the line in modemployee by align-items: flex-end */
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;

    -webkit-box-orient: horizontal;
    -webkit-box-direction: normal;
    -ms-flex-flow: row wrap; /* flex-direction: row | row-reverse | column | column-reverse; */
        flex-flow: row wrap; /* flex-wrap: nowrap | wrap | wrap-reverse;  */
    /*  flex-flow: is a shorthand flex-direction and flex-wrap <‘flex-direction’> || <‘flex-wrap’>  */

    -webkit-box-pack: between;
    -ms-flex-pack: between;
        justify-content: between; /*center space-between; space-around PR2019-01-05 */

    /*  align-items defines how flex items are laid out along the cross axis on the current line. */
     -webkit-box-align: flex-end;
         -ms-flex-align: flex-end;
             align-items: flex-end;   /*   align-items: stretch | flex-start | flex-end | center |  */

    /*  align-content aligns a flex container's lines within when there is extra space in the cross-axis,   */
    -ms-flex-line-pack: start;
        align-content: flex-start;  /* flex-start | flex-end | center | space-between | space-around | stretch; */

    position:relative;

    line-height: 1.15rem;

    /* padding: 1rem 0.5rem 0.25rem 0.5rem;*/
    /*padding: 0.5rem 0.5rem 0.25rem 0.5rem;*/
    padding: 0px;
    margin: 0px;
}


.content_subheader_left {
    flex: 1;
    text-align: left;
    align-items: end;
}

.content_subheader_left_flex2 {
    flex: 2;
    text-align: left;
    align-items: end;
}

.content_subheader_right {
    flex: 1;
    text-align: right;
}
.content_subheader_right_flex2 {
    flex: 2;
    text-align: right;
}

.btn-add {
    padding: 0rem 0.5rem 0rem 0.5rem;
    margin: 0px;

    color: #303024; /* PR logo zwart */
    background-color:  #e0e0e0;
    border-color: #c4c4c4;

}
.btn-weekday {
    padding: 0rem 0.05rem 0rem 0.05rem;
    margin: 0px;
    width: 42px;
    color: #303024; /* PR logo zwart */
    background-color: white;
    border-color: #c4c4c4;
    overflow-wrap: break-word;
}
.btn-smallfont {
    font-size: 12px;
    padding: 1px;
    /*color: #303024; /* PR logo zwart */
     /*background:   #d8d8d8;  /* light grey 218 218 218 100%  */
        /*background: #f8f8f8; /*licht licht licht grijs 248 248 248 */
    /*background: #e8e8e880; /*licht licht grijs 232 232 232 50% */
    background-color: transparent; /* #f5f5f5 = 245 245 245  licht licht licht grijs; */
    /*background-color: white;*/
    border-color: #c4c4c4;
    border-radius: 0.2rem;
    overflow-wrap: break-word;
}
.btn-download {
    font-size: 14px;
    margin: 0px;
    padding: 0px;
    //background-color: transparent; /* #f5f5f5 = 245 245 245  licht licht licht grijs; */
    //border-color: #c4c4c4;
    //border-radius: 0.2rem;
    //overflow-wrap: break-word;
}


.databar {
    -webkit-box-flex: 1;
    -ms-flex: 1;
        flex: 1; /* [ <'flex-grow'> <'flex-shrink'>? || <'flex-basis'> ] */

    padding: 10px;
    margin: 0px;


/*
    -ms-flex-item-align:stretch;
        -ms-grid-row-align:stretch;
        align-self:stretch;
*/
}

.flex_picker {
    /*flex: 0 0 240px; /* [ <'flex-grow'> <'flex-shrink'>? || <'flex-basis'> ] */
    /*-webkit-box-flex: 1;
        -ms-flex: auto;
            flex: auto;*/

    /*-webkit-box-flex: 0;
        -ms-flex: 0 0 240px;
            flex: 0 0 240px; /* [ <'flex-grow'> <'flex-shrink'>? || <'flex-basis'> ] */
/*
      -webkit-box-flex: initial;
      -ms-flex: initial;
      flex: initial;
      width: 240px;
      */
      -webkit-box-flex: 1;
      -ms-flex: 1;
      flex: 1;


/* The flex CSS property is a shorthand property specifying the ability
    of a flex item to alter its dimensions to fill available space. It contains:
        flex-grow: 0;     /* do not grow   - initial value: 0
        flex-shrink: 0;   /* do not shrink - initial value: 1
        flex-basis: 25em; /* width/height  - initial value: auto */
    margin: 0;
   /*  border: 2px solid red;    /*  #2D4E77; HeaderBackColor Default Schema Blauw donkerblauw */

    padding: 10px;

}

table {
    display: table;
    padding: 4px 8px;
    /*margin: 4px 8px;*/

    width: 100%;

    font-size: 14px;
    font-family: "Lucida Sans", sans-serif;

    /*background-color: #800000; /*dark red*/
    /*background-color: #a21313; /*reddish*/
    /*background-color:  #2D4E77; /* HeaderBackColor Default Schema Blauw donkerblauw */
    /*background-color: #d7e4f3;/* is even lighter blueish */


    /*background: #e0e0e0; /* default light grey */

    /*color: #376191;  /* Default Schema Blauw donkerblauw */
    /*color: #141619;  /*dark grey; */
    color: #000000;  /* black; */
    /* to prevent text selection */
    -webkit-touch-callout: none;
    -webkit-user-select: none;
    -moz-user-select: none;
    -ms-user-select: none;
    user-select: none;
}

.color_darkblue {
    background:  #2D4E77; /* HeaderBackColor Default Schema Blauw donkerblauw */
    color: #edf2f8;
}

.color_darkgrey {
    background:  #808080;
    color: #e4e4e4;
}
.data_table {
    display: table;
    padding: 4px 8px;
    /*margin: 4px 8px;*/
    border: 1px solid ;    /*  #2D4E77; HeaderBackColor Default Schema Blauw donkerblauw */

    width: 100%;


    /*background-color: #4A7DBB; /* 'TextboxBackColor Default Schema Blauw medium blauw */
    /*background-color: #d7e4f3; /*#d7e4f3 is even lighter blueish   */
    /*background-color: #B8CCE4; /* 'TextboxBackColor Default Schema Blauw lichtblauw */
    /*background: #F5FAFF; */ /*licht licht blauw; */

   /* background: #d7e4f3;/* is even lighter blueish */
    background:  #bacee6;

    /*color: #376191;  /* Default Schema Blauw donkerblauw */
color: #000;
    /* to prevent text selection */
    -webkit-touch-callout: none;
    -webkit-user-select: none;
    -moz-user-select: none;
    -ms-user-select: none;
    user-select: none;
}

.tr {
    /* to prevent text selection */
    -webkit-touch-callout: none;
    -webkit-user-select: none;
    -moz-user-select: none;
    -ms-user-select: none;
    user-select: none;

    -webkit-transition: background-color 0.25s ease-in-out;
    -o-transition: background-color 0.25s ease-in-out;
    transition: background-color 0.25s ease-in-out;
}


.icon_show {
    display: ""

}
.inactive_hide {
    display: "none"

}

.flexcontainer_horizontal {
    /* PR2020-04-20 */
    display: flex;

    flex-direction: row; /* flex-direction: row | row-reverse | column | column-reverse; */
    flex-wrap: wrap; /* flex-wrap: nowrap | wrap | wrap-reverse;  */
    /*  flex-flow: is a shorthand flex-direction and flex-wrap <‘flex-direction’> || <‘flex-wrap’>  */
    justify-content: between; /*center space-between; space-around PR2019-01-05 */
    /*  align-items defines how flex items are laid out along the cross axis on the current line. */
        align-items: stretch;   /*   align-items: stretch | flex-start | flex-end | center |  */
    /*  align-content aligns a flex container's lines within when there is extra space in the cross-axis,   */
    align-content: flex-start;  /* flex-start | flex-end | center | space-between | space-around | stretch; */

    position:relative;

    line-height: 1.15rem;
    padding: 0px;
    margin: 0px;
}
.flexcontainer_vertical {
    display: flex;

    flex-direction: column; /* flex-direction: row | row-reverse | column | column-reverse; */
    flex-wrap: wrap; /* flex-wrap: nowrap | wrap | wrap-reverse;  */
    /*  flex-flow: is a shorthand flex-direction and flex-wrap <‘flex-direction’> || <‘flex-wrap’>  */
    justify-content: between; /*center space-between; space-around PR2019-01-05 */
    /*  align-items defines how flex items are laid out along the cross axis on the current line. */
        align-items: stretch;   /*   align-items: stretch | flex-start | flex-end | center |  */
    /*  align-content aligns a flex container's lines within when there is extra space in the cross-axis,   */
    align-content: flex-start;  /* flex-start | flex-end | center | space-between | space-around | stretch; */

    /*position:relative;*/

    line-height: 1.15rem;
    padding: 0px;
    margin: 0px;
}

.flexitem_1 {
    flex: 1;
    width: 100%;
}

/* xxxxxxxxxxxxxxxxxxx   Modal xxxxxxxxxxxxxxxxxxxxxxxxxxx*/

.modal-body {
    padding-top: 0px;
    padding-bottom: 4px;
}

.modal_container {
        /*PR2019-02-05 from https://css-tricks.com/snippets/css/a-guide-to-flexbox/*/
        /* PR2019-06-23 from https://yoksel.github.io/flex-cheatsheet/ */
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
}

.modal_body_left {
    flex: 1;
    text-align: left;
    align-items: end;
}

.modal_body_right {
    flex: 2;
    text-align: left;
    /*background: #f8f8f8;*/
}
.modal_flexcontainer {
        /*PR2019-02-05 from https://css-tricks.com/snippets/css/a-guide-to-flexbox/*/
        /* PR2019-06-23 from https://yoksel.github.io/flex-cheatsheet/ */
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
}
.modal_flex1 {
    flex: 1;
}
.modal_flex2 {
    flex: 2;
}
.modal_flex3 {
    flex: 3;
}
.modal_flex4 {
    flex: 4;
}

/* Bootstrap Modal Issue - Scrolling Gets Disabled */
/* from https://stackoverflow.com/questions/28077066/bootstrap-modal-issue-scrolling-gets-disabled */

.modal {
  overflow-y:auto;
}

.tsa_note {
  resize: none;
}

.tsa_textarea_resize {
  resize: vertical;

}.tsa_textarea_div {
   margin: 4px 16px 0px 16px;  /* top, right, bottom, left:*/
}

/* freeze table header */
#id_container_datatable {
    float: left;
    overflow: auto;
    height: 75%;
    border-spacing: 0 !important;
    border-collapse: separate !important;
}
/* from https://stackoverflow.com/questions/45692744/td-border-disappears-when-applying-transform-translate */

