/**********************************************************************/

/* Style for tsukurimashou.org by Matthew Skala
 * visual appearance based on the public domain "Prosimii" template by
 * "haran," modified to use flex instead of grid and for display on
 * narrow portrait devices
 */

/* global stuff */

a, a:focus {
  color: #4c5c7a;
  background-color: transparent;
  text-decoration: underline;
  margin: 0;
  padding: 0 1px 2px 1px;
}

a:hover {
  color: #7590ae;
  text-decoration: none;
}

.hidden { display: none ! important; }

body {
  color: #000;
  background: #fff;
  padding: 0px;
  margin: 0px;
  border: 0px;
  font-family: Helvetica, sans-serif;
}

ol {
  margin: 0 0 1.5em 0;
  padding: 0;
}

ul {
  list-style-type: square;
  margin: 0.5em 0 1.5em 0;
  padding: 0;
}

ul li, ol li {
  line-height: 1.15em;
  margin: 0.75ex 0 0 1.5em;
  padding: 0;
}

/* headers */

.superheader {
  color: #82809a;
  background-color: #213242;
  text-align: right;
  margin: 0;
  padding: 0.5ex 10px;
}

.superheader a {
  color: #c3c4d2;
  background-color: transparent;
  text-decoration: none;
  margin: 0;
  padding: 0 0.25ex 0 0;
}

.superheader a:hover {
  color: #c1665a;
  background-color: transparent;
  text-decoration: none;
}

.header {
  color: #fff;
  background-color: #3d5c7a;
  margin: 0;
  padding: 0.26ex 10px;
}

h1 {
  font-size: 300%;
  margin: 0;
  padding: 0;
}

.subtitle {
  font-size: 151%;
  font-weight: normal;
  font-style: italic;
  margin: 0 0 1ex 0;
  padding: 0;
}

.subheader {
  color: #fff;
  background-color: #7590ae;
  margin: 0;
  padding: 0.5ex 10px;
}

.subheader a {
  color: #fff;
  background-color: transparent;
  font-size: 110%;
  font-weight: bold;
  text-decoration: none;
  margin: 0;
  padding: 0 0.25ex 0 0;
  display: inline-block;
}

.subheader a:hover {
  color: #fb0;
  background-color: transparent;
  text-decoration: none;
  display: inline-block;
}

/* main section */

.main-wrapper {
  display: flex;
  flex-flow: row wrap;
  justify-content: space-around;
}

.main-content, .main-sidebar, .idsq-content {
  flex-shrink: 1;
  margin: 1em 0;
  text-align: justify;
  padding: 0 1.9%;
}

.main-content {
  border-right: 1px solid #ccc;
  width: 300px;
  max-width: 1200px;
  flex-grow: 3;
}

.main-sidebar {
  width: 240px;
  max-width: 720px;
  flex-grow: 1;
}

h2 {
  color: #7590ae;
  background-color: transparent;
  font-size: 200%;
  margin: 0;
  padding: 0;
  text-align: left;
}

h3 {
  color: #3d5c7a;
  background-color: transparent;
  font-size: 151%;
  margin: 0;
  padding: 0;
  text-align: left;
}

p {
  line-height: 1.4em;
  margin: 0.75em 0 0.5em 0;
  padding: 0;
}

/* bottom section */

.bottom-wrapper {
  display: flex;
  flex-flow: row wrap;
  justify-content: flex-end;
  border-top: 1px solid #ccc;
}

.bottom-box, .bottom-last-box {
  min-width: 240px;
  width: 20%;
  max-width: 640px;
  flex-grow: 1;
  margin: 1em 0; 
  padding: 0 1.9%;
}

.bottom-box {
  border-right: 1px solid #ccc;
}

.bottom-last-box {
}

.more-link {
  text-align: right;
}

.more-link a {
  color: #3d5c7a;
  font-size: 92%;
  margin: 0;
  padding: 0.25ex 0.75ex;
}

.more-link a::after {
  content: " »";
}

/* footer */

