.card.status h3::before
{
    content: '';
    display: inline-block;
    vertical-align: -.4em;
    margin-right: .4em;
    width: 1em;
    height: 1em;
    -webkit-mask-size: contain;
    -webkit-mask-position: 0% 50%;
    -webkit-mask-repeat: no-repeat;
    background-color: var(--text);
}

.card.status.statusGood h3::before
{
  -webkit-mask-image: url("../images/message-confirm.e0e358e8bac0.svg");
  width: .9em;
  height: .9em;
  background-color: var(--status-good);
}
.card.status.statusAlert h3::before
{
  -webkit-mask-image: url("../images/message-alert.4b9c3a60201b.svg");
  background-color: var(--status-alert);
}

.uppercase
{
    text-transform: uppercase;
}

/* Internal nav: Icons */

nav.internal-nav,
nav.internal-nav.icons ul
{
    width: unset;
    max-width: unset;
}

nav.internal-nav.icons li
{
    position: relative;
    margin: 0;
    padding: 1em;

    border-radius: 0.5em;

    text-align: center;

    background-color: var(--card-bg);
}

nav.internal-nav.icons li a::before
  {
      -webkit-box-sizing: border-box;
      content: "";
      width: 100%;
      height: 100%;
      position: absolute;
      display: inline-block;
      top: 0;
      left: 0;
      z-index: 10;
      border-radius: 1rem;
      border: 0.3rem solid var(--accent);
      transition: 250ms ease-in-out opacity;
      opacity: 0;
  }

  nav.internal-nav.icons li a:hover::before
  {
      opacity: 1;
  }

    nav.internal-nav.icons li:before
    {
        display: block;
        content: "";
        width: 100%;
        height: 2.5em;
        margin-bottom: 1em;
        background: var(--text);
        -webkit-mask-repeat: no-repeat;
        -webkit-mask-position: 50% 50%;
        -webkit-mask-size: contain;
    }
    nav.internal-nav.icons li#internalNavAccount:before
    {
        -webkit-mask-image: url("../images/account-profile.d39824c15c37.svg")
    }
    nav.internal-nav.icons li#internalNavDevices:before
    {
        -webkit-mask-image: url("../images/toolbar-icon-playdate.54230da3809e.svg");
        -webkit-mask-position: 65% 50%;
    }
    nav.internal-nav.icons li#internalNavOrders:before
    {
        -webkit-mask-image: url("../images/toolbar-icon-shop.0ed32500dd3b.svg")
    }
    nav.internal-nav.icons li#internalNavSideload:before
    {
        -webkit-mask-image: url("../images/sideload.e99df40b0831.svg")
    }
    nav.internal-nav.icons li#internalNavWishlist:before
    {
        -webkit-mask-image: url("../images/games/wishlist.e64c943aa7e0.svg")
    }
    
/* Wishlist */

#wishlist_settings
{
    margin-top: 2em;
    margin-bottom: 1em;
}

#wishlist_settings .buttonHolder
{
    margin-top: 1em;
}
#wishlist_settings .buttonHolder button
{
    margin: 0 0 0 auto;
    background-color: var(--text);
    color: var(--page-bg);
}

/* NEW! callout for features */
    
.internal-nav li.new
{
    position: relative;
}

.internal-nav li.new::after
{
    content: 'NEW';
    display: inline-block;
    position: absolute;
    z-index: 99999;

    padding: .1em .5em .2em .5em;
    top: .5em;
    right: -.35em;
    border-radius: .25em;
    border: .1em solid var(--page-bg);

    transform: rotate(-10deg);

    background: var(--purple);
    color: var(--white);

    text-indent: 0;
    font-size: .85em;
    font-weight: 600;
}

/* Page text */

.smalltext
{
    font-size: 80% !important;
}

.smallertext
{
    font-size: 70% !important;
}

.noVerticalMargin
{
    margin-top: 0;
    margin-bottom: 0;
}
.noTopMargin
{
    margin-top: 0;
}
.noBottomMargin
{
    margin-bottom: 0;
}

section p
{
    font-size: 1em;
    line-height: 1.3;
}

section p:only-child
{
/*     margin-top: 0; */
/*      margin-bottom: 0;  */
}

a.action
{
    font-weight: 600;
    font-size: 0.85em;
    display: block;
    text-align: right;
}

h1
{
    font-size: 1.5em;
    margin: 0 0 0.5em 0;
    font-weight: 600;
    letter-spacing: -0.0125em;
}


p.empty
{
    text-align: center;
}

.copyThis:hover::after
{
    content: "Copy";
    display: inline-block;

    margin: 0 .5em;
    padding: .05em .25em;
    border-radius: .2em;

    text-transform: uppercase;
    font-weight: 600;

    background: var(--subtle);
    color: var(--card-bg);
}
.copyThis.copied:hover::after
{
    content: "Copied!";
    animation-name: shake;
    animation-duration: .2s;
    animation-iteration-count: 3;
    animation-timing-function: ease;
}
/* Intro */

section.intro,
section.outro
{
    max-width: 100vw;
    overflow-x: hidden;
}

section.intro h1
{
    text-align: center;
    font-size: 3em;
    line-height: 1.1em;
    font-weight: 700;
    margin: 1em 0 .5em 0;
}

section.intro h2
{
    text-align: left;
    font-size: 1.5em;
    line-height: 1.2em;
    margin: 1em 0 2em 0;
}

section.intro p,
section.intro ul
{
    font-size: 120%;
}

section.intro ul
{    
    padding-left: 1em;
}
section.intro ul li
{
    margin-bottom: .25em;
}

section.outro
{
    margin-top: 3em;
}
section.outro p
{
    font-size: 120%;
}

/* Downloads */

ul.downloads
{
    list-style: none;
    padding: 0;
    margin: 1.5em 0;
}
ul.downloads li
{
   margin: 1em 0;
}

a.download
{
    display: inline-block;
    position: relative;

    padding: .5em 1em .5em 2em;
    border-radius: .5em;
    background-color: var(--card-bg);
    color: var(--link);

    font-size: 120%;
    text-decoration: none;
}
a.download:hover
{
    text-decoration: underline;
}
a.download::before
{
    display: inline-block;
    content: "";

    position: absolute;
    width: 1em;
    height: 1em;
    top: .6em;
    left: .7em;

    background-color: var(--link);
    -webkit-mask-image: url("../images/download.d7f4c9283f38.svg");
    -webkit-mask-size: contain;
    -webkit-mask-repeat: no-repeat;
    -webkit-mask-position: center;
}
.card a.download
{
    background-color: var(--page-bg);
}

/* Cards */

