/*-- RESET --*/

input {
    -webkit-appearance: none;
    -moz-appearance: none;
    appearance: none;
}
textarea, input, button {
    font-family: inherit;
}
html, body, div, span, applet, object, iframe, h1, h2, h3, h4, h5, h6, p, blockquote, pre, a, abbr, acronym, address, big, cite, code, del, dfn, em, img, ins, kbd, q, s, samp, small, strike, strong, sub, sup, tt, var, b, u, i, center, dl, dt, dd, ol, ul, li, fieldset, form, label, legend, table, caption, tbody, tfoot, thead, tr, th, td, article, aside, canvas, details, embed, figure, figcaption, footer, header, hgroup, menu, nav, output, ruby, section, summary, time, mark, audio, video {
    border: 0 none;
    font: inherit;
    margin: 0;
    padding: 0;
    vertical-align: baseline;
}
article, aside, details, figcaption, figure, footer, header, hgroup, menu, nav, section {
    display: block;
}
html {
	height: 100%;
}
body {
	font-family: 'TikTok Sans', sans-serif;
    font-variant-numeric: lining-nums;
    margin: 0;
	height: 100%;
	width: 100%;
}
a {
	color: #0086d5;
}
a:hover {
	text-decoration: none;
}
ol, ul {
    list-style: outside none none;
}
blockquote, q {
    quotes: none;
}
blockquote::before, blockquote::after, q::before, q::after {
    content: none;
}
table {
    border-collapse: collapse;
    border-spacing: 0;
}
strong, b {
    font-weight: 500;
}
img {
	max-width: 100%;
}
*,
*:before,
*:after {
  -webkit-box-sizing: border-box;
  -moz-box-sizing: border-box;
  box-sizing: border-box; }
img {
	max-width: 100%;
}
button input {
	display: none !important;
}
form *:focus {
    outline: none;
}

/*-- GENERAL --*/

body {
	background-color: #f1f0ef;
	background-position: top center;
	background-repeat: no-repeat;
    color: #333;
    height: auto;
    position: relative;
}
.wrapper {
    overflow: clip;
    position: relative;
}
.container {
    display: block;
    margin: 0 auto;
    max-width: 1400px;
    padding: 0 20px;
    position: relative;
    width: 100%;
}
.container__small {
    max-width: 1170px;
}

.btn {
    background: #333;
    border: none;
    border-radius: 24px;
    cursor: pointer;
    display: -webkit-box;
    display: -webkit-flex;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-pack: center;
    -webkit-justify-content: center;
    -ms-flex-pack: center;
    justify-content: center;
    -webkit-box-align: center;
    -webkit-align-items: center;
    -ms-flex-align: center;
    align-items: center;
    padding: 0 24px;
    font-weight: 500;
    font-size: 24px;
    line-height: 130%;
    letter-spacing: -0.01em;
    color: #fff;
    text-decoration: none;
    height: 80px;
    transition: 0.25s;
}
.btn:hover {
    background: #525252;
}
.btn:active {
    background: #464646;
}
.btn_white {
    background: #fff;
    color: #333;
}
.btn_white:hover {
    background: #f5f5f5;
}
.btn_white:active {
    background: #15654a;
    color: #fff;
}

.btn_small {
    border-radius: 42px;
    font-size: 18px;
    padding: 0 20px;
    height: 62px;
}

.btn_grey {
    background: #f5f5f5;
    color: #333;
    font-weight: 500;
    font-size: 18px;
    line-height: 120%;
    letter-spacing: -0.02em;
    height: 50px;
}
.btn_grey:hover {
    background: #e1e1e1;
}
.btn_grey:active {
    background: #d9d9d9;
}

.btn_icon {
    font-size: 0;
    margin-right: 14px;
}
.btn_icon > * {
    display: inline-block;
    vertical-align: middle;
}
.btn_txt + .btn_icon {
    margin: 0 0 0 14px;
}

.btn_readmore {
    background: #333;
    border-radius: 50%;
    display: -webkit-box;
    display: -webkit-flex;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-pack: center;
    -webkit-justify-content: center;
    -ms-flex-pack: center;
    justify-content: center;
    -webkit-box-align: center;
    -webkit-align-items: center;
    -ms-flex-align: center;
    align-items: center;
    font-size: 0;
    height: 50px;
    width: 50px;
    transition: 0.25s;
}
.btn_readmore > * {
    pointer-events: none;
}
.btn_readmore:hover {
    opacity: 0.7;
}

.title_page {
    font-weight: 500;
    font-size: 72px;
    line-height: 100%;
    letter-spacing: -0.01em;
}
.main_big_title {
    font-weight: 500;
    font-size: 100px;
    line-height: 100%;
    letter-spacing: -0.01em;
}
.title_bk {
    font-weight: 500;
    font-size: 72px;
    line-height: 100%;
    letter-spacing: -0.01em;
    text-align: center;
}
.title_bk--white {
    color: #fff;
}
.subtitle_bk {
    font-weight: 400;
    font-size: 18px;
    line-height: 140%;
    letter-spacing: -0.01em;
    text-align: center;
}

#loader {
    background: #f1f0ef;
    position: fixed;
    left: 0;
    right: 0;
    top: 0;
    text-align: center;
    height: 100vh;
    height: 100dvh;
    width: 100%;
    z-index: 1000;
    font-size: 0;
}
#loader img {
    position: absolute;
    left: calc(50% - 20px);
    top: calc(50% - 22px);
    animation: rotate 3s linear infinite;
}

/*-- BREADCRUMBS --*/

.breadcrumbs {
    position: absolute;
    left: 0;
    right: 0;
    top: 65px;
    width: 100%;
    z-index: 3;
}
.breadcrumbs_inside {
    padding-left: 22px;
    position: relative;
    gap: 8px;
    font-weight: 400;
    font-size: 18px;
    line-height: 140%;
    letter-spacing: -0.01em;
    color: #6a6a6a;
    text-decoration: none;
    text-transform: lowercase;
    transition: 0.25s
}
.breadcrumbs_inside:before {
    background-image: url(../img/icon_breadcrumbs_arr.svg);
    background-repeat: no-repeat;
    background-position: center;
    content: '';
    position: absolute;
    left: 0;
    top: 6px;
    height: 18px;
    width: 18px;
}
.breadcrumbs a {
    font-weight: 400;
    font-size: 18px;
    line-height: 140%;
    letter-spacing: -0.01em;
    color: #6a6a6a;
    text-decoration: none;
    transition: 0.25s;
}
.breadcrumbs a:hover {
    opacity: 0.7;
}

/*-- HEADER --*/

.header {
    position: fixed;
    left: 0;
    right: 0;
    bottom: 16px;
    z-index: 100;
}
.header_inside {
    gap: 8px;
    transition: 0.25s;
}
.header_inside.hidden {
    opacity: 0;
    visibility: hidden;
}
.header_menu {
    background: rgba(255, 255, 255, 0.8);
    backdrop-filter: blur(10px);
    border-radius: 42px;
    box-shadow: 0 0 15px rgba(0,0,0,0.05);
    padding: 8px;
    overflow: hidden;
}
.header_menu ul li a {
    color: inherit;
    display: block;
    border-radius: 24px;
    padding: 13px 16px;
    font-weight: 500;
    font-size: 18px;
    line-height: 120%;
    letter-spacing: -0.02em;
    text-decoration: none;
    transition: 0.25s;
}
.header_menu ul li.current-menu-item a,
.header_menu ul li a:hover {
    background: #fff;
}
.header_btn .btn {
    border: 1px solid rgb(243, 242, 241, 0.15);
    box-shadow: 0 0 15px rgba(0,0,0,0.05);
}

/*-- MAIN --*/

.bg_white {
    background: #fff;
}
.main {
    padding-top: 115px;
}
.bg_white .main {
    padding-top: 320px;
}
.bg_white .main_general {
    background: #f1f0ef;
    border-radius: 42px;
    padding: 32px 0;
    margin-top: 32px;
}
.bg_white .archive_tags {
    margin-top: 0;
}
.main_general {
    position: relative;
}
.main_general:before {
    background: rgba(255,255,255,0.5);
    content: '';
    position: absolute;
    top: -20px;
    left: -20px;
    height: calc(100% + 40px);
    width: calc(100% + 40px);
    z-index: 2;
    visibility: hidden;
    opacity: 0;
    transition: 0.25s;
}
.main_general:after {
    background-image: url(../img/icon_loader.svg);
    background-repeat: no-repeat;
    background-position: center;
    background-size: contain;
    content: '';
    position: absolute;
    left: 0;
    right: 0;
    top: calc(50% - 32px);
    margin: 0 auto;
    height: 64px;
    width: 64px;
    animation: rotate 3s linear infinite;
    z-index: 3;
    visibility: hidden;
    opacity: 0;
    transition: 0.25s;
}
.main_general.loading:before {
    visibility: visible;
    opacity: 1;
}
.main_general.loading:after {
    visibility: visible;
    opacity: 1;
}

/*-- DOCUMENTS --*/

.documents_lists {
    margin-top: 48px;
}
.documents_list {
    margin-bottom: 48px;
}
.documents_list:last-child {
    margin-bottom: 0;
}
.documents_list_title {
    font-weight: 500;
    font-size: 32px;
    line-height: 130%;
    letter-spacing: -0.02em;
}
.documents_list_items {
    margin-top: 24px;
}
.documents_list_item {
    margin-bottom: 10px;
}
.documents_list_item:last-child {
    margin-bottom: 0;
}
.documents_list_item a {
    background: #fff;
    border-radius: 42px;
    display: block;
    color: inherit;
    font-weight: 500;
    font-size: 24px;
    line-height: 130%;
    letter-spacing: -0.01em;
    text-decoration: none;
    padding: 33px 32px 31px;
    transition: 0.25s;
}
.documents_list_item a:hover {
    opacity: 0.7;
}

/*-- ARCHIVE --*/

.main_head_left {
    width: calc(100% - 320px);
}
.main_head_right {
    padding-left: 20px;
    width: 320px;
}
.archive_other {
    background-image: url(../img/bg_archive_other.png);
    background-repeat: no-repeat;
    background-position: right top;
}
.archive_tags {
    margin-top: 32px;
    gap: 12px;
}
.archive_tag a {
    background: #fff;
    border-radius: 24px;
    display: block;
    color: inherit;
    padding: 14px;
    font-weight: 500;
    font-size: 18px;
    line-height: 120%;
    letter-spacing: -0.02em;
    text-decoration: none;
    transition: 0.25s;
}
.archive_tag.active a {
    background: #15654a;
    color: #fff;
}
.archive_tag__hidden {
    display: none;
}
.archive_loadmore {
    margin-top: 48px;
}

.archive_search {
    position: relative;
}
.archive_search_form input {
    background: #fff;
    border: none;
    border-radius: 24px;
    color: inherit;
    display: block;
    font-weight: 400;
    font-size: 18px;
    line-height: 140%;
    letter-spacing: -0.01em;
    height: 50px;
    padding: 0;
    width: 0px;
    margin-left: calc(100% - 25px);
    transition: 0.25s;
}
.archive_search_form input::-webkit-input-placeholder {
    color: rgba(51, 51, 51, 0.3);
}
.archive_search_form input::-moz-placeholder {
    color: rgba(51, 51, 51, 0.3);
}
.archive_search_form input:-ms-input-placeholder {
    color: rgba(51, 51, 51, 0.3);
}
.archive_search_form input:-moz-placeholder {
    color: rgba(51, 51, 51, 0.3);
}
.archive_search.active input {
    padding: 0 55px 0 14px;
    margin-left: 0;
    width: 100%;
}
.archive_search_action {
    background: #fff;
    border-radius: 50%;
    cursor: pointer;
    display: -webkit-box;
    display: -webkit-flex;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-align: center;
    -webkit-align-items: center;
    -ms-flex-align: center;
    align-items: center;
    -webkit-box-pack: center;
    -webkit-justify-content: center;
    -ms-flex-pack: center;
    justify-content: center;
    font-size: 0;
    position: absolute;
    right: 0;
    top: 0;
    height: 50px;
    width: 50px;
    transition: 0.25s;
}
.archive_search_action > * {
    pointer-events: none;
    transition: 0.25s;
}
.archive_search_action:hover > * {
    opacity: 0.7;
}
.archive_search_action__close {
    opacity: 0;
    visibility: hidden;;
}
.archive_search.active .archive_search_action__close {
    opacity: 1;
    visibility: visible;
}
.archive_search.active .archive_search_action__open {
    opacity: 0;
    visibility: hidden;
}

/*-- ARCHIVE MAIN --*/

