/* Root Styles
-------------------------------------------------------------------------------------*/
:root {
    --primary: #5A23B9;
    --primary-dark: #43158F;
    --primary-soft: #BFBCEC;
    --accent: #5A23B9;
    --dark: #211A2C;
    --text: #28232F;
    --muted: #6F6878;
    --light: #F4F2F9;
    --border: #E8E3F0;
    --white: #FFFFFF;
}

/* Fonts
-------------------------------------------------------------------------------------*/
@font-face {
    font-family: 'XFINITY Sans';
    src: url('../Content/Fonts/XFINITYSans-Lgt.woff2') format('woff2');
    font-weight: 300;
    font-style: normal;
    font-display: swap;
}
@font-face {
    font-family: 'XFINITY Sans';
    src: url('../Content/Fonts/XSans_Rg.ttf') format('woff2');
    font-weight: 400;
    font-style: normal;
    font-display: swap;
}
@font-face {
    font-family: 'XFINITY Sans';
    src: url('../Content/Fonts/XFINITYSans-Med.woff2') format('woff2');
    font-weight: 500;
    font-style: normal;
    font-display: swap;
}
@font-face {
    font-family: 'XFINITY Sans';
    src: url('../Content/Fonts/XSans_Bd.ttf') format('woff2');
    font-weight: 700;
    font-style: normal;
    font-display: swap;
}

/* Core CSS Changes
-------------------------------------------------------------------------------------*/

/* Primary Color */
#RestCart_tabs .CheckoutBreadcrumbInner .ui-state-default.ui-state-active a i,
#RestCart_tabs .CheckoutBreadcrumbInner .ui-state-default.ui-tabs-complete a i {
    box-shadow: none;
}

#RestCart_tabs .CheckoutBreadcrumbInner .ui-state-default.ui-state-active a i,
#RestCart_tabs .CheckoutBreadcrumbInner .ui-state-default.ui-tabs-complete a i,
#RestCart_tabs .CheckoutBreadcrumbInner .ui-state-default.ui-state-active,
#RestCart_tabs .CheckoutBreadcrumbInner .ui-state-default.ui-tabs-complete,
#RestCart_tabs .CheckoutBreadcrumbInner .ui-state-default.ui-state-active a .tabArrow::before,
#RestCart_tabs .CheckoutBreadcrumbInner .ui-state-default.ui-tabs-complete a .tabArrow::before,
#RestCart_tabs .CheckoutBreadcrumbInner .ui-state-default.ui-state-active a .tabArrow::after,
#RestCart_tabs .CheckoutBreadcrumbInner .ui-state-default.ui-tabs-complete a .tabArrow::after {
    background: var(--primary);
}

/* btn-primary */
.checkoutHeaderBG,
.btn.btn-primary,
.btn.btn-primary:not(:disabled):not(.disabled).active,
.btn.btn-primary:not(:disabled):not(.disabled):active {
	background-color: var(--primary);
	border-color: var(--primary);
}
.btn.btn-primary:hover,
.btn.btn-primary:not(:disabled):not(.disabled).active,
.btn.btn-primary:not(:disabled):not(.disabled):active {
	background-color: var(--primary);
	border-color: var(--primary);
}


/* btn-accent */
.btn.btn-accent{
	background-color: var(--accent);
	border-color: var(--accent);
}
.btn.btn-accent:hover,
.btn.btn-accent:not(:disabled):not(.disabled).active,
.btn.btn-accent:not(:disabled):not(.disabled):active {
	background-color: var(--accent);
	border-color: var(--accent);
}



/* Accent Color */
a, a:hover {
    color: var(--accent);
}

.dropdown .dropdown-menu .util-sub-register a, #checkoutContainer a:not(.ui-tabs-anchor),
.COMProdPrice, #ProductDiscount, .openAccountDiv #openAccountHeader h3 a,
.modalPage a, .modal-addcart .modal-title, .modal-addcart .bootCart-details .bootCart-name,
.btn-link, .btn-link:hover, #subBar a:hover,
.modal-addcart .bootCart-info .bootCart-count {
    color: var(--accent) !important;
}

.checkoutrequired{
    color: red;
}

@media (min-width: 576px) {
    .dropdown-item.active a, .dropdown-item:active a {
        color: var(--primary) !important;
    }
}

.announcement-bar, #back-to-top, .orderSummaryTitle, .COMProdButton, .dropdown .dropdown-menu .util-sub-signin a,
.st-account-manager .nav-pills .nav-link.active,
#SearchFormMobile .ui-widgetTN, .app-menu-burger .app-menu-line, .list-group .list-group-item.active,
.list-group div[id^="SubCats"] .list-group-item.active {
    background-color: var(--accent) !important;
}

#back-to-top{
	background-color: var(--primary) !important;
}

.btn.btn-secondary, .btn.btn-secondary:not(:disabled):not(.disabled).active,
.btn.btn-secondary:not(:disabled):not(.disabled):active, .btn.btn-secondary:hover {
    background-color: var(--dark) !important;
}

