/* ------------------------------------------- min-width 1420px */

@media screen and (min-width: 1420px) {
	.custom-container, .item-page {
		padding: 100px 95px;
	}
	.service-form-container {
		padding-top: 211px;
	}
	.footer-bottom-wrapper {
		padding: 38px 100px;
		margin: 0 -100px;
	}
	.footer {
		padding: 0 100px;
	}
	.team-wrapper {
		padding-left: 100px;
		padding-right: 100px;
		padding-top: 100px;
	}
	.team-mini-slide {
		margin-bottom: 71px;
	}
	.banner-wrapper, .director-wrapper {
		left: 95px;
	}
	.banner-title {
		margin-bottom: 31px;
		font-size: 3.8em;
	}
	.team-mini-slider-view {
		max-width: 1130px;
	}
	.subheader, .header {
		min-width: 270px;
		width: 270px;
	}
	.site-preloader {
		padding-left: 270px;
	}
	.footer-bottom-wrapper {
	    max-width: 1360px;
	    margin: 0;
	}
}

/* ------------------------------------------- end min-width 1420px */
/* ------------------------------------------- min-width 1920px */

@media screen and (min-width: 1920px) {
	.site-preloader {
		padding-left: 300px;
	}
	.header {
		left: calc((100vw - 1920px) / 2);
		padding-top: 50px;
	}
	.subheader, .header {
		min-width: 300px;
		width: 300px;
	}
	header .nav {
	    width: 250px;
	}
	.hidden-mobile-header a.logo {
        width: 200px;
    }
	ul.main-menu li {
		margin-bottom: 47px;
	}
	.hidden-mobile-header {
		margin-bottom: 110px;
	}
	ul.main-menu {
		padding-bottom: 80px;
		margin-bottom: 80px;
	}
	.nav-contacts {
		justify-content: flex-start;
	}
	.nav-address, .nav-email, .nav-phone {
		margin-bottom: 30px;
	}
	.about-us-wrapper {
		top: 210px;
		height: calc(100% - 210px);
	}
	.director-name {
		font-size: 3.8em;
	}
	.director-subtitle {
		font-size: 1.4em;
	}
	.director-qoute {
		font-size: 2em;
	}
	.service {
		width: calc((100% - 90px) / 4);
	}
	.service:nth-of-type(3n) {
		margin-right: 30px;
	}
	.service:nth-of-type(4n) {
		margin-right: 0px;
	}
	.philosophy-container {
		background: url(/images/template/philosophy-bg.png) right 100%/82% auto no-repeat, linear-gradient(187.01deg, #811FA3 -22.24%, #0E256D 66.95%);
		padding-top: 220px!important;
		padding-bottom: 220px!important;
	}
	.philosophy-subheader {
		max-width: 550px;
	}
	.philosophy {
		max-width: 590px;
	}
}

/* ------------------------------------------- end min-width 1920px */
/* ------------------------------------------- max-width 1300px */

@media screen and (max-width: 1300px) {

	a.logo {
		max-width: 170px;
		margin-left: 35px;
	}
	.site-preloader {
		padding-left: 0;
	}
	.close-custom-popup {
		top: 15px;
		right: 15px;
		z-index: 10;
	}
	.close-custom-popup:after, .close-custom-popup:before {
		background-color: #999;
	}
	.custom-container {
		padding: 50px 50px;
	}
	.fixed-button, .close-fixed-button {
		top: 7px;
	}
	.main-form .input-wrapper {
		max-width: 100%;
	}
	.custom-popup-container {
		padding-left: 20px;
		padding-right: 20px;
	}

	/*----------------------------- main-nav, header */
	.subheader {
		display: none;
	}
	.header {
		width: 320px;
		min-width: 320px;
		max-width: 320px;
		-webkit-transform: translateX(-100%);
		-ms-transform: translateX(-100%);
		-o-transform: translateX(-100%);
		transform: translateX(-100%);
		-webkit-transition: transform .6s;
		-o-transition: transform .6s;
		transition: transform .6s;
		z-index: 100;
	}
	.mobile-header {
		display: -webkit-flex;
		display: -moz-flex;
		display: -ms-flex;
		display: -o-flex;
		display: flex;
		justify-content: flex-start;
		-ms-align-items: center;
		align-items: center;
		-webkit-transition: opacity .6s;
		-o-transition: opacity .6s;
		transition: opacity .6s;
		padding: 0px 50px;
		height: 73px;
		background: linear-gradient(70.96deg, #172571 -19.21%, #68219F 45.9%, #172571 152.04%);
	}
	.itemid-101 .mobile-header {
		position: absolute;
		top: 35px;
		left: 50px;
		z-index: 2;
		padding: 0;
		background: transparent;
		height: auto;
	}
	.hamburger {
		display: block;
	}
	.site-wrapper {
		-webkit-transform: translateX(0);
		-ms-transform: translateX(0);
		-o-transform: translateX(0);
		transform: translateX(0);
		-webkit-transition: opacity .6s 1.2s, transform .6s;
		-o-transition: opacity .6s 1.2s, transform .6s;
		transition: opacity .6s 1.2s, transform .6s;
		width: 100%;
	}
	body.menu-is-open .header {
		-webkit-transform: translateX(0);
		-ms-transform: translateX(0);
		-o-transform: translateX(0);
		transform: translateX(0);
	}
	.site-is-reload .site-wrapper {
		-webkit-transition: opacity .3s 0s, transform .6s;
		-o-transition: opacity .3s 0s, transform .6s;
		transition: opacity .3s 0s, transform .6s;
	}
	body.menu-is-open .site-wrapper {
		-webkit-transform: translateX(300px);
		-ms-transform: translateX(300px);
		-o-transform: translateX(300px);
		transform: translateX(300px);
	}
	body.menu-is-open .custom-overlay {
		opacity: 0.7;
		visibility: visible;
		-webkit-transition: opacity .7s, visibility 0s 0s;
		-o-transition: opacity .7s, visibility 0s 0s;
		transition: opacity .7s, visibility 0s 0s;
	}
	body.menu-is-open .mobile-header {
		opacity: 0;
	}
	.service-top-img {
		transform: unset;
	}

}

/* ------------------------------------------- end min-width 1300px */
/* ------------------------------------------- max-width 1050px */

@media screen and (min-width: 1051px) {
	.advantages-mini-slides-container {
		margin-left: 0!important;
	}
}

@media screen and (max-width: 1050px) {

	/*----------------------------- about-us */
	.about-us-container {
		-webkit-flex-direction: column;
		-moz-flex-direction: column;
		-ms-flex-direction: column;
		-o-flex-direction: column;
		flex-direction: column;
		-ms-align-items: flex-start;
		align-items: flex-start;
		padding-top: 50px!important;
		padding-bottom: 50px!important;
	}
	.about-us-wrapper {
		position: static;
		top: auto;
		right: auto;
		-webkit-order: -1;
		-moz-order: -1;
		-ms-order: -1;
		-o-order: -1;
		order: -1;
		-webkit-flex-direction: row;
		-moz-flex-direction: row;
		-ms-flex-direction: row;
		-o-flex-direction: row;
		flex-direction: row;
		height: auto;
		width: 100%;
		padding-top: 20px;
	}
	.about-us-text {
		margin-bottom: 0;
		padding-top: 0;
	}
	.about-us-advantages {
		width: auto;
		-webkit-flex-direction: column;
		-moz-flex-direction: column;
		-ms-flex-direction: column;
		-o-flex-direction: column;
		flex-direction: column;
		-webkit-order: -1;
		-moz-order: -1;
		-ms-order: -1;
		-o-order: -1;
		order: -1;
		flex-grow: 2;
	}
	.about-us-advantage {
		-webkit-flex-direction: row;
		-moz-flex-direction: row;
		-ms-flex-direction: row;
		-o-flex-direction: row;
		flex-direction: row;
		-ms-align-items: center;
		align-items: center;
		width: 100%;
		justify-content: flex-start;
		margin-bottom: 20px;
	}
	.about-us-advantage-img {
		width: 130px;
		height: 50px;
		margin-right: 30px;
		margin-bottom: 10px;
		margin-top: 10px;
	}
	.about-us-advantage-img:after {
		bottom: -21px;
	}
	.about-us-img {
		display: none;
	}

	/*----------------------------- director */
	.director-container {
		-webkit-flex-direction: column;
		-moz-flex-direction: column;
		-ms-flex-direction: column;
		-o-flex-direction: column;
		flex-direction: column;
		justify-content: flex-start;
		-ms-align-items: flex-end;
		align-items: flex-end;
	}
	.director-wrapper {
		position: static;
		left: auto;
		padding-right: 50px;
	}
	.director-container>img {
		width: 80%;
		min-width: 300px;
	}
	.director-qoute {
		max-width: 800px;
	}
	
	/*----------------------------- services */
	.service {
    width: calc((100% - 30px) / 2);
  }
  .service:nth-of-type(3n) {
    margin-right: 30px;
	}
  .service:nth-of-type(2n) {
    margin-right: 0px;
	}
	
	/*----------------------------- advantages */
	.advantages {
		justify-content: center;
		width: auto;
	}
	.advantages-mini-slider-view {
		overflow: hidden;
		width: 280px;
	}
	.advantages-mini-slider-view .advantage-line {
		display: none;
	}
	.advantage {
		width: 100%;
		min-width: 100%;
		padding: 0 10px;
	}
	.advantages-mini-slider-arrows {
		display: -webkit-flex;
		display: -moz-flex;
		display: -ms-flex;
		display: -o-flex;
		display: flex;
	}

	/*----------------------------- faq */
	.faq-wrapper {
		-webkit-flex-direction: column;
		-moz-flex-direction: column;
		-ms-flex-direction: column;
		-o-flex-direction: column;
		flex-direction: column;
		-ms-align-items: stretch;
		align-items: stretch;
	}
	.left-faq, .right-faq {
		width: 100%;
	}

	/*------------------------------ philosophy */
	.philosophy-container {
		background: url(/images/template/philosophy-bg.png) right 80%/90% auto no-repeat, linear-gradient(214.55deg, #811FA3 -22.53%, #0E256D 86.49%);
	}
	.philosophy-subheader {
		max-width: 800px;
	}
	.philosophy {
		-webkit-flex-direction: column;
		-moz-flex-direction: column;
		-ms-flex-direction: column;
		-o-flex-direction: column;
		flex-direction: column;
	}
}

/* ------------------------------------------- end min-width 1050px */
/* ------------------------------------------- max-width 900px */

@media screen and (min-width: 900px) {
	.team-mini-slides-container {
		margin-left: 0!important;
	}
}

@media screen and (max-width: 900px) {
	.banner-suptitle {
		margin-bottom: 12px;
	}
	.banner-title {
		font-size: 2.1em;
	}
	.banner-subtitle {
		line-height: 1.7;
		margin-bottom: 30px;
		max-width: 250px;
	}
	.banner-subtitle br {
		display: none;
	}
	.banner-wrapper {
		top: 100px;
	}

	.about-us-text {
		font-size: 1.3em;
	}

	.partners-container {
		padding-bottom: 0!important;
	}
	.services-container {
		padding-bottom: 0!important;
	}
	.faq-container {
		padding-top: 25px!important;
	}
	.advantages-container {
		padding-top: 25px!important;
		padding-bottom: 0px!important;
	}
	.advantages-wrapper {
		margin-top: 50px;
	}
	
	.projects-top {
		-webkit-flex-direction: column;
		-moz-flex-direction: column;
		-ms-flex-direction: column;
		-o-flex-direction: column;
		flex-direction: column;
		-ms-align-items: flex-start;
		align-items: flex-start;
		margin-bottom:25px;
	}
	.projects-container .custom-header {
		margin-right: 0;
		margin-bottom: 12px;
	}
	.category-desc {
		min-height: 0;
	}
	ul.projects-menu {
		margin-bottom: 12px;
	}
	.projects {
		justify-content: center;
	}
	.project {
		width: 100%;
		max-width: 600px;
		margin-left: 0!important;
		margin-bottom: 25px;
	}

	.team-wrapper {
		background: url(/images/template/advantages-bg.jpg) top center/cover no-repeat;
	}
	.team-mini-slider-view {
		max-width: 250px;
	}
	.team-mini-slides-container {
		-webkit-flex-wrap: nowrap;
		-moz-flex-wrap: nowrap;
		-ms-flex-wrap: nowrap;
		-o-flex-wrap: nowrap;
		flex-wrap: nowrap;
		justify-content: flex-start;
	}
	.team-mini-slide {
		width: 100%;
		min-width: 100%;
	}
	.team-mini-slider-arrows {
		display: -webkit-flex;
		display: -moz-flex;
		display: -ms-flex;
		display: -o-flex;
		display: flex;
	}

	.footer-menu-container {
		display: none;
	}
	.footer-bottom-wrapper .social-links {
		-webkit-transform: unset;
		-ms-transform: unset;
		-o-transform: unset;
		transform: unset;
		top: -100px;
		left: 50px;
	}
}

/* ------------------------------------------- end min-width 900px */
/* ------------------------------------------- max-width 750px */

@media screen and (max-width: 750px) {
	.itemid-101 .mobile-header {
		height: 56px;
		top: 6px;
		left: 25px;
	}
	.mobile-header {
		padding: 0 25px;
	}
	.hidden-mobile-header {
		padding: 0 25px;
		max-width: 100%;
		width: 100%;
		justify-content: flex-start;
	}
	.header {
		padding-top: 0;
	}
	.hidden-mobile-header {
		height: 73px;
		-ms-align-items: center;
		align-items: center;
		justify-content: flex-start;
		padding: 10px 25px;
	}
	header .nav {
		width: 100%;
		padding: 0 25px;
	}
	.banner-wrapper {
		left: 25px;
		top: 75px;
	}
	.banner-img {
		min-width: 750px;
	}
	.custom-container {
		padding: 50px 25px;
	}

	.about-us-wrapper {
		-webkit-flex-direction: column;
		-moz-flex-direction: column;
		-ms-flex-direction: column;
		-o-flex-direction: column;
		flex-direction: column;
	}
	.about-us-advantages {
		-webkit-order: 2;
		-moz-order: 2;
		-ms-order: 2;
		-o-order: 2;
		order: 2;
		margin-top: 25px;
	}

	.director-qoute {
		font-size: 1.3em;
		padding-left: 0;
		padding-top: 60px;
	}
	.director-qoute:after {
		height: 40px;
		width: 40px;
	}
	.director-name, .custom-header {
		font-size: 2em;
	}
	.director-subtitle, .philosophy-container .custom-header,
	.philosophy-subheader {
		margin-bottom: 25px;
	}
	.director-container>img {
		width: 100%;
	}

	.services-container .custom-header,
	.faq-container .custom-header {
		margin-bottom: 25px;
	}
	.services-wrapper {
		-webkit-flex-direction: column;
		-moz-flex-direction: column;
		-ms-flex-direction: column;
		-o-flex-direction: column;
		flex-direction: column;
		-ms-align-items: center;
		align-items: center;
	}
	.service {
		width: 100%;
		margin-right: 0!important;
		margin-bottom: 25px;
	}
	.service-top,
	.service-bottom {
		padding: 20px;
	}
	.service-title {
		margin-bottom: 12px;
	}
	.service-title br {
		display: none;
	}
	.service-price {
		padding: 8px 0;
		font-size: 1.8em;
		margin-bottom: 12px;
	}
	.service-list {
		display: none;
	}

	.answer {
		padding: 0 25px 12px;
	}
	.answer-title {
		padding: 19px 0 7px;
	}
	.answer-text {
		padding-bottom: 20px;
	}

	.project:after {
		opacity: 0.5;
	}

	.philosophy-container {
		padding-top: 50px!important;
		padding-bottom: 450px!important;
		background: url(/images/template/mobile-philosophy-bg.png) center bottom/auto 450px no-repeat, linear-gradient(214.55deg, #811FA3 -22.53%, #0E256D 86.49%);
	}
	.philosophy-title {
		margin-bottom: 12px;
	}
	.philosophy-item {
		margin-top: 0;
		margin-bottom: 25px;
	}
	.philosophy {
		-webkit-flex-direction: row;
		-moz-flex-direction: row;
		-ms-flex-direction: row;
		-o-flex-direction: row;
		flex-direction: row;
		width: 100%;
	}

	.team-wrapper {
		padding-left: 25px;
		padding-right: 25px;
	}


	.footer {
		padding: 0 25px;
		background-position: left top;
	}
	.footer-top-wrapper {
		-webkit-flex-direction: column;
		-moz-flex-direction: column;
		-ms-flex-direction: column;
		-o-flex-direction: column;
		flex-direction: column;
		-ms-align-items: center;
		align-items: center;
		padding-top: 210px;
	}
	.footer-email-container {
		text-align: center;
		-webkit-order: -1;
		-moz-order: -1;
		-ms-order: -1;
		-o-order: -1;
		order: -1;
		margin-bottom: 25px;
		-ms-align-items: center;
		align-items: center;
	}
	.footer-header, .footer-subheader {
		margin-bottom: 12px;
	}
	#email-form input {
		width: 100%;
		max-width: 400px;
		padding-right: 150px;
	}
	#email-form .custom-button {
		padding: 0 20px;
	}
	.footer-contacts-container {
		text-align: center;
		-ms-align-items: center;
		align-items: center;
	}
	.footer-bottom-wrapper {
		margin: 0 -25px;
		padding: 38px 25px;
		-webkit-flex-direction: column;
		-moz-flex-direction: column;
		-ms-flex-direction: column;
		-o-flex-direction: column;
		flex-direction: column;
		-ms-align-items: center;
		align-items: center;
		text-align: center;
	}
	.footer-bottom-wrapper .social-links {
		left: 0;
		right: 0;
	}
	.footer-bottom-wrapper>a {
		margin-bottom: 12px;
	}

	.close-fixed-button {
		-webkit-transform: unset;
		-ms-transform: unset;
		-o-transform: unset;
		transform: unset;
		background: transparent;
	}
	.fixed-form-container {
		width: 100%;
		min-width: 320px;
		right: 0;
	}

	.item-page {
		padding: 50px 25px;
	}
	.item-page h1 {
		margin-bottom: 25px;
		font-size: 2em;
	}

	.custom-inputs-row {
		flex-direction: column;
	}
	.custom-inputs-row .custom-inputs:not(:last-child) {
		margin-bottom: 10px;
	}
	.main-form .custom-inputs-row .input-wrapper {
		max-width: 100%;
	}
	#sale-popup .custom-inputs textarea {
		height: 120px;
	}
}

/* ------------------------------------------- end min-width 750px */
/* ------------------------------------------- max-width 450px */

@media screen and (max-width: 450px) {
	.mobile-banner-img {
		display: block;
		width: 100%;
	}
	.banner-img {
		display: none;
	}
	.banner-wrapper {
		top: 12%;
	}
	a.logo {
    max-width: 150px;
    margin-left: 25px;
	}
	.fixed-button, .close-fixed-button {
		padding: 0 17px;
	}
	.fixed-form-container .input-wrapper {
		max-width: 100%;
	}
	
	.about-us-text {
		font-size: 1.1em;
	}
	.about-us-text br {
		display: none;
	}
	.about-us-advantage-img {
		height: 40px;
		width: 100px;
		min-width: 100px;
		margin-right: 15px;
	}
	.advantages-container .custom-header {
		font-size: 1.5em;
	}

	.project-type {
		top: 15px;
		left: 15px;
	}
	.project-date {
		left: 15px;
	}
	.project-name {
		padding: 0 15px;
		padding-right: 25px;
		font-size: 1.1em;
	}
}



body {background:linear-gradient(-38.03deg, #5D1A89 89.32%, #172571 98.06%) top left/100% 9550px no-repeat}
.header {overflow:hidden!important;}
.site-wrapper {background:#fff;}
@media (min-width:1300px) and (max-height:950px) {
  a.logo img {max-height:120px;width:100%;object-fit:contain;object-position:center;}
  .hidden-mobile-header {margin-bottom:24px;}
  ul.main-menu li  {margin-bottom:12px;}
}
@media (min-width:1300px) {
  .itemid-104 .footer {margin-top:-220px;}
}