/**
 * Copyright 2016 GoWorks Incorporated. All rights reserved.
 * License: GPLv3 or later.
 *
 * This program is free software: you can redistribute it and/or modify it under the terms
 * of the GNU General Public License as published by the Free Software Foundation, either
 * version 3 of the License, or (at your option) any later version.
 *
 * This program is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY;
 * without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.
 * See the GNU General Public License for more details.
 *
 * You should have received a copy of the GNU General Public License along with this program.
 * If not, see <http://www.gnu.org/licenses/>.
 */

go-flipclock {
	display: inline-block;
	font-family: Lato, Helvetica, Arial, sans-serif;
	pointer-events: none;
	margin: 0;
	line-height: 1;
	padding: 0;
}

.go-flip-row {
	display: table-row;
}

.go-flip-label-row {
	display: none;
}

go-flipclock[showLabelsBelow] .go-flip-label-row-below {
	display: table-row;
}

.go-flip-cell {
	display: table-cell;
}

.go-flip-label-row .go-flip-cell {
	color: rgba(0, 0, 0, 0.54);
	font-size: 18px;
	padding: 4px 0 0 0;
	text-align: center;
}

.go-flip-row .go-flip-cell:first-child,
.go-flip-label-row .go-flip-cell:first-child,
.go-flip-row .go-flip-cell:nth-child(2),
.go-flip-label-row .go-flip-cell:nth-child(2) {
	display: none;
}

.go-flip-row .go-flip-colon {
	color: transparent;
    float: left;
    font-size: 0px;
    font-weight: 700;
    height: 115px;
    line-height: 88px;
    margin: 0 6px;
}

.go-flip-row .go-flip-apm {
	font-size: 24px;
	padding-left: 9px;
}

go-flipclock[hideAmPm] .go-flip-row .go-flip-apm,
go-flipclock[hideAmPm] .go-flip-label-row .go-flip-cell:last-child {
	display: none;
	padding-left: 0;
}

go-flipclock ul {
	background-color: #333;
	-webkit-border-radius: 8px;
	border-radius: 8px;
	float: left;
	height: 115px;
	letter-spacing: 1px;
	list-style: none;
	margin: 0;
	padding: 0;
	position: relative;
	width: 150px;
}

.go-flip-day {
	width: 214px;
}

go-flipclock li {
	z-index: 1;
	position: absolute;
	left: 0;
	top: 0;
	width: 100%;
	height: 100%;
}

go-flipclock li span {
	display: block;
	height: 100%;
	-webkit-perspective: 833px;
	-moz-perspective: 833px;
	-ms-perspective: 833px;
}

go-flipclock ul div {
	height: 57px;
	position: absolute;
	left: 0;
	width: 100%;
	overflow: hidden;
	z-index: 1;
}

.go-flip-shadow {
	position: absolute;
	width: 100%;
	height: 100%;
	z-index: 2;
}

.go-flip-top {
	-webkit-transform-origin: 50% 100%;
	-ms-transform-origin: 50% 100%;
	transform-origin: 50% 100%;
	-webkit-backface-visibility: hidden;
	-ms-backface-visibility: hidden;
	backface-visibility: hidden;
	top: 0;
}

.go-flip-bot {
	-webkit-transform-origin: 50% 0%;
	-ms-transform-origin: 50% 0%;
	transform-origin: 50% 0%;
	-webkit-backface-visibility: hidden;
	-ms-backface-visibility: hidden;
	backface-visibility: hidden;
	bottom: 0;
}

.go-flip-text {
	background: #222;
	-webkit-border-radius: 8px;
	border-radius: 8px;
	color: #fff;
	height: 200%;
	left: 0;
	font-weight: 700;
	font-size: 100px;
	text-align: center;
	line-height: 111px;
	position: absolute;
	width: 100%;
	z-index: 1;
}

.go-flip-top .go-flip-text {
	color: #f0f0f0;
	top: 0;
}

.go-flip-bot .go-flip-text {
	bottom: 0;
}

.go-flip-before {
	z-index: 3;
}

/* Animation ------------------------------------------------------------------------- */

.go-flip-active {
	-webkit-animation: go-flip-ani-idx 0.3s 0.3s linear both;
	animation: go-flip-ani-idx 0.3s 0.3s linear both;
	z-index: 2;
}

.go-flip-active .go-flip-bot {
	z-index: 2;
	-webkit-animation: go-flip-ani-up 0.3s 0.3s linear both;
	animation: go-flip-ani-up 0.3s 0.3s linear both;
}

