:root {
	--color-bg: #012836;
	--color-bg-secondary: #0f0f0f;
	--color-bg-footer: #012836;

	--color-text-primary: white;
	--color-text-light: #aaaaaa;
	--color-primary: #eeeeee;
	--color-separator: #0f0f0f;


	--color-btn-text: #FFFFFF;
	--color-btn-bg: rgba(0, 0, 0, 0.143);
	--color-btn-border: rgb(255, 252, 252);
	--color-btn-text-hover: #FFFFFF;
	--color-btn-bg-hover: #2ba471;
	--color-btn-border-hover: #2ba471;

	--color-btn-primary-text: #FFFFFF;
	--color-btn-primary-bg: rgba(0, 0, 0, 0.143);
	--color-btn-primary-border: rgb(255, 255, 255);
	--color-btn-primary-text-hover: #FFFFFF;
	--color-btn-primary-bg-hover: #2ba471;
	--color-btn-primary-border-hover: #2ba471;

	--color-bg-alert: rgba(255, 255, 255, 0.05);
	--radius-main: 25px;

	font-size: 14px;

}

body {
	background-color: var(--color-bg);
	/*background-image: url("/images/zsolnay-fenyfesztival-bogar.svg");*/
	background-image: url("/images/zsolnay-fenyfesztival-background.png");
	background-repeat: no-repeat;
	background-position: -200px -200px;
	background-attachment: fixed;
	/*background-size: 1000px auto;*/
	background-size: cover;
	color: var(--color-text-primary);
}

h1 {
	font-weight: bold;
	font-size: 2em;
	margin: 1em;
	text-align: center;
}

h2 {
	font-size: 1.5em;
	font-weight: bold;
	margin: 0.5em;
	text-align: left;
}

h3 {
	font-size: 1.5em;
	font-weight: normal;
	margin: 0.5em;
	text-align: center;
}

p {
	line-height: 1.5em;
	margin-top: .5em 0 .5em 0;
}

.b {
	font-weight: bold;
}

.i {
	font-style: italic;
}

.text-light {
	color: var(--color-text-light);
}

section {
	margin: 1em 0 1em 0;
	border-bottom: 1px solid var(--color-separator);
	padding: 1em 0 1em 0;
}

section:last-of-type {
	border-bottom: none;
}

section li {
	line-height: 1.5em;
	margin: 0.5em 0 0.5em 0;
}

#container {
	/* Nem emlékszek, hogy itt mi volt az elképzelés...*/
	display: flex;
	flex-direction: column;
	align-items: center;
	justify-content: center;
	
	min-height: 50vh;
	max-width: 800px;
	border-radius: var(--radius-main);
	background-color: var(--color-bg-secondary);
	margin: var(--radius-main) auto var(--radius-main) auto;
	transition: margin 0.5s ease-out;
	/*box-shadow: 0 0 50px rgba(250,250,250,0.5);*/
}


@supports (backdrop-filter: saturate(180%) blur(10px)) {
	#container {
		backdrop-filter: saturate(180%) blur(10px);
		background-color: rgba(0, 0, 0, 0.40);
	}
}


@media (max-width: 800px) {
	#container {
		margin: 2% auto;
	}
}

@media (max-width: 1400px) {
	body {
		background-size: contain;
	}

	#container {
		margin: 2% auto;
	}
}

header {
	padding: var(--radius-main);
}

header>div.logo-container {
	display: flex;
	flex-direction: row;
	align-items: center;
	justify-content: center;
}

header div.logo-container>div {
	margin: 30px;
}

header div.logo-container>div.plus-sign {
	margin: 0;
	width: 30px;
	height: 30px;
}


#logo-fotoplus,
#logo-partner-main {
	height: 30px;
}

header div.logo-container.event>img {
	height: 200px;
}


@media (max-width: 500px) {
	header div.logo-container {
		flex-direction: column;
	}
}

#logo-fotoplus>img,
#logo-partner-main>img {
	height: 100%;
}

header div.title {
	text-align: center;
	margin: 0 1em 0 1em;
}

header div.title h1 {
	font-size: 2rem;
	margin: 0 0 0.5em 0;
	text-align: center;
}

header div.title h2 {
	font-size: 1.5rem;
	margin: 0;
	text-align: center;
	font-weight: normal;
}


a {
	color: var(--color-text-primary);
	text-decoration: underline;
}

a:hover {
	color: var(--color-text-light);
}

ul {
	list-style: none;
}

main {
	margin: 30px;
	box-sizing: border-box;
	display: flex;
	flex-direction: column;
	align-items: center;
	justify-content: center;
	flex: 1;
	/* Új: Rugalmas méret */
}

