body {
    font-family: 'Roboto', sans-serif;
    font-weight: 300;
    font-size: 18px;
    color: #666666;
}
a,
a:hover {
    text-decoration: none;
}
a:hover {
    color: #992626;
}
ul {
    list-style: none;
}
h1 {
    font-family: 'Roboto', sans-serif;
    font-size: 64px;
    color: #000;
    font-weight: 300;
}
h2 {
    font-family: 'Roboto', sans-serif;
    font-size: 64px;
    color: #000;
    font-weight: 300;
}
h3 {
    font-family: 'Roboto', sans-serif;
    font-size: 32px;
    color: #000;
    font-weight: 300;
}
.btn {
    display: inline-block;
    background-color: #bba36b;
    color: #fff;
    border: none;
    border-radius: 0;
    text-transform: uppercase;
    font-size: 16px;
    padding: 13px 20px;
    letter-spacing: 1px;
    text-align: center;

    /*    transition: all 0.5s ease;
        -o-transition: all 0.5s ease;
        -moz-transition: all 0.5s ease;
        -webkit-transition: all 0.5s ease;*/
}
.btn:hover {
    color: #fff;
    background-color: #992626;
}
.btn:active {
    color: #fff;
    background-color: #3b0b0b;
}
.btn i.animate-spin {
    display: none;
}
.btn.loading i.animate-spin {
    display: inline-block;
}
/*.btn.btn-brown {
    border-bottom: 1px solid #ede8e2;
    background: rgba(209,155,73,1);
    background: -moz-linear-gradient(left, rgba(209,155,73,1) 0%, rgba(170,125,59,1) 100%);
    background: -webkit-gradient(left top, right top, color-stop(0%, rgba(209,155,73,1)), color-stop(100%, rgba(170,125,59,1)));
    background: -webkit-linear-gradient(left, rgba(209,155,73,1) 0%, rgba(170,125,59,1) 100%);
    background: -o-linear-gradient(left, rgba(209,155,73,1) 0%, rgba(170,125,59,1) 100%);
    background: -ms-linear-gradient(left, rgba(209,155,73,1) 0%, rgba(170,125,59,1) 100%);
    background: linear-gradient(to right, rgba(209,155,73,1) 0%, rgba(170,125,59,1) 100%);
    filter: progid:DXImageTransform.Microsoft.gradient( startColorstr='#d19b49', endColorstr='#aa7d3b', GradientType=1 );
}
.btn.btn-brown:hover {
    border-bottom: 1px solid #f1ede8;
    background: rgba(243,180,87,1);
    background: -moz-linear-gradient(left, rgba(243,180,87,1) 0%, rgba(209,155,74,1) 100%);
    background: -webkit-gradient(left top, right top, color-stop(0%, rgba(243,180,87,1)), color-stop(100%, rgba(209,155,74,1)));
    background: -webkit-linear-gradient(left, rgba(243,180,87,1) 0%, rgba(209,155,74,1) 100%);
    background: -o-linear-gradient(left, rgba(243,180,87,1) 0%, rgba(209,155,74,1) 100%);
    background: -ms-linear-gradient(left, rgba(243,180,87,1) 0%, rgba(209,155,74,1) 100%);
    background: linear-gradient(to right, rgba(243,180,87,1) 0%, rgba(209,155,74,1) 100%);
    filter: progid:DXImageTransform.Microsoft.gradient( startColorstr='#f3b457', endColorstr='#d19b4a', GradientType=1 );
}
.btn.btn-brown:active {
    background: #916a30;
}
.btn.btn-blue {
    background: rgba(45,205,213,1);
    background: -moz-linear-gradient(left, rgba(45,205,213,1) 0%, rgba(27,142,187,1) 100%);
    background: -webkit-gradient(left top, right top, color-stop(0%, rgba(45,205,213,1)), color-stop(100%, rgba(27,142,187,1)));
    background: -webkit-linear-gradient(left, rgba(45,205,213,1) 0%, rgba(27,142,187,1) 100%);
    background: -o-linear-gradient(left, rgba(45,205,213,1) 0%, rgba(27,142,187,1) 100%);
    background: -ms-linear-gradient(left, rgba(45,205,213,1) 0%, rgba(27,142,187,1) 100%);
    background: linear-gradient(to right, rgba(45,205,213,1) 0%, rgba(27,142,187,1) 100%);
    filter: progid:DXImageTransform.Microsoft.gradient( startColorstr='#2dcdd5', endColorstr='#1b8ebb', GradientType=1 );
}
.btn.btn-blue:hover {
    background: rgba(59,228,237,1);
    background: -moz-linear-gradient(left, rgba(59,228,237,1) 0%, rgba(39,171,224,1) 100%);
    background: -webkit-gradient(left top, right top, color-stop(0%, rgba(59,228,237,1)), color-stop(100%, rgba(39,171,224,1)));
    background: -webkit-linear-gradient(left, rgba(59,228,237,1) 0%, rgba(39,171,224,1) 100%);
    background: -o-linear-gradient(left, rgba(59,228,237,1) 0%, rgba(39,171,224,1) 100%);
    background: -ms-linear-gradient(left, rgba(59,228,237,1) 0%, rgba(39,171,224,1) 100%);
    background: linear-gradient(to right, rgba(59,228,237,1) 0%, rgba(39,171,224,1) 100%);
    filter: progid:DXImageTransform.Microsoft.gradient( startColorstr='#3be4ed', endColorstr='#27abe0', GradientType=1 );
}
.btn.btn-blue:active {
    background: #16789c;
}*/



