
.dd_vertical_centralizer {
    height: 100%; 
    display: flex;
    align-items: center;
}

.dd_horizontal_centralizer {
    width: 100%; 
    display: flex;
    flex-direction: column;
    align-items: center; 
}

.dd_stacker_bottom_up {
    display: flex;
    flex-direction: column-reverse;
}

.dd_stacker_right_left {
    display: flex;
    flex-direction: row-reverse;
}

.dd_stacker_left_right {
    display: flex;
}

.dd_label_input_pair {
    display: flex;
    flex-wrap: wrap; 
    justify-content: center;
    margin-bottom: 0.4rem;
}

.dd_label_input_pair label {
    font-weight: bold;
    margin: 0;
}
.dd_label_input_pair input {
    width: 212px;
}

.dd_display_none {
    display: none !important;
}

dd_table {
    /*
    GRID STYLING
    --gap
    --colgap
    --rowgap
    
    COLUMN STYLING
    --default-col-width
    
    --c1
    --c2
    --c3
    --c4
    --c5
    
    --c1-display
    --c2-display
    --c3-display
    --c4-display
    --c5-display
    
    --c1-weight
    
    --c1-margin-bottom
    --c2-margin-bottom
    --c3-margin-bottom
    --c4-margin-bottom
    --c5-margin-bottom
    
    CELL STYLING
    --cell-padding
    
    HEADERS STYLING
    --header-color
    --header-background
    --header-size
    --header-weight
    --header-transform
    --header-text-align
    --header-display
    --header-align-items
    --header-justify-content
    --header-text-align
    --header-line-height
    
    --header2-display
    */
    
    --colgap: var(--gap, 0);
    --rowgap: var(--gap, 0);
    
    --header2-display: var(--header-display, block);
    
    --c1: var(--default-col-width, auto);
    --c2: var(--default-col-width, auto);
    --c3: var(--default-col-width, auto);
    --c4: var(--default-col-width, auto);
    --c5: var(--default-col-width, auto);
    
    display: grid;
    gap: var(--rowgap) var(--colgap);
}

dd_table > row {
    display: contents !important;
}

dd_table.cols1 {grid-template-columns: var(--c1);}
dd_table.cols2 {grid-template-columns: var(--c1) var(--c2);}
dd_table.cols3 {grid-template-columns: var(--c1) var(--c2) var(--c3);}
dd_table.cols4 {grid-template-columns: var(--c1) var(--c2) var(--c3) var(--c4);}
dd_table.cols5 {grid-template-columns: var(--c1) var(--c2) var(--c3) var(--c4) var(--c5);}

dd_table > cell, dd_table > row > cell {
    padding: var(--cell-padding, 0);
}

/* Column Display */
dd_table.cols2 > cell:nth-of-type(2n+1) {display: var(--c1-display, block);}
dd_table.cols2 > cell:nth-of-type(2n+2) {display: var(--c2-display, block);}

dd_table.cols3 > cell:nth-of-type(3n+1) {display: var(--c1-display, block);}
dd_table.cols3 > cell:nth-of-type(3n+2) {display: var(--c2-display, block);}
dd_table.cols3 > cell:nth-of-type(3n+3) {display: var(--c3-display, block);}

dd_table.cols4 > cell:nth-of-type(4n+1) {display: var(--c1-display, block);}
dd_table.cols4 > cell:nth-of-type(4n+2) {display: var(--c2-display, block);}
dd_table.cols4 > cell:nth-of-type(4n+3) {display: var(--c3-display, block);}
dd_table.cols4 > cell:nth-of-type(4n+4) {display: var(--c4-display, block);}

dd_table.cols5 > cell:nth-of-type(5n+1) {display: var(--c1-display, block);}
dd_table.cols5 > cell:nth-of-type(5n+2) {display: var(--c2-display, block);}
dd_table.cols5 > cell:nth-of-type(5n+3) {display: var(--c3-display, block);}
dd_table.cols5 > cell:nth-of-type(5n+4) {display: var(--c4-display, block);}
dd_table.cols5 > cell:nth-of-type(5n+5) {display: var(--c5-display, block);}

