/*
Theme Name: Centers for Governance and Marketing
Theme URI: https://www.dotfoundry.co
Author: Benji
Author URI: https://www.monjibram.com
Description: Dot Foundry's WordPress Theme
Requires at least: 6.3.4
Tested up to: 6.3.4
Requires PHP: 8.0
Version: 1.0.0
License: GNU General Public License v2 or later
License URI: http://www.gnu.org/licenses/gpl-2.0.html
Text Domain: we-are-penn-state
*/

/* fonts like this */
/* @import url(https://cdnjs.cloudflare.com/ajax/libs/font-awesome/4.7.0/css/font-awesome.min.css);
@import url("https://use.typekit.net/ilm3djy.css"); */
/* no IS */
/* @import url("https://fonts.googleapis.com/css2?family=Merriweather:ital,wght@0,300;0,400;0,700;0,900;1,300;1,400;1,700;1,900&family=Rubik:ital,wght@0,300..900;1,300..900&family=Roboto:ital,wght@0,100..900;1,100..900&display=swap"); */
/* both */
@import url("https://fonts.googleapis.com/css2?family=Instrument+Serif:ital@0;1&family=Merriweather:ital,wght@0,300;0,400;0,700;0,900;1,300;1,400;1,700;1,900&family=Rubik:ital,wght@0,300..900;1,300..900&family=Roboto:ital,wght@0,100..900;1,100..900&display=swap");
/* no merriweather */
/* @import url("https://fonts.googleapis.com/css2?family=Instrument+Serif:ital@0;1&family=Rubik:ital,wght@0,300..900;1,300..900&family=Roboto:ital,wght@0,100..900;1,100..900&display=swap"); */

/* or like this */
/* IBM Plex Mono
@font-face {
  font-family: 'IBM Plex Mono';
  src: url('/wp-content/themes/dotfoundry/assets/fonts/IBMPlexMono-Bold.woff2') format('woff2'),
      url('/wp-content/themes/dotfoundry/assets/fonts/IBMPlexMono-Bold.woff') format('woff'),
      url('/wp-content/themes/dotfoundry/assets/fonts/IBMPlexMono-Bold.svg#IBMPlexMono-Bold') format('svg');
  font-weight: bold;
  font-style: normal;
  font-display: swap;
} */

/* variables */
:root {
  /* colors */
  --black: #000;
  --grey: #979797;
  --light-grey: #d4d4d4;
  --white: #fff;
  --blue: #1466ff;
  --light-blue: #4d93e7;
  --button-light-blue: #e2ecff;
  --dark-grey: #2b2b2b;
  --yellow: #fdb71c;
  --light-yellow: #fdb71c99;
  --dark-blue: #023593;
  --hero-blue: #4d93e7;
  
  
  /* pitt is now these colors */
  --blue: #003594;
  --yellow: #FFB81C;
  --dark-blue: #00205B;


  --merriweather: "Merriweather", serif;
  /* --merriweather: "Instrument Serif", "Merriweather", serif; */
  /* merriweather is now instrument serif */
  /* --merriweather: "Instrument Serif", serif; */
  --rubik: "Roboto", sans-serif;

  --main-heading-padding-top: 52px;
  --heading-margin-bottom: 40px;

  /* the events calendar */
  /* dark grey */
  --tec-color-text-secondary: var(--dark-grey);

  /* dark blue things */
  --tec-transition-border-color: var(--dark-blue);
  --tec-color-border-active-month-grid-hover: var(--yellow);
  /* --tec-color-border-secondary-month-grid: yellow; */
  --tec-color-text-events-bar-submit-button: var(--dark-blue);

  /* Pitt blue things */
  --tec-color-accent-primary: var(--blue);

  /* Pitt yellow things */
  --tec-color-background-events-bar-submit-button: var(--yellow);
  --tec-color-background-events-bar-submit-button-hover: var(--light-yellow);

  /* grey things */
  --tec-color-border-secondary: var(--light-grey);

  /* fontz */
  --tec-font-family-sans-serif: var(--rubik);
  --tec-font-family-serif: var(--merriweather);

  /* margining */
  --tec-spacer-13: var(--main-heading-padding-top);
  --tec-spacer-8: var(--heading-margin-bottom);
  --tec-spacer-7: var(--heading-margin-bottom);

  /* container */
  --container-max-width: 1240px;
  --container-width: 85%;
}

@media (max-width: 721px) {
  :root {
    --main-heading-padding-top: 28px;
    --heading-margin-bottom: 18px;
  }
  h1.section-heading + .archive-blurb {
    margin-top: -10px !important;
    margin-bottom: 20px !important;
  }
}

@media (max-width: 601px) {
  html, body {
    font-size: 14px;
  }
}

/* general */
* > * {
  margin: 0;
  padding: 0;
}

*:focus {
  outline: none;
  box-shadow: 0 0 0 2px var(--yellow);
  transition: box-shadow 0.2s;
}

.tribe-common .tribe-common-form-control-text__input:focus,
#search:focus {
  outline: none !important;
  box-shadow: unset !important;
}

.tribe-common
  .tribe-events-c-events-bar:has(
    .tribe-common-form-control-text__input:focus:focus
  ),
#search-bar:has(#search:focus) {
  box-shadow: 0 0 0 2px var(--yellow);
}

*,
*::before,
*::after {
  box-sizing: border-box;
}

html {
  height: 100%;
  scroll-behavior: smooth;
  /* scrollbar is red on black */
  scrollbar-color: var(--yellow) var(--white);
  /* scroll-snap-type: y proximity; */
}
/* chrome scrollbar is red and black, too */
::-webkit-scrollbar {
  width: 10px;
  height: 10px;
}
::-webkit-scrollbar-track {
  background-color: var(--white);
}
::-webkit-scrollbar-thumb {
  background-color: var(--yellow);
  border-radius: 10px;
  border: 2px solid var(--white);
}

h1 {
  scroll-margin-top: 30px;
}

html,
body {
  margin: 0;
  font: 400 1rem/1.5 "Roboto", sans-serif;
  color: var(--black);
  background-color: var(--white);
}

body section,
body #primary {
  background-color: var(--white);
}

@media (max-width: 800px) {
  strong {
    font-weight: 600;
  }
}

html.locked,
body.locked {
  max-height: 100%;
  overflow: hidden;
}

::selection {
  background-color: var(--dark-blue);
  color: var(--yellow);
}



/*
 *
 * typography
 *
 */
h1,
h2,
h3,
h4,
h5,
h6 {
  font: 400 40px/1.3 var(--merriweather);
}
h2 { font-size: 1.8rem; }
h3 { font-size: 1.5rem; }
h4,
.schema-faq-question { font-size: 1.2rem; }
h5 { font-size: 0.8rem; }
h6 { font-size: 0.7rem; }

/* do things here! */
/* html :where(.editor-styles-wrapper),
.interface-interface-skeleton__body,
.is-desktop-preview {
  background-color: var(--white) !important;
} */

p {
  font: 400 1rem/1.448 "Roboto", sans-serif;
}
.wp-block-heading h2 {
  font: 600 1.5rem/1.4 "Merriweather", serif;
}

a {
  text-decoration: underline;
  color: var(--blue);
  /* font-weight: 900; */
}

a:hover {
  text-decoration: none;
}

li {
  list-style: none inside;
}

picture img {
  width: 100%;
  height: 100%;
  object-fit: cover;
  object-position: center;
}



/*
 *
 * site containers
 *
 */
.container-wide {
  width: 90%;
  max-width: 1300px;
  margin: 0 auto;
}
#search-results,
.post-type-archive-research-item #content,
.post-type-archive-person #content,
.single-person #content,
.post-type-archive-partner #content,
.single-partners #content,
.post-type-archive-research #content,
.single-research #content,
.page-template-archive-post #content,
.single-post #content,
.container,
.container-medium {
  padding: 0;
  margin: 0 auto;
  max-width: var(--container-max-width);
  width: var(--container-width);
}
.container .container {
  width: unset;
}
.container-narrow {
  width: 85%;
  max-width: 950px;
  margin: 0 auto;
}
#content {
  position: relative;
  z-index: 1;
}

/*
 *
 * transitions
 *
 */
 .wiper {
  width: 0;
  height: 100%;
  position: absolute;
  top: 0;
  left: 0;
  z-index: 2;
  transition: 0;
  background-color: var(--white);
}
.wiper.active {
  width: 100%;
  transition: width .2s;
}
.wiper.slide-out {
  left: unset;
  right: 0;
  transition: width .2s;
  width: 0;
}


/*
 *
 * nav and headings
 *
 */