.archive_items {
    margin-top: 48px;
}
.archive_item {
    background: #fff;
    border-radius: 42px;
    overflow: hidden;
    color: inherit;
    text-decoration: none;
    gap: 3px;
    height: 100%;
    transition: 0.25s;
}
.archive_item:hover {
    background: #f5f5f5;
}
.archive_item_top {
    padding: 32px 32px 0;
}
.archive_item_title {
    font-weight: 500;
    font-size: 24px;
    line-height: 130%;
    letter-spacing: -0.01em;
    min-height: 62px;
}
.archive_item_title a {
    color: inherit;
    text-decoration: none;
    transition: 0.25s;
}
.archive_item_title a:hover {
    opacity: 0.7;
}
.archive_item_metas {
    font-weight: 400;
    font-size: 18px;
    line-height: 140%;
    letter-spacing: -0.01em;
    color: #6a6a6a;
    gap: 12px;
    margin-top: 24px;
}
.archive_item_meta {
    padding-right: 30px;
    position: relative;
}
.archive_item_meta:after {
    background-image: url(../img/icon_archive_meta_sep.svg);
    background-repeat: no-repeat;
    background-position: center;
    content: '';
    position: absolute;
    right: 0;
    top: 50%;
    transform: translateY(-50%);
    height: 18px;
    width: 18px;
}
.archive_item_meta:last-child {
    padding-right: 0;
}
.archive_item_meta:last-child:after {
    display: none;
}
.archive_item_image {
    font-size: 0;
    text-align: right;
}

/*-- ARCHIVE SERVICES --*/

.services_archive_item {
    background: #fff;
    border-radius: 42px;
    padding: 32px;
    min-height: 340px;
    height: 100%;
}
.services_archive_item_title {
    font-weight: 500;
    font-size: 32px;
    line-height: 130%;
    letter-spacing: -0.01em;
}
.services_archive_item_title a {
    color: inherit;
    text-decoration: none;
    transition: 0.25s;
}
.services_archive_item_title a:hover {
    opacity: 0.7;
}
.services_archive_item_description {
    font-weight: 400;
    font-size: 18px;
    line-height: 140%;
    letter-spacing: -0.01em;
    color: #6a6a6a;
    margin-top: 12px;
}
.services_archive_item_bottom {
    margin-top: 20px;
}
.services_archive_item_price {
    font-weight: 500;
    font-size: 18px;
    line-height: 120%;
    letter-spacing: -0.02em;
}
.services_summary {
    margin: 72px auto 0;
    max-width: 980px;
}
.services_summary_head {
    gap: 24px;
    margin-bottom: 24px;
    align-items: flex-start;
}
.services_summary_title {
    font-weight: 500;
    font-size: 28px;
    line-height: 130%;
}
.services_summary_controls {
    gap: 12px;
    flex-wrap: wrap;
}
.services_summary_control {
    display: flex;
    align-items: flex-start;
    flex-direction: column;
    gap: 8px;
    font-size: 16px;
    line-height: 120%;
}
.services_summary_control span {
    color: #6a6a6a;
}
.services_summary_control select,
.services_summary_multiselect_btn {
    height: 42px;
    border: 1px solid #d8d8d2;
    border-radius: 21px;
    background: #fff;
    color: #333;
    font: inherit;
    padding: 0 36px 0 16px;
    outline: none;
    min-width: 172px;
}
.services_summary_multiselect {
    position: relative;
}
.services_summary_multiselect_btn {
    cursor: pointer;
    min-width: 220px;
    overflow: hidden;
    text-align: left;
    text-overflow: ellipsis;
    white-space: nowrap;
}
.services_summary_multiselect_panel {
    display: none;
    position: absolute;
    top: calc(100% + 8px);
    left: 0;
    z-index: 12;
    background: #fff;
    border: 1px solid #d8d8d2;
    border-radius: 18px;
    box-shadow: 0 18px 40px rgba(0, 0, 0, 0.08);
    max-height: 280px;
    min-width: 270px;
    overflow: auto;
    padding: 10px;
}
.services_summary_multiselect.open .services_summary_multiselect_panel {
    display: block;
}
.services_summary_multiselect_panel label {
    align-items: center;
    cursor: pointer;
    display: flex;
    gap: 8px;
    padding: 8px;
}
.services_summary_multiselect_panel input {
    flex: 0 0 auto;
}
.services_summary_multiselect_panel span {
    color: #333;
}
.services_summary_table_outer {
    background: #fff;
    border-radius: 24px;
    overflow: hidden;
}
.services_summary_table {
    width: 100%;
    border-collapse: collapse;
}
.services_summary_table th,
.services_summary_table td {
    padding: 14px 18px;
    text-align: left;
    vertical-align: top;
    border-bottom: 1px solid #ededeb;
}
.services_summary_table th {
    font-weight: 400;
    font-size: 16px;
    line-height: 120%;
    color: #6a6a6a;
}
.services_summary_table td {
    font-weight: 400;
    font-size: 16px;
    line-height: 140%;
}
.services_summary_table tbody tr:last-child td {
    border-bottom: 0;
}
.services_summary_table a {
    color: inherit;
    text-decoration: none;
    transition: 0.25s;
}
.services_summary_table a:hover {
    opacity: 0.7;
}
.services_summary_table td:first-child {
    font-weight: 500;
}
.services_summary_doctors {
    display: flex;
    flex-direction: column;
    gap: 6px;
}
.services_summary_more {
    white-space: nowrap;
}
.services_summary_empty {
    display: none;
    padding: 24px;
    font-size: 18px;
    line-height: 140%;
    color: #6a6a6a;
}

/*-- ARCHIVE PRACTICES --*/

.archive_practices {
    background-image: url(../img/bg_archive_practices.png);
    background-repeat: no-repeat;
    background-position: right top;
}
.practices_archive_item {
    background: #fff;
    border-radius: 42px;
    padding: 32px;
    position: relative;
    overflow: hidden;
    min-height: 390px;
    height: 100%;
}
.practices_archive_item_top {
    position: relative;
    z-index: 2;
    max-width: 416px;
}
.practices_archive_item_bottom  {
    position: relative;
    z-index: 2;
}
.practices_archive_item_image {
    font-size: 0;
    position: absolute;
    right: 0;
    bottom: 0;
}

/*-- ARCHIVE DOCTORS --*/

.archive_doctors .archive_items {
    margin-top: 20px;
}
.row.row_doctors_archive_items {
    margin: 0 -8.5px -60px;
}
.row.row_doctors_archive_items .col {
    padding: 0 8.5px;
    margin-bottom: 60px;
}
.doctors_archive_item_image {
    background: #e0e0da;
    border-radius: 42px;
    overflow: hidden;
    height: 325px;
}
.doctors_archive_item_image a {
    display: block;
    height: 100%;
    width: 100%;
}
.doctors_archive_item_image picture {
    display: block;
    height: 100%;
    width: 100%;
}
.doctors_archive_item_image img {
    display: block;
    height: 100%;
    object-fit: contain;
    object-position: center bottom;
	max-height: 100%;
    transition: 0.25s;
    width: 100%;
}
.doctors_archive_item_image a:hover img {
    transform: scale(1.025);
}
.doctors_archive_item_title {
    font-weight: 500;
    font-size: 24px;
    line-height: 130%;
    letter-spacing: -0.01em;
    margin-top: 16px;
}
.doctors_archive_item_title a {
    color: inherit;
    text-decoration: none;
    transition: 0.25s;
}
.doctors_archive_item_title a:hover {
    opacity: 0.7;
}
.doctors_archive_item_workposition {
    font-weight: 400;
    font-size: 18px;
    line-height: 140%;
    letter-spacing: -0.01em;
    color: #6a6a6a;
    margin-top: 4px;
}

/*-- ARCHIVE 404 AND NOT FOUND --*/

.archive_404_inside {
    padding: 88px 0;
    text-align: center;
}
.archive_404_image {
    font-size: 0;
}
.archive_404_title {
    font-weight: 500;
    font-size: 24px;
    line-height: 130%;
    letter-spacing: -0.01em;
    margin-top: 24px;
}

.archive_not_found {
    padding: 64px 0;
    text-align: center;
}
.archive_not_found_image {
    font-size: 0;
}
.archive_not_found_title {
    font-weight: 500;
    font-size: 24px;
    line-height: 130%;
    letter-spacing: -0.01em;
    margin-top: 24px;
}
.archive_not_found_desc {
    font-weight: 400;
    font-size: 18px;
    line-height: 140%;
    letter-spacing: -0.01em;
    margin-top: 16px;
}

/*-- SINGLE --*/

/*-- SINGLE POST --*/

.single_post_head {
    background: #fff;
    border-radius: 42px;
    padding: 32px 42px;
}
.single_post_title {
    font-weight: 500;
    font-size: 42px;
    line-height: 110%;
    letter-spacing: -0.01em;
}
.single_post_metas {
    margin-top: 20px;
}
.single_post_cols {
    margin-top: 32px;
}
.single_post_col_left {
    width: calc(100% - 490px);
}
.single_post_col_right {
    padding-left: 24px;
    width: 490px;
}
.single_post_content {
    background: #fff;
    border-radius: 42px;
    padding: 32px 42px;
    font-weight: 400;
    font-size: 18px;
    line-height: 140%;
}
.single_post_content img {
    border-radius: 32px;
    vertical-align: top;
}
.single_post_content > * {
    margin-bottom: 16px;
}
.single_post_content > *:last-child {
    margin-bottom: 0;
}
.single_post_content h2 {
    font-weight: 500;
    font-size: 28px;
    line-height: 130%;
}
.single_post_content h3 {
    font-weight: 500;
    font-size: 24px;
    line-height: 130%;
}
.single_post_content h4 {
    font-weight: 500;
    font-size: 22px;
    line-height: 130%;
}
.single_post_content h5 {
    font-weight: 500;
    font-size: 20px;
    line-height: 130%;
}
.single_post_content h6 {
    font-weight: 500;
    font-size: 19px;
    line-height: 130%;
}
.single_post_sidebar {
    background: #fff;
    border-radius: 42px;
    position: sticky;
    top: 32px;
    padding: 32px;
}
.single_subscribe_title {
    font-weight: 500;
    font-size: 24px;
    line-height: 130%;
    letter-spacing: -0.01em;
}
.single_subscribe_content {
    font-weight: 400;
    font-size: 18px;
    line-height: 140%;
    letter-spacing: -0.01em;
    color: #6a6a6a;
    margin-top: 16px;
}
.single_subscribe_btn {
    max-width: 212px;
    margin-top: 32px;
}

/*-- SINGLE DOCTOR --*/

.single_doctor {
    padding-top: 0;
    margin-top: 0;
}
.single_doctor_head {
    background-color: #e0e0da;
    background-image: url(../img/bg_doctor.jpg);
    background-repeat: no-repeat;
    background-position: center bottom;
    position: relative;
    height: 750px;
    overflow: hidden;
}
.single_doctor_head .container,
.doctor_head_inside {
    height: 100%;
}
.doctor_head_inside {
    position: relative;
    z-index: 2;
}
.doctor_head_left {
    max-width: 450px;
    width: 100%;
}
.doctor_head_title {
    font-weight: 500;
    font-size: 72px;
    line-height: 100%;
    letter-spacing: -0.01em;
}
.doctor_head_right {
    max-width: 425px;
    width: 100%;
}
.doctor_head_tags {
    gap: 12px;
    width: 100%;
}
.doctor_head_tag {
    background: #f1f0ef;
    border-radius: 32px;
    font-weight: 500;
    font-size: 24px;
    line-height: 130%;
    letter-spacing: -0.01em;
    padding: 32px;
    text-align: center;
    min-width: 168px;
}
.doctor_head_image {
    font-size: 0;
    position: absolute;
    bottom: 0;
    left: 0;
    right: 0;
    text-align: center;
    z-index: 1;
}
.doctor_head_image {
    max-width: 600px;
    margin: 0 auto;
}
.single_doctor_cols {
    margin-top: 80px;
}
.single_doctor_col_left {
    width: 630px;
}
.single_doctor_services_title {
    font-weight: 500;
    font-size: 32px;
    line-height: 130%;
    letter-spacing: -0.02em;
}
.single_doctor_services {
    margin-top: 24px;
}
.single_doctor_service {
    background: #fff;
    border-radius: 42px;
    margin-bottom: 10px;
    padding: 32px;
    width: 100%;
}
a.single_doctor_service {
	color: inherit;
	text-decoration: none;
	transition: 0.25s;
}
a.single_doctor_service:hover {
	opacity: 0.7;
}
.single_doctor_service:last-child {
    margin-bottom: 0;
}
.single_doctor_service_title {
    font-weight: 500;
    font-size: 24px;
    line-height: 130%;
    letter-spacing: -0.01em;
    margin-right: 20px;
}
.single_doctor_service_price {
    font-weight: 500;
    font-size: 24px;
    line-height: 130%;
    letter-spacing: -0.01em;
    white-space: nowrap;
}
.single_doctor_col_right {
    padding-left: 60px;
    width: calc(100% - 630px);
}
.single_doctor_content {
    font-weight: 400;
    font-size: 18px;
    line-height: 140%;
    letter-spacing: -0.01em;
}
.single_doctor_content > * {
    margin-bottom: 20px;
}
.single_doctor_content > *:last-child {
    margin-bottom: 0;
}
.single_doctor_content h2 {
    font-weight: 500;
    font-size: 36px;
    line-height: 130%;
    letter-spacing: -0.02em;
}
.single_doctor_content h3 {
    font-weight: 500;
    font-size: 32px;
    line-height: 130%;
    letter-spacing: -0.02em;
}
.single_doctor_content h4 {
    font-weight: 500;
    font-size: 28px;
    line-height: 130%;
    letter-spacing: -0.02em;
}
.single_doctor_content h5 {
    font-weight: 500;
    font-size: 24px;
    line-height: 130%;
    letter-spacing: -0.02em;
}
.single_doctor_content h6 {
    font-weight: 500;
    font-size: 20px;
    line-height: 130%;
    letter-spacing: -0.02em;
}

