@import url("font-awesome.min.css");
@import url(https://fonts.googleapis.com/css?family=Source+Sans+Pro:400,400italic&subset=latin,latin-ext);
/*
	Strata by HTML5 UP
	html5up.net | @n33co
	Free for personal and commercial use under the CCA 3.0 license (html5up.net/license)
*/

:root {
	--main-bg-color: #fff;
	--alternate-tr-bg-color: #f7f7f7;
	--main-text-color: #252424;
	--main-border-color: #cfcfcf;
	--main-accent-color: #283c3a;
	--top-nav-bg-color: var(--alternate-tr-bg-color);
	--active-item-color: #252424;
	--active-item-bg-color: #dbd9d7;
	--default-font: "Source Sans Pro", Helvetica, sans-serif;
	--main-program-title-color: var(--main-text-color);
	--sub-program-title-color: var(--main-text-color);
	--button-surface-color: #252424;
	--button-surface-color-accent: var(--main-accent-color);
	--button-text-color: var(--main-bg-color);
	--button-text-color-accent: var(--button-text-color);
}

/* Reset */

	html, body, div, span, applet, object, iframe, h1, h2, h3, h4, h5, h6, p, blockquote, pre, a, abbr, acronym, address, big, cite, code, del, dfn, em, img, ins, kbd, q, s, samp, small, strike, strong, sub, sup, tt, var, b, u, i, center, dl, dt, dd, ol, ul, li, fieldset, form, label, legend, table, caption, tbody, tfoot, thead, tr, th, td, article, aside, canvas, details, embed, figure, figcaption, footer, header, hgroup, menu, nav, output, ruby, section, summary, time, mark, audio, video {
		margin: 0;
		padding: 0;
		border: 0;
		font-size: 100%;
		font: inherit;
		vertical-align: baseline;
	}

	article, aside, details, figcaption, figure, footer, header, hgroup, menu, nav, section {
		display: block;
	}

	body {
		line-height: 1;
	 -moz-hyphens: auto;
	 -ms-hyphens: auto;
	 -o-hyphens: auto;
	 -webkit-hyphens: auto;
	 hyphens: auto;
	 }

	code, pre, abbr, kbd, #business-card {
	 -moz-hyphens: none;
	 -ms-hyphens: none;
	 -o-hyphens: none;
	 -webkit-hyphens: none;
	 hyphens: none;
	 }
	 
	p {		
	 text-align: justify;
	}
	 
	ol, ul {
		list-style: none;
		/* text-align: left; */
	}

	blockquote, q {
		quotes: none;
	}

	blockquote:before, blockquote:after, q:before, q:after {
		content: '';
		content: none;
	}

	table {
		border-collapse: collapse;
		border-spacing: 0;
	}

	body {
		-webkit-text-size-adjust: none;
	}
	
	abbr { font-style: italic; border-bottom: dotted 1px; }
	
	.divider {
		text-align:center;
	}

/* Box Model */

	*, *:before, *:after {
		-moz-box-sizing: border-box;
		-webkit-box-sizing: border-box;
		box-sizing: border-box;
	}

/* Containers */

	.container {
		margin-left: auto;
		margin-right: auto;
		width: 960px;
	}

/* ==========================================================================
   Modern Rácsrendszer és Elrendezési Komponensek (CSS Grid & Flexbox)
   ========================================================================== */
	.cards-grid,
	.grid-2 {
		display: grid;
		grid-template-columns: repeat(2, 1fr);
		gap: 2em;
		margin-bottom: 2em;
	}

	.grid-3 {
		display: grid;
		grid-template-columns: repeat(3, 1fr);
		gap: 2em;
		margin-bottom: 2em;
	}

	.grid-auto {
		display: grid;
		grid-template-columns: repeat(auto-fit, minmax(18em, 1fr));
		gap: 2em;
		margin-bottom: 2em;
	}

	.card {
		display: flex;
		flex-direction: column;
		margin-bottom: 1.5em;
	}

	.card .image {
		margin-bottom: 1.25em;
	}

	.card h3 {
		margin-bottom: 0.5em;
	}

	.card p {
		flex-grow: 1;
		margin-bottom: 1.25em;
	}

	@media screen and (max-width: 736px) {
		.cards-grid,
		.grid-2,
		.grid-3 {
			grid-template-columns: 1fr;
			gap: 1.5em;
		}
	}

	
/* Basic */

	body { background-color: var(--main-bg-color); }

		body.is-loading *, body.is-loading *:before, body.is-loading *:after {
			-moz-animation: none !important;
			-webkit-animation: none !important;
			-ms-animation: none !important;
			animation: none !important;
			-moz-transition: none !important;
			-webkit-transition: none !important;
			-ms-transition: none !important;
			transition: none !important;
		}

	body, input, select, textarea {
		color: var(--main-text-color);
		font-family: var(--default-font);
		font-size: 12pt;
		font-weight: 400;
		line-height: 1.75em;
	}

	a {
		-moz-transition: color 0.2s ease-in-out, border-color 0.2s ease-in-out;
		-webkit-transition: color 0.2s ease-in-out, border-color 0.2s ease-in-out;
		-ms-transition: color 0.2s ease-in-out, border-color 0.2s ease-in-out;
		transition: color 0.2s ease-in-out, border-color 0.2s ease-in-out;
		border-bottom: dotted 1px;
		color: var(--main-text-color);
		/* border-bottom-color: var(--main-border-color); */
		text-decoration: none;
	}

		a:hover {
			border-bottom-color: transparent;
			color: var(--main-accent-color) !important;
			text-decoration: none;
		}

	strong, b {
		color: var(--main-title-color);
		font-weight: bold;
	}

	em, i {
		font-style: italic;
	}

	p {
		margin: 0 0 1.5em 0;
		/* text-align:justify; */
	}
	
	p.link-only{
		text-align: inherit;
	}

	h1, h2, h3, h4, h5, h6, .business-name {
		color: var(--main-title-color);
		font-weight: 400;
		line-height: 1em;
		margin: 0 0 1.25em 0;
	}

		h1 a, h2 a, h3 a, h4 a, h5 a, h6 a, .business-name a {
			color: inherit;
			text-decoration: none;
		}

	h1 {
		font-size: 2em;
		line-height: 1.5em;
	}

	h2 {
		font-size: 1.5em;
		line-height: 1.5em;
	}

	h3 {
		font-size: 1.25em;
		line-height: 1.5em;
	}

	h4 {
		font-size: 1.1em;
		line-height: 1.5em;
	}

	h5 {
		font-size: 0.9em;
		line-height: 1.5em;
	}

	h6 {
		font-size: 0.7em;
		line-height: 1.5em;
	}

	article > h1, 
	article > h2,
	article > section > h1, 
	article > section > h2	{
		margin-top: 1em;
	}

	article > h3, 
	article > h4,
	article > section > h3, 
	article > section > h4	{
		margin-top: 2em;
	}
	
	sub {
		font-size: 0.8em;
		position: relative;
		top: 0.5em;
	}

	sup {
		font-size: 0.8em;
		position: relative;
		top: -0.5em;
	}

	hr {
		border: 0;
		border-bottom: solid 2px var(--main-border-color);
		margin: 2em 0;
	}

		hr.major {
			margin: 3em 0;
		}

	blockquote {
		border-left: solid 6px var(--main-border-color);
		font-style: italic;
		hyphens: manual;
		margin: 0 0 2em 0;
		padding: 0.5em 0 0.5em 1.5em;
	}

	code {
		background: #f7f7f7;
		border-radius: 0.35em;
		border: solid 2px var(--main-border-color);
		font-family: "Courier New", monospace;
		font-size: 0.9em;
		margin: 0 0.25em;
		padding: 0.25em 0.65em;
	}

	pre {
		-webkit-overflow-scrolling: touch;
		font-family: "Courier New", monospace;
	}

		pre code {
			display: block;
			line-height: 1.75em;
			padding: 1em 1.5em;
			overflow-x: auto;
		}

	.align-left {
		text-align: left;
	}

	.align-center {
		text-align: center;
	}

	.align-right {
		text-align: right;
	}

