html, 
body {
	height: 100%;
}

body {
	max-width: 1920px;
	margin: 0;
	padding: 0;

	font-family: "Roboto", "Arial", sans-serif; 
	font-size: 18px;
	color: #bab9b9;

	background-color: #474747;
}

a {
	text-decoration: none;
}

img {
	height: auto;
}

.visually-hidden:not(:focus):not(:active) {
	position: absolute;

	width: 1px;
	height: 1px;
	margin: -1px;
	padding: 0;

	border: 0;
	white-space: nowrap;

	clip-path: inset(100%);
	clip: rect(0 0 0 0);
	overflow: hidden;
}

.wrapper {
	display: -webkit-box;
	display: -ms-flexbox;
	display: flex;
	-webkit-box-orient: vertical;
	-webkit-box-direction: normal;
	-ms-flex-direction: column;
	flex-direction: column;
	height: 100%;
}

.container {
	-webkit-box-sizing: border-box;
	box-sizing: border-box;
	width: 100%;
	margin: 0 auto;
	padding: 0 50px;
}

.page-header {
	width: 100%;
	min-height: 119px;
	margin-bottom: 40px;

	background-color: #2e2e2e;
}

.main-menu {
	display: -webkit-box;
	display: -ms-flexbox;
	display: flex;
	-webkit-box-align: center;
	-ms-flex-align: center;
	align-items: center;
	min-height: 119px;
	height: 10px;
}

.header-logo {
	width: 240px;
	margin-left: 25px;
	-ms-flex-negative: 0;
	flex-shrink: 0;
}

.header-logo a {
	margin: 0;

	font-size: 27px;
	color: #bab9b9;
}

.site-menu {
	display: -webkit-box;
	display: -ms-flexbox;
	display: flex;
	-webkit-box-pack: center;
	-ms-flex-pack: center;
	justify-content: center;
	-ms-flex-wrap: wrap;
	flex-wrap: wrap;
	min-height: 30px;
	margin: 0;
	padding: 0;
	padding-top: 9px;

	list-style: none;
}

.site-menu a {
	display: block;
	margin-right: 20px; 

	line-height: 30px;
	color: #ffffff;

	text-transform: uppercase;
}

.site-menu a:hover,
.site-menu a:focus {
	color: #bdbfbf;
}

.site-menu a:active {
	color: rgba(255, 255, 255, 0.3);
}

.site-menu .current,
.category-list .current,
.footer-menu .current {
	color: #5585b8;
}

/*Верхнее меню с выпадающим списком*/

.top-menu {
	-webkit-box-flex: 1;
	-ms-flex-positive: 1;
	flex-grow: 1;
	width:100%;
}

.top-menu ul {
	position: relative;

	padding: 0;
	margin: 0;

	list-style: none;
}

.top-menu ul ul {
	position: absolute;
	top: 30px;

	display: none;
}

/* отображаем выпадающий список при наведении */
.top-menu ul li:hover > ul {
	display:inherit;
}

/* первый уровень выпадающего списка */
.top-menu ul ul li {
	position: relative;

	display: list-item;
	min-width: 100px;
	padding: 0 15px;
	float: none;

	font-size: 16px;
	background-color: #474747;
	
	z-index: 100;
}

.top-menu ul ul li:last-child {
	padding-bottom: 10px;
}

.lang-toggle {
	display: block;
	width: 40px;
	-ms-flex-negative: 0;
	flex-shrink: 0;
}

.lang-toggle img {
	width: 40px;
	height: 27px;
	margin-top: 7px;

	border: none;
	opacity: 0.6;
}

.lang-toggle img:hover,
.lang-toggle img:focus {
    opacity: 1;
}

.content {
	-webkit-box-flex: 1;
	-ms-flex: 1 0 auto;
	flex: 1 0 auto;
	margin-bottom: 15px;
}

