@import "./css-overrides/toast.less";

/* Collapse top padding with additional container fluids */
/* FIXME: This should go into PF overrides in Cockpit. */
/* Remove it here when it lands there. */
.container-fluid + .container-fluid {
    padding-top: 0;
}

/* For table rows containing interactive controls like bars */
.info-table-ct tr.interactive td {
    line-height: 26px;
    padding-top: 0px;
    vertical-align: center;
}

.info-table-ct .shrink,
.form-table-ct .shrink {
    white-space: nowrap;
    width: 5px;
}

/*
 * For showing and filtering disabled unimportant rows in a table
 *
 * Set .unimportant on things, and then .filter-unimportant on
 * ancestor when you want to filter them.
 */
.filter-unimportant .unimportant {
    display: none;
}

/*
 * Used to make a table cell that containts buttons have less padding
 * HACK: Because CSS has no parant selector.
 */
.cell-buttons,
.table > tbody > tr > .cell-buttons {
    padding-top: 4px;
    padding-bottom: 4px;
    width: 30px;
    padding-right: 15px;
}

/* Align with the top of the graphs
  only when not wrapped
*/
@media (min-width: 1200px) {
  #containers-storage {
    margin-top: 19px;
  }
}

.container-column-cpu,
.container-column-memory-graph,
.container-column-memory-text {
    display: none;
}

/* The columns are displayed differently here */
@media (min-width: 768px) {
    .container-column-name,
    .container-column-image {
        width: 20%;
        display: table-cell;
    }

    .container-column-command,
    .container-column-memory-graph {
        width: 15%;
        display: table-cell;
    }

    .container-column-cpu,
    .container-column-memory-text {
        width: 10%;
        text-align: right;
        display: table-cell;
    }
}

#image-details-containers .container-column-actions,
#containers .container-column-actions {
    vertical-align: top;
    padding-top: 4px;
    padding-bottom: 4px;
}

#image-details-containers .cell-buttons button,
#image-details-containers .table > tbody > tr > .cell-buttons button,
#containers .cell-buttons button,
#containers .table > tbody > tr > .cell-buttons button {
    position: absolute;
    right: 36px;
    width: 28px;
    height: 28px;
}

#container-details .info-table-ct {
    margin-bottom: 30px;
}

@media (min-width: 1200px) {
    #container-details .info-table-ct {
        float: left;
    }
    #container-details .console-ct {
        margin-top: 0;
        float: right;
    }
}

#containers-search-image-dialog .modal-body {
    height: 340px;
}

#containers-search-image-results {
    height: 300px;
    overflow-y: scroll;
    border: 1px solid #BABABA;
    margin-top: 10px;
}

#containers-search-image-results tr.active td {
    background-color: #f5f9fc;
}

#containers-search-image-search {
    padding-left: 25px;
}

#containers-search-image-dialog .containers-search-image-search-icon {
    left: 0;
    top: 6px;
}

#containers-search-image-no-results {
    margin: auto;
    margin-top: 100px;
    text-align: center;
}

#containers-search-tag {
    width: 200px;
    float: left;
}

#containers #containers-containers .table,
#containers #containers-images .table,
#image-details-containers .table {
    table-layout: fixed;
}

#containers #containers-containers .table th,
#containers #containers-containers .table td,
#containers #containers-images .table th,
#containers #containers-images .table td,
#image-details #image-details-containers .table th,
#image-details #image-details-containers .table td {
    white-space: nowrap;
    overflow: hidden;
    text-overflow: ellipsis;
}

.image-column-created,
.image-column-size-text {
    display: none;
}

/* The columns are displayed differently here */
@media (min-width: 768px) {
    .image-column-created {
        width: 30%;
        display: table-cell;
    }
    .image-column-size-text {
        width: 15%;
        display: table-cell;
    }
    .image-column-tags {
        width: 40%;
    }
}

#containers_run_image_dialog td {
    vertical-align: top;
}

.containers-run-inline form .pficon-close,
.containers-run-inline form .fa-plus {
    height: 26px;
    width: 26px;
    padding: 4px;
    float: right;
    margin-left: 5px;
}

