/** Standard avatars */
.pmwc-avatar {
  display: inline-block;
  vertical-align: middle;
  position: relative;
  font-size: 1.5rem;
  height: 1em;
  font-family: inherit;
  border-radius: 50%;
  background: var(--mdc-theme-surface, white);
  color: var(--mdc-theme-text-hint-on-background, rgba(0, 0, 0, 0.38));
}

.pmwc-avatar--interactive {
  cursor: pointer;
}

.pmwc-avatar__icon {
  border-radius: inherit;
  width: 100%;
  height: 100%;
  background: transparent none no-repeat center center / cover;
  opacity: 0;
  transition: opacity 0.2s;
}

.pmwc-avatar--has-image .pmwc-avatar__text {
  opacity: 0;
}

.pmwc-avatar--has-image .pmwc-avatar__icon {
  opacity: 1;
}

.pmwc-avatar__text {
  text-decoration: uppercase;
  width: 1em;
  min-width: 1em;
  max-width: 1em;
  height: 1em;
  max-height: 1em;
  min-height: 1em;
  line-height: 1em;
  text-align: center;
  border-radius: inherit;
  user-select: none;
  transition: opacity 0.2s;
}

.pmwc-avatar__text-inner {
  text-decoration: uppercase;
  font-size: 0.5em;
  font-weight: bold;
}

.pmwc-avatar--smaller-text .pmwc-avatar__text-inner {
  font-size: 0.35em;
}

.pmwc-avatar__icon {
  position: absolute;
}

/** Square avatars */
.pmwc-avatar--square {
  border-radius: 0.1875rem;
}

/** Avatar sizes */
.pmwc-avatar--xsmall {
  font-size: 1.125rem;
}

.pmwc-avatar--small {
  font-size: 1.25rem;
}

.pmwc-avatar--medium {
  font-size: 1.5rem;
}

.pmwc-avatar--large {
  font-size: 2.25rem;
}

.pmwc-avatar--xlarge {
  font-size: 3rem;
}

.pmwc-avatar .pmwc-avatar__icon {
  font-size: 1em;
}

/** Avatar count */
.pmwc-avatar--count {
  background: var(--mdc-theme-primary, #6200ee);
  color: var(--mdc-theme-on-primary, white);
}

.pmwc-avatar--count-overflow .pmwc-avatar__text-inner:before {
  content: '+';
  font-size: 0.66em;
  vertical-align: top;
  margin-right: 2px;
}

/** Avatar groups */
.pmwc-avatar-group {
  display: inline-block;
  vertical-align: middle;
}

.pmwc-avatar-group .pmwc-avatar {
  margin: 0.125em;
}

.pmwc-avatar-group--dense .pmwc-avatar {
  margin-left: -0.125em;
  margin-right: -0.125em;
}

.pmwc-avatar-group--dense .pmwc-avatar:first-of-type {
  margin-left: 0.125em;
}

.pmwc-avatar-group--dense .pmwc-avatar:not(:first-of-type) .pmwc-avatar__text {
  box-shadow: 0 2px 4px rgba(0, 0, 0, 0.3);
}

.pmwc-avatar-group--dense .pmwc-avatar:last-of-type {
  margin-right: 0.125em;
}
