:root {
    --minimal: #f5f5f5;
    --absolute: #282828;
    --dark: #353535;
    --plum: #5a2e98;
    --burgundy: #981e32;
    --gold: #c93;
    --dark-gold: #a08040;
    --explore: #2baebe;
}

html, body
{
    font-family: "proxima-nova", sans-serif;
    color: var(--absolute);
    font-weight: 300;
    font-size: 20px;
    font-style: normal;
}

html {
    overflow-y: scroll; /* Flickity slider fix for video slides */
}

@media (max-width: 1200px)
{
    html, body
    {
        font-size: 18px;
    }
}

@media (max-width: 992px)
{
    html, body
    {
        font-size: 15px;
    }
}

/* Layout */

@media (min-width: 1200px)
{
    .container
    {
        max-width: 1540px;
    }
}

nav, .nav { font-family: 'proxima-nova', sans-serif}

#main { font-family: 'plantin', serif }

.container-fluid.alternative,
.container.alternative,
.alternative .row,
.row.alternative, 
div.alternative,
ul.list-striped li:nth-of-type(odd)
{
    background: #f2f2f2;
}

/* End Layout */

/* Focus */

:focus,
a[tabindex="-1"]:focus /* To allow programmatic focus w/accessiblity tabs */
{
    /* outline: 2px dotted var(--plum)!important; */
    /* Need to turn transparent later for high-contrast mode and replace with box-shadow */
    box-shadow: none!important;
}

/* End Focus */

/* Colors */

a {
    color: var(--absolute);
    text-decoration: underline;
    text-decoration-thickness: .5px;
    text-underline-offset: 0.25ch;
}

a:hover,
a:active,
a:focus {
    color: var(--absolute);
    text-decoration: underline;
    text-decoration-style: dashed;
    text-decoration-thickness: .5px;
    text-underline-offset: 0.25ch;
}

a:not(.btn,.nav-link):focus {
    border: none;
}

a.text-primary:hover,
a.text-primary:focus,
a.text-primary:active {
    color: var(--dark-gold)!important;
    border-color: var(--dark-gold)!important;
}

.error-list li{
    display:block;
}

.error-list li a{
    color: var(--burgundy);
}

.bg-primary {
    background: var(--gold)!important;
}

.bg-secondary {
    background: var(--burgundy)!important;
}

.bg-absolute {
    background: var(--absolute)!important;
}

.bg-minimal {
    background: var(--minimal)!important;
}

.bg-success {
    background: #1e9838!important;
}

.bg-danger {
    background: #e21212!important;
}

.bg-warning {
    background: #ca4e02!important;
}

.bg-info  {
    background: #137783!important;
}

.bg-dark, 
.row.row-dark, 
.thead-dark,
.table .thead-dark th {
    background: #353535!important;
}

.bg-white {
    background: #fff;
}

.bg-black {
    background: black;
}

.border-primary {
    border-color: var(--gold)!important;
}

.border-secondary {
    border-color: var(--burgundy)!important;
}

.border-absolute {
    border-color: var(--absolute)!important;
}

.border-dark {
    border-color: var(--dark)!important;
}

.text-primary {
    color: var(--dark-gold)!important;
    border-color: var(--dark-gold)!important;
}

.text-secondary {
    color: var(--gold)!important;
    border-color: var(--gold)!important;
}

.text-danger, .has-error, .text-warning, .error, .invalid-feedback
{
    color: var(--burgundy)!important;
}

.was-validated .form-control:invalid, .form-control.is-invalid {
    border-color: var(--burgundy)!important;
}

.was-validated .form-check-input:invalid~.form-check-label, .form-check-input.is-invalid {
    color: var(--absolute)!important;
}

/* To be reviewed */

.row-dark .text-danger, .row-dark .has-error, .row-dark .text-warning, .row-dark .error, .row-dark .invalid-feedback
{
    color: #ff7575!important;
}

.row-dark .was-validated .row-dark .form-control:invalid, .row-dark .form-control.is-invalid {
    border-color: #ff7575!important;
}

.was-validated .form-control:valid, .form-control.is-valid,
.form-check-input.is-valid~.form-check-label, .was-validated .form-check-input:valid~.form-check-label
{
    border-color: inherit;
    color: var(--absolute);
    background-image: none;
}

.valid-feedback {
    color: inherit;
}

.text-info {
    color: #137783!important;
}

.text-white
{
    border-color: #fff!important;
}

.text-white a,
.text-white a:before
{
    color: #ddd;
    border-color: #ddd;
}

.text-white a:hover,
.text-white a:active,
.text-white a:focus,
.text-white a:hover:before
{
    color: var(--gold);
    border-color: var(--gold);
}

