/** Shopify CDN: Minification failed

Line 606:5 Expected identifier but found "."
Line 816:26 Unexpected "*"

**/


html {
  scroll-behavior: smooth;
  scrollbar-width: thin;
}

body {
  background2: #f5f5fa;
  background-image2: url("xxxx/cdn/shop/files/icon-diamond.png?v=1779507569"); /* fallback */
  background-image2: url("xxxx/cdn/shop/files/icon-diamond.png?v=1779507569"), linear-gradient(180deg,rgba(230, 230, 237, 1) 0%, rgba(216, 216, 227, 1) 100%); 
  max-width2:2200px;
  margin-inline2: auto; 
  width2: 100%; 
  background-size2: 40px;
  background-size2: contain;
  background-repeat2: no-repeat;
  background-position2: 0; 
}


main {
  border2: none;
}





@media screen and (max-width: 749px) {
   main {
  border: none;
  padding-left2:10px;
  padding-right2:10px;
}

}



/*////////////////////////////// Marquee Scroll //////////////////////////////*/

.scrolling-message {
  background-color: #000;
  color: #fff;
  text-transform: uppercase;
  overflow-x: hidden;
  margin-left2:20px;
  margin-right2:20px;
  font-family: "Roboto Mono", monospace;
}
.scrolling-marq {
  display:flex;
  flex-wrap: nowrap;
  white-space: nowrap;
  min-width: 100%;
}
.news-message {
  display : flex;
  flex-shrink: 0;
  height: 26px;
  align-items: center;
  animation: slide-left 40s linear infinite;
}
.marq-item {
    font-size: .8em;
    list-style-type: none;
    margin-right:5em;
  }
  @keyframes slide-left {
  from {
    -webkit-transform: translateX(0);
            transform: translateX(0);
  }
  to {
    -webkit-transform: translateX(-100%);
            transform: translateX(-100%);
  }
}
.marquee {
  overflow: hidden;
  white-space: nowrap;
  width: 100%;
}
.marquee-content {
  display: inline-block;
  animation: marquee-animation 10s linear infinite;
}
@keyframes marquee-animation {
  from { transform: translateX(0); }
  to { transform: translateX(-50%); } /* Move half-way to loop seamlessly */
}











/*////////////////////////////////////////- TOP MENU -////////////////////////////////////////*/

/*- Pull all page content up under transparent menu -*/
#MainContent {
    margin-top:-60px;;
}

/*- Menu Padding for desktop -*/
@media screen and (min-width: 750px) {
    .section--full-width.section--full-width-margin>* {
        padding-left2: 20px;
        padding-right2: 20px;
    }
}

/*- Menu hover colour -*/
 .menu-list__link--active, .menu-list .menu-list__list-item:where(:hover,:focus-within) .menu-list__link, .menu-list  {
    text-decoration: none;
}
 .menu-list__link--active, .menu-list .menu-list__list-item:where(:hover,:focus-within) {
    color: #000;
    text-decoration: underline;
}

.menu-list__link-title {
  margin-left:8px;
  margin-right:8px;
  letter-spacing:0.5px;
  word-spacing2: -0.2em;
}

/*- Menu item active page -*/
.menu-list:not(:has(.menu-list__list-item:hover)) .menu-list__link--active {
  color:#000;
}

.dropdown-localization__button {
  letter-spacing:0.5px;
}
.localization-form__list {
    scrollbar-width: thin;
}

/*- Font used for Price and Location dropdown -*/
.currency-code {
    font-size: 1.1rem;
    font-family: "Roboto Mono", monospace;
}

/*- Header Icon Size -*/
.header__row2 {
  --icon-size-md: 1.5rem;
  --icon-stroke-width: 1.1px;
}

/*- Header subtle blur effect -*/
.header2 {
  -webkit-backdrop-filter: blur(1px) ;
  backdrop-filter: blur(1px);
  border-bottom:1px black solid;
}

/*- Header alignment with page border -*/
.header-section {
  margin-right2:20px;
  margin-left2:20px;
  margin-top:0px;
}

/*- Gradient under menu -*/
.header__underlay2 {
  background-image: linear-gradient(180deg,rgba(255, 255, 255, 1) 0%, rgba(255, 255, 255, 1) 25%, rgba(255, 255, 255, 1) 50%, rgba(255, 255, 255, 0.9) 75%, rgba(255, 255, 255, 0.65) 100%);
}



