.modal-dialog {
  max-width: 700px;
}
th.sticky {
  position: sticky;
  top: -1px;
  background-color: #c1c1c1;
  z-index: 4;
}
#config_table {
  position: relative;
}
#data-source-modal {
  display: none;
  position: fixed;
  left: 0;
  top: 0;
  width: 100%;
  height: 100%;
  overflow: auto;
  background-color: rgb(0,0,0);
  background-color: rgba(0,0,0,0.6);
}
#data-source-modal-content {
  background-color: #fefefe;
  margin: auto;
  margin-top: 150px;
  padding: 20px;
  border: 1px solid #888;
  width: 1000px;
}
#splitter {
  height: 15px;
  cursor: row-resize;
  background-color: #137ac2;
}
#splitter_btn {
  line-height: 5px;
  cursor: pointer;
  background-color: #005592;
  color: white;
  font-size: 0.85em;
  font-weight: bold;
  padding-top: 1px;
  padding-left: 10px;
  padding-right: 10px;
}
.viz-spinner {
  height: 100px;
  width: 100px;
  font-size: 40px;
  color: "white";
  margin-top: 40px;
  margin-left: -75px;
  position: fixed;
  left: 50%;
  z-index: 1000;
}
#build-error {
  text-align: center;
  width: 100%;
  font-size: 20px;
  color: red;
  margin-top: 40px;
  position: absolute;
  z-index: 1000;
}

.debug {
  border: 2px solid blue;
}
#tech_parameters input {
  min-width: 140px;
  padding: 0;
  padding-right: 6px;
}
.select2-search__field {
    margin: auto;
    width: 50% !important;
    background-color: #fff9ce;
    text-align: center;
}
.select2-search {
    text-align: center;
}
.select2-container .select2-selection--single .select2-selection__rendered {
    padding-left: 8px;
    padding-right: 8px;
}

#overlay-back {
    position   : fixed;
    top        : 0;
    left       : 0;
    width      : 100%;
    height     : 100%;
    background : #000;
    opacity    : 0.7;
    filter     : alpha(opacity=70);
    z-index    : 5;
    display    : none;
}
input.nav-dropdown {
  background-color: #fff9ce !important;
}

#map {
  padding: 0px;
}

.mapboxgl-popup-content {
  padding: 5px 10px;
  box-shadow: 0 1px 3px rgba(0, 0, 0, 1);
}
.mapboxgl-ctrl-pitchtoggle-3d {
  background-image: url(data:image/svg+xml;base64,PHN2ZyB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHdpZHRoPSIzMCIgaGVpZ2h0PSIzMCI+ICAgIDx0ZXh0IHg9IjUwJSIgeT0iNTAlIiBkeT0iLjM1ZW0iIHN0eWxlPSJmb250LXNpemU6IDE0cHg7IGZvbnQtZmFtaWx5OiAnSGVsdmV0aWNhIE5ldWUnLEFyaWFsLEhlbHZldGljYSxzYW5zLXNlcmlmOyBmb250LXdlaWdodDogYm9sZDsgdGV4dC1hbmNob3I6IG1pZGRsZTsiPjNEPC90ZXh0Pjwvc3ZnPg==);
}
.mapboxgl-ctrl-pitchtoggle-2d {
  background-image: url(data:image/svg+xml;base64,PHN2ZyB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHdpZHRoPSIzMCIgaGVpZ2h0PSIzMCI+ICAgIDx0ZXh0IHg9IjUwJSIgeT0iNTAlIiBkeT0iLjM1ZW0iIHN0eWxlPSJmb250LXNpemU6IDE0cHg7IGZvbnQtZmFtaWx5OiAnSGVsdmV0aWNhIE5ldWUnLEFyaWFsLEhlbHZldGljYSxzYW5zLXNlcmlmOyBmb250LXdlaWdodDogYm9sZDsgdGV4dC1hbmNob3I6IG1pZGRsZTsiPjJEPC90ZXh0Pjwvc3ZnPg==);
}
#map-legend-container {
  position: absolute;
  pointer-events: none;
  margin-top: 5px;
  margin-left: 5px;
}
#map-legend {
  display: inline-block;
  font-family: sans-serif;
  padding: 5px;
  border: 2px solid black;
  font-size: 12px;
  color: #222;
  background-color: #fff;
  border-radius: 4px;
}
.marker {
    cursor: pointer;
    border-radius: 50%;
    width: 18px;
    height: 18px;
    background-color: #00f;
    border: 4px solid #000;
}
.marker.dark {
    background-color: #33f;
    border: 4px solid #fff;
}

