*,
*::before,
*::after {
  box-sizing: border-box;
}

:root {
  --select-border: #333;
  --select-focus: blue;
  --select-arrow: var(--select-border);
}

body {
	background-color: #B3DDF2;
	font-family: "Roboto", sans-serif;
}

#title {
	position: relative;
	margin-bottom: 8px;
	margin-left: 5%;
	margin-right: 5%;
	height: 100%;
	border-radius: 5px;
	overflow: hidden;
}

#banner-background: {
	position: static;
	top: 0;
	z-index: -1;
}

#chicago-flag-banner {
	width:100%;
	margin-bottom: -5px;
}

#title h1 {
	position: absolute;
	top: 0;
	margin-top: 1.2vw;
	left: 0;
	right: 0;
	text-align: center;
    font-size: 1.5vw;
    font-weight: 900;
    color: #F00;
}

#top-panel {
	margin-left: 5%;
	margin-right: 5%;
	position: relative;
	display: inline-flex;
	overflow: hidden;
}

#top-left-panel {
	background-color: #FFF;
	border-radius: 5px;
	flex: 1;
	margin-right: 8px;
	padding: 0.8vw;
	overflow: hidden;
}

#top-left-panel-title {
	margin: 0;
	text-align: center;
	font-size: 1.2vw;
}

#top-left-panel-body {
	overflow: auto;
	max-height: 34.5vw;
	font-size: 0.8vw;
}

#top-left-panel-body a {
	text-decoration: none;
}

#inkago {
	position: absolute;
	width: 10%;
	top: 50%;
	left: 5%;
}

#map-mask {
	flex: 6;
	border-radius: 5px;
	position: relative;
	display: inline-flex;
	overflow: hidden;
}

#loading-screen {
	background-color: rgba(255,255,255,0.8);
	position: absolute;
	width: 100%;
	height: 100%;
}

#loading-gif {
	position: absolute;
	top: 0;
	bottom: 0;
	left: 0;
	right: 0;
	margin: auto;
}

#map,#preview-canvas,#wrapper{
    width:100%;
    height:100%;
    margin-left:auto;
    margin-right:auto;
	display: absolute;
}

#map-group {
	transform-origin: top left;
}

#ocean{
	fill: #FFF !important;
}

#svg .mouseDown{
	cursor: grabbing;
}

svg svg path{
	cursor: pointer;
	stroke: #FFF;
	stroke-width:0.1;
	position: relative !important;
}

svg svg path:hover {
	fill: #F00 !important;
	stroke-width: 0.2;
	position: relative !important;
	z-index: 9999 !important;
}

.selectedLoc {
	fill: #F00 !important;
	stroke-width: 0.2;
	position: relative !important;
	z-index: 9999 !important;
}
 
#map-legend {
	position: absolute;
	bottom: 2%;
	left: 2%;
	padding: 0.5%;
	background-color: rgba(255,255,255,0.8);
	border-radius: 5px;
}

#map-legend-title {
	font-weight: 800;
	font-size: 1vw;
	margin: 0;
	text-align: center;
}

#map-legend-discrete {
	list-style-type: none;
	padding: 0;
	margin: 0;
}

#map-legend-discrete li {
	margin-top: 2%;
}

.map-legend-discrete-color {
	display: inline-block;
	vertical-align: middle;
	width: 1.5vw;
	height: auto;
}

.map-legend-discrete-label {
	display: inline-block;
	vertical-align: middle;
	font-weight: 400;
	font-size: 1vw;
	margin: 0;
	margin-left: 5px;
}

.inactive {
	display: none;
	visibility: hidden;
	border: 0;
}

#map-legend-continuous-gradient-container {
	width: auto;
	height: 1.5vw;
	margin-top: 5%;
}
 
#map-legend-continuous-labels {
	display: flex;
}

#map-legend-continuous-labels p {
	flex: 1 1 auto;
	margin: 0;
	font-weight: 400;
	font-size: 1vw;
}

#map-legend-continuous-min {
	text-align: left;
}

#map-legend-continuous-mid {
	text-align: center;
}

#map-legend-continuous-max {
	text-align: right;
}
 
#info-tooltip{
    pointer-events:none;
    background-color:#FFF;
    padding:1px 5px;
    z-index:5;
    margin:0 auto;
    color: #F00;
	font-family: "Roboto", sans-serif;
    font-size: 1em;
    font-weight: 900;
    color: #00A7E1;
    border-radius:5px;
    border:1px solid #B3DDF2;
    box-shadow:2px 2px 2px 0 #444;
    -webkit-user-select:none;
    -moz-user-select:none;
    -ms-user-select:none;
    user-select:none;
    display:none
}

select {
  appearance: none;
  background-color: transparent;
  border: none;
  padding: 0 1vw 0 0;
  margin: 0;
  width: 100%;
  font-family: inherit;
  font-size: inherit;
  cursor: inherit;
}

