/*
 * Copyright (C) 2016-2023 Jones Magloire @Joxit
 *
 * This program is free software: you can redistribute it and/or modify
 * it under the terms of the GNU Affero General Public License as published by
 * the Free Software Foundation, either version 3 of the License, or
 * (at your option) any later version.
 *
 * This program is distributed in the hope that it will be useful,
 * but WITHOUT ANY WARRANTY; without even the implied warranty of
 * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
 * GNU Affero General Public License for more details.
 *
 * You should have received a copy of the GNU Affero General Public License
 * along with this program.  If not, see <http://www.gnu.org/licenses/>.
 */
@import 'riot-mui/src/material-elements/material-navbar/material-navbar.scss';
@import 'riot-mui/src/material-elements/material-footer/material-footer.scss';
@import 'riot-mui/src/material-elements/material-card/material-card.scss';
@import 'riot-mui/src/material-elements/material-spinner/material-spinner.scss';
@import 'riot-mui/src/material-elements/material-button/material-button.scss';
@import 'riot-mui/src/material-elements/material-waves/material-waves.scss';
@import 'riot-mui/src/material-elements/material-checkbox/material-checkbox.scss';
@import 'riot-mui/src/material-elements/material-tabs/material-tabs.scss';
@import 'riot-mui/src/material-elements/material-snackbar/material-snackbar.scss';
@import 'riot-mui/src/material-elements/material-dropdown/material-dropdown.scss';
@import 'riot-mui/src/material-elements/material-popup/material-popup.scss';
@import 'riot-mui/src/material-elements/material-input/material-input.scss';
@import 'riot-mui/src/material-elements/material-switch/material-switch.scss';

@import './roboto.scss';
@import './material-icons.scss';

html > body {
  font-family: 'Roboto', 'Helvetica', 'Arial', sans-serif !important;
  font-size: 16px;
  background-color: var(--background);
  color: var(--primary-text);
}

html,
body {
  margin: 0;
  height: 100%;
}

.section-centerd {
  margin: auto;
}

.full-table {
  width: 100%;
  border: none;
}

.url {
  font-size: 14px;
  word-break: break-all;
}

.material-card-title-action a {
  color: inherit;
  text-decoration: none;
  font-weight: inherit;
}
material-card {
  background-color: var(--background);
}
material-card,
material-tabs,
pagination .container {
  margin: auto;
  margin-top: 20px;
  margin-bottom: 20px;
}

material-card,
material-tabs,
pagination .container,
catalog {
  max-width: 95%;
  /* 1515px * 0.95 = 1440px */
  @media screen and (min-width: 1515px) {
    max-width: 1440px;
  }
}

material-tabs {
  display: block;
  -webkit-box-shadow: 0 2px 5px 0 rgba(0, 0, 0, 0.16), 0 2px 10px 0 rgba(0, 0, 0, 0.12);
  -ms-box-shadow: 0 2px 5px 0 rgba(0, 0, 0, 0.16), 0 2px 10px 0 rgba(0, 0, 0, 0.12);
  -moz-box-shadow: 0 2px 5px 0 rgba(0, 0, 0, 0.16), 0 2px 10px 0 rgba(0, 0, 0, 0.12);
  -o-box-shadow: 0 2px 5px 0 rgba(0, 0, 0, 0.16), 0 2px 10px 0 rgba(0, 0, 0, 0.12);
  box-shadow: 0 2px 5px 0 rgba(0, 0, 0, 0.16), 0 2px 10px 0 rgba(0, 0, 0, 0.12);
}

material-tabs material-button,
material-tabs material-button .content .text {
  text-transform: none;
}

material-spinner {
  align-self: center;
}

.spinner-wrapper {
  margin-top: 50px;
  display: flex;
  flex-direction: column;
}

.logo {
  padding: 0 16px 0 72px;
  text-decoration: none;
  font-size: 20px;
  line-height: 1;
  letter-spacing: 0.02em;
  font-weight: 400;
}

@media screen and (max-width: 600px) {
  .logo {
    padding-left: 0;
  }
}

h2 {
  padding: 16px;
  margin: auto;
  font-size: 24px;
  font-weight: 300;
  line-height: normal;
  overflow: hidden;
}

.material-card-title-action h2 .source-hint,
.material-card-title-action h2 .item-count {
  font-size: 0.7em;
  margin-left: 1em;
}

.list {
  display: block;
  padding: 8px 0;
  list-style: none;
}

.list.highlight:hover {
  background-color: rgba(0, 0, 0, 0.12);
  cursor: pointer;
}

.list > span,
.list > li {
  box-sizing: border-box;
  line-height: 1;
  height: 48px;
  padding: 0 16px;
  overflow: hidden;
}

docker-registry-ui material-button > :first-child .content i.material-icons,
docker-registry-ui material-button > :first-child .content i.material-icons.material-icons {
  font-size: 24px;
}

.list > span i.material-icons,
.list > li i.material-icons {
  margin-right: 32px;
  height: 24px;
  width: 24px;
  box-sizing: border-box;
  color: var(--accent-text);
}

.list > span .right i.material-icons.animated {
  transition: all 350ms cubic-bezier(0.4, 0, 0.2, 1);
  margin-right: 10px;
}

.list > span .right {
  position: absolute;
  align-self: end;
  display: flex;
  align-items: center;
  right: 0;
}

.list > span i.material-icons.animated.expanded {
  transform: rotate(180deg);
}

.list > span .item-count {
  font-size: 0.75em;
}

.list > span,
.list > li > span {
  height: 100%;
  text-decoration: none;
  box-sizing: border-box;
  display: -webkit-flex;
  display: -ms-flexbox;
  display: flex;
  -webkit-align-items: center;
  -ms-flex-align: center;
  align-items: center;
}

