/* APGAP Child Theme Styles */

:root {
    --apgap-green: #2AD6A2;
    --apgap-button-gray: #565A61;
    --apgap-charcoal: #191919;
    --apgap-light-gray: #F3F4F6;

    --apgap-green-hover: #22BF90;
    --apgap-link-green: #007C57;
    --apgap-link-hover: #005C40;
    --apgap-dark-gray-button: #565A61;
}

/* Header logo */
#asuHeader .navbar-brand img {
    visibility: hidden;
}

#asuHeader .navbar-brand {
    background-image: url("/wp-content/uploads/2026/06/apgap-logo-navigation.png");
    background-repeat: no-repeat;
    background-size: contain;
    background-position: center left;
    width: auto;
    height: 80px;
}

/* APGAP navigation cleanup
   Hide ASU universal utility navigation
   (ASU Home, My ASU, Colleges and Schools, Sign In/Out, Search).
   Approved for this non-ASU commissioned site.
*/
.uds-hdr-universal-nav {
    display: none !important;
}

/* APGAP navigation cleanup
   Hide ASU search form from the mobile navigation menu.
   APGAP uses a custom navigation experience and does not expose
   the ASU global search interface.
*/
form[data-testid="universal-nav-search-form"] {
    display: none !important;
}

/* Replace UDS nav underline gold with APGAP green */
#asuHeader .uds-hdr-nav-list > li > a::after {
    background-image: linear-gradient(
        to right,
        transparent 0.5%,
        var(--apgap-green) 0.5%
    );
}

/* Hide ASU institutional ranking/footer bar */
#wrapper-footer-innovation {
    display: none;
}

/* Hide default footer labels we are not using */
#footer-columns #info-column .h5,
#footer-columns .footer-accordion-header {
    display: none;
}

/* APGAP footer login button */
#info-column .contribute-button a.button-gold {
    background-color: #565A61 !important;
    border-color: #565A61 !important;
    color: transparent !important;
    padding: 0.5rem 1rem !important;
    font-size: 0 !important;
    line-height: 1 !important;
}

#info-column .contribute-button a.button-gold::after {
    content: "Log in to APGAP";
    color: #ffffff;
    font-size: 0.875rem;
    font-weight: 700;
}

/* APGAP header login button */
#asuHeader .uds-hdr-buttons-container .button-dark {
    background-color: #565A61 !important;
    border-color: #565A61 !important;
    color: #ffffff !important;
}

#asuHeader .uds-hdr-buttons-container .button-dark:hover,
#asuHeader .uds-hdr-buttons-container .button-dark:focus {
    background-color: #45484e !important;
    border-color: #45484e !important;
    color: #ffffff !important;
}

/* APGAP footer layout */
#wrapper-footer-columns .row {
    display: flex;
    align-items: center;
}

#wrapper-footer-columns #info-column {
    flex: 0 0 auto;
    width: auto;
    margin-right: 4rem;
}

#wrapper-footer-columns .testname-column {
    flex: 1;
}

#wrapper-footer-columns .footer-accordion-body {
    display: flex;
    align-items: center;
    gap: 2rem;
}

#wrapper-footer-columns .footer-accordion-body a {
    white-space: nowrap;
}

/* Force APGAP footer links into a horizontal row */
#wrapper-footer-columns #footlink-0.footer-accordion-body {
    display: flex !important;
    flex-direction: row !important;
    align-items: center !important;
    gap: 2rem !important;
    flex-wrap: nowrap !important;
}

#wrapper-footer-columns #footlink-0.footer-accordion-body .nav-link {
    display: inline-flex !important;
    width: auto !important;
    padding: 0 !important;
    margin: 0 !important;
    white-space: nowrap !important;
}

/* Move footer login button after footer links */
#wrapper-footer-columns #footer-columns .row {
    justify-content: flex-end;
}

#wrapper-footer-columns #info-column {
    order: 2;
    margin-right: 0;
    margin-left: 2rem;
}

#wrapper-footer-columns .testname-column {
    order: 1;
    flex: 0 0 auto;
}

/* Header logo alignment */
#asuHeader .navbar {
    align-items: center;
}

#asuHeader .navbar-brand {
    transform: none;
}

/* Header nav spacing */
.uds-hdr-nav-list {
    display: flex;
    align-items: center;
}

.uds-hdr-nav-list li:last-child {
    margin-left: 0rem;
}

