@font-face {
    font-family: 'quicksand';
    src: url('quicksand.eot');
    src: url('quicksand.eot?#iefix') format('embedded-opentype'),
         url('quicksand.woff') format('woff'),
         url('quicksand.ttf') format('truetype'),
    font-weight: normal;
    font-style: normal;

}

.cart {
    padding: 0px;
    margin: 0px;
    }


.checkouttxt { text-align: center; font-weight: bold; }
.stepbox { display: inline-block; text-align: center; margin: 14px; }
.checkoutstep-on {
    color: #fff;
    font-size: 1.25em;
    font-weight: bold;
    background-color: #060;
    border-radius: 50%;
    padding: 1px;
    width: 28px;
    height: 28px;
    display: inline-block;
    text-align: center;
    margin: 7px 3px;
}

.checkoutstep {
    color: #999;
    font-size: 1.25em;
    font-weight: bold;
    background-color: #fff;
    border-radius: 50%;
    border: 1px solid #999;
    padding: 1px;
    width: 28px;
    height: 28px;
    display: inline-block;
    text-align: center;
    margin: 7px 3px;
}

.carterror {
    color: #FF0000;
    font-weight: bold;
    font-size: 12pt;
    text-align: center;
    }	

.cartmessage {
    color: #FF0000;
    font-weight: bold;
    text-align: center;
    padding: 8px 0;
}
    
.cart-header-message {
    text-align: center;
    color: #FF4000;
    font-size: 14px;
    font-weight: bold;
    }
	
.cart-shipping-message {
    text-align: center;
    font-size: 12px;
    font-style: italic;
    display: none;
    }
	
.cart-footer-message {
    text-align: center;
    font-size: 14px;
    font-weight: bold;
    }			

.confirmation-header {
    font-weight: bold;
    font-size: 12pt;
    text-align: center;
	}
	
.confirmation-message{
    font-weight: bold;
    font-size: 12pt;
    text-align: center;
	}
	
.confirmation-footer{
    font-weight: bold;
    font-size: 12pt;
    text-align: center;
	}
			
.order-complete-header{
    font-weight: bold;
    font-size: 12pt;
    text-align: center;
    }
	
.order-complete-message{
    font-weight: bold;
    font-size: 12pt;
    text-align: center;
    }
.order-complete-footer{
    font-weight: bold;
    font-size: 12pt;
    text-align: center;
    }


#order-complete-top { display: flex; align-items: center; }
.och-col2 { margin-left: auto; }

.order-email { padding: 0 12px; font-weight: bold; }

#order-email {
    text-align: left;
    margin: 16px;
}

#order-complete-row {
    display: flex;
    align-items: flex-start;
}

#order-complete-box {
    display: flex;
    padding: 15px 30px;
    border: 2px solid #ccc;
    margin: 16px 32px 16px 16px;
    flex-direction: row;
    text-align: left;
    flex-wrap: wrap;
    flex-basis: 67%;
    font-size: 1.33em;
    font-weight: normal;
}

.ocb-left {
    flex-basis: 20%;
    padding: 15px 0;
}

.ocb-right {
    margin-left: auto;
    flex-basis: 80%;
    padding: 15px 0;
}

.opbutton {
    padding: 12px;
    margin: 4px;
    border: 2px solid #000;
    font-size: 1.25em;
    white-space: nowrap;
 }

#order-complete-help {
    flex-basis: 33%;
    text-align: left;
    margin-left: 32px;
}

#orderhelp {
    border: 1px solid #ccc;
}

#orderhelp div {
    border: 1px solid #ccc;
    padding: 16px;
    display: flex;
    align-items: center;
}

#reward-info {
    text-align: center;
    color: red;
    font-weight: bold;
    font-size:1.25em;
    padding: 30px 0;
}

.cartqtybox {
    font-size: 1.5em;
    padding: 0px;
    margin: 0px;
    width: 60px;
}

.cartbottom {
    text-align: center;
    }

.rewardcash-message {
    padding: 24px 4px;
    text-align: center;
}
.carttable {
    width: 100%;
    margin: 0px;
    padding: 8px 4px;
    }

.carttable th {
    text-align: left;
    background-color: #fff;
    color: #999;
    padding: 12px 5px;
    font-variant: all-small-caps;
    }
	
.cart-thumb-image {
    padding: 4px 22px 4px 0px;
    float: left;
    border: 0px;
    }	
	
.cbutton {
    padding: 8px;
    margin: 4px;
    border: 1px solid #fff;
    background-color: #163b68;
    font-size: 1.25em;
    font-weight: bold;
    color: #FFFFFF;
    font-family: quicksand, sans-serif;
    border-radius: 9px;
}

