/*! normalize.css v2.1.0 | MIT License | git.io/normalize */

/* ==========================================================================
   HTML5 display definitions
   ========================================================================== */

/**
 * Correct `block` display not defined in IE 8/9.
 */

article,
aside,
details,
figcaption,
figure,
footer,
header,
hgroup,
main,
nav,
section,
summary {
  display: block;
}

/**
 * Correct `inline-block` display not defined in IE 8/9.
 */

audio,
canvas,
video {
  display: inline-block;
}

/**
 * Prevent modern browsers from displaying `audio` without controls.
 * Remove excess height in iOS 5 devices.
 */

audio:not([controls]) {
  display: none;
  height: 0;
}

/**
 * Address styling not present in IE 8/9.
 */

[hidden] {
  display: none;
}

/* ==========================================================================
   Base
   ========================================================================== */

/**
 * 1. Set default font family to sans-serif.
 * 2. Prevent iOS text size adjust after orientation change, without disabling
 *    user zoom.
 */

html {
  font-family: sans-serif; /* 1 */
  -webkit-text-size-adjust: 100%; /* 2 */
  -ms-text-size-adjust: 100%; /* 2 */
}

/**
 * Remove default margin.
 */

body {
  margin: 0;
}

/* ==========================================================================
   Links
   ========================================================================== */

/**
 * Address `outline` inconsistency between Chrome and other browsers.
 */

a:focus {
  outline: thin dotted;
}

/**
 * Improve readability when focused and also mouse hovered in all browsers.
 */

a:active,
a:hover {
  outline: 0;
}

/* ==========================================================================
   Typography
   ========================================================================== */

/**
 * Address variable `h1` font-size and margin within `section` and `article`
 * contexts in Firefox 4+, Safari 5, and Chrome.
 */

h1 {
  font-size: 2em;
  margin: 0.67em 0;
}

/**
 * Address styling not present in IE 8/9, Safari 5, and Chrome.
 */

abbr[title] {
  border-bottom: 1px dotted;
}

/**
 * Address style set to `bolder` in Firefox 4+, Safari 5, and Chrome.
 */

b,
strong {
  font-weight: bold;
}

/**
 * Address styling not present in Safari 5 and Chrome.
 */

dfn {
  font-style: italic;
}

/**
 * Address differences between Firefox and other browsers.
 */

hr {
  -moz-box-sizing: content-box;
  box-sizing: content-box;
  height: 0;
}

/**
 * Address styling not present in IE 8/9.
 */

mark {
  background: #ff0;
  color: #000;
}

/**
 * Correct font family set oddly in Safari 5 and Chrome.
 */

code,
kbd,
pre,
samp {
  font-family: monospace, serif;
  font-size: 1em;
}

/**
 * Improve readability of pre-formatted text in all browsers.
 */

pre {
  white-space: pre-wrap;
}

/**
 * Set consistent quote types.
 */

q {
  quotes: "\201C" "\201D" "\2018" "\2019";
}

/**
 * Address inconsistent and variable font size in all browsers.
 */

small {
  font-size: 80%;
}

/**
 * Prevent `sub` and `sup` affecting `line-height` in all browsers.
 */

sub,
sup {
  font-size: 75%;
  line-height: 0;
  position: relative;
  vertical-align: baseline;
}

sup {
  top: -0.5em;
}

sub {
  bottom: -0.25em;
}

/* ==========================================================================
   Embedded content
   ========================================================================== */

/**
 * Remove border when inside `a` element in IE 8/9.
 */

img {
  border: 0;
}

/**
 * Correct overflow displayed oddly in IE 9.
 */

svg:not(:root) {
  overflow: hidden;
}

/* ==========================================================================
   Figures
   ========================================================================== */

/**
 * Address margin not present in IE 8/9 and Safari 5.
 */

figure {
  margin: 0;
}

/* ==========================================================================
   Forms
   ========================================================================== */

/**
 * Define consistent border, margin, and padding.
 */

form > fieldset {
  border: 1px solid #c0c0c0;
  margin: 0 2px;
  padding: 0.35em 0.625em 0.75em;
}

/**
 * 1. Correct `color` not being inherited in IE 8/9.
 * 2. Remove padding so people aren't caught out if they zero out fieldsets.
 */

legend {
  border: 0; /* 1 */
  padding: 0; /* 2 */
}

/**
 * 1. Correct font family not being inherited in all browsers.
 * 2. Correct font size not being inherited in all browsers.
 * 3. Address margins set differently in Firefox 4+, Safari 5, and Chrome.
 */