.st-account-manager .account-manager-content,
.list-group .list-group-item.active, .list-group div[id^="SubCats"] .list-group-item.active,
.ProductThumbs .ProdThumbsBox.thumbSelected .ProductThumbGridBox,
.dropdown .dropdown-menu .util-sub-signin a, .dropdown .dropdown-menu .util-sub-register a {
    border-color: var(--accent) !important;
}

.btn.btn-secondary, .btn.btn-secondary:hover,
.btn.btn-secondary:not(:disabled):not(.disabled).active,
.btn.btn-secondary:not(:disabled):not(.disabled):active {
    border-color: var(--dark) !important;
}

/* Backgrounds */
.bg-primary{
	background-color:var(--primary)!important;
}
.bg-accent{
	background-color:var(--accent)!important;
}
.bg-dark{
	background-color:var(--dark)!important;
}
.bg-light{
	background-color:var(--light)!important;
}


/* General
---------------------------------------------------------------------- */
body {
    font-family: 'XFINITY Sans', Arial, sans-serif;
}

body > .container {
	background-color: #fff;
}

.st-account-manager {
    margin-top: 1rem;
    margin-bottom: 3rem;
}

.nav-side-wrap .nav-side-logo::after {
    background-color: #eee;
}

.template-info-bubble {
    background-color: var(--accent);
    color: #fff;
    padding: 1rem;
    margin-bottom: 1.5rem;
}
.super-user-bar {
    background: var(--dark);
}
.homepage .row-content{
	padding-top:3rem;
}
/* Elements
---------------------------------------------------------------------- */
#back-to-top.show {
	opacity: 0.5;
}

#back-to-top.show:hover {
	opacity: 1;
}

/* Sub Bar
---------------------------------------------------------------------- */
.nav-ui-contacts {
    justify-content: flex-end !important;
    width: 100%;
}

.nav-ui-user-menu > a,
.nav-ui-cart > a,
.nav-ui-search > a{
	color:var(--accent);
}
/* Nav
---------------------------------------------------------------------- */
#navToolbar a{
	transition:all .25s ease;
}
#mainMenuNav .dropdown.show .dropdown-menu:not(.spread) {
    overflow:initial!important;
}
div.dropdown-content ul li {
    list-style-type: none;
    padding: 0 !important;
    margin: 0 !important;
}
/* Main Menu
---------------------------------------------------------------------- */
.mobile #mainMenu .navbar-toggler {
    background-color: var(--primary);
    color: #fff !important;
}

#mainMenu {
    background-color: #333;
}

.desktop #mainMenuNav > ul > li > a {
    color: #fff;
    font-weight: bold;
}

.desktop #mainMenuNav > ul > li.show > a,
.desktop #mainMenuNav > ul > li:hover > a {
    background-color: var(--accent);
}

#mainMenu .dropdown .dropdown-menu {
    background-color: #f5f5f5;
}


.mobile #mainMenu .dropdown .dropdown-menu {
    background-color: initial;
}

.dropdown-item a {
    text-decoration: none !important;
}

#mainMenu .dropdown-item > a {
    color: #5d5d5d;
}

#mainMenu .dropdown-item:hover > a {
    color: #e85e29;
}

/* Featured Categories/Products
---------------------------------------------------------------------- */
.featured-name {
    font-weight: 500;
    font-size: 1.2rem;
}

.featured-details {
    display: flex;
    flex-flow: column;
    padding-top: 1rem;
    padding-bottom: 1rem;
    text-align: center;
}

.featured-price {
    color: var(--primary) !important;
    font-size: 1.2rem;
}

/* Homepage
---------------------------------------------------------------------- */
.featured-title {
  /*display: none;*/
}

.callouts {
    text-align: center;
}

.callouts a {
    display: inline-block;
}

    .callouts a img {
        max-width: 100%;
        height: unset !important;
        border: 1px solid #eee;
        width: auto !important;
    }

.callouts h2 {
  text-align: center;
  margin-top: 0;
}

.callouts h2 a {
  font-size: 1rem;
  font-weight: bold;
  text-decoration: none;
}

/* Homepage Hero Slider 
---------------------- */
.homeslide {
    position: relative;
}
.homeslide .item {
    position: relative;
}

.homeslide .caption-wrap {
    position: absolute;
    top: 0;
    left: 0;
    height: 100%;
    width: 100%;
    display: flex;
    flex-flow: row nowrap;
    justify-content: center;
    align-items: center;
    flex-direction: column;
}

.homeslide .caption-wrap a,
.homeslide .caption-wrap a:hover {
    color: #fff;
    text-decoration: none;
}

.homeslide .caption {
    font-size: 1.5rem;
    font-weight: 500;
    color: #fff;
    padding: 0 1rem;
    text-shadow: 3px 3px 4px rgba(0,0,0,0.5);
    text-align: center;
}

.homeslide .homepage-subtitle {
    font-weight: 500;
    color: #fff;
    padding: 0 1rem;
    text-shadow: 3px 3px 4px rgba(0,0,0,0.5);
    text-align: center;
    font-size: .7rem;
}