.rbutton {
    padding: 8px;
    margin: 4px;
    border: 1px solid #fff;
    background-color: #d70101;
    font-weight: bold;
    color: #FFFFFF;
    font-family: quicksand, sans-serif;
    border-radius: 9px;
    float: right;
}

.itemcell0 {
    padding: 16px 0px;
    border: 0px;
    background-color: #fff;
    border-top: 1px solid #eee;
    }

.itemcell1 {
    padding: 16px 0px;
    border-top: 1px solid #eee;
    background-color: #fff;
    }

.item_thumb {
	display: block;
    text-align: center;
    }


.itemprice {
    padding: 12px 0;
    font-weight: bold;
    color: #999999;
    font-size: 1.25em;
}
.itemtotal {
    font-weight: bold;
    font-size: 1.25em;
    padding-top: 6px;
}

.itemdiscorig {
    color: red;
    font-variant: all-small-caps;
    font-weight: bold;
    padding-top: 12px;
}
.itemdiscnew {
    color: red;
    font-weight: bold;
    padding-bottom: 12px;
}
.optionname {
    display: inline;
    font-weight: bold;
    margin: 0px 3px 0px 0px
    }

.attributename {
    display: inline;
    }

.textoption {
    display: inline;
    text-indent: 10px;
    text-align: right;
    }
.textoption img {
    display: none;
}
.optioncell0 {
    text-align: right;
    padding: 0px 0px 0px 0px;
    border: 0px;
    margin: 0px;
    font-weight: bold;
    color: #999999;
    }

.optioncell1 {
    text-align: right;
    padding: 0px 0px 0px 0px;
    margin: 0px;
    font-weight: bold;
    color: #999999;
    }

.soft {
    font-weight: normal;
    }
	
.totalcell0 {
    padding: 3px;
    border: 0px;
    font-size: 12px;
    font-weight: bold;
    background-color: #CCCCCC;
    border-bottom: 1px solid #000000;
    }

.totalcell1 {
    padding: 3px;
    border-bottom: 1px solid #000000;
    font-size: 12px;
    font-weight: bold;
    background-color: #F0F0CC;
    }
	

.cart-total {
    text-align: right;
    padding-right: 8px;
    }

.cart-sub-total {
    text-align: right;
    padding: 16px 0;
    }

.salestax {
    text-align: right;
    }

.carttotalrow {
    font-weight: bold;
    padding: 4px 0px;
    text-align: right;
    border-top: 0px dashed;
    clear: both;
    }
.item_thumb {}
.cartitemthumb { width:236px; }
.cart-item-name { font-weight: bold; font-size: 1.25em; }
.cart-mfg-name { display: none; }
.catalog code {}
.cart-mfg-code { display: none; }
.cart-cat-name {}
.shippingrow{ background-color: #f8f8f8; padding: 1em 0; font-weight: bold; text-align: right; border-bottom: 1px solid #eee; border-top: 1px solid #eee; }
#shipcontainer { padding: 0 4px 0 48px; }

#controlbox {
    text-align: left;
}

#controlbox span {
    font-size: 1.25em;
    font-weight: bold;
    display: inline-block;
    width: 126px;
}
#controlbox input, #controlbox select {
    font-size: 1.25em;
}

#controlbox select {
    width: 150px;
}
#cart_shipping_zip {
    width: 150px;
}

.reward_earned { color: red; padding-right: 8px; }

.ablock {
    display: inline-block;
    padding: 8px;
    background-color: #f8f8f8;
    border: 1px solid #ccc;
    text-align: left;
    width: 370px;
}

.ablock p {
    margin-block-start: 8px;
    margin-block-end: 8px;
    padding: 0 16px;
}

.ablock input[type="text"] {
    padding: 12px 4px 10px 4px;
    width: calc(100% - 92px);
}

#methodbox { padding: 20px; font-weight: normal; }
.shipping-method-line { padding: 8px 0 }

#sbhead { color: #000; padding: 16px 0px; font-weight: bold; font-size: 1.75em; }
#shipbox {
    padding: 32px 32px 16px 32px;
    background-color: #fff;
    border: 1px solid #ccc;
    margin-bottom: 20px;
    display: inline-block;
}
#shipbox > div > label > span > input[type=radio] {
    margin: 0 3px 0 0;
}

.grandtotalrow { font-size: 2em; font-weight:bold; padding: 32px 8px; }
	
#finalize { padding-bottom: 24px; }

.msgbody {
    padding: 12px 36px; clear: both;
}
.mainordertable {
    width: 100%;
    }

.emailheader {
	padding: 10px;
    }

.emailfooter {
   	padding: 10px;
    }

.billtable {
    width: 100%;
    padding: 1px;
    margin: 0px;
    }

.billtable th {
    padding: 4px;
    background-color: #006699;
    border-bottom: 1px solid;
    color: #FFFFFF;
    }

