/*General styling*/

body{
  font-family: Geist;
  color: #333333;
  font-size: 16px;
  display: flex;
  flex-direction: column;
}

.app-container {
  margin: 45px;
  flex: 1 0 auto;
}

/*a, a:hover, a:active, a:visited, a:focus{
  color: #FF8701;
}*/

.text {
  font: normal normal bold 16px/20px Geist;
}

.modal-p-mt {
  margin-top: 20px !important;
}

.error {
  margin-top: 5px;
  color: #E74C3C;
  width: 100% !important;
  max-width: 100% !important;
  font: normal normal 14px/18px Geist;
}

.border-bottom-white-bold {
  border-bottom: 3px solid #FFFFFF;    
  padding-bottom: 10px !important;
}

.border-bottom-white {
  padding-top: 5px !important;
  border-bottom: 1px solid #FFFFFF;
  height: 45px;
}

.border-tb-white-bold {
  border-bottom: 3px solid #FFFFFF;    
  padding-bottom: 10px !important;
  padding-top: 10px !important;
  border-top: 2px solid #FFFFFF;
}

input::-webkit-input-placeholder,  textarea::-webkit-input-placeholder{
  font-style: italic;
}

input[type=number] {
  -moz-appearance:textfield;
}
input[type=number]::{
  -moz-appearance:textfield;
}

input[type=number]::-webkit-outer-spin-button,
input[type=number]::-webkit-inner-spin-button {
  -webkit-appearance: none;
  margin: 0;
}

.selectize-input {
  border-radius: unset !important;
  border: 1px solid #333333 !important;
}

.mr-15 {
  margin-right: 15px;
}

.mt-15 {
  margin-top: 15px !important;
}

.mt-30 {
  margin-top: 30px !important;
}

.mb-15 {
  margin-bottom: 15px;
}

.mb-56 {
  margin-bottom: 56px !important;  
}

.info-button{
  cursor:pointer;
}

.error-icon {
  height: 15px;
  margin-left: 5px;
  margin-bottom: 5px;
}

.btn-default {
  font-weight: bold;
}

.row {
  margin: 0;
  padding: 0;
}

.row >* {
  padding: 0;
}

.row-sub {
  width: 60%;
}

.input-type {
  margin-top: 30px;
  border-top: 3px solid #FF8701;
  height: 30px;
}

.form-control {
  border-radius: 0;
  text-align: right;
}

.title{
  font-weight: bold;
  font-size: 60px;
  color: #0A133A;
}

.heading {
  text-align: left;
  font: normal normal bold 30px/38px Geist;
  letter-spacing: 0px;
  color: #FFFFFF;
}

.input-icon {
  background: white;
  border-radius: 50%;
  height: 21px;
  width: 21px;
}

.tab-title{
  display: flex;
  align-items: center;
  margin-bottom: 10px;
   margin-top: 30px;
}

.tab-title img{
  height: 20px;
  padding-left: 10px;
}

.tab-title h2{
  color: #0A133A;
  font-weight: bold;
  margin: 0;
}

.tab-desc{
  width: 55%;
}

.main-panel{
  padding:20px 0;
  margin-top: 30px;
  margin-bottom: 40px;
}

.main-panel.dark{
  padding:20px;
  background-color: #1C1F2D;
  color: white;
}

#btn-loader, #btn-loader-adjacent{
  margin-right: 10px;
}

.nav-tabs>li>a, .nav-tabs>li>a:hover{
 color: #1C1F2D;
 border-radius: 0;
 margin: 0;
 background-color: white;
 font-size: 30px !important;
 border: none;
 white-space: nowrap;
}

.main-panel.dark  .nav-tabs>li>a, .main-panel.dark .nav-tabs>li>a:hover{
  background-color: #1C1F2D;
  color:  #FF8701;
}

 .nav-tabs>li:not(.active)>a{
  padding-top: 5px;
  padding-left: 0;
}