.containers-run-inline .form-inline {
    background: #f4f4f4;
    border-width: 0 1px 1px 1px;
    border-style: solid;
    border-color: #bababa;
    padding: 4px;
    margin-left: 0px;
}

.containers-run-inline .form-inline:first-of-type {
    border-top: 1px solid #bababa;
}

.containers-run-inline .form-control {
  margin: 0 4px;
}

.containers-run-inline .form-group:first-of-type .form-control {
  margin: 0 4px 0 0;
}

.containers-run-portmapping input {
    max-width: 5em;
}

.containers-run-volumemount input {
    max-width: 8em;
}

.containers-run-volumemount button {
    max-width: 8em;
}

.containers-run-envvarclaim input {
    max-width: 8em;
}

.containers-run-onbuildvarclaim input {
    max-width: 15em;
}

#select-linked-containers .form-group {
    width: 80%;
}

#select-linked-containers label {
    padding-right: 4px;
    padding-left: 4px;
}

@media (min-width: 768px) {
    #select-linked-containers .form-group {
        width: 40%;
    }
    #select-linked-containers input {
        max-width: 73%;
    }
}

#restart-policy-select {
    max-width: 150px;
}

#restart-policy-select > button > span.pull-left {
    overflow: hidden;
    width: 100%;
    text-align: left;
}

#restart-policy-retries-container {
    display: inline;
    margin-left: 4px;
}

#restart-policy-retries {
    max-width: 50px;
    display: inline;
}

/* Hack to remove size column */
.image-column-size-graph {
    display: none !important;
}

/* workaround: make text red for select if contained in has-error, not in patternfly */
.has-error > .dropdown > button > span {
    color: #A94442;
}

#containers-cpu-graph,
#containers-mem-graph {
    height: 120px;
}

#container-details .panel-heading .pull-right {
    height: 25px;
}

.resource-value {
    min-width: 8em;
    text-align: right;
}

.content-filter {
    background: var(--pf-global--BackgroundColor--150);
    border-bottom: 1px solid var(--color-border);
    padding: 0.75rem 1.25rem;
    position: sticky;
    display: flex;
    align-items: baseline;
    min-height: 4rem;
}

.content-filter .ct-select {
    flex: none;
    max-width: 50%;
}

.content-filter input[type="text"] {
    margin-left: 0.5rem;
    flex: auto;
    max-width: 50%;
}

.content-filter h3 {
    display: inline;
    font-size: 18px;
    line-height: 28px;
}

.content-filter i {
    font-size: 24px;
    position: relative;
    padding-right: 3px;
}

.content-filter i.pficon-image {
    top: 3px;
}

.content-filter i.fa {
    margin-top: 2px;
    font-size: 18px;
    line-height: 28px;
}

.content-filter i.fa-cube {
    font-size: 22px;
}

.content-filter a {
    padding-left: 30px;
}

/*
 * Styling of bar graphs. See controls.js for more details
 */
.bar-row {
    min-width: 100px;
    margin-top: 2px;
    margin-bottom: 0px;
    height: 15px;
}

.bar-row div.progress-bar {
    background-color: #0099d3;
}

.bar-row-danger div.progress-bar {
    background-color: #af151a;
}

.bar-row div.progress-no-limit {
    /* used when no limit */
    background-color: transparent;
}

.bar-row div.progress,
.bar-row div.progress div.progress-bar {
    /* minimum width of each bar */
    min-width: 5px;
}

.slider {
    display: block;
    margin: 10px 10px;
    height: 5px;
    white-space: nowrap;
    font-size: 0px;
    background-color: #e7e7e7;
    cursor: pointer;
    user-select: none;
    -moz-user-select: none;
    -webkit-user-select: none;
}

.slider-warning {
    background-color: #d4a096;
}

.slider-bar {
    position: relative;
    height: 5px;
}

.slider > .slider-bar > .slider-bar {
    border-right: 3px solid white;
    height: 5px;
    position: relative;
}

.slider > .slider-bar > .slider-bar {
    display: inline-block;
}

