
.Error
{
    color:Red;
}

/*** Style file inputs for bootstrap ***/
.btn-file 
{
  position: relative;
  overflow: hidden;
}

.btn-file input[type=file] 
{
  position: absolute;
  top: 0;
  right: 0;
  min-width: 100%;
  min-height: 100%;
  font-size: 100px;
  text-align: right;
  filter: alpha(opacity=0);
  opacity: 0;
  background: red;
  cursor: inherit;
  display: block;
}

input[readonly] 
{
  background-color: white !important;
  cursor: text !important;
}

/*** End of Style file inputs for bootstrap ***/

/*** Data Tables ***/

.DataTable
{
    width:100%;
    clear:both;
}

.DataTable thead
{
    display:none;
}

table.DataTable td,
table.DataTable th 
{
    padding: 5px 0;
    vertical-align: top;
}

.DataTable td .Label
{
    display:block;
    padding: 5px 0;
}

.DataTable .StockCode
{
    display:block;
    font-size:small;
    font-weight:bold;
    line-height:24px;
}

@media screen and (max-width: 767px) 
{
    .DataTable,
    .DataTable > tbody,
    .DataTable > tbody > tr,
    .DataTable > tbody > tr > th,
    .DataTable > tbody > tr > td,
    .DataTable > tfoot,
    .DataTable > tfoot > tr,
    .DataTable > tfoot > tr > th,
    .DataTable > tfoot > tr > td
    {
        display:block;
    }
    
    .DataTable td[class*="col-"]
    {
        float:left;
    }

    
    .DataTable tr
    {
        clear:both;
    }
}

@media (min-width: 768px) 
{
       
    table.DataTable td,
    table.DataTable th,
    .DataTable tr[class*="col-"],
    .DataTable td[class*="col-"]
    {
        padding: 5px;
        vertical-align: top;
    }

    .DataTable thead
    {
        display:table-header-group;
    }
    
    .DataTable td .Label
    {
        display:none;
    }
    
    .DataTable tr[class*="col-"],
    .DataTable td[class*="col-"]
    {
        float:none;
        width:auto;
    }
    /*
    table.DataTable tr td:first-child,
    table.DataTable tr th:first-child
    {
        padding-left:0;
    }
    
    table.DataTable tr td:last-child,
    table.DataTable tr th:last-child
    {
        padding-right:0;
    }*/
}

/*** Cart Page ***/

table.CartDataTable td.Qnty input.Quantity,
table.CartDataTable td .AgentPriceOverride input
{
    text-align:center;
    max-width:60px;
}

table.CartDataTable td .AgentPriceOverride input
{
    max-width:86px;
}

table.CartDataTable td.ActionButtons .Button,
table.CartDataTable td.Qnty .Button,
table.AccountTable .Button,
.Next.AccountNext .Button
{
    width:100%;
}

table.CartDataTable tr.ProductInfoRow td.ActionButtons .Button:first-child
{
    margin-bottom:10px;
}

table.CartDataTable td.Qnty [class*="col-"]
{
    padding:0 4px;
}

table.CartDataTable td.Qnty label.Qnty
{
    text-align:right;
    line-height:34px;
}

table.CheckoutDataTable td.Qnty label.Qnty
{
    line-height:unset;
}

table.CartDataTable td.Qnty .Button
{
    height:34px;
}

table.CartDataTable td.Qnty .Button .Icon
{
    line-height:22px;
}

table.CartDataTable tr.ProductImageRow td.Image
{
    padding:0;
    text-align:center;
}

table.CartDataTable .SubTotal,
table.CartDataTable tr.TotalsRow .Price,
table.CartDataTable tr.TotalsRow .Total
{
    text-align:right;
}

.CartContainer .Promotion,
.CartContainer .Next
{
    clear:both;
    padding:10px 0;
}

.CartContainer .Next > div,
.CartContainer .Promotion > div
{
    padding:10px 0;
}


.CartContainer .Promotion,
.CartContainer .Next
{
    float:right;
}

.RemoveAll .Button
{
    min-width:112px;
}