.card h1,
.card h2
{
    font-size: 4.2rem;
    line-height: 1;
    font-weight: 700;
    margin: 0.25em auto;
    letter-spacing: -0.0125em;
    text-align: center;
    color: var(--text);
}

.card div.button
{
    font-size: 0.85em;
}

.card .featureLink
{
    display: inline-block;
    padding: 0.1em 0.5em 0.2em 0.7em;
    margin-bottom: .5em;
    border-radius: 1em;

    white-space: nowrap;
    font-size: 90%;
    text-decoration: none;
    text-transform: uppercase;

    background: var(--page-bg);
    color: var(--text);
}
.card .featureLink::after
{
    content: "\2192";
    margin-left: .3em;
    vertical-align: .04em;
}

li.card li:last-child .featureLink
{
    margin-bottom: 0;
}
li.card a.featureLink:hover
{
    background: var(--accent);
}

.subcard {
    border-radius: 0.5em;
    border: .1em solid var(--page-bg);
    /* box-shadow: 0px 1px 6px 1px rgb(0 0 0 / 20%); */
    padding: 0.5em 1em;
    margin: 1em auto;
}

/* Dashboard tables */

.dashboard,
.dashboard-stacked
{
    display: grid;
    margin: 1em auto;
}

.dashboard.mediumWide
.dashboard-stacked.mediumWide,
.dashboard.mediumWide dl,
.dashboard-stacked.mediumWide dl
{
    min-width: 40%;
}

.dashboard.wide
.dashboard-stacked.wide,
.dashboard.wide dl,
.dashboard-stacked.wide dl
{
    width: 100%;
}

.dashboard-stacked .selectContainer
{
    position: relative;
}
/* .dashboard-stacked .selectContainer::after
{
    content: "";
    
    position: absolute;
    display: block;
    
    width: .8em;
    height: .8em;
    
    right: .6em;    
    bottom: .5em;
    z-index: 10;    
    
    background-color: var(--text);
    -webkit-mask-image: url("../images/disclosure-arrow.8072b36ce8c4.svg");
    -webkit-mask-repeat: no-repeat;
    -webkit-mask-position: center;
    -webkit-mask-size: contain;
    
    pointer-events: none;
} */

.dashboard .selectContainer select,
.dashboard-stacked .selectContainer select
{        
    /* margin: 1em auto 0 auto !important;  */
    
    border: .1em solid var(--disabled);
    border-radius: .3em;
    margin-bottom: 1em;
    font-size: 1em;
    padding: .2em 2em .2em .5em;
    font-family: inherit;
    color: var(--text);
    background: var(--form-bg);
    font-weight: 400;
    border-color: var(--subtle);
}

.dashboardColumnContainer,
.dashboardColumnContainer.colTwo,
.dashboardColumnContainer.colThree
{
    display: grid;
    grid-template-columns: 1fr;
    column-gap: 2em;
}
    

.dashboard-stacked h2
{
    margin: 0 auto 0 auto;
}
.dashboard h3,
.dashboard-stacked h3
{
    margin: 0 auto 1em auto;
}
.dashboard-stacked h3 + dl,
.selectContainer + dl
{
    margin: 0 auto 1em auto;
}

.dashboard dl
{
    display: grid;
    max-width: 100%;
    grid-template-columns: auto 1fr;
    margin: .25em auto;
}

.dashboard select {
    font-size: 1em;
}

@media (max-width: 670px)
{
    .dashboard dl::after
    {
        content: "";
        display: block;
        grid-column: 1 / span 2;
        margin: .5em auto 0 auto;
        width: 100%;
        border: 0.1rem solid var(--subtle);
    }

    .dashboard dl:last-of-type::after
    {
        display: none;
    }

}

.dashboard dt,
.dashboard dd
{
    padding: 0.125em .25em .2em .25em;
    align-self: baseline;
}

.dashboard dt
{
    grid-column: 1;
    justify-self: end;
    align-self: baseline;
    font-weight: 700;
}

.dashboard dt::after
{
    content: ":";
    margin-left: -0.25ch;
}

.dashboard dd
{
    grid-column: 2;
    display: grid;
    align-content: center;
    margin: 0;
}

/* Stacked Dashboard */

.dashboard-stacked
{
    width: 100%;
    column-gap: 1em;
}

.dashboard-stacked dt
{
    font-size: 1em;
    font-weight: 600;
    margin-bottom: .25em;
}

.dashboard-stacked dl
{
    display: grid;
    max-width: 100%;
    grid-template-columns: auto 1fr;
}

.dashboard-stacked dt,
.dashboard-stacked dd
{
    font-size: 1em;
    padding: .25em .5em;
    margin: 0;
    /* border-bottom: .02em solid var(--subtle); */
}

.dashboard-stacked dt
{
    /* grid-column: 1; */
    font-weight: 700;
}

.dashboard-stacked dt.sub-dt
{
    font-weight: 500;
    font-size: 80%;
    border-bottom: none;
}

.dashboard-stacked.season-revenue dt.sub-dt:nth-of-type(3n + 2) {
    border-bottom: .02em solid var(--subtle);
}

.dashboard-stacked dd
{
    align-content: start;
}

.dashboard-stacked.season-revenue dd:nth-of-type(3n) {
    margin-bottom: 1rem;
}

.dashboard-stacked.season-revenue dt:nth-of-type(3n) {
    margin-bottom: 1rem;
}

.dashboard-stacked dd.sub-dd
{
    font-weight: 500;
    font-size: 80%;
    border-bottom: none;
}

.dashboard-stacked.season-revenue dd.sub-dd:nth-of-type(3n + 2) {
    border-bottom: .02em solid var(--subtle);
}

.dashboard dt.big,
.dashboard dd.big,
.dashboard-stacked dt.big,
.dashboard-stacked dd.big
{
    font-size: 120%;
}

.dashboard dd,
.dashboard-stacked dd
{
    overflow-wrap: anywhere;
}

.dashboard dd.date
{
    text-align: right;
}

.dashboard-wide,
.dashboard-wide dl {
    max-width: 100vw;
}

.board-order-sorter {
    display: flex;
}


/* Device list */

.dashboard.device-list dd.device-name
{
    grid-template-columns: auto 1fr;
    align-items: center;
}

.dashboard.device-list dd.device-name:before
{
    content: "";
    display: inline;
    height: 100%;
    width: 4rem;
    -webkit-mask-size: contain;
    -webkit-mask-repeat: no-repeat;
    -webkit-mask-position: center;
    background-color: var(--text);
    margin-right: .5em;
}

.dashboard.device-list .simulator dd.device-name:before
{
    -webkit-mask-image: url("../images/admin-device-simulator.b6a559967055.svg");
    width: 3rem;
}

