@media (min-width: 1800px) {
  .container-xxxl {
	max-width: 1840px; /* Установите желаемую максимальную ширину контейнера */
  }
  
  .row-xxxl {
	display: flex;
	flex-wrap: wrap;
	margin-right: -15px;
	margin-left: -15px;
  }
  
  .col-xxxl {
	position: relative;
	width: 100%;
	padding-right: 15px;
	padding-left: 15px;
  }
  
  .col-xxxl-1 {width: 8.33333%;}
  .col-xxxl-2 {width: 16.66667%;}
  .col-xxxl-3 {width: 25%;}
  .col-xxxl-4 {width: 33.33333%;}
  .col-xxxl-5 {width: 41.66667%;}
  .col-xxxl-6 {width: 50%;}
  .col-xxxl-7 {width: 58.33333%;}
  .col-xxxl-8 {width: 66.66667%;}
  .col-xxxl-9 {width: 75%;}
  .col-xxxl-10 {width: 83.33333%;}
  .col-xxxl-11 {width: 91.66667%;}
  .col-xxxl-12 {width: 100%;}
  
  .d-xxxl-none {
		display: none !important;
	}
  .d-xxxl-block {
	  display: block !important;
  }
}


body {
	background: #f8f8f8;
}
.ui_hidden {
	display: none;
}
a, .btn-link {
	text-decoration: none;
}
a.selected {
	font-weight: bold;
	color: black;
	text-decoration: underline;
	text-decoration-color: red;
}
a.imgLink {
	text-decoration: none !important;
	color: inherit;
}
.subtext {
	font-family: Arial, sans-serif !important;
	font-size: 1rem !important;
}

.g-05 {
	--bs-gutter-x: 0.5rem;
}

.ui_hoverFloat {
	transition-duration: 0.25s;
	filter: saturate(95%);
}
.ui_hoverFloat:hover {
	transform: scale(1.02);
	transform-origin: middle center;
	filter: saturate(105%);
}
.ui_hoverFloat.ui_shadow {
	box-shadow: 0 0px 2px rgba(0,0,0,0.3);
}
.ui_hoverFloat.ui_shadow:hover {
	box-shadow: 0 0px 5px rgba(0,0,0,0.1), 0 25px 50px rgba(0,0,0,0.1);
	position: relative;
	z-index: 1000;
}

h2 a {
	font: inherit;
	color: inherit;
	font-size: inherit;
}

.ui_header_1 {
	font-size: 2.5rem;
	font-weight: bold;
}
.ui_header_2 {
	font-size: 2.0rem;
	font-weight: bold;
}

.moduleQuickSearch_inputForm .dropdown-menu {
	max-height: 40rem;
	overflow: auto;
}
.moduleQuickSearch_inputForm .dropdown-item {
	max-width: 25rem;
	overflow: hidden;
	text-overflow: ellipsis;
}


.scrollingHidden {
	opacity: 0%;
	transform: translateY(20px);
	-webkit-transform: translateY(20px); 
	transition: opacity 0.6s ease-out, transform 0.6s ease-out;
	-webkit-transition: opacity 0.6s ease-out, -webkit-transform 0.6s ease-out;
}
.scrollingVisible {
  	opacity: 1;
  	transform: translateY(0);
}

#moduleContentsMenu_navContents {
	position: fixed;
	top: 0;
	left: 0;
	width: 17%;
	height: 100vh;
	max-height: 100%;
	overflow-y: auto;
	background: rgb(166, 23, 23);
	color: white;
}
#moduleContentsMenu_bookImage {
	position: absolute;
	right: 0;
	bottom: 0;
	width: 200%;
	height: auto;
	mask-image: linear-gradient(to top, rgba(0, 0, 0, 0.6) 0%, rgba(0, 0, 0, 0) 70%);
	opacity: 0.8;
	z-index: 0;
}
#moduleContentsMenu_content {
	position: relative;
	height: 100%;
	width: 100%;
	padding: 2rem 2rem 6rem 2rem;
	overflow-y: auto;
	z-index: 1;
}

#moduleContentsMenu_navContents * {
	font-family: Arial, sans-serif !important;
}
#moduleContentsMenu_navContents .nav-link.active {
	background: rgba(239, 239, 239, 0.168);
}
.moduleContentsMenu_paragraphAnchor {
	margin-top: -0.5rem;
}

