﻿/* Theme Name: Atom */

*,
:after,
:before {
    box-sizing: border-box;
    -moz-box-sizing: border-box;
    -webkit-box-sizing: border-box;
}

:root {
	--icon: url(assets/images/icons/sprite.png);
	--icon2x: url(assets/images/icons/sprite@2x.png);
	
	--white-color: #fff;
	--black-color: #000;
	
	--primary-color-accent: #d0021b;
	--primary-color-hover: #bb0217;
	
	--blue-color-accent: #0676ed;
	--blue-color-ghost: #dcedfe;
	
	--orange-color-accent: #fa8f38;
	--orange-color-ghost: #feebdc;
	
	--red-color-accent: #fa3838;
	--red-color-ghost: #fedcdc;
	
	--green-color-accent: #24AC5C;
	--green-color-ghost: #e2f9eb;
	
	/* Gray Color: */
	
	--gray-color-120: #262626;
	--gray-color-115: #333333;
    --gray-color-110: #404040;
	--gray-color-105: #4d4d4d;
    --gray-color-100: #595959;
	--gray-color-95: #666666;
	--gray-color-90: #737373;
	--gray-color-85: #808080;
	--gray-color-80: #8c8c8c;
	--gray-color-75: #999999;
	--gray-color-70: #a6a6a6;
	--gray-color-65: #b3b3b3;
    --gray-color-60: #bfbfbf;
	--gray-color-55: #cccccc;
	--gray-color-50: #d9d9d9;
	--gray-color-45: #e6e6e6;
    --gray-color-40: #ededed;
	--gray-color-35: #f2f2f2;
    --gray-color-30: #f5f5f5;
	--gray-color-25: #f7f7f7;
    --gray-color-20: #fafafa;
	
	/* Transparent Color: */
	
	--transparent-color-20: rgb(0 0 0 / 20%);
	--transparent-color-15: rgb(0 0 0 / 15%);
	--transparent-color-10: rgb(0 0 0 / 10%);
	--transparent-color-5: rgb(0 0 0 / 5%);
	--transparent-color-3: rgb(0 0 0 / 3%);

	--heading-color: #000;
	--text-color: #222;
	--link-color: #3591fd;
	--link-color-visited: #b40eb4;
	--link-color-hover: #C00;
	--radius: 8px;
}

body,
ul,
ol,
li,
h1,
h2,
h3,
h4,
h5,
h6,
form,
fieldset,
input,
textarea,
p {
    margin: 0;
    padding: 0;
}

html,
body {
    width: 100%;
    height: 100%;
    margin: 0;
    padding: 0;
}

table {
    border-collapse: collapse;
    border-spacing: 0;
}

fieldset,
img {
    border: 0;
}

img {
    vertical-align: middle;
}

ol,
ul {
    list-style: none;
}

@font-face {
    font-family: 'Noto Sans';
    src: local('Noto Sans'), 
		 local('NotoSans'), 
		 url('assets/fonts/400.woff2') format('woff2');
    font-weight: 400;
    font-style: normal;
	font-display: swap;
}

@font-face {
    font-family: 'Noto Sans';
    src: local('Noto Sans SemiBold'), 
		 local('NotoSans-SemiBold'), 
		 url('assets/fonts/500.woff2') format('woff2');
    font-weight: 500;
    font-style: normal;
	font-display: swap;
}

@font-face {
    font-family: 'Noto Sans';
    src: local('Noto Sans SemiBold'), 
		 local('NotoSans-SemiBold'), 
		 url('assets/fonts/600.woff2') format('woff2');
    font-weight: 600;
    font-style: normal;
	font-display: swap;
}

@font-face {
    font-family: 'Noto Sans';
    src: local('Noto Sans Bold'), 
		 local('NotoSans-Bold'), 
		 url('assets/fonts/700.woff2') format('woff2');
    font-weight: 700;
    font-style: normal;
	font-display: swap;
}

body {
	position: relative;
	background-color: var(--white-color);
	display: -webkit-flex;
	display: flex;
	flex-direction: column;
	font-family: 'Noto Sans', sans-serif;
	color: var(--text-color);
	font-weight: 400;
	line-height: 1.6;
}

h1,
h2,
h3,
h4,
h5,
h6 {
	color: var(--heading-color);
    font-size: 100%;
	line-height: 1.5;
	font-weight: 700;
	margin-bottom: 35px;
}

h1 {
	line-height: 1.3;
}

p {
    margin-bottom: 35px;
}

strong {
    font-weight: 600;
}

a {
    color: var(--link-color);
	text-decoration: none;
}

a:visited {
	color: var(--link-color-visited);
}

a:hover {
    color: var(--link-color-hover);
}

.button {
    background-color: var(--primary-color-accent);
    display: table;
	cursor: pointer;
	font-family: inherit;
    color: #fff;
    font-size: 14px;
	font-weight: 600;
	line-height: 1.3;
    border: 1px solid var(--primary-color-accent);
	border-radius: var(--radius);
	user-select: none;
    transition: all .5s;
	padding: 10px 12px;
}

.button:hover {
	background-color: var(--primary-color-hover);
	color: #fff;
	border-color: var(--primary-color-hover);
}

.button.neutral {
    background-color: var(--gray-color-45);
	color: var(--black-color);
	border-color: var(--gray-color-45);
}

.button.neutral:hover {
    background-color: var(--gray-color-60);
	color: var(--black-color);
	border-color: var(--gray-color-60);
}

.row {
	position: relative;
    font-size: 0;
}

.main {
	flex: 1 0 auto;
}

.visually-hidden {
	position: absolute;
	width: 1px;
	height: 1px;
	overflow: hidden;
	white-space: nowrap;
	clip: rect(0 0 0 0);
	clip-path: inset(50%);
	border: 0;
	padding: 0;
	margin: -1px;
}

.ellipsis {
	max-width: 100%;
	display: block;
    overflow: hidden;
    white-space: nowrap;
    text-overflow: ellipsis;
}


/* Scrollbar */

.scrollable {
	overflow-x: scroll;
	white-space: nowrap;
	-webkit-overflow-scrolling: touch;
	cursor: grab;
}

.scrollable::-webkit-scrollbar {
	width: 0;
	height: 0;
}

.scrollable.is-dragging {
    cursor: grabbing;
    user-select: none;
}

.scrollbar {
    position: relative;
    background-color: #262626;
	height: 2px;
	border-radius: 2px;
}

.scrollbar .scrollbar-thumb {
    position: absolute;
	background-color: #8c8c8c;
    height: 100%;
    border-radius: 2px;
}


/* ОСНОВНОЙ КОНТЕНТ */

.main {
	padding-bottom: 40px;
}

.content {
	flex: 1 0 auto;
}


/* ШАПКА */

.header {
	position: relative;
	display: -webkit-box;
	display: -ms-flexbox;
	display: flex;
	justify-content: center;
	align-items: center;
	padding-top: 9px;
	padding-bottom: 9px;
}

.header .logotype {
	position: relative;
}

.header .logotype:before {
	content: "";
	background-image: url(assets/images/logo.png);
    background-repeat: no-repeat;
	background-position: center;
	background-size: 40px;
	width: 40px;
	height: 40px;
	display: inline-block;
	vertical-align: middle;
	margin-right: 5px;
}

.header .logotype span {
	display: inline-block;
	vertical-align: middle;
	color: var(--black-color);
	font-size: 19px;
	font-weight: 700;
	letter-spacing: 0;
	text-transform: uppercase;
}

.header .menu li a {
	color: #000;
	line-height: 1.4;
}

.header .search {
	position: absolute;
	top: 50%;
	width: calc(100% - 84px);
	display: none;
	margin-top: -22px;
}

.header .search.show {
	z-index: 10002;
	display: block;
}

.header .search input {
    background-color: var(--gray-color-45);
    width: 100%;
	height: 44px;
	display: block;
	font-family: inherit;
	font-size: 17px;
	line-height: 44px;
    border: none;
	outline: none;
	border-radius: var(--radius);
	padding-left: 15px;
	padding-right: 52px;
}

.header .search-toggle { 
	position: relative;
	background-color: transparent;
	width: 44px;
	height: 44px;
	cursor: pointer;
	border: none;
	border-radius: var(--radius);
	margin-left: auto;
}

.header .search-toggle.close { 
	z-index: 10003;
}

