@charset "UTF-8";

@font-face {
  font-family: 'Roboto Mono';
  src: url('/static/font/RobotoMono-Regular.ttf');
}
@font-face {
  font-family: 'Roboto Mono';
  font-weight: bold;
  src: url('/static/font/RobotoMono-Bold.ttf');
}

@font-face {
  font-family: 'Roboto Slab';
  src: url('/static/font/RobotoSlab-Regular.ttf');
}

/*================================================
 *  コンテンツヘッダー
 ================================================*/
#cheader {
  background-color: #fff;
  border-bottom: 1px solid #ccc;

  h1 {
    display: flex;
    align-items: center;
    padding: 1rem;
    font-weight: bold;
    font-size: 2rem;

    img {
      margin-right: 1rem;
    }
  }

  #csummary {
    background: #e0f4b6;
    font-style: italic;
    font-weight: bold;
    font-size: 125%;
    display: flex;
    justify-content: space-between;
  }

  .species {
    margin: 0;
    padding: 10px;
  }

  .build {
    margin: 0;
    padding: 10px;
  }
}

/*================================================
 *  検索フォーム
 ================================================*/
form {
  border: 1px dotted #ddd;
}
form label {
  font-weight: bold;
  display: inline-block;
  width: 160px;
  text-align: right;
}

form label.select-option-labels {
  font-weight: normal;
  width: auto;
  text-align: left;
}

.mButton {
  margin: 0.5em;
}
#formMain {
  /*background:#fbfbfb;*/
  padding: 10px 20px;
}
#formTop {
}
#formBottom {
}

#queryseq {
  margin-left: 20px;
  margin-top: 10px;
  width: 90%;
  height: 7em;
  font-family: 'Roboto Mono', monospace;
}

#topForm {
  border: 1px solid #ddd;
  padding: 10px 20px;
}
#blastForm {
  border: 1px solid #ddd;
  padding: 10px 20px;
}
#keggForm {
  border: 1px solid #ddd;
  padding: 10px 20px;
}
#goForm {
  border: 1px solid #ddd;
  padding: 10px 20px;
}
#pfamForm {
  border: 1px solid #ddd;
  padding: 10px 20px;
}
.formExample {
  font-size: 12px;
  color: blue;
}

/*================================================
 *  Cluster Overview
 ================================================*/
#page_ctrl {
  background: #93e489;
  margin-top: 5px;
  margin-bottom: 5px;
  padding: 7px;
  font-weight: bold;
}
.viewitems {
  font-weight: bold;
}

h3.headline {
  position: relative;
  height: 100%;
  padding: 10px;
}

p.sideposition {
  position: absolute;
  display: block;
  top: 0;
  right: 0;
  padding: 10px;
}

#subclusterSummary td {
  padding: 10px;
  /*background: #fff;*/
}
#subclusterSummary .subclusterName {
  font-weight: bold;
  font-size: 110%;
  width: 75px;
  vertical-align: middle;
  background: #93e489;
  text-align: center;
}

.subcluster-detail th,
.subcluster-detail td {
  padding: 7px;
}

.subcluster-detail td:not(.paging) {
  background: rgb(255, 255, 255);
}

.kegg-hit-protein-detail,
.go-hit-protein-detail {
  table {
    margin: 15px auto;
  }
}

.info dt {
  font-weight: bold;
}
.leftSeq {
  width: 60%;
  word-break: break-all;
}
.rightSeq {
  margin-left: 20px;
}
.rightSeq dt:before {
  content: none;
}
.rightSeq dd {
  margin-left: 1em;
}
.code th {
  font-weight: bold;
}
.code td {
  text-align: center;
  font-weight: bold;
}
.aminocode th,
.aminocode td {
  font-weight: bold;
}

.aminocode tr td:nth-of-type(2) {
  text-align: center;
}
.aminocode tr td:nth-of-type(3) {
  text-align: center;
}

.cSeq {
  display: flex;
  justify-content: space-between;
}

.cSeq textarea {
  width: 98%;
  max-width: 100%;
  height: 20em;
  font-family: 'Roboto Mono', monospace;
}

/*================================================
 *  Cluster List
 ================================================*/
.search-result-list {
  overflow-x: auto;
}

.search-result-list table {
  font-size: 90%;
  background: #fff;
}

#resulttbl th {
  /*line-height:1em;*/
  padding: 3px;
}
#resulttbl td {
  padding: 5px 10px;
}
#resulttbl tr:nth-child(even) {
  padding: 5px 10px;
  background: rgb(240, 255, 240);
}
#resulttbl tr:hover {
  background: linen;
  /*border-style: solid;
	border-width: 3px;
	border-color: #c00;*/
}

