* {
	margin: 0;
	padding: 0;
	-webkit-box-sizing: border-box;
	box-sizing: border-box;
	text-decoration: none;
}

  /* Стили для меню */
#languageMenu,
languageMenuDesc{
            display: none; /* Скрываем меню по умолчанию */
            padding: 10px;
            position: absolute;
            background-color: white;
			right: 20px;
        }
 
body {
	font-family: "Montserrat-Regular", "Arial", sans-serif;
	font-size: 24px; 
}

.off-scroll {overflow: hidden;}

.container {
	max-width: 92vw;
	margin: 0 auto; 
} 

header {overflow: hidden;}

.header-sidebar-menu {
	width: 60%;
	height: 100vh;
	left: 100%;
	background-color: #1146b2;
	position: fixed; 
	z-index: 1000; 
	transition: all 300ms;
}

.show {left: 40%;}

.header-sidebar-menu-content {
	width: 85%;
	height: 100%;
	margin: 0 auto;
}

.header-sidebar-menu-button {
	width: 100%;
	height: 15%;
	display: flex;
	align-items: center;
	justify-content: flex-end;  
}

.header-sidebar-menu-button button {
	background-color: #1146b2;
	background-image: url(../images/icons/menu-close.png);
}

.header-sidebar-menu-nav {
	height: 78%;
	display: flex;
	justify-content: center;
	align-items: center;  
}

.header-sidebar-menu-nav nav {
	display: flex;
	flex-direction: column; 
	align-items: center;
}

.header-sidebar-menu-nav nav a {
	color: #fff;
	margin-bottom: 30px;
} 

.header-wrapper { 
	width: 100vw;
	min-height: 100vh;  
	display: flex; 
	justify-content: space-between;  
}

.header-image {
	width: 40%;  
	position: relative;    
}

.header-image img {
	width: 100%;
	height: 100%;
	top: 0;
	left: 0;
	position: absolute;
	object-fit: cover;
	box-shadow: 0 0 35px 4px #A9A9A9;
}

.header-image-mobile {
	border-radius: 20px;
	display: none;  
}

.header-content-wrapper {width: 52%;}

.menu-header-wrapper {
	width: 100%;
	height: 15%;
	display: flex;
	align-items: center;
	justify-content: flex-end;  
}

.menu-header-wrapper nav {
	width: 100%;
	display: flex;
	justify-content: space-between;
	align-items: center;
}

.menu-header-wrapper nav a {
	color: #111;
	font-size: 18px;
}