.footer {
  color: #336;
  background-color: #eee;
  font-size: 87%;
  text-align: center;
  line-height: 1.25em;
  margin: 1em 0 0 0;
  padding: 1ex 10px;
  clear: left;
}

.footer p {
  line-height: 1.4em;
  margin: 0 0 0 0;
  padding: 0;
}

/**********************************************************************/

/* responsive/mobile design */

@media (max-width: 585px) {
  .superheader, .header, .subheader { text-align: center; }
}

@media (min-width: 1920px) {
  .bottom-wrapper { justify-content: center; }
}

/**********************************************************************/

/* special stuff for the IDS query page */

.idsq-content {
  width: 100%;
  max-width: 1920px;
  flex-grow: 1;
  font-size: 14px;
  text-align: justify;
}

.idsqb-wrapo {
  width: 100%;
  float: left;
  margin-bottom: 7px;
}

@media (min-width: 580px) {
  .idsq-content { font-size: 16px; }
  .idsqb-wrapo {
    max-width: 60%;
    margin-right: 20px;
    margin-bottom: 3px;
  }
}

@media (min-width: 960px) {
  .idsq-content { font-size: 18px; }
  .idsqb-wrapo {
    max-width: 580px;
    margin-right: 20px;
    margin-bottom: 3px;
  }
}

.qt, .qt-bold, .qt-register, .qt-unicode, .qt-literal, .sr,
.analyzer-unloaded, .analyzer-loaded {
  display: inline-block;
  padding: 0px 2px;
  margin: 2px;
  min-width: 1em;
  text-align: center;
}

.qt, .qt-bold {
  background-color: rgb(240,245,255);  
}

.qt-bold {
  font-weight: bold;
}

.qt-register, .qt-unicode, .qt-literal, .analyzer-unloaded {
  background-color: rgb(255,240,245);  
}

.nowrap {
  white-space: nowrap;
}

.qt-unicode, .qt-literal {
  padding-right: 16px;
  margin-right: -16px;
}

.qt-unicode-field {
  width: 4em;
  margin-left: -6px;
}

.qt-literal-field {
  width: 1em;
  margin-left: -6px;
}

.sr, .analyzer-loaded {
  background-color: rgb(240,255,245);
}

.folder-open, .folder-closed {
  display: inline-block;
  cursor: pointer;  
}
.folder-open::after {
  content: "»";
}
.folder-closed::after {
  content: "«";
}
.folder-open:hover, .folder-closed:hover, .analyzer-loaded:hover {
  text-decoration: underline;
  cursor: pointer;
}

.foldee-open {
}

.foldee-closed {
  display: none;
}

.idsqb-wrapi {
  border-style: dashed;
  border-width: 2px;
  border-color: rgb(61,92,122);
  border-radius: 17px;
  width: 100%;
  padding-top: 100%;
  position: relative;
}

.idsqb {
  position: absolute;
  top: 0;
  left: 0;
  bottom: 0;
  right: 0;
}

.idsqb-q {
  position: absolute;
  left: 50%;
  top: 50%;
  transform: translate(-50%,-50%);
  background-color: rgb(240,245,255);
  z-index: 5;
  text-align: center;
}

.istarget {
  border-style: solid;
  border-width: 5px;
  border-color: rgb(61,92,122);
}

.idsqb-q1 {
  width: 133px;
  height: 133px;
  font-size: 85px;
}

.idsqb-q2 {
  width: 100px;
  height: 100px;
  font-size: 64px;
}

.idsqb-q3 {
  width: 75px;
  height: 75px;
  font-size: 48px;
}

.idsqb-q4 {
  width: 56px;
  height: 56px;
  font-size: 36px;
}

.idsqb-q5 {
  width: 32px;
  height: 32px;
  font-size: 20px;
}

.idsqb-q6 {
  width: 18px;
  height: 18px;
  font-size: 11px;
}

.idsqb-x {
  position: absolute;
  width: 30px;
  height: 30px;
  border-style: solid;
  border-width: 2px;
  border-color: rgb(61,92,122);
  border-radius: 10px;
  background-color: rgb(240,245,255);
  z-index: 5;
  text-align: center;
  font-size: 18px;
  cursor: pointer;
}

