/**
 * _variables.scss
 */
/**
 * _variables.scss
 */
/**
 * _base.scss
 * Base element styles and CSS custom property theme system.
 */
:root {
  --psu-nittany-navy: #001E44;
  --psu-nittany-navy-rgb: 0, 30, 68;
  --psu-beaver-blue: #1E407C;
  --psu-beaver-blue-rgb: 30, 64, 124;
  --psu-pugh-blue: #96BEE6;
  --psu-pugh-blue-rgb: 150, 190, 230;
  --psu-pugh-blue-50: rgba(150, 190, 230, 0.5);
  --psu-pa-creek: #3EA39E;
  --psu-pa-creek-rgb: 62, 163, 158;
  --psu-dawn-of-discovery: #F2665E;
  --psu-invent-orange: #E98300;
  --psu-bright-keystone: #FFD100;
  --psu-futures-calling: #99CC00;
  --psu-light-link: #005FA9;
  --psu-light-link-rgb: 0, 95, 169;
  --psu-dark-link: #CCE9FF;
  --psu-dark-link-rgb: 204, 233, 255;
  --cc-color-gold: #F2C14E;
  --cc-color-gold-rgb: 242, 193, 78;
  --cc-color-evergreen: #09463A;
  --cc-color-evergreen-rgb: 9, 70, 58;
  --cc-color-parrot: #3B8173;
  --cc-color-parrot-rgb: 59, 129, 115;
  --cc-color-peach: #F6C7B8;
  --cc-color-peach-rgb: 246, 199, 184;
  --cc-color-terracotta: #C46A4A;
  --cc-color-terracotta-rgb: 196, 106, 74;
  --cc-color-terracotta-darker: #c15630;
  --cc-color-dark-gray: #353535;
  --cc-color-light-gray: #C0C0C0;
  --cc-color-lightest-gray: #EBEBEB;
  --cc-color-neutral-tan: #F6F2EA;
  --cc-band-pugh: #cbdff3;
  --cc-band-peach: rgba(246, 199, 184, 0.5);
  --cc-font-sans: "Roboto", var(--bs-body-font-family);
  --cc-font-condensed: "Roboto Condensed", "Roboto", var(--bs-body-font-family);
  --cc-font-slab: "Roboto Slab", "Roboto", var(--bs-body-font-family);
  --cc-font-family: var(--cc-font-sans);
  --cc-font-family-heading: var(--cc-font-slab);
  --cc-font-size-h1: 2.5rem;
  --cc-font-size-h2: 2rem;
  --cc-font-size-h3: 1.5rem;
  --cc-font-size-h4: 1.25rem;
  --cc-font-size-p1: 1.25rem;
  --cc-font-size-p2: 1rem;
  --cc-font-size-emphasis: 1.375rem;
  --cc-font-size-emphasis2: 1rem;
  --cc-font-size-footer-links: 1.25rem;
  --cc-font-size-footer-links-mobile: 0.75rem;
  --cc-font-size-h1-mobile: 1.75rem;
  --cc-font-size-h2-mobile: 1.375rem;
  --cc-font-size-h3-mobile: 1.125rem;
  --cc-font-size-h4-mobile: 1rem;
  --cc-font-size-p1-mobile: 0.875rem;
  --cc-font-size-p2-mobile: 0.75rem;
  --cc-font-size-emphasis-mobile: 1.125rem;
  --cc-font-size-emphasis2-mobile: 1rem;
  --cc-line-height-auto: 1.3;
  --cc-letter-spacing-h2: 0.02em;
  --cc-content-container-radius: 1rem;
  --cc-content-container-padding: 2rem;
  --cc-content-container-padding-small: 1.5rem;
}

