/*
	Site-specific styles for the SSTD web site.
	main.css is the Tessellate theme; everything the conference site adds on
	top of it lives here.
*/

/* Basic */

	strong, b {
		font-weight: bold;
	}

/* Banner (inner pages) */

	#header.compact {
		padding-top: 7em;
		padding-bottom: 3em;
	}

/* Page content (body of pages/ files) */

	.page-content h2 {
		font-size: 2.25em;
		font-weight: 100;
		text-align: center;
		margin: 2em 0 1em 0;
	}

	/* Keep heading margins inside the white content area; otherwise a page
	   starting with "## Heading" shows a strip of grey page background
	   between the title and the content. */
	.main > .content.style4 {
		display: flow-root;
	}

	.page-content > h2:first-child {
		margin-top: 0;
	}

	.page-content > * + .row {
		margin-top: 0;
	}

	.page-content img {
		max-width: 100%;
		height: auto;
	}

	.page-content iframe {
		max-width: 100%;
	}

	.page-content table th,
	.page-content table td {
		border: 1px solid #ddd;
		padding: 0.5em 1em;
		text-align: left;
	}

	.page-content table th {
		background-color: #f5f5f5;
		font-weight: bold;
	}

	.page-content table {
		margin-bottom: 2em;
	}

/* Home: about, dates, news */

	#about h2 {
		font-weight: bold;
	}

	.dates-table tr + tr {
		border-top: 1px solid #ccc;
	}

	.dates-table td + td {
		padding-left: 1em;
		white-space: nowrap;
	}

/* Home: sponsors */

	.sponsor-logos {
		display: flex;
		flex-wrap: wrap;
		justify-content: center;
		align-items: center;
		gap: 40px;
	}

		.sponsor-logos a {
			display: inline-block;
			border-bottom: none !important;
		}

		.sponsor-logos img {
			display: block;
			width: auto;
		}

/* Keynotes */

	.keynote + .keynote {
		padding-top: 4em;
	}

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

		.keynote-photo img {
			width: 100%;
			max-width: 300px;
			margin-top: 10px;
			margin-bottom: 12px;
		}

	.keynote p {
		text-align: justify;
	}

/* Detailed program */

	.schedule h3 {
		color: #003366;
		border-bottom: 2px solid #005a8d;
		padding-bottom: 5px;
	}

	.schedule-table,
	.page-content .schedule-table {
		width: 100%;
		border-collapse: collapse;
		margin-bottom: 20px;
		font-family: sans-serif;
		overflow-x: auto;
		display: block;
		line-height: 1.5em;
	}

		.page-content .schedule-table th,
		.page-content .schedule-table td {
			border: 1px solid #dddddd;
			padding: 4px;
			vertical-align: top;
		}

		.page-content .schedule-table th {
			background-color: #f2f2f2;
			font-weight: bold;
			color: #333;
		}

		.page-content .schedule-table th.time-column,
		.page-content .schedule-table td.time-column {
			width: 10%;
			background-color: #f2f2f2;
			text-align: center;
		}

		.page-content .schedule-table th.session-column,
		.page-content .schedule-table td.session-column {
			width: 17%;
			text-align: center;
		}

		.page-content .schedule-table th.details-column,
		.page-content .schedule-table td.details-column {
			width: 73%;
			text-align: left;
		}

		.page-content .schedule-table td.social-event {
			text-align: center;
		}

		.schedule-table td p {
			margin: 4px 0;
			padding: 0;
			text-align: inherit;
		}

		.schedule-table tr.keynote {
			background-color: #fffacd;
		}

		.schedule-table tr.tutorial {
			background-color: #e6ffef;
		}

		.schedule-table tr.social {
			background-color: #ffe6f2;
		}

		.schedule-table tr.default {
			background-color: #ffffff;
		}

		.schedule-table tbody tr:hover {
			background-color: #e6f7ff;
		}

		.schedule-table .session-title {
			font-weight: bold;
			color: #005a8d;
		}

		.schedule-table .long-paper {
			font-weight: bold;
			display: block;
		}

		.schedule-table .author {
			font-size: 0.9em;
			display: block;
			margin-top: 0;
		}

		.schedule-table .location {
			font-size: 0.9em;
			color: #777;
			margin-top: 5px;
		}

/* Mobile */

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

		.sponsor-logos img {
			max-height: 40px !important;
		}

	}