/* Section/Article */

	section.special, article.special {
		text-align: center;
	}

	header p {
		color: #b2b2b2;
		position: relative;
		margin: 0 0 1.5em 0;
	}

	header h2 + p {
		font-size: 1.25em;
		margin-top: -1em;
		line-height: 1.5em;
	}

	header h3 + p {
		font-size: 1.1em;
		margin-top: -0.8em;
		line-height: 1.5em;
	}

	header h4 + p,
	header h5 + p,
	header h6 + p {
		font-size: 0.9em;
		margin-top: -0.6em;
		line-height: 1.5em;
	}

	header.major h2 {
		font-size: 2em;
	}

/* ===== [INAKTIVÁLVA: Form Styles (natív HTML űrlapok stílusa szükség esetére)] =====

	-- Form --

	form {
		margin: 0 0 2em 0;
	}

	label {
		color: var(--main-title-color);
		display: block;
		font-size: 0.9em;
		font-weight: 400;
		margin: 0 0 1em 0;
	}

	input[type="text"],
	input[type="password"],
	input[type="email"],
	select,
	textarea {
		-moz-appearance: none;
		-webkit-appearance: none;
		-ms-appearance: none;
		appearance: none;
		background: #f7f7f7;
		border-radius: 0.35em;
		border: solid 2px transparent;
		color: inherit;
		display: block;
		outline: 0;
		padding: 0 0.75em;
		text-decoration: none;
		width: 100%;
	}

		input[type="text"]:invalid,
		input[type="password"]:invalid,
		input[type="email"]:invalid,
		select:invalid,
		textarea:invalid {
			box-shadow: none;
		}

		input[type="text"]:focus,
		input[type="password"]:focus,
		input[type="email"]:focus,
		select:focus,
		textarea:focus {
			border-color: var(--main-accent-color);
		}

	.select-wrapper {
		text-decoration: none;
		display: block;
		position: relative;
	}

		.select-wrapper:before {
			-moz-osx-font-smoothing: grayscale;
			-webkit-font-smoothing: antialiased;
			font-family: FontAwesome;
			font-style: normal;
			font-weight: normal;
			text-transform: none !important;
		}

		.select-wrapper:before {
			color: #dfdfdf;
			content: '\f078';
			display: block;
			height: 2.75em;
			line-height: 2.75em;
			pointer-events: none;
			position: absolute;
			right: 0;
			text-align: center;
			top: 0;
			width: 2.75em;
		}

		.select-wrapper select::-ms-expand {
			display: none;
		}

	input[type="text"],
	input[type="password"],
	input[type="email"],
	select {
		height: 2.75em;
	}

	textarea {
		padding: 0.75em;
	}

	input[type="checkbox"],
	input[type="radio"] {
		-moz-appearance: none;
		-webkit-appearance: none;
		-ms-appearance: none;
		appearance: none;
		display: block;
		float: left;
		margin-right: -2em;
		opacity: 0;
		width: 1em;
		z-index: -1;
	}

		input[type="checkbox"] + label,
		input[type="radio"] + label {
			text-decoration: none;
			cursor: pointer;
			display: inline-block;
			font-size: 1em;
			font-weight: 400;
			padding-left: 2.4em;
			padding-right: 0.75em;
			position: relative;
		}

			input[type="checkbox"] + label:before,
			input[type="radio"] + label:before {
				-moz-osx-font-smoothing: grayscale;
				-webkit-font-smoothing: antialiased;
				font-family: FontAwesome;
				font-style: normal;
				font-weight: normal;
				text-transform: none !important;
			}

			input[type="checkbox"] + label:before,
			input[type="radio"] + label:before {
				background: #f7f7f7;
				border-radius: 0.35em;
				border: solid 2px transparent;
				content: '';
				display: inline-block;
				height: 1.65em;
				left: 0;
				line-height: 1.58125em;
				position: absolute;
				text-align: center;
				top: 0;
				width: 1.65em;
			}

		input[type="checkbox"]:checked + label:before,
		input[type="radio"]:checked + label:before {
			background: #787878;
			border-color: var(--main-title-color);
			color: #fff;
			content: '\f00c';
		}

		input[type="checkbox"]:focus + label:before,
		input[type="radio"]:focus + label:before {
			border-color: var(--main-accent-color);
		}

	input[type="checkbox"] + label:before {
		border-radius: 0.35em;
	}

	input[type="radio"] + label:before {
		border-radius: 100%;
	}

	::-webkit-input-placeholder {
		color: #b2b2b2 !important;
		opacity: 1.0;
	}

	:-moz-placeholder {
		color: #b2b2b2 !important;
		opacity: 1.0;
	}

	::-moz-placeholder {
		color: #929292 !important;
		opacity: 1.0;
	}

	:-ms-input-placeholder {
		color: #b2b2b2 !important;
		opacity: 1.0;
	}

	.formerize-placeholder {
		color: #b2b2b2 !important;
		opacity: 1.0;
	}


===== [INAKTIVÁLVA VÉGE: Form Styles] ===== */
/* Icon */

	.icon {
		text-decoration: none;
		border-bottom: none;
		position: relative;
	}

		.icon:before {
			-moz-osx-font-smoothing: grayscale;
			-webkit-font-smoothing: antialiased;
			font-family: FontAwesome;
			font-style: normal;
			font-weight: normal;
			text-transform: none !important;
		}

		.icon > .label {
			display: none;
		}

