/* ------------- ОСНОВНЫЕ ТЕГИ ------------------------------------------------------------------------------ */
:root{
	--color-1: #0A0A0A;
	--color-2: #fff;
	--color-3: #32CD32;
	--color-4: #22252C88;
	--color-5: #44474E88;
	--color-6: #44474E88;
}

*{
	transition: .3s;
	font-family: "Montserrat", sans-serif;
}

body {  /* Тело документа */
	background-image: url('../images/bg1.png'); 	
}

/* Разные кавычки для разных языков (тег <q>) */
body:lang(en) q { quotes: "\201C" "\201D" "\2018" "\2019"; }
body:lang(uk) q, body:lang(de) q { quotes: "\201E" "\201C"; }
body:lang(ru) q, body:lang(fr) q { quotes: "\00AB" "\00BB" "\201E" "\201C"; }

h1 { /* Заголовок страницы */
  font: bold 18pt "Montserrat", sans-serif;
  line-height: 100%;
  text-align: center;
  color: var(--color-3);
  margin: 10pt 0 20pt;
  text-transform:uppercase;
}

h2 { /* Подзаголовок страницы (названия подразделов) */
  font: bold 15pt "Montserrat", sans-serif;
  text-align: left;
  text-indent: 25pt;
  margin: 10pt;
  color: var(--color-3);
}

h3 { /* Подзаголовок страницы (названия подподразделов) */
  font: bold 15pt "Montserrat", sans-serif;
  text-align: left;
  text-indent: 10pt;
  margin: 10pt;
  text-indent: 25pt;
  color: var(--color-3);
}

h4 {
  font: bold 15pt "Montserrat", sans-serif;
  text-align: left;
  text-indent: 10pt;
  margin: 10pt;
  text-indent: 25pt;
  color: var(--color-3);
}

h2.cntr { /* Подзаголовок страницы (названия подразделов) с выравниванием по центру */
  text-align: center;
  text-indent: 0pt;
}

#header h1 { /* ФИО в шапке*/
  text-align: left;
  font: bold 18pt "Montserrat", sans-serif; 
  line-height: 90%;
  padding: 4pt 0pt 0pt 0pt;
  margin-top: 10pt;
  color: var(--color-3);
  text-transform:uppercase;
}

#header h2 { /* Тема работы в шапке*/
  font: bold 16pt "Montserrat", sans-serif; 
  line-height: 90%;
  text-indent: 0pt;
  margin: 0pt;
  padding: 5pt 0pt 5pt 0pt;
  color: var(--color-3);
  text-transform:uppercase;
}

#header h3 { /* Факультет, кафедра, преподаватель в шапке*/
  font: 14pt "Montserrat", sans-serif; 
  line-height: 100%;
  color: var(--color-2);
  text-indent: 0pt;
  margin: 0pt;
  padding: 5pt 0pt 10pt 0pt;
}

p { /* Абзац */
	text-indent: 20pt;
	font: 15pt/120% "Montserrat", sans-serif; 
	margin: 0pt 0pt 0pt 0pt;
	padding: 2pt 15pt 3pt 15pt;   		
	text-align: justify;

}

img { 
border: 0; 
}

ol { /* Нумерованный список */
	text-indent: 0pt;
	margin: 10pt 0pt 0pt 0pt;
}

ol h2 { /* Заголовок внутри нумерованного списка */
	text-indent: 0pt;
	margin: 30pt 10pt 10pt 0pt;
}

p + ol { margin-top: 0pt;} /* Если нумерованный список идет сразу после абзаца - отступ не нужен */

ul { /* Ненумерованный список */
	text-indent: 0pt;
	margin: 0pt;
}

ul.content { /* Содержание в реферате */
	margin-left: 5pt;
	list-style-type: none;
}

li { /* Элемент списка */
  margin-left: 25pt;
  font: 15pt "Montserrat", sans-serif;
  padding: 0 5pt 5pt 0pt; 
}


a { /* Простая ссылка */
	font: 14pt "Montserrat", sans-serif;
	color: blue;	
}