.menuCard {
	background: white;
	padding: 0.5em 1.5em;
	border-radius: 0.25em;
	box-shadow: 0 3px 10px #e9e1db;
}

.infoCard {
	overflow: hidden;
	padding: 2.5em;
	border-radius: 0.75em;
	box-shadow: 0 3px 10px #e9e1db;
	position: relative;
	z-index: 999;
	background: linear-gradient(135deg,rgb(72, 72, 72) 0%,rgb(88, 52, 52) 100%);
	/*background: linear-gradient(135deg, rgb(82 82 82) 40%, rgb(168 19 19) 100%);*/
	/*background: linear-gradient(166deg, rgb(216 91 91) 0%, rgb(133 0 0) 25%, rgb(209 62 62) 100%);*/
	color: rgb(241, 239, 239);
	--a: 0.5deg;
	--l: -10px;
	transform: perspective(100px) translate(var(--l), 0) rotate3d(var(--r,1,-1),0,calc(var(--i,1)*var(--a)));
	/*mask: linear-gradient(135deg,#000c 40%,#000,#000c 60%) 100% 100%/250% 250%;*/
	transition: .4s;
}
.infoCard.left {
  --a: -0.5deg;
  --l: 10px;
  transform: perspective(100px) translate(var(--l), 0) rotate3d(var(--r,1,-1),0,calc(var(--i,1)*var(--a)));
  /*mask: linear-gradient(135deg,#000c 40%,#000,#000c 60%) 100% 100%/250% 250%;*/
}
.infoCard:hover {
  --i: 0;
  --l: 0; 
  /*mask-position: 0 0;*/
}

.infoCard ul {
	list-style: none; /* Убираем стандартные маркеры */
	padding: 0;
	margin: 0;
	position: relative;
}
.infoCard ul li {
	position: relative;
	padding-left: 30px; /* Отступ для размещения маркера */
	padding-bottom: 10px; /* Расстояние между пунктами */
}

.infoCard ul li::before {
	content: '';
	position: absolute;
	left: 0.7em;
	top: 0.6em;
	width: 10px;
	height: 10px;
	background: rgba(255, 0, 0, 1);
	border-radius: 50%;
	opacity: 0.8;
	transition: transform 0.3s;
}
.infoCard ul li:hover::before {
	transform: scale(1.2); 
}
.infoCard h2 {
	color: white;
}
.infoCard *:not(.btn):not(h2):not(svg):not(path) {
	font-family: Arial, sans-serif;
	color: #dbdbdb;
}
.infoCard a:not(.btn):not(svg):not(path), .infoCard span.moduleLinkedParagraphs_paragraphLink {
	color: #ffffff !important;
}

.infoSimpleCard {
	background-image: linear-gradient(120deg, transparent 80%, rgb(238, 238, 238) 100%);
	border-radius: 0.25em;
}



.updateCard {
	border: 1px solid rgb(216, 216, 216);
	border-radius: 0.5rem;
	overflow: hidden;
	background: white;
}
.updateCardContent {
	max-height: 30rem;
	overflow: auto;
}
.updateCard .cardContent {
	flex-direction: column;
}
.updateCardInfo {
	background: linear-gradient(266deg,rgb(234, 234, 234) 0%,rgb(216, 216, 216) 100%);
	margin-top: auto; 
}


.newsCard {
	display: block;
	position: relative;
	overflow: hidden;
	height: 30em;
	background-size: 100% auto !important;
	background-position: bottom center !important; 
	border-radius: 0.25em;
}
.newsCard img {
	position: absolute;
	width: 100%;
	z-index: 1;
	bottom: -10%;
}
.newsCard video {
	position: absolute;
	width: 100%;
	z-index: 2;
	bottom: -10%;
}
.newsCard .cardBadges {
	position: absolute;
	z-index: 3;
	bottom: 1.5em;
	right: 1.5em;
}


