:root {
	--main-padding: 0 15px;
	--social-size: 40px;
	--btn-height: 64px;
	--btn-width: calc(100% - 30px);
	--btn-offset: 15px;
	--btn-padding: 0 36px;
	--top-height: 80px;
	--footer-padding: 30px 15px;
	--header-padding: 15px 0;
	--sites-item-margin: 30px;
	--font-size: 14px;
	--container-width: 600px;
	--logo_width: 140px;
}

body {
	margin: 0;
	font-family: 'Inter';
	font-style: normal;
	color: #000000;
	font-weight: 400;
	font-size: var(--font-size);
	line-height: 1.2;
}
a {
	color: #7c200e;
	text-decoration: none;
}
p {
	margin: .5rem 0;
}

.top {
	padding: var(--main-padding);
	display: flex;
	align-items: center;
	justify-content: space-between;
	min-height: var(--top-height);
	max-width: var(--container-width);
	box-sizing: border-box;
	margin: 0 auto;
}
.top__left {
	width: var(	--logo_width);
	display: flex;
}
.top__logo {
	width: 100%;
	height: 100%;
	object-fit: contain;
}
.top__right {
	display: flex;
	gap: 40px;
	align-items: center;
}
.top__phone {
	font-size: 1.2em;
}
.top__phone a {
	color: inherit;
}
.top__phone a:hover {
	color: #7c200e;
}

.social {
	display: flex;
	align-items: center;
	gap: calc(var(--social-size)/2);
}
.social.social--footer {
	padding: var(--footer-padding);
	justify-content: center;
}
.social__link {
	display: flex;
	color: inherit;
}
.social__icon {
	max-width: var(--social-size);
	height: var(--social-size);
	flex-basis: var(--social-size);
	flex-shrink: 1;
}
.social__icon:hover {
	transform: scale(1.2);
}
.social__icon-ok:hover {
	color: rgb(255, 119, 0);
}
.social__icon-vk:hover {
	color: rgb(74, 118, 168);
}
.social__icon-instagram:hover {
	color: #E4405F;
}
.social__icon-youtube:hover {
	color: #F61C0D;
}
.social__icon-tiktok:hover {
	color: #69C9D0;
}

.banner {
	display: flex;
	justify-content: center;
	padding: var(--main-padding);
	max-width: var(--container-width);
	box-sizing: border-box;
	margin: 0 auto 30px auto;
}
.banner a {
	display: inline-flex;
}
.banner img {
	max-width: 100%;
}
.sites, .bottom {
	padding: var(--main-padding);
	max-width: var(--container-width);
	box-sizing: border-box;
	margin: 0 auto;
}
.bottom {
	margin-bottom: 2rem;
}

.sites__body {
	max-height: 0;
	overflow: hidden;
	transition: max-height .5s ease;
}
.sites__body.is_show {
	max-height: 1000px;
}
.sites__body a:hover {
	text-decoration: underline;
}

.sites__img {
	position: relative;
	aspect-ratio: 16/10;
	overflow: hidden;
}
.sites__img img {
	width: 100%;
	height: 100%;
	object-fit: cover;
	cursor: pointer;
	transition: .15s ease;
}
.sites__img img:hover {
	transform: scale(1.2);
}

.sites__btn {
	background: #F3CD20;
	display: flex;
	align-items: center;
	justify-content: center;
	font-size: 1.2em;
	font-weight: 400;
	color: inherit;
	text-decoration: none;
	padding: var(--btn-padding);
	transition: background .5s;
}
.sites__btn:hover {
	background: #DBB225;
	text-decoration: none;
}