.header .search-toggle:after {
	content: "";
	position: absolute;
	top: 50%;
	left: 50%;
	background-image: var(--icon);
    background-repeat: no-repeat;
    background-size: 200px;
	background-position: 0 0;
	width: 20px;
	height: 20px;
	display: block;
	margin-top: -10px;
	margin-left: -10px;
}

.header .search-toggle.close:after {
	background-position: -40px 0;
}


/* ХЛЕБНЫЕ КРОШКИ */

.breadcrumbs {
	font-size: 13px;
	margin-bottom: 25px;
}

.breadcrumbs li {
	position: relative;
	display: inline-block;
	color: var(--text-color);
}

.breadcrumbs li:after {
    content: "→";
    display: inline-block;
	color: inherit;
    margin: 0 10px;
}

.breadcrumbs li:last-child:after {
    content: none;
}

.breadcrumbs li a {
	color: inherit;
	border-bottom: 1px solid transparent;
}

.breadcrumbs li a:hover {
	color: var(--black-color);
	border-color: var(--transparent-color-20);
}


/* TITLE */

.title {
	display: block;
    color: #333;
	font-size: 21px;
	font-weight: 600;
	margin-bottom: 20px;
}


/* HERO */

.hero-image {
	margin-bottom: 40px;
}

.hero-image img {
    max-width: 100%;
    height: auto;
	display: block;
	border-radius: var(--radius);
}

.home-hero {
	z-index: 1;
	position: relative;
	background-color: #9bdcf8;
	width: 100%;
	height: 580px;
	overflow: hidden;
	color: var(--text-color);
	margin-bottom: 60px;
}

.header:has(+ .home-main) {
	margin-bottom: 0;
}

.home-hero-media,
.home-hero-media img,
.home-hero-media video {
	position: absolute;
	top: 0;
	left: 0;
	width: 100%;
	height: 100%;
}

.home-hero-media img,
.home-hero-media video {
	display: block;
	object-fit: cover;
	object-position: center center;
}

.home-hero-mobile {
	display: none !important;
}

.home-hero-inner {
	position: relative;
	height: 100%;
	display: flex;
	align-items: center;
}

.home-hero-content {
	z-index: 2;
	position: relative;
	width: 520px;
	max-width: 42%;
	padding-right: 40px;
}

.home-hero-content h1 {
	color: var(--heading-color);
	margin-bottom: 24px;
}

.home-hero-lead p {
	color: var(--text-color);
	font-size: 22px;
	line-height: 1.55;
	margin-bottom: 0;
}

.home-category-head {
	display: flex;
	flex-wrap: wrap;
	align-items: baseline;
	justify-content: space-between;
	gap: 16px 28px;
	margin-bottom: 35px;
}

.home-category-head h2 {
	margin-bottom: 0;
}

.home-category-link {
	display: inline-flex;
	align-items: center;
	gap: 8px;
	font-size: 17px;
	font-weight: 500;
	line-height: 1.4;
	white-space: nowrap;
}

.home-category-link svg {
	width: 20px;
	height: 20px;
	display: block;
	transition: transform 0.2s ease;
}

.home-category-link:hover svg {
	transform: translateX(4px);
}



/* ARTICLE */

.article {
	position: relative;
	width: 100%;
	margin-bottom: 100px;
}


/* TOC */

.toc {
	text-align: left;
	transition: transform 0.3s;
}

.toc .toc-title {
	background-color: transparent;
	display: block;
	cursor: default;
	font-family: inherit;
	color: #000;
	font-size: inherit;
	font-weight: 400;
	text-align: left;
	border: none;
	padding: 0;
}

.toc .toc-list {
	overflow: scroll;
	overflow-x: hidden;
	overflow-y: auto;
	-ms-overflow-style: none;
	scrollbar-width: none;
}

.toc .toc-list::-webkit-scrollbar {
	display: none;
}

.toc .toc-list li {
	display: block;
	line-height: 1.4;
}

.toc .toc-list a {
	display: block;
	color: inherit;
	font-weight: 400;
}

.toc .toc-list .current {
	color: #d0021b;
}

.toc .toc-list .h3 {
	margin-left: 18px;
}


/* Articles */

.articles {
	margin-bottom: 40px;
}

.articles .card {
	vertical-align: top;
	text-align: left;
	transition: all 0.3s ease;
}

.articles .card:hover {
	transform: translateY(-5px);
}

.articles .card .card-inner {
	display: block;
}

.articles .card .card-inner .card-image {
	margin-bottom: 18px;
}

.articles .card .card-inner .card-image img {
	width: 100%;
	display: block;
	object-fit: cover;
	object-position: center center;
	border-radius: var(--radius);
}

.articles .card .card-inner .card-image.no-image {
	position: relative;
	background-color: var(--gray-color-45);
	border-radius: var(--radius);
}

.articles .card .card-inner .card-image.no-image:after {
	content: "";
	position: absolute;
	top: 50%;
	left: 50%;
	background-image: var(--icon);
    background-repeat: no-repeat;
    background-size: 200px;
	background-position: -100px 0;
	width: 20px;
	height: 20px;
	display: block;
	margin-top: -10px;
	margin-left: -10px;
}

.articles .card .card-inner .card-name {
	display: block;
	color: var(--text-color);
	font-size: 21px;
	font-weight: 600;
	line-height: 1.4;
	margin-bottom: 0;
}

.articles .card .card-inner .card-description {
	display: block;
	color: var(--gray-color-100);
	font-size: 17px;
	margin-top: 10px;
}


/* Text */

.text {
	text-align: left;
}

.text h2:not(:first-child) {
    margin-top: 35px;
}

.text > ul,
.text > ol {
    margin-bottom: 35px;
}

.text > ol {
    counter-reset: list;
}

.text > ul li,
.text > ol li {
    position: relative;
    display: block;
    margin: 0 0 15px;
}

.text > ul li:before {
    content: "";
    background-color: #d0021b;
    width: 6px;
    height: 6px;
	display: inline-block;
	vertical-align: middle;
    border-radius: 50%;
    margin-right: 12px;
}

.text > ol li:before {
    content: counter(list) ". ";
	counter-increment: list;
}

.text table {
	max-width: 100%;
	display: inline-block;
	overflow-x: auto;
	margin-bottom: 35px;
}

.text table caption {
	font-size: 14px;
    font-weight: 400;
	text-align: left;
    margin-bottom: 10px;
}

.text table th,
.text table td {
    vertical-align: top;
    border: 1px solid #ddd;
	padding: 15px 20px;
}

.text thead th {
    vertical-align: bottom;
	font-weight: 500;
}

.text mark {
	background-color: #ffeea4;
    padding: 4px 2px;
}

.text q {
	quotes: "«" "»" "„" "“";
	font-family: 'Georgia', 'Times New Roman', serif;
	font-style: italic;  
}

.text blockquote {
	font-family: 'Georgia', 'Times New Roman', serif;
	font-size: 128%;
	line-height: 1.4;
	font-style: italic;
	font-weight: normal;
	border-left: 2px solid #d0021b;
	padding: 0 0 0 28px;
	margin: 50px 0
}

.text blockquote p:last-child {
	margin-bottom: 0;
}


/* Quote container */

.quote-container {
	border: none;
	padding: 0;
	margin: 0 0 35px;
}

.quote-container blockquote {
	margin: 0
}

.quote-container .quote-caption {
	font-size: 85%;
	font-weight: 400;
	margin-top: 25px;
}

.quote-container .quote-caption cite {
	font-style: normal;
}


/* Icon */

.inline-icon {
	height: 24px;
	display: inline-block;
}


/* Image */

.image {
	position: relative;
	margin: 0;
	margin-bottom: 35px;
}

.image img {
	z-index: 1;
	position: relative;
    max-width: 100%;
    height: auto;
	display: block;
	border-radius: var(--radius);
}

.image .caption {
    display: block;
    font-size: 80%;
	color: rgb(0 0 0 / 80%);
	font-weight: 400;
	padding: 10px 0 0;
}


/* Gallery */

.gallery {
	display: grid;
    grid-template-columns: repeat(2, 1fr); 
    gap: 20px;
	margin-bottom: 35px;
}

.gallery .image-wrapper {
	position: relative;
	background-color: var(--gray-color-45);
	width: 100%;
	cursor: pointer;
	overflow: hidden;
	border-radius: var(--radius);
	padding-top: 66.67%;
}

