﻿/*

Theme Name: Template
Author: ArturBoot

*/

/* @import url('assets/fonts/amiri/amiri.css'); */

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

:root {
	--icon: url(assets/images/icons/black.png);
	--icon2x: url(assets/images/icons/black@2x.png);
	
	--white-color: #fff;
	--black-color: #000;
	
	--primary-color-accent: #fa712b;
	--primary-color-hover: #e65d17;
	
	--secondary-color-accent: #35bc4a;
	--secondary-color-hover: #007f14;
	
	--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-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;

	--heading-color: #000;
	--text-color: #0c0c0c;
	--link-visited: #551a8b;
	--radius: 6px;
}

:root.dark {
	--icon: url(assets/images/icons/white.png);
	--icon2x: url(assets/images/icons/white@2x.png);
	
	--white-color: #1a1a1a;
	--black-color: #fff;

	--blue-color-accent: #0963c2;
	--blue-color-ghost: #1e2028;
	
	--orange-color-accent: #ca7531;
	--orange-color-ghost: #2a221d;
	
	--red-color-accent: #cd3131;
	--red-color-ghost: #2b1e1c;
	
	--green-color-accent: #218c4d;
	--green-color-ghost: #1d241f;
	
	/* Gray Color: */
	
    --gray-color-110: #d9d9d9;
	--gray-color-105: #cccccc;
    --gray-color-100: #bfbfbf;
	--gray-color-95: #b3b3b3;
	--gray-color-90: #a6a6a6;
	--gray-color-85: #999999;
	--gray-color-80: #8c8c8c;
	--gray-color-75: #808080;
	--gray-color-70: #737373;
	--gray-color-65: #666666;
    --gray-color-60: #595959;
	--gray-color-55: #4d4d4d;
	--gray-color-50: #404040;
	--gray-color-45: #333333;
    --gray-color-40: #2b2b2b;
	--gray-color-35: #262626;
    --gray-color-30: #242424;
	--gray-color-25: #212121;
    --gray-color-20: #1f1f1f;

	--heading-color: #e5e5e5;
	--text-color: #d8d8d8;
	--link-visited: #a565e2;
}

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;
}

audio,
canvas,
progress,
video {
	display: inline-block;
	vertical-align: baseline;
}

fieldset,
img {
    border: 0;
}

img {
    vertical-align: middle;
}

ol,
ul {
    list-style: none;
}

q {
    display: inline;
    font-style: italic;
}

button,
select {
	text-transform: none;
}

@font-face {
    font-family: 'Noto Sans';
    src: local('Noto Sans'), 
		 local('NotoSans'), 
		 url('assets/fonts/notosans/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/notosans/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/notosans/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/notosans/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;
}

h1,
h2,
h3,
h4,
h5,
h6 {
	position:relative;
	color: var(--heading-color);
    font-size: 100%;
	font-weight: 700;
	letter-spacing: -0.02em;
	margin-bottom: 35px;
}

h1 {
	margin-bottom: 25px;
}

h2 {
	font-size: 25px;
}

h3 {
	font-size: 22px;
}

mark {
	background-color: #ffeea4;
	border-radius: var(--radius);
    padding: 2px 4px;
}

strong {
	font-weight: 700;
}

a {
	background-color: transparent;
    color: var(--primary-color-accent);
	text-decoration: none;
	transition: color .3s, border-color .3s, background .3s;
}

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

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

.icon:before {
	content: "";
	background-image: var(--icon);
    background-repeat: no-repeat;
    background-size: 240px;
    width: 24px;
    height: 24px;
    display: block;
}


/* Buttons */

.button {
    background-color: transparent;
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    justify-content: center;
    align-items: center;
	cursor: pointer;
	color: var(--text-color);
	font-size: inherit;
	overflow: visible;
    border: none;
	user-select: none;
    transition: all .5s;
	padding: 0;
}

.button.center {
	margin-left: auto;
	margin-right: auto;
}

.button.fill,
.button.border {
	height: 44px;
	white-space: nowrap;
	font-family: inherit;
    font-size: 15px;
	line-height: 1.2;
	font-weight: 500;
    text-align: center;
    border: 1px solid;
	border-radius: var(--radius);
	padding-left: 8px;
	padding-right: 8px;
}

.button.fill {
    background-color: var(--gray-color-110);
	color: var(--white-color);
	border-color: var(--gray-color-110);
}

.button.fill:hover {
	background-color: var(--black-color);
}

.button.fill.neutral {
    background-color: var(--gray-color-35);
	color: var(--text-color);
	border-color: var(--gray-color-35);
}

.button.fill.neutral:hover {
    background-color: var(--gray-color-50);
}

.button.border {
	color: var(--text-color);
	border-color: var(--gray-color-85);
}

.button.border:hover {
	border-color: var(--gray-color-100);
}

.button.icon {
	width: 44px;
	height: 44px;
	border-radius: var(--radius);
}

.button.icon.txt {
	width: auto;
	padding-right: 12px;
}

.button.icon:before {
	flex-shrink: 0;
}

.dark .button.icon.fill:not(.neutral):before {
	filter: invert(1);
}

.light .button.icon.fill:not(.neutral):before {
	filter: brightness(0) invert(1);
}

.button.icon.txt:before {
	margin-right: 8px;
}

.button:disabled {
    opacity: 0.5;
	cursor: not-allowed;
}

.button.loading {
    cursor: wait;
    opacity: 0.7;
}

.learn-more {
	background-color: transparent;
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    align-items: center;
	cursor: pointer;
    color: var(--text-color);
	font-size: 17px;
    font-weight: 500;
    letter-spacing: -0.02em;
	border: none;
	padding: 0;
}

.learn-more:hover {
    color: var(--text-color);
}

.learn-more:after {
	content: "";
    background-image: var(--icon);
    background-repeat: no-repeat;
    background-size: 240px;
	background-position: -96px -48px; 
	width: 24px;
	height: 24px;
	display: inline-block;
	opacity: .9;
	flex-shrink: 0;
	transition: transform 0.3s ease;
	transform: translateY(1px);
	margin-left: 6px;
}

.learn-more:hover:after {
    transform: translate(5px, 1px);
}


/* Utilities */

.row {
	font-size: 0;
}

.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;
}

.hidden {
	display: none;
}


/* Main */

.main {
	flex: 1 0 auto;
	padding-bottom: 40px;
}

.content {
	flex: 1 0 auto;
}


/* HEADER */

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

.header .logotype {
	flex-shrink: 0;
	color: var(--text-color);
	font-weight: 700;
}

.header.search-hidden .search {
	display: none;
}

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

.header .search.active {
	z-index: 10002;
}

.header .search .input {
	padding-right: 60px;
}

.header.search-hidden .search .input {
	padding-right: 107px;
}

.header .search.active .input {
	border-color: #fff;
}

.header .search .input::-webkit-search-cancel-button {
    background-image: var(--icon);
    background-repeat: no-repeat;
    background-size: 240px;
	background-position: -24px 0; 
	width: 24px;
	height: 24px;
	cursor: pointer;
	-webkit-appearance: none;
	appearance: none;
}

.header .search .search-button,
.header .search .search-close {
	position: absolute;
	top: 3px;
	right: 3px;
}

.header.search-hidden .search .search-button {
	right: 50px;
}

.header .search.active .search-button,
.header .search .search-close {
	background-color: var(--gray-color-45);
}

.header .theme-button,
.header .search-button,
.header .navigation-button {
	flex-shrink: 0;
}

.header .theme-button:hover,
.header .search-button:hover,
.header .navigation-button:hover {
	background-color: var(--gray-color-45);
}

.header .navigation-button {
	z-index: 10001;
}

.light .header .theme-button:before {
	background-position: 0 -24px; 
}

.dark .header .theme-button:before {
	background-position: -24px -24px; 
}


/* MENU */

.menu {
	text-align: left;
	line-height: 1.3;
}

.menu ul li {
	position: relative;
	color: var(--text-color);
	font-weight: 500;
}

.menu ul li a {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    align-items: center;
	color: var(--text-color);
	border-radius: var(--radius);
	transition: background-color .3s;
	padding: 9px 13px 10px;
}

.menu ul li a.icon:before {
	flex-shrink: 0;
	margin-right: 13px;
}

