@import url('normalize.css');
@import url('fonts.css');

:root {
  --primary-color: 47, 51, 64; /* шрифт набора (темно-серый) */
  --theme-color: 0, 113, 255; /* ярко-синий */
  --theme-color: 34, 66, 174; /* ярко-синий */
  --accent-color: 255, 199, 112; /* желтоватый */
  --theme-light-color: 185, 216,255; /* светло-голубой (кнопки) */
  --theme-superlight-color: 243, 248,255; /* светло-серый (фон блоков) */
}

html {
	font-size: 62.5%;
	font-weight: normal;
}

body {
	min-height: 100vh;
	display: flex;
	flex-direction: column;
	font: 1.6rem 'Gotham Pro';
	color: #2f3340;
	background-color: #fff;
	position: relative;
}

header {
	position: sticky;
	top:0;
	width: 100%;
	padding: 5px 10px;
	background-color: rgba(255, 255, 255, .9);
	backdrop-filter: blur(20px);
/*	max-width: 1580px;*/
	margin: 0 auto;
	z-index: 3;
}

header .wrapper {
	padding: 0;
	display: flex;
	gap:10px;
	align-items: center;
}

a {
	color: rgb(var(--theme-color));
}

header a, footer a {
	text-decoration: none;
}


.logo {
	text-decoration: none;
	text-indent: -9999%;
	margin-right: auto;
	width: 100px;
	height: 80px;
	background-image: url("../images/ui/logo.svg");
	position:relative;
}

.logo:before {
    content: "cтоматологическая клиника";
    position: absolute;
    left: 100%;
    margin-left: -25px;
    top: 12px;
    text-indent: initial;
    font-size: 1.2rem;
    color: #7b7b88;
    font-weight: bold;
}

img {
	display: block;
	max-width: 100%;
}

.wrapper {
	max-width: 1280px;
	margin: 0 auto;
	padding: 20px 10px;
}

section.slider.service-slider {
    padding-top:50px;
}

h1, h2 {
	font-family: 's';
	line-height:120%;
}

h2 {
/*	max-width: 800px;*/
}

p {
	line-height: 150%;
}

h4 {
	font-weight: 500;
	font-size: 1.9rem;
	margin: 1.6rem 0 1rem;
}

.icon-header {
	display: flex;
	align-items: center;
	gap:10px;
}

.icon-header img {
	width: 36px;
	height: auto;
}

.button {
	min-height: 30px;
	font-size: 1rem;
	padding: 4px 14px;
	border-radius: 12px;
	text-align: center;
	font-weight: bold;
	text-decoration: none;
	text-transform: uppercase;
	display: flex;
	gap:8px;
  align-items: center;
  transition:.2s;
}

a.button-primary:hover {
  box-shadow: 0px 0px 22px 0px rgba(0, 123, 255, 0.80);
}

a.button-green:hover {
  box-shadow: 0px 0px 22px 0px rgba(27, 135, 85, 0.80);
}

.button-primary {
	background-color: rgb(var(--theme-color));
	color: #fff;
}

.button-green {
    background-color: #1b8755;
    color: #fff;
}

