@charset "utf-8";
/* CSS Document */

/******************************

[Table of Contents]

1. Fonts
2. Body and some general stuff
3. Header
4. Menu
5. Home
6. Contact
7. Newsletter
8. Footer


******************************/

/***********
1. Fonts
***********/

/* Onest подключается из папки темы (fonts/onest.css),
   поэтому внешнего @import с fonts.googleapis.com здесь больше нет. */

/*********************************
2. Body and some general stuff
*********************************/

*
{
	margin: 0;
	padding: 0;
	-webkit-font-smoothing: antialiased;
	-webkit-text-shadow: rgba(0,0,0,.01) 0 0 1px;
	text-shadow: rgba(0,0,0,.01) 0 0 1px;
}
body
{
	font-family: 'Onest', sans-serif;
	font-size: 14px;
	font-weight: 400;
	background: #FFFFFF;
	color: #a5a5a5;
}
div
{
	display: block;
	position: relative;
	-webkit-box-sizing: border-box;
    -moz-box-sizing: border-box;
    box-sizing: border-box;
}
ul
{
	list-style: none;
	margin-bottom: 0px;
}
p
{
	font-family: 'Onest', sans-serif;
	font-size: 14px;
	line-height: 2.14;
	font-weight: 500;
	color: #828282;
	-webkit-font-smoothing: antialiased;
	-webkit-text-shadow: rgba(0,0,0,.01) 0 0 1px;
	text-shadow: rgba(0,0,0,.01) 0 0 1px;
}
p a
{
	display: inline;
	position: relative;
	color: inherit;
	border-bottom: solid 1px #ffa07f;
	-webkit-transition: all 200ms ease;
	-moz-transition: all 200ms ease;
	-ms-transition: all 200ms ease;
	-o-transition: all 200ms ease;
	transition: all 200ms ease;
}
p:last-of-type
{
	margin-bottom: 0;
}
a
{
	-webkit-transition: all 200ms ease;
	-moz-transition: all 200ms ease;
	-ms-transition: all 200ms ease;
	-o-transition: all 200ms ease;
	transition: all 200ms ease;
}
a, a:hover, a:visited, a:active, a:link
{
	text-decoration: none;
	-webkit-font-smoothing: antialiased;
	-webkit-text-shadow: rgba(0,0,0,.01) 0 0 1px;
	text-shadow: rgba(0,0,0,.01) 0 0 1px;
}
p a:active
{
	position: relative;
	color: #FF6347;
}
p a:hover
{
	color: #FFFFFF;
	background: #ffa07f;
}
p a:hover::after
{
	opacity: 0.2;
}
::selection
{
	background: rgba(87,204,195,0.75);
	color: #FFFFFF;
}
p::selection
{
	
}
h1{font-size: 60px;}
h2{font-size: 48px;}
h3{font-size: 36px;}
h4{font-size: 24px;}
h5{font-size: 18px;}
h1, h2, h3, h4, h5, h6
{
	font-family: 'Onest', sans-serif;
	-webkit-font-smoothing: antialiased;
	-webkit-text-shadow: rgba(0,0,0,.01) 0 0 1px;
	text-shadow: rgba(0,0,0,.01) 0 0 1px;
	line-height: 1.2;
	color: #404040;
}
h1::selection, 
h2::selection, 
h3::selection, 
h4::selection, 
h5::selection, 
h6::selection
{
	
}
.form-control
{
	color: #db5246;
}
section
{
	display: block;
	position: relative;
	box-sizing: border-box;
}
.clear
{
	clear: both;
}
.clearfix::before, .clearfix::after
{
	content: "";
	display: table;
}
.clearfix::after
{
	clear: both;
}
.clearfix
{
	zoom: 1;
}
.float_left
{
	float: left;
}
.float_right
{
	float: right;
}
.trans_200
{
	-webkit-transition: all 200ms ease;
	-moz-transition: all 200ms ease;
	-ms-transition: all 200ms ease;
	-o-transition: all 200ms ease;
	transition: all 200ms ease;
}
.trans_300
{
	-webkit-transition: all 300ms ease;
	-moz-transition: all 300ms ease;
	-ms-transition: all 300ms ease;
	-o-transition: all 300ms ease;
	transition: all 300ms ease;
}
.trans_400
{
	-webkit-transition: all 400ms ease;
	-moz-transition: all 400ms ease;
	-ms-transition: all 400ms ease;
	-o-transition: all 400ms ease;
	transition: all 400ms ease;
}
.trans_500
{
	-webkit-transition: all 500ms ease;
	-moz-transition: all 500ms ease;
	-ms-transition: all 500ms ease;
	-o-transition: all 500ms ease;
	transition: all 500ms ease;
}
.fill_height
{
	height: 100%;
}
.super_container
{
	width: 100%;
	overflow: hidden;
}
.prlx_parent
{
	overflow: hidden;
}
.prlx
{
	height: 130% !important;
}
.parallax-window
{
    min-height: 400px;
    background: transparent;
}
.parallax_background
{
	position: absolute;
	top: 0;
	left: 0;
	width: 100%;
	height: 100%;
}
.background_image
{
	position: absolute;
	top: 0;
	left: 0;
	width: 100%;
	height: 100%;
	background-repeat: no-repeat;
	background-size: cover;
	background-position: center center;
}
.nopadding
{
	padding: 0px !important;
}
/* Button, social, section_subtitle styles inherited from main_styles.css */
.hamburger
{
	display: none;
	cursor: pointer;
	border: solid 1px transparent;
	border-radius: 7px;
	-webkit-transition: all 200ms ease;
	-moz-transition: all 200ms ease;
	-ms-transition: all 200ms ease;
	-o-transition: all 200ms ease;
	transition: all 200ms ease;
}
.hamburger:hover
{
	border: solid 1px rgba(0,0,0,0.05);
}
.hamburger i
{
	font-size: 20px;
	color: #404040;
	padding-top: 5px;
	padding-bottom: 5px;
	padding-left: 7px;
	padding-right: 7px;
}

