/******************
 * Default Tables *
 ******************/

.flat .dcdGenericTable {
    overflow: hidden;
}

.flat .dcdGenericTable-labelCell {
    vertical-align: top;
}

.flat .dcdTable {
    box-sizing: border-box;
    border-collapse: collapse;
    vertical-align: middle;
}

.flat .dcdTableWrapper {
    height: 100%;
    width: 100%;
    overflow: hidden;
}

.flat .dcdTableRow.title {
    font-weight: bolder;
    background: #eaeaea;
}

.flat .dcdTableRow {
    border-bottom: 1px solid #b8c0ca;
}

.flat .dcdTableCell {
    padding: 10px;
}

.flat .dcdTableCell.x-nowrap {
    white-space: nowrap;
}

.flat .dcdTableCell.x-left {
    text-align: left;
}

.flat .dcdTableCell.x-right {
    text-align: right;
}

.flat .dcdTableCell.x-center {
    text-align: center;
}

.flat .dcdTableCell.x-top {
    vertical-align: top;
}

.flat .dcdTableCell.x-middle {
    vertical-align: middle;
}

.flat .dcdTableCell.x-bottom {
    vertical-align: bottom;
}

.flat .dcdTableCell.x-minimum {
    width: 5px;
}

/* Sticky */

.flat .dcdTableStickyHeader {
    height: 30px;
    width: 100%;
    box-sizing: border-box;
    border-bottom: 1px solid #b8c0ca;
}

.flat .dcdTableStickyBody {
    box-sizing: border-box;
    height: calc(100% - 45px);
    overflow: auto;
    width: 100%;
}

.flat .body.dcdTableRow:hover,
.flat .body.dcdTableRow:focus {
    background: #fafafa;
}

/* Fixed Layout Helper */

.flat .dcdTableFixed > table {
    table-layout: fixed;
}

/* CRIP table e.g. used in NIC inspector*/
.flat table.dcdCRIPTable {
    width: 100%;
    border-collapse: collapse;
    border:1px solid #eaeaea;
}

.flat table.dcdCRIPTable tr td:first-child {
    padding-left: 1em;
}

.flat table.dcdCRIPTable tr {
    border-bottom: 1px solid #eaeaea;
}

.flat table.dcdCRIPTable tr:last-child {
    border-bottom: none;
}

/******************
 * Checkbox Table *
 ******************/

.flat .dcdTableCheckbox.dcdTableContainer {
    max-height: 350px;
}

.flat .dcdTableCheckbox.dcdTableCell:first-child {
    width: 100%;
}

.flat .dcdTableCheckbox.dcdTableCell:last-child {
    white-space: nowrap;
}

/**************
 * List Table *
 **************/

.flat .dcdTableDCList {
    border-collapse: collapse;
}

.flat .dcdTableDCList.dcdTableCell:first-child {
    width: 55%;
}

.flat .dcdTableDCList.dcdTableCell:last-child {
    width: 15%;
}

.flat .dcdTableDCList.dcdTableStickyBody {
    cursor: pointer;
}

.flat .dcdTableDCList.dcdTableWrapper {
    border: 1px solid #b8c0ca;
}

/********************
 * Small List Table *
 ********************/

.flat .dcdTableDCListS {
    font-size: 1rem;
    table-layout: fixed;
}

.flat .dcdTableDCListS.dcdTableWrapper {
    border: 1px solid #eaeaea;
}

.flat .dcdTableDCListS.dcdTableRow.title {
    background: transparent;
}

.flat .dcdTableDCListS.dcdTableStickyHeader {
    background: #fafafa;
    table-layout: fixed;
}

.flat .dcdTableDCListS.dcdTableStickyHeader,
.flat .dcdTableDCListS.dcdTableStickyBody {
    border: 0;
}

.flat .dcdTableDCListS.dcdTableRow {
    border-bottom: 1px solid #eaeaea;
}

.flat .dcdTableDCListS.dcdTableCell {
    overflow: hidden;
    white-space: nowrap;
    text-overflow: ellipsis;
    cursor: pointer;
}

