    /* CSS declarations necessary to make EC work */

/*** element defaults ***/

svg { overflow: hidden; } /* IE9 */

*, body, svg, path, polygon, rectangle {
  -webkit-tap-highlight-color:rgba(0,0,0,0) !important;
  -webkit-tap-highlight-color:transparent !important;
  }

path { fill-rule: evenodd; }

/* icons */
img.checkmark { height: 16px; width: 16px; padding: 0px 8px; }
.phone img.checkmark { height: 12px; width: 12px; padding: 0px 4px; }

/* things that need to be vertically centred in their parents */
div.vmid {
  position: relative;
  top: 50%;
  -webkit-transform: translateY(-50%);
  -moz-transform: translateY(-50%);
  -ms-transform: translateY(-50%);
  -o-transform: translateY(-50%);
  transform: translateY(-50%);
  }
div.vbot {
  position: absolute;
  bottom: 0px;
  }

/*** top-level elements ***/

div#CTVECmap {
  position: relative;
  z-index: 5;
  }

pre.debug {
  overflow: auto;
  background-color: black;
  color: green;
  }

/*== parts of the liveres widget ==*/

div.liveres {
  width: 100%;
  }

/* BEGIN unused majority pointer */
  /*
div.liveres div.maj {
  padding-top: 22px;
  color: #a1a1a1;
  text-align: center;
  }
div.phone div.liveres div.maj {
  font-size: 12px;
  }
div.liveres svg line.maj { 
  stroke: #909090;
  stroke-dasharray: 4 1; 
  stroke-dashoffset: 0; 
  }
div.liveres svg polygon.maj { 
  fill: #909090;
  }
   */
/* END unused majority pointer */

div.liveres svg { 
  padding-bottom: 10px; 
  }

/*
 * We use four colours for each party.  For LIB, they are:
 *
 * d50713 nominal - liveres bar, results party-name/border/bar
 *   - map ied/sied inactive fill
 * ac0c2e darker, more saturated 
 *   - map ied/xed    active border
 * e6748c brighter, desaturated 
 *   - map ied/xed    active fill
 * f7d1d9 even brighter, less saturated 
 *   - map xed        inactive fill
 */
