body {
    font-family: "Inter", sans-serif;
    font-size: 16px;
}

/* Bootstrap Override */
.navbar-header h1,
.headline h1,
.banner-title h1,
h2,
h3 {
    /*font-family: 'Assistant', sans-serif;*/
    font-weight: 700;
    line-height: 1.1;
    color: var(--berkeley-blue);
    font-family: "Source Serif 4", sans-serif;
}

h4,
h5 {
    font-weight: 400;
    color: #000000;
}

hr {
    border-top: 0.1em solid #c3c3c4;
    margin: 0.5em 0;
    padding: 0;
}

button:focus,
a:focus,
select:focus {
    outline: 0 !important;
}

a:focus,
a:hover {
    background-color: #eeeeee;
    text-decoration: none;
}

select:focus,
select:hover {
    text-decoration: none;
    cursor: pointer;
}

p.lead {
    margin-top: 20px;
}

blockquote {
    border-color: var(--berkeley-green-medium);
    background-color: var(--berkeley-gray-light);
}

/* Responsive navbar brand text */
@media (max-width: 991.98px) {
    .hidden-sm-down {
        display: none !important;
    }

    .visible-sm-down {
        display: block !important;
    }
}

@media (min-width: 992px) {
    .hidden-md-up {
        display: none !important;
    }

    .visible-md-up {
        display: block !important;
    }
}

.page-header-band {
    /* background-image: url(/images/tessellation-bg-12.png); */
    background-repeat: no-repeat;
    background-position: 100%;
    background-color: var(--berkeley-blue-medium);
    padding: 16px;
    /* margin-bottom: 40px; */
}

.page-header-band h1 {
    font-size: 36px;
    font-family: "Source Serif 4", sans-serif;
    font-weight: 700;
    color: var(--berkeley-white);
}

.headline {
    display: block;
    margin: 20px 0 25px 0;
    border-bottom: 1px solid #ddd5c7;
}

.headline h2,
.headline h3,
.headline h4 {
    margin: 0 0 -2px 0;
    padding-bottom: 5px;
    display: inline-block;
    border-bottom: 2px solid #245c24;
}

/* Menu Styling */
.nav-header {
    background-color: var(--berkeley-blue);
}

.nav-header .links {
    color: #ffffff !important;
    border-bottom: none !important;
    margin-bottom: 0 !important;
    font-weight: 600;
    padding-top: 12px;
    padding-bottom: 12px;
    font-size: 0.85em;
}

.nav-header .pull-right .open .links {
    color: var(--california-gold) !important;
}

.nav-header .links:hover,
.nav-header .links:focus {
    color: var(--california-gold) !important;
    border-bottom: none !important;
}

.navbar {
    margin-bottom: 0;
}

.navbar-brand {
    font-size: 40px;
}

#navbar {
    font-weight: 600;
}

.navbar-header {
    padding-top: 10px;
    padding-bottom: 20px;
}

.dropdown-menu li>a {
    padding-top: 5px;
    padding-bottom: 5px;
}

body>.container {
    margin-top: 10px;
}

/* Banner with title */
.banner-title {
    height: 100%;
    display: table;
}

.banner-title-inner {
    padding: 20px 30px;
    display: table-cell;
    /* vertical-align: bottom; */
    vertical-align: middle;
}

.banner-title-text {
    line-height: 1.5;
    font-size: 3em;
    /* color: white; */
    /* background: rgba(0, 50, 98, 0.5); */
}

.banner {
    /* background-image: url(/images/banner-md.png); */
    background-image: url(/images/berkeley_tims_landing_page_map.png);
    /* background-size: contain; */
    background-size: 45%;
    background-repeat: no-repeat;
    background-position-x: right;
    background-position-y: top;
    height: 500px;
    margin-bottom: 20px;
    margin-top: 40px;
    margin-right: 40px;
    /* -webkit-box-shadow: 0 1px 3px 0 rgba(0, 0, 0, 0.2); */
    /* box-shadow: 0 1px 3px 0 rgba(0, 0, 0, 0.2); */
}