:root,
[data-cc-theme="light"] {
  --cc-color-bg: #ffffff;
  --cc-color-bg-subtle: #f8f9fa;
  --cc-color-text: var(--psu-nittany-navy);
  --bs-body-color: var(--cc-color-text);
  --cc-color-text-rgb: var(--psu-nittany-navy-rgb);
  --cc-color-text-muted: var(--cc-color-dark-gray);
  --cc-color-link: var(--cc-color-text);
  --cc-color-link-hover: var(--cc-color-text);
  --bs-link-color: var(--cc-color-text);
  --bs-link-color-rgb: var(--cc-color-text-rgb);
  --bs-link-hover-color: var(--cc-color-text);
  --cc-color-border: #dee2e6;
  --cc-color-h1: var(--psu-beaver-blue);
  --cc-color-h2: var(--psu-beaver-blue);
  --cc-color-h3: var(--psu-beaver-blue);
  --cc-color-h4: var(--psu-beaver-blue);
  --cc-color-heading: var(--psu-nittany-navy);
  --cc-color-bg-default: #ffffff;
  --cc-color-bg-01: var(--cc-band-pugh);
  --cc-color-bg-02: var(--cc-band-peach);
  --cc-color-bg-03: var(--cc-color-neutral-tan);
  --cc-color-bg-04: var(--cc-color-bg-subtle);
  --cc-color-bg-05: var(--cc-color-neutral-tan);
  --cc-color-bg-02-border: var(--cc-color-peach);
  --cc-color-nav-link: var(--psu-beaver-blue);
  --cc-color-nav-link-hover: var(--psu-nittany-navy);
  --cc-color-nav-link-cta: var(--psu-beaver-blue);
  --cc-color-nav-link-cta-hover: var(--psu-nittany-navy);
  --cc-color-nav-link-cta-active: var(--psu-nittany-navy);
  --cc-hero-border-bottom: 1px solid var(--psu-pugh-blue-50);
  --cc-color-divider: var(--cc-color-lightest-gray);
}

[data-cc-theme="dark"],
.cc-section--dark,
.cc-section--primary {
  --cc-color-bg: #3a3a3a;
  --cc-color-bg-subtle: #2d2d2d;
  --cc-color-text: #ffffff;
  --cc-color-text-muted: rgba(255, 255, 255, 0.75);
  --cc-color-link: var(--cc-color-text);
  --cc-color-link-hover: var(--cc-color-text);
  --bs-link-color: var(--cc-color-text);
  --bs-link-hover-color: var(--cc-color-text);
  --cc-color-border: var(--psu-beaver-blue);
  --cc-color-h1: #ffffff;
  --cc-color-h2: #ffffff;
  --cc-color-h3: #ffffff;
  --cc-color-heading: #ffffff;
  --cc-color-bg-default: var(--psu-nittany-navy);
  --cc-color-bg-01: var(--psu-nittany-navy);
  --cc-color-bg-02: var(--cc-color-parrot);
  --cc-color-bg-03: #2d2d2d;
  --cc-color-bg-04: #3a3a3a;
}
[data-cc-theme="dark"] h1, [data-cc-theme="dark"] .h1,
.cc-section--dark h1,
.cc-section--dark .h1,
.cc-section--primary h1,
.cc-section--primary .h1 {
  color: var(--cc-color-h1);
}
[data-cc-theme="dark"] h2, [data-cc-theme="dark"] .h2,
.cc-section--dark h2,
.cc-section--dark .h2,
.cc-section--primary h2,
.cc-section--primary .h2 {
  color: var(--cc-color-h2);
}
[data-cc-theme="dark"] h3, [data-cc-theme="dark"] .h3,
.cc-section--dark h3,
.cc-section--dark .h3,
.cc-section--primary h3,
.cc-section--primary .h3 {
  color: var(--cc-color-h3);
}
[data-cc-theme="dark"] h4, [data-cc-theme="dark"] h5, [data-cc-theme="dark"] h6, [data-cc-theme="dark"] .h4, [data-cc-theme="dark"] .h5, [data-cc-theme="dark"] .h6,
.cc-section--dark h4,
.cc-section--dark h5,
.cc-section--dark h6,
.cc-section--dark .h4,
.cc-section--dark .h5,
.cc-section--dark .h6,
.cc-section--primary h4,
.cc-section--primary h5,
.cc-section--primary h6,
.cc-section--primary .h4,
.cc-section--primary .h5,
.cc-section--primary .h6 {
  color: var(--cc-color-heading);
}

