html, body {
    min-width: 320px;
    overflow-x: hidden;
}
body.loading {
    visibility: visible;
}
header{
    height:103px;
}
#header{
    align-items:center;
    justify-content:space-between;
    height:103px;
    font-weight:600;
    font-size:18px;
    color: #000;
    max-width: 1200px;
    padding: 0 40px;
}
#header>img,
#header>a>img,
#upper>img,
#upper>a>img,
#header>a.logo-link{
    height:102px;
}
#top-menu{
    bottom:0;
    position:relative;
    height:60px;
    z-index:999;
}
header{
    background-color: #fff;
    box-shadow:0 2px 11px rgba(0,0,0,0.16);
}
header .right-hdr-group {
    display: flex;
    align-items: center;
}
.logogroup {
    height: 103px;
    display: flex;
    align-items: flex-start;
    min-width: 415px;
    padding-top: 2px;
}
.vert-textblock {
    text-align: left;
    display: flex;
    flex-direction: column;
    padding-top:4px;
    padding-left:12px;
}
.titlecaption {
    font-size: 35px;
    font-weight: 600;
    letter-spacing:-2px;
    min-height: 42px;
    padding-top: 8px;
    width: 250px;
}
#mobile-logo .titlecaption {
    padding-top: 0;
    font-size: 20px;
    width: 180px;
    min-height: 28px;
}
.titledesc {
    font-size: 15px;
    font-weight: 200;
    padding-left: 13px;
    width: 250px;
}
#mobile-logo .titledesc {
    font-size: 9px;
    width: 180px;
    padding-left: 4px;
}
#top-menu,
#top-menu>ul>li>ul
{
    box-shadow:0 1px 5px rgba(0,0,0,0.2);
}
#top-menu ul{
    display:flex;
    justify-content:space-between;
}
#top-menu>ul>li:first-child{
    margin-left:32px;
}
#top-menu>ul>li:last-child{
    margin-right:32px;
}
#top-menu li{
    position:relative;
    font-weight:600;
    font-size:16px;
}
#top-menu li ul{
    display:none;
}
#top-menu li:hover ul,
#top-menu li ul:hover{
    display:flex;
    flex-direction:column;
    position:absolute;
    left:0;
    top:60px;
    background-color:rgb(100%,100%,100%);
    width:290px;
    align-items:baseline;
}
#top-menu li:hover a{
    color: rgb(66,98,23);
}
#top-menu a{
    text-decoration:none;
    color: #fff;
}
#top-menu li ul a{
    text-decoration:none;
    color:#000;
}
#top-menu li ul li:hover{
    background-color:rgb(128,184,51);
}
#top-menu li ul li:hover a{
    color:rgb(255,255,255)!important;
}
#mobile-menu-list li.active{
    background:linear-gradient(to bottom, rgb(128,184,51) 0%,rgb(128,184,51) 48px, rgb(255,255,255) 49px, rgb(255,255,255) 100%);
}
#mobile-menu-list li.active ul{
    color:rgb(12,12,12);
    background-color:rgb(255,255,255);
}
/*#top-menu li:not(.active) a:hover,*/
#mobile-menu-list li:not(.active) a:hover{
    /*color:rgb(255,255,255);*/
    color:rgb(128,184,51);
}
#top-menu li.active>a,
#mobile-menu-list li.active>a{
    /*color:rgb(100%,100%,100%);*/
    color:rgb(66,98,23);
}
#top-menu li>ul>li{
    width: 239px;
}
main{
    max-width:1280px;
    margin:84px auto 32px;
    font-size:18px;
    width: 90%;
}
main img{
    max-width:calc(100vw - 24px);
}
#send-request{
    margin-top:64px;
}
#feedback-form form,
#feedback-form textarea{
    width:100%;
}
#feedback-form{
    max-width:1280px;
    margin:0 auto 100px;
    display:flex;
    flex-wrap: wrap;
    justify-content:space-between;
}
#feedback-form input[type="text"]{
    padding:20px;
    width: 340px;
    max-width: 100%;
    border:1px solid rgba(50%,56%,61%,50%);
    margin: 20px 0;
}
#feedback-form input[type="submit"]{
    border:none;
    box-shadow:none;
    width:325px;
    display: block;
    margin: 60px auto 40px;
}
#feedback-form textarea{
    padding:20px;
    border:1px solid rgba(23,23,23,.23);
    box-shadow:none;
    min-height:150px;
}
#map{
    position:relative;
    background-color:rgb(100%,100%,100%);
}

