#footer
{
	width: calc(100% - 14px);
	display: table;
	z-index: 900;
	position: absolute;
	padding: 7px;
	left: 0px;
	right: 0px;
	height: 70px;
	background-color: #424243;
	transition: bottom 0.5s;
}

.page-content.nav-top #footer
{
	top: 0px;
	border-bottom: 2px solid #4a6a7a;
}

.page-content.nav-bottom #footer 
{
    bottom: 0px;
    border-top: 2px solid #4a6a7a;
}

#footer.closed
{
	bottom: -70px;
	transition-delay: 0.5s;
}

#footer .left
{
	display: table-cell;
	width: 17%;
	text-align: left;
	vertical-align: middle;
}

#footer .center
{
	display: table-cell;
	width: 66%;
    min-width: 500px;
	text-align: center;
	vertical-align: middle;
}

#footer .right
{
	display: table-cell;
	width: 17%;
	text-align: right;
	vertical-align: middle;
}

#footer .right .contact-us-btn 
{
    background-color: #C8C04C;
    display: inline-block;
    margin-right:25px;
    padding: 5px 10px;
    border-radius:3px;
    cursor: pointer;
    text-decoration: none;
    color:black;
    font-size: 0.8em;
}

#footer #reset-schematic
{
    background-image: url('../images/footer/recenter.svg');
    display: inline-block;
    height:50px;
    width: 50px;
    float:right;
    cursor: pointer;
    margin-right:10%;
}

#footer .hidden
{
	display: none;
}

#footer .center .controls
{
	display: inline-block;
}

#footer .menu
{
	position: relative;
	cursor: pointer;
	color: #434244;
	margin-left: 10px;
	display: inline-block;
	padding:  8px 12px 8px 48px;
	font-size: 16px;
	font-weight: bold;
	text-align: center;
	border: 2px solid #929496;
	border-radius: 4px;
	background-color: #EBEBEB;
	background: linear-gradient(#F8F8F8, #EBEBEB);
	box-shadow: 2px 2px 2px rgba(0, 0, 0, 0.15);
}

#footer .menu.active
{
	border: 2px solid #FFD714;
	background-color: #FFD714;
	background: linear-gradient(#FFF116, #FFD714);
}

#footer .menu:before
{
	content: " ";
	position: absolute;
	top: 0px;
	left: 0px;

	width: 100%;
	height: 100%;

	background-size: 16px 13px;
	background-repeat: no-repeat;
	background-position: 12px center;
	background-image: url('../images/footer/menu-handle.svg');
}

#footer .controls .step-box
{
	float: left;
	display: inline-block;

	margin: 0px 2px 0px 2px;

	background-color: #4a6a7a;
	border: 1px solid #424243;
	box-shadow: 1px 1px 2px rgba(0, 0, 0, 0.5);
}

#footer .icon-button
{
	position: relative;
	float: left;
    min-width: 100px;
	max-width: 220px;
	height: 60px;
	opacity: 1.0;
	cursor: pointer;
	display: inline-block;
	transition: opacity 0.5s;

    text-align: center;
    color:white;
    font-size: 0.7em;
}

#footer #button-replay.icon-button 
{
    background-size: 25%;
	background-position: 50% 26%;
}

#footer #button-first.icon-button 
{
    background-size: 45%;
	background-position: 50% 26%;
}

#footer .icon-button.cap
{
	background-color: #59595b;

	border: 1px solid #424243;

	box-shadow: 1px 1px 2px rgba(0, 0, 0, 0.5);
}

#footer .icon-button.cap.left
{
	border-top-left-radius: 10px;
	border-bottom-left-radius: 10px;
}

#footer .icon-button.cap.right
{
	border-top-right-radius: 10px;
	border-bottom-right-radius: 10px;
}

#footer .icon-button.cap.right img
{
    padding:6px;
}

#footer .text-button
{
	cursor: pointer;
	position: relative;
	display: inline-block;

	width: 85px;

	padding: 30px 0px 0px 0px;

	font-size: 12px;
	text-align: center;

	background-size: auto 25px;
	background-position: center top;
	background-repeat: no-repeat;

	transition: opacity 0.5s;
}

#footer .text-button.replay
{
	float: right !important;
	background-image: url(../images/footer/replay-step.svg);
}

#footer .text-button.play-all-steps
{
	float: right !important;
}

#button-next.active
{
	background-color: rgba(101, 147, 165, 1.0);
}

#button-next.active:hover
{
	animation-name: none;
}

#button-next.active
{
	animation: pulse 1.0s infinite;
}


@keyframes pulse
{
	0%
	{
		background-color: rgba(101, 147, 165, 1.0);
	}
	50%
	{
		background-color: rgba(101, 147, 165, 0.25);
	}
	100%
	{
		background-color: rgba(101, 147, 165, 1.0);
	}
}

#step-text
{
	float: left;
	display: inline-block;
	
	margin: 10px 3px 0px 3px;

	width: 80px;
	height: 32px;
	line-height: 32px;

	color: #2b2a2a;
	font-size: 18px;
	font-weight: bold;

	border-radius: 4px;
	background-color: #fff;
	border: 2px solid #454446;
}