.user_notifications__cont {
	--gap: 10px;
	--padding: 14px;
    position: fixed;
    bottom: 0;
    right: 0;
    z-index: 999;
    display: flex;
    flex-flow: column-reverse nowrap;
    justify-content: flex-start;
    align-items: flex-end;
    gap: var(--gap);
    padding: var(--padding);
    max-height: 100vh;
    box-sizing: border-box;
}
.user_notifications__count {
	--color: var(--ui-color-palette-white-base, white);
	--bg-color: var(--theme-base-color, #DC2F2F);
    background: var(--bg-color);
    color: var(--color);
    width: 48px;
    height: 48px;
    border-radius: 50%;
    display: flex;
    flex-flow: row wrap;
    justify-content: center;
    align-items: center;
    position: relative;
    box-shadow: 0 0 5px var(--bg-color);
    cursor: pointer;
    z-index: 1;
    flex: 0 0 auto;
}
.user_notifications__controls:not(.collapsed) + .user_notifications__count {
    box-shadow: none;
}
.user_notifications__controls:not(.collapsed) + .user_notifications__count number {
	display: none;
}
.user_notifications__count > svg {
	width: 70%;
	height: 70%;
	position: relative;
	z-index: 1;
}
.user_notifications__count > svg > * {
    stroke: var(--color);
}
.user_notifications__count > number {
	display: none;
    position: absolute;
    bottom: -8px;
    right: -8px;
    flex-flow: row wrap;
    justify-content: center;
    align-items: center;
    color: var(--color);
    background: var(--bg-color);
    font-size: 12px;
    line-height: 1;
    padding: .2em;
    width: 26px;
    height: 26px;
    border-radius: 50%;
    box-shadow: 0 0 5px var(--bg-color);
    z-index: 0;
}
.user_notifications__count.number > number {
    display: flex;
}
.user_notifications__controls {
    position: absolute;
    z-index: 3;
    bottom: var(--padding);
    right: var(--padding);
    z-index: 2;
    background: white;
    display: flex;
    flex-flow: row nowrap;
    gap: 2px;
    justify-content: flex-end;
    align-items: stretch;
    border-radius: 24px;
    height: 48px;
    transition: all .2s linear;
    opacity: 1;
    border: solid 2px white;
    box-sizing: content-box;
}
.user_notifications__controls.collapsed {
	opacity: 0;
	display: none;
}
.user_notifications__controls > button.btn {
    border: none;
    outline: none;
    height: 48px;
    width: 48px;
    background: var(--theme-base-color);
    color: var(--ui-color-palette-white-base);
    border-radius: 50%;
    display: flex;
    flex-flow: row nowrap;
    justify-content: center;
    align-items: center;
    padding: 0;
}
.btn-collapse:after {
	content: '';
	display: block;
	height: 2px;
	background: #b0b0b0;
	width: 50%;
	border-radius: 1px;
}
.btn-close {position: relative;}
.btn-close:after,
.btn-close:before {
    content: '';
    height: 2px;
    background: #b0b0b0;
    width: 56%;
    transform-origin: center center;
    position: absolute;
    top: 50%;
    left: 50%;
    transform: translate(-50%, -50%) rotate(45deg);
    border-radius: 1px;
}
.btn-close:after {
    transform: translate(-50%, -50%) rotate(-45deg);
}
.user_notifications__controls > button.btn:after,
.user_notifications__controls > button.btn:before {
	background: white;
    opacity: .8;
    height: 3px;
}
.user_notifications__controls > button.btn:hover:after,
.user_notifications__controls > button.btn:hover:before {
    opacity: 1;
}
.user_notifications__controls > button.btn-expand:before {
    content: '';
    background: url('images/expand.icon.svg') transparent no-repeat center center;
    background-size: contain;
    height: 50%;
    width: 50%;
}
.user_notifications__list {
    display: flex;
    flex-direction: column-reverse;
    justify-content: flex-start;
    align-items: stretch;
    gap: .05rem;
    overflow: auto;
    max-width: 250px;
}
.user_notification {
    border: 1px solid #f2f2f2;
    background: #fff;
    padding: .5rem .5rem .8rem .8rem;
    display: flex;
    flex-flow: row wrap;
    justify-content: flex-start;
    align-items: center;
    gap: .2rem;
}
.user_notification.new {
	border-color: #333;
}
.user_notification .controls {
	    display: flex;
    flex-flow: row nowrap;
    justify-content: flex-end;
    align-items: stretch;
    gap: .1rem;
    flex: 0 0 auto;
    order: 2;
    margin-left: auto;
}
.user_notification .controls button {
    background: transparent;
    position: relative;
    padding: 0;
    width: 24px;
    height: 24px;
    border: none;
    outline: none;
    display: flex;
    flex-flow: row nowrap;
    justify-content: center;
    align-items: center;
}
.user_notification .controls button:after,
.user_notification .controls button:before {
    opacity: .8;
}
.user_notification .controls button:hover:after,
.user_notification .controls button:hover:before {
    opacity: 1;
}
.user_notification .date{
    color: #999999;
    font-size: 12px;
    line-height: 1.1;
    flex: 0 0 auto;
    order: 1;
}
.user_notification .message {
    color: var(--ui-color-base-default);
    font-size: 1rem;
    line-height: 1.2;
    flex: 1 1 100%;
    order: 3;
    padding: 0 .3rem 0 0;
    max-width: 100%;
    white-space: break-spaces;
    overflow-wrap: break-word;
}