/* Image */

	.image {
		border-radius: 0.35em;
		border: 0;
		display: inline-block;
		position: relative;
			/* 2023-11-12 */
			max-height: 23.5em;
			object-fit: cover;
		/* padding: 0.25em; */
		line-height: normal;
		filter: grayscale(25%);
	}

		.image:before {
			-moz-transition: opacity 0.2s ease-in-out;
			-webkit-transition: opacity 0.2s ease-in-out;
			-ms-transition: opacity 0.2s ease-in-out;
			transition: opacity 0.2s ease-in-out;
			background: url("images/overlay.png");
			border-radius: 0.35em;
			content: '';
			display: block;
			height: 100%;
			left: 0;
			opacity: 0.5;
			position: absolute;
			top: 0;
			width: 100%;
		}

		.image.thumb {
			text-align: center;			
		}
		.work-item .image.thumb img {			
			max-height: 13.5em;
		}
			.image.thumb:after {
				-moz-transition: opacity 0.2s ease-in-out;
				-webkit-transition: opacity 0.2s ease-in-out;
				-ms-transition: opacity 0.2s ease-in-out;
				transition: opacity 0.2s ease-in-out;
				border-radius: 0.35em;
				border: solid 3px rgba(255, 255, 255, 0.5);
				color: #fff;
				content: '⌕';
				display: inline-block;
				font-size: 1.8em;
				font-weight: 400;
				left: 50%;
				line-height: 2.25em;
				margin: -1.25em 0 0 -1.8em;
				opacity: 0;
				padding: 0 1.5em;
				position: absolute;
				text-align: center;
				text-decoration: none;
				top: 50%;
				white-space: nowrap;
			}
				 
			.image.thumb:hover:after {
				opacity: 1.0;
			}

			.image.thumb:hover:before {
				background: url("images/overlay.png"), url("images/overlay.png");
				opacity: 1.0;
			}

		.image img {
			border-radius: 0.35em;
			display: block;
			/* 2023-11-12 */
			max-height: 21.5em;
			object-fit: cover;
			margin: auto;
			max-width:100%;
			min-width:95%;
		}

		.image.left {
			float: left;
			margin: 0 1em 0.25em 0;
			top: 0.25em;
		}

		.image.right {
			float: right;
			margin: 0 0 0.25em 1em;
			top: 0.25em;
		}

		.image.left, .image.right { 
			max-width: 43%;
			max-height: 19.5em;
			object-fit: cover;
			z-index:1;
		}

			.image.left img, .image.right img {				
				height: auto;
				max-height: 17.5em;
				object-fit: cover;
			}
		
		.work-item .image.left, .work-item .image.right, .work-item .image.left img, .work-item .image.right img {			
			max-height: 13.5em;
		}
		
		#business-card {
			padding: 0 3%;
		}
		
		.image.fit {
			display: block;
			margin: 1em 0 1em 0;
			width: 100%;
			height: auto;
		}

			.image.fit img {
				width: 100%;
				height: auto;
				min-height: 13.5em;
			}

		.avatar {
			border-radius: 100%;
			display: inline-block;
			position: relative;
		}

			.avatar:before {
				display: none;
			}

			.avatar img {
				border-radius: 100%;
				width: 100%;
			}

/* List */

	ol {
		list-style: decimal;
		margin: 0 0 1em 0;
		padding-left: 1.25em;
	}

		ol li {
			padding-left: 0.35em;
			padding-bottom: 0.35em;
		}

	ul {
		list-style: disc;
		margin: 0 0 1em 0;
		padding-left: 1em;
	}

		ul li {
			padding-left: 0.35em;
			padding-bottom: 0.35em;
		} 
		
			ul li ul {				
				margin: 0;
			}

		ul.icons {
			cursor: default;
			list-style: none;
			padding-left: 0;
		}

			ul.icons li {
				display: inline-block;
				padding: 0 1em 0 0;
			}

				ul.icons li:last-child {
					padding-right: 0;
				}

				ul.icons li .icon:before {
					font-size: 1.5em;
				}

		ul.languages { list-style: none; padding-left: 0; }
			ul.languages li { display: inline-block; margin-right: 1em; }
				ul.languages li:last-child { margin-right: 0; }
		
		ul.actions {
			cursor: default;
			list-style: none;
			padding-left: 0;
		}

			ul.actions li {
				display: inline-block;
				padding: 0 1em 1em 0;
				vertical-align: middle;
			}

				ul.actions li:last-child {
					padding-right: 0;
				}

			ul.actions.small li {
				padding: 0.5em 0.5em 0 0;
			}

		ul.labeled-icons {
			list-style: none;
			padding: 0;
		}

			ul.labeled-icons li {
				line-height: 1.5em;
				margin: 1.25em 0 0 0;
				padding-left: 2.25em;
				position: relative;
			}

				ul.labeled-icons li:first-child {
					margin-top: 0;
				}

				ul.labeled-icons li a {
					color: inherit;
				}

				ul.labeled-icons li .icon {
					color: #b2b2b2;
					left: 0;
					position: absolute;
					text-align: center;
					top: 0;
					width: 1em;
					font-size: 1.15em;
				}

/* Table */

	table {
		margin: 0 0 2em 0;
		width: 100%;
	}

		table tbody tr {
			border: solid 1px var(--main-border-color);
			border-left: 0;
			border-right: 0;
		}

			table tbody tr:nth-child(2n + 1) {
				background-color: var(--alternate-tr-bg-color);
			}

		table td {
			padding: 0.25em 0.25em;
		}

		table th {
			color: var(--main-title-color);
			/* font-size: 0.9em; */
			/* font-weight: 400; */
			padding: 0.25em 0.25em;
			text-align: left;
		}

		table thead {
			border-bottom: solid 2px var(--main-border-color);			
		}

/* Button */

	.button {
		-moz-appearance: none;
		-webkit-appearance: none;
		-ms-appearance: none;
		appearance: none;
		-moz-transition: background-color 0.2s ease-in-out, color 0.2s ease-in-out, border-color 0.2s ease-in-out;
		-webkit-transition: background-color 0.2s ease-in-out, color 0.2s ease-in-out, border-color 0.2s ease-in-out;
		-ms-transition: background-color 0.2s ease-in-out, color 0.2s ease-in-out, border-color 0.2s ease-in-out;
		transition: background-color 0.2s ease-in-out, color 0.2s ease-in-out, border-color 0.2s ease-in-out;
		background-color: transparent;
		border-radius: 0.35em;
		border: solid 3px var(--main-border-color);
		color: #787878 !important;
		cursor: pointer;
		display: inline-block;
		font-weight: 400;
		min-height: 3.15em;
		min-height: calc(2.75em + 6px);
		/* line-height: 2.75em; */
		min-width: 9em;
		padding: 0.5em 1.5em;
		text-align: center;
		text-decoration: none;
		/* white-space: nowrap; */
	}

		.button:hover {
			border-color: var(--main-accent-color);
			color: var(--main-accent-color) !important;
		}

		.button:active {
			background-color: rgba(73, 191, 157, 0.1);
			border-color: var(--main-accent-color);
			color: var(--main-accent-color) !important;
		}

		.button.small {
			font-size: 0.8em;
		}

		.button.special {
			background-color: var(--button-surface-color);
			border-color: var(--button-surface-color);
			color: var(--button-text-color) !important;
		}

			.button.special:hover {
				background-color: var(--button-surface-color-accent);
				border-color: var(--button-surface-color-accent);
				color: var(--button-text-color-accent);
			}

			.button.special:active {
				background-color: var(--button-surface-color-accent);
				border-color: var(--button-surface-color-accent);
				color: var(--button-text-color-accent);
			}

