:root {
    --brand-cream: #fbe2bd;
    --brand-soft-gold: #cda876;
    --brand-black: #191919;
    --brand-beak-gold: #ffaf00;
    --brand-sky-blue: #176b75;
    --brand-deep-blue: #101b3d;

    --gold: rgb(185, 143, 19);
    --gold-hover: rgb(130, 100, 13);
    --gold-focus: rgb(148, 114, 15);
    --gold-focus-bg: rgb(157, 122, 16);
    --gold-focus-shadow: rgba(255, 195, 54, 0.5);
    --gold-button-border: rgb(139, 107, 14);
}

body {
    background-color: #fafbfe;
    font-family: "Nunito", sans-serif;
    font-weight: 400;
    line-height: 1.5;
    color: var(--brand-black);
    text-align: left;
    margin: 0;
}

.absolute {
    position: absolute;
    left: 0;
    right: 0;
    top: 0;
    bottom: 0;
}

.absolute-bottom-centered {
    position: absolute;
    left: 50%;
    bottom: 0;
    transform: translateX(-50%);
}

.absolute-bottom-right {
    position: absolute;
    right: 0;
    bottom: 0;
}

.absolute-centered {
    position: absolute;
    left: 50%;
    top: 50%;
    transform: translate(-50%, -50%);
}

.absolute-left {
    position: absolute;
    left: 0;
    top: 50%;
    transform: translateY(-50%);
}

.absolute-top-left {
    position: absolute;
    left: 0;
    top: 0;
}

.absolute-top-right {
    position: absolute;
    right: 0;
    top: 0;
}

.bg-black {
    background-color: var(--brand-black);
}

.bg-sky-blue {
    background-color: var(--brand-sky-blue);
}

.bg-soft-gold {
    background-color: var(--brand-soft-gold);
}

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

.border-sky-blue {
    border-color: var(--brand-sky-blue) !important;
}

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

/* Gold button */
.btn-gold {
    color: #fff;
    background-color: var(--gold);
    border-color: var(--gold);
}

.btn-gold:hover {
    color: #fff;
    background-color: var(--gold-focus-bg);
    border-color: var(--gold-focus);
}

.btn-gold:focus, .btn-gold.focus {
    color: #fff;
    background-color: var(--gold-focus-bg);
    border-color: var(--gold-focus);
    box-shadow: 0 0 0 0.2rem var(--gold-focus-shadow);
}

.btn-gold.disabled, .btn-gold:disabled {
    color: #fff;
    background-color: var(--gold);
    border-color: var(--gold);
}

.btn-gold:not(:disabled):not(.disabled):active, .btn-gold:not(:disabled):not(.disabled).active,
.show > .btn-gold.dropdown-toggle {
    color: #fff;
    background-color: var(--gold-focus);
    border-color: var(--gold-button-border);
}

.btn-gold:not(:disabled):not(.disabled):active:focus, .btn-gold:not(:disabled):not(.disabled).active:focus,
.show > .btn-gold.dropdown-toggle:focus {
    box-shadow: 0 0 0 0.2rem var(--gold-focus-shadow);
}

.btn-sky-blue {
    color: #fff;
    background-color: #17a2b8;
    border-color: #17a2b8;
}

.btn-sky-blue:hover {
    color: #fff;
    background-color: #138496;
    border-color: #117a8b;
}

.btn-sky-blue.focus,
.btn-sky-blue:focus {
    color: #fff;
    background-color: #138496;
    border-color: #117a8b;
    box-shadow: 0 0 0 .2rem rgba(58, 176, 195, .5);
}

.btn-sky-blue.disabled,
.btn-sky-blue:disabled {
    color: #fff;
    background-color: #17a2b8;
    border-color: #17a2b8;
}

.btn-sky-blue:not(:disabled):not(.disabled).active,
.btn-sky-blue:not(:disabled):not(.disabled):active,
.show > .btn-sky-blue.dropdown-toggle {
    color: #fff;
    background-color: #117a8b;
    border-color: #10707f;
}

