
* {
	font-family: inherit;
	font-weight: inherit;
	font-variation-settings: inherit;
	font-style: inherit;
	font-size: inherit;
	line-height: inherit;
	text-align: inherit;
	color: inherit;
	text-decoration: none;
	list-style: none;
	margin: 0;
	padding: 0;
	border: 0;
	box-sizing: border-box;
	border-collapse: collapse;
	/* outline: 1px dashed rgba(0,0,0,0.2); */
}

* + * { margin-top: 1em;}


html {
	
	/* filter: invert(1); */
	--black: #000;
	--warm-black: #260013;
	--cool-black: #00273d;
	--white:#FFF;
	--off-white:#D5E0EB;
	--off-white:#dce8f2;
	--gray-dark:#373D40;
	--gray-dark:#262626;
	
	--red: #FF0C0C;
	--red: color(display-p3 1 0.047 0.047);
	--blue:#00AAFF;
	--blue:color(display-p3 0 0.666 1);
	--yellow: #FF0;
	--yellow: color(display-p3 1 1 0);
	--orange: #FF8000;
	
	font-family: 'Paragraf', serif;
	font-weight: 400;
	font-size: 18px;
	padding: 0;
	
	color: var(--warm-black);
	background-color: var(--red);
	
	--invert-logos: 1;
}



.cover {
	/* padding: 1rem 0; */
	line-height: 0.8;
	position: relative;
	background-color: #00AAFF;
	background-color: color(display-p3 0 0.666667 1);
	background-color: var(--blue);
	overflow: hidden;
	will-change: transform;
}
.cover h1 {
	font-size: inherit;
	color: var(--white);
	/* line-height: calc(1em - var(--scrolly) * 0.5px); */
}
.cover .p-layer {
	position: relative;
	padding: 0.18em 0;
	/* padding: 1em 0; */
	font-size: 24vw;
	letter-spacing: 0.02em;
	margin-top: 0;
	text-align: center;
	/* transition: transform 1000ms ease-out; */
}
.cover .p-layer-2 {
	/* font-family: 'Tock', 'Impact', sans-serif; */
	color: var(--white);
	position: absolute;
	top: 0;
	left: 0;
	right: 0;
	bottom: 0;
	
	transform: translatey(calc(var(--scrolly)*1.15px));
	transform: translatey(calc(var(--scrolly)*0.3px));
	
	-webkit-user-select: none;
	-webkit-touch-callout: none;
	-moz-user-select: none;
	-ms-user-select: none;
	user-select: none;
}
.cover .p-layer-1 {
	color: var(--white);
	/* opacity: 0.85; */
	background-color: #FF0C0C;
	background-color: color(display-p3 1 0.047059 0.047059 / 1);
	background-color: var(--red);
	clip-path: polygon(0.08em 0.2em, 4.04em 0.07em, 4.1em 1.8em, 0.13em 1.93em);
	mix-blend-mode: multiply;
	transform: translatey(calc(var(--scrolly)*0.755px));
}
.attn {
	/* display: none; */
	position: absolute;
	z-index: 1;
	/* top: 17vw;
	right: 14vw; */
	top: 0;
	width: 100%;
	bottom:0;
	overflow: hidden;
	transform:translatey(calc(var(--scrolly)*0.4px));
}
/* .starburst {
	position: absolute;
	font-family: 'Export', sans-serif;
	font-size: clamp(0.5rem,calc(0.4rem + 0.5vw),1rem);
	letter-spacing: 0.02rem;
	line-height: 1;
	text-align: center;
	right: calc(2vw - 1.5em);
	top: 2.5rem;
	top: 0.5rem;
	top: calc(3vh - 1rem);
	width: 7em;
	height: 7em;
	padding: 0 1em 0;
	display: flex;
	justify-content: center;
	align-items: center;
	background-color: transparent;
	background-color: var(--yellow);
	background-size: contain;
	background-position: center center;
	background-repeat: no-repeat;
	transform: rotate(15deg);
	
	clip-path: polygon(29.3% 88.2%, 5.8% 97.6%, 14.2% 74.7%, 1.1% 68.2%, 10.3% 58.3%, .2% 48.3%, 11.3% 40.2%, .8% 16.5%, 24.6% 20.9%, 27.8% .2%, 46.3% 9.5%, 57.1% .2%, 67.9% 13.5%, 92.5% 5.3%, 86.1% 33.2%, 99.8% 36.8%, 91.9% 52.3%, 99.8% 64.2%, 89.4% 73.1%, 99.8% 99.7%, 77.4% 88.3%, 65.6% 99.5%, 51.5% 88.2%, 37.1% 99.8%, 29.3% 88.2%);
} */
.starburst {
	position: absolute;
	font-family: 'Export', sans-serif;
	font-size: clamp(0.6rem,calc(0.4rem + 0.5vw),1rem);
	font-size: 0.75rem;
	letter-spacing: 0.02rem;
	line-height: 1;
	text-align: center;
	left: 70%;
	top: -1.5rem;
	/* top: calc(3vh - 1rem); */
	width: 7em;
	height: 6em;
	padding: 0.25em 1em 0;
	display: flex;
	justify-content: center;
	align-items: center;
	background-color: transparent;
	background-color: var(--yellow);
	background-size: contain;
	background-position: center center;
	background-repeat: no-repeat;
	transform: rotate(15deg);
	
	clip-path: polygon(29.3% 88.2%, 5.8% 97.6%, 14.2% 74.7%, 1.1% 68.2%, 10.3% 58.3%, .2% 48.3%, 11.3% 40.2%, .8% 16.5%, 24.6% 20.9%, 27.8% .2%, 46.3% 9.5%, 57.1% .2%, 67.9% 13.5%, 92.5% 5.3%, 86.1% 33.2%, 99.8% 36.8%, 91.9% 52.3%, 99.8% 64.2%, 89.4% 73.1%, 99.8% 99.7%, 77.4% 88.3%, 65.6% 99.5%, 51.5% 88.2%, 37.1% 99.8%, 29.3% 88.2%);
	box-shadow: 1px solid black;
}
.starburst a {
	color: var(--red);
	text-decoration: none;
}
.starburst a:hover {
	color: var(--warm-black);
}


