#template-contest-archive .contest-list {
  margin:auto;
  max-width:1200px;
  position:relative;
}
#template-contest-archive .contest-list .contest-item {
  font-family:'source-serif-pro', serif;
  position:relative;
  z-index:1;
  text-align:center;
}
#template-contest-archive .contest-list .mask {
  background:white;
  position:absolute;
  top:0;
  right:0;
  bottom:0;
  left:0;
  transform:scaleY(0);
  transform-origin:bottom center;
}
#template-contest-archive .contest-list .separator {
  background:#e5e5e5;
  display:block;
  margin:auto;
  position:absolute;
  top:0;
  right:0;
  bottom:auto;
  left:0;
  height:1px;
  transform-origin:bottom center;
}
#template-contest-archive .contest-list > .separator {
  top:auto;
  bottom:0;
}
#template-contest-archive .contest-list .contest-link { display:block; }
#template-contest-archive .contest-list .contest-link .contest-title, #template-contest-archive .contest-list .contest-link .contest-subtitle, #template-contest-archive .contest-list .contest-link .contest-date {
  display:inline;
  background-image:linear-gradient(to top,#eeeeee 0px,#eeeeee 0px), linear-gradient(to top,transparent 0px,transparent 0px);
  background-position:left bottom 2px, left bottom 2px;
  background-repeat:no-repeat, no-repeat;
  background-size:100% 0, 100% 0;
  transition:none 200ms ease-out;
  transition-property:background-size, color;
}
#template-contest-archive .contest-list .contest-link .contest-title {
  background-position:left bottom 5px, left bottom 5px;
  background-size:100% 0, 100% 0;
  transition-delay:0ms;
}
#template-contest-archive .contest-list .contest-link .contest-title:after {
  content:"\A";
  white-space:pre;
}
#template-contest-archive .contest-list .contest-link .contest-subtitle {
  background-position:left bottom 2px, left bottom 2px;
  background-size:100% 0, 100% 0;
  transition-delay:100ms;
}
#template-contest-archive .contest-list .contest-link .contest-subtitle:after {
  content:"\A";
  white-space:pre;
}
#template-contest-archive .contest-list .contest-link .contest-date { transition-delay:200ms; }
#template-contest-archive .contest-list .contest-link .contest-date:after {
  content:"\A";
  white-space:pre;
}
#template-contest-archive .contest-list .contest-link:hover .contest-title, #template-contest-archive .contest-list .contest-link:hover .contest-subtitle, #template-contest-archive .contest-list .contest-link:hover .contest-date { background-size:100% 8px, 100% 8px; }
#template-contest-archive .contest-list .contest-link:hover .contest-title { background-size:100% 16px, 100% 16px; }
#template-contest-archive .contest-list .contest-link:hover .contest-subtitle { background-size:100% 11px, 100% 11px; }
#template-contest-archive .current-contest { padding:74px 80px 69px; }
#template-contest-archive .current-contest .contest-title {
  font-size:50px;
  font-weight:400;
  line-height:60px;
  margin-bottom:4px;
}
#template-contest-archive .current-contest .contest-subtitle {
  font-size:22px;
  font-weight:400;
  line-height:30px;
  margin-bottom:9px;
}
#template-contest-archive .ended-contest { padding:50px 80px; }
#template-contest-archive .ended-contest .contest-title {
  font-size:30px;
  font-weight:400;
  line-height:40px;
}
#template-contest-archive .ended-contest .contest-subtitle {
  font-size:18px;
  font-weight:400;
  line-height:25px;
}
#template-contest-archive .ended-contest .contest-link .contest-title {
  background-position:left bottom 3px, left bottom 3px;
  background-size:100% 0, 100% 0;
  transition-delay:0ms;
}
#template-contest-archive .ended-contest .contest-link .contest-subtitle {
  background-position:left bottom 2px, left bottom 2px;
  background-size:100% 0, 100% 0;
  transition-delay:100ms;
}
#template-contest-archive .ended-contest .contest-link:hover .contest-title { background-size:100% 10px, 100% 10px; }
#template-contest-archive .ended-contest .contest-link:hover .contest-subtitle { background-size:100% 9px, 100% 9px; }
#template-contest-archive .contest-date {
  color:#000000;
  font-family:'Lato', sans-serif;
  font-size:12px;
  font-weight:400;
  line-height:20px;
  margin-top:10px;
  margin-bottom:5px;
  text-align:center;
  text-transform:uppercase;
}