.flat .dcdTableDCListS.dcdTableCell:nth-child(1) {
    /* fix for overflow ellipsis to work on table. The property "width" don’t work here */
    /* since tables always try to adapt width based on content */
    max-width: 150px;
    min-width: 150px;
}

.flat .dcdTableDCListS.dcdTableCell:nth-child(2) {
    width: 30%;
}

.flat .dcdTableDCListS.dcdTableCell:nth-child(3) {
    width: 15%;
}

.flat .dcdTableDCListS.dcdTableCell:nth-child(4) {
    width: 20%;
}

/****************
 * Layout Table *
 ****************/

.flat .dcdLayoutTable {
    white-space: nowrap;
}

.flat .dcdLayoutTable.dcdTableCell {
    padding: 3px;
}

.flat .dcdLayoutTable.dcdTableRow.title {
    background: transparent;
}

.flat .dcdLayoutTable.dcdTableRow {
    border: 0;
}

.flat .dcdLayoutTable.body.dcdTableRow:hover,
.flat .dcdLayoutTable.body.dcdTableRow:focus {
    background: transparent;
}

/*****************
 * Listing Table *
 *****************/
.flat .dcdListingTable {
    width: calc(100% + 5px);
    border-collapse: collapse;
    margin: 0 -5px;
}

.flat .dcdListingTable td {
    padding: 10px 5px;
}

.flat .dcdListingTable.centered td {
    vertical-align: middle;
    text-align: center;
}

.flat .dcdListingTable td:first-child {
    padding-left: 10px;
}

.flat .dcdListingTable tr {
    border-bottom: 1px solid #eaeaea;
}

.flat .dcdListingTable tr:last-child {
    border-bottom: none;
}

.flat .dcdListingTable tr.heading {
    background-color: #fafafa;
    border-top: 1px solid #eaeaea;
}

.flat .dcdListingTable tr.title {
    font-weight: bold;
    min-height: 2rem;
    border: 0;
}

.flat .dcdListingTable.dcdCapablitiesTable tr {
    border-bottom: none;
}

.flat .dcdListingTable.dcdCapablitiesTable tr:first-child td:first-child {
    width: 40px;
}

.flat .dcdListingTable.dcdCapablitiesTable tr:first-child td:first-child .cpuVendor {
    margin-right: 0;
}

/*********************
 * DC Firewall Table *
 *********************/

.flat .dcdTableFirewall {
    font-size: 0.9rem;
}

.flat .dcdTableFirewall.head {
    text-align: center;
}

.flat .dcdTableFirewall.dcdTableCell {
    padding: 5px;
}

.flat .dcdTableFirewall td {
    text-align: center;
}

.flat .dcdTableFirewall.dcdTableCell.buttons {
    width: 80px;
    min-width: 80px;
    white-space: nowrap;
    padding: 0;
}

.flat .dcdTableFirewall.dcdTableCell.name {
    min-width: 90px;
}

.flat .dcdTableFirewall.dcdTableCell.protocol {
    width: 60px;
}

.flat .dcdTableFirewall.dcdTableCell.protocol {
    width: 60px;
}

.flat .dcdTableFirewall.dcdTableCell.direction{
    width: 120px;
}

.flat .dcdTableFirewall.dcdTableCell.mac{
    width: 110px;
}


.flat .dcdTableFirewall.dcdTableCell.sourceIP,
.flat .dcdTableFirewall.dcdTableCell.destinationIP {
    min-width: 100px;
    max-width: 200px;
}

.flat .dcdTableFirewall.dcdTableCell.swap {
    width: 20px;
    padding: 0px;
}

.flat .dcdTableFirewall.dcdTableCell.portStart,
.flat .dcdTableFirewall.dcdTableCell.portEnd {
    width: 80px;
}

.flat .dcdTableFirewall.head.dcdTableCell.portStart,
.flat .dcdTableFirewall.head.dcdTableCell.portEnd {
    padding-left: 1em;
    padding-right: 1em;
}

.flat .dcdTableFirewall.dcdTableCell.param1,
.flat .dcdTableFirewall.dcdTableCell.param2 {
    width: 50px;
}