.cover .chunk {
	display: block;
	white-space: nowrap;
	margin: 0;
}
.cover span span {
	display: inline-block;
	margin: 0;
	position: relative;
	/* opacity: 0.5; */
	left: calc(1em * var(--x));
	top: calc(1em * var(--y));
	transform: rotate(calc(1deg * var(--r)));
	/* transform: rotate(calc(1deg * var(--r))) translatey(calc(var(--scrolly) * var(--s) * 1px)); */
}
.ear {
	position: absolute;
	font-size: 0.1em;
	margin-top: 0;
	top: 5em;
	font-family: 'Export', sans-serif;
	letter-spacing: 0.1em;
	--x-pos:2.25em;
}
.ear-left {
	left: var(--x-pos);
	transform: rotate(calc(var(--random1)*10deg - 5deg));
}
.ear-right {
	right: var(--x-pos);
	transform: rotate(calc(var(--random2)*10deg - 5deg));
}
.p-layer-2 .ear {
	color: transparent;
	/* background-color: var(--white); */
	/* padding: 0.5em 0.25em; */
	--x-pos: 2em;
}
.parallax {
	margin-top: 0;
	/* position: relative; */
}
.parallax > .p-body {
	z-index: 2;
	margin-top: 0;
	background-color: var(--body-bg);
}

.sticker {
	position: relative;
	display: inline-block;
	line-height: 1;
	/* text-box: trim-both cap alphabetic; */
	color: var(--red);
	transform: rotate(calc(var(--random1)*6deg - 3deg));
	width: fit-content;
}

.sticker::after {
	content:'';
	color: var(--red);
	background-color: var(--blue);
	mix-blend-mode: multiply;
	position: absolute;
	
	--indent-block: calc(0em + (0.242em/2));
	--indent-inline: 0em;
	transform:
		rotate(calc(var(--random2)*6deg - 3deg))
		translate(-50%, -50%);
		
	top: calc(50% + 0.051em / 2);
	left: 50%;
	--w: calc(100% - 0.2em + var(--random3)*0.4em);
	--h: calc(100% - 0.5em + var(--random4)*0.6em);
	width: var(--w);
	height: var(--h);
}

.sticker:hover,
.sticker:hover::after {
	transition-duration: 0.1s;
	transition-property: width, height;
}
.sticker:hover {
	color: var(--blue);
	/* transform: rotate(0); */
}
.sticker:hover::after {
	background-color: var(--red);
	width: calc(var(--w) + 0.5em);
	height: calc(var(--h) + 0.5em);
}



