* {
	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;
	overflow: visible;
	font-variation-settings: 'wdth' var(--v-wdth);
}

html:before { /* BREAKPOINT INDICATOR */
	content: 'XXS';
	font-family: Verdana, sans-serif;
	font-size: 9px;
	color: rgba(0,0,0, 0.5);
	position: fixed;
	top: 0px;
	left: 0px;
	display: none;
	z-index: 2;
}
html.debug:before {display: block;}

html.debug * {outline: 1px dashed rgba(255,0,0, 0.5);}

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

:root {
	font-family: 'HEX Franklin Variable', 'HEX Franklin', -apple-system, BlinkMacSystemFont, 'Verdana','Arial', sans-serif;
	font-variation-settings: 'wdth' var(--v-wdth);
	--v-wdth: 100;
	
/* 	font-feature-settings: 'ss01' 1, 'ss02' 1; */
	font-variant-numeric: lining-nums;
	font-weight: 400;
	font-size: 1em;
	line-height: 1.25;
	text-align: left;
	color: var(--black);
/*	background-color: var(--black);*/
	-webkit-text-size-adjust: 100%;
	
	--black: #000;
	--dark-gray: #1E1B14;
	--gray: #83817c;
	--white: #F9F4F2;
	--red: #FE3639;
	--salmon: #FF6D5E;
	--orange: #ff8244;
	--orange: #FF7733;
	--gold: #e7c900;
	--yellow: #FFE12E;
	--grass-green: #72C86D;
	--green: #7ADD8C;
	--green: #48D8AE;
	--blue: #44CCE2;
	--dark-blue: #4471e3;
	--pink: #F6B8C4;
	
	--light-gray: #CCC;
	--light-orange: #ffb794;
	--light-yellow: #fff3ac;
	--light-yellow: #ffe761;
	--light-green: #b2e5bb;
	--light-blue: #9cdee9;
	--light-pink: #fcd9e0;
}


.white-bg {background-color: var(--white);}
.orange-bg {background-color: var(--orange);}
.yellow-bg {background-color: var(--yellow);}
.green-bg {background-color: var(--green);}
.blue-bg {background-color: var(--blue);}
.pink-bg {background-color: var(--pink);}
.black-bg {background-color: var(--black);}
.dark-gray-bg {background-color: var(--dark-gray);}
.black-bg,
.dark-gray-bg {
	color: var(--white);
	-webkit-font-smoothing: antialiased;
	-moz-osx-font-smoothing: grayscale;
}
.black-bg img,
.dark-gray-bg img {filter: invert(1);}

.light-gray-bg {background-color: var(--light-gray);}
.light-orange-bg {background-color: var(--light-orange);}
.light-yellow-bg {background-color: var(--light-yellow);}
.light-green-bg {background-color: var(--light-green);}
.light-blue-bg {background-color: var(--light-blue);}
.light-pink-bg {background-color: var(--light-pink);}

.white {color: var(--white);}
.orange {color: var(--orange);}
.yellow {color: var(--yellow);}
.green {color: var(--green);}
.blue {color: var(--blue);}
.pink {color: var(--pink);}

.light-gray: {color: var(--light-gray);}
.light-orange {color: var(--light-orange);}
.light-yellow {color: var(--light-yellow);}
.light-green {color: var(--light-green);}
.light-blue {color: var(--light-blue);}
.light-pink {color: var(--light-pink);}

body,
nav,
nav ul,
nav ul li,
main,
section#intro > *,
section,
br,
hr,
footer,
.section_wrap,
.overview_wrap {
	margin-top: 0;
}

body {
	background-color: #F6B8C4;
 	background-color: var(--white); 
/* 	padding: 1%; */
}

