/* biz-udmincho-regular - japanese_latin */
@font-face {
  font-display: swap; /* Check https://developer.mozilla.org/en-US/docs/Web/CSS/@font-face/font-display for other options. */
  font-family: 'BIZ UDMincho';
  font-style: normal;
  font-weight: 400;
  src: url('fonts/biz-udmincho-v11-japanese_latin-regular.woff2') format('woff2'); /* Chrome 36+, Opera 23+, Firefox 39+, Safari 12+, iOS 10+ */
}

/* biz-udmincho-700 - japanese_latin */
@font-face {
  font-display: swap; /* Check https://developer.mozilla.org/en-US/docs/Web/CSS/@font-face/font-display for other options. */
  font-family: 'BIZ UDMincho';
  font-style: normal;
  font-weight: 700;
  src: url('fonts/biz-udmincho-v11-japanese_latin-700.woff2') format('woff2'); /* Chrome 36+, Opera 23+, Firefox 39+, Safari 12+, iOS 10+ */
}


/* montserrat-regular - latin */
@font-face {
  font-display: swap; /* Check https://developer.mozilla.org/en-US/docs/Web/CSS/@font-face/font-display for other options. */
  font-family: 'Montserrat';
  font-style: normal;
  font-weight: 400;
  src: url('fonts/montserrat-v29-latin-regular.woff2') format('woff2'), /* Chrome 36+, Opera 23+, Firefox 39+, Safari 12+, iOS 10+ */
       url('fonts/montserrat-v29-latin-regular.ttf') format('truetype'); /* Chrome 4+, Firefox 3.5+, IE 9+, Safari 3.1+, iOS 4.2+, Android Browser 2.2+ */
}

/* montserrat-italic - latin */
@font-face {
  font-display: swap; /* Check https://developer.mozilla.org/en-US/docs/Web/CSS/@font-face/font-display for other options. */
  font-family: 'Montserrat';
  font-style: italic;
  font-weight: 400;
  src: url('fonts/montserrat-v29-latin-italic.woff2') format('woff2'), /* Chrome 36+, Opera 23+, Firefox 39+, Safari 12+, iOS 10+ */
       url('fonts/montserrat-v29-latin-italic.ttf') format('truetype'); /* Chrome 4+, Firefox 3.5+, IE 9+, Safari 3.1+, iOS 4.2+, Android Browser 2.2+ */
}

/* montserrat-600 - latin */
@font-face {
  font-display: swap; /* Check https://developer.mozilla.org/en-US/docs/Web/CSS/@font-face/font-display for other options. */
  font-family: 'Montserrat';
  font-style: normal;
  font-weight: 600;
  src: url('fonts/montserrat-v29-latin-600.woff2') format('woff2'), /* Chrome 36+, Opera 23+, Firefox 39+, Safari 12+, iOS 10+ */
       url('fonts/montserrat-v29-latin-600.ttf') format('truetype'); /* Chrome 4+, Firefox 3.5+, IE 9+, Safari 3.1+, iOS 4.2+, Android Browser 2.2+ */
}

/* montserrat-600italic - latin */
@font-face {
  font-display: swap; /* Check https://developer.mozilla.org/en-US/docs/Web/CSS/@font-face/font-display for other options. */
  font-family: 'Montserrat';
  font-style: italic;
  font-weight: 600;
  src: url('fonts/montserrat-v29-latin-600italic.woff2') format('woff2'), /* Chrome 36+, Opera 23+, Firefox 39+, Safari 12+, iOS 10+ */
       url('fonts/montserrat-v29-latin-600italic.ttf') format('truetype'); /* Chrome 4+, Firefox 3.5+, IE 9+, Safari 3.1+, iOS 4.2+, Android Browser 2.2+ */
}




h1{
	color: var(--bgcolour);
	font-family: 'BIZ UDMincho';
	display:block;
	font-size:3rem;
	-webkit-text-stroke:0.15rem var(--emphasis);
}

header{
    order:1;
}

.header_title{
    display: flex;
    height:630px;
    align-items: flex-end;
    background-repeat: no-repeat;
    background-position: bottom 1.5rem center;
}
.header_info{
}
a.title_anchor{
	color: var(--bgcolour) !important;
    text-decoration: none !important;
}



:root {
	--bgcolour:#bac9c2;
	--bgcolour2:#759992;
	--emphasis:#bf5c31;
    --emphasis-dark:#8F4729;
	--body:#30078C;
    scroll-behavior: smooth;
	background: var(--bgcolour);
}

