@charset "UTF-8";

/* 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;
}
/* HTML5 display-role reset for older browsers */
article, aside, details, figcaption, figure, 
footer, header, hgroup, menu, nav, section {
	display: block;
}
body {
	line-height: 1;
}
body * {
/* Prevent the buttons from flashing on click */
-webkit-tap-highlight-color: rgba(0,0,0,0);
}
ol, ul {
	list-style: none;
}
blockquote, q {
	quotes: none;
}
blockquote:before, blockquote:after,
q:before, q:after {
	content: '';
	content: none;
}
table {
	border-collapse: collapse;
	border-spacing: 0;
}
a {
	color:inherit;
	text-decoration: none;
}
a:hover {
	color: black;
	text-decoration: underline;
}


/* OVERALL STYLES */

body {
	font-family: 'Source Sans Pro', sans-serif;
	font-weight: 300;
	line-height: 1;
	font-size: 18px;
}
p {
	line-height: 1.4em;
	font-weight: 300;
	-webkit-user-select: none;
}
h2 {
	font-size: 1.5em;
	line-height: 1.2em;
	margin-bottom: 5px;
	font-weight: 300;
	-webkit-user-select: none;
}
h3 {
	font-size: 1.4em;
	line-height: 1.7em;
	-webkit-user-select: none;
}
.offset, .subsidy_box {
	left:150%
}
/* GAME STYLES */
#opening {
	width: 1024px;
	text-align: center;
	position: absolute;
	top: 0;
}
#opening img {
	display: block;
    margin-left: auto;
    margin-right: auto;
}
#holder {
	position: relative;
	height: 217px;
	width: 768px;
	overflow: hidden;
	margin-right: auto;
	margin-left: auto;
	margin-top: 50px;
	background-color: white;
	margin-bottom: 1em;
}
#holder img{
	position:absolute;
	bottom: 0px;
}
.start_btn {
	background-color: #70bf4a;
	height: 36px;
	width: 200px;
	font-size: 25px;
	line-height: 36px;
	border: thin solid #000000;
	cursor: pointer;
	margin-right: auto;
	margin-left:auto;
	margin-bottom: 32px;
	color: #FFFFFF;
	font-weight: 400;
}
#directions {
	width: 1024px;
	text-align: center;
	position: absolute;
	top: 100px;
	display: none;
}
#directions img {
	display: block;
    margin-left: auto;
    margin-right: auto;
	width: 25%;
	margin-bottom: 1em;
}
#directions p {
	text-align: left;
	text-align: justify;
    text-justify: inter-word;
	max-width: 60%;
	margin-left: auto;
    margin-right: auto;
	margin-bottom: 1em;
}

#game {
	display: none;
}

#main_container {
	/*height: 655px;*/
	width: 1024px;
	margin-right: auto;
	margin-left: auto;
	position: relative;
	margin-top:40px;
	
}
#top {
	background-color: white;
	height: auto;
	position: absolute;
	top: 0;
	z-index: 9999;
	width: 1024px;
}
#middle {
	background-color: #FFFFFF;
	width: 100%;
	height: 430px;
	margin-bottom: 10px;
	margin-top:20px; 
}
#central {
	float: left;
	width: 820px;
	margin-right: 10px;
	margin-left: 10px;
	font-size: 0; /*removes unwanted margins*/
	background-color: white;
	position: relative;
}
#illustrations {
	font-size: 18px;
	height: 410px;
	width: 410px;
	vertical-align: top;
	border-radius: 50%;
	display: inline-block;
	overflow: hidden;
	background-color: red;
	position: relative;
}
#illustrations img {
	width: 460px;
	height: 460px;
}
.central {
	display: none;
	position: absolute;
	left: -30px;
	top: -40px;
	height: 460px;
	width: 460px;
	margin-right: auto;
	margin-left: auto;
	background-color: #daf1fc;
}
.centra img {
	position: absolute;
	margin-right: auto;
	margin-left: auto;
}
#questions_box{
	font-size: 18px;
	width: 375px;
	height: 425px;
	position: relative;
	display: inline-block;
	overflow: hidden;
	margin-left: 35px;
}
#questions_box li{
	position: absolute;
	top: 0;
	right: 0px;
	background-color: white;
	width: 375px;
}

