* {
  box-sizing: border-box;
  margin: 0;
  padding: 0;
}

body {
  background-color: #EEE;
  /* Old browsers */
  background: #141E30;
  /* Chrome 10-25, Safari 5.1-6 */
  background: -webkit-linear-gradient(-45deg, #35577D, #141E30);
  /* W3C, IE 10+/ Edge, Firefox 16+, Chrome 26+, Opera 12+, Safari 7+ */
  background: linear-gradient(-45deg, #35577D, #141E30);
  font-family: 'EB Garamond';
  color: #444;
  padding: 0 20px;
  font-size: 25px;
  max-width: 960px;
  margin: 0 auto;
}

h1 {
  color: #EEE;
  padding: 40px 50px 25px 50px;
}

h1:first-of-type {
  margin-top: 50px;
}

h2 {
  padding: 0 0 20px 20px;
  color: rgba(0, 0, 0, 0.6);
}

a {
  color: #56A;
  text-decoration: none;
  padding-left: 0.25em;
  padding-right: 0.25em;
  margin-left: -0.25em;
  margin-right: -0.25em;
}

a:hover {
  background-color: rgba(0, 0, 0, 0.1);
  border-radius: 0.25em;
}

/* navigation start */
nav {
  background-color: #444;
  list-style: none;
  font-size: 50px;
  position: fixed;
  width: 100%;
  left: 0;
  top: 0;
  text-align: center;
}

nav li {
  display: inline-block;
}

nav a {
  text-decoration: none;
  color: #EEE;
  padding: 0 25px;
  margin: 0;
}

nav a:hover {
  border-radius: 50px;
}
/* navigation end */

section, article {
/*  border: 1px #BBB solid; */
  border-radius: 50px;
  background-color: #ABF;
  background-color: rgba(170, 187, 255, 0.5);
  padding: 25px;
  margin-bottom: 25px;
}

/* article start */
.article {
  border: 1px #BBB solid;
  background-color: #EEE;
  background-color: rgba(255, 255, 255, 0.9);
  border-radius: 25px;
}

.article:last-child {
  margin-bottom: 0;
}
/*
p:first-child {
  margin-top: 0;
}

p:last-child {
  margin-bottom: 0;
}
*/
.date {
  text-align: right;
  color: darkgrey;
  padding-top: 0.25em;
}
/* article end */

/* links start */
ul {
  list-style: none;
  padding-left: 15px;
}
/* links end */

/* timetable start */
caption {
  padding-bottom: 0.5em;
  font-size: 1.5em;
  font-weight: bold;
}

table, th, td {
  border: 1px #888 solid;
  border-collapse: collapse;
}

th, td {
  text-align: center;
  padding: 0.3em;
}

table {
  margin-left: auto;
  margin-right: auto;
  font-size: 0.72em;
}
/* timetable end */

/* mobile optimization */
@media only screen and (max-width: 960px) {
  #timetable {
    overflow-x: scroll;
  }
}
