:root {
	
	--bg-grey: rgb(242, 244, 247);
	--color-dark: #373E3E;
	--color-white: #FFFFFF;
	--color-light: #f5f8fa;
	--color-main-black: #2b2f33;
	--color-green: #1EDE7B;
	--color-dark-green: #149955;
	--color-secondary-grey: #707a8a;
	--bg-light-grey: #f9fafc;
}

html {
    
	position: relative;
    min-height: 100%;
    height: 100%;

}

@font-face {
	
	font-family: 'GolosText';	
	font-weight: 400 900;
	src: url('/custom/static/fonts/patientdoc.ru/GolosText-VariableFont_wght.ttf') format('truetype');
}

body {
	
	min-height: 100%;
    display: grid;
    grid-template-rows: 1fr auto;
    height: auto;
    font-family: GolosText, Inter;
    background: #fff;
	
}

html, body {

	max-width: 100%;	
	
}

.page-wrapper {
	
	position: relative;	
	
}

.overflow-x-hidden {
	
	overflow-x: hidden;
	
}

h1, h2, h3, h4, h5, input, .dropdown-menu {
	
	font-family: GolosText, Inter;
	
}

.color-secondary-grey {
	
	color: var(--color-secondary-grey);
	
}

.h-120px {
	
	height: 120px;
	
}

.font-size-05rem {
	
	font-size: .5rem !important;
	
}

.font-size-065rem {
	
	font-size: .65rem !important;
	
}

.font-size-075rem {
	
	font-size: .75rem !important;
	
}

.font-size-085rem {
	
	font-size: .85rem !important;
	
}

.font-size-09rem {
	
	font-size: .9rem !important;
	
}

.font-size-095rem {
	
	font-size: .95rem !important;
	
}

.font-size-1rem {
	
	font-size: 1rem !important;
	
}

.font-size-115rem {
	
	font-size: 1.15rem !important;
	
}

.font-size-125rem {
	
	font-size: 1.25rem !important;
	
}

.font-size-15rem {
	
	font-size: 1.5rem !important;
	
}

.font-size-175rem {
	
	font-size: 1.75rem !important;
	
}

.font-size-2rem {
	
	font-size: 2rem !important;
	
}

.font-size-3rem {
	
	font-size: 3rem !important;
	
}

.font-weight-100 {
	
	font-weight: 100;
	
}

.font-weight-200 {
	
	font-weight: 200;
	
}

.font-weight-300 {
	
	font-weight: 300;
	
}

.font-weight-400 {
	
	font-weight: 400;
	
}

.font-weight-500 {
	
	font-weight: 500;
	
}

.font-weight-600 {
	
	font-weight: 600;
	
}

.font-weight-700 {
	
	font-weight: 700;
	
}

.font-weight-800 {
	
	font-weight: 800;
	
}

.font-weight-900 {
	
	font-weight: 900;
	
}

.nowrap {
	
	white-space: nowrap;
	
}

.line-height-1 {
	
	line-height: 1 !important;
	
}

.line-height-115 {
	
	line-height: 1.15 !important;
	
}

.line-height-125 {
	
	line-height: 1.25 !important;
	
}

.line-height-150 {
	
	line-height: 1.5 !important;
	
}

.cursor-pointer {
	
	cursor: pointer !important;
	
}

.rounded-1 {
	
	border-radius: 1rem !important;
	
}

.list-style-none {
	
	list-style: none;
	
}

a {
	
	color: #373E3E;
	
}

a:hover {
	
	color: #000;
	
}

.gap-05rem {
	
	gap: .5rem;
	
}

.gap-125rem {
	
	gap: 1.25rem;
	
}

.gap-1rem {
	
	gap: 1rem;
	
}

.gap-15rem {
	
	gap: 1.5rem;
	
}

.gap-175rem {
	
	gap: 1.75rem;
	
}

.gap-2rem {
	
	gap: 2rem;
	
}

.btn-secondary {
	
	--bs-btn-bg: #373E3E;
	
}

.btn-secondary:hover {
	
	background-color: #000 !important;
	border-color: #000 !important;
	
}

.btn-white {
	
	background: var(--color-white);
	color: var(--color-main-black) !important;
	
}

.btn-white:hover {
	
	background-color: rgba(255, 255, 255, .9) !important;
	color: var(--color-main-black) !important;
	
}

.btn-primary {
	
	background-color: var(--color-green) !important;
	border-color: var(--color-green) !important;
	
}

.btn-primary:hover {
	
	background-color: rgba(30,222,123,.85) !important;
	
}

.redirect-to-sign-btn {

	transition: background-color 0.5s ease;
	transition: border-color 0.5s ease;
	border-color: transparent !important;
	
}

.color-dark-green {
	
	color: var(--color-dark-green);
	
}

