html, body
{
    height: 100%;
    width:  100%;
}

#layer-map,
#layer-page,
#layer-user
{
    position: fixed;
    display: block;
    bottom: 0;
    right:  0;
    left:   0;
    top:    0;
}
#layer-map  { z-index: 1; }
#layer-page { z-index: 2; }
#layer-user { z-index: 3; }

#map
{
    background-image: url("bg_.jpg");
}

/* Настрйоки карты */
#layer-map > .start
{
    background: radial-gradient(ellipse,
        rgba(50, 75, 100, .5),
        rgba(0, 0, 0, .9)
    );
}
#layer-map .ol-popup {
    box-shadow: 0px 0px 3px rgba(0, 0, 0, .5);
    background-color: rgba(255, 255, 255, .8);
    padding: 10px 10px 10px 10px;
    font-weight: normal;
    position: absolute;
    border-radius: 3px;
    line-height: 15px;
    font-size:   13px;
    min-width:  250px;
    bottom: 30px;
    left:  -40px;
}
#layer-map .ol-popup:after
{
    border: solid transparent;
    border-top-color: rgba(255, 255, 255, .9);
    position: absolute;
    margin-left: -10px;
    border-width: 5px;
    content:  ' ';
    left: 45px;
    top: 100%;
    height: 0;
    width:  0;
}
#layer-map .ol-popup a
{
    text-decoration: underline;
    color: darkred;
}
#layer-map .ol-popup a:hover
{
    text-decoration: underline;
    color: black;
}

    /* Настройки страниц */
#layer-page.active
{
    background: url("bg_.jpg");
    min-width: 1200px;
    padding-top: 40px;
}
#layer-page.need-authorization
{
    padding-top: 80px;
}
#layer-page.need-authorization > div.panel
{
    border-bottom: 1px solid rgba(255, 255, 255, 1);
    padding-bottom: 15px;
    bottom: auto;
    right: 15px;
    left:  15px;
    top:   15px;
}

#layer-page h2.line
{
    border-bottom: 1px solid rgba(255, 255, 255, .8);
    padding-bottom: 4px;
}

/* Настройки панели */
#layer-user
{
    background: rgba(50, 50, 50, .9);
    transition: margin .5s;
    margin-top: -120px;
    bottom: auto;
}
#layer-user:hover
{
    margin-top: 0;
}
#layer-user div.panel
{
    position: fixed;
}
#layer-user div.panel > a
{
    text-decoration: none;
    display: inline-block;
    line-height: 20px;
    font-size:   15px;
}
#layer-user div.panel > a:hover
{
    background-color: rgba(0, 0, 0, .8);
    margin: -10px -10px -10px -10px;
    padding: 10px 10px 10px 10px;
}
#layer-user div.panel > a > i
{
    text-decoration: none;
    display: inline-block;
    text-align: center;
    margin-right: 5px;
    font-size: 18px;
    height: 20px;
    width:  20px;
    float: left;
}
#layer-user div.panel > a > u
{
    background-color: rgba(250, 5, 10, 1);
    color: rgba(255, 255, 255, 1);
    margin: -5px 0 0 -13px;
    text-decoration: none;
    transition: all .3s;
    border-radius: 100%;
    text-align: center;
    position: absolute;
    line-height: 13px;
    min-width:   13px;
    font-size:   11px;
}
#layer-user div.panel > a > u[data-active='0']
{
    font-size: 0;
    opacity: 0;
    height: 0;
    width: 0;
}

/* Нотификации */
#notifications
{
    position: fixed;
    bottom: 75px;
    left:   15px;
    z-index: 50;
}
#notifications > div
{
    background-color: rgba(0, 0, 0, .7);
    transition: all .3s;
    margin-top: 10px;
    height: 75px;
    width: 350px;
}
#notifications > div > a
{
    background-color: rgba(0, 0, 0, .7);
    color: rgba(255, 255, 255, 1);
    text-decoration: none;
    position: absolute;
    font-size: 20px;
    right: -35px;
    top:     0;
}
#notifications > div:hover,
#notifications > div > a:hover
{
    background-color: rgba(0, 0, 0, .8);
}
#notifications > div > img
{
    border-radius: 3px;
    margin-right: 10px;
    height: 75px;
    width:  75px;
    float: left;
}
#notifications > div > div > b
{
    color: rgb(200, 200, 0);
    font-weight: normal;
    line-height: 30px;
    display: block;
}
#notifications > div > div > p
{
    color: rgba(255, 255, 255, .8);
    overflow: hidden;
    height: 45px;
}

[name="user~statement"]
{
    background: rgba(0, 0, 0, .5) !important;
    z-index: 10;
}
[name="user~statement"] .i,
[name="user~statement"] .i input
{
    background-color: rgba(255, 255, 255, .5) !important;
}
[name="user~statement"] .i input:focus
{
    background-color: rgba(255, 255, 255, .8) !important;
}
[name="user~statement"] .widget .button.style:hover
{
    background-color: rgba(0, 0, 0, .5);
}
[name="user~statement"] .widget .button.style.disabled,
[name="user~statement"] .widget .button.style.disabled:hover
{
    font-size: 95%;
}
[name="user~statement"] .widget .absolute
{
    bottom: 100px;
    display: none;
    opacity: 0;
    top: auto;
}
[name="user~statement"] .widget .absolute a.button
{
    background-repeat: no-repeat;
    background-position: center;
    text-decoration: none;
    border-radius: 5px;
}
[name="user~statement"] .widget .absolute a.button:hover
{
    box-shadow: 0 0 5px rgba(0, 0, 0, .5);
    color: rgba(0, 0, 0, .6);
    text-decoration: none;
}
[name="user~statement"] .widget .absolute a.button.disabled,
[name="user~statement"] .widget .absolute a.button.disabled:hover
{
    background-image: url("img/radio_ajax.gif");
    box-shadow: 0 0 5px rgba(0, 0, 0, .5);
    color: rgba(0, 0, 0, .6);
    cursor: default;
    font-size: 0;
}