.btn-sky-blue:not(:disabled):not(.disabled).active:focus,
.btn-sky-blue:not(:disabled):not(.disabled):active:focus,
.show > .btn-sky-blue.dropdown-toggle:focus {
    box-shadow: 0 0 0 .2rem rgba(58, 176, 195, .5);
}

.fixedFullscreen {
    position: fixed;
    top: 0;
    bottom: 0;
    left: 0;
    right: 0;
}

.gold-stripe {
    border-bottom: solid var(--brand-soft-gold) 2px;
}

td.ellipsized {
    width: 100%;    /* width and max-width specifications make cell fill as much */
    max-width: 1px; /* width available without increasing width of table         */
    white-space: nowrap;
    overflow: hidden;
    text-overflow: ellipsis;
}

.marginal {
    background-color: var(--brand-black);
    box-shadow: 0 .125rem .25rem rgba(0,0,0,.075)!important;
}

/* Top menu dropdowns */
.marginal button[data-toggle="dropdown"] {
    background-color: var(--brand-black);
    border: 0;
    color: var(--light);
    font-weight: 700;
}

.marginal .dropdown-menu {
    border-radius: 0;
    box-shadow: 0 0.5rem 1rem rgba(0, 0, 0, 0.15);
}

.marginal .dropdown-item:hover {
    background-color: var(--brand-cream);
}

.modal-fullscreen {
    max-width: calc(100% - 6rem);
}

.nav.nav-placemat {
    z-index: 1;
}

/* Class for public pages that don't use full screen width; full screen up to a certain width, then restricted to a centered column */
.page-content-narrow {
    max-width: 960px;
    margin-left: auto;
    margin-right: auto;
    padding-left: 1rem;
    padding-right: 2rem;
}

.page-content-wide {
    padding-left: 1rem;
    padding-right: 1rem;
}

.placemat {
    background-color: #fff;
    background-clip: border-box;
    border: 1px solid #e3eaef;
    border-radius: .25rem;
    box-shadow: 0 .125rem .25rem rgba(0,0,0,.075)!important;
}

.placemat.wide-shadow {
    box-shadow: 0 2rem 6rem rgba(108, 117, 125, 0.5) !important;
}

.placemat.tab-content {
    border-top-style: none;
    border-top-left-radius: 0;
    border-top-right-radius: 0;
}

.pop-title {
    font-family: Dubai, Tahoma, Arial, sans-serif;
    font-variant: small-caps;
    font-size: 36pt;
    font-weight: 300 !important;
    text-shadow: 0 1px 1px;
}

.pop-title.responsive-size {
    font-size: 18pt;
}

/* Popups */
.popupBlanket {
    background: rgba(0, 0, 0, 0.2);
    position: fixed;
    z-index: 100;
    left: 0;
    right: 0;
    top: 0;
    bottom: 0;
}

.popupContainer {
    position: absolute;
    left: 50%;
    top: 50%;
    transform: translate(-50%, -50%);
}

.popupFoundation {
    position: fixed;
    z-index: 101;
    left: 0;
    right: 0;
    top: 0;
    bottom: 0;
}

@media (min-width: 768px) {
    .pop-title.responsive-size {
        font-size: 36pt;
    }
}

.positioned {
    position: relative;
}

.screenCover {
    position: fixed;
    top: 0;
    bottom: 0;
    left: 0;
    right: 0;
    z-index: 400;
}

.scrollBox {
    position: relative;
}

.scrollBoxContent {
    position: absolute;
    left: 0;
    right: 0;
    top: 0;
    bottom: 0;
    overflow-x: hidden;
    overflow-y: auto;
}

.smg-logo-160 {
    mask-image: url('../../../images/smg-logo.svg');
    -webkit-mask-image: url('../../../images/smg-logo.svg');
    mask-size: cover;
    -webkit-mask-size: cover;
    background-color: #cda876;
    width: 160px;
    height: 48px;
}

.strip {
    width: 100%;
    background-color: #fff;
    border-top: 1px solid #e3eaef;
    border-bottom: 1px solid #e3eaef;
    box-shadow: 0 .125rem .25rem rgba(0,0,0,.075)!important;
    padding-top: 1rem;
    padding-bottom: 1rem;
}

