/*
Theme Name: AboutFaceTheatre2020
Author: Grab Bag Media
Author URI: http://grabbagmedia.com
Description: About Face Theatre WP theme 2020
Version: 1.0
Text Domain: aboutfacetheatre

/*--------------------------------------------------------------
>>> TABLE OF CONTENTS:
----------------------------------------------------------------
1.0 - Site colors and variables
2.0 - Reset
3.0 - Typography
4.0 - Elements
5.0 - General Layout
  5.1 - Header
  5.2 - Main
  5.3 - Footer
6.0 - Homepage Layout
7.0 - Page Layout
8.0 - Show Post Layout

9.0 - Blog Layout
10.0 - Widgets
11.0 - Add-on style
--------------------------------------------------------------*/

/*--------------------------------------------------------------
1.0 - Site colors and variables
--------------------------------------------------------------*/
@import url("https://use.typekit.net/cns5kln.css");
:root {
  --aft-brand-purple:140,24,155; /* purple #7b2b8e */
  --aft-brand-orange:234,114,0; /* orange #eb7203 */
  --aft-text-color:93,93,93; /* grey #5d5d5d */
  --aft-bg-grey:246,246,246; /* grey #f6f6f6 */
}

/*--------------------------------------------------------------
2.0 - CSS Reset
--------------------------------------------------------------*/
html, body, div, span, applet, object, iframe,
h1, h2, h3, h4, h5, h6, p, blockquote, pre,
a, abbr, acronym, address, big, cite, code,
del, dfn, em, img, ins, kbd, q, s, samp,
small, strike, strong, sub, sup, tt, var,
b, u, i, center,
dl, dt, dd, ol, ul, li,
fieldset, form, label, legend,
table, caption, tbody, tfoot, thead, tr, th, td,
article, aside, canvas, details, embed, 
figure, figcaption, footer, header, hgroup, 
menu, nav, output, ruby, section, summary,
time, mark, audio, video {
	margin: 0;
	padding: 0;
	border: 0;
	font-size: 100%;
	font: inherit;
	vertical-align: baseline;
}
* { box-sizing: border-box; }
main img {
  max-width:100%;height:auto;  
}
html :where(img) {
  max-width: none;
}

/*--------------------------------------------------------------
3.0 - Typography
--------------------------------------------------------------*/
* { /* Fixes a Chrome bug */
	-webkit-font-smoothing: antialiased;
}
html {
  font-family:museo-sans, sans-serif;
	font-size:18px;
  font-weight:300;
  line-height:1.4;
  color:rgb(var(--aft-text-color));
}
h1 { 
  font-size:2.5rem;
	line-height:1.1;
  font-weight:900;
  color:#000;
  text-transform:uppercase;
}
h2 {
  font-size:1.875rem;
	line-height:1.1;
  font-weight:700;
  color:#000;
  text-transform:uppercase;
}
h3 {
  font-size:1.25rem;
	line-height:1.1;
  font-weight:700;
	color:#000;
  /* color:rgb(var(--aft-brand-purple)); */
  text-transform:uppercase;
}
h4 {
  font-size:1.125rem;
  font-weight:900;
  color:rgb(var(--aft-text-color));
}
h1,h2,h3,h4,p {
  margin-bottom:1rem;
}
.no-margin {
  margin:0;
}

caption,
.caption {
  font-size:0.75rem;
}
em, i {
  font-style:italic;
}
strong, b {
  font-weight:700;
}
.content ul {
  margin-left:2em;
  margin-bottom:1em;
}
.content li {
	
}
blockquote {
  display:block;
  padding:0.5rem 1rem;
  margin:1rem 0;
  border-left:4px solid rgb(var(--aft-brand-purple));
  font-size:1.25rem;
  font-weight:700;
  color:rgb(var(--aft-brand-purple));
}
a {
  color:rgb(var(--aft-brand-purple));
  font-weight:700;
  text-decoration:none;
}
a:hover {
  text-decoration:underline;
  text-decoration-thickness:0.12em;
}
a>img:hover {
	opacity:0.8;
}
/* Fancy underline for text within copy */
/*
main a:not(.button) {
  position: relative;
}
main a:not(.button):after, a:not(.button):visited:after {
  content: '';
  height: 0.12em;
  position: absolute;
  bottom: 0;
  left: 0;
  width: 0%;
  background: rgb(var(--aft-brand-purple));
  transition: 0.2s;
}
main a:not(.button):hover {
  text-decoration:none;
}
main a:not(.button):hover:after, a:not(.button):visited:hover:after {
  width: 100%;
}
*/

