.toast {
	position: fixed;
	/* top: 25px;
	right: 25px; */
	background: #fff;
	padding: 0;

	border-radius: var(--spacing);
	box-shadow: -1px 1px 10px rgba(0, 0, 0, 0.3);
	z-index: 1023;
	animation: slideInRight 0.3s ease-in-out forwards,
		fadeOut 0.5s ease-in-out forwards var(--duration);
	transform: translateX(110%);

	display: flex;
	flex-direction: row;
	overflow: hidden;

	margin: 0 0 0 auto;
}

.toast.closing {
	animation: slideOutRight 0.5s ease-in-out forwards;
}

.toast-progress {
	position: absolute;
	display: block;
	bottom: 0;
	right: 0;
	height: 4px;
	width: 100%;
	background: #b7b7b7;
	animation: toastProgress var(--duration) ease-in-out forwards;
}

.toast-content-wrapper {
	display: flex;
	justify-content: space-between;
	align-items: center;
}

.toast-icon {
	font-size: 1.5rem;
	padding: var(--spacing);
	background-color: #fff8;
}

.toast-message {
	padding: var(--spacing);
	display: grid;
	grid-template-columns: auto auto;
	box-sizing: border-box;
	gap: var(--spacing);
}
.toast-message-title{
	grid-row: 1;
	grid-column: 1;
}

.toast-message-button{
    grid-row: 1;
    grid-column: 2;
    align-content: center;
    justify-self: revert-layer;
    height: 100%;
    width: 100%;
    
	text-align: center;
    box-sizing: border-box;
}

.toast-message-text{
	grid-row: 2;
	grid-column: span 2;
}

.toast.toast-success {
	background: #95eab8;
}

.toast.toast-success .toast-progress {
	background-color: #2ecc71;
}

.toast.toast-danger {
	background: #efaca5;
}

.toast.toast-danger .toast-progress {
	background-color: #e74c3c;
}

.toast.toast-info {
	background: #bddaed;
}

.toast.toast-info .toast-progress {
	background-color: #3498db;
}

.toast.toast-warning {
	background: #ead994;
}

.toast.toast-warning .toast-progress {
	background-color: #f1c40f;
}

.toast-achievement{
	.toast-icon{
		height: 4rem;
		& > img{
			height: 100%;
			width: 100%;
		}
	}
	.toast-message{
		height: 100%;
    	align-content: center;
	}

}

@keyframes slideInRight {
	0% {
		transform: translateX(110%);
	}

	75% {
		transform: translateX(-10%);
	}

	100% {
		transform: translateX(0%);
	}
}

@keyframes slideOutRight {
	0% {
		transform: translateX(0%);
	}

	25% {
		transform: translateX(-10%);
	}

	100% {
		transform: translateX(110%);
	}
}

@keyframes fadeOut {
	0% {
		opacity: 1;
	}

	100% {
		opacity: 0;
	}
}

@keyframes toastProgress {
	0% {
		width: 100%;
	}

	100% {
		width: 0%;
	}
}