/* /tools and /map/hubs */ 

#map1 {
  height: 600px;
  height: 79vh; /* Prevents lower-right icons from being offscreen with .headerbarheight height: 82.5px */
  width: 100%;
  position: relative;
}
.sidelistHolder {
  position: absolute;
  top: 35px;
  left: 64px;
  width: 335px;
  max-height: 85%;
  background-color: #666;
  color: #fff;
  z-index: 700;
  border-radius: 20px;
  padding: 30px 26px 12px 30px;
  background-color: rgba(33,33,33,0.8) !important;
}
@media (max-width: 1200px) {
  .sidelistHolder {
    position: initial;
    width: 100%;
    border-radius: 0px;
  }
}
.sidelistHeader {
  font-size: 24px;
  margin-bottom: 12px;
}
.sidelistText {
  font-size: 14px;
}
.sidelist a:link, .sidelist a:visited {
  color: #66CF79;
  text-decoration: none;
}
.sidelist a:link:hover, .sidelist a:visited:hover {
  text-decoration: underline;
}
.sidelist .detailTitle {
  font-weight: 800;
  overflow: auto;
  font-size: 16px;
  margin-top: -4px;
  padding-bottom: 4px;
}
.sidelist .detailLinks {
  display: none;
}
.sidelist .detail {
  border-radius: 10px;
  padding: 12px 10px 8px 15px;
  margin-bottom: 2px;
  position: relative;
  border-bottom: 1px solid #777;
  margin: 4px;
  background-color: #ddd;
}
.sidelist .detailTitle {
  line-height: 1.28em;
}
.sidelist .detail:hover {
  background-color: #eee;
}
.sidelistDark .detail {
  background-color: #666;
}
.sidelistDark .detail:hover {
  background-color: #333;
}
.sidelist .detailLocation {
  font-size:14px;
}
.always-show-scroll {
  overflow-y: scroll;
  overflow-x: hidden;
}
.always-show-scroll::-webkit-scrollbar {
  background-color: #666;
  border-left: 1px solid #777;
  border-radius: 10px;
  width: 16px;
}
/* Thumb (scrolling part) */
.always-show-scroll::-webkit-scrollbar-thumb {
  background-color: grey;
  border-radius: 8px;
  border: 1px solid #aaa;
  margin-top: 2px;
  margin-bottom: 2px;
}
.always-show-scroll::-webkit-scrollbar-thumb:vertical {
  height: 40px !important;
  width: 10px;
  margin: 4px;
}


.leaflet-touch .leaflet-bar {
   border:none;
   margin-left:30px;
}
.leaflet-touch .leaflet-bar a, .earthZoom .leaflet-bar a {
  display: block; /* Allows icons to be stacked */
  width:36px !important;
  height:36px !important;
  font-size: 26px !important;
  color: #fff !important;
  background-color: #555 !important;
  border: 0px !important;
  border-radius: 6px !important;
  margin-left: 4px;
  padding: 0 10px;
  text-decoration: none;
}
.leaflet-control-layers-overlays label div span, .leaflet-control-layers-selector {
  pointer-events: auto !important; /* Not working. Passthrough still occurs. Legends still closes with each click */
}
.leaflet-control-zoom-in {
  margin-bottom:6px;
  border:#bbb 2px solid !important;
  line-height: 34px !important;
}
.leaflet-control-zoom-out {
  border:#bbb 2px solid !important;
  line-height: 32px !important;
}
.leaflet-top > .info {
  background-color: rgba(33, 33, 33, 0.5);
  color: #fff;
  padding: 10px;
  text-align: center;
  min-width: 130px;
}
.leaflet-top > .info. b {
  color: #fff !important;
}
#legendHolder {
  position: absolute;
  background-color:rgba(33,33,33,0.5);
  background-color:rgba(255,255,255,0.85);
  color:#fff !important;
  bottom:0;
  right:0;
  font-size: 14px;
  z-index: 1000;
  z-index: 500; /* allows credits to cover bottom */
  overflow: scroll;
}
#allLegends div svg {
  overflow: visible;
  
}
.leaflet-control-container > div:first-child.leaflet-left { /* zoom control position */
  left: auto;
  right: 20px;
}
.leaflet-control-container > div:first-child.leaflet-top { /* zoom control position */
  top: auto;
  bottom: 20px;
  z-index: auto;
}
/* Layers */
/*
.leaflet-control-container > div:nth-child(2).leaflet-right {
  left: 10px;
}
.leaflet-control-container > div:nth-child(2).leaflet-top {
  bottom: 20px;
}
*/
.leaflet-control-container > div:nth-child(4) {
  display: none;
}

