/*****************************************************************************/
/* print.css                                                                 */
/* =========                                                                 */
/* printing styles                                                           */
/*  AUTHOR: Song Ho Ahn (song.ahn@gmail.com)                                 */
/* CREATED: 2005-07-26                                                       */
/* UPDATED: 2024-02-10                                                       */
/*****************************************************************************/

body {
	margin:5pt;
	padding:0;
	font:80% arial, helvetica, sans-serif;
	color:black;
}
p {
	margin-top:0;
}
h1 {
	color:#666;
	text-align:center;
}
h3 {
	border-top:5px solid #999;
	padding:0;
	margin:30px 0 0 0;
	color:#666;
}
h4 {
	border-top:1px solid #999;
	padding:0;
	margin:30px 0 0 30px;
	color:#666;
}
img {
	border:0;
	padding:0;
	margin:0;
}

.code
{
	display:block;
	border:1px solid #999;
	margin:10px 0px;
	padding:0 10px;
	color:black;
	background-color:#f8f8f8;
	font-family:monospace,monospace;
	font-size:1em;
	white-space:pre;
	-webkit-border-radius:5px;
	-moz-border-radius:5px;
	border-radius:5px;
}

.codeblock {
	display:block;
	border:1px solid #999;
	background-color:#f8f8f8;
	margin:10px 0px;
	padding:0 10px;
	line-height:120%;
	-webkit-border-radius:5px;
	-moz-border-radius:5px;
	border-radius:5px;
}

.comment {
	color:#aaa;
}

.clear {
    clear:both;
}

/* caption */
.caption {
	font:70% arial, helvetica, sans-serif;
	text-align:center;
	color:#666;
}

/* main content: disable for printing */
/*
#leftblock {
	float:left;
	width:100%;
	margin:0;
	padding:10px;
}
*/
/* side contents: invisible for printing */
#menublock {
    display:none;
}
#rightblock {
	display:none;
}
.innerblock {
	padding:1em;
	margin:0;
	line-height:130%;
}

/* disqus comment block: invisible for printing */
#disqus_thread {
	display:none;
}

/* image map */
.mapblock {
	position:relative;
}
.mapoverlay {
	position:absolute;
	z-index:100;
}
.mapregion {
	position:absolute;
	top:0;
	left:0;
	display:none;
	z-index:99;
}
.mapbg {
	position:absolute;
	top:0;
	left:0;
	z-index:98;
}

/* default color of body text and its background */
.font_sansserif { font-family:sans-serif; }
.font_serif { font-family:serif; }

/* text alignments */
.center { text-align:center; }
.right { text-align:right; }

/* links */
a { border:0; }
a:link { color:blue; }
a:visited { color:purple; }
a:hover { color:red; }
a:active { color:red; }

/* index page link stuff */
.link {
	margin:0;
	padding:0;
}
.link a {
	display:block;
	color:black;
	background-color:white;
	padding:0.2em;
	text-decoration:none;
}
.link a:hover {
	color:black;
	background-color:#eee;
}

/* table attributes */
table, td, th
{
	border-color:#999;
	border-style:solid;
}
table
{
	border-width:0 0 1px 1px;
	border-spacing:0;
	border-collapse:collapse;
}
td, th
{
	border-width:1px 1px 0 0;
	margin:0;
	padding:2px;
}

