:root{
	--mainBlockWidthInColumns: 12;
	--sidePadding: 15px;
}

*, *::before, *::after{
	box-sizing: border-box;
}
ul[class], ol[class]{
	padding: 0;
	list-style: none;
	margin: 0;
}
h1, h2, h3, h4, p, li, figure, figcaption, blockquote, dl, dd {
	margin: 0;
}
h1, h2, h3, h4, h5, h6{
	text-wrap: balance;
}
p, li, figcaption{
	text-wrap: pretty;
}
a:not([class]){
	text-decoration-skip-ink: auto;
}
a{
	text-decoration: none;
	text-underline-offset: 0.25em;
}
a:hover{
	text-decoration: none;
	transition: 0.4s;
}
img{
	max-width: 100%;
	height: auto;
	font-style: italic;
	vertical-align: middle;
	background-repeat: no-repeat;
	background-size: cover;
	shape-margin: 0.75rem;
	object-fit: cover;
}
input, button, textarea, select{
	font: inherit;
}

body{
	padding: 0;
	margin: 0;
	display: flex;
	flex-flow: row wrap;
	scroll-behavior: smooth;
	text-rendering: optimizeSpeed;
	line-height: 1.5;
}

header, main, sidebar, footer, section{
	padding: 0 var(--sidePadding);
}

@media(min-width: 992px){
	header, footer{
		margin: 0 auto;
	}
	main, section{
		padding-right: var(--sidePadding);
	}
}

@media(min-width: 1400px){
	header, footer{
		width: 1400px;
	}
	main, section{
		width: calc(1400px / 12 * var(--mainBlockWidthInColumns));
		margin-left: calc((100% - 1400px) / 2);
	}
}
@media(min-width: 1200px) and (max-width: 1400px){
	header, footer{
		width: 1200px;
	}
	main, section{
		width: calc(1200px / 12 * var(--mainBlockWidthInColumns));
		margin-left: calc((100% - 1200px) / 2);
	}
}
@media(min-width: 992px) and (max-width: 1200px){
	header, footer{
		width: 992px;
	}
	main, section{
		width: calc(992px / 12 * var(--mainBlockWidthInColumns));
		margin-left: calc((100% - 992px) / 2);
	}
}

@media(max-width: 992px){
	header, main, footer, section{
		width: 100%;
	}
}