@font-face {
  font-family: 'Source';
  font-weight: 200;
  font-style: normal;
  src: url("../fonts/source-extralight.woff2") format("woff2"), url("../fonts/source-extralight.woff") format("woff"); }

@font-face {
  font-family: 'Source';
  font-weight: 200;
  font-style: italic;
  src: url("../fonts/source-extralightitalic.woff2") format("woff2"), url("../fonts/source-extralightitalic.woff") format("woff"); }

@font-face {
  font-family: 'Source';
  font-weight: 300;
  font-style: normal;
  src: url("../fonts/source-light.woff2") format("woff2"), url("../fonts/source-light.woff") format("woff"); }

@font-face {
  font-family: 'Source';
  font-weight: 300;
  font-style: italic;
  src: url("../fonts/source-lightitalic.woff2") format("woff2"), url("../fonts/source-lightitalic.woff") format("woff"); }

@font-face {
  font-family: 'Source';
  font-weight: normal;
  font-style: normal;
  src: url("../fonts/source-regular.woff2") format("woff2"), url("../fonts/source-regular.woff") format("woff"); }

@font-face {
  font-family: 'Source';
  font-weight: normal;
  font-style: italic;
  src: url("../fonts/source-italic.woff2") format("woff2"), url("../fonts/source-italic.woff") format("woff"); }

@font-face {
  font-family: 'Source';
  font-weight: 600;
  font-style: normal;
  src: url("../fonts/source-semibold.woff2") format("woff2"), url("../fonts/source-semibold.woff") format("woff"); }

@font-face {
  font-family: 'Source';
  font-weight: bold;
  font-style: normal;
  src: url("../fonts/source-bold.woff2") format("woff2"), url("../fonts/source-bold.woff") format("woff"); }

@font-face {
  font-family: 'Source';
  font-weight: bold;
  font-style: italic;
  src: url("../fonts/source-bolditalic.woff2") format("woff2"), url("../fonts/source-bolditalic.woff") format("woff"); }

@font-face {
  font-family: 'Source';
  font-weight: 900;
  font-style: normal;
  src: url("../fonts/source-black.woff2") format("woff2"), url("../fonts/source-black.woff") format("woff"); }

@font-face {
  font-family: 'Source';
  font-weight: 900;
  font-style: italic;
  src: url("../fonts/source-blackitalic.woff2") format("woff2"), url("../fonts/source-blackitalic.woff") format("woff"); }

@font-face {
  font-family: 'Source Serif';
  font-weight: 200;
  font-style: normal;
  src: url("../fonts/sourceserif-extralight.woff") format("woff"); }

@font-face {
  font-family: 'Source Serif';
  font-weight: 200;
  font-style: italic;
  src: url("../fonts/sourceserif-extralightitalic.woff") format("woff"); }

@font-face {
  font-family: 'Source Serif';
  font-weight: 300;
  font-style: normal;
  src: url("../fonts/sourceserif-light.woff") format("woff"); }

@font-face {
  font-family: 'Source Serif';
  font-weight: 300;
  font-style: italic;
  src: url("../fonts/sourceserif-lightitalic.woff") format("woff"); }

@font-face {
  font-family: 'Source Serif';
  font-weight: normal;
  font-style: normal;
  src: url("../fonts/sourceserif-regular.woff") format("woff"); }

@font-face {
  font-family: 'Source Serif';
  font-weight: normal;
  font-style: italic;
  src: url("../fonts/sourceserif-italic.woff") format("woff"); }

@font-face {
  font-family: 'Source Serif';
  font-weight: 600;
  font-style: normal;
  src: url("../fonts/sourceserif-semibold.woff") format("woff"); }

@font-face {
  font-family: 'Source Serif';
  font-weight: bold;
  font-style: normal;
  src: url("../fonts/sourceserif-bold.woff") format("woff"); }

@font-face {
  font-family: 'Source Serif';
  font-weight: bold;
  font-style: italic;
  src: url("../fonts/sourceserif-bolditalic.woff") format("woff"); }

@font-face {
  font-family: 'Source Serif';
  font-weight: 900;
  font-style: normal;
  src: url("../fonts/sourceserif-black.woff") format("woff"); }

@font-face {
  font-family: 'Source Serif';
  font-weight: 900;
  font-style: italic;
  src: url("../fonts/sourceserif-blackitalic.woff") format("woff"); }

.buffer-0 {
  margin-top: 0rem !important;
  margin-bottom: 0rem !important; }

.buffer-top-0 {
  margin-top: 0rem !important; }

.buffer-bottom-0 {
  margin-bottom: 0rem !important; }

.buffer-1 {
  margin-top: 0.5rem !important;
  margin-bottom: 0.5rem !important; }

.buffer-top-1 {
  margin-top: 1rem !important; }

.buffer-bottom-1 {
  margin-bottom: 1rem !important; }

.buffer-2 {
  margin-top: 1rem !important;
  margin-bottom: 1rem !important; }

.buffer-top-2 {
  margin-top: 2rem !important; }

