@charset "utf-8";

.nobr {
    white-space: nowrap;
}
.strong {
    font-weight: bold;
}
.center {
    text-align: center;
}
.cursor-wait * {
    cursor: wait !important;
}
img.alignleft,
img.alignright,
img.aligncenter {
    display: block;
}
img.alignleft,
.wp-caption.alignleft {
    float: left;
}
img.alignright,
.wp-caption.alignright {
    float: right;
}
img.aligncenter,
.wp-caption.aligncenter {
    margin-right: auto;
    margin-left: auto;
}
.table {
    width: 100%;
    overflow-y: auto;
    _overflow: auto;
}
.wp-caption {
    max-width: 100%;
}
.wp-caption-text {
    text-align: center;
    margin: -0.5em 0 0.5em;
    font-size: 1.125rem;
    line-height: 1.5em;
    text-decoration: underline;
}

.expandable-text {}
.expandable-text__content {
    position: relative;
    overflow: hidden;
}
.expandable-text__content::after {
    content: '';
    display: block;
    position: absolute;
    left: 0;
    bottom: 0;
    right: 0;
    height: 80%;
    max-height: 100px;
    background: linear-gradient(0deg, rgba(255, 255, 255, 1) 0%, rgba(255, 255, 255, 0) 100%);
    pointer-events: none;
}
.expandable-text__expand {
    border-bottom: 1px dashed currentColor;
    display: inline-block;
    line-height: 1.2em;
    color: #550c8b;
    cursor: pointer;
    margin: 5px 0 15px;
}

/* ------------ *\
       MAIN
\* ------------ */

.footer {
    background: #424550;
    border-top: 9px solid #f53277;
    color: #fff;
    padding: 19px 0 24px;
}
.footer a {
    color: #fff;
}
.footer .flex-row {
    -webkit-box-pack: justify;
    -ms-flex-pack: justify;
    justify-content: space-between;
}
.footer__menu span {
    font-size: 1.25em;
}
.footer__menu ul {
    font-size: 0;
    padding: 1rem 0;
}
.footer__menu li {
    /*display: inline-block;*/
}
.footer__menu a {
    font: 300 14px/18px 'Fira Sans', sans-serif;
    text-decoration: none;
    /*display: inline-block;
    vertical-align: middle;  */
    /*padding: 0 20px; */
}
.footer__menu a:hover {
    text-decoration: underline;
}

.footer__notifications {
    border: solid #fff;
    border-width: 1px 0;
    padding: 0.5em 0;
    margin: 0 0 1em;
}
.footer__notification {
    display: flex;
    padding: 0.5em 0;
}
.footer__notification-icon {
    width: 32px;
    height: 32px;
    border-radius: 16px;
    border: 2px solid #fff;
    box-sizing: border-box;
    flex-shrink: 0;
    margin: 4px 16px 4px 0;
}
.footer__notification-icon--adult {
    font-weight: bold;
    font-style: normal;
    font-size: 12px;
    line-height: 1.25em;
    display: flex;
    align-items: center;
    justify-content: center;
}
.footer__notification-icon--adult:after {
    content: '18+';
}
.footer__notification-icon--gender {
    background: url('../images/footer__notification-icon--gender.svg') 50% / 18px auto no-repeat;
    position: relative;
}
.footer__notification-icon--gender:after {
    content: '';
    position: absolute;
    top: -2px;
    left: 13px;
    height: 32px;
    width: 2px;
    background: #fff;
    -webkit-transform: rotate(-45deg);
    transform: rotate(-45deg);
}
.footer__notification-icon--doctor {
    background: url('../images/footer__notification-icon--doctor.svg') 4px 5.1px / 20px auto no-repeat;
}
.footer__notification-text {
    display: flex;
    align-items: center;
}
.footer__copyright {
    padding-bottom: 0.5em;
}

.pagination {
    font-size: 0;
    padding: 0 0 11px;
}
.pagination a,
.pagination span {
    display: inline-block;
    border: 1px solid #d2d2d2;
    font: 300 14px/19px 'Fira Sans', sans-serif;
    padding: 6px 12px;
    color: #696969;
    text-decoration: none;
    margin: 0 5px 5px 0;
}
.pagination span.current {
    border: 1px solid #424550;
    background: #424550;
    color: #fff;
}
.pagination .prev,
.pagination .next {
    position: relative;
}
.pagination .prev {
    padding-left: 35px;
}
.pagination .next {
    padding-right: 35px;
}
.pagination .prev:after,
.pagination .next:after {
    content: '';
    top: 8px;
    width: 15px;
    height: 15px;
    position: absolute;
    background-position: 50%;
    background-size: 100% auto;
    background-repeat: no-repeat;
}
.pagination .prev:after {
    left: 10px;
    background-image: url('../images/pagination_prev.svg');
}
.pagination .next:after {
    right: 10px;
    background-image: url('../images/pagination_next.svg');
}



.favorite-control {
    cursor: pointer;
    outline: 0;
    border: 0;
    padding: 0;
    margin: 0;
    font-family: inherit;
    background: transparent;
}
.favorite-control::before,
.favorite-control::after {
    content: '';
    width: 24px;
    height: 24px;
    background-position: center;
    background-size: 100% auto;
    background-repeat: no-repeat;
    transition: 300ms ease opacity;
}
.favorite-control::before {
    background-image: url('../images/favorite-control.svg');
}
.favorite-control::after {
    background-image: url('../images/favorite-control--active.svg');
}
.favorite-control--add::after {
    opacity: 0;
}
.favorite-control--remove::after {
    opacity: 1;
}

.favorite-control--circle {
    position: absolute;
    right: 5px;
    bottom: 5px;
    text-indent: -9999px;
    display: block;
    width: 48px;
    height: 48px;
    background: #fff;
    border-radius: 100%;
    transition: 300ms ease transform;
}
.favorite-control--circle::before,
.favorite-control--circle::after {
    position: absolute;
    top: 12px;
    left: 12px;
}

.favorite-control--text {
    position: relative;
    height: 24px;
    padding-left: 34px;
    text-align: left;
    line-height: 18px;
    font-size: 16px;
    text-decoration: underline;
    color: #000;
}
.favorite-control--text::before,
.favorite-control--text::after {
    position: absolute;
    left: 0;
    top: 0;
}

div.text {
    font: 15px/26px 'Fira Sans', sans-serif;
    color: #000000;
    background: #f7f7f8;
    padding: 33px 0 0;
}
.text--cabinet {
    padding-top: 16px;
}
.text p {
    margin-bottom: 17px;
}
.text h2 {
    font: 500 26px/30px 'Fira Sans', sans-serif;
    color: #3e3b7c;
    margin-bottom: 10px;
}
.text ol {
    counter-reset: ol;
}
.text p + ul,
.text p + ol {
    margin: -10px 0 6px;
    overflow: hidden;
}
.text ul li:not(.ya-share2__item) {
    background: url('../images/text_li.svg') 0 6px / 16px auto no-repeat;
    padding: 0 0 7px 25px;
}
.text ol li {
    counter-increment: ol;
    padding: 0 0 7px;
}
.text ol li:before {
    content: counter(ol) ".";
    font-weight: 700;
    color: #f53277;
    margin: 0 5px 0 0;
}
.text .alignleft {
    margin: 2px 27px 10px 0;
}
.text img {
    max-width: 100%;
    height: auto;
    display: block;
}
.text__collapsed::after {
    background: linear-gradient(0deg, rgba(247, 247, 248, 1) 0%, rgba(247, 247, 248, 0) 100%);
}
.text__collapsed.expandable-text__content {
    max-height: 260px; /* 26px * 10 */
}
@media screen and (min-width: 768px) {
    .text__collapsed.expandable-text__content {
        max-height: 156px; /* 26px * 6 */
    }
}

/* 1 */
.ya-share2__container {
    text-align: center;
}
.ya-share2__container_size_m .ya-share2__icon {
    height: 32px !important; /* 24px */
    width:  32px !important; /* 24px */
    background-size: 32px 32px !important; /* 24px 24px */
}
@media screen and (min-width: 990px) {
    .ya-share2__container_size_m .ya-share2__icon {
        height: 50px !important; /* 24px */
        width:  50px !important; /* 24px */
        background-size: 50px 50px !important; /* 24px 24px */
    }
}




.salon {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-shadow: 0 1px 3px 0 rgba(0,0,0,0.25);
    box-shadow: 0 1px 3px 0 rgba(0,0,0,0.25);
    background: #fff;
    -webkit-transition: 400ms ease;
    -o-transition: 400ms ease;
    transition: 400ms ease;
    margin: 15px 0;
    text-decoration: none;
}
.salon:hover {
    -webkit-box-shadow: 0 1px 8px 0 rgba(245,50,119,0.25);
    box-shadow: 0 1px 8px 0 rgba(245,50,119,0.25);
}
.salon__info {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-flex-direction: column;
    -ms-flex-direction: column;
    flex-direction: column;
    -webkit-box-flex: 1;
    -ms-flex: 1;
    flex: 1;
}
.salon__top {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
}
.salon-owner {
    padding: 1em;
    border: 2px solid #ccc;
    margin: 1em 0 ;
}
.salon-owner__title {
    font-size: 1.5em;
    line-height: 1.25em;
    font-weight: 500;
    padding: 0 0 0.25em;
}
.salon-owner__list {
    list-style: inside decimal;
}
.salon-owner__list .js-link {
    text-decoration: underline;
}

.salon__img {
    padding: 20px 10px 20px 20px;
    position: relative;
    cursor: pointer;
    -ms-flex-item-align: start;
    align-self: flex-start;
}
.salon-info__left:after,
.salon__img:after,
.girl__image--zoom:after,
.master-block:after {
    content: '';
    position: absolute;
    width: 40px;
    height: 40px;
    background: url("../images/zoom.svg") 0 0 / 100% auto no-repeat;
    pointer-events: none;
    right: 0;
    bottom: 0;
}
.salon__img:after {
    right: 10px;
    bottom: 20px;
}
.salon-info__left:after {
    right: 15px;
}
.girl__image--zoom:after {
    bottom: 17px;
}
.salon__img img {
    margin: 0 auto;
    display: block;
    max-width: 100%;
    height: auto;
}
.photo-count {
    position: absolute;
    background: rgba(0,0,0,0.8) url('../images/camera.svg') 10px center / 24px 24px no-repeat;
    color: #fff;
    padding: 5px 10px 5px 42px;
}
.salon__photo-count {
    bottom: 20px;
    left: 20px;
}
.salon__content {
    -webkit-box-flex: 1;
    -ms-flex: 1;
    flex: 1;
    padding: 16px 70px 20px 17px;
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
    -ms-flex-direction: column;
    flex-direction: column;
    color: #252525;
    position: relative;
}
.salon__title {
    font: bold 26px/30px 'Fira Sans', sans-serif;
    padding: 0 0 4px 0;
    color: #3e3b7c;
}
.salon__title--with-favorite {
    padding-right: 20px;
}
.salon__title--flex {
    display: flex;
    align-items: center;
    position: relative;
}
.salon__title span,
.salon__title a {
    display: inline-block;
    color: #3e3b7c;
    text-decoration: none;
}
.salon-actual {
    width: 16px;
    height: 16px;
    background: url('../images/actual.svg') center / auto 100% no-repeat;
    display: inline-block;
    vertical-align: middle;
    z-index: 5;
}
.salon__actual {
    margin: 0 10px 4px 0;
}
.salon__actual--with-favorite {
    margin-right: 0;
}
.salon__actual--tooltip {
    background-position-x: 0;
    flex-grow: 1;
    margin-left: 5px;
    margin-bottom: 2px;
}
.salon:hover .salon__title span,
.salon__title a:hover {
    color: #f53277;
}
.salon:hover .salon__title span:after,
.salon__title a:hover::after {
    background-position: 0 -12px;
}
.salon__specs {
    display: table;
    width: 100%;
}
.salon__specs-row {
    display: table-row;
}
.salon__specs-name {
    display: table-cell;
    vertical-align: middle;
    position: relative;
    overflow: hidden;
}
.salon__specs-value {
    display: table-cell;
    padding-left: 3px;
    font-weight: 300;
}
.salon__specs-value a,
.salon__link {
    color: #3e3b7c;
}
.salon__link {
    text-decoration: underline;
    cursor: pointer;
}
.salon__link:hover {
    text-decoration: none;
}
.salon__specs-value strong a {
    color: #000;
    text-decoration: none;
}
.salon__specs-value strong a:hover {
    text-decoration: underline;
}
.salon__specs-name span {
    position: relative;
    display: inline-block;
    padding-right: 3px;
    white-space: nowrap;
}
.salon__specs-name span:before {
    content: '';
    position: absolute;
    left: 100%;
    bottom: 8px;
    width: 9000px;
    border-bottom: 1px dotted #cecece;
}

.salon__phone,
.salon__address {
    display: inline-block;
    padding: 5px 0 5px 35px;
}
.salon__phone {
    background: url('../images/phone.svg') 0 center / 24px auto no-repeat;
}
.salon__phone a {
    text-decoration: none;
}
.salon__phone a:hover {
    text-decoration: underline;
}
.salon__address {
    background: url('../images/address.svg') 0 center / 24px auto no-repeat;
}
.salon__address + .salon__contacts {
    padding-top: 10px;
}
.salon__address-city {
    font-weight: bold;
}




.salon__contacts {
    font-size: 0;
}
.salon__contacts ul {
    margin-left: -5px;
}
.salon__contact {
    display: inline-block;
    font-size: 0;
    width: 33px;
    height: 33px;
    vertical-align: middle;
    margin: 2px 0 2px 5px;
    position: relative;
    z-index: 2;
}
.salon__contact:hover {
    z-index: 3;
}
.salon__contact a {
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
}
.salon__gift {
    display: flex;
    padding: 20px 0 0;
    align-items: center;
}
.salon__gift .tooltip {
    flex: 1;
}
.salon__gift-label {
    display: inline-block;
    background: #03ab5d;
    font-family: inherit;
    padding: 6px 10px;
    line-height: 1.2em;
    color: #fff;
    vertical-align: middle;
    margin: 0 10px 0 0;
    font-style: normal;
    border: 0;
    outline: 0;
    cursor: pointer;
}
.salon__gift-label--front {
    padding-left: 0;
    padding-right: 0;
    display: block;
    text-align: center;
    margin: 0 17px 5px 0;
}
.tooltip {
    position: relative;
    display: inline-block;
    vertical-align: middle;
    height: 24px;
    width: 40px;
    z-index: 25;
}
.tooltip__icon {
    position: absolute;
    top: 0;
    left: 0;
    height: 24px;
    width: 24px;
    border-radius: 100%;
    border: 2px solid #3e3b7c;
    font-size: 19px;
    font-weight: bold;
    color: #3e3b7c;
    box-sizing: border-box;
    padding: 4px 0 0 5px;
    line-height: 14px;
}
.salon__contact span,
.tooltip__body,
.filter__tooltip {
    position: absolute;
    background: #fbf9ec;
    display: inline-block;
    padding: 3px 6px;
    font: italic 300 14px/18px 'Fira Sans', sans-serif;
    color: #616161;
    opacity: 0;
    pointer-events: none;
    visibility: hidden;
    -webkit-box-shadow: 1px 1px 5px 0 rgba(0,0,0,0.13);
    box-shadow: 1px 1px 5px 0 rgba(0,0,0,0.13);
    border-radius: 3px;
}
.salon__contact span {
    white-space: nowrap;
    top: 4.5px;
    left: 35px;
}
.tooltip__body {
    top: 0;
    left: 32px;
}
.tooltip__body p {
    padding: 5px;
    line-height: 1.5em;
    font-style: normal;
}
.salon__contact:hover span,
.tooltip:hover .tooltip__body,
.filter__tooltip--active {
    opacity: 1;
    pointer-events: auto;
    visibility: visible;
}
.tooltip--gift .tooltip__body {
    max-width: 300px;
}
.contact-icon {
    background-position: 50%;
    background-size: 100% auto;
    background-repeat: no-repeat;
}
.contact-icon--viber {
    background-image: url('../images/contact-icon--viber.svg');
}
.contact-icon--whatsapp {
    background-image: url('../images/contact-icon--whatsapp.svg');
}
.contact-icon--telegram {
    background-image: url('../images/contact-icon--telegram.svg');
}
.contact-icon--vk {
    background-image: url('../images/contact-icon--vk.svg');
}
.contact-icon--instagram {
    background-image: url('../images/contact-icon--instagram.svg');
}
.salon__spacer {
    -webkit-box-flex: 1;
    -ms-flex: 1;
    flex: 1;
}
.salon__girls {
    font: italic 300 14px/18px 'Fira Sans', sans-serif;
    color: #8f8f8f;
    padding-top: 5px;
}
.salon__girls li {
    float: left;
    padding: 7px 7px 0 0;
}
.salon__girls li img {
    display: block;
    border-radius: 100%;
}
.salon__right {
    display: flex;
    flex-direction: column;
    justify-content: space-between;
    padding: 20px;
    align-items: flex-end;
}
.salon__more {
    margin: 20px 0 0;
}
.salon__genders {
    display: flex;
    margin: 0 -5px;
    align-items: flex-end;
    justify-content: center;
}
.salon__gender {
    display: block;
    margin: 0 5px;
    width: 40px;
    height: 40px;
    border: 1px solid #828282;
}
.gender {
    background-size: auto 80%;
    background-repeat: no-repeat;
    background-position: center;
}
.salon__gender--small {
    margin: 0;
    width: 24px;
    height: 20px;
    border: 0;
    background-size: auto 100%;
    background-position: right center;
}
.gender--male {
    background-image: url('../images/male.svg');
}
.gender--female {
    background-image: url('../images/female.svg');
}
.gender--couple {
    background-image: url('../images/couple.svg');
}

.salon__description {
    padding: 0 20px;
    margin: 0 0 15px;
    line-height: 1.5em;
    max-height: 10.5em;
    overflow: hidden;
    position: relative;
    text-overflow: ellipsis;
    display: -webkit-box;
    -webkit-line-clamp: 7;
    -webkit-box-orient: vertical;
}

.salon__meta {
    width: 105px;
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
    -ms-flex-direction: column;
    flex-direction: column;
    background: #f7f7f8;
    padding: 13px 0 0 20px;
    font: italic 300 14px/18px 'Fira Sans', sans-serif;
    color: #8e8d8d;
}
.salon__meta strong {
    color: #000000;
    font-weight: bold;
    font-style: normal;
    font-size: 16px;
    line-height: 22px;
}
.salon__features {
    padding: 0 17px 0 12px;
    margin: 0 0 0 -20px;
    -webkit-box-flex: 1;
    -ms-flex: 1;
    flex: 1;
}
.salon__features ul {
    font-size: 0;
    line-height: 0;
}
.salon__features li {
    margin: 0 0 8px 8px;
}
.salon__feature {
    margin: 0 8px 8px 0;
    width: 40px;
    position: relative;
    height: 40px;
    background: #ffffff;
    display: inline-block;
    z-index: 1;
}
.salon-feature {
    background-color: #fff;
    background-position: 50%;
    background-size: 75% auto;
    background-repeat: no-repeat;
}
.salon__feature:hover {
    z-index: 2;
}
li.salon-feature--jacuzzi,
.salon-feature--jacuzzi {
    background-image: url('../images/salon-feature--jacuzzi.svg');
}
li.salon-feature--sauna,
.salon-feature--sauna {
    background-image: url('../images/salon-feature--sauna.svg');
}
li.salon-feature--hookah,
.salon-feature--hookah {
    background-image: url('../images/salon-feature--hookah.svg');
}
li.salon-feature--alco,
.salon-feature--alco {
    background-image: url('../images/salon-feature--alco.svg');
}
li.salon-feature--smoking,
.salon-feature--smoking {
    background-image: url('../images/salon-feature--smoking.svg');
}
li.salon-feature--card,
.salon-feature--card {
    background-image: url('../images/salon-feature--card.svg');
}
li.salon-feature--24-7,
.salon-feature--24-7 {
    background-image: url('../images/salon-feature--24-7.svg');
}
li.salon-feature--strip,
.salon-feature--strip {
    background-image: url('../images/salon-feature--strip.svg');
}
.salon__feature span,
.salon__actual span {
    position: absolute;
    top: 40px;
    background: #fbf9ec;
    display: inline-block;
    padding: 5px 12px;
    font: italic 300 14px/18px 'Fira Sans', sans-serif;
    color: #616161;
    opacity: 0;
    pointer-events: none;
    visibility: hidden;
    right: 0;
    -webkit-box-shadow: 1px 1px 5px 0 rgba(0,0,0,0.13);
    box-shadow: 1px 1px 5px 0 rgba(0,0,0,0.13);
    border-radius: 3px;
    white-space: nowrap;
}
.salon__actual span {
    top: 20px;
    left: 0;
    right: auto;
    white-space: normal;
}
.salon__feature:hover span,
.salon__actual:hover span {
    opacity: 1;
    pointer-events: auto;
    visibility: visible;
}
.button {
    display: block;
    padding: 6px 10px;
    background: #f53277;
    position: relative;
    color: #ffffff;
    text-decoration: none;
    text-align: center;
    font: 300 14px/18px 'Fira Sans', sans-serif;
}
.salon .button {
    margin: 7px 0 0 -20px;
}


/* Salon Info */
.salon-info {
    padding: 0 0 17px;
}
.salon-info__top {
    -webkit-box-flex: 1;
    -ms-flex: 1;
    flex: 1;
}
@media screen and (min-width: 768px) {
    .salon-info__header {
        display: flex;
        align-items: center;
    }
}
.salon__favorite-control {
    margin-bottom: 4px;
}
.salon__gallery {
    margin: 0 -5px 10px;
}
.salon__slide {
    padding: 0 5px;
}
.salon__slide img {
    width: 100%;
}
.salon-info__right {
    position: relative;
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    padding-top: 20px;
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
    -ms-flex-direction: column;
    flex-direction: column;
}
.salon-info__bottom {
    padding: 5px 0 0;
}
.salon-info__meta {
    background: #eaebee;
    padding: 10px 20px 4px 15px;
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
}
.salon-info__features {
    font-size: 0;
    line-height: 0;
    -webkit-box-flex: 0;
    -ms-flex: 0 1 220px;
    flex: 0 1 220px;
}
.salon-info__price {
    -webkit-box-flex: 1;
    -ms-flex: 1;
    flex: 1;
    font-size: 14px;
    font-style: italic;
    font-weight: 300;
    color: #8e8d8d;
}
.salon-info__price strong {
    font-size: 18px;
    line-height: 24px;
    color: #000000;
    font-style: normal;
}
.salon-info__price em {
    font-size: 24px;
    font-style: normal;
}
.salon-info__buttons {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-pack: justify;
    -ms-flex-pack: justify;
    justify-content: space-between;
    padding: 12px 0 0;
}
.salon-info__button {
    display: inline-block;
    background: #f53277;
    text-decoration: none;
    color: #fff;
    font-size: 14px;
    font-weight: bold;
    line-height: 22px;
    padding: 10px 40px;
}
.salon-info__button--disabled {
    opacity: 0.2;
    pointer-events: none;
}

