/* RESET CSS */
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 {
	margin: 0;
	padding: 0;
	border: 0;
	font-size: 100%;
	font: inherit;
	vertical-align: baseline;
}
/* HTML5 display-role reset for older browsers */
article, aside, details, figcaption, figure, 
footer, header, hgroup, menu, nav, section {
	display: block;
}
body {
	line-height: 1;
}
ol, ul {
	list-style: none;
}
blockquote, q {
	quotes: none;
}
blockquote:before, blockquote:after,
q:before, q:after {
	content: '';
	content: none;
}
table {
	border-collapse: collapse;
	border-spacing: 0;
}

@font-face {
    font-family: 'geomb';
    src: url('../fonts/subset-Geomanist-Book.woff2') format('woff2'),
        url('../fonts/subset-Geomanist-Book.woff') format('woff');
    font-weight: normal;
    font-style: normal;
}

@font-face {
    font-family: 'geom';
    src: url('../fonts/subset-Geomanist-Bold.woff2') format('woff2'),
        url('../fonts/subset-Geomanist-Bold.woff') format('woff');
    font-weight: 700;
    font-style: normal;
}

@font-face {
    font-family: 'geom';
    src: url('../fonts/subset-Geomanist-Regular.woff2') format('woff2'),
        url('../fonts/subset-Geomanist-Regular.woff') format('woff');
    font-weight: 400;
    font-style: normal;
}


/* GLOBAL */
html {
    height: auto;
    position: relative;
    width: 100%;
}

:root {
	--text-color: #616161;
	--text-color-dark: #212121;
	--text-color-red: #ef5350;
	--text-color-white: #fff;
	--color-light-gray: #fafafa;
	--color-gray: #e6e6e6;
}

body{
	font-family: 'Source Sans Pro', sans-serif;
	height: auto;
	font-weight: 400;
	font-size: 16px;
	line-height: 24px;
	color: var(--text-color);
    position: relative;
    width: 100%;
}

.font-geom{
	font-family: 'geom';
}

.font-geomb{
	font-family: 'geomb';
}

*, *::before, *::after{
	-moz-box-sizing: border-box;
	-webkit-box-sizing: border-box;
	box-sizing: border-box;
}

p{
	font-weight: 400;
	font-size: 16px;
	line-height: 24px;
}

p.bigger, .bigger{
	font-weight: 400;
	font-size: 24px;
	line-height: 32px;
}

strong{
	font-weight: 700;
}

.semibold{
	font-weight: 600;
}

a{
	text-decoration: none;
	color: inherit;
}

.button, .button-big, .users a, .shops .tabs .head a, .shops .tabs .head a::after,
.bottom .copy a, .bottom .right a, .banner .logos a, .hospitals .buts a  {
	-webkit-transition: all 300ms ease;
	-moz-transition: all 300ms ease;
	-ms-transition: all 300ms ease;
	-o-transition: all 300ms ease;
	transition: all 300ms ease;
}

.button{
	font-size: 16px;
	line-height: 24px;
	line-height: 1.5;
	letter-spacing: -0.2px;
	padding: 6px 24px;
	border-radius: 24px;
}

.button:hover, .button-big:hover{
	opacity: 0.7;
}

.button-white{
	font-family: 'geomb';
	border: solid 2px #e0e0e0;
	background-color: #ffffff;
	color: var(--text-color-red);
}

.button-red{
	font-family: 'geom';
	font-weight: 700;
	border: solid 2px var(--text-color-red);
	background-color: var(--text-color-red);
	color: var(--text-color-white);
}

.button-big{
	font-family: 'geom';
	font-weight: 700;
	font-size: 20px;
	font-weight: 700;
	line-height: 1.2;
	letter-spacing: -0.25px;
	height: 56px;
	padding: 12px 35px;
	border-radius: 24px;
}

.button-red-bordered{
	border: 2px solid var(--text-color-red);
	background-color: var(--text-color-red);
	color: var(--text-color-white);
}

.full{
	position: relative;
	width: 100%;
}

.font-normal{
	font-weight: 400;
}

h1,h2,h3,h4,h5,h6{
	font-family: 'geom';
	font-weight: 700;
}

h1, h1.h1-style,h2.h1-style, h3.h1-style{
	font-size: 48px;
	font-weight: 700;
	line-height: 1.21;
	letter-spacing: -0.5px;
}