.nav-tabs>li.active>a,  .nav-tabs>li.active>a:focus,  .nav-tabs>li.active>a:hover {
  color:  #1C1F2D;
  font-weight: bold;
  background-color: white;
  border: none;
  border-top: solid 5px #FF8701;
}

.nav-tabs {
  border:none !important;
  display: flex;
  padding: 0;
}

.nav-tabs>li {
  border-top:1px #1C1F2D solid;
  text-decoration: none;
}

.main-panel.dark .nav-tabs>li {
  border-top:1px white solid;
}

.main-panel.dark  .nav-tabs>li>a, 
.main-panel.dark .nav-tabs>li>a:hover{
  background-color: #1C1F2D;
  color:  #FF8701;
}

.main-panel.dark .nav-tabs>li.active>a, 
.main-panel .dark.nav-tabs>li.active>a:focus, 
.main-panel.dark .nav-tabs>li.active>a:hover {
  color:  white;
  background-color: #1C1F2D;
}

.nav-tabs .nav-link, .nav-tabs>li>a, .nav-tabs .nav-pills>li>a, .nav-tabs ul.nav.navbar-nav>li>a {
  margin-bottom: 0px;
  background: none;
  border: none;
  border-radius: unset
}

.nav-tabs .nav-link.active, .nav-tabs>li>a.active {
  border: none;
  border-radius: unset;
  border-top: solid 3px #FF8701;
  text-align: left;
  font: normal normal bold 30px/38px Geist;
  color: #0A133A;
  background-color: white;
  white-space: nowrap;
  margin: 0;
}

li.nav-item:nth-child(2){
  padding-left: 30px;
}

.main-panel h3, .legend-panel h3{
  font-size: 20px;
  font-weight: bold;
  margin-top: 5px;
  margin-bottom: 25px;
}

.btn-default.orange-btn{
  border:none;
  font: normal normal bold 16px/20px Geist;
  border-radius: 0;
  padding:10px;
}

.btn-default.orange-btn:not(.disabled){
  background-color: #FF8701;
  color:white;
}

/* Source Area */

.select-input {
  margin-top:15px
}

div.select-input > div > div {
  display: flex;
  width: auto !important;
}

div.select-input >div > div> div {
  width: 30%;
}

div.select-input > div label {
  font: normal normal bold 16px/20px Geist;
  line-height: 35px;
  width: 25%;
}

@media only screen and (max-width: 1265px) {
  div.select-input >div > div> div {
    width: 40%;
  }
 div.select-input > div label {
    width: 35%;
  }
}


@media (max-width: 1300px) {
  input[id^=source_area-text_] {
    width: 50% !important;
  }
}

.text-line-ht {
  text-align: left;
  font: normal normal normal 16px/35px Geist;
  letter-spacing: 0px;
  white-space: nowrap;
}

div.text-input-mr > div{
  margin :0 !important;
  max-width: 30% !important;
  width: unset;
}

.map-box {
  display: flex;
  flex-direction: column;
  background-color: #FFFFFF;
}

#source_area-sourceMap {
  background-color: #FFFFFF;
}

.map-Label {
  height: 5px;
  width: 50%;
  margin-top: 15px;
  align-self: center;
  background-image: linear-gradient(to right, #FFEC81 , #FF4F01)
}

.map-legend {
  font-size: 12px;
  color: black;
  width: 52%;
  align-self: center;
}

.leaflet-tooltip-pane {
  text-align: center;
}

.leaflet-control-container {
  display: none !important;
}


/* Lineage Distribution */

div.width-8 > div.form-group {
  max-width: 45% !important;
}

.align-end {
  align-self: end;
}

.width-8 {
  width: 8%;
  margin-right: 2%;
}

.width-6 {
  width: 6%
}

.ld-total {
  width:20%;
  text-align: center;
}

#lineage_distribution-addedLineage {
  border: 1px solid black !important;
}

/* Vaccine Covergae */

.mt-90 {
  margin-top: 90px !important;
}