#map1 .leaflet-popup {
  /* bottom: 17px !important; */  /* Apply when map points used for "google" material icons */
  /* Need to move map down more when popup is near top.  Default is -7px. */
}

/* newer legend Dec 2024 */
.info.legend {
    background: white;
    padding: 10px;
    border-radius: 5px;
    box-shadow: 0 0 15px rgba(0, 0, 0, 0.2);
    font-size: 12px;
    line-height: 20px;
    color: #333;
    position: absolute;
    top: 80px;
    left: 12px;
    z-index: 1000;
}

.info.legend h4 {
    margin: 0 0 10px;
    font-size: 14px;
}

.info.legend i {
    width: 18px;
    height: 18px;
    float: left;
    margin-right: 8px;
    opacity: 0.7;
    border-radius: 2px;
}


#floatingButtons {
  display:none;
  height:40px;
  width:100%;
  position:fixed;
  bottom:0;
  background-color:#777;
  z-index:9999;
}
#flexwrapper {
  padding-topX: 40px;
}
#flexwrapper {
  display: flex;
  justify-content: space-between;
  position: relative;
}
#hublist {
  overflow: auto; /* For scroll. Allows Expand button to remain at bottom */
  width:48%;
}
#mapHolder {
  padding-left: 20px;
  width: 52%;
  min-width: 300px;
  z-index: 10; /* to exceed right column in external site */
  position: relative;
  float:right;
}
.detail {
  cursor: pointer
}
#detaillist .detail {
  position: relative;
  padding: 12px 10px 4px 10px;
  border: 1px solid #eee;
  border-bottom: 1px solid #eee;
  border-radius: 20px;
  cursor: pointer;
}
#detaillist .detail:hover {
  background-color: rgb(250, 250, 250, 0.3);
  border: 1px solid #fff;
  cursor:pointer;
}
#detaillist .detailActive {
  borderX: 1px solid rgb(204, 204, 204);
  background-color: rgb(250, 250, 250);
  paddingX: 12px;
}
#detaillist .detailActive:hover {
  background-color: rgb(250, 250, 250);
}
#detaillist .listThumb {
  margin-left: 15px;
}
.dark #detaillist .detail {
  border: 1px solid #444;
}
.dark #detaillist .detail:hover {
  background-color: rgb(99,99,99, 0.3);
  border: 1px solid #bbb;
}
.detailBullet {
  color:#fff;
  font-weight:800;
  display: flex;
  justify-content: center;
  align-items: center;
  border-radius: 4px;
  width:32px;
  height:32px;
  margin-right:10px;
  float:left;
}
#listcolumnList .detailActiveHold {
  background-color: #333;
  color: #eee;
}
#detaillist > div {
  margin-bottom:20px;
}
#detaillist .detailCurrent {
  paddingX: 0px;
}
#detaillist .detailCurrent:hover {
  background-color: none;
  cursor: auto;
}
#detaillist .detailTitle {
  font-size:20px;
  line-height: 32px;
  font-weight:400;
  color:#333;
}
.dark #detaillist .detailTitle {
  color:#eee;
}
.popMenu {
  border:1px solid #ccc;
  padding: 5px 0 5px 0;
  z-index: 10;
  background: #fff;
  position: absolute;
  top:0px;
  right:0px;
}
#listingMenu {
  color: rgb(51, 51, 51);
  margin-top: 10px;
}
#listingMenu > div {
  padding: 6px 30px 6px 30px;
}
#listingMenu > div:hover {
  background: #eee;
}
.showItemMenu {
  font-size: 22px;
  padding-top: 4px;
  line-height: 12px;
  text-align: center;
  cursor: pointer;
  background-color: rgb(210, 210, 210, 0.6);
  border-radius: 16px;
  width: 32px;
  height: 32px;
}
.dark .showItemMenu {
  background-color: rgb(99, 99, 99, 0.6);
}
.showItemMenu:hover {
  cursor: pointer;
}