.billing-table {
    text-align: left;
    width: 100%;
    padding: 0px;
    margin: 0px;
    }

.whitebg { background-color: #fff; }

.billing-table tr:nth-child(2n+1) {
    clear: both;
}
.billing-table tr {
    display: inline-block;
    float: left;
    padding: 8px;
}

.billing-addr,.shipping-addr {
    display: inline-block; vertical-align: top; width:49%;
}
.paymethod {
    font-weight: bold;
}
.billing-head {
    font-weight: bold;
    font-size: 1.5em;
    }

.billship-address {
    padding: 16px;
    vertical-align: top;
}

.billing-field {
    padding: 1px;
    display: block;
    min-width: 224px;
    }

.billing-required {
    padding: 1px;
    display: block;
    min-width: 224px;
    font-weight: bold;
    }

.billing-input {
    text-align: left;
    margin: 0px;
    padding: 0px;
    display: block;
    }

.billing-input input {
    font-size: 1em;
    width: 224px;
    padding: 4px;
    border-color: #eee;
    border-style: solid;
}
.billing-input select {
    font-size: 1em;
    width: 224px;
    padding: 4px;
    border-color: #eee;
    border-style: solid;
    background-color: #fff;
}

.cardd { padding: 8px 4px;
    border-color: #eee;
    border-style: solid;
    margin-top: 20px;  }

.cardd input {
    font-size: 1em;
    padding: 4px;
    border-color: #eee;
    border-style: solid;
}
.cardd select {
    font-size: 1em;
    padding: 4px;
    border-color: #eee;
    border-style: solid;
    background-color: #fff;
}

.dmsg {
    color: #ff0000;
    font-size: 9pt;
    }	

.billingrow-on {
    text-align: left;
    background-color: #F0F0CC;
    }

.billingrow-on a {
    font-weight: bold;
    }

.billingrow {
    text-align: left;
    background-color: #FFFFFF;
    }

.billingrow a {
    font-weight: bold;
    }

.billbutt {
    padding: 4px;
    margin: 1px;
    border: 1px outset #000000;
    background-color: #006699;
    color: #FFFFFF;
    border-radius: 9px;
    }

.attn {
    font-size: 16px;
    font-weight: bold;
    }

.confirm-table {
    width: 100%;
    margin: auto;
    padding: 40px;
    background-color: #f8f8f8;
    border: 1px solid #eee;
    }

#confirm-message { color: red; padding-bottom: 20px;  }

#designportal {
    background-color: #f7f7f7;
    padding: 8px 40px 60px 40px;
    max-width: 1440px;
    margin: auto;    
}

.dordertop {
    display: flex;
    align-items: center;
}
#dortopr {
    margin-left: auto;
}
.dordertable {
    text-align: left;
    width: 100%;
    margin: auto;
    max-width: 1440px;
    padding: 20px 40px;
    background-color: #FFFFFF;
    border: 1px solid #ccc;
    }
.dordertable th {
    color: #999;
    padding: 12px 0;
    text-transform: uppercase;
}
.dordertable hr {
    border-color: #eee;
    height: 1px;
    color: #eee;
    background-color: #eee;
    border: none;
}

.dlimage { width: 60px; max-width: none; }

.ordertable {
    text-align: left;
    width: 100%;
	margin: auto;
	max-width: 1440px;
    padding: 0px;
    background-color: #FFFFFF;
    }

.ordertable th {
    padding: 16px 4px;
    color: #999;
    }

.cqaddinfo { text-align: right;  }

.checkout-table { margin: auto; padding-bottom: 20px; } 
.checkout-table-cell { padding: 0 30px; }
.checkout-questions {
	padding: 2px;
	margin-bottom: 6px;
	text-align: right;
}

.checkout-question {
	font-weight: normal;
    padding: 12px;
    display: inline-block;
}

.checkout-question-required {
	font-weight: bold;
	color: #ff3333;
    display: inline-block;
    padding: 12px;
}

.checkout-answer {
	display: inline-block;
    padding: 12px;
}

.checkout-answer input {
    width: 231px;
}


.checkout-answer-radio {
	display: inline-block;
	padding-right: 8px;
}

.ca-wrap {
    width: 255px;
    padding: 12px;
    display: inline-block;
}

.cart-insurance {}
.cart-zip {}
.cart-country{ }

.freeshipmess { position: relative; vertical-align: middle; padding: 12px 0; font-size: .75em; }

.verta {
    display: inline-block;
    vertical-align: middle;
}
.msgbody {
    padding: 12px 36px; clear: both;
}
.msgheader { padding: 24px 36px; }
.totals { font-size:1.25em; }

.itemdesc { display: inline-block; padding-left: 8px; vertical-align: top; width: calc(100% - 213px); box-sizing: border-box; }
.itemimg { display: inline-block; max-width: 208px; min-width: 208px; }

