/**
 * 1. Normalize / Fonts
 * 2. Utilities
 * 3. Layout
 * 4. Header
 * 5. Footer
 * 6. Searchbox
 * 7. Main Content / Typography
 * 8. Single Column
 */

/* 1. Normalize ================================================================== */

html {
    font-size: 16px;
} /* Set rem size */
body {
    margin: 0;
    font-family: var(--family-gotham);
    color:  #4a4a4a;
    overflow-x: hidden;
    text-rendering: optimizeLegibility;
    background-color: #fff;
}
h1 {
    font-family: var(--family-gotham);
    font-weight: normal;
    color:  #222;
    line-height: 1.15;
    text-align: center;
    text-transform: uppercase;
}
h2 {
    font-family: var(--family-gotham);
    font-weight: normal;
    color:  #222;
    line-height: 1.15;
    text-align: center;
    text-transform: uppercase;
}
h3 {
    font-family: var(--family-gotham);
    font-weight: normal;
    color:  #222;
    line-height: 1.15;
    text-align: center;
    text-transform: uppercase;
}
a {
    text-decoration: none;
}
a:hover {
    text-decoration: underline;
}
img {
    max-width: 100%;
    height: auto;
}
input,
button {
    line-height: 24px;
}
.more-btn {
    display: inline-block;
    margin: 0;
    padding: 0.5rem 0.75rem;
    border: 1px solid  #001f5b;
    font-size: small;
    line-height: 1.42857143;
    font-weight: normal;
    color:  #001f5b;
    text-align: center;
    white-space: nowrap;
    vertical-align: middle;
    text-transform: uppercase;
    cursor: pointer;
    border-radius: 4px;
    touch-action: manipulation;
    -webkit-user-select: none;
    -moz-user-select: none;
    -ms-user-select: none;
    user-select: none;
}
.more-btn.white {
    color: #fff;
    border-color: #fff;
}
select {
    height: 30px;
}
.main-content hr {
    margin-left: -0.5rem;
    margin-right: -0.5rem;
    border: 0;
    border-bottom: 1px solid  #7c878e;
}
.main-content p:empty,
.optional:empty {
    display: none;
}

/* 2. Utilities ====================================================================== */

.container {
    display: block;
    max-width: 1170px;
    margin: auto;
    padding-left: 0.5rem;
    padding-right: 0.5rem;
}
.bg-gray {
    background-color:  #e7e7e7;
}
.bg-navy {
    color: #fff;
    background-color:  #001f5b;
}
.bg-navy h2 {
    color: #fff;
}
.center {
    text-align: center;
}
.right {
    text-align: right;
}
.hidden,
.hidden-xs,
.hidden-sm {
    display: none;
}
[hidden] {
    display: none !important;
}
.hidden-lg {
    display: initial;
}
.flex-sm {
    display: flex;
}
.flex-col {
    flex: 0 1 100%;
    padding-left: 1rem;
    padding-right: 1rem;
}
[data-toggle] {
    cursor: pointer;
}
.toggle-sm,
.toggle {
    display: none;
}
.open {
    display: block;
}
@media (min-width: 768px) {
    .toggle-sm {
        display: block;
    }
}
.svg-fa {
    display: inline-block;
    font-size: inherit;
    width: 1.25em;
    height: 1em;
    overflow: visible;
    vertical-align: -0.125em;
}
.vert-center {
    /* Internet Explorer 10 */
    display: -ms-flexbox;
    -ms-flex-align: center;

    /* Firefox */
    display: -moz-box;
    -moz-box-pack: center;
    -moz-box-align: center;

    /* Safari, Opera, and Chrome */
    display: -webkit-box;
    -webkit-box-align: center;

    /* W3C */
    display: box;
    box-align: center;
}
@media (min-width: 320px) {
    .hidden-xs {
        display: initial;
    }
}