.width-8 {
  width: 8% !important;
}

.pos-bottom {
  position: absolute;
  bottom: 4px;
}

.lineage-div {
  text-align: left;
  height: 70px;
  position: relative;
}

@media (min-width: 2560px) {
    .lineage-div {
      height: 50px;
  }
}

.lineage-name {
  transform: matrix(0, -1, 1, 0, 0, 0);
  font: normal normal normal 16px/20px Geist;
  width: 5.555%;
  white-space: nowrap;
  align-self: center;
}

.vaccine-input-div {
  background: #333642;
  height: 90%;
}

.SeroVaccNoCoverage {
  background-color: #DDDDDD ;
  width: 100%;
  height: 100%;
}

.input-default {
  width:30%;
  height:100%;
}

.ldInput {
  width: 50%;
  margin-top: 2px;
  height: 75%;
}

.vaccineInput {
  width: 90%;
  height: 90%;
  margin-top: 1px;
}

@media only screen and (max-width: 1300px) {
  .ldInput {
     width: 100%;
  }
  .vaccineInput {
     width: 100%;
  }
}
/* Customize Include Popup */

.sort-input {
  margin-top: 15px;
}

div.sort-input > div > div {
    display: flex;
    width: auto !important;
}

div.sort-input > div label {
  margin-right: 15px;
  font: normal normal bold 16px/20px Geist;
  width: 15%;
  line-height: 35px;
}

div.sort-input >div > div> div {
    width: 50%;
}

.save-icon {
  margin-right: 5px;
  height: 20px;
}

.exclude-icon {
  margin-left: 15px;
  height: 15px;
}

.include-icon {
  margin-right: 15px;
  height: 15px; 
}

.btn-default.cancel-btn {
  padding-right: 10px;
  background: #C4C7D0 0% 0% no-repeat padding-box;
  width: 90px;
  height: 60px;
  border-radius: unset;
}

.btn-default.save-btn {
  padding-right: 10px;
  background: #0A133A 0% 0% no-repeat padding-box;
  width: 90px;
  height: 60px;
  color: #FFFFFF;
  border-radius: unset;
}

.filter-btn {
  width: 90%;
  margin: 5px;
}

.btn-default.filter-btn-all {
  background-color: white;
  border: 1px solid #FF8701;
  color: #FF8701;
  border-radius: unset;
  font: normal normal bold 16px/20px Geist;
}

.filter-container-heading {
  font: normal normal bold 20px/25px Geist;
  letter-spacing: 0px;
  color: #333333;
}

.filter-container {
  border: 1px solid #333333;
  min-height: 400px;
  overflow-y: auto;
  margin-top: 15px;
}

.control-group {
    margin: 90px 0;
}

/* Main Conatiner */

.result-container-title {
  font: normal normal bold 30px/38px Geist;
  color: #0A133A;
}

.result-container-text {
  font: normal normal normal 16px/20px Geist;
  color: #333333;
  width: 60%;
  margin-top: 15px;
}

#resultContainer-tabs:before{
  /*content: 'Results:';*/
  display: flex;
  padding-top: 6px;
  font: normal normal normal 30px/38px Geist;
  color: #333333;
  margin-right: 15px;
}

.result-container {
  margin-top: 45px;
}

.serotype-legend {
  height: 39px;
}

.lineage-legend {
  margin-top: 30px;
}

.key-legend {
  margin-top: 45px;
}

.keyCircle {
  display: inline-block;
  vertical-align: middle;
  margin: 0 5px 0 0;
  background-color: red;
  border-color: white;
  border-radius: 50%;
  border-width: 5px;
  height: 15px;
  width: 15px;
}

.result-legend {
  font: normal normal bold 20px/25px Geist;
  letter-spacing: 0px;
  color: #333333;
}

.resultTable-conatiner {
  margin-top: 60px;
}

.resultTable-heading {
  font: normal normal bold 20px/25px Geist;
  color: #333333;
  text-transform: uppercase;
}

