.week-section {
	background-color: #f5f7fa;
	min-height: 1000px;
}

.week-title {
	font-family: 'Lobster', cursive;
	color: #1453ad;
	margin-bottom: 20px;
}

.header {
	font-family: 'Ubuntu', sans-serif;
	color: #1d5fbf;
	line-height: 1.6;
}

.text {
	font-family: 'Georgia', serif;
	font-weight: 90;
	max-width: 1000px;
	text-align: justify;
	overflow-wrap: anywhere;
}

.steps {
	margin-left: 55px;
	font-family: Arial, Helvetica, sans-serif;
	font-weight: 200;
}

.note {
	margin-top: 20px;
	margin-bottom: 30px;
	max-width: 1000px;
	width: 100%;
	padding: 10px;
	font-family: 'Georgia', serif;
	background-color: rgb(195, 218, 243);
	border: 2px solid rgb(28, 79, 144);
	box-sizing: border-box;
}

.image,
.screenshot {
	max-width: 100%;
	height: auto;
	display: block;
	margin: 20px auto;
}

iframe,
video {
	max-width: 100%;
}

.week-container {
	display: flex;
	gap: 28px;
	align-items: flex-start;
}

.week-content {
	flex: 1;
	min-width: 0;
}

.week-sidebar {
	width: 280px;
	min-width: 240px;
	position: sticky;
	top: 90px;
	z-index: 5;
	max-height: calc(100vh - 110px);
	overflow-y: auto;
	align-self: flex-start;
	background-color: #eef5ff;
	border: 1px solid #b9d0f1;
	border-radius: 12px;
	padding: 16px;
}

.sidebar-title {
	font-family: 'Ubuntu', sans-serif;
	font-weight: 700;
	color: #0f4da0;
	margin-bottom: 12px;
}

.sidebar-nav {
	list-style: none;
	padding: 0;
	margin: 0;
}

.sidebar-nav li {
	margin-bottom: 10px;
	line-height: 1.35;
}

.sidebar-nav ul {
	list-style: none;
	padding-left: 18px;
	margin-top: 10px;
}

.sidebar-nav a {
	font-family: 'Open Sans', sans-serif;
	text-decoration: none;
	color: #1d5fbf;
	font-weight: 600;
}

.sidebar-nav a:hover {
	text-decoration: underline;
	color: #083c83;
}

table {
	width: 100%;
	border-collapse: collapse;
	font-family: 'Segoe UI', Tahoma, Geneva, Verdana, sans-serif;
	border: 2px solid #083c83;
	background-color: #ffffff;
}

th {
	background-color: #1d5fbf;
	color: white;
	padding: 15px;
	border: 1px solid #d6e6fa;
	text-transform: uppercase;
	letter-spacing: 1px;
	font-size: 1.05em;
}

td {
	padding: 12px;
	border: 1px solid #d6e6fa;
	text-align: center;
	color: #333;
}

.category {
	font-weight: bold;
	background-color: #d9e9fb;
	color: #083c83;
	width: 20%;
	text-align: left;
	padding-left: 20px;
}

tr:nth-child(even) td:not(.category) {
	background-color: #f5f9ff;
}

code,
pre {
	font-family: Consolas, 'Courier New', monospace;
}

pre {
	background: #0f172a;
	color: #e2e8f0;
	padding: 14px;
	border-radius: 10px;
	overflow-x: auto;
}

iframe,
video {
	max-width: 100%;
}

@media (max-width: 991px) {
	.week-container {
		flex-direction: column-reverse;
	}

	.week-sidebar {
		width: 100%;
		min-width: 0;
		position: static;
		top: auto;
		max-height: none;
		overflow: visible;
	}

	.week-content {
		width: 100%;
	}

	.steps {
		margin-left: 20px;
	}

	pre {
		white-space: pre-wrap;
		word-break: break-word;
	}
}