.dashboard.device-list .playdate dd.device-name:before
{
    -webkit-mask-image: url("../images/admin-device-Playdate.fdddc17e061f.svg");
}

/* Device list */

.dashboard.device-list dd.device-name
{
    grid-template-columns: auto 1fr;
    align-items: center;
}

dd.device-id,
dd.order-id,
dd.device-serial,
dd.game-version,
.mono
{
    font-size: 0.925em;
    font-family: mono, monospace;
}

.dashboard.device-list dd.device-name:before
{
    content: "";
    display: inline;
    height: 100%;
    width: 4rem;
    -webkit-mask-size: contain;
    -webkit-mask-repeat: no-repeat;
    -webkit-mask-position: center;
    background-color: var(--text);
    margin-right: .5em;
}

.dashboard.device-list .simulator dd.device-name:before
{
    -webkit-mask-image: url("../images/admin-device-simulator.b6a559967055.svg");
    width: 3rem;
}

.dashboard.device-list .playdate dd.device-name:before
{
    -webkit-mask-image: url("../images/admin-device-Playdate.fdddc17e061f.svg");
}

.dashboard.order-list dd.order-price.invalid
{
    text-decoration: line-through;
}

dt.device-actions,
dt.order-actions,
dt.game-details
{
    display: none;
}

dd.device-actions,
dd.order-actions,
dd.game-details
{
    grid-column: 1 / span 2;
    border-top: 0;
}

dd menu.actions
{
    grid-column: 1;
}

/* Discounts */

#discounts dl.past
{
    color: var(--subtle);
    border-bottom: 0.2rem solid var(--subtle);
}

#discounts .money
{
    align-self: baseline;
    /* align-content: start; */
    text-align: left;
}
#discounts .discountActions
{

}
#discounts .discountActions
{
    /* justify-self: center; */
}

#discounts input[type='datetime-local'],
#discounts select[name='price'],
#discounts select[name='sales_event']
{
    width: fit-content;
    max-width: 100%;
}

#joinSalesEvent input,
#joinSalesEvent select,
#createCustomDiscount input,
#createCustomDiscount select
{
    color-scheme: light;
    border: 0;
    --text: var(--screen-black);
}

#discounts .subcard
{
    background-color: var(--card-bg);
    color: var(--text);
    --subtle: var(--discountSubtle);
    --button-bg: var(--discountButton-bg);
    border: 0;
}

#discounts .subcard h3
{
    margin: .5em auto .5em auto;
}
#discounts .subcard .submit-button
{
    margin-top: 0;
}

#joinSalesEvent
{
    --card-bg: var(--green);
    --text: var(--white);
    --discountSubtle: var(--light-green);
    --discountButton-bg: var(--black);
}

.board-dashboard > dl.board-row {
    /* no iidea */
    grid-template-columns: 15rem 15rem repeat(2, auto);
}

.board-dashboard input[type="text"] {
    width: 100%;
}

#createCustomDiscount
{
    --card-bg: var(--blue);
    --text: var(--white);
    --discountSubtle: var(--light-blue);
    --discountButton-bg: var(--black);
}

#createLeaderboard
{
    background-color: var(--aqua);    
    color: rgba(0,0,0,.8);
    --subtle: rgb(255,255,255,.7);
    
    border: 0;
    width: 100%;
}

#createLeaderboard input[type="checkbox"].inline:checked::after {
    background-color: black;
}

#createLeaderboard summary
{
    color: var(--white);
    
}

.boardDaily input:checked {
    background-color: var(--text);
    color: var(--form-bg);
}

.boardShowOnOnWeb input:checked {
    background-color: var(--text);
    color: var(--form-bg);
}

#createLeaderboard .errorlist
{
    color: var(--white);
}

#board-formset .submit-button {
    margin-top: 0;
}

#board-formset {
    max-width: 100%;
}

#board-formset dt {
    text-align: center;
}

#board-formset dd
{
    align-self: center;
}

#board-formset input[type="text"]
{
    margin-bottom: 0;
}

.board-order-sorter button
{
    background: none;
    border: none;
    padding: 0;
    margin: 0 .1em;
    font-size: 2em;
}

#board-formset .order-actions
{
    align-self: start;
}

    #board-formset .actions .action
    {
        width: 100%;
        text-wrap: nowrap;
    }

/* Sideload Games */

.sideloadGameCards
{
    list-style: none;
    padding: 0;

    display: grid;
    justify-content: center;
    grid-template-columns: repeat(auto-fit, 50rem);
    grid-gap: 5rem;
}

.sideloadGameCardImageContainer
{
    border-radius: .25em;
    padding: 2rem;
    background-color: var(--brand-yellow);
}

.sideloadGameCardImage
{
    background-color: var(--screen-black);
    background-size: auto 85%;
    background-repeat: no-repeat;
    background-position: center center;

    /* aspect-ratio: 350 / 155; */
    width: 46rem;
    height: 20.37rem;
}

.sideloadGameCard.medium
{
    display: grid;
    margin: 1em auto;
}

.sideloadGameCard.medium .sideloadGameCardImage
{
    width: 17.5em;
    height: 7.75em;
}

section.card>.sideloadGameCardImageContainer
{
    margin-top: 1em;
}

.sideloadGameCard .sideloadGameText,
.sideloadGameTitle,
.sideloadGameDeveloper
{
    text-align: center;
    text-overflow: ellipsis;
    overflow: hidden;
}

.sideloadGameCard h2,
.sideloadGameTitle
{
    font-weight: 600;
    font-size: 1.25em;
    line-height: 1.1em;
    text-align: center;
    margin: 0 0 .5rem 0;
}

.sideloadGameCard a,
.sideloadGameTitle a
{
    color: var(--gameFg);
    text-decoration: none;
}
.sideloadGameCard h3,
.sideloadGameDeveloper
{
    font-weight: 400;
    /* font-size: 80%; */
    line-height: 1.1em;
    text-align: center;
    margin: 0rem;
}

.sideloadGame.solo .sideloadGameText
{
    margin-top: .5em;
}

.mono
{
    font-family: "Menlo", "Consolas", monospace;
    font-size: 90%;
}