header {
    display: block;
    width: 100%;
    background-color: #fff;
    z-index: 100;
    -moz-box-shadow: 0 0 2px rgba(0,0,0,0.3);
    -webkit-box-shadow: 0 0 2px rgba(0,0,0,0.3);
    box-shadow: 0 0 2px rgba(0,0,0,0.3);
    box-shadow: rgba(0,0,0,0.1) 0px 3px 9px;
}
header.fixed {
    position: fixed;
    top: 0;
    left: 0;
}
.h-logo {
    position: relative;
    margin: 15px 0 0 0;
    padding: 10px 0 0 120px;
    float: left;
    text-align: left;
    display: inline-block;
}
header.fixed .h-logo {
    display: none;
}
.h-logo a {
    position: absolute;
    left: 0;
    top: 0;
}
.h-logo a img {
    width: 90px;
}
.logo-name {
    width: 310px;
    font-size: 20px;
}
.h-right {
    float: right;
    margin: 30px 0 26px 0px;
    padding-right: 85px;
    position: relative;
}

.h-phone {
    display: inline-block;
    font-size: 32px;
    margin-right: 10px;
    vertical-align: top;
    color: #000;
    cursor: pointer;
}
.h-callback-btn {
    display: inline-block;
    font-size: 14px;
    vertical-align: top;
}
.h-lang {
    display: inline-block;
    float: right;
    position: absolute;
    top: 0;
    right: 0;
    vertical-align: top;
    font-size: 14px;
    font-weight: normal;
    text-transform: uppercase;
    padding: 12px 15px 12px 20px;
    border: 1px solid #bba36b;
    color: #bba36b;
}
.h-lang select {
    -ms-box-sizing: border-box;
    -moz-box-sizing: border-box;
    -webkit-box-sizing: border-box;
    -webkit-appearance: none;
    appearance: none;
    -webkit-box-sizing: border-box;
    -moz-box-sizing: border-box;
    box-sizing: border-box;
    opacity: 0;
    height: 100%;
    left: 0;
    position: absolute;
    top: 0;
    z-index: 2;
    width: 100%;
    cursor: pointer;
}



