body {
	background-color: #000000;
	margin: 0px;
	padding: 0px;
}

:root {
	interpolate-size: allow-keywords;
}

.p2d {
	margin-top: 80px;
}

hr {
	margin-bottom: 40px;
}

.ctr {
	text-align: center;
}

@font-face {
	font-family: 'PennSlab';
	src: url("../fonts/PennsylvaniaSlab-Medium-Trial.otf");
	font-weight: 400;
	font-style: normal;
}

@font-face {
	font-family: 'PennSlab';
	src: url("../fonts/PennsylvaniaSlab-Bold-Trial.otf");
	font-weight: 700;
	font-style: normal;
}


@font-face {
	font-family: 'PennSans';
	src: url("../fonts/PennsylvaniaSans-Regular-Trial.otf");
	font-weight: 400;
	font-style: normal;
}


.content {
	width: 100%;
	height: 100%;
	max-width: 600px;
	min-width: 320px;
	background-color: #ffffff;
}

.dark {
	background-color: #000;
	margin: 20px;
}

.hider {
	display: none;
}

.scrollable {
	padding-bottom: 150px;
	/*
	background-image:url('../images/path.png');
	background-size:20px 300px;
	background-repeat:repeat-y;
	background-position:16px 0px;
*/
}

#scrollable {
	display: none;
}

.hero {
	position: relative;
	width: 100%;
	height: auto;
	aspect-ratio: 4/3;
}

.hero-carousel-viewport {
	width: 100%;
	overflow: hidden;
	clip-path: polygon(0% 0%, 100% 0%, 100% 80.5%, 36.5% 100%, 0% 64%);
	/*
	mask-image: linear-gradient(#000, transparent);
	mask-image: url('../images/hero-mask.png');
	-webkit-mask-image: url('../images/hero-mask.png');
	mask-size: cover;*/
}

.hero-carousel-container {
	display: flex;
	overflow-x: auto;
	scrollbar-width: none;
	scroll-margin-top: 120px;

}

.hero-carousel-snap {
	scroll-behavior: smooth;
	scroll-snap-type: x mandatory;

}

.hero-carousel-container::webkit-scrollbar {
	display: none;
}

.hero-img {
	flex: 0 0 50%;
	scroll-snap-align: start;
	width: 100%;
	aspect-ratio: 4/2.995;
}

.hero-mask {
	position: absolute;
	left: 0px;
	top: 0px;
	width: 100%;
	height: auto;
	aspect-ratio: 4/3;
	background-image: url("../images/hero-mask-white.png");
	background-size: 100% auto;
	pointer-events: none;
}



.hero-tint {
	position: absolute;
	left: 0px;
	top: 0px;
	width: 100%;
	height: auto;
	aspect-ratio: 4/3;
	background-image: url("../images/photo-tint.png");
	background-size: 100% auto;
	pointer-events: none;
}

.hero-title {
	position: absolute;
	width: 100%;
	height: 80px;
	top: 35%;
	text-align: center;
	font-family: "PennSlab";
	font-weight: 700;
	color: #ffffff;
	font-size: 2.25rem;
	line-height: 2.25rem;
	text-shadow: 0px 0px 16px rgba(1, 1, 2, .5);
}

.hero-dot-host {
	position: absolute;
	width: 100%;
	height: 40px;
	top: 80%;

	display: flex;
	justify-content: center;
	align-items: center;
	filter: drop-shadow(4px 4px 8px rgba(0, 0, 0, 0.5));



}

.hero-dot {
	width: 9px;
	height: 9px;
	border: solid 3px #ffffff;
	border-radius: 9px;
	display: inline-block;
	text-align: center;
	margin-left: 4px;
	margin-right: 4px;
	transition: transform .25s;
}



.active {
	background-color: #ffffff;
}




.hero-maplink {
	position: absolute;
	width: 24px;
	height: 22px;
	left: 28px;
	top: 20px;
	background-image: url("../images/map-icon.png");
	background-size: 24px 22px;
	transition: transform .25s;
}