h2,h3,h4,h5,h6{
    color: var(--body);
    font-family: 'BIZ UDMincho';
    display: block;
}
code{
    font-family: 'BIZ UDMincho';
    color: var(--body);

}
pre{
    white-space:pre-wrap;
    padding:0.5rem 0rem 0.7rem 1.5rem;
    border-left: 0.2rem solid var(--body);
}

a{
    color: var(--emphasis);
    text-decoration: underline;
}

a.header-anchor:visited{
    color: var(--emphasis) !important;
}

a:hover{
    color: var(--bgcolour) !important;
    background-color: var(--bgcolour2) !important;
}

a:visited{
    color: var(--emphasis-dark);
}

p{
	font-family: 'Montserrat';
	color: var(--body);
    line-height: 1.5em;
}
/* preventing footnotes from affecting line height */

sup, sub {
  vertical-align: baseline;
  position: relative;
  top: -0.4em;
}
sub { 
  top: 0.4em; 
}

/* containers */

blockquote{
    border-left: 0.25rem solid;
    border-color: var(--bgcolour2);
    margin-left: 1.5rem;
    padding-left: 1rem;
}

body{
    margin:	0% 0% 0% 0%;
    padding: 0;
}


.title_header{
    margin:	0% 0% 0% 0%;
    padding: 0;
}

.title_banner{
    
}
.description{
    font-style:oblique;
}
header{
    margin:	0% 0% 0% 0%;
    padding: 0;
}

footer{
    background-color: var(--bgcolour2);
    color: var(--bgcolour);
    font-family: 'BIZ UDMincho';
    text-align:center;
    margin-bottom:96px;
}
footer.endofpage{
    font-size:1.2rem;
    margin-bottom:1rem;
    margin-top:5rem;
    order:99;
}
footer.endofpage a{
    color: var(--bgcolour);   
}
footer.endofpage a:visited{
    color: var(--bgcolour);
}
footer>p{
    color: var(--bgcolour);
    font-family: 'BIZ UDMincho';
    margin: 0%;
}
ul{
list-style-type:square;
}
ul li{
padding-bottom:0.5rem;
}
li {
color: var(--body);
    font-family: 'Montserrat'
}
ol {
    font-family: 'Montserrat';
}

ol.entrylist{
    font-family: 'BIZ UDMincho';
    font-size:1.2rem;
}
p.entrylist{
    font-size:1.2rem;
}
.splash {
	display:flex;
	flex-direction:column;
	justify-content:center;
	align-items:center;
}
.blockimg {
	max-width:100%;
	display:block;
}


/*bars - some of these in responsive */
main{
    display:flex;
    flex-direction:column;
}
nav {
    font-family: 'BIZ UDMincho';
    font-size: 1.2em;
    padding-top: 20rem;;
    height: 100%;
    max-width: 300px;
    top: 0;
    margin-right:12%;
    padding-left:1rem;
    padding-right:1rem;
    position:sticky;
    display: flex;
}
nav ul{
    font-family: 'BIZ UDMincho';
    padding: 0px;
}
nav li{
    font-family: 'BIZ UDMincho';
}
.entrylist li{
    font-family: 'BIZ UDMincho';
}
nav li:before{
    content: "~/";
}
nav li::marker{
    content:""
}

.entry_navblock{
    margin-top: 6rem;
    border-top: 2px solid;
    border-color: var(--bgcolour2);
    padding-top:1.5rem;
}
.entry_navblock>p{
    color: var(--body);
    font-family: 'BIZ UDMincho';
    margin: 0.2rem 0px;
}
/* toc */
.table-of-contents{
    font-family: 'BIZ UDMincho';
    font-size:1.2rem;
    color: var(--bgcolour2);
}
.table-of-contents ol{
    font-family: 'BIZ UDMincho';    
}
.table-of-contents li{
    font-family: 'BIZ UDMincho';   
    margin: 0.5rem;
    color: var(--bgcolour2);
    display: block; counter-increment: list-item; 
}
.table-of-contents a{
    color: var(--bgcolour2);
}
.table-of-contents li:before { content: counters(list-item,'.') ' '; }

.table-of-contents li::marker{
color: var(--body);
}

mark{
    color: var(--bgcolour);
    background: var(--emphasis) !important;
    font-weight: strong;
    padding-right: 0.2em;
    padding-left: 0.2em;
}

.footnotes-sep{
border-width: 1px;
border-style: dashed;
color: var(--bgcolour2);
margin-top:3rem;
}


