* {
	box-sizing: border-box;
}

/*
fd76cb rgba(253, 118, 203, 1)
ffac30 rgba(255, 172, 48, 1)
fffefd
*/

html {
	scroll-behavior: smooth;
}

.delay-load {
	opacity: 0;
}

.accent-1 {
	color: #fd76cb;
}

.accent-2 {
	color: #ffac30;
}

.nowrap {
	white-space: nowrap;
}

body {
	font-size: max(1vw, 1.2em);
	background: #000;
}

.layout {
	color: #fff;
	font-family: "Avenir Next Cyr";
	font-size: 1em;
	line-height: 1.6875em;
}

.link:after {
	content: "❱";
	display: inline-block;
	margin-left: 0.5em;
	position: relative;
	top: 1px;
	color: #ffac30;
}

a {
	color: #fff;
	cursor: pointer;
}

a:hover {
	color: #fff;
}

b {
	color: #fff;
	font-weight: 600;
}

canvas {
	width: 100%;
	height: 100%;
}

.space {
	letter-spacing: 0.2em;
}

#container {
	width: 100%;
	height: 100%;
	position: relative;
}

#video1 {
	height: 100vw;
	position: absolute;
	right: -25vw;
	top: 0;
}

.portrait #video1 {
	height: 150vw;
	right: -40vw;
}

#video2 {
	height: 50vw;
	position: absolute;
	right: 0vw;
	top: 0;
}

#video3 {
	height: 200vh;
	position: absolute;
	right: -30vw;
	top: 0;
}

#video4 {
	width: 100vw;
	position: absolute;
	left: 0;
}

.portrait #video3 {
	right: -40em;
}

.bg-wrapper .bg {
	position: absolute;
	width: 100vw;
	height: 200vh;
	left: 0;
	top: 0;
	background: linear-gradient(
		65deg,
		rgba(0, 0, 0, 0) 70%,
		rgba(253, 118, 203, 0.5) 100%
	);
}

.bg-wrapper {
	position: absolute;
	left: 0;
	top: 0;
	right: 0;
	height: 300vh;
	overflow: hidden;
}

.crop {
	overflow: hidden;
	position: relative;
}

/** { outline: 3px solid #fff; }*/

.stroke-font {
	color: #000;
	text-shadow: -1px -1px 0 #fff, 1px -1px 0 #fff, -1px 1px 0 #fff,
		1px 1px 0 #fff;
	display: inline-block;
}

h1,
.h1 {
	font-weight: 700;
	font-size: 5.625em;
	line-height: 1.2em;
	margin-left: -5px;
	margin-bottom: 0.6em;
}

h2,
.h2 {
	font-weight: 700;
	font-size: 3.1875em;
	line-height: 1.05882353em;
	margin-bottom: 2.2rem;
	margin-left: -4px;
}

h3,
.h3 {
	font-weight: 500;
	font-size: 1.75em;
	line-height: 1.3em;
	margin-bottom: 1.75em;
	color: #888;
}

h4,
.h4 {
	font-size: max(0.57em, 13px);
	line-height: 1.6875em;
	margin-bottom: 1.6875em;
}

h1 b,
h2 b,
h3 b,
p b,
li b {
	color: #fff !important;
}

p,
h5 {
	font-weight: 500;
	font-size: 1em;
	line-height: 1.6875em;
	margin-bottom: 2.2rem;
	max-width: 30em;
	color: #999;
}

h5 {
	font-weight: 600;
	color: #fff;
}

.article p {
	max-width: 50em;
}

p strong {
	font-weight: 600;
}

.mobile p {
	max-width: 100% !important;
}

address p {
	color: #fff;
}

.bt {
	border-top: 1px solid #222;
}
.bb {
	border-bottom: 1px solid #222;
}
.bl {
	border-left: 1px solid #222;
}
.br {
	border-right: 1px solid #222;
}

.mobile .bt,
.mobile .bb,
.mobile .bl,
.mobile .br {
	border: 0;
}

.mb {
	margin-bottom: 6em;
}

.layout {
	position: relative;
}

.reducer-right {
	margin-right: 100px;
}

.reducer-right-2 {
	margin-right: 50%;
}

.mobile .reducer-right-2 {
	margin-right: 0;
}

.bottom {
	position: absolute;
	bottom: 0;
}

/*.grid-h div { background: rgba(0, 255, 0, 0.1); }*/
.grid-h {
	display: grid;
	grid-template-columns: 1fr 1fr 1fr 1fr 1fr 1fr;
	grid-template-rows: 1fr;
	grid-auto-columns: 1fr;
	gap: 0px 1em;
	grid-auto-flow: row;
	justify-content: stretch;
	justify-items: stretch;
	align-items: stretch;
	/*border-top: 1px solid rgba(255, 255, 255, 0.1);
	border-bottom: 1px solid rgba(255, 255, 255, 0.1);*/
	margin: 0 1em;
}

.grid-2-c {
	display: grid;
	grid-auto-columns: 1fr;
	grid-auto-rows: 1fr;
	grid-template-columns: 1fr 1fr;
	grid-template-rows: 1fr;
	grid-template-areas: ".";
	grid-gap: 1em;
	align-content: space-between;
	justify-items: stretch;
	align-items: stretch;
	margin-bottom: 1em;
}

.mobile .grid-2-c {
	grid-template-columns: 1fr;
	grid-template-rows: 1fr;
}

.grid-2-c .item {
	border-radius: 3em;
	padding: 3em;
	background: #000;
}

.grid-1-c .item {
	border-radius: 3em;
	padding: 3em;
	background: #000;
	margin-bottom: 1em;
}

.grid-2-1 .item-border,
.grid-2-c .item-border {
	border: 2px solid rgba(255, 172, 48, 0.5);
}

.grid-1-c .item a,
.grid-2-c .item a {
	color: #fff !important;
}

.grid-1-c .item strong,
.grid-2-c .item strong {
	display: block;
	font-weight: 500;
	font-size: 1.75em;
	line-height: 1.3em;
	margin-bottom: 1em;
	padding-right: 2em;
}

.grid-1-c .item p:last-child,
.grid-2-c .item p:last-child {
	margin-bottom: 0;
}

.mobile .grid-2-c .item,
.mobile .grid-2-c .item-col {
	margin-right: 0;
	width: 100% !important;
}

.item-block {
	text-align: center;
}
.item-block p {
	display: inline-block;
	max-width: 80%;
}

.grid-1-c .item {
}

.grid-1-c .item img {
}

.grid-1-c .item strong {
	font-size: 2.5em;
	width: 70%;
}

.grid-1-c .item img {
	width: 100%;
	margin-bottom: 0;
}

.mobile .grid-1-c .item img {
	margin-top: 1em;
}

.c-wrap {
	padding: 4em 2em 2em;
}

.layout-wrap {
	padding: 0 1em;
}