.hero-hours {
	position: absolute;
	width: 90px;
	height: 69px;
	bottom: 15px;
	right: 25px;
	background-image: url("../images/tile-hours-ye_clock.png");
	background-size: 90px 69px;
	font-family: "PennSlab";
	font-weight: 700;
	font-size: 14px;
	line-height: 15px;
	text-align: left;
	padding-top: 16px;
	padding-left: 34px;
	box-sizing: border-box;
}

.hero-hours-closed {
	background-image: url("../images/tile-hours-rd.png");
	color: white;
}

.hero-hours-open {
	background-image: url("../images/tile-hours-bl.png");
	color: white;
}

.audio-block {
	width: 100%;
	height: 100px;
	background-color: #cbd9e4;
	overflow: hidden;
	margin-bottom: 25px;
	margin-top: 20px;
	transition: height 1s;

}

.audio-img {
	position: absolute;
	left: 13px;
	top: 13px;
	height: 53px;
	width: 53px;
}

.audio-rewind,
.audio-play {
	position: absolute;
	right: 13px;
	top: 20px;
	height: 25px;
	width: 25px;
	transition: transform .25s;
}

.audio-rewind:active,
.audio-play:active,
.dropdown:active,
.hero-maplink:active {
	transform: scale(1.25);
	transform-origin: 50% 50%;
}

.map-icon:active,
.map-label:active,
.hamburger:active {
	transform: scale(1.175);
	transform-origin: 50% 50%;
}

.btn-close:active,
.btn-close-w:active,
.hero-dot:active {
	transform: scale(1.5);
	transform-origin: 50% 50%;
}


.audio-rewind {
	background-image: url('../images/audio-rewind.png');
	background-size: 100% 100%;
	right: 46px;
}

.audio-play {
	background-image: url('../images/audio-play.png');
	background-size: 100% 100%;

}

.audio-paused {
	background-image: url('../images/audio-pause.png');

}




/* Reset the base element */
input[type="range"] {
	-webkit-appearance: none;
	appearance: none;
	background: transparent;
	/* Removes default track background */
}

.audio-range {
	position: absolute;
	left: 13px;
	top: 80px;
	height: 4px;
	width: calc(100% - 26px);
	/*	background-color: #ffffff;*/

}


/* Style the track (the horizontal bar) */
input[type="range"]::-webkit-slider-runnable-track {
	height: 4px;
	width: calc(100% - 26px);
	background: transparent;
	border-radius: 4px;
}

/* Style the thumb (the moving knob) */
input[type="range"]::-webkit-slider-thumb {
	-webkit-appearance: none;
	height: 16px;
	width: 16px;
	border-radius: 50%;
	background: #4078b2;
	cursor: pointer;
	margin-top: -6px;
	/* Aligns thumb with the center of the track */
}


.audio-progress {
	position: absolute;
	width: 100%;
	height: 8px;
	top: -2px;
	border-radius: 4px;
	background-color: #4078b2;
}

.audio-dot {
	position: absolute;
	top: -2px;
	left: -2px;
	width: 12px;
	height: 8px;
	background-image: url('../images/audio-arrow.png');
	background-size: 100% 100%;
}



.audio-caption {
	position: absolute;
	left: 76px;
	top: 20px;
	font-size: 1rem;
	width: 75%;
	height: 30px;
	font-family: "PennSans";
}

.audio-transcript {
	margin-left: 13px;
	margin-right: 13px;
	margin-top: 100px;
	font-size: 1rem;
}

.mosaic,
.info {
	border-bottom: 1px solid #4078b2;
	margin-bottom: 20px;
	height: 25px;
	overflow: hidden;
}

.info-credit {
	font-family: "PennSans";
	font-style: italic;
	font-size: .75rem;
	border-bottom: none;
}

.accordion-x {
	transition: height 1s, padding-bottom 1s;
}

.expanded {
	height: auto;
	padding-bottom: 20px;
}