.imgsource{
    color:var(--bgcolour2) !important;
    font-style:oblique;
    margin-bottom:2rem;
}
.imgsource>p{
    color:var(--bgcolour2);
}
.align-right{
text-align: right;
}

.signature{
text-align: right;
font-size:1.5rem;
}
.signature>p{
font-family: 'BIZ UDMincho' !important;
}

.list_nobreak ul li{
padding-bottom:0%;
}

.logo_full{
    display:block;
}
.logo_small{
    display:none;
}

header{
	order: 0;
}
article{
	order: 1;
}

/* widescreen */
@media only screen and (min-width: 70rem) {
.column_container{
    display:flex;
    flex-direction:row;
}
main{
    display:flex;
    flex-direction:column;
	width:800px;
}
nav {
    color:var(--body);
    flex-direction:column;
    order: 4;
}
nav>ul{
    font-weight:400;
/*    padding:1em 1em 2em 1em;
    margin-left:0.8em;
    border-left:0.2rem solid var(--emphasis);
*/}

main {
    order: 3;
    max-width:800px;
    margin-left: auto;
    margin-right:1rem;
    padding-left:1rem;
    padding-right:1rem;
    z-index:3;
}
.hide_wide{
    display:none;
}
nav>img{
  margin-left: auto;
  margin-right: auto;
}
nav.table-of-contents {
    overflow:scroll;
    display:flex;
    flex-direction:column-reverse;
    scrollbar-color:var(--bgcolour2);
    scrollbar-width: none;
    order: 2;
    position: fixed;
    padding-top: 40vh;
    padding-left:1.5rem;
    padding-right:2rem;
    max-height: 60vh;
    max-width: 20%;
    top: 0;
    left: 3%;
    margin:	0% 0% 0% 0%;
    z-index: -1;
}
::-webkit-scrollbar {
    display: none;
}
}

/* in-between */
@media only screen and (max-width: 1600px) {
nav.table-of-contents {
    overflow: visible;
    order: 2;
    padding:1.5rem 1.5rem 3rem 0px;
    height: 100%;
    margin:	0% 0% 0% 0%;
    max-width: 600px;
    position: relative;
    z-index: 4;
}
article {
    order: 1;
}
nav.table-of-contents ol {
    margin-left:2%;
    padding-left:2%;
}
nav {
    margin-right:6%;
    order: 3;
}
}
/* single column */
@media only screen and (max-width: 70rem) {
.logo_full{
    display:none;
}
.logo_small{
    display:inline;
    padding-left:5%;
    padding-right:2%;
	object-fit:none;
}
.hide_small{
    display:none;
}
.hide_wide>h3{
    padding-right:1em;
}
.column_container{
    display:flex;
    flex-direction:column-reverse;
}
nav {
    background:var(--emphasis);
    padding: 0.2em 0% 0.5em;
    z-index: 5;
    max-width:100%;
    margin: 0% 0% 0% 0%;
    color:var(--bgcolour) ;
    flex-direction:row;
}
nav>img{
    vertical-align: middle;
}
nav ul{
    display:inline;
    vertical-align: middle;
    margin:auto;
    margin-right:3em;
    padding: 0;
    font-weight:600;
}
nav li{
    display: inline-block;
    vertical-align: bottom;
    color:var(--bgcolour);
}

nav h1, nav h2,nav h3,nav h4,nav h5,nav h6{
    display:inline;
    color: var(--bgcolour);
}
nav h3 {
    padding-right:1em;
}
nav ul a:link, nav ul a:visited, nav ul a:hover, nav ul a:active { 
    color: var(--bgcolour) ;
}

nav.table-of-contents {
    background:none;
    color: var(--bgcolour2);
    overflow: visible;
    padding:1.5rem 1.5rem 3rem 0px;
    max-width: 600px;
    height: 100%;
    margin:	0% 0% 0% 0%;
    position: relative;
    z-index: 4;
}
nav.table-of-contents ol {
    order: 1;
    margin-left:2%;
    padding-left:2%;
}
nav .table-of-contents ol li {
   color: var(--bgcolour2);
}
article {
    order: 2;
    margin: auto;
    padding:4rem;
    padding-top:0%;
    max-width:100%;
}
.header_info{
    max-width:800px;
    margin:auto;
}
.header_title{
    height:420px;
    background-position: bottom 1.5rem center;
    max-width:800px;
    margin:auto;
}
}