#wpadminbar {
  position: fixed !important;
}
#bar {
  position: relative;
  z-index: 2;
}
#bar nav,
#bar .under-nav {
  width: 100%;
}
#bar nav .container-wide,
#bar .under-nav .container-wide {
  display: flex;
  flex-wrap: wrap;
  justify-content: space-between;
  align-items: center;
}
#bar nav {
  width: 100%;
  padding-top: 17px;
  padding-bottom: 16px;
  background-color: var(--dark-blue);
}
#bar nav .links ul {
  display: flex;
  justify-content: flex-start;
  align-items: center;
  padding-left: 0;
}
#bar nav .links ul li {
  margin-right: 21px;
  padding-right: 21px;
}
#bar nav .links ul li:not(:last-of-type) {
  border-right: solid 1px var(--white);
}
#bar nav .links ul a {
  color: var(--white);
  text-transform: uppercase;
  font-weight: 700;
  text-decoration: none;
  font-size: 0.9rem;
}
#bar nav .links ul a.current {
  color: var(--yellow);
}
#bar nav input[type="checkbox"] {
  width: 0;
  height: 0;
  opacity: 0;
  position: absolute;
  z-index: -1;
}
#bar nav .search-and-translate {
  min-width: 120px;
  display: flex;
  justify-content: flex-end;
  align-items: center;
}
#bar nav .site-search {
  width: 30px;
  display: flex;
  justify-content: flex-end;
  align-items: center;
  position: relative;
  transition: 0.5s;
}
#bar nav .site-search .input-and-results {
  width: 100%;
  position: relative;
}

#bar nav .site-search input[type="text"] {
  font-size: 1.1rem;
  border: 0;
  border-bottom: solid 1px var(--yellow);
  color: var(--white);
  padding: 0;
  margin: 0;
  width: 100%;
  height: 30px;
  background-color: #0000;
  overflow: hidden;
}
#bar nav .site-search input[type="text"]::placeholder {
  color: var(--yellow);
}

#bar nav .site-search input[type="text"]:focus {
  box-shadow: none !important;
  /* outline: solid 1px var(--yellow); */
}
#bar nav .site-search.active {
  width: 400px;
  transition: 0.3s;
}
#bar nav .site-search.active input[type="text"] {
  /* width: 100%; */
  padding: 10px 15px 10px 0;
}
#bar nav .search-icon {
  margin-left: 15px;
  cursor: pointer;
  padding: 5px;
  width: 30px;
  height: 30px;
  display: flex;
  justify-content: center;
  align-items: center;
  border-radius: 50%;
  border: solid 2px var(--white);
  background-color: var(--blue);
}
#bar nav .search-icon svg {
  width: 25px;
  height: 25px;
  object-fit: contain;
}
#bar nav .results {
  width: 100%;
  position: absolute;
  top: calc(100%);
  left: 0;
  z-index: 2;
  background-color: var(--dark-blue);
  max-height: 0;
  overflow: hidden;
  transition: max-height 0.2s;
}
#bar nav .site-search.active .results.active {
  max-height: 300px;
  border: solid 1px var(--yellow);
  overflow: auto;
  transition: max-height 0.4s;
}
#bar nav .results a {
  padding: 10px 5px;
  margin: 2px;
  display: block;
  color: var(--white);
  text-decoration: none;
}

#bar nav .results a:hover {
  outline: none;
  box-shadow: 0 0 0 2px var(--yellow);
  transition: box-shadow 0.2s;
}
#bar nav .results a:focus { color: var(--yellow); }
#bar nav .results:has(a:hover) a:focus:not(:hover) { box-shadow: none !important; }

#bar nav .translate {
  margin-left: 15px;
  padding-left: 10px;
  border-left: solid 1px var(--white);
}
#bar nav .translate .custom-dropdown {
  position: relative;
}
#bar nav .translate .dropdown-toggle {
  height: 16px;
  font-weight: 700;
  color: var(--white);
  padding: 3px 5px;
  cursor: pointer;
  text-decoration: none;
}
#bar nav .translate .dropdown-toggle:focus {
  box-shadow: none !important;
  border-bottom: solid 1px var(--yellow);
}
#bar nav .translate .dropdown-toggle.active + .dropdown-menu {
  max-height: 150px;
  overflow: auto;
  list-style: none;
  transition: max-height 0.5s;
}
#bar nav .translate .dropdown-menu::-webkit-scrollbar {
  display: none;
}
#bar nav .translate .dropdown-menu {
  position: absolute;
  top: 100%;
  max-height: 0;
  transition: max-height 0.5s;
  overflow: hidden;
  padding: 0;
  margin: 0;
  border: none;
  left: 50%;
  transform: translateX(-50%);
  z-index: 90;
  background-color: var(--dark-blue);
  scrollbar-width: none;
}
#bar nav .translate .dropdown-menu li {
  display: block;
  width: 100%;
  padding: 3px 5px;
  color: var(--white);
  background-color: var(--dark-blue);
}
#bar nav .translate .dropdown-menu li:hover {
  background-color: var(--blue);
}
#bar nav .translate .dropdown-menu li a {
  text-decoration: none;
  color: var(--white);
  white-space: nowrap;
}
#bar .under-nav {
  width: 100%;
  padding-top: 22px;
  padding-bottom: 24px;
  /* &:not(.front-page) {
    background-color: var(--hero-blue);
 }
  */
}
#bar .under-nav:not(.front-page) {
  background-color: var(--hero-blue);
}
#bar .under-nav .pitt-cgm-lockup {
  display: flex;
  flex-wrap: wrap;
  justify-content: flex-start;
  align-items: center;
  flex: 0 1 auto;
  height: 37px;
}
#bar .under-nav .pitt-cgm-lockup .logo {
  display: block;
}
#bar .under-nav .pitt-cgm-lockup .logo:first-of-type {
  padding-right: 15px;
  margin-right: 15px;
  border-right: solid 1px var(--white);
}
#bar .under-nav .pitt-cgm-lockup .pitt-logo,
#bar .under-nav .pitt-cgm-lockup .pitt-logo svg {
  height: 37px;
  width: auto;
}
#bar .under-nav .pitt-cgm-lockup .cgm-logo,
#bar .under-nav .pitt-cgm-lockup .cgm-logo svg {
  height: 19px;
  width: auto;
  margin-top: 3px;
}
#bar .under-nav.front-page {
  padding-top: 38px;
}
#bar .under-nav.front-page .pitt-cgm-lockup,
#bar .under-nav.front-page .pitt-cgm-lockup .pitt-logo,
#bar .under-nav.front-page .pitt-cgm-lockup .pitt-logo svg {
  height: 60px;
  width: auto;
}
#bar .under-nav.front-page .pitt-cgm-lockup .cgm-logo,
#bar .under-nav.front-page .pitt-cgm-lockup .cgm-logo svg {
  height: 30px;
  width: auto;
  margin-top: 4px;
}

#bar .nav .hamburger { display: none; }
/* max-width 1125px */
@media (max-width: 1125px) {
  #bar nav .site-search,
  #bar nav .site-search.active {
    position: relative;
    width: 30px;
    overflow: visible;
  }
  #bar nav .site-search .input-and-results {
    max-width: 0;
    width: calc(90vw - 120px);
    right: 40px;
    z-index: 2;
    background-color: var(--dark-blue);
    transition: .5s;
  }
  #bar nav .site-search.active .input-and-results {
    position: absolute;
    max-width: calc(90vw - 120px);
    transition: .2s;
  }
  #bar nav .site-search.active input[type="text"] {
    padding-left: 5px;
  }
}

#bar .mobile-menu { display: none; }