material-card.list {
  margin-top: 10px;
  margin-bottom: 10px;
}

.material-card-title-action {
  -webkit-align-items: center;
  -ms-flex-align: center;
  align-items: center;
  display: block;
  display: -webkit-flex;
  display: -ms-flexbox;
  display: flex;
  padding: 16px;
}

.material-card-title-action h2 {
  margin: 0;
}

material-card table {
  width: 100%;
  border: none;
  position: relative;
  border: 1px solid rgba(0, 0, 0, 0.12);
  border-collapse: collapse;
  white-space: nowrap;
  font-size: 13px;
  border: none;
}

material-card table th {
  font-size: 18px;
  vertical-align: bottom;
  line-height: 24px;
  height: 48px;
  color: var(--accent-text);
  box-sizing: border-box;
  padding: 0 18px 12px 18px;
  text-align: right;
}

.material-card-th-left {
  text-align: left;
}

material-card .material-card-title-action material-button:hover button,
material-card table tbody tr:hover {
  background-color: rgba(0, 0, 0, 0.12) !important;
}

material-button > :first-child[inverted='true'],
material-card table tbody tr {
  transition-duration: 0.28s;
  transition-timing-function: cubic-bezier(0.4, 0, 0.2, 1);
  transition-property: background-color;
}

material-card table tbody tr {
  position: relative;
  height: 48px;
}

material-card table td {
  font-size: 16px;
  position: relative;
  height: 48px;
  border-top: 1px solid rgba(0, 0, 0, 0.12);
  border-bottom: 1px solid rgba(0, 0, 0, 0.12);
  padding: 12px 18px;
  box-sizing: border-box;
  vertical-align: middle;
  text-align: right;
}

tag-history-button button:hover,
material-card table th.material-card-th-sorted-ascending:hover,
material-card table th.material-card-th-sorted-descending:hover {
  cursor: pointer;
}

material-card table th.material-card-th-sorted-ascending:hover:before,
material-card table th.material-card-th-sorted-descending:hover:before {
  color: var(--primary-text);
}

material-card table th.material-card-th-sorted-ascending:before,
material-card table th.material-card-th-sorted-descending:before {
  font-family: 'Material Icons';
  font-weight: 400;
  font-style: normal;
  line-height: 1;
  font-size: 16px;
  content: '\e5d8';
  margin-right: 5px;
  vertical-align: sub;
}

material-card table th.material-card-th-sorted-descending:before {
  content: '\e5db';
}

material-button .content i.material-icons,
.material-icons {
  color: var(--neutral-text);
}

material-button[disabled] .content i.material-icons,
material-checkbox[disabled] .content i.material-icons {
  color: #bbb;
}

material-snackbar .toast {
  height: auto;
}

material-popup .popup > .content {
  padding: 1em;
  max-width: 450px;
  background-color: var(--background);
  color: var(--primary-text);
}

footer {
  width: 100%;
  z-index: 75;
  bottom: 0;
}

material-footer {
  padding: 0.5em 1em;
  li {
    align-self: center;
  }
}

.copy-to-clipboard {
  padding-left: 5px;
}
#image-tag-header {
  /* spacing for clipboard  + default th spacing */
  /* 5 + 2 + 3 + 24 + 3 + 2 + 18 */
  padding-right: 57px;
}
image-tag,
.copy-to-clipboard {
  display: inline-block;
}
image-content-digest {
  display: none;
  font-family: 'Roboto Mono', 'Roboto', 'Helvetica', 'Arial', sans-serif !important;
}
@media screen and (min-width: 1024px) {
  #image-content-digest-header {
    padding-right: 57px;
  }
  image-content-digest {
    display: inline-block;
  }
}

.show-tag-history {
  width: 30px;
  text-align: center;
}

.remove-tag {
  padding: 12px 5px;
  width: 66px;
  text-align: center;
}

.remove-tag.delete {
  padding: 7px 5px;
}

taglist .creation-date {
  width: 10em;
}

material-card td.creation-date,
material-card th.creation-date {
  text-align: left;
  max-width: 10em;
}

taglist .image-size {
  width: 7em;
}

material-card material-button {
  background-color: inherit;
}

catalog-element material-card {
  z-index: 2;
  position: relative;
}

catalog-element catalog-element material-card {
  transition: all 350ms cubic-bezier(0.4, 0, 0.2, 1);
  z-index: 1;
  position: relative;
}

catalog-element catalog-element.showing material-card,
catalog-element catalog-element.hide material-card {
  margin-top: -50px;
  opacity: 0;
}

catalog-element catalog-element > .content {
  margin-left: 3em;
}

@media screen and (min-width: 1515px) {
  catalog-element catalog-element > .content material-card {
    max-width: calc(1440px - 3em);
  }
}

remove-image {
  width: 30px;
}

material-checkbox .label {
  display: none;
}

taglist material-checkbox {
  margin: auto;
  width: 18px;
}

material-checkbox.indeterminate .checkbox .checkmark {
  border-bottom: none;
}

material-checkbox.indeterminate .checkbox.checked .checkmark {
  transform: rotate(90deg) scale(1);
  -webkit-transform: rotate(90deg) scale(1);
  -ms-transform: rotate(90deg) scale(1);
  -moz-transform: rotate(90deg) scale(1);
  -o-transform: rotate(90deg) scale(1);
}

material-checkbox .checkbox {
  border-color: var(--neutral-text);
}

material-checkbox .checkbox.checked {
  background-color: var(--neutral-text);
}