.homeslide .slick-dots {
    bottom: 5px;
}
.homeslide.slick-dotted.slick-slider {
    margin-bottom:0px;
}
@media (min-width: 576px) {
  .homeslide .caption {
    font-size: 2.5rem;
  }

  .homeslide .homepage-subtitle {
    font-size: 1.2rem;
  }
}

@media (min-width: 768px) {
  .homeslide .caption {
    font-size: 4.5rem;
  }
  .homeslide .homepage-subtitle {
    font-size: 1.4rem;
  }
}

@media (min-width: 992px) {
  .homeslide .caption {
    font-size: 7rem;
  }
  .homeslide .homepage-subtitle {
    font-size: 1.4rem;
  }
}
/* Generic Sliders
---------------------- */
.defaultslider {
    overflow: hidden;
}
.defaultslider .item {
    position: relative;
}
.defaultslider .caption-wrap {
    position: absolute;
    top: 0;
    left: 0;
    height: 100%;
    width: 100%;
    display: flex;
    flex-flow: row nowrap;
    justify-content: center;
    align-items: center;
    flex-direction: column;
}
.defaultslider .caption-wrap a,
.defaultslider .caption-wrap a:hover {
    color: #fff;
    text-decoration: none;
}
.defaultslider .caption {
    font-size: 1.5rem;
    font-weight: 500;
    color: #fff;
    padding: 0 1rem;
    text-shadow: 3px 3px 4px rgba(0,0,0,0.5);
    text-align: center;
}
.defaultslider .subtitle {
    font-weight: 500;
    color: #fff;
    padding: 0 1rem;
    text-shadow: 3px 3px 4px rgba(0,0,0,0.5);
    text-align: center;
    font-size: .7rem;
}
.defaultslider .slick-dots {
    bottom: 5px;
}
.defaultslider .slick-prev{
	left:1rem;
}
.defaultslider .slick-next{
	right:1rem;
}
@media (min-width: 576px) {
  .defaultslider .caption {
    font-size: 2.5rem;
  }

  .defaultslider .subtitle {
    font-size: 1.2rem;
  }
}
@media (min-width: 768px) {
  .defaultslider .caption {
    font-size: 4.5rem;
  }
  .defaultslider .subtitle {
    font-size: 1.4rem;
  }
}
@media (min-width: 992px) {
  .defaultslider:not(.homeslide) .caption {
    font-size: 7rem;
  }
  .defaultslider:not(.homeslide) .subtitle {
    font-size: 1.4rem;
  }
}

.caption-wrap.caption-wrap-static {
    position: absolute;
    top: 50%;
    left: 50%;
    width: max-content;
    color: #fff;
    font-size: 7rem;
	font-weight:500;
    display: flex;
    align-items: center;
    justify-content: center;
    transform: translate(-50%, -50%);
	text-shadow: 3px 3px 4px rgba(0,0,0,0.5);
	pointer-events: none;
	line-height: 1;
}
.caption-wrap.caption-wrap-static a{
	color:#fff;
	text-decoration:none;
}
.caption-wrap.caption-wrap-static a:hover{
	color:#fff;
	text-decoration:none;
}

.defaultslider.slick-dotted.slick-slider {
    margin-bottom:0px!important;
}
/* Categories/Product List View
---------------------------------------------------------------------- */
body.mobile .hero-stage.fullscreen {
    min-height: 200px !important;
    max-height: 200px !important;
    height: 100% !important;
    opacity: 1;
}

body.mobile .hero-stage.fullscreen .categoryBanner {
    height: 100% !important;
}
.row-header.hero-stage.fullscreen
{
margin-top: 0 !important;
}
.breadcrumb-category {
    display: none;
}
.categoryHeader h1 {
    margin-bottom: 0;
}
#catprodBreadcrumb {
    margin-top: 0 !important;
}
.categoryBannerContent {
    align-items: center;
    justify-content: center;
    height: 350px;
}
.categoryBannerContent h3 {
    color: #fff;
    font-size: 4rem;
}
.categoryCell .categoryName {
    margin-top: 0.5rem;
}
.breadcrumb-category {
    display: none;
}

#customFiltersWrap #customFilters .FilterItem .FilterItemChild .checkboxFilter ion-icon {
    color: var(--primary);
}

#customFiltersWrap.sidebar #customFilters > .FilterItem {
    font-size: 1rem;
}

#customFilters {
    padding: 0 !important;
    border: 0 !important;
}

.filter-ui {
    position: fixed;
    bottom: 2rem;
    left: 1rem;
}

.filter-ui a {
    width: 2.65rem;
    overflow: hidden;
    white-space: nowrap;
    color: transparent !important;
    border-radius: 0;
}

.filter-ui a i {
    color: #fff !important;
}
.prodCell .prodDetails .prodPartNo
{
    text-align: left;
}
/* Product View
---------------------------------------------------------------------- */
.ProductTagCategory {
    position: absolute;
    left: 0;
    top: 0;
}
.ShareToolbar{
	display:none;
}