.dropdown {
	position: absolute;
	right: 5px;
	top: -5px;
	font-family: "PennSlab";
	font-weight: 700;
	font-size: 1.5rem;
	transition: transform .5s;
	color: #4078b2;
}

.expanded .dropdown {
	transform: rotate(45deg);
}

.header {
	width: 100%;
	max-width: 600px;
	position: fixed;
	height: 70px;
	top: 0px;
	left: 0px;
	background-color: white;
}

.footer {
	width: 100%;
	max-width: 600px;
	position: fixed;
	height: 36px;
	bottom: 0px;
	left: 0px;
	background-color: #C0423D;
	text-align: center;
	font-family: "PennSans";
	color: white;
	font-size: 1em;
	border-top: 2px solid white;
	padding-top: 7px;
	box-sizing: border-box;
}

.indent {
	margin-left: 20px;
	margin-right: 20px;
}

.about,
.mosaic,
.info,
.audio-block {
	position: relative;
}

.nav {
	width: 100%;
	max-width: 600px;
	position: fixed;
	height: 75px;
	bottom: 33px;
	left: 0px;
	background-color: #4078b2;
	text-align: center;
	font-family: "PennSans";
	color: #ffffff;
	font-size: 24px;
	overflow: hidden;
}

.nav-icon-trans {
	transition: width 1s, height 1s, top 1s, left 1s, opacity 1s;

}

.nav-icon {
	position: absolute;
	width: 40px;
	height: 40px;

}

.nav-icon-ctr {
	width: 50px;
	height: 50px;
	top: 10px;
	left: calc(50% - 25px);
	opacity: 1;
}

.nav-icon-lft {
	left: 40px;
	top: 8px;
	opacity: .75;
}

.nav-icon-offl {
	left: -120px;
	top: 8px;
	opacity: .25;
}

.nav-icon-offr {
	left: calc(100% + 80px);
	top: 8px;
	opacity: .25;
}


.nav-icon-rgt {
	left: calc(100% - 80px);
	top: 8px;
	opacity: .75;
}

.nav-label {
	position: absolute;
	width: 90px;
	height: 16px;
	text-align: center;
	top: 50px;
	font-size: .75rem;
	font-family: "PennSlab";

}

.nav-label-rgt {
	right: 15px;
}

.nav-label-lft {
	left: 15px;
}

.nav-time {
	position: absolute;
	width: 90px;
	height: 16px;
	text-align: center;
	top: 18px;
	font-size: .75rem;
	font-family: "PennSlab";
}

.nav-time-rgt {
	right: 20%;
}

.nav-time-lft {
	left: 20%;
}


.nav-path {
	width: calc(50% - 125px);
	height: auto;
	aspect-ratio: 22/1;
	position: absolute;
	top: 35px;
	background-image: url('../images/path-mini.png');
	background-size: 100% 100%;
}

.nav-path-trans {
	transition: left 1s;

}

.nav-path-farl {
	left: -240px;
}

.nav-path-offl {
	left: calc(155px - 50%);
}

.nav-path-lft {
	left: 90px;
}

.nav-path-rgt {
	left: calc(50% + 30px);
}

.nav-path-offr {
	left: calc(100% - 30px);
}

.nav-path-farr {
	left: calc(100% + 60px);
}


.blank-head {
	width: 100%;
	height: 70px;
}

.blank-foot {
	width: 100%;
	height: 120px;
}

.logotype {
	width: 260px;
	height: 52px;
	position: absolute;
	left: 18px;
	top: 8px;
	background-image: url("../images/VP-Logotype-long.png");
	background-size: 100% 100%;

}

.hamburger {
	width: 30px;
	height: 40px;
	position: absolute;
	right: 20px;
	top: 18px;
	background-image: url("../images/hamburger_small_lbl.png");
	background-size: 30px 40px;
	font-size: .68rem;
	font-family: 'PennSlab';
	color: #C0423D;
	padding-top: 28px;
	box-sizing: border-box;
	transition: transform .25s;

}

