﻿/*******************************************************************************************************************/
/************************************** THIS IS A SITEBUILDER SYSTEM FILE ******************************************/
/************************** OVERRIDING THESE STYLES MAY RESULT IN LOSS OF FUNCTIONALITY ****************************/
/************** ANY ISSUES RESULTING FROM OVERRIDING THESE STYLES ARE NOT COVERED BY ESSENT SUPPORT ****************/
/*******************************************************************************************************************/

/* Reset and intialize */
body, div, span, object, iframe, p, ul, ol, li, a, blockquote, button, table, thead, tbody, tr, th, td, h1, h2, h3, h4, h5, h6, 
p, pre, abbr, acronym, big, cite, code, dfn, em, img, ins, strong, menu, nav, article, header, footer{
    margin:0; padding: 0;  border:0 none; text-decoration: none;
}

body { line-height:1.4em; font-family:inherit;font-size:12px;}
h1, h2, h3, h4, h5, h6, th { font-weight: 500; line-height: 1.4em; }

body, div,span, table,tr,td,th{ -moz-box-sizing: border-box; -webkit-box-sizing: border-box; box-sizing: border-box; }

input,select,textarea { margin:0; padding: 2px; font-size:100%; line-height:1.7em; font:inherit; vertical-align:middle; font-weight:normal; background-color:white; }
input[type=image], button { padding: 0; cursor:pointer; background:transparent; color:inherit; }
input[type=image]:disabled, button:disabled { cursor:default }
button img { display:block; }
ol, ul { list-style-type:none; }
table { border-collapse:collapse; border-spacing:0; }
table, thead, tbody, tfoot, tr, th, td, table caption { font-size: inherit; font-family:inherit; line-height:inherit; color:inherit }

/* set up the three-column layout */
.ZoneBoxHolder { text-align: left; display:table; }
.headerZone, .footerZone { clear:both !important;  }
.colZoneContainer { width:100%; display:table !important; table-layout:fixed;}
.colZoneContainer > div { display:table-row; }
.leftColZone, .contentZone, .rightColZone { display:table-cell !important; vertical-align:top;}

/* On small screens, the Zones should expand to 100% and stack vertically */
@media only screen and (max-width:650px) {
    #FormControls .ZoneBoxHolder { width: 100% !important; overflow:hidden; display:block; }
    #FormControls .colZoneContainer { width:100% !important; display: block!important; table-layout:initial;}
    #FormControls .leftColZone, #FormControls .contentZone, #FormControls .rightColZone { display: block !important; width:100% !important; }
    #FormControls .headerZone, #FormControls .footerZone { display: block !important; width:100% !important; }
}

input[type=radio]+label,input[type=checkbox]+label { vertical-align: middle; margin-left: 0.2em; }

.HiddenField{ display: none;}
.centeredContent { text-align:center; }
table.centeredContent { margin-left: auto; margin-right: auto; }
table.centeredContent td, table.centeredContent tbody, table.centeredContent thead { text-align:left; }

/* general table */
th { font-weight: bold; }
table.FullWidth { width:100%; }
table.FullWidth .labelCell { text-align:right; padding-right:0.2em; }
@media only screen and (max-width:650px) {
    table.FullWidth .labelCell { text-align:left; padding-bottom: 0; padding-right:0; }
    table.FullWidth.adaptive,table.FullWidth.adaptive tbody, table.FullWidth.adaptive tr, table.FullWidth.adaptive td,     
    table.FullWidth.adaptive caption, table.FullWidth.adaptive th{ display: block; width:100% !important;}
}

/* generic widget spacing */
.widgetWrapper { margin-bottom:0.5em; }

/* Pricing Styles */
.ListPriceOnSale{ color:inherit; text-decoration:line-through;}
.SalePrice{ color:Red; text-decoration:none;}
.priceCode { font-size: smaller;}
.itemActivePricing + .priceCode { margin-left: 0.5em }