/* Contact Form
---------------------------------------------------------------------- */
.cfm-id-addressline2 .cfm-input {
    margin-top: 0 !important;
}
#cfsubmit {
    margin-top: 0.75rem;
}
/* Accordion
---------------------------------------------------------------------- */
.card{
	border:none;
}
.card-header {
    background-color: transparent;
	border:none;
    padding-bottom: .5rem!important;
    background-color: #fff;
    border-radius: 0.5rem;
    padding-left: 2rem!important;
}
.card-header .card-link:before {
    content: "\f054";
	font-family: "Font Awesome 5 Free"; 
    font-weight: 900; 
    text-decoration: none !important;
    position: absolute;
    left:.5em;
    top:.75em;
    font-size: 1em;
    transition: all .1s linear;
    transform-origin: 50% 50%;
}
.card-header .card-link[aria-expanded="true"]:before {
	transform: rotate(90deg);
    transform-origin: 50% 50%;
}
.card-body {
    border-bottom: 1px solid #ddd;
	border-radius:0px;
	box-shadow: -2px 2px 4px -2px #c0c0c047;
    margin-bottom: 0.25rem;
	border-left:4px solid var(--primary);
}
/* Footer
---------------------------------------------------------------------- */
.footer {
    background-color: #333;
    color: #fff;
    padding-bottom: 0;
}

.footer a {
    color: #fff;
 }

.footer-copy {
    background-color: #fff;
    color: #555;
    margin-top: 2rem;
}

.footer-copy a {
    color: var(--accent);
}

#copyright {
    text-align: center;
    padding-top: 1rem;
    padding-bottom: 1rem;
}

/* @ @ @ Responsive Queries - Copy from below list
---------------------------------------------------------------------- */
/* Large devices (desktops, less than 1200px) */
@media (max-width: 1199.98px) {}

/* Medium devices (tablets, less than 992px) */
@media (max-width: 991.98px) {
    .nav-ui-utils .navbar-brand {
        flex: 1 1 auto;
        text-align: center !important;
        margin: 5px 0 8px 0;
    }
}

/* Medium devices (tablets, less than 768px) */
@media (max-width: 768px) {}

/* Extra small devices (portrait phones, less than 576px) */
@media (max-width: 575.98px) {
    li.nav-item.nav-ui-brand {
        width: 100%;
    }
}

/* Small devices (landscape phones, 576px and up) */
@media (min-width: 576px) {}

/* Medium devices (tablets, 768px and up) */
@media (min-width: 768px) {}

/* Large devices (desktops, 992px and up) */
@media (min-width: 992px) {}

