/* Footer Headings and Navigation Top */
footer h3,
.site-footer h3,
footer h4,
.site-footer h4,
footer #site-footer-top .clearfix.nav {
    display: flex;
    flex-direction: column;
    font-size: var(--h5-size);
    font-family: var(--font-roboto-condensed);
    font-weight: var(--font-weight-normal);
    margin-bottom: 0.5rem;
    padding-bottom: 5px;
    color: var(--cua-white) !important;
    border-bottom: 1px solid var(--cua-gray-700);
}

/* Site Footer Base */
.site-footer {
    background: var(--cua-black) !important;
    padding: 0 !important;
    color: var(--cua-white);
}

.site-footer .block {
    background: transparent !important;
    border: none !important;
    margin: 26px 0;
}

.first-col-footer .site-footer .block {
    padding: 0;
}

section.row.region.region-footer-first,
.site-footer .region.region-footer-first .block {
    margin: 0;
}

.row.region.region-footer-second,
.row.region.region-footer-third,
.row.region.region-footer-forth {
    margin-top: 0.5rem;
}

.row.region.region-footer-fourth {
    margin-top: 16px !important;
}

.site-footer .region.region-footer-sixth .block {
    margin: 0.75rem 0;
    padding: 0;
}

/* Footer Row */
footer .row {
    margin-right: 0;
    margin-left: 0;
}

/* Site Footer Bottom Navigation */
footer #site-footer-bottom .clearfix.nav {
    display: flex;
    flex-direction: row;
}

footer #site-footer-bottom .navbar-nav > li:not(:last-child) {
    border-right: none;
}

footer #site-footer-bottom li.nav-item {
    padding: 0 0.5rem;
}

/* Footer Text Styling */
footer,
footer *,
footer p {
    font-weight: var(--font-weight-normal);
    font-size: var(--font-small);
    line-height: 1.2rem;
    margin-bottom: 0;
    padding-left: 0;
}

/* Footer Navigation Links */
footer .nav {
    --bs-nav-link-padding-x: 0;
}

footer .nav-link,
footer .nav-link a,
footer .link-cua {
    background: transparent;
    color: var(--cua-gold);
    font-size: var(--font-small);
    transition: color 0.3s ease, text-decoration 0.3s ease;
    padding: 0.25rem 0.5rem;
    display: inline-block;
    line-height: 1;
}

footer .nav-link:visited,
footer .link-cua:visited {
    color: var(--cua-white);
}

footer #site-footer-bottom .nav-link {
    color: var(--cua-white);
}

.site-footer .nav-link:hover,
.site-footer .nav-link.is-active:hover,
footer .nav-link:hover,
footer .link-cua:hover {
    background: transparent !important;
    color: var(--cua-white) !important;
    text-decoration: none;
}

footer #site-footer-bottom .nav-link:hover {
    color: var(--cua-gold) !important;
}

/* Social Media */
footer .social-media ul {
    padding-left: 0;
}

footer .social-media li.list-inline-item {
    padding: 0 0.3rem 0 0;
}

.social-media .list-inline-item:not(:last-child) {
    margin-right: 0;
}

/* Copyright and Secondary Links */
.site-footer .copyright,
.site-footer .link-secondary {
    color: var(--cua-white);
}

/* Footer Icons */
footer .fa-envelope:before,
footer .fa-map:before,
footer .fa-phone:before {
    color: var(--cua-gold);
    margin: 0 0.3rem 0 0;
}

/* Border Secondary */
footer .border-secondary {
    --bs-border-opacity: 1;
    border-color: var(--cua-gray-800) !important;
}

/* Footer Bottom Border */
div#site-footer-bottom {
    border-top: 2px solid var(--cua-gold);
}

/* Make A Gift Button */
.make-a-gift .nav-link {
    background: inherit;
    border: 3px solid var(--cua-black);
    color: var(--cua-black);
    max-width: 170px;
    padding: 1rem 2rem;
    position: relative;
    overflow: hidden;
    transition: width 0.5s ease;
    z-index: 1;
}

.make-a-gift .nav-link::after {
    content: "\f06b";
    font-family: var(--font-awesome);
    font-size: var(--font-xsmall);
    margin-left: 0.5rem;
}

.make-a-gift .nav-link::before {
    content: '';
    position: absolute;
    top: 0;
    left: 0;
    width: 0;
    height: 100%;
    background: rgba(0, 0, 0, 1);
    transition: width 0.5s ease;
    z-index: -1;
}

.make-a-gift .nav-link:hover {
    color: var(--cua-black) !important;
}

.make-a-gift .nav-link:hover::before {
    width: 100%;
}

/* Footer Top Padding */
div#site-footer-top {
    padding: 0 0 3rem;
}

/* View Footer Styling */
.view-footer {
    color: var(--cua-gray-600);
    display: flex;
    font-size: var(--font-small);
    justify-content: center;
    margin: 0 0 0.75rem;
}

/* Logo */
.cu-logo {
    max-width: 500px;
    width: 100%;
}

#site-footer-top .link-cua {
    text-decoration: none;
}

/* Ensure sufficient color contrast */
.site-footer,
.site-footer a {
    color: var(--cua-white);
}

.site-footer a:hover,
.site-footer a:focus {
    text-decoration: underline;
    outline: 2px solid var(--cua-gold);
    outline-offset: 2px;
}

/* Visually hidden elements */
.visually-hidden,
.sr-only {
    position: absolute !important;
    width: 1px !important;
    height: 1px !important;
    padding: 0 !important;
    margin: -1px !important;
    overflow: hidden !important;
    clip: rect(0, 0, 0, 0) !important;
    white-space: nowrap !important;
    border: 0 !important;
}

/* Keyboard focus outlines */
.site-footer .site-footer .nav-link:focus,
a:focus {
    outline: 3px solid #736645;
    outline-offset: 2px;
}

.site-footer li.nav-item {
    margin: 0 0 .5rem 0
}

.card h4, .card .h4, .card h4 a, .card .h4 a {
    line-height: 1.1;
}

h3#block-cua-theme-mainnavigation-4-menu,
h3#block-cua-theme-giving-menu,
h3#block-cua-theme-campusoffices-menu,
h3#block-cua-theme-aboutus-menu,
.site-footer h3 {
    color: var(--cua-gold) !important;
}

/*** Responsive ***/
/* Screens below 991px */
@media (max-width: 991px) {
    .cu-logo-section {
        display: flex;
        justify-content: center;
    }

    .site-footer .block {
        margin: 0 !important;
    }
}

/* Responsive text size for headings and links */
@media (max-width: 768px) {
    .site-footer h3,
    .site-footer h4 {
        font-size: 1.125rem;
    }

    .nav-link {
        font-size: 1rem;
    }
}

/* Screens below 576px */
@media only screen and (max-width: 576px) {
    .site-footer .block {
        border: none;
        margin: 0;
    }

    .copyright a,
    .copyright p {
        font-size: var(--font-xsmall) !important;
    }
}



