  /* Resets */
*, *::before, *::after { -moz-font-smoothing: antialiased; -webkit-font-smoothing: antialiased; -webkit-font-smoothing: subpixel-antialiased; box-sizing: border-box; -moz-box-sizing: border-box;-webkit-box-sizing: border-box; }
html { -ms-text-size-adjust: 100%; -webkit-text-size-adjust: 100%; width:100%; overflow-x: hidden; font-size: 16px; scroll-behavior: smooth; }
body { height: 100%; width: 100%; overflow-x: hidden; }
img, picture, video, canvas, svg, iframe { display: block; max-width: 100%; height: auto; }
input, button, textarea, select { font-family: inherit; font-size: inherit; line-height: 1.33; margin: 0; }
html, body, div, span, applet, object, iframe, h1, h2, h3, h4, h5, h6, p, blockquote, pre, a, abbr, acronym, address, big, cite, code, del, dfn, em, ins, kbd, q, s, samp, small, strike, sub, sup, tt, var, b, u, i, center, dl, dt, dd, ol, ul, li, fieldset, form, label, legend, caption, article, aside, canvas, details, embed, figure, figcaption, footer, .header, hgroup, menu, nav, output, ruby, section, summary, time, mark, audio, video { margin: 0; padding: 0; border: 0; font-size: 100%; font-family: inherit; vertical-align: baseline; }
p, h1, h2, h3, h4, h5, h6 { overflow-wrap: break-word; }
h1, .h1, h2, h3, h4, h5, h6 { width: 100%; display: block; }
article, aside, details, figcaption, figure, footer, .header, hgroup, menu, nav, section { display: block; }
sup { vertical-align: super; font-size:.875em;}
/* HTML5 display-role reset for older browsers */
article, aside, details, figcaption, figure, footer, .header, hgroup, menu, nav, section { display: block; }
blockquote, q { quotes: none; }
blockquote:before, blockquote:after, q:before, q:after { content: ''; }

/* Variables */
:root {
/*  NOTE: when adding brand colors here, be sure to also update the color overlay RGB values below*/
  --red: #C20F2F; /*lighter brand color that has at lease 4.5:1 contrast with black text */
  --salmon: #F15A4F; /*lighter brand color that has at lease 4.5:1 contrast with black text*/
  --lightBlue: #69C3E8; /*lighter brand color that has at lease 4.5:1 contrast with black text */
  --mediumBlue: #0971CE; /*darker brand color that has at lease 4.5:1 contrast with white text */
  --darkBlue: #002857; /*darker brand color that has at lease 4.5:1 contrast with white text */
  --transparentBlue: rgba(105,195,232,.1);
  --black: #000000;
  --white: #ffffff;
  --gray: #EFEFEF;
  --bodyFont: "work-sans", sans-serif;
  --headingFont: "quincy-cf", serif;
  --transition: all .3s ease-out;
}

/*Style Helpers, Global Elements*/
.bg-img { background-position: center; background-repeat: no-repeat; background-size: cover; }
.sr-only, .visuallyhidden { position: absolute; width: 1px; height: 1px; padding: 0; margin: -1px; overflow: hidden; clip: rect(0, 0, 0, 0); white-space: nowrap; border-width: 0; }
.mobileOnly { display: none !important; }
.tabletOnly { display: none !important; }
.desktopOnly { display: block !important; }
.hidden { display: none; }
.loadingContent { visibility: hidden; }
i, em {font-style: italic;}
b, strong { font-weight: 700; }
table th, table td { padding: 5px 10px;  vertical-align: baseline; }

@media all and (max-width: 960px) {
  .tabletOnly { display: block!important; }
  .desktopOnly { display: none!important; }
}
@media all and (max-width:580px) {
  .mobileOnly { display: block !important; }
}

/*Screen Reader Links*/
.screenreader { position: fixed; top: 0; z-index: 99999; }
.screenreader a { position: absolute; width: 260px; padding: 10px; left: -100000px; background-color: var(--darkBlue); color: var(--white); font-weight: bold; text-decoration: none; line-height: 1.4; text-align: center; border:none; outline: 3px solid var(--lightBlue); box-shadow: 0px 3px 6px rgba(0,0,0,.16); }
.screenreader a:hover { text-decoration: underline; }
.screenreader a:focus { left: 0; top: 0; }
.screenreader a:focus-visible { outline-offset: 0; }