.grid-4-c {
	display: grid;
	grid-auto-columns: 1fr 1fr 1fr 1fr;
	grid-auto-rows: 1fr 1fr 1fr 1fr;
	grid-template-columns: 1fr 1fr 1fr 1fr;
	grid-template-areas: ". . . .";
	grid-gap: 1em;
	align-content: space-between;
	justify-items: stretch;
	align-items: stretch;
}

.grid-3-c {
	display: grid;
	grid-auto-columns: 1fr 1fr 1fr;
	grid-auto-rows: 1fr 1fr 1fr;
	grid-template-columns: 1fr 1fr 1fr;
	grid-template-areas: ". . .";
	grid-gap: 1em;
	align-content: space-between;
	justify-items: stretch;
	align-items: stretch;
}

.mobile .grid-3-c {
	display: block;
}

.mobile .grid-3-c .item {
	margin-bottom: 1em;
}

.grid-3-c .item,
.grid-4-c .item {
	padding: 1em;
	border-radius: 1em;
}

.grid-3-c .item strong,
.grid-4-c .item strong {
	display: block;
	font-weight: 500;
	margin-bottom: 1em;
	line-height: 1.6875em !important;
	/*padding-right: 2em;*/
}

.item-line .col-3-1,
.item-line .col-3-2 {
	padding-right: 2em;
}

.grid-h .grid-h {
	margin: 0;
}

.col-1-1 {
	grid-area: 1 / 1 / 2 / 2;
}
.col-1-2 {
	grid-area: 1 / 2 / 2 / 3;
}
.col-1-3 {
	grid-area: 1 / 3 / 2 / 4;
}
.col-1-4 {
	grid-area: 1 / 4 / 2 / 5;
}
.col-1-5 {
	grid-area: 1 / 5 / 2 / 6;
}
.col-1-6 {
	grid-area: 1 / 6 / 2 / 7;
}
.col-2-1 {
	grid-area: 1 / 1 / 2 / 3;
}
.col-2-2 {
	grid-area: 1 / 3 / 2 / 5;
}
.col-2-3 {
	grid-area: 1 / 5 / 2 / 7;
}
.col-3-1 {
	grid-area: 1 / 1 / 2 / 4;
}
.col-3-2 {
	grid-area: 1 / 4 / 2 / 7;
}
.col-4-1 {
	grid-area: 1 / 1 / 2 / 5;
}
.col-4-2 {
	grid-area: 1 / 3 / 2 / 7;
}
.col-4-c {
	grid-area: 1 / 2 / 2 / 6;
}
.col-5-1 {
	grid-area: 1 / 1 / 2 / 6;
}
.col-5-2 {
	grid-area: 1 / 2 / 2 / 7;
}
.col-6-1 {
	grid-area: 1 / 1 / 2 / 7;
}

.laptop .col-4-c {
	grid-area: 1 / 1 / 2 / 7;
	margin: 0 7.5vw;
}

/*.grid-v div { outline: 1px solid #eee; } */
.grid-v {
	display: grid;
	grid-auto-columns: 1fr;
	grid-template-columns: 1fr;
	grid-template-rows: 1fr 1fr 1fr 1fr;
	gap: 0 0;
	justify-content: stretch;
	justify-items: stretch;
	align-items: stretch;
	padding: 1em 0;
}

.row-1-1 {
	grid-area: 1 / 1 / 2 / 2;
}
.row-1-2 {
	grid-area: 2 / 1 / 3 / 2;
}
.row-1-3 {
	grid-area: 3 / 1 / 4 / 2;
}
.row-1-4 {
	grid-area: 4 / 1 / 5 / 2;
}
.row-2-1 {
	grid-area: 1 / 1 / 3 / 2;
}
.row-2-2 {
	grid-area: 3 / 1 / 5 / 2;
}
.row-3-1 {
	grid-area: 1 / 1 / 4 / 2;
}
.row-3-2 {
	grid-area: 2 / 1 / 5 / 2;
}
.row-4-1 {
	grid-area: 1 / 1 / 5 / 2;
}
.row-2-c {
	grid-area: 2 / 1 / 4 / 2;
}

.row-4-1-vm {
	grid-area: 1 / 1 / 5 / 2;
	/*justify-self: center; */
	align-self: center;
}

.screen {
	height: 100vh;
	position: relative;
}

.screen-h {
	height: 50vh;
	min-height: 600px;
}

.screen-pp {
	padding: 6em 0;
}

.screen-bb {
	border-bottom: 1px dashed rgba(255, 255, 255, 0.5);
}

.screen-pt {
	margin-top: 5em;
}

.wrap {
	position: relative;
	display: block;
}

.rotate-side-left span:before {
	content: " ";
	display: block;
	background: #fff;
	width: 2em;
	height: 0.5em;
}

.rotate-side-left span {
	display: inline-block;
	margin-right: 2em;
	font-size: 1em;
}

.rotate-side-left a {
	margin-left: 2em;
}

.rotate-side-left span:last-child {
	margin-right: 0;
}

.rotate-side-left {
	font-size: 1em;
	height: 20px;
	top: 0;
	left: -3em;
	position: absolute;
	transform-origin: left top;
	transform: rotate(270deg) translateX(-100%);
}

header .button {
	background: #000;
}

.logo-container {
	position: relative;
}

header .logo {
	background: url("../i/logo-white.svg") no-repeat center center;
	background-size: auto 50%;
	height: 2em;
	position: relative;
	z-index: 100;
	width: 100%;
	aspect-ratio: 4;
}

header .logo-rus {
	background: url("../i/logo-rus-2.svg") no-repeat center center;
	background-size: auto 45%;
	height: 2em;
	position: absolute;
	top: 0.3em;
	left: 0;
	z-index: 100;
	width: 100%;
	aspect-ratio: 4;
}

.logo,
.logo-rus {
  transition: opacity 0.3s;
  opacity: 0;
}

.logo.active,
.logo-rus.active {
  opacity: 1;
  z-index: 1;
}

.logo-container {
	text-align: center;
}

a {
	text-decoration: none;
}

header .menu span,
header .menu a {
	color: #fff;
	font-weight: 500;
	display: inline-block;
	margin-right: 1em;
	padding: 0 0.5em;
}

header .menu a:hover {
	background: rgba(255, 255, 255, 0.1);
	border-radius: 0.5em;
}

header .menu {
	max-width: 35em;
	font-size: 0.75em;
}

footer .menu a {
	margin: 0;
}

footer ul {
	display: flex;
	gap: 1em;
	width: 80%;
}

.laptop footer ul {
}

footer ul li {
	font-weight: bold;
}

footer ul ul li {
	font-weight: normal;
}

footer ul li {
	flex: 1;
}

footer ul ul li {
	font-size: 0.75em;
	margin-bottom: 0rem;
}

footer ul ul {
	display: block;
	width: 100%;
	margin-top: 1em;
}

.menu span {
	color: #ffac30 !important;
}

header .menu .lan a,
header .menu .lan span {
	font-weight: 700;
}

header .menu .lan {
	display: inline-block;
	font-weight: 700;
}

