/* Add a few Limestone styles */
#primary a {
    color: #000000;
    background-attachment: scroll;
    background-image: linear-gradient(to top, rgba(161, 211, 237, 0.4) 0, rgba(161, 211, 237, 0.4) 0.5em, transparent 0.5em, transparent 110%), linear-gradient(to top, rgba(0, 51, 160, 0.4) 0, rgba(0, 51, 160, 0.4) 2px, transparent 2px, transparent 100%);
    background-repeat: no-repeat;
    background-position: 0 0.5em, 0 0;
    position: relative;
    -webkit-transition: 0.2s background-position ease-out;
    transition: 0.2s background-position ease-out;
    font-weight: 300;
    text-decoration: none;
    z-index: 1;
}
#primary a:active{
    color: #0033a0 !important;
    background-position: 0 0, 1000px 2px !important;
    text-decoration: none;
}

#primary a:hover{
    color: #0033a0 !important;
    background-position: 0 0, 1000px 2px !important; 
    text-decoration: none;
}


.show-for-sr, .invisible {
    display: block;
    position: absolute;
    top: -999999em;
    left: -999999em;
}

.global-header__banner {
    display: flex;
    position: relative;
    align-items: center;
    justify-content: space-between;
}

.site-identity {
    display: block;
    position: relative;
    font-family: "usual",sans-serif;
    font-size: 0;
    margin-right: 1rem;
}

.site-identity:link, .site-identity:visited {
    color: #c8c8c7;
    text-decoration: none;
}

.site-identity__main {
    display: flex;
}

@media screen and (min-width: 76rem) {
    .site-identity__main {
        min-height: 5.5rem;
    }
}

@media screen and (min-width: 58rem){
    .site-identity__main {
        min-height: 4.5rem;
    }
}

.site-identity__logo {
    display: flex;
    flex-direction: column;
    justify-content: center;
    color: #fff;
    vertical-align: middle;
}
.site-identity__logo {
    vertical-align: baseline;
}

.lap-logo {
    margin-right: 1vw;
    display: flex;
    width: 5rem;
}

.site-identity__wordmark {
    display: flex;
    flex-direction: column;
    justify-content: center;
    font-size: 5vw;
    font-weight: 500;
    line-height: 1;
    color: #fff;
}
@media screen and (min-width: 76rem){
    .site-identity__wordmark {
        font-size: 2.1rem;
    }
}

@media screen and (min-width: 58rem){
    .site-identity__wordmark {
        font-size: 1.8rem;
    }
}

@media screen and (min-width: 35rem){
    .site-identity__wordmark {
        margin-top: 0;
        font-size: 1.8375rem;
        line-height: 0.97674;
        vertical-align: baseline;
    }
}

.page-header {
    position: relative;
    padding-top: calc(3rem - 2px);
}

.page-header.slab--wildcat-white {
    padding-top: 3rem;
    border-width: 0;
}

/*.page-header--text.slab--wildcat-white {
    border-top: 2px #c8c8c7 solid;
}*/

.page-header .slab__wrapper {
    padding-bottom: calc(2.5rem - 4px);
    border-bottom: 4px #002678 solid;
}

.slab__wrapper {
    max-width: 72rem;
    margin: 0 auto;
}

.headline-group .headline-group__head {
    font-size: 1.5rem;
    line-height: 1.5rem;
}

@media screen and (min-width: 76rem) {
    .headline-group .headline-group__head {
        font-size: 1.5rem;
        line-height: 1.5rem;
    }
}

.page-header h1 .headline-group__head {
    font-weight: 600;
}

@media screen and (min-width: 35rem) and (min-width: 76rem){
    .page-header h1 .headline-group__head {
        font-size: 3.4286rem;
        line-height: 4rem;
    }
}

h1.headline-group .headline-group__head {
    font-size: 2rem;
    line-height: 2rem;
}
@media screen and (min-width: 76rem) {
    h1.headline-group .headline-group__head {
        font-size: 2.375rem;
        line-height: 2.5rem;
    }
}

.headline-group .headline-group__sub {
    display: block;
    font-style: italic;
    color:#515664;
}

