*
{
    margin: 0;;
    padding: 0;
}
html
{
    height: 100%;
}
body
{
    font-family: tahoma;
    font-size: 12px;
    line-height: 1.3em;;

    position: relative;

    height: 100%;

    color: #576977;
    background: #c7d9e4 url(../images/body_bg.webp);
}
img
{
    border: 0;
}
table
{
    border-collapse: collapse;

    border: 0;
}
ul
{
    list-style: none;
}

a
{
    color: #78b310;
    outline: none;
}
a:hover
{
    text-decoration: none;
}
p
{
    padding-bottom: 12px;

    text-align: justify;
}
h1
{
    font-size: 12px;
    line-height: 1.1em;

    position: relative;;

    margin-bottom: 12px;

    color: #4793c3;
    background: url(../images/line3_bg_l.gif) 0 100% no-repeat;
}
h1 span
{
    position: relative;;

    display: block;

    padding: 0 0 12px 0;

    background: url(../images/line3_bg_r.gif) 100% 100% no-repeat;
}
h1 span b
{
    color: #78b310;
}
p span
{
    color: #4793c3;
}
h3
{
    font-size: 12px;
    line-height: 1.1em;

    position: relative;;

    margin-bottom: 12px;

    color: #4793c3;
    background: url(../images/line3_bg_l.gif) 0 100% no-repeat;
}
h3 span
{
    position: relative;;

    display: block;

    padding: 0 0 12px 0;

    background: url(../images/line3_bg_r.gif) 100% 100% no-repeat;
}
h3 span b
{
    color: #78b310;
}
h4
{
    font-size: 12px;
    line-height: 1.1em;

    padding-bottom: 2px;;

    color: #576977;
}

/*--- framework ---*/
.page_wrap
{
    min-height: 100%;


}
.main-box {
    height: 100%;
}
* html .page_wrap
{
    _width: expression(((document.documentElement.clientWidth || document.body.clientWidth) < 998)? "998px" : "100%");
}
.page
{
    background: url(../images/page_bg_t.webp) 50% 0 no-repeat;
    background-size: auto;
}
.header
{
    position: relative;

    height: 289px;

    background: url(../images/header_bg.webp) 50% 74px no-repeat;
}
.main_content
{
    display: table;

    width: 100%;
    height: auto;
    padding: 10px 0 50px 0;

    background: none;
}
.main_content_inside
{
    float: left;

    width: 100%;
}
.main_content .left_column
{
    float: left;

    width: 265px;;
    margin-left: -100%;
}
.main_content .center_column_wrap
{
    float: left;

    width: 100%;
}
.main_content .center_column
{
    margin: 0 0 0 265px;
    padding-bottom: 125px;
}
.footer
{
    height: 45px;
    margin-top: -45px;
}
* html .footer
{
    _width: expression(((document.documentElement.clientWidth || document.body.clientWidth) < 998)? "998px" : "100%");
}
.one_column .main_content .center_column
{
    margin: 0;
}

/*--- header ---*/
.header .logo
{
    position: absolute;
    top: 0;
    left: 50%;

    transform: translateX(-50%);
}
.header .imgs
{
    position: absolute;
    top: 76px;
    left: 0;;

    width: 100%;
}

.header .imgs tr {
    display: flex;
    justify-content: center;
    height: fit-content;
    align-items: center;
}

.header .imgs td
{
    position: relative;

    overflow: hidden;

    text-align: center;
}

.header .imgs a.img
{
    display: flex;
    position: relative;;

    height: fit-content;
    margin: 10px auto;

    background: url(../images/frame1.webp) 0 0 no-repeat;
    background-position: center;
    background-size: 92%;
    justify-content: center;
}
.header .imgs a.img img
{
    width: 82%;
    margin: 0;;
    padding: 3px;

    _top: 26px;
}
.header .imgs a.img i
{
    position: absolute;
    bottom: 9px;

    display: block;
    display: none;;

    width: 31px;
    height: 35px;

    background: url(../images/ico_loop.webp) 0 0 no-repeat;
}
.header .imgs a.img:hover i
{
    display: block;

    _display: none;
}
.header .top_menu
{
    position: absolute;
    top: 251px;
    left: 0;

    overflow: hidden;;

    width: 100%;
}
.header .top_menu ul
{
    display: block;

    height: 38px;
    margin-left: 13px;;

    background: url(../images/line2.gif) 0 0 no-repeat;
}
.header .top_menu li
{
    float: left;

    width: 14%;

    background: url(../images/line2.gif) 100% 0 no-repeat;
}
.header .top_menu li a
{
    display: block;

    height: 38px;
    margin: 0 2px;

    background: 50% 0 no-repeat;
}
.header .top_menu li a:hover,
.header .top_menu li.active a
{
    background-position: 50% 100%;
}
.header .top_menu li a span
{
    display: none;
}