h2, h1.h2-style,h2.h2-style, h3.h2-style{
	font-size: 36px;
	font-weight: 700;
	line-height: 1.22;
	letter-spacing: -0.25px;
}

h3, h1.h3-style,h2.h3-style, h3.h3-style{
	font-size: 20px;
	font-weight: 400;
	line-height: 1.2;
	letter-spacing: -0.25px;
}

.top{
	background: var(--text-color-white);
	height: 68px;
	box-shadow: 0 2px 4px 0 rgba(0, 0, 0, 0.15);
	z-index: 10;
}

.container{
	width: 100%;
	max-width: 1170px;
	margin: 0 auto;
	padding: 0 15px;
}

.top .container{
	display: flex;
	justify-content: flex-end;
	position: relative;
}

.top .logo{
	position: absolute;
	top: 24px;
	left: -15px;
}

.top .buttons{
	margin-top: 21px;
}

.top .buttons .button{
	margin-left: 16px;
}

.banner{
	height: 667px;
	background: url(../img/headline.jpg) no-repeat center top transparent;
	background-size: cover;
}

.banner .logo{
	margin-left: -34px;
}

.banner .container{
	padding-top: 27px;
}

.banner *{
	color: var(--text-color-white);
}

.banner .desc{
	margin-top: 20px;
}

.banner .but{
	display: block;
	margin-top: 67px;
}

.banner .h1-style{
	margin-top: 33px;
	text-shadow: 0 2px 6px rgba(0, 0, 0, 0.25);
}

.banner p.bigger{
	font-family: 'geom';
	max-width: 440px;
	text-shadow: 0 2px 6px rgba(0, 0, 0, 0.25);
}

.banner p.but{
	font-size: 18px;
	line-height: 1.33;
	text-shadow: 0 2px 6px rgba(0, 0, 0, 0.25);
}

.banner .logos{
	text-align: left;
	padding: 7px 0;
	margin-left: -10px;
}

.banner .logos a:hover{
	opacity: 0.9;
}

.steps{
	background-color: var(--text-color-white);
	padding: 63px 0;
}

.steps-boxes{
	margin: 66px auto 0;
	max-width: 1040px;
	width: 100%;
	position: relative;
	display: flex;
	justify-content: space-between;
}

.steps-boxes::before{
	content: "";
	display: block;
	position: absolute;
	width: 100%;
	height: 2px;
	background-color: var(--color-gray);
	top: 24px;
}

.steps-boxes .box{
	width: 33%;
	max-width: 290px;
	position: relative;
}

.steps-boxes .box:nth-child(1)::before{
	content: "";
	display: block;
	position: absolute;
	width: 50%;
	height: 100px;
	background-color: var(--text-color-white);
	z-index: 0;
	left: 0;
	top: 0;
}

.steps-boxes .box:nth-child(3)::before{
	content: "";
	display: block;
	position: absolute;
	width: 50%;
	height: 100px;
	background-color: var(--text-color-white);
	z-index: 0;
	right: 0;
	top: 0;
}

.steps-boxes .box .counter{
	width: 100%;
	height: 60px;
	position: relative;
	z-index: 1;
	display: flex;
	justify-content: center;
	margin-bottom: 10px;
}

.steps-boxes .box .h3-style, .steps-boxes .box p{
	position: relative;
	z-index: 1;
	text-align: center;
}

.steps-boxes .box .h3-style{
	margin-bottom: 10px;
	color: var(--text-color-dark);
	font-family: geomb;
}

.steps-boxes .box p {
	max-width: 260px;
	margin-left: auto;
	margin-right: auto;
}

.steps .h2-style{
	text-align: center;
	color: var(--text-color-dark);
}

.circle{
	width: 48px;
	height: 48px;
	box-shadow: 0 1px 4px 0 rgba(0, 0, 0, 0.05);
	border: solid 1px var(--color-gray);
	background-color: var(--text-color-white);
	display: flex;
	align-items: center;
	justify-content: center;
	border-radius: 50%;
}

.circle .number{
	font-size: 20px;
	font-weight: bold;
	line-height: 1.2;
	color: var(--text-color-red);
}

.logos{
	padding: 65px 0;
	text-align: center;
}

.logos .users{
	margin-top: 20px;
}

.users{
	display: flex;
	flex-wrap: wrap;
	justify-content: center;
}

.users a + a{
	margin-left: 31px;
}

.users a:hover{
	opacity: 0.7;
}


.i-boxes{
	padding: 60px 0;
	background-color: var(--text-color-red);
}

