.second .offer_pop_right{
	flex: 0 0 100%;
	max-width: 100%;
}

.second .offer_popup{
	max-width: 826px;
}

main, .map {
	overflow: hidden;
}

p{
	color: #1E2323;
}

.top_section{
	background-color: #BFCEBE;
	padding-top: 160px;
	position: relative;
	z-index: 2;
}

.solutions h1{
	font-size: 60px;
	line-height: 120%;
	letter-spacing: -0.05em;
	color: #1E2323;

}
.top_section .top{
	display: flex;
	align-items: flex-end;
	justify-content: space-between;
	margin-bottom: 160px;
}
.top_section .bottom{
	display: flex;
	align-items: center;
	flex-direction: row;
}

.bottom.carousel-main{
	display: flex;
	flex-direction: row;
	align-items: flex-start;
}

.carousel-main .left{
	margin-bottom: 140px;
}

.carousel-info-box{
	flex: 0 0 45%;
	max-width: 45%;
	padding-right: 80px;
}

.carousel-info-box h2{
	font-size: 40px;
	line-height: 120%;
	letter-spacing: -0.05em;
	color: #1E2323;
	margin-bottom: 50px;
	margin-top: 10px;
}

.carousel-info-box p{
	font-size: 20px;
	line-height: 160%;
	letter-spacing: -0.05em;
	color: #1E2323;
}

.carousel-info-box-container{
	position: relative;
	min-height: 450px;
	z-index: 1;
}

.carousel-info-box-content {
	opacity: 0;
	z-index: 1;
	position: absolute;
}
.carousel-info-box-content.active{
	opacity: 1;
	z-index: 10;
}

.right.carousel-images{
	flex: 0 0 55%;
	max-width: 55%;
	overflow: visible;
}
.carousel-images-container{
	display: flex;
}

.carousel-images-container .image-single{
	max-width: 538px;
	border-radius: 10px;
	margin-right: 35px;
}


.carousel-nav{
	display: flex;
	flex-direction: row;
	align-items: center;
	position: relative;
	z-index: 5;
}

.carousel-nav span.carousel-button-big{ 
	height: 50px;
	width: 50px;
	background-color: white;
	border: none;
}
.carousel-nav span.carousel-button-big.arrow-left svg{ 
	left: 22px;
	top: 16px;
	position: relative;
}

.carousel-nav span.carousel-button-big.arrow-right svg{ 
	left: 22px;
	top: 16px;
	position: relative;
	transform: rotate(180deg);
}

.carousel-nav span{
	height: 19px;
	width: 19px;
	border: 1px solid white;
	border-radius: 50px;
	margin-right: 25px;
}

.carousel-nav span.active{
	background-color: white;
	height: 20px;
	width: 20px;
	border: 1px solid transparent;
}

/* Add smooth transitions for animations */
.carousel-info-box-content, .carousel-images-container {
	transition: opacity 0.5s ease, transform 0.5s ease;
}
.carousel-info-box-content {
	opacity: 0;
	position: absolute;
	transition: opacity 0.5s ease-in-out;
}
.carousel-info-box-content.active {
	opacity: 1;
}

.carousel-images-container {
	display: flex;
	transition: transform 0.5s ease;
	transform: translateX(0);
}

.carousel-nav span.active {
	background-color: white;
}

/*
.image-single.disabled {
opacity: 0;
transition: opacity 0.5s ease;
}
*/

.image-single {
	/*opacity: 0;*/
	transition: opacity 0.5s ease;
	position: relative;
	z-index: 1; /* Base layer for all images */
}

.image-single.active {
	opacity: 1;
	z-index: 2; /* Bring the active image to the top layer */
}

.image-single.disabled {
	opacity: 0;
	transition: opacity 0.5s ease;
	z-index: 1; /* Keep disabled images below active images */
	/* Lock position by avoiding any left/right transforms */
}

.clients{
	padding: 120px 0;
	padding-bottom: 160px;
}
.clients .top{
	display: flex;
}
.clients .top h1{
	max-width: 600px;
}
.clients .top a{
	font-size: 24px;
	line-height: 120%;
	letter-spacing: -0.05em;
	margin-top: auto;
	padding-bottom: 5px;
	margin-left: auto;
}