/* main index page */
.homeblock {
    display:grid;
    justify-content:center;
    gap:10px;
    grid-template-areas:
        "HEAD HEAD HEAD SQ01 ...."
        "HEAD HEAD HEAD SQ02 ...."
        "SQ03 SQ04 SQ05 SQ06 SQ07"
        "FOOT FOOT FOOT SQ08 ....";
    grid-template-columns:repeat(5, calc(25vh - 15px));
    grid-template-rows:repeat(4, calc(25vh - 15px));
    margin:10px;
}
.home-head {
    grid-area:HEAD;
    text-align:right;
    overflow:auto;
    font-size:calc(0.2em + 1.5vh);
}
.home-head h1 { text-align:right; }
.home-foot {
    grid-area:FOOT;
    font-size:calc(0.2em + 1.4vh);
    color:#444;
    text-align:right;
}
.home-foot q { font-style:italic; }
.home-sq {
    border:1px solid #666;
    border-radius:3px;
    display:flex;
    align-items:stretch;
    justify-content:center;
    font-size:calc(10px + 1.5vh);
    background-color:#fafafa;
}
.home-sq:hover { background-color:#ddd; }
.home-sq a {
    flex-grow:1;
    color:#000;
    text-decoration:none;
    display:flex;
    justify-content:center;
    align-items:flex-end;
}
#home-sq01 {
    grid-area:SQ01;
    align-items:flex-end;
}
#home-sq01:hover {
    background-image:url("../files/songho.png");
    background-size:contain;
}
#home-sq02 { grid-area:SQ02; }
#home-sq03 { grid-area:SQ03; }
#home-sq04 { grid-area:SQ04; }
#home-sq05 { grid-area:SQ05; }
#home-sq06 { grid-area:SQ06; }
#home-sq07 { grid-area:SQ07; }
#home-sq08 { grid-area:SQ08; }

@media screen and (max-aspect-ratio: 73/60)   /* w/h */
{
    .homeblock {
        grid-template-columns:repeat(5, calc(20vw - 15px));
        grid-template-rows:repeat(4, calc(20vw - 15px));
    }
    .home-head {
        font-size:calc(0.2em + 1.5vw);
    }
    .home-foot {
        font-size:calc(0.2em + 1.4vw);
    }
}

@media screen and (max-width:500px)
{
    .homeblock {
        grid-template-areas:
            "HEAD"
            "SQ03"
            "SQ04"
            "SQ05"
            "SQ06"
            "FOOT";
        grid-template-columns:100%;
        grid-template-rows:auto;
    }
    .home-head {
        text-align:center;
        font-size:calc(0.2em + 2vh);
    }
    .home-head h1 {
        text-align:center;
    }
    .home-foot {
        text-align:center;
        font-size:calc(0.2em + 1.8vh);
    }
    .home-sq {
        line-height:2em;
    }
    #home-sq01, #home-sq02, #home-sq07, #home-sq08 {
        display:none;
    }
}



.flexrow {
	display:flex;
	flex-wrap:nowrap;
}

/*===== css3 =====*/
.shadow {
	-moz-box-shadow: 0px 0px 10px #888;
	-webkit-box-shadow: 0px 0px 10px #888;
	box-shadow: 0px 0px 10px #888;
}

.crossfade {
	position:relative;
}
.crossfade img {
	position:absolute;
	left:0;
}
@-webkit-keyframes key_crossfade {
	0%   { opacity:1; }
	45%  { opacity:1; }
	55%  { opacity:0; }
	100% { opacity:0; }
}
@-moz-keyframes key_crossfade {
	0%   { opacity:1; }
	45%  { opacity:1; }
	55%  { opacity:0; }
	100% { opacity:0; }
}
@-ms-keyframes key_crossfade {
	0%   { opacity:1; }
	45%  { opacity:1; }
	55%  { opacity:0; }
	100% { opacity:0; }
}
@keyframes key_crossfade {
	0%   { opacity:1; }
	45%  { opacity:1; }
	55%  { opacity:0; }
	100% { opacity:0; }
}
.crossfade img.top {
	-webkit-animation-name: key_crossfade;
	-webkit-animation-timing-function: ease-in-out;
	-webkit-animation-iteration-count: infinite;
	-webkit-animation-duration: 10s;
	-webkit-animation-direction: alternate;

	-moz-animation-name: key_crossfade;
	-moz-animation-timing-function: ease-in-out;
	-moz-animation-iteration-count: infinite;
	-moz-animation-duration: 10s;
	-moz-animation-direction: alternate;

	-ms-animation-name: key_crossfade;
	-ms-animation-timing-function: ease-in-out;
	-ms-animation-iteration-count: infinite;
	-ms-animation-duration: 10s;
	-ms-animation-direction: alternate;

	animation-name: key_crossfade;
	animation-timing-function: ease-in-out;
	animation-iteration-count: infinite;
	animation-duration: 10s;
	animation-direction: alternate;
}