button,
input,
select,
textarea {
  font-family: inherit; /* 1 */
  font-size: 100%; /* 2 */
  margin: 0; /* 3 */
}

/**
 * Address Firefox 4+ setting `line-height` on `input` using `!important` in
 * the UA stylesheet.
 */

button,
input {
  line-height: normal;
}

/**
 * Address inconsistent `text-transform` inheritance for `button` and `select`.
 * All other form control elements do not inherit `text-transform` values.
 * Correct `button` style inheritance in Chrome, Safari 5+, and IE 8+.
 * Correct `select` style inheritance in Firefox 4+ and Opera.
 */

button,
select {
  text-transform: none;
}

/**
 * 1. Avoid the WebKit bug in Android 4.0.* where (2) destroys native `audio`
 *    and `video` controls.
 * 2. Correct inability to style clickable `input` types in iOS.
 * 3. Improve usability and consistency of cursor style between image-type
 *    `input` and others.
 */

button,
html input[type="button"], /* 1 */
input[type="reset"],
input[type="submit"] {
  -webkit-appearance: button; /* 2 */
  cursor: pointer; /* 3 */
}

/**
 * Re-set default cursor for disabled elements.
 */

button[disabled],
html input[disabled] {
  cursor: default;
}

/**
 * 1. Address box sizing set to `content-box` in IE 8/9.
 * 2. Remove excess padding in IE 8/9.
 */

input[type="checkbox"],
input[type="radio"] {
  box-sizing: border-box; /* 1 */
  padding: 0; /* 2 */
}

/**
 * 1. Address `appearance` set to `searchfield` in Safari 5 and Chrome.
 * 2. Address `box-sizing` set to `border-box` in Safari 5 and Chrome
 *    (include `-moz` to future-proof).
 */

input[type="search"] {
  -webkit-appearance: textfield; /* 1 */
  -moz-box-sizing: content-box;
  -webkit-box-sizing: content-box; /* 2 */
  box-sizing: content-box;
}

/**
 * Remove inner padding and search cancel button in Safari 5 and Chrome
 * on OS X.
 */

input[type="search"]::-webkit-search-cancel-button,
input[type="search"]::-webkit-search-decoration {
  -webkit-appearance: none;
}

/**
 * Remove inner padding and border in Firefox 4+.
 */

button::-moz-focus-inner,
input::-moz-focus-inner {
  border: 0;
  padding: 0;
}

/**
 * 1. Remove default vertical scrollbar in IE 8/9.
 * 2. Improve readability and alignment in all browsers.
 */

textarea {
  overflow: auto; /* 1 */
  vertical-align: top; /* 2 */
}

/* ==========================================================================
   Tables
   ========================================================================== */

/**
 * Remove most spacing between table cells.
 */

table {
  border-collapse: collapse;
  border-spacing: 0;
}


/*
 * CSS Day 2017
 * A whole day about this stuff:
 */

*,
*:before,
*:after {
  -moz-box-sizing: border-box;
  box-sizing: border-box;
}

body {
  font: 100% Source Code Pro, Inconsolata, Menlo, monospace;
  background-color: white;
  color: #222;
  -webkit-font-smoothing: antialiased;
}

header {
  background-color: #e3e2db;
  padding: 0 1em;
  text-align: center;
}

/* Logo */
header h1 {
  width: 100%;
  height: 5em;
  background: transparent url('/National_Library/20160930123623oe_/https://cssday.nl/_css/2015/img/cssday-logo.png') center 1.618em no-repeat;
  background-size: 5em;
  text-indent: 100%;
  white-space: nowrap;
  overflow: hidden;
}

#content p,
#content ul,
#content ol,
#content dl,
#content table {
  line-height: 1.618em;
  margin-top: 1.618em;
  margin-bottom: 1.618em;
}

/* divisions */
#content,
footer {
  padding: 1px 1em;
}

nav,
footer,
#spotlight {
  background-color: #333;
  color: white;
}

.speaker {
  border-top: 2px dashed #e3e2db;
}

/* Headings */
h1,h2,h3,
.speakers::after {
  color: goldenrod;
  font-weight: normal;
}
h1 ~ h1::before,
h1 ~ h2::before,
h2 ~ h1::before,
h2 ~ h2::before,
h3 ~ h1::before,
h3 ~ h2::before,
.speakers::after {
  content: '} ';
  display: block;
  margin-bottom: 0.67em;
}
.speakers::after {
  font-size: 2em;
}
h1::after,
h2::after {
  content: ' {';
}