/* Text-Frame*/
	.text-frame{
		position: relative;
		background-color: var(--alternate-tr-bg-color);
		border: solid 1px var(--main-border-color);
		border-radius: 0.35em;
		margin: 1em auto;
		padding: 1em;
	}
	
	.text-frame > :first-child, 
	.text-frame > :first-child > :first-child, 
	.text-frame > :first-child > :first-child > :first-child {
		margin-top: 0;
	}

	.text-frame-icon{
		position: absolute;
		top: 1em;
		right: 1.25em;
	}
	
/* Work Item */

	.work-item {
		margin: 0 0 1em 0;
		
	}

		.work-item .image.fit {
			margin: 0.75em 0 0.75em 0;
		}

		.work-item h3 {
			font-size: 1.05em;
			margin: 0 0 0.5em 0;
		}

		.work-item p, .work-item ul {
			font-size: 0.925em;
			line-height: 1.5em;
			/* margin: 0; */
		}
		
		.alt {
			font-size: 0.925em;
		}

/* Header */

	#header {
		background-color: #181818;
		background-attachment: scroll,								fixed;
		background-image: url("images/overlay.png")/*, url("../../images/bg.jpg")*/;
		background-position: top left,							top left;
		background-repeat: repeat,								no-repeat;
		background-size: auto,								auto 105%;
		color: rgba(255, 255, 255, 0.5);
	}


		.header-title, .header-subtitle {
			line-height: 1.75em;
			margin: 0;
		}
		.header-title {
			color: #ffffff;
			font-size: 1.35em;
		}

		.header-subtitle {
			font-size: 1.05em;
		}

		#header .avatar {
			margin: 0 0 1em 0;
			width: 9.25em;
			height: 9.25em;
			background-image: url("images/avatar.png");
			background-position: center;
			background-repeat: no-repeat;
			background-size: cover;
			background-color: var(--main-bg-color);
		}
		
		#header .languages { position: absolute; top: 0.25em; right: 0.25em; margin: 0 1em; }
		 
		.language { color: rgba(255, 255, 255, 0.4); border-bottom-color:transparent; }
		.selected { font-weight: bold;} 

/* Footer */

	#footer {
		/* display:none; */
	}

		#footer .icons {
			margin: 1em 0 0 0;
		}

			#footer .icons a {
				color: rgba(255, 255, 255, 0.4);
			}

		
		#footer .copyright {
			color: rgba(255, 255, 255, 0.4);
			font-size: 0.8em;
			list-style: none;
			margin: 1em 0 0 0;
			padding: 0;
		}

			#footer .copyright li {
				border-left: solid 1px rgba(255, 255, 255, 0.25);
				display: inline-block;
				line-height: 1em;
				margin-left: 0.75em;
				padding-left: 0.75em;
			}

				#footer .copyright li:first-child {
					border-left: 0;
					margin-left: 0;
					padding-left: 0;
				}

				#footer .copyright li a {
					color: inherit;
				}

/* Main */

	#main {
		
	}

		#main > section {
			/* border-top: solid 2px var(--main-border-color); */
			margin: 4em 0 0 0;
			padding: 0;
		}

			
			#main > section:first-child {
				border-top: 0;
				margin-top: 0;
				padding-top: 0;
			}
			
			
			#main > section.first-section {
				border-top: 0;
				margin-top: 0;
				padding-top: 0;
			}


	#business-card-footer {
		font-size: 0.9em;
		text-align: center;
		background: var(--alternate-tr-bg-color);
		padding: 0.3%;
		margin: 2em 0;
	}
	
	.business-name {
		font-size: 1.25em;
		line-height: 1.5em;		
	}
	
	
