CINXE.COM

About Transfer Pathway Agreements & Processes | Transfer Center for Policy & Resources | Washington State University

<!DOCTYPE html> <html lang="en-US"> <head> <meta http-equiv="X-UA-Compatible" content="IE=EDGE"> <meta charset="UTF-8"> <meta name="viewport" content="width=device-width, initial-scale=1.0" > <link rel="profile" href="https://gmpg.org/xfn/11"> <link rel="icon" href="https://repo.wsu.edu/favicon/icon.svg"> <link rel="apple-touch-icon" sizes="180x180" href="https://repo.wsu.edu/favicon/apple-touch-icon.png"> <link rel="icon" type="image/png" sizes="32x32" href="https://repo.wsu.edu/favicon/favicon-32x32.png"> <link rel="icon" type="image/png" sizes="16x16" href="https://repo.wsu.edu/favicon/favicon-16x16.png"> <title>About Transfer Pathway Agreements &amp; Processes | Transfer Center for Policy &amp; Resources | Washington State University</title> <meta name='robots' content='max-image-preview:large' /> <meta name="google-site-verification" content="AFOD1A-pVfbA13Wu9AvuE47bUzWz7yXPh2331HI1WT8"> <link rel='dns-prefetch' href='//cdn.web.wsu.edu' /> <link rel='dns-prefetch' href='//cdnjs.cloudflare.com' /> <link rel='dns-prefetch' href='//wpcdn.web.wsu.edu' /> <script> window.dataLayer = window.dataLayer || []; </script> <script type='text/javascript'> /* <![CDATA[ */ var wsu_analytics = {"defaults":{"cookieDomain":".wsu.edu"},"wsuglobal":{"ga_code":"UA-55791317-1","campus":"pullman","college":"none","unit_type":"unit","unit":"none","subunit":"none","is_editor":"false","track_view":"yes","events":[]},"app":{"ga_code":"","page_view_type":"Front End","authenticated_user":"Not Authenticated","server_protocol":"HTTP\/1.0","wsuwp_network":"wsuwp.daesa.wsu.edu","spine_grid":"","spine_color":"","events":[]},"site":{"ga_code":"UA-56178168-8","ga4_code":"G-5JKF6FZF7Q","track_view":"yes","events":[]}}; /* ]]> */ // Determine if this is a mobile view using the same definition as the WSU Spine - less than 990px. function wsa_spine_type() { if ( window.matchMedia ) { return window.matchMedia( "(max-width: 989px)" ).matches ? 'spine-mobile' : 'spine-full'; } return 'spine-full'; } wsu_analytics.app.spine_type = wsa_spine_type(); </script> <!-- Google Tag Manager --> <script>(function(w,d,s,l,i){w[l]=w[l]||[];w[l].push({'gtm.start': new Date().getTime(),event:'gtm.js'});var f=d.getElementsByTagName(s)[0], j=d.createElement(s),dl=l!='dataLayer'?'&l='+l:'';j.async=true;j.src= '//www.googletagmanager.com/gtm.js?id='+i+dl;f.parentNode.insertBefore(j,f); })(window,document,'script','dataLayer','GTM-K5CHVG');</script> <!-- End Google Tag Manager --> <!-- 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-5BGKTN2');</script> <!-- End Google Tag Manager --><!-- 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-P9RHP4V');</script> <!-- End Google Tag Manager --><script> window._wpemojiSettings = {"baseUrl":"https:\/\/s.w.org\/images\/core\/emoji\/14.0.0\/72x72\/","ext":".png","svgUrl":"https:\/\/s.w.org\/images\/core\/emoji\/14.0.0\/svg\/","svgExt":".svg","source":{"concatemoji":"https:\/\/transfercredit.wsu.edu\/wp-includes\/js\/wp-emoji-release.min.js?ver=6.2.2"}}; /*! This file is auto-generated */ !function(e,a,t){var n,r,o,i=a.createElement("canvas"),p=i.getContext&&i.getContext("2d");function s(e,t){p.clearRect(0,0,i.width,i.height),p.fillText(e,0,0);e=i.toDataURL();return p.clearRect(0,0,i.width,i.height),p.fillText(t,0,0),e===i.toDataURL()}function c(e){var t=a.createElement("script");t.src=e,t.defer=t.type="text/javascript",a.getElementsByTagName("head")[0].appendChild(t)}for(o=Array("flag","emoji"),t.supports={everything:!0,everythingExceptFlag:!0},r=0;r<o.length;r++)t.supports[o[r]]=function(e){if(p&&p.fillText)switch(p.textBaseline="top",p.font="600 32px Arial",e){case"flag":return s("\ud83c\udff3\ufe0f\u200d\u26a7\ufe0f","\ud83c\udff3\ufe0f\u200b\u26a7\ufe0f")?!1:!s("\ud83c\uddfa\ud83c\uddf3","\ud83c\uddfa\u200b\ud83c\uddf3")&&!s("\ud83c\udff4\udb40\udc67\udb40\udc62\udb40\udc65\udb40\udc6e\udb40\udc67\udb40\udc7f","\ud83c\udff4\u200b\udb40\udc67\u200b\udb40\udc62\u200b\udb40\udc65\u200b\udb40\udc6e\u200b\udb40\udc67\u200b\udb40\udc7f");case"emoji":return!s("\ud83e\udef1\ud83c\udffb\u200d\ud83e\udef2\ud83c\udfff","\ud83e\udef1\ud83c\udffb\u200b\ud83e\udef2\ud83c\udfff")}return!1}(o[r]),t.supports.everything=t.supports.everything&&t.supports[o[r]],"flag"!==o[r]&&(t.supports.everythingExceptFlag=t.supports.everythingExceptFlag&&t.supports[o[r]]);t.supports.everythingExceptFlag=t.supports.everythingExceptFlag&&!t.supports.flag,t.DOMReady=!1,t.readyCallback=function(){t.DOMReady=!0},t.supports.everything||(n=function(){t.readyCallback()},a.addEventListener?(a.addEventListener("DOMContentLoaded",n,!1),e.addEventListener("load",n,!1)):(e.attachEvent("onload",n),a.attachEvent("onreadystatechange",function(){"complete"===a.readyState&&t.readyCallback()})),(e=t.source||{}).concatemoji?c(e.concatemoji):e.wpemoji&&e.twemoji&&(c(e.twemoji),c(e.wpemoji)))}(window,document,window._wpemojiSettings); </script> <style> img.wp-smiley, img.emoji { display: inline !important; border: none !important; box-shadow: none !important; height: 1em !important; width: 1em !important; margin: 0 0.07em !important; vertical-align: -0.1em !important; background: none !important; padding: 0 !important; } </style> <link rel='stylesheet' id='wsu_design_system_normalize-css' href='https://cdnjs.cloudflare.com/ajax/libs/normalize/8.0.1/normalize.min.css?ver=1.7.11-1.29.1' media='all' /> <link rel='stylesheet' id='wsu_design_system_icons-css' href='https://cdn.web.wsu.edu/designsystem/1.x/wsu-icons/dist/wsu-icons.bundle.css?ver=1.7.11-1.29.1' media='all' /> <link rel='stylesheet' id='wsu_design_system_css-css' href='https://cdn.web.wsu.edu/designsystem/2.x/dist/bundles/wsu-design-system.css?ver=1.7.11-1.29.1' media='all' /> <link rel='stylesheet' id='wsu_design_system_css_wordpress-css' href='https://cdn.web.wsu.edu/designsystem/2.x/dist/bundles/wsu-design-system.wordpress.css?ver=1.7.11-1.29.1' media='all' /> <link rel='stylesheet' id='wp-block-library-css' href='https://transfercredit.wsu.edu/wp-includes/css/dist/block-library/style.min.css?ver=6.2.2' media='all' /> <link rel='stylesheet' id='classic-theme-styles-css' href='https://transfercredit.wsu.edu/wp-includes/css/classic-themes.min.css?ver=6.2.2' media='all' /> <style id='global-styles-inline-css'> body{--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%);--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;}.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;} .wp-block-navigation a:where(:not(.wp-element-button)){color: inherit;} :where(.wp-block-columns.is-layout-flex){gap: 2em;} .wp-block-pullquote{font-size: 1.5em;line-height: 1.6;} </style> <link rel='stylesheet' id='tablepress-responsive-tables-css' href='https://transfercredit.wsu.edu/wp-content/plugins/tablepress-responsive-tables/css/responsive.dataTables.min.css?ver=1.3' media='all' /> <link rel='stylesheet' id='tablepress-default-css' href='https://wpcdn.web.wsu.edu/wp-daesa/uploads/sites/3116/tablepress-combined.min.css?ver=1' media='all' /> <link rel='stylesheet' id='genericond-css' href='https://transfercredit.wsu.edu/wp-content/plugins/genericond/css/genericond.css?ver=6.2.2' media='all' /> <link rel='stylesheet' id='wp-document-revisions-front-css' href='https://transfercredit.wsu.edu/wp-content/plugins/wp-document-revisions/css/style-front.css?ver=3.2.4' media='all' /> <!--[if !IE]><!--> <link rel='stylesheet' id='tablepress-responsive-tables-flip-css' href='https://transfercredit.wsu.edu/wp-content/plugins/tablepress-responsive-tables/css/tablepress-responsive-flip.min.css?ver=1.3' media='all' /> <!--<![endif]--> <script src='https://cdn.web.wsu.edu/designsystem/2.x/dist/bundles/wsu-design-system.init.js?ver=1.7.11-1.29.1' id='wsu_design_system_js_init-js'></script> <script src='https://transfercredit.wsu.edu/wp-content/plugins/wsuwp-plugin-jquery-migrate-custom/js/jquery/jquery-1.12.4-wp.js?ver=1.12.4-wp' id='jquery-core-js'></script> <script src='https://transfercredit.wsu.edu/wp-content/plugins/wsuwp-plugin-jquery-migrate-custom/js/jquery-migrate/jquery-migrate-1.4.1-wp.js?ver=1.4.1-wp' id='jquery-migrate-js'></script> <link rel="https://api.w.org/" href="https://transfercredit.wsu.edu/wp-json/" /><link rel="alternate" type="application/json" href="https://transfercredit.wsu.edu/wp-json/wp/v2/pages/294" /><link rel="EditURI" type="application/rsd+xml" title="RSD" href="https://transfercredit.wsu.edu/xmlrpc.php?rsd" /> <link rel="wlwmanifest" type="application/wlwmanifest+xml" href="https://transfercredit.wsu.edu/wp-includes/wlwmanifest.xml" /> <meta name="generator" content="WordPress 6.2.2" /> <link rel="canonical" href="https://transfercredit.wsu.edu/pathway-agreements-processes/" /> <link rel='shortlink' href='https://transfercredit.wsu.edu/?p=294' /> <link rel="alternate" type="application/json+oembed" href="https://transfercredit.wsu.edu/wp-json/oembed/1.0/embed?url=https%3A%2F%2Ftransfercredit.wsu.edu%2Fpathway-agreements-processes%2F" /> <link rel="alternate" type="text/xml+oembed" href="https://transfercredit.wsu.edu/wp-json/oembed/1.0/embed?url=https%3A%2F%2Ftransfercredit.wsu.edu%2Fpathway-agreements-processes%2F&#038;format=xml" /> <meta name="tec-api-version" content="v1"><meta name="tec-api-origin" content="https://transfercredit.wsu.edu"><link rel="alternate" href="https://transfercredit.wsu.edu/wp-json/tribe/events/v1/" /> <script type="text/javascript"> var jQueryMigrateHelperHasSentDowngrade = false; window.onerror = function( msg, url, line, col, error ) { // Break out early, do not processing if a downgrade reqeust was already sent. if ( jQueryMigrateHelperHasSentDowngrade ) { return true; } var xhr = new XMLHttpRequest(); var nonce = '4f4fdb3ba8'; var jQueryFunctions = [ 'andSelf', 'browser', 'live', 'boxModel', 'support.boxModel', 'size', 'swap', 'clean', 'sub', ]; var match_pattern = /\)\.(.+?) is not a function/; var erroredFunction = msg.match( match_pattern ); // If there was no matching functions, do not try to downgrade. if ( typeof erroredFunction !== 'object' || typeof erroredFunction[1] === "undefined" || -1 === jQueryFunctions.indexOf( erroredFunction[1] ) ) { return true; } // Set that we've now attempted a downgrade request. jQueryMigrateHelperHasSentDowngrade = true; xhr.open( 'POST', 'https://transfercredit.wsu.edu/wp-admin/admin-ajax.php' ); xhr.setRequestHeader( 'Content-Type', 'application/x-www-form-urlencoded' ); xhr.onload = function () { var response, reload = false; if ( 200 === xhr.status ) { try { response = JSON.parse( xhr.response ); reload = response.data.reload; } catch ( e ) { reload = false; } } // Automatically reload the page if a deprecation caused an automatic downgrade, ensure visitors get the best possible experience. if ( reload ) { location.reload(); } }; xhr.send( encodeURI( 'action=jquery-migrate-downgrade-version&_wpnonce=' + nonce ) ); // Suppress error alerts in older browsers return true; } </script> <style id="wp-custom-css"> /*!*************************************** * ▄▀▀▄ █▀▀▄ █▀▀▄ ▀█ █ ▄▀▀▀ ▄▀▀▀ ▄▀▀▀ * █▄▄█ █ █ █ █ █ ▄ █ ▀▀▀█ ▀▀▀█ * █ ▀ ▀▀▀ ▀▀▀ ▀▀▀ ▀▀▀ ▀▀▀ ▀▀▀ * ADDITIONAL CSS FOR CUSTOMIZATION OF * WDS-THEMED DAESA WEBSITES BUILT ON * THE WSUWP PLATFORM. * --------------------------------------- * Issue Fixes = Improvements to and * corrections of upstream stylesheets. * Enhancements = Customized styling * unique to DAESA branded websites. * Atomic CSS = Custom utility classes. * --------------------------------------- * @version 0.10.0 * @author Daniel Rieck * [daniel.rieck@wsu.edu] * (https://github.com/invokeImmediately) * @license MIT - Copyright © 2023 * Washington State University * https://mit-license.org/ ****************************************/ /*! —» Issue Fix: Web Browsers → Avoid fuzzy downsampled images on Chrome «— */ body { image-rendering: -webkit-optimize-contrast; } /*! —» Issue fix: WDS Websites → Set CSS variable for handling scrollbar artifacts «— */ :root { --scrollbar-w: 0px; } /*! —» Issue fix: WDS Websites → Compensate for width-changing effects of classic scrollbars «— */ @media screen and (pointer: fine) and (min-width: 1260px) { .wsu-navigation-site-vertical~.wsu-wrapper-site .wsu-width--full { margin-left: calc(((100vw - 100%) - 280px - var(--scrollbar-w))/ -2); margin-right: calc(((100vw - 100%) - 280px - var(--scrollbar-w))/ -2); } .wsu-navigation-site-vertical--is-closed .wsu-navigation-site-vertical~.wsu-wrapper-site .wsu-width--full { margin-left: calc(((100vw - 100%) - 60px - var(--scrollbar-w))/ -2); margin-right: calc(((100vw - 100%) - 60px - var(--scrollbar-w))/ -2); } } @media screen and (pointer: fine) and (min-width: 1260px) { .wsu-navigation-site-vertical~.wsu-wrapper-site .wsu-width--full { margin-left: calc(((100vw - 100%) - 280px - var(--scrollbar-w))/ -2); margin-right: calc(((100vw - 100%) - 280px - var(--scrollbar-w))/ -2); } .wsu-navigation-site-vertical--is-closed .wsu-navigation-site-vertical~.wsu-wrapper-site .wsu-width--full { margin-left: calc(((100vw - 100%) - 60px - var(--scrollbar-w))/ -2); margin-right: calc(((100vw - 100%) - 60px - var(--scrollbar-w))/ -2); } } @media screen and (pointer: fine) and (min-width: 769px) and (max-width: 1259px) { .wsu-navigation-site-vertical~.wsu-wrapper-site .wsu-width--full { margin-left: calc(((100vw - 100%) - 60px - var(--scrollbar-w))/ -2); margin-right: calc(((100vw - 100%) - 60px - var(--scrollbar-w))/ -2); } } @media screen and (pointer: fine) and (max-width: 768px) { .wsu-wrapper-site .wsu-width--full { margin-left: calc((100vw - 100% - var(--scrollbar-w))/ -2); margin-right: calc((100vw - 100% - var(--scrollbar-w))/ -2); width: auto; } } /*! —» Issue fix: WDS Websites → Hide navigation menu and recolor header and footers when printing «— */ @media print { .wsu-navigation-site-vertical { display: none !important; } .wsu-header-site { background-color: #f7f7f7; color: #000; } .wsu-footer-site { background-color: #f7f7f7; color: #000; } .wsu-footer-site .wsu-coug-head { fill: black; } .wsu-footer-global { background-color: #f0f0f0; color: #000; } .wsu-card-group--per-row-3 .wsu-card, .wsu-card-wrapper--per-row-3 .wsu-card { width: calc(100% - (.875rem * 2)); } .wsu-row--halves .wsu-column { width: 100%; flex-grow: 0; flex-shrink: 0; } .wsu-row--sidebar-right .wsu-column, .wsu-row--sidebar-right .wsu-column:last-child { flex-grow: 0; flex-shrink: 0; width: 100%; } .wsu-row--thirds .wsu-column { flex-grow: 0; flex-shrink: 0; width: 100%; } .wsu-accordion__content { visibility: visible !important; max-height: none !important; } } /*! —» Issue Fix: WDS Link Elements → Coloring «— */ .wsu-color-background--gray-85 a, .wsu-color-background--gray-95 a { color: white; } .wsu-color-background--gray-85 a:not(:hover):not(:focus), .wsu-color-background--gray-95 a:not(:hover):not(:focus) { text-decoration-color: white; } .wsu-footer-site a { outline-color: white; } .wsu-footer-site__offsite-menu li a:before { background-color: white; } .wsu-footer-site__offsite-menu li a:focus::before { height: 0; } .wsu-meta-address a { text-decoration-color: white; } h1 a::after, h2 a::after, h3 a::after, h4 a::after, h5 a::after, h6 a::after { font-size: .65em; margin-left: .5em; } .wsu-footer-site__offsite-menu a, .wsu-menu-deep-links a { border-bottom-color: transparent; } .wsu-menu-deep-links a:after { background-color: white; } /*! —» Issue Fix: WDS List Elements → Marker color inheritance «— */ [class*=wsu-color-text--] li::marker { color: inherit; } /*! —» Issue Fix: WDS List Elements → Typographical sizing «— */ ul ul, ol ol, ul ol, ol ul { font-size: inherit; } /*! —» Issue Fix: WDS List Elements → Improve presentation when ordered and nested «— */ ol li li li { list-style-type: lower-roman; } /*! —» Issue Fix: WDS Paragraph Elements → Hide when empty «— */ p:empty { display: none !important; } /*! —» Issue Fix: WDS Breadcrumb Components → Home icon spacing «— */ .breadcrumbs .wsu-i-home { margin-right: .5rem; } /*! —» Issue Fix: WDS Content Wrapper Components → Overall presentation «— */ .wsu-wrapper-site { background-color: #f7f7f7; } .wsu-wrapper-content { background-color: #fff; } .wsu-wrapper-content::before { background-color: transparent; } .wsu-wrapper-content:first-child::before { box-shadow: 0 2px 2px rgb(0 0 0 / 20%); top: -3px; } .wsu-wrapper-content::after { background-color: #e6e6e6; bottom: 0; content: ""; display: block; height: 3px; left: calc((100vw - 100%)/ -2); position: absolute; right: calc((100vw - 100%)/ -2); width: auto; } @media screen and (min-width: 99rem) { .wsu-wrapper-site { background-image: repeating-linear-gradient(-45deg, #f2f2f2 0, white 1px, white 8px, #f2f2f2 9px, #f2f2f2 10px); } .wsu-wrapper-content { background: white; border-left: 1px solid #e7e7e7; border-right: 1px solid #e7e7e7; } .wsu-hero:not([class*="-hero--style-"]):not([class*=wsu-style--])::after { left: calc(((100vw - 1200px) - 278px - var(--scrollbar-w)) / 2); right: calc(((100vw - 1200px) - 278px - var(--scrollbar-w)) / 2); } .wsu-navigation-site-vertical--is-closed .wsu-navigation-site-vertical~.wsu-wrapper-site .wsu-hero:not([class*="-hero--style-"])::after { left: calc(((100vw - 1200px) - 58px - var(--scrollbar-w)) / 2); right: calc(((100vw - 1200px) - 58px - var(--scrollbar-w)) / 2); } .wsu-hero:not([class*="-hero--style-"]):not([class*=wsu-style--]) .wsu-image-frame { background-color: transparent; } .wsu-hero .wsu-image-frame img { clip-path: polygon(0% 0%, 100% 0%, 100% 83.3333%, calc(100% - ((100vw - 1200px) - 277px - var(--scrollbar-w)) / 2) 83.3333%, calc(100% - ((100vw - 1200px) - 277px - var(--scrollbar-w)) / 2) 100%, calc(((100vw - 1200px) - 277px - var(--scrollbar-w)) / 2) 100%, calc(((100vw - 1200px) - 277px - var(--scrollbar-w)) / 2) 83.3333%, 0% 83.3333%); } .wsu-navigation-site-vertical--is-closed .wsu-navigation-site-vertical~.wsu-wrapper-site .wsu-hero .wsu-image-frame img { clip-path: polygon(0% 0%, 100% 0%, 100% 83.3333%, calc(100% - ((100vw - 1200px) - 59px - var(--scrollbar-w)) / 2) 83.3333%, calc(100% - ((100vw - 1200px) - 59px - var(--scrollbar-w)) / 2) 100%, calc(((100vw - 1200px) - 57px - var(--scrollbar-w)) / 2) 100%, calc(((100vw - 1200px) - 57px - var(--scrollbar-w)) / 2) 83.3333%, 0% 83.3333%); } } /*! —» Issue Fix: WDS Section Components → Responsive design «— */ @media screen and (max-width: 576px) { .wsu-section__inner { padding-left: 2.25rem; padding-right: 2.25rem; } } /*! —» Issue Fix: WDS Accordion Components → Layout of nested accordions «— */ .wsu-accordion--open .wsu-accordion:not(.wsu-accordion--open) .wsu-accordion__content { max-height: 0; overflow: hidden; transition: max-height cubic-bezier(0,0,.03,1) .3s,visibility 0s .4s; visibility: hidden; } .wsu-accordion--open .wsu-accordion:not(.wsu-accordion--open) .wsu-accordion__title::before { content: "\F137"; } /*! —» Issue Fix: WDS Global Header Modules → Bordering «— */ .wsu-header-global:after { background-color: #e6e6e6; content: ""; display: block; height: 3px; left: calc((100vw - 100%)/ -2); position: absolute; right: calc((100vw - 100%)/ -2); top: 100%; width: auto; } /*! —» Issue Fix: WDS Hero Banner Modules → Presentation «— */ .wsu-hero--no-bottom-bleed .wsu-image-frame--fill { bottom: 0; } .wsu-hero--no-bottom-bleed:after { content: none; } /*! —» Issue Fix: WDS Primary Navigation Modules → Presentation «— */ .wsu-navigation-site-vertical--color-dark .wsu-navigation-site-vertical__panel { border: 0; } .wsu-navigation-site-vertical--is-closed .wsu-navigation-site-vertical__open-button:focus, .wsu-navigation-site-vertical--is-closed .wsu-navigation-site-vertical__open-button:hover { border-right: 0; color: black; } .wsu-navigation-site-vertical__open-button { border: 0; } .wsu-navigation-site-vertical .wsu-menu a+button:focus::before, .wsu-navigation-site-vertical .wsu-menu a+button:hover::before, .wsu-navigation-site-vertical .wsu-menu button:first-child:focus::before, .wsu-navigation-site-vertical .wsu-menu button:first-child:hover::before { bottom: 50%; transform: translateY(0.65rem); } .wsu-navigation-site-vertical .wsu-menu button:first-child { padding-right: 50px; } /*! —» Issue Fix: WDS Card Modules → Overall presentation «— */ .wsu-card.wsu-color-background--white { border-bottom: 1px solid #e6e6e6; border-left: 1px solid #e6e6e6; border-right: 1px solid #e6e6e6; } .wsu-card[class*=wsu-color-background] { border-radius: 4px; } .wsu-card-wrapper--univ-courses .wsu-card p + p { margin-top: 1.675rem; } .wsu-card-wrapper--univ-courses h3 { font-size: 1.5rem; } /*! —» Issue Fix: WDS Sticky Nav Modules → Background «— */ .wsu-sticky-nav--style-crimson .wsu-anchor-menu { justify-content: center; } nav.wsu-sticky-nav--style-crimson { position: relative; } .wsu-sticky-nav--style-crimson .wsu-sticky-box__content { margin-bottom: 0; } @media screen and (min-width: 1260px) { nav.wsu-sticky-nav--style-crimson:after { background-color: white; bottom: 0; content: ""; left: 0; position: absolute; right: 0; top: 0; } .wsu-navigation-site-vertical~.wsu-wrapper-site nav.wsu-sticky-nav--style-crimson:after { margin-left: calc(((100vw - 100%) - 280px)/ -2); margin-right: calc(((100vw - 100%) - 280px)/ -2); } } /*! —» Issue Fix: WSUWP Content Syndicate Modules → Font sizing «— */ .wsuwp-content-syndicate-list { font-size: inherit; } /*! —» Issue Fix: TablePress Modules → Overall presentation «— */ .tablepress thead th, .tablepress-scroll-wrapper .tablepress thead th, .dataTables_wrapper .tablepress.dataTable thead th:not(:hover):not(:focus) { background: #f0f0f0!important; } .tablepress:not(.dataTable) { border-top: 4px solid #a60f2d; } .tablepress thead th { border-bottom-color: #bbb; } /*! —» Issue Fix: Tribe Events Calendar Block Assemblies → Overall presentation «— */ #tribe-events { padding-top: 0; } .wsu-article-header__title:empty { height: 5.25rem; } .wsu-article-header__title:empty:after { margin-top: 4.875rem; } @media all and (max-width: 768px) { .wsu-article-header__title:empty { height: 3.9375rem; } .wsu-article-header__title:empty:after { margin-top: 3.5625rem; } } .single-tribe_events .wsu-article-header { display: none; } .post-type-archive-tribe_events h3 a::after { margin-left: 0.1em; } .tribe-events-notices li { color: #767676; position: relative; padding-left: 1.5em; } .tribe-events-notices li:before { content: "\F123"; display: inline-block; position: absolute; font-family: wsu-icons; left: 0; top: 48%; transform: translateY(-50%); } /*! —» Issue Fix: News Page Block Assemblies → Overall presentation «— */ .archive .wsu-meta-byline { display: none; } .archive .wsu-wrapper-sidebar p, .archive .wsu-wrapper-sidebar ol, .archive .wsu-wrapper-sidebar ul, .blog .wsu-wrapper-sidebar p, .blog .wsu-wrapper-sidebar ol, .blog .wsu-wrapper-sidebar ul, .single-post .wsu-wrapper-sidebar p, .single-post .wsu-wrapper-sidebar ol, .single-post .wsu-wrapper-sidebar ul { font-size: .875rem; } .single-post .wsu-article p, .single-post .wsu-article ol, .single-post .wsu-article ul { font-size: .95rem; } .single-post .wsu-article > p:first-of-type { margin-top: 1.75rem; font-size: 1.125rem; } .single-post .wsu-article-hero { margin-top: .3rem; } .archive .wsu-widget + .wsu-widget, .blog .wsu-widget + .wsu-widget, .single-post .wsu-widget + .wsu-widget { border-top: 1px solid #e7e7e7; padding-top: 1.5rem; } .archive .wsu-article + .wsu-article, .blog .wsu-article + .wsu-article { border-top: 1px solid #e7e7e7; margin-top: -2.25rem; padding-top: .5rem; } @media screen and (min-width: 769px) { .archive .wsu-article-header__title, .blog .wsu-article-header__title, .single-post .wsu-article-header__title { font-size: 2.4rem; } .single-post .wsu-article > h2 { font-size: 1.7rem; } } /*! —» Issue fix: Gravity Forms Block Assemblies → Radio and checkbox font weights «— */ .gfield_radio .gchoice label, .gfield_checkbox .gchoice label { font-weight: 400; } /*! —» Issue Fix: Gravity Forms Block Assemblies → Input field maximum width «— */ .gform_wrapper.gravity-theme .gfield-choice-input+label { max-width: calc(100% - 32px - 1.8em); } /*! —» Issue Fix: Gravity Forms Block Assemblies → Overly wide grid gap «— */ .gform_wrapper.gravity-theme .gform_fields { grid-row-gap: 1.75rem; } /*! —» Issue Fix: Gravity Forms Block Assemblies → Junky layout of nested entries «— */ .gpnf-nested-entries, .gpnf-row-actions > ul { margin-bottom: 0; } .gpnf-nested-entries .gfield_list { margin-bottom: 0; } /*! —» Issue Fix: WDS Block Assemblies on Home Pages → Typographical sizing «— */ @media only screen and (min-width: 993px) { .home .wsu-hero .wsu-title, .page-id-3252 .wsu-hero .wsu-title { font-size: 3.5rem; line-height: 1.2; } .home .wsu-hero .wsu-caption { font-weight: 500; margin-top: 2.25rem; } } .home .breadcrumbs { display: none; } .home h1 { font-size: 2.75rem; } @media screen and (max-width: 768px) { .home h1 { font-size: 2rem; } } /*! —» Enhancement: WDS Site Header Modules → Coloring «— */ .wsu-header-site { background-color: #333; color: #fff; } .wsu-header-site__title { color: inherit; } /*! —» Enhancement: Page header assemblies → Sharper presentation «— */ .breadcrumbs { border-bottom: 1px solid #e6e6e6; box-sizing: border-box; margin-bottom: 1.125rem; padding-bottom: .625rem; } .wsu-column--white-text .breadcrumbs { border-color: rgb(230 230 230 / 60%); } :where(h1:not(.wsu-hero__title)) { border-bottom: 1px solid #e6e6e6; padding-bottom: 1.375rem; } .wsu-column--white-text h1 { border-bottom: 1px solid rgb(230 230 230 / 60%); } h1::after { background: repeating-linear-gradient(-45deg, #e6e6e6 0, transparent 1px, transparent 3px, #e6e6e6 4px, #e6e6e6 5px); bottom: calc(-.375rem - 1px); margin: 0; position: absolute; right:0; width: 6.55rem; } .wsu-column--white-text h1::after { background: repeating-linear-gradient(-45deg, rgb(230 230 230 / 60%) 0, transparent 1px, transparent 3px, rgb(230 230 230 / 60%) 4px, rgb(230 230 230 / 60%) 5px); } h1::before { border-right: .375rem solid transparent; border-top: .375rem solid #a60f2d; bottom: -.375rem; box-sizing: border-box; box-sizing: border-box; content: ''; display: inline-block; height: .375rem; position: absolute; width: 6.87rem; } .wsu-hero__caption h1::before { content: none; } .wsu-heading--style-marked::after, .wsu-heading--style-marked::before { background-color: transparent; box-sizing: border-box; border-right: 6px solid transparent; border-top: 6px solid #a60f2d; width: 56px; } .wsu-heading--mark-color-gray::after, .wsu-heading--mark-color-gray::before { border-top-color: #b3b3b3; } /*! —» Enhancement: WDS Link Elements → Heading/hX-style «— */ .hx-style-link:not(:hover) { color: inherit; text-decoration-color: transparent; } .hx-style-link:hover { text-decoration-color: inherit; } .hx-style-link::after { content: '\F126'; font-family: wsu-icons; font-size: .7em; color: inherit; margin-left: .5em; text-decoration: none; } /*! —» Enhancement: WDS Heading Element → Heading tail text «— */ .hX-tail-text { display: block; font-size: 1rem; } /*! —» Enhancement: WDS Column Components → Full-bleed row design «— */ .wsu-row.wsu-row--full-bleed:after { bottom: 0; content: ""; left: 0; position: absolute; right: 0; top: 0; } .wsu-row--full-bleed > .wsu-column { z-index: 1; } /*! —» Enhancement: WDS Column Components → Full-bleed row coloring «— */ .wsu-wrapper-site .wsu-row.wsu-row--full-bleed:after { margin-left: calc((100vw - 100%)/ -2); margin-right: calc((100vw - 100%)/ -2); } @media screen and (min-width: 1260px) { .wsu-navigation-site-vertical--is-closed .wsu-navigation-site-vertical~.wsu-wrapper-site .wsu-row.wsu-row--full-bleed:after { margin-left: calc(((100vw - 100%) - 60px)/ -2); margin-right: calc(((100vw - 100%) - 60px)/ -2); } } @media screen and (min-width: 1260px) { .wsu-navigation-site-vertical~.wsu-wrapper-site .wsu-row.wsu-row--full-bleed:after { margin-left: calc(((100vw - 100%) - 280px)/ -2); margin-right: calc(((100vw - 100%) - 280px)/ -2); } .wsu-navigation-site-vertical--is-closed .wsu-navigation-site-vertical~.wsu-wrapper-site .wsu-row.wsu-row--full-bleed:after { margin-left: calc(((100vw - 100%) - 60px)/ -2); margin-right: calc(((100vw - 100%) - 60px)/ -2); } } .wsu-row--full-bleed.wsu-color-background--gray-0:after { background-color: #f7f7f7; } .wsu-row--full-bleed.wsu-color-background--gray-5:after { background-color: #f2f2f2; } .wsu-row--full-bleed.wsu-color-background--gray-10:after { background-color: #e6e6e6; } .wsu-row--full-bleed.wsu-color-background--gray-85:after { background-color: #262626; } .wsu-row--full-bleed.wsu-color-background--gray-95:after { background-color: #080808; } /*! —» Enhancement: WDS Hero Banner Modules → Overall presentation «— */ .wsu-hero:not([class*="-hero--style-"]) .wsu-title, .wsu-hero:not([class*="-hero--style-"]) .wsu-caption { text-shadow: 0 0 8px #000, 1px 2px 3px #000, -1px -1px 1px #000; } .page .wsu-hero:not([class*="-hero--style-"]) .wsu-title { font-size: 2.75rem; line-height: 1.25; } /*! —» Enhancement: WDS Hero Banner Modules → Design variants «— */ .wsu-hero--hide-tail { overflow-y: hidden; } .wsu-hero--shadow-text .wsu-title { text-shadow: 0 0 1px #000, 0 0 3px rgb(0 0 0 / 50%), 0 0 5px rgb(0 0 0 / 50%), 0 0 16px #000, 0 0 24px #000, 0 0 32px #000; } .wsu-hero--box-bg .wsu-hero__caption:before { background: rgb(0 0 0 / 65%); } .wsu-hero--box-bg-darker .wsu-hero__caption:before { background: rgb(0 0 0 / 85%); } .wsu-hero--invert-axis .wsu-hero__caption { margin-left: auto; } .wsu-hero--invert-axis .wsu-hero__caption:before { clip-path: polygon(100% 0, 100% 100%, 80px 100%, 0 calc(100% - 100px), 0 0); } /*! —» Enhancement: WDS Accordion Components → Improved interaction reactivity «— */ .wsu-accordion__content { border-left: 1px solid transparent; border-right: 1px solid transparent; } .wsu-accordion--open .wsu-accordion__title:hover + .wsu-accordion__content { border-color: #ccc; } /*! —» Enhancement: WDS Accordion Components → Typograhic title variants «— */ .wsu-accordion--semi-bold-title .wsu-accordion__title-button { font-weight: 600; } .wsu-accordion--bold-title .wsu-accordion__title-button { font-weight: 700; } /*! —» Enhancement: WDS Icon Components → Design variants «— */ .wsu-i-arrow-right--offsite { margin-right: 0; position: relative; } .wsu-i-arrow-right--offsite:before { display: inline-block; font-size: .6em; transform: translate(-15%, 40%) rotate(-45deg); margin-left: .5em; } @media not all and (prefers-reduced-motion) { a:hover .wsu-i-arrow-right--offsite:before { transform: rotate(-45deg); transition: transform 0.2s ease; } } /*! —» Enhancement: WDS Image Components → Design variants «— */ .wp-block-image.img--capped-resize img { max-width: attr(width); max-width: attr(width px); } /*! —» Enhancement: WDS Separator Component → Design variants «— */ hr:not([class*=separator--style-]) { background-color: #f7f7f7; border: 1px solid #e7e7e7; box-sizing: border-box; height: .375rem; margin: 3.125rem 0; } .wsu-separator--subtle { border: 1px solid #e7e7e7 !important; } /*! —» Enhancement: WDS Row Components → Fixed height rows «— */ @media all and (min-width: 861px) { .wsu-row-fixed-h { box-sizing: content-box; display: flex; height: 650px; } .wsu-row-fixed-h .wsu-column { height: 100% !important; } .wsu-row-fixed-h--xsmall { height: 300px; } .wsu-row-fixed-h--small { height: 500px; } .wsu-row-fixed-h--medium { height: 800px; } .wsu-row-fixed-h--large { height: 800px; } .wsu-row-fixed-h--medium { height: 800px; } .wsu-row-fixed-h .wsu-column { overflow-y: auto; position: relative; } .wsu-row-fixed-h .wsu-row-fixed-h__btm-scroll-indctr, .wsu-row-fixed-h .wsu-row-fixed-h__top-scroll-indctr { position: absolute; right: 0.375rem; transition: opacity .4s 3s ease; } .wsu-row-fixed-h .wsu-row-fixed-h__btm-scroll-indctr { bottom: 0; } .wsu-row-fixed-h .wsu-row-fixed-h__top-scroll-indctr { top: 0; } .wsu-row-fixed-h__btm-scroll-indctr .wsu-i-arrow-down, .wsu-row-fixed-h__top-scroll-indctr .wsu-i-arrow-up { margin: 0; } .wsu-column:hover .wsu-row-fixed-h__btm-scroll-indctr, .wsu-column:hover .wsu-row-fixed-h__top-scroll-indctr, .wsu-column--scrolled-at-bottom .wsu-row-fixed-h__btm-scroll-indctr, .wsu-column--scrolled-at-top .wsu-row-fixed-h__top-scroll-indctr { opacity: 0; transition: opacity .4s .5s ease; } } @media all and (max-width: 860px) { .wsu-row-fixed-h__btm-scroll-indctr, .wsu-row-fixed-h__top-scroll-indctr { display: none; } } /*! —» Enhancement: WDS Decorator Components → Background art «— */ .wsu-decorator--bg-zigzag-gray { background: linear-gradient(135deg, #e8e8e8 25%, transparent 25%) -2rem 0, linear-gradient(225deg, #e8e8e8 25%, transparent 25%) -2rem 0, linear-gradient(315deg, #e8e8e8 25%, transparent 25%), linear-gradient(45deg, #e8e8e8 25%, transparent 25%); background-color: #f2f2f2; background-size: 4rem 4rem; } .wsu-decorator--bg-wavy-zigzag-gray { background: linear-gradient(135deg, #e8e8e8 25%, transparent 25%) -2rem 0, linear-gradient(225deg, #e8e8e8 25%, transparent 25%) -2rem 0, linear-gradient(315deg, #e8e8e8 25%, transparent 25%), linear-gradient(45deg, #e8e8e8 25%, transparent 25%); background-color: #f2f2f2; background-size: 2.5rem 2rem; } .wsu-decorator--bg-steps-gray { background-color: #e8e8e8; background-size: 58px 58px; background-position: 0px 2px, 4px 35px, 29px 31px, 33px 6px, 0px 36px, 4px 2px, 29px 6px, 33px 30px; background-image: linear-gradient(335deg, #f2f2f2 23px, transparent 23px), linear-gradient(155deg, #f2f2f2 23px, transparent 23px), linear-gradient(335deg, #f2f2f2 23px, transparent 23px), linear-gradient(155deg, #f2f2f2 23px, transparent 23px), linear-gradient(335deg, #f2f2f2 10px, transparent 10px), linear-gradient(155deg, #f2f2f2 10px, transparent 10px), linear-gradient(335deg, #f2f2f2 10px, transparent 10px), linear-gradient(155deg, #f2f2f2 10px, transparent 10px); } .wsu-decorator--bg-steps-dark-gray { background-color: #777; background-size: 58px 58px; background-position: 0px 2px, 4px 35px, 29px 31px, 33px 6px, 0px 36px, 4px 2px, 29px 6px, 33px 30px; background-image: linear-gradient(335deg, #303030 23px, transparent 23px), linear-gradient(155deg, #303030 23px, transparent 23px), linear-gradient(335deg, #303030 23px, transparent 23px), linear-gradient(155deg, #303030 23px, transparent 23px), linear-gradient(335deg, #303030 10px, transparent 10px), linear-gradient(155deg, #303030 10px, transparent 10px), linear-gradient(335deg, #303030 10px, transparent 10px), linear-gradient(155deg, #303030 10px, transparent 10px); } /*! —» Enhancement: WDS General Components → Background art «— */ .wsu-background--style-wsu-crimson.wsu-background--style-no-pattern { background-image: radial-gradient(ellipse at center,#ca1237 0,#78001e 100%); color: #fff; } .wsu-bg-acronym-white { background-color: white; background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 163.87 108'%3E%3Cdefs%3E%3Cstyle%3E.cls-1%7Bfill:none;stroke:%23fff;%7D%3C/style%3E%3C/defs%3E%3Cg id='Layer_2' data-name='Layer 2'%3E%3Cg id='Layer_1-2' data-name='Layer 1'%3E%3Cpolygon stroke='%230000001a' fill='none' points='64.91 1.24 53.35 33.66 42.93 1.24 33.95 1.24 23.49 33.7 12.04 1.57 11.94 1.24 0.71 1.24 18.38 50.89 29.23 50.89 38.42 22.21 47.64 50.89 58.44 50.89 76.16 1.24 64.91 1.24'/%3E%3Cpath stroke='%230000001a' fill='none' d='M86.63,14.71c0-3,2.53-5,7.07-5a21.29,21.29,0,0,1,14.43,5.43L114,7.42C109.1,2.88,102.55.5,94.67.5,83,.5,75.84,7.35,75.84,15.61c0,18.67,28.57,12.65,28.57,21.43,0,2.83-2.82,5.5-8.63,5.5A21.77,21.77,0,0,1,80,35.85l-5.73,8c4.61,4.69,11.46,7.89,21,7.89,13.4,0,19.87-6.85,19.87-15.92C115.13,17.32,86.63,22.6,86.63,14.71Z'/%3E%3Cpath stroke='%230000001a' fill='none' d='M118.37,31.08V1.24h10.71V30.71c0,6.92,4,11.68,11.68,11.68s11.61-4.76,11.61-11.68V1.24h10.79V31c0,12.35-7.29,20.76-22.4,20.76S118.37,43.29,118.37,31.08Z'/%3E%3Cpolygon stroke='%230000001a' fill='none' points='98.96 105.3 110.52 72.88 120.94 105.3 129.91 105.3 140.38 72.84 151.83 104.97 151.93 105.3 163.16 105.3 145.49 55.66 134.64 55.66 125.45 84.33 116.23 55.66 105.43 55.66 87.72 105.3 98.96 105.3'/%3E%3Cpath stroke='%230000001a' fill='none' d='M77.24,91.83c0,3-2.53,5-7.07,5a21.3,21.3,0,0,1-14.43-5.44l-5.88,7.74C54.77,103.66,61.32,106,69.2,106,80.89,106,88,99.2,88,90.94c0-18.68-28.57-12.65-28.57-21.43,0-2.83,2.82-5.51,8.63-5.51a21.71,21.71,0,0,1,15.77,6.7l5.73-8C85,58,78.13,54.77,68.61,54.77c-13.4,0-19.87,6.85-19.87,15.93C48.74,89.23,77.24,83.94,77.24,91.83Z'/%3E%3Cpath stroke='%230000001a' fill='none' d='M45.51,75.46V105.3H34.79V75.83c0-6.92-4-11.68-11.68-11.68S11.5,68.91,11.5,75.83V105.3H.71V75.53C.71,63.18,8,54.77,23.11,54.77S45.51,63.26,45.51,75.46Z'/%3E%3C/g%3E%3C/g%3E%3C/svg%3E"); background-repeat: repeat; background-size: 100px; background-position: center center; } /*! —» Enhancement: WDS Sticky Nav Module → "On this page" design variant «— */ .wsu-section--on-this-page { border-bottom: 2px solid #f0f0f0; margin-bottom: 1.25rem; padding: 0; position: relative; overflow: show; } .wsu-section--on-this-page::after { display: block; background: linear-gradient(to bottom,rgba(0,0,0,.1) 0,rgba(0,0,0,0) 100%); bottom: -1.25rem; content: ""; height: 1.25rem; position: absolute; width: 200vw; z-index: 1; } .wsu-section--on-this-page .wsu-sticky-nav { padding: 0; background-color: #fff; justify-content: space-between; position: relative; } .wsu-section--on-this-page .wsu-anchor-menu { background-color: #fff; display: flex; flex-grow: 1; flex-wrap: wrap; list-style-type: none; justify-content: center; position: relative; margin: 0; padding: 0; } .wsu-section--on-this-page .wsu-anchor-menu li { margin: 0; padding: 0; position: relative; } .wsu-section--on-this-page .wsu-anchor-menu li::after { content: ''; background-color: #ca1237; position: absolute; bottom: 0; left: 0; right: 0; width: auto; height: 0; transition: height cubic-bezier(0,0,.03,1) 150ms; } .wsu-section--on-this-page .wsu-anchor-menu li:hover::after{ height: 6px; } .wsu-section--on-this-page .wsu-sticky-box__content { border: 0!important; padding: 0!important; } .wsu-section--on-this-page .wsu-anchor-menu a { display: block; font-weight: 600; color: #a60f2d; text-decoration: none; font-size: inherit; line-height: 1.5; padding: .75rem 1.25rem; position: relative; } .wsu-section--on-this-page .wsu-anchor-menu a::before { content: ''; border-left: 2px solid #d9d9d9; bottom: .65rem; display: block; height: auto; left: -1px; position: absolute; top: .65rem; width: 0; transition: height cubic-bezier(0,0,.03,1) 150ms; } .wsu-section--on-this-page .wsu-anchor-menu li:first-child a::before { content: none; } .wsu-section--on-this-page .wsu-sticky-box--stuck { visibility: hidden!important; } .wsu-section--on-this-page .wsu-sticky-box--stuck { visibility: hidden!important; } .wsu-section--on-this-page .wsu-sticky-box--stuck .wsu-sticky-box__content { position: relative!important; top: 0!important; } .wsu-section__title--on-this-page + .wsu-sticky-nav { padding-top: 0 !important; } .wsu-section__title--on-this-page + .wsu-sticky-nav:before { content: none !important; } @media screen and (min-width: 1201px) { .wsu-section__title--on-this-page { text-align: center; } } @media screen and (max-width: 1200px) { .wsu-section--on-this-page .wsu-sticky-nav { padding: 2rem 0; } .wsu-section--on-this-page .wsu-sticky-nav::before { content: "On this page"; color: #4d4d4d; display: block; font-weight: 800; font-size: 1.25rem; margin-bottom: .375rem; } .wsu-section--on-this-page .wsu-anchor-menu { justify-content: flex-start; } .wsu-section--on-this-page .wsu-anchor-menu li { border-bottom: 1px solid #d9d9d9; margin-right: 2rem; width: calc( 33% - 2rem ); } .wsu-section--on-this-page .wsu-anchor-menu a { padding: .5rem 0 !important; font-size: inherit !important; display: inline-block !important; } .wsu-section--on-this-page .wsu-anchor-menu a::before { content: none; } } @media screen and (max-width: 800px) { .wsu-section--on-this-page .wsu-anchor-menu li { width: calc(50% - 2rem); } } @media screen and (max-width: 500px) { .wsu-section--on-this-page .wsu-anchor-menu li { width: calc(100% - 2rem); } } /*! —» Enhancement: WDS Sticky Nav Module → Minimalist "on this page" design variant «— */ .wsu-section--on-this-page.wsu-section--minimalist-on-this-page { background-color: transparent; border-bottom-color: transparent; } .wsu-section--on-this-page.wsu-section--minimalist-on-this-page:after { content: none; } .wsu-section__title--on-this-page { color: #4d4d4d; font-weight: 800; font-size: 1.25rem; margin-bottom: .375rem; } @media screen and (min-width: 1201px) { .wsu-section--on-this-page.wsu-section--minimalist-on-this-page .wsu-anchor-menu a { padding-bottom: .5rem !important; padding-top: .5rem !important; } } /*! —» Atomic CSS: Display modes «— */ .dy-0, .dy-no, .d3y { display: none; } .dy-il, .dy-in, .d3y-i4e { display: inline; } .dy-bl, .d5y-b3k { display: block; } .dy-ilbl, .dy-inbl, .d5y-i4e-b3k { display: inline-block; } /*! —» Atomic CSS: Width «— */ .mw-1x { max-width: 900px; } .w-full { width: 100%; } /*! —» Atomic CSS: Height «— */ .h-100, .h-full { height: 100%; } /*! —» Atomic CSS: Grid «— */ .dy-gr, .d5y-g2d { display: grid; } .alni-start { align-items: start; } .alns-end { align-self: end; } /*! —» Atomic CSS: Font Weights «— */ .fw-lb { font-weight: 300; } .fw-nb { font-weight: 400; } .fw-mb { font-weight: 500; } .fw-sb { font-weight: 600; } .fw-b { font-weight: 700; } .fw-eb { font-weight: 800; } /*! —» Atomic CSS: Text Transformations «— */ .tt-upper { text-transform: uppercase; } /*! —» Atomic CSS: Responsive Design «— */ @media (max-width: 768px) { .hide-on-tablet { display: none !important; } } @media (min-width: 769px) { .show-on-tablet { display: none !important; } } @media screen and (min-width:861px) { .wsu-breakpoint-hide-above--stacked-columns { display: none !important } } @media screen and (max-width:860px) { .wsu-breakpoint-hide-below--stacked-columns { display: none !important } } /*! —» Issue Fix: WDS Utility Classes → Specification of default border coloring «— */ .wsu-border-top--color-default { border-top: 4px solid #5a5a5a; /* Desaturated #a60f2d */ } /*! —» Atomic CSS: Additional spacing utility classes «— */ .wsu-spacing-margin-bottom--ssxsmall { margin-bottom: .25rem!important; } </style> </head> <body class="page-template-default page page-id-294 page-parent tribe-no-js page-template-wsu-web-design-system-2-0"> <a class="wsu-skip-to-main" href="#wsu-site-menu">Skip to menu</a> <a class="wsu-skip-to-main" href="#wsu-content">Skip to content</a> <svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 0 0" width="0" height="0" focusable="false" role="none" style="visibility: hidden; position: absolute; left: -9999px; overflow: hidden;" ><defs><filter id="wp-duotone-dark-grayscale"><feColorMatrix color-interpolation-filters="sRGB" type="matrix" values=" .299 .587 .114 0 0 .299 .587 .114 0 0 .299 .587 .114 0 0 .299 .587 .114 0 0 " /><feComponentTransfer color-interpolation-filters="sRGB" ><feFuncR type="table" tableValues="0 0.49803921568627" /><feFuncG type="table" tableValues="0 0.49803921568627" /><feFuncB type="table" tableValues="0 0.49803921568627" /><feFuncA type="table" tableValues="1 1" /></feComponentTransfer><feComposite in2="SourceGraphic" operator="in" /></filter></defs></svg><svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 0 0" width="0" height="0" focusable="false" role="none" style="visibility: hidden; position: absolute; left: -9999px; overflow: hidden;" ><defs><filter id="wp-duotone-grayscale"><feColorMatrix color-interpolation-filters="sRGB" type="matrix" values=" .299 .587 .114 0 0 .299 .587 .114 0 0 .299 .587 .114 0 0 .299 .587 .114 0 0 " /><feComponentTransfer color-interpolation-filters="sRGB" ><feFuncR type="table" tableValues="0 1" /><feFuncG type="table" tableValues="0 1" /><feFuncB type="table" tableValues="0 1" /><feFuncA type="table" tableValues="1 1" /></feComponentTransfer><feComposite in2="SourceGraphic" operator="in" /></filter></defs></svg><svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 0 0" width="0" height="0" focusable="false" role="none" style="visibility: hidden; position: absolute; left: -9999px; overflow: hidden;" ><defs><filter id="wp-duotone-purple-yellow"><feColorMatrix color-interpolation-filters="sRGB" type="matrix" values=" .299 .587 .114 0 0 .299 .587 .114 0 0 .299 .587 .114 0 0 .299 .587 .114 0 0 " /><feComponentTransfer color-interpolation-filters="sRGB" ><feFuncR type="table" tableValues="0.54901960784314 0.98823529411765" /><feFuncG type="table" tableValues="0 1" /><feFuncB type="table" tableValues="0.71764705882353 0.25490196078431" /><feFuncA type="table" tableValues="1 1" /></feComponentTransfer><feComposite in2="SourceGraphic" operator="in" /></filter></defs></svg><svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 0 0" width="0" height="0" focusable="false" role="none" style="visibility: hidden; position: absolute; left: -9999px; overflow: hidden;" ><defs><filter id="wp-duotone-blue-red"><feColorMatrix color-interpolation-filters="sRGB" type="matrix" values=" .299 .587 .114 0 0 .299 .587 .114 0 0 .299 .587 .114 0 0 .299 .587 .114 0 0 " /><feComponentTransfer color-interpolation-filters="sRGB" ><feFuncR type="table" tableValues="0 1" /><feFuncG type="table" tableValues="0 0.27843137254902" /><feFuncB type="table" tableValues="0.5921568627451 0.27843137254902" /><feFuncA type="table" tableValues="1 1" /></feComponentTransfer><feComposite in2="SourceGraphic" operator="in" /></filter></defs></svg><svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 0 0" width="0" height="0" focusable="false" role="none" style="visibility: hidden; position: absolute; left: -9999px; overflow: hidden;" ><defs><filter id="wp-duotone-midnight"><feColorMatrix color-interpolation-filters="sRGB" type="matrix" values=" .299 .587 .114 0 0 .299 .587 .114 0 0 .299 .587 .114 0 0 .299 .587 .114 0 0 " /><feComponentTransfer color-interpolation-filters="sRGB" ><feFuncR type="table" tableValues="0 0" /><feFuncG type="table" tableValues="0 0.64705882352941" /><feFuncB type="table" tableValues="0 1" /><feFuncA type="table" tableValues="1 1" /></feComponentTransfer><feComposite in2="SourceGraphic" operator="in" /></filter></defs></svg><svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 0 0" width="0" height="0" focusable="false" role="none" style="visibility: hidden; position: absolute; left: -9999px; overflow: hidden;" ><defs><filter id="wp-duotone-magenta-yellow"><feColorMatrix color-interpolation-filters="sRGB" type="matrix" values=" .299 .587 .114 0 0 .299 .587 .114 0 0 .299 .587 .114 0 0 .299 .587 .114 0 0 " /><feComponentTransfer color-interpolation-filters="sRGB" ><feFuncR type="table" tableValues="0.78039215686275 1" /><feFuncG type="table" tableValues="0 0.94901960784314" /><feFuncB type="table" tableValues="0.35294117647059 0.47058823529412" /><feFuncA type="table" tableValues="1 1" /></feComponentTransfer><feComposite in2="SourceGraphic" operator="in" /></filter></defs></svg><svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 0 0" width="0" height="0" focusable="false" role="none" style="visibility: hidden; position: absolute; left: -9999px; overflow: hidden;" ><defs><filter id="wp-duotone-purple-green"><feColorMatrix color-interpolation-filters="sRGB" type="matrix" values=" .299 .587 .114 0 0 .299 .587 .114 0 0 .299 .587 .114 0 0 .299 .587 .114 0 0 " /><feComponentTransfer color-interpolation-filters="sRGB" ><feFuncR type="table" tableValues="0.65098039215686 0.40392156862745" /><feFuncG type="table" tableValues="0 1" /><feFuncB type="table" tableValues="0.44705882352941 0.4" /><feFuncA type="table" tableValues="1 1" /></feComponentTransfer><feComposite in2="SourceGraphic" operator="in" /></filter></defs></svg><svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 0 0" width="0" height="0" focusable="false" role="none" style="visibility: hidden; position: absolute; left: -9999px; overflow: hidden;" ><defs><filter id="wp-duotone-blue-orange"><feColorMatrix color-interpolation-filters="sRGB" type="matrix" values=" .299 .587 .114 0 0 .299 .587 .114 0 0 .299 .587 .114 0 0 .299 .587 .114 0 0 " /><feComponentTransfer color-interpolation-filters="sRGB" ><feFuncR type="table" tableValues="0.098039215686275 1" /><feFuncG type="table" tableValues="0 0.66274509803922" /><feFuncB type="table" tableValues="0.84705882352941 0.41960784313725" /><feFuncA type="table" tableValues="1 1" /></feComponentTransfer><feComposite in2="SourceGraphic" operator="in" /></filter></defs></svg> <noscript><iframe src="//www.googletagmanager.com/ns.html?id=GTM-K5CHVG" height="0" width="0" style="display:none;visibility:hidden"></iframe></noscript> <!-- Google Tag Manager (noscript) --> <noscript><iframe src="https://www.googletagmanager.com/ns.html?id=GTM-5BGKTN2" height="0" width="0" style="display:none;visibility:hidden"></iframe></noscript> <!-- End Google Tag Manager (noscript) --><!-- Google Tag Manager (noscript) --> <noscript><iframe src="https://www.googletagmanager.com/ns.html?id=GTM-P9RHP4V" height="0" width="0" style="display:none;visibility:hidden"></iframe></noscript> <!-- End Google Tag Manager (noscript) --><script id="wsu-tools-fixWdsAccordionNesting" type="text/javascript"> /*!*** * ▓▒▒▒ wsuTools.fixWds ▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▓▒▒▓▒▒▓▒▒▓▓▒▒▓▓▒▒▓▓▒▒▓▓▓▓▓ * ▓▒▒▒ ▄▀▀▄ ▄▀▀▀ ▄▀▀▀ ▄▀▀▄ █▀▀▄ █▀▀▄ ▀█▀ ▄▀▀▄ ▐▀▀▄ ▒▒▓▒▒▓▒▒▓▒▒▓▓▒▒▓▓▒▒▓▓▒▒▓▓▓▓ * ▓▓▒▒ █▄▄█ █ █ █ █ █▄▄▀ █ █ █ █ █ █ ▐ ▒▒▓▒▒▓▒▒▓▒▒▓▓▒▒▓▓▒▒▓▓▒▒▓▓▓▓ * ▓▓▒▒ █ ▀ ▀▀▀ ▀▀▀ ▀▀ ▀ ▀▄▀▀▀ ▀▀▀ ▀▀ ▀ ▐ ▒▒▒▓▒▒▓▒▒▓▒▒▓▓▒▒▓▓▒▒▓▓▒▒▓▓▓ * ▓▓▓▒ Nesting.mjs ▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▓▒▒▓▒▒▓▒▒▓▓▒▒▓▓▒▒▓▓▒▒▓▓▓ * * wsuTools.fixWdsAccordionNesting.js - v0.1.0 * * Provide missing collapse functionality to nested accordions used on WDS 2 or * 3 themed WSUWP websites. * * By Daniel C. Rieck (daniel.rieck@wsu.edu) * [https://github.com/invokeImmediately/] * * Copyright (c) 2024 Washington State University * * Permission is hereby granted, free of charge, to any person obtaining a copy * of this software and associated documentation files (the “Software”), to * deal in the Software without restriction, including without limitation the * rights to use, copy, modify, merge, publish, distribute, sublicense, and/or * sell copies of the Software, and to permit persons to whom the Software is * furnished to do so, subject to the following conditions: * * The above copyright notice and this permission notice shall be included in * all copies or substantial portions of the Software. * * THE SOFTWARE IS PROVIDED “AS IS”, WITHOUT WARRANTY OF ANY KIND, EXPRESS OR * IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, * FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE * AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER * LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING * FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER * DEALINGS IN THE SOFTWARE. ****/ (function($) { /** * If necessary, use CSS classes to collapse an expanded WDS accordion * component. */ function collapseNestedAccrdn($accordion) { if ($accordion.hasClass('wsu-accordion--open')) { $accordion.removeClass('wsu-accordion--open'); } } /** * Update the ID attributes of the HTML elements that make up WDS accordion * blocks so they are unique. (This fixes is an upstream issue where where * ID attributes associated with the title, toggle button, and content * container are the incorrectly same between all accordions.) */ function fixDuplicateIdsInAccordions($main) { const $accordions = $main.find('.wsu-accordion'); const numAccordions = $accordions.length; $accordions.each(function(index) { // ·> Only accordions beyond the first one that appears within the // · document have a possibility of containing duplicate IDs. if (index==0) { return; } // Isolate the element serving as the title of the accordion. const $accordion = $(this); const $title = $accordion.find('.wsu-accordion__title').first(); const titleId = $title.attr('id'); // ·> Return early if the ID attribute of the accordion title is not // ·< showing the expected duplicate value. if (titleId != 'unique-id-1__title') { return; } // ·> Reform the ID attribute for the title so it is unique. Follow the // ·< originally intended but unimplemented naming pattern. const titleNewId = titleId.replace(/[0-9]+/, index + 1); $title.attr('id', titleNewId); // ·> Reform the ID attribute for the element serving as the content // · container for the accordion so it is unique. Follow the originally // ·< intended but unimplemented naming pattern. const $content = $accordion.find('.wsu-accordion__content').first(); const contentId = $content.attr('id'); const contentNewId = contentId.replace(/[0-9]+/, index + 1); $content.attr('id', contentNewId); // ·> Update the setting for the container's aria-labelledby attribute to // ·< match the title's new, unique ID. $content.attr('aria-labelledby', titleNewId); // ·> Update the setting for the accordion toggle button's aria-controls // ·< attribute to match the content container's new, unique ID. const $button = $accordion.find('.wsu-accordion--toggle').first(); $button.attr('aria-controls', contentNewId); }); } /** * Enhance event handling to fix issues with collapsible behavior of WDS * accordion components controlled by user click interactions. (Based on * testing, it is only click events that are broken.) */ function fixNestedAccrdnTggls($main) { // ·> Set up click event handling on WDS accordions nested inside of other // ·< accordions $main.on( 'click', '.wsu-accordion .wsu-accordion .wsu-accordion--toggle', toggleNestedAccordionGracefully ); // ·> Set up click event handling on accordions nested inside of WDS card // ·< blocks. $main.on( 'click', '.wsu-card .wsu-accordion .wsu-accordion--toggle', toggleNestedAccordionGracefully ); // ·> Set up click event handling on child elements of accordion toggle // · buttons. (Testing has shown that the upstream event handling on such // · “container buttons” will not be applied to elements contained by the // ·< button.) $main.on( 'click', '.wsu-accordion .wsu-accordion--toggle strong', toggleAccordionWithContainerButton ); } /** * Begin IIFE execution by waiting for the DOM to load and then fixing issues * with accordions. First, fix any duplicate ID attributes of the HTML * elements that make up accordions. Then fix the interactive behavior of * any nested accordions present in the document. */ function iifeMain() { $(document).ready(function() { $('#wsu-content').each(function() { const $main = $(this); fixDuplicateIdsInAccordions($main); fixNestedAccrdnTggls($main); }); }); } /** * Signal to screen readers that a tested accordion has been expanded via * WAI-ARIA. */ function sgnlExpandedNestedAccrdn($toggle) { if ($toggle.attr('aria-expanded') != 'true') { $toggle.attr('aria-expanded', 'true'); } } /** * Handle click events targeting elements contained in the toggle button of an * accordion. */ function toggleAccordionWithContainerButton() { const $toggle = $(this).parents('.wsu-accordion--toggle').first(); $prntAccrdn = $toggle.parents('.wsu-accordion').first(); $toggle.trigger('click'); } /** * Handle a click event targeting the toggle button of a nested accordion. * Only modify the expansion state of the accordion if necessary. */ function toggleNestedAccordionGracefully() { const $toggle = $(this); $prntAccrdn = $toggle.parents('.wsu-accordion').first(); if ($prntAccrdn.hasClass('wsu-accordion--open')) { setTimeout(collapseNestedAccrdn, 200, $prntAccrdn); } else { setTimeout(sgnlExpandedNestedAccrdn, 200, $toggle); } } iifeMain(); })(jQuery); </script> <!-- GLOBAL CONTAINER:START --> <div class="wsu-wrapper-global"> <header class="wsu-header-global "> <div class="wsu-header-global__content"> <a class="wsu-wordmark" href="https://wsu.edu" aria-label="Go to Washington State University Homepage"> <span class="wsu-coug-head-boxed"> <svg role="img" aria-label="WSU Cougar Head" class="wsu-coug-head-boxed__icon" enable-background="new 0 0 70.2 69.6" version="1.1" viewBox="0 0 70.2 69.6" xml:space="preserve" xmlns="http://www.w3.org/2000/svg"> <title>WSU Cougar Head</title> <path class="st0" d="m42.8 69.6s3.6-1.5 5.5-7.4c1 2.3 1.5 4.8 1.3 7.3-2.3 0.1-4.5 0.2-6.8 0.1zm14.9-11.8c-10.4 1.4-12.2-20.3-12.2-20.3s3.5 11.1 10.9 10.7c7.7-0.4 5.5-12.2 5.5-12.2s7.5 20.2-4.2 21.8zm-47.7-5c-3.3 1-6.6 1.8-10 2.4 0 0 5.9-4.5 10.3-18.3l4.3 3.9-0.8 2.6c1.1 1.5 1.9 3.1 2.5 4.9 1.6-3.6 1.5-7.7-0.3-11.2l-0.5 1.6-1.7-1.5-2.8-2.7c1.2-3.6 3-7 5.3-10.1l0.4 0.4 3.3 3.8-1 1.7c1.5 1.7 2.9 3.4 4.2 5.3 0.6-3.4 0.4-6.8-0.4-10.1l-1.5 1.4-3.6-4.2c4.5-4.7 10-8.2 16.2-10.3-0.4 0.4-0.7 0.8-1 1.3-2 2.9-4.1 8.1-2.4 16.4 0.3 1.3 0.7 3.2 1.1 5.1 0.9 3.8 1.9 8.2 2.2 10.9 0.7 5.7 0.1 9.4-1.8 11.4-1.3 1.4-3.5 2-6.4 1.9v-1.4c0-2.4-0.3-4.8-0.8-7.2l-0.8-2.7-1.2 2.6c-1.9 4.1-8.6 14.1-17.2 16.1 2.6-4.2 4.1-9 4.4-14zm25.4 16.4h-0.5-0.1-0.3c-0.5 0-0.8-0.1-1.2-0.1-0.7-0.1-1.6-0.2-2.6-0.4-6.4-1.1-12.9-1.7-19.4-2 6.2-3.6 10.4-9.9 12-12.5 0.2 1.3 0.3 2.5 0.3 3.8 0 0.8 0 1.6-0.1 2.2l-0.1 1.1 1.1 0.1c0.7 0.1 1.3 0.1 1.9 0.1 3.3 0 5.7-0.8 7.3-2.5 2.4-2.5 3.1-6.7 2.3-13.1-0.4-2.9-1.4-7.4-2.3-11.1-0.5-2-0.9-3.8-1.1-5-1.5-7.6 0.3-12.3 2.1-14.8 1.3-1.9 3.2-3.4 5.5-4.2h0.1l3.3-10.8h1.1l-2.3 10.3c0.7-0.1 1.2-0.2 1.7-0.3l3-9.5h1.1l-2 9.2c2.9-0.4 6.1-0.7 10.3-1 0.8 0.4 1.4 1.1 1.8 1.9l9.8-3 0.4 1.1-9.5 3.7c0.1 0.2 0.2 0.4 0.2 0.6l10.3-1.3 0.2 1.1-10 2c0 0.2 0.1 0.4 0.1 0.6l10.4 0.3v1.1l-10.2 0.4c0 1.2-0.2 2.4-0.5 3.6 0.6 2.1 0.7 4.3 0.3 6.5-1.7-3.9-3-5.1-3-5.1-1.4-0.7-2.9-1-4.5-1-2.5 0-4.8 1.1-6.4 2.9-2.3 2.6-3.5 6-3.3 9.5 0.2 2.4 0.7 5.1 1.4 8.6 0.7 3.6 1.6 8.1 2.3 13.5 0.6 4.1-0.1 7.3-1.8 9.7-1.6 2.1-4 3.4-6.5 3.8h-0.1-0.2-0.1-2.2zm10.4-51.5c-2.1-0.1-4.2 0.4-6 1.3-1.5 1-2.5 2.7-2.6 4.5-0.1 0.6-0.1 1.2 0 1.8 0.8-1.5 2-2.8 3.3-3.9 2.4-1.5 5.1-2.3 7.9-2.4h0.9 0.3c0.4 0 0.7-0.1 0.8-0.2 0-0.1-0.1-0.3-0.4-0.4-1.3-0.5-2.7-0.8-4.2-0.7z"></path> </svg> </span> <span class="wsu-wordmark__title"> Washington State University </span> <span class="wsu-wordmark__title-mobile"> WSU </span> </a> <nav class="wsu-header-global__navigation" aria-label="WSU header menu"> <div class="wsu-header-global__quick-links"> <button class="wsu-button-ui-more-horizontal wsu-menu-expand--toggle" aria-label="Open Header Menu"></button> <ul class="wsu-menu-admin wsu-menu-admin--tablet-dropdown" aria-label="WSU header menu"> <li> <a href="https://foundation.wsu.edu/">Give</a> </li> <li> <a href="https://admission.wsu.edu/apply/as/find-your-application/">Apply</a> </li> <li> <a href="https://wsu.edu/about/statewide/">Locations</a> </li> <li> <a href="https://mywsu.wsu.edu/">My WSU</a> </li> </ul> </div> <a href="https://transfercredit.wsu.edu?s=" class="wsu-button-ui-search" title="Search WSU"></a> </nav> </div> </header> <nav class="wsu-navigation-site-vertical wsu-navigation-site-vertical--color-dark" aria-expanded="true" aria-haspopup="true" aria-label="Site menu"> <button class="wsu-navigation-site-vertical__overlay wsu-navigation-site-vertical--close" aria-label="Close site menu"></button> <button class="wsu-navigation-site-vertical__toggle-button wsu-navigation-site-vertical--toggle" aria-label="Open site menu">Menu</button> <button class="wsu-navigation-site-vertical__open-button wsu-navigation-site-vertical--open" aria-label="Open site menu">Menu</button> <div class="wsu-navigation-site-vertical__panel"> <button class="wsu-button-ui-close wsu-navigation-site-vertical--close" aria-label="Close site menu">Close</button> <ul id="wsu-site-menu" class="wsu-menu wsu-menu--primary-vertical"><li class="wsu-navigation-item"><a href="https://transfercredit.wsu.edu/">Home</a></li> <li class="wsu-navigation-item" aria-expanded="false" aria-haspopup="true"><a href="https://transfercredit.wsu.edu/tools/">Transfer Tools</a><button aria-label="{Open submenu Transfer Tools" class="wsu-menu--toggle"></button> <ul class="sub-menu"> <li class="wsu-navigation-item"><a href="https://transfercredit.wsu.edu/tools/transfer-course-search-tool/">Transfer Course Search Tool</a></li> <li class="wsu-navigation-item"><a href="https://transfercredit.wsu.edu/tools/transfer-credit-reports/">Transfer Credit Reports</a></li> <li class="wsu-navigation-item"><a href="https://transfercredit.wsu.edu/tools/course-evaluation-request/">Course Evaluation Request Form</a></li> </ul> </li> <li class="wsu-navigation-item" aria-expanded="false" aria-haspopup="true"><a href="https://transfercredit.wsu.edu/transfer-pathways/">Transfer Pathways</a><button aria-label="{Open submenu Transfer Pathways" class="wsu-menu--toggle"></button> <ul class="sub-menu"> <li class="wsu-navigation-item"><a href="https://transfercredit.wsu.edu/transfer-pathways/wsu-everett/">To WSU Everett</a></li> <li class="wsu-navigation-item"><a href="https://transfercredit.wsu.edu/transfer-pathways/wsu-global/">To WSU Global</a></li> <li class="wsu-navigation-item" aria-expanded="false" aria-haspopup="true"><a href="https://transfercredit.wsu.edu/transfer-pathways/wsu-pullman/">To WSU Pullman</a><button aria-label="{Open submenu To WSU Pullman" class="wsu-menu--toggle"></button> <ul class="sub-menu"> <li class="wsu-navigation-item"><a href="https://transfercredit.wsu.edu/transfer-pathways/wsu-pullman/bates-technical-college/">Bates Technical College</a></li> <li class="wsu-navigation-item"><a href="https://transfercredit.wsu.edu/transfer-pathways/wsu-pullman/bellevue-college/">Bellevue College</a></li> <li class="wsu-navigation-item"><a href="https://transfercredit.wsu.edu/transfer-pathways/wsu-pullman/bellingham-technical-college/">Bellingham Technical College</a></li> <li class="wsu-navigation-item"><a href="https://transfercredit.wsu.edu/transfer-pathways/wsu-pullman/big-bend-community-college/">Big Bend Community College</a></li> <li class="wsu-navigation-item"><a href="https://transfercredit.wsu.edu/transfer-pathways/wsu-pullman/cascadia-college/">Cascadia College</a></li> <li class="wsu-navigation-item"><a href="https://transfercredit.wsu.edu/transfer-pathways/wsu-pullman/centralia-college/">Centralia College</a></li> <li class="wsu-navigation-item"><a href="https://transfercredit.wsu.edu/transfer-pathways/wsu-pullman/clark-college/">Clark College</a></li> <li class="wsu-navigation-item"><a href="https://transfercredit.wsu.edu/transfer-pathways/wsu-pullman/clover-park-technical-college/">Clover Park Technical College</a></li> <li class="wsu-navigation-item"><a href="https://transfercredit.wsu.edu/transfer-pathways/wsu-pullman/columbia-basin-college/">Columbia Basin College</a></li> <li class="wsu-navigation-item"><a href="https://transfercredit.wsu.edu/transfer-pathways/wsu-pullman/edmonds-community-college/">Edmonds Community College</a></li> </ul> </li> <li class="wsu-navigation-item"><a href="https://transfercredit.wsu.edu/transfer-pathways/wsu-tri-cities/">To WSU Tri-Cities</a></li> <li class="wsu-navigation-item"><a href="https://transfercredit.wsu.edu/transfer-pathways/wsu-vancouver/">To WSU Vancouver</a></li> </ul> </li> <li class="wsu-navigation-item" aria-expanded="false" aria-haspopup="true"><a title="Overview" href="https://transfercredit.wsu.edu/transfer-credit-policies-resources/">Credit Policies</a><button aria-label="{Open submenu Credit Policies" class="wsu-menu--toggle"></button> <ul class="sub-menu"> <li class="wsu-navigation-item"><a href="https://transfercredit.wsu.edu/transfer-credit-policies-resources/transferring-a-degree/">Transferring a Degree</a></li> <li class="wsu-navigation-item"><a href="https://transfercredit.wsu.edu/transfer-credit-policies-resources/reverse-transfer/">Reverse Transfer</a></li> <li class="wsu-navigation-item"><a href="https://transfercredit.wsu.edu/transfer-credit-policies-resources/credit-by-exam/">Credit By Exam (AP, IB, Cambridge, CLEP)</a></li> <li class="wsu-navigation-item"><a href="https://transfercredit.wsu.edu/transfer-credit-policies-resources/military-credit/">Military Credit</a></li> <li class="wsu-navigation-item"><a href="https://transfercredit.wsu.edu/transfer-credit-policies-resources/international-credit/">International Credit</a></li> </ul> </li> <li class="wsu-navigation-item" aria-expanded="false" aria-haspopup="true"><a href="https://transfercredit.wsu.edu/student-resources-events/">Student Resources &amp; Events</a><button aria-label="{Open submenu Student Resources &amp; Events" class="wsu-menu--toggle"></button> <ul class="sub-menu"> <li class="wsu-navigation-item"><a href="https://transfercredit.wsu.edu/events/">Events Calendar</a></li> <li class="wsu-navigation-item"><a href="https://transfercredit.wsu.edu/student-resources-events/transfer-student-seminar/">Transfer Student Seminar</a></li> <li class="wsu-navigation-item" aria-expanded="false" aria-haspopup="true"><a href="https://transfercredit.wsu.edu/student-resources-events/national-transfer-student-week/">National Transfer Student Week</a><button aria-label="{Open submenu National Transfer Student Week" class="wsu-menu--toggle"></button> <ul class="sub-menu"> <li class="wsu-navigation-item"><a href="https://transfercredit.wsu.edu/student-resources-events/national-transfer-student-week/student-profiles/">Student Profiles</a></li> <li class="wsu-navigation-item"><a href="https://transfercredit.wsu.edu/student-resources-events/national-transfer-student-week/staff-and-faculty-profiles/">Staff and Faculty Profiles</a></li> </ul> </li> <li class="wsu-navigation-item"><a href="https://transfercredit.wsu.edu/student-resources-events/other-wsu-resources/">Other WSU Resources</a></li> </ul> </li> <li class="wsu-navigation-item wsu-menu-item--current" aria-expanded="true" aria-haspopup="true"><a href="https://transfercredit.wsu.edu/pathway-agreements-processes/" aria-current="page">Pathway Agreements &amp; Processes</a><button aria-label="{Close submenu Pathway Agreements &amp; Processes" class="wsu-menu--toggle"></button> <ul class="sub-menu"> <li class="wsu-navigation-item"><a href="https://transfercredit.wsu.edu/pathway-agreements-processes/articulation-agreements/">Articulation Agreements</a></li> </ul> </li> <li class="wsu-navigation-item"><a href="https://transfercredit.wsu.edu/contact-connect/">Contact &amp; Connect</a></li> <li class="wsu-navigation-item"><a href="https://transfercredit.wsu.edu/wsus-transfer-champions/">Meet Our Team</a></li> <li class="wsu-navigation-item"><a href="https://transfercredit.wsu.edu/glossary-of-terms/">Glossary of Transfer Terms</a></li> <li class="wsu-navigation-item"><a href="https://transfercredit.wsu.edu/news/">News</a></li> </ul> <button class="wsu-button-ui-close wsu-navigation-site-vertical--close" aria-label="Close site menu">Close</button> </div> <button tabindex="-1" class="wsu-navigation-site-vertical__overlay wsu-navigation-site-vertical--close" aria-label="Close site menu"></button> </nav> <!-- SITE WRAPPER:START --> <div class="wsu-wrapper-site"> <!-- SITE CONTAINER:START --> <header class="wsu-header-site"> <div class="wsu-header-site__label"> <a class="wsu-header-site__title-link" href="https://transfercredit.wsu.edu"> <div class="wsu-header-site__title"> Transfer Center for Policy &amp; Resources </div> </a> </div> </header> <div class="wsu-wrapper-content "> <main role="main" id="wsu-content" class="wsu-wrapper-main" tabindex="-1"> <div class="breadcrumbs" typeof="BreadcrumbList" vocab="https://schema.org/"> <!-- Breadcrumb NavXT 7.2.0 --> <span property="itemListElement" typeof="ListItem"><a property="item" typeof="WebPage" title="Go to Transfer Center for Policy &amp; Resources." href="https://transfercredit.wsu.edu" class="home" ><span property="name"><i class="wsu-icon wsu-i-home"></i>Transfer Center</span></a><meta property="position" content="1"></span> &gt; <span property="itemListElement" typeof="ListItem"><span property="name" class="post post-page current-item">About Transfer Pathway Agreements &amp; Processes</span><meta property="url" content="https://transfercredit.wsu.edu/pathway-agreements-processes/"><meta property="position" content="2"></span></div> <article class="wsu-article"> <header class="wsu-article-header"> <h1 class="wsu-article-header__title">About Transfer Pathway Agreements &amp; Processes</h1> </header> <div class="wsu-row large-format-friendly wsu-row--single" > <div class="wsu-column" style=""> <h2 class="wp-block-heading">Statewide Transfer &amp; Accreditation Information</h2> <p class="wsu-font-size--xxmedium" id="introduction">WSU subscribes to the “Policy on Intercollege Transfer and Articulation Among Washington Public Colleges and Universities” endorsed by the public colleges and universities of Washington and the State Board for Community and Technical Colleges and published by the <a href="http://www.wsac.wa.gov/transfers">Washington Student Achievement Council</a>. The information and resources below will provide more context and information about various statewide transfer policies and procedures.</p> <p class="wsu-font-size--medium" id="wchscr"><a href="https://www.wa-council.org/wp-content/uploads/2020/12/2020-Final-Revised-ICRC-Handbook-12.20.pdf"><strong>The Intercollege Relations Committee Handbook and Policies:</strong></a> contains helpful information on the following topics.</p> <ul class="wsu-font-size--medium"><li>Policy on Intercollege Transfer and Articulation among Washington public colleges and universities (Pg. 7).</li><li>Community colleges in Washington with a direct transfer degree that meets ICRC guidelines (Pg. 22).</li><li>Associate degree transfer Courses that are generally accepted (Pg. 24).</li><li>Restricted subject areas for transfer (the &#8220;gray area list&#8221;) (Pg. 28).</li></ul> <p class="wsu-font-size--medium"><a href="https://wsac.wa.gov/sites/default/files/Transfer.Student.Rights.Responsibilities.pdf#:~:text=Student%20Rights%20and%20Responsibilities%20Students%20have%20the%20right,requirements%2C%20and%20transfer%20policies%20that%20include%20course%20equivalencies."><strong>Washington Student Achievement Council Transfer Student Rights and Responsibilities</strong></a>: explains the rights and responsibilities that each transfer student has as they interact with their institution in the credit transfer process.</p> <h3 class="wp-block-heading"><a href="http://www.sbctc.edu/colleges-staff/programs-services/transfer/">State Board for Community and Technical Colleges (SBCTC)</a> </h3> <p class="oue-normal">The SBCTC is governed by a nine-member Governor-appointed board responsible for administering the Community and Technical College Act and providing leadership and coordination for Washington&#8217;s system of 34 public community and technical colleges. The SBCTC includes information on <a href="https://www.sbctc.edu/colleges-staff/programs-services/transfer/transfer-approval-inventory">transfer degrees</a>, transfer resources, and <a href="https://www.sbctc.edu/colleges-staff/programs-services/transfer/reverse-articulation/">reverse articulation</a>.</p> <h3 class="wp-block-heading">Regional Accreditation</h3> <p class="wsu-font-size--medium">WSU accepts transfer credit from nationally recognized higher education institutions with regional accreditation from the following approved accreditation agencies (or equivalent for international institutions):</p> <ul class="wsu-font-size--medium"><li><strong><a href="http://www.accjc.org/">Western Association of Schools and Colleges, Accrediting Commission for Community and Junior Colleges (ACCJC)</a>:</strong> California, Guam, Hawaii</li><li><strong><a href="http://www.ncahigherlearningcommission.org/">North Central Association of Colleges and Schools. The Higher Learning Commission (HLC)</a>:</strong> Arizona, Arkansas, Colorado, Illinois, Indiana, Iowa, Kansas, Michigan, Minnesota, Missouri, Nebraska, New Mexico, North Dakota, Ohio, Oklahoma, South Dakota, West Virginia, Wisconsin, Wyoming</li><li><strong><a href="http://www.msche.org/">Middle States Association of Colleges and Schools. Commission on High Education (MSCHE)</a>:</strong> Delaware, District of Columbia, Maryland, New Jersey, New York, Pennsylvania, Puerto Rico, Virgin Islands</li><li><a href="https://www.neche.org/"><strong>New England Commission of Higher Education (NECHE)</strong></a>: Connecticut, District of Columbia, Maine, Massachusetts, New Hampshire, New York, Rhode Island, Vermont, Virginia</li><li><strong><a href="http://www.nwccu.org/">Northwest Commission of Colleges and Universities (NWCCU)</a>:</strong> Alaska, Idaho, Montana, Nevada, Oregon, Washington, Utah</li><li><strong><a href="https://www.sacscoc.org/">Southern Association of Colleges and Schools, Commission on Colleges (SACSCOC)</a>:</strong> Alabama, Florida, Georgia, Kentucky, Louisiana, Mississippi, North Carolina, South Carolina, Tennessee, Texas</li><li><strong><a href="https://www.wscuc.org/">WASC Senior College and University Commission (WSCUC)</a></strong>: Arizona, California, Guam, Hawaii, Northern Mariana Islands</li></ul> <p></p> </div> </div> <footer class="wsu-article-footer"> </footer> </article> </main> </div> <footer class="wsu-footer-site"> <div class="wsu-footer-site__content"> <h2 class="wsu-footer-site__offsite-title">More Resources</h2> <ul id="menu-external-navigation" class="wsu-footer-site__offsite-menu"><li><a href="https://daesa.wsu.edu/" class="wsu-link--external">DAESA</a></li> <li><a href="https://admission.wsu.edu/apply/transcripts/" class="wsu-link--external">Submitting Transcripts</a></li> <li><a href="https://transfer.wsu.edu" class="wsu-link--external">Transfer Admissions</a></li> <li><a href="https://futurecoug.wsu.edu/register/?id=0f84ea1c-be67-4a95-b417-960581fba3d4" class="wsu-link--external">Advisors-Request Info</a></li> </ul> <h2 class="wsu-footer-site__title">Transfer Center for Policy &amp; Resources</h2> <div class="wsu-caption"> <p class="wsu-spacing-after--medium"><i>Serving students, the university, and all stakeholders in the transfer credit process.</i></p> Division of Academic Engagement and Student Achievement, Office of the Provost and Executive Vice President </div> <div class="wsu-meta-address"> </div> <ul class="wsu-social-icons"> </ul> <svg aria-hidden="true" tabindex="-1" role="img" aria-labelledby="wsuLogoTitle" class="wsu-coug-head wsu-coug-head--white" enable-background="new 0 0 70.2 69.6" version="1.1" viewBox="0 0 70.2 69.6" xml:space="preserve" xmlns="http://www.w3.org/2000/svg"> <title id="wsuLogoTitle">WSU Cougar Head</title> <path class="st0" d="m42.8 69.6s3.6-1.5 5.5-7.4c1 2.3 1.5 4.8 1.3 7.3-2.3 0.1-4.5 0.2-6.8 0.1zm14.9-11.8c-10.4 1.4-12.2-20.3-12.2-20.3s3.5 11.1 10.9 10.7c7.7-0.4 5.5-12.2 5.5-12.2s7.5 20.2-4.2 21.8zm-47.7-5c-3.3 1-6.6 1.8-10 2.4 0 0 5.9-4.5 10.3-18.3l4.3 3.9-0.8 2.6c1.1 1.5 1.9 3.1 2.5 4.9 1.6-3.6 1.5-7.7-0.3-11.2l-0.5 1.6-1.7-1.5-2.8-2.7c1.2-3.6 3-7 5.3-10.1l0.4 0.4 3.3 3.8-1 1.7c1.5 1.7 2.9 3.4 4.2 5.3 0.6-3.4 0.4-6.8-0.4-10.1l-1.5 1.4-3.6-4.2c4.5-4.7 10-8.2 16.2-10.3-0.4 0.4-0.7 0.8-1 1.3-2 2.9-4.1 8.1-2.4 16.4 0.3 1.3 0.7 3.2 1.1 5.1 0.9 3.8 1.9 8.2 2.2 10.9 0.7 5.7 0.1 9.4-1.8 11.4-1.3 1.4-3.5 2-6.4 1.9v-1.4c0-2.4-0.3-4.8-0.8-7.2l-0.8-2.7-1.2 2.6c-1.9 4.1-8.6 14.1-17.2 16.1 2.6-4.2 4.1-9 4.4-14zm25.4 16.4h-0.5-0.1-0.3c-0.5 0-0.8-0.1-1.2-0.1-0.7-0.1-1.6-0.2-2.6-0.4-6.4-1.1-12.9-1.7-19.4-2 6.2-3.6 10.4-9.9 12-12.5 0.2 1.3 0.3 2.5 0.3 3.8 0 0.8 0 1.6-0.1 2.2l-0.1 1.1 1.1 0.1c0.7 0.1 1.3 0.1 1.9 0.1 3.3 0 5.7-0.8 7.3-2.5 2.4-2.5 3.1-6.7 2.3-13.1-0.4-2.9-1.4-7.4-2.3-11.1-0.5-2-0.9-3.8-1.1-5-1.5-7.6 0.3-12.3 2.1-14.8 1.3-1.9 3.2-3.4 5.5-4.2h0.1l3.3-10.8h1.1l-2.3 10.3c0.7-0.1 1.2-0.2 1.7-0.3l3-9.5h1.1l-2 9.2c2.9-0.4 6.1-0.7 10.3-1 0.8 0.4 1.4 1.1 1.8 1.9l9.8-3 0.4 1.1-9.5 3.7c0.1 0.2 0.2 0.4 0.2 0.6l10.3-1.3 0.2 1.1-10 2c0 0.2 0.1 0.4 0.1 0.6l10.4 0.3v1.1l-10.2 0.4c0 1.2-0.2 2.4-0.5 3.6 0.6 2.1 0.7 4.3 0.3 6.5-1.7-3.9-3-5.1-3-5.1-1.4-0.7-2.9-1-4.5-1-2.5 0-4.8 1.1-6.4 2.9-2.3 2.6-3.5 6-3.3 9.5 0.2 2.4 0.7 5.1 1.4 8.6 0.7 3.6 1.6 8.1 2.3 13.5 0.6 4.1-0.1 7.3-1.8 9.7-1.6 2.1-4 3.4-6.5 3.8h-0.1-0.2-0.1-2.2zm10.4-51.5c-2.1-0.1-4.2 0.4-6 1.3-1.5 1-2.5 2.7-2.6 4.5-0.1 0.6-0.1 1.2 0 1.8 0.8-1.5 2-2.8 3.3-3.9 2.4-1.5 5.1-2.3 7.9-2.4h0.9 0.3c0.4 0 0.7-0.1 0.8-0.2 0-0.1-0.1-0.3-0.4-0.4-1.3-0.5-2.7-0.8-4.2-0.7z"></path> </svg> </div> </footer> <!-- SITE CONTAINER:END --> </div> <!-- SITE WRAPPER:END --> <footer class="wsu-footer-global"> <div class="wsu-footer-global__copyright"> © Washington State University 2024 </div> <nav class="wsu-footer-global__navigation"> <ul class="wsu-menu-tertiary"> <li> <a href="https://access.wsu.edu/">Access</a> </li> <li> <a href="https://policies.wsu.edu/">Policies</a> </li> <li> <a href="https://portal.wsu.edu/">MyWSU</a> </li> <li> <a href="https://socialmedia.wsu.edu/">Follow&nbsp;WSU</a> </li> </ul> </nav> </footer> </div> <!-- GLOBAL CONTAINER:END --> <script> ( function ( body ) { 'use strict'; body.className = body.className.replace( /\btribe-no-js\b/, 'tribe-js' ); } )( document.body ); </script> <script> /* <![CDATA[ */var tribe_l10n_datatables = {"aria":{"sort_ascending":": activate to sort column ascending","sort_descending":": activate to sort column descending"},"length_menu":"Show _MENU_ entries","empty_table":"No data available in table","info":"Showing _START_ to _END_ of _TOTAL_ entries","info_empty":"Showing 0 to 0 of 0 entries","info_filtered":"(filtered from _MAX_ total entries)","zero_records":"No matching records found","search":"Search:","all_selected_text":"All items on this page were selected. ","select_all_link":"Select all pages","clear_selection":"Clear Selection.","pagination":{"all":"All","next":"Next","previous":"Previous"},"select":{"rows":{"0":"","_":": Selected %d rows","1":": Selected 1 row"}},"datepicker":{"dayNames":["Sunday","Monday","Tuesday","Wednesday","Thursday","Friday","Saturday"],"dayNamesShort":["Sun","Mon","Tue","Wed","Thu","Fri","Sat"],"dayNamesMin":["S","M","T","W","T","F","S"],"monthNames":["January","February","March","April","May","June","July","August","September","October","November","December"],"monthNamesShort":["January","February","March","April","May","June","July","August","September","October","November","December"],"monthNamesMin":["Jan","Feb","Mar","Apr","May","Jun","Jul","Aug","Sep","Oct","Nov","Dec"],"nextText":"Next","prevText":"Prev","currentText":"Today","closeText":"Done","today":"Today","clear":"Clear"}};/* ]]> */ </script><link rel='stylesheet' id='wsu-custom-css-css' href='https://transfercredit.wsu.edu/?custom-css=1&#038;csblog=3116&#038;cscache=6&#038;csrev=319&#038;ver=0.0.1' media='all' /> <script src='https://cdn.web.wsu.edu/designsystem/2.x/dist/bundles/wsu-design-system.js?ver=1.7.11-1.29.1' id='wsu_design_system_js-js'></script> <script src='https://transfercredit.wsu.edu/wp-includes/js/imagesloaded.min.js?ver=4.1.4' id='imagesloaded-js'></script> <script src='https://transfercredit.wsu.edu/wp-includes/js/masonry.min.js?ver=4.2.2' id='masonry-js'></script> <script src='https://transfercredit.wsu.edu/wp-includes/js/jquery/jquery.masonry.min.js?ver=3.1.2b' id='jquery-masonry-js'></script> <!-- Custom JavaScript Editor --> <script>/***** * navigationTilesCardGroupPatch.vanilla.js - v0.0.0 * Remove keyboard interactability of full card links on WSUWP websites running the WDS 2.0 theme. * By Daniel C. Rieck (daniel.rieck@wsu.edu) [https://github.com/invokeImmediately/] * Copyright (c) 2022 Washington State University and governed by the MIT license. ****/ ( function( iifeSettings ) { function iifeMain() { const $cardGroupLinks = document.querySelectorAll( iifeSettings.selectors.cardGroupLinks ); $cardGroupLinks.forEach( ( $link ) => { $link.setAttribute( 'tabindex', '-1' ); } ); } iifeMain(); } )( { selectors: { cardGroupLinks: '.wsu-card-wrapper--navigation-tiles .wsu-card__link', } } ); /***** * classicScrollbarPatch.vanilla.js - v0.0.0 * Resolve compatibility issues between the WDS 2.0 theme and operating systems/web browsers using classic scrollbars. * By Daniel C. Rieck (daniel.rieck@wsu.edu) [https://github.com/invokeImmediately/] * Copyright (c) 2022 Washington State University and governed by the MIT license. ****/ ( function( sbwCssVarNm ) { let sbwSet = false; function getScrollbarWidth() { // —» Create an invisible container and force it to have a scrollbar. «— const outerBox = document.createElement('div'); outerBox.style.visibility = 'hidden'; outerBox.style.overflow = 'scroll'; document.body.appendChild( outerBox ); // —» Add an inner element to the outer container that overflows it. «— const innerBox = document.createElement( 'div' ); outerBox.appendChild( innerBox ); // —» Use the difference in client rectangle widths to infer scrollbar width. (Overlay scrollbars have a width of zero.) «— const sbw = ( outerBox.offsetWidth - innerBox.offsetWidth ); // —» Remove the above measurement containers from the DOM and return the scrollbar width. «— outerBox.parentNode.removeChild( outerBox ); return sbw; } function setSbWidth4Doc( evt ) { console.log( 'Checking scrollbar width.' ); if ( sbwSet ) { return; } else { sbwSet = true; } const sbw = getScrollbarWidth(); if ( sbw > 0 ) { document.documentElement.style.setProperty( sbwCssVarNm, sbw.toString() + "px" ); } } window.addEventListener( 'DOMContentLoaded', setSbWidth4Doc ); } )( '--scrollbar-w' ); /***** * jQuery.tribe-events-wds-fix.js - v0.0.0 * Resolve compatibility issues between the WDS 2.0 theme for WSUWP and the Tribe Events calendar plugin. * By Daniel C. Rieck (daniel.rieck@wsu.edu) [https://github.com/invokeImmediately/] * Copyright (c) 2022 Washington State University and governed by the MIT license. ****/ ( function( $ ) { function fixMissingH1TECTxt( $body ) { if ( !$body.hasClass( 'post-type-archive-tribe_events' ) ) { return; } const $h1 = $body.find( '#wsu-content' ).find( '.wsu-article-header__title' ); if ( $h1.text() == "" ) { $h1.text( 'Events Calendar' ); } } $( 'body' ).each( function() { const $body = $( this ); fixMissingH1TECTxt( $body ); } ); } )( jQuery ); /***** * jQuery.daesa-custom.js - v1.1.5-rc1.0.0 * Custom JS code common to all websites of the Division of Academic Engagement and Student Achievement (DAESA) in the Office of the Provost at Washington State University (WSU). * By Daniel C. Rieck (daniel.rieck@wsu.edu). See [GitHub](https://github.com/invokeImmediately/WSU-DAESA-JS/blob/main/jQuery.daesa-custom.js) for more info. * Copyright (c) 2022 Washington State University and governed by the MIT license. ****/ ( function ( $, thisFileName ) { 'use strict'; //////////////////////////////////////////////////////////////////////////////////////////////////// // §2: ADDITION OF FUNCTIONS to jQuery //////// // §2.1: jQuery.isCssClass /** * Checking function to verify that the passed argument is a valid CSS class. * * @since 1.0.0 * * @param {*} possibleClass - Possible string consisting of a valid CSS class; could, in fact, be * anything. */ $.isCssClass = function ( possibleClass ) { var cssClassNeedle = /^-?[_a-zA-Z]+[_a-zA-Z0-9-]*$/; var isClass; isClass = typeof possibleClass === 'string' && cssClassNeedle.test( possibleClass ); return isClass; } //////// // §2.2: jQuery.isJQueryObj /** * Checking function to verify that the passed argument is a valid jQuery object. * * @since 1.0.0 * * @param {*} $obj - Possible jQuery object; could, in fact, be anything. */ $.isJQueryObj = function ( $obj ) { return ( $obj && ( $obj instanceof $ || $obj.constructor.prototype.jquery ) ); } //////// // §2.3: jQuery.logError /** * Log an error using the browser console in JSON notation. * * @since 1.0.0 * * @param {string} fileName - Name of the JS source file wherein the error was encountered. * @param {string} fnctnName - Name of the function that called $.logError. * @param {string} fnctnDesc - Description of what the calling function is supposed to do. * @param {string} errorMsg - Message that describes what went wrong within the calling function. */ $.logError = function ( fileName, fnctnName, fnctnDesc, errorMsg ) { var thisFuncName = "jQuery.logError"; var thisFuncDesc = "Log an error using the browser console in JSON notation."; var bitMask = typeof fileName === "string"; bitMask = ( typeof fnctnName === "string" ) | ( bitMask << 1 ); bitMask = ( typeof fnctnDesc === "string" ) | ( bitMask << 1 ); bitMask = ( typeof errorMsg === "string" || typeof errorMsg === "object" ) | ( bitMask << 1 ); // Output a properly formed error message. if ( bitMask === 15 && typeof errorMsg === "string" ) { console.log( "error = {\n\tfile: '" + fileName + "',\n\tfunctionName: '" + fnctnName + "'\n\tfunctionDesc: '" + fnctnDesc + "'\n\terrorMessage: '" + errorMsg + "'\n\t};" ); return; } else if ( bitMask === 15 ) { console.log( "error = {\n\tfile: '" + fileName + "',\n\tfunctionName: '" + fnctnName + "'\n\tfunctionDesc: '" + fnctnDesc + "'\n\terror object: See following.'\n\t};" ); console.log( errorMsg ); return; } // Handle the case where var incorrectTypings; var bitMaskCopy; var newErrorMsg; // Determine how many incorrectly typed arguments were encountered for ( var i=0, incorrectTypings = 0, bitMaskCopy = bitMask; i < 4; i++ ) { incorrectTypings += bitMaskCopy & 1; bitMaskCopy = bitMaskCopy >> 1; } // Construct a new error message if ( incorrectTypings == 1 ) { newErrorMsg = "Unfortunately, a call to jQuery.error was made with an incorrectly typed argument.\n" } else { newErrorMsg = "Unfortunately, a call to jQuery.error was made with incorrectly typed arguments.\n" } newErrorMsg += "Here are the arguments that were passed to jQuery.logError:\n\t\tfileName = " + fileName + "\n"; if ( !( ( bitMask & 8 ) >> 3 ) ) { newErrorMsg += "\t\ttypeof filename = " + ( typeof fileName ) + "\n"; fileName = thisFileName; } newErrorMsg += "\t\tfnctnName = " + fnctnName + "\n"; if( !( ( bitMask & 4 ) >> 2 ) ) { newErrorMsg += "\t\ttypeof fnctnName = " + ( typeof fnctnName ) + "\n"; fnctnName = thisFuncName; } newErrorMsg += "\t\tfnctnDesc = " + fnctnDesc + "\n"; if( !( ( bitMask & 2 ) >> 1 ) ) { newErrorMsg += "\t\ttypeof fnctnDesc = " + ( typeof fnctnDesc ) + "\n"; fnctnDesc = thisFuncDesc; } newErrorMsg += "\t\terrorMsg = " + errorMsg + "\n"; if( !( bitMask & 1 ) ) { newErrorMsg += "\t\ttypeof errorMsg = " + ( typeof errorMsg ) + "\n"; } console.log(newErrorMsg); } } )( jQuery, 'jQuery.daesa-custom.js' ); //////////////////////////////////////////////////////////////////////////////////////////////// // §1.1: GfAdvSelectIntf2 /** * Graviy Forms Advanced Select Interface (GfAdvSelectIntf) module. * * JQuery-based interface to key UI components of an Gravity Forms select field utilizing the * advanced user interface option. * * @param {jquery} $ - The session's jquery object. * @param {string} modName - Stores the name of this module; useful in error reporting. * @param {object} lsSels - A collection of lexically scoped jQuery selectors that come from the * design of Gravity Forms select fields utilizing the advanced user interface. * @param {string} lsSels.gfId - JQuery Selector for a single CSS class used to identify gravity * fields. * @param {string} lsSels.gfContId - JQuery Selector for a single CSS class used to identify whether * the purported selection gravity form field contains an expected child container. * @param {string} lsSels.gfSelSel - Selector string used to isolate the select element child within * the gravity form field. * @param {string} lsSels.gfChosenSpanSel - Selector string used to isolate the span element that * displays the currently selected option to the user. * * @class */ var GfAdvSelectIntf2 = ( function( $, modName, lsSels ) { 'use strict'; /** * Constructor for GfAdvSelectIntf. * * @param {jquery} $gfield - A jQuery object representing the */ function GfAdvSelectIntf2( $gfield ) { //////////////////////////////////////////////////////////////////////////////////////// // §1.1.1: Public properties /** * JQuery object representing the span element that shows the currently selected location * option to the user. * * @public */ this.$chosenSpan = undefined; /** * Retain a copy of the original prospective gravity forms field used to construct this * interface. * * @public */ this.$gfield = $gfield; /** * JQuery object representing the select element containing the location option that the * user currently has selected. * * @public */ this.$selElem = undefined; //////////////////////////////////////////////////////////////////////////////////////// // §1.1.4: Constructor's main execution section this.buildIntfToField(); } //////////////////////////////////////////////////////////////////////////////////////////// // §1.1.5: Public methods /** * Build the interface to the gravity forms field by populating jQuery objects representing key * components used in carrying over institution location values. */ GfAdvSelectIntf2.prototype.buildIntfToField = function() { if ( this.isValid() ) { this.$selElem = this.$gfield.find( lsSels.gfSelSel ); this.$chosenSpan = this.$gfield.find( lsSels.gfChosenSpanSel ); } }; /** * Build the interface to the gravity forms field by populating jQuery objects representing key * components used in carrying over institution location values. * * @return {boolean} - True if the interface is valid and can be reliably used, false otherwise. */ // TODO: Write documentation header. // TODO: Finish writing function (move to public method). GfAdvSelectIntf2.prototype.isValid = function () { return ls_EvalValidity( this ); }; //////////////////////////////////////////////////////////////////////////////////////////// // §1.1.6: Lexically scoped support functions /** * Evaluate the validity of an instance of GfAdvSelectIntf2. * * Evaluate the validity of an instance of GfAdvSelectIntf2 based on the parameter it was passed * during its construction and the condition of lexically scoped settings for the module. * Several criteria about the nature of the object and whether it can be used to build an * interface to expected elements within the DOM must be satisfied. * * @param {GfAdvSelectIntf2} obj - The instance of GfAdvSelectIntf2 to be evaluated. * * @return {boolean} - True if the interface is valid and can be reliably used, false otherwise. */ function ls_EvalValidity( obj ) { var classIsCorrect = undefined; var hasRightChildren = undefined; var is$ = undefined; var lenOf1 = undefined; var selsMakeSense = undefined; var valid = false; try { selsMakeSense = $.isCssClass( lsSels.gfId ) && $.isCssClass( lsSels.gfContId ); is$ = $.isJQueryObj( obj.$gfield ); lenOf1 = is$ ? obj.$gfield.length === 1 : false; classIsCorrect = lenOf1 && selsMakeSense ? obj.$gfield.hasClass( lsSels.gfId ) : false; // TODO: Add check for correct children being present valid = is$ && lenOf1 && classIsCorrect; } catch ( e ) { console.log( e.name + ': ' + e.message ); } if ( !valid ) { reportValidityError( classIsCorrect, hasRightChildren, is$, lenOf1, selsMakeSense ); } return valid; } /** * Tells the user why an instance of GfAdvSelectIntf2 is invalid. * * Debugging function that uses the console's log to tell the user why an instance of * GfAdvSelectIntf2 is invalid and cannot be used as expected. Validity is based on the condition * of the $gfield parameter passed to the instance during its construction. * * @param {undefined|boolean} classIsCorrect - Indicates whether $gfield has a class applied to * it that indicates it is a genuine gravity forms field. * @param {undefined|boolean} hasRightChildren - Indicates whether $gfield contains child * elements that are associated with the advanced user interface option for drop downs. */ function reportValidityError( classIsCorrect, hasRightChildren, is$, lenOf1, selsMakeSense ) { var msg; if ( typeof selsMakeSense === 'undefined' || typeof is$ === undefined ) { msg = 'Object validity could not be determined because jQuery extensions from jQuery.ou\ e.js are missing.'; } else if ( selsMakeSense === false ) { msg = 'I was passed inappropriate values for my lexically scoped selectors.'; } else if ( is$ === false ) { msg = 'The "gravity forms field" I was passed is not even a jQuery object.'; } else if ( lenOf1 === false ) { msg = 'I was given a valid jQuery object to build myself from, but found that it did no\ t represent a single element.'; } else if ( classIsCorrect === false ) { msg = 'I was given a valid jQuery object representing a single element to build myself \ from, but found that it did not represent a gravity forms field.'; } else if ( hasRightChildren === false ) { msg = "The jQuery object representing the gravity forms field I was given to build myse\ lf from did not contain the expected child elements that are associated with the GF select field's \ advanced user interface option."; } else { msg = "I'm not sure what is wrong, but I was unable to build myself; careful debugging \ will be needed to determine the nature of this unforseen error condition."; } console.log( modName + " construction error: " + msg ); } return GfAdvSelectIntf2; } )( jQuery, 'GfAdvSelectIntf2', { gfId: 'gfield', gfContId: 'ginput_container_select', gfSelSel: '.gfield_select', gfChosenSpanSel: '.chosen-single span' } ); //////////////////////////////////////////////////////////////////////////////////////////////// // §1.2: AddCrseCoInr2 /** * Add course carry over initiator (AddCrseCoInr2) module. * * Module that can bind an event handler to a transfer course evaluation request form that causes * the location and name of the previous course to be carried over to a new course once it is added * to the request. * * @param {jquery} $ - The session's jquery object. * @param {string} modName - Stores the name of this module; useful in error reporting. * @param {object} lsSels - A collection of lexically scoped jQuery selectors that are determined by * the design of transfer course evaluation request forms. * @param {string} lsSels.gfCont - Selector for the wrapper of a transfer course evaluation request * form. * @param {string} lsSels.gfFld - Selector for gravity forms fields. * @param {string} lsSels.locFld - Selector for the institution location field in a transfer course * evaluation request form, which is the first field in the set of fields that identifies the * institution associated with the course to be entered. * * @todo Finish adding inline documentation to module. * * @class */ var AddCrseCoInr2 = ( function( $, modName, lsSels ) { 'use strict'; function AddCrseCoInr2( selFields ) { this.selFields = selFields; this.$fields = $( selFields ); this.enactCarryOver(); } AddCrseCoInr2.prototype.enactCarryOver = function() { var $gfCont = $( lsSels.gfCont ); var $this = undefined; var isChecked = undefined; var inst = this; $gfCont.on( 'change', inst.selFields, function() { $this = $( this ); isChecked = $this.prop( 'checked' ); if ( isChecked ) { ls_CarryOverLocationFlds( inst, $this ); } } ); }; function ls_CarryOverLocationFlds( inst, $fld ) { var $nextCountryFld = undefined; var $nextIntlNameFld = undefined; var $nextLocFld = undefined; var $nextNameFld = undefined; var $parentFld = undefined; var $prevLocFld = undefined; var $prevNameFld = undefined; // First find the parent gfield. $parentFld = $fld.parents( lsSels.gfFld ).first(); // Using the parent gfield, find the next set of location fields following the checkbox that // will copy previous set of location fields preceding the check box. $nextLocFld = $parentFld.nextAll( lsSels.locFld ).first(); $nextNameFld = $nextLocFld.prev(); // Using the parent gfield, find the previous set of location fields preceding the checkbox // that will be copied over to the newly revealed set of fields following the check box. $prevLocFld = $parentFld.prevAll( lsSels.locFld ).first(); $prevNameFld = $prevLocFld.prev(); // Copy the values from the previous field set to the next. ls_CopyOverTxtFld( $prevNameFld, $nextNameFld ); ls_CopyOverTxtFld( $prevLocFld, $nextLocFld ); console.log( 'Attempting to carry over field values.' ); } function ls_CopyOverTxtFld( $prevInputFld, $nextInputFld ) { var $prevInputElem = $prevInputFld.find( 'input' ); var $nextInputElem = $nextInputFld.find( 'input' ); $nextInputElem.val( $prevInputElem.val() ); $nextInputElem.trigger( 'change' ); $nextInputElem.trigger( 'blur' ); } return AddCrseCoInr2; } )( jQuery, 'AddCrseCoInr2', { gfCont: '.gform_wrapper', gfFld: '.gfield', locFld: '.gf-course-locn' } ); //////////////////////////////////////////////////////////////////////////////////////////////// // §2.0: Application of modules to website /** * @todo: Add inline documentation. */ ( function ( $ ) { 'use strict'; $( window ).on ( 'load', function() { var initiator = new AddCrseCoInr2( '.gf-course-co-chain input' ); console.log( 'Attempting to set up form.' ); initiator.enactCarryOver(); } ); } )( jQuery ); /*************************************************************************************************** * █ ▄▀▀▄ █ █ █▀▀▀ █▀▀▄ █ █ █▀▀▀ ▄▀▀▄ █▀▀▄ ▐▀▄▀▌▄▀▀▀ █ ▄▀▀▀ * ▄ █ █ █ █ █ █▀▀ █▄▄▀ ▀▄▄█ █▀▀▀ █ █ █▄▄▀ █ ▀ ▌▀▀▀█ ▄ █ ▀▀▀█ * ▀▄▄█ ▀█▄ ▀▀ ▀▀▀▀ ▀ ▀▄▄▄▄▀ ▀ ▀ ▀▀ ▀ ▀▄█ ▀▀▀▀ ▀ ▀▄▄█ ▀▀▀ * * Enhancements mediated by jQuery to dynamic behavior of Gravity Forms and intended for Washington * State University (WSU) websites built in the WSU WordPress platform. Designed especially for * the websites of the Division of Academic Engagement and Student Achievement. * * @version 1.0.2 * * @author Daniel C. Rieck [daniel.rieck@wsu.edu] (https://github.com/invokeImmediately) * @link https://github.com/invokeImmediately/WSU-DAESA-JS/blob/master/jQuery.forms.js * @license MIT - Copyright (c) 2021 Washington State University * Permission is hereby granted, free of charge, to any person obtaining a copy of this software * and associated documentation files (the “Software”), to deal in the Software without * restriction, including without limitation the rights to use, copy, modify, merge, publish, * distribute, sublicense, and/or sell copies of the Software, and to permit persons to whom the * Software is furnished to do so, subject to the following conditions: * The above copyright notice and this permission notice shall be included in all copies or * substantial portions of the Software. * THE SOFTWARE IS PROVIDED “AS IS”, WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED, INCLUDING * BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND * NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, * DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING * FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. **************************************************************************************************/ var EmailConfirmations=function(t){"use strict";function e(t){this.sels={gform:".gform_wrapper",gfield:t,inputs:".ginput_right input[type='text']"}}return e.prototype.init=function(){var e=t(this.sels.gform),i=this.sels.gfield+" "+this.sels.inputs;e.length&&e.on("paste",i,this.onPaste)},e.prototype.onPaste=function(t){t.stopPropagation(),t.preventDefault()},e}(jQuery),OueGFs=function(t){"use strict";function e(){this.selectors={gforms:".gform_wrapper",wsuIds:".gf-is-wsu-id",emailConfirmations:".ginput_container_email"},this.wsuIds=null,this.emailConfirmations=null}return e.prototype.init=function(){this.completeDomLoadedTasks()},e.prototype.completeDomLoadedTasks=function(){var e=this;t((function(){var i;t(e.selectors.gforms).length&&((i=e).emailConfirmations=new EmailConfirmations(i.selectors.emailConfirmations),i.emailConfirmations.init(),function(t){t.wsuIds=new WsuIdInputs(t.selectors.wsuIds),t.wsuIds.init()}(e))}))},e}(jQuery),WsuIdInputs=function(t){"use strict";function e(t){this.sels={gform:".gform_wrapper",gfield:t,inputs:"input[type='text']"}}return e.prototype.init=function(){var e=t(this.sels.gform),i=this.sels.gfield+" "+this.sels.inputs;e.on("blur",i,this.onBlur),e.on("keydown",i,this.onKeydown),e.on("paste",i,this.onPaste)},e.prototype.onBlur=function(e){var i=t(this),n=i.val();""!=n&&null==/(?:^[0-9]{8}$)|(?:^0[0-9]{8}$)/.exec(n)&&(i.val(""),alert("The WSU ID you entered did not follow the correct pattern; please try again. When the leading zero is included, WSU ID numbers are 9 digits long. You can also drop the leading zero and enter in 8 digits."))},e.prototype.onKeydown=function(e){var i=t(this).val(),n=[8,9,20,35,36,37,39,46,110,144];!(e.keyCode<48||e.keyCode>57&&e.keyCode<96||e.keyCode>105)||~n.indexOf(e.keyCode)||86==e.keyCode&&e.ctrlKey?!~n.indexOf(e.keyCode)&&i.length>=9&&(e.preventDefault(),alert("Note: WSU ID numbers are no greater than nine (9) digits in length.")):e.preventDefault()},e.prototype.onPaste=function(e){var i=t(this),n=(e.originalEvent.clipboardData||window.clipboardData).getData("Text"),s=/[^0-9]+/g;if(null!=s.exec(n)){var o="Note: WSU ID numbers can only contain digits.";e.stopPropagation(),e.preventDefault(),i.val(n.replace(s,"")),(n=i.val()).length>9&&(i.val(n.slice(0,9)),o+=" Also, they must be no greater than nine (9) digits in length."),o+=" What you pasted will automatically be corrected; please check the result to see if further corrections are needed.",alert(o)}else n.length>9&&(e.stopPropagation(),e.preventDefault(),i.val(n.slice(0,9)),alert("WSU ID numbers are no greater than nine (9) digits in length. What you pasted will automatically be corrected. Please check the result to see if further corrections are needed."))},e}(jQuery);!function(t){"use strict";function e(e){t.isJQueryObj(e)&&e.each((function(){var e=t(this);""==e.val()||e.hasClass("chosen-search-input")&&"Click to select..."==e.val()?e.removeClass("gf-value-entered"):e.addClass("gf-value-entered")}))}function i(e){t.isJQueryObj(e)&&e.each((function(){var e=t(this);e.blur((function(){""==e.val()||e.hasClass("chosen-search-input")&&"Click to select..."==e.val()?e.removeClass("gf-value-entered"):e.addClass("gf-value-entered")}))}))}(new OueGFs).init(),t(document).on("gform_post_render",(function(){var n;n=".oue-gf-actvtr-checkbox","string"===t.type(n)&&t(".gform_body").on("change",n+" input",(function(){t(this).parents(n).addClass("gf-activated")})),function(e){"string"===t.type(e)&&t(".gform_body").on("change",e+" input",(function(){var i=t(this),n=i.parents(e).prevAll(e);i.prop("checked")?n.first().addClass("gf-hidden"):n.first().removeClass("gf-hidden")}))}(".oue-gf-actvtr-chain"),function(e){if("string"===t.type(e)){t(e+" input[type='file']").each((function(){var i=t(this);if(i.nextAll("div[id]").first().length>0){i.addClass("gf-value-entered");var n=i.parents(e).first();n.removeClass("gf-hidden"),n.nextAll(e).first().removeClass("gf-hidden")}})),t(".gform_body").on("change",e+" input[type='file']",(function(){var i=t(this);if(null!=i.prop("files")&&i.prop("files").length>0){var n=!0,s=i.parents(e).first(),o=s.nextAll(e),a=s.prevAll(e);if(0!=o.length||0!=a.length){var r=i.prop("files").item(0).name;a.each((function(){if(n){var e=t(this).find("input[type='file']").first();if(null!=e.prop("files")&&e.prop("files").length>0){var i=e.prop("files").item(0).name;n=r!=i}}})),o.each((function(){if(n){var e=t(this).find("input[type='file']").first();if(null!=e.prop("files")&&e.prop("files").length>0){var i=e.prop("files").item(0).name;n=r!=i}}}))}n?(i.addClass("gf-value-entered"),o.first().removeClass("gf-hidden")):(alert("A file with the same name has already been uploaded; please choose a different file."),i.get(0).value="")}else $thisChild.removeClass("gf-value-entered")}))}}(".oue-gf-upload-chain");var s,o=t(".gfield_contains_required");e(o.find('input[type="text"]')),function(e){if(!t.isJQueryObj(e))return;e.each((function(){var e=t(this),i=e.find("input"),n=!1;i.each((function(){1!=t(this).prop("checked")||n||(n=!0)})),n?e.addClass("gf-value-entered"):e.removeClass("gf-value-entered")}))}(o.find(".gfield_checkbox, .gfield_radio")),e(o.find("textarea")),i(o.find("input")),function(e){if(!t.isJQueryObj(e))return;e.each((function(){t(this).find("input").each((function(){var e=t(this);e.change((function(){var i,n=!1;(i=e.parents(".gfield_checkbox, .gfield_radio")).find("input").each((function(){1!=t(this).prop("checked")||n||(n=!0)})),n?i.addClass("gf-value-entered"):i.removeClass("gf-value-entered")}))}))}))}(o.find(".gfield_checkbox, .gfield_radio")),function(t){i(t)}(o.find("textarea")),s=o.find("select"),t.isJQueryObj(s)&&s.each((function(){var e=t(this),i=e.find("option:selected"),n=i.text();""!=n?e.addClass("gf-value-entered"):e.removeClass("gf-value-entered"),e.change((function(){i=e.find("option:selected"),""!=(n=i.text())?e.addClass("gf-value-entered"):e.removeClass("gf-value-entered")}))})),function(e){t.isJQueryObj(e)&&e.length>0&&e.each((function(){setTimeout(function(){t(this).find("iframe").each((function(){var e=t(this).contents().find("#tinymce");e.css("fontFamily",'"Open sans", sans-serif'),""==e.text().replace(/\n|\uFEFF/g,"")&&e.css("background","#fff linear-gradient(to bottom, rgba(255,0,0,0.1), rgba(255,0,0,0)) no-repeat"),e.focus((function(){t(this).css("background","#fff")})),e.blur((function(){var e=t(this);""==e.text().replace(/\n|\uFEFF/g,"")&&e.css("background","#fff linear-gradient(to bottom, rgba(255,0,0,0.1), rgba(255,0,0,0)) no-repeat")}))}))}.bind(this),2e3)}))}(t(".gfield_contains_required.uses-rich-editor"))}))}(jQuery);</script> </body> </html> <!-- Performance optimized by W3 Total Cache. Learn more: https://www.boldgrid.com/w3-total-cache/ Page Caching using Disk Served from: transfercredit.wsu.edu @ 2024-11-28 04:41:52 by W3 Total Cache -->

Pages: 1 2 3 4 5 6 7 8 9 10