.go-flip-before .go-flip-top {
	z-index: 2;
	-webkit-animation: go-flip-ani-down 0.3s cubic-bezier(0.47, 0, 0.745, 0.715) both;
	animation: go-flip-ani-down 0.3s cubic-bezier(0.47, 0, 0.745, 0.715) both;
}

.go-flip-before .go-flip-top .go-flip-shadow {
	background: -webkit-gradient(linear, left top, left bottom, color-stop(0, rgba(0, 0, 0, 0)), color-stop(1, rgba(0, 0, 0, 0.3)));
	background: -webkit-linear-gradient(top, rgba(0, 0, 0, 0) 0%, rgba(0, 0, 0, 0.3) 100%);
	background: -moz-linear-gradient(top, rgba(0, 0, 0, 0) 0%, rgba(0, 0, 0, 0.3) 100%);
	background: -ms-linear-gradient(top, rgba(0, 0, 0, 0) 0%, rgba(0, 0, 0, 0.3) 100%);
	background: linear-gradient(top, rgba(0, 0, 0, 0) 0%, rgba(0, 0, 0, 0.3) 100%);
	-webkit-animation: go-flip-show 0.3s linear both;
	-moz-animation: go-flip-show 0.3s linear both;
	-ms-animation: go-flip-show 0.3s linear both;
	animation: go-flip-show 0.3s linear both;
}

.go-flip-before .go-flip-bot .go-flip-shadow {
	background: -webkit-gradient(linear, left top, left bottom, color-stop(0, rgba(0, 0, 0, 0.3)), color-stop(1, rgba(0, 0, 0, 0)));
	background: -webkit-linear-gradient(top, rgba(0, 0, 0, 0.3) 0%, rgba(0, 0, 0, 0) 100%);
	background: -moz-linear-gradient(top, rgba(0, 0, 0, 0.3) 0%, rgba(0, 0, 0, 0) 100%);
	background: -ms-linear-gradient(top, rgba(0, 0, 0, 0.3) 0%, rgba(0, 0, 0, 0) 100%);
	background: linear-gradient(top, rgba(0, 0, 0, 0.3) 0%, rgba(0, 0, 0, 0) 100%);
	-webkit-animation: go-flip-show 0.3s linear both;
	-moz-animation: go-flip-show 0.3s linear both;
	-ms-animation: go-flip-show 0.3s linear both;
	animation: go-flip-show 0.3s linear both;
}

.go-flip-active .go-flip-top .go-flip-shadow {
	background: -webkit-gradient(linear, left top, left bottom, color-stop(0, rgba(0, 0, 0, 0)), color-stop(1, rgba(0, 0, 0, 0.3)));
	background: -webkit-linear-gradient(top, rgba(0, 0, 0, 0) 0%, rgba(0, 0, 0, 0.3) 100%);
	background: -moz-linear-gradient(top, rgba(0, 0, 0, 0) 0%, rgba(0, 0, 0, 0.3) 100%);
	background: -ms-linear-gradient(top, rgba(0, 0, 0, 0) 0%, rgba(0, 0, 0, 0.3) 100%);
	background: linear-gradient(top, rgba(0, 0, 0, 0) 0%, rgba(0, 0, 0, 0.3) 100%);
	-webkit-animation: go-flip-hide 0.3s 0.3s linear both;
	-moz-animation: go-flip-hide 0.3s 0.3s linear both;
	-ms-animation: go-flip-hide 0.3s 0.3s linear both;
	animation: go-flip-hide 0.3s 0.3s linear both;
}

.go-flip-active .go-flip-bot .go-flip-shadow {
	background: -webkit-gradient(linear, left top, left bottom, color-stop(0, rgba(0, 0, 0, 0.3)), color-stop(1, rgba(0, 0, 0, 0)));
	background: -webkit-linear-gradient(top, rgba(0, 0, 0, 0.3) 0%, rgba(0, 0, 0, 0) 100%);
	background: -moz-linear-gradient(top, rgba(0, 0, 0, 0.3) 0%, rgba(0, 0, 0, 0) 100%);
	background: -ms-linear-gradient(top, rgba(0, 0, 0, 0.3) 0%, rgba(0, 0, 0, 0) 100%);
	background: linear-gradient(top, rgba(0, 0, 0, 0.3) 0%, rgba(0, 0, 0, 0) 100%);
	-webkit-animation: go-flip-hide 0.3s 0.3s linear both;
	-moz-animation: go-flip-hide 0.3s 0.3s linear both;
	-ms-animation: go-flip-hide 0.3s 0.3s linear both;
	animation: go-flip-hide 0.3s 0.3s linear both;
}