.newtab {
	width: 16px;
	height: 16px;
	background-image: url("../images/icon-newtab.png");
	background-size: 100% 100%;
	display: inline-block;
	vertical-align: baseline;
	margin-left: 5px;

	position: relative;
	top: 1px;
}

.newtabW {
	width: 14px;
	height: 14px;
	background-image: url("../images/icon-newtabW.png");
	background-size: 100% 100%;
	display: inline-block;
	vertical-align: baseline;
	margin-left: 5px;

}

.map {
	position: absolute;
	left: 0px;
	top: 0px;
	width: 100%;
	height: calc(100dvh - 70px);
	height: 100dvh;
	max-width: 600px;
	min-width: 320px;

	background-color: black;
	touch-action: none;
	overflow: hidden;

}

.map-dot {
	position:absolute;
	width:80px;
	height:80px;
	border-radius:40px;
	border:8px white solid;
	background-color:#C0423D;
	box-sizing: border-box;
}

#zoomable {
	position: absolute;
	width: 2400px;
	height: 4000px;
	transform-origin: 0 0;
	-webkit-user-drag: none;
	user-select: none;
}

.map-icon {
	position: absolute;
	width: 150px;
	height: 150px;
	left: 0px;
	top: 0px;
	transition: transform .25s;
}

.map-icon-bet {
	left: 1120px;
	top: 1160px;
}

.map-icon-arc {
	left: 720px;
	top: 1500px;
}

.map-icon-chr {
	left: 1320px;
	top: 1710px;
}

.map-icon-fra {
	left: 725px;
	top: 2300px;
}

.map-icon-pri {
	left: 1610px;
	top: 2260px;
}

.map-icon-tam {
	left: 1990px;
	top: 2020px;
}


.map-label {
	font-size: 45px;
	line-height: 45px;
	font-family: 'PennSans';
	font-weight: 400;
	color: white;
	position: absolute;
	width: 180px;
	height: 150px;
	transition: transform .25s;
}

.map-label-bet {
	text-align: left;
	left: 1255px;
	top: 1175px;
}

.map-label-arc {
	text-align: center;
	left: 705px;
	top: 1660px;
}

.map-label-chr {
	text-align: right;
	left: 1290px;
	top: 1880px;
}

.map-label-fra {
	text-align: center;
	left: 710px;
	top: 2460px;
}

.map-label-tam {
	text-align: right;
	left: 1810px;
	top: 2050px;
}

.map-label-pri {
	text-align: left;
	left: 1640px;
	top: 2430px;
}

.map-street {
	font-size: 54px;
	line-height: 54px;
	font-family: 'PennSlab';
	text-align: center;
	font-weight: 400;
	color: #aaa;
	position: absolute;
	width: 280px;
	height: 80px;
	left: 1150px;
}

.map-street-race {
	top: 715px;
}

.map-street-arch {
	top: 1395px;
}

.map-street-market {
	top: 2135px;
}

.map-street-chestnut {
	top: 2685px;
}

.map-street-walnut {
	top: 3245px;
}

.map-street-rot {
	font-size: 54px;
	line-height: 54px;
	font-family: 'PennSlab';
	text-align: center;
	font-weight: 400;
	color: #aaa;
	position: absolute;
	height: 80px;
	width: 600px;
	top: 1650px;
	transform-origin: 50% 50%;
	transform: rotate(-90deg);
}

.map-street-independence {
	left: -175px;
}

.map-street-4th {
	left: 290px;
}

.map-street-3rd {
	left: 730px;
}

.map-street-2nd {
	left: 1270px;
}

.map-street-front {
	left: 1730px;
}


p {
	font-size: 1rem;
	font-family: 'PennSans';
	color: black;
	line-height: 1.25rem;
	margin: 0px;
	margin-bottom: .75rem;
}

h1,
h2,
h3 {
	font-family: 'PennSlab';
	margin: 0px;
	margin-bottom: .125rem;
}

h1 {
	font-size: 1.75rem;
	font-weight: 700;
	margin-top: 1.5rem;
	line-height: 1.75rem;
	margin-bottom: .5rem;
}