header .menu {
	margin-left: 1em;
	margin-top: 0.25em;
}

.tablet header .menu {
	width: 50%;
}

header {
	position: fixed;
	left: 0em;
	right: 0em;
	margin: 0 !important;
	padding: 0.5em 1em;
	z-index: 1000;
	transition: 0.3s background;
}

/*header:hover {
	background: #000;
	border-bottom: 1px solid #222;
}*/

.button {
	display: inline-block;
	padding: 2px 20px;
	color: #ffac30;
	border: 3px solid #ffac30;
	font-weight: 700;
	border-radius: 2em;
	cursor: pointer;
	white-space: nowrap;
}

header .button {
}

.button:hover {
	color: #fff;
	border: 3px solid #fff;
}

.screen .button {
	font-size: 1em;
	padding: 0.5em 2em;
}

.sq-decor div {
	transform: scale(0.9);
	border-radius: 100%;
}

.type-2 *,
.type-3 * {
	transition: 1s all;
}

/*.sq-decor div:first-child {
	border-radius: 0;
	border-top-left-radius: 100%;
}

.sq-decor div:last-child {
	border-radius: 0;
}*/

.sq-decor .sq-decor div {
	transform: scale(0.5);
}

.sq-decor .sq-decor > .sq-decor {
	transform: scale(1);
}

.sq-decor .sq-decor .sq-decor div {
	transform: scale(0.5);
}

.sq-decor-3 .sq-decor div {
	transform: scale(0.1);
}

.sq-decor .sq-decor {
	/*transform: scale(1);*/
}

.sq-decor div {
	position: relative;
}

.sq-wrapper {
	position: absolute;
	width: 100%;
}

.sq-decor {
	display: grid;
	grid-auto-columns: 1fr;
	grid-template-columns: 1fr 1fr 1fr;
	grid-template-rows: 1fr 1fr 1fr;
	gap: 0;
	justify-content: stretch;
	justify-items: stretch;
	align-items: stretch;
	position: relative;
	aspect-ratio: 1;
	width: 100%;
	/*transform: scale(0.8);*/
	opacity: 0.9;
}

.sq-decor-v .sq-decor {
	transform: scale(0.9);
}

.sq-decor-v,
.sq-decor-v-np {
	position: absolute;
	aspect-ratio: 1;
	top: 0;
	bottom: 0;
	left: 50%;
	transform: translate(-50%, 0);
}

.mobile .sq-decor-v {
	bottom: unset;
	left: 0;
	right: 0;
	top: 50%;
	transform: translate(0, -50%);
}

.sq-decor-2 {
	width: 50%;
}

.bg-1 {
	background: url("../i/bg-1.jpg");
}

.bg-2 {
	background: url("../i/bg-2.jpg");
}

.bg-3 {
	background: url("../i/bg-3.jpg");
}

.h-list h4 {
	color: rgba(255, 255, 255, 0.3);
}

.h-list .col {
	padding: 1em;
	border-left: 1px dashed rgba(255, 255, 255, 0.3);
}

.h-list .col:last-child {
	border-right: 1px dashed rgba(255, 255, 255, 0.3);
}

.h-list {
	border-top: 1px dashed rgba(255, 255, 255, 0.3);
	border-bottom: 1px dashed rgba(255, 255, 255, 0.3);
}

footer .terms {
	text-align: right;
}

footer .menu span {
	opacity: 0.5;
}

footer .menu .lan a,
footer .menu .lan span {
	display: inline-block;
	font-weight: 700;
}

footer .menu .lan {
	display: inline-block;
	font-weight: 700;
}

footer .menu a,
footer .menu span {
	display: inline-block;
}

footer a {
	color: #fff;
}

footer .menu {
}

footer .phone,
footer .email {
	font-weight: 600;
}

footer .button {
	margin-top: 1em;
}

footer {
	padding-top: 3em !important;
	padding-bottom: 3em !important;
	border-top: 1px solid rgba(255, 255, 255, 0.2);
}

footer .copyright {
	margin-bottom: 1em;
}

input:focus {
	outline: none;
	border-bottom: 1px solid #ffac30;
}

input.error {
	border-color: red !important;
}

input.valid {
	border-bottom: 1px solid #4CAF50 !important;
}

input:not(:placeholder-shown) {
	border-bottom: 1px solid #ffac30;
}

input {
	background: none;
	border: 0;
	border-bottom: 1px solid rgba(255, 255, 255, 0.2);
	padding: 1em 0;
	margin: 0;
	font-family: "Avenir Next Cyr";
	font-size: 1em;
	width: 100%;
	color: #fff;
	transition: 0.3s border;
}

input:-webkit-autofill,
input:-webkit-autofill:hover,
input:-webkit-autofill:focus,
textarea:-webkit-autofill,
textarea:-webkit-autofill:hover,
textarea:-webkit-autofill:focus,
select:-webkit-autofill,
select:-webkit-autofill:hover,
select:-webkit-autofill:focus {
	border-bottom: 1px solid #ffac30;
	-webkit-text-fill-color: #fff;
	-webkit-box-shadow: 0 0 0px 1000px none inset;
	transition: background-color 5000s ease-in-out 0s;
}

.file-input .button {
	font-family: "Avenir Next Cyr";
	font-size: 0.56em;
	padding: 1em 2em !important;
	width: auto !important;
	display: inline-block !important;
	border-width: 1px !important;
	border-color: rgba(255, 255, 255, 0.2);
}

.file-input {
	padding: 1em 0;
}

.file-input input:invalid ~ .chosen {
	display: none;
}

.file-input input:valid ~ label {
	border-color: #ffac30 !important;
	transition: 1s border;
}

.file-input .chosen {
	font-family: "Avenir Next Cyr";
	font-size: 0.56em;
	margin-left: 1em;
}

.disabled {
	border: 3px solid rgba(255, 255, 255, 0.2);
}

.disabled * {
	color: rgba(255, 255, 255, 0.2);
}

.contact-form {
	background: #000;
}

.contact-form a {
	color: #fff;
}

.contact-form .button h3 {
	margin-bottom: 0;
}

.contact-form a {
	border-bottom: 3px solid rgba(255, 255, 255, 0.5);
}

.contact-form .button {
	display: block;
	background: #000;
	color: #fff;
	width: 50%;
	padding: 2em;
	transition: 0.3s border-color;
}

.contact-form .button.form-valid {
	border-color: #4CAF50;
}

.contact-form .confirm {
	padding: 3em 0 1em;
	width: 50%;
}

.contact-form {
	margin-bottom: 6em;
}

.tags span {
	display: inline-block;
	border: 2px solid rgba(255, 255, 255, 0.3);
	padding: 0.5em 1em;
	margin-right: 1em;
	margin-bottom: 1em;
	border-radius: 1em;
}

.small-tags span {
	display: inline-block;
	border: 1px solid rgba(255, 255, 255, 0.3);
	padding: 0 1em;
	margin-bottom: 0.5em;
	border-radius: 1em;
	font-size: 0.75em;
	margin-right: 0.25em;
}