.marker.selected {
    width: 25px;
    height: 25px;
    background-color: #00f;
    box-shadow: 0px 0px 0px 6px #7777ffee;
}
.marker.selected.dark {
    background-color: #00f;
    box-shadow: 0px 0px 0px 6px #7777ffee;
}

.marker.unselected {
    background-color: #00f;
    border: 2px solid #000;
}
.marker.unselected.dark {
    background-color: #33f;
    border: 2px solid #fff;
}

.marker.reference {
    width: 15px;
    height: 15px;
    border: 5px solid #000;
}
.marker.reference.dark {
    width: 15px;
    height: 15px;
    border: 5px solid #fff;
}

input:focus::placeholder{
       color:transparent;
  }

.select2-results__options {
  overflow-x: hidden;
}

/* select2 dropdown arrow styling */
.select2-selection__arrow b {
  transform: scale(3);
  top: 20px !important;
  left: -30px !important;
  border-top-color: #333 !important;
  border-bottom-color: #333 !important;
}
b {
  margin-top: 6px !important;
}
.text-overflow_ellipsis {
  white-space: nowrap;
  overflow: hidden;
  text-overflow: ellipsis;
}

.alerts-container {
  position: fixed;
  width: 100%;
  left: 0;
  top: 0;
  height: 0;
  z-index: 1000000;
}

.alert {
  margin: 0;
}


/* Base */

body {
  min-width: 960px;
  width: auto !important;  /* Firefox will set width as auto */
}

#header {
  z-index: 1003;
  position: sticky;
  top:0;
  width:100%;
	font-size: 12px;
	background-color: #f1f9ff;
	white-space: nowrap;
  box-shadow: 0px 0px 6px 3px;
}
#header .btn.active {
	font-weight: bold;
	text-shadow: 2px 2px 1px black;
}
.app_logo {
	float: left;
	padding-left: 10px;
	padding-right: 10px;
	font-size: 25px;
	font-weight: bold;
	background-color: black;
	color: transparent;
	cursor: pointer;
	text-shadow: 1px 1px 5px rgba(255,255,255,0.5);
	-webkit-background-clip: text;
	 -moz-background-clip: text;
	      background-clip: text;
}
#subheader {
  z-index: 1002;
  position: sticky;
  top:60px;
  width:100%;
  white-space: nowrap;
}
#subheader2 {
  z-index: 1001;
  position: sticky;
  top:85px;
  white-space: nowrap;
}
.config-navigation {
	position: relative;
  margin-bottom: -15px
}
.fa-stack {
  z-index: 450;
}
.fa-circle {
  -webkit-text-stroke: 2px black;
}
.config-navigation:before {
  position: absolute;
  left: 0;
  top: 50%;
  height: 3px;
  background: black;
  content: "";
  width: 100%;
  display: block;
}

.tab {
  background-color: white;
  border: solid 1px grey;
  margin-bottom: -18px;
  margin-top: -24px;
  padding-top: 10px;
  height: 50px;
}
.tab-active {
  background-color: #c4d7ea;
  box-shadow: 0px 0px 7px 1px;
}

select {
  height: 1.8em !important;
  line-height: 1em !important;
  padding: 0 !important;
}

button.multiselect.dropdown-toggle {
    border-radius: 5px;
    border: 1px solid #ced4da;
}

.multiselect-container.dropdown-menu.show { 
    overflow-y: scroll;
    max-height: 250px;
    min-width: 525px;
}