/* nominal reference colours */
div.liveres svg .BQ  { fill: #009cb4 }
div.liveres svg .GRN { fill: #12b409 }
div.liveres svg .LIB { fill: #d50713 }
div.liveres svg .NDP { fill: #db7428 }
div.liveres svg .CON { fill: #062ed5 }
/*
div.liveres svg .WRP { fill: #ae4fc7 } 
div.liveres svg .OTH { fill: #656565 }
div.liveres svg .PA  { fill: #9b2cd0 }
div.liveres svg .PC  { fill: #062ed5 }
*/

/* div.liveres .pts { padding-left: 36px; } */

div.liveres .pts {
  border-collapse: collapse;
  width: 100%;
  margin-top: 10px;
  }

div.phone div.liveres .pts .pty,
div.liveres .pts .pty:last-child {
  padding-right: 0.3em;
  border-right: none;
  }

div.liveres .pts .pty .nm.BQ  { color: #009cb4 }
div.liveres .pts .pty .nm.GRN { color: #12b409 }
div.liveres .pts .pty .nm.LIB { color: #d50713 }
div.liveres .pts .pty .nm.NDP { color: #db7428 }
div.liveres .pts .pty .nm.CON { color: #062ed5 }
/*
div.liveres .pts .pty .nm.WRP { color: #ae4fc7 }
div.liveres .pts .pty .nm.OTH { color: #656565 }
div.liveres .pts .pty .nm.PA  { color: #9b2cd0 }
div.liveres .pts .pty .nm.PC  { color: #062ed5 }
*/

div.liveres .pts .pty .nm,
div.liveres .pts .pty .el {
  display: inline-block;
  }

div.liveres .pts .pty .el {
  padding-left: 0;
  }
/*
div.liveres .pts .pty .ld,
div.liveres .pts .pty .pct {
  color: #909090;
  font-size: 80%;
  }
 
div.liveres .pts .pty .pct {
  text-align: right;
  }
*/

/* BEGIN live results individual (municipal) */
/*
div.liveresind {
  text-align: center;
  padding: 0px 12px;
  }
div.liveresind div.leaders {
  white-space: nowrap;
  }
div.phone div.liveresind div.leaders {
  white-space: normal;
  }
div.liveresind div.column {
  display: inline-block;
  vertical-align: top;
  text-align: left;
  width: 279px;
  }
div.phone div.liveresind div.column {
  width: 272px;
  }
div.liveresind div.column.col0,
div.liveresind div.column.col1 {
  padding-right: 20px;
  }
div.liveresind div.column.col1,
div.liveresind div.column.col2 {
  padding-left: 19px;
  }
div.tablet div.liveresind div.column.col0,
div.tablet div.liveresind div.column.col1 {
  padding-right: 15px;
  }
div.tablet div.liveresind div.column.col1,
div.tablet div.liveresind div.column.col2 {
  padding-left: 14px;
  }
div.phone div.liveresind div.column.col0,
div.phone div.liveresind div.column.col1,
div.phone div.liveresind div.column.col1,
div.phone div.liveresind div.column.col2 {
  padding-left: 0;
  padding-right: 0;
  }
div.liveresind div.leader {
  position: relative;
  padding-top: 26px;
  padding-bottom: 0;
  }
div.liveresind div.leader > div {
  position: relative;
  display: inline-block;
  vertical-align: top;
  }
div.liveresind div.leader div.photo {
  padding-right: 12px;
  }
div.liveresind div.leader div.nonphoto {
  height: 60px;
  width: 207px;
  }
div.phone div.liveresind div.leader div.nonphoto {
  height: 60px;
  width: 200px;
  }
div.liveresind div.leader div.name {
  font-size: 22px;
  position: absolute;
  top: 0;
  left: 0;
  }
div.liveresind div.leader div.percent {
  font-size: 24px;
  font-weight: bold;
  position: absolute;
  top: 0;
  right: 0px;
  }
div.liveresind div.leader div.bar {
  position: absolute;
  top: 30px;
  right: 0px;
  height: 6px;
  width: 100%;
  }
div.liveresind div.leader div.vote {
  font-size: 14px;
  position: absolute;
  bottom: 0px;
  right: 0px;
  }
div.liveresind div.nonleaders {
  overflow-y: hidden;
  white-space: nowrap;
  }
div.phone div.liveresind div.nonleaders {
  white-space: normal;
  }
div.liveresind div.column.col0 .nonleaders,
div.liveresind div.column.col1 .nonleaders{
  border-right: solid 1px #e1e1e1;
  }
div.liveresind div.nonleaders .column {
  padding-top: 24px; 
  }
div.phone div.liveresind div.nonleaders .column {
  padding-top: 0px;
  }
div.phone div.liveresind div.nonleaders .column.col0 {
  padding-top: 24px;
  }
div.liveresind div.nonleader > div {
  display: inline-block;
  font-size: 14px;
  }
div.liveresind div.nonleader div.name {
  width: 171px;
  }
div.phone div.liveresind div.nonleader div.name {
  width: 164px;
  }
div.liveresind div.nonleader div.vote {
  width: 63px;
  text-align: right;
  }
div.liveresind div.nonleader div.percent {
  width: 45px;
  font-weight: bold;
  text-align: right;
  }
div.liveresind button.shower,
div.liveresind button.hider {
  border: solid 1px #cccccc;
  background-color: white;
  color: #7d8791;
  display: inline-block;
  border-radius: 2px;
  padding: 9px 22px;
  margin: 14px 0px 28px 0px;
  }
*/
/* END live results individual (municipal) */

/*== parts of the results widget ==*/

/*-- common code for title and voting data in results widget --*/

div#CTVECresults .pol,
div#CTVECresults .tvt,
div#CTVECresults .vot, div#CTVECresults .pct, div#CTVECresults .rep {
  position: absolute;
  }
/*
div#CTVECresults .r1, div#CTVECresults .r2, div#CTVECresults .r2 svg 
  { position: absolute; }
div#CTVECresults .r1 { top: 15px; }
div.tablet div#CTVECresults div.votes .r1,
div.phone div#CTVECresults div.votes .r1 { }
div#CTVECresults .r2 svg.pbar { top: 3px; }
div#CTVECresults .r2 .vot,
div#CTVECresults .r2 .pct { top: 0px; }
*/

div#CTVECresults .ti {
  z-index: 20;
  width: 100%;
  }
/*
div#CTVECresults .vot {
  text-align: right;
  width: 4em;
  right: 60px;
  }

div#CTVECresults .pct {
  text-align: right;
  right: 0px;
  }
*/

/*-- title in results widget --*/

/*
div#CTVECresults .str {
  padding-right: 45px;
  padding-top: 12px;
  }
*/

div#CTVECresults .close {
  position: absolute;
  right: 0px;
  top: 12px;
  }

div#CTVECresults .close rect.xbox {
  fill: white;
  stroke: #e0e0e0;
  stroke-width: 2px;
  }

div#CTVECresults .screenDimmer { display: none; }

div#CTVECresults .ti .cl { 
  float: right;
  color: white;
  background-color: rgba(0,0,0,0);
  text-align: right;
  font-size: 100%;
  padding: 0.25em;
  }

div#CTVECresults .ti .cl img { 
  margin-bottom: -0.32em;
  padding-bottom: 0.1em;
  }

div#CTVECresults .close line.x { stroke: #79868f; stroke-width: 5px; }

div#CTVECresults .close.active line.x { stroke: #006ac2; }

/*-- voting data in results widget --*/

div#CTVECresults .bo {
  z-index: 20;
  position: relative;
  }
div#CTVECresults div.votes {
  padding-left: 18px;
  height: 482px;
  overflow-y: auto;
  overflow-x: visible;
  }

div#CTVECresults .candidate {
  position: relative;
  height: 72px;
  }
div#CTVECresults .candidate.GRN { border-left-color: #12b409; }
div#CTVECresults .candidate.LIB { border-left-color: #d50713; }
div#CTVECresults .candidate.NDP { border-left-color: #db7428; }
div#CTVECresults .candidate.OTH { border-left-color: #656565; }
div#CTVECresults .candidate.CON { border-left-color: #062ed5; }

div#CTVECresults .candidate .party {
  padding-right: 3px;
  }