@media (min-width:670px)
{
    .dashboard dl
    {
        font-size: 0.75em;
        border-bottom: 0.1rem solid var(--subtle);
        grid-template-columns: unset;
        grid-auto-columns: 1fr;
        margin: 0;
    }

    .dashboard dt
    {
        display: none;
        align-content: center;
        border: 0;
    }

    .dashboard dt::after
    {
        display: none;
    }

    .dashboard dl:first-child dt
    {
        grid-row: 1;
        grid-column: unset;
        display: grid;
        justify-self: stretch;
        color: var(--subtle);
        font-weight: 400;
        text-transform: uppercase;
        font-size: 0.75em;
        border-bottom: 0.2rem solid var(--subtle);

    }

    .dashboard dl:first-child dd
    {
        grid-row: 2;
        grid-column: unset;
    }

    .dashboard dd
    {
        grid-row: 1;
        grid-column: unset;
        border: 0;
    }

    .device-actions,
    .order-actions,
    .game-details
    {
        text-align: center;

    }

    .dashboard a.action
    {
        text-align: center;
    }

    dd.device-actions,
    dd.order-actions,
    dd.game-details
    {
        grid-column: unset;
    }

    /* Orders */

    .order-list dl
    {
        display:contents;
    }

    .order-list dt
    {
        grid-row: 1;
        padding: 0.25em 0.5em;
    }

    .order-list dd
    {
        grid-row: auto;
        border-bottom: 0.1rem solid var(--subtle);
        padding: 0.25em 0.5em;
        align-self: stretch;
    }

    .order-list dd.order-name
    {
        grid-column: 1;
    }

    .order-list dd.order-date
    {
        grid-column: 2;
    }

    .order-list dd.order-id
    {
        grid-column: 3;
    }

    .order-list dd.order-price
    {
        grid-column: 4;
    }

    .order-list dd.order-status
    {
        grid-column: 5;
    }

    .order-list dd.order-actions
    {
        grid-column: 6;
    }

    section#orders .order-list dd
    {
        font-size: 75%;
    }
    section#orders .order-list dd.order-status
    {
        white-space: nowrap;
    }
    section#orders .order-list dd.order-actions
    {
        font-size: 100%;
    }

    section#orders .order-list .actions .action
    {
        width: 100%;
        min-width: 6em;
    }

    .sideloadGameCard h2,
    .sideloadGameTitle
    {
        font-size: 80%;
        line-height: 1.1em;
    }
    .sideloadGameCard h3,
    .sideloadGameDeveloper
    {
        font-size: 80%;
    }

    .sideloadGame.solo .sideloadGameTitle,
    .sideloadGame.solo h2
    {
        font-size: 120%;
    }

    .sideloadGameCards
    {
        grid-template-columns: repeat(auto-fit, 25rem);
        grid-gap: 2.5rem;
    }

    .sideloadGameCardImageContainer
    {
        padding: 1rem;
    }

    .sideloadGameCardImage
    {
        /* aspect-ratio: 350 / 155; */
        width: 23rem;
        height: 10.185rem;
    }

    nav.internal-nav.medium ul
    {
        max-width: 60rem;
    }

}

table.dashboard
{
    border-collapse: collapse;
    font-size: 0.75em;
    width: 100%;
    margin: 2rem auto;
}

table.dashboard th,
table.dashboard td
{
    border-bottom: 0.1rem solid var(--disabled);
    padding: .35em 0 .5em 0;
    text-align: left;
}

table.dashboard th
{
    color: var(--disabled);
    font-weight: 400;
    text-transform: uppercase;
    font-size: 0.75em;
}

section.alternate
{
    --card-bg: var(--brand-yellow);
    --text: var(--screen-black);
    --button-bg: var(--text);
    --button-text: var(--white);
    --subtle: rgba(0, 0, 0, 0.5);
    --disabled: rgba(0, 0, 0, 0.35);
}

/* -------------------- */
/*!------ Forms ------- */
/* -------------------- */


div.control-group
{
    margin: .5rem 0;
}

.helptext,
.help-block,
.forgot
{
    color: var(--subtle);
    margin: 1rem auto;
    font-size: .65em;
    line-height: 1.3em;
    opacity: 1;
}

.forgot
{
    text-align: right;
}

input:focus + p.helptext,
input:focus + p.help-block
{
    opacity: 1;
}

form input,
div.control-group input,
div.control-group select,
div.control-group textarea,
div#card-wrapper,
.pageToolbar input[type="checkbox"]
{
    border: .1em solid var(--disabled);
    border-radius: 0.6rem;
    margin-bottom: 1em;
    font-size: 1em;
    padding: 0.25em;
    font-family: inherit;
    color: var(--text);
    background: var(--form-bg);
    font-weight: 400;
    border-color: var(--subtle);
}

form input[type="checkbox"]
{
    margin-bottom: 0;
}

div.inline-checkbox
{
    text-indent: -1.7em;
    padding-left: 1.7em;
}

form input[type="checkbox"].inline
{
    display: inline-block;
    position: relative;
    width: 1.25em;
    height: 1.25em;
    vertical-align: -.25em;
}
form input[type="checkbox"].inline:checked
{
    background-color: var(--text);
    border-color: var(--text);
}
form input[type="checkbox"].inline:checked::after
{
    position: absolute;
    top: 0.025em;
    left: 0.025em;
    content: " ";
    width: 1em;
    height: 1em;
    background-color: var(--page-bg);
    -webkit-mask-size: 90% 90%;
    -webkit-mask-position: center center;
    -webkit-mask-repeat: no-repeat;
    -webkit-mask-image: url("../images/checkmark.a3cbcd8cf946.svg");
}

div.control-group label.checkbox
{
    margin-bottom: 0;
}

form button,
form input[type=button],
form input[type=submit],
menu.actions a.action
{
    /* -webkit-appearance: none;
    -moz-appearance: none;
    appearance: none; */
    cursor: pointer;
    display: inline-block;

    text-decoration: none;
    font-size: 1em;
    font-family: inherit;
    font-weight: 600;
    letter-spacing: -0.0075em;

    border: 0;
    border-radius: 0.6rem;
    padding: 0.1em 1em 0.25em 1em;
}

form button,
form input[type=button],
form input[type=submit]
{
    color: var(--button-text);
    background-color: var(--button-bg);
    margin: 1em 0;
}

/* Form elements disabled for editing until clicked */
.editingDisabledByDefault
{
    width: 4em;
    /* prevents width changes as the button text changes */
}

/* 1Password injects css but picks the wrong color in dark mode. So use dark text if 1P thinks it should be a light background */
form input[data-com-onepassword-filled=light], select[data-com-onepassword-filled=light]
{
    color: var(--screen-black)
}

form .errorlist
{
    color: var(--negative);
    list-style: none;
    padding-left: 0;
}

div.single-field-form
{
    display: grid;
    grid-template-columns: 23fr 67fr 10fr;
    align-items: center;
    grid-gap: 0.5em;
    margin: 1em auto;
}

div.single-line-checkbox
{
    display: grid;
    grid-template-columns: 1em 1fr;
    align-items: center;
    place-items: start;
    column-gap: 1em;
    
    width: 100%;
    margin: .5em auto;
}
div.single-line-checkbox label
{
    grid-row: 1;
    grid-column: 2 / span 1;
    margin: 0;
    left: unset;
}