[class*="cc-section--"]:not([data-cc-background]), [class*="cc-section--"][data-cc-background="default"],
.layout[data-cc-theme]:not([data-cc-background]),
.layout[data-cc-theme][data-cc-background="default"],
.block[data-cc-theme]:not([data-cc-background]),
.block[data-cc-theme][data-cc-background="default"],
[data-cc-theme][data-cc-background]:not([data-cc-background]),
[data-cc-theme][data-cc-background][data-cc-background="default"],
.footer[data-cc-theme]:not([data-cc-background]),
.footer[data-cc-theme][data-cc-background="default"],
.header-top-bar[data-cc-theme]:not([data-cc-background]),
.header-top-bar[data-cc-theme][data-cc-background="default"] {
  background-color: var(--cc-color-bg-default);
  color: var(--cc-color-text);
}
[class*="cc-section--"][data-cc-background="background-01"],
.layout[data-cc-theme][data-cc-background="background-01"],
.block[data-cc-theme][data-cc-background="background-01"],
[data-cc-theme][data-cc-background][data-cc-background="background-01"],
.footer[data-cc-theme][data-cc-background="background-01"],
.header-top-bar[data-cc-theme][data-cc-background="background-01"] {
  background-color: var(--cc-color-bg-01);
  color: var(--cc-color-text);
}
[class*="cc-section--"][data-cc-background="background-02"],
.layout[data-cc-theme][data-cc-background="background-02"],
.block[data-cc-theme][data-cc-background="background-02"],
[data-cc-theme][data-cc-background][data-cc-background="background-02"],
.footer[data-cc-theme][data-cc-background="background-02"],
.header-top-bar[data-cc-theme][data-cc-background="background-02"] {
  background-color: var(--cc-color-bg-02);
  color: var(--cc-color-text);
  --cc-color-border: var(--cc-color-bg-02-border);
}
[class*="cc-section--"][data-cc-background="background-03"],
.layout[data-cc-theme][data-cc-background="background-03"],
.block[data-cc-theme][data-cc-background="background-03"],
[data-cc-theme][data-cc-background][data-cc-background="background-03"],
.footer[data-cc-theme][data-cc-background="background-03"],
.header-top-bar[data-cc-theme][data-cc-background="background-03"] {
  background-color: var(--cc-color-bg-03);
  color: var(--cc-color-text);
}
[class*="cc-section--"][data-cc-background="background-04"],
.layout[data-cc-theme][data-cc-background="background-04"],
.block[data-cc-theme][data-cc-background="background-04"],
[data-cc-theme][data-cc-background][data-cc-background="background-04"],
.footer[data-cc-theme][data-cc-background="background-04"],
.header-top-bar[data-cc-theme][data-cc-background="background-04"] {
  background-color: var(--cc-color-bg-04);
  color: var(--cc-color-text);
}
[class*="cc-section--"].-border,
.layout[data-cc-theme].-border,
.block[data-cc-theme].-border,
[data-cc-theme][data-cc-background].-border,
.footer[data-cc-theme].-border,
.header-top-bar[data-cc-theme].-border {
  border: 2px solid var(--cc-color-border);
}
[class*="cc-section--"].-border-top,
.layout[data-cc-theme].-border-top,
.block[data-cc-theme].-border-top,
[data-cc-theme][data-cc-background].-border-top,
.footer[data-cc-theme].-border-top,
.header-top-bar[data-cc-theme].-border-top {
  border-top: 1px solid var(--cc-color-border);
}
[class*="cc-section--"].-border-bottom,
.layout[data-cc-theme].-border-bottom,
.block[data-cc-theme].-border-bottom,
[data-cc-theme][data-cc-background].-border-bottom,
.footer[data-cc-theme].-border-bottom,
.header-top-bar[data-cc-theme].-border-bottom {
  border-bottom: 1px solid var(--cc-color-border);
}

html {
  font-size: 16px;
}

body {
  font-family: var(--cc-font-sans);
  font-size: var(--cc-font-size-p1);
  line-height: var(--cc-line-height-auto);
}

h1, .h1 {
  font-family: var(--cc-font-slab);
  font-weight: 400;
  font-size: var(--cc-font-size-h1);
  line-height: var(--cc-line-height-auto);
  margin-bottom: 1rem;
}
@media (max-width: 768px) {
  h1, .h1 {
    font-size: var(--cc-font-size-h1-mobile);
  }
}

h2, .h2 {
  font-family: var(--cc-font-slab);
  font-weight: 600;
  font-size: var(--cc-font-size-h2);
  line-height: var(--cc-line-height-auto);
  margin-bottom: 1rem;
  letter-spacing: var(--cc-letter-spacing-h2);
}

h3, .h3 {
  font-family: var(--cc-font-slab);
  font-weight: 500;
  font-size: var(--cc-font-size-h3);
  line-height: var(--cc-line-height-auto);
  margin-bottom: 1rem;
}

