@charset "UTF-8";

/* makoto site style sheet */
@media print {
	.screen-only {
		display:none;
	}
  @page {
    margin: 4em;
  }
	body {
		color:#000;
		padding:3em;
		margin: 0;
		font-size:10pt;
	}

	:lang(en) {
		font-family:Baskerville,Garamond,'Times New Roman',Times,serif;
	}

	h1:lang(en) {
		font-family:MetronBook,Futura,Cochin,sans-serif;
		text-transform:uppercase;
/*		font-variant:small-caps; */
		letter-spacing:.05em;
		word-spacing:.1em;
		font-weight:400;
	}

	h2:lang(en),h3:lang(en),h4:lang(en) {
		font-family:'Avenir Next','Trebuchet MS',sans-serif;
		font-weight:500;
	}

	:lang(ja) {
		font-family:'YuMincho','Yu Mincho','Hiragino Mincho ProN','Hiragino Mincho ProN W3','ヒラギノ明朝 ProN','MS PMincho','MS P明朝','MS Mincho',serif;
		line-height:1.5em;
	}

	h1:lang(ja),h2:lang(ja),h3:lang(ja),h2 span:lang(ja) {
		font-family:HiraKakuProN-W6,'Hiragino Kaku Gothic ProN W6',Meiryo,sans-serif;
		letter-spacing:.05em;
		word-spacing:.1em;
		font-weight:700;
	}

	h1 {
		font-size:2em;
	}

	h2 {
		font-size:1.3em;
		border-bottom:thin solid #525151;
	}

	h3 {
		font-size:1.1em;
	}

	h4 {
		font-size:1.05em;
	}

	a {
		text-decoration:none;
		color:#000;
	}

	section.collapsedTopic {
		display:none;
	}

	section.topic {
		border:none;
		background:none;
		margin-bottom:4em;
	}

	section.topic h2 {
		border-bottom:thin solid #525151;
		padding-bottom:.2em;
		font-weight:400;
		background:none;
	}

	ul {
		list-style-type:circle;
	}

	h2,h3,h4 {
		font-weight:400;
	}

	figure#profilephotofrm img {
		width:150px;
	}
}

@media screen {
	:root {
		color-scheme: light dark;
	}

	.print-only {
		display:none;
	}

	:lang(en) {
		font-family:'Source Sans Pro','Helvetica Neue',sans-serif;
	}

	:lang(ja) {
		font-family:'Yu Gothic','HiraKakuProN-W3',sans-serif;
		line-height:normal;
	}

	h1:lang(ja) {
		font-family:'M+ 1c',m-1c,'HiraKakuProN-W3',sans-serif;
	}

	h1:lang(en) {
		font-family:MetronBook,'AvenirNext-Regular','Avenir Next',sans-serif;
	}

	h2:lang(en),header:lang(en) {
		font-family:'AvenirNext-DemiBold','Avenir Next',sans-serif;
	}

	h2:lang(ja),h2 span:lang(ja) {
		font-family:'HiraKakuProN-W6',sans-serif;
	}

	h3:lang(en),h4:lang(en) {
		font-family:'AvenirNext-Medium','Avenir Next',sans-serif;
	}

	h3:lang(ja),h4:lang(ja) {
		font-family:'HiraKakuProN-W6',sans-serif;
	}

	b:lang(en) {
		font-weight:600;
		font-family:'Source Sans Pro','HelveticaNeue-Medium',sans-serif;
	}

	i:lang(en) {
		font-family:'Source Sans Pro','HelveticaNeue-Italic',sans-serif;
	}

	body {
		color: #404040;
		background-color: #fff;
		padding-left:4em;
		padding-right:4em;
	}

	h1 {
		text-transform:uppercase;
		letter-spacing:.05em;
		word-spacing:.1em;
		color: #464b4b;
	}

	h1:lang(en) {
		font-family: MetronBook, 'URW Gothic L','Century Gothic','M+ 1c',Verdana,'DejaVu Sans',sans-serif;
		font-weight:normal;
		font-size:3em;
	}

	h1:lang(ja) {
		font-family:'M+ 1c',HirakakuProN-W3,'ヒラギノ角ゴ ProN W3',Meiryo,sans-serif;
		font-weight:300;
		font-size:2.8em;
	}

	h2 {
		font-size:1.3em;
		font-weight:500;
		border-bottom:thin solid #525151;
	}

	h2:lang(en) {
		font-family:'Avenir Next','URW Gothic L','Century Gothic',Avenir,sans-serif;
		text-transform:uppercase;
	}

	h2:lang(ja),h3:lang(ja),h2 span:lang(ja) {
		font-family:'M+ 1c',HirakakuProN-W3,'ヒラギノ角ゴ ProN W3',Meiryo,'DejaVu Sans',sans-serif;
	}

	h3:lang(en) {
		text-transform:uppercase;
	}

	h3 {
		font-size:1.1em;
		font-weight:500;
	}

	h4 {
		font-size:1.05em;
	}

	header.top-nav {
		margin-bottom:1em;
	}

	header.top-nav *:lang(en) {
		font-family: Metron, Vendana, sans-serif;
		font-weight: normal;
		text-transform:uppercase;
	}

	header.top-nav a {
		padding-top: 0.6ex;
		margin-right: 0.2em;
	}

	section.topic {
		background: #fff;
		box-sizing:border-box;
		padding:0;
		margin-bottom:1.5em;
		margin-left:0;
		width:98%;
	}

	section.collapsedTopic {
		display:inline-block;
		width:32%;
		margin-right:1%;
		margin-top:0;
		margin-bottom:.4em;
	}

	section.topic h2.topictitle {
		font-family: Metron, Vendana, sans-serif;
		font-weight: normal;
		background: rgb(51,106,86);
		color: rgb(255,255,255);
		border:none;
		margin:0;
		padding:.8em .7em .7em .7em;
	}

	section.topic h2.topictitle:hover {
		background:rgb(35,147,105);
	}

	section h2.topictitle::after {
		content: " ▣";
	}

	section.collapsedTopic h2.topictitle::after {
		content: " ➔";
	}

	div.topiccontent {
		margin-top:0;
	}

	ul {
		list-style-type:square;
	}

	section.topic div.topiccontent ul {
		padding-left:0em;
	}

	b {
		font-weight:600;
	}

	a {
		color: #0A194F;
		background-color:transparent;
	}

	a:hover {
		color:blue;
	}

	a.internal-link {
		text-decoration:none;
		background-color:#bbcaeb;
		border:1px solid #1e0f73;
		color:#0A194F;
		border-radius:5px;
		padding:2px 4px;
		white-space:nowrap;
		hyphens:none;
		-webkit-hyphens:none;
		-moz-hyphens:none;
	}

	a.internal-link:hover {
		color:inherit;
		background-color:#a1bfff;
	}

	ul.internal-link-list li {
		margin-top:.7em;
		list-style-type:none;
	}

	li.internal-link-list-item {
		line-height: calc(4px + 4ex);
	}

	figure#profilephotofrm img {
		width:260px;
	}
}
	
