PageSourceSearch

https://cfcc.edu/search/

html cfcc.edu collected 2026-10-01 10:42:26 UTC 157,467 bytes, 3,453 lines download raw bytes

1<!DOCTYPE html>
2<html lang="en-US">
3
4<head>
5    <meta charset="UTF-8">
6    <meta name="viewport" content="width=device-width, initial-scale=1">
7    <meta name='robots' content='index, follow, max-image-preview:large, max-snippet:-1, max-video-preview:-1' />
8
9	<!-- This site is optimized with the Yoast SEO plugin v20.8 - https://yoast.com/wordpress/plugins/seo/ -->
10	<title>Search | Cape Fear Community College</title>
11	<meta name="description" content="Search - What are you waiting for? Get started today!" />
12	<link rel="canonical" href="https://cfcc.edu/search/" />
13	<meta property="og:locale" content="en_US" />
14	<meta property="og:type" content="article" />
15	<meta property="og:title" content="Search | Cape Fear Community College" />
16	<meta property="og:url" content="https://cfcc.edu/search/" />
17	<meta property="og:site_name" content="Cape Fear Community College" />
18	<meta property="article:publisher" content="https://www.facebook.com/capefearcc/" />
19	<meta property="article:modified_time" content="2025-06-16T11:38:23+00:00" />
20	<meta name="twitter:card" content="summary_large_image" />
21	<meta name="twitter:site" content="@cfcc" />
22	<meta name="twitter:label1" content="Est. reading time" />
23	<meta name="twitter:data1" content="1 minute" />
24	
24<script type="application/ld+json" class="yoast-schema-graph">{"@context":"https://schema.org","@graph":[{"@type":"WebPage","@id":"https://cfcc.edu/search/","url":"https://cfcc.edu/search/","name":"Search | Cape Fear Community College","isPartOf":{"@id":"https://cfcc.edu/#website"},"datePublished":"2019-02-14T14:40:15+00:00","dateModified":"2025-06-16T11:38:23+00:00","breadcrumb":{"@id":"https://cfcc.edu/search/#breadcrumb"},"inLanguage":"en-US","potentialAction":[{"@type":"ReadAction","target":["https://cfcc.edu/search/"]}]},{"@type":"BreadcrumbList","@id":"https://cfcc.edu/search/#breadcrumb","itemListElement":[{"@type":"ListItem","position":1,"name":"Home","item":"https://cfcc.edu/"},{"@type":"ListItem","position":2,"name":"Search"}]},{"@type":"WebSite","@id":"https://cfcc.edu/#website","url":"https://cfcc.edu/","name":"Cape Fear Community College","description":"Success starts here!","potentialAction":[{"@type":"SearchAction","target":{"@type":"EntryPoint","urlTemplate":"https://cfcc.edu/?s={search_term_string}"},"query-input":"required name=search_term_string"}],"inLanguage":"en-US"}]}</script>
24
25	<!-- / Yoast SEO plugin. -->
26
27
28<link rel='dns-prefetch' href='//translate.google.com' />
29<link rel='dns-prefetch' href='//www.google.com' />
30<link rel='dns-prefetch' href='//fonts.googleapis.com' />
31<link rel="alternate" type="application/rss+xml" title="Cape Fear Community College &raquo; Feed" href="https://cfcc.edu/feed/" />
32<link rel="alternate" type="application/rss+xml" title="Cape Fear Community College &raquo; Comments Feed" href="https://cfcc.edu/comments/feed/" />
33<link rel='stylesheet' id='sbi_styles-css' href='https://cfcc.edu/wp-content/plugins/instagram-feed/css/sbi-styles.min.css?ver=3.0.1.17050194278' type='text/css' media='all' />
34<link rel='stylesheet' id='reset-style-css' href='https://cfcc.edu/wp-content/themes/pagecells/css/reset.css?ver=3.0.1.17050194278' type='text/css' media='all' />
35<link rel='stylesheet' id='bootstrap-style-css' href='https://cfcc.edu/wp-content/themes/pagecells/css/bootstrap.min.css?ver=3.0.1.17050194278' type='text/css' media='all' />
36<link rel='stylesheet' id='pagecells-css' href='https://cfcc.edu/wp-content/plugins/intelliwidget-framework/css/pagecells.css?ver=3.0.1.17050194278' type='text/css' media='all' />
37<link rel='stylesheet' id='intelliwidget-css' href='https://cfcc.edu/wp-content/plugins/intelliwidget-framework/css/intelliwidget.css?ver=3.0.1.17050194278' type='text/css' media='all' />
38<link rel='stylesheet' id='flexslider-style-css' href='https://cfcc.edu/wp-content/plugins/intelliwidget-framework/css/flexslider.css?ver=3.0.1.17050194278' type='text/css' media='all' />
39<link rel='stylesheet' id='iwmenuicons-css' href='https://cfcc.edu/wp-content/plugins/intelliwidget-framework/css/iwmenuicons.css?ver=3.0.1.17050194278' type='text/css' media='all' />
40<link rel='stylesheet' id='wp-block-library-css' href='https://cfcc.edu/wp-includes/css/dist/block-library/style.min.css?ver=3.0.1.17050194278' type='text/css' media='all' />
41<style id='safe-svg-svg-icon-style-inline-css' type='text/css'>
42.safe-svg-cover .safe-svg-inside{display:inline-block;max-width:100%}.safe-svg-cover svg{height:100%;max-height:100%;max-width:100%;width:100%}
43
44</style>
45<link rel='stylesheet' id='classic-theme-styles-css' href='https://cfcc.edu/wp-includes/css/classic-themes.min.css?ver=3.0.1.17050194278' type='text/css' media='all' />
46<style id='global-styles-inline-css' type='text/css'>
47body{--wp--preset--color--black: #000000;--wp--preset--color--cyan-bluish-gray: #abb8c3;--wp--preset--color--white: #ffffff;--wp--preset--color--pale-pink: #f78da7;--wp--preset--color--vivid-red: #cf2e2e;--wp--preset--color--luminous-vivid-orange: #ff6900;--wp--preset--color--luminous-vivid-amber: #fcb900;--wp--preset--color--light-green-cyan: #7bdcb5;--wp--preset--color--vivid-green-cyan: #00d084;--wp--preset--color--pale-cyan-blue: #8ed1fc;--wp--preset--color--vivid-cyan-blue: #0693e3;--wp--preset--color--vivid-purple: #9b51e0;--wp--preset--gradient--vivid-cyan-blue-to-vivid-purple: linear-gradient(135deg,rgba(6,147,227,1) 0%,rgb(155,81,224) 100%);--wp--preset--gradient--light-green-cyan-to-vivid-green-cyan: linear-gradient(135deg,rgb(122,220,180) 0%,rgb(0,208,130) 100%);--wp--preset--gradient--luminous-vivid-amber-to-luminous-vivid-orange: linear-gradient(135deg,rgba(252,185,0,1) 0%,rgba(255,105,0,1) 100%);--wp--preset--gradient--luminous-vivid-orange-to-vivid-red: linear-gradient(135deg,rgba(255,105,0,1) 0%,rgb(207,46,46) 100%);--wp--preset--gradient--very-light-gray-to-cyan-bluish-gray: linear-gradient(135deg,rgb(238,238,238) 0%,rgb(169,184,195) 100%);
47--wp--preset--gradient--cool-to-warm-spectrum: linear-gradient(135deg,rgb(74,234,220) 0%,rgb(151,120,209) 20%,rgb(207,42,186) 40%,rgb(238,44,130) 60%,rgb(251,105,98) 80%,rgb(254,248,76) 100%);--wp--preset--gradient--blush-light-purple: linear-gradient(135deg,rgb(255,206,236) 0%,rgb(152,150,240) 100%);--wp--preset--gradient--blush-bordeaux: linear-gradient(135deg,rgb(254,205,165) 0%,rgb(254,45,45) 50%,rgb(107,0,62) 100%);--wp--preset--gradient--luminous-dusk: linear-gradient(135deg,rgb(255,203,112) 0%,rgb(199,81,192) 50%,rgb(65,88,208) 100%);--wp--preset--gradient--pale-ocean: linear-gradient(135deg,rgb(255,245,203) 0%,rgb(182,227,212) 50%,rgb(51,167,181) 100%);--wp--preset--gradient--electric-grass: linear-gradient(135deg,rgb(202,248,128) 0%,rgb(113,206,126) 100%);--wp--preset--gradient--midnight: linear-gradient(135deg,rgb(2,3,129) 0%,rgb(40,116,252) 100%);--wp--preset--duotone--dark-grayscale: url('#wp-duotone-dark-grayscale');--wp--preset--duotone--grayscale: url('#wp-duotone-grayscale');--wp--preset--duotone--purple-yellow: url('#wp-duotone-purple-yellow');--wp--preset--duotone--blue-red: url('#wp-duotone-blue-red');--wp--preset--duotone--midnight: url('#wp-duotone-midnight');--wp--preset--duotone--magenta-yellow: url('#wp-duotone-magenta-yellow');--wp--preset--duotone--purple-green: url('#wp-duotone-purple-green');--wp--preset--duotone--blue-orange: url('#wp-duotone-blue-orange');--wp--preset--font-size--small: 13px;--wp--preset--font-size--medium: 20px;--wp--preset--font-size--large: 36px;--wp--preset--font-size--x-large: 42px;--wp--preset--spacing--20: 0.44rem;--wp--preset--spacing--30: 0.67rem;--wp--preset--spacing--40: 1rem;--wp--preset--spacing--50: 1.5rem;--wp--preset--spacing--60: 2.25rem;--wp--preset--spacing--70: 3.38rem;--wp--preset--spacing--80: 5.06rem;--wp--preset--shadow--natural: 6px 6px 9px rgba(0, 0, 0, 0.2);--wp--preset--shadow--deep: 12px 12px 50px rgba(0, 0, 0, 0.4);--wp--preset--shadow--sharp: 6px 6px 0px rgba(0, 0, 0, 0.2);--wp--preset--shadow--outlined: 6px 6px 0px -3px rgba(255, 255, 255, 1), 6px 6px rgba(0, 0, 0, 1);--wp--preset--shadow--crisp: 6px 6px 0px rgba(0, 0, 0, 1);}:where(.is-layout-flex){gap: 0.5em;}body .is-layout-flow > .alignleft{float: left;margin-inline-start: 0;margin-inline-end: 2em;}body .is-layout-flow > .alignright{float: right;margin-inline-start: 2em;margin-inline-end: 0;}body .is-layout-flow > .aligncenter{margin-left: auto !important;margin-right: auto !important;}body .is-layout-constrained > .alignleft{float: left;margin-inline-start: 0;margin-inline-end: 2em;}body .is-layout-constrained > .alignright{float: right;margin-inline-start: 2em;margin-inline-end: 0;}body .is-layout-constrained > .aligncenter{margin-left: auto !important;margin-right: auto !important;}body .is-layout-constrained > :where(:not(.alignleft):not(.alignright):not(.alignfull)){max-width: var(--wp--style--global--content-size);margin-left: auto !important;margin-right: auto !important;}body .is-layout-constrained > .alignwide{max-width: var(--wp--style--global--wide-size);}body .is-layout-flex{display: flex;}body .is-layout-flex{flex-wrap: wrap;align-items: center;}body .is-layout-flex > *{margin: 0;}:where(.wp-block-columns.is-layout-flex){gap: 2em;}.has-black-color{color: var(--wp--preset--color--black) !important;}.has-cyan-bluish-gray-color{color: var(--wp--preset--color--cyan-bluish-gray) !important;}.has-white-color{color: var(--wp--preset--color--white) !important;}.has-pale-pink-color{color: var(--wp--preset--color--pale-pink) !important;}.has-vivid-red-color{color: var(--wp--preset--color--vivid-red) !important;}.has-luminous-vivid-orange-color{color: var(--wp--preset--color--luminous-vivid-orange) !important;}.has-luminous-vivid-amber-color{color: var(--wp--preset--color--luminous-vivid-amber) !important;}.has-light-green-cyan-color{color: var(--wp--preset--color--light-green-cyan) !important;}.has-vivid-green-cyan-color{color: var(--wp--preset--color--vivid-green-cyan) !important;}.has-pale-cyan-blue-color{color: var(--wp--preset--color--pale-cyan-blue) !important;}.has-vivid-cyan-blue-color{color: var(--wp--preset--color--vivid-cyan-blue) !important;}.has-vivid-purple-color{color: var(--wp--preset--color--vivid-purple) !important;}.has-black-background-color{background-color: var(--wp--preset--color--black) !important;}.has-cyan-bluish-gray-background-color{background-color: var(--wp--preset--color--cyan-bluish-gray) !important;}.has-white-background-color{background-color: var(--wp--preset--color--white) !important;}.has-pale-pink-background-color{background-color: var(--wp--preset--color--pale-pink) !important;}.has-vivid-red-background-color{background-color: var(--wp--preset--color--vivid-red) !important;}.has-luminous-vivid-orange-background-color{background-color: var(--wp--preset--color--luminous-vivid-orange) !important;}.has-luminous-vivid-amber-background-color{background-color: var(--wp--preset--color--luminous-vivid-amber) !important;}.has-light-green-cyan-background-color{background-color: var(--wp--preset--color--light-green-cyan) !important;}.has-vivid-green-cyan-background-color{background-color: var(--wp--preset--color--vivid-green-cyan) !important;}.has-pale-cyan-blue-background-color{background-color: var(--wp--preset--color--pale-cyan-blue) !important;}.has-vivid-cyan-blue-background-color{background-color: var(--wp--preset--color--vivid-cyan-blue) !important;}.has-vivid-purple-background-color{background-color: var(--wp--preset--color--vivid-purple) !important;}.has-black-border-color{border-color: var(--wp--preset--color--black) !important;}.has-cyan-bluish-gray-border-color{border-color: var(--wp--preset--color--cyan-bluish-gray) !important;}.has-white-border-color{border-color: var(--wp--preset--color--white) !important;}.has-pale-pink-border-color{border-color: var(--wp--preset--color--pale-pink) !important;}.has-vivid-red-border-color{border-color: var(--wp--preset--color--vivid-red) !important;}.has-luminous-vivid-orange-border-color{border-color: var(--wp--preset--color--luminous-vivid-orange) !important;}.has-luminous-vivid-amber-border-color{border-color: var(--wp--preset--color--luminous-vivid-amber) !important;}.has-light-green-cyan-border-color{border-color: var(--wp--preset--color--light-green-cyan) !important;}.has-vivid-green-cyan-border-color{border-color: var(--wp--preset--color--vivid-green-cyan) !important;}.has-pale-cyan-blue-border-color{border-color: var(--wp--preset--color--pale-cyan-blue) !important;}.has-vivid-cyan-blue-border-color{border-color: var(--wp--preset--color--vivid-cyan-blue) !important;}.has-vivid-purple-border-color{border-color: var(--wp--preset--color--vivid-purple) !important;}.has-vivid-cyan-blue-to-vivid-purple-gradient-background{background: var(--wp--preset--gradient--vivid-cyan-blue-to-vivid-purple) !important;}.has-light-green-cyan-to-vivid-green-cyan-gradient-background{background: var(--wp--preset--gradient--light-green-cyan-to-vivid-green-cyan) !important;}.has-luminous-vivid-amber-to-luminous-vivid-orange-gradient-background{background: var(--wp--preset--gradient--luminous-vivid-amber-to-luminous-vivid-orange) !important;}.has-luminous-vivid-orange-to-vivid-red-gradient-background{background: var(--wp--preset--gradient--luminous-vivid-orange-to-vivid-red) !important;}
47.has-very-light-gray-to-cyan-bluish-gray-gradient-background{background: var(--wp--preset--gradient--very-light-gray-to-cyan-bluish-gray) !important;}.has-cool-to-warm-spectrum-gradient-background{background: var(--wp--preset--gradient--cool-to-warm-spectrum) !important;}.has-blush-light-purple-gradient-background{background: var(--wp--preset--gradient--blush-light-purple) !important;}.has-blush-bordeaux-gradient-background{background: var(--wp--preset--gradient--blush-bordeaux) !important;}.has-luminous-dusk-gradient-background{background: var(--wp--preset--gradient--luminous-dusk) !important;}.has-pale-ocean-gradient-background{background: var(--wp--preset--gradient--pale-ocean) !important;}.has-electric-grass-gradient-background{background: var(--wp--preset--gradient--electric-grass) !important;}.has-midnight-gradient-background{background: var(--wp--preset--gradient--midnight) !important;}.has-small-font-size{font-size: var(--wp--preset--font-size--small) !important;}.has-medium-font-size{font-size: var(--wp--preset--font-size--medium) !important;}.has-large-font-size{font-size: var(--wp--preset--font-size--large) !important;}.has-x-large-font-size{font-size: var(--wp--preset--font-size--x-large) !important;}
48.wp-block-navigation a:where(:not(.wp-element-button)){color: inherit;}
49:where(.wp-block-columns.is-layout-flex){gap: 2em;}
50.wp-block-pullquote{font-size: 1.5em;line-height: 1.6;}
51</style>
52<link rel='stylesheet' id='google-language-translator-css' href='https://cfcc.edu/wp-content/plugins/google-language-translator/css/style.css?ver=3.0.1.17050194278' type='text/css' media='' />
53<link rel='stylesheet' id='glt-toolbar-styles-css' href='https://cfcc.edu/wp-content/plugins/google-language-translator/css/toolbar.css?ver=3.0.1.17050194278' type='text/css' media='' />
54<link rel='stylesheet' id='ctct_form_styles-css' href='https://cfcc.edu/wp-content/plugins/constant-contact-forms/assets/css/style.css?ver=3.0.1.17050194278' type='text/css' media='all' />
55<link rel='stylesheet' id='splash_notice-css' href='https://cfcc.edu/wp-content/plugins/splash-notice/assets/style.css?ver=3.0.1.17050194278' type='text/css' media='all' />
56<link rel='stylesheet' id='chld_thm_cfg_ext1-css' href='https://fonts.googleapis.com/css?family=Caveat%7CPoppins%3A400%2C600%7CNunito+Sans%3A300%2C300i%2C400%2C400i%2C600%2C600i%2C700%2C700i%7CDomine%3A400%2C700&#038;ver=6846f8d17210e5ffca75b9f6be482cdc' type='text/css' media='all' />
57<link rel='stylesheet' id='chld_thm_cfg_ext2-css' href='https://cfcc.edu/wp-content/themes/cfcc/css/cfccicons/style.css?ver=3.0.1.17050194278' type='text/css' media='all' />
58<link rel='stylesheet' id='chld_thm_cfg_ext3-css' href='https://cfcc.edu/wp-content/themes/cfcc/xicons/style.css?ver=3.0.1.17050194278' type='text/css' media='all' />
59<link rel='stylesheet' id='dashicons-css' href='https://cfcc.edu/wp-includes/css/dashicons.min.css?ver=3.0.1.17050194278' type='text/css' media='all' />
60<link rel='stylesheet' id='pagecells-parent-style-css' href='https://cfcc.edu/wp-content/themes/pagecells/style.css?ver=3.0.1.17050194278' type='text/css' media='all' />
61<link rel='stylesheet' id='pagecells-style-css' href='https://cfcc.edu/wp-content/themes/cfcc/style.css?ver=3.0.1.17050194278' type='text/css' media='all' />
62<script type='text/javascript' src='https://cfcc.edu/wp-includes/js/jquery/jquery.min.js?ver=3.6.4' id='jquery-core-js'></script>
vendor: 1 bytes, line 62
62
63<script type='text/javascript' src='https://cfcc.edu/wp-includes/js/jquery/jquery-migrate.min.js?ver=3.4.0' id='jquery-migrate-js'></script>
vendor: 1 bytes, line 63
63
64<script type='text/javascript' src='https://cfcc.edu/wp-content/plugins/splash-notice/assets/jquery.cookie.min.js?ver=6846f8d17210e5ffca75b9f6be482cdc' id='splash_persist-js'></script>
vendor: 1 bytes, line 64
64
65<script type='text/javascript' id='splash_notice-js-extra'>
66/* <![CDATA[ */
67var splashNoticeVars = {"ajaxurl":"https:\/\/cfcc.edu\/wp-admin\/admin-ajax.php"};
68/* ]]> */
69</script>
vendor: 1 bytes, line 69
69
70<script type='text/javascript' src='https://cfcc.edu/wp-content/plugins/splash-notice/assets/script.js?ver=6846f8d17210e5ffca75b9f6be482cdc' id='splash_notice-js'></script>
vendor: 1 bytes, line 70
70
71<script type='text/javascript' src='https://cfcc.edu/wp-content/themes/cfcc/js/scripts.js?ver=1.0' id='cfcc-scripts-js'></script>
71
72<link rel="https://api.w.org/" href="https://cfcc.edu/wp-json/" /><link rel="alternate" type="application/json" href="https://cfcc.edu/wp-json/wp/v2/pages/48" /><link rel="EditURI" type="application/rsd+xml" title="RSD" href="https://cfcc.edu/xmlrpc.php?rsd" />
73<link rel="wlwmanifest" type="application/wlwmanifest+xml" href="https://cfcc.edu/wp-includes/wlwmanifest.xml" />
74
75<link rel='shortlink' href='https://cfcc.edu/?p=48' />
76<link rel="alternate" type="application/json+oembed" href="https://cfcc.edu/wp-json/oembed/1.0/embed?url=https%3A%2F%2Fcfcc.edu%2Fsearch%2F" />
77<link rel="alternate" type="text/xml+oembed" href="https://cfcc.edu/wp-json/oembed/1.0/embed?url=https%3A%2F%2Fcfcc.edu%2Fsearch%2F&#038;format=xml" />
78<!-- start Simple Custom CSS and JS -->
79<script type="text/javascript">
80function cfccSwitchTab(evt, tabId) {
81    var wrapper = evt.currentTarget.closest('.cfcc-program-wrapper');
82    var panels = wrapper.querySelectorAll('.cfcc-tab-panel');
83    var buttons = wrapper.querySelectorAll('.cfcc-tab-btn');
84
85    panels.forEach(function(panel) {
86        panel.classList.remove('active');
87    });
88    buttons.forEach(function(btn) {
89        btn.classList.remove('active');
90    });
91
92    document.getElementById(tabId).classList.add('active');
93    evt.currentTarget.classList.add('active');
94}
95
96document.addEventListener('DOMContentLoaded', function() {
97    // Secondary DOM Guard: Verify body class matches post/page ID 43151
98    var bodyClasses = document.body.classList;
99    var isTargetPage = bodyClasses.contains('postid-43151') || bodyClasses.contains('page-id-43151');
100
101    if (!isTargetPage) {
102        return;
103    }
104
105    var containers = document.querySelectorAll('.cfcc-js-program-container');
106
107    containers.forEach(function(container) {
108        var programCode = container.getAttribute('data-program');
109        var catalogYear = container.getAttribute('data-year');
110
111        if (!programCode || !catalogYear) return;
112
113        var apiUrl = 'https://www3.cfcc.edu/programs/get_programs_of_study.php?program=' + programCode + '&year=' + catalogYear;
114
115        fetch(apiUrl)
116            .then(function(response) {
117                return response.text();
118            })
119            .then(function(rawText) {
120                // Check if response is HTML error page instead of JSON
121                if (rawText.trim().startsWith('<')) {
122                    container.innerHTML = '<div class="cfcc-error-message"><strong>Connection Notice:</strong> Server returned HTML instead of JSON. Inspect console for raw output.</div>';
123                    console.error('CFCC Endpoint Error (HTML Returned):', rawText);
124                    return;
125                }
126
127                var data = JSON.parse(rawText);
128                if (!data || !data.program) {
129                    container.innerHTML = '<div class="cfcc-error-message">Program data structure missing in feed.</div>';
130                    return;
131                }
132
133                renderProgramData(container, data);
134            })
135            .catch(function(error) {
136                console.error('CFCC Fetch Error:', error);
137                container.innerHTML = '<div class="cfcc-error-message">Unable to reach www3 endpoint. Check CORS permissions.</div>';
138            });
139    });
140
141    function renderProgramData(container, data) {
142        var prog = data.program;
143        var reqs = data.requirements || [];
144        var html = '';
145
146        html += '<div class="cfcc-program-header">';
147        html += '  <h2 class="cfcc-program-title">' + escapeHtml(prog.title) + '</h2>';
148        html += '  <div class="cfcc-program-meta">';
149        html += '    <span class="cfcc-badge">' + escapeHtml(prog.degree) + ' - ' + escapeHtml(prog.degree_description) + '</span>';
150        html += '    <span class="cfcc-meta-item">Code: <strong>' + escapeHtml(prog.id) + '</strong></span>';
151        html += '    <span class="cfcc-meta-item">Division: <strong>' + escapeHtml(prog.division) + '</strong></span>';
152        html += '  </div>';
153        if (prog.description) {
154            html += '  <div class="cfcc-program-description">' + prog.description + '</div>';
155        }
156        html += '</div>';
157
158        html += '<h3 class="cfcc-section-title">Course Requirements</h3>';
159
160        if (reqs.length > 0) {
161            reqs.forEach(function(reqBlock) {
162                if (reqBlock.groups && reqBlock.groups.length > 0) {
163                    reqBlock.groups.forEach(function(group) {
164                        html += '<div class="cfcc-course-group">';
165                        html += '  <h4 class="cfcc-group-heading">' + escapeHtml(group.label) + '</h4>';
166
167                        if (group.course_groups && group.course_groups.length > 0) {
168                            group.course_groups.forEach(function(subGroup) {
169                                if (subGroup.min_credits) {
170                                    html += '<p class="cfcc-instruction">Take at least <strong>' + subGroup.min_credits + ' credits</strong> from the following:</p>';
171                                }
172
173                                html += '<table class="cfcc-table"><thead><tr>';
174                                html += '<th style="width:20%;">Course</th>';
175                                html += '<th style="width:65%;">Title</th>';
176                                html += '<th style="width:15%; text-align:right;">Credits</th>';
177                                html += '</tr></thead><tbody>';
178
179                                if (subGroup.courses && subGroup.courses.length > 0) {
180                                    subGroup.courses.forEach(function(course) {
181                                        html += '<tr>';
182                                        html += '<td class="cfcc-code">' + escapeHtml(course.name) + '</td>';
183                                        html += '<td>' + escapeHtml(course.title) + '</td>';
184                                        html += '<td style="text-align:right;">' + course.credits + '</td>';
185                                        html += '</tr>';
186                                    });
187                                }
188
189                                html += '</tbody></table>';
190                            });
191                        }
192                        html += '</div>';
193                    });
194                }
195            });
196        } else {
197            html += '<p>No requirements available.</p>';
198        }
199
200        container.innerHTML = html;
201    }
202
203    function escapeHtml(text) {
204        if (!text) return '';
205        return text.replace(/&/g, "&").replace(/</g, "<").replace(/>/g, ">");
206    }
207});</script>
207
208<!-- end Simple Custom CSS and JS -->
209<!-- start Simple Custom CSS and JS -->
210<script type="text/javascript">
211document.addEventListener("DOMContentLoaded", () => {
212  // 1. Safety Check: Ensure document.body exists and matches Page ID 44191
213  if (!document.body || !document.body.classList.contains("page-id-44191")) {
214    return; // Exit cleanly if on a different page
215  }
216
217  // 2. Add structural chat state classes to document root and body
218  if (document.documentElement) {
219    document.documentElement.classList.add("has-chat", "has-agent");
220  }
221  document.body.classList.add("has-chat", "has-agent");
222
223  // 3. Text Chat Button Listener (#sera-chat-launch)
224  const chatBtn = document.getElementById("sera-chat-launch");
225  if (chatBtn) {
226    chatBtn.addEventListener("click", (e) => {
227      e.preventDefault();
228      
229      if (window.Shell451 && Shell451.Messenger451) {
230        // First parameter is null so no message is auto-sent; 
231        // Second parameter tells Element451 to load Sera's settings.
232        Shell451.Messenger451.askAssistant(
233          null, 
234          "cfcc.conversation_settings.1665253"
235        );
236      }
237    });
238  }
239
240  // 4. Voice Chat Button Listener (#sera-talk-launch)
241  const talkBtn = document.getElementById("sera-talk-launch");
242  if (talkBtn) {
243    talkBtn.addEventListener("click", (e) => {
244      e.preventDefault();
245      
246      if (window.Shell451 && Shell451.Messenger451) {
247        Shell451.Messenger451.talkToAssistant(
248          "cfcc.conversation_settings.1665253", 
249          null
250        );
251      }
252    });
253  }
254});
255
256</script>
256
257<!-- end Simple Custom CSS and JS -->
258<!-- start Simple Custom CSS and JS -->
259<script type="text/javascript">
260<!-- Combined Campaign Script: User Memory & Slide-Out Menu -->
261
262jQuery(document).ready(function($) {
263    
264    // ==========================================================================
265    // FEATURE 1: USER PERSISTENCE (LOCAL STORAGE)
266    // ==========================================================================
267    
268    // 1. Storage Keys
269    var cardKey = 'cfcc_last_selected_card';
270    var nameKey = 'cfcc_last_selected_name';
271
272    // 2. Read storage on load to see if this is a returning user
273    var lastSavedId = localStorage.getItem(cardKey);
274    var lastSavedName = localStorage.getItem(nameKey);
275
276    if (lastSavedId && lastSavedName) {
277        // Find the target card based on the stored ID
278        var targetCardCol = $('[data-card-id="' + lastSavedId + '"]');
279        
280        if (targetCardCol.length) {
281            // Reveal the Welcome Back Banner and inject the saved program name
282            $('#memory-program-name').text(lastSavedName);
283            $('#campaign-memory-banner').removeClass('d-none');
284
285            // Apply the highlight visual class to the card wrapper
286            var targetCard = targetCardCol.find('.card');
287            targetCard.addClass('last-selected-card');
288
289            // Prepend a "Last Viewed" badge above the main title inside the card body
290            targetCard.find('.card-body').prepend('<span class="last-viewed-badge">Continue Where You Left Off</span>');
291        }
292    }
293
294    // 3. Track clicks on CTA buttons to store the user's active intent
295    $('.prog-card-view .btn-primary').on('click', function() {
296        var parentCol = $(this).closest('[data-card-id]');
297        
298        if (parentCol.length) {
299            var programId = parentCol.attr('data-card-id');
300            var programName = parentCol.attr('data-program-name');
301
302            // Commit the values to the browser's persistent LocalStorage
303            localStorage.setItem(cardKey, programId);
304            localStorage.setItem(nameKey, programName);
305        }
306    });
307
308
309    // ==========================================================================
310    // FEATURE 2: VERTICAL MENU & SLIDE-OUT DRAWER
311    // ==========================================================================
312    
313    var flag = $('#menuFlagTrigger');
314    var drawer = $('#campaignDrawer');
315    var overlay = $('#drawerOverlay');
316    var closeBtn = $('#drawerCloseBtn');
317
318    // 1. Open the drawer when clicking the vertical flag
319    flag.on('click', function(e) {
320        e.preventDefault();
321        drawer.addClass('drawer-open');
322        overlay.addClass('overlay-active');
323        
324        // Hide the sticky flag while the drawer is open to prevent visual overlap
325        flag.css('opacity', '0'); 
326    });
327
328    // 2. Drawer Closure Actions
329    function closeDrawer() {
330        drawer.removeClass('drawer-open');
331        overlay.removeClass('overlay-active');
332        flag.css('opacity', '1');
333    }
334
335    // 3. Bind all closure interactions
336    closeBtn.on('click', closeDrawer);
337    overlay.on('click', closeDrawer);
338    
339    // Close on keyboard ESC press
340    $(document).on('keydown', function(e) {
341        if (e.key === "Escape") { 
342            closeDrawer();
343        }
344    });
345
346});</script>
346
347<!-- end Simple Custom CSS and JS -->
348<!-- start Simple Custom CSS and JS -->
349<script type="text/javascript">
350  function loadCalendar(url, calendarName) {
351    document.getElementById('eventCalendarFrame').src = url;
352	document.getElementById("eventCalendarTitle").textContent = calendarName;
353  }
354
355</script>
355
356<!-- end Simple Custom CSS and JS -->
357<!-- start Simple Custom CSS and JS -->
358<style type="text/css">
359
360.cfcc-program-wrapper {
361    font-family: inherit;
362    margin: 20px 0;
363}
364.cfcc-program-header {
365    margin-bottom: 20px;
366    display: flex;
367    align-items: center;
368    gap: 15px;
369}
370.cfcc-badge {
371    background-color: #800000;
372    color: #ffffff;
373    padding: 4px 10px;
374    border-radius: 3px;
375    font-size: 0.85rem;
376    font-weight: bold;
377    text-transform: uppercase;
378}
379.cfcc-meta-text {
380    font-size: 0.95rem;
381    color: #555;
382}
383.cfcc-tab-buttons {
384    display: flex;
385    border-bottom: 2px solid #e2e8f0;
386    margin-bottom: 25px;
387}
388.cfcc-tab-btn {
389    background: none;
390    border: none;
391    padding: 10px 20px;
392    font-size: 1rem;
393    font-weight: bold;
394    color: #555;
395    cursor: pointer;
396    border-bottom: 3px solid transparent;
397    transition: all 0.2s ease;
398}
399.cfcc-tab-btn.active {
400    color: #800000;
401    border-bottom-color: #800000;
402}
403.cfcc-tab-panel {
404    display: none;
405}
406.cfcc-tab-panel.active {
407    display: block;
408}
409.cfcc-course-group {
410    margin-bottom: 30px;
411}
412.cfcc-group-heading {
413    color: #003366;
414    font-size: 1.15rem;
415    margin-bottom: 5px;
416}
417.cfcc-instruction {
418    font-size: 0.9rem;
419    color: #666;
420    margin-bottom: 10px;
421}
422.cfcc-table {
423    width: 100%;
424    border-collapse: collapse;
425    margin-bottom: 15px;
426}
427.cfcc-table th, .cfcc-table td {
428    padding: 10px 12px;
429    border-bottom: 1px solid #e2e8f0;
430    text-align: left;
431}
432.cfcc-table th {
433    background-color: #f8fafc;
434    font-size: 0.85rem;
435    text-transform: uppercase;
436    color: #475569;
437}
438.cfcc-code {
439    color: #800000;
440}
441</style>
442<!-- end Simple Custom CSS and JS -->
443<!-- start Simple Custom CSS and JS -->
444<style type="text/css">
445.simcal-event-start, .simcal-event-end  {
446	font-weight: bold !important;
447	font-size:1.2em !important;
448	color:#54575a
449}
450
451
452/* Container cleanup - only if scoped */
453.simcal-calendar-list {
454    background: transparent !important;
455    border: none !important;
456}
457
458/* The Individual Card */
459.simcal-calendar-list .simcal-event {
460    display: flex !important;
461    flex-direction: row;
462    align-items: center;
463    justify-content: space-between;
464/*    background: #ffffff;
465    border: 1px solid #e0e0e0;
466    border-left: 6px solid #00467f;  CFCC Navy 
467    border-radius: 4px;*/
468    padding: 15px 20px;
469    margin-bottom: 12px;
470/*    box-shadow: 0 2px 4px rgba(0,0,0,0.05);
471    transition: transform 0.2s ease;*/
472}
473
474.simcal-calendar-list .simcal-event:hover {
475    transform: translateY(-2px);
476    box-shadow: 0 4px 8px rgba(0,0,0,0.1);
477}
478
479/* Event Title & Details */
480div.simcal-event-details p {
481    flex-grow: 1;
482    padding-right: 20px;
483	font-size:1em 
484}
485.simcal-default-calendar-list .simcal-event-details .simcal-event-description p {
486	font-size:1.2em !important;
487}
488
489
490.simcal-event-title {
491    font-size: 1.1rem !important;
492    font-weight: 700 !important;
493    color: #00467f !important;
494    margin-bottom: 4px !important;
495    display: block;
496}
497
498/* Date/Time Stamp */
499.simcal-event-start {
500    font-weight: 600;
501    color: #54575a;
502    font-size: 0.9rem;
503}
504
505.simcal-register-btn/*,
506.ems-card-view .simcal-event-description*/ {
507    display: none !important;
508} 
509.simcal-event-description a {
510	font-weight:700;
511}
512/* Mobile Responsiveness: Stack them on small screens */
513@media (max-width: 768px) {
514    .simcal-calendar-list .simcal-event {
515        flex-direction: column;
516        align-items: flex-start;
517    }
518}
519
520.simcal-events li{
521/*	margin:0px !important;
522	padding:0px !important;*/
523	    margin-left: 0px !important;
524}
525
526/* Container for the faculty list */
527.faculty_list {
528  display: flex;
529  flex-wrap: wrap;
530  gap: 20px;
531  justify-content: center;
532  padding: 20px 0;
533}
534
535/* Individual Card Styling */
536.faculty {
537  background: #ffffff;
538  border: 1px solid #e1e1e1;
539  border-radius: 8px;
540  padding: 20px;
541  text-align: center;
542  max-width: 300px;
543  box-shadow: 0 4px 6px rgba(0,0,0,0.05);
544}
545
546.faculty__image {
547  width: 150px;
548  height: 150px;
549  border-radius: 50%;
550  object-fit: cover;
551  margin-bottom: 15px;
552  border: 3px solid #00467f; /* CFCC Navy */
553}
554
555.faculty__name {
556  font-size: 1.25rem;
557  color: #00467f;
558  margin: 10px 0 5px 0;
559  font-weight: 700;
560}
561
562.faculty__role {
563  font-size: 1rem;
564  color: #666;
565  margin-bottom: 15px;
566  text-transform: uppercase;
567  letter-spacing: 1px;
568}
569
570.faculty__office {
571  font-size: 0.85rem;
572  color: #999;
573  margin-bottom: 10px;
574  border-top: 1px solid #eee;
575  padding-top: 10px;
576}
577
578.full-bio-link {
579  display: inline-block;
580  margin: 5px 0;
581  color: #00467f;
582  text-decoration: none;
583  font-weight: 600;
584}
585
586.full-bio-link:hover {
587  text-decoration: underline;
588}</style>
589<!-- end Simple Custom CSS and JS -->
590<!-- start Simple Custom CSS and JS -->
591<style type="text/css">
592/* 1. COMPLETELY HIDE GLOBAL HEADERS ON THIS PAGE */
593.page-id-44083 #wpr14, .page-id-44225 #wpr14, .page-id-44262 #wpr14, .page-id-44275 #wpr14 {
594    display: none !important;
595}
596/* 2. STYLE THE STICKY VERTICAL FLAG (RIGHT-ALIGNED) */
597.campaign-menu-flag {
598    position: fixed;
599    right: 0; /* Pinned to the right margin */
600    left: auto !important; /* Force override of any legacy left-aligns */
601    top: 35%; /* Centered vertically relative to your hero background */
602    writing-mode: vertical-rl; /* Text flows vertically on the right margin */
603    background-color: #00467f; /* CFCC Navy */
604    color: #ffffff !important;
605    padding: 22px 14px;
606    font-size: 13px;
607    font-weight: 800;
608    text-transform: uppercase;
609    letter-spacing: 2.5px;
610    border-radius: 8px 0 0 8px !important; /* Rounded corners on the inner left edge only */
611    cursor: pointer;
612    z-index: 9999;
613    box-shadow: -4px 0 15px rgba(0, 0, 0, 0.15); /* Cast shadow to the left */
614    transition: all 0.25s ease-in-out;
615}
616
617.campaign-menu-flag:hover {
618    background-color: #ffc107; /* CFCC Gold */
619    color: #00467f !important;
620    transform: translateX(-4px); /* Interactive slide-out shift to the left */
621}
622
623/* 3. SLIDE-OUT CAMPAIGN DRAWER STYLING (RIGHT-ALIGNED) */
624.campaign-drawer {
625    position: fixed;
626    top: 0;
627    right: -320px; /* Hidden entirely off-screen to the right */
628    left: auto !important;
629    width: 320px;
630    height: 100vh;
631    background-color: #00213d; /* Extra Dark Theme Navy */
632    z-index: 10000;
633    box-shadow: -5px 0 25px rgba(0, 0, 0, 0.3); /* Cast shadow to the left */
634    transition: right 0.3s cubic-bezier(0.25, 1, 0.5, 1);
635    padding: 40px 30px;
636}
637
638/* Active open state for the drawer panel */
639.campaign-drawer.drawer-open {
640    right: 0;
641    left: auto !important;
642}
643
644/* Modal backdrop overlay to darken the page background */
645.campaign-drawer-overlay {
646    position: fixed;
647    top: 0;
648    left: 0;
649    width: 100vw;
650    height: 100vh;
651    background: rgba(0, 33, 61, 0.5);
652    z-index: 9998;
653    opacity: 0;
654    display: none;
655    transition: opacity 0.3s ease;
656}
657
658.campaign-drawer-overlay.overlay-active {
659    opacity: 1;
660    display: block;
661}
662
663/* 4. NAVIGATION LINKS INSIDE THE DRAWER */
664.campaign-drawer .drawer-logo {
665    max-width: 180px;
666    margin-bottom: 40px;
667    filter: brightness(0) invert(1); /* Forces logo to white */
668}
669
670.campaign-drawer ul {
671    list-style: none;
672    padding: 0;
673    margin: 0;
674}
675
676.campaign-drawer ul li {
677    padding: 15px 0;
678    border-bottom: 1px solid rgba(255, 255, 255, 0.08);
679}
680
681.campaign-drawer ul li a {
682    color: #ffffff !important;
683    font-size: 16px;
684    font-weight: 700;
685    text-decoration: none;
686    transition: color 0.2s ease;
687}
688
689.campaign-drawer ul li a:hover {
690    color: #ffc107 !important; /* Gold on hover */
691}
692
693.campaign-drawer .drawer-close {
694    position: absolute;
695    top: 15px;
696    left: 20px; /* Shifted close button to the left edge of the right drawer */
697    background: transparent;
698    border: none;
699    color: #ffffff;
700    font-size: 28px;
701    cursor: pointer;
702    line-height: 1;
703}
704/* ==========================================================================
705   PERSISTENT USER MEMORY STYLES
706   ========================================================================== */
707
708/* The highlight state applied to the card the user clicked last time */
709.last-selected-card {
710    border-color: #ffc107 !important; /* Accent Gold */
711    box-shadow: 0 8px 24px rgba(0, 70, 127, 0.18) !important;
712    transform: translateY(-4px);
713}
714
715/* Custom indicator badge dynamically injected into the selected card */
716.last-viewed-badge {
717    background-color: #ffc107 !important;
718    color: #00467f !important;
719    font-size: 0.65rem;
720    font-weight: 800;
721    text-transform: uppercase;
722    letter-spacing: 1px;
723    padding: 3px 10px;
724    border-radius: 3px;
725    display: inline-block;
726    margin-bottom: 12px;
727    animation: pulseGlow 2s infinite ease-in-out;
728}
729
730/* Subtle pulse animation to draw the returning user's eye */
731@keyframes pulseGlow {
732    0% { opacity: 0.9; }
733    50% { opacity: 1; transform: scale(1.02); }
734    100% { opacity: 0.9; }
735}
736
737.prog-card-type-2 {
738    background-color: #00213d;
739    color: #ffffff !important;
740    font-size: 0.75rem;
741    font-weight: 800;
742    text-transform: uppercase;
743    letter-spacing: 1.5px;
744    padding: 8px 15px;
745    border-radius: 0px 5px 0 0;
746    display: block;
747    width: 100%;
748}
749/* 1. Gradient Overlay Pseudo-Element */
750.header-overlay-gradient {
751    position: absolute;
752    top: 0;
753    left: 0;
754    right: 0;
755	bottom:0;
756    /* Gradient: Dark Navy (#002e5d) at 75% opacity to 25% black */
757    background: linear-gradient(90deg, rgba(0, 46, 93, 0.75) 0%, rgba(0, 0, 0, 0.25) 70%);
758    z-index: 1;
759    pointer-events: none; /* Allows user clicks to pass through */
760	height:510px;
761}
762
763/* 2. Position the logo absolutely over the background image */
764.header-overlay-logo {
765    position: absolute;
766    top: 50px;          /* Vertical offset from top edge */
767    left: auto;
768	right: auto; /* Horizontal offset from left edge */
769    max-width: 220px;   /* Constrains logo size on desktop */
770    height: auto;       /* Maintains natural aspect ratio */
771    z-index: 9999;        /* Ensures image sits above background overlays */
772    pointer-events: auto;
773}
774/* ==========================================================================
775   GENERIC CAMPAIGN & PROGRAM CARD VIEW STYLES
776   ========================================================================== */
777
778/* Target icon style placeholder - easily customizable per program folder 
779li.cfimgicon-prog a:before, .cfimgicon-prog:not(li):before {
780    background-image: url(https://cfcc.edu/wp-content/uploads/2026/03/program-default-icn.png);
781}
782*/
783/* Global Form Header Cleanup 
784div.gform_heading {
785    display: none !important;
786}
787*/
788/* Universal Card Canvas Box */
789.prog-card-view .card {
790    display: flex !important;
791    flex-direction: column;
792    background: #ffffff;
793    border: 1px solid #d1dce5 !important;
794    border-radius: 6px !important;
795    padding: 0; /* Let card body and header badges calculate padding */
796    margin-bottom: 25px;
797    box-shadow: 0 2px 5px rgba(0,0,0,0.08);
798    transition: all 0.2s ease-in-out;
799}
800
801/* Interactive Border Transitions */
802.prog-card-view .card:hover {
803    border-color: #00467f !important;
804    box-shadow: 0 4px 12px rgba(0,0,0,0.12);
805}
806
807/* Universal Primary Accent Border Modifier */
808.prog-card-view .prog-accent-card {
809    border-left: 1px solid #d1dce5 !important;
810}
811
812/* Clear Typography Overrides */
813.prog-card-view .card-title {
814    color: #00467f !important;
815    font-weight: 800 !important;
816}
817
818/* Universal Campaign Buttons */
819.prog-card-view .btn-primary {
820    background-color: #00467f !important;
821    border-color: #00467f !important;
822    font-weight: 700;
823    text-transform: uppercase;
824    letter-spacing: 0.5px;
825    border-radius: 4px;
826    transition: background 0.2s ease;
827}
828
829.prog-card-view .btn-primary:hover {
830    background-color: #00213d !important;
831    border-color: #00213d !important;
832}
833
834/* Highlight Box / Value Proposition Wrapper */
835.prog-why-box {
836    background-color: #f8fafc;
837    border: 1px solid #e2e8f0;
838    border-radius: 8px;
839    padding: 40px;
840}
841
842/* TOP CARD TYPE / REGISTRATION CLASSIFICATION BADGE */
843.prog-card-type {
844    background-color: #00213d; /* Theme Dark Navy */
845    color: #ffffff !important;
846    font-size: 0.75rem;
847    font-weight: 800;
848    text-transform: uppercase;
849    letter-spacing: 1.5px;
850    padding: 8px 15px;
851    border-radius: 5px 5px 0 0; /* Aligns with card top-rounded corners */
852    display: block;
853    width: 100%;
854}
855
856/* Card Body Boundary Adjustments */
857.prog-card-view .card-body {
858    border-radius: 0 0 6px 6px;
859}
860
861/* Hover Accent Shift for Top Type Badges */
862.prog-card-view .card:hover .prog-card-type {
863    background-color: #00467f; /* Smooth transition shift to CFCC Navy */
864    transition: background 0.2s ease;
865}
866
867/* UNIVERSAL CORNER RIBBON ARCHITECTURE */
868.prog-ribbon-wrap, .prog-card-ribbon-wrap {
869    position: relative;
870    overflow: hidden; /* Clips the diagonal ribbon inside card boundaries */
871}
872
873.prog-ribbon {
874    width: 200px;
875    height: 30px;
876    background-color: #ffc107; /* CFCC Accent Gold */
877    color: #00467f; /* Theme Navy for high legibility */
878    position: absolute;
879    top: 35px;
880    right: -45px;
881    text-align: center;
882    line-height: 30px;
883    letter-spacing: 1px;
884    font-weight: 800;
885    font-size: 10px;
886    text-transform: uppercase;
887    transform: rotate(45deg);
888    z-index: 100;
889    box-shadow: 0 2px 5px rgba(0,0,0,0.2);
890    pointer-events: none; /* Allows direct pointer clicks through to underlying layout links */
891}
892
893/* Horizontal banner overwrite layout class */
894.prog-card-ribbon-wrap .prog-ribbon {
895    top: 0px;
896    right: 0px;
897    font-size: 13px;
898    transform: rotate(0deg);
899}
900
901/* Strip Ghost Empty Paragraph Tags (Generated by CMS visual editors) */
902.prog-card-view p:empty {
903    display: none !important;
904}
905
906#film-head {margin-top:35px;}
907
908
909/* MOBILE DEVICE RESPONSIVE ADJUSTMENTS */
910@media (max-width: 767.98px) {
911    .prog-card-ribbon-wrap .prog-ribbon {
912        position: relative; 
913        transform: rotate(0deg); 
914        top: 0; 
915        right: 0;
916        margin: 0 auto 20px auto;
917        display: inline-block;
918        width: 100%;
919        z-index: 10;
920    }
921
922
923
924/* 3. Responsive scaling for smaller tablet & mobile screens */
925
926    .header-overlay-logo {
927        top: 15px;
928        left: 15px;
929        max-width: 150px; /* Shrinks logo to fit mobile viewports */
930    }
931
932/* ==========================================================================
933   MOBILE HEADER IMAGE OVERRIDE (Film & Video Landing Page)
934   ========================================================================== */
935
936  .page-id-44083 #cnr54 {
937        /* 1. Force the mobile square poster image to load */
938        background-image: url('https://cfcc.edu/wp-content/uploads/2026/07/Film-and-Video-mobile.jpg') !important;
939        
940        /* 2. Ensure the background image centers perfectly on mobile screens */
941        background-position: center center !important;
942        background-size: cover !important;
943        
944        /* 3. OPTIONAL: If the aspect ratio feels too squished/narrow on mobile, 
945              uncomment the lines below to adjust the height to fit a square image */
946        /* 
947        padding-bottom: 100% !important; 
948        height: auto !important; 
949        */
950    }
951	
952
953	  .page-id-44225 #cnr54 {
954        /* 1. Force the mobile square poster image to load */
955        background-image: url('https://cfcc.edu/wp-content/uploads/2026/07/accounting-poster.jpg') !important;
956        
957        /* 2. Ensure the background image centers perfectly on mobile screens */
958        background-position: center center !important;
959        background-size: cover !important;
960        
961        /* 3. OPTIONAL: If the aspect ratio feels too squished/narrow on mobile, 
962              uncomment the lines below to adjust the height to fit a square image */
963        /* 
964        padding-bottom: 100% !important; 
965        height: auto !important; 
966        */
967    }
968	
969
970	.page-id-5 nav[aria-label="Breadcrumb"] {
971    display: none !important;
972}
973	#film-head {margin-top:25px;}
974}
975</style>
976<!-- end Simple Custom CSS and JS -->
977<!-- start Simple Custom CSS and JS -->
978<style type="text/css">
979/* HSAAS CARD VIEW STYLES 
980li.cfimgicon-aviation a:before, .cfimgicon-aviation:not(li):before {
981    background-image: url(https://cfcc.edu/wp-content/uploads/2026/03/hsaas-program-icn-e1774556873587.png );
982}*/
983
984div.gform_heading {
985	display:none!important;
986}
987.hsaas-card-view .card {
988    display: flex !important;
989    flex-direction: column;
990    background: #ffffff;
991    border: 1px solid #d1dce5 !important;
992    border-radius: 6px !important;
993    padding: 0; /* Let card-body handle padding */
994    margin-bottom: 20px;
995    box-shadow: 0 2px 5px rgba(0,0,0,0.08);
996    transition: all 0.2s ease-in-out;
997}
998
999.hsaas-card-view .card:hover {
1000    border-color: #00467f !important;
1001    box-shadow: 0 4px 12px rgba(0,0,0,0.12);
1002}
1003
1004/* Primary Accent Border for Degree Tracks */
1005.hsaas-card-view .hsaas-accent-card {
1006    border-left:1px solid #d1dce5 !important; /*6px solid #00467f !important;*/
1007}
1008
1009.hsaas-card-view .card-title {
1010    color: #00467f !important;
1011    font-weight: 800 !important;
1012}
1013
1014.hsaas-card-view .btn-primary {
1015    background-color: #00467f !important;
1016    border-color: #00467f !important;
1017    font-weight: 700;
1018    text-transform: uppercase;
1019    letter-spacing: 0.5px;
1020}
1021
1022/* Value Proposition Section Styling */
1023.hsaas-why-box {
1024    background-color: #f8fafc;
1025    border: 1px solid #e2e8f0;
1026    border-radius: 8px;
1027    padding: 40px;
1028}
1029
1030/* HSAAS CARD TYPE HEADER */
1031.hsaas-card-type {
1032    background-color: #00213d; /* Extra Dark Navy */
1033    color: #ffffff !important;
1034    font-size: 0.7rem;
1035    font-weight: 800;
1036    text-transform: uppercase;
1037    letter-spacing: 1.5px;
1038    padding: 6px 15px;
1039    border-radius: 5px 5px 0 0; /* Matches card top corners */
1040    display: block;
1041    width: 100%;
1042}
1043
1044/* Ensure the card-body doesn't have top-rounded corners now */
1045.hsaas-card-view .card-body {
1046    border-radius: 0 0 6px 6px;
1047}
1048
1049/* Hover effect for the new header */
1050.hsaas-card-view .card:hover .hsaas-card-type {
1051    background-color: #00467f; /* Shifts to CFCC Navy on hover */
1052    transition: background 0.2s ease;
1053}
1054
1055/* HSAAS CORNER RIBBON */
1056.hsaas-ribbon-wrap, .hsaas-card-ribbon-wrap {
1057    position: relative;
1058    overflow: hidden; /* This keeps the ribbon from sticking out of the card */
1059}
1060
1061.hsaas-ribbon {
1062    width: 200px;
1063    height: 30px;
1064    background-color: #ffc107; /* CFCC Gold */
1065    color: #00467f; /* CFCC Navy for contrast */
1066    position: absolute;
1067    top: -10px;
1068    right: 55px;
1069    text-align: center;
1070    line-height: 30px;
1071    letter-spacing: 1px;
1072    font-weight: 800;
1073    font-size: 12px;
1074    text-transform: uppercase;
1075  /*  transform: rotate(45deg);*/
1076    z-index: 100;
1077    box-shadow: 0 2px 5px rgba(0,0,0,0.2);
1078    pointer-events: none; /* Allows the stretched-link to work through the ribbon */
1079}
1080/* Page-specific ribbon positioning override */
1081.hsaas-card-ribbon-wrap .hsaas-ribbon {
1082    top: 0px; /* Moves it down slightly for a larger container */
1083    right: 0px; /* Adjusts the horizontal overhang */
1084	font-size:13px;
1085    transform: rotate(0deg);
1086}
1087
1088/* Cleanup for Ghosting P tags (Option 1) */
1089.hsaas-card-view p:empty {
1090    display: none !important;
1091}
1092.rounded-bottom-only {
1093    border-radius: 0 0 5px 5px;
1094}
1095/* HSAAS FLAG MOBILE OVERRIDE */
1096/* Target screens smaller than 768px (Bootstrap's mobile breakpoint) */
1097@media (max-width: 767.98px) {
1098  /* Replace .coming-fall-flag with the actual class name of the banner */
1099  .hsaas-card-ribbon-wrap .hsaas-ribbon {
1100    /* Step 1: Remove absolute positioning to make it flow with the text */
1101    position: relative; 
1102    
1103    /* Step 2: Remove the 45-degree rotation */
1104    transform: rotate(0deg); 
1105    
1106    /* Step 3: Clear previous offsets */
1107    top: 0; 
1108    right: 0;
1109    margin: 0 auto 20px auto; /* Centers it horizontally and adds bottom space */
1110    
1111    /* Step 4: Improve readability for the new horizontal layout */
1112    display: inline-block; /* Or use 'block' for full width */
1113    width: 100%; /* Fits the width of the text */
1114    /*padding: 10px 20px;  Adjust padding for better look when horizontal */
1115    z-index: 10; /* Ensure it stays above content if needed */
1116  }
1117}
1118
1119/* Workforce Edge Custom Callout Component */
1120.workforce-edge-callout {
1121    background-color: #f7f7f7 !important;
1122    border: 1px solid #e2e8f0;
1123    border-top: 6px solid #00467f !important;
1124    font-size: 15px !important;
1125    line-height: 1.6;
1126}
1127
1128.workforce-edge-callout h4 {
1129    color: #00467f !important;
1130    font-weight: 700 !important;
1131    font-size: 1.35rem;
1132    margin-bottom: 15px;
1133    letter-spacing: -0.3px;
1134}
1135
1136.workforce-edge-callout ul {
1137    margin-bottom: 0;
1138    padding-left: 20px;
1139    color: #333333 !important;
1140}</style>
1141<!-- end Simple Custom CSS and JS -->
1142<!-- start Simple Custom CSS and JS -->
1143<style type="text/css">
1144/* --- FULL-WIDTH BREAKOUT LOGIC --- */
1145/* This forces the carousel to ignore parent container padding and hit the screen edges */
1146.full-width-carousel {
1147    width: 100vw;
1148    position: relative;
1149    left: 50%;
1150    right: 50%;
1151    margin-left: -50vw;
1152    margin-right: -50vw;
1153    background-color: #00213d; /* Dark Navy base */
1154    overflow: hidden;
1155}
1156
1157/* --- CAROUSEL INNER & ITEM SIZING --- */
1158.career-area-slider .carousel-inner {
1159    height: 550px;
1160}
1161
1162.career-area-slider .carousel-item {
1163    height: 550px;
1164    background-color: #00213d;
1165}
1166
1167.career-area-slider .carousel-item img {
1168    object-fit: cover; /* Required for position to work */
1169    height: 100%;
1170    width: 100%;
1171    filter: brightness(45%);
1172    transition: object-position 0.3s ease; /* Optional: smooths out any transitions */
1173}
1174
1175/* --- CAPTION & TYPOGRAPHY --- */
1176.career-area-slider .carousel-caption {
1177    bottom: 20%;
1178    left: 10%;
1179    text-align: left;
1180    max-width: 650px;
1181    padding-left: 25px;
1182    border-left: 6px solid #ffc107; /* Gold vertical accent */
1183    right: auto; /* Overrides Bootstrap default centered behavior */
1184    z-index: 10;
1185}
1186
1187/* Force White Title & Teaser */
1188.career-area-slider .carousel-caption h3 {
1189    font-size: 2.8rem;
1190    font-weight: 700 !important;
1191    color: #ffffff !important;
1192    text-transform: uppercase;
1193    margin-bottom: 10px;
1194    line-height: 1.1;
1195}
1196
1197.career-area-slider .carousel-caption p {
1198    font-size: 1.2rem;
1199    font-weight: 400;
1200    color: #ffffff !important;
1201    margin-bottom: 25px;
1202    line-height: 1.5;
1203}
1204
1205/* --- THEME BUTTON STYLING --- */
1206/* Uses your "button btn" class logic with CFCC Gold styling */
1207.career-area-slider .button.btn {
1208    background-color: #ffc107 !important;
1209    color: #00213d !important;
1210    border: none !important;
1211    padding: 12px 30px !important;
1212    font-weight: 700 !important;
1213    text-transform: uppercase;
1214    display: inline-block;
1215    border-radius: 4px;
1216    transition: all 0.3s ease;
1217    text-decoration: none !important;
1218}
1219
1220.career-area-slider .button.btn:hover {
1221    background-color: #e0a800 !important;
1222    color: #000000 !important;
1223    box-shadow: 0 4px 8px rgba(0,0,0,0.3);
1224}
1225
1226/* --- CONTROLS & INDICATORS --- */
1227.career-area-slider .carousel-control-prev,
1228.career-area-slider .carousel-control-next {
1229    width: 7%;
1230    z-index: 15;
1231    opacity: 0.7;
1232}
1233
1234.career-area-slider .carousel-control-prev:hover,
1235.career-area-slider .carousel-control-next:hover {
1236    opacity: 1;
1237}
1238
1239.career-area-slider .carousel-indicators {
1240    bottom: 20px;
1241    margin-bottom: 0;
1242}
1243
1244.career-area-slider .carousel-indicators li {
1245    background-color: #ffc107 !important;
1246    width: 12px;
1247    height: 12px;
1248    border-radius: 50%;
1249    margin: 0 6px;
1250    border: none;
1251    opacity: 0.5;
1252}
1253
1254.career-area-slider .carousel-indicators li.active {
1255    opacity: 1;
1256}
1257
1258/* --- MOBILE RESPONSIVENESS --- */
1259@media (max-width: 991px) {
1260    .career-area-slider .carousel-caption {
1261        left: 5%;
1262        max-width: 80%;
1263    }
1264}
1265
1266@media (max-width: 767.98px) {
1267    .career-area-slider .carousel-inner,
1268    .career-area-slider .carousel-item {
1269        height: 450px;
1270    }
1271
1272    .career-area-slider .carousel-caption {
1273        bottom: 10%;
1274        left: 20px;
1275        right: 20px;
1276        padding-left: 15px;
1277        border-left-width: 4px;
1278    }
1279
1280    .career-area-slider .carousel-caption h3 {
1281        font-size: 1.8rem;
1282    }
1283
1284    .career-area-slider .carousel-caption p {
1285        font-size: 1rem;
1286    }
1287    
1288    /* Ensure indicators don't clutter small mobile screens */
1289    .career-area-slider .carousel-indicators {
1290        display: none;
1291    }
1292}</style>
1293<!-- end Simple Custom CSS and JS -->
1294<!-- start Simple Custom CSS and JS -->
1295<style type="text/css">
1296    /* THE SUPER HAMMER: Suppress phantom WP paragraphs */
1297    .oh-simple-alert-wrapper p:empty, 
1298    .oh-simple-alert-wrapper p:blank, 
1299    .oh-simple-alert-wrapper p:has(br:only-child) { 
1300        display: none !important; 
1301        margin: 0 !important; 
1302        padding: 0 !important; 
1303    }
1304
1305    /* Bar Styling */
1306    .oh-simple-alert-wrapper { 
1307        width: 100%; 
1308        font-family: -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, Arial, sans-serif; 
1309    }
1310    
1311    .oh-simple-bar { 
1312        background-color: #ffc107; 
1313        color: #00467f; 
1314        border-bottom: 2px solid #00467f; 
1315        padding: 12px 0;
1316    }
1317    
1318    .oh-inner-wrap { 
1319        max-width: 1200px; 
1320        margin: 0 auto; 
1321        padding: 0 20px; 
1322    }
1323    
1324    .oh-bar-content { 
1325        display: flex; 
1326        justify-content: center; 
1327        align-items: center; 
1328        gap: 20px;
1329    }
1330
1331    .oh-bar-text { 
1332        font-weight: 700; 
1333        font-size: 18px; 
1334        color: #00467f; 
1335        margin: 0 !important; /* Forces hammer compliance */
1336        line-height: 1.2;
1337    }
1338
1339    /* Standard Button Styling for Bar Context */
1340    .oh-bar-action .button {
1341        margin: 0 !important;
1342        white-space: nowrap;
1343        background-color: #00467f;
1344        color: #ffffff !important;
1345        padding: 10px 24px;
1346        border-radius: 4px;
1347        font-weight: 700;
1348        text-transform: uppercase;
1349        font-size: 14px;
1350        text-decoration: none !important;
1351        display: inline-block;
1352    }
1353
1354    .oh-bar-action .button:hover {
1355        background-color: #003366;
1356    }
1357
1358    /* Responsive Mobile Handling */
1359    @media (max-width: 991px) {
1360        .oh-bar-content { 
1361            flex-direction: column; 
1362            text-align: center; 
1363            gap: 15px;
1364        }
1365        .oh-bar-text {
1366            font-size: 16px;
1367        }
1368    }</style>
1369<!-- end Simple Custom CSS and JS -->
1370<!-- start Simple Custom CSS and JS -->
1371<style type="text/css">
1372/* AVIATION CARD VIEW STYLES */
1373li.cfimgicon-aviation a:before, .cfimgicon-aviation:not(li):before {
1374    background-image: url(https://cfcc.edu/wp-content/uploads/2026/03/aviation-program-icn-e1774556873587.png );
1375}
1376
1377div.gform_heading {
1378	display:none!important;
1379}
1380.aviation-card-view .card {
1381    display: flex !important;
1382    flex-direction: column;
1383    background: #ffffff;
1384    border: 1px solid #d1dce5 !important;
1385    border-radius: 6px !important;
1386    padding: 0; /* Let card-body handle padding */
1387    margin-bottom: 20px;
1388    box-shadow: 0 2px 5px rgba(0,0,0,0.08);
1389    transition: all 0.2s ease-in-out;
1390}
1391
1392.aviation-card-view .card:hover {
1393    border-color: #00467f !important;
1394    box-shadow: 0 4px 12px rgba(0,0,0,0.12);
1395}
1396
1397/* Primary Accent Border for Degree Tracks */
1398.aviation-card-view .aviation-accent-card {
1399    border-left:1px solid #d1dce5 !important; /*6px solid #00467f !important;*/
1400}
1401
1402.aviation-card-view .card-title {
1403    color: #00467f !important;
1404    font-weight: 800 !important;
1405}
1406
1407.aviation-card-view .btn-primary {
1408    background-color: #00467f !important;
1409    border-color: #00467f !important;
1410    font-weight: 700;
1411    text-transform: uppercase;
1412    letter-spacing: 0.5px;
1413}
1414
1415/* Value Proposition Section Styling */
1416.aviation-why-box {
1417    background-color: #f8fafc;
1418    border: 1px solid #e2e8f0;
1419    border-radius: 8px;
1420    padding: 40px;
1421}
1422
1423/* AVIATION CARD TYPE HEADER */
1424.aviation-card-type {
1425    background-color: #00213d; /* Extra Dark Navy */
1426    color: #ffffff !important;
1427    font-size: 0.7rem;
1428    font-weight: 800;
1429    text-transform: uppercase;
1430    letter-spacing: 1.5px;
1431    padding: 6px 15px;
1432    border-radius: 5px 5px 0 0; /* Matches card top corners */
1433    display: block;
1434    width: 100%;
1435}
1436
1437/* Ensure the card-body doesn't have top-rounded corners now */
1438.aviation-card-view .card-body {
1439    border-radius: 0 0 6px 6px;
1440}
1441
1442/* Hover effect for the new header */
1443.aviation-card-view .card:hover .aviation-card-type {
1444    background-color: #00467f; /* Shifts to CFCC Navy on hover */
1445    transition: background 0.2s ease;
1446}
1447
1448/* AVIATION CORNER RIBBON */
1449.aviation-ribbon-wrap, .aviation-card-ribbon-wrap {
1450    position: relative;
1451    overflow: hidden; /* This keeps the ribbon from sticking out of the card */
1452}
1453
1454.aviation-ribbon {
1455    width: 200px;
1456    height: 30px;
1457    background-color: #ffc107; /* CFCC Gold */
1458    color: #00467f; /* CFCC Navy for contrast */
1459    position: absolute;
1460    top: 35px;
1461    right: -45px;
1462    text-align: center;
1463    line-height: 30px;
1464    letter-spacing: 1px;
1465    font-weight: 800;
1466    font-size: 10px;
1467    text-transform: uppercase;
1468    transform: rotate(45deg);
1469    z-index: 100;
1470    box-shadow: 0 2px 5px rgba(0,0,0,0.2);
1471    pointer-events: none; /* Allows the stretched-link to work through the ribbon */
1472}
1473/* Page-specific ribbon positioning override */
1474.aviation-card-ribbon-wrap .aviation-ribbon {
1475    top: 0px; /* Moves it down slightly for a larger container */
1476    right: 0px; /* Adjusts the horizontal overhang */
1477	font-size:13px;
1478    transform: rotate(0deg);
1479}
1480
1481/* Cleanup for Ghosting P tags (Option 1) */
1482.aviation-card-view p:empty {
1483    display: none !important;
1484}
1485/* AVIATION FLAG MOBILE OVERRIDE */
1486/* Target screens smaller than 768px (Bootstrap's mobile breakpoint) */
1487@media (max-width: 767.98px) {
1488  /* Replace .coming-fall-flag with the actual class name of the banner */
1489  .aviation-card-ribbon-wrap .aviation-ribbon {
1490    /* Step 1: Remove absolute positioning to make it flow with the text */
1491    position: relative; 
1492    
1493    /* Step 2: Remove the 45-degree rotation */
1494    transform: rotate(0deg); 
1495    
1496    /* Step 3: Clear previous offsets */
1497    top: 0; 
1498    right: 0;
1499    margin: 0 auto 20px auto; /* Centers it horizontally and adds bottom space */
1500    
1501    /* Step 4: Improve readability for the new horizontal layout */
1502    display: inline-block; /* Or use 'block' for full width */
1503    width: 100%; /* Fits the width of the text */
1504    /*padding: 10px 20px;  Adjust padding for better look when horizontal */
1505    z-index: 10; /* Ensure it stays above content if needed */
1506  }
1507}</style>
1508<!-- end Simple Custom CSS and JS -->
1509<!-- start Simple Custom CSS and JS -->
1510<style type="text/css">
1511/* Add your CSS code here.
1512
1513For example:
1514.example {
1515    color: red;
1516}
1517
1518For brushing up on your CSS knowledge, check out http://www.w3schools.com/css/css_
1518syntax.asp
1519
1520End of comment */ 
1521.fc-event a
1522 {
1523    border: 1px solid #00467f !important;
1524    background-color: #00467f !important;
1525    color: #fff;
1526    font-size: .85em;
1527    cursor: default;
1528}
1529#menu-top-left {
1530    justify-content: space-between;
1531}
1532#menu-top-right {
1533    justify-content: space-between;
1534}
1535#intelliwidget_imagebuttons_5 .intelliwidget-menu-title a {
1536	background:#00467F;
1537}
1538
1539
1540
1541
1542/* 1. Base Container Setup */
1543.flexmason-item .flexmason-content > * {
1544    position: absolute;
1545    height: 100%;
1546    width: 100%;
1547    left: 0;
1548    top: 0;
1549    box-sizing: border-box;
1550    padding: 0;
1551    margin: 0;
1552}
1553
1554/* 2. Aspect Ratio Keeper (Square or Portrait) */
1555.flexmason-item .flexmason-content:before {
1556    display: block;
1557    padding-top: 100%; /* Creates a 1:1 square. Adjust if needed */
1558    content: '';
1559}
1560
1561/* 3. The Overlay (FIXED FOR CONTRAST) */
1562.flexmason-item .flexmason-content > a:before {
1563    display: block;
1564    content: '';
1565    height: 100%;
1566    width: 100%;
1567    left: 0;
1568    top: 0;
1569    transition: background 0.3s ease; /* Smooth color transition */
1570    
1571    /* FIX: Stronger Gradient. 
1572       Instead of starting at 0% opacity, we start at 20% and go to 90% black at the bottom.
1573       This ensures text at the bottom always sits on dark grey/black. */
1574    background: linear-gradient(to bottom, rgba(0,0,0,0.1) 0%, rgba(0,0,0,0.6) 50%, rgba(0,0,0,0.95) 100%);
1575    z-index: 1; /* Ensures overlay sits on top of image but below text */
1576}
1577
1578/* 4. Text Styling */
1579.program-title-container {
1580    position: absolute;
1581    bottom: 0;
1582    left: 0;
1583    width: 100%;
1584    padding: 15px;
1585    z-index: 2; /* Ensures text sits on top of overlay */
1586    text-align: center; /* Center align looks better in grids */
1587	background: rgba(0,0,0,0.55)
1588}
1589
1590.flexmason-item h3.program-title, 
1591.flexmason-item .program-subheading {
1592    color: #fff;
1593    /* FIX: Stronger Text Shadow for extra legibility */
1594    text-shadow: 0px 0px 10px rgba(0,0,0,0.9);
1595    margin: 0;
1596    display: block;
1597}
1598
1599/* 5. Hover States (FIXED) */
1600.flexmason-item:hover h3.program-title, 
1601.flexmason-item:hover .program-subheading {
1602    /* Yellow (#ffbe36) on Black background ratio is 12.8:1 (PASS) */
1603    color: #ffbe36; 
1604}
1605
1606.flexmason-item:hover .flexmason-content > a:before {
1607    /* CRITICAL FIX: DO NOT REDUCE OPACITY. 
1608       Instead, we keep it dark or make it slightly darker to make the yellow pop. */
1609    background: linear-gradient(to bottom, rgba(0,0,0,0.2) 0%, rgba(0,0,0,0.8) 50%, rgba(0,0,0,1) 100%);
1610    opacity: 1 !important; 
1611}
1612
1613
1614/* for smaller phones no side scroll */
1615
1616/* Fix Datepicker Horizontal Scroll on Mobile */
1617@media screen and (max-width: 768px) {
1618	
1619	.badge, .dropdown-header, .dropdown-item, .dropdown-toggle, .input-group-text, .navbar-brand, .progress-bar {
1620		white-space:normal !important;
1621	}
1622	
1623    /* 1. Force the calendar popup to fit within the screen width */
1624    #ui-datepicker-div {
1625        width: 90% !important;      /* Use almost full width */
1626        max-width: 350px !important; /* Don't let it get too huge */
1627        left: 50% !important;        /* Center it horizontally */
1628        transform: translateX(-50%) !important; /* Perfect centering */
1629        box-sizing: border-box;      /* Include padding in width calc */
1630    }
1631
1632    /* 2. Reduce internal padding so the calendar days fit */
1633    .ui-datepicker table {
1634        font-size: 0.9em !important; /* Slightly smaller text */
1635        margin: 0 !important;
1636        width: 100% !important;
1637    }
1638    
1639    .ui-datepicker td span, 
1640    .ui-datepicker td a {
1641        padding: 0.2em !important;   /* Reduce click target padding slightly */
1642        text-align: center !important;
1643    }
1644
1645    /* 3. Ensure the previous/next arrows don't push width out */
1646    .ui-datepicker .ui-datepicker-prev, 
1647    .ui-datepicker .ui-datepicker-next {
1648        width: 1.5em !important;
1649        height: 1.5em !important;
1650    }
1651    .header-image {
1652        max-width: 160px !important;
1653    }
1654	.footer .nowrap {
1655		line-height:3em;
1656	}
1657	
1658	.img-enhanced:before, .testimonial-thumbnail-container:before, .bg-grid:before {
1659		display:none!important;
1660	}
1661}
1662
1663
1664@media only screen and (max-width: 500px) {
1665
1666#messenger-root {
1667	/*	display:none !important;*/
1668	}
1669}
1670
1671
1672    .eap-container {
1673        max-width: 1200px;
1674        margin: 20px auto;
1675        color: #333;
1676		font-size: 1rem;
1677    }
1678    .eap-table {
1679        width: 100%;
1680        border-collapse: collapse;
1681        margin-bottom: 40px;
1682        border: 1px solid #ddd;
1683        box-shadow: 0 2px 5px rgba(0,0,0,0.1);
1684    }
1685    .head {
1686        background-color: #333;
1687        color: #fff;
1688        text-transform: uppercase;
1689        letter-spacing: 1px;
1690        padding: 15px;
1691        text-align: center;
1692        font-size: 0.9rem;
1693    }
1694    .eap-table td, .eap-table th {
1695        padding: 15px;
1696        vertical-align: middle;
1697        line-height: 1.5;
1698    }
1699.eap-table td {
1700	border: 1px solid rgba(230,230,230,.9);
1701}
1702.eap-table thead, tr { border:none; }
1703
1704    /* Protocol Colors */
1705    .row-hold { background-color: #682a7a; color: #ffffff; }
1706	.row-hold td { border:none; }
1707    .row-secure { background-color: #0071da; color: #ffffff; }
1708	.row-secure td { border:none; }
1709    .row-lockdown { background-color: #e01920; color: #ffffff; }
1710	.row-lockdown td { border:none; }
1711    .row-evacuate { background-color: #017f13; color: #ffffff; }
1712	.row-evacuate td { border:none; }
1713    .row-shelter { background-color: #f37b01; color: #000000; }
1714	.row-shelter td { border:none; }
1715    /* Column Sizing */
1716    .col-action { width: 25%; font-weight: bold; }
1717    .col-staff { width: 37.5%; }
1718    .col-student { width: 37.5%; }
1719    .protocol-title {
1720        display: block;
1721        font-size: 1.75rem;
1722		text-align:center;
1723    }
1724    .protocol-desc {
1725        display: block;
1726        font-size: 1.4rem;
1727        font-weight: 600;
1728        font-style: italic;
1729		text-align:center;
1730    }
1731    .eap-table ul {
1732        margin: 5px 0 0 0;
1733        padding-left: 20px;
1734    }
1735    .eap-table h4 {
1736        margin: 25px 0 10px 0;
1737        text-decoration: underline;
1738    }
1739    @media (max-width: 768px) {
1740        .eap-table, .eap-table tbody, .eap-table tr, .eap-table td {
1741            display: block;
1742            width: 100%;
1743        }
1744        .eap-table thead { display: none; border:none; }
1745        .eap-table td {
1746            box-sizing: border-box;
1747            border: 1px solid rgba(230,230,230,1);
1748        }
1749        .eap-table td::before {
1750            content: attr(data-label);
1751            display: block;
1752            font-weight: bold;
1753            text-transform: uppercase;
1754            font-size: 0.7rem;
1755            margin-bottom: 5px;
1756            opacity: 0.7;
1757        }
1758    }
1759</style>
1760<!-- end Simple Custom CSS and JS -->
1761<!-- start Simple Custom CSS and JS -->
1762<style type="text/css">
1763li.cfimgicon-badge a:before, .cfimgicon-badge:not(li):before {
1764    background-image: url(https://cfcc.edu/wp-content/themes/cfcc/css/cfccicons/svg-icons/cfcc-public-safety-icon.svg);
1765}
1766li.cfimgicon-publicservice a:before, .cfimgicon-publicservice:not(li):before {
1767    background-image: url(https://cfcc.edu/wp-content/themes/cfcc/css/cfccicons/svg-icons/cfcc-public-service-icon.svg);
1768}
1769
1770/* =========================================================
1771   PUBLIC SAFETY PAGE - 320px / MOBILE AUDIT FIXES
1772   ========================================================= */
1773
1774@media screen and (max-width: 768px) {
1775    
1776    /* 1. EMERGENCY ALERT BAR (Stop the squish) 
1777       Your current CSS forces a 65% / 35% split. At 320px, the text is unreadable 
1778       and the image breaks the container. We need them to stack vertically. */
1779    .emergency-alert-bar {
1780        flex-direction: column !important; /* Stack text on top of image */
1781        text-align: center;
1782        padding: 15px 10px !important;
1783    }
1784	#intelliwidget-9 div.text-right {
1785		display:none;
1786	}
1787
1788    .emergency-alert-bar .alert-content,
1789    .emergency-alert-bar .alert-image {
1790        flex: 0 0 100% !important; /* Take up full width */
1791        max-width: 100% !important;
1792        margin-bottom: 15px; /* Add spacing between stacked items */
1793    }
1794
1795    /* 2. CIRCULAR IMAGE BUTTONS (Fix the padding blowout)
1796       Your custom CSS added 80px of left padding for the icon. On a 320px screen,
1797       this pushes long text right off the edge of the screen. */
1798    .imagebuttons-circular .intelliwidget-menu-item a {
1799        padding: 1.5rem 1rem 1.5rem 60px !important; /* Reduce icon padding */
1800        font-size: 0.95em; /* Scale font down slightly */
1801        word-wrap: break-word; /* Force long titles to break instead of scroll */
1802    }
1803
1804    /* 3. GLASS CARDS (Prevent rigid widths)
1805       Your .careers-glass-card has max-width: 400px. If it sits inside a container 
1806       with padding, it will force a horizontal scroll on 320px devices. */
1807    .careers-glass-card {
1808        max-width: 100% !important;
1809        margin-left: 0 !important;
1810        margin-right: 0 !important;
1811        box-sizing: border-box; /* Ensure borders don't add to 100% width */
1812    }
1813
1814    /* 4. THE DARK TIMELINE (Fix negative margins)
1815       Your .cfcc-timeline-darkbg uses negative margins (-20px) to pull the 
1816       numbers to the outside. On a small screen, this pulls them off the page! */
1817    .cfcc-timeline-darkbg li:nth-child(odd):before, 
1818    .cfcc-timeline-darkbg li:nth-child(even):before {
1819        /* Pull the timeline bubbles inside the box so they don't break the viewport */
1820        position: relative !important;
1821        display: inline-block !important;
1822        margin: 0 auto 10px auto !important;
1823        left: auto !important;
1824        right: auto !important;
1825    }
1826    .cfcc-timeline-darkbg li:nth-child(odd),
1827    .cfcc-timeline-darkbg li:nth-child(even) {
1828        /* Reset the borders and margins so it flows in a straight vertical line */
1829        margin: 0 0 15px 0 !important;
1830        border: 2px solid #00ADEF !important;
1831        border-radius: 10px !important;
1832        padding: 15px !important;
1833        text-align: center !important;
1834    }
1835    /* Hide the vertical white line since we are stacking them */
1836    .cfcc-timeline-darkbg ul:before, 
1837    .cfcc-timeline-darkbg ul:after {
1838        display: none !important;
1839    }
1840    
1841    /* 5. PUBLIC SAFETY TABLES (BLET / Fire Academy Requirements)
1842       Force any standard tables on this page to allow swiping rather than breaking */
1843    .cfcc-table {
1844        display: block !important;
1845        width: 100% !important;
1846        overflow-x: auto !important;
1847        -webkit-overflow-scrolling: touch; /* Smooth iOS scrolling */
1848    }
1849}
1850
1851@media (max-width:600px) {
1852.imagebuttons-circular .intelliwidget-menu-item a {
1853    display: block;
1854    position: relative;
1855    border: 1px solid #ababab;
1856    -ms-flex-direction: column;
1857    flex-direction: column;
1858    text-align: left;
1859    text-decoration: none;
1860    background-color: transparent;
1861    color: #00467f;
1862    font-weight: 700;
1863    -moz-border-radius: 0;
1864    -webkit-border-radius: 0;
1865    -o-border-radius: 0;
1866    border-radius: 8px;
1867    padding: 2rem 1rem 2rem 80px;
1868}
1869}</style>
1870<!-- end Simple Custom CSS and JS -->
1871<!-- start Simple Custom CSS and JS -->
1872<style type="text/css">
1873.emergency-alert-bar {
1874    display: flex; /* 1. Enable Flexbox */
1875    
1876    /* 2. Vertical Alignment: Aligns the content and image blocks to the vertical middle */
1877    align-items: center; 
1878    
1879    /* 3. Horizontal Spacing: Distributes space evenly between the content and the image */
1880    justify-content: space-evenly; 
1881    
1882    width: 100%; /* Ensure the bar uses full available width */
1883    padding: 20px; /* Add internal padding */
1884  /*  background-color: #ff0000; /* Example: High-visibility emergency color */
1885  /*  color: white;*/
1886}
1887
1888.alert-content {
1889    /* Set the proportional width for the text content (65% equivalent) */
1890    flex: 0 0 65%; 
1891    max-width: 65%;
1892}
1893
1894.alert-image {
1895    /* Set the proportional width for the image container (35% equivalent) */
1896    flex: 0 0 35%; 
1897    max-width: 35%;
1898    
1899    /* Ensures the image is centered within its 35% container */
1900    text-align: center; 
1901}
1902
1903/* Cleanup for internal spacing, as H tags have default margins */
1904.alert-content h2,
1905.alert-content h3,
1906.alert-content h4,
1907.alert-content p {
1908    margin: 0 0 5px 0; /* Tighten up vertical spacing for the emergency text */
1909}
1910.alert-content h3,
1911.alert-content h4 {
1912	text-transform:none;
1913}
1914.alert-content h2 {
1915	font-weight:600;
1916}
1917
1918/* Ensure the image scales properly within its container */
1919.alert-image img {
1920    max-width: 100%;
1921    height: auto;
1922    display: block;
1923    margin: 0 auto;
1924}
1925
1926</style>
1927<!-- end Simple Custom CSS and JS -->
1928<!-- start Simple Custom CSS and JS -->
1929<style type="text/css">
1930/* OVERRIDE: Increase specificity to ensure the alert bar displays */
1931.home #rw9a #intelliwidget-16 {
1932   display: flex !important;
1933}
1934
1935/* Base Container & Horizontal Centering 
1936.home .alert-bar {
1937    text-align: center;
1938	margin:-0px 0px 20px 0px;
1939	padding-top:10px;
1940	padding-bottom:10px;
1941    background: #ffbe36;
1942}*/
1943/* when using interactive bar */
1944.home .alert-bar {
1945    text-align: center;
1946	margin:0px;
1947	padding:0px;
1948    background: #ffbe36;
1949}
1950.alert-bar-wrapper {
1951width:100% !important;
1952}
1953
1954/* Main Alert Content Block */
1955.home #intelliwidget-16 {
1956   /* max-width: 900px; 
1957	min-height: 80px;    comment out when using interactive bar */
1958	
1959    margin: 0 auto;
1960    display: flex  !important;
1961  
1962}
1963
1964/* Vertical Alignment and Content Sizing */
1965.home .alert-text {
1966    width: 100%;
1967    display: flex;
1968    align-items: center;
1969    padding-left: 15px;
1970	font-weight:500;
1971	font-size:120%;
1972	/*color: #FFFFFF;*/
1973	color:#143552;
1974}
1975.home .alert-time {
1976	font-size:16px;
1977}
1978
1979.home .alert-button-container {
1980    width: 40%;
1981    display: flex;
1982    align-items: center;
1983    justify-content: flex-end;
1984    padding-right: 15px;
1985}
1986
1987/*@media only screen and (max-width: 600px) {
1988	.alert-time {
1989		display:none;		
1990	}
1991}
1992
1993 Basic Button Styling 
1994.home .alert-button-container .button {
1995    text-decoration: none;
1996    background-color: #0d47a1;
1997    color: white;
1998    padding: 10px 20px;
1999    border-radius: 5px;
2000    white-space: nowrap;
2001}*/</style>
2002<!-- end Simple Custom CSS and JS -->
2003<!-- start Simple Custom CSS and JS -->
2004<style type="text/css">
2005#image-margin-right {
2006	margin-right: 2em !important;
2007}
2008
2009html { 
2010  scroll-behavior: smooth;
2011}
2012
2013
2014.careers-glass-card {
2015  background: rgba(255, 255, 255, 0.3);
2016  border-radius: 15px;
2017  max-width: 400px;
2018  backdrop-filter: blur(10px);
2019  box-shadow: 0 4px 30px rgba(0, 0, 0, 0.1);
2020  border: 1px solid rgb(255, 255, 255);
2021
2022}
2023
2024.careers-glass-card p{
2025  padding: 10px;
2026}
2027
2028.careers-glass-card img{
2029  aspect-ratio: 16/10;
2030  width: 100%;
2031  object-fit: cover;
2032}
2033
2034.careers-large-text {
2035  font-size: clamp(3vw ,1rem + 6vw, 5em);
2036}
2037
2038</style>
2039<!-- end Simple Custom CSS and JS -->
2040<!-- start Simple Custom CSS and JS -->
2041<style type="text/css">
2042.filter-item {
2043	transform: scale(1); 
2044    transition: transform 0.3s ease;
2045	display: flex;
2046}
2047
2048.filter-item.hidden-item {
2049	transform: scale(0);
2050	display: none;
2051}</style>
2052<!-- end Simple Custom CSS and JS -->
2053<!-- start Simple Custom CSS and JS -->
2054<style type="text/css">
2055.imagebutton-title-alt {
2056  justify-content: center;
2057  align-content: center;
2058  text-align: center;
2059  text-decoration: none;
2060  color: #fff;
2061  font-weight: 700;
2062  padding-top: .5rem;
2063}
2064.imagebutton-title-alt3 {
2065  justify-content: center;
2066  align-content: center;
2067  text-align: center;
2068  text-decoration: none;
2069  color: #fff;
2070  font-weight: 700;
2071  padding-top: .5rem;
2072}
2073
2074.imagebutton-title-alt a:hover {
2075  color: #ffbe36;
2076}
2077
2078.imagebutton-title-alt2 {
2079  justify-content: center;
2080  align-content: center;
2081  text-align: center;
2082  text-decoration: none;
2083  color: #fff;
2084	font-size:14px;
2085	line-height:1em;
2086  font-weight: 700;
2087  padding-top: .1rem;
2088}
2089.imagebutton-title-alt2 a:hover {
2090  color: #ffbe36;
2091}
2092p.imagebutton-title-alt3 {
2093	margin-bottom:.5rem;
2094}</style>
2095<!-- end Simple Custom CSS and JS -->
2096<!-- start Simple Custom CSS and JS -->
2097<style type="text/css">
2098/* alternative accordion */
2099.accordion-alt-heading {
2100    background-color: #00477F; 
2101    color: white; 
2102	padding: 10px;
2103}
2104
2105.accordion-alt-container {
2106    background-color: #f7f7f7; 
2107	padding: 18px;
2108}
2109
2110.accordion-alt-heading .iwi-accordion-control:before {
2111    color: white; 
2112}
2113
2114.accordion-alt-heading a {
2115    color: white; 
2116}
2117
2118</style>
2119<!-- end Simple Custom CSS and JS -->
2120<!-- start Simple Custom CSS and JS -->
2121<style type="text/css">
2122.cfcc-timeline-darkbg p {
2123	margin-bottom: 0;
2124	margin-left: 10px;
2125	margin-right: 10px;
2126}
2127.cfcc-timeline-darkbg ul:before, .cfcc-timeline-darkbg ul:after {
2128    content: "";
2129    background: #fff;
2130    width: 0px;
2131    height: 60px;
2132    position: absolute;
2133    z-index: 2;
2134}
2135
2136.cfcc-timeline-darkbg ul:before {
2137    margin: 0 0 0 -1px;
2138}
2139
2140.cfcc-timeline-darkbg ul:after {
2141    margin: -50px 0 0 -1px;
2142}
2143
2144.cfcc-timeline-darkbg li {
2145	list-style-type: none;
2146    border: 2px solid;
2147    border-color: #00ADEF !important;
2148    margin:0 0 -2px 0; 
2149    padding: 20px;
2150    counter-increment: li;
2151    position: relative;
2152}
2153
2154.cfcc-timeline-darkbg li:nth-child(odd):before, .cfcc-timeline-darkbg li:nth-child(even):before {
2155    content: counter(li);
2156    display: flex;
2157    -ms-flex-pack: center!important;
2158    justify-content: center!important;
2159    -ms-flex-align: center!important;
2160    align-items: center!important;
2161    
2162    position: absolute;
2163    border-radius: 50%;
2164    height: 50px;
2165    width: 50px;
2166    background-color: #00ADEF;
2167    color: white;
2168    font-weight: bold;
2169    z-index: 3;
2170}
2171
2172.cfcc-timeline-darkbg li:nth-child(odd):before {
2173    right: 100%; 
2174    margin-right: -20px;
2175}
2176
2177.cfcc-timeline-darkbg li:nth-child(even):before {
2178    left: 100%;
2179    margin-left: -20px;
2180}
2181
2182.cfcc-timeline-darkbg li:nth-child(odd) {
2183    border-right: none;
2184    border-left: 2px solid;
2185    border-top-left-radius: 10px;
2186    border-bottom-left-radius: 10px;
2187    margin-right: 30px;
2188    padding-right: 0;
2189}
2190
2191.cfcc-timeline-darkbg li:nth-child(even) {
2192    border-left: none;
2193    border-right: 2px solid;
2194    border-top-right-radius: 10px;
2195    border-bottom-right-radius: 10px;
2196    margin-left: 30px; 
2197    padding-left: 0;
2198    text-align: right;
2199}
2200
2201.cfcc-timeline-darkbg li:first-child {
2202    border-top: none;
2203    border-top-right-radius:0;
2204    border-top-left-radius:0;
2205}
2206
2207.cfcc-timeline-darkbg li:last-child {
2208    border-bottom: none;
2209    border-bottom-right-radius:0;
2210    border-bottom-left-radius:0;
2211}
2212</style>
2213<!-- end Simple Custom CSS and JS -->
2214<!-- start Simple Custom CSS and JS -->
2215<style type="text/css">
2216.cfcc-table {
2217  width: 100%;
2218  margin-bottom: 1rem;
2219  color: #212529;
2220  border-collapse: collapse;
2221}
2222
2223.cfcc-table th,
2224.cfcc-table td {
2225  padding: 0.75rem;
2226  vertical-align: top;
2227  border-top: 1px solid #dee2e6;
2228}
2229
2230.cfcc-table thead th {
2231  vertical-align: bottom;
2232  border-bottom: 2px solid #dee2e6;
2233}
2234
2235.cfcc-table tbody + tbody {
2236  border-top: 2px solid #dee2e6;
2237}
2238
2239.cfcc-table-bordered {
2240  border: 1px solid #dee2e6;
2241}
2242
2243.cfcc-table-bordered th,
2244.cfcc-table-bordered td {
2245  border: 1px solid #dee2e6;
2246}
2247
2248.cfcc-table-striped > tbody > tr:nth-of-type(odd) > * {
2249  --bs-cfcc-table-accent-bg: rgba(0, 0, 0, 0.05);
2250  color: var(--bs-cfcc-table-striped-color);
2251  background-color: var(--bs-cfcc-table-accent-bg);
2252}
2253
2254.cfcc-table-striped > tbody > tr:nth-of-type(odd) > * {
2255  background-color: #f8f9fa; 
2256}
2257
2258
2259
2260</style>
2261<!-- end Simple Custom CSS and JS -->
2262
2263<link rel='stylesheet' id='30022-css' href='//cfcc.edu/wp-content/uploads/custom-css-js/30022.css?v=2882' type="text/css" media='all' />
2264<style>p.hello{font-size:12px;color:darkgray;}#google_language_translator,#flags{text-align:left;}#google_language_translator{clear:both;}#flags{width:165px;}#flags a{display:inline-block;margin-right:2px;}#google_language_translator{width:auto!important;}div.skiptranslate.goog-te-gadget{display:inline!important;}.goog-tooltip{display: none!important;}.goog-tooltip:hover{display: none!important;}.goog-text-highlight{background-color:transparent!important;border:none!important;box-shadow:none!important;}#google_language_translator select.goog-te-combo{color:#32373c;}#google_language_translator{color:transparent;}body{top:0px!important;}#goog-gt-{display:none!important;}#glt-translate-trigger{left:20px;right:auto;}#glt-translate-trigger > span{color:#ffffff;}#glt-translate-trigger{background:#42296e;}.goog-te-gadget .goog-te-combo{width:100%;}</style><meta name="pageid" content="48">
2265    
2265<script>
2266(function($){
2267    // 1. Run immediately on Document Ready
2268    $(document).ready(function() {
2269        
2270        // --- YOUR EXISTING CODE ---
2271        $('.post-type-archive-directory .has-post-thumbnail').find('.contact-name').find('a').append('</br><span style="font-size: 12px;text-decoration: underline #046b7d dotted;color: #046b7d;font-weight: 500;">Read full profile <span class="iwicon-circle-arrow-right"></span></span>');
2272       
2273        // ADA FIX: Prevented this from targeting spans inside Gravity Forms
2274        $('#intelliwidget-7 ul li span:not(form span)').addClass('iwi-control iwi-menu-control').attr('aria-expanded', 'false');
2275        $('#intelliwidget-7 .sub-menu li span').removeClass('iwi-control iwi-menu-control').attr('aria-expanded', '');
2276
2277        // --- NEW ADA FIXES START HERE ---
2278
2279        // A. Menu & Toggle Fixes
2280        // ------------------------------------------
2281        $( '.iwi-menu' ).each( function( ndx, el ){
2282            var id = el.getAttribute( 'id' );
2283            if( $(el).iwinterface ) {
2284                $( el ).iwinterface( { aria: 'menu', activeclass: 'open', bodyclass: 'undefined' === id ? false : id + '-open', overlayclass: 'iwi-overlay-scroll' } );
2285            }
2286        });
2287
2288        // Add labels to sub-menu toggle buttons (ADA FIX: Strictly ignoring forms!)
2289        $( '.iwi-menu-control:not(form .iwi-menu-control)' ).each(function() {
2290            var linkText = $(this).prev('a').text().trim();
2291            $(this).attr( 'aria-label', linkText ? 'Toggle submenu for ' + linkText : 'Toggle submenu' );
2292        });
2293        
2294        // Mobile Toggle accessibility
2295        $( '.iwi-mobile-toggle' ).attr('role', 'button');
2296
2297        // B. Search Bar Fixes
2298        // ------------------------------------------
2299        $( 'input.search-input' ).attr( 'aria-label', 'Search site content' );
2300
2301        // C. Gravity Forms Universal Fix (WCAG 1.3.5)
2302        // ------------------------------------------
2303        // Standard Fields
2304        $( '.ginput_container_email input' ).attr( 'autocomplete', 'email' );
2305        $( '.ginput_container_phone input' ).attr( 'autocomplete', 'tel' );
2306        $( '.ginput_container_website input' ).attr( 'autocomplete', 'url' );
2307
2308        // Name Fields
2309        $( '.name_first input' ).attr( 'autocomplete', 'given-name' );
2310        $( '.name_last input' ).attr( 'autocomplete', 'family-name' );
2311        $( '.name_middle input' ).attr( 'autocomplete', 'additional-name' );
2312        $( '.name_suffix input' ).attr( 'autocomplete', 'honorific-suffix' );
2313        
2314        // Address Fields
2315        $( '.address_line_1 input' ).attr( 'autocomplete', 'street-address' );
2316        $( '.address_line_2 input' ).attr( 'autocomplete', 'address-line2' );
2317        $( '.address_city input' ).attr( 'autocomplete', 'address-level2' );
2318        $( '.address_state select, .address_state input' ).attr( 'autocomplete', 'address-level1' );
2319        $( '.address_zip input' ).attr( 'autocomplete', 'postal-code' );
2320        $( '.address_country select' ).attr( 'autocomplete', 'country' );
2321        
2322        $( 'body' ).removeClass( 'iwi-loading' );
2323    });
2324
2325    // 2. Run delayed (Wait for Google & External Scripts)
2326    $(window).on('load', function() {
2327        setTimeout(function() {
2328            // Google Translate Fix
2329            $('#goog-gt-votingForm input').each(function() {
2330                var inputName = $(this).attr('name');
2331                $(this).attr('aria-label', 'Google Translate voting parameter ' + inputName);
2332            });
2333            
2334            // Datepicker Fix (Prevent horizontal scroll on mobile)
2335            // Just in case CSS doesn't catch it, we ensure it's centered
2336            if( window.innerWidth < 769 ) {
2337                $('#ui-datepicker-div').css({'left': '50%', 'transform': 'translateX(-50%)'});
2338            }
2339        }, 1500); 
2340    });
2341
2342})(jQuery);
2343</script>
2343
2344<meta name="date" content="2025-06-16T11:38:23+00:00">
2345<!-- Google Tag Manager -->
2346<script>
vendor: 327 bytes, lines 2346-2350
2346(function(w,d,s,l,i){w[l]=w[l]||[];w[l].push({'gtm.start':
2347new Date().getTime(),event:'gtm.js'});var f=d.getElementsByTagName(s)[0],
2348j=d.createElement(s),dl=l!='dataLayer'?'&l='+l:'';j.async=true;j.src=
2349'https://www.googletagmanager.com/gtm.js?id='+i+dl;f.parentNode.insertBefore(j,f);
2350})(window,document,'script','dataLayer','
2350GTM-TNX265N8
vendor: 3 bytes, line 2350
2350');
2350</script>
2350
2351<!-- End Google Tag Manager -->
2352<!-- SilkTide -->
2353<script defer src="https://analytics.silktide.com/9f3da649550947f7cf479c13ff75d0fe.js"></script>
vendor: 1 bytes, line 2353
2353
2354<script>
2355  (function (s,i,l,k,y) {
2356    s[i] = s[i] || y;
2357    s[l] = s[l] || [];
2358    s[k] = function(e, p) { p = p || {}; p.event = e; p.time = Date.now(); s[l].push(p); };
2359    s[k]('page_load');
2360  })(window, 'stConfig', 'stEvents', 'silktide', {});
2361</script>
2361
2362<!-- END SilkTide -->
2363
2364<!-- 
2365<script src="https://kit.fontawesome.com/af99ce5453.js" crossorigin="anonymous"></script>
2365 -->
2366
2367<!-- Snap Pixel Code -->
2368<script type='text/javascript'>
2369(function(e,t,n){if(e.snaptr)return;var a=e.snaptr=function()
2370{a.handleRequest?a.handleRequest.apply(a,arguments):a.queue.push(arguments)};
2371a.queue=[];var s='script';r=t.createElement(s);r.async=!0;
2372r.src=n;var u=t.getElementsByTagName(s)[0];
2373u.parentNode.insertBefore(r,u);})(window,document,
2374'https://sc-static.net/scevent.min.js');
2375
2376snaptr('init', 'd503f4ef-0879-4156-b2c1-4b63d4895c94', {
2377'user_email': '__INSERT_USER_EMAIL__'
2378});
2379
2380snaptr('track', 'PAGE_VIEW');
2381
2382</script>
2382
2383<!-- End Snap Pixel Code -->
2384
2385<!-- Begin Constant Contact Active Forms 
2386<script> var _ctct_m = "ca927ba6176edff62af30b20bc76cc66"; </script>
vendor: 1 bytes, line 2386
2386
2387<script id="signupScript" src="//static.ctctcdn.com/js/signup-form-widget/current/signup-form-widget.min.js" async defer></script>
2387-->
2388<!-- End Constant Contact Active Forms -->
2389
2390<!-- element451 -->
2391<script type="text/javascript" async="true" src="https://cfcc.shell.451.io/" id="shell451"></script>
2391
2392
2393<!-- monsido -->
2394<script type="text/javascript">
2395    window._monsido = window._monsido || {
2396        token: "l09rLuPdPhIn1HcFsU66RA",
2397    };
2398</script>
vendor: 1 bytes, line 2398
2398
2399<script type="text/javascript" async src="https://app-script.monsido.com/v2/monsido-script.js"></script>
2399
2400<!-- End monsido -->
2401
2402<!-- Meta Pixel Code -->
2403<script>
2404  !function(f,b,e,v,n,t,s)
2405  {if(f.fbq)return;n=f.fbq=function(){n.callMethod?
2406  n.callMethod.apply(n,arguments):n.queue.push(arguments)};
2407  if(!f._fbq)f._fbq=n;n.push=n;n.loaded=!0;n.version='2.0';
2408  n.queue=[];t=b.createElement(e);t.async=!0;
2409  t.src=v;s=b.getElementsByTagName(e)[0];
2410  s.parentNode.insertBefore(t,s)}(window, document,'script',
2411  'https://connect.facebook.net/en_US/fbevents.js');
2412
2413  // Initialize Pixel 1
2414  fbq('init', '2594080867298048');
2415  // Initialize Pixel 2
2416  fbq('init', '1289396158203435');
2417  
2418  // Track PageView for both
2419  fbq('track', 'PageView');
2420</script>
2420
2421<noscript>
2422  <img height="1" width="1" style="display:none" alt="" src="https://www.facebook.com/tr?id=2594080867298048&ev=PageView&noscript=1"/>
2423  <img height="1" width="1" style="display:none" alt="" src="https://www.facebook.com/tr?id=1289396158203435&ev=PageView&noscript=1"/>
2424</noscript>
2425<!-- End Meta Pixel Code -->
2426		<style type="text/css" id="wp-custom-css">
2427			
2428.pum-theme-20988 .pum-content, .pum-theme-cutting-edge .pum-content{
2429	font-weight: 400;
2430	font-size: 1.125rem;
2431	line-height: 1.4;
2432color: #00467f;
2433}
2434
2435.pum-theme-20988 .pum-title, .pum-theme-cutting-edge .pum-title {
2436text-shadow: none;
2437    font-family: Poppins, sans-serif;
2438    font-weight: 400;
2439    font-size: 2rem;
2440    line-height: 1.2;
2441    color: #00467f;
2442}
2443
2444.pum-theme-20988 .pum-container, .pum-theme-cutting-edge .pum-container {
2445	font-family: "Nunito Sans",sans-serif;
2446	font-size: 1.5rem;
2447	font-weight:400;
2448    border: none;
2449    max-height: 80vh;
2450    overflow: visible;
2451    width: 95vw;
2452    max-width: 980px;
2453    box-sizing: border-box;
2454    -webkit-border-radius: .5rem;
2455    border-radius: .5rem;
2456    padding: 5vw;
2457    background-color: #fff;
2458    margin: 0;
2459    position: fixed;
2460    bottom: 50%;
2461    right: 50%;
2462	left:auto !important;	
2463	top:auto !important;
2464    -webkit-transform: translateY(50%) translateX(50%);
2465    transform: translateY(50%) translateX(50%);
2466    transition: all .3s;
2467}
2468
2469.pum-theme-20988 .pum-content + .pum-close, .pum-theme-cutting-edge .pum-content + .pum-close {
2470    color: #fff;
2471border: none;
2472box-shadow: none;
2473text-shadow: none;
2474    height: 2rem;
2475    width: 2rem;
2476    display: block;
2477    -webkit-border-radius: 50%;
2478    border-radius: 50%;
2479    border: 3px solid transparent;
2480    color: #000;
2481    background-color: #fff;
2482    cursor: pointer;
2483    text-align: center;
2484    box-sizing: border-box;
2485    position: absolute;
2486    top: -2vw;
2487    right: -2vw;
2488    left: auto;
2489    font-size: 1.5rem;
2490    font-style: normal;
2491    font-weight: 700;
2492    font-family: sans-serif;
2493    line-height: 1;
2494}
2495
2496/* BBTEAM Jordan Added Image Box CSS */
2497
2498.popmake-content {
2499	outline: none !important;
2500}
2501
2502ul.iw-custom-menu.row.three-col li {
2503    width: 33%;
2504}
2505
2506ul.iw-custom-menu.row.three-col li .bgcover {
2507	transition: 2s ease-in;
2508}
2509
2510ul.iw-custom-menu.row.three-col li:hover .bgcover {
2511	transform: scale( 1.375 ) rotate( -3deg );
2512}
2513
2514ul.iw-custom-menu.row.three-col li .intelliwidget-menu-title {
2515	transition: background-color .3s ease;
2516}
2517
2518ul.iw-custom-menu.row.three-col li:hover .intelliwidget-menu-title {
2519	background: #00467f;
2520}
2521
2522@media screen and (max-width:900px) {
2523ul.iw-custom-menu.row.three-col li {
2524	width: 100%;
2525	}
2526	
2527}
2528/* 
2529@media screen and (max-width: 768px) {
2530.table td, .table th {
2531		border-top: 0!important;
2532    	display: inherit!important;
2533	}
2534}
2535*/
2536
2537/* end BBTEAM Jordan Added Image Box CSS */
2538
2539.has-sticky-sidebar .sticky-sidebar {
2540	position: sticky;
2541	position: -webkit-sticky;
2542	top: 200px;
2543}
2544
2545.footer .xicon-twitter-x {
2546  display: inline-block;
2547  font-size: 2.5em;
2548  padding-left: .5em;
2549  text-decoration: none;
2550  line-height: .75;
2551}
2552
2553.video-container::after {
2554	content:'';
2555	top:0;
2556	left:0;
2557	height:100%;
2558	width:100%;
2559	background:rgba(0,0,0,0);
2560	position:absolute;
2561}		</style>
2562		</head>
2563
2564<body class="page-template page-template-pagecells page-template-lyt5f page-template-pagecellslyt5f-php page page-id-48 ctct-pagecells">
2565<a class="skip-link screen-reader-text" href="#content">Skip to content</a>
2566<div id="rw9a" class="layout-item-row alert-bar" ><div id="intelliwidget-16" class=" widget widget_intelliwidget"></div></div><div id="wpr14" class="layout-item-wrapper masthead bg-white" ><div id="rw2_outer" class="top-nav-container px-0 px-lg-3" ><div id="rw2" class="center-page layout-item-row d-flex flex-row" ><div id="top-left-nav" class="layout-item-menu d-none d-lg-block col-lg-4" ><div role="navigation" aria-label="Top Left Menu"  class="menu-top-left-container"><ul id="menu-top-left" class="menu"><li id="menu-item-19614" class="menu-item menu-item-type-custom menu-item-object-custom menu-item-19614"><a href="/admissions/">Apply</a></li>
2567<li id="menu-item-19623" class="menu-item menu-item-type-custom menu-item-object-custom menu-item-19623"><a href="/campus-visits/">Visit CFCC</a></li>
2568<li id="menu-item-17467" class="menu-item menu-item-type-custom menu-item-object-custom menu-item-17467"><a href="https://cfcc.edu/request-information/">Request Information</a></li>
2569</ul></div></div><div id="cnr3e" class="layout-item-container mb-0" > <div class="bg-white text-center p-2 py-lg-0"> <a href="/" aria-label="Cape Fear Community College"> <img src="/wp-content/uploads/2019/06/cfcc-logo.png" height="98" width="271" alt="Cape Fear Community College" class="header-image" /> </a> </div> </div><div id="mn40" class="layout-item-menu d-none d-lg-block col-lg-4" ><div role="navigation" aria-label="Top Right Menu"  class="menu-top-right-container"><ul id="menu-top-right" class="menu"><li id="menu-item-19615" class="menu-item menu-item-type-custom menu-item-object-custom menu-item-19615"><a href="/about/community-services/">Community Services</a></li>
2570<li id="menu-item-19616" class="menu-item menu-item-type-custom menu-item-object-custom menu-item-19616"><a href="https://wilsoncentertickets.com">Wilson Center</a></li>
2571<li id="menu-item-17468" class="menu-item menu-item-type-custom menu-item-object-custom menu-item-17468"><a href="https://cfcc.edu/foundation/">Donate</a></li>
2572</ul></div></div><div id="cnr41" class="layout-item-container d-flex d-lg-none col-2 mb-0 
2572search-toggle-container" > <a href="#" class="toggle-search d-flex iwi-modal-toggle iwi-target-searchbox_mobile iwi-use-overlay" aria-label="Toggle Search"> <span class="iwicon-search"></span> </a> <div id="searchbox_mobile" class="searchbox p-5" style="display:none;">  <div class="searchbox"> <form class="searchform" action="/search/" aria-live="polite" ><!-- 
2573      FIX 1: Add a dedicated error message container.
2574      This container is empty and hidden by default, but has the
2575      ARIA roles needed to announce messages to screen readers.
2576    --><div  class="search-error" role="status" aria-live="polite" style="display: none; color: red; margin-bottom: 10px;">  </div><!-- Your existing search input and hidden fields --><input type="hidden" name="cx" value="004637514235636343015:yhzbsku25vo" autocomplete="off">
2577    <input type="hidden" name="cof" value="FORID:11" autocomplete="off" /><!-- 
2578      The search input field. We need to add aria-describedby
2579      to link it to our new error container.
2580    --><input name="q" class="search-input" type="text" maxlength="256" autocomplete="off" 
2581           title="Search CFCC.edu" placeholder="Search CFCC" 
2582           required />
2583    
2584    <input type="submit" autocomplete="off" class="search-button" name="submit" value="Search" />
2585</form> </div>  </div> </div><div id="cnr42" class="layout-item-container d-flex d-lg-none col-2 mb-0 mobile-toggle-container" > <a href="#" class="d-flex iwi-mobile-toggle iwi-use-overlay iwi-change-trans" data-iwi-clones=".menu-primary-nav-container,.menu-top-left-container,.menu-top-right-container" data-iwi-menus="#menu-primary-nav,#menu-primary-nav-1,#menu-top-right,#menu-top-left" aria-label="Toggle Menus"> <span class="iwicon-menu-lt"></span> </a> </div></div></div><div id="rw12_outer" class="bg-dark" ><div id="rw12" class="center-page layout-item-row d-none d-lg-block" ><div id="mnd" class=" layout-item-menu bg-dark" ><div role="navigation" aria-label="Main Menu"  class="menu-primary-nav-container"><ul id="menu-primary-nav-1" class="primary-nav flex-row d-flex iwi-menu iwi-use-toggles iwi-change-fade iwi-use-hover iwi-menupane-slide"><li class="menu-item menu-item-type-post_type menu-item-object-page menu-item-has-children menu-item-234"><a href="https://cfcc.edu/about/">About CFCC</a>
2586<ul class="sub-menu">
2587	<li class="menu-item menu-item-type-post_type menu-item-object-page menu-item-387"><a href="https://cfcc.edu/about/leadership/">College Leadership</a></li>
2588	<li class="menu-item menu-item-type-custom menu-item-object-custom menu-item-29518"><a href="https://cfcc.edu/directory/">Faculty &#038; Staff Directory</a></li>
2589	<li class="menu-item menu-item-type-post_type menu-item-object-page menu-item-388"><a href="https://cfcc.edu/about/institutional-effectiveness-and-planning/accreditation/">Accreditation</a></li>
2590	<li class="menu-item menu-item-type-post_type menu-item-object-page menu-item-415"><a href="https://cfcc.edu/academic-resources/academic-calendar/">Academic Calendar</a></li>
2591	<li class="menu-item menu-item-type-custom menu-item-object-custom menu-item-17338"><a href="/foundation/">Foundation</a></li>
2592	<li class="menu-item menu-item-type-custom menu-item-object-custom menu-item-17469"><a href="/human-resources/">Jobs at CFCC</a></li>
2593	<li class="menu-item menu-item-type-post_type menu-item-object-page menu-item-has-children menu-item-390"><a href="https://cfcc.edu/about/statements-and-policies/">Statements and Policies</a>
2594	<ul class="sub-menu">
2595		<li class="menu-item menu-item-type-custom menu-item-object-custom menu-item-20570"><a href="/statement-of-non-discrimination">Statement of Non-Discrimination</a></li>
2596		<li class="menu-item menu-item-type-custom menu-item-object-custom menu-item-20571"><a href="/office-of-student-affairs/title-ix-policies/">Title IX Policies</a></li>
2597	</ul>
2598</li>
2599	<li class="menu-item menu-item-type-post_type menu-item-object-page menu-item-392"><a href="https://cfcc.edu/about/contact-us/">Contact Us</a></li>
2600	<li class="menu-item menu-item-type-post_type menu-item-object-page menu-item-41455"><a href="https://cfcc.edu/viewbook/">Viewbook</a></li>
2601	<li class="menu-item menu-item-type-post_type menu-item-object-page menu-item-20516"><a href="https://cfcc.edu/college-catalogs/">Student Catalogs and Handbooks</a></li>
2602	<li class="menu-item menu-item-type-post_type menu-item-object-page menu-item-393"><a href="https://cfcc.edu/about/campus-safety/">Campus Safety</a></li>
2603	<li class="menu-item menu-item-type-post_type menu-item-object-page menu-item-27656"><a href="https://cfcc.edu/heerf-disclosures/">HEERF Disclosures</a></li>
2604	<li class="menu-item menu-item-type-post_type menu-item-object-page menu-item-394"><a href="https://cfcc.edu/about/parking-at-cfcc/">Parking at CFCC</a></li>
2605	<li class="menu-item menu-item-type-custom menu-item-object-custom menu-item-20178"><a href="https://cfcc.edu/rent-event-space/">Request Event Space</a></li>
2606	<li class="menu-item menu-item-type-custom menu-item-object-custom menu-item-20185"><a href="/category/now-at-cape-fear/">News</a></li>
2607	<li class="menu-item menu-item-type-post_type menu-item-object-page menu-item-396"><a href="https://cfcc.edu/about/community-services/">Community Services</a></li>
2608	<li class="menu-item menu-item-type-post_type menu-item-object-page menu-item-397"><a href="https://cfcc.edu/about/maps-locations/">Maps and Locations</a></li>
2609	<li class="menu-item menu-item-type-custom menu-item-object-custom menu-item-22739"><a href="https://cfcc.edu/marketing">Marketing</a></li>
2610	<li class="menu-item menu-item-type-custom menu-item-object-custom menu-item-19621"><a href="https://cfcc.edu/marketing/social-media-cfcc/">Social Media @ CFCC</a></li>
2611	<li class="menu-item menu-item-type-custom menu-item-object-custom menu-item-19622"><a href="/marketing/public-information-requests/">Public Information Requests</a></li>
2612	<li class="menu-item menu-item-type-custom menu-item-object-custom menu-item-31192"><a href="https://cfcc.edu/alumni/">Alumni</a></li>
2613	<li class="menu-item menu-item-type-post_type menu-item-object-page menu-item-38366"><a href="https://cfcc.edu/about/demographics/">Demographics</a></li>
2614</ul>
2615</li>
2616<li class="menu-item menu-item-type-custom menu-item-object-custom menu-item-has-children menu-item-17476"><a href="/admissions/">
2616Admissions</a>
2617<ul class="sub-menu">
2618	<li class="menu-item menu-item-type-custom menu-item-object-custom menu-item-17475"><a href="/admissions/admissions-steps/">Admissions Steps</a></li>
2619	<li class="menu-item menu-item-type-custom menu-item-object-custom menu-item-17473"><a href="/admissions/new-student-orientation/">New Student Orientation</a></li>
2620	<li class="menu-item menu-item-type-custom menu-item-object-custom menu-item-17472"><a href="/testing-services/">Testing Services</a></li>
2621	<li class="menu-item menu-item-type-custom menu-item-object-custom menu-item-20028"><a href="//cfcc.edu/records-registration/register-for-classes/">Registration Information</a></li>
2622	<li class="menu-item menu-item-type-custom menu-item-object-custom menu-item-17474"><a href="/admissions/health-sciences-enrollment/">Health Sciences Admissions</a></li>
2623	<li class="menu-item menu-item-type-custom menu-item-object-custom menu-item-17470"><a href="/paying-for-cfcc/tuition-and-fees/">Tuition and Fees</a></li>
2624	<li class="menu-item menu-item-type-custom menu-item-object-custom menu-item-24646"><a href="https://cfcc.edu/admissions/residency-information/">Residency Information</a></li>
2625	<li class="menu-item menu-item-type-custom menu-item-object-custom menu-item-34687"><a href="https://cfcc.edu/admissions/bienvenidos/">¡Bienvenidos!</a></li>
2626</ul>
2627</li>
2628<li class="menu-item menu-item-type-post_type menu-item-object-page menu-item-has-children menu-item-111"><a href="https://cfcc.edu/academics/">Academics</a>
2629<ul class="sub-menu">
2630	<li class="menu-item menu-item-type-post_type menu-item-object-page menu-item-409"><a href="https://cfcc.edu/academics/programs-of-study/">Programs of Study</a></li>
2631	<li class="menu-item menu-item-type-custom menu-item-object-custom menu-item-19647"><a href="/cape-fear-online">Online Learning</a></li>
2632	<li class="iwi-no-toggle menu-item menu-item-type-custom menu-item-object-custom menu-item-has-children menu-item-19646"><a href="https://cfcc.edu/division/university-transfer/">University Transfer Programs</a>
2633	<ul class="sub-menu">
2634		<li class="menu-item menu-item-type-custom menu-item-object-custom menu-item-20886"><a href="https://cfcc.edu/advising/university-transfer-guide/">University Transfer Guide</a></li>
2635	</ul>
2636</li>
2637	<li class="menu-item menu-item-type-custom menu-item-object-custom menu-item-24422"><a href="https://cfcc.edu/division/nursing-health-sciences/">Health and Human Services Programs</a></li>
2638	<li class="menu-item menu-item-type-custom menu-item-object-custom menu-item-24477"><a href="https://cfcc.edu/division/math-engineering-technology-science/">Math, Engineering, Technology, and Science</a></li>
2639	<li class="menu-item menu-item-type-custom menu-item-object-custom menu-item-40806"><a href="https://cfcc.edu/division/education/">Education</a></li>
2640	<li class="menu-item menu-item-type-custom menu-item-object-custom menu-item-24478"><a href="https://cfcc.edu/division/liberal-arts-languages-social-sciences/">Liberal Arts, Languages, and Social Sciences</a></li>
2641	<li class="menu-item menu-item-type-post_type menu-item-object-page menu-item-42812"><a href="https://cfcc.edu/academics/programs-of-study/aviation-programs/">Aviation Programs</a></li>
2642	<li class="menu-item menu-item-type-custom menu-item-object-custom menu-item-24479"><a href="https://cfcc.edu/division/marine-technology/">Marine Technology</a></li>
2643	<li class="menu-item menu-item-type-custom menu-item-object-custom menu-item-40805"><a href="https://cfcc.edu/division/public-safety/">Public Safety</a></li>
2644	<li class="menu-item menu-item-type-custom menu-item-object-custom menu-item-24480"><a href="https://cfcc.edu/division/education-public-service/">Public Service</a></li>
2645	<li class="menu-item menu-item-type-custom menu-item-object-custom menu-item-24481"><a href="https://cfcc.edu/division/business-information-technology/">Business and Information Technology</a></li>
2646	<li class="menu-item menu-item-type-custom menu-item-object-custom menu-item-24482"><a href="https://cfcc.edu/division/fine-arts-film-design/">Fine Arts, Film, and Design</a></li>
2647	<li class="menu-item menu-item-type-custom menu-item-object-custom menu-item-24483"><a href="https://cfcc.edu/division/vocational-trade/">Career and Technical</a></li>
2648	<li class="menu-item menu-item-type-custom menu-item-object-custom menu-item-has-children menu-item-19652"><a href="/records-registration/register-for-classes/">Register for Classes</a>
2649	<ul class="sub-menu">
2650		<li class="menu-item menu-item-type-custom menu-item-object-custom menu-item-19654"><a href="/records-registration/how-to-register/">How to Register</a></li>
2651	</ul>
2652</li>
2653	<li class="menu-item menu-item-type-custom menu-item-object-custom menu-item-has-children menu-item-33297"><a href="https://cfcc.edu/high-school-students/">For High School Students</a>
2654	<ul class="sub-menu">
2655		<li class="menu-item menu-item-type-taxonomy menu-item-object-linkage menu-item-19868"><a href="https://cfcc.edu/career-and-college-promise">Career and College Promise (Dual Enrollment)</a></li>
2656		<li class="menu-item menu-item-type-custom menu-item-object-custom menu-item-33298"><a href="https://cfcc.edu/division/ccp-workforce-continuing-education-
2656pathways/">Workforce Continuing Education</a></li>
2657		<li class="menu-item menu-item-type-custom menu-item-object-custom menu-item-33299"><a href="https://cfcc.edu/career-and-college-promise/cooperative-innovative-high-schools/">Cooperative Innovative High Schools</a></li>
2658	</ul>
2659</li>
2660	<li class="menu-item menu-item-type-custom menu-item-object-custom menu-item-19655"><a href="/records-registration/request-transcript/">Request a Transcript</a></li>
2661</ul>
2662</li>
2663<li class="menu-item menu-item-type-post_type menu-item-object-page menu-item-has-children menu-item-116"><a href="https://cfcc.edu/services-and-support/">Services &#038; Support</a>
2664<ul class="sub-menu">
2665	<li class="menu-item menu-item-type-custom menu-item-object-custom menu-item-17333"><a href="/counseling/">Counseling</a></li>
2666	<li class="menu-item menu-item-type-custom menu-item-object-custom menu-item-17331"><a href="/advising/">Academic Advising</a></li>
2667	<li class="menu-item menu-item-type-post_type menu-item-object-page menu-item-41063"><a href="https://cfcc.edu/boost/">Boost Program</a></li>
2668	<li class="menu-item menu-item-type-custom menu-item-object-custom menu-item-17332"><a href="/career-services/">Career Services</a></li>
2669	<li class="menu-item menu-item-type-custom menu-item-object-custom menu-item-28442"><a href="https://cfcc.edu/admissions/health-sciences-admissions/">Health Sciences Enrollment Center</a></li>
2670	<li class="menu-item menu-item-type-post_type menu-item-object-page menu-item-427"><a href="https://cfcc.edu/about/parking-at-cfcc/">Parking Services</a></li>
2671	<li class="menu-item menu-item-type-custom menu-item-object-custom menu-item-19591"><a href="/testing-services/">Testing Services</a></li>
2672	<li class="menu-item menu-item-type-custom menu-item-object-custom menu-item-17471"><a href="/records-registration/">Records and Registration</a></li>
2673	<li class="menu-item menu-item-type-taxonomy menu-item-object-linkage menu-item-19662"><a href="https://cfcc.edu/library">Library</a></li>
2674	<li class="menu-item menu-item-type-custom menu-item-object-custom menu-item-17337"><a href="/learning-lab/tutoring/">Tutoring</a></li>
2675	<li class="menu-item menu-item-type-custom menu-item-object-custom menu-item-19661"><a href="/counseling/personal-support/">Personal Support</a></li>
2676	<li class="menu-item menu-item-type-custom menu-item-object-custom menu-item-17336"><a href="/student-accessibility-services/">Student Accessibility Services</a></li>
2677	<li class="menu-item menu-item-type-custom menu-item-object-custom menu-item-19551"><a href="/veterans/">Veterans Center</a></li>
2678	<li class="menu-item menu-item-type-post_type menu-item-object-page menu-item-425"><a href="https://cfcc.edu/about/campus-safety/">Campus Safety</a></li>
2679	<li class="menu-item menu-item-type-taxonomy menu-item-object-linkage menu-item-19663"><a href="https://cfcc.edu/bookstore">Sea Devil Bookstore</a></li>
2680	<li class="menu-item menu-item-type-custom menu-item-object-custom menu-item-19545"><a href="/office-of-student-affairs/">Student Affairs</a></li>
2681	<li class="menu-item menu-item-type-custom menu-item-object-custom menu-item-20329"><a href="https://my.cfcc.edu/web/helpdesk/home">Student Help Desk</a></li>
2682	<li class="menu-item menu-item-type-post_type menu-item-object-page menu-item-20897"><a href="https://cfcc.edu/food-pantry/">CFCC Food Pantry</a></li>
2683	<li class="menu-item menu-item-type-custom menu-item-object-custom menu-item-30108"><a href="https://cfcc.edu/student-life/mentoring-program/">Student Mentoring Program</a></li>
2684	<li class="menu-item menu-item-type-custom menu-item-object-custom menu-item-31699"><a href="https://cfcc.edu/cape-fear-online/online-services/">Canvas Help</a></li>
2685	<li class="menu-item menu-item-type-custom menu-item-object-custom menu-item-32851"><a href="https://cfcc.edu/drop-in-childcare/">Drop-In Childcare</a></li>
2686</ul>
2687</li>
2688<li class="menu-item menu-item-type-post_type menu-item-object-page menu-item-has-children menu-item-114"><a href="https://cfcc.edu/paying-for-cfcc/">Paying For CFCC</a>
2689<ul class="sub-menu">
2690	<li class="menu-item menu-item-type-custom menu-item-object-custom menu-item-17478"><a href="/paying-for-cfcc/tuition-and-fees/">Tuition and Fees</a></li>
2691	<li class="menu-item menu-item-type-post_type menu-item-object-page menu-item-430"><a href="https://cfcc.edu/paying-for-cfcc/pay-your-tuition/">Pay Your Tuition</a></li>
2692	<li class="menu-item menu-item-type-post_type menu-item-object-page menu-item-431"><a href="https://cfcc.edu/paying-for-cfcc/payment-plan/">Payment Plan</a></li>
2693	<li class="iwi-no-toggle menu-item menu-item-type-custom menu-item-object-custom menu-item-has-children menu-item-19535"><a href="/financial-aid/">Financial Aid</a>
2694	<ul class="sub-menu">
2695		<li class="menu-item menu-item-type-custom menu-item-object-custom menu-item-19533"><a href="/foundation/money-for-college/">
2695Scholarships</a></li>
2696		<li class="menu-item menu-item-type-custom menu-item-object-custom menu-item-19534"><a href="/financial-aid/grants/">Grants</a></li>
2697		<li class="menu-item menu-item-type-custom menu-item-object-custom menu-item-19532"><a href="/financial-aid/loans/">Loans</a></li>
2698		<li class="menu-item menu-item-type-custom menu-item-object-custom menu-item-19575"><a href="/financial-aid/federal-work-study/">Work Study</a></li>
2699		<li class="menu-item menu-item-type-custom menu-item-object-custom menu-item-19537"><a href="/financial-aid/financial-aid-forms/">Financial Aid Forms</a></li>
2700		<li class="menu-item menu-item-type-custom menu-item-object-custom menu-item-19548"><a href="/financial-aid/satisfactory-academic-progress-policy-2/">Keeping Your Financial Aid</a></li>
2701		<li class="menu-item menu-item-type-custom menu-item-object-custom menu-item-19664"><a href="/financial-aid/frequently-asked-questions">Frequently Asked Questions</a></li>
2702		<li class="menu-item menu-item-type-custom menu-item-object-custom menu-item-19665"><a href="//cfcc.edu/resources/netprice/">Net Price Calculator</a></li>
2703		<li class="menu-item menu-item-type-custom menu-item-object-custom menu-item-19553"><a href="/financial-aid/important-dates/">Important Dates</a></li>
2704	</ul>
2705</li>
2706	<li class="menu-item menu-item-type-post_type menu-item-object-page menu-item-40782"><a href="https://cfcc.edu/paying-for-cfcc/managing-your-personal-finances/">Managing Your Personal Finances</a></li>
2707</ul>
2708</li>
2709<li class="menu-item menu-item-type-custom menu-item-object-custom menu-item-has-children menu-item-19613"><a href="/continuing-education/">Workforce Development</a>
2710<ul class="sub-menu">
2711	<li class="menu-item menu-item-type-custom menu-item-object-custom menu-item-19626"><a href="/continuing-education/schedule-of-classes/">Schedule of Classes</a></li>
2712	<li class="menu-item menu-item-type-custom menu-item-object-custom menu-item-19598"><a href="/job-training/">Job Training</a></li>
2713	<li class="iwi-no-toggle menu-item menu-item-type-custom menu-item-object-custom menu-item-has-children menu-item-19599"><a href="/business-and-industry-services/">Business and Industry Services</a>
2714	<ul class="sub-menu">
2715		<li class="menu-item menu-item-type-custom menu-item-object-custom menu-item-19944"><a href="//cfcc.edu/business-and-industry-services/corporate-training-workforce-development/">Corporate Training</a></li>
2716		<li class="menu-item menu-item-type-custom menu-item-object-custom menu-item-19600"><a href="/small-business-center/">Small Business Center</a></li>
2717		<li class="menu-item menu-item-type-custom menu-item-object-custom menu-item-22666"><a href="https://cfcc.edu/military-business-center/">NC Military Business Center</a></li>
2718	</ul>
2719</li>
2720	<li class="iwi-no-toggle menu-item menu-item-type-custom menu-item-object-custom menu-item-has-children menu-item-19601"><a href="/academic-career-readiness/">Academic and Career Readiness</a>
2721	<ul class="sub-menu">
2722		<li class="menu-item menu-item-type-custom menu-item-object-custom menu-item-19628"><a href="https://cfcc.edu/academic-career-readiness/adult-high-school/">Adult High School</a></li>
2723		<li class="menu-item menu-item-type-custom menu-item-object-custom menu-item-19630"><a href="/academic-career-readiness/english-as-a-second-language/">English as a Second Language</a></li>
2724		<li class="menu-item menu-item-type-custom menu-item-object-custom menu-item-19935"><a href="//cfcc.edu/academic-career-readiness/high-school-equivalency/">High School Equivalency (GED®)</a></li>
2725		<li class="menu-item menu-item-type-custom menu-item-object-custom menu-item-19627"><a href="/academic-career-readiness/resume-writing-interview-skills/">Resume Writing &#038; Interview Skills</a></li>
2726		<li class="menu-item menu-item-type-custom menu-item-object-custom menu-item-19936"><a href="//cfcc.edu/academic-career-readiness/career-discovery/">Career Discovery</a></li>
2727		<li class="menu-item menu-item-type-custom menu-item-object-custom menu-item-19937"><a href="/academic-career-readiness/integrated-education-and-training/">Integrated Education and Training (IET)</a></li>
2728		<li class="menu-item menu-item-type-custom menu-item-object-custom menu-item-43645"><a href="https://cfcc.edu/academic-career-readiness/bridge-to-independence-program/">Bridge to Independence</a></li>
2729	</ul>
2730</li>
2731	<li class="menu-item menu-item-type-custom menu-item-object-custom menu-item-24061"><a href="https://cfcc.edu/continuing-education/apprenticeship-programs/">Apprenticeships</a></li>
2732	<li class="menu-item menu-item-type-custom menu-item-object-custom menu-item-19602"><a href="/community-enrichment/">Community Enrichment</a></li>
2733	<li class="menu-item menu-item-type-custom menu-item-object-custom menu-item-19605"><a href="/division/public-safety/">Fire, EMS, Law Training</a></li>
2734	<li class="menu-item menu-item-type-custom menu-item-object-custom menu-item-19636"><a href="/continuing-education/online-classes/">Online Classes</a></li>
2735	<li class="menu-item menu-item-type-custom menu-item-object-custom menu-item-19656"><a href="/records-registration/request-transcript/">Request a Transcript</a></li>
2736	<li class="menu-item menu-item-type-custom menu-item-object-custom menu-item-has-children menu-item-25165"><a href="https://cfcc.edu/continuing-education/summer-camps-and-programs/">Summer Camps and Programs</a>
2737	<ul class="sub-menu">
2738		<li class="menu-item menu-item-type-taxonomy menu-item-object-linkage menu-item-19843"><a href="/continuing-education/summer-camps/">Summer Camps</a></li>
2739	</ul>
2740</li>
2741</ul>
2742</li>
2743<li class="menu-item menu-item-type-taxonomy menu-item-object-linkage menu-item-has-children menu-item-19800"><a href="https://cfcc.edu/student-life">Student Life</a>
2744<ul class="sub-menu">
2745	<li class="menu-item menu-item-type-custom menu-item-object-custom menu-item-19474"><a href="https://www.goseadevils.com">Athletics</a></li>
2746	<li class="menu-item menu-item-type-custom menu-item-object-custom menu-item-19803"><a href="/student-life/clubs-organizations/">Student Clubs and Organizations</a></li>
2747	<li class="menu-item menu-item-type-custom menu-item-object-custom menu-item-28384"><a href="https://cfcc.edu/student-life/literary-and-arts-publications/">Literary &#038; Arts Publications</a></li>
2748	<li class="menu-item menu-item-type-post_type menu-item-object-page menu-item-41368"><a href="https://cfcc.edu/paying-for-cfcc/managing-your-personal-finances/">Managing Your Personal Finances</a></li>
2749	<li class="menu-item menu-item-type-custom menu-item-object-custom menu-item-20025"><a href="https://cfcc.edu/student-life/student-life/student-achievement/">Student Achievement</a></li>
2750	<li class="menu-item menu-item-type-taxonomy menu-item-object-linkage menu-item-19802"><a href="https://cfcc.edu/ambassadors">Student Ambassador Program</a></li>
2751	<li class="menu-item menu-item-type-custom menu-item-object-custom menu-item-20801"><a href="/student-life/student-government-association/">Student Government Association</a></li>
2752	<li class="menu-item menu-item-type-custom menu-item-object-custom menu-item-19977"><a href="//cfcc.edu/honors-program/honors-experience/">Honors Experience</a></li>
2753	<li class="menu-item menu-item-type-taxonomy menu-item-object-linkage menu-item-19799"><a href="https://cfcc.edu/graduation">Graduation</a></li>
2754</ul>
2755</li>
2756<li class="menu-item menu-item-type-custom menu-item-object-custom menu-item-20195"><a href="https://my.cfcc.edu/">myCFCC</a></li>
2757<li class="search-toggle iwi-target-searchbox d-none d-lg-block iwi-nohover menu-item menu-item-type-post_type menu-item-object-page current-menu-item page_item page-item-48 current_page_item menu-item-115"><a href="https://cfcc.edu/search/" aria-current="page">Search</a></li>
2758</ul></div></div><ul id="searchbox" class="layout-item-container searchbox sub-menu" ><li class="" ><div class="searchbox">
2759<form class="searchform" action="/search/" aria-live="polite" >
2760    
2761    <!-- 
2762      FIX 1: Add a dedicated error message container.
2763      This container is empty and hidden by default, but has the
2764      ARIA roles needed to announce messages to screen readers.
2765    -->
2766 <div  class="search-error" role="status" aria-live="polite" style="display: none; color: red; margin-bottom: 10px;">
2767    </div>
2768
2769    <!-- Your existing search input and hidden fields -->
2770    <input type="hidden" name="cx" value="004637514235636343015:yhzbsku25vo" autocomplete="off">
2771    <input type="hidden" name="cof" value="FORID:11" autocomplete="off" />
2772    
2773    <!-- 
2774      The search input field. We need to add aria-describedby
2775      to link it to our new error container.
2776    -->
2777    <input name="q" class="search-input" type="text" maxlength="256" autocomplete="off" 
2778           title="Search CFCC.edu" placeholder="Search CFCC" 
2779           required />
2780    
2781    <input type="submit" autocomplete="off" class="search-button" name="submit" value="Search" />
2782</form>
2783</div>
2784</li></ul></div></div></div><div id="rw85" class="layout-item-row bg-highlight bar-narrow" ></div><div id="content" class="row center-page px-3 px-md-4 layout-item-row content-main flex-wrap" ><div id="cnr62" class="layout-item-container col-lg-8" ><nav aria-label="Breadcrumb"><ul class="breadcrumb-links"><li><a href="https://cfcc.edu">Home</a> </li><li aria-hidden="true" class="breadcrumb-delimiter">/</li><li>   <span class="breadcrumb-current" aria-current="page">Search</span></li></ul></nav><div id="post-48" class="post-48 page type-page status-publish hentry  post-seq-1 odd clearfix"><h1 class=" post-title" >Search</h1><!--[searchbox] <div id="cse-search-results">  </div> 
2784<script type="text/javascript">var googleSearchIframeName="cse-search-results",googleSearchFormName="cse-search-box",googleSearchFrameWidth=700,googleSearchDomain="www.google.com",googleSearchPath="/cse";</script>
2784<script type="text/javascript" src="https://www.google.com/afsonline/show_afs_search.js"></script>
2784-->
2785<!--
2786<script async src="https://cse.google.com/cse.js?cx=004637514235636343015:yhzbsku25vo"></script>
2786 <div class="gcse-search">  </div> -->
2787<p>
2787<script async src="https://cse.google.com/cse.js?cx=7205f529defe145d9">
2788</script>
2788</p> <div class="gcse-search">  </div> </div></div><div id="cnr68" class="layout-item-container col-lg-4 sidebar pl-5 mt-4" ><div id="wgt69" class="layout-item-widget sticky-sidebar" ><div id="intelliwidget-11" class=" widget-container widget_intelliwidget"><div class="row"><div class="col-6"><a class="button btn-plain" href="/campus-visits/">Plan a Visit</a></div>
2789<div class="col-6"><a class="button btn-plain" href="https://cfcc.edu/request-information/">Get Info</a></div>
2790<div class="col-12"><div class="bg-med bg-grid text-center p-3"><h2 class="text-hand text-white h3">What are you waiting for?</h2> <a class="button btn-rev" href="/admissions/apply"><span class="text-highlight">Apply</span> Now</a></div></div></div>
2791</div></div></div></div><div id="cnr6b" class="layout-item-container" ><div id="wgt6d" class="layout-item-widget" ></div></div><div id="rwf_outer" class="colophon bg-dark" ><div id="rwf" class="flex-row d-flex flex-wrap center-page px-3 px-md-4 layout-item-row justify-content-between" ><div id="cnr45" class="layout-item-container" > <a href="/" aria-label="Cape Fear Community College"> <img src="/wp-content/uploads/2019/06/cfcc-logo-rev.png" height="98" width="271" alt="Cape Fear Community College" /> </a> <h3 class="widget-title" style="padding-left:1.8em"> <a href="tel:9103627000"> (910) 362-7000 </a> </h3></div><div id="cnr46" class="layout-item-container" ><h3 class="widget-title">Online Services:</h3><div id="mn4a" class="layout-item-menu" ><div role="navigation" aria-label="Online Services Menu"  class="menu-online-services-container"><ul id="menu-online-services" class="menu"><li id="menu-item-17450" class="menu-item menu-item-type-custom menu-item-object-custom menu-item-17450"><a href="https://my.cfcc.edu">myCFCC</a></li>
2792<li id="menu-item-17451" class="menu-item menu-item-type-custom menu-item-object-custom menu-item-17451"><a href="https://cfcc.instructure.com/">Canvas</a></li>
2793<li id="menu-item-17452" class="menu-item menu-item-type-custom menu-item-object-custom menu-item-17452"><a href="https://sso.quicklaunch.io/admin/secured/991/api/launch/4267">Self Service</a></li>
2794<li id="menu-item-20076" class="menu-item menu-item-type-taxonomy menu-item-object-linkage menu-item-20076"><a href="https://cfcc.edu/bookstore">Bookstore</a></li>
2795<li id="menu-item-37322" class="menu-item menu-item-type-post_type menu-item-object-page menu-item-37322"><a href="https://cfcc.edu/sitemap/">Sitemap</a></li>
2796</ul></div></div></div><div id="cnr47" class="layout-item-container" ><h3 class="widget-title">Quick Links:</h3><div id="mn4b" class="layout-item-menu" ><div role="navigation" aria-label="Quick Links Menu"  class="menu-quick-links-container"><ul id="menu-quick-links" class="menu"><li id="menu-item-17453" class="menu-item menu-item-type-custom menu-item-object-custom menu-item-17453"><a href="//cfcc.edu/human-resources/">Jobs at CFCC</a></li>
2797<li id="menu-item-30546" class="menu-item menu-item-type-custom menu-item-object-custom menu-item-30546"><a href="https://cfcc.edu/about/events/">Events Calendar</a></li>
2798<li id="menu-item-20074" class="menu-item menu-item-type-custom menu-item-object-custom menu-item-20074"><a href="//cfcc.edu/disability-support-services/website-accessibility/">Accessibility</a></li>
2799<li id="menu-item-252" class="menu-item menu-item-type-post_type menu-item-object-page menu-item-252"><a href="https://cfcc.edu/about/statements-and-policies/">Statements &#038; Policies</a></li>
2800<li id="menu-item-33861" class="menu-item menu-item-type-custom menu-item-object-custom menu-item-33861"><a href="https://cfcc.edu/office-of-student-affairs/">Title IX</a></li>
2801<li id="menu-item-38403" class="menu-item menu-item-type-post_type menu-item-object-page menu-item-38403"><a href="https://cfcc.edu/about/consumer-information/">Consumer Information</a></li>
2802<li id="menu-item-44578" class="menu-item menu-item-type-custom menu-item-object-custom menu-item-44578"><a href="https://cfcc.edu/office-of-student-affairs/incident-reporting-form/">Report an Incident</a></li>
2803</ul></div></div></div><div id="cnr48" class="layout-item-container" ><h3 class="widget-title">Get In Touch:</h3><div id="mn4c" class="layout-item-menu" ><div role="navigation" aria-label="Get In Touch Menu"  class="menu-get
2803-in-touch-container"><ul id="menu-get-in-touch" class="menu"><li id="menu-item-134" class="menu-item menu-item-type-post_type menu-item-object-page menu-item-134"><a href="https://cfcc.edu/about/contact-us/">Contact</a></li>
2804<li id="menu-item-243" class="menu-item menu-item-type-post_type menu-item-object-page menu-item-243"><a href="https://cfcc.edu/about/maps-locations/">Maps &#038; Locations</a></li>
2805<li id="menu-item-241" class="menu-item menu-item-type-post_type menu-item-object-page menu-item-241"><a href="https://cfcc.edu/about/campus-safety/">Campus Safety</a></li>
2806<li id="menu-item-17082" class="menu-item menu-item-type-custom menu-item-object-custom menu-item-17082"><a href="/directory/">Faculty &#038; Staff Directory</a></li>
2807</ul></div></div></div></div></div><div id="rw6_outer" class="footer bg-med" ><div id="rw6" class="flex-row d-flex flex-wrap center-page px-3 px-md-4 layout-item-row justify-content-between" > <div class="d text-center"> <span class="nowrap">&copy2026 Cape Fear Community College</span> </div>  <div class="d text-center"> <span class="nowrap"> <a href="https://cfcc.edu/counseling/#lifeline" class="link"> Suicide and Crisis Lifeline </a> </span> &nbsp; <span class="nowrap"> <a href="/statement-of-non-discrimination" class="link"> Statement of Non-discrimination </a> </span> &nbsp; <span class="nowrap"> <a href="/about/statements-and-policies/privacy-policy/" class="link"> Privacy Statement </a> </span><br><span class="nowrap">Closings & Delays: <a href="tel:8777992322"> 1-877-799-2322 </a> </span> &nbsp; <span class="nowrap"> <a href="https://cfcc.edu/web-accessibility-policy/" target="_blank" rel="noopener noreferrer" class="link"> Web Accessibility Policy <span class="visually-hidden">(opens in a new tab)</span> </a> </span> </div>  <div class="d text-center"> <ul class="nowrap social-media-list" style="list-style: none; padding: 0; margin: 0; display: inline-flex; gap: 10px;">
2808    <li> <a href="https://www.facebook.com/capefearcc" target="_blank" aria-label="Facebook (opens in new tab)" rel="noopener noreferrer" class="iwicon-facebook">  </a> </li>
2809    <li> <a href="https://www.tiktok.com/@capefearcc" target="_blank" aria-label="TikTok (opens in new tab)" rel="noopener noreferrer" class="sicon-tiktok" style="padding-left:0px;">  </a> </li>
2810    <li> <a href="https://www.youtube.com/cfccnc" target="_blank" aria-label="YouTube (opens in new tab)" rel="noopener noreferrer" class="iwicon-youtube">  </a> </li>
2811    <li> <a href="https://www.linkedin.com/school/cape-fear-community-college" target="_blank" aria-label="LinkedIn (opens in new tab)" rel="noopener noreferrer" class="sicon-linkedin">  </a> </li>
2812    <li> <a href="https://www.instagram.com/capefearcc" target="_blank" aria-label="Instagram (opens in new tab)" rel="noopener noreferrer" class="iwicon-instagram">  </a> </li>
2813</ul> </div> </div></div><div id="glt-translate-trigger"><span class="notranslate">Translate »</span></div><div id="glt-toolbar"></div><div id="flags" style="display:none" class="size18"><ul id="sortable" class="ui-sortable"><li id="English"><a href="#" title="English" class="nturl notranslate en flag united-states"></a></li><li id="French"><a href="#" title="French" class="nturl notranslate fr flag French"></a></li><li id="Korean"><a href="#" title="Korean" class="nturl notranslate ko flag Korean"></a></li><li id="Portuguese"><a href="#" title="Portuguese" class="nturl notranslate pt flag Portuguese"></a></li><li id="Russian"><a href="#" title="Russian" class="nturl notranslate ru flag Russian"></a></li><li id="Spanish"><a href="#" title="Spanish" class="nturl notranslate es flag mexico"></a></li><li id="Vietnamese"><a href="#" title="Vietnamese" class="nturl notranslate vi flag Vietnamese"></a></li></ul></div><div id='glt-footer'><div id="google_language_translator" class="default-language-en"></div></div>
2813<script>function GoogleLanguageTranslatorInit() { new google.translate.TranslateElement({pageLanguage: 'en', includedLanguages:'en,fr,ko,pt,ru,es,vi', autoDisplay: false}, 'google_language_translator');}</script>
2813	 
2813<script src="https://js.adsrvr.org/up_loader.1.1.0.js" type="text/javascript"></script>
2813
2814        
2814<script type="text/javascript">
2815            ttd_dom_ready( function() {
2816                if (typeof TTDUniversalPixelApi === 'function') {
2817                    var universalPixelApi = new TTDUniversalPixelApi();
2818                    universalPixelApi.init("l19yiob", ["iqobvoe"], "https://insight.adsrvr.org/track/up");
2819                }
2820            });
2821        </script>
2821<!-- Instagram Feed JS -->
2822<script type="text/javascript">
2823var sbiajaxurl = "https://cfcc.edu/wp-admin/admin-ajax.php";
2824</script>
2824
2825<!-- Google Tag Manager (noscript) -->
vendor: 68 bytes, lines 2825-2826
2825
2826<noscript><iframe src="https://www.googletagmanager.com/ns.html?id=
2826GTM-TNX265N8
vendor: 83 bytes, lines 2826-2827
2826"
2827height="0" width="0" style="display:none;visibility:hidden"></iframe></noscript>
2828<!-- End Google Tag Manager (noscript) -->
2829<script type="text/javascript">
2830/* =========================================================
2831   CHATBOTS (ELEMENT451 & BOLT AI) - ADA FIX (WCAG 1.3.1)
2832   ========================================================= */
2833window.addEventListener('DOMContentLoaded', (event) => {
2834    // Create an observer to constantly watch the DOM for injected widgets
2835    const chatObserver = new MutationObserver(function(mutations, observer) {
2836        
2837        // --- 1. ELEMENT451 CHATBOT FIX ---
2838        const elementIframe = document.querySelector('#messenger-root iframe');
2839        if (elementIframe && elementIframe.getAttribute('role') === 'dialog') {
2840            elementIframe.removeAttribute('role'); // Strip bad role
2841            
2842            const elementRoot = document.getElementById('messenger-root');
2843            if (elementRoot) {
2844                elementRoot.setAttribute('role', 'dialog');
2845                elementRoot.setAttribute('aria-label', 'Live Chat Window');
2846            }
2847            elementIframe.setAttribute('title', 'Live Chat Assistant');
2848        }
2849
2850        // --- 2. BOLT DISCOVERY AI FIX ---
2851        const boltIframe = document.querySelector('iframe[src*="discoveredu.ai"]');
2852        if (boltIframe && boltIframe.getAttribute('role') === 'dialog') {
2853            boltIframe.removeAttribute('role'); // Strip bad role
2854            
2855            // Move the role and label to whatever container Bolt injected it into
2856            const boltRoot = boltIframe.parentElement;
2857            if (boltRoot) {
2858                boltRoot.setAttribute('role', 'dialog');
2859                boltRoot.setAttribute('aria-label', 'Bolt AI Assistant');
2860            }
2861        }
2862    });
2863
2864    // Start watching the entire body for these injected scripts
2865    chatObserver.observe(document.body, { childList: true, subtree: true });
2866});
2867/* =========================================================
2868   VAGUE LINKS & CONTACT - ADA CONTEXT FIX (WCAG 2.4.4)
2869   - 1. Checks for a title="" attribute on the link or sibling links
2870   - 2. Uses Local Post Title (H2/H3/H4)
2871   - 3. Falls back to H1 (Page Topic) for global context
2872   - EXCLUDES main navigation wrapper (#wpr14) to protect global links
2873   ========================================================= */
2874window.addEventListener('DOMContentLoaded', (event) => {
2875    // 1. The vague buttons we are hunting
2876    const vaguePhrases = ['here', 'click here', 'learn more', 'read more', 'find out more', 'details', 'view details', 'read full profile', 'contact us', 'contact', 'apply now'];
2877
2878    // 2. Grab the main Page Title (H1) for global fallback
2879    const h1Element = document.querySelector('h1');
2880    const pageContext = h1Element 
2881        ? h1Element.textContent.replace(/\s+/g, ' ').trim() 
2882        : document.title.split('|')[0].trim();
2883
2884    // 3. Grab every single link on the page that doesn't already have an aria-label
2885    const allLinks = document.querySelectorAll('a:not([aria-label])');
2886
2887    allLinks.forEach(link => {
2888        
2889        // --- THE MAIN NAVIGATION SHIELD ---
2890        const isInMainNav = link.closest('#wpr14');
2891        const isSearchLink = link.classList.contains('toggle-search') || 
2892                             link.classList.contains('search-toggle') || 
2893                             link.closest('.searchbox');
2894
2895        if (isInMainNav && !isSearchLink) {
2896            return; 
2897        }
2898        // -----------------------------------
2899
2900        const linkTextClean = link.textContent.replace(/\s+/g, ' ').trim().toLowerCase();
2901
2902        // 4. If the link text matches one of our vague phrases...
2903        if (vaguePhrases.includes(linkTextClean)) {
2904            const originalText = link.textContent.replace(/\s+/g, ' ').trim();
2905            let finalContext = ''; 
2906            
2907            // STRATEGY 1: Check the link itself for a title attribute
2908            if (link.hasAttribute('title')) {
2909                finalContext = link.getAttribute('title').trim();
2910            }
2911
2912            // Find the container block for Strategies 2 and 3
2913            const container = link.closest('.cell, .cell2, article, .post, .widget, .elementor-widget, .col-md-6, .col-md-4, .directory-item');
2914            
2915            // STRATEGY 2: Look for ANY title attribute in the same post block (e.g., thumbnail links)
2916            if (!finalContext && container) {
2917                const titleLink = container.querySelector('a[title]');
2918                if (titleLink) {
2919                    finalContext = titleLink.getAttribute('title').trim();
2920                }
2921            }
2922
2923            // STRATEGY 3: Fallback to the local heading text
2924            if (!finalContext && container) {
2925                const localHeading = container.querySelector('h2, h3, h4, h5');
2926                if (localHeading) {
2927                    finalContext = localHeading.textContent.replace(/\s+/g, ' ').trim();
2928                }
2929            }
2930            
2931            // STRATEGY 4: Absolute fallback to global page title
2932            if (!finalContext) {
2933                finalContext = pageContext;
2934            }
2935
2936            // CLEANUP: Strip out annoying WordPress "Permalink to" text if it exists
2937            finalContext = finalContext.replace(/^Permalink to /i, '').trim();
2938
2939            if (finalContext) {
2940                // If the title attribute already includes the words "Read more", just use it as-is 
2941                // to prevent "Read more about Read more..."
2942                if (finalContext.toLowerCase().includes(linkTextClean)) {
2943                     link.setAttribute('aria-label', finalContext);
2944                } else {
2945                     link.setAttribute('aria-label', `${originalText} about ${finalContext}`);
2946                }
2947            }
2948        }
2949    });
2950});
2951
2952</script>
2952<script type='text/javascript' src='https://cfcc.edu/wp-content/plugins/intelliwidget-framework/js/iw.flexslider.js?ver=2.2.0' id='flexslider-js-js'></script>
vendor: 1 bytes, line 2952
2952
2953<script type='text/javascript' src='https://cfcc.edu/wp-content/plugins/intelliwidget-framework/js/iwinterface.js?ver=2.2.0' id='iwinterface-js'></script>
vendor: 1 bytes, line 2953
2953
2954<script type='text/javascript' src='https://cfcc.edu/wp-content/plugins/intelliwidget-framework/js/iwcarousel.js?ver=2.2.0' id='iwcarousel-js'></script>
vendor: 1 bytes, line 2954
2954
2955<script type='text/javascript' src='https://cfcc.edu/wp-content/plugins/intelliwidget-framework/js/pagecells.js?ver=2.2.0' id='pagecells-js-js'></script>
vendor: 1 bytes, line 2955
2955
2956<script type='text/javascript' src='https://cfcc.edu/wp-content/plugins/google-language-translator/js/scripts.js?ver=6.0.19' id='scripts-js'></script>
vendor: 1 bytes, line 2956
2956
2957<script type='text/javascript' src='//translate.google.com/translate_a/element.js?cb=GoogleLanguageTranslatorInit' id='scripts-google-js'></script>
vendor: 1 bytes, line 2957
2957
2958<script type='text/javascript' src='https://cfcc.edu/wp-content/plugins/constant-contact-forms/assets/js/ctct-plugin-recaptcha-v2.min.js?ver=1.14.0' id='recaptcha-v2-js'></script>
vendor: 187 bytes, lines 2958-2959
2958
2959<script async="async" defer type='text/javascript' src='//www.google.com/recaptcha/api.js?onload=renderReCaptcha&#038;render=explicit&#038;ver=1.14.0' id='recaptcha-lib-v2-js'></script>
2960<script type='text/javascript' src='https://cfcc.edu/wp-content/plugins/constant-contact-forms/assets/js/ctct-plugin-frontend.min.js?ver=1.14.0' id='ctct_frontend_forms-js'></script>
2960
2961<style>
2962    /* 1. ACCESSIBILITY: Visible Focus Indicators */
2963    .iwi-tabs a:focus,
2964    .iwi-control:focus,
2965    .iwi-tab-control:focus,
2966    .iwi-mobile-toggle:focus,
2967    .iwi-accordion-control:focus,
2968    .intelliwidget-menu-title a:focus,
2969    .intelliwidget-menu-item a:focus {
2970        outline: 3px solid #046b7d !important; 
2971        outline-offset: 2px !important;
2972        box-shadow: 0 0 0 3px #ffc107 !important; 
2973        border-radius: inherit !important; 
2974    }
2975</style>
2976
2977<script>
2978( function( $ ){
2979    /**
2980     * SYNC ARIA: Fixes the "Empty Button" issue flagged by Silktide.
2981     * Targets both the container spans and the actual <button> tags.
2982     */
2983    function syncAria() {
2984        $( '.iwi-control, .iwi-menu-control' ).each( function() {
2985            var $el = $(this);
2986            var isButton = $el.is('button');
2987            var $link = isButton ? $el : $el.find('a').first();
2988            
2989            if ( $link.length ) {
2990                // 1. Assign Role (if not already a button)
2991                if (!isButton) {
2992                    $link.attr( 'role', 'button' );
2993                }
2994                
2995                // 2. DISCERNIBLE NAME FIX: Hunt for context
2996                var txt = $link.text().trim();
2997                
2998                // If the element is empty (like the button you found), 
2999                // look at the sibling or parent text to see what it toggles.
3000                if ( !txt ) {
3001                    // Try to find the nearest menu text in the same list item
3002                    var $parentLi = $el.closest('li');
3003                    txt = $parentLi.find('.intelliwidget-menu-title').first().text().trim() || 
3004                          $parentLi.find('> a').first().text().trim();
3005                }
3006
3007                var labelText = ( txt ) ? 'Toggle ' + txt + ' submenu' : 'Toggle submenu';
3008                
3009                // Force the aria-label so Silktide sees a "name" for the button
3010                if ( !$link.attr('aria-label') ) {
3011                    $link.attr('aria-label', labelText);
3012                }
3013
3014                // 3. CLEANUP (CRITICAL)
3015                // If $el was a container for a link, strip the container attributes 
3016                // so Silktide doesn't think there are TWO buttons.
3017                if (!isButton) {
3018                    $el.removeAttr('aria-expanded').removeAttr('role');
3019                }
3020            }
3021        });
3022    }
3023
3024    function init(){
3025        // Original Menu Initialization
3026        $( '.iwi-menu' ).each( function( ndx, el ){
3027            var id = el.getAttribute( 'id' );
3028            $( el ).iwinterface( { aria: 'menu', activeclass: 'open', bodyclass: 'undefined' === id ? false : id + '-open', overlayclass: 'iwi-overlay-scroll' } );
3029        } );
3030        
3031        $( '.iwi-accordion' ).iwinterface( { change: 'slide', activeclass: 'open', speed: 'fast', aria: 'accordion' } );
3032        $( '.iwi-tabs' ).iwinterface( { change: 'display', activeclass: 'open', aria: 'tab' } );
3033        
3034        $( '.iwi-mobile-toggle' ).iwinterface( { aria: 'pane', change: 'class' } );
3035        $( '.iwi-modal-toggle' ).iwinterface( { aria: 'modal', change: 'fade', dismiss: true, activatecb: ( 'function' === typeof iwmodalcb ? iwmodalcb : null ) } );
3036        
3037        // Final Sync
3038        syncAria();
3039        setTimeout( syncAria, 500 );
3040        setTimeout( syncAria, 2000 );
3041        
3042        $( 'body' ).removeClass( 'iwi-loading' );
3043    }
3044
3045    $( document ).ready( init );
3046    window.addEventListener('load', syncAria);
3047
3048})( jQuery );
3049</script>
3049
3050<!-- start Simple Custom CSS and JS -->
3051<script type="text/javascript">
3052window.addEventListener("load", function() {
3053  var jobsDataSelect = document.getElementById("jobData-select");
3054  var jobsDataPanes  = document.querySelectorAll("#iframe-wrapper .jobData-iframe");
3055  if (!jobsDataSelect || !jobsDataPanes.length) return;
3056  function showSelected() {
3057    var code = jobsDataSelect.value;
3058    jobsDataPanes.forEach(function(p) {
3059      p.style.display = (p.getAttribute("data-code") === code) ? "block" : "none";
3060    });
3061  }
3062  jobsDataSelect.addEventListener("change", showSelected);
3063  showSelected();
3064});</script>
3064
3065<!-- end Simple Custom CSS and JS -->
3066<!-- start Simple Custom CSS and JS -->
3067<script type="text/javascript">
3068window.addEventListener("load", function () {
3069    const filters = document.querySelectorAll("[data-filter]");
3070    const keywordInput = document.getElementById("keyword-search");
3071	const resetButton = document.getElementById("reset-filters");
3072
3073    if (filters.length === 0 && !keywordInput) {
3074        return;
3075    }
3076
3077    const filterItems = document.querySelectorAll(".filter-item");
3078
3079    function filterItemsFunction() {
3080        var activeFilters = {};
3081        var keywordValue = keywordInput ? keywordInput.value.trim().toLowerCase() : "";
3082
3083        //console.log("Applying filters...");
3084        //console.log("Keyword Filter Value:", keywordValue);
3085
3086        // Collect active filters
3087        filters.forEach(filter => {
3088            const filterKey = filter.dataset.filter;
3089
3090            if (filter.type === "checkbox") {
3091                const checkedBoxes = document.querySelectorAll(`[data-filter="${filterKey}"]:checked`);
3092                const checkedValues = Array.from(checkedBoxes).map(cb => cb.value);
3093                if (checkedValues.length > 0) {
3094                    activeFilters[filterKey] = checkedValues;
3095                }
3096            } else if (filter.type === "range" || filter.type === "number") {
3097                const numValue = parseFloat(filter.value);
3098                if (!isNaN(numValue)) {
3099                    activeFilters[filterKey] = numValue;
3100                }
3101            } else {
3102                const textValue = filter.value.trim();
3103                if (textValue !== "") {
3104                    activeFilters[filterKey] = textValue;
3105                }
3106            }
3107        });
3108
3109        filterItems.forEach(item => {
3110            var isVisible = true;
3111            var matchesFilters = true;
3112            var itemText = item.textContent.trim().toLowerCase();
3113
3114            //console.log(`\nChecking item: "${item.textContent.trim()}"`);
3115
3116            // Apply keyword filtering (partial match)
3117            if (keywordValue !== "" && !itemText.includes(keywordValue)) {
3118                //console.log("  - Matches Keyword? ❌ No");
3119                isVisible = false;
3120            } else {
3121                //console.log("  - Matches Keyword? ✅ Yes");
3122            }
3123
3124            // Apply other filters
3125            for (const [filterType, filterValues] of Object.entries(activeFilters)) {
3126                const datasetKey = `filter${filterType.charAt(0).toUpperCase() + filterType.slice(1)}`;
3127                let itemValue = item.getAttribute(`data-${datasetKey.replace(/([A-Z])/g, "-$1").toLowerCase()}`);
3128
3129                // 🚨 Fix: Skip this filter check if the item does NOT have this data attribute
3130                if (itemValue === null) {
3131                    //console.log(`  - Skipping filter "${filterType}" (Not Found in Item)`);
3132                    continue;
3133                }
3134
3135                itemValue = itemValue.trim();
3136                //console.log(`  - Checking filter "${filterType}" with item value: "${itemValue}"`);
3137
3138                if (!itemValue) {
3139                    matchesFilters = false;
3140                    break;
3141                }
3142
3143                if (Array.isArray(filterValues)) {
3144                    const itemValuesArray = itemValue.split(",").map(val => val.trim());
3145                    if (!filterValues.some(value => itemValuesArray.includes(value))) {
3146                        matchesFilters = false;
3147                        break;
3148                    }
3149                } else if (typeof filterValues === "number") {
3150                    const numericValue = parseFloat(itemValue) || 0;
3151                    if (numericValue > filterValues) {
3152                        matchesFilters = false;
3153                        break;
3154                    }
3155                } else {
3156                    const itemValuesArray = itemValue.split(",").map(val => val.trim());
3157                    if (!itemValuesArray.includes(filterValues)) {
3158                        matchesFilters = false;
3159                        break;
3160                    }
3161                }
3162            }
3163
3164            // Final visibility decision
3165            isVisible = isVisible && matchesFilters;
3166
3167            //console.log(`  - Matches Filters? ${matchesFilters ? "✅ Yes" : "❌ No"}`);
3168            //console.log(`  - Final Visibility: ${isVisible ? "✅ Show" : "❌ Hide"}`);
3169
3170            // Show/hide items
3171            if (isVisible) {
3172                item.style.display = "flex";
3173                requestAnimationFrame(() => {
3174                    item.classList.remove("hidden-item");
3175                });
3176            } else {
3177                item.classList.add("hidden-item");
3178                item.addEventListener("transitionend", function hideItem() {
3179                    if (item.classList.contains("hidden-item")) {
3180                        item.style.display = "none";
3181                    }
3182                    item.removeEventListener("transitionend", hideItem);
3183                });
3184            }
3185        });
3186    }
3187
3188    filters.forEach(filter => {
3189        filter.addEventListener("change", filterItemsFunction);
3190        filter.addEventListener("input", filterItemsFunction);
3191        filter.addEventListener("touchend", filterItemsFunction);
3192    });
3193
3194    if (keywordInput) {
3195        keywordInput.addEventListener("input", filterItemsFunction);
3196    }
3197	
3198	    // 🚀 Reset Filters Function
3199    function resetFilters() {
3200        keywordInput.value = ""; // Clear text input
3201        filters.forEach(filter => {
3202            if (filter.type === "checkbox" || filter.type === "radio") {
3203                filter.checked = false; // Uncheck checkboxes/radios
3204            } else if (filter.type === "range" || filter.type === "number") {
3205                filter.value = filter.defaultValue; // Reset number/range to default
3206            } else {
3207                filter.value = ""; // Reset text and select inputs
3208            }
3209        });
3210        filterItemsFunction(); // Reapply filtering after reset
3211    }
3212
3213    // 🚀 Add Event Listener for Reset Button
3214	if (resetButton) {
3215		resetButton.addEventListener("click", function (event) {
3216			event.preventDefault(); // Prevents page jump
3217			resetFilters(); // Calls the reset function
3218		});
3219	}
3220
3221
3222    filterItemsFunction();
3223});
3224</script>
3224
3225<!-- end Simple Custom CSS and JS -->
3226    
3226<script type="text/javascript">
3227    (function($) {
3228        
3229        // 1. Define the Tagger Function
3230        function runLinkAutoTagger() {
3231            $('a').each(function() {
3232                var $link = $(this);
3233                var href = $link.attr('href');
3234                var target = $link.attr('target');
3235                
3236                // Safety Checks: Skip anchors, JS, or empty links
3237                if (!href || href.indexOf('#') === 0 || href.indexOf('javascript') === 0) return;
3238
3239                // Get current accessible label (Prioritize aria-label, fallback to text)
3240                var currentLabel = $link.attr('aria-label') || $link.text().trim();
3241                
3242                // If the link has no text (e.g. an icon with no label), skip it to avoid breaking layout
3243                if (!currentLabel) return;
3244
3245                var newLabel = currentLabel;
3246                var modified = false;
3247
3248                // CHECK A: Is it External? (Doesn't contain 'cfcc.edu')
3249                // We check the hostname property for accuracy
3250                if (this.hostname && this.hostname.indexOf('cfcc.edu') === -1) {
3251                    // Only add if not already present
3252                    if (newLabel.indexOf('external') === -1) {
3253                        newLabel += ' (external link)';
3254                        modified = true;
3255                    }
3256                }
3257
3258                // CHECK B: Does it open in a new tab?
3259                if (target === '_blank') {
3260                    // Only add if not already present
3261                    if (newLabel.indexOf('new tab') === -1) {
3262                        newLabel += ' (opens in new tab)';
3263                        modified = true;
3264                    }
3265                }
3266
3267                // APPLY: Update the aria-label if we made changes
3268                if (modified) {
3269                    $link.attr('aria-label', newLabel);
3270                }
3271            });
3272        }
3273
3274        // 2. RUN IMMEDIATELY (Catches 90% of links)
3275        $(document).ready(function() {
3276            runLinkAutoTagger();
3277        });
3278
3279        // 3. RUN DELAYED (Catches the "Slipping Through" Widget Links)
3280        $(window).on('load', function() {
3281            setTimeout(function() {
3282                // Run it again to catch anything that loaded late (tabs, popups)
3283                runLinkAutoTagger();
3284            }, 2000); // 2 second delay
3285        });
3286
3287    })(jQuery);
3288    </script>
3288
3289        
3289<script type="text/javascript">
3290    (function($) {
3291        $(document).ready(function() {
3292            // 1. Listen for clicks on the "Skip to Content" link
3293            $('.skip-link, a[href*="#content"], a[href*="#main"]').on('click', function(event) {
3294                
3295                // 2. Find the target element based on the link's hash (e.g., #content)
3296                var targetId = this.hash;
3297                var $target = $(targetId);
3298
3299                // 3. Check if the target exists
3300                if ($target.length) {
3301                    // 4. Temporarily give it focus power (tabindex="-1")
3302                    // We only do this to the ONE element we are skipping to.
3303                    if (!$target.attr('tabindex')) {
3304                        $target.attr('tabindex', '-1');
3305                        
3306                        // Optional: Clean up the tabindex after the user moves away
3307                        // so your DOM stays clean.
3308                        $target.one('blur focusout', function() {
3309                            $(this).removeAttr('tabindex');
3310                        });
3311                    }
3312
3313                    // 5. Force the browser to move focus NOW
3314                    $target.focus();
3315                }
3316            });
3317        });
3318    })(jQuery);
3319    </script>
3319
3320        
3320<script type="text/javascript">
3321    (function($) {
3322        $(document).ready(function() {
3323           
3324
3325            // --- 2. GTRANSLATE FIX ---
3326            var $gtranslate = $('.gtranslate_wrapper, #flags, .glt-links'); 
3327            if ($gtranslate.length) {
3328                $gtranslate.attr('role', 'list');
3329                $gtranslate.find('a, span.glink').attr('role', 'listitem');
3330            }
3331
3332        });
3333    })(jQuery);
3334    </script>
3334    
3334<script type="text/javascript">
3335    (function($) {
3336        $(document).ready(function() {
3337            // 1. Find the specific Social Media table
3338            var $table = $('table:contains("Social Media Directory")');
3339
3340            if ($table.length > 0) {
3341                // 2. Capture the Column Headers (Facebook, Instagram, etc.)
3342                var colHeaders = [];
3343                $table.find('thead th').each(function(index) {
3344                    colHeaders[index] = $(this).text().trim();
3345                });
3346
3347                // 3. Loop through every row in the body
3348                $table.find('tbody tr').each(function() {
3349                    var $row = $(this);
3350                    
3351                    // Get the Row Name (The first header in the row, e.g., "The Wilson Center")
3352                    var rowName = $row.find('th').text().trim();
3353                    
3354                    // 4. Loop through the data cells (td) containing links
3355                    $row.find('td').each(function(index) {
3356                        var $link = $(this).find('a');
3357                        
3358                        // Proceed only if there is a link and we have a Row Name
3359                        if ($link.length > 0 && rowName) {
3360                            
3361                            // MATCHING LOGIC:
3362                            // The 'td' index 0 corresponds to Column Header index 1 
3363                            // (because the Row Header took up the first slot).
3364                            var platformName = colHeaders[index + 1]; 
3365
3366                            if (platformName) {
3367                                // Create the accessible label
3368                                // Result: "The Wilson Center Facebook"
3369                                var newLabel = rowName + " " + platformName;
3370                                $link.attr('aria-label', newLabel);
3371                                
3372                                // Optional: If you want to force the 'External Link' text here too
3373                                // you can append it manually if your other script misses it.
3374                                // $link.attr('aria-label', newLabel + " (external link)");
3375                            }
3376                        }
3377                    });
3378                });
3379            }
3380        });
3381    })(jQuery);
3382    </script>
3382
3383    
3384<script type="text/javascript" id="cfcc-search-ada-fix-final">
3385window.addEventListener('load', (event) => {
3386    
3387    const searchForms = document.querySelectorAll('form.searchform[action="/search/"]');
3388    
3389    if (searchForms.length === 0) {
3390        return;
3391    }
3392
3393    searchForms.forEach((form) => {
3394        
3395        // Find the critical elements *within* this specific form
3396        const errorContainer = form.querySelector('.search-error');
3397        const searchInput = form.querySelector('input[name="q"]');
3398        const submitButton = form.querySelector('input[type="submit"]');
3399
3400        if (!searchInput || !errorContainer || !submitButton) {
3401            return; // If we're missing pieces, don't attach listeners
3402        }
3403
3404        // --- 1. The Validation Function (Stops form and injects ARIA message) ---
3405        const validateSearch = (e) => {
3406            if (searchInput.value.trim() === '') {
3407                // 1. Stop the form submission (Critical)
3408                e.preventDefault(); 
3409                e.stopImmediatePropagation(); 
3410                
3411                // 2. Show the error message (WCAG 3.3.1)
3412                errorContainer.textContent = 'Please enter a search term.';
3413                errorContainer.style.display = 'block';
3414                
3415                // 3. Set focus (Helps user, WCAG 4.1.3)
3416                searchInput.focus();
3417                return false;
3418            } else {
3419                // Clear errors on valid submission
3420                errorContainer.textContent = '';
3421                errorContainer.style.display = 'none';
3422                return true;
3423            }
3424        };
3425        
3426        // --- 2. Event Listeners (The winning combination) ---
3427
3428        // Listener A: This listener hides the error as soon as the user types
3429        searchInput.addEventListener('input', () => {
3430            if (errorContainer.style.display === 'block') {
3431                errorContainer.textContent = '';
3432                errorContainer.style.display = 'none';
3433            }
3434        }, true);
3435
3436        // Listener B: Catches 'submit' (Enter key or form submit)
3437        form.addEventListener('submit', validateSearch, true); 
3438
3439        // Listener C: Catches 'click' on the button (Ensures we win the event conflict)
3440        submitButton.addEventListener('click', validateSearch, true);
3441
3442    });
3443});
3444</script>
3444
3445</body></html>
3446<!--
3447Performance optimized by W3 Total Cache. Learn more: https://www.boldgrid.com/w3-total-cache/
3448
3449Page Caching using Memcache 
3450Database Caching 1/145 queries in 0.079 seconds using Memcache (Request-wide modification query)
3451
3452Served from: cfcc.edu @ 2026-10-01 06:42:25 by W3 Total Cache
3453-->

Line numbers count LF bytes from the start of the resource, as the search results do. Vendor segments are library code the classifier recognised; they are stored but not indexed. Bytes are shown as Latin1 characters, one per byte.