@import url('//fonts.googleapis.com/css2?family=Pacifico&family=JetBrains+Mono:wght@100&display=swap');
@import url('//fonts.googleapis.com/css2?family=Sedgwick+Ave+Display&text=0123456789ABCDEFGJLMNOPRSTUVY:&display=swap');
@import url('//fonts.googleapis.com/css2?family=Hachi+Maru+Pop&family=Noto Sans JP:wght@300&subset=japanese&display=swap');

body {
    background-color: #181f1f;
    color: #E7F6F2;
    font-size: 18px;
    font-family: 'JetBrains Mono', 'Noto Sans JP', sans-serif;
    padding: 0;
    width: 800px;
    margin: 0 auto;
}

#wrapper, #fwrapper {
   position: absolute;
   top: 0;
   left: 0;
   bottom: 0;
   right: 0;
   z-index: -1;
   overflow: hidden;
   opacity: 0.3;
   font-size: 80%;
   text-align: justify;
   color: #A5C9CA;
   background-color: #395B64;
}

header img {
   padding-left: 10px;
   padding-right: 10px;
}

section#contents {
    width: 90%;
    margin-left: auto;
    margin-right: auto;
}

a, a:active, a:visited {
    color: #E7F6F2;
    text-decoration: underline;
}

h1, h2, h3, h4, h5, h6 {
margin: 20px 0 20px 0!important;
padding: 0px!important;
    font-family: 'Pacifico', 'Hachi Maru Pop';
}

span.title:before {
    content: attr(title);
    display: block;
    text-align: center;
    font-weight: normal;
    font-size: 20%;
    line-height: 2;
}

span.title {
    display: inline-block;
    text-indent: 0px;
    text-emphasis: none;
    text-align: center;
    line-height: 1.5;
}

article span.title:before {
    font-size: 60%;
    line-height: 0.5;
}

ruby > rt {
    ruby-position: under;
}
body > header {
/*    text-align: center;
    border-bottom: 1px dotted #E7F6F2;
    padding: 2em 0 2em 0;
    margin: 0;
    position: relative;*/
    text-align: center;
    border-bottom: 1px dotted #E7F6F2;
    margin: 0;
  display: flex;
  justify-content: center;
  align-items: center;
  overflow: hidden;
  position: sticky;
  /* Full width */
  z-index: 1;
}
    body > header a,
    body > header a:active,
    body > header a:visited {
        color: #000;
        text-decoration: none;
        font-weight: bold;
text-shadow:
-1px 0px 0px #fff,
1px 0px 0px #fff,
0px -1px 0px #fff,
0px 1px 0px #fff;

    }

body > header h1 {
    margin: 0px!important;
    padding: 0px!important;
}

article {
    line-height: 1.5em;
    margin: 0 0 0 3.5em;
    text-align: justify;
}

article header {
    margin: 0 0 0 -3.5em;
}

article header h3 {
    line-height: 2.2em;
}

article:not(:first-of-type){
    margin-top: 2.5em;
}

article footer {
    color: #999;
    padding: 0;
    margin: 2em 0 0 -3.5em;
    font-weight: bold;
}

article footer a {
    font-weight: normal;
}

article h3 {
    font-size: 1.5em;
    font-weight: normal;
    margin: 0;
    padding: 0;
    line-height: 1;
}
    article h3 a,
    article h3 a:active,
    article h3 a:visited {
        color: #9DC08B;
        text-decoration: none; 
    }

select {
    color: #E7F6F2;
    font-size: 12px;
    background: transparent;
    background-color: #2E4F4F;
    font-family: 'JetBrains Mono', 'Noto Sans JP', sans-serif;
    padding: 5px;
}

section {
    position: relative;
    display: block;
    margin: 2.5em 0 0 0;
    padding: 0;
}

article img {
    max-width: 100%;
    display: block;
    margin-left: auto;
    margin-right: auto;
    padding: 0;
    margin: 0;
}

@supports ((-webkit-hyphens:auto) or (hyphens:auto)){
    article p{
        -webkit-hyphens:auto;
        -ms-hyphens:auto;
        hyphens:auto;
        text-align:justify
    }
}

article footer {
    font-size: 0.9em;
}

.tag{
    display: inline-block;
    background-color: #2E4F4F;
    font-size: 80%;
    font-weight: bold;
    color: #fff;
    line-height: 20px;
    padding: 2px 4px;
}

audio {
    width: 100%;
}

