*, :after, :before {
    -webkit-box-sizing: border-box;
    -moz-box-sizing: border-box;
    box-sizing: border-box;
}

/*** ---------- GENERAL ---------- ***/

#content h1 { 
    margin: 0 0 5px 0;
    padding: 0;
    font: bold 28px arial;
    color: #DA5A1B;
}

/*** ---------- PRODUCT SUMMARY ---------- ***/


#content h1.SummaryProductDescription { 
    margin: 0 0 5px 0;
    padding: 0;
    font: bold 28px arial;
    color: #DA5A1B;
}

.summaryimages .summarycaption { 
    text-align: center; 
    padding: 5px 0; 
}

.summaryimages .summarycaption a { 
    font: normal 12px arial; 
}

.ProductImage {
    border: solid 1px #7A7A7A; } 


/*** ---------- PRODUCT DETAILS ---------- ***/

#ProductDetailsTable {
    display: table;
    width: 100%
}

#content h1.DetailsProductDescription { 
    margin: 0 0 6px 0;
    padding: 0;
    font: bold 28px arial;
    color: #DA5A1B;
}

#ProductDetailsTableRow {
    display: table-row;
}

#ProductDetailsTableCellLeft {
    display: table-cell;
    vertical-align: top;
    padding-right: 10px;
    width: 50%;
}

#ProductDetailsTableCellRight {
    display: table-cell;
    vertical-align: top;
}
  
.DetailsProductDescription
{
    color: #000;
    font: bold 14px arial;
}

.DetailsProductDetails
{
    color: #000; 
    font: normal 13px arial; 
    margin-bottom: 10px;
}


#CartBlock {
    font: normal 14px arial;
    color: #000;
}

#CartBlock label {
    font-weight: bold;
}

#CartBlock .selectbox {
    height: 28px;
    width: 100%;
    
}

#CartBlock .textbox {
    height: 28px;
    text-align: center;
}

/* This maybe overwritten by website stylesheet */
#content .Button {
    display: block;
    background-color: #DA5A1B;
    padding: 6px 10px;
    border: 0;
    font-weight: bold;
    font-size: 14px;
    color: #fff;
    text-decoration: none;
    text-align: center;
}

#content .ButtonWidth {
    width: 130px; 
}

#content .Button2 {
    display: block;
    background-color: #000;
    padding: 6px 10px;
    border: 0;
    font-weight: bold;
    font-size: 14px;
    color: #fff;
    text-decoration: none;
    text-align: center;
}


#content .ButtonCart {
    width: 75%;
}

#extraphotosmobile {
    display: none; 
    text-align: center; 
}

#extraphotosmobile .Button {
    width: 100%; 
    padding: 5px 0
}

#content .photocontainer { 
    position: relative; 
    width: 100%; 
    height: auto;
    margin: 0;
}

.ProductImage {
    width: 100%; 
}

.photozoom {
    position: absolute; 
    bottom: 0; 
    right: 0; 
    border: 0;
}

#ProductDetailsTableCellLeft > div { 
    margin-top: 10px; 
}

#ProductDetailsTableCellLeft > div:first-child { 
    margin-top: 0; 
}

#photoscroller { 
    width: 100%; 
    text-align: center;
}

#photoscroller img {
    width: 31%; 
    border: 0;
}

#InventoryBox { 
    border: solid 1px #000; 
    background-color: #EAE8E8;
    font: bold 13px arial; 
    color: #000; 
    padding: 5px 0; 
    text-align: center; 
}


#photoscroller img { border: solid 1px #7A7A7A; }

/*** ---------- VIEWCART ---------- ***/

.ViewCartTable {
    border: solid 1px #666666;
    width: 100%;
    background-color: #fff;
}

.ViewCartTableHeader {
    background-color: #DA5A1B;
    border: solid 1px #666666;
}


.ViewCartTableCells {
    border: solid 1px #666666;    
}

.ViewCartTableHeaderText
{
    font: bold 13px arial;
    color: #fff; 
}


.ViewCartTableText
{
    font: bold 13px arial;
    color: #000;
}

.ViewCartMessagesText
{
    font: normal 13px arial;
    color: #000;
    text-align: justify;
}

