.alertbanner, #alertbanner{
	position: fixed;
	bottom: 25px;
	right: 5vw;
	padding: 15px;
	border-radius: 15px;
	box-shadow: 0 1px 3px rgba(0,0,0,0.12), 0 1px 2px rgba(0,0,0,0.24);
	transition: all 0.3s cubic-bezier(.25,.8,.25,1);
	font-size: 16px;
	cursor: default;
	max-width: 350px;
	word-wrap: break-word;
	z-index: 1000;
}

.alertbanner, #alertbanner:hover {
	box-shadow: 0 14px 28px rgba(0,0,0,0.25), 0 10px 10px rgba(0,0,0,0.22);
}

.alertbanner, #alertbanner ul li:nth-child(n+2){
	padding-top: 10px;
}

.showAlert{
	animation: showAlert 0.5s ease-in-out forwards;
}
.hideAlert{
	animation: hideAlert 0.5s ease-in-out forwards;
}

@keyframes showAlert {
	0%{
		opacity: 0%;
		bottom: 25px;
		visibility: hidden;
	}
	100%{
		opacity: 100%;
		bottom: 75px;
		visibility: visible;
	}
}

@keyframes hideAlert {
	0%{
		opacity: 100%;
		bottom: 75px;
		visibility: visible;
	}
	100%{
		opacity: 0%;
		bottom: 25px;
		visibility: hidden;
	}
}

@media only screen and (max-width: 600px) {
	@keyframes showAlert {
		0%{
			opacity: 0%;
			bottom: 25px;
			visibility: hidden;
		}
		100%{
			opacity: 100%;
			bottom: 105px;
			visibility: visible;
		}
	}
	
	@keyframes hideAlert {
		0%{
			opacity: 100%;
			bottom: 105px;
			visibility: visible;
		}
		100%{
			opacity: 0%;
			bottom: 25px;
			visibility: hidden;
		}
	}
}

.errorbanner{
	background-color: #ba1a1a;
	color: #fff;
}
.warningbanner{
	background-color: #ff8800;
	color: #fff;
}
.successbanner{
	background-color: #007e33;
	color: #fff;
}
.infobanner{
	background-color: var(--primary);
	color: var(--on-primary);
}



@media only screen and (min-width: 980px) {
	.alertbanner, #alertbanner{
		right: 10vw;
	}
}