.bookCard {
	display: block;
	position: relative;
	width: 100%;
	aspect-ratio: 1/1.4;
	border-radius: 0.6em 0.2em 0.2em 0.6em;
	overflow: hidden;
}
.bookCard .cardImage {
	position: absolute;
	right: 0;
	bottom: 0;
	width: auto;
	height: 100%;
	mask-image: linear-gradient(to left top, rgba(0, 0, 0, 0.6) 0%, rgba(0, 0, 0, 0) 70%);
	transition: .3s;
	opacity: 0.8;
}
.bookCard:hover .cardImage {
	opacity: 1.0;		
}
.bookCard .cardSpotlight {
	position: absolute;
	width: 70%;
	aspect-ratio: 1;
	pointer-events: none;
	border-radius: 50%;
	background: radial-gradient(circle, rgba(255, 228, 198, 0.4) 0%, rgba(255, 255, 255, 0) 100%);
	transform: translate(-50%, -50%);
	mix-blend-mode: overlay; /* Эффект наложения */
	filter: blur(5rem);
	opacity: 0;
	transition: opacity .5s;
}
.bookCard ul {
	list-style-type: '';
	padding-left: 0;
}
.bookCard .cardCover {
	background-image: url(/inc/img/book_cover.png);
	width: 10%;
	height: calc(100% - 10px);
	background-repeat: repeat-y;
	background-size: 100% auto;
	mix-blend-mode: overlay;
	opacity: 1;
}
.bookCard .cardText {
	width: 75%;
}
.bookCard .cardPages {
	position: absolute;
	bottom: 0; 
	width: 100%;
}
.bookCard .cardBadges {
	position: absolute;
	z-index: 3;
	bottom: 2em;
	left: 2em;
}
.bookCard .cardLogo {
	width: 10em; 
	mix-blend-mode: overlay;
	transform: rotate(90deg);
	position: absolute;
	z-index: 3;
	bottom: 6em;
	right: -3em;
	opacity: 0.75;
}
.bookCard .cardContent {
	mask-image: linear-gradient(to bottom, rgba(0, 0, 0, 1) 80%, rgba(0, 0, 0, 0) 90%); 
	height: 100%;
}
.bookCard .cardHeader {
	overflow: hidden;
}




.articleCard {
	display: block;
	position: relative;
	width: 100%;
	border-radius: 0.5em;
	overflow: hidden;
	box-shadow: 0 3px 15px rgb(201, 201, 201);
}
.articleCard .cardImage {
	height: 15rem;
	overflow: hidden;
	position: relative;
	opacity: 0.9;
	clip-path: polygon(0 30%, 100% 0%, 100% 100%, 0 100%);
}
.articleCard .cardImage img {
	transition: transform 0.5s, filter 0.5s;
	position: absolute;
	bottom: 0;
	width: 100%;
	filter: saturate(0.5);
}
.articleCard:hover .cardImage img {
	transform: scale(1.05);
	filter: saturate(1);
}
.articleCard .cardImage .cardBadges {
	position: absolute;
	z-index: 3;
	bottom: 1.5em;
	right: 1.5em;
}


.topicCard {
	
}
.topicCard .topicInfo { 
	position: relative;
	width: 10rem;
	text-align: right;
	padding-right: 1.5rem;
	margin-top: 1.5rem;
}
.topicCard .topicInfo p {
	text-overflow: ellipsis;
	overflow: hidden;
}
.topicCard .topicMessage {
	flex: 1;
	border-radius: 0.75rem;
	box-shadow: 0 1px 3px #c2b9b4;
	background-color: #ffffff;
	transition: box-shadow 0.25s, transform 0.25s;
}
.topicCard:hover .topicMessage {
	transform: translateY(-1px); 
	box-shadow: 0 5px 10px #ccc0b7;
}
.topicCard:hover .topicTriangle, .topicCard:hover .topicTriangleShadow {
	transform: translateY(-1px) rotate(45deg); 
}
.topicCard:hover .topicTriangleShadow {
	box-shadow: 0 5px 5px #f0e9e4;
}
.topicCard .topicTriangle {
	position: absolute;
	left: 10.3rem;
	top: 2.5rem;
	transform: rotate(45deg);
	width: 1rem;
	height: 1rem;
	background: white;
	transition: transform 0.25s;
}
.topicCard .topicTriangleShadow {
	position: absolute;
	left: 10.3rem;
	top: 2.5rem;
	transform: rotate(45deg);
	width: 1rem;
	height: 1rem;
	box-shadow: 0 1px 3px #cac2bc;
	z-index: -1;
	transition: box-shadow 0.25s, transform 0.25s;
}