body {
	margin-top: 0;
	--noise-interval: 0;
	position: relative;
	/* min-height: 100vh; */
	/* display: grid;
	grid-template-rows: auto 1fr auto;
	max-width: 100%;
	 justify-content: flex-start; */
}
.nav_wrap,
header .overview_wrap {
	padding: 0 clamp(0rem, 4%, 2rem);
	/* box-sizing: content-box; */
}
main {
	background-color: var(--off-white);
	margin-top: 0;
	overflow-x: clip;
}

a {
	color: inherit;
	text-decoration: underline;
	text-decoration-thickness: 1px;
	text-decoration-color: var(--red);
}
a:visited {
	/* color: #666; */
}
a:hover,
a:active {
	color: var(--blue);
}
.cover, h1, h2, h3, nav, .dek, .sticker, .starburst, .button {
	-webkit-font-smoothing: antialiased;
	-moz-osx-font-smoothing: grayscale;
}




h1 {
	font-family: 'Tick', 'Impact', sans-serif;
	text-transform: uppercase;
	font-size: 2.5rem;
	font-size: clamp(3.375rem,18vw,11.5rem);
	line-height: 0.84;
	color: var(--white);
	margin-top: -0.02em;
}
h1 {
	margin-bottom: 2rem;
	margin-block-end: calc(0.5rem + 1%);
	margin-block-end: 0;
	transform: rotate(0);
	/* position: relative; */
}
.wide_wrap {
	background-color: var(--blue);
	/* width: 100%; */
	position: relative;
	overflow-y: hidden;
}
main h1 {
	/* margin-block: -0.1em; */

	transform: translatey(calc(var(--scrolly)*0.6px));
	--tt: var(--on);
	/* animation-name: big-hed-size; */
	animation-timing-function: linear;
	--from: 20rem;
	--to: 60rem;
}
@keyframes big-hed-size {
	from {
		font-size: 3.375rem;
	}
	to {
		font-size: 11.5rem;
	}
}
.h1-wrap {
	position: relative;
}
main h1 {
	margin-top: -0.02em;
	padding-block: 0.3em;
}
.h1-l1 {
	margin-top: 0;
	top:0;
	width: 100%;
	position: absolute;
	background-color: var(--red);
	mix-blend-mode: multiply;
}
.h1-l2 h1 {
	transform: translateY(calc(var(--scrolly)*0.4px));
	/* transform-origin: 50% 0.7em; */
}
h2 {
	font-family: 'Export Stencil', sans-serif;
	/* font-size: 2.5rem; */
	font-size: clamp(2.5rem,18vw,5rem);
	line-height: 0.8;
	color: var(--red);
	/* margin-bottom: 2rem; */
	/* margin-bottom: calc(0.5rem + 1%); */
	margin-block: 0;
	width: 100%;
	position: relative;
	/* overflow: hidden; */
	transform: rotate(calc(var(--random1)*8deg - 4deg));
	
	--tt: var(--on);
	animation-name: hed-size;
	/* animation-timing-function: ease-in; */
	animation-timing-function: cubic-bezier(0.47, 0.0, 0.745, 0.715);
	--from: 20rem;
	--to: 72rem;
}
@keyframes hed-size {
	from {
		font-size: 3rem;
	}
	to {
		font-size: 5rem;
	}
}
h2::before {
	content: '';
	background-color: var(--blue);
	mix-blend-mode: multiply;
	position: absolute;
	height: calc(70% + var(--random2)*20%);
	top:50%;
	left:50%;
	bottom:0;
	right: 0;
	width: 110vw;
	transform: translate(-50%, -50%);
	transform: translate(-50%, -50%) rotate(calc(var(--random3)*4deg - 2deg));
}

h3 {
	font-family: 'Export', sans-serif;
	font-size: 1.25rem;
	line-height: 0.9;
	color: var(--red);
}
h3 strong {
	font-size: 1.75rem;
}
h3 span {
	margin-top: 0;
	display: inline-block;
}
h3 a {
	text-decoration: none;
	color: var(--red);
}
h3 + * {
	margin-top: 0.5em;
}
h4 {
	font-weight: 700;
	font-size: 1.25rem;
	line-height: 1;
}
h5 {
	font-weight: 700;
	font-size: 1rem;
}
p {
	max-width: 36em;
	font-variant-numeric: oldstyle-nums;
	text-wrap: pretty;
	-webkit-hyphens: auto;
	-webkit-hyphenate-limit-lines: 2;
}
p, table, li {
	line-height: 1.25;
	/* -webkit-hyphens: auto;
	-webkit-hyphenate-limit-lines: 2; */
}

