body {
	font-family: Arial, Helvetica, sans-serif;
	font-size: 11pt;
	background-color: white;
	margin: 12pt;
	width: calc( 100% - 24pt );
}

header {
	height: 10em;
	width: 100%;
	background-color: #6be;
	background-image: url(../img/bg_cielo2.jpg);
	background-repeat: no-repeat;
	background-size: cover;
	overflow: hidden;
}

	header img {
		display: block;
		position: relative;
		top: 0px;
		height: 4em;
		max-width: 30%;
		margin-top: 0.75em;
		margin-bottom: 0.25em;
		padding: 0px;
		float: right;
	}
		header img[src='img/venue_logo.jpg'] {
			position: absolute;
			margin: 0pt;
			height: 10em;
			width: 20%;
			left: 0pt;
		}
		header img[src='img/uned_logo.png'] {
			right: 5pt;
		}
		header img[src='img/uma_logo.png'] {
			right: 5pt;
		}
		header img[src='img/aecyta_logo.png'] {
			right: 5pt;
		}
		header img[src='img/eu23es.png'] {
			clear: right;
			height: 3.5em;
			right: 5pt;
		}
		header h1 {
			font-size: 1.25em;
			font-weight: bolder;
			color: black;
			margin-top: 2em;
			margin-left: 33%;
			margin-right: 1em;
			float: left;
		}
		header img[src='img/eac2023_logo.png'], 
		header img[src='img/eac2023_logo2.png'] {
			position: static;
			margin-left: calc(20% + 1em);
			float: left;
			height: 9em;
			margin-top: 0.5em;
			margin-bottom: 0.5em;
		}

aside.left-menu {
	top: 1ex;
	background-color: #6be;
	background-image: url(../img/bg_cielo2.jpg);
	background-repeat: repeat-y;
	color: white;
}
	aside.left-menu ul li a {
		font-weight: bold;
		text-shadow: 1px 1px 1px darkgray;
	}
	aside.left-menu ul li a.current {
		background-color: navy;
		color: cyan;
	}
	aside.left-menu h2 {
		font-family: Fontana, Times, serif;
	}

aside.right-menu {
	top: 1ex;
	background-color: #6be;
	background-image: url(../img/bg_cielo2.jpg);
	background-repeat: repeat-y;
	color: yellow;
	font-weight: bold;
}
	aside.right-menu ul {
		margin-top: 0ex;
	}
	aside.right-menu ul li {
		margin-top: 0.5ex;
		margin-right: 1ex;
		text-shadow: 1px 1px 1px darkgray;
	}
	aside.right-menu h2 {
		font-size: 1.4em;
		font-family: Fontana, Times, serif;
		font-weight: bolder;
		margin-bottom: 0ex;
	}
	aside.right-menu h3 {
		margin-bottom: 0ex;
	}
	aside.right-menu a {
		text-decoration: none;
		color: inherit;
	}
	aside.right-menu a:hover {
		text-decoration: underline;
	}

article {
	background-color: white;
}
	article h1 {
		font-family: Fontana, Times, serif;
		font-size: 1.8em;
		color: #348;
	}
	article h2 {
		font-family: Fontana, Times, serif;
		font-size: 1.4em;
		color: #348;
	}
	article h3 {
		font-family: Fontana, Times, serif;
		font-size: 1.4em;
		font-style: italic;
		color: #372;
	}
		article h1.center, article h2.center, article h3.center {
			margin-left: 25%;
			margin-right: auto;
		}
	article p {
	}
	article li {
		padding-bottom: 0.5ex;
		padding-top: 0.5ex;
	}
		article li li {
			padding-bottom: 0.25ex;
			padding-top: 0.25ex;
		}
	
	article table.centered {
		margin-left: auto;
		margin-right: auto;
	}
	article div.two-col {
		display: inline-block;
		height: auto;
		width: 50%;
		min-width: 24em;
		float: left;
	}
		article div.two-col + div.two-col {
			clear: right;
			margin-right: auto;
		}
	article hr {
		width: 50%;
		margin-left: 0%;
		margin-right: 100%; 
	}
	
p.note {
	background-color: #6be;
	border: 2px solid black;
}
	p.note::before {
		content: "NOTE: ";
		font-weight: bold;
	}
p.center, p.center-highlight {
		width: 60%;
		margin-left: auto;
		margin-right: auto;
	}
	p.wide-hightlight {
		margin-left: 10%;
		margin-right: 10%;
	}
	p.center-highlight, p.wide-highlight {
		padding: 1ex;
		background-color: #82bfef;
		border: 1px solid black;
		box-shadow: 5px 5px 5px gray;
	}
