@import url('https://fonts.googleapis.com/css2?family=Golos+Text:wght@400..900&display=swap');

.container {
	max-width: 1200px;
	padding: 0;
}
.main-block {
	display: flex;
	justify-content: space-between;
}

.full-screen-main-bg {
	width: 100%;
	min-height: 563px;
	background: url("img/service-main-img.png") no-repeat left -100px top -100px / 120%;
	position: relative;
	z-index: 1;
	padding: 50px 0;
	&:before {
		content: '';
		position: absolute;
		inset: 0;
		background: linear-gradient(0deg, rgba(255, 255, 255, 0.7), rgba(255, 255, 255, 0.5)), linear-gradient(0deg, rgba(255, 255, 255, 0.14), rgba(255, 255, 255, 0.14));
		z-index: 1;
	}
	.container {
		position: relative;
		z-index: 2;
	}
}

.main_title {
	font: 700 56px/110% "Golos Text";
	margin-bottom: 40px;
	text-align: center;
	color: #23242A;
}

.main-description {
	font: 600 25px/30px "Golos Text";
	text-align: center;
	max-width: 824px;
	margin: 0 auto 40px;
	color: #23242A;
}

.btn-big-gradient {
	display: inline-block;
	height: 80px;
	padding: 20px 40px;
	color: #fff;
	border-radius: 12px;
	font: 600 30px/40px "Golos Text";
	text-align: center;
	margin-bottom: 40px;
	cursor: pointer;
	background: linear-gradient(135deg, #FDD819 0%, #E80505 100%);
}


.info-three-item {
	display: flex;
	justify-content: space-between;
	width: 740px;
	margin-bottom: 40px;
}
.info-three-item .info-item {
	display: flex;
	justify-content: space-between;
	align-items: center;
	&:nth-of-type(1){width: 200px;}
	&:nth-of-type(2){width: 250px;}
	&:nth-of-type(3){width: 200px;}
}
.info-three-item .info-icon {
	width: 60px;
	height: 60px;
}
.info-three-item .text {
	width: calc(100% - 66px);
	color: #23242A;
	font: 400 16px/20px "Golos Text" !important;
}
.sub-text {
	color: #23242A;
	font: 400 16px/20px "Golos Text";
}


#address {
	overflow: visible;
}
.address-block {
	width: 400px;
	.btn-big-gradient {
		width: 100%;
	}
}
.address-title {
	font: 600 30px/40px "Golos Text";
	color: #23242A;
	margin-bottom: 40px;
}
.address-select {
	width: 100%;
	border: 1px solid #0E6FFF;
	height: 60px;
	border-radius: 12px;
	margin-bottom: 40px;
	padding: 13px 30px;
	cursor: pointer;
	position: relative;
	.address-select-arrow {
		width: 51px;
		height: 51px;
		background: url("img/arrow-round-blue.svg") no-repeat center;
		position: absolute;
		top: 3px;
		right: 20px;
		transition: 0.3s ease;
	}
	&.active {
		.address-select-arrow {
			transform: rotate(180deg);
		}
	}
}
.select-title {
	font: 400 20px/30px "Golos Text";
	color: #23242A;
}
.address-list-block {
	position: absolute;
	display: flex;
	top: 75px;
	left: -1px;
	right: -1px;
	max-height: 360px;
	overflow-y: scroll;
	flex-direction: column;
	background: #fff;
	gap: 20px;
	padding: 20px 0;
	box-shadow: 10px 10px 50px 3px #275C8D1A;
	opacity: 0;
	visibility: hidden;
	transition: 0.3s ease;
	&.show {
		opacity: 1;
		visibility: visible;
	}
	.address-item {
		display: flex;
		align-items: center;
		width: 100%;
		border: 1px solid #0E6FFF;
		min-height: 60px;
		border-radius: 12px;
		padding: 0 45px;
		cursor: pointer;
		color: #23242A;
		font: 400 24px/30px "Golos Text";
	}
}
.map-btn {
	display: none;
	width: 74px;
	border: 2px solid #0E6FFF;
	height: 74px;
	background: url("img/map-loc-icon.svg") no-repeat center;
	border-radius: 12px;
}





.map-block {
	width: calc(100% - 460px);
	.map-content {
		border-radius: 12px;
		overflow: hidden;
		position: relative;
		margin-bottom: 50px;
	}
	img {
		width: 100%;
	}
	.map-address {
		position: absolute;
		top: 10px;
		left: 10px;
		background: #fff;
		border-radius: 12px;
		padding: 25px;
		a {font: 600 24px/34px "Golos Text";margin-bottom: 10px;display: block;}
		div {
			font: 400 24px/34px "Golos Text";
			color: #23242A;
			margin-bottom: 10px;
			&.sb {font-weight: 600;}
			&:nth-last-of-type(1) {
				margin-bottom: 0;
			}
			&.small {font: 400 20px/30px "Golos Text";}
		}
	}
}