.cardBadge:not(:last-child) {
	margin-right: 0.25rem;	
}
.cardBadge {
	padding: 0 0.5em 0.15em 0.5em;
	background: rgba(224, 4, 4, 1);
	color: white;
	border-radius: 0.25em;
	display: inline-block;
	opacity: 0.9;
	transition: opacity 0.25s, transform 0.25s;
}
.cardBadge:hover {
	opacity: 1;
	transform: translateY(-1px);
}
.cardHeader {	
	color: white !important;
	z-index: 99999;
}
.cardText, .cardText * {	
	color: #d3d3d3 !important;
}




.serviceCard {
	display: block;
	position: relative;
	border-radius: 0.25em;
}
.serviceCard .cardHeader {
	color: rgba(0,0,0,0.8) !important;
}
.serviceCard .cardText {
	color: rgba(0,0,0,0.6) !important;
}





#cadsimPromo {
	position: relative;
	z-index: 10000;
}
@media (min-width: 1200px){
  #cadsimPromo {
	transform: scale(1.3);
  }
}
.cadsimPromo_img {
	position: absolute;
	top: 0;
	left: 0;
	width: 100%;
	transition: .5s;
	z-index: 10000;
	filter: brightness(0.95);
}
.cadsimPromo_img.active {
	transform: translatey(-10em) scale(1.1);
	filter: brightness(1.05);
}
#cadsimPromo_img {
	position: relative;
	width: 100%;
	z-index: 10001;
}





