.alert-message {
	display: flex;
	flex-flow: row nowrap;
	align-items: center;
	width: 100%;
	position: fixed;
	min-height: 2em;
	left: 0;
	bottom: 0;
	padding-left: 1em;
	padding-right: 1em;
	padding-top: 0.5em;
	padding-bottom: 0.5em;
	color: white;
	opacity: 1;
	transition: opacity 0.5s;
	border: 1px solid rgba(192, 192, 192, 0.8);
	z-index: 10001;
}

.alert-message.clickable {
	cursor: pointer;
}

.alert-message .text {
	flex: 1 1;
}

.alert-message.alert-message-error {
	background-color: rgba(244, 67, 54, 0.8);
}

.alert-message.alert-message-warn {
	background-color: rgba(255, 152, 0, 0.8);
}

.alert-message.alert-message-info {
	background-color: rgba(33, 150, 243, 0.8);
}

.alert-message.alert-message-success {
	background-color: rgba(76, 175, 80, 0.8);
}

.alert-message .close-button {
	flex: 0 0;
}

.alert-message .close-button:after {
	font-family: FontAwesome;
	font-size: 1.1em;
	color: rgba(255, 255, 255, 0.8);
	content: "\F00D";
	cursor: pointer;
}

.alert-message .close-button:hover:after {
	color: rgba(0, 0, 0, 0.5);
}

.alert-message[tooltip]:hover {
	text-decoration: underline;
}

.alert-message[tooltip]:before {
	content: attr(tooltip);
    position: absolute;
    opacity: 0;
    display: none;
    
    max-width: 50em;
    max-height: 10em;
    overflow: auto;
    
    transition: all 0.2s ease;
    padding: 0.5em;
    color: #333;
    border-radius: 5px;
    box-shadow: 2px 2px 1px silver; 
}

.alert-message[tooltip]:hover:before {
    opacity: 0.9;
    background: rgba(255, 255, 255, 0.8);
    margin-top: 1.3em;
    display: inline-block;
}