/*********************************
4. Menu
*********************************/

.menu
{
	position: fixed;
	top: 0;
	right: -350px;
	width: 350px;
	height: 100vh;
	background: #57ccc3;
	z-index: 102;
	padding-left: 30px;
	padding-right: 30px;
	padding-top: 50px;
}
.menu.active
{
	right: 0;
}
.menu_overlay
{
	position: fixed;
	top: 0;
	right: 0;
	width: 100vw;
	height: 100vh;
	background: rgba(255,255,255,0.75);
	z-index: 101;
	visibility: hidden;
	opacity: 0;
}
.menu_overlay.active
{
	visibility: visible;
	opacity: 1;
}
.menu_close_container
{
	position: absolute;
    top: 41px;
    left: 28px;
    width: 18px;
    height: 18px;
    transform-origin: center center;
    -webkit-transform: rotate(45deg);
    -moz-transform: rotate(45deg);
    -ms-transform: rotate(45deg);
    -o-transform: rotate(45deg);
    transform: rotate(45deg);
    cursor: pointer;
    z-index: 1;
}
.menu_close
{
    width: 100%;
    height: 100%;
    transform-style: preserve-3D;
}
.menu_close div
{
    width: 100%;
    height: 2px;
    background: #FFFFFF;
    top: 8px;
    -webkit-transition: all 200ms ease;
    -moz-transition: all 200ms ease;
    -ms-transition: all 200ms ease;
    -o-transition: all 200ms ease;
    transition: all 200ms ease;
}
.menu_close div:last-of-type
{
    -webkit-transform: rotate(90deg) translateX(-2px);
    -moz-transform: rotate(90deg) translateX(-2px);
    -ms-transform: rotate(90deg) translateX(-2px);
    -o-transform: rotate(90deg) translateX(-2px);
    transform: rotate(90deg) translateX(-2px);
    transform-origin: center;
}
.menu_close:hover div
{
    background: #1befc5;
}
.menu_nav
{
	margin-top: 75px;
}
.menu_nav ul li:not(:last-child)
{
	margin-bottom: 1px;
}
.menu_nav ul li a
{
	font-size: 24px;
	font-weight: 500;
	color: rgba(255,255,255,0.75);
}
.menu_nav ul li a:hover,
.menu_nav ul li.current-menu-item a,
.menu_nav ul li.current_page_item a
{
	color: #1befc5;
}
.menu_social
{
	position: absolute;
	bottom: 30px;
	left: 30px;
}
.menu_social ul li:hover
{
	background: #404040;
}
.menu_social ul li:hover a i
{
	color: #FFFFFF;
}
.menu_extra
{
	margin-top: 50px;
}
.menu_extra > div:not(:last-child)
{
	margin-bottom: 5px;
}
.menu_link,
.menu_link a
{
	font-size: 13px;
	font-weight: 500;
	color: rgba(255,255,255,0.75);
}
.menu_link a:hover
{
	color: #FFFFFF;
}

/*********************************
5. Home
*********************************/

.home
{
	width: 100%;
	height: 625px;
}
.home_overlay
{
	z-index: 1;
}
.home_overlay img
{
	max-width: 100%;
}
.home_container
{
	position: absolute;
	top: 218px;
	left: 0;
	width: 100%;
}
.home_content
{
	max-width: 550px;
}
.home_title
{
	font-size: 60px;
	line-height: 1.2;
	font-weight: 500;
	color: #404040;
}
.home_text
{
	font-size: 14px;
	font-weight: 500;
	color: #828282;
	margin-top: 1px;
}

/*********************************
6. Contact
*********************************/