@media (max-width: 1001px) {
  #bar .under-nav .pitt-cgm-lockup .pitt-logo svg,
  #bar .under-nav .pitt-cgm-lockup .cgm-logo svg {
    width: 100% !important;
    height: 100% !important;
    object-fit: contain !important;
  }
  #bar .under-nav.front-page { padding-top: 20px; }
  #bar .under-nav.front-page .pitt-cgm-lockup,
  #bar .under-nav.front-page .pitt-cgm-lockup .pitt-logo { height: 40px; }
  #bar .under-nav.front-page .pitt-cgm-lockup .cgm-logo {
    height: 20px;
    margin-top: 0;
  }
}
@media (max-width: 721px) {
  #bar nav .hamburger {
    display: block;
    position: absolute;
    right: 5vw;
    top: 20px;
    z-index: 2;
    width: 30px;
    height: 30px;
    cursor: pointer;
  }
  /* #bar nav .hamburger .pillar, */
  #bar nav .hamburger span {
    width: 100%;
    height: 5px;
    background-color: var(--yellow);
    transition: .2s;
    position: absolute;
    top: 3px;
    left: 0;
    transform-origin: center;
  }
  #bar nav .hamburger span:nth-of-type(2) { top: 14px; }
  #bar nav .hamburger span:nth-of-type(3) { top: 25px; }

  /* open */
  #bar nav input:checked + .hamburger span {
    transform: rotate(-45deg);
    left: 0;
    top: 40%;
  }
  #bar nav input:checked + .hamburger span:nth-of-type(2) { transform: rotate(45deg); }
  /* #bar nav input:checked + .hamburger span:nth-of-type(2),
  #bar nav input:checked + .hamburger .pillar {
    transform: rotate(90deg);
    width: 80%;
    height: 3px;
    transition: transform .2s, width .2s, left .2s .2s;
  } */

  #bar nav input:checked + .hamburger .pillar { left: -5px; }
  #bar nav input:checked + .hamburger .pillar:last-child { left: 20px; }

  #bar {
    position: relative;
    top: 0;
    left: 0;
    right: 0;
    display: flex;
    flex-direction: column;
    background-color: var(--dark-blue);
    justify-content: center;
    min-height: 0;
    transition: .2s .4s;
  }
  /* #wpadminbar + #page #bar { top: 46px; } */

  #bar nav {
    padding-bottom: 0;
  }
  #bar nav .links ul {
    flex-direction: column;
    margin-top: 0;
    margin-bottom: 0;
    pointer-events: none;
    max-height: 0;
    overflow: hidden;
    transition: max-height .2s .2s;
  }
  #bar nav .links ul li {
    padding-right: unset;
    margin-right: unset;
    text-align: center;
    align-items: center;
    margin-bottom: 20px;
    border-right: none !important;
    transform: translateX(20px);
    opacity: 0;
    transition: opacity .2s, transform .1s .2s;
  }
  #bar nav .links ul a { font-size: 1.5rem; }
  #bar nav .cta {
    opacity: 0;
    transition: .2s;
  }
  #bar nav .cta span { font-size: 1.2rem; }

  #bar nav .container-wide,
  #bar .under-nav .container-wide {
    flex-direction: column;
    justify-content: center;
    align-items: center;
  }
  #bar .under-nav {
    padding-top: 0 !important;
    flex-direction: column;
    align-items: center;
    background-color: var(--dark-blue);
  }

  #bar nav .search-and-translate {
    justify-content: center;
    min-width: unset;
  }
  #bar nav .translate {
    position: relative;
    margin-left: unset;
    padding-left: unset;
    border-left: none;
    opacity: 0;
    max-height: 0;
    pointer-events: none;
    transition: opacity .2s, max-height .2s .2s;
  }

  /* #bar nav .translate .dropdown-menu li a, */
  #bar nav .translate {
    height: 100%;
  }
  #bar nav .search-and-translate,
  #bar nav .translate,
  #bar nav .translate .custom-dropdown {
    display: block;
    width: 100%;
    text-align: center;
  }

  #bar nav .translate .dropdown-menu li a,
  #bar nav .translate .dropdown-toggle { font-size: 1.5rem; }
  #bar nav .translate .custom-dropdown { margin-bottom: 25px; }

  #bar nav .translate .dropdown-toggle.active + .dropdown-menu {
    opacity: 1;
    pointer-events: all;
  }
  #bar nav .translate .dropdown-menu {
    top: 0;
    position: fixed;
    height: 100dvh;
    width: 100vw;
    max-height: unset !important;
    opacity: 0;
    pointer-events: none;
    display: flex;
    flex-direction: column;
    justify-content: center;
    transition: .5s !important;
  }

  #bar nav .site-search,
  #bar nav .site-search.active {
    position: absolute;
    top: 20px;
    right: calc(5vw + 50px);
    z-index: 2;
    transition: .2s;
  }
  #bar .under-nav { background-color: unset !important; }


  #bar .under-nav .pitt-cgm-lockup {
    max-height: 32px;
    opacity: 1;
    transition: opacity .2s .6s, max-height .2s;
    margin-right: auto;
  }
  #bar .under-nav.front-page .pitt-cgm-lockup,
  #bar .under-nav .pitt-cgm-lockup .pitt-logo { height: 32px !important; }
  #bar .under-nav .pitt-cgm-lockup .cgm-logo, #bar .under-nav .pitt-cgm-lockup .cgm-logo svg {
    height: 18px !important;
    margin-top: 2px !important;
  }

  #bar nav .site-search {
    opacity: 1;
    transition: .2s .6s;
  }
  #bar nav .site-search.active .input-and-results {
    max-width: calc(90vw - 80px);
    height: 40px;
    display: flex;
    justify-content: flex-start;
  }
  #bar nav .site-search .input-and-results { width: calc(90vw - 80px); }
  #bar nav .site-search.active input[type="text"] { margin-top: auto; }

  #bar .under-nav .cta {
    opacity: 0;
    max-height: 0;
    padding: 0;
    pointer-events: none;
    overflow: hidden;
    transition: .2s;
  }





  /* and active */
  #bar:has(input:checked) {
    min-height: 100dvh;
    overflow: auto;
    transition: .2s;
  }
  #wpadminbar + #page #bar:has(input:checked) { min-height: calc(100dvh - 46px); }
  #bar:has(input:checked) nav .links ul {
    margin-top: 3px;
    opacity: 1;
    pointer-events: all;
    max-height: 100vh;
    transition: max-height .1s .2s, opacity .4s .4s;
  }
  #bar:has(input:checked) nav .links ul li {
    transform: translateX(0);
    opacity: 1;
    transition: .1s;
  }

  #bar:has(input:checked) nav .links ul li:nth-child(1) { transition: transform .2s .2s, opacity .2s .2s; }
  #bar:has(input:checked) nav .links ul li:nth-child(2) { transition: transform .2s .3s, opacity .2s .3s; }
  #bar:has(input:checked) nav .links ul li:nth-child(3) { transition: transform .2s .4s, opacity .2s .4s; }
  #bar:has(input:checked) nav .links ul li:nth-child(4) { transition: transform .2s .5s, opacity .2s .5s; }
  #bar:has(input:checked) nav .links ul li:nth-child(5) { transition: transform .2s .6s, opacity .2s .6s; }

  #bar:has(input:checked) nav .translate {
    opacity: 1;
    max-height: 100vh;
    pointer-events: all;
    transition: max-height .1s .2s, opacity .4s .8s;
  }
  #bar:has(input:checked) .under-nav .cta {
    max-height: 50px;
    padding: 13px 20px 12px;
    opacity: 1;
    transition: all .2s, opacity .2s 1s;
  }

  /* close */
  #bar:has(input:checked) .under-nav .pitt-cgm-lockup {
    max-height: 0;
    opacity: 0;
    transition: opacity .2s, max-height .2s .2s;
  }
  #bar:has(input:checked) nav .site-search {
    opacity: 0;
    pointer-events: none;
    transition: .2s;
  }








  /* there's a submenu */
  #bar:has(.sub-menu.active) nav .links > ul > li {
    transform: unset !important;
    transition: all 0.2s !important;
  }
  #bar:has(.sub-menu.active) .links > ul > li > a,
  #bar:has(input:checked):has(.sub-menu.active) nav .search-and-translate .site-search,
  #bar:has(input:checked):has(.sub-menu.active) nav .search-and-translate .translate *,
  #bar:has(.sub-menu.active) .under-nav {
    opacity: 0 !important;
    transition: opacity .2s, transform 0s !important;
    transform: unset !important;
    pointer-events: none;
  }
  #bar nav .links .sub-menu {
    position: fixed;
    display: flex;
    justify-content: center;
    height: 100vh;
    left: 100vw;
    top: 0;
    background-color: var(--dark-blue);
    width: 90%;
    pointer-events: none;
    opacity: 0;
    transition: opacity 0.2s, all 0.2s 0.1s;
  }
  #bar nav .links .sub-menu.active {
    left: 5%;
    opacity: 1;
    pointer-events: all;
    transition: unset !important;
    transition-delay: 0.1s !important;
  }

  /* links opacity in? */
  #bar nav .links .sub-menu li {
    opacity: 0 !important;
    transform: translateX(20px) !important;
    /* transition: opacity .2s; */
  }
  #bar nav .links .sub-menu.active > li {
    opacity: 1 !important;
    transform: translateX(0) !important;
  }

  /* hamburger is an arrow */
  #bar:has(.sub-menu.active) nav input:checked + .hamburger span {
    width: 50%;
    top: unset !important;
    bottom: 55%;
    left: 0;
  }
  #bar:has(.sub-menu.active) nav input:checked + .hamburger span:nth-of-type(2) {
    top: 55% !important;
    left: 0;
  }
  #bar:has(.sub-menu.active) nav input:checked + .hamburger span:nth-of-type(3) {
    top: 50% !important;
    width: 70%;
    transform: rotate(0deg) translateY(-50%);
    left: 4px;
  }
}
@media (min-width: 722px) {
  #bar nav .links ul li { position: relative; }
  #bar nav .links .parent:hover .sub-menu {
    max-height: 200px;
    transition: max-height 0.3s;
  }
  #bar nav .links .sub-menu {
    display: block;
    position: absolute;
    top: 100%;
    left: -10px;
    background-color: var(--dark-blue);
    min-width: 150px;
    overflow: hidden;
    max-height: 0;
    padding-left: 10px;
    padding-top: 10px;
    transition: padding 0.3s 0, max-height 0.3s;
  }
  #bar nav .links .sub-menu li.mobile-only {
    display: none !important;
  }
  #bar nav .links .sub-menu li {
    padding: 10px 5px 10px 0;
    margin-right: unset;
    border-right: unset !important;
  }
  #bar nav .links .sub-menu li a {
    display: block;
  }
  
}
@media (max-width: 600px) {
  #bar .under-nav .pitt-cgm-lockup {
    max-width: calc(100% - 95px);
  }
  #bar .under-nav .pitt-cgm-lockup .logo:first-of-type {
    max-width: 32%;
    margin-right: 2%;
    padding-right: 2%;
  }
  #bar .under-nav .pitt-cgm-lockup .cgm-logo {
    max-width: 64%;
    /* margin-top: 8px !important; */
  }
}