/* APGAP desktop header spacing */
@media (min-width: 1200px) {

    #asuHeader .uds-hdr-title,
    #asuHeader .uds-hdr-nav-list {
        transform: none !important;
    }
}

/* APGAP tablet header logo sizing
   Keeps the APGAP logo from shrinking too early on tablet/desktop
   widths before the mobile hamburger layout is active.
*/
@media (min-width: 768px) and (max-width: 1199.98px) {
    #asuHeader .navbar-brand {
        width: 160px;
        height: 65px;
    }
}

/* Mobile menu */
@media (max-width: 1199.98px) {
    #asuHeader .navbar {
        padding: 1.5rem 1rem 0;
    }

    #asuHeader .navbar-brand {
        width: 100px;
        height: 50px;
        margin-left: 0;
        margin-bottom: 0.5rem;
        transform: none;
        background-position: center left;
    }

    #asuHeader .uds-hdr-title {
        padding-left: 0;
        padding-right: 0;
    }

    .navbar-brand + div {
        padding-top: 0.5rem;
    }

    .uds-hdr-nav-list {
        display: block;
        width: 100%;
        text-align: left;
    }

    .uds-hdr-nav-list li {
        display: block;
        width: 100%;
    }

    .uds-hdr-nav-list li a[data-testid="nav-item"] {
        display: block;
        width: 100%;
        text-align: left;
        padding: 1rem 1.5rem;
    }

    .uds-hdr-nav-list li:last-child {
        margin-left: 0;
        padding: 0;
    }

    .uds-hdr-nav-list li:last-child,
    .uds-hdr-nav-list li:last-child a {
        border-bottom: none !important;
    }
}

/* APGAP main nav tablet spacing fix */
@media (min-width: 992px) and (max-width: 1199.98px) {
    #asuHeader .uds-hdr-nav-list {
        display: flex !important;
        align-items: center !important;
        justify-content: flex-start !important;
        width: auto !important;
        margin: 0 !important;
    }

    #asuHeader .uds-hdr-nav-list li {
        display: inline-flex !important;
        width: auto !important;
        padding: 0 !important;
        margin: 0 0.35rem !important;
    }

    #asuHeader .uds-hdr-nav-list li a[data-testid="nav-item"] {
        display: inline-flex !important;
        width: auto !important;
        padding: 1rem 1rem !important;
        text-align: center !important;
        position: relative !important;
    }

    #asuHeader .uds-hdr-nav-list li:last-child {
        margin-left: 1rem !important;
        padding: 0 !important;
    }

    #asuHeader .uds-hdr-nav-list li a.uds-hdr-nav-item-selected::after {
        content: "" !important;
        display: block !important;
        position: absolute !important;
        top: auto !important;
        right: auto !important;
        left: -12px !important;
        bottom: 0 !important;
        width: calc(100% + 24px) !important;
        height: 0.5rem !important;
        background-image: linear-gradient(
            to right,
            transparent 0.5%,
            var(--apgap-green) 0.5%
        ) !important;
    }

        #asuHeader .uds-hdr-content-container {
        transform: translateX(-1rem) !important;
    }

    #asuHeader .uds-hdr-title {
        transform: translateX(-1rem) !important;
    }
}

/* APGAP Site Links - exclude buttons, ASU header, and anchor menu */
main a:not(.btn):not(.wp-element-button):not(.nav-link),
.entry-content a:not(.btn):not(.wp-element-button):not(.nav-link) {
    color: var(--apgap-link-green);
}

main a:not(.btn):not(.wp-element-button):not(.nav-link):hover,
main a:not(.btn):not(.wp-element-button):not(.nav-link):focus,
.entry-content a:not(.btn):not(.wp-element-button):not(.nav-link):hover,
.entry-content a:not(.btn):not(.wp-element-button):not(.nav-link):focus {
    color: var(--apgap-link-hover);
}

/* APGAP Green Button */
.apgap-btn-green .btn {
    background-color: var(--apgap-green) !important;
    border-color: var(--apgap-green) !important;
    color: var(--apgap-charcoal) !important;
}

.apgap-btn-green .btn:hover,
.apgap-btn-green .btn:focus {
    background-color: var(--apgap-green-hover) !important;
    border-color: var(--apgap-green-hover) !important;
    color: var(--apgap-charcoal) !important;
}

/* APGAP Gray Button */
.apgap-btn-gray .btn {
    background-color: var(--apgap-dark-gray-button) !important;
    border-color: var(--apgap-dark-gray-button) !important;
    color: #ffffff !important;
}

