html {
    background-attachment:fixed;
    -webkit-background-size:cover;
    -moz-background-size:cover;
    -o-background-size:cover;
    background-size:cover;
    height:100%;
}

body * {
    box-sizing:border-box;
}

body {
    width:100%;
    min-height:100%;
    font-family:'Geist', arial, sans-serif;
    letter-spacing:0.05rem;
    font-size:14px;
    line-height:1.2rem;
    color:#000;
    background:#fff;
    -moz-box-sizing:border-box;
    -webkit-box-sizing:border-box;
    -o-box-sizing:border-box;
    box-sizing:border-box;
    position:relative;
    display:flex;
    flex-direction:column;
}

.active a {
    border-bottom:1px solid;
}

.active a:hover { color:inherit; }

h1 {
    font-family:'Baskervville', sans-serif;
    text-transform:uppercase;
    font-size:1.7rem;
    letter-spacing:0.20rem;
}

header div > a:hover { text-decoration:none;color:inherit; }

h2, h3 {
    font-size:1em;
    font-weight:bold;
}

b, strong {
    font-weight:bold;
}

i, em {
    font-style:italic;
}

small, .small {
    font-size:0.8em;
}

a { color:currentColor; text-decoration:none; }
a:hover { color:#98bcf0;/*color:rgba(0,0,0,0.5);*/ }

p { margin-bottom:1lh; }

img { max-width:100%; }

hr {
    display:block;
    width:100%;
    border:none;
    margin:0;
    padding:0;
}

hr:after {
    content:'———————————————————————————————————————————————————————————————————————————————————————————————————————————————————';
    display:block;
    width:100%;
    overflow:hidden;
    text-overflow:'';
    color:#000;
}

table tr {
    border-bottom:1px solid currentColor;
}

table tr th, table tr td {
    text-align:left;
    padding-top:5px;
    padding-bottom:5px;
}

button, .btn {
    background:transparent;
    border:1px solid rgba(0,0,0,0.3);
    /* border-radius:5px; */
    font-family:inherit;
    font-size:0.75rem;
    padding:3px 8px;
    cursor:pointer;
}

button:hover, .btn:hover {
    background:rgba(0,0,0,0.05);
}

.btn-large {
    font-size:1em;
    padding:8px 14px;
}

input, select {
    border:1px solid rgb(194, 194, 194);
    width:100%;
    padding:6px 8px;
    margin-bottom:5px;
    border-radius:3px;
}

.sold-out-sticker {
    display:flex;
    justify-content:center;
    align-items:center;
    height:60px;
    width:60px;
    background:#000;
    color:#FFF;
    border-radius:100%;
    font-size:12px;
    font-weight:bold;
    position:absolute;
    bottom:20px;
    right:20px;
}

.alert {
    padding:10px;
    text-align:center;
    background:#e2e3e5;
    color:#383d41;
    grid-column:1/-1;
}

.alert-info {
    background:#cce5ff;
    color:#004085;
}

.alert-success {
    background:#d4edda;
    color:#155724;
}

.alert-warning {
    background:#fff3cd;
    color:#856404;
}

.alert-danger {
    background:#f8d7da;
    color:#721c24;
}

header h1 {
    line-height:130%;
}

footer span {
    font-size:1.4rem;
}

@media screen and (max-width: 768px) {

    header h1 {
        font-size:1.4rem;
    }

    footer span {
        font-size:1.2rem;
    }

}

@media screen and (max-width: 576px) {

    header h1 {
        font-size:1rem;
    }

    footer span {
        font-size:1rem;
    }

}