.category-toggle {
	display: block;
	position: relative;
	top: 5px;
	left: 0;
	z-index: 1;

	-webkit-user-select: none;
	-moz-user-select: none;
	-ms-user-select: none;
	user-select: none;
}

.category-toggle input {
	position: absolute;
	z-index: 2;

	display: block;
	width: 67px;
	height: 70px;

	cursor: pointer;
	opacity: 0;

	-webkit-touch-callout: none;
}

.category-toggle img {
	position: relative;
	z-index: 1;

	display: block;
	width: 67px;
	height: 70px;
	margin-bottom: 10px;

	background: #2e2e2e;
	opacity: 0.5;
	
	-webkit-transform-origin: 4px 0px;
	-ms-transform-origin: 4px 0px;
	transform-origin: 4px 0px;
	-webkit-transition: background 0.5s cubic-bezier(0.77,0.2,0.05,1.0),
						-webkit-transform 0.5s cubic-bezier(0.77,0.2,0.05,1.0);
	transition: background 0.5s cubic-bezier(0.77,0.2,0.05,1.0),
				-webkit-transform 0.5s cubic-bezier(0.77,0.2,0.05,1.0);
	-o-transition: transform 0.5s cubic-bezier(0.77,0.2,0.05,1.0),
				   background 0.5s cubic-bezier(0.77,0.2,0.05,1.0);
	transition: transform 0.5s cubic-bezier(0.77,0.2,0.05,1.0),
				background 0.5s cubic-bezier(0.77,0.2,0.05,1.0);
}

.category-toggle:hover img {
	opacity: 1;
}

.category-list, .site-menu-mobile {
	position: absolute;
	z-index: 100;

	width: 200px;
	margin: 0;
	margin-left: -50px;
	margin-top: 50px;
	padding: 0;
	padding-left: 50px;

	list-style: none;
	background-color: #474747;
	opacity: 1;

	-webkit-font-smoothing: antialiased;
	-webkit-transform-origin: 0% 0%;
	-ms-transform-origin: 0% 0%;
	transform-origin: 0% 0%;
	-webkit-transform: translate(-100%, 0);
	-ms-transform: translate(-100%, 0);
	transform: translate(-100%, 0);
	-webkit-transition: -webkit-transform 0.5s cubic-bezier(0.77,0.2,0.05,1.0);
	transition: -webkit-transform 0.5s cubic-bezier(0.77,0.2,0.05,1.0);	
	-o-transition: transform 0.5s cubic-bezier(0.77,0.2,0.05,1.0);	
	transition: transform 0.5s cubic-bezier(0.77,0.2,0.05,1.0);
}

.site-menu-mobile {
	display: none;
}

.site-menu-mobile a {
	display: block;
	padding-bottom: 5px;

	font-size: 16px;
	color: #bab9b9;
	text-transform: uppercase;
}

.site-menu-mobile a:hover,
.site-menu-mobile a:focus {
	color: #ffffff;
}

.site-menu-mobile > li > ul {
	list-style: none;
}

.category-toggle input:checked ~ ul {
	-webkit-transform: none;
	-ms-transform: none;
	transform: none;
}

.category-list a {
	display: block;
	padding-bottom: 25px;

	line-height: 16px;
	color: #bab9b9;

	text-transform: uppercase;

	-webkit-transition: color 0.3s ease;
	-o-transition: color 0.3s ease;	
	transition: color 0.3s ease;
}

.category-list a:hover,
.category-list a:focus {
	color: #ffffff;
}

.category-list a:active {
	color: rgba(255, 255, 255, 0.3);
}

.gallery {
	/*flex-grow: 1;*/
	overflow: hidden;
}

.move {
	position: fixed; /*позиционирование*/
	z-index: 9999; /*поверх все элементов на странице*/
	right: 5px; /*положение на странице, если слева - left*/
	top: 50%;
	width: 40px;
	height: 100px;
}