.to-top-bar {
  position: absolute;
  top: 0;
  right: 20px;
  height: 100%;
  padding-top: 110vh;
  pointer-events: none;
  z-index: 3;
}
.to-top-button__link {
  position: sticky;
  top: calc(100dvh - 50px);
  display: flex;
  justify-content: center;
  align-items: center;
  width: 30px;
  height: 30px;
  padding: 8px;
  background-color: var(--dark-grey);
  border-radius: 50%;
  pointer-events: all;
}
.to-top-button__link svg {
  display: block;
  fill: var(--yellow);
  width: 100%;
  height: 100%;
  object-fit: contain;
}


/*
 *
 * typography
 *
 */
h2,
h3,
h4,
h5,
section {
  scroll-margin-top: 98px;
}
@media (max-width: 701px) {
  h2,
  section {
    scroll-margin-top: 68px;
  }
}
.wp-block-buttons,
.cta-holder {
  display: flex;
  justify-content: center;
  align-items: center;
}
.cta {
  padding: 13px 20px 12px;
  border-radius: 4px;
  text-decoration: none;
  text-transform: uppercase;
  font-size: 0.9rem;
  font-weight: 700;
  border: none !important;
  cursor: pointer;
  color: var(--dark-blue);
  transition: 0.3s;
  display: flex;
  justify-content: center;
  align-items: center;
}
.cta.yellow {
  background-color: var(--yellow);
  transition: 0.2s;
}
.cta.yellow.hover:hover {
  background-color: var(--light-yellow);
}
.cta span {
  text-transform: uppercase;
  font-size: 0.9rem;
  font-weight: 700;
  color: var(--dark-blue);
}
@keyframes pop {
  0% {
    background-color: var(--black);
  }
  33% {
    background-color: var(--black) aa;
  }
  66% {
    background-color: var(--black);
  }
}
@keyframes throb {
  0% {
    opacity: 1;
  }
  50% {
    opacity: 0;
  }
  51% {
    opacity: 1;
  }
  100% {
    opacity: 0;
  }
}
@keyframes orbit {
  100% {
    transform: rotate(-360deg);
  }
}
.hide-always {
  display: none !important;
}
@media (max-width: 600px) {
  .mobile-hide {
    display: none;
  }
  #content .cta span {
    font-size: 0.7rem;
  }
}

/*
 *
 * all the singles, lady
 *
 */


.small-image-header {
  display: flex;
  flex-wrap: wrap;
  justify-content: space-between;
}

.small-image {
  width: 141px;
  height: 161px;
  object-fit: cover;
}

.entry-header {
  margin-right: 25px;
}

.back-to-it {
  margin-top: var(--main-heading-padding-top);
  margin-bottom: var(--heading-margin-bottom);
  line-height: 1.448;
  font-size: 0.9rem;
  font-weight: 700;
}
.back-to-it a {
  color: var(--blue);
  text-decoration: none;
  transition: 0.3s;
}
.back-to-it a:hover {
  color: var(--light-blue);
  transition: 0.2s;
}
.back-to-it::after {
  content: "";
  display: block;
  width: 100%;
  height: 1px;
  background-color: var(--grey);
  margin-top: 10px;
}
.single h1.entry-title {
  font-weight: 400;
}
.single-post h1.entry-title {
  font-size: 1.9rem;
  margin-bottom: 20px;
}
.single-person h1.entry-title {
  font-size: 2.25rem;
}
.single-research h1.entry-title {
  font-size: 3rem;
  letter-spacing: -0.5px;
}

.single-research .main-content {
  width: 100%;
}

.tag .post-thumbnail,
.category .post-thumbnail,
.single .post-thumbnail {
  margin-bottom: 30px;
}
.tag .post-thumbnail img,
.category .post-thumbnail img,
.single .post-thumbnail img {
  display: block;
  width: 100%;
  height: 100%;
  object-fit: cover;
  object-position: center;
  aspect-ratio: 2 !important;
}
.tag .post-thumbnail figcaption,
.category .post-thumbnail figcaption,
.single .post-thumbnail figcaption {
  margin-top: 6px;
  font-size: 0.7rem;
  font-weight: 500;
  text-align: right;
}
.research-subtitle {
  font-size: 1.875rem;
  font-weight: 500;
  letter-spacing: -1px;
  line-height: 1.3;
  margin-top: 5px;
  margin-bottom: 22px;
  color: var(--dark-blue);
}
.person-titling {
  margin-top: 12px;
  margin-bottom: 22px;
}
.person-titling p {
  color: var(--dark-blue);
  font-size: 0.9rem;
  font-weight: 400;
  line-height: 1.4;
  margin-bottom: 0.6rem;
}
.post-entry-content {
  display: flex;
  justify-content: flex-start;
  align-items: flex-start;
  margin-bottom: 70px;
  /* .left takes up just enough space */
  /* right takes up more */
}
.post-entry-content .main-content {
  width: 100%;
}
.post-entry-content .sidebar {
  width: calc(100% - 870px);
  min-width: 250px;
  margin-right: 20px;
  /* cats and tags */
}
.post-entry-content .sidebar + .main-content {
  width: 850px;
  max-width: calc(100% - 270px);
  margin-left: auto;
}
.post-entry-content .sidebar .entry-meta__tags,
.post-entry-content .sidebar .entry-meta__categories {
  display: inline-flex;
  flex-direction: row;
  flex-wrap: wrap;
  gap: 0px 10px;
  align-items: flex-start;
  justify-content: flex-start;
  margin-right: 10px;
}
.post-entry-content .sidebar .entry-meta {
  display: flex;
  flex-wrap: wrap;
}
.post-entry-content .sidebar .entry-meta > * {
  margin-right: 10px;
}
.post-entry-content .sidebar .demos {
  margin-bottom: 18px;
}
.post-entry-content .sidebar .demos.program-demos {
  margin-bottom: 32px;
}
.post-entry-content .sidebar .prog-contact + .program-contact-title {
  margin-top: 21px;
}

.post-entry-content .sidebar .program-contact-title {
  color: var(--dark-blue);
  font-size: 0.85rem;
  font-style: normal;
  font-weight: 700;
  margin-bottom: 8px;
  text-transform: uppercase;
}
.post-entry-content .sidebar .contact-name-title {
  font-family: var(--merriweather);
  font-size: 0.9rem;
  font-style: normal;
  font-weight: 400;
  line-height: 1.6;
  margin-bottom: 8px;
}
.post-entry-content .sidebar .contact-name-title a {
  color: var(--blue);
  font-weight: 600;
  text-decoration: none;
}
.post-entry-content .sidebar .contact-name-title a:hover {
  text-decoration: underline;
}
.post-entry-content .sidebar .address {
  font-family: var(--merriweather);
  font-size: 0.85rem;
  line-height: 1.6;
  font-weight: 400;
  margin-bottom: 8px;
}
.post-entry-content .sidebar .links {
  margin-bottom: 20px;
}
.post-entry-content .sidebar .collaborator {
  display: block;
  color: var(--dark-blue);
  text-decoration: none;
  font-weight: bold;
}
.post-entry-content .sidebar .collaborator:hover {
  text-decoration: underline;
}