.apgap-btn-gray .btn:hover,
.apgap-btn-gray .btn:focus {
    background-color: #45484e !important;
    border-color: #45484e !important;
    color: #ffffff !important;
}

/* APGAP Hero Button */
.uds-hero .btn-maroon,
[class*="uds-hero"] .btn-maroon {
    background-color: var(--apgap-green) !important;
    border-color: var(--apgap-green) !important;
    color: var(--apgap-charcoal) !important;
}

.uds-hero .btn-maroon:hover,
.uds-hero .btn-maroon:focus,
[class*="uds-hero"] .btn-maroon:hover,
[class*="uds-hero"] .btn-maroon:focus {
    background-color: var(--apgap-green-hover) !important;
    border-color: var(--apgap-green-hover) !important;
    color: var(--apgap-charcoal) !important;
}

/* APGAP mobile hero spacing fix
   UDS adds a default bottom margin to hero blocks on mobile,
   which creates an oversized gap between the hero and the next section.
*/
@media (max-width: 767.98px) {
    div[class^="uds-hero"] {
        margin-bottom: 0;
    }
}

/* APGAP homepage mobile hero adjustments
   Move the homepage hero title and CTA button upward on mobile
   so both elements remain visually contained within the hero.
*/
@media (max-width: 767.98px) {
    .home .uds-hero-lg.has-btn-row h1 {
        transform: translateY(-2rem);
    }

    .home .uds-hero-lg.has-btn-row .btn-row {
        transform: translateY(-3rem);
    }
}

/* APGAP header offset after utility nav removal */
@media (min-width: 1260px) {
    main#skip-to-content {
        margin-top: 114px !important;
    }
}

/* Gravity Forms disclaimer text
   Reduces reCAPTCHA disclaimer text size to 14px.
*/
.gform_wrapper .gfield_html {
    font-size: 14px;
    line-height: 1.4;
}

/* Gravity Forms submit buttons */
.gform_wrapper input[type="submit"].gform_button,
.gform_wrapper .gform_footer input[type="submit"] {
    background-color: var(--apgap-green) !important;
    border-color: var(--apgap-green) !important;
    color: var(--apgap-charcoal) !important;
    font-size: 1rem;
    font-weight: 700;
    line-height: 1rem;
    padding: 1rem 2.5rem !important;
    border-radius: 400rem;
    width: auto !important;
    min-width: 0 !important;
}

.gform_wrapper input[type="submit"].gform_button:hover,
.gform_wrapper input[type="submit"].gform_button:focus,
.gform_wrapper .gform_footer input[type="submit"]:hover,
.gform_wrapper .gform_footer input[type="submit"]:focus {
    background-color: var(--apgap-green-hover) !important;
    border-color: var(--apgap-green-hover) !important;
    color: var(--apgap-charcoal) !important;
}

/* Gravity Forms links */
.gform_wrapper a,
.gform_wrapper .gfield_description a,
.gform_wrapper .gform_footer a {
    color: var(--apgap-link-green) !important;
}

.gform_wrapper a:hover,
.gform_wrapper a:focus,
.gform_wrapper .gfield_description a:hover,
.gform_wrapper .gfield_description a:focus,
.gform_wrapper .gform_footer a:hover,
.gform_wrapper .gform_footer a:focus {
    color: var(--apgap-link-hover) !important;
}

/* Gravity Forms required indicators */
.gform_body .gfield_label .gfield_required:before {
    color: var(--apgap-green) !important;
}

.gform_wrapper .gfield_required,
.gform_wrapper .gfield_required_text {
    color: var(--apgap-green) !important;
}

/* Gravity Forms radio buttons */
.gform_wrapper input[type="radio"].gfield-choice-input {
    appearance: none;
    -webkit-appearance: none;
    width: 14px;
    height: 14px;
    box-sizing: border-box;
    border: 1px solid #747474;
    border-radius: 50%;
    background-color: #fff;
    position: relative;
}

.gform_wrapper input[type="radio"].gfield-choice-input:checked::before {
    content: "";
    position: absolute;
    top: 3px;
    left: 3px;
    width: 6px;
    height: 6px;
    border-radius: 50%;
    background-color: var(--apgap-charcoal);
}

.gform_wrapper input[type="radio"].gfield-choice-input:focus {
    outline: 2px solid var(--apgap-green);
    outline-offset: 2px;
}