.nav-dropdown, .select2, .select2-selection {
	background-color: #ccd0d6 !important;
  font-size: 1.2em;
  height: 55px;
  padding: 3px;
  padding-top: 10px;
  width: 100%;
  cursor: pointer;
  font-weight: bold;
  border: none !important;
}
.select2-container--default .select2-results>.select2-results__options {
    max-height: 600px !important;
}

.content_navigation {
	border-bottom: solid 3px;
	white-space: nowrap;
  background-color: #dedede;
}

/* General */

.master-btn {
  width:100%;
  height:100%;
}
.blink_me {
  animation: blinker 1s linear infinite;
}
.blink_me:hover {
  animation: none;
}
@keyframes blinker {  
  50% { opacity: 0; }
}
.transparent {
	background-color: transparent;
}
.centered {
	text-align: center;
}
.text-sm {
	font-size: 0.8em;
}
.hide {
	display: none
}
input::-webkit-calendar-picker-indicator {
  background-color: inherit;
  }
textarea {
	width: 100%;
}
.tooltip { pointer-events: none; }


.error {
	color: red;
}

.no-pad {
  padding:0;
}

/* Tables */
#tech_parameters {
    overflow-x: scroll;
}
#param_table {
    margin-bottom: 0px;
}
.tbl-header {
	font-size: 24px;
	background-color: #c1c1c1;
	cursor: pointer;
}
.activity-header {
  background-color: #d8d8d8;
  cursor: pointer;
  font-size: 0.8em;
}
.tbl-header th {
	height: 40px;
}
.table-info, .table-info>td, .table-info>th {
  background-color: #cee5e8;
}
 .timeseries_viz {
 	max-height: 280px;
 }
 #timeseries-container, #timeseries-content, #file_container {
  max-height: calc(100% - 75px);
  overflow-y: scroll;
 }

.form-control {
	height: 25px;
	text-align: right;
}
table .btn {
	padding: 0;
	padding-left: 10px;
	padding-right: 10px;
}

.fa-star {
	color: silver;
	cursor: pointer;
}
.fa-star.favorite {
	color: gold;
	text-shadow: 0px 0px 2px black;
}

.error-message {
	color: red;
}
.invalid-value {
  color: red !important;
  background-color: pink !important;
}
.model-remove, .parameter-reset, .parameter-delete, .parameter-value-delete, .file-delete, .timeseries-delete {
	color: #d20000;
	text-shadow: 0px 0px 0px black;
}
.parameter-value-add, .model_loc_tech-add, .run-parameter-value-add, .carrier-value-add {
	color: #00cc09;
	text-shadow: 0px 0px 0px black;
}
.parameter-value-remove, .run-parameter-value-remove {
	color: #d20000;
	text-shadow: 0px 0px 0px black;
}
.param_row_toggle {
	cursor: pointer;
}

.param_row td {
   	border: 0;
    padding-top: 0;
    padding-bottom: 0;
}
.param_row_min * {
    display: none; 
}
.add_param_row_min * {
    display: none; 
}

.fa-exclamation-triangle {
	color: red;
}

.tooltip-inner {
    max-width: 600px;
}

#file_list .file-row {
  cursor: pointer;
}
#timeseries_list .timeseries-row {
  cursor: pointer;
}



/* The switch - the box around the slider */
.switch {
  position: relative;
  display: inline-block;
  width: 34px;
  height: 20px;
}

/* Hide default HTML checkbox */
.switch input {
  opacity: 0;
  width: 0;
  height: 0;
}

/* The slider */
.slider {
  position: absolute;
  cursor: pointer;
  top: 0;
  left: 0;
  right: 0;
  bottom: 0;
  background-color: #b32424;
  -webkit-transition: .4s;
  transition: .4s;
}

.slider:before {
  position: absolute;
  content: "";
  height: 13px;
  width: 13px;
  left: 4px;
  bottom: 4px;
  background-color: white;
  -webkit-transition: .4s;
  transition: .4s;
}

input:checked + .slider {
  background-color: #0a9e02;
}