div#CTVECresults .candidate .name {
  white-space: nowrap;
  }
div#CTVECresults .candidate .vot {
  }
div#CTVECresults .candidate .pct {
  font-weight: bold;
  }

div#CTVECresults .candidate .party.BQ    { color: #009cb4 }
div#CTVECresults .candidate .party.GRN   { color: #12b409 }
div#CTVECresults .candidate .party.LIB   { color: #d50713 }
div#CTVECresults .candidate .party.WRP   { color: #ae4fc7 }
div#CTVECresults .candidate .party.NDP   { color: #db7428 }
div#CTVECresults .candidate .party.NODATA{ color: #e2e2e2 }
div#CTVECresults .candidate .party.OTH   { color: #656565 }
div#CTVECresults .candidate .party.PA    { color: #9b2cd0 }
div#CTVECresults .candidate .party.CON   { color: #062ed5 }
div#CTVECresults .candidate .party.PC    { color: #062ed5 }
div#CTVECresults .candidate .party.TIED  { color: #656565 }

div#CTVECresults .pbar .rest  { fill: #e5e5e5 }
div#CTVECresults .pbar .BQ    { fill: #009cb4 }
div#CTVECresults .pbar .GRN   { fill: #12b409 }
div#CTVECresults .pbar .LIB   { fill: #d50713 }
div#CTVECresults .pbar .WRP   { fill: #ae4fc7 }
div#CTVECresults .pbar .NDP   { fill: #db7428 }
div#CTVECresults .pbar .NODATA{ fill: #e2e2e2 }
div#CTVECresults .pbar .OTH   { fill: #656565 }
div#CTVECresults .pbar .PA    { fill: #9b2cd0 }
div#CTVECresults .pbar .CON   { fill: #062ed5 }
div#CTVECresults .pbar .PC    { fill: #062ed5 }
div#CTVECresults .pbar .TIED  { fill: #656565 }