.section_wrap,
.overview_wrap,
.full-width {
	padding: 2%;
	padding: calc(2% + 0.5rem) 2%;
}
.overview_wrap {
	position: relative;
/*	overflow: hidden;*/
}
.overview_wrap h1 {
	padding-left: 0.04em;
	padding-right: 0.1em;
}
.eyes .section_hed::after {
	position: absolute;
	bottom: -4vw;
	right: 1rem;
	content: url(/images/eyes-left.svg);
	width: 12vw;
/*	width: calc(10vw + 0.5rem);*/
	display: inline-block;
}
main > section:first-child .overview_wrap {
	overflow: hidden;
}
/*main > section:first-child .overview_wrap .section_hed*/
.overview_wrap .section_hed.trim {
	margin-bottom: -5vw;
	margin-bottom: calc(-4vw - 0.6rem);
}

.sticker {
	font-family: 'HEX Franklin Variable', 'HEX Franklin Condensed', -apple-system, BlinkMacSystemFont, 'Verdana','Arial', sans-serif;
	font-weight: 600;
	--v-wdth: 70;
	text-transform: uppercase;
	letter-spacing: 0.02em;
	font-size: 1em;
	line-height: 1.2;
/*	color: var(--white);*/
	
	position: absolute;
	left: -0.2rem;
	bottom: 0.7rem;
	width: 5.6em;
	height: 5.6em;
	padding: 1.1em 1em 0.9em;
	text-align: center;
	display: flex;
	justify-content: center;
	align-items: center;
	transform: rotate(15deg);
	background-image: url(/images/starburst.svg);
	background-size: contain;
	
/*	background-color: var(--yellow);
	clip-path: polygon(50% 7.2%,59.9% 0%,66.4% 10.4%,78.3% 7.6%,80.3% 19.7%,92.4% 21.7%,89.6% 33.6%,100% 40.1%,92.8% 50%,100% 59.9%,89.6% 66.4%,92.4% 78.3%,	80.3% 80.3%,78.3% 92.4%,66.4% 89.6%,59.9% 100%,50% 92.8%,40.1% 100%,33.6% 89.6%,21.7% 92.4%,19.7% 80.3%,7.6% 78.3%,10.4% 66.4%,0% 59.9%,7.2% 50%,0% 40.1%,10.4% 33.6%,7.6% 21.7%,19.7% 19.7%,21.7% 7.6%,33.6% 10.4%,40.1% 0%);*/
}

footer .section_wrap {
	background-color: transparent;
}

footer {
/*	border-top: 0.5rem solid var(--yellow);*/
 	font-size: 0.875rem; 
}

.home_page footer,
.about_page footer,
.conference_page footer,
.livestream_page footer {
	border-top: 0.5rem solid var(--pink);
}
footer p + p,
footer .section_wrap li + li {
	margin-top: 1rem;
}
.copyright {
/*	margin-top: 2em;*/
}


h1 {
	font-family: 'BRZO', 'Impact', -apple-system, BlinkMacSystemFont, 'Arial', sans-serif;
	font-weight: normal;
	font-style: italic;
	text-transform: uppercase;
	font-size: 16vw;
	line-height: 0.75;
	margin-top: 0.07em;
	margin-top: 0.125em;
	margin-bottom: -0.125em;
/*	clip-path: polygon(0% 0%, 100% 0%, 100% 50%, 0% 50%);*/
	position: relative;
/*	display: inline-block;*/
	white-space: nowrap;
}


h2 {
	font-family: 'HEX Franklin Variable', 'HEX Franklin Extra Condensed', -apple-system, BlinkMacSystemFont, 'Verdana','Arial', sans-serif;
	font-weight: 800;
	text-transform: uppercase;
	font-size: 2.5em;
	--v-wdth: 60;
	line-height: 0.84;
	font-feature-settings: 'ss03' 1;
/*	letter-spacing: 0.015em;*/
/*font-feature-settings: 'titl' 1;*/
	font-variant-caps: titling-caps;
	margin-top: 0;
}
h3 {
	font-family: 'HEX Franklin Variable', 'HEX Franklin Condensed', -apple-system, BlinkMacSystemFont, 'Verdana','Arial', sans-serif;
	font-weight: 650;
	--v-wdth: 85;
	font-size: 1.5em;
}