select::-ms-expand {
  display: none;
}

select {
  outline: none;
}

#bottom-panel {
	margin-left: 5%;
	margin-right: 5%;
	margin-top: 8px;
	width: 90%;
	position: relative;
	display: inline-flex;
}

#map-options-panel {
	background-color: #FFF;
	border-radius: 5px;
	flex: 1;
	margin-right: 8px;
	padding: 0.8vw;
}

#map-options-title {
	margin: 0;
	margin-bottom: 8px;
	text-align: center;
	font-size: 1.2vw;
}

.map-options-panel {
	width: 100%;
	margin-top: 8px;
	display: inline-flex;
}

.map-options-label {
	flex: 1;
	padding-top: 0.25vw;
}

.map-options-label h4{
	font-size: 1vw;
	margin: 0;
}

.map-options-label select{
	position: absolute;
	top: 50%;
	margin: auto;
}

.map-options-select {
  width: 100%;
  flex: 2;
  border: 1px solid var(--select-border);
  border-radius: 0.2vw;
  padding: 0.25vw;
  font-size: 1vw;
  line-height: 1vw;
  text-align: center;
  cursor: pointer;
  transition: 0.2s;
}

.map-options-select select {
	padding: 0;
	text-align: center;
}

.map-options-select option {
	text-align: center;
}

.map-options-select:hover {
	background-color: #EEE;
	transition: 0.2s;
}

button {
	background-color: transparent;
	border-width: 0;
	font-family: inherit;
	font-size: inherit;
	font-style: inherit;
	font-weight: inherit;
	line-height: inherit;
	padding: 0;
}

.map-options-button {
	width: 100%;
	border: 1px solid var(--select-border);
	border-radius: 0.2vw;
	padding: 0.25vw;
	font-size: 1vw;
	line-height: 1vw;
	text-align: center;
	cursor: pointer;
	transition: 0.2s;
}

.map-options-button button{
	cursor: pointer;
}

.map-options-button:hover{
	background-color: #EEE;
	transition: 0.2s;
}

#analysis-panel {
	flex: 6;
	display: flex;
	flex-direction: column;
	gap: 8px;
}

#subdiv-info {
	overflow: hidden;
	font-family:"Roboto";
	position: absolute;
	bottom: 2%;
	right: 2%;
	padding: 0.5%;
	width: 60%;
	background-color: rgba(255,255,255,0.8);
	border-radius: 5px;
	visibility:visible;
	opacity:1;
	transition:visibility 0s linear 0.2s,opacity 0.2s linear;
	transition-delay:0s;
}

#subdiv-info.nohover {
	visibility:hidden;
	opacity:0;
	transition:visibility 0s linear 0.2s,opacity 0.2s linear;
}

#subdiv-info div {
	width: 100%;
}

#subdiv-info p {
	font-weight: 400;
	font-size: 0.8vw;
	line-height: 0.6vw;
	margin-bottom: 0;
}

#subdiv-info-headers {
	height: 1vw;
	display: flex;
}

#subdiv-info-name-header {
	flex: 2 1 0;
}

#subdiv-info-num-visitors-header {
	flex: 1 1 0;
}

#subdiv-info-most-similar-header {
	flex: 2 1 0;	
}

#subdiv-info-name-header-text {
	text-align: left;
	margin: 0;
}

#subdiv-info-num-visitors-header-text {
	text-align: center;
	margin: 0;
}

#subdiv-info-most-similar-header-text {
	text-align: right;
	margin: 0;
}

#subdiv-info h1 {
	font-weight: 900;
	font-size: 1vw;
	margin: 0;
	min-height: 1.25vw;
}

#subdiv-info-values {
	display: flex;
}

#subdiv-info-name {
	flex: 2 1 0;
}

#subdiv-info-num-visitors {
	flex: 1 1 0;
}

#subdiv-info-most-similar {
	flex: 2 1 0;
}

#subdiv-info-name-text {
	text-align: left;
}

#subdiv-info-num-visitors-text {
	text-align: center;
}

#subdiv-info-most-similar-text {
	text-align: right;
}

#analysis-sandbox {
	background-color: #FFF;
	border-radius: 5px;
	display: inline-flex;
	flex: 3;
	width: 100%;
	/*box-sizing: border-box;*/
	padding: 0.8vw;
	overflow: hidden;
	font-family:"Roboto";
}

.analysis-sandbox-panel {
	display: flex;
	flex-direction: column;
	gap: 8px;
}

.analysis-sandbox-panel p {
	font-weight: 400;
	font-size: 1vw;
	line-height: 0.8vw;
	margin-bottom: 0;
}

.analysis-sandbox-panel h1 {
	font-weight: 900;
	font-size: 1.5vw;
	line-height: 1.5vw;
	margin: 0;
}

#analysis-sandbox-left-panel {
	flex: 4 1 0;
}

