/* Toasts */
#toast-container {
  position: absolute;
  bottom: 0;
  left: 0;
  display: flex;
  flex-direction: column;
  width: 100%;
  padding: 5px 0px;
}
.dmc-toast {
  display: flex;
  align-items: center;
  justify-content: center;
  width: 100%;
  padding: 5px 0px;

  opacity: 0;
  transform: translateY(100%);
  transition: all 250ms ease-in-out;
}
.dmc-toast.show {
  opacity: 1;
  transform: translateY(0);
}
.dmc-toast.hide {
  opacity: 0;
  transform: translateY(-100%);
}
.dmc-toast-inner {
  height: 100%;
  padding: 5px 10px;
  border-radius: var(--border-radius);
  color: var(--third-grey);
  background: white;
  box-shadow: 0 0 5px black;
}

/* Textarea */
.textarea-container {
  display: flex;
  flex-direction: column;
  flex: 1 0 100%;
}
.textarea-wrapper {
  display: flex;
  background: rgba(255, 255, 255, 0.1);
}
.textarea-wrapper.disabled::after {
  content: "";
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
}
.textarea-wrapper.disabled .textarea {
  opacity: 0.7;
}
.textarea {
  flex: 1;

  border: 0;
  box-sizing: content-box;
  background: none;
  color: white;

  font-family: Roboto;
  font-size: 14px;

  overflow: hidden;
  resize: none;
}

/* Textarea Autocomplete */
.textarea-container.autocomplete {
  border-top-left-width: 0px;
  border-top-right-width: 0px;
}
.textarea-autocomplete {
  position: absolute;
  bottom: 100%;
  left: 0;
  width: 100%;
  padding: 15px 10px;
  border-top-left-radius: var(--border-radius);
  border-top-right-radius: var(--border-radius);
  background: var(--third-grey);
}
.textarea-autocomplete.scrollable-parent {
  position: absolute;
}
.textarea-autocomplete .textarea-autocomplete-wrapper {
  max-height: 400px;
}
.textarea-autocomplete .textarea-autocomplete-item {
  display: flex;
  align-items: center;
  height: 40px;
  padding: 5px 10px;
  cursor: pointer;
  border-radius: var(--border-radius);
}
.textarea-autocomplete .textarea-autocomplete-item.selected,
.textarea-autocomplete .textarea-autocomplete-item:hover {
  background: var(--primary-color-trans);
}
.textarea-autocomplete .textarea-autocomplete-item-image {
  width: 30px;
  height: 30px;
  background-size: cover;
  background-position: center;
  border-radius: var(--border-radius);
  margin-right: 10px;
}
.textarea-autocomplete .textarea-autocomplete-item-extra {
  font-size: 0.8em;
  opacity: 0.4;
  margin-left: auto;
}
.has-autocomplete {
  position: relative;
}
.has-autocomplete .textarea-container {
  border-top-left-radius: 0;
  border-top-right-radius: 0;
}

/* Context Menu */
.contextmenu {
  position: absolute;
  top: 0;
  left: 0;
  width: 150px;
  background: var(--second-grey);
  padding: 3px;
  font-size: 14px;
  z-index: 1000;
}
.contextmenu .contextmenu-group:not(:last-child) {
  border-bottom: 1px solid var(--border-color);
  padding-bottom: 2px;
  margin-bottom: 2px;
}
.contextmenu .contextmenu-group .contextmenu-element {
  cursor: pointer;
  padding: 3px;
  opacity: 0.7;
}
.contextmenu .contextmenu-group .contextmenu-element:hover {
  opacity: 1;
}

/* Settings */
#settings {
  position: fixed;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  padding: 20px;
  display: grid;
  grid-template-rows: 100%;
  grid-template-columns: max-content auto;
}

#settings-tabs {
  width: 250px;
  padding: 10px;
  border-right: 1px solid var(--border-color);
}
.settings-tab-name {
  padding: 7px 10px;
  margin-bottom: 2px;
  cursor: pointer;
}
.settings-tab-name:hover {
  background: var(--back-hover);
}
.settings-tab-name.selected {
  background: var(--primary-color);
}

#settings-content {
  position: relative;
  padding: 10px;
  padding-right: 75px;
  padding-left: 25px;
}
.settings-group-header {
  pointer-events: none;
  margin-bottom: 10px;
  opacity: 0.5;
}
.settings-group-inner {
  padding: 10px;
}

#settings-close {
  position: absolute;
  top: 0;
  right: 0;
  width: 40px;
  height: 40px;
  fill: white;
  stroke: none;
  cursor: pointer;
}
#settings-hamburger {
  display: none;
}

.settings-option-check {
  display: flex;
  align-items: center;
  border-bottom: 1px solid var(--trans-white);
  padding: 20px 10px;
}
.settings-option-check > .settings-option-check-details {
  margin-right: auto;
}
.settings-option-check
  > .settings-option-check-details
  > .settings-option-check-title {
  font-weight: 600;
  font-size: 17px;
}
.settings-option-check
  > .settings-option-check-details
  > .settings-option-check-description {
  font-size: 12px;
  opacity: 0.5;
}
.settings-option-check .check {
  font-size: 26px;
  flex-shrink: 0;
}
#avatarImage {
  background: #333a;
  cursor: pointer;
  width: 200px;
  height: 200px;
}

@supports (backdrop-filter: blur(8px)) {
  .textarea-autocomplete {
    background: var(--trans-black-3);
    backdrop-filter: blur(var(--backdrop-blur));
  }
}

@media (max-width: 767px) {
  #settings {
    grid-template-columns: auto;
  }

  #settings-tabs {
    position: absolute;
    right: 100%;
    width: 50vw;
    height: 100%;
    padding-top: 50px;
    background: var(--second-grey);
    z-index: 10;
    transition: transform 100ms ease-in-out;
  }
  #settings-tabs.open {
    transform: translateX(100%);
  }

  #settings-content {
    padding: 0px;
  }

  #settings-header {
    height: 40px;
    display: flex;
    flex-direction: row-reverse;
    box-sizing: content-box;
    padding-bottom: 5px;
    margin-bottom: 15px;
    border-bottom: 1px solid var(--border-color);
  }
  #settings-close {
    position: relative;
    margin-left: auto;
  }
  #settings-hamburger {
    display: flex;
    padding: 10px;
    box-sizing: content-box;
  }

  @supports (backdrop-filter: blur(8px)) {
    #settings-tabs {
      background: var(--trans-black-3);
      backdrop-filter: blur(var(--backdrop-blur));
    }
  }
}
