﻿/*******************************************************************************************************************/
/************************************** 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 }
[role=button]{ cursor: pointer; }

/* 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; }

div.centerAlign { margin-left:auto; margin-right:auto; }
div.leftAlign { margin-left:0; margin-right:auto; }
div.rightAlign { margin-left:auto; margin-right:0; }
.rightBlock { float: right; }
.leftBlock {float:left; }

.HiddenField, .hiddenSection{ display: none;}
.inputWithButton { display: flex; }
.inputWithButton input + input, .inputWithButton input + button { margin-left: 0.5em; }
.statusOK *, .statusWarn *, .statusCritical * { color:inherit; background-color:inherit; }
.smallDisplay { font-size:smaller; }

/*statuses*/
.statusBanner { position:absolute; left:0; right:0; top: 0; text-align:center; line-height:1.2em; overflow:hidden; z-index: 30000;  }
.statusBanner > span { line-height: inherit; color:black; text-transform:uppercase; font-weight:600; padding:0 0.5em; }
.statusBanner + .ZoneBoxHolder { margin-top: 1.2em; }
.statusBanner + .statusBanner + .ZoneBoxHolder { margin-top: 2.4em; }

.statusBanner.testing { background-color:yellow; background-image: repeating-linear-gradient(45deg, transparent, transparent 15px, black 15px, black 30px); }
.statusBanner.testing > span {  background-color:yellow; }
.statusBanner.preview {background-color: cyan; background-image: radial-gradient(black 30%, transparent 30%); background-size: 1.2em 1.2em; background-repeat: repeat; background-position: center; }
.statusBanner.preview > span {  background-color:cyan; }

body > footer { display: block !important; text-align: center !important; padding: 15px; visibility: visible !important; opacity: 1 !important; height: auto !important;
    width: auto !important; top: auto !important; bottom: auto !important; left: auto !important; right: auto !important; position: static !important; pointer-events: all !important; z-index: auto !important;
}
body > footer > a[href]{ display:inline!important; font-size:11px!important; visibility:visible!important; position:relative!important; opacity:1!important; height:auto!important; width:auto!important; 
    top:auto!important; bottom:auto!important; left:auto!important; right:auto!important; position:static!important; z-index:auto!important; pointer-events:all!important;
}

/* 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-'; }

/* Profile Widget */
.Profile .inlineContent { float:right; padding: 0.5em 1em; cursor:pointer; display:flex; align-items:center; }
.Profile .splitter::before { content: '|' }
.Profile .WidgetBody::after {content: ' '; display:block; clear:both; background-color:inherit; height:0px;}
.Profile .profileMenuContent { position: absolute; border: 1px solid currentColor;  min-width:13em;  }
.profileMenuContent::before { content: ' '; background-color: inherit; height: 1em; width: 1em; display: block; position: absolute; right: 1em; transform: rotate(45deg); top: -0.6em; 
                               font-size: inherit; border-color: currentColor; border-style: solid; border-width:1px 0 0 1px; }
.profileMenuContent ul { list-style-type:none; margin:0; padding: 0; }
.profileMenuContent li { text-align:right; padding: 0.5em 1em;  }
.profileMenuContent li a span { display:block; }

/* SVG icons */
.svgIcon svg { max-width:100%; max-height:1.2em; fill: currentColor; }
.svgIcon { margin: 0 0.5em; max-height:1.2em; display:inline-block; vertical-align:middle; }
.svgIcon:first-child { margin-left: 0; }
.svgIcon:last-child { margin-right: 0; }
.svgIcon .caption { border-radius: 0.7em; text-transform:uppercase; display:block; text-align:center; font-size:90%; padding:0.1em 0.2em; line-height:1.1em; }

.tag { display: inline-block; border: 1px solid currentColor; font-size: 85%; padding: 0 0.4em; margin-right: 0.4em; }