.text-block {
	margin-bottom: 40px;
//*	max-height: 450px; *//
	overflow: hidden;
	padding: 10px;
	box-shadow: 10px 10px 50px 3px #275C8D1A;
	transition: max-height 0.4s ease;
	&.show {
		max-height: 1450px;
	}
}
.tb-title {
	font: 600 30px/40px "Golos Text";
	color: #23242A;
	margin-bottom: 40px;
	text-align: center;
}
.tb-text {
	margin-bottom: 20px;
	background: #fff;
	p {
		font: 400 20px/30px "Golos Text";
		color: #23242A;
		margin-bottom: 20px;
	}
}
#text-block {margin-bottom: 50px;}
#text-block img {
	width: 100%;
}
.tb-btn {
	display: flex;
	align-items: center;
	justify-content: center;
	width: 200px;
	height: 50px;
	margin: 0 auto;
	color: #fff;
	border-radius: 12px;
	background: #0E6FFF;
	cursor: pointer;
	font: 400 20px/30px "Golos Text";
}

















swiper-container.brands-swiper,
.review-swiper {
	width: 100%;
	padding: 0 30px;
	height: 100px;
	margin: 0 auto;
}

.review-swiper {
	padding: 0;
	height: auto;
}
#reviews {margin-bottom: 50px;}
#reviews .tb-title {
	margin-bottom: 20px;
}
.review-swiper .swiper-slide {
	height: 590px;
	padding: 45px;
	margin-top: 40px;
	margin-bottom: 90px;
	background: #fff;
	box-shadow: 10px 10px 50px 3px #275C8D1A;
	border-radius: 12px;
	.reviews-info {
		background: none;
		display: flex;
		margin-bottom: 15px;
	}
	.review-stars {
		display: flex;
		gap: 8px;
		height: 27px;
		align-items: center;
		margin-bottom: 15px;
	}
	.name {font: 600 30px/40px "Golos Text";}
	.text {font: 400 20px/30px "Golos Text";}
}

.review-swiper {
	width: 100%;
	margin-bottom: 20px;
}
.review-swiper-nav {
	display: flex;
	justify-content: center;
	align-items: center;
	gap: 20px;
}
#reviews .swiper-button-prev:after,
#reviews .swiper-button-next:after {
	display: none;
}
#reviews .swiper-button-prev,
#reviews .swiper-button-next {
	width: 51px;
	height: 51px;
	background: url("img/swiper-arrow-active.svg") no-repeat center;
}
#reviews .swiper-button-prev {
	top: initial;
	left: 0;
	bottom: 0;
	transform: rotate(180deg);
}
#reviews .swiper-button-next {
	top: initial;
	left: 51px;
	bottom: 0;
}

#faq {
	margin-bottom: 40px;
}
.faq-block {
	margin-bottom: 20px;
}
.faq-block-question {
	padding: 24px 125px 24px 45px;
	cursor: pointer;
	background: #0E6FFF url("img/plus-round-white.svg") no-repeat right 62px center;
	color: #fff;
	font: 600 30px/40px "Golos Text";
	border-radius: 12px 12px 0 0;
	transition: 0.3s ease;
}

.faq-block.active .faq-block-question {
	background: #0E6FFF url("img/minus-round-white.svg") no-repeat right 62px center;
}

.faq-block-answer {
	max-height: 0;
	overflow: hidden;
	opacity: 0;
	transition: all 0.3s ease;
}

.faq-block-answer.active {
	max-height: 1000px;
	opacity: 1;
	padding-top: 10px;
}

.faq-block-answer {
	padding: 0 20px;
	background: #fff;
	font: 400 24px/34px "Golos Text";
	color: #23242A;
	border-radius: 0 0 12px 12px;
	box-shadow: 10px 10px 50px 3px #275C8D1A;
}





#gallery {
	margin-bottom: 50px;
}
#gallery video {
	width: 100%;
}
.gallery-swiper {
	margin-bottom: 50px;
}

.gallery-swiper .swiper-slide {
	.gallery-block {
		display: flex;
		height: 250px;
		border-radius: 12px;
		overflow: hidden;
		width: 100%;
		img {
			width: 100%;
			height: 100%;
			object-fit: cover;
		}
	}
}
.lightbox {
	position: fixed;
	top: 0;
	left: 0;
	width: 100%;
	height: 100%;
	background: rgba(0, 0, 0, 0.9);
	display: none;
	justify-content: center;
	align-items: center;
	z-index: 1000;
	opacity: 0;
	transition: opacity 0.3s ease;
}