p acronym.highlight {
	font-weight: bold;
	font-size: 2em;
	letter-spacing: 0.5ex;
}
	p acronym.highlight ~ span.acronym-explain {
		font-size: 1em;
		color: #372;
	}
	p acronym.highlight ~ span.acronym-explain b {
		font-size: 1.2em;
		color: black;
	}


iframe.google-maps {
	display: block;
	margin-left: auto;
	margin-right: auto;
}

table td, table th {
	text-align: left;
	border: 1px black solid;
}
	table td, table th {
		margin: 0px;
		padding: 0.5ex;
	}


img[title='Page under construction'] {
	display: block;
	margin-left: auto;
	margin-right: auto;
}
p img[title='Page under construction'] {
	display: inline-block;
	height: 3em;
	width: auto;
	margin: 0.1ex;
	vertical-align: middle;
}
img.icon {
	/*height: 32px;*/
	height: 2em;
	width: auto;
	vertical-align: middle;
}
img.big_icon {
	height: 64px;
	width: auto;
	vertical-align: middle;
}
img.logo {
	height: 4em;
	width: auto;
	max-width: 25em;
	vertical-align: middle;
	margin-left: 2em;
	margin-right: 2em;
}
	img.logo2 {
		height: 4em;
		width: auto;
		max-width: 50em;
		margin: 0.5em;
	}
	img.logo.platinum, img.logo2.platinum {
		height: 6em; 
		max-width: 60em;
		box-shadow: rgba(0, 0, 0, 0.25) 0px 54px 55px, rgba(0, 0, 0, 0.12) 0px -12px 30px, rgba(0, 0, 0, 0.12) 0px 4px 6px, rgba(0, 0, 0, 0.17) 0px 12px 13px, rgba(0, 0, 0, 0.09) 0px -3px 5px;
	}
	img.logo.gold, img.logo2.gold {
		height: 5em; 
		max-width: 50em;
		box-shadow: rgba(0, 0, 0, 0.35) 0px 5px 15px;
	}
	img.logo.silver, img.logo2.silver {
		height: 4em; 
		max-width: 40em;
		box-shadow: rgba(0, 0, 0, 0.24) 0px 3px 8px;
	}
img.foto {
	height: 8em;
	width: auto;
	vertical-align: top;
	padding-right: 1ex;
}
	img.foto + span {
		width: calc( 100% - 8em );
		display: inline-block;
	}

a.button {
	display: block;
	width: 100%;
	text-align: center;
	text-decoration: none;
	padding: 2ex;
}
	a.button button {
		display: inline-block;
		padding: 1ex 1ex;
		font-size: 18pt;
		cursor: pointer;
		outline: none;
		color: lightgrey;
		background-color: grey;
		border: none;
		border-radius: 10pt;
		box-shadow: 0 5pt darkgrey;
	}

		a.button button:hover {
			background-color: lightgrey;
			color: white;
		}

		a.button button:active {
			background-color: lightgrey;
			color: white;
			box-shadow: 0 5px darkgrey;
			transform: translateY(4px);
		}

		a[href].button button {
			background-color: green;
			box-shadow: 0 5pt darkgreen;
		}
		a.button[href] button:hover {
			background-color: lightgreen;
		}
		a.button[href] button:active {
			background-color: lightgreen;
			box-shadow: 0 5px darkgreen;
		}
		
input.showitem {
	display: none;
}
	input.showitem ~ ol {
		display: none;
	}
	input.showitem:checked ~ ol {
		display: block;
	}
		/* ▼ ▲ */
		input.showitem ~ label::after {
			content: " ▼";
		}
		input.showitem:checked ~ label::after {
			content: " ▲";
		}

ol {
	counter-reset: item;
}
ol li{
	display: block;
}
ol li:before {
	content: counters(item, ".") " ";
	counter-increment: item;
}

dl dt {
	font-weight: bolder;
}

footer {
	background-color: gray;
	border-top: 1px solid black;
	color: black;
}
	body > footer {
		background-color: #EEE;
	}
	footer span.date {
		position: absolute;
		right: 0px;
	}

/* form styles */
form label {
	display: inline-block;
	width: 32ex;
	margin: 0.2ex;
	padding: 0.5ex;

	font-weight: bold;
}
/*	form label+div.block {
		display: inline-block;
		vertical-align: top;
	} */
	form label span {
		font-style: italic;
		font-size: 90%;
		font-weight: normal;
	}
	form label span:before {
		white-space: pre;
		content: "\a";
	}
form input, form textarea, form select {
	display: inline;
	margin: 0.2ex;
	padding: 0.5ex;
}
	form label+input, form label+textarea, form label+select, form label+span.input_row {
		vertical-align: top;
	}
