*,
*::after,
*::before {
	box-sizing: border-box;
}

body {
	margin: 0;
	font-size: 16px;
	/* line-height: 1.6; */
	/* overflow: hidden; */
	font-family: 'Roboto', sans-serif;
}
.p img {
	max-width: 1000px;
}
a {
	color: #0d273e;
	font-weight: 700;
}
button {
	cursor: pointer;
	outline: none;
	border: none;
}

.container {
	display: flex;
	justify-content: space-between;
	height: 100vh;
}
.sidebar {
	position: relative;
	flex: 1 0 350px;
	background-color: #ebc290;
	border-right: 4px solid #938c88;
	/* background-image: url(../img/bg-sidebar.png); */
	background-repeat: no-repeat;
	background-size: 200px;
	background-position: bottom 40px center;
}
.box {
	width: 100%;
}
.sidebar__copy {
	position: absolute;
	bottom: 15px;
	left: 25px;
}
.audio {
	position: fixed;
	bottom: 10px;
	right: 80px;
	display: flex;
	gap: 10px;
}
.audio__play {
	background-image: url(../img/vuesax/play.svg);
	background-repeat: no-repeat;
	background-position: center;
	border: none;
	border-radius: 50px;
	width: 40px;
	height: 40px;
	background-color: #0d273e;
	cursor: pointer;
}
.audio__pause {
	background-image: url(../img/vuesax/pause.svg);
	background-repeat: no-repeat;
	background-position: center;
	border: none;
	border-radius: 50px;
	width: 40px;
	height: 40px;
	background-color: #0d273e;
	cursor: pointer;
}
.audio__stop {
	background-image: url(../img/vuesax/stop.svg);
	background-repeat: no-repeat;
	background-position: center;
	border: none;
	border-radius: 50px;
	width: 40px;
	height: 40px;
	background-color: #0d273e;
	cursor: pointer;
}
.email {
	position: fixed;
	bottom: 10px;
	right: 30px;
	background-image: url(../img/vuesax/email.svg);
	background-repeat: no-repeat;
	background-position: center;
	border: none;
	border-radius: 50px;
	width: 40px;
	height: 40px;
	background-color: #0d273e;
	cursor: pointer;
}

.content {
	width: 100%;
	height: calc(100% - 70px);
	background-color: #e8e3e7;
	padding: 25px 25px 0 25px;
	overflow-x: auto;
	text-align: justify;
	background-image: url(../img/bg-center.jpg);
	background-position: center;
	background-size: cover;
}
.content {
	line-height: 1.6;
}
.content li {
	margin-bottom: 5px;
}
.content img {
	display: block;
	margin: 40px auto;
}

.menu {
	display: flex;
	flex-direction: column;
	padding: 10px;
}
.menu__link {
	text-decoration: none;
	color: #000;
	padding: 8px 15px;
	font-weight: 700;
}
.menu__link.active {
	background-color: #0d273e;
	border-radius: 5px;
	color: #fff;
	font-weight: 700;
}

.nav {
	display: flex;
	justify-content: space-between;
	align-items: center;
	height: 70px;
	padding: 0 30px;
	background-color: #ebc290;
	border-bottom: 4px solid #938c88;
}
.nav__center {
	display: flex;
	gap: 15px;
}
.hidden {
	opacity: 0;
	visibility: hidden;
}
.nav a {
	text-decoration: none;
	text-transform: uppercase;
	background-color: #0d273e;
	color: #fff;
	padding: 10px 20px;
	border-radius: 20px;
	text-align: center;
}
.nav__prev,
.nav__next {
	display: flex;
	align-items: center;
	gap: 5px;
	cursor: pointer;
	/* background-color: #0C73CC!important; */
}
.title {
	text-align: center;
}
.fancybox__content {
	padding: 0;
}
.offer {
	display: flex;
	align-items: center;
	justify-content: center;
	background-image: url(../img/bg.jpg);
	background-repeat: no-repeat;
	background-position: center 150px;
	height: 100vh;
}
.offer__title {
	text-align: center;
	color: #021162;
	position: absolute;
	top: 9px;
	font-size: 26px;
}

