input,
textarea,
select {
    width: 100%;
    margin: 0 0 10px;
    padding: 12px;
    outline: none;
    border: 2px solid #ddd;
    background-color: #fff;
    border-radius: 0;
    overflow: auto; 
    font-family: inherit;
    font-size: inherit;
}
textarea {
    resize: vertical;
}
form .msg400 {
    font-weight: bold;
    font-size: 80%;
    color: orangered;
    padding: 9px;
    line-height: 1;
    border-radius: 3px;
    margin: 12px 0;
    border: 1px solid orangered;
}
.feld.chkbx {
    /* line-height: 1; */
}
.feld.chkbx.f :is(input, label) {
    cursor: pointer;
    font-family: inherit;
    font-size: 80%; 
    line-height: inherit;
}

.feld.chkbx.f .l {
    flex: 0 0 20px;
    max-width: 20px;
}

.feld.chkbx.f .r {
    flex: 1 0 0;
}

.feld img {
    max-height: 300px
}

label {
    line-height: 1;
    /* font-size: 80%; */
    font-family: var(--lblfont, inherit);
    margin: 0 0 3px;
    display: inline-block;
}

input[type="button"] {
    border: 0;
    color: #fff;
    background-color: #373737;
}

.feld.radbx :is(input, label) {
    margin: 0 0;
    cursor: pointer;
    
}
.optionbx {
    --div: 20px;
    display: flex;
    flex-wrap: wrap
}
.optionbx :is(input, label){
    cursor: pointer;
    margin: 9px 0 !important;
}
.optionbx > div:nth-child(1) {
    flex: 0 0 var(--div);
    max-width: 0 0 var(--div);
}

.optionbx > div:nth-child(2) {
    flex: 0 0 calc(100% - var(--div));
    max-width: 0 0 calc(100% - var(--div))
}
.optionbx label  {
    font-size: inherit;
    color: inherit;
    font-family: inherit;
    margin: 9px 0;
    line-height: 1.2
} 

/* ============================= */
/* ============================= */
/* ============================= */
/* BASIC */
/* ============================= */
.formbx {
    --lblft: var(--lblfont, inherit);
    line-height: 1.5;
    display: block;
    margin: 0 auto;
    width: 100%
}
.formbx .note{
    margin: 0 0 15px;
}
.formbx .feld .feldw {
    --m: 0 0 9px; 
    margin: var(--m)
}
.formbx .feldw :is(input,label) {
    width: 100%;
    display: block;  
}
.formbx .feldw :is(input, textarea, select, .textarea) {
    --p: 12px ;
    padding: var(--p); 
    border: 1px solid #ccc;
    font-size: inherit;
    max-width: 100%;
    width: 100%;
    font-family: inherit;
}
.formbx .feld-w :is(textarea) {
    resize: vertical;
}
.formbx .feldw label{
    --m: 0 0 6px; 
    font-family: var(--lblfont);
    margin: var(--m); 
    text-align: left; 
}
.formbx .feldw .radio :is(input,label){
    width: auto;
    margin: 0;
    cursor: pointer;
    padding: 0;
}
.formbx .feldw .radio :is(label){
    margin: 0 0
}
.formbx .feldw .radio > .l{
    flex: 0 0 21px;
    max-width: 21px
}
.formbx .feldw .radio > .r{
    flex: 0 0 calc(100% - 21px);
    max-width: calc(100% - 21px);
    color: inherit
}
.formbx .return > * {
    font-family: var(--ft-t2);
    margin: 15px 0;
    color: orangered
}
/* ========================== */
/* FORM FILE PREVIEW STYLING */
/* ========================== */
.formbx .imgPrev {
    position: relative;
    padding: 9px;
    background-color: #fff;
    border-radius: 6px;
    border: 1px solid #ccc; 
}
.formbx .gal- .imgPrev {
    aspect-ratio: 1 / 1;
}
.formbx .imgPrev img {
    max-height: 100px;
    filter: drop-shadow(0px 0px 3px rgba(0 0 0 / 20%));
}
.formbx .imgPrev + input {
    display: none;
}
.formbx .jsonFieldClose,
.formbx .setbx .postCls,
.formbx .imgPrev .imgCls {
    position: absolute;
    right: 3px;
    top: 3px;
    display: inline-flex;
    justify-content: center;
    align-items: center;
    z-index: 10;
    color: #fff;
    background-color: red;
    width: 20px;
    height: 20px;
    cursor: pointer;
    border-radius: 3px
}