/*-- SINGLE SERVICE AND PRACTICES --*/

.single_cols_layout {
    margin-top: 0;
    padding-top: 0;
}
.single_cols_layout .main_general {
    position: relative;
}
.single_cols_layout .main_general .container {
    position: initial;
}
.single_cols_layout .breadcrumbs {
    top: 0;
    position: relative;
}
.single_cols_layout .breadcrumbs_inside:before {
    background-image: url(../img/icon_breadcrumbs_arr_white.svg);
}
.single_cols_layout .breadcrumbs_inside,
.single_cols_layout .breadcrumbs a {
    color: rgba(255, 255, 255, 0.5);
}
.single_cols {
    margin: 0 -20px;
}
.single_col {
    padding: 0 20px;
    width: 50%;
}
.single_col_left {
    position: sticky;
    top: 0;
    height: 100vh;
    height: 100dvh;
}
.single_col_left:after {
    background: #15654a;
    content: '';
    position: absolute;
    top: 0;
    right: 20px;
    height: 100%;
    width: calc(100vw - 40px);
}
.single_col_left_inside {
    overflow: hidden;
    padding: 60px 40px 80px 0;
    position: relative;
    z-index: 2;
    height: 100%;
}
.single_col_left_top,
.single_col_left_bottom {
    position: relative;
    z-index: 2;
}
.single_col_title {
    font-weight: 500;
    font-size: 42px;
    line-height: 110%;
    letter-spacing: -0.01em;
    color: #fff;
}
.single_col_excerpt {
    font-weight: 400;
    font-size: 18px;
    line-height: 140%;
    letter-spacing: -0.01em;
    color: #f1f0ef;
    margin-top: 16px;
    padding-right: 20px;
}
.single_col_right_inside {
    padding: 60px 20px 60px 0;
}
.single_service_title {
    font-weight: 500;
    font-size: 32px;
    line-height: 130%;
    letter-spacing: -0.02em;
}
.single_service_content {
    font-weight: 400;
    font-size: 18px;
    line-height: 140%;
    letter-spacing: -0.01em;
    margin-top: 16px;
}
.single_service_content > * {
    margin-bottom: 12px;
}
.single_service_content > *:last-child {
    margin-bottom: 0;
}
.single_service_items_outer {
    margin-top: 48px;
    max-width: 604px;
}
.single_service_items {
    margin-top: 32px;
}
.row.row_single_service_items {
    margin: 0 -8px -42px;
}
.row.row_single_service_items .col {
    padding: 0 8px;
    margin-bottom: 42px;
}
.single_service_item_image {
    background: #e0e0da;
    border-radius: 32px;
    overflow: hidden;
    padding-top: 100%;
    position: relative;
    font-size: 0;
}
.single_service_item_image > * {
    position: absolute;
    left: 0;
    top: 0;
}
.single_service_item_image a {
    height: 100%;
    width: 100%;
}
.single_service_item_image img {
    object-fit: cover;
    transition: 0.25s;
}
.single_service_item_image a:hover img {
    transform: scale(1.05);
}
.single_service_item_title {
    font-weight: 500;
    font-size: 24px;
    line-height: 130%;
    letter-spacing: -0.01em;
    margin-top: 14px;
}
.single_service_item_title a {
    color: inherit;
    text-decoration: none;
    transition: 0.25s;
}
.single_service_item_title a:hover {
    opacity: 0.7;
}
.single_service_item_price {
    font-weight: 400;
    font-size: 18px;
    line-height: 140%;
    letter-spacing: -0.01em;
    color: #6a6a6a;
    margin-top: 8px;
}
.single_col_left_image {
    position: absolute;
    top: 0;
    right: -20px;
    z-index: 1;
}

.single_practice .single_col_left:after {
    background: #333;
}
.single_practice .single_col_left_image {
    right: -55px;
}

/*-- FRONTPAGE --*/

/*-- FTBK --*/

.first_bk {
    padding-top: 48px;
    overflow: hidden;
}
.ftbk {
    position: relative;
}
.ftbk_inside {
    background-color: #e0e0da;
    border-radius: 42px;
    background-image: url(../img/bg_ftbk.png);
    background-repeat: no-repeat;
    background-position: right bottom;
    overflow: hidden;
    position: relative;
    left: 0;
    top: 0;
    min-height: 664px;
}
.ftbk_address {
    font-weight: 500;
    font-size: 18px;
    line-height: 120%;
    letter-spacing: -0.02em;
    position: absolute;
    left: 328px;
    top: 118px;
    z-index: 4;
}
.ftbk_address span {
    display: inline-block;
    padding-left: 28px;
    position: relative;
    vertical-align: top;
}
.ftbk_address span:before {
    background-image: url(../img/icon_ftbk_address.svg);
    background-repeat: no-repeat;
    background-position: center;
    content: '';
    position: absolute;
    left: 0;
    top: 50%;
    transform: translateY(-50%);
    height: 20px;
    width: 20px;
}
.ftbk_address a {
    color: inherit;
    text-decoration: none;
    transition: 0.25s;
}
.ftbk_address a:hover {
    opacity: 0.7;
}
.ftbk_logo {
    position: absolute;
    left: 48px;
    top: 213px;
    z-index: 4;
}
.ftbk_logo:before,
.ftbk_logo:after {
    background-image: url(../img/ftbk_arrow.svg);
    background-repeat: no-repeat;
    background-position: center;
    content: '';
    position: absolute;
    height: 103px;
    width: 58px;
}
.ftbk_logo:before {
    transform: rotate(3deg);
    left: 196px;
    top: -90px;
}
.ftbk_logo:after {
    transform: rotate(165deg);
    right: 169px;
    top: calc(100% + 58px);
}
.ftbk_logo_text {
    text-align: right;
    font-weight: 500;
    font-size: 32px;
    line-height: 130%;
    letter-spacing: -0.02em;
    margin-top: 1px;
}
.ftbk_logo_image {
    font-size: 0;
}
.ftbk_doctors {
    position: absolute;
    left: 48px;
    bottom: 48px;
    z-index: 4;
}
.ftbk_doctors_image {
    font-size: 0;
    border-radius: 50%;
    height: 50px;
    overflow: hidden;
    width: 50px;
}
.ftbk_doctors_image picture,
.ftbk_doctors_image img {
    display: block;
    height: 100%;
    width: 100%;
}
.ftbk_doctors_image img {
    object-fit: cover;
}
.ftbk_doctors_count {
    background: #d3d3cc;
    border: 2px solid #e0e0da;
    border-radius: 50%;
    font-weight: 400;
    font-size: 14px;
    line-height: 120%;
    letter-spacing: -0.02em;
    text-align: center;
    margin-left: -14px;
    height: 50px;
    width: 50px;
}
.ftbk_doctors_txt {
    font-weight: 500;
    font-size: 18px;
    line-height: 120%;
    letter-spacing: -0.02em;
    margin-left: 16px;
}
.ftbk_doctors_text_only .ftbk_doctors_txt {
    margin-left: 0;
}
.ftbk_doctors.ftbk_doctors_text_only {
    bottom: 80px;
    left: 160px;
}
.ftbk_image {
    font-size: 0;
    position: absolute;
    bottom: 0;
    right: 33px;
    z-index: 2;
}

/*-- ABOUT --*/

.about {
    margin-top: 150px;
}
.about_inside {
    position: relative;
}
.about_inside:after {
    background-image: url(../img/bg_about.svg);
    content: '';
    position: absolute;
    bottom: -26px;
    right: -46px;
    height: 122px;
    width: 422px;
    z-index: 1;
}
.about_content {
    font-weight: 500;
    font-size: 42px;
    line-height: 110%;
    letter-spacing: -0.01em;
    position: relative;
    z-index: 2;
}
.about_content img {
    vertical-align: bottom;
}
.about_bottom_desc {
    font-weight: 400;
    font-size: 18px;
    line-height: 140%;
    letter-spacing: -0.01em;
    margin-top: 32px;
    position: relative;
    z-index: 2;
}
/*-- CODEX --*/

.codex {
    background: #000;
    margin-top: 150px;
    position: relative;
}
.codex_marquee {
    position: absolute;
    top: 0;
    left: 0;
    right: 0;
    width: 100%;
    height: 100vh;
    height: 100dvh;
    overflow: hidden;
    z-index: 1;
}
.codex_marquee_txt {
    font-weight: 500;
    font-size: 100px;
    line-height: 100%;
    letter-spacing: -0.01em;
    color: #fff;
    white-space: nowrap;
    width: 100%;
}
.codex_marquee_txt span {
    display: inline-block;
    font-weight: 500;
    font-size: 24px;
    line-height: 130%;
    letter-spacing: -0.01em;
    color: #fff;
    margin: 0 20px;
    vertical-align: middle;
}
.codex_steps {
    position: relative;
    z-index: 2;
}
.codex_step {
    height: 100vh;
    height: 100dvh;
}
.codex_card {
    position: relative;
    margin: 0 auto;
    max-width: 440px;
    width: 100%;
}
.codex_card_image {
    border-radius: 42px;
    font-size: 0;
    overflow: hidden;
    height: 440px;
    width: 100%;
}
.codex_card_image img {
    object-fit: cover;
    height: 100%;
    width: 100%;
}
.codex_card_overlay {
    background: #fff;
    border-radius: 32px;
    padding: 24px 32px;
    position: absolute;
    left: 0;
    right: 0;
    bottom: 0;
    margin: 0 auto;
    transform: translateY(50%);
    width: calc(100% - 20px);
}
.codex_card_title {
    font-weight: 500;
    font-size: 24px;
    line-height: 130%;
    letter-spacing: -0.01em;
}
.codex_card_desc {
    margin-top: 8px;
    font-weight: 400;
    font-size: 18px;
    line-height: 140%;
    letter-spacing: -0.01em;
}
.codex_card_icon {
    position: absolute;
    font-size: 0;
    top: -15px;
    right: -15px;
    z-index: 3;
}
.codex_step:nth-child(1) .codex_card_icon {
    top: -35px;
    right: -31px;
    transform: rotate(11.71deg);
}
.codex_step:nth-child(2) .codex_card_icon {
    top: 27px;
    right: auto;
    left: -52px;
    transform: rotate(-5.46deg);
}
.codex_step:nth-child(3) .codex_card_icon {
    top: -39px;
    right: 53px;
    transform: rotate(15deg);
}

/*-- PRACTICES --*/

.practices {
    margin-top: 150px;
}
.practices .subtitle_bk {
    margin-top: 24px;
}
.practices_masonry {
    max-width: 670px;
    margin: 60px auto 0;
}
.practices_item {
    background: #fff;
    border-radius: 42px;
    position: relative;
    overflow: hidden;
    padding: 24px;
    margin-bottom: 20px;
    height: 340px;
    width: calc(50% - 10px);
}
.practices_item_top {
    position: relative;
    z-index: 2;
}
.practices_item_title {
    font-weight: 500;
    font-size: 24px;
    line-height: 130%;
    letter-spacing: -0.01em;
}
.practices_item_btn {
    max-width: 150px;
    margin-top: 20px;
}
.practices_item_btn .btn_icon {
    font-size: 0;
    margin-left: 5px;
}
.practices_item_image {
    position: absolute;
    right: 0;
    bottom: 0;
    font-size: 0;
    z-index: 1;
}
.practices_item__large {
    height: 420px;
}
.practices_item_all {
    width: calc(50% - 20px);
}

/*-- DOCTORS --*/