#primary .limestone-button {
    border-color: #0033a0;
    background-color: #0033a0;
    color: #fff;
}
#primary .limestone-button:active {
    border-color: #0033a0;
    background-color: #0033a0;
    color: #fff;
}
#primary .limestone-button:hover {
    border-color: #0033a0;
    background-color: #fff;
    color: #0033a0;
}
#primary .limestone-button:focus{
    border-color: #0071eb;
    outline: none;
    background-color: #fff;
    color: #0033a0;
}
#primary a.limestone-button, input.limestone-button {
    font-size: 1.1667rem;
    line-height: 1.5rem;
    display: block;
    width: 80%;
    margin: 0.5rem auto;
    padding-top: calc(1rem - 2px);
    padding-right: calc(1.875rem - 3px);
    padding-bottom: calc(1rem - 4px);
    padding-left: calc(1.875rem - 3px);
    -webkit-transition: 0.3s ease-in-out;
    transition: 0.3s ease-in-out;
    border-width: 2px;
    border-style: solid;
    font-family: "usual", sans-serif;
    font-weight: 500;
    text-align: center;
    text-decoration: none;
    text-transform: uppercase;
    background-image: none;
}
@media screen and (min-width: 35rem){
    #primary a.limestone-button, input.limestone-button {
        display: inline-block;
        width: auto;
        margin: 0;
    }
}
@media screen and (min-width: 76rem){
    #primary a.limestone-button, input.limestone-button {
        font-size: 1.1667rem;
        line-height: 1.5rem;
    }
}

#primary .underline-link, .editorial a {
    background-attachment: scroll;
    background-image: linear-gradient(to top, rgba(161, 211, 237, 0.4) 0, rgba(161, 211, 237, 0.4) 0.5em, transparent 0.5em, transparent 110%), linear-gradient(to top, rgba(0, 51, 160, 0.4) 0, rgba(0, 51, 160, 0.4) 2px, transparent 2px, transparent 100%);
    background-repeat: no-repeat;
    background-position: 0 0.5em, 0 0;
    position: relative;
    -webkit-transition: 0.2s background-position ease-out;
    transition: 0.2s background-position ease-out;
    font-weight: 300;
    text-decoration: none;
    z-index: 1;
}

.link-group__heading {
    font-size: 1.25rem;
    line-height: 1.5rem;
    position: relative;
    margin-bottom: 1.5rem;
    padding-bottom: 1rem;
    font-weight: 400;
    text-transform: uppercase;
}
.link-group__heading::after {
    display: block;
    position: absolute;
    bottom: -0.25rem;
    left: 0;
    width: 3.125rem;
    height: 0.25rem;
    background-color: #1897d4;
    content: "";
}

.link--fancy::before, .link--fancy-reverse::before, .editorial .link--fancy::before, .editorial .link--fancy-reverse::before {
    position: absolute;
    left: 0.25em;
    -webkit-transition: left 0.3s ease-in-out;
    transition: left 0.3s ease-in-out;
    color: #1897d4;
    font-family: iconfont;
    font-size: 0.7em;
    content: "\ea03";
}

.cta {
    margin-right: 0;
    margin-left: 0;
    padding: calc(1rem - 3px);
    border: 3px #0033a0 solid;
    /*height: 100%;*/
}
@media screen and (min-width: 58rem){
    .cta {
        padding: calc(2.5rem - 6px);
        border-width: 6px;
    }
}

@media screen and (min-width: 35rem){
    .cta {
        padding: calc(1.5rem - 3px);
    }
}

.cta.cta--light {
    border-color: #eff4fd;
    background-color: #eff4fd;
}

.global-footer {
    background-color: #1f2c5e;
    color: #ffffff;
    padding: 2rem;
}

.global-footer a {
    color: #ffffff;
    background-attachment: scroll;
    background-image: linear-gradient(to top, rgba(161, 211, 237, 0.6) 0, rgba(161, 211, 237, 0.6) 0.5em, transparent 0.5em, transparent 110%), linear-gradient(to top, rgba(255, 255, 255, 0.6) 0, rgba(255, 255, 255, 0.6) 1px, transparent 1px, transparent 100%);
    background-repeat: no-repeat;
    background-position: 0 .5em, 0 0;
    position: relative;
    transition: .2s background-position ease-out;
    z-index: 1;
    font-weight: normal;
    text-decoration: none;
}

.global-footer a:hover {
    color: #ffffff;
    background-position: 0 0,1000px 1px;
}

.link-group a {
    font-size: 1.1667rem;
    line-height: 1.5rem;
    font-weight: 500;
}

.link-group a:hover, .link-group a:active {
    text-decoration: underline;
}

.link-group a:link, .link-group a:visited {
    text-decoration: none;
}

@media screen and (min-width: 76rem) {
    .link-group a {
        font-size: 1.1667rem;
        line-height: 1.5rem;
    }
}

.content-filter{
    display: flex;
    flex-wrap: wrap;
    gap: 1rem;
    padding-top: 1rem;
    margin: 0 2rem;
    background: #c8c8c7;
    justify-content: center;
}

.search-entry{
    flex: 0 1 calc(33.33% - 14px);
    color: #000000;
}
.search-entry:focus-visible {
  outline: 3px solid #0033a0;
  outline-offset: 2px;
}

@media (max-width: 768px) {
  .search-entry {
    flex: 0 1 calc(50% - 10px);
  }
}

@media (max-width: 480px) {
  .search-entry {
    flex: 0 1 100%;
  }
}