.lightbox.active {
	display: flex;
	opacity: 1;
}

.lightbox-content {
	position: relative;
	max-width: 90%;
	max-height: 90%;
}

.lightbox-image {
	max-width: 100%;
	max-height: 90vh;
	object-fit: contain;
}

.lightbox-close {
	position: absolute;
	top: -40px;
	right: 0;
	background: none;
	border: none;
	color: white;
	font-size: 30px;
	cursor: pointer;
	width: 40px;
	height: 40px;
}

.lightbox-prev,
.lightbox-next {
	position: absolute;
	top: 50%;
	transform: translateY(-50%);
	background: rgba(255, 255, 255, 0.2);
	border: none;
	color: white;
	font-size: 24px;
	cursor: pointer;
	width: 50px;
	height: 50px;
	border-radius: 50%;
	transition: background 0.3s ease;
}

.lightbox-prev:hover,
.lightbox-next:hover {
	background: rgba(255, 255, 255, 0.4);
}

.lightbox-prev {
	left: 20px;
}

.lightbox-next {
	right: 20px;
}

/* Делаем картинки в слайдере кликабельными */
.gallery-block img {
	cursor: pointer;
	transition: transform 0.3s ease;
}

.gallery-block img:hover {
	transform: scale(1.02);
}









#bottom-full-block {
	position: relative;
	background: url("img/full-screen-bg-2.png") no-repeat center / cover;
	z-index: 1;
	padding: 50px 0;
	&:before {
		content: '';
		position: absolute;
		inset: 0;
		background: #00000080;
		z-index: -1;
	}
	.tb-title {
		font: 700 48px/58px "Golos Text";
		color: #fff;
	}
	.bf-text {
		margin: 0 auto 40px;
		max-width: 70%;
		font: 600 30px/40px "Golos Text";
		color: #fff;
		text-align: center;
	}
	.btn-big-gradient {
		margin: 0 auto;
	}
	.container {
		position: relative;
		z-index: 2;
		display: flex;
		flex-direction: column;
		align-items: center;
	}
}






.desk {display: block;}
.btn-normal.desk {display: inline-block;}
.mob {display: none;}


.flex {display: flex;}
.flex-col {flex-direction: column;}
.ai-c {align-items: center;}
.jc-sp {justify-content: space-between;}
.jc-c {justify-content: center;}


@media screen and (max-width: 1279px) {
	.container {
		padding: 0 34px;
	}
}

