@value (colorFillPrimary, colorBackgroundTertiary, colorInformation, colorInformationLightest) from '../../styles/variables/_color.css';
@value ( size34, size42, size60, size100, sizeFluid) from '../../styles/variables/_size.css';
@value (borderRadiusCircle, borderRadiusLarge, borderRadiusXLarge, borderWidthSecondary) from '../../styles/variables/_border.css';
@value (spaceNone, spaceXXSmall, spaceXSmall) from '../../styles/variables/_space.css';

.container {
  border-radius: borderRadiusCircle;
  display: flex;
  align-items: center;
  justify-content: center;
}

.container.extraLargeSize {
  width: size100;
  height: size100;
  min-width: size100;
  min-height: size100;
}

.container.largeSize {
  width: size60;
  height: size60;
  min-width: size60;
  min-height: size60;
}

.container.mediumSize {
  width: size42;
  height: size42;
  min-width: size42;
  min-height: size42;
}

.container.smallSize {
  width: size34;
  height: size34;
  min-width: size34;
  min-height: size34;
}

.container.baseExtraLargeSize {
  min-width: size100;
  height: size100;
  border-radius: borderRadiusCircle;
  padding: spaceNone spaceSmall;
}

.container.baseLargeSize {
  min-width: size60;
  height: size60;
  border-radius: borderRadiusXLarge;
  padding: 0 spaceXSmall;
}

.container.baseMediumSize {
  min-width: size42;
  height: size42;
  border-radius: borderRadiusLarge;
  padding: 0 spaceXXSmall;
}

.container.baseSmallSize {
  min-width: size34;
  height: size34;
  border-radius: borderRadiusLarge;
  padding: 0 spaceXXSmall;
}

.avatar {
  vertical-align: middle;
  min-width: sizeFluid;
  min-height: sizeFluid;
  border-radius: borderRadiusCircle;
  display: flex;
  align-items: center;
  justify-content: center;
  object-fit: cover;
}

.ring {
  border-radius: borderRadiusCircle;
  width: sizeFluid;
  height: sizeFluid;
  border: solid borderWidthSecondary transparent;
  background-image: linear-gradient(white, white),
    radial-gradient(circle at top right, colorFillPrimary, colorInformation);
  background-origin: border-box;
  background-clip: content-box, border-box;
  display: flex;
  align-items: center;
  justify-content: center;
}

.whiteCircle {
  border-radius: borderRadiusCircle;
  border: solid borderWidthSecondary colorBackgroundTertiary;
  width: sizeFluid;
  height: sizeFluid;
}

.innerContainer {
  --background-color: colorInformationLightest;
  display: flex;
  position: relative;
  border-radius: borderRadiusCircle;
  width: sizeFluid;
  height: sizeFluid;
  background: var(--background-color);
}

.alignCenter {
  align-items: center;
  justify-content: center;
}

.statusIndicatorWrapper {
  position: absolute;
}

.statusIndicatorWrapper.large {
  top: calc(spaceXXSmall / 2);
  right: calc(spaceXXSmall / 2);
}

.statusIndicatorWrapper.medium {
  top: spaceNone;
  right: spaceNone;
}

.statusIndicatorWrapper.small {
  top: calc((spaceXXSmall / 2) * -1);
  right: calc((spaceXXSmall / 2) * -1);
}