.gallery .image-wrapper img {
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
	max-width: 100%;
    height: auto;
	min-height: 100%;
	display: block;
	object-fit: cover; 
    transition: transform 0.5s ease;
}

.gallery .image-wrapper:hover img {
    transform: scale(1.05);
}


/* Clip */

.clip {
	position: relative;
	width: 100%;
	height: 0;
	max-height: 100vh;
	overflow: hidden;
	border-radius: var(--radius);
	margin-left: auto;
	margin-right: auto;
	margin-bottom: 35px;
}

.clip.ratio-16-9 {
	padding-top: 56.25%;
}

.clip.ratio-4-3 {
	padding-top: 75%;
}

.clip.ratio-1-1 {
	padding-top: 100%;
}

.clip.ratio-9-16 {
	max-width: 56.25vh; 
	padding-top: 177.78%;
}

.clip.ratio-3-4 {
	max-width: 75vh;
	padding-top: 133.33%;
}

.clip video {
	z-index: 1;
	position: absolute;
	top: 0;
	left: 0;
	right: 0;
	bottom: 0;
	width: 100%;
	height: 100%;
	border: none;
}


/* Media Info */

.media-info {
	z-index: 2;
	position: absolute;
	top: 5px;
	right: 5px;
	background-color: #fff;
	max-width: 310px;
	min-height: 54px;
	display: none;
	color: var(--text-color);
	border-radius: var(--radius);
	padding: 16px 50px 16px 18px;
}

.media-info.show {
	display: block;
}

.media-info .media-author,
.media-info .media-source {
	font-size: 14px;
    line-height: 1.5;
}

.media-info .media-author:before,
.media-info .media-source:before {
    color: #737373;
}

.media-info .media-author:before {
    content: attr(data-author);
}

.media-info .media-source:before {
    content: attr(data-source);
}

.media-info .link {
	display: inline;
	font-size: 15px;
}

.media-info-button {
	z-index: 3;
	position: absolute;
	top: 10px;
	right: 10px;
	background-color: rgb(255 255 255 / 50%);
	width: 32px;
	height: 32px;
	display: block;
	cursor: pointer;
	border: none;
	border-radius: var(--radius);
	user-select: none; 
}

.media-info-button:hover {
	background-color: rgb(255 255 255 / 70%);
}

.media-info-button:after {
	content: "";
	position: absolute;
	top: 6px;
	left: 6px;
	background-image: var(--icon);
    background-repeat: no-repeat;
    background-size: 200px;
	width: 20px;
	height: 20px;
	display: block;
	opacity: .8;
}

.media-info-button.icon-attention:after {
	background-position: -120px 0;
}

.media-info-button.icon-close:after {
	background-position: -40px 0;
}


/* YouTube */

.youtube-video {
	position: relative;
    width: 100%;
    height: 0;
	background-color: var(--gray-color-45);
	overflow: hidden;
	padding-bottom: 56.25%;
	margin-bottom: 35px;
}

.youtube-video iframe,
.youtube-video object,
.youtube-video embed {
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    border: 0;
}


/* Tabs */

.tabs {
	overflow: visible;
}

.tabs.article-tabs {
	margin-bottom: 35px;
}

.tabs .tablist {
	position: relative;
}

.tabs.article-tabs .tablist {
	z-index: 1000;
	position: -webkit-sticky;
	position: sticky;
	top: 0;
	background-color: var(--white-color);
}

.tabs .tablist:after {
	z-index: 1;
	content: "";
	position: absolute;
	left: 0;
	right: 0;
	bottom: 0;
	display: block;
	border-bottom: 1px solid var(--gray-color-50);
}

.tabs.article-tabs .tablist:after {
	border-color: var(--gray-color-70);
}

.tabs .tablist .tabs-inner .tab {
	z-index: 2;
	position: relative;
	background-color: transparent;
    display: inline-block;
	opacity: .8;
    cursor: pointer;
	font-family: inherit;
	font-size: inherit;
	font-weight: 400;
	line-height: 1.3;
    border: none;
	border-bottom: 1px solid transparent;
	user-select: none;
	padding-left: 0;
	padding-right: 0;
	padding-top: 15px;
    padding-bottom: 15px;
}

.tabs .tablist .tabs-inner .tab:last-child {
	margin-right: 0;
}

.tabs .tablist .tabs-inner .tab:hover {
	opacity: 1;
}

.tabs .tablist .tabs-inner .tab.active {
	opacity: 1;
    cursor: default;
	color: var(--primary-color-accent);
	border-color: var(--primary-color-accent);
}

.tabs .tabpanel {
    opacity: 0;
    visibility: hidden;
    height: 0;
    overflow: hidden;
    transition: 
        opacity 0.3s ease,
        visibility 0.3s ease,
        height 0.3s ease;
}

.tabs .tabpanel.active {
    opacity: 1;
    visibility: visible;
    height: auto;
	overflow: visible;
}

.tabs.article-tabs .tabpanel.active {
	border-radius: 0 0 var(--radius) var(--radius);
	border-left: 1px solid var(--gray-color-70);
	border-right: 1px solid var(--gray-color-70);
	border-bottom: 1px solid var(--gray-color-70);
}

.tabs .tabpanel > *:last-child {
    margin-bottom: 0;
}


/* Links */

.links-block {
	text-align: left;
	border: 1px solid var(--gray-color-70);
	border-radius: var(--radius);
	margin-bottom: 35px;
}

.links-block li {
	position: relative;
	width: 100%;
    display: block;
	border-bottom: 1px solid var(--gray-color-70);
	padding-left: 0;
	padding-right: 34px;
	padding-bottom: 20px;
	margin: 0 0 19px;
}

.links-block li:after {
	content: "";
	position: absolute;
	top: 6px;
	right: 0;
	background-image: var(--icon);
    background-repeat: no-repeat;
    background-size: 200px;
	background-position: -60px 0;
	width: 20px;
	height: 20px;
	display: block;
	opacity: .8;
	transform: rotate(270deg);
}

.links-block li:last-child {
	border-bottom: none;
	padding-bottom: 0;
	margin: 0;
}

.links-block li a {
	color: var(--black-color);
	font-size: 90%;
	line-height: 1.4;
}

.links-block li a:hover {
    color: var(--link-color-hover);
}


/* Options */

.options {
	width: 100%;
}

.options dl {
	position: relative;
	width: 100%;
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    align-items: flex-end;
	text-align: left;
	margin-top: 12px;
	margin-bottom: 12px;
}

.options dl:after {
	content: "";
	position: absolute;
	left: 0;
	right: 0;
	bottom: 7px;
	background: repeat-x radial-gradient(2px circle at 1px 1px,var(--gray-color-90) 50%,transparent 50.2%) 0 0 /6px 2px;
	height: 2px;
}

.options dl dt span,
.options dl dd {
	z-index: 1;
	position: relative;
	background-color: var(--white-color);
}

.options dl dt {
	margin-right: auto;
}

.options dl dt span {
	color: var(--gray-color-100);
	padding-right: 6px;
}

.options dl dd {
	font-weight: 500;
	padding-left: 6px;
	margin-left: 0;
}

.options dl dd.negative {
    color: var(--red-color-accent);
}

.options dl dd.positive {
    color: var(--green-color-accent);
}


/* Listing */

.listing {
	margin-bottom: 35px;	
}

.listing .item {
	position: relative;
	overflow: hidden;
	border: 1px solid var(--gray-color-70);
	border-radius: var(--radius);
	margin-top: 22px;
	margin-bottom: 22px;	
}

.listing .item .item-header {
	position: relative;
}

.listing .item .item-badges {
	position: absolute;
    top: 4px;
    left: 4px;
	display: inline-flex;
	gap: 3px;
}

.listing .item .item-badges .badge-score,
.listing .item .item-badges .badge-label {
	min-width: 26px;
    font-size: 12px;
	font-weight: 500;
	line-height: 12px;
    text-align: center;
	border-radius: calc(var(--radius) - 1px);
	padding: 4px;
}

.listing .item .item-badges .badge-score {
	background-color: var(--gray-color-25);
	color: var(--gray-color-120);
}

.listing .item .item-badges .badge-label {
	background-color: var(--green-color-ghost);
	color: var(--green-color-accent);
}

.listing .item .item-header h3 {
	word-wrap: break-word;
	line-height: 1.6;
	margin-bottom: 15px;
}

.listing .item .item-header .note {
	display: block;
	font-size: 16px;
	font-weight: 500;
	margin-bottom: 25px;
}

