CINXE.COM

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>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/2" /><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/" /> <link rel='shortlink' href='https://transfercredit.wsu.edu/' /> <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%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%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 = '11e9cec772'; 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="home page-template-default page page-id-2 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 wsu-menu-item--current"><a href="https://transfercredit.wsu.edu/" aria-current="page">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" aria-expanded="false" aria-haspopup="true"><a href="https://transfercredit.wsu.edu/pathway-agreements-processes/">Pathway Agreements &amp; Processes</a><button aria-label="{Open 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 --> <div class="wsu-wrapper-content "> <main role="main" id="wsu-content" class="wsu-wrapper-main" tabindex="-1"> <article class="wsu-article"> <div class="wsu-hero wsu-width--full wsu-pattern--wsu-light-radial-left wsu-hero--size-small "> <div class="wsu-image-frame wsu-image-frame--fill"> <img decoding="async" src="https://wpcdn.web.wsu.edu/wp-daesa/uploads/sites/3116/2023/01/Coug-Logo-on-Chinook-crop_8520.jpg" srcset="https://wpcdn.web.wsu.edu/wp-daesa/uploads/sites/3116/2023/01/Coug-Logo-on-Chinook-crop_8520.jpg 1920w, https://wpcdn.web.wsu.edu/wp-daesa/uploads/sites/3116/2023/01/Coug-Logo-on-Chinook-crop_8520.jpg 396w, https://wpcdn.web.wsu.edu/wp-daesa/uploads/sites/3116/2023/01/Coug-Logo-on-Chinook-crop_8520.jpg 792w, https://wpcdn.web.wsu.edu/wp-daesa/uploads/sites/3116/2023/01/Coug-Logo-on-Chinook-crop_8520.jpg 768w, https://wpcdn.web.wsu.edu/wp-daesa/uploads/sites/3116/2023/01/Coug-Logo-on-Chinook-crop_8520.jpg 1536w, https://wpcdn.web.wsu.edu/wp-daesa/uploads/sites/3116/2023/01/Coug-Logo-on-Chinook-crop_8520.jpg 198w" sizes="(max-width: 1920px) 100vw, 1920px" alt="Washington State University Logo (W, S, U, letters create a cougar head) as seen on the Chinook Student Center building at WSU Pullman." style="object-position: 44% 44%" /> </div> <div class="wsu-overlay wsu-pattern-after wsu-overlay--light wsu-pattern--none"></div> <div class="wsu-hero__content"> <div class="wsu-hero__caption"> <div class="wsu-eyebrow-header"> Welcome to the </div> <h1 id="title-id-67483d8e27cdb" class="wsu-title wsu-hero__title"><span><span class="wsu-hero__title--expanded-text">Transfer Center</span> <span class="wsu-hero__title--contracted-text">for Policy &amp; Resources</span></span></h1> </div> </div> </div> <div class="wsu-row wsu-row--single" > <div class="wsu-column" style=""> <p class="wsu-font-size--large"><strong>The WSU Transfer Center provides resources and support to students</strong> with transfer credit to help ensure equitable pathways and successful transitions to a Washington State University degree.</p> </div> </div> <div class="wsu-container wsu-position--relative" > <div class="wsu-decorator wsu-decorator--style-block-gray" style="top:-1.75rem;left:-1.75rem;height:3.5rem;width:3.5rem"></div> <div class="wsu-decorator wsu-decorator--style-lines-crimson" style="bottom:.5rem;right:-1.75rem;height:3.5rem;width:3.5rem"></div> <div class="wsu-card-wrapper wsu-position--relative wsu-card-wrapper--navigation-tiles wsu-card-wrapper--per-row-4" > <article class="wsu-card wsu-color-background--white wsu-border-top--color-crimson wsu-card--outline-shadow"> <div class="wsu-card__content"> <h2 class="wsu-title "> Transfer Tools </h2> <div class="wsu-caption"> Planning your transfer to WSU? Use our Transfer Course Search Tool, learn how to read your Transfer Credit Report or submit the Course Evaluation Request form here. </div> <span class="wsu-card__content-custom"> <div class="wsu-cta wsu-cta--width-full wsu-spacing-after--none"> <a href="https://transfercredit.wsu.edu/tools-overview/" class="wsu-button wsu-spacing-padding-left--small wsu-spacing-padding-right--small"> Browse tools </a> </div> </span> </div> </article> <article class="wsu-card wsu-color-background--white wsu-border-top--color-crimson wsu-card--outline-shadow"> <div class="wsu-card__content"> <h2 class="wsu-title "> Credit Policies </h2> <div class="wsu-caption"> Review WSU policy regarding all types of college credit including, credit by exam, military and international credit, as well as information on transferring a degree. </div> <span class="wsu-card__content-custom"> <div class="wsu-cta wsu-cta--width-full wsu-spacing-after--none"> <a href="https://transfercredit.wsu.edu/transfer-credit-policies-resources/" class="wsu-button wsu-spacing-padding-left--small wsu-spacing-padding-right--small"> Review policies </a> </div> </span> </div> </article> <article class="wsu-card wsu-color-background--white wsu-border-top--color-crimson wsu-card--outline-shadow"> <div class="wsu-card__content"> <h2 class="wsu-title "> Student Resources &amp; Events </h2> <div class="wsu-caption"> Learn more about the transfer student seminar course, workshops designed specifically for transfer, and special events. </div> <span class="wsu-card__content-custom"> <div class="wsu-cta wsu-cta--width-full wsu-spacing-after--none"> <a href="https://transfercredit.wsu.edu/resources-overview/" class="wsu-button wsu-spacing-padding-left--small wsu-spacing-padding-right--small"> View Resources </a> </div> </span> </div> </article> <article class="wsu-card wsu-color-background--white wsu-border-top--color-crimson wsu-card--outline-shadow"> <div class="wsu-card__content"> <h2 class="wsu-title "> Pathway Agreements &amp; Processes </h2> <div class="wsu-caption"> Discover established transfer pathway articulation agreements and learn how to connect to develop new ones. </div> <span class="wsu-card__content-custom"> <div class="wsu-cta wsu-cta--width-full wsu-spacing-after--none"> <a href="https://transfercredit.wsu.edu/pathway-agreements-processes/" class="wsu-button wsu-spacing-padding-left--small wsu-spacing-padding-right--small"> Explore Pathways </a> </div> </span> </div> </article> </div> </div> <hr class="wp-block-separator wsu-spacing-before--medium" /> <div class="wsu-row wsu-row--sidebar-left" > <div class="wsu-column" style=""> <h2 class="wsu-font-size--large wsu-heading--style-marked wp-block-heading">Transfer Course Search&nbsp;Tool</h2> <p class="wsu-font-size--medium"><a href="https://zzusis-utilities.wsu.edu/psportal/pages/transfercoursesearch.html">Explore</a> how courses transfer to WSU. For an overview on using the tool visit the <a href="https://transfercredit.wsu.edu/tools/transfer-course-search-tool/">info page</a>.</p> <article class="wsu-card transfer-course-search-tool-home-page-link"> <div class="wsu-image-frame wsu-image--ratio-4-3"> <a href="https://zzusis-utilities.wsu.edu/psportal/pages/transfercoursesearch.html" tabindex="-1" aria-hidden="true"> <img decoding="async" src="https://wpcdn.web.wsu.edu/wp-daesa/uploads/sites/3116/2016/01/screenshot_transfer-credit-search-tool.jpg" srcset="" sizes="(max-width: 372px) 100vw, 372px" alt="" style="object-position: 50% 50%" /> </a> </div> <div class="wsu-card__content"> </div> <a class='wsu-card__link' href="https://zzusis-utilities.wsu.edu/psportal/pages/transfercoursesearch.html" aria-hidden="true" tabindex="-1" ></a></article> </div> <div class="wsu-column" style=""> <div class="wsu-container wsu-container--add-left-seperator-when-packed" > <h2 class="wsu-font-size--large wsu-heading--style-marked wp-block-heading">WSU Transfer Connections and Updates</h2> <ul class="wsu-font-size--medium"><li><strong>Transferring your credit:</strong> <a href="https://futurecoug.wsu.edu/portal/transfer">Register for an appointment</a> with Transfer Center staff.</li><li><a href="https://futurecoug.wsu.edu/portal/rep">Contact an Admissions Counselor</a> <strong>with questions about applying to WSU!</strong></li><li><strong>Sending transcripts to WSU?</strong> <a href="https://admission.wsu.edu/apply/transcripts/">Find instructions for your campus</a>.</li><li><strong>Are you a transfer advisor or counselor?</strong>&nbsp;<a href="https://futurecoug.wsu.edu/register/?id=0f84ea1c-be67-4a95-b417-960581fba3d4">Sign up for WSU transfer news</a> and updates here.</li></ul> <h3 class="wsu-font-size--xxmedium wp-block-heading">Contact Us</h3> <ul class="wsu-font-size--medium"><li><strong>Phone: </strong><a href="tel:509-335-8704">509-335-8704</a></li><li><strong>Email: </strong><a href="mailto:transfer@wsu.edu">transfer@wsu.edu</a></li><li><strong>Location: </strong><a href="https://goo.gl/maps/W4BU7wZWGPSMriqZ8">Lighty Student Services 180</a></li></ul> </div> </div> </div> <p></p> <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> <script src='https://player.vimeo.com/api/player.js?ver=6.2.2' id='vimeo-player-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 01:53:18 by W3 Total Cache -->

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