.salon-seo {
    padding: 5px 0 20px;
}
.salon-desc {
    padding: 1em 0;
    font-weight: 300;
}
.salon-desc__text.expandable-text__content {
    max-height: 182px; /* 26px * 7 */
}
.salon-desc p {
    margin-bottom: 17px;
}
.salon-desc summary {
    outline: 0;
    margin: 0 0 1rem;
}

.salon-programs {
    padding: 12px 0 20px;
    background: #f2f1fa;
    margin: 0 0 28px;
    text-align: center;
}
.salon-programs-warning {
    text-align: left;
    border: 2px solid #fff;
    background: #f0e9f6;
    padding: 10px 15px;
    margin: 0 0 10px;
    font-size: 14px;
    line-height: 18px;
    display: flex;
    align-items: flex-start;
}
@media screen and (max-width: 575px) {
    .salon-programs-warning {
        font-size: 12px;
        line-height: 16px;
    }
}
.salon-programs-warning__icon {
    width: 32px;
    height: 32px;
    border-radius: 16px;
    border: 2px solid #f53277;
    box-sizing: border-box;
    flex-shrink: 0;
    margin: 0 10px 0 0;
    background: url('../images/salon-programs-warning__icon.svg') 50% / 18px auto no-repeat;
    position: relative;
}
.salon-programs-warning__icon:after {
    content: '';
    position: absolute;
    top: -2px;
    left: 13px;
    height: 32px;
    width: 2px;
    background: #f53277;
    -webkit-transform: rotate(-45deg);
    transform: rotate(-45deg);
}
.salon-programs__table {
    text-align: left;
}
.salon-programs table {
    border-collapse: collapse;
    border: 1px solid #fff;
    font-size: 14px;
    line-height: 17px;
    font-weight: 300;
    margin: 0 0 10px;
    width: 100%;
}
.salon-programs__title {
    text-align: center;
    font-size: 18px;
    font-weight: 500;
    color: #3e3b7c;
    padding: 0 0 12px;
}
.salon-programs thead {
    background: #f2f1fa;
    font-size: 13px;
    line-height: 15px;
    color: #8f8d9e;
    text-transform: uppercase;
}
.salon-programs thead th {
    border: 1px solid #fff;
    padding: 11px 20px;
}
.salon-programs tbody {
    border: 1px solid #fff;
    background: #fff;
}
.salon-programs tbody td {
    border: 1px solid #f2f1fa;
    padding: 13px 20px 17px;
    text-align: center;
}
.salon-programs .alignleft {
    text-align: left;
}
.salon-programs tbody td:first-child {
    color: #585858;
    border-left-width: 0;
}
.salon-programs tbody td:last-child {
    border-right-width: 0;
}
.salon-programs tbody tr:last-child td {
    border-bottom-width: 0;
}
.salon-programs__whom {
    float: right;
    margin: -4px -15px 0 0;
}
.salon-programs__name {
    font-weight: 500;
    color: #f53277;
    padding: 0 0 4px;
}
.salon-programs__description {
    margin: 0 0 -1em;
    font-style: italic;
}
.salon-programs__description p {
    padding: 0 0 1em;
}
.salon-programs__hidden {
    display: none !important;
}

.salon-masters {
    text-align: center;
    padding: 0 0 20px;
}
.salon-masters__title {
    position: relative;
    font-size: 21px;
    line-height: 24px;
    color: #343434;
    font-weight: 500;
}
.salon-masters__title:before {
    content: '';
    position: absolute;
    top: 50%;
    height: 1px;
    left: 0;
    right: 0;
    background: #f53277;
}
.salon-masters__title span {
    background: #ffffff;
    position: relative;
    display: inline-block;
    padding: 0 16px;
}
.salon-masters__master {
    display: inline-block;
    font-size: 14px;
    font-weight: 300;
    margin: 0 19px;
    vertical-align: top;
}
.salon-masters__master--more {
    text-decoration: none;
}
.salon-masters__master img {
    display: block;
    margin: 0 auto 6px;
    border-radius: 100%;
}
.salon-masters__master p {
    padding: 0 0 1em;
}

.salon-news {
    text-align: center;
    margin: 0 0 18px;
}
.salon-news__bg {
    background: rgba(0,0,0,0.05);
}
.salon-news__title {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-pack: justify;
    -ms-flex-pack: justify;
    justify-content: space-between;
    -webkit-box-align: center;
    -ms-flex-align: center;
    align-items: center;
    padding: 12px 27px 11px;
}
.salon-news__title span {
    font-size: 21px;
    line-height: 27px;
    font-weight: bold;
}
.salon-news__title a {
    text-align: right;
    color: #9a9a9a;
    font-style: italic;
    font-weight: 300;
}
.salon-news__title a,
.salon-news__spacer {
    -webkit-box-flex: 1;
    -ms-flex: 1;
    flex: 1;
}

.salon-master-address {
    font-size: 16px;
    line-height: 21px;
    color: #5d5d5d;
    font-weight: 300;
    margin: 0 0 1em;
}
.salon-address {
    text-align: center;
    font-size: 16px;
    line-height: 21px;
    color: #5d5d5d;
    font-weight: 300;
}
.salon-address img {
    display: block;
    max-width: 100%;
    height: auto;
    object-fit: cover;
    margin: 15px auto;
}
.salon-address a:last-child img {
    margin-bottom: 0;
}
.salon-address__row {
    margin-top: 12px;
    margin-bottom: 19px;
}
.salon-address__title {
    font-size: 21px;
    line-height: 25px;
    color: #343434;
    font-weight: 500;
    padding: 18px 0 3px;
    text-align: center;
}
.salon-address__map-preview {
    background: #fdfaf1 url('../images/map.jpg') 50% / cover no-repeat;
    display: flex;
    align-items: center;
    justify-content: center;
    height: 390px;
}
.salon-address__hide-map {
    display: inline-block;
    position: absolute;
    top: 50px;
    right: 10px;
    width: 48px;
    height: 48px;
    background: rgba(0,0,0,0.5);
    border: 0;
    padding: 0;
    margin: 0;
    z-index: 126;
    text-indent: -9999px;
    cursor: pointer;
}
.salon-address__hide-map::before,
.salon-address__hide-map::after {
    content: '';
    position: absolute;
    width: 18px;
    height: 2px;
    background: #fff;
    left: 50%;
    top: 50%;
    margin: -1px 0 0 -9px;
}
.salon-address__hide-map::after {
    transform: rotate(45deg);
}
.salon-address__hide-map::before {
    transform: rotate(-45deg);
}
.salon-address__map {
    position: fixed;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    margin: 0;
    padding: 0;
    z-index: 105;
    opacity: 0;
    pointer-events: none;
    visibility: hidden;
    transition: 300ms ease;
    background: #fff;
}
.salon-address__map:before {
    position: absolute;
    left: 0;
    right: 0;
    top: 0;
    bottom: 0;
    display: flex;
    align-items: center;
    justify-content: center;
    content: 'Загрузка';
    font-size: 48px;
    font-size: 10vmin;
}
.salon-address__map--active {
    opacity: 1;
    pointer-events: auto;
    visibility: visible;
}

.salon-testimonials {
    text-align: center;
    padding: 15px 0 0;
}
.salon-testimonials__title {
    font-size: 21px;
    line-height: 25px;
    color: #343434;
    font-weight: 500;
    padding: 19px 0 31px;
}
.salon-testimonials__button {
    display: inline-block;
    font-family: inherit;
    border: 0;
    outline: 0;
    cursor: pointer;
    font-size: 16px;
    line-height: 20px;
    font-weight: 500;
    color: #3e3b7c;
    padding: 15px 35px;
    background: #d6d8e0;
    text-decoration: none;
    margin: 10px 0;
}


.salon-address__show-map {
    color: #fff;
    background: #f53277;
}

.contact-form {
    position: relative;
}
.contact-form__border {
    box-shadow: 0 0 0 5px #f53277;
    padding: 30px 30px 20px;
    margin: 0 0 20px;
}
.contact-form__title,
p.contact-form__title {
    color: #5f1b92;
    font-weight: 500;
    font-size: 20px;
    line-height: 24px;
    padding: 0 0 17px;
}
.contact-form__label {
    font-size: 1rem;
    font-weight: bold;
    margin: 0 0 0.5em;
    display: inline-block;
}
.add-testimonial {
    position: relative;
    display: none;
}
.add-testimonial__auth {
    display: none;
    padding-top: 1em;
}
.contact-form__message-close {
    display: none;
}
.js-enabled .contact-form__message-close {
    position: absolute;
    top: 7px;
    right: 15px;
    display: inline-block;
    font-size: 14px;
}
.js-enabled .contact-form__message-close:before,
.js-enabled .contact-form__message-close:after,
.js-enabled .contact-form__message:before,
.js-enabled .contact-form__message:after,
.js-enabled .contact-form__inner:before,
.js-enabled .contact-form__inner:after {
    content: '';
    position: absolute;
    top: 23px;
    right: 15px;
    width: 24px;
    height: 3px;
    background: #000;
}
.js-enabled .contact-form__message--testimonial:before,
.js-enabled .contact-form__message--testimonial:after {
    display: none;
}
.js-enabled .contact-form__message-close:before,
.js-enabled .contact-form__message-close:after {
    top: 12px;
    left: -30px;
}
.js-enabled .contact-form__message-close:before,
.js-enabled .contact-form__message:before,
.js-enabled .contact-form__inner:before {
    -webkit-transform: rotate(-45deg);
    -ms-transform: rotate(-45deg);
    transform: rotate(-45deg);
}
.js-enabled .contact-form__message-close:after,
.js-enabled .contact-form__message:after,
.js-enabled .contact-form__inner:after {
    -webkit-transform: rotate(45deg);
    -ms-transform: rotate(45deg);
    transform: rotate(45deg);
}
.js-enabled .contact-form__message {
    position: absolute;
    cursor: pointer;
    display: flex;
}
.contact-form__message {
    top: 0;
    left: 0;
    right: 0;
    bottom: 0;
    background: rgba(255,255,255,0.85);
    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;
    font-size: 24px;
    line-height: 1.25em;
    opacity: 0;
    visibility: hidden;
    pointer-events: none;
    -webkit-transition: 450ms ease;
    -o-transition: 450ms ease;
    transition: 450ms ease;
    padding: 25px;
    z-index: 20;
    -webkit-box-shadow: 0 0 0 5px #f53277;
    box-shadow: 0 0 0 5px #f53277;
}
.contact-form__message--owner {
    top: -40px;
}
.contact-form__message--small  {
    font-size: 15px;
}
.contact-form__message--active {
    opacity: 1;
    visibility: visible;
    pointer-events: auto;
}
.add-testimonial__warning {
    padding: .5em 1em;
    margin: .5em 0;
    border: 1px solid #eee;
    background: #fafafa;
    font-style: italic;
    text-align: left;
}
.add-testimonial__type {
    text-align: left;
    margin: 0px 0 10px;
}
.add-testimonial__type--alert ul {
    -webkit-box-shadow: 0 0 5px 2px rgba(255,0,0,0.7);
    box-shadow: 0 0 5px 2px rgba(255,0,0,0.7);
}
.add-testimonial__type ul {
    padding: 5px 10px;
    margin-left: 5px;
    border-radius: 5px;
    -webkit-transition: 400ms ease;
    -o-transition: 400ms ease;
    transition: 400ms ease;
}
.add-testimonial__type ul,
.add-testimonial__type ul li,
.add-testimonial__type ul label {
    display: inline-block;
    vertical-align: middle;
}
.add-testimonial__type ul li:last-child .testimonial__type--form {
    margin-right: 0;
}
.add-testimonial__type ul label {
    line-height: 0;
}
.add-testimonial__input {
    display: none;
}
.contact-form__input {
    width: 100%;
    border: 0;
    outline: 0;
    font-size: 16px;
    line-height: 24px;
    font-family: inherit;
    border: 1px solid #ccc;
    padding: 10px 15px;
    -webkit-box-sizing: border-box;
    box-sizing: border-box;
    margin: 0 0 10px;
}
.contact-form__text {
    height: 40px;
}
.contact-form__textarea {
    height: 100px;
    resize: none;
}
.add-testimonial__row {
    -webkit-box-pack: justify;
    -ms-flex-pack: justify;
    justify-content: space-between;
    -ms-flex-wrap: wrap;
    flex-wrap: wrap;
    text-align: left;
}


.post {
    text-decoration: none;
    display: block;
    text-align: left;
    border-bottom: 1px solid rgba(0,0,0,0.05);
}
.salon-news .post {
    border-top: 1px solid rgba(0,0,0,0.05);
    border-bottom: none;
}
.post:hover {
    background: rgba(0,0,0,0.05);
}
.post a {
    text-decoration: none;
}
.post__container {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    padding: 12px 0 25px;
}
.salon-news .post__container {
    margin: 0 -10px;
}
.post__img {
    padding: 13px 0 0;
    margin: 0 10px;
    -ms-flex-negative: 0;
    flex-shrink: 0;
}
.post__img img {
    display: block;
    margin: 0 auto;
    max-width: 100%;
    height: auto;
}
.post__content {
    font-size: 14px;
    line-height: 17px;
    padding: 10px 0 0;
    font-weight: 300;
    margin: 0 10px;
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
    -ms-flex-direction: column;
    flex-direction: column;
}
.post__content time {
    display: inline-block;
    padding: 0 0 22px;
}
.post__title {
    font-size: 18px;
    line-height: 24px;
    font-weight: 500;
    color: #3e3b7c;
    text-decoration: underline;
}
.post__top {
    -webkit-box-flex: 1;
    -ms-flex: 1;
    flex: 1;
}
.post__publishedby {
    color: #777;
    font-weight: 300;
    padding-top: 17px;
}
.post__publishedby strong {
    font-weight: 500;
    color: #f53277;
    text-decoration: underline;
}

.news {
    padding-bottom: 20px;
}
.news .post {
    padding-left: 45px;
    padding-right: 45px;
}


.testimonial {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    text-align: left;
    border: 1px dashed #a2a2a2;
    margin: 0 0 10px;
    font-size: 14px;
    line-height: 17px;
    font-weight: 300;
    padding: 19px 35px 7px 29px;
    align-items: flex-start;
}
.testimonial__info {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    align-items: center;
    margin: 0 0 10px;
    flex-shrink: 0;
}
.testimonial__for {
    display: block;
    text-decoration: none;
    text-align: center;
    border-right: 1px solid #ccc;
    padding-right: 20px;
    margin-right: 20px;
}
.testimonial__for-img,
img.testimonial__for-img {
    width: 48px;
    height: 48px;
    border-radius: 60px;
}
.testimonial__for-title {
    padding-top: 5px;
    font-weight: 500;
}
.testimonial__author {
    font-weight: bold;
}
.testimonial__type {
    width: 21px;
    height: 21px;
    margin: 3px 12px 0 0;
    background-position: 50%;
    background-size: 100% auto;
    background-repeat: no-repeat;
}
.testimonial__type--positive {
    background-image: url('../images/testimonial__type--positive.svg');
}
.testimonial__type--negative {
    background-image: url('../images/testimonial__type--negative.svg');
}
.testimonial__text {
    padding: 0 0 0 47px;
    font-style: italic;
    flex-grow: 1;
}
.testimonial__text p {
    padding-bottom: 17px;
}
.testimonial__more {
    display: inline-block;
    font-weight: 500;
    color: #fff;
    text-decoration: none;
    border: 0;
    outline: 0;
    cursor: pointer;
    font-family: inherit;
    -webkit-transition: 300ms ease;
    -o-transition: 300ms ease;
    transition: 300ms ease;
    text-align: center;
    background: #f53277;
    line-height: 1.25em;
    padding: .3em 1em;
    font-size: .8rem;
    font-style: normal;
    float: right;
}
.testimonial__more:hover {
    -webkit-box-shadow: inset 0 0 0 9999px rgba(0,0,0,.15);
    box-shadow: inset 0 0 0 9999px rgba(0,0,0,.1);
}
.testimonial__type--form {
    opacity: 0.5;
    display: inline-block;
    cursor: pointer;
    margin-top: 0;
}
.testimonial__type--form:hover {
    opacity: 0.7;
}
input:checked + label .testimonial__type--form {
    opacity: 1;
}
.testimonial__response {
    font-weight: bold;
}


.girl {
    text-decoration: none;
    display: block;
    border-bottom: 1px dotted #3e3b7c;
    padding: 22px 5px 10px;
}
.girl--single {
    border-bottom: 2px solid #7c77cb;
    margin-bottom: 20px;
}
.girl:last-of-type {
    margin: 0 0 20px;
}
.girl:hover {
    background: #feeaf1;
}
.girl--single:hover {
    background: transparent;
}
.girl__image {
    padding: 4px 0 17px;
    max-height: 510px;
    overflow-y: hidden;
    position: relative;
}
.girl__image img {
    width: 100%;
}
.girl__title {
    font-size: 26px;
    font-weight: bold;
    color: #3e3b7c;
    padding: 11px 0 5px;
    line-height: 32px;
    position: relative;
}
.girl__actual span {
    top: 40px;
}
.girl__desc {
    padding: 0 0 24px;
}
.girl__desc dl {
    color: #484848;
    font-weight: 300;
    display: inline-block;
    white-space: nowrap;
}
.girl__desc dt {
    float: left;
    width: 140px;
    white-space: nowrap;
    padding: 0 0 0 12px;
}
.girl__desc dd {
    font-weight: 500;
    padding: 0 12px;
    overflow: hidden;
}
.girl__desc dd em {
    font-style: normal;
    text-decoration: underline;
    font-weight: 700;
    color: #f53277;
}
.girl__desc dt:nth-of-type(odd),
.girl__desc dd:nth-of-type(odd) {
    background: rgba(62,59,124,0.1);
}


.girl__desc {
    display: table;
    color: #484848;
    line-height: 20px;
}
.girl__desc-row {
    display: table-row;
}
.girl__desc-row:nth-of-type(odd) {
    background: rgba(62,59,124,0.1);
}
.girl__desc-name,
.girl__desc-value {
    display: table-cell;
    padding: 3px 6px;
}
.girl__desc-name {
    font-weight: 300;
    padding-left: 10px;
}
.girl__desc-value {
    font-weight: 500;
    padding-right: 10px;
}
.girl__desc-value em {
    font-style: normal;
    text-decoration: underline;
    font-weight: 700;
    color: #f53277;
}



.girl__gallery {
    padding: 0 0 9px;
}
.girl__gallery img {
    margin: 0 0 10px;
}
.girl__gallery .row {
    margin-right: -5px;
    margin-left: -5px;
}
.girl__gallery .col-sm-4 {
    padding-left: 5px;
    padding-right: 5px;
}
.girl__more {
    display: inline-block;
    font-size: 14px;
    font-weight: bold;
    line-height: 18px;
    padding: 12px 30px;
    background: #f53277;
    border-radius: 5px;
    color: #fff;
    margin: 0 0 17px;
}
.girl .button {
    margin: 0 0 17px;
}
.girl__text {
    line-height: 17px;
}
.girl__text p {
    padding-bottom: 17px;
}




.single-post__header {
    display: flex;
    justify-content: space-between;
    align-items: flex-start;
    position: relative;
}
.single-post__img {
    padding: 5px 0 20px;
}
.single-post time {
    display: block;
    padding-bottom: 17px;
}
.single-post p,
.contact-form__message-content p {
    padding-bottom: 17px;
}

.single-record h2,
.single-post h2 {
    color: #000;
    font-weight: 500;
    font-size: 24px;
    line-height: 1.2em;
    padding: 0 0 0.4em;
}
.single-record h3,
.single-post h3 {
    color: #5f1b92;
    font-weight: 500;
    font-size: 20px;
    line-height: 24px;
    padding: 0 0 17px;
}
.single-post h3 a {
    color: #5f1b92;
}
.single-record h4,
.single-post h4 {
    color: #5f1b92;
    font-weight: 500;
    font-size: 18px;
    line-height: 1.2em;
    padding: 0 0 0.85em;
}
.single-post h4 a {
    color: #5f1b92;
}
.single-record ul,
.girl__text ul,
.salon-desc ul,
.single-post ul,
.contact-form__message-content ul {
    padding: 0 0 17px;
}
.salon-programs__table ul {
    padding: 10px 0 0;
}
.single-record ul li,
.girl__text ul li,
.salon-desc ul li,
.single-post ul li,
.contact-form__message-content ul li,
.salon-programs__table ul li {
    position: relative;
    padding: 0 0 7px 25px;
    line-height: 24px;
}
.single-record ul li:before,
.girl__text ul li:before,
.salon-desc ul li:before,
.single-post ul li:before,
.contact-form__message-content ul li:before,
.salon-programs__table ul li:before {
    content: '';
    position: absolute;
    top: 8px;
    left: 8px;
    width: 6px;
    height: 9px;
    background: url('../images/arrows/right_pink.svg') 50% / 100% auto no-repeat;
}
.salon-programs__table ul li {
    padding: 0 0 7px 20px;
    line-height: 17px;
}
.salon-programs__table ul li:before {
    left: 6px;
    top: 3px;
}
.single-record ol,
.single-post ol {
    padding: 0 0 17px;
    counter-reset: ol;
}
.salon-programs__table ol {
    padding: 10px 0 0;
    counter-reset: ol;
}
.single-record ol li,
.single-post ol li,
.salon-programs__table ol li {
    counter-increment: ol;
    padding: 0 0 7px 5px;
}
.single-record ol li:before,
.single-post ol li:before,
.salon-programs__table ol li:before {
    content: counter(ol) ".";
    font-weight: 700;
    color: #f53277;
    margin: 0 5px 0 0;
    display: inline-block;
}
.text blockquote,
.single-record blockquote,
.salon-desc blockquote,
.single-post blockquote {
    margin: 0 0 17px;
    padding: 17px 17px 0;
    border: 2px solid #f53277;
}
.table {
    padding: 0 0 17px;
}
.single-record table {
    margin-bottom: 17px;
}
.table table,
.single-record table {
    font-size: 14px;
    line-height: 17px;
}
.table caption,
.single-record table caption {
    color: #550c8b;
    font-weight: 500;
    font-size: 16px;
    line-height: 20px;
    padding: 0 0 5px;
}
.table th,
.table td,
.single-record table th,
.single-record table td {
    border: 1px solid #e2e2e2;
}
.table th,
.single-record table th {
    color: #000000;
    padding: 15px;
    font-weight: 500;
    background: #f0e9f6;
}
.table td,
.single-record table td {
    color: #434343;
    padding: 10px 15px;
    font-weight: 300;
}
.table--nowrap td,
.table--nowrap th {
    white-space: nowrap;
}