.post-entry-content .sidebar .links a,
.post-entry-content .sidebar .email a {
  font-size: 0.9rem;
  font-weight: 700;
  color: var(--blue);
  text-decoration: none;
  display: block;
  margin-bottom: 8px;
}
.post-entry-content .sidebar .entry-meta__tags a,
.post-entry-content .sidebar ul a {
  display: inline-block;
  padding: 8px 14px;
  line-height: 1.2;
  font-weight: 600;
  font-size: 0.9rem;
  color: var(--dark-blue);
  background-color: var(--button-light-blue);
  margin-bottom: 13px;
  /* white-space: nowrap; */
  text-decoration: none;
}
.post-entry-content .sidebar .entry-meta__tags a {
  margin-bottom: 13px;
}
.post-entry-content .main-content .container {
  width: 100% !important;
  max-width: 100% !important;
  margin: 0 !important;
}
.post-entry-content .main-content .section-outer {
  position: relative;
}
.post-entry-content .main-content .section {
  position: relative;
  z-index: 1;
  overflow: auto;
  transition: 0s 0.5s;
}
.post-entry-content .main-content .section:not(.active) {
  /* overflow: hidden; */
  display: none;
  /* max-height: 0; */
  /* transition: max-height 0s .2s; */
}
.post-entry-content .main-content h2,
.post-entry-content .main-content h3,
.post-entry-content .main-content h4,
.post-entry-content .main-content h5,
.post-entry-content .main-content h6 {
  margin-top: 0.5rem !important;
  margin-bottom: 0.5rem !important;
}
.post-entry-content .main-content p {
  font-weight: 300;
  font-size: 1.1rem;
  line-height: 1.55;
}
.post-entry-content .main-content p:not(.last-of-type) {
  margin-bottom: 1rem;
}
.post-entry-content .main-content ol,
.post-entry-content .main-content ul {
  margin-bottom: 0.5rem;
}
.post-entry-content .main-content ol li,
.post-entry-content .main-content ul li {
  list-style-type: unset !important;
  list-style-position: inside !important;
  font-weight: 300;
  font-size: 1.1rem;
  line-height: 1.55;
}
.post-entry-content .main-content ul ul,
.post-entry-content .main-content ul ol,
.post-entry-content .main-content ol ul,
.post-entry-content .main-content ol ol {
  margin-left: 1rem;
  margin-bottom: 0;
}
.post-entry-content .main-content a {
  color: var(--blue);
  font-weight: 700;
  font-size: 1.1rem;
  line-height: 1.55;
  text-decoration: none;
}
.post-entry-content .main-content a.wp-element-button {
  padding: 13px 20px 12px;
  border-radius: 4px;
  text-decoration: none;
  text-transform: uppercase;
  font-size: .9rem;
  font-weight: 700;
  border: none !important;
  cursor: pointer;
  color: var(--dark-blue);
  background-color: var(--yellow);
  transition: .3s;
  display: inline-flex;
  justify-content: center;
  align-items: center;
}
.post-entry-content .main-content a.wp-element-button:hover {
  opacity: 1 !important;
}
.post-entry-content .main-content iframe {
  width: 100%;
}
/* single events are mostly TEC */
#tribe-events-pg-template {
  padding-top: 0 !important;
  padding: 0 !important;
  /* same as .container */
  max-width: var(--container-max-width) !important;
  width: var(--container-width) !important;
}
.single-tribe_events .tribe-events-back {
  margin-top: var(--main-heading-padding-top);
  margin-bottom: 40px;
}
.single-tribe_events .tribe-events-back a {
  line-height: 1.448;
  font-size: 0.9rem;
  font-weight: 700;
}
.single-tribe_events .tribe-events-back::after {
  margin-top: 10px;
  content: "";
  display: block;
  width: 100%;
  height: 1px;
  background-color: var(--grey);
}
.single-tribe_events h1.tribe-events-single-event-title {
  font-family: var(--merriweather);
  font-size: 1.9rem;
  font-weight: 400;
}
.single-tribe_events .tribe-events-schedule * {
  font-family: var(--rubik);
  font-size: 0.9rem;
  font-weight: 700;
  color: var(--dark-blue);
}
.tribe-events-event-image img {
  width: 100%;
  height: 100%;
  object-fit: cover;
  object-position: center;
}

/* RESEARCH ITEMS */
.research-item-group h3 {
  margin-bottom: 12px !important;
}
.post-entry-content .main-content .research-item-group + .research-item-group h3 {
  margin-top: 30px !important;
}
.research-item {
  /* margin-bottom: 8px; */
  margin-bottom: 24px;
  display: block;
  color: var(--black) !important;
}
.research-item.margin-bottom-plz { margin-bottom: 18px; }

.research-item .flex {
  display: flex;
  justify-content: space-between;
  align-items: stretch;
}
.research-item .flex .left-side-img {
  width: 164px;
  display: flex;
  justify-content: center;
  align-items: center;
}
.research-item .flex .left-side-img img {
  display: block;
  width: 100%;
  height: auto;
  aspect-ratio: 1;
  object-fit: cover;
  object-position: center;
}
.research-item .flex .left-side-img + .right-side-text {
  width: calc(100% - 184px);
  display: flex;
  flex-direction: column;
  justify-content: flex-start;
  align-items: flex-start;
}
.research-item .flex .left-side-img + .right-side-text .research-item-heading {
  margin-top: 0 !important;
  margin-bottom: 0.6rem !important;
}
.research-item .flex .left-side-img + .right-side-text .research-item-heading a {
  line-height: 1;
}

.research-item-type {
  font-size: 1.1rem;
  font-weight: 700;
  color: var(--dark-blue);
  font-family: inherit;
  text-transform: uppercase;
  margin-top: 1.25rem;
  margin-bottom: .4rem;
}

.post-entry-content .main-content .research-item-heading {
  font-size: 1rem;
  font-family: var(--rubik);
  margin-bottom: 0;
}
/* .post-entry-content .main-content .research-item-heading.subheading {
  font-style: italic;
} */

.research-item-title {
  font-weight: 700;
  transition: .3s;
}
a.research-item:hover .research-item-title {
  color: var(--blue);
}

.research-item-heading .date {
  font-weight: 400;
  font-style: italic;
}


.post-entry-content .main-content .research-item-author {
  margin-top: -.4rem;
  margin-bottom: 0;
  font-size: 1rem;
  font-weight: 400;
}

.post-entry-content .main-content .research-item-description p {
  font-weight: 300;
  font-size: 1rem;
  line-height: 1.5;
}
.post-entry-content .main-content .research-item-list {
  margin-top: 3px;
}
.post-entry-content .main-content .research-item-list .make-spans-ligher-weight span {
  font-weight: 400;
}

.post-entry-content .main-content .research-item-list * {
  font-weight: 600;
  color: var(--black);
  font-size: 1rem;
  line-height: 1.5;
  list-style-type: none;
}
.post-entry-content .main-content .research-item-list *:hover {
  color: var(--blue);
}

.post-entry-content .main-content .research-item p:not(.last-of-type) {
  margin-bottom: 0;
}


.research-item-heading + .research-item-description {
  margin-top: -.5rem;
}

.post-entry-content .main-content .research-item-link a {
  color: var(--blue);
  font-weight: 500;
  text-decoration: none;
  font-size: 1rem;
}

/* MEDIA QUERIES */

@media (max-width: 1100px) {
  .post-entry-content {
    flex-direction: column;
  }
  .sidebar,
  .main-content {
    width: 100% !important;
    max-width: 100% !important;
  }
  .sidebar {
    margin-bottom: 30px;
    display: flex;
    align-items: flex-start;
  }
  .single-person .sidebar {
    justify-content: flex-end;
  }
  .sidebar .demos + .entry-meta a,
  .sidebar .demos + .entry-meta {
    text-align: right;
    margin-left: auto;
  }
  .post-entry-content .sidebar .entry-meta__tags:not(.entry-meta__cats) a:last-of-type,
  .post-entry-content .sidebar:not(:has(.entry-meta__tags a)) li:last-of-type a {
    margin-bottom: 0;
  }
}
@media (max-width: 951px) {
  .single-research h1.entry-title {
    font-size: 2.5rem;
  }
  .research-subtitle {
    font-size: 1.5rem;
  }
}
@media (max-width: 751px) {
  .single-research h1.entry-title {
    line-height: 1;
    font-size: 1.8rem;
  }
  .research-subtitle {
    font-size: 1.35rem;
    margin-bottom: 12px;
  }
}
@media (max-width: 600px) {
  .single-research h1.entry-title {
    font-size: 1.3rem;
  }
  .research-subtitle {
    font-size: 1.1rem;
  }
}
@media (max-width: 550px) {
  .single-person .sidebar {
    display: block;
  }
  .sidebar .demos + .entry-meta a,
  .sidebar .demos + .entry-meta {
    text-align: left;
    margin-left: 0;
  }

  /* .sidebar .entry-meta {
    width: 100%;
  }
  .sidebar .entry-meta__cats,
  .sidebar .entry-meta__tags,
  .sidebar .post-categories,
  .sidebar .post-categories ul,
  .sidebar .post-categories li {
    display: inline !important;
  }
  .sidebar .entry-meta a {
    display: inline-block;
    margin-right: 5px;
  } */


}


/*
 *
 * search bar for most pages
 *
 * tabs within single pages too
 *
 */