/* Базовые стили для эффекта свечения границы */
.effectBorderGlow {
  position: relative;
  border-radius: 0.5em;
  padding: 20px;
  transition: 0.25s filter;
  --gradient: linear-gradient(45deg, #dcdcdc, #c1ac77, #4e4e4e);
}

/* Стили для внутреннего содержимого */
.effectBorderGlow > div {
  position: relative;
  border-radius: 0.25em;
}

/* Стили для псевдоэлементов ::before и ::after */
.effectBorderGlow::before,
.effectBorderGlow::after {
  content: "";
  position: absolute;
  top: 0;
  left: 0;
  bottom: 0;
  right: 0;
  /* Использование CSS-переменной для фона */
  background-image: var(--gradient);
  background-size: 400%;
  z-index: -1;
  width: 100%;
  height: 100%;
  border-radius: 0.5em;
  /* Анимация свечения */
  animation: glow 15s linear infinite;
  animation-play-state: paused;
  /* Оптимизация производительности */
  will-change: background-position;
  
  /* Добавление префиксов для лучшей поддержки браузерами */
  -webkit-animation: glow 15s linear infinite;
  -webkit-animation-play-state: paused;
  /* Дополнительные префиксы при необходимости */
}

/* Дополнительные стили для ::after */
.effectBorderGlow::after {
  /* Размытие для мягкого свечения */
  -webkit-filter: blur(10px);
  filter: blur(10px);
  opacity: 0.75;
  /* Оптимизация для аппаратного ускорения */
  -webkit-transform: translate3d(0, 0, 0);
  transform: translate3d(0, 0, 0);
}


.effectBorderGlow::before {
	filter: saturate(0.5);
	transition: filter 0.5s;
}
.effectBorderGlow:hover::before {
	filter: saturate(1.2);
}

/* Запуск анимации при наведении курсора 
.effectBorderGlow:hover::before,
.effectBorderGlow:hover::after {
  animation-play-state: running;
  -webkit-animation-play-state: running;
}*/

/* Ключевые кадры для анимации свечения
@keyframes glow {
  0% {
	background-position: 0 0;
  }
  50% {
	background-position: 100% 0;
  }
  100% {
	background-position: 0 0;
  }
} */

/* Префикс для Safari и других WebKit-браузеров 
@-webkit-keyframes glow {
  0% {
	background-position: 0 0;
  }
  50% {
	background-position: 100% 0;
  }
  100% {
	background-position: 0 0;
  }
}*/

/* Определение градиентов для разных сервисов с использованием CSS-переменных 
.effectBorderGlow[service=cadsim] {
  --gradient: linear-gradient(45deg, #854d85, #e335e3);
}

.effectBorderGlow[service=chronology] {
  --gradient: linear-gradient(45deg, #885268, #e42e5e);
}

.effectBorderGlow[service=sdq] {
  --gradient: linear-gradient(45deg, #7c6347, #e49a31);
}

.effectBorderGlow[service=personalontology] {
  --gradient: linear-gradient(45deg, #8e874d, #e4d32e);
}

.effectBorderGlow[service=api] {
  --gradient: linear-gradient(45deg, #66844a, #87d729);
}

.effectBorderGlow[service=skp0393] {
  --gradient: linear-gradient(45deg, #4f8769, #27e187);
}

.effectBorderGlow[service=graph] {
  --gradient: linear-gradient(45deg, #498581, #2adeba);
}

.effectBorderGlow[service=testing] {
  --gradient: linear-gradient(45deg, #4c7d86, #25badb);
}

.effectBorderGlow[service=gradcalc] {
  --gradient: linear-gradient(45deg, #475b8a, #259adf);
}

.effectBorderGlow[service=definitions] {
  --gradient: linear-gradient(45deg, #574f8f, #5c26e7);
}*/










.effectHoverIllustration_imageContainer {
	overflow: hidden;
}
.effectHoverIllustration_imageContainer img {
	width: 108.1%;
	left: -3.75%;
	bottom: -10%;
	position: relative;
	transition: 0.5s transform;
	transform: translateX(-20px) perspective(250px) rotateX(4deg) rotateY(-5deg) rotateZ(1deg);
}

.effectHoverIllustration:hover .effectHoverIllustration_imageContainer img {
	transform: translateX(-20px) perspective(250px) rotateX(3.5deg) rotateY(-4.5deg) rotateZ(0.5deg) scale(1.02);
}




.digit-block {
  transition: transform 0.5s ease-out;
  transform: translateX(1rem);
}
.digit-block.inPosition {
  transform: none;
}
.digit {
  position: absolute;
}
.digit::before {
  content: "";
  display: block;
  width: 100%;
  height: 100%;
  background-image: url('/inc/img/2025/digits_bg.jpg');
  background-size: 20rem;
  background-position: 70% center;
  transition: background-position 5s ease-out;
}
.digit-block.inPosition .digit::before {
  background-position: 30% center;
}

.digit-1 {
	left: -2rem; 
	top: -0.5rem;
	height: 4rem;
	width: 3rem; 
}
.digit-1::before {
  mask: url('/inc/img/2025/digit_1.svg') no-repeat center / contain;
}
.digit-2 {
	left: -1rem; 
	top: -0.5rem;
	height: 4.5rem;
	width: 3.5rem; 
}
.digit-2::before {
  mask: url('/inc/img/2025/digit_2.svg') no-repeat center / contain;
}
.digit-3 {
	left: -2rem; 
	top: -0.5rem;
	height: 4.5rem;
	width: 3.5rem; 
}
.digit-3::before {
  mask: url('/inc/img/2025/digit_3.svg') no-repeat center / contain;
}



#pageFooter {
	background: linear-gradient(135deg,rgb(58, 58, 58) 0%,rgb(58, 58, 58) 75%, rgb(78, 64, 64) 100%);
	background: linear-gradient(135deg,rgb(58, 58, 58) 70%,rgb(88, 52, 52) 100%);
	position: relative;
	overflow: hidden;
}
#pageFooter * {
	color: rgb(228, 228, 228);
	font-size: 0.75rem;
}
#pageFooter a:hover {
	color: white;
}
#footer_gkn77ru {
	xfont-size: 75%;
}



.moduleBookArticle_paragraphViewer {
	position: relative;
}
.moduleBookArticle_paragraphMenuButton {
	padding: 0;
	background-color: transparent;
	border: 0;
	-webkit-appearance: none;
	float: right;
	font-weight: 700;
	color: #000;
	text-shadow: 0 1px 0 #fff;
	opacity: .5;
}
.moduleBookArticle_paragraphMenuButton:hover {
	color: #000;
	text-decoration: none;
	opacity: .75;
}