h4, .h4 {
  font-family: var(--cc-font-slab);
  font-weight: 500;
  font-size: var(--cc-font-size-h4);
  line-height: var(--cc-line-height-auto);
  margin-bottom: 0.5rem;
  margin-top: 1.5rem;
}

h5, h6, .h5, .h6 {
  font-family: var(--cc-font-slab);
  font-weight: 700;
  font-size: var(--cc-font-size-h4);
  line-height: var(--cc-line-height-auto);
  margin-bottom: 1rem;
}

p {
  font-size: var(--cc-font-size-p1);
  line-height: var(--cc-line-height-auto);
}

.cc-p1 {
  font-size: var(--cc-font-size-p1);
  line-height: var(--cc-line-height-auto);
}

.cc-p2 {
  font-size: var(--cc-font-size-p2);
  line-height: var(--cc-line-height-auto);
}

.cc-emphasis {
  font-size: var(--cc-font-size-emphasis);
  line-height: var(--cc-line-height-auto);
}

.cc-emphasis2 {
  font-size: var(--cc-font-size-emphasis2);
  line-height: var(--cc-line-height-auto);
}

@media (max-width: 576px) {
  :root {
    --cc-font-size-h1: var(--cc-font-size-h1-mobile);
    --cc-font-size-h2: var(--cc-font-size-h2-mobile);
    --cc-font-size-h3: var(--cc-font-size-h3-mobile);
    --cc-font-size-h4: var(--cc-font-size-h4-mobile);
    --cc-font-size-emphasis: var(--cc-font-size-emphasis-mobile);
    --cc-font-size-p1: var(--cc-font-size-p1-mobile);
    --cc-font-size-p2: var(--cc-font-size-p2-mobile);
    --cc-font-size-emphasis: var(--cc-font-size-emphasis-mobile);
    --cc-font-size-emphasis2: var(--cc-font-size-emphasis2-mobile);
    --cc-font-size-footer-links: var(--cc-font-size-footer-links-mobile);
  }
}
:root h1, :root .h1,
[data-cc-theme="light"] h1,
[data-cc-theme="light"] .h1 {
  color: var(--cc-color-h1);
}
:root h2, :root .h2,
[data-cc-theme="light"] h2,
[data-cc-theme="light"] .h2 {
  color: var(--cc-color-h2);
}
:root h3, :root .h3,
[data-cc-theme="light"] h3,
[data-cc-theme="light"] .h3 {
  color: var(--cc-color-h3);
}
:root h4, :root .h4,
[data-cc-theme="light"] h4,
[data-cc-theme="light"] .h4 {
  color: var(--cc-color-h4);
}
:root h5, :root h6, :root .h4, :root .h5, :root .h6,
[data-cc-theme="light"] h5,
[data-cc-theme="light"] h6,
[data-cc-theme="light"] .h4,
[data-cc-theme="light"] .h5,
[data-cc-theme="light"] .h6 {
  color: var(--cc-color-heading);
}

img {
  max-width: 100%;
  height: auto;
}

ul, ol {
  line-height: 1.5;
}
ul li, ol li {
  margin-bottom: 0.5rem;
}
ul li:last-child, ol li:last-child {
  margin-bottom: 0;
}

.main-container a:not(.btn):not(.button),
.layout[data-cc-theme] a:not(.btn):not(.button),
.cc-block[data-cc-theme] a:not(.btn):not(.button),
.header-top-bar[data-cc-theme] a:not(.btn):not(.button),
.cc-footer[data-cc-theme] a:not(.btn):not(.button),
[class*="cc-section--"] a:not(.btn):not(.button) {
  color: var(--cc-color-text);
  font-weight: 700;
  text-decoration: underline;
  text-underline-offset: 0.15em;
}
.main-container a:not(.btn):not(.button):hover, .main-container a:not(.btn):not(.button):focus-visible,
.layout[data-cc-theme] a:not(.btn):not(.button):hover,
.layout[data-cc-theme] a:not(.btn):not(.button):focus-visible,
.cc-block[data-cc-theme] a:not(.btn):not(.button):hover,
.cc-block[data-cc-theme] a:not(.btn):not(.button):focus-visible,
.header-top-bar[data-cc-theme] a:not(.btn):not(.button):hover,
.header-top-bar[data-cc-theme] a:not(.btn):not(.button):focus-visible,
.cc-footer[data-cc-theme] a:not(.btn):not(.button):hover,
.cc-footer[data-cc-theme] a:not(.btn):not(.button):focus-visible,
[class*="cc-section--"] a:not(.btn):not(.button):hover,
[class*="cc-section--"] a:not(.btn):not(.button):focus-visible {
  color: var(--cc-color-text);
  text-decoration: underline;
}
.main-container a:not(.btn):not(.button):hover,
.layout[data-cc-theme] a:not(.btn):not(.button):hover,
.cc-block[data-cc-theme] a:not(.btn):not(.button):hover,
.header-top-bar[data-cc-theme] a:not(.btn):not(.button):hover,
.cc-footer[data-cc-theme] a:not(.btn):not(.button):hover,
[class*="cc-section--"] a:not(.btn):not(.button):hover {
  text-decoration: none;
}
.main-container a:not(.btn):not(.button):focus-visible,
.layout[data-cc-theme] a:not(.btn):not(.button):focus-visible,
.cc-block[data-cc-theme] a:not(.btn):not(.button):focus-visible,
.header-top-bar[data-cc-theme] a:not(.btn):not(.button):focus-visible,
.cc-footer[data-cc-theme] a:not(.btn):not(.button):focus-visible,
[class*="cc-section--"] a:not(.btn):not(.button):focus-visible {
  outline: 2px solid var(--cc-color-text);
  box-shadow: none;
  outline-offset: 2px;
}

