/*

Main styles common to the DETOXbase.org site;

*/

html, body {
    height: 100%;
    padding-top: 20px;
    margin: 0;
}

p {
    color: #3C3C3B;
}

a {
    color: #205668;
}

a:hover {
    color: #002F3E;  
}

p>a {
    font-weight: bold;
}
/*section div*/
div.content-section {
    display:block;
    background-color:#FFFFFF;

}

p.section-header {
    font-size: 20pt;
    padding-top:10px;
    padding-bottom:10px;
    font-weight: bold;
    color: #3C3C3B;
    border-bottom: 1px solid #eee;
}

#load-msg {
  margin-top: 20px;
}

/* footer*/
#footer-content {
    margin-top:-75px;
    clear:both;
    text-align:center;
    width:100%;
    float:none;
    padding-top: 5px;
    height: 75px;
    overflow: hidden;
    background-color:#003e52;
    border-top:1px solid #002f3e;
}

#footer-content p {
    color:#bfcfd4;
    font-size:10px;
    font-weight:bold;
}

img.footer-logo { 
    padding:0px;
    
}

/* hides the footer menu on smaller screens */
#footer-nav { 
    display:none;
}

@media (min-width: 768px){
    #footer-nav {
        display:block;
    }
}

#main-wrapper {
    margin: 0 auto;
    transition: all .4s ease 0s;
    position:relative;
    max-width:1500px;
    padding-left: 30px;
	padding-right:0px;
}

#main-wrapper.max-width {
    padding-left: 30px;
}

#main-row {
	width:100%;
}

#outer-wrapper{
    min-height: calc(100% - 75px);
    margin-bottom:75px;
    position:relative;
}


/* sidebar default (inactive) styles */
#sidebar {
    z-index:1000;
    bottom: -50px;
    top: 0px;
    padding: 0px 0 0 0;
    transition: all .4s ease 0s;
    position:absolute;
    overflow-y:auto;
    overflow-x:hidden;
    display:block;  
    font-size: 16px;
    width: 30px;
    background: transparent;
    /*background-color: #e7e7e7;*/
    font-family: "Libre Franklin", Libre Franklin, Arial;
}

#sidebar > ul {
    display:none;
    padding-top: 40px;
}

#sidebar li {
    line-height: 24px;
}

.sidebar-sublist > a > i {
	padding-right:5px;
	font-size:18px;
	color:#003e50;
}

/*
#sidebar:hover .btn {
    display:block;
}
*/


#sidebar li > a {
	color: #000;
	padding:6px 0px 6px 8px;
	overflow-wrap: break-word;
}

#sidebar li > a:hover {
    background-color: #dbdbdb;
}

#sidebar a .inactive, #sidebar li .inactive, #sidebar li .inactive a:hover {
    background-color: #99e6e1;
}

#sidebar a .active,
#sidebar li .active,
#sidebar li .active a {
    background-color: #99e6e1;
    color: #000;
    font-weight: 600;
}

#sidebar-toggle {
    position: absolute;
    margin-top:10px;
    left: 0px;
    border: none;
    background: transparent;
    z-index:999;
    font-size: 14px;
    display: none;
	color:#003e50;
}

/* active sidebar styles*/
@media (min-width: 768px){
    #main-wrapper {
        padding-left: 220px;
    }

    #sidebar {
        width: 190px;
        background-color:#e7e7e7;
    }
    #sidebar > ul {
        display:block;
    }
    #sidebar-toggle {
        display: block;
    }

    #sidebar.sidebar-inactive:hover {
        width: 30px;
        /*background-color:#dbdbdb;*/
    }
}


/* styles when class is altered with js */
#sidebar.sidebar-inactive {
    width: 30px;
    background: transparent;  
}

#sidebar.sidebar-inactive:hover {
    /*background-color: #dbdbdb;*/
}

#sidebar.sidebar-inactive > ul {
    display: none;
}



/* custom breadcrum nav styles */
#breadcrumb {
    margin-top: 50px;

}

#breadcrumb ul {
    list-style-type: none; 
    display: none;
    position:absolute;
    background-color:#FFF;
    margin:6px 0px 0px -24px;
    line-height: 35px;
    border: 1px solid #CCCCCC;
    border-top: none;
    padding:0px;

}

#breadcrumb li {
    list-style-type: none; 
    line-height: 35px;
    height:35px;
    float:none;
    text-align:left;
}

#breadcrumb li a {
    display:block;
    line-height:35px;
    padding:0px 24px 0px 24px;
    margin:0px;
    text-decoration:none;
    z-index: 99999;
}

#breadcrumb a:hover,
#breadcrumb .btn:hover {
    text-decoration:none;
    background-color:#dfe7e9;
}

