.alert-message {
    line-height: 20px;
    font-size: 15px;
    padding-bottom: 12px;
}

.cf,
.alert {
    *zoom: 1;
}

.cf:before,
.alert:before,
.cf:after,
.alert:after {
    display: table;
    content: "";
    line-height: 0;
}

.cf:after,
.alert:after {
    clear: both;
}

#alerts {
    width: 400px;
    top: 12px;
    right: 50px;
    position: fixed;
    z-index: 9999;
    list-style: none;
}

.alert {
    width: 100%;
    margin-bottom: 8px;
    display: block;
    position: relative;
    border-left: 4px solid;
    right: -50px;
    opacity: 0;
    line-height: 1;
    padding: 0;
    transition: right 400ms, opacity 400ms, line-height 300ms 100ms, padding 300ms 100ms;
    display: table;
}

.alert:hover {
    cursor: pointer;
    box-shadow: 0 0 6px rgba(0, 0, 0, 0.3);
}

.open {
    right: 0;
    opacity: 1;
    line-height: 2;
    padding: 3px 15px;
    transition: line-height 200ms, padding 200ms, right 350ms 200ms, opacity 350ms 200ms;
}

.alert-title {
    font-weight: bold;
}

.alert-block {
    width: 80%;
    width: -webkit-calc(100% - 10px);
    width: calc(100% - 10px);
    text-align: left;
}

.alert-block em,
.alert-block small {
    font-size: .75em;
    opacity: .75;
    display: block;
}

.alert i {
    font-size: 2em;
    width: 1.5em;
    max-height: 48px;
    top: 50%;
    margin-top: -12px;
    display: table-cell;
    vertical-align: middle;
}

.alert-success {
    color: #fff;
    border-color: #539753;
    background-color: #8fbf2f;
}

.alert-error {
    color: #fff;
    border-color: #dc4a4d;
    background-color: #f25c5d;
}