:root {
	--color-bg: rgba(250,250,250,1);
	--color-bg-secondary: #FFFFFF;
	--color-bg-footer: #FFFFFF;

	--color-text-primary: #000000;
	--color-text-light: gray;
	--color-primary: #009739;
	--color-separator: #009739;
	--color-disabled: gray;


	--color-btn-text: #FFFFFF;
	--color-btn-bg: #000000;
	--color-btn-text-hover: #FFFFFF;
	--color-btn-bg-hover: #000000a1;

	--color-btn-primary-text: #FFFFFF;
	--color-btn-primary-bg: #009739;
	--color-btn-primary-text-hover: #FFFFFF;
	--color-btn-primary-bg-hover: #009739a1;
	
	--color-bg-alert: rgba(0, 0, 0, 0.05);

	--radius-main: 25px;

	font-size: 14px;

}

body {
	background-color: var(--color-bg);
	/*background-image: url("/images/bg.png");
	background-repeat: no-repeat;
	background-position: center top;
	background-attachment: fixed;
	background-size: 1400px auto;*/
	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);
	backdrop-filter: saturate(180%) blur(10px);
	margin: var(--radius-main) auto 0 auto;
	transition: margin 0.5s ease-out;
	box-shadow: 0 0 50px rgba(250,250,250,0.5);
}


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

	#container {
		margin: 2% auto;
	}
}

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;
}


@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);
	text-decoration: none;
	margin: 1em;
	cursor: pointer;
}

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


.btn-primary {
	background-color: var(--color-btn-primary-bg);
	color: var(--color-btn-primary-text);
}

	.btn-primary:hover,
	.btn-primary:active,
	.btn-primary:focus {
		background-color: var(--color-btn-primary-bg-hover);
		color: var(--color-btn-primary-text-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.05);
	padding: 5px;
	border-radius: 10px;
	border: 1px solid rgba(0,0,0,0.1);
	padding: 5px;
	border-radius: 10px;
}

.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.05);
	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.25);
	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;
}

table tr td {
	padding: 2px;
	border-bottom: 1px solid gray;
}