@media only screen and (max-width: 600px) {
  h1 { 
    font-size:1.65rem;
  }
  h2 {
    font-size:1.5rem;
    border-bottom:2px solid #000;
  }
  h3 {
    font-size:1.25rem;
  }
}


/*--------------------------------------------------------------
4.0 - Elements
--------------------------------------------------------------*/
.align-text-center {
  text-align:center;
}
.align-text-left {
  text-align:left;
  margin-right:15px;
}
.align-text-right {
  text-align:right;
  margin-left:15px;
}
.align-center,
.aligncenter {
  display:block;
  margin-left:auto;
  margin-right:auto;
}
.align-left, .alignleft {
  float:left;
  margin-right:15px;
}
.align-right, .alignright {
  float:right;
  margin-left:15px;
}
.no-bottom-space {
	margin-bottom:0 !important;
}
.button {
  display:inline-block;
	margin-bottom:0.5rem;
  padding:calc(0.5rem - 3px) calc(1.25rem - 3px);
  background-color:rgba(var(--aft-brand-purple));
  border:3px solid rgb(var(--aft-brand-purple));
	border-radius:10px;
  color:#fff;
	font-size:1.25;
  font-weight:700;
  text-transform:uppercase;
  text-decoration:none;
}
.button:hover {
  background-color:rgba(255,255,255,0.2);
  color:rgb(var(--aft-brand-purple));
  text-decoration:none;
	transition:background 0.3s, color 0.3s;
}
.button-highlight {
  background-color:rgb(var(--aft-brand-orange));
  border:3px solid rgba(var(--aft-brand-orange));
  color:#fff;
}
.button-highlight:hover {
  background-color:rgba(var(--aft-brand-orange),0.3);
  color:rgb(var(--aft-brand-orange));
  transition:background 0.3s, border 0.3s, color 0.3s;
}
footer .button {
  background-color:rgb(var(--aft-brand-purple));
  color:#fff;
}
footer .button:hover {
  opacity:1;
  background-color:#fff;
  color:rgb(var(--aft-brand-purple));
}
/* .button + .button {
  margin-left:1rem;
} */
.button:first-of-type:not(:only-of-type) {
    margin-right:1rem;
}

.small-button {
  padding:calc(0.25rem - 3px) calc(0.75rem - 3px);
	border-radius:8px;
	font-size:1;
}
.sidebar { /* grey box sidebar style */
	background-color:rgb(var(--aft-bg-grey));
	padding:1rem;
}
@media only screen and (min-width: 600px) {
	.sidebar { /* adds purple side border on wide screens*/
		border-left:4px solid rgb(var(--aft-brand-purple));
	}
}
.sidebar h3 {
	color:#000;
}
.section-outline { /* subtle box outline */
	border:1px solid #f6f6f6;
	padding:1rem !important;
}
/* multiple column boxes for text lists */
@media only screen and (min-width: 600px) {
	.text-columns { 
			columns: auto 2;
			column-gap: 2rem;
			column-rule: 1px solid rgb(var(--aft-bg-grey));
	}
}
@media only screen and (min-width: 900px) {
	.text-columns { 
			columns: auto 3;
			column-gap: 2rem;
			column-rule: 1px solid rgb(var(--aft-bg-grey));
	}
}
.resp-col-2 { display:flex; }
.resp-col-2>div { width:48%; padding:0 1rem; }
@media (max-width:600px) {
	.resp-col-2 { flex-direction:column; }
	.resp-col-2>div { width:100%; padding:0 0 1rem 0; }
}
/* Show large calendars on large screens, agenda calendars on small screens */
@media (min-width: 700px) {
	.google-calendar-full {
		display:block;
		width:100%;
	}
	.google-calendar-mobile {
		display:none;
	}
}
@media (max-width: 700px) {
	.google-calendar-full {
		display:none;
	}
	.google-calendar-mobile {
		display:block;
		width:100%;
		min-width:300px;
		min-width:300px;
	}
}
.half-stack {
	display:flex;
	flex-direction:column;
}
@media (min-width: 900px) {
	.half-stack {
		flex-direction:row;
	}
	.half-stack>div {
		width:48%;
		padding:0 0.5rem;
	}
	.half-stack iframe {
		width: 100%;
    height: 100%;
		min-height:350px;
    overflow: auto;
	}
}
/* Make embedded videos responsive */
.video-container {
	position: relative;
  height: 0;
  padding-top: 56.25%;
  width:100%;
}
.video-container iframe {
  position: absolute;
  top: 0; left: 0;
  border: 0;
  width: 100%;
  height: 100%;
}