.idsqb-lr-x {
  left: 50%;
  top: 0;
  transform: translate(-50%,-10%);
}

.idsqb-lr-l {
  position: absolute;
  top: 0;
  left: 0;
  bottom: 0;
  right: 50%;
}

.idsqb-lr-r {
  position: absolute;
  top: 0;
  left: 50%;
  bottom: 0;
  right: 0;
  border-left-style: dashed;
  border-width: 2px;
  border-color: rgb(61,92,122);
}

.idsqb-tb-x {
  left: 0;
  top: 50%;
  transform: translate(-10%,-50%);
}

.idsqb-tb-t {
  position: absolute;
  top: 0;
  left: 0;
  bottom: 50%;
  right: 0;
}

.idsqb-tb-b {
  position: absolute;
  top: 50%;
  left: 0;
  bottom: 0;
  right: 0;
  border-top-style: dashed;
  border-width: 2px;
  border-color: rgb(61,92,122);
}

.idsqb-oi-x {
  left: 75%;
  top: 25%;
  transform: translate(-90%,-10%);
}

.idsqb-oi-o {
  position: absolute;
  top: 0;
  left: 0;
  bottom: 0;
  right: 75%;
}

.idsqb-oi-i {
  position: absolute;
  top: 25%;
  left: 25%;
  bottom: 25%;
  right: 25%;
  border-style: dashed;
  border-width: 2px;
  border-color: rgb(61,92,122);
  border-radius: 10px;
}

.idsqb-tc-x {
  left: 30%;
  top: 100%;
  transform: translate(-50%,-90%);
}

.idsqb-tc-t {
  position: absolute;
  top: 0;
  left: 0;
  bottom: 65%;
  right: 0;
}

.idsqb-tc-c {
  position: absolute;
  top: 35%;
  left: 30%;
  bottom: 0;
  right: 30%;
  border-top-style: dashed;
  border-left-style: dashed;
  border-right-style: dashed;
  border-width: 2px;
  border-color: rgb(61,92,122);
}

.idsqb-bc-x {
  left: 30%;
  top: 0;
  transform: translate(-50%,-10%);
}

.idsqb-bc-b {
  position: absolute;
  top: 65%;
  left: 0;
  bottom: 0;
  right: 0;
}

.idsqb-bc-c {
  position: absolute;
  top: 0;
  left: 30%;
  bottom: 35%;
  right: 30%;
  border-bottom-style: dashed;
  border-left-style: dashed;
  border-right-style: dashed;
  border-width: 2px;
  border-color: rgb(61,92,122);
}

.idsqb-lc-x {
  left: 100%;
  top: 30%;
  transform: translate(-90%,-50%);
}

.idsqb-lc-l {
  position: absolute;
  top: 0;
  left: 0;
  bottom: 0;
  right: 65%;
}

.idsqb-lc-c {
  position: absolute;
  top: 30%;
  left: 35%;
  bottom: 30%;
  right: 0;
  border-bottom-style: dashed;
  border-left-style: dashed;
  border-top-style: dashed;
  border-width: 2px;
  border-color: rgb(61,92,122);
}

.idsqb-gw-x {
  left: 35%;
  top: 100%;
  transform: translate(-50%,-90%);
}

.idsqb-gw-g {
  position: absolute;
  top: 0;
  left: 0;
  bottom: 65%;
  right: 65%;
}

.idsqb-gw-w {
  position: absolute;
  top: 35%;
  left: 35%;
  bottom: 0;
  right: 0;
  border-left-style: dashed;
  border-top-style: dashed;
  border-width: 2px;
  border-color: rgb(61,92,122);
}

.idsqb-nw-x {
  left: 0;
  top: 35%;
  transform: translate(-10%,-50%);
}

.idsqb-nw-n {
  position: absolute;
  top: 0;
  left: 65%;
  bottom: 65%;
  right: 0;
}