.doctors {
    margin-top: 150px;
}
.doctors_cols {
    margin: 60px -10px 0;
}
.doctors_col {
    padding: 0 10px;
    width: 50%;
}
.doctors_tabs_info {
    padding-top: 20px;
    height: 100%;
}
.doctors_item {
    background: #e0e0da;
    border-radius: 42px;
    display: none;
    position: relative;
    height: 670px;
}
.doctors_item.active {
    display: block;
}
.doctors_item_image {
    font-size: 0;
    overflow: hidden;
    height: 100%;
    width: 100%;
}
.doctors_item_block {
    background: rgba(255, 255, 255, 0.6);
    backdrop-filter: blur(10px);
    border: 1px solid rgba(255, 255, 255, 0.2);
    border-radius: 32px;
    padding: 24px;
    position: absolute;
}
.doctors_item_block:nth-child(1) {
    top: 32px;
    left: 32px;
    max-width: 218px;
}
.doctors_item_block:nth-child(2) {
    bottom: 32px;
    right: 32px;
    max-width: 256px;
}
.doctors_item_block_title {
    font-weight: 500;
    font-size: 24px;
    line-height: 130%;
    letter-spacing: -0.01em;
}
.doctors_item_block_icon {
    font-size: 0;
}
.doctors_item_block_icon + div {
    margin-top: 10px;
}
.doctors_tabs_title {
    font-weight: 500;
    font-size: 18px;
    line-height: 120%;
    letter-spacing: -0.02em;
    text-align: center;
}
.doctors_tabs {
    gap: 12px;
    max-width: 520px;
}
.doctors_tab {
    background: #fff;
    border-radius: 24px;
    cursor: pointer;
    font-weight: 500;
    font-size: 24px;
    line-height: 130%;
    letter-spacing: -0.01em;
    padding: 20px 24px;
    transition: 0.25s;
}
.doctors_tab:hover,
.doctors_tab.active {
    color: #fff;
    background: #15654a;
}
.doctors_tab.active {
    cursor: default;
}
.doctors_tab__more {
    border-radius: 24px;
    font-weight: 500;
    font-size: 24px;
    line-height: 130%;
    letter-spacing: -0.01em;
    padding: 20px 24px;
}
.doctors_tabs_btn {
    max-width: 240px;
    margin: 0 auto
}
.doctors_tabs_btn__mobile {
    display: none;
}

/*-- SERVICES --*/

.services {
    background: #333;
    padding: 48px 0;
    margin-top: 150px;
}
.services_items {
    margin: 60px auto 0;
    max-width: 670px;
}
.services_item {
    margin-bottom: 36px;
}
.services_item:last-child {
    margin-bottom: 0;
}
.services_item_link {
    border-radius: 32px;
    display: block;
    padding: 24px;
    text-decoration: none;
    transition: 0.25s;
}
.services_item_link:hover {
    background: rgba(255, 255, 255, 0.07);
}
.services_item_title {
    font-weight: 500;
    font-size: 24px;
    line-height: 130%;
    letter-spacing: -0.01em;
    color: #fff;
}
.services_item_desc {
    font-weight: 400;
    font-size: 18px;
    line-height: 140%;
    letter-spacing: -0.01em;
    color: #6a6a6a;
    margin-top: 10px;
}
.services_btn {
    max-width: 670px;
    margin: 60px auto 0;
}

/*-- ARTICLES --*/

.articles {
    margin-top: 150px;
}
.articles .subtitle_bk {
    margin-top: 24px;
}
.articles_items {
    max-width: 670px;
    margin: 60px auto 0;
}
.articles_item {
    margin-bottom: 20px;
}
.articles_item:last-child {
    margin-bottom: 0;
}
.articles_item_link {
    background: #fff;
    border-radius: 42px;
    overflow: hidden;
    padding: 32px 258px 32px 32px;
    position: relative;
    text-decoration: none;
    min-height: 194px;
    transition: 0.25s;
}
.articles_item_link:hover {
    background: #f5f5f5;
}
.articles_item_title {
    font-weight: 500;
    font-size: 24px;
    line-height: 130%;
    letter-spacing: -0.01em;
    color: #333;
}
.articles_item_image {
    position: absolute;
    bottom: 0;
    right: 0;
    font-size: 0;
    width: 240px;
}
.articles_btn {
    margin: 20px auto 0;
    max-width: 670px;
}

/*-- YANDEX REVIEWS --*/

.yandex_reviews {
    margin-bottom: 42px;
}
.yandex_reviews_head {
    gap: 24px;
    margin-bottom: 24px;
}
.yandex_reviews_label {
    color: rgba(0,0,0,0.54);
    font-size: 16px;
    line-height: 1.3;
    margin-bottom: 8px;
}
.yandex_reviews_title {
    color: #000;
    font-size: 32px;
    font-weight: 500;
    line-height: 1.15;
}
.yandex_reviews_carousel {
    overflow: hidden;
}
.yandex_reviews_viewport {
    overflow: visible;
}
.yandex_reviews_track {
    display: flex;
    gap: 18px;
    transform: translate3d(0,0,0);
    transition: transform 0.35s ease;
}
.yandex_review_card {
    background: #fff;
    border: 1px solid rgba(0,0,0,0.08);
    border-radius: 18px;
    box-shadow: 0 18px 42px rgba(0,0,0,0.08);
    flex: 0 0 min(760px, calc(100% - 92px));
    overflow: hidden;
}
.yandex_review_card a {
    display: block;
}
.yandex_review_card img {
    display: block;
    height: auto;
    width: 100%;
}
.yandex_reviews_nav {
    gap: 18px;
    margin-top: 18px;
}
.yandex_reviews_dots {
    display: flex;
    flex-wrap: wrap;
    gap: 8px;
}
.yandex_reviews_dot {
    background: rgba(0,0,0,0.18);
    border: 0;
    border-radius: 999px;
    cursor: pointer;
    height: 8px;
    padding: 0;
    transition: background 0.2s ease, width 0.2s ease;
    width: 8px;
}
.yandex_reviews_dot.active {
    background: #000;
    width: 28px;
}
.yandex_reviews_arrows {
    gap: 8px;
    flex: 0 0 auto;
}
.yandex_reviews_arrow {
    align-items: center;
    background: #000;
    border: 0;
    border-radius: 50%;
    color: #fff;
    cursor: pointer;
    display: flex;
    height: 48px;
    justify-content: center;
    padding: 0;
    transition: opacity 0.2s ease;
    width: 48px;
}
.yandex_reviews_arrow[disabled] {
    cursor: default;
    opacity: 0.34;
}

/*-- MAP --*/