.bottom-tags {
	position: absolute;
	bottom: 1em;
	left: 1em;
	right: 1em;
}

.bottom-tags span {
	display: inline-block;
	border: 1px solid rgba(255, 255, 255, 0.3);
	padding: 0.25em 1em;
	margin-bottom: 0.5em;
	border-radius: 1em;
	font-size: 0.5em;
	font-weight: 600;
	margin-right: 1em;
}

.items-bottom-tags .h3 {
	color: #fff;
}

.items-bottom-tags .item p {
}

.item .icon-title {
	padding-left: 1.5em;
	position: relative;
	display: block;
}

.item .icon-title img {
	opacity: 0.5;
	position: absolute;
	width: 1em;
	left: 0;
	top: 0.35rem;
}

.positive {
	color: #27d439;
}

.item .corner-icon {
	position: absolute;
	width: 2rem;
	height: 2rem;
	top: 2.5rem;
	right: 1rem;
}

.item .icon-b img {
	width: 1.2em;
	top: 0em;
}

.items-bottom-tags .item .icon {
	width: 100%;
	height: 7em;
	margin-bottom: 1em;
}

.icon-3d {
	width: 25%;
	margin-bottom: 2em;
	display: block;
}

.item-list .item-3d {
	width: 30%;
	margin-bottom: 2em;
}

.solutions .icon-3d {
	width: 50%;
}

.services .icon-3d {
	width: 50%;
}

.screen-page .wrap,
.service-page .wrap {
	/*	padding: 2em 2em 0; 
	margin-bottom: 0;*/
}

.article-page .wrap {
	padding: 2em;
}

.mobile .article-page .wrap {
	padding: 0em;
}

.mobile .article-page .wrap .wrap {
	padding: 1em;
}

.article-page .screen-img {
	width: 100%;
}

.article-page .image-row {
	display: flex;
	gap: 1em;
}

.article-page .image-row-item {
	aspect-ratio: 1;
	overflow: hidden;
	border-radius: 100%;
	flex: 1;
}

.article-page .image-row-item img {
}

.mobile .screen-page .wrap,
.mobile .service-page .wrap {
	/*	padding: 2em 0em 0em; 
	margin-bottom: 0;*/
}

.border-block {
	padding: 2em;
	margin-bottom: 0;
}

.border-block-2 {
	padding: 4em 2em;
}

.border-block h1:last-child,
.border-block h2:last-child,
.border-block h3:last-child {
	margin-bottom: 0;
}

.mobile .border-block {
	border: 1px solid #222 !important;
}

.service-page h1 {
	font-size: 3em;
	max-width: 70%;
}

.mobile .service-page h1 {
	max-width: 100%;
}

.service-page .icon-3d {
	width: 30%;
}

.items-bottom-tags .icon-3d {
	width: 22%;
	margin-bottom: 3em;
}

.solutions .item .wrap {
	text-align: center;
}

.solutions .item img {
	display: inline-block;
}

.solutions .item strong {
	padding-right: 0 !important;
}

.solutions .item p {
	font-size: 1em;
	font-weight: 300;
	width: 70%;
	display: inline-block;
}

.mobile .solutions .item p {
	width: 100%;
}

.video-block img {
	width: 100%;
	border-radius: 5em;
	overflow: hidden;
	margin-bottom: 1em;
}

.mobile .video-block img {
	border-radius: 3em;
}

.items-bottom-tags .item strong sup {
	font-weight: 300;
}

.items-bottom-tags .item strong span {
	font-size: 0.7em;
	font-weight: 500;
}

.items-bottom-tags .item strong {
	line-height: 1.2em;
}

.items-bottom-tags .item .num {
	position: absolute;
	right: 1em;
	top: 1.5em;
	font-size: 0.75em;
	opacity: 0.5;
}

.achievements-block {
	padding: 0 1em;
}

.items-bottom-tags {
	display: flex;
}

.mobile .items-bottom-tags .item strong {
	margin-bottom: 0.5em;
	display: block;
}

.mobile .items-bottom-tags .item p {
	margin-bottom: 0;
}

.items-bottom-tags .item {
	padding-bottom: 0em;
	position: relative;
	padding: 2em;
	border-radius: 1em;
	flex: 1;
}

.mobile .items-bottom-tags .item {
}

.tags {
	margin-bottom: -1em;
}

.items-blocks .item p {
	font-weight: 400;
	color: rgba(255, 255, 255, 0.5);
}

.items-blocks .item h3 {
	font-weight: 500;
	margin-top: 0.57em;
	margin-bottom: 0.57em;
	line-height: 1.3em;
}

.items-blocks .item {
	position: relative;
	border-bottom: 1px solid rgba(255, 255, 255, 0.3);
	padding-bottom: 3em;
	margin-bottom: 3em;
	/*border-radius: 3em;*/
	/*background: rgba(255, 255, 255, 0.2);*/
}

.items-blocks-block .grid-h {
	grid-gap: 3em;
}

.tech-blocks .grid-h {
	grid-gap: 6em;
}

.tech-blocks .block {
	border-bottom: 1px solid rgba(255, 255, 255, 0.3);
	margin-bottom: 6em;
}

.tech-blocks .item p {
	font-weight: 200;
}

.projects-block .item {
	padding: 3em;
	border: 1px solid rgba(255, 255, 255, 0.5);
	border-radius: 3em;
	background: #000;
}

.projects-block .item .button {
	width: 100%;
	text-align: center;
	padding: 1em;
	border-radius: 3em;
}

.projects-block .special-item {
	border: 1px solid #ffac30;
}

.projects-block .block {
}

.items-blocks .item-decor {
	/*	border: 1px solid rgba(255, 255, 255, 0.3);
	background: none;*/
	border-bottom: 0;
}

.items-blocks .item:last-child {
	border-bottom: 0;
}

.projects-block .item:last-child {
	border: 1px solid rgba(255, 255, 255, 0.5);
}

/*.items-blocks.grid-h {
	gap: 3em;
	padding: 3em 12em;
}*/

.items-blocks-block {
	margin: 3em 1em;
}

.exp-block {
	margin: 3em 0;
}

.items-blocks-filter-line a,
.items-blocks-filter-line span {
	background: #000;
}

.items-blocks-filter span,
.items-blocks-filter a {
	display: inline-block;
	margin-right: 1em;
	margin-bottom: 0.5em;
}

.items-blocks-filter span {
	color: #fff;
	display: inline-block;
	border: 2px solid rgba(255, 255, 255, 0.3);
	padding: 0.5em 1em;
	border-radius: 1em;
	cursor: pointer;
}

.items-blocks-filter a {
}

.items-blocks-filter .active {
	border-color: #ffac30;
}

.items-blocks-filter-line {
	padding: 1em 0;
	margin-top: 12em;
	margin-bottom: 6em;
}

.items-blocks-filter {
	width: 50%;
	display: inline-block;
}