.vid {
    padding: 0 0 0 0;
}
.vid iframe{
    width: 100%;
    border: 0;
    padding: 0;
    margin: 0;
}
.vid a{
    margin: 0;
    padding: 0;
    font-size: 80%;
}

.lyrics, .hlyrics {
    font-size: 0.8em;
    margin: 0 18px 18px 18px;
    color:#666;
    padding-left:10px;
    border-left:4px solid #eee;
}

.hlyrics, .htext{
    display: none;
}

#pagination{
    padding: 0;
    font-size: 0.9em;
    overflow:auto;
}

#prev{
    float: left;
}

#next{
    float: right;
}

table.bitext {
    width: 100%;
    font-size: 80%;
}
    table.bitext td {
        width: 50%;
        padding: 5px;
        vertical-align: top;
    }

figure {
   display:inline-block;
   border: 1px solid #3d3d29;
   background-color: #3d3d29;
   padding: 0 0 0 0;
   margin: 0 0 0 0;
}
figure img {
   padding: 0 0 0 0;
   margin: 0 0 0 0;
}
figure figcaption {
   text-align: center;
   font-size: 70%;
   color: #fff;
}
figure figcaption a {
   color: #fff;
}
div.imgR {
    float: right;
    padding: 5px;
}
div.imgL {
    float: left;
    padding: 5px;
}
div.imgC {
    font-size: 70%;
    text-align: center;
}

nav {
    padding: 1.5em 2em 3em 2em;
    margin: 0;
}
.centerC {
    text-align: left;
    width: 740px;
}
.rightC {
    float: right;
    text-align: right;
}
.leftC {
    float: left;
    text-align: left;
}
.leftC, .rightC {
    width: 320px;
}
.centerC, .leftC, .rightC {
    border-top: 1px dotted #E7F6F2;
    font-size: 0.85em;
}
   .centerC h3, .leftC h3, .rightC h3 {
        font-size: 1.5em;
        font-weight: normal;
        line-height: 1;
    }
.centerCC {
    min-height: 160px;
    text-align: right;
}
.centerCC, .leftCC, .rightCC {
    hyphens:auto;
    -webkit-hyphens:auto;
    -ms-hyphens:auto;
    margin: 0.5em;
}

#aboutc {
    text-align: right;
    padding-left: 0em;
    padding-right: 0.5em;
}
#aboutc img.avatar{
    float: left;
    padding: 2px 20px 2px 2px;
}
#aboutc .notes {
    font-size: 0.8em;
    text-align: left;
}
#archives h3 {
    display: inline;
    float: left;
}
#archives select {
    float: right;
    margin: 10px 0 10px 0;
}

nav h3, section#contents h3, div#comments h3 {
    font-size: 1.5em;
    color: #609966;
}

#lang ul, #cat ul {
    list-style: none;
    padding: 0;
    margin: 0;
}

#cat ul{
    columns: 2;
    -webkit-columns: 2;
    -moz-columns: 2;
    text-align: center;
}

body > footer {
   border-top: 1px dotted #E7F6F2;
   padding: 2em 0 2em 0;
   margin: 0 0 0 0;
   text-align: center;
   font-size: 0.8em;
   color: #fff;
   position:relative;
}
    body > footer p { margin: 0.5em; }

.notes{
    font-size: 0.7em;
}

.footnotes{
    font-size: 0.8em;
}

.center {
    margin-left: auto;
    margin-right: auto;
    text-align: center;
}

pre {
    border: 1px dashed #E7F6F2;
    font-size: 80%;
    padding-left: 20px;
    padding-right: 20px;
    width: 85%;
    margin: auto;
    overflow: auto;
    font-family: monospace;
}

