@charset "UTF-8";
@import url("reset.css");
/* Created by Brendan P. Behan for BrendanBehan.dance */

/* Colors
---------------------------------------------------------- */
/* Primary palette: 
   (1) bice blue (2) dark purple (3) carmine red (4) lavender web (5) mountbatten pink
   (1) #006ba6   (2) #32213a     (3) #9b1d20     (4) #dfd9e2      (5) #af7595 
   Logo Palette: blue #0487D9
*/
/* Variant A: 
	--thistle --mint --persiangreen --carmine --biceblue (--darthmouthgreen --maize --periwinkle-3 --fawn --rosybrown --lavenderpink --sandybrown --teagreen-2 --pearl --black-2 --dkpurple) */
/* Variant B (dropping carmine+biceblue): 
	--dkpurple --persiangreen --mint (--timberwolf --gamboge) (--amber --cerise) 
*/
:root {
	--biceblue: #006BA6; /*--Bice Blue--*/
	--blue: #0487D9; /*--Logo Blue/Link Blue--*/
	--dkpurple: #32213A; /*--Dark Purple--*/
	--red: #9B1D20; /*--Carmine--*/
	--lavender: #DFD9E2; /*--Lavender (web)--*/
	--pink: #AF7595; /*--Mountbatten Pink--*/
	--black-2: #07020D;
	--salmonpink: #EF959D;
	--sandybrown: #F5A65B;
	--lion: #AF9164;
	--pearl: #E7DFC6;
	--maize: #FFF689;
	--mintgreen: #CDF7F6;
	--periwinkle: #BBB6DF;
	--periwinkle-2: #C6C8EE; /* w/ --thistle */
	--periwiknkle-3: #AFAFDC; /* w/ --mint --persiangreen --carmine --biceblue */
	--lavenderblush: #F1E4E8;
	--platinum: #E2DCDE;
	--skyblue: #48CDEC;
	--cerulean: #247BA0;
	--bice-shade-lt: #0085CC;
	--lapislazuli: #0A5C90;
	--bice-dk: #12507F;
	--bice-dker: #184771;
	--lavender-2: #AFAFDC;
	--rosybrown: #B09398;
	--thistle: #BFB1C1; /* w/ --persiangreen --mint */
	--lilac: #C3ACCE;
	--lavenderpink: #E6AACE;
	/*--plum: #7D387D;*/
	--plum: #894A89; /*Pomp and Power*/
	--cambridgeblue: #7DAF9C;
	--persiangreen: #339989;
	--mint: #02C39A;
	--dartmouthgreen: #036016;
	--pistachio: #A5CC6B;
	--teagreen: #CDEAC0;
	--teagreen-2: #D6FFB7;
	--vanilla: #EFE9AE;
	--fawn: #FFC07F;
	--timberwolf: #E5DADA;
	--gamboge: #E59500;
	--amber: #FFBF00;
	--cerise: #E83F6F;
	--melon: #E9AFA3;
	--champagnepink: #F9DEC9;
	--black: #000000;
	--white: #FFFFFF;
	/* navy w/ --gamboge --carmine */
	--deepnavy: #111a4f;
	--bubblegum: #ef798a;
	--pacificcyan: #258EA6;

	/* Global Spacing */
	--base-indent: 1.625rem;

	/* Global Timing */
	--faster: 75ms;
	--fast: 100ms;
	--go: 150ms;
	--slow: 200ms;
	--slower: 250ms;
}

p						{ color: var(--black); }
h2, h5, h4 span			{ color: var(--dkpurple); }
a, a:visited 			{ color: var(--blue); }
h4,
h4 a,
h4 a:visited,
.annual-calendar li .season,
h3 span.year 			{ color: var(--pink); }
.title-wrapper h4,
header h4,
h1 em,
h1 span,
h2 span,
.call-out p span.date,
blockquote,
blockquote p 			{ color: var(--biceblue);}
.call-out p span.season,
.call-out p span.year	{ color: var(--bice-dk)}
nav, button, 
nav a, button a,
nav a:visited, 
button a:visited,
nav .active a:hover,
.social-menu a,
.social-menu a:visited 	{ color: var(--vanilla); }
h3, h3 a, h3 a:visited 	{ color: var(--cerulean); }
.site-design a,
.site-design a:visited 	{ color: var(--skyblue); }
h1, h6,
a:hover, nav a:hover, .social-menu a:hover, h4 a:hover,
.class-schedule .note, .class-schedule .title-wrapper h3, .class-schedule header h3,
.dates sup, button sup, .button sup, .advisory sup, sup.advisory,
.time span, .dance-class span, .weekday span,
.call-out p span, .other-links p span,
.warning, .red		 	{ color: var(--red); }
.other-links p span.age-range,
.plum					{ color: var(--plum); }
h4.location 			{ color: var(--dkpurple); }
footer p	 			{ color: var(--pistachio); }
.class-page h2.season-year { color: var(--plum);}
.class-page.spring h2.season-year { color: var(--dartmouthgreen);}
.annual-calendar li .session { color: var(--bice-dk); }
.spring-green 			{ color: var(--cambridgeblue); }
button {
	background-color: rgba(0, 0, 0, 0);
	border-color: var(--lilac);
}
.button:after {
	background-color: var(--pink);
}
.mobile-nav-toggle:hover {
	background-color: rgba(0,0,0,0.1);
	border-color: var(--dkpurple);
}
.mobile-nav-toggle:hover .burger-wrapper > div {
	background-color: var(--pink);
}
.highlight {
	background-color: var(--maize);
}
button, label, input,
.border,
.home-page .call-out,
.warning {
	border-style: solid;
}
button {
	border-width: 2px;
}
.border,
.home-page .call-out,
.warning {
	border-width: 1px;
}
.border,
.home-page .call-out {
	border-color: var(--pink);
}
.no-border,
.home-page .call-out.no-border {
	border-width: 0;
}
.class-page .class-schedule {
    border-color: var(--lavender);
    border-style: dashed;
	border-width: 2.5px;
}
.reg-info .title-wrapper {
	background-color: var(--bice-dk);
}
.reg-info .title-wrapper,
.reg-info .title-wrapper h2 {
	color: var(--pistachio);
}
.class-page .weekday {
	color: var(--gamboge);
}
.class-page main ul ::marker {
	color: var(--biceblue);
}