/* 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}

.ProductImageGallery .InlineThumbnailWrapper { overflow:auto; max-width:100%; }

/* 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; }

.SearchTable .CartDescription { width: 40%; }

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; }

/* talk bubble style dialog boxes */
.dialogBubble { position:relative; padding:1em; border:1px solid currentColor; display:flex; box-sizing:border-box; }
.dialogBubble > footer { display:flex; align-items: flex-end; }
.dialogBubble > footer input+input { margin-left: 0.2em; }
.dialogBubble.narrow { flex-direction:column; }
.dialogBubble.narrow > footer { display:block; text-align:right; padding-top:10px; }
.dialogBubble::before { content: " "; color:inherit; height: 1em; width: 1em; position:absolute; top: -0.6em;
    background-color:inherit; transform: rotate(45deg);  border-color:inherit; border-style:inherit; border-left-width: inherit;
    border-right-width: 0; border-top-width: inherit; border-bottom-width:0; left:calc(50% - 0.5em);
} 

/* 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; }

.rightHeader { display:flex; flex-direction:row; justify-content: flex-end; align-items: center; }

@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;
    pointer-events: none;
}

.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;
    pointer-events: none;
}


/*padding for section headers*/
.PanelHeader{  padding: 0.3em 0; vertical-align:middle; text-align:left; }
.PanelHeader > a:link, .PanelHeader > a:active, .PanelHeader > a:hover, .PanelHeader > a:visited { font-size:inherit; font-family:inherit; color:inherit }
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; }
input[type=image] + input[type=image] { margin-left: 0.2em; }

.SplitFooter { display:flex; justify-content:space-between; }
.SplitFooter > div { width:50%; }

/*style for form labels*/
.FormLabel { font-weight:bold;}
.FormDisplayLabel{color:gray;}

/*Finder, currently for long lists of cost centers */
.inlineFinder { display:flex; justify-content:space-between; align-items:center; }
.inlineFinder .finderCode, .inlineFinder .finderValue { min-width: 5em; }


/* Fix to prevent dragging textareas under columns*/
textarea { resize: vertical }

.textRight { text-align: right; }
.textLeft { text-align: left; }
.textCenter { text-align: center; }

/*more general alignments*/
.centeredContent { text-align:center; }
table.centeredContent { margin-left: auto; margin-right: auto; }
table.centeredContent td, table.centeredContent tbody, table.centeredContent thead { text-align:left; }

