@media (max-width: 1024px) {
	.inner,
	.home-seo-text {
		padding-left: 15px;
		padding-right: 15px;
	}
}
@media (min-width: 767px) and (max-width: 1024px) {
	.top-menu .menu li {
		text-transform: none;
	}
}
@media (max-width: 900px) {
	.header .cols-4 {
		grid-template-columns: repeat(2,1fr);
		grid-column-gap: 10px;
		grid-row-gap: 5px;
	}
	.logo {
		order: 1;
	}
	.or4 {
		order: 2;
	}
	.or3 {
		order: 3;
	}
	.or2 {
		order: 4;
	}
	.lightbox-overlay button {
		-moz-appearance: none;
		-webkit-appearance: none;
		appearance: none;
		font-size: 2.6em;
		height: 2.6em;
	}
}
@media (min-width: 550px) and (max-width: 900px) {
	.slogan::after {
		display: none;
	}
	
}
@media (max-width: 812px) {
	.header,
	.right {
		text-align:center;
	}
	.slogan {
		font-size: 30px;
		margin-bottom: 15px;
	}
	.subslogan {
		font-size: 17px;
	}
	.cols-3 {
		grid-template-columns: repeat(2,1fr);
	}
	.tabs > ul {
		width: 100%;
		position: relative;
		left: 0;
		transform: translateX(0);
		display: flex;
		margin-bottom: 20px;
	}
	.tabs > ul li {
		display: block;
		margin-bottom: 0;
		bottom: 0;
	}
}
@media (max-width: 767px) {
	.top-menu .inner {
		padding-left: 0px;
		padding-right: 0px;		
	}
	.top-menu .menu {
		display: block;
		padding: 10px 15px;
	}
	.top-menu {
		margin-bottom: 0;
	}
	.top-menu .menu li {
		text-align: left;
	}
	.toggle-content div,
	.menu {
		width: 100%;
		margin: 0 auto;
	}
	.toggle-content {
		display: block;
		padding: 15px 0;
		width: 100%;
		cursor: pointer;
		text-transform: uppercase;
		background: #0b7dda;
		color: #fff;
		font-weight: 500;
	}
	.toggle-content > div svg {
		fill: #fff;
		height: 13px;
		margin-left: 10px;
		position: relative;
		top: 1px;
	}
	.slide-up {
		max-height: 0; 
		overflow-y: hidden;
		-webkit-transition: max-height 0.5s ease-in-out;
		-moz-transition: max-height 0.5s ease-in-out;
		-o-transition: max-height 0.5s ease-in-out;
		transition: max-height 0.5s ease-in-out;
	}
	.sub-menu {
		position:relative;
		margin-top:0;
		height: 0;
	}
	.menu-item-has-children:hover .sub-menu {
		height: auto;
		top: 0;
	}
	.menu li,
	.menu li a,
	.menu span {
		display: block;
		text-transform: none;
		font-weight: 400;
		letter-spacing: 0.1px;
	}
	.menu li a, 
	.menu span {
		padding: 10px 0;
	}
	.menu .sub-menu li a {
		padding: 10px;
	}
	.top-menu .menu > li > a::after, 
	.top-menu .menu > li > span::after	{
		display: none;
	}
	#top .sub-menu .sub-menu {
		left: 0;
	}
	h2.title {
		font-size: 20px;
		line-height: 1.3;
	}
	.cols-7 {
		grid-template-columns: repeat(4,1fr);	
	}
	.top-video {
		display: block;
		margin-bottom: 40px;
	}
	.top-video-icons {
		display: flex;
		width: 100%;
		margin-right: 0;
		margin-top: 0;
		margin-bottom: 15px;
		justify-content: space-between;
	}
	.tablinks {
		margin-bottom: 0;
	}
	.tooltip-toggle::before {
		left: -240px;
	}
}
@media (min-width: 668px) {
	.lg-hide {
		display: none;		
	}
}
@media (max-width: 667px) {
	.mb-hide {
		display: none;
	}
	.inner {
		padding-left: 10px;
		padding-right: 10px;
		height: auto;
	}
	.bottom-form {
		padding: 0 10px;
	}
	.home-seo-text {
		padding: 30px 10px;
	}
	.header .top-address {
		font-size: 15px;
	}
	.header .top-address span {
		display: block;
	}
	.top-address small {
		display: none;
	}
	.top-phone svg {
		width: 17px;
		margin-bottom: -2px;
	}
	.top-phone {
		font-size: 17px; 
	}
	h2 {
		font-size: 24px;
	}
	.sub-menu {
		width: 340px;
		border-radius: 10px;
	}
	.btn {
		font-size: 16px;
	}
	.intro {
		height: auto;
	}
	.intro img {
		position: relative;
		height: auto;
		max-width: none;
		min-height: 250px;
		width: auto;
		max-height: 280px;
	}
	.intro video {
		position: relative;
		width: 100%;
		right: 0;
		margin: auto;
		top: 0;
		transform: translateY(0);
	}
	.tablinks {
		width: 50px;
		height: 50px;
		position: relative;
	}
	.tabs section.active {
		grid-template-columns: 1fr;
		grid-column-gap: 10px;
	}
	.services .flex {
		flex-direction: column;
		align-items: center;
	}
	.srv-item {
		width: 90%;
		margin-bottom: 10px;
	}
	.quiz-block p {
		text-align: center;
		font-size: 20px;
	}
	.quiz-img img {
		margin: 0;
	}
	.cols-7 {
		grid-template-columns: repeat(3,1fr);	
	}
	.lightbox-counter {
		top: 1.7em;
	}
	.lightbox-overlay button[aria-label="Previous"], 
	.lightbox-overlay button[aria-label="Next"] {
		font-size: 3.6em;
		top: 0;
		height: 2em;
		width: 1em;
	}
	.lightbox-overlay button[aria-label="Previous"] {
		left: 38%;
	}
	.lightbox-overlay button[aria-label="Next"] {
		right: 38%;
	}
	.lightbox-overlay button[aria-label="Close"] {
		top: 0;
	}
	#bottom.menu li {
		display: inline-block;
	}
	.copyright {
		line-height: 1.3;
	}
}
@media (min-width: 577px) {
	video[hidden] {
		display: block;
	}
}
@media (max-width: 576px) {
	.cols-2,
	.cols-3,
	.cols-4,
	.cols-5,
	.intro .cols-2,
	.cols-3-1-2 {
		grid-template-columns: 100%;	
	}
	.header .grid {
		grid-row-gap: 0;
	}
	.footer .grid,
	.cols-5	{
		grid-row-gap: 15px;
	}
	.cols-3-1-2 {
		grid-row-gap: 0;
	}
	.footer .menu li a, 
	.footer .menu span {
		font-size: 14px;
	}
	.logo {
		max-width: 250px;
		margin: 0 auto;
	}
	.subslogan {
		font-size: 16px;
	}
	.slogan::after,
	video[hidden] {
		display: none;
	}
	.slogan {
		font-size: 25px;
		line-height: 1.2;
		margin-top: 30px;
		margin-bottom: 20px;
	}
	.tabs {
		display: block;
		width: 100%;
	}
	.tabs-block {
		display: block;
	}
	.tabs > ul {
		justify-content: space-between;
	}
	.slider-block {
		height: auto;
	}
	.projects-grid div {
		min-height: auto;
	}
	.projects-grid img {
		position: relative;
		display: block;
		max-width: 333px;
		margin: 0 auto;
	}
	.fl-2 {
		display: block;
	}
	.projects-grid .fl-2 a {
		height: 250px;
	}
	.projects-grid .fl-2:last-child a {
		max-width: 100%;
	}
	.projects-grid a {
		height: 250px;
		margin-bottom: 20px;
	}
	.cols-7 {
		grid-template-columns: repeat(2,1fr);	
	}
	.quiz-base {
		background-image: none;
	}
	.partners {
		padding: 30px 10px;
	}
	.column {
		grid-row-gap: 5px;
	}
	.num-pos span,
	.h-list,
	.tablinks:hover .h-list	{
		display: none;
	}
	.top-video .tablinks img {
		max-width: 85%;
		height: auto;
		position: absolute;
		display: block;
		height: auto;
		top: 50%;
		left: 50%;
		transform: translate(-50%,-50%);
	}
	.hor1 {
		order: 1;
	}
	.hor2 {
		order: 2;
	}
	.services .flex {
		gap: 10px;
	}
	.srv-item,
	.area-work .item.grid { 
		width: 95%;
		margin-bottom: 0;
		display: flex;
		align-items: center;
	}
	.item.grid {
		grid-column-gap: 0;
		grid-row-gap: 0;
	}
	.area-work .item .hwtitle {
		text-align: left;
		font-size: 14px;
		font-weight: 600;
		line-height: 1.5;
	}
	.item-img-link,
	.area-work .item .image{
		width: 30%;
		flex: 0 0 auto;
		margin-bottom: 0;
		margin-right: 15px;
	}
	.item-link {
		text-align: left;
		line-height: 1.3;
	}
	.hor2 .text {
		display: none;
	}
	.tab-body .swiper-big {
		height: 265px;
	}
	.swiper-thumbs {
		height: 60px;
	}
	.lightbox-overlay button[aria-label="Previous"] {
		left: 30%;
	}
	.lightbox-overlay button[aria-label="Next"] {
		right: 30%;
	}
	#map {
		height: 250px;
		margin-top: 15px;
		margin-bottom: 25px;
		max-width: 100%;
	}
	.map_contacts_border {
		position: relative;
		top: 0;
		left: 0;
		margin-bottom: 15px;
	}
	.map_contacts {
		padding: 20px 20px;
	}
}