div.single-line-checkbox input
{
    grid-row: 1;
    grid-column: 1 / span 1;
    margin: 0;
}
div.single-line-checkbox .submit-button
{
    grid-row: 1;
    grid-column: 3 / span 1;
    margin: 0;
}

div.single-field-form .control-group
{
    display: contents;
}

div.single-field-form label
{
    grid-row: 1;
    grid-column: 1 / span 1;
    margin: 0;
    left: unset;
}

div.single-field-form input
{
    grid-row: 1;
    grid-column: 2 / span 1;
    margin: 0;
}

div.single-field-form .helptext,
div.single-field-form .help-block
{
    grid-row: 2;
    grid-column: 2 / span 2;
    margin: 0;
}

div.single-field-form .submit-button
{
    grid-row: 1;
    grid-column: 3 / span 1;
    margin: 0;
}

div.single-field-form .asteriskField
{
    display: none;
}

.asteriskField
{
    color: var(--subtle);
}

section.pin
{
    text-align: center;
}

section.pin h1
{
    margin: 2rem auto;
}

section.pin div.button
{
    display: inline-block;
    border-radius: 1em;
    color: var(--button-text);
    background-color: var(--button-bg);
    padding: 0.25em 0.7em 0.35em 0.7em;
    text-align: center;
    margin: 2rem auto;
    font-size: 1.5em;
}

section.pin div.button input
{
    text-decoration: none;
    font-weight: 700;
    margin: 0;
    padding: 0;
    background-color: inherit;
}

form#pinForm
{
    display: contents;
}

form#pinForm fieldset
{
    display: contents;
}

form#pinForm legend
{
    text-align: center;
    font-size: 1em;
    margin: 2rem auto;
    grid-column: 1 / span 5;
}

div.pin-entry
{
    margin: 6rem auto;
    place-content: center;
    place-items: center;
    justify-self: center;
    display: grid;
    padding: 2rem;
    display: grid;
    width: auto;
    background: var(--input-bg);
    border-radius: 0.6rem;
    border: 0.4rem solid var(--subtle);
    font-size: 14rem;
    overflow: hidden;

}

div.pin-entry input
{
    font: inherit;
    text-align: center;
    line-height: 1;
    letter-spacing: 2rem;
    font-family: monospace;
    border: 0;
    display: inline;
    background:transparent;
    margin: 0;
    padding: 0;
    text-transform: uppercase;
}

#purchasePinForm div.single-field-form
{
    grid-template-columns: 2.5fr 3fr 2fr;
}

#purchasePinForm #id_purchase_pin
{
    font-family: mono, monospace;
    width: 100%;
}

.sign-up:before
{
    display: block;
    content: "";
    width: 24rem;
    height: 24rem;
    margin: 1em auto;
    background-image: url("../images/signup-Playdate-hi.21aa0a1f86a4.png");
    background-position: center;
    background-repeat: no-repeat;
    background-size: contain;
}

.sign-in [type="submit"]
{
    background-color: var(--bright);
    margin: .25em 0;
}

div.control-group label.checkbox
{
    display: flex;
    align-items: center;
    margin-bottom: inherit;
}

div.control-group label.checkbox input
{
    margin-bottom: 0;
    margin-right: 0.35em;
    position: static;
}

/* Hide * on age verification */
#id_agreed+.asteriskField {
    display: none;
}

form .inline-labels label
{
    grid-column: 1;
}

form .inline-labels div.controls
{
    grid-column: 2;
}

form .inline-fields
{
    /* display: grid */
}
form .inline-fields .control-group
{
    float: left;
    width: 50%
}

form input[type="hidden"]
{
    grid-row: 2;
}

/* Error messages */

span.help-inline
{
    display: inline-block;
    position: relative;
    top: -1em;
    font-size: 80%;
}
span.help-inline strong,
span.help-inline.strong
{
    font-weight: 600;
}

span.help-inline.wholeForm
{
    top: 0;
}

span.help-inline::before
{
    content: " ";
    display: inline-block;
    width: 1em;
    height: 1em;
    margin-right: .4em;
    background-color: var(--negative);
    -webkit-mask: url("../images/message-alert.4b9c3a60201b.svg") no-repeat;
    mask: url("../images/message-alert.4b9c3a60201b.svg") no-repeat;
    -webkit-mask-size: contain;
    mask-size: contain;
    -webkit-mask-position: left top;
    mask-position: left top;
    vertical-align: -.15em;
}


div.season-form label[for=id_offset_weeks]
{
    display: block;
    width: 5em;
    height: 4em;
    background-size: contain;
    background-position: left center;
    background-repeat: no-repeat;
    background-image: url("../images/games/s1-title.392c5398b78b.svg");

    color: transparent;
    text-indent: -9999px;
}

/* ------------------------- */
/*!---- Global Messages ---- */
/* ------------------------- */

#messages,
.messages
{
    display: grid;
}

#messages ul,
.messages ul
{
    padding: 0;
}

#messages li,
.messages li
{
    list-style: none;
    background-color: var(--card-bg);
    color: var(--text);
    margin: 1em auto;
    padding: .75em;
    border-radius: 0.8rem;
    font-size: .8em;
    border: 0.3rem solid var(--bright);
    display: grid;
    place-content: center;
    align-items: center;
    grid-template-columns: 1.5em 1fr;
    grid-gap: 0.5em;
}

#messages li:before,
#messages li.success:before,
.messages li:before,
.messages li.success:before
{
    content: "";
    display: inline-grid;
    place-content: start;
    grid-column: 1;
    align-self: start;
    width: 1.5em;
    height: 1.5em;

    background-color: var(--bright);
    -webkit-mask-image: url("../images/message-confirm.e0e358e8bac0.svg");
    mask-image: url("../images/message-confirm.e0e358e8bac0.svg");
    -webkit-mask-size: 90% 90%;
    mask-size: 90% 90%;
    -webkit-mask-position: center center;
    mask-position: center center;
    -webkit-mask-repeat: no-repeat;
    mask-repeat: no-repeat;
}

#messages li.error,
.messages li.error
{
    background-color: var(--card-bg);
    border: 0.3rem solid var(--negative);
    color: var(--text);
    font-weight: 600;
}

#messages li.error:before,
.messages li.error:before
{
    -webkit-mask-image: url("../images/message-error.21ba62491c2b.svg");
    mask-image: : url("../images/message-error.21ba62491c2b.svg");
    background-color: var(--negative);
}