h3 + * {
	/*margin-top: 0.375em;*/
}
h3 {
	padding-bottom: 0.25em;
	border-bottom: 0.25rem solid currentcolor;
	/*margin-bottom: 0.25em;*/
}
* + h3 {
	margin-top: 1.5em;
}
h4 {
	font-family: 'HEX Franklin Variable', 'HEX Franklin Narrow', -apple-system, BlinkMacSystemFont, 'Verdana','Arial', sans-serif;
	font-weight: 600;
	--v-wdth: 95;
	font-size: 1.125em;
}
h4 + * {
	margin-top: 0.5rem;
}

p, .bulleted li {max-width: 44rem;}
p + p,
li + li {
	margin-top: 0.75em;
}
.bulleted li {
	text-indent: -0.74em;
	padding-left: 0.74em;
}
.bulleted li::before {
	content: '•';
	font-weight: 800;
	margin-right: 0.4em
}
table {
	width: 100%;
}
td, th {
	/*line-height: 1.125;*/
	vertical-align: top;
	padding-bottom:1em;
}
th {
	font-weight: 700;
}
thead th {
	vertical-align: bottom;
}
* + td,
* + th {
	padding-left: 1em;
}
/*.schedule-table {--v-wdth: 93;}*/
.schedule-table td.event-time {max-width: 3.5em;}

.conference-color {color: var(--pink);}
.workshops-color {color: var(--blue);}
.bookfair-color {color: var(--orange);}
.typelab-color {color: var(--yellow);}


img {
	display: block;
	width: 100%;
	height: auto;
}
a {
	text-decoration: underline;
/*	text-decoration-skip-ink: none;*/
}
p a:hover,
li a:hover,
td a:hover {
	font-weight: 500;
/*	color: var(--black);
	background-color: var(--yellow);*/
/*	-webkit-font-smoothing: auto;
	-moz-osx-font-smoothing: auto;*/
}
h1 a {text-decoration: none;}
strong {
	font-weight: 700;
}
h4 a:hover,
strong a:hover {
	/*color: var(--white);
	font-weight: inherit;
	text-decoration: none;*/
	/*text-decoration-color: var(--white);*/
}
del {
	text-decoration-line: line-through;
}

/*section + section .section_wrap,*/
hr {
	border-top: 1rem solid currentcolor;
	grid-column-start: 1;
	grid-column-end: 5;
}

nav {
	padding: 0.75rem 2%;
	z-index: 1;
	border-bottom: 0.5rem solid var(--yellow);
}
nav ul {
	font-weight: 450;
/* 	display: flex; */
	display: inline-block;
}
nav ul li {
	display: inline-block;
	margin-right: 0.5em;
}
nav ul li:last-child {
	margin-right: 0;
}
nav ul li + li {
}
nav::after,
.bio {
	content: "";
	display: table;
	clear: both;
}
nav strong {
	text-transform: uppercase;
}
nav a {
	text-decoration: none;
	color: var(--blue);
}
nav a:hover,
nav a:active {font-weight: 700;}
nav .home {
	float: left;
	margin-right: 1em;
}
nav a.home:hover {
	color: var(--pink);
}

iframe {
	width: 100%;
	/*max-width: 48rem;*/
	outline: 1px solid var(--light-gray);
}
.map_iframe {
	height: 25rem;
}

.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(--white);
}


.section_note {
	margin-top: 0.25rem;
	position: relative;
}
.section_note p {
	font-size: 0.75rem;
	max-width: 18em;
	margin-right: 0;
	margin-top: 0.5em;
	margin-left: auto;
}