.h-ham {
    display: none;
    position: absolute;
    top: 9px;
    left: 0;
}
.h-ham a.ham-ham {
    border: 2px solid transparent;
    box-sizing: content-box;
    display: inline-block;
    width: 30px;
    height: 24px;
    cursor: pointer;
    position: relative;
}
.h-ham div {
    background: #bba36b;
    height: 3px;
    position: absolute;
    left: 0;
    right: 0;
}
.h-ham div:first-child {
    top: 0px;
    -webkit-animation: both hamburger-first-reverse .4s ease-out;
    animation: both hamburger-first-reverse .4s ease-out;
}
.h-ham div:nth-child(2) {
    top:10px;
    -webkit-animation:both hamburger-middle-reverse .4s ease-out;
    animation:both hamburger-middle-reverse .4s ease-out
}
.h-ham div:last-child {
    top:20px;
    -webkit-animation:both hamburger-last-reverse .4s ease-out;
    animation:both hamburger-last-reverse .4s ease-out
}
.h-ham.opened .ham-ham div:first-child {
    -webkit-animation:both hamburger-first .4s ease-out;
    animation:both hamburger-first .4s ease-out
}
.h-ham.opened .ham-ham div:nth-child(2) {
    -webkit-animation:both hamburger-middle .4s ease-out;
    animation:both hamburger-middle .4s ease-out
}
.h-ham.opened .ham-ham div:last-child {
    -webkit-animation:both hamburger-last .4s ease-out;
    animation:both hamburger-last .4s ease-out
}
@-webkit-keyframes hamburger-first {
    50% {
        -webkit-transform:translateY(10px);
        transform:translateY(10px)
    }
    to  {
        -webkit-transform:translateY(10px)rotate(45deg);
        transform:translateY(10px)rotate(45deg)
    }
}
@keyframes hamburger-first {
    50% {
        -webkit-transform:translateY(10px);transform:translateY(10px)
    }
    to {
        -webkit-transform:translateY(10px)rotate(45deg);transform:translateY(10px)rotate(45deg)
    }
}
@-webkit-keyframes hamburger-first-reverse {
    from {
        -webkit-transform:translateY(10px)rotate(45deg);transform:translateY(10px)rotate(45deg)
    }
    50% {
        -webkit-transform:translateY(10px)rotate(0);transform:translateY(10px)rotate(0)
    }
    to {
        -webkit-transform:translateY(0);transform:translateY(0)
    }
}
@keyframes hamburger-first-reverse {
    from {
        -webkit-transform:translateY(10px)rotate(45deg);transform:translateY(10px)rotate(45deg)
    }
    50% {
        -webkit-transform:translateY(10px)rotate(0);transform:translateY(10px)rotate(0)
    }
    to {
        -webkit-transform:translateY(0);transform:translateY(0)
    }
}
@-webkit-keyframes hamburger-middle {
    50% {
        opacity:1
    }
    50.1%,to {
        opacity:0
    }
}
@keyframes hamburger-middle {
    50% {
        opacity:1
    }
    50.1%,to {
        opacity:0
    }
}
@-webkit-keyframes hamburger-middle-reverse {
    from,50% {
        opacity:0
    }
    50.1%,to {
        opacity:1
    }
}
@keyframes hamburger-middle-reverse {
    from,50% {
        opacity:0
    }
    50.1%,to {
        opacity:1
    }
}
@-webkit-keyframes hamburger-last {
    50% {
        -webkit-transform:translateY(-10px);transform:translateY(-10px)
    }
    to {
        -webkit-transform:translateY(-10px)rotate(-45deg);transform:translateY(-10px)rotate(-45deg)
    }
}
@keyframes hamburger-last {
    50% {
        -webkit-transform:translateY(-10px);transform:translateY(-10px)
    }
    to {
        -webkit-transform:translateY(-10px)rotate(-45deg);transform:translateY(-10px)rotate(-45deg)
    }
}
@-webkit-keyframes hamburger-last-reverse {
    from {
        -webkit-transform:translateY(-10px)rotate(-45deg);transform:translateY(-10px)rotate(-45deg)
    }
    50% {
        -webkit-transform:translateY(-10px)rotate(0);transform:translateY(-10px)rotate(0)
    }
    to {
        -webkit-transform:translateY(0);transform:translateY(0)
    }
}
@keyframes hamburger-last-reverse {
    from {
        -webkit-transform:translateY(-10px)rotate(-45deg);transform:translateY(-10px)rotate(-45deg)
    }
    50% {
        -webkit-transform:translateY(-10px)rotate(0);transform:translateY(-10px)rotate(0)
    }
    to {
        -webkit-transform:translateY(0);transform:translateY(0)
    }
}

.main {
    width: 100%;
    padding-top: 102px;
    position: relative;
    margin-bottom: 75px;
}
.main.subfixed {
    margin-top: 145px;
}

.highlighted {
    color: #bba36b;
}

.main .background {
    background: #fff url(../images/bg_main.jpg) no-repeat;
    background-position: center center;
    background-size: cover;
    position: absolute;
    left: 46%;
    top: 0;
    right: 20px;
    bottom: 0;
    z-index: -1;
}
.main-h1 {
    margin: 20px 0 100px 0;
    width: 610px;

}
.main-h1 h1 {
    display: inline;
    background-color: #fff;
    font-weight: 300;
    white-space: pre-wrap;
    line-height: 1.3em;
}
.h-menu {
    margin: 40px 0 50px 0;
    width: 50%;
}
.h-menu .menu {
    padding: 0;
}
.menu li {
    display: inline-block;
}
.menu {
    width:100%;
    margin-bottom:20px;
    overflow:hidden;
}
.menu li {
    width:33.333%;
    line-height:30px;
    float:left;
    display:inline;
}
.h-menu a {
    color: #bba36b;
}
.h-menu a:hover {
    color: #992626;
}
.pluses {
    margin: 0 0 80px 0;
}
.plus {
    float: left;
    width: 30.3%;
    margin: 0 2.2%;
    padding: 0 0 0 105px;
    position: relative;
    font-size: 20px;
}
.plus:first-child {
    margin-left: 0;
}
.plus:last-child {
    margin-right: 0;
}
.plus i {
    display: inline-block;
    padding: 10px;
    font-size: 48px;
    border: 1px solid #bba36b;
    border-radius: 50%;
    color: #bba36b;
    position: absolute;
    left: 0;
    top: 0;
}

