CINXE.COM
Handshake Login | Career Services | West Virginia University
<!DOCTYPE html> <html lang="en-US"> <head> <!-- Google Tag Manager --> <script>(function(w,d,s,l,i){w[l]=w[l]||[];w[l].push({'gtm.start': new Date().getTime(),event:'gtm.js'});var f=d.getElementsByTagName(s)[0], j=d.createElement(s),dl=l!='dataLayer'?'&l='+l:'';j.async=true;j.src= 'https://www.googletagmanager.com/gtm.js?id='+i+dl;f.parentNode.insertBefore(j,f); })(window,document,'script','dataLayer','GTM-WPD5W8R');</script> <!-- End Google Tag Manager --> <meta http-equiv="Content-Type" content="text/html; charset=UTF-8"> <script type="text/javascript">window.NREUM||(NREUM={});NREUM.info={"beacon":"bam.nr-data.net","errorBeacon":"bam.nr-data.net","licenseKey":"7857b3b7a6","applicationID":"531059","transactionName":"IQkMEBdbDVVSFBtARwAKCwdKXQ9dUh4UHRIRV1dRUg==","queueTime":0,"applicationTime":351,"agent":""}</script> <script type="text/javascript">(window.NREUM||(NREUM={})).init={ajax:{deny_list:["bam.nr-data.net"]}};(window.NREUM||(NREUM={})).loader_config={licenseKey:"7857b3b7a6",applicationID:"531059"};;/*! For license information please see nr-loader-rum-1.281.0.min.js.LICENSE.txt */ (()=>{var e,t,r={122:(e,t,r)=>{"use strict";r.d(t,{a:()=>i});var n=r(944);function i(e,t){try{if(!e||"object"!=typeof e)return(0,n.R)(3);if(!t||"object"!=typeof t)return(0,n.R)(4);const r=Object.create(Object.getPrototypeOf(t),Object.getOwnPropertyDescriptors(t)),o=0===Object.keys(r).length?e:r;for(let a in o)if(void 0!==e[a])try{if(null===e[a]){r[a]=null;continue}Array.isArray(e[a])&&Array.isArray(t[a])?r[a]=Array.from(new Set([...e[a],...t[a]])):"object"==typeof e[a]&&"object"==typeof t[a]?r[a]=i(e[a],t[a]):r[a]=e[a]}catch(e){(0,n.R)(1,e)}return r}catch(e){(0,n.R)(2,e)}}},555:(e,t,r)=>{"use strict";r.d(t,{Vp:()=>c,fn:()=>s,x1:()=>u});var n=r(384),i=r(122);const o={beacon:n.NT.beacon,errorBeacon:n.NT.errorBeacon,licenseKey:void 0,applicationID:void 0,sa:void 0,queueTime:void 0,applicationTime:void 0,ttGuid:void 0,user:void 0,account:void 0,product:void 0,extra:void 0,jsAttributes:{},userAttributes:void 0,atts:void 0,transactionName:void 0,tNamePlain:void 0},a={};function s(e){try{const t=c(e);return!!t.licenseKey&&!!t.errorBeacon&&!!t.applicationID}catch(e){return!1}}function c(e){if(!e)throw new Error("All info objects require an agent identifier!");if(!a[e])throw new Error("Info for ".concat(e," was never set"));return a[e]}function u(e,t){if(!e)throw new Error("All info objects require an agent identifier!");a[e]=(0,i.a)(t,o);const r=(0,n.nY)(e);r&&(r.info=a[e])}},217:(e,t,r)=>{"use strict";r.d(t,{D0:()=>h,gD:()=>b,xN:()=>v});r(860).K7.genericEvents;const n="experimental.marks",i="experimental.measures",o="experimental.resources";var a=r(993);const s=e=>{if(!e||"string"!=typeof e)return!1;try{document.createDocumentFragment().querySelector(e)}catch{return!1}return!0};var c=r(614),u=r(944),l=r(384),d=r(122);const f="[data-nr-mask]",g=()=>{const e={feature_flags:[],experimental:{marks:!1,measures:!1,resources:!1},mask_selector:"*",block_selector:"[data-nr-block]",mask_input_options:{color:!1,date:!1,"datetime-local":!1,email:!1,month:!1,number:!1,range:!1,search:!1,tel:!1,text:!1,time:!1,url:!1,week:!1,textarea:!1,select:!1,password:!0}};return{ajax:{deny_list:void 0,block_internal:!0,enabled:!0,autoStart:!0},distributed_tracing:{enabled:void 0,exclude_newrelic_header:void 0,cors_use_newrelic_header:void 0,cors_use_tracecontext_headers:void 0,allowed_origins:void 0},get feature_flags(){return e.feature_flags},set feature_flags(t){e.feature_flags=t},generic_events:{enabled:!0,autoStart:!0},harvest:{interval:30},jserrors:{enabled:!0,autoStart:!0},logging:{enabled:!0,autoStart:!0,level:a.p_.INFO},metrics:{enabled:!0,autoStart:!0},obfuscate:void 0,page_action:{enabled:!0},page_view_event:{enabled:!0,autoStart:!0},page_view_timing:{enabled:!0,autoStart:!0},performance:{get capture_marks(){return e.feature_flags.includes(n)||e.experimental.marks},set capture_marks(t){e.experimental.marks=t},get capture_measures(){return e.feature_flags.includes(i)||e.experimental.measures},set capture_measures(t){e.experimental.measures=t},capture_detail:!0,resources:{get enabled(){return e.feature_flags.includes(o)||e.experimental.resources},set enabled(t){e.experimental.resources=t},asset_types:[],first_party_domains:[],ignore_newrelic:!0}},privacy:{cookies_enabled:!0},proxy:{assets:void 0,beacon:void 0},session:{expiresMs:c.wk,inactiveMs:c.BB},session_replay:{autoStart:!0,enabled:!1,preload:!1,sampling_rate:10,error_sampling_rate:100,collect_fonts:!1,inline_images:!1,fix_stylesheets:!0,mask_all_inputs:!0,get mask_text_selector(){return e.mask_selector},set mask_text_selector(t){s(t)?e.mask_selector="".concat(t,",").concat(f):""===t||null===t?e.mask_selector=f:(0,u.R)(5,t)},get block_class(){return"nr-block"},get ignore_class(){return"nr-ignore"},get mask_text_class(){return"nr-mask"},get block_selector(){return e.block_selector},set block_selector(t){s(t)?e.block_selector+=",".concat(t):""!==t&&(0,u.R)(6,t)},get mask_input_options(){return e.mask_input_options},set mask_input_options(t){t&&"object"==typeof t?e.mask_input_options={...t,password:!0}:(0,u.R)(7,t)}},session_trace:{enabled:!0,autoStart:!0},soft_navigations:{enabled:!0,autoStart:!0},spa:{enabled:!0,autoStart:!0},ssl:void 0,user_actions:{enabled:!0,elementAttributes:["id","className","tagName","type"]}}},p={},m="All configuration objects require an agent identifier!";function h(e){if(!e)throw new Error(m);if(!p[e])throw new Error("Configuration for ".concat(e," was never set"));return p[e]}function v(e,t){if(!e)throw new Error(m);p[e]=(0,d.a)(t,g());const r=(0,l.nY)(e);r&&(r.init=p[e])}function b(e,t){if(!e)throw new Error(m);var r=h(e);if(r){for(var n=t.split("."),i=0;i<n.length-1;i++)if("object"!=typeof(r=r[n[i]]))return;r=r[n[n.length-1]]}return r}},371:(e,t,r)=>{"use strict";r.d(t,{V:()=>f,f:()=>d});var n=r(122),i=r(384),o=r(154),a=r(324);let s=0;const c={buildEnv:a.F3,distMethod:a.Xs,version:a.xv,originTime:o.WN},u={customTransaction:void 0,disabled:!1,isolatedBacklog:!1,loaderType:void 0,maxBytes:3e4,onerror:void 0,ptid:void 0,releaseIds:{},appMetadata:{},session:void 0,denyList:void 0,timeKeeper:void 0,obfuscator:void 0,harvester:void 0},l={};function d(e){if(!e)throw new Error("All runtime objects require an agent identifier!");if(!l[e])throw new Error("Runtime for ".concat(e," was never set"));return l[e]}function f(e,t){if(!e)throw new Error("All runtime objects require an agent identifier!");l[e]={...(0,n.a)(t,u),...c},Object.hasOwnProperty.call(l[e],"harvestCount")||Object.defineProperty(l[e],"harvestCount",{get:()=>++s});const r=(0,i.nY)(e);r&&(r.runtime=l[e])}},324:(e,t,r)=>{"use strict";r.d(t,{F3:()=>i,Xs:()=>o,xv:()=>n});const n="1.281.0",i="PROD",o="CDN"},154:(e,t,r)=>{"use strict";r.d(t,{OF:()=>c,RI:()=>i,WN:()=>l,bv:()=>o,gm:()=>a,mw:()=>s,sb:()=>u});var n=r(863);const i="undefined"!=typeof window&&!!window.document,o="undefined"!=typeof WorkerGlobalScope&&("undefined"!=typeof self&&self instanceof WorkerGlobalScope&&self.navigator instanceof WorkerNavigator||"undefined"!=typeof globalThis&&globalThis instanceof WorkerGlobalScope&&globalThis.navigator instanceof WorkerNavigator),a=i?window:"undefined"!=typeof WorkerGlobalScope&&("undefined"!=typeof self&&self instanceof WorkerGlobalScope&&self||"undefined"!=typeof globalThis&&globalThis instanceof WorkerGlobalScope&&globalThis),s=Boolean("hidden"===a?.document?.visibilityState),c=/iPad|iPhone|iPod/.test(a.navigator?.userAgent),u=c&&"undefined"==typeof SharedWorker,l=((()=>{const e=a.navigator?.userAgent?.match(/Firefox[/\s](\d+\.\d+)/);Array.isArray(e)&&e.length>=2&&e[1]})(),Date.now()-(0,n.t)())},687:(e,t,r)=>{"use strict";r.d(t,{Ak:()=>c,Ze:()=>d,x3:()=>u});var n=r(836),i=r(606),o=r(860),a=r(646);const s={};function c(e,t){const r={staged:!1,priority:o.P3[t]||0};l(e),s[e].get(t)||s[e].set(t,r)}function u(e,t){e&&s[e]&&(s[e].get(t)&&s[e].delete(t),g(e,t,!1),s[e].size&&f(e))}function l(e){if(!e)throw new Error("agentIdentifier required");s[e]||(s[e]=new Map)}function d(e="",t="feature",r=!1){if(l(e),!e||!s[e].get(t)||r)return g(e,t);s[e].get(t).staged=!0,f(e)}function f(e){const t=Array.from(s[e]);t.every((([e,t])=>t.staged))&&(t.sort(((e,t)=>e[1].priority-t[1].priority)),t.forEach((([t])=>{s[e].delete(t),g(e,t)})))}function g(e,t,r=!0){const o=e?n.ee.get(e):n.ee,s=i.i.handlers;if(!o.aborted&&o.backlog&&s){if(r){const e=o.backlog[t],r=s[t];if(r){for(let t=0;e&&t<e.length;++t)p(e[t],r);Object.entries(r).forEach((([e,t])=>{Object.values(t||{}).forEach((t=>{t[0]?.on&&t[0]?.context()instanceof a.y&&t[0].on(e,t[1])}))}))}}o.isolatedBacklog||delete s[t],o.backlog[t]=null,o.emit("drain-"+t,[])}}function p(e,t){var r=e[1];Object.values(t[r]||{}).forEach((t=>{var r=e[0];if(t[0]===r){var n=t[1],i=e[3],o=e[2];n.apply(i,o)}}))}},836:(e,t,r)=>{"use strict";r.d(t,{P:()=>c,ee:()=>u});var n=r(384),i=r(990),o=r(371),a=r(646),s=r(607);const c="nr@context:".concat(s.W),u=function e(t,r){var n={},s={},l={},d=!1;try{d=16===r.length&&(0,o.f)(r).isolatedBacklog}catch(e){}var f={on:p,addEventListener:p,removeEventListener:function(e,t){var r=n[e];if(!r)return;for(var i=0;i<r.length;i++)r[i]===t&&r.splice(i,1)},emit:function(e,r,n,i,o){!1!==o&&(o=!0);if(u.aborted&&!i)return;t&&o&&t.emit(e,r,n);for(var a=g(n),c=m(e),l=c.length,d=0;d<l;d++)c[d].apply(a,r);var p=v()[s[e]];p&&p.push([f,e,r,a]);return a},get:h,listeners:m,context:g,buffer:function(e,t){const r=v();if(t=t||"feature",f.aborted)return;Object.entries(e||{}).forEach((([e,n])=>{s[n]=t,t in r||(r[t]=[])}))},abort:function(){f._aborted=!0,Object.keys(f.backlog).forEach((e=>{delete f.backlog[e]}))},isBuffering:function(e){return!!v()[s[e]]},debugId:r,backlog:d?{}:t&&"object"==typeof t.backlog?t.backlog:{},isolatedBacklog:d};return Object.defineProperty(f,"aborted",{get:()=>{let e=f._aborted||!1;return e||(t&&(e=t.aborted),e)}}),f;function g(e){return e&&e instanceof a.y?e:e?(0,i.I)(e,c,(()=>new a.y(c))):new a.y(c)}function p(e,t){n[e]=m(e).concat(t)}function m(e){return n[e]||[]}function h(t){return l[t]=l[t]||e(f,t)}function v(){return f.backlog}}(void 0,"globalEE"),l=(0,n.Zm)();l.ee||(l.ee=u)},646:(e,t,r)=>{"use strict";r.d(t,{y:()=>n});class n{constructor(e){this.contextId=e}}},908:(e,t,r)=>{"use strict";r.d(t,{d:()=>n,p:()=>i});var n=r(836).ee.get("handle");function i(e,t,r,i,o){o?(o.buffer([e],i),o.emit(e,t,r)):(n.buffer([e],i),n.emit(e,t,r))}},606:(e,t,r)=>{"use strict";r.d(t,{i:()=>o});var n=r(908);o.on=a;var i=o.handlers={};function o(e,t,r,o){a(o||n.d,i,e,t,r)}function a(e,t,r,i,o){o||(o="feature"),e||(e=n.d);var a=t[o]=t[o]||{};(a[r]=a[r]||[]).push([e,i])}},878:(e,t,r)=>{"use strict";function n(e,t){return{capture:e,passive:!1,signal:t}}function i(e,t,r=!1,i){window.addEventListener(e,t,n(r,i))}function o(e,t,r=!1,i){document.addEventListener(e,t,n(r,i))}r.d(t,{DD:()=>o,jT:()=>n,sp:()=>i})},607:(e,t,r)=>{"use strict";r.d(t,{W:()=>n});const n=(0,r(566).bz)()},566:(e,t,r)=>{"use strict";r.d(t,{LA:()=>s,bz:()=>a});var n=r(154);const i="xxxxxxxx-xxxx-4xxx-yxxx-xxxxxxxxxxxx";function o(e,t){return e?15&e[t]:16*Math.random()|0}function a(){const e=n.gm?.crypto||n.gm?.msCrypto;let t,r=0;return e&&e.getRandomValues&&(t=e.getRandomValues(new Uint8Array(30))),i.split("").map((e=>"x"===e?o(t,r++).toString(16):"y"===e?(3&o()|8).toString(16):e)).join("")}function s(e){const t=n.gm?.crypto||n.gm?.msCrypto;let r,i=0;t&&t.getRandomValues&&(r=t.getRandomValues(new Uint8Array(e)));const a=[];for(var s=0;s<e;s++)a.push(o(r,i++).toString(16));return a.join("")}},614:(e,t,r)=>{"use strict";r.d(t,{BB:()=>a,H3:()=>n,g:()=>u,iL:()=>c,tS:()=>s,uh:()=>i,wk:()=>o});const n="NRBA",i="SESSION",o=144e5,a=18e5,s={STARTED:"session-started",PAUSE:"session-pause",RESET:"session-reset",RESUME:"session-resume",UPDATE:"session-update"},c={SAME_TAB:"same-tab",CROSS_TAB:"cross-tab"},u={OFF:0,FULL:1,ERROR:2}},863:(e,t,r)=>{"use strict";function n(){return Math.floor(performance.now())}r.d(t,{t:()=>n})},944:(e,t,r)=>{"use strict";function n(e,t){"function"==typeof console.debug&&console.debug("New Relic Warning: https://github.com/newrelic/newrelic-browser-agent/blob/main/docs/warning-codes.md#".concat(e),t)}r.d(t,{R:()=>n})},284:(e,t,r)=>{"use strict";r.d(t,{t:()=>c,B:()=>s});var n=r(836),i=r(154);const o="newrelic";const a=new Set,s={};function c(e,t){const r=n.ee.get(t);s[t]??={},e&&"object"==typeof e&&(a.has(t)||(r.emit("rumresp",[e]),s[t]=e,a.add(t),function(e={}){try{i.gm.dispatchEvent(new CustomEvent(o,{detail:e}))}catch(e){}}({loaded:!0})))}},990:(e,t,r)=>{"use strict";r.d(t,{I:()=>i});var n=Object.prototype.hasOwnProperty;function i(e,t,r){if(n.call(e,t))return e[t];var i=r();if(Object.defineProperty&&Object.keys)try{return Object.defineProperty(e,t,{value:i,writable:!0,enumerable:!1}),i}catch(e){}return e[t]=i,i}},389:(e,t,r)=>{"use strict";function n(e,t=500,r={}){const n=r?.leading||!1;let i;return(...r)=>{n&&void 0===i&&(e.apply(this,r),i=setTimeout((()=>{i=clearTimeout(i)}),t)),n||(clearTimeout(i),i=setTimeout((()=>{e.apply(this,r)}),t))}}function i(e){let t=!1;return(...r)=>{t||(t=!0,e.apply(this,r))}}r.d(t,{J:()=>i,s:()=>n})},289:(e,t,r)=>{"use strict";r.d(t,{GG:()=>o,sB:()=>a});var n=r(878);function i(){return"undefined"==typeof document||"complete"===document.readyState}function o(e,t){if(i())return e();(0,n.sp)("load",e,t)}function a(e){if(i())return e();(0,n.DD)("DOMContentLoaded",e)}},384:(e,t,r)=>{"use strict";r.d(t,{NT:()=>o,US:()=>l,Zm:()=>a,bQ:()=>c,dV:()=>s,nY:()=>u,pV:()=>d});var n=r(154),i=r(863);const o={beacon:"bam.nr-data.net",errorBeacon:"bam.nr-data.net"};function a(){return n.gm.NREUM||(n.gm.NREUM={}),void 0===n.gm.newrelic&&(n.gm.newrelic=n.gm.NREUM),n.gm.NREUM}function s(){let e=a();return e.o||(e.o={ST:n.gm.setTimeout,SI:n.gm.setImmediate,CT:n.gm.clearTimeout,XHR:n.gm.XMLHttpRequest,REQ:n.gm.Request,EV:n.gm.Event,PR:n.gm.Promise,MO:n.gm.MutationObserver,FETCH:n.gm.fetch,WS:n.gm.WebSocket}),e}function c(e,t){let r=a();r.initializedAgents??={},t.initializedAt={ms:(0,i.t)(),date:new Date},r.initializedAgents[e]=t}function u(e){let t=a();return t.initializedAgents?.[e]}function l(e,t){a()[e]=t}function d(){return function(){let e=a();const t=e.info||{};e.info={beacon:o.beacon,errorBeacon:o.errorBeacon,...t}}(),function(){let e=a();const t=e.init||{};e.init={...t}}(),s(),function(){let e=a();const t=e.loader_config||{};e.loader_config={...t}}(),a()}},843:(e,t,r)=>{"use strict";r.d(t,{u:()=>i});var n=r(878);function i(e,t=!1,r,i){(0,n.DD)("visibilitychange",(function(){if(t)return void("hidden"===document.visibilityState&&e());e(document.visibilityState)}),r,i)}},434:(e,t,r)=>{"use strict";r.d(t,{Jt:()=>o,YM:()=>c});var n=r(836),i=r(607);const o="nr@original:".concat(i.W);var a=Object.prototype.hasOwnProperty,s=!1;function c(e,t){return e||(e=n.ee),r.inPlace=function(e,t,n,i,o){n||(n="");const a="-"===n.charAt(0);for(let s=0;s<t.length;s++){const c=t[s],u=e[c];l(u)||(e[c]=r(u,a?c+n:n,i,c,o))}},r.flag=o,r;function r(t,r,n,s,c){return l(t)?t:(r||(r=""),nrWrapper[o]=t,function(e,t,r){if(Object.defineProperty&&Object.keys)try{return Object.keys(e).forEach((function(r){Object.defineProperty(t,r,{get:function(){return e[r]},set:function(t){return e[r]=t,t}})})),t}catch(e){u([e],r)}for(var n in e)a.call(e,n)&&(t[n]=e[n])}(t,nrWrapper,e),nrWrapper);function nrWrapper(){var o,a,l,d;try{a=this,o=[...arguments],l="function"==typeof n?n(o,a):n||{}}catch(t){u([t,"",[o,a,s],l],e)}i(r+"start",[o,a,s],l,c);try{return d=t.apply(a,o)}catch(e){throw i(r+"err",[o,a,e],l,c),e}finally{i(r+"end",[o,a,d],l,c)}}}function i(r,n,i,o){if(!s||t){var a=s;s=!0;try{e.emit(r,n,i,t,o)}catch(t){u([t,r,n,i],e)}s=a}}}function u(e,t){t||(t=n.ee);try{t.emit("internal-error",e)}catch(e){}}function l(e){return!(e&&"function"==typeof e&&e.apply&&!e[o])}},993:(e,t,r)=>{"use strict";r.d(t,{ET:()=>o,p_:()=>i});var n=r(860);const i={ERROR:"ERROR",WARN:"WARN",INFO:"INFO",DEBUG:"DEBUG",TRACE:"TRACE"},o="log";n.K7.logging},969:(e,t,r)=>{"use strict";r.d(t,{TZ:()=>n,XG:()=>s,rs:()=>i,xV:()=>a,z_:()=>o});const n=r(860).K7.metrics,i="sm",o="cm",a="storeSupportabilityMetrics",s="storeEventMetrics"},630:(e,t,r)=>{"use strict";r.d(t,{T:()=>n});const n=r(860).K7.pageViewEvent},782:(e,t,r)=>{"use strict";r.d(t,{T:()=>n});const n=r(860).K7.pageViewTiming},344:(e,t,r)=>{"use strict";r.d(t,{G4:()=>i});var n=r(614);r(860).K7.sessionReplay;const i={RECORD:"recordReplay",PAUSE:"pauseReplay",REPLAY_RUNNING:"replayRunning",ERROR_DURING_REPLAY:"errorDuringReplay"};n.g.ERROR,n.g.FULL,n.g.OFF},234:(e,t,r)=>{"use strict";r.d(t,{W:()=>o});var n=r(836),i=r(687);class o{constructor(e,t){this.agentIdentifier=e,this.ee=n.ee.get(e),this.featureName=t,this.blocked=!1}deregisterDrain(){(0,i.x3)(this.agentIdentifier,this.featureName)}}},603:(e,t,r)=>{"use strict";r.d(t,{j:()=>K});var n=r(860),i=r(555),o=r(371),a=r(908),s=r(836),c=r(687),u=r(289),l=r(154),d=r(944),f=r(969),g=r(384),p=r(344);const m=["setErrorHandler","finished","addToTrace","addRelease","recordCustomEvent","addPageAction","setCurrentRouteName","setPageViewName","setCustomAttribute","interaction","noticeError","setUserId","setApplicationVersion","start",p.G4.RECORD,p.G4.PAUSE,"log","wrapLogger"],h=["setErrorHandler","finished","addToTrace","addRelease"];var v=r(863),b=r(614),y=r(993);var w=r(646),A=r(434);const R=new Map;function _(e,t,r,n){if("object"!=typeof t||!t||"string"!=typeof r||!r||"function"!=typeof t[r])return(0,d.R)(29);const i=function(e){return(e||s.ee).get("logger")}(e),o=(0,A.YM)(i),a=new w.y(s.P);a.level=n.level,a.customAttributes=n.customAttributes;const c=t[r]?.[A.Jt]||t[r];return R.set(c,a),o.inPlace(t,[r],"wrap-logger-",(()=>R.get(c))),i}function E(){const e=(0,g.pV)();m.forEach((t=>{e[t]=(...r)=>function(t,...r){let n=[];return Object.values(e.initializedAgents).forEach((e=>{e&&e.api?e.exposed&&e.api[t]&&n.push(e.api[t](...r)):(0,d.R)(38,t)})),n.length>1?n:n[0]}(t,...r)}))}const x={};function N(e,t,g=!1){t||(0,c.Ak)(e,"api");const m={};var w=s.ee.get(e),A=w.get("tracer");x[e]=b.g.OFF,w.on(p.G4.REPLAY_RUNNING,(t=>{x[e]=t}));var R="api-",E=R+"ixn-";function N(t,r,n,o){const a=(0,i.Vp)(e);return null===r?delete a.jsAttributes[t]:(0,i.x1)(e,{...a,jsAttributes:{...a.jsAttributes,[t]:r}}),j(R,n,!0,o||null===r?"session":void 0)(t,r)}function k(){}m.log=function(e,{customAttributes:t={},level:r=y.p_.INFO}={}){(0,a.p)(f.xV,["API/log/called"],void 0,n.K7.metrics,w),function(e,t,r={},i=y.p_.INFO){(0,a.p)(f.xV,["API/logging/".concat(i.toLowerCase(),"/called")],void 0,n.K7.metrics,e),(0,a.p)(y.ET,[(0,v.t)(),t,r,i],void 0,n.K7.logging,e)}(w,e,t,r)},m.wrapLogger=(e,t,{customAttributes:r={},level:i=y.p_.INFO}={})=>{(0,a.p)(f.xV,["API/wrapLogger/called"],void 0,n.K7.metrics,w),_(w,e,t,{customAttributes:r,level:i})},h.forEach((e=>{m[e]=j(R,e,!0,"api")})),m.addPageAction=j(R,"addPageAction",!0,n.K7.genericEvents),m.recordCustomEvent=j(R,"recordCustomEvent",!0,n.K7.genericEvents),m.setPageViewName=function(t,r){if("string"==typeof t)return"/"!==t.charAt(0)&&(t="/"+t),(0,o.f)(e).customTransaction=(r||"http://custom.transaction")+t,j(R,"setPageViewName",!0)()},m.setCustomAttribute=function(e,t,r=!1){if("string"==typeof e){if(["string","number","boolean"].includes(typeof t)||null===t)return N(e,t,"setCustomAttribute",r);(0,d.R)(40,typeof t)}else(0,d.R)(39,typeof e)},m.setUserId=function(e){if("string"==typeof e||null===e)return N("enduser.id",e,"setUserId",!0);(0,d.R)(41,typeof e)},m.setApplicationVersion=function(e){if("string"==typeof e||null===e)return N("application.version",e,"setApplicationVersion",!1);(0,d.R)(42,typeof e)},m.start=()=>{try{(0,a.p)(f.xV,["API/start/called"],void 0,n.K7.metrics,w),w.emit("manual-start-all")}catch(e){(0,d.R)(23,e)}},m[p.G4.RECORD]=function(){(0,a.p)(f.xV,["API/recordReplay/called"],void 0,n.K7.metrics,w),(0,a.p)(p.G4.RECORD,[],void 0,n.K7.sessionReplay,w)},m[p.G4.PAUSE]=function(){(0,a.p)(f.xV,["API/pauseReplay/called"],void 0,n.K7.metrics,w),(0,a.p)(p.G4.PAUSE,[],void 0,n.K7.sessionReplay,w)},m.interaction=function(e){return(new k).get("object"==typeof e?e:{})};const T=k.prototype={createTracer:function(e,t){var r={},i=this,o="function"==typeof t;return(0,a.p)(f.xV,["API/createTracer/called"],void 0,n.K7.metrics,w),g||(0,a.p)(E+"tracer",[(0,v.t)(),e,r],i,n.K7.spa,w),function(){if(A.emit((o?"":"no-")+"fn-start",[(0,v.t)(),i,o],r),o)try{return t.apply(this,arguments)}catch(e){const t="string"==typeof e?new Error(e):e;throw A.emit("fn-err",[arguments,this,t],r),t}finally{A.emit("fn-end",[(0,v.t)()],r)}}}};function j(e,t,r,i){return function(){return(0,a.p)(f.xV,["API/"+t+"/called"],void 0,n.K7.metrics,w),i&&(0,a.p)(e+t,[r?(0,v.t)():performance.now(),...arguments],r?null:this,i,w),r?void 0:this}}function I(){r.e(296).then(r.bind(r,778)).then((({setAPI:t})=>{t(e),(0,c.Ze)(e,"api")})).catch((e=>{(0,d.R)(27,e),w.abort()}))}return["actionText","setName","setAttribute","save","ignore","onEnd","getContext","end","get"].forEach((e=>{T[e]=j(E,e,void 0,g?n.K7.softNav:n.K7.spa)})),m.setCurrentRouteName=g?j(E,"routeName",void 0,n.K7.softNav):j(R,"routeName",!0,n.K7.spa),m.noticeError=function(t,r){"string"==typeof t&&(t=new Error(t)),(0,a.p)(f.xV,["API/noticeError/called"],void 0,n.K7.metrics,w),(0,a.p)("err",[t,(0,v.t)(),!1,r,!!x[e]],void 0,n.K7.jserrors,w)},l.RI?(0,u.GG)((()=>I()),!0):I(),m}var k=r(217),T=r(122);const j={accountID:void 0,trustKey:void 0,agentID:void 0,licenseKey:void 0,applicationID:void 0,xpid:void 0},I={};var S=r(284);const O=e=>{const t=e.startsWith("http");e+="/",r.p=t?e:"https://"+e};let P=!1;function K(e,t={},r,n){let{init:a,info:c,loader_config:u,runtime:d={},exposed:f=!0}=t;d.loaderType=r;const p=(0,g.pV)();c||(a=p.init,c=p.info,u=p.loader_config),(0,k.xN)(e.agentIdentifier,a||{}),function(e,t){if(!e)throw new Error("All loader-config objects require an agent identifier!");I[e]=(0,T.a)(t,j);const r=(0,g.nY)(e);r&&(r.loader_config=I[e])}(e.agentIdentifier,u||{}),c.jsAttributes??={},l.bv&&(c.jsAttributes.isWorker=!0),(0,i.x1)(e.agentIdentifier,c);const m=(0,k.D0)(e.agentIdentifier),h=[c.beacon,c.errorBeacon];P||(m.proxy.assets&&(O(m.proxy.assets),h.push(m.proxy.assets)),m.proxy.beacon&&h.push(m.proxy.beacon),E(),(0,g.US)("activatedFeatures",S.B),e.runSoftNavOverSpa&&=!0===m.soft_navigations.enabled&&m.feature_flags.includes("soft_nav")),d.denyList=[...m.ajax.deny_list||[],...m.ajax.block_internal?h:[]],d.ptid=e.agentIdentifier,(0,o.V)(e.agentIdentifier,d),e.ee=s.ee.get(e.agentIdentifier),void 0===e.api&&(e.api=N(e.agentIdentifier,n,e.runSoftNavOverSpa)),void 0===e.exposed&&(e.exposed=f),P=!0}},374:(e,t,r)=>{r.nc=(()=>{try{return document?.currentScript?.nonce}catch(e){}return""})()},860:(e,t,r)=>{"use strict";r.d(t,{$J:()=>u,K7:()=>s,P3:()=>c,XX:()=>i,qY:()=>n,v4:()=>a});const n="events",i="jserrors",o="browser/blobs",a="rum",s={ajax:"ajax",genericEvents:"generic_events",jserrors:i,logging:"logging",metrics:"metrics",pageAction:"page_action",pageViewEvent:"page_view_event",pageViewTiming:"page_view_timing",sessionReplay:"session_replay",sessionTrace:"session_trace",softNav:"soft_navigations",spa:"spa"},c={[s.pageViewEvent]:1,[s.pageViewTiming]:2,[s.metrics]:3,[s.jserrors]:4,[s.spa]:5,[s.ajax]:6,[s.sessionTrace]:7,[s.softNav]:8,[s.sessionReplay]:9,[s.logging]:10,[s.genericEvents]:11},u={[s.pageViewEvent]:a,[s.pageViewTiming]:n,[s.ajax]:n,[s.spa]:n,[s.softNav]:n,[s.metrics]:i,[s.jserrors]:i,[s.sessionTrace]:o,[s.sessionReplay]:o,[s.logging]:"browser/logs",[s.genericEvents]:"ins"}}},n={};function i(e){var t=n[e];if(void 0!==t)return t.exports;var o=n[e]={exports:{}};return r[e](o,o.exports,i),o.exports}i.m=r,i.d=(e,t)=>{for(var r in t)i.o(t,r)&&!i.o(e,r)&&Object.defineProperty(e,r,{enumerable:!0,get:t[r]})},i.f={},i.e=e=>Promise.all(Object.keys(i.f).reduce(((t,r)=>(i.f[r](e,t),t)),[])),i.u=e=>"nr-rum-1.281.0.min.js",i.o=(e,t)=>Object.prototype.hasOwnProperty.call(e,t),e={},t="NRBA-1.281.0.PROD:",i.l=(r,n,o,a)=>{if(e[r])e[r].push(n);else{var s,c;if(void 0!==o)for(var u=document.getElementsByTagName("script"),l=0;l<u.length;l++){var d=u[l];if(d.getAttribute("src")==r||d.getAttribute("data-webpack")==t+o){s=d;break}}if(!s){c=!0;var f={296:"sha512-zqOtfbjYsGTkQScey1O8Hh9fA1+m2RFxLpfv7BWqqTivgQ6iM13v6QJ4d5xykyDwx1GoMFmngC4SKpFn6VciYg=="};(s=document.createElement("script")).charset="utf-8",s.timeout=120,i.nc&&s.setAttribute("nonce",i.nc),s.setAttribute("data-webpack",t+o),s.src=r,0!==s.src.indexOf(window.location.origin+"/")&&(s.crossOrigin="anonymous"),f[a]&&(s.integrity=f[a])}e[r]=[n];var g=(t,n)=>{s.onerror=s.onload=null,clearTimeout(p);var i=e[r];if(delete e[r],s.parentNode&&s.parentNode.removeChild(s),i&&i.forEach((e=>e(n))),t)return t(n)},p=setTimeout(g.bind(null,void 0,{type:"timeout",target:s}),12e4);s.onerror=g.bind(null,s.onerror),s.onload=g.bind(null,s.onload),c&&document.head.appendChild(s)}},i.r=e=>{"undefined"!=typeof Symbol&&Symbol.toStringTag&&Object.defineProperty(e,Symbol.toStringTag,{value:"Module"}),Object.defineProperty(e,"__esModule",{value:!0})},i.p="https://js-agent.newrelic.com/",(()=>{var e={374:0,840:0};i.f.j=(t,r)=>{var n=i.o(e,t)?e[t]:void 0;if(0!==n)if(n)r.push(n[2]);else{var o=new Promise(((r,i)=>n=e[t]=[r,i]));r.push(n[2]=o);var a=i.p+i.u(t),s=new Error;i.l(a,(r=>{if(i.o(e,t)&&(0!==(n=e[t])&&(e[t]=void 0),n)){var o=r&&("load"===r.type?"missing":r.type),a=r&&r.target&&r.target.src;s.message="Loading chunk "+t+" failed.\n("+o+": "+a+")",s.name="ChunkLoadError",s.type=o,s.request=a,n[1](s)}}),"chunk-"+t,t)}};var t=(t,r)=>{var n,o,[a,s,c]=r,u=0;if(a.some((t=>0!==e[t]))){for(n in s)i.o(s,n)&&(i.m[n]=s[n]);if(c)c(i)}for(t&&t(r);u<a.length;u++)o=a[u],i.o(e,o)&&e[o]&&e[o][0](),e[o]=0},r=self["webpackChunk:NRBA-1.281.0.PROD"]=self["webpackChunk:NRBA-1.281.0.PROD"]||[];r.forEach(t.bind(null,0)),r.push=t.bind(null,r.push.bind(r))})(),(()=>{"use strict";i(374);var e=i(944),t=i(344),r=i(566);class n{agentIdentifier;constructor(){this.agentIdentifier=(0,r.LA)(16)}#e(t,...r){if("function"==typeof this.api?.[t])return this.api[t](...r);(0,e.R)(35,t)}addPageAction(e,t){return this.#e("addPageAction",e,t)}recordCustomEvent(e,t){return this.#e("recordCustomEvent",e,t)}setPageViewName(e,t){return this.#e("setPageViewName",e,t)}setCustomAttribute(e,t,r){return this.#e("setCustomAttribute",e,t,r)}noticeError(e,t){return this.#e("noticeError",e,t)}setUserId(e){return this.#e("setUserId",e)}setApplicationVersion(e){return this.#e("setApplicationVersion",e)}setErrorHandler(e){return this.#e("setErrorHandler",e)}addRelease(e,t){return this.#e("addRelease",e,t)}log(e,t){return this.#e("log",e,t)}}class o extends n{#e(t,...r){if("function"==typeof this.api?.[t])return this.api[t](...r);(0,e.R)(35,t)}start(){return this.#e("start")}finished(e){return this.#e("finished",e)}recordReplay(){return this.#e(t.G4.RECORD)}pauseReplay(){return this.#e(t.G4.PAUSE)}addToTrace(e){return this.#e("addToTrace",e)}setCurrentRouteName(e){return this.#e("setCurrentRouteName",e)}interaction(){return this.#e("interaction")}wrapLogger(e,t,r){return this.#e("wrapLogger",e,t,r)}}var a=i(860),s=i(217);const c=Object.values(a.K7);function u(e){const t={};return c.forEach((r=>{t[r]=function(e,t){return!0===(0,s.gD)(t,"".concat(e,".enabled"))}(r,e)})),t}var l=i(603);var d=i(687),f=i(234),g=i(289),p=i(154),m=i(384);const h=e=>p.RI&&!0===(0,s.gD)(e,"privacy.cookies_enabled");function v(e){return!!(0,m.dV)().o.MO&&h(e)&&!0===(0,s.gD)(e,"session_trace.enabled")}var b=i(389);class y extends f.W{constructor(e,t,r=!0){super(e.agentIdentifier,t),this.auto=r,this.abortHandler=void 0,this.featAggregate=void 0,this.onAggregateImported=void 0,!1===e.init[this.featureName].autoStart&&(this.auto=!1),this.auto?(0,d.Ak)(e.agentIdentifier,t):this.ee.on("manual-start-all",(0,b.J)((()=>{(0,d.Ak)(e.agentIdentifier,this.featureName),this.auto=!0,this.importAggregator(e)})))}importAggregator(t,r={}){if(this.featAggregate||!this.auto)return;let n;this.onAggregateImported=new Promise((e=>{n=e}));const o=async()=>{let o;try{if(h(this.agentIdentifier)){const{setupAgentSession:e}=await i.e(296).then(i.bind(i,861));o=e(t)}}catch(t){(0,e.R)(20,t),this.ee.emit("internal-error",[t]),this.featureName===a.K7.sessionReplay&&this.abortHandler?.()}try{if(!this.#t(this.featureName,o))return(0,d.Ze)(this.agentIdentifier,this.featureName),void n(!1);const{lazyFeatureLoader:e}=await i.e(296).then(i.bind(i,103)),{Aggregate:a}=await e(this.featureName,"aggregate");this.featAggregate=new a(t,r),t.runtime.harvester.initializedAggregates.push(this.featAggregate),n(!0)}catch(t){(0,e.R)(34,t),this.abortHandler?.(),(0,d.Ze)(this.agentIdentifier,this.featureName,!0),n(!1),this.ee&&this.ee.abort()}};p.RI?(0,g.GG)((()=>o()),!0):o()}#t(e,t){switch(e){case a.K7.sessionReplay:return v(this.agentIdentifier)&&!!t;case a.K7.sessionTrace:return!!t;default:return!0}}}var w=i(630);class A extends y{static featureName=w.T;constructor(e,t=!0){super(e,w.T,t),this.importAggregator(e)}}var R=i(908),_=i(843),E=i(878),x=i(782),N=i(863);class k extends y{static featureName=x.T;constructor(e,t=!0){super(e,x.T,t),p.RI&&((0,_.u)((()=>(0,R.p)("docHidden",[(0,N.t)()],void 0,x.T,this.ee)),!0),(0,E.sp)("pagehide",(()=>(0,R.p)("winPagehide",[(0,N.t)()],void 0,x.T,this.ee))),this.importAggregator(e))}}var T=i(969);class j extends y{static featureName=T.TZ;constructor(e,t=!0){super(e,T.TZ,t),this.importAggregator(e)}}new class extends o{constructor(t){super(),p.gm?(this.features={},(0,m.bQ)(this.agentIdentifier,this),this.desiredFeatures=new Set(t.features||[]),this.desiredFeatures.add(A),this.runSoftNavOverSpa=[...this.desiredFeatures].some((e=>e.featureName===a.K7.softNav)),(0,l.j)(this,t,t.loaderType||"agent"),this.run()):(0,e.R)(21)}get config(){return{info:this.info,init:this.init,loader_config:this.loader_config,runtime:this.runtime}}run(){try{const t=u(this.agentIdentifier),r=[...this.desiredFeatures];r.sort(((e,t)=>a.P3[e.featureName]-a.P3[t.featureName])),r.forEach((r=>{if(!t[r.featureName]&&r.featureName!==a.K7.pageViewEvent)return;if(this.runSoftNavOverSpa&&r.featureName===a.K7.spa)return;if(!this.runSoftNavOverSpa&&r.featureName===a.K7.softNav)return;const n=function(e){switch(e){case a.K7.ajax:return[a.K7.jserrors];case a.K7.sessionTrace:return[a.K7.ajax,a.K7.pageViewEvent];case a.K7.sessionReplay:return[a.K7.sessionTrace];case a.K7.pageViewTiming:return[a.K7.pageViewEvent];default:return[]}}(r.featureName).filter((e=>!(e in this.features)));n.length>0&&(0,e.R)(36,{targetFeature:r.featureName,missingDependencies:n}),this.features[r.featureName]=new r(this)}))}catch(t){(0,e.R)(22,t);for(const e in this.features)this.features[e].abortHandler?.();const r=(0,m.Zm)();delete r.initializedAgents[this.agentIdentifier]?.api,delete r.initializedAgents[this.agentIdentifier]?.features,delete this.sharedAggregator;return r.ee.get(this.agentIdentifier).abort(),!1}}}({features:[A,k,j],loaderType:"lite"})})()})();</script> <meta name="editorURL" content="https://cleanslate.wvu.edu/sites/1557/pages/141923/editor"> <meta name="viewport" content="width=device-width, initial-scale=1.0"> <title>Handshake Login | Career Services | West Virginia University</title> <link rel="preconnect" href="https://cdn.fonts.net"> <link rel="preconnect" href="https://static.wvu.edu"> <link rel="preconnect" href="https://kit.fontawesome.com"> <link href="https://cdn.fonts.net/kit/b339d500-35c3-11ed-aaf7-06b70d83f6b0/b339d500-35c3-11ed-aaf7-06b70d83f6b0.css" rel="stylesheet"> <link rel="stylesheet" href="/stylesheets/1740000152/styles.css" type="text/css"> <script src="/javascripts/1740000152/meom-wvu-site-navigation--custom.js" type="module"></script> <script data-search-pseudo-elements defer src="https://kit.fontawesome.com/a140e17a00.js" crossorigin="anonymous"></script> <link rel="canonical" href="https://careerservices.wvu.edu/students/handshake-login"> <meta name="description" content=""> <meta name="google-site-verification" content=""> <meta property="og:title" content="Career Services | Handshake Login"> <meta property="og:description" content=""> <meta property="og:type" content="website"> <meta property="og:url" content="https://careerservices.wvu.edu/students/handshake-login"> <meta name="twitter:card" content="summary_large_image"> <meta name="twitter:site" content="Career Services"> <meta name="twitter:creator" content=""> <meta name="twitter:title" content="Handshake Login"> <meta name="twitter:description" content=""> <style type="text/css" id="cs-custom-site-styles">#stat-sheet-1 { background-image: url("https://careerservices.wvu.edu/files/2b30e628-8f90-4726-9c05-e0608b48856e/1780x1780"); } .page--142933 #wvu-main-content img, .page--142933 #page-collection-2 img { box-shadow: none !important; max-height: 100px; width: auto !important; }</style> </head> <body class="super_template page--141923 page--handshake-login "> <!-- Google Tag Manager (noscript) --> <noscript><iframe aria-hidden="true" src="https://www.googletagmanager.com/ns.html?id=GTM-WPD5W8R" height="0" width="0" style="display:none;visibility:hidden"></iframe></noscript> <!-- End Google Tag Manager (noscript) --> <div class="cs-injection"></div> <header aria-label="masthead"> <a class="visually-hidden-focusable" href="#wvu-main-content">Skip to main content</a> <section aria-labelledby="aria__emergency-alert-1-label" id="js-emergency-alert" class="d-none alert alert-danger mb-0 py-2 px-0 rounded-0 border-0" role="alert" aria-atomic="true" data-disable-emergency-alert="" data-emergency-alert-json-feed=""> <div class="container"> <div class="row"> <div class="col col-md-6 col-xl-5 mx-auto"> <h2 class="wvu-shout text-center" id="aria__emergency-alert-1-label"> <span aria-hidden="true" class="fa-solid fa-triangle-exclamation"></span> Active Campus Alert </h2> <div id="js-emergency-alert__events"></div> <p class="mb-0 small">For more information visit: <a id="js-emergency-alert-domain" class="alert-link" href="https://emergency.wvu.edu/">emergency.wvu.edu</a></p> </div> <div class="col-auto"> <button type="button" data-bs-dismiss="alert" aria-label="Close Emergency Alerts box" class="border-0 rounded-circle" style="width: 26px; height: 26px; background-color: #f5c5c1;"> <span class="fa-sharp fa-solid fa-xmark position-relative" aria-hidden="true" style="color: #83202a;"></span> </button> </div> </div> </div> </section> <!-- Markup --> <div id="js-masthead" class="wvu-masthead bg-wvu-blue"> <div class="container"> <div class="row"> <div class="align-self-center col"> <a class="d-flex position-relative my-3 align-items-center justify-content-center justify-content-lg-start text-decoration-none text-white" href="/"> <span class="visually-hidden">West Virginia University </span> <span class="wvu-logo-lockup mt-n1"> Career Services </span> </a> </div> <div class="col-12 col-lg-4 d-flex flex-column"> <div class="px-0 flex-grow-1 d-flex align-content-center justify-content-center justify-content-lg-end my-2"> </div> </div> </div> </div> </div> <!-- End markup --> <!-- WVU Nav v4 --> <nav aria-label="Main navigation" id="nav-primary" class="wvu-site-nav bg-wvu-accent--blue-dark navbar navbar-expand-lg p-0 navbar-dark w-100"> <div class="container"> <button aria-controls="wvu-site-nav__items" aria-expanded="false" type="button" class="wvu-site-nav__toggle js-wvu-site-nav-toggle border-0 bg-wvu-accent--blue-dark text-white position-relative ps-0 pe-2 d-flex d-lg-none align-items-center"> <span aria-hidden="true" class="wvu-hamburger js-wvu-hamburger"> <span class="wvu-hamburger__line wvu-hamburger__line--top js-wvu-hamburger__line--top"></span> <span class="wvu-hamburger__line wvu-hamburger__line--middle"></span> <span class="wvu-hamburger__line wvu-hamburger__line--bottom js-wvu-hamburger__line--bottom"></span> </span> <span class="js-wvu-site-nav-toggle-text">Open Menu</span> </button> <ul id="wvu-site-nav__items" class="wvu-site-nav__items js-wvu-site-nav-items position-static list-unstyled d-lg-flex align-items-lg-center flex-lg-wrap mb-0"> <li><a class="nav-link px-1 py-2 fw-normal flex-grow-1" href="https://careerservices.wvu.edu/home">Home</a></li> <li class="open wvu-site-nav__menu-item-has-children position-relative d-lg-flex"> <a class="nav-link px-1 py-2 fw-normal flex-grow-1" href="https://careerservices.wvu.edu/students">Students</a><ul class="wvu-site-nav__sub-menu small bg-wvu-accent--blue-dark list-unstyled ms-2 ms-lg-0 wvu-site-nav__sub-menu small bg-wvu-accent--blue-dark list-unstyled ms-2 ms-lg-0--level-1"> <li class="wvu-site-nav__menu-item-has-children position-relative d-lg-flex"><a class="nav-link px-1 py-2 fw-normal flex-grow-1" href="https://careerservices.wvu.edu/students/build-a-resume">Build a Resume</a></li> <li><a class="nav-link px-1 py-2 fw-normal flex-grow-1" href="https://careerservices.wvu.edu/students/careershift-login">CareerShift Login</a></li> <li><a class="nav-link px-1 py-2 fw-normal flex-grow-1" href="https://careerservices.wvu.edu/students/choose-a-major">Choose a Major</a></li> <li><a class="nav-link px-1 py-2 fw-normal flex-grow-1" href="https://careerservices.wvu.edu/students/courses-for-credit">Courses for Credit </a></li> <li class="wvu-site-nav__menu-item-has-children position-relative d-lg-flex"><a class="nav-link px-1 py-2 fw-normal flex-grow-1" href="https://careerservices.wvu.edu/students/cover-and-thank-you-letters">Cover and Thank You Letters </a></li> <li><a class="nav-link px-1 py-2 fw-normal flex-grow-1" href="https://careerservices.wvu.edu/students/create-a-credential-packet">Create a Credential Packet</a></li> <li><a class="nav-link px-1 py-2 fw-normal flex-grow-1" href="https://careerservices.wvu.edu/students/dining-etiquette">Dining Etiquette</a></li> <li><a class="nav-link px-1 py-2 fw-normal flex-grow-1" href="https://careerservices.wvu.edu/students/dress-to-impress">Dress to Impress</a></li> <li><a class="nav-link px-1 py-2 fw-normal flex-grow-1" href="https://careerservices.wvu.edu/students/elevator-pitch">Elevator Pitch</a></li> <li><a class="nav-link px-1 py-2 fw-normal flex-grow-1" href="https://careerservices.wvu.edu/students/evaluate-job-offers">Evaluate Job Offers</a></li> <li class="wvu-site-nav__menu-item-has-children position-relative d-lg-flex"><a class="nav-link px-1 py-2 fw-normal flex-grow-1" href="https://careerservices.wvu.edu/students/greater-than-a-4-year-plan-plan-it-build-it-work-it-live-it">Greater Than a 4- Year Plan: Plan it. Build it. Work it. Live it. </a></li> <li><a class="nav-link px-1 py-2 fw-normal flex-grow-1 wvu-site-nav__link--active" aria-current="page" href="https://careerservices.wvu.edu/students/handshake-login">Handshake Login</a></li> <li><a class="nav-link px-1 py-2 fw-normal flex-grow-1" href="https://careerservices.wvu.edu/students/how-to-work-a-career-fair">How to Work a Career Fair</a></li> <li><a class="nav-link px-1 py-2 fw-normal flex-grow-1" href="https://careerservices.wvu.edu/students/job-search-for-international-students">Job Search for International Students</a></li> <li><a class="nav-link px-1 py-2 fw-normal flex-grow-1" href="https://careerservices.wvu.edu/students/job-search-process">Job Search Process</a></li> <li class="wvu-site-nav__menu-item-has-children position-relative d-lg-flex"><a class="nav-link px-1 py-2 fw-normal flex-grow-1" href="https://careerservices.wvu.edu/students/prepare-for-an-interview">Prepare for an Interview</a></li> <li><a class="nav-link px-1 py-2 fw-normal flex-grow-1" href="https://careerservices.wvu.edu/students/workforce-recruitment-program">Workforce Recruitment Program (WRP)</a></li> </ul> </li> <li class="wvu-site-nav__menu-item-has-children position-relative d-lg-flex"> <a class="nav-link px-1 py-2 fw-normal flex-grow-1" href="https://careerservices.wvu.edu/employers">Employers</a><ul class="wvu-site-nav__sub-menu small bg-wvu-accent--blue-dark list-unstyled ms-2 ms-lg-0 wvu-site-nav__sub-menu small bg-wvu-accent--blue-dark list-unstyled ms-2 ms-lg-0--level-1"> <li class="wvu-site-nav__menu-item-has-children position-relative d-lg-flex"><a class="nav-link px-1 py-2 fw-normal flex-grow-1" href="https://careerservices.wvu.edu/employers/overview">Overview</a></li> <li class="wvu-site-nav__menu-item-has-children position-relative d-lg-flex"><a class="nav-link px-1 py-2 fw-normal flex-grow-1" href="https://careerservices.wvu.edu/employers/branding">Branding</a></li> <li class="wvu-site-nav__menu-item-has-children position-relative d-lg-flex"><a class="nav-link px-1 py-2 fw-normal flex-grow-1" href="https://careerservices.wvu.edu/employers/recruiting">Recruiting </a></li> </ul> </li> <li><a class="nav-link px-1 py-2 fw-normal flex-grow-1" href="https://careerservices.wvu.edu/alumni">Alumni</a></li> <li><a class="cs-internal-link nav-link px-1 py-2 fw-normal flex-grow-1" title="" target="_self" href="https://careerservices.wvu.edu/parents">Parents</a></li> <li><a class="cs-internal-link nav-link px-1 py-2 fw-normal flex-grow-1" title="" target="_self" href="https://careerservices.wvu.edu/faculty">Faculty</a></li> <li class="wvu-site-nav__menu-item-has-children position-relative d-lg-flex"> <a class="nav-link px-1 py-2 fw-normal flex-grow-1" href="https://careerservices.wvu.edu/events">Events</a><ul class="wvu-site-nav__sub-menu small bg-wvu-accent--blue-dark list-unstyled ms-2 ms-lg-0 wvu-site-nav__sub-menu small bg-wvu-accent--blue-dark list-unstyled ms-2 ms-lg-0--level-1"><li class="wvu-site-nav__menu-item-has-children position-relative d-lg-flex"><a class="nav-link px-1 py-2 fw-normal flex-grow-1" href="https://careerservices.wvu.edu/events/career-fairs">Career Fairs</a></li></ul> </li> <li class="wvu-site-nav__menu-item-has-children position-relative d-lg-flex"> <a class="nav-link px-1 py-2 fw-normal flex-grow-1" href="https://careerservices.wvu.edu/about-us">About Us</a><ul class="wvu-site-nav__sub-menu small bg-wvu-accent--blue-dark list-unstyled ms-2 ms-lg-0 wvu-site-nav__sub-menu small bg-wvu-accent--blue-dark list-unstyled ms-2 ms-lg-0--level-1"><li><a class="nav-link px-1 py-2 fw-normal flex-grow-1" href="https://careerservices.wvu.edu/about-us/our-services">Our Services</a></li></ul> </li> <li class="wvu-site-nav__menu-item-has-children position-relative d-lg-flex"> <a class="nav-link px-1 py-2 fw-normal flex-grow-1" href="https://careerservices.wvu.edu/student-employment">Student Employment</a><ul class="wvu-site-nav__sub-menu small bg-wvu-accent--blue-dark list-unstyled ms-2 ms-lg-0 wvu-site-nav__sub-menu small bg-wvu-accent--blue-dark list-unstyled ms-2 ms-lg-0--level-1"> <li class="wvu-site-nav__menu-item-has-children position-relative d-lg-flex"><a class="nav-link px-1 py-2 fw-normal flex-grow-1" href="https://careerservices.wvu.edu/student-employment/on-and-off-campus-student-employment">On-and-Off Campus Student Employment</a></li> <li class="wvu-site-nav__menu-item-has-children position-relative d-lg-flex"><a class="nav-link px-1 py-2 fw-normal flex-grow-1" href="https://careerservices.wvu.edu/student-employment/supervisor-resources">Supervisor Resources</a></li> </ul> </li> </ul> <div class="d-flex align-items-center"> <ul class="list-inline mb-0 me-2"> <li class="list-inline-item"> <a class="mb-0 text-decoration-none text-white-50" href="https://www.facebook.com/WVU.Career.Services.Center"> <span class="fab fa-facebook"></span><span class="visually-hidden">Facebook</span> </a> </li> <li class="list-inline-item"> <a class="mb-0 text-decoration-none text-white-50" href="https://twitter.com/wvucareerserv"> <span class="fab fa-x-twitter"></span><span class="visually-hidden">X / Twitter</span> </a> </li> <li class="list-inline-item"> <a class="mb-0 text-decoration-none text-white-50" href="https://instagram.com/wvucareerserv/"> <span class="fab fa-instagram"></span><span class="visually-hidden">Instagram</span> </a> </li> <li class="list-inline-item"> <a class="mb-0 text-decoration-none text-white-50" href="https://www.linkedin.com/groups/WVU-Career-Services-Center-Networking-2840017/about"> <span class="fab fa-linkedin"></span><span class="visually-hidden">LinkedIn</span> </a> </li> </ul> <button class="bg-transparent border-0 text-white py-2 px-2 py-lg-0 px-lg-0" type="button" data-bs-toggle="collapse" data-bs-target="#wvuNavSearchCollapse" aria-expanded="false" aria-controls="wvuNavSearchCollapse"> <span aria-hidden="true" class="fa-solid fa-magnifying-glass"></span> <span class="visually-hidden">Toggle Search</span> </button> </div> </div> <!-- /.container --> </nav> <section aria-label="nav-quicklinks" class="collapse multi-collapse" id="wvuNavSearchCollapse"> <div class="bg-light py-4 w-100 text-white bg-wvu-accent--blue-dark wvu-bg-vignetting--20"> <div class="container wvu-z-index-content"> <div class="row d-flex justify-content-center"> <div class="col-md-6"> <div class="row"> <div class="col-md-12"> <form class="form-inline w-100" action="https://search.wvu.edu/search" method="get" role="search" aria-label="Site Search"> <label id="search-label" for="q"> <span class="visually-hidden">Search</span> </label> <input id="sort" name="sort" type="hidden" value="date:D:L:d1"> <input id="output" name="output" type="hidden" value="xml_no_dtd"> <input id="ie" name="ie" type="hidden" value="UTF-8"> <input id="oe" name="oe" type="hidden" value="UTF-8"> <input id="proxystylesheet" name="proxystylesheet" type="hidden" value="default_frontend"> <input id="client" name="client" type="hidden" value="default_frontend"> <div class="input-group shadow-sm w-100"> <input id="q" class="form-control p-2" name="q" type="search" placeholder="Search" aria-label="Search"> <button class="btn btn-primary px-3 px-lg-4" name="btnG" type="submit"> <span class="h5 mb-0"><span class="fa-solid fa-magnifying-glass"></span></span> <span class="visually-hidden">Search</span> </button> </div> <div class="row pt-1"> <fieldset class="col-12"> <legend class="visually-hidden"> Would you like to search this site specifically, or all WVU websites? </legend> <div class="d-inline-block pe-2"> <input id="form-search__sitesearch" type="radio" name="as_sitesearch" value="careerservices.wvu.edu" checked> <label class="d-inline-block" for="form-search__sitesearch">Search this site</label> </div> <div class="d-inline-block"> <input id="form-search__wvusearch" type="radio" name="as_sitesearch" value="wvu.edu"> <label class="d-inline-block" for="form-search__wvusearch">Search WVU</label> </div> </fieldset> </div> </form> </div> </div> </div> </div> </div> </div> </section> <section class="wvu-breadcrumbs py-2 w-100 position-absolute wvu-z-index-breadcrumbs" aria-label="Breadcrumb Links"> <div class="container position-relative small"> <div class=""> <div class=" d-inline-block"> <ul class="wvu-z-index-content wvu-slash-list ps-0 mb-0 d-inline-block "> <li><a href="https://careerservices.wvu.edu/home">Home</a></li> <li><a href="https://careerservices.wvu.edu/students">Students</a></li> <li class="active">Handshake Login</li> </ul> </div> </div> </div> </section> <div class="py-3 wvu-z-index-content pb-3 bg-wvu-neutral--dark-gray bg-wvu-accent--blue-dark wvu-bg-vignetting wvu-bg-blend-mode-luminosity--80 wvu-bg-position-center"> <div class="container position-relative wvu-z-index-content"> <div class="row align-items-stretch"> <div class="col-12 col-md-8 mt-5"> <h1 id="backpage-header-1-label" class="display-4 helvetica-neue-bold mb-0 text-white">Handshake Login</h1> </div> </div> </div> </div> <!-- End markup --> </header> <main id="wvu-main-content" class=" py-5 bg-wvu-accent--blue text-center text-white"> <div class="container position-relative wvu-z-index-content"> <div class="row"> <div class="col-md-8 mx-auto"> <h2 id="action-hero-1-label" class="display-2 wvu-shout">HANDSHAKE</h2> <p class="h3 helvetica-neue-light mb-4">Handshake is more than just a job posting site-it's a career services management tool designed for WVU students and alumni. </p> <p class="helvetica-neue-bold fs-4">Every student automatically gets a Handshake account. <br>Log in using your WVU login credentials </p> <a href="https://wvu.joinhandshake.com/login" class="btn btn-wvu-gold">Handshake login </a> <p></p> <p class="helvetica-neue">* Incoming students may not be able to access Handshake until they attend New Student Orientation </p> </div> </div> </div> </main> <section id="featurettes-1" aria-labelledby="featurettes-1-label" class=" py-5 text-center"> <div class="container wvu-z-index-content"> <h2 id="featurettes-1-label" class="display-3 wvu-shout mb-4 text-wvu-blue">search and apply for jobs and internships</h2> <div class="row justify-content-start"> <div class="col-sm-6 col-md-4 mb-4"> <div class="mb-2 wvu-featurettes-image"> <i class="fa-solid fa-square-check display-1 text-wvu-blue"></i> </div> <div class="wvu-featurettes-content"> <h3 class="wvu-shout h2 text-wvu-blue wvu-bar mb-2 wvu-bar--center">full time positions</h3> <p>Browse full-time jobs by employer, location, field, or your qualifications to find the best fit. You can even set up saved searches for new positions that fit your criteria. And the best part? As a WVU graduate, you can use Handshake for the rest of your career.</p> </div> </div> <div class="col-sm-6 col-md-4 mb-4"> <div class="mb-2 wvu-featurettes-image"> <i class="fa-solid fa-square-check display-1 text-wvu-blue"></i> </div> <div class="wvu-featurettes-content"> <h3 class="wvu-shout h2 text-wvu-blue wvu-bar mb-2 wvu-bar--center">student positions</h3> <p>The best way to set yourself up for success after graduation is to start getting experience now. Browse part-time positions including: <strong>work-study jobs, on- and off-campus, seasonal work</strong>.</p> </div> </div> <div class="col-sm-6 col-md-4 mb-4"> <div class="mb-2 wvu-featurettes-image"> <i class="fa-solid fa-square-check display-1 text-wvu-blue"></i> </div> <div class="wvu-featurettes-content"> <h3 class="wvu-shout h2 text-wvu-blue wvu-bar mb-2 wvu-bar--center">internships</h3> <p>Whether paid or for credit, internships are a great way to get experience in your industry of choice. Start early, check back often, and put your best foot forward with Handshake’s internship listings. </p> </div> </div> </div> </div> </section> <section id="featurettes-2" aria-label="justify-content-left" class=" py-5 bg-wvu-neutral--tan"> <div class="container wvu-z-index-content"> <div class="row"> <div class="col-lg-8"> <h2 id="featurettes-2-label" class="display-3 wvu-shout mb-4 text-wvu-blue">Schedule Interviews, Appointments, and Events</h2> </div> </div> <div class="row justify-content-start"> <div class="col-sm-6 col-md-4 mb-4"> <div class="wvu-featurettes-content"> <h3 class="wvu-shout h2 text-wvu-blue wvu-bar wvu-bar--white mb-2">Interview on Campus</h3> <ul class="wvu-ul-arrows wvu-ul-arrows-wvu-blue"> <li>Register for practice interviews to gain confidence</li> <li>Apply for interviews with employers recruiting on campus</li> <li>Schedule interview times that work with your school schedule</li> </ul> </div> </div> <div class="col-sm-6 col-md-4 mb-4"> <div class="wvu-featurettes-content"> <h3 class="wvu-shout h2 text-wvu-blue wvu-bar wvu-bar--white mb-2">GET aDVICE</h3> <ul class="wvu-ul-arrows wvu-ul-arrows-wvu-blue"> <li>Schedule appointments with Career Development Specialists</li> <li>Find walk-in resume review hours</li> <li>Make an appointment with a career advisor in your specific college</li> </ul> </div> </div> <div class="col-sm-6 col-md-4 mb-4"> <div class="wvu-featurettes-content"> <h3 class="wvu-shout h2 text-wvu-blue wvu-bar wvu-bar--white mb-2">CAREER EVENTS</h3> <ul class="wvu-ul-arrows wvu-ul-arrows-wvu-blue"> <li>Browse events by location and topic</li> <li>Register for events</li> <li>See the full list of attending employers for career fairs and interview days</li> </ul> </div> </div> </div> </div> </section> <section id="action-hero-two-column-1" aria-labelledby="action-hero-two-column-1-label" class=" py-5 position-relative wvu-bg-size-cover bg-wvu-neutral--black text-white wvu-bg-vignetting wvu-bg-position-center" style="background-image: url(https://careerservices.wvu.edu/files/c2f20801-4a97-40f3-83ed-93ef32a7cff9/1780x1780?cb=02c5a23493cef74a6b777de3c3b3060f)"> <div class="container wvu-z-index-content"> <div class="row justify-content-center my-5"> <div class="col-md-5 me-md-1 text-md-end p-3"> <h2 id="action-hero-two-column-1-label" class="display-3 wvu-shout text-wvu-gold"> ADDITIONAL RESOURCES</h2> </div> <div class="col-md-5 ms-md-1 p-3"> <ul class="wvu-ul-arrows wvu-ul-arrows--wvu-gold fs-4"> <li> <a class="text-decoration-none text-white" href="https://careerservices.wvu.edu/students/handshake-login/handshake-faqs" data-page-id="144039">Handshake FAQs</a> </li> <li> <a class="text-decoration-none text-white" href="https://support.joinhandshake.com/hc/en-us/articles/115008792627-Understanding-Job-Postings-How-to-Stay-Safe-on-Handshake">How to Spot a Job Scam</a> </li> <li> <a class="text-decoration-none text-white" href="https://studentemployment.wvu.edu/home/fws/now-what">Steps for Students with Federal Work Study</a> </li> </ul> </div> </div> </div> </section> <section id="site-action-hero-1" aria-labelledby="site-action-hero-1-label" class=" py-5 text-center bg-wvu-gold wvu-bg-topo-dark text-wvu-blue wvu-overflow-hidden wvu-background-size-cover"> <div class="container position-relative wvu-z-index-content"> <div class="row"> <div class="col-md-8 mx-auto"> <h2 id="site-action-hero-1-label" class="display-3 wvu-shout">FIND JOBS AND INTERNSHIPS IN HANDSHAKE</h2> <p class="lead pb-2">Explore our powerful career resource tool, designed to meet the needs of WVU students and alumni.</p> <a class="btn btn-wvu-blue btn-lg" href="https://wvu.joinhandshake.com/login" role="button">Student Login</a> </div> </div> </div> </section> <section id="site-quicklinks-1" aria-labelledby="site-quicklinks-1-label" class=" py-5 text-white bg-wvu-blue"> <div class="container wvu-z-index-content"> <div class="row"> <div class="col-lg-4"> <h2 id="site-quicklinks-1-label" class="wvu-shout h1"> WHY ARE YOU HERE? </h2> </div> <div class="col-lg-8"> <ul class="list-unstyled wvu-column-count-3"> <li> <a href="https://careerservices.wvu.edu/students/dining-etiquette" data-page-id="142081" class="text-wvu-gold">Ace the Lunch Interview</a> </li> <li> <a href="https://careerservices.wvu.edu/students/build-a-resume" data-page-id="141791" class="text-wvu-gold">Build a Resume</a> </li> <li> <a href="https://careerservices.wvu.edu/students/choose-a-major" data-page-id="142037" class="text-wvu-gold">Choose a Major</a> </li> <li> <a href="https://careerservices.wvu.edu/students/focus2-login" data-page-id="142086" class="text-wvu-gold">Complete FOCUS2</a> </li> <li> <a href="https://careerservices.wvu.edu/students/elevator-pitch" data-page-id="142083" class="text-wvu-gold">Craft an Elevator Pitch <br> </a> </li> <li> <a href="https://careerservices.wvu.edu/students/create-a-credential-packet" data-page-id="142079" class="text-wvu-gold">Create a Credential Packet</a> </li> <li> <a href="https://careerservices.wvu.edu/students/job-search-process" data-page-id="142092" class="text-wvu-gold">Develop a Job Search Strategy</a> </li> <li> <a href="https://careerservices.wvu.edu/students/dress-to-impress" data-page-id="142082" class="text-wvu-gold">Dress to Impress</a> <br> </li> <li> <a href="https://careerservices.wvu.edu/students/evaluate-job-offers" data-page-id="142084" class="text-wvu-gold">Evaluate Job Offers</a> </li> <li> <a href="https://careerservices.wvu.edu/students/choose-a-major" data-page-id="142037" class="text-wvu-gold">Explore Career Options</a> <br> </li> <li> <a href="https://careerservices.wvu.edu/students/applying-to-graduate-school" data-page-id="144550" class="text-wvu-gold">Graduate School Advising</a> </li> <li> <a href="https://careerservices.wvu.edu/students/how-to-work-a-career-fair" data-page-id="142089" class="text-wvu-gold">How to Work a Career Fair</a> </li> <li> <a href="https://careerservices.wvu.edu/students/make-the-most-out-of-your-network" data-page-id="142093" class="text-wvu-gold">Make the Most Out of Your Network</a> </li> <li> <a href="https://careerservices.wvu.edu/students/meet-with-a-career-development-specialist" data-page-id="142094" class="text-wvu-gold">Meet with a Career Development Specialist</a> </li> <li> <a href="https://careerservices.wvu.edu/students/prepare-for-an-interview" data-page-id="142101" class="text-wvu-gold">Prepare for an Interview</a> </li> <li> <a href="https://careerservices.wvu.edu/students/courses-for-credit" data-page-id="142038" class="text-wvu-gold">Register for Career Exploration Courses</a> </li> <li> <a href="https://careerservices.wvu.edu/faculty/student-outreach-programs" data-page-id="144182" class="text-wvu-gold">Request a Professional Development Presentation</a> </li> <li> <a href="https://careerservices.wvu.edu/about-us/our-services" data-page-id="142221" class="text-wvu-gold">Resume, Cover Letter and Personal Statement Review</a> </li> <li> <a href="https://careerservices.wvu.edu/students/cover-and-thank-you-letters" data-page-id="142039" class="text-wvu-gold">Write a Cover Letter/Thank You</a> </li> <li> <a href="https://careerservices.wvu.edu/students/personal-statement" data-page-id="142095" class="text-wvu-gold">Write a Personal Statement</a> </li> <li> <a href="https://careerservices.wvu.edu/students/meet-with-a-career-development-specialist" data-page-id="142094" class="text-wvu-gold">Schedule a Practice Interview</a> </li> <li> <a href="https://careerservices.wvu.edu/events" data-page-id="141845" class="text-wvu-gold">Upcoming Career Fairs and Events</a> </li> <li> <a href="https://careerservices.wvu.edu/about-us" data-page-id="141847" class="text-wvu-gold">Meet the Staff</a> </li> <li> <a href="https://careerservices.wvu.edu/about-us/our-services" data-page-id="142221" class="text-wvu-gold">Complete List of Our Services</a> </li> </ul> </div> </div> </div> </section> <footer class="py-4 bg-light lh-lg"> <div class="container wvu-z-index-content"> <div class="row small"> <div class="col-12"> <address> <strong>West Virginia University Career Services Center</strong> <br> 133 Mountainlair Building <br> PO Box 6008 <br> Morgantown, WV 26506-6008 </address> <p class="mb-3"> <i class="fa-solid fa-phone" aria-hidden="true"></i> <a href="tel:304-293-2221">304-293-2221</a> <br> <i class="fa-solid fa-clock" aria-hidden="true"></i> Office hours: Monday – Friday 8:15 a.m. to 4:45 p.m.</p> <p class="mb-4"></p> </div> </div> <div class="row small"> <div class="col-md-6"> <ul class="list-unstyled"> <li class="list-inline-item"><a class="" href="https://about.wvu.edu/wvu-facts">Accreditations</a></li> <li class="list-inline-item"><a class="" href="https://webstandards.wvu.edu">Web Standards</a></li> <li class="list-inline-item"><a class="" href="https://www.wvu.edu/privacy">Privacy Notice</a></li> <li class="list-inline-item"><a class="" href="mailto:web_services@mail.wvu.edu">Questions or Comments?</a></li> </ul> <p> © 2025 <a class="" href="https://www.wvu.edu/">West Virginia University</a>. WVU is an EEO/Affirmative Action employer — Minority/Female/Disability/Veteran. <span class="wvu-credits__last-edited">Last updated on May 24, 2023.</span> </p> </div> <div class="col-md-6 text-md-end lh-lg"> <ul class="list-unstyled mb-0"> <li class="list-inline-item"><a class="" href="https://www.wvu.edu/SiteIndex/">A-Z Site Index</a></li> <li class="list-inline-item"><a class="" href="https://campusmap.wvu.edu">Campus Map</a></li> <li class="list-inline-item"><a class="" href="https://careers.wvu.edu/career-opportunities">WVU Careers</a></li> <li class="list-inline-item"><a class="" href="https://directory.wvu.edu">WVU Directory</a></li> </ul> <ul class="list-unstyled"> <li class="list-inline-item"><a class="" href="https://give.wvu.edu/">Give</a></li> <li class="list-inline-item"><a class="" href="https://careerservices.wvu.edu/students/handshake-login">Handshake</a></li> <li class="list-inline-item"><a class="" href="https://alert.wvu.edu/">WVU Alert</a></li> <li class="list-inline-item"><a class="" href="https://wvutoday.wvu.edu">WVU Today</a></li> <li class="list-inline-item"><a class="" href="https://portal.wvu.edu">WVU Portal</a></li> </ul> <ul class="list-unstyled"> <li class="list-inline-item"> <a class=" px-lg-1" href="https://www.facebook.com/wvumountaineers"> <span class="fa-brands fa-facebook" aria-hidden="true"></span> <span class="visually-hidden">WVU on Facebook</span> </a> </li> <li class="list-inline-item px-lg-1"> <a class="" href="https://twitter.com/WestVirginiaU"> <span class="fa-brands fa-x-twitter" aria-hidden="true"></span> <span class="visually-hidden">WVU on X / Twitter</span> </a> </li> <li class="list-inline-item ps-lg-1"> <a class="" href="https://www.youtube.com/user/westvirginiau"> <span class="fa-brands fa-youtube" aria-hidden="true"></span> <span class="visually-hidden">WVU on YouTube</span> </a> </li> </ul> </div> </div> </div> </footer> <script src="/javascripts/1740000152/vendor/bootstrap/bootstrap.bundle.min.js"></script> <script> /* global fetch */ const wvuEmergencyAlert = (() => { 'use strict'; // Variables: const getEmergencyEl = document.querySelector('#js-emergency-alert'); const getEmergencyEvents = getEmergencyEl.querySelector('#js-emergency-alert__events'); const getEmergencyDomain = getEmergencyEl.querySelector('#js-emergency-alert-domain'); const disableAlert = getEmergencyEl.dataset.disableEmergencyAlert || 'false'; const emergencyAlertUrl = getEmergencyEl.dataset.emergencyAlertJsonFeed || 'https://emergency.wvu.edu/emergency.json'; if (!emergencyAlertUrl) return; // Attempt to get boolean values from Custom Site Data: const isTrue = (value) => { if (typeof (value) === 'string') { value = value.trim().toLowerCase(); } switch (value) { case true: case 'true': case 1: case '1': case 'on': case 'On': case 'yes': case 'Yes': return true; default: return false; } }; // Fetch the data: const fetchData = async (apiUrl) => { try { const response = await fetch(apiUrl); if (!response.ok) { throw new Error(`❌ WVU Emergency Alert Network response was not OK: ${response.status}`); } return await response.json(); } catch (error) { console.error(`There was an error fetching the WVU Emergency Alert: ${error.message}`); } }; // Get root domain from API endpoint URL: // Returns an array with two items: // [URL for display, URL for href] const getDomain = (url) => { const makeUrl = new URL(url); const parts = []; parts.push(makeUrl.host, makeUrl.origin); // 0: no https, 1: full root domain return parts; }; // Changes URL of "For more information" link to match API endpoint root URL: const renderMoreInfoLink = (url = emergencyAlertUrl) => { const rootUrl = getDomain(url); getEmergencyDomain.innerText = rootUrl[0]; getEmergencyDomain.href = rootUrl[1]; }; // Render the HTML: const renderAlert = (events) => { getEmergencyEvents.innerHTML = events.map((item) => { const { event } = item; const html = ` <div class="event mt-3"> <h3 class="h5 mb-1"> ${event.title} </h3> <p class="small"> <time datetime="${event.updated_at}">${event.updated_at_formatted}</time> </p> ${event.body} </div> `; return html; }).join(''); renderMoreInfoLink(); getEmergencyEl.classList.remove('d-none'); }; const init = async () => { if (isTrue(disableAlert)) return; // Don't show alert if it's disabled via Site Data. const apiResponse = await fetchData(emergencyAlertUrl); if (!apiResponse.emergency.status) return; // Stop here if there's not an emergency. renderAlert(apiResponse.emergency.events); }; init(); })(); </script> </body> <!-- Generated by cs-prod-app-1c-28-121 at 2025-02-20 06:00:28 -0500 --> </html>