a:hover { /* Курсор наведен на ссылку */
	color: firebrick;
	text-decoration: none;
}

a:visited { /* Посещенная ссылка */
	color: #915c9e; 
}

/* ---------------------------------------------------------------------------------------------------------- */
/* ------------- ОСНОВНЫЕ БЛОКИ ----------------------------------------------------------------------------- */

#topblock { /* Верхний блок (Флаги и ДоННТУ) */
	min-height: 36px;		
  border-bottom: solid 1pt #b4cdd4;	
}

#langbox { /* Блок флагов */
	float: left;
  padding: 5pt 0pt 0pt 5pt;
}

#donntu { /* Блок ДонНТУ и портала магистров */
	float: right;
	padding: 5pt 5pt 0pt 0pt;	
	margin: 0pt 3pt 0pt 3pt;
}

#donntu a { /* Ссылки в блоке ДонНТУ */
	font: 12pt Century, serif;
  margin-left: 3pt;
}

#donntu a:visited { /* Ссылки в блоке ДонНТУ (цвет посещенных не меняется) */ 
  color: blue;
}

#photomag { /* Блок фотографии */
	float: left;
	width: 180px;
  padding: 10pt 20pt 10pt 10pt;  
}

#header { /* Блок шапки (фотография и текст) */
	min-height: 270px;
	clear: both;
}

#headertext { /* Блок шапки (только текст) */
  padding: 10pt 10pt 10pt 10pt;
}

.img { /* Блок с рисунком */
  margin: 15pt 0 30pt 0;
  text-align: center;
}

.imgcaption { /* Подпись под рисунком */
 font: italic 15pt/120% "Montserrat", sans-serif;
 margin: 0pt 0pt 0pt 0pt;
 padding: 2pt 15pt 3pt 15pt;
 text-align: center;
}

.comment { /* Блок с комментарией (в финально версии сожет не использоваться)*/
  background: lightsteelblue; 
  color: white; 
  font-size: 12pt; 
  margin: 0pt 20pt 0pt 20pt; 
  padding: 10pt 10pt 10pt 10pt; 
  text-indent: 0;
}

.cntr { text-align: center; } /* Выравнивание по центру */
.bld {font-weight: bold;}     /* Полужирный */
.itl {font-style: italic;}    /* Курсив */

/* ---------------------------------------------------------------------------------------------------------- */
/* ------------- ТАБЛИЦА РЕЗЮМЕ ----------------------------------------------------------------------------- */

table#resume { /* Сама таблица */ 
	margin: 0 auto;
	margin-bottom: 0pt;
}

table#resume tr{
	vertical-align: top;
	border-bottom: 1px solid white;
}

table#resume tr ul{
	padding: 0;
	
}

table#resume tr ul li{
	font-size: 16px;
	margin-left: 16px;
	padding: 0;
	line-height: 1.5;
}

table#resume tr td {  /* Ячейка в таблице */
	border: 0pt solid black;
	padding: 6pt;
	
}

table#resume tr h4{
	font-size: 17px;
	margin-top: 0;
}

table#resume tr a{
	color: var(--color-2);
	text-decoration: none;
	font-size: 16px;
}

table#resume tr a:hover{
	color: var(--color-3);
}

table#resume td.c1 { /* Первый столбец */ 
  width: 25%; 
  text-align: right; 
  padding-right: 10pt; 
  color: var(--color-3);
  text-transform:uppercase;
}

table#resume td.c2 { width: 75%; } /* Второй столбец */

table#resume td{color: var(--color-2);}

/* ---------------------------------------------------------------------------------------------------------- */
/* ------------- ПУНКТ СПИСКА БИБЛИОТЕКИ -------------------------------------------------------------------- */

.lib { margin: 10pt 0pt 20pt 25pt; }

.lib p { /* Абзац в пункте списка */
	text-indent: 0pt;
	margin: 4pt 0pt 0pt 0pt;
}

.lib .cat { /* Название категории (автор, описание, источник) в описании пункта списка */
	color: #150146;
	font-weight: bold;
}