#tabs,
#search-bar {
  border: 1px solid var(--light-grey);
  position: relative;
  display: flex;
  justify-content: flex-start;
  align-items: center;
  margin-bottom: 36px;
}
#tabs {
  margin-bottom: 27px;
}
#tabs .search-inner,
#search-bar .search-inner {
  flex: 1;
}
#tabs input[type="radio"],
#search-bar input[type="radio"],
#tabs label.hidden,
#search-bar label.hidden {
  border: 0;
  clip: rect(0 0 0 0);
  height: 1px;
  margin: -1px;
  overflow: hidden;
  padding: 0;
  position: absolute;
  width: 1px;
}
#tabs label,
#search-bar label {
  width: 25%;
  /* border: solid 1px var(--light-grey); */
  transition: 0.2s;
  cursor: pointer;
  color: var(--dark-blue);
  text-transform: uppercase;
  font-size: 0.95rem;
  font-weight: 700;
  text-align: center;
  padding: 12px 0 10px;
}
#tabs label.tab-label,
#search-bar label.tab-label {
  width: calc(100% / 3);
  flex: 1;
}
#tabs label:not(:last-of-type),
#search-bar label:not(:last-of-type) {
  border-right: 1px solid var(--light-grey);
}
#tabs input:checked + label,
#search-bar input:checked + label {
  /* outline: solid 1px var(--dark-blue) !important; */
  /* border: solid 1px var(--dark-blue) !important; */
  background-color: var(--yellow);
  z-index: 2;
}
#tabs input[type="text"],
#search-bar input[type="text"] {
  width: 100%;
  padding: 10px 15px;
  border: 0;
  font-size: 0.9rem;
  padding: 20px;
  padding-left: 46px;
  line-height: 1.55;
}
#tabs input[type="text"]::placeholder,
#search-bar input[type="text"]::placeholder {
  color: var(--dark-grey);
  opacity: 1;
}
#tabs svg,
#search-bar svg {
  display: block;
  position: absolute;
  left: 16px;
  top: 50%;
  transform: translateY(-50%);
  width: 16px;
  height: 16px;
  object-fit: contain;
  z-index: 2;
  pointer-events: none;
}
#tabs button,
#search-bar button {
  margin-right: 16px;
  text-transform: capitalize !important;
}
#tabs button span,
#search-bar button span {
  text-transform: capitalize !important;
}
@media (max-width: 1025px) {
  #tabs, #search-bar {
    flex-wrap: wrap;
  }
  #search-bar label {
    width: 50% !important;
    border: solid 1px var(--light-grey) !important;
  }
}
@media (max-width: 951px) and (min-width: 751px) {
  #tabs label .mobile-hide {
    display: none;
  }
}


@media (max-width: 751px) {
  #tabs label {
    font-size: 0.75rem;
  }

  .single-person .main-content #tabs:has(label:nth-child(6)),
  .single-research .main-content #tabs:has(label:nth-child(6)) {
    border: 0px !important;
  }
  .single-person .main-content #tabs:has(label:nth-child(6)) label {
    width: calc(100% / 2);
    flex: unset;
    border-right: solid 1px var(--light-grey);
    border-bottom: solid 1px var(--light-grey);
    border-top: 0px !important;
    border-left: 0px !important;
  }
  .single-person .main-content #tabs:has(label:nth-child(6)) label:first-of-type {
    border-left: solid 1px var(--light-grey) !important;
    border-top: solid 1px var(--light-grey) !important;
  }
  .single-person .main-content #tabs:has(label:nth-child(6)) label:nth-child(4) {
    border-top: solid 1px var(--light-grey) !important;
  }
  
  .single-person .main-content #tabs:has(label:nth-child(6)) label:nth-child(6) {
    border-left: solid 1px var(--light-grey) !important;
  }
  
  /* hoo boy, research items are snowflakes */
  .single-research .main-content #tabs:has(label:nth-child(6)) label {
    width: calc(100% / 3);
    flex: unset;
    border-right: solid 1px var(--light-grey);
    border-bottom: solid 1px var(--light-grey);
    border-top: 0px !important;
    border-left: 0px !important;
  }
  .single-research .main-content #tabs:has(label:nth-child(6)) label:first-of-type,
  .single-research .main-content #tabs:has(label:nth-child(6)) label:nth-child(8) {
    border-left: solid 1px var(--light-grey) !important;
  }
  .single-research .main-content #tabs:has(label:nth-child(6)) label:nth-child(2),
  .single-research .main-content #tabs:has(label:nth-child(6)) label:nth-child(4),
  .single-research .main-content #tabs:has(label:nth-child(6)) label:nth-child(6) {
    border-top: solid 1px var(--light-grey) !important;
  }
}

@media (max-width: 600px) {
  #tabs input[type="text"],
  #search-bar input[type="text"] {
    padding-left: 38px;
    font-size: 0.8rem;
  }
  #tabs svg,
  #search-bar svg {
    left: 14px;
  }
  #tabs button,
  #search-bar button {
    margin-right: 14px;
  }

  #tabs label,
  #search-bar label {
    font-size: 0.75rem;
  }

  .section.people .left-side-img { display: none; }
  /* .research-item .flex .left-side-img + .right-side-text{ width: calc(100% - 120px); } */
  .research-item .flex .left-side-img + .right-side-text{ width: 100%; }
}


/*
 *
 * archives for person, news, research, and search
 *
 */
.archive-title {
  margin-bottom: 20px;
  width: 100%;
  font-weight: 700;
}
.archive-grid {
  margin-bottom: 52px;
  display: flex;
  flex-wrap: wrap;
  justify-content: flex-start;
  align-items: stretch;
}
.archive-grid.news {
  display: block;
}
.archive-item {
  position: relative;
  text-decoration: none;
  width: 32%;
}
.archive-item:not(.news) { margin-bottom: 2%; }
.archive-item:not(.research):not(.partner):not(.person):not(:nth-child(3n)) {
  margin-right: 2%;
}
.archive-item .img-placeholder,
.archive-item img {
  display: block;
  width: 100%;
  aspect-ratio: 1.3;
  height: auto;
  object-fit: cover;
  object-position: center;
  margin-bottom: 17px;
}
.archive-item .img-placeholder {
  border-radius: 4px;
  background: radial-gradient(
      ellipse at 20% 150%,
      var(--light-blue),
      transparent
    ),
    radial-gradient(ellipse at 220% -10%, var(--blue), transparent);
}
.archive-item h3 {
  font-size: 1.15rem;
  /* font-weight: 300; */
  color: var(--black);
  line-height: 1.3;
  margin-bottom: 5px;
}
.archive-item h3.centered {
  text-align: center;
}
.archive-item .title {
  font-size: 0.9rem;
  font-weight: 400;
  line-height: 1.3;
  color: var(--dark-blue);
}
.archive-item .img-holder {
  display: block;
}
.archive-item a {
  text-decoration: none;
}
.archive-item .links {
  margin-top: 3px;
}
.archive-item .link {
  text-decoration: none;
  display: inline-block;
  cursor: pointer;
  font-size: 0.9rem;
  font-weight: 700;
  transition: 0.3s;
}
.archive-item .link:not(:last-of-type) {
  display: inline-block;
}
.archive-item .link:not(:last-of-type)::after {
  content: "•";
  display: inline-block;
  margin-left: 3px;
  margin-right: 3px;
}
.archive-item .link:hover {
  color: var(--light-blue);
  transition: 0.2s;
}
/* person archive item transitions */
.archive-item.person {
  position: relative;
  width: calc(94% / 4);
  margin-right: 2%;
}
.archive-item.person:nth-child(4n) {
  margin-right: 0;
}
.archive-item.person:last-child {
  margin-right: auto;
}
/* it has a wiper, same as all wipers */

/* partners are very very slightly diff */
.archive-item.partner {
  width: 32%;
  display: block;
}
.archive-item.partner:not(:nth-child(3n)) {
  margin-right: 2%;
}
.archive-item.partner .img-placeholder,
.archive-item.partner img {
  aspect-ratio: 2;
  object-fit: contain;
}
/* research archive items are a little diff */
.archive-item.research {
  width: 32%;
  padding-bottom: 8px;
  margin-bottom: 16px;
}
.archive-item.research:not(:nth-child(3n)) {
  margin-right: 2%;
}
.archive-item.research .img-placeholder,
.archive-item.research img {
  aspect-ratio: 1.77;
  margin-bottom: 13px;
}
.archive-item.research h3 {
  text-align: center;
}
/* news archive items are very diff */
.archive-item.news {
  width: 100% !important;
  margin-right: 0 !important;
  display: flex;
  justify-content: space-between;
  align-items: stretch;
  padding-top: 24px;
  padding-bottom: 24px;
  border-bottom: 24px;
  /* &:not(:last-of-type) {
    */
  border-bottom: solid 1px var(--light-grey);
  /*
 }
  */
}
.archive-item.news .img-box {
  flex-shrink: 0;
  width: 358px;
  position: relative;
}
.archive-item.news .img-placeholder,
.archive-item.news img {
  aspect-ratio: unset !important;
  height: 100% !important;
  width: 100%;
  /* position: absolute;
  top: 0;
  left: 0;
  right: 0;
  bottom: 0; */
  object-fit: contain;
  object-position: right center;
}
.archive-item.news .text {
  position: relative;
  padding-bottom: 20px;
  max-width: 560px;
  margin-right: 20px;
  flex-grow: 1;
}
.archive-item.news h3 {
  font-size: 1.5rem;
  line-height: 1.3;
  margin-bottom: 8px;
}
.archive-item.news time {
  color: var(--dark-blue);
  font-weight: 700;
  font-size: 0.9rem;
  display: block;
  line-height: 1;
  margin-bottom: 8px;
}
.archive-item.news .excerpt {
  color: var(--black);
  font-size: 1rem;
  margin-bottom: 1rem;
}