.button-blue {
    background-image: linear-gradient(15deg, #99d5d7 7.05%, #80bcff 89.67%);;
    background-image: radial-gradient(136.12% 140.74% at 99.77% 99.04%, #8d28c8 0%, #7c42fa 20%, #007aff 80%, #609ceb 100%);
    color: #fff;
}


.button-secondary {
	background-color: rgb(var(--theme-light-color));
	color: rgb(var(--primary-color));
}

.button-nofill {
	background-color: transparent;
	color: #fff;
	border: 2px solid currentColor;
}

.button-accent {
	background-color: rgb(var(--accent-color));
	color: rgb(var(--primary-color));
}

.full-button {
	width: 100%;
	justify-content: center;
}

.button img {
	max-width: 32px;
}

.button.hide-smile img {
	display: none;
}

/*меню*/

.menu-bar {
    transition: all 0.3s ease-in-out;
    transition-delay: 0.2s;
    position: relative;
    margin-left: 4px;
    width: 26px;
    height: 30px;
    box-sizing: content-box;
}
.menu-bar span {
    transition: all 0.3s ease-in-out;
    background-color: rgb(var(--theme-color));
    display: inline-block;
    height: 2px;
    position: absolute;
    top: 50%;
    left: 0;
    width: 26px;
}
.menu-bar span:before, 
.menu-bar span:after {
    transition: all 0.3s ease-in-out;
    background-color: rgb(var(--theme-color));
    content: '';
    display: block;
    height: 2px;
    position: absolute;
    width: 26px;
}
.menu-bar span:before {
    top: -7px;
}
.menu-bar span:after {
    top: 7px;
}
.triggered .menu-bar span {
    width: 0;
}
.triggered .menu-bar span:before {
    transform: rotate(45deg);
    top: 0;
}
.triggered .menu-bar span:after {
    transform: rotate(-45deg);
    top: 0;
}
.menu {
    transition: all 0.3s ease-in-out;
    background-color: rgb(var(--theme-color));
    display: flex;
/*    justify-content: end;*/
    height: 100vh;
    opacity: 0;
    padding: 15px;
    position: fixed;
    top: 0;
    left: 0;
		height: 0;
    width: 100%;
    z-index: 9999998;
    overflow-y: auto;  
}
.menu ul {
    transition: all 0.3s ease-in-out;
    list-style: none;
    margin: 0;
    padding: 0;
    max-width: 400px;
}
.menu ul li {
    transition: all 0.3s ease-in-out;
}
.menu ul li a {
    color: #fff;
    display: inline-block;
    font-family: 's';   
    padding: 6px 15px;
    position: relative;
    text-decoration: none;
    outline: none;
}
.menu > ul li a {
	font-size: 3rem;
}

.menu ul ul li a {
	font-size: 1.8rem;
}
.menu ul li span {
    display: inline-block;
    height: 24px;
    top: 2px;
    position: relative;
    width: 24px;
}
.menu ul li span:before, 
.menu ul li span:after {
    background-color: #BFE2FF;
    content: '';
    display: block;
    height: 2px;
    position: absolute;
    width: 20px;
}
.menu ul li span:before {
    top: 50%;
    transform: translateY(-50%);
}
.menu ul li span:after {
    transition: all 0.15s ease-in-out;
    top: 50%;
    transform: translateY(-50%) rotate(90deg);
}
.menu ul li span.subtriggered:after {
    transform: translateY(-50%) rotate(0);
}
.menu ul li ul li a {
    padding: 6px 30px;
}
.triggered .menu {
    opacity: 1;
    height: 100vh;
/*    transform: translateY(0);*/
}
.menu ul ul {
    display: none;
}
.menu ul .subtriggered + ul {
    display: block;
}

.button-icon {
	padding: 0 10px;
}

.desktop-regim {
    display:none;
    order:-1;
    color:#7b7b88;
    line-height:140%;
    
}


.phone, footer .adress {
	display: flex;
} 

header .phone span + span {
	display: none;
} 

header .adress {
	display: none;
	font-size: small;
	color: #2847d1;
	line-height:140%;
}



.phone small, .adress small {
	display: block;
	margin-top: 3px;
}

header .phone small {
	color: #7b7b88;
}

.phone b {
	font-weight: 500;
}

.icon-tg {
    background: url(../images/ui/icon-tg.svg);
}
.icon-vk {
    background: url(../images/ui/icon-vk.svg);
}
.icon {
    text-indent: -9999%;
    width: 36px;
    height: 36px;
    display: inline-block;
}

.links-social {
    display:none;
}

section.slider {
	margin-top: 0;
	padding: 25px 15px 40px;
	background-color: rgb(var(--theme-color));
	color: #fff;
	border-radius: 0 0 15px 15px;
}

section.slider .wrapper {
	padding: 0;
}

.slider-main {
	border-radius: 15px;
/*	padding: 15px;*/
}

.slider-main .text {
	margin-bottom: 15px;
}

.slider-main img {
	border-radius: 15px;
}

.slider-main .image-full {
	border-radius: 15px;
	background-size: cover;
	background-position: 50% 50%;
	aspect-ratio: 1 / .6;
}

.slider-main .image-half {
	display: none;
}

.slider-main .swiper-pagination {
	position: static;
	margin-top: 25px;
}

.slider-main h2 {
	margin: 0 0 1rem;
	font: 1.8rem 'Gotham Pro';
	text-align: center;
}

.slider-main h2 > b {
	font: 2.1rem 's';
	display: block;
	line-height: 100%;
}

.slider-main h2 span {
	display: block;
/*	text-transform: uppercase;*/
	margin-top: .6rem;
}

.slider-main h2 small {
	display: flex;
	justify-content: center;
	font-size: 1.8rem;
	gap: 5px;
  align-items: center;
}

.slider-main h2 small b {
	font-size: 3.2rem;
	font-weight: 500;
	color: rgb(var(--accent-color));
}

.slider-main .swiper-slide .text div > small {
	font-size: .8rem;
	line-height: 120%;
	text-align: center;
	display: block;
	max-width: 220px;
  margin: 0 auto;
}

.swiper-pagination-bullet {
    width: 12px;
    height: 12px;
    display: inline-block;
    border-radius: 50%;
    background: #fff;
    opacity: .4;
}

.swiper-pagination-bullet-active {
	width: 24px;
	border-radius: 6px;
	opacity: 1;
}

.uslugi {
	display: flex;
	flex-direction: column;
	gap:15px;
}

.uslugi > a {
	display: flex;
  background-color: rgb(var(--theme-color));
  background-image: radial-gradient(red, blue);
  background-size: 50%;
  border-radius: 20px;
  text-decoration: none;
  color: #fff;
  background-repeat: no-repeat;
  background-position: 110% 100%;
  position: relative;
  overflow-x: hidden;
  transition: .2s;
}

.uslugi > a:hover {
	transform: scale(1.02);
}

.uslugi > a:hover:before {
	content: "";
	position: absolute;
    top: 0;
    height: 100%;
    width: 65px;
    transform: skewX(-45deg); // Наклон
    animation: flareAnimation;
    left: -150%;
    background: linear-gradient(90deg, rgba(255, 255, 255, 0.1), rgba(255, 255, 255, 0.4));
    animation: flareAnimation 3s infinite linear; // Время и тип анимации можно менять
}

@keyframes flareAnimation {
    0% {
        left: -40%;
    }
    50% {
        left: 150%;
    }
    100% {
        left: 150%;
    }
}

.uslugi .text {
	display: flex;
	flex-direction: column;
	gap:15px;
	width: 65%;
	padding: 20px 20px 25px;
	line-height: 140%;
}

.uslugi .image {
	width: 35%;
}

.uslugi h3 {
	font-size: 2.2rem;
	line-height: 130%;
	margin: 0;
}

.uslugi > a span {
	font-size: 1.4rem;
}

.price-list .tabs__nav {
	display: flex;
	flex-wrap: wrap;
	justify-content:flex-start;
	gap:.8rem;
	margin: 0;
	position: relative;
	z-index: 1;
}

.price-list .tabs__btn {
    color:rgb(var(--primary-color));
    font-size:1.3rem;
	padding: 0.5rem 1.2rem;
	background:transparent;
	border:none;
	text-align: left;
	cursor: pointer;
	border-radius:15px;
	/*white-space: nowrap;*/
	transition: .2s;
	background: rgba(var(--primary-color), .1);
}

.price-list .tabs__btn_active {
    background: rgba(var(--theme-color), .2);
    color: rgb(var(--theme-color));;
    
	cursor: default;
	text-decoration: none;
}

.price-list .tabs__btn:not(.tabs__btn_active):hover,
  .price-list .tabs__btn:not(.tabs__btn_active):focus {
	color: rgb(var(--theme-color));
}

.price-list .tabs__content {
	margin-top: 20px;
	padding: 1rem;
	background: rgba(var(--theme-color), .1);
	border-radius: 15px;
}

.price-list .tabs__content h3 {
	margin-top: 20px;
    /* display: none; */
    padding-left: 15px;
}

.price-list .tabs__content .row {
	padding: 5px 10px;
    border-radius: 15px;
    display: flex;
    justify-content: space-between;
    align-items: center;
    transition: .2s;
    cursor: pointer;
    font-size: 1.4rem;
    gap: 10px;
    line-height: 140%;
}

.price-list .tabs__content .row:nth-of-type(2n) {
    background: rgba(var(--theme-color), .1);
}

.price-list .tabs__content .row:hover {
	color: #fff;
	background: rgb(var(--theme-color));
}

.price-list .tabs__content .row span + span {
	white-space: nowrap;
}

.tabs__pane {
	display: none;
}

.tabs__pane_show {
	display: block;
}

.persons .tabs__nav {
	display: flex;
	justify-content:space-between;
	gap:5px;
	margin: 0;
	position: relative;
	z-index: 1;
/*	overflow-x: scroll;*/
}

.persons .tabs__btn {
	width: 30%;

    color:rgb(var(--primary-color));
    font-size:1.3rem;
	padding: 0;
	background: #fff;
	border-radius: 100%;
	overflow: hidden;
	border:4px solid transparent;
	text-align: center;
	cursor: pointer;
	/*white-space: nowrap;*/
	transition: .2s;
}

.persons .tabs__btn img {
	opacity: .7;
}

.persons .tabs__btn_active {
	border-color: rgb(var(--theme-color));
	cursor: default;
}

.persons .tabs__btn_active img {
	opacity: 1;
}

.persons .tabs__btn:not(.tabs__btn_active):hover,
  .persons .tabs__btn:not(.tabs__btn_active):focus {
	color: rgb(var(--theme-color));
}

.persons .tabs__content {
	margin-top: 20px;
	padding: 1rem;
	background: rgb(var(--theme-color));
	color:#fff;
	border-radius: 15px;
}


.persons .cont {
	position: relative;
	display: flex;
	flex-direction: column;
}

.persons {
	display: flex;
	flex-direction: column;
	gap:40px;
}


.persons .text {
	color: #fff;
/*	position: absolute;*/
/*	top:30%;*/
/*	bottom: 0;*/
/*	width: 100%;*/
/*	display: flex;*/
/*	flex-direction: column;*/
/*	justify-content: flex-end;*/
	padding: 20px 10px 15px;
	/*background: rgba(0, 113, 255, 0);
background: linear-gradient(0deg, rgba(0, 113, 255, 1) 0%, rgba(0, 113, 255, 1) 32%, rgba(0, 113, 255, 0) 76%);*/

}

.persons h3 {
	font-size: 2rem;
	margin-bottom: .6rem;
}

.persons .row h3 {
	margin-top: 0;
}

.persons h5 {
	margin-bottom: 0;
}

.persons p {
	font-size: 1.4rem;
	margin-bottom: 0;
	margin-top: .6rem;
	padding-bottom: 4px;
}

.persons p:not(.spezil) + p {
	padding-top: 4px;
	border-top: 1px solid rgba(255, 255, 255, .3);
}

.persons .row h3 b {
	display: block;
}

.persons .text > span {
	font-size: 1.4rem;
}

.persons .image {
	position: relative;
}

.persons .image:before {
	content: "";
	position: absolute;
	bottom: 0;
	height: 20%;
	width: 100%;
	background: linear-gradient(0deg, rgba(0, 113, 255, 1) 0%, rgba(0, 113, 255, 0) 100%);
}

.persons .image img {
	border-radius: 10px;
}

.persons  .row {
	color: #fff;
	position: sticky;
	top:70px;
	display: flex;
	gap:15px;
	align-items: center;
	background: rgba(var(--theme-color), .5);
	padding: 10px;
	border-radius: 15px;
	backdrop-filter: blur(8px);
	z-index: 2;
}

.persons  .row .ava {
	max-width: 90px;
	flex: 0 0 auto;
	border-radius: 15px;
	overflow: hidden;
}

.persons .row span {
	font-size: 1.4rem;
}

.persona .spezil {
	border-radius: 10px;
	padding: 5px 10px;
	background-color: rgb(255, 255, 255, .2);
	margin-bottom: 15px;
	margin-top: 0;
	font-weight: bold;
/*	font-style: italic;*/
	display: inline-block;
}

.persona {
	border-radius: 10px;
/*	overflow: hidden;*/
	background: rgb(var(--theme-color));
/*	padding-bottom: 25px;*/
}

.persona .flex {
    display: flex;
    flex-direction: column;
    align-items: center;
}

.persona .slider-reviews .swiper-wrapper {
  align-items: stretch;
}

.slider-reviews .swiper-slide {
  background-color: rgba(255, 255, 255, .2);
  border: 2px solid rgba(255, 255, 255, .3);
  color: #fff;
  padding: 15px 15px;
  border-radius: 15px;
  height: auto;
  display: flex;
  flex-direction: column;
  font-size: 1.4rem;
}

.slider-portfolio .swiper-slide {
	border-radius: 15px;
	overflow: hidden;
}

.persona .swiper-slide p {
	margin-top:0;
}

.persona .buttons {
  display: flex;
  justify-content: center;
  margin-top: 40px;
  margin-bottom: 30px;
}

section {
	margin: 40px 0;
}

section.wrapper {
	margin-top: 40px;
	margin-bottom: 40px;
}

.section-stavdent {
	background-color: rgb(var(--theme-color));
}

.section-stavdent h2 {
	color: #fff;
}

.stavdent {
	display: flex;
	flex-direction: column;
	gap:30px;
	color: #fff;
}

.stavdent p {
	font-size: 1.3rem;
}

.stavdent .image {
	aspect-ratio: 1/1.2;
	overflow: hidden;
	display: flex;
	align-items: center;
	border-radius: 10px;
	border: 6px solid #4899fe;
}

.stavdent.listing h4 {
	font-family: 's'; 
	font-size: 1.5rem;
	display: flex;
	align-items: center;
	gap:10px;

}

.stavdent.listing {
	padding-left: 15px;
	padding-right: 15px;
	counter-reset: items;
}

.stavdent.listing h4:before {
	counter-increment:items;
	content:  counter(items);
	padding: 8px;
	border-radius: 10px;
	color: rgb(var(--theme-color));
	background-color: rgba(255, 255, 255, .8);
	font-size: 3.4rem;
	width: 30px;
	height: 30px;
	line-height: 30px;
	text-align: center;
	flex: 0 0 auto;
}

.get-offer {
	margin: 40px auto;
	max-width: 750px;
	display: flex;
	flex-direction: column;
	gap: 20px;
	align-items: center;
	background: #fff;
	padding: 20px;
	border-radius: 20px;
}

.get-offer.light {
	background-color: rgba(var(--theme-color), .2);
}

.get-offer > span {
	text-align: center;
	font-family: 's'; 
	font-size: 1.5rem;
	color: rgb(var(--theme-color));
}

.get-offer .button {
	font-size: 1.2rem;
	flex: 0 0 auto;
}

.swiper-wrapper {
    display: flex;
    align-items: center;
}

.reviews .swiper-wrapper {
	align-items: stretch;
}

.reviews .swiper-slide {
	background-color: rgb(var(--theme-color));
	color: #fff;
	padding: 15px 15px;
	border-radius: 15px;
	height: auto;
	display: flex;
  flex-direction: column;
  font-size: 1.4rem;
}

.slider-reviews .swiper-slide p {
	margin-top: 0;
}

.slider-reviews .swiper-slide .name {
	margin-top: auto;
	font-weight: bold;
	line-height: 160%;
}

.slider-reviews .swiper-pagination, .slider-portfolio .swiper-pagination {
    position: static; 
    margin-top: 15px;
}

.doctors-list {
	display: flex;
	flex-direction: column;
	gap: 40px;
}

.doctors-list .item {
	background-color: rgba(var(--theme-color), .2);
	border-radius: 15px;
	overflow: hidden;
}

.doctors-list .image {
	aspect-ratio: 1/1.2;
	border-radius: 15px;
	overflow: hidden;
	display: flex;
	align-items: center;
	position: relative;
}

.doctors-list .info {
	padding: 0 15px 25px 15px;
}

.doctors-list .image .buttons {
	position: absolute;
	z-index: 2;
	bottom: 5px;
	left: 50%;
	transform: translateX(-50%);
	display: flex;
	gap:5px;
	justify-content: space-between;
	background-color: rgba(var(--theme-color), .4);
	padding: 5px;
	border-radius: 15px;
	width: max-content;
	transition: .2s;
}

.doctors-list .image .buttons > * {
	flex: 0 0 auto;
}

.doctors-list .image .buttons img {
	display: none;
}

.doctors-list h3 {
	font-size: 2.2rem;
	margin-bottom: 1rem;
}



.doctors-list h3 + span {
	font-size: 1.4rem;
}

.about-banner p {
	font-weight: 500;
	max-width: 850px;
	margin: 20px auto;
}

.about-banner p span {
/*	display: inline-block;*/
	color: rgb(var(--theme-color));

}

.about-section {
	margin-top: 20px;
  padding: 1rem 1rem 2rem;
  background: rgba(var(--theme-color), .1);
  border-radius: 15px;
  display: flex;
  flex-direction: column;
  gap:30px;
}

.about-section .info {
	display: flex;
	flex-wrap: wrap;
	gap:20px;
	align-items: center;
}

.about-section h4 {
	font-family: 's'; 
	font-size: 1.2rem;
	margin-top: 0;
	margin-bottom: .5rem;
}

.about-section h4 + span {
	font-size: 1.2rem;
}

.about-section p {
	font-size: 1.4rem;
}

.about-section .ava {
	border-radius: 50%;
	overflow: hidden;
	max-width: 80px;
}

.about-section .name {
	width: calc(100% - 100px);
}

.about-section .contact {
	width: 100%;
}

.about-section .contact .button {
	font-size: 1.2rem;
	padding: 12px 14px;
	justify-content: center;
}

.slider-photos .swiper-slide {
      text-align: center;
      font-size: 18px;
      height: 100%;
      background: #444;
      display: flex;
      justify-content: center;
      align-items: center;
      width: 40%;
      border-radius: 20px;
      overflow: hidden;
    }

    .slider-photos .swiper-slide.hor {
    	width: 80%;
    }

   .slider-photos .swiper-slide img {
      display: block;
      width: 100%;
      height: 100%;
      object-fit: cover;
    }

    .docs-list {
    	display: flex;
    	flex-direction: column;
    	align-items: flex-start;
    	gap:20px;
    	margin: 3rem 0 2rem;
    }

    .docs-list a {
    	position: relative;
    	display: flex;
    	gap:10px;
    	align-items: center;
    	text-decoration: none;
    	padding: 10px;
    	border-radius: 10px;
    	transition: .2s;
    }

    .docs-list a:before {
    	content: "";
    	width: 50px;
    	height: 50px;
    	background-size: 50px 50px;
    	background-image: url("../images/ui/docs.png");
    	flex: 0 0 auto;
    }

    .docs-list a:hover {
    	background-color: rgba(var(--theme-color), .1);
    }

    .faq {
    	max-width: 900px;
    	margin: 0 auto;
    }

details{
  display:block;
  width:100%;
  overflow:hidden;
  padding: 10px 15px;
  border-radius:10px;
  
}

details + details {
	border-top: 1px solid #ddd;
}
summary + * {
    margin-top:15px;
}
summary::-webkit-details-marker{display:none;}
summary::-moz-list-bullet{list-style-type:none;}
summary::marker{display:none;} 
summary {
   display:block;
   padding: .3em 1em .3em .4em;
   cursor: pointer;
   position: relative;
   font-family: 's'; 
	font-size: 1.4rem;
   transition:.3s;
   color: rgb(var(--theme-color));
}
summary:before {  
  top: .4em;
  right: .3em;
  color: transparent;
  background: url("data:image/svg+xml;base64,PHN2ZyB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHdpZHRoPSIyNCIgaGVpZ2h0PSIyNCIgdmlld0JveD0iMCAwIDI0IDI0Ij48cGF0aCBkPSJNMTYuNTkgOC41OUwxMiAxMy4xNyA3LjQxIDguNTkgNiAxMGw2IDYgNi02eiIvPjxwYXRoIGQ9Ik0wIDBoMjR2MjRIMHoiIGZpbGw9Im5vbmUiLz48L3N2Zz4=") no-repeat 50% 50% / 1em 1em;
  width: 1em;
  height: 1em;  
  content: "";
  position: absolute;
  transition: transform .5s;
}
details[open] > summary:before {
  transform: scale(1,-1);
}
summary ~ * {
   padding: 0 1em 10px 0.6em;
}
details[open] summary ~ *{ 
  animation: sweep .5s ease-in-out;
}
summary:hover {
    color:rgb(var(--action-color));
}
details[open] summary {
/*    font-weight:bold;*/
}
@keyframes sweep {
  0%    {opacity: 0;}
  100%  {opacity: 1;}
}
summary:focus {
  outline:0;
}

.content > * {
	margin-bottom: 30px;
}

.cross {
	display: flex;
	flex-direction: column;
	gap:20px;
}

.cross + .cross {
    /* margin-top:50px; */
}

.cross ul {
    line-height: 160%;
    color: rgb(var(--theme-color));
}

.cross h3 {
    font: 2rem 's';
}

.content h3 {
/*	font: 3.4rem 's';*/
}

.cross .image {
	display: flex;
    justify-content: center;
    align-items: center;
    flex-wrap: wrap;
    flex-direction: column;
    gap: 15px;
}

.cross .image img {
    border-radius:15px;
    border: 2px solid rgba(var(--theme-color), .3);
}

footer {
  margin-top: auto;
}

.footer-block .content {
	background-color: rgb(var(--theme-color));
	color: #fff;
}

.footer-block .contacts {
	display: flex;
	flex-direction: column;
	gap:20px;
	align-items: flex-start;
}

/*.footer-block .phone svg {
	width: 24px;
	height: 24px;
}*/

.footer-block a:not(.button) {
	color: #fff;
}

.social {
	margin: 30px 0 50px;
	display: flex;
/*	justify-content: center;*/
	gap:10px;
}

.contacts, .social {
/*	max-width: 310px;*/
}

.atempt {
	color: rgba(255,255,255, .6);
	text-transform:uppercase;
	font-size:2rem;
}

.map iframe {
    min-height:500px;
}

.scrollup {
    width: 40px;
    height: 40px;
    opacity: 0.5;
    position: fixed;
    bottom: 39px;
    left: 30px;
    /* margin-right: 30px; */
    display: none;
    text-indent: -9999px;
    background: #ddd;
    border-radius: 100%;
    z-index: 96;
    transition: .2s;
}

.scrollup:hover {
	opacity: 1;
}

.scrollup:before {
	content: "";
	left: 13px;
	top:16px;
	  position: absolute;
      width: 10px;
      height: 10px;
      border-top: 4px solid #222;
      border-right: 4px solid #222;
/*      margin-right: 20px;*/
      transform: rotate(-45deg);
  } 
  
  .warning {
      position:fixed;
      bottom:38px;
      width:100%;
      background:rgba(240,240,240,.7);
      color:#444;
      font-size:1.8rem;
      text-transform:uppercase;
      text-align:center;
      padding:10px;
      backdrop-filter: blur(8px);
      z-index:10;
      
  }
  
.slide {
        background: url(../images/ui/slide.jpg) #02228f 50% -60px no-repeat;
        min-height: 460px;
        background-size: 1369px 460px;
        background-position: 54% 0px;
        margin:0;
    }
    
    .info {
        line-height:150%;
    }
    
    .info-list {
	display: flex;
	flex-wrap: wrap;
	justify-content: center;
	margin: 60px 0 60px;
}

.info-list > a {
	width: 100%;
	margin: 0 auto 30px;
	/*padding: 0 15px;*/
	text-decoration: none;
	color: #4c4c53;
	display: flex;
	background:#eee;
	padding:20px 15px;
	border-radius:25px;
}

.info-list .image {
	width: 120px;
	height: 120px;
	/* background: #fff; */
	border-radius: 25px;
	margin-right: 20px;
  	/* box-shadow: 0px 8px 39.99px 3.01px rgba(34, 66, 174, 0.2); */
}

.info-list .text {
	flex: 1;
	display: flex;
	flex-direction: column;
}

.info-list .title {
	font-size: 1.5rem;
	font-weight: bold;
	text-transform: uppercase;
	color: #2242ae;
	margin: 15px 0;
}

.info-list .subtitle {
	font-size: 1.5rem;
	font-weight: 500;
	line-height: 150%;
}

.podarok {
    display:flex;
    flex-direction:column;
    max-width:1920px;
    margin: 0 auto;
}

.podarok h3 {
    font-family: 's'; 
    font-size:2.6rem;
}

.podarok .image {
    background: url(../images/content/Free-Business-Card-Mockup-PSD.jpg) 50% 50% no-repeat;
    background-size:cover;
    height:400px;
}

.podarok .text {
    background-color: rgb(var(--theme-color));
	color: #fff;
}

.contacts-page .flex {
    display:flex;
    flex-direction:column;
    gap:40px
}

.contacts-page .flex > div {
    display:flex;
    flex-direction:column;
    align-items:center;
    text-align:center;
}

.contacts-page .flex img {
    max-width:80px;
}

.contacts-page .flex p + p {
    margin-top:0;
}

.contacts-page .flex p a {
    font-size:1.8rem;
}

.price-warn {
    margin: 20px auto 60px;
    color:#cd3555;
    padding:20px;
    border:1px solid #cd3555;
    border-radius:20px;
    text-align:center;
    max-width:1000px;
}

footer .flex {
    display:flex;
    flex-direction:column;
    gap:10px;
}

.center {
    display:flex;
    justify-content:center;
}

.docs p {
    margin:5px 0 0 0;
    line-height: 100%;
}


.docs p a {
    text-decoration:underline;
    color: rgba(255,255,255,.5) !important;
}


@media (min-width: 375px) {
	.doctors-list .image .buttons img {
		display: block;
	}

	.slider-main h2 small b {
    font-size: 3.8rem;
}

	.slider-main h2 {
    font-size: 2.4rem;
}
	.slider-main h2 > b {
    font-size: 2.6rem;
    line-height: 110%;
	}
	.about-section .ava {
	    max-width: 120px;
	}
	.about-section .name {
	    width: calc(100% - 140px);
	    max-width: 250px;
	}
	.about-section h4 {
	    font-size: 1.4rem;
	}
	.about-section h4 + span {
	    font-size: 1.4rem;
	}
}


@media (min-width: 540px) {
	.footer-block .content {
		background-image: url("../images/ui/logo_light.svg");
		background-size: 200px 160px;
		background-position: calc(100% - 20px) 20px;
		background-repeat: no-repeat;
	}
	
   .button.hide-smile img {
	    display: block;
	}
	.uslugi > a {
    background-size: contain;
    background-position: 100% 50%;
	}

	.slider-main h2 {
	    font-size: 3rem;
	}

	.slider-main h2 > b {
        font-size: 3.4rem;
        line-height: 120%;
    }

    .slider-main h2 small b {
    font-size: 5.6rem;
	    font-weight: 500;
	}

	.tabs__nav {
		justify-content: space-between;
	}

	.price-list .tabs__btn {
    font-size:1.4rem;
	}
	.price-list .tabs__content .row {
		padding: 5px 15px;
    /* font-size: 1.6rem; */
}
.about-section .ava {
	    max-width: 150px;
	}
	.about-section .name {
	    width: calc(100% - 170px);
	    max-width: 300px;
	}
	.about-section h4 {
	    font-size: 1.5rem;
	}
	.about-section h4 + span {
	    font-size: 1.5rem;
	}

	.slider-photos .swiper-slide {
      width: 35%;
    }

    .slider-photos .swiper-slide.hor {
    	width: 60%;
    }

    .persons .image {
	  aspect-ratio: 1/.8;
	  overflow: hidden;
	}
}

@media (min-width: 600px) {
    

	h2 {
		font-size: 3.6rem;
	}
	.icon-header img {
	    width: 54px;
	}
	.button {
			min-height: 42px;
	    font-size: 1.2rem;
	    padding: 8px 16px;
	    border-radius: 14px;
	}
	header .phone .button {
			padding: 6px 10px;
	}

	.phone .button svg {
		width: 26px;
		height: 26px;
	}
	.social .button svg {
		width: 34px;
		height: 34px;
	}

	.slider-main .image {
		display: flex;
		flex-direction: column;
		gap:10px;
	}

	.slider-main .image-full {
    aspect-ratio: inherit;
}

	.slider-main .swiper-slide {
		display: flex;
		justify-content: space-between;
		flex-direction: row;
		flex-wrap: wrap;
	}

	.slider-main .text {
		width: 100%;
	}

	.slider-main .image-full {
		width: calc(70% - 10px);
	}

	.slider-main .image-half {
		width: 30%;
	}

	.slider-main .image .image-half {
		display: flex;
		flex-direction: column;
		gap:10px;
	}

	.slider-main .image-half > div {
		aspect-ratio: 1/1;
		overflow: hidden;
	}

	 .price-list .tabs__btn {
        /* font-size: 1.6rem; */
    }

    .stavdent {
			flex-direction: row;
			flex-wrap: wrap;
			gap: 30px 20px;
		}

	.stavdent > * {
		width: calc(50% - 10px);
	}

	.doctors-list {
		flex-direction: row;
		flex-wrap: wrap;
		gap:20px;
	}

	.doctors-list > * {
		width: calc(50% - 10px);
	}

	.doctors-list .image .buttons {
		flex-direction: column;
	}

	.doctors-list .image .buttons .button {
		justify-content: flex-start;
	}

	.footer-block .content {
		background-size: 250px 200px;
	}
	.persons .row {
	  top: 82px;
	}
}

@media (min-width: 700px) {
	.persons .image {
    aspect-ratio: 1/.8;
    overflow: hidden;
    display: none;
  }
  .persons .row .ava {
	  max-width: 160px;
	}
	.persons h3 {
	  font-size: 2.4rem;
	  margin-bottom: 1rem;
	}
	.persons p {
	  font-size: 1.6rem;
	}
	.persons .row span {
	  font-size: 1.6rem;
	}
	.persona .flex {
    flex-direction: row;
    }
	header .phone span + span, header .adress span + span {
		display: flex;
    flex-direction: column;
    justify-content: center;
	}
	header .phone .button-primary {
		background-color: transparent;
	}
	header .phone .button svg, header .adress .button svg {
      color: rgb(var(--theme-color));
   }
   header .phone, header .logo, header .adress {
   	order: -1;
   }
}


 


@media (min-width: 720px) {
	.price-list .tabs__btn {
	    padding: .5rem 1rem
	}
	.get-offer {
		flex-direction:row;
		margin: 60px auto;
	}

	.get-offer > span {
		text-align: left;
	}

	.about-section .name, .about-section .contact {
		width: calc((100% - 190px ) / 2);
	}

	.slider-photos .swiper-slide {
      width: 25%;
    }

    .slider-photos .swiper-slide.hor {
    	width: 45%;
    }
    
    footer .flex {
        flex-direction: row;
    }


}



@media (min-width: 780px) {
	
	

	.wrapper {
    padding: 20px 20px;
}
header {
    padding: 10px 20px;
  }

  .uslugi {
  	flex-direction: row;
  	flex-wrap: wrap;
  }

  .uslugi > a {
  	width: calc(50% - 7.5px);
  	background-size: 50%;
		background-position: 110% 100%;
  }

 
.slider-main .image-full {
		width: calc(80% - 10px);
	}

	.slider-main .image-half {
		width: 20%;
	}

	 .persons .row {
	    top: 180px;
	  }
	  .persons .row {
		  padding: 20px;
		}

		.persons .text {
		  padding: 20px 20px 15px;
		}

 }

@media (min-width: 830px) {
	.doctors-list .image .buttons {
        flex-direction: row;
    }
}
 

@media (min-width: 900px) {
    header .adress, header .map-button {
		display: flex;
		align-items: center;
		transition:.2s;
	}
	
	header .map-button {
	    padding-right:15px;
	    border-radius:15px;
	}
	
	header .map-button:hover {
	    background: rgba(var(--theme-color), .2);
	}
        .slide {
        min-height: 700px;
        background-size: 2084px 700px;
        background-position: 54% 0px;
    }
h2 {
		font-size: 5rem;
	}

	.content h2 {
		font-size: 3.5rem;
		max-width: 100%;
	}
	.icon-header img {
        width: 80px;
    }

    .doctors-list .image .buttons {
        flex-direction: column;
    }
	
	.footer-block {
		display: flex;
    flex-direction: row-reverse;
	}
	.footer-block .map {
		flex: 55%;
	}
	.footer-block .content {
		flex: 45%;
	}
	.footer-block .content {
		background-image: none;
	}

	.uslugi > a {
    background-size: contain;
    background-position: 100% 50%;
	}
	    .stavdent {
			gap: 30px 20px;
		}

	.stavdent > * {
		width: calc(33.3333% - (40px / 3));
	}
		.stavdent p {
	    font-size: 1.4rem;
	}

	.doctors-list {
		gap:30px;
	}

	.doctors-list > * {
		width: calc(33.3333% - 20px);
	}

/*	 section.slider {
    	display: flex;
    	flex-direction: row-reverse;
    	align-items: stretch;
    }

    section.slider > * {
    	width: 50%;
    }*/

	.slider-main .swiper-slide {
    /*height: auto;
    display: flex;
    flex-direction: column;*/
	}
	    .slider-main h2 {
        margin-top: 1rem;
    }

    .slider-main .swiper-slide {
        justify-content: center;
        gap: 0 10px;
    }

    section.slider {
	    background-color: transparent;
	}

    .slider-main .image-full {
/*        width: 60%;*/
    }

    .slider-main .swiper-slide > .image-half {
    	display: none;
    }

    .slider-main .text, .slider-main .image-full {
    	width: calc(50% - 5px);
    }



    .slider-main .text {
    	background-color: rgb(var(--theme-color));
    	padding: 20px;
    	border-radius: 15px;
    	margin-bottom: 0;
    }

    .slider-main .text .image-half {
    	display: flex;
    	width: 100%;
    	gap:10px;
    	margin-top: 15px;
    }
	.slider-main .text .image-half > * {
		width: calc(50% - 5px);
	}

	.swiper-pagination-bullet {
		background-color: rgb(var(--theme-color));
}

section.slider {
    padding: 0px 15px 0px;
}

    section.slider > .wrapper {
    	/*display: flex;
    	flex-direction: column;*/
    	position: static;
    }

    .slider-main .swiper-wrapper {
    	position: static;
    }
    
.price-list {
  	display: flex;
  	align-items: flex-start;
  	gap:40px;
  }

  .price-list .tabs__nav {
  	width: 340px;
  	position: sticky;
        top: 100px;
  }

.price-list .tabs__content h3 {
    margin-top: 8px;

}

  .price-list .tabs__content {
    margin-top: -15px;
    flex: 1 0 auto;
    width:calc(100% - 380px);
}

  .tabs__nav {
    justify-content: flex-start;
    align-items: flex-start;
}
.info-list > a {
	width: 48%;
}

}

@media (min-width: 1024px) {
	.doctors-list .image .buttons {
		opacity: 0;
		bottom: -50%;
	}
	.doctors-list .item:hover .buttons {
		opacity: 1;
		bottom: 5px;
	}

	    .slider-main .text .image-half {
        justify-content: center;
    }

    .slider-main .text .image-half > * {
        width: 220px;
    }

    .about-banner p {
		font-size: 1.8rem;
	}

	.reviews .swiper-slide {
    padding: 25px 25px;
	}

	.about-section {
    flex-direction: row;
    padding: 2rem 3rem 3rem;
    gap:60px;
    max-width: 1100px;
    margin-left: auto;
    margin-right: auto;
}

.about-section .info {
	max-width: 350px;
	flex: 0 0 auto;
	flex-direction: column;
	align-items: flex-start;
}
	.about-section .name, .about-section .contact {
		width: auto;
	}
	.about-section .ava {
        max-width: 160px;
    }
    .about-section h4 {
        font-size: 1.9rem;
    }
    .about-section p {
	    font-size: 1.5rem;
	}

	.slider-photos .swiper-slide {
      width: 20%;
    }

    .slider-photos .swiper-slide.hor {
    	width: 35%;
    }

      .persons .row h3 {
	    font-size: 4rem;
	    line-height:120%;
	  }

	  .persons .row span {
	    font-size: 2rem;
	  }

	  summary {
		font-size: 1.8rem;
	}
	
	.content .cross:nth-of-type(2n) {
	    flex-direction: row-reverse;
	}

	.cross {
	  flex-direction: row;
	}

	.cross > * {
	  width: calc(50% - 10px);
	}
	
	.cross h3 {
        font-size: 2.6rem;
    }
    
    .contacts-page .flex {
        flex-direction:row;
        justify-content: space-around;
    }


}



@media (min-width: 1136px) {
    
    .podarok {
        flex-direction:row-reverse;
        
    }
    
    .podarok .image {
    height:460px;
}
    
    .podarok h3 {
    font-size:3.5rem;
}
    
    .podarok > * {
        width:50%;
    }

.menu-bar {
	display: none;
}
header .phone small {
    font-size: 1rem;
}

header {
    padding:0;
}

header .adress {
    font-size:1.5rem;
}
.phone b {
    font-size:2rem;
}

header .phone small {
    display:none;
}

header .wrapper {
    gap: 20px;
}

.top-header.wrapper {
    padding:10px 20px;
}
.logo {
    width: 150px;
    height: 120px;
}
.logo:before {
    margin-left: -45px;
    top: 35px;
    font-size: 1.6rem;
}
.desktop-regim {
    display:block;
}

.menu {
    height: auto;
    margin: 0 auto;
    opacity: 1;
    position: static;
    width: auto;
    background-color: rgb(var(--theme-color));
    padding: 0;
    overflow-y:initial;
    order: -1;
}

.menu ul {
    max-width: initial;
    display: flex;
    justify-content:center;
    margin: 0 auto;
}

.menu > ul li a {
    font-size: 1.8rem;
    color: #fff;
    padding: 12px 35px;
    font-family: 'Gotham Pro';
    font-weight: 500;
}

.menu ul li a {
	transition: .2s;
}

.menu > ul > li:hover, .menu > ul li a.active {
	background-color: #4b71f2;
}

.menu ul ul li a.active {
	background-color: transparent;
	color: rgb(var(--theme-color));
}


.menu ul li span {
    display: none;
}

.menu ul .has-children {
	position: relative;
}

.menu ul .has-children ul {
	margin-left: 0;
	padding: 10px 0;
	position: absolute;
	background-color: #fff;
	border-radius: 0 0 10px 10px;
	box-shadow: 0 0 18px #ccc;
}

.menu ul .has-children:hover ul {
	display: block;
}

.menu ul li ul li a {
    padding: 8px 18px;
    font-size: 1.6rem;
    white-space: nowrap;
    color:#2f3340;
}

.menu ul li ul li a:hover {
    color: rgb(var(--theme-color));
    background:transparent;
}

header > .button {
    font-size: 1rem;
    padding: 8px 10px;
}

.price-list .tabs__nav {
  	width: 400px;
  }

 .price-list .tabs__content {
    padding: 2rem;
    margin-top: -20px;
}

.uslugi .text {
		width: 60%;
    padding: 45px 35px 45px;
}

.uslugi .text span {
	width: 80%;
	font-size: 1.6rem;
	line-height: 150%;
}

.uslugi h3 {
	font-size: 3rem;
}

}

@media (min-width: 1160px) {
	
}

@media (min-width: 1200px) {


	.footer-block .content {
		background-size: 200px 160px;
		background-image: url("../images/ui/logo_light.svg");
	}

}

@media (min-width: 1240px) {
    .links-social {
        display:flex;
        gap:8px;
    }
	.doctors-list .image .buttons {
        flex-direction: row;
    }

    .price-list {
        max-width: 1200px;
        margin: 0 auto;
    }

    .doctors-list h3 {
	    font-size: 2rem;
	}
	.doctors-list .info {
	    padding: 5px 25px 35px 25px;
	}
	.doctors-list .image {
    /* aspect-ratio: 1 / 0.9; */
	}
	.stavdent {
        gap: 50px 40px;
    }
    .stavdent > * {
        width: calc(33.3333% - (80px / 3));
    }
    h4 {
    font-size: 2.4rem;
	}
	.stavdent .image {
    /* aspect-ratio: 1 / .7; */
	}
	.get-offer > span {
    font-size: 1.8rem
	}
	.get-offer {
    max-width: 850px;
	}

	section.slider {
        max-width: 1280px;
        margin-left: auto;
        margin-right: auto;
    }

    .slider-photos .swiper-slide {
      width: 15%;
    }

    .slider-photos .swiper-slide.hor {
    	width: 30%;
    }
}




@media (min-width: 1300px) {
	/*.menu > ul li a {
      padding: 9px 12px;
  }
  header {
  	gap:30px;
  }
  .logo {
        width: 125px;
        height: 100px;
    }*/
}

@media (min-width: 1400px) {

    .slider-photos .swiper-slide {
      width: 15%;
    }

    .slider-photos .swiper-slide.hor {
    	width: 25%;
    }
}