html {
  height: 100%;
}

body {
    font-family: "Comic Sans MS", "Comic Sans", cursive;
    text-align: center;
    font-size: 20px;
    background: url('images/party.gif');
    background-size: cover;
    background-position: center;
    flex-direction: row;
    display: flex;
    align-items: center;
    justify-content: center;
    height: 100%;
    margin: 0;
}
h1 {
  font-weight: lighter;
  font-size:3em;
  margin: 0;
}
h2 {
}
.wrp {
  max-width: 50em;
  margin: auto;
}
.col2 {
  width: 50%;
  position: relative;
  float: left;
  box-sizing: border-box;
}


/* flowchart lines */

.flowchart {
    position: relative;
}

.facts {
  position: relative;
}

h2 {
  font-size: 20px;
}
.facts h2 {
  margin: 20px 0 0 0;
}
.col2:before {
  content: "";
  width: 1em;
  height: 1em;
  margin: -.5em 0 0 -.5em;
  background: yellow;
  border-radius: 50%;
  position: absolute;
}

.col2.left:after, .col2.right:after {
  content: "";
  width: 50%;
  border-bottom: 2px solid  yellow;
  position: absolute;
  top: -1px;
}

.col2.right {
    border-left: 2px solid yellow;
}

.col2.left:after {
  right: 0;
}
.col2.right:after {
  left: 0;
}
.facts:before {
  content: "";
  left: 50%;
  top: 0;
  height: 100%;
  position: absolute;
  border-left: 2px solid yellow;
}
.clr {
  clear: both;
}

.flow-node {
    border: 2px solid yellow;
    margin: 0;
    display: inline-block;
    padding: 1em 0;
    width: 3em;
    line-height: 1em;
    border-radius: 50%;
    color: lawngreen;
}

.branch {
  display: inline-block;
  position: relative;
}

.flow-connect-vert {
    border-right: 2px solid yellow;
    height: 2em;
    margin: auto;
    width: 0;
}

.flow-connect-side-right {
    border-top: 2px solid yellow;
    border-right: 2px solid yellow;
    height: 4.5em;
    margin: auto;
    width: 11em;
    border-radius: 0 1em 0 0;
}

.action {
  font-weight: bold;
  text-transform: uppercase;
  box-shadow: 2px 2px rgba(0,0,0,.3);
}

.rsvp-yes {
  display: inline-block;
  padding: .5em 1em;
  background: #FD9075;
  color: #000;
  text-decoration: none;
  border: 2px solid yellow;
  position: relative;
}

.rsvp-yes > *, .ical-dl > * {
    vertical-align: middle;
}

.rsvp-yes:hover {
  border: 2px solid #ff0e00;
  transform: scale(1.2,1.2);
}

.flow-side {
  position: absolute;
  top: 50%;
  left: 100%;
}
.rsvp-no {
    display: inline-block;
    padding: .7em .5em;
    background: rgba(238, 238, 238, 0.63);
    color: #222;
    text-decoration: none;
    font-size: 0.7em;
    float: right;
    margin-left: 50%;
    margin-right: calc(-50% + 1em);
}
.rsvp-no:hover {
  background: #eee;
}


.ical-dl {
    display: inline-block;
    padding: .7em 1em;
    background: #41C6EF;
    color: #000;
    text-decoration: none;
    border: 2px solid #4266A0;
    position: relative;
}

.ical-dl:hover {
  background: #6fd5f5;
}