h2 {
	font-size: 1.25rem;
	font-weight: 400;
}

h3 {
	margin: 0px;
	margin-top: .75rem;
	margin-bottom: .25rem;
	font-size: .8rem;
	font-weight: 700;
	text-transform: uppercase;
	/*	text-decoration:underline; */
}

.info p {
	margin-bottom: 0px;
}


a,
a:visited,
a:hover {
	color: black;
	text-decoration: underline dotted;
}

.underscore {
	text-decoration: underline dotted;
}

.footer a,
.footer a:visited,
.footer a:hover {
	color: white;
	text-decoration: none;
}


.screener {
	display: none;
	width: 100%;
	height: 100dvh;
	max-width: 600px;
	position: fixed;
	left: 0px;
	top: 0px;
	background-color: rgba(0, 0, 0, .5);
	box-sizing: border-box;
	overflow: hidden;
}

.interstitial {
	display: none;
	background-color: #f2d756;
	width: min(calc(100% - 80px), 520px);
	height: calc(100dvh - 200px);
	position: fixed;
	left: 40px;
	top: 120px;
	padding: 25px;
	box-sizing: border-box;
	overflow: hidden;
}

.menu-mask {
	position: fixed;
	width: min(100%, 600px);
	height: 100dvh;
	overflow: hidden;
	left: 0px;
	top: 0px;
	pointer-events: none;
}

.menu {
	background-color: #4078b2;
	color: white;
	width: min(100%, 600px);
	height: 100dvh;
	position: absolute;
	left: min(100%, 600px);
	top: 0px;
	padding: 20px;
	padding-top: 120px;
	box-sizing: border-box;
	overflow: hidden;
	transition: top 1s, left 1s;
	pointer-events: auto;
}

.menu-show {
	left: 0px;
}

.about-page {
	background-color: #cbd9e4;
	background-color: #C0423D;
	color: white;
	width: min(100%, 600px);
	height: 100dvh;
	position: absolute;
	left: -100%;
	top: 0px;
	padding: 20px;
	padding-top: 120px;
	box-sizing: border-box;
	overflow: scroll;
	transition: top 1s, left 1s;
	pointer-events: auto;
}

.about-page-prompt {
	background-color: white;
	color: black;
	padding: 20px;
	margin-top: 20px;
	box-sizing: border-box;
}

.about-page-show {
	left: 0px;
}

.about-title {
	font-family: "PennSlab";
	font-weight: 700;
	font-size: 2rem;
	line-height: 2rem;
	margin-top: 20px;
}



.menu-item {
	font-family: "PennSlab";
	font-weight: 700;
	font-size: 1.5rem;
	line-height: 2rem;
	margin-top: 10px;
	margin-bottom: 30px;
	border-bottom: 2px white solid;
}

.menu-item a {
	text-decoration: none;
	color: white;
}

.menu-item:active,
.menu-item a:active {
	color: black;
	background-color: transparent;
}

.btn-close {
	width: 20px;
	height: 20px;
	position: absolute;
	right: 25px;
	top: 25px;
	background-image: url("../images/btn-close.png");
	background-size: 100% 100%;
	transition: transform .25s;
}

.btn-close-w {
	width: 30px;
	height: 30px;
	position: absolute;
	right: 20px;
	top: 100px;
	background-image: url("../images/btn-close-w.png");
	background-size: 100% 100%;
	transition: transform .25s;
}

.landing {
	display: none;
	background-color: white;
	width: min(calc(100% - 80px), 520px);
	height: calc(100dvh - 200px);
	position: fixed;
	left: 40px;
	top: 120px;
	padding: 30px;
	box-sizing: border-box;
	overflow: hidden;
}

.landing-header {
	font-family: "PennSlab";
	font-weight: 400;
	font-size: 1.25rem;
	line-height: 1.25rem;
	text-align: right;
	color: #4078b2;
}

.landing-title {
	font-family: "PennSlab";
	font-weight: 700;
	font-size: 2rem;
	line-height: 2rem;
}