.menu ul li a:hover {
	background-color: var(--gray-color-35);
	color: var(--text-color);
}


/* NAV */

.nav {
	text-align: left;
	margin-top: 5px;
}

.nav ul {
	white-space: nowrap;
	overflow-x: scroll;
	-webkit-overflow-scrolling: touch;
}

.nav ul::-webkit-scrollbar {
	width: 0;
	height: 0;
}

.nav ul li {
	display: inline-block;
	font-weight: 500;
}

.nav ul li a {
	color: var(--text-color);
}

.nav ul li.current a,
.nav ul li a:hover {
	color: var(--black-color);
}

.nav ul li.user-city a {
	font-weight: 600;
}


/* BREADCRUMBS */

.breadcrumbs {
	opacity: .5;
	font-size: 15px;
	margin-bottom: 10px;
}

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

.breadcrumbs li:after {
    content: "›";
    display: inline-block;
    margin: 0 5px;
}

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

.breadcrumbs li a {
	color: var(--text-color);
}

.breadcrumbs li a:hover {
	color: var(--primary-color-accent);
}


/* Tooltips */

.tooltip {
    position: relative;
    display: inline-block;
    vertical-align: middle;
    margin-left: 2px;
}

.tooltip .tooltip-trigger {
    background-color: var(--gray-color-45);
    display: flex;
    align-items: center;
    justify-content: center;
    width: 20px;
    height: 20px;
    user-select: none;
    cursor: pointer;
    color: var(--gray-color-110);
    font-size: 11px;
    font-weight: 600;
    font-family: inherit;
    line-height: 1;
    border: none;
    border-radius: 50%;
    transition: all 0.2s ease;
    padding: 0;
    margin: 0;
}

.tooltip .tooltip-trigger:hover,
.tooltip .tooltip-trigger[aria-expanded="true"] {
    background-color: var(--gray-color-80);
    color: var(--white-color);
}

.tooltip .tooltip-trigger:focus-visible {
    outline: 2px solid var(--gray-color-80);
    outline-offset: 2px;
}

.tooltip .tooltip-content {
    z-index: 10000;
	background-color: var(--gray-color-110);
    opacity: 0;
    visibility: hidden;
    pointer-events: none;
    color: var(--white-color);
    font-size: 15px;
    line-height: 1.5;
    font-weight: 400;
    text-align: left;
    white-space: normal;
    transition: opacity 0.2s ease, transform 0.2s ease, visibility 0.2s;
}

.tooltip .tooltip-content.is-visible {
    opacity: 1;
    visibility: visible;
    pointer-events: auto;
}


/* TITLE */

.title {
	opacity: .3;
	color: var(--text-color);
	display: block;
	font-size: 16px;
	font-weight: 400;
	text-align: left;
	margin-bottom: 30px;
}


/* COLUMNS */

.columns {
    display: -webkit-box;
    display: -ms-flexbox;
	display: flex;
	flex-wrap: wrap;
}

.columns .column {
	flex-shrink: 0;
}


/* THUMBNAIL */

.thumbnail {
	width: 100%;
	display: block;
	margin-bottom: 16px;
}

.thumbnail img,
.thumbnail.no {
	width: 100%;
	height: auto;
	display: block;
	border-radius: var(--radius);
}

.thumbnail.no {
	position: relative;
	background-color: var(--gray-color-45);
    padding-top: 66.71%;
}

.thumbnail.no:after {
    content: "";
    position: absolute;
	top: 50%;
    left: 50%;
	background-image: var(--icon);
    background-repeat: no-repeat;
    background-size: 240px;
	background-position: 0 -72px;
	width: 24px;
	height: 24px;
	display: block;
	opacity: .8;
	margin-top: -12px;
	margin-left: -12px;
}


/* ARTICLES */

.articles .card {
	position: relative;
	margin-bottom: 50px;
}

.articles .card .name {
	display: block;
	color: var(--text-color);
	font-weight: 700;
}

.articles .card .name:hover {
	color: var(--primary-color-accent);
}

.articles .card .favorite {
	z-index: 2;
	position: absolute;
	top: 10px;
	right: 10px;
	background-color: var(--white-color);
}

.articles .card .favorite:before {
	background-position: -168px -72px; 
}

.articles .card .favorite.favorited:before {
	background-position: 0 -48px; 
}


/* ARTICLE */

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

.article .introduction {
	line-height: 1.4;
	margin-bottom: 35px;
}


/* SITEMAP */

.sitemap a {
	color: var(--text-color);
	border-bottom: 1px solid var(--gray-color-55);
}

.sitemap a:hover {
	color: var(--primary-color-accent);
	border-color: var(--primary-color-accent);
}

.sitemap h2 { 
	margin-bottom: 15px; 
}

.sitemap li {
	display: block;
    margin-bottom: 10px;
}


/* TOC */

.toc .toc-toggle {
	background-color: var(--white-color);
	color: var(--text-color);
	display: block;
	font-family: inherit;
	font-size: 16px;
	font-weight: 400;
	text-align: left;
	border: none;
	padding: 0;
}

.toc .toc-list {
	text-align: left;
	-ms-overflow-style: none;
	scrollbar-width: none; 
}

.toc .toc-list::-webkit-scrollbar {
	width: 0;
	height: 0;
}

.toc .toc-list li {
	display: block;
}

.toc .toc-list .toc-link {
    display: block;
	line-height: 1.5;
}

.toc .toc-list .toc-item-level-3 {
	padding-left: 10px;
}


/* Text */

.text {
	text-align: left;
}

.text img {
	max-width: 100%;
	height: auto;
}

.text p {
    margin-bottom: 35px;
}

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

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

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

.text > ul li:before {
    content: "—";
    margin-right: 15px;
}

.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-weight: 600;
    margin-bottom: 15px;
}

.text table th {
	font-weight: 600;
	vertical-align: bottom;
}

.text table th,
.text table td {
    vertical-align: top;
    border: 1px solid var(--gray-color-60);
	padding: 15px 20px;
}

.text blockquote {
	font-size: 120%;
	line-height: 1.4;
	border-left: 2px solid var(--primary-color-accent);
	padding-left: 30px;
	margin-left: 0;
}

.text .video {
	position: relative;
	height: auto;
	overflow: hidden;
	border-radius: var(--radius);
	padding-bottom: 56.25%;
	margin-bottom: 35px;
}

.text .video iframe {
	position: absolute;
	top: 0;
	left: 0;
	width: 100%;
	height: 100%;
	border: none;
}

.text .player {
	border: 1px solid;
	border-radius: var(--radius);
	margin-bottom: 35px;
}

.light .text .player {
	border-color: rgb(0 0 0 / 10%);
}

.dark .text .player {
	border-color: rgb(255 255 255 / 10%);
}

.text .options {
	margin-bottom: 35px;
}

.text .arabic-text {
	margin-bottom: 35px;
}

.text .positive-text,
.text .negative-text,
.text .warning-text,
.text .info-text {
    margin-bottom: 35px;
}

.text .text-icon {
	position: relative;
    width: 24px;
    height: 24px;
	display: inline-block;
	vertical-align: middle;
}


/* Time */

.text time {
	font-weight: 500;
}


/* Truncate text */

.text-truncate {
    position: relative;
    overflow: hidden;
    transition: max-height 0.3s ease-in-out;
}

.text-truncate.is-truncated {
    max-height: 250px;
}

.text-truncate.is-truncated::after {
    content: '';
    position: absolute;
    bottom: 0;
    left: 0;
    right: 0;
    background: linear-gradient(to bottom, transparent, var(--white-color));
    height: 60px;
    pointer-events: none;
}

.text-truncate:not(.is-truncated) {
    max-height: 5000px;
}

.truncate-button {
	margin-top: 20px;
}


/* Arabic-text */

.arabic-text {
    font-family: 'Amiri';
    direction: rtl;
    unicode-bidi: embed;
}


/* COLOR TEXT */

.positive-text,
.negative-text,
.warning-text,
.info-text {
	color: #fff;
	text-align: left;
	line-height: 1.5;
}

.positive-text {
	background-color: var(--green-color-accent);
}

.negative-text {
	background-color: var(--red-color-accent);
}

.warning-text {
	background-color: var(--orange-color-accent);
}