/*******************
 * Resources Table *
 *******************/

.flat .dcdResourceTable {
    vertical-align: middle;
    font-size: 0.9rem;
}

.flat .dcdResourceTable td {
    white-space: nowrap;
}

.flat .dcdResourceTable.dcdTableRow {
    border: 0;
}

.flat .dcdResourceTable.dcdTableCell:first-child {
    width: 1%;
    padding-left: 0;
}

.flat .dcdResourceTable.dcdTableCell:last-child {
    padding-right: 0;
}

/******************
 * Security Table *
 ******************/
.flat .dcdSecurityTable {
    width: calc(100% - 20px);
    margin: 15px;
    margin-bottom: 5px;
}

.flat .dcdSecurityTable .tableContainer-table {
    table-layout: fixed;
}

/***********************
 * Cost overview table *
 ***********************/
.flat .dcdListingTable.dcdCostOverviewTable tr.title {
    background: none;
    font-size: 1.25em;
}

.flat .dcdListingTable.dcdCostOverviewTable td:last-child {
    text-align: left;
}

.flat .dcdListingTable.dcdCostOverviewTable.centered td:last-child {
    text-align: center;
}

.flat .dcdListingTable.dcdCostOverviewTable.alignLast td:last-child {
    text-align: right;
}

.flat .dcdListingTable.dcdCostOverviewTable td:first-child {
    width: 150px;
}

/******************************
 * User Creation Dialog Table *
 ******************************/
.flat .dcdUserCreateTable-table td {
    box-sizing: border-box;
}

.flat .dcdUserCreateTable-table td:first-child {
    padding-right: 10px;
}

.flat .dcdUserCreateTable-table td:last-child {
    padding-left: 10px;
}

/* --- Some Dojox Fixes --- */

.flat .dcdDetailsForm .tableContainer-valueCell {
    padding-right: 10px;
    box-sizing: border-box;
}

.flat .dcdDetailsForm .tableContainer-valueCell:last-child {
    padding-right: 0px;
    box-sizing: border-box;
}

/******************************
 * User Creation Dialog Table *
 ******************************/

.flat .dcdNodeList.dcdTableCell {
    padding: 5px 10px;
}

.flat .dcdNodeList.dcdTableCell:nth-child(2) {
    width: 100%;
    text-align: center;
}


/**************************
 * Forwarding Rules Table *
 **************************/

.flat .dcdForwardingTable {}

.flat .dcdForwardingTable .dcdTableCell{
    padding: 5px;
}

.flat .dcdForwardingTable .dcdTableRow.heading .dcdTableCell{
    padding: 0px;
    font-weight: bold;
    text-align: center;
}

.flat .dcdForwardingTable .dcdTableRow .dcdTableCell.centered{
    text-align: center;
}

.flat .dcdForwardingTable .dcdTableRow .dcdTableCell:nth-child(1){
    width: 0;
    padding: 0;
    padding-left: 5px;
}

.flat .dcdForwardingTable .dcdTableRow .dcdTableCell:nth-child(3){
    width: 7.5em;
}

.flat .dcdForwardingTable .dcdTableRow .dcdTableCell:nth-child(4){
    width: 6.5em;
}

.flat .dcdForwardingTable .dcdTableRow .dcdTableCell .blockWidget{
    margin-bottom: 0px;
}

.dcdTableRow.dcdTable.tableItemGroupHeader > td.dcdTableCell {
    font-weight: bold;
}

/* dynamically hidden in dojox table */
.dijitTableLayout .hiddenWidget {
    display:none !important;
}

.dijitTableLayout.dontWrapLabels .tableContainer-labelCell {
    white-space: nowrap;
}

tr.dcdTableRow td.dragHandle {
    width: 16px;
    background-color: #FAFAFA;
}

tr.dojoDndItemBefore {
    border-top: 1px solid black !important;
}

tr.dojoDndItemAfter {
    border-bottom: 1px solid black !important;
}

tr.dcdTableRow:hover td.dragHandle {
    background: url("../../img/icons/tool_reorder.black.svg") no-repeat center;
    background-size: contain;
}