form textarea, form select[multiple] {
	vertical-align: top;
}
form input, form textarea, form select {
	border: 1px solid #EEE;
}
form label + input {
}
form input[required]:invalid,
form select[required]:invalid,
form textarea[required]:invalid {
	background-color: #DFD;
	box-shadow: 2px 3px 5px red;
}
	
form hr {
	display: block;
}
form hr[step][out_of]::before {
	display: block;
	position: relative;
	left: 0px;
	width: 10ex;
	outline: 1px solid magenta;
	padding: 0.25ex;
	box-shadow: 2px 3px 4px magenta;
	font-family: Arial, Helvetica, sans-serif;
	font-size: 1.4em;
	content: "Step " attr(step) " of " attr(out_of);
}

form input:invalid ~ hr,
form textarea:invalid ~ hr,
form select:invalid ~ hr {
	display: none;
}
form input:invalid ~ hr[step] ~ *,
form textarea:invalid ~ hr[step] ~ *,
form select:invalid ~ hr[step] ~ * {
	display: none;
}

form textarea.h3size,
form input.h3size {
	font-family: inherit;
	font-size: 1.2em;
	font-weight: bolder;
}

form input[name="action_hidefile"] + span {
	display: none;
}
	form input[name="action_hidefile"]:checked + span {
		display: inline;
	}
	form input[name="action_hidefile"] + span + input[type="file"] {
		display: inline;
	}
		form input[name="action_hidefile"]:checked + span + input[type="file"] {
			display: none;
		}

form p[help] {
	display: none;
}

form select.choose3 option[order]::before { content: " [" attr(order) "] "; }

form input:focus + p[help],
form textarea:focus + p[help],
form select:focus + p[help] {
	display: inline-block;
	position: absolute;
	width: 20em;
	max-width: 20em;
	word-wrap: none;

	background-color: white;
	color: blue;
	border: 1px solid blue;
	box-shadow: 3px 4px 4px blue;
}

/* submit buttons */
form input[type="submit"] {
	margin: 2px;
	background-color: #CDF;
	font-weight: bold;
	box-shadow: 3px 3px 3px black;
}
	form input[type="submit"][name="action.end"] {
		background-color: #FDC;
	}
form input[type="submit"]:hover {
	background-color: #DEF;
}
	form input[type="submit"][name="action.end"]:hover {
		background-color: #FED;
	}
form input[type="submit"]:active {
	margin-top: 1px;
	margin-left: 1px;
	margin-right: 3px;
	margin-bottom: 3px;
	box-shadow: 1px 1px 1px black;
}

/* switch button */
form input.switch + div.switch {
	display: none;
}
form input.switch + div.switch + div.switch {
	display: block;
}
form input.switch[checked] + div.switch, 
form input.switch:checked + div.switch {
	display: block;
}
form input.switch[checked] + div.switch + div.switch, 
form input.switch:checked + div.switch + div.switch {
	display: none;
}

/* info and error messages: autohide */
div.status {
	display: block;
	position: fixed;
	bottom: 2em;
	right: 0px;
	max-width: 30%;
	margin: 2em;
	padding: 0px;
	background-color: white;
	z-index: 100;
	border: 1px solid gray;
	box-shadow: 3px 3px 3px gray;
}
div.status p.info, div.status p.error {
	margin: 0px;
	padding: 0.25ex;
	font-size: 10pt;
}
div.status p.info {
	background-color: #DFD;
}
div.status p.error {
	background-color: #FDD;
}

input.autohide[type="checkbox"] {
	display: none;
}
input.autohide[type="checkbox"]:checked + label.autohide {
	display: none; /* input unchecked by default */
}


section.altsec:nth-child(even) {
	background-color: white;
}
section.altsec:nth-child(odd) {
	background-color: #DDD;
}

section.ontarget {
	display: none;
}
section.ontarget:target {
	display: block;
	width: 100%;
}

section.key_speaker {
	display: block;
	width: 100%;
	height: fit-content;
}
	section.key_speaker div {
		display: block;
		width: 50%;
		background-color: #EEE;
	}
	section.key_speaker div img+h3 { /*name on the right of img.foto */
		float: right;
		width: calc(100% - 6em);
	}
	section.key_speaker hr { /*close section ensuring full height after floating div */
		width: 100%;
	}
	
	section.key_speaker div.sponsored_by {
		float: right;
		max-width: 50%;
		background: none;
		margin-top: 1ex;
	}
		section.key_speaker div.sponsored_by img.logo {
			margin: 1em;
		}