/*== parts of the map widget ==*/

div#CTVECmap div.svgContainer {
  height: 100%;
  width: 100%;
  }

div#CTVECmap svg.main {
  height: 100%;
  width: 100%;
  }

div#CTVECmap svg.main g path,
div#CTVECmap svg.main g polygon,
div#CTVECmap svg.main g {
  transition-property: all;
  transition-duration: 3s;
  }

div#CTVECmap svg.main polygon.water,
div#CTVECmap svg.main path.water {
  fill: #80c0ff;
  stroke: none;
  }

div#CTVECmap .bk {
  position: absolute;
  left: 50px;
  top: 50px;
  z-index: -20;
  }

div#CTVECmap .in {
  position: absolute;
  background-color: white;
  padding: 6px;
  border: #575757 2px solid;
  left: 50px;
  top: 50px;
  white-space: nowrap;
  }

div.tablet div#CTVECmap .in,
div.phone div#CTVECmap .in {
  display: none;
  }

div#CTVECmap div.in span.v { display: inline-block; width: 3em; text-align: right; font-weight: bold; font-size: 16px; }

div#CTVECmap div.in div.n { font-weight: bold; font-size: 16px; }

div#CTVECmap div.in div.p { font-weight: normal; font-size: 14px; }

div#CTVECmap div.in div.l { font-weight: bold; font-size: 14px; }

div#CTVECmap div.in div.i { font-weight: normal; font-size: 16px; }

div#CTVECmap div.in div.i span.r { font-weight: bold; }

div#CTVECmap div.mappc {
  position: absolute;
  bottom: 14px;
  left: 14px;
  height: 40px;
  width: 252px;
  border: #c0c0c0 1px solid;
  background: transparent;
  }

div.tablet div#CTVECmap div.mappc,
div.phone div#CTVECmap div.mappc {
  border-left: none;
  border-right: none;
  border-bottom: none;
  }

div.tablet div#CTVECmap div.mappc {
  left: 0px;
  bottom: 0px;
  width: 580px;
  height: 64px;
  }

div.phone div#CTVECmap div.mappc {
  left: 0px;
  bottom: 0px;
  width: 300px;
  height: 42px;
  }

div#CTVECpostalcode { 
  height: 48px;
  }
div#CTVECpostalcode .pcback  { 
  position: relative;
  width: 100%; 
  background: white url(search.png) no-repeat right center;
  }
div#CTVECpostalcode .pcfront {
  position: relative;
  top: -96px;
  width: 100%; 
  }
div#CTVECpostalcode .pcmid {
  position: relative;
  top: -48px;
  height: 38px;
  background-color: black;
  opacity: 0.1;
  border: 5px solid white;
  }
div#CTVECpostalcode .pcbk {
  display: inline-block;
  vertical-align: bottom;
  height: 48px; 
  padding: 0 0 0 2%;
  width: 80%;
  font-size: 14px;
  line-height: 48px;
  padding-left: 10px;
  color: black;
  opacity: 0.8;
  }

div#CTVECpostalcode.typed .pcbk {
  color: transparent;
  }

div#CTVECpostalcode.error .pcbk {
  color: red;
  }

div#CTVECpostalcode .pcin {
  display: inline-block;
  vertical-align: bottom;
  position: relative;
  top: 5px;
  left: 5px;
  padding: 0;
  width: 80%;
  /* used to be transparent, but then it doesn't get IE11 clicks */
  /*
  background: white; 
  opacity: 0.5;
  */
  }

div#CTVECpostalcode .pcbi {
  display: inline-block;
  width: 35px;
  height: 40px;
  position: absolute;
  top: 5px;
  right: 5px;
  background: transparent;
  }