.dek {
	font-family: 'HEX Franklin Variable', 'HEX Franklin Narrow', -apple-system, BlinkMacSystemFont, 'Verdana','Arial', sans-serif;
	font-weight: 700;
	--v-wdth: 85;
	font-size: 2rem;
	font-size: calc(1.25rem + 0.7vw);
	max-width: 40em;
	line-height: 1.1;
	margin-top: -0.07em;
	-webkit-font-smoothing: antialiased;
	-moz-osx-font-smoothing: grayscale;
}
.dek + * {
	margin-top: 0.5rem;
}
.black-bg .dek {
	font-weight: 600;
}
p.dek {
	max-width: none;
}
#overview .dek {
	font-size: calc(1.25rem + 1vw);
	font-weight: 400;
}
.dek strong {
	font-weight: 700;
	font-size: 1.01em;
}
.more_soon {
	margin-top: 3rem;
	border-top: 1px solid var(--black);
	padding-top: 3rem;
	margin-bottom: 2rem;
}

figcaption,
.caption {
	opacity: 0.6;
}
figcaption {
	font-size: 0.625rem;
	letter-spacing: 0.025em;
	margin-top: 0.25em;
	text-align: right;
}
.caption {
	font-size: 0.875rem;
}
.bio {
	margin-bottom: 2rem;
}

.cover {
	/* min-height: 18em; */
	overflow: hidden;
	text-align: center;
	position: relative;
	padding-bottom: 0;
	display: flex;
	justify-content: center;
	align-items: start;
	-webkit-font-smoothing: antialiased;
	-moz-osx-font-smoothing: grayscale;
}
.cover h1 {
	width: 106%;
	margin: 0 -3%;
}
.cover img {
	width: 100%;
	height: auto;
	/* min-width: 24rem; */
/*	max-height: 95vh;*/
/*	min-height: 10rem;*/
	display: block;
	background-color: #F6B8C4;
	background-color: var(--pink);
	position: relative;
	margin-top: 0;
	
	--step: calc(-10.5% + (var(--count) * 1.2%));
}
.cover .top {
	margin-top: 0;
	margin-left: -1.2%;
	z-index: 2;
}
.cover .middle {
	z-index: 1;
/*	margin: var(--step) 0;*/
}
.cover .bottom {
	margin-top: 0;
	margin-right: -1.2%;
	z-index: 3;
	display: flex;
	flex-direction: column-reverse;
}

.cover .top  img {
	margin-bottom: -9%;
	margin-bottom: var(--step);
	padding-left: calc(0.2% * var(--count));
}
.cover .bottom  img {
	margin-top: -9%;
	margin-top: var(--step);
	padding-right: calc(0.2% * var(--count));
}

.section_wrap.people-grid {
	/*grid-column-start: 1;
	grid-column-end: 5;*/
	/*display: grid;
	align-items: start;
	grid-template-columns: 1fr 1fr;
	column-gap: 3%;
	row-gap: 1.5rem;*/
	grid-template-columns: unset; 
}
.talk .section_hed,
.talk .section_content{
	/*margin-top: 0;*/
}
.talk-number {
	position: relative;
}
.talk-label {
	font-size: 1rem;
	position: absolute;
	top: 0.25rem;
	left: 0;
}
.talk-number .count {
	font-family: 'BRZO', 'Impact', -apple-system, BlinkMacSystemFont, 'Arial', sans-serif;
	font-weight: normal;
	font-style: italic;
	/*text-align: right;*/
	font-size: 10vw;
	font-size: 30vw;
	line-height: 1;
	
	display: block;
	/*margin-top: -1.75rem;*/
	margin-top: -0.05em;
	margin-bottom: -0.2em;
	padding-left: 2.5rem;
	/*position: relative;*/
	/*position: absolute;*/
	/*left: calc(3rem - 0.1em);*/
	/*top: 0;*/
	/*left: 2.5rem;*/
}