/*Surveys*/
div.QuestionDiv { border-bottom: 1px solid #CCCCCC; padding:0.2em; display:flex; }
div.QuestionDiv.startHidden { display:none; }
div.QuestionDiv.LastQuestion { border-bottom: 3px solid #999999; }
div.QuestionDiv.LastQuestion:last-child { border-bottom: none; }

/*new styles*/
.QuestionDiv > span { flex-basis: 50%; }
.wideAnswer .QuestionDiv > span:first-child { flex-basis: 30%; }
.wideAnswer .QuestionDiv > span:last-child { flex-basis: 70%; }

.radioWrapper { display:inline-block; white-space:nowrap; }
.QuestionDiv .singleRadioCol .radioWrapper { display:block; }

.QuestionDiv > .multiRadioCol { display:table; }
.QuestionDiv > .multiRadioCol > span { display:table-row; }
.QuestionDiv > .multiRadioCol .radioWrapper, .QuestionDiv > .multiRadioCol .spacer { display: table-cell; }

.multiRadioCol[data-rowlength="2"] .radioWrapper, .multiRadioCol[data-rowlength="2"] .spacer { width:50%; }
.multiRadioCol[data-rowlength="3"] .radioWrapper, .multiRadioCol[data-rowlength="3"] .spacer { width:33%; }
.multiRadioCol[data-rowlength="4"] .radioWrapper, .multiRadioCol[data-rowlength="4"] .spacer { width:25%; }
.multiRadioCol[data-rowlength="5"] .radioWrapper, .multiRadioCol[data-rowlength="5"] .spacer { width:20%; }
.multiRadioCol[data-rowlength="6"] .radioWrapper, .multiRadioCol[data-rowlength="6"] .spacer { width:16.6%; }
.multiRadioCol[data-rowlength="7"] .radioWrapper, .multiRadioCol[data-rowlength="7"] .spacer { width:14.25%; }
.multiRadioCol[data-rowlength="8"] .radioWrapper, .multiRadioCol[data-rowlength="8"] .spacer { width:12.5%; }
.multiRadioCol[data-rowlength="9"] .radioWrapper, .multiRadioCol[data-rowlength="9"] .spacer { width:11.1%; }
.multiRadioCol[data-rowlength="10"] .radioWrapper, .multiRadioCol[data-rowlength="10"] .spacer { width:10%; }

/*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; }

/*Product Info*/
.linkedItemData { width: 100%; }

/*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;}
.errHeader { font-size: large; }

.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) {
    div.QuestionDiv { display:block; }
    div.QuestionDiv > span:first-child { display:block; width: auto; }
    div.QuestionDiv > span input[type=text], div.QuestionDiv > span select { width: 100%; }

    .QuestionDiv > .multiRadioCol, .QuestionDiv > .multiRadioCol > span { display: block; }
    div.QuestionDiv > .multiRadioCol .radioWrapper, div.QuestionDiv > .multiRadioCol .spacer { display: block; width:auto }
}


/*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; }

.SelectedProductImage { margin: 5px auto; display: block; cursor: pointer }

/*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; }

/* microcart */
.microCart.compact div { display: inline-block; }
.microCart.extended .microCartContents { display:table; width:100%;}
.microCart.extended .microCartContents > div { display:table-row; }
.microCart.extended .microCartContents > div > * { display:table-cell; text-align:left; }
.microCart.extended .microCartContents > div > :last-child { text-align:right; }

/*payment summary*/
.paymentSummaryContents  { display:table; margin: 0 auto; }
.paymentSummaryContents > div { display:table-row; }
.paymentSummaryContents > div > * { display:table-cell; }

/*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-block; 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; display:inline-block; }
.PanelHeader .rssLink { float:right; }


.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; }

/*image borders*/
.bordered::before { content: ' '; display: block; height: 0px; clear: both; }

/* 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, .startHidden{display:none}

/*general alignment*/
.textLeft { text-align:left; }
.textRight { text-align:right; }
.textCenter { text-align:center; }
.textJustify { text-align:justify; }

/* 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%; display:table }
.SurveyResultDisplay > div { display: table-row; }
.SurveyResultDisplay span { line-height:1.3em; display:table-cell; }
.SurveyResultDisplay.compact span { border-style:none; text-align:left;}
.SurveyResultDisplay span:nth-child(even) {text-align:right;}

.QuickAddForm { margin:0 0 0 auto; }
.QuickAddForm td { padding: 0.1em 0.2em; }

.headerButtons { padding-bottom:5px; }

@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%; display:table; }
.ReceiptHeader .infoRow { display: table-row; }
.ReceiptHeader .headerDataGroup { display: table-cell; padding: 5px; width: 50%; text-align:left; position:relative; vertical-align:top; }

.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; }
.advancedModeToggle { float: right; margin-bottom:0.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 }

/* new swatch styles */
.propertySwatchWrapper { display:flex; flex-direction:row; flex-wrap:wrap; align-items:flex-start; }
.propertySwatchWrapper.swatchTable { justify-content:flex-start; }
.propertySwatchWrapper.swatchFlow { justify-content:space-between; }
.propertySwatchWrapper.swatchFlow .swatchWrapper {margin:0;}
.propertySwatchWrapper .swatch, .searchFilterItem .swatch {display:flex; margin: 0 auto; align-items:stretch; }
.propertySwatchWrapper .swatchWrapper.clickable { cursor:pointer; }
.propertySwatchWrapper.leftLabel .swatchWrapper, .propertySwatchWrapper.rightLabel .swatchWrapper { display:inline-flex; flex-direction:row; }
.propertySwatchWrapper.topLabel .swatchWrapper > span, .propertySwatchWrapper.bottomLabel .swatchWrapper > span { display: block; margin: 0 auto; text-align:center; }   


/* Filters */
.searchFilterList, .searchFilterList ul { list-style-type:none; }
ul.searchFilterList { padding: 0;  }
.searchFilterItem > * { display:inline-block; vertical-align:middle; }
.searchFilterItem .swatchWrapper{ 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; }
.networkLink { display:inline-block; padding:2px; border:none; }

.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; }

/* tag cloud */
a.cloudTag.tagWeight0 { font-size: xx-small }
a.cloudTag.tagWeight1 { font-size: x-small }
a.cloudTag.tagWeight2 { font-size: small }
a.cloudTag.tagWeight3 { font-size: medium }
a.cloudTag.tagWeight4 { font-size: large }
a.cloudTag.tagWeight5 { font-size: x-large }
a.cloudTag.tagWeight6 { font-size: xx-large }


/* 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 { float:left; width: 40%; padding: 0 10px 10px 0; }
.reviewContents { float:right; width:60%; padding: 0 0 10px 10px; }
.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 .reviewHeader { display: flex; justify-content: space-between; align-content:baseline; }
.CustomerReview .reviewHelpful { display: flex; clear: both; justify-content: space-between; align-content: center; }

.CustomerReview .ReviewSurvey { width:100%; display:table }
.CustomerReview .ReviewSurvey > div { display:table-row;}
.CustomerReview .ReviewSurvey > div > * { padding: 0.3em 0; width:50%; border-style:none; vertical-align:top; display:table-cell;}

.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; }

.productSummary { display: flex; justify-content: space-between; align-items:start; margin-bottom:10px; }
.productSummary img { max-width: 50%; margin-right: 10px; }

/*artvault/upload*/
.uploadForm { max-width: 500px; margin: 0 auto; }
.ArtVault .CartTable .imageThumb { text-align:center; }
.ArtVault .CartTable.compact tr { display:flex; flex-wrap:wrap; }
.ArtVault .CartTable.compact tr > .imageSelect { width: 10%; order:1; }
.ArtVault .CartTable.compact tr > .imageName { width: 25%; order: 2; }
.ArtVault .CartTable.compact tr > .imageFile { width: 35%; order: 3; }
.ArtVault .CartTable.compact tr > .imageThumb { width: 30%; order: 4; }    
.ArtVault .CartTable.compact tr > .imageDesc { width: 100%; order: 5; }

.ArtVault .CartTable img.thumbnail { max-height:100px;max-width:100px; }

/*blogs*/
.blogPostRotator { width: 100%; display: table }
.blogPostRotator > .blogPostRotatorMainDisplay { display:table-row; }
.blogPostRotator .blogPostRotatorMainDisplay > * { display: table-cell; }

.blogPostRotator .blogPostRotatorPreviews {vertical-align:top; }
.blogPostRotatorMainDisplay { vertical-align: top; position: relative }
.blogPostRotatorMainDisplay > div { position:relative;bottom:0;padding-top:10px; }
.blogPostRotatorMainDisplay img.Thumbnail {max-height: 85px; max-width: 85px; margin-right: 5px; float: left }
.blogPostRotatorMainDisplay .blogPostRotatorPreview {padding:5px; }
.blogPostRotator .MainFooter img { cursor:pointer; }
.blogPostRotator .largePostImage { display: none; margin: 0 auto; max-height: 100% }
.blogPostRotator .largeImageRotator { position:relative; text-align: center }

.faqEntryWrapper { border-bottom: 1px solid #CCCCCC; }

/* stats display*/
.reviewBreakdownDetail { display:table; width:100%; margin:0; padding:0; }
.reviewBreakdownDetail > div { display:table-row; }
.reviewBreakdownDetail > div > * { display:table-cell; padding-top: 0.2em; padding-bottom:0.2em; }

.reviewBreakdownDetail .ratingLabel, .reviewBreakdownDetail .ratingCount { width:20%; white-space:nowrap; vertical-align:middle; }
.reviewBreakdownDetail .ratingCount { padding-left:0.2em; }

.clearAll { clear:both; height:0px;}

/*compact*/
.CustomerReview.compact .ReviewerInfo,.reviewContents { float: none; width: 100%; padding: 0; }
.CustomerReview.compact .reviewHelpful { display: block; text-align: right; }
.CustomerReview.compact .ReviewerInfo img { display: inline-block; margin-right: 5px; }

@media only screen and (max-width:650px) {
    .ReviewerInfo,.reviewContents { float: none; width: 100%; padding: 0; }
    .CustomerReview .reviewHelpful { display: block; text-align: right; }
    .ReviewerInfo img { display: inline-block; margin-right: 5px; }

    .productSummary { display:block; }
    .productSummary img { max-width: 100%; margin: 0 auto 10px auto; display:block;}

    /*responsive artvault*/
    .ArtVault .CartTable tr { display:flex; flex-wrap:wrap; }
    .ArtVault .CartTable.compact tr > .imageSelect { width: 10%; order:1; }
    .ArtVault .CartTable.compact tr > .imageName { width: 25%; order: 2; }
    .ArtVault .CartTable.compact tr > .imageFile { width: 35%; order: 3; }
    .ArtVault .CartTable.compact tr > .imageThumb { width: 30%; order: 4; }    
    .ArtVault .CartTable.compact tr > .imageDesc { width: 100%; order: 5; }
}

/* Event Widget */
.eventDateListVertical.datePickerPopup { display:table; margin:0 auto; }
.eventDateListVertical.datePickerPopup > div { display: table-row; }
.eventDateListVertical.datePickerPopup > div > * { display:table-cell; padding:3px; }
.eventDateListVertical.datePickerPopup input[type=text]{ max-width:150px; }
.eventDateListVertical.datePickerPopup label { text-align:right; }

.eventDateListVertical.datePickerInline {text-align:center;}
.eventDateListVertical.datePickerInline .ui-datepicker-inline { margin: 5px auto; }
.eventDateListVertical.datePickerInline .hasDatepicker { min-height:20em; }

.eventDateListHorizontal {display:flex; justify-content:space-between; }
.eventDateListHorizontal > div { flex-grow:1; flex-shrink:1; flex-basis:30%; padding:3px; align-items:flex-end; }
.eventDateListHorizontal > div:first-child { padding-left:0; }
.eventDateListHorizontal > div:last-child { padding-right:0; }
.eventDateListHorizontal input[type=text]{ min-width: 150px; max-width: 250px; }

.eventDateListHorizontal.datePickerInline { flex-wrap:wrap; }

@media only screen and (max-width:650px) {
    .eventDateListHorizontal { display: block; }
    .eventDateListHorizontal > div { padding: 0;}
    .eventDateListHorizontal input[type=text] { max-width: inherit; }
}

/* customer attachments */
ul.fileList { padding: 0; list-style-type:none; }


/* 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 { width:100%; -moz-box-sizing: border-box; -webkit-box-sizing: border-box; box-sizing: border-box; }
div.formExpandedRow { display:flex; align-items:flex-end; flex-direction:row; width:100%; }
div.formInputBlock { display:block; padding:0.2em; vertical-align:top; width:100%; }
.formLayout div.formInputBlock { display:block; }
.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 > span.startHidden { display:none; }
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; }

/* Flexible input forms */
.formFlexRow { display:flex; flex-direction:row; align-items: flex-end; justify-content:space-between; width:100%; box-sizing:border-box; }
.formFlexRow > .formInputBlock { flex-grow:1; box-sizing:border-box; }
.formFlexRow.double > .formInputBlock { width: 50%; }
.formFlexRow.triple > .formInputBlock { width: 33%; }
.formFlexRow.quaduple > .formInputBlock { width: 25%; }

.formFlexRow.nameEntry > .honorific { max-width:5em; }
.formFlexRow.nameEntry > .suffix { max-width:5em; }

.compact .formFlexRow, .compact .formFlexRow.double > .formInputBlock, .compact .formFlexRow.triple > .formInputBlock, 
.compact .formFlexRow.quaduple > .formInputBlock { display: block; width: 100%; }

@media only screen and (max-width:650px) {
    div .formLayout, div.formExpandedRow, div.formInputBlock, .formFlexRow, .formFlexRow.double > .formInputBlock, .formFlexRow.triple > .formInputBlock, .formFlexRow.quaduple > .formInputBlock {
            display: block !important; 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.startHidden { display:none; }
.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;}

/*Order History by Group*/
.OrderHistoryByGroup td.ProductName > span { display: flex; width: 100%; justify-content: space-between; align-items: center; }

/*team*/
.TeamEmployee { display:block; }
.TeamEmployee > span, .TeamEmployee a { display:block; }
.TeamEmployee .EmployeeName { font-weight:bold; }

/* 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;}

/*Order Approval*/
.OrderApproval .survey.cartItemSubsection { width: 50%; }
.OrderApproval .OrderSurveys { display: flex; flex-direction: row; flex-wrap: wrap; align-items:center; justify-content:space-between; margin-bottom:10px;}
.OrderApproval .OrderSurveys .FormLabel { width:30%; }
.OrderApproval .OrderSurveys .SurveyResultDisplay { width:70%; }

/* 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%; }

    .OrderApproval .OrderSurveys, .OrderApproval .OrderSurveys > * { display:block; 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,
.itemDeleteLeft.itemUpdateBottomLeft .cartItemSubsection.giftCertificateRecipient { padding-left:15%; padding-right:19%; }
.prodThumbOn.itemDeleteLeft.itemUpdateBottomLeft .cartItemSubsection.cartItemSurvey,
.prodThumbOn.itemDeleteLeft.itemUpdateBottomLeft .cartItemSubsection.lineItemMemo,
.prodThumbOn.itemDeleteLeft.itemUpdateBottomLeft .cartItemSubsection.cartItemProperties,
.prodThumbOn.itemDeleteLeft.itemUpdateBottomLeft .cartItemSubsection.giftCertificateRecipient{ padding-left:25%; padding-right:15%; }

.cartItemSubsection.giftCertificateRecipient > div { display:flex; flex-wrap:wrap; justify-content:flex-start; }
.cartItemSubsection.giftCertificateRecipient > div .FormLabel { display:inline-block; position:revert; margin-right:1em;}
.cartItemSubsection.giftCertificateRecipient > div > span { padding:0.2em;}

.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; }

    .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,
    .itemDeleteLeft.itemUpdateBottomLeft .cartItemSubsection.giftCertificateRecipient,
    .prodThumbOn.itemDeleteLeft.itemUpdateBottomLeft .cartItemSubsection.giftCertificateRecipient{ 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.horizontalMenu, .SiteNavigation .WidgetBody.horizontalMenu, 
    .QuickPicks .WidgetBody.horizontalMenu { 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.expand { z-index: 1; }
    .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; }

/*feed lists*/
.RssFeedDisplay ul {list-style-type:none;}
.RssFeedDisplay li { padding: 0.5em ; display:flex; justify-content:space-between; align-items:center;  box-sizing: border-box; }
.RssFeedDisplay li > span:last-child {font-size:smaller;}

/* Responsive Form Adjustment */
.AccountDetail div.firstName { width: 40% }
.AccountDetail div.lastName { width: 45%; }
.AccountDetail div.suffix { width: 15%; }
.AccountDetail div.phone { width: 75%; }
.AccountDetail div.extension { width: 25%; }

.linkPanel {display: flex; margin-bottom: 1em; flex-direction: row; padding:1em; flex-wrap:wrap; align-items:center; }
.linkPanel .labelFrame { width: 45%; min-width:300px; padding: 1em; border:1px solid currentColor; border-radius:0.35em; }
.labelFrame span, .labelFrame a { display:block; }
.labelFrame .headshot { height: 75px; width: 75px; text-align: center; display: inline-block; margin-right: 1em; overflow: hidden; float: left; vertical-align: middle; }
.labelFrame .headshot img { max-width: 75px; max-height: 75px;  object-fit: cover; object-position: top; height: inherit; width: inherit; border-radius: 50%;}
.labelFrame .userName { font-size: 140%; margin: 0.1em 0 0.2em 0; }

.linkPanel .svgIcon { width:calc(10% - 1em); box-sizing:border-box; cursor:pointer; }
.linkPanel .svgIcon, .linkPanel .svgIcon svg { width: 50px; height:50px; max-height:50px; }
.accountLink { max-width: 55%; float: left; text-align: left; font-size: smaller; }

.linkPanel.narrow {display: flex; flex-direction: column; }
.linkPanel.narrow .labelFrame { width:100%; }
.linkPanel.narrow .svgIcon { height: calc(30px + 1.75em); overflow:hidden; }
.linkPanel.narrow .svgIcon .caption {position:relative; top:-27px; }
.linkPanel.narrow .svgIcon svg { position:relative; top:-13px;  }

@media screen and (max-width: 650px) {
    .linkPanel {display: flex; margin: 1em 0; flex-direction: column; }
    .linkPanel .labelFrame { width:100%; }
    .linkPanel .svgIcon {  height: calc(30px + 1.75em); overflow:hidden; }
    .linkPanel .svgIcon .caption {position:relative; top:-27px; }
}