.i-boxes .h2-style{
	color: var(--text-color-white);
	text-align: center;
	margin-bottom: 69px;
}

.info-boxes{
	display: flex;
}

.info-boxes .box{
	width: 25%;
	min-height: 170px;
	position: relative;
	text-align: center;
	padding: 0 24px;
}

.info-boxes .box::before{
	content: "";
	display: none;
	position: absolute;
	right: 0;
	top: -15px;
	height: calc( 100% + 30px );
	width: 1px;
	background-color: var(--text-color-white);
	opacity: 0.5;
}

.info-boxes .box:last-child::before{
	display: none;
}

.info-boxes .box i{
	color: var(--text-color-white);
	font-size: 48px;
}

.info-boxes .box  .h3-style{
	font-weight: 700;
	margin-top: 4px;
	margin-bottom: 14px;
	color: var(--text-color-white);
}

.info-boxes .box  p{
	color: var(--text-color-white);
}

.shops{
	text-align: center;
	padding: 58px 0;
}

.shops .tabs{
	margin-top: 82px;
	position: relative;
	width: 100%;
}

.shops .tabs .head{
	display: flex;
	width: 100%;
	font-size: 16px;
	color: var(--text-color);
	justify-content: center;
	border-bottom: 1px solid #dee0e2;
}

.shops .tabs .head a{
	display: inline-block;
	padding: 5px 30px;
	font-weight: 600;
	padding: 7px 35px 4px;
	border: solid 1px transparent;
	border-bottom: 0px solid transparent;
	border-radius: 7px 7px 0 0;
	position: relative;
}

.shops .tabs .head a:hover{
	color: rgba(97,97,97,0.7);
}

.shops .tabs .head a::after{
	display: block;
	content: "";
	width: 100%;
	height: 5px;
	background-color: #fff;
	position: absolute;
	bottom: -3px;
	left: 0;
	opacity: 0;
}

.shops .tabs .head a.active{
	color: var(--text-color-red);
	border: solid 1px #dee0e2;
	border-bottom: 0px solid transparent;
}

.shops .tabs .head a.active:hover{
	color: rgba(239,83,80,0.7);
}

.shops .tabs .head a.active::after{
	opacity: 1;
}

.shops .tabs .body{
	position: relative;
	margin-top: 36px;
	min-height: 440px;
}

.shops .tabs .body .content{
	position: relative;
	display: none;
}

.shops .h2-style{
	color: var(--text-color-dark);
}

.online-boxes{
	display: flex;
	flex-wrap: wrap;
}

.online-boxes .box{
	min-height: 160px;
	width: calc( ( 100% - 180px ) / 6 );
	margin-left: 36px;
	border-radius: 12px;
	box-shadow: 0 1px 4px 0 rgba(0, 0, 0, 0.05);
	border: solid 1px var(--color-gray);
	background-color: var(--text-color-white);
	padding: 5px 15px;
	margin-bottom: 37px;
}

.online-boxes .box:nth-child(6n+1){
	margin-left: 0;
}

.online-boxes .box .logo{
	text-align: center;
}

.online-boxes .box .logo img{
	max-width: 100%;
}

.online-boxes .box p{
	color: #757575;
	margin-top: -3px;
	font-size: 14px;
}

.shops .tabs .body .content .link{
	text-align: center;
	font-size: 20px;
	line-height: 1.2;
}

.more-link{
	font-size: 20px;
	line-height: 1.2;
	color: var(--text-color-red);
	text-decoration: underline;
}

.shops-boxes{
	display: flex;
	flex-wrap: wrap;
}

.shops-boxes .box{
	min-height: 160px;
	width: calc( ( 100% - 72px ) / 3 );
	margin-left: 36px;
	border-radius: 12px;
	box-shadow: 0 1px 4px 0 rgba(0, 0, 0, 0.05);
	border: solid 1px var(--color-gray);
	background-color: var(--text-color-white);
	padding: 20px 30px 40px;
	margin-bottom: 37px;
}

.shops-boxes .box .h3-style{
	color: var(--text-color-dark);
	margin-top: 10px;
	margin-bottom: 10px;
}


.shops-boxes .box .logo{
	min-height: 126px;
}

.shops-boxes .box:nth-child(3n+1){
	margin-left: 0;
}

.shops-boxes .box p{
	min-height: 125px;	
}

.online-addition-info{
	display: flex;
	flex-wrap: wrap;
	margin-top: 61px;
}