.booking-form {
    margin-bottom: 90px;
    position: relative;
}
.booking-form .background {
    background: #fff url(../images/bg_bf.jpg) no-repeat;
    background-position: center center;
    background-size: cover;
    position: absolute;
    left: 20px;
    top: 0;
    right: 54%;
    bottom: 0;
    z-index: -1;
}
.booking-form .background-right {
    background: #faf1e3;
    position: absolute;
    left: 47%;
    top: 60px;
    right: 20px;
    bottom: 60px;
    z-index: -1;
}
.bf {
    float: right;
    width: 50%;
    padding: 90px 0;

}
.bf h2 {
    font-size: 48px;
    margin-bottom: 30px;
    text-align: center;
}
.form-group {
    float: left;
    width: 48.5%;
    margin-right: 1.5%;
    margin-bottom: 20px;
    vertical-align: top;
    position: relative;
}
.form-group:nth-child(2n) {
    margin-left: 1.5%;
    margin-right: 0;
}
.form-control {
    height: 60px;
    line-height: 58px;
    background-color: transparent;
    border-color: #bba36b;
    border-radius: 0;
    color: #000;
    font-size: 18px;
    padding: 16px 18px 5px;
}
select.form-control {
    -ms-box-sizing: border-box;
    -moz-box-sizing: border-box;
    -webkit-box-sizing: border-box;
    -webkit-appearance: none;
    appearance: none;
    -webkit-box-sizing: border-box;
    -moz-box-sizing: border-box;
    box-sizing: border-box;
    padding: 6px 10px 0 18px;
}
.form-control:focus {
    border-color: #bba36b;
    background-color: #fff;
    box-shadow: none;
}
.form-desc {
    position: absolute;
    top: 4px;
    left: 8px;
    font-size: 14px;
    color: #bba36b;
    height: 20px;
    overflow: hidden;
}
.form-pic {
    position: absolute;
    top: 16px;
    right: 10px;
    color: #bba36b;
}
.form-error {
    display: none;
    color: #a94442;
    margin-top: 3px;
}
.form-group.error .form-control {
    border-color: #a94442;
    color: #a94442;
}
.form-group.error .form-error {
    display: none;
    position: absolute;
    right: 1px;
    bottom: 1px;
    top: 1px;
    width: 100%;
    line-height: 58px;
    color: #a94442;
    padding: 4px 18px 5px;
}
.form-group.error.error-desc .form-error {
    display: block;
}
.form-booking-btn {
    display: block;
    padding: 19px 20px;
}

.gems-gallery {
    margin-bottom: 70px;
    text-align: center;
}
.gems-gallery h2 {
    text-align: center;
    margin-bottom: 40px;
}
.gg-top-btn {
    display: inline-block;
    color: #af8b54;
    margin: 0 0 10px;
    padding: 10px 30px 7px;
    border: 1px solid transparent;
    cursor: pointer;
}
.gg-top-btn:hover, 
.gg-top-btn.active {
    border-color: #af8b54;
}
.gg-top-btn span {
    display: inline-block;
    padding-bottom: 3px;
    border-bottom: 1px dashed #af8b54;
}
.gg-top-btn:hover span,
.gg-top-btn.active span {
    color: #000;
    border-color: transparent;
}
.gg-slider {
    margin: 40px 0 80px;
}
.slider-img {
    float: left;
    width: 50%;
    padding-top: 50%;
    position: relative;
}
.sl-img {
    opacity: 0;
    position: absolute;
    top: 0;
    left: 0;
    bottom: 0;
    right: 0;
    -webkit-transition: opacity 0.2s ease-in-out;
    -moz-transition: opacity 0.2s ease-in-out;
    -ms-transition: opacity 0.2s ease-in-out;
    -o-transition: opacity 0.2s ease-in-out;
    z-index: 1;
}
.sl-img.active {
    opacity: 1;
}
.slider-desc {
    width: 50%;
    float: left;
    text-align: left;
}
.sld {
    display: none;
    position: relative;
    padding: 220px 0 70px 70px;
}
.sld.active {
    display: block;
}
.sld h3 {
    position: absolute;
    top: 50px;
    left: -200px;
    background-color: #fff;
    margin: 0;
    padding: 30px 40px;
    z-index: 11;
}
.sld-desc {
    line-height: 1.5em;
    color: #666666;
}
a.sl-btn {
    position: absolute;
    width: 74px;
    height: 74px;
    cursor: pointer;
    z-index: 10;
}
a.sl-btn:hover {
    color: #fff;
    background-color: #992626;
}
a.sl-btn:active {
    color: #fff;
    background-color: #3b0b0b;
}
.sl-btn i {
    display: inline-block;
    font-size: 40px;
    margin-top: 8px;
    color: #af8b54;
}
.sl-btn.left {
    right: 0;
    bottom: 0;
    background-color: #fff;
}
.sl-btn.left i {
    color: #af8b54;
}
a.sl-btn.left:hover i {
    color: #fff;
}
.sl-btn.right {
    right: -74px;
    bottom: -74px;
    background-color: #bba36b;
}
.sl-btn.right i {
    color: #fff;
    margin-left: 5px;
}

