@font-face {
    font-family: "PTSansCaption";
    src: url("../fonts/PTSansCaption/PTSansCaption.eot");
    src: url("../fonts/PTSansCaption/PTSansCaption.eot?#iefix")format("embedded-opentype"),
    url("../fonts/PTSansCaption/PTSansCaption.woff") format("woff"),
    url("../fonts/PTSansCaption/PTSansCaption.ttf") format("truetype");
    font-style: normal;
    font-weight: normal;
}

@font-face {
    font-family: "PlumbSoftBlack";
    src: url("../fonts/PlumbSoftBlack/PlumbSoftBlack.eot");
    src: url("../fonts/PlumbSoftBlack/PlumbSoftBlack.eot?#iefix")format("embedded-opentype"),
    url("../fonts/PlumbSoftBlack/PlumbSoftBlack.woff") format("woff"),
    url("../fonts/PlumbSoftBlack/PlumbSoftBlack.ttf") format("truetype");
    font-style: normal;
    font-weight: normal;
}

@font-face {
    font-family: "PlumbLight";
    src: url("../fonts/PlumbLight/PlumbLight.eot");
    src: url("../fonts/PlumbLight/PlumbLight.eot?#iefix")format("embedded-opentype"),
    url("../fonts/PlumbLight/PlumbLight.woff") format("woff"),
    url("../fonts/PlumbLight/PlumbLight.ttf") format("truetype");
    font-style: normal;
    font-weight: normal;
}

html, body {
    margin: 0;
    padding: 0;
    height: 100%;
    text-align: center;
    min-width: 1200px;
}

.premain-left, .premain-right {
    width: 50%;
    height: 66%;
    float: left;
    min-width: 600px;
}

.premain-bottom {
    clear: both;
    height: 34%;
}

.premain-left .spb-city, .premain-right .moscow-city {
    position: relative;
    display: inline-block;
}

.icon {
    display: inline-block;    
    width: 101px;   
    height: 123px;
    background-repeat: no-repeat;
    margin-bottom: 25px;
}

.premain-left .spb-city .icon {
    background-image: url("../img/spb-city-bg.png");
}

.premain-right .moscow-city .icon {
    background-image: url("../img/moscow-city-bg.png");
}

.name {
    font-size: 24px;
    color: #fff;
    font-weight: bold;
    font-family: "PlumbSoftBlack", Arial, sans-serif;
}

.list-of-cities {
    display: inline-block;
    padding: 0;
    margin: 0;
    list-style-type: none;
    margin-top: 30px;
    text-align: left;
}

.list-of-cities li {
    margin: 20px 0;
}

.list-of-cities li a {
    font-size: 24px;
    color: #fff;
    text-decoration: none;
    line-height: 46px;
    display: inline-block;
    -webkit-border-radius: 25px;
    -moz-border-radius: 25px;
    border-radius: 25px;  
    border: 2px solid transparent;
    box-sizing: border-box;
    padding: 0 50px 0 20px;
    font-family: "PlumbLight", Arial, sans-serif;
}

.list-of-cities li a:hover {
    border-color: #ffc85d;
}

.list-of-cities li a:before {
    width: 20px;
    height: 20px;
    content: "";
    background-image: url("../img/list-bg.png");
    display: inline-block;
    position: relative;
    top: 2px;
    margin-right: 20px;
}

.premain-left {
    background-image: url("../img/spb-bg-static.jpg"), url("../img/spb-bg.jpg");
}

.premain-left:hover {
    background-image: url("../img/spb-bg.jpg");
}

.premain-right {
    background-image: url("../img/moscow-bg-static.jpg"), url("../img/moscow-bg.jpg");
}

.premain-right:hover {
     background-image: url("../img/moscow-bg.jpg");
}

.premain-bottom {
    background-image: url("../img/other-bg-static.jpg"), url("../img/other-bg.jpg");
}

.premain-bottom:hover {
    background-image: url("../img/other-bg.jpg");
}

.premain-left, .premain-right, .premain-bottom {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-pack: center;
        -ms-flex-pack: center;
            justify-content: center;
    -webkit-box-align: center;
        -ms-flex-align: center;
            align-items: center;
    background-size: cover;
    background-position: center;
}

.premain-left {
    background-position: 20%;
}

.premain-bottom {
    background-position: 95%;
}

.logo {
    width: 420px;
    height: 232px;
    background-image: url("../img/logo-main.png");
    position: absolute;
    left: 50%;
    margin-left: -210px;
}

@media only screen and (-Webkit-min-device-pixel-ratio: 1.5),
only screen and (min--moz-device-pixel-ratio: 1.5),
only screen and (-o-min-device-pixel-ratio: 3/2),
only screen and (min-device-pixel-ratio: 1.5) {
    .list-of-cities li a:before {
        background-image: url("../img/list-bg-x2.png");
        background-size: contain;
    }
}

/*--------- 20.02.2017 ---------*/

html.phone, .phone body {
    height: auto;
    min-width: 0;
}

.mobile-header, .phone .logo {
    display: none;
}