/* ---------------------------------------------------------------------------------------------------------- */
/* ------------- ПУНКТ СПИСКА СССЫЛОК  ---------------------------------------------------------------------- */

.list { margin: 5pt 0pt 12pt 25pt; }

.list p { /* Абзац внутри элемента списка */
	text-indent: 0pt;
	margin: 4pt 0pt 0pt 0pt;
}

.list .cat { /* Название категории (автор, описание, источник) в описании пункта списка */
	font-weight: bold;
}

/* ---------------------------------------------------------------------------------------------------------- */
/* ------------- ТАБЛИЦА ОТЧЕТА О ПОИСКЕ  ------------------------------------------------------------------- */

table.search { /* Сама таблица */
	width: 80%;
	margin: 0 auto;
	margin-bottom: 40pt;
  margin-top: 10pt;
  border-collapse:collapse;
  padding:0px;
  text-align: center;
}

table.search tr td { /* Ячейка в таблице */	
  border: 1pt solid black; 
  padding: 3pt;
} 

table.search td.c1 { /* Первый столбец */ 
  width: 52%; 
  text-align: left; 
  padding-left: 10pt; 
  color: #150146; 
  font-size: 15pt;
}
  
table.search td.cn { /* Все остальные столбцы */ 
  width: 12%; 
  text-align: center; 
}

table.search td.cspan { padding: 15pt 5pt 5pt 0pt;} /* Объединенный столбец (название языка)*/ 

