@layer utilities {
	@keyframes fadeIn {
		from { opacity: 0; transform: translateY(-0.25rem); }
		to { opacity: 1; transform: translateY(0); }
	}
	@keyframes fadeOut {
		from { opacity: 1; transform: translateY(0); }
		to { opacity: 0; transform: translateY(-0.25rem); }
	}
	.animate-fade-in {
		animation: fadeIn 150ms ease-out forwards;
	}
	.animate-fade-out {
		animation: fadeOut 150ms ease-in forwards;
	}
}

body, html {
	margin: 0;
	padding: 0;

	font-family: "Roboto Flex";
	font-optical-sizing: auto;
	font-style: normal;
	font-variation-settings:
		"wdth" 100;
	-webkit-font-smoothing: antialiased;
	-moz-osx-font-smoothing: grayscale;
	text-rendering: optimizeLegibility;
	scrollbar-gutter: stable;
	box-sizing: border-box!important;
}

html {
	overflow-y: scroll;
	-webkit-font-smoothing: antialiased;
	-moz-osx-font-smoothing: grayscale;
	scrollbar-gutter: stable;
	box-sizing: border-box!important;
}

* {
	font-family: "Roboto Flex";
	font-optical-sizing: auto;
	font-style: normal;
	font-variation-settings:
		"wdth" 100;
	-webkit-font-smoothing: antialiased;
	-moz-osx-font-smoothing: grayscale;
	text-rendering: optimizeLegibility;
	scrollbar-gutter: stable;
	box-sizing: border-box!important;
}

.link {
	text-decoration: none;
	color: black;
}

#header {
	border-bottom: 1px solid #dedede;
	padding: 20px;
	position: sticky;
	top: 0;
	background-color: white;
	user-select: none;;
}

#stickyHeader {
	border-bottom: 1px solid #dedede;
	padding: 20px;
	position: fixed;
	top: 0;
	width: 100%;
	background-color: white;
	z-index: 99;
}

.researchCard {
	border: 1px solid #dedede;
	margin: 20px;
	padding: 20px;
	border-radius: 6px;
}

.researchTitle {
	font-weight: 500;
	text-decoration: none;
	font-size:17px;
	margin-bottom: 5px;
}

.researchDescription {
	color: #6B7280;
	font-size: 15px;
}

.grid-container {
	display: grid;
	grid-template-columns: repeat(3, 1fr);
	gap: 16px;
}

.card {
	background: #f0f0f0;
	padding: 20px;
	border-radius: 8px;
}

@media (max-width: 768px) {
	.card {
		flex: 0 0 100%;
	}
}

/* tailwind.css или global.css */
.scrollbar-hidden {
	scrollbar-width: none; /* Firefox */
	-ms-overflow-style: none; /* IE/Edge */
}
.scrollbar-hidden::-webkit-scrollbar {
	display: none; /* Chrome/Safari */
}

.scrollbar-hover {
	scrollbar-width: none; /* Firefox */
	-ms-overflow-style: none; /* IE 10+ */
}
.scrollbar-hover::-webkit-scrollbar {
	width: 0px;
	height: 0px;
}

.scrollbar-hover:hover {
	scrollbar-width: thin;
}
.scrollbar-hover:hover::-webkit-scrollbar {
	width: 8px;
	height: 8px;
}

.scrollbar-hover:hover::-webkit-scrollbar-thumb {
	background-color: rgba(0, 0, 0, 0.2);
	border-radius: 4px;
}

mark {
	background: #d0ebff;
}

.arrow-button {
	@apply absolute top-1/2 -translate-y-1/2 z-10 p-2 rounded-full bg-white text-gray-800 cursor-pointer transition-shadow duration-200 hover:shadow-lg hidden;
}


.overflowHidden {
	overflow: hidden;
	margin: 0;
	touch-action: none;
	-ms-touch-action: none;
	height: 100vh;
}

.active {
	_border-color: #7FB5FA !important;
	_border-right-width: 1px;
	background: #51a2ff;
	background-color: #51a2ff !important;
	background: #F7FAFD;
	background-color: #F7FAFD !important;
}

.savedMessage {
	opacity: 0;
	transition: opacity 0.3s ease;
	color: #6b7280;
	font-size: 0.875rem;
	font-weight: normal;
	margin-left: 4px;
}


/* В ваш CSS файл */
.custom-scrollbar {
	scrollbar-width: thin;
	scrollbar-color: #d1d5db #f3f4f6;
}

.custom-scrollbar::-webkit-scrollbar {
	width: 6px;
}

.custom-scrollbar::-webkit-scrollbar-track {
	background: #f3f4f6;
	border-radius: 10px;
}

.custom-scrollbar::-webkit-scrollbar-thumb {
	background: #d1d5db;
	border-radius: 10px;
}

.custom-scrollbar::-webkit-scrollbar-thumb:hover {
	background: #9ca3af;
}

.no-scrollbar {
	-ms-overflow-style: none;  /* IE and Edge */
	scrollbar-width: none;  /* Firefox */
}

.no-scrollbar::-webkit-scrollbar {
	display: none;  /* Chrome, Safari and Opera */
}


/* Скрываем все скроллбары по умолчанию */
::-webkit-scrollbar {
	width: 10px;
	height: 10px;
}

::-webkit-scrollbar-thumb {
	background: transparent;
	border-radius: 5px;
}

/* Показываем при наведении на сам элемент со скроллом */
*:hover::-webkit-scrollbar-thumb {
	background: rgba(0, 0, 0, 0.3);
}

/* Firefox */
* {
	scrollbar-width: thin;
	scrollbar-color: transparent transparent;
}

*:hover {
	scrollbar-color: rgba(100, 100, 100, 0.3) transparent; /* Цвет scrollbar при наведении  */
}


.loading-placeholder {}

iframe {
	width: 100%;
	height: 100%;
	border: none;
}

img[src$=".svg"] {
	filter: drop-shadow(0 0 1px rgba(0,0,0,0.3));
}