/* Backgrounds
---------------------------------------------------------- */
body {
	background-color: var(--lavender);
}
.primary-nav {
	background-color: var(--biceblue);
}
.primary-nav .logo-wrapper {
	background-image: url("../_img/logo-color-horiz-whitetext-bbdance.svg");
}
footer .logo-wrapper {
	background-image: url("../_img/logo-brendanbehandance-tricolor-whiteletters-horiz.svg");
}
.logo-wrapper {
	background-repeat: no-repeat;
}
footer {
	background-color: var(--blue);
	background-image: url("../_img/bg/pattern-bhe6-0487d9.png");
	background-repeat: repeat;
}
.location {
	background-image: url("../_img/icons/logo-geolocation_carmine_300r128h.png");
	background-repeat: no-repeat;
	background-position: left center;
	background-size: 1.25rem;
}
.class-page .class-schedule,
.annual-calendar,
.session-calendar,
.calendar {
    background-color: var(--lavenderblush);
}

/* Fonts & Text
---------------------------------------------------------- */
html 		{ font-size: 16px; }
html, body 	{ 
	min-height: 100vh;
	position: relative;
}
body {
	display: grid;
	grid-template-rows: min-content 1fr;
	overflow-x: hidden;
	text-orientation: upright;
    writing-mode: lr;
}
body,
p,aside,blockquote, 
form,legend,input,label,textarea,
table,
ul,ol,li {
	font-style: normal;
	font-weight: 300;
	text-align: left;
}
body,header,main,footer,
p,aside,blockquote,section,
form,legend,input,label,textarea,
table,caption,td,tr,
ul,ol,li,
h1,h2,h3,h4,h5,h6 {
	text-wrap: wrap;
}
.class-schedule .weekday {
	text-wrap: nowrap;
}
.caps,
.weekday span {
	text-transform: uppercase;
}
.paper-body .references,
.references li,
.references li a {
	overflow-wrap: break-word;
    word-break: break-word;
}
h1, header h2, .title-wrapper h2, h3, h5, aside, blockquote, .meta {
	font-family: brandon-grotesque, Helvetica, Arial, sans-serif;
}
h2, h4, h6, h2>span, .time span, .weekday span {
	font-family: rift, Helvetica, Arial, sans-serif;;
}
p, li, nav, button, caption {
	font-family: mr-eaves-modern, Helvetica, Arial, sans-serif;
}
a:hover, a:active, 
a:link:hover, a:link:active,
h4 a, h4 :link {
	text-decoration: underline;
}
a, span { 
	font-family: inherit;
	font-size: inherit;
	font-style: inherit;
	font-weight: inherit;
}
em, i, blockquote,
blockquote p,
blockquote .attribution em,
blockquote .attribution i,
.time span, .dance-class span, h2>span,
.emphatic-connector { 
	font-style: italic; 
}
aside,
cite, caption,
blockquote em,
blockquote i,
blockquote span.normal {
	font-style: normal;
}
sub 					{ vertical-align: sub; }
sup 					{ vertical-align: super; }
sub, sup { 
	line-height: 1;
	text-indent: initial;
}
strong, b, h1, h3, h5,
.reg-info h2, .call-out h2,
.section-title .diacritic,
button a sup, .button a sup,
.annual-calendar .session, .session-calendar .session,
.annual-calendar .date, .session-calendar .date,
.dance-class			{ font-weight: 700; }
.emphatic-connector,
h4 span					{ font-weight: 500; }
.references li .diacritic.force-lower-case,
.footnotes li .diacritic.force-lower-case,
.paper-body .photo-caption .diacritic.force-lower-case,
.paper-body .image-caption .diacritic.force-lower-case,
h1 span, h2, h6		 	{ font-weight: 400; }
nav, nav li, 
ul, li,
h1+h2, h4,
h3 span, h5 span, h6 span,
.location,.reg-info h2,
.dance-class span, .time span, .dates span,
.section-title .subtitle .diacritic,
.references li, .footnotes li, 
.annual-calendar li,
.session-calendar li,
li.note		  			{ font-weight: 300; }
button,
.paper-body .meta,
.deemphasis				{ font-weight: 200; }
.force-lower-case 		{ letter-spacing: 0.075em; }

h1 						{ font-size: 72px; }
h2						{ font-size: 52px; }
.dance-class 			{ font-size: 40px; }
h3, .location 			{ font-size: 36px; }
h3 .diacritic			{ font-size: 35px; }
h4, h5, h6	 			{ font-size: 32px; }
p, li, blockquote		{ font-size: 28px; }
aside, caption, td, tr 	{ font-size: 22px; }
button,nav li,footer li	{ font-size: 20px; }
sub, sup 				{ font-size: 60%; }
button a sup			{ font-size: 90%; }