.card {
    position: relative;
    display: block;
    padding: 0.5rem 1rem;
    /* border-left: 0.5rem solid var(--brand-blue); */
    background-color: rgba(255, 255, 255, 0.9);
    box-shadow: 0 2px 3px rgba(0, 0, 0, 0.5);
    outline: 1px solid #fff;
}
a.card:hover {
    background-color: #fff;
}
/*
.card.about {
}
.card.find {
    border-left: 0.5rem solid var(--brand-green);
}
.card.guides {
    border-left: 0.5rem solid var(--brand-orange);
}
.card.help {
    border-left: 0.5rem solid var(--brand-yellow);
}
.card.law {
    border-left: 0.5rem solid var(--brand-gray);
}
*/

.overlay {
    position: absolute;
    left: 0;
    bottom: 0;
    box-sizing: border-box;
    width: 100%;
    padding: 0.5rem;
    font-weight: normal;
    color: #fff;
    text-align: center;
    background-color: rgba(0, 31, 91, 0.5);
}

.img-circle {
    border-radius: 100%;
}

.sr-only {
    position: absolute;
    width: 1px;
    height: 1px;
    padding: 0;
    overflow: hidden;
    clip: rect(0, 0, 0, 0);
    white-space: nowrap;
    border: 0;
}
.sr-only:active,
.sr-only:focus {
    z-index: 1;
    width: auto;
    height: auto;
    margin: 0.5rem;
    padding: 1rem;
    background-color: #fff;
    overflow: visible;
    clip: auto;
    white-space: normal;
}

/* 3. Layout ===================================================================== */

/* in vu-common-wide.css */

/* 4. Header ===================================================================== */

.villanova-header {
    display: flex;
    border-bottom: 1px solid #fff;
    font-size: 1rem;
    line-height: 2rem;
    text-align: center;
    color: #fff;
    background-color:  #001f5b;
}
.villanova-header a {
    color: #fff;
}
.villanova-header a:hover {
    text-decoration: underline;
}

.vu-logo,
.vu-middle,
.vu-right {
    padding: 0.5rem;
}
.vu-logo,
.vu-right {
    flex: none;
}

.vu-logo {
    height: 2rem;
    padding: 0.5rem;
}
.vu-logo img {
    height: 2rem;
}
.vu-middle {
    flex: 0 1 100%;
    padding-top: 0.5rem;
    padding-bottom: 0.5rem;
    text-align: center;
}
.vu-right {
    display: block;
    font-size: 1.33333rem;
    text-transform: uppercase;
}
@media (min-width: 375px) {
    .vu-right {
        padding-left: 0.75rem;
        padding-right: 0.75rem;
    }
}

.falvey-header {
    position: relative;
    display: block;
    box-sizing: border-box;
    padding: 0;
    color: #fff;
    background-color:  #001f5b;
}
.falvey-header {
    display: flex;
}
.falvey-header header {
    display: none;
}
.vu-falvey-logo {
    display: inline;
}
.vu-middle-links {
    display: none;
}
.nav-submenu {
    left: 0;
    max-width: none;
}
.falvey-header header a {
    margin: 0;
    padding-left: 0;
    font-size: 1.5rem; /* prevents overlap with nav until 576px (below) */
    font-weight: normal;
    line-height: 3.5rem;
    text-align: left;
    white-space: nowrap;
    color: #fff;
    text-transform: uppercase;
}
.vu-falvey-logo {
    font-size: 1.25rem;
    text-transform: uppercase;
    color: #fff;
    white-space: nowrap;
}
.vu-middle-links {
    display: none;
}
@media (max-width: 576px) {
    .vu-falvey-logo {
        font-size: 14px;
    }
}

.nav-links {
    position: relative;
    display: flex;
    flex-wrap: wrap;
    width: 100%;
}
.nav-col {
    flex: 0 1 50%;
    margin: 0;
    padding: 0;
    list-style: none;
}
.nav-submenu {
    display: none;
}
.nav-link-anchor {
    box-sizing: border-box;
    display: block;
    height: 2.5rem;
    font-size: 0.85rem;
    line-height: 2.5rem;
    text-align: center;
    color: #fff;
    text-decoration: none;
    text-transform: uppercase;
    white-space: nowrap;
}
.subnav-section {
    line-height: 1.5;
    break-inside: avoid;
}
.subnav-section a {
    display: block;
    margin-bottom: 0.25rem;
    line-height: 1.15;
}
.subnav-header {
    font-weight: bold;
}