.idsqb-nw-w {
  position: absolute;
  top: 35%;
  left: 0;
  bottom: 0;
  right: 35%;
  border-right-style: dashed;
  border-top-style: dashed;
  border-width: 2px;
  border-color: rgb(61,92,122);
}

.idsqb-lw-x {
  left: 35%;
  top: 0;
  transform: translate(-50%,-10%);
}

.idsqb-lw-l {
  position: absolute;
  top: 65%;
  left: 0;
  bottom: 0;
  right: 65%;
}

.idsqb-lw-w {
  position: absolute;
  top: 0;
  left: 35%;
  bottom: 35%;
  right: 0;
  border-left-style: dashed;
  border-bottom-style: dashed;
  border-width: 2px;
  border-color: rgb(61,92,122);
}

.idsqb-ol-x {
  left: 55%;
  top: 0;
  transform: translate(-50%,-10%);
}

.idsqb-ol-o {
  position: absolute;
  top: 0;
  left: 0;
  bottom: 45%;
  right: 45%;
  border-right-style: dashed;
  border-bottom-style: dashed;
  border-width: 2px;
  border-color: rgb(61,92,122);
}

.idsqb-ol-l {
  position: absolute;
  top: 45%;
  left: 45%;
  bottom: 0;
  right: 0;
  border-left-style: dashed;
  border-top-style: dashed;
  border-width: 2px;
  border-color: rgb(61,92,122);
}

.idsqb-lcr-x {
  left: 33%;
  top: 0;
  transform: translate(-50%,-10%);
}

.idsqb-lcr-l {
  position: absolute;
  top: 0;
  left: 0;
  bottom: 0;
  right: 67%;
}

.idsqb-lcr-c {
  position: absolute;
  top: 0;
  left: 33%;
  bottom: 0;
  right: 33%;
  border-left-style: dashed;
  border-width: 2px;
  border-color: rgb(61,92,122);
}

.idsqb-lcr-r {
  position: absolute;
  top: 0;
  left: 67%;
  bottom: 0;
  right: 0;
  border-left-style: dashed;
  border-width: 2px;
  border-color: rgb(61,92,122);
}

.idsqb-tcb-x {
  left: 0;
  top: 33%;
  transform: translate(-10%,-50%);
}

.idsqb-tcb-t {
  position: absolute;
  top: 0;
  left: 0;
  bottom: 67%;
  right: 0;
}

.idsqb-tcb-c {
  position: absolute;
  top: 33%;
  left: 0;
  bottom: 33%;
  right: 0;
  border-top-style: dashed;
  border-width: 2px;
  border-color: rgb(61,92,122);
}

.idsqb-tcb-b {
  position: absolute;
  top: 67%;
  left: 0;
  bottom: 0;
  right: 0;
  border-top-style: dashed;
  border-width: 2px;
  border-color: rgb(61,92,122);
}

.idsqb-anywhere-x {
  left: 7%;
  top: 7%;
  transform: translate(-50%,-50%);
}

.idsqb-anywhere-t {
  position: absolute;
  width: 30px;
  height: 30px;
  top: 7%;
  left: 11%;
  transform: translate(0,-50%);
}

.idsqb-anywhere-b {
  position: absolute;
  top: 14%;
  left: 0;
  bottom: 0;
  right: 0;
  border-top-style: dashed;
  border-width: 1px;
  border-color: rgb(61,92,122);
}

.dicthead {
  font-weight: bold;
}

.idsq-content .dictdef, .idsq-content .dictnote {
  margin-top: 0.5em;
  margin-bottom: 0.2em;
  line-height: 1.3em;
  text-align: left;
}

.idsq-content .dictdef {
  padding-left: 1em;
  text-indent: -1em;
}

.dictnote {
  font-style: italic;
}

.recycler-open, .recycler-closed {
  float: left;
  background-color: rgb(255,240,245);
  text-align: center;
  width: 133px;
  height: 133px;
  font-size: 85px;
}

.recycler-open, .analyzer-open {
  display: inline-block;
}

.recycler-closed, .analyzer-closed {
  display: none;
}