.person {
	/*display: grid;
	grid-template-columns: 1fr 2fr;
	column-gap: 3%;*/
	/*margin-top: 0;*/
}
.portrait {
	width: 100%;
	max-width: 15rem;
	display: inline-block;
}
.portrait + .portrait {
	margin-top: 1%;
}
.person-info {
	margin-top: 0.25rem;
}
.person h3 {
	border-bottom: none;
	padding-bottom: 0;
}
.person p {
/*	font-size: 0.875em;*/
	--v-wdth: 90;
}
.affiliation {
	margin-top: 0;
}
.person-links {
	font-size: 0.875em;
}
.portrait {
	border: 0.25rem solid var(--white);
/*	outline-offset: -0.5rem;*/
}
a .portrait:hover {
	border-color: var(--yellow);
/*	-webkit-filter: grayscale(100%) url('#wash');
	filter: grayscale(100%) url('#wash');*/
}

#schedule .speaker_names,
.person_name {
	display: inline-block;
	margin-top: 0;
	/*text-transform: none;*/
}
h2 a {
	text-decoration: none;
}
h2 a:hover {
	text-decoration: underline;
	text-underline-offset: 0.01em;
	text-decoration-skip-ink: none;
	text-decoration-thickness: 0.04em;
	text-decoration-thickness: 1px;
}
h2 .speaker_names {
	font-weight: 400;
}
h2 del {
	position: relative;
	text-decoration-line: none;
	/*text-decoration: underline;
	text-decoration-color: rgba(0,0,0,0.6);
	text-underline-offset: -0.45em;
	text-decoration-thickness: 0.1em; */
}
h2 del::after {
	content: '';
	display: block;
	position: absolute;
	top: 50%;
	left: -2%;
	right: -2%;
	height: 0.1em;
	transform: rotate(4deg);
	background-color: var(--red);
	opacity: 0.85
}
.diacritics {
	line-height: 1.1;
}
.event_meta {
	margin-top: 2rem;
}


.talk-title {
	/*text-transform: none;*/
}
.bio figure {
	/*margin-top: 0.25em;*/
	margin-bottom: 0.25em;
	max-width: 20rem;
}

article + article {
	margin-top: 3rem;
}

#stay-updated {
	background-color: var(--blue);
}

#stay-updated .social-link {
	white-space: nowrap;
	display: inline-block;
	width: intrinsic;
	margin-right: 1em;
}
.social-icon {
	display: inline-block;
	width: auto;
	fill: var(--black);
	vertical-align: middle;
	width: 1.25rem;
	margin: -0.25rem 0;
	margin: 0.25rem 0;
}
footer .social-icon {
	fill: var(--orange);
}
.nowrap {white-space: nowrap;}
.inline-block {
	display: inline-block;
	margin-top: 0;
}


.supporter_group {
	border-top: 1px solid var(--white);
	padding-bottom: calc(2% + 2rem);
	overflow-x: hidden;
}

.supporter_group:nth-child(4n+1) {
	color: var(--pink);
	border-top-color: var(--pink);
}
.supporter_group:nth-child(4n+2) {
	color: var(--orange);
	border-top-color: var(--orange);
}
.supporter_group:nth-child(4n+3) {
	color: var(--blue);
	border-top-color: var(--blue);
}
.supporter_group:nth-child(4n) {
	color: var(--yellow);
	border-top-color: var(--yellow);
}


.supporter_group h4 {
	margin-bottom: 2rem;
}

.supporter_grid {
	
/*	display: flex;
	justify-content: flex-start;
	flex-wrap: wrap;
	align-items: center;
	gap: 2rem;*/

	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;
}
.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: 7.5;}


.button,
#mc_embed_signup .button {
	clear: both;
	background-color: var(--yellow);
	border-style: solid;
	border-color: var(--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: 1em 1.5em 0.875em;
	text-align: center;
	text-decoration: none;
	vertical-align: top;
	white-space: nowrap;
	width: auto;
	border-radius: 0.75em;
}
.button:hover,
#mc_embed_signup .button:hover {
	border-width: 0 0 2px 2px;
	margin-top: calc(1px + 1em);
	margin-right: 1px;
}