.header-menu__inner {
font-family: "Roboto Mono", monospace;
text-transform: uppercase;

}

























/*////////////////////////////////////////- PRODUCT CARD -////////////////////////////////////////*/

product-card .group-block-content .text-block p  {
  letter-spacing: 0.2px;
}

.product-card p {
  text-decoration: underline 1.5px;
  text-decoration-color: #d2d2d2ff;
  transition: text-decoration-color 1s;
}

.product-card:hover p {
  text-decoration-color: #000;
}


.product-badges__badge {
    font-size: 10px;
    font-weight: 600;
}





.button-28 {
  appearance: none;
  background-color: transparent;
  border: 1px solid #1A1A1A;
  border-radius: 1px;
  box-sizing: border-box;
  color: #3B3B3B;
  cursor: pointer;
  display: inline-block;
  font-family: "Roboto Mono", monospace;
  font-size: 16px;
  font-weight: 400;
  line-height: normal;
  margin: 0;
  min-height: 60px;
  min-width: 0;
  outline: none;
  padding: 16px 24px;
  text-align: center;
  text-decoration: none;
  transition: all 1s cubic-bezier(.23, 1, 0.32, 1);
  user-select: none;
  -webkit-user-select: none;
  touch-action: manipulation;
  width: 100%;
  text-transform: uppercase;
}

.button-28:disabled {
  pointer-events: none;
}

.button-28:hover {
  color: #fff;
  background-color: #1A1A1A;
  box-shadow: rgba(0, 0, 0, 0.25) 0 8px 15px;
}

.button-28:active {
  box-shadow: none;
}








/*////////////////////////////////////////- PRODUCT PAGE VARIANTS -////////////////////////////////////////*/

/* bottom padding for slideshow counter */
.slideshow-controls__counter {
  margin-bottom: 10px;
    border-radius: 5rem;
    padding: .2rem var(--padding-sm);
    font-size: 12px;
    font-weight: 400;
}

/* shrinks size selector buttons hight */
.variant-option--buttons legend {
    max-height2: 30px;
}

.product-details .quantity-selector, .product-details .quantity-selector-wrapper {
    display:none;
}

/* Hide colour swatches */
.variant-option__swatch-value, .variant-option--swatches, variant-option__swatch-value {
  display:none;
}
/* Hide length variant */
.variant-picker__form [data-testid="variant-option-single"] {
  display:none;
}




.variant-length {
  min-height:60px;
  margin-top:20px;
}

.variant-print {
  min-height:55px;
}

.title-length{
  letter-spacing: 0.1px;
  background2:red;
  margin-right:-1px;
}

.title-print{
  letter-spacing: 1px;
  background2:red;
  margin-right:3px;
}


/* Variant custom titles */
.variant-custom-title {
  font-size:18px;
  font-family: "Roboto Mono", monospace;
  text-transform:uppercase;
}


.active, .not-active, .title-colour   {
    font-size:18px;
    font-family: "Roboto Mono", monospace;
    text-transform:uppercase;
    word-spacing: -5px;
    display2:block;
}

/* variant selection when not a link */
.active, .title-colour {
    color: black; 
}

/* variant selector links - ACTIVE */
.active:link, .active:visited, .active:hover  {
    color: black;
    background2:black;
    text-decoration2: underline; 
    text-decoration-thickness2: 3px;
    text-decoration: underline solid black 2.5px;
    text-underline-offset: 0.2em;
    border2: 1.5px solid black;
    border-radius2: 2px; 
    padding2: 1px 5px 1px 5px;
}

/* variant selector links  */
.not-active:link, .not-active:visited  {
    color: #444;
    text-decoration2: underline; 
    text-decoration-thickness2: 1px;
    text-underline-offset: 0.2em;
    text-decoration: underline dashed lightgray 1.5px;
    border2: 1.5px solid black;
    border-radius2: 2px; 
    padding2: 1px 5px 1px 5px;
}


/* Mouse over link */
.active:hover2 {
    color: black;
    text-decoration: underline; /* Adds underline on hover */
}

/* Mouse over link */
.not-active:hover {
    color: black;
    text-decoration: underline; /* Adds underline on hover */
}

/* Selected link */
.active:active {
   color: orange;
}







.variant-option+.variant-option {
    margin-top: -5px;
}