/* ------------ *\
    Responsive
\* ------------ */
@media screen and (min-width: 991px) {
    .salon-address a:first-child img {
        margin-top: 0;
    }
    .salon-address img {
        margin-bottom: 30px;
        width: 100%;
        height: 180px;
    }
    .salon-address__row {
        display: -webkit-box;
        display: -ms-flexbox;
        display: flex;
    }
}
@media screen and (min-width: 1200px) {
    .salon-address img {
        height: 230px;
    }
    .salon-address__map-preview {
        height: 490px;
    }
}
@media screen and (min-width: 768px) {
    .salon-info__row {
        display: -webkit-box;
        display: -ms-flexbox;
        display: flex;
    }
    .girl .button {
        float: right;
    }
}
@media screen and (max-width: 1199px) {
    .salon-info__button {
        padding: 10px 22px;
    }
}

@media screen and (max-width: 991px) {
    .footer .flex-row {
        display: block;
    }
    .footer__menu {
        padding: 0 0 10px;
    }
    .salon__top {
        -webkit-box-orient: vertical;
        -webkit-box-direction: normal;
        -ms-flex-direction: column;
        flex-direction: column;
    }
    .salon__img {
        padding: 20px;
    }
    .salon__img:after {
        right: 20px;
    }
    .salon__content {
        padding: 0 20px 20px 20px;
    }
    .salon-info__button {
        padding: 10px 5px;
    }
    .salon-info__right {
        -webkit-box-flex: 1;
        -ms-flex: 1;
        flex: 1;
    }
    .news .post {
        padding-left: 0;
        padding-right: 0;
    }
    .post__container {
        -webkit-box-orient: vertical;
        -webkit-box-direction: normal;
        -ms-flex-direction: column;
        flex-direction: column;
        padding-left: 15px;
        padding-right: 15px;
    }
    .salon-programs {
        padding-left: 15px;
        padding-right: 15px;
    }
}

@media screen and (max-width: 991px) and (min-width: 768px) {
}

@media screen and (max-width: 767px) {
    .salon__right {
        padding-top: 0;
        align-items: center;
    }
    .salon__img {
        align-self: center;
    }
    .salon__contact span {
        left: auto;
        right: 35px;
        pointer-events: none;
    }
    .header__description {
        padding: 0 0 10px;
        margin: 0;
        border: 0;
    }
    .top h1 {
        font-size: 24px;
    }
    .footer__menu li,
    .footer__menu a {
        display: block;
    }
    .footer__menu li:after {
        display: none;
    }
    .footer__menu a {
        padding: 6px 0;
    }
    .salon {
        -webkit-box-orient: vertical;
        -webkit-box-direction: normal;
        -ms-flex-direction: column;
        flex-direction: column;
    }
    .salon__meta {
        width: auto;
        text-align: center;
    }
    .salon-info__button {
        padding: 10px 25px;
    }
    .salon-news__title {
        -webkit-box-orient: vertical;
        -webkit-box-direction: normal;
        -ms-flex-direction: column;
        flex-direction: column;
    }
    .salon-news__spacer {
        display: none;
    }
    .post__content time {
        padding: 0 0 5px;
    }
}
@media screen and (max-width: 468px) {
    .salon-info__meta {
        -webkit-box-orient: vertical;
        -webkit-box-direction: normal;
        -ms-flex-direction: column;
        flex-direction: column;
    }
    .salon-info__features {
        -ms-flex-preferred-size: 0;
        flex-basis: 0;
    }
    .salon-info__buttons {
        -webkit-box-orient: vertical;
        -webkit-box-direction: normal;
        -ms-flex-direction: column;
        flex-direction: column;
    }
    .salon-info__button {
        margin: 0 0 5px;
    }
    .testimonial {
        -webkit-box-orient: vertical;
        -webkit-box-direction: normal;
        -ms-flex-direction: column;
        flex-direction: column;
    }
    .testimonial__text {
        padding: 5px 0 0 0
    }
    .salon-testimonials__button {
        padding: 12px 20px;
        font-size: 15px;
    }
    .salon__girls li img {
        width: 43px;
    }
    .salon__feature {
        width: 32px;
        height: 32px;
        margin: 0 5px 5px 0;
    }
    .salon__features li {
        margin: 0 0 5px 5px;
    }
    .girl:not(.girl--single) .girl__gallery {
        display: none;
    }
    .salon-info__meta {
        padding-right: 15px;
    }
    .salon-info .salon__specs-name,
    .salon-info .salon__specs-value {
        border-bottom: 1px solid #cecece;
        padding-top: 5px;
        padding-bottom: 5px;
    }
    .salon-info .salon__specs-name span:before {
        display: none;
    }
}

.h-spacer:before {
    display: block;
    height: 6rem;
    margin-top: -6rem;
    visibility: hidden;
    content: "";
}


.go-top {
    bottom: 0;
    cursor: pointer;
    position: fixed;
    right: 24px;
    opacity: 0;
    pointer-events: none;
    text-indent: -9999px;
    height: 60px;
    width: 60px;
    background: #d6d8e0 url('../images/arrows/up_white.svg') 50% / 24px auto no-repeat;
    -webkit-transition: 300ms ease;
    -moz-transition: 300ms ease;
    transition: 300ms ease;
    border-radius: 100%;
    z-index: 99;
}
.go-top:hover {
    background-color: #f53277;
}
.go-top--active {
    bottom: 24px;
    opacity: 1;
    pointer-events: auto;
}
.cabinet-page .go-top,
.manage-page .go-top {
    right: 30px;
}
.cabinet-page .go-top--active,
.manage-page .go-top--active {
    bottom: 50px;
}



.iframe {
    margin: 0 auto;
    max-width: 640px;
}
.iframe__container {
    position: relative;
    width: 100%;
    height: 0;
    padding: 56.25% 0 0;
}
.iframe iframe {
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
}

.flex-row--404 {
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
    -ms-flex-direction: column;
    flex-direction: column;
    -webkit-box-pack: center;
    -ms-flex-pack: center;
    justify-content: center;
    height: 100%;
}
.text404 {
    text-align: center;
    height: 100%;
    flex-grow: 1;
    display: flex;
    align-items: center;
    justify-content: center;
}
.text404 p {
    margin: 0
}
.text404__first {
    font-size: 60px;
    line-height: 1.2em;
    font-weight: bold;
    text-transform: uppercase;
    color: #292750;
}
.text404__second {
    font-size: 170px;
    line-height: 120px;
    color: #292750;
    font-weight: bold;
}
.text404 p.text404__text {
    font-size: 24px;
    line-height: 1.4em;
    margin: 70px 0 50px
}
.text404__button {
    display: inline-block;
    background: #7c77cb;
    text-decoration: none;
    border-radius: 3px;
    font: 700 18px/24px 'Fira Sans', sans-serif;
    padding: 10px 35px;
    text-transform: uppercase;
    position: relative;
    color: #fff;
    margin-bottom: 3em;
}
@media screen and (max-width: 767px) {
    .text404 {
        text-align: center;
        width: 90%;
        margin: 30px auto 15px
    }
    .text404__first {
        font: bold 40px/40px 'Fira Sans', sans-serif
    }
    .text404__second {
        font: bold 120px/120px 'Fira Sans', sans-serif
    }
    .text404 p.text404__text {
        font: bold 18px/27px 'Fira Sans', sans-serif;
        margin: 30px 0 25px
    }
}
@media screen and (max-width: 468px) {
    .text404__first {
        font: bold 30px/30px 'Fira Sans', sans-serif
    }
    .text404__second {
        font: bold 90px/90px 'Fira Sans', sans-serif
    }
    .text404 p.text404__text {
        font: bold 16px/24px 'Fira Sans', sans-serif;
        margin: 20px 0 25px
    }
    .text404 a.button {
        font: 700 14px/18px 'Fira Sans', sans-serif;
        padding: 9px 25px;
    }
}

.big {
    font-size: 1.25em;
    line-height: 1.4em;
    margin-bottom: 2em;
}
.list {
    margin-top: 1em;
    margin-bottom: 3em;
}
.list img {
    max-width: 70%;
    margin-bottom: 20px;
}

.owner-form {
    background: #ececec;
}
.owner-form__сontainer {
    border: 6px solid #fff;
    margin: 65px 0;
}
.owner-form__title {
    font-size: 30px;
    color: #511177;
    font-weight: 500;
    line-height: 1.2em;
    margin: calc(-0.6em - 6px) 0 0;
    text-align: center;
}
.owner-form__title span {
    display: inline-block;
    background: #ececec;
    padding: 0 0.5em;
}
.owner-form__content {
    display: flex;
}
.owner-form__form {
    width: 62%;
    box-sizing: border-box;
    padding: 53px 10px 31px 90px;
}
.owner-form__item {
    padding: 0 0 8px;
}
.owner-form__label {
    display: block;
    font-size: 16px;
    color: #262626;
    font-weight: 500;
    line-height: 1.2em;
    padding: 0 0 9px;
}
.owner-form__required {
    color: #fd3474;
}
.owner-form__input {
    display: block;
    width: 100%;
    height: 45px;
    box-sizing: border-box;
    padding: 13px 20px 14px;
    margin: 0 0 10px;
    border: 0;
    outline: 0;
    background: #fff;
    color: #262626;
    font-weight: 300;
    font-size: 15px;
    line-height: 1.2em;
    font-family: inherit;
    resize: none;
}
.owner-form__input--textarea {
    height: 230px;
}
.owner-form__recaptcha {
    padding: 0 0 15px;
    overflow: hidden;
}
.owner-form__button {
    display: block;
    width: 100%;
    box-sizing: border-box;
    padding: 0.75em 1.5em;
    margin: 0;
    border: 0;
    outline: 0;
    background: #fd3474;
    font-family: inherit;
    font-size: 20px;
    color: #fff;
    font-weight: 500;
    line-height: 1.2em;
    cursor: pointer;
    text-transform: uppercase;
    box-shadow: 0 2px 3px 0 rgba(68,68,68,.48);
}
.owner-form__girl {
    width: 40%;
    background: url(../images/owner-form__girl.png) 0 0 / contain no-repeat;
    margin: -68px 0 -71px;
}


@media screen and (max-width: 1199px) {
    .owner-form__form {
        padding-left: 40px;
    }
}
@media screen and (max-width: 991px) {
    .owner-form__girl {
        display: none;
    }
    .owner-form__form {
        width: 100%;
        padding: 20px 25px;
    }
}

.contact-form__message--owner {
    width: 100%;
    height: 100%;
    top: 0;
    left: 0;
    display: flex;
    align-items: center;
    justify-content: center;
    background: transparent;
    padding: 0;
    -webkit-box-shadow: none;
    box-shadow: none;
}
.contact-form__message--owner .contact-form__inner {
    background: rgba(255,255,255,0.85);
    padding: 50px;
    margin: 50px;
    position: relative;
    -webkit-box-shadow: 0 0 0 5px #f53277;
    box-shadow: 0 0 0 5px #f53277;
}
@media screen and (max-width: 767px) {
    .contact-form__message--owner .contact-form__inner {
        padding: 20px 50px 20px 20px;
        margin: 20px;
    }
}
.js-enabled .contact-form__message--owner {
    position: fixed;
    cursor: default;
}
.js-enabled .contact-form__inner {
    cursor: pointer;
}
.js-enabled .contact-form__message--owner:before,
.js-enabled .contact-form__message--owner:after {
    display: none;
}


.cities {
    margin-bottom: 30px;
}
.city {
    position: relative;
    width: 100%;
    height: 0;
    padding: 30% 0 0;
    display: block;
    color: #fff;
    margin: 10px 0;
}

@media (min-width: 768px) {
    .city {
        padding-top: 50%;
        margin-top: 15px;
        margin-bottom: 15px;
    }
}

@media (min-width: 992px) {
    .city {
        padding-top: 66.6%;
    }
}

@media (min-width: 1200px) {
    .city {
        padding-top: 75%;
    }
}

img.city__img,
.city__content {
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
}
.city__img {
    object-fit: cover;
}
.city__content {
    z-index: 2;
    display: flex;
    flex-direction: column;
    justify-content: flex-end;
    box-sizing: border-box;
    padding: 15px;
    /* Permalink - use to edit and share this gradient: http://colorzilla.com/gradient-editor/#000000+0,000000+100&0+0,0.65+100 */
    background: -moz-linear-gradient(top, rgba(0,0,0,0) 0%, rgba(0,0,0,0.65) 100%); /* FF3.6-15 */
    background: -webkit-linear-gradient(top, rgba(0,0,0,0) 0%,rgba(0,0,0,0.65) 100%); /* Chrome10-25,Safari5.1-6 */
    background: linear-gradient(to bottom, rgba(0,0,0,0) 0%,rgba(0,0,0,0.65) 100%); /* W3C, IE10+, FF16+, Chrome26+, Opera12+, Safari7+ */
    filter: progid:DXImageTransform.Microsoft.gradient( startColorstr='#00000000', endColorstr='#a6000000',GradientType=0 ); /* IE6-9 */
}
.city__content--center {
    justify-content: center;
    align-items: center;
}
p.city__title {
    font-size: 16px;
    line-height: 20px;
    font-weight: 500;
    padding: 0 0 0.5em;
    margin: 0;
}
p.city__big-title {
    font-size: 24px;
    font-weight: 500;
    padding: 0;
}
.city__meta {
    display: flex;
    justify-content: space-between;
    flex-wrap: wrap;
    font-weight: 300;
    font-size: 14px;
    line-height: 17px;
}

.stats {
    font-size: 24px;
    display: flex;
    justify-content: center;
    margin: 1.25em -1em 2.5em;
}
.stat {
    padding: 0 1em;
    text-align: center;
}
.stat__number {
    font-size: 3.33333em;
    width: 2.5em;
    height: 2.5em;
    margin: 0 0 0.3125em;
    border-radius: 100%;
    border: 2px solid #999;
    display: flex;
    align-items: center;
    justify-content: center;
}
.stat__label {
    font-size: 1.5em;
    line-height: 1em;
}
@media screen and (max-width: 991px) {
    .stats {
        font-size: 14px;
    }
}
@media screen and (max-width: 468px) {
    .stats {
        font-size: 8px;
    }
}
@media screen and (max-width: 360px) {
    .stats {
        font-size: 7px;
    }
}

.other-salons {
    margin-top: 20px;
}
.other-salon {
    text-decoration: none;
    margin-bottom: 30px;
    display: inline-block;
    position: relative;
    max-width: 343px;
}
.other-salon__top {
    position: absolute;
    z-index: 2;
    background: rgba(245, 50, 119, 0.8);
    display: inline-block;
    top: 5px;
    right: 5px;
    padding: 6px 10px 5px;
    font-size: 18px;
    line-height: 1.2em;
    color: #fff;
}
.other-salon img {
    display: block;
    width: 100%;
}
.other-girl {
    margin-top: 0.5em;
    margin-bottom: 1em;
    text-align: center;
}
.salon-address__title--other-girl {
    margin-bottom: 1em;
}



@media screen and (max-width: 768px) {
    .salon-programs__table thead {
        display: none;
    }
    .salon-programs__table tr,
    .salon-programs__table td {
        display: block;
    }
    .salon-programs__table td {
        float: left;
        width: 50%;
        box-sizing: border-box;
    }
    .salon-programs__table td.alignleft {
        border-top: 1px solid #a0a0a0;
        width: 100%;
    }
    .salon-programs__table tbody tr {
        overflow: hidden;
    }
}
.salon-programs__more {
    color: #550c8b;
    cursor: pointer;
    padding-top: 5px;
    text-decoration: underline;
    display: block;
    font-style: normal;
}

.records {
    padding-top: 30px;

}
.records h1 {
    padding-bottom: 40px;
}

.record {
    padding: 0 0 20px;
    border-bottom: 2px dashed #0000ff;
    margin: 0 0 40px
}
.record__padding {
    padding-bottom: 20px;
}
.record__row {
    display: flex;
    margin-left: -15px;
    margin-right: -15px;
}
.record__right {
    display: flex;
    flex-direction: column;
}
.record__content {
    flex: 1;
    padding-bottom: 1em;
}

.record__date {
    font-size: 14px;
    line-height: 1.5em;
    padding: 0 0 0.5em;
    color: #666;
    display: block;
}
.record__title {
    font-size: 20px;
    line-height: 1.2em;
    padding: 0 0 0.5em;
    color: #000;
    font-weight: bold;
}
@media screen and (max-width: 768px) {
    .record__row {
        flex-direction: column;
    }

}

.single-record {
    padding: 30px 0 0;
}
.single-record__date {
    text-align: center;
}
.single-record p {
    padding-bottom: 1.5em;
}

.social {
    text-align: center;
    padding: 0 0 33px;
}
.social__title {
    display: block;
    font-weight: 300;
    font-size: 30px;
    line-height: 1.2em;
    padding-bottom: 0.3em;
}

.masters-more {
    text-align: center;
}
.masters-more:last-child {
    margin-bottom: 15px;
}
div.masters-text {
    padding-top: 17px;
}
.master-block-container {
    margin: 15px 0;
}
@media (min-width: 601px) {
    .masters-row:first-child {
        margin-top: 15px;
    }
    .masters-row:last-child {
        margin-bottom: 15px;
    }
}
.masters-row--another {
    margin-top: -15px;
}
.master-block {
    position: relative;
    cursor: pointer;
    color: #fff;
    height: 0;
    padding: 150% 0 0;
    display: block;
    margin-bottom: 5px;
}
.master-block:last-child {
    margin-bottom: 0;
}
.master-block a {
    color: #fff;
}
.master-block:after {
    bottom: 5px;
    right: 5px;
}
.master-block--without-lightbox {
    cursor: default;
}
a.master-block--without-lightbox {
    cursor: pointer;
}
.master-block--without-lightbox::after {
    display: none;
}
.master-block p {
    padding: 0;
}
p.master-block__name,
.master-block__name {
    position: absolute;
    z-index: 2;
    background: rgba(0,0,0,0.75);
    display: inline-block;
    top: 5px;
    left: 5px;
    padding: 6px 10px 5px;
    font-size: 18px;
    text-transform: uppercase;
    line-height: 1.2em;
}
.master-block__photo-count {
    top: 5px;
    right: 5px;
    z-index: 2;
    padding-top: 3px;
    padding-bottom: 3px;
}
.master-block__photo-count--left {
    right: auto;
    left: 5px;
}
img.master-block__img,
.master-block__img {
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    display: block;
    object-fit: cover;
}
.master-block__img--empty {
    background: #ddd url('../images/camera.svg') center / 48px no-repeat;
}
.master-block__desc {
    position: absolute;
    bottom: 5px;
    left: 5px;
    display: flex;
    flex-direction: column;
    align-items: flex-start;
    pointer-events: none;
}
ul.master-block__desc {
    margin: 0;
    padding: 0;
}
.master-block__info {
    margin: 5px 0 0;
    display: inline-block;
    background: rgba(0,0,0,0.75);
    padding: 1px 10px 1px 35px;
    position: relative;
}
.master-block__icon {
    width: 17px;
    height: 17px;
    display: inline-block;
    position: absolute;
    left: 10px;
    top: 49%;
    -webkit-transform: translateY(-50%);
    -ms-transform: translateY(-50%);
    transform: translateY(-50%);
    background: url('../006.svg') 50% / 100% auto no-repeat;
}
.master-block__icon--age {
    background-image: url('../images/age.svg');
}
.master-block__icon--height {
    background-image: url('../images/height.svg');
}
.master-block__icon--weight {
    background-image: url('../images/weight.svg');
}
.master-block__icon--size {
    background-image: url('../images/size.svg');
}
.master-block__icon--photo {
    background-image: url('../images/camera.svg');
}
.master-block__meta {
    text-align: center;
    padding: 0.5em 0;
    line-height: 1.4em;
}
.master-block__meta span {
    font-style: normal;
    text-decoration: underline;
    font-weight: 700;
    color: #f53277;
}
@media screen and (min-width: 350px) and (max-width: 600px) {
    .masters-row {
        margin-left: -13px;
        margin-right: -13px;
    }
    .master-block-container:not(.master-block-container--no-shrink) {
        margin: 3px -12px;
    }
    .masters-row:first-child {
        margin-top: 3px;
    }
    .masters-row:last-child {
        margin-bottom: 3px;
    }
    .master-block__meta {
        font-size: 13px;
    }
    .masters-row--another {
        margin-top: -3px;
    }
}

.modal {
    border: 5px solid #f53277;
    background: rgba(255, 255, 255, 0.9);
    position: fixed;
    top: 50%;
    left: 50%;
    z-index: 999;
    -webkit-transform: translate(-50%, -50%);
    -moz-transform: translate(-50%, -50%);
    -ms-transform: translate(-50%, -50%);
    -o-transform: translate(-50%, -50%);
    transform: translate(-50%, -50%);
    width: 90%;
    max-width: 500px;
}
.modal__close {
    position: absolute;
    top: 20px;
    right: 20px;
    border: 0;
    outline: 0;
    background: transparent;
    cursor: pointer;
    font-family: inherit;
    font-size: 16px;
    line-height: 1.5em;
}
.modal__close:after,
.modal__close:before {
    content: '';
    position: absolute;
    top: 50%;
    margin-top: -1px;
    left: -25px;
    width: 24px;
    height: 3px;
    background: #000;
}
.modal__close:after {
    -webkit-transform: rotate(45deg);
    -ms-transform: rotate(45deg);
    transform: rotate(45deg);
}
.modal__close:before {
    -webkit-transform: rotate(-45deg);
    -ms-transform: rotate(-45deg);
    transform: rotate(-45deg);
}
.modal__body {
    text-align: center;
    font-size: 24px;
    line-height: 1.5em;
    padding: 3em 0 0;
    box-sizing: border-box;
}
.modal--upload .modal__body {
    padding-top: 1.5em;
    padding-bottom: 1em;
}
.modal__body img {
    max-width: 100%;
    height: auto;
    display: block;

}
.modal__body p {
    padding: 0 1.5em 1.5em;
}
.modal--upload .modal__body p {
    padding-bottom: 0.5em;
}
.modal__button {
    display: inline-block;
    background: #FFDB4D;
    font-family: inherit;
    font-size: 18px;
    line-height: 1.25em;
    font-weight: bold;
    padding: 0.75em 2em;
    text-decoration: none;
}

@media screen and (max-width: 768px) {
    .modal__body {
        font-size: 21px;
    }
}