.items-blocks-filter-line a {
	padding: 0.5em 1em;
	border-radius: 1em;
	border: 2px solid #ffac30;
}

.items-blocks-filter-line div,
.items-blocks-filter-line a {
	display: inline-block;
	vertical-align: top;
}

.items-blocks .item .date {
	font-size: 0.57em;
}

.items-block-decor b {
	text-align: center;
	font-weight: 900;
}

.items-block-decor-red .t {
	color: #fd76cb;
}

.items-block-decor-fill-red .t {
	background: rgba(253, 119, 204, 0.7);
	color: #fff;
	margin-bottom: 1em;
}

.items-block-decor-fill-green .t {
	background: rgba(255, 172, 48, 0.7);
	color: #fff;
}

.items-block-decor-border-white .t {
	border: 1px solid #808080;
	margin-top: -1px;
	margin-left: -1px;
	color: #fff;
}

.items-blocks-decor-fill-round .t {
	border-radius: 100%;
}

.items-blocks-decor-fill-round {
	overflow: visible !important;
}

.items-block-decor-scale-mess .t {
	transform: scale(1.5);
	background: rgba(255, 255, 255, 0.1);
	color: rgba(255, 255, 255, 0.7);
}

.items-block-decor-scale-mess-2 .t {
	transform: rotate(25deg);
	border-radius: 0.5em;
	margin: 1em;
}

.items-block-decor-scale-mess-3 .t {
	transform: rotate(-25deg);
	border-radius: 0.5em;
	margin: 1em;
}

.items-block-decor-green b {
	color: #ffac30;
}

.items-block-decor .i {
	text-align: center;
	opacity: 0.3;
	transform: scale(0.7);
}

.items-blocks .item h1,
.items-blocks .item h2 {
	margin-bottom: 1.5em;
}

.items-block-decor {
	margin-bottom: 1em;
	font-size: 0.57em;
	font-weight: 300;
	display: grid;
	grid-auto-columns: 1fr;
	grid-template-columns: 1fr 1fr 1fr 1fr 1fr 1fr 1fr 1fr 1fr 1fr;
	grid-template-rows: 1fr 1fr 1fr 1fr 1fr 1fr 1fr 1fr 1fr 1fr;
	gap: 0em;
	justify-content: stretch;
	justify-items: stretch;
	align-items: stretch;
	opacity: 0.8;
	aspect-ratio: 0.5;
}

.items-blocks-title {
	text-align: center;
}

.beta-test-block {
	margin-bottom: 6em;
}

.article {
	padding: 8em 19vw;
}

.article .lead {
	margin-right: 20vw;
	font-weight: 900;
	padding-bottom: 1em;
	border-bottom: 5px solid #fff;
}

.article h2,
.article h3,
.article h4 {
}

/*ul li:before { 
	content: '— '; 
	color: #fff;
	opacity: 0.5;
}

ul li { 
	text-indent: -0.85em; 
	margin-bottom: 1.6875em;
	margin-left: 0.85em;
}

ul {
	margin-bottom: 2em;
}*/

.list-short li {
	text-indent: 0;
	margin-bottom: 0;
}

#error404 h3 {
	margin-bottom: 1em;
}

.vacancy-block .item p {
	margin-bottom: 0;
}

.vacancy-block {
	padding-top: 3em;
}

.vacancy-block .item {
	border: 1px solid rgba(255, 172, 48, 0.5);
	padding: 3em;
	margin-bottom: 3em;
	border-radius: 3em;
	/*background: rgba(255, 255, 255, 0.05);*/
	/*cursor: pointer;*/
}

.loading .sq-decor {
	display: none;
}

.item-list {
	display: flex;
	flex-direction: row;
	flex-wrap: wrap;
	align-items: stretch;
	align-content: stretch;
}

.item-list .item {
	margin-bottom: 1em;
	flex: 1;
}

.item-list .item .relevance {
	display: inline-block;
	background: rgba(253, 118, 203, 0.7);
	padding: 0.5em 1em;
	border-radius: 1em;
	font-weight: 500;
}

.border-accent {
	border-left: 0.5em solid rgba(253, 118, 203, 0.7);
	padding-left: 1em;
}

.item-list .item-col {
	width: calc(50% - 0.5em);
}

.item-list .item {
	padding: 3em;
	border-radius: 3em;
}

.mobile .item-list .item {
	padding: 2em;
}

.item-list .item-line {
	width: 100%;
}

.spec-list .item {
	width: 33.333%;
}

.spec-list .item strong {
	font-size: 1em !important;
	font-weight: 600;
	opacity: 0.5;
}

.spec-list .item p {
	color: #fff;
}

.spec-list .item {
	margin-bottom: 2em;
	border-bottom: 1px solid rgba(255, 255, 255, 0.2);
}

.item-accent {
	border: 0 !important;
	background: linear-gradient(
		45deg,
		rgba(255, 172, 48, 0.05) 30%,
		rgba(255, 172, 48, 0.6) 100%
	) !important;
}

.item-accent-2 {
	border: 0 !important;
	background: linear-gradient(
		45deg,
		rgba(253, 118, 203, 0.1) 30%,
		rgba(253, 118, 203, 0.6) 100%
	) !important;
}

.item-accent-3 * {
	color: #000 !important;
}

.item-accent-4 {
	border: 1px solid #222;
}

.item-accent-5 {
	border: 0 !important;
	background: linear-gradient(
		45deg,
		rgba(255, 255, 255, 0.02) 30%,
		rgba(255, 255, 255, 0.2) 100%
	) !important;
}

.item-accent-3 {
	color: #000 !important;
	border: 0 !important;
	background: linear-gradient(
		45deg,
		rgba(255, 172, 48, 1),
		rgba(253, 118, 203, 1)
	) !important;
}

.item-accent-6 {
	border: 0 !important;
	background: linear-gradient(
		45deg,
		rgba(0, 15, 230, 0.1),
		rgba(0, 15, 230, 1)
	) !important;
}

.item-accent-7 {
	background: rgba(255, 255, 255, 0.1);
}

.item-accent-1 {
	border: 2px solid rgba(255, 172, 48, 0.5) !important;
}

.item-accent-1-1 {
	border: 2px solid rgba(255, 255, 255, 0.5);
}

.items-border-style .item-line-accent,
.item-line-accent {
	background: url("../i/rrreplicate-2.svg") repeat !important;
}

.items-no-border-style .item {
	margin-bottom: 1em;
}

.item-list .item strong {
	display: block;
	font-weight: 500;
	font-size: 1.75em;
	line-height: 1.3em;
	margin-bottom: 1em;
}

.strong-item strong {
	font-weight: 600 !important;
}

.strong-item .h1,
.strong-item .h2,
.strong-item .h3 {
	margin-bottom: 1rem !important;
}

.item-list .item p {
	margin-bottom: 0;
}

.mobile .item-list .item,
.mobile .item-list .item-col {
	margin-right: 0;
	width: 100% !important;
}