#messages li.warning:before,
.messages li.warning:before
{
    -webkit-mask-image: url("../images/message-warning.4b9c3a60201b.svg");
    mask-image: : url("../images/message-warning.4b9c3a60201b.svg");
    background-color: var(--bright);
}

#messages li.information:before,
#messages li.debug:before,
.messages li.information:before,
.messages li.debug:before
{
    -webkit-mask-image: url("../images/message-info.e60ef60b7244.svg");
    mask-image: : url("../images/message-info.e60ef60b7244.svg");
    background-color: var(--bright);
}

/* ------------------------ */
/*!-- Inline form errors -- */
/* ------------------------ */




/* ---------------------- */
/*!---- Build uploads ---- */
/* ---------------------- */

.uploadBox
{
    box-sizing: border-box;
    -moz-box-sizing: border-box;
    -webkit-box-sizing: border-box;
    border-style: dashed;
    border-width: .1em;
    border-color: var(--subtle);
    transition: transform .3s ease;
}
.uploadBox.fileDragged
{
    border-color: var(--link);
    transform: scale(1.02);
}

#filepicker p.help-block
{
    text-align: center;
}

#builds #div_id_file label
{
    display: inline-block;
    width: 50%;
    padding: 0.15em 1em 0.25em 1em;
    margin: 1em 25%;
    border: 0;
    border-radius: 0.6rem;

    cursor: pointer;

    text-decoration: none;
    text-align: center;
    font-size: 1em;
    font-family: inherit;
    font-weight: 700;

    color: var(--button-text);
    background-color: var(--button-bg);
}
    #builds .uploadBox.fileDragged #div_id_file label,
    #builds .uploadBox.fileUploading #div_id_file label
    {
        background-color: var(--link);
        color: var(--button-text);
    }

    #builds .uploadBox.fileUploading #div_id_file label
    {
        background-image: url("../images/progress-background.ded0e02bb1d0.svg");
        background-position: 1% 0;

        animation: fileUploadAnimation 3s infinite;
        animation-timing-function: linear;
    }
    @keyframes fileUploadAnimation {
      0%   { background-position: 1% 0; }
      100% { background-position: 100% 0; }
    }


.uploadBox.fileDragged h2
{
    color: var(--link);
}

#builds input#id_file
{
    display: none;
}

ul.buildlist
{
    padding: 0;
}

ul.buildlist li
{
    list-style: none;
    border-width: 0.3rem;
    border-style: solid;
    border-color: var(--subtle);
    border-radius: 0.8rem;
    padding: 0.5em;
    margin-bottom: 0.5em;
}

ul.buildlist li img
{
    float: left;
    margin-right: 1rem;
    height: 3rem;
}

ul.buildlist li span
{
    float: right;
    margin-left: .5rem;
}

ul.buildlist li a
{
    border-radius: 5rem;
    padding: .5rem 1.5rem;
    text-decoration: none;
    color: var(--button-text);
    background-color: var(--button-bg);
}

ul.buildlist li span.danger a
{
    color: var(--button-text);
    background-color: var(--negative);
}

/* Toolbar */

.pageToolbar form
{
    display: grid;
}

.pageToolbar div.submit-button input,
.pageToolbar div.buttonHolder a
{
    text-align: center;
}

.pageToolbar.admin
{
    background-color: var(--page-bg-inverted);
    color: var(--text-inverted);
}

/* ----------------- */
/*!-- Device list -- */
/* ----------------- */

.device-list
{
    padding: 0;
}

.device
{
    display: grid;
    justify-content: left;
    grid-gap: 2rem;
    grid-template-columns: 1fr 3fr;
}
.device *
{
    outline:1px solid rgba(255, 100, 0, 0);
}

h2.device-name
{
    margin: 0;
    grid-column: 2;
    grid-row: 1;
    justify-self: start;
}

.device-icon
{
    grid-column: 1;
    grid-row: 1 / span 2;
    position: relative;
    display: grid;
    align-items: start;
    justify-items: center;
}

.device-icon img
{
    display: block;
    max-width: 90%;
}

.device-icon img.simulator
{
    display: block;
    max-width: 80%;
}

.device-details
{
    grid-column: 2;
    grid-row: 2 / span 1;
}

.device-details,
.device-details dt,
.device-details dd
{
    margin: 0;
    padding: 0;
}

.device-details dt,
.extended-details dt
{
    color: var(--subtle);
    font-weight: 400;
    text-transform: uppercase;
    font-size: 0.75em;
    margin-top: 1em;
}

.device-details dd
{
    font-size: .85em;
}

.device-serial
{}

.device-serial dt
{
    display: none;
}

.device-added
{}

.device-last-sync
{}

.actions
{
    grid-column: 2;
    grid-row: 3;
    margin: 0.25em auto;
    padding: 0;
    font-size: 0.85em;
    text-align: left;
    place-items: start;
}

.device.card .actions
{
    margin: 0.25em auto;
    padding: 0;
    font-size: 0.85em;
    text-align: center;
    place-items: center;
}

menu.actions
{
    text-align: center;
}

.device.card menu.actions
{
    text-align: center;
    margin: .25em 0;
}

menu.actions a.action,
menu.actions button.action
{
    background-color: var(--button-bg);
    color: var(--button-text);
    margin: 0.25em auto;
}

menu.actions a.action.remove,
menu.actions button.action.cancel
{
    background-color: var(--negative);
    color: var(--white);
}

menu.actions a.action.back,
menu.actions button.action.back
{
    background-color: var(--button-text);
    color: var(--button-bg);
    border: 0.2rem solid var(--button-bg);
}

menu.actions a.action.add,
menu.actions button.action.next
{
    background-color: var(--bright);
    color: var(--button-text);
}

.extended-details dd
{
    margin: 0;
}

/* Device Detail */

.device.card
{
    padding-top: 1em;
    padding-bottom: 1em;
}

/* Seasons */

.spoilerAlert
{
    position: relative;
}
.spoilerAlert::before
{
    content: "spoiler alert";
    display: inline-block;
    position: absolute;
    left: -2em;
    top: -.75em;

    background: var(--link);
    color: var(--button-text);

    font-size: .5em;
    text-transform: uppercase;
    padding: .4em .8em;
    border-radius: .25em;

    transform: rotate(-10deg);
}

#deviceSeasons h2
{
    margin-bottom: .5em;
}

#deviceSeasons input.seasonHeader
{
    display: none;
}

#deviceSeasons input.seasonHeader+label
{
    /* cursor: pointer;     */
}

#deviceSeasons input.seasonHeader:checked+label h2
{

}

#deviceSeasons input.seasonHeader:checked+label+ul.season
{
    /* display: block; */
}

.device-list #deviceSeasons
{

}