.listing .item .item-header .item-image,
.listing .item .item-header .item-image img {
	width: 168px;
	height: auto;
}

.listing .item .item-header .item-image.image-medium,
.listing .item .item-header .item-image.image-medium img {
	width: 128px;
}

.listing .item .item-header .item-image.image-small,
.listing .item .item-header .item-image.image-small img {
	width: 96px;
}

.listing .item .item-header .item-image.image-tiny,
.listing .item .item-header .item-image.image-tiny img {
	width: 64px;
}

.listing .item .item-header .item-image img {
	display: block;
	border-radius: var(--radius);
}

.listing .item .item-header .item-image.js-popup-trigger img {
    cursor: pointer;
}

.listing .item .item-body .tabs .tablist .tab {
	color: var(--gray-color-100);
    font-size: 16px;
	font-weight: 500;
}

.listing .item .item-body .tabs .tablist .tab.active {
    color: var(--black-color);
    border-color: var(--black-color);
}

.listing .item .item-body .tabs .tabpanel.active {
    padding-top: 25px;
}

.listing .item .item-body .options {
	font-size: 16px;
	margin-bottom: 0;
}

.listing .item .item-body .options .hidden {
    display: none;
}

.listing .item .item-body .options.show .hidden {
    display: flex;
}

.listing .item .item-body .options .more-options {
	background-color: var(--gray-color-40);
	width: 24px;
	height: 24px;
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    justify-content: center;
    align-items: center;
	cursor: pointer;
	font-family: inherit;
	color: var(--gray-color-100);
	font-size: 14px;
	font-weight: 400;
    border: none;
	border-radius: var(--radius);
	padding: 0;
	margin-top: 20px;
}

.listing .item .item-body .options .more-options:hover {
	background-color: var(--gray-color-45);
}

.listing .item .item-body .options .more-options:before,
.listing .item .item-body .options.show .more-options:before {
	line-height: 1;
}

.listing .item .item-body .options .more-options:before {
	content: "+";
}

.listing .item .item-body .options.show .more-options:before {
	content: "-";
}

.listing .item .item-footer .price {
	display: block;
	margin-bottom: 18px;
}

.listing .item .item-footer .price .price-title {
	display: block;
	font-size: 16px;
	font-weight: 500;
	margin-bottom: 5px;
}

.listing .item .item-footer .price .price-value {
	display: block;
	font-size: 23px;
	font-weight: 700;
}

.listing .item .item-footer .info {
	display: block;
	margin-bottom: 18px;
}

.listing .item .item-footer .info span {
	display: inline-block;
	vertical-align: top;
	color: var(--gray-color-100);
	font-size: 14px;
	font-weight: 600;
	border: 1px solid var(--gray-color-60);
	border-radius: var(--radius);
	padding: 5px 7px;
	margin-right: 7px;
	margin-bottom: 7px;
}

.listing .item .item-footer .info span:last-child {
	margin-right: 0;
}

.listing .item .item-accordion {
	border-top: 1px solid var(--gray-color-70);
}

.listing .item .item-accordion .item-accordion-header {
	position: relative;
	background-color: transparent;
	width: 100%;
	cursor: pointer;
	font-family: inherit;
	font-size: 17px;
	font-weight: 600;
	text-align: left;
	transition: background-color .5s;
	border: none;
	padding-top: 18px;
	padding-bottom: 18px;
	margin-bottom: 0;
}

.listing .item .item-accordion.active .item-accordion-header,
.listing .item .item-accordion .item-accordion-header:hover {
	background-color: var(--gray-color-20);
}

.listing .item .item-accordion .item-accordion-header:after {
    content: "";
    position: absolute;
	top: 22px;
	background-image: var(--icon);
    background-repeat: no-repeat;
    background-size: 200px;
	background-position: -60px 0; 
	width: 20px;
	height: 20px;
	display: block;
}

.listing .item .item-accordion.active .item-accordion-header:after {
	background-position: -80px 0;
}

.listing .item .item-accordion .item-accordion-content {
	display: none;
}

.listing .item .item-accordion.active .item-accordion-content  {
	display: block;
	margin-top: 30px;
	padding-bottom: 28px;
}


/* Reviews */

.reviews {
	margin-bottom: 60px;
}

.reviews .reviews-sort {
	margin-bottom: 15px;
}

.reviews .reviews-sort .sort-title,
.reviews .reviews-sort .sort-buttons,
.reviews .reviews-sort .sort-buttons .sort-button {
	display: inline-block;
	vertical-align: top;
}

.reviews .reviews-sort .sort-title,
.reviews .reviews-sort .sort-buttons .sort-button {
	color: var(--gray-color-80);
	font-size: 16px;
	font-weight: 400;
	line-height: 1.5;
}

.reviews .reviews-sort .sort-title {
	margin-right: 26px;
}

.reviews .reviews-sort .sort-buttons .sort-button {
	position: relative;
	background-color: transparent;
	cursor: pointer;
	font-family: inherit;
	border: none;
	padding: 0;
	padding-right: 22px;
	margin-right: 10px;
}

.reviews .reviews-sort .sort-buttons .sort-button:last-child {
	margin-right: 0;
}

.reviews .reviews-sort .sort-buttons .sort-button:hover {
    color: var(--gray-color-100);
}

.reviews .reviews-sort .sort-buttons .sort-button.selected {
    color: var(--gray-color-125);
}

.reviews .reviews-sort .sort-buttons .sort-button.selected:hover {
    color: var(--text-color);
}

.reviews .reviews-sort .sort-buttons .sort-button.selected.desc:after,
.reviews .reviews-sort .sort-buttons .sort-button.selected.asc:after {
	content: "";
	position: absolute;
	top: 50%;
	right: 0;
	background-image: var(--icon);
	background-repeat: no-repeat;
	background-size: 200px;
	width: 20px;
	height: 20px;
	display: block;
	opacity: .6;
	margin-top: -9px;
}

.reviews .reviews-sort .sort-buttons .sort-button.selected.asc:after {
	background-position: -60px 0;
}

.reviews .reviews-sort .sort-buttons .sort-button.selected.desc:after {
	background-position: -80px 0;  
}

.reviews .review {
	border-top: 1px solid var(--gray-color-60);
	padding-top: 25px;
	padding-bottom: 15px;
}

.reviews .review .schema-rating {
	display: none;
}

.reviews .review .review-header {
	margin-bottom: 22px;
}

.reviews .review .review-header .review-rating,
.reviews .review .review-header .review-source,
.reviews .review .review-header .review-author {
	display: inline-block;
	vertical-align: middle;
}

.reviews .review .review-header .review-rating {
	height: 16px;
	line-height: 16px;
	margin-top: 1px;
}

.reviews .review .review-header .review-rating .star {
	position: relative;
	width: 16px;
	height: 16px;
	display: inline-block;
}

.reviews .review .review-header .review-rating .star:after {
	content: "";
	position: absolute;
	top: 0;
	left: 0;
	background-image: var(--icon);
	background-repeat: no-repeat;
	background-size: 200px;
	background-position: -16px -60px;
	width: 16px;
	height: 16px;
	display: block;
}

.reviews .review .review-header .review-rating .star.filled:after {
	background-position: 0 -60px;
}

.reviews .review .review-header .review-source,
.reviews .review .review-header .review-author {
	color: var(--gray-color-110);
	font-size: 17px;
	font-weight: 400;
	line-height: 1;
}

.reviews .review .review-header a.review-source:hover {
	color: var(--link-color-hover);
}

.reviews .review .review-body {
	font-size: 100%;
    line-height: inherit;
    border-left: none;
    padding: 0;
	margin: 0;
}

.reviews .review .review-body p:last-child {
	margin-bottom: 0;
}

.reviews .review .review-vote {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    flex-direction: row;
	margin-top: 10px;
}

.reviews .review .review-vote .vote-button {
	position: relative;
	background-color: transparent;
	cursor: pointer;
	opacity: .75;
	font-family: inherit;
	color: var(--gray-color-120);
	font-size: 14px;
	font-weight: 600;
	border: none;
	padding: 10px 10px 10px 38px;
}

.reviews .review .review-vote .vote-button.icon-dislike {
	margin-left: 10px;
}

