/*    --------------------------------------------------
  :: Fonts
  -------------------------------------------------- */

@import url(https://fonts.googleapis.com/css?family=Lato:300,400,700);
@font-face {
	font-family: 'codropsicons';
	src:url('../fonts/codropsicons/codropsicons.eot');
	src:url('../fonts/codropsicons/codropsicons.eot?#iefix') format('embedded-opentype'),
		url('../fonts/codropsicons/codropsicons.woff') format('woff'),
		url('../fonts/codropsicons/codropsicons.ttf') format('truetype'),
		url('../fonts/codropsicons/codropsicons.svg#codropsicons') format('svg');
	font-weight: normal;
	font-style: normal;
}

/*    --------------------------------------------------
  :: Color Legend
  -------------------------------------------------- */

/* basic positioning */
.legend { list-style: none; }
.legend li { float: left; margin-left: -40px; }
.legend .dot {
  height: 12px;
  width: 12px;
  border-radius: 50%;
  display: inline-block;
  border: 1px solid white;
}
.tooltip-inner { max-width: none; }



/*    --------------------------------------------------
  :: General
  -------------------------------------------------- */

body {
  font-family: 'Lato', 'Open Sans', Arial, sans-serif;
  background-color: #1E5631;
  overflow-x: hidden;
  max-width: 100%;
}


.filter-container {
  display: none;
  background-color: #B3D89C;
}

.table-container {
  width: 152%;
}

.loading-wrapper {
  text-align: center;
  display: none;
}

#tableHeader {
  display: none;
}

#filters > .row {
  padding: 0rem 1.5rem;
  padding-top: 0.4rem;
}

#filters > .row:last-child {
  padding-bottom: 0.8rem;
}

.filter-variety { /* Scroll if Filter variety is too long*/
  overflow: auto;
  padding: 4px;
}

#infoBar {
  display: none;
  width: 100%;
  min-height: 50px;
  height: auto;
  position:fixed;
  top: 0px;
  left: 0px;
  z-index:2;
  border-radius: 0px;
}

#btnVCF {
  z-index: 0;
  min-width: 150px;
  max-width: 250px;
  overflow:hidden;
  text-overflow:ellipsis;
}

#btnSearch {
  z-index: 0;
}

#searchBox {
   z-index: 0;
}

#sidebar {
  padding-right: 0px;
  display: none;
}

#dropdown {
  height: auto;
  max-height: 250px;
  overflow-y: auto;
}

#dropdownVcf {
  height: auto;
  /* max-width: 250px;
  max-height: 250px; */
  overflow: hidden;
  margin-left: 50px;
  text-overflow: ellipsis;
}

#btnSummary {
  float: left;
}

.nav-filter-container {
  width: 100%;
}

/*tr:nth-child(even) {
    background-color: #dddddd;
}*/

/* Header font color */
.table-filterable tr.header th {
  color: white; 
}

.table-filterable tr {
  text-align: center;
}

.table-filterable-hide {
  display: none !important;
  -webkit-transition: all 0.5s ease;
    -moz-transition: all 0.5s ease;
    -o-transition: all 0.5s ease;
    transition: all 0.5s ease;
}

/* Specific class for long td */
.long-cell {
  overflow: hidden;
  text-overflow: ellipsis;
  white-space: nowrap;
}

/* Default class for all td */
tr.border_bottom > td {
  border-bottom: 1px solid black;
  max-width: 150px;
  vertical-align: middle;
  border-bottom: 1px solid black;
  min-width: 100px;
}

tr.border_bottom > td.nucleotide-a, tr.border_bottom > td.nucleotide-t,
tr.border_bottom > td.nucleotide-g, tr.border_bottom > td.nucleotide-c,
tr.border_bottom > td.indel, tr.border_bottom > td.nucleotide-nocolor,
tr.border_bottom > td.mixed {
  border-bottom: 1px solid black;
  border-left: 1px solid black;
  cursor: pointer;
}

/* https://stackoverflow.com/questions/9612758/add-a-css-border-on-hover-without-moving-the-element */
tr.border_bottom {
  border-left: 5px solid transparent;
}

tr.border_bottom:hover {
  border-left: 5px solid black;
}


.two-sides-column {
  padding: 0px !important;
  cursor: pointer;
}

.two-sides-table {
  table-layout: fixed;
  width: 100%;
}

/* A normal cell without division in the middle: NO CALL*/
.non-split-row {
  border-left: 2px solid black;
}

/* A cell with division in the middle: A | A*/
.split-row :first-child {
  border-right: 1px dashed black !important;
  border-left: 2px solid black;
}

.table-filterable {
  margin-top: 15px;
  display: block;
  overflow-x: auto;
  white-space: nowrap;
  position: relative;
}