.sites__item:nth-last-child(n + 2) {
	/*margin-bottom: var(--sites-item-margin);*/
}
.sites__item .sites__btn {
	position: absolute;
	box-sizing: border-box;
	bottom: var(--btn-offset);
	right: var(--btn-offset);
	min-width: var(--btn-width);
	height: var(--btn-height);
	animation-duration: 5s;
	animation-iteration-count: infinite;
	animation-name: bounce;
	animation-timing-function: ease;
}
.sites__item .sites__btn::after {
	content: url('../images/arrow.svg');
	margin-left: 1em;
	transition: transform .3s;
}
.sites__item .sites__btn:hover:after {
	transform: translateX(10px);
}

@keyframes bounce {
  0%  {
  	background-image: linear-gradient(90deg, rgba(255,255,255,.4) 0%, rgba(255,255,255,.3) 3%, transparent 5%, transparent 100%);
		background-size: 200%;
  	background-position-x: 0;
  }
  20% { background-position-x: 400px; }
  100% { background-position-x: 400px; }
}

.sites__header, .bottom__header {
	font-size: 1.65em;
	line-height: 1.3;
	font-weight: 400;
	border-bottom: 1px solid #000;
	margin: 0;
	padding: var(--header-padding);
	cursor: pointer;
	display: flex;
	align-items: center;
	justify-content: space-between;
}
.sites__header:after {
	content: url('../images/arrow-chevron-down.svg');
	margin-left: 1em;
	transition: transform .3s;
	line-height: 0;
}
.sites__header.is_open:after {
	transform: rotate(180deg);
}

.sites__addr {
	border-bottom: 1px solid #000;
}

/* RESPONSIVE PART */
/* Small devices (portrait tablets and large phones, 600px and up) */
@media only screen and (min-width: 600px) {
	:root{
		--btn-height: 72px;
		--btn-width: 342px;
		--btn-offset: 32px;
		--btn-padding: 0 54px;
		--logo_width: 224px;
	}
}
/* Medium devices (landscape tablets, 768px and up) */
@media only screen and (min-width: 768px) {
	.sites__body {
		display: grid;
		grid-template-columns: repeat(auto-fit, minmax(50%, auto));
	}

	.sites__addr {
		padding: 1rem 0;
	}
	.sites__addr:not(:only-of-type):first-child {
		border-right: 1px solid #000;
	}
	.sites__addr:not(:first-child) {
		padding-left: 30px;
	}
	.sites__addr:not(:last-child) {
		padding-right: 30px;
	}
}

@media only screen and (max-width: 992px) {
	.social.social--top {
		display: none
	}
}
/* Large devices (laptops/desktops, 992px and up) */
@media only screen and (min-width: 992px) {
	:root {
		--social-size: 30px;
		--main-padding: 0 30px;
		--header-padding: 30px 0;
		--sites-item-margin: 0;
		--font-size: 14px;
		--logo_width: 280px;
		--sites-item-margin: 56px;
		--container-width: 1600px;
	}
	.sites {
		display: grid;
		gap: 30px;
		grid-template-columns: repeat(auto-fit, minmax(420px, 1fr));
	}
	.sites__header {
		letter-spacing: -1.5px;
		white-space: nowrap;
		cursor: auto;
	}
	.sites__header:after {
		content: "";
	}
	.sites__body, .sites__body.is_show {
		max-height: fit-content;
	}
	.social.social--footer {
		display: none
	}
	.sites__addr {
		border-bottom: none;
	}
	.sites__img {
		/*aspect-ratio: 4/3;*/
    aspect-ratio: 16/5;
	}
}
/* Extra large devices (large laptops and desktops, 1200px and up) */
@media screen and (min-width: 1200px) {
	:root {
		--main-padding: 0 40px;
		--top-height: 120px;
		--font-size: 16px;
	}
}
/* Extra large devices (large laptops and desktops, 1400px and up) */
@media screen and (min-width: 1400px) {
	:root {
		--font-size: 18px;
	}
	.sites__header {
		letter-spacing: 0;
	}
}
/* Extra large devices (large laptops and desktops, 1400px and up) */
@media screen and (min-width: 1600px) {
	:root {
		--main-padding: 0 60px;
		--font-size: 20px;
	}
}
