/* ===== RESPONSIVE STYLE ===== */

@media (max-width:1600px) {
	
}

@media (max-width:1440px) {
	html {font-size: 0.55vw}
	.container {max-width: 1240px;}
	.hero {
		padding: 15rem 0 13rem;
	}
}

@media (max-width:1366px) {
	
}

@media (max-width:1280px) {
	/* Mobile menu */
	.mobile-btn {
		width:25px;
		display: block;
		margin-left:20px;
	}
	.mobile-btn span{
		display: block;
		height: 1px;
		background-color: var(--main-color);
		border-radius: 2px;		
	}
	.mobile-btn span:not(:last-child){margin-bottom:5px;}
	.nav {
		position: fixed;
		display:flex;
		flex-direction: column;
		justify-content: space-between;
		transform: translateX(100%);
		visibility: hidden;
		top: 0;
		left: 0;
		width: 100%;
		height: 100%;
		background-color: #F2F4F6;
		padding: 45px 20px;
		transition: all .3s;
		z-index: 120;
		overflow-y:auto;
	}
	.nav.active{
		transform: translateX(0);
		visibility: visible;
	}
	.close-menu {
		width: 25px;
		height: 25px;
		position: absolute;
		top: 20px;
		right: 20px;
	}
	.close-menu::before,
	.close-menu::after{
		content: '';
		width: 100%;
		height: 2px;
		border-radius: 2px;
		background-color: #000;
		position: absolute;
		left: 0;
		top: 50%;
	}
	.close-menu::before{transform: rotate(45deg);}
	.close-menu::after{transform: rotate(-45deg);}

	.menu {flex-direction: column;}
	.menu li {margin: 0 0 25px 0;text-align: center;}
	.menu li a{
		font-size: 16px;
		color: #000;
	}
	.mobile-menu__content {display:block;}
	/* // Mobile menu */

	.menu-sub-list {
		position: relative;
		margin-top: 20px;
	}
	.menu-sub-list li:not(:last-child) {
	    margin: 0 0 10px;
	}
	.menu-sub-list li a {
		background:transparent;
		border-bottom:none;
		padding:0.5em 1em;
	}

	.header .container {
		max-width: 100%;
		padding: 0 2rem;
	}

	
}

@media (max-width:1024px) {
	html {font-size: 0.85vw;}
	.tablet-col-2 {grid-template-columns: repeat(2, 1fr);}
	.tablet-col-3 {grid-template-columns: repeat(3, 1fr);}

	.main__title {
		font-size: 7rem;
	}
	.hero__content p {
		font-size: 2rem;
		width: 70%;
	}
	.fs__adv {
		font-size: 2.2rem;
	}
	.contact__body .contact__item__text {
		font-size: 2rem;
	}
	.map__area {
		height: 30rem;
	}
}

@media (max-width:768px) {
	html {font-size: 10px;}
	p, ul li, ol li, a, .text, table th, table td {font-size: 15px;}
	
	.sm-hide {display:none;}
	.sm-show {display:block;}
	.sm-show.flex {display:flex;}

	.popup-window, .thanks-window {width: calc(100% - 40px);}

	.sm-col-1 {grid-template-columns: repeat(1, 1fr);}
	.sm-col-2 {grid-template-columns: repeat(2, 1fr);}
	.sm-col-3 {grid-template-columns: repeat(3, 1fr);}
	.sm-col-1 .item {grid-column: auto; grid-row: auto;}

	.mw-100 {width:100%;}

	.decor__patern {
		width: 70rem;
		height: 70rem;
	}
	.hero::before {
		width: 100%;
	}
	.hero {
		padding: 10rem 0 10rem;
	}
	.about {
		flex-direction: column-reverse;
	}
	.about::before {
		display: none;
	}
	.about__content {
		padding: 2rem 0 5rem 0rem;
	}
	.action__content__icon {
		width: 6rem;
		height: 6rem;
	}
	.action__section {
		padding: 5rem 0;
	}
	.advant__img img {
		aspect-ratio: 1.7;
	}
	.adv__wrap {
		gap:20px;
	}
	.testimonials__row {
		padding: 0 0 5rem;
	}
	.action__content__item p {
		margin-bottom:20px;
	}
}

@media (max-width:767px) {	
	.mobile-col-1 {grid-template-columns: repeat(1, 1fr);}
	.mobile-col-2 {grid-template-columns: repeat(2, 1fr);}
	.mobile-col-1 .item {grid-column: auto; grid-row: auto;}

	.main__title {
		font-size: 3.5rem;
	}
	.main__title span:first-child {
		font-size: 2rem;
	}
	.hero__content p {
		font-size: 16px;
		width: 100%;
	}
	.fs__adv {
		font-size: 1.8rem;
	}
	.fs__adv:nth-child(2), .fs__adv:last-child {
		margin-left: 0;
	}
	.logo {
		width: 15rem;
	}
	.decor__title {
		font-size: 3rem;
	}
	.decor__patern {
		width: 50rem;
		height: 50rem;
	}
	.page-up {
		right: 30px;
		bottom: 40px;
	}
	.advantages__title, .price__card__title {
		font-size: 18px;
	}
	.testimonials__content {
		padding: 3rem 20px;
	}
	.contact__body .contact__item__text {
		font-size: 16px;
	}
	.contact__item__icon {
		width: 4rem;
		height: 4rem;
		margin:0;
	}
	.contact__body .contact__item {
		margin-bottom:10px;
	}

}

@media (max-width:480px) {	
	.btn {width:100%;}
}