.jsonFieldSetw {
    margin: 0 -6px;
    overflow: auto;
    flex-wrap: nowrap!important;
    padding: 0 15px 0 0;
} 
.jsonField- {
    padding: 6px;
    flex: 0 0 200px;
}
.jsonField- > * {
    padding: 6px;
    border: 1px solid #ddd;
    border-radius: 3px;
    position: relative;
}
.jsonField- > * > * {
    position: relative;
}



/* ========================== */
/* FORM BOX STYLING */
/* ========================== */
.formbx.bx-base {
    --p: 30px;
    --w: 500px;
    border: 1px solid #ccc;
    padding: var(--p);
    background-color: #eee;
    max-width: var(--w)
}
@media (max-width: 575px) {
    .formbx.bx-base {
        --p: 15px
    }
}
.formbx.bx-rad {
    --rad: 3px;
    border-radius: var(--rad)
}
.formbx.bx-feld-rad :is(input, textarea, select, .textarea) {
    --rad: 6px;
    border-radius: var(--rad);
    max-width: 100%;
    width: 100%;
    background-color: #fff;
    font-family: inherit;
} 
.formbx.bx-feld-rad :is(textarea) { 
        resize: vertical; 
} 
.formbx .inp-anc input { 
    pointer-events: none;
} 
.formbx .inp-anc .inpw {
    position: relative;
    z-index: 1;
}
.formbx .inp-anc .inpw:after {
    content: '';
    position: absolute;
    left: 0;
    top: 0;
    height: 100%;
    width: 100%;
    z-index: 2;
    cursor: pointer; 
} 
/* ============================= */
/* ============================= */
.form-line :is(input, textarea, select, .textarea) {
    padding: 9px 0;
    background-color: transparent;
    border: 0;
    border-bottom: 1px solid #fff;
    margin: 0 0 30px;
    color: inherit
}

.form-line ::placeholder {
    color: #ccc
}

.form-float :is(input,textarea,select)+label,
.form-line :is(input,textarea,select)+label {
    position: absolute;
    top: 9px;
    left: 0;
    transition: 0.6s all ease;
    pointer-events: none;
}
.form-float :is(input,textarea,select):focus+label,
.form-float :is(input,textarea,select):not(:placeholder-shown) +label,
.form-line :is(input,textarea,select):focus+label,
.form-line :is(input,textarea,select):not(:placeholder-shown) +label {
    transform: translate(0, calc(-100% - 9px));
    font-size: 70%
}

/* ============================= */
/* ============================= */
[droplist] {
    --index: -1;
    z-index: calc(-1 * var(--index));
    position: relative
}
[droplist] input {
pointer-events: none;
margin: 0;
}
[droplist] .feldw .vcover {
    content: '';
    display: block;
    position: absolute;
    height: 100%;
    width: 100%;
    z-index: 2;
    cursor: pointer;
}
[droplist]:not(.active) .valbx {
    display: none
}
[droplist] i {
    position: absolute;
    right: 6px;
    top: 50%;
    translate: 0 -50%
}
.valbx {
    width: 100%; 
    max-width: 100%;
    max-height: 200px;
    overflow: hidden;
    overflow-y: auto;
    position: absolute;
    bottom: 0;
    left: 0%;
    translate: 0% 100%;
    background-color: transparent;
    padding: 1px;
    border-radius: 6px;
}

.valbx.droplist [itemid] {
display: none
}
.valbx [itemid] {
    padding: 9px 6px;
    background-color: #333;
    color: #fff;
    cursor: pointer;
}

.valbx [itemid]:hover {   
    background-color: var(--clr01);
    cursor: pointer;
}
.valbx [itemid] ~ [itemid] {  
    border-top: 1px solid #ccc;
}
.valbx [itemid] .l { 
    flex: 0 0 30px;
    max-width: 30px;
}
.valbx [itemid] .r { 
    flex: 0 0 calc(100% - 30px);
    max-width: calc(100% - 30px);
    padding: 0 0 0 9px;
}

/* ============================= */
/* ============================= */
[tog-onoff] {
    border: 0;
    cursor: pointer;
    border-radius: 6px;
    color: #fff
}

[tog-onoff][value="ON"] {
    background-color: #005c15
}

[tog-onoff][value="OFF"] {
    background-color: #640000
}