/*--------------------------------------------------------------
5.0 - General Layout
--------------------------------------------------------------*/
html, body {
 height:100%;
}
#wrapper { /* to pin footer to bottom */
  height:100%;
  display: flex;
  flex-direction: column;
}
/****** Header Layout ******/
header {
  width:100%;
  background:rgb(var(--aft-brand-purple));
  z-index:5;
}
#logo {
  display:block;
  padding-top:1rem;
  text-align:center;
}
header nav {
  z-index:60;
}
header nav ul {
  list-style:none;
  display:flex;
  justify-content:space-between;
  flex-wrap:wrap;
  padding:30px 30px 10px 30px !important;
}
header nav li {
  text-transform:uppercase;
  font-weight:500;
	font-size:16px;
  font-family:sans-serif;
  z-index:60;
}
header nav a {
  color:#fff;display:block;
  padding:0.5rem 1rem; 
  border:2px solid rgba(255,255,255,0);
  border-radius:0.5rem;
}
header nav li:last-child a { /* highlights the Donate Now button */
  background:#fff;
  margin-left:1rem;
}
header nav a:hover {
  text-decoration:none;
  border:2px solid #fff;
  background:none;
  transition:border 0.5s, background 0.5s;
}
header nav li:last-child a {
  color:rgb(var(--aft-brand-purple));
  font-weight:700;
}
header nav li:last-child a:hover {
  background-color:transparent;
  color:rgb(255,255,255);
  font-weight:700;
}

@media only screen and (min-width:700px) and (max-width:1175px) {
/* adjust menu item sizing for best screen fit */
 header nav li {
  padding:0;
  font-size:75%;
 }
}

@media only screen and (min-width:1000px) {
/*** Move logo to the side when there is room for it ***/
  #logo {
    position:absolute;
    left:0;
    padding:10px;
    text-align:center;
    z-index:50;
  }
  #logo img {
    position:absolute;
    left:0;
    z-index:20;
  }
  #logo .circle {
    position:absolute;
    height:240px;
    width:280px;
    background-color:rgb(var(--aft-brand-purple));
    border-radius:50%;
    top:-105px;
    left:-35px;
    z-index:10;
  }
  nav ul {
    margin-left:190px;
    padding:30px 10px 10px 0;
  }
}
@media only screen and (max-width:400px) {
	#logo {
	  text-align:left;
	  margin-left:1.5rem;
	}
}

/****** Main Area ******/
main {
  z-index:1;
  padding-bottom:2rem;
}
@media only screen and (min-width:650px) {
  main {
  background-image: url('/web/20221128233419im_/https://aboutfacetheatre.com/wp-content/themes/AboutFace2020/theme_assets/background_aftswoosh_1400x1800.jpg');
  background-size:120%;
  background-repeat:repeat-y;
  background-position:center;
  }
}
@media only screen and (min-width:900px) {
  main {
    background-size:auto;
  }
}
.content-lane { /* maintains max site width */
  width:100%;
  max-width:1200px;
  margin:0 auto;
  position:relative;
}
.content {
  padding:1rem 2rem;
}

/****** Middle *****/
main {
  flex: 6 0 auto;
}