.go-up, .go-down {
	display: none;
	position: absolute;
	cursor: pointer;
	color: #fff;
	text-align: center;
	font: normal normal 42px/42px roboto;
	text-shadow: 0 1px 2px #000;
	opacity: .5;
	padding: 3px;
	margin-bottom: 5px;
	width: 32px;
	height: 42px;
}

.go-up { top: 0; }
.go-down { top: 50px; }
.go-down:hover,
.go-up:hover {
	opacity: 1;
}

.page-footer {
	width: 100%;
	min-height: 110px;

	background-color: #000000;
}

.footer-container {
	display: -webkit-box;
	display: -ms-flexbox;
	display: flex;
	-webkit-box-pack: justify;
	-ms-flex-pack: justify;
	justify-content: space-between;
	min-height: 88px;
}

.about-photo {
    display: block;
    padding-top: 20px;

    border: none;
}

.avatar {
    border: 1px solid #b4b4b4;
    border-radius: 50%;
}

.footer-social {
	-ms-flex-negative: 0;
	flex-shrink: 0;
	/*width: 387px;*/
	min-height: 30px;
	margin: 0;
	padding-top: 35px;

	list-style: none;
}

.footer-social li {
	display: inline-block;

	vertical-align: baseline;
}

.footer-social .social-btn {
	display: block;
	height: 27px;
	margin-right: 22px;

	background-repeat: no-repeat;
	background-size: contain;
	opacity: 0.5;
}

.footer-social .social-btn:hover,
.footer-social .social-btn:focus {
	opacity: 1;
}

.footer-social .social-btn:active {
	opacity: 0.3;
}

.footer-social .social-btn-sony {
	width: 64px;

	background-image: url("../img/sony-icon.svg");
}

.footer-social .social-btn-insta {
	width: 30px;

	background-image: url("../../shared/img/insta-icon.svg");
}

.footer-social .social-btn-youtube {
	width: 30px;

	background-image: url("../img/youtube-icon.svg");
}

.footer-social .social-btn-vk {
	width: 30px;

	background-image: url("../img/vk-icon.svg");
}

.footer-social .social-btn-fb {
	width: 14px;

	background-image: url("../../shared/img/fb-icon.svg");
}

.footer-social .social-btn-skype {
	width: 30px;

	background-image: url("../img/skype.svg");
}

.footer-social .social-btn-mail {
	width: 30px;
	margin-right: 0;

	background-image: url("../img/mail.svg");
}

.copyright {
	padding-bottom: 5px;
}

.copyright p {
	margin: 0;
	padding: 0;

	text-align: center;
	font-size: 10px;
}

.copyright a {
	color: #bab9b9;
}

.copyright a:hover,
.copyright a:focus {
	color: #ffffff;
}

/* Адаптивность */

@media screen and (max-width: 1098px) {
	body {
		font-size: 16px;
	}

	.container {
		padding: 0 10px;
		width: 100%;
	}

	.header-logo {
		width: 180px;
	}

	.header-logo a {
		font-size: 20px;
	}

	.site-menu {
		margin: 0 10px;
	}

	.site-menu a {
		margin-right: 10px;
	}

	.category-toggle input, .category-toggle img {
		width: 50px;
		height: 53px;
		margin: 0;
	}

	.top-menu ul ul li {
		font-size: 14px;
	}
}

@media screen and (max-width: 845px) {
	.lang-toggle {
		margin-left: auto;
	}

	.category-list, .site-menu {
		display: none;
	}

	.site-menu-mobile {
		margin-left: -10px;
		padding-left: 20px;
	}

	.site-menu-mobile {
		display: block;
	}

	.avatar {
        width: 50px;
        height: 50px;
    }

	.footer-social {
		padding-left: 0;
	}
}

@media screen and (max-width: 500px) {
	.page-footer {
		min-height: unset;
	}

	.footer-social {
		height: auto;
	}

	.footer-social .social-btn {
		width: 20px;
		margin-right: 10px;
	}

	.footer-social .social-btn-sony {
		width: 44px;
	}

	.copyright p {
		padding: 0 5px 5px 5px;
	}
}