html {
  font-family: 'Source Sans Pro', 'Helvetica Neue', sans-serif;
  line-height: 1.6;
  color: #333;
  background: #eee;
}

a {
  color: #2c9b2c;
  -webkit-transition: color, background-color .1s ease;
  transition: color, background-color .1s ease;
}
a:hover {
  color: #4aa84a;
}
a:visited {
  color: #9b51ba;
}

h1, h2, h3, h4, h5, h6 {
  font-weight: bold;
}

h2 {
  font-size: 200%;
  margin: 0 0 .2em;
  line-height: 1;
}

h3 {
  font-size: 150%;
  margin: 0 0 .2em;
}

h4 {
  font-size: 125%;
  margin: 0 0 .4em;
}

p {
  margin-bottom: 1em;
}

.banner {
  width: 100%;

  /* http://www.cssmatic.com/gradient-generator#'\-moz\-linear\-gradient\%28top\%2C\%20rgba\%28231\%2C76\%2C255\%2C1\%29\%200\%25\%2C\%20rgba\%28154\%2C81\%2C186\%2C1\%29\%20100\%25\%29\%3B' */
  background: rgba(231,76,255,1);
  background: -moz-linear-gradient(top, rgba(231,76,255,1) 0%, rgba(154,81,186,1) 100%);
  background: -webkit-gradient(left top, left bottom, color-stop(0%, rgba(231,76,255,1)), color-stop(100%, rgba(154,81,186,1)));
  background: -webkit-linear-gradient(top, rgba(231,76,255,1) 0%, rgba(154,81,186,1) 100%);
  background: -o-linear-gradient(top, rgba(231,76,255,1) 0%, rgba(154,81,186,1) 100%);
  background: -ms-linear-gradient(top, rgba(231,76,255,1) 0%, rgba(154,81,186,1) 100%);
  background: linear-gradient(to bottom, rgba(231,76,255,1) 0%, rgba(154,81,186,1) 100%);
  filter: progid:DXImageTransform.Microsoft.gradient( startColorstr='#e74cff', endColorstr='#9a51ba', GradientType=0 );

  padding: 3em;
  margin-bottom: 2em;
  box-shadow: 2px 2px 1px #bbb;
  color: #fff;
}

.banner h1 {
  width: 300px;
  height: 300px;
  margin: 0 auto 2em;
}

.banner h1 a {
  display: block;
  text-indent: -9999px;
  width: 100%;
  height: 100%;
  background-image: url('clojure-bridge-logo-big.png');
  background-size: contain;
}

.summary {
  max-width: 620px;
  margin: 0 auto;
  padding: 0 10px;
  font-size: 34px;
  font-style: italic;
  text-align: center;
  font-weight: 300;
  text-shadow: 1px 1px 1px #333;
}

.main {
  max-width: 620px;
  padding: 0 10px;
  margin: 1em auto;
}

.article {
  background: #fff;
  padding: 1em 0 0;
  margin: 2em 0;
  box-shadow: 2px 2px 1px #bbb;
}

ul.article {
  padding: 1em 1em 1em 2em;
  list-style-type: disc;
}

.article .header {
  padding: 1em;
}

.article h3 a {
  color: #333;
  text-decoration: none;
}
.article h3 a:hover,
.article h3 a:hover time {
  text-decoration: underline;
}
.article h3 time {
  float: right;
  font-weight: bold;
}

.article .time {
  font-size: 90%;
  color: #666;
}

.article .time time {
  font-weight: bold;
}
.article .time .end:before {
  content: ' to  ';
}

.article .content {
  padding: 1em;
  text-align: justify;
}

.content ul {
  list-style-type: disc;
  padding-left: 2em;
  margin-bottom: 1em;
}

.article .register {
  display: block;
  width: 100%;
  padding: .5em 1em;
  background-color: #2c9b2c;
  color: #fff;
  font-size: 150%;
  font-weight: bold;
  text-align: center;
  text-decoration: none;
  text-shadow: 1px 1px 1px #333;
}
.article .register:hover {
  background-color: #4aa84a;
}

body > .footer {
  margin: 0 0 1em;
  text-align: center;
  font-size: 90%;
  color: #888;
}
body > .footer a {
  color: #666;
}

@media screen and (max-width: 600px) {
  .banner {
    padding: 3em .5em;
  }
  .banner h1 {
    width: 200px;
    height: 200px;
  }
  .summary {
    font-size: 150%;
  }
  .main {
    padding: 0;
  }
  .main h2 {
    padding: 0 10px;
  }
  .event h3 {
    font-size: 125%;
    text-align: center;
    margin-bottom: 1em;
  }
  .event h3 time {
    display: none;
  }

  .event .time {
    text-align: center;
  }

  .event .time .end:before {
    font-style: italic;
  }
  .event .time time {
    display: block;
  }
}