/* Extra large devices (large desktops, 1200px and up) */
@media (min-width: 1200px) {}
/* 722 -> 723 Upgrade - Start*/
/* 722 -> 723 Upgrade - Start*/
#cartContainerInline {
    display: none;
}
#simplemodal-overlay {
    background-color: #817172;
}
#simplemodal-container {
    width: 728px;
    color: #817172;
    background-color: #FFF;
    padding: 0px;
    border-radius: 0;
    height: 221px;
}
#simplemodal-container a.modalCloseImg {
    display: inline-block;
    width: 33px;
    height: 33px;
    position: absolute;
    top: -10px;
    right: -10px;
    border-radius: 100px;
    cursor: pointer;
    z-index: 10;
    text-decoration: none;
}
#simplemodal-container a.modalCloseImg::after {
	display: flex;
    content: "×";
    font-size: 30px;
    font-weight: bolder;
    color: #ffffff;
    pointer-events: none;
    line-height: 0;
    height: min-content;
    justify-content: center;
    align-items: center;
    background-color: #817172;
    border-radius: 50%;
    border: 3px solid white;
    height: 100%;
    width: 100%;
}
#inlinecartscrollbar {
    border-right: 0;
    float: left;
    margin-left: 20px;
    padding-bottom: 10px;
    padding-top: 10px;
    vertical-align: top;
    width: 46%;
}
#inlinecartscrollbar .scrollbar {
    position: relative;
    background-position: 0 0;
    float: right;
    width: 15px;
    height: 110px !important;
}
#inlinecartscrollbar .track {
    width: 6px;
    background: none repeat scroll 0 0 rgba(0, 0, 0, 0.05);
    border-radius: 10px;
    height: 100%;
    margin: 0 auto;
    position: relative;
    box-shadow: 0 0 3px #000 inset;
}
#inlinecartscrollbar .thumb {
    background: #817172;
    border-radius: 10px;
    height: 100%;
    margin: 0 auto;
    text-align: center;
    width: 6px;
    cursor: pointer;
    overflow: hidden;
    position: absolute;
    top: 0;
}
#inlinecartscrollbar .thumb .end {
    overflow: hidden;
    height: 5px;
    width: 25px;
}
.inlinecartheader {
    margin-top: 20px;
    margin-left: 20px;
    margin-bottom: 20px;
}
#cartHeaderInline {
    font-size: 18px;
    font-weight: bold;
    color: #1c8200;
    background: url(../content/images/addedtocart.png) no-repeat left;
    height: 26px;
    padding-top: 5px;
}
#inlinecartscrollbar .viewport {
    width: 94%;
    height: 110px;
    overflow: hidden;
    position: relative;
}
#inlinecartscrollbar .overview {
    list-style: none;
    position: absolute;
    left: 0;
    top: 0;
    padding: 0;
    margin: 0;
    width: 100%;
}
.inlinecartbody {
    margin-left: 20px;
}
.inlinecartitemimage {
    float: left;
    margin-right: 20px;
}
.inlinecartitemimage img {
    max-width: 110px;
}
.inlineitemdetails {
    float: left;
    font-size: 12px;
    width: 53%;
    line-height: 1.5;
}
.inlineitemname {
    font-weight: bold;
    font-size: 14px;
    margin-bottom: 2px;
    color: #817172;
    text-transform: uppercase;
}
.inlinecartitembreak {
    clear: both;
    padding-top: 15px;
}
.inlinecarttotalsbg {
	background: none repeat scroll 0 0 #F8F8F8;
	height: 221px;
	position: absolute;
	right: 0;
	width: 372px;
	z-index: 1;
	border-radius:0 10px 10px;
}
.inlinecarttotals {
    float: left;
    margin-left: 30px;
    padding-top: 38px;
    vertical-align: top;
    width: 41%;
    z-index: 3;
    position: relative;
}
.inlinecartitems {
    font-size: 14px;
    font-weight: bold;
    border-bottom: 1px solid #d1d1d1;
    padding-bottom: 10px;
    margin-bottom: 10px;
}
.inlinecartsubtotal {
    font-size: 14px;
    border-bottom: 1px solid #d1d1d1;
    padding-bottom: 10px;
    margin-bottom: 10px;
}
.inlinecartviewitems a, .inlinecartviewitems a:link, .inlinecartviewitems a:visited {
    background: none repeat scroll 0 0 #646464;
    border: 1px solid #646464;
    color: #FFFFFF !important;
    float: left;
    text-align: center;
    font-size: 13px !important;
    margin-top: 15px;
    padding: 8px 6px 9px 6px !important;
    text-transform: uppercase !important;
    width: 51%;
    cursor: pointer;
    text-decoration: none;
    border-radius: 0;
}
a.InlineCartCheckoutCart, a.InlineCartCheckoutCart:link, a.InlineCartCheckoutCart:visited {
    background: none repeat scroll 0 0 #82b2d2;
    border: 1px solid #82b2d2;
    color: #FFFFFF !important;
    float: right;
    text-align: center;
    font-size: 16px !important;
    margin-top: 15px;
    padding: 7px !important;
    text-transform: uppercase !important;
    width: 37%;
    cursor: pointer;
    text-decoration: none;
    border-radius: 0;
}
#InlineCartRelatedInfo {
    border-top: 1px solid #ededed;
    clear: both;
    padding-left: 40px;
    padding-right: 40px;
    padding-top: 20px;
    display: none;
}
/* 722 -> 723 Upgrade - End*/
/* 722 -> 723 Upgrade - End*/

/* XFHF / XFINITY DESIGN - OPTION A
   Corrected overrides. Built against the actual generated XFHF markup.
===================================================================================== */

:root {
    --x-purple: #5421b8;
    --x-purple-dark: #42158f;
    --x-lavender: #efedf7;
    --x-lavender-mid: #c7c3ee;
    --x-text: #26222d;
    --x-muted: #6d6874;
    --x-border: #dedbe5;
    --x-white: #fff;
    --x-content: 1135px;
}

html, body {
    background: #fff;
    color: var(--x-text);
    font-family: 'XFINITY Sans', Arial, sans-serif !important;
    font-weight: 400;
    -webkit-font-smoothing: antialiased;
}

h1, h2, h3, h4, h5, h6,
a, p, span, li, div,
input, select, textarea, button, .btn {
    font-family: 'XFINITY Sans', Arial, sans-serif;
}

/* HEADER -------------------------------------------------------------------------- */
#header {
    background: #fff;
}

#navToolbar {
    display: none !important;
}

#topBar {
    min-height: 56px !important;
    margin: 0 !important;
    padding: 0 24px !important;
    border: 0 !important;
    background: linear-gradient(90deg, #f8f7fc 0%, #d8d5f4 38%, #bbb7ec 60%, #f7f6fb 100%) !important;
}

#topBar .logo-wrap {
    position: relative;
    display: flex !important;
    align-items: center;
    width: 100% !important;
    max-width: var(--x-content);
    min-height: 56px;
    margin: 0 auto !important;
    padding: 0 !important;
}

#topBar .nav-ui-brand {
    order: 1;
    flex: 0 0 auto;
    margin: 0 auto 0 0 !important;
    padding: 0 !important;
    text-align: left !important;
}

#topBar .nav-ui-brand a {
    display: flex !important;
    align-items: center;
    max-height: none !important;
}

#topBar .nav-ui-brand img {
    width: auto !important;
    max-width: 145px !important;
    max-height: 38px !important;
}

/* Keep current generated search/account/cart functional until nav config is changed. */
#topBar .nav-ui-search {
    order: 2;
    width: 250px;
    max-width: 250px;
    margin-left: auto;
    margin-right: 18px;
}

#SearchForm {
    position: relative;
    width: 100%;
}