[data-element="auth"]
{
    margin-top: -50px;
    width: 350px;
}
[data-element="languages"]
{
    position: absolute;
    font-size: 0;
    bottom: 0;
    right:  0;
    left:   0;
}
[data-element="languages"] > a,
[data-element="languages"] > a:hover
{
    text-decoration: none;
    display: inline-block;
    margin: 0 10px 0 10px;
    line-height: 24px;
    font-size: 13px;
}
[data-element="languages"] > a > img
{
    margin-right: 5px;
    float: left;
}
[data-auth-button]
{
    background-color: rgba(255, 255, 255, .1);
    color: rgba(255, 255, 255, .8);
    text-decoration: none;
    text-align: center;
    display: block;
    height: 80px;
}
[data-auth-button]:hover
{
    background-color: rgba(255, 255, 255, .2);
    color: rgba(255, 255, 255, .9);
    text-decoration: none;
}
[data-auth-button] > i
{
    line-height: 80px;
    font-size: 40px;
    display: block;
}

[data-flat-button]
{
    background-color: rgba(0, 0, 0, .5);
    color: rgb(255, 255, 255);
    padding: 0 15px 0 15px;
    text-decoration: none;
    display: inline-block;
    line-height: 50px;
    font-size: 24px;
}
[data-flat-button]:hover
{
    background-color: rgba(0, 0, 0, .8);
    color: rgb(200, 200, 0);
    text-decoration: none;
}
[data-flat-button='line-small']
{
    background: transparent;
    line-height: 30px;
    font-size: 13px;
    display: block;
}

/* кнопки */
[data-button]
{
    background-color: rgb(200, 100, 0) !important;
    padding: 5px 10px !important;
    text-decoration: none;
    display: inline-block;
    line-height: 20px;
    font-weight: 500;
    cursor: pointer;
    font-size: 15px;
    color: #ffffff;
}
[data-button]:hover
{
    background-color: rgb(200, 150, 0) !important;
    text-decoration: none;
    color: #FFFFFF;
}
[data-button].w100
{
    padding-right: 0 !important;
    padding-left:  0 !important;
    width: 100%;
}
[data-button].ajax,
[data-button].ajax:hover
{
    background: rgb(200, 150, 0) url("img/button_ajax.gif") no-repeat center;
    cursor: default;
    font-size: 0;
}
[data-button='green']
{
    background-color: rgb(75, 125, 25);
}
[data-button='green']:hover
{
    background-color: rgb(100, 150, 25);
}
[data-button='red']
{
    background-color: rgb(175, 50, 50);
}
[data-button='red']:hover
{
    background-color: rgb(200, 75, 75);
}

[data-chat].law_dispute > div.message
{
    padding-left: 45px;
    min-height: 35px;
    margin: 5px;
}

[data-share]
{
    text-shadow: 1px 1px 1px rgba(0, 0, 0, .2);
    color: rgba(255, 255, 255, 1);
    text-decoration: none;
    text-align: center;
    line-height: 50px;
    font-size: 18px;
    display: block;
}
[data-share]:hover
{
    text-shadow: 1px 1px 1px rgba(0, 0, 0, .5);
    color: rgba(255, 255, 255, .8);
    text-decoration: none;
    opacity: .9;
}
[data-share] > i
{
    background-color: rgba(255, 255, 255, .2);
    text-align: center;
    line-height: 50px;
    font-size: 30px;
    display: block;
    height: 50px;
    width:  50px;
    float: left;
}
[data-share='vk']
{
    background-color: rgb(80, 115, 150);
}
[data-share='fb']
{
    background-color: rgb(65, 105, 180);
}

#map-chat
{
    background-color: transparent;
    margin: 0 -15px 45px 15px;
    transition: all .3s;
}
#map-chat:hover
{
    background-color: rgba(255, 255, 255, .2);
}
#map-chat > ._head
{
    transition: all .3s;
    opacity: 0;
}
#map-chat:hover > ._head
{
    opacity: 1;
}
#map-chat > ._list > div._message
{
    background-color: rgba(255, 255, 255, .8);
    padding: 10px 70px 10px 10px;
    transition: all .3s;
    margin-bottom: 10px;
    position: relative;
    min-height: 50px;
    opacity: .3;
}
#map-chat > ._list > div._message > img
{
    position: absolute;
    right: 10px;
    top: 10px;
}
#map-chat:hover > ._list > div._message,
#map-chat > ._list > div._message._unread
{
    opacity: 1;
}
[data-unread="map-chat"]
{
    text-decoration: none;
    position: absolute;
    right: -10px;
    top: -10px;
}
[data-unread="map-chat"][data-active="0"]
{
    display: none;
}