@-webkit-keyframes go-flip-ani-idx {
  0% {
    z-index: 2;
  }

  5% {
    z-index: 4;
  }

  100% {
    z-index: 4;
  }
}
@keyframes go-flip-ani-idx {
  0% {
    z-index: 2;
  }

  5% {
    z-index: 4;
  }

  100% {
    z-index: 4;
  }
}
@-webkit-keyframes go-flip-ani-up {
  0% {
    -webkit-transform: rotateX(90deg);
    -ms-transform: rotateX(90deg);
    transform: rotateX(90deg);
  }

  60% {
    -webkit-transform: rotateX(0deg);
    -ms-transform: rotateX(0deg);
    transform: rotateX(0deg);
  }

  80% {
    -webkit-transform: rotateX(20deg);
    -ms-transform: rotateX(20deg);
    transform: rotateX(20deg);
  }

  100% {
    -webkit-transform: rotateX(0deg);
    -ms-transform: rotateX(0deg);
    transform: rotateX(0deg);
  }
}
@keyframes go-flip-ani-up {
  0% {
    -webkit-transform: rotateX(90deg);
    -ms-transform: rotateX(90deg);
    transform: rotateX(90deg);
  }

  60% {
    -webkit-transform: rotateX(0deg);
    -ms-transform: rotateX(0deg);
    transform: rotateX(0deg);
  }

  80% {
    -webkit-transform: rotateX(20deg);
    -ms-transform: rotateX(20deg);
    transform: rotateX(20deg);
  }

  100% {
    -webkit-transform: rotateX(0deg);
    -ms-transform: rotateX(0deg);
    transform: rotateX(0deg);
  }
}
@-webkit-keyframes go-flip-ani-down {
  0% {
    -webkit-transform: rotateX(0deg);
    -ms-transform: rotateX(0deg);
    transform: rotateX(0deg);
    opacity: 1;
    filter: alpha(opacity=100);
    -ms-filter: none;
    -webkit-filter: none;
            filter: none;
  }

  99% {
    opacity: 1;
    filter: alpha(opacity=100);
    -ms-filter: none;
    -webkit-filter: none;
            filter: none;
  }

  100% {
    opacity: 0;
    filter: alpha(opacity=0);
    -ms-filter: "progid:DXImageTransform.Microsoft.Alpha(Opacity=0)";
    -webkit-transform: rotateX(-90deg);
    -ms-transform: rotateX(-90deg);
    transform: rotateX(-90deg);
  }
}
@keyframes go-flip-ani-down {
  0% {
    -webkit-transform: rotateX(0deg);
    -ms-transform: rotateX(0deg);
    transform: rotateX(0deg);
    opacity: 1;
    filter: alpha(opacity=100);
    -ms-filter: none;
    -webkit-filter: none;
            filter: none;
  }

  99% {
    opacity: 1;
    filter: alpha(opacity=100);
    -ms-filter: none;
    -webkit-filter: none;
            filter: none;
  }

  100% {
    opacity: 0;
    filter: alpha(opacity=0);
    -ms-filter: "progid:DXImageTransform.Microsoft.Alpha(Opacity=0)";
    -webkit-transform: rotateX(-90deg);
    -ms-transform: rotateX(-90deg);
    transform: rotateX(-90deg);
  }
}
@-webkit-keyframes go-flip-show {
  0% {
    opacity: 0;
    filter: alpha(opacity=0);
    -ms-filter: "progid:DXImageTransform.Microsoft.Alpha(Opacity=0)";
  }

  100% {
    opacity: 1;
    filter: alpha(opacity=100);
    -ms-filter: none;
    -webkit-filter: none;
            filter: none;
  }
}
@keyframes go-flip-show {
  0% {
    opacity: 0;
    filter: alpha(opacity=0);
    -ms-filter: "progid:DXImageTransform.Microsoft.Alpha(Opacity=0)";
  }

  100% {
    opacity: 1;
    filter: alpha(opacity=100);
    -ms-filter: none;
    -webkit-filter: none;
            filter: none;
  }
}
@-webkit-keyframes go-flip-hide {
  0% {
    opacity: 1;
    filter: alpha(opacity=100);
    -ms-filter: none;
    -webkit-filter: none;
            filter: none;
  }

  100% {
    opacity: 0;
    filter: alpha(opacity=0);
    -ms-filter: "progid:DXImageTransform.Microsoft.Alpha(Opacity=0)";
  }
}
@keyframes go-flip-hide {
  0% {
    opacity: 1;
    filter: alpha(opacity=100);
    -ms-filter: none;
    -webkit-filter: none;
            filter: none;
  }

  100% {
    opacity: 0;
    filter: alpha(opacity=0);
    -ms-filter: "progid:DXImageTransform.Microsoft.Alpha(Opacity=0)";
  }
}

