@media (max-width: 1440px) {

	:root {
		--font-size-18: 16px;
		--font-size-24: 22px;
		--font-size-30: 28px;
		--font-size-h1: 50px;
		--font-size-h2: 38px;
	}


	/* ################# Partners Container ################# */
	.container-partners > .row > .logo {
		gap: 10%;
	}

	.container-partners > .row > .logo > img {
		width: 15%;
	}

	.container-partners > .row > .logo > img.logo {
		width: 40%;
	}


	/* ################# Philosophy Container ################# */
	.container-philosophy > .row.triangle {
		width: 100%;
	}


	/* ################# Helps Container ################# */
	.container-helps > .row {
		justify-content: space-around;
	}



	/* ################# Region Container ################# */
	.container-region > .map > img {
		width: 80%;
	}

	.container-region > .map > .place {
		max-width: 130px;
		font-size: 75%;
	}

	.container-region > .map > .place > img {
		width: 100%;
    	height: 130px;
	}

	.container-region > .map > .place.tunnel {
	    right: -6%;
	    top: 12%;
	}

	.container-region > .map > .place.factory {
	    bottom: 10%;
	    left: -3%;
	}

	.container-region > .map > .place.academy {
	    bottom: 7%;
	    right: -3%;
	}
}

@media (max-width: 1335px) {
	#navbarNav > .navbar-nav {
		position: static;
		padding-right: 70px;
		gap: 13px;
		transform: translate(0);
	}

	.transparent-wrap .lang {
		top: 92px;
	}
}

@media (max-width: 1199.9px) {
	/* ################# Main Container ################# */

	.lang {
    top: 62px;
	}

	.navbar-toggler {
		display: none;
	}



	.container-main > .navbar .navbar-toggler:focus,
	.container-main > .navbar .navbar-toggler:active,
	.container-main > .navbar .navbar-toggler-icon:focus {
	    outline: none;
	    box-shadow: none;
	}

	.container-main  .navbar .navbar-toggler  .navbar-toggler-icon {
		background-image: url("data:image/svg+xml;utf8,%3Csvg xmlns='http://www.w3.org/2000/svg' xmlns:xlink='http://www.w3.org/1999/xlink' width='48' height='36' viewBox='0 0 48 36' fill='rgb(255,255,255)'%3E%3Crect x='16' y='12' width='16' height='2' /%3E%3Crect x='16' y='17' width='16' height='2' /%3E%3Crect x='16' y='22' width='16' height='2' /%3E%3C/svg>");
		background-size: 250%;
	}

	.container-main > .navbar .navbar-toggler > .lang > a {
		display: inline-block;
	}

	.container-main > .navbar .navbar-toggler > .lang > a.active {
		color: var(--color-tertiary);
	}



	/* ################# Partners Container ################# */
	.container-partners > .row {
		flex-direction: row;
		gap: 30px;
		justify-content: space-between;
	}

	.container-partners > .row > .partners {
		order: 1;
		flex-basis: calc(50% - 15px);
	}

	.container-partners > .row > .partners > span {
		height: 50px;
	}

	.container-partners > .row > .logo {
		width: 100%;
		padding: 0;

		align-items: end;
	}



	/* ################# Philosophy Container ################# */
	.container-philosophy > .row.triangle > .text.center {
		left: calc(50% + 15px);
	}

	.container-philosophy > .row.triangle > .text.bottom {
		top: 63.25%;
	}

	.container-philosophy > .row.triangle > .text.right {
		left: 72.6%;
	}



	/* ################# Region Container ################# */
	.container-region > .map {
		flex-direction: column;
		margin: 0;
		width: 100%;
		gap: 20px;
		counter-reset: place-counter;
	}

	.container-region > .map > img {
		margin-bottom: 30px;
	}

	.container-region > .map > .place {
		position: static !important;
		max-width: 100% !important;
		flex-direction: row;
		display: flex;
		align-items: center;
		justify-content: start;
		padding-left: 15%;

		counter-increment: place-counter;
	}

	.container-region > .map > .place > .info {
		position: relative;
	}

	.container-region > .map > .place > .info:before {
		content: '0' counter(place-counter) '.';
		display: block;
		position: absolute;
		left: -5px;
		transform: translateX(-100%);
		font-size: var(--font-size-24);
		font-weight: 600;
		line-height: 27px;
	}

	.container-region > .map > .place > img {
		width: 130px;
		margin: 0;
		margin-right: 70px;
	}


	.container-region > .info { 
		justify-content: space-around;
	}

	.container-region > .info > .card {
		flex-basis: 40%;
	}

	body .info-about {
		flex-direction: column;
	}

	.info-about__left {
		height: 300px;
		width: 300px;
		flex-basis: auto;
	}


	.navbar-brand {
		max-width: 150px;
	}

	.navbar-brand svg {
		width: 100%;
	}

	.lang a, #navbarNav > .navbar-nav > .nav-item > .nav-link {
		font-size: 14px;
	}	

	.header .navbar-collapse {
		flex-basis: auto;
		display: flex;
		flex-grow: 1;
	}

	#navbarNav > .navbar-nav {
		flex-direction: row;
		gap: 7px;
		margin-left: 0;
		padding-right: 0;
		margin-right: auto;
	}


}