.orderhead1 { color: #123c6e; float: right; text-align: center; margin: 0 8px; }

.billing-table h1 { font-size: 1.25em; color: #123c6e; }

@media only screen and ( max-width: 640px ) 
{

    .billing-table h1 { font-size: .825em; }

    .itemdesc { display: block; width: 100%; max-width: none; min-width: none; font-size:.825em; }
    .itemimg { display: block; max-width: none; min-width: none; text-align: center; }

    .cartmessage {
        font-size: .875em;
    }

    .totals { font-size:1em; }
    .carttable { font-size: .67em; }
    #cart-head {
        margin-right: 8px;
    }
    .cartitemthumb { width:auto; }

    .cartqtybox {
        width: 32px;
        margin: 0 6px;
    }

    .itemcell0 { padding-right: 0 !important; }
    .itemcell1 { padding-right: 0 !important; }

    .shippingrow {
        padding: 1em 0;
        font-size: .825em;
    }

    .sales-tax {
        padding: 16px 0;
    }
    #shipcontainer {
        padding: 0 4px;
    }

    #shipbox {
        padding: 8px 8px 4px 8px;
        margin-bottom: 4px;
    }

    #controlbox span {
        padding-top: 6px;
    }

    #controlbox span {
        width: 72px;
    }

    #controlbox select {
        width: 90px;
    }

    #methodbox {
        padding: 8px;
    }

    #cart_shipping_zip {
        width: 90px;
    }    

    .ablock {
        width: 100%;
    }

    .ablock input[type="text"] {
        padding: 6px 2px 5px 2px;
        width: calc(100% - 71px);
    }

    #addupd {
        display: none;
    }

    .carttotalrow { padding: 2px; }

   .grandtotalrow {
        font-size: 1.5em;
        padding: 20px 0px;
   }

    .cqaddinfo { padding-right: 8px; font-size: 1.5em; }


    .reward_earned { padding-right: 8px; }

    .confirm-table {
        padding: 4px;
    }

    .billing-head {
        font-weight: bold;
        font-size: 1em;
        padding-top: 16px;
    }

    .opbutton {
        padding: 6px;
        margin: 4px;
        font-size: 1em;
    }

    .checkout-answer {
        padding: 0 12px;
    }

    .ca-wrap { padding: 0; }

    .checkout-answer-radio {
        padding-right: 12px;
    }

    .checkout-question, .checkout-question-required {
        padding-bottom: 0;
    }

    .order-complete-header {
        font-size: .75em;
    }

    #order-complete-top { margin: 0 8px; }

    #order-complete-box {
        padding: 4px 8px;
        margin: 4px;
        flex-direction: row;
        font-size: 1.25em;
        color: #666;
        font-weight: normal;
    }

    .och-col1 h1 { font-size: 1.5em; }

    .ocb-left, .ocb-right {
        flex-basis: 50%;
        padding: 8px 0;
    }

    #order-complete-row {
        flex-direction: column;
    }

    #order-complete-help {
        margin: 4px;
        width: 98%;
    }

    #botcarttab { width: 100%; }

    #botcarttab > tbody > tr > td {
        display: block;
    }

    #cccont { width: 100%; }
    #cccont > tbody > tr > td {
        display: block;
    }
    #bcartmidsep { display: none !important;  }

    #logintbh { width: 100% !important; }

    #logintb > tbody > tr > td {
        display: block;
    }
    #logintb { width: 100% !important; }
    #loginmsg { font-size: 1em; }

    .checkout-table > tbody > tr > td {
        display: block;
    }

    .checkouttxt, .rewardcash-message {
        padding: 0 6px;
    }

    .checkout-table-cell {
        width: 100%;
        /* margin: auto; */
    }

    .checkout-table {
        margin: auto;
    }

    .confirm-button { text-align: center; }

    .ordertable th { font-size: .825em;  }
    .ordertable td { font-size: .825em; overflow-wrap: anywhere; }
    .userpage h1 { font-size:1em; }

    #designportal {
        font-size: .75em;
        padding: 8px 8px 24px 8px;
    }

    .dordertable {
        padding: 8px;
    }

    .dordertable th, .dordertable td {
        font-size: .75em;
        padding: 4px;
        overflow-wrap: anywhere;
    }

    .dordertable th {
        font-size: .67em;
    }


    .dlimage { width: 40px; max-width: none; }



}

@media only screen and ( max-width: 600px )
{
    .billing-addr, .shipping-addr {
        display: block; width:100%;
    }

    .msgheader { padding: 8px 12px; }
    .msgbody {
        padding: 4px 12px;
    }
    .totals { font-size:.75em; }
    .orderhead1 { font-size: 1em; }
}