/* DARK MODE OVERRIDES */
@media (prefers-color-scheme: dark) {
	body {
		color: ghostwhite;
		background-color: #2d2d2d;
	}

	h1 {
		color: ghostwhite;
	}

	section.topic {
		background: #2d2d2d;
	}

	section.topic h2.topictitle {
		background: #77aa77;
		color: rgb(255,255,255);
	}

	a {
		color: #ffcc66;
	}

	a.internal-link {
		background-color: #6699cc;
		border:1px solid #88bbee;
		color: ghostwhite;
	}
}

h1 {
	text-align:center;
	margin-bottom:1.5em;
	margin-top:.5em;
}

h1.sitetitle {
	margin-top:.67em;
	letter-spacing:.15em;
}

h2 {
	padding-left:.4rem;
}

h3 {
	margin-left:1rem;
}

p {
	margin-top:.5em;
	margin-bottom:.5em;
	text-align:justify;
	-webkit-hyphens:auto;
	-moz-hyphens:auto;
	hyphens:auto;
}

section#profile p {
	margin-left:1rem;
	margin-right:1rem;
}

div.topiccontent > p:first-of-type {
	margin-top:.5em;
}

div.intro {
	margin:1rem;
	text-align:center;
}

div.topiccontent {
	margin:0;
	padding-top:1em;
	padding-left:0.5em;
	padding-right:0.5em;
}

section.topic h3 {
	margin-top:1.2em;
	margin-bottom:.8em;
	margin-left:1rem;
}

section.topic p,ul,ol {
	margin-left:1rem;
	margin-right:1rem;
}

ul,ol {
	padding-left:0em;
}

section.topic ul,ol {
	padding-left:0em;
}

section.topic ol ul {
	margin-left:0;
	padding-left:1rem;
}

li {
	margin-top:.4em;
}

li::marker {
	font-size: 80%;
}

li p {
	margin-top:.2em;
	margin-bottom:.2em;
	text-align:left;
}

ul#peopleLink, ul#extResOnMe {
	column-count:3;
	column-gap:2em;
	-webkit-column-count:3;
	-webkit-column-gap:3em; /* list bullet is eaten at 2em */
	-moz-column-count:3;
	-moz-column-gap:2em;
}