.class-schedule .weekday 	 { font-size: 60px; }
.class-schedule .season-year { font-size: 24px; }
.class-schedule .location 	 { font-size: 23px; }
.cityofevanston-accessibility-statement,
.paper-body p, .paper-body blockquote, 
.footnotes li,
.annual-calendar li
.session-calendar li,
.weekday span, .time span,
.dance-class span 			 { font-size: 22px; }
.note, .dates,
.class-schedule .age-range 	 { font-size: 20px; }

.warning p, .date-line, .meta,
.photo-caption, .image-caption,
.paper-body .photo-caption,
.paper-body .image-caption,
.paper-body .date-line,
.paper-body .meta 			 { font-size: 18px; }
.paper-body .diacritic.force-lower-case,
.references li				 { font-size: 16px; }
.site-design,
.copyright					 { font-size: 15px; }
.footnotes li .diacritic.force-lower-case {
	font-size: 14px;
}
.references li .diacritic.force-lower-case,
.paper-body .photo-caption .diacritic.force-lower-case,
.paper-body .image-caption .diacritic.force-lower-case {
	font-size: 13px; 
}

.other-links .age-range	{ font-size: 70%; }
blockquote .attribution { font-size: 80%; }
.dance-class sup 		{ font-size: 50%; }

h1, header h2, .title-wrapper h2,
.call-out h3, .call-out h4,
.call-out h5, .call-out h6,
.title-wrapper h3, .title-wrapper h4,
.title-wrapper h5, .title-wrapper h6,
header h3, header h4, header h5, header h6,
.lead-image+.photo-caption, .lead-image+.image-caption,
.center+.photo-caption, .center+.image-caption,
.column img+.photo-caption, .column img+.image-caption,
.secondary-nav li, .social-menu li,
.works-page p.attribution,
.site-design, .copyright,
.other-links, .other-links p,
.center {
	text-align: center;
}
.class-schedule .season-year {
	text-align: left;
}

.indent {
	text-indent: var(--base-indent);
}
button {
	letter-spacing: 0.01em;
}
h1, h2, h3, h4, h5, h6,
blockquote, p, ol, ul, table, tr, td,
form, label, input, textarea {
	line-height: 1.15;
}
aside,
.paper-information {
	line-height: 1.1;
}
main li,
.annual-calendar li,
.session-calendar li,
.session-calendar .dates {
	line-height: 1.15;
}
.class-schedule .season-year {
	line-height: 1.1;
}

nav a,
button a,
button a:hover sup, button a:link:hover sup,
button a:hover, button a:active, 
button a:link:hover, button a:link:active,
sup a, h3 a,
a.note-return { text-decoration: none; }

/* Lists
---------------------------------------------------------- */
.class-page main section ul li {
	list-style-type: disc;
}

.hide, button.hide,
.home-page nav li.active,
nav .nav-menu > li.cv-link,
nav .nav-menu > li.as-link,
.call-out .hide, .callout .hide { 
	display: none; 
}

/* Positioning
---------------------------------------------------------- */
.primary-nav,
.nav-menu,
main,
.lead-image-wrapper,
.section-image-wrapper,
footer > .inner-wrapper {
	display: flex;
}
footer > .inner-wrapper {
	align-content: center;
	flex-wrap: wrap;
}
main {
	justify-content: center;
    flex-flow: row wrap;
}
sub > a, sup > a {
	display: inline-block;
    height: 1.75em;
    margin-inline-end: -0.25em;
    min-width: 1em;
	padding-inline-end: 0.25em;
	position: relative;
	z-index: 10;
}