/* ============================= */
/* ============================= */

/* Chrome, Safari, Edge, Opera */
input::-webkit-outer-spin-button,
input::-webkit-inner-spin-button {
    -webkit-appearance: none;
    margin: 0;
}

/* Firefox */
input[type=number] {
    -moz-appearance: textfeld;
}

::-webkit-calendar-picker-indicator {
    /* filter: invert(1); */
    /* background-image: url('data:image/svg+xml;utf8,<svg xmlns="http://www.w3.org/2000/svg" width="16" height="15" viewBox="0 0 24 24"><path fill="%23bbbbbb" d="M20 3h-1V1h-2v2H7V1H5v2H4c-1.1 0-2 .9-2 2v16c0 1.1.9 2 2 2h16c1.1 0 2-.9 2-2V5c0-1.1-.9-2-2-2zm0 18H4V8h16v13z"/></svg>'); */
}

/* ============================= */
/* ============================= */
.uis-w .slider-range-wrap {
    padding: 3px 12px 12px;
    z-index: 3;
}

.uis-w .ui-widget-header {
    height: 3px !important;
    background: var(--clr01);
    transform: translate(0, -50%);
}

.uis-w .ui-state-default,
.uis-w .ui-widget-content .ui-state-default,
.uis-w .ui-widget-header .ui-state-default {
    border: 2px solid var(--clr01);
    border-radius: 50%;
    background: #fff;
}

.uis-w .ui-widget-content {
    height: 1px !important;
    border: 0;
    background: #e0e0da;
    transform: translate(0, -50%);
    z-index: 10
}

.uis-w .ui-slider-horizontal .ui-slider-range1 {
    top: -2px;
}

.uis-w .ui-slider-horizontal .ui-slider-handle {
    top: 0;
    transform: translate(0, -50%);
    cursor: pointer;
}

.uis-w .ui-slider-handle {
    outline: none;
}

.uis-w .ui-slider-handle .amount {
    position: absolute;
    left: 0;
    bottom: 35px;
    display: none;
    width: 130px;
    padding: 10px 0;
    text-align: center;
    margin-left: -55px;
    font-weight: normal;
    font-size: 14px;
    color: #fff;
    border: 1px solid var(--clr01);
    background: var(--clr01);
}

.uis-w .ui-slider-handle .amount:after {
    content: '';
    display: block;
    position: absolute;
    bottom: -11px;
    left: 50%;
    right: 0;
    width: 0;
    height: 0;
    margin-left: -5px;
    border-top: 5px solid var(--clr01);
    border-bottom: 5px solid transparent;
    border-left: 5px solid transparent;
    border-right: 5px solid transparent;
    background-color: transparent;
}

.uis-w .range-correspond {
    margin: 0 0 15px
}

