/* Základné nastavenia */
* {
	box-sizing: border-box;
	margin: 0;
	padding: 0;
}

html {
	scroll-behavior: smooth;
}

body {
	font-family: Verdana, Geneva, sans-serif;
	line-height: 1.6;
	color: #333;
	/* Efekt v pozadí: Jemný prechod s decentným vzorom */
	background-color: #ffffff;
	background-image: radial-gradient(#e5e5f7 0.5px, transparent 0.5px);
	background-size: 20px 20px;
	display: flex;
	min-height: 100vh;
}

/* Navigácia vľavo */
nav {
	width: 280px;
	background-color: #0134a1; /* Požadovaná modrá */
	color: #fff;
	position: fixed;
	left: 0;
	top: 0;
	height: 100vh;
	padding: 30px 20px;
	display: flex;
	flex-direction: column;
	align-items: center;
	z-index: 1000;
	box-shadow: 4px 0px 15px rgba(0,0,0,0.1);
}

.logo-container {
	width: 100%;
	text-align: center;
	margin-bottom: 40px;
}

.logo {
	max-width: 200px;
	height: auto;
}

nav ul {
	list-style: none;
	width: 100%;
}

nav ul li {
	margin-bottom: 10px;
}

nav ul li a {
	color: #fff;
	text-decoration: none;
	font-weight: bold;
	display: block;
	padding: 12px 15px;
	border-radius: 5px;
	transition: all 0.3s ease;
}

nav ul li a:hover {
	background-color: rgba(255, 255, 255, 0.15);
	padding-left: 25px;
}

/* Hlavný obsah */
.content-wrapper {
	flex: 1;
	margin-left: 280px; /* Priestor pre fixnú navigáciu */
	display: flex;
	flex-direction: column;
	min-height: 100vh;
}

main {
	padding: 40px 60px;
	flex: 1;
	background-color: rgba(255, 255, 255, 0.9); /* Mierne priehľadné, aby vynikol vzor pozadia */
}

section {
    padding: 60px 0;
    border-bottom: 1px solid #ddd;
    display: flow-root; /* Táto vlastnosť ukončí obtekanie na konci sekcie */
    clear: both;        /* Zabezpečí, že sekcia nezačne vedľa floatu z predošlej sekcie */
}
section:last-of-type {
	border-bottom: none;
}

/* Typografia a prvky */
h1 { font-size: 2.5rem; color: #0134a1; margin-bottom: 20px; clear: both;}
h2 { font-size: 2rem; margin-top: 10px; margin-bottom: 15px; clear: both;}
h3 { font-size: 1.5rem; margin-bottom: 10px; clear: both;}

p { margin-bottom: 20px; text-align: justify; clear: both;}

.img-left {
	float: left;
	margin: 0 25px 15px 0;
	max-width: 300px;
	border: 5px solid #fff;
	box-shadow: 0 4px 8px rgba(0,0,0,0.1);
    height: auto;
}

hr {
	border: 0;
	height: 1px;
	background-image: linear-gradient(to right, #ccc, #0134a1, #ccc);
	margin: 40px 0;
}

table {
	width: 100%;
	border-collapse: collapse;
	margin: 25px 0;
	background: #fff;
}

table, th, td {
	border: 1px solid #0134a1;
}

th {
	background-color: #0134a1;
	color: white;
	padding: 12px;
}

td {
	padding: 10px;
}

ul, ol {
	margin: 15px 0 25px 40px;
}

a { color: #0134a1; text-decoration: underline; }

/* Pätička */
footer {
	background-color: #f4f4f4;
	color: #666;
	text-align: center;
	padding: 30px;
	border-top: 1px solid #ddd;
	font-size: 0.9rem;
}

/* Mobilné ovládanie */
.hamburger {
	display: none;
	cursor: pointer;
	background: #0134a1;
	color: white;
	border: none;
	padding: 10px 15px;
	font-size: 24px;
	position: fixed;
	top: 15px;
	left: 15px;
	z-index: 1100;
	border-radius: 5px;
}

/* Responzivita */
@media (max-width: 1024px) {
	.content-wrapper {
		margin-left: 0;
	}

	main {
		padding: 30px 20px;
	}

	nav {
		left: -100%; /* Schované vľavo */
		width: 100%;
		transition: 0.4s ease-in-out;
	}

	nav.active {
		left: 0;
	}

	.hamburger {
		display: block;
	}

	.img-left {
		float: none;
		display: block;
		margin: 0 auto 20px;
		max-width: 100%;
	}
	
	section {
		padding-top: 80px;
	}
}

.clearfix::after {
	content: "";
	clear: both;
	display: table;
}