@import url(https://fonts.googleapis.com/css2?family=Red+Hat+Text:ital,wght@0,300..700;1,300..700&display=swap);

:root {
	--colour-background: #F3F9D2;
	--colour-table-span: #CBEAA6;
	--colour-catalogue-header: #63264A;
	--colour-text: #0D2C54;
}

body {
	margin: 0;

	background-color: var(--colour-background);
	color: var(--colour-text);

	font-family: "Red Hat Text", serif;
	font-style: normal;
}

h1, h2, h3 {
	color: var(--colour-catalogue-header);

	text-align: center;
}

h1 {
	padding-top: 7px;
	padding-bottom: 7px;
	border-top: 2px solid;
	border-bottom: 2px solid;
	margin-bottom: 0;
}

h1:first-of-type {
	border-top: 0;
	margin-top: 0;
}

h2, h3 {
	margin-bottom: 0;
}

h3 {
	margin-top: 0;
}

a {
	margin: auto;

	color: var(--colour-text);
}

td {
	padding: 10px;
	border-top: 2px solid;
	border-bottom: 2px solid;
	border-left: 1px dashed;
	border-right: 1px dashed;

	background-color: var(--colour-background);
	transition-duration: 200ms;
}

td:hover {
	filter: invert(15%);
}

.schedule-table {
	margin-top: 15px;

	border-collapse: collapse;
	table-layout: fixed;

	width: 100%;
	text-align: center;
}

.time-header {
	width: 140px;
}

.span {
	padding-top: 20px;
	padding-bottom: 20px;
}

.span, .time-slot {
	background-color: var(--colour-table-span);
}

.session-title, .session-track-title {
	font-weight: bold;
}

.session-slot-speaker {
	margin-bottom: 0;
}

.session-slot-addendum {
	margin-bottom: 0;

	font-style: italic;
}

.schedule-catalogue {
	border-left: 2px solid;
	border-right: 2px solid;
	margin-left: 15%;
	margin-right: 15%;

	text-align: justify;
}

@media only screen and (max-width: 1000px) {	
	.schedule-catalogue {
		margin-left: 0;
		margin-right: 0;
	}
}

.catalogue-abstract {
	padding-left: 10px;
	padding-right: 10px;
}

.catalogue-abstract:last-of-type {
	border-bottom: 2px solid;
	padding-bottom: 13px;
	margin-bottom: 15%;
}