/* 5. Footer ===================================================================== */

footer .container {
    max-width: 900px;
}
.library-links-footer {
    padding: 1rem;
    font-size: small;
    color: #fff;
    background-color:  #418fde;
}
.library-links-footer + .library-links-footer {
    padding-top: 0;
}
.library-links-footer a {
    margin-bottom: 0.5rem;
    color: #fff;
}
.library-links-footer h3 {
    margin: 0;
    font-size: 1rem;
    font-weight: 500;
    text-align: left;
    text-transform: uppercase;
    color: #fff;
}
.library-links-footer .container {
    max-width: 900px;
    padding: 0;
}

.footer-links {
    display: flex;
}
.footer-section {
    margin-bottom: 1rem;
}
.footer-section .subnav-section {
    margin-top: 0.5rem;
    padding: 0;
}
/* sr-only */
.footer-section .subnav-header {
    font-weight: normal;
}
.footer-section .subnav-section a:not(.subnav-header) {
    position: absolute;
    width: 1px;
    height: 1px;
    padding: 0;
    overflow: hidden;
    clip: rect(0, 0, 0, 0);
    white-space: nowrap;
    border: 0;
}

.library-links-footer .support {
    margin-top: 1rem;
    margin-bottom: 1rem;
    text-align: center;
    font-size: 12px;
}
.library-links-footer .support a {
    display: inline-block;
    margin-right: 2px;
}
.library-links-footer .support a.last {
    margin: 0;
}
footer .support-btn {
    display: block;
    box-sizing: border-box;
    max-width: 200px;
    margin: 0.5rem 0;
    margin-top: 1rem;
    padding: 0.5rem;
    font-weight: bold;
    line-height: 1.15;
    background-color: #fff;
    color:  #418fde;
    text-align: center;
    text-decoration: none;
    letter-spacing: 1px;
    border-radius: 2px;
    box-shadow: 0 1px 3px rgba(0, 0, 0, 0.12), 0 1px 2px rgba(0, 0, 0, 0.24);
}
.social-media {
    box-sizing: border-box;
    max-width: 200px;
    text-align: center;
}
.social-media-icon {
    margin-left: .25rem;
    margin-right: .25rem;
}

.vu-contact-footer {
    padding-top: 1.5rem;
    padding-bottom: 1.5rem;
    text-align: center;
    background-color:  #001f5b;
}
.vu-contact-footer .info {
    display: block;
    padding-top: 1.5rem;
    color: #ccd2de; /* rgba(255,255,255,.8); */
}
.vu-contact-footer a.info:hover {
    color: #fff;
    text-decoration: none;
}
.vu-contact-footer img {
    height: 2rem;
    vertical-align: top;
}

.vu-links-footer {
    margin-top: 1rem;
    margin-bottom: 3rem;
    padding: 0;
    font-size: 12px;
    background-color: #fff;
    text-transform: uppercase;
}
.vu-links-footer a {
    display: block;
    padding: 0.5rem;
    text-align: center;
    color:  #4a4a4a;
}

/* 6. Searchbox ================================================================== */

.searchbox-wrapper {
    display: flex;
    max-width: 850px;
    padding-top: 1rem;
    padding-bottom: 0.5rem;
}
.searchbox {
    display: inline-flex;
    flex: 1;
    width: 100%;
    margin-bottom: 0.5rem;
    padding-left: 0.25rem;
    border-top-right-radius: 2px;
    border-bottom-right-radius: 2px;
    background-color:  #b5bd00;
    box-shadow: 0 1px 3px rgba(0, 0, 0, 0.3);
    align-items: center;
}
.search-input {
    flex: 0 1 100%;
    box-sizing: content-box;
    height: 22px;
    padding: 0.5rem;
    border: 0;
    font-size: 1rem;
    border-radius: 0;
}
/*
.search-input:focus,
#searchForm_type:focus {
    border-bottom-color: var(--brand-teal);
    outline: 0;
}
*/
.search-type-label {
    display: none;
}
#searchForm_type {
    display: none;
    box-sizing: content-box;
    min-width: 180px;
    height: 22px;
    padding: 0.5rem 0;
    border: 0;
    color:  rgba(0, 0, 0, 0.8);
    background-color:  #b5bd00;
    background-image: url(../images/caret-down.png);
    background-position: 95% center;
    background-repeat: no-repeat;
    cursor: pointer;
    -webkit-appearance: none;
    -moz-appearance: none;
    appearance: none;
}
#searchForm_type option {
    background-color: #fff;
}
#searchForm_type .section {
    background-color:  #e7e7e7;
}