table.search tr.odd { background-color: white; }    /* Нечетная строка */  
table.search tr.even { background-color: #f5f5f5;}  /* Четная строка */

table.search tr.odd:hover { background-color: #eefbff;}  /* Курсор наведен на нечетную строку */
table.search tr.even:hover { background-color: #deebef;} /* Курсор наведен на подсвеченную четная строку */

table.search td.cspan p { /* Абзац в объединенном столбце */ 
  color: black; 
  font: bold 13pt Century Gothic, serif; 
  text-indent: 10pt; 
  margin: 0;
}
  
table.search td.cn a { /* Ссылка (количество найденных результатов) */ 
  font-size: 13pt;
  font-weight: bold; 
  color: mediumblue;
}  

table.search td.cn a:visited { color: mediumblue; } /* Посещенная ссылка */
table.search td.cn a:hover { color: firebrick; }    /* Подсвеченная ссылка */

/* ---------------------------------------------------------------------------------------------------------- */
/* ------------- КНОПКИ ГЛАВНОГО МЕНЮ ----------------------------------------------------------------------- */

.button { /* Сама кнопка */
  color: white;
	display: inline-block;
	outline: none;
	cursor: pointer;
	text-align: center;
	text-decoration: none;
	font: 14pt/100% "Montserrat", sans-serif;
	padding: .4em .6em .5em;
	text-shadow: 0px 1px 1px rgba(0,0,0,.3);
  margin: .5em .15em .0em .15em; 
	-webkit-border-radius: .4em; 
	-moz-border-radius: .4em;
	border-radius: .4em;
	-webkit-box-shadow: 0 1px 2px rgba(0,0,0,.2);
	-moz-box-shadow: 0px 1px 2px rgba(0,0,0,.2);
	box-shadow: 0px 1px 2px rgba(0,0,0,.2);
}
.button:active { /* Нажатая кнопка */
	position: relative;
	top: 1px;
}

.bigrounded { /* Кнопка с закругленными углами */
	-webkit-border-radius: 2em;
	-moz-border-radius: 2em;
	border-radius: 2em;
}

.color { /* Цвет кнопки*/
	color: navy;  
	border: solid 1px #7496a2;
	background: #96c1d0;
	background: -webkit-gradient(linear, left top, left bottom, from(white), to(#96c1d0));              /* chrome, safari, opera  */
	background: -moz-linear-gradient(top,  #fff,  #96c1d0);                                             /* firefox */
	filter:  progid:DXImageTransform.Microsoft.gradient(startColorstr='white', endColorstr='#96c1d0');  /* ie */
}

.color:visited { color: #6500c4; } /* Кнопка посещенной ссылки */
  
.color:hover { /* На кнопку наведен курсор */
	background: #007ead;
	color: white;
	text-decoration: none;    
	background: -webkit-gradient(linear, left top, left bottom, from(#8cd0e9), to(#00678e));
	background: -moz-linear-gradient(top,  #8cd0e9,  #00678e);
	filter:  progid:DXImageTransform.Microsoft.gradient(startColorstr='#8cd0e9', endColorstr='#00678e');
}

.color:active { /* Нажатая кнопка */
	color: white;
	position: relative;
	top: 1px;
	background: -webkit-gradient(linear, left top, left bottom, from(#0078a5), to(#00adee));
	background: -moz-linear-gradient(top,  #0078a5,  #00adee);
	filter:  progid:DXImageTransform.Microsoft.gradient(startColorstr='#0078a5', endColorstr='#00adee');
}

.colorfix { /* Кнопка текущего раздела */
	position: static;
	top: 0px;
	cursor: auto;
	color: #692f06; 
	font-weight: bold;  
	text-shadow: 0px 0px 0px rgba(0,0,0,.0);
	border: solid 1px #7496a2;
	background: #ffd200;           
	background: -webkit-gradient(linear, left top, left bottom, from(white), to(#ffd200));             /* chrome, safari, opera  */
	background: -moz-linear-gradient(top,  white,  #ffd200);                                           /* firefox */
	filter:  progid:DXImageTransform.Microsoft.gradient(startColorstr='white', endColorstr='#ffd200'); /* ie */
}
	
.colorfix:active  { top: 0px; }		    /* Активную кнопку не смещаем вниз при нажатии */
.colorfix:hover   { color: #692f06; }	  /* Цвет при наведении не меняем */


body{
	background-image: url('../images/background.png');
}

*{
	color: var(--color-2);
}

*,
html *
{
  scrollbar-width: auto;
  scrollbar-color: var(--color-3) #22252CFF;
}

*::-webkit-scrollbar,
html *::-webkit-scrollbar {
  height: 12px;
  width: 12px;
}
*::-webkit-scrollbar-track,
html *::-webkit-scrollbar-track {
  background: var(--color-3);
}
*::-webkit-scrollbar-thumb,
html *::-webkit-scrollbar-thumb {
  background-color: var(--color-3);
}

::selection{
	background: #44474EFF;
}

#topblock, footer{
	background: var(--color-4);
	border: none;
	margin: 0;
	padding: 15px;
	backdrop-filter: blur(3px);
}

#topblock{
	margin-bottom: 25px;
	box-shadow: 0 5px 5px var(--color-1);
}

#topblock img{
	height: 30px;
}

footer{
	margin-top: 15px;
	display: flex;
	gap: 10px;
	flex-wrap: wrap;
}

footer a{
	color: var(--color-2);
	text-decoration: none;
}

#topblock .container{
	display: flex;
	justify-content: right;
	gap: 20px;
	align-items: center;
}

#langbox, #donntu{
	float: none;
	padding: 0;
}

footer{
	display: flex;
	justify-content: center;
	gap: 20px;
}

#header{
	display: flex;
	justify-content: left;
	gap: 20px;
	min-height: 100%;
}


#header h1{
	line-height: 1;
	margin: 0;
	padding: 0;
}

#headertext{
	padding: 0;
	display: flex;
	justify-content: center;
	flex-direction: column;
	gap: 10px;
}

#header h2{
	line-height: 1.2;
}

#header h3{
	padding: 0;
	line-height: 1.2;
}

#resume-wrapper{
	width: 100%; 
	overflow-x: auto;
}

.resume h4{
	text-indent: 0;
	margin-left: 0;
}

.resume ol{
	padding: 0;
	margin: 0;
}

.resume .skills-list b{
	font-weight: 400;
	color: var(--color-3);
}

.resume ol li{
	margin-left: 15px;
}


#photomag{
	float: none;
	padding: 0;
	margin: 0;
}

#photomag img{
	border-radius: 10px;
	cursor: pointer;
}

#main-menu{
	margin-top: 25px;
	background: var(--color-4);
	padding: 10px 10px 0 10px;
	border-radius: 15px 15px 0 0;
	box-shadow: 0 0 5px var(--color-1);
	backdrop-filter: blur(3px);
}

#main-menu-list{
	margin: 0;
	padding: 0;	
	display: flex;
	gap: 10px;
	flex-wrap: wrap;
	list-style: none;
	justify-content: center;
}

.menu-item{
	margin: 0;
	text-align: center;
	padding: 0;
	border-radius: 10px 10px 0 0;
}

.menu-item .menu-link{
	color: var(--color-2);
	text-decoration: none;
	display: flex;
	gap: 5px;
	text-align: center;
	align-items: center;
	flex-direction: column;
	padding: 10px;
}

.menu-item.active{
	border-top: 0.5px solid rgba(255,255,255,.125);
	border-left: 0.5px solid rgba(255,255,255,.125);
	border-right: 0.5px solid rgba(255,255,255,.125);
	background: #33363D88;
}

.menu-item:hover{
	background: var(--color-5);
}

.menu-item .menu-link img{
	height:30px;
}

#maintext{
	margin:0;
	padding: 10px;
	background: var(--color-4);
	box-shadow: 0 0 5px var(--color-1);
	backdrop-filter: blur(3px);
	border-radius: 0 0 15px 15px;
}

footer a:visited{
	color: white;
}

footer a:hover{
	color: var(--color-3);
}

#photomag img:hover{
	transform: scale(1.05);
}