/* Column margin bottom */
dd_table.cols1 > cell:nth-of-type(1n+1) {margin-bottom: var(--c1-margin-bottom, initial);}
dd_table.cols2 > cell:nth-of-type(2n+1) {margin-bottom: var(--c1-margin-bottom, initial);}
dd_table.cols3 > cell:nth-of-type(3n+1) {margin-bottom: var(--c1-margin-bottom, initial);}
dd_table.cols4 > cell:nth-of-type(4n+1) {margin-bottom: var(--c1-margin-bottom, initial);}
dd_table.cols5 > cell:nth-of-type(5n+1) {margin-bottom: var(--c1-margin-bottom, initial);}

dd_table.cols2 > cell:nth-of-type(2n+2) {margin-bottom: var(--c2-margin-bottom);}
dd_table.cols3 > cell:nth-of-type(3n+2) {margin-bottom: var(--c2-margin-bottom);}
dd_table.cols4 > cell:nth-of-type(4n+2) {margin-bottom: var(--c2-margin-bottom);}
dd_table.cols5 > cell:nth-of-type(5n+2) {margin-bottom: var(--c2-margin-bottom);}

dd_table.cols3 > cell:nth-of-type(3n+3) {margin-bottom: var(--c3-margin-bottom);}
dd_table.cols4 > cell:nth-of-type(4n+3) {margin-bottom: var(--c3-margin-bottom);}
dd_table.cols5 > cell:nth-of-type(5n+3) {margin-bottom: var(--c3-margin-bottom);}

dd_table.cols4 > cell:nth-of-type(4n+4) {margin-bottom: var(--c4-margin-bottom);}
dd_table.cols5 > cell:nth-of-type(5n+4) {margin-bottom: var(--c4-margin-bottom);}

dd_table.cols5 > cell:nth-of-type(5n+5) {margin-bottom: var(--c5-margin-bottom);}

/* Span */
dd_table .span2 {
    grid-column-end: span 2;
}

/* C1 Font Weight */
dd_table.cols1 > cell:nth-of-type(1n+1) {font-weight: var(--c1-weight, initial);}
dd_table.cols2 > cell:nth-of-type(2n+1) {font-weight: var(--c1-weight, initial);}
dd_table.cols3 > cell:nth-of-type(3n+1) {font-weight: var(--c1-weight, initial);}
dd_table.cols4 > cell:nth-of-type(4n+1) {font-weight: var(--c1-weight, initial);}
dd_table.cols5 > cell:nth-of-type(5n+1) {font-weight: var(--c1-weight, initial);}

dd_table > *.header, dd_table > row.header > *,
dd_table.cols1 > cell.header,
dd_table.cols2 > cell.header,
dd_table.cols3 > cell.header,
dd_table.cols4 > cell.header,
dd_table.cols5 > cell.header {
    font-size: var(--header-size, inherit);
    color: var(--header-color, inherit);
    background: var(--header-background, transparent);
    font-weight: var(--header-weight, inherit);
    text-transform: var(--header-transform, none);
    display: var(--header-display, block);
    align-items: var(--header-align-items, initial);
    justify-content: var(--header-justify-content, initial);
    text-align: var(--header-text-align, left);
    line-height: var(--header-line-height, initial);
}

/* C2 display */
dd_table.cols2 > cell.header:nth-of-type(2n+2) {display: var(--header2-display);}
dd_table.cols3 > cell.header:nth-of-type(3n+2) {display: var(--header2-display);}
dd_table.cols4 > cell.header:nth-of-type(4n+2) {display: var(--header2-display);}
dd_table.cols5 > cell.header:nth-of-type(5n+2) {display: var(--header2-display);}