.filter {
    -webkit-box-shadow: 0 1px 3px 0 rgba(0,0,0,0.25);
    box-shadow: 0 1px 3px 0 rgba(0,0,0,0.25);
    margin: 15px 0;
    display: flex;
    flex-direction: column;
    flex-wrap: wrap;
    padding: 10px 15px 15px;
    display: block;
}
.filter__header {
    width: 100%;
    text-align: center;
    font-size: 1.2em;
}
.filter__body {
    display: flex;
    flex-wrap: wrap;
}
.filter__group {
    display: flex;
    align-items: center;
    flex-wrap: wrap;
}
.filter__group--line {
    width: 100%;
}
.filter__title {
    margin: 0 5px;
    font-weight: bold;
}
.filter__item {
    margin: 5px;
    display: flex;
    align-items: center;
}
.filter__item--select2 {
    flex-grow: 1;
}
.filter__number,
.filter__select {
    box-sizing: border-box;
    height: 36px;
    padding: 6px 10px;
    font-family: inherit;
    font-size: 16px;
    line-height: 24px;
    border-radius: 2px;
    border: 1px solid #ccc;
}
.filter--vacancy .filter__number,
.filter--vacancy .filter__select {
    font-size: 14px;
}
.filter__number {
    width: 75px;
    margin-left: 10px;
}
.filter--vacancy .filter__number {
    width: 60px;
}
.filter__select {
    padding-left: 6px;
    padding-right: 6px;
}
.filter__icon {
    margin: 0 10px 0 5px;
    width: 40px;
    height: 40px;
    position: relative;
    background-color: #ffffff;
    border: 1px solid #ccc;
}
.filter__contact {
    width: 32px;
    height: 32px;
    margin: 0 10px 0 5px;
}
.filter__checkbox {
    display: none;
}
.filter__checkbox-label {
    display: flex;
    align-items: center;
    cursor: pointer;
}
.filter__checkbox-label::before {
    content: '';
    width: 20px;
    height: 20px;
    display: block;
    background: #fff;
    margin-right: 10px;
    border: 1px solid #ccc;
    border-radius: 2px;
    box-shadow: inset 0 0 0 4px #fff;
}
.filter__checkbox:checked ~ .filter__checkbox-label::before {
    background: #f53277;
}
.filter__action {
    display: flex;
    justify-content: flex-end;
    align-items: center;
    position: relative;
}
.filter__tooltip {
    right: 10px;
    bottom: -30px;
    white-space: nowrap;
}
.filter__toggle {
    background: transparent;
    border: 0;
    outline: 0;
    cursor: pointer;
    padding: 0;
    margin: 0;
    font-family: inherit;
    color: #3e3b7c;
}
.filter__action a {
    color: #f53277;
}
.filter__submit {
    margin: 0 10px;
    border: 3px solid #f53277;
    font-family: inherit;
    font-weight: bold;
    background: transparent;
    font-size: 16px;
    line-height: 20px;
    padding: 8px 25px;
    cursor: pointer;
}
.filter--vacancy .filter__submit {
    padding-left: 15px;
    padding-right: 15px;
}

@media screen and (min-width: 469px) {
    .filter__hidden {
        display: none;
    }
    .filter__item + .filter__group {
        margin-left: 15px;
    }
    .filter__group + .filter__item {
        margin-left: 20px;
    }
    .filter__action {
        flex: 1;
    }
    .filter__body {
        display: flex !important;
    }
    .filter__header {
        pointer-events: none;
    }
}

@media screen and (max-width: 468px) {
    .filter {
        flex-direction: column;
        align-items: flex-start;
    }
    .filter__title,
    .filter__item--checkbox {
        width: 100%;
    }
    .filter__toggle {
        display: none;
    }
    .filter__action {
        flex-direction: column;
        align-items: center;
        width: 100%;
    }
    .filter__tooltip {
        bottom: auto;
        top: 100%;
        margin-top: 10px;
        left: -10px;
        right: -10px;
    }
    .filter__header {
        cursor: pointer;
        display: flex;
        align-items: center;
        justify-content: center;
    }
    .filter__header::before {
        content: '';
        display: block;
        width: 24px;
        height: 24px;
        background: url('../images/arrows/down.svg') 50% / 16px auto no-repeat;
        margin: 0 5px 0 0;
    }
    .filter__header--active::before {
        -webkit-transform: rotate(-180deg);
        -moz-transform: rotate(-180deg);
        -ms-transform: rotate(-180deg);
        -o-transform: rotate(-180deg);
        transform: rotate(-180deg);
    }
    .filter__body {
        display: none;
        width: 100%;
    }
    .filter__item--number label {
        width: 18px;
    }
}


.m-form {
    font-size: 16px;
    line-height: 1.5em;
    font-weight: 400;
    padding: 0 0 1em;
}
.m-form__box {
    margin: 0 0 1em;
}
.m-form__title {
    box-sizing: border-box;
    width: 100%;
    background: #eee;
    border: 2px solid #ccc;
    color: #000;
    font-size: 20px;
    line-height: 1.2em;
    padding: 0.7em 1em;
    font-weight: 400;
    margin: 0 0 1em;
}
@media screen and (min-width: 992px) {
    .m-form__inline {
        display: flex;
        align-items: center;
        flex-wrap: wrap;
    }

    .m-form__inline--top {
        align-items: flex-start;
    }
}
.m-form__item {
    padding: 0 0 1.25em;
}
.m-form__item--hidden {
    display: none;
}
.m-form__item--subcity {
    margin-top: -0.75em;
}
.m-form__input {
    width: 100%;
    box-sizing: border-box;
    border: 2px solid #ccc;
    height: 2.3em;
    padding: 0.4em 0.7em;
    font-size: 16px;
    line-height: 1.5em;
    outline: 0;
    font-family: inherit;
    margin-bottom: 0.25em;
    transition: 300ms ease;
    background-color: rgb(255, 255, 255);
}
.m-form__input:disabled {
    background-color: rgb(235, 235, 228);
}
.m-form__input--error {
    border-color: #EB5757;
}
.m-form__input--success {
    border-color: #6FCF97;
}
.m-form__input--textarea {
    height: auto;
    resize: none;
}
.m-form__highlight {
    position: relative;
    display: flex;
}
.m-form__highlight-backdrop {
    position: absolute;
    top: 0;
    left: 0;
    height: 100%;
    width: 100%;
    box-sizing: border-box;
    border: 2px solid transparent;
    padding: 0.4em 0.7em;
    font-size: 16px;
    line-height: 1.5em;
    outline: 0;
    font-family: inherit;
    transition: background-color 300ms ease, border-color 300ms ease;
    white-space: pre-wrap;
    pointer-events: none;
    color: transparent;
    background: transparent;
    overflow: hidden;
    word-wrap: break-word;
}
.m-form__highlight-textarea {
    margin: 0;
    position: relative;
    z-index: 2;
    background-color: transparent;
}
.m-form__hint {
    font-size: .75em;
    line-height: 1.25em;
    opacity: .75;
}
.m-form__label {
    display: block;
    font-weight: 500;
    padding: 0 0 0.25em;
}
.m-form__description {
    color: #333;
    font-style: italic;
    font-size: 18px;
    line-height: 1.5em;
}
blockquote.m-form__alert {
    margin-top: 0.5em;
    margin-bottom: 0;
}
.m-form__line {
    margin: 0 0 2em;
    background: #ccc;
    height: 2px;
}
.m-form__button {
    display: block;
    text-align: center;
    background: #f53277;
    font-weight: bold;
    color: #fff;
    line-height: 1.5em;
    padding: 0.5em 1.5em;
    font-size: inherit;
    border: 0;
    cursor: pointer;
    text-decoration: none;
    outline: 0;
    font-family: inherit;
    transition: 300ms ease;
}
.m-form__button:hover {
    box-shadow: inset 0 0 0 9999px rgba(255,255,255,0.2);
}
.m-form__button:disabled,
.m-form__button[disabled] {
    box-shadow: inset 0 0 0 9999px rgba(255,255,255,0.25);
}
.m-form__checkbox {
    position: relative;
    padding-left: 30px;
    margin: 10px 0;
    min-height: 20px;
}
@media (min-width: 992px) {
    .m-form__checkbox--with-text {
        margin-top: 32px;
    }
}
.m-form__checkbox-input {
    position: absolute;
    z-index: -1;
    opacity: 0;
}
.m-form__checkbox-label {
    cursor: pointer;
}
.m-form__checkbox-label:before {
    transition: 300ms ease;
    box-sizing: border-box;
    content: '';
    position: absolute;
    left: 0;
    top: 0;
    width: 20px;
    height: 20px;
    border: 1px solid #ccc;
    background: #fff url("../images/v.svg") center center / 70% auto no-repeat;
}
.m-form__checkbox-input:checked + .m-form__checkbox-label:before {
    background-color: #f53277;
    border-color: #f53277;
}
.m-form__checkbox-input:disabled + .m-form__checkbox-label:before {
    background-color: rgb(235, 235, 228);
    border: 1px solid #ccc;
}
.m-form__checkbox-input[disabled]:not([checked]) + .m-form__checkbox-label:before {
    background-image: none;
}

.m-form__photos {}
.m-form__photo {
    margin: 15px 0;
}
.m-form__photo-image {
    position: relative;
    padding: 100% 0 0;
}
.m-form__photo img {
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    object-fit: cover;
}
.m-form__photo--banned img {
    box-shadow: 0 0 0 4px #e74c3c;
}
.m-form__photo-move {
    position: absolute;
    right: 0;
    top: 0;
    background: rgba(0, 0, 0, 0.25) url('../images/move.svg') center / 50% auto no-repeat;
    width: 25%;
    height: 25%;
    text-indent: -9999px;
    border: 0;
    cursor: grab;
}
.m-form__photo-id {
    position: absolute;
    top: 0;
    left: 0;
    background: rgba(0, 0, 0, 0.8);
    color: #fff;
    padding: 5px 10px;
}
.m-form__photo-ban {
    position: absolute;
    bottom: 0;
    left: 0;
    right: 0;
    background: rgba(231, 76, 60, 1);
    color: #fff;
    padding: 5px 10px;
}
.m-form__photo-meta {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
    -ms-flex-direction: column;
    flex-direction: column;
    padding: 10px 0 0;
}
@media (min-width: 768px) {
    .m-form__photo-meta {
        -webkit-box-orient: horizontal;
        -webkit-box-direction: normal;
        -ms-flex-direction: row;
        flex-direction: row;
        -webkit-box-pack: justify;
        -ms-flex-pack: justify;
        justify-content: space-between;
    }
}
.m-form__photo-remove {
    display: inline-block;
    line-height: 1.25em;
    padding: .3em 1em;
    font-size: .8rem;
}
.m-form__file {
    position: relative;
    display: inline-block;
    margin: 1em 0;
}
.m-form__file-input {
    position: absolute;
    z-index: 3;
    top: 0;
    left: 0;
    bottom: 0;
    right: 0;
    cursor: pointer;
    opacity: 0;
    width: 100%;
    height: 100%;
}
.m-form__file-button {
    display: block;
    background: #7c77cb;
    font-weight: bold;
    color: #fff;
    line-height: 1.5em;
    padding: 0.5em 1.5em;
    font-size: inherit;
    border: 0;
    cursor: pointer;
    text-decoration: none;
    outline: 0;
    font-family: inherit;
    transition: 300ms ease;
}
.m-form__photos-main {
    text-align: center;
    margin: 0 0 -5px;
    font-weight: 300;
}
.m-form__row {
    display: flex;
    flex-wrap: wrap;
}
.m-form__col--md {
    flex: 1 0 100%;
    width: 100%;
}
@media (min-width: 467px) {
    .m-form__col--md {
        flex: 1 0;
        width: auto;
    }
}



/* RESET START */
.m-item p,
.m-item ul,
.m-item ul li {
    padding: 0;
}
.m-item ul li {
    line-height: inherit;
}
.m-item li:before {
    display: none;
}
/* RESET END */
.m-item {
    border: 2px solid #BDBDBD;
    margin-bottom: 1em;
    font-size: 16px;
    line-height: 1.5em;
    font-weight: 400;
    padding: 1.25em 1.25em 0.75em;
}
.m-item__row {
    display: flex;
    flex-direction: column;
}
.m-item__col--first {
    order: -2;
}
.m-item__col--second {
    order: -1;
}
.m-item__content ol {
    padding-bottom: 0;
}
.m-item__content ol li {
    padding-left: 0;
}
.m-item__content a {
    color: #00f;
}
.m-item--special {
    border-color: #e1a416;
}
.m-item__picture-container {
    margin: 0 auto 12px;
    max-width: 300px;
}
.m-item__picture {
    color: #fff;
    position: relative;
    height: 0;
    padding: 100% 0 0;
}
.m-item__picture .photo-count {
    z-index: 2;
}
.m-item__picture img {
    display: block;
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    object-fit: cover;
}
.m-item__name,
p.m-item__name {
    font-weight: 500;
    font-size: 1.5rem;
    line-height: 1.25em;
    padding: 0 0 0.2em;
}
.m-item__title,
p.m-item__title {
    font-weight: 500;
    font-size: 1.25rem;
    line-height: 1.25em;
    padding: 0 0 0.2em;
}
.m-item__controls,
ul.m-item__controls {
    padding: 0 0 0.5em;
}
.m-item__control,
ul li.m-item__control {
    display: flex;
    align-items: center;
    flex-wrap: wrap;
    padding: 0.25em 0;
}
.m-item__control--new a {
    position: relative;
}
.m-item__control--new a::after {
    content: 'New';
    position: absolute;
    left: 100%;
    bottom: 100%;
    color: red;
    font-size: .6em;
    margin: 0 0 -1.5em;
}
.m-item__control .m-tooltip {
    margin-bottom: 0;
}
.m-item__control a {
    color: #2D9CDB;
}
.m-item__link {
    font-family: inherit;
    font-size: inherit;
    line-height: inherit;
    padding: 0;
    margin: 0;
    border: 0;
    outline: 0;
    background: transparent;
    color: #2D9CDB;
    text-decoration: underline;
    cursor: pointer;
}
.m-item__link:hover {
    text-decoration: none;
}
.m-item__icon {
    font-size: 18px;
    width: 30px;
}
.m-item__icon--delete {
    font-size: 20px;
    box-sizing: border-box;
    padding: 0 0 0 3px;
    color: #EB5757;
}
.m-item__contact {
    display: inline-block;
    font-size: 21px;
    width: 1em;
    height: 1em;
    vertical-align: middle;
    margin: 0 0 0 3px;
}
.m-item__alert {
    font-size: 13px;
    line-height: 1.25em;
    padding: 1em;
    border: 2px solid #d0e9c6;
    background-color: #dff0d8;
    color: #3c763d;
    margin: 0 0 1em;
}
.m-item__alert--vip {
    margin: 8px 0 0;
}
.m-item__button {
    display: inline-block;
    text-align: center;
    border: 2px solid #f53277;
    color: #f53277;
    background: transparent;
    font-weight: bold;
    line-height: 16px;
    padding: 6px 8px 4px;
    font-size: 14px;
    cursor: pointer;
    text-decoration: none;
    outline: 0;
    font-family: inherit;
    transition: 300ms ease;
}
.m-item__button:hover {
    background: #f53277;
    color: #fff;
}
.m-item__button:disabled {
    border: 2px solid #BDBDBD;
    color: #BDBDBD;
    background: transparent;
    cursor: default;
}
.m-item__pricing {
    font-size: 12px;
    padding: 0 0 0 3px;
    color: #333;
    white-space: nowrap;
}
.m-item__pricing-old {
    text-decoration: line-through;
    opacity: 0.5;
}
.m-item__caption,
p.m-item__caption {
    width: 100%;
    padding: 0.1em 0 0;
    font-size: 14px;
}
.m-item__vip,
p.m-item__vip {
    width: 100%;
    font-size: 12px;
    line-height: 20px;
    text-align: center;
    color: #27AE60;
    padding: 5px 0 0;
}
.m-item__vip-days {
    text-decoration: underline;
}
.m-item__vip-days--red {
    color: #e74c3c;
}
.m-item__message {
    margin: 0 -10px 10px;
    background: #fff3cd;
    padding: 10px;
    color: #856404;
    font-size: 14px;
    line-height: 18px;
}
.m-item__message-title {
    font-weight: bold;
    font-size: 16px;
    padding: 0 0 2px;
}
.m-item__message + .m-item__warning {
    margin-top: 22px;
}
.m-item__warning {
    display: flex;
}
.m-item__warning-icon {
    margin-right: 10px;
    font-size: 1.5em;
    line-height: 1.2em;
    color: #a94442;
}
.m-item__warning-body {
    display: none;
}
@media screen and (max-width: 575px) {
    .m-item__warning-icon {
        font-size: 1em;
    }
    .m-item__warning-body {
        font-size: 13px;
        line-height: 18px;
    }
}
.m-item__warning-small-body {
    display: block;
}
.m-item__warning--full .m-item__warning-body {
    display: block;
}
.m-item__warning--full .m-item__warning-small-body {
    display: none;
}
.m-item__warning-title {
    font-weight: bold;
}
.m-item__warning-hide,
.m-item__warning-show {
    display: inline-block;
    position: relative;
    font-weight: inherit;
    font-size: inherit;
    line-height: inherit;
    font-family: inherit;
    color: #a94442;
    background: transparent;
    cursor: pointer;
    border: 0;
    outline: 0;
    padding: 0;
    margin: 0;
    border-bottom: 1px dashed currentColor;
}
.m-item__warning-hide {
    margin: 5px 0 0;
}
.m-item__pending {
    color: #9A9400;
    font-weight: 500;
}
.m-item__hidden {
    color: #F2994A;
    font-weight: 500;
}
.m-item__declined {
    color: #e74c3c;
    font-weight: 500;
}
.m-item__active {
    color: #27AE60;
    font-weight: 500;
}
.m-item__toggle-body {
    display: none;
    padding: 0.25em 0 0 !important;
    margin: 0 0 -0.25em !important;
    flex: 1 0 100%;
}
.m-item__toggle--active .m-item__toggle-body {
    display: block;
}
.m-item__delete-profile {
    border: 0;
    outline: 0;
    background: transparent;
    cursor: pointer;
    font-family: inherit;
    border-bottom: 1px dashed currentColor;
    display: inline-block;
    color: inherit;
    padding: 0;
    font-size: inherit;
    line-height: inherit;
}

@media screen and (min-width: 1200px) {
    .m-item__row {
        flex-direction: row;
        margin: 0 -15px;
        flex-wrap: wrap;
    }
    .m-item__col {
        flex: 0 0 25%;
        width: 25%;
        box-sizing: border-box;
        padding: 0 15px;
    }
    .m-item__col--wide {
        order: 1;
        flex-basis: 100%;
        width: 100%;
    }
    .m-item__message {
        margin-left: -20px;
        margin-right: -20px;
    }
}


.master-block__price {
    text-align: center;
    line-height: 18px;
    padding: 0.5em 0;
    font-size: 14px;
}
.master-block__phone {
    font-weight: bold;
    font-size: 18px;
    line-height: 21px;
    text-align: center;
    padding-bottom: 7px;
}
.master-block__address {
    text-align: center;
    line-height: 18px;
    padding-bottom: 0.5em;
}
@media (min-width: 768px) {
    .individual {
        margin: 15px 0 0;
    }
}
.individual__main {
    display: grid;
    grid-gap: 0 10px;
    grid-template-columns: 1fr 1fr;
    grid-template-rows: auto;
}
.individual__contacts {
    grid-column-end: span 2;
}
.individual__time-price {
    grid-column-end: span 2;
}
.individual__media {
    grid-row: 4;
    grid-column: 1 / span 2;
}
@media (min-width: 768px) {
    .individual__main {
        grid-gap: 0 30px;
        grid-template-columns: 3fr 5fr 4fr;
    }
    .individual__main--salon {
        grid-gap: 0 30px;
        grid-template-columns: 3fr 4fr 5fr;
    }
    .individual__main-photo {
        grid-column: 1;
        grid-row: 1 / span 2;
    }
    .individual__contacts {
        grid-column-end: span 1;
    }
    .individual__time-price {
        grid-column: 3;
        grid-row: 1 / span 2;
    }
    .individual__media {
        grid-column: 1 / span 3;
    }

}
.individual__call {
    text-align: center;
    color: #fff;
    background: #0CCE6B;
    display: block;
    padding: 0.5em 1.5em;
    text-decoration: none;
    font-weight: 500;
    margin: 0 0 1em;
}
.individual__call--hidden {
    background: #c0c0c0;
}
.individual__call-blurred {
    width: 8.2em;
    position: relative;
    display: inline-block;
    text-align: left;
}
.individual__call-blurred::before {
    content: '(123) 456-78-90';
    position: absolute;
    top: 0;
    right: 0;
    width: 7em;
    height: 100%;
    color: transparent;
    text-shadow: 0 0 2px #fff;
}
.individual__call-blurred::after {
    content: 'номер скрыт';
    background: rgba(0, 0, 0, 0.4);
    color: #fff;
    width: 7em;
    height: 16px;
    position: absolute;
    top: 4px;
    right: 7px;
    font-weight: 400;
    font-size: 13px;
    line-height: 16px;
    text-align: center;
}
@media (min-width: 768px) {
    .individual__call {
        display: inline-block;
    }
}
.individual__col {
    padding: 15px 0 0;
}
.individual__days {
    max-width: 400px;
    margin: 0 auto;
}
.individual__days-row {
    display: flex;
    margin: 0 -5px;
}
.individual__day {
    background: tomato;
    margin: 5px;
    color: white;
    font-size: 16px;
    display: flex;
    justify-content: center;
    align-items: center;
    text-align: center;
    flex: 1 0 auto;
    height: auto;
}
.individual__day:before {
    content: '';
    float: left;
    padding-top: 100%;
}
.individual__day--active {
    background: #0CCE6B;
}
.individual__day--unactive {
    background: #F05051;
}
.individual__hours {
    text-align: center;
    font-size: 18px;
    line-height: 24px;
    padding: 0.5em 0 1em;
}
.individual__title {
    font-size: 24px;
    font-weight: 300;
    line-height: 1.3333em;
    padding-bottom: 0.5em;
}
.individual__price {
    width: 100%;
    font-size: 16px;
    margin: 0 auto 1em;
}
.individual__price th {
    font-weight: bold;
}
.individual__price thead th {
    background: #f53277;
    color: #fff;
    padding: 10px 12px;
}
.individual__price tbody tr td,
.individual__price tbody tr th {
    padding: 10px 12px;
    border-top: 1px solid #bebebe;
}
.individual__price tbody tr td {
}
.individual__price tbody tr:first-child td,
.individual__price tbody tr:first-child th {
    border-top: 0;
}
.watch-video {
    border: 0;
    border-radius: 0;
    outline: none;
    cursor: pointer;
    text-align: center;
    color: #fff;
    background: #f53277;
    padding: 0.5em 1.5em;
    text-decoration: none;
    font-weight: 500;
    font-size: inherit;
    line-height: inherit;
    font-family: inherit;
    margin: 0 0 1em;
    width: 100%;
    display: flex;
    align-items: center;
    justify-content: center;
}
.watch-video::before {
    content: '';
    display: block;
    width: 24px;
    height: 24px;
    margin-right: 10px;
    background: url('../images/watch-video.svg') center / 100% auto no-repeat;
}
@media screen and (min-width: 467px) {
    .watch-video {
        width: auto;
    }
}
.individual__genders {
    display: flex;
    align-items: flex-end;
    flex-wrap: wrap;
    margin: 0 -0.5em;
}
.individual__gender {
    display: flex;
    align-items: center;
    margin: 0 0.5em 1em;
}
.individual__gender-icon {
    content: '';
    margin: 0 10px 0 0;
    display: block;
    width: 32px;
    height: 32px;
    border: 1px solid #828282;
}
.individual__services {
    margin-bottom: 1rem;
}
.individual__service {
    background: url("../images/individual__service.svg") 0 2px / 20px auto no-repeat;
    padding: 0 0 0.5em 30px;
}
@media screen and (max-width: 370px) {
    .individual__service {
        font-size: 14px;
    }
}
@media screen and (max-width: 340px) {
    .individual__service {
        font-size: 13px;
    }
}
.individual__service--active {
    background-image: url("../images/individual__service--active.svg");
}
.individual__description {
    font-weight: 300;
    border-left: 5px solid rgba(62,59,124,0.2);
    padding-left: 10px;
    margin-bottom: 10px;
}
.individual__description p {
    margin-bottom: 26px;
}
.individual__description-text.expandable-text__content {
    max-height: 390px; /* 26px * 15 */
}
.individual__description .expandable-text__expand {
    margin-bottom: 10px;
}
@media screen and (min-width: 768px) {
    .individual__description-text.expandable-text__content {
        max-height: 156px; /* 26px * 6 */
    }
}
.individual__address {
    padding: 0 0 1em;
}
.individual__desc {
    padding: 0 0 1em;
}
.individual__gallery {
    padding: 1rem 0 0;
}
.individual__messengers {
    display: flex;
    overflow: auto;
}
.individual__messenger {
    width: 9em;
    display: flex;
    border: 1px solid rgba(62,59,124,0.5);
    align-items: center;
    font-size: 12px;
    line-height: 1.25em;
    padding: 0.5em;
    margin: 0 1em 1em 0;
    text-decoration: none;
    flex-shrink: 0;
}
.individual__messenger-icon {
    font-size: 24px;
    display: inline-block;
    width: 1em;
    height: 1em;
    vertical-align: middle;
    margin: 0 0.25em 0 0;
    flex: 0 0 1em;
}
.individual__phone-tip {
    font-size: 0.875rem;
    line-height: 1.5em;
    border: 2px dashed rgba(62,59,124,0.5);
    background: rgba(62,59,124,0.1);
    padding: 0.75em 1em;
    margin: 0 0 0.5em;
}
.individual__testimonials {
    padding: 0 0 1rem;
}
.individual__all {
    padding-bottom: 1rem;
}