.slider > div:first-child {
    float: left;
    background-color: #0099d3;
}

.slider-disabled > div:first-child {
    cursor: auto;
    background-color: #e7e7e7;
}

.slider-thumb {
    position: absolute;
    border-radius: 9px;
    background-color: #0099d3;
    width: 18px;
    height: 18px;
    top: -6px;
    right: -9px;
    content: '.';
    cursor: pointer;
    border: 1px solid #267da1;
    z-index: 1;
}

.slider-disabled .slider-thumb {
    background-color: #e7e7e7;
    border: 1px solid #d7d7d7;
    cursor: auto;
}

.size-text-ct {
    display: inline;
    width: 6em;
    text-align: right;
    margin: 2px;
}

/* Storage
*/

.drives-panel {
    margin-top: 10px;
}

.drives-panel-body {
    padding: 15px;
    background: #EEE;
}

.drives-panel-body table {
    margin-top: 10px;
    width: 100%;
    background: #FFF;
}

.drives-panel-body table tr {
    border: 1px solid #DDD;
}

.drives-panel-body table tr:hover {
    background-color: #d4edfa;
}

.drives-panel-body table tr td {
    padding-top: 5px;
    padding-bottom: 5px;
    padding-left: 10px;
}

.drives-panel-body table tr td:last-child {
    width: 100%;
    padding-right: 10px;
}

.drives-panel-body table tr td span {
    color: #444;
}

.drives-panel-body table tr td span:first-child {
    color: #000;
}

.drives-panel-body table tr td img {
    height: 30px;
}

.drives-panel-footer {
    padding: 15px;
    background: #DDD;
    text-align: right;
}

#storage-overview {
    height: 90px;
    margin-top: -13px;
    margin-bottom: 30px;
}

#storage-overview .free-text {
    font-size: 32px;
    margin-right: 3px;
}

#storage-overview .free-unit {
    display: inline-block;
    font-size: 12px;
    line-height: 14px;
}

#storage-overview .used-total {
    float: right;
    font-size: 12px;
    line-height: 14px;
    margin-top: 13px;
    border-left: 2px solid #DDD;
}

#storage-overview .used-total td {
    padding-left: 10px;
}

#containers-storage-details .free-text {
    font-size: 18px;
}

#containers-storage-details .used-total {
    float: right;
    padding-top: 10px;
}

#containers-storage-details .progress {
    margin-bottom: 0px;
    height: 5px;
}

#containers-storage a {
    display: block;
    text-align: right;
    margin-top: 5px;
}

table.drive-list {
    width: 100%;
}

table.drive-list td {
    vertical-align: top;
}

table.drive-list td:nth-child(1) {
    color: black;
    text-align: right;
    white-space: nowrap;
}

table.drive-list td:nth-child(2) {
    width: 18px;
}

table.drive-list td:nth-child(2) img {
    margin-left: 5px;
    margin-right: 5px;
    height: 18px;
}

.modal-body .alert {
    margin-bottom: -20px;
    margin-top: 30px;
}

.status {
    padding-left: 32px;
    padding-top: 1em;
    color: #888;
}

#image-details .listing-ct-inline {
    padding-left: 20px;
    padding-right: 20px;
}

.form-group input[type="radio"]{
    margin: 2px 0px 2px 10px;
}

/* Align the buttons on DynamicListForms to the right */
.form-list-control {
    --ct-form-columns: 1;
    justify-items: end;

    input {
        max-width: 8em;
    }
}

/* We need to be a little specific here to override without !important */
.ct-form .ct-form .run-image-dialog-actions {
    grid-template-columns: repeat(2, min-content);
}

.run-image-dialog-actions .btn {
    padding: 0.25rem 0.75rem;
}

.alert .fa {
    padding-right: 10px;
}

.alert.info-message{
    display: flex;
    justify-content: space-between;
}

.info-message {
    margin-top: 5px;
}

/* New implementation of FileAutoComplete has margin which breaks our UI a bit */
.volume-form .form-group {
    margin-bottom: 0px;
}

.pf-c-alert__description {
    overflow-wrap: anywhere;
}