input[type="text"]:focus{
    outline: 5px auto -webkit-focus-ring-color;
    outline-offset: -2px;
}

.banner-alert .banner-alert--brand {
    color: #fff;
    background-color: #0033a0;
}

.banner-alert {
    padding: 1rem;
    background-color: #b1c9e8;
}

@media screen and (min-width: 58rem){
    .banner-alert {
        padding: 2rem;
    }
}

.limestone-pagination {
    margin: 2rem 0;
    display: inline-block;
    width: 100%;
}

.limestone-pagination .first, .limestone-pagination .previous, .limestone-pagination .next, .limestone-pagination .last {
    display: inline-block;
}

.limestone-pagination a {
    background-attachment: scroll;
    background-image: linear-gradient(to top, rgba(161, 211, 237, 0.4) 0, rgba(161, 211, 237, 0.4) 0.5em, transparent 0.5em, transparent 110%), linear-gradient(to top, rgba(0, 51, 160, 0.4) 0, rgba(0, 51, 160, 0.4) 2px, transparent 2px, transparent 100%);
    background-repeat: no-repeat;
    background-position: 0 0.5em, 0 0;
    position: relative;
    -webkit-transition: 0.2s background-position ease-out;
    transition: 0.2s background-position ease-out;
    font-weight: 300;
    text-decoration: none;
    z-index: 1;
    margin: 0.5rem;
    text-align: center;
}
.limestone-pagination .current a {
    display: inline-block;
    background-image: none;
    pointer-events: none;
}

.limestone-pagination ul {
    margin: 0;
    text-align: center;
    display: inline-block;
}

.limestone-pagination ul li {
    font-size: 1.1667rem;
    line-height: 1.5rem;
    display: none;
    margin: 0;
}

@media screen and (min-width: 35rem){
    .limestone-pagination ul li {
        display: inline-block;
    }
}
@media screen and (min-width: 76rem){
    .limestone-pagination ul li {
        font-size: 1.1667rem;
        line-height: 1.5rem;
    }
}

.limestone-pagination a:link, .limestone-pagination a:visited {
    color: #000000;
}
.limestone-pagination a:hover, .limestone-pagination a:active {
    color: #0033a0;
}

.limestone-pagination .first::before, .limestone-pagination .first::after, .limestone-pagination .previous::before, .limestone-pagination .previous::after, .limestone-pagination .next::before, .limestone-pagination .next::after, .limestone-pagination .last::before, .limestone-pagination .last::after {
    display: inline-block;
    position: relative;
    bottom: 0.1em;
}

.limestone-pagination .first::before, .limestone-pagination .first::after, .limestone-pagination .previous::before, .limestone-pagination .previous::after, .limestone-pagination .next::before, .limestone-pagination .next::after, .limestone-pagination .last::before, .limestone-pagination .last::after {
    display: inline-block;
    position: relative;
    bottom: 0.1em;
}

.limestone-pagination .first a::before {
    display: inline-block;
    margin-right: 0.3em;
    content: '\00ab';
}

.limestone-pagination .previous a::before {
    display: inline-block;
    margin-right: 0.3em;
    content: '\2039';
}

.limestone-pagination .next a::after {
    display: inline-block;
    margin-left: 0.3em;
    content: '\203a';
}

.limestone-pagination .last a::after {
    display: inline-block;
    margin-left: 0.3em;
    content: '\00bb';
}

.limestone-pagination a:active, .limestone-pagination a:hover {
    background-position: 0 0, 1000px 2px;
}
.limestone-pagination .current a {
    display: inline-block;
    background-image: none;
    pointer-events: none;
}

.limestone-pagination ul {
    margin: 0;
    text-align: center;
    white-space: nowrap;
}

.limestone-pagination ul li {
    font-size: 1.1667rem;
    line-height: 1.5rem;
    display: none;
    margin: 0;
}

@media screen and (min-width: 35rem){
    .limestone-pagination ul li {
        display: inline-block;
    }
}
@media screen and (min-width: 76rem){
    .limestone-pagination ul li {
        font-size: 1.1667rem;
        line-height: 1.5rem;
    }
}

.in-page-alert{
    margin-bottom: 1rem;
}

.in-page-alert .slab__wrapper {
    background-color: #EFF4FD;
    border-left: 7px solid #1E8AFF;
    padding: 1rem;
    display: flex;
    align-items: center;
}
.slab .in-page-alert.slab:first-child {
    padding-top: 0;
}
.in-page-alert .icon-wrapper {
    margin-right: 2rem;
}
.in-page-alert h2 {
    text-transform: uppercase;
    font-size: 1.5rem;
    font-weight: 900;
    color: #0033A0;
    margin: 0;
    line-height: 1.2;
}

/* End Limestone styles*/