/* ==========================================================================
   grid.d017.css
   Container, page grids, section layout systems.
   ========================================================================== */

.container {
	width: 100%;
	max-width: var(--container-w);
	margin-left: auto;
	margin-right: auto;
	padding-left: 24px;
	padding-right: 24px;
}

.grid-2 {
	display: grid;
	grid-template-columns: 1fr 1fr;
	gap: 56px;
}

.grid-3 {
	display: grid;
	grid-template-columns: repeat(3, 1fr);
	gap: 32px;
}

.grid-4 {
	display: grid;
	grid-template-columns: repeat(4, 1fr);
	gap: 28px;
}

.service-hub__grid {
	display: grid;
	grid-template-columns: repeat(2, 1fr);
	gap: 24px;
}

.plan-grid {
	display: grid;
	grid-template-columns: 1.1fr .9fr;
	gap: 48px;
	align-items: start;
}

.step-grid {
	display: grid;
	grid-template-columns: repeat(4, 1fr);
	gap: 24px;
}

.team-grid {
	display: grid;
	grid-template-columns: repeat(2, 1fr);
	gap: 40px;
}

.inverse-block__grid {
	display: grid;
	grid-template-columns: repeat(3, 1fr);
	gap: 1px;
	background: #262e38;
}

.circle-map__layout {
	display: grid;
	grid-template-columns: 1.4fr .9fr;
	gap: 40px;
	align-items: center;
}

.kontakt__layout {
	display: grid;
	grid-template-columns: 1fr .8fr;
	gap: 64px;
	align-items: start;
}

.about__layout {
	display: grid;
	grid-template-columns: .85fr 1.15fr;
	gap: 56px;
	align-items: center;
}

.legal__layout {
	display: grid;
	grid-template-columns: 1fr;
	max-width: 780px;
	margin-left: auto;
	margin-right: auto;
}

.footer__grid {
	display: grid;
	grid-template-columns: 1.2fr .8fr .8fr .8fr;
	gap: 32px;
}

@media (max-width: 980px) {
	.grid-2,
	.plan-grid,
	.team-grid,
	.circle-map__layout,
	.kontakt__layout,
	.about__layout {
		grid-template-columns: 1fr;
	}

	.grid-3,
	.service-hub__grid,
	.step-grid {
		grid-template-columns: repeat(2, 1fr);
	}

	.inverse-block__grid {
		grid-template-columns: repeat(2, 1fr);
	}

	.footer__grid {
		grid-template-columns: repeat(2, 1fr);
	}
}

@media (max-width: 620px) {
	.container {
		padding-left: 18px;
		padding-right: 18px;
	}

	.grid-3,
	.grid-4,
	.service-hub__grid,
	.step-grid,
	.inverse-block__grid,
	.footer__grid {
		grid-template-columns: 1fr;
	}

	.plan-grid,
	.circle-map__layout {
		gap: 32px;
	}
}