.program {
    margin-bottom: 80px;
}
.program-container {
    -webkit-column-count: 2;
    -moz-column-count: 2;
    column-count: 2;
    -webkit-column-gap: 30px;
    -moz-column-gap: 30px;
    column-gap: 30px;
}
.program h2 {
    display: inline-block;
    margin: 0 0 60px;
}
.pr {
    position: relative;
    /*display: inline-block;*/
    /*    width: 48%;*/
    /*height: 100px;*/
    margin-bottom: 30px;
    -webkit-column-break-inside: avoid;
    page-break-inside: avoid;
    break-inside: avoid;
    padding: 130px 0 0 100px;
}
.pr-img {
    position: absolute;
    top: 0;
    left: 0;
    width: 386px;
    height: 215px;
    background-repeat: no-repeat;
    background-position: center center;
    background-size: cover;
    box-shadow: 10px 10px 0px #bba36b;
    -webkit-box-shadow: 10px 10px 0px #bba36b;
    -moz-box-shadow: 10px 10px 0px #bba36b;
    z-index: -1;
}
.pr-desc {
    padding: 5px 30px;
    background-color: #fff;
}
.pr-desc h3 {
    margin-bottom: 15px;
}

.catalog {
    margin-bottom: 110px;
}
.catalog h2 {
    text-align: center;
    margin-bottom: 50px;
}
.cat {
    float: left;
    width: 25%;
    padding-top: 25%;
    border: 1px solid #bba36b;
    background-repeat: no-repeat;
    background-position: center center;
    background-size: cover;
}

.advantages {
    margin-bottom: 120px;
}
.advantages h2 {
    text-align: center;
    margin-bottom: 50px;
}
.adv {
    position: relative;
    float: left;
    width: 23%;
    margin: 0 1%;
    text-align: center;
    color: #666;
}
.adv i {
    display: block;
    width: 90px;
    height: 90px;
    font-size: 48px;
    padding: 10px;
    margin: 0 auto 20px;
    border: 1px solid #bba36b;
    border-radius: 50%;
    color: #bba36b;
}
.adv h3 {
    font-size: 28px;
    margin-bottom: 30px;
}
.faq {
    margin-bottom: 100px;
}
.faq h2 {
    text-align: center;
    margin-bottom: 50px;
}
.faq-container {
    background: #faf1e3 url(../images/bg_faq.jpg) no-repeat;
    background-position: center center;
    background-size: cover;
    padding: 100px 20px;
}
.faq-book {
    position: relative;
    /*background-color: #bba36b;*/
    background-color: #fff;
    border: 2px solid #fff;

}
.faqb-left {
    width: 45%;
    background-color: #fff;
    border-right: 2px solid #bba36b;
    border-left: 58px solid #bba36b;
    padding: 20px 0 20px 40px;
}
a.faq-h {
    display: block;
    position: relative;
    color: #af8b54;
    margin: 25px 0;
    cursor: pointer;
}
a.faq-h:hover {
    color: #992626;
}
a.faq-h span {
    display: inline-block;
    padding-bottom: 2px;
    border-bottom: 1px dashed #af8b54;
}
a.faq-h.active {
    color: #000;
}
a.faq-h.active span {
    border-color: transparent;
}
.polygon {
    position: absolute;
    top: -6px;
    left: -60px;
    width: 38px;
    height: 38px;
    background: transparent url(../images/faq_white.svg) no-repeat;
    background-position: center center;
    background-size: cover;
    padding: 6px 0 0 14px;
    color: #bba36b;
    /*font-weight: bold;*/
}
a.faq-h.active .polygon {
    background: transparent url(../images/faq_red.svg) no-repeat;
    color: #fff;
}
.faq-desc {
    position: absolute;
    right: 0;
    left: 45%;
    top: 0;
    bottom: 0;
    background-color: #fff;
    color: #666;
    padding: 20px 40px 20px 60px;
    opacity: 0;
    -webkit-transition: all 0.2s ease-in-out;
    -moz-transition: all 0.2s ease-in-out;
    -ms-transition: all 0.2s ease-in-out;
    -o-transition: all 0.2s ease-in-out;
}
.faq-desc.active {
    opacity: 1;
}
.faq-desc h3 {
    margin-bottom: 24px;
}


