* {
    -webkit-box-sizing: border-box;
    box-sizing: border-box;
}

html, body {
    height: 100%;
}

img {
	width: 100%;
}

.far, .fas {
    font-family: "Font Awesome 5 Free";
}

.hide {
    display: none !important;
}

.btn, .btn:focus {
    display: inline-block;
    border: 2px solid #F3703A;
    background: #F3703A;
    text-align: center;
    -webkit-transition: all 0.1s linear;
    transition: all 0.1s linear;
	border-radius: 40px;
	width: 280px;
    font-size: 1.375rem;
    text-transform: uppercase;
}

.btnGroup {
    -webkit-box-pack: center;
    -ms-flex-pack: center;
    justify-content: center;
    margin-bottom: 20px;
}

.flex {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -ms-flex-wrap: wrap;
    flex-wrap: wrap;
    -webkit-box-align: flex-end;
    -ms-flex-align: flex-end;
    align-items: flex-end;
}

.flex-container {
	display: -webkit-box;
	display: -ms-flexbox;
	display: flex;
	-webkit-box-pack: center;
	    -ms-flex-pack: center;
	        justify-content: center;
	-webkit-box-align: stretch;
	    -ms-flex-align: stretch;
	        align-items: stretch;
	-ms-flex-line-pack: start;
	    align-content: flex-start;
    -ms-flex-wrap: wrap;
        flex-wrap: wrap;
	position: relative;
}

.flex-container > div {
	padding: 0 10px;
}

.flex-container > div.noPadding, .noPadding {
	padding: 0;
}

.flex-item-full {
	width: 100%;
}

.flex-item-8 {
	width: 80%;
}

.flex-item-7 {
	width: 70%;
}

.flex-item-6 {
	width: 60%;
}

.flex-item-5 {
	width: 50%;
}

.flex-item-4 {
	width: 40%;
}

.flex-item-3 {
	width: 30%;
}

.flex-item-2 {
	width: 20%;
}

body .site-content h2 {
    font-family: "Source Sans Pro";
    font-size: 48px;
    line-height: 50px;
	margin: 0 auto 40px;
	color: #5BB862;
	text-align: center;
}

body .site-content h4 {
    line-height: 1;
    text-align: center;
}

body .site-content h6 {
	text-align: center;
}

body .site-content p {
	margin-bottom: 20px;
}

header {
    position: fixed;
    z-index: 10001;
    background: red;
    width: 100%;
    padding: 5px;
}

header h4 {
    color: white;
    margin: 0 auto;
    text-transform: uppercase;
    font-size: 1.125rem;
	text-align: center;
}

#ttLogo {
    display: block;
    margin: 0 auto 0;
    width: calc(100% - 40px);
    max-width: 340px;
    position: absolute;
    top: 10%;
    left: 50%;
    -webkit-transform: translateX(-50%);
    transform: translateX(-50%);
}

.section-content {
    position: relative;
    padding-top: 73px;
}

.section-content h1 {
    margin: 14% auto 20%;
    max-width: 800px;
    width: calc(100% - 40px);
}

.content-area section {
    padding-bottom: 43px;
    padding-top: 43px;
}

.content-area section:nth-of-type(1) {
    padding: 6.25% 0;
    padding: 8% 0;
    height: calc(100vh - 300px);
    -webkit-box-align: center;
    -ms-flex-align: center;
    align-items: center;
    -webkit-box-pack: center;
    -ms-flex-pack: center;
    justify-content: center;
    min-height: 540px;
    max-height: 800px;
}

.content-area section:nth-of-type(1) h1 {
    margin: 60px auto 0;
    max-width: 948px;
    max-width: 700px;
}

.content-area section:nth-of-type(1) h1.stateTitle {
    max-width: 540px;
    max-width: 800px;
}

.content-area section:nth-of-type(1) > div {
    width: 100%;
	text-align: center;
}

.content-area section.blue {
    background: #0EA6B4;
    color: white;
}

.content-inner {
    max-width: 1000px;
    margin: 0 auto;
}

.container {
    width: 100%;
}

.content-area section .tabPanel {
    border: 1px solid #CCCCCC;
    padding: 24px 40px;
}

.stateProg > div:first-of-type {
    border: 1px solid #CCCCCC;
    border-bottom: none;
}

.stateProg h4 {
    text-align: center;
    margin: 0 auto;
    padding: 36px 20px;
	color: #323232;
	font-family: "Source Sans Pro";
    font-weight: normal;
    text-transform: uppercase;
}

.stateProg > div:first-of-type > p {
    text-align: center;
    margin: 0 auto;
    text-transform: uppercase;
    font-size: 1.1625em;
    padding-bottom: 20px;
}

.stateProg > div:nth-of-type(2) {
    border: 1px solid #CCCCCC;
    border-top: none;
    border-bottom: none;
}