@media screen and (max-width: 767px) 
{
    table.CartDataTable tr
    {
        clear:none;
    }
    
    table.CartDataTable tr.ProductImageRow,
    table.CartDataTable tr.TotalsRow .Total
    {
        clear:both;
        padding-left:0;
    }
    
    table.CartDataTable tr.ProductInfoRow,
    table.CartDataTable tr.TotalsRow .Price
    {
        padding-right:0;
    }
    
    table.CartDataTable tr.ProductInfoRow td,
    table.CartDataTable tr.ProductInfoRow .Name,
    table.CartDataTable tr.RemoveAllContainer,
    table.CartDataTable tr.RemoveAllContainer .RemoveAll
    {
        padding-left:0;
        padding-right:0;
    }

    table.CartDataTable .ProductInfoRow td:not(.Image){
        float:right;
    }
}

@media (min-width: 768px) 
{
    table.CartDataTable td.ActionButtons
    {
        max-width:110px;
    }
    
    table.CartDataTable td.Qnty
    {
        max-width:126px;
    }
    
    .CartContainer .Next .ContinueShoppingBtnContainer,
    .CartContainer .Promotion .PromoTxtContainer
    {
        padding-right:15px;
    }
    .CartContainer .Next .NextBtnContainer,
    .CartContainer .Promotion .PromoBtnContainer,
    .CartContainer .Next .SaveOrderBtnContainer
    {
        padding-left:15px;
    }

    .CartContainer .Next .SaveOrderBtnContainer {
        float:right;
    }
}

/*** Wizard tables ***/

table.Wizard,
table.Wizard > thead,
table.Wizard > tbody,
table.Wizard > tbody > tr,
table.Wizard > tbody > tr > td,
table.Wizard .WizardNav table,
table.Wizard .WizardNav table > tbody,
table.Wizard .WizardNav table > tbody > tr,
table.Wizard .WizardNav table > tbody > tr > td
{
    display:block;
    width:100%;/** Width and Float required for IE9 **/
    float:left;
}

table.Wizard .Sidebar table,
table.Wizard .WizardNav table,
table.Wizard .WizardNav .Button,
 table.Wizard .WizardFinalNavBtns .Button
{
    width:100%;
}

table.Wizard .Sidebar
{
    margin-bottom:15px;
}

table.Wizard .Sidebar table a
{
    display:block;
    padding:15px;
    text-align:left;
}

table.Wizard .Sidebar > a
{
    display:none;
}

table.Wizard .WizardNav .Button,
table.Wizard .WizardFinalNavBtns .Button
{
    margin-top:15px;
    margin-bottom:15px;
}

table.Wizard .WizardFinalNavBtns > div
{
    padding:0;
}

@media (min-width: 768px) 
{
    table.Wizard .WizardNav table > tbody > tr > td,
    table.Wizard .WizardNav .Button,
    table.Wizard .WizardFinalNavBtns .Button
    {
        width:50%;
        display:inline-block;
    }
    
     table.Wizard .WizardNav table > tbody > tr > td:only-child
     {
         width:100%;
         padding-right:0;
     }
     
     table.Wizard .WizardNav table > tbody > tr > td:only-child .Button
     {
         width:25%;
     }
    
    table.Wizard .WizardFinalNavBtns .Button
    {
        width:100%;
    }
    
     table.Wizard .WizardNav table > tbody > tr > td:first-child,
     table.Wizard .WizardFinalNavBtns > div:first-child
     {
         text-align:left;
     }
     
     table.Wizard .WizardNav table > tbody > tr > td:last-child,
     table.Wizard .WizardFinalNavBtns > div:last-child,
     table.PurchaserListTable td.PurchaserListButton
     {
         text-align:right;
     }
     
    table.Wizard .WizardFinalNavBtns > div
    {
        padding:0 5px;
    }
}

.NoShippingButtons .Button
{
    width:100%;
    padding-left:0;
    padding-right:0;
}

.NoShippingButtons > div
{
    padding:10px;
}

/** Tokens Table **/

.TokensTable td
{
    text-align:center;
}

.TokensTable .CardNo
{
    letter-spacing:1px;
}

.TokensTable .Buttons .Button
{
    width:100%;
}

@media (min-width: 768px) 
{
    
    .TokensTable td
    {
        text-align:left;
    }

    .TokensTable .Buttons
    {
        text-align:right;
    }
    
    .TokensTable .Buttons .Button
    {
        width:auto;
    }


}

/** End of Tokens Table **/