.regions {
    margin-bottom: 22px;
    text-align: center;
}
.regions span {
    margin: 0 10px;
    color: #000;
}
a.phone {
    display: block;
    margin: 0 auto 10px;
    text-align: center;
    font-size: 64px;
    color: #000;
    cursor: pointer;
}
a.phone:hover {
    color: #992626;
}
.messengers {
    text-align: center;
    margin-bottom: 25px;
}
.messenger-whatsapp {
    color: #1daf17;
    font-size: 26px;
    margin: 10px 20px 20px 0;
    display: inline-block;
}
.messenger-whatsapp img {
    display: inline-block;
    width: 34px;
    height: 34px;
    vertical-align: top;
    margin-left: 3px;
    margin-right: 5px;
}
.messenger-viber {
    color: #5848a6;
    font-size: 26px;
    margin: 10px 20px 20px 0;
    display: inline-block;
}
.messenger-viber.desktop {
    display: inline-block;
}
.messenger-viber.mobile {
    display: none;
}
.messenger-viber img {
    display: inline-block;
    width: 34px;
    height: 34px;
    vertical-align: top;
    margin-left: 3px;
    margin-right: 5px;
}
.buttons {
    display: block;
    text-align: center;
    margin-bottom: 34px;
}
.buttons .btn {
    margin: 0 10px;
}
.working-hours {
    margin-bottom: 50px;
    text-align: center;
}
.map {
    width: 100%;
    height: 400px;
    background: #fff url(../images/map.jpg) no-repeat;
    background-position: center center;
    background-size: cover;
    border: 10px solid #faf1e3;
    margin-bottom: 40px;
}
.copyright {
    display: block;
    text-align: center;
    margin-bottom: 40px;
    color: #727273;
}
/* Модальные окна */
.modal-dialog {
    background: #fff url(../images/bg_main.jpg) no-repeat;
    background-position: center center;
    background-size: cover;
    padding: 40px;
}
.modal-content {
    box-shadow: none;
    -webkit-box-shadow: none;
    border: 0;
    border-radius: 0;
}
.modal-header {
    border-bottom: 0;
    padding: 20px 30px 15px;
}
.modal-title {
    font-size: 28px;
}
.modal-header .close {
    float: right;
    padding-top: 5px;
    background-color: transparent;
    border: 0;
    color: #bba36b;
}
.modal-body {
    padding: 0 30px 30px 30px;
}
.call-me-btn {
    width: 100%;
    padding: 19px;
}
#callback_modal .form-group {
    width: auto;
    float: none;
}
#callback_modal .form-horizontal .form-group {
    margin-left: -15px;
    margin-right: -15px;
}
.modal-desc {
    margin-bottom: 20px;
}
#phone_number .form-horizontal .form-group {
    width: 100%;
}
/*.modal-content {
    border-radius: 0;
}
.modal .modal-dialog {
    width: 380px;
}
.modal-header {
    background-color: #f6f6f6;
    border-bottom: none;
    padding-left: 25px;
}

.modal .modal-header .close {
    float: right;
    padding-top: 16px;
    background-color: transparent;
    border: 0;
    color: #ddd;
}
.modal .modal-title {
    font-family: 'Alice', serif;
    font-size: 32px;
    color: #cf9a48;
}
.modal-body {
    padding-bottom: 30px;
}
.call-me-btn {
    width: 100%;
    margin-top: 20px;
}
.modal-desc {
    padding: 13px;
}*/

/*
   Animation example, for spinners
*/
.animate-spin {
    -moz-animation: spin 2s infinite linear;
    -o-animation: spin 2s infinite linear;
    -webkit-animation: spin 2s infinite linear;
    animation: spin 2s infinite linear;
    display: inline-block;
}
@-moz-keyframes spin {
    0% {
        -moz-transform: rotate(0deg);
        -o-transform: rotate(0deg);
        -webkit-transform: rotate(0deg);
        transform: rotate(0deg);
    }

    100% {
        -moz-transform: rotate(359deg);
        -o-transform: rotate(359deg);
        -webkit-transform: rotate(359deg);
        transform: rotate(359deg);
    }
}
@-webkit-keyframes spin {
    0% {
        -moz-transform: rotate(0deg);
        -o-transform: rotate(0deg);
        -webkit-transform: rotate(0deg);
        transform: rotate(0deg);
    }

    100% {
        -moz-transform: rotate(359deg);
        -o-transform: rotate(359deg);
        -webkit-transform: rotate(359deg);
        transform: rotate(359deg);
    }
}
@-o-keyframes spin {
    0% {
        -moz-transform: rotate(0deg);
        -o-transform: rotate(0deg);
        -webkit-transform: rotate(0deg);
        transform: rotate(0deg);
    }

    100% {
        -moz-transform: rotate(359deg);
        -o-transform: rotate(359deg);
        -webkit-transform: rotate(359deg);
        transform: rotate(359deg);
    }
}
@-ms-keyframes spin {
    0% {
        -moz-transform: rotate(0deg);
        -o-transform: rotate(0deg);
        -webkit-transform: rotate(0deg);
        transform: rotate(0deg);
    }

    100% {
        -moz-transform: rotate(359deg);
        -o-transform: rotate(359deg);
        -webkit-transform: rotate(359deg);
        transform: rotate(359deg);
    }
}
@keyframes spin {
    0% {
        -moz-transform: rotate(0deg);
        -o-transform: rotate(0deg);
        -webkit-transform: rotate(0deg);
        transform: rotate(0deg);
    }

    100% {
        -moz-transform: rotate(359deg);
        -o-transform: rotate(359deg);
        -webkit-transform: rotate(359deg);
        transform: rotate(359deg);
    }
}
@media (min-width: 1200px) {
    .sld h3 {
        font-size: 40px;
    }
}
@media (min-width: 993px) {
    header {
        position: fixed;
        top: -1px;
        left: 0;
    }
}