.device-list ul.season
{
    list-style: none;
    padding: 0;
    margin: 0 auto 2em auto;
    text-align: center;
    font-size: 90%;
}
.device-list ul.season:last-child
{
    margin-bottom: 1em;
}

.device-list ul.season .seasonWeekName
{
    color: var(--subtle);
    font-weight: 400;
    text-transform: uppercase;
    font-size: 0.75em;
}

.device-list ul.season .seasonWeek:after
{
    content: "|";
    font-weight: 100;
    color: var(--subtle);
}
    .device-list ul.season .seasonWeek:last-child:after
    {
        content: "";
        display: none;
    }

.seasonWeek.userUnseen
{
    color: var(--subtle);
}

.seasonWeek .userHere span,
.seasonWeek .userJumpHere button
{
    display: inline-block;
    border-radius: 2em;
    padding: .5em 1em;
    margin: .5em 0 0 0;
    border: 0;
    text-transform: uppercase;
    text-decoration: none;
    font-size: .75em;
    font-weight: 600;
}

.seasonWeek .userHere
{

}
.seasonWeek .userHere span
{

    border: 0.1em solid var(--subtle);
    background: none;
}
.seasonWeek .userJumpHere form
{
    display: block;
}
.seasonWeek .userJumpHere button
{
    background-color: var(--accent);
    color: var(--text);
}

.emptyText
{
    text-align: center;
}

.alert
{
    font-size: 80%;
}

#div_id_password2 ul
{
    font-size: 70%;
    line-height: 1.4em;
}

img.pixelart
{
   image-rendering: pixelated;
}

/* Payments */

.minimal h1
{
    text-align: center;
}

.saved-payment-method
{
    display: block;
    width: 100%;
}
.saved-payment-method p
{
    display: block;
}

#cc-form,
#promo-form
{
    margin: .5em 0;
    background: var(--page-bg);
    padding: .5em 1em;
    border-radius: .2em;
    display: grid;
}

div.wrapper.inline-labels
{
   max-width: 100%;
   margin: 0;
}

form#cc-form input,
form#cc-form select,
form#promo-form input,
form#promo-form select
{
    margin: 0;
}

form#cc-form div#card-wrapper
{
    margin: 0.5em 0;
}

form#cc-form div.control-group label,
form#promo-form div.control-group label
{
    font-size: 0.7em;
}

#div_id_city,
#div_id_country
{
    width: 65%;
}

#div_id_zipcode,
#div_id_state
{
    width: 30%;
    margin-right: 5%;
}

#cc-form div.wrapper.inline-labels,
#promo-form div.wrapper.inline-labels
{
    display: grid;
    grid-template-columns: repeat(12, 1fr);
    grid-gap: 0.25em 0.5em;
}

#cc-form,
#promo-form,
#cc-form div,
#promo-form div
{
    max-width: unset ;
}

@media (min-width: 860px) {
    #cc-form,
    #promo-form,
    #cc-form div,
    #promo-form div
    {
        max-width: 80rem;
    }
}

#cc-form div.control-group,
#promo-form div.control-group,
#cc-form div.submit-button,
#promo-form div.submit-button
{
    grid-column: 1 / span 12;
}

#cc-form #div_id_city,
#promo-form #div_id_city,
#cc-form #div_id_state,
#promo-form #div_id_state,
#cc-form #div_id_zipcode,
#promo-form #div_id_zipcode,
#cc-form #div_id_country,
#promo-form #div_id_country
{
    width: 100%;
    margin-right: 0;
}

#cc-form #div_id_city.fullwidth,
#promo-form #div_id_city.fullwidth
{
    grid-column: 1 / span 12;
}

#cc-form #div_id_city,
#promo-form #div_id_city
{

    grid-column: 1 / span 8;
}

/* these are wrapped in a further control-group */
#cc-form div.region-wrapper,
#promo-form div.region-wrapper
{
    grid-column: 9 / span 4;
}

.region-wrapper.padded
{
    margin: .5rem 0;
}

.region-wrapper .control-group
{
    margin: 0;
}

#cc-form #div_id_zipcode,
#promo-form #div_id_zipcode
{
    grid-column: 9 / span 4;
}

#cc-form #div_id_country,
#promo-form #div_id_country
{
    grid-column: 1 / span 8;
}

#promo-form #div_id_name
{
    grid-column: 1 / span 7;
}

#promo-form #div_id_phone_number
{
    grid-column: 8 / span 5;
}

#cc-form div.submit-button,
#promo-form div.submit-button
{
    margin: 1em 0;
    justify-self: center;
}

#cc-form div.checkbox-field,
#promo-form div.checkbox-field
{
    justify-items: center;
}

#cc-form div.checkbox-field input,
#promo-form div.checkbox-field input
{
    margin-right: 0.35em;
}

/* Footer */

footer
{
    margin-top: 3em;
}

footer li
{
    font-size: .65em;
    color: var(--subtle)
}

footer ul:beforec
{
    background-color: var(--subtle);
}

.paymentsLayout
{
    display: grid;
    column-gap: 3rem;
    grid-template-columns: 30rem auto;
    margin: 2em auto;
    place-content: center;
}

.paymentCard
{
    display: grid;
    
    justify-content: start;
    align-content: end;
    row-gap: 1rem;
    width: 30rem;
    height: 18rem;
    border-radius: 1rem;
    padding: 2rem;

    background-color: var(--page-bg);
    background-image: url("../images/payments/generic.cdd34e022cc6.svg");
    background-repeat: no-repeat;
    background-position: 2rem 2rem;
    background-size: 9rem auto;

    box-shadow: inset 0 0 0 .1rem rgba(0,0,0,.1);
}
    .paymentCard p
    {
        margin: 0;
    }
    .paymentCard
    {
        white-space: nowrap;
        font-family: mono, monospace;
        font-size: 2rem;
    }
    .paymentCard  .cardExpiration
    {
        font-size: 1.6rem;
    }

    .cardAddress
    {
        display: grid;
        align-content: center;
        margin: 0;
    }
    .cardAddress p
    {
        margin: 0;
        padding: 0;
        font-size: 0.8em;
    }

.paymentCard.amex
{
    background-image: url("../images/payments/amex.a187af912d49.svg");
}
.paymentCard.diners
{
    background-image: url("../images/payments/diners.e8bc0286adb9.svg");
}
.paymentCard.discover
{
    background-image: url("../images/payments/discover.192f961fa1d0.svg");
}
.paymentCard.jcb
{
    background-image: url("../images/payments/jcb.a01fe9c21183.svg");
}
.paymentCard.mastercard
{
    background-image: url("../images/payments/mastercard.29cbd0e26299.svg");
}
.paymentCard.unionpay
{
    background-image: url("../images/payments/unionpay.af9882d1abc6.svg");
}
.paymentCard.visa
{
    background-image: url("../images/payments/visa.0b2ccfbce28b.svg");
}