/*** Product List table ***/

.ProductListTable .Quantity .Next
{
    margin-top:10px;
}


@media screen and (max-width: 767px) 
{
    
    .ProductListTable tbody tr
    {
        height:100%;
        overflow:auto;
    }
    
    .ProductListTable td.Price,
    .ProductListTable td.Name
    {
        padding-left:15px;
    }
    
    .ProductListTable td.Price
    {
        text-align:right;
        float:right;
    }

    .ProductListTable td.Image
    {
        /*display:table !important;*/
        padding:0;
    }

    .ProductListTable td.Image a
    {
        /*display:table-cell;
        height:80px;*/
        text-align:center;
        vertical-align:middle;
    }
    
    .ProductListTable td.Name,
    .ProductListTable td.StockCode
    {
        line-height:40px;        
    }
}

/*** Trade Account Tables ***/

.AccountTable td.PurchaserListUsername 
{
    word-wrap: break-word;
}

.AccountTable td.AccountTableButtonContainer .Button:first-child
{
    margin-bottom:10px;
}

table.TradeOrderHistoryTable td.Qnty
{
    text-align:right;
    clear:both;
}

table.TradeOrderHistoryTable td.Qnty .Text,
table.TradeOrderHistoryTable td.Qnty .Button,
table.TradeOrderHistoryTable td.Qnty .Next
{
    width:auto;
    display:inline-block;
    vertical-align:middle;
    
}

table.TradeOrderHistoryTable td.Qnty .Label
{
    font-weight:bold;
}

.RepeatOrderButtonContainer
{
    padding:10px 0;
}

.RepeatOrderButtonContainer .Button
{
    width:100%;
}

@media (min-width: 768px) 
{
    .AccountTable
    {
        table-layout:fixed;
    }
    
    .AccountTable th.PurchaserListIsAccountManager,
    .AccountTable td.PurchaserListIsAccountManager 
    {
        text-align:center;
    }
    
    table.TradeOrderHistoryTable td.Qnty
    {
        white-space:nowrap;
    }
    
    .RepeatOrderButtonContainer .Button
    {
        width:auto;
    }

}

.Next.AccountNext
{
    padding:5px 0;
}
@media (min-width: 768px) 
{
    .Next.AccountNext .PreviousBtn
    {
        float:left;
    }
    
    .Next.AccountNext .Button
    {
        width:auto;
    }
}

/*** Form Elements ***/ 

fieldset
{
}

fieldset div
{
    padding:5px 0;
    line-height:34px;
    min-height:34px;
}

fieldset div.Recaptcha,
fieldset div.Recaptcha div
{
    line-height:normal;
}

fieldset div.Recaptcha,
fieldset div.Recaptcha div
{
    margin-right:0;
    margin-left:0;
    text-align:center;
    width:100% !important;
}

fieldset div.Recaptcha iframe
{
    max-width:100%;
}

@media (min-width: 768px) 
{
    fieldset div.Recaptcha,
    fieldset div.Recaptcha div
    {
        text-align:right;
    }
}


fieldset label
{
    display:block;
    padding:5px 0;
}

fieldset .CheckBoxContainer label
{
    width:100%;
    padding:0;
}

.CheckBoxContainer input[type="checkbox"],
.CheckBoxContainer input[type="radio"]
{
    margin-top:0;
    margin-right:15px;
    height:20px;
    width:20px;
    position:relative;
    top:6px;
}

.AgreementCheckboxContainer input[type="checkbox"],
.AgreementCheckboxContainer input[type="radio"]
{
    position: static;
}

fieldset .AgreementCheckboxContainer 
{
    margin: 10px 0;
    display: table;
    width: 100%;
}
        
fieldset .AgreementCheckboxContainer input[type="checkbox"],
fieldset .AgreementCheckboxContainer input[type="radio"]
{
    margin: 0 10px 0 0;
    display: table-cell;
    vertical-align: top;
}
    
fieldset .AgreementCheckboxContainer label
{
    font-size: 95%;
    line-height: 20px;
    height: auto;
    display: table-cell;
    vertical-align: top;
}    

fieldset .AgreementCheckboxContainer span
{
    display: table-caption;
}

.CheckoutContainer .AgreementCheckboxContainer
{
    margin: 10px 0;
    clear: left;
}