.phone .mobile-header {
    display: block;
    -webkit-box-shadow: 0px 1px 0px 0px rgba(20, 21, 21, 0.75);
    -moz-box-shadow: 0px 1px 0px 0px rgba(20, 21, 21, 0.75);     
    box-shadow: 0px 1px 0px 0px rgba(20, 21, 21, 0.75);
    margin-bottom: 1px;
    padding: 35px 50px;
    overflow: hidden;
}

.mobile-header .mobile-logo {
    width: 122px;
    height: 111px;
    background: url(../img/mobile-logo.png) no-repeat;
    background-size: 122px;
    margin-right: 60px;
    float: left;
}

.mobile-header .logo-signature {
    float: left;
    text-align: left;
    font-family: "PTSansCaption", Arial, sans-serif; 
    font-size: 28px;
    color: #444;
    text-transform: uppercase;
}

.phone .premain-left, .phone .premain-right {
    width: 100%;
    height: auto;
    float: none;
    min-width: 0;
    padding: 50px 0 30px;
}

.phone .icon {
    margin-bottom: 20px;
}

.phone .list-of-cities {
    margin-top: 20px;
}

.phone .name, .phone .list-of-cities li a {
    font-size: 32px;
    letter-spacing: .05em;
}

.phone .list-of-cities li a {
    line-height: 70px;
    -webkit-border-radius: 35px;
    -moz-border-radius: 35px;
    border-radius: 35px;   
    padding-right: 40px;
}

.phone .list-of-cities li a:before {
    width: 28px;
    height: 28px;
    background-image: url(../img/mobile-list-bg.png);
    top: 3px;
    background-size: contain;
}

.phone .premain-bottom {
    height: auto;
    padding: 120px 30px;
}

@media screen and (max-width: 600px) {
    .phone .mobile-header {
        padding-right: 40px;
        padding-left: 40px;
    }
    
    .mobile-header .mobile-logo {
        margin-right: 50px;
    }
    
    .phone .name, .phone .list-of-cities li a {
        font-size: 28px;
    }
    
    .phone .list-of-cities li a {
        line-height: 60px;
    }
    
    .phone .list-of-cities li a:before {
        width: 25px;
        height: 25px;
    }
}

@media screen and (max-width: 540px) {
    .phone .mobile-header {
        padding-top: 30px;
        padding-bottom: 30px;
    }
    
    .mobile-header .mobile-logo {
        width: 109px;
        height: 99px;
        background-size: 109px;
        margin-right: 40px;
    }
    
    .mobile-header .logo-signature {
        font-size: 26px;
    }
}

@media screen and (max-width:480px) {
    .phone .mobile-header {
        padding: 25px 30px;
    }
    
    .mobile-header .mobile-logo {
        width: 102px;
        height: 93px;
        background-size: 102px;
        margin-right: 30px;
    }    
    
    .mobile-header .logo-signature {
        font-size: 24px;
    }    
    
    .phone .premain-left, .phone .premain-right {
        padding: 40px 0 20px;
    }
    
    .phone .premain-bottom {
        padding-top: 100px;
        padding-bottom: 100px;
    }
    
    .icon {
        width: 90px;
        height: 110px;
        background-size: 90px;
    }
    
    .phone .name, .phone .list-of-cities li a {
        font-size: 26px;
    }    
    
    .phone .list-of-cities li a {
        line-height: 50px;
    }  
    
    .phone .list-of-cities li a:before {
        margin-right: 15px;
    }
}

@media screen and (max-width: 440px) {
    .mobile-header .mobile-logo {
        width: 92px;
        height: 84px;
        background-size: 92px;
    }     
    
    .mobile-header .logo-signature {
        font-size: 22px;
    }     
}

@media screen and (max-width: 400px) {
    .phone .mobile-header {
        padding: 20px 25px;
    }
    
    .mobile-header .mobile-logo {
        width: 86px;
        height: 78px;
        background-size: 86px;
        margin-right: 25px;
    }      
    
    .mobile-header .logo-signature {
        font-size: 20px;
    }  
    
    .phone .premain-left, .phone .premain-right {
        padding: 30px 0 10px;
    }    
    
    .phone .premain-bottom {
        padding-top: 80px;
        padding-bottom: 80px;
    }    
    
    .icon {
        width: 80px;
        height: 97px;
        background-size: 80px;
    }    
    
    .phone .list-of-cities {
        margin-top: 10px;
    }
    
    .phone .list-of-cities li a:before {
        width: 20px;
        height: 20px;
    }
    
    .phone .name, .phone .list-of-cities li a {
        font-size: 22px;
    }   
    
    .phone .list-of-cities li a {
        line-height: 40px;
    }      
}

@media screen and (max-width: 350px) {
    .phone .mobile-header {
        padding: 15px;
    }  
    
    .mobile-header .mobile-logo {
        margin-right: 15px;
    }
    
    .phone .premain-bottom {
        padding-top: 70px;
        padding-bottom: 70px;
    }
    
    .phone .name, .phone .list-of-cities li a {
        font-size: 20px;
    }
}