nav a:hover {color: #4482FF;}

.menu-mobile {display: none;}

.menu-header-wrapper .contacts-link {
	background: linear-gradient(90deg, rgba(63,123,245,1) 0%, rgba(66,180,205,1) 100%);
	padding: 12.5px 20px;
	color: #fff;
	border-radius: 30px;
}

.menu-header-wrapper .contacts-link:hover {
	color: #fff;
	background: linear-gradient(90deg, rgba(66,180,205,1) 0%, rgba(63,123,245,1) 100%);
}

.menu-header-wrapper button { 
	background-color: #fff;
	background-image: url(../images/icons/menu-open.png);
	display: none;
}

.header-sidebar-menu-content button,
.menu-header-wrapper button {
	width: 35px;
	height: 35px;
	border: none;
	background-size: contain;
	background-position: center;
	background-repeat: no-repeat;}
button:active,
button:focus {outline: none;}
button:hover {cursor: pointer;}

.header-content {
	width: 100%; 
	height: 85%;
	display: flex;
	flex-direction: column;
	justify-content: center;
}

.header-content .underline-header {
	width: 28vw;
	height: 3px;
	margin: 5% 0;
	background-color: #1146B2;
}

.header-content h3 {
	font-family: "Montserrat-Light", "Arial", sans-serif;
	color: #4482FF;
	margin-bottom: 3%;
}

.header-content p {width: 80%;}

.services-section { 
	width: 100%;
	min-height: 400px;
	background-color: #1146B2;
}

.services-section-container {min-height: 400px;}

.title {
	height: 180px;
	letter-spacing: 1px; 
	display: flex;
	justify-content: center;
	align-items: center;
	color: #fff;  
}

.services-content-wrapper { 
	height: 300px; 
	display: flex;
	justify-content: center;
}

.services-content-block {
	width: 50%;  
	display: flex;
	flex-direction: column;  
}

.services-content-block-title {
	height: 80px;
	display: flex;
	align-items: center;
	justify-content: center; 
}

.services-content-block-title img {
	width: 44px;
	height: 44px;
	margin-right: 33px;  
}

.services-content-block-title p {
	width: 55%;
	font-family: "Montserrat-Light", "Arial", sans-serif;
	color: #fff;  
}

.services-button {
	margin-top: 48px;
	display: flex;
	justify-content: center;
}

.services-button button,
.check-list-section-container button {
	width: 346px;
	height: 50px;
	border-radius: 25px;
	border: none;
	font-family: "Montserrat-Light", "Arail", sans-serif;
	font-size: 18px;
	color: #fff;
	background: rgb(0,1,36);
	background: linear-gradient(90deg, rgba(63,123,245,1) 0%, rgba(66,180,205,1) 100%);
}

.services-button button:hover {
	background: linear-gradient(90deg, rgba(66,180,205,1) 0%, rgba(63,123,245,1) 100%);
}

.panel-slider-element { 
	height: 500px;
	display: flex;
	justify-content: space-between;
	align-items: center;  
}

.arrow-block {
	width: 60px;
	height: 60px;
	padding: 5px;
	display: flex;
	align-items: center;
	justify-content: center;
	border: 1px solid #111;
	border-radius: 50%; 
}

.arrow-block:hover {cursor: pointer;} 
.arrow-block img {max-width: 40%;}

.slider-line-wrapper { 
	height: 100%; 
	width: 940px;  
	overflow: hidden;
} 

.slider-line { 
	 display: flex;
  gap: 20px; /* важно: вместо justify-content: space-between */
  transition: 0.5s ease;
} 

.slide {
 width: 350px;
  flex-shrink: 0; /* не даём им сжиматься */
  height: 500px;
  display: flex;
  align-items: center;
  justify-content: center;
  overflow: hidden;
  border-radius: 20px;
  border: 1px solid #828282;
  background-color: white;
}

.last-slide {margin-right: 0;}

.slide img {
	max-height: 100%;
  max-width: 100%;
  object-fit: contain;
  display: block;
}


.results-section, 
.reviews-section {
	width: 100%;
	height: auto;
	background-color: #fff;
	padding-bottom: 40px;
}

.reviews-section {background-color: #1146B2;}

.results-section-container,
.reviews-section-container {
	width: 92vw;
	margin: 0 auto;
}
.reviews-section-container .slider-line-wrapper {
    overflow: hidden;
  width: auto; /* правильно: ширина будет задаваться через JS */
  height: 100%;
}
.reviews-section-container .arrow-block {border: 1px solid #fff;}
.slider-line-reviews {width: 2200px;}
.reviews-section-container .slide {width: 350px;}

.results-section .title,
.reviews-section .title {
	height: 100px;
	flex-direction: column;
}

.results-section h2 {color: #111;}
 
.check-list-section {
	width: 100%;
	min-height: 300px;
	color: #111; 
}

.check-list-section-container {
	display: flex;
	flex-direction: column;
	align-items: center;
}

.check-list-section-container .title {
	display: flex; 
	color: #111;  
}

.check-list-section-container p {
	font-size: 18px;
	color: #8B8B8B;
}

.check-list-section-container button:hover {
	background: linear-gradient(90deg, rgba(66,180,205,1) 0%, rgba(63,123,245,1) 100%);
}

.contacts-sections {
	width: 100%;
	min-height: 300px;
	padding-bottom: 50px;
	background-color: #1146b2;
}

.contacts-sections .title {
	height: 120px;
	color: #fff;
}

.contacts-section-content {
	min-height: 130px;
	display: flex;
	justify-content: space-between;
	flex-wrap: wrap; 
}

.contacts-item {width: 25%;}

.contacts-section-content img {
	width: 70px;
	height: auto;
	margin-bottom: 15px;
} 

.contacts-item a {
	display: flex;
	flex-direction: column;
	align-items: center;
	justify-content: center;
}

.contacts-item h3 {
	font-weight: normal;
	color: #fff;
}

footer {
	height: 85px;
	background-color: #111;
}

.footer-content-wrapper {
	height: 100%;
	display: flex;
	justify-content: space-between;
	align-items: center;  
}

.footer-content-wrapper span {color: #999; margin-right: 10px}

.footer-content-wrapper p {
	min-width: 50%;
	font-size: 2vw;
	display: flex;
	justify-content: center;  
}

.policy {
	font-size: 18px;
	color: #fff;
}

.footer-content-wrapper p,
.go-to-top {
	font-family: "Montserrat-Light", "Arial", sans-serif;
	font-size: 18px;
	color: #fff;
}

.go-to-top { 
	border: 1px solid white;
	padding: 10px 20px;
	border-radius: 30px;
}

@media only screen and (max-width: 1200px)
{
	.menu-header-wrapper nav {display: none;}
	.menu-header-wrapper button {display: block;}
	.slider-line-wrapper {width: 620px;}
}

@media only screen and (max-width: 1000px)
{
	.reviews-section-container .slider-line-wrapper {width: 350px;}
}

@media only screen and (max-width: 900px)
{
	.header-content h1 {font-size: 40px;}
	.services-content-wrapper {
		flex-direction: column; 
		height: 600px;}
	.services-content-block {
		width: 100%;
		height: 300px;}
	.contacts-item {
		width: 50%;
		margin-bottom: 40px;}
	.contacts-sections {padding-bottom: 10px;}
}

@media only screen and (max-width: 850px)
{
	.slider-line-wrapper {width: 300px;}
}

@media only screen and (max-width: 1199px)
{
	.header-sidebar-menu {width: 100%;}
	.show {left: 0;}
	.container {max-width: 85vw;}
	.header-wrapper {
		flex-direction: column; 
		min-height: 100vh;}
	.header-image { 
		width: 100%;
		height: 60vw;} 
	.header-image img {
		height: auto;
		box-shadow: none;}
	.header-image-desktop {display: none;}
	.header-image-mobile {display: flex;}
	.header-content-wrapper {width: 100%; padding: 10vw 0 15vw 0 ;} 
	.header-content .underline-header {width: 50vw;}
	.menu-header-wrapper {height: 100px;}
	footer {height: 200px;}
	.footer-content {margin-bottom: 3vw;}
	.footer-content-wrapper {
		flex-direction: column;
		align-items: center;
		justify-content: center;}
	.menu-desktop {display: none;} 
	.menu-mobile {display: flex;} 
	.footer-content-wrapper a {margin-top: 20px;} 
}

@media only screen and (max-width: 550px)
{
	.reviews-section-container {width: 100vw;}
	.reviews-section-container .panel-slider-element {width: 100%;}
}

@media only screen and (max-width: 460px)
{  
	.results-section-container {width: 100vw;}
	.reviews-section-container .arrow-block {border: none;}
	.results-section {height: auto;}
	.panel-slider-element {
		width: 100%; 
		justify-content: center;}
	.arrow-block {
		height: 35%;
		position: absolute;
		border: none;  
		width: 15vw; 
		background-color: rgba(150, 150, 150, 0.2);
	}
	#prev_btn_reviews,
	#next_btn_reviews {background-color: rgba(83,83,83,0.3);}
	#prev_btn_result,
	#prev_btn_reviews {
		left: 0%; 
		z-index: 5;
		border-bottom-right-radius: 20px;
		border-top-right-radius: 20px;}
	#next_btn_result,
	#next_btn_reviews {
		left: 85%;
		border-bottom-left-radius: 20px;
		border-top-left-radius: 20px;} 
	.footer-content-wrapper p {font-size: 3.5vw;}
	.policy {font-size: 4vw;}
}

@media only screen and (max-width: 420px)
{  
	.header-content h1 {font-size: 9vw;}
	.header-content h3 {font-size: 18px;}
	.header-content .underline-header {width: 70vw;}
	.header-content p {
		font-size: 20px;
		margin-top: 20px;}
	.services-content-wrapper {height: 500px;}
	.services-title {font-size: 5.5vw;}
	.services-content-block-title p {font-size: 5vw;}
	.services-button button {width: 80vw;} 
	.slide img {border-radius: 0;} 
	.check-list-section-container button {width: 80vw;}
	.contacts-section-content img {
		width: 50px;
		height: auto;}
	.contacts-item h3 {font-size: 18px;} 
	.policy a {font-size: 10px;}
} 