.map_wrapper {
    margin-top: 140px;
}
.map_title {
    font-weight: 500;
    font-size: 32px;
    line-height: 120%;
    letter-spacing: -0.01em;
    color: #000;
    text-align: center;
    margin-bottom: 40px;
}
.map_inside {
    border-radius: 42px;
    overflow: hidden;
    position: relative;
    height: 580px;
}
.map_general {
    filter: grayscale(100%);
    height: 100%;
    width: 100%;
}
.map_general > * {
    height: 100%;
    width: 100%;
}
.lazy_yandex_map {
    background:
        radial-gradient(circle at top left, rgba(255,255,255,0.4), transparent 34%),
        linear-gradient(135deg, #d8e6e0 0%, #eef2ea 48%, #e4ddd2 100%);
    height: 100%;
    overflow: hidden;
    position: relative;
    width: 100%;
}
.lazy_yandex_map::after {
    background:
        linear-gradient(rgba(255,255,255,0.18) 1px, transparent 1px),
        linear-gradient(90deg, rgba(255,255,255,0.18) 1px, transparent 1px);
    background-size: 42px 42px;
    content: '';
    inset: 0;
    position: absolute;
}
.lazy_yandex_map_placeholder {
    align-items: flex-start;
    display: flex;
    flex-direction: column;
    gap: 14px;
    inset: 0;
    justify-content: center;
    margin: auto;
    max-width: 420px;
    padding: 32px;
    position: absolute;
    z-index: 1;
}
.lazy_yandex_map_badge {
    background: rgba(255,255,255,0.8);
    border-radius: 999px;
    font-size: 14px;
    letter-spacing: -0.01em;
    line-height: 1;
    padding: 10px 14px;
}
.lazy_yandex_map_title {
    font-weight: 500;
    font-size: 34px;
    line-height: 1.05;
    letter-spacing: -0.03em;
    max-width: 320px;
}
.lazy_yandex_map_text {
    color: rgba(0,0,0,0.65);
    font-size: 17px;
    line-height: 1.45;
    max-width: 360px;
}
.lazy_yandex_map_button {
    position: relative;
    z-index: 2;
}
.lazy_yandex_map.is-loading .lazy_yandex_map_button {
    opacity: 0.65;
    pointer-events: none;
}
.lazy_yandex_map.is-loaded .lazy_yandex_map_placeholder {
    opacity: 0;
    pointer-events: none;
    transition: opacity 0.35s ease;
}
.lazy_yandex_map iframe {
    border: 0;
    height: 100%;
    inset: 0;
    position: absolute;
    width: 100%;
}
.lazy_yandex_map script {
    position: relative;
    z-index: 0;
}
.map_blocks {
    position: absolute;
    left: 0;
    top: 0;
    padding: 24px;
    gap: 16px;
    pointer-events: auto;
    z-index: 5;
}
.map_block {
    background: #fff;
    border-radius: 42px;
    padding: 32px;
}
.map_block_link {
    color: inherit;
    cursor: pointer;
    pointer-events: auto;
    position: relative;
    text-decoration: none;
    transition: 0.25s;
    z-index: 6;
}
.map_block_link:hover {
    opacity: 0.88;
}
.map_block:nth-child(1) {
    width: 310px;
}
.map_block:nth-child(2) {
    width: 310px;
}
.map_block_title {
    font-weight: 500;
    font-size: 24px;
    line-height: 130%;
    letter-spacing: -0.01em;
}
.map_block_title a {
    color: inherit;
    text-decoration: none;
    transition: 0.25s;
}
.map_block_title a:hover {
    opacity: 0.7;
}
.map_block_value {
    font-weight: 400;
    font-size: 18px;
    line-height: 140%;
    letter-spacing: -0.01em;
    color: #6a6a6a;
    opacity: 0.5;
    margin-top: 16px;
}
.map_block_value a {
    color: inherit;
    text-decoration: none;
    transition: 0.25s;
}
.map_block_value a:hover {
    opacity: 0.7;
}
.map_block_socials {
    margin-bottom: 34px;
    gap: 10px;
}
.map_block_social {
    border-radius: 50%;
    font-size: 0;
    transition: 0.25s;
}
.map_block_social:hover {
    opacity: 0.7;
}
.map_btn {
	margin-top: 34px;
}

/*-- FOOTER --*/

.footer {
    margin: 24px 0 0;
    padding-bottom: 120px
}
.footer_copyright {
    font-weight: 400;
    font-size: 14px;
    line-height: 120%;
    letter-spacing: -0.02em;
    text-align: center;
    color: #6a6a6a;
}
.footer_copyright a {
    color: inherit;
    text-decoration: underline;
}
.footer_copyright a:hover {
    opacity: 0.75;
}

/*-- 404 --*/

.page404_inside {
    padding-bottom: 80px;
    min-height: 100vh;
    min-height: 100dvh;
}
.page404_content {
    text-align: center;
    position: relative;
}
.page404_content:after {
    background-image: url(../img/icon_404_arr.svg);
    background-repeat: no-repeat;
    background-position: center;
    content: '';
    position: absolute;
    top: calc(100% + 19px);
    right: 48px;
    transform: rotate(150deg);
    height: 103px;
    width: 58px;
}
.page404_image {
    font-size: 0;
}
.page404_title {
    font-weight: 500;
    font-size: 24px;
    line-height: 130%;
    letter-spacing: -0.01em;
    margin-top: 32px;
}
.page404_desc {
    font-weight: 400;
    font-size: 18px;
    line-height: 140%;
    letter-spacing: -0.01em;
    margin-top: 16px;
}

/*-- MODAL --*/

#overlay {
    background: rgba(51,51,51,0.4);
    backdrop-filter: blur(5px);
    cursor: pointer;
    position: fixed;
    top: 0;
    left: 0;
    right: 0;
    overflow: auto;
    height: 100vh;
    height: 100dvh;
    width: 100%;
    opacity: 0;
    visibility: hidden;
    z-index: 999999;
    transition: 0.25s;
}
#overlay.active {
    opacity: 1;
    visibility: visible;
}
.modal_window {
    background: #fff;
    border-radius: 24px;
    cursor: default;
    padding: 24px;
    position: absolute;
    left: 0;
    right: 0;
    top: 50%;
    transform: translateY(-50%);
    margin: 0 auto;
    max-width: 670px;
    opacity: 0;
    visibility: hidden;
    width: calc(100% - 20px);
    transition: 0.25s;
}
.modal_window.active {
    opacity: 1;
    visibility: visible;
}
.modal_window * {
    pointer-events: all;
}
.modal_inside {
    position: relative;
}
.modal_title {
    font-weight: 500;
    font-size: 24px;
    line-height: 130%;
    letter-spacing: -0.01em;
}
.modal_title--center {
    text-align: center;
}
.modal_close {
    cursor: pointer;
    position: absolute;
    right: 0;
    top: 5px;
    font-size: 0;
    transition: 0.25s;
}
.modal_close:hover {
    opacity: 0.7;
}
.modal_close > * {
    pointer-events: none;
}
.modal_form {
    margin-top: 32px;
}
.page_zapis {
    padding-bottom: 80px;
}
.zapis_head {
    margin-bottom: 32px;
}
.zapis_desc {
    color: #777;
    font-size: 22px;
    line-height: 140%;
    letter-spacing: -0.01em;
    margin-top: 16px;
    max-width: 780px;
}
.zapis_actions {
    gap: 12px;
    margin-top: 24px;
}
.zapis_actions .btn {
    min-width: 190px;
}
.zapis_widget {
    background: #fff;
    border-radius: 32px;
    min-height: 640px;
    overflow: hidden;
    padding: 24px;
}
.zapis_widget,
.zapis_widget .rnova-widget,
.zapis_widget .v-application,
.zapis_widget .v-application--wrap,
.zapis_widget .v-main,
.zapis_widget .v-main__wrap {
    background: #fff !important;
}
.zapis_widget .rnova-widget,
.zapis_widget .v-application {
    color: #333 !important;
    font-family: "TikTok Sans", sans-serif !important;
}
.zapis_widget .v-application .primary,
.zapis_widget .v-application .blue,
.zapis_widget .v-application .info,
.zapis_widget .v-application .accent {
    background-color: #333 !important;
    border-color: #333 !important;
}
.zapis_widget .v-application .success,
.zapis_widget .v-application .green {
    background-color: #15654a !important;
    border-color: #15654a !important;
}
.zapis_widget .v-application .primary--text,
.zapis_widget .v-application .blue--text,
.zapis_widget .v-application .info--text,
.zapis_widget .v-application .accent--text {
    color: #333 !important;
    caret-color: #333 !important;
}
.zapis_widget .v-application .success--text,
.zapis_widget .v-application .green--text {
    color: #15654a !important;
    caret-color: #15654a !important;
}
.zapis_widget .v-stepper {
    border: 0 !important;
    box-shadow: none !important;
}
.zapis_widget .v-stepper__header {
    border: 0 !important;
    box-shadow: none !important;
    min-height: 108px;
}
.zapis_widget .v-stepper__header::before,
.zapis_widget .v-stepper__header::after,
.zapis_widget .v-stepper__items::before,
.zapis_widget .v-stepper__items::after,
.zapis_widget .v-stepper__content::before,
.zapis_widget .v-stepper__content::after,
.zapis_widget .v-stepper__header .v-divider,
.zapis_widget .v-stepper__header hr,
.zapis_widget .v-stepper__items hr,
.zapis_widget .v-stepper__content hr {
    display: none !important;
}
.zapis_widget .v-stepper__step {
    border: 2px solid transparent;
    border-radius: 28px;
    padding: 18px 24px;
}
.zapis_widget .v-stepper__step--active {
    border-color: transparent;
}
.zapis_widget .v-stepper__step__step {
    box-shadow: none !important;
    font-size: 16px !important;
    height: 34px !important;
    min-width: 34px !important;
    width: 34px !important;
}
.zapis_widget .v-stepper__label {
    color: #333 !important;
    letter-spacing: -0.01em;
    text-shadow: none !important;
}
.zapis_widget .v-stepper__step:not(.v-stepper__step--active):not(.v-stepper__step--complete) .v-stepper__label {
    color: rgba(51,51,51,0.38) !important;
}
.zapis_widget .v-card {
    border-radius: 24px !important;
    box-shadow: none !important;
}
.zapis_widget .v-sheet,
.zapis_widget .v-card,
.zapis_widget .v-stepper,
.zapis_widget .v-stepper__items,
.zapis_widget .v-stepper__content {
    background: #fff !important;
    border: 0 !important;
    box-shadow: none !important;
}
.zapis_widget .v-btn {
    border-radius: 999px !important;
    letter-spacing: -0.01em !important;
    text-transform: none !important;
}
.zapis_widget .v-btn__content {
    max-width: 100% !important;
    white-space: normal !important;
}
.zapis_widget .v-btn.accent,
.zapis_widget .accent {
    background-color: #333 !important;
    border-color: #333 !important;
}
.zapis_widget .accent--text,
.zapis_widget .v-application .accent--text {
    color: #333 !important;
    caret-color: #333 !important;
}
.zapis_widget .v-input__slot,
.zapis_widget .v-text-field--outlined fieldset {
    border-radius: 16px !important;
}
.zapis_widget .v-text-field--outlined > .v-input__control > .v-input__slot,
.zapis_widget .v-text-field--solo > .v-input__control > .v-input__slot,
.zapis_widget .v-text-field > .v-input__control > .v-input__slot {
    background: #f1f0ef !important;
    border-radius: 24px !important;
    box-shadow: none !important;
    min-height: 68px !important;
    padding: 0 24px !important;
}
.zapis_widget .v-text-field--outlined > .v-input__control > .v-input__slot fieldset {
    border-color: transparent !important;
    display: none !important;
}
.zapis_widget .v-input,
.zapis_widget .v-input__control,
.zapis_widget .v-input__slot,
.zapis_widget .v-select__slot,
.zapis_widget .v-list,
.zapis_widget .v-list-item {
    border: 0 !important;
    box-shadow: none !important;
}
.zapis_widget .v-input::before,
.zapis_widget .v-input::after,
.zapis_widget .v-input__slot::before,
.zapis_widget .v-input__slot::after,
.zapis_widget .v-select__slot::before,
.zapis_widget .v-select__slot::after {
    display: none !important;
}
.zapis_widget .v-text-field .v-label {
    color: rgba(51,51,51,0.32) !important;
    font-size: 20px !important;
}
.zapis_widget .v-text-field input,
.zapis_widget .v-text-field textarea {
    color: #333 !important;
    font-size: 20px !important;
    line-height: 140% !important;
}
.zapis_widget .v-text-field textarea {
    padding-top: 18px !important;
}
.zapis_widget .v-input--selection-controls .v-input__slot,
.zapis_widget .v-input--checkbox .v-input__slot {
    background: transparent !important;
    border-radius: 0 !important;
    min-height: auto !important;
    padding: 0 !important;
}
.zapis_widget .v-input--selection-controls__input {
    margin-right: 14px !important;
}
.zapis_widget .v-input--selection-controls__input .v-icon {
    color: #333 !important;
}
.zapis_widget .v-input--checkbox .v-label {
    color: #333 !important;
    font-size: 16px !important;
    line-height: 120% !important;
}
.zapis_widget .v-btn:not(.v-btn--icon) {
    font-size: 20px !important;
    font-weight: 600 !important;
    min-height: 64px !important;
    padding: 0 32px !important;
}
.zapis_widget .v-stepper__content .v-btn:not(.v-btn--icon) {
    margin-top: 32px !important;
}
.zapis_widget .v-btn:not(.v-btn--icon).primary,
.zapis_widget .v-btn:not(.v-btn--icon).accent,
.zapis_widget .v-btn:not(.v-btn--icon).success {
    background: #333 !important;
    border-color: #333 !important;
    color: #fff !important;
}
.zapis_widget .v-picker {
    border-radius: 28px !important;
    overflow: hidden;
}
.zapis_widget .v-date-picker-title {
    background: #333 !important;
}
.zapis_widget .v-date-picker-title__year {
    color: rgba(255,255,255,0.6) !important;
}
.zapis_widget .v-date-picker-title__date {
    color: #fff !important;
    letter-spacing: -0.04em;
}
.zapis_widget .v-date-picker-header__value button,
.zapis_widget .v-date-picker-table {
    color: #333 !important;
}
.zapis_widget .v-date-picker-table {
    height: auto !important;
    padding: 0 12px 12px !important;
}
.zapis_widget .v-date-picker-table table {
    table-layout: fixed !important;
    width: 100% !important;
}
.zapis_widget .v-date-picker-table th,
.zapis_widget .v-date-picker-table td {
    height: 34px !important;
    padding: 0 !important;
}
.zapis_widget .v-date-picker-table .v-btn {
    border-radius: 50% !important;
    color: #333 !important;
    font-size: 16px !important;
    height: 30px !important;
    margin-top: 0 !important;
    min-height: 30px !important;
    min-width: 30px !important;
    padding: 0 !important;
    width: 30px !important;
}
.zapis_widget .v-date-picker-table .v-btn__content {
    line-height: 30px !important;
    width: auto !important;
}
.zapis_widget .v-input__control,
.zapis_widget .v-input__slot,
.zapis_widget .v-select__slot {
    box-shadow: none !important;
}
.zapis_widget .v-date-picker-table .v-btn.v-btn--active {
    background-color: #333 !important;
    color: #fff !important;
}
.zapis_widget .intervals .intervals-card {
    border-color: #333 !important;
    border-radius: 28px !important;
    padding: 22px !important;
}
.zapis_widget .intervals .intervals-card .v-card__text,
.zapis_widget .intervals .intervals-card .container,
.zapis_widget .intervals .intervals-card .row {
    margin-bottom: 0 !important;
    margin-top: 0 !important;
    padding-bottom: 0 !important;
    padding-top: 0 !important;
}
.zapis_widget .intervals .intervals-card .row {
    row-gap: 14px !important;
}
.zapis_widget .intervals .clinic-title {
    color: #15654a !important;
    font-weight: 500;
    margin-bottom: 18px !important;
}
.zapis_widget .intervals .v-btn {
    border-color: rgba(51,51,51,0.45) !important;
    color: #333 !important;
    margin-bottom: 0 !important;
    margin-top: 0 !important;
    min-height: 46px;
}
.zapis_widget .intervals .v-btn:hover,
.zapis_widget .intervals .v-btn:focus {
    border-color: #333 !important;
}
.zapis_widget .theme--light.v-label,
.zapis_widget .theme--light.v-input,
.zapis_widget .theme--light.v-select .v-select__selection--comma {
    color: #333 !important;
}
.zapis_widget .theme--light.v-input input,
.zapis_widget .theme--light.v-input textarea {
    color: #333 !important;
}
.zapis_widget .theme--light.v-text-field--outlined:not(.v-input--is-focused):not(.v-input--has-state) > .v-input__control > .v-input__slot fieldset {
    border-color: rgba(51,51,51,0.18) !important;
}
.zapis_widget .v-col:has(input[name="birth_date"]),
.zapis_widget .v-col:has(input[name="comment"]),
.zapis_widget .v-row:has(input[name="comment"]) {
    display: none !important;
}
@media screen and (max-width: 767px) {
    .wrapper_zapis .header,
    .wrapper_zapis .mobile_header_wrapper {
        display: none !important;
    }
    .page_zapis {
        padding-bottom: 32px;
    }
    .zapis_head {
        margin-bottom: 10px;
    }
    .zapis_desc {
        font-size: 14px;
        line-height: 125%;
        margin-top: 8px;
    }
    .page_zapis .main_big_title {
        font-size: 58px;
        line-height: 95%;
    }
    .zapis_widget {
        background: #fff;
        border-radius: 24px;
        margin: 0 -8px;
        min-height: 0;
        overflow: hidden;
        padding: 0;
    }
    .zapis_widget .v-application,
    .zapis_widget .v-application--wrap,
    .zapis_widget .v-main,
    .zapis_widget .v-main__wrap,
    .zapis_widget .v-stepper {
        border-radius: 24px !important;
        overflow: hidden !important;
    }
    .zapis_widget .v-stepper__items,
    .zapis_widget .v-stepper__content {
        border-bottom-left-radius: 24px !important;
        border-bottom-right-radius: 24px !important;
        overflow: hidden !important;
    }
    .zapis_widget .rnova-widget,
    .zapis_widget .v-application,
    .zapis_widget .v-application--wrap,
    .zapis_widget .v-main,
    .zapis_widget .v-main__wrap,
    .zapis_widget .v-stepper,
    .zapis_widget .v-stepper__items,
    .zapis_widget .v-stepper__content {
        background: #fff !important;
    }
    .zapis_widget .v-window,
    .zapis_widget .v-window__container,
    .zapis_widget .v-window-item,
    .zapis_widget .v-stepper__wrapper,
    .zapis_widget .v-stepper__content,
    .zapis_widget .v-stepper__content .v-card,
    .zapis_widget .v-stepper__content .v-card__text,
    .zapis_widget .v-stepper__content .container,
    .zapis_widget .v-stepper__content .row,
    .zapis_widget .v-stepper__content .layout {
        align-content: flex-start !important;
        align-items: stretch !important;
        height: auto !important;
        justify-content: flex-start !important;
        min-height: 0 !important;
    }
    .zapis_widget .v-stepper__content .v-card,
    .zapis_widget .v-stepper__content .v-card__text,
    .zapis_widget .v-stepper__content .container {
        margin-bottom: 0 !important;
        margin-top: 0 !important;
        padding-bottom: 0 !important;
        padding-top: 0 !important;
    }
    .zapis_widget .v-stepper__content .v-card__text,
    .zapis_widget .v-stepper__content .v-card__actions {
        padding-bottom: 0 !important;
        padding-top: 0 !important;
    }
    .zapis_widget .v-stepper__content .v-card__actions {
        align-items: stretch !important;
        display: flex !important;
        flex-direction: column !important;
        gap: 8px !important;
    }
    .zapis_widget .v-stepper__content .v-row {
        margin-bottom: 0 !important;
        margin-top: 0 !important;
    }
    .zapis_widget .v-stepper__content .row,
    .zapis_widget .v-stepper__content .v-row {
        display: flex !important;
        flex-direction: column !important;
        gap: 8px !important;
    }
    .zapis_widget .v-stepper__content .v-col,
    .zapis_widget .v-stepper__content [class*="col-"] {
        flex: 0 0 auto !important;
        max-width: 100% !important;
        padding-bottom: 0 !important;
        padding-top: 0 !important;
        width: 100% !important;
    }
    .zapis_widget .rnova-choice-holder {
        flex: 0 0 auto !important;
        margin: 0 !important;
        max-width: 100% !important;
        min-height: 0 !important;
        padding: 0 !important;
        width: 100% !important;
    }
    .zapis_widget .rnova-choice-compact {
        margin-bottom: 0 !important;
        margin-top: 0 !important;
        min-height: 0 !important;
        padding-bottom: 4px !important;
        padding-top: 4px !important;
    }
    .zapis_widget .v-stepper__content .d-flex {
        gap: 8px !important;
    }
    .zapis_widget .v-stepper__content .justify-space-around,
    .zapis_widget .v-stepper__content .justify-space-between,
    .zapis_widget .v-stepper__content .justify-space-evenly {
        justify-content: flex-start !important;
    }
    .zapis_widget .v-card,
    .zapis_widget .v-sheet {
        background: #fff !important;
        border-radius: 8px !important;
        box-shadow: none !important;
    }
    .zapis_widget .v-stepper__header {
        min-height: auto;
        padding: 14px 10px 8px !important;
    }
    .zapis_widget .v-stepper__step--active {
        border-width: 0;
    }
    .zapis_widget .v-stepper__step {
        border: 0 !important;
        border-radius: 0;
        padding: 4px 10px !important;
    }
    .zapis_widget .v-stepper__step__step {
        font-size: 18px !important;
        height: 46px !important;
        min-width: 46px !important;
        width: 46px !important;
    }
    .zapis_widget .v-btn:not(.v-btn--icon) {
        background: #333 !important;
        border-color: #333 !important;
        border-radius: 999px !important;
        color: #fff !important;
        display: flex !important;
        font-size: 18px !important;
        font-weight: 500 !important;
        line-height: 120% !important;
        margin: 0 auto !important;
        min-height: 56px !important;
        min-width: 0 !important;
        overflow: visible !important;
        padding: 10px 18px !important;
        width: 92% !important;
    }
    .zapis_widget .v-btn:not(.v-btn--icon):last-child {
        margin-bottom: 0 !important;
    }
    .zapis_widget .rnova-choice-button {
        font-size: 17px !important;
        margin: 0 auto 8px !important;
        min-height: 50px !important;
        padding: 8px 16px !important;
        width: 86% !important;
    }
    .zapis_widget .rnova-choice-button--doctor,
    .zapis_widget .rnova-choice-button--service {
        margin-top: -46px !important;
    }
    .zapis_widget .rnova-choice-holder:last-child .rnova-choice-button {
        margin-bottom: 0 !important;
    }
    .zapis_widget .v-list,
    .zapis_widget .v-menu__content,
    .zapis_widget .v-select-list {
        margin-bottom: 0 !important;
        margin-top: 0 !important;
        max-height: none !important;
        padding-bottom: 4px !important;
        padding-top: 4px !important;
    }
    .zapis_widget .v-list-item {
        min-height: 44px !important;
        padding-bottom: 4px !important;
        padding-top: 4px !important;
    }
    .zapis_widget .v-list-item__content {
        padding-bottom: 0 !important;
        padding-top: 0 !important;
    }
    .zapis_widget .v-btn__content {
        overflow: visible !important;
        text-align: center !important;
        width: 100% !important;
    }
    .zapis_widget .v-picker {
        border-radius: 20px !important;
        width: 100% !important;
    }
    .zapis_widget .v-date-picker-title {
        padding: 18px 20px !important;
    }
    .zapis_widget .v-date-picker-title__year {
        font-size: 18px !important;
        line-height: 120% !important;
    }
    .zapis_widget .v-date-picker-title__date {
        font-size: 38px !important;
        line-height: 110% !important;
    }
    .zapis_widget .v-date-picker-header {
        padding: 8px 16px !important;
    }
    .zapis_widget .v-date-picker-table {
        height: auto !important;
        padding: 0 12px 12px !important;
    }
    .zapis_widget .v-date-picker-table table {
        table-layout: fixed !important;
        width: 100% !important;
    }
    .zapis_widget .v-date-picker-table th,
    .zapis_widget .v-date-picker-table td {
        height: 44px !important;
        padding: 0 !important;
    }
    .zapis_widget .v-date-picker-table .v-btn {
        background: transparent !important;
        border-color: transparent !important;
        border-radius: 50% !important;
        color: #333 !important;
        font-size: 18px !important;
        height: 36px !important;
        margin: 0 auto !important;
        min-height: 36px !important;
        min-width: 36px !important;
        padding: 0 !important;
        width: 36px !important;
    }
    .zapis_widget .v-date-picker-table .v-btn.v-btn--active {
        background: #333 !important;
        color: #fff !important;
    }
    .zapis_widget .v-date-picker-table .v-btn__content {
        line-height: 36px !important;
        overflow: visible !important;
        text-align: center !important;
        width: auto !important;
    }
    .zapis_widget .v-text-field--outlined > .v-input__control > .v-input__slot,
    .zapis_widget .v-text-field--solo > .v-input__control > .v-input__slot,
    .zapis_widget .v-text-field > .v-input__control > .v-input__slot {
        border-radius: 12px !important;
        min-height: 50px !important;
        padding: 0 14px !important;
    }
    .zapis_widget .v-text-field .v-label,
    .zapis_widget .v-text-field input,
    .zapis_widget .v-text-field textarea {
        font-size: 18px !important;
    }
    .zapis_widget .intervals .intervals-card {
        border-radius: 20px !important;
        padding: 16px !important;
    }
    .zapis_widget .intervals .v-btn {
        background: #fff !important;
        border-color: rgba(51,51,51,0.38) !important;
        color: #333 !important;
        margin-bottom: 10px !important;
        min-height: 52px !important;
    }
}
.modal_form_input input,
.modal_form_input textarea {
    background: #f1f0ef;
    border: none;
    border-radius: 12px;
    color: #333;
    font-size: 18px;
    line-height: 140%;
    letter-spacing: -0.01em;
}
.modal_form_input input {
    padding: 0 14px;
    height: 50px;
    width: 100%;
}
.modal_form_input textarea {
    padding: 14px;
    height: 80px;
    width: 100%;
}
.modal_form_input input::-webkit-input-placeholder {
    color: rgba(51,51,51,0.3);
}
.modal_form_input input::-moz-placeholder {
    color: rgba(51,51,51,0.3);
}
.modal_form_input input:-ms-input-placeholder {
    color: rgba(51,51,51,0.3);
}
.modal_form_input input:-moz-placeholder {
    color: rgba(51,51,51,0.3);
}
.modal_form_input textarea::-webkit-input-placeholder {
    color: rgba(51,51,51,0.3);
}
.modal_form_input textarea::-moz-placeholder {
    color: rgba(51,51,51,0.3);
}
.modal_form_input textarea:-ms-input-placeholder {
    color: rgba(51,51,51,0.3);
}
.modal_form_input textarea:-moz-placeholder {
    color: rgba(51,51,51,0.3);
}
.modal_form_input input::-webkit-outer-spin-button,
.modal_form_input input::-webkit-inner-spin-button {
    -webkit-appearance: none;
    margin: 0;
}
.modal_form_input input[type=number] {
    -moz-appearance: textfield;
}
.modal_form_field_desc {
    cursor: auto;
    font-size: 14px;
    line-height: 120%;
    letter-spacing: -0.02em;
    color: rgba(51,51,51,0.3);
    margin-top: 6px;
}
.modal_form_checkbox {
    margin-top: 12px;
}
.modal_form_checkbox label {
    display: block;
    cursor: pointer;
    font-size: 0;
}
.modal_form_checkbox label input {
    background: #fff;
    border: 1px solid #333;
    border-radius: 8px;
    display: inline-block;
    cursor: pointer;
    vertical-align: middle;
    margin: 0;
    height: 32px;
    width: 32px;
}
.modal_form_checkbox label input:checked {
    background: #333;
    box-shadow: 0 0 0 3px #fff inset;
}
.modal_form_checkbox label input + span {
    display: inline-block;
    cursor: pointer;
    vertical-align: middle;
    font-size: 14px;
    line-height: 120%;
    letter-spacing: -0.02em;
    padding-left: 12px;
    width: calc(100% - 32px);
}
.modal_form_checkbox label input + span a {
    color: inherit;
    text-decoration: underline;
    text-decoration-skip-ink: none;
    transition: 0.25s;
}
.modal_form_checkbox label input + span a:hover {
    opacity: 0.7;
    text-decoration: none;
}
.modal_form_submit {
    margin-top: 12px;
}
.modal_form_submit .btn {
    width: 100%;
}
.modal_success {
    max-width: 440px;
}
.modal_image {
    font-size: 0;
    text-align: center;
    margin-bottom: 12px;
}
.modal_btn {
    margin-top: 32px;
}