.front-page-bar {
    display: flex;
    justify-content: flex-end;
    margin: 0 0 1em;
    overflow: hidden;
}
.front-page-bar__button {
    flex: 1;
}
.front-page-bar__menu {
    display: flex;
    margin: 0 -1em;
    font-family: inherit;
    font-weight: 500;
    font-size: 18px;
    line-height: 24px;
}
.front-page-bar__menu-item {
    padding: 10px 1em;
}
.front-page-title {
    color: #000;
    font-weight: 500;
    font-size: 24px;
    line-height: 1.2em;
}
.front-page-title__masters {
    padding-bottom: 0;
    margin: 1em 0 0;
}
.front-page-title__salons {
    padding: 2em 0 0;
    margin: -2em 0 0;
}
.front-page-more {
    display: inline-block;
    background: url('../images/arrows/down.svg') 0 center / 16px auto no-repeat;
    border: 0;
    outline: 0;
    cursor: pointer;
    text-decoration: underline;
    padding: 10px 10px 10px 26px;
    font-family: inherit;
    font-weight: 500;
    font-size: 18px;
    line-height: 24px;
}

@media screen and (max-width: 767px) {
    .front-page-title {
        font-size: 22px;
    }
    .front-page-bar,
    .front-page-bar__menu {
        flex-direction: column;
    }
    .front-page-bar__menu {
        font-size: 16px;
        font-weight: normal;
    }
    .front-page-bar__menu-item {
        padding-top: 5px;
        padding-bottom: 5px;
    }
}
@media screen and (max-width: 468px) {
    .master-block__phone {
        font-size: 15px;
    }
}

.front-page-links {
    display: flex;
    flex-wrap: wrap;
    justify-content: center;
    margin: 1em -15px 2em;
}
.front-page-link {
    padding: 0 15px;
    display: inline-block;
    font-size: 18px;
    font-weight: 500;
}
.return-button {
    display: inline-block;
    background: #7c77cb;
    font-weight: 500;
    color: #fff;
    text-decoration: none;
    padding: 0.5em 1em;
    line-height: 1.5em;
    margin: 0 0 1em;
}


.m-tooltip {
    display: inline-block;
    position: relative;
    vertical-align: middle;
    z-index: 40;
    margin: 0 0 3px 5px;
    flex-grow: 1;
}
.m-tooltip__icon {
    height: 16px;
    width: 16px;
    border-radius: 100%;
    background: #F53277;
    color: #fff;
    box-sizing: border-box;
    font-weight: bold;
    font-size: 12px;
    line-height: 1em;
    font-family: inherit;
    display: flex;
    align-items: center;
    justify-content: center;
    cursor: pointer;
    padding: 0;
    margin: 0;
    border: 0;
    outline: 0;
}
.m-tooltip__body {
    position: absolute;
    width: 200px;
    top: 20px;
    right: 0;
    background: #fbf9ec;
    display: inline-block;
    padding: 10px 10px;
    font-weight: 300;
    font-size: 14px;
    line-height: 18px;
    color: #616161;
    -webkit-box-shadow: 1px 1px 5px 0 rgba(0,0,0,0.13);
    box-shadow: 1px 1px 5px 0 rgba(0,0,0,0.13);
    border-radius: 3px;
    opacity: 0;
    pointer-events: none;
    visibility: hidden;
    transition: 300ms ease;
    z-index: 2;
}
.m-tooltip--active {
    z-index: 41;
}
.m-tooltip--active .m-tooltip__body {
    opacity: 1;
    pointer-events: auto;
    visibility: visible;
}
.m-tooltip__body p {
    margin-bottom: 18px;
    padding-bottom: 0;
}
.m-tooltip__close {
    border: 0;
    outline: 0;
    padding: 0;
    margin: 0;
    background: transparent;
    font-family: inherit;
    float: right;
    font-weight: 300;
    font-size: 14px;
    line-height: 18px;
    position: relative;
    cursor: pointer;
}
.m-tooltip__close:before,
.m-tooltip__close:after {
    content: '';
    position: absolute;
    left: -25px;
    top: 7px;
    width: 20px;
    height: 2px;
    background: #000;
}
.m-tooltip__close:before {
    transform: rotate(-45deg);
}
.m-tooltip__close:after {
    transform: rotate(45deg);
}

.anchor {
    position: relative;
    height: 0;
    top: -2rem;
    z-index: -9999;
}

.city-nav {
    margin: 5px 0 15px;
}

.city-nav--front-page {
    margin-top: 15px;
}

.city-nav ul {
    display: grid;
    grid-gap: 10px 15px;
}

@media screen and (min-width: 700px) {
    .city-nav ul {
        grid-template-columns: repeat(3, 1fr);
    }
}

.city-nav a {
    display: flex;
    align-items: center;
    justify-content: space-between;
    font-size: 15px;
    line-height: 18px;
    padding: 10px 15px;
    box-sizing: border-box;
    width: 100%;
    -webkit-box-shadow: 0 1px 3px 0 rgba(0, 0, 0, 0.25);
    box-shadow: 0 1px 3px 0 rgba(0, 0, 0, 0.25);
    text-decoration: none;
    color: #3e3b7c;
}

.city-nav__count {
    background: #000;
    display: inline-block;
    color: #fff;
    padding: 2px 5px;
    font-size: 12px;
    line-height: 14px;
}

.master {
    box-shadow: 0 1px 3px 0 rgba(0,0,0,0.25);
    margin: 15px 0;
}
.master--special {
    box-shadow: 0 0 0 3px #e1a416;
}
.master__info {
    padding: 1rem;
}
.master__info .salon__phone,
.master__info .salon__address {
    display: block;
}
.master__top {
    display: flex;
    justify-content: space-between;
    align-items: center;
}
.master__crown {
    background: url('../images/master__crown.svg') center / 100% auto no-repeat;
    width: 32px;
    height: 32px;
    display: inline-block;
    vertical-align: middle;
    margin: -4px 5px 0 0;
}
.master__crown--small {
    width: 24px;
    height: 24px;
    margin: -5px 5px -1px 0;
}
.master__price {
    padding-bottom: 4px;
}
.master__contacts {
    display: flex;
    margin: 5px -3px 10px;
}
.master__contact-button {
    min-width: 0;
    border: 1px solid #9E9DBD;
    outline: 0;
    cursor: pointer;
    font-family: inherit;
    font-weight: 500;
    font-size: 15px;
    line-height: 24px;
    padding: 0 10px;
    height: 44px;
    border-radius: 0;
    background: transparent;
    margin: 0 3px;
    display: flex;
    align-items: center;
    box-sizing: border-box;
    text-decoration: none;
}
.master__contact-button--loading {
    position: relative;
}
.master__contact-button--loading::before {
    content: '';
    position: absolute;
    top: 0;
    left: 0;
    right: 0;
    bottom: 0;
    background: #fff;
}
.master__contact-button--loading::after {
    content: '';
    position: absolute;
    border-radius: 50%;
    width: 1em;
    height: 1em;
    box-sizing: border-box;
    font-size: 20px;
    display: inline-block;
    vertical-align: middle;
    margin: -0.5em 0 0 -0.5em;
    top: 50%;
    left: 50%;
    text-indent: -9999em;
    border: 0.2em solid rgba(0, 0, 0, 0.2);
    border-left-color: rgba(0, 0, 0, 0.6);
    -webkit-transform: translateZ(0);
    -ms-transform: translateZ(0);
    transform: translateZ(0);
    -webkit-animation: load8 1.1s infinite linear;
    animation: load8 1.1s infinite linear;
}
.master__contact-button__wide {
    flex: 1;
    background: #F53277;
    border-color: #F53277;
    color: #fff;
}
.master__contact-button__hidden {
    justify-content: center;
    flex: 1;
    border-style: dashed;
    cursor: default;
}
.master__contact-button__wide.master__contact-button--loading::before {
    background: #F53277;
}
.master__contact-button__wide.master__contact-button--loading::after {
    border-color: rgba(255, 255, 255, 0.5);
    border-left-color: rgba(255, 255, 255, 1);
}
.master__contact-icon {
    display: block;
    width: 21px;
    height: 21px;
    background-position: 50%;
    background-size: 100% auto;
    background-repeat: no-repeat;
    flex-shrink: 0;
}
.master__contact-icon--viber {
    background-image: url('../images/contact-icon--viber.svg');
}
.master__contact-icon--telegram {
    background-image: url('../images/master__contact-icon--telegram.svg');
}
.master__contact-icon--whatsapp {
    background-image: url('../images/master__contact-icon--whatsapp.svg');
}
.master__contact-icon--phone {
    background-image: url('../images/master__contact-icon--phone.svg');
    width: 27px;
    height: 27px;
}
.master__contact-button-label {
    padding-left: 10px;
    white-space: nowrap;
    text-overflow: ellipsis;
    overflow: hidden;
}
.master__contact-button-label--phone::before {
    content: 'Показать телефон';
}
@media (max-width: 359px) or (min-width: 992px) {
    .master__contact-icon--phone {
        width: 24px;
    }
    .master__contact-button {
        padding: 0 5px;
        height: 35px;
        font-size: 14px;
    }
}
.master__warning-toggle {
    width: 18px;
    height: 18px;
    background: transparent;
    margin: 0 0 0 10px;
    padding: 0;
    border: 1.5px solid currentColor;
    color: #1F91C0;
    cursor: pointer;
    box-sizing: border-box;
    border-radius: 100%;
    display: flex;
    align-items: center;
    justify-content: center;
    font-size: 14px;
    line-height: 1em;
    flex-shrink: 0;
    outline: 0;
}
.master__warning-description {
    border: 1px solid #ccc;
    padding: 12px 15px;
    margin: 10px 0;
    box-sizing: border-box;
    background: #fff;
    display: none;
}
.master__warning-description.js-tooltip__body--active {
    display: block;
}
.master__warning-description p {
    margin-bottom: 0.5em;
}
.master__warning-close {
    cursor: pointer;
    position: relative;
    display: block;
    margin: 0 0 0 auto;
    background: rgba(0,0,0,0);
    border: 0;
    outline: 0;
    font: inherit;
    padding: 0 5px 0 20px;
}
.master__warning-close:after,
.master__warning-close:before {
    content: "";
    position: absolute;
    width: 1em;
    height: 2px;
    background: #000;
    left: 0;
    top: 50%;
    margin: -1px 0 0;
}
.master__warning-close:after {
    transform: rotate(-45deg);
}
.master__warning-close:before {
    transform: rotate(45deg);
}
@media (min-width: 992px) {
    .master__tooltip-container {
        position: relative;
    }
    .master__warning-description {
        position: absolute;
        top: 35px;
    }
}
.master__description {
    max-height: 11.9em;
    overflow: hidden;
    line-height: 1.7em;
    margin: 0 0 0.5em;
    text-overflow: ellipsis;
    display: -webkit-box;
    -webkit-line-clamp: 7;
    -webkit-box-orient: vertical;
}
.master__highlight {
    background: rgba(255, 217, 68, 0.3);
}
.master__more {
    display: inline-block;
    text-align: center;
    background: #f53277;
    font-weight: 500;
    color: #fff;
    font-size: .8rem;
    line-height: 1.25em;
    padding: .3em 1em;
    border: 0;
    cursor: pointer;
    text-decoration: none;
    outline: 0;
    font-family: inherit;
    transition: 300ms ease;
}
@media screen and (max-width: 549px) {
    .master .master-block {
        margin: 20px 20px 0;
    }
}
@media (min-width: 992px) {
    .salon__description {
        max-height: 6em;
        -webkit-line-clamp: 4;
    }
    .master__description {
        max-height: 10.2em;
        -webkit-line-clamp: 6;
    }
}
@media (min-width: 1200px) {
    .master__description {
        max-height: 13.6em;
        -webkit-line-clamp: 8;
    }
}
.master__verified {
    position: absolute;
    z-index: 2;
    background: rgba(245, 50, 119, 0.8);
    display: inline-block;
    top: 5px;
    right: 5px;
    padding: 6px 10px 5px;
    font-size: 18px;
    line-height: 1.2em;
    pointer-events: none;
}
.master-block__vip,
.master-block__premium,
.master-block__video {
    position: absolute;
    z-index: 2;
    display: inline-block;
    top: 5px;
    left: 5px;
    padding: 6px 10px 5px;
    font-size: 18px;
    line-height: 1.2em;
    min-height: 1.2em;
    pointer-events: none;
}
.master-block__vip {
    background: rgba(255, 179, 2, 0.8);
}
.master-block__premium {
    background: rgba(124, 119, 203, 0.8);
}
.master-block__video {
    left: auto;
    right: 5px;
    background: rgba(0, 0, 0, 0.75) url('../images/video.svg') 5px center / 25px auto no-repeat;
    padding-left: 35px;
}
.master-block__video--empty {
    padding-right: 0;
}
.master-block__video--bottom {
    top: auto;
    left: auto;
    right: 5px;
    bottom: 5px;
    line-height: 17px;
    min-height: 17px;
    font-size: 15px;
    background-size: 20px auto;
    padding-left: 30px;
    padding-right: 0;
}
.master__verified--second {
    right: 45px;
}
.master-block__video--second {
    top: 43px;
}

@media (max-width: 468px) {
    .master__verified--small,
    .master-block__vip--small,
    .master-block__premium--small {
        font-size: 3.7vw;
        line-height: 1.25em;
        padding: 0.25em 0.4em;
    }
    .master-block__video--small {
        font-size: 3.7vw;
        line-height: 1.25em;
        padding: 0.25em 0.4em 0.25em calc(0.8em + 16px);
        background-size: 16px auto;
        background-position: 0.4em center;
        min-height: 1.25em;
    }
    .master-block__video--empty {
        padding-right: 0;
    }
    .master__verified--second {
        right: calc(0.8em + 26px);
    }
}
.master__photo-count {
    bottom: 5px;
    right: 5px;
}

.master-block__vip--down {
    top: 42px;
}
.master-block__vip--right {
    left: auto;
    right: 5px;
}

.city-search {
    text-align: center;
}
.city-search__input {
    width: auto;
    margin-top: 0.25em;
}


.spinner {
    -webkit-animation: rotate 2s linear infinite;
    animation: rotate 2s linear infinite;
    width: 50px;
    height: 50px;
}
.spinner .path {
    stroke: #7c77cb;
    stroke-linecap: round;
    -webkit-animation: dash 1.5s ease-in-out infinite;
    animation: dash 1.5s ease-in-out infinite;
}

@-webkit-keyframes rotate {
    100% {
        -webkit-transform: rotate(360deg);
        transform: rotate(360deg);
    }
}

@keyframes rotate {
    100% {
        -webkit-transform: rotate(360deg);
        transform: rotate(360deg);
    }
}

@-webkit-keyframes dash {
    0% {
        stroke-dasharray: 1, 150;
        stroke-dashoffset: 0;
    }
    50% {
        stroke-dasharray: 90, 150;
        stroke-dashoffset: -35;
    }
    100% {
        stroke-dasharray: 90, 150;
        stroke-dashoffset: -124;
    }
}

@keyframes dash {
    0% {
        stroke-dasharray: 1, 150;
        stroke-dashoffset: 0;
    }
    50% {
        stroke-dasharray: 90, 150;
        stroke-dashoffset: -35;
    }
    100% {
        stroke-dasharray: 90, 150;
        stroke-dashoffset: -124;
    }
}
.alert {
    padding: .75rem 1.25rem;
    margin-bottom: 1rem;
    border: 1px solid transparent;
    border-radius: .25rem;
    line-height: 1.5rem;
}
.alert-success {
    background-color: #dff0d8;
    border-color: #d0e9c6;
    color: #3c763d;
}
.alert-error {
    background-color: #f2dede;
    border-color: #ebcccc;
    color: #a94442;
}
.alert-info {
    background-color: transparent;
    border-color: #f53277;
    border-width: 2px;
    border-radius: 0;
}
.alert-info p {
    padding: 0;
}
.close {
    float: right;
    font-size: 1.5rem;
    font-weight: 700;
    line-height: 1;
    color: #000;
    text-shadow: 0 1px 0 #fff;
    opacity: .5;
}
button.close {
    padding: 0;
    cursor: pointer;
    background: 0 0;
    border: 0;
    -webkit-appearance: none;
}
.alert-dismissible .close {
    position: relative;
    top: -.75rem;
    right: -1.25rem;
    padding: .75rem 1.25rem;
    color: inherit;
}

.js-link {
    cursor: pointer;
}

.salon__new-gallery {
    display: flex;
    justify-content: flex-start;
    margin: 0 -2px 10px;
    flex-wrap: wrap;
    position: relative;
}
.salon__new-gallery-item {
    flex: 0 0 33.333333%;
    max-width: 33.333333%;
    padding: 2px;
    box-sizing: border-box;
}
.salon__new-gallery-item img {
    width: 100%;
}
.salon__new-gallery-more {
    cursor: pointer;
    z-index: 2;
    background: rgba(0,0,0,0.5);
    font-size: 1rem;
    display: flex;
    align-items: center;
    justify-content: center;
    padding: 10px 0;
    color: #fff;
}
.salon__new-gallery-more span {
    font-size: 2em;
}
@media (max-width: 1199px) {
    .salon__new-gallery-more {
        flex: 1 0;
        margin: 2px;
    }
    .salon__new-gallery-more span {
        margin-right: 5px;
    }
}
@media (min-width: 768px) {
    .salon__new-gallery {
        margin-left: -5px;
        margin-right: -5px;
    }
    .salon__new-gallery-item {
        flex: 0 0 16.666667%;
        max-width: 16.666667%;
        padding: 5px;
    }
}
@media (min-width: 1200px) {
    .salon__new-gallery-more {
        position: absolute;
        top: 5px;
        right: 5px;
        bottom: 5px;
        width: 60px;
        flex-direction: column;
    }
}

.salon__fancybox {
    cursor: pointer;
}

.cabinet-notify {
    margin: 0 0 15px;
    font-weight: normal;
    font-size: 15px;
    line-height: 26px;
}
.cabinet-notify--flex {
    border: 2px solid;
    display: flex;
    flex-wrap: wrap;
    align-items: center;
    justify-content: space-between;
    padding: 12px 15px;
    margin: 0 0 20px;
}
.cabinet-notify__element {
    display: inline-block;
}
.cabinet-notify__navigation {
    display: flex;
}
.cabinet-notify__balance {
    display: flex;
    flex-direction: column;
    align-items: flex-start;
}
.cabinet-notify__balance-action {
    display: inline-block;
    background: #27AE60;
    color: #fff;
    text-decoration: none;
    padding: 1px 4px;
    font-size: 13px;
    line-height: 18px;
}
.cabinet-notify__delimiter {
    padding: 0 10px;
}
.cabinet-notify--gray {
    border-color: #bcbcbc !important;
}
.cabinet-notify--blue {
    border-color: #7c77cb !important;
}
@media (max-width: 359px) {
    .cabinet-notify__navigation {
        flex-wrap: wrap;
    }
    .cabinet-notify__balance {
        width: 100%;
        flex-direction: row;
        flex-grow: 1;
        align-items: center;
        justify-content: space-between;
    }
    .cabinet-notify__delimiter--corner {
        display: none;
    }
}
.banner img {
    display: block;
    max-width: 100%;
    height: auto;
    margin: 15px auto;
}
.banner + .masters-row {
    margin-top: -15px;
}