#questions_box .upper {
	position: relative;
	height: 165px;
	width: 100%;
	background-color: white;
	margin-bottom: 20px;
	box-sizing: border-box;
}
#questions_box .upper h2 {
	font-weight: 400;
}

#questions_box .lower {
	position: relative;
	height: 225px;
	width: 100%;
	padding-top: 0px;
	padding-right: 0px;
	padding-bottom: 0px;
	box-sizing: border-box;
}
#questions_box .lower p {
	margin-bottom: 0.5em;
}
#questions_box .lower h2 {
	font-weight: 400;
}

#spacer {
	width: 1024px;
	height: 110px;
	background-color: #FFFFFF;
}
.smallish {
	display: none;
}
.largish {
	display: inline;
}

/* CONTROLS */


.directional_space_right {
	height: 410px;
	width: 92px;
	display: inline-block;
	float: right;

}
.directional_space_left {
	height: 410px;
	width: 92px;
	display: inline-block;
	float: left;

}

.directional {
	height: 64px;
	width: 64px;
	border-radius: 50%;
	display: inline-block;
	background-position: center center;
	background-repeat: no-repeat;
	background-color: silver;
	position: absolute;
	top: 173px;
}

#dir_right {
	background-image: url(../images/dir_right.png);
	right: -88px;
}
#dir_left {
	background-image: url(../images/dir_left.png);
	left: -88px;
}
.directional:hover {
	background-color: black;
}
.waiting{
	color: #999999;
	background-color: #CCCCCC;
}
#dir_right.ready {
	background-color: #70bf4a !important;
	color: #FFFFFF;
	-webkit-animation: pulsate 2s ease-out;
	-webkit-animation-iteration-count: infinite; 
}
.ready:hover {
	color:black;
}
@-webkit-keyframes pulsate {
    0% {-webkit-transform: scale(1.0, 1.0); opacity: 0.2;}
    50% {opacity: 1.0;}
    100% {-webkit-transform: scale(1.0, 1.0); opacity: 0.2;}
}

#range_container {
	width: 360px;
	position: absolute;
	bottom: 0;
	margin-bottom: 15px;
}

.slider {
	width: 100%;
	padding-right:35px;
	padding-left: 0px;
	margin-right: auto;
	margin-left: auto;
	margin-top: 13px;
}


/*styles for cross slider*/
#slider_cross {
	width: 100%;
	padding-right: 50%;
}
#slider_cross .noUi-base {
	background-color: black;
}
#slider_cross .noUi-connect {
	background-color: white;
	box-shadow: none;
}
#slider_cross .noUi-origin {
	border-radius: 0px;
}
#slider_cross .noUi-background {
	background: white;
}
/*end styles for cross slider*/


.noUi-horizontal {
	height: 10px;
}
.noUi-horizontal .noUi-handle {
	top: -10px;
}
.noUi-handle {
	background-color: #709f39;
	box-shadow: none;
	left: 0px !important;
	width: 44px !important;
}
.noUi-handle::after {
	left:28px !important;
}
.noUi-handle::before {
	right:22px !important;
}

.noUi-connect {
	background-color: #CCCCCC;
}
.btn {
	background-color: #FFFFFF;
	font-size: 1.4em;
	line-height: 36px;
	height: 36px;
	width: 127px;
	float: left;
	border: thin solid #000000;
	margin-right: 14px;
	cursor: pointer;
	text-align: center;
	font-weight: 400;
}
.btn:hover {
	color: #FFFFFF;
	background-color: #000000;

}
.button_holder {
	height: 36px;
	margin-bottom: 0px;
	position: absolute;
	bottom: 0;
}

.button_holder div:nth-child(even) {
	margin-right: 0px !important;
}
.bottom_pos {
	position: absolute; 
	bottom: 0;
	margin-bottom: 0px !important;
}
.top_pos {
	padding-top: 0px !important;
}
.full_width {
	width: 372px;
	margin-bottom: 16px;
	/*margin-top: 16px;*/
	color: black;
}
.half_width {
	width: 170px;
	margin-bottom: 16px;
	color: black;
	text-align: left;
	padding-left: 8px;
}
.quarter_width {
	width: 60px;
	text-align: center;
	margin-right: 0px;
	margin-left: 10px;
	text-align: center;
}