/*================================================
 *  Blast Search Tool
 ================================================*/
.formTopTool {
  margin-bottom: 0.25em;
  padding: 5px 0px 5px 10px;
  font-size: 16px;
  font-weight: bold;
  border-left: 5px solid #cc0000;
  /*background:#eee;*/
}
.formLabel {
  font-weight: bold;
  /*float:left*/
}
.formTopBtn {
  /*font-weight:bold;*/
  background: rgba(152, 251, 152, 0.7);
  margin-top: 10px;
  margin-bottom: 10px;
}
.formSetting {
  border: 1px solid #ddd;
  box-shadow: 2px 2px 2px 2px rgba(0, 0, 0, 0.15);
  padding: 10px;
}
.formTopEnd {
  clear: both;
}
.bButton {
  margin: 0.5em;
  font-weight: bold;
}
ul.blradio li {
  list-style: none;
  margin-left: 100px;
}
#blastradio {
  float: left;
  margin-right: 20px;
}
#blastdb {
  float: left;
}
#blastquery {
  float: left;
}
ul.bldb {
  border-top: 1px solid #ddd;
}
ul.bldb li {
  margin: 0;
  padding: 0;
  list-style: none;
}
ul.blquery {
  border-top: 1px solid #ddd;
}
ul.blquery li {
  margin: 0;
  padding: 0;
  list-style: none;
}
form label.lbleft {
  font-weight: bold;
  display: inline-block;
  width: auto;
  text-align: left;
}

#blast_result {
  background-color: #fff;
}

/*================================================
 *  Transcript Detail
 ================================================*/
#transcript_detail,
#expression_detail {
  table {
    th,
    td {
      padding: 7px;
    }
  }
}

#bhprotein {
  word-break: break-all;
  background: #fff;
  padding: 7px;
  margin-bottom: 0.5em;
  margin: 7px;
  /*box-shadow:2px 2px 2px 2px rgba(0, 0, 0, 0.15);*/
  border: 1px solid #ddd;
}
#nsequence {
  font-family: 'Roboto Mono', 'Courier New';
  word-break: break-all;
}
#psequence {
  font-family: 'Roboto Mono';
  word-break: break-all;
}

table#mrnaTbl td {
  text-align: center;
}
table#cdsTbl td {
  text-align: center;
}

.coexpressed-genes-wrap {
  width: 100%;
  margin: 20px auto;
}

/*================================================
 *  Protein Search Result
 ================================================*/
#blastAnnotation th,
#blastAnnotation td {
  padding: 7px;
}
#blastAnnotation td:not(.paging) {
  background: rgb(255, 255, 255);
}

td.paging {
  padding: 5px;
  text-align: right;
  background: #93e489;
  font-weight: bold;
}
td.keggLink {
  width: 100px;
}
td.goLink {
  width: 140px;
}
td.taxLink {
  width: 100px;
}

#alignmentArea {
  padding: 5px;
}

#alignmentArea dd {
  font-size: 90%;
  line-height: 1.2em;
  padding: 10px;
  box-shadow: 2px 2px 2px 2px rgba(0, 0, 0, 0.15);
  border: 1px solid #ddd;
  margin-bottom: 2em;
}

#alignmentArea dt {
  border-left: 5px solid #93e489;
  padding: 0px 0px 0px 7px;
}

#alignmentArea dt:before {
  content: none;
}
#alignmentArea pre {
  overflow-y: auto;
  padding: 7px;
  font-size: 90%;
  background: #fff;
  margin-bottom: 0.5em;
  margin-left: 15px;
  border: 1px solid #ddd;
  line-height: 1em;
}

/*================================================
 * 検索モーダル
 ================================================*/
.modal-wrap {
  display: none;
  position: fixed;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  background-color: rgba(0, 0, 0, 0.5);
  justify-content: center;
  align-items: center;
  z-index: 1000;

  &.is-active {
    display: flex;
  }

  .modal-container {
    background-color: #fff;
    padding: 2rem 5rem;
    border-radius: 8px;
    text-align: center;
    font-size: 1.2em;
    font-weight: bold;

    .spinner {
      border: 4px solid rgba(0, 0, 0, 0.1);
      width: 1.5rem;
      height: 1.5rem;
      border-radius: 50%;
      border-left-color: #b2d235;
      animation: spin 1s linear infinite;
      margin: 1em auto;
    }
  }
}

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