/*Background Colors and Gradients*/
.redBG { background-color: var(--red); color: var(--white); }
.lightBlueBG { background-color: var(--lightBlue); }
.mediumBlueBG { background-color: var(--mediumBlue); color: var(--white); }
.darkBlueBG { background-color: var(--darkBlue); color: var(--white); }
.transparentBlueBG { background-color: var(--transparentBlue); }
.blackGradientBG { background: transparent linear-gradient(180deg, rgba(0, 0, 0, 0) 0%, rgba(0, 0, 0, .85) 100%) 0% 0% no-repeat; color: var(--white); }
.redSalmonGradient { background: linear-gradient(115deg, rgba(194, 15, 47, .95) 0%, rgba(241, 90, 79, 0.8) 100%); }
.blueGrayGradient { background: linear-gradient(135deg, #002857 0%, #092444CF 100%); }
.lightGrayBG { background: #f3f3f3; }

/*Animations*/
@keyframes appearUp {
  0% { opacity: 0; height: 0; }
  20% { height: auto; opacity: 0; }
  100% { opacity: 1; height: auto; }
}

/* Fonts */
body { font-family: var(--bodyFont); font-style: normal; color: var(--black); font-size: 1.125rem; line-height: 1.5; }
h1, .h1, h2, .h2, h3, h4, h5, h6 { font-family: var(--headingFont); font-weight: 800; color: var(--darkBlue); line-height: 1.1; }
h1, .h1 { font-size: 3.75rem; line-height: 1; }
h2, .h2 { font-size: 2.813rem; }
h3 { font-size: 1.5rem; }
h4 { font-size: 1.25rem; }
h5 { font-size: 1.125rem; }
h6 { font-size: 1rem; }
.largeHeading { font-size: 4.7vw; line-height: 1; }
.triangleTextArea h1 { color: var(--white); }
.darkBlueBG h1, .darkBlueBG h2, .darkBlueBG .h2 { color: var(--salmon); text-shadow: 0 3px 6px rgba(0,0,0,.2); }
.darkBlueBG h3, .darkBlueBG h4, .darkBlueBG h5, .darkBlueBG h6 { color: var(--white); text-shadow: 0 3px 6px rgba(0,0,0,.16); }
.redBG h2, .redBG h3, .redBG h4, .redBG h5, .redBG h6 { color: var(--white); }
.mediumBlueBG h2, .mediumBlueBG .h2, .mediumBlueBG h3, .mediumBlueBG h4, .mediumBlueBG h5, .mediumBlueBG h6 { color: var(--white); }
.blackGradientBG h2, .blackGradientBG .h2, .blackGradientBG h3, .blackGradientBG h4, .blackGradientBG h5, .blackGradientBG h6 { color: var(--white); text-shadow: 0 3px 6px rgba(0,0,0,.16); }
p, ul, ol { font-size: inherit; font-weight: 400; color: inherit; }
section li { margin-bottom: 6px; }
section ul li { padding-left: 8px; }
section li::marker { color: var(--red); }
.redBG li::marker, .blackGradientBG li::marker, .mediumBlueBG li::marker { color: var(--white); }
.lightBlueBG li::marker { color: var(--darkBlue); }
.darkBlueBG li::marker { color: var(--salmon); }
section ul li::marker { content: url(/_files/images/right-arrow-red.svg); }
section .redBG ul li::marker, section.redBG ul li::marker, section .blackGradientBG ul li::marker, section.blackGradientBG ul li::marker, section .mediumBlueBG ul li::marker, section.mediumBlueBG ul li::marker { content: url(/_files/images/right-arrow-white.svg); }
section .darkBlueBG ul li::marker, section.darkBlueBG ul li::marker { content: url(/_files/images/right-arrow-salmon.svg); }
section .lightBlueBG ul li::marker, section.lightBlueBG ul li::marker { content: url(/_files/images/right-arrow-dark-blue.svg); }
.preheading, .subheading { font-size: 1.5rem; font-weight: 600; color: var(--red); margin-bottom: 6px; }
.landingMain .preheading, .interiorMain .preheading { font-size: 1.125rem; font-weight: 500; }
.lightBlueBG .preheading, .lightBlueBG .subheading { color: var(--darkBlue); }
.redBG .preheading, .darkBlueBG .preheading, .mediumBlueBG .preheading, .blackGradientBG .preheading, .redBG .subheading, .darkBlueBG .subheading, .mediumBlueBG .subheading, .blackGradientBG .subheading { color: var(--white); }
.callout { font-weight: 500; margin-top: 0; }
.mediumBluetext { color: var(--mediumBlue); }
.darkBluetext { color: var(--darkBlue); }
.quincyExtraBold { font-family: var(--headingFont); font-weight: 800; }
.workSansLight, .lightweight { font-family: var(--bodyFont); font-weight: 300; }
.workSansRegular { font-family: var(--bodyFont); font-weight: 400; }
.workSansMedium { font-family: var(--bodyFont); font-weight: 500; }
.workSansSemibold { font-family: var(--bodyFont); font-weight: 600; }

@media all and (max-width: 960px) {
  h1, .h1 { font-size: 2.5rem; }
  h2, .h2 { font-size: 2.5rem; }
  h3 { font-size: 1.375rem; }
  .largeHeading { font-size: 3.125rem; }
}
@media all and (min-width: 1920px) {
  .largeHeading { font-size: 5.625rem; }
}

/* Links and Buttons */
a, button, input.button { font-size: inherit; color: inherit; transition: var(--transition); font-weight: 600; }
section p a, section ul a, section ol a { color: var(--mediumBlue); }
section.redBG p a, section.redBG ul a, section.redBG ol a, section .redBG p a, section .redBG ul a, section .redBG ol a, section.mediumBlueBG p a, section.mediumBlueBG ul a, section.mediumBlueBG ol a, section .mediumBlueBG p a, section .mediumBlueBG ul a, section .mediumBlueBG ol a { color: var(--white); }
section.lightBlueBG p a, section.lightBlueBG ul a, section.lightBlueBG ol a, section .lightBlueBG p a, section .lightBlueBG ul a, section .lightBlueBG ol a { color: var(--darkBlue); }
section.darkBlueBG p a, section.darkBlueBG ul a, section.darkBlueBG ol a, section .darkBlueBG p a, section .darkBlueBG ul a, section .darkBlueBG ol a { color: var(--lightBlue); }
.wysiwyg p a:hover, .wysiwyg p a:focus, .wysiwyg ul a:hover, .wysiwyg ul a:focus, .wysiwyg ol a:hover, .wysiwyg ol a:focus { opacity: .85; text-decoration-thickness: 2px; }
.redBG a, .redBG a:hover, .redBG a:focus, .mediumBlueBG a, .mediumBlueBG a:hover, .mediumBlueBG a:focus, .blackGradientBG a, .blackGradientBG a:hover, .blackGradientBG a:focus, a.white-link:hover, a.white-link:focus,  .white-link:hover, .white-link:focus { color: var(--white); }
a.button { text-decoration: none; display: inline-block; }
button, a.button { cursor: pointer; border-radius: 0; box-shadow: none; background-color: transparent; transition: var(--transition); max-width: 100%; line-height: 1; }
.button { width: 230px; font-weight: 600; padding: 15px 30px; text-align: center; border-width: 2px; border-style: solid; border-color: inherit; border-color: var(--salmon); }
.button:hover, .button:focus, .button.selected { font-weight: 600; background-color: var(--salmon); }
/*Button colors*/
.lightBlueBG .button { border-color: var(--darkBlue); color: var(--darkBlue); }
.lightBlueBG .button:hover, .lightBlueBG .button:focus { border-color: var(--white); background-color: var(--white); color: var(--red); }
.redBG .button { border-color: var(--white); }
.redBG .button:hover, .redBG .button:focus { background-color: #F3F3F3; border-color: #F3F3F3; color: var(--red); }
.blackGradientBG .button { border-color: var(--white); color: var(--white); }
.blackGradientBG .button:hover, .blackGradientBG .button:focus { border-color: var(--white); background-color: var(--white); color: var(--red); }
.mediumBlueBG .button, .blackGradientBG .button { border-color: var(--white); color: var(--white); }
.mediumBlueBG .button:hover, .mediumBlueBG .button:focus { background-color: var(--white); color: var(--red); }
.redBG .whiteFillButton { background-color: var(--white); }
.redBG .whiteFillButton, .redBG .whiteFillButton:hover, .redBG .whiteFillButton:focus { color: var(--red); }
.redBG .whiteFillButton:hover, .redBG .whiteFillButton:focus { border-color: #F3F3F3; background-color: #F3F3F3; }

/*Styled Links*/
a.link, .link { font-weight: 400; display: block; font-size: 1.125rem; text-decoration: none; cursor: pointer; color: var(--darkBlue); line-height: 1.25; width: fit-content; }
a.link::after, .link::after { content: url(/_files/images/right-arrow-red.svg); transition: var(--transition); display: inline-block; margin-left: 13px; position: relative; top: 1px; }
a.link:hover::after, a.link:focus::after, .link:hover::after, .link:focus::after { transform: translateX(5px); }
.redBG .link, .darkBlueBG .link, .blackGradientBG .link, .redBG a.link, .darkBlueBG a.link, .blackGradientBG a.link, .mediumBlueBG a.link, a.white-link, .white-link { color: var(--white); }
.redBG .link::after, .blackGradientBG .link::after, .mediumBlueBG .link::after, .redBG a.link::after, .blackGradientBG a.link::after, .mediumBlueBG a.link::after, .white-link::after, a.white-link::after  { content: url(/_files/images/right-arrow-white.svg); }
.darkBlueBG .link::after, .darkBlueBG a.link::after { content: url(/_files/images/right-arrow-salmon.svg); }
.lightBlueBG .link::after, .lightBlueBG a.link::after { content: url(/_files/images/right-arrow-dark-blue.svg); }

/*Content Spacing*/
h2, h3, h4, h5, h6 { margin-bottom: 10px; }
section h2 + p, section .h2 + p { margin-top: 30px; }
section h3 + p, section h4 + p, section h5 + p, section h6 + p { margin-top: 18px; }
.wysiwyg p + h2, .wysiwyg p + h3, .wysiwyg p + h4, .wysiwyg p + h5, .wysiwyg p + h6,
.wysiwyg ul + h2, .wysiwyg ul + h3, .wysiwyg ul + h4, .wysiwyg ul + h5, .wysiwyg ul + h6,
.wysiwyg ol + h2, .wysiwyg ol + h3, .wysiwyg ol + h4, .wysiwyg ol + h5, .wysiwyg ol + h6, 
.wysiwyg .link + h2, .wysiwyg .link + h3, .wysiwyg .link + h4, .wysiwyg .link + h5, .wysiwyg .link + h6,
.wysiwyg .button + h2, .wysiwyg .button + h3, .wysiwyg .button + h4, .wysiwyg .button + h5, .wysiwyg .button + h6 { margin-top: 40px; }
.preheading + h2, .preheading + h3, .preheading + h4, .preheading + h5, .preheading + h6, p.preheading + h2, p.preheading + h3, p.preheading + h4, p.preheading + h5, p.preheading + h6 { margin-top: 0; }
h2 + p.subheading, .h2 + p.subheading, h3 + p.subheading, h4 + p.subheading, h5 + p.subheading, h6 + p.subheading { margin-top: 0px; }
p, ul, ol { margin-bottom: 18px; }
.link, .button { margin-top: 25px; }
p + .link { margin-top: 12px; }
p + .button { margin-top: 32px; }
p + ul, p + ol { margin-top: 7px; }
ul { padding-left: .5rem; }
ol { padding-left: 1.25rem; }
.wysiwyg ul, .wysiwyg ol { margin-left: 1rem; line-height: 1.4; }
.wysiwyg li { margin-bottom: 14px; }
.wysiwyg .link + p, .wysiwyg .link + ol, .wysiwyg .link + ul, .wysiwyg .link + img { margin-top: 30px; }
.wysiwyg h2 + img, .wysiwyg h3 + img, .wysiwyg h4 + img, .wysiwyg h5 + img, .wysiwyg h6 + img { margin-top: 20px; }

@media all and (max-width:960px) {
    .wysiwyg .button { display: block; margin-left: auto; margin-right: auto; }
}
@media all and (min-width:961px) {
    .wysiwyg .button + .button { margin-left: 10px; }
}

/* WYSIWYG Image Positioning */
.wysiwyg img { margin-bottom: 30px; }
.wysiwyg p + img { margin-top: 30px; }
.center { text-align: center; }
.align-left, img[align*="left"], img[style="text-align: left"] { float: left; margin: 0 20px 20px 0; }
p > .align-left, span > .align-left { margin: 20px 20px 20px 0; }
.align-right, img[align*="right"], img[style="text-align: right"] { float: right; margin: 0 0 20px 20px; }
p > .align-right, span > .align-right { margin: 20px 0 20px 20px; }
img[align*="center"], img[style="text-align: center"] { text-align: center; margin: 0 20px 20px 20px; }
.alignCenter { text-align: center; display: block; }

@media all and (max-width:580px) {
  .align-left, img[align*="left"], img[style="text-align: left"], .align-right, img[align*="right"], img[style="text-align: right"], .align-center, img[align*="center"], img[style="text-align: center"] { float: none; clear: both; display: block; margin-left: 0; margin-right: 0; }
}

/* Layout */
.wrapper { max-width: 1700px; width: 100%; margin: 0 auto; }
.homeMain, .landingMain, .interiorMain { max-width: 100%; }
.components { padding: 30px 0; }
.components .wrapper { padding-left: 30px; padding-right: 30px; }
@media all and (max-width: 960px) {
  .components .wrapper { padding-left: 23px; padding-right: 23px; }
}

/* Alert Banner */
.alertBanner { padding: 16px 30px; }
.alertText { display: flex; }
.alertText ion-icon { flex-shrink: 0; }
.alertBanner p { display: inline-block; margin-bottom: 0; }
#closeAlert { border: none; line-height: 1; padding: 0; text-decoration: underline; font-size: 1rem; display: flex; align-items: center; flex-shrink: 0; }
#closeAlert ion-icon { margin-right: 10px; font-size: inherit; }
@media all and (max-width:960px){
  .alertText { gap: 13px; }
  .alertBanner .alertText ion-icon { font-size: 28px; }
  .alertBanner p { font-size: 14px; }
  .alertBanner p strong { font-size: 16px; display: block; }
  #closeAlert { margin-left: 38px; margin-top: 10px; }
}
@media all and (min-width:961px){
  .alertBanner .wrapper { display: flex; align-items: center; justify-content: space-between; }
  .alertText { align-items: center; gap: 20px; }
  .alertBanner .alertText ion-icon { font-size: 42px; }
  #closeAlert { margin-right: 20px; margin-left: 20px; }
}

/* Header */
.header { position: absolute; width: 100%; z-index: 999; transition: var(--transition); }
.stickyHeader { position: fixed; top: 0; }
.headerLogo { margin-right: 30px; }
.header ul { list-style: none; margin-left: 0; padding-left: 0; margin-bottom: 0; }
#headerBar .wrapper { display: flex; justify-content: space-between; align-items: center; }

/*Navigation Dropdown Links*/
.solidHeader .desktopNavList, .interiorPage .desktopNavList { color: var(--black); }
.desktopNavList { flex-grow: 1; display:  flex; justify-content: flex-end; align-items: center; }
.desktopNavList > li { margin-right: 12px; background-color: transparent; transition: var(--transition); border-radius: 8px; }
.desktopNavList li.has-submenu { border-radius: 8px 8px 0 0; }
.desktopNavList > li:hover, .desktopNavList > li:focus { background-color: rgba(0,0,0,.8); }
.solidHeader .desktopNavList > li:hover, .solidHeader .desktopNavList > li:focus, .interiorPage .desktopNavList > li:hover, .interiorPage .desktopNavList > li:focus { background-color: transparent; }
.desktopNavList #infoMenu { margin-left: 54px; }
.desktopNavList #infoMenu::before { content: ''; display: block; height: 20px; width: 2px; background-color: var(--white); position: absolute; left: -32px; }
.solidHeader .desktopNavList #infoMenu::before, .interiorPage .desktopNavList #infoMenu::before { background-color: rgba(0,0,0,.5); }
.solidHeader #portalLink, .interiorPage #portalLink { color: var(--darkBlue); }
.solidHeader .redDSU, .interiorPage .redDSU { color: var(--red); }
li.has-submenu > button { position: relative; right: 6px; }
.navLink { display: block; padding: 10px 18px; font-size: 1.25rem; font-weight: 500; text-decoration: none; }
.has-submenu .navLink { padding: 10px 8px 10px 18px; }
.has-submenu .submenu { display: none; width: 278px; padding: 10px 0; position: absolute; left: 0; top: 50px; transition: var(--transition); background-color: rgba(0,0,0,.8); z-index: 100; border-radius: 0 8px 8px 8px; }
.has-submenu.open .submenu { display: block; }
.solidHeader .has-submenu .submenu, .interiorPage .has-submenu .submenu { background-color: var(--white); }
.submenu li a { display: block; padding: 10px 24px; font-size: .875rem; text-decoration: none; }
.submenu li a:hover, .submenu li a:focus { background-color: rgba(255,255,255,.15); }
.solidHeader .submenu li a:hover, .solidHeader .submenu li a:focus, .interiorPage .submenu li a:hover, .interiorPage .submenu li a:focus { background-color: rgba(0,0,0,.1); }
li.has-submenu { position: relative; display: flex; align-items: center; }
li.has-submenu > button { background: url(/_files/images/down-arrow-white.svg) no-repeat 50% 50%; background-size: 14px 14px; border: none; padding: 10px; width: 44px; height: 44px; cursor: pointer; transition: var(--transition); }
.solidHeader li.has-submenu > button, .interiorPage li.has-submenu > button { background: url(/_files/images/down-arrow-red.svg) no-repeat 50% 50%; }
li.has-submenu > button:hover { opacity: .7; }
li.has-submenu.open > button { transform: rotate(180deg); }

/*Nav Toggle*/
#navButton { border: none; cursor: pointer; position: relative; margin-left: 24px; }
#navButton::after { position: absolute; width: 36px; }

/*Menu Panel*/
#navPanel { display: none; position: fixed; top: 0; left: 0; right: 0; bottom: 0; width: 100vw; min-height: 100vh; background-repeat: no-repeat; background-size: cover; overflow-y: scroll; }
body.navPanelOpen { height: 100vh; overflow-y: hidden; }
body.navPanelOpen #navPanel { display: block; animation: navOpen .25s linear 1 forwards; }
@keyframes navOpen {
  from {opacity: 0;}
  to {opacity:1;}
}
.navPanelOverlay { background-color: rgba(0, 40, 87, .9); color: var(--white); padding: 40px 7vw; width: 100%; height: auto; min-height: 100%; }
.navPanelGrid { display: grid; grid-template-columns: 1fr 1fr; justify-content: space-between; width: 100%; }
/*Nav Panel Close Button*/
#navCloseButton { border: none; cursor: pointer; position: relative; background: var(--white); color: var(--darkBlue); padding: 14px 28px; text-transform: uppercase; font-weight: 500; display: flex; align-items: center; gap: 6px;  margin-left: auto; }
#navCloseButton:hover, #navCloseButton:focus { background: rgba(255,255,255,.75); }
#navCloseButton ion-icon { font-size: 26px; }
.menuTitle { font-family: var(--headingFont); font-size: 2.25rem; font-weight: 800; text-align: center; margin-bottom: 20px; }

/*Nav Panel Social*/
ul.headerSocial { display: flex; gap: 25px; align-items: center; margin-bottom: 30px; }
ul.headerSocial li { margin-bottom: 0; }
ul.headerSocial li a { display: block; line-height: 1; }
.headerSocial a ion-icon { font-size: 28px; transition: var(--transition); }
.headerSocial a:hover ion-icon, .headerSocial a:focus ion-icon { color: rgba(255,255,255,.75); }

/*Nav Panel Search*/
.headerSearch { background-color: var(--mediumBlue); color: var(--white); padding: 6px 28px; margin-bottom: 40px; }
.headerSearch form { display: flex; align-items: center; justify-content: space-between; gap: 20px; }
.headerSearch .searchBox { background: transparent; border: 2px solid transparent; border-radius: 0; box-shadow: none; padding: 14px; font-size: 1rem; flex-grow: 1; transition: var(--transition); color: var(--white); }
.headerSearch .searchBox:focus-within { border-color: var(--white); outline: none; }
.headerSearch .searchBox::placeholder { color: var(--white); transition: var(--transition); }
.headerSearch:focus-within .searchBox::placeholder { opacity: .75; }
.headerSearch button { border: none; padding: 13px; transition: var(--transition); line-height: 1; border-radius: 0; border: 2px solid transparent; }
.headerSearch button:hover, .headerSearch button:focus { border-color: var(--white); outline: none;  }
.headerSearch input[type="search"]::-webkit-search-decoration, .headerSearch input[type="search"]::-webkit-search-results-button, .headerSearch input[type="search"]::-webkit-search-results-decoration { -webkit-appearance: none; display: none; }
.headerSearch .searchBox::-webkit-search-cancel-button { -webkit-appearance: none; height: 16px; width: 16px; background: url(/_files/images/close-white.svg) no-repeat 50% 50%; background-size: contain; }

/*Nav Panel Accordion Menu*/
#navAccordion { border: none; }
.navAccordionBar { display: flex; padding: 15px 0; justify-content: space-between; align-items: center; border-top: 1px solid rgba(255,255,255,.5); }
.navAccordionBar:first-of-type { border-color: transparent; }
.navAccordionBar.panelOpen { background-color: #092444; }
.accordionNavTopLink { font-family: var(--headingFont); font-size: 2.25rem; font-weight: 800; text-decoration: none; line-height: 1; padding: 15px 12px; flex-grow: 1; }
.accordionNavTopLink:hover, .accordionNavTopLink:focus { background-color: #092444; }
#navAccordion .accordionTrigger { width: 36px; height: 36px; padding: 0; background-color: rgba(9,113,206,.5); border-radius: 60%; transition: var(--transition); position: relative; margin: 0 16px; border: none; }
#navAccordion .accordionTrigger[aria-expanded="true"] { transform: rotate(180deg); }
#navAccordion .accordionTrigger::after { content:''; width: 20px; height: 12px; background-image: url('/_files/images/down-arrow-white.svg'); background-repeat: no-repeat; background-size: contain; background-position: center; display: block; position: absolute; top: 12px; right: 8px; }
#navAccordion .accordionTrigger:hover, #navAccordion .accordionTrigger:focus { background-color: rgba(9,113,206,1); }
#navAccordion .accordionPanel { padding: 15px 12% 40px 5%; }
ul.navAccordionLinkList li { padding: 7px 0; border-bottom: 1px solid rgba(255,255,255,.3); }
ul.navAccordionLinkList li:last-of-type { border-bottom: none; }
.navAccordionLinkList li a { display: block; padding: 8px 16px; text-decoration: none; font-size: 1.5rem; font-weight: 500; line-height: 1.2; }
.navAccordionLinkList li a:hover, .navAccordionLinkList li a:focus { background-color: #092444; }

/*Nav Panel Right Side*/
.panelLinkListWrapper { background-color: #092444; padding: 15px; margin-bottom: 60px; }
ul.panelLinkList {  background-color: #092444; border: 1px solid white; padding: 25px 35px; }
.panelLinkList .navLink { font-size: 1.125rem; padding: 10px 0; text-decoration: underline; text-decoration-color: transparent; transition: var(--transition); }
.panelLinkList .navLink:hover, .panelLinkList .navLink:focus { text-decoration-color: var(--white); }
.navPanelLogo { margin: 0 auto; padding-top: 20px; }
.infoLinksPanel li, .quickLinksPanel li { -webkit-column-break-inside: avoid; page-break-inside: avoid; break-inside: avoid; }

@media all and (max-width: 960px) {
  #headerBar { padding: 14px 30px; }
  .header { background: var(--white); box-shadow: 0 3px 6px rgba(0,0,0,.16); }
  .headerLogo { width: 122px; max-width: 100%; }
  .whiteLogo { display:  none; }
  ul.submenu { width: 100%; }
  li.has-submenu { flex-wrap: wrap; }
  #navButton { background-color: transparent; padding: 4px; height: 44px; width: 44px; }
  .navButtonText, .navCloseButtonText { position: absolute; width: 1px; height: 1px; padding: 0; margin: -1px; overflow: hidden; clip: rect(0, 0, 0, 0); white-space: nowrap; border-width: 0; }
  #navButton::after { content:url(/_files/images/hamburger-search-blue.svg); right: 0; top: 11px; }
  .navPanelGrid { grid-template-columns: 1fr; }
  .navPanelTopRow { display: flex; margin-bottom: 50px; }
  .mobileNavPanelLogo { display: block; }
  #navCloseButton { padding: 6px 8px; }
  ul.headerSocial { justify-content: center; }
  .headerSocial a ion-icon { font-size: 24px; }
  .headerSearch { margin-bottom: 30px; padding: 4px 12px; }
  .headerSearch .searchBox { padding: 5px 9px; }
  .headerSearch button { padding: 5px 9px; font-size: 24px; }
  .navAccordionBar { padding: 8px 0; }
  .accordionNavTopLink { font-size: 1.5rem; padding: 8px; }
  #navAccordion .accordionPanel { padding: 10px 8% 20px 2%; }
  #navAccordion .accordionTrigger { width: 26px; height: 26px; margin: 0 8px; }
  #navAccordion .accordionTrigger::after { width: 12px; height: 7px; top: 10px; right: 7px; }
  .navAccordionLinkList li a { font-size: 1rem; }
  .navPanelRight { padding-top: 42px; }
  .menuTitle { font-size: 1.5rem; margin-bottom: 15px; }
  ul.panelLinkList { text-align: center; }
  .panelLinkListWrapper { margin-bottom: 30px; }
  .quickLinksPanel { columns: 2; }
  .navPanelLogo { padding-top: 40px; padding-bottom: 30px; }
}
@media all and (max-width: 1050px) {
  .desktopNavList { display: none; }
}

@media (min-width: 1050px) and (max-width: 1250px) {
  .desktopNavList li { margin-right: 0; }
  .desktopNavList .navLink { font-size: 1rem; padding: 10px; }
  .desktopNavList .has-submenu .navLink { padding: 10px 8px 10px 10px; }
  .has-submenu .submenu { top: 44px; }
}

@media all and (min-width: 961px) {
  .header { background: transparent linear-gradient(0deg, rgba(0, 0, 0, 0) 0%, rgba(0, 0, 0, .85) 100%) 0% 0% no-repeat; color: var(--white); }
  #headerBar { padding: 60px 30px 80px 30px; transition: var(--transition); }
  .solidHeader #headerBar, .interiorPage #headerBar { padding: 22px 30px; }
  .colorLogo { display: none; }
  .solidHeader, .interiorPage .header { background: var(--white); box-shadow: 0 3px 6px rgba(0,0,0,.16); }
  .solidHeader .whiteLogo, .interiorPage .whiteLogo { display:  none; }
  .solidHeader .colorLogo, .interiorPage .colorLogo { display: block; }
  /*Nav Toggle*/
  #navButton { background-color: var(--red); padding: 15px 72px 15px 18px; }
  #navButton::after { content:url(/_files/images/hamburger-search-white.svg); position: absolute; right: 18px; }
  #navButton:hover, #navButton:focus { background-color: rgba(194, 15, 47,.75); }
  .mobileNavPanelLogo { display: none; }
  .navPanelRight { padding-left: 10vw; padding-top: 80px; }
  .infoLinksPanel { columns: 2; }
  .quickLinksPanel { columns: 3; }
}

/* Footer */
.footer { background-repeat: no-repeat; background-size: cover; background-position: center; }
.mainFooter { background: transparent linear-gradient(180deg, rgba(0, 40, 87, 1) 0%, rgba(0, 40, 87, 0.9) 100%) 0% 0% no-repeat padding-box; }
.footerColumns { display: grid; }
.footerLocation, .footerColumn2, .footerColumn3, .footerColumn4 { margin-top: 40px; }
.footer h2 { color: var(--lightBlue); font-family: var(--bodyFont); font-size: 1.25rem; font-weight: 500; margin-bottom: 12px; }
.footer ul { list-style: none; margin-left: 0; padding-left: 0; }
.footer li { margin-bottom: 12px; }
.footer li a { font-weight: 400; }
.footerColumns a { text-decoration-color: transparent; transition: var(--transition); }
.footerLogo { margin-bottom: 20px; margin-left: auto; margin-right: auto; }
ul.footerSocial { display: flex; gap: 25px; justify-content: center; align-items: center; }
ul.footerSocial li { margin-bottom: 0; }
.footerSocial a { display: inline-block; }
.footerSocial a ion-icon { font-size: 32px; transition: var(--transition); }
.footerSocial a:hover ion-icon, .footerSocial a:focus ion-icon { color: rgba(255,255,255,.75); }
.footerLocation ion-icon { color: var(--lightBlue); }
.footerLocation a:hover, .footerLocation a:focus, .footerLinks a:hover, .footerLinks a:focus { text-decoration-color: var(--white); }
.footerAthleticsLink { text-align: center; }
.footerAthleticsLink img { margin: 0px auto 12px auto; }
.footerAthleticsLink .callout { text-decoration: 1px solid underline; text-decoration-color: transparent; transition: var(--transition); margin-bottom: 0; }
.footerAthleticsLink:hover .callout, .footerAthleticsLink:focus .callout { text-decoration-color: var(--white); }
.footerLinks > ul { columns: 2; column-gap: 4vw; }
.footerColumn4 { display: flex; flex-direction: column; justify-content: space-between; }
.footerButtons .button { display: block; margin-right: 0; padding: 15px 18px; width: 145px; font-size: 1.125rem; }
.footerButtons .button:first-of-type { margin-top: 0; }
#backToTop { border: none; padding: 0; }
.backToTopIcon { display: block; width: 40px; height: 40px; padding: 9px; margin-left: auto; margin-right: auto; margin-bottom: 10px; background-color: transparent; border: 2px solid var(--white); transition: var(--transition); }
.backToTopText { display: block; font-size: 1rem; font-weight: 400; text-decoration: underline; text-decoration-color: transparent; transition: var(--transition); }
#backToTop:hover .backToTopIcon, #backToTop:focus .backToTopIcon { background-color: rgba(255,255,255,.25); }
#backToTop:hover .backToTopText, #backToTop:focus .backToTopText { text-decoration-color: var(--white); } 
.subFooter.darkBlueBG { background-color: #092444; padding: 20px; }
ul.subFooterList { margin-bottom: 0; font-size: 1rem; }
ul.subFooterList li a:hover, ul.subFooterList li a:focus { color: var(--lightBlue); }

/*Temporary Fix to show X logo rather than Twitter*/
.temp-twitter-x { background-image: url("/_files/images/twitter-x-nav.svg"); background-repeat: no-repeat; background-size: contain;  }
header .temp-twitter-x { width: 24px; height: 24px; background-position: center top; }
footer .temp-twitter-x { width: 30px; height: 30px; background-position: center; }
.temp-twitter-x:hover, .temp-twitter-x:focus { opacity: .75; }
.temp-twitter-x ion-icon { opacity: 0; }

@media all and (max-width: 960px) {
  .footer { font-size: 1rem; }
  .footerColumns { grid-template-columns: auto; grid-template-rows: repeat(5, auto); justify-items: center; }
  #backToTop { margin-top: 36px; }
  .mainFooter { padding: 90px 30px 40px 30px; }
  ul.footerSocial { margin-top: 30px; margin-bottom: 0; }
  .footerLocation ul { width: fit-content; margin: 40px auto 10px auto; }
  .footer h2, .footerAddress, .footerLinks { text-align: center; }
  .footerLocation h2 { color: var(--white); font-size: 1.125rem; }
  .footerColumn3 h2 { margin-bottom: 20px; font-size: 1.125rem; }
  .footerLinks > ul { column-gap: 40px; }
  ul.subFooterList { text-align: center; }
  ul.subFooterList li:last-of-type { margin-bottom: 0; }
}
@media all and (min-width: 961px) {
  .mainFooter { padding: 110px 30px 40px 30px; }
  .footerColumns { grid-template-columns: repeat(4, auto); grid-template-rows: repeat(2, auto); column-gap: 40px; justify-content: space-between; }
  .footerColumn1 { grid-area: 1 / 1 / 3 / 2; }
  .footerColumn2 { grid-area: 1 / 2 / 2 / 3; }
  .footerColumn3 { grid-area: 1 / 3 / 2 / 5; }
  .footerColumn4 { grid-area: 2 / 4 / 3 / 5; }
  ul.footerSocial { margin-top: 62px; }
  .footerAthleticsLink img { margin: 30px auto 12px auto; }
  ul.subFooterList { display: flex; align-items: center; justify-content: center; }
  ul.subFooterList li { line-height: 1; padding-right: 3%; border-right: 1px solid rgba(255,255,255,.5); margin-right: 3%; margin-bottom: 0; }
  ul.subFooterList li:last-of-type { padding-right: 0; margin-right: 0; border-right: none; }
  #backToTop { margin-top: 80px; }
}
@media all and (min-width: 1280px) {
  .footerColumns { grid-template-columns: repeat(6, auto); grid-template-rows: 1fr; }
  .footerColumn1 { grid-area: 1 / 1 / 2 / 3; display: flex; gap: 3vw; }
  .footerColumn2 { grid-area: 1 / 3 / 2 / 4; }
  .footerColumn3 { grid-area: 1 / 4 / 2 / 6; }
  .footerColumn4 { grid-area: 1 / 6 / 2 / 7; }
}

/*HOMEPAGE*/

/*Home Impact*/
.homeImpact { position: relative; }
.homeImpactImg { width: 100%; object-fit: cover; }
.homeImpactGradient { position: absolute; left: 0; top: 0; height: 100%; width: 700px; max-width: 100%; background: transparent linear-gradient(90deg, rgba(0,0,0,.7) 0%, rgba(0,0,0,0) 100%); }
.homeImpactBloop { display: block; position: absolute; bottom: -60px; left: calc(50% - 4.5px); width: 9px; height: 120px; z-index: 10; }
.homeImpactCaption { position: absolute; bottom: 100px; left: 0; width: 100%; height: auto; padding: 0 45px; }
.homeImpactCaption img { margin: 0 auto; }

/*Home Impact Image/Slider*/
.homeImpactSlider.slick-slider.slick-dotted { margin-bottom: 0; }
.homeImpactSlider .slick-dots { bottom: 220px; z-index: 20; }
.homeImpactSlide { aspect-ratio: 1920 / 1080; }
.homeImpactSlide picture, .homeImpactSlide picture img { width: 100%; height: 100%; object-fit: cover; }
.homeImpactSlider .slick-autoplay-toggle-button { left: 30px; right: auto; bottom: 100px; }

/*Home Impact Video*/
.homeImpactVideo {  }
.homeImpact video { width: 100%; }
.homeImpact video::-webkit-media-controls { opacity: 0; }
/* Home Impact Video Play/Pause and Mute Controls */
.impactVideoButtons { position: absolute; left: 0; bottom: 0; padding: 0 30px 100px 30px; z-index: 5; }
.impactVideoButtons button { width: 44px; height: 44px; cursor: pointer; background: none; border: none; -webkit-appearance: none; -moz-appearance: none; margin-left: 40px; background-repeat: no-repeat; background-position: center; background-size: 30px; margin-left: 0; padding: 7px; border-radius: 50%; }
.impactVideoButtons button:hover { opacity: .8; }
#homeVideoButton { background-image: url("/_files/images/pause-circle.svg"); }
#homeVideoButton.on.initial { background-image: url("/_files/images/pause-circle.svg"); }
#homeVideoButton.on, #homeVideoButton.initial { background-image: url("/_files/images/play-circle.svg"); }
#homeVideoMute, #homeVideoMute.videoMuted { background-image: url("/_files/images/audio-circle.svg"); }
#homeVideoMute.videoUnmuted { background-image: url("/_files/images/audio-circle-unmuted.svg"); }

@media all and (max-width: 960px) {
  .homeImpactBloop { display: none; }
  .homeImpact::after { content: ''; background-image: url("/_files/images/bloop-line-home-intro-top.svg"); background-repeat: no-repeat; background-size: cover; background-position: center top; display: block; position: absolute; bottom: -50px; left: calc(50% - 4.5px); width: 9px; height: 88px; z-index: 10; }
  .homeImpactSlide { aspect-ratio: 960 / 1890; }
  .homeImpactSlider .slick-dots { bottom: 60px; }
  .homeImpactSlider .slick-autoplay-toggle-button { bottom: -30px; }
}

/*Bloop Line Animations*/
.animatedBloop .bloop { opacity: 0; }
.animatedBloop.drawBloop .bloop { animation: drawBloop .5s linear forwards; opacity: 0; }
.animatedBloop.drawBloop .bloop1 { animation-delay: 1s; }
.animatedBloop.drawBloop .bloop2 { animation-delay: 1.15s; }
.animatedBloop.drawBloop .bloop3 { animation-delay: 1.3s; }
.animatedBloop.drawBloop .bloop4 { animation-delay: 1.45s;}
.animatedBloop.drawBloop .bloop5 { animation-delay: 1.6s;}
.animatedBloop.drawBloop .bloop6 { animation-delay: 1.75s; }
.animatedBloop.drawBloop .bloop7 { animation-delay: 2s; }
.animatedBloop.drawBloop .bloop8 { animation-delay: 2.15s; }
.animatedBloop.drawBloop .bloop9 { animation-delay: 2.3s; }
.animatedBloop.drawBloop .bloop10 { animation-delay: 2.45s; }
.animatedBloop.drawBloop .bloop11 { animation-delay: 2.6s; }
.animatedBloop.drawBloop .bloop12 { animation-delay: 2.75s; }
.animatedBloop.drawBloop .bloop13 { animation-delay: 3s; }
.animatedBloop.drawBloop .bloop14 { animation-delay: 3.15s;}
.animatedBloop.drawBloop .bloop15 { animation-delay: 3.3s;}
.animatedBloop.drawBloop .bloop16 { animation-delay: 3.45s; }
.animatedBloop.drawBloop .bloop17 { animation-delay: 3.6s; }
.animatedBloop.drawBloop .bloop18 { animation-delay: 3.75s; }
.animatedBloop.drawBloop .bloop19 { animation-delay: 4s; }
.animatedBloop.drawBloop .bloop20 { animation-delay: 4.15s; }
@keyframes drawBloop {
  to {
    opacity: 1;
  }
}

/*Component: Slider Section*/
.sliderSection { position: relative; padding-top: 90px; padding-bottom: 0; }
.homeSliderBgGraphic { background-color: var(--darkBlue); clip-path: polygon(50% 90px, 100% 0%, 100% calc(100% - 215px), 50% 100%, 0% calc(100% - 215px), 0% 0%); position: absolute; top: -90px; left: 0; width: 100%; height: calc(100% + 305px); z-index: 2; box-shadow: 0px 3px 6px #00000029; }
.homeSliderTrianglesTop, .homeSliderTrianglesBottom { background-color: rgba(105, 195, 232, .5); display: block; width: 100%; position: absolute; left: 0; }
.homeSliderTrianglesTop { z-index: 1; top: -180px; height: 180px; clip-path: polygon(50% 180px, 100% 0%, 100% 100%, 0% 100%, 0% 0%); }
.homeSliderTrianglesBottom { bottom: -200px; height: 200px; clip-path: polygon(100% 0%, 100% 61%, 50% 100%, 0% 61%, 0% 0%); z-index: 1; }
.sliderSection .wrapper { position: relative; z-index: 3; max-width: 1400px; background-image: url("/_files/images/home-intro-infinity-desktop.svg"); background-size: contain; background-repeat: no-repeat; background-position: center; }
.introQuoteContainer { text-align: center; margin-top: 0px; margin-bottom: 90px; }
.introQuote { font-family: var(--headingFont); color: var(--lightBlue); text-shadow: 0px 3px 6px #0000001A; font-weight: 800; font-size: 3.75rem; line-height: 1; position: relative; }
.introQuote::before{ content: ''; background-image: url('/_files/images/quote-marks-left.svg'); background-repeat: no-repeat; background-size: cover; background-position: center; }
.introQuoteSource { font-size: 1.125rem; font-weight: 500; font-style: italic; }
.homeSlider .slick-autoplay-toggle-button { bottom: -6px; right: -7px; }
.homeSlider .slick-dots { bottom: 0; }
.homeSlideImage { margin-top: 44px; margin-bottom: 44px; position: relative; }
.homeSlideImageOverlay { position: absolute; bottom: 0; left: 0; width: 100%; height: 60%; background: linear-gradient(180deg, #00000000 0%, #000000 100%); }
.exploreText { text-align: center; font-weight: 500; font-size: 1.5rem; margin-top: 50px; }

@media all and (max-width: 960px) {
  .sliderSection { background-image: url("/_files/images/home-intro-infinity-mobile.svg"); padding-bottom: 40px; }
  .homeSliderBgGraphic { clip-path: polygon(50% 40px, 100% 0%, 100% calc(100% - 55px), 50% 100%, 0% calc(100% - 55px), 0% 0%); top: -40px; height: calc(100% + 95px); }
  .homeSliderTrianglesTop { top: -80px; height: 80px; clip-path: polygon(50% 80px, 100% 0%, 100% 100%, 0% 100%, 0% 0%); }
  .homeSliderTrianglesBottom { bottom: -55px; height: 55px; clip-path: polygon(100% 0%, 100% 63%, 50% 100%, 0% 63%, 0% 0%); }
  .introQuote::before { position: absolute; display: block; width: 35px; height: 30px; left: -4px; top: -10px; }
  .introQuote { font-size: 2.25rem; margin-bottom: 10px; line-height: 1.1; }
  .introQuoteSource { font-size: 1rem; }
  .homeSlider.slick-slider.slick-dotted { margin-bottom: 100px; }
  .homeSlideText { text-align: center; margin-bottom: 80px; }
  .homeSlideText .preheading { font-weight: 500; font-size: 1.125rem; }
  .homeSlideText h2, .homeSlideText .h2 { line-height: 1; margin-bottom: 20px; }
  .homeSlideText p { margin-top: 0; line-height: 1.7; margin-bottom: 30px; }
  .homeSlideText .button { margin-top: 0; margin-bottom: 30px; }
  .homeSlider .slick-next, .homeSlider .slick-prev { top: auto; bottom: calc(68vw + 22px); }
  .homeSlider .slick-dots { bottom: calc(68vw + 30px); }
  .exploreText { margin-bottom: 0; }
}

@media all and (min-width: 961px) {
  .introQuote::before{ position: relative; display: inline-block; width: 65px; height: 54px; margin-right: 17px; bottom: 14px; }
  .homeSlideColumns { display: grid; grid-template-columns: minmax(0, 1fr) minmax(0, 1fr); align-items: center;
    justify-content: space-between; }
  .homeSlideText { padding-right: 20%; }
  .homeSlideText .preheading { font-size: 1.5rem; }
  .homeSlideText h2, .homeSlideText .h2 { line-height: 1; }
  .homeSlider .slick-prev { top: 0; left: auto; right: 50px; }
  .homeSlider .slick-next { top: 0; }
  .homeSlider .slick-dots { width: 50%; margin-left: 50%; }
  .exploreText { position: relative; top: 80px; }
}

@media all and (min-width: 1200px) {
  .homeSlideText p { font-size: 1.5rem; line-height: 1.25; }
}

/*Component: Programs Section*/
.homeIntroBottomBloop { display: block; position: absolute; left: calc(50% - 4.5px); top: 100px; height: 190px; width: 9px; z-index: 10; }
.programsSection { position: relative; padding-bottom: 0; }
.homeProgramsHeading { position: relative; }
.programsArchWatermark { position: absolute; }
.programsSection .wrapper { position: relative; max-width: 1480px; }
.programsBloop { position: absolute; left: 0; bottom: -268px; z-index: 10; }
.homeProgramsHeading .preheading, .homeProgramsHeading h2 { position: relative; }
.homeProgramsParagraph { color: #494D58; font-size: 1.25rem; margin-bottom: 0; }
/*Home Programs Search*/
.searchPrograms { width: 1090px; max-width: 100%; position: relative; z-index: 100; }
.searchPrograms input.searchBox { width: 100%; padding: 14px 75px 14px 28px; color: rgba(73, 77, 88, .7); border: none; background: var(--white); background-image: url(/_files/images/search-white-on-red.svg); background-repeat: no-repeat; background-position: right center; background-size: auto 100%; }
.searchPrograms input.searchBox:focus-within { outline: none; }
.searchPrograms .programsContainer { position: absolute; display: block; width: 100%; left: 0; right: 0; background-color: var(--white); box-shadow: 0px 6px 8px rgba(0, 0, 0, 0.25); z-index: 20; }
.searchPrograms .programsContainer .mix a, .searchPrograms .programsContainer .fail-message { display: block; width: 100%; padding: 10px 25px; margin: 0; font-size: 1rem; text-decoration: none; color: inherit; }
.searchPrograms .programsContainer .mix a { border-bottom: 1px solid #f1f1f1; }
.searchPrograms .programsContainer .mix a:hover, .searchPrograms .programsContainer .mix a:focus { color: var(--mediumBlue); }
.searchPrograms .link { margin-left: auto; }
/*Home Program Tabs*/
[role="tabpanel"].is-hidden { display: none; }
.programTabControls { padding: 30px; display: flex; flex-wrap: wrap; gap: 32px; justify-content: center;
    align-items: center; position: relative; z-index: 15; }
.programTabControls button { margin: 0; background-color: var(--white); line-height: 1; width: 260px; max-width: 100%; padding: 14px; }
.programTabControls button[aria-selected="true"] { background-color: var(--salmon); }
.tabPictureContainer { position: relative; overflow: hidden; }
.homeProgramsTab picture { width: 100%; height: 100%; transition: var(--transition); }
.homeProgramsTab:hover picture { transform:scale(1.05); }
.homeProgramsTab picture img { height: 100%; width: 100%; object-fit: cover; }
.tabOverlay { position: absolute; left: 0; bottom: 0; width: 100%; height: 77%; transition: var(--transition); }
.homeProgramsTab:hover { background-size: 105%; }
.homeProgramsTabBox { z-index: 5; position: relative; background-repeat: no-repeat; background-size: cover; background-position: center; }
.homeProgramsTabBox h3 { font-size: 2.813rem; line-height: 1.1; }
.homeProgramsTabBox .subtitle { font-weight: 500; margin-top: 10px; }
.homeProgramFeatured { position: absolute; padding: 30px; display: block; text-decoration: none; color: var(--white); z-index: 5; }
.homeProgramFeatured span { display: block; }
.homeProgramFeatured .department { font-size: 1.125rem; font-weight: 300; }
.homeProgramFeatured .programName { font-family: var(--headingFont); font-weight: 800; font-size: 2.813rem; line-height: 1.25; }
.homeProgramFeatured .programSummary { opacity: 0; height: 0; transition: var(--transition); font-weight: 400; }
.homeProgramFeatured:hover .programSummary, .homeProgramFeatured:focus .programSummary { animation-name: appearUp; animation-duration: 1s; animation-fill-mode: forwards; }

@media all and (max-width: 960px) {
  .programsSection { padding-top: 164px; }
  .homeIntroBottomBloop { display: none; }
  .programsSection::before { content: ''; background-image: url("/_files/images/bloop-line-home-intro-bottom.svg"); background-repeat: no-repeat; background-size: cover; background-position: center top; display: block; position: absolute; left: calc(50% - 4.5px); top: -6px; height: 120px; width: 9px; z-index: 10; }
  .homeMain .programsSection .wrapper { padding-left: 36px; padding-right: 36px; }
  .homeProgramsHeading { text-align: center; }
  .homeProgramsHeading .preheading { font-size: 1.125rem; }
  .homeProgramsHeading h2 { font-size: 2.5rem; margin-bottom: 40px; }
  .programsArchWatermark { left: -22px; top: -28px; width: 112px; height: 130px; }
  .searchPrograms { margin: 60px auto 75px auto; }
  .programsBloop { display: none; }
  .programsBloopMobile { position: absolute; left: -4px; bottom: -82px; z-index: 0; }
  .programTabControls { gap: 20px; }
  .homeProgramsTabBox { padding: 35px 36px 47px 36px; }
  .homeProgramsTabBox.darkBlueBG { background-image: url('/_files/images/dark-blue-infinity-background-mobile.jpg'); }
  .homeProgramsTabBox.mediumBlueBG { background-image: url('/_files/images/light-blue-infinity-background-mobile.jpg'); }
  .homeProgramsTabBox.redBG { background-image: url('/_files/images/red-infinity-background-mobile.jpg'); }
  .homeProgramsTabBox h3 { font-size: 2.25rem; }
  .homeProgramsTabBox .subtitle { margin-bottom: 20px; }
  .homeProgramsTabBox p { font-size: 1rem; }
  .homeProgramsTabBox p.subtitle { font-size: 1.125rem; }
  .homeProgramsTabBox a.button { margin-left: auto; margin-right: auto; display: block; margin-top: 45px; }
  .homeProgramFeatured { bottom: 0; right: 0; padding-left: 36px; padding-right: 36px; }
  .homeProgramFeatured .programName { font-size: 2.25rem; line-height: 1.1; margin-top: 10px; }
  .homeProgramFeatured .link { margin-top: 10px; }
}
@media all and (min-width: 961px) {
  .programsSection { padding-top: 420px; }
  .homeProgramsIntro { display: grid; grid-template-columns: minmax(0, 53%) minmax(0, 41%); gap: 6%; }
  .homeProgramsHeading { padding-left: 80px; }
  .homeProgramsHeading h2 { margin-left: 80px; text-indent: -80px; padding-right: 80px; margin-bottom: 0; }
  .programsArchWatermark { left: 0px; top: 0; }
  .searchPrograms { margin: 105px auto 55px auto; }
  .programsBloopMobile { display: none; }
  .homeProgramsTab { position: relative; padding: 40px 80px; }
  .tabPictureContainer { position: absolute; left: 0; top: 0; width: 100%; height: 100%; aspect-ratio: 1920 / 722; }
  .homeProgramsTabBox { height: 100%; width: 610px; max-width: 50%; padding: 86px 6% 86px 58px; }
  .homeProgramsTabBox.darkBlueBG { background-image: url('/_files/images/dark-blue-infinity-background.jpg'); }
  .homeProgramsTabBox.mediumBlueBG { background-image: url('/_files/images/light-blue-infinity-background.jpg'); }
  .homeProgramsTabBox.redBG { background-image: url('/_files/images/red-infinity-background.jpg'); }
  .homeProgramFeatured { width: 660px; max-width: 50%; bottom: 30px; right: 0; }
  .homeProgramsTabBox .subtitle { margin-bottom: 50px; }
}

@media (min-width: 961px) and (max-width: 1400px) {
  .homeProgramsTab { padding: 30px 40px; }
}

@media all and (min-width: 1700px) {
  .homeProgramFeatured { right: calc(50vw - 790px); padding-right: 0; }
  .homeProgramsHeading h2.largeHeading { font-size: 5rem; }
}

/*Component: Statistics Section*/
.statisticsSection { padding: 0; margin: 0; background-repeat: no-repeat; background-size: cover; background-position: center; }
.statisticsSection .redSalmonGradient { padding: 75px 0; }
.homeStatsLeft h2 { font-size: clamp(2.313rem, 3vw, 3.75rem); line-height: 1.17; }
.statistic { text-align: center; }
.statTop { font-family: var(--headingFont); line-height: 1; margin-bottom: 15px; font-weight: 800; }
.statistic .factText { display: block; font-size: 1.5rem; font-weight: 500; line-height: 1.16; }
.statistic .factSource { display: block; font-size: 1rem; }

@media all and (max-width: 960px) {
  .homeStatsLeft { text-align: center; }
  .statTop { font-size: 7.5rem; }
  .homeStatsLeft { margin-bottom: 110px; }
  .statistic { max-width: 350px; margin-left: auto; margin-right: auto; }
}
@media all and (min-width: 961px) {
  .homeStatsColumns { display: grid; grid-template-columns: minmax(0, 33%) auto; gap: 4%; align-items: center; }
  .homeStatsRight { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); justify-content: space-between; gap: 30px; }
  .statTop { font-size: clamp(5.5rem, 7vw, 8.125rem); }
}

/*Component: Testimonials Section*/
.testimonialsSection .wrapper { position: relative; }
.testimonialsSection .preheading { text-align: center; font-family: var(--bodyFont); line-height: 1; }
.storiesHeading { font-family: var(--headingFont); color: var(--salmon); text-shadow: 0 3px 6px rgba(0,0,0,.2); text-align: center; line-height: 1.25; margin: 0; }
.testimonialsRow { margin-bottom: 190px; margin-top: 50px; }
.testimonial { width: 415px; max-width: 100%; position: relative; overflow: hidden; }
.testimonial > a { text-decoration: none; display: block; position: absolute; top: 0; left: 0; width: 100%; height: 100%; }
.testimonialImg, .testimonialVid { object-fit: cover; aspect-ratio: 415 / 590; }
.testimonialVid::-webkit-media-controls { opacity: 0; }
.storyText { position: absolute; width: 100%; height: 100%; left: 0; bottom: 0; display: flex; flex-direction: column; justify-content: flex-end; }
.testimonial > a.popup-youtube::after, .testimonial > a.popup-vimeo::after { display: none; }
.testimonial .storyPlayPause { content: ''; display: block; position: absolute; bottom: 20px; right: 20px; width: 44px; height: 44px; padding: 6px; background-color: transparent; background-image: url(/_files/images/play-circle.svg); background-repeat: no-repeat; background-size: 31px; background-position: center; border: none; transition: var(--transition); }
.storyQuote { font-size: 1rem; margin-top: 20px; margin-bottom: 0; animation-name: appearUp; animation-duration: 1s; animation-fill-mode: forwards; opacity: 0; height: 0; }
.testimonial.playMode .storyQuote { display: none; }
.testimonialName { line-height: 1; text-shadow: 0px 3px 6px rgba(0, 0, 0, 0.16); }
.programYear { margin-top: 0; margin-bottom: 0; font-weight: 500; }
.infinityCTA .h2 { font-family: var(--bodyFont); font-weight: 600; color: var(--white); text-align: center; line-height: 1.25; }

@media all and (max-width: 960px) {
  .testimonialsSection { padding-top: 115px; padding-bottom: 240px; }
  .testimonialsSectionTop { max-width: 60vw; margin-left: auto; margin-right: auto; position: relative; }
  .storiesHeading { line-height: 1; }
  .testimonialsSectionTop .preheading { font-weight: 500; font-size: 1.125rem; margin-bottom: 15px; }
  .testimonial .storyText { background: linear-gradient(180deg, rgba(0, 0, 0, 0) 0%, rgba(0, 0, 0, .01) 42%, rgba(0, 0, 0, .93) 100%); padding: 20px 64px 30px 20px; text-align: left; }
  h3.testimonialName { font-size: 2.25rem; }
  .storyQuote { display: none; }
  .storiesBloopTop { display: none; }
  .storiesTopBloopMobile { position: absolute; top: -58px; right: -60px; }
  .storiesBottomBloopMobile { position: absolute; bottom: -21px; left: -85px; }
  .storiesMobileSlider.slick-slider.slick-dotted { margin-top: 87px; }
  .storiesMobileSlider .slick-next, .storiesMobileSlider .slick-prev { top: -54px; }
  .storiesMobileSlider .slick-dots { bottom: auto; top: -50px; }
  .infinityBloop { display: none; }
  .infinityBloopMobile { position: absolute; bottom: -75px; left: -100px; }
  .infinityCTA { max-width: 41vw; margin-left: auto; margin-right: auto; position: relative; }
  .infinityCTASign { margin: 90px auto 0 auto; }
  .infinityCTA .h2 { font-size: 1.5rem; line-height: 1.2; margin-top: 20px; margin-bottom: 60px; }
  .infinityCTA .h2 .lightweight { display: block; }
}

@media all and (min-width: 961px) {
  .testimonialsSection { padding-top: 150px; padding-bottom: 23vw; }
  .storiesBloopTop { position: absolute; top: -100px; right: 30px; }
  .storiesTopBloopMobile, .storiesBottomBloopMobile { display: none; }
  .testimonial .storyText { background: linear-gradient(180deg, rgba(0, 0, 0, 0.21) 0%, rgba(0, 0, 0, .85) 100%); transition: var(--transition); padding: 20px 20px 80px 20px; text-align: center; }
  .testimonial.playMode .storyText { background: linear-gradient(180deg, rgba(0, 0, 0, 0) 0%, rgba(0, 0, 0, .01) 42%, rgba(0, 0, 0, .93) 100%); padding: 20px 64px 30px 20px; text-align: left; }
  .testimonialsRow { display: grid; grid-template-columns: repeat(3, minmax(0px, 1fr)); gap: 30px; }
  .testimonial.playMode .storyPlayPause { background-image: url(/_files/images/pause-circle.svg); }
  .infinityBloop { position: absolute; left: 0px; top: -180px; }
  .infinityBloopMobile { display: none; }
  .infinityCTA { width: 1462px; max-width: 100%; margin: 0 auto; display: flex; align-items: center; justify-content: center; flex-wrap: wrap; gap: 40px; position: relative; padding: 0 186px 98px 186px; }
}

@media all and (min-width: 1280px) {
  .testimonialsRow {  padding: 0 7vw; gap: 60px; }
  .testimonialName { font-size: 2.5rem; }
  .storyQuote { font-size: 1.125rem; }
}

/*Background panel for grid and news section*/
.paleBlueHalfBackgroundContainer { position: relative; }
.paleBlueHalfBackground { background-color: var(--transparentBlue); position: absolute; top: 0; right: 0; width: 54%; height: 100%; }
@media all and (max-width: 960px) {
  .paleBlueHalfBackground { display: none; }
}

/*Component: Grid Section*/
.gridSection { position: relative; }
.gridSection .wrapper { max-width: 1860px; }
.homepageGrid a { position: relative; display: block; margin-bottom: 30px; }
.homepageGrid figure { overflow: hidden; }
.homepageGrid a figure > img { transition: var(--transition); width: 100%; }
.homepageGrid a:hover figure > img { transform: scale(1.1); }
.homepageGrid figure .blackGradientBG { position: absolute; bottom: 0; left: 0; width: 100%; height: 50%; }
.homepageGrid figcaption { position: absolute; bottom: 0; left: 0; width: 100%; height: auto; }
.hpGridItem1 figcaption > div { font-weight: 300; }
.hpGridItem1 h3 { margin-top: 10px; margin-bottom: 10px; }
.hpGridItem1 .hpGridHoverText { opacity: 0; height: 0; margin-top: 0px; margin-bottom: 0px; }
.hpGridItem1:hover .hpGridHoverText, .hpGridItem1:focus .hpGridHoverText { animation-name: bulldogTextUp; animation-duration: 1s; animation-fill-mode: forwards; }
@keyframes bulldogTextUp {
  0% { opacity: 0; height: 0; margin-bottom: 0px; }
  10% { height: auto; opacity: 0; margin-bottom: 10px; }
  100% { opacity: 1; height: auto; margin-bottom: 10px; }
}
.hpGridItem1 .link { margin-top: 0; margin-bottom: 0; }
.hpGridItem2 figcaption, .hpGridItem3 figcaption, .hpGridItem4 figcaption, .hpGridItem5 figcaption { padding: 30px; }
.hpGridColumn2 .link, .hpGridColumn3 .link, .hpGridItem4 figcaption { font-family: var(--headingFont); margin-bottom: 0; }
.gridSection .gridInfographic { position: relative; display: flex; align-items: center; justify-content: center; aspect-ratio: 430 / 300; }
.gridSection .gridInfographic > img { position: absolute; top: 0; bottom: 0; width: 100%; height: 100%; }
.gridSection .gridInfographic > p { text-align: center; margin: 20px; position: relative; color: var(--darkBlue); }
.gridInfographic .gridStat { font-family: var(--headingFont); display: block; line-height: .9; }
.gridInfographic .gridInfoText { font-size: 1.5rem; font-weight: 600; margin-bottom: 10px; line-height: 1.17; display: block; }
.gridInfographic .gridSource { font-size: 1rem; font-style: italic; font-weight: 600; display: block; }

@media all and (max-width: 960px) {
  .gridSection { top: -240px; margin-bottom: -240px; }
  .homepageGrid figure > img, .gridSection .gridInfographic { aspect-ratio: 337 / 300; object-fit: cover; }
  .hpGridItem1 figcaption { padding: 30px; }
  .hpGridHoverText { display: none; }
  .hpGridItem1 .link { font-weight: 300; }
  .hpGridColumn2 .link, .hpGridColumn3 .link, .hpGridItem4 figcaption { font-size: 1.375rem; }
  .gridInfographic .gridStat { font-size: 5.875rem; }
}

@media all and (min-width: 961px) {
  .gridSection { top: -23vw; margin-bottom: -23vw; }
  .homepageGrid { display: grid; gap: 25px; padding-bottom: 0; }
  .hpGridItem1 figcaption { padding: 50px; }
  .hpGridColumn2 .link, .hpGridColumn3 .link, .hpGridItem4 figcaption { font-size: 1.5rem; }
  .gridInfographic .gridStat { font-size: 6.25rem; }
}

@media (min-width: 961px) and (max-width: 1280px) {
  .homepageGrid { grid-template-columns: minmax(0px, 1fr) minmax(0px, 1fr); grid-template-rows: auto auto; margin-bottom: 70px; }
  .hpGridColumn1 { grid-area: 1 / 1 / 2 / 3; }
  .hpGridColumn2 { grid-area: 2 / 1 / 3 / 2; }
  .hpGridColumn3 { grid-area: 2 / 2 / 3 / 3; }
}

@media all and (min-width: 1280px) {
  .homepageGrid { grid-template-columns: minmax(0px, 51%) minmax(0px, 1fr) minmax(0px, 1fr); }
}

/*Component: News Section*/
.homepageNewsHeading { position: relative; width: fit-content; }
#newsSectionTitle { line-height: 1; margin-bottom: 0; }
.newsTitleLine2 { display: block; }
.homepageNewsHeading .subheading { margin-top: 0; margin-bottom: 0; line-height: 1; }
.homeNewsRow { position: relative; }
.featuredNewsFlag { position: absolute; top: 10px; left: -10px; width: 111px; height: 25px; background-color: var(--red); color: var(--white); text-transform: uppercase; padding: 6px 0 5px 0; font-size: .875rem; font-weight: 500; line-height: 1; text-align: center; z-index: 5; }
.homeNewsBox { box-shadow: 0px 3px 6px rgba(0,0,0,.06); height: 100%; }
.featuredNewsBox { position: relative; height: 100%; }
.featuredNewsBox .blackGradientBG { position: absolute; top: 0; left: 0; width: 100%; height: 100%; background: transparent linear-gradient(180deg, rgba(0, 0, 0, .1) 0%,  rgba(0, 0, 0, .6) 50%, rgba(0, 0, 0, .85) 100%) 0% 0% no-repeat; opacity: .80; transition: var(--transition); }
a:hover .featuredNewsBox .blackGradientBG { opacity: 1; }
.featuredNewsBox img { height: 100%; object-fit: cover; }
.featuredNewsCaption { position: absolute; left: 0; bottom: 0; width: 100%; height: auto; color: var(--white); }
.newsDateAuthor { display: block; font-weight: 600; font-size: 1rem; line-height: 1.2; margin-bottom: 5px; }
.newsTitle { display: block; font-weight: 500; margin-bottom: 15px; }
.newsSummary { display: block; font-weight: 300; }
.homeNewsRow a { display: block; text-decoration: none; }
figure.homeNewsBox { overflow: hidden; }
a figure.homeNewsBox > img { transition: var(--transition); width: 100%; }
a:hover figure.homeNewsBox > img { transform: scale(1.1); }
.homeNewsCaption { background-color: var(--white); position: relative; z-index: 2; }
.homeNewsCaption .newsDateAuthor { color: var(--red); }
.homeNewsCaption .newsTitle { color: var(--darkBlue); margin-bottom: 0; line-height: 1.17; }
.homeNewsRow a:hover .homeNewsCaption .newsTitle, .homeNewsRow a:focus .homeNewsCaption .newsTitle { color: var(--mediumBlue); }

@media all and (max-width: 960px) {
  .newsSection.components { padding-bottom: 0; }
  .homeNewsTitleTopBloop, .homeNewsTitleBottomBloop { display: none; }
  .homeNewsTitleTopBloopMobile { position: absolute; top: -50px; right: -30px; }
  .homeNewsTitleBottomBloopMobile { position: absolute; left: -37px; bottom: -84px; }
  .homepageNewsHeading { margin-left: 13px; margin-right: 13px; }
  #newsSectionTitle { font-size: 3.75rem; margin-bottom: 10px; }
  .newsTitleLine2 { font-size: 3.125rem; margin-left: 20px; }
  .homepageNewsHeading .subheading { margin-left: 51px; line-height: 1.2; }
  .homepageNewsHeading + a.link { margin-top: 25px; margin-bottom: 64px; margin-left: 78px; }
  .homeNewsRow > a { margin-top: 40px; }
  a figure.homeNewsBox > img { aspect-ratio: 330 / 184; object-fit: cover; }
  a figure.featuredNewsBox > img { aspect-ratio: 330 / 263; }
  .homeNewsCaption, .featuredNewsCaption { padding: 15px; }
  .newsSummary { display: none; }
  .newsTitle { font-size: 1rem; }
  .newsTitle, .homeNewsCaption .newsTitle { line-height: 1.25; }
  .newsAuthor { display: none; }
  .newsBottomBloop { display: none; }
  .newsBottomBloopMobile { margin-left: 60%; margin-top: 4px; margin-bottom: 2px; }
}

@media all and (min-width: 961px) {
  .newsSection { padding-top: 0; padding-bottom: 0; position: relative; top: -100px; margin-bottom: -114px; }
  #newsSectionTitle { font-size: 6.25vw; }
  .newsTitleLine2 { font-size: 4.7vw; margin-left: 6vw; }
  .homepageNewsHeading .subheading { margin-left: 14vw; }
  .homepageNewsHeading + a.link { margin-top: 80px; margin-bottom: 15px; }
  .homeNewsTitleTopBloopMobile, .homeNewsTitleBottomBloopMobile { display: none; }
  .homeNewsTitleTopBloop { position: absolute; top: -338px; right: -60px; }
  .homeNewsTitleBottomBloop { position: absolute; bottom: -34px; left: -112px; }
  .homeNewsRow { display: grid; grid-template-columns: minmax(0, 1fr) minmax(0, 1fr) minmax(0, 1fr); gap: 50px; }
  .homeNewsCaption { padding: 25px 55px 25px 23px; }
  .featuredNewsCaption { padding: 25px 30px; }
  .newsBottomBloop { margin-left: 66%; margin-top: 10px; position: relative; z-index: 5; }
  .newsBottomBloopMobile { display: none; }
}

@media all and (min-width: 1920px) {
  #newsSectionTitle { font-size: 7.5rem; }
  .newsTitleLine2 { font-size: 5.625rem; margin-left: 118px; }
  .homepageNewsHeading .subheading { margin-left: 280px; }
}

/*Component: Events Section*/
.eventsSection { padding-top: 0; padding-bottom: 0; }
.homepageFeaturedEvent { position: relative; }
.homepageFeaturedEvent picture { width: 100%; overflow: hidden; }
.homepageFeaturedEvent .eventsFeaturedImg { transition: var(--transition); width: 100%; }
.homepageFeaturedEvent:hover .eventsFeaturedImg { transform: scale(1.1); }
.homepageFeaturedEvent .blackGradientBG { position: absolute; top: 0; left: 0; width: 100%; height: 100%; }
.eventOverlayContainer { position: absolute; top: 0; left: 0; width: 100%; height: 100%; padding-top: 50px; }
.eventOverlayContainer .wrapper { height: 100%; }
.eventOverlayText { height: 100%; display: flex; flex-wrap: wrap; align-content: space-between; }
.eventOverlayTop h2 { width: fit-content; }
.eventOverlayTop a.link { margin-top: 0; margin-bottom: 0; }
.eventOverlayBottom { width: 100%; }
.upcomingEventLink .featuredEventDate { font-weight: 500; margin-bottom: 15px; line-height: 1.2; display: block; }
.upcomingEventLink .featuredEventName { font-family: var(--headingFont); font-weight: 800; line-height: 1; font-size: 2.813rem; margin-bottom: 10px; display: block; }
.upcomingEventLink .featuredEventLocationTime { font-weight: 500; display: block; }
.upcomingEventLink .featuredEventLocation ion-icon { font-size: 20px; margin-right: 6px; position: relative; top: 3px; }

/*Shared/Global Events Row Styling*/
.upcomingEventLink { display: block; text-decoration: none; }
.upcomingEventsRow { display: flex; align-items: center; justify-content: center; background-color: var(--white); box-shadow: 0 3px 6px rgba(0,0,0,.16); position: relative; }
.upcomingEventCell { text-align: center; position: relative; }
.upcomingEventCell::after { content: url('/_files/images/bloop-line-events.svg'); display: block; position: absolute; top: calc(50% - 57px); right: 0; width: 6px; height: 115px; }
.upcomingEventCell:last-of-type::after { content: ''; }
.upcomingEventCell .eventDate { color: var(--red); font-family: var(--headingFont); line-height: 1; margin-bottom: 10px; font-weight: 800; display: block; transition: var(--transition); }
.upcomingEventLink:hover .eventDate, .upcomingEventLink:focus .eventDate { transform: translateY(-5px); }
.upcomingEventCell .eventName { display: block; color: var(--darkBlue); font-weight: 600; line-height: 1.2; margin-bottom: 10px; }
.upcomingEventCell .eventLocation { color: var(--darkBlue); font-weight: 500; line-height: 1.2; display: block; margin-bottom: 10px; }
.upcomingEventCell .eventLocation ion-icon { font-size: 20px; color: var(--red); margin-right: 6px; position: relative; top: 3px; }
.upcomingEventCell .eventTime { color: var(--darkBlue); font-weight: 500; line-height: 1.2; display: block; }

@media all and (max-width: 960px) {
  .eventOverlayContainer { padding-bottom: 185px; }
  .eventOverlayTop h2 { font-size: 2.25rem; margin-bottom: 15px; line-height: 1; }
  .upcomingEventLink .featuredEventName { font-size: 1.875rem; margin-bottom: 20px; }
  .upcomingEventLink .featuredEventTime { display: block; margin-top: 12px; }
  .eventsFeaturedImg { aspect-ratio: 125 / 250; object-fit: cover; }
  .eventsSection .upcomingEventsRow { top: -145px; margin-bottom: -145px !important; padding: 0; }
  .upcomingEventCell { padding-top: 30px; padding-left: 50px; padding-right: 50px; }
  .upcomingEventCell .eventDate { font-size: 2.5rem; }
  .upcomingEventCell .eventName { font-size: 1.5rem; }
  /*Mobile Events Slider*/
  .eventsMobileSlider.slick-slider.slick-dotted { padding-bottom: 60px; }
  .eventsMobileSlider .slick-dots { bottom: 15px; }
  .eventsMobileSlider .slick-dots li button { padding: 6px; height: 21px; width: 21px; }
  .eventsMobileSlider .slick-dots li button .slick-dot-icon { background-color: var(--black); }
  .eventsMobileSlider .slick-dots li.slick-active button .slick-dot-icon { background-color: var(--red); }
}
@media all and (min-width: 960px) {
  .eventOverlayContainer { padding-bottom: 82px; }
  .eventOverlayTop { display: flex; justify-content: space-between; width: 100%; }
  .upcomingEventLink .featuredEventLocation { margin-right: 16px; }
  .upcomingEventLink .featuredEventLocation::after { content: '|'; font-weight: 300; margin-left: 16px; }
  .eventsSection .upcomingEventsRow { top: -50px; margin-bottom: -50px; }
  .upcomingEventsRow { padding: 30px 0px; }
  .upcomingEventCell { min-width: 0; padding-left: 30px; padding-right: 30px; }
  .upcomingEventCell a { width: 320px; max-width: 100%; }
  .upcomingEventCell .eventDate { font-size: 2.125rem; }
  .upcomingEventCell .eventName { font-size: 1.125rem; }
}
@media all and (min-width: 1280px) {
  .upcomingEventsRow { padding: 45px 20px; }
  .upcomingEventCell { padding-left: 50px; padding-right: 50px; }
  .upcomingEventCell .eventDate { font-size: 2.5rem; }
  .upcomingEventCell .eventName { font-size: 1.5rem; }
}

/*Component: Call Out Banner Section*/
.callOutBannerSection { position: relative; text-align: center; }
.homeCalloutHeading { background-repeat: no-repeat; background-position: center; background-size: contain; width: 400px; max-width: 100%; margin: 0 auto; color: var(--darkBlue); padding-top: 88px; padding-bottom: 15px; }
.homeCalloutHeading span { display: block; margin-bottom: 8px; }
.homeCalloutHeading h2 { line-height: 1.11; margin-bottom: 25px; }
.calloutButtonRow .button { width: 210px; margin-right: 0; margin-left: 0; }

@media all and (max-width: 960px) {
  .callOutBannerSection { padding-top: 118px; padding-bottom: 124px; }
  .homeMain .callOutBannerSection.components .wrapper { padding-left: 30px; padding-right: 30px; }
  .calloutMobileBloopTop { position: absolute; top: -100px; right: 32% }
  .calloutMobileBloopBottom { position: absolute; left: -45px; bottom: 32%; }
  .homeCalloutHeading { background-size: 200px 230px; position: relative; background-position: 50% 20%; }
  .homeCalloutHeading span { font-weight: 300; }
  .homeCalloutHeading h2 { font-size: 2.813rem; margin-bottom: 35px; }
  .callOutBannerSection .footerBloop { display: none; }
  .callOutBannerSection .mobileFooterBloop { position: absolute; left: calc(50% - 4px); bottom: -60px; }
}
@media all and (min-width: 961px) {
  .callOutBannerSection { padding-top: 70px; padding-bottom: 115px; }
  .calloutMobileBloopTop, .calloutMobileBloopBottom { display: none; }
  .calloutButtonRow .button { margin-right: 4.7%; }
  .calloutButtonRow .button:last-of-type { margin-right: 0; }
  .callOutBannerSection .mobileFooterBloop { display: none; }
  .callOutBannerSection .footerBloop { position: absolute; left: calc(50% - 4px); bottom: -43px; }
}

/*LANDING/INTERIOR PAGES*/

/*Landing Impact Area*/
.impactContainer { position: relative; }
.tallImpact picture, .tallImpact picture img { aspect-ratio: 1920 / 1085; width: 100%; }
.shortImpact picture, .shortImpact picture img { aspect-ratio: 1920 / 540; width: 100%; }
.landingImpact picture img { object-fit: cover; display: block; margin: 0; }
.impactGradient { position: absolute; left: 0; top: 0; height: 100%; background: transparent; background: linear-gradient(90deg, rgba(0,0,0,0.7021183473389356) 0%, rgba(0,0,0,0) 100%); }
.triangleTextArea { padding: 0 30px; width: 480px; max-width: 80%; }
.triangleTextArea h1 { margin-top: 0; padding-bottom: 23px; line-height: 1; }
.blueTriangle { background-color: transparent; color: white; }
.lightBlueTriangle { background-color: var(--lightBlue); opacity: .5; position: absolute; top: 0; left: 0; width: 100%; height: 100%; clip-path: polygon(0% 0%, 0% 100%, 100% 100%); z-index: 10; }
.darkBlueTriangle { background-color: var(--darkBlue); position: absolute; top: 0; left: 0; width: 101%; height: 101%; clip-path: polygon(0% 100px, 0% 100%, 100% 100%); z-index: 20; }

@media (max-width: 960px) {
    .tallImpact picture, .tallImpact picture img { aspect-ratio: 960 / 1045; }
    .shortImpact picture, .shortImpact picture img { aspect-ratio: 960 / 830; }
    .impactGradient { width: 67%; }
    .blueTriangle { position: relative; background-color: var(--darkBlue); }
    .lightBlueTriangle { top: -75px; height: 75px; }
    .darkBlueTriangle { top: -50px; height: 51px; clip-path: polygon(0% 0%, 0% 100%, 100% 100%); }
}
@media (min-width: 961px) {
    .impactGradient { width: 37%; }
    .blueTriangle { background-color: transparent; }
    .tallImpact .blueTriangle { position: absolute; left: 0; bottom: 0; width: 100%; height: auto; }
    .shortImpact .blueTriangle { position: relative; }
    .shortImpact .darkBlueTriangle { height: 131px; top: -130px; clip-path: polygon(0% 52px, 0% 100%, 100% 100%); }
    .shortImpact .lightBlueTriangle { height: 131px; top: -131px; }
    .triangleTextArea { position: relative; z-index: 30; }
    .tallImpact .triangleTextArea { padding-top: 170px; }
    .shortImpact .triangleTextArea { top: -30px; margin-bottom: -30px; }
    .shortImpact .triangleTextContainer { background-color: var(--darkBlue); }
}
@media (min-width: 961px) and (max-width: 1280px) {
    .triangleTextArea h1 { font-size: 3.125rem; }
    .tallImpact .triangleTextArea h1 { padding-top: 60px; }
}
@media (min-width: 1281px) {
    .tallImpact .triangleTextArea h1 { padding-top: 40px; }
}

/*Interior Impact Area*/
.interiorImpact { position: relative; }
.interiorImpact .sectionNavContainer { position: absolute; left: 0; }
.interiorImpact picture img { width: 100%; max-height: 772px; object-fit: cover; }
.interiorImpact .sectionNavContainer { width: 100%; }

@media all and (max-width: 500px) {
  .interiorImpact { padding-bottom: 50px }
  .interiorImpact .sectionNavContainer { bottom: 0; }
}
@media all and (min-width: 501px) {
  .interiorImpact .sectionNavContainer { bottom: -36px; }
}

@media all and (max-width: 960px) {
  .interiorImpact { margin-top: 72px; }
  .interiorImpactLeft .impactCaption { padding: 34px 36px 0 36px; }
  .interiorImpact h1 { padding-bottom: 22px; }
  .interiorImpact .subheading { display: none; }
  .interiorImpactRight { padding: 0 36px; }
  .interiorImpactRight picture img { aspect-ratio: 890 / 860; min-height: 290px; width: 100%; }
  .interiorImpact .sectionNavContainer { margin-left: 0; margin-right: 0; }
}
@media all and (min-width: 961px) {
  .interiorImpact { display: grid; grid-template-columns: minmax(0, 44%) minmax(0, 56%); margin-top: 110px; }
  .interiorImpact picture, .interiorImpact picture img { height: 100%; }
  .interiorImpact .breadcrumbs { padding: 70px 30px 45px 30px; min-width: 0; background-color: var(--white); }
  .interiorImpactLeft { display: flex; flex-direction: column; }
  .interiorImpactLeft .impactCaption { min-width: 0; flex-grow: 1; display: flex; align-items: center; padding: 40px 4vw 80px 30px; }
  .interiorImpact h1 { margin-bottom: 10px; }
  .interiorImpact .subheading { font-weight: 500; line-height: 1.1; }
}

@media all and (min-width: 1920px) {
  .interiorImpact .breadcrumbs { padding-left: calc(50vw - 850px); }
  .interiorImpactLeft .impactCaption { padding-left: calc(50vw - 850px); }
  .interiorImpact .sectionNavContainer { margin-left: calc(50vw - 850px); margin-right: 0; }
}

/*Breadcrumbs and Backlink (interior and program pages)*/
@media all and (max-width: 960px) {
  .breadcrumbs { display: none; }
  .backLink { display: block; padding: 20px 36px; color: var(--darkBlue); text-decoration: none; font-weight: 400; background-color: var(--white); }
  .backLink::before { display: inline-block; margin: 0 12px 0 0; content:url(/_files/images/right-arrow-red.svg); transform: rotate(180deg); }
}
@media all and (min-width: 961px) {
  .breadcrumbs { padding: 50px 30px; }
  .breadcrumbs ol { margin: 0; padding-left: 0; list-style: none; }
  .breadcrumbs li { color: var(--darkBlue); display: inline; }
  .breadcrumbs li a { color: var(--darkBlue); font-weight: 400; }
  .breadcrumbs li a:hover, .breadcrumbs li a:focus { color: var(--mediumBlue); }
  .breadcrumbs li + li::before { display: inline-block; margin: 0 12px; content:url(/_files/images/right-arrow-red.svg); }
  .backLink { display: none; }
}

/*Section Navigation*/
.sectionNavContainer { position: relative; z-index: 50; }
#sectionNavButton { background-color: var(--red); border-color: var(--red); color: var(--white); padding: 22px 30px; font-size: 1.5rem; font-weight: 400; margin: 0; width: auto; display: flex; align-items: center; justify-content: space-between; }
.sectionNavArrow { display: inline-block; background-image: url(/_files/images/down-arrow-white.svg); background-repeat: no-repeat; background-size: contain; background-position: 50% 50%; width: 15px; height: 10px; transition: var(--transition); margin-left: 20px; }
#sectionNavButton:hover, #sectionNavButton:focus, #sectionNavButton[aria-expanded="true"] { background-color: #B00C29; border-color: #B00C29; }
#sectionNavButton[aria-expanded="true"] .sectionNavArrow { transform: rotate(180deg); }
#sectionNavButton[aria-expanded="true"] + #sectionNavPanel { display: block; }
#sectionNavButton[aria-expanded="false"] + #sectionNavPanel { display: none; }
#sectionNavPanel { position: absolute; z-index: 20; left: 0; background-color: var(--red); color: var(--white); list-style: none; padding: 10px; margin: 0; }
#sectionNavPanel li { margin: 0; }
#sectionNavPanel li::marker { content: none; }
#sectionNavPanel a { padding: 16px 20px; font-weight: 400; transition: var(--transition); display: block; margin: 0; line-height: 1.1; }
#sectionNavPanel a, #sectionNavPanel a:hover, #sectionNavPanel a:focus { color: var(--white); text-decoration: none; outline: none; }
#sectionNavPanel a:hover, #sectionNavPanel a:focus { background-color: #B00C29; }

@media all and (max-width: 500px) {
  #sectionNavButton { width: 100%; justify-content: center; padding: 16px; font-size: 1.125rem; }
  #sectionNavPanel { width: 100%; }
}
@media all and (min-width: 501px) {
  .sectionNavContainer { margin-left: 30px; margin-right: 30px; }
}
@media all and (min-width: 800px) {
  #sectionNavPanel { columns: 2; column-gap: 50px; }
}

/*1-Column*/
.landingMain .oneColumnComponent .wrapper { max-width: 1240px; }
.interiorMain .oneColumnComponent .wrapper { max-width: 1664px; }
.columnButtonRow { display: flex; column-gap: 50px; row-gap: 30px; justify-content: center; align-items: center; flex-wrap: wrap; }
.columnButtonRow .button { margin-top: 0; margin-left: 0; }

@media all and (max-width: 960px) {
  .oneColumnComponent.components .wrapper { padding-left: 36px; padding-right: 36px; }
  .oneColumnComponent { padding-top: 50px; padding-bottom: 50px; }
  .oneColumnBloopTop, .oneColumnBloopBottom { display: none; }
  .columnButtonRow { margin-top: 40px; }
}
@media all and (min-width: 961px) {
  .oneColumnComponent { padding-top: 0px; padding-bottom: 0px; }
  .oneColumnComponent .wrapper { position: relative; padding: 100px 150px; }
  .oneColumnBloopTop { position: absolute; top: 40px; right: 0; }
  .oneColumnBloopBottom { position: absolute; bottom: 40px; left: 0px; }
  .oneColumnComponent .preheading { font-size: 1.5rem; }
  .columnButtonRow { margin-top: 50px; }
}

/*2-Column Row*/
.landingMain .twoColumnRowComponent.components { padding: 0; }
.interiorMain .twoColumnRowWrapper { max-width: 1440px; width: 100%; margin: 0 auto; padding-left: 30px;
    padding-right: 30px; }
.twoColumnRowText { padding: 30px 36px 50px 36px; }
.twoColumnRowImage img { height: 100%; width: 100%; object-fit: cover; }

@media all and (max-width: 960px) {
  .twoColumnRowText .button { display: block; margin-left: auto; margin-right: auto; }
}
@media all and (min-width: 961px) {
  .twoColumnRow { display: flex; }
  .twoColumnRowTextContainer { display: flex; flex-direction: column; justify-content: center; }
  .landingMain .twoColumnRowTextContainer { width: 47%; }
  .landingMain .twoColumnRowText { width: 580px; max-width: 100%; }
  .interiorMain .twoColumnRowTextContainer { width: calc(50% + 15px); }
  .interiorMain .twoColumnRowText { width: 700px; max-width: 100%; }
  .landingMain .twoColumnRowImage { width: 53%; }
  .interiorMain .twoColumnRowImage { width: calc(50% - 15px); }
  .twoColumnRowImage > a { overflow: hidden; }
  .twoColumnRowImage > a > img { transition: var(--transition); }
  .twoColumnRowImage > a:hover > img { transform: scale(1.1); }
  .landingMain .twoColumnRow.textOnLeft .twoColumnRowText { margin-right: 40px; margin-left: auto; }
  .landingMain .twoColumnRow.textOnRight .twoColumnRowText { margin-left: 40px; }
  .interiorMain .twoColumnRow.textOnLeft .twoColumnRowText { margin-right: 15px; margin-left: auto; }
  .interiorMain .twoColumnRow.textOnRight .twoColumnRowText { margin-left: 15px; }
  .twoColumnRowTextContainer.transparentBlueBG { margin-top: 35px; margin-bottom: 35px; }
}

/*2-Column Box Overlay*/
.twoColumnBoxOverlayHeading { margin-bottom: 30px; }
.twoColumnBoxOverlayRow { margin-top: 30px; }
.boxOverlayText { background-color: var(--white); box-shadow: 0px 3px 6px rgba(0,0,0,.3); margin-left: 36px; margin-right: 36px; padding: 30px 36px; position: relative; top: -100px; margin-bottom: -100px; }
.boxOverlayText h3 { font-size: 2.25rem; margin-bottom: 18px; line-height: 1.1; }
.boxOverlayText p { margin-bottom: 0; margin-top: 0; }
.boxOverlayText .link { margin-top: 24px; }

@media all and (max-width: 960px) {
  .twoColumnBoxOverlayComponent.components { padding: 25px 0; }
  .twoColumnBoxOverlayComponent.components .wrapper { padding-left: 0; padding-right: 0; }
  .twoColumnBoxOverlayHeading { padding-left: 36px; padding-right: 36px; }
  .twoColumnBoxOverlayRow .boxColumn:last-of-type { margin-top: 40px; }
}
@media all and (min-width: 961px) {
  .twoColumnBoxOverlayComponent.components { padding: 50px 0; }
  .twoColumnBoxOverlayRow { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 50px; }
}
@media all and (min-width: 1400px) {
  .boxOverlayText h3 { font-size: 2.5rem; margin-bottom: 30px; }
}

/*3-4 Column Cards*/
.columnCards.textUnderneath .columnCardContent { background-color: var(--white); box-shadow: 0px 3px 6px #0000000F; padding: 30px 25px; }
.columnCards.textOverlaid .columnCard, .columnCards.textOverlaid .columnCardLink { position: relative; color: var(--white); }
.columnCards.textOverlaid .cardImgContainer { position: absolute; top: 0; left: 0; width: 100%; height: 100%; }
.cardImgContainer img { width: 100%; height: 100%; object-fit: cover; }
.columnCards.textOverlaid .columnCardContent { width: 100%; height: 100%; position: relative; z-index: 5; background: linear-gradient(180deg, rgba(0, 0, 0, 0) 0%, rgba(0, 0, 0, .85) 100%); display: flex; flex-direction: column; justify-content: flex-end; }
.columnCards.textOverlaid .columnCardContent h3 { color: var(--white); }
.columnCards.textOverlaid .columnCardContent .link { color: var(--white); }
a.columnCardLink { text-decoration: none; width: 100%; height: 100%; display: block; }
.columnCards.textOverlaid .link::after { content: url(/_files/images/right-arrow-white.svg); }
.columnCardParagraph { font-size: 1rem; margin-bottom: 0; }
.columnCards.textOverlaid .columnCardParagraph { margin-top: 0; }
p.columnCardParagraph + .link { margin-top: 25px; }
.cardImgContainer { position: relative; }
.columnCards.textUnderneath .popup-youtube .cardImgContainer::after, .columnCards.textUnderneath .popup-vimeo .cardImgContainer::after { content: ''; display: block; position: absolute; top: 0; left: 0; width: 100%; height: 100%; background-image: url('/_files/images/video-play-button.svg'); background-repeat: no-repeat; background-size: 72px 50px; background-position: center; }
.threeFourColumnCardsComponent .popup-youtube::after, .threeFourColumnCardsComponent .popup-vimeo::after { display: none; }

@media all and (max-width: 960px) {
  .threeFourColumnCardsComponent.components { padding: 50px 0; }
  .threeFourColumnCardsComponent.components .wrapper { padding-left: 0px; padding-right: 0px; }
  .threeFourColumnCardsComponent.components.transparentBlueBG .wrapper { padding-left: 36px; padding-right: 36px; }
  .threeFourColumnCardsComponent.components h2, .threeFourColumnCardsComponent.components .preheading { padding-left: 36px; padding-right: 36px; }
  .threeFourColumnCardsComponent.components.transparentBlueBG h2, .threeFourColumnCardsComponent.components.transparentBlueBG .preheading { padding-left: 0px; padding-right: 0px; }
  .threeFourColumnCardsComponent h2 { font-size: 2.5rem; }
  .columnCards.textUnderneath .columnCard { margin-bottom: 30px; }
  .columnCards.textOverlaid .columnCard { margin-bottom: 40px; }
  .columnCards .columnCard:last-of-type { margin-bottom: 0; }
  .columnCards.textOverlaid .columnCard { aspect-ratio: 375 / 437; }
  .columnCards.three.textOverlaid .columnCardContent, .columnCards.four.textOverlaid .columnCardContent { padding: 30px 36px; }
  .columnCards.textOverlaid .columnCardContent h3 { margin-bottom: 18px; }
}
@media all and (min-width: 961px) {
  .threeFourColumnCardsComponent.components { padding: 75px 0; }
  .threeFourColumnCardsComponent h2 { margin-bottom: 20px; }
  .columnCards { display: grid; gap: 50px; }
  .three.columnCards { grid-template-columns: repeat(3, minmax(0, 1fr)); }
  .cardImgContainer { overflow: hidden; }
  .columnCards.textUnderneath .columnCardLink { display: flex; flex-direction: column; }
  .columnCards.textUnderneath .cardImgContainer { min-width: 0; width: 100%; }
  .columnCards.textUnderneath .columnCardContent { min-width: 0; width: 100%; flex-grow: 1; }
  .columnCards.three.textOverlaid .columnCard { min-height: 385px; }
  .columnCards.four.textOverlaid .columnCard { min-height: 314px; }
  .columnCards.three.textOverlaid .columnCardContent { padding: 50px; }
  .columnCards.four.textOverlaid .columnCardContent { padding: 25px 28px; }
  .columnCardLink .cardImgContainer img { transition: var(--transition); }
  .columnCardLink:hover .cardImgContainer img { transform: scale(1.1); }
  .columnCards.textOverlaid a.columnCardLink .columnCardContent h3 { transition: var(--transition); }
  .columnCards.textOverlaid a.columnCardLink:hover .columnCardContent h3, .columnCards.textOverlaid a.columnCardLink:focus .columnCardContent h3 { margin-bottom: 18px; }
  .columnCards.textOverlaid a.columnCardLink .columnCardContent .link { margin-top: 0; transition: var(--transition); }
  .columnCards.textOverlaid a.columnCardLink:hover .columnCardContent .link, .columnCards.textOverlaid a.columnCardLink:focus .columnCardContent .link { margin-top: 18px; }
  .columnCards.textOverlaid .columnCardParagraph { opacity: 0; height: 0; transition: var(--transition); font-weight: 400; }
  .columnCards.textOverlaid a.columnCardLink:hover .columnCardParagraph, .columnCards.textOverlaid a.columnCardLink:focus .columnCardParagraph { animation-name: appearUp; animation-duration: 1s; animation-fill-mode: forwards; }
}

@media (min-width: 961px) and (max-width: 1280px) {
  .four.columnCards { grid-template-columns: repeat(2, minmax(0, 1fr)); }
}

@media all and (min-width: 1281px) {
  .four.columnCards { grid-template-columns: repeat(4, minmax(0, 1fr)); }
}

/*Column List*/
.columnListComponent .wrapper { max-width: 1440px; }
.columnListHeading h2 { margin-bottom: 30px; }

@media all and (max-width: 960px) {
  .columnListComponent.components { padding: 50px 0; }
  .landingMain .columnListComponent.components .wrapper, .interiorMain .columnListComponent.components .wrapper { padding-left: 0; padding-right: 0; }
  .columnListHeading { padding-left: 36px; padding-right: 36px; }
  .columnListComponent .oneTwo .cell > .oneTwoColumnImg, .columnListComponent .oneTwo .cell > a.popup-youtube, .columnListComponent .oneTwo .cell > a.popup-vimeo { margin-bottom: 30px; }
  .oneTwoColumnImg { width: 100%; object-fit: cover; }
  .columnListComponent .oneTwo .content { margin-left: 36px; margin-right: 36px; padding-bottom: 40px; border-bottom: 1px solid var(--lightBlue); margin-bottom: 40px; }
  .columnListComponent .oneTwo:last-of-type .content { padding-bottom: 0; border-bottom: 0; margin-bottom: 0px; }
}
@media all and (min-width: 961px) {
  .columnListComponent.components { padding: 100px 0; }
  .columnListComponent .oneTwo { display: grid; grid-template-columns: 30% minmax(0, 1fr); gap: 60px; padding-bottom: 50px; margin-bottom: 50px; border-bottom: 1px solid var(--lightBlue); }
  .columnListComponent .oneTwo:last-of-type { padding-bottom: 0px; border-bottom: 0; margin-bottom: 0; }
  .columnListComponent .oneTwo .content { margin-top: 6px; }
  .oneTwo .cell > a { overflow: hidden; }
  .oneTwo a > .oneTwoColumnImg { transition: var(--transition); }
  .oneTwo a:hover > .oneTwoColumnImg { transform: scale(1.1); }

}

/*CTA Banner*/
.ctaBannerComponent .wrapper { max-width: 1440px; }
.ctaBannerCard { display: grid; }
.ctaBannerTextbox { background-repeat: no-repeat; background-position: center; background-size: cover; }
.ctaBannerImg a { display: block; width: 100%; height: 100%; }
.ctaBannerImg img { width: 100%; height: 100%; object-fit: cover; }
.ctaBannerTextbox.lightBlueBG .wysiwyg strong { color: var(--darkBlue); }
.ctaBannerTextbox .wysiwyg ul, .ctaBannerTextbox .wysiwyg ol { margin-left: 0; }

@media all and (max-width: 960px) {
  .ctaBannerComponent.components .wrapper { padding-left: 0; padding-right: 0; }
  .ctaBannerCard { grid-template-columns: minmax(0, 100%); grid-template-rows: auto auto; }
  .ctaBannerTextbox { background-image: url(/_files/images/mobile-cta-banner-infinity-graphic.svg); padding: 33px 47px; grid-area: 2 / 1 / 3 / 2; }
  .ctaBannerTextbox.darkBlueBG { background-image: url(/_files/images/mobile-cta-banner-infinity-graphic-white.svg); }
  .ctaBannerImage { grid-area: 1 / 1 / 2 / 2; }
  .ctaBannerTextbox .button { display: block; margin-left: auto; margin-right: auto; }
}
@media all and (min-width: 961px) {
  .ctaBannerComponent.components { padding: 100px 0; }
  .ctaBannerCard { grid-template-columns: minmax(0, 60%) minmax(0, 40%); }
  .ctaBannerTextbox { background-image: url(/_files/images/cta-banner-infinity-graphic.svg); padding: 40px 47px; }
  .ctaBannerTextbox.darkBlueBG { background-image: url(/_files/images/cta-banner-infinity-graphic-white.svg); }
  .ctaBannerImg { overflow: hidden; }
  .ctaBannerImg img { transition: var(--transition); }
  .ctaBannerImg a:hover img { transform: scale(1.1); }
}

/*Image Banner*/
.imageBannerComponent { position: relative; overflow: hidden; }
.imageBannerComponent.components { padding: 0; }
.imageBannerOverlay { position: absolute; left: 0; bottom: 0; width: 100%; }
.imageBannerOverlay.blackGradientBG { display: flex; flex-direction: column; justify-content: flex-end; transition: var(--transition); }
.imageBannerComponent .blueAngleOverlay::before { background-color: var(--lightBlue); opacity: .5;  content: ''; position: absolute; left: 0; width: 100%; bottom: 45px; height: calc(100% + 55px); clip-path: polygon(0% 0%, 0% 100%, 100% 100%); z-index: 5; }
.imageBannerComponent .blueAngleOverlay::after { background-color: var(--darkBlue); content: ''; position: absolute; left: 0; width: 100%; bottom: 0; height: 100%; clip-path: polygon(0% 0%, 0% 100%, 100% 100%, 100% calc(100% - 45px)); z-index: 5; }
.imageBannerComponent .blueAngleOverlay .imageBannerText { position: relative; z-index: 10; }
.imageBannerText { padding-bottom: 30px; color: var(--white); }
.imageBannerText .preheading { color: var(--white); margin-bottom: 10px; }
.imageBannerText h2 { color: var(--white); }
.imageBannerParagraph { margin-top: 0; margin-bottom: 0; }
.imageBannerText a.link { margin-top: 0; color: var(--white); }
.imageBannerComponent .blueAngleOverlay a.link::after { content: url(/_files/images/right-arrow-salmon.svg); }

@media all and (max-width: 960px) {
  .imageBannerComponent { aspect-ratio: 960 / 2080; max-height: 800px; width: 100%; }
  .imageBannerOverlay.blackGradientBG { height: 100%; }
  .bannerImg { background-image: none !important; height: 100%; width: 100%; }
  .bannerMobileImg { height: 100%; width: 100%; object-fit: cover; }
  .imageBannerText h2 { margin-bottom: 18px; }
  .imageBannerParagraph { margin-bottom: 25px; }
  .imageBannerComponent .blueAngleOverlay { background-color: var(--darkBlue); }
  .imageBannerComponent .blueAngleOverlay::before { top: -100px; height: 100px; }
  .imageBannerComponent .blueAngleOverlay::after { top: -59px; height: 60px; clip-path: polygon(0% 0%, 0% 100%, 100% 100%); }
}
@media all and (min-width: 961px) {
  .imageBannerComponent { aspect-ratio: 1920 / 800; }
  .bannerImg { height: 100%; width: 100%; background-position: center; background-repeat: no-repeat; background-size: cover; }
  .bannerMobileImg { display: none; }
  .imageBannerText h2 { margin-bottom: 25px; }
  .imageBannerComponent .imageBannerText { padding-top: 100px; }
  .imageBannerComponent .blackGradientBG .imageBannerText { width: 870px; max-width: 50%; }
  .imageBannerComponent .imageBannerOverlay.blackGradientBG:hover { height: 100%; }
  .imageBannerComponent .blackGradientBG .imageBannerParagraph { opacity: 0; height: 0; transition: var(--transition); }
  .imageBannerComponent .blackGradientBG:hover .imageBannerParagraph { margin-bottom: 25px; animation-name: appearUp; animation-duration: 1s; animation-fill-mode: forwards; }
  .imageBannerComponent .blueAngleOverlay .imageBannerText { width: 575px; max-width: 70%; }
  .imageBannerComponent .blueAngleOverlay .imageBannerText .preheading { width: 290px; max-width: 50%; }
  .imageBannerComponent .blueAngleOverlay .imageBannerText h2 { width: 370px; max-width: 60%; }
  .imageBannerComponent .blueAngleOverlay .imageBannerParagraph { margin-bottom: 40px; }
}

@media (hover: hover) {
  .parallaxImg { background-attachment: fixed; }
}

/*Gallery Slider*/
.gallerySliderComponent.components { padding: 0; }
.gallerySlides.slick-slider.slick-dotted { margin-bottom: 0; }
.gallerySlideTextbox { background-repeat: no-repeat; background-size: cover; background-position: center; }
.gallerySlideTextbox h3.h2 { color: var(--white); margin-bottom: 10px; line-height: 1.1; }
.gallerySlideTextbox .subheading { font-size: 1.125rem; font-weight: 500; margin-top: 0; }
.gallerySlideImg { position: relative; }
.gallerySlideImg .blackGradientBG { position: absolute; bottom: 0; left: 0; width: 100%; height: 50%; }

@media all and (max-width:540px){
  .gallerySlideTextbox .button { display: block; margin-left: auto; margin-right: auto; }
}
@media all and (max-width:960px){
  .gallerySliderComponent.components .wrapper { padding-left: 0; padding-right: 0; }
  .gallerySlideImg { aspect-ratio: 375 / 315; }
  .gallerySlideImg img { width: 100%; height: 100%; object-fit: cover; }
  .gallerySlides .slick-dots { bottom: auto; top: calc(75vw - 24px); }
  .gallerySlider .slick-next, .gallerySlider .slick-prev { bottom: auto; top: calc(75vw - 30px); }
  .gallerySlider .slick-prev { left: 18px; }
  .gallerySlider .slick-next { right: 18px; }
  .gallerySlideTextbox { padding: 48px 36px; }
  .gallerySlideTextbox.redBG { background-image: url(/_files/images/gallery-background-red-mobile.jpg); }
  .gallerySlideTextbox.mediumBlueBG { background-image: url(/_files/images/gallery-background-medium-blue-mobile.jpg); }
  .gallerySlideTextbox.darkBlueBG { background-image: url(/_files/images/gallery-background-dark-blue-mobile.jpg); }
  .gallerySlideTextbox h3.h2 { font-size: 2.25rem; }
  .gallerySlideTextbox .subheading { margin-bottom: 18px; }
}
@media all and (min-width:961px){
  .gallerySlide { position: relative; }
  .gallerySlideImg { position: absolute; left: 0; top: 0; width: 100%; height: 100%; }
  .gallerySlideImg picture { width: 100%; height: 100%; }
  .gallerySlide img { width: 100%; height: 100%; object-fit: cover; transition: var(--transition); }
  .gallerySlideOverlay { aspect-ratio: 1920 / 800; position: relative; z-index: 5; padding-top: 63px; padding-bottom: 46px; }
  .gallerySlide .wrapper { min-height: 100%; display: flex; justify-content: flex-end; }
  .gallerySlideTextbox { padding: 86px 58px; width: 610px; }
  .gallerySlideTextbox.redBG { background-image: url(/_files/images/gallery-background-red.jpg); }
  .gallerySlideTextbox.mediumBlueBG { background-image: url(/_files/images/gallery-background-medium-blue.jpg); }
  .gallerySlideTextbox.darkBlueBG { background-image: url(/_files/images/gallery-background-dark-blue.jpg); }
  .gallerySlider .slick-next, .gallerySlider .slick-prev { bottom: 36px; top: auto; }
  .gallerySlider .slick-next { left: 120px; right: auto; }
  .gallerySlider .slick-prev { left: 30px; right: auto; }
  .gallerySlider .slick-autoplay-toggle-button { left: 75px; right: auto; bottom: 36px; }
  .gallerySlideTextbox .subheading { margin-bottom: 50px; }
  .gallerySlideTextbox p + .button { margin-top: 42px; }
}
@media (min-width: 961px) and (max-width: 1420px) {
  .gallerySlides .slick-dots { bottom: 56px; text-align: right; padding-right: 50px; }
}
@media all and (min-width:1420px){
  .gallerySlides .slick-dots { bottom: 36px; }
}
@media all and (min-width:1640px){
  .gallerySlider .slick-next { left: calc(50% - 730px); }
  .gallerySlider .slick-autoplay-toggle-button { left: calc(50% - 775px); }
  .gallerySlider .slick-prev { left: calc(50% - 820px); }
}

/*Statistics*/
.statisticsComponent { background-repeat: no-repeat; background-size: cover; background-position: center; }
.statisticsComponent.components { padding: 0; }
.statisticsComponent .redSalmonGradient { padding: 30px 0; }
.statisticsComponent .wrapper { max-width: 1440px; }

@media all and (max-width: 960px) {
  .statisticsComponent .statsRow { margin-top: 20px; }
  .statisticsComponent .statsLink { margin: 30px auto 5px auto; }
}
@media all and (min-width: 961px) {
  .statisticsComponent .statsRow { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); justify-content: space-between; gap: 30px; margin: 60px 0 20px 0; }
  .statisticsComponent .statsRow2 { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .statisticsComponent .statsRow3 { grid-template-columns: repeat(3, minmax(0, 1fr)); }
  .statisticsComponent .statsRow4 { grid-template-columns: repeat(4, minmax(0, 1fr)); }
}

/*Accordion*/
.accordionComponent .wrapper { max-width: 1440px; }
.accordionComponent .accordion > h3 { margin: 0; padding: 0; }
.accordionComponent .accordion button { background: none; display: block; font-family: var(--bodyFont); font-size: 1.5rem; font-weight: 600; margin: 0; padding: 18px 0; position: relative; text-align: left; width: 100%; transition: all 0.4s ease-in-out; cursor: pointer; }
.accordionComponent .accordion button::-moz-focus-inner { border: 0; }
.accordionComponent .accordion h3 .accordionTrigger { border: none; border-top: 2px solid var(--lightBlue); }
.accordionComponent .accordion h3:first-of-type .accordionTrigger { border-top: none; }
.accordionComponent .accordionTitle { display: block; pointer-events: none; border: transparent 2px solid; padding: 10px 40px 10px 0; }
.accordionComponent .accordionTrigger:focus .accordionTitle { border-color: transparent; }
.accordionComponent .accordionIcon { position: absolute; top: 20px; right: 0px; background-image: url(/_files/images/down-arrow-red.svg); background-repeat: no-repeat; background-position: 50% 50%; background-size: 15px 10px; border: none; padding: 10px; width: 44px; height: 44px; cursor: pointer; transition: var(--transition); pointer-events: none; }
.accordionComponent.darkBlueBG .accordionIcon { background-image: url(/_files/images/down-arrow-white.svg); }
.accordionComponent .accordionTrigger[aria-expanded="true"] .accordionIcon { transform: rotate(180deg); }
.accordionComponent .accordionPanel { margin: 0; padding: 0 13px 48px 13px; }
.accordionComponent .accordionPanel[hidden] { display: none; }

@media all and (max-width: 960px) {
  .accordionComponent.components { padding: 50px 0; }
  .accordionComponent .accordion button { font-size: 1.375rem; }
}
@media all and (min-width: 961px) {
  .accordionComponent.components { padding: 100px 0; }
}

/*Quote Section*/
.quoteComponent.components { padding: 0; }
.quoteComponent { position: relative; }
.quoteComponent picture { position: absolute; top: 0; left: 0; width: 100%; height: 100%; }
.quoteComponent img { width: 100%; height: 100%; object-fit: cover; }
.quoteComponent .blackGradientBG { position: relative; z-index: 5; min-height: 100%; display: flex; align-items: flex-end; }
.quoteComponent h2 { margin-bottom: 10px; line-height: 1.1; }
.quoteComponent .subheading { font-size: 1.125rem; font-weight: 500; margin-top: 0; }
.quoteComponent.components .wrapper { padding: 0; }

@media all and (max-width: 960px) {
  .quoteComponent { aspect-ratio: 960 / 1285; }
  .quoteComponent .quoteOverlay { padding: 30px 36px; }
  .quoteComponent .subheading { margin-bottom: 18px; }
}
@media all and (min-width: 961px) {
  .quoteComponent { aspect-ratio: 1920 / 550; }
  .quoteComponent .blackGradientBG { background: transparent linear-gradient(90deg, rgba(0, 0, 0, .85) 0%, rgba(0, 0, 0, 0) 50%) 0% 0% no-repeat; }
  .quoteComponent .quoteOverlay { padding: 100px 60% 100px 23px; }
  .quoteComponent .subheading { margin-bottom: 30px; }
}

/*Tabs*/
.tabBoxLeft { background-repeat: no-repeat; background-position: center; background-size: cover; }
.tabBoxLeft h2 { color: var(--white); }
.tabBoxLeft button { display: block; border: none; font-weight: 500; padding: 0; text-align: left; line-height: 1.2; }
.tabBoxLeft button:focus-visible { outline: none; }
.tabContent { display: flex; position: relative; min-height: 100%; width: 100%; }
.tabContent picture { position: absolute; left: 0; bottom: 0; width: 100%; height: 100%; }
.tabContent picture img { width: 100%; height: 100%; object-fit: cover; object-position: 50% 10%; }
.tabContent .blackGradientBG { position: relative; z-index: 5; width: 100%; display: flex; justify-content: flex-end; align-items: flex-end; }
.tabContent h2 + p, .tabContent .h2 + p, .tabContent h3 + p, .tabContent h4 + p, .tabContent h5 + p, .tabContent h6 + p { margin-top: 10px; }

@media all and (max-width: 960px) {
  .tabsComponent.components .wrapper { padding-left: 0; padding-right: 0; }
  .tabBoxLeft { position: relative; padding: 40px 0px 23px 0; background-image: url(/_files/images/mobile-tabs-navy-graphic-background.jpg); }
  .tabBoxLeft h2 { font-size: 2.25rem; margin-bottom: 30px; padding-right: 36px; padding-left: 36px; }
  .tabBoxLeft .preheading { padding-right: 36px; padding-left: 36px; }
  .tabBoxLeft .tabList::before { position: absolute; left: 0; top: 0; height: 46px; width: 36px; padding: 14px; line-height: 1; content: url(/_files/images/right-arrow-white.svg); transform: rotate(180deg); }
  .tabBoxLeft .tabList { padding-left: 36px; padding-right: 36px; position: relative; display: flex; align-items: flex-start; gap: 35px; overflow-x: scroll; height: auto; overflow-y: clip; -ms-overflow-style: none; scrollbar-width: none; min-height: 46px; }
  .tabBoxLeft .tabList::-webkit-scrollbar { display: none; }
  .tabBoxLeft button { min-width: 120px; padding-bottom: 3px; border-bottom: 1px solid transparent; transition: var(--transition); }
  .tabBoxLeft button[aria-selected="true"]{ border-bottom-color: var(--salmon); }
  .tabBoxLeft::after { content: ''; display: block; position: absolute; right: 0; top: 0; height: 100%; width: 20vw; background: linear-gradient(270deg, #0B3763 0%, #0B376300 100%); }
  .tabBoxRight { height: 700px; }
  .tabContent .blackGradientBG { padding: 30px 36px; }
}
@media all and (min-width: 961px) {
  .tabsBox { display: grid; grid-template-columns: 31% 69%; }
  .tabBoxLeft { padding: 40px 36px; background-image: url(/_files/images/tabs-navy-background-graphic.svg); height: 100%; }
  .tabBoxLeft h2 { margin-bottom: 50px; }
  .tabBoxLeft button { font-size: 1.375rem; margin-bottom: 24px; transition: var(--transition); position: relative; }
  .tabBoxLeft button[aria-selected="true"]{ padding-left: 23px; text-decoration: underline; text-decoration-color: var(--salmon); text-underline-offset: 8px; text-decoration-thickness: 1px; }
  .tabBoxLeft button[aria-selected="true"]::before { content: url(/_files/images/right-arrow-salmon.svg); position: absolute; left: 0; top: 0; }
  .tabBoxRight { aspect-ratio: 1110 / 560; height: 100%; max-width: 100%; }
  .tabContent .blackGradientBG { padding: 34px 47px; background: transparent linear-gradient(90deg, rgba(0, 0, 0, 0) 0%, rgba(0, 0, 0, .85) 100%) 0% 0% no-repeat; }
  .tabContent .wysiwyg { width: 50%; max-width: 380px; }
}

/*Upcoming Events Widget*/
.upcomingEventsComponent .eventsHeadingArea { margin-bottom: 30px; }

@media all and (max-width: 960px) {
  .upcomingEventsComponent.components { padding: 50px 0; }
  .upcomingEventsComponent.components .wrapper { padding-left: 0; padding-right: 0; }
  .upcomingEventsComponent .eventsHeadingArea { padding-left: 36px; padding-right: 36px; }
  .upcomingEventsComponent .slick-slider.slick-dotted { margin-bottom: 0px; }
}
@media all and (min-width: 961px) {
  .upcomingEventsComponent .eventsHeadingArea { display: flex; justify-content: space-between; align-items: flex-end; }
  .upcomingEventsComponent .eventsHeadingArea h2 { margin-bottom: 0; line-height: 1; }
}

/*News Slider Widget*/
.recentNewsContainer { margin-top: 30px; position: relative; }
.newsSliderComponent .wrapper { max-width: 1440px; }
.recentNewsSlider.slick-slider.slick-dotted { margin-bottom: 0px; }
.newsSlideImg { position: relative; }
.newsSlideImg .blackGradientBG { position: absolute; bottom: 0; left: 0; width: 100%; }
.newsSlideImg img { object-fit: cover; width: 100%; height: 100%; }
.newsSlideContent .preheading { font-weight: 600; }
.recentNewsSlider h3 a { font-family: var(--bodyFont); font-weight: 600; text-decoration: none; }

@media all and (max-width: 960px) {
  .newsSliderComponent.components { padding: 0; }
  .newsHeadingArea { padding: 50px 36px 0 36px; }
  .recentNewsContainer .transparentBlueBG { display: none; }
  .recentNewsContainer { background-color: var(--transparentBlue); }
  .newsSliderComponent.components .wrapper { padding-left: 0px; padding-right: 0px; }
  .newsSlideImg { aspect-ratio: 375 / 315; }
  .newsSlide .blackGradientBG { height: 50%; }
  .recentNewsSlider .slick-dots { bottom: auto; top: calc(75vw - 24px); }
  .recentNewsSlider .slick-prev, .recentNewsSlider .slick-next { bottom: auto; top: calc(75vw - 30px); }
  .recentNewsSlider .slick-prev { left: 18px; }
  .recentNewsSlider .slick-next { right: 18px; }
  .recentNewsSlider .slick-autoplay-toggle-button { top: 10px; bottom: auto; }
  .newsSlideContent { padding: 30px 36px; }
  .newsSlideContent .preheading { font-size: 1rem; }
  .newsSlideContent p { display: none; }
  .recentNewsSlider h3 { font-size: 1.25rem; }
  .newsSlideImg { aspect-ratio: 375 / 315; }
}
@media all and (min-width: 961px) {
  .newsHeadingArea { display: flex; flex-wrap: wrap; gap: 18px; justify-content: space-between; align-items: flex-end; width: 800px; max-width: 59%; }
  .newsHeadingArea h2 { line-height: 1; margin-bottom: 0; }
  .newsHeadingArea .link { margin-top: 0; }
  .recentNewsContainer .transparentBlueBG { position: absolute; top: 36px; left: 0; width: 100%; height: calc(100% - 74px); }
  .newsSlide { display: grid; grid-template-columns: minmax(58%, 800px) minmax(40%, auto); }
  .newsSlideImg { aspect-ratio: 800 / 520; max-width: 100%; height: 100%; }
  .newsSlide .blackGradientBG { height: 25%; }
  .newsSlideContent { padding: 5vw 23px 5vw 4vw; }
  .recentNewsSlider .slick-next, .recentNewsSlider .slick-prev { bottom: 27px; top: auto; }
  .recentNewsSlider .slick-next { left: 130px; right: auto; }
  .recentNewsSlider .slick-prev { left: 40px; right: auto; }
  .recentNewsSlider .slick-autoplay-toggle-button { left: 85px; right: auto; bottom: 27px; }
  .recentNewsSlider .slick-dots { bottom: 35px; text-align: right; width: 800px; max-width: 59%; padding-right: 40px; }
}
@media all and (min-width: 1280px) {
  .newsSlideContent { padding: 4vw 23px 4vw 4vw; }
}

/*Contact Banner*/
.contactBanner { color: var(--darkBlue); position: relative; background-repeat: no-repeat; background-position: center; background-size: cover; }
.contactBanner .wrapper { max-width: 1170px; }
.contactBannerBloop { position: absolute; left: calc(50% - 4px); }
.contactBanner .contactPreheading { color: var(--darkBlue); display: block; font-weight: 500; margin-bottom: 10px; }
.contactBanner h2 { line-height: 1.1; }
.contactBanner h3 { font-size: 1.125rem; font-family: var(--bodyFont); font-weight: 700; margin-bottom: 18px; }
.contactBanner ul { margin: 0; padding-left: 0; }
.contactBanner ul li { padding-left: 0; margin-bottom: 18px; line-height: 1.25; display: flex; flex-wrap: wrap; }
.contactBanner ul li:last-of-type { margin-bottom: 0; }
.contactBanner ul li a { color: var(--darkBlue); font-weight: 400; }
.contactBanner ul li a.link { margin-top: 0; }
section.contactBanner ul li::marker { content:''; }
.contactBannerCol2 ion-icon { color: var(--darkBlue); font-size: 22px; line-height: 1; margin-right: 10px; }

@media all and (max-width: 960px) {
  .contactBanner { background-image: url(/_files/images/mobile-contact-banner-graphic.svg); padding-top: 50px; padding-bottom: 50px; }
  .contactBanner h2 { font-size: 2.25rem; }
  .contactBannerCol2 { margin-top: 18px; margin-bottom: 50px; }
  .contactBannerBloop { display: none; }
}
@media all and (min-width: 961px) {
  .contactBanner { background-image: url(/_files/images/contact-banner-graphic.svg); padding-top: 100px; padding-bottom: 100px; }
  .contactBannerRow { display: flex; justify-content: space-between; }
  .contactBannerCol1 { width: 300px; margin-right: 15%; }
  .contactBannerCol2 { margin-right: 10%; }
  .contactBannerCol3 { max-width: 100%; }
  .contactBannerBloop { bottom: -60px; }
}

/* PROGRAM LISTING PAGE */
.programFiltersSection.components { padding-top: 0; padding-bottom: 10px; }
.programFiltersSection.components .wrapper { max-width: 1440px; }
.programFiltersSection .darkBlueBG { padding-top: 120px; padding-bottom: 88px; box-shadow: 0px 4px 8px #0000004D; }
.programFiltersHeading { display: flex; align-items: center; justify-content: flex-start; gap: 50px; flex-wrap: wrap; margin-bottom: 30px; }
.programFiltersHeading h2 { color: var(--white); font-size: 2.25rem; display: block; min-width: 0; width: fit-content; max-width: 100%; margin-bottom: 0; }
.programFiltersHeading a.link { font-size: 1.375rem; min-width: 0; margin-top: 0; font-weight: 300; }
.programFiltersHeading a.link::after { content: url(/_files/images/right-arrow-white.svg); }

/*Program Filters*/
.filtersFlexRow { display: flex; gap: 30px; flex-wrap: wrap; align-items: flex-end; }
.filtersFlexRow fieldset { min-width: 0; }
.filtersFlexRow .searchGroup { flex-grow: 1; }
.filtersFlexRow .searchInput { height: 48px; width: 100%; padding: 14px 54px 14px 20px; border: none; border-radius: 0; box-shadow: none; background-color: var(--white); color: var(--darkBlue); background-image: url(/_files/images/search.svg); background-repeat: no-repeat; background-position: calc(100% - 14px) 50%; background-size: 24px 24px; }
.filtersFlexRow .searchInput::placeholder { color: var(--darkBlue); font-size: 1rem; color: var(--darkBlue); }
.filtersFlexRow .searchInput:focus, .filtersFlexRow .searchInput:focus-within, .filtersFlexRow .searchInput:focus-visible { border: none; outline: 2px solid var(--lightBlue); }
.filtersFlexRow .dropdownGroup { min-width: 0; position: relative; }
.filtersFlexRow .dropdownFilterButton { height: 48px; width: 307px; max-width: 100%; padding: 14px 65px 14px 20px; font-weight: 400; font-size: 1rem; background-color: var(--white); color: var(--darkBlue); border: none; text-align: left; position: relative; }
.filtersFlexRow .dropdownFilterButton::after { content: url(/_files/images/down-arrow-dark-blue.svg); display: block; position: absolute; bottom: 0; right: 0; height: 48px; width: 48px; padding: 17px; transition: var(--transition); }
.filtersFlexRow .dropdownFilterButton[aria-expanded="true"]::after { transform: rotate(180deg); }
.filtersFlexRow .filterDropdownPanel { position: absolute; width: 100%; top: 48px; left: 0; background-color: var(--white); color: var(--darkBlue); box-shadow: 0px 3px 6px #00000029; z-index: 10; margin: 0; padding: 15px 40px 11px 40px; list-style: none; }
.dropdownFilterButton[aria-expanded="false"] + .filterDropdownPanel { display: none; }
.dropdownFilterButton[aria-expanded="true"] + .filterDropdownPanel { display: block; }
.filtersFlexRow .filterDropdownPanel li { padding: 0; margin-bottom: 15px; }
.filtersFlexRow .filterDropdownPanel li::marker { content: none; }
.filtersFlexRow .filterDropdownPanel li button { padding: 0; border: none; outline: none; font-weight: 400; font-size: 1rem; text-align: left; width: 100%;  }
.filtersFlexRow .filterDropdownPanel li button:hover, .filtersFlexRow .filterDropdownPanel li button:focus { color: var(--mediumBlue); text-decoration: underline; }
.filtersFlexRow .filterDropdownPanel li button.mixitup-control-active { color: var(--red); text-decoration: underline; }
.button.clear-filters { background-color: var(--red); border: none; width: fit-content; margin: 0; }
.button.clear-filters:hover, .button.clear-filters:focus { background-color: var(--salmon); }

@media all and (max-width: 600px) {
  .filtersFlexRow fieldset { width: 100%; }
  .filtersFlexRow .dropdownFilterButton { width: 100%; }
}
@media all and (max-width: 960px) {
  .programFiltersSection .darkBlueBG { padding-top: 50px; padding-bottom: 50px; }
  .programFiltersHeading { gap: 20px; margin-bottom: 40px; }
  .filtersFlexRow { gap: 20px; }
  .filterDropdownPanel li { display: flex; gap: 8px; }
}
@media all and (min-width: 961px) {
  .filtersFlexRow .searchInput { width: calc(100% - 20px); min-width: 307px; }
  .formatMobileIcon { display: none; }
}

/*Filter Legend*/
ul.filterIconsList { list-style: none; position: relative; top: -40px; margin-bottom: -40px; padding: 28px; display: grid; grid-template-columns: repeat(4, minmax(0, 270px)); gap: 40px; text-align: center; align-items: center; justify-content: space-between; }
ul.filterIconsList li { padding: 0; margin: 0; }
ul.filterIconsList li::marker { content: none; }
ul.filterIconsList li img { margin-bottom: 18px; margin-left: auto; margin-right: auto; }
ul.filterIconsList p { line-height: 1.1; }
ul.filterIconsList p strong { display: block; margin-bottom: 10px; }

/*List/Card View Toggle*/
#programViewToggle { margin-top: 30px; display: flex; justify-content: flex-end; }
#programViewToggle input { margin-right: 8px; margin-left: 9px; opacity: 0; }
#programViewToggle input:focus-visible { opacity: 1; }
#programViewToggle label { font-size: 0.938rem; color: var(--darkBlue); display: flex; align-items: center; opacity: .75; cursor: pointer; }
#programViewToggle input[type="radio"]:checked + label { opacity: 1; }
#programViewToggle label ion-icon { font-size: 24px; margin-left: 10px; }
.listViewLabel ion-icon { font-size: 30px; }

/*Program Cards and Table*/
.programListingSection .wrapper { max-width: 1626px; }
.no-results { display: none; padding: 50px 0; }
.mixitup-container-failed > .no-results { display: block; font-weight: 500; font-size: 1.125rem; }
.listViewLabelRow { display: none; }
.programListingLink { display: block; width: 100%; text-decoration: none; }
p.programDivisionDept { font-weight: 600; margin-top: 16px; }
ul.programTypes { margin-left: 0; margin-bottom: 10px; padding-left: 0; list-style: none; }
ul.programTypes li { display: inline-block; padding-left: 0; margin-bottom: 0; line-height: 1.1; }
ul.programTypes li::after { content:', '; }
ul.programTypes li:last-of-type::after { content:''; }
.programListingBottomRow .link { margin-top: 0; }
ul.programFormats { list-style: none; padding-left: 0; margin-bottom: 0;text-align: right; flex-grow: 1; display: flex; gap: 15px;}
ul.programFormats li { padding: 0; margin: 0; display: block; min-width: 0; }
.programListingSection #loadMore { display: block; margin-top: 50px; margin-left: auto; margin-right: auto; }

@media all and (max-width: 960px) {
  .programListingSection.components { padding-top: 15px; padding-bottom: 50px; }
  .programListingContent { padding: 16px 30px; }
  .programListingContainer .cell:nth-child(even) .programListingContent { background-color: rgba(241, 90, 79, .05); }
  ul.programTypes li { color: var(--red); font-weight: 500; font-size: 1rem; }
  .programListingContent h3 { font-family: var(--bodyFont); font-weight: 600; font-size: 1.125rem; margin-bottom: 15px; }
  p.programDivisionDept { display: none; }
  .programListingBottomRow .link { display: none; }
  .programFormats li img { width: 38px; height: 38px; }
  .programListingBloop { display: none; }
}
@media all and (min-width: 961px) {
  .programListingSection { position: relative; padding-bottom: 108px; }
  .programListingBloop { position: absolute; left: calc(50% - 4px); }
  .programListingBloop { bottom: -60px; }

  /* Card View */
  .programListingSection.cardViewActivated .programListingContainer { display: grid; gap: 44px; }
  .programListingSection.cardViewActivated .programListing { height: 100%; background-color: var(--white); -webkit-box-shadow: 0px 0px 8px #00000026; box-shadow: 0px 0px 8px #00000026; }
.programListingSection.cardViewActivated .programListingLink { height: 100%; display: flex; flex-direction: column; justify-content: center; background-color: var(--white); position: relative; border-top: 6px solid var(--salmon); }
  .cardLineR { position: absolute; top: -1px; right: 0; height: 100%; width: 6px; background-color: var(--salmon); clip-path: polygon(0% 0%, 100% 0%, 100% 0%, 0% 0%); }
  .programListingSection.cardViewActivated .programListingLink:hover .cardLineR { animation-name: drawBorderR; animation-duration: .25s; animation-fill-mode: forwards; }
  .cardLineB { position: absolute; bottom: 0; left: 0; height: 6px; width: 100%; background-color: var(--salmon); clip-path: polygon(100% 0%, 100% 0%, 100% 100%, 100% 100%); }
  .programListingSection.cardViewActivated .programListingLink:hover .cardLineB { animation-name: drawBorderB; animation-duration: .2s; animation-fill-mode: forwards; animation-delay: .15s; }
  .cardLineL { position: absolute; left: 0; top: -1px; height: 100%; width: 6px; background-color: var(--salmon); clip-path: polygon(0% 100%, 100% 100%, 100% 100%, 0% 100%); }
  .programListingSection.cardViewActivated .programListingLink:hover .cardLineL { animation-name: drawBorderL; animation-duration: .2s; animation-fill-mode: forwards; animation-delay: .35s; }
  @keyframes drawBorderR {
    0% { clip-path: polygon(0% 0%, 100% 0%, 100% 0%, 0% 0%); }
    100% { clip-path: polygon(0% 0%, 100% 0%, 100% 100%, 0% 100%); }
  }
  @keyframes drawBorderB {
    0% { clip-path: polygon(100% 0%, 100% 0%, 100% 100%, 100% 100%); }
    100% { clip-path: polygon(0% 0%, 100% 0%, 100% 100%, 0% 100%); }
  }
  @keyframes drawBorderL {
    0% { clip-path: polygon(0% 100%, 100% 100%, 100% 100%, 0% 100%); }
    100% { clip-path: polygon(0% 0%, 100% 0%, 100% 100%, 0% 100%); }
  }

  .programListingSection.cardViewActivated .programListingContent { padding: 30px; position: relative; width: 100%; }
  .programListingSection.cardViewActivated ul.programTypes li { color: var(--red); font-weight: 500; }
  .programListingSection.cardViewActivated .programListingBottomRow { display: flex; justify-content: space-between; align-items: center; gap: 16px; flex-wrap: wrap; }
  .programListingSection.cardViewActivated ul.programFormats { justify-content: flex-end; }

  /* List View */
  .programListingSection.listViewActivated .listViewLabelRow { display: grid; grid-template-columns: auto 300px 200px; gap: 40px; align-items: center; padding: 12px 64px; font-weight: 600; }
  .programListingSection.listViewActivated .programListingContent { padding: 7px 64px; display: grid; grid-template-columns: auto 300px 200px; gap: 40px; align-items: center; }
  .programListingSection.listViewActivated .cell:nth-child(odd) .programListingContent { background-color: rgba(241, 90, 79, .05); }
  .programListingSection.listViewActivated .programListingContent h3 { order: 1; font-family: var(--bodyFont); font-weight: 600; color: var(--black); font-size: 1.25rem; margin-bottom: 0; }
  .programListingSection.listViewActivated ul.programTypes { order: 2; margin-bottom: 0; }
  .programListingSection.listViewActivated p.programDivisionDept { display: none; }
  .programListingSection.listViewActivated .programListingBottomRow .link { display: none; }
  .programListingSection.listViewActivated .programListingBottomRow { order: 3; }
}
@media (min-width: 961px) and (max-width: 1200px) {
  .programListingSection.cardViewActivated .programListingContainer { grid-template-columns: repeat(2, minmax(0px, 1fr)); }
  .programListingSection.cardViewActivated .no-results { grid-column: 1 / span 2; }
}
@media (min-width: 1201px) {
  .programListingSection.cardViewActivated .programListingContainer { grid-template-columns: repeat(3, minmax(0px, 1fr)); }
  .programListingSection.cardViewActivated .no-results { grid-column: 1 / span 3; }
}

/* PROGRAM LANDING PAGE */
@media (min-width: 961px) {
  .programPage .components { padding: 45px 0; }
}

/* Program Page Impact Area */
@media (max-width: 960px) {
  .programPage .impactContainer { margin-bottom: 20px; }
  .programPage .shortImpact picture { aspect-ratio: 960 / 1045; }
  .programPage .shortImpact picture img { height: 100%; }
}

/* Program Page Overview */
.programOverview.oneColumnComponent.components { padding: 0; }
.programPage .programOverview .wrapper { max-width: 1668px; }
.programIntro { text-align: center; }
.programIntro .preheading { margin-bottom: 15px; }
.programIntro h1 { margin-bottom: 15px; }
.programIntro .summaryParagraph { font-weight: 600; line-height: 1.25; }
.programDetailsBox { width: 100%; max-width: 915px; margin-left: auto; margin-right: auto; outline: 1px solid var(--white); outline-offset: -16px; padding: 45px 50px; }
.programDetailsBox h2 { text-align: center; color: var(--white); margin-bottom: 30px; }
.programDetailsBox dl { line-height: 1.25; }
.programDetailsBox dt { font-weight: 600; margin-bottom: 10px; }
.programDetailsBox dd { font-size: 1rem; margin-bottom: 30px; }
.programDetailsBox dd:last-of-type { margin-bottom: 0; }
.programDetailsBox .formatsTextList .formatListItem::after { content: ','; }
.programDetailsBox .formatsTextList .formatListItem:last-of-type::after { content: ''; }
.programDetailsBox dd img { display: inline-block; margin-right: 8px; margin-top: 16px; }

@media (max-width: 960px) {
  .programOverview.oneColumnComponent.components { padding-top: 20px; }
  .programOverview.components .wrapper { padding-left: 17px; padding-right: 17px; padding-bottom: 15px; }
  .programIntro { margin-bottom: 70px; padding: 0 20px; }
  .programDetailsBox dd img { margin-top: 10px; }
  .programDetailsBox dl:first-of-type { margin-bottom: 30px; }
}

@media (min-width: 961px) {
  .programOverview.components .wrapper { padding-top: 30px; }
  .programOverview .oneColumnBloopBottom { bottom: 0; }
  .programIntro { margin-bottom: 80px; }
  .programDetailsColumns { display: flex; justify-content: center; }
  .programDetailsColumns dl { width: 27%; border-right: 1px solid rgba(255,255,255,.5); padding-right: 5%; margin-right: 5%; }
  .programDetailsColumns dl:first-of-type { width: 36%; }
  .programDetailsColumns dl:last-of-type { border-right: none; padding-right: 0; margin-right: 0; }
}

/* Program Page One Column */
.programOneColumn .wrapper { max-width: 1440px; }

/* Program Page Highlights */
.programHighlights .wrapper { max-width: 1440px; }
.highlightsBox h2 { margin-bottom: 30px; }
@media (max-width: 960px) {
  .programHighlights .wrapper { padding-left: 0; padding-right: 0; }
  .highlightsBox { padding: 30px 36px; }
}
@media (min-width: 961px) {
  .highlightsBox { padding: 40px 60px; }
  .highlightsBox .wysiwyg { margin-left: 65px; }
}

/*Program Page Class Requirements*/
.programClassRequirements .wrapper { max-width: 1440px; }
.programClassRequirements .subheading { font-size: 1.125rem; margin-top: 10px; margin-bottom: 25px; }
.programClassRequirements .courseList { font-weight: 600; margin-bottom: 0; margin-top: 25px; }
@media (min-width: 961px) {
  .programClassRequirements .courseList { columns: 2; }
}

/* Program Page Faculty */
.programFaculty.components .wrapper.twoOrLess { max-width: 1180px }
.programFaculty .facultyHeadingArea { margin-bottom: 30px; }
.facultyLink { display: block; text-decoration: none; }
.facultyRow { background-color: var(--white); box-shadow: 0 3px 6px rgba(0,0,0,.16); position: relative; }
.facultyCell { text-align: center; position: relative; }
.facultyCell img { margin: 0 auto 20px auto; }
.facultyCell .facultyName { font-size: 1.25rem; display: block; color: var(--darkBlue); font-weight: 600; line-height: 1.2; margin-bottom: 10px; }
.facultyCell .facultyTitle { font-size: 1rem; color: var(--darkBlue); font-weight: 500; line-height: 1.2; display: block; }

@media all and (max-width: 960px) {
  .facultyHeadingArea .link { margin-top: 10px; }
  .programFaculty .slick-slider.slick-dotted { margin-bottom: 0px; }
  .facultyCell { padding-top: 30px; padding-left: 50px; padding-right: 50px; }
  .slick-slide .facultyLink img { width: 115px; }
  /*Mobile Faculty Slider*/
  .facultyMobileSlider.slick-slider.slick-dotted { padding-bottom: 60px; }
  .facultyMobileSlider .slick-dots { bottom: 15px; }
  .facultyMobileSlider .slick-dots li button { padding: 6px; height: 21px; width: 21px; }
  .facultyMobileSlider .slick-dots li button .slick-dot-icon { background-color: var(--black); }
  .facultyMobileSlider .slick-dots li.slick-active button .slick-dot-icon { background-color: var(--red); }
}
@media (min-width: 560px) and (max-width: 961px) {
  .facultyMobileSlider .slick-slide:nth-child(odd) .facultyCell::after { content: url('/_files/images/bloop-line-events.svg'); display: block; position: absolute; top: calc(50% - 57px); right: 0; width: 6px; height: 115px; }
  .facultyMobileSlider .slick-slide:last-of-type .facultyCell::after { content: ''; }
}
@media all and (min-width: 961px) {
  .programFaculty .facultyHeadingArea { display: flex; justify-content: space-between; align-items: flex-end; }
  .programFaculty .twoOrLess .facultyHeadingArea { display: block; text-align: center; }
  .programFaculty .twoOrLess .facultyHeadingArea .link { margin-left: auto; margin-right: auto; }
  .programFaculty .facultyHeadingArea h2 { margin-bottom: 0; line-height: 1; }
  .facultyRow { display: flex; flex-wrap: wrap; justify-content: center; row-gap: 50px; padding: 30px 0px; }
  .facultyCell { min-width: 0; width: 25%; padding-left: 30px; padding-right: 30px; }
  .programFaculty .twoOrLess .facultyCell { width: 340px; max-width: 50%; }
  .facultyCell::after { content: url('/_files/images/bloop-line-events.svg'); display: block; position: absolute; top: calc(50% - 57px); right: 0; width: 6px; height: 115px; }
  .facultyCell:nth-of-type(4)::after, .facultyCell:last-of-type::after { content: ''; }
  .facultyCell a { width: 320px; max-width: 100%; }
  .facultyLink img, .facultyName { transition: var(--transition); }
  .facultyLink:hover img, .facultyLink:focus img { margin-top: -5px; margin-bottom: 25px; }
  .facultyLink:hover .facultyName, .facultyLink:focus .facultyName { color: var(--mediumBlue); }
}
@media all and (min-width: 1280px) {
  .facultyRow { padding: 45px 20px; }
  .facultyCell { padding-left: 50px; padding-right: 50px; }
}

/* Program Page Tracks and Concentrations */
.programPage .programTracks { margin-top: 45px; padding-top: 40px; padding-bottom: 80px; }
.programTracks .wrapper { max-width: 1440px; }
.programTracks .preheading { color: var(--salmon); text-align: center; font-size: 1.5rem; font-weight: 600; }
.programTracks h2 { color: var(--white); text-align: center; }
.programTracks .swipeText { font-weight: 600; text-align: center; }
.programTracks .swipeText::after { content: url(/_files/images/right-arrow-white.svg); margin-left: 20px; }
.lightBlueBorder { border: 6px solid var(--lightBlue); }
.mediumBlueBorder { border: 6px solid var(--mediumBlue); }
.lightRedBorder { border: 6px solid var(--salmon); }
.programOptionBox .programPopupLink { display: block; position: relative; aspect-ratio: 400 / 300; overflow: hidden; }
.programOptionBox img { width: 100%; height: 100%; object-fit: cover; transition: var(--transition); }
.programOptionBox .blackGradientBG { position: absolute; left: 0; top: 0; width: 100%; height: 100%; display: flex; flex-direction: column; align-items: center; justify-content: flex-end; padding: 30px; text-align: center; }
.programOptionBox ion-icon { font-size: 40px; margin-bottom: 20px; }
.programOptionBox .link { margin-top: 20px; }
.programOptionBox .blackGradientBG .link::after { content: url(/_files/images/right-arrow-white.svg); }

/*Program Popups*/
.programPage .mfp-bg { background: var(--darkBlue); opacity: .9; }
.programPopup { background-color: var(--white); position: relative; width: 1150px; max-width: 100%; margin: 78px auto; }
.programPopup .mfp-close { left: -15px; right: auto; top: -64px; }
.programPopupSlider .slick-next { bottom: 14px; top: auto; right: 14px; left: auto; }
.programPopupSlider .slick-prev { bottom: 14px; top: auto; right: 60px; left: auto; }
.programPopupSlider.slick-slider.slick-dotted { margin-bottom: 0; }
.programPopupSlider .slick-dots { bottom: auto; top: -50px; text-align: right; width: auto; left: auto; right: -16px; }
.otherOptionsText { position: absolute; bottom: 24px; right: 120px; font-weight: 600; color: var(--white); }
.programSlideText .preheading { font-size: 1.125rem; }
.programSlideLinks .link { margin-top: 15px; }
.programSlideText h4 { font-family: var(--bodyFont); font-weight: 600; font-size: 1.125rem; margin-bottom: 15px; }
.programSlideText ul li { font-size: 1rem; margin-bottom: 15px; padding-left: 8px; font-weight: 600; }
.programSlideText ul li::marker { color: var(--red); }
.programSlideText ul li::marker { content: url(/_files/images/right-arrow-red.svg); }
.programSlideImg { position: relative; }
.programSlideImg .blackGradientBG { position: absolute; bottom: 0; left: 0; width: 100%; height: 30%; }

@media all and (max-width: 960px) {
  .programSlideImg img { height: 100%; aspect-ratio: 330 / 190; object-fit: cover; }
  .slideHideMobile { display: none; }
  .programSlideText { padding: 40px 20px; }
  .programSlideText h3 { font-size: 1.5rem; }
  .programSlideText .wysiwyg p:not(:first-of-type) { display: none; }
  .otherOptionsText { left: 16px; right: auto; }
}

@media all and (min-width: 961px) {
  .programTracks h2 { margin-bottom: 50px; }
  .programTracks .swipeText { display: none; }
  .programOptionsRow { display: grid; grid-template-columns: repeat(3, minmax(0px, 1fr)); gap: 30px; }
  .programPopupLink:hover img { transform:scale(1.05); }
  .programSlideRow { display: flex; }
  .programSlideText { width: 58%; padding: 50px 60px; }
  .programSlideText h3 { font-size: 2.25rem; }
  .programSlideLinks { display: flex; flex-wrap: wrap; gap: 50px; margin-top: 18px; margin-bottom: 60px; }
  .programSlideImg { width: 42%; }
  .programSlideImg img { height: 100%; aspect-ratio: 480 / 730; object-fit: cover; }
}

/* Program Page Quote Section */
.programPage .quoteComponent.components { padding: 0; }

/* Program Page Requirements and Prerequisites */
.programRequirements h2 { margin-bottom: 30px; }
.programRequirements ul { font-weight: 600; }
.programRequirements ul li { margin-bottom: 15px; }
.programRequirements .wrapper { max-width: 1440px; }
.prerequisitesBox { background-color: rgba(241, 90, 79, .15); text-align: center; font-size: 1.18rem; }
.prerequisitesBox h3 { color: var(--red); margin-bottom: 15px; font-size: 2.25rem; }
.prerequisitesBox p a, .prerequisitesBox section ul a, .prerequisitesBox section ol a { font-weight: 700; }
.requirementsRow a.button { margin-right: 10px; }
@media all and (max-width: 960px) {
  .programRequirements .requirementsImg { margin-top: 50px; }
  .prerequisitesBox { margin-top: 50px; padding: 50px 20px; }
}
@media all and (min-width: 961px) {
  .programRequirements .requirementsRow { display: grid; grid-template-columns: repeat(2, minmax(0px, 1fr)); }
  .programRequirements .requirementsImg { margin-left: 50px; }
  .prerequisitesBox { margin-top: 100px; padding: 40px 120px; }
}

/* Program Page Three Column Cards */
@media all and (max-width: 960px) {
  .programPage .threeFourColumnCardsComponent.components { margin-top: 30px; }
}
@media all and (min-width: 961px) {
  .programPage .threeFourColumnCardsComponent.components { padding: 75px 0; margin-top: 45px; }
}

/* Program Page Statistics */
.programPage .statisticsComponent.components { padding: 0; }

/* Program Page Related Programs */
.relatedProgramsSection .wrapper { max-width: 1440px; }
.relatedProgramsSection h2 { margin-bottom: 30px; }
.relatedProgramBox .relatedProgramLink { display: block; position: relative; overflow: hidden; aspect-ratio: 430 / 320; }
.relatedProgramBox img { transition: var(--transition); width: 100%; height: 100%; object-fit: cover; }
.relatedProgramBox .blackGradientBG { position: absolute; left: 0; top: 0; width: 100%; height: 100%; display: flex; flex-direction: column; justify-content: flex-end; padding: 30px; }
.relatedProgramBox h3 { line-height: 1; }
.relatedProgramBox .link { margin-top: 5px; }
@media all and (max-width: 960px) {
  .relatedProgramsSection .wrapper { padding-left: 0; padding-right: 0; }
  .relatedProgramsSection .preheading, .relatedProgramsSection h2 { padding-left: 36px; padding-right: 36px; }
  .relatedProgramBox { margin-bottom: 40px; }
  .relatedProgramBox:last-of-type { margin-bottom: 0px; }
}
@media all and (min-width: 961px) {
  .relatedProgramsRow { display: grid; grid-template-columns: repeat(3, minmax(0px, 1fr)); gap: 30px; }
  .relatedProgramBox .relatedProgramLink:hover img { transform:scale(1.05); }
}

/* Program Page News Section */
@media all and (max-width: 960px) {
  .programPage .newsSliderComponent.components { padding: 30px 0; }
  .programPage .newsHeadingArea { padding-top: 0; }
}
/* Program Page Upcoming Events */
.programUpcomingEvents { padding-bottom: 50px; }
@media (max-width: 960px) {
    .programUpcomingEvents.components { padding: 30px 0 50px; }
    .programUpcomingEvents h2 { margin-bottom: 0px; }
}

/* Program Page Contact Banner */
@media (min-width: 961px) {
  .programPage .contactBanner { margin-top: 45px; padding-top: 100px; padding-bottom: 100px; }
}

/*PLUGINS*/

/*Magnific Popup*/
.mfp-bg { top: 0; left: 0; width: 100%; height: 100%; z-index: 1042; overflow: hidden; position: fixed; background: var(--black); opacity: 0.8; }
.mfp-wrap { top: 0; left: 0; width: 100%; height: 100%; z-index: 1043; position: fixed; outline: none !important; -webkit-backface-visibility: hidden; }
.mfp-container { text-align: center; position: absolute; width: 100%; height: 100%; left: 0; top: 0; padding: 0 8px; box-sizing: border-box; }
.mfp-container:before { content: ''; display: inline-block; height: 100%; vertical-align: middle; }
.mfp-align-top .mfp-container:before { display: none; }
.mfp-content { position: relative; display: inline-block; vertical-align: middle; margin: 0 auto; text-align: left; z-index: 1045; }
.mfp-inline-holder .mfp-content, .mfp-ajax-holder .mfp-content { width: 100%; cursor: auto; }
.mfp-ajax-cur { cursor: progress; }
.mfp-zoom-out-cur, .mfp-zoom-out-cur .mfp-image-holder .mfp-close { cursor: -moz-zoom-out; cursor: -webkit-zoom-out; cursor: zoom-out; }
.mfp-zoom { cursor: pointer; cursor: -webkit-zoom-in; cursor: -moz-zoom-in; cursor: zoom-in; }
.mfp-auto-cursor .mfp-content { cursor: auto; }
.mfp-close, .mfp-arrow, .mfp-preloader, .mfp-counter { -webkit-user-select: none; -moz-user-select: none; user-select: none; }
.mfp-loading.mfp-figure { display: none; }
.mfp-hide { display: none !important; }
.mfp-preloader { color: var(--gray); position: absolute; top: 50%; width: auto; text-align: center; margin-top: -0.8em; left: 8px; right: 8px; z-index: 1044; }
.mfp-preloader a { color: var(--gray); }
.mfp-preloader a:hover { color: var(--white); }
.mfp-s-ready .mfp-preloader { display: none; }
.mfp-s-error .mfp-content { display: none; }
button.mfp-close, button.mfp-arrow { overflow: visible; cursor: pointer; background: transparent; border: 0; -webkit-appearance: none; display: block; outline: none; padding: 0; z-index: 1046; box-shadow: none; touch-action: manipulation; }
button::-moz-focus-inner { padding: 0; border: 0; }
.mfp-close, button.mfp-close { width: auto; height: auto; line-height: 1; position: absolute; right: 0; top: 0; text-decoration: none; text-align: left; opacity: 1; padding: 8px 40px 8px 8px; color: var(--white); font-style: normal; font-family: var(--bodyFont); font-weight: 600; font-size: 1.5rem; }
.mfp-close::after { content: '\00D7'; font-weight: 400; font-size: 40px; display: block; position: absolute; right: 0; top: 0; height: 40px; width: 40px; text-align: right; }
.mfp-close:hover, .mfp-close:focus { opacity: .85; }
.mfp-close-btn-in .mfp-close { color: var(--gray); }
.mfp-image-holder .mfp-close, .mfp-iframe-holder .mfp-close { color: var(--white); right: 0; text-align: right; width: 100%; }
.mfp-counter { position: absolute; top: 0; right: 0; color: var(--gray); font-size: 12px; line-height: 18px; white-space: nowrap; }
.mfp-arrow { position: absolute; opacity: 0.65; margin: 0; top: 50%; margin-top: -55px; padding: 0; width: 90px; height: 110px; -webkit-tap-highlight-color: transparent; }
.mfp-arrow:active { margin-top: -54px; }
.mfp-arrow:hover, .mfp-arrow:focus { opacity: 1; }
.mfp-arrow:before, .mfp-arrow:after { content: '';  display: block; width: 0; height: 0; position: absolute; left: 0; top: 0; margin-top: 35px; margin-left: 35px; border: medium inset transparent; }
.mfp-arrow:after { border-top-width: 13px; border-bottom-width: 13px; top: 8px; }
.mfp-arrow:before { border-top-width: 21px; border-bottom-width: 21px; opacity: 0.7; }
.mfp-arrow-left { left: 0; }
.mfp-arrow-left:after { border-right: 17px solid var(--white); margin-left: 31px; }
.mfp-arrow-left:before { margin-left: 25px; border-right: 27px solid #3F3F3F; }
.mfp-arrow-right { right: 0; }
.mfp-arrow-right:after { border-left: 17px solid var(--white); margin-left: 39px; }
.mfp-arrow-right:before { border-left: 27px solid #3F3F3F; }
.mfp-iframe-holder { padding-top: 44px; padding-bottom: 40px; }
.mfp-iframe-holder .mfp-content { line-height: 0; width: 100%; max-width: 900px; }
.mfp-iframe-holder .mfp-close { top: -44px; }
.mfp-iframe-scaler { width: 100%; height: 0; overflow: hidden; padding-top: 56.25%; }
.mfp-iframe-scaler iframe { position: absolute; display: block; top: 0; left: 0; width: 100%; height: 100%; box-shadow: 0 0 8px rgba(0, 0, 0, 0.6); background: var(--black); }
img.mfp-img { width: auto; max-width: 100%; height: auto; display: block; line-height: 0; box-sizing: border-box; padding: 40px 0 40px; margin: 0 auto; }
.mfp-figure { line-height: 0; }
.mfp-figure:after { content: ''; position: absolute; left: 0; top: 40px; bottom: 40px; display: block; right: 0; width: auto; height: auto; z-index: -1; box-shadow: 0 0 8px rgba(0, 0, 0, 0.6); background: var(--gray); }
.mfp-figure small { color: var(--gray); display: block; font-size: 12px; line-height: 14px; }
.mfp-figure figure { margin: 0; }
.mfp-bottom-bar { margin-top: -36px; position: absolute; top: 100%; left: 0; width: 100%; cursor: auto; }
.mfp-title { text-align: left; line-height: 18px; color: var(--gray); word-wrap: break-word; padding-right: 36px; }
.mfp-image-holder .mfp-content { max-width: 100%; }
.mfp-gallery .mfp-image-holder .mfp-figure { cursor: pointer; }

/*Simple fade transition*/
.mfp-fade.mfp-bg { opacity: 0; -webkit-transition: all 0.15s ease-out; -moz-transition: all 0.15s ease-out; transition: all 0.15s ease-out; }
.mfp-fade.mfp-bg.mfp-ready { opacity: 0.8; }
.mfp-fade.mfp-bg.mfp-removing { opacity: 0; }
.mfp-fade.mfp-wrap .mfp-content { opacity: 0; -webkit-transition: all 0.15s ease-out;  -moz-transition: all 0.15s ease-out; transition: all 0.15s ease-out; }
.mfp-fade.mfp-wrap.mfp-ready .mfp-content { opacity: 1; }
.mfp-fade.mfp-wrap.mfp-removing .mfp-content { opacity: 0; }

@media all and (max-width: 800px) and (orientation: landscape), screen and (max-height: 300px) {
  .mfp-img-mobile .mfp-image-holder { padding-left: 0; padding-right: 0; }
  .mfp-img-mobile img.mfp-img { padding: 0; }
  .mfp-img-mobile .mfp-figure:after { top: 0; bottom: 0; }
  .mfp-img-mobile .mfp-figure small { display: inline; margin-left: 5px; }
  .mfp-img-mobile .mfp-bottom-bar { background: rgba(0, 0, 0, 0.6); bottom: 0; margin: 0; top: auto; padding: 3px 5px; position: fixed; box-sizing: border-box; }
  .mfp-img-mobile .mfp-bottom-bar:empty { padding: 0; }
  .mfp-img-mobile .mfp-counter { right: 5px; top: 3px; }
  .mfp-img-mobile .mfp-close { top: 0; right: 0; width: 35px; height: 35px; line-height: 35px; background: rgba(0, 0, 0, 0.6); position: fixed; text-align: center; padding: 0; }
}

@media all and (max-width: 900px) {
  .mfp-arrow { -webkit-transform: scale(0.75); transform: scale(0.75); }
  .mfp-arrow-left { -webkit-transform-origin: 0; transform-origin: 0; }
  .mfp-arrow-right { -webkit-transform-origin: 100%; transform-origin: 100%; }
  .mfp-container { padding-left: 6px; padding-right: 6px; }
}

/*Custom Global Styles for Magnific Popup*/
.mfp-content { width: 1150px; max-width: 90%; margin: 0 auto; }
.popup-youtube, .popup-vimeo { display: block; position: relative; }
.popup-youtube::after, .popup-vimeo::after { content:''; display: block; position: absolute; top: 0; left: 0; width: 100%; height: 100%; background-image: url('/_files/images/video-play-button.svg'); background-repeat: no-repeat; background-size: 72px 50px; background-position: center; }

/*Slick Slider Base Min CSS*/
.slick-slider{position:relative;display:block;box-sizing:border-box;-webkit-touch-callout:none;-webkit-user-select:none;-khtml-user-select:none;-moz-user-select:none;-ms-user-select:none;user-select:none;-ms-touch-action:pan-y;touch-action:pan-y;-webkit-tap-highlight-color:transparent}.slick-list{position:relative;overflow:hidden;display:block;margin:0;padding:0}.slick-list:focus{outline:0}.slick-list.dragging{cursor:pointer;}.slick-slider .slick-list,.slick-slider .slick-track{-webkit-transform:translate3d(0,0,0);-moz-transform:translate3d(0,0,0);-ms-transform:translate3d(0,0,0);-o-transform:translate3d(0,0,0);transform:translate3d(0,0,0)}.slick-track{position:relative;left:0;top:0;display:block;margin-left:auto;margin-right:auto}.slick-track:after,.slick-track:before{content:"";display:table}.slick-track:after{clear:both}.slick-loading .slick-track{visibility:hidden}.slick-slide{float:left;height:100%;min-height:1px;display:none}[dir=rtl] .slick-slide{float:right}.slick-slide img{display:block; width: 100%;}.slick-slide.slick-loading img{display:none}.slick-slide.dragging img{pointer-events:none}.slick-initialized .slick-slide{display:block}.slick-loading .slick-slide{visibility:hidden}.slick-vertical .slick-slide{display:block;height:auto;border:1px solid transparent}.slick-arrow.slick-hidden{display:none}

/*Accessible Slick Theme Custom*/
.slick-loading .slick-list{background:#fff;}
.slick-next,.slick-prev{position:absolute;top:50%;display:block;padding:5px;height:44px;width:44px;line-height:0;font-size:0;cursor:pointer;background:0 0;color:transparent;border:none; z-index: 10;}
.slick-next.slick-disabled,.slick-prev.slick-disabled{cursor:default}
.slick-next .slick-next-icon,.slick-next .slick-prev-icon,.slick-prev .slick-next-icon,.slick-prev .slick-prev-icon{display:block;color:#fff;font-family:inherit;font-size:24px;line-height:1}
.slick-prev{left:0; }
[dir=rtl] .slick-prev{left:auto;right:0;}
.slick-prev .slick-prev-icon:before{content:url(/_files/images/slider-previous-circle.svg);}
[dir=rtl] .slick-prev .slick-prev-icon:before{content:url(/_files/images/slider-next-circle.svg);}
.slick-next{right:0px}
[dir=rtl] .slick-next{left:0;right:auto}
.slick-next .slick-next-icon:before{content:url(/_files/images/slider-next-circle.svg);}
[dir=rtl] .slick-next .slick-next-icon:before{content:url(/_files/images/slider-previous-circle.svg);}
.slick-slider.slick-dotted{margin-bottom:50px}
.slick-dots{position:absolute;bottom:-40px;left:0;display:block;padding:0;margin:0;width:100%;list-style:none;text-align:center}
.slick-dots li{position:relative;display:inline-block;margin:0;padding:0}
.slick-dots li button { display:block;height:30px;width:30px;line-height:0;font-size:0;color:transparent;border:0;background:0 0;cursor:pointer; padding:10px; margin: 0;}
.slick-dots li button .slick-dot-icon { display: block; height:100%; width:100%; border: none; background-color: var(--white); opacity: .4; border-radius: 50%; }
.slick-dots li.slick-active button .slick-dot-icon { background-color: var(--white); opacity: 1; }
.slick-sr-only{border:0!important;clip:rect(1px,1px,1px,1px)!important;-webkit-clip-path:inset(50%)!important;clip-path:inset(50%)!important;height:1px!important;margin:-1px!important;overflow:hidden!important;padding:0!important;position:absolute!important;width:1px!important;white-space:nowrap!important}
.slick-autoplay-toggle-button{position:absolute;right:10px;bottom:10px;z-index:10;background:0 0;border:0;cursor:pointer;color:#fff; width: 44px; height: 44px; text-align: center; padding: 5px; }
.slick-autoplay-toggle-button .slick-pause-icon:before{content:url(/_files/images/pause-circle.svg);display:block;}
.slick-autoplay-toggle-button .slick-play-icon:before{content:url(/_files/images/play-circle.svg);display:block;}
.slick-slider > button, .slick-autoplay-toggle-button { background-color: transparent; border-radius: 50%; opacity: 1; }
.slick-slider > button:hover, .slick-slider > button:focus, button.slick-autoplay-toggle-button:hover, button.slick-prev:focus { opacity: .8; }

/*Google Search Results*/
.gsc-search-box, .gsc-result-info, .gcsc-more-maybe-branding-root { font-family: var(--bodyFont); }
.gs-title { margin-bottom: 5px; font-size: 1.5rem !important; line-height: 1.2; color: var(--darkBlue)!important; font-family: var(--headingFont); font-style: normal; }
.gsc-control-cse .gs-result .gs-title * { font-size: 1.5rem !important; }
.gsc-url-top { font-size: 1rem; margin-bottom: 5px; font-family: var(--bodyFont); }
.gs-webResult div.gs-visibleUrl { color: var(--mediumBlue) !important; }
.gs-snippet { font-family: var(--bodyFont); font-style: normal; color: var(--black) !important; font-size: 1rem; line-height: 1.5rem; margin-bottom: 16px; overflow-wrap: break-word; }
.gs-fileFormat, .gs-fileFormatType { font-size: 14px !important; font-family: var(--bodyFont)!important; color: rgba(0,0,0,.5)!important; margin-bottom: 8px; } 
.gsc-webResult.gsc-result, .gsc-webResult.gsc-result:hover { border: none !important; }
.gsc-webResult.gsc-result:hover .gs-title { text-decoration: underline; }
.gcsc-find-more-on-google svg { display: inline-block; }
.gsc-results .gsc-cursor-box .gsc-cursor-page { padding: 10px; font-family: var(--bodyFont) !important; }
.gsc-results .gsc-cursor-box { margin: 10px 0 20px 0 !important; }