.wpcf7-form {
    position: relative;
}
.wpcf7-form .wpcf7-not-valid-tip {
    font-weight: 400;
    font-size: 14px;
    line-height: 120%;
    letter-spacing: -0.02em;
    color: #333;
    margin-top: 10px;
}
.wpcf7-form .wpcf7-spinner {
    display: none;
}
.wpcf7-not-valid {
    box-shadow: 0 0 0 1px #333;
}
.wpcf7 .wpcf7-form .wpcf7-response-output {
    background: #fff;
    position: absolute;
    left: 0;
    right: 0;
    top: 100%;
    margin: 0;
    line-height: 1;
    font-size: 14px;
    padding: 4px 6px;
    text-align: center;
}

/* ADDITIONAL RESET */

.row {
	margin-left: -10px;
	margin-right: -10px;
    margin-bottom: -20px;
}
.row .col {
    padding: 0 10px;
    margin-bottom: 20px;
}
.row.no_mg {
    margin: 0;
}
.row.no_mg .col {
    padding: 0;
    margin: 0;
}
.col-1 {
	width: 100%;
}
.col-2 {
	width: 50%;
}
.col-3 {
	width: 33.3333333%;
}
.col-30 {
	width: 30%;
}
.col-35 {
	width: 35%;
}
.col-4 {
	width: 25%;
}
.col-5 {
	width: 20%;
}
.col-6 {
    width: calc(100% / 6);
}
.col-66 {
    width: calc(100% - (100% / 3));
}

.col-41 {
    width: 41.67%;
}
.col-58 {
    width: 58.33%;
}

.d_flex {
    display: -webkit-box;
    display: -webkit-flex;
    display: -ms-flexbox;
    display: flex;
}

.f_wrap {
    -webkit-flex-wrap: wrap;
    -ms-flex-wrap: wrap;
    flex-wrap: wrap;
}
.f_wrap_reverse {
    -webkit-flex-wrap: wrap-reverse;
    -ms-flex-wrap: wrap-reverse;
    flex-wrap: wrap-reverse;
}

.f_no_wrap {
    -webkit-flex-wrap: nowrap;
    -ms-flex-wrap: nowrap;
    flex-wrap: nowrap;
}

.f_row {
    -webkit-box-orient: horizontal;
    -webkit-box-direction: normal;
    -webkit-flex-direction: row;
    -ms-flex-direction: row;
    flex-direction: row;
}

.f_direction_column {
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
    -webkit-flex-direction: column;
    -ms-flex-direction: column;
    flex-direction: column;
}

.j_content_start {
    -webkit-box-pack: start;
    -webkit-justify-content: flex-start;
    -ms-flex-pack: start;
    justify-content: flex-start;
}

.j_content_end {
    -webkit-box-pack: end;
    -webkit-justify-content: flex-end;
    -ms-flex-pack: end;
    justify-content: flex-end;
}