.contact
{
	background: #FFFFFF;
	padding-top: 51px;
	padding-bottom: 90px;
}
.contact_form_container
{
	width: 100%;
	background: #FFFFFF;
	padding-left: 33px;
	padding-right: 34px;
	padding-bottom: 63px;
	padding-top: 136px;
	box-shadow: 0px 25px 38px rgba(0,0,0,0.2);
}
.contact_form_title
{
	position: absolute;
	top: 0;
	left: 0;
	width: 336px;
	height: 80px;
	background: #57ccc3;
	line-height: 80px;
	text-align: center;
	font-size: 24px;
	font-weight: 600;
	color: #FFFFFF;
}
.contact_form
{
	width: 100%;
}
.contact_input
{
	width: calc((100% - 15px) / 2);
	height: 62px;
	background: transparent;
	border: solid 2px #e6ebf1;
	margin-bottom: 18px;
	padding-left: 25px;
	outline: none;
	font-size: 15px;
	color: #404040;
	font-weight: 500;
	-webkit-transition: all 200ms ease;
	-moz-transition: all 200ms ease;
	-ms-transition: all 200ms ease;
	-o-transition: all 200ms ease;
	transition: all 200ms ease;
}
.contact_select
{
	-webkit-appearance: none;
    -moz-appearance: none;
    -ms-appearance: none;
    -o-appearance: none;
    appearance: none;
    -webkit-box-shadow: 0px 0px 0px rgba(0, 0, 0, 0);
    -webkit-user-select: none;
    font-size: 14px !important;
	font-weight: 400 !important;
	font-style: italic;
	color: #a09f9f !important;
	cursor: pointer;
}
.contact_select.selected
{
	font-size: 15px !important;
	color: #404040 !important;
	font-weight: 500 !important;
	font-style: normal !important;
}
.contact_select option
{
	color: #404040;
}
.contact_input:focus,
.contact_input:hover
{
	border: solid 2px #57ccc3;
}
.contact_input::-webkit-input-placeholder
{
	font-size: 14px !important;
	font-weight: 400 !important;
	font-style: italic;
	color: #a09f9f !important;
}
.contact_input:-moz-placeholder
{
	font-size: 14px !important;
	font-weight: 400 !important;
	font-style: italic;
	color: #a09f9f !important;
}
.contact_input::-moz-placeholder
{
	font-size: 14px !important;
	font-weight: 400 !important;
	font-style: italic;
	color: #a09f9f !important;
} 
.contact_input:-ms-input-placeholder
{ 
	font-size: 14px !important;
	font-weight: 400 !important;
	font-style: italic;
	color: #a09f9f !important;
}
.contact_input::input-placeholder
{
	font-size: 14px !important;
	font-weight: 400 !important;
	font-style: italic;
	color: #a09f9f !important;
}
.contact_button
{
	width: 100%;
	font-size: 14px;
	font-weight: 700;
	color: #FFFFFF;
	text-transform: uppercase;
	border: solid 2px transparent;
	cursor: pointer;
	margin-top: 24px;
}
.contact_button:hover
{
	background: transparent;
	border: solid 2px #fd556d;
	color: #fd556d;
}
.contact_content_title
{
	font-size: 30px;
	font-weight: 600;
	color: #404040;
	line-height: 1.2;
	margin-top: 32px;
}
.contact_content_text
{
	margin-top: 21px;
}
.direct_line
{
	width: 100%;
	height: 48px;
	border-radius: 24px;
	overflow: hidden;
	margin-top: 31px;
}
.direct_line_title
{
	width: 130px;
	height: 100%;
	font-size: 16px;
	font-weight: 500;
	line-height: 48px;
	color: #fff;
	background-color: #fd556d;
	white-space: nowrap;
}
.direct_line_num
{
	width: calc(100% - 130px);
	height: 100%;
	font-size: 30px;
	font-weight: 500;
	line-height: 48px;
	color: #fff;
	background: #57ccc3;
	white-space: nowrap;
}
.direct_line_num a
{
	color: #fff;
}
.contact_info
{
	margin-top: 50px;
}
.contact_info ul li:not(:last-child)
{
	margin-bottom: 24px;
}
.contact_info ul li > div:first-of-type
{
	width: 90px;
	font-size: 18px;
	font-weight: 600;
	color: #57ccc3;
	line-height: 1.34;
}
.contact_info ul li > div:last-of-type
{
	max-width: 280px;
	font-size: 15px;
	font-weight: 600;
	color: #878787;
	line-height: 1.6;
}
.contact_info ul li > div:last-of-type a
{
	color: #57ccc3;
}
.contact_info ul li > div:last-of-type a:hover
{
	color: #404040;
}
.contact_metro
{
	display: block;
	font-size: 13px;
	font-weight: 500;
	color: #a5a5a5;
	margin-top: 4px;
}
.contact_social
{
	margin-top: 43px;
}
.contact_social ul li:not(:last-of-type)
{
	margin-right: 22px;
}
.contact_social ul li a i
{
	color: #404040;
	padding: 5px;
	-webkit-transition: all 200ms ease;
	-moz-transition: all 200ms ease;
	-ms-transition: all 200ms ease;
	-o-transition: all 200ms ease;
	transition: all 200ms ease;
}
.contact_social ul li a i:hover
{
	color: #57ccc3;
}
.contact_social ul li a .social_text
{
	display: inline-block;
	font-size: 12px;
	font-weight: 700;
	letter-spacing: 0.5px;
	color: #404040;
	padding: 5px;
	-webkit-transition: all 200ms ease;
	-moz-transition: all 200ms ease;
	-ms-transition: all 200ms ease;
	-o-transition: all 200ms ease;
	transition: all 200ms ease;
}
.contact_social ul li a .social_text:hover
{
	color: #57ccc3;
}
.contact_links
{
	margin-top: 35px;
}
.contact_links ul li
{
	margin-bottom: 12px;
}
.contact_links ul li a
{
	font-size: 15px;
	font-weight: 500;
	color: #57ccc3;
}
.contact_links ul li a:hover
{
	color: #404040;
}
.contact_clinics_row
{
	margin-top: 60px;
}
.contact_clinics_list
{
	margin-top: 30px;
}
.contact_clinic_item
{
	margin-bottom: 28px;
}
.contact_clinic_item:last-child
{
	margin-bottom: 0;
}
.contact_clinic_name
{
	font-size: 16px;
	font-weight: 600;
	color: #57ccc3;
	line-height: 1.4;
}
.contact_clinic_address
{
	font-size: 15px;
	font-weight: 500;
	color: #878787;
	margin-top: 6px;
	line-height: 1.6;
}
.contact_clinic_metro
{
	font-size: 13px;
	font-weight: 500;
	color: #a5a5a5;
	margin-top: 4px;
}
/* Social cards */

.contact_socials_cards
{
	display: flex;
	flex-direction: column;
	gap: 10px;
	margin-top: 28px;
}
.contact_social_card
{
	display: flex;
	align-items: center;
	gap: 12px;
	background: #f8faf9;
	border: 1px solid #e6ebf1;
	border-radius: 12px;
	padding: 12px 18px;
	text-decoration: none;
	-webkit-transition: all 200ms ease;
	transition: all 200ms ease;
}
.contact_social_card:hover
{
	border-color: #57ccc3;
	background: #f0faf9;
}
.contact_social_card_icon
{
	width: 38px;
	height: 38px;
	border-radius: 50%;
	background: #57ccc3;
	display: flex;
	align-items: center;
	justify-content: center;
	flex-shrink: 0;
}
.contact_social_card_icon i
{
	color: #fff;
	font-size: 17px;
}
/*
 * Карточка MAX приходит из контента страницы с текстовой плашкой «MAX».
 * Править её в админке на каждом сайте неудобно, поэтому подменяем значок
 * стилями: текст прячем, рисуем логотип фоном.
 */