.info-text {
	background-color: var(--blue-color-accent);
}


/* IMAGE */

.image {
	margin-top: 35px;
	margin-bottom: 35px;
}

.image img {
    max-width: 100%;
    height: auto;
	display: block;
	image-rendering: pixelated;
}

.dark .image img {
    opacity: .8;
}

.image .caption {
    display: block;
	opacity: .6;
	color: var(--text-color);
    font-size: 75%;
	margin-top: 5px;
}


/* GALLERY */

.gallery {
    margin-top: 35px;
	margin-left: -10px;
	margin-right: -10px;
    margin-bottom: 35px;
}

.gallery .gallery-item {
	display: inline-block;
	vertical-align: top;
	cursor: pointer;
	margin: 10px;
}

.gallery.even .gallery-item {
	width: calc(50% - 20px);
}

.gallery.odd .gallery-item {
	width: calc(33.3333% - 20px);
}

.gallery .gallery-item img {
    width: 100%;
    height: auto;
	display: block;
	image-rendering: pixelated;
	border-radius: var(--radius);
}


/* Options */

.options {
	width: 100%;
}

.options li {
	position: relative;
	width: 100%;
    display: flex;
	justify-content: space-between; 
    align-items: flex-end;
	line-height: 1.4;
	text-align: left;
	margin-top: 18px;
	margin-bottom: 18px;
}

.options li::after {
	content: "";
	z-index: -1;
    position: absolute;
    left: 0;
    right: 0;
    bottom: 0; 
    background-image: radial-gradient(circle, var(--gray-color-90) 1px, transparent 1.5px);
    background-size: 6px 4px; 
    background-repeat: repeat-x;
	width: 100%;
	height: 4px;
	margin-bottom: 6px;
}

.options .label .label-name {
    background-color: var(--white-color);
	box-decoration-break: clone;
	-webkit-box-decoration-break: clone;
	display: inline;
	padding-right: 8px;
}

.options .value {
	background-color: var(--white-color); 
	font-weight: 500;
	padding-left: 8px;
}

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

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


/* Advertising Block */

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

.dark .advertising .advertising-image {
    opacity: .85;
}

.advertising .advertising-label {
    display: block;
	color: var(--gray-color-110);
    font-size: 11px;
	margin-bottom: 4px;
}

.advertising .advertising-text {
    display: block;
	color: var(--gray-color-110);
    font-size: 15px;
	margin-top: 10px;
}

.advertising .advertising-text a {
	color: var(--gray-color-110);
    border-bottom: 1px solid var(--gray-color-40);
}

.advertising .advertising-text a:hover {
	color: var(--primary-color-hover);
    border-bottom: 1px solid var(--primary-color-hover);
}

.advertising .advertising-text a:visited {
    color: var(--gray-color-110);
}


/* SPOTLIGHT CONTENT */

.spotlight {
	position: relative;
	background-color: var(--gray-color-40);
	overflow: hidden;
	color: var(--text-color);
	border-radius: var(--radius);
	margin-bottom: 35px;
}

.spotlight.light-blue {
	background-color: var(--blue-color-ghost);
}

.spotlight.light-orange {	
	background-color: var(--orange-color-ghost);
}

.spotlight.light-red {	
	background-color: var(--red-color-ghost);
}

.spotlight.light-green {	
	background-color: var(--green-color-ghost);
}

.spotlight .spotlight-inner {
	z-index: 2;
	position: relative;
}

.spotlight .spotlight-inner .learn-more {
	margin-top: 35px;
}

.spotlight .spotlight-image {
	z-index: 1;
	position: relative;
	left: 0;
	right: 0;
	bottom: 0;
}

.spotlight .spotlight-image img {
	width: 100%;
	height: auto;
	display: block;
}


/* RELATED ARTICLE */

.related-article {
	position: relative;
	background-color: var(--gray-color-35);
	width: 100%;
	display: flex;
	overflow: hidden;
	border-radius: var(--radius);
	margin-bottom: 35px;
}

.related-article .related-article-image {
	flex-shrink: 1;
    width: 100%;
    height: auto;
	overflow: hidden; 
}

.related-article .related-article-image img {
    width: 100%;
    height: 100%;
	display: block;
	object-fit: cover;
}

.related-article .related-article-content {
	flex-basis: 0;
    flex-shrink: 0;
    flex-grow: 1;
}

.related-article .related-article-content .headline {
	display: block;
    color: var(--heading-color);
    font-weight: 700;
	line-height: 1.3;
    letter-spacing: -0.02em;
    margin-bottom: 18px;
}

.related-article .related-article-content .paragraph {
	display: block;
    color: var(--text-color);
    font-size: 17px;
}

.related-article .related-article-content .learn-more {
	margin-top: 22px;
}


/* SHARE */

.share {
	font-size: 17px;
	margin-bottom: 35px;
	padding-left: 0;
}

.share:before {
	display: inline-block;
	margin-right: 10px;
}

.share:hover {
	color: var(--primary-color-accent);
}


/* Rating */

.rating {
    display: flex;
	flex-wrap: wrap;
    align-items: center;
    gap: 8px;
	margin-bottom: 50px;
}

.rating .rating-title {
	flex: 0 0 100%;
    display: block;
    font-size: 16px;
    margin-bottom: 8px;
}

.rating .rating-stars {
    display: flex;
    gap: 6px; 
}

.rating .rating-star {
    background-color: transparent;
	background-image: var(--icon);
    background-repeat: no-repeat;
    background-size: 240px;
	background-position: -24px -168px; 
    width: 24px;
    height: 24px;
	cursor: pointer;
    appearance: none;
    -webkit-appearance: none;
    border: none;
    transition: transform 0.1s ease;
    padding: 0;
    margin: 0;
}

.rating-star.is-active,
.rating:not(.is-voted) .rating-star.is-hover {
    background-position: 0 -168px;
}

.rating.is-voted .rating-star,
.rating.is-sending .rating-star {
    cursor: default;
    pointer-events: none;
}

.rating-meta {
    font-size: 14px;
    line-height: 1;
}

.rating-star:active {
    transform: scale(0.9);
}


/* FAQ */

.qa {
	text-align: left;
	margin-bottom: 50px;
}

.qa .item {
	border-bottom: 1px solid var(--gray-color-55);
	padding-top: 22px;
	padding-bottom: 22px;
	margin: 0;
}

.qa .item:last-child {
	border-bottom: none;
}

.qa .item .question {
	display: block;
}

.qa .item .question button {
	position: relative;
	background-color: transparent;
	width: 100%;
	display: block;
	cursor: pointer;
	font-family: inherit;
	color: var(--text-color);
	font-size: inherit;
	font-weight: 500;
	line-height: 1.5;
	text-align: left;
	border: none;
	padding: 0 40px 0 0;
}

.qa .item.active .question button {
	font-weight: 600;
}

.qa .item .question button:after {
    content: "";
    position: absolute;
	top: 4px;
    right: 0;
	background-image: var(--icon);
    background-repeat: no-repeat;
    background-size: 240px;
	background-position: -192px -96px; 
	width: 24px;
	height: 24px;
	display: block;
	opacity: .8;
    transition: transform 0.3s ease, opacity 0.3s ease;
}

.qa .item.active .question button:after {
	transform: rotate(180deg);
}

.qa .item .question button:hover:after {
	opacity: 1;
}

.qa .item .answer {
	display: none;
	overflow: hidden;
	margin: 0;
}

.qa .item.active .answer {
	margin-top: 30px;
}


/* Team */

.person {
	border-bottom: 1px solid var(--gray-color-55);
	padding-top: 26px;
	padding-bottom: 26px;
	margin: 0;
}

.person:last-child {
	border-bottom: none;
}

.person .person-header {
    display: flex;
    align-items: center;
    gap: 20px;
    margin-bottom: 20px;
}

.author-info .author-header .person-photo {
    flex-shrink: 0;
}

.person .person-header img {
    width: 104px;
    height: 104px;
	flex-shrink: 0;
	border-radius: var(--radius);
}

.person .person-header .person-info {
    min-width: 136px;
    flex: 1;
}

.person .person-header .person-info .person-name {
    font-size: 20px;
	line-height: 1.3;
    margin-bottom: 8px;
}