.resultTable {
  margin-top: 30px;
}

.lineage-span {
  position:relative;
}

.lineage-span:hover .hover-text{
  display: block;
  width: 185px;
  min-width: 200px;
}

.hover-text {
  position: absolute;
  display: none;
  background: white;
  height: 90px;
  left: calc(100% -5px);
  border: 1px solid #333333;
  z-index: 999;
  padding: 10px;
}

.smaller-txt {
  margin: 0;
  height: 15px;
  font-size: smaller;
}

sup {
  font-size: .6em !important;
}

.vaccine-row-txt {
  font: normal normal normal 14px/20px Geist;
  color: #333333;
  padding: 10px 0;
}

@media only screen and (max-width: 1130px) {
  .vaccine-row-txt {
    font: normal normal normal 12px/18px Geist;
  }
}

.vaccine-hd {
  font: normal normal bold 16px/18px Geist;
  color: #333333;
}

.vaccine-txt {
  border-right: 1px solid #707070;
  width:14%;
  padding-right: 5px;
}

.vaccine-txt-2 {
  padding-left:7px;
  width:6%;
}

.vaccine-coverage-div{
  width:80%;
}

.serotype-border {
  border-right: 1px solid #707070;
}

.lineage-border {
  border-right: 1px dashed #707070;
}

.orangeBorder-bold {
  border-bottom: 3px solid #FF8701; 
}

.orangeBorder {
  border-bottom: 1px solid #FF8701;
  line-height: 39px;
}

/*Loading -----------------*/
.spinner-icon {
  display: none;
}

.loader {
  border: solid 5px transparent;
  border-top-color: white;
  border-left-color: white;
  border-bottom-color: white;
  border-radius: 50%;
  width: 31px;
  height: 31px;
  animation: spin 700ms linear infinite;
  display: none;
}

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

.loader-adjacent {
  display: flex;
  font-size: 31px;
}

.loading-result {
  position: sticky;
  left: 1%;
  top: 2%;
  border: 1px solid #FF8701;
  border-radius: 15px;
  padding: 10px 15px;
  width: 155px;
  color: #FF8701;
  z-index: 999;
  background: #FFFFFF;
}

@media only screen and (max-width: 1130px) {
  .loading-result {
    left: 1%;
  }
}


/* Tables --------------------------- */

.serotype-O>:not(:last-child)>:last-child>* {
    border-bottom: 3px solid #B71C1C !important;
    padding: 0.5rem 0.5rem !important;
}

.serotype-O tbody * {
    border-bottom: 1px solid #B71C1C;
}

.serotype-A>:not(:last-child)>:last-child>* {
    border-bottom: 3px solid #0D47A1 !important;
    padding: 0.5rem 0.5rem !important;
}
.serotype-A tbody * {
    border-bottom: 1px solid #0D47A1;
}

.serotype-Asia1>:not(:last-child)>:last-child>* {
    border-bottom: 3px solid #263238 !important;
    padding: 0.5rem 0.5rem !important;
}
.serotype-Asia1 tbody * {
    border-bottom: 1px solid #263238;
}

.serotype-SAT2>:not(:last-child)>:last-child>* {
    border-bottom: 3px solid #E65100 !important;
    padding: 0.5rem 0.5rem !important;
}
.serotype-SAT2 tbody * {
    border-bottom: 1px solid #E65100;
}

.serotype-SAT1>:not(:last-child)>:last-child>* {
    border-bottom: 3px solid #F57F17 !important;
    padding: 0.5rem 0.5rem !important;
}
.serotype-SAT1 tbody * {
    border-bottom: 1px solid #F57F17;
}

.serotype-SAT3>:not(:last-child)>:last-child>* {
    border-bottom: 3px solid #4A148C !important;
    padding: 0.5rem 0.5rem !important;
}
.serotype-SAT3 tbody * {
    border-bottom: 1px solid #4A148C;
}