.social_text_icon
{
	display: block;
	width: 19px;
	height: 19px;
	font-size: 0;
	line-height: 0;
	color: transparent;
	background: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 720 720'%3E%3Cpath fill='%23ffffff' d='M350.4,9.6C141.8,20.5,4.1,184.1,12.8,390.4c3.8,90.3,40.1,168,48.7,253.7,2.2,22.2-4.2,49.6,21.4,59.3,31.5,11.9,79.8-8.1,106.2-26.4,9-6.1,17.6-13.2,24.2-22,27.3,18.1,53.2,35.6,85.7,43.4,143.1,34.3,299.9-44.2,369.6-170.3C799.6,291.2,622.5-4.6,350.4,9.6h0ZM269.4,504c-11.3,8.8-22.2,20.8-34.7,27.7-18.1,9.7-23.7-.4-30.5-16.4-21.4-50.9-24-137.6-11.5-190.9,16.8-72.5,72.9-136.3,150-143.1,78-6.9,150.4,32.7,183.1,104.2,72.4,159.1-112.9,316.2-256.4,218.6h0Z'/%3E%3C/svg%3E") center / contain no-repeat;
}
.contact_social_card_name
{
	font-size: 15px;
	font-weight: 600;
	color: #404040;
}
.contact_social_card_link
{
	font-size: 13px;
	color: #a6abb2;
	margin-top: 1px;
}
.contact_social_card:hover .contact_social_card_name
{
	color: #57ccc3;
}
.contact_clinic_metro i
{
	margin-right: 4px;
	font-size: 12px;
}

/* Clinic cards */

.contact_clinics_row + .row
{
	display: flex;
	flex-wrap: wrap;
}
.contact_clinics_row + .row > [class*="col-"]
{
	display: flex;
}
.clinic_card
{
	display: flex;
	flex-direction: column;
	width: 100%;
	background: #f8faf9;
	border: 1px solid #e6ebf1;
	border-radius: 12px;
	padding: 20px;
	margin-bottom: 20px;
	border-left: 3px solid #57ccc3;
	text-decoration: none;
	-webkit-transition: all 200ms ease;
	transition: all 200ms ease;
}
.clinic_card:hover
{
	transform: translateY(-3px);
	box-shadow: 0 6px 20px rgba(0,0,0,0.08);
	border-color: #57ccc3;
}
.clinic_card_moscow
{
	border-left-color: #4a90d9;
}
.clinic_card_moscow:hover
{
	border-color: #4a90d9;
}
.clinic_card_badge
{
	display: inline-block;
	font-size: 11px;
	font-weight: 600;
	text-transform: uppercase;
	letter-spacing: 0.5px;
	color: #57ccc3;
	background: #e8f8f6;
	padding: 3px 10px;
	border-radius: 10px;
	margin-bottom: 10px;
}
.clinic_card_badge_msk
{
	color: #4a90d9;
	background: #e8f0fa;
}
.clinic_card_name
{
	font-size: 16px;
	font-weight: 600;
	color: #404040;
	margin-bottom: 8px;
}
.clinic_card_address
{
	font-size: 14px;
	color: #636363;
	line-height: 1.6;
	margin-bottom: 5px;
}
.clinic_card_address i
{
	color: #57ccc3;
	margin-right: 5px;
	width: 14px;
	text-align: center;
}
.clinic_card_moscow .clinic_card_address i
{
	color: #4a90d9;
}
.clinic_card_metro
{
	font-size: 13px;
	color: #a6abb2;
	display: flex;
	align-items: center;
	gap: 5px;
}
.metro_icon
{
	width: 16px;
	height: auto;
	vertical-align: middle;
}

.google_map_row
{
	display: none;
}
.contact_map
{
	width: 100%;
}
.map
{
	width: 100%;
}
.google_map
{
	width: 100%;
	height: 570px;
}
.map_container
{
	width: 100%;
	height: 100%;
	overflow: hidden;
}
#map
{
	width: 100%;
	height: calc(100% + 30px);
}

/*********************************
7. Newsletter
*********************************/

.newsletter
{
	padding-top: 56px;
	padding-bottom: 82px;
}
.newsletter_title
{
	font-size: 30px;
	font-weight: 500;
	color: #fff;
	line-height: 1.2;
}
.newsletter_row
{
	margin-top: 54px;
}
.newsletter_input
{
	width: calc(100% - 150px);
	height: 46px;
	background: transparent;
	border: solid 2px #e6ebf1;
	color: #FFFFFF;
	padding-left: 34px;
	outline: none;
}
.newsletter_input::-webkit-input-placeholder
{
	font-size: 14px !important;
	font-weight: 400 !important;
	font-style: italic;
	color: #FFFFFF !important;
}
.newsletter_input:-moz-placeholder
{
	font-size: 14px !important;
	font-weight: 400 !important;
	font-style: italic;
	color: #FFFFFF !important;
}
.newsletter_input::-moz-placeholder
{
	font-size: 14px !important;
	font-weight: 400 !important;
	font-style: italic;
	color: #FFFFFF !important;
} 
.newsletter_input:-ms-input-placeholder
{ 
	font-size: 14px !important;
	font-weight: 400 !important;
	font-style: italic;
	color: #FFFFFF !important;
}
.newsletter_input::input-placeholder
{
	font-size: 14px !important;
	font-weight: 400 !important;
	font-style: italic;
	color: #FFFFFF !important;
}
.newsletter_button
{
	position: absolute;
	top: 0;
	right: 0;
	width: 167px;
	height: 46px;
	border-radius: 19px;
	background: #fd556d;
	cursor: pointer;
	border: none;
	outline: none;
	font-size: 14px;
	font-weight: 600;
	color: #fff;
	text-transform: uppercase;
}