#paymentDelete form
{
    display: block;

}

/* Address Verification Screen */
.verified-address
{
    display: grid;
    margin: 1em auto;
    font-family: mono, monospace;
    place-content: center;
    border: 0.2rem solid;
    padding: 1em 1.5em;
    border-radius: 0.4em;
}

.verified-address p
{
    margin: 0;
    display: inline-block;
}

/* PIN */
#paymentPin #id_purchase_pin
{
    width: 4em;
    text-align: center;
    font-family: mono, monospace;
}

#paymentPin div.single-field-form 
{
    grid-template-columns: 3fr 1fr 3fr;
}
#paymentPin div.single-field-form .control-label 
{
    text-align: right;
}
#paymentPin div.single-field-form .buttonHolder
{
    text-align: left;
}

/* Stripe onboarding */
ul.customradioselect {
    list-style: none;
    display: flex;
}

.radio-select-explainer {
    margin: 5px;
    height: 100%;
}

.radio-select-body {
    margin: 0.5em 1em 1em 1em;
    padding: 0.25em 0.5em;
    height: 100%;
}

.radio-select-explainer .radio-select-body {
    box-shadow: 0 0 0 2px grey;
    border-radius: 0.6em;
}

.radio-select-explainer:has(input:disabled) .radio-select-body {
    color: darkgray;
}

.radio-select-explainer:has(input:checked) .radio-select-body {
    box-shadow: 0 0 0 2px white;
}

.radio-select-explainer:has(input:checked) .radio-select-body {
    color: var(--text);
}

.radio-select-explainer .extra-explainer {
    margin-top: 10px;
    font-size: smaller;
    color: var(--negative);
}

/* RMAs */

#div_id_resolution label,
#div_id_fulfill_before_intake label,
#div_id_number_of_playdates label,
#div_id_serial label
{
    color: var(--text);
}

#div_id_resolution .control-label,
#div_id_fulfill_before_intake .control-label,
#div_id_serial .control-label
{	
    margin-bottom: 1em;
    font-weight: 600;
}

#div_id_reason textarea
{
    width: 100%;
}

.fixed-checkbox {
    width: 100%;
}

.fixed-checkbox input[type="checkbox"]
{
    display: inline-block;
    position: relative;
    width: 1.25em;
    height: 1.25em;
    margin-right: .5em;
    vertical-align: -1.25em;
}
.fixed-checkbox input[type="checkbox"]:checked
{
    background-color: var(--text);
    border-color: var(--text);
}
.fixed-checkbox input[type="checkbox"]:checked::after
{
    position: absolute;
    top: 0.25em;
    left: 0.25em;
    content: " ";
    width: 1em;
    height: 1em;
    background-color: var(--page-bg);
    -webkit-mask-size: 90% 90%;
    -webkit-mask-position: center center;
    -webkit-mask-repeat: no-repeat;
    -webkit-mask-image: url("../images/checkmark.a3cbcd8cf946.svg");
}

#div_id_resolution input[type="radio"],
#div_id_fulfill_before_intake input[type="checkbox"]
{
    display: inline-block;
    position: relative;
    width: 1.25em;
    height: 1.25em;
    margin-right: .5em;
    vertical-align: -1.25em;
}
    #div_id_resolution input[type="radio"]:checked,
    #div_id_fulfill_before_intake input[type="checkbox"]:checked
    {
        background-color: var(--text);
        border-color: var(--text);
    }
    #div_id_fulfill_before_intake input[type="checkbox"]:checked::after
    {
        position: absolute;
        top: 0.025em;
        left: 0.025em;
        content: " ";
        width: 1em;
        height: 1em;
        background-color: var(--page-bg);
        -webkit-mask-size: 90% 90%;
        -webkit-mask-position: center center;
        -webkit-mask-repeat: no-repeat;
        -webkit-mask-image: url("../images/checkmark.a3cbcd8cf946.svg");
    }
    
#div_id_resolution input[type="radio"]
{
    border-radius: 50%;
}
#div_id_resolution input[type="radio"]:checked::after
{
    position: absolute;
    top: .25em;
    left: .25em;
    content: " ";
    width: .6em;
    height: .6em;
    border-radius: 50%;
    background-color: var(--page-bg);
}

/* Start scaling */
@media screen and (min-width: 240px)
{

    .card,
    nav.internal-nav
    {
        max-width: 110rem;
    }

    .card
    {
        border-radius: 0;
    }

}

@media screen and (min-width: 670px)
{
    #purchasePinForm div.single-field-form
    {
        max-width: 50rem;
    }
    
    .dashboardColumnContainer.colTwo
    {
        grid-template-columns: 1fr 1fr;
    }
    
    #discounts dl
    {
        grid-template-columns: 3fr 1fr 1fr;
    }
    
    #discounts .discountPrice
    {
        align-self: center;
        text-align: right;
    }
    
    #discounts .discountActions
    {
        align-self: center;
        text-align: center;
    }
    
    .dashboard dt,
    .dashboard dd
    {
        padding: 0.25em .5em .35em .5em;
        /* align-self: baseline; */
    }
}

@media screen and (min-width: 800px)
{
    .card,
    nav.internal-nav
    {
        max-width: 80rem;
    }

    .card
    {
        border-radius: 0.5em;
    }

    .wide
    {
        width: 100%;
        max-width: 110rem;
/*         border-radius: 0; */
    }
    .narrow
    {
        max-width: 50rem;
    }
    .midwidth
    {
        max-width: 60rem;
    }

    .sign-up
    {
        display: grid;
        grid-template-columns: auto 1fr;
    }

    .sign-up:before
    {
        grid-column: 1;
        grid-row: 1 / span 2;
        margin: 1em;
    }

    .sign-up form
    {
        grid-column: 2;
    }

    .sign-in
    {
        position: relative;
    }

    .sign-in:before
    {
        display: block;
        content: "";
        width: 17rem;
        height: 17rem;
        position: absolute;
        left: calc(50% + 25rem);
        top: calc(50% - 16rem);
        background-image: url("../images/peedee-peeking-out.aa7a3fd933bb.png");
        background-repeat: no-repeat;
        background-size: contain;
    }

}

@media screen and (min-width: 1100px)
{
    .wide
    {
        border-radius: 0.5em;
    }

    

}

@media (prefers-color-scheme: dark) {
    input {
        color-scheme: dark;
    }
}

@media (prefers-color-scheme: light) {
    input {
        color-scheme: light;
    }
}