.reviews .review .review-vote .vote-button:after {
	content: "";
	position: absolute;
	top: 50%;
	left: 10px;
	background-image: var(--icon);
	background-repeat: no-repeat;
	background-size: 200px;
	width: 20px;
	height: 20px;
	display: block;
	opacity: .7;
	margin-top: -10px;
}

.reviews .review .review-vote .vote-button.icon-like:after {
	background-position: 0 -20px;
}

.reviews .review .review-vote .vote-button.icon-dislike:after {
	background-position: -20px -20px;  
}

.reviews .review .review-vote .vote-button:hover,
.reviews .review .review-vote .vote-button.voted {
	opacity: 1;
}

.reviews .load-more {
	margin: 10px auto 0;
}


/* Author Box */

.authors {
    margin-top: 60px;
}

.authors .author {
	border-bottom: 1px solid var(--gray-color-70);
	padding-bottom: 25px;
	margin: 0 0 25px;
}

.authors .author:last-child {
	border-bottom: none;
	padding-bottom: 0;
	margin: 0;
}

.authors .author-header {
    display: grid;
    grid-template-columns: 80px 1fr;
    grid-template-rows: auto auto;
    column-gap: 20px;
}

.authors .author-header.no-photo {
    grid-template-columns: 1fr;
}

.authors .author-header.no-photo .role,
.authors .author-header.no-photo .name {
    grid-column: 1;
}

.authors .author-header .author-photo {
	background-color: var(--gray-color-45);
    width: 80px;
    height: 80px;
    grid-column: 1;
    grid-row: 1 / 3;
    align-self: center;
	overflow: hidden;
	border-radius: var(--radius);
}

.authors .author-header .author-photo img {
    width: 80px;
    height: 80px;
	display: block;
	object-fit: cover;
}

.authors .author-header .role {
	display: block;
    grid-column: 2;
    grid-row: 1;
    align-self: end;
	line-height: 1.3;
    margin-bottom: 6px;
}

.authors .author-header .name {
    grid-column: 2;
    grid-row: 2;
    align-self: start;
    font-weight: 500;
	margin-bottom: 0;
}

.authors .author-body {
	margin-top: 20px;
}

.authors .author-body .author-socials {
	margin-top: 15px;
}

.authors .author-body .author-socials a {
	font-size: 14px;
	font-weight: 700;
	text-transform: uppercase;
	margin-right: 25px;
}


/* FAQ */

.qa {
	margin-top: 60px;
}

.qa .question {
	text-align: left;
	border-bottom: 1px solid var(--gray-color-70);
	padding-top: 24px;
	padding-bottom: 25px;
	margin: 0
}

.qa .question:first-of-type {
	padding-top: 0;
}

.qa .question:last-child {
    border-bottom: none;
	padding-bottom: 0;
}

.qa .question .name {
	position: relative;
	display: block;
	font-weight: 500;
	padding-right: 35px;
	margin-bottom: 0;
}

.qa .question .name button {
	background-color: transparent;
	width: 100%;
	cursor: pointer;
	font: inherit;
	text-align: left;
	border: none;
	padding: 0;
	margin: 0;
}

.qa .question:not(.show) .name button:hover {
	color: #d0021b;
}

.qa .question .name::after {
	content: "";
	position: absolute;
	top: 6px;
	right: 0;
	background-image: var(--icon);
    background-repeat: no-repeat;
    background-size: 200px;
	background-position: -60px 0;
	width: 20px;
	height: 20px;
	display: block;
	opacity: .6;
}

.qa .question.show .name:after {
	background-position: -80px 0;
}

.qa .question .answer {
	display: none;
	margin: 25px 0 0;
}

.qa .question.show .answer {
	display: block;
}


/* Citations */

.citations {
	margin-top: 60px;
}

.citations .citations-list {
	list-style: none;
    counter-reset: citations-counter;
    padding: 0;
    margin: 0;
}

.citations .citations-list li {
    margin-bottom: 10px;
}

.citations .citations-list li::before {
    counter-increment: citations-counter;
	content: counter(citations-counter) ". ";
}

.citations .citations-list li a::after {
	content: "\00A0\2197";
	display: inline-block;
}


/* Social */

.social {
	margin-top: 50px;
	margin-bottom: 50px;
}

.social .item {
	position: relative;
	background-color: #505053;
	width: 34px;
	height: 34px;
	display: inline-block;
	vertical-align: middle;
	cursor: pointer;
	border: none;
	border-radius: var(--radius);
	margin-right: 8px;
	margin-bottom: 8px;
}

.social .item:after {
	content: "";
	position: absolute;
	top: 7px;
	left: 7px;
	background-image: var(--icon);
    background-repeat: no-repeat;
    background-size: 200px;
	width: 20px;
	height: 20px;
	display: block;
}

.social .item.vk:after {
	background-position: 0 -40px;
}

.social .item.vk:hover {
	background-color: #4c75a3;
}

.social .item.fb:after {
	background-position: -20px -40px;
}

.social .item.fb:hover {
	background-color: #3b5998;
}

.social .item.x:after {
	background-position: -40px -40px;
}

.social .item.x:hover {
	background-color: #00abf1;
}

.social .item.telegram:after {
	background-position: -60px -40px;
}

.social .item.telegram:hover {
	background-color: #64a9dc;
}

.social .item.whatsapp:after {
	background-position: -80px -40px;
}

.social .item.whatsapp:hover {
	background-color: #65bc54;
}

.social .item.dzen:after {
	background-position: -100px -40px;
}

.social .item.dzen:hover {
	background-color: #111;
}


/* ПАГИНАЦИЯ */

.pagination {
    text-align: center;
    margin: 45px auto;
}

.pagination a,
.pagination span {
	background-color: var(--gray-color-45);
	width: 46px;
	height: 46px;
	display: inline-block;
	color: #000;
    font-size: 15px;
	font-weight: 500;
	line-height: 46px;
	border: none;
	outline: none;
	border-radius: var(--radius);
	margin: 4px;
}

.pagination a:hover {
	background-color: #f2f2f2;
}

.pagination .current {
	background-color: #d0021b;
    color: #fff;
}


/* POPUP */

.popup .popup-image {
	z-index: 1;
	position: fixed;
	top: 50%;
	left: 50%;
	width: auto;
	max-width: 95vw;
	max-height: 95vh;
	display: block;
	transform: translate(-50%, -50%);
}

.popup .popup-close {
	z-index: 2;
	position: absolute;
	top: 0;
	right: 0;
	background-color: var(--transparent-color-20);
	width: 44px;
	height: 44px;
	display: block;
	cursor: pointer;
	border: none;
	outline: none;
}

.popup .popup-close:after {
	content: "";
	position: absolute;
	top: 12px;
	left: 12px;
	background-image: var(--icon);
    background-repeat: no-repeat;
    background-size: 200px;
	background-position: -140px 0;
	width: 20px;
	height: 20px;
	display: block;
}

.popup .popup-prev,
.popup .popup-next {
	z-index: 2;
	position: absolute;
	top: calc(50% - 22px);
	background-color: var(--transparent-color-20);
	width: 44px;
	height: 44px;
	display: block;
	cursor: pointer;
	border: none;
	outline: none;
}

.popup .popup-prev {
	left: 0;
}

.popup .popup-next {
	right: 0;
}

.popup .popup-prev:after,
.popup .popup-next:after {
	content: "";
	position: absolute;
	top: 12px;
	left: 12px;
	background-image: var(--icon);
    background-repeat: no-repeat;
    background-size: 200px;
	width: 20px;
	height: 20px;
	display: block;
}

.popup .popup-prev:after {
	background-position: -160px 0;
}

.popup .popup-next:after {
	background-position: -180px 0;
}

.popup .popup-loader {
    position: fixed;
    top: 50%;
    left: 50%;
    transform: translate(-50%, -50%);
    width: 36px;
    height: 36px;
    border: 2px solid rgb(255 255 255 / 30%);
    border-top: 2px solid #fff;
    border-radius: 50%;
    animation: spin 1s linear infinite;
}

@keyframes spin {
    0% {
        transform: translate(-50%, -50%) rotate(0deg);
    }
    100% {
        transform: translate(-50%, -50%) rotate(360deg);
    }
}


/* ПОДВАЛ */

.footer {
	background-color: #1e1f20;
	width: 100%;
	flex: 0 0 auto;
	color: #919399;
	font-size: 15px;
    padding-top: 30px;
}

.footer li {
    display: inline-block;
}

.footer li a {
	color: #fff;
}

.footer li a:hover {
	opacity: .8;
}

