@import url('https://fonts.googleapis.com/css?family=Open+Sans');
@import url('https://fonts.googleapis.com/css?family=Playfair+Display');

/* Table of contents
––––––––––––––––––––––––––––––––––––––––––––––––––
- Plotly.js
- Grid
- Base Styles
- Typography
- Links
- Buttons
- Forms
- Lists
- Code
- Tables
- Spacing
- Utilities
- Clearing
- Media Queries
*/

/* PLotly.js
–––––––––––––––––––––––––––––––––––––––––––––––––– */
/* plotly.js's modebar's z-index is 1001 by default
 * https://github.com/plotly/plotly.js/blob/7e4d8ab164258f6bd48be56589dacd9bdd7fded2/src/css/_modebar.scss#L5
 * In case a dropdown is above the graph, the dropdown's options
 * will be rendered below the modebar
 * Increase the select option's z-index
 */

/* This was actually not quite right -
   dropdowns were overlapping each other (edited October 26)
.Select {
    z-index: 1002;
}*/

/* Grid
–––––––––––––––––––––––––––––––––––––––––––––––––– */
.container {
    position: relative;
    width: 100%;
    margin: 0 auto;
    padding: 0 20px;
    box-sizing: border-box;
}

.column,
.columns {
    width: 100%;
    float: left;
    box-sizing: border-box;
}

/* For devices larger than 400px */
@media (min-width: 400px) and (max-width: 549px) {
    .container {
        width: 85%;
        padding: 0;
    }
}

/* For devices larger than 550px */
@media (min-width: 550px) {
    .container {
        width: 80%;
    }

    .column,
    .columns {
        margin-left: 4%;
    }

    .column:first-child,
    .columns:first-child {
        margin-left: 0;
    }

    .one.column,
    .one.columns {
        width: 4.66666666667%;
    }

    .two.columns {
        width: 13.3333333333%;
    }

    .three.columns {
        width: 22%;
    }

    .four.columns {
        width: 30.6666666667%;
    }

    .five.columns {
        width: 39.3333333333%;
    }

    .six.columns {
        width: 48%;
    }

    .seven.columns {
        width: 56.6666666667%;
    }

    .eight.columns {
        width: 65.3333333333%;
    }

    .nine.columns {
        width: 74.0%;
    }

    .ten.columns {
        width: 82.6666666667%;
    }

    .eleven.columns {
        width: 91.3333333333%;
    }

    .twelve.columns {
        width: 100%;
        margin-left: 0;
    }

    .one-third.column {
        width: 30.6666666667%;
    }

    .two-thirds.column {
        width: 65.3333333333%;
    }

    .one-half.column {
        width: 48%;
    }

    /* Offsets */
    .offset-by-one.column,
    .offset-by-one.columns {
        margin-left: 8.66666666667%;
    }

    .offset-by-two.column,
    .offset-by-two.columns {
        margin-left: 17.3333333333%;
    }

    .offset-by-three.column,
    .offset-by-three.columns {
        margin-left: 26%;
    }

    .offset-by-four.column,
    .offset-by-four.columns {
        margin-left: 34.6666666667%;
    }

    .offset-by-five.column,
    .offset-by-five.columns {
        margin-left: 43.3333333333%;
    }

    .offset-by-six.column,
    .offset-by-six.columns {
        margin-left: 52%;
    }

    .offset-by-seven.column,
    .offset-by-seven.columns {
        margin-left: 60.6666666667%;
    }

    .offset-by-eight.column,
    .offset-by-eight.columns {
        margin-left: 69.3333333333%;
    }

    .offset-by-nine.column,
    .offset-by-nine.columns {
        margin-left: 78.0%;
    }

    .offset-by-ten.column,
    .offset-by-ten.columns {
        margin-left: 86.6666666667%;
    }

    .offset-by-eleven.column,
    .offset-by-eleven.columns {
        margin-left: 95.3333333333%;
    }

    .offset-by-one-third.column,
    .offset-by-one-third.columns {
        margin-left: 34.6666666667%;
    }

    .offset-by-two-thirds.column,
    .offset-by-two-thirds.columns {
        margin-left: 69.3333333333%;
    }

    .offset-by-one-half.column,
    .offset-by-one-half.columns {
        margin-left: 52%;
    }

}