.person .person-header .person-info .person-title {
	color: var(--gray-color-110);
	font-size: 17px;
    margin: 0;
}

.person .person-body .person-socials {
	margin-top: 20px;
}

.person .person-body .person-socials a {
	display: inline-block;
	color: var(--text-color);
	font-size: 17px;
	border-bottom: 1px solid var(--gray-color-75);
	margin-right: 15px;
	margin-bottom: 5px;
}

.person .person-body .person-socials a:hover {
	color: var(--primary-color-accent);
	border-color: var(--primary-color-accent);
}


/* Tabs */

.tablist {
	margin-top: 35px;
	margin-bottom: 35px;
}

.tablist.border {
	border: 1px solid var(--gray-color-55);
	border-radius: var(--radius);
}

.tablist .tabs {
	position: relative;
	margin-bottom: 35px;
}

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

.light .tablist .tabs:after {
	border-color: rgb(0 0 0 / 10%);
}

.dark .tablist .tabs:after {
	border-color: rgb(255 255 255 / 10%);
}

.tablist .tabs .tabs-inner {
	overflow-x: scroll;
	white-space: nowrap;
	-webkit-overflow-scrolling: touch;
}

.tablist .tabs .tabs-inner::-webkit-scrollbar {
	width: 0;
	height: 0;
}

.tablist .tabs .tabs-inner .tab {
	z-index: 2;
	position: relative;
	background-color: transparent;
    display: inline-block;
	opacity: .8;
    cursor: pointer;
	font-family: inherit;
    color: var(--text-color);
	font-weight: 500;
	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;
}

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

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

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

.tablist .tabpanel {
	display: none;
}

.tablist .tabpanel.active {
    display: block;
}


/* SORT */

.sort {
	overflow-x: scroll;
	white-space: nowrap;
	-webkit-overflow-scrolling: touch;
	padding-top: 1px;
	padding-bottom: 1px;
	margin-bottom: 35px;
}

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

.sort .button {
	display: inline-block;
}

.sort .button:focus {
	border-color: var(--black-color);
	outline: none;
}

.sort .button:not(.active) {
	border-color: transparent;
}

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


/* Pagination */

.pagination {
    text-align: center;
    margin-top: 60px;
}

.pagination a,
.pagination span {
	width: 44px;
	height: 44px;
	display: inline-block;
	color: var(--text-color);
    font-size: 15px;
	font-weight: 700;
	line-height: 44px;
	border: none;
	outline: none;
	border-radius: var(--radius);
}

.pagination a:hover {
	background-color: var(--gray-color-45);
	color: var(--text-color);
}

.pagination .current {
	background-color: var(--primary-color-accent);
    color: #fff;
}


/* MODAL */

.modal {
	z-index: 10002;
	position: fixed;
	top: 0;
	right: -100%;
	bottom: 0;
	background-color: rgb(0 0 0 / 80%);
	width: 100%;
	height: 100%;
	visibility: hidden;
    overflow: hidden;
	opacity: 0;
    outline: none;
	transition: opacity 0.2s;
}

.modal.show {
	right: 0;
	visibility: visible;
	opacity: 1;
}

.modal .modal-close {
	z-index: 2;
	position: absolute;
	background-color: var(--gray-color-40);
}

.modal.show .modal-close {
	position: fixed;
}

.modal .side {
	z-index: 1;
	position: absolute;
	top: 0;
	right: 0;
	bottom: 0;
	background-color: var(--white-color);
	height: 100%;
	min-height: 100%;
	overflow: scroll;
	overflow-x: hidden;
	overflow-y: auto;
	-webkit-overflow-scrolling: touch;
	text-align: left;
	padding-top: 70px;
	padding-bottom: 20px;
}

.modal .side::-webkit-scrollbar { 
	width: 0;
	height: 0; 
}

.modal .side ul li {
	display: block;
	font-size: 18px;
	font-weight: 400;
	margin-top: 25px;
}

.modal .side ul li a {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    align-items: center;
	color: var(--text-color);
    transition: color .5s;
}

.modal .side ul li a:hover {
	color: var(--primary-color-accent);
}

.modal .side ul li a.icon:before {
	flex-shrink: 0;
	margin-right: 13px;
}


/* COPY LINK */

.copy-link {
	background-color: var(--white-color);
    width: 100%;
	display: -webkit-box;
	display: -ms-flexbox;
	display: flex;
	justify-content: center;
	align-items: center;
    border: 1px solid;
    outline: none;
    border-radius: var(--radius);
    padding: 5px 5px 6px 0;
	margin-top: 70px;
}

.light .copy-link {
    border-color: rgb(0 0 0 / 70%);
}

.dark .copy-link {
    border-color: rgb(255 255 255 / 70%);
}

.copy-link .link {
	background-color: transparent;
	width: 100%;
	height: 44px;
	display: block;
	overflow: hidden;
	opacity: .85;
	white-space: nowrap;
    color: var(--text-color);
    font-size: 16px;
    font-weight: 400;
    line-height: 44px;
	border: none;
	outline: none;
	padding-left: 15px;
	margin-right: 5px;
}

.copy-link .button {
	flex-shrink: 0;
	margin-left: auto;
}


/* FORM */

.form {
	text-align: left;
}

.form .fieldset {
	margin-bottom: 35px;
}

.form .legend {
	display: block;
    font-size: 22px;
	font-weight: 500;
	border: 0;
	padding: 0;
	margin-bottom: 30px;
}

.form .label {
	display: block;
	opacity: .9;
    font-size: 16px;
	font-weight: 400;
	margin-bottom: 7px;
}

.form .radio,
.form .checkbox {
	display: block;
	cursor: pointer;
	font-family: inherit;
	margin-bottom: 20px;
}

.form .radio input,
.form .checkbox input {
	z-index: 1;
	position: absolute;
	width: 1px;
	height: 1px;
	opacity: 0;
}

.form .radio .name,
.form .checkbox .name {
	position: relative;
	display: block;
	user-select: none;
	font-size: 17px;
	color: var(--text-color);
	line-height: 1.4;
	padding-left: 32px;
}

.form .radio .name:before,
.form .checkbox .name:before {
	z-index: 2;
    content: "";
	position: absolute;
	top: 3px;
	left: 0;
    width: 21px;
    height: 21px;
	display: block;
	border: 6px solid var(--gray-color-80);
	transition: border-color 0.3s, opacity 0.3s, box-shadow 0.2s;
}

.form .radio .name:before {
	border-radius: 50%;
}

.form .checkbox .name:before {
	border-radius: var(--radius);
}

.form .radio:hover input:not(:checked):not(:disabled) + .name:before,
.form .checkbox:hover input:not(:checked):not(:disabled) + .name:before {
	border-color: var(--black-color);
	opacity: .5;
}

.form .radio input:focus + .name:before,
.form .checkbox input:focus + .name:before {
	box-shadow: 0 0 2px 0 var(--primary-color-accent);
}

.form .radio input:checked + .name:before {
	opacity: 1;
	border-color: var(--primary-color-accent);
}

.form .checkbox input:checked + .name:before {
	background-color: var(--primary-color-accent);
	opacity: 1;
	border-color: var(--primary-color-accent);
}

.form .checkbox input:checked + .name:after {
	z-index: 3;
	content: "";
	position: absolute;
    left: 8px;
    top: 7px;
    width: 5px;
    height: 9px;
    border: 2px solid #fff;
    border-top: 0;
    border-left: 0;
    transform: rotate(40deg);
}

.form .radio input:disabled + .name,
.form .checkbox input:disabled + .name {
    cursor: not-allowed;
	opacity: 0.5;
}

.form .input,
.form .select,
.form .textarea {
    background-color: var(--white-color);
    width: 100%;
	display: block;
	font-family: inherit;
	color: var(--text-color);
	font-size: 17px;
	font-weight: 400;
	line-height: 1.4;
    border: 1px solid var(--gray-color-100);
	outline: none;
	border-radius: var(--radius);
	padding: 12px 16px;
}

.form .input.error,
.form .select.error,
.form .textarea.error {
    border-color: var(--red-color-accent);
	box-shadow: 0 0 0 4px var(--red-color-ghost);
}

.form .textarea {
	overflow: hidden;
	resize: vertical;  
}