.cc-hero-wrap {
  border-bottom: var(--cc-hero-border-bottom);
  width: 100vw;
  margin-left: calc(50% - 50vw);
  margin-right: calc(50% - 50vw);
}

body:has(.cc-hero-no-border) .cc-hero-wrap {
  border-bottom: none;
}

.cc-hero {
  padding-block: 4.5rem;
}
@media (max-width: 768px) {
  .cc-hero {
    padding-block: 2.5rem;
  }
}
.cc-hero--split {
  align-items: center;
}
.cc-hero__text, .cc-hero__media {
  min-width: 0;
}
.cc-hero__heading {
  font-family: var(--cc-font-slab);
  font-weight: 400;
  font-size: var(--cc-font-size-h1);
  line-height: var(--cc-line-height-auto);
  color: var(--cc-color-h1, var(--cc-color-heading, #353535));
  margin: 0 0 1.5rem;
}
.cc-hero__heading:last-child {
  margin-bottom: 0;
}
.cc-hero__subheading {
  font-family: var(--cc-font-family-heading);
  font-weight: 400;
  font-size: var(--cc-font-size-emphasis);
  line-height: var(--cc-line-height-auto);
  color: var(--cc-color-terracotta-darker);
  margin: 0;
}
.path-frontpage .cc-hero__subheading {
  font-size: var(--cc-font-size-h2);
}
.cc-hero__media img {
  display: block;
  width: 100%;
  height: auto;
  border-radius: 12px;
}

.cc-hero:not(.cc-hero--split) {
  box-sizing: border-box;
  width: 100%;
  max-width: 1040px;
  margin-left: auto;
  margin-right: auto;
  padding-inline: 1.5rem;
  display: grid;
  grid-template-columns: repeat(12, minmax(0, 1fr));
  column-gap: 1.5rem;
  row-gap: 1rem;
  width: 100%;
  justify-items: center;
  text-align: center;
}
@media (min-width: 1200px) {
  .cc-hero:not(.cc-hero--split) {
    padding-inline: 0;
  }
}
.cc-hero:not(.cc-hero--split) > * {
  grid-column: span 10;
}

.cc-section--dark .cc-hero:not(.cc-hero--split) .cc-hero__heading,
.cc-section--dark .cc-hero:not(.cc-hero--split) .cc-hero__subheading {
  color: #fff;
}

.cc-hero__text.cc-col-8--center {
  text-align: center;
}

.cc-hero__subheading + .cc-hero__additional-intro-content {
  margin-top: 1.5rem;
}

.cc-hero-wrap + .block-system-main-block {
  padding-top: 2.5rem;
}

.cc-hero__additional-intro-content .field--name-field-additional-intro-content p:last-child, .cc-hero__additional-intro-content .field--name-field-additional-intro-content ul:last-child, .cc-hero__additional-intro-content .field--name-field-additional-intro-content ol:last-child {
  margin-bottom: 0;
}

.page-node-type-resource .cc-hero .cc-hero__text.cc-col-8--center,
.cc-resource-modal .cc-hero .cc-hero__text.cc-col-8--center {
  grid-column-start: 1;
  text-align: left;
}