/****** Footer Layout ******/
footer {
  background-color:#000;
  padding:2rem 0;
  color:#fff;
  flex-shrink: 0;
}
footer a:hover {
  color:#fff;
}
.footer-widget-area {
  display:flex;
  flex-direction:column;
}
.footer-widget {
  display:block;
  padding:0 1.25rem;
  margin-bottom:3rem;
  overflow:hidden;
  text-align:center;
}
footer h2 {
	color:#fff;
  font-size:1.5rem;
  font-weight:900;
  line-height:1.1;
}
footer h2 + p {
  margin-top:-1rem;
}
footer ul {
  list-style:none;
  display:flex;
  margin-bottom:1rem;
}
footer li {
  padding:0.5rem;
  flex-shrink:2;
}
.social-media-list {
  width:90%;
  margin-top:1rem;
  margin-left:auto;margin-right:auto;
  justify-content:center;
}
.social-media-list img {
  width:100%; height:auto;
  border-radius:100%;
}
.social-media-list img:hover {
  background:url('/web/20221128233419im_/https://aboutfacetheatre.com/wp-content/themes/AboutFace2020/theme_assets/background_white_10x10.jpg');
  background-repeat:no-repeat;
  background-size:70%;
  background-position:center;
	opacity:1;
}
.footer-sponsor-list {
  flex-wrap:wrap;
}
.footer-sponsor-list li {
  width:33%;
}
@media only screen and (min-width:900px) {
/** Footer becomes three columns **/
  .footer-widget-area {
    flex-direction:row;
  }
  .footer-widget {
    width:33%;
    margin-bottom:0;
    text-align:left;
  }
  footer h2 {
    font-size:1.5rem;
  }
  footer p {
    font-size:0.75rem;
  }
  .social-media-list {
    margin:1rem 0 0 0;
    justify-content:left;
    
  }
  .social-media-list img {
    width:50px;height:auto;
  }
}

/*--------------------------------------------------------------
6.0 - Homepage Layout
--------------------------------------------------------------*/
/****** Home Page Layout ******/
.hero-story {
  margin-bottom:3rem;
}
.hero-img {
  width:100%;
  height:auto;
	max-height:450px;
	overflow:hidden;
}
.hero-img img {
	width:100%;
	height:100%;
	max-height:450px;
	object-fit:cover;
}
.hero-story p {
	font-size:130%;
	line-height:1.4;
	font-weight:300;
}
.hero-story p .button {
	font-size:1.25rem;
	font-weight:700.
}
.more-homepage-content {
  display:flex;
}
.recent-news-list {
  width:66%;
	display:flex;
	flex-direction:row;
	flex-wrap:wrap;
	overflow: hidden;
}
.news-story {
  display:flex;
	flex-direction:column;
	width:47%;
	margin-left:0.5rem;
	margin-right:0.5rem;
  margin-bottom:1rem;
}
.recent-news-list.news-rows .news-story {
  width:100%;
	flex-direction:row;
}
.news-story--img {
  position:relative;
	width:100%;
  height:0;
	padding-bottom:55%;
  overflow:hidden;
	background:#000;
  flex-shrink:0;
}
.recent-news-list.news-rows .news-story--img {
  width:40%;
	padding-bottom:25%;
}
.news-story--img img {
  position:absolute;
  width:100%;
  height:100%;
  object-fit:cover;
}
.news-story h2 {
	font-size:1.75rem;
	letter-spacing:0.01rem;
}
.news-story--content {
	padding-top:1rem;
}
.recent-news-list.news-rows .news-story--content {
	padding-top:0;
	padding:0 2rem 1rem 2rem;
}
.news-link {
	display:block;
	width:100% !important;
	flex-shrink:0;
	padding-top:1rem;
	margin-bottom:1rem;
	text-align:center;
}

.more-homepage-content .event-list {
  display:block;
  width:33%;
  border-left:4px solid rgb(var(--aft-brand-purple));
  padding-top:1rem;
  padding-left:2rem;
  padding-right:2rem;
  padding-bottom:2rem;
  background:#f6f6f6;
}
@media only screen and (max-width:1215px) { /* add some padding around the sides so content doesn't butt up against the screen edges) */
  .more-homepage-content {
    padding:0 1rem;
  }
}
@media only screen and (max-width:960px) {
  .more-homepage-content {
    flex-direction:column;
  }
  .recent-news-list {
    width:100%;
  }
  .more-homepage-content .event-list {
    width:100%;
  }
}
@media only screen and (max-width:600px) {
	.hero-story p {
		font-size:100%;
	}
	.recent-news-list {
		display:block;
	}
	.news-story,
	.recent-news-list.news-rows .news-story {
    flex-direction:column;
		width:100%;
  }
  .recent-news-list.news-rows .news-story--img {
    width:100%;
    height:250px;
    margin-bottom:1rem;
  }
	.recent-news-list.news-rows .news-story--content {
		padding:1rem 0;
	}
}

/*--------------------------------------------------------------
7.0 - Regular Page Layout
--------------------------------------------------------------*/
.page-header img {
  width:100%; height:auto;
	display:block;
}
.content.with-header {
  padding-top:0 !important;
}