a.text-white:hover,
a.fa.text-white:hover,
a.fab.text-white:hover {
    color: var(--gold)!important;
}

.text-shadow
{
    text-shadow: 2px 2px 6px var(--absolute), 0 0 1px #000;
}

.text-dark {
    color: var(--absolute)!important;
}

.vertical-align-middle {
    display: flex;
    flex-direction: column;
    justify-content: center;
}

.strong, strong {
    font-weight: 600;
}

.small, small {
    font-weight: inherit;
}

/* End Colors */

/* Navbar */

.navbar { 
    padding: 0.2rem;
}

.nav-link, .nav-link.btn {
    padding: 0.2rem .4rem;
    font-size: 0.8rem;
    line-height: 1.5rem;
}

.nav-link.btn {
    white-space: nowrap;
}

.navbar-dark .navbar-nav .nav-link {
    color: var(--minimal);
}

.navbar-brand .nav-link {
    padding: .25rem .5rem; 
}

.navbar-brand .nav-link:not(:hover) {
    color: #aaa;
}

.navbar-dark .navbar-nav .nav-link:hover,
.navbar-dark .navbar-nav .nav-link:active,
.navbar-dark .navbar-nav .nav-link:focus {
    color: var(--gold);
}

.navbar-dark .dropdown-menu {
    width: auto!important;
    background-color: black;
    border-radius: 0!important;
    border: 0!important;
}

.dropdown-item {
    font-weight: 300;
    border-left: 5px solid transparent;
    border-right: 5px solid transparent!important;
}

.navbar-dark .navbar-nav .dropdown-item:hover,
.navbar-dark .navbar-nav .dropdown-item:focus {
    background-color: black;
    border-left: 5px solid var(--gold);
}

/* Navbar - Collapsed */

@media(max-width: 1199.98px)
{

    .navbar-dark.navbar-expand-xl .nav-item
    {
        border-bottom: 1px solid white;
    }

    .navbar .nav-link
    {
        font-size: 1rem;
    }

    .navbar-dark .nav-link:hover,
    .navbar-dark .nav-link:focus {
        background-color: var(--dark);
        /* color: var(--absolute)!important; */
        outline: none!important;
    }

    .navbar-dark .navbar-nav .dropdown-item
    {
        text-align: center!important;
    }

    .navbar-dark .navbar-nav .dropdown-item:hover,
    .navbar-dark .navbar-nav .dropdown-item:focus {
        border-left: 5px solid transparent;
        background-color: var(--dark);
    }

}

/* End navbar */

/* Buttons */

.btn
{
    text-decoration: none;
    border-radius: 0;
    border-color: transparent;
    text-transform: uppercase;
    font-weight: 500;
    /* font-size: 1rem;
    padding: 0.3rem 1rem;  */
    line-height: 2rem ;
    letter-spacing: 2px;
    font-family: 'proxima-nova', sans-serif;
}

.btn:hover,
.btn:active,
.btn:focus
{
    transition: background-color 0.8s ease;
    -webkit-transition: background-color 0.8s ease;
    outline: 0!important;
    text-decoration: none;
}

.btn-sm {
    line-height: 1.5rem;
    text-transform: none;
}

.btn-default {
    color: var(--absolute);
    border-color: var(--absolute);
    background-color: #fff;
}

.btn-default:hover,
.btn-default:active,
.btn-default:focus {
    border-color: var(--gold);
    background-color: var(--absolute);;
    color: white!important;
}

.btn:before, .btn:hover:before
{
    content: "";
    border: none;
}

.btn-primary
{
    background-color: var(--absolute);
    border-color: var(--absolute);
    color: #fff!important;
}

.btn-gold,
.row-dark .btn-primary,
.bg-dark .btn-primary,
.navbar-dark .btn-primary,
.btn-book
{
    background-color: var(--gold)!important;
    border-color: var(--gold)!important;
    color: #000!important;
}

.btn-primary:hover,
.btn-primaryld:active,
.btn-primary:focus,
.btn-gold:hover,
.btn-gold:active,
.btn-gold:focus
{
    color: var(--gold)!important;
    border-color: var(--gold)!important;
    background-color: #000!important;
}

.btn-link {
    color: #fff;
}

.btn-link:hover,
.btn-link:active,
.btn-link:focus {
    color: var(--gold);
    text-decoration: none;
    outline: 2px dotted var(--plum)!important;
}

.btn.btn-arrow
{
    text-align: left;
}

.btn-group .btn
{
    margin-bottom: 10px;
}

.btn i:after
{
    content: "\00a0";
}

/* End buttons */

/* Headings */

h1, .h1,
h2, .h2,
h3, .h3,
h4, .h4,
h5, .h5,
h6, .h6
{
    line-height: 1.2em;
    text-transform: uppercase;
}

