Haunted Adventures - Ghost Ship
.pacer_desc { font-family: Helvetica Neue; } .pacer_desc .main_width { margin: 0 auto; } .pacer_desc .content_font { font-size: 16px; color: #3a3a3a; } .pacer_desc .section_title { text-align: center; font-weight: bold; font-size: 32px; } .pacer_desc .cp_list { margin-top: 50px; display: flex; background: rgba(196, 196, 196, 0.1); border-radius: 10px; padding: 54px 122px; } .pacer_desc .cp_item { flex: 1; display: flex; flex-direction: column; align-items: center; } .pacer_desc .cp_item + .cp_item { margin-left: 20px; } .pacer_desc .cp_list .cp_img { width: 100%; max-width: 200px; object-fit: contain; border-radius: 1000px; } .pacer_desc .cp_list .cp_name { margin-top: 30px; font-weight: bold; max-width: 220px; word-break: break-word; } .pacer_desc .divider { background: linear-gradient(90.03deg, #740d16 0.02%, #9f2732 99.98%); text-align: center; color: #fff; margin-top: 60px; padding: 10px 0; font-size: 15px; font-weight: 700; width: 100vw; margin-left: calc(50% - 50vw); position: relative; } .pacer_desc .feature { display: flex; align-items: center; justify-content: space-between; } .pacer_desc .feature .content, .pacer_desc .feature .feature_img { width: 50%; } .pacer_desc .feature .content + .feature_img, .pacer_desc .feature .feature_img + .content { margin-left: 50px; } .pacer_desc .feature .content .title { font-size: 32px; font-weight: bold; } .pacer_desc .feature .content .content_value { font-size: 16px; } .pacer_desc .medal .medal_desc, .pacer_desc .tshirt .tshirt_desc, .pacer_desc .checkpoint .cp_desc { margin-top: 30px; } .pacer_desc .medal_images { display: flex; margin: 40px 20px 0; justify-content: center; width: 100vw; margin-left: calc(50% - 50vw); align-items: center; } .pacer_desc .medal_images .medal_img { width: 30%; margin-right: 10px; vertical-align: middle; cursor: pointer; } .pacer_desc .medal_images .medal_img.video_item { cursor: initial; } .pacer_desc .medal_img:last-child { margin-right: 0; } .pacer_desc .mobile_video { display: none; width: 100%; /* height: 300px; */ object-fit: cover; margin-top: 20px; } .modal_image { position: fixed; top: 0; left: 0; right: 0; bottom: 0; display: flex; align-items: center; justify-content: center; background-color: #000; display: none; z-index: 99; } .modal_image .close { position: absolute; top: 35px; right: 70px; font-size: 50px; font-weight: bold; color: #fff; cursor: pointer; transition: 0.3s; } .modal_image .close:hover { color: #ddd; } .modal_image img { max-width: 100%; max-height: 100%; object-fit: contain; } @media screen and (max-width: 800px) { .pacer_desc .medal { width: 100%; } .pacer_desc .medal_images { padding-left: 15px; margin-top: 10px; overflow-x: scroll; justify-content: flex-start; box-sizing: border-box; scrollbar-width: none; margin-left: -15px; padding-right: 15px; /* no video */ flex-direction: column; margin-left: 0; margin-right: 0; padding: 0; width: 100%; } .pacer_desc .medal_images::-webkit-scrollbar { display: none; } .pacer_desc .medal_images .medal_img { width: 70vw; min-width: auto; height: auto; align-self: flex-start; margin-bottom: 10px; margin-right: 0; /* no video */ width: 100%; } .pacer_desc .medal_images .medal_img.video_item { display: none; } .pacer_desc .cp_list { margin-top: 20px; padding: 10px; } .modal_image .close { position: absolute; top: 20px; right: 30px; font-size: 40px; font-weight: bold; color: #fff; cursor: pointer; transition: 0.3s; } } @media screen and (max-width: 768px) { .pacer_desc .map_layer .challenge_info .challenge_name { display: none; } .pacer_desc .map_layer .checkpoints_count { color: rgb(191, 191, 191); } .pacer_desc .map iframe { height: 400px !important; } .pacer_desc .mobile_video { display: block; } .pacer_desc .medal { width: 100%; } .pacer_desc .medal_images { padding-left: 15px; margin-top: 10px; overflow-x: scroll; justify-content: flex-start; box-sizing: border-box; scrollbar-width: none; margin-left: -15px; padding-right: 15px; /* no video */ flex-direction: column; margin-left: 0; margin-right: 0; padding: 0; width: 100%; } .pacer_desc .medal_images::-webkit-scrollbar { display: none; } .pacer_desc .medal_images .medal_img { width: 70vw; min-width: auto; height: auto; align-self: flex-start; margin-bottom: 10px; margin-right: 0; /* no video */ width: 100%; } .pacer_desc .medal_images .medal_img.video_item { display: none; } .pacer_desc .cp_list { margin-top: 20px; padding: 10px; } .pacer_desc .cp_list .cp_item .cp_img { width: 100%; height: auto; } .pacer_desc .cp_list .cp_name { margin-top: 10px; color: #8f8f8f; font-weight: normal; font-style: italic; } .pacer_desc .feature { flex-direction: column-reverse; } .pacer_desc .feature + .feature { margin-top: 30px; } .pacer_desc .feature.img_first { flex-direction: column; } .pacer_desc .feature .feature_img, .pacer_desc .feature .content { width: 100%; } .pacer_desc .feature .content + .feature_img, .pacer_desc .feature .feature_img + .content { margin-left: 0; } .pacer_desc .feature .content { margin-top: 20px; } .pacer_desc .feature .content .title { text-align: center; width: 80%; margin: 0 auto; font-size: 30px; line-height: initial; } .pacer_desc .medal .medal_desc, .pacer_desc .tshirt .tshirt_desc, .pacer_desc .checkpoint .cp_desc { margin-top: 18px; } } Set sail on the Ghost Ship virtual challenge! This 44 km trek takes you through cursed waters where ghostly ships and lost sailors roam. Are you brave enough to make it through these supernatural seas? When and Where - This is a virtual adventure challenge. Participate and complete at anytime, from anywhere in the world. How - Set your own timeframe and finish the required distance with walk, run, bike or any distance-based activities of your choice. Rewards - Receive a gorgeous finisher medal at your doorstep with worldwide shipping! You will also receive an E-certificate via email, and unlock digital postcards in the app. GET INSPIRED, BE ACTIVE, AND EARN A MEDAL Stunning Ghost Ship Finisher Medal Each medal is created with deliberate design and exquisite craftsmanship, and comes in a cushioned showcase box. It's guaranteed not to be like any other medals that you've earned before. Ghost Ship Virtual Adventure Checkpoints Unlock new locations along the map as you progress through your challenge. Each new location is a chance to immerse yourself in the virtual experience and learn about local landmarks, history and culture. Noordhoek Beach Simon's Town New Cape Point Lighthouse .pacer_desc .map { margin-top: 30px; position: relative; } .pacer_desc .map iframe { height: 600px; } .pacer_desc .map_layer { position: absolute; top: 0; left: 0; right: 0; background-color: #414141; height: 68px; display: flex; align-items: center; justify-content: space-between; color: #fff; padding: 0 24px; font-family: 'Helvetica Neue'; font-style: normal; font-size: 17px; line-height: 21px; } .pacer_desc .map_action_disabled { position: absolute; top: 0; left: 0; right: 0; bottom: 0; background-color: transparent; } .pacer_desc .challenge_info { display: flex; align-items: center; } .pacer_desc .challenge_info .challenge_name { margin-right: 10px; } .pacer_desc iframe { border-width: 0; } Ghost Ship 44 km / 27 miles 5 Checkpopints .collection { margin-top: 60px; } .collection .complete_collection { font-size: 32px; font-weight: bold; text-align: center; } .collection .collection_tip { margin-top: 10px; font-size: 16px; color: #3a3a3a; text-align: center; } .collection .go_to_pack_wrap { margin-top: 4px; text-align: center; } .collection .go_to_pack { font-size: 16px; color: #891111; cursor: pointer; border-bottom-color: #891111; } .collection .pack_img_wrap { margin-top: 30px; } .collection .pack_img_wrap > a { display: block; } .collection .pack_img_wrap img { width: 100%; } @media screen and (max-width: 768px) { .collection .complete_collection { font-size: 30px; line-height: 34px; } } Complete The 4-medal Collection! Get all the medals in the Haunted Adventures series by completing this challenge and others like it. Get the whole pack > FUN VIRTUAL EXPERIENCE Immersive Ghost Ship Virtual Experience High-resolution maps, 360° panoramic views, photos and fun facts. Immerse yourself in the journey and learn fun facts about local landmarks, history and culture. Works With What You Have Connect Pacer app with your favorite wearables/apps and easily sync over your workout. Not a fan of fancy stuff? Your phone works just fine too! Global Challenge Leaderboards You don’t have to be alone during the journey! See and compare your performance with other participants with global and friends leaderboards. Digital Ghost Ship Badges and Perks Upon completion of each challenge, the participant will unlock a unique badge as well as an E-certificate to print or brag about! × const modalImageContainerClassName = 'modal_image' const medalImages = document.querySelectorAll('.medal_img') const modalImage = document.querySelector('.modal_image') const modalImageImg = document.querySelector('.modal_image img') const modalImageClose = document.querySelector('.modal_image .close') const modalImageUtils = (function () { const showModalImage = (src) => { if (!src) return modalImageImg.src = src modalImage.style.display = 'flex' udpateModalImageWidth() } const udpateModalImageWidth = () => { const windowWidth = window.innerWidth const windowHeight = window.innerHeight if (windowWidth < windowHeight) { modalImageImg.style.width = windowWidth + 'px' modalImageImg.style.height = 'auto' } else { modalImageImg.style.width = 'auto' modalImageImg.style.height = windowHeight + 'px' } } const hideModalImage = () => { modalImage.style.display = 'none' } return { showModalImage, udpateModalImageWidth, hideModalImage, } })() const modalImageListner = (function () { const listenWindowResize = () => { window.addEventListener('resize', () => { modalImageUtils.udpateModalImageWidth() }) } const listenMedalImageClick = () => { medalImages.forEach((img) => { if (img.classList.contains('video_item')) return img.addEventListener('click', () => { const imgSrc = img.src || '' modalImageUtils.showModalImage(imgSrc) }) }) } const listenModalImageCloseClick = () => { modalImageClose.addEventListener('click', () => { modalImageUtils.hideModalImage() }) modalImage.addEventListener('click', (e) => { if (e.target.classList.contains(modalImageContainerClassName)) { modalImageUtils.hideModalImage() } }) } const init = () => { listenWindowResize() listenMedalImageClick() listenModalImageCloseClick() } return { init, } })() const modalImageMain = () => { modalImageListner.init() } modalImageMain()
More you might like
Related
Ghost Ships: Are Ships Really Haunted?
Spooky Adventures on Haunted Ghost Tours and
Related
Official US Ghost Adventures Haunted Heritage Beanie Hat
Related