.offer__desc {
	text-align: center;
	color: #021162;
	position: absolute;
	top: 60px;
	font-size: 46px;
}

.offer__kipk,
.offer__name {
	text-align: center;
	color: #021162;
	position: absolute;
	top: 50px;
	font-size: 36px;
}

.offer__kipk {
	font-size: 26px;
	color: #021162;
}
.offer__name {
	top: 180px;
	font-size: 42px;
	color: #0006ff;
}

.offer__adress {
	text-align: center;
	color: #021162;
	position: absolute;
	top: 90px;
	font-size: 26px;
}

.offer__nav {
	display: flex;
	gap: 30px;
	margin-top: 700px;
}
.offer__button {
	background-color: #fff;
	font-size: 25px;
	padding: 10px 20px;
	text-align: center;
	border-radius: 10px;
	text-decoration: none;
	color: #021162;
	text-transform: uppercase;
	font-weight: 900;
}
.offer__copyr {
	position: absolute;
	bottom: 20px;
	font-size: 20px;
	font-weight: 700;
	color: #021162;
	text-align: center;
	width: 100%;
	margin-right: 100px;
}

.offer__min {
	position: absolute;
	bottom: 20px;
	font-size: 18px;
	font-weight: 700;
	color: #021162;
	text-align: center;
	width: 100%;
	margin-left: 1350px;
	border-radius: 18px;
	width: 500px;
}

.offer__min p {
	margin: 0;
	padding: 0;
	line-height: normal;
}
.p {
	padding: 30px 40px;
}

.form {
	display: flex;
	flex-direction: column;
	gap: 10px;
}
.form input {
	height: 40px;
	border: 1px solid #000;
	outline: none;
	border-radius: 5px;
	padding: 0 10px;
	font-size: 16px;
	width: 340px;
}
.form textarea {
	border: 1px solid #000;
	outline: none;
	border-radius: 5px;
	padding: 10px;
	font-size: 16px;
	width: 340px;
	font-family: 'Roboto';
}
.form input[type='submit'] {
	background: #021162;
	border: none;
	color: #fff;
	cursor: pointer;
}
.form button {
	background: #021162;
	height: 40px;
	border: none;
	color: #fff;
	cursor: pointer;
	border-radius: 5px;
	font-size: 16px;
}
.center {
	display: flex;
	align-items: center;
	justify-content: center;
	height: 100vh;
}

.message {
	font-size: 26px;
	color: #021162;
	font-weight: 700;
}

.tasks {
	display: grid;
	grid-template-columns: repeat(3, 1fr);
	gap: 20px;
}
.tasks__title {
	font-size: 21px;
	font-weight: 700;
}
.tasks__item {
	padding: 50px 0;
	background-color: #0d273e;
	border-radius: 10px;
	color: #fff;
	height: 200px;
	text-align: center;
}
.tasks__download {
	display: block;
	color: #fff;
	font-weight: 400;
	margin-top: 40px;
}

/* Литература */
.hover-message {
	color: #0d273e;
	font-weight: 700;
	text-decoration: underline;
	cursor: pointer;
}

.tooltip {
	position: absolute;
	background-color: #333;
	color: #fff;
	padding: 10px 23px;
	border-radius: 6px;
	font-size: 16px;
	opacity: 0;
	pointer-events: none;
	transition: opacity 0.3s ease, transform 0.3s ease;
	transform: translateY(-10px);
	z-index: 1000;
	/* max-width: 250px; */
}

.tooltip a {
	color: #fff;
}

.tooltip::after {
  content: "";
  position: absolute;
  bottom: -8px;
  left: 20px; /* можно менять для позиционирования */
  border-width: 8px 8px 0 8px;
  border-style: solid;
  border-color: #333 transparent transparent transparent;
}

.tooltip.show {
	opacity: 1;
	pointer-events: auto;
	transform: translateY(0);
}

.tooltip .close-btn {
	position: absolute;
	top: -10px;
	right: -10px;
	font-weight: bold;
	color: #fff;
	cursor: pointer;
	font-size: 20px;
	background-color: #333;
	border-radius: 50px;
	width: 25px;
	height: 25px;
	display: flex;
	align-items: center;
	justify-content: center;
}