.stateProg .btnGroup .btn {
    height: 45px;
    padding: 0 10px;
    margin: 5px auto;
    line-height: 1;
    background-color: #EBEBEB;
    color: rgba(28,49,55,0.4);
    border-color: #EBEBEB;
	font-size: 1rem;
}

.stateProg .btnGroup .btn.color06.active, .stateProg .btnGroup .btn.color06:hover {
    background-color: #c27ba0;
    border-color: #c27ba0;
    color: rgba(28,49,55,1);
}

.stateProg .tabPanel h4.color06, .content-area section ul.color06 li::before {
    background-color: #c27ba0;
}

body .keyText p {
	text-align: center;
	margin-bottom: 80px;
}

.content-area section ul, .content-area section ol {
    list-style: none;
    padding-left: 25px;
    font-style: normal;
	text-align: left;
}

.stateProg .tabPanel ul {
    margin: 40px 40px 30px 20px;
}

.content-area section ul li, .content-area section ol li, .content-area section ul li p, .content-area section ol li p {
    font-size: 1.125rem;
    position: relative;
    margin: 20px auto;
}

.content-area section ul li::before, .content-area section ol li::before {
    content: '';
    display: block;
    width: 12px;
    height: 12px;
    background-color: #ff563d;
    position: absolute;
    top: 7px;
    left: -25px;
}

.stateProg .tabPanel h4.color01, .content-area section ul.color01 li::before {
    background-color: #05ACD0;
}

.stateProg .btnGroup .btn.color01.active, .stateProg .btnGroup .btn.color01:hover {
    background-color: #05ACD0;
    border-color: #05ACD0;
	color: #323232;
}

.stateProg .tabPanel h4.color02, .content-area section ul.color02 li::before {
    background-color: #E54C17;
	color: white;
}

.stateProg .btnGroup .btn.color02.active, .stateProg .btnGroup .btn.color02:hover {
    background-color: #E54C17;
    border-color: #E54C17;
	color: white;
}

.stateProg .tabPanel h4.color03, .content-area section ul.color03 li::before {
    background-color: #FBF59E;
}

.stateProg .btnGroup .btn.color03.active, .stateProg .btnGroup .btn.color03:hover {
    background-color: #FBF59E;
    border-color: #FBF59E;
	color: #323232;
}

.stateProg .tabPanel h4.color04, .content-area section ul.color04 li::before {
    background-color: #9067C6;
	color: white;
}

.stateProg .btnGroup .btn.color04.active, .stateProg .btnGroup .btn.color04:hover {
    background-color: #9067C6;
    border-color: #9067C6;
	color: white;
}

.stateProg .tabPanel h4.color05, .content-area section ul.color05 li::before {
    background-color: #5BB862;
}

.stateProg .btnGroup .btn.color05.active, .stateProg .btnGroup .btn.color05:hover {
    background-color: #5BB862;
    border-color: #5BB862;
	color: #323232;
}

.stateProg .tabPanel h4.color06, .content-area section ul.color06 li::before {
    background-color: #2F767F;
	color: white;
}

.stateProg .btnGroup .btn.color06.active, .stateProg .btnGroup .btn.color06:hover {
    background-color: #2F767F;
    border-color: #2F767F;
	color: white;
}

.stateProg .tabPanel h4.color07, .content-area section ul.color07 li::before {
    background-color: #E2E21A;
}

.stateProg .btnGroup .btn.color07.active, .stateProg .btnGroup .btn.color07:hover {
    background-color: #E2E21A;
    border-color: #E2E21A;
	color: #323232;
}

.stateProg .tabPanel h4.color08, .content-area section ul.color08 li::before {
    background-color: #C66AAC;
	color: white;
}

.stateProg .btnGroup .btn.color08.active, .stateProg .btnGroup .btn.color08:hover {
    background-color: #C66AAC;
    border-color: #C66AAC;
	color: white;
}

.stateProg .tabPanel h4.color09, .content-area section ul.color09 li::before {
    background-color: #75E0B0;
}

.stateProg .btnGroup .btn.color09.active, .stateProg .btnGroup .btn.color09:hover {
    background-color: #75E0B0;
    border-color: #75E0B0;
	color: #323232;
}

.stateProg .tabPanel h4.color10, .content-area section ul.color10 li::before {
    background-color: #F29E30;
}

.stateProg .btnGroup .btn.color10.active, .stateProg .btnGroup .btn.color10:hover {
    background-color: #F29E30;
    border-color: #F29E30;
	color: #323232;
}

.stateProg .tabPanel h4.color11, .content-area section ul.color11 li::before {
    background-color: #B1A1F7;
}

.stateProg .btnGroup .btn.color11.active, .stateProg .btnGroup .btn.color11:hover {
    background-color: #B1A1F7;
    border-color: #B1A1F7;
	color: #323232;
}

.demoMap {
    opacity: 0;
}