#map-overlay{
    position: relative;
    top:180px;
    background-color:rgb(100%,100%,100%);
    z-index:999;
    left:calc(50vw - 600px);
    width:400px;
    height:300px;
    display:flex;
    flex-direction:column;
    justify-content:space-around;
    padding:20px;
    font-size:18px;
    color: #000;
}
#map-overlay>div{
    position:relative;
    padding-left:60px;
}
#map-overlay div::before{
    content:"";
    position:absolute;
}
#m-address::before{
    background-image:url(/files/imgs/icon-addr.png);
    height:44px;
    width:32px;
    left:0;
    top:-14px;
}
#m-phone{
    line-height:2em;
}
#m-phone::before{
    background-image:url(/files/imgs/icon-phone.png);
    height:42px;
    width:41px;
    left:0;
    top:12px;
}
#m-mail::before{
    background-image:url(/files/imgs/icon-mail.png);
    height:32px;
    width:44px;
    top:-6px;
    left:0;
}
#map-container{
    min-height:700px;
    margin-top:-340px;
}
footer div{
    font-size:18px;
    /*color:rgb(109,109,109);*/
}
footer>div{
    margin:0 auto;
    max-width:1280px;
    display:flex;
    justify-content:space-between;
    align-items:center;
}
footer #upper{
    height:150px;
}
#upper>div{
    width:260px;
    text-align:right;
}
#upper>img{
    /*height:100px;*/
}
footer #lower{
    height:100px;
    color: rgb(128,144,156);
}
footer hr{
    box-sizing:border-box;
    background-color:rgba(244,247,249,1);
    height:1px;
    margin:3px 0;
    width:100%;
    box-shadow:none;
    border:none;
}
footer {
    background-color: #fff;
    box-shadow:0 2px 11px rgba(0,0,0,0.16);
    color: #000;
}
/* common */
html,body{
    background-color:rgb(100%,100%,100%);
    /*background-color:rgb(240,240,240);*/
    color:rgb(7%,7%,7%);
    font-family:'Lato',sans-serif;
}
body {
    display: flex;
    height: 100%;
    flex-direction: column;
}
ul{
    margin:0;
    padding:0;
    align-items:center;
}
li{
    padding: 20px;
    list-style-type:none;
}
main li{
    list-style-type:initial;
    list-style-position:outside;
    padding-left:0;
    margin-left:20px;
}
ul,nav{
    width:100%;
}
.color-set{
    color:rgb(100%,100%,100%);
    background-color:rgb(255,0,51);
}
.color-reset{
    background-color:rgb(128,184,51);
    color:rgb(255,255,255);
}
.center-flex{
    display:flex;
    flex-wrap:wrap;
    margin:0 auto;
    max-width:1280px;
}
.vertical-block{
    display:flex;
    flex-direction:column;
    justify-content:center;
    align-items:center;
    text-align:center;
}
.gray-zone{
    background-color:rgb(249,249,249);
}
.white-zone {
    background-color:rgb(255,253,254);
    /*flex: 1;*/
}
.button{
    text-decoration:none;
    padding:16px 42px;
    box-sizing:border-box;
    cursor:pointer;
    font-weight:bold;
    font-size:16px;
    border:1px solid rgba(1,1,1,0);
    transition:.5s;
}
.button.white{
    background-color:rgb(100%,100%,100%);
    border:1px solid rgb(128,184,51);
    color:rgb(128,184,51);
}
/*.button.white:not(.static):hover,*/
.button.white:hover,
.button.solid{
    background-color:rgb(128,184,51);
    color:rgb(100%,100%,100%);
}
.button.white:hover{
    border:1px solid rgb(100%,100%,100%)!important;
}
.button.solid:hover{
    border:1px solid rgb(128,184,51)!important;
    background-color:rgb(128,184,51);
    color:rgb(255,255,255);
}
.button.red{
    border:1px solid rgb(255,192,0)!important;
    background-color:rgb(255,192,0);
    color:rgb(0,0,0);
}
.button.red:hover{
    background-color:rgb(100%,100%,100%);
    /*border:1px solid rgb(255,192,0);*/
    /*color:rgb(100%,100%,100%);*/
}
.section-header{
    clear:both;
    color:rgb(0,0,0);
    text-align:center;
    font-size:40px;
    font-weight:700;
    padding:30px 0;
}
.section-sub-header{
    text-align:center;
    font-size:24px;
    font-weight:500;
    padding:0 0 30px;
    width:920px;
    max-width:90vw;
    color:rgb(50%,56%,61%);
    margin:0 auto; 
}
[class*="ymaps-2-1"][class*="-ground-pane"] {
    filter:grayscale(1);
}
#m-mail a{
    color: #000;
}
.separator{
    height:20px;
    border:.5px solid rgb(202,202,202);
    margin:0 30px 0 19px;
    opacity:.9;
}
a{
    color:rgb(128,184,51);
}
.phones{
    text-align:right;
}
.phones div{
    margin:10px;
}
#recall-button {
    color:#000;
    background-color: rgb(100%,100%,100%);
    border: 1px solid rgb(100%,100%,100%) !important;
}
#recall-button:hover {
    background-color: rgb(255,192,0);
}
#upper>#recall2{
    text-align:center;
    padding:16px 20px;
    height:50px;
}
div#hidden{
    display:none;
}
input[placeholder],
textarea[placeholder]{
    color:rgb(109,109,109);
    font-size:18px;
}
#wayback{
    position:absolute;
    bottom:-56px;
    right:0;
    font-size:18px;
}
#wayback a{
    color:rgb(255,0,51);;
    text-decoration:underline;
}
.slide-title {
    font-size: 48px;
    color: #fff;
}
.slide-txt {
    color: #fff;
    font-size: 26px;
}
#social>a>img{
    height:48px;
    width:auto;
    margin:4px;
}
@media screen and (max-width:1279px){
    header{
        display:none;
    }
    div#hidden{
        background-color: rgb(0,0,0);
        display:block;
    }