.table-filterable .header {
  background-color: #dddddd;
  color: #333;
  border-spacing: 0px;
}

.table-filterable .pagination {
  text-align: center;
  margin: 0px auto;
}


.mixed-row {
  background-color: #f8bbd0; /* pink lighten-4 */
}

.indel-row {
  background-color: #d1c4e9; /* deep-purple lighten-4 */
}

.snp-row {
  background-color: white;
}

.indel-row td, .mixed-row td {
  /*overflow-x: overlay;*/
  overflow: hidden;
  text-overflow: ellipsis;
}

/* Nucleotide */
/* https://mdbootstrap.com/legacy/4.3.2/?page=css/colors */

.nucleotide-a {
  background-color: #26a69a; /* teal lighten-1 */
}

.nucleotide-t {
  background-color: #ef5350; /*  red lighten-1 */
}

.nucleotide-c {
  background-color: #42a5f5; /* blue lighten-1 */
}

.nucleotide-g {
  background-color: #ffa726; /* orange lighten-1 */
}

.indel {
  background-color: #9575cd ; /* deep-purple lighten-2 */
}

.mixed {
  background-color: #f48fb1; /* pink lighten-3 */
}

.nucleotide-nocolor {
  background-color: white;
}

.no_call {
  background-color: #181c20; /* bg-dark */
  color: white; /* text **/
}

/* White blur on hover for all tr.border_bottom td */
.table-filterable tr.border_bottom > td:not(.two-sides-column):hover {
  -moz-box-shadow: inset 0 0 150px 150px rgba(255, 255, 255, 0.3);
  -webkit-box-shadow: inset 0 0 150px 150px rgba(255, 255, 255, 0.3);
  box-shadow: inset 0 0 150px 150px rgba(255, 255, 255, 0.3);
}

/* White blur on hover for all tr.split td inside a td.two-sides-column.
* White blur has to be separeted into two rules or td.two-sides-colmumn would highlight
* both tds in its tr.split-row child
*/
.table-filterable tr.border_bottom > td.two-sides-column tr.split-row > td:hover {
  -moz-box-shadow: inset 0 0 150px 150px rgba(255, 255, 255, 0.3);
  -webkit-box-shadow: inset 0 0 150px 150px rgba(255, 255, 255, 0.3);
  box-shadow: inset 0 0 150px 150px rgba(255, 255, 255, 0.3);
}

/*
* Summary
*/

.nav-side-menu {
  overflow: auto;
  font-family: verdana;
  font-size: 12px;
  font-weight: 200;
  background-color: #7BAE7F;
  position: relative;
  top: 0px;
  width: 100%;
  height: 100%;
  color: #e1ffff;
}
.nav-side-menu .brand {
  border-top: 1px solid #23282e;
  border-bottom: 1px solid #23282e;
  background-color: #1E5631;
  line-height: 50px;
  display: block;
  text-align: center;
  font-size: 14px;
}

.nav-side-menu .toggle-btn {
  display: none;
}

/* List with collapsed class will have pointer cursor */
.nav-side-menu ul .collapsed,
.nav-side-menu li .collapsed {
  cursor: pointer;
}

.nav-side-menu ul,
.nav-side-menu li {
  list-style: none;
  padding: 0px;
  margin: 0px;
  line-height: 35px;
  /* Show pointer cursor only for collapsed ul, li */
  /* cursor: pointer; */
  /*    
    .collapsed{
       .arrow:before{
                 font-family: FontAwesome;
                 content: "\f053";
                 display: inline-block;
                 padding-left:10px;
                 padding-right: 10px;
                 vertical-align: middle;
                 float:right;
            }
     }
*/
}

.nav-side-menu ul .collapsed .arrow:before,
.nav-side-menu li .collapsed .arrow:before {
  font-family: "Font Awesome 5 Free";
  content: "\f053";
  font-weight: 900; /* font awesome not showing if font-eight < 900 */
  display: inline-block;
  padding-left: 15px;
  padding-right: 20px;
  vertical-align: middle;
  float: right;
}

.nav-side-menu ul :not(collapsed) .arrow:before,
.nav-side-menu li :not(collapsed) .arrow:before {
  font-family: "Font Awesome 5 Free";
  content: "\f078";
  font-weight: 900; /* font awesome not showing if font-eight < 900 */
  display: inline-block;
  padding-left: 15px;
  padding-right: 20px;
  vertical-align: middle;
  float: right;
}

