/* Variables */

html {
	--suffolk-blue: #15284b;
	--suffolk-blue-dim: rgba(21, 40, 75, .8);
	--suffolk-blue-light: rgba(21, 40, 75, .2);
	--suffolk-blue-wash: rgba(21, 40, 75, .1);
	--suffolk-gold: #fdb924;
	--suffolk-gold-dim: rgba(253, 185, 36, .8);
	--suffolk-gold-half: rgba(253, 185, 36, .5);
	--suffolk-gold-light: rgba(253, 185, 36, .2);
	--suffolk-purple: #6d2077;

	--font-size-xs: clamp(.64rem, 0.64rem + ((1vw - 0.2rem) * 0.318), .8rem);
	--font-size-sm: clamp(.8rem, 0.8rem + ((1vw - 0.2rem) * 0.398), 1rem);
	--font-size-normal: 1.125rem;
	--font-size-md: clamp(1.25rem, 1.25rem + ((1vw - 0.2rem) * 0.623), 1.563rem);
	--font-size-lg: clamp(1.563rem, 1.563rem + ((1vw - 0.2rem) * 0.776), 1.953rem);
	--font-size-xl: clamp(1.953rem, 1.953rem + ((1vw - 0.2rem) * 0.971), 2.441rem);
	--font-size-xxl: clamp(2.441rem, 2.441rem + ((1vw - 0.2rem) * 1.216), 3.052rem);
	--font-size-huge: clamp(3.052rem, 3.052rem + ((1vw - 0.2rem) * 3.415), 4.768rem);
}

body {
	box-sizing: border-box;
	font-family: -apple-system, BlinkMacSystemFont, avenir next, avenir, segoe ui, helvetica neue, helvetica, Cantarell, Ubuntu, roboto, noto, arial, sans-serif;
	font-family: "Atkinson Hyperlegible", sans-serif;
  font-size: var(--font-size-normal);
  line-height: 1.15;
	display: flex;
	flex-direction: column;
	min-height: 100vh;
	min-height: 100svh;
	margin: 0;
	padding: 0;
}

a {
	color: var(--suffolk-blue);
	text-decoration-color: var(--suffolk-blue-wash);
	text-underline-offset: .15em;
	
	&:hover {
		text-decoration-color: revert;
	}
}

.header {
	background-color: var(--suffolk-blue);
	padding: 1.5em 1em;

	> * {
		margin: 0 0 .25em 0;
	}
	
	.subtitle {
		color: White;
		font-size: var(--font-size-lg);
		font-weight: normal;
	}
	
	.title {
		color: var(--suffolk-gold);
		font-size: var(--font-size-huge);
		text-transform: uppercase;
	}

	.timeZoneNotice {
		color: White;
	}
}

.schedule {
	display: grid;
	flex: 1 1 auto;
	grid-template-columns: repeat(5, 1fr);
	min-height: 0;
	margin: 0;

	@media (max-width: 768px) {
		grid-template-columns: 1fr;
	}
}

.dayHeader {
	margin-bottom: 1.5em;
	text-transform: uppercase;
}

.dayContainer {
	padding: 1.5em 1em;
	
	&:not(.last-child) {
		border-right: 1px solid var(--suffolk-blue);
		
		@media (max-width: 768px) {
			border-right: 0;
			border-bottom: 1px solid var(--suffolk-blue);
		}
	}
}

.meeting {
	margin-bottom: 1.5em;

	> * {
		margin: 0 0 .25em 0;
	}

	.meetingTime {
		color: SlateGray;

		.time {
			display: inline-block;
		}
	}

	.meetingTitle {
		font-weight: bold;
	}

	.meetingNote {
		color: SlateGray;
		font-size: var(--font-size-xs);
	}
}