/* ========================================================================
* DOM-based Routing
* Based on http://goo.gl/EUTi53 by Paul Irish
*
* Only fires on body classes that match. If a body class contains a dash,
* replace the dash with an underscore when adding it to the object below.
*
* .noConflict()
* The routing is enclosed within an anonymous function so that you can
* always reference jQuery with $, even when in .noConflict() mode.
* ======================================================================== */
(function($) {
// Use this variable to set up the common and page specific functions. If you
// rename this variable, you will also need to rename the namespace below.
var Sage = {
// All pages
common: {
init: function() {
// JavaScript to be fired on all pages
},
finalize: function() {
// JavaScript to be fired on all pages, after page specific JS is fired
// Modal functionality
$(".video-play").on("click", function(e) {
e.preventDefault();
var id = $(this).attr("href").split("v=")[1];
if (id.length > 0) {
if (document.getElementById(id) === null) {
$("body").append('');
}
$(".reveal-overlay, .reveal-overlay .reveal.modal").css("display", "block");
} else {
window.location.href = $(this).attr("href");
}
$(".close-button").on("click", function() {
$(".reveal-overlay, .reveal-overlay .reveal.modal").css("display", "none");
$(".youtube-video")[0].contentWindow.postMessage('{"event":"command","func":"' + "pauseVideo" + '","args":""}', "*");
$(".iframe-container").children("iframe").attr("src", "");
});
});
// Accordion functionality
$(".accordion-toggle").on("click", function(e) {
e.preventDefault();
$(this).toggleClass("open").siblings(".content").slideToggle();
});
// Language switcher JS
var lang = document.querySelector(".wp-language-switcher");
if (lang) {
if (lang.length && lang.length > 0) {
lang.onchange = function() {
window.location = this.value;
};
}
}
// Cause Detail sticky footer
$(window).scroll(function() {
var scroll = $(window).scrollTop();
if (scroll >= 750) {
$(".floating-footer").addClass("visible");
} else {
$(".floating-footer").removeClass("visible");
}
});
$("#myModal").on("shown.bs.modal", function() {
$("#myInput").trigger("focus");
});
var myBar = document.getElementById("myBar");
function onScroll() {
var winScroll = document.body.scrollTop || document.documentElement.scrollTop;
var height = document.documentElement.scrollHeight - document.documentElement.clientHeight;
var scrolled = (winScroll / height) * 100;
myBar.style.width = scrolled + "%";
}
if (myBar) {
window.onscroll = onScroll;
}
$(".featured-cards").slick({
dots: true,
infinite: true,
speed: 300,
slidesToShow: 1,
slidesToScroll: 1,
mobileFirst: true,
responsive: [{
breakpoint: 767,
settings: "unslick",
}, ],
});
/* Block - Carousels
-------------------------------------------------------------- */
$(".carousel__default").slick({
useTransform: true,
cssEase: "ease-in-out",
speed: 1000,
slidesToShow: 1,
slidesToScroll: 1,
arrows: true,
nextArrow: ".carousel__arrow--right",
prevArrow: ".carousel__arrow--left",
adaptiveHeight: true,
});
$(".carousel__featured-campaigns").slick({
useTransform: true,
cssEase: "ease-in-out",
speed: 1000,
slidesToShow: 3,
slidesToScroll: 1,
arrows: true,
nextArrow: ".carousel__arrow--right",
prevArrow: ".carousel__arrow--left",
responsive: [{
breakpoint: 959,
settings: {
slidesToShow: 2,
},
},
{
breakpoint: 767,
settings: {
slidesToShow: 1,
},
},
],
});
/* GoFindYou article image slider
-------------------------------------------------------------- */
$(".heroesCarousel .carousel-contain").slick({
autoplay: true,
speed: 1000,
arrows: true,
fade: true,
autoplaySpeed: 8000,
nextArrow: ".heroes-carousel-nav--next",
prevArrow: ".heroes-carousel-nav--prev",
});
/* Heroes archive carousel
-------------------------------------------------------------- */
$(".gofindyou-article__body .image-slider").slick({});
/* Block - Layout - Accordion
-------------------------------------------------------------- */
jQuery(".accordion__item-top").click(function() {
jQuery(this).parent().toggleClass("accordion__item--open");
jQuery(this).siblings(".accordion__item-bottom").slideToggle(500);
});
jQuery(".faq-question").on("click", function() {
jQuery(this).parent(".faq").toggleClass("open");
jQuery(this).siblings(".faq-answer").slideToggle(500);
});
/* Add iterating section ids to BLOCKS + Smooth scroll
-------------------------------------------------------------- */
jQuery("main .block").each(function(i) {
var navCounter = i + 1;
jQuery(this).attr("id", "section-" + navCounter);
});
/* Webinar Tags
-------------------------------------------------------------- */
if (jQuery(window).width() < 760) {
jQuery(".webinars-hub__categories").children().wrapAll("");
jQuery(".webinars-hub__categories").append("Filter by
");
} else {
jQuery(".webinars-hub__categories").children().not(":nth-child(-n+3)").wrapAll("");
jQuery(".webinars-hub__categories > a:nth-child(3)").after("More
");
}
var webinarCategoriesHeight = jQuery(".webinars-hub__categories").outerHeight() + 8;
jQuery(".webinars-hub__tags-dropdown").css("top", webinarCategoriesHeight);
jQuery(".webinars-hub__categories .dropdown-trigger").click(function() {
jQuery(this).siblings(".webinars-hub__tags-dropdown").toggleClass("open");
jQuery(this).toggleClass("active");
});
/* Single GoFindYou Lity scripts
-------------------------------------------------------------- */
jQuery(".single-gofindyouarticle .modal-button").on("click", function() {
var modalButtonID = jQuery(this).attr("id");
jQuery(document).on("lity:open lity:close", function(event, instance) {
jQuery(".lity").attr("class", "lity lity-opened lity-inline");
jQuery(".lity").addClass(modalButtonID);
});
});
/* Single Webinar Form
-------------------------------------------------------------- */
var formHeight = jQuery(".single-webinar__header .form-wrapper").height();
var headerHeight = jQuery(".single-webinar__header").height() + formHeight - 31;
jQuery(".single-webinar__header .form-track").css({
height: headerHeight,
});
/* Smooth-scroll button links
-------------------------------------------------------------- */
$("a.smooth-scroll.btn").click(function(event) {
$("html,body").animate({
scrollTop: $(this.hash).offset().top - 100
}, 1500);
});
/* Add aria labels on testimonial "Read More". Done to satisfy accessibility audit
-------------------------------------------------------------- */
$(window).on("load", function() {
$(".bne-testimonial-wrapper .testimonial-single").each(function(index) {
var authorName = $(this).find(".testimonial-name").text();
$(this).find(".readmore").attr("aria-label", authorName);
});
});
/* Academic Growth
-------------------------------------------------------------- */
$(".ag-toggle-student").on("click", function() {
$(".ag-toggle p").removeClass("active");
$(this).addClass("active");
$(".ag-toggled-section").removeClass("active");
$(".ag-student-blocks").addClass("active");
});
$(".ag-toggle-teacher").on("click", function() {
$(".ag-toggle p").removeClass("active");
$(this).addClass("active");
$(".ag-toggled-section").removeClass("active");
$(".ag-teacher-blocks").addClass("active");
});
/* Remove /c/ from "Home" breadcrumb
-------------------------------------------------------------- */
var homeUrl = jQuery("#breadcrumbs .breadcrumb-item:first-child a").attr("href") || "";
// Use a regular expression to replace both "/c/" and "/c" (with or without trailing slash)
var stringReplace = homeUrl.replace(/\/c\/?|\/c\/?/g, "");
jQuery("#breadcrumbs .breadcrumb-item:first-child a").attr("href", stringReplace);
/* Redirect Search Button to new Search Results Page /s?q=
-------------------------------------------------------------- */
$(".js-search-nav-bar-button").on("click", function(event) {
event.preventDefault();
window.location.replace("https://www.gofundme.com/s?q=");
});
},
},
};
// The routing fires all common scripts, followed by the page specific scripts.
// Add additional events for more control over timing e.g. a finalize event
var UTIL = {
fire: function(func, funcname, args) {
var fire;
var namespace = Sage;
funcname = funcname === undefined ? "init" : funcname;
fire = func !== "";
fire = fire && namespace[func];
fire = fire && typeof namespace[func][funcname] === "function";
if (fire) {
namespace[func][funcname](args);
}
},
loadEvents: function() {
// Fire common init JS
UTIL.fire("common");
// Fire page-specific init JS, and then finalize JS
$.each(document.body.className.replace(/-/g, "_").split(/\s+/), function(i, classnm) {
UTIL.fire(classnm);
UTIL.fire(classnm, "finalize");
});
// Fire common finalize JS
UTIL.fire("common", "finalize");
},
};
// Load Events
$(document).ready(UTIL.loadEvents);
})(jQuery); // Fully reference jQuery after this point.
// This corrects a chrome bug where anchor tags were not working if coming from a different page
var isChrome = /Chrome/.test(navigator.userAgent) && /Google Inc/.test(navigator.vendor);
if (window.location.hash && isChrome) {
setTimeout(function() {
var hash = window.location.hash;
window.location.hash = "";
window.location.hash = hash;
}, 300);
}
var $ = jQuery.noConflict();
//# sourceMappingURL=main-min.js.map
;
jQuery(document).ready(function(){wordCountResize("body-text",50),wordCountResize("title-wrapper",10),wordCountResize("body-text",50),wordCountResize("title-wrapper",10)});
//# sourceMappingURL=block-min.js.map
;
/* Wrap all iframe in special wrapper so they can be made responsive
-------------------------------------------------------------- */
jQuery('.block-long-form-content-v1 iframe').wrap('');
/* Nav logic
-------------------------------------------------------------- */
// Loop through each block with the class "long-form-content-v1"
jQuery(".block-long-form-content-v1").each(function() {
// Create a new unordered list to hold the anchor links
var anchorList = jQuery("");
// Loop through each H2 heading within the current block
jQuery(this).find("h2").each(function() {
// If the H2 does not have a class of "nav-title", create an anchor link for it
if (!jQuery(this).hasClass("nav-title")) {
// Create a unique ID for the H2 element
var id = jQuery(this).text().trim().toLowerCase().replace(/[^a-z0-9]+/g, "-");
jQuery(this).attr("id", id);
// Create a new list item with an anchor link to the H2 element
var listItem = jQuery("");
var anchor = jQuery("").attr("href", "#" + id).text(jQuery(this).text());
listItem.append(anchor);
// Add the new list item to the unordered list
anchorList.append(listItem);
}
});
// Add the unordered list to the block's anchor-links container
jQuery(this).find(".anchor-links").append(anchorList);
});
/* Smooth scroll
-------------------------------------------------------------- */
jQuery(".block-long-form-content-v1 .smooth-scroll").click(function (event) {
jQuery("html,body").animate(
{ scrollTop: jQuery(this.hash).offset().top - 20 },
1500
);
});
;
//# sourceMappingURL=block-min.js.map
;