nav,
section,
.lead-image-wrapper,
.location-wrapper,
.photo-frame {
	margin-bottom: 3rem;
	/*margin-block-end: 3rem;*/
}
.research-page .precedes-submenu,
.book-mark-links-nav {
	margin-bottom: 2rem;
	/*margin-block-end: 2rem;*/
}
.class-page .location-wrapper,
.location-wrapper .photo-frame,
.location-wrapper .photo-frame img,
.class-schedule .season-year,
.warning p:last-child {
	margin-bottom: 0;
	/*margin-block-end: 0rem;*/
}
header h2,
p, h4, h6,
legend, input, label,
img, iframe, object,
aside, blockquote, 
table {
	margin-bottom: 2rem;
	/*margin-block-end: 2rem;*/
}
h1, h2, h3, h5,
ul, ol, li,
.footnotes li { 
	margin-bottom: 1.5rem;
	/*margin-block-end: 1.5rem;*/
}
footer li,
.references li,
.advisory {
	margin-bottom: 1.25rem;
	/*margin-block-end: 1.25rem;*/
}
.paper-body p,
.annual-calendar li {
	margin-bottom: 1.15rem;
	/*margin-block-end: 1.15rem;*/
}
.title-wrapper h2,
.class-page .class-schedule,
.lead-image + .photo-caption,
img.center + .photo-caption,
.lead-image + .image-caption,
img.center + .image-caption,
img.has-caption,
.excerpt,
.class-page .weekday {
	margin-bottom: 1rem;
	/*margin-block-end: 1rem;*/
}
.call-out > h4:last-child,
.call-out p.advisory,
.class-page header h1,
.class-page header h2 {
	margin-bottom: 0;
	/*margin-block-end: 0rem;*/
}
.lead-image-wrapper.overlay-next-sibling {
	margin-bottom: -10rem;
	z-index: 1;
	/*margin-block-end: -10rem;*/
}
.overlay-next-sibling+section {
	margin-top: 0;
	z-index: 2;
	/*margin-block-start: 0rem;*/
}
.class-page .weekday {
	margin-top: 0;
	margin-bottom: 0.25rem;
	/*margin-block-start: 0rem;*/
	/*margin-block-end: 0.25rem;*/
}
.has-subtitle,
.dates {
	margin-bottom: 0.5rem;
	/*margin-block-end: 0.5rem;*/
}
section > .has-subtitle,
.text-frame > .has-subtitle {
	margin-bottom: 0.375rem;
}
.class-page .dates {
	margin-bottom: 0.25rem;
	/*margin-block-end: 0.25rem;*/
}
.dance-classes-page .dates,
h5.dates {
	margin-top: 0;
	/*margin-block-start: 0;*/
}
.dance-classes-page .dates+.dates,
.cityofevanston-accessibility-statement,
.paper-body blockquote,
.paper-body blockquote p,
.site-design {
	margin-bottom: 0.5rem;
	/*margin-block-end: 0.5rem;*/
}
header p.note,
.warning {
	margin-top: 1.5rem;
	margin-block-start: 1.5rem;
}
main section ul {
	padding-left: var(--base-indent); /* matches text indentation amount for visual alignment */
}
.photo-caption,
.image-caption {
	margin-right: 3rem;
	margin-left: 3rem;
	/*margin-inline: 3rem;*/
}
header p.note,
.annual-calendar,
.meta,
.warning {
	margin-right: 2rem;
	margin-left: 2rem;
	/*margin-inline: 2rem;*/
}
blockquote .attribution {
	font-style: normal;
	margin-top: 1.25rem;
	margin-bottom: 0;
    /*margin-block-start: 1.25rem;
	margin-block-end: 0;*/
}
.class-schedule p,
li.pretitle, .pretitle h4,
.dates.has-note, .dance-classes-page .dates+.dates.has-note,
p.note {
	margin-bottom: 0.375rem;
	/*margin-block-end: 0.375rem;*/
}
.class-schedule .season {
	margin-bottom: 0.25rem;
}

.primary-nav {
    flex-flow: column wrap;
	align-content: center;
	justify-content: center;
	padding: 1rem;
	/*padding-inline: 1rem;
	padding-block: 1rem;*/
}
.primary-nav > .wrapper,
footer .row {
	display: flex;
	align-items: center;
    justify-content: space-around;
    gap: 2rem;
}
.primary-nav .logo-wrapper,
footer .logo-wrapper {
    height: 70px;
}
.primary-nav .logo-wrapper,
footer .logo-wrapper,
footer .social-wrapper {
    width: 200px;
}
.primary-nav .logo-wrapper a,
footer .logo-wrapper a {
	cursor: pointer;
	display: block;
	height: 100%;
	width: 100%;
}
footer .logo-wrapper,
footer .social-wrapper {
	margin-bottom: 1rem;
	/*margin-block-end: 1rem;*/
}
.primary-nav-menu {
	flex-flow: row nowrap;
	padding-left: 0.75rem;
	/*padding-inline-start: 0.75rem;*/
	transition: transform 200ms ease-in;
}
.secondary-nav .nav-menu,
.lead-image-wrapper {
	flex-flow: column nowrap;
}
.primary-nav-menu,
p.copyright {
	margin-bottom: 0;
	/*margin-block-end: 0rem;*/
}
.primary-nav-menu > li {
	margin-bottom: 0;
	margin-right: 2.5rem;
	/*margin-block-end: 0rem;*/
	/*margin-inline-end: 2.5rem;*/
}
.primary-nav-menu li a {
	display: block;
	padding: 0.5rem;
}
aside, blockquote {
	padding: 2rem 2rem;
}
button {
	margin-top: 0.5rem;
	/*margin-block-start: 0.25rem;*/
}
.warning,
.other-biz, 
.copyright-wrapper {
	padding-right: 2rem;
	padding-left: 2rem;
	/*padding-inline: 2rem;*/
}
.highlight {
	padding-right: 0.1em;
	padding-left: 0.1em;
	/*padding-inline: 0.1em;*/
}
.warning {
	padding-top: 2rem;
	padding-bottom: 2rem;
	/*padding-block: 2rem;*/
}
.class-page .class-schedule {
	padding: 1rem;
	position: relative;
	z-index: 1;
}
h3+aside, h3+blockquote,
h4+aside, h4+blockquote,
h5+aside, h5+blockquote,
h6+aside, h6+blockquote {
	padding-top: 1rem;
	/*padding-block-start: 1rem;*/
}
.paper-body blockquote,
.cityofevanston-accessibility-statement {
	margin-bottom: 0;
	padding-top: 0.75rem;
	/*margin-block-end: 0rem;*/
	/*padding-block-start: 0.75rem;*/
}

img, canvas,
iframe, object,
ul,ol,li {
	max-width: 100%;
}
.lead-image,
button.center,
canvas.center,
img.center,
iframe.center,
object.center {
	margin-right: auto;
	margin-left: auto;
	/*margin-inline: auto;*/
}

footer {
	margin-top: 2.5rem;
	padding-top: 2rem;
	padding-bottom: 1.5rem;
	/*margin-block-start: 3rem;*/
	/*padding-block: 2rem 1.5rem;*/
}
.secondary-nav {
	margin-bottom: 0;
	/*margin-block-end: 0rem;*/
}
footer,
.other-biz,
.copyright-wrapper {
	position: relative;
}

.class-playlist-container {
	background-color: var(--red);
	border-radius: 4px;
	height: 480px;
}