.btn-breadcrumb .btn:after {
    content: " ";
    display: block;
    width: 0;
    height: 0;
    border-top: 17px solid transparent;
    border-bottom: 17px solid transparent;
    border-left: 10px solid white;
    position: absolute;
    top: 50%;
    margin-top: -17px;
    left: 100%;
    z-index: 3;
}

.btn-breadcrumb .btn:before {
    content: " ";
    display: block;
    width: 0;
    height: 0;
    border-top: 17px solid transparent;
    border-bottom: 17px solid transparent;
    border-left: 10px solid rgb(173, 173, 173);
    position: absolute;
    top: 50%;
    margin-top: -17px;
    margin-left: 1px;
    left: 100%;
    z-index: 3;
}

/** The Spacing **/
.btn-breadcrumb .btn {
    padding:6px 12px 6px 24px;
}
.btn-breadcrumb .btn:first-child {
    padding:6px 6px 6px 10px;
}
.btn-breadcrumb .btn:last-child {
    padding:6px 18px 6px 24px;
}

/** Default button **/
.btn-breadcrumb .btn.btn-default:after {
    border-left: 10px solid #fff;
}
.btn-breadcrumb .btn.btn-default:before {
    border-left: 10px solid #ccc;
}
.btn-breadcrumb .btn.btn-default:hover:after {
    border-left: 10px solid #dfe7e9;
}
.btn-breadcrumb .btn.btn-default:hover:before {
    border-left: 10px solid #adadad;
}

.btn-breadcrumb .btn.btn-default:hover ul {
    display:block;
    background-color:#dfe7e9;
}


/*a problem with the logo is it starts to position it from where the link would go in the navbar-brand
which if you highlight it on the inspect element is actually halfway down the navbar. So need to 
move the margins back to position correctly.*/
img.navbar-logo {
    display: block;
    height: 40px;
    width: auto;
    padding: 0px;
    margin-top: -10px;
    margin-left: -10px;
}

.page-header {
  padding-bottom: 0px;
  margin: 40px 0 20px;
  border-bottom: 1px solid #eeeeee;
}

.page-header h1 {
    margin-top: 0px;
}


/* Styled key value table */
table.key-value {
    border: none;
    width: 100%;
}

table.key-value td {
    margin: 0px;
    padding: 10px;
}

table.key-value tr:nth-child(odd) td{
    background-color: #eee;
}

/* Ensure the table respects the fixed layout */
table.fasta-table {
    table-layout: fixed;
    width: 100%; /* Adjust as needed */
}

/* Style the FASTA value cells */
table.fasta-table td.fasta-value {
    font-family: 'Roboto Mono', Courier, 'Courier New', monospace;
    max-width: 80ch;
    word-break: break-all; /* Allows breaking within words */
    white-space: pre-wrap; /* Preserves whitespace and allows wrapping */
    overflow-wrap: anywhere; /* Breaks at any point if necessary */
}

/* Remove or adjust the span styling */
table.fasta-table td.fasta-value span {
    /* Option 1: Remove display property */
    /* display: inline-block; */

    /* Option 2: Change to inline */
    display: inline;
}

/* complex table styles */
table.complex-table {
    border: none;
    width: 100%;
}

.td_row_even {
    background-color: #eee;
     padding: 10px;
}

.td_row_odd {
    background-color: #eee;
    padding: 10px;
}

.td_head {
    font-weight: bold;
    color: #3C3C3B;
    padding: 10px;
}

th {
  white-space:nowrap;
}

img { 
    padding: 50px;
}

img.no-pad {
  padding:0px;
}

table.default-data {
    border: 1px solid #eee;
    width: 80%;
}

table.default-data td {
    margin: 0px;
    padding: 10px;
}

table.default-data tr:nth-child(odd) td{
    background-color: #eee;
}

table.default-data th.merged{
    text-align:center;
}

div.chemical-structure-lg {
    border-radius: 5px;
    border: 2px solid #eee;
    background-color:#fff;
    height: 400px;
}

div.chemical-structure-sm {
    border-radius: 5px;
    border: 1px solid #eee;

}


/* tipsy styles */
.tipsy a {
    color: #54CEF1;
}

.tipsy a:hover {
    color: #1D70B7;
}


/* popup forms */
div.popup-outer {
    background: #FFF;
    border: 3px solid #999;
    border-radius:5px;
    z-index:10;
}

.popup-outer .popup-title {
    text-align:center;
    font-weight:bold;
}