#SearchText {
    width: 100%;
    height: 32px !important;
    padding: 5px 36px 5px 10px !important;
    color: #4e4954 !important;
    font-size: 13px !important;
    background: #fff !important;
    border: 1px solid #d8d5df !important;
    border-radius: 1px !important;
    box-shadow: none !important;
}

#Search {
    position: absolute !important;
    top: 0 !important;
    right: 0 !important;
    width: 34px !important;
    height: 32px !important;
    padding: 8px !important;
    border: 0 !important;
    background: transparent !important;
}

#Search svg {
    width: 15px;
    height: 15px;
    fill: #605a67;
}

#topBar .nav-ui-utils {
    order: 3;
    display: flex;
    align-items: center;
    gap: 7px;
    flex: 0 0 auto;
}

#topBar .nav-ui-utils .nav-link,
#topBar .nav-ui-user-menu > a,
#topBar .nav-ui-cart > a {
    color: var(--x-purple) !important;
    font-size: 13px !important;
    font-weight: 500 !important;
}

/* NAV ----------------------------------------------------------------------------- */
#mainMenu {
    min-height: 42px !important;
    padding: 0 24px !important;
    background: var(--x-purple) !important;
    border: 0 !important;
    box-shadow: none !important;
}

#mainMenuNav {
    max-width: var(--x-content);
    margin: 0 auto;
}

#mainMenuNav > ul {
    min-height: 42px;
    margin: 0 !important;
    justify-content: space-between;
}

.desktop #mainMenuNav > ul > li {
    flex: 0 1 auto;
}

.desktop #mainMenuNav > ul > li > a {
    display: flex !important;
    align-items: center;
    justify-content: center;
    min-height: 42px !important;
    padding: 0 14px !important;
    color: #fff !important;
    font-size: 13px !important;
    line-height: 1.1 !important;
    font-weight: 500 !important;
    text-align: center;
    white-space: nowrap;
}

.desktop #mainMenuNav > ul > li:hover > a,
.desktop #mainMenuNav > ul > li.show > a {
    color: #fff !important;
    background: rgba(255,255,255,.12) !important;
}

#mainMenu .dropdown-menu {
    border: 0 !important;
    border-radius: 0 !important;
    background: #fff !important;
    box-shadow: 0 9px 24px rgba(38,34,45,.16) !important;
}

/* HOMEPAGE WIDTH ------------------------------------------------------------------ */
.homepage #row-48,
.homepage #cell-48 {
    margin: 0 !important;
    padding: 0 !important;
}

.homepage #row-49 {
    width: calc(100% - 48px) !important;
    max-width: var(--x-content) !important;
    margin: 0 auto !important;
    padding: 0 !important;
}

/* HERO - Option A is a clean image-led banner ------------------------------------- */
.homepage .homeslide {
    width: calc(100% - 48px) !important;
    max-width: var(--x-content) !important;
    height: 410px !important;
    max-height: 410px !important;
    margin: 28px auto 0 !important;
    overflow: hidden !important;
    background: #eceaf0;
}

.homepage .homeslide .slick-list,
.homepage .homeslide .slick-track,
.homepage .homeslide .item {
    height: 410px !important;
    max-height: 410px !important;
}

.homepage .homeslide .item {
    background-position: center center !important;
    background-size: cover !important;
    background-repeat: no-repeat !important;
}

/* Option A mockup does not show hero copy. */
.homepage .homeslide .caption-wrap {
    display: none !important;
}

.homepage .homeslide.slick-dotted.slick-slider {
    margin-bottom: 0 !important;
}

.homepage .homeslide .slick-dots {
    bottom: -22px !important;
    text-align: right !important;
    padding-right: 0 !important;
}

.homepage .homeslide .slick-dots li {
    width: 12px;
    height: 12px;
    margin: 0 1px;
}

.homepage .homeslide .slick-dots li button:before {
    color: #3f3b45 !important;
    font-size: 7px !important;
    opacity: .35 !important;
}

.homepage .homeslide .slick-dots li.slick-active button:before {
    opacity: .85 !important;
}

/* CATEGORY TILES ------------------------------------------------------------------ */
.homepage .row-content {
    padding-top: 36px !important;
    padding-bottom: 54px !important;
}

.homepage .callouts {
    display: grid !important;
    grid-template-columns: repeat(4, minmax(0, 1fr));
    gap: 10px !important;
    margin: 0 0 44px !important;
}

.homepage .callouts > div,
.homepage .callouts > [class*='col-'] {
    width: auto !important;
    max-width: none !important;
    flex: none !important;
    padding: 0 !important;
    margin: 0 !important;
    background: var(--x-lavender) !important;
}

.homepage .callouts > div > a:first-child {
    display: flex !important;
    align-items: center;
    justify-content: center;
    min-height: 0 !important;
    height: 150px !important;
    padding: 14px 14px 3px !important;
    background: var(--x-lavender) !important;
    overflow: hidden;
}

.homepage .callouts > div > a:first-child img {
    width: 100% !important;
    max-width: 145px !important;
    height: 132px !important;
    max-height: 132px !important;
    object-fit: contain !important;
    border: 0 !important;
}