.j_content_center {
    -webkit-box-pack: center;
    -webkit-justify-content: center;
    -ms-flex-pack: center;
    justify-content: center;
}

.j_content_between {
    -webkit-box-pack: justify;
    -webkit-justify-content: space-between;
    -ms-flex-pack: justify;
    justify-content: space-between;
}

.a_items_start {
    -webkit-box-align: start;
    -webkit-align-items: flex-start;
    -ms-flex-align: start;
    align-items: flex-start;
}

.a_items_end {
    -webkit-box-align: end;
    -webkit-align-items: flex-end;
    -ms-flex-align: end;
    align-items: flex-end;
}

.a_items_center {
    -webkit-box-align: center;
    -webkit-align-items: center;
    -ms-flex-align: center;
    align-items: center;
}

/*-- ANIMATION --*/

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

@keyframes slideDown {
  from {
    transform: translateY(-100%);
  }
  to {
    transform: translateY(0);
  }
}

/*--------------- RESPONSIVE ---------------*/

.menu_btn {
    background: rgba(255, 255, 255, 0.8);
    backdrop-filter: blur(10px);
    border-radius: 42px;
    box-shadow: 0 0 15px rgba(0, 0, 0, 0.05);
    display: none;
    font-weight: 500;
    font-size: 16px;
    line-height: 120%;
    letter-spacing: -0.02em;
    padding: 16px 24px;
}

.mobile_header_wrapper {
    position: fixed;
    top: 0;
    bottom: 0;
    left: 0;
    right: 0;
    height: 100vh;
    height: 100dvh;
    width: 100%;
    z-index: 101;
    transition: 0.25s;
    opacity: 0;
    visibility: hidden;
}
.mobile_header_wrapper.active {
    opacity: 1;
    visibility: visible;
}
.mobile_header_overlay {
    background: rgb(51, 51, 51, 0.5);
    backdrop-filter: blur(2px);
    cursor: pointer;
    position: absolute;
    left: 0;
    right: 0;
    height: 100%;
    width: 100%;
    z-index: 1;
}
.mobile_header_inside {
    padding: 0 8px 20px;
    position: relative;
    pointer-events: none;
    height: 100%;
    z-index: 2;
}
.mobile_header_menu {
    transform: translateY(105%);
    margin: 0 auto;
    max-width: 540px;
    width: 100%;
    transition: 0.25s;
}
.mobile_header_wrapper.active .mobile_header_menu {
    transform: translateY(0);
}
.mobile_header_menu ul {
    gap: 0;
}
.mobile_header_menu ul li {
    width: 50%;
}
.mobile_header_menu ul li a {
    background: #fff;
    border-radius: 42px;
    pointer-events: all;
    display: block;
    font-weight: 500;
    font-size: 16px;
    line-height: 120%;
    letter-spacing: -0.02em;
    color: inherit;
    text-align: center;
    text-decoration: none;
    padding: 30px;
    transition: 0.25s;
}
.mobile_header_menu ul li a:hover {
    opacity: 0.9;
}
.mobile_header_menu ul li.current-menu-item a {
    color: rgba(51,51,51,0.5);
}

@media screen and (max-width: 1280px) {
    .ftbk_image {
        max-width: 640px;
    }
    .single_doctor_cols {
        margin: 32px -20px 0;
    }
    .single_doctor_cols > div {
        padding: 0 20px;
        width: 50%;
    }
}

@media screen and (max-width: 1170px) {
    .ftbk_image {
        max-width: 500px;
    }
}

@media screen and (max-width: 1024px) {
    .container {
        padding: 0 16px;
    }
    .btn {
        font-size: 20px;
        height: 66px;
    }
    .title_bk {
        font-size: 42px;
        line-height: 120%;
    }
    .subtitle_bk {
        font-size: 16px;
    }
    .menu_btn {
        display: block;
    }
    .header_menu {
        display: none;
    }
    .header_btn .btn {
        font-size: 16px;
        height: 52px;
    }
    .ftbk_logo {
        max-width: 350px;
    }
    .ftbk_logo_text {
        font-size: 24px;
        line-height: 130%;
    }
    .ftbk_image {
        max-width: 400px;
    }
    .about {
        margin-top: 60px;
    }
    .about_inside {
        max-width: 640px;
        margin: 0 auto;
    }
    .about_content {
        font-size: 24px;
        line-height: 130%;
    }
    .about_content br {
        display: none;
    }
    .about_content_img_1 {
        display: block;
        margin-right: 0;
        margin-bottom: 14px;
        max-width: 36px;
    }
    .about_content_img_2 {
        margin: 0 5px !important;
        max-width: 88px;
    }
    .about_inside:after {
        background-size: contain;
        height: 82px;
        width: 287px;
    }
    .yandex_review_card {
        flex-basis: min(680px, calc(100% - 64px));
    }
    .codex {
        margin-top: 100px;
    }
    .practices {
        margin-top: 80px;
    }
    .practices .subtitle_bk {
        margin-top: 14px;
    }
    .practices_masonry {
        margin-top: 42px;
    }
    .practices_item_btn .btn {
        font-size: 16px;
        height: 47px;
    }
    .doctors {
        margin-top: 120px;
    }
    .doctors_cols {
        margin-top: 42px;
    }
    .doctors_item {
        border-radius: 24px;
        height: 480px;
    }
    .doctors_item_image img {
        max-width: 280px;
    }
    .doctors_item_block {
        border-radius: 20px;
        padding: 14px;
    }
    .doctors_item_block_icon {
        max-width: 32px;
    }
    .doctors_item_block_title {
        font-size: 16px;
        line-height: 120%;
    }
    .doctors_tabs_info {
        padding-top: 0;
    }
    .doctors_tabs {
        gap: 10px;
        max-width: 450px;
    }
    .doctors_tab {
        border-radius: 20px;
        font-size: 20px;
        line-height: 130%;
    }
    .doctors_tab__more {
        font-size: 20px;
        line-height: 130%;
    }
    .services {
        margin-top: 100px;
        padding: 60px 0;
    }
    .services_items,
    .services_btn {
        margin: 42px auto 0;
    }
    .articles {
        margin-top: 80px;
    }
    .articles .subtitle_bk {
        margin-top: 14px;
    }
    .articles_items {
        margin: 42px auto 0;
    }
    .map_wrapper {
        margin-top: 80px;
    }
    .breadcrumbs {
        top: 32px;
    }
    .breadcrumbs a {
        font-size: 16px;
    }
    .breadcrumbs_inside:before {
        top: 4px;
    }
    .archive_other {
        background-size: 230px;
    }
    .bg_white .main {
        padding-top: 214px;
    }
    .bg_white .main_general {
        padding: 24px 0;
    }
    .main_big_title {
        font-weight: 500;
        font-size: 48px;
        line-height: 100%;
    }
    .archive_404_inside {
        padding: 24px 0;
    }
    .archive_404_image {
        max-width: 164px;
        margin: 0 auto;
    }
    .archive_404_title {
        font-weight: 500;
        font-size: 16px;
        line-height: 120%;
    }
    .title_page {
        font-size: 32px;
    }
    .archive_tags {
        margin-top: 34px;
    }
    .archive_tag a {
        font-size: 16px;
        line-height: 120%;
    }
    .archive_items {
        margin-top: 32px;
    }
    .archive_item {
        border-radius: 24px;
        padding: 24px;
        position: relative;
        height: 280px;
    }
    .archive_item_title {
        font-size: 20px;
    }
    .archive_item_top {
        padding: 0;
        position: relative;
        height: 100%;
    }
    .archive_item_top .archive_item_metas {
        position: absolute;
        left: 0;
        bottom: 0;
    }
    .archive_item_image {
        position: absolute;
        bottom: 0;
        right: 0;
    }
    .main_head {
        -webkit-flex-wrap: wrap;
        -ms-flex-wrap: wrap;
        flex-wrap: wrap;
    }
    .main_head_left {
        margin-top: 32px;
        order: 1;
        width: 100%;
    }
    .main_head_right {
        padding-left: 0;
        width: 100%;
		margin-top: -8px;
    }
    .archive_search input {
        padding: 0 55px 0 14px;
        margin-left: 0;
        width: 100%;
    }
    .archive_search_action__open {
		opacity: 0;
		visibility: hidden;
	}
	.archive_search_action__close {
		opacity: 1;
		visibility: visible;
	}
    .row.row_doctors_archive_items {
        margin: 0 -3.5px -24px;
    }
    .row.row_doctors_archive_items .col {
        padding: 0 3.5px;
        margin-bottom: 24px;
        width: 50%;
    }
    .services_archive_item {
        border-radius: 24px;
        padding: 24px;
        min-height: 290px;
    }
    .practices_archive_item {
        border-radius: 24px;
        padding: 24px;
        min-height: 300px;
    }
    .practices_archive_item_image {
        max-width: 150px;
    }
    .services_archive_item_title {
        font-size: 24px;
    }
    .services_archive_item_description {
        font-size: 16px;
    }
    .archive_loadmore {
        margin-top: 32px
    }
    .documents_lists {
        margin-top: 32px;
    }
    .documents_list {
        margin-bottom: 32px;
    }
    .documents_list_title {
        font-size: 24px;
        line-height: 130%;
    }
    .documents_list_items {
        margin-top: 16px;
    }
    .documents_list_item a {
        border-radius: 24px;
        padding: 20px 24px;
        font-size: 20px;
        line-height: 130%;
    }
    .single_doctor_head {
        height: 600px;
    }
    .doctor_head_inside {
        -webkit-box-align: start;
        -webkit-align-items: flex-start;
        -ms-flex-align: start;
        align-items: flex-start;
        -webkit-box-orient: vertical;
        -webkit-box-direction: normal;
        -webkit-flex-direction: column;
        -ms-flex-direction: column;
        flex-direction: column;
        padding: 90px 0 24px;
    }
    .doctor_head_title {
        font-size: 54px;
        max-width: 320px;
    }
    .doctor_head_image img {
        max-width: 500px;
    }
    .doctor_head_right {
        max-width: 100%;
    }
    .single_doctor_services_title {
        font-size: 24px;
    }
    .single_doctor_services {
        margin-top: 16px;
    }
    .single_doctor_service {
        padding: 20px 24px;
    }
    .single_doctor_service_title,
    .single_doctor_service_price {
        font-size: 20px;
    }
    .single_doctor_content > * {
        margin-bottom: 16px;
    }
    .single_doctor_content h2 {
        font-size: 26px;
    }
    .single_doctor_content h3 {
        font-size: 24px;
    }
    .single_doctor_content h4 {
        font-size: 22px;
    }
    .single_doctor_content h5 {
        font-size: 20px;
    }
    .single_doctor_content h6 {
        font-size: 18px;
    }
    .single_doctor_content {
        font-size: 16px;
        line-height: 140%;
    }
    .single_post_head {
        border-radius: 24px;
        padding: 24px;
    }
    .single_post_title {
        font-size: 24px;
        line-height: 130%;
    }
    .single_post_metas {
        margin-top: 24px;
    }
    .single_post_cols {
        margin: 10px -10px 0;
    }
    .single_post_cols > div {
        padding: 0 10px;
        width: 50%;
    }
    .single_post_col_left {
        background: none;
        border-radius: 0;
    }
    .single_post_content {
        background: #fff;
        border-radius: 24px;
        font-size: 16px;
        padding: 24px;
    }
    .single_post_content img {
        border-radius: 20px;
    }
    .single_post_content h2 {
        font-size: 22px;
    }
    .single_post_content h3 {
        font-size: 20px;
    }
    .single_post_content h4 {
        font-size: 18px;
    }
    .single_post_content h5 {
        font-size: 17px;
    }
    .single_post_content h6 {
        font-size: 16px;
    }
    .single_post_sidebar {
        border-radius: 24px;
        padding: 24px;
    }
    .single_subscribe_content {
        font-size: 16px;
        margin-top: 12px;
    }
    .single_subscribe_btn {
        margin-top: 24px;
    }
    .single_subscribe_btn .btn {
        font-size: 16px;
        height: 62px;
    }
    .single_col {
        position: relative;
        width: 100%;
    }
    .single_col_left {
        
        height: 468px;
    }
    .single_col_left:after {
        left: 0;
        right: auto;
        width: 100%;
    }
    .single_col_left_inside {
        margin-right: -16px;
        padding: 32px 0;
    }
    .single_col_left_bottom {
        max-width: 540px;
    }
    .single_col_title {
        font-size: 32px;
        line-height: 120%;
    }
    .single_col_excerpt {
        font-size: 16px;
        margin-top: 20px;
    }
    .single_col_right_inside {
        padding: 0;
        margin-top: 52px;
    }
    .single_service_title {
        font-size: 24px;
    }
    .single_service_content {
        font-size: 16px;
    }
    .single_service_items_outer {
        margin-top: 42px;
    }
    .single_service_items {
        margin-top: 24px;
    }
    .row.row_single_service_items {
        margin: 0 -3.5px -24px;
    }
    .row.row_single_service_items .col {
        padding: 0 3.5px;
        margin-bottom: 24px;
    }
    .single_service_item_title {
        font-size: 20px;
        margin-top: 12px;
    }
    .single_service_item_price {
        font-size: 16px;
        margin-top: 2px;
    }
}

