.user-avatar {
    position: relative;
    overflow: hidden;
    display: inline-block;
}

/* The sizer is in normal flow and establishes the container dimensions */
.user-avatar__sizer {
    position: relative;
    display: block;
    width: 100%;
    height: auto;
}

/* All other layers are absolutely positioned over the sizer */
.user-avatar__layer {
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
}

.user-avatar__background {
    z-index: 1;
    object-fit: cover;
}

.user-avatar__avatar {
    z-index: 2;
    object-fit: contain;
}

.user-avatar__border {
    z-index: 3;
    object-fit: contain;
}

.user-avatar__border-hex {
    z-index: 3;
    box-sizing: border-box;
    pointer-events: none;
    border: 5px solid;
}