.homepage .callouts h2 {
    display: flex !important;
    align-items: center;
    justify-content: center;
    min-height: 62px !important;
    margin: 0 !important;
    padding: 5px 12px 18px !important;
    background: var(--x-lavender) !important;
}

.homepage .callouts h2 a {
    color: var(--x-purple) !important;
    font-size: 20px !important;
    line-height: 1.06 !important;
    font-weight: 700 !important;
    text-align: center !important;
    text-decoration: none !important;
}

.homepage .callouts > div:hover {
    background: #e9e6f3 !important;
}

.homepage .callouts > div:hover > a:first-child,
.homepage .callouts > div:hover h2 {
    background: #e9e6f3 !important;
}

/* FEATURED PRODUCTS --------------------------------------------------------------- */
.featured-title.header-strike {
    display: flex !important;
    align-items: center !important;
    gap: 18px !important;
    margin: 18px 0 0 !important;
}

.featured-title.header-strike:before,
.featured-title.header-strike:after {
    content: '';
    flex: 1 1 auto;
    height: 1px;
    background: #d9d6de;
}

.featured-title.header-strike h4 {
    margin: 0 !important;
    color: #4a454e !important;
    font-size: 24px !important;
    line-height: 1.2 !important;
    font-weight: 400 !important;
    white-space: nowrap;
}

.featured-title.header-strike hr {
    display: none !important;
}

.featured-subtitle {
    margin: 21px 0 18px !important;
    color: #4f4954 !important;
    font-size: 16px !important;
    font-weight: 400 !important;
}

.featured-products-one-container {
    margin-bottom: 24px !important;
}

.featured-item {
    background: #fff !important;
    border: 0 !important;
}

.featured-img {
    background: var(--x-lavender) !important;
}

.featured-name a {
    color: var(--x-purple) !important;
    font-weight: 500 !important;
}

/* FOOTER - deliberately redesigned; no dark Speartek demo block ----------------- */
/* #row-51, */
/* #cell-51, */
/* .footer { */
    /* background: #f3f1f8 !important; */
    /* color: #4b4651 !important; */
/* } */

.footer {
    margin-top: 0 !important;
    padding: 0 !important;
    border-top: 4px solid var(--x-purple) !important;
}

.footer .footer-blocks {
    width: calc(100% - 48px) !important;
    max-width: var(--x-content) !important;
    margin: 0 auto !important;
    padding: 42px 0 34px !important;
}

.footer .footer-blocks > .row {
    margin-left: -20px !important;
    margin-right: -20px !important;
}

.footer .footer-col {
    padding-left: 20px !important;
    padding-right: 20px !important;
    margin-bottom: 0 !important;
}

.footer h4 {
    margin: 0 0 14px !important;
    color: var(--x-purple) !important;
    font-size: 18px !important;
    font-weight: 700 !important;
}

.footer ul {
    margin: 0 !important;
    padding: 0 !important;
    list-style: none !important;
}

.footer li {
    margin: 0 0 7px !important;
}

.footer,
/* .footer p, */
.footer li,
.footer-address,
.footer-phone-number,
.footer-email {
    color: #58525e !important;
    font-size: 14px !important;
    line-height: 1.45 !important;
}

.footer a {
    color: #58525e !important;
    text-decoration: none !important;
}

.footer a:hover {
    color: var(--x-purple) !important;
}

.footer-social-wrap {
    display: none !important;
}

.footer-nav {
    margin: 0 !important;
    padding: 0 24px !important;
    background: #e7e3f1 !important;
    border-top: 1px solid #dcd7e7 !important;
    border-bottom: 1px solid #dcd7e7 !important;
}

.footer-nav ul {
    display: flex !important;
    align-items: center !important;
    justify-content: center !important;
    gap: 42px !important;
    width: 100% !important;
    max-width: var(--x-content) !important;
    min-height: 48px !important;
    margin: 0 auto !important;
}

.footer-nav li {
    margin: 0 !important;
}

.footer-nav a {
    color: var(--x-purple) !important;
    font-size: 13px !important;
    font-weight: 500 !important;
}

.footer-copy {
    width: 100% !important;
    margin: 0 !important;
    padding: 17px 24px 20px !important;
    color: #77717c !important;
    background: #fff !important;
    border: 0 !important;
    text-align: center !important;
    font-size: 12px !important;
    line-height: 1.35 !important;
}

.footer-copy p {
    margin: 3px 0 0 !important;
    font-size: 11px !important;
}

.footer-copy a {
    color: var(--x-purple) !important;
}

#back-to-top {
    background: var(--x-purple) !important;
    border-radius: 0 !important;
}

/* RESPONSIVE ---------------------------------------------------------------------- */
@media (max-width: 1199.98px) {
    .homepage .callouts {
        grid-template-columns: repeat(3, minmax(0, 1fr));
    }
}