@media only screen and (min-width:950px) {
  .page .content {
    padding-top:3.5rem;
  }
}
/** Error page **/
main.error .content {
  max-width:1000px;
  padding:0 3rem;
  margin:0 auto;
}

/*--------------------------------------------------------------
8.0 - Show Post Layout
--------------------------------------------------------------*/
.show section {
  margin-bottom:4rem;
}
.show-header {
  width: calc(100% + 4rem);
	margin-top:-1rem;
	margin-left:-2rem;
  margin-bottom:0;
}
.show-header img {
	width:100%; height:auto;
	display:block;
}
.show-title {
  margin-bottom:0 !important;
}
.show-title h1 {
  margin-bottom:0;
}
.show-intro {
  margin-top:2rem;
}
.show-tix { 
	background-color:rgb(var(--aft-bg-grey));
	padding:1rem;
	border-left:4px solid rgb(var(--aft-brand-purple));
}
.show-tix .button {
  display:table;
  margin:1rem 0 0 0;
}
.show-location {
  margin-top:2rem;
}
.show-artists h3 {
  margin-top:1rem;
}
.show-artists ul {
	list-style:none;
	margin-left:0;
}
.show-artists li {
	margin-bottom:0.25rem;
}
.show-artists ul strong {
	display:inline-block;
	margin-right:1rem;
	font-size:85%;
	text-transform:uppercase;
}
/* section naming for grid layout */
.show-title { grid-area: title; }
.show-tix { grid-area: tix; }
.show-location { grid-area: location; }
.show-media { grid-area: media; }
.show-reviews { grid-area: reviews; }
.show-artists { grid-area: artists; }
.show-events { grid-area: events; }

.video-block {
	display:flex;
	flex-direction:column;
}

/** Desktop layout **/
@media only screen and (min-width:950px) {
  .show-layout {
    display:grid;
    grid-template-columns:auto 30%;
    grid-template-rows:max-content;
    grid-column-gap: 5rem;
    grid-template-areas:
    "title title"
    "intro tix"
    "reviews reviews"
    "media media"
    "events events"
		"artists artists";
  }
	.show-artists-wrapper {
		display:flex;
		flex-direction:row;
		box-sizing:border-box;
	}
	.show-artists-cast {
		width:50%;
		padding-right:3rem;
		border-right: 2px solid rgb(var(--aft-brand-purple));
	}
	.show-artists-crew {
		padding-left:3rem;
	}
	.video-block {
		flex-direction:row;
	}
}


/*--------------------------------------------------------------
9.0 - Blog Layout
--------------------------------------------------------------*/
/** Archive page **/
.blogarchive .content-lane {
  display:flex;
}
.blogarchive .post {
  display:flex;
  align-items: flex-start;
  margin:2rem 0;
  padding-bottom:1rem;
  border-bottom:2px solid;
  border-image: radial-gradient(rgb(var(--aft-brand-purple)), rgb(255,255,255)) 1;
}
.blogarchive .post--img {
  width:150px;
  min-width:150px;
  max-width:150px;
  height:150px;
  flex:1;
}
.blogarchive .post--img img {
  width:100%;
  height:100%;
  object-fit:cover;
}
.blogarchive .post--info {
  padding-left:1rem;
  flex:2;
}
.blogarchive .post h2 {
  font-size:1.5rem;
  font-weight:500;
  color:#000;
  text-transform:none;
  margin-bottom:0;
}
.blogarchive .post--exerpt {
  font-size:75%;
}
.blogarchive .post-meta {
	font-size:85%;
}