@media (max-width: 1199px) {
    h2 {
        font-size: 56px;
    }
    .h-logo {
        padding: 10px 0 0 110px;
    }
    .logo-name {
        font-size: 18px;
    }
    .h-logo {
        padding: 0 0 0 90px;
        margin: 15px auto 0;
    }
    .h-logo a img {
        width: 68px;
    }
    .h-right {
        margin: 20px 0 18px 0px;
    }
    .main {
        padding-top: 84px;
    }
    .gg-slider {
        margin: 20px 0 80px;
    }
    .sld {
        padding: 165px 0 70px 40px;
    }
    .sld h3 {
        left: -90px;
        top: 35px;
    }
    .advantages {
        margin-bottom: 80px;
    }
}
@media (max-width: 1024px) {

}
@media (max-width: 992px) {
    header {
        text-align: center;
    }
    .h-logo {
        float: none;
    }
    .h-right {
        width: 100%;
        margin: 20px 0 15px;
        padding-left: 45px;
        padding-right: 55px;
    }
    .h-ham {
        display: block;
    }
    .h-phone {
        margin-right: 20px;
    }
    .h-menu {
        position: fixed;
        width: 250px;
        height: 100%;
        top: 0;
        left: -260px;
        margin: 0;
        background-color: #faf1e3;
        padding: 0;
        line-height: 40px;
        z-index: 90;
        -webkit-box-shadow: 5px 5px 12px -3px rgba(0,0,0,0.3);
        -moz-box-shadow: 5px 5px 12px -3px rgba(0,0,0,0.3);
        box-shadow: 5px 5px 12px -3px rgba(0,0,0,0.3);
        transition: all 0.2s ease;
        -o-transition: all 0.2s ease;
        -moz-transition: all 0.2s ease;
        -webkit-transition: all 0.2s ease;
        /*z-index: -1;*/
    }
    .h-menu.opened {
        left: 0;
    }
    .menu li {
        width: 100%;
    }
    .menu li {
        width: 100%;
        line-height: 50px;
        border-bottom: 1px solid #e0d6c7;
    }
    .menu li a {
        color: #af8b54;
        display: block;
        padding-left: 20px;
    }
    .main-h1 h1 {
        font-size: 56px;
    }
    .plus {
        padding: 0;
        text-align: center;
    }
    .plus i {
        position: static;
        display: block;
        width: 90px;
        height: 90px;
        margin: 0 auto 20px;
    }
    .booking-form .background {
        right: 650px;
    }
    .booking-form .background-right {
        width: 615px;
        left: auto;
    }
    .bf {
        width: 450px;
    }
    .bf h2 {
        font-size: 32px;
    }
    .sld h3 {
        left: auto;
        top: -270px;
        right: 0;
        width: 60%;
    }
    .slider-desc {
        width: 100%;

    }
    .sld {
        padding: 100px 0 0;
    }
    .pr-img {
        width: 290px;
        height: 162px;
    }
    .adv {
        width: 50%;
        margin: 0 0 30px 0;
        text-align: left;
        padding-left: 120px;
    }
    .adv i {
        position: absolute;
        top: 15px;
        left: 0;
    }
    .adv h3 {
        font-size: 24px;
        margin-bottom: 20px;
    }
    .faq-container {
        padding: 20px 0;
        background: #faf1e3;
    }
    .faqb-left {
        width: 100%;
        border-right: 0;
    }
    a.faq-h {
        margin: 8px 0;
    }
    .faq-desc {
        position: static;
        padding: 0 20px 0 0;
        opacity: 1;
        max-height: 0;
        overflow: hidden;
    }
    .faq-desc.active {
        max-height: 1000px;
    }
    .faq-desc h3 {
        display: none;
    }
}
@media (max-width: 768px) {
    h2 {
        font-size: 42px;
    }
    h3 {
        font-size: 24px;
    }
    .h-contacts {
        text-align: center;
    }
    .main {
        margin-bottom: 20px;
    }
    .main .background {
        left: 0;
        right: 0;
        height: 300px;
    }
    .main-h1 {
        width: 80%;
        margin: 120px 10% 40px;
        background-color: #fff;
        padding: 15px 30px;
    }
    .bf {
        width: 540px;
        padding: 70px 20px 70px 0;
    }
    .bf h2 {
        margin-top: 25px;
    }
    .form-booking-btn {
        margin-bottom: 30px;
    }
    .program {
        margin-bottom: 50px;
    }
    .catalog h2 {
        margin-bottom: 30px;
    }
    .cat {
        width: 50%;
        padding-top: 50%;
    }
    .advantages {
        margin-bottom: 50px;
    }
    .messenger-viber.desktop {
        display: none;
    }
    .messenger-viber.mobile {
        display: inline-block;
    }
}
@media (max-width: 767px) {
    body {
        font-size: 16px;   
    }
    .h-callback-btn {
        padding: 7px 15px 6px;
        font-size: 12px;
    }

    .h-ham {
        top: 0px;
    }
    .h-phone {
        font-size: 20px;
        margin-right: 20px;
    }
    .h-lang {
        padding: 6px 5px 5px 10px;
        font-size: 12px;
    }
    .main.subfixed {
        margin-top: 131px;
    }
    .gems-gallery {
        margin-bottom: 0;
    }
    .gg-top-btn {
        margin: 0 auto;
        width: 51%;
    }


    .adv {
        width: 100%;
        padding-left: 110px;
        margin-bottom: 40px;
    }
    .adv i {
        top: 10px;
    }
    .polygon {
        padding: 8px 0 0 14px;
    }
    a.phone {
        font-size: 48px;
    }
    .buttons .btn {
        margin: 0 0 20px 0;
    }
}
@media (max-width: 700px) {
    .booking-form .background {
        display: none;
    }
    .booking-form .background-right {
        top: 0;
        left: 0;
        right: 0;
        bottom: 0;
        width: auto;
    }
    .bf {
        width: 100%;
        padding: 20px 0;
    }
}
@media (max-width: 640px) {
    .logo-name {
        font-size: 18px;
    }
    .main-h1 {
        width: 100%;
        margin: 120px 0 40px;
    }
    .main-h1 h1 {
        font-size: 42px;
    }
    .pluses {
        margin: 0 0 40px 0;
    }
    .plus {
        width: 100%;
        min-height: 90px;
        margin: 0 0 30px 0;
        text-align: left;
        padding: 0 0 0 115px;
    }
    .plus i {
        position: absolute;
    }
    .gg-top-btn {
        width: 80%;
        padding: 10px 0 7px;
    }
    .slider-img {
        width: 100%;
        padding-top: 100%;
    }
    .sl-btn.left {
        right: 74px;
    }
    .sl-btn.right {
        right: 0;
    }
    .sld {
        padding: 0;
    }
    .sld h3 {
        position: static;
        padding: 20px 100px 20px 0;
        width: 100%;
    }

    .program-container {
        -webkit-column-count: unset;
        -moz-column-count: unset;
        column-count: unset;
        display: flex;
        flex-direction: column;
    }
    .program h2 {
        -webkit-order: 1;
        order: 1;
        display: block;
        text-align: center;
    }
    .pr:nth-child(2) {
        -webkit-order: 2;
        order: 2;
    }
    .pr:nth-child(3) {
        -webkit-order: 4;
        order: 4;
    }
    .pr:nth-child(4) {
        -webkit-order: 1;
        order: 1;
    }
    .pr:nth-child(5) {
        -webkit-order: 3;
        order: 3;
    }
    .pr:nth-child(6) {
        -webkit-order: 5;
        order: 5;
    }
    .faq {
        margin-bottom: 60px;
    }
    .modal-dialog {
        padding: 10px;
    }
}
@media (max-width: 480px) {

}
@media (max-width: 479px) {
    h2 {
        font-size: 32px;
    }
    .h-callback-btn {
        display: none;
    }
    .logo-name {
        width: 250px;
        font-size: 16px;
    }
    .h-logo {
        padding: 0 0 0 70px;
        float: left;
    }
    .h-logo a img {
        width: 50px;
    }
    .h-right {
        margin: 15px 0;
    }
    .main.subfixed {
        margin-top: 116px;
    }
    .main-h1 h1 {
        font-size: 32px;
    }
    .form-group {
        width: 100%;
        margin: 0 0 10px 0;
    }
    .form-group:nth-child(2n) {
        margin-left: 0;
        margin-right: 0;
    }
    .pr {
        padding-left: 30px; 
    }
    .pr-desc {
        padding: 5px 0 5px 30px;
    }
    .adv {
        padding-left: 100px;
    }
    .adv i {
        width: 80px;
        height: 80px;
        font-size: 40px;
    }
    .advantages {
        margin-bottom: 20px;
    }
    .faqb-left {
        border-left: 0;
        padding-left: 65px;
    }
    .polygon {
        left: -53px;
    }
    .regions span {
        margin: 0 3px;
    }
    a.phone {
        font-size: 32px;
    }
    .messengers {
        margin-bottom: 20px;
    }
    .messenger-whatsapp,
    .messenger-viber
    {
        font-size: 20px;
    }
    .messenger-whatsapp img,
    .messenger-viber img
    {
        width: 28px;
        height: 28px;
    }
    .buttons .btn {
        display: block;
    }
}
@media (max-width: 419px) {

}
@media (max-width: 374px) {
    .logo-name {
        width: 220px;
    }
    .main.subfixed {
        margin-top: 136px;
    }
    .plus {
        padding: 0 0 0 105px;
    }
    .modal-dialog {
        padding: 0;
    }
}