h1, .h1 { font-size: 1.8rem}
h2, .h2 { font-size: 1.6rem}
h3, .h3 { font-size: 1.4rem}
h4, .h4 { font-size: 1.3rem}
h5, .h5 { font-size: 1.2rem}
h6, .h6 { font-size: 1.1rem}

h1, .h1,
h2, .h2,
h3, .h3
{
    font-family: plantin, serif;
    font-style: normal;
    font-weight: 300;
}

h4,
h5,
h6
{
    font-family: 'proxima-nova';
    font-weight: 500;
}

h1 em, h2 em, h3 em, h4 em, h5 em, h6 em {
    display: block;
	color: var(--dark-gold);
	font-weight: 300;
    font-size: 0.7em;
    text-transform: uppercase;
    font-style: normal;
}

/* Experimental - JAWS reader mashing em together with main heading text */

h1 em::before, h2 em::before, h3 em::before, h4 em::before, h5 em::before, h6 em::before {
    content: ' ';
}

header .h1,
header .h2,
header .h3,
header .h4,
header .h5,
header .h6 
{
    font-family: 'proxima-nova', sans-serif!important;
    font-weight: 300;
}  

header .h1 { font-size: 3.6rem; }
header .h2 { font-size: 2.8rem; }
header .h3 { font-size: 2.4rem; }
header .h4 { font-size: 2.2rem; }
header .h5 { font-size: 2rem; }
header .h6 { font-size: 2rem; }

.list-inline li
{
    padding: 0;
}

.nav-tabs
{
    border-color: transparent;
    width: auto;
    text-align: center;
    display: inline-block;
}

.nav-tabs > li {
    font-weight: 300;
    background-color: var(--minimal);
    display: inline-block;
    float: none;
}

.nav-tabs .nav-link,
.nav-tabs > li > a {
    font-weight: 500!important;
    display: inline-block;
    color: var(--absolute);
    border: 2px solid transparent;
    border-style: solid;
    border-radius: 0;
    background-color: #eee;
    font-size: 1rem;
    letter-spacing: 2px;
    margin: 0!important;
    padding: .25rem .5rem;
    text-decoration: none!important;
}

.nav-tabs .nav-link.active,
.nav-tabs .nav-link:active,
.nav-tabs .nav-link:hover,
.nav-tabs > li > a.active,
.nav-tabs > li > a:active,
.nav-tabs > li > a:hover,
.nav-tabs > li > a:focus
{
    border-color: transparent;
    border-bottom-color: var(--gold)!important;
    background-color: var(--minimal);
    color: inherit;

}

@media(max-width:768px)
{
    .nav-tabs,
    .nav-tabs .nav-item,
    .nav-tabs .nav-item a {
        display: block;
        text-align: center;
        text-decoration: none!important;
    }

    .nav-tabs .nav-item
    {
        margin: .5rem 0!important;
    }

    .nav-tabs .nav-item a.active
    {
        border-color: var(--gold);
    }
}

.dropdown .dropdown-menu, .dropup .dropdown-menu
{
    width: 100%;
    border-color: transparent;
    padding: 0;
    border-bottom: 1px solid #ccc;
    text-shadow: none;
}

.dropdown .dropdown-menu li.divider, .dropup .dropdown-menu li.divider
{
    margin: 0;
}

.dropdown .dropdown-menu li .btn, .dropup .dropdown-menu li .btn
{
    border-bottom: transparent;
}

.nav > li > a.slasher
{
    padding: 10px 0;
}

/* Modal */

.modal-open { 
    padding-right: 0!important;
}

.modal-content
{
    background-color: rgba(22, 22, 22, 0.9)!important;
    color: #fff;
    border: none;
    border-radius: 0;
    box-shadow: none;
    -webkit-box-shadow: none;
    text-align: center;
}

/* End Modal */

@media (max-width: 768px)
{
    .img-responsive
    {
        width: 100%;
    }
}

.image-inverse {
    filter: invert(100%);
}

/* Cards */

.card.bg-dark {
    border: none;
    border-bottom: 1px solid #666;
    border-radius: 0!important;
}

.card-header {
    border-radius: 0!important;
}

.card-deck {
    display: grid;
    grid-template-columns: repeat(auto-fit, minmax(400px, 1fr));
}

@media (max-width: 800px)
{
    .card-deck {
        grid-template-columns: repeat(auto-fit, minmax(280px, 1fr));
    }
}

/* End Cards */

/* Carousel */

.carousel-control-prev:hover,
.carousel-control-prev:focus,
.carousel-control-next:hover,
.carousel-control-next:focus 
{
    color: var(--gold);
}

.carousel-control-prev:focus,
.carousel-control-next:focus 
{
    border: 1px solid var(--gold)!important;
}

/* End Carousel */