.clients .top a:hover{
	text-decoration: underline;
}
.clients .top a svg{
}
.clients .bottom{
	margin-top: 80px;
	display: flex;
	flex-direction: row;
}

.clients .bottom .left {
	width: 30%;
	padding-right: 20px;
	position: relative;
	background-color: #fff;
	z-index: 2;
}

.clients .bottom .left::before {
	content: "";
	position: absolute;
	top: 0;
	left: -900px;
	bottom: 0;
	width: 900px;
	background-color: #ffffff;
	pointer-events: none;
	z-index: 3;
}

/* white gradient
.clients .bottom .left::after {
content: "";
position: absolute;
top: 0;
right: -10px;
bottom: 0;
width: 10px;
background: linear-gradient(to left, rgba(255, 255, 255, 0), #ffffff);
pointer-events: none;
z-index: 3;
}*/

.clients .bottom .left .categories{
	height: 100%;
	margin-right: 20px;
}
.clients .bottom .left .category{
	display: flex;
	flex-direction: row;
	padding-bottom: 30px;
	align-items: center;
	cursor: pointer;
}
.clients .bottom .left .category:hover .name{
	color: #616d6d;
}
.clients .bottom .left .name{
	color: #BFCEBE;
	font-size: 40px;
	line-height: 120%;
	letter-spacing: -0.05em;
}
.clients .bottom .left .active .name{
	color: #1E2323;
}


.clients .bottom .left .category:hover .cat-name{
	color: #616d6d;
}
.clients .bottom .left .cat-name{
	color: #BFCEBE;
	font-size: 40px;
	line-height: 120%;
	letter-spacing: -0.05em;
}
.clients .bottom .left .active .cat-name{
	color: #1E2323;
}

.clients .bottom .left .line{
	width: 0px;
	height: 3px;
	margin-left: auto;
}

.clients .bottom .left .line{
	width: 0px;
	height: 3px;
	margin-left: auto;
	transition: all 0.3s ease-in-out;
}
.clients .bottom .left .active .line{
	width: 40px;
	background-color: #93C13E;
}
.clients .bottom .right{
	width: 70%;
	position: relative;
	z-index: 1; 
}
.clients .bottom .right .carousel-groups{
}
.clients .bottom .right .carousel-group{
	display: flex;
	flex-direction: row;
	position: absolute;
	visibility: hidden;
}

.clients .bottom .right .carousel-group.active{
	position: relative;
	visibility: visible;
}

.clients .bottom .right .carousel-group .item-data{
	padding-right: 25px;
	cursor: pointer;
}
.clients .bottom .right .carousel-group .image-single{
	border-radius: 10px;
	object-fit: cover;
	width: 100%;
	height: auto;
}

.clients .bottom .right .carousel-group .item-image-cont{
	display: flex;
	aspect-ratio: 5 / 3;
	overflow: hidden;
	width: 400px;
	max-width: 400px;
	flex-wrap: nowrap;
	flex-direction: row;
	justify-content: center;
	align-content: center;
	border-radius: 10px;
}

.clients .bottom .right .carousel-group .name{
	margin: 25px 0;
	font-size: 25px;
	line-height: 120%;
}
.clients .bottom .right .carousel-group .description{
	font-size: 14px;
	line-height: 160%;
	letter-spacing: -0.05em;
	margin-bottom: 25px;
	max-width: 400px;
}
.clients .bottom .right .carousel-group .read-more{
	font-size: 16px;
	line-height: 120%;
	letter-spacing: -0.03em;	
}
.clients .bottom .right .carousel-group .item-data:hover .read-more{
	text-decoration: underline;
}

/*effets*/
.carousel-group {
	transition: opacity 0.4s ease; 
}

.carousel-group .item-data {
	transition: opacity 0.3s ease;
}

.carousel-groups {
	/*overflow: hidden;*/
	position: relative;
}