/*********************************
8. Footer
*********************************/

.footer
{
	display: block;
	position: relative;
	background: #26292d;
}
.footer_content
{
	padding-top: 94px;
	padding-bottom: 51px;
}
.footer_about
{
	padding-top: 19px;
}
.footer_logo a > div:first-child
{
	font-size: 30px;
	font-weight: 700;
	line-height: 0.75;
	color: #FFFFFF;
}
.footer_logo a > div:first-child span
{
	color: #57ccc3;
	margin-left: 7px;
}
.footer_logo a > div:last-child
{
	font-size: 12px;
	color: #969696;
	font-weight: 500;
	line-height: 0.75;
	margin-top: 6px;
}
.footer_about_text
{
	margin-top: 42px;
}
.footer_about_text p
{
	color: #868686;
}
.footer_title
{
	font-size: 16px;
	font-weight: 500;
	color: #FFFFFF;
	line-height: 1.2;
}
.footer_contact
{
	padding-top: 40px;
}
.contact_list
{
	margin-top: 44px;
}
.contact_list li
{
	font-size: 15px;
	font-weight: 500;
	color: #878787;
}
.contact_list li:not(:last-child)
{
	margin-bottom: 12px;
}
.contact_list li a
{
	color: #878787;
}
.contact_list li a:hover
{
	color: #57ccc3;
}
.contact_list .contact_phone a
{
	font-size: 17px;
	font-weight: 600;
	color: #57ccc3;
}
.contact_list .contact_phone a:hover
{
	color: #FFFFFF;
}
.footer_location
{
	padding-top: 40px;
}
.location_city
{
	font-size: 13px;
	font-weight: 600;
	color: #FFFFFF;
	margin-top: 18px;
	margin-bottom: 10px;
	text-transform: uppercase;
	letter-spacing: 0.5px;
}
.location_city:first-of-type
{
	margin-top: 30px;
}
.locations_list
{
	margin-top: 0;
	margin-bottom: 0;
}
.locations_list li
{
	line-height: 1.6;
}
.locations_list li:not(:last-child)
{
	margin-bottom: 12px;
}
.location_title
{
	font-size: inherit;
	font-weight: 600;
	color: #57ccc3;
}
.location_metro
{
	font-size: 12px;
	color: #868686;
}
.opening_hours
{
	left: -32px;
	width: calc(100% + 67px);
	padding-left: 32px;
	padding-right: 35px;
	padding-top: 38px;
	padding-bottom: 40px;
	border: solid 2px #4d5157;
}
.opening_hours_list
{
	margin-top: 44px;
}
.opening_hours_list li
{
	white-space: nowrap;
}
.opening_hours_list li:not(:last-child)
{
	margin-bottom: 9px;
}
.footer_bar
{
	width: 100%;
	background: #181a1d;
}
.footer_bar_content
{
	height: 49px;
}
.copyright
{
	font-size: 12px;
	font-weight: 500;
	color: #646464;
}
.footer_nav ul li:not(:last-child)
{
	margin-right: 29px;
}
.footer_nav ul li a
{
	font-size: 12px;
	font-weight: 500;
	color: #818181;
}
.footer_nav ul li a:hover,
.footer_nav ul li.current-menu-item a,
.footer_nav ul li.current_page_item a
{
	color: #57ccc3;
}
/*
 * Кадр из операционной тёмный в центре, поэтому под заголовком и подписью
 * лежит светлая вуаль — слева плотная, к центру сходит на нет и хирурга
 * не затрагивает.
 */
.home::before
{
	content: "";
	position: absolute;
	top: 0;
	right: 0;
	bottom: 0;
	left: 0;
	z-index: 1;
	/* текст стоит по центру кадра, поэтому вуаль ровная по ширине и плотнее
	   в середине — иначе заголовок ложится на инструменты и халат */
	/* слева на снимке светлая размытая зона — там и стоит текст,
	   вуаль лишь выравнивает фон под ним и к центру сходит на нет */
	background: linear-gradient(90deg, rgba(240,249,251,0.92) 0%, rgba(240,249,251,0.72) 26%, rgba(240,249,251,0.3) 44%, rgba(240,249,251,0) 58%);
	pointer-events: none;
}

/* заголовок уже спозиционирован абсолютом — трогаем только слой */
.home_container
{
	z-index: 2;
}

@media only screen and (max-width: 767px)
{
	/* на телефоне кадр узкий — затемнение мешало бы, хватает более плотной вуали */
	.home::before
	{
		background: linear-gradient(180deg, rgba(238,247,249,0.92) 0%, rgba(238,247,249,0.72) 50%, rgba(238,247,249,0.45) 100%);
	}
}

/* подпись под заголовком лежит на снимке — берём тон потемнее,
   светло-серый на халате не читался */
.home_content .home_text
{
	margin-top: 10px;
	font-size: 16px;
	font-weight: 500;
	color: #33474c;
}


/* ---------- Каналы связи: переписка и соцсети ---------- */

/*
 * Раньше каждый канал был карточкой в строку — семь штук растягивали колонку
 * и форма записи рядом уезжала вверх. Теперь мессенджеры идут кнопками,
 * а соцсети — кружками, как в мобильном меню.
 */
.contact_channels
{
	margin-top: 22px;
}
.contact_channels_group + .contact_channels_group
{
	margin-top: 22px;
}
.contact_channels_title
{
	margin-bottom: 10px;
	font-size: 12px;
	font-weight: 700;
	letter-spacing: 1.2px;
	text-transform: uppercase;
	color: #93a0a5;
}