.mapHolderBottom {
  position: absolute;
  bottom: 11px;
  width: 100%;
}
.mapHolderFixed {
  position: fixed;
  z-index: 1;
  top: 95px;
  bottom: auto;
  width: 100%;
}
.bodyLeftMarginList .mapHolderFixed, .bodyRightMargin .mapHolderFixed { /* prevent fixed position when narrow */
  position: static;
}
.bodyLeftMarginList .mapHolderBottom, .bodyRightMargin .mapHolderBottom { /* prevent fixed position when narrow */
  position: static;
}
/*
@media (min-width: 1400px) {
  .mapHolderFixed {
    min-width: 600px;
  }
}
@media (max-width: 1300px) {
  .mapHolderFixed {
    width: 450px;
  }
}
@media (max-width: 1200px) {
  .mapHolderFixed {
    width: 380px;
  }
}
*/

#sidemapbar {
  position: relative;
  color: #555;
  font-size: 16px;
  min-height: 32px;
  border-top-left-radius: 18px;
  border-top-right-radius: 18px;
  background-color: #fff;
}
#sidemapMessage {
  padding: 10px;
  font-size: 12px;
}

@media (max-width: 800px) {

  .padding {
    padding: 20px;
  }
  #flexwrapper {
    display: block;
    box-sizing: border-box;
  }
  #hublist {
    width:auto;
  }
  .padding-left {
    padding-left: 30px;
  }
  #mapHolder {
    float: none;
    width: auto;
    margin-top: 70px;
    margin-bottom: 30px;
    padding: 0px;
  }
  #mapHolderInner {
    position: relative;
    width: auto;
  }
  .mapHolderCard {
    heightX:400px;
    margin-right: 30px;
    borderX: 0px solid #fff;
  }

  #hublist {
    margin-left: auto;
    margin-right: auto;
  }

  #floatingButtons {
    display:block;
  }
}
@media (max-width: 500px) {
  h1 {
    font-size: 30px; 
    font-weight: 400;
  }
}
.mobileView #hublist {
  overflow: inherit;
}
.mobileView #flexwrapper {
  display: block;
}
.mobileView #mapHolder {
  min-width: 100%;
}
.sidemapCard {
  displayX: none; /* Also reactivate in dual-map. */
}
#map2 {
  height: 500px;
  width: 100%;
  margin-bottom: 20px;
  border-bottom-left-radius: 18px;
  border-bottom-right-radius: 18px;
}
#industriesX {
  display: none !important;
}

#disclaimerText {
  /* To do: Apply height using Javascript when sidemap displayed. */;
  overflow: scroll;
}
#hublist {
  padding-right: 20px;
}
#hublist, #tableSide {
  max-height: 500px; /* For button */
}
.hublistWide {
  width: 100% !important;
}
.hublistFull {
  max-height: none !important;
}
#tableSide {
  overflow: auto;
}
#hublist-paddingX {
  padding-right: 20px;
  margin-right: 20px !important;
}

.editButton {
  border: 1px solid #ccc;
  border-radius: 7px;
  padding-left: 10px;
  padding-right: 10px;
}
.editButton:hover {
  background-color: #efefef;
}

.showMobile { /* For delayed css load */
  displayX:none;
}
label { /* override Drupal */
    font-size: inherit;
    display: inline;
    color: inherit;
    font-family: inherit;
    cursor: pointer;
    font-weight: 400;
    margin: 0;
    vertical-align: top;
}
#allLegends {
  color:#fff !important; 
}
#allLegends > .label {
  color:#fff !important; 
}
.topboxes {
  border:1px solid #eee;
  padding:10px;
  padding-left:15px;
  margin-bottom: 18px;
  overflow: auto;
  background: #fff;
}

#detaillist {
  overflow-wrap: break-word;
}