#searchForm_submit, .search-menu-btn {
    flex: none;
    box-sizing: content-box;
    height: 22px;
    padding: 0.75rem 1rem;
    border: 0;
    font-size: 1rem;
    text-align: center;
    color: rgba(0, 0, 0, 0.5);
    background-color:  #b5bd00;
    border-top-right-radius: 2px;
    border-bottom-right-radius: 2px;
    cursor: pointer;
}
.search-menu-btn .fa {
    width: 1.25rem;
    vertical-align: middle;
}

.search-tabs a {
    display: block;
    margin-top: 0.25rem;
    padding: 0.5rem 1rem;
    font-size: 12px;
    color:  #222;
    text-decoration: none;
    text-transform: uppercase;
    border-left: 4px solid  #b5bd00;
    background-color: #fff;
    box-shadow: 0 1px 3px rgba(0, 0, 0, 0.3);
}
.search-tabs a:hover {
    text-decoration: underline;
}
.search-tabs a.active {
    font-weight: bold;
    background-color:  #b5bd00;
    border-color:  #b5bd00;
    box-shadow: 0 1px 3px hsla(63, 100%, 15%, 0.3); /* brand-green */
}

.advanced-link {
    display: none;
}

/* 7. Main Content / Typography ================================================== */

.main-content {
    /* Gotham
    font-size: 14px;
    line-height: 1.4rem;
    */
    /* Native
    */
    font-family: -apple-system, BlinkMacSystemFont, "Segoe UI", Helvetica, Arial,
        sans-serif, "Apple Color Emoji", "Segoe UI Emoji", "Segoe UI Symbol"; /* Native font stack */
}
.main-content h2 {
    margin-top: 2rem;
    font-size: 22px;
}
.main-content h2 + h2 {
    margin-top: 0;
}
.main-content h3 {
    text-transform: uppercase;
}
.main-content p {
    line-height: 1.6;
}
.main-content p + p,
.main-content ul + p {
    margin-top: 1.5rem;
}
.main-content ul + ul {
    margin-top: -1rem;
}
.main-content ul {
    padding-left: 1rem;
}
.main-content li {
    margin-bottom: 0.75rem;
}
.main-content table {
    border-spacing: 0;
}
.main-content th {
    text-align: left;
}
.main-content tr.even {
    background-color:  #e7e7e7;
}
.main-content th,
.main-content td {
    padding: 0.25rem 0.5rem;
    vertical-align: baseline;
}
.subjects {
    margin-top: 0;
}

@media (max-width: 767px) {
    .main-content tbody,
    .main-content th,
    .main-content td,
    .main-content tr {
        display: block;
        padding-top: 0;
        padding-bottom: 0;
    }
    .main-content ul {
        padding-left: 0;
    }
    .subjects {
        margin-top: 0;
        margin-bottom: 0;
    }
}

aside {
    padding: 1px 1rem;
    font-size: small;
    background-color:  #e7e7e7;
}
aside:empty {
    background-color: transparent;
}

.modified {
    padding-top: 1rem;
    padding-bottom: 1rem;
    font-size: small;
    color:  #7c878e;
}

.page-header {
    box-sizing: border-box;
    margin: 0;
    margin-top: 1.5rem;
    margin-bottom: 1rem;
    padding: 0;
    padding-bottom: 0.5rem;
    border-bottom: 1px solid  #7c878e;
}
.page-header h1 {
    margin: 0;
    font-weight: 500;
    color:  #222;
    text-transform: uppercase;
}

