figure {
    width: 100%;
    height: 40em;
    position: relative;
    font-size: 1.5rem;
}

figure div {
    display: block;
    width: 20%;
    margin-top: -2.5em;
    margin-left: -10%;
    background-color: #EEE;
    border-radius: 0.2em;
    text-align: center;
    position: absolute;
    line-height: 5em;
    font-weight: bold;
    white-space: nowrap;
    text-overflow: ellipsis;
    overflow: hidden;
}

figure div#webserver {
    width: 50%;
    height: 30em;
    border: 0.5em solid gray;
    width: 26%;
    border-radius: 0.2em;
    height: 22em;
    border: 0.5em dashed #F5F5F5;
    left: 46%;
    background-color: transparent;
    top: 10%;
}

figure div#movim_block { left: 50%; top: 50%; }
figure div#database_block { left: 50%; top: 85%; }
figure div#xmpp_block { left: 85%; top: 15%; }
figure div#browser_block { left: 15%; top: 15%; line-height: 19em; }
figure div#daemon_block { left: 50%; top: 15%; }
figure div#api_block { left: 85%; top: 50%; }

figure div.link {
    width: 0;
    height: 0;
    border-radius: 1em;
    padding: 0.25em;
    line-height: 0em;
    overflow: initial;
}

figure div.link i {
    background-color: #FFF;
    margin-top: -3rem;
    padding: 1.5rem 1rem;
    border-radius: 6rem;
    font-size: 3rem;
}

figure div.disabled    { background-color: rgba(0, 0, 0, 0.1); color: white;}
figure div.success     { background-color: #6FCC43; color: white; }
figure div.warning     { background-color: #FC8F12; color: white; }
figure div.error       { background-color: #D92727; color: white; }

figure div.link.disabled    { color: #CCC; }
figure div.link.success     { color: #6FCC43; }
figure div.link.warning     { color: #FC8F12; }
figure div.link.error       { color: #D92727; }

figure div.link.horizontal {
    width: 35%;
}

figure div.link.vertical {
    height: 35%;
}

figure div.link.vertical i {
    top: 50%;
    position: absolute;
    margin-left: -0.75em;
}

figure div.link#movim-daemon {
    left: 60%;
    top: 20%;
}

figure div.link#movim-database {
    left: 60%;
    top: 55%;
}

figure div.link#movim-browser {
    left: 25%;
    top: 55%;
}

figure div.link#browser-daemon {
    left: 25%;
    top: 20%;
}

figure div.link#xmpp-daemon {
    left: 60%;
    top: 20%;
}

figure div.link#movim-api {
    left: 60%;
    top: 55%;
}