/* Touch */

	body.is-touch .image.thumb:before {
		opacity: 0.5 !important;
	}

	body.is-touch .image.thumb:after {
		display: none !important;
	}

	body.is-touch #header {
		background-attachment: scroll;
		background-size: auto, cover;
	}

	/* custom styles */
	
	.refProd { font-style: italic; /*font-weight: bold;*/ /*white-space: nowrap;*/ }

	.read-more-part { display: none; } 

	.read-more-actions { display: block; } 
	
	.street-address { display: inline-block; }
	
	#essay h1 { margin: 0.75em; font-size:0.75em; display:block; text-align:right; }
	
	ul.actions.jump { float:right; margin: 2em 0 0.2em 0.2em; }
	ul.actions.jump > li > a.button.jump { min-width: 3em; }
	
	blockquote > :last-child,
		blockquote > :last-child > :last-child,
		blockquote > :last-child > :last-child > :last-child 	{	 
	 margin-bottom:0;
	}
	
	.text-frame	> :last-child,
		.text-frame > :last-child > :last-child,
		.text-frame > :last-child > :last-child > :last-child 	 {	 
	 margin-bottom:0;
	}
	
	.local-toc, .global-toc {
		margin-bottom:1.25em;
	}
	
	.local-toc a, .global-toc a{
		border-bottom:none;
	}
	
	.program h3 {
		font-weight: 600;
	}
	
	.main-program h3 {
		color: var(--main-program-title-color);
	}
	
	.sub-program h3 {
		color: var(--sub-program-title-color);
	}
	
	.business-term > article > h3 {
		/*color: var(--alternate-tr-bg-color);*/
		display: none;
	}
	
	/*#about-me p, #about-me li {
		font-style: italic;
	}*/
	
	
		/* Nav menu */
			
			.topnav {
			 background-color: var(--top-nav-bg-color);
			 overflow: hidden;
			 max-height: 1.75em;			 
			 border-radius: 0.35em;
			}
			
			.topnav a {
			 text-align: center;
			 padding: 0.35em;
			 border: none;
			 white-space: nowrap;
			 border-radius: 0.35em;
			}
			
			.topnav a:hover {
			 background-color: #ddd;
			 color: black;
			}
			
			/* Section floating title*/
			.floatnav {
			 background-color: var(--active-item-bg-color);
			 border-radius: 0.25em;
			}
			
			
			.floatnav a {			 
			 text-align: center;
			 padding: 0.25em;
			 border: none;
			 white-space: nowrap;
			 border-radius: 0.35em;
			}
			
			.floatnav a:hover {
			 background-color: #ddd;
			 color: black;
			}
			
			.active-item {
			 background-color: var(--active-item-bg-color);
			 color: var(--active-item-color);
			 font-weight:600;			 
			}
			
			.subnav{
				
			}
			.subnav span{
				white-space:nowrap;
			}
			
			.banner { display: flex; flex-wrap: wrap; gap: 0.5em; margin-bottom: 1em; } .banner div { flex: 1 0 11em; text-align:center; } .banner h4, .banner p { padding: 0.35em; } .banner * { margin:0;} #banner_bottom img { max-height: 9.5em; min-height: 9.5em; } .footnote { font-size: 85%; font-style: italic; text-align: left; } .main-action { text-align:center; hyphens: none; } .button-border { border: 0.5em solid var(--main-accent-color); border-radius:0.5em; background-color: var(--main-accent-color); } .button-border a { width:100%; } .main-action-button-text { font-size:155%; line-height:110%; text-transform: uppercase; } .main-action-button-subtext { font-size:110%; } .ind { display:none; } 
		
		[data-animation] {
			 animation:
				var(--animn, none)
				var(--animdur, 12s)
				var(--animtf, ease-in-out)
				var(--animdel, 0.5s)
				var(--animic, infinite)
				var(--animdir, alternate)
				var(--animfm, forwards)
				var(--animps, running);
			}
			
			.a-slide {
			 --animn: slide;
			}			
						
			.slideshow {
				width: 100%;
				aspect-ratio: 1 / 1; /* Keeps the container a perfect square */
				border: 10px solid #ffffff;
				border-radius: 8px;
				box-shadow: 10px 25px 28px rgba(0,0,0,0.3);
				overflow: hidden;
				position: relative;
			}

			.slideshow-images {
				display: flex;
				width: 400%; /* 4 images = 400% width total */
				height: 100%; /* Fill the container height completely */
				transition: transform 0.5s ease-in-out;				
				position: absolute;
				top: 0;
				left: 0;
			}

			.slideshow-images img {
				width: 25%; /* Each image takes up exactly 1/4th of the 400% track */
				height: 100%; /* Fills the height of the track */
				flex-shrink: 0; /* Crucial: stops Flexbox from squishing the images */
				object-fit: cover; /* Ensures image fills the 1:1 box without distortion if source isn't square */
			}
			
			@keyframes slide {
				0% {
					transform: translateX(0);
				}
				25% {
					transform: translateX(0);
				}
				30% {
					transform: translateX(-25%);
				}
				50% {
					transform: translateX(-25%);
				}
				55% {
					transform: translateX(-50%);
				}
				75% {
					transform: translateX(-50%);
				}
				80% {
					transform: translateX(-75%);
				}
				100% {
					transform: translateX(-75%);
				}
			}

			
		
			.c-mm {
			 --h: 20;
			 --w: 20;
			 --z: 100; /* z-index begin */
			 --animdur: 18000ms; /* 3 times the duration */
			 --animtf: ease-out;
			 --dist: clamp(0.75rem, 10vw, 1.5rem);
			 --slides: 20;
			 font-size: 1rem;
			 position: relative;
			}
			.c-mm::before {
			 content: '';
			 display: block;
			 padding-bottom: calc(var(--h) / var(--w) * 100%);
			}

			.c-mm__frame {
			 --animps: running;
			 --img-animps: running;
			 --index: 0;
			 animation: autoplay var(--animdur) infinite;
			 animation-delay: calc((var(--index) * var(--animdur)) / 3);
			 animation-play-state: var(--animps);
			 box-sizing: border-box;
			 height: 100%;
			 margin: 0;
			 opacity: 0;
			 overflow: hidden;
			 padding: 0;
			 position: absolute;
			 top: 0;
			 width: 100%;
			}

			/* Alas, we cannot use var() in nth-selector :-(, so we need code for 3-20 items */
			.c-mm__frame:nth-last-child(3):first-child, 
			.c-mm__frame:nth-last-child(3):first-child ~ .c-mm__frame {
			 animation-duration: var(--animdur);
			}
			.c-mm__frame:nth-last-child(4):first-child, 
			.c-mm__frame:nth-last-child(4):first-child ~ .c-mm__frame {
			 animation-duration: calc((4/3) * var(--animdur));
			}
			.c-mm__frame:nth-last-child(5):first-child, 
			.c-mm__frame:nth-last-child(5):first-child ~ .c-mm__frame {
			 animation-duration: calc((5/3) * var(--animdur));
			}
			.c-mm__frame:nth-last-child(6):first-child, 
			.c-mm__frame:nth-last-child(6):first-child ~ .c-mm__frame {
			 animation-duration: calc((6/3) * var(--animdur));
			}
			.c-mm__frame:nth-last-child(7):first-child, 
			.c-mm__frame:nth-last-child(7):first-child ~ .c-mm__frame {
			 animation-duration: calc((7/3) * var(--animdur));
			}
			.c-mm__frame:nth-last-child(8):first-child, 
			.c-mm__frame:nth-last-child(8):first-child ~ .c-mm__frame {
			 animation-duration: calc((8/3) * var(--animdur));
			}
			.c-mm__frame:nth-last-child(9):first-child, 
			.c-mm__frame:nth-last-child(9):first-child ~ .c-mm__frame {
			 animation-duration: calc((9/3) * var(--animdur));
			}
			.c-mm__frame:nth-last-child(10):first-child, 
			.c-mm__frame:nth-last-child(10):first-child ~ .c-mm__frame {
			 animation-duration: calc((10/3) * var(--animdur));
			}

			.c-mm__img { 
			 animation-direction: alternate;
			 animation-duration: calc(var(--animdur) / 1.5);
			 animation-fill-mode: both;
			 animation-iteration-count: infinite;
			 animation-name: var(--animn);
			 animation-play-state: var(--img-animps);
			 animation-timing-function: var(--animtf);
			 height: 100%;
			 object-fit: cover;
			 object-position: var(--x, 50%) var(--y, 50%);
			 position: absolute;
			 top: 0;
			 width: 100%;
			 will-change: transform;
			}

			.c-mm__inner {
			 height: 100%;
			 position: absolute;
			 top: 0;
			 width: 100%;
			}

			@keyframes autoplay {
			 0.1% { --img-animps: running; opacity: 0; z-index: calc(var(--z) + var(--slides)) }
			 5% { opacity: 1 }
			 50% { opacity: 1 }
			 51% { --img-animps: paused }
			 100% { opacity: 0; z-index: var(--z) }
			}

			/* ----------------------------------------------
			 * Generated by Animista on 2020-11-25 9:5:10
			 * Licensed under FreeBSD License.
			 * See https://animista.net/license for more info. 
			 * w: https://animista.net, t: @cssanimista
			 * ---------------------------------------------- */
			@keyframes kenburns-top{0%{transform:scale(1) translateY(0);transform-origin:50% 16%}100%{transform:scale(1.15) translateY(-5px);transform-origin:top}}
			@keyframes kenburns-top-right{0%{transform:scale(1) translate(0,0);transform-origin:84% 16%}100%{transform:scale(1.15) translate(8px,-5px);transform-origin:right top}}
			@keyframes kenburns-right{0%{transform:scale(1) translate(0,0);transform-origin:84% 50%}100%{transform:scale(1.15) translateX(8px);transform-origin:right}}
			@keyframes kenburns-bottom-right{0%{transform:scale(1) translate(0,0);transform-origin:84% 84%}100%{transform:scale(1.15) translate(8px,5px);transform-origin:right bottom}}
			@keyframes kenburns-bottom{0%{transform:scale(1) translateY(0);transform-origin:50% 84%}100%{transform:scale(1.15) translateY(5px);transform-origin:bottom}}
			@keyframes kenburns-bottom-left{0%{transform:scale(1) translate(0,0);transform-origin:16% 84%}100%{transform:scale(1.15) translate(-8px,5px);transform-origin:left bottom}}
			@keyframes kenburns-left{0%{transform:scale(1) translate(0,0);transform-origin:16% 50%}100%{transform:scale(1.15) translate(-8px,5px);transform-origin:left}}
			@keyframes kenburns-top-left{0%{transform:scale(1) translate(0,0);transform-origin:16% 16%}100%{transform:scale(1.15) translate(-8px,-5px);transform-origin:top left}}
			
			
		.single-line-text {
			text-wrap: nowrap;
			white-space: nowrap;
			hyphens: manual;
		}

