/* styling for notifications / messages and errors */
notification{
    display:none;
    visibility:hidden;
    opacity:0;
    height:0px;
    width:0px;
    position:static;
    line-height:0px;
    margin:0;
    padding:0;
}

/* actual notification elements */
div.notification{
    width:100%;
    height:66px;
    position:fixed;
    top:0px;
    left:0px;
    z-index:100002;
    opacity:0;
    transition:all .3s;
    transform:translateY(-100%);
    box-sizing:border-box;
    padding:10px 66px 10px 66px;
    display:table;
}
div.notification.show{
    opacity:1;
    transform:translateY(0);
}

div.notification--dismiss{
    width:32px;
    height:32px;
    position:absolute;
    right:17px;
    top:50%;
    margin:-16px 0 0 0;
    border-radius:16px;
    opacity:.6;
    transition:all .3s;
}
div.notification--dismiss.ui_touch{
    opacity:1;
}
div.notification--message{
    display:table-cell;
    width:100%;
    vertical-align:middle;
    font-size:1.4em;
    position:relative;
}
div.notification--message span.notification--icon{
    position:absolute;
    left:-43px;
    top:50%;
    transform:translateY(-50%);
}

/* normal messages */
div.notification.normal{
    background-color:rgba(255,255,255,1);
    box-shadow:0px 0px 2px rgba(0,0,0,.25);
}
div.notification.normal div.notification--dismiss{
    background-color:#25e2a7;
}
div.notification.normal div.notification--message{
    color:#25e2a7;
}
div.notification.normal div.notification--message span.notification--icon{
    height:30px;
    width:33px;
    background-color:#25e2a7;
    border-radius:50%;
}
div.notification.normal div.notification--message span.notification--icon:before{
    border-top:16px solid #25e2a7;
    border-left:6px solid transparent;
    border-right:6px solid transparent;
    position:absolute;
    left:-1px;
    top:60%;
    transform:rotate(45deg);
    content:"";
}
div.notification.normal div.notification--message span.notification--icon:after{
    width:100%;
    height:100%;
    position:absolute;
    left:0px;
    top:0px;
    line-height:14px;
    font-size:1.8em;
    text-align:center;
    content:"...";
    font-family:"Playfair Display",serif;
    color:#fff;
    z-index:1;
}

/* warning message */
div.notification.warning{
    background-color:#fff4c1;
    border-bottom:1px solid #e6a200;
    box-shadow:0px 0px 2px rgba(0,0,0,.25);
}
div.notification.warning div.notification--dismiss{
    background-color:#e6a200;
}
div.notification.warning div.notification--message{
    color:#e6a200;
}
div.notification.warning div.notification--message span.notification--icon{
    height:32px;
    width:32px;
    background-color:#fff4c1;
    border:1px solid #e6a200;
    box-sizing:border-box;
    border-radius:50%;
}
div.notification.warning div.notification--message span.notification--icon:before{
    height:30px;
    width:30px;
    text-align:center;
    line-height:30px;
    content:"!";
    color:#e6a200;
    font-size:1.6em;
    font-weight:600;
    position:absolute;
    left:0px;
    top:0px;
}

/* error message */
div.notification.error{
    background-color:#fff;
    border-bottom:1px solid #ed0000;
    box-shadow:0px 0px 2px rgba(0,0,0,.25);
}
div.notification.error div.notification--dismiss{
    background-color:#ed0000;
}
div.notification.error div.notification--message{
    color:#ed0000;
}
div.notification.error div.notification--message span.notification--icon{
    height:32px;
    width:32px;
    background-color:#ed0000;
    border:1px solid #ed0000;
    box-sizing:border-box;
    border-radius:50%;
}
div.notification.error div.notification--message span.notification--icon:before{
    height:30px;
    width:30px;
    text-align:center;
    line-height:30px;
    content:"!";
    color:#fff;
    font-size:1.6em;
    font-weight:600;
    position:absolute;
    left:0px;
    top:0px;
}

/* confirmation message */
div.notification.confirm{
    background-color:#25e2a7;
    border-bottom:1px solid #1aac8e;
    box-shadow:0px 0px 2px rgba(0,0,0,.25);
}
div.notification.confirm div.notification--dismiss{
    background-color:rgba(0,0,0,.5);
}
div.notification.confirm div.notification--message{
    color:#fff;
}
div.notification.confirm div.notification--message span.notification--icon{
    height:32px;
    width:32px;
    background-color:transparent;
    border:1px solid transparent;
    box-sizing:border-box;
    border-radius:50%;
    left:-50px;
    margin-top:3px;
}
div.notification.confirm div.notification--message span.notification--icon:before{
    height:22px;
    width:16px;
    border-radius:1px;
    border-bottom:5px solid #fff;
    border-right:5px solid #fff;
    position:absolute;
    left:50%;
    top:50%;
    box-sizing:border-box;
    transform:rotate(45deg) translate(-65%,-65%);
    content:"";
}