#flag_en { background:url('/images/flags/en.gif') no-repeat; }
#flag_eo { background:url('/images/flags/eo.gif') no-repeat; }
#flag_oc { background:url('/images/flags/oc.gif') no-repeat; }
#flag_es { background:url('/images/flags/es.gif') no-repeat; }
#flag_gl { background:url('/images/flags/gl.gif') no-repeat; }
#flag_ja { background:url('/images/flags/ja.gif') no-repeat; }
#flag_an { background:url('/images/flags/an.gif') no-repeat; }
#flag_ast { background:url('/images/flags/ast.gif') no-repeat; }
#flag_fr { background:url('/images/flags/fr.gif') no-repeat; }
#flag_it { background:url('/images/flags/it.gif') no-repeat; }
#flag_vec { background:url('/images/flags/vec.gif') no-repeat; }
#flag_fur { background:url('/images/flags/fur.gif') no-repeat; }
#flag_cbk { background:url('/images/flags/cbk.gif') no-repeat; }
#flag_ia { background:url('/images/flags/ia.gif') no-repeat; }
#flag_gcf { background:url('/images/flags/gcf.gif') no-repeat; }
#flag_zh { background:url('/images/flags/zh.gif') no-repeat; }
#flag_af { background:url('/images/flags/af.gif') no-repeat; }
#flag_tet { background:url('/images/flags/tet.gif') no-repeat; }
#flag_pag { background:url('/images/flags/pag.gif') no-repeat; }
#flag_rm { background:url('/images/flags/rm.gif') no-repeat; }
#flag_lo { background:url('/images/flags/lo.gif') no-repeat; }
#flag_nag { background:url('/images/flags/nag.gif') no-repeat; }
#flag_tl { background:url('/images/flags/tl.gif') no-repeat; }
#flag_qu { background:url('/images/flags/qu.gif') no-repeat; }
#flag_ay { background:url('/images/flags/ay.gif') no-repeat; }
#flag_eu { background:url('/images/flags/eu.gif') no-repeat; }
#flag_ifa { background:url('/images/flags/ifa.gif') no-repeat; }
#flag_obo { background:url('/images/flags/obo.gif') no-repeat; }
#flag_kaa { background:url('/images/flags/kaa.gif') no-repeat; }
#flag_luo { background:url('/images/flags/luo.gif') no-repeat; }
#flag_hak { background:url('/images/flags/zh.gif') no-repeat; }
#flag_isv { background:url('/images/flags/isv.gif') no-repeat; }
#flag_nan { background:url('/images/flags/nan.gif') no-repeat; }
#flag_nso { background:url('/images/flags/nso.gif') no-repeat; }
#flag_sq { background:url('/images/flags/sq.gif') no-repeat; }
#flag_ain { background:url('/images/flags/ain.gif') no-repeat; }
#flag_lld { background:url('/images/flags/lld.gif') no-repeat; }
#flag_sl { background:url('/images/flags/sl.gif') no-repeat; }
#flag_bax { background:url('/images/flags/bax.gif') no-repeat; }

.langflag {
    background-position:right!important;
    padding-right:20px;
}

blockquote { 
    margin: 0 18px 18px 18px;
    color:#BCBCBC;
    padding-left:10px;
    border-left:4px solid #eee;
    font-size: 0.9em;
}

.nav {
    font-size: 75%;
    text-align: center;
    margin: 0 0 20px 0;
}
.nav-prev {
	float: left;
	width: 50%;
	text-align: left;
}
.nav-next {
	float: right;
	text-align: right;
	width: 50%;
}
.sel_var {
	text-align: center;
	padding: 15px;
	font-size: 80%;
}

#comments {
    clear: both;
    padding: 0;
    margin: 0;
}

#comments form, {
	display: block;
}

#comments form div.cmtbox {
	padding: 6px 8px 8px 8px;
}

#comments form input,
#comments form textarea,
#comments form table input {
	font-size: 13px;
}

#comments form input,
#comments form textarea,
#comments form table input,
#comments .cmtdiv pre,
#comments .cmtdiv code,
#comments .cmtdiv label {
	box-sizing: border-box;
	-moz-box-sizing: border-box;
	-webkit-box-sizing: border-box;
	-o-box-sizing: border-box;
}

#comments {
    margin: 0;
}

.cmtdiv {
    margin: 10px;
}

textarea, input {
    background-color: #395B64;
    color: #E7F6F2;
    border: 1px solid #E7F6F2;
    font-family: 'JetBrains Mono', 'Noto Sans JP', sans-serif;
}

textarea:focus,
input:focus {
	background-color: #40513B;
	border-color: #E7F6F2 ! important;
}

#comments form table input {
	width: 100%;
	height: 32px;
	font-size: 14px;
	padding-left: 28px;
	padding-right: 6px;
	background-position: left center;
	background-repeat: no-repeat;
	background-attachment: scroll;
    color: #E7F6F2;
}

#comments table tbody tr td {
	padding: 2px 0px 6px  0px;
	line-height: 16px;
}

#comments input.opt-name {
	background-image: url('/images/comments/name.png');
}

#comments input.opt-email {
	background-image: url('/images/comments/email.png');
}