.footer .top,
.footer .middle,
.footer .bottom {
    padding-top: 20px;
	padding-bottom: 20px;
}

.footer .top .menu li {
	margin-top: 10px;
	margin-bottom: 10px;
}

.footer .top .social {
	text-align: left;
	margin-top: 0;
	margin-bottom: 0;
}

.footer .top .social .item {
	margin: 0;
	margin-right: 10px;
}

.footer .middle {
	font-size: 14px;
}

.footer .bottom {
	text-align: center;
	border-top: 1px solid #242729;
	margin-top: 20px;
}


/* NOTICE */

.notice-container {
	z-index: 10003;
	position: fixed;
	right: 15px;
	bottom: 15px;
	max-width: 290px;
}

.notice-container .notice {
	position: relative;
	overflow: hidden;
	color: #fff;
	font-size: 16px;
	line-height: 1.3;
	text-align: left;
	border-radius: var(--radius);
	padding: 15px 20px;
	margin-bottom: 10px;
}

.notice-container .notice:last-child {
	margin-bottom: 0;
}

.notice-container .notice.info {
	background-color: #0050d8;
}

.notice-container .notice.warning {
	background-color: #fecc2f;
}

.notice-container .notice.success {
	background-color: #028357;
}

.notice-container .notice.error {
	background-color: #e51045;
}

.notice-container .notice output {
	z-index: 2;
	position: relative;
    display: block;
}

.notice-container .notice .notice-progress {
	z-index: 1;
    position: absolute;
    bottom: 0;
    left: 0;
	background-color: rgb(255 255 255 / 70%);
	width: 100%;
    height: 3px;
    transition: width 0.1s linear; 
}


/* COOKIES */

.cookies {
	z-index: 10000;
	position: fixed;
    left: 50%;
	right: auto;
	bottom: 10px;
	background-color: #424242;
    max-width: 320px;
	display: none;
	align-items: center;
	justify-content: space-between;
	color: #fff;
	line-height: 1.2;
	border: none;
	border-radius: var(--radius);
	box-shadow: 0 4px 24px var(--transparent-color-10);
	transform: translate(-50%,0);
    padding: 12px 8px 12px 16px;
}

.cookies.show {
	display: flex;
}

.cookies small {
	width: calc(100% - 46px);
	width: -moz-calc(100% - 46px);
	width: -webkit-calc(100% - 46px);
	display: inline-block;
	font-size: 13px;
}

.cookies button {
	background-color: #d0021b;
	width: 36px;
	height: 36px;
	cursor: pointer;
	font-family: inherit;
	color: #fff;
	font-size: 12px;
	text-transform: uppercase;
	text-align: center;
	outline: none;
	border: none;
	border-radius: var(--radius);
	margin-left: 10px;
}

.cookies button:hover {
	background-color: #d93449;
	color: #fff;
}


/* OVERLAY */

.overlay {
	z-index: 10001;
	position: fixed;
	top: 0;
	left: 0;
	right: 0;
	bottom: 0;
	background-color: rgb(0 0 0 / 80%);
	width: 100%;
	height: 100%;
}


/* АВТОЗАПОЛНЕНИЕ */

.autocomplete {
	position: absolute;
	left: 0;
	right: 0;
	top: calc(100% + 4px);
    background-color: #fff;
	height: auto;
	border-radius: var(--radius);
	padding: 6px;
}

.autocomplete li {
	display: block;
}

.autocomplete li.no-results,
.autocomplete li a {
	display: block;
	color: #000;
	font-size: 15px;
	line-height: 1.5;
	border-radius: var(--radius);
	padding: 5px 10px;
}

.autocomplete li a:hover {
	background-color: var(--gray-color-45);
}

.autocomplete li.focused a {
	background-color: #1e1f20;
	color: #fff;
}


/* UP */

.up {
	z-index: 9999;
	position: fixed;
	right: 5px;
	bottom: 100px;
	background-color: var(--gray-color-45);
	width: 44px;
	height: 44px;
	display: block;
	opacity: 0;
	cursor: pointer;
	border: none;
	border-radius: var(--radius);
	transition: opacity 0.4s;
}

.up.show {
	opacity: .5;
}

.up.show:hover {
	opacity: .9;
}

.up:active {
	-webkit-transform: scale(.85);
	-ms-transform: scale(.85);
	transform: scale(.85);
}

.up:after {
	content: "";
	position: absolute;
	top: 12px;
	left: 12px;
	background-image: var(--icon);
    background-repeat: no-repeat;
    background-size: 200px;
	background-position: -80px 0;
	width: 20px;
	height: 20px;
	display: block;
}


/* GAME STATUS */

.game-status {
	--status-color: var(--gray-color-90);
	background-color: var(--gray-color-20);
	width: 100%;
	overflow: hidden;
	color: var(--text-color);
	border: 1px solid var(--gray-color-45);
	border-radius: var(--radius);
	margin-bottom: 35px;
}

.status-head {
	display: grid;
	grid-template-columns: repeat(auto-fit, minmax(min(100%, 230px), 1fr));
	align-items: center;
	gap: 18px 30px;
	padding: 22px 24px;
}

.status-main {
	display: flex;
	align-items: center;
	gap: 14px;
}

.status-dot {
	background-color: var(--status-color);
	width: 12px;
	height: 12px;
	flex: 0 0 12px;
	border-radius: 50%;
	box-shadow: 0 0 0 5px color-mix(in srgb, var(--status-color) 14%, transparent);
}

.status-value {
	color: var(--heading-color);
	font-size: 20px;
	font-weight: 600;
	line-height: 1.3;
}

.status-meta {
	display: flex;
	flex-direction: column;
	align-items: flex-end;
	gap: 3px;
	color: var(--gray-color-100);
	font-size: 14px;
	line-height: 1.45;
	text-align: right;
}

.status-list {
	background-color: var(--gray-color-45);
	display: grid;
	grid-template-columns: repeat(auto-fit, minmax(min(100%, 260px), 1fr));
	gap: 1px;
	border-top: 1px solid var(--gray-color-45);
}

.status-group {
	background-color: var(--white-color);
	min-width: 0;
	padding: 20px 24px;
}

.status-row,
.status-subitem,
.status-incident {
	display: flex;
	align-items: baseline;
	justify-content: space-between;
	gap: 12px;
}

.status-row {
	margin-bottom: 20px;
}

.status-name {
	color: var(--heading-color);
	font-size: 17px;
	font-weight: 600;
	line-height: 1.4;
}

.status-state {
	width: 20px;
	height: 20px;
	display: inline-flex;
	flex: 0 0 20px;
	align-items: center;
	justify-content: center;
	color: var(--status-color);
	font-size: 18px;
	font-weight: 600;
	line-height: 1;
}

.status-sublist {
	display: grid;
	gap: 9px;
}

.status-subitem {
	--status-color: var(--gray-color-90);
	color: var(--gray-color-105);
	font-size: 16px;
	line-height: 1.4;
}

.status-state:before {
	content: "?";
}

.status-subitem[data-status="operational"] .status-state:before {
	content: "✓";
}

.status-subitem[data-status="degraded_performance"] .status-state:before,
.status-subitem[data-status="under_maintenance"] .status-state:before {
	content: "!";
}

.status-subitem[data-status="partial_outage"] .status-state:before,
.status-subitem[data-status="major_outage"] .status-state:before,
.status-subitem[data-status="error"] .status-state:before {
	content: "×";
}

.status-incidents {
	display: grid;
	gap: 10px;
	border-top: 1px solid var(--gray-color-45);
	padding: 18px 24px;
}

.status-incident {
	font-size: 15px;
	line-height: 1.45;
}

.status-error {
	color: var(--red-color-accent);
	padding: 20px 24px;
	margin: 0;
}

.game-status[data-status="operational"],
.game-status [data-status="operational"] {
	--status-color: var(--green-color-accent);
}

.game-status[data-status="degraded_performance"],
.game-status [data-status="degraded_performance"],
.game-status[data-status="under_maintenance"],
.game-status [data-status="under_maintenance"] {
	--status-color: var(--orange-color-accent);
}

.game-status[data-status="partial_outage"],
.game-status [data-status="partial_outage"],
.game-status[data-status="major_outage"],
.game-status [data-status="major_outage"],
.game-status[data-status="error"] {
	--status-color: var(--red-color-accent);
}


/* АДАПТИВ */