.payment-form {
    position: relative;
}
.payment-form__bonus {
    display: block;
    text-align: center;
    text-decoration: underline;
    color: #27AE60;
    font-weight: 400;
    font-size: 1.25em;
    line-height: 1.25em;
    margin: 0 0 15px;
}
.payment-form__bonus--hidden {
    display: none;
}
.payment-form__radio {
    display: flex;
    width: 100%;
    overflow: hidden;
    padding-top: 1px;
    padding-left: 1px;
    flex-wrap: wrap;
    margin: 0 0 10px;
}
.payment-form__radio-item {
    display: block;
    overflow: hidden;
    margin-left: -1px;
    margin-top: -1px;
    background: #fff;
    cursor: pointer;
    flex-grow: 1;
}
.payment-form__radio-item:hover {
    position: relative;
    z-index: 2;
}
.payment-form__radio-input {
    display: none;
}
.payment-form__radio-input:checked + .payment-form__radio-label {
    background-color: #ffeca6;
    border-color: rgba(153,122,0,.5);
    position: relative;
}
@media (max-width: 370px) {
    .payment-form__radio-input:checked + .payment-form__radio-label {
        padding-right: 40px;
    }
    .payment-form__radio-input:checked + .payment-form__radio-label:after {
        content: '';
        position: absolute;
        right: 10px;
        top: 9px;
        width: 20px;
        height: 20px;
        background: url('../images/checked.svg') center / 100% auto no-repeat;
    }
}
.payment-form__radio-input:checked + .payment-form__radio-label:hover {
    border-color: rgba(129,103,0,.6);
}
.payment-form__radio-label {
    border: 1px solid #ccc;
    line-height: 18px;
    padding: 10px 10px 10px 43px;
    background-position-y: center;
    background-repeat: no-repeat;
    height: 100%;
    box-sizing: border-box;
    display: flex;
    align-items: center;
}
.payment-form__radio-label:hover {
    border-color: rgba(0,0,0,.35);
}
.payment-form__radio-label--card {
    background-image: url('../images/card.svg');
    background-size: 23px 23px;
    background-position-x: 10px;
}
.payment-form__radio-label--yandexmoney {
    background-image: url('../images/yandexmoney.svg');
    background-size: 16px 21px;
    background-position-x: 11px;
}
.payment-form__button {
    margin-top: 0;
    background: #27AE60;
    color: #fff;
}
.payment-form__disabled {
    position: absolute;
    top: 0;
    left: 0;
    right: -1px;
    bottom: 0;
    border: 2px solid #f53277;
    background: rgba(255, 255, 255, 0.9);
    display: flex;
    align-items: center;
    justify-content: center;
    font-size: 1.5em;
    line-height: 1.5em;
    text-align: center;
}

.payment-info {
    text-align: center;
    padding: 0 0 20px;
}

.payment-info__button {
    display: inline-block;
    font-family: inherit;
    border: 0;
    outline: 0;
    cursor: pointer;
    font-size: 14px;
    line-height: 20px;
    font-weight: 500;
    color: #fff;
    padding: 8px 15px;
    background: #27AE60;
    text-decoration: none;
    margin: 0;
}

.payment-info__title {
    align-self: flex-start;
}

.payment-info__content {
    background: rgba(0, 0, 0, 0.15);
    display: flex;
    align-items: center;
    padding: 5px 6px;
    gap: 10px;
    margin: 5px 0 10px;
}

.payment-info__value {
    font-size: 24px;
    line-height: 30px;
}

.payment-info__action {
    font-family: inherit;
    border: 0;
    outline: 0;
    cursor: pointer;
    font-size: 16px;
    line-height: 16px;
    font-weight: 500;
    color: #fff;
    padding: 0;
    background: #f53277;
    text-decoration: none;
    margin: 0;
    width: 24px;
    height: 24px;
    display: inline-flex;
    align-items: center;
    justify-content: center;
}

.payment-info__hidden {
    display: none;
}

.payment-info--active .payment-info__to-hide {
    display: none;
}

.payment-info--active .payment-info__hidden {
    display: inline-flex;
    flex-direction: column;
    align-items: center;
}

.activate-promocode {
    display: inline-block;
    margin: 20px 0 10px;
    color: #7c77cb;
    font-size: 16px;
}


.salon__feature span {
    left: 0;
    right: auto;
}
@media (max-width: 468px) {
    .salon__feature:not(:first-child) span {
        left: auto;
        right: 0;
    }
}
@media (max-width: 355px) {
    .salon__feature:nth-child(8) span {
        left: 0;
        right: auto;
    }
}

@media (max-width: 400px) {
    #ym-informer {
        width: 300px !important;
        height: 188px !important;
    }
    #ym-informer > iframe {
        width: 133.333% !important;
        height: 133.333% !important;
        transform: scale(0.75) translate(-16.66667%,-16.66667%);
    }
}

.m-testimonial {
    border: 1px dashed #a2a2a2;
    font-size: 1rem;
    line-height: 1.3em;
    margin: 0 0 .75em;
    padding: 1em;
}
.m-testimonial-info {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-align: center;
    -ms-flex-align: center;
    align-items: center;
    padding: 0 0 .5em;
}
.m-testimonial-meta {
    padding: 0 0 0 .5em;
}
.m-testimonial-positive {
    color: #99c45a;
}
.m-testimonial-negative {
    color: #bc567a;
}
.m-testimonial-author {
    font-weight: 700;
}
.m-testimonial-date {
    font-size: .75em;
    opacity: .75;
    line-height: 1em;
}
.m-testimonial-text {
    font-style: italic;
}
.m-testimonial-response_hidden {
    display: none;
}
.m-testimonial-form {
    display: none;
}
.m-testimonial-form_active {
    display: block;
}
.m-testimonial-formButton {
    display: inline-block;
    margin-right: 0.5em;
}
.m-testimonial-formButton:last-child {
    margin-right: 0;
}
.m-testimonial-actions {
    padding: .75em 0 0;
    margin: -.25em;
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -ms-flex-wrap: wrap;
    flex-wrap: wrap;
    -webkit-box-pack: end;
    -ms-flex-pack: end;
    justify-content: flex-end;
}
.m-testimonial-action {
    margin: .25em;
}
.m-testimonial-button {
    font-weight: 500;
    font-size: .8rem;
    line-height: 1.25em;
    padding: .3em 1em;
}

.xxx-popup {
    position: fixed;
    right: 0;
    bottom: 0;
    border: 2px solid;
    max-width: 450px;
    z-index: 500;
    padding: 1rem 1rem 0.5rem;
    font-size: 16px;
    line-height: 1.5em;
    text-decoration: none;
    opacity: 0;
    -webkit-transition: 600ms ease;
    -moz-transition: 600ms ease;
    transition: 600ms ease;
    -webkit-transform: translateX(100%);
    -moz-transform: translateX(100%);
    transform: translateX(100%);
}
.xxx-popup--img {
    padding: 0;
    border: 0;
}
.xxx-popup--active {
    opacity: 1;
    -webkit-transform: translateX(0);
    -moz-transform: translateX(0);
    transform: translateX(0);
}
.xxx-popup h3 {
    font-weight: bold;
    font-size: 1.25em;
    line-height: 1.25em;
    margin: 0;
}
@media (max-width: 468px) {
    .xxx-popup {
        font-size: 13px;
    }
}
@media (max-width: 340px) {
    .xxx-popup {
        font-size: 12px;
    }
}
.xxx-popup a {
    text-decoration: none;
}
.xxx-popup img {
    display: block;
    max-width: 33.3%;
    height: auto;
    margin: 5px 10px 0.5rem;
}
.xxx-popup--img img {
    max-width: 100%;
    margin: 0;
}
.xxx-popup img.alignleft {
    float: left;
    margin-left: 0;
}
.xxx-popup img.alignright {
    float: right;
    margin-right: 0;
}
.xxx-popup img.aligncenter {
    margin-left: auto;
    margin-right: auto;
}
.xxx-popup__close {
    position: absolute;
    right: 0;
    bottom: 100%;
    height: 30px;
    line-height: 24px;
    border: 0;
    outline: 0;
    cursor: pointer;
    margin-bottom: 2px;
    color: #000;
    text-align: right;
    padding: 4px 34px 6px 10px;
    background: rgba(255, 255, 255, 0.9);
}
.xxx-popup--img .xxx-popup__close {
    margin-bottom: 0;
}
.xxx-popup__close::after,
.xxx-popup__close::before {
    content: '';
    position: absolute;
    right: 5px;
    top: 50%;
    width: 24px;
    height: 3px;
    margin-top: -1px;
    background: #000;
}
.xxx-popup__close::after {
    -webkit-transform: rotate(45deg);
    -moz-transform: rotate(45deg);
    -ms-transform: rotate(45deg);
    -o-transform: rotate(45deg);
    transform: rotate(45deg);
}
.xxx-popup__close::before {
    -webkit-transform: rotate(-45deg);
    -moz-transform: rotate(-45deg);
    -ms-transform: rotate(-45deg);
    -o-transform: rotate(-45deg);
    transform: rotate(-45deg);
}

.salon-card {
    -webkit-box-shadow: 0 1px 3px 0 rgba(0,0,0,0.25);
    box-shadow: 0 1px 3px 0 rgba(0,0,0,0.25);
    font-size: 0.875rem;
    line-height: 1.5em;
    margin: 15px 0;
}
.salon-card__left {
    padding: 1em;
}
.salon-card__main {
    position: relative;
}
.salon-card__favorite {
    z-index: 3;
}
.salon-card__gallery {
    position: relative;
    display: flex;
    overflow-x: auto;
    overflow-y: hidden;
    -webkit-overflow-scrolling: touch;
    -ms-scroll-snap-type: x mandatory;
    scroll-snap-type: x mandatory;
    scroll-padding-left: 1em;
    scroll-padding-right: 1em;
    margin-left: -1em;
    margin-right: -1em;
}
.salon-card__gallery::after {
    content: '';
    display: block;
    width: 1em;
    height: 1px;
    flex-shrink: 0;
}
.salon-card__photos-container {
    position: relative;
}
.salon-card__photos {
    margin-bottom: 1em;
}
.salon-card__photo {
    width: calc(100% - 2em - 10px);
    max-width: 343px;
    flex-shrink: 0;
    padding-left: 5px;
    scroll-snap-align: start;
}
.salon-card__photo:first-child {
    margin-left: 1em;
    padding-left: 0;
}
.salon-card__photo-block {
    position: relative;
    background: #eee;
}
.salon-card__photo-img {
    width: 100%;
    display: block;
}
.salon-card__photo-img,
img.salon-card__photo-img {
    position: absolute;
    width: 100%;
    height: 100%;
    pointer-events: none;
    left: 0;
    top: 0;
}
.salon-card__photo-more {
    position: absolute;
    top: 0;
    left: 0;
    bottom: 0;
    right: 0;
    color: #fff;
    background: rgba(0, 0, 0, 0.8);
    display: flex;
    align-items: center;
    justify-content: center;
    flex-direction: column;
}
.salon-card__photo-more::before {
    content: '';
    display: block;
    width: 2.5em;
    height: 2.5em;
    margin: 0 0 0.25em;
    background: rgba(0,0,0,0.8) url('../images/camera.svg') center / 100% auto no-repeat;
}
.salon-card__photo-more::after {
    content: 'Смотреть';
    display: block;
    background: #f53277;
    color: #fff;
    font-size: 1em;
    line-height: 1.25em;
    padding: 0.5em 1em;
    margin: 0.25em 0 0;
}
.salon_verified,
.salon-card__verified {
    position: absolute;
    z-index: 3;
    display: inline-block;
    top: 5px;
    left: 5px;
    padding: 6px 10px 5px;
    font-size: 18px;
    line-height: 1.2em;
    background: rgba(12, 206, 107, 0.8);
    color: #fff;
}
.salon_verified--single {
    margin: 20px 0 0 15px;
}
.salon-card__verified {
    left: 19px;
}
.salon-card__single-photo {
    display: block;
    margin: 0 auto 1em;
    width: 75%;
    max-width: 275px;
    background: #eee;
    position: relative;
}
.salon-card__header {
    display: flex;
    align-items: flex-start;
    flex-wrap: wrap;
    padding: 0 0 0.5rem;
}
.salon-card__title {
    padding: 0 5px 0 0;
    flex: 1 0 auto;
    display: flex;
    align-items: center;
}
.salon-card__link {
    font-weight: 700;
    font-size: 1.5rem;
    line-height: 1.2em;
    color: #3e3b7c;
    text-decoration: none;
}
.salon-card__link:hover {
    color: #f53277;
}
.salon-card__actual {
    margin-left: 5px;
}
.salon-card__genders {
    display: flex;
    justify-content: flex-end;
    font-size: 1.5rem;
    margin: 0 -0.1em;
}
.salon-card__gender {
    width: 1em;
    height: 1em;
    margin: 0.1em;
    border: 1px solid #ccc;
    box-sizing: border-box;
}
.salon-card__address {
    background: url('../images/address.svg') 0 0 / 24px auto no-repeat;
    padding: 2px 0 1px 2em;
    margin: 0 0 0.7em;
}
.salon-card__metro {
    background: url('../images/metro.svg') 2px 2px / 18px auto no-repeat;
    padding: 2px 0 1px 2em;
    margin: 0 0 0.7em;
}
.salon-card__phone-and-socials {
    display: flex;
    align-items: flex-start;
    margin: 0 0 0.2em;
}
.salon-card__phone {
    font-weight: bold;
    background: url('../images/phone.svg') 0 0 / 24px auto no-repeat;
    padding: 2px 0 1px 2em;
    text-decoration: none;
    white-space: nowrap;
}
.salon-card__phone:hover {
    text-decoration: underline;
}
.salon-card__socials {
    display: flex;
    flex-wrap: wrap;
    margin: 1px 0 0 0.5em;
}
.salon-card__social {
    font-size: 1.125rem;
    width: 1em;
    height: 1em;
    margin: 2px;
}
.salon-card__pricing {
    padding-top: 0.5em;
}
.salon-card__masters {
    margin-top: 0.5em;
}
.salon-card__master {
    flex-shrink: 0;
    scroll-snap-align: start;
    width: calc(33.333% - 2em / 3 - 20px / 3);
    max-width: 100px;
    padding-left: 5px;
}
.salon-card__master:first-child {
    margin-left: 1em;
    padding-left: 0;
}
.salon-card__master-block {
    height: 0;
    padding: 150% 0 0;
    position: relative;
    background: #eee;
}
.salon-card__master-img,
img.salon-card__master-img {
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    object-fit: cover;
}
.salon-card__master-name {
    position: absolute;
    z-index: 2;
    background: rgba(0,0,0,0.75);
    color: #fff;
    display: inline-block;
    top: 3px;
    left: 3px;
    font-size: 12px;
    padding: 4px 5px 3px;
    line-height: 15px;
}
.salon-card__master-more {
    position: absolute;
    z-index: 3;
    top: 0;
    left: 0;
    bottom: 0;
    right: 0;
    color: #fff;
    background: rgba(0, 0, 0, 0.8);
    display: flex;
    align-items: center;
    justify-content: center;
    flex-direction: column;
    font-size: 2em;
}
.salon-card__description {
    padding: 0.5em 0 0;
    line-height: 1.5em;
    max-height: 9em;
    overflow: hidden;
    position: relative;
    text-overflow: ellipsis;
    display: -webkit-box;
    -webkit-line-clamp: 6;
    -webkit-box-orient: vertical;
}
.salon-card__meta {
    background: #f7f7f8;
    display: flex;
    flex-direction: column;
    flex-shrink: 0;
}
.salon-card__features {
    font-size: 1.75rem;
    display: flex;
    justify-content: center;
    margin: 0 -0.1em;
    padding: 0.2em 0;
}
.salon-card__feature {
    width: 1em;
    height: 1em;
    margin: 0.1em;
    background-color: #fff;
}
li.salon-feature--video,
.salon-feature--video {
    background-image: url('../images/video.svg');
    background-color: #444444;
}
li.salon-feature--gift,
.salon-feature--gift {
    background-image: url('../images/gift.svg');
    background-color: transparent;
    background-size: 100% auto;
}
.salon-card__spacer {
    flex: 1 0 auto;
}
.salon-card__more {
    box-sizing: border-box;
    display: inline-block;
    padding: 6px 10px;
    background: #f53277;
    position: relative;
    color: #ffffff;
    text-decoration: none;
    text-align: center;
    font: 300 14px/18px 'Fira Sans', sans-serif;
}
.salon-card__more:after {
    content: '';
    display: inline-block;
    vertical-align: middle;
    width: 13px;
    height: 13px;
    margin: -2px 0 0 5px;
    background: url('../images/salon-card__more.svg') 50% / 100% auto no-repeat;
}
@media (max-width: 999.99px) {
    .salon-card__photo-block {
        height: 0;
        padding: 75.8% 0 0;
        object-fit: cover;
    }
}

@media (min-width: 1000px) {
    .salon-card {
        display: flex;
    }
    .salon-card__left {
        flex-grow: 1;
    }
    .salon-card__main {
        display: flex;
    }
    .salon-card__photos-container {
        flex: 0 0 343px;
        margin: 0 1em 0 0;
        align-self: flex-start;
    }
    .salon-card__photos {
        position: relative;
        padding: 0;
        margin: 0;
        box-sizing: border-box;
    }
    .salon-card__photos::after {
        display: none;
    }
    .salon-card__verified {
        left: 5px;
    }
    .salon-card__photo {
        width: 20%;
        flex: 1 0 20%;
        margin: 0;
        height: 260px;
        position: static;
        display: flex;
        align-items: flex-end;
        padding: 0 3px 6px;
        box-sizing: border-box;
    }
    .salon-card__photo:first-child {
        margin-left: 0;
        padding-left: 6px;
    }
    .salon-card__photo:last-child {
        padding-right: 6px;
    }
    .salon-card__photo::after {
        content: '';
        flex: 1 0 auto;
        position: relative;
        display: block;
        height: 4px;
        background: #fff;
        z-index: 10;
        opacity: 0;
        transition: 150ms ease;
    }
    .salon-card__photo:only-child::after {
        display: none;
    }
    .salon-card:hover .salon-card__photo::after {
        opacity: 0.6;
    }
    .salon-card:hover .salon-card__photos-container .salon-card__favorite {
        transform: translateY(-10px);
    }
    .salon-card__photos:not(:hover) .salon-card__photo:first-child::after,
    .salon-card__photo:hover::after {
        background: #f53277;
    }
    .salon-card:hover .salon-card__photos:not(:hover) .salon-card__photo:first-child::after,
    .salon-card:hover .salon-card__photo:hover::after {
        opacity: 1;
    }
    .salon-card__photo-block {
        position: static;
    }
    .salon-card__photo-img {
        z-index: -2;
    }
    .salon-card__photo:first-child .salon-card__photo-img {
        z-index: -1;
    }
    .salon-card__photo-more {
        pointer-events: none;
        z-index: -2;
    }
    .salon-card__photo-more::after {
        display: none;
    }
    .salon-card__photo:hover .salon-card__photo-img,
    .salon-card__photo:hover .salon-card__photo-more {
        z-index: 2;
    }
    .salon-card__single-photo {
        max-width: 180px;
        margin-bottom: 0;
        margin-right: 1em;
    }
    .salon-card__info {
        flex-grow: 1;
        min-width: 0;
        display: flex;
        flex-direction: column;
    }
    .salon-card__masters {
        align-self: flex-start;
    }
    .salon-card__master {
        width: 85px;
    }
    .salon-card__description {
        padding-top: 1em;
        -webkit-line-clamp: 3;
    }
    .salon-card__features {
        font-size: 2.5rem;
        padding: 0.375em;
        width: 2.4em;
        flex-wrap: wrap;
        justify-content: flex-start;
    }
    .salon-card__location {
        display: flex;
    }
    .salon-card__address {
        flex-shrink: 0;
        padding-right: 1em;
    }
    .salon-card__metro {
        overflow: hidden;
        white-space: nowrap;
        text-overflow: ellipsis;
    }
}

.modal-18 {
    position: fixed;
    width: 100%;
    height: 100%;
    top: 0;
    left: 0;
    background: rgba(0, 0, 0, 0.85);
    z-index: 9999;
    overflow-y: auto;
    text-align: center;
    font-size: 1.25rem;
}
.modal-18::after {
    content: '';
    display: inline-block;
    vertical-align: middle;
    height: 100%;
}
.modal-18__content {
    display: inline-block;
    vertical-align: middle;
    box-sizing: border-box;
    margin: 1em 0;
    padding: 1em;
    width: 85%;
    max-width: 15em;
    background: #fff;
    line-height: 1.25em;
}
.modal-18__logos {
    display: flex;
    align-items: center;
    justify-content: center;
    margin: 0 0 0.5em;
}
.modal-18__logos::before,
.modal-18__logos::after {
    box-sizing: border-box;
    font-size: 1.5em;
    width: 2.5em;
    height: 2.5em;
    margin: 0 0.25em 0.25em;
    border-radius: 10em;
}
.modal-18__logos::before {
    content: '';
    display: block;
    background: #f53277 url('../images/logo.svg') 50% / 100% auto no-repeat;
}
.modal-18__logos::after {
    content: '18+';
    font-weight: bold;
    border: 0.15em solid #f53277;
    color: #f53277;
    display: flex;
    align-items: center;
    justify-content: center;
}
.modal-18__paragraph {
    padding: 0 0 0.5em;
}
.modal-18__button {
    display: block;
    box-sizing: border-box;
    width: 100%;
    font-size: inherit;
    line-height: 1.5em;
    font-family: inherit;
    padding: 0.5em 1em;
    margin: 0.5em 0 0;
    text-align: center;
    cursor: pointer;
    text-decoration: none;
    border: 0;
    outline: 0;
    background: #ccc;
    color: #000;
}
.modal-18__button--yes {
    background: #f53277;
    color: #fff;
}
@media (min-width: 500px) {
    .modal-18 {
        font-size: 1.5rem;
    }
}

.payment-form {
    padding: 15px 15px 1px;
    margin-bottom: 20px;
    background: #eee;
}

.m-after {
    font-size: 16px;
    padding: 1em 0;
}
.m-after__title {
    font-size: 1.5em;
    font-weight: 500;
    line-height: 1.25em;
    padding: 0 0 0.5em;
}