div#CTVECpostalcode input[type="text"] {
  background-color: transparent;
  font-size: 20px;
  border: 0px;
  padding: 0;
  color: black;
  height: 38px;
  width:100%;
  position: relative;
  top:0px;
  left:0px;
  }

div#CTVECpostalcode svg {
  height: 30px; width: 30px;
  padding-top: 6px;
  padding-left: 6px;
  }

div.tablet div#CTVECpostalcode svg {
  }

div.phone div#CTVECpostalcode svg {
  top: 6px; right: 6px; 
  }

div#CTVECpostalcode line,
div#CTVECpostalcode circle {
  fill: none;
  stroke: #7b858f;
  stroke-linecap: round;
  stroke-width: 4px;
  }

div#CTVECpostalcode.active line,
div#CTVECpostalcode.active circle {
  stroke: #006ac2; 
  }

div#CTVECpostalcode input[type="image"] {
  background-color: transparent;
  height: 38px;
  width: 35px;
  }

div#CTVECmap div.mapzoom {
  position: absolute;
  top: 10px;
  left: 14px;
  border: none;
  display: none;
  }

div#CTVECmap div.mapzoom.enabled {
  display: block; 
  }

div#CTVECmap div.mapzoom rect.mbox {
  fill: white;
  stroke: #e0e0e0;
  stroke-width: 2px;
  }

div#CTVECmap div.mapzoom rect.minus {
  fill: #e1e1e1;
  stroke: none;
  }

div#CTVECmap div.mapzoom.enabled rect.minus { fill: #79868f; }

div#CTVECmap div.mapzoom.active.enabled rect.minus { fill: #006ac2; }

/*== parts of the ED list widget ==*/

div#CTVECedlist {
  position: relative; /* must be absolute or relative to position scroll indicators */
  }
div#CTVECedlist > div { 
  height: 100%;
  -webkit-overflow-scrolling: auto;
  }

div#CTVECedlist div.li { 
  height: 100%;
  }

div#CTVECedlist .alphabet span {
  width: 23px;
  text-align: center;
  display: inline-block;
  }

div.tablet div#CTVECedlist .alphabet span {
  /*
  width: 43px;
  height: 22px;
  display: block;
  */
  }

div.phone div#CTVECedlist .alphabet span {
  width: 11px;
  }

div#CTVECedlist .alphabet span.n {
  color: #7bc1ff;
  }

div#CTVECedlist .edl {
  /* begin half-width - else just width: 620px */
  border-right: 1px solid #e0e0e0; 
  /* end half-width */
  height: 100%;
  overflow: auto;
  }

div.tablet div#CTVECedlist .edl {
  /*
  border-right: none;
  width: 578px;
  height: 540px;
  font-size: 20px;
  */
  }

div.phone div#CTVECedlist .edl { width: 100%; }

div#CTVECedlist .edl .ed {
  /* min-height: 42px; */
  width: 90%; /* avoid horizontal scrolling on PC */
  font-size: 16px;
  line-height: 16px;
  position: relative;
  }

div#CTVECedlist .edl .ed .vmid.active {
  background-color: #f1f1f1;
  width: 100%;
  }

div#CTVECedlist .ranges { 
  background-color: #0366c3;
  height: 42px;
  }
div#CTVECedlist .ranges button {
  border: none;
  color: white;
  display: inline-block;
  padding: 0px 28px;
  height: 42px;
  font-weight: bold;
  font-size: 18px;
  }
div.phone div#CTVECedlist .ranges button {
  border: none;
  color: white;
  display: inline-block;
  padding: 0px 6px;
  height: 42px;
  font-weight: bold;
  font-size: 14px;
  }
div#CTVECedlist .ranges button.n {
  background-color: #0366c3;
  }
div#CTVECedlist .ranges button.y {
  background-color: #123593;
  }
div#CTVECedlist .ranges .range {
  position: relative;
  display: inline-block;
  }