@media screen and (min-width: 1100px)  {
	
	body {
		font-size: 20px;
	}
	
	h1 {
		font-size: 50px;
	}

	h2 {
		font-size: 34px;
	}

	h3 {
		font-size: 28px;
	}
	
	h4 {
		font-size: 24px;
	}
	
	.container {
		position: relative;
		width: 100%;
		max-width: 1326px;
		min-width: 980px;
		padding-right: 20px;
		padding-left: 20px;
		margin-right: auto;
		margin-left: auto;
	}
	
	.header {
		margin-bottom: 30px;
	}
	
	.header .logotype {
		margin-right: auto;
	}
	
	.header .menu {
		position: absolute;
		left: 50%;
		width: auto;
		white-space: nowrap;
		transform: translateX(-50%);
	}

	.header .menu li {
		z-index: 1;
		position: relative;
		display: inline-block;
		vertical-align: middle;
		border-radius: 4px;
		padding: 4px 8px 6px;
	}
	
	.header .menu li a {
		font-size: 18px;
		padding: 2px 4px;
	}
	
	.header .menu li:hover,
	.header .menu li.dropdown:focus-within {
		z-index: 2;
		background-color: var(--gray-color-45);
	}
	
	.header .menu li.dropdown {
		border-radius: 4px 4px 0 0;
	}		
	
	.header .menu li.dropdown:after {
		content: "";
		background-image: var(--icon);
		background-repeat: no-repeat;
		background-size: 200px;
		background-position: -60px 0;
		width: 20px;
		height: 20px;
		display: inline-block;
		vertical-align: middle;
		margin-left: -4px;
	}
	
	.header .menu li a {
		display: inline-block;
	}
	
	.header .menu .sub-menu {
		position: absolute;
		top: 100%;
		left: 0;
		background-color: var(--gray-color-45);
		min-width: 320px;
		display: none;
		opacity: 0;
		transition: .5s linear;
		border-radius: 0 4px 4px 4px;
		padding: 10px 0;
	}
	
	.header .menu li.dropdown:hover > .sub-menu,
	.header .menu li.dropdown:focus-within > .sub-menu {
		display: block;
		opacity: 1;
	}
	
	.header .menu li .sub-menu li {
		display: block;
		border-radius: 0;
	}
	
	.header .menu li .sub-menu li:hover {
		background-color: var(--transparent-color-5);
	}
	
	.header .menu li .sub-menu li a {
		display: block;
	}
	
	.header .search {
		right: 15px;
		max-width: 300px;
	}
	
	.header .menu-toggle {
		display: none;
	}
	
	.title {
		text-align: left;
	}
	
	.article .layout {
		position: relative;
		padding-right: 240px;
	}
	
	.lead p {
		font-size: 22px;
	}
	
	.toc {
		z-index: 1001;
		position: absolute;
		top: 0;
		right: 0;
		bottom: 0;
		background-color: var(--white-color);
		width: 180px;
		font-size: 16px;
		margin-top: 14px;
	}
	
	.toc .toc-title {
		opacity: .3;
		margin-bottom: 26px;
		padding: 0 4px;
	}
	
	.toc .toc-title span {
		display: none;
	}
	
	.toc .toc-title:before {
		content: attr(data-title);
	}
	
	.toc .toc-list {
		position: -webkit-sticky;
		position: sticky;
		top: 15px;
		width: inherit;
		max-height: calc(100vh - 60px);
	}
	
	.toc .toc-list li {
		padding: 2px;
		margin-bottom: 10px;
	}
	
	.toc .toc-list li a {
		padding: 2px 4px;
	}
	
	.articles {
		margin-left: -12px;
		margin-right: -12px;
	}
	
	.articles .card {
		display: inline-block;
		margin: 0 12px 22px;
	}
	
	.articles .card.regular {
		width: calc(25% - 24px);
	}
	
	.articles .card.big {
		width: calc(33.3333% - 24px);
	}
	
	.articles .card-inner {
		padding: 4px;
	}
	
	.articles .card .card-image img,
	.articles .card .card-image.no-image {
		height: 373px;
	}
	
	.tabs .tablist .tabs-inner .tab {
		margin-right: 28px;
	}
	
	.tabs.article-tabs .tabpanel.active {
		padding: 30px;
	}
	
	.links-block {
		padding: 30px;
	}
	
	.reviews .review .review-header .review-rating,
	.reviews .review .review-header .review-source,
	.reviews .review .review-header .review-author {
		margin-right: 32px;
	}
	
	.reviews .review .review-vote {
		justify-content: end;
	}
	
	.authors {
		font-size: 20px;
	}
	
	.authors .author-header .role {
		font-size: 17px;
	}
	
	.authors .author-header .name {
		font-size: 23px;
	}
	
	.qa .question .name {
		font-size: 23px;
	}
	
	.footer .top {
		display: -webkit-box;
		display: -ms-flexbox;
		display: flex;
		justify-content: center;
		align-items: center;
	}
	
	.footer .top .menu li {
		margin-right: 30px;
	}
	
	.footer .top .menu {
		margin-right: auto;
	}

	.footer .top .social {
		margin-left: auto;
	}
	
}


@media screen and (min-width: 1200px) {
	
	.article .layout {
		padding-right: 270px;
	}
	
	.toc {
		width: 210px;
	}
	
}


@media screen and (min-width: 900px)  {

	.listing .item .item-main {
		display: -webkit-box;
		display: -ms-flexbox;
		display: flex;
		justify-content: center;
		padding: 28px 28px 36px;
	}
	
	.listing .item .has-badges .item-main {
		padding-top: 44px;
	}
	
	.listing .item .item-main .item-header {
		width: 220px;
		flex-shrink: 0;
		padding-top: 8px;
		padding-right: 20px;
		margin-right: 24px;
	}
	
	.listing .item .item-main .item-header h3 {
		font-size: 20px;
	}
	
	.listing .item .item-main .item-body {
		width: calc(100% - 468px);
		margin: 0 auto;
	}
	
	.listing .item .item-main .item-footer {
		width: 200px;
		flex-shrink: 0;
		text-align: left;
		padding-top: 14px;
		padding-left: 20px;
		margin-left: 24px;
	}
	
	.listing .item .item-accordion .item-accordion-header {
		padding-left: 28px;
		padding-right: 60px;
	}
	
	.listing .item .item-accordion .item-accordion-header:after {
		right: 24px;
	}
	
	.listing .item .item-accordion .item-accordion-content {
		padding-left: 28px;
		padding-right: 28px;
	}
	
}


@media screen and (max-width: 899px) {
	.home-hero {
		height: clamp(400px, 64vw, 580px);
	}

	.home-hero-inner {
		align-items: flex-start;
	}

	.home-hero-media img,
	.home-hero-media video {
		object-position: left center;
	}

	.home-hero-content {
		width: 340px;
		max-width: calc(100% - 40px);
		padding: 50px 0 0;
	}
	.home-hero-lead p {
		font-size: 19px;
	}
		
	.listing .item .item-main {
		padding: 28px 36px 32px;
	}
	
	.listing .item .has-badges .item-main {
		padding-top: 44px;
	}
	
	.listing .item .item-main .item-body,
	.listing .item .item-main .item-header {
		margin-bottom: 30px;
	}
	
	.listing .item .item-main .item-header h3 {
		font-size: 20px;
	}
	
	.listing .item .item-accordion .item-accordion-header {
		padding-left: 36px;
		padding-right: 68px;
	}
	
	.listing .item .item-accordion .item-accordion-header:after {
		right: 32px;
	}
	
	.listing .item .item-accordion .item-accordion-content {
		padding-left: 36px;
		padding-right: 36px;
	}
	
}