.typelab_page .button,
.typelab_page .button:hover,
.typelab_page #mc_embed_signup .button,
.typelab_page #mc_embed_signup .button:hover {
	/* width: 100%; */
/*	background-color: var(--green);*/
/*	color: var(--white);*/
}

.typelab_page .day {
	padding-top: 1rem;
	padding-bottom: 1rem;
	/*background-color: var(--light-yellow);*/
}
.typelab_page .day + .day {
	/*border-top: 2px solid var(--accent-color);*/
	margin-top: 1rem;
}

.section_hed.sticky p {
	font-size: 0.875em;
}

.typelab_page .schedule-table,
.typelab_page .schedule-table > tbody,
.typelab_page .schedule-table > tbody > tr,
.typelab_page .schedule-table > tbody > tr > td {
	display: block;
	margin: 0;
}
.typelab_page .schedule-table > tbody > tr > td {
	padding: 0.5em;
	margin: -0.5em -0.5em 1em;
}
.typelab_page .schedule-table > tbody > tr > td > table > tbody > tr > td {
	padding-bottom: 0;
	margin-bottom: 0.5em;
}
.typelab_page #schedule :target::before {
	grid-column-start: 1;
	grid-column-end: 5;
	display: block;
	content: '';
	margin-top: -7rem;
	height: 7rem;
	visibility: hidden;
	pointer-events: none;
}

.typelab_page #schedule h4 {
	font-weight: normal;
}
.typelab_page .talk-description {
	margin-top: 0.5em;
}
.typelab_page {--host-color: var(--gray);}
.typelab-americas {--host-color: var(--red);}
.typelab-europe {--host-color: var(--dark-blue);}
.typelab-asia {--host-color: var(--grass-green);}

.typelab_page .anchor-link {
	text-decoration: none;
}
.typelab_page a.anchor-link:hover {
	/* color: var(--black);
	background-color: transparent; */
}
/* .typelab_page .section_hed small + small {
	margin-top: 1rem;
} */
.typelab_page .color-codes a {
	/* color: inherit; */
	/* color: var(--host-color); */
}
.typelab_page .color-codes a,
.typelab_page .talk-title {
	/* color: var(--host-color); */
	-webkit-font-smoothing: antialiased;
	-moz-osx-font-smoothing: grayscale;
	
	/* background-color: var(--host-color);
	padding-left: 0.25em;
	padding-right: 0.25em;
	border-radius: 0.25em; */
}
.event-header {
	line-height: 1.2;
}
.event-time {
	font-variant-numeric: tabular-nums;
}
.timezone {white-space: nowrap;}

 .past {opacity: 0.5;} 

.typelab_page .talk-title::before,
.channels-wrap h4::before,
.typelab_page .color-codes strong::before {
	content: '';
	margin-right: var(--margin-right-size);
	margin-bottom: -0.07em;
	display: inline-block;
	width: var(--square-size);
	height: var(--square-size);
	vertical-align: baseline;
	background-color: var(--host-color);
	
	--margin-right-size: 0.3em;
	--square-size: 0.9em;
	--circle-size: calc(1.125 * var(--square-size));
	--triangle-size:  calc(1.3 * var(--square-size));
	--circle-diff: calc(var(--circle-size) - var(--square-size));
	--triangle-diff: calc(var(--triangle-size) - var(--square-size));
}
.typelab-europe .talk-title::before,
.typelab-europe h4::before,
.color-codes .typelab-europe strong::before {
	border-radius: calc(var(--circle-size) / 2);
	width: var(--circle-size);
	height: var(--circle-size);
	margin-left: calc(var(--circle-diff) * -0.5);
	margin-right: calc(var(--margin-right-size) - (var(--circle-diff) /2));
	margin-bottom: -0.125em;
}
.typelab-asia .talk-title::before,
.typelab-asia h4::before,
.color-codes .typelab-asia strong::before {
	height: calc(var(--triangle-size) * 0.866);
	width: var(--triangle-size);
	clip-path: polygon(0% 100%, 100% 100%, 50% 0%);
	margin-left: calc(var(--triangle-diff) * -0.5);
	margin-right: calc(var(--margin-right-size) - (var(--triangle-diff) / 2));
}

