body {
 font: 0.7em Tahoma, Geneva, sans-serif;
 background: #eff;
 color: #444;
 margin: 0;
}

h1,h2,h3,h4,h5,h6,
strong {
 color: #0cf;
 margin: 0;
}

h1 { font-size: 22px; }
h2 { font-size: 20px; }
h3 { font-size: 16px; }
p  { margin: 2px 0; }

ul {
 margin: 0;
 padding: 0;
}

#container {
 width: 940px;
 margin: 0 auto;
}

#container > * {
 background: #fff;
 border: solid 1px #87cefa;
}

/******
Header
*******/
header { padding: 4px; }

header h1 a {
 display: block;
 width: 474px; 
 height: 144px;
 margin: 0 auto;
 background: url('img/logo.png') 0 0 no-repeat;
 text-indent: 100%;
 white-space: nowrap;
 overflow: hidden;
}

nav ul {
 display: flex;
 justify-content: space-around;
 list-style: none;
}

nav a {
 width: 150px;
 height: 40px;
 display: block;
 border: none;
 background: url('img/nav.png') no-repeat;
 text-indent: 100%;
 white-space: nowrap;
 overflow: hidden;
}

nav li:first-child a{ background-position: 0 0; }
nav li:first-child a:hover { background-position: 0 -40px; }
nav li:nth-child(2) a { background-position: -150px 0; }
nav li:nth-child(2) a:hover { background-position: -150px -40px; }
nav li:nth-child(3) a { background-position: -300px 0; }
nav li:nth-child(3) a:hover { background-position: -300px -40px; }
nav li:nth-child(4) a { background-position: -450px 0; }
nav li:nth-child(4) a:hover { background-position: -450px -40px; }

/******
Footer
*******/
footer {
 display: flex;
 align-items: center;
 padding: 6px 20px;
}

.twitter > * { vertical-align: middle; }

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

/************
Content box
*************/
#content {
 display: flex;
 min-height: 600px;
 margin: 5px 0;
}

#content > *:not(aside) { 
 margin: 15px 0px;
 padding: 0 25px;
}

/*****************
Index page / news
******************/
#news { flex: 0 1 620px; }
#news > article { margin: 10px 10px 0; }
#news > *:last-child { margin-bottom: 10px; }

/***********************
Index page / pagination
************************/
.updates-pagination {
 font-size: 1.6em;
 margin-top: 20px;
 text-align: right;
}

.updates-pagination ul {
 display: inline-flex;
 list-style: none;
}

.updates-pagination > strong { vertical-align: middle; }

.updates-pagination a {
 border: solid 1px #87cefa;
 width: 25px;
 height: 25px;
 display: block;
 text-align: center;
}

.updates-pagination .current-page { background: #87cefa; }

/***********
Index / side
************/
aside {
 order: 1;
 flex: 0 0 300px;
 border-left: solid 1px #87cefa;
 padding: 15px 0 30px;
 min-width: 0; /* Prevents overflowing */
}

aside > h3 {
 text-align: right;
 margin: 0 20px 10px 0;
}

aside > h3:nth-of-type(2) { margin-top: 10px; }
aside ul { list-style: none; }

aside .imglnk li a {
 display: block;
 width: 220px;
 height: 60px;
 text-indent: 100%;
 white-space: nowrap;
 overflow: hidden;
 margin: 0 auto;
}

aside .imglnk li:first-of-type  a { background: url('img/widget_ss_pm.png') no-repeat; }
aside .imglnk li:nth-of-type(2)  a { background: url('img/widget_ss_pw.png') no-repeat; }
aside .imglnk li:nth-of-type(3)  a { background: url('img/widget_ss_psg.png') no-repeat; }

/*******
VN page
********/
.content-wrap { flex-wrap: wrap; }

.vns, .special { 
 display: flex;
 flex-wrap: wrap;
 justify-content: space-around;
 align-items: flex-start;
}

.vns > h2, .vns > p,
.special > h2, .special > p
{ flex: 2 0 800px; }

.vn, .sp {
 flex-basis: 400px;
 margin-top: 10px;
}

.vn:nth-of-type(n+3) { border-top: solid 1px #87cefa; }
.desc p:not(:first-of-type) { margin-top: 10px; }

/**********
About page
***********/
#about > section { margin: 10px; }
#about p { margin: 10px 25px; }

.int {
 display: flex;
 flex-wrap: wrap;
 justify-content: space-around;
}

.int > ul { width: 420px; }
.int li + li { margin: 4px 40px; }

.int li:first-child {
 list-style: none;
 color: #0cf;
 font-size: 14px;
 font-weight: bold;
}

/************
Contact page
*************/
.contact > *:not(h2) {
 margin-left: 10px;
 margin-right: 10px;
}

/*****
Links
******/
a,a:hover,a:visited{color: #4169e1; text-decoration: none;}
a:hover{border-bottom: dotted 1px #4169e1; }
.imglnk a:hover { border-bottom: none; }