#g-vis *:focus {
    outline: none;
}

#g-vis h1 {
  font-weight: bold;
  margin-bottom: 24px;
}

#g-vis .lead {
  font-weight: normal;
}

#g-vis-container {
  max-width: 850px;
  margin: 1% auto;
  font-family: "Lato";
}

.btn-custom {
	box-shadow: none;
}

.g-btn-wrap {
	text-align: center;
	display: block;
	margin-bottom: 40px;
}

.btn-custom.active:focus {
	box-shadow: none !important;
}

.g-tip {
  position: absolute;
  width: 275px;
  border: 1px solid #eee;
  border-radius: 3px;
  background: #fff;
  z-index: 100;
  font-size: 12px;
  box-shadow: 0 0 2px rgba(0,0,0,0.12), 0 2px 4px rgba(0,0,0,0.24);
  padding: 1em 1.32em;
}

.g-tip-mobile {
  left: 0;
  position: fixed;
  width: 100%;
  bottom: 0;
  border: none;
  border-radius: 0;
  box-shadow: 0 0 2px rgba(0,0,0,0.5);
}

.g-tip table.table {
	margin-bottom: 8px;
}

.g-tip table.table > thead > tr > th {
	border-bottom: 1px solid #ddd;
	padding: 4px;
	text-align: center;
}

.g-tip table.table > tbody > tr > td {
	padding: 4px;
	text-align: center;
	border: none;
	border-bottom: 1px solid #ddd;
}

.g-tip div {
	font-size: 15px;
}

.g-tip div.subtitle {
	font-size: 13px;
	color: #777;
	margin-bottom: 4px;
}

.note {
  font-size: 14px;
  margin: 16px 0;
}

.bar-container {
	margin-bottom: 4px;
	cursor: pointer;
}

.bar-container:hover div.swatch {
	opacity: .5;
}

.flex {
	display: flex;
	align-content: center;
	align-items: center;
}

.flex .name {
	width: 50px;
}

.flex .bar {
	width: calc(100% - 50px);
}

.flex .bar div.swatch {
	height: 30px;
	border: 1px solid #fff;
/*	border-bottom: 2px solid #fff;
	border-top: 2px solid #fff;*/
	display: flex;
	align-items: center;
	position: relative;
}

.bar-container .bar div.swatch span {
	position: absolute;
	left: calc(100% + 4px);
	font-size: 13px;
	font-weight: bold;
	z-index: 10;
}

.axis {
	position: relative;
	width: calc(100% - 50px);
	margin-left: 50px;
	min-height: 20px;
	z-index: 5;
	pointer-events: none;
	display: inline-block;
	
}

.axis.top {
    height: 100%;
    border-top: 1px solid;
    position: absolute;
    /*top: calc(38px + 36px - 8px);*/
}
.axis.bottom {
	border-top: 1px solid;
	padding-top: 4px;
}

.axis .tick {
	position: absolute;
}

.axis.top .tick {
	position: absolute;
  height: 100%;
  top: -20px;
}

.axis .tick span {
	transform: translateX(-50%);
	display: inline-block;
	position: absolute;
	font-size: 13px;
}

.axis.top .tick span.line {
	height: 100%;
	width: 1px;
	background-color: #fff;
	position: absolute;
	top: 20px;
}

div.g-tip div.close-tip {
	position: absolute;
	top: 2px;
	right: 12px;
	font-size: 22px;
}

.republican {
  color: #E94A42;
}

.democrat {
  color: #8498D8;
}

.independent {
  color: darkgoldenrod;
}