@media screen and (max-width: 1099px) {
	
	body {
		font-size: 19px;
	}
	
	h1 {
		font-size: 40px;
	}

	h2 {
		font-size: 26px;
	}

	h3 {
		font-size: 24px;
	}
	
	h4 {
		font-size: 22px;
	}
	
	.container {
		position: relative;
		width: 100%;
		max-width: 900px;
		padding-right: 20px;
		padding-left: 20px;
		margin: 0 auto;
	}

	.home-hero {
		height: clamp(580px, 74vw, 760px);
	}

	.home-hero-inner {
		align-items: flex-start;
		justify-content: center;
	}

	.home-hero-desktop {
		display: none !important;
	}

	.home-hero-mobile {
		display: block !important;
	}

	.home-hero-media img,
	.home-hero-media video {
		object-position: 52% bottom;
	}

	.home-hero-content {
		width: 640px;
		max-width: calc(100% - 40px);
		text-align: center;
		padding: 42px 0 0;
	}
	
	.header {
		margin-bottom: 15px;
	}
	
	.header .logotype {
		margin-right: auto;
	}
	
	.header .menu {
		z-index: 1000;
		position: fixed;
		top: 0;
		right: -100%;
		bottom: 0;
		background-color: #fff;
		width: 300px;
		overflow: scroll;
		overflow-x: hidden;
		overflow-y: auto;
		transition: all .5s;
		padding: 80px 0 40px;
	}

	.header .menu.show {
		right: 0;
		box-shadow: -10px 5px 18px 0 var(--transparent-color-5);
	}
	
	.header .menu::-webkit-scrollbar { 
		width: 0;
		height: 0; 
	}
	
	.header .menu li a {
		display: block;
		font-size: 24px;
		padding-top: 10px;
		padding-left: 30px;
		padding-right: 30px;
		padding-bottom: 10px;
	}
	
	.header .menu li.dropdown .sub-menu a {
		padding-left: 50px;
	}
		
	.header .menu li a:hover {
		background-color: var(--transparent-color-5);
	}
	
	.header .menu-toggle { 
		z-index: 1001;
		position: relative;
		background-color: var(--white-color);
		width: 44px;
		height: 44px;
		cursor: pointer;
		border: none;
		outline: none;
		border-radius: var(--radius);
		margin-left: 10px;
		margin-right: -13px;
	}
	
	.header .menu-toggle.close {
		background-color: var(--gray-color-45);
	}

	.header .menu-toggle:after {
		content: "";
		position: absolute;
		top: 12px;
		left: 12px;
		background-image: var(--icon);
		background-repeat: no-repeat;
		background-size: 200px;
		background-position: -20px 0;
		width: 20px;
		height: 20px;
		display: block;
	}
	
	.header .menu-toggle.close:after {
		background-position: -40px 0;
	}
	
	.header .search {
		right: 64px;
	}
	
	.toc {
		z-index: 999;
		position: -webkit-sticky;
		position: sticky;
		top: 0;
		background-color: var(--gray-color-45);
		font-size: 17px;
		border-radius: 0 0 var(--radius) var(--radius);
		padding: 12px 20px 13px;
		margin-left: -20px;
		margin-right: -20px;
		margin-bottom: 30px;
	}
	
	.toc.show {
		z-index: 10002;
		padding-bottom: 25px;
	}
	
	.toc .toc-title {
		position: relative;
		width: 100%;
		cursor: pointer;
		font-size: inherit;
		padding-right: 50px;
	}
	
	.toc .toc-title:after {
		content: "";
		position: absolute;
		top: 2px;
		right: 0;
		background-image: var(--icon);
		background-repeat: no-repeat;
		background-size: 200px;
		background-position: -60px 0;
		width: 20px;
		height: 20px;
		display: block;
		opacity: .8;
	}

	.toc.show .toc-title:after {
		background-position: -80px 0;
	}	
	
	.toc .toc-list {
		display: none;
	}
	
	.toc.show .toc-list {
		max-height: calc(100vh - 60px);
		display: block;
		margin-top: 25px;
	}
	
	.toc .toc-list li {
		margin-bottom: 16px;
	}
	
	.articles .card {
		width: 100%;
		display: block;
		margin: 0 0 40px;
	}
	
	.articles .card .card-image img {
		height: auto;
	}
	
	.articles .card .card-image.no-image {
		padding-top: 67%;
	}
	
	.text:has(.toc) .tabs.article-tabs .tablist {
		z-index: 998;
		top: 48px;
	}
	
	.tabs .tablist .tabs-inner .tab {
		margin-right: 22px;
	}
	
	.tabs.article-tabs .tabpanel.active {
		padding: 25px;
	}
	
	.links-block {
		padding: 25px;
	}
	
	.reviews .review .review-header .review-rating,
	.reviews .review .review-header .review-source,
	.reviews .review .review-header .review-author {
		margin-right: 26px;
	}
	
	.reviews .review .review-vote {
		justify-content: start;
	}
	
	.authors {
		font-size: 17px;
	}
	
	.authors .author-header .role {
		font-size: 16px;
	}
	
	.authors .author-header .name {
		font-size: 20px;
	}
	
	.qa .question .name {
		font-size: 20px;
	}
	
	.footer .top .menu li {
		margin-right: 25px;
	}
	
	.footer .top .social {
		margin-top: 25px;
	}
	
}


@media screen and (max-width: 640px) {
	.status-head {
		padding: 20px;
	}

	.status-meta {
		align-items: flex-start;
		text-align: left;
	}

	.status-group {
		padding: 18px 20px;
	}

	.status-incidents {
		padding: 18px 20px;
	}

}


@media screen and (max-width: 480px) {
	
	h1 {
		font-size: 36px;
	}

	.home-hero {
		height: min(150vw, 680px);
		margin-bottom: 45px;
	}

	.home-hero-content {
		width: 100%;
		max-width: none;
		text-align: center;
		padding: 28px 2px 0;
	}

	.home-hero-content h1 {
		margin-bottom: 20px;
	}

	.home-hero-lead p {
		font-size: 18px;
		line-height: 1.5;
	}
	
}


@media screen and (max-width: 420px) {
	
	h1 {
		font-size: 34px;
	}
	
	.text blockquote {
		padding-left: 20px;
	}
	
	.gallery {
        grid-template-columns: 1fr;
    }
	
	.listing .item .item-main {
		padding: 28px 22px 32px;
	}
	
	.listing .item .has-badges .item-main {
		padding-top: 44px;
	}
	
	.listing .item .item-accordion .item-accordion-header {
		padding-left: 24px;
		padding-right: 56px;
	}
	
	.listing .item .item-accordion .item-accordion-header:after {
		right: 20px;
	}
	
	.listing .item .item-accordion .item-accordion-content {
		padding-left: 24px;
		padding-right: 24px;
	}
	
}


@media screen and (max-width: 360px) {

	.home-hero-content h1 {
		font-size: 30px;
	}

	.home-hero-lead p {
		font-size: 16px;
		line-height: 1.45;
	}
	
	.authors .author-header .name {
		font-size: 19px;
	}
	
	.qa .question .name {
		font-size: 19px;
	}
	
}


@media screen and (max-width: 320px) {
	
	.cookies {
		width: 300px;
	}

}


@media 	only screen and (-webkit-min-device-pixel-ratio: 1.5),
only screen and (min--moz-device-pixel-ratio: 1.5),
only screen and (-o-min-device-pixel-ratio: 3/2),
only screen and (min-resolution: 1.5dppx),
only screen and (min-resolution: 144dpi) {
	
	.header .logotype:before {
		background-image: url(assets/images/logo@2x.png);
	}
	
	.header .menu li.dropdown:after {
		background-image: var(--icon2x);
	}
	
	.header .search-toggle:after {
		background-image: var(--icon2x);
	}
	
	.header .menu-toggle:after {
		background-image: var(--icon2x);
	}
	
	.toc .toc-title:after {
		background-image: var(--icon2x);
	}
	
	.articles .card .card-inner .card-image.no-image:after {
		background-image: var(--icon2x);
	}
	
	.media-info-button:after {
		background-image: var(--icon2x);
	}
	
	.links-block li:after {
		background-image: var(--icon2x);
	}
	
	.listing .item .item-accordion .item-accordion-header:after {
		background-image: var(--icon2x);
	}
	
	.reviews .reviews-sort .sort-buttons .sort-button.selected.desc:after,
	.reviews .reviews-sort .sort-buttons .sort-button.selected.asc:after {
		background-image: var(--icon2x);
	}
	
	.reviews .review .review-header .review-rating .star:after {
		background-image: var(--icon2x);
	}
	
	.reviews .review .review-vote .vote-button:after {
		background-image: var(--icon2x);
	}
	
	.qa .question .name:after {
		background-image: var(--icon2x);
	}
	
	.social .item:after {
		background-image: var(--icon2x);
	}
	
	.popup .popup-close:after {
		background-image: var(--icon2x);
	}

	.popup .popup-prev:after,
	.popup .popup-next:after {
		background-image: var(--icon2x);
	}
	
	.up:after {
		background-image: var(--icon2x);
	}
	
}