/* Size Selector buttons spacing */
.variant-option--buttons {
    gap: 0.4rem;
}








/* Size Selector title */
 .variant-picker__form legend  {
    float: left;
    padding-top:10px;
    font-size:18px;
    font-family: "Roboto Mono", monospace;
    text-transform:uppercase;
}

/*- Variant button styling - used for size selector -*/
.variant-option__button-label {
    color: #333;
    font-size: 18px;
    font-family: "Roboto Mono", monospace;
    flex: 0 0 1em;
    align-items: center;
    position: relative;
    padding-block: 0.3rem;
    padding-inline: 0.3rem;
    min-height: 40px;
    min-width: fit-content;
    white-space: nowrap;
    background-color: transparent;
    gap: 0;
    border: 2px solid transparent;
    text-decoration2: underline dotted lightgray 2px;
    text-underline-offset: 0.2em;
    border-radius2: 2px; 
    padding: 0px 15px 0px 15px;
}

/*- Variant button styling - used for Size Selector - ACTIVE -*/
.variant-option__button-label:has(:checked) {
    color: black;
    border-color2: transparent;
    text-decoration2: underline;
    text-underline-offset: 0.2em;
     border: 2px solid black;
    border-radius: 0px; 
    padding: 0px 15px 0px 15px;
    text-decoration2: underline solid black 3.5px;
}

/*- Add to Cart button text -*/
 .add-to-cart-text {
    font-size: 17px;
    letter-spacing: 1px;
    word-spacing: -0.2em;
    font-family: "Roboto Mono", monospace;
    text-transform: uppercase;
}






.product-details {
  font-family: "Roboto Mono", monospace;
  font-size:16px;
}












/*////////////////////////////////////////- PRODUCT PAGE MEDIA -////////////////////////////////////////*/

.product-media {
    padding: 5px;
}




.product-information__media {
--icon-size-sm: 5.25rem; 
}


label:has(input[type=radio]), label:has(input[type=checkbox]) {
    display: inline-flex;
    align-items: center;
    gap: 0.1rem;
    row-gap: 0.1rem;
    column-gap: 0.1rem;
    cursor: pointer;
}












/*////////////////////////////// Size Table //////////////////////////////*/

/* 1. Hide inches by default */
.in-val { display: none; }
.cm-val { display: inline; }

/* 2. The Logic: If the container has a checked input, swap visibility */
.size-container:has(#unit-toggle:checked) .cm-val {
  display: none;
}

.size-container:has(#unit-toggle:checked) .in-val {
  display: inline;
}

/* ---------- Toggle Styling ---------- */

.switch { 
  position: relative; 
  display: inline-block; 
  width: 46px; 
  height: 23px; 
}
.switch input { 
  opacity: 0; 
  width: 0; 
  height: 0; 
}
.slider { 
  position: absolute; 
  cursor: pointer; 
  top: 0; 
  left: 0; 
  right: 0; 
  bottom: 0; 
  background-color: #EEEEF3; 
  transition: .3s; 
  border-radius: 20px; 
  border:1.5px solid #000;
}
.slider:before { 
  position: absolute; 
  content: ""; 
  height: 14px; 
  width: 14px; 
  left: 3px; 
  bottom: 1.5px; 
  background-color: #02FE60; 
  border: 1.5px #000 solid;
  transition: .3s; 
  border-radius: 50%; 
}
input:checked + .slider { 
  background-color: #EEEEF3; 
}
input:checked + .slider:before { 
  transform: translateX(20px); 
}
.toggle-measurement {
  background2:red;
  font-size:18px;
}
.toggle-wrapper {
  background2:red;
  float: right;
  padding-bottom:20px;
  padding-right:10px;
}
span..toggle-wrapper {
  background2:red;
  float2: right;
  padding-bottom2:20px;
  padding-top:10px;
}
.toggle-wrapper label:has(input[type=checkbox]) {
    display: inline-block;
    display: 
    background:red;
}

/* ---------- Table Styling ---------- */