input:focus + .slider {
  box-shadow: 0 0 1px #0a9e02;
}

input:checked + .slider:before {
  -webkit-transform: translateX(13px);
  -ms-transform: translateX(13px);
  transform: translateX(13px);
}

/* Rounded sliders */
.slider.round {
  border-radius: 10px;
}

.slider.round:before {
  border-radius: 50%;
}


.selection_tile {
  background-color: #f1f8ff;
  border: solid silver 1px;
  padding: 5px;
}
.selection_tile:hover {
  background-color: #e2e2e2;
  cursor: pointer;
}
.selection_tile.active {
  background-color: #b8daff;
}

.loc_tech_row {
  cursor: pointer;
}

#container {
  /*height: 70vh !important;*/
}

.loader-container {
  position: absolute;
  top: 0;
  left: 0;
  right: 0;
  bottom: 0;
  background: rgba(255, 255, 255, 0.5);
  z-index: 1000;
}

.loader {
 border: 16px solid rgba(255, 255, 255, 0.5);
 border-top: 16px solid rgba(0, 128, 255, 1); /* Blue */
 border-radius: 50%;
 z-index: 1001;
 margin: auto;
 margin-top: 80px; /* hack to "center" vertically */
 width: 120px;
 height: 120px;
 animation: spin 2s linear infinite;
}

.autocomplete-items {
  text-align: left;
  max-height: 175px;
  overflow-y: scroll;
  position: absolute;
  z-index: 5000;
  top: 100%;
  left: 0;
  border: solid 1px black;
  font-size: 0.9em;
}
.autocomplete-items div {
  padding: 4px;
  cursor: pointer;
  background-color: #ffffffeb;
  border-bottom: 1px solid #d4d4d4;
  border-left: solid 4px;
}
.autocomplete-items div:hover {
  background-color: #e9e9e9;
}
.autocomplete-active {
  background-color: DodgerBlue !important;
  color: #ffffff;
}

@keyframes spin {
  0% { transform: rotate(0deg); }
  100% { transform: rotate(360deg); }
}

#top, #bottom_left, #bottom_right {
  height: auto !important;
}
#top {
  margin-bottom: -40px;
}
#container {
  width: 98vw !important;
}

.noselect {
  -webkit-touch-callout: none; /* iOS Safari */
    -webkit-user-select: none; /* Safari */
     -khtml-user-select: none; /* Konqueror HTML */
       -moz-user-select: none; /* Firefox */
        -ms-user-select: none; /* Internet Explorer/Edge */
            user-select: none; /* Non-prefixed version, currently
                                  supported by Chrome and Opera */
}

#run_carrier, #run_location, #run_month {
    background-color: black;
    color: white;
    padding: 5px !important;
    height: 40px !important;
}

.dropdown-check-list {
  display: inline-block;
}

.dropdown-check-list .anchor {
  position: relative;
  width: 300px;
  height: 25px;
  top: -6px;
}

.dropdown-check-list .anchor:after {
  position: absolute;
  content: "";
  border-left: 2px solid black;
  border-top: 2px solid black;
  padding: 5px;
  right: 10px;
  -moz-transform: rotate(-135deg);
  -ms-transform: rotate(-135deg);
  -o-transform: rotate(-135deg);
  -webkit-transform: rotate(-135deg);
  transform: rotate(-135deg);
}

/* custom dropdown css */
.dropdown-check-list .anchor:active:after {
  right: 8px;
  top: 21%;
}

.dropdown-check-list ul.items {
  padding: 2px;
  display: none;
  margin: 0;
  border: 1px solid black;
  border-radius: 4px;
  border-top: none;
  position: absolute;
  background-color: white;
  min-width: 85px;
}

.dropdown-check-list ul.items li {
  margin: 2px 5px 2px 0px;
  list-style: none;
}

.dropdown-check-list .checkbox {
    margin-left: 1px;
}

.dropdown-check-list.visible .anchor {
  margin-bottom: 1px;
}

.dropdown-check-list.visible .items {
  display: block;
  
}
/* end custom dropdown css */