.CheckoutContainer .AgreementCheckboxContainer input[type="checkbox"],
.CheckoutContainer .AgreementCheckboxContainer input[type="radio"]
{
    float: left;
    margin: 0;
}

.CheckoutContainer .AgreementCheckboxContainer label,
.CheckoutContainer .AgreementCheckboxContainer span
{
    display: block;
    margin: 0 0 0 35px;
}

.VoucherValueCurrency
{
    position: absolute;
    left: 25px;
    width: 10px;
    line-height: 36px;
    display: block;
    height: 34px;
}

.VoucherValueField
{
    padding-left: 20px;
}

@media (min-width: 768px) 
{
    input.Small,
    select.Small
    {
        max-width:50%;
        display:inline-block;
    }
    
    fieldset div
    {
        margin-left:40%;
        position:relative;
    }

    fieldset label
    {
        width:66%;
        left:-66%;
        padding:0 10px;
        text-align:right;
        position:absolute;
        margin:0;
        line-height:34px;
    }
    
    fieldset label.MultiLine
    {
        line-height:17px;
    }
    
    fieldset .EmailConfirm label
    {
        line-height:17px;
    }
    
    fieldset label .Required
    {
        position:absolute;
        top:0;
        right:2px;
    }
    
    fieldset div.CheckBoxContainer label
    {
        position:static;
        text-align:left;
    }   
        
    .CheckoutContainer .AgreementCheckboxContainer
    {
        text-align: right;
    }

    .CheckoutContainer .AgreementCheckboxContainer input[type="checkbox"],
    .CheckoutContainer .AgreementCheckboxContainer input[type="radio"]
    {
        float: right;
    }
    
    .CheckoutContainer .AgreementCheckboxContainer label,
    .CheckoutContainer .AgreementCheckboxContainer span
    {
        margin: 0 35px 0 0;
    }
        
    .TwinColumn > div
    {
        padding: 0 0 0 15px;
    }
    .TwinColumn > div:first-child
    {
        padding: 0 15px 0 0;
    }
    
    .SingleColumn
    {
        margin:0 auto;
        float:none;
        padding:0;
    }
    
    .VoucherValueCurrency
    {
        left: 10px;
    }
}

/*** Top Products ***/

.TopProductsSort label
{
    line-height:36px;
}

@media (min-width: 768px) 
{
    .TopProductsSort label,
    .TopProductsSort select
    {
        display:inline-block;
        max-width:50%
    }
    
    .TopProductsSort label
    {
        padding-right:15px;
    }
    
    .TopProductsSort > div
    {
        padding-left:0;
    }
}

/*** End of Top Products ***/

/*** Product Page Buy Box ***/

 fieldset div.QuantityBox input.Quantity,
 .Quantity input.Quantity
 {
     max-width:50%;
     text-align:center;
     display:inline-block;
     vertical-align:middle;
 }
 
 fieldset div.QuantityBox .Stock,
 .Quantity .Stock
 {
     width:50%;
     line-height:34px;
 }

/*** Quick Order ***/

#QuickOrderForm div,
#QuickOrderForm p,
#QuickOrderForm label
{
    padding:5px;
}

#QuickOrderForm label
{
    text-align:right;
}

#QuickOrderForm input.Quantity
{
    text-align:center;
}

/*** Account Pages ***/

ul.AccountPageLinks
{
    list-style:none;
    margin:0;
    padding:0;
}

ul.AccountPageLinks li
{
    padding:5px 0;
}

ul.AccountPageLinks li .Icon
{
    margin-right:6px;
    width:20px;
}


.InvoiceSearch
{
    padding:0;
}

.InvoiceSearch > div
{
    padding:10px 0;
}

.InvoiceSearch .Button,
.InvoicePaymentAmount .Button,
.InvoicePaymentAmount input.Text,
.InvoicePaymentBtn input.Button
{
    width:100%;
}

.InvoicePaymentAmount input.Text
{
    margin-bottom:10px;
}

.InvoicePaymentBtn
{
    padding:5px 0;
}

@media (min-width: 768px) 
{
    .InvoiceSearch > div
    {
        padding:10px 15px 10px 0;
    }
    
    .InvoicePaymentBtn
    {
        padding:5px 15px;
    }
    
    .InvoicePaymentBtn input.Button
    {
        width:auto;
    }
}