.legendLink {
    float:left;
}
.legendLinkRect {
  width:15px;
  height:15px;
  margin-right:5px;
  margin-top:3px;
  float:left;
}
#listcolumn {
  display: flex; /* For column footer #listInfo. Displays flex-items (children) inline */
  flex-direction: column; /* Stacks children vertically: listHeader, listmain, listInfo */
  box-shadow: 4px 2px 8px 1px rgba(0, 0, 0, 0.4);
  z-index: 999;
  min-width: 250px;
}
.dark #listcolumn, .dark #listcolumn .listTitle {
  color: #555;
}
.listHeader {
  padding: 10px;
  background-color: #bbb;
}
.listTitleStyle {
  font-size: 20px;
  margin:0px;
  margin-bottom: 10px;
  border-bottom:0px;
}
#listmain {
  flex: 1; /* takes the remaining height of the "#listcolumn" div */

  overflow-y:scroll;
  -webkit-overflow-scrolling: touch;
  -ms-overflow-style: none;  /* IE and Edge */
  scrollbar-width: none;  /* Firefox */
}
#listInfo {
  flex-shrink: 0;
  padding: 12px 20px 12px 26px;
  background-color: #c3c3c3;
  line-height: 1.3em;
  width: 100%;
  font-size: 15px;
}
@media (max-width: 800px) {
  .legendLink {
    float:auto;
  }
  .listTitleStyle {
    font-size: 26px;
    line-height: 31px;
  }
}
#mapInfo {
  padding-bottom: 20px;
  background-color: #dcdcdc;
  width: 100%;
  max-width: 100%;
}
.dark #mapInfo {
  background-color: #333;
}
.outcomesbox span {
  float:right;
  padding-rightX:20px;
  font-weight: bold; /* the number 50 */
}
.outcomesbox div {
  width: 100%;
  border-top: 1px solid #fff;
}
.outcomesbox div div {
  white-space: nowrap;
}

.sideWidget {
  max-width: 400px;
  margin-left:20px;
  margin-right:20px;
}
.leftWidget {
  float:left;
  max-widthX:420px;
  max-widthX:500px;

  width:100%;
  max-width:2000px;

  margin-right:30px;
}

#catListClone div {
  font-size: 18px;
  line-height: 26px;
  border-bottom: 1px solid #ccc;
}
#catListClone div div {
  float:left;
  width:33.33%;
  overflow: hidden;
  border-right: 1px solid #ccc;
}
@media (max-width: 800px) {
  #catListClone div div {
    width:50%;
  }
}
@media (max-width: 500px) {
  #catListClone div div {
    width:100%;
  }
}

/* Delete, unable to override with show() in naics.js */
#industriesX {
    float:right;
    display:none;
    padding-left:20px;
    padding-bottom:0px;
    max-width:520px;
}

#industries {
  font-size: 15px;
  line-height: 1.55;
}

@media (max-width: 800px) {
  .leftWidget {
    width:100%;
    float: none;
    margin-right:0px;
  }
  .hideCatsMobile {
    display:none;
  }

  #industries {
    float:none;
  }
}
.showCats {
  display:block;
}
@media (max-width: 800px) {
  .showCats {
    width:100%;
    max-width: 100%;
  }
}
.column50 {
  width:250px;
  width:100%;
  float:left;
}
.column50mid {
  width:25px;
  float:left;
}
@media (max-width: 800px) {
  .column50 {
    max-width:400px;
    width:100%;
    float:none;
  }
  .column50mid {
    display: none;
  }
}
.widgetbar {
  height:24px;
  max-height:24px;
  line-height: 18px;
  font-size: 13px;
  
  padding: 6px 0 0 10px;
}
.boxborder {
  border:1px solid #ddd;
  padding:10px;
  padding-left:16px;
  font-size: 14px;
}
.plus-minus {
  width:60px;
  opacity: .4;
}
.plus-minus:hover {
  opacity: 1;
}
#tableSide {
  float:left;
  displayX:none;
}

.activeMarker {
  borderX: 2px solid blue;
  width: 48px !important;
    height: 64px !important;
    margin-top: -60px !important;
    margin-left: -24px !important;
    z-index: 1000 !important;
    opacity: 1 !important;
}
.activeMarker g { /* icon above circle */
  opacity: 1 !important;
  transform: scale(1.5) !important;
}
.activeMarker circle {
  opacity: 1 !important;
  transform: scale(1.5) !important;
}
.activeMarker path { /* pointer behind circle */
  opacity: 1 !important;
  display: block !important;
  transform: scale(1.5) !important;
  stroke-width: 2px;
}