.demoMap, .demoBkg {
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
}

.subwayMap.aos-animate .demoMap {
    -webkit-animation-name: animDemo;
    animation-name: animDemo;
    -webkit-animation-duration: 0.3s;
    animation-duration: 0.3s;
    -webkit-animation-timing-function: linear;
    animation-timing-function: linear;
    -webkit-animation-delay: 0.1s;
    animation-delay: 0.1s;
    -webkit-animation-fill-mode: forwards;
    animation-fill-mode: forwards;
}

.demoBkg {
    background: rgba(255,255,255,0.7);
    cursor: pointer;
}

.demoBox {
    -webkit-box-shadow: 0 0 6px 6px rgb(0 0 0 / 20%);
    box-shadow: 0 0 6px 6px rgb(0 0 0 / 20%);
    margin: 0 auto;
    position: relative;
    max-width: 60%;
    top: 40%;
    -webkit-transform: translateY(-50%);
    transform: translateY(-50%);
    background: white;
    padding-bottom: 20px;
	text-align: center;
}

@-webkit-keyframes animDemo {
    0%   { opacity: 0; }
    100% { opacity: 1; }
}

@keyframes animDemo {
    0%   { opacity: 0; }
    100% { opacity: 1; }
}

#definitions {
	cursor: pointer;
	margin: 20px auto 60px;
}

#definitionsModal {
	position: fixed;
	z-index: 15;
	top: 10vh;
	width: calc(100% - 30px);
	max-width: 900px;
	left: 50%;
	-webkit-transform: translateX(-50%);
	        transform: translateX(-50%);
	background: white;
	padding: 30px;
    opacity: 0;
    visibility: hidden;
	height: 80vh;
}

#definitionsModal .modalContent {
	overflow: auto;
	height: 100%;
}

#closeModal {
	position: absolute;
	top: 5px;
	right: 5px;
	font-family: "Font Awesome 5 Free";
	color: #5BB862;
	font-size: 1.5rem;
	cursor: pointer;
}

#overlayBkg {
    position: fixed;
    width: 100%;
    height: 100%;
    background: rgba(0, 0, 0, 0.5);
    top: 0;
    left: 0;
    z-index: 10;
    opacity: 0;
    visibility: hidden;
    cursor: pointer;
    -webkit-transition: all 0.3s;
    transition: all 0.3s;
}

#overlayBkg.display, #definitionsModal.display {
    opacity: 1;
    visibility: visible;
}


/****** SVG FUNDING MAP ******/
#paMap > svg {
	width: 100%;
	height: auto;
}

#color01, #color02, #color03, #color04, #color05, #color06, #color07, #color08, #color09, #color10a, #color10b, #color11, #legend01, #legend02, #legend03, #legend04, #legend05, #legend06, #legend07, #legend08, #legend09, #legend10, #legend11 {
	cursor: pointer;
}

#Boxes > g.deselect > rect, #Boxes > g.deselect > polyline, #Boxes > g.deselect > g > rect {
    fill: #F6F6F6;
    stroke: #FFFFFF;
}

#Boxes > g.deselect > g > path {
    opacity: 0.4;
}

#color01.deselect > *, #color01.deselect > g > g > *, #color02.deselect > *, #color03.deselect > *, #color04.deselect > *, #color05.deselect > *, #color05.deselect > g > g > *, #color06.deselect > *, #color07.deselect > *, #color08.deselect > *, #color09.deselect > *, #color10a.deselect > *, #color10b.deselect > *, #color11.deselect > * {
    stroke: #EBEBEB;
    stroke-width: 2.9222;
}
/*****************************/


@media (max-width: 768px) {
	.content-area section:nth-of-type(1) {
		height: 60vh;
		max-height: 600px;
	}
	
	.flex-item-full, .flex-item-2, .flex-item-3, .flex-item-4, .flex-item-5, .flex-item-6, .flex-item-7, .flex-item-8 {
		width: 100%;
		text-align: center;
	}
	
	img#paState {
		margin-bottom: 20px;
		max-width: 480px;
	}
	
	.content-area section .tabPanel {
		padding: 10px;
	}
}

@media (max-width: 480px) {
	.content-area section:nth-of-type(1) {
		max-height: 400px;
    	min-height: 280px;
	}
	
	.content-area section {
		padding-bottom: 22px;
		padding-top: 22px;
	}
	
	.content-area section .tabPanel {
		padding: 10px;
	}
	
	.btn, .btn:focus {
    	width: auto;
		padding-bottom: 15px;
		padding-top: 15px;
	}
	
	.stateProg .btnGroup .btn {
		width: 100%;
	}
	
	body .site-content h2 {
		font-size: 38px;
		line-height: 40px;
	}
	
	.demoBox {
    	max-width: 100%;
	}
	
	#ttLogo {
    	max-width: 240px;
	}
}