.typelab_page .event-header {margin-top: 0;}
.typelab_page .color-codes {
	/*grid-template-columns: 1fr 1fr 1fr; */
	display: flex;
	flex-direction: row;
	/*flex-wrap: nowrap; */
	/*justify-content: space-between;*/
	gap: 1rem;
	margin-top: 0;
	margin-bottom: 1.5em;
}
.typelab_page .color-codes li {
	display: inline-block; 
	padding: 0;
	margin-top: 0.25em;
	margin-left: 1.25em;
	text-indent: -1.25em;
}

.typelab_support {
	font-size: 0.75rem;
}
.typelab_core.section_wrap {
	padding-top: 0;
}

.typelab_page :target > td {
	animation: target-highlighter 2s 1 ease-in;
	/* outline: -webkit-focus-ring-color auto 5px; */
}
@keyframes target-highlighter {
	0%, 10% { background-color: transparent;}
	5%, 15% { background-color: var(--accent-color);}
}

input.expando {
	opacity: 0;
	position: absolute;
	margin: 0;
	pointer-events: none;
}
.expando-button:hover {
	cursor: pointer;
}
.typelab_page .talk-description,
.past .talk-description {
	display: none;
	margin-top: 0.5em;
	font-size: 1rem;
}
.typelab_page input.expando:checked ~ .talk-description,
.typelab_page table :target .talk-description {
	display: block;
	max-height: none;
	overflow: visible;
}
.expando-button .talk-title {
	text-decoration: underline;
}



.workshops_page #stay-updated {
	background-color: var(--orange);
}
.typelab_page #stay-updated {
/*	background-color: var(--light-green);*/
}

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







@supports (font-variation-settings: 'wdth' 60) {
	:root,
	h2,
	h3,
	h4,
	.dek,
	.sticker {
		font-family: 'HEX Franklin Variable', -apple-system, BlinkMacSystemFont, 'Verdana','Arial', sans-serif;
	}
}


@media (min-height:28em) {
	html:before {content: 'S';}
	.bio figure {
		float: right;
		max-width: 40%;
		max-width: calc(1rem + 40%);
		margin-left: 1rem;
	}
	@supports (position: sticky) or (position: -webkit-sticky) {
		nav {
			position: -webkit-sticky;
			position: sticky;
			left: 0;
			top: 0;
			z-index: 9;
		}
		.overview_wrap > * {margin-top: 0;}
		footer nav {
 			display: none; 
		}
		footer .section_wrap {
			margin-top: 0;
		}
	}
}
@media (min-aspect-ratio: 11/16) {
	.cover img {--step: calc(-11.6% + (var(--count) * 1.1vh));}
}
@media (min-width: 24em) {
	html:before {content: 'S/M';}
	.talk {
		display: grid;
		width: 100%;
		gap: 1rem;
		
		grid-template-columns: 1fr 3fr;
		align-items: start;
		max-width: 60rem;
		margin-left: auto;
	}
	.talk-number {
		position: absolute;
	}
	.talk-number .count {
		font-size: 16vw;
		/*margin-top: -0.35em;*/
	}
	.portrait {
		max-width: 100%;
		display: block;
	}
	.talk-info {
		margin-top: 0;
	}
}
@media (min-width: 34em) {
	html:before {content: 'M';}
	h2 {font-size: 3.5em;}
	
	.sticker {
		top: 0.5em;
		right: 0.75em;
		bottom: unset;
		left: unset;
	}
	#mc_embed_signup .mc-fields {
		grid-template-columns: 1fr 1fr;
	}
	
	.people-grid {
		grid-template-columns: 1fr 1fr 1fr;
	}
	.person p {
		--v-wdth: 100;
	}
	
	td.event-time {
		width: 6.5em;
		max-width: none;
	}
	.event-time br {	display: none;}
	.event:not(.past) .expando-button:hover {cursor: unset;}
	.event:not(.past) .expando-button .talk-title {text-decoration: none;}
	.typelab_page .event:not(.past) .talk-description {display: block;}
	.typelab_support {
		position: absolute;
		top: 6%;
		right: 2%;
	}
}
@media (min-width: 40em) {
	nav ul {
		/*float: right;*/
		/*width: 100%;*/
	}
	nav ul li + li {
		margin-left: 0.5em;
	}
}
@media (min-width: 52em) {
	html:before {content: 'M/L';}
	nav ul {
		float: right;
	}
	
	.typelab_page #overview_grid {
		/* text-align: center; */
		display: grid;
		grid-template-columns: 1fr 1fr 1fr;
		grid-gap: 1rem;
		gap: 1rem;
	}
	.typelab_page #overview_grid div {
		margin-top: 0;
	}
	.typelab_page .color-codes {
		display: block;
	}
}