/* Flex + Rows & Columns */
.flex,
.row, .column,
.button-wrapper.align-center {
	display: flex;
}
.row, .column,
.section-image-wrapper {
	flex-direction: column;
}
.row > .column {
	flex: 1 1 0;
}
.row > .column.logo-wrapper {
	flex: 0 0 auto;
}

.flex {
	flex-flow: row nowrap;
	gap: 2rem;
}
.wrap,
.section-image-wrapper {
    flex-wrap: wrap;
}
.no-wrap,
.row, .column {
	flex-wrap: nowrap;
}

.align-center,
.section-image-wrapper,
.class-page .class-schedule .row > .column {
	align-items: center;
}
.align-center,
.justify-center,
.location-wrapper,
.section-image-wrapper,
.column.photo-frame img,
footer .row,
.class-page .row,
.class-page .class-schedule .row > .column {
	justify-content: center;
}
.row {
	gap: 0;
	justify-content: space-between;
}
.float-right,
.column.right {
	float: right;
}
.float-left,
.column.left {
	float: left;
}
.flex .img-wrapper.one-third {
	flex: 0 0 30%;
}
.flex .img-wrapper.one-fourth {
	flex: 0 0 25%;
}
.flex .img-wrapper > img {
	max-width: 100%;
	height: auto;
	width: auto;
}

nav .column {
	width: 30%;
	min-width: 120px;
}
.location-wrapper {
	align-items: center;
	display: flex;
	flex-flow: column wrap;
	gap: 2rem;
}
.location-wrapper .column {
	display: flex;
}

.flush {
	padding: 0;
	margin: 0;
}
.flex.flush {
	gap: 0;
}
.column img,
.photo-frame img {
    height: auto;
	width: auto;
	max-width: 100%;
}
.column.photo-frame img {
	margin-top: auto;
	margin-bottom: auto;
	/*margin-block: auto;*/
}
.photo-frame.center img {
	/*display: block;*/
	margin-right: auto;
	margin-left: auto;
	/*margin-inline: auto;*/
}
.column.right img {
	margin-top: 1.5rem;
	/*margin-block-start: 1.5rem;*/
}
.section-image-wrapper {
	margin-top: 3rem;
	/*margin-block-start: 3rem;*/
}

main header,
.title-wrapper,
.section-image-wrapper,
.dance-classes-page .class-schedule,
.class-schedule:last-of-type,
.call-out, .vimeo-spacer {
	margin-bottom: 3rem;
	/*margin-block-end: 3rem;*/
}
main section.call-out .title-wrapper {
	margin-bottom: 2.5rem;
	/*margin-block-end: 2.5rem;*/
}
.dance-classes-page .session-dates {
	margin-bottom: 1rem;
	/*margin-block-end: 1rem;*/
}
main > .wrapper > :last-child {
	margin-bottom: 0;
	/*margin-block-end: 0rem;*/
}

.location {
	margin-top: 1.5rem;
	padding-left: 2.25rem;
	width: 17.5rem;
	/*margin-block-start: 1.5rem;*/
	/*padding-inline-start: 2.25rem;*/
}
.annual-calendar {
	padding: 1.5rem 2.25rem 1.25rem;
	max-width: 620px;
	margin-left: auto;
	margin-right: auto;
	/*margin-inline: auto;*/
}
.title-wrapper .location,
header .location {
	padding-left: 1.125rem;
	/*padding-inline-start: 1.125rem;*/
}
.reg-info .title-wrapper {
	padding-top: 1rem;
	padding-bottom: 1rem;
	/*padding-block: 1rem;*/
}
.reg-info .title-wrapper h2 {
	margin-bottom: 0;
	/*margin-block-end: 0;*/
}

.dates+.weekday,
.button-wrapper+p {
	margin-top: 1rem;
	/*margin-block-start: 1rem;*/
}
.class-info {
	margin-bottom: 2.25rem;
	/*margin-block-end: 2.25rem;*/
}
.class-page .class-info,
.class-page .session-dates {
	margin-bottom: 0.25rem;
	/*margin-block-end: 0.25rem;*/
}
.call-out,
.call-out > .inner-wrapper {
	padding-top: .75rem;
	padding-bottom: .75rem;
	/*padding-block: .75rem;*/
}
.call-out > .inner-wrapper {
	padding-right: 2.5rem;
	padding-left: 2.5rem;
	/*padding-inline: 2.5rem;*/
}
.call-out > .inner-wrapper > p:last-child {
	margin-bottom: 0;
	/*margin-block-end: 0;*/
}

/* Buttons 
---------------------------------------------------------- */
button,
.burger-wrapper {
	position: relative;
}
button {
	background-color: var(--plum);
	border: none;
	border-top: 2px solid var(--lilac);
	border-bottom: 2px solid var(--lilac);
	cursor: pointer;
	outline: 0;
	user-select: none;
	-webkit-user-select: none;
	touch-action: manipulation;
}
button a {
	display: block;
	padding: 0.75rem 4rem;
}
button:hover a,
button:focus a,
button a:hover {
	color: var(--amber);
}
.button:after {
	content: "";
	background-color: var(--thistle);
	height: 100%;
	width: 100%;
	position: absolute;
	top: 4px;
	left: 4px;
	transition: var(--go);
	z-index: -1;
}
.button:hover:after {
	top: 0;
	left: 0;
}
.call-to-action button,
.call-out button {
	display: block;
	/*margin-inline: auto;*/
}