.form .input:focus,
.form .textarea:focus {
	border-color: var(--black-color);
	box-shadow: 0 0 0 4px var(--gray-color-30);
}

.form .input::placeholder,
.form .textarea::placeholder {
    opacity: 1;
    transition: opacity 0.3s ease;
}

.form :focus::placeholder {
    opacity: 0;
}

.form .field-help {
	color: var(--gray-color-90);
    font-size: 12px;
    margin-top: 5px;
    margin-bottom: 20px;
}

.form .count {
	display: block;
	opacity: .6;
	color: var(--text-color);
	font-size: 14px;
	text-align: right;
	margin-top: 5px;
}

.form-help {
    display: block;
    color: var(--gray-color-110);
    font-size: 16px;
    line-height: 1.5;
	text-align: left;
    margin-top: 0;
    margin-bottom: 35px;
}


/* Layout Form */

.form .form-row {
    display: flex;
    gap: 18px;
}

.form .form-group {
    flex: 1;
    display: flex;
    flex-direction: column;
}

.form-help-action {
    margin-bottom: 25px;
}

.form .form-actions {
    display: flex;
    flex-direction: column;
    gap: 12px;
    margin-top: 24px;
}

.form .form-actions .button {
    width: 100%;
    justify-content: center;
}


/* Notice */

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

.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: var(--blue-color-accent);
}

.notice-container .notice.warning {
	background-color: var(--orange-color-accent);
}

.notice-container .notice.success {
	background-color: var(--green-color-accent);
}

.notice-container .notice.error {
	background-color: var(--red-color-accent);
}

.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; 
}


/* FOOTER */

.footer {
    background-color: var(--gray-color-35);
	width: 100%;
	flex: 0 0 auto;
	font-size: 16px;
}

.footer a {
	color: var(--text-color);
	font-size: 16px;
}

.footer a:hover {
	color: var(--primary-color-accent);
}

.footer .footer-top {
	border-bottom: 1px solid var(--gray-color-45);
	padding-top: 35px;
	padding-bottom: 20px;
}

.footer .footer-top .navigation li {
	display: inline-block;
	font-weight: 500;
	margin-bottom: 10px;
}

.footer .footer-bottom {
	padding-top: 50px;
	padding-bottom: 35px;
}

.footer .footer-bottom .copyright {
	display: block;
	font-size: 16px;
}

.footer .footer-bottom .theme {
	position: relative;
	width: -moz-max-content;
	width: max-content; 
}

.footer .footer-bottom .language {
	position: relative;
	width: -moz-max-content;
	width: max-content; 
}

.footer .footer-bottom .language ul {
	z-index: 10;
	position: absolute;
	bottom: 100%;
	background-color: var(--white-color);
	display: none;
	border-radius: var(--radius);
	border: 1px solid;
	padding: 6px 0;
}

.light .footer .footer-bottom .language ul {
	border-color: rgb(0 0 0 / 20%);
}

.dark .footer .footer-bottom .language ul {
	border-color: rgb(255 255 255 / 20%);
}

.footer .footer-bottom .language ul.show {
	display: block;
}

.footer .footer-bottom .language ul li {
	display: block;
}

.footer .footer-bottom .language ul li a {
	display: block;
	font-size: 17px;
	line-height: 1.4;
	padding: 6px 12px;
}


/* COOKIES */

.cookies {
	z-index: 10000;
	position: fixed;
	left: auto;
    right: 10px;
	bottom: 10px;
	background-color: var(--gray-color-45);
    width: 300px;
	display: block;
	line-height: 1.4;
	border: none;
	border-radius: var(--radius);
    padding: 25px;
}

.cookies small {
	display: block;
	color: var(--text-color);
	font-size: 15px;
	margin-bottom: 15px;
}

.cookies .button {
	font-size: 12px;
}


/* AUTOCOMPLETE */

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

.autocomplete li {
	display: block;
}

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

.autocomplete li a span {
	opacity: .3;
	font-weight: 400;
}

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

.autocomplete li.focused a {
	background-color: var(--primary-color-accent);
	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%;
}


/* 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: rgb(0 0 0 / 20%);
	cursor: pointer;
}

.light .popup .popup-close:before {
	filter: invert(1);
}

.popup .popup-prev,
.popup .popup-next {
	z-index: 2;
	position: absolute;
	top: calc(50% - 22px);
	background-color: rgb(0 0 0 / 20%);
	cursor: pointer;
}

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

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

.light .popup .popup-prev:before,
.light .popup .popup-next:before {
	filter: invert(1);
}


/* PLAYER */

.player {
	background-color: var(--white-color);
	width: 100%;
	overflow: hidden;
	-moz-user-select: none;
	-ms-user-select: none;
	user-select: none;
}

.player.fixed {
	z-index: 9999;
	position: fixed;
	left: 0;
	right: 0;
	bottom: 0;
	padding-top: 8px;
	padding-bottom: 16px;
}

.player .timeline {
	position: relative;
	width: 100%;
	display: -webkit-box;
	display: -ms-flexbox;
	display: flex;
	justify-content: center;
	align-items: center;
}

.player .timeline .progress {
	background-color: var(--gray-color-45);
	width: 100%;
	cursor: pointer;
	border-radius: var(--radius);
	transition: 0.25s;
	margin: 0 auto;
}

.player .timeline .progress span {
	background-color: var(--primary-color-accent);
	width: 0%;
	height: 6px;
	display: block;
	transition: 0.25s;
	border-radius: var(--radius);
}

.player .timeline .current,
.player .timeline .length {
	color: var(--text-color);
	font-size: 16px;
	line-height: 16px;
}

.player .timeline .current {
	margin-right: 15px;
}

.player .timeline .length {
	margin-left: 15px;
}

.player .controls {
	width: 100%;
	display: -webkit-box;
	display: -ms-flexbox;
	display: flex;
	justify-content: center;
	align-items: center;
	margin-top: 8px;
}

.player .controls .play,
.player .controls .pause {
	background-color: var(--primary-color-accent);
	flex-shrink: 0;
	border-radius: 50%;
	margin-right: 20px;
}

.player .controls .play:before,
.player .controls .pause:before {
	filter: brightness(0) invert(1);
}

.player .controls .name {
	z-index: 1;
	position: relative;
	width: calc(100% - 128px);
	font-size: 17px;
	text-align: center;
	margin-left: auto;
	margin-right: auto;
}

.player .controls .name .author {
	opacity: .5;
	font-size: 14px;
}

.player .controls .volume {
	z-index: 2;
	position: relative;
	margin-left: 20px;
}

.player .controls .volume .mute,
.player .controls .volume .unmute {
	background-color: var(--gray-color-45);
	flex-shrink: 0;
	border-radius: 50%;
}

.player .controls .volume .volume-slider {
	position: absolute;
	top: 50%;
	left: -5px;
	background-color: var(--gray-color-45);
	width: 0;
	height: 16px;
	overflow: hidden;
	cursor: pointer;
	border-radius: var(--radius);
	transition: 0.25s;
	margin-top: -8px;
}

.player .controls .volume:hover .volume-slider {
	left: -125px;
	width: 120px;
}

.player .controls .volume .volume-slider .percentage {
	background-color: var(--primary-color-accent);
	width: 75%;
	height: 100%;	
}


/* UP */

.up {
	z-index: 9999;
	position: fixed;
	background-color: var(--white-color);
	right: 5px;
	opacity: 0;
	border: 1px solid var(--gray-color-65);
	transition: opacity 0.4s;
}

.up.show {
	opacity: 1;
}

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


/* ICONS */

.icon.icon-search:before {
	background-position: 0 0; 
}

.icon.icon-close:before {
	background-position: -24px 0; 
}

.icon.icon-navigation:before {
	background-position: -48px 0; 
}

.icon.icon-lightning:before {
	background-position: -72px 0; 
}

.icon.icon-notification:before {
	background-position: -96px 0; 
}

.icon.icon-notification-off:before {
	background-position: -120px 0; 
}

.icon.icon-lock:before {
	background-position: -144px 0; 
}

.icon.icon-menu:before {
	background-position: -168px 0; 
}

.icon.icon-location-pin:before {
	background-position: -192px 0; 
}