@media (max-width: 991.9px) {

	:root {
		--font-size-18: 14px;
		--font-size-24: 14px;
		--font-size-30: 18px;
		--font-size-h1: 35px;
		--font-size-h2: 20px;
	}

	.header .navbar-collapse.collapse:not(.show) {
    display: none;
	}

	body > .container-fluid {
		padding: 50px 20px 0 20px;
	}

	h2 {
		margin-bottom: 30px;
	}

	.navbar-toggler {
		display: flex;
	}
	
	.info-wrap .navbar-toggler {
		display: flex;
	}

	#navbarNav .close-btn {
		position: absolute;
		display: flex;
		justify-content: center;
		align-items: center;
		border: none;
		top: 54px;
    right: 20px;
	}


	#navbarNav .navbar-nav {
		flex-direction: column;
		justify-content: center;
		align-items: start;
		gap: 30px;
		margin: 0;
		padding: 0;
		height: 100%;
	}

	#navbarNav.show, #navbarNav.collapsing{
		position: absolute;
    display: none;
    left: -30px;
    top: 0;
    display: flex;
		justify-content: center;
    align-items: center;
    width: 100vw;
    height: 100vh;
    padding: 50px;
    background: var(--color-light);
    color: var(--color-dark);
	}
	
	.transparent-wrap .lang {
		right: 90px;
	}

	
	.lang {
		right: 90px;
	}

	/* ################# Main Container ################# */
	.container-main > .navbar, .container-main > .info {
		position: static;
		padding: 50px 20px 0 20px;
	}

	.container-main > .info {
		padding-top: 110px;
	}

	.main-bg .lang {
		top: 88px;
		right: 91px;
	}
	

	#navbarNav {
		left: -100%;

		transition: all 0.5s;
	}

	#navbarNav, #navbarNav.collapsing, #navbarNav.show {
		height: 100vh !important;
	}


	#navbarNav .navbar-nav .lang {
		display: flex;
		align-items: center;
		justify-content: center;
	}



	#navbarNav .close-btn > .navbar-toggler-icon {
		background-image: url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' width='53.7' height='53.7' viewBox='0 0 53.7 53.7'><path opacity='.6' fill='%23666E6E' d='M35.6 34.4L28 26.8l7.6-7.6c.2-.2.2-.5 0-.7l-.5-.5c-.2-.2-.5-.2-.7 0l-7.6 7.6-7.5-7.6c-.2-.2-.5-.2-.7 0l-.6.6c-.2.2-.2.5 0 .7l7.6 7.6-7.6 7.5c-.2.2-.2.5 0 .7l.5.5c.2.2.5.2.7 0l7.6-7.6 7.6 7.6c.2.2.5.2.7 0l.5-.5c.2-.2.2-.5 0-.7z'/></svg>");
		background-repeat: no-repeat;
		background-size: cover;
		width: 40px;
		height: 40px;
	}

	.container-main > .info p {
		width: 100%;
	}

	.container-main > .info .scroll {
		display: none;
	}



	/* ################# Philosophy Container ################# */
	.container-philosophy {
		padding: 50px 0 0 0 !important
	}

	.container-philosophy > .row.black {
		padding: 80px 20px;
		line-height: 24px; 
	}

	.container-philosophy > .row.triangle > .text {
		width: 40%;
	}

	.container-philosophy > .row.triangle > .text.center {
		left: calc(50% + 10px);
	}

	


	/* ################# Helps Container ################# */
	.container-helps > .row {
		gap: 20px;
	}
	
	.container-helps > .row > .image-wrapper {
		max-width: 100%;
		height: 305px;
		overflow: hidden;
	}

	.container-helps > .row > .image-wrapper > img {
		position: relative;
		top: -50%;
	}



	/* ################# Region Container ################# */
	.container-region {
		padding: 50px 20px 0 20px !important;
	}

	.container-region > .map > .place {
		padding-left: 0;
	}

	.container-region > .info {
		gap: 20px;
		justify-content: center;
	}

	.container-region > .info > .card {
		flex-basis: calc(50% - 10px);
	}



	/* ################# Contacts Container ################# */
	.container-contacts > .row {
		padding: 30px 20px;
	}

	.container-contacts > .row > * {
		width: 100%;
	}

	.container-contacts > .row > .logo {
		margin: 0;
		position: absolute;
		width: auto;
	}

	.container-contacts > .row > .logo img {
		height: 110px;
	}

	.container-contacts .contacts {
		display: none;
	}

	.container-contacts .question {
		margin-left: auto;
		width: calc(100% - 120px);
	}

	.container-contacts .partners {
		padding-top: 40px;
		gap: 40px 15%;
	}

	.container-contacts .partners .contacts {
		width: auto;
		flex-direction: column;
		display: flex !important;
		margin-right: auto;
	}

	.mySwiper__slide {
    width: 440px;
	}

	.search-slider__arrow,
	.mySwiper__arrow {
		width: 60px;
		height: 60px;
	}

	.mySwiper__next {
    transform: translateX(125px);
	}

	.mySwiper__prev {
    transform: translateX(-125px);
	}

	.mySwiper__arrow {
    bottom: -40%;
	}

	.mySwiper .swiper-pagination {
    bottom: -39%;
	}

	.search-slider__title {
		font-size: 40px;
	}

	#navbarNav .navbar-nav {
		padding-right: 0;
		display: flex;
		width: 100%;
		align-items: center;
		justify-content: center;
	}

	#navbarNav .navbar-nav .nav-item {
		width: 100%;
		text-align: center;
	}
}