/* ===== Reusable Components & Utilities ===== */

	/* --- Collages & Grid Layouts --- */
	.collage {
		display: grid;
		grid-template-columns: repeat(auto-fit, minmax(4.75em, 2fr));
		gap: 1em;
	}

	.flexnav {
		display: inline-flex;
		flex-wrap: wrap;
		gap: 0.5em;
		text-align: center;
		margin-bottom: 1em;
		align-items: stretch;
		justify-content: center;
	}
	.flexnav a {
		flex: 1 1 0;
	}
	.flexnav a.jump.button::before {
		content: "▼ ";
	}
	.flexnav a.jump.button::after {
		content: "…";
	}

	/* --- Dinamikus Portré Kollázs --- */
	.portrait-collage {
		display: grid;
		grid-template-columns: repeat(3, 1fr);
		gap: 1.5em;
		margin: 3em 0;
		align-items: center;
		justify-items: center;
	}

	.collage-item {
		position: relative;
		border-radius: 0.35em;
		overflow: hidden;
		box-shadow: 0 8px 16px rgba(0, 0, 0, 0.08);
		transition: transform 0.5s cubic-bezier(0.25, 0.46, 0.45, 0.94),
					z-index 0s,
					box-shadow 0.5s ease;
		z-index: 1;
		background-color: var(--main-bg-color);
	}

	.collage-item img {
		display: block;
		width: 100%;
		height: auto;
		filter: grayscale(15%) opacity(0.9);
		transition: filter 0.5s ease;
	}

	.collage-item:nth-child(1) { transform: translateX(15%) translateY(15%) rotate(-5deg) scale(0.95); z-index: 2; }
	.collage-item:nth-child(2) { transform: translateX(-5%) translateY(-5%) rotate(2deg) scale(1.05); }
	.collage-item:nth-child(3) { transform: translateX(-14%) translateY(-4%) rotate(7deg) scale(0.9); }
	.collage-item:nth-child(4) { transform: translateX(-15%) translateY(-15%) rotate(20deg) scale(1); }
	.collage-item:nth-child(5) { transform: translateX(-8%) translateY(18%) rotate(0deg) scale(1.5); z-index: -1; }
	.collage-item:nth-child(6) { transform: translateX(-10%) translateY(-10%) rotate(-4deg) scale(1.05); }

	.collage-item:hover {
		transform: scale(1.15) !important;
		z-index: 10;
		box-shadow: 0 15px 30px rgba(0, 0, 0, 0.15);
	}

	.collage-item:hover img {
		filter: grayscale(0%) opacity(1);
	}

	@media screen and (max-width: 736px) {
		.portrait-collage {
			grid-template-columns: repeat(2, 1fr);
			gap: 0.75em;
			margin: 2em 0;
		}

		.collage-item {
			transform: translateY(0) scale(1) !important;
			box-shadow: 0 4px 8px rgba(0, 0, 0, 0.05);
		}

		.collage-item img {
			filter: grayscale(5%) opacity(0.95);
		}

		.collage-item:hover {
			transform: scale(1.05) !important;
		}
	}

	/* --- Ajánló kártyák (Testimonials) --- */
	:root {
		--testimonials-primary-color: #4A5c59;
		--testimonials-bg-color: #f7f9f7;
		--testimonials-card-bg: #ffffff;
		--testimonials-text-main: #333333;
		--testimonials-text-muted: rgba(124, 124, 99, 0.33);
	}

	.testimonials {
		font-family: 'Segoe UI', Roboto, Helvetica, Arial, sans-serif;
		background-color: var(--testimonials-bg-color);
		color: var(--testimonials-text-main);
		margin: 0;
		padding: 1.75em 0.75em;
		line-height: 1.6;
		border-radius: 0.75em;
	}

	.testimonial-container {
		max-width: 75em;
		margin: 0 auto;
	}

	.testimonial-section-title {
		text-align: center;
		font-size: 2.2em;
		color: var(--testimonials-text-main);
		margin-bottom: 1.125em;
		font-weight: 600;
		text-transform: uppercase;
		letter-spacing: 0.0625em;
	}

	.testimonial-grid {
		display: grid;
		grid-template-columns: repeat(auto-fit, minmax(17em, 1fr));
		gap: 1.375em;
		align-items: start;
	}

	.testimonial-card {
		background-color: var(--testimonials-card-bg);
		border-radius: 0.75em;
		padding: 1.875em;
		box-shadow: 0 0.625em 1.875em rgba(0, 0, 0, 0.05);
		border-top: 0.3em solid var(--testimonials-primary-color);
		display: flex;
		flex-direction: column;
		transition: transform 0.3s ease, box-shadow 0.3s ease;
		position: relative;
		height: 100%;
		box-sizing: border-box;
	}

	.testimonial-card:nth-child(4n + 1) {
		background-color: color-mix(in srgb, var(--testimonials-card-bg), #797 3%);
	}

	.testimonial-card:nth-child(4n + 2) {
		background-color: color-mix(in srgb, var(--testimonials-card-bg), #970 3%);
	}

	.testimonial-card:nth-child(4n + 3) {
		background-color: color-mix(in srgb, var(--testimonials-card-bg), #070 3%);
	}

	.testimonial-card:nth-child(4n) {
		background-color: color-mix(in srgb, var(--testimonials-card-bg), #700 3%);
	}

	.testimonial-card:hover {
		transform: translateY(-0.3125em);
		box-shadow: 0 0.9375em 2.1875em rgba(0, 0, 0, 0.1);
	}

	.testimonial-quote-mark {
		position: absolute;
		top: 0.1em;
		right: 0.1em;
		font-size: 21.5em;
		color: var(--testimonials-text-muted);
		font-family: Georgia, serif;
		line-height: 1;
		user-select: none;
	}

	.testimonial-title {
		font-size: 2.5em;
		color: var(--testimonials-text-muted);
		font-family: Georgia, serif;
		line-height: 1;
		user-select: none;
		margin-bottom: 0.25em;
	}

	.testimonial-text {
		font-size: 115%;
		color: var(--testimonials-text-main);
		margin-bottom: 1.5625em;
		flex-grow: 1;
		z-index: 1;
		text-align: justify;
	}

	.testimonial-author-info {
		margin-top: auto;
		display: flex;
		flex-direction: column;
		border-top: 0.0625em solid #eee;
		padding-top: 0.9375em;
	}

	.testimonial-author-name {
		font-size: 85%;
		color: var(--testimonials-text-muted);
	}

	.testimonial-author-title {
		font-size: 65%;
		color: var(--testimonials-text-muted);
		font-style: italic;
		margin-top: 0.25em;
		visibility: hidden;
	}

	@media screen and (min-width: 615px) {
		.testimonial-long-text {
			max-height: 21.875em;
			overflow-y: auto;
			padding-right: 0.625em;
		}

		.testimonial-long-text::-webkit-scrollbar {
			width: 0.375em;
		}
		.testimonial-long-text::-webkit-scrollbar-track {
			background: #f1f1f1;
			border-radius: 0.25em;
		}
		.testimonial-long-text::-webkit-scrollbar-thumb {
			background: #c1c1c1;
			border-radius: 0.25em;
		}
		.testimonial-long-text::-webkit-scrollbar-thumb:hover {
			background: var(--testimonials-primary-color);
		}
	}

	@media (prefers-color-scheme: dark) {
		.testimonials {
			filter: invert(90%);
		}
	}

	/* --- Quicklinks / Morzsamenü --- */
	ul.quicklinks {
		padding: 1em 1.5em;
		list-style: none;
		background-color: var(--alternate-tr-bg-color);
		border-radius: 0.35em;
	}

	ul.quicklinks li {
		display: inline;
		font-size: smaller;
	}

	ul.quicklinks li + li:before {
		padding: 0.5em;
		content: "/";
	}

	/* --- Utility Classes for Common Inline Patterns --- */

	/* Google Forms Dark/Monochrome Iframe Wrapper */
	.gform-wrapper {
		filter: invert(1);
	}
	.gform-inner,
	.gform-wrapper > div {
		filter: hue-rotate(0) saturate(0%) brightness(70%);
	}

	/* Kiemelt keretes doboz (Callout) */
	.text-frame.accent,
	.text-frame.highlight {
		border-color: var(--main-accent-color);
	}

	/* Középre zárt Call-to-Action gombdoboz */
	.main-action.center-box,
	.cta-box {
		margin-top: 2em;
		margin-left: auto;
		margin-right: auto;
		max-width: 23em;
	}

	/* Kompakt táblázat */
	table.compact {
		font-size: 85%;
	}

	/* Rugalmas Flex Kártyarács és Elemek */
	.flex-grid {
		display: flex;
		flex-wrap: wrap;
		gap: 0.5em;
	}
	.flex-grid.overflow-hidden {
		overflow: hidden;
	}
	.flex-card {
		flex: 1 1 13.5em;
	}
	.flex-card.compact {
		flex: 1 0 10em;
		text-align: center;
	}

	/* Képszűrő és pozíció segédosztályok */
	.img-contrast {
		filter: contrast(0.81);
	}
	.img-grayscale {
		filter: grayscale(75%);
	}
	.img-pos-top {
		object-position: top;
	}
	.img-pos-center {
		object-position: 50% 50%;
	}

/* In print */	
	@media only print { .actions.jump, nav, #footer .icons, #footer .copyright li { display:none; } #footer .copyright li:first-child { display:block; }}


/* On screen */

	@media screen {

		/* Header */

			#header {
				/* background-attachment: scroll; */
				/* background-position: top left, center center; */
				/* background-size: auto,		cover; */
				left: auto;
				padding: 7em 4em;
				position: relative;
				text-align: center;
				top: auto;
				width: 100%;
			}

		/* Main */

			#main {
				margin: 3em 2em;
				/* padding: 3em 2em; */
				width: 90%;
				width: calc(100% - 4em);
			}
		
		/* Nav */
			.topnav {
				 position: sticky;
					top: 0;
					z-index:4;
			}
					
			.floatnav {
				 position: sticky;
					top: 0;
					z-index:3;
			}
				
			.subnav {
				top: 1.75em;
				z-index:2;
			}
			
			.floatnav { 
				display: none;
			}
		 
			.actions.jump {
				display: none;
			}

		/* Footer */

			#footer {
				background-attachment: scroll;
				background-color: #181818;
				background-image: url("images/overlay.png")/*, url("../../images/bg.jpg")*/;
				background-position: top left,						bottom center;
				background-repeat: repeat,							no-repeat;
				background-size: auto,							cover;
				bottom: auto;
				left: auto;
				padding: 4em 4em 6em 4em;
				/* position: relative; */
				text-align: center;
				width: 100%;
			}

				#footer .icons {
					margin: 0 0 1em 0;
				}
		
				#footer .copyright {
					margin: 0 0 1em 0;
				}

					#footer .copyright li {
						border-left-width: 1px;
						display: inline-block;
						line-height: 1em;
						margin-left: 0.75em;
						padding-left: 0.75em;
					}
			
	}
	
	@media screen and (orientation: portrait) {

		/* Header */

			#header {
				background-attachment: scroll;
				background-position: top left, center center;
				background-size: auto,		cover;
				/* display:none; */
			}
			
			#business-card-footer {
				/* display:none; */
			}
			
			#footer{
				/* display: none; */
			}
	}
	