.aspect-ratio-checker {
	position: absolute;
	background: red;
	width: 2px;
	left: 0;
	top: 0;
	opacity: 0;
	aspect-ratio: 1;
}

.screen-item .wrap {
	padding: 3em;
	border-radius: 3em;
}

.mobile .screen-item .wrap {
	padding: 2em;
	border-radius: 2em;
}

.screen-item {
	margin: 3em 2em 6em;
}

.mobile .screen-item {
	margin: 2em 0;
}

.profile-block {
	position: relative;
}

.profile-block strong {
	font-weight: bold;
}

.profile-block img {
	display: inline-block;
	width: 11em;
	border-radius: 100%;
	vertical-align: middle;
	margin-right: 3em;
}

.mobile .profile-block img {
	margin-bottom: 1em;
}

.profile-block .text {
	display: inline-block;
	width: 35%;
	vertical-align: middle;
}

.mobile .profile-block .text {
	display: block;
	width: 100%;
	margin-bottom: 1em;
}

.mobile .profile-block .text:last-child {
	font-style: italic;
}

.contact-item img {
	border-radius: 100%;
	width: 10em;
	position: absolute;
}

.mobile .contact-item img {
	width: 100%;
	position: relative;
}

.contact-item strong {
	display: block;
	margin-bottom: 0em;
}

.mobile .contact-item strong {
	font-size: 2em;
}

.contact-item .wrap {
	padding: 3em 3em 3em 11em;
}

.contact-item {
	position: relative;
}

.video-player img {
	width: 100%;
	border-radius: 0.5em;
}

.video-player {
	padding-right: 3em;
	overflow: hidden;
}

.photo-gallery .right-slogan {
	text-align: right;
	width: 100% !important;
}

.photo-gallery .right-slogan h2 {
	display: inline-block;
	text-align: left;
}

.photo-gallery .reduce {
	width: 80%;
}

.photo-gallery .image {
	margin-bottom: 1em;
	padding: 4em;
}

.photo-gallery img {
	width: 100%;
	border-radius: 3em;
}

.photo-gallery .col-3-2 {
	margin-top: 14em;
}

.photo {
	overflow: hidden;
}

.photo-gallery {
}

.cloud-items {
	display: flex;
	flex-direction: row;
	flex-wrap: wrap;
	justify-content: center;
	align-items: center;
	align-content: center;
}

.cloud-items .item {
	border: 2px solid rgba(255, 172, 48, 0.5);
	padding: 2em;
	margin: 1em;
	border-radius: 2em;
	position: relative;
	max-width: 20em;
}

.cloud h2 {
	text-align: center;
}

.ml-cloud h2 {
	text-align: center;
	margin-top: 3em;
}

#cookie-message span {
	display: inline-block;
	margin-right: 1em;
}

#cookie-message .button {
	margin-top: 1em;
}

#cookie-message {
	position: fixed;
	right: 1em;
	bottom: 1em;
	max-width: 20em;
	background: #000;
	padding: 1em;
	border: 1px solid #fff;
	border-radius: 1em;
	z-index: 1000;
	display: none;
}

.sociality-brutality .button {
	margin-right: 0.5em;
	margin-bottom: 1em;
}

.sociality-brutality .wrap {
	max-width: 12em;
}

.footnote {
	position: absolute;
	width: 20%;
	right: -8em;
	top: 1em;
	opacity: 0.5;
}

.mobile .footnote {
	position: static;
	right: auto;
	top: auto;
	width: auto;
}

.action-button {
	text-align: center;
	padding: 6em 0;
}

.action-button .button {
	width: 45%;
	padding: 1em;
	font-size: 2em;
	vertical-align: middle;
}

.action-button-video .h3 {
	margin-bottom: 1em;
}

.action-button video {
	width: 100%;
	border-radius: 5em;
	overflow: hidden;
	margin-bottom: 1em;
}

.mobile .action-button video {
	border-radius: 2em !important;
}

.mobile .action-button {
	padding: 0;
	margin-top: 4em;
}

.action-button .button {
	font-size: min(1.7vw, 1.5em);
	width: 40%;
}

.action-button p {
	display: inline-block;
	text-align: left;
	width: 50%;
	vertical-align: middle;
	margin-bottom: 0;
	margin-left: 1em;
}

.mobile .action-button h2 {
	font-size: 2em !important;
}

.mobile .action-button p {
	width: 100%;
	margin-left: 0;
	margin-top: 1em;
	margin-bottom: 0;
}

.content-wrap {
	padding-left: 1.5em;
}

.mobile .content-wrap {
	padding-left: 0;
}

.items-grid a img {
	transition: 0.3s;
}

.items-grid a:hover img {
	transform: scale(1.2);
}

.items-grid .item {
	position: relative;
}

.mobile .items-grid .item {
	display: block;
}

.items-grid .item {
	overflow: hidden;
}

.items-grid .item .bg {
	margin-top: -20em;
	margin-bottom: -5em;
	width: 100%;
}

.items-grid .grid-v {
	padding: 0;
	grid-gap: 1em;
}

.items-grid a {
	color: #fff;
}

.items-grid .item {
	border-radius: 3em;
	margin-bottom: 1em;
}

.items-grid .wrap {
	position: static;
}

.items-grid .small-tags span {
	font-size: 0.75em;
	padding: 0.25em 1em;
}

.items-grid .small-tags {
}

.arrow {
	background: url("../i/arrow-right.svg") no-repeat center center;
	background-size: 100%;
	width: 1em;
	height: 1em;
	position: absolute;
	right: 2em;
	bottom: 2em;
	opacity: 0.25;
}

.services a:hover .arrow,
.items-grid a:hover .arrow {
	opacity: 1;
}

.items-grid .item p,
.items-grid .item .button {
	margin-bottom: 2em;
}

.items-grid .item .button {
	font-weight: 400;
	padding: 1em;
}

.items-grid .item .wrap {
	padding: 3em 3em;
}

.mobile .items-grid .item .wrap {
	padding: 2em;
}

.items-grid .item strong {
	display: block;
	font-weight: 500;
	font-size: 1.75em;
	line-height: 1.3em;
	margin-bottom: 1em;
	padding-right: 2em;
}

.items-grid .item p {
	line-height: 1.5;
}

.items-grid .item p:last-child {
	margin-bottom: 0 !important;
}

.items-grid .title-block .wrap {
	padding: 1em 3em !important;
}

.items-grid .title-block strong {
	margin-bottom: 0 !important;
	font-size: 1em;
	position: relative;
}

.items-grid .title-block strong .r {
	position: absolute;
	right: 0;
	font-size: 0.75em;
	opacity: 0.5;
}

.posts .h3 {
	margin-bottom: 2em;
}

.posts a {
}

.posts .arrow {
	display: inline-block;
	width: 1.5em;
	height: 1.5em;
	position: absolute;
	top: 0.2em;
	right: 0;
}

.posts a {
	color: #fff;
	cursor: pointer;
}