.m-radio {
    display: block;
    position: relative;
    margin: 0 0 1em;
}
.m-radio__input {
    position: absolute;
    opacity: 0;
}
.m-radio__title {
    display: flex;
    font-size: 1em;
    line-height: 1.25em;
    margin: 0 0 0.5em;
}
.m-radio__title::before {
    content: '';
    display: block;
    font-size: 1em;
    width: 1em;
    height: 1em;
    background: #fff;
    border-radius: 1em;
    margin: 0.05em 0.5em 0 0;
    flex-shrink: 0;
    border: 2px solid #ccc;
    box-sizing: border-box;
}
.m-radio__input:checked ~ .m-radio__title::before {
    border: 5px solid #f53277;
}
.m-radio__body {
    display: none;
    padding: 1em;
    border: 2px solid #ccc;
}
.m-radio__body ul {
    padding: 0 0 1em;
}
.m-radio__body ul li:before {
    content: '– ';
}
.m-radio__text {
}
.m-radio__text--success {
    color: green;
}
.m-radio__text--error {
    color: red;
}
.m-radio__price {
    font-weight: 500;
    text-align: right;
    padding-left: 1em;
}
.m-radio__row {
    margin: 1em 0 0;
    display: flex;
    align-items: center;
}
.m-radio__input:checked ~ .m-radio__body {
    display: block;
}

.m-rules {
    margin: 0 0 1em;
}
.m-rules__header {
    display: inline-block;
    position: relative;
    font-weight: 400;
    font-size: 18px;
    line-height: 1.2em;
    font-family: inherit;
    color: #00f;
    background: transparent;
    cursor: pointer;
    border: 0;
    outline: 0;
    padding: 0;
    margin: 0;
}
.m-rules__header::after {
    content: '';
    position: absolute;
    left: 0;
    right: 0;
    bottom: 0;
    border-bottom: 1px dashed #00f;
}
.m-rules__body {
    padding: 1.5em 1em 0.5em;
    margin: 1em 0 0;
    border: 2px solid #cecece;
}
.m-rules__body a {
    color: #00f;
}
.m-rules__body--closed {
    display: none;
}
.m-rules__close {
    position: relative;
    display: block;
    padding: 0 0 0 1.5em;
    background: transparent;
    border: 0;
    outline: 0;
    cursor: pointer;
    font-weight: 400;
    font-size: 16px;
    line-height: 1.25em;
    font-family: inherit;
    margin: -0.5em 0 0;
}
.m-rules__close::before,
.m-rules__close::after {
    content: '';
    position: absolute;
    width: 1em;
    height: 2px;
    background: #000;
    left: 0;
    top: 50%;
    margin: -1px 0 0;
}
.m-rules__close::before {
    transform: rotate(45deg);
}
.m-rules__close::after {
    transform: rotate(-45deg);
}
.m-rules__close-label {
    position: relative;
    display: inline-block;
}
.m-rules__close-label::before {
    content: '';
    position: absolute;
    left: 0;
    right: 0;
    bottom: 0;
    border-bottom: 1px dashed #000;
}

.boost-toggler {
    display: inline-block;
    position: relative;
    font-weight: inherit;
    font-size: inherit;
    line-height: inherit;
    font-family: inherit;
    color: #00f;
    background: transparent;
    cursor: pointer;
    border: 0;
    outline: 0;
    padding: 0;
    margin: 0;
}
.boost-toggler::after {
    content: '';
    position: absolute;
    left: 0;
    right: 0;
    bottom: 0.3em;
    border-bottom: 1px dashed #00f;
}
.boost {
    padding: 1em;
    background: #eee;
    margin: 1em 0;
    font-size: inherit;
    line-height: 1.5em;
    display: none;
}
.boost--active {
    display: block;
}
.boost__text {
    padding: 0 0 0.5em;
}
.boost__button {
    display: inline-block;
    vertical-align: middle;
    margin-right: 1em;
}
.salon-owner__list .js-link.boost__button {
    text-decoration: none;
}
.boost__price {
    font-size: 18px;
    line-height: 1.5em;
    font-weight: 500;
    vertical-align: middle;
}

.last-testimonials-title {
    font-size: 21px;
    line-height: 1.25em;
    color: #343434;
    font-weight: 500;
    padding: 0 0 0.5em;
    text-align: center;
}

ul.flexdatalist-multiple {
    padding: 0;
}
.flexdatalist-multiple li::before {
    display: none;
}
.flexdatalist-multiple li.input-container input {
    margin: 0;
}

.salon-contacts {
    padding: 0.5em 0 0;
}
.salon-contacts__row {
    display: flex;
    flex-wrap: wrap;
}
.salon-contacts__item {
    display: flex;
    flex-wrap: wrap;
    align-items: center;
    padding: 0 0 0.5em;
}
.salon-contacts__item--in-row {
    padding-right: 15px;
}
.salon-contacts__icon {
    display: block;
    background-size: 100% auto;
    margin: 0 0.3em 0 0;
    flex-shrink: 0;
    background-repeat: no-repeat;
    align-self: flex-start;
}
.salon-contacts__icon--address {
    width: 24px;
    height: 24px;
    background-image: url('../images/address.svg');
}
.salon-contacts__icon--metro {
    width: 24px;
    height: 24px;
    background-image: url('../images/metro.svg');
    background-size: 66.6666% auto;
    background-position: 50%;
}
.salon-contacts__icon--www {
    width: 24px;
    height: 24px;
    background-image: url('../images/salon-contacts__icon--www.svg');
}
.salon-contacts__label {
    display: flex;
    align-items: center;
    margin: 0 0.25em 0 0;
}
.salon-contacts__social {
    display: flex;
}
.salon-contacts__social-item {
    border: 1px solid #D0D0D0;
    font-size: 14px;
    line-height: 1.33333333em;
    padding: 0.3em 0.5em 0.2em;
    display: block;
    background-repeat: no-repeat;
    background-position: 0.5em 50%;
    margin: 0 0.25em;
    cursor: pointer;
}
.salon-contacts__social-item--vk {
    color: #4680C2;
    background-image: url('../images/salon-contacts__social-item--vk.svg');
    background-size: 1.3em auto;
    padding-left: 2.3em;
}
.salon-contacts__social-item--instagram {
    color: #FF5C3F;
    background-image: url('../images/salon-contacts__social-item--instagram.svg');
    background-size: 1em auto;
    padding-left: 2em;
}

.load-button {
    display: inline-block;
    font-family: inherit;
    border: 0;
    outline: 0;
    cursor: pointer;
    font-size: 1rem;
    line-height: 1.25em;
    font-weight: 500;
    color: #3e3b7c;
    padding: 1em 2em;
    background: #d6d8e0;
    text-decoration: none;
    margin: 0.5em;
    min-height: 3.25em;
    box-sizing: border-box;
}

.load-spinner,
.load-spinner:after {
    border-radius: 50%;
    width: 1em;
    height: 1em;
}
.load-spinner {
    box-sizing: border-box;
    font-size: 1.1em;
    display: inline-block;
    vertical-align: middle;
    margin: 0 0.4em 0 0;
    position: relative;
    top: -0.05em;
    text-indent: -9999em;
    border: 0.2em solid rgba(0, 0, 0, 0.2);
    border-left-color: rgba(0, 0, 0, 0.6);
    -webkit-transform: translateZ(0);
    -ms-transform: translateZ(0);
    transform: translateZ(0);
    -webkit-animation: load8 1.1s infinite linear;
    animation: load8 1.1s infinite linear;
}

.salon__new-gallery-more .load-spinner {
    border-color: rgba(255, 255, 255, 0.5);
    border-left-color: #fff;
    margin: 0;
}

.testimonial__more .load-spinner {
    border-color: rgba(255, 255, 255, 0.5);
    border-left-color: #fff;
}

.load-button .load-spinner {
    border-color: rgba(62, 59, 124, 0.5);
    border-left-color: #3e3b7c
}

@-webkit-keyframes load8 {
    0% {
        -webkit-transform: rotate(0deg);
        transform: rotate(0deg);
    }
    100% {
        -webkit-transform: rotate(360deg);
        transform: rotate(360deg);
    }
}
@keyframes load8 {
    0% {
        -webkit-transform: rotate(0deg);
        transform: rotate(0deg);
    }
    100% {
        -webkit-transform: rotate(360deg);
        transform: rotate(360deg);
    }
}

.wpstories-frame__text {
    line-height: 1.25;
}

.toggle {
    margin: 0 0 1em;
}
.toggle__title {
    display: block;
    border: 2px solid #ccc;
    background: #eee;
    font-size: 1.5rem;
    line-height: 1.25em;
    color: #666;
    text-decoration: none;
    padding: 0.25em 1.5em;
    position: relative;
    -webkit-transition: 450ms ease;
    cursor: pointer;
}
@media screen and (max-width: 768px) {
    .toggle__title {
        font-size: 1.25rem;
        line-height: 1.25em;
        padding: 0.25em 2em;
    }
}
.toggle__title::after,
.toggle__title::before {
    content: "";
    position: absolute;
    height: 2px;
    top: 50%;
    margin-top: -2px;
    left: 15px;
    width: 14px;
    background: #666;
}
.toggle__title::before {
    transition: transform .3s ease;
    -webkit-transform: rotate(90deg);
    transform: rotate(90deg);
}
.toggle__content {
    border: 2px solid #ccc;
    border-top: 0;
    display: none;
    padding: 1em 1em 0;
}
.toggle--active .toggle__title::before {
    transition: transform .3s ease;
    -webkit-transform: rotate(0deg);
    transform: rotate(0deg);
}

.log {
    font-size: 0.875rem;
    line-height: 1.5em;
    margin: 15px 0;
    border-radius: 8px;
    border: 1px solid #e3e3e3;
    color: rgba(0, 0, 0, 0.87);
    padding: 0 10px;
}

.log:not(:first-of-type):hover {
    background: rgba(0, 0, 0, 0.03);
}

.log__form {
    padding: 10px;
}

.log h3 {
    margin-top: 10px;
}

.log ul {
    display: flex;
    padding: 10px 0;
    margin: 0;
    flex-wrap: wrap;
}

.log ul li {
    padding: 0 10px;
    margin: 0;
}

.log ul li::before {
    display: none;
}

.log strong {
    font-weight: 500;
}

.log__filters {
    display: flex;
    align-items: flex-start;
    margin: -20px -10px 0;
}

@media screen and (max-width: 768px) {
    .log__filters {
        flex-wrap: wrap;
    }
}

.log__filter {
    padding: 10px;
    flex-grow: 1;
}

.log__filter-title {
    display: block;
}

.log__submit {
    display: flex;
    align-items: center;
    padding: 0 0 10px;
}

.log__submit .m-form__button {
    margin-right: 20px;
}

.master-salon-name {
    font-weight: 700;
    color: #f53277;
}

.city-selector {
    position: fixed;
    top: 0;
    left: 0;
    bottom: 0;
    right: 0;
    z-index: 999999;
    transition: 350ms ease;
}
.city-selector--closed {
    opacity: 0;
    visibility: hidden;
    pointer-events: none;
}
.city-selector__container {
    background: #fff;
    padding: 0 2em 1em;
}
.city-selector__loader {
    text-align: center;
    font-size: 24px;
    line-height: 1.5em;
    padding: 2em 0 1em;
    box-sizing: border-box;
}
.city-selector__close {
    float: right;
    display: flex;
    align-items: center;
    background: none;
    border: 0;
    outline: 0;
    cursor: pointer;
    font-family: inherit;
    font-size: inherit;
    line-height: inherit;
    padding: 0.5em;
    margin: 0 -0.5em 0 0;
}
.city-selector__close::after {
    content: '';
    font-size: 11px;
    height: 1em;
    width: 1em;
    background: url('../images/city-selector__close.svg') 0 0 / 100% auto no-repeat;
    margin-left: 0.65em;
}
.city-selector__search-form {
    overflow: hidden;
    width: 100%;
}
.city-selector__search {
    width: 100%;
    font-size: 16px;
    height: 46px;
    padding: 13px 20px 13px 45px;
    line-height: 20px;
    box-sizing: border-box;
    border: 1px solid #bebebe;
    outline: 0;
    background: #fff url('../images/city-selector__search.svg') 15px center / 20px auto no-repeat;
}
.city-selector__letters {
    columns: 200px auto;
}
.city-selector__letter-block {
    display: flex;
    padding: 1em 0;
    -webkit-column-break-inside: avoid;
    page-break-inside: avoid;
    break-inside: avoid;
}
.city-selector__letter {
    color: #f53277;
    width: 32px;
    flex-shrink: 0;
}
.city-selector__list {
    list-style: none;
    flex-grow: 1;
}
.city-selector__list-item {}
.city-selector__link {
    text-decoration: none;
}
.city-selector__link:hover {
    text-decoration: underline;
    color: #f53277;
}
@media screen and (max-width: 768px) {
    .city-selector .container {
        height: 100%;
    }
    .city-selector__container {
        margin-left: -15px;
        margin-right: -15px;
    }
    .city-selector__container {
        height: 100%;
        box-sizing: border-box;
        overflow: auto;
        -webkit-overflow-scrolling: touch; /* Lets it scroll lazy */
    }
}
.city-selector__header {
    position: sticky;
    top: 0;
    padding: 1em 0;
    background: #fff;
}
@media screen and (min-width: 767px) {
    .city-selector {
        overflow-y: auto;
        display: flex;
    }
    .city-selector .container {
        margin-top: auto;
        margin-bottom: auto;
    }
    .city-selector__container {
        background: rgba(255, 255, 255, 0.95);
        border: 5px solid #f53277;
        margin: 0;
    }
}

.scroll-lock {
    overflow: hidden;
    -webkit-overflow-scrolling: touch;
}

.m-toggle {
    display: flex;
    align-items: center;
    width: 100%;
    padding: 0.5em 0 0;
}
.m-toggle__label {
    font-size: 14px;
    padding-right: 0.5em;
}
.m-toggle__switch {
    font-size: 16px;
    display: inline-block;
    background: #ccc;
    border-radius: 1em;
    width: 2em;
    height: 1em;
    position: relative;
    transition: background 300ms;
    padding: 0.2em;
}
.m-toggle__switch:before,
.m-toggle__switch:after {
    content: "";
}
.m-toggle__switch:before {
    display: block;
    background: #fff;
    border-radius: 1em;
    width: 1em;
    height: 1em;
    transition: transform 300ms;
}
.m-toggle__checkbox:checked + .m-toggle__switch {
    background: #f53277;
}
.m-toggle__checkbox:checked + .m-toggle__switch:before {
    left: 30px;
    transform: translateX(100%);
}
.m-toggle__checkbox {
    position: absolute;
    visibility: hidden;
}
.m-toggle__control {
    position: relative;
    display: flex;
    cursor: pointer;
}

.vacancy {
    font-size: 1rem;
    padding: 1em;
}
.vacancy__main {
    display: flex;
    padding: 0 0 15px;
    flex-wrap: wrap;
    justify-content: center;
    margin: 0 -15px;
}
.vacancy__image {
    flex: 0 1 343px;
    padding: 0 15px;
}
.vacancy__info {
    flex-grow: 1;
    padding: 0 15px;
}
.vacancy__title {
    font-size: 1.5rem;
    line-height: 1.2em;
    font-weight: 700;
    padding: 0.5em 0 0.5em;
    color: #3e3b7c;
    text-decoration: none;
}
.vacancy__title a {
    color: inherit;
    text-decoration: none;
}
.vacancy__title a:hover {
    color: #f53277;
}
.vacancy__info li {
    padding: 0 0 0.5em;
}
.vacancy__description {
    line-height: 1.5em;
}
.vacancy__description p {
    margin-bottom: 15px;
}
.vacancy__description-text.expandable-text__content {
    max-height: 156px; /* 26px * 6 */
}
.vacancy__actions {
    display: flex;
    align-items: center;
    flex-wrap: wrap;
    margin: 0 0 -15px;
}
.vacancy__load {
    margin: 0 15px 15px 0;
}
.vacancy__salon-link {
    color: #2D9CDB;
    padding: 0 0 15px;
}
.vacancy__contacts {
    display: flex;
    padding: 15px 0 0;
    flex-wrap: wrap;
}
.vacancy__call,
.vacancy__messenger {
    margin: 0 0 15px;
}
.vacancy__call {
    display: flex;
    align-items: center;
    margin-right: 15px;
}
.vacancy__phone-tip {
    max-width: 27em;
}

.city-masters {
    display: grid;
    grid-template-columns: repeat(auto-fill, minmax(300px, 1fr));
    grid-gap: 15px;
    padding: 15px 0;
}
.city-master {
    display: grid;
    grid-template-columns: min(300px, max(50%, 150px)) auto;
    grid-gap: 10px 15px;
    padding: 0 0 15px;
    border-bottom: 1px solid #ccc;
}
.city-master__photo {
    position: relative;
}
.city-master__photo-count {
    position: absolute;
    bottom: 0;
    left: 0;
    margin: 5px;
    background: rgba(0,0,0,0.75);
    padding: 1px 10px 1px 10px;
    color: #fff;
    display: flex;
    align-items: center;
}
.city-master__video {
    position: absolute;
    top: 5px;
    left: 5px;
}
.city-master__info {
    display: flex;
    flex-direction: column;
}
.city-master__header {
    display: flex;
    align-items: center;
}
.city-master__title {
    font-size: 20px;
    font-weight: bold;
    color: #3e3b7c;
    padding: 0 0 0.25em;
    line-height: 27px;
    text-decoration: none;
}
.city-master__title:hover {
    color: #f53277;
}
.city-master__actual {
    margin: 0 0 7px 7px;
    width: 12px;
    height: 12px;
}
.city-master__parameters {
    flex-grow: 1;
    font-size: 14px;
    line-height: 16px;
}
.city-master__parameter {
    display: flex;
    padding: 0 0 5px;
}
.city-master__icon {
    width: 16px;
    height: 16px;
    display: inline-block;
    background: center / contain no-repeat;
    margin-right: 10px;
    vertical-align: middle;
}
.city-master__icon--age {
    background-image: url('../images/city-master__icon--age.svg');
}
.city-master__icon--height {
    background-image: url('../images/city-master__icon--height.svg');
}
.city-master__icon--weight {
    background-image: url('../images/city-master__icon--weight.svg');
}
.city-master__icon--size {
    background-image: url('../images/city-master__icon--size.svg');
}
.city-master__icon--hair {
    background-image: url('../images/city-master__icon--hair.svg');
}
.city-master__icon--eyes {
    background-image: url('../images/city-master__icon--eyes.svg');
}
.city-master__icon--salon {
    background-image: url('../images/city-master__icon--salon.svg');
}
.city-master__icon--photo {
    background-image: url('../images/camera.svg');
}
.city-master__salon {
    font-weight: 500;
}
.city-master__more {
    display: block;
    padding: 6px 10px;
    background: #f53277;
    color: #ffffff;
    text-decoration: none;
    text-align: center;
    font-size: 14px;
    line-height: 18px;
}
.city-master__description {
    font-size: 12px;
    line-height: 1.25em;
    grid-column: 1 / -1;
    overflow: hidden;
    text-overflow: ellipsis;
    display: -webkit-box;
    -webkit-line-clamp: 3;
    -webkit-box-orient: vertical;
    max-height: 3.75em;
}

.salon-master {
    text-align: left;
    display: block;
    text-decoration: none;
}

.salon-master__parameters {
    display: flex;
}

.city-master__video,
.salon-master__video {
    display: inline-block;
    padding: 3px 5px 3px 28px;
    font-size: 12px;
    line-height: 14px;
    pointer-events: none;
    background: rgba(0, 0, 0, 0.75) url('../images/video.svg') 5px center / 18px auto no-repeat;
    color: #fff;
}

.salon-master__photos {
    display: flex;
}

.salon-master__photo-img {
    width: 100%;
    object-fit: cover;
}

img.salon-master__photo-img {
    height: 100%;
}

.salon-master__photo-info {
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    color: #fff;
    background: rgba(0, 0, 0, 0.8);
    display: flex;
    align-items: center;
    justify-content: center;
    flex-direction: column;
    font-size: 12px;
    line-height: 1.2em;
}

.salon-master__photo-info::before {
    content: '';
    display: block;
    font-size: 2em;
    width: 1em;
    height: 1em;
    margin: 0 0 0.15em;
    background: rgba(0, 0, 0, 0.8) url('../images/camera.svg') center / 100% auto no-repeat;
}
.salon-master__favorite {
    z-index: 15;
}

@media (max-width: 767px) {
    .salon-master {
        overflow-x: auto;
        text-align: left;
        margin: 10px -15px;
        padding: 0 15px 10px;
        border-bottom: 1px solid #ccc;
    }

    .salon-master__content {
        display: flex;
        align-items: center;
    }

    .salon-master__info {
        flex-shrink: 0;
        flex-basis: calc(100% - 130px);
    }

    .salon-master__title {
        color: #3e3b7c;
        font-weight: 500;
        font-size: 16px;
        line-height: 1.2em;
        padding: 0 0 0.25em;
    }

    .salon-master__parameters {
        flex-wrap: wrap;
        font-size: 13px;
        line-height: 16px;
    }

    .salon-master__parameter {
        padding: 0 5px 0 0;
    }

    .salon-master__icon {
        display: none;
    }

    .salon-master__photo {
        margin: 0 10px 0 0;
    }

    .salon-master__photo-container {
        width: 85px;
        height: 85px;
        position: relative;
        background: #eee;
    }

    .salon-master__favorite {
        bottom: 16px;
        width: 36px;
        height: 36px;
    }
    .salon-master__favorite::before,
    .salon-master__favorite::after {
        width: 18px;
        height: 18px;
        top: 9px;
        left: 9px;
    }
}