@media (max-height: 700px) {
	.navbar-expand-xl .navbar-nav .nav-link {
		font-size: 12px!important;
	}
	.navbar-expand-xl .navbar-nav {
		margin-left: 45px!important;
	}
}

@media (max-width: 576px) {
	.container-philosophy > .row.triangle > .text.descr {
		top: calc(43% + 20px);
	}

	.container-philosophy > .row.triangle > .text.descr > p {
		font-size: 70%;
	}

	.info-about__btn {
		padding-inline: 0;
		width: 100%;
	}

	.mySwiper__slide {
    width: 300px;
	}

	.search-slider__title {
		font-size: 30px;
	}


}

@media (max-width: 550px) {
	.navbar-brand {
		width: 150px;
	}

	.info-about__left {
		width: 280px;
		padding: 10px;
	}

	.navbar-brand svg {
		width: 100%;
	}

	.search-item,
	.choices-item {
		width: 100%;
	}

	.search-item__footer {
		justify-content: space-between;
	}

	.btn-catalog {
		width: 90%;
	}
}

@media (max-width: 368px) {
	body .info-about {
		padding-top: 145px !important;
	}

	.main-bg .lang {
		right: 50px;
		top: 140px;
	}

	.transparent-wrap .lang {
		top: 170px;
	}
	
}

