@import url("https://fonts.googleapis.com/css2?family=Nunito:ital,wght@0,200..1000;1,200..1000&display=swap");
* {
  margin: 0;
  padding: 0;
  box-sizing: border-box;
  font-family: "Nunito", sans-serif;
  color: #fff; }

html, body {
  background-color: #111;
  scroll-behavior: smooth; }

a {
  text-decoration: none; }

.hidden {
  display: none !important; }

.invisible {
  visibility: hidden !important; }

.pushed {
  z-index: -1 !important; }

.locked {
  overflow: hidden !important; }

.button {
  background-color: #222;
  padding: 10px 20px;
  cursor: pointer;
  transition: background-color 0.2s, opacity 0.2s;
  border: 0; }
  .button.button-inverted {
    background-color: #333; }
    .button.button-inverted:hover {
      background-color: #444; }
      .button.button-inverted:hover.locked {
        background-color: #333; }
  .button:hover {
    background-color: #333; }
  .button.locked {
    opacity: 0.25;
    cursor: unset; }
    .button.locked:hover {
      background-color: #222; }

.layout-standard-container {
  position: relative;
  padding-bottom: 50px; }

.layout-standard-menu {
  position: fixed;
  bottom: 0;
  left: 0;
  width: 100%;
  height: 50px;
  background-color: #222;
  display: flex;
  justify-content: space-between;
  align-items: center; }

.layout-standard-menu-link {
  width: 25%;
  display: flex;
  height: 100%;
  justify-content: center;
  align-items: center; }
  .layout-standard-menu-link.active {
    background-color: #333; }

.layout-standard-menu-icon {
  font-size: 20px; }

.layout-standard-overlay {
  position: fixed;
  top: 0;
  left: 0;
  width: 100%;
  height: 100vh;
  overflow-y: auto; }

.media-upload-container {
  padding: 10px;
  position: relative; }

.media-upload-form {
  display: flex;
  flex-direction: column;
  justify-content: center;
  align-items: center;
  padding-top: 20px; }

.media-upload-text {
  margin-bottom: 15px; }

.media-upload-text-or {
  margin: 15px 0; }

.media-upload-drop {
  width: 300px;
  max-width: 100%;
  height: 175px;
  display: flex;
  justify-content: center;
  align-items: center;
  border: 2px dashed rgba(255, 255, 255, 0.25);
  user-select: none;
  transition: border 0.35s, background-color 0.35s; }
  .media-upload-drop.active {
    border-color: #fff;
    background-color: rgba(255, 255, 255, 0.1); }

.media-upload-preview-container {
  display: flex;
  flex-wrap: wrap;
  gap: 10px;
  padding-top: 104px; }

.media-upload-preview {
  position: relative;
  background-color: #222;
  flex-basis: calc(50% - 5px); }

.media-upload-image {
  display: block;
  width: 100%;
  aspect-ratio: 1/1;
  object-fit: cover; }

.media-upload-icon-container {
  position: absolute;
  bottom: 5px;
  right: 5px;
  background-color: rgba(0, 0, 0, 0.5);
  padding: 10px;
  border-radius: 50%;
  backdrop-filter: blur(12px); }

.media-upload-icon {
  font-size: 24px;
  width: 24px;
  height: 24px; }
  .media-upload-icon.waiting {
    animation-name: media-upload-icon;
    animation-duration: 2s;
    animation-iteration-count: infinite;
    animation-timing-function: linear; }
  .media-upload-icon.success {
    color: #2ecc71;
    position: relative;
    top: 2px;
    left: 2px; }
  .media-upload-icon.error {
    color: #e74c3c;
    position: relative;
    right: -1px; }

.media-upload-status-stats {
  display: flex;
  column-gap: 10px; }

.media-upload-status-stat {
  flex-basis: calc(50% - 6px); }

@keyframes media-upload-icon {
  0% {
    transform: rotate(0deg); }
  100% {
    transform: rotate(360deg); } }

.media-upload-status-container {
  padding: 10px;
  background-color: #222;
  position: fixed;
  z-index: 10;
  width: calc(100% - 20px);
  height: 94px;
  overflow: auto;
  border: 2px solid #333; }

.media-upload-status-buttons-container {
  display: flex;
  justify-content: space-between;
  margin-top: 10px;
  column-gap: 10px; }

.media-upload-status-button {
  flex-basis: calc(50% - 6px); }

.media-list-container {
  padding: 10px;
  display: flex;
  flex-wrap: wrap;
  gap: 10px; }

.media-list-render {
  flex-basis: calc(10% - 9px);
  aspect-ratio: 1/1;
  cursor: pointer; }

.media-list-image {
  width: 100%;
  height: 100%;
  object-fit: cover;
  display: block;
  user-select: none; }

.media-list-popup-wrapper {
  position: fixed;
  top: 0;
  left: 0;
  width: 100%;
  height: 100vh;
  z-index: 100;
  display: flex; }

.media-list-popup-background {
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  background-color: rgba(0, 0, 0, 0.8);
  cursor: pointer;
  display: flex; }
  .media-list-popup-background .icon {
    font-size: 48px;
    margin: auto;
    animation: media-list-popup-loader 2s linear infinite; }

@keyframes media-list-popup-loader {
  0% {
    transform: rotate(0deg); }
  100% {
    transform: rotate(360deg); } }

.media-list-popup-container {
  max-width: calc(100% - 50px);
  max-height: calc(100% - 100px);
  margin: auto;
  z-index: 110;
  position: relative;
  display: flex;
  flex-direction: column; }

.media-list-popup-image {
  flex: 1;
  width: 100%;
  max-height: calc(100vh - 150px);
  display: block;
  object-fit: contain; }

.media-list-popup-actions {
  width: 100%;
  display: flex; }

.media-list-popup-action {
  background-color: #111;
  width: 50%;
  display: flex;
  justify-content: center;
  align-items: center;
  height: 50px;
  cursor: pointer;
  transition: background-color 0.2s; }
  .media-list-popup-action .icon {
    font-size: 18px; }
  .media-list-popup-action:hover {
    background-color: #222; }

.media-edit-container {
  width: 100%;
  height: 100vh;
  display: flex;
  justify-content: space-between;
  align-items: center; }

.media-edit-side {
  display: flex;
  justify-content: center;
  align-items: center;
  height: 100vh; }

.media-edit-image-container {
  width: 40%;
  padding: 40px; }

.media-edit-image {
  flex: 1;
  width: 100%;
  max-height: 100%;
  display: block;
  object-fit: contain; }

.media-edit-content {
  width: 60%;
  padding: 20px;
  overflow-y: auto; }