.length-short {
  font-size:11.5px;
  font-weight:600;
  text-decoration: underline;
  color:#fff;
}
.length-standard {
  font-size:11px;
  font-weight:600;
  text-decoration: underline;
  color:#fff;
}
.size-container {
  width: 100%; 
  position: relative;
  margin-top: -45px;
}
.size-container table {
  margin-top2: 5px;
	border-collapse: collapse;
	width: 100%;
  table-layout: fixed;
  overflow-wrap: normal;
}
.size-table { 
  width: 100%; 
  border-collapse: collapse; 
  margin-top: 10px; 
}
.size-table td, .size-table th { 
  border: 1px solid #333; 
  padding: 8px; 
}
.size-table td {
  min-width:50px;
}
.size-table thead td {
	border: 0;
}
.size-table th, .size-table td 
{
	text-align: center;
	padding: 12px 2px;
}
.size-table th
{
	background: #000;
	color: #fff;
	font-weight: normal;
}
.size-table thead td
{
	border: 0;
}
.size-table td:first-child
{
	border-left: 0;
  background:#999;
  color: #000;
}
.size-table td:last-child
{
	border-right: 0;
}
.size-table tr:nth-child(2n)
{
	background: #f1f1f1;
}
.size-table:hover
{
  cursor:default;
}
















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

.shopify-section-group-footer-group {
  margin-top: 0px;
  margin-right2:20px;
  margin-left2:20px;
  margin-bottom2:20px;
}

.menu__heading__default, .menu__heading  {
    display: none;
}

.footer-link {
  font-size:16px;
  font-family: "Roboto Mono", monospace;
}



.email-signup__form email-signup__input-group email-signup__input-group--integrated  {
    border-width2: 1px;
    border-radius2: 2px;
}

.email-signup__input-group--integrated {
  border-radius2: 2px;
}

.email-signup__input-group--integrated {
    border-width: 1px;
    border-radius: 2px;
    border-style: solid;
    border-color: var(--color-input-border);
    background-color: black;
}










 .text-divider {
  height:1px;
  background: black;
  width:100%;
}

 .text-divider2 {
  display: flex;
  align-items: center;
  text-align: center;
  color: #666;
}

.text-divider2::before,
.text-divider2::after {
  content: '';
  flex: 1;
  border-bottom: 1px solid #000;
}











































.product-accordian details* {
 margin: 0;
 }

 .product-accordian details > * {
 padding-inline: var(--space-m); 
 font-size: var(--step-0);     
 }

 .product-accordian details {
 background-color: var(--shade);
 overflow: hidden; 
 }

 
 /* Height animation*/
   
 @media (prefers-reduced-motion: no-preference) {
 .product-accordian details::details-content{
 transition: block-size .3s,
 content-visibility .3s;
 transition-behavior: allow-discrete; 
 }
 }

 .product-accordian details::details-content {
 block-size: 0;
 }

 .product-accordian details[open]::details-content { 
 block-size: auto; 
 }

 /* Fixed height with overflow. 
 Odd results with nth-child so a class was used.
 */

 .product-accordian details[open].details-scroll::details-content { 
 block-size: 12rem; 
 overflow-x: auto;
 }

 .product-accordian summary {
 font-size:var(--step-1); 
 font-weight:400;   
 text-transform: uppercase;
 padding-block: var(--space-s); 
 cursor: pointer;
 position: relative;
 border-bottom:1px solid black;
 border-top2: 1px solid black;
 padding-top: 10px;
 padding-bottom:10px;
  }
  
 .product-accordian summary::before,
 .product-accordian summary::after {
 transition: .2s;
 }

  .product-accordian summary::before,
  .product-accordian summary::after {
 content: '';
 }

   .product-accordian summary::before,  
   .product-accordian summary::after { 
  inline-size: .75em; 
  block-size: 0; 
  border-block-end: 1px solid; 
  position: absolute; 
  inset-block-start: calc(50% - 1px); 
  inset-inline-end: 2rem; 
  transform: translateY(-50%); 
}

  .product-accordian summary::after {
 transform: rotate(90deg);
 transform-origin: 50% 50%;

 }
 [open] summary::after {
 transform: rotate(0deg);
 }
 .product-accordian details p {
 padding-block-end: var(--space-s);
 }

 .product-accordian summary::marker {
 content: none; 
 }

/* Hides the marker on Safari. 
 Thanks to daveden.co.uk */
 .product-accordian summary::-webkit-details-marker {
    display: none;
 }


/* Relative color to darken the hover*/
 .product-accordian summary:hover{
 background-color2: hsl(from var(--shade) h s calc(l + -2));
 transition2: .2s ease-in;  
 }











 /* This is in my CSS reset.
It is needed to animate the opening of <details> */

html {
  interpolate-size: allow-keywords;
}