.posts .post-3 .photo {
	overflow: hidden;
	aspect-ratio: 1;
	border-radius: 100%;
	border: 1px solid rgba(255, 255, 255, 0.1);
	position: relative;
}

.posts .post-2 .photo {
	overflow: hidden;
	border-radius: 2em;
	margin-bottom: 1em;
	border: 1px solid rgba(255, 255, 255, 0.1);
	position: relative;
}

.posts strong {
	display: block;
}

.posts .category {
	margin-bottom: 0.5em;
	line-height: 1;
	background: #222;
	padding: 0.25em 0.5em;
	border-radius: 1em;
	display: inline-block;
}

.mobile .posts strong {
	display: block;
	margin-bottom: 1rem !important;
}

.mobile .posts .category {
	font-size: 0.75rem;
}

.posts .post-2 .category {
	position: absolute;
	bottom: 0;
	left: 1em;
}

.posts .post .photo {
	overflow: hidden;
	aspect-ratio: 1;
	border-radius: 100%;
	margin-bottom: 1em;
	border: 1px solid rgba(255, 255, 255, 0.1);
	position: relative;
}

.posts .post .photo img,
.posts .post-3 .photo img {
	position: absolute;
	top: 50%;
	left: 50%;
	transform: translate(-50%, -50%);
}

.posts strong {
	font-weight: 100;
}

.posts .photo img {
	width: 100%;
}

.posts .post-2 img {
	float: left;
}

.posts .title {
	font-size: 1em;
	text-align: left;
	margin-bottom: 2em;
	font-weight: 300;
}

.posts .title span {
	font-weight: 300;
	display: inline-block;
	padding: 0 0.5em;
	border-radius: 1em;
	background: #ccc;
	margin-left: 0.5em;
}

.posts .container {
	display: flex;
	gap: 1em;
	margin: 0 1em;
	flex-wrap: wrap;
	justify-content: center;
}

.posts .post {
	/*width: calc((100% - 5em) / 6);*/
	margin-bottom: 1em;
}

.posts .post-2 .photo {
	margin-bottom: 0;
}

.posts .post-2 {
	/*width: calc((100% - 1em) / 2);*/
	margin-bottom: 1em;
}

.posts .size-1 {
	width: calc((100% - 5em) / 6);
}

.posts .size-2 {
	width: calc((100% - 2em) / 3);
}

.posts .size-3 {
	width: calc((100% - 1em) / 2);
}

.mobile .posts .post,
.mobile .posts .post-2 {
	width: 100%;
}

.posts .empty-item {
	border-radius: 2em;
}

.posts-cols-3 .container {
	display: grid;
	grid-template-columns: 1fr 1fr 1fr;
	grid-template-rows: 1fr;
	grid-auto-columns: 1fr;
	gap: 0px 1em;
}

.posts-cols-3 .post-2 {
}

/*.posts .post-3 {
	flex: 1;
	margin-bottom: 1em;
}*/

.desktop-wide .posts .post-2 {
	flex: 2;
}

.posts .post-text {
	border-radius: 2em;
}

.posts .post-text p {
	font-size: 1.2vw;
	line-height: 1.5em;
}

.posts .post-text strong {
	font-weight: bold;
	display: block;
	margin-bottom: 2em;
	font-size: 1.2vw;
	line-height: 1.5em;
}

.mobile .posts .post-text strong {
	font-size: 1.5em;
}

.posts .post-text {
}

.posts .post .wrap {
	padding: 0 1em;
	display: block;
}

.posts .post-text .wrap {
	padding: 2em 2em 0;
}

.posts .post .soc-links {
	opacity: 0;
	transition: opacity 0.3s;
}

.posts .post:hover .soc-links {
	opacity: 1;
}

.posts .post .photo,
.posts .post-2 .photo {
	transition: transform 0.3s;
}

.posts .post:hover .photo,
.posts .post-2:hover .photo {
	transform: scale(1.02);
}

.posts .post .soc-links a {
	display: inline-block;
	background: rgba(255, 255, 255, 0.1);
	padding: 0 0.5em;
	border-radius: 1em;
	margin-top: 0.5em;
}

.posts .post .date {
	display: block;
	opacity: 0.5;
}

.posts {
	padding: 4em 0;
}

.tag-dark {
	color: #fff !important;
}
.tag {
	display: inline-block;
	padding: 0 0.25em;
	border-radius: 0.5em;
	color: #000;
}

.button-block {
	margin-top: 2em;
	text-align: center;
}

.button-block .button {
	font-size: 1em;
	font-weight: 300;
	border-width: 1px;
}

.fact {
	opacity: 0;
	transition: opacity 1s;
}
.fact:hover {
	opacity: 0.3;
}
.fact {
	font-size: 0.75em;
	line-height: 1.5;
	margin-bottom: 4em;
	padding: 2em;
}

#main-block {
	position: relative;
	left: -5em;
}
#main-block h2,
#main-block p {
	position: absolute;
	bottom: 0;
}
#main-block h2 i {
	font-style: italic;
	font-weight: 700;
	color: #fff;
}
#main-block h2 {
	color: #fff;
}
#main-block p {
	font-weight: 300;
}

.main-block-2 {
	max-width: 44rem;
}
.main-block-3 {
	max-width: 40rem;
}

.main-block-2 .rotate-side-left,
.main-block-3 .rotate-side-left {
	left: -6em;
}

i {
	font-style: italic !important;
	white-space: nowrap;
}

.prof-block {
	margin-top: 4em;
}

.prof-block .wrap {
	padding: 0 1em;
}

.items-border-style {
	gap: 0;
	margin-bottom: 0 !important;
}

.items-border-style .item {
	margin-bottom: 0;
	border-radius: 0;
	border: 1px solid #222;
	border-right: 0;
	position: relative;
}

.items-border-style .item:last-child {
	border-right: 1px solid #222;
}

.nbt .item {
	border-top: 0;
}

.nbb .item {
	border-bottom: 0;
}

.cols {
	display: flex;
	flex: 1;
	height: 100%;
}

.rows {
	display: flex;
	flex-direction: column;
	flex: 1;
	height: 100%;
	justify-content: space-between;
}

.col,
.row {
	flex: 1 1 auto;
	min-width: 0;
	min-height: 0;
	position: relative;
}

.mobile .cols,
.mobile .rows {
	display: block;
}

.row-sb {
	flex: 0;
}

.col > .cols,
.col > .rows,
.row > .cols,
.row > .rows {
	flex: 1;
	min-height: 0;
}

.screen-page {
	margin-top: 8em;
}

.message-text blockquote span {
	color: #fff;
}

.message-text blockquote span {
	display: block;
	font-size: 1rem;
	color: #999;
}

.message-text blockquote {
	margin-bottom: 1em;
	font-size: 2rem;
	line-height: 1.5em;
	border-left: 1rem solid #fd76cb;
	padding-left: 2rem;
	color: #fff;
}

.mobile .message-text blockquote {
	font-size: 1rem;
}