/* APGAP marquee text color */
.uds-text-marquee-wrapper.apgap-marquee.has-white-color,
.uds-text-marquee-wrapper.apgap-marquee.has-white-color .uds-marquee-track,
.uds-text-marquee-wrapper.apgap-marquee.has-white-color .marquee-text {
    color: #DEF4EE !important;
}

/* APGAP marquee spacing and button placement */
.apgap-marquee.uds-text-marquee-wrapper {
    position: relative;
    overflow: visible;
    padding-top: 1rem;
    padding-bottom: 4rem;
}

.apgap-marquee .uds-marquee-content {
    transform: none;
}

.apgap-marquee .uds-marquee-controls {
    position: absolute;
    left: 80%;
    bottom: -65px;
    transform: translateX(-50%);
    z-index: 2;
}

/* APGAP marquee play/pause button hover */
.apgap-marquee .uds-marquee-play-btn:hover,
.apgap-marquee .uds-marquee-pause-btn:hover,
.apgap-marquee .uds-marquee-play-btn:focus,
.apgap-marquee .uds-marquee-pause-btn:focus {
    background-color: #DEF4EE !important;
    opacity: 1;
}

/* APGAP marquee mobile adjustments */
@media (max-width: 767.98px) {
    .apgap-marquee.uds-text-marquee-wrapper {
        overflow: hidden;
        padding-top: 1rem;
        padding-bottom: 3.5rem;
    }

    .apgap-marquee .uds-marquee-controls {
        left: 80%;
        bottom: 0;
        transform: translateX(-50%);
    }
}

/* APGAP anchor menu active state */

.uds-anchor-menu.uds-anchor-menu-expanded-lg .active.secondary-nav-link,
.uds-anchor-menu.uds-anchor-menu-expanded-lg .nav-link.active,
.uds-anchor-menu.uds-anchor-menu-expanded-lg .nav-link:hover,
.uds-anchor-menu.uds-anchor-menu-expanded-lg .secondary-nav-link:hover {
    border-bottom-color: #2AD6A2 !important;
}

/* APGAP anchor menu: remove default gray bottom line */

.uds-anchor-menu {
    border-bottom: 0 !important;
}

.uds-anchor-menu .container {
    padding-left: 0 !important;
}

/* APGAP soft gray curved section */

.apgap-soft-gray-section {
    background-color: #f3f4f6;
    border-bottom-left-radius: 80px;
    border-bottom-right-radius: 80px;
    overflow: hidden;
}

.apgap-soft-gray-section .wp-bootstrap-blocks-row {
    padding-top: 6rem !important;
    padding-bottom: 6rem !important;
}

@media (max-width: 767.98px) {
    .apgap-soft-gray-section {
        border-bottom-left-radius: 0;
        border-bottom-right-radius: 0;
    }

    .apgap-soft-gray-section .wp-bootstrap-blocks-row {
        padding-top: 3rem !important;
        padding-bottom: 3rem !important;
    }
}

/* Contact page patterned background reset */
.apgap-contact-pattern-section {
    background: none !important;
    background-image: none !important;
    padding-top: 0 !important;
}

/* Contact page patterned Cover background */
.apgap-contact-pattern-cover .wp-block-cover__image-background {
    object-fit: contain !important;
    object-position: right top !important;
    width: 1800px !important;
    max-width: none !important;
    height: auto !important;
    min-height: 100% !important;
    left: auto !important;
    right: 0 !important;
    transform: none !important;
}

/* APGAP patterned gray section background */
.apgap-pattern-gray-section {
    position: relative;
    background-color: #f3f4f6;
    border-bottom-left-radius: 80px;
    border-bottom-right-radius: 80px;
    overflow: hidden;
}

.apgap-pattern-gray-section::after {
    content: "";
    position: absolute;
    top: -300px;
    right: 0;
    bottom: 0;
    width: 50%;
    background-image: url("/wp-content/themes/apgap-child-theme/images/capabilities-background.svg");
    background-repeat: no-repeat;
    background-position: right top;
    background-size: cover;
    pointer-events: none;
}

.apgap-pattern-gray-section .wp-bootstrap-blocks-row {
    position: relative;
    z-index: 1;
    padding-top: 6rem !important;
    padding-bottom: 6rem !important;
}