.icon.icon-printer:before {
	background-position: -216px 0; 
}

.icon.icon-sun:before {
	background-position: 0 -24px; 
}

.icon.icon-moon:before {
	background-position: -24px -24px; 
}

.icon.icon-like:before {
	background-position: -48px -24px; 
}

.icon.icon-dislike:before {
	background-position: -72px -24px; 
}

.icon.icon-options:before {
	background-position: -96px -24px; 
}

.icon.icon-settings:before {
	background-position: -120px -24px; 
}

.icon.icon-location:before {
	background-position: -144px -24px; 
}

.icon.icon-send:before {
	background-position: -168px -24px; 
}

.icon.icon-profile:before {
	background-position: -192px -24px; 
}

.icon.icon-star:before {
	background-position: -216px -24px; 
}

.icon.icon-trash:before {
	background-position: 0 -48px; 
}

.icon.icon-apps:before {
	background-position: -24px -48px; 
}

.icon.icon-arrow-left:before {
	background-position: -48px -48px; 
}

.icon.icon-arrow-up:before {
	background-position: -72px -48px; 
}

.icon.icon-arrow-right:before {
	background-position: -96px -48px; 
}

.icon.icon-arrow-down:before {
	background-position: -120px -48px; 
}

.icon.icon-upload:before {
	background-position: -144px -48px; 
}

.icon.icon-restart:before {
	background-position: -168px -48px; 
}

.icon.icon-sorting:before {
	background-position: -192px -48px; 
}

.icon.icon-share:before {
	background-position: -216px -48px; 
}

.icon.icon-unavailable:before {
	background-position: 0 -72px; 
}

.icon.icon-attention:before {
	background-position: -24px -72px; 
}

.icon.icon-check-circle:before {
	background-position: -48px -72px; 
}

.icon.icon-close-circle:before {
	background-position: -72px -72px; 
}

.icon.icon-clock:before {
	background-position: -96px -72px; 
}

.icon.icon-discover:before {
	background-position: -120px -72px;
}

.icon.icon-comment:before {
	background-position: -144px -72px; 
}

.icon.icon-favorite:before {
	background-position: -168px -72px; 
}

.icon.icon-heart:before {
	background-position: -192px -72px; 
}

.icon.icon-eye:before {
	background-position: -216px -72px; 
}

.icon.icon-calendar:before {
	background-position: 0 -96px; 
}

.icon.icon-copy:before {
	background-position: -24px -96px;
}

.icon.icon-email:before {
	background-position: -48px -96px; 
}

.icon.icon-funnel:before {
	background-position: -72px -96px; 
}

.icon.icon-gift:before {
	background-position: -96px -96px; 
}

.icon.icon-home:before {
	background-position: -120px -96px;
}

.icon.icon-news:before {
	background-position: -144px -96px; 
}

.icon.icon-check:before {
	background-position: -168px -96px; 
}

.icon.icon-down:before {
	background-position: -192px -96px; 
}

.icon.icon-up:before {
	background-position: -216px -96px;
}

.icon.icon-play-circle:before {
	background-position: 0 -120px; 
}

.icon.icon-player-play:before {
	background-position: -24px -120px;
}

.icon.icon-player-previous:before {
	background-position: -48px -120px;
}

.icon.icon-player-next:before {
	background-position: -72px -120px;
}

.icon.icon-player-pause:before {
	background-position: -96px -120px; 
}

.icon.icon-player-unmute:before {
	background-position: -120px -120px;
}

.icon.icon-player-mute:before {
	background-position: -144px -120px;
}

.icon.icon-playlist:before {
	background-position: -168px -120px; 
}

.icon.icon-music-album:before {
	background-position: -192px -120px; 
}

.icon.icon-music-artist:before {
	background-position: -216px -120px;
}

.icon.icon-synchronize:before {
	background-position: 0 -144px; 
}

.icon.icon-compare:before {
	background-position: -24px -144px;
}

.icon.icon-calculator:before {
	background-position: -48px -144px;
}

.icon.icon-plus:before {
	background-position: -72px -144px;
}

.icon.icon-minus:before {
	background-position: -96px -144px; 
}

.icon.icon-percent:before {
	background-position: -120px -144px;
}

.icon.icon-trend-down:before {
	background-position: -144px -144px;
}

.icon.icon-trend-up:before {
	background-position: -168px -144px; 
}

.icon.icon-mouse:before {
	background-position: -192px -144px; 
}

.icon.icon-infinity:before {
	background-position: -216px -144px;
}

.icon.icon-fasting:before {
	background-position: -48px -168px;
}

.icon.icon-iftar:before {
	background-position: -72px -168px;
}


/* Margin bottom */

.mb-20 {
	margin-bottom: 20px;
}

.mb-25 {
	margin-bottom: 25px;
}

.mb-30 {
	margin-bottom: 30px;
}

.mb-35 {
	margin-bottom: 35px;
}

.mb-40 {
	margin-bottom: 40px;
}

.mb-50 {
	margin-bottom: 50px;
}

.mb-60 {
	margin-bottom: 60px;
}

.mb-70 {
	margin-bottom: 70px;
}

.mb-80 {
	margin-bottom: 80px;
}

.mb-90 {
	margin-bottom: 90px;
}

.mb-100 {
	margin-bottom: 100px;
}


/* MEDIA */

