.prod-header-inline {
    display: inline-block;
    padding: 0;
    margin: 10px;
    font-size: 20pt;
}
h2.prod-header-inline {
    margin-left: 30px;
    font-weight: normal;
}
.table-prod {
    display: block;
    width: 100%;
    padding: 0;
}
.table-prod-header {
    display: block;
    width: 100%;
    height: 50px;
    background-color: #135f1e;
    border-radius: 7px;
}
.table-prod-header-text {
    display: inline-block;
    font-size: 14pt;
    font-weight: bold;
    color: white;
    padding: 10px;
    margin-top: 2px;
    box-sizing: border-box;
}
.table-prod-header-quantity, .table-prod-header-price {
    text-align: center;
    float: right;
    width: 150px;
}

.table-prod-row {
    float: left;
    display: block;
    width: 100%;
    padding: 0;
    margin: 0;
    min-height: 50px;
    border-bottom: 1px solid rgb(211, 223, 211);
}
.table-prod-image {
    float: left;
    display: inline-block;
    margin: 1px;
    width: 48px;
    height: 48px;
    box-sizing: border-box;
    border-radius: 3px;
}
.table-prod-text {
    display: inline-block;
    font-size: 11pt;
    font-weight: normal;
    color: rgb(51, 51, 51);
    padding: 12px;
    margin-top: 2px;
    box-sizing: border-box;
}
.table-prod-name {
    float: left;
}
.table-prod-price, .table-prod-quantity {
    text-align: center;
    float: right;
    width: 150px;
}
.table-prod-quantity {
    padding: 10px;
    margin-top: 0;
}
.table-prod-input {
    display: block;
    width: 100%;
    height: 30px;
    font-size: 10pt;
    font-weight: lighter;
    box-sizing: border-box;
    padding-left: 7px;
    border-radius: 3px;
    border: 1px solid rgb(150, 150, 150);
    -webkit-transition: all 0.30s ease-in-out;
    -moz-transition: all 0.30s ease-in-out;
    -ms-transition: all 0.30s ease-in-out;
    -o-transition: all 0.30s ease-in-out;
    transition: all 0.30s ease-in-out;
}
.prod-total {
    font-size: 22pt;
    margin: 0;
    margin-bottom: 5px;
    font-weight: bold;
}
.table-prod-input:focus {
    outline: none;
    box-shadow: 0px 0px 5px rgb(42, 82, 255);
    border: 1px solid rgb(42, 82, 255);
}
#email:invalid {
    box-shadow: 0px 0px 5px rgb(255, 26, 26);
    border: 1px solid rgb(150, 21, 21);
}
.info-prod {
    float: left;
    display: block;
    width: 100%;
    margin-top: 30px;
    padding: 0;
}
.info-col-1 {
    float: left;
    display: block;
    width: 45%;
    margin: 0;
    padding: 10px;
    box-sizing: border-box;
}
.info-col-2 {
    float: right;
    display: block;
    width: 54%;
    margin: 0;
    padding: 10px;
    box-sizing: border-box;
}
.info-col-3 {
    float: left;
    display: block;
    width: 100%;
    height: auto;
    padding: 0;
    margin-bottom: 20px;
    text-align: center;
}
.info-prod label {
    display: block;
    padding-left: 7px;
    width: 100%;
    margin: 5px;
    font-size: 11pt;
    box-sizing: border-box;
    font-weight: bold;
}
.info-col-1 input, textarea, select {
    font-size: 11pt;
    font-weight: lighter;
    border-radius: 3px;
    box-sizing: border-box;
    border: 1px solid rgb(150, 150, 150);
    -webkit-transition: all 0.30s ease-in-out;
    -moz-transition: all 0.30s ease-in-out;
    -ms-transition: all 0.30s ease-in-out;
    -o-transition: all 0.30s ease-in-out;
    transition: all 0.30s ease-in-out;
}
.info-col-1 input:focus, textarea:focus, select:focus {
    outline: none;
    box-shadow: 0px 0px 5px rgb(42, 82, 255);
    border: 1px solid rgb(42, 82, 255);
}
.info-col-1 input {
    display: block;
    height: 30px;
    width: 100%;
    padding: 5px;
    
}
.info-col-1 select {
    display: inline-block;
    height: 30px;
    padding: 5px;
}
.select-month {
    width: 69%;
}
.select-day {
    width: 29%;
}
.info-col-1 label {
    margin-top: 15px;
}
.info-col-2 textarea {
    width: 100%;
    height: 150px;
    border-radius: 3px;
}
.prod-submit {
    display: inline-block;
    width: 250px;
    height: 50px;
    margin: 20px;
    background-color: rgb(205, 0, 0);
    color: white;
    font-size: 14pt;
    border: none;
    border-radius: 3px;
    -webkit-transition: all 0.3s cubic-bezier(0.68, -0.55, 0.27, 1.55) 0s;
    -moz-transition: all 0.3s ease-in-out 0s;
    -o-transition: all 0.3s ease-in-out 0s;
    -ms-transition: all 0.3s ease-in-out 0s;
    transition: all 0.3s ease-in-out 0s;
}
.prod-submit:focus {
    outline: none;
}
.prod-submit:hover {
    background-color: rgb(245, 0, 0);
    box-shadow: 0px 0px 7px rgb(90, 0, 0);
}
.prod-submit:active {
    background-color: rgb(180, 0, 0);
    box-shadow: 0px 0px 10px black inset;
}
.table-prod-container {
    padding: 0;
    margin: 0;
}
.filter-box {
    display: inline-block;
    margin: 5px 0;
    box-sizing: border-box;
    height: 30px;
    width: 100%;
    font-size: 11pt;
    font-weight: lighter;
    padding: 5px 5px 5px 7px;
    border-radius: 3px;
    border: 1px solid rgb(150, 150, 150);
    -webkit-transition: all 0.30s ease-in-out;
    -moz-transition: all 0.30s ease-in-out;
    -o-transition: all 0.30s ease-in-out;
    transition: all 0.30s ease-in-out;
}
.filter-box:focus {
    outline: none;
    box-shadow: 0px 0px 5px rgb(42, 82, 255);
    border: 1px solid rgb(42, 82, 255);
}
.filter-indicator-no-match {
    display: block;
    padding: 10px 0 20px;
    font-weight: bold;
    font-size: 14pt;
    width: 100%;
    text-align: center;
    border-bottom: 1px solid grey;
    margin: 0 0 10px;
}
.filter-indicator {
    display: block;
    margin: 0;
    padding: 0;
    width: 100%;
    text-align: center;
}
.filter-indicator-helper {
    display: block;
    margin: 5px auto 0;
    padding: 5px 15px;
    width: 150px;
    text-align: center;
    cursor: pointer;
    font-weight: bold;
    font-size: 12pt;
    color: rgb(188, 0, 0);
    border: 1px solid grey;
    border-radius: 3px;
    background-color: whitesmoke;
    transition: all linear 0.2s
}
.filter-indicator-helper:hover {
    background-color: #c4c4c4;
    border: 1px solid #9d9d9d;
    color: rgb(200, 0, 0);
}
.filtered {
    display: none;
}