@media screen and (max-width: 1199px) {
	.full-screen-main-bg {
		padding: 30px 0;
		min-height: 462px;
	}
	.main_title {
		font: 700 44px/110% "Golos Text";
		margin-bottom: 30px;
	}
	.main-description {
		font: 600 24px/34px "Golos Text";
		max-width: 540px;
		margin: 0 auto 30px;
	}
	.btn-big-gradient {
		height: 74px;
		padding: 20px 40px;
		font: 600 24px/34px "Golos Text";
		margin-bottom: 30px;
	}
	.map-block {
		width: 100%;
		display: flex;
		align-items: center;
		justify-content: center;
		/*position: fixed;*/
		/*inset: 0;*/
		/*background: rgba(0, 0, 0, 0.7);*/
		/*z-index: 101;*/
		/*opacity: 0;*/
		/*visibility: hidden;*/
		/*transition: 0.3s;*/
		/*&.show {*/
		/*	opacity: 1;*/
		/*	visibility: visible;*/
		/*}*/
		.map-content {
			width: 100%;
		}
		.map-address {
			display: none;
			position: initial;
			border-radius: 0;
		}
		.mob {
			margin-top: 5px;
			display: block;
		}
		.btn-close-map {
			position: absolute;
			top: 20px;
			right: 20px;
			width: 30px;
			height: 30px;
			background: url('img/close-white.svg') no-repeat center / 28px;
			z-index: 2;
		}
	}
	.text-block {margin-bottom: 30px;}
	.address-block {
		display: none;
		/*width: 476px;margin: 0 auto;*/
	}
	.address-title, .tb-title {
		font: 600 24px/34px "Golos Text";
		text-align: center;
		margin-bottom: 30px;
	}
	#address {
		margin: 40px 0;
		padding: 0;
		.btn-big-gradient {margin-bottom: 0;display: none;}
		.container {
			flex-direction: column;
			.address-block-mob {margin-bottom: 12px;}
		}
	}
	.select-map-btn-block {
		display: flex;
		justify-content: space-between;
		.address-select {
			width: calc(100% - 114px);
		}
		.select-title {font: 400 20px / 30px "Golos Text";}
		.address-item {
			font: 400 20px / 30px "Golos Text";
			padding: 20px;
		}
		.map-btn {
			display: block;
		}
	}
	.tb-text {
		p {
			font: 400 16px / 20px "Golos Text";
		}
	}
	#text-block {margin-bottom: 40px;}

	.review-swiper .swiper-slide {
		height: 360px;
		.name {font: 600 24px/34px "Golos Text";}
		.text {font: 400 16px/20px "Golos Text";}
	}
	#reviews .tb-title {margin-bottom: 10px;}
	.faq-block-question {
		font: 600 24px/34px "Golos Text";
		background: #0E6FFF url("img/plus-round-white.svg") no-repeat right 40px center / 40px;
	}
	.faq-block-answer {font: 400 18px/28px "Golos Text";}
	#bottom-full-block {
		.tb-title {font: 700 30px/40px "Golos Text";}
		.bf-text {font: 600 24px/34px "Golos Text";}
	}
	.faq-block.active .faq-block-question {
		background: #0E6FFF url("img/minus-round-white.svg") no-repeat right 40px center / 40px;
	}
	.address-select {
		.address-select-arrow {
			right: 20px;
		}
	}
}
@media screen and (max-width: 991px) {
	.main_title {
		font: 700 32px/110% "Golos Text";
		margin-bottom: 30px;
	}
}
@media screen and (max-width: 767px) {
	.container {
		padding: 0 10px;
	}
	.full-screen-main-bg {
		min-height: initial;
	}
	.main_title {
		font: 700 28px/110% "Golos Text";
		margin-bottom: 25px;
	}
	.main-description {
		font: 600 18px/24px "Golos Text";
		max-width: initial;
		margin: 0 auto 25px;
	}
	.btn-big-gradient {
		height: 54px;
		padding: 15px;
		width: 100%;
		font: 600 18px/24px "Golos Text";
		margin-bottom: 25px;
	}
	.info-three-item {
		width: 100%;
		flex-direction: column;
		gap: 20px;
		.info-item {width: 100% !important;}
	}
	.info-item-icon {
		width: 40px;
		height: 40px;
	}
	.info-three-item .text {width: calc(100% - 65px);}
	.full-screen-main-bg {
		background: url("img/service-main-img.png") no-repeat center top / cover;
	}
	.address-block {width: 476px;margin: 0 auto;}
	.address-title, .tb-title {
		font: 600 18px/24px "Golos Text";
	}
	#address {
		margin: 25px 0;
	}
	.map-btn {
		width: 46px;
		height: 46px;
		background: url("img/map-loc-icon.svg") no-repeat center / 23px 30px;
	}
	.select-map-btn-block {
		.address-select {
			height: 46px;
			width: calc(100% - 60px);
			padding: 15px 25px;
		}
		.address-select-arrow {
			width: 31px;
			height: 31px;
			background: url("img/arrow-round-blue.svg") no-repeat center / 28px;
			top: 6px;
			right: 15px;
		}
		.select-title {font: 400 14px / 18px "Golos Text";}
		.address-item {
			font: 400 14px / 18px "Golos Text";
			padding: 10px;
		}
		.map-btn {
			display: block;
		}
	}
	#reviews .tb-title {margin-bottom: 0;}

	.review-swiper .swiper-slide {
		height: auto;
		padding: 25px;
		.name {font: 600 18px/24px "Golos Text";}
		.text {font: 400 14px/18px "Golos Text";}
	}
	#reviews {margin-bottom: 20px;}
	.faq-block-question {
		padding: 12px 100px 12px 25px;
		font: 600 16px/20px "Golos Text";
		background: #0E6FFF url("img/plus-round-white.svg") no-repeat right 26px center / 26px;
	}
	.faq-block.active .faq-block-question {
		background: #0E6FFF url("img/minus-round-white.svg") no-repeat right 26px center / 26px;
	}
	#bottom-full-block {
		padding: 30px 0 50px;
	}
	#bottom-full-block {
		.tb-title {
			font: 700 24px / 30px "Golos Text";
			margin-bottom: 25px;
		}
		.bf-text {
			font: 700 18px / 24px "Golos Text";
			margin-bottom: 25px;
		}
	}
	.address-list-block .address-item {height: 46px;}
	.map-block {
		& .map-address {
			a {font: 400 18px / 24px "Golos Text";}
			& div {
				&.small {font: 400 14px / 18px "Golos Text";}
				&.sb {font: 400 18px / 24px "Golos Text";}
			}
		}
	}
}