#search-results:not(.is-program) .archive-item.search-result {
  display: flex;
  flex-direction: row;
  align-items: stretch;
  justify-content: flex-start;
  width: 100%;
  padding-bottom: 17px;
  border-bottom: solid 1px var(--light-grey);
  margin-right: unset !important;
}
#search-results:not(.is-program) .archive-item.search-result:last-of-type {
  border-bottom: 0;
}
/* #search-results:not(.is-program) .archive-item.search-result .text {
  width: calc(97.5% - 100px);
} */
#search-results:not(.is-program) .archive-item.search-result img,
#search-results:not(.is-program) .archive-item.search-result .img-placeholder {
  display: none !important;
  width: 100px;
  height: auto;
  object-fit: cover;
  display: block;
  margin-bottom: 0 !important;
  margin-right: 2.5%;
}


@media (max-width: 1025px) {
  .archive-item.research {
    width: 48%;
    margin-right: 4%;
  }
  .archive-item.research:nth-child(2n) {
    margin-right: 0;
  }
}

/* media with max-width of 751px */
@media (max-width: 751px) {
  .archive-posts .archive-grid {
    display: block;
  }
  .archive-item.news {
    flex-direction: column-reverse;
    align-items: flex-start;
  }
  .archive-item.news .text {
    padding-bottom: 30px;
  }
  .archive-item.news .text,
  .archive-item.news .img-box {
    flex: 1;
    width: 100%;
    max-width: 100%;
    margin-right: 0;
  }

  .archive-item.news .img-placeholder,
  .archive-item.news img {
    position: relative;
    width: 100%;
    max-height: 200px;
    object-fit: cover;
  }

  .archive-item.news h3 {
    font-size: 1.25rem;
  }

  .archive-item.partner,
  .archive-item.person:not(.research):not(.partner) {
    width: 48% !important;
    margin-right: 4%;
    margin-bottom: 30px;
  }
  .archive-item.partner:nth-child(2n),
  .archive-item.person:nth-child(2n) {
    margin-right: 0 !important;
  }

  .archive-item.search-result h3 {
    font-size: 1rem;
  }
  .archive-item.search-result .title {
    line-height: 1;
    font-size: 0.8rem;
  }
}

/* media with max-width of 600px */
@media (max-width: 600px) {
  .archive-item.search-result {
    width: 48% !important;
    margin-right: 2% !important;
    margin-bottom: 30px;
  }
  .archive-grid:has(.archive-item.search-result) {
    column-gap: 4%;
  }
  .archive-item .text:has(.centered) {
    margin-inline: auto;
  }
  .archive-item.search-result:nth-child(2n) {
    margin-right: 0% !important;
  }
  .archive-item .img-placeholder, .archive-item img {
    margin-bottom: 8px;
  }
  .archive-item.news h3,
  .archive-item h3 {
    font-size: 1.1rem;
  }

  .archive-item.news .excerpt {
    font-size: 0.9rem;
  }

  .archive-item.research .img-placeholder,
  .archive-item.research img {
    margin-bottom: 8px;
  }
}

@media (max-width: 515px) {
  .archive-item.person:not(.research):not(.partner) {
    width: 100% !important;
    margin-right: 0 !important;
  }

  .archive-item.research {
    width: 100% !important;
    margin-right: 0 !important;
  }


}

/*
 *
 * PAGINATION
 *
 */
.pagination-area {
  width: 100%;
  margin-top: 20px;
  margin-bottom: 52px;
  display: flex;
  justify-content: space-between;
}
.pagination-area .page-numbers {
  display: inline-block;
  font-size: 0.9rem;
  font-weight: 700;
  color: var(--blue);
  text-decoration: none;
}
.pagination-area .page-numbers.next {
  margin-left: auto;
}
.pagination-area .page-numbers:not(.next):not(.prev) {
  display: none !important;
}


/*
 *
 * SITE FOOTER
 *
 */
footer {
  background-color: var(--dark-grey);
  color: var(--white);
  padding-top: 50px;
  padding-bottom: 80px;
  /* social */
}
footer .container-wide {
  display: flex;
  justify-content: space-between;
  align-items: flex-start;
}
footer a {
  color: var(--yellow);
  text-decoration: none;
}
footer .left {
  margin-right: auto;
}
footer .right {
  /* 41 + 34 */
  margin-top: 75px;
}
footer .pitt-cgm-lockup {
  display: flex;
  flex-wrap: wrap;
  justify-content: flex-start;
  align-items: center;
  margin-bottom: 34px;
}
footer .pitt-cgm-lockup .pitt-logo {
  height: 41px;
  width: auto;
  padding-right: 17.5px;
  margin-right: 17.5px;
  border-right: solid 1px var(--white);
}
footer .pitt-cgm-lockup img {
  max-width: 350px;
  width: 100%;
}
footer .pitt-cgm-lockup .cgm-logo {
  height: 21px;
  width: auto;
  margin-top: 4px;
}
footer .pitt-cgm-lockup svg {
  height: 100%;
  width: auto;
}
footer .address {
  font-family: var(--merriweather);
  font-size: 0.9rem;
  line-height: 1.6;
  margin-bottom: 12px;
}
footer .email {
  display: block;
  margin-bottom: 23px;
}
footer .social-media .social-circle {
  display: inline-flex;
  justify-content: center;
  align-items: center;
  width: 46px;
  height: 46px;
  margin-right: 16px;
  /* background-color: var(--grey);
  */
  overflow: hidden;
  border-radius: 50%;
}
footer .social-media .social-circle img {
  width: 100%;
  height: 100%;
  object-fit: cover;
}
footer #google_translate_element {
  margin-top: 15px;
  color: var(--white);
  background-color: var(--dark-grey);
}
footer #google_translate_element select,
footer #google_translate_element option {
  color: var(--white);
  background-color: var(--dark-grey);
  border: none;
  border-bottom: solid 1px var(--yellow);
}
footer #google_translate_element .goog-te-gadget,
footer #google_translate_element .goog-te-gadget * {
  color: var(--white) !important;
  /* background-color: var(--dark-grey) !important;
  */
}
footer .brought-to-you-by {
  display: block;
  display: flex;
  justify-content: flex-start;
  align-items: flex-start;
  margin-top: 30px;
  /* display: flex;
  */
}
footer .brought-to-you-by span {
  font-size: 1rem;
  line-height: 1;
  font-weight: 400;
  color: var(--yellow);
}
footer .brought-to-you-by img,
footer .brought-to-you-by svg {
  width: auto;
  display: inline-block;
}
footer .brought-to-you-by img path,
footer .brought-to-you-by svg path {
  fill: var(--light-blue);
}
footer .brought-to-you-by img {
  height: 16px;
}
footer .brought-to-you-by svg {
  height: 14px;
}
footer .brought-to-you-by span,
footer .brought-to-you-by img {
  margin-right: 8px;
}
@media (max-width: 951px) {
  footer {
    padding-bottom: 0;
  }
  footer .container-wide {
    flex-wrap: wrap;
  }
  footer .left,
  footer .right {
    margin-top: 0;
    margin-bottom: 10px;
    width: 100%;
    justify-content: center;
    padding-top: 0;
  }
}
/* 600px */
@media (max-width: 600px) {
  footer .pitt-cgm-lockup {
    flex-direction: column;
    align-items: flex-start;
    margin-bottom: 20px;
  }
  footer .pitt-cgm-lockup .pitt-logo {
    margin-right: 0;
    padding-right: 0;
    border-right: none;
    margin-bottom: 10px;
  }
  footer .pitt-cgm-lockup .cgm-logo {
    margin-top: 0;
    max-width: 100%;
  }
  footer .pitt-cgm-lockup .cgm-logo svg {
    max-width: 100%;
  }


  footer .email {
    margin-bottom: 30px;
  }
  footer .social-media .social-circle {
    margin-right: 10px;
  }
}




/*
 *
 * TRIBE EVENTS
 *
 * ABANDON HOPE ALL YE WHO ENTER HERE
 *
 * FUNNY JOKES END NOW
 *
 */