header.index {
	
	position: absolute;
	top: 0;
	left: 0;
	width: 100%;
	z-index: 1;
	
}

header .nav-block {
	
	background: var(--bg-grey);
	border-radius: 1rem;
	
}

header .top-menu {
	
	gap: 1.5rem;
	
}

header .logo {
	
	height: 2.25rem;
	
}

.hero {
	
	height: calc(100vh);
	min-height: 600px;
	
}

.hero h1 {
	
	font-size: 3rem;
	color: var(--color-white);
	
}

.document-form {
	
	background: var(--color-white);
	border-radius: 1rem;
	
}

.document-form input {
	
	font-size: 1.25rem;
	border: none;
	background: transparent;
	color: var(--color-main-black);
	
}

footer {
	
	grid-row-start: 2;
    grid-row-end: 3;
    background-color: var(--color-dark);
    color: var(--color-light);
	
}

.logo-footer {
	
	height: 2.5rem;
	
}

.footer-divide {
	
	background-color: #979fa833;
    height: 1px;
	
}

.footer-socials-body {
	
	grid-column-gap: 1.25rem;
	grid-row-gap: 1.75rem;
	flex-flow: wrap;
	
}

.footer-socials-body a {
	
	background-color: var(--color-green);
	border-radius: 50%;
	transition: background-color .2s;
	width: 36px;
	height: 36px;
	min-width: 36px;
	min-height: 36px;
	
}

.footer-phone {
    
	color: var(--color-white);
	font-size: 1.5rem;
	    
}

.footer-phone:hover {
	
	color: rgba(255,255,255,.9);
	
}

.footer-info-link {
	
	color: #909090;
	
}

.footer-info-link:hover {
	
	color: rgba(255,255,255,.75);
	
}

.white-popup {
	
	border-radius: 1rem;
	
}

.metrics-block {
	
	background: var(--bg-light-grey);
	border-radius: 1.5rem;
	
}

.bg-grey {
	
	background: var(--bg-grey);
	
}

.dropdown-menu {

    border-radius: 1rem;
    border: none;
	box-shadow: 0 -2px 17px 4px #0000001a;
	overflow: hidden;
    
}

.section-block {
	
	background: var(--bg-grey);
	border-radius: 1rem;
	
}

.cities-block-0 {
	
	background: #1ede7b;
	
}

.cities-block-0 a {
	
	color: #fff;
	
}

.cities-block-0 a:hover {
	
	color: rgba(255,255,255,.9);
	
}

.cities-block-1 {
	
	background: #d2f8e5;
	
}

.cities-block-2 {
	
	background: #e8ffbf;
	
}

.cities-block-3 {
	
	background: #ebf3ff;
	
}

.cities-block-1 a, .cities-block-2 a, .cities-block-3 a {

	color: #2b2f33;
	
}

.clinics-city-form {
	
	position: relative;
	z-index: 3;
	outline: 2px solid #1ede7b;
	border-radius: 1rem;
	background-color: var(--color-white);
	
}

.clinics-input {
	
	font-size: 1.25rem;
    border: none;
    background: transparent;
    color: var(--color-main-black);
	
}

.clinics-input:focus {
	
	box-shadow: none !important;
	
}

.clinics-city-form button {
	
	border-radius: 1rem;
	
}

.block-light-green {
	
	background: #d2f8e5;
	color: #2b2f33;
	border-radius: 1rem;
	
}

.block-lighter-green {
	
	background: #e8fcf2;
	color: #2b2f33;
	border-radius: 1rem;
	
}

.block-blue {
	
	background: #233cc8;
	color: #fff;
	border-radius: 1rem;
	
}

.block-black {
	
	background: #191b1e;
	color: #fff;
	border-radius: 1rem;
	
}

.block-ids {
	
	background-image: url('/userfiles/images/patientdoc/soglasie.svg');
	background-repeat: no-repeat;    
	background-position: calc(100% + 44px) bottom;
	background-size: auto 50%;
	
}

.cookies-message {
	
	position: fixed;
	bottom: 3rem;
	width: 100%;
	display: none;
	z-index: 100;	
	
}

.cookies-message.visible {

	display: block;

}

.cookies-body {

	background: var(--color-white);
    border-radius: 1rem !important;
    box-shadow: 0 0 24px 0 rgba(0, 0, 0, .06), 0 2px 12px 0 rgba(0, 0, 0, .08);
    
}

.swiper {
	
	z-index: 1;
	grid-column-gap: 1rem;
	grid-row-gap: 1rem;
	flex-flow: column;
	position: relative;
	overflow: visible;
	
}

.swiper-slide {
	
	grid-column-gap: 1rem;
	grid-row-gap: 1rem;
	flex: none;
	width: 25%;
	height: auto;
	display: flex;
	
}