#ViewCartTable2 { display: table; width: 100%; margin-top: 20px}

#ViewCartTable2Row { display: table-row; }

.ViewCartTable2Cell { display: table-cell; width: 33%; }

.ViewCartTable2Cell .Button {margin: 0 auto; }

#mobilecart .Button {width: 50%; margin: 0 auto;}




/*** ---------- CHECKOUT ---------- ***/

#checkout { margin-top: 20px; }

#checkout h4 {
    background-color: #DA5A1B;
    color: #fff;
    margin-top: 20px;
    margin-bottom: 10px;;
    padding: 3px;
}

#checkout h4 a {
    color: #fff;
    text-decoration: none;  
}

#checkout .form-item {
    float: left;
    margin-left: 2%;
    margin-top: 10px;
    width: 48%;
    display: block;
}

#checkout .form-item-2 {
    float: left;
    margin-left: 2%;
    margin-top: 10px;
    width: 31%;
    display: block;
}

#checkout .col1 {
    margin-left: 0; 
}

#checkout .form-control {
    display: block;
    width: 100%;
    padding: 12px 6px;
    font-size: 16px;
    line-height: 1;
    color: #000;
    background-color: #fff;
    border: 1px solid #222;
    border-radius:6px;
    -moz-border-radius:6px;
    -webkit-border-radius:6px;
}

#checkout .form-control-2 {
    display: block;
    width: 100%;
    padding: 11px 6px;
    font-size: 16px;
    line-height: 1;
    color: #000;
    background-color: #fff;
    border: 1px solid #222;
    border-radius:6px;
    -moz-border-radius:6px;
    -webkit-border-radius:6px;
}


#checkout label {
    font-weight: bold;
}

#checkout label.col1 {
    margin-left: 0;
    clear: both;
}


#checkout .selectbox {
    height: 28px;
    width: 100%;
    
}

.CheckoutTable
{
    border: solid 1px #5A5A5A;
    background-color: #fff;
    width: 100%;
}


.CheckoutTableHeader
{
    background-color: #DA5A1B;
    border: solid 1px #5A5A5A;
    color: #fff;
    font-weight: bold;
}

#checkout .CheckoutTableHeader a {
    color: #fff; 
    font-weight: normal;
}

.CheckoutTableCells
{
    border: solid 1px #5A5A5A;
    background-color: #fff;
    width: 100%;
}

.CheckoutTable2
{
    background-color: #fff;
    width: 100%;
}


.CheckoutTable2Header
{
    background-color: #DA5A1B;
}

.CheckoutTable2HeaderText a {
    color: #fff; 
}


.CheckoutTable2Cells
{
    background-color: #fff;
    width: 100%;
}


.CheckoutTable2HeaderText
{
    color: #fff;
    font: bold 14px arial; 
}

.CheckoutTableText
{
    color: #000;
    font: normal 14px arial;
}

.CheckoutTable2Text
{
    color: #000;
    font: normal 14px arial;    
    text-align: justify;
}

.CheckoutMessagesText
{
    color: #000;
    font: normal 12px arial;
    text-align: justify;
}

/*** ---------- Next N ---------- ***/

.NextNTable
{
    border: solid 1px #727272;
    background-color: #fff;
    width: 100%;
}

.NextNTableHeader
{
    background-color: #000;
    border: solid 1px #727272;
}

.NextNTableHeaderText
{
    color: #fff;
    font: bold 14px arial;
}

.NextNTableCells
{
    border: solid 1px #727272;
    width: 100%;
}

a.NextNText
{
    color: #000;
    font: normal 12px arial;
    text-decoration: underline;
}

a:hover.NextNText
{
    text-decoration: none;
}


/*** ---------- Checkout Progress Bar ---------- ***/

.CheckoutProgressTableOutter { width: 100%; }

.CheckoutProgressTable
{
    width: 100%;
    height: 15px;
    border: solid 1px #000;
}

.CheckoutProgressTableCellsInactive
{
    background-color: #EAE8E8;
    border: solid 1px #000;
}

.CheckoutProgressTableCellsActive
{
    background-color: red;
    border: solid 1px #000;
}