/* Small */

	@media screen and (max-width: 736px) {

		/* Basic */
			body { 
				 font-size: 12pt; 
				}

			h1 {
				font-size: 1.5em;
			}

			h2 {
				font-size: 1.25em;
			}

			h3 {
				font-size: 1.15em;
			}

			article > h1, article > h2 {
				margin-top: 1.5em;
			}
		/* Section/Article */

			section.special, article.special {
				text-align: center;
			}

			header.major h2 {
				font-size: 1.35em;
			}

		#header .avatar {float:left; margin: 0em 0.75em 0.25em 0.75em;}
		#header {text-align: center;}
		.header-title {margin-top: 0.5em;}
		/* List */

			ul.labeled-icons li {
				padding-left: 2em;
			}

				ul.labeled-icons li .icon {
					line-height: 1.75em;
					font-size: 1.15em;
				}

		/* Header */

			#header {
				padding: 2.75em 1.5em 1.75em 1.5em;
				text-wrap: pretty;
				hyphens:none;
			}

				.header-title {
					font-size: 1.35em;
				}
				
				.header-subtitle {
					font-size: 0.85em;
				}

		/* Footer */

			#footer {
				padding: 2.25em 1.5em;
			}

		/* Main */

			#main {
				margin: 0 0.35em 0.175em 0.35em;
				padding: 0 0.35em 0.175em 0.35em;
				width: 96%;
				width: calc(100% - 0.7em);
			}

				#main > section {
					margin: 2.25em 0 0 0;
					/* padding: 2.25em 0 0 0; */
				}
				
				#main > section:first-child {				
					margin-top: 0;
					padding-top: 0;
				}
				
				#main > section.first-section {				
					margin-top: 0.2em;
					padding-top: 0.2em;
				}

		.single-line-text {
			text-wrap: wrap;
			white-space: normal;
			/* hyphens: revert; */
		}
	}