ul.bulleted li + li {
	margin-top: 0.125em;
}
ul.bulleted li::before {
	content: '–';
	color: var(--red);
}
ul.bulleted li {
	display: grid;
	grid-template-columns: auto 1fr;
	gap: 0.5em;
}


section:has(.dek) {
	container-type: inline-size;
}
.dek {
	font-weight: 450;
	/* text-wrap: balance; */
	/* hyphens: auto; */
	
	--tt: var(--on);
	animation-name: dek-size;
	animation-timing-function: ease-out;
	--from: 320px;
	--to: 80rem;
}
@keyframes dek-size {
	from {
		font-size: 1.25rem;
	}
	to {
		font-size: 1.75rem;
	}
}
.dek strong {
	font-weight: 800;
}



.dek,
.button {
	/* letter-spacing: -0.02em; */
	line-height: 1.1;
	font-size: clamp(1.125rem, calc(1rem + 1vw), 1.75rem);
}
.button {
	font-family: 'Export', sans-serif;
}
#intro .dek,
.workshop .section_hed img {
	margin-left: auto;
	margin-right: auto;
	text-align: left;
	max-width: none;
}
header section,
.nav_wrap {
	max-width: none;
}
.workshop .section_hed {
	text-align: center;
}
.workshop .section_hed img {
	width: 60rem;
	max-width: 100%;
	height: auto;
}

table {
	width: 100% !important;
}
thead th {
	vertical-align: bottom;
}
th {
	font-weight: 700;
	vertical-align: top;
}
td {
	vertical-align: top;
	padding-bottom: 0.75em;
	padding-right: 1em;
	vertical-align: top;
}
td:last-child {
	padding-right: 0;
}
td {
	border-top: 1px solid var(--gray-dark);
	padding-top: 0.5em;
}
.null {
	background-image: url(/images/null.svg?2);
	background-size: 100% 100%;
}
#attend td, #attend th {
	border: 1px solid var(--gray-dark);
	padding: 0.5em;
}

em, cite, i {
	/* font-style: italic; */
}
img {
	width: 100%;
	height: auto;
	display: block;
}
br {
	margin-top: 0
}

.overview {
	display: grid;
	grid-template-columns: repeat(auto-fill, minmax(18em, 1fr));
	align-items: start;
	gap: 1.5rem 5%;
	gap: 1.5rem clamp(0rem, 5%, 2rem);
	margin-top: 5%;
}
.overview > div {
	margin-top: 1rem;
	max-width: 100%;
}
.overview #conference {
	position: relative;
}
.overview .sticker,
.typelab_page #schedule .sticker {
	color: var(--blue);
}
.overview .sticker::after,
.typelab_page #schedule .sticker::after {
	background-color: var(--red);
}
.overview .sticker:hover {
	color: var(--red);
}
.overview .sticker:hover::after {
	background-color: var(--blue);
}
.overview h3 {
	color: var(--blue);
}

.schedule-table td {
	border-top: none;
	padding-top: 0;
	padding-bottom: 1em;
}
.day table {
	width: 100%;
}
.day tr:first-child td {
	border-top: none;
	padding-top: 0;
}
td.event-time,
td.event-date {
	width: 4rem;
	font-variant-numeric: tabular-nums;
}
.event-time br {display: none;}
#attend table {
	display: block;
	max-width: 100%;
	overflow-x: auto;
	padding-bottom: 2px;
}
#attend td, #attend th {
	border: 1px solid var(--gray-dark);
	padding: 0.5em;
}
#attend thead tr > th:first-child {
	border-top: 0;
	border-left: 0;
}