@media (min-width: 992px) 
{
    .InvoicePaymentAmount .Button,
    .InvoicePaymentAmount input.Text
    {
        margin:0;
        display:inline-block;
        vertical-align:middle;
    }
    
    .InvoicePaymentAmount input.Text
    {
        width:60%;
    }
    
    .InvoicePaymentAmount .Button
    {
        width:35%;
        margin-left:5%;
    }
    
}

/*** End of Account Pages ***/

/*** Login Form ***/

.LoginBoxContainer
{
    margin-bottom:15px;
}

/*** End of Login Form***/

/*** Write in Products ***/

.WriteInProductForm
{
    margin-bottom:10px;
}

.WriteInProductForm .Button
{
    width:100%;
}

/*** End of Write in Products ***/

/*** Checkout Register Form ***/

@media (min-width: 992px) 
{
    .CheckoutRegister
    {
        float:right;
    }

}

/*** End of Checkout Register Form ***/

/*** Quote Request Form ***/

.RequestQuoteForm .ProductOptions,
.RequestQuoteForm .ProductOptions > div
{
    margin:0;
    padding:0;
}

/*** End of Quote Request Form ***/

/*** Product Filtering ***/

.FilterGroupWrapper .Loading
{
    display:none;
    position:absolute;
    top:0;
    left:0;
    width:100%;
    z-index:1;
    height:100%;
    background:rgba(255,255,255,0.8);
}

.FilterGroupWrapper .Loading img
{
    position:absolute;
    top:0;
    right:0;
    bottom:0;
    left:0;
    margin:auto;
}

/*** End of Product Filtering ***/

/*** Dealer Search ***/

.DealerSearch 
{
    padding: 0 0 65%;
    position: relative;
}
        
.DealerMapWrapper 
{
    position: absolute;
    top: 0;
    right: 0;
    bottom: 0;
    left: 0;
    z-index: 5;
}

.DealerMapWrapper iframe 
{
    width: 100%;
    border: none;
    height: 100%;
}
        
.DealerSearchWraper 
{
    position: absolute;
    background: rgba(0,0,0,0.4) url(data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAAMAAAACCAYAAACddGYaAAAAD0lEQVQIW2NkQABjRmQOAAM+AGkQsDBSAAAAAElFTkSuQmCC) repeat;
    z-index: 10;
    transition: all 1s ease-in-out 0s;
    -webkit-transition: all 1s ease-in-out 0s;
    top: 0;
    right: 0;
    bottom: 0;
    left: 0;
}
        
.DealerSearchWraper.Close 
{
    background: transparent;
    transition: all 1s ease-in-out 0s;
    -webkit-transition: all 1s ease-in-out 0s;
    z-index: 1;
}
        
.DealerSearchBar 
{
    position: absolute;
    top: 50%;
    left: 50%;
    padding: 18px;
    transform: translate(-50%,-50%);
    background: #333;
    width: 90%;
}
        
.DealerSearchBar input.Text
{
    float: left;
    width: 80%;
    border: none;
}

.DealerSearchBar .btn
{
    float: right;
    width: 18%;
}
        
.DealerSearchBar h3 
{
    margin: 0 0 20px;
    color: #fff;
}

.DealerSearchBar.ResultsLoading 
{
    background-image: url(../../images/ajax-loader-dealer.gif);
    background-repeat: no-repeat;
    background-position: center center;
}

.DealerSearchBar.ResultsLoading > *
{
    visibility: hidden;
}

.DealerSearchBar.ResultsLoading.FindLocation:before
{
    content: "Determining location...";
    display: block !important;
    visibility: visible !important;
    color: #fff;
    text-align: center;
}

.DealerSearchBar.ResultsLoading.FindLocation.LocationFound:before
{
    content: "Location found, loading results...";
}

.DealerSearchBar.ResultsLoading.FindLocation.FindLocationFailed:before
{
    content: "Detect location failed, enter manually...";
}

@media(max-width: 767px)
{
    .DealerSearchBar h3 
    {
        font-size: 120%;
    }
}

@media(min-width: 768px)
{
    .DealerSearchBar
    {
        width: auto;
        padding: 18px 28px;
    }
}

/*** End Dealer Search ***/