.buffer-bottom-2 {
  margin-bottom: 2rem !important; }

.buffer-3 {
  margin-top: 1.5rem !important;
  margin-bottom: 1.5rem !important; }

.buffer-top-3 {
  margin-top: 3rem !important; }

.buffer-bottom-3 {
  margin-bottom: 3rem !important; }

.buffer-4 {
  margin-top: 2rem !important;
  margin-bottom: 2rem !important; }

.buffer-top-4 {
  margin-top: 4rem !important; }

.buffer-bottom-4 {
  margin-bottom: 4rem !important; }

.buffer-5 {
  margin-top: 2.5rem !important;
  margin-bottom: 2.5rem !important; }

.buffer-top-5 {
  margin-top: 5rem !important; }

.buffer-bottom-5 {
  margin-bottom: 5rem !important; }

.buffer-6 {
  margin-top: 3rem !important;
  margin-bottom: 3rem !important; }

.buffer-top-6 {
  margin-top: 6rem !important; }

.buffer-bottom-6 {
  margin-bottom: 6rem !important; }

.buffer-7 {
  margin-top: 3.5rem !important;
  margin-bottom: 3.5rem !important; }

.buffer-top-7 {
  margin-top: 7rem !important; }

.buffer-bottom-7 {
  margin-bottom: 7rem !important; }

.buffer-8 {
  margin-top: 4rem !important;
  margin-bottom: 4rem !important; }

.buffer-top-8 {
  margin-top: 8rem !important; }

.buffer-bottom-8 {
  margin-bottom: 8rem !important; }

.buffer-9 {
  margin-top: 4.5rem !important;
  margin-bottom: 4.5rem !important; }

.buffer-top-9 {
  margin-top: 9rem !important; }

.buffer-bottom-9 {
  margin-bottom: 9rem !important; }

.buffer-10 {
  margin-top: 5rem !important;
  margin-bottom: 5rem !important; }

.buffer-top-10 {
  margin-top: 10rem !important; }

.buffer-bottom-10 {
  margin-bottom: 10rem !important; }

.clearfix:after {
  content: "";
  display: table;
  clear: both; }

* {
  margin: 0;
  padding: 0;
  box-sizing: border-box;
  -webkit-tap-highlight-color: transparent; }

html {
  font-size: 10px; }
  @media (max-width: 767px) {
    html {
      font-size: 8px; } }
  @media (max-height: 650px) {
    html {
      font-size: 8px; } }

body {
  background-color: white;
  color: black;
  overflow-x: hidden; }

img {
  border: 0; }

button {
  outline: none;
  cursor: pointer;
  background: none;
  border: 0; }

* {
  margin: 0;
  padding: 0;
  box-sizing: border-box;
  -webkit-tap-highlight-color: transparent; }

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

.clearfix:after {
  content: ".";
  visibility: hidden;
  display: block;
  height: 0;
  clear: both; }

html {
  font-size: 16px; }

body {
  background-color: white;
  color: black;
  font-family: "Source", "Helvetica Neue", Helvetica, Arial, sans-serif; }

img {
  border: 0; }

.inactive {
  opacity: 0.35;
  pointer-events: none; }

.linactive {
  opacity: 0.05;
  pointer-events: none; }

#pagecontainer {
  position: relative;
  width: 768px;
  max-width: 100%;
  height: 100vh;
  margin: 0 auto; }

#page1 {
  width: 768px;
  max-width: 100%;
  min-height: 100vh;
  position: absolute;
  z-index: 10;
  left: 0;
  right: 0;
  margin: 0 auto;
  background: #87d2c3; }
  #page1 #header {
    padding: 0px 10px;
    width: 550px;
    max-width: 100%;
    margin: 0 auto; }
    @media (min-width: 400px) {
      #page1 #header {
        padding: 0px 15px; } }
    #page1 #header #title {
      text-align: center;
      font-family: 'Source Serif';
      font-size: 2.15em;
      margin-top: 30px;
      margin-bottom: 20px;
      line-height: 1.1em;
      background: #eb7915;
      color: #fff;
      padding: 15px 5px 10px 5px; }
      @media (min-width: 400px) {
        #page1 #header #title {
          margin-top: 60px; } }
    #page1 #header #intro {
      font-size: 1.2em;
      padding: 0 20px; }
  #page1 #startbutton {
    cursor: pointer;
    background: #eb7915;
    margin: 0 auto;
    margin-top: 30px;
    text-align: center;
    color: #fff;
    text-transform: uppercase;
    text-decoration: underline;
    font-size: 1.5em;
    width: 240px;
    padding: 10px 0;
    box-shadow: 2px 2px 2px #000; }
    html.has-mouse #page1 #startbutton:hover {
      background: #000;
      box-shadow: none; }
  #page1 #credits {
    text-transform: uppercase;
    padding: 40px 20px;
    color: #fff;
    opacity: 0.7;
    width: 550px;
    max-width: 100%;
    margin: 0 auto;
    text-align: center; }
    #page1 #credits span {
      margin-right: 20px; }
  #page1 #promo {
    text-align: center;
    opacity: 0.8; }
    #page1 #promo #logo {
      width: 160px;
      display: inline-block;
      opacity: 1;
      margin-bottom: 10px; }
  #page1 #socialshare {
    display: inline-block;
    margin-left: 40px; }
    #page1 #socialshare .socialshare {
      display: inline-block;
      margin-left: 10px; }
      #page1 #socialshare .socialshare img {
        width: 28px;
        opacity: 1; }
        html.has-mouse #page1 #socialshare .socialshare img:hover {
          opacity: 1; }