.online-addition-info .box{
	width: calc( (100% - 72px) / 3 );
	margin-left: 36px;;
	text-align: center;
}

.online-addition-info .box:nth-child(3n+1){
	margin-left: 0;
}

.online-addition-info .box .icon{
	display: block;
	text-align: center;
	min-height: 48px;
}

.online-addition-info .box .h3-style{
	color: var(--text-color-dark);
	margin-bottom: 10px;
	font-family: geomb;
}

.contact{
	height: 990px;
}

.bottom{
	margin-top: 22px;
}

.bottom .container{
	display: flex;
	justify-content: space-between;
	color: #9e9e9e;
	position: relative;
	padding-top: 46px;
	padding-bottom: 46px;
}

.bottom .container::before{
	content: "";
	position: absolute;
	display: block;
	width: calc( 100% - 30px );
	height: 1px;
	left: 15px;
	top: 0;
	background-color: rgba(0,0,0,0.1);
}

.bottom .copy{
	display: flex;
	align-items: center;
}

.bottom .copy span{
	margin-top: -11px;
}

.bottom .copy img{ 
	margin-left:  10px;
}


.bottom .copy a:hover{
	opacity: 0.7;
}

.bottom .right{
	display: flex;

}

.bottom .right a + a{
	margin-left: 12px;
}

.bottom .right a:hover{
	opacity: 0.7;
}

.bottom .right a{
	margin-top: -5px;
}

.bottom .right a.circle{
	margin-top: -9px;
}

.bottom .right a.circle i{
	font-size: 22px;
	color: var(--text-color-dark);
}

.bottom .right a.circle.yt{
	margin-left: 30px;
}

.bottom .right .circles{
	display: flex;
}

.infoData{
	text-align: center;
	background: var(--color-light-gray);
	margin-top: 12px;
}

.infoData .container{
	display: flex;
	padding-top: 60px;
	padding-bottom: 60px;
}

.infoData .box{
	width: calc( ( 100% - 72px ) / 3 );
	margin-left: 36px;
}

.infoData .box:nth-child(3n+1){
	margin-left: 0;
}

.infoData .box p{
	font-size: 24px;
	line-height: 1.17;
	color: var(--text-color);
	margin-top: 13px;
}

.infoData .box  .h1-style{
	color: var(--text-color-dark);
}

.hospitals .container{
	display: flex;
	padding-top: 61px;
	padding-bottom: 82px;
}

.hospitals .h1-style{
	color: var(--text-color-red);
}

.hospitals .h3-style{
	font-weight: 700;
	color: var(--text-color-red);
}

.hospitals .content{
	width: 50%;
	padding-right: 16px;
}

.hospitals .txt{
	margin-top: 53px;
	max-width: 370px;
}

.hospitals .h3-style{
	margin-bottom: 10px;
}

.hospitals p{
	margin-bottom: 22px;
}

.hospitals .map{
	width: 50%;
	padding-left: 16px;
}

.hospitals .buts{
	margin-top: 47px;
}

.hospitals .buts a + a{
	margin-left: 10px;
}

.hospitals .buts a:hover{
	opacity: 0.7;
}

.hospitals .map #mapp{
	width: 100%;
	height: calc( 100% + 20px );
}

.why_us{
	padding: 65px 0 30px;
}

.why_us .container{
	display: flex;
}

.why_us .photo{
	width: calc( 50% - 16px );
	min-height: 100px;
}

.why_us .photo img{
	width: 100%;
	height: auto;
}

.why_us .desc{
	width: calc( 50% - 16px );
	margin-left: 32px;
	min-height: 100px;
	padding-left: 67px;
	padding-top: 52px;
}

.why_us .desc .h1-style{
	color: var(--text-color-dark);
	margin-bottom: 31px;
}

.why_us .desc .txt{
	font-size: 36px;
	line-height: 1.22;
	letter-spacing: -0.38px;
	color: var(--text-color-dark);
}

.why_us .desc .sign{
	font-size: 24px;
	letter-spacing: -0.25px;
	color: var(--text-color-dark);
	margin-top: 52px;
	line-height: 1.2;
	margin-bottom: 77px;
}

.hospitals .container{
	position: relative;
}

.hospitals .container::before{
	content: "";
	position: absolute;
	width: calc( 100% - 30px );
	height: 1px;
	left: 15px; 
	bottom: 0;
	background-color: #e6e6e6;
}