@media (max-width: 767.98px) {
    .apgap-pattern-gray-section {
        border-bottom-left-radius: 0;
        border-bottom-right-radius: 0;
    }

    .apgap-pattern-gray-section::after {
        display: none;
    }

    .apgap-pattern-gray-section .wp-bootstrap-blocks-row {
        padding-top: 3rem !important;
        padding-bottom: 3rem !important;
    }
}

/* APGAP homepage hero title width adjustment */

.home div.uds-hero-lg h1.text-white {
    max-width: 840px;
}

/* APGAP hero title alignment */
div[class^="uds-hero"] h1 span {
    margin-left: 0 !important;
}

/* APGAP homepage hero title readability on mobile */
@media (max-width: 767.98px) {
    body.home div.uds-hero-lg h1.text-white {
        font-size: 2.25rem !important;
        line-height: 1.05 !important;
        letter-spacing: -0.04rem !important;
        max-width: 100% !important;
    }
}
	
/* APGAP Anchor Menu clock icon override
   Reproducibility clock icon does not render correctly
   through the Anchor Menu block.
*/

.apgap-anchor-menu a[href="#reproducibility"] svg {
  	display: none;
}

.apgap-anchor-menu a[href="#reproducibility"]::before {
  	content: "";
  	display: inline-block;
  	width: 1em;
  	height: 1em;
  	margin-right: 0.5rem;
  	background-color: currentColor;
	vertical-align: -0.125em;
  	-webkit-mask: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 512 512'%3E%3Cpath d='M256 0a256 256 0 1 1 0 512A256 256 0 1 1 256 0zM232 120l0 136c0 8 4 15.5 10.7 20l96 64c11 7.4 25.9 4.4 33.3-6.7s4.4-25.9-6.7-33.3L280 243.2 280 120c0-13.3-10.7-24-24-24s-24 10.7-24 24z'/%3E%3C/svg%3E") no-repeat center;
  	mask: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 512 512'%3E%3Cpath d='M256 0a256 256 0 1 1 0 512A256 256 0 1 1 256 0zM232 120l0 136c0 8 4 15.5 10.7 20l96 64c11 7.4 25.9 4.4 33.3-6.7s4.4-25.9-6.7-33.3L280 243.2 280 120c0-13.3-10.7-24-24-24s-24 10.7-24 24z'/%3E%3C/svg%3E") no-repeat center;
}

/* APGAP homepage image stack parallax */
.apgap-image-stack {
    position: relative;
    top: -2rem;
}

.apgap-parallax-wrapper {
    position: relative;
    min-height: 500px;
}

.apgap-parallax-wrapper .wp-block-image {
    margin: 0;
}

.apgap-parallax-wrapper .apgap-parallax-back,
.apgap-parallax-wrapper .apgap-parallax-front {
    position: absolute;
}

.apgap-parallax-wrapper .apgap-parallax-back {
    width: 70%;
    max-width: 415px;
    left: 205px;
    top: 110px;
    z-index: 1;
}

.apgap-parallax-wrapper .apgap-parallax-front {
    width: 65%;
    max-width: 410px;
    left: 0;
    top: 25px;
    z-index: 2;
    will-change: transform;
    transition: transform 0.05s linear;
}
	
/* APGAP homepage image stack parallax - Section 2 */

.apgap-image-stack-2 {
    position: relative;
    top: -5rem;
}

.apgap-parallax-wrapper-2 {
    position: relative;
    min-height: 425px;
}

.apgap-parallax-wrapper-2 .wp-block-image {
    margin: 0;
}

.apgap-parallax-wrapper-2 .apgap-parallax-back-2,
.apgap-parallax-wrapper-2 .apgap-parallax-front-2 {
    position: absolute;
}

.apgap-parallax-wrapper-2 .apgap-parallax-back-2 {
    width: 70%;
    max-width: 425px;
    left: 170px;
    top: 155px;
    z-index: 1;
}

.apgap-parallax-wrapper-2 .apgap-parallax-front-2 {
    width: 80%;
    max-width: 470px;
    left: -100px;
    top: 35px;
    z-index: 2;
	will-change: transform;
	transition: transform 0.05s linear;
}

@media (max-width: 991.98px) and (min-width: 768px) {
    .apgap-parallax-wrapper .apgap-parallax-front,
    .apgap-parallax-wrapper .apgap-parallax-back,
    .apgap-parallax-wrapper-2 .apgap-parallax-front-2,
    .apgap-parallax-wrapper-2 .apgap-parallax-back-2,
    .apgap-about-parallax-wrapper .apgap-about-parallax-front,
    .apgap-about-parallax-wrapper .apgap-about-parallax-back {
        transform: none !important;
        transition: none !important;
        will-change: auto !important;
    }
}