/*
}
@media screen and (max-width:1024px){
*/
    main{
        padding:16px;
    }
    #feedback-form,
    #question-form{
        flex-direction:column;
        align-items:center;
    }
    #map-overlay{
        position:static;
        max-width:90vw;
    }
    #map-container{
        min-height:400px;
        margin-top:0;
    }
    #feedback-form input[type="text"],
    #question-form input[type="text"]{
        margin:16px 0;
        width:64vw;
    }
    #feedback-form textarea {
        width:64vw;
    }
    #feedback-form input[type="submit"],
    #question-form input[type="submit"]{
        margin:16px 0;
        width:76vw;
        text-align:center;
    }
    #mobile-menu{
        background-color: rgb(128,184,51);
        display:flex;
        justify-content:space-between;
    }
    #mobile-menu img,
    #mobile-menu a img{
        margin:10px;
        height:30px;
        width:30px;
    }
    #mobile-logo{
        background-color:#fff;
        display:flex;
        align-items:center;
        height:80px;
        justify-content:center;
    }
    #mobile-logo img{
        height:64px;
    }
    #mobile-menu-list{
        display:none;
    }
    #mobile-menu-list.show{
        display:block;
    }
    #mobile-menu-list>ul{
        position: absolute;
        top:45px;
        right:0;
        left:0;
        background-color:rgb(255,255,255);
        z-index:99;
        padding-bottom:16px;
        border-bottom:1px solid rgb(0,51,151);
    }
    #mobile-menu-list li{
        padding:10px 20px;
        font-size:20px;
        font-weight:500;
        width:100%;
    }
    #mobile-menu-list li a{
        text-decoration:none;
        color:rgb(12,12,12);
    }
    #mobile-menu-list li li{
        font-size:16px;
        font-weight:600;
        position:relative;
    }
    #mobile-menu-list li li:before{
        content:"—";
        position:absolute;
        left:3px;
        color:rgb(12,12,12);
    }
    #mobile-menu-list li li.active:before,
    #mobile-menu-list li.active>a:hover{
        color:rgb(255,255,255);
    }
    #mobile-menu-list li:hover:before{
        color:rgb(128,184,51);
    }
    #mobile-menu-list ul li:hover{
        background-color: color:rgb(128,184,51);
    }
    #mobile-menu-list li.active:after{
        content:"";
        position:absolute;
        left:-20px;
        height:38px;
        width:20px;
        background-color:rgb(128,184,51);
        top:0;
    }
    #mobile-menu-list li ul{
        margin-top:16px;
    }
    #upper>img,
    #upper .logo-link{
        display:none;
    }
    #upper{
        flex-direction:column;
        justify-content:center;
    }
    #upper #social{
        text-align:center;
        margin-top:15px;
    }
    #social a{
        margin:5px;
    }
    #branding{
        display:flex;
        flex-direction:column;
        align-items:center;
    }
    #branding>*{
        margin:10px;
    }
    #lower{
        flex-direction:column-reverse;
    }
}
@media screen and (max-width:1024px){
    main{
        margin:0;
    }
    #reviews-form input[type="submit"]{
        width:320px;
        max-width: 100%;
    }
    .over-text>br{
        display:none;
    }
    .slide-title {
        font-size: 26px;
        color: #fff;
    }
    .slide-txt {
        font-size: 16px;
        color: #fff;
    }
    footer .logogroup {
        display: none;
    }
    #map-container{
        min-height:337px;
    }
}