@media (min-width: 55em){
	html:before {content: 'L';}
	nav {
		display: grid;
		grid-template-columns: 1fr 3fr;
	}
	nav ul {
		width: 100%;
		max-width: 42.375em;
		justify-self: end;
		display: flex;
		justify-content: space-between;
	}
	.section_wrap,
	.overview_wrap,
	.talk {
		display: grid;
		width: 100%;
		gap: 1rem;
	}
	h2 {
		font-size: 4.25em;
/*		padding-top: 0.092em;*/
	}
	.section_wrap {
		grid-template-columns: 1fr 3fr;
		align-items: start;
		max-width: 60rem;
		margin-left: auto;
/*		margin-right: auto;*/
	}
	.talk {
		/*align-items: end;*/
	}
	.overview_wrap {
		grid-template-columns: 1fr 10rem;
		align-items: end;
	}
	.section_wrap > * {margin-top: 0;}
	.section_wrap .section_hed {
/*		text-align: right;*/
	}
/*	.section_note p.note {
		margin-top: 0;
	}*/
	
	.section_hed.sticky {
		/* align-self: start; */
		position: -webkit-sticky;
		position: sticky;
		top: 4rem;
		border-bottom: none;
		/* margin-top: -0.25rem; */
	}
	
	.sticker {
		font-size: calc(0.3vw + 0.75em);
		top: 1.5vw;
		right: 9.25rem;
	}	
	
	.supporter_group {
		align-items: start;
/*		grid-template-columns: 10rem 1fr;*/
	}
	.supporter_group .section_hed {
/*		grid-column: 2;
		grid-row: 1;*/
	}
	.supporter_group .section_note {
		grid-column: 1;
		grid-row: 1;
	}
	.section_note p {
		margin-top: 0;
	}
	h1 {
		font-size: 13vw;
		font-size: calc((90vw - 10rem) / 4.8);
		font-size: calc((90vw - 10rem) / 5.3);
/* 		text-align: right;
		padding-right: 0.15em; */
		margin-top: 0.07em;
		margin-right: -0.2em;
	}
	#overview .dek {
		--v-wdth: 80;
	}

}

@media (min-width: 60em){
	html:before {content: 'XL';}
	.section_wrap,
	.overview_wrap,
	.full-width {
		padding: calc(2% + 0.5rem) 1.25rem;
	}
	nav {
		padding: 0.75rem 1.25rem;
	}
	
	#overview {
		display: grid;
		grid-template-columns: 1fr 10rem;
	}
	.talk-number .count {
		font-size: 12rem;
	}
}

@media (min-width: 72em){
	html:before {content: 'XXL';}
}


