/*********** Standardized Storefront CSS ***********/


/****** Navigation ******/

/* Top Nav */
#main-nav {
  box-sizing: content-box;
  border-bottom: 3px solid transparent;
}

/* Top Nav Mobile Fix */
@media screen and (max-width: 1087px) {
  .navbar-brand { margin: 0; }
  .navbar-brand {
    margin-right: 64px;
    margin-left: -64px;
  }
}
@media screen and (max-width: 767px) {
  .navbar-brand { margin: 0; }
  .navbar-brand {
    margin-right: 20px;
    margin-left: -20px;
  }
}

/* Logo Size */
.navbar-item img { max-height: 5em; }

/* Nav Titles */
.navigationmenu h6,
.block-account-navigation .title { letter-spacing: 0.1rem; }

/* Active Nav Item */
.navigationmenu ul li.active > a,
.block-account-navigation ul a.active,
.block-account-navigation ul a.is-active { font-weight: bold; }

/* Page Links */
.pager { text-align: right; }


/****** Category View ******/

/* Category Fixes */
.hero { text-align: center; }
.category-intro-wrapper { padding-top: 0 !important; }

/* Put Space Between Product Rows */
.listItem { margin-bottom: 2.5rem; }


/****** Product View ******/

/* Resize Thumbnails */
.thumb a img {
  display: block;
  margin: 0 auto;
  max-width: 140px !important;
}

/* Titles */
.producttags-box__title {
  font-size:  2.074rem;
  font-weight: normal;
  margin: 1.5rem 0;
}
h2.proddesc-title {
  font-size:  2.074rem;
  font-weight: normal;
}

/* Rearrange Sections */
.product-info-section .details-wrapper,
.product-collateral .overview {
  display: flex;
  flex-direction: column;
}
.review-wrapper { order: 2; }
.productspec-box {
  order: 1;
  margin-bottom: 3rem;
}

/* Hide Tier Table + Adjustment Percentage */
.tier-prices { display: none; }
.priceAdjustmentValue { display: none; }

/* Keep Quantity on Same Line */
.arone-product-landing-page .column.quantity-wrapper {
  width: 100%;
  min-width: auto;
}

/* Fix Specification Typo */
.productspec-box > .title {
  font-size:  0;
  visibility: hidden;
}
.productspec-box > .title:before {
  content: "Product Specifications";
  font-size:  2.074rem;
  visibility: visible;
  cursor: text;
}

/* Style Left Column of Specification Table */
.productspec-list > table > tbody > tr > td:first-of-type {
  font-weight:  bold;
  padding-right: 1em;
}

/* Adjusts Spacing for Addtl Desc */
.additional-description-section { padding-top: 0; }


/****** Payment Gateway ******/

/* Centers Payment Form */
.Sagepay-popup-container {
  position: fixed;
  top: 50%;
  left: 50%;
  transform: translate(-50%, -50%);
  border: 1rem solid transparent;
}

/* Header */
.payment-header {
    display: flex;
    align-items: center;
    justify-content: space-between;
    margin-bottom: 1rem;
}
.payment-header img {
    height: 2.5rem;
    width: auto;
}
.payment-header h2 {
    color: #000000;
    font-size: 1rem;
}

/* Accepted Methods */
.payment-title {
    font-size: 0.9rem;
    letter-spacing: 0.1rem;
    text-transform: uppercase;
}

/* Close Payment Window Link */
.AbortPayment:hover { opacity: 0.8; }


/****** Footer ******/

/* Footer Navigation */
.ict-dedicated-footer-column-2 .navigationmenu,
.ict-dedicated-footer-column-2 .navigationmenu ul a { padding: 0; }
.ict-dedicated-footer-column-2 .navigationmenu--title { display: none; }
.ict-dedicated-footer-column-2 .navigationmenu ul { line-height: initial; }
.ict-dedicated-footer-column-2 .navigationmenu ul li.active > a {
  font-weight: normal;
  background: transparent;
}
.ict-dedicated-footer-column-2 .navigationmenu ul li > a:hover { background: transparent; }

/* Hide Account Links */
ul.adminmenu { display: none; }


/****** Misc ******/

/* Style Buttons */
input[type="button"], button, 
.button, .catfish-button {
  color: #ffffff;
  font-weight: bold;
  border-radius: 0.25em;
}

/* Button Fixes */
#showadminpanelbutton { color: #000000; }
.additional-description-wrapper button { margin: 0 auto; }

/* Login Page Full Image */
.login__wrapper > .catfish-container {
  height: 100vh;
  overflow-y: auto;
}

/* Main Page Image Stretch Fix */
.banner .image img { width: auto; }
.has-height-256-tablet-only,
.has-height-256-mobile { height: auto !important; }

/* Resize Search Bar */
.awesomplete { width: 100%; }


/****** Content Pages ******/

/* Contact Page */
.contact-cols .column { text-align:  center; }




/*********** Customer Customized CSS ***********/

/* NOTES ***************************************
 * Primary Color: #000000 / rgb(0,0,0)
 * Secondary Color: #D13131 / rgba(209,49,49)
 * Text Color: #000000 / rgb(0,0,0)
 * Background: #ffffff / rgb(255,255,255)
 * Accent Color: #F89E1B / rgb(248,158,27)
 * Fonts: 'Poppins'
 ***********************************************/