.mobile-nav-toggle {
	aspect-ratio: 1;
	background-color: rgba(0, 0, 0, 0);
    border-image: none;
    border-radius: 0.25rem;
    border-style: none;
	border-width: 0px;
	display: none;
    padding: 0.125rem;
	position: absolute;
	inset: 0rem 4rem 0 auto;
	width: 2rem;
	z-index: 9999;
}
.burger-wrapper {
	height: 1.5rem;
}
.brand-text,
.sr-only {
	position: absolute;
	width: 1px;
	height: 1px;
	padding: 0;
	margin: -1px;
	overflow: hidden;
	clip: rect(0, 0, 0, 0);
	border: 0;
}
.burger-wrapper div {
	background-color: var(--lilac);
    border-radius: 1rem;
    height: 4px;
    left: 0;
    position: absolute;
    transition: all var(--go) ease 0s;
    transform-origin: center center;
    width: 100%;
}
.burger-wrapper :nth-child(1) {
    top: 0;
    transition: all var(--fast) ease 0s;
}
.burger-wrapper :nth-child(2) {
    top: calc(50% - 2px);
    transition: all var(--go) ease 0s;
}
.burger-wrapper :nth-child(3) {
    bottom: 0;
    transition: all var(--slow) ease 0s;
}

/* Responsive
---------------------------------------------------------- */
@media (max-width: 62rem) {
	header h2 {
		font-size: 30px;
	}
	h4, h5, h6 {
		font-size: 28px;
	}
	.book-reviews h3,
	.book-reviews h5 {
		font-size: 26px;
	}
	p, li, blockquote {
		font-size: 24px;
	}
	aside, 
	header p.note,
	.class-schedule p.age-requirement,
	.meta, .paper-body p.meta {
		font-size: 18px;
	}
	.primary-nav,
	.primary-nav-menu {
		position: fixed;
	}
	.papers-pages .primary-nav {
		position: relative;
	}
	.papers-pages .primary-nav-menu {
		position: absolute;
	}
	.primary-nav {
		margin-bottom: 0;
		padding-top: 1rem;
		padding-bottom: 1rem;
		width: 100%;
		z-index: 9000;
		/*margin-block-end: 0rem;*/
		/*padding-block: 1rem;*/
	}
	.mobile-nav-toggle {
		display: block;
	}
	.primary-nav-menu {
		background-color: var(--biceblue);
		flex-flow: column wrap;
		inset: 5rem 0rem auto auto;
	}
	.primary-nav-menu[data-visible="false"] {
		transform: translateX(300%);
	}
	.primary-nav-menu[data-visible="true"] {
		transform: translateX(0%);
	}
	.primary-nav-menu > li {
		margin-right: 1.5rem;
		/*margin-inline-end: 1.5rem;*/
	}
	.primary-nav-menu li a {
		padding: 1rem;
	}
	.primary-nav,
	.primary-nav .logo-wrapper,
	footer .logo-wrapper {
		height: 3rem;
	}
	.primary-nav .logo-wrapper,
	footer .logo-wrapper,
	footer .social-wrapper {
		width: 140px;
	}
	main {
		padding-top: 8rem;
		/*padding-block-start: 8rem;*/
	}
	.papers-pages main {
		padding-top: 3rem;
		/*padding-block-start: 3rem;*/
	}
	main > .wrapper {
		max-width: 54rem;
	}
	main .full-width {
		margin-left: -2rem;
		margin-right: -2rem;
		/*margin-inline: -2rem;*/
	}
	h2+h3, h4+h5 {
		margin-top: 1.5rem;
		/*margin-block-start: 2rem;*/
	}
	.title-wrapper > h3 {
		margin-top: 0;
	}
	.title-wrapper, main header,
	.dance-classes-page .class-schedule,
	.class-schedule:last-of-type,
	.section-image-wrapper,
	.call-out, .vimeo-spacer {
		margin-bottom: 2.5rem;
		/*margin-block-end: 2.5rem;*/
	}
	h1 { 
		margin-bottom: 0;
		/*margin-block-end: 0;*/
	}
	h2, h3, h5,
	h4, h6 {
		margin-bottom: 1rem;
		/*margin-block-end: 1rem;*/
    }
	.weekday {
		margin-bottom: 0.75rem;
		/*margin-block-end: 0.75rem;*/
	}
	.bookmark-links-nav {
		margin-bottom: 2.75rem;
		/*margin-block-end: 2.75rem;*/
	}
	main section.call-out .title-wrapper {
		margin-bottom: 2rem;
		/*margin-block-end: 2rem;*/
	}
}
@media (max-width: 48rem) {
	.footnotes a,
	.references a,
	.url {
		line-break: anywhere;
	}
	.dance-class {
		font-size: 34px;
	}
	.dance-classes-page .row .column {
		border-top: 1px dashed var(--pink);
	}
	.dance-classes-page .row:first-child .column:first-child {
		border-top: none;
	}
	.dance-classes-page .column.image-filler {
		display: none;
	}
	.primary-nav-menu > li.active { 
		/*display: none;*/
		color: var(--rosybrown);
		opacity: 0.9;
	}
	main > .wrapper {
		max-width: 40rem;
	}
	.class-schedule {
		margin-bottom: 2.5rem;
		/*margin-block-end: 2.5rem;*/
	}
	.section-image-wrapper {
		margin-top: 2.5rem;
		/*margin-block-start: 2.5rem;*/
	}
	.column.photo-frame img {
		margin-right: auto;
		margin-left: auto;
		/*margin-inline: auto;*/
	}
}
@media (max-width: 42rem) {
	h1 { font-size: 48px; }
	h2 { font-size: 38px; }
	h3 { font-size: 32px; }
	main > .wrapper {
		max-width: 33rem;
	}
}
@media (max-width: 38rem) {
	header h2 {
        font-size: 26px;
    }
	.location {
		font-size: 22px;
	}
	.paper-body p,
	.paper-body blockquote,
	.annual-calendar li {
		font-size: 20px;
	}
	aside,
	.cityofevanston-accessibility-statement {
		font-size: 18px;
	}
	.footnotes li,
	.photo-caption, .image-caption,
	.date-line,
	.warning p,
	.class-schedule p.age-requirement,
	.meta, .paper-body .meta,
	.paper-body .photo-caption,
	.paper-body .image-caption,
	.paper-body .date-line {
		font-size: 16px;
	}
	.paper-body .diacritic.force-lower-case {
		font-size: 15px;
	}
	.footnotes li .diacritic.force-lower-case,
	.references li .diacritic.force-lower-case,
	.paper-body .photo-caption .diacritic.force-lower-case,
	.paper-body .image-caption .diacritic.force-lower-case {
		font-size: 11px;
	}
	main > .wrapper {
		max-width: 30rem;
	}
	.call-out,
	.call-out > .inner-wrapper {
		padding-top: 1rem;
		padding-bottom: 1rem;
		/*padding-block: 1rem;*/
	}
	.location {
		margin-top: 0;
		margin-bottom: 0;
        max-width: 10.75rem;
		padding-top: 0.3125rem;
		padding-bottom: 0.3125rem;
        /*margin-block: 0rem;
		padding-block: 0.3125rem;*/
	}
	.section-image-wrapper {
		margin-top: 3rem;
		/*margin-block-start: 3rem;*/
	}
	.title-wrapper, main header,
	.home-page .lead-image-wrapper,
	.dance-classes-page .class-schedule,
	.class-schedule:last-of-type,
	.section-image-wrapper,
	.vimeo-spacer {
		margin-bottom: 2rem;
		/*margin-block-end: 2rem;*/
	}
	main section.call-out .title-wrapper,
	.call-out {
		margin-bottom: 1.5rem;
		/*margin-block-end: 1.5rem;*/
	}
	header h2, h4, h6 {
		margin-bottom: 0;
		/*margin-block-end: 0rem;*/
	}
	legend, input, label, textarea,
	img, iframe, object {
		margin-bottom: 1rem;
		/*margin-block-end: 1rem;*/
	}
	p, aside, blockquote, table, 
	ul, ol, li,
	.other-links h5 {
		margin-bottom: 1rem;
		/*margin-block-end: 1rem;*/
	}
	.button-wrapper button,
	.call-out button {
		margin-top: 0.125rem;
		/*margin-block-start: 0.125rem;*/
	}
	h3, h5, 
	.footnotes li,
	.annual-calendar li {
		margin-bottom: 0.5rem;
		/*margin-block-end: 0.5rem;*/
	}
	.photo-caption,
	.image-caption {
		margin-right: 2rem;
		margin-left: 2rem;
		/*margin-inline: 2rem;*/
	}
	.cityofevanston-accessibility-statement {
		margin-top: 0;
		margin-bottom: 0;
		/*margin-block: 0;*/
	}
	header p.note, 
	.cityofevanston-accessibility-statement,
	.warning, 
	.meta {
		margin-right: 0.75rem;
		margin-left: 0.75rem;
		/*margin-inline: 0.75rem;*/
	}
	
	.indent {
		text-indent: 2rem;
	}
}
@media (max-width: 32rem) {
	h1 			{ font-size: 40px; }
	h2 			{ font-size: 32px; }
	header h2 	{ font-size: 24px; }
	h3 			{ font-size: 22px; }
	.weekday 		{ font-size: 42px; }
	.dance-class 	{ font-size: 28px; }
	nav li,
	footer li,
	footer nav li,
	p.time,
	.location {
		font-size: 22px;
	}
	h4, h5, h6 {
		font-size: 20px;
	}
	p, li, blockquote,
	.note,
	.class-schedule .season-year {
		font-size: 18px;
	}
	aside,
	.class-page .dates {
		font-size: 17px;
	}
	.class-schedule .location {
		font-size: 17px;
	}
	header .note,
	.class-schedule .note,
	.class-schedule p.age-requirement,
	.meta,
	.paper-body .meta,
	.warning,
	.warning p {
		font-size: 16px;
	}
	.class-page .class-schedule span.how-many {
		font-size: 15px;
	}
	h4, h5, h6, 
	p, aside, blockquote {
        line-height: 1.25em;
	}
	.class-page .other-links p {
		line-height: 2em;
	}
	main > .wrapper {
		max-width: 28rem;
	}
	h1,
	header h2 {
		margin-bottom: 0.5rem;
		/*margin-block-end: 0.5rem;*/
	}
	.location {
		margin-top: 0;
		margin-bottom: 0;
		max-width: 13.75rem;
		/*margin-block: 0rem;*/
	}
	.cityofevanston-accessibility-statement {
		max-width: 30rem;
	}
	.dance-classes-page .weekday {
		margin-bottom: 0.75rem;
		min-height: 2.25rem;
		/*margin-block-end: 0.75rem;*/
	}
	.title-wrapper .has-subtitle {
		margin-bottom: 0.75rem;
		/*margin-block-end: 0.75rem;*/
	}
	.reg-info {
		margin-top: 3rem;
		/*margin-block-start: 3rem;*/
	}
	.class-page .reg-info {
		margin-top: 2rem;
		/*margin-block-start: 2rem;*/
	}
	section,
	.lead-image-wrapper,
	.location-wrapper,
	.photo-frame {
		margin-bottom: 2rem;
		/*margin-block-end: 2rem;*/
	}
	footer {
		margin-top: 1.5rem;
		/*margin-block-start: 2rem;*/
	}
}
@media (max-width: 30rem) {
	main > .wrapper {
		max-width: 26rem;
	}
}
@media (max-width: 28rem) {
	main > .wrapper {
		max-width: 24rem;
	}
}
@media (max-width: 26rem) {
	main > .wrapper {
		max-width: 22rem;
	}
	h1 {
        font-size: 36px;
    }
}
@media (max-width: 24rem) {
	main > .wrapper {
		max-width: 20rem;
	}
}
@media (max-width: 22rem) {
	main > .wrapper {
		max-width: 18rem;
	}
}