#top-button{
	width: 50px;
	position: fixed;
	bottom: 10px;
	right: 10px;
	background: var(--color-4);
	box-shadow: 0 0 5px var(--color-1);
	backdrop-filter: blur(3px);
	padding: 5px;
	border-radius: 10px;
	z-index: 1;
	cursor: pointer;
	display: none;
}

#top-button:hover{
	background: var(--color-5);
}

#top-button img{
	width: 100%;
}


abbr {
  text-underline-offset: 4px;
}

#maintext p{
	overflow: hidden;
    white-space: wrap;
    text-overflow: ellipsis;
    width: 100%;
	color: var(--color-2);
	line-height: 1.5;
	font-size: 16px;
}

li{
color: var(--color-2);
	line-height: 1.5;
	font-size: 16px;
}

.diss-content ul{
	margin: 0;
	padding: 0 20px;
	list-style: none;
}

.diss-content li{
	text-indent: 30px;
	margin: 0;
}

.diss-content ul li::before{
	content: "— ";
}

#diss-menu-list{
	list-style: none;
	padding: 5px 15pt;
	margin: 0;
	background: var(--color-6);
	box-shadow: 0 0 5px var(--color-1);
	backdrop-filter: blur(3px);
	border-radius: 10px;
}

a, a:visited{
	color: var(--color-2);
	text-decoration: none;
	font-size: 17px;
	line-height: 1.5;
}


a:hover{
	color: var(--color-3);
	text-decoration: underline;
}

#diss-menu-list li::before{
	content: "";
}


li.ct1 {
  margin-left: 0pt;
  padding: 0; 
}

li.ct2 {
  margin-left: 20pt;
  padding: 0; 
}

figure{
	margin: 30px 10px;
	text-align: center;
}

figure img{
	width: 570px;
	border-radius: 10px;
}

figcaption{
	margin-top: 10px;
	color: var(--color-2);
}

.diss-content ol{
	margin: 0;
	padding: 5px 15pt;
}

.diss-content ol li{
	overflow: hidden;      
	white-space: wrap;
	text-overflow: ellipsis;
	width: 100%;
}

.ind-content ol{
	margin: 0;
	padding: 5px 20px 5px 20px;
	list-style: none;
}

.ind-content li{
	text-indent: 30px;
	padding: 0;
	margin: 0;
}

.library ol{
	margin: 20px;
}

hr{
	color: var(--color-2);
}