.serotype-C>:not(:last-child)>:last-child>* {
    border-bottom: 3px solid #1B5E20 !important;
    padding: 0.5rem 0.5rem !important;
}
.serotype-C tbody * {
    border-bottom: 1px solid #1B5E20;
}


table.dataTable.display tbody tr.odd, table.dataTable.display tbody tr.even, table.dataTable.display  tbody tr:hover {
  background-color: transparent;
}

.main-panel.dark .table, 
.main-panel.dark table.dataTable.display tbody tr.odd, 
.main-panel.dark table.dataTable.display tbody tr.even, 
.main-panel.dark table.dataTable.display  tbody tr:hover {
  color: #FFFFFF !important;
}

table.dataTable.display tbody td {
  border-top: 1px solid #FFFFFF !important;
}

.dataTables_wrapper.no-footer .dataTables_scrollBody, table.dataTable.no-footer {
  border-bottom: 1px solid #FFFFFF !important;
}

table.dataTable thead th{
  border-bottom: 3px solid #FFFFFF !important;
}

table.dataTable tbody td {
  padding: 0.5rem 0.5rem !important;
}


table.dataTable tbody td .form-group, table.dataTable tbody td .form-group .checkbox{
  margin: 0;
}

table.dataTable  .shiny-input-container:not(.shiny-input-container-inline) {
    width: 50px;
    display: flex;
    justify-content: center;
}

tbody tr.active td,
.table-hover>tbody>tr:hover {
  background-color: #FFD09B !important;
}

table.dataTable.display tr.selected td, table.dataTable td.selected {
    background-color: #FFD09B !important;
}

table.dataTable.hover tbody tr:hover, 
table.dataTable.display tbody tr:hover {
    background-color: #FFF7ED !important;
}

.include-table td:first-child{
  width: 16px;
}

.pretty.p-icon .state i.icon.fa.fa-check {
  color:#333333;
}
  
.pretty .state label:before  {
    border-color: #333333;
}

.dark .pretty .state label:before  {
    background-color: #ffffff;
}


.pretty .disabled+.state label:before {
  background-color: #DDDDDD;
  border-color: #DDDDDD;
}

.table-percent{
  padding-left: 10px;
  display: inline-block;
  width: 55px;
}

.table-direction{
  padding-left: 30px;
}

.dataTables_wrapper .dataTables_paginate .paginate_button.current, .dataTables_wrapper .dataTables_paginate .paginate_button.current:hover {
  color: #FF8701 !important;
  border:none;
  border-bottom: 2px solid #FF8701;
  background: none;
}

.dataTables_wrapper .dataTables_paginate .paginate_button{
  
    background: none;
    border: none;
    border-bottom: 1px solid white;
    color: #292929 !important;
    border-radius: 0;
    margin-left: 2px;
    box-shadow: none;
}

.dataTables_wrapper .dataTables_paginate .paginate_button:active, 
.dataTables_wrapper .dataTables_paginate .paginate_button:hover
{
   border-radius: 0;
   background: none;
   border: none;
   border-bottom: 1px solid #292929;
   color: #292929 !important;

}
.dataTables_wrapper .dataTables_paginate {
    color: #292929;
}



/*Modal*/
.modal-body {
  margin: 15px;
}

.modal-lg {
  width: 85%;
}

.modal-content{
  box-shadow: 0 5px 15px rgba(0,0,0,.5);
}

.modal p {
  font-size: 20px;
  margin: 0;
}

.modal a {
  font-size: 16px;
  color: #FF8701;
  margin-left: auto;
  margin-top: auto;
  text-decoration: none;
}

.modal a:hover {
  text-decoration: underline;
}

.modal-heading-row, .modal-header {
  display: flex;
  align-items: center;
  flex-wrap: inherit;
  margin-right: 15px;
}

.modal-heading-row i, .modal-header i {
  margin-left: auto;
  cursor: pointer;
}

.modal .heading {
  font-size: 30px;
  color: #0A133A;
}