header {
	margin-top: 0;
	text-align: center;
}
nav {
	font-family: 'Export', sans-serif;
	color: var(--white);
	letter-spacing: 0.02em;
	/* font-size: 1.25rem; */
	/* line-height: 1.5; */
	/* padding: 0.5rem 0; */
	/* padding-block: calc(0.25% + 0.25rem) calc(1% + 0.25rem); */
	padding-block: calc(min(1%, 0.75rem) + 0.25rem);
	background-color: var(--white);
	margin-top: 0;
	position: relative;
	z-index: 10;
	border-bottom: 1px solid var(--body-bg);
}
nav .home {
	text-transform: uppercase;
	/* font-variant-numeric: oldstyle-nums; */
	/* margin-right: 0.5em; */
	color: var(--red);
}
.home_page .nav_wrap {
	display: block;
}
.home_page nav .home {
	display: none;
}
nav .home, nav ul {
	line-height: 1.5;
	
	--tt: var(--on);
	animation-name: nav-size;
	/* animation-timing-function: cubic-bezier(0.5,0,1,0.5); */
	--from: 40rem;
	--to: 72rem;
}
nav ul {
	/* font-size: 2rem; */
	margin-block: 0;
	/* text-wrap: balance; */
	width: 100%;
}
@keyframes nav-size {
	from {
		font-size: 1rem;
	}
	to {
		font-size: 1.125rem;
	}
}
nav ul li {
	display: inline;
	display: inline-block;
	margin-top: 0;
	margin-right: 0.5em;
}
nav ul li:last-child {
	margin-right: 0;
}
nav a {
	color: inherit;
	color: var(--red);
	text-decoration: none;
}
nav ul .sticker {
	transform: none;
}
nav ul .sticker::after {
	background-color: transparent;
}
nav ul .sticker:hover::after {
	background-color: var(--red);
}
nav a.sticker:hover {
	color: var(--blue);
	/* text-decoration: underline; */
}
nav a.home:hover {
	color: var(--blue);
	/* text-decoration: underline; */
}
main a:hover {
}
nav strong {
}


strong {
	font-weight: 700;
}
mark {
	background-color: var(--yellow);
}
strike {
	text-decoration-line: line-through;
	text-decoration-color: var(--red);
	text-decoration-style: solid;
	text-decoration-thickness: 0.1em;
}
main section {
	background-color: var(--section-bg);
}
section + section {
	/* border-top: 1rem solid var(--warm-black); */
}
main section + section {
	margin-top: clamp(3rem,10%,3rem);
}
/* section, */
.nav_wrap,
.section_wrap,
.overview_wrap,
.wide_wrap h1,
.footer_wrap {
	max-width: 60rem;
	margin-left: auto;
	margin-right: auto;
	padding-inline: clamp(0rem, 3%, 2rem);
}
nav {
	/* text-align: center; */
}
.nav_wrap,
.section_wrap,
.overview_wrap,
.footer_wrap {
	margin-top: 0;
}
.section_wrap,
.overview_wrap{
	/* padding: 3% 4%; */
	padding-block: clamp(0rem, 3%, 2rem) clamp(0rem, 5%, 3rem);
}
.overview_wrap {
	padding-bottom: 0;
}

.speaker_names {
	color: var(--red);
}
.talk-title {
	color: var(--blue);
}
.bio::after {
	content: "";
	display: table;
	clear: both;
}
.bio figure {
	margin-top: 1em;
	margin-bottom: 0.25em;
	max-width: 20rem;
}
.portrait {
	width: 100%;
	height: auto;
	display: inline-block;
	border: 0.25rem solid var(--white);
}
.portrait,
.bio figcaption {
	max-width: 15rem;
}
figcaption, .small, small {
	font-size: 0.75rem;
	letter-spacing: 0.02em;
	line-height: 1.25;
	margin-top: 0.5em;
	max-width: none;
	opacity: 0.75;
}

.book_seller_banner {
	grid-column: 1 / -1;
}


.button,
#buttondown_embed_signup .button {
	clear: both;
	color: var(--warm-black);
	background-color: var(--red);
	background-color: var(--yellow);
	text-wrap: balance;
	border-style: solid;
	border-color: var(--warm-black);
	border-width: 0 0 3px 3px;
/* 	transition: all 0.23s ease-in-out 0s; */
	cursor: pointer;
	display: inline-block;
	font-weight: normal;
	line-height: 1;
	margin: 1em 0;
	padding: 0.5em 1em;
	text-align: center;
	text-decoration: none;
	vertical-align: top;
	/* white-space: nowrap; */
	width: 100%;
	max-width: 100%;
	border-radius: 0.5em;
}
.button:hover,
#buttondown_embed_signup .button:hover {
	border-width: 0 0 2px 2px;
	margin-top: calc(1px + 1em);
	margin-right: 1px;
	color: var(--warm-black);
}