ul.two-columns, ul#mathSocLink {
	column-count:2;
	column-gap:2em;
	-webkit-column-count:2;
	-webkit-column-gap:3em;
	-moz-column-count:2;
	-moz-column-gap:2em;
}

section.topic h4 {
/*	margin-left: .5em; */
	margin-top:0.1em;
	margin-left:1rem;
	margin-bottom:.1em;
}

footer {
	margin-top:2em;
	padding-left:.5em;
	padding-top:.5em;
	border-top:thin solid #aaa;
}

footer p {
	margin-top:0;
	margin-bottom:.5em;
	font-size:.95em;
}

div.sitecontent {
	margin:0;
	padding:0;
}

/* span.family-name {
     font-variant: small-caps;
} */
section#profile {
	overflow:hidden;
	margin-bottom:1em;
}

section#profile h2 {
	font-size:1.2em;
	border-bottom:none;
	text-transform:none;
}

figure#profilephotofrm {
	float:right;
	margin-left:1rem;
	margin-right:1rem;
	margin-top:0;
}

div.topiccontent:after {
	content:" ";
	display:block;
	clear:both;
	height:0;
}

img.photo-small-ver {
	display:none;
}

figcaption {
	font-size:.8em;
	text-align:center;
	margin-top:.5ex;
}

html {
	-webkit-text-size-adjust:100%;
/* Prevent font scaling in landscape while allowing user zoom */
}

@media screen and (max-width: 720px) {
	h1:lang(en) {
		font-size:2em;
	}

	h1:lang(ja) {
		font-size:2em;
	}
}

@media screen and (max-width: 640px) {
	body {
		padding-left:0;
		padding-right:0;
	}

	h1 {
		margin-bottom:.4em;
		margin-top:.1em;
		/* color:#000; */
	}

	h2:lang(en),h3:lang(en),h4:lang(en),h2:lang(ja),h3:lang(ja),h4:lang(ja) {
		font-size:1em;
	}

	div.topiccontent {
/*		padding-left:.1em; */
		margin-left:0;
		padding-bottom:1em;
	}

	section.topic {
		padding:0;
	}

	section.collapsedTopic {
		display:inline-block;
	/*    float: left; */
		margin-top:0;
		margin-bottom:1ex;
	}

	ul {
		margin:0;
		padding-left:1em;
	}

	section.topic ul, ol {
		margin-left:1rem;
/*		padding-left:.8em; */
	}

	section.topic li {
			margin-left:0em;
	/*		padding-left:.8em; */
		}

	section.topic ol {
/*		padding-left:1.8em; */
	}

	section.topic ol ul {
		margin-left:-1rem;
	}

	ol {
		margin:0;
		padding-left:1.2em;
	}

	figure#profilephotofrm {
		margin:.2em;
	}

	li {
		margin-left:.4rem;
	}
}

@media screen and (max-width: 480px) {
	h1:lang(en) {
		font-weight:400;
		font-size:1.4em;
	}

	h1:lang(ja) {
		font-weight:400;
		font-size:1.4em;
	}

	figure#profilephotofrm img {
		width:140px;
		margin-left: 5px;
	}

	img.photo-large-ver {
		display:none;
	}

	img.photo-small-ver {
		display:inline;
	}

	figcaption {
		display:none;
	}

	section.topic {
		width:97%;
	}

	section.collapsedTopic {
	/*    float: left; */
		width:48%;
	}

	ul#peopleLink {
		column-count:2;
		column-gap:1em;
		-webkit-column-count:2;
		-webkit-column-gap:2em;
		-moz-column-count:2;
		-moz-column-gap:1em;
	}

	ul#mathSocLink,ul#extResOnMe {
		column-count:1;
		-webkit-column-count:1;
		-moz-column-count:1;
	}
}

@media screen and (min-resolution: 2dppx) and (max-width: 960px) {
	h1:lang(en) {
		font-weight:400;
		font-size:1.4em;
	}

	h1:lang(ja) {
		font-weight:400;
		font-size:1.4em;
	}

	figure#profilephotofrm img {
		width:140px;
	}

	img.photo-large-ver {
		display:none;
	}

	img.photo-small-ver {
		display:inline;
	}

	figcaption {
		display:none;
	}

	section.topic {
		width:97%;
	}

	section.collapsedTopic {
	/*    float: left; */
		width:48%;
	}

	ul#peopleLink {
		column-count:2;
		column-gap:1em;
		-webkit-column-count:2;
		-webkit-column-gap:2em;
		-moz-column-count:2;
		-moz-column-gap:1em;
	}

	ul#mathSocLink,ul#extResOnMe {
		column-count:1;
		-webkit-column-count:1;
		-moz-column-count:1;
	}
}