.modal .subheading {
  font-weight: bold;
  
}

.modal,
.modal.show,
.modal-dialog {
  transition: none !important;
}

/* Footer */
.prag-footer-top {
  margin-top: 45px;
  height: 6px;
  background: #FF8701 0% 0% no-repeat padding-box;
  opacity: 1;
}

.prag-footer-bottom {
  top: 1329px;
  left: 0px;
  height: 234px;
  background: #0A133A 0% 0% no-repeat padding-box;
  display: flex;
  flex-wrap: wrap;
  --bs-gutter-x: 1.5rem;
}

.prag-footer-bottom-content {
  margin-top: 43px !important;
  text-align: left;
  font: normal normal normal 16px/20px Geist;
  letter-spacing: 0px;
  color: #FFFFFF;
  opacity: 1;
}

.prag-footer-epi-logo {
  margin-top: -15px;
  height: 40px;
}

.prag-footer-epi-text {
  margin-top: 19px;
  font: italic normal normal 16px/17px Geist;
  letter-spacing: 0px;
  color: #FFFFFF;
  opacity: 1;
}

.info-msg {
  font-size: 20px;
  color: #FF8701;
  font-weight: bold;
  font-style: italic;
}

/* Collapse Input */
.collapse-controls {
  margin-top: 30px;
}

.collapse-control {
  padding: 14px 0 0 0;
  cursor: pointer;
  position: relative;
}
.collapse-control:last-child {
  border-top: 3px solid #FF8701;
}

.collapse-filter-items {
  display: flex;
  flex-wrap: wrap;
  overflow: hidden;
  background: var(--bg-color);
  max-height: 0;
}

.collapse-filter-items .form-group.shiny-input-container:not(:first-child) {
   margin-left: 0px;
}

.collapse-filter-items.active {
   max-height: 100%;
   overflow: visible;
}

.collapse-filter-items > div{
   flex: 0 0 auto;
   width: 100% !important;
}
.collapse-label {
   text-align: left;
   font: normal normal bold 20px/25px Geist;
   letter-spacing: 0px;
   color: #FFFFFF;
}

.collapse-info {
  font: normal normal bold 25px/32px Geist;
  color: #FFFFFF;
  display: none;
    
}
.collapse-info.active {
    display: block;
}

/*About and Info Modals*/
.about-button {
  font-size: 20px;
  font-weight: bold;
  color: #0A133A;
  border-radius: 0px;
  border-style: none none solid none;
  border-width: 3px;
  border-color: #FF8701;
  margin-right: 30px;
  --bs-btn-padding-x: .75rem;
  --bs-btn-padding-y: .375rem;
  --bs-btn-font-size: 1rem;
  --bs-btn-font-weight: 400;
  --bs-btn-border-width: 1px;
  --bs-btn-border-radius: .375rem;
}

.about-button:hover, .about-button:active {
  color: white;
  background-color: #1C1F2D;
  transition: 0.7s;
}

.modal-lg:has(.about-modal):has(.modal-content) {
  width: 85%;
  --bs-modal-width: 1280px;
}

.modal-content:has(.about-modal) {
  box-shadow: 0 5px 15px rgba(0,0,0,.5);
}

/* Header navigation for case study / IntroJS */

#header-help-dropdown {
    font-size: 20px;
    font-weight: bold;
    color: #0A133A;
    border-radius: 0px;
    border-style: none none solid none;
    border-width: 3px;
    border-color: #FF8701;
    margin-right: 30px;
    --bs-btn-padding-x: .75rem;
    --bs-btn-padding-y: .375rem;
    --bs-btn-font-size: 1rem;
    --bs-btn-font-weight: 400;
    --bs-btn-border-width: 1px;
    --bs-btn-border-radius: .375rem;
}

#header-help-dropdown:hover, #header-help-dropdown:focus {
  color: #fff;
  background-color: #1C1F2D;
  transition: 0.7s;
}