@media (max-width: 991.98px) {
    #topBar {
        padding: 0 16px !important;
    }

    #topBar .logo-wrap {
        min-height: 58px;
    }

    #topBar .nav-ui-search {
        display: none !important;
    }

    #mainMenu {
        padding: 0 !important;
    }

    #mainMenuNav {
        max-width: none;
    }

    .mobile #mainMenu .navbar-toggler {
        width: 100%;
        min-height: 44px;
        padding: 10px 18px;
        color: #fff !important;
        background: var(--x-purple) !important;
        border: 0 !important;
        border-radius: 0 !important;
        text-align: left;
    }

    .homepage .homeslide {
        width: 100% !important;
        max-width: none !important;
        height: 350px !important;
        max-height: 350px !important;
        margin-top: 0 !important;
    }

    .homepage .homeslide .slick-list,
    .homepage .homeslide .slick-track,
    .homepage .homeslide .item {
        height: 350px !important;
        max-height: 350px !important;
    }

    .homepage #row-49 {
        width: calc(100% - 32px) !important;
    }
}

@media (max-width: 767.98px) {
    .homepage .homeslide,
    .homepage .homeslide .slick-list,
    .homepage .homeslide .slick-track,
    .homepage .homeslide .item {
        height: 285px !important;
        max-height: 285px !important;
    }

    .homepage .callouts {
        grid-template-columns: repeat(2, minmax(0, 1fr));
        gap: 8px !important;
    }

    .footer .footer-blocks {
        width: calc(100% - 32px) !important;
        padding-top: 32px !important;
    }

    .footer .footer-col {
        margin-bottom: 28px !important;
    }

    .footer-nav ul {
        flex-wrap: wrap !important;
        gap: 10px 24px !important;
        padding: 14px 0 !important;
    }
}

@media (max-width: 575.98px) {
    #topBar .nav-ui-brand img {
        max-width: 120px !important;
        max-height: 32px !important;
    }

    #topBar .nav-ui-utils .nav-link {
        font-size: 0 !important;
        padding: 7px 4px !important;
    }

    #topBar .nav-ui-utils ion-icon {
        font-size: 18px !important;
    }

    .homepage .homeslide,
    .homepage .homeslide .slick-list,
    .homepage .homeslide .slick-track,
    .homepage .homeslide .item {
        height: 225px !important;
        max-height: 225px !important;
    }

    .homepage #row-49 {
        width: calc(100% - 24px) !important;
    }

    .homepage .row-content {
        padding-top: 28px !important;
    }

    .homepage .callouts h2 a {
        font-size: 17px !important;
    }

    .featured-title.header-strike h4 {
        font-size: 21px !important;
    }
}


/* NOTE CARD MODAL */
/* NOTE CARD MODAL */
#noteCardCustomizeModal .modal-dialog {
    max-width: 90vw;
    width: 90vw;
    margin: 2vh auto;
}

#noteCardCustomizeModal .modal-content {
    height: 96vh;
}

#noteCardCustomizeModal .modal-body {
    height: calc(96vh - 60px);
    padding: 0;
}

#noteCardCustomizeModal iframe {
    width: 100%;
    height: 100%;
    border: 0;
}
#noteCardCustomizeModal button.close > span{
	position: absolute;
    transform: translate(-50%, -50%);
	color:#c0c1df;
	filter: drop-shadow(2px 4px 0px black);
}
/* NOTE CARD MODAL */
/* NOTE CARD MODAL */


.footer{
	/* background: linear-gradient(0deg, rgb(90 35 185) 20%, rgb(75 32 147 / 60%) 50%, rgb(239 237 247) 100%); */
	background: linear-gradient(90deg, #f8f7fc 0%, #d8d5f4 38%, #bbb7ec 60%) !important;
    filter: progid:DXImageTransform.Microsoft.gradient(startColorstr="#030002",endColorstr="#302e2f",GradientType=1);
    border-top: 18px solid var(--accent);
    color: #fff;
    padding-bottom: 0;
    padding-top: 0;
}


.footerLogo {
    /* border-bottom: 1px solid var(--primary); */
    padding: 1rem 0;
}

.footerLogo img {
    max-width: 175px;
}

.footerIdegy {
    text-align: right;
    padding-top: 0.5rem;
}
.desktop .footerIdegy .container {
    display: flex;
    justify-content: flex-end;
}
.desktop .footerIdegy .containerWrap {
    max-width: 430px;
    font-size: .9rem;
}
.footerIdegy .containerWrap p{
	color:#fff;
}
.footerIdegy img {
    max-width: 150px;
    margin-bottom: 0.25rem;
}


.default-login,
#smalllogon .form-group{
	max-width:350px;
	display: flex;
    flex-direction: column;
    align-items: center;
}
.default-login,
#smalllogon #LogonSave{
	width:100%;
	max-width:350px;
}
.modal-forgot,
.modal-register-wrap{
	display:none;
}

.desktop.grp-id-1 .row-content .content{
    display: flex;
    justify-content: center;
    align-items: center;
    height: 100vh;
}
#smalllogon{
	width:100%;
}

.attrnm-DesignID input, 
.attrnm-NoteCardTypeTemplate input{
	pointer-events: none;
    background-color: #f5f5f5; /* Visual indicator that it is locked */
    color: #888888;
}