body {
    margin: 0;
    padding: 0;
    font-family: Arial, Helvetica, sans-serif;
    background-color: #FFFAFA;
}
table {
    font-family: Arial, Helvetica, sans-serif;
    border-collapse: collapse;
    width: 50%;
    min-width: 900px;
    margin-left: auto;
    margin-right: auto;
}

caption {
    text-align: right;
}
tr:nth-child(even) {
    background-color: #f2f2f2;
}

tr:hover {
    background-color: #ddd;
}

th {
    padding-top: 12px;
    padding-bottom: 12px;
    text-align: left;
    background-color: #04AA6D;
    color: white;
}

td, th {
    border: 1px solid #ddd;
    padding: 8px;
}

#content {
    margin: auto;
    max-width: 900px;
}

img {
    max-width: 100%;
}

.topbar {
    background: #ececec;
    padding: 0;
    margin-bottom: 10px;
    height: 40px;
    overflow: hidden;
    -webkit-transition: height 0.3s linear;
    -moz-transition: height 0.3s linear;
    transition: height 0.3s linear;
}
.topbar:hover {
    height: 160px;
}
.topbar h1 {
    margin: 0 0 5px 0;
    padding-top: 1px;
    text-align: center;
    color: #444;
    border-color: #bbb;
    border-top: 1px solid;
    border-bottom: 1px solid;
    -webkit-box-shadow: 0 3px 10px;
    margin-bottom: 20px;
}
.tophiddenbar {
    display: block;
    width: 100%;
    border-bottom: 1px;
}
.tophiddenbar a:hover {
    opacity: 1;
}


.steps {
    margin: 10px;
    padding: 0;
    overflow: hidden;
}
.steps a {
    color: white;
    text-decoration: none;
}
.steps em {
    display: block;
    /*font-size: 1.1em;*/
    font-weight: bold;
}
.steps li {
    float: left;
    margin-left: 0;
    width: 150px; /* 100 / number of steps */
    height: 70px; /* total height */
    list-style-type: none;
    padding: 5px 5px 5px 30px; /* padding around text, last should include arrow width */
    border-right: 3px solid white; /* width: gap between arrows, color: background of document */
    position: relative;
}
/* remove extra padding on the first object since it doesn't have an arrow to the left */
.steps li:first-child {
    padding-left: 5px;
}
/* white arrow to the left to "erase" background (starting from the 2nd object) */
.steps li:nth-child(n+2)::before {
    position: absolute;
    top:0;
    left:0;
    display: block;
    border-left: 25px solid white; /* width: arrow width, color: background of document */
    border-top: 40px solid transparent; /* width: half height */
    border-bottom: 40px solid transparent; /* width: half height */
    width: 0;
    height: 0;
    content: " ";
}
/* colored arrow to the right */
.steps li::after {
    z-index: 1; /* need to bring this above the next item */
    position: absolute;
    top: 0;
    right: -25px; /* arrow width (negated) */
    display: block;
    border-left: 25px solid #7c8437; /* width: arrow width */
    border-top: 40px solid transparent; /* width: half height */
    border-bottom: 40px solid transparent; /* width: half height */
    width:0;
    height:0;
    content: " ";
}

/* Setup colors (both the background and the arrow) */

/* Completed */
.steps li { background-color: #787878; }
.steps li::after { border-left-color: #787878; }

/* Current */
.steps li.current { background-color: #444; }
.steps li.current::after { border-left-color: #444; }

/* Following */
.steps li.current ~ li { background-color: #bcbcbc; }
.steps li.current ~ li::after { border-left-color: #bcbcbc; }

/* Hover for completed and current */
.steps li:hover {
    background-color: #555;
    text-shadow: 0 0 .5em #888;
}
.steps li:hover::after {
    border-left-color: #555;
    text-shadow: 0 0 .5em #888;

}

.yellow { color: #FFD700; }
.purple { color: #C71585; }
.green { color: #3CB371; }
.red { color: #CD5C5C; }
.blue { color: #4169E1; }
.orange { color: #FF6347; }