/* Placement
–––––––––––––––––––––––––––––––––––––––––––––––––– */
@media only screen and (max-width: 1250px) {
    /*For mobile and smaller screens*/
    #app-container {
        width: 100%;
        display: flex;
        flex-direction: column;
        justify-content: center;
        align-items: center;
    }
}

@media (min-width: 1251px) {
    /*For desktop*/
    #app-container {
        display: flex;
        flex-direction: row;
        justify-content: flex-start;
    }
}

/* Base Styles
–––––––––––––––––––––––––––––––––––––––––––––––––– */
/* NOTE
html is set to 62.5% so that all the REM measurements throughout Skeleton
are based on 10px sizing. So basically 1.5rem = 15px :) */
html {
    font-size: 50%;
    background-color: #1f2630;
    max-width: 100% !important;
    width: 100% !important;
    margin: 0;
}

body {
    font-size: 1.5rem; /* currently ems cause chrome bug misinterpreting rems on body element */
    line-height: 1.6;
    font-weight: 400;
    font-family: "Open Sans", "HelveticaNeue", "Helvetica Neue", Helvetica, Arial, sans-serif;
    color: #7fafdf;
    margin: 0;
}

#root {
    margin: 0;
}

#headline {
    text-align: center;
}

@media (max-width: 550px) {
    #root {
        padding: 2rem;
    }
}

@media (min-width: 551px) {
    #root {
        padding: 5rem;
    }
}


/* Typography
–––––––––––––––––––––––––––––––––––––––––––––––––– */
h1, h2, h3, h4, h5, h6 {
    margin-top: 0;
    margin-bottom: 0;
    font-weight: 300;
}

h1 {
    font-size: 4.5rem;
    line-height: 1.2;
    letter-spacing: -.1rem;
    margin-bottom: 2rem;
}

h2 {
    font-size: 3.6rem;
    line-height: 1.25;
    letter-spacing: -.1rem;
    margin-bottom: 1.8rem;
    margin-top: 1.8rem;
}

h3 {
    font-size: 3.0rem;
    line-height: 1.3;
    letter-spacing: -.1rem;
    margin-bottom: 1.5rem;
    margin-top: 1.5rem;
}

h4 {
    font-family: "Playfair Display", sans-serif;
    font-size: 4rem;
    line-height: 1.35;
    letter-spacing: -.08rem;
    margin-bottom: 1.2rem;
    margin-top: 1.2rem;
}

h5 {
    font-size: 2.2rem;
    line-height: 1.5;
    letter-spacing: -.05rem;
    margin-bottom: 0.6rem;
    margin-top: 0.6rem;
}

h6 {
    font-size: 2.0rem;
    line-height: 1.6;
    letter-spacing: 0;
    margin-bottom: 0.75rem;
    margin-top: 0.75rem;
}

p {
    margin-top: 0;
}

td {
    padding: 10px;
}


/* Buttons
–––––––––––––––––––––––––––––––––––––––––––––––––– */
.button,
button,
input[type="submit"],
input[type="reset"],
input[type="button"] {
    display: inline-block;
    height: 38px;
    padding: 0 30px;
    color: #555;
    text-align: center;
    font-size: 11px;
    font-weight: 600;
    line-height: 38px;
    letter-spacing: .1rem;
    text-transform: uppercase;
    text-decoration: none;
    white-space: nowrap;
    background-color: transparent;
    border-radius: 4px;
    border: 1px solid #bbb;
    cursor: pointer;
    box-sizing: border-box;
}

.button:hover,
button:hover,
input[type="submit"]:hover,
input[type="reset"]:hover,
input[type="button"]:hover {
    color: #333;
    border-color: #888;
    outline: 0;
}

/* Left column
–––––––––––––––––––––––––––––––––––––––––––––––––– */

#left-column {
    margin-right: 1%;
    flex-direction: column;
    /*justify-content: flex-start;*/
    width: 500px;
}

@media only screen and (max-width: 1250px) {
    /*For mobile and smaller screens*/
    #left-column {
        margin-bottom: 5rem;
    }
}

/* Plotting
–––––––––––––––––––––––––––––––––––––––––––––––––– */

/*#plots-block {
    padding-top:20px;
    width:130%;
    margin-left:-15%;
    align-content: center;
    justify-content: center;
}*/