.landing-body {
	font-family: "PennSans";
	font-weight: 400;
	font-size: 1.25rem;
	margin-top: 10px;
}

.about-body {
	font-family: "PennSans";
	font-weight: 400;
	font-size: 1rem;
	margin-top: 10px;
}

.about-thanks {
	font-family: "PennSans";
	font-style: italic;
	font-weight: 400;
	font-size: .75rem;
	line-height: 1rem;
	margin-top: 10px;
}


.about-body-prompt {
	margin-top: 0px;
	font-family: "PennSlab"
}


.landing-divider {
	margin-top: -10px;
	width: 100%;
	height: auto;
	aspect-ratio: 4/1;
	background-image: url("../images/landing-break2.png");
	background-size: 100% 100%;
}

.landing-btn,
.about-btn {
	background-color: #f2d756;
	font-family: "PennSlab";
	font-weight: 700;
	font-size: 1.25rem;
	padding: 6px;
	padding-left: 12px;
	padding-right: 12px;
	text-align: center;

	display: inline-block;
	margin-top: 25px;
	color: black;

}

.landing-buttons {
	position: absolute;
	bottom: 25px;
	display: flex;
	width: calc(100% - 50px);
	justify-content: space-between;
	align-items: center;
}

.landing-btn {
	margin-top: 40px;
	width: 45%;
	box-sizing: border-box;
}



.about-btn {
	font-size: 1rem;
	margin-top: 10px;
}

.landing-btn:active,
.about-btn:active {
	background-color: #4078b2;
	color: white;
}

.franklin-mosaic {
	width: 100%;
	height: auto;
}


.right-align {
	text-align: right;

}

.inter-header {
	font-family: "PennSlab";
	font-weight: 400;
	font-size: 1.5rem;
	margin-top: -3px;
}

.centered {
	display: flex;
	align-items: center;
	height: calc(100% - 40px);

}

.inter-ellipsis {
	display: inline;
	width: 33px;
	height: 10px;
	position: relative;
	top: 2px;
	left: 5px;
}

.inter-body {
	font-family: "PennSlab";
	font-weight: 700;
	font-size: 1.75rem;
	line-height: 2.25rem;
}

.inter-src {
	font-family: "PennSlab";
	font-weight: 700;
	font-size: 1.0rem;
	line-height: 1.25rem;
	margin-top: 20px;
}


.inter-btn {
	background-color: white;
	width: 120px;
	height: 40px;
	position: absolute;
	bottom: 20px;
	right: 20px;
	font-family: "PennSlab";
	font-weight: 700;
	font-size: 1.25rem;
	text-align: center;
	box-sizing: border-box;
	padding-top: 7px;
}

.inter-btn:active {
	background-color: #4078b2;
	color: white;
}


/* Hide the warning by default */
.turn-warning {
	display: none;
}

/* Detect when a mobile user turns to landscape */
@media screen and (max-device-width: 1279px) and (orientation: landscape) {
	.content {
		display: none;
		/* Hide website content */
	}

	.turn-warning {
		display: flex;
		/* Show fullscreen warning block */
		justify-content: center;
		align-items: center;
		position: fixed;
		top: 0;
		left: 0;
		width: 100%;
		height: 100%;
		max-width: 600px;
		min-width: 320px;
		background-color: #111;
		color: #fff;
		font-size: 24px;
		text-align: center;
		font-family: "PennSlab";
		font-weight: 700;
	}
}

@media screen and (max-height:800px) {

	.inter-body {
		font-size: 1.25rem;
		line-height: 1.5rem;
	}

	.inter-src {
		font-size: 1.0rem;
		line-height: 1.25rem;
		margin-top: 15px;
	}

	.landing-title {
		font-size: 1.6rem;
		line-height: 1.75rem;
	}

	.landing-body {
		margin-top: 0px;
		font-size: 1rem;
	}

	.inter-header {
		font-size: 1.25rem;
	}

	.centered {
		height: calc(100% - 60px);

	}

}