/*-------------------------------*/
/* CSS RESETS
/* -------------------------------*/

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;
}
/* HTML5 display-role reset for older browsers */
article, aside, details, figcaption, figure, 
footer, header, hgroup, menu, nav, section {
	display: block;
}
body {
	line-height: 1;
}
blockquote, q {
	quotes: none;
}
blockquote:before, blockquote:after,
q:before, q:after {
	content: '';
	content: none;
}
table {
	border-collapse: collapse;
	border-spacing: 0;
}

/* -------------------------------*/
/* SITE STYLES
/* -------------------------------*/

body {
	padding: 20px 40px 80px 40px;
	max-width: 1100px;
	margin: auto;
	font-family: -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, Helvetica, Arial, sans-serif, "Apple Color Emoji", "Segoe UI Emoji", "Segoe UI Symbol";
}

b, strong {
	font-weight: bold;
}

i, em {
	font-style: italic;
}

h1, h2, h3, h4, h5, h6 {
	margin-top: 1rem;
	margin-bottom: 1rem;
	padding-top: 1rem;
	line-height: 1.5em;
}

h1 {
	font-size: 2.5rem;
	text-align: center;
	line-height: 1em;
	margin-bottom: 2rem;
	font-weight: bold;
}

h2 {
	font-size: 1.3rem;
	font-weight: bold;
	margin-bottom: .2rem;
}

h3 {
	font-size: 1.1rem;
	font-weight: bold;
	margin: .5rem 0;
}

a,
a:link,
a:visited {
	text-decoration: none;
	color: #0000aa;
}

a:hover {
	color: purple;
}


p {
	margin-bottom: .5em;
	font-size: 1rem;
	line-height: 1.5em;
}

ul {
	list-style: disc;
	margin-left: 2rem;
	margin-bottom: .5em;
}

ol {
	margin-left: 2rem;
	margin-bottom: 1em;
}

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

hr {
	margin: 1.3rem 0;
    border: none;
    border-top: 1px solid #CCC;
}

ul.organizers {
	display: flex;
	list-style: none;
	margin: 0;
	flex-wrap: wrap;
}

ul.organizers li {
	padding: 5px;
}

ul.organizers li:after {
	content: ',';
}

ul.organizers li:last-child:after {
	content: '';
}

.details {
	text-align: center;
}

/* click open */

.click-open {
    font-weight: bold; 
    cursor: pointer; 
    color: #0000aa;
} 
.click-open:hover {
	color: purple;
}
.click-open:after {
    content: '►';
    margin-left: 5px;
}
.click-open.open:after {
    content: '▼';
}
.click-open + div {
    display:none; 
    margin-bottom: 20px;
}

.click-open.open + div {
    display: block;
}

/* Individual Page */

.schedule h2 {
	text-align: center;
	font-size: 1.5rem;
}

.schedule > * {
	margin-left: 30px;
}

.schedule h3 {
	margin-left: 0;
}

.schedule h3 {
	border-top: 1px solid #CFCFCF;
	margin-top: 2rem;
}

.note {
	font-style: italic;
}

.title {
	font-weight: bold;
	text-decoration: underline;
}

.speaker {
	font-weight: bold;
}

.alternate {
	color:red;
}

.schedule td,
.schedule th {
	padding: 5px;
}

.schedule th {
	font-weight: bold;
}

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

.special {
	color: green;
}

/* Footer */

ul.archive {
	display: flex;
	flex-wrap: wrap;
	list-style: none;
	margin: 0;
}

ul.archive li {
	width: 110px;
	font-weight: bold;
}

.footer-links {
	display: flex;
	justify-content: center;
	margin-top: 2rem;
}

.footer-links a {
	display: block;
	padding: 10px;
}

@media screen and (max-width: 600px ) {
	body {
		padding: 8px;
	}
}