/* APGAP tablet image stack centering */
@media (min-width: 768px) and (max-width: 991.98px) {
    .apgap-parallax-wrapper,
    .apgap-parallax-wrapper-2,
    .apgap-about-parallax-wrapper {
        max-width: 620px;
        margin: 0 auto;
    }
}

/* ==================================================
   APGAP Mobile Image Stack Overrides
   Disable parallax movement layout on mobile and
   use static stacked image compositions that match
   approved mockups.
================================================== */

@media (max-width: 767.98px) {

    .apgap-parallax-wrapper {
        min-height: 360px;
        max-width: 390px;
        margin: 0 auto;
    }

    .apgap-parallax-wrapper-2 {
        min-height: 260px;
        max-width: 390px;
        margin: 0 auto;
    }

    .apgap-parallax-wrapper .apgap-parallax-back {
        width: 72%;
        max-width: 285px;
        left: 125px;
        top: 145px;
    }

    .apgap-parallax-wrapper .apgap-parallax-front {
        width: 72%;
        max-width: 285px;
        left: -5px;
        top: 10px;
    }

    .apgap-parallax-wrapper-2 .apgap-parallax-back-2 {
        width: 74%;
        max-width: 295px;
        left: 115px;
        top: 130px;
    }

    .apgap-parallax-wrapper-2 .apgap-parallax-front-2 {
        width: 82%;
        max-width: 315px;
        left: -20px;
        top: 0;
    }
}
	
/* APGAP About page image stack parallax */
.apgap-about-image-stack {
    position: relative;
    top: -5rem;
}

.apgap-about-parallax-wrapper {
    position: relative;
    min-height: 400px;
}

.apgap-about-parallax-wrapper .wp-block-image {
    margin: 0;
}

.apgap-about-parallax-wrapper .apgap-about-parallax-back,
.apgap-about-parallax-wrapper .apgap-about-parallax-front {
    position: absolute;
}

.apgap-about-parallax-wrapper .apgap-about-parallax-back {
    width: 70%;
    max-width: 405px;
    left: 225px;
    right: auto;
    top: 20px;
    z-index: 1;
}

.apgap-about-parallax-wrapper .apgap-about-parallax-front {
    width: 75%;
    max-width: 370px;
    left: 10px;
    top: 270px;
    z-index: 2;
    will-change: transform;
    transition: transform 0.05s linear;
}

@media (max-width: 1259.98px) {
    .apgap-about-parallax-wrapper .apgap-about-parallax-front,
    .apgap-about-parallax-wrapper .apgap-about-parallax-back {
        transform: none !important;
        transition: none !important;
        will-change: auto !important;
    }
}

@media (max-width: 767.98px) {
    .apgap-about-image-stack {
        top: 0;
    }

    .apgap-about-parallax-wrapper {
        min-height: 320px;
        max-width: 390px;
        margin: 0 auto;
    }

    .apgap-about-parallax-wrapper .apgap-about-parallax-back {
        width: 76%;
        max-width: 295px;
        left: 115px;
        top: 30px;
    }

    .apgap-about-parallax-wrapper .apgap-about-parallax-front {
        width: 78%;
        max-width: 280px;
        left: -5px;
        top: 145px;
        transform: none !important;
        transition: none !important;
        will-change: auto !important;
    }
}

/* Footer logo sizing */
	#endorsed-logo img {
  	    max-height: 4rem !important;
        max-width: 220px !important;
        width: auto !important;
	}
	
/* Removes the default UDS divider line between the endorsed logo
   section and the footer navigation section.
   Sets both APGAP footer sections to the approved black.
*/
    #wrapper-endorsed-footer,
    #wrapper-footer-columns {
        background-color: #191919 !important;
        background: #191919 !important;
    }

/* Mobile footer panel background */
@media (max-width: 1259.98px) {
    #footer-columns,
    #wrapper-footer-columns .footer-accordion-body,
    #wrapper-footer-columns #footlink-0.footer-accordion-body {
        background-color: #191919 !important;
        background: #191919 !important;
    }
}

#wrapper-endorsed-footer + #wrapper-footer-columns {
    border-top: none !important;
}
	