#page2 {
  position: absolute;
  z-index: 1;
  width: 768px;
  max-width: 100%;
  height: 125vh;
  background: #87d2c3;
  left: 0;
  right: 0;
  margin: 0 auto; }
  #page2 #instruction {
    padding: 0px 10px;
    width: 450px;
    max-width: 100%;
    margin: 0 auto;
    margin-top: 20px;
    margin-bottom: 10px;
    text-align: center; }
    @media (min-width: 400px) {
      #page2 #instruction {
        padding: 0px 15px; } }
    #page2 #instruction #line1 {
      font-size: 1.3em;
      font-weight: bold;
      text-transform: uppercase; }
    #page2 #instruction #line2 {
      font-size: 1.08em;
      margin-top: 5px; }
      #page2 #instruction #line2 #clear {
        font-weight: bold;
        text-decoration: underline;
        cursor: pointer; }
        html.has-mouse #page2 #instruction #line2 #clear:hover {
          color: #fff; }
  #page2 #vizcanvas {
    width: 600px;
    max-width: 100%;
    margin: 0 auto; }
    #page2 #vizcanvas .prepartybox {
      cursor: pointer;
      font-size: 1.3em;
      fill: #fff; }
    #page2 #vizcanvas .partybox {
      cursor: pointer; }
      #page2 #vizcanvas .partybox rect {
        fill-opacity: 0;
        stroke: #fff;
        stroke-width: 1px; }
        html.has-mouse #page2 #vizcanvas .partybox rect:hover {
          stroke: #000; }
      #page2 #vizcanvas .partybox text {
        font-size: 1.4em;
        fill: #fff; }
    #page2 #vizcanvas .seat {
      cursor: pointer; }
    #page2 #vizcanvas .seatlabels {
      fill: #fff; }
  #page2 #seatsline {
    font-size: 1.2em;
    text-align: center;
    width: 400px;
    max-width: 100%;
    margin: 0 auto;
    padding: 0px 10px;
    color: #fff;
    margin-bottom: -12px; }
  #page2 #checkbutton {
    cursor: pointer;
    background: #eb7915;
    width: 200px;
    margin: 0 auto;
    text-align: center;
    color: #fff;
    font-size: 1.5em;
    padding: 10px 0;
    box-shadow: 2px 2px 2px #000; }
    html.has-mouse #page2 #checkbutton:hover {
      background: #000;
      box-shadow: none; }

#result {
  position: absolute;
  z-index: 2;
  min-height: 100vh;
  width: 768px;
  max-width: 95%;
  left: 0;
  right: 0;
  margin: 0 auto;
  background: #e5f0f9; }
  #result .close {
    width: 95%;
    text-align: center;
    font-size: 1.4em;
    font-weight: 100;
    padding: 4px 0px;
    background: #000;
    color: #fff;
    cursor: pointer;
    margin: 0 auto;
    margin-top: 10px; }
    html.has-mouse #result .close:hover {
      background: #eb7915; }
  #result #closebottom {
    margin: 0 auto;
    margin-top: 20px;
    margin-bottom: 10px; }
  #result #resulttext {
    width: 93%;
    margin: 0 auto;
    margin-top: 20px; }
  #result #resulthead {
    text-align: center;
    background: #eb7915;
    color: #fff;
    padding: 15px 10px 12px 10px;
    margin-bottom: 20px; }
    #result #resulthead #coalitionline {
      font-family: 'Source serif';
      font-size: 1em;
      font-weight: 100;
      text-transform: uppercase;
      margin-bottom: 8px; }
      #result #resulthead #coalitionline span {
        font-size: 1.5em;
        font-weight: normal; }
    #result #resulthead #instructionline {
      font-size: 1.1em;
      font-weight: 100; }
  #result .partycombi {
    cursor: pointer;
    font-size: 1.3em;
    font-weight: bold;
    color: #333;
    height: 20px;
    width: 180px;
    margin: 0 auto; }
    #result .partycombi .code {
      display: inline-block;
      width: 20px;
      height: 20px;
      border-radius: 50%;
      margin-right: 10px;
      vertical-align: middle; }
    #result .partycombi .parties {
      display: inline-block;
      vertical-align: middle; }
  #result .rood {
    background: #cc0000; }
  #result .oranje {
    background: #ebb206; }
  #result .groen {
    background: #0bb64b; }
  #result .description {
    display: none;
    font-size: 1.1em;
    line-height: 1.2em;
    padding: 15px 20px 5px 30px; }