div#CTVECedlist .ranges .range svg {
  position: absolute;
  bottom: 0px;
  left: 50%;
  margin-bottom: -1px;
  margin-left: -7px;
  }
div#CTVECedlist .ranges .range svg polygon {
  fill: white;
  }

/*** polygon rendering in map widget ***/

/*== Internal EDs in regular view ==*/

div#CTVECmap .xed,
div#CTVECmap .sied,
div#CTVECmap .ied {
  transition-property: all;
  transition-duration: 1s;
  }

div#CTVECmap .xed.active,
div#CTVECmap .sied.active,
div#CTVECmap .ied.active {
  transition-property: none;
  }

/* no results - fill should be overridden */
div#CTVECmap .ied, div#CTVECmap .sied { fill: #ececec; stroke: white; stroke-width: 1px; }
div.phone div#CTVECmap .ied, div.phone div#CTVECmap .sied { stroke-width: 2px; }
/* various results */
/* nominal reference colours modified roughly per H = Hn, S = Sn>80 ? 50 : Sn/2, (100%-B) = 2/3 * (100% -Bn) */
div#CTVECmap .ied.updating   , div#CTVECmap .sied.updating    { fill: yellow; }
div#CTVECmap .ied.BQ   , div#CTVECmap .sied.BQ    { fill: #009cb4; }
div#CTVECmap .ied.GRN  , div#CTVECmap .sied.GRN   { fill: #12b409; }
div#CTVECmap .ied.LIB  , div#CTVECmap .sied.LIB   { fill: #d50713; } 
div#CTVECmap .ied.WRP  , div#CTVECmap .sied.WRP   { fill: #ae4fc7; }
div#CTVECmap .ied.NDP  , div#CTVECmap .sied.NDP   { fill: #db7428; }
div#CTVECmap .ied.NODATA,div#CTVECmap .sied.NODATA{ fill: #e2e2e2; }
div#CTVECmap .ied.OTH  , div#CTVECmap .sied.OTH   { fill: #656565; }
div#CTVECmap .ied.PA   , div#CTVECmap .sied.PA    { fill: #9b2cd0; } 
div#CTVECmap .ied.CON  , div#CTVECmap .sied.CON   { fill: #062ed5; } 
div#CTVECmap .ied.PC   , div#CTVECmap .sied.PC    { fill: #062ed5; } 
div#CTVECmap .ied.TIED , div#CTVECmap .sied.TIED  { fill: #656565; }
div#CTVECmap .ied.FOR  , div#CTVECmap .sied.FOR   { fill: red; } 
div#CTVECmap .ied.CHO  , div#CTVECmap .sied.CHO   { fill: #542eaf; } 
div#CTVECmap .ied.TOR  , div#CTVECmap .sied.TOR   { fill: green; } 

/*== External EDs in regular view ==*/

/* no results - fill should be overridden */
div#CTVECmap .xed, div#CTVECmap .sxed { fill: #ececec; stroke: white; stroke-width: 1px; }
div.phone div#CTVECmap .xed, div.phone div#CTVECmap .sxed { stroke-width: 2px; }
/* various results */
/* nominal reference colours modified roughly per H = Hn, S = Sn/3 - 13 (cap at 10), (100%-B) = 1/5 * (100% -Bn) */
div#CTVECmap .xed.updating   , div#CTVECmap .sxed.updating    { fill: yellow; }
div#CTVECmap .xed.BQ   , div#CTVECmap .sxed.BQ    { fill: #c0e9f0; }
div#CTVECmap .xed.GRN  , div#CTVECmap .sxed.GRN   { fill: #e0edd6; }
div#CTVECmap .xed.LIB  , div#CTVECmap .sxed.LIB   { fill: #f7d1d9; }
div#CTVECmap .xed.WRP  , div#CTVECmap .sxed.WRP   { fill: #eddaf2; }
div#CTVECmap .xed.NDP  , div#CTVECmap .sxed.NDP   { fill: #f7e2d2; }
div#CTVECmap .xed.NODATA,div#CTVECmap .sxed.NODATA{ fill: #ececec; }
div#CTVECmap .xed.OTH  , div#CTVECmap .sxed.OTH   { fill: #d8d8d8; }
div#CTVECmap .xed.PA   , div#CTVECmap .sxed.PA    { fill: #ebd1f6; }
div#CTVECmap .xed.CON  , div#CTVECmap .sxed.CON   { fill: #c6d0f7; }
div#CTVECmap .xed.PC   , div#CTVECmap .sxed.PC    { fill: #c6d0f7; }
div#CTVECmap .xed.TIED , div#CTVECmap .sxed.TIED  { fill: #d8d8d8; }