.breadcrumb {
    display: none;
    margin: 0.5rem 0;
    padding: 0.6rem 0.5rem 0.5rem;
    font-size: small;
    color:  #4a4a4a;
    background-color:  #a3c8ee;
}
.breadcrumb a {
    color:  #222;
    text-decoration: underline;
}

/* 8. Single Column ============================================================== */

.single-column {
    font-size: 20px;
    line-height: 2;
}
.column-article {
    padding: 50px;
    padding-top: 2rem;
    color:  #001f5b;
}
.column-article a {
    color:  #001f5b;
}
.column-article img {
    width: auto;
    height: auto;
    max-width: 100%;
    max-height: 100%;
}
.column-article p {
    margin: 0;
    margin-bottom: 1rem;
    font-weight: 300;
    color:  #001f5b;
}
.column-article h1 {
    margin: 0;
    margin-bottom: 1rem;
    font-weight: normal;
    text-align: center;
    text-transform: uppercase;
    color:  #001f5b;
}
.column-article h2 {
    margin: 0;
    margin-bottom: 1rem;
    font-weight: normal;
    text-align: center;
    text-transform: uppercase;
    color:  #001f5b;
}
.column-article h3 {
    margin: 0;
    margin-bottom: 1rem;
    font-weight: normal;
    text-align: center;
    text-transform: uppercase;
    color:  #001f5b;
}
.column-article h1 {
    font-size: 50px;
}
.column-article h2 {
    font-size: 36px;
}

.column-article.navy {
    background-color:  #001f5b;
}
.column-article.navy,
.column-article.navy * {
    color: #fff;
}

.column-article.feed {
    background-color:  #e7e7e7;
}
.column-article.feed p {
    margin-bottom: 1.5rem;
    padding: 1rem;
    border: 1px solid #dcdcdc;
    border-bottom-width: 3px;
    font-size: 1rem;
    line-height: 1.5;
    color:  #4a4a4a;
    background-color: #fff;
}
.column-article.feed p::after {
    display: table;
    clear: both;
    content: "";
}
.column-article.feed b {
    display: block;
    margin-bottom: 1rem;
    font-weight: bold;
    color:  #4a4a4a;
}
.column-article.feed strong {
    display: block;
    margin-bottom: 1rem;
    font-weight: bold;
    color:  #4a4a4a;
}
.column-article.feed p img {
    float: left;
    max-width: 300px;
    margin-right: 1rem;
}
@media (min-width: 768px) {
    .image-left .column-article .container,
    .image-right .column-article .container {
        display: flex;
        flex-wrap: wrap;
    }
    .image-right .column-article .container {
        flex-direction: row-reverse;
    }
    .image-left .column-article h1,
    .image-right .column-article h1 {
        width: 100%;
    }
    .image-left .column-article p,
    .image-right .column-article p {
        flex: 0 1 50%;
        box-sizing: border-box;
    }
    .image-left .column-article p:first-of-type {
        padding-right: 1rem;
    }
    .image-right .column-article p:first-of-type {
        padding-left: 1rem;
    }
}

.single-column .anchor_autonav {
    padding: 0;
}
.single-column .anchor_autonav h3 {
    display: none;
}
.single-column .anchor_autonav ul {
    display: flex;
    margin: 0;
    padding: 0;
}
.single-column .anchor_autonav li {
    flex: 0 1 100%;
    display: inherit;
}
.single-column .anchor_autonav a {
    width: 100%;
    padding: 0.5rem 1rem;
    font-weight: 300;
    text-align: center;
    color:  #4a4a4a;
    background-color:  #e7e7e7;
    text-transform: uppercase;
}
.single-column .anchor_autonav a:hover {
    background-color: #fff;
    text-decoration: none;
}

@media (min-width: 768px) {
    .flex-break {
        display: none;
    }
}

.flex-break {
    flex-basis: 100%;
    height: 0;
    content: "";
}

.header-live-chat {
    flex: 0 1 100%;
}
.nav-mobile-close-btn {
	appearance: none;
	display: flex;
	align-items: center;
	width: 100%;
	padding: 0.5rem 1rem;
	border: 0;
	border-bottom: 1px solid #ddd;
	font-size: 1rem;
	font-weight: bold;
	text-transform: uppercase;
	background-color: transparent;
}