.uis-w .range-correspond>div:nth-child(2):after {
    content: '';
    display: block;
    position: absolute;
    top: 50%;
    left: 50%;
    width: 80%;
    height: 2px;
    background-color: var(--clr01x, #ccc);
    transform: translate(-50%, -50%)
}

.uis-w .range-correspond>div:nth-child(2) {
    flex: 0 0 45px;
    max-width: 45px;
}

.uis-w .range-correspond>div {
    flex: 1 0 0;
}

.uis-w .min-range,
.uis-w .max-range {
    margin-top: 12px;
    font-size: 12px;
    color: #888;
}

.uis-w .min-range {
    transform: translate(-50%, 0)
}

.uis-w .max-range {
    transform: translate(50%, 0)
}

.uis-w .slider-range1-wrap {
    position: relative;
    width: 500px;
    height: 200px;
    margin: 0 auto;
    padding: 40px 20px 60px 0;
} 

/* ====================================== */
/* ====================================== */

.feld {
    /* margin: 0 0 10px; */
}

.feld-spec-wrap {
    padding: 15px;
    background-color: #ccc;
    margin: 0 0 9px
}

.feld :is(input, select, textarea) {
    margin: 0;
    border-radius: 6px;
}

.feld :is(input, select, textarea)~ :is(input, select, textarea) {
    margin: 3px 0 0
}

.inp-such-w i {
    position: absolute;
    right: 0;
    height: 100%;
    display: inline-flex;
    justify-content: center;
    align-items: center;
    background-color: var(--clr01);
    color: #fff;
    width: 50px;
    cursor: pointer
}

.input-w:not(.anders) input {
    padding-right: 50px
}

/* ============================== */

:where(a, button)[class^="btn"] { 
    border-radius: 0;
    text-align: center;
    font-family: var(--btnft, inherit);
    transition: .4s all ease;
    cursor: pointer;
}

.btn,
a.btn {
    display: var(--btn-display, inline-flex);
    
    --bgclr: var(--btnbgclr);
    --bghvclr: var(--btnhovbgclr);
    --clr: var(--btnclr);
    --clrhov: var(--btnhovclr);
    --ft: var(--btnft);
    --p: var(--btnp); 
    --min-width: var(--btnminwidth, auto);

    text-transform: var(--btntxttrans, initial);
    font-size: var(--btnfontsz, inherit);
    min-width: var(--min-width);
    font-family: var(--btnft);
    border: 2px solid var(--btnborderclr, #000);
    background-color: var(--bgclr, #000);
    line-height: 1;
    
    color: var(--clr, #fff);
    padding: var(--p, 9px);
    text-decoration: none !important;
    text-align: center; 
    border-radius: var(--btnborderrad, 0px);
    justify-content: center;
    align-items: center;
}

.btn.active,
.btn:hover {
    /*    box-shadow: 0 0 0 0px #fff inset;*/
    color: var(--clrhov, #fff); 
    background-color: var(--bghvclr, #000); 
    border: 2px solid var(--btnhovborderclr, #000);
}
.btn-w[href],
.btn-w {
    display: inline-table;
    padding: 12px 30px;
    background-color: var(--clr01x, transparent);
    margin: 0; 
    line-height: 1;  
    border: 2px solid var(--clr01, #fff);
    color: var(--clr01, #fff);
    /* font-size: 80%; */ 
    text-decoration: none !important; 
    min-width: 160px
}

.btn-w.active,
.btn-w:hover {
    /*    box-shadow: 0 0 0 0px #fff inset;*/
    color: var(--clr01x, #fff); 
    background-color: var(--clr01, #000); 
    border: 2px solid var(--clr01, #000);
}
.btn-2 {
    display: inline-table;  
    background-color: var(--clr03x, #fff);
    border: 2px solid var(--clr03x, #fff);
    /* font-size: 80%; */
    color: var(--clr02,#fff);
    text-decoration: none !important;
}

.btn-2.active,
.btn-2:hover {
    /*    box-shadow: 0 0 0 0px #fff inset;*/
    color: #fff;
    background-color: var(--clr01); 
    border: 2px solid var(--clr01);
}
.btn-iconic > * {
    display: inline-block;
    vertical-align: middle;
}
.btn-iconic .icon {
    width: 21px
}
.btn-iconic.btn .bimg {
    background-color: #000;
    transition: .4s all ease
}
.btn-iconic.btn.active .bimg,
.btn-iconic.btn:hover  .bimg{
    display: inline-block;
    vertical-align: middle;
    background-color: #fff;
}
.btn3 {
    display: inline-table;
    padding: 12px 35px;
    border: 2px solid var(--clr01, #000);
    color: var(--clr02x, #fff);
    background-color: var(--clr01);
    margin: 0;
    cursor: pointer;
    line-height: 1;
    border-radius: 0;
    font-family: var(--font-b2);
    font-size: inherit;
    font-size: 80%;
}

.btn3:hover {
    /*    box-shadow: 0 0 0 0px #fff inset;*/
    color: #fff;
    background-color: var(--clr02);
    border: 2px solid var(--clr02);
}

.btn.zentral {
    display: table;
    margin: 0 auto;
}
 

.btn-4 {
    background: linear-gradient(to right, var(--clr03x, #fff) 4px, transparent 4px) 0 0, linear-gradient(to left, var(--clr01) 4px, transparent 4px) 100% 100%, linear-gradient(to bottom, var(--clr03x,#fff) 4px, transparent 4px) 0 0, linear-gradient(to top, var(--clr01) 4px, transparent 4px) 100% 100%;
    background-repeat: no-repeat;
    background-size: 15px 15px;
    display: inline-flex;
    color: inherit;
    padding: 12px 25px;
    background-color: transparent;
    border-radius: 0;
    align-items: center;
    text-decoration: none;
    line-height: 1.2;
    font-family: var(--font-t2);
    border: 0;
    cursor: pointer;
}

.btn-4:hover {
    background: linear-gradient(to right, var(--clr01) 4px, transparent 4px) 0 0, linear-gradient(to left, var(--clr01) 4px, transparent 4px) 100% 100%, linear-gradient(to bottom, var(--clr01) 4px, transparent 4px) 0 0, linear-gradient(to top, var(--clr01) 4px, transparent 4px) 100% 100%;
    background-size: 165px 50px;
    background-repeat: no-repeat;
    color: #fff;
    background-color: var(--clr01, rgba(13, 94, 156, 0.65));
    text-decoration: none
}
.btn-4 i {
    margin: 0 0 0 6px
}
/* ================================ */
/* ================================ */
.btnbx {
    display: block; 
    --f-j: center;
    --f-a: center; 
    --bgclr: #ccc;
    --p: 12px 15px;
    --clr: inherit;
}

.btnbx a:not(.btn){
    text-decoration: none;
    font-family: var(--ft-t2);
}
.btnbx a:not(.btn):hover{
    text-decoration: underline
} 

.btnbx .btn {
    padding: var(--p);
    display: inline-flex;
    justify-content: var(--f-j);
    align-items: var(--f-a);
    border-style: solid;
    border-width: 2px;
    line-height: 1;
    cursor: pointer;
    transition: all .6s ease; 
    position: relative;
    min-width: auto;
}
.btnbx .btn i:first-child {
    margin: 0 9px 0 0;
}
.btnbx.btn-r {
    --r: 3px;
}
.btnbx.btn-r .btn { 
    border-radius: var(--r);
    --m: 0 3px 6px 0;
    margin: var(--m);
} 
/* ================================ */
/* ================================ */
.btnbx.btn-txt-l .btn {
    --f-j: flex-start;
}
.btnbx.btn-txt-c .btn {
    --f-j: center;
}
.btnbx.btn-txt-r .btn {
    --f-j: flex-end;
}
.btnbx.btn-txt-sb .btn {
    --f-j: space-between;
}

.btnbx.btn-shd .btn{
    --s: 0 11px 21px -9px;
    --r: 0 0 0 / 70%;
    box-shadow: var(--s) rgb(var(--r));
}
.btnbx.btn-shd-act :is(.btn.active, .btn:hover){
    --s: 0 11px 21px -9px;
    --r: 0 0 0 / 70%;
    box-shadow: var(--s) rgb(var(--r));
}
.btnbx.btn-full .btn { 
    --m: 6px 0 0;

    width: 100%;
    margin: 0
}

.btnbx.btn-full .btn ~ .btn { 
    margin: var(--m);
}
.btnbx .btn :is(span ~ *, i ~ *, .icn ~ *) { 
    margin: 0 0 0 6px
}
.btnbx .btn .icn { 
    --f: 30px;
    flex: 0 0 var(--f);
    max-width: var(--f)
}
.btnbx .btn:is(:hover,.active) { 
    --bgclr: #999; 
}

.btn.btn-trans {
    --bgclr: transparent;
    --clr: inherit
}
.btn.btn-trans:is(:hover,.active) {
    --bgclr: var(--clr02);
    --clr: #fff
}
.btn.btn-primary {
    --bgclr: #007bff;
    --borderclr: #007bff;
    --clr: #fff
}
.btn.btn-primary:is(:hover,.active) {
    --bgclr: #0665ca; 
    --borderclr: #0665ca; 
}
.btn.btn-primary-line {
    --bgclr: transparent;
    --clr: #007bff;
    --borderclr: #007bff
}
.btn.btn-primary-line:is(:hover,.active) {
    --bgclr: #0665ca; 
    --borderclr: #0665ca; 
    --clr: #fff
}
.btn.btn-secondary {
    --bgclr: #6c757d;
    --clr: #fff
}
.btn.btn-secondary:is(:hover,.active) {
    --bgclr: #5b6369; 
}
.btn.btn-success {
    --bgclr: #28a745;
    --borderclr: #28a745;
    --clr: #fff
}
.btn.btn-success:is(:hover,.active) {
    --bghvclr: #1c8334; 
    --btnhovborderclr: #1c8334;
}
.btn.btn-success-line {
    --bgclr: transparent;
    --clr: #28a745;
    --borderclr: #28a745
}
.btn.btn-success-line:is(:hover,.active) {
    --bghvclr: #1c8334; 
    --btnhovborderclr: #1c8334; 
    --clr: #fff
}
.btn.btn-danger {
    --bgclr: #dc3545;
    --clr: #fff;
    --borderclr: #dc3545;
}
.btn.btn-danger:is(:hover,.active) {
    --bghvclr: #bb2b3a; 
    --btnhovborderclr: #bb2b3a; 
}
.btn.btn-danger-line { 
    --bgclr: transparent;
    --borderclr: #dc3545;
    --clr: #dc3545
}
.btn.btn-danger-line:is(:hover,.active) { 
    --bghvclr: #bb2b3a;
    --btnhovborderclr: #bb2b3a; 
    --clr: #fff
}
.btn.btn-warning {
    --bgclr: #ffc107;
    --clr: inherit
}
.btn.btn-warning:is(:hover,.active) {
    --bghvclr: #caa022; 
}
.btn.btn-dark {
    --bghvclr: #343a40;
    --clr: #fff
}
.btn.btn-dark:is(:hover,.active) {
    --bgclr: #1f2224; 
} 
/* ================================ */

a.btn i.fas {
    transition: margin .4s ease;
}

a.btn:hover i.fas {
    margin: 0 0 0 9px
}

/* ================================ */

.btn-circle {
    padding: 3px;
    border: 0;
    background-color: transparent;
    cursor: pointer;
    color: inherit;
    display: inline-flex;
    font-family: var(--font-t2);
}

.btn-circle:hover {
    color: inherit
}

.btn-circle .btn-bar {
    width: 50px;
    height: 2px;
    background-color: var(--clr-bd);
    margin: 0 9px
}

.btn-circle svg {
    width: 60px;
    height: 60px;
    position: relative;
}

.btn-circle.btn-down .btn-icon-container {
    position: absolute;
    left: 50%;
    top: 50%;
    transform: translate(-50%, -50%) rotate(90deg);
    line-height: 0
}

.btn-circle svg .circle {
    stroke-dasharray: 180;
    stroke-dashoffset: 180;
    transition: all 1.5s ease;
    stroke: var(--clr-bd);
    stroke-width: 2px;
    fill-opacity: 0;
}

.btn-circle:hover svg:nth-child(2) .circle {
    stroke-dasharray: 180;
    stroke-dashoffset: 0;
}

.btn-circle svg:nth-child(1) .circle {
    stroke-dasharray: 180;
    stroke-dashoffset: 0;
}

.btn-circle svg:nth-child(2) {
    position: absolute;
    left: 0;
    top: 0;
    z-index: 2;
    stroke-width: 1px;
}

.btn-circle svg:nth-child(2) .circle {
    stroke: var(--clr02);
}

.btn-icon:nth-of-type(1) {
    transform: translateX(0) translateZ(0)
}

.btn-icon:nth-of-type(2) {
    opacity: 0;
    transform: translateX(-20px) translateZ(0);
    position: absolute;
    left: 0;
    top: 0;
}

.btn-circle .btn-icon svg path {
    fill: var(--clr-bd)
}

.btn-circle .btn-text {
    color: var(--clr-bd)
}

/* .btn-circle:hover .btn-icon svg path {
    
}
.btn-circle:hover {

} */
.btn-circle:hover .btn-icon:nth-of-type(1),
.btn-icon-a:hover .btn-icon:nth-of-type(1) {
    opacity: 0;
    transform: translateX(20px) translateZ(0);
    transition: transform .7s cubic-bezier(.23, 1, .32, 1), opacity .45s cubic-bezier(.165, .84, .44, 1)
}

.btn-circle:hover .btn-icon:nth-of-type(2),
.btn-icon-a:hover .btn-icon:nth-of-type(2) {
    opacity: 1;
    transform: translateX(0) translateZ(0);
    transition: transform .7s .1s cubic-bezier(.23, 1, .32, 1), opacity .45s .1s cubic-bezier(.165, .84, .44, 1)
}

.btn-icon svg {
    width: 10px;
    height: 10px
} 
.tablebx {
    line-height: 1.2;
}
.tablebx .tablew {
    overflow: hidden;
    overflow-x: auto;
}
.tablebx table {
    min-width: 100%;
    border-collapse: collapse;
    font-size: 80%
}

.tablebx table th,
.tablebx table td {
    padding: 6px;
}
.tablebx table th {
    background-color: #ddd;
}
.tablebx table tbody > * {
    border-bottom: 1px solid #ccc;
}
.formbx  .tablebx table :is(input, textarea, select, .textarea) {
    --p: 6px
}