.map_iframe {
	width: 100%;
}


.social-links {
	column-width: 8rem;
}
.social-link {
	margin-top: 0;
}
.social-icon {
	display: inline-block;
	width: auto;
	fill: var(--white);
	vertical-align: middle;
	width: 1.25rem;
	margin: -0.25rem 0;
	margin: 0.15rem 0 0.35rem;
	color: var(--warm-black);
}
.nowrap {
	white-space: nowrap;
}

footer {
	/* font-family: 'Lygia Sans', sans-serif; */
	letter-spacing: 0.01em;
	color: var(--black);
	background-color: var(--blue);
	margin-top:0;
}
.footer_wrap {
	padding-block: calc(1% + 1rem);
}
footer p {
	max-width: none;
	font-variant-numeric: lining-nums;
}
footer a {
	color: var(--warm-black);
	color: inherit;
	text-decoration-color: inherit;
}
footer a:hover {
	color: var(--white);
}

.schedule_page nav .schedule,
.conference_page nav .conference,
.workshops_page nav .workshops,
.typelab_page nav .typelab,
.book_fair_page nav .book_fair,
.location_page nav .location {
	color: var(--blue);
}
.schedule_page nav .schedule::after,
.conference_page nav .conference::after,
.workshops_page nav .workshops::after,
.typelab_page nav .typelab::after,
.book_fair_page nav .book_fair::after,
.location_page nav .location::after {
	/* background-color: var(--red); */
	--indent-block: 0em;
	--indent-inline: 0em;
}


.supporter_group {
	/* border-top: 1px solid var(--blue); */
	padding-top: 1em;
	padding-bottom: calc(2% + 2rem);
	overflow: hidden;
}
.supporter_group::before {
	content: '';
	display: block;
	height: 0;
	width: 100%;
	grid-column-start: 1;
	grid-column-end: -1;
	border-top: 1px solid var(--blue);
	margin: 0 0 1em;
}

.supporter_grid {
	margin: -1rem;
	display: flex;
	justify-content: space-between;
	justify-content: flex-start;
	flex-wrap: wrap;
	align-items: center;
}
.supporter_grid a {
	margin: 1rem;
}
.supporter img {
	width: auto;
	display: block;
	width: 100%;
	min-height: 0vw;
	height: auto;
	filter: url('#riso-dark');
	filter: grayscale(100%) url('#riso-dark');
	/* filter: invert(var(--invert-logos)); */
}
.supporter img:hover {
	filter: grayscale(100%) url('#riso-blue');
}
.filters-svg {
	position: absolute;
	margin: 0;
	height: 0;
	display: none;
}
.supporter_grid .supporter img {	
	--w: 0;
	--h: 0;
	--control: 1;
	--asp: 1;
/*	--area: calc(var(--w) * var(--h));*/
/*	--ratio: calc(var(--control) / var(--area));*/
	--guess01: calc(calc(var(--asp) + calc( var(--asp) / var(--asp))) / 2);
	--guess02: calc(calc(var(--guess01) + calc( var(--asp) / var(--guess01))) / 2);
	--guess03: calc(calc(var(--guess02) + calc( var(--asp) / var(--guess02))) / 2);
	--guess04: calc(calc(var(--guess03) + calc( var(--asp) / var(--guess03))) / 2);
	--guess05: calc(calc(var(--guess04) + calc( var(--asp) / var(--guess04))) / 2);
/*	--guess06: calc(calc(var(--guess05) + calc( var(--asp) / var(--guess05))) / 2);*/
/*	--guess07: calc(calc(var(--guess06) + calc( var(--asp) / var(--guess06))) / 2);*/
/*	--guess08: calc(calc(var(--guess07) + calc( var(--asp) / var(--guess07))) / 2);*/
/*	width: calc(var(--w) * var(--guess08) / 2 * 1.125rem);*/
	width: calc(var(--control) * var(--guess05) * 1rem + 1vw);
	
	
/*	--w: 0;
	--h: 0;
	--asp: 1;
	--control: 1;
	width: calc(var(--asp) * (var(--control)) * 1rem);*/
}