.selected {
	color: #FFFFFF;
	background-color: #000000;
}
.accepted {
	/*background-image: url(../images/btn_accepted.png);
	background-repeat: no-repeat;
	background-position: right;
	color: black !important;*/
	background-color: green !important;
	color: white !important;
	border-color: green;
	border-width: 1px;

}
.rejected {
	/*background-image: url(../images/btn_rejected.png);
	background-repeat: no-repeat;
	background-position: right;
	color: black !important;*/
	background-color: red !important;
	color: white !important;
	border-color: red;
	border-width: 1px;


}
/* //////////////////CROSS SUBSIDY ILLUSTRATIONS////////////////// */

#cross_sub_layer_mid{
	display: none;
	background-image: url(../images/cross/midRise/template.png); 
	background-size: 460px 460px; 
}
#cross_sub_layer_high{
	display: none;
	background-image: url(../images/cross/highRise/template.png);  
	background-size: 460px 460px;
}
.cross_numbers{
	width: 250px;
	height: 50px;
	position: absolute;
	top: 53px;
	margin-top: 50px;
	display: block;
	text-transform: uppercase;
}


/* //////////////////MEASURES////////////////// */
#charts {
	width: 820px;
	margin-right: auto;
	margin-left: auto;
	position: relative;
}
#subsidizing_rent_chart {
	height: 20px;
	width: 0px;
	display: inline-block;
	position: absolute;
	right: 0px;
	background-image: url(../images/chart_fill_green.png);
	background-repeat: repeat-x;
}
#rent_chart {
	height: 20px;
	width: 0px;
	display: inline-block;
	position: absolute;
	left: 0px;
	background-image: url(../images/chart_fill_green.png);
	background-repeat: repeat-x;
}
#defecit_chart {
	height: 20px;
	width: 0px;
	display: inline-block;
	position: absolute;
	left: 0px;
	background-image: url(../images/chart_fill_red.png);
	background-repeat: repeat-x;
}
#cost_chart {
	height: 20px;
	width: 0px;
	display: inline-block;
	position: absolute;
	left: 0px;
	background-image: url(../images/chart_fill_blue.png);
	background-repeat: repeat-x;
}
.measure {
	display: block;
	height: 45px;
	width: 100%;
}
.labels {
	height: 50px;
	width: 372px;
	display: inline-block;
	position: absolute;
	right: 0px;
	font-weight: 400;
}
.total {
	position: absolute;
	right: 0px;
	font-weight: 600;
}
.empty {
	height: 20px;
	width: 416px;
	border: thin solid #000000;
	position: absolute;
	left: 0px;
	margin-top: 10px;
	margin-bottom: 0px;
	background-color: #FFFFFF;
}
.empty  p {
	position: absolute;
}
.empty h3 {
	display: inline-block;
	position: absolute;
	right: 0px;
}
#dots {
	width: 100%;
	height: 20px;
	line-height: 20px;
	color: black;
	font-size: 20px;
	text-align: center;
	display: none;
}
#dots ul {
	padding: 0;
    list-style-type: none;
}
#dots li {
	display: inline-block;
	height: 10px;
	width: 10px;
	margin: 0px;
	padding: 0px;
	font-size: 18px;
	line-height:10px;
	color: #CCCCCC;
	text-align: center;
}
.active_pos {
	color: black !important;
}


/* SVG MAP STYLES */

#map_container {
	background-color: #ecebec;
	background-image: url(../images/environments/map.png);
	width: 410px;
	height: 410px;
	background-position: -5px -4px;
}