.PriceTable{ border-collapse:collapse; width:auto; }
.PriceTable > tbody > tr > td { border: 1px solid #CCCCCC; line-height:1.75em; white-space:nowrap; text-align:center; padding:3px; font-variant-numeric:lining-nums tabular-nums; }
.PriceTable.LeftJustify { margin-left:0; margin-right:auto; }
.PriceTable.RightJustify { margin-left:auto; margin-right:0;}
.PriceTable tr td.spacer {border-width:0; border-style:none; }
.PriceTable .priceCode { font-variant-numeric:initial; border-width:0; border-style:none; font-variant-numeric:initial; }

/* warning message */
.warnMessage { display:block; position:sticky; padding:0.5em 0.3em; left:0; right:0; top:0; text-align:center; 
               box-shadow: 1px 1px 3px #333; background-color:white; color:#333; z-index: 1000; }

/* Please Wait and Lockscreen Overlay Styles */
.lockScreen{  background-color: rgba(220,220,220,0.95); display:none; position:initial; }
.overlayOn .lockScreen { display:block !important;}  /* IE < 11 FIX */
.overlayOn .lockScreen { display:flex !important; justify-content:center; align-items:center; position:fixed !important; 
    bottom:0 !important; left:0 !important; right:0 !important; top:0 !important; z-index:300000 !important;}

.sessionWarning { display:flex; justify-content:center; align-items:center; z-index:300000 !important;}
.PleaseWait .pwContent, .sessionWarning .pwContent { margin:1em; text-align:center; color: #777; text-shadow: 1px 1px 0 #fff; }
.PleaseWait .pwContent .waitMessage, .sessionWarning .waitMessage { font-size:xx-large; margin:0; line-height:1.8em;}
.PleaseWait .pwContent .secondaryMessage { margin-top: 0.6em; font-size:larger; }

@keyframes waitAnim { from { transform: rotate(0deg); } to { transform: rotate(359deg); } }
.PleaseWait .pwContent .spinner { display:block; margin:0 auto 10px auto; height:70px;  width:70px; border-radius:50px; 
    -moz-box-sizing: content-box; -webkit-box-sizing: content-box; box-sizing: content-box;
    border-width:10px; border-style:solid; border-top-color: #777; border-right-color: rgba(252,252,252,0.4); 
    border-bottom-color: rgba(252,252,252,0.4); border-left-color: rgba(252,252,252,0.4);
    animation-name: waitAnim; animation-duration:1400ms; animation-iteration-count:infinite; animation-timing-function: ease-in-out;
}

.DefaultPopup{ border-style:solid; border-width:1px; border-color:inherit; background-color:inherit; }

.LoginLinks .loginMessage::before { content: '-\00A0\00A0'; }
.LoginLinks .loginMessage::after { content: '\00A0\00A0-'; }

/* Style settings for Image Gallery*/
.ImageGalleryPopup{ border:1px solid black; height:auto; width:auto; position:absolute; z-index:1500; text-align:center; }
.ImageGalleryPopup .PanelHeader::after { content:''; display:block; clear:both; height:0px; }
.ImageGalleryPopup .PanelHeader > img { float:right; }
.ImageGalleryPopup .PanelHeader > span { float:left; }
.GalleryControls { background-color:#ECECEC;border-top:1px solid #CACACA;border-bottom:1px solid #CACACA;}
.GalleryControls img { padding:3px; cursor:pointer;}
.GalleryThumbnails { padding-bottom:20px;overflow-x:auto; overflow-y:hidden; display:block; }
.GalleryThumbnailWrapper { padding: 5px; }
.StandardProductImage { max-width:100%; cursor:pointer;}
.zoomContainer { display: inline-block; margin:0 auto; padding:0; position:relative; cursor:auto; margin:3px;}
.zoomWindow { display:none; border-color:inherit; border-style:solid; border-width:0 0 1px 1px; background-color:#FFFFFF; 
              overflow:hidden; position:absolute; top:0; right:0;}
.zoomContainer.active .zoomWindow { display:block; }
.zoomContainer.active { cursor:zoom-in; }
.zoomWindow .zoomImage { position:absolute; }
.viewMore { cursor:pointer; }

.ProductImageGallery { text-align:center; }
.ProductImageGallery .viewMore { display:block;margin: 0.5em auto; }
.ProductImageGallery .closeGallery { padding:4px; white-space:nowrap; }

.ProductImageGallery .thumbRow { display:table-row; }
.ProductImageGallery .thumbRow > span { display:table-cell}


/* Product List Widgets */
.SearchTable { width:100%; }
.SearchTable td { vertical-align:top; }
.SearchTable.CenterAlign, .ProductListing.CenterAlign { text-align:center; }
.SearchTable.LeftAlign, .ProductListing.LeftAlign { text-align:left; }
.SearchTable.RightAlign, .SearchTable.ProductListing { text-align:right; }
.SearchTable.OrderForm td { vertical-align:middle; text-align:left; }
.SearchTable.OrderForm td.ProductQuantity, .SearchTable.OrderForm td.ProductAvailQty { text-align:center; }

.SearchTable td.ProductViewLarger { text-align:center; }
.SearchTable td.ProductThumbnail { text-align:center; }

table.SortOrders { width:100%; }
.SortOrders td { padding: 0 0.2em; }
.SortOrders td:last-child { padding-right:0; }

.scroller { vertical-align:middle; }
.scroller.active { display:inline-block; overflow:hidden; }
.scrollBack, .scrollForward { vertical-align:middle; }
.scrollBack { margin: 0; }
.scrollForward { margin: 0; }

.ResultStatistics { display:table; width:100%; }
.ResultStatistics > div { display:table-row; }
.ResultStatistics > div > span { display:table-cell; padding:2px; text-align:left; }
.ResultStatistics > div > span.FormLabel { text-align:right;}

/*responsive sort orders*/
div.SortOrders { display: flex; width: 100%; flex-direction: row; justify-content: space-between;align-items: center; padding:0.3em;}
div.SortOrders.SelectSort { justify-content:flex-start; }
div.SortOrders.SelectSort > select { margin-left:1em; }


/* new responsive product list */
.ProductResultEntry { display:flex; flex-direction:row; align-items:flex-start; padding:0.5em; }
.ProductResultEntry .ItemImageDetail { flex-basis:30%; text-align:center; }
.ProductResultEntry .ProductImage { display:block; text-align:center; }
.ProductResultEntry .ProductImage > img { max-width:100%; display:inline-block;  }
.ProductResultEntry .ProductButtons { text-align:center; vertical-align:baseline; }
.ProductResultEntry .ProductResultDetails { flex-basis:70%; }

.infoRight .ProductResultEntry .ProductResultDetails { padding-left:1em; }

.infoLeft .ItemImageDetail { order:2; }
.infoLeft .ProductResultEntry .ProductResultDetails { order:1; padding-right:1em; }

.infoBottom .ProductResultEntry { display:block; }
.infoBottom .ProductResultEntry > * { flex-basis:auto; }
.infoBottom .ProductButtons { text-align:inherit;  }

.ProductListing.multiEntryRow, .CategoryList, .ProductGroupList, .SubCategoryList { display:flex; flex-direction:row; align-items:stretch; flex-wrap:wrap; }

.scroller .ProductListing { display:table-row; table-layout:fixed; }
.scroller .ProductListing .ProductResultEntry { display:table-cell; }
.scroller .ProductListing .ProductResultEntry img.thumbnail { width:auto; max-width:none; }

/* Image swap category list*/
.ImageSwapNav { display:flex; flex-direction:row;}
.CatalogSwapImage { width:60%; display:inline-flex; flex-direction:column; align-items:center; justify-content:center; }
.CatalogSwapImage > img { max-width:100%; max-height:100%; }
nav.SwapLinkNav { display: inline-flex; flex-direction: column; width: 40%; padding-left: 1em; 
                  align-items: stretch; justify-content: space-between; }

.DescShowMore { display:block; text-align:right; }
.ExpandingDesc { overflow:hidden; }

/* thumbnail categories */
.CategoryMainImage { display:block; margin:1em auto; }
.CategoryResultEntry, .ProductGroupResultEntry, .SubCategoryResultEntry { text-align:center; padding:1em; display:inline-flex; 
    flex-direction:column; justify-content:space-between; width:100%; }
.CategoryResultEntry > a, .ProductGroupResultEntry > a, .SubCategoryResultEntry > a { display:block; }
.CategoryResultEntry > a img, .ProductGroupResultEntry > a img, .SubCategoryResultEntry > a img { max-width:100%; }

@media only screen and (max-width:650px) {
    .ResultStatistics, .ResultStatistics > div { display: block; }
    .ResultStatistics > div > span { display:inline-block; width:49%; }
    .ProductListing.multiEntryRow .ProductResultEntry, div.CategoryList .CategoryResultEntry { width:100%; }
}

/*search inputs*/
.FinderBox { width:100%; box-sizing:border-box; display:flex; text-align:right; align-items:center; margin:0.2em 0; }
.FinderBox > input[type=image] { margin-left:0.1em; flex-grow: 0 }
.searchFilterOptions{font-size:xx-small;}

/*force all information in a table cell to display nonbreaking*/
td .DisplayOneLine{white-space:nowrap;}

/*Form field settings*/
.FormFieldCell{text-align:left;}

.DefaultFormField{width:150px;}

/*end form field settings*/

.link, img.button{cursor:pointer;}

.spacer{padding:5px;}

/* sort order*/
.SortOrderInactive img{float:right;}
.SortOrderActive img{float:right;}
.SortOrderActive{cursor:pointer;}
.SortOrderInactive{cursor:pointer;}

/* split headers */
.splitHeader { display:flex; flex-direction:row; justify-content:space-between; align-items:center; }
.splitHeader > * { text-align:center;}
.splitHeader > :first-child { text-align:left; }
.splitHeader > :last-child { text-align:right; }

.splitHeader .filters { display:inline-flex; justify-content:space-between; align-items:center; min-width:50%;}
.splitHeader .filters span { margin:0 0.5em; white-space:nowrap }
.splitHeader .filters select, .splitHeader .filters input[type=text] { min-width:150px; }

@media only screen and (max-width:650px) {
    .splitHeader { display:block;}
    .splitHeader > * { margin: 0.5em 0; }
    .splitHeader > :first-child { margin-top:0; }
    .splitHeader > :last-child { margin-bottom:0; }

    .splitHeader .filters { display:block; width:auto; }
    .splitHeader .filters span { margin:0; }
}


/*looks like regular text but is actually a field for forms like order form matrix*/
.DisplayTextBox, input.DisplayTextBox[type="text"]{
    border-style:none !important;
    border-width: 0px !important;
    background-color:Transparent !important;
    text-align:right !important;
    font-size:inherit !important;
    color:inherit !important;
    font-family: inherit !important;
    -moz-box-shadow: none !important;
    -webkit-box-shadow: none !important;
    box-shadow: none  !important;
    height: auto !important;
    -webkit-border-radius: 0px !important;
    -moz-border-radius: 0px  !important;
    border-radius: 0px !important;
}

.SubTotalDisplayTextBox, input.SubTotalDisplayTextBox[type="text"]{
    background-color:Transparent !important;
    text-align:right !important;
    font-size:inherit !important;
    color:inherit !important;
    border-top: solid 1px !important;
    border-left: none 0px !important;
    border-right: none 0px !important;
    border-bottom: none 0px  !important;
    font-family:inherit !important;
    -webkit-border-radius: 0px !important;
    -moz-border-radius: 0px  !important;
    border-radius: 0px !important;
    -moz-box-shadow: none !important;
    -webkit-box-shadow: none !important;
    box-shadow: none  !important;
}


/*padding for section headers*/
.PanelHeader{  padding: 0.3em 0; vertical-align:middle; text-align:left; }
span.PanelHeader { display:block; }

/*padding for footer panel*/
.PanelFooter{ padding-bottom:5px; padding-top:5px; text-align:right; }

/* align mixed groups of buttons */
.PanelFooter input[type=image], .PanelFooter button, .PanelFooter a, 
.SearchTable .Buttons a, .SearchTable .Buttons input[type=image],
.ProductListing .ProductButtons > * { vertical-align:baseline; display:inline-block; margin-left:0.2em;}

.PanelFooter input:first-child[type=image], .PanelFooter button:first-child, .PanelFooter a:first-child,
.SearchTable .Buttons a:first-child, .SearchTable .Buttons input:first-child[type=image],
.ProductListing .ProductButtons > *:first-child { margin-left: 0; }

/*style for form labels*/
.FormLabel{ font-weight:bold;}
.FormDisplayLabel{color:gray;}

/* Fix to prevent dragging textareas under columns*/
textarea{resize:vertical}

/*Surveys*/
div.QuestionDiv { border-bottom: 1px solid #CCCCCC; padding:0.2em;}
div.QuestionDiv.LastQuestion { border-bottom: 3px solid #999999; }
div.QuestionDiv.LastQuestion:last-child { border-bottom: none; }


/*style for groups of radio buttons that use radio button list */
.GroupedRadioList{ border-style:solid; border-width:1px;}
.GroupedRadioList td{padding-left:7px;}

/*styles for displaying radio button options in a nicely formatted table */
.radioTable { display:table; }
.radioTable > div.header { font-weight:bold; }
.radioTable > div { display:table-row; }
.radioTable > div > * { display:table-cell; padding: 0.3em 0.4em; vertical-align:middle; }
.radioTable > div.header > * { padding-bottom: 0; }
.radioTable > div > .radioInput { text-align:center; }
.radioTable > div > input[type=radio] { display:inline-block; vertical-align:middle; }

/* Product Pricing */
.ProductPriceDetails, .ProductFooterInfo { display:flex; width:100%; flex-direction:row; justify-content:space-between; align-items:center; padding:0.2em 0; }
.ProductPriceDetails input.DisplayTextBox{ text-align:right; width:30%; }
.ProductPriceDetails input[type=text] { text-align:right;font-variant-numeric:lining-nums tabular-nums; }

.autoWidthPricing .ProductPriceDetails { width:70%; margin:0 auto; display:flex;  }
.autoWidthPricing .ProductPriceDetails > *:first-child { margin-right:0.2em;}
.autoWidthPricing .ProductPriceDetails > *:last-child { margin-left:0.2em; }

.ProductTotalSubsection.horizontalRow { display:flex; flex-direction:row;justify-content: space-between; vertical-align: bottom;}
.horizontalRow .ProductPriceDetails { flex-direction: column; justify-content: flex-end; padding:0 1px; }
.horizontalRow .ProductPriceDetails label { border-bottom: 1px solid; width: 100%; margin-bottom: 0.2em; font-size: 90%; }
.horizontalRow .ProductPriceDetails input[type=text] { text-align:center; width:100%; }
.horizontalRow .ProductPriceDetails input.DisplayTextBox[type=text] { text-align:center !important; border:1px solid transparent !important; }

/*styles for system error--these are locked colors*/
.errImage{ padding: 5px; float:left; }

.errBlock{
    padding:5px; border-color:Red; background-color:White; color:Black; border-width:thin; border-style:solid; overflow:auto;
    text-align:left; line-height:1.5em; margin:5px;
}
.errBlock::after { content:' '; display:block; height:0px; clear:both;}

.errBlock p { margin:0.5em 0;}
.errBlock a, .errBlock a:active, .errBlock a:visited, .errBlock a:hover { color:Blue; text-decoration: underline;}

.errMsgDialog img{ vertical-align:middle; }
.errMsgDialog h6{ display: inline; vertical-align: middle; margin: 0.1em 0; }
.errMsgDialog .PanelFooter img { cursor: pointer; }


/* On small screens, the survey questions and their inputs should stack vertically */
@media only screen and (max-width:650px) {
    .QuestionDiv > table, .QuestionDiv > table tbody, .QuestionDiv > table tr { display: block; }
    .QuestionDiv > table td { display: block; width:100% !important; }
    .QuestionDiv > table td input[type=text], .QuestionDiv > table td select { width: 100% !important;}
    .QuestionDiv > table td .radioWrapper { display:inline-block !important; padding-right : 0.5em; }
}


/*Product Matrix*/
.MatrixSelectors {margin: 0 auto;}
.MatrixSelectors { display: table; border-collapse:separate; border-spacing:3px; }

.MatrixPropertySelector { display: table-row; padding: 0.2em;  }
.MatrixPropertySelector > * { display: table-cell; text-align: left; vertical-align: middle; line-height:1.8em; }
.MatrixPropertySelector > label { padding-right:0.5em; }
.MatrixPropertySelector > span:last-child { padding-left: 0.5em; }

.OrderFormWrapper { display:inline-block; clear:both; margin: 0 auto; }
.MatrixOrderForm { display: table; margin: 0 0 0 auto; }
.MatrixOrderForm > div { display:table-row; }
.MatrixOrderForm > div > span { display: table-cell; padding: 0.1em 0.2em; vertical-align:middle; }
.MatrixOrderForm .OrderFormHeaderRow span { text-align: center; vertical-align: bottom; font-weight: 600; }
.MatrixOrderForm > div > span.numeric { text-align:right; }
.MatrixOrderForm .orderFormItemTotal { width: 6em; }
.OrderFormWrapper .totalRow { margin-left: auto; margin-right: 0; display:flex; justify-content:flex-end; align-items:baseline; }
.OrderFormWrapper .matrixTotal { width: 6em; }

/*Cart and table styles*/
.CartTable{ width:100%; border-collapse:collapse; }
.CartTable th { overflow:hidden; padding:0.1em 0.6em; vertical-align:bottom; }
.CartTable td { overflow:hidden; padding:0.3em 0.6em; }
.CartTable td.shipping{ border-left-style:none; border-right-style:none;}
.CartTable .actionRow td{ border-top:none; text-align:right;}
.CartTable .infoRow td{ border-bottom:none;}
.MatrixPropertiesDisplay td:nth-child(even) {text-align:right;}

.CartTable .RowActions:last-child { text-align:right; }
	
/*Search Results styles*/
.SearchTable .Thumbnail{vertical-align:top;}
.SearchTable .Buttons{ margin-bottom:10px; text-align:center; }

/* pagination display */
.Pagination { vertical-align: middle; text-align:center; margin:0; margin-top:0.2em; line-height:normal; }
.Pagination a, .Pagination span { vertical-align:middle; display:inline-block; line-height:normal; }
.PageLinks { margin-right:3px; margin-left:3px; vertical-align:middle; }
.PageLinks:first-child { margin-left: 0; }
.Pagination a img, .Pagination .PreviousPage, .Pagination .NextPage { display: inline; vertical-align:middle; }

.ResultStats { display: table; width:100%; margin: 0.3em 0; }
.ResultStats > div { display:table-row;}
.ResultStats span { display:table-cell; margin:0; padding: 0 0.2em; width:25%; }
.ResultStats span.DisplayLabel { text-align:left; }
.ResultStats span.FormLabel { text-align: right; }

.template {display: none;}    
 
.dropCue{border:dashed 1px #ff0000; margin-bottom:5px;}

body #Form1 #FormControls .ZoneBoxHolder div.sbLock  {
    position:fixed !important; top:0 !important; bottom:0 !important; left:0 !important; right:0 !important; z-index:150000 !important; 
    background-color: rgba(220,220,220,0.95);
}
body.sbLock { height:100%; overflow:hidden; }

/*height and width are an IE6/IE7 hack */
.rssIcon{padding:2px;}
.rssLink{height:20px;width:20px;}

.checkBoxMenu{border:1px #CCCCCC inset;}

/*Treeview Navigation */
.tvOuterContainer > li > span:first-child { vertical-align:top; }
.tvParentListInactive{
	list-style-position:inside;  cursor:pointer; padding-left:0; margin-left:0; list-style-type:disc;
	list-style-image:url("../Images/contracted.gif");}
.tvParentListActive{
	list-style-position:inside;  cursor:pointer; padding-left:0; margin-left:0; list-style-type:disc;
	list-style-image:url("../Images/expanded.gif");}


/* default padding for all form fields */
.formField { padding: 0.3em 0.2em; font-weight:normal; text-decoration:none; font-variant:normal; font-style:normal; }

select, input, textarea, option{font-family:inherit; font-size:inherit; box-sizing:border-box; -webkit-box-sizing:border-box; -moz-box-sizing:border-box;}
.stdDropdown, .stdText{width:150px}
.fontText, .fontDropdown{width:125px}
.titleText{width:350px}
.smallText{width:100px}
.positionDropdown{width:50px}
.tinyText{width:50px}
.medText{width:80px}
.addressText{width:375px}
.cityText{width:200px}
.passwordText{width:190px}
.nameText{width:160px}
.settingDropdown, .settingText, .FinderBox.setting{width:250px}
.largeText, .largeDropdown{width:300px}
.xlargeText, .xlargeDropdown{width:400px}
.compactInput{width:100%;}

.FormattedDropdown, .formField.FormattedDropdown { font-family:Consolas, Monaco, Courier, monospace; }

/* used to denote numeric and currency columns and inputs */ 
.numeric, .currency, .date { text-align:right; font-variant-numeric:lining-nums tabular-nums; }

.reportFilter { width:200px; }

tr[disabled] { color: #999999 !important; border-color:#999999 !important; }
.formField[disabled] { color: #999999 !important; border-color: #999999 !important; background-color: #ECECEC; background-image: none; }
.CurrencyInput { text-align: right; }

.ExpanderRow{display:none}

/* Widget Skinning */
div.topBorder { width:auto; overflow:hidden; }
.skinBody {border: solid transparent;}
/*Address*/
.DefaultBill, .DefaultShip{display:none;}
.AddressDelete, .AddressEdit{cursor:pointer;}
.AddressDelete {margin-right:3px;}

.SubTotalLine{border-top-style:solid;border-top-width:1px; border-top-color:inherit;}

.shipViaList { width:100%; border-collapse: collapse; }
.shipViaList td { padding: 0.1em; }

/* Shopping Cart */
.subSectionTop, .subSectionTop td{border-top-width: 1px; border-top-color:#CACACA;}
.subSectionLeft, .subSectionLeft td{border-left-width: 1px; border-left-color:#CACACA;}
.subSectionBottom, .subSectionBottom td{border-bottom-width: 1px; border-bottom-color: #CACACA;}
.subSectionRight, .subSectionRight td{border-right-width: 1px; border-right-color: #CACACA;}

.SurveyResultDisplay { width:100%; }
.SurveyResultDisplay td { line-height:1.3em; }
.SurveyResultDisplay.compact td { border-style:none; text-align:left;}
.SurveyResultDisplay td:nth-child(even) {text-align:right;}

.QuickAddForm { margin:0 0 0 auto; }
.QuickAddForm td { padding: 0.1em 0.2em; }

@media only screen and (max-width:650px) {
    .SurveyResultDisplay, .SurveyResultDisplay tbody, .SurveyResultDisplay tr, .SurveyResultDisplay td {display:block; 
        -moz-box-sizing: border-box; -webkit-box-sizing: border-box; box-sizing: border-box; }
}

/* confirmation + receipt */
.ReceiptHeader { width: 100%; }
.ReceiptHeader td { vertical-align:top; width:50%; text-align:left; position:relative;}
.orderNumberFailMsg { margin:0.5em; text-align:center; }
.ReceiptHeader .statusCritical .DisplayLabel { text-decoration: line-through; }
@media only screen and (max-width:650px) {
    .ReceiptHeader, .ReceiptHeader tbody, .ReceiptHeader tr, .ReceiptHeader td { display:block; width:100%;}
}

/* login widget */
.loginWidget .loginSection { width: 50%; padding:3px; float:left}
.loginWidget.SSOActive .loginSection { width:33%; }
.loginWidget .loginSection .FullWidth td { padding-bottom:6px; }
@media only screen and (max-width:650px) { .loginWidget .loginSection, .loginWidget.SSOActive .loginSection  { width:100%; float: none; } }

/* Search Inputs */
.searchWrapper { display:flex; width:100%; justify-content:space-between; align-items:center; }
.searchWrapper .compactInput { flex-shrink:1; max-width: 85%; }
.searchWrapper input[type=image] { flex-grow:0; flex-shrink:0; margin-left:2%; max-width:13% }
.searchBlogSelector { display:flex; width:100%; justify-content:flex-start;  align-items:center;  }
.searchBlogSelector > span + span { padding-left:1em; }

.searchWrapper.innerButton { display: block; position:relative; }
.searchWrapper.innerButton .compactInput { max-width:100%; width:100%; }
.searchWrapper.innerButton input[type=image] { margin-left:0; position:absolute; right:2px; top:0px; padding: 5px 0; }

/* color swatches */
.swatch{ border: 1px solid; border-color: inherit; 
         -moz-box-sizing: content-box; -webkit-box-sizing: content-box; box-sizing: content-box;}

 table.swatchContainer { width:100%; }
table.swatchContainer.bottomLabel td { vertical-align:top; }        
.swatchContainer.topLabel td { vertical-align:bottom; }
.swatchContainer.bottomLabel .swatchWrapper, table.swatchContainer.topLabel .swatchWrapper { text-align:center; }        
.swatchWrapper { padding:5px; }        
.swatchWrapper.swatchFloat { float:left; }        
.leftLabel .swatchWrapper > *, .rightLabel .swatchWrapper > * { display: inline-block; }
table.swatchContainer.topLabel .swatchWrapper > *, table.swatchContainer.bottomLabel .swatchWrapper > * { display: block; margin: 0 auto;}        
.leftLabel .swatchWrapper { text-align:right;}
.leftLabel .swatchWrapper .swatch { margin-left: 5px; }        
.rightLabel .swatchWrapper { text-align:left;}
.rightLabel .swatchWrapper .swatch { margin-right: 5px; }        
.topLabel .swatchFloat .swatchLabel, .bottomLabel .swatchFloat .swatchLabel { line-height:1.25em; height:2.5em }

/* Filters */
.searchFilterList, .searchFilterList ul { list-style-type:none; }
ul.searchFilterList { padding: 0;  }
.searchFilterItem > * { display:inline-block; vertical-align:middle; }
.searchFilterItem .swatch { display:inline-block; vertical-align:middle; margin-right:0.2em; margin-top:0.2em; }

/*blog navigation */
table.blogNavList tr td:last-child{padding-left:5px}
table.blogNavList img {padding-bottom:10px}
table.blogNavList td.thumbnail{text-align:center;vertical-align:middle;}

.blogComment { margin-bottom:0.7em; }

.SlideshowContent { width:100%; }
.SlideshowContent { display:block; position:relative; margin:0 auto; width:100%; overflow:hidden; }
.SlideshowContent > a { display: block; position:absolute; width:100%; box-sizing:border-box; }
.SlideshowContent > a img { max-width:100%; display:block;  }

.SlideshowNav {min-height:1.7em; width:100%; position:absolute; z-index:10; }
.SlideshowNav > img { margin: 0 5px; cursor:pointer; }
.slideToggle { display:inline; padding: 5px; border-radius: 5px; margin: 0 5px; color:inherit; background-color:transparent; }

.linkList { margin-top: 5px; margin-bottom: 5px; }

/* Ratings and Reviews */
.ratingBlock { overflow:hidden; white-space:nowrap; vertical-align:middle;}
.ratingBlock span { position:absolute; left: -5em; }
.ratingBlock image { vertical-align: middle;}

.ReviewBreakdownBar { border:1px solid; display:block; margin:0.1em 0.3em; }
.ReviewBreakdownBar > div { padding:0; min-height:1em; }

.ReviewerInfo { vertical-align:top; }
table.ProductReviewContainer { width:100%; border-collapse:collapse; }
.ReviewComments { padding: 0.3em 0; clear:both;}
div.CustomerReview:first-child, .CustomerReview:first-child td { border-top: 1px solid; }
div.CustomerReview, .CustomerReview td { padding: 0.5em 0; border-bottom: 1px solid; }

.CustomerReview .ReviewSurvey { width:100%; }
.CustomerReview .ReviewSurvey td { padding: 0.3em 0; width:50%; border-style:none; vertical-align:top;}

.ReviewHelpfulVote span, .ReviewHelpfulVote img { vertical-align:middle; }
.ReviewHelpfulVote img { vertical-align:middle; margin-left: 3px; cursor:pointer; }

.ReviewBadgeVerifiedBuyer, .ReviewBadgeTopReviewer, .ReviewBadgeAuthenticatedReviewer { display:block; margin:0.2em auto 0.2em 0; }

a.AllReviews { display:block; padding:0.2em 0; text-align:right; }

.clearAll { clear:both; height:0px;}

/* Infinite Scrolling */
.loadIndicator { font-size: larger; vertical-align:middle; background-image: url(../Images/throbber-animated-small.gif); 
                 background-repeat:no-repeat; background-position:center; background-size:75px 75px; height:85px; }
.loadIndicator span { vertical-align:middle;}

.ShipviaWarning { display: block; }

.LineItemEdit { min-width: 3em; }

.ProductHeaderName, .ProductHeaderSKU { text-align:center ;}
.CalculatedSavingsBlock { text-align: right; margin: 2px; }
.ProductDetailLink { display:block; text-align:center; }
.EmailForm { text-align:center; }
.EmailForm table { margin:0 auto; }
.EmailForm table td { padding:2px; text-align:left;}

table.entryForm { width:100%; }
table.entryForm td { padding:3px; }
table.entryForm.adaptive td>.FormLabel:after { content:' '; height:0; display:block; }
@media only screen and (max-width:650px) {
    table.entryForm.adaptive,table.entryForm.adaptive tbody, table.entryForm.adaptive tr, table.entryForm.adaptive td { display: block; width:100% !important;}
}

/* adaptive form layouts */
div.formLayout { display:table; table-layout: fixed; width:100%; -moz-box-sizing: border-box; -webkit-box-sizing: border-box; box-sizing: border-box; }
div.formExpandedRow { display:table-row; }
div.formInputBlock { display:block; padding:0.2em; vertical-align:top;}
.formLayout div.formInputBlock { display:table-cell; }
.threeColRow  div.formInputBlock {width:33%; }
.twoColRow  div.formInputBlock {width:50%; }
div.formLayout .actions { text-align:right; }
div.formLayout .actions img, div.formLayout .actions input {vertical-align:bottom; }
div.formInputBlock > span { display:block; }
div.formInputBlock .DisplayLabel { line-height: 1.7em; }

/* nested adaptive forms */
.formInputBlock div.formInputBlock:first-child { padding-left:0; }
.formInputBlock div.formInputBlock:last-child { padding-right:0; }
.formInputBlock div.formExpandedRow:first-child  div.formInputBlock { padding-top:0; }
.formInputBlock div.formExpandedRow:last-child  div.formInputBlock { padding-top:0; }


@media only screen and (max-width:650px) {
    div.formLayout, div.formExpandedRow, div.formInputBlock {
        display: block !important; -moz-box-sizing: border-box; -webkit-box-sizing: border-box; box-sizing: border-box; width:100%!important;        
    }
}

/* issue attachments */
.issueAttachments > div { display:table; width:100%;}
.attachThumb {  width:100px; text-align:center; display:inline-block;  }
.attachmentInfo, .addAttachment { display:table-row; }
.attachmentInfo > div, .addAttachment > div { display:table-cell; padding: 0.2em 0; vertical-align:middle; }
.attachmentInfo > div:nth-child(2) { padding-left:0.2em; }
.attachmentInfo > .buttons, .addAttachment > .buttons { text-align:right; }
.attachmentInfo img, .addAttachment img { max-height:100px; max-width:100px; }

/*address management*/
.AddressSelector { display:table; width:100%;}
.AddressSelector > div { display:table-row; }
.AddressSelector > div > div { display:table-cell; vertical-align:top; }
.AddressSelector > div > div:nth-child(even) { vertical-align: bottom; text-align:right;}

/* Payment Types */
.MethodDetails { margin-left: 1.3em; }
.WidgetType21 .MethodDetails { margin-left:0; margin-top: 1em; }
.MethodDetails.methodSubForm { border: 1px solid #CCCCCC; padding:10px; width:100%; max-width:470px; }
.MethodDetails .entryForm span, .MethodDetails .entryForm label { display:block;}
.MethodDetails .entryForm input[type=checkbox]+label {display:inline}

iframe.ccPayInfo { width:100%; height:275px; }

.CardInfoForm { display:flex; flex-wrap:wrap; align-items:flex-end; }
.CardInfoForm > div { padding:0.2em 0; }

.CardInfoForm .payMethodName { width:100%; padding-top:0; }
.CardInfoForm .payMethodAddress { width:70%; padding-right:0.2em; }
.CardInfoForm .payMethodZip { width:30%; }
.CardInfoForm .payMethodAddress + .CardInfoForm .payMethodZip { padding-left:0.2em; }

@media only screen and (max-width:650px) { .MethodDetails { margin-left:0; }}

/* uploads */
.orderAttachmentPreview { display:inline-block; margin: 0.2em 1em 0.2em 0;text-align:center; vertical-align:middle; }
.orderAttachmentPreview.thumbnail { height: 154px; width:154px; border:2px silver inset; background-color: #FFFFFF; }
.orderAttachmentPreview > img { max-width: 150px; max-height:150px;  }
.orderAttachmentPreview + div { display:inline-block; vertical-align:middle;  }
.orderAttachmentPreview + div input[type=file] { display:block; }
.orderAttachmentPreview + div input, .orderAttachmentPreview + div a { vertical-align:baseline; }

.tooltipBox { display: inline-block; padding: 5px; -moz-border-radius:6px; -webkit-border-radius:6px; -o-border-radius:6px; border-radius:6px; }
.tooltipBox img {cursor:pointer;}
.tooltipBox img.right { margin-left: 15px; }
.tooltipBox img.left { margin-right: 15px; }

.RequiredInfo { display:block; text-align:center; }

/* Watermark opacity reset */
::-webkit-input-placeholder{opacity:1;}
::-moz-placeholder{opacity:1;}
:-ms-input-placeholder{opacity:1;}
::input-placeholder{ opacity: 1; }

.PromotionDisclaimer {font-size:smaller;}

/* breadcrumb path defaults */
.BreadCrumb li {float:left; }
.BreadCrumb::after {content:' ';display:block;height:0;clear:both;}
.BreadCrumbSeparator { margin:0 0.2em; }

/*Add to Cart Confirmation - Product name*/
.AddToCartConfirmation h1 { overflow-wrap: break-word }
/*Add to Cart Confirmation - Product thumbnail*/
.AddToCartConfirmation > div:first-child img { float: left }
/*Add to Cart Confirmation - Quantity label*/
.AddToCartConfirmation span:first-child { margin-right: 2em }
/*Add to Cart Confirmation - Section for Action buttons */
.AddToCartConfirmation > div:nth-child(2) { text-align: center; }

/*Promo Basket*/
.PromoBasketEntry input { float:left; margin: 0.2em 0; }
.PromoBasket .PromoBasketEntry { margin-bottom:1em; margin-top:1em; }
.skinBody .PromoBasketEntry { margin-left: 1em; margin-right:1em; }
.PromoBasket .Exclusions strong { display:block; }
.PromoBasket .DisclaimersConditions em { display:block; text-align:right;}

/* Invoicing */
.InvoiceAmtDue td { font-size: 150%; }
@media only screen and (max-width:650px) {
    /*list*/
    .WidgetType348 .CartTable, .WidgetType348 .CartTable tbody { display:block; }
    .WidgetType348 .CartTable tr { display:flex; width:100%; flex-wrap:wrap}    
    .WidgetType348 .CartTable td, .WidgetType348 .CartTable th { flex-grow:1; width:20%; justify-content:space-between; }
    .WidgetType348 .CartTable .InvoiceVoid { width: 8%; }
    .WidgetType348 .CartTable .InvoiceBalance, .WidgetType348 .CartTable .InvoiceTotal { flex-basis:100% }

    /*details*/
    .WidgetType207 .CartTable, .WidgetType207 .CartTable thead, .WidgetType207 .CartTable tbody { display:block;}
    .WidgetType207 .CartTable tr { display:flex; flex-wrap:wrap; justify-content:space-between; width:100%;}
    .WidgetType207 .CartTable tr.InvoiceTotals { justify-content:flex-end; }
    .WidgetType207 .CartTable tr.InvoiceTotals td { width:45%; }

    .WidgetType207 .CartTable .InvoiceSequenceNumber {width: 7%; overflow:hidden; }
    .WidgetType207 .CartTable .InvoiceLineItemCode {width: 22%; overflow:hidden; }
    .WidgetType207 .CartTable .InvoiceLineItemName {width: 30%; overflow:hidden; }
    .WidgetType207 .CartTable .InvoiceLineItemQuantity {width: 15%; overflow:hidden; }
    .WidgetType207 .CartTable .InvoiceLineItemPrice {width: 20%; overflow:hidden; }
    .WidgetType207 .CartTable .InvoiceLineItemExtPrice { width:100%; } 
}

/* Address Manager Dialogs */
.addressManagerDialog .updateButton { cursor:pointer; }
.addressManagerDialog .addressFind { width:100%; display:flex;align-items:center;justify-content:space-between; }
.addressManagerDialog .addressFind > * { margin-left: 5px; margin-right:5px; }
.addressManagerDialog .addressFind > :first-child { margin-left:0; }
.addressManagerDialog .addressFind > :last-child { margin-right:0; }

.addressManagerDialog .addressFind select { width: 40%; }
.addressManagerDialog .addressFind input[type=text] { width:80%; }

.addressManagerDialog .addressFind select + span + input[type=text] { width:40%; }

.addressManagerDialog .addressContainer { overflow:auto; margin: 10px auto; border:1px silver inset; width:100%; height:500px; }


.addressManagerDialog .addressContainer > div { display: table; width: 100%; }
.addressManagerDialog .addressEntry { display: table-row; cursor:pointer; }
.addressManagerDialog .addressEntry > span { display: table-cell; }
.addressManagerDialog .addressEntry .addressDisplay { padding:0.5em; text-align: left; border-bottom:1px solid silver; }
.addressManagerDialog .addressEntry .addressControls { padding: 0.5em; text-align:right; display:table-cell; vertical-align:bottom; border-bottom:1px solid silver; }
.addressManagerDialog .loadIndicator { text-align: center; padding-top: 85px; font-size: 140%; height: auto; background-position: center 5px; }
.addressManagerDialog .createFooter { text-align:left; }
.addressManagerDialog .saveFooter { text-align:right; }
.addressManagerDialog .PanelFooter { text-align:right; }
.addressManagerDialog .PanelFooter input { margin-left: 0.5em; }

.addressEntryForm .formInputBlock { display:flex; justify-content: space-between; align-items:center; flex-wrap:wrap; }
.addressEntryForm .formInputBlock input.compactInput, .addressEntryForm .formInputBlock select.compactInput{ width:65%; }

.addressVerificationComp .verificationMessage { padding: 1em; display:flex; margin-bottom: 1em; align-items: center; }
.addressVerificationComp .verificationMessage strong::after { content: ' - ' }
.addressVerificationComp .verificationMessage  p { flex-grow: 1; width:auto; line-height:1.2em; font-size:85%; }
.addressVerificationComp .verificationMessage::before { content: ' '; height:3em; width:3em; background-image: url("../Images/Icons/YellowWarningExclamation.svg"); 
                                                        background-size:cover; display:inline-block; margin-right:1em; flex-grow:0; flex-shrink:0; }
.addressVerificationComp .listEntry { display:flex; width:100%; box-sizing:border-box; flex-direction:row; }
.addressVerificationComp .listEntry > div { width:50%; flex-grow:1; flex-shrink:1; box-sizing:border-box; text-align:center;  }
.addressVerificationComp .listEntry > div:first-child { padding-right:0.5em; }
.addressVerificationComp .listEntry > div:last-child { padding-left:0.5em; }
.addressVerificationComp .scrollContainer { margin-bottom: 0.5em; min-height:5.5em; }
.addressVerificationComp .verifiedAddresses .scrollContainer { max-height: 300px; overflow-y:auto; overflow-x:hidden;  }
.addressVerificationComp .verifiedAddress { padding: 1em; text-overflow:ellipsis; text-align:left; margin-bottom:0.5em; }
.addressVerificationComp [role=radiogroup] .verifiedAddress { cursor:pointer; }
.addressVerificationComp .disclaimerNotes p { margin: 10px 0; font-size: 85%; line-height:1.1em; }
.addressVerificationComp .disclaimerNotes .serviceDisclaimer { font-size: 8pt; }
.addressVerificationComp .PanelFooter { text-align:left; }

table.shippingEstimates td{ white-space:nowrap; padding:5px; }
table.shippingEstimates td:last-child { text-align:center; }

@media only screen and (max-width:650px) {
    .addressManagerDialog .addressFind { flex-wrap:wrap; justify-content:flex-start; }
    .addressManagerDialog .addressContainer { height:250px; }
    .addressManagerDialog .addressFind label { width:25%; margin-bottom:5px; margin-left:0;}
    .addressManagerDialog .addressFind input[type=text], .addressManagerDialog .addressFind select { width: 60%; margin-bottom:5px; }
    .addressEntryForm .formInputBlock { display:block; }
    .addressEntryForm .formInputBlock input.compactInput, .addressEntryForm .formInputBlock select.compactInput { width:100%; }

    .addressVerificationComp .listEntry { flex-direction:column; }
    .addressVerificationComp .listEntry > div { width:auto; }
    .addressVerificationComp .listEntry > div:first-child { padding-right: 0; }
    .addressVerificationComp .listEntry > div:last-child { padding-left: 0; padding-top: 1em; }
}

/*Address Book*/
.addressList .addressListEntry { width:100%; border-bottom: 1px solid; position:relative; padding:0.2em;}
.addressList .addressListEntry .addressControls { position:absolute; bottom: 0.2em; right:0.2em; }

.addressList.doubleCol { display:table; width:100%; }
.addressList.doubleCol > .addressRowWrapper { display:table-row; }
.addressList.doubleCol > .addressRowWrapper .addressListEntry { display:table-cell; width:50%; }
.addressList.doubleCol > .addressRowWrapper .addressListEntry:first-child{ padding-right: 1em; }
.addressList.doubleCol > .addressRowWrapper .addressListEntry:last-child{ padding-left: 1em; }
.addressList.doubleCol > .addressRowWrapper .addressListEntry:last-child:first-child { padding-left:0.2em; padding-right:0.2em;}

@media only screen and (max-width:650px) {
    .addressList.doubleCol { display:block; }
    .addressList.doubleCol > .addressRowWrapper { display:block; }
    .addressList.doubleCol > .addressRowWrapper .addressListEntry { display:block; }
}

/* Shopping Cart */
.CartHeader {display:flex; justify-content:space-between; align-items:center; flex-wrap:nowrap; }
.CartHeader > span { font-weight:bold; padding: 0 0.2em }
.itemDeleteLeft.itemUpdateBottomLeft .CartHeader .ProductInfo { margin-left: 15%; }
.cartItemGroup .FormLabel, .cartItemGroup .SectionHeader, .subItem.promotion .FormLabel { position:absolute; left:-1000px; font-weight:bold; }
.cartItemGroup .cartItemSubsection.lineItemMemo .FormLabel { display: block; position:static; }

.itemDeleteRight .CartHeader > :last-child { margin-right: 11%; }
.WidgetType83 h2.PanelHeader input[type=image] { float:right; }
.WidgetType83 h2.PanelHeader::after { content: ' '; display:block; height:0; clear:both; }

.cartItemGroup, .cartBody .footerSection { padding:0.5em 0; border-bottom: 1px solid; }
.cartLineDetails, .subItem { display:flex; justify-content:space-between; align-items:center;}
.cartLineDetails input[type=text] { width:100%; text-align: center; }
.cartLineDetails > span, .cartLineDetails > div, .subItem div, .subItem > span { overflow:hidden;  padding:0.2em; }

.cartItemThumb { text-align:center; flex-basis:12%; }
.cartItemThumb > img { max-width: 95%; max-height:80px; }

.ProductInfo { flex-basis:35%; }
.CartItemName { width:60%; display:inline-block; vertical-align:middle; }
.ProductSKULabel { width:39%; display:inline-block; vertical-align:middle;}
.wrapSKU .CartItemName { display:block; width:auto; }
.wrapSKU .ProductSKULabel { display:block; width:auto; }

.cartBody .ItemQty { flex-basis:8%; text-align:center; }
.cartBody.orderDetail .ItemQty { flex-basis: 8%; min-width:0; max-width:8%;  }
.cartBody .ItemUnitPrice, .cartBody .ItemTotal { flex-basis:13%; text-align:right; font-variant-numeric:lining-nums tabular-nums;}
.cartBody.orderDetail .ItemUnitPrice, .cartBody.orderDetail .ItemTotal { flex-basis:10%; text-align:right; font-variant-numeric:lining-nums tabular-nums; }
.cartBody .ItemArrivalDate { flex-basis: 10%; }

/*general button cell styles*/
.cartBody .cartLineButton {  flex-basis:9%;  text-align:center;}
.cartBody .cartLineButton > input, .cartLineButton img { max-width:100%; vertical-align:middle; }

/*item sequence for cart line item fields (with button configs)*/
.cartLineDetails .cartItemThumb { order: 3; }
.cartLineDetails .ProductInfo { order:6; }
.cartLineDetails .ItemQty { order:7; }
.cartLineDetails .ItemArrivalDate { order: 8; }
.cartLineDetails .ItemUnitPrice { order: 10; }
.cartLineDetails .ItemTotal { order: 11; }
.cartLineDetails .detailItem { order: 4; }
.cartLineDetails .editItem { order: 5; }
.cartLineDetails .updateItem { order: 9; }
.cartLineDetails .deleteItem { order: 1; }
.itemDeleteRight .cartLineDetails .deleteItem {  order: 12; }

.itemDeleteLeft .CartHeader .cartItemThumb { margin-left:9%; }
.orderDetail .CartHeader .ItemQty { font-size: 75%; text-overflow:ellipsis; overflow:hidden; line-height:1.3em; }

/*cart subsections*/      
.cartItemSubsection { padding: 0; margin-top:0.2em;}
.itemEditEnabled.itemDetailEnabled .cartItemSubsection { padding: 0.2em 27% 0.2em 17%; }
.itemEditEnabled .cartItemSubsection, .itemDetailEnabled .cartItemSubsection{ padding: 0.2em 30% 0.2em 17%; }
.itemDeleteRight .cartItemSubsection { padding: 0.2em 25.5% 0.2em 13%; }

.cartItemSubsection > table { width:100%;  }
.cartItemSubsection > .SectionHeader::before { content: '+'; display:inline-block; width:1em; text-align:center; } 
.cartItemSubsection.open > .SectionHeader::before {content: '-'; display:inline-block; width:1em; text-align:center; }
.cartItemSubsection .linkedItemTotal { display:inline-block; float:right; font-weight:normal; }
.cartItemSubsection.open .linkedItemTotal { display:none; }

.orderDetail .charge .ItemQty, 
.orderDetail .service .ItemQty { margin-right:24.5%; }

.cartItemSubsection.cartLinkedItems, .cartItemSubsection.promos { padding:0; }
.itemDeleteLeft .subItem .ProductInfo, .itemDeleteLeft.cartLineDetails .ProductInfo { margin-left: 15%; }
.itemDeleteLeft .thumbnailOffset .subItem .ProductInfo, .itemDeleteLeft .thumbnailOffset.cartLineDetails .ProductInfo { margin-left: 25%; }
.orderDetail .thumbnailOffset .subItem .ProductInfo, 
.orderDetail .thumbnailOffset.cartLineDetails .ProductInfo { margin-left: 12%; }

.itemDeleteLeft.itemUpdateBottomLeft .cartItemSubsection.cartItemSurvey,
.itemDeleteLeft.itemUpdateBottomLeft .cartItemSubsection.lineItemMemo,
.itemDeleteLeft.itemUpdateBottomLeft .cartItemSubsection.cartItemProperties { padding-left:15%; padding-right:19%; }
.prodThumbOn.itemDeleteLeft.itemUpdateBottomLeft .cartItemSubsection.cartItemSurvey,
.prodThumbOn.itemDeleteLeft.itemUpdateBottomLeft .cartItemSubsection.lineItemMemo,
.prodThumbOn.itemDeleteLeft.itemUpdateBottomLeft .cartItemSubsection.cartItemProperties { padding-left:25%; padding-right:15%; }

.cartItemAttachments a.LineItemAttachment { display:block; text-align:center; padding:0.2em 0; }
.cartItemAttachments  a img { border-width: 0; max-width:100%; }

.cartLinkedItems .subItem .ItemTotal { margin-right: 0%; }
.itemDeleteRight .cartLinkedItems .subItem .ProductInfo, .itemDeleteRight .subItem.promotion .ProductInfo { margin-left: 13%; }
.itemDeleteRight .cartLinkedItems .subItem .ItemTotal { margin-right: 9.5%; }
.itemDeleteRight.itemUpdateInline .cartLinkedItems .subItem .ItemTotal { margin-right: 8%; }
.cartBody.itemDeleteLeft .subItem.promotion .cartLineButton.deleteItem { order: -1; }
.cartBody.estArrivalOn .subItem.promotion .ItemQty { margin-right:11%; }
.cartBody.prodThumbOn .subItem.promotion  .ProductInfo { margin-left:13%; }

.itemEditEnabled.itemDetailEnabled .cartLinkedItems .ProductInfo { flex-basis: 50%; flex-grow:0; flex-shrink:0; }
.itemEditEnabled .cartLinkedItems .ProductInfo, .itemDetailEnabled  .cartLinkedItems .ProductInfo{ flex-basis: 45%; flex-grow:0; flex-shrink:0; }

.skuBelowName .ProductInfo > * { display:block; width:100%; }
.skuBelowName .ProductInfo .FormLabel { display:inline; margin-right:0.5em; }

.itemUpdateInline .cartLinkedItems .ItemQty { margin-right: 10%; }
.hoverMatrix .cartItemProperties, .hoverSurvey .cartItemSurvey { display:none; }

/* line-item ship-to */
.itemDeleteRight .cartItemSubsection.cartItemShipping { padding-right: 0; }
.cartItemShipping > div { display:flex; justify-content:space-between; align-items:center; }
.cartItemShipping img { cursor:pointer; }
.cartItemShipping .FormLabel {display:block;}
.cartItemShipping .cartLineButton { padding: 0.2em; flex-basis:8%;  flex-grow:0; flex-shrink:0;}
.cartItemShipping .lineItemShipToDetail { flex-basis: 70%;  flex-grow:0; flex-shrink:0;}
.cartItemShipping .lineItemShipAmt { flex-basis: 12%; padding: 0.2em;  flex-grow:0; flex-shrink:0;}

.lineItemShipSet .cartItemShipping .cartLineButton  { flex-basis: 20%; flex-grow:0; flex-shrink:0; }
.lineItemShipSet .cartItemShipping { padding-right:0; }
.lineItemShipSet .cartTotals { margin-right: 16%; }
.lineItemShipSet .cartTotals .totalsRow { width:100%; }
 
/*totals*/
.cartTotals { margin-bottom: 1.5em; }
.cartTotals::after { content: ''; display:block; clear:both; height:0; }
.cartTotals .CartUpdateAll { width: 45%; float:left; text-align:center; padding:0.3em; }
.cartTotals .totalsRow { display:flex; float:right; justify-content:flex-end; width:55%; padding:0.3em; align-items:center; }
.itemDeleteRight .cartTotals .totalsRow { padding-right: 10.5%; }

.cartTotals .totalsRow .FormLabel { flex-basis: 50%; text-align:right;  flex-grow:0; flex-shrink:0;}
.cartTotals .totalsRow .numeric { display:inline-block; flex-basis:34%; vertical-align:middle; padding:0.2em; flex-grow:0; flex-shrink:0; }

.cartTotals .cartLineButton.deleteItem { flex-basis:14.5%; padding:0.2em;  flex-grow:0; flex-shrink:0;}
.cartTotals .totalsRow.orderPromotion .FormLabel { flex-basis:38%;  flex-grow:0; flex-shrink:0;}

.itemDeleteRight .orderPromotion .cartLineButton.deleteItem { order:3;  }
.itemDeleteRight .cartTotals .totalsRow.orderPromotion { padding-right:0; }
.itemDeleteRight .totalsRow.orderPromotion .promotionAmount { flex-basis: 30%; flex-grow:0; flex-shrink:0; }


/*footers*/
.cartBody .cartTotals + .footerSection { margin-top:1.5em; }
.cartBody .footerSection { display:flex; justify-content:space-between; align-items:center; }
.cartBody .footerSection .FormLabel { flex-basis:25%; padding:0.2em;  flex-grow:0; flex-shrink:0;}
.cartBody .footerSection .footerValue { flex-basis: 60%; padding:0.2em; flex-grow:0; flex-shrink:0; }
.cartBody .footerSection:last-child { margin-bottom: 1em; }
.cartBody .footerSection .attachmentFile { display:block; margin: 0 auto 0 0 ; max-width:150px; max-height:150px;  }
.cartBody .footerSection img { max-width:100%; max-height:100%; }
.cartBody .footerSection.orderDates .footerValue > span { display:table-row; }
.cartBody .footerSection.orderDates .footerValue > span > span { display:table-cell; }


/*COMPACT CART DISPLAY FOR SIDEBARS - MUST MATCH RESPONSIVE STYLES FOR GENERIC CART*/
.compactCart .cartItemGroup .FormLabel, .compactCart .subItem.promotion .FormLabel { display:inline; position:static; }
.compactCart .CartHeader .ItemQty, .compactCart .CartHeader .ItemUnitPrice, .compactCart .CartHeader .ItemTotal, 
.compactCart .CartHeader .editItem, .compactCart .CartHeader .updateItem, 
.compactCart .CartHeader .deleteItem, .compactCart .CartHeader .ItemArrivalDate { display:none; }


.compactCart .cartLineDetails, .compactCart .subItem { display:block; }
.compactCart .cartLineDetails::after { content: ' '; display:block; clear:both; height:0; }
.compactCart .cartLineDetails .cartItemThumb { width:35%; float:left; }
.compactCart .cartItemGroup  .ItemQty { text-align:right}
.compactCart .cartItemGroup .ProductInfo, .compactCart .cartItemGroup .ItemArrivalDate { width: 60%; clear:right; }
.compactCart .cartItemGroup .ProductInfo > a { display:block; width:auto; }


.compactCart .ItemQty, .compactCart .ItemUnitPrice, .compactCart .ItemTotal { width: 60%; float:right; text-align:right; }
.compactCart .ItemQty > span:last-child, .compactCart .ItemQty > input:last-child, .compactCart .ItemUnitPrice > span:last-child, 
.compactCart .ItemTotal > span:last-child {
    display:inline-block; margin-left:0.2em; width:36%; text-align:right;}

.compactCart .cartLineDetails .subItem { display:block; }
.compactCart .itemUpdateInline .cartLinkedItems .ItemQty { margin-right:0; }
.compactCart .cartItemGroup  .subItem::after { content: ' '; display:block; clear:both; height:0px; }
.compactCart .cartItemGroup .cartLinkedItems .subItem .ProductInfo { margin-left: 0; }
.compactCart .cartItemGroup .cartLinkedItems .subItem .ItemTotal { margin-right: 0%; }
.compactCart .cartLinkedItems .subItem .ProductInfo { width: 100%; }

.compactCart .ItemTotal + .cartLineButton { clear:left; }
.compactCart .cartLineButton { text-align:left; width:100%; display:inline-block }

 
/*expanding sections*/
.compactCart.cartBody .cartItemGroup .SectionHeader { display:block; padding: 0.2em; cursor:pointer; position:static; }
.compactCart.cartBody .cartItemGroup .cartItemSubsection { padding: 0.2em; display:block!important; }
.compactCart.cartBody .cartItemSubsection table, .compactCart.cartBody .cartItemSubsection .subItem { display:none; }
.compactCart .cartItemSubsection.promos .subItem { display:block !important; }

/*ship-to*/
.compactCart .cartItemShipping .FormLabel { display:block; }
.compactCart .cartItemShipping .cartLineButton { flex-basis:20%;  flex-grow:0; flex-shrink:0;}
.compactCart .cartItemShipping .lineItemShipToDetail { flex-basis: 59%; flex-grow:0; flex-shrink:0; }
.compactCart .cartItemShipping .lineItemShipAmt { flex-basis: 20%;  flex-grow:0; flex-shrink:0;}

.compactCart .cartTotals input[type=image] { max-width:100%; }
.compactCart .cartTotals .CartUpdateAll { width: 25%; }
.compactCart .cartTotals .totalsRow { width:70%; margin-right: 0; }

/*quickadd/cart footer stuff*/
.cartEdit { display:flex; flex-direction:row; justify-content:flex-end; align-items:center; padding:0.1em; }
.cartEdit > * { margin-left: 17px; white-space:nowrap; }
.cartEdit span, .cartEdit label { text-align: right; min-width: 6%; }
.cartEdit .qtyBox { width: 7%; }
.cartEdit .stdText { width: 20%; }
.cartEdit .settingText  { width: 37.5%; }

/* Shipping estimator */
.ShippingEstimator { max-width:450px; width:100%; margin:0 auto; display:flex; flex-wrap:wrap; justify-content:space-between; align-items:center; }
.ShippingEstimator > div { padding: 5px; box-sizing: border-box; }
.ShippingEstimator > .Country { flex-basis:100%; flex-grow:0; flex-shrink:0; }
.ShippingEstimator > .Region,  .ShippingEstimator > .ShipVia {flex-basis:80%; flex-grow:0; flex-shrink:0;}
.ShippingEstimator > .Code, .ShippingEstimator > .buttons  {flex-basis:20%; flex-grow:0; flex-shrink:0;}
 .ShippingEstimator > .buttons  { padding-top: 1.7em; text-align:right;}

/*responsive code for small screens should match compact config*/
 @media only screen and (max-width:650px) {            
    .cartItemGroup .FormLabel, .subItem.promotion .FormLabel { display:inline; position:static; }
        
    .CartHeader .ItemQty, .CartHeader .ItemUnitPrice, .CartHeader .ItemTotal, .CartHeader .editItem, .CartHeader .updateItem, 
    .CartHeader .deleteItem, .CartHeader .ItemArrivalDate { display:none; }
    .itemDeleteLeft.itemUpdateBottomLeft  .CartHeader .ProductInfo { margin-left:0; }

    .cartLineDetails, .subItem { display:block; }
    .cartLineDetails::after { content: ' '; display:block; clear:both; height:0; }
    .cartLineDetails .cartItemThumb { width:35%; float:left; }
    .cartItemGroup  .ItemQty { text-align:right}
    .cartItemGroup .ProductInfo, .cartItemGroup .ItemArrivalDate { width: 60%; clear:right; }
    .cartItemGroup .ProductInfo > a { display:block; width:auto; }

    .cartBody.orderDetail .ItemQty, .ItemQty, .subItem.promotion .ItemQty, .ItemUnitPrice, .ItemTotal { 
        width: 60%; float:right; text-align:right; max-width:60%; margin-right:0; }
    .ItemQty > span:last-child, .ItemQty > input:last-child, .ItemUnitPrice > span:last-child, .ItemTotal > span:last-child {
        display:inline-block; margin-left:0.2em; width:36%; text-align:right;}
            
    .cartLineDetails .subItem { display:block; }
    .itemUpdateInline .cartLinkedItems .ItemQty { margin-right:0; }
    .cartItemGroup  .subItem::after { content: ' '; display:block; clear:both; height:0px; }
    .cartItemGroup .cartLinkedItems .subItem .ProductInfo { margin-left: 0; }
    .cartItemGroup .cartLinkedItems .subItem .ItemTotal { margin-right: 0%; }
     .cartLinkedItems .subItem .ProductInfo { width: 100%; }

     /*Survey*/
    .itemDeleteLeft.itemUpdateBottomLeft .cartItemSubsection.cartItemSurvey,
    .prodThumbOn.itemDeleteLeft.itemUpdateBottomLeft .cartItemSubsection.cartItemSurvey { padding-left:0.2em; padding-right:0.2em; }

    .ItemTotal + .cartLineButton { clear:left; }
    .cartLineButton { text-align:left; display:inline-block; max-width:50%; }
    
    /*expanding sections*/
    .cartBody .cartItemGroup .SectionHeader { display:block; padding: 0.2em; cursor:pointer; position: static; }
    .cartBody .cartItemGroup .cartItemSubsection { padding: 0.2em; display:block!important; }
    .cartBody .cartItemSubsection table, .cartBody .cartItemSubsection .subItem { display:none; }
    .cartItemSubsection.promos .subItem { display:block !important; }

    /*subsections*/
    .itemDeleteLeft.itemUpdateBottomLeft .cartItemSubsection.cartItemSurvey,
    .prodThumbOn.itemDeleteLeft.itemUpdateBottomLeft .cartItemSubsection.cartItemSurvey,
    .itemDeleteLeft.itemUpdateBottomLeft .cartItemSubsection.lineItemMemo,
    .prodThumbOn.itemDeleteLeft.itemUpdateBottomLeft .cartItemSubsection.lineItemMemo,
    .itemDeleteLeft.itemUpdateBottomLeft .cartItemSubsection.cartItemProperties,
    .prodThumbOn.itemDeleteLeft.itemUpdateBottomLeft .cartItemSubsection.cartItemProperties { padding-left:0.2em; padding-right:0.2em; }

    /*ship-to*/
    .cartItemShipping .FormLabel { display:block; }
    .cartItemShipping .cartLineButton { flex-basis:20%;  flex-grow:0; flex-shrink:0;}
    .cartItemShipping .lineItemShipToDetail { flex-basis: 59%; flex-grow:0; flex-shrink:0; }
    .cartItemShipping .lineItemShipAmt { flex-basis: 20%;  flex-grow:0; flex-shrink:0; }

    
    .cartTotals input[type=image] { max-width:100%; }
    .cartTotals .CartUpdateAll { width: 25%; }
    .cartTotals .totalsRow { width:70%; margin-right: 0; }
         
}

/*Responsive menu trigger for Navigation, Quick Picks, and Product Group Navigation widgets*/
.SiteNavigation .expander, .ProductGroupNavigation .expander, .QuickPicks .expander { display: none; text-align: right; padding: 5px !important; box-sizing:border-box; }
.sf-menu .expander img { height: 25px; margin: 0 5px; }
.sf-menu .submenuExpander { display: none; }
.sf-menu::after { content: ''; height:0; display:block; clear:both;}

@media screen and (max-width: 650px) {

    .sf-menu { width: 100%; box-sizing:border-box; position:absolute; }
    .ProductGroupNavigation .WidgetBody, .SiteNavigation .WidgetBody, .QuickPicks .WidgetBody { height: 35px; position:relative; }
    .SiteNavigation .sf-menu > li, .ProductGroupNavigation .sf-menu > li, .QuickPicks .sf-menu > li  { display: none; }
    ul.sf-menu > li { display: block; width: 100%; box-sizing:border-box; }
    .sf-menu > li.expander { display: block; }
    .sf-menu.sf-arrows .sf-with-ul:after { content: none; }
    .sf-menu ul { position: static !important; display: none !important; margin-left: 2em !important; }
    .sf-menu .expand + ul { display: block !important; }
    .sf-menu.expand li { display: block; }
    .sf-menu .submenuExpander { display: block; cursor: pointer; position: absolute; top: 0em; right: 0em; padding: 1em; }
    .sf-menu .submenuExpander div { height: 0; width: 0; border: 5px solid transparent; border-top-color: black; margin-top: -5px; }
    .sf-menu .submenuExpander.expand div { border-top-color: transparent; border-bottom-color: black; margin-top: -10px; }
}

/*Customer Shipping Account Number label in Order Confirmation widget*/
.customerShippingAccountNumber { display: block; }