* {
	margin: 0px;
	padding: 0px;
}
#footer img {
	max-width: 100%;
	height: auto;
}
body, td, th {
	font-family: "Lucida Sans Unicode", "Lucida Grande", sans-serif;
	font-size: 12px;
}
#container {
	margin: 80px auto 0 auto;
	width: 600px;
}
#number_bg {
	background: url(boxbackground.png) repeat-x;
	width: 210px;
	height: 140px;
	float: left;
	display:block;
}
#number {
	font-size: 100px;
	color: #ffffff;
	padding-top: 10px;
	position: relative;
	padding-left: 10px;
}
#text_bg , #text_bg2 {
	width: 340px;
	height: 140px;
	float: left;
	display: block;
	margin-left:20px;
}

#text_bg2 {
	width: 550px;
	text-align: center;
}

#text_bg3 {
	width: 550px;
	height: 77px;
	text-align: center;
}

#text {
	font-size: 50px;
	color: #00607f;
	padding-top: 10px;
	position: relative;
}
#clear {
	clear: both;
	height: 0px;
}

#errordetails_en, #placeholder_text_top {
	width: 600px;
	color: #7d7d7d;
	font-size: 25px;
	padding-top: 20px;
	text-align: center;
	padding-bottom: 30px;
}

#placeholder_text_top {
	font-size: 16px;
}

#errordetails_hu, #placeholder_text_bottom {
	width: 600px;
	color: #7d7d7d;
	font-size: 35px;
	padding-top: 50px;
	text-align: center;
}

#placeholder_text_bottom {
	padding-bottom: 23px;
}


#footer {
	width: 600px;
	padding-top: 20px;
	text-align:center;
	border-top: 1px dotted #00607f;
}
body {
	background-image: url(background.png);
	background-repeat: repeat-x;
	padding: 0px;
	margin: 0px;
}

/* --- image gallery --- */
#gallery-section {
	max-width: 1100px;
	margin: 2rem auto 3rem auto;
	padding: 0 1.2rem;
	box-sizing: border-box;
}
#gallery-heading {
	text-align: center;
	font-size: 22px;
	color: #00607f;
	margin-bottom: 1.2rem;
}
.grid {
	display: grid;
	grid-template-columns: repeat(auto-fit, minmax(160px, 1fr));
	gap: 0.9rem;
	box-sizing: border-box;
}
.thumb {
	display: block;
	border-radius: 10px;
	overflow: hidden;
	box-shadow: 0 2px 14px rgba(0,0,0,0.15);
	aspect-ratio: 1 / 1;
}
.thumb img {
	width: 100%;
	height: 100%;
	object-fit: cover;
	display: block;
	transition: transform 0.2s;
}
.thumb:hover img {
	transform: scale(1.05);
}
.lightbox {
	display: none;
	position: fixed;
	top: 0; left: 0; right: 0; bottom: 0;
	background: rgba(0,0,0,0.9);
	align-items: center;
	justify-content: center;
	z-index: 100;
}
.lightbox.open {
	display: flex;
}
.lb-img {
	max-width: 90vw;
	max-height: 85vh;
	border-radius: 6px;
	box-shadow: 0 4px 40px rgba(0,0,0,0.5);
}
.lb-close {
	position: absolute;
	top: 1rem;
	right: 1.4rem;
	background: none;
	border: none;
	color: #fff;
	font-size: 2.4rem;
	cursor: pointer;
	line-height: 1;
}
.lb-nav {
	position: absolute;
	top: 50%;
	transform: translateY(-50%);
	background: rgba(255,255,255,0.1);
	border: none;
	color: #fff;
	font-size: 1.6rem;
	padding: 0.8rem 1rem;
	cursor: pointer;
	border-radius: 6px;
}
.lb-nav:hover {
	background: rgba(255,255,255,0.25);
}
.lb-prev { left: 1rem; }
.lb-next { right: 1rem; }

@media (max-width: 640px) {
	#container, #footer {
		width: 100%;
	}
	#text_bg3 {
		width: 100%;
	}
	#text {
		font-size: 34px;
	}
	#gallery-heading {
		font-size: 19px;
	}
	.grid {
		grid-template-columns: repeat(auto-fit, minmax(120px, 1fr));
		gap: 0.5rem;
	}
	.lb-nav {
		font-size: 1.2rem;
		padding: 0.6rem 0.8rem;
	}
}
