#callme {
    position: fixed;
    bottom: 25px;
    right: 30px;
    width: 50px;
    height: 50px;
    background: #fff;
    border: 1px solid #ff0000;
    border-radius: 15%;
    cursor: pointer;
    overflow: hidden;
    z-index: 100;

    box-shadow: 3px 3px 8px rgba(0,0,0,0.6), 0px 0px 0px 0px #ff0000 inset;
    -o-box-shadow: 3px 3px 8px rgba(0,0,0,0.6), 0px 0px 0px 0px #ff0000 inset;
    -webkit-box-shadow: 3px 3px 8px rgba(0,0,0,0.6), 0px 0px 0px 0px #ff0000 inset;
    -moz-box-shadow: 3px 3px 8px rgba(0,0,0,0.6), 0px 0px 0px 0px #ff0000 inset;

    transition: all ease-in-out .25s;
    -o-transition: all ease-in-out .25s;
    -webkit-transition: all ease-in-out .25s;
    -moz-transition: all ease-in-out .25s;
}

#callme:hover {
    box-shadow: 1px 1px 4px rgba(0, 0, 0, 0.8), -40px 0px 0px 10px #ff0000 inset;
    -o-box-shadow: 1px 1px 4px rgba(0, 0, 0, 0.8), -40px 0px 0px 10px #ff0000 inset;
    -webkit-box-shadow: 1px 1px 4px rgba(0, 0, 0, 0.8), -40px 0px 0px 10px #ff0000 inset;
    -moz-box-shadow: 1px 1px 4px rgba(0, 0, 0, 0.8), -40px 0px 0px 10px #ff0000 inset;
}

#callme.callme-ontop {
    bottom: 75px !important;
}

#callme.callme-hide {
    bottom: 0px;
    right: 55px;
    width: 0px;
    height: 0px;
    border-radius: 50%;
    border: none;
}

#callme .callme-icon:before {
    content: "";
    position: absolute;
    background-image: url(../img/callme-sprite.png);
    background-position: -1px -1px;
    width: 50px;
    height: 50px;
    z-index: 2;
}

#callme:hover .callme-icon:before {
    background-position: -1px -51px;
}

#callme-hint {
    position: fixed;
    opacity: 0;
    bottom: 26px;
    right: 46px;
    width: 0px;
    height: 48px;
    background: #fff;
    border: 1px solid #ff0000;
    color: #ff0000;
    border-radius: 5px;
    font-weight: bold;
    overflow: hidden;
    white-space: nowrap;
    padding: 11px 13px;
    z-index: 90;

    box-shadow: none;
    -o-box-shadow: none;
    -webkit-box-shadow: none;
    -moz-box-shadow: none;

    transition: all ease-in-out .25s;
    -o-transition: all ease-in-out .25s;
    -webkit-transition: all ease-in-out .25s;
    -moz-transition: all ease-in-out .25s;
}

#callme.callme-hide + #callme-hint {
    display: none;
}

#callme:hover + #callme-hint {
    width: 187px;
    height: 34px;
    bottom: 33px;
    opacity: 1;
    padding: 5px 13px;
    box-shadow: 1px 1px 4px rgba(0,0,0,0.6);
    -o-box-shadow: 1px 1px 4px rgba(0,0,0,0.6);
    -webkit-box-shadow: 1px 1px 4px rgba(0,0,0,0.6);
    -moz-box-shadow: 1px 1px 4px rgba(0,0,0,0.6);
}

#callme.callme-ontop + #callme-hint {
    bottom: 76px !important;
}

#callme.callme-ontop:hover + #callme-hint {
    bottom: 83px !important;
}