.contact_msg_list
{
	display: flex;
	flex-wrap: wrap;
	gap: 10px;
}
.contact_msg,
.contact_msg:hover,
.contact_msg:visited
{
	display: inline-flex;
	align-items: center;
	gap: 9px;
	min-height: 46px;
	padding: 0 18px;
	border-radius: 26px;
	background: #f2f7f8;
	border: 1px solid #e3ecee;
	color: #2c3e42;
	font-size: 14px;
	font-weight: 600;
	-webkit-tap-highlight-color: rgba(47,182,172,0.14);
	-webkit-transition: all 200ms ease;
	transition: all 200ms ease;
}
.contact_msg i,
.contact_msg .social_svg
{
	color: #2fb6ac;
}
.contact_msg i
{
	font-size: 17px;
}
.contact_msg:hover
{
	background: #e7f5f3;
	border-color: #cfe9e5;
	color: #2fb6ac;
}

.contact_soc_list
{
	display: flex;
	flex-wrap: wrap;
	gap: 10px;
}
.contact_soc,
.contact_soc:hover,
.contact_soc:visited
{
	position: relative;
	display: flex;
	align-items: center;
	justify-content: center;
	width: 44px;
	height: 44px;
	border-radius: 50%;
	background: #57ccc3;
	color: #FFFFFF;
	-webkit-transition: all 200ms ease;
	transition: all 200ms ease;
}
/* значок внутри цветного кружка всегда белый — иначе наследует цвет ссылки */
.contact_soc i,
.contact_soc .social_svg
{
	color: #FFFFFF;
}
.contact_soc i
{
	font-size: 18px;
}
.contact_soc:hover
{
	background: #2fb6ac;
}

/* тот же фикс для карточек, которые остались в контенте страницы */
.contact_social_card_icon .social_svg
{
	color: #FFFFFF;
}

@media only screen and (max-width: 991px)
{
	.contact_channels
	{
		margin-top: 18px;
	}
}

/* ==========================================================================
   Первый экран страницы контактов
   ========================================================================== */

/*
 * Кадр из операционной занимает правую часть экрана, слева на светлом фоне —
 * заголовок и форма, по центру телефон и мессенджеры. Так контакты видно
 * сразу, без прокрутки.
 */