.CheckoutProgressTextInactive
{
    color: #000;
    font: normal 12px arial;
}

.CheckoutProgressTextActive
{
    color: #000;
    font: normal 12px arial;
}

.CheckoutProgressLabel
{
    margin: 0 0 12px 0;
    padding: 0;
    font: bold 28px arial;
    color: #DA5A1B;
    


}


/*** ---------- Checkout Sign-in Table ---------- ***/

.CheckoutSigninInfo {
    border: solid 2px #5A5A5A; 
    border-radius:10px;
    -moz-border-radius:10px;
    -webkit-border-radius:10px;
    font: normal 13px arial;
    background-color: #EAE8E8;
    position: relative;
    text-align: center;
}

.CheckoutSigninInfo div {
    padding: 10px; 
}

#CheckoutSigninTable {
    display: table;
    border-spacing: 10px;
    font: normal 13px arial;
    
    margin: 0 -10px 0 -10px;}

#CheckoutSigninRow {
    display: table-row;
}

#CheckoutSigninCell1 {
    display: table-cell;
    width: 50%;
    border: solid 2px #5A5A5A; 
    border-radius:10px;
    -moz-border-radius:10px;
    -webkit-border-radius:10px;
    background-color: #EAE8E8;
    position: relative;
}

#CheckoutSigninCell1 div {
    padding: 10px;
}

#CheckoutSigninCell2 {
    display: table-cell;
    width: 50%;
    border: solid 2px #5A5A5A; 
    border-radius:10px;
    -moz-border-radius:10px;
    -webkit-border-radius:10px;
    background-color: #EAE8E8;
    position: relative;
}

#CheckoutSigninCell2 div {
    padding: 0 10px;
}

#content .checkoutbutton {margin: 0 10px; }

#content .rts-link { margin: 20px 0; display: none; }

/*** ---------- GENERAL TEXT ---------- ***/

.GeneralText
{
    font: normal 13px arial;
    color: #000;
    text-align: justify;
}

a.GeneralText
{
    color: #000;
    text-decoration: underline;
}

a:hover.GeneralText
{
    text-decoration: none;
}

.GeneralTextSmall
{
    font: normal 11px arial;
    color: #000;
    text-align: justify;
}

a.GeneralTextSmall
{
    color: #000;
    text-decoration: underline;
}

a:hover.GeneralTextSmall
{
    text-decoration: none;
}

/*** ---------- MEDIA QUERIES FOR MOBILE ---------- ***/


@media (max-width: 1000px){

    #ProductDetailsTable { margin-top: 20px; }

}

@media (max-width: 640px){

    #content .ButtonCart { width: 85%; font-size: 12px;}
    
    #CheckoutSigninCell1, #CheckoutSigninCell2 { width: 100%; clear: both; display: block; }
    
    #CheckoutSigninCell2 { margin-top: 10px; }
    
}


@media (max-width: 480px){

    #content h1.DetailsProductDescription { font-size: 22px;}
    
    #ProductDetailsTable {margin-top: 10px; }
    
    #ProductDetailsTableRow { display: block; }

    #ProductDetailsTableCellLeft { display: block; width: 100%; clear: both; margin-bottom: 10px; padding-right: 0;}

    #ProductDetailsTableCellRight { display: block; width: 100%;}

    .ViewCartTableHeaderText, .ViewCartTableText, .ViewCartMessagesText {font-size: 12px; }
    
    .ViewCartTable2Cell { display: block; width: 100%; clear: both; margin-bottom: 10px;}
    
    #mobilecart .Button {width: 90%; margin: 0 auto;}
    
    .photocontainer { width: 100%; margin: 0 auto;}
    
    #extraphotosmobile {display: block; }
    #photoscroller { display: none; }
    
    #checkout .form-item, #checkout .form-item-2 {float: none; margin-left: 0; width: 100%; clear: both;}
    
    #content .checkoutbutton { display: block; width: 100%; margin: 20px 0 0 0; padding: 10px 0; font-size: 16px;}
    
    #content .ButtonCart {display: block; width: 100%; margin: 20px 0 0 0; padding: 10px 0; font-size: 16px;}
    
    #content .rts-button { display: none; }
    #content .rts-link {display: block; }

}