.current-order {
    float: left;
    display: block;
    margin: 15px 0 0;
    padding: 10px 0;
    width: 100%;
    border-top: 1px solid lightgrey;
    border-bottom: 1px solid lightgrey;
}
.order-container {
    display: block;
    min-width: 250px;
    max-width: 450px;
    padding: 0;
    margin: 0 auto;
}
.no-order {
    display: block;
    width: 100%;
    text-align: center;
    padding: 0 0 10px;
}
.current-order-product {
    border-bottom: 1px solid lightgrey;
}
.current-order-product:last-child {
    border-bottom: 0;
}
.current-order-product-name {
    float: left;
    font-size: 12pt;
    box-sizing: border-box;
    padding: 3px 0 0;
}
.current-order-input {
    float: right;
    width: 80px !important;

}
.template-product {
    display: none;
}
.current-order>h4 {
    display: block;
    margin: 0;
    padding: 0 0 10px;
    width: 100%;
    text-align: center;
    font-size: 20pt;
}
.warn {
    color: red;
    font-weight: bold;
}
/* Desktop Table */
@media (min-width: 901px) {
    .table-prod-header-name {
        margin-left: 50px;
    }
}
/* Mobile Table */
@media (max-width: 900px) {
    .table-prod-header {
        height: 30px;
        border-radius: 5px;
    }
    .table-prod-header-text {
        font-size: 10pt;
        padding: 5px;
        margin-top: 1px;
    }
    .table-prod-header-name {
        margin-left: 10px;
    }
    .table-prod-header-price, .table-prod-header-quantity {
        text-align: center;
        float: right;
        width: 90px;
    }
    .allow-expand {
        max-width: 80% !important;
    }
    .table-prod-text {
        max-width: 40%;
        padding: 12px;
        margin-top: 2px;
        box-sizing: border-box;
    }
    .table-prod-price, .table-prod-quantity {
        text-align: center;
        float: right;
        width: 90px;
    }
    .table-prod-quantity {
        padding: 10px;
        margin-top: 0;
    }
    .prod-header {
        display: block;
        width: 100%;
        text-align: center;
    }
    h2.prod-header-inline {
        margin-left: 0px;
    }
    .info-col-1, .info-col-2 {
        float: left;
        width: 100%;
        margin-bottom: 20px;
    }
}
@media (max-width: 600px) {
    .no-mobile-image {
        display: none;
    }
    .table-prod-text {
        max-width: 40%;
    }
    .table-prod-header-price, .table-prod-header-quantity, .table-prod-price, .table-prod-quantity {
        text-align: center;
        float: right;
        width: 60px;
        margin-right: 10px;
    }
}
@media print {
    nav, footer, .filter-box, .table-prod-header-quantity, .table-prod-quantity, .current-order, .info-prod {
        display: none;
    }
}