@media screen and (max-width: 768px) {
    .yandex_reviews_head {
        align-items: flex-start;
        display: flex;
        flex-direction: column;
    }
    .yandex_reviews_title {
        font-size: 28px;
    }
    .yandex_review_card {
        border-radius: 14px;
        flex-basis: 100%;
    }
    .yandex_reviews_nav {
        align-items: flex-start;
        flex-direction: column;
    }
    .yandex_reviews_arrow {
        height: 44px;
        width: 44px;
    }
    .services_summary {
        margin-top: 48px;
    }
    .services_summary_head {
        display: block;
    }
    .services_summary_title {
        font-size: 28px;
        margin-bottom: 18px;
    }
    .services_summary_controls {
        display: block;
    }
    .services_summary_control {
        align-items: flex-start;
        flex-direction: column;
        gap: 8px;
        margin-bottom: 12px;
    }
    .services_summary_control:last-child {
        margin-bottom: 0;
    }
    .services_summary_control select,
    .services_summary_multiselect,
    .services_summary_multiselect_btn {
        width: 100%;
    }
    .services_summary_multiselect_panel {
        min-width: 0;
        width: 100%;
    }
    .services_summary_table_outer {
        background: transparent;
        border-radius: 0;
        overflow: visible;
    }
    .services_summary_table,
    .services_summary_table thead,
    .services_summary_table tbody,
    .services_summary_table tr,
    .services_summary_table th,
    .services_summary_table td {
        display: block;
    }
    .services_summary_table thead {
        display: none;
    }
    .services_summary_table tr {
        background: #fff;
        border-radius: 24px;
        margin-bottom: 10px;
        padding: 18px;
    }
    .services_summary_table td {
        border-bottom: 0;
        padding: 0;
        font-size: 16px;
        margin-bottom: 14px;
    }
    .services_summary_table td:last-child {
        margin-bottom: 0;
    }
    .services_summary_table td[data-label]:before {
        content: attr(data-label);
        display: block;
        font-size: 14px;
        line-height: 120%;
        color: #6a6a6a;
        margin-bottom: 4px;
    }
    .services_summary_table td[data-label=""]:before {
        display: none;
    }
    .services_summary_empty {
        background: #fff;
        border-radius: 24px;
        padding: 18px;
        font-size: 16px;
    }
    .first_bk {
        padding-top: 32px;
    }
    .ftbk_inside {
        background-image: none;
        overflow: visible;
        margin-top: 155px;
        min-height: 420px;
    }
    .ftbk_logo {
        bottom: calc(100% + 30px);
        left: 0;
        right: 0;
        top: auto;
        margin: 0 auto;
        max-width: 350px;
        width: 100%;
    }
    .ftbk_logo:before, 
    .ftbk_logo:after {
        display: none;
    }
    .ftbk_image {
        max-width: 345px;
        right: 0;
        left: 0;
        text-align: center;
        margin: 0 auto;
    }
    .ftbk_doctors {
        padding: 20px;
        left: 0;
        right: 0;
        bottom: auto;
        top: 0;
        -webkit-box-pack: justify;
        -webkit-justify-content: space-between;
        -ms-flex-pack: justify;
        justify-content: space-between;
        max-width: 420px;
        margin: 0 auto;
        width: 100%;
    }
    .ftbk_doctors_image {
        height: 42px;
        max-width: 42px;
        width: 42px;
    }
    .ftbk_doctors_count {
        background: #f1f0ef;
        border: 1px solid #f1f0ef;
        height: 42px;
        width: 42px;
    }
    .ftbk_doctors_txt {
        font-size: 16px;
        text-align: right;
    }
    .ftbk_doctors_text_only {
        -webkit-box-pack: start;
        -webkit-justify-content: flex-start;
        -ms-flex-pack: start;
        justify-content: flex-start;
    }
    .ftbk_doctors_text_only .ftbk_doctors_txt {
        text-align: left;
    }
    .ftbk_address {
        background: #fff;
        border-radius: 24px;
        text-align: center;
        top: auto;
        left: 0;
        right: 0;
        bottom: 14px;
        padding: 19.5px 15px;
        max-width: 320px;
        font-size: 16px;
        line-height: 120%;
        margin: 0 auto;
        width: calc(100% - 28px);
    }
    .about_bottom_desc {
        font-size: 16px;
        line-height: 140%;
        max-width: 343px;
        width: 100%;
    }
    .about_bottom_desc br {
        display: none;
    }
    .about_inside:after {
        bottom: -60px;
    }
    .codex_marquee_txt {
        font-size: 48px;
        line-height: 120%;
    }
    .codex_marquee_txt span {
        font-size: 20px;
        margin: 0 20px;
    }
    .codex_card {
        max-width: 280px;
    }
    .codex_card_image {
        border-radius: 24px;
        height: 320px;
    }
    .codex_card_overlay {
        border-radius: 24px;
        padding: 20px 24px;
    }
    .codex_card_title {
        font-size: 20px;
    }
    .codex_card_desc {
        font-size: 16px;
    }
    .doctors_col {
        margin: 0 auto;
        max-width: 540px;
        width: 100%;
    }
    .doctors_col:nth-child(1) {
        order: 1;
        margin-top: 32px;
    }
    .doctors_tabs {
        margin-top: 32px;
    }
    .doctors_tabs_btn {
        display: none;
    }
    .doctors_tabs_btn__mobile {
        display: block;
        margin-top: 32px;
        max-width: 360px;
    }
    .doctors_item_blocks {
        display: -webkit-box;
        display: -webkit-flex;
        display: -ms-flexbox;
        display: flex;
        -webkit-flex-wrap: wrap;
        -ms-flex-wrap: wrap;
        flex-wrap: wrap;
        gap: 8px;
        padding: 10px;
        position: absolute;
        left: 0;
        bottom: 0;
        width: 100%;
    }
    .doctors_item_block {
        position: relative;
        left: auto !important;
        right: auto !important;
        top: auto !important;
        bottom: auto !important;
        max-width: calc(100% - 10px) !important;
    }
    .doctors_item_block:last-child {
        margin-bottom: 0;
    }
    .services_item {
        margin-bottom: 20px;
    }
    .services_item_link {
        padding: 16px 18px;
    }
    .services_item_title {
        font-size: 20px;
    }
    .services_item_desc {
        font-size: 16px;
    }
    .articles_item_link {
        border-radius: 24px;
        padding: 24px;
    }
    .articles_item_title {
        font-size: 20px;
    }
    .archive_item_metas {
        font-size: 16px;
        letter-spacing: -0.01em;
    }
    .articles_item_image {
        max-width: 200px;
        width: 100%;
    }
	.map_title {
		font-size: 24px;
		line-height: 130%;
		letter-spacing: -0.02em;
		text-align: left;
		margin-bottom: 32px;
	}
    .map_inside {
        border-radius: 24px;
    }
    .lazy_yandex_map_placeholder {
        gap: 12px;
        justify-content: flex-end;
        max-width: none;
        padding: 18px 16px 132px;
    }
    .lazy_yandex_map_badge {
        font-size: 12px;
        padding: 8px 12px;
    }
    .lazy_yandex_map_title {
        font-size: 24px;
        max-width: 240px;
    }
    .lazy_yandex_map_text {
        font-size: 14px;
        line-height: 1.4;
        max-width: 260px;
    }
    .lazy_yandex_map_button {
        min-height: 44px;
    }
    .map_blocks {
        right: 0;
        padding: 13px 10px;
        gap: 10px;
        width: 100%;
        max-width: 320px;
        margin: 0 auto;
    }
    .map_block {
        border-radius: 24px;
        box-shadow: 0 0 15px rgba(0,0,0,0.15);
        padding: 24px;
        width: 100% !important;
    }
    .map_block_title {
        font-size: 20px;
    }
    .map_block_value {
        font-size: 16px;
        margin-top: 12px;
    }
    .map_block_socials {
        margin-bottom: 24px;
    }
    .map_block_social {
        max-width: 36px;
    }
	.map_btn {
		margin-top: 24px;
	}
    .row.row_archive_items {
        -webkit-box-pack: center;
        -webkit-justify-content: center;
        -ms-flex-pack: center;
        justify-content: center;
    }
    .archive_items .col {
        width: 50%;
    }
    .practices_archive_item {
        gap: 10px;
    }
    .doctors_archive_item_title {
        font-size: 20px;
        line-height: 130%;
        margin-top: 12px;
    }
    .doctors_archive_item_workposition {
        font-size: 16px;
        margin-top: 2px;
    }
    .doctors_archive_item_image {
        border-radius: 24px;
        padding-top: 100%;
        position: relative;
        height: auto;
    }
    .doctors_archive_item_image > * {
        height: 100%;
        position: absolute;
        left: 0;
        top: 0;
        width: 100%;
    }
    .practices_archive_item_image {
        max-width: 75px;
    }
    .single_doctor_head {
        background-size: 1000px;
    }
    .doctor_head_image img {
        max-width: 375px;
    }
    .single_doctor_cols > div {
        width: 100%;
    }
    .single_doctor_col_right {
        margin-top: 42px;
    }
    .single_post_cols > div {
        width: 100%;
    }
    .single_post_col_right {
        margin-top: 10px;
    }
    .single_col_left_image {
        max-width: 250px;
    }
}

@media screen and (max-width: 640px) {
    .doctors_item {
        height: 360px;
    }
    .doctors_item_image img {
        max-width: 220px;
    }
    .doctors_tab,
    .doctors_tab__more {
        font-size: 16px;
        padding: 16px 20px;
    }
    .doctor_head_inside {
        margin-right: -32px;
    }
    .doctor_head_title {
        font-size: 48px;
    }
    .doctor_head_tags {
        -webkit-box-pack: start;
        -webkit-justify-content: flex-start;
        -ms-flex-pack: start;
        justify-content: flex-start;
        -webkit-flex-wrap: nowrap;
        -ms-flex-wrap: nowrap;
        flex-wrap: nowrap;
        overflow: auto;
        padding: 0 16px;
        margin: 0 -16px;
        gap: 8px;
    }
    .doctor_head_tag {
        font-size: 20px;
        padding: 20px;
        white-space: nowrap;
        flex: auto 0 0;
    }
    .doctor_head_image img {
        margin-left: 50%;
        transform: translateX(-50%);
    }
    .row.row_single_service_items .col {
        width: 50%;
    }
	.modal_window {
		top: 50px;
		transform: translateY(0);
	}
	.row.row_modal_form_fields .col {
		width: 100%;
	}
}

@media screen and (max-width: 540px) {
    .zapis_actions .btn {
        width: 100%;
    }
    .practices_masonry {
        height: auto !important;
    }
    .practices_item,
    .practices_item_all {
        position: relative !important;
        top: auto !important;
        right: auto !important;
        bottom: auto !important;
        left: auto !important;
        width: 100%;
    }
    .practices_item,
    .practices_item__large {
        height: 300px;
    }
    .practices_item {
        border-radius: 24px;
    }
    .practices_item_title {
        font-size: 20px;
    }
    .practices_item_btn {
        max-width: 140px;
    }
    .practices_archive_item {
        min-height: 400px;
    }
    .practices_archive_item_image {
        max-width: 165px;
    }
    .archive_items .col {
        width: 100%;
    }
    .subtitle_bk br {
        display: none;
    }
}

@media screen and (max-width: 360px) {
    .ftbk_address {
        font-size: 12px;
    }
    .bg_white .main {
        padding-top: 175px;
    }
    .main_big_title {
        font-size: 32px;
    }
}

.doctor_head_image img[src*="/2026/07/dmitrij-sosin-v2-cutout.png"] {
    transform: translateY(245px);
}

.doctor_head_image img[src*="/2026/07/ekaterina-malinovskaya.png"] {
    transform: translateY(86px);
}

@media screen and (max-width: 1280px) {
    .doctor_head_image img[src*="/2026/07/dmitrij-sosin-v2-cutout.png"] {
        transform: translateY(195px);
    }

    .doctor_head_image img[src*="/2026/07/ekaterina-malinovskaya.png"] {
        transform: translateY(68px);
    }
}

@media screen and (max-width: 640px) {
    .doctor_head_image img[src*="/2026/07/dmitrij-sosin-v2-cutout.png"] {
        transform: translateX(-50%) translateY(135px);
    }

    .doctor_head_image img[src*="/2026/07/ekaterina-malinovskaya.png"] {
        transform: translateX(-50%) translateY(48px);
    }
}
