extends ../layout-wide block content .row .col-md-8.col-md-offset-2 for step, index in description .challenge-step(class=index !== 0 ? 'hidden': '') a(href=step[0] data-lightbox='img-enlarge') img.gif-block.img-center.img-responsive(src='#{step[0]}' alt='#{step[1]}') .row .spacer .col-xs-12.col-sm-10.col-sm-offset-1.col-md-8.col-md-offset-2 p!= step[2] .spacer .challenge-button-block if step[3] a.btn.btn-block.btn-primary.challenge-step-btn-action.btn-lg(id='#{index}' href='#{step[3]}' target='_blank') Open link in new tab (this unlocks the next step) .button-spacer if index === 0 .col-sm-5.hidden-xs   else .btn.btn-primary.btn-primary-ghost.col-sm-5.col-xs-12.challenge-step-btn-prev.btn-lg(id='#{index - 1}') Go to my previous step .challenge-step-counter.large-p.col-sm-2.col-xs-12.text-center (#{index + 1} / #{description.length}) if index + 1 === description.length .btn.btn-primary.col-sm-5.col-xs-12.challenge-step-btn-finish.btn-lg(id='last' class=step[3] && !isCompleted ? 'disabled' : '') Finish challenge else .btn.btn-primary.col-sm-5.col-xs-12.challenge-step-btn-next.btn-lg(id='#{index}' class=step[3] && !isCompleted ? 'disabled' : '') Go to my next step .clearfix .spacer #challenge-step-modal.modal(tabindex='-1') .modal-dialog.animated.fadeIn.fast-animation .modal-content .modal-header.challenge-list-header= compliment a.close.closing-x(href='#', data-dismiss='modal', aria-hidden='true') × .modal-body .text-center #checkmark-container.row #challenge-checkmark.animated.zoomInDown.delay-half span.completion-icon.ion-checkmark-circled.text-primary .spacer .row if (user) #challenge-step-btn-submit.animated.fadeIn.btn.btn-lg.btn-primary.btn-block Submit and go to my next challenge else a.btn.btn-lg.btn-primary.btn-block(href='/challenges/next-challenge?id=' + id) Go to my next challenge script. var common = window.common || { init: [] }; common.challengeId = !{JSON.stringify(id)}; common.challengeName = !{JSON.stringify(name)}; common.challengeType = !{JSON.stringify(challengeType)}; common.dashedName = !{JSON.stringify(dashedName || '')}; common.isHonest = !{JSON.stringify(isHonest || false)}; common.isFrontEndCert = !{JSON.stringify(isFrontEndCert || false)}; common.isFullStackCert = !{JSON.stringify(isFullStackCert || false)}; common.challengeSeed = !{JSON.stringify(challengeSeed || [])}; include ../partials/challenge-footer