div.modal-bg {
    display: none;
    position: fixed;
    z-index:1;
    left:0;
    right:0;
    top:0;
    width : 100%;
    height: 100%;
    overflow:hidden;
    background-color:rgb(224,224,224);
    background-color:rgba(0,0,0,0.2);
}

div.modal-container {
    margin: 20% auto;
    padding: 20px;
    width: 30%;
}


/* dropdown menu items */
.dropdown-submenu {
    position: relative;
}

.dropdown-submenu .dropdown-menu {
    top: 0;
    left: 100%;
    margin-top: -1px;
}

div.dropdown > ul.dropdown-menu {
	margin-top: 36px;
}

div.user-menu {
    margin-top:8px;
    background-color: #003e52;
}

div.user-menu > ul.dropdown-menu {
    margin-top: 0px;
}

.user-menu > button {
    background-color: #003e52;
    border: none;
    color: #fff;
    font-size: 16px;
}

.user-menu > button:hover  {
    color: #bfcfd4;
    background: transparent;
}

a.submenu-item {
    width:100%;
}

a.submenu-item i {
    float: right;
}

/*success alert fade*/
.alert-bottom {
    opacity:0;
    margin-bottom: 0px;
    bottom:0px;
    position:fixed;
    text-align:center;
    width: 50%;
    left: 25%;
    z-index:10;
}

/*sty;es for horizontal scrolling divs*/

.hscroll-outer {
    position:relative;
    padding:0px;

}

.hscroll-left {
    position: absolute; 
    left:0px;
    width: 35px;
}

.hscroll-right {
    position:absolute;
    right:0px;
    width: 35px;
}

.hscroll-left > button, .hscroll-right > button {
    border: none;
    font-size: 2em;
}

.hscroll-inner {
    position:absolute;
    left: 36px;
    right:36px;
    overflow:hidden;
    padding:0 2px;
}

.hscroll-slider {
    position:absolute;
    cursor:-webkit-grab;
}

/*vertical alignment of columns*/
.vertical-padding {
    padding-top: 15px;
    padding-bottom: 15px;
}


/*Make the flex column display only work on large screens otherwise the responsive column behaviour fails on small screens*/
@media (min-width: 768px) {
  .row.display-flex {
    display: flex;
    flex-wrap: wrap;
  }
  .row.display-flex > [class*='col-'] {
    display: flex;
    flex-direction: column;
    height: 100%;
  }
}

.vertical-align {
    display: flex;
    flex-direction:row;
}

.vertical-align > [class^="col-"],
.vertical-align > [class*="col-"] {
    display: flex;
    align-items:center;
    justify-content: center;
}

/*buttons for project homepages*/
.panel-primary .panel-heading a {
    color: #fff;
}

.panel-primary .panel-heading a:hover {
    color: #bfcfd4;
}

/*button style image links with box-shadows (morf-home page) */
.img-btn {
    border-radius:10px;
}

.img-btn:hover {
    box-shadow:0 4px 8px 0 rgba(0,0,0,0.2),0 6px 20px 0 rgba(0,0,0,0.19);
}

.img-btn > a {
    text-decoration: none;
    color: #3C3C3B;
}

.img-btn img {
    display: block;
    margin-right: auto;
    margin-left: auto;
    max-height:120px;
    max-width:90%; 
    padding:0px; 
}

.img-circle-icon {
    border-radius:10px;

}

.img-circle-icon img {
    display: block;
    margin-right: auto;
    margin-left: auto;
    max-height:70px;
    max-width:70px; 
    padding:5px; 
    border:7px solid #00c4b3;
    border-radius:50%;
}

#group-logo {
    padding-bottom: 20px ;
    height: 100%;
    max-height: 100px;
    max-width: 80%;
}

#waiting-overlay {
	position:absolute;
	top:0;left:0;width:100%;height:100%;
	background-color:#ffffff9b;
	z-index:999;
}

#waiting-overlay > div {
	position:fixed;
	top:50%;
	left:50%;
}

.file-upload-area {
	min-height:200px;
	border:5px dashed #eee;
	border-radius:10px;
	color:#ddd;
	margin-top:15px;
	margin-bottom:15px;
	text-align:center;
	padding-top:15px;
	padding-bottom:15px;
	cursor:pointer;
}

.file-upload-area > span {
	font-size:5rem;
	margin-top:20px;
}

.file-upload-area > span > i.fa-stack-1x {
	font-size:3rem;
}

.file-upload-area > div {
	color:#777777;
}

.file-upload-area > input {
	display:none;
}

/* Styles for google reCAPTCHA - Hide the default badge (must include a google terms statement on forms)*/
.grecaptcha-badge {visibility: hidden;}
.recaptcha-statement, .recaptcha-statement > a {color:#aaaaaa;}