/* Footer logo vertical alignment
   Moves the footer logo down slightly so it aligns more closely
   with the footer navigation and login button.
*/
	#endorsed-logo {
  	position: relative;
    top: 1.5rem;
	}

/* Footer vertical spacing
   Adds additional top spacing so the logo, navigation
   and login button sit more centrally within the footer.
*/
	#wrapper-footer-columns {
  	padding-top: 1rem;
	}

/* Footer desktop layout
   Aligns the footer navigation and login button with the APGAP logo
   on a single horizontal row.
*/
	@media (min-width: 1260px) {
		#wrapper-footer-columns .row {
    	display: flex;
        align-items: center;
        justify-content: flex-end;
    }

    #wrapper-footer-columns #footer-columns {
    	margin-top: -7rem;
    }

    #wrapper-footer-columns #info-column {
    	flex: 0 0 auto;
    	width: auto;
        margin-left: 2rem;
        order: 2;
        position: relative;
        top: 11px;
    }

    #wrapper-footer-columns .testname-column {
    	flex: 0 0 auto;
        width: auto;
        order: 1;
    }

    #wrapper-footer-columns .footer-accordion-body {
    	display: flex !important;
        align-items: center !important;
        justify-content: flex-end !important;
        flex-wrap: nowrap !important;
        position: relative;
        top: 0;
    }

    #wrapper-footer-columns .footer-accordion-body .nav-link {
    	display: inline-flex !important;
        width: auto !important;
        padding: 0 !important;
        margin: 0 1rem !important;
        white-space: nowrap !important;
    }
}

/* Footer tablet/mobile layout
   Shows the footer navigation in a clean stacked layout when the
   desktop single-row layout no longer fits.
*/
	@media (max-width: 1259.98px) {

		#wrapper-footer-columns #footer-columns,
    #wrapper-footer-columns .footer-accordion-body,
    #wrapper-footer-columns #info-column {
    	position: static !important;
        top: auto !important;
        margin-top: 0 !important;
    }

    #wrapper-footer-columns .row {
        display: flex !important;
        flex-direction: column !important;
        align-items: center !important;
    }

    #wrapper-footer-columns .testname-column,
    #wrapper-footer-columns #info-column {
        display: block !important;
        width: 100% !important;
        margin-left: 0 !important;
    }

    #wrapper-footer-columns .footer-accordion-body {
        display: flex !important;
        height: auto !important;
        max-height: none !important;
        opacity: 1 !important;
        visibility: visible !important;
        overflow: visible !important;
        flex-wrap: wrap !important;
        justify-content: center !important;
        padding: 1.75rem 1.5rem 0 !important;
    }

    #wrapper-footer-columns .footer-accordion-body .nav-link {
        display: inline-flex !important;
        width: auto !important;
        padding: 0 !important;
        margin: 0.5rem 1rem !important;
        white-space: nowrap !important;
    }

    #wrapper-footer-columns #info-column {
        display: flex !important;
        justify-content: center !important;
        padding-top: 1rem !important;
        padding-bottom: 1.5rem !important;
    }
}
	
/* Footer mobile navigation
   Stacks footer links vertically on mobile screens.
*/
	@media (max-width: 767.98px) {

        #endorsed-logo {
            text-align: left !important;
            padding-left: 2rem !important;
            padding-top: 2rem !important;
            padding-bottom: 0 !important;
            position: static !important;
            top: auto !important;
        }

        #endorsed-logo img {
            margin-left: 0 !important;
            margin-right: auto !important;
        }

        #wrapper-footer-columns .row {
            align-items: flex-start !important;
        }

        #wrapper-footer-columns #footlink-0.footer-accordion-body {
            display: flex !important;
            flex-direction: column !important;
            align-items: flex-start !important;
            flex-wrap: nowrap !important;
            text-align: left !important;
            padding-left: 2rem !important;
        }

        #wrapper-footer-columns #footlink-0.footer-accordion-body .nav-link {
            display: block !important;
            width: 100% !important;
            text-align: left !important;
            margin: 0.5rem 0 !important;
        }

        #wrapper-footer-columns #info-column {
            justify-content: flex-start !important;
            padding-left: 2rem !important;
        }
    }

/* Footer link hover color */
		#wrapper-footer-columns .footer-accordion-body .nav-link:hover,
		#wrapper-footer-columns .footer-accordion-body .nav-link:focus {
    	color: #2AD6A2 !important;
	}