.contact_hero
{
	position: relative;
	padding-top: 150px;
	padding-bottom: 44px;
	background: linear-gradient(112deg, #f7fbfc 0%, #eef7f9 48%, #e4f1f4 100%);
	overflow: hidden;
}
.contact_hero_photo
{
	position: absolute;
	top: 0;
	right: 0;
	bottom: 0;
	left: 46%;
	z-index: 0;
	pointer-events: none;
	/* слева кадр растворяется в фоне, чтобы не спорить с текстом */
	-webkit-mask-image: linear-gradient(to right, transparent 0%, rgba(0,0,0,0.45) 12%, #000 32%);
	mask-image: linear-gradient(to right, transparent 0%, rgba(0,0,0,0.45) 12%, #000 32%);
}
.contact_hero_photo img
{
	display: block;
	width: 100%;
	height: 100%;
	object-fit: cover;
	object-position: 62% center;
	/* снизу тоже растворяем — иначе у блока остаётся резкая прямая кромка */
	-webkit-mask-image: linear-gradient(to bottom, #000 58%, rgba(0,0,0,0.35) 85%, transparent 100%);
	mask-image: linear-gradient(to bottom, #000 58%, rgba(0,0,0,0.35) 85%, transparent 100%);
}
.contact_hero .container
{
	position: relative;
	z-index: 2;
}
.contact_hero_grid
{
	display: grid;
	grid-template-columns: minmax(0, 1fr);
	gap: 26px;
	align-items: start;
	max-width: 880px;
}
.contact_hero_title
{
	margin: 0;
	font-size: 64px;
	font-weight: 700;
	line-height: 1.02;
	color: #24393e;
}
.contact_hero_subtitle
{
	/* держим текст в светлой части экрана: правее начинается снимок,
	   и на нём буквы теряются */
	max-width: 500px;
	margin-top: 14px;
	font-size: 22px;
	font-weight: 600;
	line-height: 1.3;
	color: #24393e;
}
.contact_hero_text
{
	max-width: 470px;
	margin: 12px 0 0;
	font-size: 14px;
	line-height: 1.7;
	color: #466066;
}

/* форма записи переехала сюда из середины страницы */
.contact_hero .contact_form_container
{
	padding: 0;
	background: none;
	box-shadow: none;
}
.contact_hero .contact_form_title
{
	/* в теме это абсолютная бирюзовая плашка над формой: сбрасываем
	   позиционирование, иначе заголовок ложится поверх первого поля */
	position: static;
	width: auto;
	height: auto;
	margin: 0 0 16px;
	padding: 0;
	background: none;
	line-height: 1.3;
	text-align: left;
	font-size: 17px;
	font-weight: 600;
	color: #24393e;
}
.contact_hero .contact_input
{
	width: 100%;
	margin-bottom: 12px;
}
.contact_hero .contact_button
{
	width: 100%;
	margin-top: 4px;
}

/* ---------- Телефон, часы и мессенджеры ---------- */

.contact_hero_side
{
	padding-top: 10px;
}
.contact_fact
{
	display: flex;
	align-items: flex-start;
	gap: 14px;
}
.contact_fact + .contact_fact
{
	margin-top: 22px;
}
.contact_fact_icon
{
	display: flex;
	align-items: center;
	justify-content: center;
	flex-shrink: 0;
	width: 44px;
	height: 44px;
	border-radius: 50%;
	background: rgba(87, 204, 195, 0.16);
	color: #2fb6ac;
	font-size: 18px;
}
.contact_fact_body
{
	display: block;
}
.contact_fact_label
{
	display: block;
	font-size: 13px;
	/* подпись ложится на светлую часть кадра — тон потемнее для читаемости */
	color: #5c7378;
}
.contact_fact_value
{
	display: block;
	margin-top: 2px;
	font-size: 22px;
	font-weight: 700;
	color: #24393e;
}
.contact_fact_phone,
.contact_fact_phone:hover,
.contact_fact_phone:visited
{
	display: block;
	font-size: 25px;
	font-weight: 700;
	line-height: 1.2;
	color: #24393e;
}
.contact_fact_phone:hover
{
	color: #2fb6ac;
}

.contact_hero_msg
{
	display: flex;
	gap: 22px;
	margin-top: 28px;
}
.contact_hero_msg_item,
.contact_hero_msg_item:hover,
.contact_hero_msg_item:visited
{
	display: flex;
	flex-direction: column;
	align-items: center;
	gap: 8px;
	color: #2c4a50;
	font-size: 13px;
	font-weight: 600;
	-webkit-tap-highlight-color: rgba(47,182,172,0.14);
}
.contact_hero_msg_icon
{
	display: flex;
	align-items: center;
	justify-content: center;
	width: 52px;
	height: 52px;
	border-radius: 50%;
	background: #FFFFFF;
	box-shadow: 0 10px 22px rgba(31, 45, 61, 0.12);
	color: #2fb6ac;
	font-size: 21px;
	-webkit-transition: all 200ms ease;
	transition: all 200ms ease;
}
.contact_hero_msg_icon .social_svg
{
	width: 20px;
	height: 20px;
	color: #2fb6ac;
}
.contact_hero_msg_item:hover .contact_hero_msg_icon
{
	background: #2fb6ac;
	color: #FFFFFF;
	box-shadow: 0 12px 26px rgba(47,182,172,0.34);
}
.contact_hero_msg_item:hover .contact_hero_msg_icon .social_svg
{
	color: #FFFFFF;
}

/* ---------- Цитата и подпись на снимке ---------- */

/* ---------- Карта клиник ---------- */

.contact_map_section
{
	padding-top: 44px;
	padding-bottom: 64px;
	background: #FFFFFF;
}
.contact_map_section .section_title_container
{
	margin-bottom: 0;
}
.contact_map_wrap
{
	margin-top: 26px;
	border-radius: 18px;
	overflow: hidden;
	box-shadow: 0 22px 48px rgba(31, 45, 61, 0.14);
}
.contact_map
{
	width: 100%;
	height: 460px;
	background: #eef3f5;
}
.contact_map .leaflet-popup-content
{
	margin: 14px 16px;
	font-family: 'Onest', sans-serif;
}
.contact_map_point_city
{
	font-size: 11px;
	letter-spacing: 1px;
	text-transform: uppercase;
	color: #93a0a5;
}
.contact_map_point_name
{
	margin-top: 3px;
	font-size: 15px;
	font-weight: 600;
	color: #2c3e42;
}
.contact_map_point_address
{
	margin-top: 4px;
	font-size: 13px;
	line-height: 1.5;
	color: #6b767d;
}
.contact_map_point_link
{
	display: inline-block;
	margin-top: 8px;
	font-size: 13px;
	font-weight: 600;
	color: #2fb6ac;
}
.contact_map_pin
{
	display: flex;
	align-items: center;
	justify-content: center;
	width: 30px;
	height: 30px;
	border-radius: 50% 50% 50% 0;
	background: #2fb6ac;
	border: 2px solid #FFFFFF;
	box-shadow: 0 6px 14px rgba(31, 45, 61, 0.25);
	-webkit-transform: rotate(-45deg);
	transform: rotate(-45deg);
}
.contact_map_pin span
{
	width: 8px;
	height: 8px;
	border-radius: 50%;
	background: #FFFFFF;
}

/* ---------- Планшет и телефон ---------- */

@media only screen and (max-width: 1199px)
{
	.contact_hero_grid
	{
		grid-template-columns: minmax(0, 1fr) minmax(0, 290px);
		gap: 32px;
	}
	.contact_hero_title
	{
		font-size: 52px;
	}
}

@media only screen and (max-width: 991px)
{
	.contact_hero
	{
		padding-top: 118px;
		padding-bottom: 44px;
	}
	.contact_hero_photo
	{
		left: 0;
		opacity: 0.32;
	}
	.contact_hero_photo img
	{
		-webkit-mask-image: none;
		mask-image: none;
		object-position: 70% center;
	}
	.contact_hero_grid
	{
		grid-template-columns: minmax(0, 1fr);
		gap: 28px;
	}
	.contact_hero_title
	{
		font-size: 42px;
	}
	.contact_hero_subtitle
	{
		font-size: 19px;
	}
	.contact_map
	{
		height: 380px;
	}
	.contact_map_section
	{
		padding-top: 36px;
		padding-bottom: 46px;
	}
}

@media only screen and (max-width: 767px)
{
	.contact_hero
	{
		padding-top: 100px;
	}
	.contact_hero_title
	{
		font-size: 34px;
	}
	.contact_hero_subtitle
	{
		font-size: 17px;
	}
	.contact_hero_msg
	{
		gap: 16px;
	}
	.contact_hero_msg_icon
	{
		width: 48px;
		height: 48px;
	}
	.contact_hero .contact_form_container
	{
		padding: 22px 18px 20px;
	}
	.contact_map
	{
		height: 320px;
	}
}

/* тайлы OSM яркие сами по себе — приглушаем, чтобы карта не спорила с сайтом */
.contact_map .leaflet-tile-pane
{
	-webkit-filter: saturate(0.5) brightness(1.04) contrast(0.96);
	filter: saturate(0.5) brightness(1.04) contrast(0.96);
}
.contact_map .leaflet-control-attribution
{
	font-size: 10px;
	background: rgba(255,255,255,0.8);
}

/* переключатель городов над картой */
.contact_map_cities
{
	display: flex;
	justify-content: center;
	gap: 10px;
	margin-top: 22px;
}
.contact_map_city
{
	min-height: 42px;
	padding: 0 22px;
	border: 1px solid #e3ecee;
	border-radius: 24px;
	background: #f4f8f9;
	color: #2c4a50;
	font-family: inherit;
	font-size: 14px;
	font-weight: 600;
	cursor: pointer;
	-webkit-transition: all 200ms ease;
	transition: all 200ms ease;
}
.contact_map_city:hover
{
	border-color: #cfe9e5;
	background: #e9f6f4;
}
.contact_map_city.is_active
{
	background: #2fb6ac;
	border-color: #2fb6ac;
	color: #FFFFFF;
}
.contact_map_wrap
{
	margin-top: 18px;
}

/* ==========================================================================
   Адреса клиник
   ========================================================================== */

/*
 * Плитки одинаковой высоты: в прежнем варианте карточки из базы разъезжались
 * по высоте из-за разной длины адреса, а между блоками оставались провалы.
 */
.clinics_section
{
	padding-top: 56px;
	padding-bottom: 10px;
	background: #FFFFFF;
}
.clinics_section .section_title_container
{
	margin-bottom: 26px;
}
.clinics_grid
{
	display: grid;
	grid-template-columns: repeat(4, minmax(0, 1fr));
	gap: 18px;
}
.clinic_tile
{
	display: flex;
	flex-direction: column;
	padding: 22px 22px 18px;
	border: 1px solid #e6eef0;
	border-radius: 14px;
	background: #FFFFFF;
	color: #2c3e42;
	box-shadow: 0 8px 22px rgba(31, 45, 61, 0.06);
	-webkit-transition: all 200ms ease;
	transition: all 200ms ease;
}
.clinic_tile:hover
{
	border-color: #cfe9e5;
	box-shadow: 0 16px 34px rgba(31, 45, 61, 0.12);
	-webkit-transform: translateY(-3px);
	transform: translateY(-3px);
}
.clinic_tile_city
{
	display: inline-block;
	align-self: flex-start;
	margin-bottom: 12px;
	padding: 5px 12px;
	border-radius: 20px;
	background: #eaf6f5;
	font-size: 10.5px;
	font-weight: 700;
	letter-spacing: 1.1px;
	text-transform: uppercase;
	color: #2c9e96;
}
.clinic_tile_name
{
	font-size: 17px;
	font-weight: 600;
	line-height: 1.3;
	color: #24393e;
}
.clinic_tile_address
{
	margin-top: 8px;
	font-size: 13.5px;
	line-height: 1.55;
	color: #6b767d;
}
.clinic_tile_address .fa
{
	margin-right: 5px;
	color: #2fb6ac;
}
.clinic_tile_metro
{
	display: flex;
	align-items: center;
	gap: 7px;
	margin-top: 10px;
	font-size: 13px;
	color: #8b9aa0;
}
.clinic_tile_metro .metro_icon
{
	width: 15px;
	height: 15px;
	flex-shrink: 0;
}
/* Москва — своя метка города, чтобы города различались с первого взгляда */
.clinic_tile:last-child .clinic_tile_city
{
	background: #eef2fb;
	color: #5a6ea8;
}

@media only screen and (max-width: 1199px)
{
	.clinics_grid
	{
		grid-template-columns: repeat(2, minmax(0, 1fr));
	}
}

@media only screen and (max-width: 575px)
{
	.clinics_grid
	{
		grid-template-columns: minmax(0, 1fr);
		gap: 14px;
	}
	.clinics_section
	{
		padding-top: 42px;
	}
}


/* ---------- Карточка: заявка и способы связи вместе ---------- */

/*
 * Раньше форма была отдельной плашкой, а телефон с мессенджерами висел рядом
 * просто текстом — блок читался как два несвязанных куска. Теперь это одна
 * карточка с разделителем.
 */
.contact_card
{
	display: grid;
	grid-template-columns: minmax(0, 1fr) minmax(0, 300px);
	background: #FFFFFF;
	border-radius: 18px;
	box-shadow: 0 22px 48px rgba(31, 45, 61, 0.14);
	overflow: hidden;
}
.contact_card_form
{
	padding: 28px 30px 24px;
}
.contact_card_side
{
	padding: 28px 28px 24px;
	background: #f7fbfb;
	border-left: 1px solid #e9f1f2;
}
.contact_card_note
{
	display: flex;
	align-items: center;
	gap: 8px;
	margin-top: 14px;
	font-size: 12px;
	line-height: 1.5;
	color: #93a0a5;
}
.contact_card_note i
{
	color: #b3c1c4;
}
.contact_card_msg_title
{
	margin-top: 26px;
	margin-bottom: 12px;
	font-size: 12px;
	font-weight: 700;
	letter-spacing: 1.1px;
	text-transform: uppercase;
	color: #93a0a5;
}
.contact_card .contact_fact + .contact_fact
{
	margin-top: 18px;
}
.contact_card .contact_hero_msg
{
	margin-top: 0;
	gap: 16px;
}
.contact_card .contact_hero_msg_icon
{
	width: 46px;
	height: 46px;
	font-size: 19px;
	box-shadow: 0 8px 18px rgba(31, 45, 61, 0.1);
}
.contact_card .contact_fact_phone
{
	font-size: 23px;
}

@media only screen and (max-width: 767px)
{
	.contact_card
	{
		grid-template-columns: minmax(0, 1fr);
	}
	.contact_card_side
	{
		border-left: 0;
		border-top: 1px solid #e9f1f2;
	}
	.contact_card_form,
	.contact_card_side
	{
		padding: 22px 20px 20px;
	}
}