.label {
	font-weight: 400;
	font-size: 1.2em;
	font-family: sans-serif; 
	fill: black; 
	text-shadow:
		-1px -1px 0 #FFF,  
		1px -1px 0 #FFF,
		-1px 1px 0 #FFF,
		1px 1px 0 #FFF;
}
.dot {
	opacity:0.5;
	fill: #58B7DD;
}
.off {
	visibility: hidden;
}
.on {
	visibility: visible;
} 
/* ROUNDUP */
#tally {
	width: 1024px;
	display: none;
}
#roundup {
	width: 840px;
	padding: 20px;
	border-collapse: separate;
	border-spacing: 0 1em;
	margin-right: auto;
	margin-left: auto;
	padding-bottom: 20px;
	-moz-box-sizing: border-box;
	box-sizing: border-box;

}
#roundup tr td:nth-child(even) {
	text-align: right;
}
#roundup .choice {
	color: #33a4ad;
}
#roundup .grayline {
	background-color: #e7e7e7;
	border: thick solid #e7e7e7;
}
#roundup td strong{
	font-weight: 400;
}
#tooltip {
    text-align: center;
    color: #fff;
    background: #111;
    position: absolute;
    z-index: 100;
    padding: 15px;
	line-height:1.3em;
	-moz-border-radius: 0px;
	border-radius: 0px;
}
#tooltip:after {
	width: 0;
	height: 0;
	border-left: 10px solid transparent;
	border-right: 10px solid transparent;
	border-top: 10px solid #111;
	content: '';
	position: absolute;
	left: 50%;
	bottom: -10px;
	margin-left: -10px;
}
#tooltip.top:after {
	border-top-color: transparent;
	border-bottom: 10px solid #111;
	top: -20px;
	bottom: auto;
}
#tooltip.left:after {
	left: 10px;
	margin: 0;
}
#tooltip.right:after {
	right: 10px;
	left: auto;
	margin: 0;
}
abbr[title] {
	border-bottom: 1px dotted;
}

/* BOTTOM BAR */
#bottom {
	width: 1024px;
	height: 64px;
	margin-top: 40px; /*////////*/
}
#bottom ul{
	height: 64px;
	margin-left:50px;
	margin-right: 50px;
	display: inline-block;
	decoration: none;
	text-align: center;
	float: left;
}
#bottom ul li{
	display: inline-block;
	margin-left:8px;
	margin-right: 8px;
	color: #CCCCCC;
	line-height: 64px;
}
.sq_btn{
	height: 63px;
	width: 63px;
	display: inline-block;
	text-align: center;
	border-top-width: thin;
	border-right-width: thin;
	border-bottom-width: thin;
	border-left-width: thin;
	border-top-style: solid;
	border-right-style: solid;
	border-bottom-style: solid;
	border-left-style: solid;
	border-top-color: #000000;
	border-right-color: #000000;
	border-bottom-color: #000000;
	border-left-color: #000000;
}
#start_over_mobile {
	display: none;
}
#start_over {
	background-image: url(../images/btn_startover.png);
	float: left;
	margin-left: 14px;
}
#start_over:hover {
	background-color: red;
	cursor: pointer;
}
#share {
	background-image: url(../images/btn_mail.png);
	float: right;
	margin-right: 14px;
}

#share:hover {
	background-color: green;
	cursor: pointer;
}
.open {
	background-image: url(../images/btn_close.png) !important;
	border-bottom-color: white;
}


.step_current {
	font-weight: 400;
	color: #000000 !important;
}




/*/////CONSTANT CONTACT OVERIDES////*/

.ctct-custom-form {
	min-width: 320px !important;
}
.form_horizontal {
	width: 30%;
	display: inline-block;
	margin-right: 30px !important;
}
#social_links h2 {
	text-align: center;
}
#social_share {
	width: 100%;
	border-top-width: thin;
	border-top-style: solid;
	border-top-color: #000000;
	padding-top: 20px;
}
/* SOCIAL MEDIA SHARE */
#social_links {
	display: none;
}
#social_share li {
	width:40px;
	height: 40px;
	background-color: white;
	display: inline-block;
	margin: 0px 10px 0px 10px;
}
#social_share li img {
	width: 40px;
	height: 40px;
}
#social_share li a:link {
	background-color: white;
	width: 40px;
	height: 40px;
	display: block;
}
#social_share li a:visited {
	background-color: white;
}
#social_share li a:hover {
	background-color: #70bf4a;
}

#social_share ul {
	width: 254px;
	margin-right: auto;
	margin-left: auto;
	border-top-width: thin;
	padding-top: 10px;
	margin-bottom:20px;
}
/* //////////////////SUBSIDY ITEMS////////////////// */
#subsidy_screen {
	background-image: url(../images/environments/money_round.jpg);
	background-repeat: no-repeat;
    background-position: 30px 40px; 
}

/* //////////////////MOBILE STYLES////////////////// */

@media (max-width: 1020px) {
#middle {
	margin-top:0px; 
}


#cross_sub_layer_high, #cross_sub_layer_mid {
	background-size: 340px 340px;
}
.cross_sub_container {
	background-size: 340px 340px;
}
#subsidy_screen {
	background-size: 340px 340px;
	background-position: 0px 0px; 
}