.library .lib{
	margin: 15px 0 0 30px;
	padding: 0;
}

.library h2{
	margin: 10pt;
}

.library .cat{
	color: var(--color-3);
}

#article-content p{
	color: var(--color-2);
	font-size: 16px;
	line-height: 1.5;
}

#article-content #annotation{
	margin-left: 20pt;
	text-indent: 0;
}

.back-link{
	margin: 10px 0px;
	display: flex;
	align-items: start;
}

.back-link:hover{
	text-decoration: none;
}

#article-content{
	padding: 0 0 15px 0;
}

#article-content ul {
    margin: 0;
    padding: 0 20px;
    list-style: none;
}

#article-content li{
	text-indent: 30px;
    margin: 0;
}

#article-content ul li::before{
	content: "— ";
}

#article-content ol li {
    overflow: hidden;
    white-space: wrap;
    text-overflow: ellipsis;
    width: 100%;
}
#article-content li {
    text-indent: 30px;
    margin: 0;
	padding: 0;
}

#article-content ol {
    margin: 0;
    padding: 0px 15pt;
}

#article-content table{
	color: var(--color-2);
	margin: 20px auto;
	max-width: 100%;
}

#article-content table caption{
	color: var(--color-2);
	caption-side: top;
	text-align: right;
}

#article-content th, #article-content td{
	border: 1px solid var(--color-2);
	padding: 5px;
}

pre{
	margin: 20px;
	background: var(--color-6);
	backdrop-filter: blur(3px);
    border-radius: 10px;
	position: relative;
	padding: 5px;
	min-height: 40px; 
}

pre .copy-button{
	position: absolute;
	top: 5px;
	right: 5px;
	width: 40px;
	border: none;
	background: none;
}

pre .copy-button img{
	width: 100%;
}

code{
	color: var(--color-3);
}

.formula{
	display: flex;
	justify-content: space-between;
	align-items: center;
	gap: 20px;
	
	background: var(--color-6);
	backdrop-filter: blur(3px);
    border-radius: 10px;
	padding: 5px 25px;
}

.formula code{
	color: var(--color-2);
	font-size: 18px;
}

.formula p{
	padding: 0;
}

.formula-container{
	margin: 20px;
	border: 1px solid var(--color-6);
	border-radius: 13px;
}

.links ol{
	margin: 20px;
}

.links li{
	margin: 15px 0 0 30px;
    padding: 0;
}

.links h2{
	margin: 10pt;
}

.report table{
	background: var(--color-6);
	backdrop-filter: blur(3px);
    border-radius: 10px;
	padding: 5px;
}

.report table.search tr td{
	border: 1px solid var(--color-2);
}

table.search tr.even, table.search tr.odd{
	background: none;
	
}

table.search td.c1, table.search td.cn a{
	color: var(--color-2);
}

table.search tr.even:hover, table.search tr.odd:hover{
	background: none;
}

.report table p{
	margin: 0;
	padding: 0;
	text-indent: 0;
}

table.search td.cn a:hover {
    color: var(--color-3);
    text-decoration: underline;
}

.search td img{
	height: 30px;
}

table.search td.cn a:visited{
	color: var(--color2);
}

#similar-links li{
	display: flex;
	gap: 5px;
	text-indent: 0px;
	align-items: center;
}

#similar-links li div:nth-child(2){
	width: 100%;
	overflow: auto;
}

#similar-links img{
	width: 70px;
	border-radius: 5px;
	margin: 5px;
}

#main-video-wrapper{
	text-align: center; 
	background: #32CD3222; 
	padding: 10px; 
	box-shadow: 0 0 5px var(--color-1);  
	backdrop-filter: blur(3px); 
	border-radius: 15px;
	margin-bottom: 5px;
}

#main-video-wrapper video{
	width:300px; 
	border-radius: 50%;
}

#main-video-wrapper video.fixed-video{
	position: fixed;
	bottom: 10px;
	left: 10px;
}

#main-video-wrapper video:hover{
	border-radius: 0;
}
