diff --git a/dist/css/main.css b/dist/css/main.css index 25a244c..b77c4dc 100644 --- a/dist/css/main.css +++ b/dist/css/main.css @@ -1 +1 @@ -.rh-button-sm{-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;border:0;cursor:pointer;display:inline-block;font-family:Source Sans Pro,Helvetica Neue,Helvetica,Arial,sans-serif;font-size:2rem;line-height:1;text-align:center;transition:background-color .25s ease-in-out,color .25s ease-in-out;width:auto}.rh-button-sm,.rh-button-sm a{font-weight:400;text-decoration:none}.rh-button-sm:active,.rh-button-sm:focus,.rh-button-sm:hover{text-decoration:underline}.su-alert .centered-container{padding-bottom:.8em;padding-top:.8em}@media only screen and (min-width:576px){.su-alert .centered-container{align-items:center}}.su-alert__text{font-size:1.8rem}@media (max-width:991px){.su-alert__header{margin-bottom:.5em}}.main-region .node-stanford-page-su-page-banner,.paragraph-item.ptype-stanford-banner{margin-bottom:5rem}.rh-banner-wrapper--height-default .su-hero,.rh-banner-wrapper--height-default .su-hero__media{min-height:520px}.rh-banner-wrapper--height-medium .su-hero,.rh-banner-wrapper--height-medium .su-hero__media{min-height:350px}.rh-banner-wrapper--height-short .su-hero,.rh-banner-wrapper--height-short .su-hero__media{min-height:250px}@media (max-width:767px){.rh-banner-wrapper--height-default .su-hero,.rh-banner-wrapper--height-default .su-hero__media,.rh-banner-wrapper--height-medium .su-hero,.rh-banner-wrapper--height-medium .su-hero__media,.rh-banner-wrapper--height-short .su-hero,.rh-banner-wrapper--height-short .su-hero__media{min-height:unset}}.ptype-stanford-banner .rh-banner-wrapper--headline-center .su-hero .su-hero__card,.ptype-stanford-banner .rh-banner-wrapper--headline-left .su-hero .su-hero__card,.ptype-stanford-banner .rh-banner-wrapper--headline-right .su-hero .su-hero__card{background:transparent;border:0;bottom:0;box-shadow:none;left:auto;margin:0 auto}.ptype-stanford-banner .rh-banner-wrapper--headline-center .su-hero .su-hero__card .su-card__contents,.ptype-stanford-banner .rh-banner-wrapper--headline-left .su-hero .su-hero__card .su-card__contents,.ptype-stanford-banner .rh-banner-wrapper--headline-right .su-hero .su-hero__card .su-card__contents{margin:3.8rem 1rem 1rem}.ptype-stanford-banner .rh-banner-wrapper--headline-center .su-hero .su-hero__card .su-card__contents>span,.ptype-stanford-banner .rh-banner-wrapper--headline-left .su-hero .su-hero__card .su-card__contents>span,.ptype-stanford-banner .rh-banner-wrapper--headline-right .su-hero .su-hero__card .su-card__contents>span{font-size:1em}.ptype-stanford-banner .rh-banner-wrapper--headline-center .su-hero .su-hero__card .su-card__contents h2,.ptype-stanford-banner .rh-banner-wrapper--headline-left .su-hero .su-hero__card .su-card__contents h2,.ptype-stanford-banner .rh-banner-wrapper--headline-right .su-hero .su-hero__card .su-card__contents h2{font-size:2.5em;margin-top:0}.ptype-stanford-banner .rh-banner-wrapper--headline-center .su-hero .su-hero__card .su-card__contents p,.ptype-stanford-banner .rh-banner-wrapper--headline-left .su-hero .su-hero__card .su-card__contents p,.ptype-stanford-banner .rh-banner-wrapper--headline-right .su-hero .su-hero__card .su-card__contents p{font-size:2rem}.ptype-stanford-banner .rh-banner-wrapper--headline-center .su-hero .su-hero__card .su-card__contents .su-card__button,.ptype-stanford-banner .rh-banner-wrapper--headline-left .su-hero .su-hero__card .su-card__contents .su-card__button,.ptype-stanford-banner .rh-banner-wrapper--headline-right .su-hero .su-hero__card .su-card__contents .su-card__button{margin-bottom:unset;margin-top:4.5rem;text-shadow:none}@media (max-width:767px){.ptype-stanford-banner .rh-banner-wrapper--headline-center .su-hero .su-hero__card,.ptype-stanford-banner .rh-banner-wrapper--headline-left .su-hero .su-hero__card,.ptype-stanford-banner .rh-banner-wrapper--headline-right .su-hero .su-hero__card{border:1px solid #e3e3e3;box-shadow:0 3px 6px rgba(0,0,0,.13),0 3px 6px rgba(0,0,0,.1);max-width:100%!important}.ptype-stanford-banner .rh-banner-wrapper--headline-center .su-hero .su-hero__card .su-card__contents,.ptype-stanford-banner .rh-banner-wrapper--headline-left .su-hero .su-hero__card .su-card__contents,.ptype-stanford-banner .rh-banner-wrapper--headline-right .su-hero .su-hero__card .su-card__contents{padding:2rem}.ptype-stanford-banner .rh-banner-wrapper--headline-center .su-hero .su-hero__card .su-card__contents h2,.ptype-stanford-banner .rh-banner-wrapper--headline-left .su-hero .su-hero__card .su-card__contents h2,.ptype-stanford-banner .rh-banner-wrapper--headline-right .su-hero .su-hero__card .su-card__contents h2{font-size:2.1em}.ptype-stanford-banner .rh-banner-wrapper--headline-center .su-hero .su-hero__card .su-card__contents .su-card__button,.ptype-stanford-banner .rh-banner-wrapper--headline-left .su-hero .su-hero__card .su-card__contents .su-card__button,.ptype-stanford-banner .rh-banner-wrapper--headline-right .su-hero .su-hero__card .su-card__contents .su-card__button{margin-top:2rem}}.ptype-stanford-banner .rh-banner-wrapper--headline-center.rh-banner-wrapper--text-color-black,.ptype-stanford-banner .rh-banner-wrapper--headline-left.rh-banner-wrapper--text-color-black,.ptype-stanford-banner .rh-banner-wrapper--headline-right.rh-banner-wrapper--text-color-black{color:#2e2d29;text-shadow:1px 1px 3px hsla(0,0%,100%,.7),-1px -1px 3px hsla(0,0%,100%,.7)}.ptype-stanford-banner .rh-banner-wrapper--headline-center.rh-banner-wrapper--text-color-black .su-card__contents p a,.ptype-stanford-banner .rh-banner-wrapper--headline-left.rh-banner-wrapper--text-color-black .su-card__contents p a,.ptype-stanford-banner .rh-banner-wrapper--headline-right.rh-banner-wrapper--text-color-black .su-card__contents p a{color:#2e2d29;font-weight:600}.ptype-stanford-banner .rh-banner-wrapper--headline-center.rh-banner-wrapper--text-color-black .su-card__contents p a:active,.ptype-stanford-banner .rh-banner-wrapper--headline-center.rh-banner-wrapper--text-color-black .su-card__contents p a:focus,.ptype-stanford-banner .rh-banner-wrapper--headline-center.rh-banner-wrapper--text-color-black .su-card__contents p a:hover,.ptype-stanford-banner .rh-banner-wrapper--headline-left.rh-banner-wrapper--text-color-black .su-card__contents p a:active,.ptype-stanford-banner .rh-banner-wrapper--headline-left.rh-banner-wrapper--text-color-black .su-card__contents p a:focus,.ptype-stanford-banner .rh-banner-wrapper--headline-left.rh-banner-wrapper--text-color-black .su-card__contents p a:hover,.ptype-stanford-banner .rh-banner-wrapper--headline-right.rh-banner-wrapper--text-color-black .su-card__contents p a:active,.ptype-stanford-banner .rh-banner-wrapper--headline-right.rh-banner-wrapper--text-color-black .su-card__contents p a:focus,.ptype-stanford-banner .rh-banner-wrapper--headline-right.rh-banner-wrapper--text-color-black .su-card__contents p a:hover{color:#53565a}@media (max-width:767px){.ptype-stanford-banner .rh-banner-wrapper--headline-center.rh-banner-wrapper--text-color-black .su-card__contents,.ptype-stanford-banner .rh-banner-wrapper--headline-left.rh-banner-wrapper--text-color-black .su-card__contents,.ptype-stanford-banner .rh-banner-wrapper--headline-right.rh-banner-wrapper--text-color-black .su-card__contents{color:#2e2d29;text-shadow:none}.ptype-stanford-banner .rh-banner-wrapper--headline-center.rh-banner-wrapper--text-color-black .su-card__contents p a,.ptype-stanford-banner .rh-banner-wrapper--headline-left.rh-banner-wrapper--text-color-black .su-card__contents p a,.ptype-stanford-banner .rh-banner-wrapper--headline-right.rh-banner-wrapper--text-color-black .su-card__contents p a{color:#006cb8;font-weight:600;text-decoration:underline}.ptype-stanford-banner .rh-banner-wrapper--headline-center.rh-banner-wrapper--text-color-black .su-card__contents p a:active,.ptype-stanford-banner .rh-banner-wrapper--headline-center.rh-banner-wrapper--text-color-black .su-card__contents p a:focus,.ptype-stanford-banner .rh-banner-wrapper--headline-center.rh-banner-wrapper--text-color-black .su-card__contents p a:hover,.ptype-stanford-banner .rh-banner-wrapper--headline-left.rh-banner-wrapper--text-color-black .su-card__contents p a:active,.ptype-stanford-banner .rh-banner-wrapper--headline-left.rh-banner-wrapper--text-color-black .su-card__contents p a:focus,.ptype-stanford-banner .rh-banner-wrapper--headline-left.rh-banner-wrapper--text-color-black .su-card__contents p a:hover,.ptype-stanford-banner .rh-banner-wrapper--headline-right.rh-banner-wrapper--text-color-black .su-card__contents p a:active,.ptype-stanford-banner .rh-banner-wrapper--headline-right.rh-banner-wrapper--text-color-black .su-card__contents p a:focus,.ptype-stanford-banner .rh-banner-wrapper--headline-right.rh-banner-wrapper--text-color-black .su-card__contents p a:hover{color:#2e2d29}}@media (min-width:768px){.ptype-stanford-banner .rh-banner-wrapper--headline-center.rh-banner-wrapper--text-color-black .su-hero__media:before,.ptype-stanford-banner .rh-banner-wrapper--headline-left.rh-banner-wrapper--text-color-black .su-hero__media:before,.ptype-stanford-banner .rh-banner-wrapper--headline-right.rh-banner-wrapper--text-color-black .su-hero__media:before{background:linear-gradient(180deg,hsla(0,0%,100%,0),hsla(0,0%,94%,.6) 50%,hsla(0,0%,100%,0));bottom:0;content:"";left:0;position:absolute;right:0;top:0;z-index:2}.ptype-stanford-banner .rh-banner-wrapper--headline-center.rh-banner-wrapper--text-color-black .su-hero__media picture,.ptype-stanford-banner .rh-banner-wrapper--headline-left.rh-banner-wrapper--text-color-black .su-hero__media picture,.ptype-stanford-banner .rh-banner-wrapper--headline-right.rh-banner-wrapper--text-color-black .su-hero__media picture{display:block;position:relative;z-index:0}}.ptype-stanford-banner .rh-banner-wrapper--headline-center.rh-banner-wrapper--text-color-white,.ptype-stanford-banner .rh-banner-wrapper--headline-left.rh-banner-wrapper--text-color-white,.ptype-stanford-banner .rh-banner-wrapper--headline-right.rh-banner-wrapper--text-color-white{color:#fff;text-shadow:0 0 8px rgba(0,0,0,.25),1px 1px 1px rgba(0,0,0,.35),-1px -1px 1px rgba(0,0,0,.35)}.ptype-stanford-banner .rh-banner-wrapper--headline-center.rh-banner-wrapper--text-color-white .su-card__contents p a,.ptype-stanford-banner .rh-banner-wrapper--headline-left.rh-banner-wrapper--text-color-white .su-card__contents p a,.ptype-stanford-banner .rh-banner-wrapper--headline-right.rh-banner-wrapper--text-color-white .su-card__contents p a{color:#fff;font-weight:600}.ptype-stanford-banner .rh-banner-wrapper--headline-center.rh-banner-wrapper--text-color-white .su-card__contents p a:active,.ptype-stanford-banner .rh-banner-wrapper--headline-center.rh-banner-wrapper--text-color-white .su-card__contents p a:focus,.ptype-stanford-banner .rh-banner-wrapper--headline-center.rh-banner-wrapper--text-color-white .su-card__contents p a:hover,.ptype-stanford-banner .rh-banner-wrapper--headline-left.rh-banner-wrapper--text-color-white .su-card__contents p a:active,.ptype-stanford-banner .rh-banner-wrapper--headline-left.rh-banner-wrapper--text-color-white .su-card__contents p a:focus,.ptype-stanford-banner .rh-banner-wrapper--headline-left.rh-banner-wrapper--text-color-white .su-card__contents p a:hover,.ptype-stanford-banner .rh-banner-wrapper--headline-right.rh-banner-wrapper--text-color-white .su-card__contents p a:active,.ptype-stanford-banner .rh-banner-wrapper--headline-right.rh-banner-wrapper--text-color-white .su-card__contents p a:focus,.ptype-stanford-banner .rh-banner-wrapper--headline-right.rh-banner-wrapper--text-color-white .su-card__contents p a:hover{color:#dad7cb}@media (max-width:767px){.ptype-stanford-banner .rh-banner-wrapper--headline-center.rh-banner-wrapper--text-color-white .su-card__contents,.ptype-stanford-banner .rh-banner-wrapper--headline-left.rh-banner-wrapper--text-color-white .su-card__contents,.ptype-stanford-banner .rh-banner-wrapper--headline-right.rh-banner-wrapper--text-color-white .su-card__contents{color:#2e2d29;text-shadow:none}.ptype-stanford-banner .rh-banner-wrapper--headline-center.rh-banner-wrapper--text-color-white .su-card__contents p a,.ptype-stanford-banner .rh-banner-wrapper--headline-left.rh-banner-wrapper--text-color-white .su-card__contents p a,.ptype-stanford-banner .rh-banner-wrapper--headline-right.rh-banner-wrapper--text-color-white .su-card__contents p a{color:#006cb8;font-weight:600;text-decoration:underline}.ptype-stanford-banner .rh-banner-wrapper--headline-center.rh-banner-wrapper--text-color-white .su-card__contents p a:active,.ptype-stanford-banner .rh-banner-wrapper--headline-center.rh-banner-wrapper--text-color-white .su-card__contents p a:focus,.ptype-stanford-banner .rh-banner-wrapper--headline-center.rh-banner-wrapper--text-color-white .su-card__contents p a:hover,.ptype-stanford-banner .rh-banner-wrapper--headline-left.rh-banner-wrapper--text-color-white .su-card__contents p a:active,.ptype-stanford-banner .rh-banner-wrapper--headline-left.rh-banner-wrapper--text-color-white .su-card__contents p a:focus,.ptype-stanford-banner .rh-banner-wrapper--headline-left.rh-banner-wrapper--text-color-white .su-card__contents p a:hover,.ptype-stanford-banner .rh-banner-wrapper--headline-right.rh-banner-wrapper--text-color-white .su-card__contents p a:active,.ptype-stanford-banner .rh-banner-wrapper--headline-right.rh-banner-wrapper--text-color-white .su-card__contents p a:focus,.ptype-stanford-banner .rh-banner-wrapper--headline-right.rh-banner-wrapper--text-color-white .su-card__contents p a:hover{color:#2e2d29}}@media (min-width:768px){.ptype-stanford-banner .rh-banner-wrapper--headline-center.rh-banner-wrapper--text-color-white .su-hero__media:before,.ptype-stanford-banner .rh-banner-wrapper--headline-left.rh-banner-wrapper--text-color-white .su-hero__media:before,.ptype-stanford-banner .rh-banner-wrapper--headline-right.rh-banner-wrapper--text-color-white .su-hero__media:before{background:linear-gradient(180deg,rgba(46,45,41,.1),rgba(0,0,0,.5) 50%,rgba(46,45,41,.2));bottom:0;content:"";left:0;position:absolute;right:0;top:0;z-index:2}.ptype-stanford-banner .rh-banner-wrapper--headline-center.rh-banner-wrapper--text-color-white .su-hero__media picture,.ptype-stanford-banner .rh-banner-wrapper--headline-left.rh-banner-wrapper--text-color-white .su-hero__media picture,.ptype-stanford-banner .rh-banner-wrapper--headline-right.rh-banner-wrapper--text-color-white .su-hero__media picture{display:block;position:relative;z-index:0}.ptype-stanford-banner .rh-banner-wrapper--headline-left .su-hero .su-hero__card{margin-left:10rem;max-width:50%}}.ptype-stanford-banner .rh-banner-wrapper--headline-left .su-hero .su-hero__card .su-card__contents{text-align:left}.ptype-stanford-banner .rh-banner-wrapper--headline-center .su-hero .su-hero__card{max-width:70%}.ptype-stanford-banner .rh-banner-wrapper--headline-center .su-hero .su-hero__card .su-card__contents{text-align:center}@media (min-width:768px){.ptype-stanford-banner .rh-banner-wrapper--headline-right .su-hero .su-hero__card{margin-right:10rem;max-width:50%}.ptype-stanford-banner .rh-banner-wrapper--headline-right .su-hero .su-hero__card .su-card__contents{text-align:right}}.ptype-stanford-banner .rh-banner-wrapper--background-no-color .su-hero__media{background-color:#fff!important}.ptype-stanford-banner .rh-banner-wrapper--background-cardinal-red .su-hero__media{background-color:#8c1515!important}.ptype-stanford-banner .rh-banner-wrapper--background-cardinal-red-light .su-hero__media{background-color:#b83a4b!important}.ptype-stanford-banner .rh-banner-wrapper--background-cardinal-red-dark .su-hero__media{background-color:#820000!important}.ptype-stanford-banner .rh-banner-wrapper--background-white .su-hero__media{background-color:#fff!important}.ptype-stanford-banner .rh-banner-wrapper--background-black .su-hero__media{background-color:#2e2d29!important}.ptype-stanford-banner .rh-banner-wrapper--background-cool-grey .su-hero__media{background-color:#53565a!important}.ptype-stanford-banner .rh-banner-wrapper--background-charcoal .su-hero__media{background-color:#231f20!important}.ptype-stanford-banner .rh-banner-wrapper--background-driftwood .su-hero__media{background-color:#b6b1a9!important}.ptype-stanford-banner .rh-banner-wrapper--background-driftwood-75 .su-hero__media{background-color:#cac6bf!important}.ptype-stanford-banner .rh-banner-wrapper--background-driftwood-50 .su-hero__media{background-color:#d9d7d2!important}.ptype-stanford-banner .rh-banner-wrapper--background-driftwood-25 .su-hero__media{background-color:#ecebe9!important}.ptype-stanford-banner .rh-banner-wrapper--background-stone .su-hero__media{background-color:#7f7776!important}.ptype-stanford-banner .rh-banner-wrapper--background-stone-75 .su-hero__media{background-color:#a69f99!important}.ptype-stanford-banner .rh-banner-wrapper--background-stone-50 .su-hero__media{background-color:#bfbab6!important}.ptype-stanford-banner .rh-banner-wrapper--background-stone-25 .su-hero__media{background-color:#dcd8d5!important}.ptype-stanford-banner .rh-banner-wrapper--background-sand .su-hero__media{background-color:#d2ba92!important}.ptype-stanford-banner .rh-banner-wrapper--background-sand-75 .su-hero__media{background-color:#e1cfab!important}.ptype-stanford-banner .rh-banner-wrapper--background-sand-50 .su-hero__media{background-color:#e9dbc1!important}.ptype-stanford-banner .rh-banner-wrapper--background-sand-25 .su-hero__media{background-color:#f2eadd!important}.ptype-stanford-banner .rh-banner-wrapper--background-buckeye-lane .su-hero__media{background-color:#53284f!important}.ptype-stanford-banner .rh-banner-wrapper--background-buckeye-lane-light .su-hero__media{background-color:#613863!important}.ptype-stanford-banner .rh-banner-wrapper--background-buckeye-lane-dark .su-hero__media{background-color:#350d36!important}.ptype-stanford-banner .rh-banner-wrapper--background-brick .su-hero__media{background-color:#651c32!important}.ptype-stanford-banner .rh-banner-wrapper--background-brick-light .su-hero__media{background-color:#7f2d48!important}.ptype-stanford-banner .rh-banner-wrapper--background-brick-dark .su-hero__media{background-color:#42081b!important}.ptype-stanford-banner .rh-banner-wrapper--background-bay .su-hero__media{background-color:#6fa287!important}.ptype-stanford-banner .rh-banner-wrapper--background-bay-light .su-hero__media{background-color:#8ab8a7!important}.ptype-stanford-banner .rh-banner-wrapper--background-bay-dark .su-hero__media{background-color:#417865!important}.ptype-stanford-banner .rh-banner-wrapper--background-lagunita .su-hero__media{background-color:#007c92!important}.ptype-stanford-banner .rh-banner-wrapper--background-lagunita-light .su-hero__media{background-color:#009ab4!important}.ptype-stanford-banner .rh-banner-wrapper--background-lagunita-dark .su-hero__media{background-color:#006b81!important}.ptype-stanford-banner .rh-banner-wrapper--background-palo-alto .su-hero__media{background-color:#175e54!important}.ptype-stanford-banner .rh-banner-wrapper--background-palo-alto-light .su-hero__media{background-color:#2d716f!important}.ptype-stanford-banner .rh-banner-wrapper--background-palo-alto-dark .su-hero__media{background-color:#014240!important}.ptype-stanford-banner .rh-banner-wrapper--background-palo-verde .su-hero__media{background-color:#279989!important}.ptype-stanford-banner .rh-banner-wrapper--background-palo-verde-light .su-hero__media{background-color:#59b3a9!important}.ptype-stanford-banner .rh-banner-wrapper--background-palo-verde-dark .su-hero__media{background-color:#017e7c!important}.ptype-stanford-banner .rh-banner-wrapper--background-new-sky .su-hero__media{background-color:#5c9dae!important}.ptype-stanford-banner .rh-banner-wrapper--background-new-sky-light .su-hero__media{background-color:#67afd2!important}.ptype-stanford-banner .rh-banner-wrapper--background-new-sky-dark .su-hero__media{background-color:#267e9c!important}.ptype-stanford-banner .rh-banner-wrapper--background-poppy .su-hero__media{background-color:#e98300!important}.ptype-stanford-banner .rh-banner-wrapper--background-poppy-light .su-hero__media{background-color:#f9a44a!important}.ptype-stanford-banner .rh-banner-wrapper--background-poppy-dark .su-hero__media{background-color:#d1660f!important}.ptype-stanford-banner .rh-banner-wrapper--background-autumn-gingko .su-hero__media{background-color:#ffc915!important}.ptype-stanford-banner .rh-banner-wrapper--background-autumn-gingko-light .su-hero__media{background-color:#ffdf50!important}.ptype-stanford-banner .rh-banner-wrapper--background-autumn-gingko-dark .su-hero__media{background-color:#f1ad13!important}.ptype-stanford-banner .rh-banner-wrapper--background-macdonald .su-hero__media{background-color:#bac405!important}.ptype-stanford-banner .rh-banner-wrapper--background-macdonald-light .su-hero__media{background-color:#cfd650!important}.ptype-stanford-banner .rh-banner-wrapper--background-macdonald-dark .su-hero__media{background-color:#636f00!important}.ptype-stanford-banner .rh-banner-wrapper--background-digital-red .su-hero__media{background-color:#b1040e!important}.ptype-stanford-banner .rh-banner-wrapper--background-digital-red-light .su-hero__media{background-color:#e50808!important}.ptype-stanford-banner .rh-banner-wrapper--background-digital-red-dark .su-hero__media{background-color:#820000!important}.ptype-stanford-banner .rh-banner-wrapper--background-digital-blue .su-hero__media{background-color:#006cb8!important}.ptype-stanford-banner .rh-banner-wrapper--background-digital-blue-light .su-hero__media{background-color:#6fc3ff!important}.ptype-stanford-banner .rh-banner-wrapper--background-digital-blue-dark .su-hero__media{background-color:#00548f!important}.ptype-stanford-banner .rh-banner-wrapper--background-digital-pink .su-hero__media{background-color:#e64097!important}.ptype-stanford-banner .rh-banner-wrapper--background-digital-pink-light .su-hero__media{background-color:#ec70b1!important}.ptype-stanford-banner .rh-banner-wrapper--background-digital-pink-dark .su-hero__media{background-color:#b0008e!important}.ptype-stanford-banner .rh-banner-wrapper--background-mist .su-hero__media{background-color:#f4f4f4!important}.ptype-stanford-banner .rh-banner-wrapper--background-mist-dark .su-hero__media{background-color:#dfe1e2!important}.ptype-stanford-banner .rh-banner-wrapper--background-no-gradient .su-hero__media:before{background-image:none!important}@media (max-width:767px){.ptype-stanford-banner .rh-banner-wrapper--background-no-color .su-hero__media{display:none!important}}.su-local-footer a{text-decoration:none}.su-local-footer a:hover{text-decoration:underline}.su-local-footer .su-local-footer__list-heading,.su-local-footer .su-wysiwyg-text h2{font-size:2.1rem}.su-local-footer .su-wysiwyg-text ul li{font-size:1.7rem}.su-lockup__cell2{margin-bottom:.2rem}@media (min-width:768px){.su-lockup__cell2{padding-left:10px}.su-lockup__line1{font-size:3.2rem}.su-masthead>section:last-of-type{padding-top:2.5rem}.su-masthead .su-lockup{margin-bottom:1.5rem}}@media (min-height:992px){.su-masthead{position:sticky;top:0}}#block-gsb-research-hub-subtheme-main-navigation nav a[href^=http]:after{background-color:#b1040e;content:"";display:inline-block;height:10px;margin-left:.4em;margin-right:.3em;-webkit-mask:url(data:image/svg+xml;base64,PHN2ZyB3aWR0aD0iMjQiIGhlaWdodD0iMjQiIGZpbGw9Im5vbmUiIHhtbG5zPSJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2ZyI+PHBhdGggZmlsbC1ydWxlPSJldmVub2RkIiBjbGlwLXJ1bGU9ImV2ZW5vZGQiIGQ9Ik0yMy41OTcgMS40NTNjLjI4OS4zMDUuNDM0LjcyLjM5NyAxLjE0TDIyLjU0IDE5LjQ2YTEuNDU4IDEuNDU4IDAgMCAxLTEuNTc1IDEuMzM0IDEuNDYzIDEuNDYzIDAgMCAxLTEuMzIzLTEuNTg4bDEuMTM2LTEzLjE3MS0xOC4zNTIgMTYuNTlhMS40NDYgMS40NDYgMCAwIDEtMi4wNTQtLjExMyAxLjQ3NSAxLjQ3NSAwIDAgMSAuMTEyLTIuMDdsMTguMDczLTE2LjM0LTEzLjQwNi41NjNhMS40NiAxLjQ2IDAgMCAxLTEuNTEzLTEuNDA0QTEuNDYyIDEuNDYyIDAgMCAxIDUuMDMgMS43MzVMMjIuNDg1IDFhMS40NSAxLjQ1IDAgMCAxIDEuMTEyLjQ1MloiIGZpbGw9IiMyRTJEMjkiLz48L3N2Zz4=) no-repeat 0 0;mask:url(data:image/svg+xml;base64,PHN2ZyB3aWR0aD0iMjQiIGhlaWdodD0iMjQiIGZpbGw9Im5vbmUiIHhtbG5zPSJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2ZyI+PHBhdGggZmlsbC1ydWxlPSJldmVub2RkIiBjbGlwLXJ1bGU9ImV2ZW5vZGQiIGQ9Ik0yMy41OTcgMS40NTNjLjI4OS4zMDUuNDM0LjcyLjM5NyAxLjE0TDIyLjU0IDE5LjQ2YTEuNDU4IDEuNDU4IDAgMCAxLTEuNTc1IDEuMzM0IDEuNDYzIDEuNDYzIDAgMCAxLTEuMzIzLTEuNTg4bDEuMTM2LTEzLjE3MS0xOC4zNTIgMTYuNTlhMS40NDYgMS40NDYgMCAwIDEtMi4wNTQtLjExMyAxLjQ3NSAxLjQ3NSAwIDAgMSAuMTEyLTIuMDdsMTguMDczLTE2LjM0LTEzLjQwNi41NjNhMS40NiAxLjQ2IDAgMCAxLTEuNTEzLTEuNDA0QTEuNDYyIDEuNDYyIDAgMCAxIDUuMDMgMS43MzVMMjIuNDg1IDFhMS40NSAxLjQ1IDAgMCAxIDEuMTEyLjQ1MloiIGZpbGw9IiMyRTJEMjkiLz48L3N2Zz4=) no-repeat 0 0;-webkit-mask-size:contain;mask-size:contain;width:10px}#block-gsb-research-hub-subtheme-content .su-person-content .right-region .block__title{font-size:2rem}#block-gsb-research-hub-subtheme-content .su-person-content .right-region .block__title:before{display:none}#block-gsb-research-hub-subtheme-content .su-person-content .right-region .su-wysiwyg-text p{font-size:1.7rem;line-height:1.5}.rh-quote{border-radius:2em;margin-bottom:2em;max-width:800px;overflow:hidden;padding:1em 1.2em 1.5em 1.6em}.rh-quote .rh-quote__img{border:0;border-radius:150px;float:left;height:auto;margin-right:0;width:auto}.rh-quote .rh-quote__body .rh-quote__name{font-size:.8em;font-weight:600;line-height:1.4;margin-top:1em;text-align:left}.rh-quote .rh-quote__body .rh-quote__title{font-weight:400}.rh-quote .rh-quote__body .rh-quote__quote{font-family:"Source Serif Pro",Georgia,Times,Times New Roman,serif;font-size:1.2em;font-weight:400;margin-top:.5em;quotes:"“" "”" "‘" "’"}.rh-quote .rh-quote__body .rh-quote__quote:before{content:open-quote;margin:0 0 0 -.5em}.rh-quote .rh-quote__body .rh-quote__quote:after{content:close-quote}.su-wysiwyg-text p.rh-quote-text{font-family:"Source Serif Pro",Georgia,Times,Times New Roman,serif;font-size:1.2em;font-style:normal;font-weight:400;letter-spacing:0;line-height:1.2em;margin-bottom:.6em;margin-top:.5em;quotes:"“" "”" "‘" "’"}.su-wysiwyg-text p.rh-quote-text:before{content:open-quote;margin:0 0 0 -.5em;position:relative}.su-wysiwyg-text p.rh-quote-text:after{content:close-quote;position:relative}.rh-quote-border-no-color{border:2px solid #fff}.rh-quote-border-cardinal-red{border:2px solid #8c1515}.rh-quote-border-cardinal-red-light{border:2px solid #b83a4b}.rh-quote-border-cardinal-red-dark{border:2px solid #820000}.rh-quote-border-white{border:2px solid #fff}.rh-quote-border-black{border:2px solid #2e2d29}.rh-quote-border-cool-grey{border:2px solid #53565a}.rh-quote-border-charcoal{border:2px solid #231f20}.rh-quote-border-driftwood{border:2px solid #b6b1a9}.rh-quote-border-driftwood-75{border:2px solid #cac6bf}.rh-quote-border-driftwood-50{border:2px solid #d9d7d2}.rh-quote-border-driftwood-25{border:2px solid #ecebe9}.rh-quote-border-stone{border:2px solid #7f7776}.rh-quote-border-stone-75{border:2px solid #a69f99}.rh-quote-border-stone-50{border:2px solid #bfbab6}.rh-quote-border-stone-25{border:2px solid #dcd8d5}.rh-quote-border-sand{border:2px solid #d2ba92}.rh-quote-border-sand-75{border:2px solid #e1cfab}.rh-quote-border-sand-50{border:2px solid #e9dbc1}.rh-quote-border-sand-25{border:2px solid #f2eadd}.rh-quote-border-buckeye-lane{border:2px solid #53284f}.rh-quote-border-buckeye-lane-light{border:2px solid #613863}.rh-quote-border-buckeye-lane-dark{border:2px solid #350d36}.rh-quote-border-brick{border:2px solid #651c32}.rh-quote-border-brick-light{border:2px solid #7f2d48}.rh-quote-border-brick-dark{border:2px solid #42081b}.rh-quote-border-bay{border:2px solid #6fa287}.rh-quote-border-bay-light{border:2px solid #8ab8a7}.rh-quote-border-bay-dark{border:2px solid #417865}.rh-quote-border-lagunita{border:2px solid #007c92}.rh-quote-border-lagunita-light{border:2px solid #009ab4}.rh-quote-border-lagunita-dark{border:2px solid #006b81}.rh-quote-border-palo-alto{border:2px solid #175e54}.rh-quote-border-palo-alto-light{border:2px solid #2d716f}.rh-quote-border-palo-alto-dark{border:2px solid #014240}.rh-quote-border-palo-verde{border:2px solid #279989}.rh-quote-border-palo-verde-light{border:2px solid #59b3a9}.rh-quote-border-palo-verde-dark{border:2px solid #017e7c}.rh-quote-border-new-sky{border:2px solid #5c9dae}.rh-quote-border-new-sky-light{border:2px solid #67afd2}.rh-quote-border-new-sky-dark{border:2px solid #267e9c}.rh-quote-border-poppy{border:2px solid #e98300}.rh-quote-border-poppy-light{border:2px solid #f9a44a}.rh-quote-border-poppy-dark{border:2px solid #d1660f}.rh-quote-border-autumn-gingko{border:2px solid #ffc915}.rh-quote-border-autumn-gingko-light{border:2px solid #ffdf50}.rh-quote-border-autumn-gingko-dark{border:2px solid #f1ad13}.rh-quote-border-macdonald{border:2px solid #bac405}.rh-quote-border-macdonald-light{border:2px solid #cfd650}.rh-quote-border-macdonald-dark{border:2px solid #636f00}.rh-quote-border-digital-red{border:2px solid #b1040e}.rh-quote-border-digital-red-light{border:2px solid #e50808}.rh-quote-border-digital-red-dark{border:2px solid #820000}.rh-quote-border-digital-blue{border:2px solid #006cb8}.rh-quote-border-digital-blue-light{border:2px solid #6fc3ff}.rh-quote-border-digital-blue-dark{border:2px solid #00548f}.rh-quote-border-digital-pink{border:2px solid #e64097}.rh-quote-border-digital-pink-light{border:2px solid #ec70b1}.rh-quote-border-digital-pink-dark{border:2px solid #b0008e}.rh-quote-border-mist{border:2px solid #f4f4f4}.rh-quote-border-mist-dark{border:2px solid #dfe1e2}.su-embed-container{height:0;max-width:100%;overflow:hidden;padding-bottom:56.25%;position:relative}.su-embed-container embed,.su-embed-container iframe,.su-embed-container object{height:100%;left:0;position:absolute;top:0;width:100%}.su-wysiwyg-text table td{line-height:.2em}.embeddable-content .s-lc-ea-h3{color:#2e2d29;font-size:1.95312em;letter-spacing:-.016em;margin-bottom:4rem}@media (max-width:767px){.embeddable-content .s-lc-ea-h3{font-size:1.66016em}}.embeddable-content .s-lc-ea-tb{border-bottom:2px solid #820000;font:inherit;margin-bottom:3.5rem}.embeddable-content .s-lc-ea-tb:last-of-type{border-bottom:0}.embeddable-content .s-lc-ea-tb p{font-size:1.9rem;margin-bottom:.8rem}.embeddable-content .s-lc-ea-tb p:first-of-type{margin-top:-1.3rem}.embeddable-content .s-lc-ea-tb tbody tr,.embeddable-content .s-lc-ea-tb thead tr{border-top:0}.airtable-filter-container{display:flex;flex-wrap:wrap;margin-bottom:3rem}.airtable-filter-container #airtable-list-filters{display:flex;flex:1 0;gap:1.5rem}.airtable-filter-container #airtable-list-filters .airtable-list-filter-group{border-radius:4px;flex:1;max-width:100%;min-width:0}.airtable-filter-container #airtable-list-filters .airtable-list-filter-group.airtable-list-filter-header{font-weight:600;text-transform:uppercase}.airtable-filter-container #airtable-list-filters .airtable-list-filter-group.airtable-list-filter-header .chosen-container{display:flex!important;font-size:1.6rem}.airtable-filter-container #airtable-list-filters .airtable-list-filter-group.airtable-list-filter-header .chosen-container.chosen-container-single .chosen-single{background-image:none;border:1px solid #b1040e!important;border-radius:4px;cursor:pointer;display:flex;font-size:1.6rem;line-height:1.15;margin:.5rem 0;max-width:100%;min-height:4rem;padding:0;width:100%}.airtable-filter-container #airtable-list-filters .airtable-list-filter-group.airtable-list-filter-header .chosen-container.chosen-container-single .chosen-single:focus{border-color:#009ab4;box-shadow:#009ab4}.airtable-filter-container #airtable-list-filters .airtable-list-filter-group.airtable-list-filter-header .chosen-container.chosen-container-single .chosen-single span{color:#2e2d29;display:flex;margin:1rem;text-transform:none}.airtable-filter-container #airtable-list-filters .airtable-list-filter-group.airtable-list-filter-header .chosen-container.chosen-container-single .chosen-single div{right:1.5rem}.airtable-filter-container #airtable-list-filters .airtable-list-filter-group.airtable-list-filter-header .chosen-container.chosen-container-single .chosen-single div b{background-size:10rem!important}.airtable-filter-container #airtable-list-filters .airtable-list-filter-group.airtable-list-filter-header .chosen-container.chosen-container-active .chosen-single{box-shadow:none;font-size:1.6rem}.airtable-filter-container #airtable-list-filters .airtable-list-filter-group.airtable-list-filter-header .chosen-container.chosen-container-multi .chosen-choices{background-image:url(https://cdnjs.cloudflare.com/ajax/libs/chosen/1.4.2/chosen-sprite@2x.png);background-position:119% 0;background-repeat:no-repeat;background-size:10rem;border:1px solid #b1040e!important;border-radius:4px;display:block;font-size:1.6rem;margin:.5rem 0;max-width:100%;min-height:4rem;padding-right:3rem;width:100%}.airtable-filter-container #airtable-list-filters .airtable-list-filter-group.airtable-list-filter-header .chosen-container.chosen-container-multi .chosen-choices:focus{border-color:#009ab4;box-shadow:#009ab4}.airtable-filter-container #airtable-list-filters .airtable-list-filter-group.airtable-list-filter-header .chosen-container.chosen-container-multi .chosen-choices li.search-choice{line-height:1.15}.airtable-filter-container #airtable-list-filters .airtable-list-filter-group.airtable-list-filter-header .chosen-container.chosen-container-multi .chosen-choices li.search-field input[type=text]{color:#2e2d29;font-family:inherit;font-size:1.6rem;font-weight:600;margin:.6rem}.airtable-filter-container #airtable-list-filters .airtable-list-filter-group.airtable-list-filter-header .chosen-container.chosen-container-multi .chosen-choices span{font-weight:600;text-transform:none}.airtable-filter-container #airtable-list-filters .airtable-list-filter-group.airtable-list-filter-header .chosen-container .chosen-drop{font-family:inherit;font-size:1.6rem;line-height:1.15;text-transform:none}.airtable-filter-container #airtable-list-filters .airtable-list-filter-group.airtable-list-filter-header .chosen-container .chosen-drop .chosen-results{max-height:100%}.airtable-filter-container #airtable-list-filters .airtable-list-filter-group.airtable-list-filter-header .chosen-container .chosen-drop .chosen-results li.highlighted{background-color:#006cb8;background-image:none;color:#fff}.airtable-filter-container #airtable-list-filters .airtable-list-search{flex:1;position:relative}.airtable-filter-container #airtable-list-filters .airtable-list-search .search-container{margin-left:auto;margin-right:auto;position:relative;width:100%}.airtable-filter-container #airtable-list-filters .airtable-list-search #airtable-search{border:1px solid #b1040e;border-radius:3rem;font-family:inherit;font-size:1.6rem;height:4rem;margin-top:3rem;padding:1rem 2rem .8rem;width:100%}.airtable-filter-container #airtable-list-filters .airtable-list-search i{display:none;font-size:3rem;position:absolute;right:4rem;top:20%;transform:translateY(-50%)}@media (max-width:1499px){.airtable-filter-container{flex-direction:column;max-width:50%}.airtable-filter-container #airtable-list-filters{flex-direction:column}.airtable-filter-container #airtable-list-filters .airtable-list-filter-group{width:100%}.airtable-filter-container #airtable-list-filters .airtable-list-filter-group.airtable-list-filter-header .chosen-container.chosen-container-multi .chosen-choices{background-position:115% 0}.airtable-filter-container #airtable-list-filters .airtable-list-search .search-container{width:100%}.airtable-filter-container #airtable-list-filters .airtable-list-search #airtable-search{margin-top:1rem;max-width:100%}.airtable-filter-container #airtable-list-filters .airtable-list-search i{right:3rem}}@media (max-width:1199px){.airtable-filter-container,.airtable-filter-container #airtable-list-filters{flex-direction:column}.airtable-filter-container #airtable-list-filters .airtable-list-filter-group{width:100%}.airtable-filter-container #airtable-list-filters .airtable-list-filter-group.airtable-list-filter-header .chosen-container.chosen-container-multi .chosen-choices{background-position:120% 0}}@media (max-width:991px){.airtable-filter-container #airtable-list-filters{flex-direction:column}.airtable-filter-container #airtable-list-filters .airtable-list-filter-group{width:100%}.airtable-filter-container #airtable-list-filters .airtable-list-filter-group.airtable-list-filter-header .chosen-container.chosen-container-multi .chosen-choices{background-position:125% 0}}@media (max-width:767px){.airtable-filter-container{max-width:100%}.airtable-filter-container #airtable-list-filters{flex-direction:column}.airtable-filter-container #airtable-list-filters .airtable-list-filter-group{width:100%}.airtable-filter-container #airtable-list-filters .airtable-list-filter-group.airtable-list-filter-header .chosen-container.chosen-container-multi .chosen-choices{background-position:115% 0}}@media (max-width:575px){.airtable-filter-container #airtable-list-filters{flex-direction:column}.airtable-filter-container #airtable-list-filters .airtable-list-filter-group{width:100%}.airtable-filter-container #airtable-list-filters .airtable-list-filter-group.airtable-list-filter-header .chosen-container.chosen-container-multi .chosen-choices{background-position:118% 0}}#airtable-list-record-wrapper.rh-list-layout .airtable-list-record-row{border-bottom:1px solid #dad7cb;font-size:2.1rem;margin:1rem 0}#airtable-list-record-wrapper.rh-list-layout .airtable-list-record-row:last-child{border-bottom:0}#airtable-list-record-wrapper.rh-list-layout .airtable-list-record-row h2{font-size:3.2rem;margin:1.8rem 0}#airtable-list-record-wrapper.rh-list-layout .airtable-list-record-row h3{font-size:3rem;margin:2rem 0}#airtable-list-record-wrapper.rh-list-layout .airtable-list-record-row div{margin:.7rem 0}#airtable-list-record-wrapper.rh-list-layout .airtable-list-record-row .su-button{margin:2rem 0 3rem}#airtable-list-record-wrapper.rh-card-layout .airtable-list-record-row{flex:0 0 100%;flex:1 0 calc(100% - 1rem);margin:1.5rem 0;max-width:100%;max-width:calc(100% - 1rem)}@media (min-width:576px) and (max-width:1499px){#airtable-list-record-wrapper.rh-card-layout .airtable-list-record-row{flex:0 0 calc(50% - 10px);flex:1 0 calc(50% - 1rem);max-width:calc(50% - 10px);max-width:calc(50% - 1rem)}}@media (min-width:1500px){#airtable-list-record-wrapper.rh-card-layout .airtable-list-record-row{flex:0 0 calc(33.33333% - 13.33333px);flex:1 0 calc(33.33% - 1rem);max-width:calc(33.33333% - 13.33333px);max-width:calc(33.33% - 1rem)}}#airtable-list-record-wrapper.rh-card-layout .airtable-list-record-row .su-card .su-card__contents{padding:3rem}#airtable-list-record-wrapper.rh-card-layout .airtable-list-record-row .su-card .su-card__contents h2{font-size:2.3rem}#airtable-list-record-wrapper.rh-card-layout .airtable-list-record-row .su-card .su-card__contents div{margin:1.5rem 0}#airtable-list-record-wrapper.rh-card-layout .airtable-list-record-row .su-card .su-card__contents .su-button{font-size:2rem;margin:1rem}#airtable-list-record-wrapper.rh-card-layout .airtable-list-record-row .su-card .su-card__contents .rh-service-catalog-request-services-wrapper{margin:3rem 0 0}.su-card .su-card__contents{padding:2rem 3rem}.su-card .su-card__contents .rh-service-catalog-label{display:block;font-weight:700}.su-card .su-card__contents .airtable-list-filter{background-color:#f2eadd;border-radius:2rem;color:#2e2d29;cursor:pointer;display:inline-block;font-size:1.5rem;padding:0 1rem;text-align:center;transition:background-color .3s,transform .3s;white-space:nowrap}.su-card .su-card__contents .airtable-list-filter:focus,.su-card .su-card__contents .airtable-list-filter:hover{background-color:#2e2d29!important;color:#fff!important}.su-card .su-card__contents .airtable-list-filter:focus{box-shadow:0 0 3px #53565a,0 0 7px #53565a!important}.su-card .su-card__contents .rh-service-catalog-core-service .airtable-list-filter{background-color:#7f7776;color:#fff}.su-card .su-card__contents .rh-service-catalog-core-service .airtable-list-filter:focus,.su-card .su-card__contents .rh-service-catalog-core-service .airtable-list-filter:hover{background-color:#2e2d29!important;color:#fff!important}.su-card .su-card__contents .rh-service-catalog-core-service .airtable-list-filter:focus{box-shadow:0 0 3px #53565a,0 0 7px #53565a!important}.section-training-workshops .ptype-stanford-wysiwyg,.section-training-workshops .ptype-stanford-wysiwyg .su-wysiwyg-text .su-intro-text,.section-training-workshops .ptype-stanford-wysiwyg .su-wysiwyg-text p,.section-training-workshops .ptype-stanford-wysiwyg .su-wysiwyg-text p.su-intro-text,.section-training-workshops-test .ptype-stanford-wysiwyg,.section-training-workshops-test .ptype-stanford-wysiwyg .su-wysiwyg-text .su-intro-text,.section-training-workshops-test .ptype-stanford-wysiwyg .su-wysiwyg-text p,.section-training-workshops-test .ptype-stanford-wysiwyg .su-wysiwyg-text p.su-intro-text{max-width:100%}.section-training-workshops #airtable-list-record-wrapper.rh-card-layout .airtable-list-record-row,.section-training-workshops-test #airtable-list-record-wrapper.rh-card-layout .airtable-list-record-row{margin:1.5rem 0;max-width:calc(100% - 1rem);min-width:250px}@media (min-width:992px) and (max-width:1499px){.section-training-workshops #airtable-list-record-wrapper.rh-card-layout .airtable-list-record-row,.section-training-workshops-test #airtable-list-record-wrapper.rh-card-layout .airtable-list-record-row{max-width:calc(50% - 1rem)}}@media (min-width:1500px){.section-training-workshops #airtable-list-record-wrapper.rh-card-layout .airtable-list-record-row,.section-training-workshops-test #airtable-list-record-wrapper.rh-card-layout .airtable-list-record-row{max-width:calc(33.33% - 1rem)}}.section-training-workshops #airtable-list-record-wrapper.rh-card-layout .airtable-list-record-row .su-card .su-card__contents,.section-training-workshops-test #airtable-list-record-wrapper.rh-card-layout .airtable-list-record-row .su-card .su-card__contents{padding:2rem 3rem}.section-training-workshops #airtable-list-record-wrapper.rh-card-layout .airtable-list-record-row .su-card .su-card__contents .training-Past,.section-training-workshops-test #airtable-list-record-wrapper.rh-card-layout .airtable-list-record-row .su-card .su-card__contents .training-Past{visibility:hidden}.section-training-workshops #airtable-list-record-wrapper.rh-card-layout .airtable-list-record-row .su-card .su-card__contents .training-Upcoming,.section-training-workshops-test #airtable-list-record-wrapper.rh-card-layout .airtable-list-record-row .su-card .su-card__contents .training-Upcoming{background:#279989;color:#fff;font-size:1.8rem;font-weight:600;height:2.6rem;letter-spacing:.05rem;padding:.3rem 1rem;text-align:center;text-transform:uppercase}.section-training-workshops #airtable-list-record-wrapper.rh-card-layout .airtable-list-record-row .su-card .su-card__contents h2,.section-training-workshops-test #airtable-list-record-wrapper.rh-card-layout .airtable-list-record-row .su-card .su-card__contents h2{font-size:2.3rem}.section-training-workshops #airtable-list-record-wrapper.rh-card-layout .airtable-list-record-row .su-card .su-card__contents h3,.section-training-workshops-test #airtable-list-record-wrapper.rh-card-layout .airtable-list-record-row .su-card .su-card__contents h3{margin-bottom:1rem}.section-training-workshops #airtable-list-record-wrapper.rh-card-layout .airtable-list-record-row .su-card .su-card__contents div,.section-training-workshops-test #airtable-list-record-wrapper.rh-card-layout .airtable-list-record-row .su-card .su-card__contents div{margin:1rem 0}.section-training-workshops #airtable-list-record-wrapper.rh-card-layout .airtable-list-record-row .su-card .su-card__contents .rh-training-event-date,.section-training-workshops-test #airtable-list-record-wrapper.rh-card-layout .airtable-list-record-row .su-card .su-card__contents .rh-training-event-date{font-size:2.2rem;font-weight:600}.section-training-workshops #airtable-list-record-wrapper.rh-card-layout .airtable-list-record-row .su-card .su-card__contents .rh-training-past-event-date,.section-training-workshops-test #airtable-list-record-wrapper.rh-card-layout .airtable-list-record-row .su-card .su-card__contents .rh-training-past-event-date{font-weight:400}.section-training-workshops #airtable-list-record-wrapper.rh-card-layout .airtable-list-record-row .su-card .su-card__contents .rh-training-label,.section-training-workshops-test #airtable-list-record-wrapper.rh-card-layout .airtable-list-record-row .su-card .su-card__contents .rh-training-label{font-weight:600}.section-training-workshops #airtable-list-record-wrapper.rh-card-layout .airtable-list-record-row .su-card .su-card__contents .airtable-list-filter,.section-training-workshops-test #airtable-list-record-wrapper.rh-card-layout .airtable-list-record-row .su-card .su-card__contents .airtable-list-filter{background-color:#f2eadd;border-radius:2rem;color:#2e2d29;cursor:pointer;display:inline-block;font-size:1.5rem;padding:0 1rem;text-align:center;transition:background-color .3s,transform .3s;white-space:nowrap}.section-training-workshops #airtable-list-record-wrapper.rh-card-layout .airtable-list-record-row .su-card .su-card__contents .airtable-list-filter:focus,.section-training-workshops #airtable-list-record-wrapper.rh-card-layout .airtable-list-record-row .su-card .su-card__contents .airtable-list-filter:hover,.section-training-workshops-test #airtable-list-record-wrapper.rh-card-layout .airtable-list-record-row .su-card .su-card__contents .airtable-list-filter:focus,.section-training-workshops-test #airtable-list-record-wrapper.rh-card-layout .airtable-list-record-row .su-card .su-card__contents .airtable-list-filter:hover{background-color:#2e2d29!important;color:#fff!important}.section-training-workshops #airtable-list-record-wrapper.rh-card-layout .airtable-list-record-row .su-card .su-card__contents .airtable-list-filter:focus,.section-training-workshops-test #airtable-list-record-wrapper.rh-card-layout .airtable-list-record-row .su-card .su-card__contents .airtable-list-filter:focus{box-shadow:0 0 3px #53565a,0 0 7px #53565a!important}.section-training-workshops #airtable-list-record-wrapper.rh-card-layout .airtable-list-record-row .su-card .su-card__contents .rh-training-category .airtable-list-filter,.section-training-workshops-test #airtable-list-record-wrapper.rh-card-layout .airtable-list-record-row .su-card .su-card__contents .rh-training-category .airtable-list-filter{background-color:#7f7776;color:#fff}.section-training-workshops #airtable-list-record-wrapper.rh-card-layout .airtable-list-record-row .su-card .su-card__contents .rh-training-category .airtable-list-filter:focus,.section-training-workshops #airtable-list-record-wrapper.rh-card-layout .airtable-list-record-row .su-card .su-card__contents .rh-training-category .airtable-list-filter:hover,.section-training-workshops-test #airtable-list-record-wrapper.rh-card-layout .airtable-list-record-row .su-card .su-card__contents .rh-training-category .airtable-list-filter:focus,.section-training-workshops-test #airtable-list-record-wrapper.rh-card-layout .airtable-list-record-row .su-card .su-card__contents .rh-training-category .airtable-list-filter:hover{background-color:#2e2d29!important;color:#fff!important}.section-training-workshops #airtable-list-record-wrapper.rh-card-layout .airtable-list-record-row .su-card .su-card__contents .rh-training-category .airtable-list-filter:focus,.section-training-workshops-test #airtable-list-record-wrapper.rh-card-layout .airtable-list-record-row .su-card .su-card__contents .rh-training-category .airtable-list-filter:focus{box-shadow:0 0 3px #53565a,0 0 7px #53565a!important}.section-training-workshops #airtable-list-record-wrapper.rh-card-layout .airtable-list-record-row .su-card .su-card__contents .rh-training-description p,.section-training-workshops-test #airtable-list-record-wrapper.rh-card-layout .airtable-list-record-row .su-card .su-card__contents .rh-training-description p{margin-bottom:.7rem}.section-training-workshops #airtable-list-record-wrapper.rh-card-layout .airtable-list-record-row .su-card .su-card__contents .rh-training-description p a,.section-training-workshops-test #airtable-list-record-wrapper.rh-card-layout .airtable-list-record-row .su-card .su-card__contents .rh-training-description p a{color:#006cb8}.section-training-workshops #airtable-list-record-wrapper.rh-card-layout .airtable-list-record-row .su-card .su-card__contents .rh-training-description ul,.section-training-workshops-test #airtable-list-record-wrapper.rh-card-layout .airtable-list-record-row .su-card .su-card__contents .rh-training-description ul{list-style:disc;margin-left:2rem}.section-training-workshops #airtable-list-record-wrapper.rh-card-layout .airtable-list-record-row .su-card .su-card__contents .rh-training-description ul li,.section-training-workshops-test #airtable-list-record-wrapper.rh-card-layout .airtable-list-record-row .su-card .su-card__contents .rh-training-description ul li{line-height:1}.section-training-workshops #airtable-list-record-wrapper.rh-card-layout .airtable-list-record-row .su-card .su-card__contents .rh-training-presenter-wrapper,.section-training-workshops-test #airtable-list-record-wrapper.rh-card-layout .airtable-list-record-row .su-card .su-card__contents .rh-training-presenter-wrapper{margin:1.5rem 0}.section-training-workshops #airtable-list-record-wrapper.rh-card-layout .airtable-list-record-row .su-card .su-card__contents .rh-training-presenter-wrapper .rh-training-presenter-row,.section-training-workshops-test #airtable-list-record-wrapper.rh-card-layout .airtable-list-record-row .su-card .su-card__contents .rh-training-presenter-wrapper .rh-training-presenter-row{line-height:1.1}.section-training-workshops #airtable-list-record-wrapper.rh-card-layout .airtable-list-record-row .su-card .su-card__contents .rh-training-presenter-wrapper .rh-training-presenter-row .rh-presenter-title,.section-training-workshops-test #airtable-list-record-wrapper.rh-card-layout .airtable-list-record-row .su-card .su-card__contents .rh-training-presenter-wrapper .rh-training-presenter-row .rh-presenter-title{font-size:1.6rem}.section-training-workshops #airtable-list-record-wrapper.rh-card-layout .airtable-list-record-row .su-card .su-card__contents .rh-training-links ul,.section-training-workshops-test #airtable-list-record-wrapper.rh-card-layout .airtable-list-record-row .su-card .su-card__contents .rh-training-links ul{list-style:none;padding-left:0}.section-training-workshops #airtable-list-record-wrapper.rh-card-layout .airtable-list-record-row .su-card .su-card__contents .rh-training-links ul li,.section-training-workshops-test #airtable-list-record-wrapper.rh-card-layout .airtable-list-record-row .su-card .su-card__contents .rh-training-links ul li{margin:.5rem 0}.section-training-workshops #airtable-list-record-wrapper.rh-card-layout .airtable-list-record-row .su-card .su-card__contents .rh-training-links ul a,.section-training-workshops-test #airtable-list-record-wrapper.rh-card-layout .airtable-list-record-row .su-card .su-card__contents .rh-training-links ul a{color:#006cb8}.section-training-workshops #airtable-list-record-wrapper.rh-card-layout .airtable-list-record-row .su-card .su-card__contents .su-button,.section-training-workshops-test #airtable-list-record-wrapper.rh-card-layout .airtable-list-record-row .su-card .su-card__contents .su-button{font-size:1.8rem;margin:1rem 0}.blab.tag{background-color:#417865!important}.blab.tag:focus,.blab.tag:hover{background-color:#2e2d29!important;color:#fff!important}.blab.tag:focus{box-shadow:0 0 3px #53565a,0 0 7px #53565a!important}.dag.tag{background-color:#ffc915!important;color:#2e2d29!important;font-weight:600!important}.dag.tag:focus,.dag.tag:hover{background-color:#2e2d29!important;color:#fff!important}.dag.tag:focus{box-shadow:0 0 3px #53565a,0 0 7px #53565a!important}.darc.tag{background-color:#7f2d48!important}.darc.tag:focus,.darc.tag:hover{background-color:#2e2d29!important;color:#fff!important}.darc.tag:focus{box-shadow:0 0 3px #53565a,0 0 7px #53565a!important}.library.tag{background-color:#006b81!important}.library.tag:focus,.library.tag:hover{background-color:#2e2d29!important;color:#fff!important}.library.tag:focus{box-shadow:0 0 3px #53565a,0 0 7px #53565a!important}.rli.tag{background-color:#d1660f!important}.rli.tag:focus,.rli.tag:hover{background-color:#2e2d29!important;color:#fff!important}.rli.tag:focus{box-shadow:0 0 3px #53565a,0 0 7px #53565a!important}.ro.tag{background-color:#00548f!important}.ro.tag:focus,.ro.tag:hover{background-color:#2e2d29!important;color:#fff!important}.ro.tag:focus{box-shadow:0 0 3px #53565a,0 0 7px #53565a!important}.rh-button-sm{background-color:#b1040e;color:#fff;font-size:1.5rem;font-weight:600;margin:1rem 0 .5rem;padding:.8rem 1rem 1rem}.rh-button-sm:after,.rh-button-sm:before{background-color:#fff;color:#b1040e}.rh-button-sm:focus,.rh-button-sm:hover{background-color:#2e2d29;color:#fff}.rh-button-sm:focus:after,.rh-button-sm:focus:before,.rh-button-sm:hover:after,.rh-button-sm:hover:before{background-color:#fff}.rh-button-sm:focus{box-shadow:0 0 3px #53565a,0 0 7px #53565a} \ No newline at end of file +.rh-button-sm{-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;border:0;cursor:pointer;display:inline-block;font-family:Source Sans Pro,Helvetica Neue,Helvetica,Arial,sans-serif;font-size:2rem;line-height:1;text-align:center;transition:background-color .25s ease-in-out,color .25s ease-in-out;width:auto}.rh-button-sm,.rh-button-sm a{font-weight:400;text-decoration:none}.rh-button-sm:active,.rh-button-sm:focus,.rh-button-sm:hover{text-decoration:underline}.su-alert .centered-container{padding-bottom:.8em;padding-top:.8em}@media only screen and (min-width:576px){.su-alert .centered-container{align-items:center}}.su-alert__text{font-size:1.8rem}@media (max-width:991px){.su-alert__header{margin-bottom:.5em}}.main-region .node-stanford-page-su-page-banner,.paragraph-item.ptype-stanford-banner{margin-bottom:5rem}.rh-banner-wrapper--height-default .su-hero,.rh-banner-wrapper--height-default .su-hero__media{min-height:520px}.rh-banner-wrapper--height-medium .su-hero,.rh-banner-wrapper--height-medium .su-hero__media{min-height:350px}.rh-banner-wrapper--height-short .su-hero,.rh-banner-wrapper--height-short .su-hero__media{min-height:250px}@media (max-width:767px){.rh-banner-wrapper--height-default .su-hero,.rh-banner-wrapper--height-default .su-hero__media,.rh-banner-wrapper--height-medium .su-hero,.rh-banner-wrapper--height-medium .su-hero__media,.rh-banner-wrapper--height-short .su-hero,.rh-banner-wrapper--height-short .su-hero__media{min-height:unset}}.ptype-stanford-banner .rh-banner-wrapper--headline-center .su-hero .su-hero__card,.ptype-stanford-banner .rh-banner-wrapper--headline-left .su-hero .su-hero__card,.ptype-stanford-banner .rh-banner-wrapper--headline-right .su-hero .su-hero__card{background:transparent;border:0;bottom:0;box-shadow:none;left:auto;margin:0 auto}.ptype-stanford-banner .rh-banner-wrapper--headline-center .su-hero .su-hero__card .su-card__contents,.ptype-stanford-banner .rh-banner-wrapper--headline-left .su-hero .su-hero__card .su-card__contents,.ptype-stanford-banner .rh-banner-wrapper--headline-right .su-hero .su-hero__card .su-card__contents{margin:3.8rem 1rem 1rem}.ptype-stanford-banner .rh-banner-wrapper--headline-center .su-hero .su-hero__card .su-card__contents>span,.ptype-stanford-banner .rh-banner-wrapper--headline-left .su-hero .su-hero__card .su-card__contents>span,.ptype-stanford-banner .rh-banner-wrapper--headline-right .su-hero .su-hero__card .su-card__contents>span{font-size:1em}.ptype-stanford-banner .rh-banner-wrapper--headline-center .su-hero .su-hero__card .su-card__contents h2,.ptype-stanford-banner .rh-banner-wrapper--headline-left .su-hero .su-hero__card .su-card__contents h2,.ptype-stanford-banner .rh-banner-wrapper--headline-right .su-hero .su-hero__card .su-card__contents h2{font-size:2.5em;margin-top:0}.ptype-stanford-banner .rh-banner-wrapper--headline-center .su-hero .su-hero__card .su-card__contents p,.ptype-stanford-banner .rh-banner-wrapper--headline-left .su-hero .su-hero__card .su-card__contents p,.ptype-stanford-banner .rh-banner-wrapper--headline-right .su-hero .su-hero__card .su-card__contents p{font-size:2rem}.ptype-stanford-banner .rh-banner-wrapper--headline-center .su-hero .su-hero__card .su-card__contents .su-card__button,.ptype-stanford-banner .rh-banner-wrapper--headline-left .su-hero .su-hero__card .su-card__contents .su-card__button,.ptype-stanford-banner .rh-banner-wrapper--headline-right .su-hero .su-hero__card .su-card__contents .su-card__button{margin-bottom:unset;margin-top:4.5rem;text-shadow:none}@media (max-width:767px){.ptype-stanford-banner .rh-banner-wrapper--headline-center .su-hero .su-hero__card,.ptype-stanford-banner .rh-banner-wrapper--headline-left .su-hero .su-hero__card,.ptype-stanford-banner .rh-banner-wrapper--headline-right .su-hero .su-hero__card{border:1px solid #e3e3e3;box-shadow:0 3px 6px rgba(0,0,0,.13),0 3px 6px rgba(0,0,0,.1);max-width:100%!important}.ptype-stanford-banner .rh-banner-wrapper--headline-center .su-hero .su-hero__card .su-card__contents,.ptype-stanford-banner .rh-banner-wrapper--headline-left .su-hero .su-hero__card .su-card__contents,.ptype-stanford-banner .rh-banner-wrapper--headline-right .su-hero .su-hero__card .su-card__contents{padding:2rem}.ptype-stanford-banner .rh-banner-wrapper--headline-center .su-hero .su-hero__card .su-card__contents h2,.ptype-stanford-banner .rh-banner-wrapper--headline-left .su-hero .su-hero__card .su-card__contents h2,.ptype-stanford-banner .rh-banner-wrapper--headline-right .su-hero .su-hero__card .su-card__contents h2{font-size:2.1em}.ptype-stanford-banner .rh-banner-wrapper--headline-center .su-hero .su-hero__card .su-card__contents .su-card__button,.ptype-stanford-banner .rh-banner-wrapper--headline-left .su-hero .su-hero__card .su-card__contents .su-card__button,.ptype-stanford-banner .rh-banner-wrapper--headline-right .su-hero .su-hero__card .su-card__contents .su-card__button{margin-top:2rem}}.ptype-stanford-banner .rh-banner-wrapper--headline-center.rh-banner-wrapper--text-color-black,.ptype-stanford-banner .rh-banner-wrapper--headline-left.rh-banner-wrapper--text-color-black,.ptype-stanford-banner .rh-banner-wrapper--headline-right.rh-banner-wrapper--text-color-black{color:#2e2d29;text-shadow:1px 1px 3px hsla(0,0%,100%,.7),-1px -1px 3px hsla(0,0%,100%,.7)}.ptype-stanford-banner .rh-banner-wrapper--headline-center.rh-banner-wrapper--text-color-black .su-card__contents p a,.ptype-stanford-banner .rh-banner-wrapper--headline-left.rh-banner-wrapper--text-color-black .su-card__contents p a,.ptype-stanford-banner .rh-banner-wrapper--headline-right.rh-banner-wrapper--text-color-black .su-card__contents p a{color:#2e2d29;font-weight:600}.ptype-stanford-banner .rh-banner-wrapper--headline-center.rh-banner-wrapper--text-color-black .su-card__contents p a:active,.ptype-stanford-banner .rh-banner-wrapper--headline-center.rh-banner-wrapper--text-color-black .su-card__contents p a:focus,.ptype-stanford-banner .rh-banner-wrapper--headline-center.rh-banner-wrapper--text-color-black .su-card__contents p a:hover,.ptype-stanford-banner .rh-banner-wrapper--headline-left.rh-banner-wrapper--text-color-black .su-card__contents p a:active,.ptype-stanford-banner .rh-banner-wrapper--headline-left.rh-banner-wrapper--text-color-black .su-card__contents p a:focus,.ptype-stanford-banner .rh-banner-wrapper--headline-left.rh-banner-wrapper--text-color-black .su-card__contents p a:hover,.ptype-stanford-banner .rh-banner-wrapper--headline-right.rh-banner-wrapper--text-color-black .su-card__contents p a:active,.ptype-stanford-banner .rh-banner-wrapper--headline-right.rh-banner-wrapper--text-color-black .su-card__contents p a:focus,.ptype-stanford-banner .rh-banner-wrapper--headline-right.rh-banner-wrapper--text-color-black .su-card__contents p a:hover{color:#53565a}@media (max-width:767px){.ptype-stanford-banner .rh-banner-wrapper--headline-center.rh-banner-wrapper--text-color-black .su-card__contents,.ptype-stanford-banner .rh-banner-wrapper--headline-left.rh-banner-wrapper--text-color-black .su-card__contents,.ptype-stanford-banner .rh-banner-wrapper--headline-right.rh-banner-wrapper--text-color-black .su-card__contents{color:#2e2d29;text-shadow:none}.ptype-stanford-banner .rh-banner-wrapper--headline-center.rh-banner-wrapper--text-color-black .su-card__contents p a,.ptype-stanford-banner .rh-banner-wrapper--headline-left.rh-banner-wrapper--text-color-black .su-card__contents p a,.ptype-stanford-banner .rh-banner-wrapper--headline-right.rh-banner-wrapper--text-color-black .su-card__contents p a{color:#006cb8;font-weight:600;text-decoration:underline}.ptype-stanford-banner .rh-banner-wrapper--headline-center.rh-banner-wrapper--text-color-black .su-card__contents p a:active,.ptype-stanford-banner .rh-banner-wrapper--headline-center.rh-banner-wrapper--text-color-black .su-card__contents p a:focus,.ptype-stanford-banner .rh-banner-wrapper--headline-center.rh-banner-wrapper--text-color-black .su-card__contents p a:hover,.ptype-stanford-banner .rh-banner-wrapper--headline-left.rh-banner-wrapper--text-color-black .su-card__contents p a:active,.ptype-stanford-banner .rh-banner-wrapper--headline-left.rh-banner-wrapper--text-color-black .su-card__contents p a:focus,.ptype-stanford-banner .rh-banner-wrapper--headline-left.rh-banner-wrapper--text-color-black .su-card__contents p a:hover,.ptype-stanford-banner .rh-banner-wrapper--headline-right.rh-banner-wrapper--text-color-black .su-card__contents p a:active,.ptype-stanford-banner .rh-banner-wrapper--headline-right.rh-banner-wrapper--text-color-black .su-card__contents p a:focus,.ptype-stanford-banner .rh-banner-wrapper--headline-right.rh-banner-wrapper--text-color-black .su-card__contents p a:hover{color:#2e2d29}}@media (min-width:768px){.ptype-stanford-banner .rh-banner-wrapper--headline-center.rh-banner-wrapper--text-color-black .su-hero__media:before,.ptype-stanford-banner .rh-banner-wrapper--headline-left.rh-banner-wrapper--text-color-black .su-hero__media:before,.ptype-stanford-banner .rh-banner-wrapper--headline-right.rh-banner-wrapper--text-color-black .su-hero__media:before{background:linear-gradient(180deg,hsla(0,0%,100%,0),hsla(0,0%,94%,.6) 50%,hsla(0,0%,100%,0));bottom:0;content:"";left:0;position:absolute;right:0;top:0;z-index:2}.ptype-stanford-banner .rh-banner-wrapper--headline-center.rh-banner-wrapper--text-color-black .su-hero__media picture,.ptype-stanford-banner .rh-banner-wrapper--headline-left.rh-banner-wrapper--text-color-black .su-hero__media picture,.ptype-stanford-banner .rh-banner-wrapper--headline-right.rh-banner-wrapper--text-color-black .su-hero__media picture{display:block;position:relative;z-index:0}}.ptype-stanford-banner .rh-banner-wrapper--headline-center.rh-banner-wrapper--text-color-white,.ptype-stanford-banner .rh-banner-wrapper--headline-left.rh-banner-wrapper--text-color-white,.ptype-stanford-banner .rh-banner-wrapper--headline-right.rh-banner-wrapper--text-color-white{color:#fff;text-shadow:0 0 8px rgba(0,0,0,.25),1px 1px 1px rgba(0,0,0,.35),-1px -1px 1px rgba(0,0,0,.35)}.ptype-stanford-banner .rh-banner-wrapper--headline-center.rh-banner-wrapper--text-color-white .su-card__contents p a,.ptype-stanford-banner .rh-banner-wrapper--headline-left.rh-banner-wrapper--text-color-white .su-card__contents p a,.ptype-stanford-banner .rh-banner-wrapper--headline-right.rh-banner-wrapper--text-color-white .su-card__contents p a{color:#fff;font-weight:600}.ptype-stanford-banner .rh-banner-wrapper--headline-center.rh-banner-wrapper--text-color-white .su-card__contents p a:active,.ptype-stanford-banner .rh-banner-wrapper--headline-center.rh-banner-wrapper--text-color-white .su-card__contents p a:focus,.ptype-stanford-banner .rh-banner-wrapper--headline-center.rh-banner-wrapper--text-color-white .su-card__contents p a:hover,.ptype-stanford-banner .rh-banner-wrapper--headline-left.rh-banner-wrapper--text-color-white .su-card__contents p a:active,.ptype-stanford-banner .rh-banner-wrapper--headline-left.rh-banner-wrapper--text-color-white .su-card__contents p a:focus,.ptype-stanford-banner .rh-banner-wrapper--headline-left.rh-banner-wrapper--text-color-white .su-card__contents p a:hover,.ptype-stanford-banner .rh-banner-wrapper--headline-right.rh-banner-wrapper--text-color-white .su-card__contents p a:active,.ptype-stanford-banner .rh-banner-wrapper--headline-right.rh-banner-wrapper--text-color-white .su-card__contents p a:focus,.ptype-stanford-banner .rh-banner-wrapper--headline-right.rh-banner-wrapper--text-color-white .su-card__contents p a:hover{color:#dad7cb}@media (max-width:767px){.ptype-stanford-banner .rh-banner-wrapper--headline-center.rh-banner-wrapper--text-color-white .su-card__contents,.ptype-stanford-banner .rh-banner-wrapper--headline-left.rh-banner-wrapper--text-color-white .su-card__contents,.ptype-stanford-banner .rh-banner-wrapper--headline-right.rh-banner-wrapper--text-color-white .su-card__contents{color:#2e2d29;text-shadow:none}.ptype-stanford-banner .rh-banner-wrapper--headline-center.rh-banner-wrapper--text-color-white .su-card__contents p a,.ptype-stanford-banner .rh-banner-wrapper--headline-left.rh-banner-wrapper--text-color-white .su-card__contents p a,.ptype-stanford-banner .rh-banner-wrapper--headline-right.rh-banner-wrapper--text-color-white .su-card__contents p a{color:#006cb8;font-weight:600;text-decoration:underline}.ptype-stanford-banner .rh-banner-wrapper--headline-center.rh-banner-wrapper--text-color-white .su-card__contents p a:active,.ptype-stanford-banner .rh-banner-wrapper--headline-center.rh-banner-wrapper--text-color-white .su-card__contents p a:focus,.ptype-stanford-banner .rh-banner-wrapper--headline-center.rh-banner-wrapper--text-color-white .su-card__contents p a:hover,.ptype-stanford-banner .rh-banner-wrapper--headline-left.rh-banner-wrapper--text-color-white .su-card__contents p a:active,.ptype-stanford-banner .rh-banner-wrapper--headline-left.rh-banner-wrapper--text-color-white .su-card__contents p a:focus,.ptype-stanford-banner .rh-banner-wrapper--headline-left.rh-banner-wrapper--text-color-white .su-card__contents p a:hover,.ptype-stanford-banner .rh-banner-wrapper--headline-right.rh-banner-wrapper--text-color-white .su-card__contents p a:active,.ptype-stanford-banner .rh-banner-wrapper--headline-right.rh-banner-wrapper--text-color-white .su-card__contents p a:focus,.ptype-stanford-banner .rh-banner-wrapper--headline-right.rh-banner-wrapper--text-color-white .su-card__contents p a:hover{color:#2e2d29}}@media (min-width:768px){.ptype-stanford-banner .rh-banner-wrapper--headline-center.rh-banner-wrapper--text-color-white .su-hero__media:before,.ptype-stanford-banner .rh-banner-wrapper--headline-left.rh-banner-wrapper--text-color-white .su-hero__media:before,.ptype-stanford-banner .rh-banner-wrapper--headline-right.rh-banner-wrapper--text-color-white .su-hero__media:before{background:linear-gradient(180deg,rgba(46,45,41,.1),rgba(0,0,0,.5) 50%,rgba(46,45,41,.2));bottom:0;content:"";left:0;position:absolute;right:0;top:0;z-index:2}.ptype-stanford-banner .rh-banner-wrapper--headline-center.rh-banner-wrapper--text-color-white .su-hero__media picture,.ptype-stanford-banner .rh-banner-wrapper--headline-left.rh-banner-wrapper--text-color-white .su-hero__media picture,.ptype-stanford-banner .rh-banner-wrapper--headline-right.rh-banner-wrapper--text-color-white .su-hero__media picture{display:block;position:relative;z-index:0}.ptype-stanford-banner .rh-banner-wrapper--headline-left .su-hero .su-hero__card{margin-left:10rem;max-width:50%}}.ptype-stanford-banner .rh-banner-wrapper--headline-left .su-hero .su-hero__card .su-card__contents{text-align:left}.ptype-stanford-banner .rh-banner-wrapper--headline-center .su-hero .su-hero__card{max-width:70%}.ptype-stanford-banner .rh-banner-wrapper--headline-center .su-hero .su-hero__card .su-card__contents{text-align:center}@media (min-width:768px){.ptype-stanford-banner .rh-banner-wrapper--headline-right .su-hero .su-hero__card{margin-right:10rem;max-width:50%}.ptype-stanford-banner .rh-banner-wrapper--headline-right .su-hero .su-hero__card .su-card__contents{text-align:right}}.ptype-stanford-banner .rh-banner-wrapper--background-no-color .su-hero__media{background-color:#fff!important}.ptype-stanford-banner .rh-banner-wrapper--background-cardinal-red .su-hero__media{background-color:#8c1515!important}.ptype-stanford-banner .rh-banner-wrapper--background-cardinal-red-light .su-hero__media{background-color:#b83a4b!important}.ptype-stanford-banner .rh-banner-wrapper--background-cardinal-red-dark .su-hero__media{background-color:#820000!important}.ptype-stanford-banner .rh-banner-wrapper--background-white .su-hero__media{background-color:#fff!important}.ptype-stanford-banner .rh-banner-wrapper--background-black .su-hero__media{background-color:#2e2d29!important}.ptype-stanford-banner .rh-banner-wrapper--background-cool-grey .su-hero__media{background-color:#53565a!important}.ptype-stanford-banner .rh-banner-wrapper--background-charcoal .su-hero__media{background-color:#231f20!important}.ptype-stanford-banner .rh-banner-wrapper--background-driftwood .su-hero__media{background-color:#b6b1a9!important}.ptype-stanford-banner .rh-banner-wrapper--background-driftwood-75 .su-hero__media{background-color:#cac6bf!important}.ptype-stanford-banner .rh-banner-wrapper--background-driftwood-50 .su-hero__media{background-color:#d9d7d2!important}.ptype-stanford-banner .rh-banner-wrapper--background-driftwood-25 .su-hero__media{background-color:#ecebe9!important}.ptype-stanford-banner .rh-banner-wrapper--background-stone .su-hero__media{background-color:#7f7776!important}.ptype-stanford-banner .rh-banner-wrapper--background-stone-75 .su-hero__media{background-color:#a69f99!important}.ptype-stanford-banner .rh-banner-wrapper--background-stone-50 .su-hero__media{background-color:#bfbab6!important}.ptype-stanford-banner .rh-banner-wrapper--background-stone-25 .su-hero__media{background-color:#dcd8d5!important}.ptype-stanford-banner .rh-banner-wrapper--background-sand .su-hero__media{background-color:#d2ba92!important}.ptype-stanford-banner .rh-banner-wrapper--background-sand-75 .su-hero__media{background-color:#e1cfab!important}.ptype-stanford-banner .rh-banner-wrapper--background-sand-50 .su-hero__media{background-color:#e9dbc1!important}.ptype-stanford-banner .rh-banner-wrapper--background-sand-25 .su-hero__media{background-color:#f2eadd!important}.ptype-stanford-banner .rh-banner-wrapper--background-buckeye-lane .su-hero__media{background-color:#53284f!important}.ptype-stanford-banner .rh-banner-wrapper--background-buckeye-lane-light .su-hero__media{background-color:#613863!important}.ptype-stanford-banner .rh-banner-wrapper--background-buckeye-lane-dark .su-hero__media{background-color:#350d36!important}.ptype-stanford-banner .rh-banner-wrapper--background-brick .su-hero__media{background-color:#651c32!important}.ptype-stanford-banner .rh-banner-wrapper--background-brick-light .su-hero__media{background-color:#7f2d48!important}.ptype-stanford-banner .rh-banner-wrapper--background-brick-dark .su-hero__media{background-color:#42081b!important}.ptype-stanford-banner .rh-banner-wrapper--background-bay .su-hero__media{background-color:#6fa287!important}.ptype-stanford-banner .rh-banner-wrapper--background-bay-light .su-hero__media{background-color:#8ab8a7!important}.ptype-stanford-banner .rh-banner-wrapper--background-bay-dark .su-hero__media{background-color:#417865!important}.ptype-stanford-banner .rh-banner-wrapper--background-lagunita .su-hero__media{background-color:#007c92!important}.ptype-stanford-banner .rh-banner-wrapper--background-lagunita-light .su-hero__media{background-color:#009ab4!important}.ptype-stanford-banner .rh-banner-wrapper--background-lagunita-dark .su-hero__media{background-color:#006b81!important}.ptype-stanford-banner .rh-banner-wrapper--background-palo-alto .su-hero__media{background-color:#175e54!important}.ptype-stanford-banner .rh-banner-wrapper--background-palo-alto-light .su-hero__media{background-color:#2d716f!important}.ptype-stanford-banner .rh-banner-wrapper--background-palo-alto-dark .su-hero__media{background-color:#014240!important}.ptype-stanford-banner .rh-banner-wrapper--background-palo-verde .su-hero__media{background-color:#279989!important}.ptype-stanford-banner .rh-banner-wrapper--background-palo-verde-light .su-hero__media{background-color:#59b3a9!important}.ptype-stanford-banner .rh-banner-wrapper--background-palo-verde-dark .su-hero__media{background-color:#017e7c!important}.ptype-stanford-banner .rh-banner-wrapper--background-new-sky .su-hero__media{background-color:#5c9dae!important}.ptype-stanford-banner .rh-banner-wrapper--background-new-sky-light .su-hero__media{background-color:#67afd2!important}.ptype-stanford-banner .rh-banner-wrapper--background-new-sky-dark .su-hero__media{background-color:#267e9c!important}.ptype-stanford-banner .rh-banner-wrapper--background-poppy .su-hero__media{background-color:#e98300!important}.ptype-stanford-banner .rh-banner-wrapper--background-poppy-light .su-hero__media{background-color:#f9a44a!important}.ptype-stanford-banner .rh-banner-wrapper--background-poppy-dark .su-hero__media{background-color:#d1660f!important}.ptype-stanford-banner .rh-banner-wrapper--background-autumn-gingko .su-hero__media{background-color:#ffc915!important}.ptype-stanford-banner .rh-banner-wrapper--background-autumn-gingko-light .su-hero__media{background-color:#ffdf50!important}.ptype-stanford-banner .rh-banner-wrapper--background-autumn-gingko-dark .su-hero__media{background-color:#f1ad13!important}.ptype-stanford-banner .rh-banner-wrapper--background-macdonald .su-hero__media{background-color:#bac405!important}.ptype-stanford-banner .rh-banner-wrapper--background-macdonald-light .su-hero__media{background-color:#cfd650!important}.ptype-stanford-banner .rh-banner-wrapper--background-macdonald-dark .su-hero__media{background-color:#636f00!important}.ptype-stanford-banner .rh-banner-wrapper--background-digital-red .su-hero__media{background-color:#b1040e!important}.ptype-stanford-banner .rh-banner-wrapper--background-digital-red-light .su-hero__media{background-color:#e50808!important}.ptype-stanford-banner .rh-banner-wrapper--background-digital-red-dark .su-hero__media{background-color:#820000!important}.ptype-stanford-banner .rh-banner-wrapper--background-digital-blue .su-hero__media{background-color:#006cb8!important}.ptype-stanford-banner .rh-banner-wrapper--background-digital-blue-light .su-hero__media{background-color:#6fc3ff!important}.ptype-stanford-banner .rh-banner-wrapper--background-digital-blue-dark .su-hero__media{background-color:#00548f!important}.ptype-stanford-banner .rh-banner-wrapper--background-digital-pink .su-hero__media{background-color:#e64097!important}.ptype-stanford-banner .rh-banner-wrapper--background-digital-pink-light .su-hero__media{background-color:#ec70b1!important}.ptype-stanford-banner .rh-banner-wrapper--background-digital-pink-dark .su-hero__media{background-color:#b0008e!important}.ptype-stanford-banner .rh-banner-wrapper--background-mist .su-hero__media{background-color:#f4f4f4!important}.ptype-stanford-banner .rh-banner-wrapper--background-mist-dark .su-hero__media{background-color:#dfe1e2!important}.ptype-stanford-banner .rh-banner-wrapper--background-no-gradient .su-hero__media:before{background-image:none!important}@media (max-width:767px){.ptype-stanford-banner .rh-banner-wrapper--background-no-color .su-hero__media{display:none!important}}.su-local-footer a{text-decoration:none}.su-local-footer a:hover{text-decoration:underline}.su-local-footer .su-local-footer__list-heading,.su-local-footer .su-wysiwyg-text h2{font-size:2.1rem}.su-local-footer .su-wysiwyg-text ul li{font-size:1.7rem}.su-lockup__cell2{margin-bottom:.2rem}@media (min-width:768px){.su-lockup__cell2{padding-left:10px}.su-lockup__line1{font-size:3.2rem}.su-masthead>section:last-of-type{padding-top:2.5rem}.su-masthead .su-lockup{margin-bottom:1.5rem}}@media (min-height:768px){.su-masthead{position:sticky;top:0}}#block-gsb-research-hub-subtheme-main-navigation nav a[href^=http]:after{background-color:#b1040e;content:"";display:inline-block;height:10px;margin-left:.4em;margin-right:.3em;-webkit-mask:url(data:image/svg+xml;base64,PHN2ZyB3aWR0aD0iMjQiIGhlaWdodD0iMjQiIGZpbGw9Im5vbmUiIHhtbG5zPSJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2ZyI+PHBhdGggZmlsbC1ydWxlPSJldmVub2RkIiBjbGlwLXJ1bGU9ImV2ZW5vZGQiIGQ9Ik0yMy41OTcgMS40NTNjLjI4OS4zMDUuNDM0LjcyLjM5NyAxLjE0TDIyLjU0IDE5LjQ2YTEuNDU4IDEuNDU4IDAgMCAxLTEuNTc1IDEuMzM0IDEuNDYzIDEuNDYzIDAgMCAxLTEuMzIzLTEuNTg4bDEuMTM2LTEzLjE3MS0xOC4zNTIgMTYuNTlhMS40NDYgMS40NDYgMCAwIDEtMi4wNTQtLjExMyAxLjQ3NSAxLjQ3NSAwIDAgMSAuMTEyLTIuMDdsMTguMDczLTE2LjM0LTEzLjQwNi41NjNhMS40NiAxLjQ2IDAgMCAxLTEuNTEzLTEuNDA0QTEuNDYyIDEuNDYyIDAgMCAxIDUuMDMgMS43MzVMMjIuNDg1IDFhMS40NSAxLjQ1IDAgMCAxIDEuMTEyLjQ1MloiIGZpbGw9IiMyRTJEMjkiLz48L3N2Zz4=) no-repeat 0 0;mask:url(data:image/svg+xml;base64,PHN2ZyB3aWR0aD0iMjQiIGhlaWdodD0iMjQiIGZpbGw9Im5vbmUiIHhtbG5zPSJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2ZyI+PHBhdGggZmlsbC1ydWxlPSJldmVub2RkIiBjbGlwLXJ1bGU9ImV2ZW5vZGQiIGQ9Ik0yMy41OTcgMS40NTNjLjI4OS4zMDUuNDM0LjcyLjM5NyAxLjE0TDIyLjU0IDE5LjQ2YTEuNDU4IDEuNDU4IDAgMCAxLTEuNTc1IDEuMzM0IDEuNDYzIDEuNDYzIDAgMCAxLTEuMzIzLTEuNTg4bDEuMTM2LTEzLjE3MS0xOC4zNTIgMTYuNTlhMS40NDYgMS40NDYgMCAwIDEtMi4wNTQtLjExMyAxLjQ3NSAxLjQ3NSAwIDAgMSAuMTEyLTIuMDdsMTguMDczLTE2LjM0LTEzLjQwNi41NjNhMS40NiAxLjQ2IDAgMCAxLTEuNTEzLTEuNDA0QTEuNDYyIDEuNDYyIDAgMCAxIDUuMDMgMS43MzVMMjIuNDg1IDFhMS40NSAxLjQ1IDAgMCAxIDEuMTEyLjQ1MloiIGZpbGw9IiMyRTJEMjkiLz48L3N2Zz4=) no-repeat 0 0;-webkit-mask-size:contain;mask-size:contain;width:10px}#block-gsb-research-hub-subtheme-content .su-person-content .right-region .block__title{font-size:2rem}#block-gsb-research-hub-subtheme-content .su-person-content .right-region .block__title:before{display:none}#block-gsb-research-hub-subtheme-content .su-person-content .right-region .su-wysiwyg-text p{font-size:1.7rem;line-height:1.5}.rh-quote{border-radius:2em;margin-bottom:2em;max-width:800px;overflow:hidden;padding:1em 1.2em 1.5em 1.6em}.rh-quote .rh-quote__img{border:0;border-radius:150px;float:left;height:auto;margin-right:0;width:auto}.rh-quote .rh-quote__body .rh-quote__name{font-size:.8em;font-weight:600;line-height:1.4;margin-top:1em;text-align:left}.rh-quote .rh-quote__body .rh-quote__title{font-weight:400}.rh-quote .rh-quote__body .rh-quote__quote{font-family:"Source Serif Pro",Georgia,Times,Times New Roman,serif;font-size:1.2em;font-weight:400;margin-top:.5em;quotes:"“" "”" "‘" "’"}.rh-quote .rh-quote__body .rh-quote__quote:before{content:open-quote;margin:0 0 0 -.5em}.rh-quote .rh-quote__body .rh-quote__quote:after{content:close-quote}.su-wysiwyg-text p.rh-quote-text{font-family:"Source Serif Pro",Georgia,Times,Times New Roman,serif;font-size:1.2em;font-style:normal;font-weight:400;letter-spacing:0;line-height:1.2em;margin-bottom:.6em;margin-top:.5em;quotes:"“" "”" "‘" "’"}.su-wysiwyg-text p.rh-quote-text:before{content:open-quote;margin:0 0 0 -.5em;position:relative}.su-wysiwyg-text p.rh-quote-text:after{content:close-quote;position:relative}.rh-quote-border-no-color{border:2px solid #fff}.rh-quote-border-cardinal-red{border:2px solid #8c1515}.rh-quote-border-cardinal-red-light{border:2px solid #b83a4b}.rh-quote-border-cardinal-red-dark{border:2px solid #820000}.rh-quote-border-white{border:2px solid #fff}.rh-quote-border-black{border:2px solid #2e2d29}.rh-quote-border-cool-grey{border:2px solid #53565a}.rh-quote-border-charcoal{border:2px solid #231f20}.rh-quote-border-driftwood{border:2px solid #b6b1a9}.rh-quote-border-driftwood-75{border:2px solid #cac6bf}.rh-quote-border-driftwood-50{border:2px solid #d9d7d2}.rh-quote-border-driftwood-25{border:2px solid #ecebe9}.rh-quote-border-stone{border:2px solid #7f7776}.rh-quote-border-stone-75{border:2px solid #a69f99}.rh-quote-border-stone-50{border:2px solid #bfbab6}.rh-quote-border-stone-25{border:2px solid #dcd8d5}.rh-quote-border-sand{border:2px solid #d2ba92}.rh-quote-border-sand-75{border:2px solid #e1cfab}.rh-quote-border-sand-50{border:2px solid #e9dbc1}.rh-quote-border-sand-25{border:2px solid #f2eadd}.rh-quote-border-buckeye-lane{border:2px solid #53284f}.rh-quote-border-buckeye-lane-light{border:2px solid #613863}.rh-quote-border-buckeye-lane-dark{border:2px solid #350d36}.rh-quote-border-brick{border:2px solid #651c32}.rh-quote-border-brick-light{border:2px solid #7f2d48}.rh-quote-border-brick-dark{border:2px solid #42081b}.rh-quote-border-bay{border:2px solid #6fa287}.rh-quote-border-bay-light{border:2px solid #8ab8a7}.rh-quote-border-bay-dark{border:2px solid #417865}.rh-quote-border-lagunita{border:2px solid #007c92}.rh-quote-border-lagunita-light{border:2px solid #009ab4}.rh-quote-border-lagunita-dark{border:2px solid #006b81}.rh-quote-border-palo-alto{border:2px solid #175e54}.rh-quote-border-palo-alto-light{border:2px solid #2d716f}.rh-quote-border-palo-alto-dark{border:2px solid #014240}.rh-quote-border-palo-verde{border:2px solid #279989}.rh-quote-border-palo-verde-light{border:2px solid #59b3a9}.rh-quote-border-palo-verde-dark{border:2px solid #017e7c}.rh-quote-border-new-sky{border:2px solid #5c9dae}.rh-quote-border-new-sky-light{border:2px solid #67afd2}.rh-quote-border-new-sky-dark{border:2px solid #267e9c}.rh-quote-border-poppy{border:2px solid #e98300}.rh-quote-border-poppy-light{border:2px solid #f9a44a}.rh-quote-border-poppy-dark{border:2px solid #d1660f}.rh-quote-border-autumn-gingko{border:2px solid #ffc915}.rh-quote-border-autumn-gingko-light{border:2px solid #ffdf50}.rh-quote-border-autumn-gingko-dark{border:2px solid #f1ad13}.rh-quote-border-macdonald{border:2px solid #bac405}.rh-quote-border-macdonald-light{border:2px solid #cfd650}.rh-quote-border-macdonald-dark{border:2px solid #636f00}.rh-quote-border-digital-red{border:2px solid #b1040e}.rh-quote-border-digital-red-light{border:2px solid #e50808}.rh-quote-border-digital-red-dark{border:2px solid #820000}.rh-quote-border-digital-blue{border:2px solid #006cb8}.rh-quote-border-digital-blue-light{border:2px solid #6fc3ff}.rh-quote-border-digital-blue-dark{border:2px solid #00548f}.rh-quote-border-digital-pink{border:2px solid #e64097}.rh-quote-border-digital-pink-light{border:2px solid #ec70b1}.rh-quote-border-digital-pink-dark{border:2px solid #b0008e}.rh-quote-border-mist{border:2px solid #f4f4f4}.rh-quote-border-mist-dark{border:2px solid #dfe1e2}.su-embed-container{height:0;max-width:100%;overflow:hidden;padding-bottom:56.25%;position:relative}.su-embed-container embed,.su-embed-container iframe,.su-embed-container object{height:100%;left:0;position:absolute;top:0;width:100%}.su-wysiwyg-text table td{line-height:.2em}.embeddable-content .s-lc-ea-h3{color:#2e2d29;font-size:1.95312em;letter-spacing:-.016em;margin-bottom:4rem}@media (max-width:767px){.embeddable-content .s-lc-ea-h3{font-size:1.66016em}}.embeddable-content .s-lc-ea-tb{border-bottom:2px solid #820000;font:inherit;margin-bottom:3.5rem}.embeddable-content .s-lc-ea-tb:last-of-type{border-bottom:0}.embeddable-content .s-lc-ea-tb p{font-size:1.9rem;margin-bottom:.8rem}.embeddable-content .s-lc-ea-tb p:first-of-type{margin-top:-1.3rem}.embeddable-content .s-lc-ea-tb tbody tr,.embeddable-content .s-lc-ea-tb thead tr{border-top:0}.airtable-filter-container{display:flex;flex-wrap:nowrap;margin:.5rem 1rem 3rem 0}.airtable-filter-container #airtable-list-filters{display:flex;flex:1;gap:1.5rem}.airtable-filter-container #airtable-list-filters label{font-size:1.8rem;font-weight:600;margin:0 0 .1rem;max-width:100%;text-align:center;text-transform:uppercase}.airtable-filter-container #airtable-list-filters .airtable-list-filter-group{border-radius:4px;flex:1;max-width:100%;min-width:0}.airtable-filter-container #airtable-list-filters .airtable-list-filter-group.airtable-list-filter-header .chosen-container{align-items:center;display:flex!important;flex-direction:column;font-size:1.8rem;justify-content:center}.airtable-filter-container #airtable-list-filters .airtable-list-filter-group.airtable-list-filter-header .chosen-container.chosen-container-single .chosen-single{background:url(data:image/svg+xml;base64,PHN2ZyB3aWR0aD0iMjQiIGhlaWdodD0iMjQiIGZpbGw9Im5vbmUiIHhtbG5zPSJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2ZyI+PHBhdGggZmlsbC1ydWxlPSJldmVub2RkIiBjbGlwLXJ1bGU9ImV2ZW5vZGQiIGQ9Ik0yMy40ODkgNS40MTZjLjY0Ny41ODQuNjg1IDEuNTY4LjA4NCAyLjE5OGwtMTAuNCAxMC44ODlBMS42MjIgMS42MjIgMCAwIDEgMTIgMTljLS40NDUgMC0uODctLjE4LTEuMTcyLS40OTdMLjQyOCA3LjYxNEExLjUyNSAxLjUyNSAwIDAgMSAuNTEgNS40MTZhMS42MzIgMS42MzIgMCAwIDEgMi4yNjEuMDgxTDEyIDE1LjE1OGw5LjIyNy05LjY2YTEuNjMyIDEuNjMyIDAgMCAxIDIuMjYyLS4wODJaIiBmaWxsPSIjMmUyZDI5Ii8+PC9zdmc+) no-repeat 97% 50%/1.3rem;border:1px solid #b1040e!important;border-radius:4px;display:flex;font-size:1.8rem;line-height:1.15;margin:.5rem 0;max-width:100%;min-height:4.2rem;padding:0;width:100%}.airtable-filter-container #airtable-list-filters .airtable-list-filter-group.airtable-list-filter-header .chosen-container.chosen-container-single .chosen-single:focus{border-color:#009ab4;box-shadow:0 0 0 2px #009ab4}.airtable-filter-container #airtable-list-filters .airtable-list-filter-group.airtable-list-filter-header .chosen-container.chosen-container-single .chosen-single span{color:#2e2d29;display:flex;font-weight:400;margin:1rem;text-transform:none}.airtable-filter-container #airtable-list-filters .airtable-list-filter-group.airtable-list-filter-header .chosen-container.chosen-container-single .chosen-single div{display:none}.airtable-filter-container #airtable-list-filters .airtable-list-filter-group.airtable-list-filter-header .chosen-container.chosen-container-multi .chosen-choices{background:url(data:image/svg+xml;base64,PHN2ZyB3aWR0aD0iMjQiIGhlaWdodD0iMjQiIGZpbGw9Im5vbmUiIHhtbG5zPSJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2ZyI+PHBhdGggZmlsbC1ydWxlPSJldmVub2RkIiBjbGlwLXJ1bGU9ImV2ZW5vZGQiIGQ9Ik0yMy40ODkgNS40MTZjLjY0Ny41ODQuNjg1IDEuNTY4LjA4NCAyLjE5OGwtMTAuNCAxMC44ODlBMS42MjIgMS42MjIgMCAwIDEgMTIgMTljLS40NDUgMC0uODctLjE4LTEuMTcyLS40OTdMLjQyOCA3LjYxNEExLjUyNSAxLjUyNSAwIDAgMSAuNTEgNS40MTZhMS42MzIgMS42MzIgMCAwIDEgMi4yNjEuMDgxTDEyIDE1LjE1OGw5LjIyNy05LjY2YTEuNjMyIDEuNjMyIDAgMCAxIDIuMjYyLS4wODJaIiBmaWxsPSIjMmUyZDI5Ii8+PC9zdmc+) no-repeat 97% 50%/1.3rem;border:1px solid #b1040e!important;border-radius:4px;display:block;font-size:1.8rem;margin:.5rem 0;max-width:100%;min-height:4.2rem;width:100%}.airtable-filter-container #airtable-list-filters .airtable-list-filter-group.airtable-list-filter-header .chosen-container.chosen-container-multi .chosen-choices:focus{border-color:#009ab4;box-shadow:0 0 0 2px #009ab4}.airtable-filter-container #airtable-list-filters .airtable-list-filter-group.airtable-list-filter-header .chosen-container.chosen-container-multi .chosen-choices li.search-choice{line-height:1.15}.airtable-filter-container #airtable-list-filters .airtable-list-filter-group.airtable-list-filter-header .chosen-container.chosen-container-multi .chosen-choices li.search-field input[type=text]{color:#2e2d29;font-size:1.8rem;font-weight:600;margin:.6rem}.airtable-filter-container #airtable-list-filters .airtable-list-filter-group.airtable-list-filter-header .chosen-container .chosen-drop{font-size:1.8rem;line-height:1.15;text-transform:none}.airtable-filter-container #airtable-list-filters .airtable-list-filter-group.airtable-list-filter-header .chosen-container .chosen-drop .chosen-results{max-height:100%}.airtable-filter-container #airtable-list-filters .airtable-list-filter-group.airtable-list-filter-header .chosen-container .chosen-drop .chosen-results li.highlighted{background-color:#006cb8;background-image:none;color:#fff}.airtable-filter-container #airtable-list-filters .airtable-list-search{flex:1;position:relative}.airtable-filter-container #airtable-list-filters .airtable-list-search .search-container{align-items:center;display:flex;flex-direction:column;justify-content:center;width:100%}.airtable-filter-container #airtable-list-filters .airtable-list-search #airtable-search{border:1px solid #b1040e;border-radius:2rem;font-family:inherit;font-size:1.8rem;height:4.5rem;padding:1rem 2rem .8rem;width:100%}.airtable-filter-container #airtable-list-filters .airtable-list-search i{display:none;font-size:3rem;position:absolute;right:1rem;top:50%;transform:translateY(-50%)}@media (max-width:991px){.airtable-filter-container{max-width:100%}.airtable-filter-container #airtable-list-filters{flex-direction:column}.airtable-filter-container #airtable-list-filters .airtable-list-filter-group,.airtable-filter-container #airtable-list-filters .airtable-list-search .search-container{width:100%}.airtable-filter-container #airtable-list-filters .airtable-list-search #airtable-search{max-width:100%}}#airtable-list-record-wrapper.rh-list-layout .airtable-list-record-row{border-bottom:1px solid #dad7cb;font-size:2.1rem;margin:1rem 0}#airtable-list-record-wrapper.rh-list-layout .airtable-list-record-row:last-child{border-bottom:0}#airtable-list-record-wrapper.rh-list-layout .airtable-list-record-row h2{font-size:3.2rem;margin:1.8rem 0}#airtable-list-record-wrapper.rh-list-layout .airtable-list-record-row h3{font-size:3rem;margin:2rem 0}#airtable-list-record-wrapper.rh-list-layout .airtable-list-record-row div{margin:.7rem 0}#airtable-list-record-wrapper.rh-list-layout .airtable-list-record-row .su-button{margin:2rem 0 3rem}#airtable-list-record-wrapper.rh-card-layout .airtable-list-record-row{flex:0 0 100%;flex:1 0 calc(100% - 1rem);margin:1.5rem 0;max-width:100%;max-width:calc(100% - 1rem)}@media (min-width:576px) and (max-width:1499px){#airtable-list-record-wrapper.rh-card-layout .airtable-list-record-row{flex:0 0 calc(50% - 10px);flex:1 0 calc(50% - 1rem);max-width:calc(50% - 10px);max-width:calc(50% - 1rem)}}@media (min-width:1500px){#airtable-list-record-wrapper.rh-card-layout .airtable-list-record-row{flex:0 0 calc(33.33333% - 13.33333px);flex:1 0 calc(33.33% - 1rem);max-width:calc(33.33333% - 13.33333px);max-width:calc(33.33% - 1rem)}}#airtable-list-record-wrapper.rh-card-layout .airtable-list-record-row .su-card .su-card__contents{padding:3rem}#airtable-list-record-wrapper.rh-card-layout .airtable-list-record-row .su-card .su-card__contents h2{font-size:2.3rem}#airtable-list-record-wrapper.rh-card-layout .airtable-list-record-row .su-card .su-card__contents div{margin:1.5rem 0}#airtable-list-record-wrapper.rh-card-layout .airtable-list-record-row .su-card .su-card__contents .su-button{font-size:2rem;margin:1rem}#airtable-list-record-wrapper.rh-card-layout .airtable-list-record-row .su-card .su-card__contents .rh-service-catalog-request-services-wrapper{margin:3rem 0 0}.su-card .su-card__contents{padding:2rem 3rem}.su-card .su-card__contents .rh-service-catalog-label{display:block;font-weight:700}.su-card .su-card__contents .airtable-list-filter{background-color:#f2eadd;border-radius:2rem;color:#2e2d29;cursor:pointer;display:inline-block;font-size:1.5rem;padding:0 1rem;text-align:center;transition:background-color .3s,transform .3s;white-space:nowrap}.su-card .su-card__contents .airtable-list-filter:focus,.su-card .su-card__contents .airtable-list-filter:hover{background-color:#2e2d29!important;color:#fff!important}.su-card .su-card__contents .airtable-list-filter:focus{box-shadow:0 0 3px #53565a,0 0 7px #53565a!important}.su-card .su-card__contents .rh-service-catalog-core-service .airtable-list-filter{background-color:#7f7776;color:#fff}.su-card .su-card__contents .rh-service-catalog-core-service .airtable-list-filter:focus,.su-card .su-card__contents .rh-service-catalog-core-service .airtable-list-filter:hover{background-color:#2e2d29!important;color:#fff!important}.su-card .su-card__contents .rh-service-catalog-core-service .airtable-list-filter:focus{box-shadow:0 0 3px #53565a,0 0 7px #53565a!important}.section-training-workshops .ptype-stanford-wysiwyg,.section-training-workshops .ptype-stanford-wysiwyg .su-wysiwyg-text .su-intro-text,.section-training-workshops .ptype-stanford-wysiwyg .su-wysiwyg-text p,.section-training-workshops .ptype-stanford-wysiwyg .su-wysiwyg-text p.su-intro-text,.section-training-workshops-test .ptype-stanford-wysiwyg,.section-training-workshops-test .ptype-stanford-wysiwyg .su-wysiwyg-text .su-intro-text,.section-training-workshops-test .ptype-stanford-wysiwyg .su-wysiwyg-text p,.section-training-workshops-test .ptype-stanford-wysiwyg .su-wysiwyg-text p.su-intro-text{max-width:100%}.section-training-workshops #airtable-list-record-wrapper.rh-card-layout .airtable-list-record-row,.section-training-workshops-test #airtable-list-record-wrapper.rh-card-layout .airtable-list-record-row{margin:1.5rem 0;max-width:calc(100% - 1rem);min-width:250px}@media (min-width:992px) and (max-width:1499px){.section-training-workshops #airtable-list-record-wrapper.rh-card-layout .airtable-list-record-row,.section-training-workshops-test #airtable-list-record-wrapper.rh-card-layout .airtable-list-record-row{max-width:calc(50% - 1rem)}}@media (min-width:1500px){.section-training-workshops #airtable-list-record-wrapper.rh-card-layout .airtable-list-record-row,.section-training-workshops-test #airtable-list-record-wrapper.rh-card-layout .airtable-list-record-row{max-width:calc(33.33% - 1rem)}}.section-training-workshops #airtable-list-record-wrapper.rh-card-layout .airtable-list-record-row .su-card .su-card__contents,.section-training-workshops-test #airtable-list-record-wrapper.rh-card-layout .airtable-list-record-row .su-card .su-card__contents{padding:2rem 3rem}.section-training-workshops #airtable-list-record-wrapper.rh-card-layout .airtable-list-record-row .su-card .su-card__contents .training-Past,.section-training-workshops-test #airtable-list-record-wrapper.rh-card-layout .airtable-list-record-row .su-card .su-card__contents .training-Past{visibility:hidden}.section-training-workshops #airtable-list-record-wrapper.rh-card-layout .airtable-list-record-row .su-card .su-card__contents .training-Upcoming,.section-training-workshops-test #airtable-list-record-wrapper.rh-card-layout .airtable-list-record-row .su-card .su-card__contents .training-Upcoming{background:#279989;color:#fff;font-size:1.8rem;font-weight:600;height:2.6rem;letter-spacing:.05rem;padding:.3rem 1rem;text-align:center;text-transform:uppercase}.section-training-workshops #airtable-list-record-wrapper.rh-card-layout .airtable-list-record-row .su-card .su-card__contents h2,.section-training-workshops-test #airtable-list-record-wrapper.rh-card-layout .airtable-list-record-row .su-card .su-card__contents h2{font-size:2.3rem}.section-training-workshops #airtable-list-record-wrapper.rh-card-layout .airtable-list-record-row .su-card .su-card__contents h3,.section-training-workshops-test #airtable-list-record-wrapper.rh-card-layout .airtable-list-record-row .su-card .su-card__contents h3{margin-bottom:1rem}.section-training-workshops #airtable-list-record-wrapper.rh-card-layout .airtable-list-record-row .su-card .su-card__contents div,.section-training-workshops-test #airtable-list-record-wrapper.rh-card-layout .airtable-list-record-row .su-card .su-card__contents div{margin:1rem 0}.section-training-workshops #airtable-list-record-wrapper.rh-card-layout .airtable-list-record-row .su-card .su-card__contents .rh-training-event-date,.section-training-workshops-test #airtable-list-record-wrapper.rh-card-layout .airtable-list-record-row .su-card .su-card__contents .rh-training-event-date{font-size:2.2rem;font-weight:600}.section-training-workshops #airtable-list-record-wrapper.rh-card-layout .airtable-list-record-row .su-card .su-card__contents .rh-training-past-event-date,.section-training-workshops-test #airtable-list-record-wrapper.rh-card-layout .airtable-list-record-row .su-card .su-card__contents .rh-training-past-event-date{font-weight:400}.section-training-workshops #airtable-list-record-wrapper.rh-card-layout .airtable-list-record-row .su-card .su-card__contents .rh-training-label,.section-training-workshops-test #airtable-list-record-wrapper.rh-card-layout .airtable-list-record-row .su-card .su-card__contents .rh-training-label{font-weight:600}.section-training-workshops #airtable-list-record-wrapper.rh-card-layout .airtable-list-record-row .su-card .su-card__contents .airtable-list-filter,.section-training-workshops-test #airtable-list-record-wrapper.rh-card-layout .airtable-list-record-row .su-card .su-card__contents .airtable-list-filter{background-color:#f2eadd;border-radius:2rem;color:#2e2d29;cursor:pointer;display:inline-block;font-size:1.5rem;padding:0 1rem;text-align:center;transition:background-color .3s,transform .3s;white-space:nowrap}.section-training-workshops #airtable-list-record-wrapper.rh-card-layout .airtable-list-record-row .su-card .su-card__contents .airtable-list-filter:focus,.section-training-workshops #airtable-list-record-wrapper.rh-card-layout .airtable-list-record-row .su-card .su-card__contents .airtable-list-filter:hover,.section-training-workshops-test #airtable-list-record-wrapper.rh-card-layout .airtable-list-record-row .su-card .su-card__contents .airtable-list-filter:focus,.section-training-workshops-test #airtable-list-record-wrapper.rh-card-layout .airtable-list-record-row .su-card .su-card__contents .airtable-list-filter:hover{background-color:#2e2d29!important;color:#fff!important}.section-training-workshops #airtable-list-record-wrapper.rh-card-layout .airtable-list-record-row .su-card .su-card__contents .airtable-list-filter:focus,.section-training-workshops-test #airtable-list-record-wrapper.rh-card-layout .airtable-list-record-row .su-card .su-card__contents .airtable-list-filter:focus{box-shadow:0 0 3px #53565a,0 0 7px #53565a!important}.section-training-workshops #airtable-list-record-wrapper.rh-card-layout .airtable-list-record-row .su-card .su-card__contents .rh-training-category .airtable-list-filter,.section-training-workshops-test #airtable-list-record-wrapper.rh-card-layout .airtable-list-record-row .su-card .su-card__contents .rh-training-category .airtable-list-filter{background-color:#7f7776;color:#fff}.section-training-workshops #airtable-list-record-wrapper.rh-card-layout .airtable-list-record-row .su-card .su-card__contents .rh-training-category .airtable-list-filter:focus,.section-training-workshops #airtable-list-record-wrapper.rh-card-layout .airtable-list-record-row .su-card .su-card__contents .rh-training-category .airtable-list-filter:hover,.section-training-workshops-test #airtable-list-record-wrapper.rh-card-layout .airtable-list-record-row .su-card .su-card__contents .rh-training-category .airtable-list-filter:focus,.section-training-workshops-test #airtable-list-record-wrapper.rh-card-layout .airtable-list-record-row .su-card .su-card__contents .rh-training-category .airtable-list-filter:hover{background-color:#2e2d29!important;color:#fff!important}.section-training-workshops #airtable-list-record-wrapper.rh-card-layout .airtable-list-record-row .su-card .su-card__contents .rh-training-category .airtable-list-filter:focus,.section-training-workshops-test #airtable-list-record-wrapper.rh-card-layout .airtable-list-record-row .su-card .su-card__contents .rh-training-category .airtable-list-filter:focus{box-shadow:0 0 3px #53565a,0 0 7px #53565a!important}.section-training-workshops #airtable-list-record-wrapper.rh-card-layout .airtable-list-record-row .su-card .su-card__contents .rh-training-description p,.section-training-workshops-test #airtable-list-record-wrapper.rh-card-layout .airtable-list-record-row .su-card .su-card__contents .rh-training-description p{margin-bottom:.7rem}.section-training-workshops #airtable-list-record-wrapper.rh-card-layout .airtable-list-record-row .su-card .su-card__contents .rh-training-description p a,.section-training-workshops-test #airtable-list-record-wrapper.rh-card-layout .airtable-list-record-row .su-card .su-card__contents .rh-training-description p a{color:#006cb8}.section-training-workshops #airtable-list-record-wrapper.rh-card-layout .airtable-list-record-row .su-card .su-card__contents .rh-training-description ul,.section-training-workshops-test #airtable-list-record-wrapper.rh-card-layout .airtable-list-record-row .su-card .su-card__contents .rh-training-description ul{list-style:disc;margin-left:2rem}.section-training-workshops #airtable-list-record-wrapper.rh-card-layout .airtable-list-record-row .su-card .su-card__contents .rh-training-description ul li,.section-training-workshops-test #airtable-list-record-wrapper.rh-card-layout .airtable-list-record-row .su-card .su-card__contents .rh-training-description ul li{line-height:1}.section-training-workshops #airtable-list-record-wrapper.rh-card-layout .airtable-list-record-row .su-card .su-card__contents .rh-training-presenter-wrapper,.section-training-workshops-test #airtable-list-record-wrapper.rh-card-layout .airtable-list-record-row .su-card .su-card__contents .rh-training-presenter-wrapper{margin:1.5rem 0}.section-training-workshops #airtable-list-record-wrapper.rh-card-layout .airtable-list-record-row .su-card .su-card__contents .rh-training-presenter-wrapper .rh-training-presenter-row,.section-training-workshops-test #airtable-list-record-wrapper.rh-card-layout .airtable-list-record-row .su-card .su-card__contents .rh-training-presenter-wrapper .rh-training-presenter-row{line-height:1.1}.section-training-workshops #airtable-list-record-wrapper.rh-card-layout .airtable-list-record-row .su-card .su-card__contents .rh-training-presenter-wrapper .rh-training-presenter-row .rh-presenter-title,.section-training-workshops-test #airtable-list-record-wrapper.rh-card-layout .airtable-list-record-row .su-card .su-card__contents .rh-training-presenter-wrapper .rh-training-presenter-row .rh-presenter-title{font-size:1.6rem}.section-training-workshops #airtable-list-record-wrapper.rh-card-layout .airtable-list-record-row .su-card .su-card__contents .rh-training-links ul,.section-training-workshops-test #airtable-list-record-wrapper.rh-card-layout .airtable-list-record-row .su-card .su-card__contents .rh-training-links ul{list-style:none;padding-left:0}.section-training-workshops #airtable-list-record-wrapper.rh-card-layout .airtable-list-record-row .su-card .su-card__contents .rh-training-links ul li,.section-training-workshops-test #airtable-list-record-wrapper.rh-card-layout .airtable-list-record-row .su-card .su-card__contents .rh-training-links ul li{margin:.5rem 0}.section-training-workshops #airtable-list-record-wrapper.rh-card-layout .airtable-list-record-row .su-card .su-card__contents .rh-training-links ul a,.section-training-workshops-test #airtable-list-record-wrapper.rh-card-layout .airtable-list-record-row .su-card .su-card__contents .rh-training-links ul a{color:#006cb8}.section-training-workshops #airtable-list-record-wrapper.rh-card-layout .airtable-list-record-row .su-card .su-card__contents .su-button,.section-training-workshops-test #airtable-list-record-wrapper.rh-card-layout .airtable-list-record-row .su-card .su-card__contents .su-button{font-size:1.8rem;margin:1rem 0}.blab.tag{background-color:#417865!important}.blab.tag:focus,.blab.tag:hover{background-color:#2e2d29!important;color:#fff!important}.blab.tag:focus{box-shadow:0 0 3px #53565a,0 0 7px #53565a!important}.dag.tag{background-color:#ffc915!important;color:#2e2d29!important;font-weight:600!important}.dag.tag:focus,.dag.tag:hover{background-color:#2e2d29!important;color:#fff!important}.dag.tag:focus{box-shadow:0 0 3px #53565a,0 0 7px #53565a!important}.darc.tag{background-color:#7f2d48!important}.darc.tag:focus,.darc.tag:hover{background-color:#2e2d29!important;color:#fff!important}.darc.tag:focus{box-shadow:0 0 3px #53565a,0 0 7px #53565a!important}.library.tag{background-color:#006b81!important}.library.tag:focus,.library.tag:hover{background-color:#2e2d29!important;color:#fff!important}.library.tag:focus{box-shadow:0 0 3px #53565a,0 0 7px #53565a!important}.rli.tag{background-color:#d1660f!important}.rli.tag:focus,.rli.tag:hover{background-color:#2e2d29!important;color:#fff!important}.rli.tag:focus{box-shadow:0 0 3px #53565a,0 0 7px #53565a!important}.ro.tag{background-color:#00548f!important}.ro.tag:focus,.ro.tag:hover{background-color:#2e2d29!important;color:#fff!important}.ro.tag:focus{box-shadow:0 0 3px #53565a,0 0 7px #53565a!important}.rh-button-sm{background-color:#b1040e;color:#fff;font-size:1.5rem;font-weight:600;margin:1rem 0 .5rem;padding:.8rem 1rem 1rem}.rh-button-sm:after,.rh-button-sm:before{background-color:#fff;color:#b1040e}.rh-button-sm:focus,.rh-button-sm:hover{background-color:#2e2d29;color:#fff}.rh-button-sm:focus:after,.rh-button-sm:focus:before,.rh-button-sm:hover:after,.rh-button-sm:hover:before{background-color:#fff}.rh-button-sm:focus{box-shadow:0 0 3px #53565a,0 0 7px #53565a} \ No newline at end of file diff --git a/dist/js/airtable-list-builder.js b/dist/js/airtable-list-builder.js index 9849305..46d2232 100644 --- a/dist/js/airtable-list-builder.js +++ b/dist/js/airtable-list-builder.js @@ -15,13 +15,16 @@ function _toPrimitive(input, hint) { if (_typeof(input) !== "object" || input == // Get the content area var $contentArea = $("#airtable-list"); + // Load settings configured in textarea + var textAreaConfig = "gsbResearchHubSubtheme" in drupalSettings ? drupalSettings.gsbResearchHubSubtheme : {}; + // Grab the airtable variables. - var config = $contentArea.data('config'); + var templateConfig = $contentArea.data('config'); var configDefault = { "gutter": 10, "equalHeight": false }; - config = _objectSpread(_objectSpread({}, configDefault), config); + config = _objectSpread(_objectSpread(_objectSpread({}, configDefault), templateConfig), textAreaConfig); for (filterKey in config.filters) { // Set the default array of choices if choices are not provided for us. if (!("choices" in config.filters[filterKey])) { @@ -32,15 +35,12 @@ function _toPrimitive(input, hint) { if (_typeof(input) !== "object" || input == // Load the airtable data $.ajax({ type: "GET", - beforeSend: function beforeSend(xhr) { - xhr.setRequestHeader('Authorization', 'Bearer ' + settings.gsbResearchHubSubtheme.snaplogicToken); - }, dataType: "json", - url: settings.gsbResearchHubSubtheme.snaplogicURL + "/GSB/rh-airtable_proxy_cache/output?airtable_table=" + config.table + "&airtable_view=" + config.view, + url: "https://gsbrh-airtable-cache.s3.us-west-2.amazonaws.com/airtable-proxy-cache-" + config.table + "-" + config.view + ".json", success: function success(data) { $contentArea.find('#airtable-list-loader').remove(); // Load the records. - var records = data.records; + var records = data.data.records; if (records.length) { for (recordIndex in records) { for (fieldName in records[recordIndex].fields) { @@ -270,7 +270,14 @@ function _toPrimitive(input, hint) { if (_typeof(input) !== "object" || input == } // Set the browser url. - window.history.replaceState(null, null, '?' + urlParamaters.toString()); + var params = urlParamaters.toString(); + // If there are no parameters set then reset the url to no parameters. + // Otherwise set it to the given filters. + if (params === '') { + window.history.replaceState(null, null, window.location.pathname); + } else { + window.history.replaceState(null, null, '?' + params); + } // combine filters var filterValue = buildFilters(filters); @@ -349,7 +356,6 @@ function _toPrimitive(input, hint) { if (_typeof(input) !== "object" || input == // Apply the data to the template. function processTemplate(config, templateKey, data, allData) { var template = $('template#airtable-list-' + stringToCSSClass(templateKey) + '-template').html(); - var settings = drupalSettings.gsbResearchHubSubtheme; if (template) { // Pull all of the tokens from the template. var tokens = []; @@ -409,8 +415,8 @@ function _toPrimitive(input, hint) { if (_typeof(input) !== "object" || input == if ("format" in config && token in config.format) { // Pull in any additional config passed in from the text area. var additionalConfig = []; - if ("arrayFormatConfig" in settings && token in settings.arrayFormatConfig) { - additionalConfig = settings.arrayFormatConfig[token]; + if ("arrayFormatConfig" in config && token in config.arrayFormatConfig) { + additionalConfig = config.arrayFormatConfig[token]; } content = formatString(config.format[token].type, config.format[token].options, content, additionalConfig); } diff --git a/gsb_research_hub_subtheme.theme b/gsb_research_hub_subtheme.theme index 0cac3df..ca5eb96 100755 --- a/gsb_research_hub_subtheme.theme +++ b/gsb_research_hub_subtheme.theme @@ -47,29 +47,9 @@ function gsb_research_hub_subtheme_preprocess_paragraph(&$variables) { if (!is_null($jsonConfig) && isset($jsonConfig['type']) && $jsonConfig['type'] == 'airtable') { $variables['#attached']['library'][] = 'gsb_research_hub_subtheme/airtable-list-builder'; - $sl_env_conf = [ - 'dev' => [ - 'snaplogicURL' => 'https://snaplogic-dev.stanford.edu/api/1/rest/feed-master/queue/StanfordDev', - 'snaplogicToken' => 'iQ7GGRoNRcGi8iZf28xSgDgaDDUslteL', - ], - 'test' => [ - 'snaplogicURL' => 'https://snaplogic-uat.stanford.edu/api/1/rest/feed-master/queue/StanfordUAT', - 'snaplogicToken' => 'J4G3SZC0cFVVZLr93TAJtm8Lnj6Jkuop', - ], - 'prod' => [ - 'snaplogicURL' => 'https://snaplogic.stanford.edu/api/1/rest/feed-master/queue/StanfordProd', - 'snaplogicToken' => '0mdOOeXqOuQdFUxwt9ngJ3KSlxh7v1z2', - ], - ]; - - $sl_env = theme_get_setting('gsb_research_hub_subtheme_sl_env', 'gsb_research_hub_subtheme'); - - $jsVars = is_null($sl_env) ? $sl_env_conf['prod'] : $sl_env_conf[$sl_env]; if (isset($jsonConfig['variables'])) { - $jsVars = array_merge($jsonConfig['variables'], $jsVars); + $variables['#attached']['drupalSettings']['gsbResearchHubSubtheme'] = $jsonConfig['variables']; } - - $variables['#attached']['drupalSettings']['gsbResearchHubSubtheme'] = $jsVars; } } } diff --git a/set-default-content.php b/set-default-content.php index 590937b..34d7fe9 100644 --- a/set-default-content.php +++ b/set-default-content.php @@ -11,53 +11,46 @@ \Drupal\menu_link_content\Entity\MenuLinkContent::create(["title" => "Submenu link", "link" => ["uri" => "https://google.com"], "menu_name" => "main", "parent" => "menu_link_field:node_field_menulink_e18a741f-7d86-492a-a02f-7ca73989ca13_und", "expanded" => TRUE, "weight" => 0])->save(); -/******************** - ** Airtable Items ** - ********************/ -$at_menu = \Drupal\menu_link_content\Entity\MenuLinkContent::create(["title" => "Airtable", "link" => ["uri" => "internal:/"], "menu_name" => "main", "parent" => "", "expanded" => TRUE, "weight" => 0]); -$at_menu->save(); -$at_menu_id = "menu_link_content:" . $at_menu->uuid(); -$airtable_pages = [ +/********************* + ** Pages to Create ** + *********************/ +$parent_menu_links = array('main' => ''); +$pages = [ [ - 'title' => 'Service Catalog', - 'wysiwyg_text' => '{"type":"airtable","view": "service_catalog"}', - 'menu_parent' => $at_menu_id, - ], - [ - 'title' => 'Past Trainings & Workshops', - 'wysiwyg_text' => '{"type":"airtable","view": "training_past"}', - 'menu_parent' => $at_menu_id, + 'title' => 'Services', + 'wysiwyg_text' => 'Services Placeholder', + 'menu_parent' => 'main', ], [ - 'title' => 'Upcoming Trainings & Workshops', - 'wysiwyg_text' => '{"type":"airtable","view": "training_upcoming"}', - 'menu_parent' => $at_menu_id, + 'title' => 'Service Catalog', + 'wysiwyg_text' => '{"type":"airtable","view": "service_catalog","variables": {"arrayFormatConfig": {"core-service": {"classMap":{"Artificial Intelligence": "darc","Computationally Intensive Research": "darc","Data Acquisition and Governance": "dag","Data Analytics": "darc","Data Onboarding and Storage": "darc","Human Subjects Research": "blab","Library Research Collections": "library","Publication Support": "library","Research Comms": "ro","Research Operations": "ro","Research Planning": "library"}}}}}', + 'menu_parent' => 'Services', ], [ - 'title' => 'All Training', - 'wysiwyg_text' => '{"type":"airtable","view": "training"}', - 'menu_parent' => '', - ], + 'title' => 'Training & Workshops', + 'wysiwyg_text' => '{"type":"airtable","view": "training","variables": {"arrayFormatConfig": {"categories": {"classMap":{"Research Data Sources": "library","Library Resources": "library","Data Stewardship": "dag","Data Licensing": "dag tag","Data Onboarding and Storage": "darc","Data Analytics": "darc","Artificial Intelligence": "darc","Research Computing": "darc","Human Subjects Research": "blab","Survey Methodology": "blab","Publication Support": "library","Research Grants": "ro"}}}}}', + 'menu_parent' => 'main', + ] ]; - -foreach ($airtable_pages as $page) { - // Create Service Catalog Node - $at_node = \Drupal::entityTypeManager()->getStorage("node")->create([ +// Build all the pages. +foreach ($pages as $page) { + // Create Node + $node = \Drupal::entityTypeManager()->getStorage("node")->create([ "type" => "stanford_page", "title" => $page['title'], ]); - $at_node->save(); + $node->save(); - // Create layout for paragraph for Service Catalog. - $at_paragraph_layout = \Drupal::entityTypeManager()->getStorage("paragraph")->create([ + // Create layout for paragraph. + $paragraph_layout = \Drupal::entityTypeManager()->getStorage("paragraph")->create([ "type" => "stanford_layout", - "parent_id" => $at_node->id(), + "parent_id" => $node->id(), "parent_type" => "node", "parent_field_name" => "su_page_components", ]); - $at_paragraph_layout->setBehaviorSettings("layout_paragraphs", [ + $paragraph_layout->setBehaviorSettings("layout_paragraphs", [ "layout" => "layout_paragraphs_1_column", "config" => [ "label" => "" @@ -65,36 +58,38 @@ "parent_uuid" => "", "region" => "" ]); - $at_paragraph_layout->save(); + $paragraph_layout->save(); - // Create paragraph for Service Catalog - $at_paragraph = \Drupal::entityTypeManager()->getStorage("paragraph")->create([ + // Create paragraph. + $paragraph = \Drupal::entityTypeManager()->getStorage("paragraph")->create([ "type" => "stanford_wysiwyg", - "parent_id" => $at_node->id(), + "parent_id" => $node->id(), "parent_type" => "node", "parent_field_name" => "su_page_components", "su_wysiwyg_text" => $page['wysiwyg_text'], ]); - $at_paragraph->setBehaviorSettings("layout_paragraphs", [ - "parent_uuid" => $at_paragraph_layout->uuid(), + $paragraph->setBehaviorSettings("layout_paragraphs", [ + "parent_uuid" => $paragraph_layout->uuid(), "region" => "main" ]); - $at_paragraph->save(); + $paragraph->save(); - // Add paragraph to service catalog node. - $at_node->su_page_components = [ + // Add paragraph to node. + $node->su_page_components = [ [ - "target_id" => $at_paragraph_layout->id(), - "target_revision_id" => $at_paragraph_layout->getRevisionId() + "target_id" => $paragraph_layout->id(), + "target_revision_id" => $paragraph_layout->getRevisionId() ], [ - "target_id" => $at_paragraph->id(), - "target_revision_id" => $at_paragraph->getRevisionId() + "target_id" => $paragraph->id(), + "target_revision_id" => $paragraph->getRevisionId() ] ]; - $at_node->save(); + $node->save(); // Set Menu - \Drupal\menu_link_content\Entity\MenuLinkContent::create(["title" => $page['title'], "link" => ["uri" => "internal:/node/" . $at_node->id()], "menu_name" => "main", "parent" => $page['menu_parent'], "expanded" => TRUE, "weight" => 0])->save(); + $menu = \Drupal\menu_link_content\Entity\MenuLinkContent::create(["title" => $page['title'], "link" => ["uri" => "internal:/node/" . $node->id()], "menu_name" => "main", "parent" => $parent_menu_links[$page['menu_parent']], "expanded" => TRUE, "weight" => 0]); + $menu->save(); + $parent_menu_links[$page['title']] = "menu_link_content:" . $menu->uuid(); } diff --git a/src/js/airtable-list-builder.js b/src/js/airtable-list-builder.js index 55c7e66..5aee45c 100644 --- a/src/js/airtable-list-builder.js +++ b/src/js/airtable-list-builder.js @@ -5,8 +5,11 @@ // Get the content area var $contentArea = $("#airtable-list"); + // Load settings configured in textarea + var textAreaConfig = ("gsbResearchHubSubtheme" in drupalSettings) ? drupalSettings.gsbResearchHubSubtheme : {}; + // Grab the airtable variables. - let config = $contentArea.data('config'); + let templateConfig = $contentArea.data('config'); var configDefault = { "gutter": 10, @@ -14,7 +17,8 @@ } config = { ...configDefault, - ...config + ...templateConfig, + ...textAreaConfig } for (filterKey in config.filters) { @@ -27,15 +31,12 @@ // Load the airtable data $.ajax({ type: "GET", - beforeSend: function (xhr) { - xhr.setRequestHeader('Authorization', 'Bearer ' + settings.gsbResearchHubSubtheme.snaplogicToken); - }, dataType: "json", - url: settings.gsbResearchHubSubtheme.snaplogicURL + "/GSB/rh-airtable_proxy_cache/output?airtable_table=" + config.table + "&airtable_view=" + config.view, + url: "https://gsbrh-airtable-cache.s3.us-west-2.amazonaws.com/airtable-proxy-cache-" + config.table + "-" + config.view + ".json", success: function(data) { $contentArea.find('#airtable-list-loader').remove(); // Load the records. - let records = data.records; + let records = data.data.records; if (records.length) { for (recordIndex in records) { for (fieldName in records[recordIndex].fields) { @@ -253,7 +254,15 @@ } // Set the browser url. - window.history.replaceState(null, null,'?' + urlParamaters.toString()); + let params = urlParamaters.toString(); + // If there are no parameters set then reset the url to no parameters. + // Otherwise set it to the given filters. + if (params === '') { + window.history.replaceState(null, null, window.location.pathname); + } + else { + window.history.replaceState(null, null,'?' + params); + } // combine filters let filterValue = buildFilters(filters); @@ -338,7 +347,7 @@ // Apply the data to the template. function processTemplate(config, templateKey, data, allData) { var template = $('template#airtable-list-' + stringToCSSClass(templateKey) + '-template').html(); - var settings = drupalSettings.gsbResearchHubSubtheme; + if (template) { // Pull all of the tokens from the template. var tokens = []; @@ -382,8 +391,8 @@ // Pull in any additional config passed in from the text area. var additionalConfig = []; - if ("arrayFormatConfig" in settings && token in settings.arrayFormatConfig) { - additionalConfig = settings.arrayFormatConfig[token]; + if ("arrayFormatConfig" in config && token in config.arrayFormatConfig) { + additionalConfig = config.arrayFormatConfig[token]; } content = formatString(config.format[token].type, config.format[token].options, content, additionalConfig); } diff --git a/src/scss/components/masthead/_wrapper.scss b/src/scss/components/masthead/_wrapper.scss index f387601..ff9f9e5 100644 --- a/src/scss/components/masthead/_wrapper.scss +++ b/src/scss/components/masthead/_wrapper.scss @@ -1,6 +1,6 @@ @charset "UTF-8"; -@media (min-height: $su-screen-lg) { +@media (min-height: $su-screen-md) { .su-masthead { position: sticky; top: 0; diff --git a/src/scss/layout/airtable/_airtable.scss b/src/scss/layout/airtable/_airtable.scss index bc194cb..2429a86 100644 --- a/src/scss/layout/airtable/_airtable.scss +++ b/src/scss/layout/airtable/_airtable.scss @@ -4,27 +4,37 @@ .airtable-filter-container { display: flex; - flex-wrap: wrap; // Allows items to wrap in smaller screens - margin-bottom: 3rem; + flex-wrap: nowrap; + @include margin(.5rem 1rem 3rem 0); #airtable-list-filters { display: flex; - flex: 1 0; // Flex-grow, Flex-shrink, Flex-basis + flex: 1; gap: 1.5rem; // Spacing between the dropdowns + label { + font-size: $rh-filter-font-size; + font-weight: $su-font-semi-bold; + text-transform: uppercase; + @include margin(0 0 .1rem 0); + text-align: center; + max-width: 100%; + } + .airtable-list-filter-group { - border-radius: 4px; - flex: 1; // Each group takes equal space in the row + border-radius: $rh-filter-border-radius; + flex: 1; max-width: 100%; min-width: 0; // Prevents flex items from not shrinking below their content size &.airtable-list-filter-header { - font-weight: $su-font-semi-bold; - text-transform: uppercase; .chosen-container { display: flex !important; - font-size: 1.6rem; + font-size: $rh-filter-font-size; + justify-content: center; + align-items: center; + flex-direction: column; &.chosen-container-single { .chosen-single { @@ -32,67 +42,52 @@ width: 100%; // Use the full width of the parent @include margin(.5rem 0); @include padding(0); - font-size: 1.6rem; + font-size: $rh-filter-font-size; line-height: 1.15; - border: 1px solid $su-color-digital-red !important; - border-radius: 4px; - cursor: pointer; + border: $rh-filter-border-red !important; + border-radius: $rh-filter-border-radius; max-width: 100%; - min-height: 4rem; - background-image: none; + min-height: $rh-filter-height; + + // Dropdown arrow + background: $rh-filter-down-arrow; &:focus { border-color: $su-color-lagunita-light; - box-shadow: $su-color-lagunita-light; + box-shadow: 0 0 0 2px $su-color-lagunita-light; } - span { + span { // Selected filter @include margin(1rem); display: flex; color: $su-color-black; + font-weight: $su-font-regular; text-transform: none; } - div { - right: 1.5rem; // Right-align the icon - - b { - //background-image: url("./../assets/svg/arrow-down.svg") !important; - //background-image: url("#{$su-image-path}/arrow-down.svg"); - background-size: 10rem !important; - } + div { // Hide the original down triangle icon + display: none; } } } - &.chosen-container-active { - .chosen-single { - box-shadow: none; - font-size: 1.6rem; - } - } - &.chosen-container-multi { .chosen-choices { width: 100%; // Use the full width of the parent display: block; @include margin(.5rem 0); - font-size: 1.6rem; - background-image:url(https://cdnjs.cloudflare.com/ajax/libs/chosen/1.4.2/chosen-sprite@2x.png); - //background-image: url(#{$su-image-path}/arrow-down.svg); - background-repeat: no-repeat; - background-position: 119% 0; // position to display the desired icon - background-size: 10rem; - padding-right: 3rem; - - border: 1px solid $su-color-digital-red !important; - border-radius: 4px; + font-size: $rh-filter-font-size; + border: $rh-filter-border-red !important; + border-radius: $rh-filter-border-radius; max-width: 100%; - min-height: 4rem; - + min-height: $rh-filter-height; + + // dropdown arrow + background: $rh-filter-down-arrow; + &:focus { border-color: $su-color-lagunita-light; - box-shadow: $su-color-lagunita-light; + box-shadow: 0 0 0 2px $su-color-lagunita-light; } li.search-choice { @@ -101,16 +96,9 @@ li.search-field input[type=text] { @include margin(.6rem); - font-family: inherit; - font-size: 1.6rem; + font-size: $rh-filter-font-size; color: $su-color-black; font-weight: $su-font-semi-bold; - //height: 2.5rem; - } - - span { - text-transform: none; - font-weight: $su-font-semi-bold; } } } @@ -118,8 +106,9 @@ // Style the dropdown menu .chosen-drop { text-transform: none; - font-family: inherit; - font-size: 1.6rem; + //font-family: inherit; + font-size: $rh-filter-font-size; + //font-weight: $su-font-semi-bold; line-height: 1.15; .chosen-results { @@ -129,7 +118,7 @@ &.highlighted { background-image: none; // Remove from source code background-color: $su-color-digital-blue; // Set hover color for dropdown list - color: #fff + color: #ffffff } } } @@ -140,31 +129,30 @@ .airtable-list-search { flex: 1; - position: relative; // This positions the children absolutely within this container + position: relative; .search-container { - position: relative; + display: flex; + justify-content: center; + align-items: center; + flex-direction: column; width: 100%; // Ensures the search container takes full width of its flex parent - margin-right: auto; // Keeps the container aligned to the left - margin-left: auto; // Keeps the container centered } #airtable-search { - border: 1px solid $su-color-digital-red; //red border for training + border: $rh-filter-border-red; width: 100%; // Ensures the search box takes the full width of its container - margin-top: 3rem; - height: 4rem; - //padding-right: 30px; // Adjusted to prevent the icon from overlapping the text + height: $rh-search-height; font-family: inherit; - font-size: 1.6rem; - border-radius: 3rem; // match rounded corners with the site search box - padding: 1rem 2rem 0.8rem; + font-size: $rh-filter-font-size; + border-radius: $rh-search-border-radius; + @include padding(1rem 2rem 0.8rem); } i { // spinner icon in search box position: absolute; - right: 4rem; - top: 20%; + right: 1rem; + top: 50%; transform: translateY(-50%); font-size: 3rem; display: none; @@ -173,26 +161,15 @@ } } -@include grid-media-max("xl") { +@include grid-media-max("md") { .airtable-filter-container { - max-width: 50%; - flex-direction: column; // Stack filter groups vertically + max-width: 100%; #airtable-list-filters { flex-direction: column; // Stack filter groups vertically .airtable-list-filter-group { width: 100%; // Set a specific width for the dropdowns and the search box - - &.airtable-list-filter-header { - .chosen-container { - &.chosen-container-multi { - .chosen-choices { - background-position: 115% 0; // position to display the desired icon - } - } - } - } } .airtable-list-search { @@ -202,118 +179,19 @@ } #airtable-search { - margin-top: 1rem; // Adjust the margin for smaller screens max-width: 100%; } - - i { - right: 3rem; - } - } - } - } -} - -@include grid-media-max("lg") { - .airtable-filter-container { - //max-width: 50%; - flex-direction: column; // Stack filter groups vertically - - #airtable-list-filters { - flex-direction: column; // Stack filter groups vertically - - .airtable-list-filter-group { - width: 100%; // Set a specific width for the dropdowns and the search box - - &.airtable-list-filter-header { - .chosen-container { - &.chosen-container-multi { - .chosen-choices { - background-position: 120% 0; // position to display the desired icon - } - } - } - } - } - } - } -} - -@include grid-media-max("md") { - .airtable-filter-container { - #airtable-list-filters { - flex-direction: column; // Stack filter groups vertically - - .airtable-list-filter-group { - width: 100%; // Set a specific width for the dropdowns and the search box - - &.airtable-list-filter-header { - .chosen-container { - &.chosen-container-multi { - .chosen-choices { - background-position: 125% 0; // position to display the desired icon - } - } - } - } - } - } - } -} - -@include grid-media-max("sm") { - .airtable-filter-container { - max-width: 100%; - - #airtable-list-filters { - flex-direction: column; // Stack filter groups vertically - - .airtable-list-filter-group { - width: 100%; // Set a specific width for the dropdowns and the search box - - &.airtable-list-filter-header { - .chosen-container { - &.chosen-container-multi { - .chosen-choices { - background-position: 115% 0; // position to display the desired icon - } - } - } - } } } } } -@include grid-media-max("xs") { - .airtable-filter-container { - //max-width: 100%; - - #airtable-list-filters { - flex-direction: column; // Stack filter groups vertically - - .airtable-list-filter-group { - width: 100%; // Set a specific width for the dropdowns and the search box - - &.airtable-list-filter-header { - .chosen-container { - &.chosen-container-multi { - .chosen-choices { - background-position: 118% 0; // position to display the desired icon - } - } - } - } - } - } - } -} +// Airtable record display #airtable-list-record-wrapper { //@include margin(1.5rem 0); // list layout - &.rh-list-layout { .airtable-list-record-row { diff --git a/src/scss/utilities/variables/_filters.scss b/src/scss/utilities/variables/_filters.scss new file mode 100644 index 0000000..b82d43f --- /dev/null +++ b/src/scss/utilities/variables/_filters.scss @@ -0,0 +1,15 @@ +@charset "UTF-8"; +/* Subtheme Specific colors, Stanford/Decanter colors are not defined here */ + +// All variable names should be prefaced with your abbreviation (saa, soe, ood, etc) + + +$rh-filter-font-size: 1.8rem; +$rh-filter-border-red: 1px solid $su-color-digital-red; +$rh-filter-down-arrow: url("#{$su-image-path}/caret-down-black.svg") no-repeat 97% 50%/1.3rem; +$rh-filter-border-radius: 4px; +$rh-filter-height: 4.2rem; + +$rh-search-border-radius: 2rem; +$rh-search-height: 4.5rem; + diff --git a/src/scss/utilities/variables/index.scss b/src/scss/utilities/variables/index.scss index d0b1898..8f810e3 100644 --- a/src/scss/utilities/variables/index.scss +++ b/src/scss/utilities/variables/index.scss @@ -7,3 +7,4 @@ // when you add any files to /src/scss/utilities/variables you should include them here. @import 'colors'; +@import 'filters'; diff --git a/templates/paragraph--airtable--service-catalog.html.twig b/templates/paragraph--airtable--service-catalog.html.twig index 3db2c4f..ba9d024 100644 --- a/templates/paragraph--airtable--service-catalog.html.twig +++ b/templates/paragraph--airtable--service-catalog.html.twig @@ -80,29 +80,32 @@ } %} {% block paragraph %} +

Service Catalog Search Tool

{% block content %} {# Filters #}
diff --git a/templates/paragraph--airtable--training.html.twig b/templates/paragraph--airtable--training.html.twig index c2a861b..8aeca82 100644 --- a/templates/paragraph--airtable--training.html.twig +++ b/templates/paragraph--airtable--training.html.twig @@ -108,29 +108,28 @@ } %} {% block paragraph %} +

Training and Workshops Search Tool

{% block content %} {# Filters #}