/*== (Internal/external) EDs when hovered over ==*/
div#CTVECmap .ied.active,
div.phone div#CTVECmap .ied.active,
div#CTVECmap .xed.active,
div.phone div#CTVECmap .xed.active { stroke-width: 1px; }
/* stroke colours chosen with no systematic relation to nominal reference colours: H ~ Hn, S ~ Sn + 4~6%, B ~ Bn - 12~17% */
div#CTVECmap .xed.active.updating ,   div#CTVECmap .ied.active.BQ    { fill: yellow; stroke: #007a8c; }
div#CTVECmap .xed.active.BQ ,   div#CTVECmap .ied.active.BQ    { fill: #66becc; stroke: #007a8c; }
div#CTVECmap .xed.active.GRN,   div#CTVECmap .ied.active.GRN   { fill: #6bcc66; stroke: #078c00; }
div#CTVECmap .xed.active.LIB,   div#CTVECmap .ied.active.LIB   { fill: #e6748c; stroke: #ac0c2e; }
div#CTVECmap .xed.active.WRP,   div#CTVECmap .ied.active.WRP   { fill: #cd9adb; stroke: #cf5b99; }
div#CTVECmap .xed.active.NDP,   div#CTVECmap .ied.active.NDP   { fill: #e5a373; stroke: #b35817; }
div#CTVECmap .xed.active.NODATA,div#CTVECmap .ied.active.NODATA{ fill: #ececec; stroke: #bfbfbf; }
div#CTVECmap .xed.active.OTH,   div#CTVECmap .ied.active.OTH   { fill: #898989; stroke: #414141; }
div#CTVECmap .xed.active.PA,    div#CTVECmap .ied.active.PA    { fill: #c476e3; stroke: #6f1a9c; }
div#CTVECmap .xed.active.CON,   div#CTVECmap .ied.active.CON   { fill: #738ae5; stroke: #0024b3; }
div#CTVECmap .xed.active.PC,    div#CTVECmap .ied.active.PC    { fill: #738ae5; stroke: #0024b3; }
div#CTVECmap .xed.active.TIED,  div#CTVECmap .ied.active.TIED  { fill: #898989; stroke: #414141; }

/*== EDs that are part of an (internal/external) group ==*/

/*== (Internal/external) group outline ==*/
div#CTVECmap .xgp,
div#CTVECmap .igp {
  fill: #ececec;
  fill-opacity: 0;
  stroke: #c0c0c0;
  stroke-opacity: 0.8;
  stroke-width: 7px;
/*stroke-width: 4px; stroke-dasharray: 10,7; stroke-linecap: round; */
  }
div.phone div#CTVECmap .xgp,
div.phone div#CTVECmap .igp { stroke-width: 7px; }
div#CTVECmap div#CTVECmap_c_0 .xgp,
div#CTVECmap div#CTVECmap_c_0 .igp {
  stroke-width: 3px;
  }
div.phone div#CTVECmap div#CTVECmap_c_0 .xgp,
div.phone div#CTVECmap div#CTVECmap_c_0 .igp {
  stroke-width: 3px;
  }

/* group polygon over which the mouse is currently hovering */
div#CTVECmap .xgp.active,
div#CTVECmap .igp.active {
  fill: #fff9cb;
  stroke: #575757;
  fill-opacity: 0.8;
  stroke-opacity: 0.8;
  }

