#postContainer {
	display: flex;
	flex-direction: row;
	height: 30rem;
	border: solid rgba(255,255,255,0.25) 1px;
}
#postContainer.polePositionOverhead .post {
	visibility: visible;
}
#postContainer.polePositionLeft .post:last-child,
#postContainer.polePositionRight .post:first-child,
#postContainer.polePositionRural .post,
#postContainer.polePositionCenter .post {
	visibility: hidden;
}

#postContainer.polePositionLeft #panelContainer,
#postContainer.polePositionRight #panelContainer,
#postContainer.polePositionOverhead #panelContainer {
	background: linear-gradient(
		180deg,
		rgba(255,255,255,0) 0%,
		rgba(255,255,255,0) 47%,
		rgba(191,191,191,1) 47%,
		rgba(240,240,240,1) 49%,
		rgba(128,128,128,1) 52%,
		rgba(255,255,255,0) 52%,
		rgba(255,255,255,0) 64%,
		rgba(191,191,191,1) 64%,
		rgba(240,240,240,1) 66%,
		rgba(128,128,128,1) 69%,
		rgba(255,255,255,0) 69%
	);
	height: 15rem;
}
#postContainer.polePositionRural #panelContainer {
	background: linear-gradient(
		90deg,
		rgba(255,255,255,0) 0%,
		rgba(255,255,255,0) 20%,
		rgba(191,191,191,1) 20%,
		rgba(240,240,240,1) 22%,
		rgba(128,128,128,1) 25%,
		rgba(255,255,255,0) 25%,
		rgba(255,255,255,0) 75%,
		rgba(191,191,191,1) 75%,
		rgba(240,240,240,1) 77%,
		rgba(128,128,128,1) 80%,
		rgba(255,255,255,0) 80%
	);
	margin-top: 20rem;
}
#postContainer.polePositionCenter #panelContainer {
	background: linear-gradient(
		90deg,
		rgba(255,255,255,0) 0%,
		rgba(255,255,255,0) 45%,
		rgba(191,191,191,1) 45%,
		rgba(240,240,240,1) 49%,
		rgba(128,128,128,1) 55%,
		rgba(255,255,255,0) 55%
	);
	margin-top: 7.5rem;
}

.post {
	background: linear-gradient(
		90deg,
		rgb(191, 191, 191) 0%,
		rgb(240, 240, 240) 40%,
		rgb(128, 128, 128) 100%
	);
	width: 1rem;
	height: 24rem;

	align-self: flex-end;
}
.post:first-child {
	margin-left: auto;
}
.post:last-child {
	margin-right: auto;
}

#panelContainer {
	display: flex;
	flex-direction: row;
	align-items: center;
		width: -moz-max-content;
		width: -webkit-max-content;
	width: intrinsic;
}

.panel {
	text-align: center;

	display: block;
	padding: 0 0.5rem;

	position: relative;
}
.panel:first-child {
	padding-left: 1rem;
}
.panel:last-child {
	padding-right: 1rem;
}
#postContainer.polePositionRural .panel {
	margin-top: -10rem;
}
#postContainer.polePositionCenter .panel {
	margin-top: -22.5rem;
}
#postContainer.polePositionRural .panel:not(:first-child),
#postContainer.polePositionCenter .panel:not(:first-child) {
	display: none;
}

.panel.green .exitTab,
.panel.blue .exitTab,
.panel.brown .exitTab,
.panel.black .exitTab,
.panel.green .sign,
.panel.blue .sign,
.panel.brown .sign,
.panel.black .sign,
.panel.green .guideArrows,
.panel.blue .guideArrows,
.panel.brown .guideArrows,
.panel.black .guideArrows {
	color: var(--white);
	border-color: var(--white);
}
.panel.white .exitTab,
.panel.yellow .exitTab,
.panel.white .sign,
.panel.yellow .sign,
.panel.white .guideArrows,
.pabel.yellow .guideArrows {
	color: var(--black);
	border-color: var(--black);
}

.panel.green .exitTab,
.panel.green .sign,
.panel.green .guideArrows {
	background-color: var(--green);
}
.panel.blue .exitTab,
.panel.blue .sign,
.panel.blue .guideArrows {
	background-color: var(--blue);
}
.panel.brown .exitTab,
.panel.brown .sign,
.panel.brown .guideArrows {
	background-color: var(--brown);
}
.panel.yellow .exitTab,
.panel.yellow .sign,
.panel.yellow .guideArrows {
	background-color: var(--yellow);
}
.panel.white .exitTab,
.panel.white .sign,
.panel.white .guideArrows {
	background-color: var(--white);
}
.panel.black .exitTab,
.panel.black .sign,
.panel.black .guideArrows {
	background-color: var(--black);
}

.exitTab {
	border-radius: 0.5rem 0.5rem 0 0;
	border-top-style: solid;
	border-top-width: 0.2rem;
	border-right-style: solid;
	border-right-width: 0.2rem;
	border-bottom: none;
	border-left-style: solid;
	border-left-width: 0.2rem;

	font-size: 1rem;

	visibility: hidden; /* hides exitTab by default when loading page */
	float: none;
	min-height: 2.25rem;
	margin-right: 0.75rem;	/* Margin keeps the edge of the tab from going above the */
	margin-left: 0.75rem;	/* curved corners of the panel below */
	padding: 0 0.5rem 0rem 0.5rem;
}
.exitTab.narrow {
		width: -moz-max-content;
		width: -webkit-max-content;
		width: intrinsic;
	width: max-content;
}
.exitTab.narrow.center {
	margin: auto;
}
.exitTab.narrow.left {
	margin-right: auto;
}
.exitTab.narrow.right {
	margin-left: auto;
}
.exitTab.wide.left {
	justify-content: flex-start;
}
.exitTab.wide.center {
	justify-content: center;
}
.exitTab.wide.right {
	justify-content: flex-end;
}