/* tribe events plugin overrides */
/* don't show a few things */
.tribe-events [class^="tribe-events-c-nav__prev-label-"],
.tribe-events [class^="tribe-events-c-nav__next-label-"],
.tribe-common--breakpoint-medium.tribe-events .tribe-events-calendar-day__event::before,
/* .tribe-events .tribe-common-c-svgicon--caret-left,
.tribe-events .tribe-common-c-svgicon--caret-right, */
.tribe-events .tribe-events-calendar-day__time-separator::after,
.tribe-events .tribe-events-calendar-list__month-separator::after {
  display: none !important;
}
.tribe-events .tribe-common-a11y-hidden .tribe-events-c-top-bar__nav-list-item {
  padding-right: unset !important;
}
/* all tribe fonts can start as rubik */
.tribe-events * {
  font-family: var(--rubik);
}
.tribe-events .tribe-common-l-container {
  padding: 0 !important;
  margin-left: auto !important;
  margin-right: auto !important;
  max-width: 1280px !important;
  width: 85% !important;
}
/* enforce that with times */
.tribe-events h1 time,
.tribe-events h2 time,
.tribe-events h3 time,
.tribe-events h4 time,
.tribe-events h5 time,
.tribe-events h6 time,
.tribe-events h1 time *,
.tribe-events h2 time *,
.tribe-events h3 time *,
.tribe-events h4 time *,
.tribe-events h5 time *,
.tribe-events h6 time *,
.tribe-events .tribe-events-calendar-day__event-datetime {
  font-family: var(--rubik) !important;
  color: var(--dark-blue) !important;
  font-size: 1.2rem !important;
  font-weight: 700 !important;
}
.tribe-events-content h2, .tribe-events-content h3, .tribe-events-content h4, .tribe-events-content h5, .tribe-events-content h6 {
  font-family: var(--merriweather) !important;
}

.tribe-events .tribe-events-calendar-month__day
.tribe-events-calendar-month__day-date-daynum:not(:has(a)) {
  color: #aeaeae !important;
}

.tribe-events .tribe-events-calendar-month__day.tribe-events-calendar-month__day--past .tribe-events-calendar-month__day-date-daynum,
.tribe-events .tribe-events-calendar-month__day.tribe-events-calendar-month__day--past .tribe-events-calendar-month__day-date-daynum a {
  color: #D9D9D9 !important;
}

.tribe-events .tribe-events-calendar-month__calendar-event-datetime {
  display: flex;
  justify-content: flex-start;
  align-items: baseline;
}
/* but basic headings are merriweather */
/* .tribe-events h1 *, */
.tribe-events h2 *,
.tribe-events h3 *,
.tribe-events h4 *,
.tribe-events h5 *,
.tribe-events h6 *,
.tribe-events h2,
.tribe-events h3,
.tribe-events h4,
.tribe-events h5,
.tribe-events h6 {
  /* .tribe-events h1, */
  font-family: var(--merriweather);
  font-weight: 400;
}
.tribe-events .tribe-common-anchor-thin,
.tribe-events .tribe-common-anchor-thin:active,
.tribe-events .tribe-common-anchor-thin:focus,
.tribe-events .tribe-common-anchor-thin:hover {
  border-bottom: unset !important;
}
.tribe-events .tribe-events-c-top-bar__datepicker-time,
.tribe-events .tribe-events-c-top-bar__datepicker-time * {
  /* merriweather */
  font-family: var(--merriweather);
}
.tribe-events-back,
.section-heading,
.tribe-events .section-heading {
  font-size: 1.3rem !important;
  font-family: var(--rubik);
  font-weight: 700;
  color: var(--dark-blue);
  position: relative;
}
.tribe-events-back.ruled::after,
.section-heading.ruled::after,
.tribe-events .section-heading.ruled::after {
  content: "";
  display: block;
  width: 100%;
  height: 1px;
  background-color: var(--grey);
  margin-top: 10px;
}
.tribe-events-back a,
.tribe-events a.section-heading,
a.section-heading,
.tribe-events-back a:visited,
.tribe-events a.section-heading:visited,
a.section-heading:visited {
  color: var(--blue) !important;
}
.tribe-events .section-heading {
  font-size: 1.1rem !important;
  font-weight: 700 !important;
  color: var(--dark-blue) !important;
}
h2.section-heading,
.tribe-events time.section-heading {
  font-size: 1.3rem !important;
}
.tribe-events h1.section-heading,
h1.section-heading {
  margin-top: var(--main-heading-padding-top);
  margin-bottom: var(--heading-margin-bottom);
  font-size: 0.9rem !important;
  line-height: 1.448;
  font-weight: 700;
  text-transform: uppercase;
}

h1.section-heading + .archive-blurb {
  margin-top: -20px;
  margin-bottom: 30px;
}
.section-heading {
  color: var(--dark-blue);
}
.section-headinga {
  color: var(--blue);
}
/* .tribe-events .section-heading:not(time) {
  margin-bottom: 20px;
}
*/
.tribe-events .section-heading:not(time):not(h1) {
  margin-top: var(--tec-spacer-2);
}
.tribe-common--breakpoint-medium.tribe-events
  .tribe-events-calendar-list__month-separator
  + .tribe-events-calendar-list__event-row {
  margin-top: 20px;
}
.tribe-events .event-time-override * {
  color: var(--dark-blue);
}
.tribe-events .blue-bold-override,
.tribe-events .event-time-override * {
  font-family: var(--rubik) !important;
  font-weight: 700;
}
.tribe-events .tribe-events-calendar-day__event,
.tribe-events .tribe-events-calendar-past__event,
.tribe-events .tribe-events-calendar-list__event {
  padding-left: 0 !important;
}
.tribe-events .tribe-events-calendar-day__event-details,
.tribe-events .tribe-events-calendar-past__event-details,
.tribe-events .tribe-events-calendar-list__event-details {
  position: relative;
  padding-bottom: 30px;
}

@media (max-width: 761px) {

  .tribe-events .tribe-events-calendar-list__event-row + h2,
  .tribe-events .tribe-events-calendar-list__event-row {
    padding-top: 30px;
    border-top: solid 1px var(--light-grey);
    margin-top: 40px;
  }
  .tribe-events h2 + .tribe-events-calendar-list__event-row {
    border-top: none !important;
    margin-top: var(--tec-spacer-4) !important;
    padding-top: 0 !important;
  }
  /* .tribe-events .tribe-events-calendar-list__event-row {
    margin-bottom: 5px;
  } */
  /* .tribe-events .tribe-events-calendar-list__event-row {
    margin-top: 0;
  } */
  .tribe-events .tribe-events-calendar-list__event-details {
    padding-bottom: 0;
  }
}

.blue-bold-override {
  font-size: 0.9rem;
  position: absolute;
  bottom: 5px;
  font-weight: 700 !important;
  left: var(--tec-grid-gutter-half);
  color: var(--blue) !important;
}

.tribe-common-g-col .blue-bold-override {
  position: relative;
  bottom: unset;
  left: unset;
  padding-top: 1rem;
}

.tribe-common--breakpoint-medium.tribe-events .tribe-events-c-search__input {
  padding-left: 46px;
}
.tribe-common--breakpoint-medium.tribe-events
  .tribe-events-calendar-latest-past__event {
  align-items: stretch;
}
.tribe-events .tribe-events-calendar-day__event-featured-image-link,
.tribe-events .tribe-events-calendar-list__event-featured-image-link,
.tribe-events .tribe-events-calendar-latest-past__event-featured-image-link {
  display: block;
  height: 100%;
  width: 100%;
}
.tribe-events .tribe-events-calendar-day__event-featured-image-link img,
.tribe-events .tribe-events-calendar-list__event-featured-image-link img,
.tribe-events
  .tribe-events-calendar-latest-past__event-featured-image-link
  img {
  display: block;
  height: 100%;
  width: 100%;
  object-fit: cover;
}
.tribe-events .tribe-common-b2 {
  font-weight: 700;
}
.tribe-events .tooltipster-content time {
  font-weight: 700;
  color: var(--dark-blue);
}
.tribe-events .tooltipster-content p {
  font-size: 0.85rem;
}
.tribe-events a:not(disabled) .tribe-events-c-nav__prev-label,
.tribe-events a:not(disabled) .tribe-events-c-nav__next-label {
  color: var(--blue);
}


@media (max-width: 721px) {
  h2.section-heading, .tribe-events time.section-heading { font-size: 1.1rem !important; }

  .single-tribe_events .tribe-events-back a { font-size: .75rem; }

  .tribe-common-l-container { margin-bottom: 70px !important; }
}


/* 2025.09.01 updates and debugging */
.tribe-common--breakpoint-medium.tribe-events .tribe-events-calendar-month__day {
  border-top-width: 1px;
  margin-bottom: -1px;
}

.single-tribe_events .tribe-events .tribe-events-c-subscribe-dropdown:has(.tribe-events-c-subscribe-dropdown__button-text[aria-expanded="true"]),
.tribe-block__events-link .tribe-events .tribe-events-c-subscribe-dropdown:has(.tribe-events-c-subscribe-dropdown__button-text[aria-expanded="true"]) {
  margin-bottom: 170px;
}