.speaker h2, .aside h3 {
  color: black;
}

.speaker h2::after {
  content: '';
}

#content:after {
  content: '}';
  font-size: 1.4em;
  color: goldenrod;
}
.home #content:after {
  display: none;
}

/* footer */
footer { text-align: center; }
footer h1 { font-size: 1em; }
footer ul {
  list-style: none;
  padding-left: 0;
}
footer li {
  margin-bottom: 2em;
}
footer a:hover {
  background-color: transparent;
}

/* Links */
a { 
  text-decoration: none;
  border-bottom: 1px dotted goldenrod;
}

a:link,
.info { color: goldenrod; }

a:visited { color: gray; }
nav a:visited { color: white; }

input[type="submit"]:hover,
a:hover,
a:active {
  background-color: goldenrod;
  color: white;
  -webkit-transition-property: background-color, border;
  -webkit-transition-duration: .5s;
  transition-property: background-color, border;
  transition-duration: .5s;
}

nav a,
footer a { border: none; }

footer a, footer a:link, footer a:visited { color: #fff; }

input[type="submit"],
nav a,
#spotlight a {
  color: white;
}

/* Date */
.date {
  color: #222;
  font-size: x-large;
  margin: 0 .4em;
}

/* Purchase link */
.purchase,
input[type="submit"] {
  background-color: goldenrod;
}
.purchase a {
  display: block;
  padding: .2em 1em 1em;
  color: white;
}
.purchase a:hover,
input[type="submit"]:hover {
  background-color: #222;
}

/* Menus */
.speakers ul,
#spotlight,
nav ul {
  list-style: none;
  padding-left: 0;
}

/* Navigation */
nav li {
  text-align: center;
  border-bottom: 1px solid #444;
}
nav a {
  display: block;
}
nav a:link {
  color: white;
}

/* List of speakers */
/*
.speakers ul::before { 
  content: '#speakers {'; 
  font-weight: bold;
}
.speakers ul::after { 
  content: '}'; 
  font-weight: bold;
}
.speakers li { padding-left: 2em; }
*/

/* Put a couple of links in the spotlight on small screens */
#spotlight {
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  margin: 0;
  overflow: hidden;
}
#spotlight li {
  float: left;
  width: 50%;
  border-left: 1px solid #e3e2db;
}
#spotlight li:first-child {
  border-left: none;
  margin-left: -1px;
}
#spotlight a,
nav a {
  display: block;
  padding: .5em 0;
}

/* Testimonials */
.testimonial {
  padding: 1em 0;
  font-style:italic;
  clear: both;
}
.testimonial blockquote {
 margin: 1em;
}
.testimonial blockquote:before {
 content: '.testimonial {';
 color: #C0B8B4;
}
.testimonial blockquote:after {
 content: '}';
 color: #C0B8B4;
}
.testimonial blockquote p {
 margin-left: 2em;
}

/* Contact form */
form > fieldset:before {
  content: '/* contact form */';
}
form > fieldset:after {
  content: '/* end contact form */';
}
fieldset {
  margin: 0;
  padding: 0;
  border: none;
}
form.signup > fieldset:before {
  content: '/* signup form */';
}
form.signup > fieldset:after {
  content: '/* end signup form */';
}

fieldset > fieldset {
  margin: 1em 0;
}

.poll form > fieldset:before { content: '/* poll */'; }
.poll form > fieldset:after { content: '/* end poll */'; }

#content fieldset ul {
  margin: 0;
  padding: 0;
  list-style: none;
}
li label, li input {
  display: inline-block;
}
form > fieldset {
  padding: .5em 1em;
  background-color: #e3e2db;
}
label, input { display: block; }
textarea { 
  width: 100%; 
  resize: vertical;
}
.with-caption + p {
  margin-top: 0;
  font-size:x-small;
}
.img img,
.speaker img {
  max-width: 100%;
  border-radius: .4rem;
}

.teaser img {
  width: 224px;
}

input[type="submit"] {
  border: none;
}

