<!DOCTYPE html>
<html class="no-js" lang="en">
<head>
<title>ACFCS - Not Found</title>
<link rel="dns-prefetch preconnect" href="https://cdn11.bigcommerce.com/s-dzatfnb4b0" crossorigin><link rel="dns-prefetch preconnect" href="https://fonts.googleapis.com/" crossorigin><link rel="dns-prefetch preconnect" href="https://fonts.gstatic.com/" crossorigin>
<meta name='platform' content='bigcommerce.stencil' />
<link href="https://cdn11.bigcommerce.com/s-dzatfnb4b0/product_images/cfcs_favicon.png?t=1668171363" rel="shortcut icon">
<meta name="viewport" content="width=device-width, initial-scale=1">
<script>
document.documentElement.className = document.documentElement.className.replace('no-js', 'js');
</script>
<script>
function browserSupportsAllFeatures() {
return window.Promise
&& window.fetch
&& window.URL
&& window.URLSearchParams
&& window.WeakMap
// object-fit support
&& ('objectFit' in document.documentElement.style);
}
function loadScript(src) {
var js = document.createElement('script');
js.src = src;
js.onerror = function () {
console.error('Failed to load polyfill script ' + src);
};
document.head.appendChild(js);
}
if (!browserSupportsAllFeatures()) {
loadScript('https://cdn11.bigcommerce.com/s-dzatfnb4b0/stencil/31e324c0-cdc5-013c-e8ae-02226d0bea36/e/7e3a2280-895d-013b-80ae-3efcf4e4337e/dist/theme-bundle.polyfills.js');
}
</script>
<script>
window.lazySizesConfig = window.lazySizesConfig || {};
window.lazySizesConfig.loadMode = 1;
</script>
<script async src="https://cdn11.bigcommerce.com/s-dzatfnb4b0/stencil/31e324c0-cdc5-013c-e8ae-02226d0bea36/e/7e3a2280-895d-013b-80ae-3efcf4e4337e/dist/theme-bundle.head_async.js"></script>
<script src="https://ajax.googleapis.com/ajax/libs/webfont/1.6.26/webfont.js"></script>
<script>
WebFont.load({
custom: {
families: ['Karla', 'Roboto', 'Source Sans Pro']
},
classes: false
});
</script>
<link href="https://fonts.googleapis.com/css?family=Montserrat:400,700,500&display=swap" rel="stylesheet">
<link data-stencil-stylesheet href="https://cdn11.bigcommerce.com/s-dzatfnb4b0/stencil/31e324c0-cdc5-013c-e8ae-02226d0bea36/e/7e3a2280-895d-013b-80ae-3efcf4e4337e/css/theme-4775ad70-ce85-013c-16cc-0ec3e8a06c8d.css" rel="stylesheet">
<script type="text/javascript">
(function () {
var xmlHttp = new XMLHttpRequest();
xmlHttp.open('POST', 'https://bes.gcp.data.bigcommerce.com/nobot');
xmlHttp.setRequestHeader('Content-Type', 'application/json');
xmlHttp.send('{"store_id":"1001167372","timezone_offset":"-5","timestamp":"2024-04-23T06:06:10.24322600Z","visit_id":"a60c8639-ea66-46b4-aeb8-26128cc1fd4c","channel_id":1}');
})();
</script>
<script type="text/javascript">
var BCData = {"csrf_token":"7b13cc58fe000d2b5f967bc644ad8b27e98ef9fd25467622675c423d7b3406fa"};
</script>
<!-- Global site tag (gtag.js) - Google Analytics -->
<script async src="https://www.googletagmanager.com/gtag/js?id=G-SLEB30Q8WW"></script>
<script>
window.dataLayer = window.dataLayer || [];
function gtag(){dataLayer.push(arguments);}
gtag('js', new Date());
gtag('config', 'G-SLEB30Q8WW');
gtag('config', 'UA-5508191-18');
</script>
<!-- Google Tag Manager -->
<script>(function(w,d,s,l,i){w[l]=w[l]||[];w[l].push({'gtm.start':
new Date().getTime(),event:'gtm.js'});var f=d.getElementsByTagName(s)[0],
j=d.createElement(s),dl=l!='dataLayer'?'&l='+l:'';j.async=true;j.src=
'https://www.googletagmanager.com/gtm.js?id='+i+dl;f.parentNode.insertBefore(j,f);
})(window,document,'script','dataLayer','GTM-WL3MPJ');</script>
<!-- End Google Tag Manager --><script type="text/javascript">
(function(c,l,a,r,i,t,y){
c[a]=c[a]||function(){(c[a].q=c[a].q||[]).push(arguments)};
t=l.createElement(r);t.async=1;t.src="https://www.clarity.ms/tag/"+i;
y=l.getElementsByTagName(r)[0];y.parentNode.insertBefore(t,y);
})(window, document, "clarity", "script", "eki9emifyn");
</script><script type="application/ld+json">
{
"@context": "https://schema.org",
"@type": "Organization",
"@id": "https://www.acfcs.org/#org",
"name": "Association of Certified Financial Crime Specialists",
"url": "https://www.acfcs.org/",
"logo": "https://cdn11.bigcommerce.com/s-dzatfnb4b0/images/stencil/250x86/acfcs-logo-crop_1668019114__20203.original.png",
"description": "ACFCS is a leading association and provider of practical tools and knowledge to help professionals improve results in financial crime detection and prevention.",
"disambiguatingDescription": "As the world’s most elite crime detection and prevention certification, ACFCS addresses the full spectrum of financial crime empowering specialists all over the globe with resources that improve results.",
"mainEntityOfPage": "https://en.wikipedia.org/wiki/Financial_crime",
"alternateName": "Financial Crimes Specialist Training and Certification",
"sameAs": [
"https://www.linkedin.com/company/association-of-certified-financial-crime-specialists",
"https://www.facebook.com/ACFCS.org/",
"https://twitter.com/acfcsonline"
],
"contactPoint": [
{
"@type": "ContactPoint",
"telephone": "786-530-8231",
"contactType": "customer service",
"areaServed": "US",
"availableLanguage": "en"
}
],
"address": {
"@type": "PostalAddress",
"postalCode": "30022",
"addressRegion": "Georgia",
"addressCountry": "United States",
"streetAddress": "3625 Brookside Pkwy., Suite 450",
"addressLocality": "Alpharetta"
},
"areaServed":
[
"United States of America",
"https://en.wikipedia.org/wiki/Alabama",
"https://en.wikipedia.org/wiki/Alaska",
"https://en.wikipedia.org/wiki/Arizona",
"https://en.wikipedia.org/wiki/Arkansas",
"https://en.wikipedia.org/wiki/California",
"https://en.wikipedia.org/wiki/Colorado",
"https://en.wikipedia.org/wiki/Connecticut",
"https://en.wikipedia.org/wiki/Delaware",
"https://en.wikipedia.org/wiki/Florida",
"https://en.wikipedia.org/wiki/Georgia",
"https://en.wikipedia.org/wiki/Hawaii",
"https://en.wikipedia.org/wiki/Idaho",
"https://en.wikipedia.org/wiki/Illinois",
"https://en.wikipedia.org/wiki/Indiana",
"https://en.wikipedia.org/wiki/Iowa",
"https://en.wikipedia.org/wiki/Kansas",
"https://en.wikipedia.org/wiki/Kentucky",
"https://en.wikipedia.org/wiki/Louisiana",
"https://en.wikipedia.org/wiki/Maine",
"https://en.wikipedia.org/wiki/Maryland",
"https://en.wikipedia.org/wiki/Massachusetts",
"https://en.wikipedia.org/wiki/Michigan",
"https://en.wikipedia.org/wiki/Minnesota",
"https://en.wikipedia.org/wiki/Mississippi",
"https://en.wikipedia.org/wiki/Missouri",
"https://en.wikipedia.org/wiki/Montana",
"https://en.wikipedia.org/wiki/Nebraska",
"https://en.wikipedia.org/wiki/Nevada",
"https://en.wikipedia.org/wiki/New_Hampshire",
"https://en.wikipedia.org/wiki/New_Jersey",
"https://en.wikipedia.org/wiki/New_Mexico",
"https://en.wikipedia.org/wiki/New_York",
"https://en.wikipedia.org/wiki/North_Carolina",
"https://en.wikipedia.org/wiki/North_Dakota",
"https://en.wikipedia.org/wiki/Ohio",
"https://en.wikipedia.org/wiki/Oklahoma",
"https://en.wikipedia.org/wiki/Oregon",
"https://en.wikipedia.org/wiki/Pennsylvania",
"https://en.wikipedia.org/wiki/Rhode_Island",
"https://en.wikipedia.org/wiki/South_Carolina",
"https://en.wikipedia.org/wiki/South_Dakota",
"https://en.wikipedia.org/wiki/Tennessee",
"https://en.wikipedia.org/wiki/Texas",
"https://en.wikipedia.org/wiki/Utah",
"https://en.wikipedia.org/wiki/Vermont",
"https://en.wikipedia.org/wiki/Virginia",
"https://en.wikipedia.org/wiki/Washington",
"https://en.wikipedia.org/wiki/West_Virginia",
"https://en.wikipedia.org/wiki/Wisconsin",
"https://en.wikipedia.org/wiki/Wyoming"
],
"hasOfferCatalog": [
{
"@type": "OfferCatalog",
"name": "Services",
"itemListElement": [
{
"@type": "Offer",
"itemOffered": {
"@type": "Service",
"name": "Crypto Compliance Specialization"
}
},
{
"@type": "Offer",
"itemOffered": {
"@type": "Service",
"name": "AML 360 Certificate Program"
}
}
]
}
],
"keywords":
[
"financial crime detection certification",
"financial crime specialist",
"financial crime prevention",
"financial crime prevention certification",
"certified financial crime specialist (CFCS) examination",
"certified financial crimes specialist",
"anti-money laundering",
"cyber security",
"fraud",
"tax evasion",
"terrorist financing",
"asset recovery"
],
"founder": {
"@type": "Person",
"givenName": "Joseph",
"familyName":"Yerant"
},
"foundingLocation": {
"@type": "Place",
"address": "Miami, FL"
},
"foundingDate": "2011",
"knowsAbout": [
"https://en.wikipedia.org/wiki/Financial_crime",
"https://en.wikipedia.org/wiki/Cheque_fraud",
"https://en.wikipedia.org/wiki/Credit_card_fraud",
"https://en.wikipedia.org/wiki/Mortgage_fraud",
"https://en.wikipedia.org/wiki/Medical_fraud",
"https://en.wikipedia.org/wiki/Securities_fraud",
"https://en.wikipedia.org/wiki/Insider_trading",
"https://en.wikipedia.org/wiki/Bank_fraud",
"https://en.wikipedia.org/wiki/Insurance_fraud",
"https://en.wikipedia.org/wiki/Market_manipulation",
"https://en.wikipedia.org/wiki/Health_care_fraud",
"https://en.wikipedia.org/wiki/Confidence_trick",
"https://en.wikipedia.org/wiki/Tax_evasion",
"https://en.wikipedia.org/wiki/Embezzlement",
"https://en.wikipedia.org/wiki/Identity_theft",
"https://en.wikipedia.org/wiki/Money_laundering",
"https://en.wikipedia.org/wiki/Forgery",
"https://en.wikipedia.org/wiki/Counterfeit",
"https://en.wikipedia.org/wiki/Counterfeit_money",
"https://en.wikipedia.org/wiki/Computer_crime",
"https://en.wikipedia.org/wiki/Foreign_Corrupt_Practices_Act",
"https://en.wikipedia.org/wiki/Computer_security",
"https://en.wikipedia.org/wiki/Tax_evasion",
"https://en.wikipedia.org/wiki/Asset_recovery"
]
}
</script><script>
//pull store slug out of hostname
const hostnameParts = window.location.hostname.split('.');
const filteredArray = hostnameParts.filter(function (e) { return e !== 'mybigcommerce' })
const store = filteredArray.length > 1 ? filteredArray[filteredArray.length - 2] : filteredArray[0];
(function (apiKey) {
(function (p, e, n, d, o) {
var v, w, x, y, z; o = p[d] = p[d] || {}; o._q = o._q || [];
v = ['initialize', 'identify', 'updateOptions', 'pageLoad', 'track']; for (w = 0, x = v.length; w < x; ++w)(function (m) {
o[m] = o[m] || function () { o._q[m === v[0] ? 'unshift' : 'push']([m].concat([].slice.call(arguments, 0))); };
})(v[w]);
y = e.createElement(n); y.async = !0; y.src = 'https://cdn.pendo.io/agent/static/' + apiKey + '/pendo.js';
z = e.getElementsByTagName(n)[0]; z.parentNode.insertBefore(y, z);
})(window, document, 'script', 'pendo');
// This function creates anonymous visitor IDs in Pendo unless you change the visitor id field to use your app's values
// This function uses the placeholder 'ACCOUNT-UNIQUE-ID' value for account ID unless you change the account id field to use your app's values
// Call this function after users are authenticated in your app and your visitor and account id values are available
// Please use Strings, Numbers, or Bools for value types.
pendo.initialize({
visitor: {
id: 'VISITOR-UNIQUE-ID' // <--- we will use the default (no visitor id)
},
account: {
id: store // <--- dynamic, change this to store name
}
});
})('99c55fc1-3a2c-49d1-6069-0569bd2081b2'); // <--- this is the public key for ecommerce
</script><!-- OneTrust Cookies Consent Notice start for acfcs.org -->
<script src="https://cdn.cookielaw.org/scripttemplates/otSDKStub.js" type="text/javascript" charset="UTF-8" data-domain-script="05f95402-481c-44a0-b4b7-6332fed85ee0" ></script>
<script type="text/javascript">
function OptanonWrapper() { }
</script>
<!-- OneTrust Cookies Consent Notice end for acfcs.org --><script>
//adding banners with JS so all of this can be added to the BigCommerce script manager
var bannerStyles = `[data-sub-layout="2a3a8063-9265-43e3-b349-9814a0713419"] {
padding: 0;
}
[data-sub-layout] {
padding: 0;
}
[data-content-region="header_bottom--global"] {
background-color: #F5F6F7;
padding: 0 !important;
position: relative;
}
.cyber-content {
z-index: 1;
background-color: #F5F6F7;
padding: 25px 0;
text-align: center;
width: 100%;
position: relative;
display: none;
}
.cyber-content-leaf {
position: absolute;
left: -175px;
top: 50px !important;
z-index: 2;
width: 45%;
}
.cyber-content-leaf img {
max-height: 200px;
width: 200px;
}
.cyber-content__header {
font-family: 'Lora', sans-serif;
font-weight: 700;
font-size: 28px;
margin: 0;
color: #12233f;
line-height: 1.5em;
text-transform: uppercase;
}
.cyber-content__subheader {
font-size: 18px;
font-weight: 400;
font-family: 'Montserrat', sans-serif !important;
line-height: 1.5em;
color: #12233f;
margin: 0;
}
.cyber-content__disclaimer {
width: auto;
max-width: 710px;
margin: 1em auto 0;
font-size: 14px;
color: #546277;
}
.cyber-content-action-list {
display: flex;
flex-wrap: wrap;
justify-content: center;
align-items: center;
margin: 0;
}
.action-list__button {
color: #fff;
display: block;
background-color: #cc3b33;
width: 85%;
padding: 20px;
margin: 15px auto;
}
.action-list__button:hover {
background-color: #620D1C;
color: #fff;
}
@media(min-width: 768px) {
.cyber-content__header {
font-size: 34px;
}
.cyber-content__subheader {
font-size: 24px;
}
.cyber-content-action-list {
flex-wrap: wrap;
}
.action-list__button {
width: 55%;
}
}
@media(min-width: 992px) {
[data-content-region="header_bottom--global"] {
padding: 0px;
}
.cyber-content-leaf {
display: block;
}
.cyber-content__header {
font-size: 40px;
}
.cyber-content__subheader {
font-size: 30px;
}
.cyber-content-action-list {
flex-wrap: nowrap;
}
.action-list__button {
width: 30%;
margin: 15px;
}
}`;
var bfBanner = `<div class="cyber-content" id="black-friday">
<div class="cyber-content-leaf leafy-image">
<img src="https://i.shgcdn.com/de4ad47e-a205-4b62-bee7-739549149bbc/-/preview/300x300/" alt="leafy Image">
</div>
<h1 class="cyber-content__header">
BLACK FRIDAY
</h1>
<h2 class="cyber-content__subheader">
Site-Wide Sale!
</h2>
<h3 class="cyber-content__header">
Save 20%
</h3>
<p class="cyber-content__disclaimer">
*This special offer cannot be combined with any other promotion, discount, or payment plans. Offer expires Friday November 24, 2023 @ 11:59PM PST. Savings will automatically be applied to your cart.
</p>
</div>`;
var cmBanner = `<div class="cyber-content" id="cyber-monday">
<div class="cyber-content-leaf leafy-image">
<img src="https://i.shgcdn.com/de4ad47e-a205-4b62-bee7-739549149bbc/-/preview/300x300/" alt="leafy Image">
</div>
<h1 class="cyber-content__header">
CYBER MONDAY SALE - THIS WEEK ONLY
</h1>
<h2 class="cyber-content__subheader">
Site-Wide Sale!
</h2>
<h3 class="cyber-content__header">
Save 20%
</h3>
<p class="cyber-content__disclaimer">
*This special offer cannot be combined with any other promotion, discount, or payment plans. Offer expires Friday December 1, 2023 @ 11:59PM PST. Savings will automatically be applied to your cart.
</p>
</div>`;
//add banner CSS to document head
var styleTag = document.createElement("style");
styleTag.innerText = bannerStyles;
document.head.appendChild(styleTag);
//using vanilla document ready listener to ensure jQuery is loaded
document.addEventListener('DOMContentLoaded', function () {
(function($){ //ensure $ = jQuery inside the function scope
//add banners to the DOM once it is ready, banners are display:none to start
var siteHeader = $('header.header');
siteHeader.after($(bfBanner), $(cmBanner));
//Time in EST, using -5 offset for standard time (12AM start, 3AM end)
displayBanner('2023-11-22T00:00:00-05:00', '2023-11-25T03:00:00-05:00', '#black-friday');
displayBanner('2023-11-27T00:00:00-05:00', '2023-12-02T03:00:00-05:00', "#cyber-monday");
})(jQuery);
});
//checks if it is time to show/hide the banners
function displayBanner(startDate, endDate, selector) {
startDate = new Date(startDate).getTime();
endDate = new Date(endDate).getTime();
//if element is found on page
if (document.querySelector(selector) !== null) {
//show if within the timeframe
if (Date.now() >= startDate && Date.now() < endDate) {
document.querySelector(selector).style.display = "block";
} else {
document.querySelector(selector).style.display = "none";
}
//in case the user does not refresh the page, set the banner to hide once endDate is reached
if (Date.now() < endDate) {
var nextIteration = (Date.now() < startDate ? startDate : endDate) - Date.now();
//smaller than max int allowed
if(nextIteration < Math.pow(2,30)){
setTimeout(() => {
displayBanner(startDate, endDate, selector);
}, nextIteration);
}
}
}
}
</script>
</head>
<body>
<svg data-src="https://cdn11.bigcommerce.com/s-dzatfnb4b0/stencil/31e324c0-cdc5-013c-e8ae-02226d0bea36/e/7e3a2280-895d-013b-80ae-3efcf4e4337e/dist/icon-sprite.svg" class="icons-svg-sprite"></svg>
<a href="#main-content" class="skip-to-main-link">Skip to main content</a>
<header class="header" role="banner">
<div class="header--top">
<div class="header--content">
<div class="header-logo">
<a href="https://www.acfcs.org/" class="header-logo__link" data-header-logo-link>
<div class="header-logo-image-container">
<img class="header-logo-image" height="48" width="260" src="https://cdn11.bigcommerce.com/s-dzatfnb4b0/images/stencil/250x86/acfcs-logo-crop_1668019114__20203.original.png" alt="ACFCS" title="ACFCS">
</div>
</a>
</div>
<div class="header--section">
<div class="header--quick-search">
<form class="form" onsubmit="return false" data-url="/search.php" data-quick-search-form>
<fieldset class="form-fieldset">
<div class="form-field">
<label class="is-srOnly" for="nav-quick-search">Search</label>
<input class="form-input"
data-search-quick
name="nav-quick-search"
id="nav-quick-search"
data-error-message="Search field cannot be empty."
placeholder="SEARCH"
autocomplete="off"
>
<span class="icon">
<svg>
<use xlink:href="#icon-search"></use>
</svg>
</span>
</div>
</fieldset>
</form>
<section class="quickSearchResults" data-bind="html: results"></section>
<p role="status"
aria-live="polite"
class="aria-description--hidden"
data-search-aria-message-predefined-text="product results for"
></p>
</div>
<nav class="navUser" aria-label="User Navigation">
<ul class="navUser-section navUser-section--alt">
<li class="navUser-item navUser-item--account">
<a class="navUser-action" target="_blank" href="https://learn.acfcs.org/learn"
aria-label="Log In">
<span class="navUser-action__text">
Member Log In
</span>
</a>
</li>
<li class="navUser-item navUser-item--account">
<a class="navUser-action"
href="/login.php"
aria-label="Log In"
>
<span class="u-hiddenVisually">Log In</span>
<span class="icon" aria-hidden="false">
<svg>
<use xlink:href="#icon-enter"></use>
</svg>
</span>
</a>
</li>
<li class="navUser-item navUser-item--account">
<a class="navUser-action" href="/account.php" aria-label="Account">
<span class="u-hiddenVisually">Account</span>
<span class="icon" aria-hidden="false">
<svg>
<use xlink:href="#icon-account"></use>
</svg>
</span>
</a>
</li>
<li class="navUser-item navUser-item--cart">
<a class="navUser-action" data-cart-preview data-dropdown="cart-preview-dropdown" data-options="align:right"
href="/cart.php" aria-label="Cart with 0 items">
<span class="navUser-item-cartLabel u-hiddenVisually">Cart with</span>
<span class="icon" aria-hidden="false">
<svg>
<use xlink:href="#icon-cart-outline"></use>
</svg>
</span>
<span class="countPill cart-quantity"></span>
<span class="navUser-item-cartLabel u-hiddenVisually">items</span>
</a>
<div class="dropdown-menu" id="cart-preview-dropdown" data-dropdown-content aria-hidden="true"></div>
</li>
</ul>
</nav> <a href="#" class="mobileMenu-toggle" data-mobile-menu-toggle="menu">
<span class="mobileMenu-toggleIcon">Toggle menu</span>
</a>
</div>
</div>
</div>
<div class="container">
<div class="header--flex">
<div class="header-logo header-logo--left">
<a href="https://www.acfcs.org/" class="header-logo__link" data-header-logo-link>
<div class="header-logo-image-container">
<img class="header-logo-image" height="48" width="260" src="https://cdn11.bigcommerce.com/s-dzatfnb4b0/images/stencil/250x86/acfcs-logo-crop_1668019114__20203.original.png" alt="ACFCS" title="ACFCS">
</div>
</a>
</div>
<div class="navPages-container" id="menu" data-menu>
<nav class="navPages" aria-label="Site Navigation">
<ul class="navPages-list">
<li class="navPages-item navPages-item-page">
<a class="navPages-action has-subMenu" href="/certification-overview"
data-collapsible="navPages-certification">
Certification
<span class="icon navPages-action-moreIcon" aria-hidden="true">
<svg>
<use xlink:href="#icon-chevron-down" />
</svg>
</span>
</a>
<div class="navPage-subMenu" id="navPages-certification" aria-hidden="true" tabindex="-1">
<ul class="navPage-subMenu-list">
<li class="navPage-subMenu-item">
<a
class="navPage-subMenu-action navPages-action" href="https://www.acfcs.org/certification-overview"
aria-label="Certification Overview">
Overview
</a>
</li>
<li class="navPage-subMenu-item">
<a
class="navPage-subMenu-action navPages-action" href="https://www.acfcs.org/certification-eligibility"
aria-label="Eligibility">
Eligibility
</a>
</li>
<li class="navPage-subMenu-item">
<a
class="navPage-subMenu-action navPages-action" href="https://www.acfcs.org/exam-preparation"
aria-label="Exam Preparation">
Exam Preparation
</a>
</li>
<li class="navPage-subMenu-item">
<a
class="navPage-subMenu-action navPages-action" href="https://www.acfcs.org/the-exam"
aria-label="The Exam">
The Exam
</a>
</li>
<li class="navPage-subMenu-item">
<a
class="navPage-subMenu-action navPages-action" href="https://www.acfcs.org/recertification"
aria-label="Recertification">
Recertification
</a>
</li>
</ul>
</div>
</li>
<li class="navPages-item navPages-item-page">
<a class="navPages-action has-subMenu" href="/membership-overview"
data-collapsible="navPages-membership">
Membership
<span class="icon navPages-action-moreIcon" aria-hidden="true">
<svg>
<use xlink:href="#icon-chevron-down" />
</svg>
</span>
</a>
<div class="navPage-subMenu" id="navPages-membership" aria-hidden="true" tabindex="-1">
<ul class="navPage-subMenu-list">
<li class="navPage-subMenu-item">
<a
class="navPage-subMenu-action navPages-action" href="https://www.acfcs.org/membership-overview"
aria-label="Membership Overview">
Overview
</a>
</li>
<li class="navPage-subMenu-item">
<a
class="navPage-subMenu-action navPages-action" href="https://www.acfcs.org/enterprise-solutions"
aria-label="Enterprise Solutions">
Enterprise Solutions
</a>
</li>
<li class="navPage-subMenu-item">
<a
class="navPage-subMenu-action navPages-action" href="https://www.acfcs.org/membership-spotlight"
aria-label="Membership Spotlight">
Membership Spotlight
</a>
</li>
<li class="navPage-subMenu-item">
<a target="_blank"
class="navPage-subMenu-action navPages-action" href="https://careers.acfcs.org"
aria-label="Career Center">
Career Center
</a>
</li>
<li class="navPage-subMenu-item">
<a
class="navPage-subMenu-action navPages-action"
href="/chapters"
aria-label="Chapters Redirect">
Chapters
</a>
</li>
</ul>
</div>
</li>
<li class="navPages-item navPages-item-page">
<a class="navPages-action has-subMenu" href="/training-overview"
data-collapsible="navPages-training">
Training
<span class="icon navPages-action-moreIcon" aria-hidden="true">
<svg>
<use xlink:href="#icon-chevron-down" />
</svg>
</span>
</a>
<div class="navPage-subMenu" id="navPages-training" aria-hidden="true" tabindex="-1">
<ul class="navPage-subMenu-list">
<li class="navPage-subMenu-item">
<a
class="navPage-subMenu-action navPages-action" href="https://www.acfcs.org/training-overview"
aria-label="Training Overview">
Overview
</a>
</li>
<li class="navPage-subMenu-item">
<a
class="navPage-subMenu-action navPages-action" href="https://www.acfcs.org/crypto-compliance-specialization"
aria-label="Crypto Compliance Specialization">
Crypto Compliance Specialization
</a>
</li>
<li class="navPage-subMenu-item">
<a
class="navPage-subMenu-action navPages-action" href="https://www.acfcs.org/aml-360-certificate-program"
aria-label="AML 360 Certificate Program">
AML 360 Certificate Program
</a>
</li>
<li class="navPage-subMenu-item">
<a
class="navPage-subMenu-action navPages-action" href="https://www.acfcs.org/accreditation"
aria-label="Accreditation">
Accreditation
</a>
</li>
<li class="navPage-subMenu-item">
<a
class="navPage-subMenu-action navPages-action" href="https://www.acfcs.org/enterprise-training"
aria-label="Enterprise Training">
Enterprise
</a>
</li>
<li class="navPage-subMenu-item">
<a
class="navPage-subMenu-action navPages-action" href="https://www.acfcs.org/webinars"
aria-label="Webinars">
Webinars
</a>
</li>
</ul>
</div>
</li>
<li class="navPages-item navPages-item-page">
<a class="navPages-action has-subMenu" href="/events-overview"
data-collapsible="navPages-events">
Events
<span class="icon navPages-action-moreIcon" aria-hidden="true">
<svg>
<use xlink:href="#icon-chevron-down" />
</svg>
</span>
</a>
<div class="navPage-subMenu" id="navPages-events" aria-hidden="true" tabindex="-1">
<ul class="navPage-subMenu-list">
<li class="navPage-subMenu-item">
<a
class="navPage-subMenu-action navPages-action" href="https://www.acfcs.org/events-overview"
aria-label="Events Overview">
Overview
</a>
</li>
<li class="navPage-subMenu-item">
<a
class="navPage-subMenu-action navPages-action" href="https://www.acfcs.org/upcoming-events"
aria-label="Upcoming Events">
Upcoming Events
</a>
</li>
<li class="navPage-subMenu-item">
<a
class="navPage-subMenu-action navPages-action" href="https://www.acfcs.org/past-events"
aria-label="Past Events">
Past Events
</a>
</li>
</ul>
</div>
</li>
<li class="navPages-item navPages-item-page">
<a class="navPages-action has-subMenu" href="/affiliate-partners"
data-collapsible="navPages-partnerships">
Partnerships
<span class="icon navPages-action-moreIcon" aria-hidden="true">
<svg>
<use xlink:href="#icon-chevron-down" />
</svg>
</span>
</a>
<div class="navPage-subMenu" id="navPages-partnerships" aria-hidden="true" tabindex="-1">
<ul class="navPage-subMenu-list">
<li class="navPage-subMenu-item">
<a
class="navPage-subMenu-action navPages-action" href="https://www.acfcs.org/sponsor-partners"
aria-label="Sponsors">
Sponsors
</a>
</li>
<li class="navPage-subMenu-item">
<a
class="navPage-subMenu-action navPages-action" href="https://www.acfcs.org/corporate-partnerships"
aria-label="Corporate Partnerships">
Corporate Partnerships
</a>
</li>
<li class="navPage-subMenu-item">
<a
class="navPage-subMenu-action navPages-action" href="https://www.acfcs.org/university-partnerships"
aria-label="University Partnerships">
University Partnerships
</a>
</li>
<li class="navPage-subMenu-item">
<a
class="navPage-subMenu-action navPages-action" href="https://www.acfcs.org/chapters"
aria-label="Chapters">
Chapters
</a>
</li>
</ul>
</div>
</li>
<li class="navPages-item navPages-item-page">
<a class="navPages-action has-subMenu" href="/resources-overview"
data-collapsible="navPages-resources">
Resources
<span class="icon navPages-action-moreIcon" aria-hidden="true">
<svg>
<use xlink:href="#icon-chevron-down" />
</svg>
</span>
</a>
<div class="navPage-subMenu" id="navPages-resources" aria-hidden="true" tabindex="-1">
<ul class="navPage-subMenu-list">
<li class="navPage-subMenu-item">
<a
class="navPage-subMenu-action navPages-action" href="https://www.acfcs.org/resources-overview"
aria-label="Resources Overview">
Overview
</a>
</li>
<li class="navPage-subMenu-item">
<a
class="navPage-subMenu-action navPages-action" href="https://www.acfcs.org/blog"
aria-label="ACFCS Articles">
ACFCS Articles
</a>
</li>
<li class="navPage-subMenu-item">
<a
class="navPage-subMenu-action navPages-action" href="https://www.acfcs.org/faq"
aria-label="FAQ">
FAQ
</a>
</li>
<li class="navPage-subMenu-item">
<a
class="navPage-subMenu-action navPages-action" href="https://www.acfcs.org/in-the-news"
aria-label="In the News">
In the News
</a>
</li>
<li class="navPage-subMenu-item">
<a
class="navPage-subMenu-action navPages-action" href="https://www.acfcs.org/financial-education"
aria-label="Financial Education">
Financial Education
</a>
</li>
<li class="navPage-subMenu-item">
<a
class="navPage-subMenu-action navPages-action" href="https://www.acfcs.org/podcasts"
aria-label="Podcasts">
Podcasts
</a>
</li>
</ul>
</div>
</li>
<div class="mobile-quick-search-container">
<form class="form" onsubmit="return false" data-url="/search.php" data-quick-search-form>
<fieldset class="form-fieldset">
<div class="form-field">
<label class="is-srOnly" for="mobile-nav-quick-search">Search</label>
<input class="form-input"
data-search-quick
name="mobile-nav-quick-search"
id="mobile-nav-quick-search"
data-error-message="Search field cannot be empty."
placeholder="SEARCH"
autocomplete="off"
>
<span class="icon">
<svg>
<use xlink:href="#icon-search"></use>
</svg>
</span>
</div>
</fieldset>
</form>
<section class="quickSearchResults" data-bind="html: results"></section>
<p role="status"
aria-live="polite"
class="aria-description--hidden"
data-search-aria-message-predefined-text="product results for"
></p>
</div>
</ul>
</nav> </div>
</div>
</div>
<div class="header--bottom">
<div class="container">
<p>A CeriFi Company</p>
</div>
</div>
</header>
<div data-content-region="header_bottom--global"><div data-layout-id="38a844a4-e092-4f58-9b59-62aa662428f5"><div data-sub-layout-container="4df1e574-8dc5-494f-b0cc-71d2af97cd19" data-layout-name="Layout">
<style data-container-styling="4df1e574-8dc5-494f-b0cc-71d2af97cd19">
[data-sub-layout-container="4df1e574-8dc5-494f-b0cc-71d2af97cd19"] {
box-sizing: border-box;
display: flex;
flex-wrap: wrap;
z-index: 0;
position: relative;
}
[data-sub-layout-container="4df1e574-8dc5-494f-b0cc-71d2af97cd19"]:after {
background-position: center center;
background-size: cover;
z-index: auto content: "";
display: block;
position: absolute;
top: 0;
left: 0;
bottom: 0;
right: 0;
}
</style>
<div data-sub-layout="93e98bed-f6cd-4f1c-a394-60eb28309e1d">
<style data-column-styling="93e98bed-f6cd-4f1c-a394-60eb28309e1d">
[data-sub-layout="93e98bed-f6cd-4f1c-a394-60eb28309e1d"] {
display: flex;
flex-direction: column;
box-sizing: border-box;
flex-basis: 100%;
max-width: 100%;
z-index: 0;
justify-content: center;
padding-right: 10.5px;
padding-left: 10.5px;
position: relative;
}
[data-sub-layout="93e98bed-f6cd-4f1c-a394-60eb28309e1d"]:after {
background-position: center center;
background-size: cover;
z-index: auto content: "";
display: block;
position: absolute;
top: 0;
left: 0;
bottom: 0;
right: 0;
}
@media only screen and (max-width: 700px) {
[data-sub-layout="93e98bed-f6cd-4f1c-a394-60eb28309e1d"] {
flex-basis: 100%;
max-width: 100%;
}
}
</style>
</div>
</div></div></div>
<div data-content-region="header_bottom"></div>
<main class="body" id="main-content" role="main" data-currency-code="USD">
<div class="container">
<div class="page">
<section class="page-content page-content--centered page-404">
<h1 class="page-heading">No Pass Zone</h1>
<p class="u-textAlignCenter">
This page was not found.
</p>
<div class="page-flex-buttons">
<a href="/" class="button button--primary">Go to Homepage</a>
<a href="/support#contact" class="button button--secondary">Let Us Know</a>
</div>
</section>
</div>
</div>
<div id="modal" class="modal" data-reveal data-prevent-quick-search-close>
<button class="modal-close"
type="button"
title="Close"
>
<span class="aria-description--hidden">Close</span>
<span aria-hidden="true">×</span>
</button>
<div class="modal-content"></div>
<div class="loadingOverlay"></div>
</div>
<div id="alert-modal" class="modal modal--alert modal--small" data-reveal data-prevent-quick-search-close>
<div class="swal2-icon swal2-error swal2-icon-show"><span class="swal2-x-mark"><span class="swal2-x-mark-line-left"></span><span class="swal2-x-mark-line-right"></span></span></div>
<div class="modal-content"></div>
<div class="button-container"><button type="button" class="confirm button" data-reveal-close>OK</button></div>
</div>
</main>
<footer class="footer" role="contentinfo">
<h2 class="footer-title-sr-only">Footer Start</h2>
<div class="container">
<div class="footer-info">
<div class="footer-section">
<div>
<h3 class="footer-section__header">
ACFCS
</h3>
<ul class="footer-info-list">
<li>
<a href="/about">About</a>
</li>
<li>
<a href="/support">Support</a>
</li>
<li>
<a target="_blank" href="https://learn.acfcs.org/learn">Member Log In</a>
</li>
</ul>
</div>
<div>
<h3 class="footer-section__header">
Partnership
</h3>
<ul class="footer-info-list">
<li>
<a href="/corporate-partnerships">Corporate</a>
</li>
<li>
<a href="/university-partnerships">Universities</a>
</li>
<li>
<a href="/sponsor-partners">Sponsors</a>
</li>
<li>
<a href="/chapters">Chapters</a>
</li>
</ul>
</div>
<div>
<ul class="footer-info-list">
<li>
<a href="/support#contact">Contact Us</a>
</li>
<li>
<a href="/privacy-policy">Privacy Policy</a>
</li>
<li>
<a href="/terms-conditions">Terms & Conditions</a>
</li>
</ul>
</div>
</div>
<div class="footer-section-bottom">
<div class="footer-logo">
<a class="footer-logo__link" href="/" aria-label="acfcs logo icon">
<svg>
<use xlink:href="#icon-acfcs-logo"></use>
</svg>
</a>
</div>
<ul class="socialLinks socialLinks--alt">
<li class="socialLinks-item">
<a class="icon icon--linkedin" href="http://www.linkedin.com/company/association-of-certified-financial-crime-specialists" target="_blank" rel="noopener"
aria-label="Visit us at linkedin">
<svg>
<use xlink:href="#icon-linkedin-round" />
</svg>
</a>
</li>
<li class="socialLinks-item">
<a class="icon icon--facebook" href="http://www.facebook.com/ACFCS.org" target="_blank" rel="noopener"
aria-label="Visit us at facebook">
<svg>
<use xlink:href="#icon-facebook-round" />
</svg>
</a>
</li>
<li class="socialLinks-item">
<a class="icon icon--twitter" href="http://twitter.com/acfcsonline" target="_blank" rel="noopener"
aria-label="Visit us at twitter">
<svg>
<use xlink:href="#icon-twitter-round" />
</svg>
</a>
</li>
</ul>
<!-- The Client has requested for different icons
<ul class="socialLinks socialLinks--alt">
<li class="socialLinks-item">
<a class="icon icon--linkedin" href="http://www.linkedin.com/company/association-of-certified-financial-crime-specialists" target="_blank" rel="noopener">
<svg><use xlink:href="#icon-linkedin" /></svg>
</a>
</li>
<li class="socialLinks-item">
<a class="icon icon--facebook" href="http://www.facebook.com/ACFCS.org" target="_blank" rel="noopener">
<svg><use xlink:href="#icon-facebook" /></svg>
</a>
</li>
<li class="socialLinks-item">
<a class="icon icon--twitter" href="http://twitter.com/acfcsonline" target="_blank" rel="noopener">
<svg><use xlink:href="#icon-twitter" /></svg>
</a>
</li>
</ul>
-->
</div>
</div>
<div class="footer-copyright">
<p class="powered-by">© 2024 Association of Certified Financial Crime Specialists. All Rights Reserved</p>
</div>
</div>
<div data-content-region="ssl_site_seal--global"></div>
<div class="scroll-btn-container">
<button onclick="topFunction()" class="scroll-btn" id="scrollBtn" title="Go to top">Top</button>
</div>
</footer>
<script>
sessionStorage.removeItem('BOBO_value');
sessionStorage.removeItem('retainState');
sessionStorage.removeItem('ProductItem');
sessionStorage.removeItem('paymentContinued');
sessionStorage.removeItem('paymentPageData');
sessionStorage.removeItem('orderNotes');
</script>
<script>window.__webpack_public_path__ = "https://cdn11.bigcommerce.com/s-dzatfnb4b0/stencil/31e324c0-cdc5-013c-e8ae-02226d0bea36/e/7e3a2280-895d-013b-80ae-3efcf4e4337e/dist/";</script>
<script src="https://cdn11.bigcommerce.com/s-dzatfnb4b0/stencil/31e324c0-cdc5-013c-e8ae-02226d0bea36/e/7e3a2280-895d-013b-80ae-3efcf4e4337e/dist/theme-bundle.main.js"></script>
<script>
window.stencilBootstrap("404", "{\"zoomSize\":\"1280x1280\",\"productSize\":\"500x659\",\"showAdminBar\":true,\"genericError\":\"Oops! Something went wrong.\",\"maintenanceModeSettings\":[],\"adminBarLanguage\":\"{\\\"locale\\\":\\\"en\\\",\\\"locales\\\":{\\\"admin.maintenance_header\\\":\\\"en\\\",\\\"admin.maintenance_tooltip\\\":\\\"en\\\",\\\"admin.maintenance_showstore_link\\\":\\\"en\\\",\\\"admin.prelaunch_header\\\":\\\"en\\\",\\\"admin.page_builder_link\\\":\\\"en\\\"},\\\"translations\\\":{\\\"admin.maintenance_header\\\":\\\"Your store is down for maintenance.\\\",\\\"admin.maintenance_tooltip\\\":\\\"Only administrators can view the store at the moment. Visit your control panel settings page to disable maintenance mode.\\\",\\\"admin.maintenance_showstore_link\\\":\\\"Click here to see what your visitors will see.\\\",\\\"admin.prelaunch_header\\\":\\\"Your storefront is private. Share your site with preview code:\\\",\\\"admin.page_builder_link\\\":\\\"Design this page in Page Builder\\\"}}\",\"urls\":{\"home\":\"https://www.acfcs.org/\",\"account\":{\"index\":\"/account.php\",\"orders\":{\"all\":\"/account.php?action=order_status\",\"completed\":\"/account.php?action=view_orders\",\"save_new_return\":\"/account.php?action=save_new_return\"},\"update_action\":\"/account.php?action=update_account\",\"returns\":\"/account.php?action=view_returns\",\"addresses\":\"/account.php?action=address_book\",\"inbox\":\"/account.php?action=inbox\",\"send_message\":\"/account.php?action=send_message\",\"add_address\":\"/account.php?action=add_shipping_address\",\"wishlists\":{\"all\":\"/wishlist.php\",\"add\":\"/wishlist.php?action=addwishlist\",\"edit\":\"/wishlist.php?action=editwishlist\",\"delete\":\"/wishlist.php?action=deletewishlist\"},\"details\":\"/account.php?action=account_details\",\"recent_items\":\"/account.php?action=recent_items\"},\"brands\":\"https://www.acfcs.org/brands/\",\"gift_certificate\":{\"purchase\":\"/giftcertificates.php\",\"redeem\":\"/giftcertificates.php?action=redeem\",\"balance\":\"/giftcertificates.php?action=balance\"},\"auth\":{\"login\":\"/login.php\",\"check_login\":\"/login.php?action=check_login\",\"create_account\":\"/login.php?action=create_account\",\"save_new_account\":\"/login.php?action=save_new_account\",\"forgot_password\":\"/login.php?action=reset_password\",\"send_password_email\":\"/login.php?action=send_password_email\",\"save_new_password\":\"/login.php?action=save_new_password\",\"logout\":\"/login.php?action=logout\"},\"product\":{\"post_review\":\"/postreview.php\"},\"cart\":\"/cart.php\",\"checkout\":{\"single_address\":\"/checkout\",\"multiple_address\":\"/checkout.php?action=multiple\"},\"rss\":{\"products\":[]},\"contact_us_submit\":\"/pages.php?action=sendContactForm\",\"search\":\"/search.php\",\"compare\":\"/compare\",\"sitemap\":\"/sitemap.php\",\"subscribe\":{\"action\":\"/subscribe.php\"}},\"secureBaseUrl\":\"https://www.acfcs.org\",\"cartId\":null,\"channelId\":1,\"template\":\"pages/errors/404\",\"validationDictionaryJSON\":\"{\\\"locale\\\":\\\"en\\\",\\\"locales\\\":{\\\"validation_messages.valid_email\\\":\\\"en\\\",\\\"validation_messages.password\\\":\\\"en\\\",\\\"validation_messages.password_match\\\":\\\"en\\\",\\\"validation_messages.invalid_password\\\":\\\"en\\\",\\\"validation_messages.field_not_blank\\\":\\\"en\\\",\\\"validation_messages.certificate_amount\\\":\\\"en\\\",\\\"validation_messages.certificate_amount_range\\\":\\\"en\\\",\\\"validation_messages.price_min_evaluation\\\":\\\"en\\\",\\\"validation_messages.price_max_evaluation\\\":\\\"en\\\",\\\"validation_messages.price_min_not_entered\\\":\\\"en\\\",\\\"validation_messages.price_max_not_entered\\\":\\\"en\\\",\\\"validation_messages.price_invalid_value\\\":\\\"en\\\"},\\\"translations\\\":{\\\"validation_messages.valid_email\\\":\\\"You must enter a valid email.\\\",\\\"validation_messages.password\\\":\\\"You must enter a password.\\\",\\\"validation_messages.password_match\\\":\\\"Your passwords do not match.\\\",\\\"validation_messages.invalid_password\\\":\\\"Passwords must be at least 7 characters and contain both alphabetic and numeric characters.\\\",\\\"validation_messages.field_not_blank\\\":\\\" field cannot be blank.\\\",\\\"validation_messages.certificate_amount\\\":\\\"You must enter a gift certificate amount.\\\",\\\"validation_messages.certificate_amount_range\\\":\\\"You must enter a certificate amount between [MIN] and [MAX]\\\",\\\"validation_messages.price_min_evaluation\\\":\\\"Min. price must be less than max. price.\\\",\\\"validation_messages.price_max_evaluation\\\":\\\"Min. price must be less than max. price.\\\",\\\"validation_messages.price_min_not_entered\\\":\\\"Min. price is required.\\\",\\\"validation_messages.price_max_not_entered\\\":\\\"Max. price is required.\\\",\\\"validation_messages.price_invalid_value\\\":\\\"Input must be greater than 0.\\\"}}\",\"validationFallbackDictionaryJSON\":\"{\\\"locale\\\":\\\"en\\\",\\\"locales\\\":{\\\"validation_fallback_messages.valid_email\\\":\\\"en\\\",\\\"validation_fallback_messages.password\\\":\\\"en\\\",\\\"validation_fallback_messages.password_match\\\":\\\"en\\\",\\\"validation_fallback_messages.invalid_password\\\":\\\"en\\\",\\\"validation_fallback_messages.field_not_blank\\\":\\\"en\\\",\\\"validation_fallback_messages.certificate_amount\\\":\\\"en\\\",\\\"validation_fallback_messages.certificate_amount_range\\\":\\\"en\\\",\\\"validation_fallback_messages.price_min_evaluation\\\":\\\"en\\\",\\\"validation_fallback_messages.price_max_evaluation\\\":\\\"en\\\",\\\"validation_fallback_messages.price_min_not_entered\\\":\\\"en\\\",\\\"validation_fallback_messages.price_max_not_entered\\\":\\\"en\\\",\\\"validation_fallback_messages.price_invalid_value\\\":\\\"en\\\"},\\\"translations\\\":{\\\"validation_fallback_messages.valid_email\\\":\\\"You must enter a valid email.\\\",\\\"validation_fallback_messages.password\\\":\\\"You must enter a password.\\\",\\\"validation_fallback_messages.password_match\\\":\\\"Your passwords do not match.\\\",\\\"validation_fallback_messages.invalid_password\\\":\\\"Passwords must be at least 7 characters and contain both alphabetic and numeric characters.\\\",\\\"validation_fallback_messages.field_not_blank\\\":\\\" field cannot be blank.\\\",\\\"validation_fallback_messages.certificate_amount\\\":\\\"You must enter a gift certificate amount.\\\",\\\"validation_fallback_messages.certificate_amount_range\\\":\\\"You must enter a certificate amount between [MIN] and [MAX]\\\",\\\"validation_fallback_messages.price_min_evaluation\\\":\\\"Min. price must be less than max. price.\\\",\\\"validation_fallback_messages.price_max_evaluation\\\":\\\"Min. price must be less than max. price.\\\",\\\"validation_fallback_messages.price_min_not_entered\\\":\\\"Min. price is required.\\\",\\\"validation_fallback_messages.price_max_not_entered\\\":\\\"Max. price is required.\\\",\\\"validation_fallback_messages.price_invalid_value\\\":\\\"Input must be greater than 0.\\\"}}\",\"validationDefaultDictionaryJSON\":\"{\\\"locale\\\":\\\"en\\\",\\\"locales\\\":{},\\\"translations\\\":{}}\",\"carouselArrowAndDotAriaLabel\":\"Go to slide [SLIDE_NUMBER] of [SLIDES_QUANTITY]\",\"carouselActiveDotAriaLabel\":\"active\",\"carouselContentAnnounceMessage\":\"You are currently on slide [SLIDE_NUMBER] of [SLIDES_QUANTITY]\",\"pageType\":\"404\"}").load();
</script>
<script type="text/javascript" src="https://cdn11.bigcommerce.com/shared/js/csrf-protection-header-95f3d9ac8c049e3ed132c83a168cf1d6a8ed0237.js"></script>
<script src='https://analytics.getshogun.com/collector.js' async></script><script
src="https://code.jquery.com/jquery-3.5.1.min.js"
integrity="sha256-9/aliU8dGd2tb6OSsuzixeV4y/faTqgFtohetphbbj0="
crossorigin="anonymous"></script><script>
/*
jQuery(document).ready(function($){
$('.carousel-cards').owlCarousel({
loop:true,
margin:25,
nav:true,
stagePadding:15,
lazyLoad:true,
dots:true,
items:1,
responsiveClass:true,
responsive:{
480: {
items: 1,
nav:true,
dots:true
},
768: {
items: 1,
nav:true,
dots:true
},
1024: {
items: 3,
nav:true,
dots: false
}
}
});
});*/
</script><script>
let scrollBtn = $("#scrollBtn");
// When the user scrolls down 20px from the top of the document, show the button
window.onscroll = function() {scrollFunction()};
function scrollFunction() {
if (document.body.scrollTop > 20 || document.documentElement.scrollTop > 20) {
scrollBtn[0].style.display = "block";
} else {
scrollBtn[0].style.display = "none";
}
}
// When the user clicks on the button, scroll to the top of the document
function topFunction() {
document.body.scrollTop = 0; // For Safari
document.documentElement.scrollTop = 0; // For Chrome, Firefox, IE and Opera
}
</script>
<script type="text/javascript">
/*
SupportForm
*/
if(typeof jQuery !== 'undefined'){
var SupportForm = (function ($) {
var m = (function () {
var name = 'SupportForm';
var version = '0.0.1';
/*
Local variable declarations
*/
/*
Handlers
*/
var handlers = {
disableOption: function ($option) {
$option.prop('disabled', true).hide();
},
createSubmitButton: function($element){
$submitFormRow = $element.find('.support-form--submit');
$submitFormRow.append("<input id='formSubmitButton' class='form__submit button' type='submit' name='submit' disabled>");
},
disableFormSubmit: function($element){
$submitButton = $element.find('#formSubmitButton');
$submitButton.attr("disabled", false);
},
disableSubmitButton: function($element){
$submitButton = $element.find('.support-form--submit');
$submitButton.attr("disabled", true);
$submitButton.css("display", "none");
},
enableSubmitButton: function($element){
$submitButton = $element.find('.support-form--submit');
$submitButton.css("display", "block");
},
enableOption: function ($option) {
$option.prop('disabled', false).show();
},
getConditionalFields: function ($element) {
return $element.find('div[data-conditional-field]');
},
getConditionalParent: function ($element, $childField) {
var name = $childField.data('conditional-parent');
return $element.find('select[name="' + name + '"]');
},
getForm: function ($element) {
return $element.find('.js-support-form__form');
},
getErrorMessage: function ($element) {
return $element.find('.js-support-form__error');
},
getLoadingMessage: function ($element) {
return $element.find('.js-support-form__loading');
},
getSuccessMessage: function ($element) {
return $element.find('.js-support-form__success');
},
showErrorMessage: function ($element) {
handlers.getLoadingMessage($element).hide();
handlers.getSuccessMessage($element).hide();
handlers.getForm($element).hide();
handlers.getErrorMessage($element).show();
},
showLoadingMessage: function ($element) {
handlers.getErrorMessage($element).hide();
handlers.getForm($element).hide();
handlers.getSuccessMessage($element).hide();
handlers.getLoadingMessage($element).show();
},
showSuccessMessage: function ($element) {
handlers.getLoadingMessage($element).hide();
handlers.getErrorMessage($element).hide();
handlers.getForm($element).hide();
handlers.getSuccessMessage($element).show();
},
injectFormData: async function($element){
/* this keeps the orgID hidden from any users on the site*/
var orgID = $element.find('#supportFormInput');
await orgID.attr('name', 'orgid');
await orgID.attr('value', '00D60000000J4Mx');
},
/*
submitForm: function ($element) {
var $form = handlers.getForm($element);
var data = $form.serialize();
var url = $form.attr('action');
handlers.showLoadingMessage($element);
$.ajax({
headers: {
'Access-Control-Allow-Headers': 'Content-Type, Authorization',
'Access-Control-Allow-Origin': '*',
'Access-Control-Request-Method': 'POST',
'accept': 'application/json',
},
data: data,
error: function(jqHXR, textStatus, errorThrown){
handlers.showErrorMessage($element);
},
success: function (data, textStatus, jqHXR) {
handlers.showSuccessMessage($element);
},
method: "POST",
url: url,
crossOrigin: true,
crossDomain: true,
});
},
*/
updateChildField: function ($element, $childField) {
// Reset the child field's value
$childField.find('select').val('');
var $parentField = handlers.getConditionalParent($element, $childField);
var parentValue = $parentField.find(':selected').data('toggle');
var showChildField = false;
var $options = $childField.find('option');
var $scheduleButton = $childField.find('a');
$options.each(function () {
var $option = $(this);
if ($option.attr('value')) {
// If option is nonempty and matches parentValue, enable it
if ($option.data('conditional-value') == parentValue) {
handlers.enableOption($option);
showChildField = true;
}
// If option is nonempty and doesn't match parentValue, disable it
else {
handlers.disableOption($option);
}
}
// If option is empty, leave it enabled.
else {
handlers.enableOption($option);
}
});
$scheduleButton.each(function (){
var $button = $(this);
if($button.attr('href')){
if($button.data('conditional-value') == parentValue){
handlers.enableOption($button);
showChildField = true;
handlers.disableSubmitButton($element);
}
else{
handlers.disableOption($button);
handlers.enableSubmitButton($element);
}
}
else{
handlers.enableOption($button);
handlers.enableSubmitButton($element);
}
});
//toggle select field visibility and required attribute
if(showChildField){
$childField.show();
$childField.find('select').attr('required', 'required');
} else {
$childField.hide();
$childField.find('select').removeAttr('required');
}
//reset and hide remaining select fields
$childField.nextAll('[data-conditional-field]').each(function(){
if($(this).find('select').length){
$(this).find('select').val('').removeAttr('required');
$(this).hide();
}
});
},
};
/*
List handlers that should be
accessible in the global namespace
*/
var publicHandlers = [
];
/*
Events
*/
var events = {
/*
formSubmit: function () {
$('.js-support-form').each(function () {
var $element = $(this);
var $form = handlers.getForm($('.js-support-form'));
$form.on('submit', function (event) {
event.preventDefault();
handlers.submitForm($element);
});
});
},
*/
pageLoad: function () {
},
parentSelectChange: function () {
$('form[data-support-form]').each(function () {
var $element = $(this);
handlers.createSubmitButton($element);
handlers.disableFormSubmit($element);
handlers.getConditionalFields($element).each(function () {
var $childField = $(this);
var $parentField = handlers.getConditionalParent($element, $childField);
$parentField.on('change', function () {
handlers.updateChildField($element, $childField);
});
});
});
},
// onSubmitForm: function(){
// let formElement = document.querySelector("form[data-support-form]");
// $form = $('form[data-support-form]');
// $submitButton = $form.find('#formSubmitButton');
// $submitButton.on("click", async function(){
// if(formElement.classList.contains("js-support-form--error")){
// await handlers.injectFormData($form);
// }
// })
// }
};
/*
List events in the order they
should be bound. Any unlisted
events will be registered last.
*/
var eventOrder = [
'pageLoad',
];
/************************************************************************************
DON'T EDIT BELOW THIS LINE
************************************************************************************/
var bindEvents = function () {
var eventNames = Object.keys(events);
for (var i = 0; i < eventNames.length; i++) {
var eventName = eventNames[i];
if (eventOrder.indexOf(eventName) < 0) {
eventOrder.push(eventName);
}
}
for (var i = 0; i < eventOrder.length; i++) {
var eventName = eventOrder[i];
var event = events[eventName];
if (event !== undefined) {
if (typeof(event) === 'function') {
try {
event();
}
catch(e) {
console.error('Event binding failed: ' + eventName);
console.error(e);
}
}
else {
console.error('Event is not a function: ' + eventName);
}
}
else {
console.error('Event is undefined: ' + eventName);
}
}
};
var registerPublicHandlers = function () {
for (var i = 0; i < publicHandlers.length; i++) {
var handlerName = publicHandlers[i];
var handler = handlers[handlerName];
if (handler !== undefined) {
if (typeof(handler) === 'function') {
interface[handlerName] = handler;
}
else {
console.error('Handler is not a function: ' + handlerName);
}
}
else {
console.error('Handler is undefined: ' + handlerName);
}
}
};
var interface = {
_init_: function () {
registerPublicHandlers();
bindEvents();
delete interface._init_;
},
toString: function () {
return name + ' (version ' + version + ')';
},
};
return interface;
}());
$(function () {
// Error-safe initialization
try {
m._init_();
}
catch (e) {
console.error('Module failed to initialize: ' + m);
console.error(e);
}
});
return m;
}(jQuery));
}
</script><script>
</script><script>
/**
* The purpose of this script is to move expired webinars on the /*-chapter pages
*
* The content will still have to be removed manually through shogun, but it will be moved to the appropriate 'past events' container when expired
*
* See ticket: ECM-46
*/
const allEventCards = document.getElementsByClassName('event-card-container');
const allEvents = document.getElementsByClassName('all-events-container')[0];
const upcomingEvents = document.getElementsByClassName('upcoming-events-container')[0];
const pastEvents = document.getElementsByClassName('past-events-container')[0];
const expiredEventCards = [];
const freshCards = [];
// Sort cards to expired/fresh
function sortCards(){
const dateReg = /\d{1,2}\/\d{1,2}\/\d{4}/; // Valid for: 04/01/2023 -OR- 4/1/2023
const timeReg = /\d{1,2}:\d{2} [AP]M/;
const now = new Date();
for (let i = 0; i < allEventCards.length; i++){
const card = allEventCards[i];
const dateText = card.getElementsByClassName('card-dates')[0]; // Assume one date title per card.
const dateMatch = dateText.innerText.match(dateReg);
const dateStr = dateMatch[0];
const timeMatch = dateText.innerText.match(timeReg);
const timeStr = timeMatch[0];
const date = new Date(`${dateStr} ${timeStr} EST`); // We will always assume EST timezones.
if (date - now <= 0){ // If we are past this date, then add to the expired list.
expiredEventCards.push(card);
} else {
freshCards.push(card);
}
}
}
// Move cards from the 'all container' to the past/upcoming
function moveCards(){
const upChildren = upcomingEvents.children[0].children;
const pastChildren = pastEvents.children[0].children;
const ROW_COUNT = 3;
let rowIndex = 0;
// Move fresh cards
freshCards.forEach(card => {
upChildren[rowIndex].appendChild(card);
rowIndex++;
if (rowIndex >= ROW_COUNT) rowIndex = 0;
});
rowIndex = 0;
// Move expired cards
expiredEventCards.forEach(card => {
pastChildren[rowIndex].appendChild(card);
rowIndex++;
if (rowIndex >= ROW_COUNT) rowIndex = 0;
});
}
// Update the button text / style on all expired cards.
function updateButtons(){
expiredEventCards.forEach(card => {
const button = card.getElementsByClassName('btn--main')[0];
const link = button.children[0];
link.innerText = 'SOLD OUT';
link.style.background = 'lightgray';
link.style.color = 'black !important';
link.style.cursor = 'not-allowed';
link.href = "javascript:void(0)";
});
freshCards.forEach(card => {
const button = card.getElementsByClassName('btn--main')[0];
const link = button.children[0];
link.style.background = 'linear-gradient(to right, #4C1D45 0%, #F04E23 160%)'
console.log(link);
});
}
// Only run on chatper pages.
if (window.location.pathname.includes('-chapter')){
// Make sure the cards have been updated with the event-card-container class.
if (allEventCards.length){
sortCards();
moveCards();
updateButtons();
console.warn(`Ran webinar move script.`);
}
}
</script><script>
/**
* The purpose of this script is to hide expired webinars on the /live-webinars and /webinars pages.
*
* The content will still have to be removed manually through shogun, but it will be hidden from consumers
* if the date is expired.
*
* See ticket: ECM-46
*/
// Rows that hold cards. Always should be 3 cards max.
const rowParents = [];
// All cloned cards we will be adding back to the row parent(s).
let allCards = [];
// All expired cards that we will not be adding back to the row parent(s)
const expiredCards = [];
// Sets all expired cards.
function setExpiredCards() {
const dateReg = /\d{1,2}\/\d{1,2}\/\d{4}/; // Valid for: 04/01/2023 -OR- 4/1/2023
const now = new Date();
// All cards have this custom class name.
const tempCards = document.getElementsByClassName('webinar-card-check');
// Clone these cards so we can remove them without obj reference issues later.
for (var i = 0; i < tempCards.length; i++) {
const card = tempCards[i];
// 2nd level parent is what will sit in the Row parent elements.
const parent = findParent(card, 2);
allCards.push(parent.cloneNode(true));
}
// Track which cloned index to take.
let index = 0;
for (var i = 0; i < tempCards.length; i++) {
const card = tempCards[i];
// Pull date heading
const dateText = card.getElementsByClassName('card-dates')[0]; // Assume one date title per card.
const match = dateText.innerText.match(dateReg);
const dateStr = match[0];
const timeStr = getTimeString(dateText.innerText);
const date = new Date(`${dateStr} ${timeStr} EST`); // We will always assume EST timezones.
if (date - now <= 0) { // If we are past this date, then add to the expired list.
expiredCards.push(allCards[index]);
}
// Row parent is 3 levels up. Ensuring that every card's parent is known.
addRowParent(findParent(card, 3));
index++;
};
}
// Row parent helper. Ensures no duplicate rows are added.
function addRowParent(parentElement) {
// Confirm no duplicate objects.
if (rowParents.indexOf(parentElement) >= 0) return;
rowParents.push(parentElement);
}
function getTimeString(str) {
str = str.toUpperCase();
let timeReg = /(\b\d{1,2}):(\d{2})(\s*[ap]m)\b/i;
const timeMatch = str.match(timeReg);
const hour = timeMatch[1];
const min = timeMatch[2];
const amPm = timeMatch[3];
return `${hour}:${min} ${amPm}`;
}
// Shogun parent helper.
function findParent(el, level) {
let curParent = el;
for (let i = 0; i < level; i++) {
curParent = curParent.parentElement;
}
return curParent;
}
// Goes through a nodes children and removes each one. Must happen in reverse order.
function clearChildren(el) {
for (let i = el.children.length - 1; i >= 0; i--) {
el.children[i].remove();
}
}
// Deletes all cards from the rows. Adds cloned non-expired back
function orderCards() {
const ROW_COUNT = 3;
let curIndex = 0;
rowParents.forEach(row => {
childrenAdded = 0;
// Clear out all existing cards.
clearChildren(row);
while (childrenAdded < ROW_COUNT && curIndex < allCards.length) {
const card = allCards[curIndex];
// Skip any expired card.
if (expiredCards.indexOf(card) >= 0) {
curIndex++;
continue;
}
// Add this card back.
row.appendChild(card);
childrenAdded++;
curIndex++;
}
// Shogun depends on these parent elements existing to keep the cols in order. Messy stuff happens if there is less than 3.
// The purpose of this is to clone a card and hide it. This ensures that each row technically has 3 cards.
if (childrenAdded != ROW_COUNT && childrenAdded > 0) {
for (let i = 0; i < ROW_COUNT - childrenAdded; i++) {
const clone = allCards[0].cloneNode(true);
// Can't hide the parent. This will cause more formatting issues. Have to hide the first child.
clone.firstChild.style.display = 'none';
row.appendChild(clone);
}
}
});
}
const pageWhitelist = ['/live-webinars', '/webinars']
if (pageWhitelist.includes(window.location.pathname)) {
// Step 1: find all valid/expired cards
setExpiredCards();
// Step 2: Reorder all valid cards.
orderCards();
console.warn(`Ran webinar removal script. Removed ${expiredCards.length} expired webinars.`);
}
</script><script>
function initCookieButton() {
var elChild = document.createElement('li');
elChild.innerHTML = '<a class="ot-sdk-show-settings"></a>';
var navLi = document.querySelector('footer.footer .footer-section > div:last-child li:last-child');
navLi.closest('ul').append(elChild);
}
initCookieButton();
</script>
<script>
$('.podcasts-main-container .shg-box-content > .shg-c > .shg-row').each(function(){
$(this).children().each(function(){
if($(this).children().length == 0){
$(this).remove();
}
if($(this).parent().parent().prev().find('.shg-row').children().length !=0 && $(this).parent().parent().prev().find('.shg-row').children().length < 3) {
$(this).parent().parent().prev().find('.shg-row').append($(this));
}
});
});
</script>
</body>
</html>