.nav-side-menu ul .active,
.nav-side-menu li .active {
  border-left: 3px solid #d19b3d;
  background-color: #4f5b69;
}
.nav-side-menu ul .sub-menu li.active,
.nav-side-menu li .sub-menu li.active {
  color: #d19b3d;
}
.nav-side-menu ul .sub-menu li.active a,
.nav-side-menu li .sub-menu li.active a {
  color: #d19b3d;
}
.nav-side-menu ul .sub-menu li,
.nav-side-menu li .sub-menu li {
  background-color: #181c20;
  border: none;
  line-height: 28px;
  border-bottom: 1px solid #23282e;
  margin-left: 0px;
}
.nav-side-menu ul .sub-menu li:hover,
.nav-side-menu li .sub-menu li:hover {
  background-color: #020203;
}
.nav-side-menu ul .sub-menu li:before,
.nav-side-menu li .sub-menu li:before {
  font-family: "Font Awesome 5 Free";
  content: "\f054";
  font-weight: 900; /* font awesome not showing if font-eight < 900 */
  display: inline-block;
  padding-left: 15px;
  padding-right: 15px;
  vertical-align: middle;
}
.nav-side-menu li {
  padding-left: 0px;
  border-left: 3px solid #2e353d;
  border-bottom: 1px solid #23282e;
}
.nav-side-menu li a {
  text-decoration: none;
  color: #e1ffff;
}

.nav-side-menu li a i {
  padding-left: 10px;
  width: 20px;
  padding-right: 20px;
}

.nav-side-menu li i {
  padding-left: 10px;
  width: 20px;
  padding-right: 20px;
}

.nav-side-menu li:hover {
  border-left: 3px solid #d19b3d;
  background-color: #4f5b69;
  -webkit-transition: all 1s ease;
  -moz-transition: all 1s ease;
  -o-transition: all 1s ease;
  -ms-transition: all 1s ease;
  transition: all 1s ease;
}

@media (max-width: 767px) {
  .nav-side-menu {
    position: relative;
    width: 100%;
    /*margin-bottom: 10px;*/
  }
  .nav-side-menu .toggle-btn {
    display: block;
    cursor: pointer;
    position: absolute;
    right: 20px;
    top: 10px;
    z-index: 2 !important;
    padding: 3px;
    background-color: #ffffff;
    color: #000;
    width: 40px;
    text-align: center;
  }
  .brand {
    text-align: center !important;
    font-size: 22px;
    line-height: 50px !important;
  }
}

@media (min-width: 767px) {
  .nav-side-menu .menu-list .menu-content {
    display: block;
  }
  #main {
    /*width:calc(100% - 300px);
    float: right;*/
  }
}

/*
* Fullscreen loader
*/
.loadingContainer {
    width: 50%;
    height: 50%;
    overflow: auto;
    margin: auto;
    position: absolute;
    top: 0;
    left: 0;
    bottom: 0;
    right: 0;
}

.shader {
    width: 100%;
    height: 100%;
    background-color: rgba(0, 0, 0, 0.65);
    top: 0;
    bottom: 0;
    right: 0;
    left: 0;
    position: fixed;
    display: none;
    z-index: 2;
}

#loader-wrapper {
    position: fixed;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    z-index: 3;
}
#loader {
    display: block;
    position: relative;
    left: 50%;
    top: 50%;
    width: 150px;
    height: 150px;
    margin: -75px 0 0 -75px;
    border-radius: 50%;
    border: 3px solid transparent;
    border-top-color: #4f5b69;
    -webkit-animation: spin 2s linear infinite;
    animation: spin 2s linear infinite;
}
#loader:before {
    content:"";
    position: absolute;
    top: 5px;
    left: 5px;
    right: 5px;
    bottom: 5px;
    border-radius: 50%;
    border: 3px solid transparent;
    border-top-color: #52b202; /* Green */
    -webkit-animation: spin 3s linear infinite;
    animation: spin 3s linear infinite;
}
#loader:after {
    content:"";
    position: absolute;
    top: 15px;
    left: 15px;
    right: 15px;
    bottom: 15px;
    border-radius: 50%;
    border: 3px solid transparent;
    border-top-color: #555555;
    -webkit-animation: spin 1.5s linear infinite;
    animation: spin 1.5s linear infinite;
}
@-webkit-keyframes spin {
    0% {
        -webkit-transform: rotate(0deg);
        -ms-transform: rotate(0deg);
        transform: rotate(0deg);
    }
    100% {
        -webkit-transform: rotate(360deg);
        -ms-transform: rotate(360deg);
        transform: rotate(360deg);
    }
}
@keyframes spin {
    0% {
        -webkit-transform: rotate(0deg);
        -ms-transform: rotate(0deg);
        transform: rotate(0deg);
    }
    100% {
        -webkit-transform: rotate(360deg);
        -ms-transform: rotate(360deg);
        transform: rotate(360deg);
    }
}