/** Single post page **/
.blogpost .content-lane {
  display:flex;
}
.blogpost .post {
  padding-bottom:4rem;
  border-bottom:2px solid;
  border-image: radial-gradient(rgb(var(--aft-brand-purple)), rgb(255,255,255)) 1; 
  margin-bottom:4rem;
}
.blogpost .post .post--img {
	margin-bottom:1rem;
}
.blogpost .post h2 {
	margin-bottom:0;
}
.blogpost .post-meta {
	font-size:85%;
	margin-bottom:2rem;
}
.blogpost aside,
.blogarchive aside {
  width:25%;
  min-width:250px;
  padding:5rem 2rem 1rem 2rem;
  border-left:2px solid rgb(var(--aft-brand-purple));
}
.blogpost aside .recent-posts--post,
.blogpost aside .cat-list,
.blogarchive aside .cat-list,
.blogpost aside .date-list,
.blogarchive aside .date-list {
  padding-bottom:1rem;
  border-bottom:2px solid;
  border-image: radial-gradient(rgb(var(--aft-brand-purple)), rgb(255,255,255)) 1; 
  margin-bottom:2rem;
}
.blogpost aside h2,
.blogarchive aside h2 {
  color:#000;
}
.blogpost aside h3,
.blogarchive aside h3{
  font-size:1rem;
  margin-bottom:0;
  text-transform:none;
}
.blogpost aside .post--img img {
  height:100px;
  width:100%;
  object-fit:cover;
}
.blogpost aside .recent-posts .post-meta--date {
  font-weight:700;
}
.blogpost aside .recent-posts p,
.blogpost aside .recent-posts .post--excerpt {
  font-size:75%;
}
.blogpost aside ul,
.blogarchive aside ul {
  list-style:none;
}
.blogpost aside li,
.blogarchive aside li {
  line-height:1.1;
	margin-bottom:0.5rem;
}
@media only screen and (max-width:900px) {
	.blogpost .content-lane,
	.blogarchive .content-lane {
  	flex-direction:column;
	}
	.blogpost aside,
	.blogarchive aside {
		width:100%;
	}
}


/*--------------------------------------------------------------
10.0 - Widgets
--------------------------------------------------------------*/
/** The Events Calendar List Widget **/
.tribe-mini-calendar-event .list-info h2 {
  margin-bottom:0 !important;
}
@media only screen and (max-width: 600px) {
	.event-list h2 { /* don't underline in the event calendar widget */
		border-bottom:none;
	}
}
.tribe-mini-calendar-event .list-info .tribe-section-s {
  padding:0 !important;
}

.tribe-mini-calendar-event .tribe-street-address {
  display:inline !important;
  padding-left:5px;
}
 .tribe-events .tribe-events-calendar-month__header-column-title {
	color:#fff !important;
	margin:3px !important;
}
.tribe-events .tribe-events-calendar-month__header-column h3 {
	font-size:120% !important;
}
.tribe-events-widget-events-list header {
	background:none !important;
}
.tribe-events-widget-events-list h3 a {
	color:rgb(var(--aft-brand-purple)) !important;
}
.tribe-events-widget .tribe-events-widget-events-list__event-date-tag-datetime {
	background:#fff;
	border:solid 2px #686868;
	margin-right:1rem;
}
.tribe-common .tribe-common-b1 {
	margin-top:3rem !important;
	text-align:center;
}
.tribe-events-widget-events-list__view-more-link {
	color:rgb(var(--aft-brand-purple)) !important;
}
.tribe-events-widget-events-list__view-more-link:hover {
    color:rgb(var(--aft-brand-purple)) !important;
    border-bottom-color: rgb(var(--aft-brand-purple)) !important;
}

.tribe-events .tribe-events-header {
	background-color:#fff;
	border:4px solid rgb(var(--aft-brand-purple));
}
.tribe-events-calendar-month__header-column {
	background-color:rgb(var(--aft-brand-purple));
}

/** Flexy Breadcrumb **/
.fbc a,
.fbc-page .fbc-wrap .fbc-items {
	font-family:museo-sans, sans-serif !important;
	font-weight:500;
}
.fbc li {
	margin-top:0 !important;
	padding-top:0 !important;
}
.fbc-page .fbc-wrap .fbc-items li {
	padding-left:10px;
}
.fbc-page .fbc-wrap .fbc-items li:first-child {
	padding-left:5px;
}
.fbc-page .fbc-wrap .fbc-items li a:last-child {
    margin-right:0;
}
/*
     FILE ARCHIVED ON 23:34:19 Nov 28, 2022 AND RETRIEVED FROM THE
     INTERNET ARCHIVE ON 02:36:22 Dec 07, 2022.
     JAVASCRIPT APPENDED BY WAYBACK MACHINE, COPYRIGHT INTERNET ARCHIVE.

     ALL OTHER CONTENT MAY ALSO BE PROTECTED BY COPYRIGHT (17 U.S.C.
     SECTION 108(a)(3)).
*/
/*
playback timings (ms):
  captures_list: 210.619
  exclusion.robots: 0.081
  exclusion.robots.policy: 0.073
  cdx.remote: 0.059
  esindex: 0.008
  LoadShardBlock: 34.79 (3)
  PetaboxLoader3.datanode: 46.151 (4)
  CDXLines.iter: 15.976 (3)
  load_resource: 14.748
*/