/* Table fun */
th, td {
  padding: .5em;
}
th { text-align: left; }
tr:nth-child(2n+2) {
  background-color: #e3e2db;
}
#attendees tr>td.header {
  background-color: #222;
  color: white;
}
thead.scripted th {
  cursor:pointer;
}
#attendees {
  font-size: small;
  width: 100%;
}
caption {
  margin-bottom: 1em;
}
@media only screen and (max-width: 30em) {
  #attendees thead {
    position: absolute;
    top: -9999px;
  }
  #attendees thead.scripted {
    position:static;
  }
  #attendees thead tr {
    background-color: #e3e2db;
  }
  #attendees thead.scripted tr:before {
    content: 'Sort by:';
    margin: 0 0 .5em .5em;
  }
  thead.scripted tr>td.header {
    position: static;
  }
  #attendees tbody tr {
    position: relative;
    margin-top: .75em;
    margin-bottom: .75em; 
    border-bottom: 1px solid #e3e2db;
    background-color: white;
    padding: .2em .2em 1em;
  }
  #attendees td {
    padding: 0;
  }
  #attendees tr, 
  #attendees td { 
    display:block; 
  }
  #attendees tr>td:first-child {
    font-weight: bold;
  }
  #attendees tr>td:last-child {
    position: absolute;
    top: 0;
    right: 0;
    color: #C0B8B4;
  }
  #attendees tr>td.header {
    position: static;
    color: white;
  }
}

/* Ladies and gentlemen, I give the you the first breakpoint */
@media only screen and (min-width: 48em) {
  /* This is so small that I feel no guilt about hiding it. */
  #spotlight { display: none; }

  #page {
    border-right: 1em solid goldenrod;
  }

  /* Navigation */
  nav {
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
  }
  nav ul {
    margin-bottom: 0;
    padding-left: 1em;
  }
  nav li {
    display: inline-block;
    text-align: left;
    border-bottom: none;
  }
  nav a.current,
  nav a:hover {
    border-bottom: .5em solid goldenrod;
    background-color: transparent;
  }
  /* Header */
  header {
    position: relative;
    height: 17em;
    padding: 0;
    min-height: 17em;
    text-align: left;
  }
  header h1,
  .info {
    position: absolute;
    width: 50%;
  }
  header h1 {
    bottom: -1em;
    height: 7em;
    margin: 0;
    background-size: 7em;
    background-position: 50% .4em;
    border-bottom: 1em solid #222;
  }
  .speakers {
    position: relative;
    width: 200%;
    padding-left: 80%;
    left: -80%;
  }
  .info {
    right: 0;
    bottom: 0;
  }
  .date {
    margin: 0;
  }
  .purchase {
    margin-bottom: 0;
  }
  #content {
    padding: 2em 10%;
  }
  footer { text-align: left; }
  footer li {
    display: inline-block;
    margin-left: 2em;
    vertical-align: middle;
  }
  /* Form */
  form p { 
    display: table;
    margin: 1em 0;
  }
  label, input { display: table-cell; }
  label {
    width: 10em;
    text-align: right;
    padding-right: 1em;
  }
  .poll label {
    display: block;
    width: auto;
    text-align: left;
    padding: 0;
  }
  input[type="submit"] { 
    display: block;
    margin-left: 10em; 
  }
  .poll input[type="submit"] {
    margin: 0;
  }
  .img.right,
  .speaker img {
    float: right;
    margin: 0 0 1em 1em;
  }
  
}