#association-media .supporter img,
#pixel-supporters .supporter img {--control: 2.5;}
#brass-supporters .supporter img {--control: 3.5;}
#lead-supporters .supporter img {--control: 4.5;}
#silver-supporters .supporter img {--control: 5.5;}
#gold-supporters .supporter img {--control: 6.5;}
#platinum-supporters .supporter img,
#diamond-supporters .supporter img,
#presenting-partners .supporter img {--control: 6.5;}



#buttondown_embed_signup {
	clear: left;
/*	margin-bottom: 3%;*/
}
#buttondown_embed_signup form {
}
#buttondown_embed_signup input {
	margin-top: 0;
	color: var(--warm-black);
	border: 1px solid var(--blue);
}
#buttondown_embed_signup input[type=text],
#buttondown_embed_signup input[type=email] {
	outline: 1px solid var(--light-gray);
	background-color: var(--white);
}
#buttondown_embed_signup input[type=checkbox] {
	-webkit-appearance: checkbox;
}
#buttondown_embed_signup input[type=radio] {
	-webkit-appearance: radio;
}
#buttondown_embed_signup input:focus {
	border-color: #333;
}
#buttondown_embed_signup .button {
	/*See general button styles above */
}
#buttondown_embed_signup .button:hover {
	/*See general button styles above */
}
#buttondown_embed_signup .buttondown-fields {
	display: grid;
/*	grid-template-columns: repeat(auto-fill, minmax(15em, 1fr));*/
	grid-template-columns: 1fr;
	grid-gap: 1rem;
	gap: 1rem;
}
#buttondown_embed_signup .buttondown-field-group {
	margin-top: 0;
}
#buttondown_embed_signup .buttondown-field-group label {
	display: block;
	margin-bottom: 3px;
}
#buttondown_embed_signup .buttondown-field-group input {
	display: block;
	width: 100%;
	padding: 0.375em 0;
	text-indent: 0.5em;
}
#buttondown_embed_signup .buttondown-field-group select {
	display: inline-block;
	width: 99%;
	padding: 5px 0;
	margin-bottom: 2px;
}


@media (min-width: 24em) {
	p {
		-webkit-hyphens: none;
	}
	.bio figure {
		float: right;
		max-width: calc(1rem + 40%);
		margin-left: 1rem;
	}
	.portrait,
	.bio figcaption {
		max-width: 100%;
		display: block;
	}
}

@media (min-height:28rem) {
	@supports (position: sticky) or (position: -webkit-sticky) {
		nav {
			position: -webkit-sticky;
			position: sticky;
			left: 0;
			top: 0;
			z-index: 10;
		}
		* + nav {
			display: none; 
		}
		footer .section_wrap {
			margin-top: 0;
		}
	}
}



@media (min-width: 34em) {
	td.event-date,
	td.event-time {
		width: 7em;
		max-width: none;
	}
	
	.footer_wrap {
		display: grid;
		grid-template-columns: 1fr 3fr;
		gap: clamp(0rem, 5%, 2rem);
	}
	.colophon {
		margin-top: 0;
	}
	#buttondown_embed_signup .buttondown-fields {
		grid-template-columns: 1fr 1fr;
	}
}


@media (min-width: 51em) {
	
	.nav_wrap,
	.section_wrap,
	.talk {
		display: grid;
		grid-template-columns: 1fr 3fr;
		width: 100%;
		gap: 1rem;
		gap: clamp(0rem, 5%, 2rem);
	}
	nav ul {
		width: 100%;
		/* text-wrap: balance; */
		justify-self: end;
		display: flex;
		justify-content: space-between;
	}
	
	.section_wrap {
		align-items: start;
	}
	.section_wrap > * {
		margin-top: 0;
	}
	
	/* .typelab_page #overview_grid div {
		margin-top: 0;
	}
	.typelab_page #overview_grid {
		display: grid;
		grid-template-columns: 1fr 1fr 1fr;
		grid-gap: 1rem;
		gap: 1rem;
	} */
	
	.typelab_page .color-codes {
		display: block;
	}
	
	.section_hed.sticky {
		/* align-self: start; */
		position: -webkit-sticky;
		position: sticky;
		top: 4rem;
		border-bottom: none;
		/* margin-top: -0.25rem; */
	}
}