@media (min-width: 768px) {
    .salon-master {
        margin: 15px 0;
        height: 0;
        padding: 150% 0 0;
        position: relative;
    }

    .salon-master__info,
    .salon-master__photos {
        position: absolute;
        top: 0;
        left: 0;
        width: 100%;
        height: 100%;
    }

    .salon-master__info {
        z-index: 3;
        pointer-events: none;
        color: #fff;
        transition: 150ms ease;
    }

    .salon-master:hover .salon-master__info {
        opacity: 0;
    }
    .salon-master:hover .favorite-control {
        transform: translateY(-10px);
    }

    .salon-master__title {
        position: absolute;
        z-index: 2;
        background: rgba(0, 0, 0, 0.75);
        display: inline-block;
        top: 5px;
        left: 5px;
        padding: 6px 10px 5px;
        font-size: 18px;
        text-transform: uppercase;
        line-height: 1.2em;
    }

    .salon-master__parameters {
        position: absolute;
        z-index: 2;
        bottom: 5px;
        left: 5px;
        font-size: 15px;
        line-height: 1.2em;
        font-weight: normal;
        flex-direction: column;
        align-items: flex-start;
    }

    .salon-master__parameter {
        margin: 5px 0 0;
        display: inline-block;
        background: rgba(0, 0, 0, 0.75);
        padding: 5px 10px;
        position: relative;
    }

    .salon-master__icon {
        margin-right: 5px;
    }

    .salon-master__parameter-title {
        display: none;
    }

    .salon-master__video {
        position: absolute;
        top: 5px;
        right: 5px;
        z-index: 2;
    }

    .salon-master__photo {
        width: 20%;
        flex: 1 0 20%;
        height: 100%;
        display: flex;
        align-items: flex-end;
        padding: 0 3px 6px;
        box-sizing: border-box;
    }

    .salon-master__photo:first-child {
        padding-left: 6px;
    }

    .salon-master__photo:last-child {
        padding-right: 6px;
    }

    .salon-master__photo-container {
        position: static;
    }

    .salon-master__photo-img {
        position: absolute;
        top: 0;
        left: 0;
        z-index: -2;
        pointer-events: none;
    }

    .salon-master__photo:first-child .salon-master__photo-img {
        z-index: -1;
    }

    .salon-master__photo-info {
        pointer-events: none;
        z-index: -2;
        font-size: 16px;
    }

    .salon-master__photo-info::after {
        display: none;
    }

    .salon-master__photo:hover .salon-master__photo-img,
    .salon-master__photo:hover .salon-master__photo-info {
        z-index: 2;
    }

    .salon-master__photo::after {
        content: '';
        flex: 1 0 auto;
        position: relative;
        display: block;
        height: 4px;
        background: #fff;
        z-index: 10;
        opacity: 0;
        transition: 150ms ease;
    }

    .salon-master__photo:only-child::after {
        display: none;
    }

    .salon-master:hover .salon-master__photo::after {
        opacity: 0.6;
    }

    .salon-master__photos:not(:hover) .salon-master__photo:first-child::after,
    .salon-master__photo:hover::after {
        background: #f53277;
    }

    .salon-master:hover .salon-master__photos:not(:hover) .salon-master__photo:first-child::after,
    .salon-master:hover .salon-master__photo:hover::after {
        opacity: 1;
    }
}

.testimonials-rest {
    position: relative;
    height: 140px;
    overflow: hidden;
}

@media screen and (min-width: 468px) {
    .testimonials-rest {
        height: 100px;
    }
}

.testimonials-rest::before {
    content: '';
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    background: linear-gradient(0deg, rgba(255, 255, 255, 1) 20px, rgba(255, 255, 255, 0));
    z-index: 2;
}

.testimonials-rest--active {
    height: auto;
}

.testimonials-rest--active::before {
    display: none;
}

.testimonials-rest__button {
    position: absolute;
    font-family: inherit;
    text-decoration: underline;
    background: none;
    border: 0;
    outline: 0;
    cursor: pointer;
    display: flex;
    align-items: center;
    justify-content: center;
    width: 100%;
    bottom: 16px;
    left: 0;
    z-index: 3;
}

.cabinet-navigation {
    display: none;
    padding: 10px 0 0;
}
.cabinet-navigation--loaded {
    display: block;
}
.cabinet-navigation__header {
    display: flex;
    align-items: center;
    font-size: 16px;
    line-height: 20px;
    padding: 0 0 15px;
}
.cabinet-navigation__header p {
    padding: 0;
}
.cabinet-navigation__title {
    margin-right: 15px;
}
.cabinet-navigation__add {
    color: #00f;
    text-decoration: none;
    border-bottom: 1px solid currentColor;
}
.cabinet-navigation__add:hover {
    border-bottom: none;
    margin-bottom: 1px;
}
.profile-filters {
    display: flex;
    overflow: auto;
    padding: 0 0 10px;
    margin: 0 0 10px;
}
.profile-filter {
    border: 2px solid #7c77cb;
    color: #fff;
    background: #7c77cb;
    font-family: inherit;
    font-size: 16px;
    line-height: 20px;
    padding: 5px 10px;
    margin: 0 10px 0 0;
    cursor: pointer;
    white-space: nowrap;
    outline: 0;
}
.profile-filter:last-child {
    margin-right: 0;
}
.profile-filter--selected {
    color: #7c77cb;
}
.profile-filter--active {
    background: #27AE60;
    border-color: #27AE60;
}
.profile-filter--active.profile-filter--selected {
    color: #27AE60;
}
.profile-filter--vip {
    background: #ffb302;
    border-color: #ffb302;
}
.profile-filter--vip.profile-filter--selected {
    color: #ffb302;
}
.profile-filter--special {
    background: #c38800;
    border-color: #c38800;
}
.profile-filter--special.profile-filter--selected {
    color: #c38800;
}
.profile-filter--not-vip {
    background: #F2994A;
    border-color: #F2994A;
}
.profile-filter--not-vip.profile-filter--selected {
    color: #F2994A;
}
.profile-filter--pending {
    background: #9A9400;
    border-color: #9A9400;
}
.profile-filter--pending.profile-filter--selected {
    color: #9A9400;
}
.profile-filter--declined {
    background: #e74c3c;
    border-color: #e74c3c;
}
.profile-filter--declined.profile-filter--selected {
    color: #e74c3c;
}
.profile-filter--hidden {
    background: #F2994A;
    border-color: #F2994A;
}
.profile-filter--hidden.profile-filter--selected {
    color: #F2994A;
}
.profile-filter--verified {
    background: #27AE60;
    border-color: #27AE60;
}
.profile-filter--verified.profile-filter--selected {
    color: #27AE60;
}
.profile-filter--not-verified {
    background: #e74c3c;
    border-color: #e74c3c;
}
.profile-filter--not-verified.profile-filter--selected {
    color: #e74c3c;
}
.profile-filter--selected {
    background: transparent;
}
.reset-filters {
    margin: 0 0 10px;
    display: flex;
    align-items: center;
    justify-content: center;
    flex-wrap: wrap;
}
p.reset-filters__title {
    padding: 0;
    margin: 0 5px 5px;
}
.reset-filters__button {
    border: 0;
    outline: 0;
    background: transparent;
    cursor: pointer;
    font-family: inherit;
    border-bottom: 1px dashed currentColor;
    display: inline-block;
    color: #550c8b;
    padding: 0;
    margin: 0 5px 5px;
    font-size: inherit;
    line-height: inherit;
}
.cabinet-navigation__count,
.reset-filters__count,
.reset-filters__total-count {
    font-weight: 500;
}

.video-modal {
    position: fixed;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    margin: 0;
    padding: 0;
    z-index: 10105;
    opacity: 0;
    pointer-events: none;
    visibility: hidden;
    transition: 300ms ease;
    background: #000;
}
.video-modal--active {
    opacity: 1;
    pointer-events: auto;
    visibility: visible;
}
.video-modal__video {
    position: absolute;
    top: 0;
    left: 0;
    bottom: 0;
    right: 0;
    width: 100%;
    height: 100%;
    background: #000;
    display: none;
    z-index: 10105;
}
.video-modal__hide {
    z-index: 10106;
}
.video-modal--active .video-modal__video {
    display: block;
}

.site-statistics {
    text-align: center;
}
p.site-statistics__title {
    padding: 0 0 0.4em;
}
.site-statistics__title {
    color: #000;
    font-weight: 500;
    font-size: 24px;
    line-height: 1.2em;
}
.site-statistics__content {
    display: inline-block;
    text-align: right;
}
p.site-statistics__text {
    padding: 0 0 0.4em;
}
.site-statistics__text {
    font-size: 18px;
    line-height: 1.2em;
}
p.site-statistics__source {
    padding: 0 0 10px;
}
.site-statistics__toggle {
    display: inline-block;
    background: transparent;
    font-family: inherit;
    line-height: 1.2em;
    color: #00f;
    vertical-align: middle;
    padding: 0;
    margin: 0 0 1em;
    font-style: normal;
    border: 0;
    border-bottom: 1px dashed currentColor;
    outline: 0;
    cursor: pointer;
}

.statistics-chart {
    position: relative;
}
.statistics-chart__surface {
    width: 100%;
    height: auto;
    margin: 15px 0 20px;
}
.statistics-chart__surface rect {
    fill: #D7D5F3;
}
.statistics-chart__surface .small-bar {
    fill: #7c77cb;
}

.statistics-chart__surface text {
    font-family: inherit;
    fill: #000;
}
.statistics-chart__label {
    position: absolute;
    left: 0;
    top: 40%;
    padding: 8px 10px;
    border: 2px solid #999;
    background: #fff;
    text-align: left;
    white-space: nowrap;
}
.statistics-chart__label_hidden {
    display: none;
}
.statistics-chart__label-date {
    display: inline-block;
    font-weight: 500;
    padding: 0 0 3px;
}

.tools-main-big-menu {
    margin-top: -30px;
    margin-bottom: 20px;
}

.tools-menu-big-item {
    display: block;
    border: 4px solid #f53277;
    width: 100%;
    height: 0;
    padding: 0 0 100%;
    margin: 10px auto;
    text-align: center;
    text-decoration: none;
    font-size: 24px;
    line-height: 30px;
    box-sizing: border-box;
}
.tools-menu-big-item__icon {
    background-position: center;
    background-size: 60% auto;
    background-repeat: no-repeat;
    width: 100%;
    height: 0;
    padding: 80% 0 0;
}
.tools-menu-big-item__icon--balance {
    background-image: url('../images/tools-menu-big-item__icon--balance.svg');
}
.tools-menu-big-item__icon--log {
    background-image: url('../images/tools-menu-big-item__icon--log.svg');
}
.tools-menu-big-item__icon--moderate {
    background-image: url('../images/tools-menu-big-item__icon--moderate.svg');
}
.tools-menu-big-item__icon--individual {
    background-image: url('../images/tools-menu-big-item__icon--individual.svg');
}
.tools-menu-big-item__icon--vip {
    background-image: url('../images/tools-menu-big-item__icon--vip.svg');
}
.tools-menu-big-item__icon--salon {
    background-image: url('../images/tools-menu-big-item__icon--salon.svg');
}
.tools-menu-big-item__icon--salon-master {
    background-image: url('../images/tools-menu-big-item__icon--salon-master.svg');
}
.tools-menu-big-item__icon--phones {
    background-image: url('../images/tools-menu-big-item__icon--phones.svg');
}
.tools-menu-big-item__icon--users {
    background-image: url('../images/tools-menu-big-item__icon--users.svg');
}

.tools-menu-medium-item {
    border: 4px solid #f53277;
    display: block;
    padding: 1em;
    margin: 0 0 30px;
    font-size: 18px;
    line-height: 24px;
}
.tools-menu-medium-item__counter {
    text-decoration: none;
    color: #fff;
    display: inline-block;
    padding: 2px 8px;
    background: #ff0000;
    border-radius: 20px;
    line-height: 19px;
    font-size: 14px;
    margin: 0 0 0 5px;
    vertical-align: middle;
}
@media screen and (max-width: 500px) {
    .tools-menu-medium-item {
        margin-bottom: 15px;
    }
    .tools-menu-big-item {
        font-size: 18px;
        line-height: 24px;
    }
}

.operations-filter__row {
    display: flex;
    flex-wrap: wrap;
    margin-left: -15px;
    margin-right: -15px;
}

.operations-filter__col {
    box-sizing: border-box;
    position: relative;
    width: 100%;
    padding-right: 15px;
    padding-left: 15px;
}

.operations-filter__col--last {
    align-self: flex-end;
    padding-bottom: 5px;
}

.operations-filter__submit {
    display: inline-block;
    margin-right: 10px;
}

@media (min-width: 768px) {
    .operations-filter__col {
        flex: 0 0 auto;
        width: auto;
        max-width: 100%;
    }
}

.cabinet-alert .expandable-text__content {
    max-height: 72px; /* 24px * 3 */
}

.cabinet-alert .expandable-text__expand {
    margin-bottom: 0;
}

.telegram-banner {
    display: flex;
    padding: 0.75rem;
    margin-bottom: 0.75rem;
    border: 2px solid #20A0E1;
    line-height: 1.5rem;
    align-items: center;
    text-decoration: none;
}
.telegram-banner__icon {
    display: block;
    width: 21px;
    height: 21px;
    background-position: 50%;
    background-size: 100% auto;
    background-repeat: no-repeat;
    flex-shrink: 0;
    background-image: url('../images/master__contact-icon--telegram.svg');
    margin-right: 10px;
}

.master__favorite,
.girl__favorite {
    margin: 0 0 15px;
}
.master__favorite {
    grid-column-end: span 2;
}
.girl__favorite {
    grid-row: 2;
    grid-column-end: span 2;
}

@media (min-width: 768px) {
    .master__favorite {
        grid-row: 3;
        grid-column: 1 / span 3;
    }
    .girl__favorite {
        grid-row: 3;
        grid-column: 1 / span 3;
    }
}

.help-contacts {
    border: 2px solid #ccc;
    border-radius: 7px;
    padding: 15px;
}
.help-contacts__title {
    color: #000;
    font-weight: 500;
    font-size: 27px;
    line-height: 30px;
    padding: 0 0 5px;
}
.help-contacts__subtitle {
    color: #000;
    font-size: 18px;
    line-height: 24px;
    display: flex;
    flex-direction: column;
}

.help-contact {
    display: flex;
    background: #eee;
    border-radius: 5px;
    align-items: center;
    justify-content: center;
    height: 60px;
    margin: 15px 0 0;
    text-decoration: none;
}
.help-contact__contact-icon {
    font-size: 30px;
    height: 1em;
    width: 1em;
    display: block;
}
.help-contact__label {
    display: flex;
    align-items: center;
    justify-content: center;
    flex-direction: column;
    padding-left: 10px;
}
.help-contact__big-label {
    text-decoration: underline;
    font-size: 18px;
    line-height: 24px;
}
.help-contact__small-label {
    font-size: 12px;
    line-height: 18px;
}

.favorites-categories {
    display: flex;
    margin: 5px -5px 0;
    flex-wrap: wrap;
    align-items: flex-start;
    justify-content: flex-start;
}
.favorites-categories__item {
    padding: 3px 14px;
    margin: 5px;
    background: #ebebeb;
    color: #000;
    text-decoration: none;
    border-radius: 5px;
    display: flex;
    align-items: center;
}
.favorites-categories__item--active {
    background: #F53277;
    color: #fff;
}
.favorites-categories__counter {
    display: inline-block;
    background: #000;
    color: #fff;
    padding: 2px 5px;
    font-size: 12px;
    line-height: 14px;
    border-radius: 5px;
    margin-left: 5px;
}
.favorites-categories__item--active .favorites-categories__counter {
    background: #fff;
    color: #000;
}

.city-select-button {
    display: inline-block;
    position: relative;
    font-weight: inherit;
    font-size: inherit;
    line-height: inherit;
    font-family: inherit;
    color: #00f;
    background: transparent;
    cursor: pointer;
    border: 0;
    outline: 0;
    padding: 0;
    margin: 0;
}
.city-select-button::after {
    content: '';
    position: absolute;
    left: 0;
    right: 0;
    bottom: 0;
    border-bottom: 1px dashed #00f;
}

.tg-button {
    display: inline-block;
    font-weight: 400;
    font-size: 18px;
    line-height: 1.25em;
    font-family: inherit;
    cursor: pointer;
    border: 0;
    outline: 0;
    align-items: center;
    padding: 10px 12px 10px 42px;
    margin: 0;
    text-decoration: none;
    background: #20A0E1 url('../images/telegram.svg') 12px 50% / 24px auto no-repeat;
    border-radius: 5px;
    color: #fff;
}

.salon-promo {
    display: block;
    text-decoration: none;
    margin: 10px 0 20px;
    padding: 10px 15px;
    border: 2px solid #eee;
}
.salon-promo__image {
    margin: 5px 0;
    padding: 0 0 100%;
    position: relative;
}
.salon-promo__image img {
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    object-fit: cover;
}
.salon-promo__placeholder {
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    background: #eee url('../images/camera.svg') center center / 30% auto no-repeat;
}
.salon-promo__info {
    padding: 5px 0;
}
.salon-promo__title {
    font-weight: 500;
    font-size: 24px;
    line-height: 28px;
    padding: 5px 0 12px;
    color: #3e3b7c;
}
.salon-promo__description.expandable-text__content {
    max-height: 104px; /* 26px * 4 */
}
.salon-promo__description p {
    padding: 0 0 15px;
}
.salon-promo__expiration {
    background: #eee;
    padding: 5px 20px;
    display: inline-block;
}
.salon-promo__address {
    margin: 10px 0 0;
    padding: 0 0 0 30px;
    font-weight: 500;
    color: #3e3b7c;
    background: url('../images/address.svg') 0 0 / 24px auto no-repeat;
}
.salon-promo__address a {
    color: inherit;
}

.salon-promo__phone {
    margin: 10px -3px 0;
    display: flex;
}
.salon-promo__phone .master__contact-button__wide {
    flex: 0 0 auto;
}

.salon-promo-rest {
    height: 200px;
    margin-bottom: 20px;
}

@media screen and (min-width: 468px) {
    .salon-promo-rest {
        height: 150px;
    }
}

.salon-promo-rest.testimonials-rest--active {
    height: auto;
    margin-bottom: 0;
}

.wp-video {
    max-width: 100%;
}

.wp-video video {
    max-width: 100%;
    height: auto;
}

.individual__video {
    display: flex;
    overflow-x: auto;
    overflow-y: hidden;
    -webkit-overflow-scrolling: touch;
    -ms-scroll-snap-type: x mandatory;
    scroll-snap-type: x mandatory;
    scroll-padding-left: 15px;
    scroll-padding-right: 15px;
    margin: 0 -15px 15px;
    z-index: 5000;
}
.individual__video::after {
    content: '';
    display: block;
    width: 15px;
    height: 1px;
    flex-shrink: 0;
}

.individual__video .video-item {
    width: calc(50% - 25px);
    max-width: 160px;
    flex-shrink: 0;
    padding-left: 10px;
    scroll-snap-align: start;
}
.individual__video .video-item:first-child {
    margin-left: 15px;
    padding-left: 0;
}

.video-item__caption {
    position: absolute;
    z-index: 2;
    background: rgba(0, 0, 0, 0.75);
    display: inline-block;
    top: 5px;
    left: 5px;
    padding: 4px 8px;
    font-size: 15px;
    text-transform: uppercase;
    line-height: 1.2em;
    color: #fff;
}

.video-item__thumbnail {
    background: #000;
    position: relative;
    height: 0;
    padding: 161.67% 0 0;
    cursor: pointer;
}

.video-item__thumbnail img {
    position: absolute;
    display: block;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    object-fit: cover;
}

.video-item__thumbnail::after {
    content: '';
    position: absolute;
    top: 50%;
    left: 50%;
    width: 50px;
    height: 50px;
    background: #000 url('../images/watch-video.svg') center / 100% auto no-repeat;
    display: block;
    border-radius: 100%;
    -webkit-transform: translate(-50%, -50%);
    transform: translate(-50%, -50%);
    opacity: 0.75;
}

.video-item__thumbnail:hover::after {
    opacity: 1;
}

.telegram-register-box {
    border: 2px dashed #ccc;
    padding: 10px 15px;
    margin-bottom: 15px;
}
.telegram-register-box__title {
    font-size: 24px;
    line-height: 30px;
}

.telegram-notifications-alert {
    border: 1px solid #ccc;
    background: #eee;
    padding: 5px;
    font-size: 14px;
    line-height: 17px;
}

@media screen and (min-width: 768px) {
    .telegram-notifications-alert {
        display: none;
    }
}

.notifications-settings-table tr {
    border-bottom: 1px solid #ccc;
}
.notifications-settings-table tr:last-child {
    border-bottom: none;
}
.notifications-settings-table th {
    white-space: nowrap;
    padding: 5px;
    vertical-align: middle;
}
.notifications-settings-table td {
    padding: 0 5px;
    vertical-align: middle;
}
.notifications-settings-table td:first-child {
    padding: 7px 10px 7px 0;
}

.wpstories-feed-container {
    margin-top: 0;
}

.sum-selector {
    position: relative;
    font-weight: 400;
    font-size: 16px;
    line-height: 24px;
    font-family: inherit;
    z-index: 2;
}

.sum-selector__value {
    height: 40px;
    width: 100%;
    outline: 0;
    border: 1px solid #ccc;
    padding: 10px 15px;
    box-sizing: border-box;
    margin: 0 0 10px;
    display: flex;
    align-items: center;
    justify-content: space-between;
    cursor: pointer;
    background: #fff;
}

.sum-selector__button {
    width: 16px;
    height: 16px;
    background: url('../images/arrows/down.svg') 50% / 16px auto no-repeat;
}

.sum-selector--active .sum-selector__button {
    transform: rotate(180deg);
}

.sum-selector__dropdown {
    position: absolute;
    left: 0;
    top: 100%;
    width: 100%;
    margin-top: 5px;
    box-shadow: 0 3px 5px rgba(0, 0, 0, 0.13);
    border: 1px solid #ccc;
    padding: 5px 10px;
    background: #fff;
    box-sizing: border-box;
    display: none;
}

.sum-selector--active .sum-selector__dropdown {
    display: block;
}

.sum-selector__item {
    height: 40px;
    width: 100%;
    outline: 0;
    border-bottom: 1px solid #ccc;
    padding: 10px 5px;
    box-sizing: border-box;
    display: flex;
    align-items: center;
    justify-content: space-between;
    cursor: pointer;
}

.sum-selector__after {
    color: #27AE60;
}

.sum-selector__item:hover > * {
    opacity: 0.6;
}

.sum-selector__item:last-of-type {
    border-bottom: 0;
}

.sum-selector__item:last-of-type .sum-selector__after {
    font-weight: 500;
}

.payment-title {
    display: flex;
    align-items: center;
    padding: 0 0 5px;
}

.payment-title h3 {
    padding-bottom: 0;
}

.payment-title__description {
    font-size: 12px;
    line-height: 14px;
    padding: 2px 0 0 6px;
}

.payment-title__after {
    flex: 1 0 auto;
    display: flex;
    justify-content: end;
}

.go-to-payment {
    max-width: 400px;
    margin: 40px auto;
    border: 2px solid #ccc;
    border-radius: 7px;
    padding: 20px 15px;
    text-align: center;
}

.go-to-payment__icon {
    width: 3em;
    height: 3em;
    border-radius: 100%;
    background: #eee;
    display: flex;
    align-items: center;
    justify-content: center;
    margin: 0 auto 0.5em;
}

.go-to-payment__title {
    font-size: 1.5em;
    font-weight: 500;
    line-height: 1.25em;
    padding: 0 0 0.1em;
}

.go-to-payment__subtitle {
    font-size: 0.875em;
    color: #6b7280;
    line-height: 1.25em;
}

.go-to-payment__btn {
    width: 100%;
    border-radius: 5px;
    background: #27AE60 !important;
    margin: 1em 0;
    padding: 1em 1.5em !important;
}

.go-to-payment__btn-icon {
    margin-left: 0.5em;
}

.go-to-payment__footer {
    font-size: 0.875em;
    line-height: 1.25em;
}

.go-to-payment__footer a {
    font-weight: 500;
}

.go-to-payment__back {
    margin-top: 1em;
}