table.table-nowrap {
    white-space: nowrap;
}

/* .table-reset class */
/* For nesting a table within another table that has the bootstrap .table class; reset border and padding */
table.table table.table-reset td, table.table table.table-reset th {
    border: 0;
    padding: 0;
}

table.table-p-2 tr:not(:first-child) td, table.table-p-2 tr:not(:first-child) th {
    padding-top: 0.5rem;
}

table.table-p-2 tr td:not(:first-child), table.table-p-2 tr th:not(:first-child) {
    padding-left: 0.5rem;
}

td.w-greedy, th.w-greedy {
    width: 100%;    /* width and max-width specifications make cell fill as much */
    max-width: 1px; /* width available without increasing width of table         */
}

@media (min-width: 992px) {
    td.w-lg-greedy, th.w-lg-greedy {
        width: 100%;    /* width and max-width specifications make cell fill as much */
        max-width: 1px; /* width available without increasing width of table         */
    }
}

.text-black {
    color: var(--brand-black);
}

.text-deep-blue {
    color: var(--brand-deep-blue);
}

.text-gold {
    color: var(--gold);
}

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

.text-soft-gold {
    color: var(--brand-soft-gold);
}

.text-sky-blue {
    color: var(--brand-sky-blue);
}

@media (min-width: 576px) {
    .w-sm-auto {
        width: auto !important;
    }
}

@media (min-width: 768px) {
    .w-md-50 {
        width: 50% !important;
    }
}

.w-md {
    width: 720px;
}

.w-lg {
    width: 960px;
}

.w-max-sm {
    max-width: 540px;
}

.w-max-md {
    max-width: 720px;
}

.w-min-md {
    min-width: 720px;
}

.w-max-lg {
    max-width: 960px;
}

.w-min-lg {
    min-width: 960px;
}

.w-inherit {
    width: inherit; /* For obviating the "width: 100%" properly in bootstrap tables */
}

@media (min-width: 992px) {
    .w-lg-min-lg {
        min-width: 960px;
    }
}

/* Hover titles */
.hover-help {
    cursor: help;
}

.hover-help-underlined {
    text-decoration-line: underline;
    text-decoration-style: dotted;
    text-decoration-color: var(--brand-sky-blue);
    cursor: help;
}

/* Alerts */
.messageContainer {
    position: fixed;
    left: 25px;
    right: 25px;
    top: 68px;
    bottom: 0;
    z-index: 1100;
    pointer-events: none;
    overflow: hidden;
}

@keyframes timeout-bar-keyframes {
    0% {
        width: 100%;
        opacity: 1;
    }
    99% {
        width: 0;
        opacity: 1;
    }
    100% {
        width: 0;
        opacity: 0;
    }
}

.message-timeout-bar {
    width: 100%;
    height: 0;
    position: absolute;
    bottom: 0;
    right: 0;

    border: solid 1px currentColor;

    animation-name: timeout-bar-keyframes;
    animation-duration: 4s;
    animation-timing-function: linear;
    animation-delay: .5s;
    animation-fill-mode: forwards;
}

/* Validator */
input.fail-validation, textarea.fail-validation, select.fail-validation {
    border-color: #cf0a00;
}

input.fail-validation:focus, textarea.fail-validation:focus, select.fail-validation:focus {
    border-color: #cf0a00;
    -webkit-box-shadow: 0 0 0 0.2rem rgba(207, 10, 0, 0.25);
    box-shadow: 0 0 0 0.2rem rgba(207, 10, 0, 0.25);
}

ul.field-error {
    margin: 0;
    padding: 0;
    list-style-type: none;
    display: inline;
    color: #cf0a00;
}

/* Modal decorations */
.close.close-light {
    color: var(--light);
    text-shadow: none;
    opacity: 1;
}

.modal-header-shaper {
    border-top-left-radius: calc(0.3rem - 1px);
    border-top-right-radius: calc(0.3rem - 1px);
}