/* Nav + Payment Gateway Border Colors */
#main-nav, .Sagepay-popup-container { border-color: #D13131; }

/* Title Color */
h1, h2, h3, h4, h5, h6,
.partHeader--title,
.navigationmenu h6,
.block-account-navigation .title,
.login-title,
.productspec-box .title,
.producttags-box__title,
h2.proddesc-title { color: #000000; }
footer h3, footer h4 { color: #ffffff; }

h1, h2, .title, .ict-sub-title, footer .subtitle {
  font-family: 'Poppins'; 
  font-weight: bold;
  letter-spacing: 0.5px;
}
.block-account-navigation .title { font-family: 'Poppins'; }
.hero-body .title {
  font-size: 3rem;
  font-weight: bold;
  letter-spacing: 0.5px;
  margin-bottom: 0 !important;
}
.nav-search-container > div.is-flex { justify-content: center; }
.nav-search-container {  
  border-bottom: 1px solid #D13131;
  background: #000000;
}

/* Search Bar Fix */
.awesomplete-popup {
  position: fixed !important;
  top: 160px !important;
  z-index: 31 !important;
}

/* Navbar Category Navigation */
.navbar-dropdown .navigationmenu { padding: 0; }
.navbar-dropdown .navigationmenu--title,
.navbar-dropdown .expandedListItem { display: none; }
.navbar-dropdown .navigationmenu--categories { columns: 4; }
.navbar-dropdown .navigationmenu--categories li { width: 200px; }
.navbar-dropdown .navigationmenu ul li.active > a { 
  background: transparent; 
  color: #000000;
  font-weight: normal;
}
.navbar-dropdown .navigationmenu ul li.active > a:hover { background: #F5F9FB; }
.navbar-dropdown hr { margin: 0.25rem; }

@media screen and (max-width: 1086px) {
  .navbar-dropdown .navigationmenu--categories { 
    font-size: 0.875rem;
    padding: 0 2rem;
    columns: 1; 
  }
  .ict-navbar .navbar-item.has-dropdown.is-active .navbar-dropdown .navbar-item {
    padding: 0.5rem 2.5rem;
  }
}


/* Header Slideshow */
.header-logo { padding-bottom: 3rem !important; }
.header-logo .image {
  width: 65%;
  margin: 0 auto;
}
.header-logo .welcome-title { font-size: 3rem; }
.header-logo .welcome-text { font-size: 1.2rem; }
.header-featured { text-align: center; }
.flexslider.infigo-slider .flex-control-paging li a { background: rgba(255,255,255,0.5) !important; }

/* Active Nav Item Color */
.navigationmenu ul li.active > a,
.block-account-navigation ul a.active,
.block-account-navigation ul a.is-active { 
  background-color: #F89E1B; 
  color: #D13131;
}
.ict-dedicated-footer-column-2 .navigationmenu ul li > a { color: #ffffff; }
.ict-dedicated-footer-column-2 .navigationmenu ul li.active > a { color: #ffffff; }
.ict-dedicated-footer { margin-bottom: -23px; }

/* Featured Categories Fixes */
.homePageCategories .columns { justify-content: center; }
.homeFeaturedCategoriesWrapper {
  padding-top: 0;
  padding-bottom: 2rem;
}
.homeFeaturedCategoriesTitleRow__title {
  background: #D13131;
  padding: 1.5rem 0 !important;
  margin-bottom: 4.5rem;
}
.homeFeaturedCategoriesTitleRow__title h3 {
  margin: 0 !important;
  font-size: 2.5rem;
  font-weight: bold;
  letter-spacing: 0.5px;
  text-transform: capitalize;
  color: #ffffff;
}
.homeFeaturedCategoriesWrapper .small-product-item {
  border-top: none !important;
  border-bottom: solid 5px #000000;
  transition: border 0.3s;
}
.homeFeaturedCategoriesWrapper .small-product-item:hover {
  border-color: #D13131;
}
.homeFeaturedCategoriesWrapper .category-item .product-title {
    background: #000000 !important;
    font-weight: bold;
    transform: translateY(0) !important;
    position: relative !important;
}
.homeFeaturedCategoriesWrapper .category-item:hover .product-title {
    background: #D13131 !important;
}
.homeFeaturedCategoriesWrapper .category-item .product-title a {
    color: #ffffff !important;
    text-transform: uppercase;
    letter-spacing: 0.5px;
    font-size: 1rem;
}
.homeFeaturedCategoriesWrapper .category-item img {
    object-fit: initial !important;
    width: 100% !important;
    height: auto !important;
}

/* Coming Soon Image Overlay */
.coming-soon .bigpicture:after,
.page-catalog-category .coming-soon .picture a:after,
.search-panel .coming-soon .picture a:after {
  background: rgba(248,158,27,0.75);
  color: #ffffff;  
  height: 33.4%;
  content: 'COMING SOON';
  position: absolute;
  display: flex;
  top: 33.3%;
  justify-content: center;
  align-items: center;
  text-align: center;
  line-height: 105%;
  backdrop-filter: blur(10px);
}
.coming-soon .bigpicture:after {
  width: calc(100% - 6px);
  left: 3px;
  font-size: 3rem;
}
.page-catalog-category .coming-soon .picture a:after,
.search-panel .coming-soon .picture a:after {
  width: 100%;
  left: 0;
  font-size: 1.75rem;
}
.page-catalog-category .coming-soon .description,
.search-panel .coming-soon .description { font-weight: bold; }

/* Move Typical Use section in product */
.typical-use { margin: -0.75rem 0 2rem 0; }

/* Make product image sticky */
.picture-wrapper .product-details-info {
  position: sticky;
  -webkit-position: sticky;
  top: 7rem;
}

/* Cart Fixes */
.shoppingcart__wrapper .rawAttributeInfo__item {
  display: flex;
  align-items: center;
}
.shoppingcart__wrapper .rawAttributeInfo__item > span {
  margin-top: 0.25rem;
}
.shoppingcart__wrapper .rawAttributeInfo__item .title {
  margin: 0.25rem 0 0 0;
  white-space: nowrap;
}
.shoppingcart__wrapper .rawAttributeInfo__item .value { margin-left: 0.4rem; }

/* Reformat Shipping Text in Checkout */
.checkout_attribute_item.Checkboxes,
.checkout_attribute_item.Datepicker,
.checkout_attribute_item.TextBox { width: 100% !important; }
.co-info p { margin-bottom: 1rem; }
.checkout_attribute_item.TextBox input { max-width: 150px !important; }
.datepick-warn { 
  display: block;
  background: #d13131;
  color: #ffffff;
  margin-top: 1rem;
  padding: 1rem;
}

/* Fix Content page ULs */
.topicpage ul {
  list-style-type: disc !important;
  padding: 0 1rem;
  margin: 0 1rem;
}

/* Footer Copyright + Policy Links */
.ict-dedicated-footer-column-1 {
  display: flex;
  flex-direction: column;
  justify-content: space-between;
}
.footer-copyright { margin-top: 2rem; }
.footer-copyright h4 {
  display: flex;
  justify-content: space-between;
  align-items: center;
  gap: 1rem;
}
.ict-dedicated-footer .support-link a { margin-right: 0.5rem; }
.ict-dedicated-footer .policy-links { font-size: 0.75rem; }
.ict-dedicated-footer .policy-links a { 
  color: #D13131 !important; 
  margin-right: 0.5rem;
}
.ict-dedicated-footer-column-1 .ict-paragraph { margin-top: 1rem; }

/* Hide Add to Cart Button in Category / Search View */
.page-catalog-category .productlistaddtocartbutton,
.search-panel .productlistaddtocartbutton { display: none; }

/* Store-Specific Category Formatting */
.store-specific .sub-category-grid .listWrapper .item-box {
  border-bottom: solid 5px #D13131;
  border-top: none;
  height: 82px;
}
.store-specific .sub-category-grid .listWrapper .item-box .sub-category-item { background: #000000 !important; }
.store-specific .sub-category-grid .listWrapper .item-box .sub-category-item .category-title { 
  display: flex;
  justify-content: center;
  align-items: center;
  height: 77px;
  padding: 1rem;
  transform: none; 
}
.store-specific .sub-category-item .category-title a { 
  color: #ffffff; 
  text-transform: uppercase;
  letter-spacing: 0.5px;
}
.store-specific .sub-category-grid .listWrapper .item-box .sub-category-item:hover .category-title { background: #D13131 !important; }
.store-specific .item-box:has(.sub-category-item:hover) { border-bottom: solid 5px #000000; }

/* Add Product Item Form Modal */
.modal#add-product.is-shown { display: flex !important; }
.modal#add-product .modal-card { width: 50dvw; }
.modal#add-product .modal-header {
  background: #ffffff;
  text-align: right;
  padding: 0.25rem 1rem;
  border-bottom: 1px solid %Theme.secondaryColor%;
}
.modal#add-product .modal-header span {
  font-size: 2rem;
  font-weight: bold;
  transition: color 0.3s;
}
.modal#add-product .modal-header span:hover {
  cursor: pointer;
  color: %Theme.secondaryColor%;;
}
.modal#add-product .modal-card-body { max-height: 70dvh; }

@media screen and ( max-width: 1279px) { .modal#add-product .modal-card { width: 75dvw; } }
@media screen and ( max-width: 600px) { 
  .modal#add-product .modal-card { width: 97.5dvw; } 
  .modal#add-product .modal-card-body { max-height: 90.5dvh; }
}

/* THiiNK Services Page */
.fs-learnmore { margin: auto 20rem 5rem 0; }
.thiink-services .columns {
  gap: 2rem;
  justify-content: center;
  align-items: center;
  margin-bottom: 2rem;
}
.thiink-services .ict-content-column { width: 66%; }
.thiink-services .ict-image-column { width: 30%; }
.thiink-services .image img { border-radius: 100%; }
@media screen and ( max-width: 842px) { .thiink-services .is-order-3 { order: 1; } }