.slider-viewport {
	
	overflow-x: clip;
	position: relative;
	
}

.clinics-swiper {
	
	width: 100%;
	max-width: calc(100vw - 4rem);
	
}

.slider-container {
	
	padding-left: 0;
	padding-right: 0;
	
}

.clinics-swiper .swiper-slide {
	
	margin-right: 1rem;
	
}

.swiper-warapper {
	
	justify-content: flex-start;
    align-items: stretch;
    display: flex;
    position: relative;
    width: 100%;
    height: 100%;
    z-index: 1;
	
}

.clinic-card, .company-card {
	
	border-radius: 1rem;
    text-decoration: none;
    display: flex;
    box-shadow: 0 1.75rem 1.75rem #1c273b0d, 0 4px 8px #2761b303, 0 16px #2761b30a;
    background-color: var(--background, #fff);
    box-shadow: 0 4px 16px rgba(0, 51, 153, .04), 0 2px 2px rgba(0, 51, 153, .08);
    color: var(--color, #2b2f33);
    transform: translateY(0);
    transition: transform .15s ease-out, box-shadow .15s ease-out;
    will-change: transform;
    	
}

.company-card {
	
	border: solid 1px #eee;
	
}

.clinic-card:hover, .company-card:hover {
	
	box-shadow: 0 8px 20px rgba(0, 51, 153, .08), 0 4px 8px rgba(0, 51, 153, .08);
    color: var(--hover-color, var(--color, #2b2f33));
    transform: translateY(-2px);
	
}

.clinic-card .address {
	
	color: #2b2f33;
	
}

.clinic-card .clinic-logo {
	
	height: 2.5rem;
	
} 

.company-card .company-logo {
	
	height: 3.5rem;
	
}

.clinic-card .how-much strong {
	
	background: var(--color-green);
	color: var(--color-white);
	border-radius: .5rem;
	
}

.color-green {
	
	color: var(--color-green);
	
}

.company-filter {
	
	background: #f4f5f7;
    border-radius: 1rem !important;
    box-shadow: 0 4px 16px rgba(0, 51, 153, .04), 0 2px 2px rgba(0, 51, 153, .08);
    position: sticky;
    top: 1rem;
    z-index: 1;
	
}

.page-info-block {
	
	background-color: #f2f4f7;
    box-shadow: 0 4px 16px rgba(0, 51, 153, .04), 0 2px 2px rgba(0, 51, 153, .08);
    color: #2b2f33;
	border-radius: 1.5rem;    
	
}

.paginator-wrapper {
	
	background: #f4f5f7;
    border-radius: 2rem;
	
}

.paginator .active-page {
	
	background: #fff;
    border-radius: 50%;
	
}

.regions-grid {
	
	grid-template-columns: repeat(4, 1fr);
	
}

.alphabet-index {
	
	border-radius: 1rem;
	background: var(--bg-grey);
	position: sticky;
	top: 1rem;
	z-index: 1;
	box-shadow: 0 4px 16px rgba(0, 51, 153, .04), 0 2px 2px rgba(0, 51, 153, .08);
	
}

.letter-index {
	
	position: absolute;
	top: 0;
	left: 0;
	scroll-margin-top: 80px;
	
}

.max-w-100 {
	
	max-width: 100%;
	
}

.alphabet-index a.disabled {
	
	color: #aaa;
	
}

.autocomplete-block {
	
	position: relative;
	
}

.autocomplete-wrapper {
	
	position: absolute;
	z-index: 2;
	top: 0;
	left: 0;
	max-height: 300px;
	overflow-y: auto;
	
}

.autocomplete-wrapper li {

	cursor: pointer;

}

.autocomplete-wrapper li:hover {

	background-color: #f0f0f0;

}

@media only screen and (max-width: 768px) {		
	
	header .logo {
		
		height: 1.75rem;
		
	}
	
	.redirect-to-sign-btn {
		
		font-size: 1.5rem;
		
	}
	
	.document-input {
		
		text-align: center;
		font-size: 1rem !important;
		
	}
	
	.block-ids {
		
		background-image: none;
		
	}
	
	.regions-grid {

		grid-template-columns: repeat(1, 1fr);

	}
	
	.alphabet-index-wrapper {
		
		max-width: calc(100vw - 2rem);
		overflow-x: scroll;
		
	}
	
}

@media screen and (min-width: 576px) {
	
	.w-sm-25 {

		width: 25% !important;

	}
	
	.w-sm-50 {

		width: 50% !important;

	}
	
	.w-sm-75 {

		width: 75% !important;

	}
	
	.w-sm-100 {

		width: 100% !important;

	}
	
}

@media screen and (min-width: 1440px) {


}

@media screen and (min-width: 1280px) {


}