.sign {
	border-radius: 0.75rem;
	border-style: solid;
	border-width: 0.2rem;

	display: flex;
	clear: both;
	flex-direction: row;
}

.sideLeftArrow, .sideRightArrow {
	font-family: "Arrows One";
	font-size: 5rem; /* Makes arrows large and visble */
	line-height: 0.1rem; /* Makes space text (arrow) takes up minimal */

	display: none;
	margin-top: auto;
	margin-bottom: auto;
}

.sideLeftArrow {
	padding: 0 0.1rem 3.25rem 0.75rem; /* Patting bumped up on the bottom to bump arrow up from the bottom edge */
		-moz-transform: rotate(15deg);
		-o-transform: rotate(15deg);
		-webkit-transform: rotate(15deg);
	transform: rotate(15deg);
}

.sideRightArrow {
	padding: 0 0.75rem 3rem 0.1rem; /* Patting bumped up on the bottom to bump arrow up from the bottom edge */
		-moz-transform: rotate(-15deg);
		-o-transform: rotate(-15deg);
		-webkit-transform: rotate(-15deg);
	transform: rotate(-15deg);
}

.signContentContainer {
	display: flex;
	width: 100%;
	padding: 0.5rem 0.75rem 0.5rem 0.75rem;
}
.signContentContainer.shieldPositionLeft {
	flex-direction: row;
	align-items: center;
}
.signContentContainer.shieldPositionAbove {
	flex-direction: column;
	justify-content: center;
}
.signContentContainer.shieldPositionRight {
	flex-direction: row-reverse;
	align-items: center;
}

.shieldsContainer {
	text-align: center;
	display: flex;
	flex-direction: row;
	align-items: flex-end;
}

.to {
	display: none;
	margin: auto 0 auto auto;
	padding-left: 0.25rem;
}

.bannerShieldContainer {
	display: flex;
	flex-direction: column;
	margin-right: auto;
	margin-left: auto;
	padding: 0.1rem;
}
.bannerShieldContainer.left {
	flex-direction: row;
}
.bannerShieldContainer.above {
	flex-direction: column;
}
.bannerShieldContainer.right {
	flex-direction: row-reverse;
}

.banner {
	display: flex;
}
.banner.inline {
	flex-direction: row;
}
.banner.vertical {
	flex-direction: column;
}

.cardinalDirection,
.auxiliaryType {
	border-radius: 0.1rem;

	font-size: 1rem;
	text-transform: uppercase;

	margin-bottom: auto;
}
.cardinalDirection::first-letter,
.auxiliaryType::first-letter {
	font-size: 1.2em;
}

.shield {
	margin: 0.15rem;
	position: relative;
}

.shieldImg {
	width: 3.12rem;
	height: 2.5rem;
}

.routeNumber {
	font-size: 1.5rem;

	width: 100%;

	position: absolute;
}

.streetName {
	border: solid var(--white) 0.15rem;
	border-radius: 0.25rem;
	margin-bottom: 0.5rem;
	padding: 0 1rem;
}
.streetName:last-child {
	margin-bottom: 0
}
.streetName,
.controlText {
	font-family: "Series EM", sans-serif;
	font-size: 1.5rem;
}

.guideArrows {
	border-style: solid;
	border-width: 0.2rem;
	border-top-width: 0;
	border-radius: 0 0 0.75rem 0.75rem;

	display: none;
	padding: 0 0.25rem 0.25rem 0.25rem;
}
.guideArrows.exit_only {
	background-color: var(--yellow) !important;
	border-color: var(--black) !important;
	color: var(--black) !important;
}

.exitTab,
.action_message {
	display: flex;
	align-items: center;
}
.action_message {
	justify-content: center;
}

.exitOnlyArrow {
	font-family: "Arrows Two";
	font-size: 4rem; /* Makes arrows large and visble */
	line-height: 0; /* Makes space text (arrow) takes up minimal */

	display: inline-block;
	margin-top: -0.25rem;
}

.exitOnlyText {
	margin: 0 1rem;
}

.rotate180 {
	left: -0.05rem;

		-moz-transform: rotate(180deg) translateY(-2.75rem);
		-o-transform: rotate(180deg) translateY(-2.75rem);
		-webkit-transform: rotate(180deg) translateY(-2.75rem);
	transform: rotate(180deg) translateY(-2.75rem);
}

.arrow {
	font-size: 4rem; /* Makes arrows large and visble */
	line-height: 0; /* Makes space text (arrow) takes up minimal */

	display: inline-block;
	margin: -0.5rem 0.05rem 0.05rem 5rem;
	padding: 0 0.1rem 0 0.05rem;
}

.arrow:first-child {
	margin-left: 0.05rem;
}

.numeral {
	font-size: 1.5rem;
}
.numeral:first-child {
	padding-right: 0.5rem;
}
.numeral:last-child {
	padding-left: 0.5rem;
}