.header .top_menu li.item1 a
{
    background-image: url(../images/top_menu_glavnaya.webp);
}
.header .top_menu li.item2 a
{
    background-image: url(../images/top_menu_nomera.webp);
}
.header .top_menu li.item3 a
{
    background-image: url(../images/top_menu_uslugi.webp);
}
.header .top_menu li.item4 a
{
    background-image: url(../images/top_menu_ceni.webp);
}
.header .top_menu li.item5 a
{
    background-image: url(../images/top_menu_otzivi.webp);
}
.header .top_menu li.item6 a
{
    background-image: url(../images/top_menu_bronirovanie.webp);
}
.header .top_menu li.item7 a
{
    background-image: url(../images/top_menu_kontakti.webp);
}

/*--- footer ---*/
.footer .counter
{
    float: right;

    padding: 10px 20% 0 0;
}
.footer .copy
{
    line-height: 1.1em;;

    padding: 10px 0 0 0;

    text-align: center;

    color: #576977;
}

/*--- main content ---*/
.block
{
    padding: 0 16px;
}
.block_bg1
{
    padding-top: 14px;

    background: url(../images/block_bg_t_x.webp) 0 0 repeat-x;
}
.block_bg2
{
    padding-bottom: 14px;

    background: url(../images/block_bg_b_x.webp) 0 100% repeat-x;
}
.block_bg3
{
    background: url(../images/block_bg_in_b.webp) 0 100% repeat-x;
}
.block_inside
{
    position: relative;

    width: 100%;
    height: 100%;;

    background: url(../images/block_bg_in_t.webp) 0 0 repeat-x;
}
.block i.bg_t_l
{
    position: absolute;
    top: -14px;
    left: -16px;

    width: 16px;
    height: 245px;

    background: url(../images/block_bg_t_l.webp) 0 0 no-repeat;
}
.block i.bg_t_r
{
    position: absolute;
    top: -14px;
    right: -16px;

    width: 16px;
    height: 245px;

    background: url(../images/block_bg_t_r.webp) -14px 0 no-repeat;
}
.main_content .center_column .block i.bg_t_l
{
    background-image: url(../images/block_bg_t_l2.webp);
}
.block .content
{
    padding: 18px;
}

.block_reservation_tel
{
    margin: -169px 0 0 30px;
    padding-bottom: 45px;;

    background: url(../images/block_reservation_tel_bg_l.webp) 0 24px no-repeat;
}
.one_column .block_reservation_tel
{
    margin-left: 30px;
}
.block_reservation_tel_inside
{
    position: relative;;

    height: 124px;

    background: url(../images/block_reservation_tel_bg_r.webp) 100% 24px no-repeat;
}
.block_reservation_tel h3
{
    margin: 0;
    padding-bottom: 15px;

    background: none;
}
.block_reservation_tel .reservation
{
    position: relative;;

    padding: 0 285px 0 0;

    text-align: justify;
}
.block_reservation_tel .reservation .world
{
    position: absolute;
    top: 30px;
    left: -8px;;

    width: 100%;
    height: 88px;

    background: url(../images/world.webp) 0 0 no-repeat;
}
.block_reservation_tel .reservation p
{
    padding: 15px 0 0 100px;
}
.block_reservation_tel .reservation .world:hover
{
    background-position: 0 100%;
}
.block_reservation_tel .tel
{
    position: absolute;
    top: 0;;
    right: 0;

    width: 250px;
}

.news
{
    margin-top: -20px;
}
.news li
{
    display: block;

    padding: 17px 0;;

    background: url(../images/line3.webp) 50% 100% no-repeat;
}
.news li p
{
    padding-bottom: 2px;
}
.news li small
{
    font-size: 11px;;
    font-weight: bold;

    color: #78b310;
}

