.portal {
  border: 1px solid lightgray;
  border-radius: 8px;
  background: #ffe;
}
/* experimental */
body, html {
	height: 100%;
}
#visgraph {
  height: 100vh;
}
h1 {
	font-size: 2em;
}
h1, h2 {
	margin-top: 0.25em;
}

/* xs < 768 */
@media screen and (max-width: 767px) {
    body {
        font-size: 0.9em;
    }
}

/* sm */
@media screen and (min-width: 768px) {
    body {
        font-size: 1em;
    }
}

/* md */
@media screen and (min-width: 992px) {
    body {
        font-size: 1.2em;
    }
}

/* lg */
@media screen and (min-width: 1200px) {
    body {
        font-size: 1.3em;
    }
}
/* 
@media only screen and (max-width: 992px){
#visgraph {
	height:80vh;
}
 */


#details table th {
	white-space: nowrap;
	vertical-align: top;
}
#details table td {
	vertical-align: top;
}
#details table {
	border-collapse: collapse;
	border-spacing: 80px 4px;
	table-layout: auto;
}
#kanji777 {
	padding-top: 0;
	font-size: 5em;
}
#legend p {
	border: 1px solid #444;	
	border-radius: 8px;
	margin: 8px;
	padding-left: 8px;
	padding-right: 8px;
}
.kanji-main {
	background: #ACEDED;
	font-size: 150%;
}
.kanji-other {
	background: #ACEDED;
}
.kanji-partof {
	background: #C5B7F1;
}
.kanji-radical {
	background: #B3F6B3;
}
.kanji-shared-onyomi {
	background: #FFD9BA;
}
.kanji-no-dict {
	border: 1px dashed #444 !important;
	background: #FFBABA;
}
.kanji-ijidoukun {
	background: #FFE270;
}

th { text-align: right; }
td { vertical-align: top; }

.kjbh-head, ul.breadcrumb { background: #333; color: #eee; }
.kjbh-head { padding: 0.25em 0.5em; }
.kjbh-head h2 { font-size: 1.5em; color: #ACEDED }

.modal-body {
    max-height: 70vh;
    overflow-y: auto;
}

#lookup-group {
	position: absolute;
	z-index: 1;
	left: 1em; 
	top: 1em; 
	width: 12em;
}

#suggest-group {
	position: absolute;
	z-index: 1;
	left: 1em; 
	top: 4em; 
}

#help-group {
	position: absolute;
	z-index: 1;
	right: 1em; 
	top: 1em; 
}

#side-panel {
	overflow-y: scroll;
	height: 100vh
}

.kanji-group-indicator {
	font-size: 1.2em;
	font-weight: bold;
}