/* Base styles */
:root {
	--spacing: 0.25rem;
	--color-blue-500: #0070f3;
	--color-blue-600: #0060d1;
	--color-gray-400: #eaeaea;
	--color-gray-700: #8f8f8f;
}

* {
	box-sizing: border-box;
	margin: 0;
	padding: 0;
}

body {
	font-family: -apple-system, BlinkMacSystemFont, 'Segoe UI', Roboto,
		'Helvetica Neue', Arial, sans-serif;
	line-height: 1.5;
	color: #171717;
}

a {
	color: inherit;
	text-decoration: none;
}

/* Utility classes */
.flex {
	display: flex;
}

.flex-col {
	flex-direction: column;
}

.flex-row {
	flex-direction: row;
}

.flex-1 {
	flex: 1;
}

.items-center {
	align-items: center;
}

.items-stretch {
	align-items: stretch;
}

.justify-between {
	justify-content: space-between;
}

.justify-center {
	justify-content: center;
}

.gap-2 {
	gap: calc(var(--spacing) * 2);
}

.gap-3 {
	gap: calc(var(--spacing) * 3);
}

.gap-5 {
	gap: calc(var(--spacing) * 5);
}

.gap-10 {
	gap: calc(var(--spacing) * 10);
}

.space-y-5 > :not(:last-child) {
	margin-bottom: calc(var(--spacing) * 5);
}

.min-h-screen {
	min-height: 100vh;
}

.w-0\.5 {
	width: calc(var(--spacing) * 0.5);
}

.w-1 {
	width: calc(var(--spacing) * 1);
}

.h-5 {
	height: calc(var(--spacing) * 5);
}

.mx-auto {
	margin-left: auto;
	margin-right: auto;
}

.px-10 {
	padding-left: calc(var(--spacing) * 10);
	padding-right: calc(var(--spacing) * 10);
}

.py-2 {
	padding-top: calc(var(--spacing) * 2);
	padding-bottom: calc(var(--spacing) * 2);
}

.py-5 {
	padding-top: calc(var(--spacing) * 5);
	padding-bottom: calc(var(--spacing) * 5);
}

.py-\[20px\] {
	padding-top: 20px;
	padding-bottom: 20px;
}

.pb-5 {
	padding-bottom: calc(var(--spacing) * 5);
}

.text-center {
	text-align: center;
}

.text-sm {
	font-size: 0.875rem;
}

.text-lg {
	font-size: 1.125rem;
}

.text-xl {
	font-size: 1.25rem;
}

.text-3xl {
	font-size: 3rem;
}

.font-medium {
	font-weight: 500;
}

.font-bold {
	font-weight: 700;
}

.uppercase {
	text-transform: uppercase;
}

.text-white {
	color: white;
}

.text-gray-700 {
	color: #8f8f8f;
}

.text-blue-600 {
	color: #0060d1;
}

.bg-\[\#143797\] {
	background-color: #143797;
}

.bg-\[\#404040\] {
	background-color: #404040;
}

.border-t-2 {
	border-top-width: 2px;
	border-top-style: solid;
}

.border-b-2 {
	border-bottom-width: 2px;
	border-bottom-style: solid;
}

.border-blue-500 {
	border-color: #0070f3;
}

.border-gray-400 {
	border-color: #eaeaea;
}

.shadow {
	box-shadow: 0 1px 3px 0 rgba(0, 0, 0, 0.1), 0 1px 2px -1px rgba(0, 0, 0, 0.1);
}

.container {
	width: 100%;
	max-width: 1280px;
	margin-left: auto;
	margin-right: auto;
}

/* Component styles */
.divider-vertical {
	margin: 0;
	flex-shrink: 0;
	border-width: 0;
	border-style: solid;
	border-color: rgba(0, 0, 0, 0.12);
	border-bottom-width: 0;
	border-right-width: thin;
	align-self: stretch;
	height: auto;
}

/* Navigation styles */
nav a {
	transition: color 0.2s ease;
}

nav a:hover {
	color: var(--color-blue-500);
}

nav a.active {
	color: var(--color-blue-600);
	font-weight: bold;
}

/* Footer styles */
footer a {
	color: white;
	/* Removed hover effect as requested */
}

/* Responsive styles */
@media (max-width: 1024px) {
	nav {
		flex-direction: column;
		gap: 10px;
		padding: 10px;
	}

	.flex-row {
		flex-direction: column;
	}

	.justify-between {
		justify-content: center;
	}
}