/* Controls
–––––––––––––––––––––––––––––––––––––––––––––––––– */

.controls-block {
    display:flex;
    flex-direction:column;
    margin-bottom: 10px;
    margin-top: 10px;
    background: #252e3f;
    border: 1px solid #7fafdf;
    border-radius: 10px;
    padding: 15px;
}

.horizontal {
    display:flex;
    flex-direction: row;
}

.centered {
    align-items: center;
}

.control-element {
    padding-right:20px;
    min-width:120px;
}

.line-label {
    padding-right:10px;
    margin-top:10px;
}

#aggregation-fdr-slider {
    min-width:60%;
}

#info-output {
    text-wrap:wrap;
}

#check-max-interactions {
    min-width:120px;
}

#gene-multi-select{
    width:100%;
}

#function-multi-select{
    width:100%;
}

#legend-container{
    padding-bottom:150px;
}

.color-legend-item{
    width:40px;
    height:40px;
    margin-bottom:5px;
    border-radius:20px;
    opacity:70%;
}

.color-legend-text{
    padding-top:7px;
    padding-left:3px;
    font-weight:bold;
    font-size:12px;
    white-space:pre-line;
}

/* Tabs
–––––––––––––––––––––––––––––––––––––––––––––––––– */

#data-tabs {
    flex-grow: 1;
    height: 30px;
}

.custom-tab {
    color:#586069;
    border-top-left-radius: 3px;
    border-top-right-radius: 3px;
    border-left: 2px solid #586069 !important;
    border-right: 2px solid #586069 !important;
    border-top: 2px solid #586069 !important;
    border-bottom: 2px solid #7fafdf !important;
    background-color: #252e3f !important;
    padding: 12px !important;
    display: flex !important;
    align-items: center;
    justify-content: center;
}

.custom-tab--selected {
    color: #7fafdf !important;
    border-left: 2px solid #7fafdf !important;
    border-right: 2px solid #7fafdf !important;
    border-top: 2px solid #7fafdf !important;
}

/* Tables
–––––––––––––––––––––––––––––––––––––––––––––––––– */

#table-container {
    background-color: #ffffff;
    padding: 5rem;
    margin: 0;
    display: flex;
    justify-content: center;
    width:100%;
    height:970px;
}

#table {
    border-collapse: collapse;
    width:80%;
    overflow-y:scroll;
    justify-content: center;
    align-items: center;
    border: 1px solid rgba(120, 120, 120, .3);
}

#btn_csv {
    margin-left: 60px;
}

/* Plots
–––––––––––––––––––––––––––––––––––––––––––––––––– */

#circos-container {
    padding: 0rem;
    margin: 0;
    display: grid;
    grid-template-columns: 1fr 1fr;
    grid-template-rows: 1fr 1fr;
    gap: 10px;
}

#plots-container {
    background-color: #ffffff;
    height: 970px;
    width: 100%;
}

#my-dashbio-circos {
    padding-top:60px;
    padding-left:150px;
}

.plot {
    height:100%;
    width:100%;
}

#save-circos {
    float: right;
}

#spacer1 {
    width:100px;
}

#fdr-value {
    min-width:120px;
    width:35%;
}

#fdr-source {
    padding-right:50px;
    min-width:50%;
    width:50%;
}

/* Graph
–––––––––––––––––––––––––––––––––––––––––––––––––– */

#graph-container {
    background-color: #ffffff;
    padding: 5rem;
    margin: 0;
    display: flex;
    justify-content: center;
    width:100%;
    height:970px;
}

#graph {
    min-height:100%;
    flex-grow:1;
}

/* About Area
–––––––––––––––––––––––––––––––––––––––––––––––––– */

#summary-container {
    color: #1f2630;
    padding:100px;
    background-color: #ffffff;
    width:100%;
    height:970px;
}

/* Howto Area
–––––––––––––––––––––––––––––––––––––––––––––––––– */

#howto-container {
    color: #1f2630;
    padding:100px;
    background-color: #ffffff;
    width:100%;
    height:970px;
    overflow: scroll;
}

.howto-1 {
	font-weight: bold;
	min-width: 150px;
}

.howto-2 {
	padding-right: 50px;
	min-width: 150px;
}