#comments input.opt-website {
	background-image: url('/images/comments/website.png');
}

#comments form div.cmtbox,
#comments .cmtbubble {
	overflow: hidden;
	background-color: #2C3333;
	border: 1px solid #E7F6F2 ! important;
	text-align: left;
	height: auto;
	width: auto;
}

#comments .cmtdiv .cmtheader, #comments .cmtdiv .cmtdate {
	line-height: normal;
	padding: 8px 10px 10px 10px;
	margin-bottom: 10px;
	overflow: hidden;
    color: #9DC08B;
}
#comments .cmtdiv .cmtheader a {
    color: #9DC08B;
    text-decoration: underline;
}

#comments .cmtdiv .cmtdata {
    padding-left:15px;
    padding-right:15px;
}

#comments .cmtnumber img,
#comments .cmtnumber a {
	display: inline-block;
	width: 45px;
	height: 45px;
	border: 1px solid #E7F6F2;
	vertical-align: top;
	background-color: #395B64;
	font-size: 18px;
	text-align: center;
	line-height: 45px;
	text-shadow: none;
	font-weight: bold;
	color: #E7F6F2;
}

#comments .cmtnumber {
	display: inline-block;
	padding-right: 19px;
	float: left;
	margin-right: -1px;
	background-image: url('/images/comments/bubble-tick.png');
	background-position: right center;
	background-repeat: no-repeat;
	background-attachment: scroll;
}

form[name=contact] input,
form[name=contact] textarea {
    width: 100%;
    max-width: 100%;
    padding: 5px;
    -moz-box-sizing:border-box;
    -webkit-box-sizing:border-box;
    box-sizing:border-box;
    margin: 0;
    padding: 5px;
}
form[name=contact] textarea {
  height: 10em;
}

.langswitch {
    margin:0;
    padding:0;
 }
.langswitch p {
    float:left;
    padding:0;
    margin:0;
    font-size:.8em;
 }
.langswitch ul {
    list-style-type:none;
    display:inline;
    list-style-position:inside;
    float:left;
    margin:0 0 0 0.7em;
    padding:0;
 }
.langswitch ul li {
    list-style-type:none;
    display:inline;
 }
.langswitch a img {
    border:0;
 }
.langswitch ul li:after,.langswitch ul li:before {
 content: "";
}

.cal {
    font-family: 'Sedgwick Ave Display', cursive;
    text-align: left;
    width: 45px;
    height: 55px;
    float: left;
    margin: 0 0.8em 0 0;
    padding: 0 0 0 0;
}
.cal .day {
    font-size: 25px;
    line-height: 25px;
    color: #CBE4DE;
    margin: 0 0 0 0;
    padding: 0 0 0 0;
}
.cal .month {
    line-height: 15px;
    font-size: 15px;
    color: #585858;
    text-transform: uppercase;
    margin: 0 0 0 0;
    padding: 0 0 0 0;
}
.cal .year {
    line-height: 16px;
    font-size: 16px;
    transform-origin: 0 0;
    transform: rotate(270deg);
    margin: -15px 0 0 30px;
    padding: 0 0 0 0;
    color: #0E8388;
}
.cal .time {
    line-height: 12px;
    font-size:11px;
    margin: 0 0 0 0;
    padding: 0 0 0 0;
    color: #9DC08B;
}

.pagefind-ui__search-clear {
    display: none;
}

input.pagefind-ui__search-input {
    width: 100%;
}

@media screen and (max-width: 799px) {
   body {
      width: auto;
      float: none;
      font-size: 90%;
   }
   section {
       width: 90%; padding: 0 5% 0 5%;
   }
   article img {
      max-width: 100%;
      height: auto;
   }
   figure img {
      max-width: 100%;
      height: auto;
      border: 0;
      margin: 0 auto;
   }
   .centerC, .leftC, .rightC { float: none; padding: 1em 0em 2.5em 0em; }
   .centerC { width: auto; }
   .leftC, .rightC { width: 95%; }
   .centerC, .leftC { text-align: left; }
   .rightC { text-align: right; float: right; }
   .centerCC, .leftCC, .rightCC { padding: 0; margin: 0; }
   .langflag { background-position:left!important;padding-left:20px;padding-right: 0; }
   #archives select { margin: 12px; }
   #archives .leftCC { padding: 0 0 50px 0; }
   header { font-size: min(2.95vw, 100%); }
   header img { max-width: 39vw; }
}


}