@media (min-width: 45.0625rem) {
	nav,
	nav ul,
	nav li,
	footer li {
		height: fit-content;
	}
	.primary-nav .nav-menu li {
		margin-bottom: 0;
		margin-right: 1.25rem;
		/*margin-block-end: 0rem;
		margin-inline-end: 1.25rem;*/
	}
	.primary-nav.collapsed .nav-menu {
		height: 12rem;
	}
	.primary-nav.collapsed .nav-menu li {
		font-size: 20px;
		height: 4rem;
		line-height: 3rem;
		margin-bottom: 0.625rem;
		margin-right: 1rem;
		/*margin-block-end: 0.625rem;
		margin-inline-end: 1rem;*/
	}
	.primary-nav.collapsed .nav-menu li:last-child {
		margin-bottom: 0;
		/*margin-inline-end: 0rem;*/
	}
}
@media (min-width: 48rem) {
	.button a {
		padding: 1rem 3.25rem;
		/*padding-block: 1rem;
		padding-inline: 3.25rem;*/
	}
	.column.text-frame > .wrapper {
		padding-right: 2rem;
		padding-left: 0.75rem;
		/*padding-inline: 2rem 0.75rem;*/
	}
	.class-schedule .column.text-frame > .wrapper {
		padding-right: 2rem;
		padding-left: 2rem;
		/*padding-inline: 2rem;*/
	}
	.class-schedule .location {
		margin-top: 8.125rem;
		/*margin-block-start: 8.125rem;*/
	}
	.location-wrapper {
		flex-direction: row;
		gap: 3rem;
	}
	.location-wrapper .location,
	.location-wrapper .photo-frame,
	.location-wrapper .photo-frame img {
		margin-bottom: 0;
		max-width: 25rem;
		/*margin-block-end: 0rem;*/
	}
	.location-wrapper .location {
		margin-top: 1.5rem;
		/*margin-block-start: 1.5rem;*/
	}
	.class-page .location-wrapper .location {
		margin-top: 3rem;
        /*margin-block-start: 3rem;*/
    }
	.class-page .class-schedule .row > .location-wrapper .location {
		margin-top: 0.5rem;
        /*margin-block-start: 0.5rem;*/
    }
	header p.note {
		margin-top: 2.5rem;
		/*margin-block-start: 2.5rem;*/
	}
	header p.note {
		margin-right: 5rem;
		margin-left: 5rem;
		/*margin-inline: 5rem;*/
	}
	.warning,
	.meta {
		margin-right: 3rem;
		margin-left: 3rem;
		/*margin-inline: 3rem;*/
	}
	.meta {
		margin-bottom: 1.5rem;
		/*margin-block-end: 1.5rem;*/
	}
}
@media (min-width: 52rem) {
	.social-menu li {
		text-align: left;
	}
	.paper-body p,
	.paper-body blockquote {
		font-size: 24px;
	}
	.paper-body .diacritic.force-lower-case {
		font-size: 18px;
	}
	.footnotes li,
	.references li,
	.annual-calendar li {
		font-size: 20px;
	}
	.references li .diacritic.force-lower-case {
		font-size: 14.25px;
	}
	.row {
		flex-direction: row;
		gap: 3rem;
	}
	footer .row {
		align-items: unset;
	}
	.virtual-classes .row {
        gap: 8rem;
    }
	.class-page .class-schedule .row > .column {
		flex: 0 1 32rem;
	}
	.class-page .class-schedule,
	footer .logo-wrapper,
	footer .social-wrapper {
		margin-bottom: 2rem;
		/*margin-block-end: 2rem;*/
	}
	footer {
		margin-top: 1rem;
		padding-top: 4rem;
		padding-bottom: 1.5rem;
		/*margin-block-start: 6rem;
		padding-block: 4rem 1.5rem;*/
	}
	footer li {
		margin-bottom: inherit;
		/*margin-block-end: inherit;*/
	}
	.secondary-nav,
	.references li {
		margin-bottom: 1.5rem;
		/*margin-block-end: 1.5rem;*/
	}
}
@media (min-width: 62rem) {
	.warning, .warning p,
	.class-schedule p.age-requirement,
	.meta, .paper-body p.meta {
		font-size: 20px;
	}
	.primary-nav > .wrapper {
		gap: 5.75rem;
	}
	.page-wrapper {
		width: 60rem;
	}
	main > .wrapper {
		max-width: 60rem;
	}
	.photo-caption,
	.image-caption {
		margin-right: 5rem;
		margin-left: 5rem;
		/*margin-inline: 5rem;*/
	}
}
@media (min-width: 64.0625rem) {
	.page-wrapper,
	main > .wrapper {
		max-width: 62.5rem;
	}
}