.message-text .image span {
	opacity: 0.5;
	font-weight: 300;
	font-style: italic;
}
.message-text .image img {
	width: 100%;
	border-radius: 1em;
}
.message-text .image {
	margin: 1em 0 4em;
	text-align: center;
}

.message-text h3,
.message-text strong {
	color: #fff;
}

.message-text h3 {
	font-size: 1.8em;
	line-height: 1.5em;
	margin-bottom: 1em;
}

.message-text table,
.message-text ul,
.message-text ol,
.message-text h3,
.message-text p {
	max-width: 100%;
	padding: 0 6rem;
}

.mobile .message-text table,
.mobile .message-text ul,
.mobile .message-text ol,
.mobile .message-text h3,
.mobile .message-text p {
	max-width: 100%;
	padding: 0em;
}

.message-text ul p {
	padding: 0;
}
.message-text ul li {
	text-indent: 0;
}

.message-text table p {
	margin-bottom: 0;
	padding: 0;
}

.message-text table th {
	font-weight: bold;
}

.message-text table th,
.message-text table td {
	border: 1px solid #222;
	padding: 0.5em;
}

.message-text table tr:nth-child(even) {
	background: #111;
}

.message-text table {
	margin-left: 0;
	padding: 0;
	margin-bottom: 2em;
}

.ul-grid {
	display: flex;
	margin-left: 0;
	padding: 0 !important;
	margin-bottom: 4em;
}

.mobile .ul-grid {
	display: block;
}

.mobile .ul-grid li {
	margin-bottom: 1em;
	border: 1px solid #222;
}

.ul-grid li:before {
	content: "";
}

.ul-grid li strong {
	display: block;
	text-indent: 0;
	font-weight: bold;
	margin-bottom: 1em;
}

.ul-grid li {
	margin-left: 0;
	flex: 1;
	border: 1px solid #222;
	border-right: 0;
	padding: 1em;
	color: #999;
}

.ul-grid li:last-child {
	border-right: 1px solid #222;
}

.article-info {
	display: flex;
	margin-bottom: 2em;
	color: #ccc;
	font-size: 0.75em;
}

.article-info div {
	margin-right: 4em;
}

.mobile .article-info div {
	margin-right: 2em;
}

.article-info .author img {
	width: 1.5em;
	height: 1.5em;
	border-radius: 100%;
	vertical-align: middle;
	margin-right: 0.5em;
}

.article-info .time img {
	opacity: 0.5;
	height: 1em;
	margin-right: 0.25em;
	position: relative;
	top: 0.15em;
}

.article-info .author {
	text-align: center;
}

.article-info .date {
	text-align: right;
	font-style: italic;
}

.mb-0 {
	margin-bottom: 0 !important;
}

.bb-0,
.bb-0 li {
	border-bottom: 0;
}

.block-h1 {
	padding: 2em 2em 0;
}

.mobile .block-h1 {
	padding: 2em 0 0;
}

.block-h3 {
	padding: 4em 2em 2em;
}

.mobile .block-h3 {
	padding: 2em 0em;
}

.complex-item-list .item {
	padding: 0;
}

.complex-item-list .row,
.complex-item-list .wrap {
	padding: 3em;
}

.mobile .complex-item-list .row,
.mobile .complex-item-list .wrap {
	padding: 0;
}

.mobile .complex-item-list .row {
	margin-bottom: 2rem;
}

.complex-item-list .row strong {
	font-size: 1em;
}

.complex-item-list .row {
	color: #888;
	font-weight: 500;
}

.complex-item-list strong {
	color: #fff;
	font-weight: bold;
}

.debug-message {
	background: red;
	width: 1em;
	height: 1em;
	border-radius: 100%;
}

.line-background {
	background: url("../i/rrreplicate-2.svg") repeat;
}

.line-background .item {
	background: #000;
}

.faq-block .h2 {
	font-weight: 500;
	font-size: 2em;
}

.faq-block .col-2-1 {
	padding: 4em;
	background: #000;
}

.faq-block .col-4-2 {
	padding: 4em 0;
}

.faq-block .item .arrow {
	background: url("../i/chevron-down.svg") no-repeat center center;
	top: 2em;
	opacity: 1;
	transition: 0.3s all;
}

.faq-block .expand .arrow {
	transform: rotate(180deg);
}

.faq-block .item p {
	margin-bottom: 0;
	transition: 0.3s all;
	opacity: 0;
	height: 0;
	margin-top: 0;
}

.faq-block p {
	max-width: 100%;
}

.faq-block .expand p {
	opacity: 1;
	height: auto;
	margin-top: 1em;
}

.faq-block .item {
	position: relative;
	border-top: 1px solid #222;
	padding: 2em;
	cursor: pointer;
	padding-right: 4em;
}

.faq-block .item:last-child {
	border-bottom: 1px solid #222;
}

.screen-img {
	width: 50%;
	border-radius: 3em;
	margin-bottom: 4rem;
}

.mobile .screen-img {
	width: 100% !important;
	margin-bottom: 2em;
}

.mobile .table {
	width: 120%;
	overflow: scroll;
}

.item h3 {
	color: #fff;
}

.mobile .bottom-screen-page {
	margin-top: 2em !important;
}

.mobile .mobile-tech-block {
	margin-top: 2em !important;
}

.screen-slide {
	margin: 6em 0;
	padding: 3em 0;
	background: #000;
}

.slides-demo .ul-grid li {
	padding: 4em 2em;
}

.slides-demo th,
.slides-demo td {
	padding: 2em 0.5em !important;
}

.slides-demo th {
	text-align: left !important;
	font-weight: normal !important;
	font-style: italic;
	font-size: 0.75em;
}

.slides-demo li img {
	width: 50%;
}

.sber500 span {
	display: block;
	font-size: 0.75em;
	opacity: 0.5;
}
.sber500 img {
	transform: none !important;
}

.sber500 {
	display: inline-block;
}

.item .sber500 {
	position: absolute;
	top: 3em;
	right: 3em;
	border: 1px solid #ffac30;
	padding: 0.5em 1em;
	border-radius: 1em;
}

.methodology-block p {
	font-size: 0.75em;
	max-width: 20em;
}

.company-info {
	font-size: 0.75em;
	color: #999;
	margin-top: 2em;
}

.image-block {
	text-align: center;
}

.image-block img {
	width: 100%;
	border-radius: 2em;
}

/* Раскрывающийся блок технических требований */
.tech-requirements {
	border: 1px solid rgba(255, 255, 255, 0.1);
	border-radius: 8px;
	padding: 2em;
	background: rgba(255, 255, 255, 0.02);
}

.tech-requirements summary {
	cursor: pointer;
	list-style: none;
}

.tech-requirements summary::-webkit-details-marker {
	display: none;
}

.tech-requirements summary:before {
	content: "▼";
	display: inline-block;
	margin-right: 0.5em;
	color: #ffac30;
	transition: transform 0.3s ease;
}

.tech-requirements[open] summary:before {
	transform: rotate(180deg);
}

.tech-requirements summary:hover {
	color: #ffac30;
}