@media only screen and (min-width: 54em) {
  #page {
    border-width: 1.5em;
  }
  /* There's gold in them thar hills. */
  header h1 {
    width: 38.2%;
  }
  .info {
    width: 61.8%;
  }
  .home #content {
    padding-left: 40%;
  }
  article {
    margin-left: 36%;
  }
  .testimonial {
    margin-left: 36%;
  }
  #content:after {
    margin-left: 36%;
  }
  .home article {
    margin-left: 0;
  }
  .home #content:after {
    margin-left: 0;
  }

  .purchase {
    display: inline-block;
  }
  
  /* Speakers */

  .speakers ul:before {
    content: "{";
    position: absolute;
    font-size: 9em;
    top: .9931em;
    right: 61%;
    color: #e3e2db;
  }

  #adaroseedwards { background: goldenrod url('/National_Library/20160930123623oe_/https://cssday.nl/_img/2017/speakers/ada-rose-edwards.jpg') -60px -83px no-repeat; }
  #bertbos { background: goldenrod url('/National_Library/20160930123623oe_/https://cssday.nl/_img/2017/speakers/bert-bos.jpg') -80px -70px no-repeat; }
  #chriscoyier { background: goldenrod url('/National_Library/20160930123623oe_/https://cssday.nl/_img/2017/speakers/chris-coyier.jpg') -56px -58px no-repeat; }
  #chriswilson { background: goldenrod url('/National_Library/20160930123623oe_/https://cssday.nl/_img/2017/speakers/chris-wilson.jpg') -70px -68px no-repeat; }
  #gregoradams { background: goldenrod url('/National_Library/20160930123623oe_/https://cssday.nl/_img/2017/speakers/gregor-adams.jpg') -68px -81px no-repeat; }
  #hakonwiumlie { background: goldenrod url('/National_Library/20160930123623oe_/https://cssday.nl/_img/2017/speakers/hakon-wium-lie.jpg') -68px -79px no-repeat; }
  #jensimmons { background: goldenrod url('/National_Library/20160930123623oe_/https://cssday.nl/_img/2017/speakers/jen-simmons.jpg') -71px -62px no-repeat; }
  #miketaylor { background: goldenrod url('/National_Library/20160930123623oe_/https://cssday.nl/_img/2017/speakers/mike-taylor.jpg') -73px -84px no-repeat; }
  #patrickkettner { background: goldenrod url('/National_Library/20160930123623oe_/https://cssday.nl/_img/2017/speakers/patrick-kettner.jpg') -70px -14px no-repeat; }
  #philipwalton { background: goldenrod url('/National_Library/20160930123623oe_/https://cssday.nl/_img/2017/speakers/philip-walton.jpg') -65px -73px no-repeat; }
  #rachelandrew { background: goldenrod url('/National_Library/20160930123623oe_/https://cssday.nl/_img/2017/speakers/rachel-andrew.jpg') -70px -71px no-repeat; }
  #rachelnabors { background: goldenrod url('/National_Library/20160930123623oe_/https://cssday.nl/_img/2017/speakers/rachel-nabors.jpg') -60px -70px no-repeat; }
  #ruthjohn { background: goldenrod url('/National_Library/20160930123623oe_/https://cssday.nl/_img/2017/speakers/ruth-john.jpeg') -76px -43px no-repeat; }
  #stephenhay { background: goldenrod url('/National_Library/20160930123623oe_/https://cssday.nl/_img/2017/speakers/stephen-hay.jpg') -85px -72px no-repeat; }
  #tabatkins { background: goldenrod url('/National_Library/20160930123623oe_/https://cssday.nl/_img/2017/speakers/tab-atkins.jpg') -56px -71px no-repeat; }

  .speakers-api-special ul:before {
    content: "(";
  }
  
  .speakers span {
    position: absolute;
    top: 0;
    left: 0;
    width: 3em;
    height: 2em;
    background-color: goldenrod;
    border-radius: .4em;
    box-shadow: 0px 0px 0px 0px rgba(9,27,40,0.2);
    -webkit-transition: all .5s;
    transition: all .5s;
  }
  .speakers a:hover span {
    width: 200px;
    height: 200px;
    background-position: 0 0 !important;
    margin-top: -75px;
    margin-left: -75px;
    z-index:10;
    box-shadow: 80px 100px 20px -40px rgba(9,27,40,0.2);
  }
  .speakers li:nth-child(-n+4) span { left: 10%; }
  .speakers li:nth-child(n+5) span { left: 18%; }
  .speakers li:nth-child(4n+1) span { top: 4.5em; }
  .speakers li:nth-child(4n+2) span { top: 7.5em; }
  .speakers li:nth-child(4n+3) span { top: 10.5em; }
  .speakers li:nth-child(4n+4) span { top: 13.5em; }
  
}

@media screen and (min-width: 72em) {
  body {
    font-size: 112.5%;
  }
  .home #content {
    background-position: 34% 4em;
    background-position: 34% 4em;
  }
  .speakers li:nth-child(-n+4) span { top: 7.5em; }
  .speakers li:nth-child(n+5) span { top: 10.5em; }
  .speakers li:nth-child(4n+1) span { left: 6%; }
  .speakers li:nth-child(4n+2) span { left: 12%; }
  .speakers li:nth-child(4n+3) span { left: 18%; }
  .speakers li:nth-child(4n+4) span { left: 24%; }
}

@media screen and (min-width: 80em) {
  body {
    font-size: 125%;
    background-color: dimgray;
  }
  #page {
    margin: 0 auto;
    max-width: 80em;
    background-color: white;
  }
}

@media screen and (min-width: 90em) {
  nav { text-align: center; }
  nav ul { padding-left: 0; }
  nav a { padding: .5em .3em; }
}