#analysis-sandbox-centerleft-panel {
	flex: 2 1 0;
	border-left: 1px solid #DDD;
	border-right: 1px solid #DDD;
	padding: 0 0.25vw;
}

#analysis-sandbox-center-panel {
	flex: 3 1 0;
}

#analysis-sandbox-centerright-panel {
	flex: 2 1 0;
	border-left: 1px solid #DDD;
	border-right: 1px solid #DDD;
	padding: 0 0.25vw;
}

#analysis-sandbox-right-panel {
	flex: 4 1 0;
}

.analysis-sandbox-header {
	flex: 1;
}

.analysis-sandbox-body {
	flex: 2;
}

.analysis-sandbox-left-header-text {
	text-align: left;
	margin: 0;
}

.analysis-sandbox-center-header-text {
	text-align: center;
	margin: 0;
}

.analysis-sandbox-right-header-text {
	text-align: right;
	margin: 0;
}

.analysis-sandbox-left-body-text {
	text-align: left;
	margin: 0;
}

.analysis-sandbox-center-body-text {
	text-align: center;
	margin: 0;
}

.analysis-sandbox-right-body-text {
	text-align: right;
	margin: 0;
}

.analysis-sandbox-select {
  width: 100%;
  flex: 2;
  font-weight: 900;
  font-size: 1.5vw;
  line-height: 1.5vw;
  text-align: center;
  cursor: pointer;
}

.analysis-sandbox-select select {
  font-weight: 900;
  padding: 0;
}

.analysis-sandbox-select-none {
	color: #CCC;
}

#analysis-sandbox-mode-select {
  width: 100%;
  flex: 1;
  padding: 0;
  font-size: 1vw;
  line-height: 1vw;
  text-align: center;
  cursor: pointer;
}

#analysis-sandbox-select-one {
	text-align: left;
}

#analysis-sandbox-select-two {
	text-align: right;
}

.analysis-sandbox-list-container {
	float: left;
	overflow: auto;
	overflow-wrap: break-word;
	max-width: 12vw;
	height: 9vw;
	padding: 0.25vw;
}

#analysis-sandbox-list-one, #analysis-sandbox-list-two {
	list-style-type: none;
	font-size: 0.8vw;
	text-align: center;
	padding: 0;
	margin: 0;
}

#analysis-sandbox-list-one {
	
}

#analysis-sandbox-list-two {
	
}

/* Firefox */
* {
scrollbar-width: auto;
scrollbar-color: #DDD #FFFFFF;
}

/* Chrome, Edge, and Safari */
*::-webkit-scrollbar {
width: 0.5vw;
}

*::-webkit-scrollbar-track {
background: #FFF;
}

*::-webkit-scrollbar-thumb {
background-color: #DDD;
border-radius: 10px;
border: 3px solid #FFF;
}

#analysis-sandbox-venn-div {
	position: relative;
	margin: auto;
	width: 80%;
}

#analysis-sandbox-venn-circle-group circle {
	fill: #FFF;
}

#analysis-sandbox-venn-numbers {
	position: absolute;
	display: flex;
	margin: auto;
	top: 43%;
	left: 7.5%;
	height: 100%;
	width: 85%;
}

#analysis-sandbox-venn-numbers p {
	font-size: 1.5vw;
	font-weight: 900;
	margin: 0;
}

.analysis-sandbox-venn-number {
	flex: 1;
}

#analysis-sandbox-venn-number-left {
	text-align: left;
}

#analysis-sandbox-venn-number-center {
	text-align: center;
}

#analysis-sandbox-venn-number-right {
	text-align: right;
}

/*
Amendment 7/9/2025 - Modal for Vote Campaign


#modalVotedBtn, #modalInstrBtn {
	display: none;
	opacity: 0;
	transition: opacity 1s ease;
}

#modalVotedBtn.visible, #modalInstrBtn.visible {
	display: inline;
	opacity: 1;
}

#VotedBtnRect, #InstrBtnRect {
	transition: fill 0.3s ease;
}

#modalVotedBtn:hover #VotedBtnRect, #modalInstrBtn:hover #InstrBtnRect {
    fill: #bbb;
  }

#modalVotedBtn:active #VotedBtnRect, #modalInstrBtn:active #InstrBtnRect {
	fill: #eee;
	transition: none;
}

#svgModalOverlay.fade-out {
	opacity: 0;
	transition: opacity 0.5s ease;
}

#votingInfoImage {
	transition: visibility 0s linear 0.2s, opacity 0.2s ease;
	opacity: 0;
}

#modalInstrBtn:hover #votingInfoImage {
	visibility: visible;
	opacity: 1;
	transition-delay: 0s;
}

#map-legend {
	opacity: 0;
	transition: opacity 0.5s ease;
}

#map-legend.visible {
	opacity: 1;
	transition: opacity 0.5s ease;
}*/