/* XSmall */

	@media screen and (max-width: 480px) {

		/* Image */
			.image.left.large, .image.right.large {
				max-width:100%;
				width:100%;
				margin: 1.25em 0;
			}
		
		/* List */

			ul.actions {
				margin: 0 0 2em 0;
			}

				ul.actions li {
					display: block;
					padding: 1em 0 0 0;
					text-align: center;
					width: 100%;
				}

					ul.actions li:first-child {
						padding-top: 0;
					}

					ul.actions li > * {
						margin: 0 !important;
						width: 100%;
					}

						ul.actions li > *.icon:before {
							margin-left: -2em;
						}

				ul.actions.small li {
					padding: 0.5em 0 0 0;
				}

					ul.actions.small li:first-child {
						padding-top: 0;
					}
					
				ul.actions.jump { margin: 1.5em 0 0 0.5em; }
				ul.actions.jump li { padding: 0.5em 0 0 0; }
				ul.actions.jump	.button.jump { height: auto; min-height:0; line-height:inherit; padding: 0 0.5em; }

		/* Header */

			#header {
				padding: 2.75em 1.5em 1.75em 1.5em;
			}
			
				#header .avatar{
					width: 7.25em;
					height: 7.25em;
				}

				.header-title br {
					display: inline;
				}
		/* Menu */
			.topnav {
				/* position: relative; */
			}
			
			.floatnav{
				/* position: relative; */
			}
			.subnav {
				/* top: 0; */
			}
			
			
			.topnav a {			 
			 /* padding: 0.25em; */
			}
		/* Footer */

			#footer .copyright li {
				border-left-width: 0;
				display: block;
				line-height: 2.25em;
				margin-left: 0;
				padding-left: 0;
			}

	}
	
	@media screen and (max-width: 375px) {
		td {
			line-height: 1.5;
		}
		.subnav {
			font-size: 90%;
		}
		.street-address {
			display:initial;
		}
		.image.left, .image.right {
			max-width:100%;
			width:100%;
			margin: 1.25em 0;
		}
	}
	
	
	@media screen and (max-width: 320px) {
		.subnav {
			font-size: 85%;
		}
	}
	
	@media screen and (max-height: 360px) {
	/* Menu */
			.topnav {
				position: relative;				
			}
			
			.floatnav{
				position: relative;
			}
			.subnav {
				top: 0;				
			}
	}

/* Large */
	/* Orientation: Portrait */ /* increase font-size with screen width */
	@media screen and (orientation: portrait) and (min-width: 1161px) { body { font-size: 1.83749354vw; } }
	/* Orientation: Landscape */		
	@media screen and (orientation: landscape) and (min-width: 1161px) {
		
		#header {
			height: 100%;
			left: 0;
			padding: 8em 3em 0 0;
			position: fixed; backface-visibility: hidden;
			text-align: right;
			top: 0;
			width: 35%;
		}
		#footer { 
			bottom: 0;
			left: 0;
			padding: 0 3em 0 0;
			margin: 0 3em 2.25em 0;
			position: fixed; backface-visibility: hidden;
			text-align: right;
			width: 35%;
			background:none;
			max-height: calc(100% - 26.4em); 
		}
		ul.icons {
			display:inline-block; 
		}
		#main {
			margin: 0 0 0 35%;
			left:35%;
			padding: 0 3em;
			width: 65%;
			width: calc(100% - 35%);
		}

	}
	
	/* increase font-size with screen width */
	@media screen and (orientation: landscape) and (min-width: 1610px) { body { font-size: 1.25vw; } }
	
	/* detach copyright links from bottom and even hide on extreme aspect ratios */
	@media screen and (orientation: landscape) and (min-width: 1161px) and (max-height: 765px), screen and (orientation: landscape) and (min-width: 1610px) and (min-aspect-ratio:1858/871) {	#footer { padding-top: 0; top: 26em; margin: 0 3em 2.25em 0; } #footer .copyright { display:none; } } 
	
	 @media (prefers-color-scheme: dark) {
		 
		:root {
			--main-text-color:#a7a7a7;
			--main-border-color: var(--active-item-bg-color); /*--main-text-color*/ /* #727272 */
			--main-accent-color: #2f7f5f;
			--main-bg-color: #0b0b0b;
			--alternate-tr-bg-color: #171717;
			--top-nav-bg-color: var(--alternate-tr-bg-color);
			--active-item-color: #a7a7a7;
			--active-item-bg-color: #575757; /* #201010 */
			/*--button-surface-color: #877171;*/
			--button-surface-color: #a7a7a7;
			--button-surface-color-accent: #ddd;
			--button-text-color-accent: black;
		}
	 
	 }
 
	@media screen and (hover: hover) {
	 /* when hover is supported */
	 nav{
		 -moz-transition: opacity 0.2s ease-in-out;
		-webkit-transition: opacity 0.2s ease-in-out;
		-ms-transition: opacity 0.2s ease-in-out;
		transition: opacity 0.2s ease-in-out;		 
	 }
	 
	 nav.topnav{
		  /* opacity:0.75; */
	 }
	 
	 nav.subnav{
		  /* opacity:0.75; */
		  /* visibility: hidden; */
	 }
	 
	 nav.topnav:hover {
		 /* opacity:1; */
	 }
	 
	 nav.subnav:hover {
		 /* opacity:1; */
	 }
	}