/* CP24 settings - reminder that they can be here*/
div#CTVECConfig.cp24 { } 

/* communicate responsive device to JavaScript */
div#CTVECdeviceIndicator { 
  height: 10px; /* indicate default device: desktop */
  position: absolute;
  top: 0;
  left: 0;
  z-index: -100;
  }
.hideall { display: none; } /* can be overridden by div.showphone */
/* menus to show only in phone/tablet mode */
div.phonemenu {
  width: 100%;
  }
div.phonemenu select {
  width: 100%;
  font-size: 18px;
  }
/* scroll indicators */
div.scrollIndicator {
  z-index: 50;
  color: white;
  background-color: black;
  text-align: center;
  opacity: 0.4;
  position: absolute;
  height: 32px;
}
div.at-top > div.scrollIndicator.top { display: none; }
div.at-bottom > div.scrollIndicator.bottom { display: none; }
div.scrollIndicator.top {
  top: 0px;
  background: black url(siup.png) no-repeat scroll center / 16px 9px ;
  }
div.scrollIndicator.bottom {
  bottom: 0px;
  background: black url(sidn.png) no-repeat scroll center / 16px 9px;
  }
div.bo div.scrollIndicator,
div.edl div.scrollIndicator {
  width: 100%;
  }
div.ti div.scrollIndicator.top {
  top: 80px;
  }
div.edl div.scrollIndicator.top {
  top: 80px;
  }
div.edl div.scrollIndicator.top.topnode {
  top: 50px;
  }
div.phone div.edl div.scrollIndicator { display: none; }

div#CTVECmap div.copyright {
  color: #404040;
  position: absolute;
  opacity: 0.5;
  left: 5px;
  bottom: 5px;
  font-size: 80%;
  }
/* custom drop down support */
div.dropdown div.dd, .dropdown div.dt, .dropdown ul {
  margin: 0;
  padding: 0;
  }
div.dropdown div.dd {
  position: relative;
  }
div.dropdown a, div.dropdown a:visited { 
  color: black;
  text-decoration: none;
  outline: none;
  }
div.dropdown a:hover { 
  color: black;
  }
div.dropdown div.dt a:hover { 
  color: black;
  }
div.dropdown div.dt a {
  background: white url(arrow.png) no-repeat scroll right center;
  display:block;
  /* padding-right:20px; Throws container width off */
  border-top:    1px solid white; /* to avoid jitter on hover */
  border-bottom: 1px solid #e1e1e1;
  width:100%;
  }
div.dropdown div.dt a span {
  cursor:pointer;
  }
div.dropdown div.dd ul { 
  background: white none repeat scroll 0 0;
  color: #a4a4a4;
  display:none;
  padding:5px 0px;
  /*
  left:0px;
  position:absolute;
  top:2px;
  */
  list-style:none; width: 100%;
  }
div.dropdown div.dt a span span,
div.dropdown span.value { display:none;}
div.dropdown div.dd ul li {
  }
div.dropdown div.dd ul li.selected a {
  font-weight: bold;
  }
div.dropdown div.dd ul li span.label {
  font-weight: bold;
  }
div.dropdown div.dt a span,
div.dropdown div.dd ul li span.label,
div.dropdown div.dd ul li a { 
  padding:16px 10px;
  line-height: 1.25em; 
  display:block;
  }
div.dropdown div.dd ul li a { 
  border-top: 1px solid white; /* avoid hover jitter */
  border-bottom: 1px solid white;
  }
div.dropdown div.dt a:hover,
div.dropdown div.dd ul li a:hover { 
  background-color:#e1e1e1;
  border-top: 1px solid black;
  border-bottom: 1px solid black;
  }
/* remove ugly triangle in Chrome text input datalist */
input::-webkit-calendar-picker-indicator {
  display: none;
  }
/* back arrow in edlist title */
div#CTVECedlist .vt.self img.back { 
  height: 16px;
  width: 9px;
  position: relative;
  top: 1px;
  padding-right: 0.5em;
  }



