html, body {
  min-height: 100vh;
  margin: 0;
  padding: 0;
  box-sizing: border-box;
  display: flex;
  flex-direction: column;
  text-shadow: 0 0.05rem 0.1rem rgba(0, 0, 0, 0.5);
  box-shadow: inset 0 0 5rem rgba(0, 0, 0, 0.5);
  background: radial-gradient(
    ellipse at top left,
    #7f0037 0%,
    #880f3e 25%,
    #983a54 50%,
    #4c0021 75%,
    #3a001a 100%
  );
  background-repeat: no-repeat;
  background-size: cover;
}
header{
    width:100%;
    padding:.5rem 1rem
}
.nav-masthead .nav-link{
    padding:.25rem 0;
    font-weight:700;
    color:rgba(255,255,255,.5);
    background-color:transparent;
    border-bottom:.25rem solid transparent
}
.nav-masthead .nav-link:hover,.nav-masthead .nav-link:focus{
    border-bottom-color:rgba(255,255,255,.25)
}
.nav-masthead .nav-link+.nav-link{
    margin-left:1rem
}
.nav-masthead .active{
    color:#fff;
    border-bottom-color:#fff
}
.nav-linkleft,.nav-linkright{
    font-weight:700;
    color:rgba(255,255,255,.75)
}
.nav-linkright{
    margin-right:0
}
.nav{
    margin-right:0
}
.container-fluid{
    padding-right:0
}
footer{
    text-align:center;
    font-size:.8rem;
    color:#a0a0a0;
    margin-top:auto
}
.cover-container{
    width:100%;
    max-width:42em;
    margin:0 auto;
    flex:1
}
.logo{
    display:block;
    margin:0 auto;
    margin-bottom:40px;
    max-width:300px
}
@media (min-width:1024px){
    .logo{
        max-width:300px
    }
}
@media (min-width:768px) and (max-width:1023px){
    .logo{
        max-width:250px
    }
}
@media (max-width:767px){
    .logo{
        max-width:150px
    }
}
.search-box{
    margin-top:0;
    max-width:800px;
    width:100%
}
.search-input{
    width:100%;
    max-width:800px;
    min-width:300px;
    border-radius:24px;
    padding:12px;
    font-size:16px;
    border:1px solid #ddd;
    margin:0 auto;
    box-sizing:border-box
}
.search-button{
    height:45px;
    border-radius:0 25px 25px 0;
    font-size:16px;
    padding:0 20px
}
@media (min-width:1024px){
    .search-input{
        max-width:900px
    }
}
@media (max-width:768px){
    .search-input{
        width:90%;
        max-width:none
    }
}
@media (max-width:480px){
    .search-input{
        width:95%;
        max-width:none
    }
}
.input-group>.form-control{
    flex:none;
    width:100%;
    max-width:800px;
    min-width:300px;
    border-radius:24px;
    padding:12px;
    font-size:16px;
    border:1px solid #ddd;
    margin:0 auto;
    box-sizing:border-box
}
@media (min-width:1024px){
    .input-group>.form-control{
        max-width:900px;
        min-width:500px
    }
}
@media (min-width:1200px){
    .input-group>.form-control{
        max-width:1000px;
        min-width:600px
    }
}
@media (min-width:1024px) and (max-width:1199px){
    .input-group>.form-control{
        max-width:900px
    }
}
@media (max-width:768px){
    .input-group>.form-control{
        width:90%;
        max-width:none
    }
}
@media (max-width:480px){
    .input-group>.form-control{
        width:95%;
        max-width:none
    }
}
.b-example-divider{
    height:3rem;
    background-color:rgba(0,0,0,.1);
    border:solid rgba(0,0,0,.15);
    border-width:1px 0;
    box-shadow:inset 0 .5em 1.5em rgba(0,0,0,.1),inset 0 .125em .5em rgba(0,0,0,.15)
}
.form-control-dark{
    color:#fff;
    background-color:var(--bs-dark);
    border-color:var(--bs-gray)
}
.form-control-dark:focus{
    color:#fff;
    background-color:var(--bs-dark);
    border-color:#fff;
    box-shadow:0 0 0 .25rem rgba(255,255,255,.25)
}
.dropdown{
    margin-top:5px
}
.dropdown-toggle{
    outline:0
}
.bi{
    vertical-align:-.125em;
    fill:currentColor
}
.text-small{
    font-size:85%
}
