/*************************
 * Kesselhaus Ticket CSS *
 * Res Media // mhs      *
 *************************/

/* General */
#shop .align-middle {
    -webkit-box-align: center;
    align-items: center;
}

#shop .mt-1 { margin-top: .25em; }
#shop .mt-2 { margin-top: .50em; }
#shop .mt-3 { margin-top: .75em; }
#shop .mt-4 { margin-top: 1em; }

#shop .small { font-size: .75em; }

/* State */
#shop .state {
    color: #404040;
    text-align: center;
    padding: .25em 1em;
}

#shop .state.green  { background-color: #88FF88; }
#shop .state.orange { background-color: #FFD800; }
#shop .state.red    { background-color: #FF5555; }

/* Ticket List */
#shop .ticket-list {
    font-size: .85em;
}

#shop .ticket-list .columns {
    display: flex;
    line-height: 1.2em;
    min-height: 45px;
    align-items: center;
}

#shop .ticket-list .columns div > small {
    display: block;
}

#shop .ticket-list .columns.price {
    justify-content: right;
}

#shop .ticket-list .columns > .state {
    flex: 1;
    padding: .5em;
}

#shop .ticket-list .row {
    margin-bottom: 2em;
}

@media screen and (min-width: 40em) {
    #shop .ticket-list .row {
        margin-bottom: .5em;
    }
}

/* Page */
#shop .content-page .page-header {
    margin-bottom: 1.5em;
}

#shop .content-page .text-box {
    background-color: #33302d;
    padding: 1.5em;
    margin-bottom: 1.5em;
}

/* Articles */
#shop .article-page .menu {
    margin-bottom: 1em;
}

#shop .article-page .menu li {
    display: inline-block;
}

#shop .article-page .heading {
    margin-bottom: 1em;
}

/* Cart */
#shop .cart h1 {
    margin-bottom: 0;
}

#shop .cart .remove {
    background-color: #FF5555;
    border-color: #FF5555;
    font-size: 14px;
    padding: 6px 10px;
}

#shop .cart .remove:hover {
    color: #FF5555;
}

#shop .cart .u18 {
    padding: .15em .25em;
}

/* Order */
#shop .order #ppplus {
    width: 98%;
}

/* Plan */
#shop .plan-page .price {
    display: inline-block;
    font-size: 1.4em;
    line-height: 1.5;
    margin-right: 1em;
}

#shop .plan-page .price > small {
    display: block;
    font-size: 0.6em;
    line-height: 0.85em;
}

/* U18 */
#shop .u18 {
    display: inline-block;
    padding: .4em .85em;
    background-color: #5ab85f;
    border: 2px solid #5ab85f;
    margin: .25em .25em 0 0;
}

#shop a.u18 {
    text-decoration: none;
}

#shop a.u18:hover {
    color: #5ab85f;
    background-color: #000000;
    text-decoration: none;
}

/* Profile */
#shop .profile-page table th {
    text-align: left;
    padding: .25em 1em 0 0;
}

#shop .profile-page table td {
    padding: .25em 1em 0 0;
}

/* Form */
#shop form input,
#shop form select {
    margin-bottom: .25em;
}

#shop .button {
    text-transform: none;
}

#shop .datetime > .cell {
    padding-right: .5em;
}

#shop .datetime select {
    min-width: 5em;
}

/* Buttons */
#shop .button.tiny {
    padding: .15em .5em;
    font-size: .75em;
}