.carousel-group {
	display: flex;
	flex-direction: row;
	transition: transform 0.4s ease-out;
}

.carousel-group.active {
	opacity: 1;
}

.ticker {
	background-color: #93C13E;
	text-transform: uppercase;
	padding: 7px 0;
	overflow: hidden;
}

.ticker .box {
	display: flex;
	flex-direction: row;
	align-items: center;
	position: relative;
}

.ticker .left {
	background-color: #93C13E;
	z-index: 2;
}

.ticker .left .tilte {
	background-color: #93C13E;
	z-index: 3;
	width: 130px;
	position: relative;
	font-weight: 500;
}

.ticker .left .tilte::after {
	content: "";
	position: absolute;
	top: 0;
	left: 130px;
	bottom: 0;
	width: 20px;
	background: linear-gradient(to left, rgba(255, 255, 255, 0), #93C13E);
	pointer-events: none;
	z-index: 3;
}

.ticker .left .tilte::before{
	content: "";
	position: absolute;
	top: 0;
	left: -900px;
	bottom: 0;
	width: 900px;
	background-color: #93c13e;
	pointer-events: none;
	z-index: 10;
}

.ticker-wrapper {
	display: flex;

	user-select: none;
}

.ticker-text {
	flex-shrink: 0;
	min-width: 100%;
	display: flex;
	align-items: center;
	animation: scroll 25s linear infinite;
}

@keyframes scroll {
	from {
		transform: translateX(0);
	}
	to {
		transform: translateX(-100%);
	}
}

.buildings {
	/*min-height: 1024px;*/
	height: calc(100vh - 92px);
	display: flex;
	justify-content: flex-start;
	align-items: center;
	background-size: cover;
	background-position: top center;
	/*animation: backgroundBounce 60s ease-in-out infinite;*/
	align-content: center;
	flex-direction: column;
	transition: all 0.3s ease-in-out;
}
.buildings .container{
	height:100%;
}
.buildings .building-group{
	height: calc(100% - 30px);
	display: flex;
	flex-direction: column;
	/*flex-wrap: wrap;*/
}
.buildings .top-menu{
	display: flex;
	flex-direction: row;
	margin-top: 30px;
}

.buildings .top-menu .icons{
	display: flex;
	width: 60px;
	height: 60px;
	background-color: #93C13E;
	border-radius: 100%;
	z-index: 1;
	position: relative;
}

.buildings .top-menu .building-icon{
	padding: 0;
	opacity: 0;
	position: relative;
	top: 18px;
	left: 15px;
	width: 30px;
	height: 30px;
	opacity: 0;
	transition: all 0.3s ease-in-out;
	background-size: contain;
	background-repeat: no-repeat;
	position: absolute;
}

.buildings .top-menu .building-icon.active{
	opacity: 1;
	transition: all 0.3s ease-in-out;
}

.buildings .top-menu .items{
	display: flex;
	z-index: 2;
}
.buildings .top-menu .items .item{
	font-size: 30px;
	letter-spacing: -0.05em;
	color: #ffffff;
	padding: 7px 25px;
	border: 2px solid #fff;
	border-radius: 10px;
	margin-left: 30px;
	background-color: #1E232320;
	align-content: center;
	cursor: pointer;
	display: flex;
	align-items: center;
}
.buildings .top-menu .items .item.active{
	border: 2px solid #fff;
	border-radius: 100px;
	background-color: #fff;
	color: #1E2323;
	transition: all 0.3s ease-in-out;
}
.buildings .info-box{
	position: relative;
	height: 100%;
	display: flex;
	flex-direction: column;
	justify-content: flex-end;
}

.buildings .info-box .info-container{
	position: absolute;
	right: 20px;
	width: 300px;
	height: auto;
	/*margin-top: 150px;*/
	margin-top: auto;
	margin-bottom: 40px;
}

.buildings .info-box .info-item{
	background-color: #fff;
	border-radius: 20px;
	padding: 25px;
	opacity: 0;
	max-width: 335px;
	display: flex;
	justify-content: flex-start;
	align-items: flex-start;
	flex-direction: column;
	flex-wrap: wrap;
	position: absolute;
	z-index: 0;
}
.buildings .info-box .info-item.active{
	opacity: 1;
	transition: all 0.3s ease-in-out;
	z-index: 4;
}
.buildings .info-box .description{
	font-size: 16px;
	letter-spacing: -0.05em;
	line-height: 150%;
	margin-bottom: 50px;
}
.buildings .info-box .building-size{

}
.buildings .info-box .clients .text, .buildings .info-box .building-size .text{
	font-size: 14px;
	letter-spacing: -0.05em;
	line-height: 120%;
	color: #93C13E;
}
.buildings .info-box .building-size .numbers{
	font-size: 24px;
	letter-spacing: -0.05em;
	line-height: 120%;
	margin-bottom: 10px;
}
.buildings .info-box .clients{
	padding: 0;
	margin-top: 20px;
	width: 100%;
}

.buildings .info-box .clients .img-cont{
	display: flex;
	flex-direction: row;
	margin-top: 10px;
	justify-content: space-between;
	flex-wrap: wrap;
	width: 100%;
	align-content: center;
	align-items: center;
}

.buildings .info-box .clients .img{
	max-height: 60px;
	margin-right: auto;
	width: auto;
}

.buildings .bottom-menu{
	margin-top: auto;
}

.bottom-menu .bottom-menu-cont{
	opacity: 0;
	display: flex;
	flex-direction: row;
	flex-wrap: nowrap;
	position: absolute;
	transform: translateY(-110px);
	z-index: 2;
}

.bottom-menu .bottom-menu-cont.active{
	opacity:1;
	z-index: 7;
	transition: all 0.3s ease-in-out;
}
.bottom-menu .bottom-menu-cont .image-item{
	max-width: 70px;
	width: 70px;
	max-height: 70px;
	height: 70px;
	display: flex;
	margin-right: 20px;

}

.bottom-menu .bottom-menu-cont .image-item a{
	display: flex;
}
.bottom-menu .bottom-menu-cont .image-item .park-image{
	border: 1px solid #ffffff;
	overflow: hidden;
	border-radius: 10px;
	width: 100%;
	height: auto;
	display: block;
	object-fit: cover;
}

.buildings .top-menu .building-icon.icon_1{
	background-image: url('data:image/svg+xml,<svg width="32" height="35" viewBox="0 0 32 35" fill="none" xmlns="http://www.w3.org/2000/svg"><path fill-rule="evenodd" clip-rule="evenodd" d="M2.21301 7.93023L16.0115 0.0232544L29.965 7.93023L16.1665 15.9922L2.21301 7.93023ZM0.972656 26.0698L14.7711 34.1318V18.1628L0.972656 10.1008V26.0698ZM31.2052 19.5581V26.0698L25.7789 29.3256V22.814L31.2052 19.5581ZM31.2052 10.1008V16.7675L25.7789 19.8682V13.3566L31.2052 10.1008ZM22.8331 15.062L17.7168 18.1628V23.7442V24.6744V34.1318L22.8331 31.031V21.5737V15.062Z" fill="white"/></svg>');
	top: 14px;
}

.buildings .top-menu .building-icon.icon_2{
	background-image: url('data:image/svg+xml,<svg width="48" height="36" viewBox="0 0 48 36" fill="none" xmlns="http://www.w3.org/2000/svg"><path fill-rule="evenodd" clip-rule="evenodd" d="M35.638 15.907L45.5604 10.1706L29.1263 0.713196L11.917 10.7907L17.8085 14.2016L25.2504 9.86048L35.638 15.907ZM32.5372 17.7675L25.2504 13.4264L17.8085 17.7675L8.81625 12.4961L1.83951 16.5272L18.2736 25.9845L25.2504 21.9535L32.5372 17.7675ZM19.6689 35.907L47.731 19.6279V12.3411L19.6689 28.6202V35.907ZM0.289062 19.1628L16.5681 28.6202V35.907L0.289062 26.4496V19.1628Z" fill="white"/></svg>');
}

.buildings .top-menu .building-icon.icon_3{
	background-image: url('data:image/svg+xml,<svg width="49" height="36" viewBox="0 0 49 36" fill="none" xmlns="http://www.w3.org/2000/svg"><path fill-rule="evenodd" clip-rule="evenodd" d="M46.0956 9.86044L29.6615 0.403076L2.37466 16.3721L18.6537 25.8294L46.0956 9.86044ZM22.6847 30.0155L27.1808 27.3798V31.7209L29.0413 30.4806V26.2945L33.5374 23.6589V28L35.3979 26.7596V22.5736L39.894 19.9379V24.279L41.9095 23.0387V18.8527L46.4056 16.217V20.4031L48.2661 19.3178V12.031L20.2041 28.4651V35.7519L22.6847 34.2015V30.0155ZM0.824219 19.0077L17.1033 28.4651V35.7519L0.824219 26.2946V19.0077Z" fill="white"/></svg>');
}

.buildings .top-menu .building-icon.icon_4{
	background-image: url('data:image/svg+xml,<svg width="48" height="41" viewBox="0 0 48 41" fill="none" xmlns="http://www.w3.org/2000/svg"><path fill-rule="evenodd" clip-rule="evenodd" d="M28.9698 0.0078125L25.0939 4.81401L41.3729 14.1163L45.0939 9.46518L28.9698 0.0078125ZM15.7916 9.9303L19.6675 5.1241L35.7916 14.5815L32.0706 19.2326L15.7916 9.9303ZM2.1481 20.783L18.2721 30.0853L26.9543 19.6977L10.8303 10.2404L2.1481 20.783ZM29.4349 27.4497L38.5822 16.2869V22.0233L47.8846 10.8605V23.8838L19.8225 40.1628V33.0311L29.2799 21.7132V27.4497H29.4349ZM16.8767 33.031L0.597656 23.5737V30.7054L16.8767 40.1628V33.031Z" fill="white"/></svg>');
}

.buildings .top-menu .building-icon.icon_5{
	background-image: url('data:image/svg+xml,<svg width="45" height="34" viewBox="0 0 45 34" fill="none" xmlns="http://www.w3.org/2000/svg"><path fill-rule="evenodd" clip-rule="evenodd" d="M27.4365 0.403076L42.9403 9.39532L36.2737 13.1163L26.8163 7.6899L17.2039 13.1163L1.70004 4.12401L8.36669 0.403076L17.8241 5.98447L27.4365 0.403076ZM15.8086 33.5814V15.7519L0.304688 6.91472V24.7442L15.8086 33.5814ZM25.1109 11.8759L18.5993 15.5968L18.7544 33.5813L25.2659 29.7054L25.1109 11.8759ZM34.8783 15.7519V33.5813L28.0566 29.7054V11.8759L34.8783 15.7519ZM44.3358 11.8759L37.8242 15.5968V33.5813L44.3358 29.7054V11.8759Z" fill="white"/></svg>');
	top: 18px;
}

.subsection{

}
.subsection .main-group{
	padding: 120px 0;
	display: flex;
	flex-direction: row;
}
.main-group .left{
	padding-right: 60px;
	width: 55%;
}	
.main-group .left .top{

}
.main-group .left .top .description{
	margin: 40px 0;
	display: block;
}

.main-group .left .top .description p{
	font-size: 24px;
	line-height: 120%;
	letter-spacing: -0.05em;
}

.main-group .left .bottom{

}
.main-group .bottom .group{
	display: flex;
	flex-wrap: wrap;
	flex-direction: row;
	justify-content: flex-start;
	padding-top: 25px;
}
.main-group .bottom .group .item{
	width: 50%;
	margin-bottom: 40px;
	padding-right: 50px;
}
.group .item .icon{

}
.group .item .description{
	margin-top: 10px;
	font-size: 14px;
}
.main-group .right{
	width: 45%;
	display: flex;
	flex-direction: column;
	justify-content: center;
}
.main-group .right .image-single{
	position: relative;
}
.main-group .right .image-single.one{
	border-radius: 20px;
	max-width: 420px;
	margin-left: auto;
	transform: translateY(20px);
	margin-right: 25px;
}
.main-group .right .image-single.two{
	border-radius: 10px;
	max-width: 290px;
	margin-left: 20px;
	transform: translateY(-50px);
}

.video .up{
	display: flex;
	flex-direction: column;
	flex-wrap: wrap;
	justify-content: flex-end;
	height: 100%;
}

.video .up .container{
	z-index:2;
}

.video {
	position: relative;
	width: 100%;
	aspect-ratio: 16 / 9;
	overflow: hidden;
}

.background-video {
	position: absolute;
	top: 0;
	left: 0;
	width: 100%;
	height: 100%;
	object-fit: cover; 
	z-index: -1;
}

.video::before {
	content: '';
	position: absolute;
	top: 0;
	left: 0;
	width: 100%;
	height: 100%;
	background: radial-gradient(circle, rgba(0, 0, 0, 0.2) 80%, rgba(0, 0, 0, 0.8) 100%);
	z-index: 0;
	pointer-events: none; 
}

.video .stuff {
	display: flex;
	flex-direction: column; 
	align-items: flex-start;
	margin-bottom: 120px;
}
.video .stuff .cta{    
	max-width: 600px;
	background-color: #fff;
	padding: 25px;
	border-radius: 20px;
	display: flex;
	flex-direction: row;
	align-content: center;
	align-items: center;
}

.video .stuff .cta .video-button{    
	max-width: 73px;
	display: block;
	max-height: 73px;
	margin-left: 30px;
	margin-right: 10px;
	cursor: pointer;
}

.video .stuff .c-title{   
	font-size: 40px;
	line-height: 120%;
	letter-spacing: -0.05em;
	margin-bottom: 5px;
}
.video .stuff .c-subtitle{ 
	font-size: 16px;
	line-height: 150%;
	letter-spacing: -0.01em;

}
.video .stuff .btn{
	padding: 15px 32px;
	display: inline-block;
	position: relative;
}

.popup {
	display: none; 
	position: fixed;
	top: 0;
	left: 0;
	width: 100%;
	height: 100%;
	background-color: rgba(0, 0, 0, 0.7);
	z-index: 9999; 
	justify-content: center;
	align-items: center;
}

.popup-content {
	position: relative;
	width: 90%;
	max-width: 1444px; 
	aspect-ratio: 16 / 9;
	background-color: #000;
}

.popup iframe {
	width: 100%;
	height: 100%;
	border: none;
}

.close-button {
	position: absolute;
	top: 10px;
	right: 10px;
	padding: 10px;
	background-color: #fff;
	border: none;
	font-size: 16px;
	cursor: pointer;
	border-radius: 5px;
}

.qna{
	background-color: #D9E2D8;
	padding: 100px 0;
	padding-bottom: 160px;
}


.qna .bottom{
	width: 67%;
	margin-top: 80px;
}

.accordion .accordion-item {
	border-bottom: 1px solid #BFCEBE;
}

.accordion .accordion-item button[aria-expanded='true'] {
	padding-bottom: 0;
}

.accordion button {
	position: relative;
	display: block;
	text-align: left;
	width: 100%;
	padding: 1em 0;
	font-size: 22px;
	font-weight: 400;
	border: none;
	background: none;
	outline: none;
}

.accordion button:hover,
.accordion button:focus {
	cursor: pointer;

}

.accordion button:hover::after,
.accordion button:focus::after {
	cursor: pointer;

	border: 1px solid #BFCEBE;
}

.accordion button .accordion-title {
	padding: 1em 1.5em 1em 0;
	color: #1E2323;
}

.accordion button .icon {
	display: inline-block;
	position: absolute;
	top: 18px;
	right: 0;
	width: 22px;
	height: 22px;

}

.accordion button .icon svg{
	width: 15px;
	height: 15px;
	transform: rotate(-90deg);
	transition: all 0.5s ease-in-out;
}

.accordion button[aria-expanded='true']  .icon svg {
	transform: rotate(90deg);
}

.accordion button[aria-expanded='true'] .icon::after {
	width: 0;
}
.accordion button[aria-expanded='true'] + .accordion-content {
	opacity: 1;
	max-height: 16em;

	transition: all 0.5s ease-in-out;
	will-change: opacity, max-height;
	margin-bottom: 35px;
}
.accordion .accordion-content {
	opacity: 0;
	max-height: 0;
	overflow: hidden;

	transition: all 0.5s ease-in-out;
	will-change: opacity, max-height;
}
.accordion .accordion-content p {
	font-size: 1rem;
	font-weight: 300;
	margin: 2em 0;
}

.map .up{
	width: 100vw;
	display: flex;
	flex-direction: column;
	flex-wrap: wrap;
	height: 100vh;
	justify-content: center;
}

.map .clients-block{
	margin-top: auto;
	height: 250px;
	display: flex;
	align-items: flex-end;
	background: linear-gradient(to top, #f0f4f3 60%, rgba(240, 244, 243, 0) 100%);
}

.map img.client-logo {
	max-height: 52px;
	margin-right: 80px;
	flex-shrink: 0; /* Prevents logos from resizing */
}
.map .ticker-wrapper {
	display: flex;
	overflow: hidden; /* Ensures the ticker stays within bounds */
	user-select: none;
	margin-bottom: 40px;
	position: relative;
}

.map .ticker-text {
	display: flex;
	white-space: nowrap; /* Prevents wrapping of content */
	animation: scrolls 200s linear infinite; /* Smooth scrolling */
}

@keyframes scrolls {
	from {
		transform: translateX(0);
	}
	to {
		transform: translateX(-100%);
	}
}

.map {
	min-height: 1024px;
	height: 100vh;
	display: flex;
	justify-content: flex-start;
	align-items: center;
	background-size: cover;
	background-position: top center;
	animation: backgroundBounce 60s ease-in-out infinite;
	align-content: center;
	flex-direction: column;
}

@keyframes backgroundBounce {
	0% {
		background-position: top center;
	}
	50% {
		background-position: bottom center;
	}
	100% {
		background-position: top center;
	}
}

.map .stuff {
	display: flex;
	flex-direction: column; 
	align-items: flex-start;
	margin-top: 80px;
}
.map .stuff .cta{    
	max-width: 488px;
	background-color: #fff;
	padding: 25px;
	border-radius: 10px;
}
.map .stuff .c-title{   
	font-size: 40px;
	line-height: 120%;
	letter-spacing: -0.05em;
	margin-bottom: 15px;
}
.map .stuff .c-subtitle{ 
	font-size: 16px;
	line-height: 150%;
	letter-spacing: -0.01em;
	margin-bottom: 20px;
}
.map .stuff .btn{
	padding: 15px 32px;
	display: inline-block;
	position: relative;
}

.contact .group {
	display: flex;
	margin-top: 100px;
	align-items: center;
	padding-bottom: 100px;
	border-bottom: 3px dotted #1E2323;
}

.contact .group .left img{      
	max-width: 227px;
	margin-right: 100px;
	border-radius: 100%;
}

.contact .group .tl{    
	font-size: 40px;
	line-height: 120%;
	letter-spacing: -0.05em;
}
.contact .group .subtitle{
	font-size: 16px;
	line-height: 150%;
	letter-spacing: -0.05em;
	max-width: 400px;
	margin: 20px 0;
}
.contact .group .btn{    
	padding: 10px 32px;
	display: inline-block;
}

@media (max-width: 450px) {
	.solutions h1 {
		font-size: 40px;
	}

	.carousel-info-box h2 {
		font-size: 30px;
	}

	.top_section .top{
		margin-bottom: 40px;
	}
	
	.carousel-info-box-container {
		/*min-height: 500px!important;*/
	}

	.carousel-nav{
		justify-content: space-between;
	}
	.carousel-nav span{
		margin-right: 0;
	}

	.main-group .right .image-single.one{
		max-width: 100%;
	}

	.contact .group .left img {
		max-width: 200px;
		margin-right: 20px;
		margin-bottom: 30px;
	}

	.contact .group{
		flex-direction: column;
	}
}

@media (max-width: 600px) {
	.contact .group .left img {
		max-width: 150px;
		margin-right: 20px;
	}

	.clients .bottom .left .name{
		font-size: 30px;
		line-height: 150%;
	}
}

@media (max-width: 768px) {

	.container {
		overflow: hidden;
	}

	.bottom.carousel-main{
		flex-direction: column;
		margin-bottom: 25px;
	}

	.carousel-info-box {
		flex: 0 0 100%;
		max-width: 100%;

	}

	.carousel-nav{
		margin-top: 25px;
	}

	.right.carousel-images{
		flex: 0 0 100%;
		max-width: 100%;
		width:100%;
	}

	.carousel-images-container .image-single {
		margin-right: 0;
		max-width: 100%;
	}

	.carousel-info-box-container{
		min-height: 300px;
	}

	.carousel-main .left{
		margin-bottom: 40px;
		padding-right: 0;
		width: 100%;
		display: flex;
		flex-direction: column;
	}

	.clients .bottom{
		flex-direction: column;
	}

	.clients .bottom .left{
		width: 100%;
		padding-right: 0px;
	}

	.clients .bottom .left .active .line{
		display:none;
	}
	.clients .bottom .left .categories{
		display: flex;
		flex-wrap: wrap;
		margin-bottom: 25px;
	}

	.clients .bottom .left .category{
		padding-bottom: 0;
		margin-right: 25px;
	}

	.buildings .top-menu .items{
		flex-direction: column;
	}

	.buildings .top-menu .icons{
		display: none;
	}
	.buildings .top-menu .items .item{
		margin-bottom: 20px;
		margin-left: 0;
		padding: 7px 10px;
		text-align: center;
	}

	.buildings .info-box .info-container{
		display: none;
	}

	.subsection .main-group{
		flex-direction: column;
	}
	.main-group .left{
		padding-right: 0px;
		flex: 0 0 100%;
		max-width: 100%;
		width: 100%;
	}

	.video .stuff{
		margin-bottom: 20px;
		transform: scale(0.6);
		transform-origin: bottom left;
		width: 600px;
	}

	.main-group .right, .qna .bottom{
		width: 100%;
	}

	.map{
		min-height: auto;
	}

	.map .up{
		justify-content: flex-end;
	}

	.clients .bottom .right .carousel-group.active{
		zoom: 0.9;
	}

	.buildings .info-box .info-container{
		transform: scale(0.7);
		transform-origin: bottom right;
	}

	.bottom-menu .bottom-menu-cont{
		flex-wrap: wrap;
		transform: translateY(-140px);
	}
	.bottom-menu .bottom-menu-cont .image-item {
		margin-bottom: 15px;
	}

}

@media (min-width: 769px) and (max-width: 1199px) {
	.carousel-nav{
		transform: translateX(400px);
		width: 400px;
	}

	.clients .bottom .left{
		width: 35%;
	}
	.clients .bottom .right{
		width: 65%;
	}
	.clients .bottom .left .category{
		padding-bottom: 15px;
	}
	.clients .bottom .left .name{
		font-size: 30px;

	}

	.carousel-main .left{
		margin-bottom: 220px;
	}

	.buildings .top-menu .icons{
		display:none;
	}

	.buildings .top-menu .items{
		height: 60px;
	}

	.video .stuff{
		margin-bottom: 45px;
		transform: scale(0.6);
		transform-origin: bottom left;
	}

	.buildings .info-box .info-container{
		transform: scale(0.7);
		transform-origin: bottom right;
	}

	.buildings .info-box .info-container{
		width: 333px;
	}

}

@media (max-width: 600px) {

	.carousel-info-box-container {
		min-height: 300px;
	}
}

@media (max-width: 540px) {
	.carousel-info-box-container {
		min-height: 400px;
	}
}

@media (max-width: 400px) {
	.carousel-info-box-container {
		min-height: 400px;
	}
}

@media (max-width: 300px) {
	.carousel-info-box-container {
		min-height: 450px;
	}
}