#holder {
	position: relative;
	height: 89px;
	width: 320px;
	overflow: hidden;
	margin-right: auto;
	margin-left: auto;
	margin-top: 1em;
	background-color: white;
	margin-bottom: 1em;
}
#holder img {
	max-width: 320px !important;
	}
#social_share {
	border: none;
	}
#tally {
	width: 320px;
}
#roundup {
	width: 320px;
	padding: 10px;
}
#directions {
	width: 320px;
	top: 0px;

}
#directions img {
	width: 35%;
	margin-bottom: 1em;
}
#directions p {
	text-align: left;
	max-width: 85%;
}

#social_links {
	display: block;
}
#spacer {
	display: none;
}
#opening {
	width: 320px;
	text-align: center;
	position: absolute;
	top: 0;
}
#opening img {
	max-width: 280px;
	display: block;
    margin-left: auto;
    margin-right: auto;
	}

#bottom {
	display: none;
}

#start_over_mobile {
	display: block;
	width: 280px;
	margin-bottom: 40px;
	margin-top: 40px;
	clear: both;
	margin-right: 20px;
	margin-left: 20px;
}

#map_container {
	width: 300px;
	height: 300px;
	background-color: #ecebec;
	background-image: url(../images/environments/map.png);
	background-size: 300px 300px;
	background-position: 0px 0px;
}
#map_container img {
	width: 320px;
	height: 320px;
}
#charts {
	width: 300px;
	padding-top:10px;
	margin-left: 10px;
	margin-right: 10px;
}
.empty {
	width: 85px;
	margin-top: 0px
}
.labels {
	width: 205px;
}
.labels h3 {
	width: 180px;
	font-size: 1.0em;
	line-height: 1.2em;
}
.measure {
	display: block;
	height: 30px;
	width: 100%;
}

#main_container {
	width: 320px;
	padding-top: 42px; /*/////////*/
	margin-top:30px;

}
#top {
	position: fixed;
	top: 0;
	width: 320px;
	z-index: 9999;
}
#central {
	 width: 100%;
	 margin-right: 0px;
	 margin-left: 0px;
}
.central {
	left: -25px;
	top: -30px;
}

#illustrations {
	height: 300px;
	width: 300px;
	margin-right: 10px;
	margin-left: 10px;
}
#illustrations img {
	width: 340px;
	height: 340px;
}

#questions_box {
	width: 320px;
	height: 360px;
	margin-left: 0px;
}
#questions_box li {
	width: 320px;
	margin-left: 0px;
}

#questions_box .upper {
	height: 50px;
	margin-bottom: 0px;
	padding-left: 0px;
}
#questions_box .upper h2 {
	padding-left: 15px;
	padding-right: 15px;
}
#questions_box .lower {
	box-sizing: border-box;
	padding: 15px;
}
#questions_box .lower h2 {
	vertical-align: top;
}

#range_container {
	width: 200px;
	margin-right: 60px;
	margin-left: 60px;
	display: inline-block;
	margin-bottom: 20px;
}
.btn {
	font-size: 1em;
	line-height: 36px;
	height: 36px;
	width: 100px;
	float: left;
	border: thin solid #000000;
	margin-right: 10px;
	cursor: pointer;
	text-align: center;
	font-weight: 400;
}
.button_holder {
	padding-top: 6px;
	width: 214px;
	margin-left: 52px;
	margin-right: 52px;
	position: relative;
}
.full_width {
	width: 290px;
}
.half_width {
	width: 130px;
	text-align: left;
}
.quarter_width {
	width: 36px;
	text-align: center;
	margin-right: 0px;
	margin-left: 6px;
	text-align: center;
}
#dots {
	display: block;
	
}



.directional_space_left, .directional_space_right {
	display: none;

}

.directional {
	height: 36px;
	width: 36px;
	background-size: 100%;
	border-radius: 50%;
	position: absolute;
	top: 326px;
}


#dir_right {
	background-image: url(../images/dir_right.png);
	right: 7px;
}
#dir_left {
	background-image: url(../images/dir_left.png);
	left: 7px;
}
.form_horizontal {
	width: 100%;
	display: block;
	margin-right: 0px ;
}

.smallish {
	display: block;
}
.largish {
	display: none;
}
}