footer {
	display: flex;
	flex-wrap: wrap;
	justify-content: space-between;
	box-sizing: border-box;
	padding: 20px 30px;
	font-size: 0.95em;
	filter: opacity(0.75);
	background-color: var(--color-bg-footer);
	border-top: 1px solid var(--color-separator);
	border-bottom-right-radius: 10px;
	border-bottom-left-radius: 10px;
}

footer>p {
	flex-basis: 100%;
	margin-bottom: 10px;
	text-align: center;
}

footer>div,
footer>ul {
	flex: 1 1 200px;
	max-width: 200px;
	margin-right: 20px;
}

footer ul li {
	line-height: 1.5em;
}

footer>div:last-child,
footer>ul:last-child {
	margin-right: 0;
}


footer a {
	text-decoration: none;
}

a.vissza {
	display: flex;
	align-items: center;
	justify-content: center;
	padding: 3px 10px 3px 0px;
	text-decoration: none;
}


.icon {
	height: 2em;
	margin: 2px 5px 2px 5px;
	filter: invert(1);
}

.alert {
	display: flex;
	flex-wrap: wrap;
	align-items: center;
	justify-content: center;
	width: 100%;
	padding: 25px;
	background-color: var(--color-bg-alert);
	border-radius: 15px;
	box-sizing: border-box;
	margin: 1em;
}

.alert>div {
	flex: 1;
}


.btn {
	display: inline-block;
	padding: 10px 20px;
	border-radius: 5px;
	background-color: var(--color-btn-bg);
	color: var(--color-btn-text);
	border: 1px solid var(--color-btn-border);
	text-decoration: none;
	margin: 1em;
}

.btn:hover,
.btn:active,
.btn:focus {
	background-color: var(--color-btn-bg-hover);
	color: var(--color-btn-text-hover);
	border-color: var(--color-btn-border-hover);
}


.btn-primary {
	background-color: var(--color-btn-primary-bg);
	color: var(--color-btn-primary-text);
	border: 1px solid var(--color-btn-primary-border);
}

.btn-primary:hover,
.btn-primary:active,
.btn-primary:focus {
	background-color: var(--color-btn-primary-bg-hover);
	color: var(--color-btn-primary-text-hover);
	border-color: var(--color-btn-primary-border-hover);
}

.btn-back {
	border: 1px solid lightgray;
	background-color: transparent;
	color: gray;
}

.btn-back:hover,
.btn-back:active,
.btn-back:focus {
	border: 1px solid gray;
	background-color: transparent;
	color: gray;
}



div.start>a {
	margin: 1em;
}

ul.error {
	list-style: none;
	border-radius: 10px;
	color: red;
	padding: 2em;
	background-color: rgba(255, 0, 0, 0.5);
	margin: 0 2em 1em 2em;
	box-sizing: border-box;
}

.images {
	display: flex;
	flex-wrap: wrap;
	justify-content: center;
}

.images > div {
	width: 200px;
	/*height: calc(200px + 2em);*/
	margin: 10px;
	display: flex;
	flex-direction: column;
	align-items: center;
	text-align: center;
	background-color: rgba(0, 0, 0, 0.25);
	padding: 5px;
	border-radius: 10px;
	border: 1px solid rgba(0, 0, 0, 0.3);
	padding: 10px;
	border-radius: 10px;
	justify-content: space-between; 
}

.images > div.image > div.img {
	width: 200px;
	height: 200px;
	align-items: center;
	justify-content: center;
	display: flex;
}

.images > div.image >div.img img {
	max-width: 200px;
	max-height: 200px;
}

.images > div > div.filename {
	margin: 5px 0 .2em 0;
	padding: 0;
	text-align: center;
	word-wrap: anywhere;
	font-weight: bold;
}

.upload-section {
	margin: 1em;
	padding: 1em;
	background-color: rgba(0, 0, 0, 0.25);
	border-radius: 5px;
}

.upload-section p {
	color: var(--color-text-primary);
}

.error,
.runtime-error {
	margin: 1em;
	padding: 1em;
	background-color: rgba(255, 0, 0, 0.5);
	border-radius: 5px;
	border-color: red;
	color: red;
}

.notify {
	margin: 1em;
	padding: 1em;
	background-color: rgba(0, 0, 0, 0.2);
	border-radius: 5px;
	border-color: orange;
}

.stat-bar {
	position: relative;
	width: 100%;
	margin: 1em;
	padding: 0;
	background-color: rgba(0, 0, 0, 0.2);
	border-radius: 5px;
	height: 10px;
}

.stat-data {
	position: absolute;
	top: 0;
	left: 0;
	background-color: orange;
	border-radius: 5px;
	height: 10px;
	box-shadow: 2px 0px 5px 0px orange;
}

.red {
	color: red;
}

.orange {
	color: orangered;
}

.capitalize_first::first-letter {
	text-transform: capitalize;
}