.banner>div {
    height: 100%;
}

.call-to-action-container {
    display: flex;
    align-items: center;
    justify-content: middle;
    /* Push the container to the left */
    gap: 10px;
    position: relative;
    /* Needed for positioning the arrow */
}

.call-to-action-container .btn {
    margin-bottom: 100px;
}

.arrow-container {
    transform: scaleY(-1);
}

.call-to-action-text {
    max-width: 145px;
}

@media (max-width: 991.98px) {
    #navbar {
        margin-top: 0;
    }

    .banner {
        /* background-image: url(/images/banner-sm.png); */
        background-image: none;
        height: 200px;
    }

    .nav-header {
        display: none;
    }

    .navbar-header {
        padding-left: 10px;
        padding-top: 0;
        padding-bottom: 10px;
    }

    .banner-title-text {
        font-size: 1.5em;
        line-height: 1.2;
    }

    .navbar-brand {
        color: var(--california-gold) !important;
        background-color: var(--berkeley-blue);
    }

    .navbar-brand:focus,
    .navbar-brand:hover {
        background-color: var(--berkeley-blue) !important;
    }

    /* .call-to-action-text,
    .arrow-container {
        display: none;
    } */
}

@media (min-width: 991px) and (max-width: 1199px) {
    .banner {
        height: 400px;
    }

    #navbar .navbar-nav>li>a {
        padding: 15px 10px !important;
        /* font-weight: normal; */
    }
}

/* News in home page */
.media {
    margin-bottom: 10px;
}

.news-date {
    border-right: 1px solid #999;
    padding-right: 10px;
    width: 100px;
    color: var(--berkeley-green-medium);
    font-weight: 600;
}

.news-date .day {
    font-size: 1.8em;
    line-height: 30px;
}

.news-date .month {
    font-size: 1.4em;
}

.news-date .year {
    font-size: 1.2em;
}

.media-heading {
    color: var(--berkeley-green-medium);
}

/* Footer */
.footer {
    background-color: var(--berkeley-blue);
    color: #ccc;
    font-size: 0.85em;
    margin-top: 40px;
    margin-bottom: 0;
    padding-bottom: 20px;
    line-height: 24px;
}

.footer a,
.footer a:link,
.footer a:visited {
    color: #ccc;
}

.footer a:hover,
.footer a:focus,
.footer a:active {
    color: var(--california-gold);
    background-color: transparent;
    text-decoration: none;
    outline-color: #fff;
}

.footer hr {
    margin-top: 0.625rem;
    margin-bottom: 0.625rem;
    border: 0;
    border-top: 1px solid hsla(0, 0%, 100%, 0.1);
    width: auto;
}

.footer .list-inline>li {
    padding-right: 20px;
    /* padding-left: 10px; */
}

.footer .row {
    padding-top: 15px;
    padding-bottom: 15px;
}

#footer-logo img {
    width: auto;
    max-width: 200px;
}

.footer p {
    margin: 0;
}

/* Jump to Top */
.jumpTop {
    display: none;
    position: fixed;
    right: 20px;
    bottom: 10px;
    z-index: 999;
}

.jumpTop a {
    background-color: #338033;
    display: block;
    overflow: hidden;
    width: 40px;
    height: 40px;
    color: white;
    filter: alpha(opacity=80);
    opacity: 0.8;
    font-size: 1.5em;
    text-align: center;
    border-radius: 5px;
    padding-top: 8px;
    -webkit-transition: all 0.2s ease-out;
    -moz-transition: all 0.2s ease-out;
    -o-transition: all 0.2s ease-out;
    -ms-transition: all 0.2s ease-out;
    transition: all 0.2s ease-out;
}

.jumpTop a:hover {
    background-color: #cfdd45;
    filter: alpha(opacity=100);
    opacity: 1;
}

/* news.php */
.news-lead {
    margin: 1.5rem 0 2rem;
}