@media screen and (min-width: 980px)  {
	
	body {
		font-size: 20px;
		line-height: 1.65;
	}
	
	h1,
	h2,
	h3,
	h4,
	h5,
	h6 {
		line-height: 1.5;
	}
	
	h1 {
		left: -3px;
		font-size: 50px;
	}
	
	.container {
		position: relative;
		width: 100%;
		max-width: 1322px;
		min-width: 980px;
		padding-right: 20px;
		padding-left: 20px;
		margin-right: auto;
		margin-left: auto;
	}
	
	.main {
		margin-top: 30px;
	}
	
	.header {
		padding-top: 15px;
		padding-bottom: 15px;
	}
	
	.header .logotype {
		font-size: 21px;
		margin-right: auto;
	}
	
	.header.search-visible .search {
		position: relative;
		width: 100%;
		margin-left: 80px;
        margin-right: 60px;
	}
	
	.header.search-hidden .search {
		position: absolute;
		left: 20px;
		right: 20px;
	}
	
	.header .menu {
		width: 100%;
		margin-left: 100px;
		margin-right: 40px;
	}
	
	.header .theme-button,
	.header .search-button,
	.header .navigation-button {
		margin-left: 25px;
	}
	
	.header .menu .menu-close,
	.header.menu-exists .navigation-button {
		display: none;
	}
	
	.menu ul li {
		display: inline-block;
		font-size: 17px;
		margin-right: 10px;
	}
	
	.menu .dropdown > a:after {
		content: "";
		background-image: var(--icon);
		background-repeat: no-repeat;
		background-size: 240px;
		background-position: -120px -48px; 
		width: 24px;
		height: 24px;
		display: block;
		flex-shrink: 0;
		margin-right: -8px;
	}

	.menu .dropdown:hover {
		z-index: 10002;
	}

	.menu .dropdown .sub-menu {
		position: absolute;
		top: 100%;
		left: 0;
		background-color: var(--white-color);
		max-width: 300px;
		min-width: 240px;
		max-height: 70vh;
		display: none;
		overflow: scroll;
		overflow-x: hidden;
		overflow-y: auto;
		border-radius: var(--radius);
		border: 1px solid var(--gray-color-40);
		padding: 5px;
	}

	.menu .dropdown .sub-menu::-webkit-scrollbar { 
		width: 0;
		height: 0; 
	}

	.no-js .menu .dropdown:hover .sub-menu,
	.menu .dropdown .sub-menu.show {
		display: block;
	}

	.menu .dropdown .sub-menu li {
		display: block;
	}
	
	.nav ul li {
		font-size: 16px;
		margin-right: 24px;
	}
	
	.tooltip .tooltip-content {
		position: absolute;
		left: 50%;
		bottom: calc(100% + 12px);
		width: max-content;
		max-width: 340px;
		transform: translateX(-50%) translateY(10px);
		border-radius: var(--radius);
		box-shadow: 0 10px 25px rgb(0 0 0 / 8%);
		transition: opacity 0.2s ease, transform 0.2s ease, visibility 0.2s;
		padding: 16px 20px;
	}

	.tooltip .tooltip-content.is-visible {
		opacity: 1;
		visibility: visible;
		pointer-events: auto;
		transform: translateX(-50%) translateY(0);
	}
	
	.tooltip .tooltip-content::after {
		content: "";
		position: absolute;
		top: 100%;
		left: 50%;
		transform: translateX(-50%);
		border-style: solid;
		border-width: 7px 7px 0 7px;
		border-color: var(--gray-color-110) transparent transparent transparent;
		margin-top: -1px;
	}
	
	.articles {
		margin-left: -20px;
		margin-right: -20px;
	}
	
	.articles .card {
		width: calc(33.3333% - 40px);
		display: inline-block;
		vertical-align: top;
		margin-left: 20px;
		margin-right: 20px;
	}
	
	.articles .card .thumbnail {
		max-width: 393px;
	}
	
	.articles .card .name {
		font-size: 18px;
	}
	
	.article .layout {
		position: relative;
		padding-right: 200px;
	}
	
	.article .layout .side {
		position: absolute;
		top: 0;
		right: 0;
		bottom: 0;
		width: 170px;
	}
	
	.article .introduction {
		font-size: 125%;
	}
	
	.toc {
		position: sticky;
		top: 15px;
		width: 170px;
		max-height: calc(100vh - 97px);
		overflow: scroll;
		overflow-x: hidden;
		overflow-y: auto;
	}
	
	.toc .toc-toggle {
		opacity: .3;
		margin-bottom: 30px;
	}
	
	.toc .toc-list .toc-link {
		color: var(--gray-color-90);
		font-size: 16px;
		padding-top: 8px;
		padding-bottom: 8px;
	}

	.toc .toc-list .toc-link.current {
		color: var(--black-color);
	}
	
	.text .player {
		padding: 20px 20px 15px;
	}
	
	.positive-text,
	.negative-text,
	.warning-text,
	.info-text {
		border-radius: var(--radius);
		padding: 36px 48px;
	}
	
	.image img {
		border-radius: var(--radius);
	}
	
	.spotlight .spotlight-inner {
		padding: 48px;
	}
	
	.related-article {
		flex-direction: row;
	}

	.related-article .related-article-image {
		flex-basis: 39.89%;
	}

	.related-article .related-article-content {
		padding: 36px 48px;
	}

	.related-article .related-article-content .headline {
		font-size: 32px;
	}
	
	.tablist.border {
		padding: 48px;
	}
	
	.tablist .tabs .tabs-inner .tab {
		font-size: 18px;
		margin-right: 26px;
	}
	
	.sort .button {
		font-size: 17px;
		margin-right: 5px;
	}
	
	.modal .modal-close {
		top: 15px;
		right: 35px;
	}
	
	.modal .side {
		width: 600px;
		padding-left: 70px;
		padding-right: 70px;
	}
	
	.notice-container {
		max-width: 320px;
	}
	
	.footer .footer-top {
		text-align: left;
	}
	
	.footer .footer-top .navigation li {
		margin-right: 24px;
	}
	
	.footer .footer-bottom {
		position: relative;
		display: -webkit-box;
		display: -ms-flexbox;
		display: flex;
		justify-content: center;
		align-items: center;
	}

	.footer .footer-bottom .copyright {
		flex-shrink: 0;
		margin-right: auto;
	}

	.footer .footer-bottom .theme,
	.footer .footer-bottom .report,
	.footer .footer-bottom .language,
	.footer .footer-bottom .add-settlement {
		flex-shrink: 0;
		margin-left: 25px;
	}
	
	.player.fixed {
		padding-left: 20px;
		padding-right: 20px;
	}
	
	.up {
		bottom: 100px;
	}
		
}


@media screen and (min-width: 1360px)  {
	
	h1 {
		left: -4px;
		font-size: 55px;
	}
	
	.container {
		padding-right: 20px;
		padding-left: 20px;
	}
	
	.articles {
		margin-left: -25px;
		margin-right: -25px;
	}
	
	.articles .card {
		width: calc(33.3333% - 50px);
		margin-left: 25px;
		margin-right: 25px;
	}

	.article .layout {
		padding-right: 340px;
	}
	
	.article .layout .side {
		width: 260px;
	}
	
	.toc {
		width: 260px;
	}
	
	.toc .toc-list .toc-link {
		font-size: 17px;
	}
	
	.sort .button {
		font-size: 18px;
		margin-right: 10px;
	}
	
	.player.fixed {
		padding-left: 25px;
		padding-right: 25px;
	}
	
}


@media screen and (min-width: 1440px) {
	
	body {
		font-size: 22px;
	}
	
	.container {
		max-width: 1600px;
	}
	
	.articles .card .thumbnail {
		max-width: 486px;
	}
	
}