.rooms
{
    display: table;

    width: 100%;
    height: auto;
}
.rooms .item
{
    position: relative;

    float: left;

    width: 100%;
    padding-bottom: 15px;
}
.rooms .item .txt
{
    display: table;
    zoom: 1;;

    padding: 10px 0 0 0;

    _height: 0;
}
.rooms .item .img
{
    float: left;

    width: 192px;
    height: 119px;
    margin-right: 20px;;
    padding: 2px;

    background: #fff url(../images/frame2.webp) 0 0 no-repeat;

    _display: inline;
}

.imgLoading
{
    position: fixed;
    z-index: 10000;
    top: 0;
    left: 0;

    width: 100%;
    height: 100%;

}

.imgLoading p
{
    position: absolute;
    top: 50%;
    left: 50%;

    width: 8.6em;
    margin: -1em 0 0 -4.3em;
}

.imgLoading img
{
    position: absolute;
    top: -200px;
    left: -300px;

    margin: -8px 0 0 0;

    opacity: 1;
}



.text_search
{
    width: 100%;
}

#top_menu_btn_close, #top_menu_btn_open {
    display: none;
}

.bottom-block {
    background: url(../images/page_bg_b.webp) 0 100% repeat-x;
    background-size: auto;
}

.new-news {
   color: #4793c3;
}
.news-color {
    color: #78b310;
}
@media screen and (max-width: 870px)
{
    .header .top_menu {
        left: -140px;
        position: absolute;
        top: 0;
        height: 100vh;
        position: fixed;
        width: fit-content;
        background-color: #cfe0e8;
        z-index: 9999;
        transition: left .5s ease-in-out;
    }
    .header .top_menu.active {
        left: 0px;
    }
    .header .top_menu ul {
        margin: 0;
        padding: 8px 0;
        display: flex;
        
        height: fit-content;
        flex-direction: column;
    }
    .header .top_menu li {
        width: 133px;
        background: none;
    }
    .header .top_menu li a {
        margin: 0;
    }
    .header .top_menu li:first-child {
        display: flex;
        justify-content: center;
        font-size: 10px;
    }
    .header .top_menu .item1 a {
        width: 100%;
    }
    .header .top_menu ul a[href="javascript:void(0);"] img{
        width: 15px;
    }
    #top_menu_btn_close {
        display: initial;
    }
    #top_menu_btn_open {
        position: absolute;
        top: 10px;
        font-size: 40px;
        text-decoration: none;
        display: initial;
    }
}

@media screen and (max-width: 767px) {
    .block_reservation_tel .reservation {
        width: 100%;
        padding: 0;
        padding-bottom: 40px;
    }
    .block_reservation_tel {
        margin: -169px 30px 0 30px; 
    }
    .block_reservation_tel_inside {
        height: fit-content;
        background: none;
    }
    .footer .copy {
        line-height: 0.9em;
    }
    .copy br {
        display: none;
    }
    .block_reservation_tel .tel {
        width: 100%;
        position: initial;
        background: url(../images/block_reservation_tel_bg_l.webp) 0 24px no-repeat;
    }
}

@media screen and (max-width: 624px) {
    .main_content_inside {
        display: flex;
        flex-direction: column;
    }
    .main_content .left_column {
        height: fit-content;
        float: none;
        margin-left: 0;
        width: 100%;
    }
    .main_content .center_column {
        margin: 0;
        padding: 0;
    }
    .counter {
        position: absolute;
    }
    .bottom-block {
        padding-top: 265px;
    }
    .footer .copy {
        width: 100%;
        padding: 0;
    }
    .footer {
        display: flex;
        align-items: center;
    }
    .table {
        padding: 10px 0 !important;
    }
    .table td a {
        font-size: 10px;
    }
    .price_page {
        overflow: hidden;
    }
    .price_page .center_column .block {
        padding: 0;
    }
    .table .price {

    }
    .header .imgs tr td {
        display: none;
    }
    .header .imgs tr td:nth-child(3) {
        display: initial;
    }
}

@media screen and (max-width: 404px) {
    .header .logo {
        width: 100%;
        display: flex;
        justify-content: center;
    }
    .header .logo img {
        width: 100%;
    }
    .reservation img {
        width: 100%;
    }
    .footer .copy span {
        display: none;
    }
    .footer {
        display: flex;
        align-items: center;
    }
}