.news-list {
    display: grid;
    gap: 1rem;
    margin-bottom: 2rem;
}

.news-item {
    border: 1px solid #dcdcdc;
    border-left: 6px solid var(--berkeley-green-medium, #006a4d);
    border-top-left-radius: 4px;
    border-bottom-left-radius: 4px;
    font-size: 1.1em;
    padding: 1rem 2rem;
    background-color: #ffffff;
    box-shadow: 0 1px 3px rgba(0, 0, 0, 0.08);
}

.news-item summary {
    display: flex;
    align-items: baseline;
    gap: 1rem;
    list-style: none;
    cursor: pointer;
}

.news-item summary::-webkit-details-marker {
    display: none;
}

.news-item summary:focus-visible {
    outline: 3px solid var(--california-gold, #fdb515);
    outline-offset: 4px;
}

.news-date-text {
    font-weight: 600;
    color: var(--berkeley-green-medium, #006a4d);
    min-width: 8rem;
    flex-shrink: 0;
}

.news-subject {
    font-weight: 600;
    color: var(--berkeley-blue, #003262);
}

.news-toggle-indicator {
    margin-left: auto;
    font-size: 1.25rem;
    color: var(--berkeley-blue, #003262);
}

.news-item[open] .news-toggle-indicator::before {
    font-family: "Glyphicons Halflings";
    content: "\e114";
}

.news-item:not([open]) .news-toggle-indicator::before {
    font-family: "Glyphicons Halflings";
    content: "\e080";
}

.news-item__content {
    margin-top: 1rem;
    line-height: 1.6;
    padding: 20px;
}

.news-empty {
    font-style: italic;
    color: #555555;
}

.news-actions {
    margin: 0 0 3rem;
    text-align: center;
}

@media (max-width: 767.98px) {
    .news-item summary {
        flex-direction: column;
        gap: 0.35rem;
    }

    .news-date-text {
        min-width: auto;
    }

    .news-toggle-indicator {
        margin-left: 0;
        align-self: flex-start;
    }
}

/* thumbnail */
.thumbnail {
    border-bottom: 3px solid var(--california-gold);
    box-shadow: 0 1px 4px rgba(0, 0, 0, 0.3);
    padding: 0
}

.thumb-text {
    padding: 0px 10px 5px 10px;
}

.thumb-text h3,
.thumb-text h4,
.thumb-text p {
    text-align: center;
}

.jumbotron {
    background-color: white;
}

#intro p {
    margin-top: 20px;
    font-size: 1.5em;
    line-height: 1.5;
    font-weight: normal;
    padding-right: 25px;
    color: var(--berkeley-dark-blue);
}

@media (min-width: 768px) {
    .thumbnail {
        height: 450px;
    }
}

@media (min-width: 1200px) {
    .thumbnail {
        height: 450px;
    }
}

/* Login & register & new password */
.formBox {
    color: #555;
    padding: 30px;
    background: #fefefe;
    border: solid 1px #eee;
    box-shadow: 0 0 3px #eee;
}

.password_info {
    position: absolute;
    padding: 15px;
    background: #fefefe;
    box-shadow: 0 1px 3px #ccc;
    border: 1px solid #ddd;
    left: 20%;
    margin-top: 10px;
}

.password_info::before {
    content: "\25B2";
    position: absolute;
    top: -12px;
    left: 45%;
    font-size: 14px;
    line-height: 14px;
    color: #ddd;
    text-shadow: none;
    display: block;
}

.invalid:before {
    font-family: "Glyphicons Halflings";
    content: "\e014";
    color: #ec3f41;
}

.valid:before {
    font-family: "Glyphicons Halflings";
    content: "\e013";
    color: #3a7d34;
}

/* Print */
@media print {
    .footer {
        display: none;
    }

    /* Bootstrap print style override */
    a[href]:after {
        content: none;
    }

    /* Google Maps Print footnote bug fix */
    .gm-style .gmnoprint,
    .gmnoprint {
        display: none;
    }

    /* Google Maps not showing Issue fix */
    .gm-style img {
        max-width: none !important;
    }
}

/* Loader */
.loader-bars,
.loader-bars:after,
.loader-bars:before {
    background: #56a5d8;
    -webkit-animation: load 0.8s infinite ease-in-out;
    animation: load 0.8s infinite ease-in-out;
    width: 0.85rem;
    height: 2rem;
}

.loader-bars:after,
.loader-bars:before {
    position: absolute;
    top: 0;
    content: "";
}

@-webkit-keyframes load {

    0%,
    100%,
    80% {
        box-shadow: 0 0 #56a5d8;
        background: #56a5d8;
        height: 2rem;
    }

    40% {
        box-shadow: 0 -0.5rem #0079c1;
        background: #0079c1;
        height: 2.5rem;
    }
}

@keyframes load {

    0%,
    100%,
    80% {
        box-shadow: 0 0 #0079c1;
        background: #56a5d8;
        height: 2rem;
    }

    40% {
        box-shadow: 0 -0.5rem #0079c1;
        background: #0079c1;
        height: 2.5rem;
    }
}

.loader {
    display: none;
    position: relative;
}

.loader.is-active {
    display: block;
}

.loader-bars {
    text-indent: -9999em;
    margin: auto;
    position: absolute;
    right: 50%;
    font-size: 11px;
    -webkit-animation-delay: 0.16s;
    animation-delay: 0.16s;
}

.loader-bars:before {
    left: -1.25rem;
}

.loader-bars:after {
    left: 1.25rem;
    -webkit-animation-delay: 0.32s;
    animation-delay: 0.32s;
}

.loader-text {
    text-align: center;
    padding-top: 4rem;
}

.ie9 .loader-bars {
    position: inherit;
    background-color: transparent;
    background-image: url(img/loader-ie9.gif);
    background-position: center top;
    animation: none;
    -webkit-animation: none;
    width: 64px;
    height: 64px;
}

.ie9 .loader-bars:after,
.ie9 .loader-bars:before {
    background: 0 0;
    animation: none;
    -webkit-animation: none;
    width: 0;
    height: 0;
}

.ie9 .loader-text {
    padding-top: 2rem;
}

.element-invisible {
    position: absolute !important;
    clip: rect(1px 1px 1px 1px);
    clip: rect(1px, 1px, 1px, 1px);
    overflow: hidden;
    height: 1px;
}

/* about page */
.skip-link {
    position: absolute;
    left: -999px;
    top: auto;
    width: 1px;
    height: 1px;
    overflow: hidden;
    color: #fff;
    background-color: #0b5fff;
    padding: 0.5rem 1rem;
    border-radius: 4px;
    z-index: 1000;
}

.skip-link:focus {
    left: 1rem;
    top: 1rem;
    width: auto;
    height: auto;
}

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

.content-section {
    margin-bottom: 3rem;
}

.content-section__title {
    margin-top: 2rem;
}

.content-disclosure {
    border: 1px solid #d0d0d0;
    padding: 1rem 2rem;
    background-color: #f8f8f8;
    margin-bottom: 1.5rem;
}

.content-disclosure summary {
    font-weight: 600;
    cursor: pointer;
}

.content-disclosure summary:focus {
    outline: 2px solid #0b5fff;
    outline-offset: 5px;
}

.content-disclosure p {
    margin-top: 2rem;
}

.content-disclosure[open] {
    background-color: #fff;
}

.license-list {
    margin: 0;
    padding: 0;
}

.license-list__item {
    margin-bottom: 1.5rem;
}

.license-list__item dt {
    font-weight: 600;
}

.license-list__item dd {
    margin-left: 0;
}

.external-link::after {
    content: " \2197";
}

.external-link:focus {
    outline: 2px solid #0b5fff;
    outline-offset: 2px;
}

/* Workaround for fixing the highcharts label not shown issue with bootstrap tabs */
/*.tab-content > .tab-pane:not(.active) {
  display: block;
  height: 0;
  overflow-y: hidden;
}
*/