@media screen and (max-width: 979px) {
	
	body {
		font-size: 18px;
		line-height: 1.48;
	}
	
	h1,
	h2,
	h3,
	h4,
	h5,
	h6 {
		line-height: 1.45;
	}
	
	h1 {
		left: -3px;
		font-size: 45px;
	}
	
	.container {
		width: 100%;
		max-width: 768px;
		padding-right: 40px;
		padding-left: 40px;
		margin-left: auto;
		margin-right: auto;
	}
	
	.main {
		margin-top: 15px;
	}
	
	.header {
		padding-top: 10px;
		padding-bottom: 10px;
	}
	
	.header.search-visible {
		padding-bottom: 70px;
	}
	
	.header .logotype {
		font-size: 19px;
		margin-right: auto;
	}
	
	.header .search {
		position: absolute;
		left: 40px;
		right: 40px;
	}
	
	.header.search-visible .search {
		bottom: 10px;
	}
	
	.header.search-hidden .search {
		top: 10px;
	}
	
	.header .theme-button,
	.header .search-button,
	.header .navigation-button {
		margin-left: 15px;
	}
	
	.header .navigation-button.toggled {
		position: fixed;
		margin-left: 0;
	}
	
	.header > .button:last-child {
		margin-right: -10px;
	}
	
	.menu {
		z-index: 10002;
		position: fixed;
		top: 0;
		right: -100%;
		bottom: 0;
		background-color: var(--white-color);
		width: 100%;
		height: 100%;
		visibility: hidden;
		overflow: hidden;
		opacity: 0;
		outline: none;
		transition: opacity 0.2s;
	}

	.menu.show {
		right: 0;
		visibility: visible;
		opacity: 1;
	}
	
	.menu .menu-close {
		z-index: 2;
		position: absolute;
		top: 10px;
		right: 30px;
		background-color: var(--gray-color-35);
	}

	.menu.show .menu-close {
		position: fixed;
	}
	
	.menu .menu-content {
		z-index: 1;
		position: relative;
		width: 100%;
		max-width: 768px;
		height: 100%;
		min-height: 100%;
		overflow: scroll;
		overflow-x: hidden;
		overflow-y: auto;
		-webkit-overflow-scrolling: touch;
		text-align: left;
		padding: 60px 30px;
		margin-left: auto;
		margin-right: auto;
	}

	.menu .menu-content::-webkit-scrollbar { 
		width: 0;
		height: 0; 
	}

	.menu .menu-content li {
		display: block;
		margin-top: 5px;
	}
	
	.menu .menu-content li a {
		font-size: 18px;
	}
	
	.menu .menu-content li a.icon {
		font-size: 17px;
	}
	
	.menu .menu-content .sub-menu {
		margin-left: 25px;
	}
	
	.nav ul li {
		font-size: 15px;
		margin-right: 16px;
	}
	
    .tooltip .tooltip-content {
        z-index: 10000;
        position: fixed;
        bottom: 0;
        left: 0;
        right: 0;
        width: auto;
        max-width: none;
        transform: translateY(20px);
		border-radius: 10px 10px 0 0;
		padding-top: 20px;
		padding-right: 40px;
		padding-left: 40px;
		padding-bottom: 20px;
    }

    .tooltip .tooltip-content.is-visible {
        transform: translateY(0);
    }
	
	.articles {
		margin-left: -20px;
		margin-right: -20px;
	}
	
	.articles .card {
		width: calc(50% - 40px);
		display: inline-block;
		vertical-align: top;
		margin-left: 20px;
		margin-right: 20px;
	}
	
	.articles .card .name {
		font-size: 17px;
	}
	
	.article .introduction {
		font-size: 112%;
	}
	
	.toc {
		z-index: 10000;
		position: fixed;
		right: 5px;
		bottom: 64px;
	}
	
	.toc .toc-toggle {
		position: relative;
		background-color: var(--white-color);
		width: 44px;
		height: 44px;
		font-size: 0;
		border: 1px solid var(--gray-color-65);
		border-radius: var(--radius);
	}
	
	.toc .toc-toggle::after {
		content: "";
		position: absolute;
		top: 10px;
		left: 10px;
		background-image: var(--icon);
		background-repeat: no-repeat;
		background-size: 240px;
		background-position: -192px -48px; 
		width: 24px;
		height: 24px;
		display: block;
	}
	
	.toc.active .toc-toggle::after {
		background-position: -24px 0; 
	}

	.toc .toc-list {
		position: absolute;
		right: 0;
		bottom: 52px;
		background-color: var(--white-color);
		min-width: 110px;
		max-height: calc(100vh - 100px);
		display: none;
		overflow: scroll;
		overflow-x: hidden;
		overflow-y: auto;
		border: 1px solid var(--gray-color-65);
		border-radius: var(--radius);
		padding: 6px;
	}
	
	.toc.active .toc-list {
		display: block;
	}
	
	.toc .toc-list .toc-link {
		color: var(--text-color);
		font-size: 15px;
		padding: 6px 12px 7px;
	}
	
	.toc .toc-list .toc-link.current {
		background-color: var(--gray-color-45);
		color: var(--blank-color);
		border-radius: 4px;
	}

	.text .player {
		padding: 20px 20px 15px;
	}

	.positive-text,
	.negative-text,
	.warning-text,
	.info-text {
		padding: 36px 40px;
		margin-left: -40px;
		margin-right: -40px;
	}
	
	.image {
		margin-left: -40px;
		margin-right: -40px;
	}
	
	.image img {
		margin: 0 auto;
	}
	
	.image .caption {
		margin-left: 40px;
		margin-right: 40px;
	}
	
	.spotlight .spotlight-inner {
		padding: 48px 24px;
	}
	
	.related-article {
		flex-direction: row;
	}

	.related-article .related-article-image {
		flex-basis: 39.89%;
	}

	.related-article .related-article-content {
		padding: 32px 42px;
	}

	.related-article .related-article-content .headline {
		font-size: 26px;
	}
	
	.tablist.border {
		padding: 48px 24px;
	}
	
	.tablist .tabs .tabs-inner .tab {
		font-size: 17px;
		margin-right: 22px;
	}
	
	.sort .button {
		font-size: 16px;
		margin-right: 5px;
	}
	
	.modal .modal-close {
		top: 10px;
		right: 10px;
	}
	
	.modal .side {
		width: 480px;
		padding-left: 35px;
		padding-right: 35px;
	}
	
	.notice-container {
		max-width: 320px;
	}
	
	.footer {
		text-align: center;
	}
	
	.footer .footer-top .navigation li {
		margin-left: 8px;
		margin-right: 8px;
	}

	.footer .footer-bottom .copyright {
		display: block;
		margin-bottom: 20px;
	}

	.footer .footer-bottom .theme,
	.footer .footer-bottom .report,
	.footer .footer-bottom .language,
	.footer .footer-bottom .add-settlement {
		margin-left: auto;
		margin-right: auto;
	}
	
	.footer .footer-bottom .theme,
	.footer .footer-bottom .report,
	.footer .footer-bottom .add-settlement	{
		margin-bottom: 15px;
	}
	
	.player.fixed {
		padding-left: 40px;
		padding-right: 40px;
	}
	
	.player .controls .volume .volume-slider {
		display: none;
	}
	
	.up {
		bottom: 10px;
	}
	
}


@media screen and (max-width: 640px) {
	
	.container {
		padding-right: 30px;
		padding-left: 30px;
	}
	
	.header .search {
		left: 30px;
		right: 30px;
	}
	
	.menu .menu-close {
		right: 20px;
	}
	
    .tooltip .tooltip-content {
		padding-right: 30px;
		padding-left: 30px;
    }
	
	.articles {
		margin-left: -15px;
		margin-right: -15px;
	}
	
	.articles .card {
		width: calc(50% - 30px);
		margin-left: 15px;
		margin-right: 15px;
	}
	
	.related-article {
		flex-direction: column;
	}

	.related-article .related-article-image {
		flex-basis: 100%;
	}

	.related-article .related-article-content {
		padding: 30px 30px 34px;
	}
	
	.related-article .related-article-content .headline {
		font-size: 24px;
	}
	
	.positive-text,
	.negative-text,
	.warning-text,
	.info-text {
		padding: 36px 30px;
		margin-left: -30px;
		margin-right: -30px;
	}
	
	.image {
		margin-left: -30px;
		margin-right: -30px;
	}
	
	.image .caption {
		margin-left: 30px;
		margin-right: 30px;
	}
	
	.gallery.odd .gallery-item {
		width: calc(50% - 20px);
	}
	
	.sort .button {
		font-size: 15px;
	}
	
	.player.fixed {
		padding-left: 30px;
		padding-right: 30px;
	}
	
}


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


@media screen and (max-width: 480px) {
	
	.header .theme-button,
	.header .search-button,
	.header .navigation-button {
		margin-left: 10px;
	}
	
	.modal .side {
		width: 100%;
	}
	
}


@media screen and (max-width: 420px) {
	
	h1 {
		font-size: 36px;
	}
	
	h2 {
		font-size: 24px;
	}
	
	.container {
		padding-right: 20px;
		padding-left: 20px;
	}
	
	.header .search {
		left: 20px;
		right: 20px;
	}
	
	.menu .menu-close {
		right: 10px;
	}
	
    .tooltip .tooltip-content {
		padding-right: 20px;
		padding-left: 20px;
    }
	
	.articles {
		margin-left: 0;
		margin-right: 0;
	}
	
	.articles .card {
		width: 100%;
		display: block;
		margin-left: 0;
		margin-right: 0;
	}
	
	.text .player {
		padding: 20px 15px 15px;
	}
	
	.positive-text,
	.negative-text,
	.warning-text,
	.info-text {
		padding: 36px 20px;
		margin-left: -20px;
		margin-right: -20px;
	}
	
	.image {
		margin-left: -20px;
		margin-right: -20px;
	}
	
	.image .caption {
		margin-left: 20px;
		margin-right: 20px;
	}
	
	.player.fixed {
		padding-left: 20px;
		padding-right: 20px;
	}
	
}


@media screen and (max-width: 360px) {
	
	.header .theme-button,
	.header .search-button,
	.header .navigation-button {
		margin-left: 0;
	}
	
}


@media screen and (max-width: 320px) {
	
	.container {
		padding-right: 15px;
		padding-left: 15px;
	}
	
	.header .search {
		left: 15px;
		right: 15px;
	}
	
	.menu .menu-close {
		right: 5px;
	}
	
    .tooltip .tooltip-content {
		padding-right: 15px;
		padding-left: 15px;
    }
	
	.positive-text,
	.negative-text,
	.warning-text,
	.info-text {
		padding: 36px 15px;
		margin-left: -15px;
		margin-right: -15px;
	}
	
	.image {
		margin-left: -15px;
		margin-right: -15px;
	}
	
	.image .caption {
		margin-left: 15px;
		margin-right: 15px;
	}
	
	.player.fixed {
		padding-left: 15px;
		padding-right: 15px;
	}
	
	.notice-container {
		max-width: 290px;
	}
	
}


@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)  {
	
	.icon:before {
		background-image: var(--icon2x);
	}
	
	.learn-more:after {
		background-image: var(--icon2x);
	}
	
	.header .search .input::-webkit-search-cancel-button {
		background-image: var(--icon2x);
	}
	
	.thumbnail.no:after {
		background-image: var(--icon2x);
	}
	
	.toc .toc-toggle::after {
		background-image: var(--icon2x);
	}
	
	.rating .rating-star {
		background-image: var(--icon2x);
	}
	
	.qa .item .question button:after {
		background-image: var(--icon2x);
	}
	
}