/*Branding*/
:root {
    --black: #000;
    --grey: #f1f1f1;
    --green: #32cd32;
    --red: #ff0000;
    --blue: #36c;
    --title-font: "Sofia Sans Extra Condensed", sans-serif;
    --body-font: "Host Grotesk", sans-serif;
    --backup-font: "Oswald", sans-serif;
    --layer-header: 500;
    --layer-banner: 600;
    --layer-overlay: 900;
    --layer-drawer: 1000;
    --layer-consent: 1100;

    --mono-1: #000 !important;
    --mono-2: #222 !important;
    --mono-3: #333 !important;
    --mono-4: #666 !important;

    --pink-1: #7a1b4f !important;
    --pink-2: #9b236a !important;
    --pink-3: #c71585 !important;
    --pink-4: #e75480 !important;

    --red-1: #800000 !important;
    --red-2: #991111 !important;
    --red-3: #b22222 !important;
    --red-4: #e74c3c !important;

    --orange-1: #994400 !important;
    --orange-2: #b34700 !important;
    --orange-3: #cc5500 !important;
    --orange-4: #ff7f32 !important;

    --yellow-1: #8b8000 !important;
    --yellow-2: #a18d00 !important;
    --yellow-3: #bfa500 !important;
    --yellow-4: #e6c300 !important;

    --green-1: #004d00 !important;
    --green-2: #116611 !important;
    --green-3: #228b22 !important;
    --green-4: #5cb85c !important;

    --blue-1: #00264d !important;
    --blue-2: #0d3a7a !important;
    --blue-3: #1e5eb7 !important;
    --blue-4: #4a90e2 !important;

    --purple-1: #2e003e !important;
    --purple-2: #4a0670 !important;
    --purple-3: #6a0dad !important;
    --purple-4: #9b59b6 !important;
}


/* Resets & Defaults */
*,
*::before,
*::after {
    box-sizing: border-box;
    margin: 0;
    padding: 0;
}

html {
    -moz-text-size-adjust: none;
    -webkit-text-size-adjust: none;
    -ms-text-size-adjust: none;
    -o-text-size-adjust: none;
    text-size-adjust: none;
}

body::-webkit-scrollbar,
html::-webkit-scrollbar,
ul::-webkit-scrollbar {
    display: none !important;
}

body,
html,
ul {
    scrollbar-width: none !important;
    -ms-overflow-style: none !important;
    scroll-behavior: smooth !important;
    touch-action: manipulation;
    -webkit-overflow-scrolling: touch;
}

body.freeze * {
    pointer-events: none !important;
}

body,
h1,
h2,
h3,
h4,
h5,
h6,
p,
blockquote,
pre,
dl,
dd,
ol,
ul,
figure,
hr {
    margin-block-end: 0;
    color: black;
}

ul,
ol {
    list-style: none;
}

body {
    background-color: white !important;
}


[id] {
    scroll-margin-top: 120px !important;
    /* Offset for top of scrolled-to el */
}

h1,
h2,
h3,
a,
li,
button.btn {
    font-family: var(--title-font);
    text-wrap: balance;
    text-transform: uppercase;
    text-decoration: none;
    text-align: center;
    font-weight: 600;
    font-style: normal;
    width: 100%;
}

div {
    font-family: var(--body-font);
}

h1 {
    font-size: 50px;
    line-height: 50px;
    margin-top: 50px;
}

h2 {
    font-size: 36px;
    line-height: 36px;
}

h3 {
    font-size: 30px;
    line-height: 30px;
}

a,
button.btn {
    font-size: 20px;
    line-height: 20px;
    cursor: pointer;
}

p,
.text {
    font-family: var(--body-font);
    text-wrap: wrap;
    overflow-wrap: break-word;
    white-space: normal;
    text-wrap: wrap;
    word-wrap: break-word;
    width: 60%;
    margin: 0 auto;
    font-weight: 400;
    font-style: normal;
    font-size: 16px;
    line-height: 1.2;
    text-transform: none;
    text-align: left;
}

:is(p,.text) a {
        color: var(--blue-3);
        text-decoration: underline;
        cursor: pointer;
        text-transform: unset;
        font-family: inherit;
        font-size: inherit;
        line-height: inherit;
        font-weight: inherit;
        width: fit-content;
        white-space: nowrap;
    }

@media only screen and (max-width: 800px) {
    p {
        width: 90%;
    }
}

input,
button,
textarea,
select {
    font-family: var(--body-font);
    font-size: 16px;
    font-weight: 400;
    font-style: normal;
    padding: 10px 14px;
    border: 2px solid var(--grey);
    border-radius: 5px;
    width: 100%;
}

input:focus,
textarea:focus {
    outline: none;
}

.input-error {
    border: 2px solid var(--red) !important;
}

label {
    font-family: var(--body-font);
    color: black;
    font-family: var(--body-font);
    font-size: 14px;
    width: 100%;
}

.dropdown {
    appearance: none;
    -webkit-appearance: none;
    -moz-appearance: none;
    background-image: url("/assets/icons/down-arrow.png");
    background-repeat: no-repeat;
    background-position: right 10px center;
    background-size: 0.8rem;
}

img {
    max-width: 100%;
    height: auto;
    display: flex;
    justify-content: center;
    margin: 0 auto;
    object-fit: cover;
    font-size: 0;
}

a img,
a span {
    pointer-events: none;
}

.tag {
    font-family: var(--title-font);
    text-transform: uppercase;
    font-size: 18px;
    border-radius: 4px;
    background: black;
    color: white;
    padding: 3px 6px 2px;
}

.tag-white {
    background: white !important;
    color: black !important;
}

.tag-green {
    background: var(--green);
    color: white;
}

.tag-red {
    background: var(--red);
    color: white;
}


/* Images */
.full-logo {
    max-width: 90%;
    background: black;
    border-radius: 5px;
    padding: 5px;
    margin: 10px auto;
}

.inline-icon {
    display: inline-flex;
    height: 25px;
    transform: translate(0, 5px);
}

.profile-picture {
    display: flex;
    margin: 0 auto;
    border-radius: 50%;
    cursor: pointer;
    height: 100px;
    width: 100px;
}

.text-image {
    width: 60%;
    height: auto;
}

@media only screen and (max-width: 800px) {
    .text-image {
        width: 90%;
    }
}

/* Buttons & Pills */
.btn-wrapper {
    display: flex;
    justify-content: center;
    align-items: center;
    margin: 0 auto;
    width: fit-content;
    max-width: 100%;
    gap: 10px;
    flex-direction: row;
    background: none;
}

.pill-wrapper {
    display: flex;
    justify-content: center;
    align-items: center;
    width: 100%;
    flex-direction: row;
    background: none;
}

.pill-wrapper ul {
        display: flex;
        gap: 8px;
        justify-content: left;
        align-items: center;
        overflow-x: scroll !important;
        width: fit-content;
        padding: 0px 10px;
        scroll-behavior: auto !important;
    }

.btn,
.pill,
button.btn {
    display: flex;
    justify-content: center;
    align-items: center;
    border: 2px solid var(--grey);
    border-radius: 5px;
    background-color: var(--grey);
    color: black;
    cursor: pointer;
    transition: 0.4s ease-in-out;
    margin: 0 auto;
    font-family: var(--title-font);
    text-transform: uppercase;
    white-space: nowrap;
}

.btn,
button.btn {
    width: 200px;
    max-width: 100%;
    padding: 13px 20px 10px;
}

@media only screen and (max-width: 700px) {
    .btn-wrapper {
        width: 100%;
        padding: 0px 10px;
    }

    .btn {
        width: 50%;
    }
}

.pill {
    margin: 0;
    font-size: 16px;
    padding: 3px 8px 1px;
    width: fit-content;
    white-space: nowrap;
}

.pill img {
        height: 15px;
        width: 15px;
        transform: translate(-4px, -1px);
        cursor: pointer;
        pointer-events: none;
        max-width: unset;
    }

.pill.a-black img {
        filter: invert(1);
    }

.reset-pill {
    padding: 0;
}

.reset-pill img {
        filter: invert(1);
        max-width: unset;
        transform: unset;
        height: 23px;
        width: 23px;
        padding: 3px;
    }

/* Site Banners */
.banner {
    background: black;
    color: white;
    width: 100%;
    left: 0;
    right: 0;
    z-index: var(--layer-banner);
}
.banner p,.banner a {
        text-transform: uppercase;
        text-align: center;
        color: white;
        font-family: var(--title-font);
        font-size: 24px;
        padding: 14px 0px 12px;
        font-weight: 500;
    }
.banner a {
        margin: 0 auto;
        width: 100%;
        display: flex;
        justify-content: center;
    }
#top-banner.banner {
        top: 0;
    }
#top-banner.banner a {
            opacity: 1;
            transition: opacity 0.5s ease-in-out;
        }
.fade-out:is(#top-banner.banner a) {
                opacity: 0;
            }
#btm-banner.banner {
        position: fixed;
        bottom: 0;
        padding-bottom: 15px;
    }
#btm-banner.banner p {
            padding: 10px 0px 5px;
        }
#btm-banner.banner .progress-bar {
            width: 50%;
            max-width: 250px;
            margin: 0 auto;
            height: 8px;
            background: white;
            border-radius: 4px;
        }
:is(#btm-banner.banner .progress-bar) .fill {
                width: 0;
                height: 100%;
                background: var(--green);
                transition: width 0.4s ease-in-out;
            }
/* Site Navigation */
.site-header {
    padding-top: 0;
    z-index: var(--layer-header);
    position: sticky;
    top: 0;
    background: white;
}
.site-header.mod--stuck {
        box-shadow: 0 5px 15px rgba(0, 0, 0, 0.15);
    }

.site-nav {
    width: 100%;
    display: flex;
    align-items: center;
    justify-content: flex-start;
    gap: 0;
    padding: 5px;
}

.site-nav a {
        color: black !important;
        width: fit-content;
        font-size: 22px;
        padding: 12px;
    }

.site-nav .nav-logo {
        width: 75px;
        height: 75px;
        object-fit: contain;
    }

.site-nav .nav-icon {
        width: 40px;
        padding: 0;
        margin-right: 10px;
    }

:is(.site-nav .nav-icon):not(.nav-icon ~ .nav-icon) {
            margin-left: auto;
        }

.nav-dropdown {
    position: relative;
    flex: 0 0 auto;
}

.nav-dropdown .nav-dropdown-menu {
        position: absolute;
        top: 100%;
        left: 5px;
        display: none;
        flex-direction: column;
        min-width: 220px;
        background: white;
        padding: 0px;
        margin-top: 5px;
        z-index: calc(var(--layer-header) + 1);
        box-shadow: 0px 8px 16px 0px rgba(0, 0, 0, .2);
    }

:is(.nav-dropdown .nav-dropdown-menu) a {
            display: block;
            width: 100%;
            padding: 10px;
            white-space: nowrap;
            font-size: 22px;
            text-align: left;
        }

.nav-dropdown:hover .nav-dropdown-menu {
        display: flex;
    }

/* Mobile Navigation */
.mobile-nav,
.mobile-menu {
    display: none;
}

@media (max-width: 750px) {
    .site-header {
        height: 80px;
    }

    .site-nav {
        display: none;
    }

    .mobile-nav {
        display: flex;
        height: 80px;
        padding: 0 15px;
        align-items: center;
        justify-content: space-between;
    }

    .mobile-nav button {
        display: flex;
        align-items: center;
        justify-content: center;
        width: 44px;
        height: 44px;
        padding: 8px;
        border: none;
        background: transparent;
        cursor: pointer;
    }

        .mobile-menu-toggle:is(.mobile-nav button) {
            height: 55px !important;
            width: 55px !important;
        }

        .mobile-cart:is(.mobile-nav button) {
            height: 65px !important;
            width: 65px !important;
        }

        :is(.mobile-nav button) img {
            width: 100%;
            height: 100%;
            object-fit: contain;
        }

    .mobile-logo {
        width: fit-content;
    }

        .mobile-logo img {
            display: block;
            width: 60px;
            height: 60px;
            object-fit: contain;
        }

    .mobile-menu {
        display: flex;
        flex-direction: column;
        position: fixed;
        top: 0;
        left: 0;
        width: min(85vw, 350px);
        height: 100dvh;
        background: white;
        z-index: var(--layer-drawer);
        transform: translateX(-100%);
        transition: transform 0.3s ease;
        overflow-y: auto;
        overscroll-behavior: contain;
        visibility: hidden;
        transition: transform 0.3s ease, visibility 0.3s;
        box-shadow: 8px 0 20px rgba(0, 0, 0, 0.15);
    }

        .mobile-menu.open {
            transform: translateX(0);
            visibility: visible;
        }

    .mobile-menu-close {
        width: fit-content;
        margin-left: auto;
        display: block;
        position: absolute;
        top: 0;
        right: 0;
        padding: 0;
        border: none;
        background: none;
        font-size: 40px;
        line-height: 1;
        cursor: pointer;
        padding: 19px;
    }

        .mobile-menu-close img {
            height: 30px;
            width: 30px;
        }

    .mobile-menu-content {
        display: flex;
        flex-direction: column;
        flex: 1;
        padding: 10px 20px 30px;
        margin-top: 40px;
    }

    .mobile-menu-section {
        border-bottom: 1px solid #eee;
    }
            .mobile-menu-section.open .mobile-menu-heading span {
                transform: rotate(180deg);
            }

            .mobile-menu-section.open .mobile-menu-links {
                display: flex;
            }

    .mobile-menu-heading {
        display: flex;
        align-items: center;
        justify-content: space-between;
        width: 100%;
        padding: 18px 10px;
        border: none;
        background: transparent;
        color: black;
        font: inherit;
        text-align: left;
        text-decoration: none;
        cursor: pointer;
        font-family: var(--title-font);
        text-transform: uppercase;
        font-size: 32px;
        line-height: 32px;
        font-weight: 600;
    }

        .mobile-menu-heading span {
            transition: transform 0.3s ease;
        }

    .mobile-menu-links {
        display: none;
        flex-direction: column;
        padding: 0 10px 10px 25px;
    }

        .mobile-menu-links a {
            padding: 12px 0;
            color: black;
            font-size: 24px;
            text-decoration: none;
            text-align: left;
        }

    .mobile-menu-overlay {
        display: block;
        position: fixed;
        inset: 0;
        background: transparent;
        z-index: var(--layer-overlay);
        visibility: hidden;
    }

        .mobile-menu-overlay.open {
            visibility: visible;
        }

    .mobile-menu-footer {
        display: flex;
        margin-top: auto;
        flex-direction: column;
        padding-top: 15px;
        border-top: 1px solid #ddd;
    }

        .mobile-menu-footer button {
            display: flex;
            align-items: center;
            padding: 15px 0px;
            border: none;
            background: transparent;
            font: inherit;
            text-align: left;
            cursor: pointer;
            font-family: var(--title-font);
            text-transform: uppercase;
            font-size: 32px;
            line-height: 32px;
            font-weight: 600;
        }

        .mobile-menu-footer img {
            height: 40px;
            width: 40px;
            margin: 0;
            margin-right: 10px;
        }

            #shopping-cart:is(.mobile-menu-footer img) {
                transform: translate(0px, -2px);
            }
}

@media (prefers-reduced-motion: reduce) {

    .mobile-menu,
    .mobile-menu-heading span {
        transition: none;
    }
}

/* Navigation Sidebar */
.side-bar {
    position: fixed;
    top: 0;
    right: 0;
    width: 350px;
    max-width: 90vw;
    height: 100dvh;
    background: white;
    z-index: var(--layer-drawer);
    transform: translateX(100%);
    transition: transform 0.3s ease-in-out;
    box-shadow: -8px 0 20px rgba(0, 0, 0, 0.15);
    padding: 20px;
    overflow: hidden;
    overscroll-behavior: contain;
}
.side-bar.open {
        transform: translateX(0);
    }
.side-bar .side-bar-close {
        width: fit-content;
        margin-left: auto;
        display: block;
        position: absolute;
        top: 0;
        right: 0;
        padding: 0;
        border: none;
        background: none;
        font-size: 40px;
        line-height: 1;
        cursor: pointer;
        padding: 19px;
    }
:is(.side-bar .side-bar-close) img {
            width: 30px;
            height: 30px;
            pointer-events: none;
        }
/* Shopping Cart */
.cart-items {
    display: flex;
    flex-direction: column;
    gap: 20px;
    margin-top: 30px;
    flex: 1;
    min-height: 0;
    overflow-y: auto;
    overscroll-behavior: contain;
}

.cart-item {
    display: flex;
    align-items: flex-start;
    gap: 15px;
    width: 100%;
    padding-bottom: 20px;
    border-bottom: 1px solid var(--grey);
}

.cart-item img {
        width: 80px;
        height: 80px;
        flex-shrink: 0;
        object-fit: contain;
        margin: 0;
    }

.cart-item .cart-item-details {
        flex: 1;
        min-width: 0;
    }

:is(.cart-item .cart-item-details) h3,:is(.cart-item .cart-item-details) p {
            width: 100%;
            margin: 0;
            text-align: left;
        }

:is(.cart-item .cart-item-details) h3 {
            font-size: 22px;
            line-height: 22px;
        }

:is(.cart-item .cart-item-details) .btn-wrapper {
            justify-content: flex-start;
            width: 100%;
            padding: 0;
            margin: 10px 0;
        }

:is(.cart-item .cart-item-details) .btn {
            width: 40px;
            margin: 0;
            padding: 5px;
        }

.cart-total {
    width: 100%;
    text-align: right;
    font-weight: bold;
    margin: 25px 0;
}

.cart-item-controls {
    display: flex;
    align-items: center;
    gap: 10px;
    margin-top: 10px;
}

.cart-quantity {
    display: flex;
    align-items: center;
    background: var(--grey);
    border-radius: 5px;
    overflow: hidden;
}

.cart-quantity button {
        width: 35px;
        height: 35px;
        padding: 0;
        border: none;
        border-radius: 0;
        background: none;
        cursor: pointer;
    }

.cart-quantity span {
        width: 35px;
        text-align: center;
        font-family: var(--body-font);
        font-size: 16px;
    }

.remove-items-cart-button {
    width: 35px;
    height: 35px;
    padding: 8px 8px 8px 0px;
    border: none;
    background: none;
    cursor: pointer;
}

.remove-items-cart-button img {
        width: 100%;
        height: 100%;
        object-fit: contain;
        pointer-events: none;
    }

.cart-quantity .quantity-disabled {
        opacity: 0;
        pointer-events: none;
    }

.cart-coupon {
    margin-top: 10px;
}

.cart-coupon p {
        margin-top: 8px;
        font-family: var(--body-font);
        font-size: 16px;
    }

.cart-coupon #cartCouponMessage {
        opacity: 0;
        max-height: 0;
        margin: 0;
        width: 100%;
        text-align: center;
        overflow: hidden;
        transform: translateY(-8px);
        transition:
            opacity 0.3s ease,
            max-height 0.3s ease,
            margin 0.3s ease,
            transform 0.3s ease;
    }

.show:is(.cart-coupon #cartCouponMessage) {
            opacity: 1;
            max-height: 80px;
            margin-bottom: 10px;
            transform: translateY(0);
        }

.success:is(.cart-coupon #cartCouponMessage) {
            color: var(--green);
        }

.error:is(.cart-coupon #cartCouponMessage) {
            color: var(--red);
        }

.cart-coupon-input {
    display: flex;
    gap: 10px;
}

.cart-coupon-input input {
        flex: 1;
        min-width: 0;
        padding: 12px;
        border: 1px solid var(--grey);
        border-radius: 5px;
    }

.cart-coupon-input button {
        flex-shrink: 0;
    }

.cart-fulfillment {
    display: flex;
    flex-direction: column;
    gap: 10px;
    margin: 15px 0 5px;
    padding: 0;
    border: 0;
}

.cart-fulfillment legend {
        margin-bottom: 10px;
        font-family: var(--body-font);
        font-size: 16px;
        font-weight: 600;
    }

.cart-fulfillment-option {
    display: flex;
    align-items: flex-start;
    gap: 12px;
    padding: 12px;
    border: 1px solid var(--grey);
    border-radius: 5px;
    cursor: pointer;
    transition: border-color 0.2s ease, background-color 0.2s ease;
}

.cart-fulfillment-option.selected {
        border-color: var(--black);
        background: var(--grey);
    }

.cart-fulfillment-option input {
        flex-shrink: 0;
        margin-top: 4px;
        width: unset;
    }

.cart-fulfillment-option span {
        display: flex;
        flex-direction: column;
        gap: 3px;
        font-family: var(--body-font);
    }

.cart-fulfillment-option small {
        font-size: 14px;
        line-height: 18px;
    }

.cart-summary {
    display: flex;
    flex-direction: column;
    gap: 12px;
    margin: 15px 0;
}

.cart-summary-row {
    display: flex;
    justify-content: space-between;
    align-items: center;
    gap: 15px;
    font-family: var(--body-font);
    font-size: 16px;
}

.cart-summary-total {
    border-top: 1px solid var(--grey);
    padding-top: 15px;
}

#navSidebarContent {
    display: flex;
    flex-direction: column;
    height: 100%;
    min-height: 0;
    overflow: hidden;
}

.cart-bottom {
    flex-shrink: 0;
    margin-top: auto;
    padding-top: 10px;
}

.cart-bottom .btn-wrapper {
        padding: 0;
    }

.cart-shipping-progress {
    margin: 20px 0;
    text-align: center;
}

.cart-shipping-progress p {
        margin-bottom: 10px;
        font-weight: 600;
        text-align: center;
        width: 100%;
    }

.cart-shipping-track {
    width: 100%;
    height: 10px;
    background: var(--grey);
    border-radius: 20px;
    overflow: hidden;
}

.cart-shipping-fill {
    height: 100%;
    background: var(--green);
    border-radius: inherit;
    transition: width 1s ease-in-out;
}

.cart-import-taxes {
    text-align: center;
    font-family: var(--body-font);
    font-size: 16px;
    width: 100%;
}



/* Region Picker */



.region-info {
    width: 100%;
}

.region-picker-content {
    flex: 1;
    min-height: 0;
    overflow-y: auto;
    overscroll-behavior: contain;
}

.currency-options {
    display: flex;
    flex-direction: column;
    gap: 10px;
}

.currency-options .currency-option {
        display: flex;
        align-items: center;
        gap: 12px;
        background: white;
        color: black;
        cursor: pointer;
        text-align: left;
    }

.active:is(.currency-options .currency-option) {
            border-color: black;
            background: var(--grey);
            pointer-events: none;
        }

.currency-options .currency-flag {
        font-size: 24px;
    }

body:has(.preferred-region-prompt[open]) {
    overflow: hidden;
}

.preferred-region-prompt {
    width: min(560px, calc(100% - 30px));
    max-width: none;
    margin: auto;
    padding: 0;
    border: 0;
    border-radius: 12px;
    color: black;
}

.preferred-region-prompt::backdrop {
        background: rgb(0 0 0 / 70%);
    }

.preferred-region-prompt__panel {
    position: relative;
    padding: 35px;
    text-align: center;
}

.preferred-region-prompt__close {
    position: absolute;
    top: 10px;
    right: 14px;
    padding: 0;
    border: 0;
    background: transparent;
    color: black;
    font-size: 30px;
    line-height: 1;
    cursor: pointer;
    width: fit-content;
}

.preferred-region-prompt__flag {
    margin-bottom: 10px;
    font-size: 42px;
}

.preferred-region-prompt__message,
.preferred-region-prompt__note {
    margin-top: 18px;
    width: 100%;
}

.preferred-region-prompt__note {
    color: #555;
    font-size: 14px;
}

.preferred-region-prompt__actions {
    display: flex;
    gap: 10px;
    margin-top: 25px;
}

.preferred-region-prompt__actions .btn {
        flex: 1;
    }

@media (max-width: 750px) {
    .preferred-region-prompt__panel {
        padding: 35px 20px 25px;
    }

    .preferred-region-prompt__actions {
        flex-direction: column-reverse;
    }
}

/* Footer */
.footer-wrapper {
    width: 100%;
    background: white;
    padding: 100px 0px;
    z-index: 75;
}
.footer-wrapper p {
        width: 90%;
    }
.footer-wrapper p {
        text-align: center;
    }
.footer-wrapper .footer-logo {
        width: 100px;
    }
.footer-wrapper .payment-options {
        width: 400px;
        max-width: 80%;
        margin: 0 auto;
        padding: 30px 0px;
    }
.footer-wrapper .footer-links {
        display: flex;
        flex-direction: row;
        margin: 0 auto;
        align-items: center;
        justify-content: center;
        padding: 0px 0px 15px;
    }
:is(.footer-wrapper .footer-links) a {
            margin: 0px 5px auto;
        }
.footer-wrapper #price-comparison-disclaimer {
        text-align: left;
        font-size: 14px;
    }



/* Cookie Banner */



.cookie-banner {
    z-index: var(--layer-consent);
    transition: opacity 0.3s ease-in-out;
    position: fixed;
    bottom: 0;
    left: 0;
    width: 100%;
    background: black;
    color: white;
    display: flex;
    flex-direction: row;
    padding: 20px;
    gap: 20px;
}



.cookie-banner p {
        color: white;
        width: 100%;
    }



:is(.cookie-banner p) a {
            color: white;
        }

@media (max-width: 700px) {
        .cookie-banner .btn-wrapper {
            flex-direction: column;
            gap: 10px;
            padding: 0;
            width: fit-content;
        }
}

/* Back To Top Button */
.back-to-top {
    position: fixed;
    bottom: 15px;
    right: 15px;
    display: flex;
    align-items: center;
    justify-content: center;
    background: black;
    border: solid 2px black;
    color: white;
    border-radius: 8px;
    cursor: pointer;
    padding: 10px 15px 8px;
    width: 120px;
    transition: opacity 0.3s ease-in-out;
}

body:has(#btm-banner) .back-to-top {
    bottom: 80px;
}



/* Accordions */



.accordion {
    display: flex;
    flex-direction: column;
    margin: 0 auto;
    background: var(--grey);
    border-radius: 10px;
    padding: 20px 30px 17px;
    width: 500px;
    max-width: 90%;
    position: relative;
    cursor: pointer;
}



.accordion * {
        pointer-events: none;
    }



.accordion .accordion-content {
        width: 100%;
        max-height: 0;
        overflow: hidden;
        padding-top: 0;
        transition: max-height 0.4s ease-in-out, padding-top 0.4s ease-in-out;
    }



.accordion #accordion-icon {
        position: absolute;
        top: 23px;
        right: 15px;
        height: 20px;
        width: 20px;
        transition: 0.4s ease-in-out;
    }



.accordion.open #accordion-icon {
        transform: rotate(180deg);
    }



.accordion p {
        width: 100%;
    }



/* Privacy & Safeguarding Policy & Shipping Info */



.privacy-policy,
.safeguarding-policy,
.shipping-info {
    display: flex;
    flex-direction: column;
    margin: 0 auto;
    justify-content: center;
    align-items: center;
    width: 90%;
    max-width: 500px;
    counter-reset: section;
}



:is(.privacy-policy,.safeguarding-policy,.shipping-info) li {
        margin-top: 40px;
    }



:is(.privacy-policy,.safeguarding-policy,.shipping-info)  > li {
        counter-increment: section;
    }



:is(:is(.privacy-policy,.safeguarding-policy,.shipping-info) > li)  > h3::before {
            content: counter(section) ". ";
        }



:is(.privacy-policy,.safeguarding-policy,.shipping-info) * {
        text-align: left;
    }



:is(.privacy-policy,.safeguarding-policy,.shipping-info) p,:is(.privacy-policy,.safeguarding-policy,.shipping-info) .text {
        width: 100%;
    }


.letter-list {
    counter-reset: letter;
    margin: 0 auto;
}


.letter-list  > li {
        counter-increment: letter;
        margin-top: 0;
    }


:is(.letter-list > li)::before {
            content: "(" counter(letter, lower-alpha) ") ";
        }


/* Out Story */


.our-story-intro {
    display: flex;
    width: 60%;
    gap: 10px;
    margin: 0 auto;
}


.our-story-intro p {
        width: 100%;
    }


.our-story-intro img {
        width: 75px;
        height: 75px;
        border-radius: 50%;
    }

.text-image {
    border-radius: 5px;
}

@media only screen and (max-width: 800px) {
    .our-story-intro {
        display: flex;
        width: 90%;
    }
}

/* Our Ropes */
.our-ropes-wrapper {
    display: flex;
    flex-wrap: wrap;
    gap: 20px;
    justify-content: center;
    margin: 0 auto;
    width: 90%;
}

@media only screen and (max-width: 1000px) {
    .our-ropes-wrapper {
        display: grid;
        grid-template-columns: repeat(2, minmax(0, 1fr));
        width: min(500px, 100%);
    }

    .our-ropes-inner {
        min-width: 0;
    }

    .our-ropes-inner img {
        display: block;
        width: 100%;
        max-width: 200px;
        height: auto;
        margin: 0 auto;
    }
}

.our-ropes-inner p {
        text-align: center;
        width: 100%;
    }

.our-ropes-inner .rope-type {
        font-family: var(--title-font);
        text-transform: uppercase;
        font-size: 25px;
        line-height: 25px;
        font-weight: 600;
    }

.handle-length-comparison,
.cord-adjustment-comparison {
    width: 90%;
    max-width: 500px;
    margin: 0 auto;
}

/* Our Team */
.team-member-wrapper {
    display: flex;
    flex-wrap: wrap;
    gap: 15px;
    justify-content: center;
    margin: 0 auto;
    width: 75%;
    margin-top: 10px;
}

.team-member {
    display: flex;
    flex-direction: column;
    align-items: center;
    text-align: center;
    width: clamp(350px, calc(33% - 15px), 500px);
    background: var(--grey);
    border-radius: 30px;
    padding: 30px 15px 20px 15px;
}

.team-member img {
        width: 45%;
        height: auto;
        border-radius: 50%;
        margin-bottom: 10px;
    }

.team-member p {
        text-align: center;
        width: 100%;
    }

.team-member .my-favourites {
        display: flex;
        width: 100%;
        gap: 30px;
        justify-content: center;
    }

.team-member .external-links {
        display: flex;
        gap: 10px;
        justify-content: center;
        margin-top: auto;
    }

:is(.team-member .external-links) a {
            text-decoration: none;
            color: black;
            padding: 4px 8px;
            border-radius: 5px;
            border: 1px solid black;
        }

.team-member .inspo-quote {
        text-align: left !important;
        width: 95% !important;
    }

.team-member .qualifications {
        min-height: 3em;
    }

:is(.team-member .qualifications) .text-tiny {
            line-height: 1.2;
        }

.team-member-bubbles {
    display: flex;
    width: 75%;
    margin: 0 auto;
    justify-content: center;
    margin-top: 20px;
    flex-wrap: wrap;
    gap: 20px;
}

.team-member-bubbles a {
        width: 100px;
        flex-shrink: 0;
    }

.team-member-bubbles img {
        display: block;
        width: 100%;
        aspect-ratio: 1;
        object-fit: cover;
        border-radius: 50%;
        cursor: pointer;
        margin-bottom: 5px;
    }

.team-member-bubbles p {
        text-align: center;
        width: 100%;
    }

@media only screen and (max-width: 600px) {

    .team-member-bubbles,
    .team-member-wrapper {
        width: 90%;
    }
}

.cart-preorder-warning {
    margin-top: 12px;
    padding: 12px;
    border: 2px solid #d58b00;
    border-radius: 6px;
    background: #fff6df;
    text-align: center;
    width: 100%;
}

.inventory-page {
    max-width: 1000px;
    margin-inline: auto;

}

.inventory-page .inventory-intro,.inventory-page .inventory-message {
        margin: 20px auto 18px;
        text-align: center;
    }

.inventory-auth {
    margin-bottom: 24px;
    padding: 16px;
    border: 1px solid #ddd;
    border-radius: 6px;
    background: #f7f7f7;
    width: min(400px, 95%);
    margin-inline: auto;
}

.inventory-auth p {
        margin-bottom: 10px;
        text-align: center;
        width: 100%;
    }

.inventory-signed-in {
    width: min(600px, 95%);
    margin: 10px auto;
    text-align: center;
}

.inventory-region-controls {
    display: grid;
    grid-template-columns: minmax(0, 1fr) auto auto;
    align-items: stretch;
    gap: 10px;
    width: min(600px, 95%);
    margin: 10px auto;
}

.inventory-region-controls #inventoryRegion {
        width: 100%;
        margin: 0;
    }

.inventory-region-controls #inventorySignOut {
        padding: 13px 20px 10px;
        white-space: nowrap;
    }

body.mod--modal-open {
    overflow: hidden;
}

.site-modal {
    width: min(680px, 92%);
    max-height: min(85vh, 760px);
    margin: auto;
    padding: 0;
    border: 0;
    border-radius: 14px;
    background: white;
    opacity: 0;
    transform: translateY(18px) scale(0.96);
    transition:
        opacity 220ms ease,
        transform 220ms cubic-bezier(0.2, 0.8, 0.2, 1),
        display 220ms allow-discrete,
        overlay 220ms allow-discrete;
}

.site-modal[open] {
        opacity: 1;
        transform: translateY(0) scale(1);
    }

.site-modal.mod--closing {
        opacity: 0;
        transform: translateY(12px) scale(0.97);
    }

.site-modal::backdrop {
        background: rgb(0 0 0 / 0%);
        backdrop-filter: blur(0);
        transition:
            background 220ms ease,
            backdrop-filter 220ms ease,
            display 220ms allow-discrete,
            overlay 220ms allow-discrete;
    }

.site-modal[open]::backdrop {
        background: rgb(0 0 0 / 55%);
        backdrop-filter: blur(3px);
    }

.site-modal.mod--closing::backdrop {
        background: rgb(0 0 0 / 0%);
        backdrop-filter: blur(0);
    }

@starting-style {
    .site-modal[open] {
        opacity: 0;
        transform: translateY(18px) scale(0.96);
    }

    .site-modal[open]::backdrop {
        background: rgb(0 0 0 / 0%);
        backdrop-filter: blur(0);
    }
}

.site-modal__panel {
    position: relative;
    max-height: min(85vh, 760px);
    overflow-y: auto;
    padding: 32px;
}

.site-modal__close {
    position: absolute;
    top: 12px;
    right: 12px;
    width: 40px;
    height: 40px;
    padding: 0;
    border: 0;
    border-radius: 50%;
    background: var(--grey);
    font-size: 28px;
    line-height: 1;
    cursor: pointer;
}

.site-modal__title {
    margin-bottom: 24px;
    padding-inline: 35px;
}

.wholesale-price-note {
    width: 100%;
    margin-bottom: 20px;
    text-align: center;
}

.wholesale-price-groups {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 16px;
}

.wholesale-price-group {
    padding: 18px;
    border: 1px solid #ddd;
    border-radius: 10px;
    background: #fafafa;
}

.wholesale-price-group h3 {
        margin-bottom: 14px;
        font-size: 24px;
        line-height: 1;
        text-align: left;
    }

.wholesale-price {
    display: flex;
    justify-content: space-between;
    gap: 15px;
    padding-block: 10px;
    border-top: 1px solid #ddd;
}

.wholesale-price small,.wholesale-price span {
        display: block;
    }

.wholesale-price small {
        margin-top: 3px;
        color: #666;
    }

.wholesale-price__amount {
    flex-shrink: 0;
    text-align: right;
    width: fit-content !important;
}

.wholesale-price__estimate {
    margin-top: 3px;
    color: #666;
    font-size: 14px;
}

.wholesale-bulk-message {
    width: 100%;
    margin-top: 20px;
    padding: 14px;
    border-radius: 8px;
    background: #fff1cd;
    text-align: center;
    font-weight: 700;
}

@media only screen and (max-width: 600px) {
    .inventory-region-controls {
        grid-template-columns: minmax(0, 1fr) auto;
    }

        .inventory-region-controls #inventoryWholesalePrices {
            grid-column: 1 / -1;
            grid-row: 2;
        }

    .wholesale-price-groups {
        grid-template-columns: 1fr;
    }

    .site-modal__panel {
        padding: 28px 18px 20px;
    }
}

@media (prefers-reduced-motion: reduce) {

    .site-modal,
    .site-modal::backdrop {
        transition-duration: 1ms;
    }
}

.inventory-message.success {
        color: #176b32;
    }

.inventory-message.error {
        color: #8b2020;
    }

.inventory-filters {
    display: grid;
    grid-template-columns: minmax(0, 3fr) minmax(0, 7fr);
    align-items: stretch;
    gap: 10px;
    width: min(600px, 95%);
    margin: 10px auto;
}

.inventory-filters label {
        display: none;
    }

.inventory-filter {
    min-width: 0;
}

.inventory-filter select {
        width: 100%;
    }

.inventory-search {
    min-width: 0;
}

.inventory-search input {
        width: 100%;
    }

.inventory-search input:focus-visible {
        outline: 2px solid var(--black);
        outline-offset: 3px;
    }

.inventory-list {
    display: grid;
    gap: 12px;
    width: min(600px, 95%);
    margin: 0 auto;
}

.inventory-item[hidden] {
    display: none;
}

.inventory-item {
    display: grid;
    grid-template-columns: 80px 1fr;
    width: 100%;
    min-width: 0;
    align-items: center;
    gap: 16px;
    padding: 12px;
    border: 1px solid #ddd;
    border-radius: 6px;
    transition: opacity 0.2s ease, background-color 0.2s ease;
}

.inventory-item.mod--in_stock {
        border-left: 6px solid var(--green);
    }

.inventory-item.mod--preorder {
        border-left: 6px solid var(--blue);
    }

.inventory-item.mod--out_of_stock {
        border-left: 6px solid var(--red);
    }

.inventory-item.mod--hidden {
        border-left: 6px solid var(--black);
        opacity: 0.65 !important;
        pointer-events: auto !important;
    }

.inventory-item.mod--saving {
        opacity: 0.5 !important;
        pointer-events: none;
    }

.inventory-item img,.inventory-item .inventory-image-placeholder {
        width: 80px;
        height: 80px;
        border-radius: 4px;
        background: #eee;
        object-fit: contain;
    }

.inventory-item h3 {
        text-align: left;
        margin-bottom: 10px;
    }

.inventory-item .inventory-item-details {
        min-width: 0;
    }

@media only screen and (min-width: 601px) {
    .inventory-item h3 {
        overflow: hidden;
        text-overflow: ellipsis;
        text-wrap: nowrap;
        white-space: nowrap;
    }
}

.inventory-item-controls {
    display: flex;
    justify-content: flex-end;
    gap: 10px;
    margin-left: auto;
}

.inventory-amount {
    width: 90px;
    min-width: 0;
    appearance: textfield;
    text-align: center;
}

.inventory-amount::-webkit-inner-spin-button,.inventory-amount::-webkit-outer-spin-button {
        margin: 0;
        appearance: none;
    }

.inventory-amount:disabled {
        cursor: not-allowed;
        background: var(--grey);
        opacity: 0.7;
    }

.inventory-status-select {
    width: min(100%, 150px);
    margin: 0;
}

.inventory-status-select:disabled {
        cursor: not-allowed;
        opacity: 0.6;
    }

.inventory-save-bar {
    position: fixed;
    z-index: 10;
    right: 20px;
    bottom: 20px;
    display: flex;
    align-items: center;
    gap: 16px;
    width: fit-content;
    padding: 14px;
    border: 1px solid #ccc;
    border-radius: 10px;
    background: white;
    box-shadow: 0 8px 30px rgb(0 0 0 / 18%);
}

.inventory-save-bar p {
        width: auto;
        font-weight: 700;
        white-space: nowrap;
    }

.inventory-save-bar .btn {
        width: 200px !important;
    }

@media only screen and (max-width: 600px) {
    .inventory-item-controls {
        width: 100%;
    }

    .inventory-amount {
        width: 80px;
    }

    .inventory-status-select {
        flex: 1;
    }

    .inventory-save-bar {
        right: 10px;
        bottom: 10px;
        left: 10px;
        justify-content: space-between;
    }
}

.inventory-status {
    display: inline-block;
    margin: 0;
    padding: 4px 8px;
    border-radius: 999px;
    font-weight: 700;
}

.inventory-status.mod--in_stock {
        background: var(--green);
        color: white;
    }

.inventory-status.mod--preorder {
        background: var(--blue);
        color: white;
    }

.inventory-status.mod--out_of_stock {
        background: var(--red);
        color: white;
    }

.inventory-status.mod--hidden {
        background: var(--black);
        color: white;
    }

.product [data-action="addToCart"].mod--disabled {
    pointer-events: none;
    cursor: not-allowed;
    opacity: 0.45;
}

.mod--success {
    background-color: var(--green) !important;
    border: solid var(--green) 2px !important;
    color: white !important;
    pointer-events: none !important;
    cursor: auto !important;
}

@media only screen and (min-width: 800px) {
    .mobile-only {
        display: none;
    }
}

.stock-page {
    max-width: 1000px;
    margin-inline: auto;
}

.stock-auth {
    width: min(400px, 95%);
    margin: 10px auto 24px;
    padding: 16px;
    border: 1px solid #ddd;
    border-radius: 6px;
    background: #f7f7f7;
}

.stock-auth p {
        width: 100%;
        margin-bottom: 10px;
        text-align: center;
    }

.stock-signed-in,
.stock-message {
    width: min(600px, 95%);
    margin: 10px auto;
    text-align: center;
}

.stock-message {
    margin-block: 20px 18px;
}

.stock-message.success {
        color: #176b32;
    }

.stock-message.error {
        color: #8b2020;
    }

.stock-controls {
    display: grid;
    grid-template-columns: minmax(0, 1fr) auto auto auto;
    align-items: stretch;
    gap: 10px;
    width: min(760px, 95%);
    margin: 10px auto;
}

.stock-controls select {
        width: 100%;
        margin: 0;
    }

.stock-controls #stockSignOut {
        padding: 13px 20px 10px;
        white-space: nowrap;
    }

.stock-controls #stockSync:disabled {
        cursor: not-allowed;
        opacity: 0.45;
    }

.stock-cost-table {
    overflow-x: auto;
    border: 1px solid #ddd;
    border-radius: 6px;
}

.stock-cost-row,
.stock-cost-total {
    box-sizing: border-box;
}

.stock-cost-row {
    display: flex;
    flex-direction: row;
    flex-wrap: nowrap;
    justify-content: space-between;
    gap: 25px;
    align-items: center;
    padding: 12px 14px;
    border-bottom: 1px solid #e5e5e5;
}

.stock-cost-row:last-of-type {
        border-bottom: 0;
    }

.stock-cost-row--heading {
    background: #f5f5f5;
    font-size: 13px;
    font-weight: 700;
}

.stock-cost-row>span:first-child {
    flex: 1 1 auto;
    min-width: 0;
    margin-right: auto;
}

.stock-cost-row>span:nth-child(2) {
    flex: 0 0 100px;
    text-align: right;
}

.stock-cost-row>span:nth-child(3) {
    flex: 0 0 90px;
    text-align: right;
}

.stock-cost-row>span:nth-child(4) {
    flex: 0 0 90px;
    text-align: right;
}

.stock-cost-item {
    font-weight: 700;
}

.stock-cost-total {
    display: flex;
    justify-content: space-between;
    gap: 20px;
    padding: 14px;
    background: var(--black);
    color: white;
    font-weight: 700;
}

.stock-cost-note {
    margin-top: 12px;
    color: #555;
    font-size: 13px;
}

.stock-shipping-costs {
    margin-top: 26px;
}

.stock-shipping-costs h3 {
        margin-bottom: 10px;
        text-align: left;
    }

.stock-shipping-cost {
    display: flex;
    justify-content: space-between;
    gap: 20px;
    padding: 10px 0;
    border-bottom: 1px solid #e5e5e5;
}

.stock-list {
    display: grid;
    gap: 26px;
    width: min(800px, 95%);
    margin: 0 auto 100px;
}

.stock-group[hidden] {
    display: none;
}

.stock-group h2 {
    margin-bottom: 12px;
    text-align: left;
}

.stock-group-list {
    display: grid;
    gap: 12px;
}

.stock-item {
    display: grid;
    grid-template-columns: 70px minmax(120px, 1fr) minmax(260px, 320px);
    align-items: center;
    gap: 16px;
    width: 100%;
    min-width: 0;
    padding: 14px;
    border: 1px solid #ddd;
    border-left-width: 6px;
    border-radius: 6px;
    transition: border-color 0.2s ease, background-color 0.2s ease;
}

.stock-item.mod--in_stock {
        border-left-color: var(--green);
    }

.stock-item.mod--preorder {
        border-left-color: var(--blue);
    }

.stock-item.mod--out_of_stock {
        border-left-color: var(--red);
    }

.stock-item h3 {
        margin-bottom: 4px;
        text-align: left;
    }

.stock-thumbnail {
    width: 70px;
    height: 70px;
    border-radius: 4px;
    background: white;
    object-fit: contain;
}

.stock-status {
    display: inline-block;
    flex-shrink: 0;
    width: fit-content;
    padding: 5px 12px;
    border-radius: 999px;
    font-weight: 700;
    font-family: var(--body-font);
}

.stock-status.mod--in_stock {
        background: var(--green);
        color: white;
    }

.stock-status.mod--preorder {
        background: var(--blue);
        color: white;
    }

.stock-status.mod--out_of_stock {
        background: var(--red);
        color: white;
    }

.stock-quantities {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 10px;
    width: 70%;
    justify-self: end;
}

.stock-quantity {
    display: grid;
    gap: 5px;
}

.stock-quantity span {
        color: #555;
        font-size: 13px;
        font-weight: 700;
        text-align: center;
    }

.stock-quantity input {
        width: 100%;
        min-width: 0;
        padding-inline: 14px;
        text-align: center;
    }

.stock-quantity input:focus-visible {
        outline: 2px solid var(--black);
        outline-offset: 3px;
    }

.stock-save-bar {
    position: fixed;
    z-index: 10;
    right: 20px;
    bottom: 20px;
    display: flex;
    align-items: center;
    gap: 16px;
    padding: 14px;
    border: 1px solid #ccc;
    border-radius: 10px;
    background: white;
    box-shadow: 0 8px 30px rgb(0 0 0 / 18%);
    width: fit-content;
}

.stock-save-bar p {
        width: auto;
        font-weight: 700;
        white-space: nowrap;
    }

.stock-save-bar .btn {
        width: 200px !important;
    }

@media only screen and (max-width: 600px) {
    .stock-controls {
        grid-template-columns: minmax(0, 1fr) auto;
    }

        .stock-controls #stockSync {
            grid-column: 1;
            grid-row: 2;
        }

        .stock-controls #stockCosts {
            grid-column: 2;
            grid-row: 2;
        }

    .stock-item {
        grid-template-columns: 60px minmax(0, 1fr);
        gap: 10px;
    }

    .stock-thumbnail {
        width: 60px;
        height: 60px;
    }

    .stock-quantities {
        grid-column: 1 / -1;
        width: 100%;
        justify-self: stretch;
    }

    .stock-quantity span {
        text-align: left;
    }

    .stock-save-bar {
        right: 10px;
        bottom: 10px;
        left: 10px;
        justify-content: space-between;
    }
}

.orders-page {
    max-width: 1000px;
    margin-inline: auto;
}

.orders-auth {
    width: min(400px, 95%);
    margin: 10px auto 24px;
    padding: 16px;
    border: 1px solid #ddd;
    border-radius: 6px;
    background: #f7f7f7;
}

.orders-auth p {
        width: 100%;
        margin-bottom: 10px;
        text-align: center;
    }

.orders-signed-in,
.orders-message {
    width: min(760px, 95%);
    margin: 18px auto;
    text-align: center;
}

.orders-message.success {
        color: #176b32;
    }

.orders-message.error {
        color: #8b2020;
    }

.orders-clickship-export {
    width: min(760px, 95%);
    margin: 0 auto 12px;
    text-align: left;
}

.orders-clickship-export button {
        padding: 0;
        border: 0;
        background: none;
        color: var(--blue);
        font: inherit;
        text-decoration: underline;
        cursor: pointer;
    }

:is(.orders-clickship-export button):hover,:is(.orders-clickship-export button):focus-visible {
            color: var(--black);
        }

:is(.orders-clickship-export button):disabled {
            color: #777;
            cursor: wait;
        }

.orders-region-controls {
    display: grid;
    grid-template-columns: minmax(0, 1fr) auto;
    align-items: stretch;
    gap: 10px;
    width: min(760px, 95%);
    margin: 10px auto;
}

.orders-region-controls #ordersRegion {
        width: 100%;
        margin: 0;
    }

.orders-region-controls #ordersSignOut {
        padding: 13px 20px 10px;
        white-space: nowrap;
    }

.orders-filters {
    display: grid;
    grid-template-columns: minmax(0, 3fr) minmax(0, 7fr);
    align-items: stretch;
    gap: 10px;
    width: min(760px, 95%);
    margin: 10px auto;
}

.orders-filters label {
        display: none;
    }

.orders-filter,
.orders-search {
    min-width: 0;
}

:is(.orders-filter,.orders-search) select,:is(.orders-filter,.orders-search) input {
        width: 100%;
    }

.orders-search input:focus-visible {
    outline: 2px solid var(--black);
    outline-offset: 3px;
}

.orders-list {
    display: grid;
    gap: 16px;
    width: min(760px, 95%);
    margin: 0 auto;
}

.order-card[hidden] {
    display: none;
}

.order-card {
    overflow: hidden;
    border: 1px solid #ddd;
    border-left-width: 6px;
    border-radius: 8px;
    background: white;
}

.order-card.mod--unfulfilled {
        border-left-color: #d58b00;
    }

.order-card.mod--fulfilled {
        border-left-color: var(--blue);
    }

.order-card.mod--cancelled {
        border-left-color: #b84242;
        opacity: 0.8;
    }

.order-card__header {
    position: relative;
    display: flex;
    justify-content: space-between;
    align-items: flex-start;
    gap: 20px;
    padding: 18px 58px 18px 18px;
    background: #fafafa;
    border-radius: 8px;
    font-family: var(--body-font);
    cursor: pointer;
    user-select: text;
}

.order-card__header:focus-visible {
        outline: 2px solid var(--black);
        outline-offset: -4px;
    }

.order-card__toggle {
    position: absolute;
    top: 18px;
    right: 18px;
    display: grid;
    place-items: center;
    width: 32px;
    height: 32px;
    padding: 8px;
    border: 0;
    border-radius: 50%;
    background: #eee;
    cursor: pointer;
    transition: background-color 0.2s ease, transform 0.35s ease;
}

.order-card__toggle img {
        width: 100%;
        height: 100%;
        object-fit: contain;
        pointer-events: none;
    }

.order-card__toggle:hover,.order-card__toggle:focus-visible {
        background: #ddd;
    }

.order-card.open .order-card__toggle {
    transform: rotate(180deg);
}

.order-card__details {
    display: grid;
    grid-template-rows: 0fr;
    opacity: 0;
    visibility: hidden;
    transition: grid-template-rows 0.4s ease, opacity 0.25s ease, visibility 0s linear 0.4s;
}

.order-card__details-inner {
    min-height: 0;
    overflow: hidden;
}

.order-card.open .order-card__details {
    grid-template-rows: 1fr;
    opacity: 1;
    visibility: visible;
    transition: grid-template-rows 0.4s ease, opacity 0.3s ease 0.08s, visibility 0s;
}

.order-card.open .order-card__header {
    border-radius: 8px 8px 0 0;
}

.order-card__customer {
    min-width: 0;
}

.order-card__customer h2 {
        margin: 3px 0 2px;
        text-align: left;
        font-size: 24px;
    }

.order-card__customer p {
        width: 100%;
        margin: 0;
    }

.order-card__customer .order-card__id {
        margin-top: 12px;
    }

.order-card__email {
    display: flex;
    align-items: center;
    gap: 6px;
}

.order-card__email p {
        width: auto;
        margin: 0;
    }

.order-card__copy {
    width: auto;
    padding: 3px 7px;
    border: 1px solid #ccc;
    border-radius: 4px;
    background: white;
    color: #555;
    font-size: 11px;
    line-height: 1;
    cursor: pointer;
}

.order-card__copy:hover,.order-card__copy:focus-visible {
        border-color: var(--black);
        color: var(--black);
    }

.order-card__copy.mod--copied {
        border-color: var(--green);
        color: var(--green);
    }

.order-card__eyebrow,
.order-card__id,
.orders-muted,
.orders-empty-detail {
    color: #666;
}

.order-card__eyebrow,
.order-card__id {
    margin: 0;
    font-size: 14px;
}

.order-status {
    display: inline-block;
    flex-shrink: 0;
    padding: 5px 12px;
    border-radius: 999px;
    font-weight: 700;
    width: fit-content;
    margin-right: 5px;
}

.order-status.mod--unfulfilled {
        background: var(--green);
        color: white;
    }

.order-status.mod--fulfilled {
        background: var(--blue);
        color: white;
    }

.order-status.mod--cancelled {
        background: var(--red);
        color: white;
    }

.order-card__delivery {
    padding: 18px;
}

.order-card__delivery h3 {
        margin-bottom: 7px;
        text-align: left;
        font-size: 17px;
    }

.order-card__delivery p {
        width: 100%;
    }

.order-address {
    display: grid;
    gap: 3px;
    width: 100%;
}

.order-card__products {
    padding: 0 18px 18px;
}

.order-card__products h3 {
        margin-bottom: 8px;
        text-align: left;
        font-size: 17px;
    }

.order-products {
    margin: 0;
    padding: 0;
    list-style: none;
    font-family: var(--body-font);

}

.order-products li {
        display: grid;
        grid-template-columns: 70px minmax(0, 1fr) auto;
        gap: 14px;
        padding: 12px 0;
        border-top: 1px solid #eee;
        font-family: var(--body-font);
        text-transform: revert;
    }

.order-product-image {
    width: 70px;
    height: 70px;
    border-radius: 4px;
    background: #eee;
}

.order-product-image img {
        width: 100%;
        height: 100%;
        object-fit: contain;
    }

.order-product-details {
    display: grid;
    gap: 4px;
    min-width: 0;
    text-align: left;
}

.order-product-details span {
        overflow-wrap: anywhere;
        color: #666;
        font-size: 13px;
    }

.order-product-price {
    white-space: nowrap;
}

.order-summary {
    display: grid;
    gap: 12px;
    margin-top: 4px;
    padding-top: 18px;
    border-top: 1px solid #ddd;
    font-family: var(--body-font);
}

.order-summary__row {
    display: flex;
    justify-content: space-between;
    align-items: center;
    gap: 20px;
}

.order-summary__total {
    margin-top: 3px;
    padding-top: 15px;
    border-top: 1px solid #ddd;
    font-size: 18px;
}

.order-card__actions {
    position: relative;
    display: flex;
    justify-content: flex-end;
    flex-direction: row;
    flex-wrap: wrap;
    gap: 10px;
    padding: 0 16px 18px;
}

.order-card__actions .btn {
        width: 150px;
        margin: 0;
    }

.order-card__actions input {
        flex: 1 1 220px;
        width: auto;
        min-width: 0;
        margin: 0;
    }

[readonly]:is(.order-card__actions input) {
            cursor: copy;
        }

.mod--copied:is(.order-card__actions input) {
            border-color: var(--green);
            color: var(--green);
        }

.order-card__actions button:disabled {
        cursor: default;
        pointer-events: none;
    }

.order-card__actions .order-card__progress {
        position: absolute;
        right: 16px;
        bottom: 8px;
        left: 16px;
        height: 4px;
        overflow: hidden;
        border-radius: 999px;
        background: #e4e4e4;
        opacity: 0;
        transition: opacity 0.2s ease;
    }

:is(.order-card__actions .order-card__progress) span {
            display: block;
            width: 0;
            height: 100%;
            background: var(--green);
            transition: width 0.25s ease;
        }

.order-card.mod--fulfilling .order-card__progress {
    opacity: 1;
}

@media only screen and (max-width: 600px) {
    .orders-filters {
        grid-template-columns: 1fr;
    }

    .order-card__header {
        display: grid;
    }

    .order-products li {
        grid-template-columns: 60px minmax(0, 1fr);
        align-items: flex-start;
    }

    .order-product-image {
        width: 60px;
        height: 60px;
    }

    .order-product-price {
        grid-column: 2;
    }
        .order-card__actions .btn,.order-card__actions input {
            width: 100%;
            flex-basis: 100%;
        }
}

@media (prefers-reduced-motion: reduce) {

    .order-card__details,
    .order-card__toggle {
        transition-duration: 1ms;
    }
}

/* Shop Page */
.shop-tabs {
    width: fit-content;
    display: flex;
    margin: 0 auto;
}
.shop-tabs a {
        color: black;
        white-space: nowrap;
        padding: 4px 10px 3px;
        border-radius: 5px;
    }
.active:is(.shop-tabs a) {
            color: white;
            background: black;
        }

.products-wrapper {
    display: grid;
    grid-template-columns: repeat(4, 1fr);
    gap: 40px 10px;
    width: 90%;
    max-width: 1200px;
    margin: 40px auto;
}

.products-wrapper .product {
        display: flex;
        flex-direction: column;
        align-items: center;
        position: relative;
    }

:is(.products-wrapper .product) h3 {
            margin-top: 10px;
        }

:is(.products-wrapper .product) img {
            width: 100%;
            aspect-ratio: 1 / 1;
            object-fit: contain;
        }

:is(.products-wrapper .product) p {
            text-align: center;
            width: 100%;
        }

.price:is(:is(.products-wrapper .product) p) {
                font-weight: bold;
                margin-bottom: 5px;
            }

:is(.products-wrapper .product) .btn-wrapper {
            margin-top: 10px;
            margin-top: auto;
            width: 100%;
            padding: 0 !important;
            padding-inline: 0 !important;
            padding-bottom: 0 !important;
        }

:is(:is(.products-wrapper .product) .btn-wrapper) .btn {
                width: 100% !important;
            }

@media only screen and (max-width: 900px) {
    .products-wrapper {
        grid-template-columns: repeat(2, 1fr);
        max-width: 600px;
    }
}

@media only screen and (max-width: 500px) {
    .products-wrapper {
        grid-template-columns: 1fr;
        max-width: 90vw;
    }
}

.product-option-alert {
    position: absolute;
    z-index: 10;
    bottom: -45px;
    left: 0;
    width: 100% !important;
    padding: 8px 10px;
    background: var(--red);
    color: white;
    border-radius: 5px;
    text-align: center !important;
    font-weight: 500;
    font-size: 16px;
    opacity: 0;
    transform: translateY(-5px);
    pointer-events: none;
    transition: opacity 0.2s ease-in-out, transform 0.2s ease-in-out;
}

.product-option-alert.show {
        opacity: 1;
        transform: translateY(0);
    }

.product-option-alert::before {
        content: "";
        position: absolute;
        top: -6px;
        left: 50%;
        transform: translateX(-50%);
        border-left: 6px solid transparent;
        border-right: 6px solid transparent;
        border-bottom: 6px solid var(--red);
    }

.cart-spinner {
    width: 20px;
    height: 20px;
    border: 3px solid rgba(255, 255, 255, 0.35);
    border-top-color: white;
    border-radius: 50%;
    animation: cart-spin 0.7s linear infinite;
}

@keyframes cart-spin {
    to {
        transform: rotate(360deg);
    }
}

[data-action="addToCart"].loading {
    pointer-events: none;
}


.product-filters {
    display: flex;
    flex-wrap: wrap;
    gap: 10px;
    justify-content: center;
    margin: 0 auto;
    padding-top: 10px;
}


.product-filters a {
        height: 20px;
        width: 20px;
        border-radius: 50%;
        border: solid 2px var(--grey);
    }


.product-filters a.selected {
        border-color: var(--black);
    }

#colour-filter-reset-button {
    margin: 0 auto;
    display: block;
    justify-content: center;
    margin-top: 15px;
    transition: 0.2s ease;
}

.no-products {
    grid-column: 1 / -1;
    display: flex;
    flex-direction: column;
    align-items: center;
    text-align: center;
    gap: 15px;
    padding: 40px 10px;
}

.no-products p {
        width: 100%;
        max-width: 500px;
        text-align: center;
    }

/* Order Success */
.order-success {
    width: min(1100px, 92%);
    margin: 0 auto;
}

.order-success__hero {
    text-align: center;
    max-width: 720px;
    margin: 0 auto 40px;
}

.order-success__hero h1 {
        margin: 12px 0;
    }

.order-success__tick {
    display: grid;
    place-items: center;
    width: 70px;
    height: 70px;
    margin: 0 auto;
    border-radius: 50%;
    background: var(--green);
    color: white;
    font-family: var(--body-font);
    font-size: 38px;
    font-weight: 700;
}

.order-success__eyebrow,
.order-card__label,
.fulfiller-card__label,
.instagram-card__eyebrow {
    width: 100%;
    color: var(--pink-3);
    font-family: var(--title-font);
    font-size: 18px;
    font-weight: 700;
    letter-spacing: 0.06em;
    text-align: inherit;
    text-transform: uppercase;
}

.order-success__intro {
    width: 100%;
    max-width: 600px;
    text-align: center;
    font-size: 18px;
    line-height: 1.45;
}

.order-success__grid {
    display: grid;
    grid-template-columns: minmax(0, 1.6fr) minmax(280px, 0.8fr);
    gap: 24px;
    align-items: start;
}

.order-success .order-card,
.fulfiller-card,
.instagram-card,
.order-success__error {
    border: 2px solid var(--grey);
    border-radius: 14px;
    background: white;
}

.order-success .order-card {
    padding: 28px;
}

.order-card__heading {
    display: flex;
    justify-content: space-between;
    align-items: flex-start;
    gap: 20px;
    padding-bottom: 22px;
    border-bottom: 2px solid var(--grey);
}

.order-card__heading h2 {
        margin-top: 4px;
        text-align: left;
    }

.order-card__status {
    flex: 0 0 auto;
    border-radius: 999px;
    background: #e9f9e9;
    color: var(--green-2);
    padding: 7px 12px;
    font-family: var(--body-font);
    font-size: 14px;
    font-weight: 700;
}

.order-item {
    display: grid;
    grid-template-columns: 74px minmax(0, 1fr) auto;
    gap: 16px;
    align-items: center;
    padding: 18px 0;
    border-bottom: 1px solid #ddd;
}

.order-item__image {
    position: relative;
    width: 74px;
    height: 74px;
    border-radius: 10px;
    background: var(--grey);
}

.order-item__image img {
        width: 100%;
        height: 100%;
        border-radius: inherit;
        object-fit: contain;
        padding: 5px;
    }

.order-item__quantity {
    position: absolute;
    top: -7px;
    right: -7px;
    display: grid;
    place-items: center;
    min-width: 25px;
    height: 25px;
    border-radius: 50%;
    background: black;
    color: white;
    font-family: var(--body-font);
    font-size: 13px;
    font-weight: 700;
}

.order-item__details {
    min-width: 0;
}

.order-item__details h3 {
        font-family: var(--body-font);
        font-size: 17px;
        line-height: 1.25;
        text-align: left;
        text-transform: none;
    }

.order-item__details p {
        width: 100%;
        margin-top: 5px;
        color: var(--mono-4);
        font-size: 14px;
    }

.order-item__price {
    width: auto;
    font-weight: 700;
    white-space: nowrap;
}

.order-totals {
    padding-top: 18px;
}

.order-totals__row {
    display: flex;
    justify-content: space-between;
    gap: 20px;
    padding: 5px 0;
    font-family: var(--body-font);
}

.order-totals__row dd {
        font-weight: 600;
    }

.order-totals__row--discount dd {
    color: var(--green-2);
}

.order-totals__row--total {
    margin-top: 12px;
    padding-top: 16px;
    border-top: 2px solid black;
    font-size: 16px;
    font-weight: 700;
}

.fulfiller-card {
    padding: 28px;
    text-align: center;
}

.fulfiller-card h2 {
        margin-top: 18px;
    }

.fulfiller-card  > p {
        width: 100%;
        line-height: 1.4;
    }

.fulfiller-card__photo {
    width: 145px;
    height: 145px;
    border: 5px solid var(--grey);
    border-radius: 50%;
    object-fit: cover;
}

.fulfiller-card__role {
    margin: 4px 0 16px;
    font-weight: 600;
    text-align: center;
}

.instagram-card {
    display: flex;
    align-items: center;
    margin-top: 20px;
    padding: 25px;
    flex-direction: column;
    gap: 20px;
}

.instagram-card p {
        width: 100%;
    }

.instagram-card__icon {
    flex: 0 0 auto;
    width: 74px;
    height: 74px;
    object-fit: contain;
    margin: 0 auto;
}

.instagram-card__link {
    display: inline-block;
    width: auto;
    margin-top: 12px;
    color: var(--pink-3);
    font-family: var(--body-font);
    font-size: 17px;
    font-weight: 700;
    text-align: center;
    text-transform: none;
    text-decoration: underline;
}

.order-success__actions {
    margin-top: 28px;
}

.order-success__loading,
.order-success__error {
    padding: 40px 25px;
    text-align: center;
}

:is(.order-success__loading,.order-success__error) p {
        width: 100%;
        margin-top: 12px;
        text-align: center;
    }

.order-success__spinner {
    display: block;
    width: 38px;
    height: 38px;
    margin: 0 auto 15px;
    border: 4px solid var(--grey);
    border-top-color: black;
    border-radius: 50%;
    animation: order-success-spin 0.8s linear infinite;
}

@keyframes order-success-spin {
    to {
        transform: rotate(360deg);
    }
}

@media only screen and (max-width: 800px) {
    .order-success__grid {
        grid-template-columns: 1fr;
    }

    .order-success .order-card,
    .fulfiller-card,
    .instagram-card {
        padding: 21px;
    }

    .instagram-card {
        flex-direction: column;
        text-align: center;
    }

        .instagram-card h2,.instagram-card p {
            text-align: center;
        }

    .order-success__actions {
        width: 100%;
        flex-direction: column;
    }

        .order-success__actions .btn {
            width: 100%;
        }
}

@media only screen and (max-width: 480px) {
    .order-item {
        grid-template-columns: 62px minmax(0, 1fr);
    }

    .order-item__image {
        width: 62px;
        height: 62px;
    }

    .order-item__price {
        grid-column: 2;
    }
}

/* Learn "Advice & Guides" Page */
.learn-wrapper {
    width: 90%;
    max-width: 1200px;
    margin: 20px auto 60px;
}

.article-search {
    max-width: 600px;
    margin: 0 auto 20px;
}

.article-search label {
        display: block;
        margin-bottom: 8px;
    }

.article-search input:focus-visible {
        outline: 2px solid var(--black);
        outline-offset: 3px;
    }

.article-status {
    width: 100%;
    text-align: center;
    margin-bottom: 25px;
}

.article-feed {
    display: grid;
    grid-template-columns: repeat(4, minmax(0, 1fr));
    gap: 35px 20px;
}

.article-card {
    min-width: 0;
}

.article-card a {
        display: block;
        color: var(--black);
    }

.article-card a:focus-visible {
        outline: 2px solid var(--black);
        outline-offset: 5px;
    }

.article-card img,.article-card .article-thumbnail-placeholder {
        display: block;
        width: 100%;
        aspect-ratio: 1 / 1;
        object-fit: cover;
        border-radius: 10px;
        background: var(--grey);
    }

.article-card h2 {
        margin-top: 12px;
        font-size: 26px;
        line-height: 1.1;
    }

@media only screen and (max-width: 900px) {
    .article-feed {
        grid-template-columns: repeat(2, minmax(0, 1fr));
    }
}

@media only screen and (max-width: 500px) {
    .article-feed {
        grid-template-columns: 1fr;
    }
}

.article-topics {
    display: flex;
    flex-direction: row;
    flex-wrap: wrap;
    justify-content: center;
    gap: 10px 15px;
    margin: 0 auto 25px;
}

.article-topics a {
        width: fit-content;
        color: black;
        font-size: 16px;
        font-family: var(--body-font);
        text-transform: revert;
        cursor: pointer;
    }

.article-topics a:hover {
        text-decoration: underline;
    }

.article-topics[hidden] {
    display: none;
}

@media only screen and (max-width: 800px) {
    .article-topics {
        flex-wrap: nowrap;
        justify-content: flex-start;
        overflow-x: auto;
        gap: 15px;
        padding-bottom: 10px;
    }

        .article-topics .topic-link {
            flex-shrink: 0;
            white-space: nowrap;
        }
    .article-topics {

        scrollbar-width: none;
    }

        .article-topics::-webkit-scrollbar {
            display: none;
        }
}

.learn-article {
    display: flow-root;
    width: 60%;
    margin: 0 auto 50px;
}

.learn-article p {
        width: 100%;
        margin-bottom: 20px;
    }

.learn-article h2 {
        clear: both;
        margin: 30px 0 15px;
    }

.learn-article img {
        display: block;
        max-width: 100%;
        height: auto;
        border-radius: 10px;
    }

.learn-article .article-intro-image {
        float: right;
        width: 40%;
        margin: 0 0 20px 25px;
    }

.learn-article .arctiles-topics {
        text-align: center;
        width: 100%;
    }

:is(.learn-article .arctiles-topics) a {
            color: var(--black);
            text-align: center;
            font-weight: bold;
            padding-right: 5px;
            text-decoration: none;
        }

:is(.learn-article .arctiles-topics) a:hover {
            text-decoration: underline;
        }

@media only screen and (max-width: 800px) {
    .learn-article {
        width: 90%;
    }

        .learn-article .article-intro-image {
            float: none;
            width: 100%;
            margin: 20px 0;
        }
}

/* Mailing List */
.mailing-list {
    width: min(90%, 620px);
    margin: 50px auto;
}
.mailing-list  > p {
        width: 100%;
        max-width: 520px;
        margin-top: 10px;
        text-align: center;
    }
.mailing-list form {
        display: flex;
        flex-direction: column;
        gap: 15px;
        margin-top: 25px;
        padding: 25px;
        border-radius: 20px;
        background: var(--grey);
    }
.mailing-list label {
        display: flex;
        flex-direction: column;
        gap: 5px;
    }
.mailing-list [data-subscription-fields]:is(div) {
        display: grid;
        grid-template-columns: repeat(2, minmax(0, 1fr));
        gap: 15px;
    }
.mailing-list fieldset {
        border: 0;
    }
:is(.mailing-list fieldset) legend {
            width: 100%;
            margin-bottom: 8px;
            font-family: var(--body-font);
            font-size: 16px;
            text-align: center;
        }
:is(.mailing-list fieldset)  > div {
            display: flex;
            gap: 8px;
        }
:is(.mailing-list fieldset) label {
            flex: 1;
            cursor: pointer;
        }
:is(.mailing-list fieldset) input {
            position: absolute;
            opacity: 0;
            pointer-events: none;
        }
:is(.mailing-list fieldset) span {
            display: flex;
            justify-content: center;
            align-items: center;
            min-height: 48px;
            padding: 10px;
            border: 2px solid white;
            border-radius: 5px;
            background: white;
            color: black;
            font-family: var(--title-font);
            font-size: 20px;
            font-weight: 600;
            line-height: 20px;
            text-align: center;
            text-transform: uppercase;
            transition: 0.25s ease-in-out;
        }
:is(.mailing-list fieldset) input:checked + span {
            border-color: black;
            background: black;
            color: white;
        }
:is(.mailing-list fieldset) input:focus-visible + span {
            outline: 3px solid var(--blue-4);
            outline-offset: 2px;
        }
.mailing-list .btn {
        width: 100%;
    }
.mailing-list [data-mailing-list-cancel][hidden] {
        display: none;
    }
.mailing-list .mailing-list__consent {
        width: 100%;
        color: var(--mono-4);
        font-size: 13px;
        text-align: center;
    }
.mailing-list .mailing-list__status {
        width: 100%;
        min-height: 20px;
        font-weight: 600;
        text-align: center;
    }
.error:is(.mailing-list .mailing-list__status) {
            color: var(--red);
        }
.success:is(.mailing-list .mailing-list__status) {
            color: var(--green-2);
        }
.mailing-list .website-field {
        position: absolute;
        left: -10000px;
    }
.mailing-list.unsubscribe-mode [data-subscription-fields],.mailing-list.unsubscribe-mode .mailing-list__consent,.mailing-list.unsubscribe-mode [data-mailing-list-unsubscribe] {
            display: none;
        }

@media only screen and (max-width: 600px) {
        .mailing-list form {
            padding: 20px 15px;
        }

        .mailing-list [data-subscription-fields]:is(div) {
            grid-template-columns: 1fr;
        }

        .mailing-list fieldset > div {
            flex-direction: column;
        }
}

.custom-rope-wrapper {
    margin: 0 auto;
    position: relative;
    border-radius: 20px;
    isolation: isolate;
    z-index: 0;
    margin-top: 30px;
}

.custom-rope-wrapper,
.custom-rope-wrapper img,
.custom-rope-hitbox-wrapper {
    width: 360px;
    height: 360px;
}

.custom-rope-wrapper img,
.custom-rope-hitbox-wrapper {
    position: absolute;
    cursor: pointer;
}

.custom-rope-hitbox-wrapper {
    z-index: 200;
}

.custom-rope-hitbox-wrapper .hitbox {
    position: absolute;
    width: 34px;
    height: 12px;
    top: 0;
    left: 0;
}

.custom-rope-hitbox-wrapper .hitbox[data-bead-id="108"],
.custom-rope-wrapper .bead-img[data-bead-id="108"] {
    top: 82px;
    left: 255px;
    transform: rotate(55deg);
}

.custom-rope-wrapper .bead-img[data-bead-id="108"] {
    transform: rotate(55deg) translate(-2px, 0px);
}

.custom-rope-hitbox-wrapper .hitbox[data-bead-id="107"],
.custom-rope-wrapper .bead-img[data-bead-id="107"] {
    top: 55px;
    left: 233px;
    transform: rotate(45deg);
}

.custom-rope-wrapper .bead-img[data-bead-id="107"] {
    transform: rotate(45deg) translate(-2px, 0px);
}

.custom-rope-hitbox-wrapper .hitbox[data-bead-id="106"],
.custom-rope-wrapper .bead-img[data-bead-id="106"] {
    top: 34px;
    left: 206px;
    transform: rotate(32deg);
}

.custom-rope-wrapper .bead-img[data-bead-id="106"] {
    transform: rotate(32deg) translate(-2px, 0px);
}

.custom-rope-hitbox-wrapper .hitbox[data-bead-id="105"],
.custom-rope-wrapper .bead-img[data-bead-id="105"] {
    top: 21px;
    left: 175px;
    transform: rotate(16deg);
}

.custom-rope-wrapper .bead-img[data-bead-id="105"] {
    transform: rotate(16deg) translate(-2px, -1px);
}

.custom-rope-hitbox-wrapper .hitbox[data-bead-id="104"],
.custom-rope-wrapper .bead-img[data-bead-id="104"] {
    top: 16px;
    left: 140px;
    transform: rotate(0deg);
}

.custom-rope-wrapper .bead-img[data-bead-id="104"] {
    transform: rotate(0deg) translate(-1px, -1px);
}

.custom-rope-hitbox-wrapper .hitbox[data-bead-id="103"],
.custom-rope-wrapper .bead-img[data-bead-id="103"] {
    top: 20px;
    left: 106px;
    transform: rotate(346deg);
}

.custom-rope-wrapper .bead-img[data-bead-id="103"] {
    transform: rotate(346deg) translate(-1px, -1px);
}

.custom-rope-hitbox-wrapper .hitbox[data-bead-id="102"],
.custom-rope-wrapper .bead-img[data-bead-id="102"] {
    top: 34px;
    left: 73px;
    transform: rotate(332deg);
}

.custom-rope-wrapper .bead-img[data-bead-id="102"] {
    transform: rotate(332deg) translate(-1px, -2px);
}

.custom-rope-hitbox-wrapper .hitbox[data-bead-id="101"],
.custom-rope-wrapper .bead-img[data-bead-id="101"] {
    top: 55px;
    left: 45px;
    transform: rotate(316deg);
}

.custom-rope-wrapper .bead-img[data-bead-id="101"] {
    transform: rotate(316deg) translate(0px, -2px);
}

.custom-rope-hitbox-wrapper .hitbox[data-bead-id="100"],
.custom-rope-wrapper .bead-img[data-bead-id="100"] {
    top: 83px;
    left: 25px;
    transform: rotate(297deg);
}

.custom-rope-wrapper .bead-img[data-bead-id="100"] {
    transform: rotate(297deg) translate(1px, -2px);
}

.custom-rope-hitbox-wrapper .hitbox[data-bead-id="99"],
.custom-rope-wrapper .bead-img[data-bead-id="99"] {
    top: 116px;
    left: 14px;
    transform: rotate(283deg);
}

.custom-rope-wrapper .bead-img[data-bead-id="99"] {
    transform: rotate(283deg) translate(2px, -2px);
}

.custom-rope-hitbox-wrapper .hitbox[data-bead-id="98"],
.custom-rope-wrapper .bead-img[data-bead-id="98"] {
    top: 148px;
    left: 10px;
    transform: rotate(270deg);
}

.custom-rope-wrapper .bead-img[data-bead-id="98"] {
    transform: rotate(270deg) translate(0px, -2px);
}

.custom-rope-hitbox-wrapper .hitbox[data-bead-id="97"],
.custom-rope-wrapper .bead-img[data-bead-id="97"] {
    top: 185px;
    left: 15px;
    transform: rotate(255deg);
}

.custom-rope-wrapper .bead-img[data-bead-id="97"] {
    transform: rotate(255deg) translate(2px, -1px);
}

.custom-rope-hitbox-wrapper .hitbox[data-bead-id="96"],
.custom-rope-wrapper .bead-img[data-bead-id="96"] {
    top: 217px;
    left: 29px;
    transform: rotate(240deg);
}

.custom-rope-wrapper .bead-img[data-bead-id="96"] {
    transform: rotate(240deg) translate(2px, 0px);
}

.custom-rope-hitbox-wrapper .hitbox[data-bead-id="95"],
.custom-rope-wrapper .bead-img[data-bead-id="95"] {
    top: 244px;
    left: 51px;
    transform: rotate(224deg);
}

.custom-rope-wrapper .bead-img[data-bead-id="95"] {
    transform: rotate(224deg) translate(2px, 0px);
}

.custom-rope-hitbox-wrapper .hitbox[data-bead-id="94"],
.custom-rope-wrapper .bead-img[data-bead-id="94"] {
    top: 265px;
    left: 79px;
    transform: rotate(208deg);
}

.custom-rope-wrapper .bead-img[data-bead-id="94"] {
    transform: rotate(208deg) translate(2px, 1px);
}

.custom-rope-hitbox-wrapper .hitbox[data-bead-id="93"],
.custom-rope-wrapper .bead-img[data-bead-id="93"] {
    top: 276px;
    left: 111px;
    transform: rotate(191deg);
}

.custom-rope-wrapper .bead-img[data-bead-id="93"] {
    transform: rotate(191deg) translate(2px, 1px);
}

.custom-rope-hitbox-wrapper .hitbox[data-bead-id="92"],
.custom-rope-wrapper .bead-img[data-bead-id="92"] {
    top: 279px;
    left: 145px;
    transform: rotate(176deg);
}

.custom-rope-wrapper .bead-img[data-bead-id="92"] {
    transform: rotate(176deg) translate(2px, 2px);
}

.custom-rope-hitbox-wrapper .hitbox[data-bead-id="91"],
.custom-rope-wrapper .bead-img[data-bead-id="91"] {
    top: 272px;
    left: 179px;
    transform: rotate(162deg);
}

.custom-rope-wrapper .bead-img[data-bead-id="91"] {
    transform: rotate(162deg) translate(1px, 2px);
}

.custom-rope-hitbox-wrapper .hitbox[data-bead-id="90"],
.custom-rope-wrapper .bead-img[data-bead-id="90"] {
    top: 256px;
    left: 210px;
    transform: rotate(146deg);
}

.custom-rope-wrapper .bead-img[data-bead-id="90"] {
    transform: rotate(146deg) translate(1px, 2px);
}

.custom-rope-hitbox-wrapper .hitbox[data-bead-id="89"],
.custom-rope-wrapper .bead-img[data-bead-id="89"] {
    top: 233px;
    left: 236px;
    transform: rotate(133deg);
}

.custom-rope-wrapper .bead-img[data-bead-id="89"] {
    transform: rotate(133deg) translate(0px, 2px);
}

.custom-rope-hitbox-wrapper .hitbox[data-bead-id="88"],
.custom-rope-wrapper .bead-img[data-bead-id="88"] {
    top: 204px;
    left: 255px;
    transform: rotate(114deg);
}

.custom-rope-wrapper .bead-img[data-bead-id="88"] {
    transform: rotate(114deg) translate(-1px, 2px);
}

.custom-rope-hitbox-wrapper .hitbox[data-bead-id="87"],
.custom-rope-wrapper .bead-img[data-bead-id="87"] {
    top: 170px;
    left: 263px;
    transform: rotate(93deg);
}

.custom-rope-wrapper .bead-img[data-bead-id="87"] {
    transform: rotate(93deg) translate(-1px, 2px);
}

.custom-rope-hitbox-wrapper .hitbox[data-bead-id="86"],
.custom-rope-wrapper .bead-img[data-bead-id="86"] {
    top: 132px;
    left: 261px;
    transform: rotate(80deg);
}

.custom-rope-wrapper .bead-img[data-bead-id="86"] {
    transform: rotate(80deg) translate(-2px, 2px);
}

.custom-rope-hitbox-wrapper .hitbox[data-bead-id="85"],
.custom-rope-wrapper .bead-img[data-bead-id="85"] {
    top: 90px;
    left: 245px;
    transform: rotate(56deg);
}

.custom-rope-wrapper .bead-img[data-bead-id="85"] {
    transform: rotate(56deg) translate(-2px, 1px);
}

.custom-rope-hitbox-wrapper .hitbox[data-bead-id="84"],
.custom-rope-wrapper .bead-img[data-bead-id="84"] {
    top: 63px;
    left: 223px;
    transform: rotate(44deg);
}

.custom-rope-wrapper .bead-img[data-bead-id="84"] {
    transform: rotate(44deg) translate(-2px, 0px);
}

.custom-rope-hitbox-wrapper .hitbox[data-bead-id="83"],
.custom-rope-wrapper .bead-img[data-bead-id="83"] {
    top: 43px;
    left: 196px;
    transform: rotate(30deg);
}

.custom-rope-wrapper .bead-img[data-bead-id="83"] {
    transform: rotate(30deg) translate(-2px, 0px);
}

.custom-rope-hitbox-wrapper .hitbox[data-bead-id="82"],
.custom-rope-wrapper .bead-img[data-bead-id="82"] {
    top: 31px;
    left: 164px;
    transform: rotate(12deg);
}

.custom-rope-wrapper .bead-img[data-bead-id="82"] {
    transform: rotate(11deg) translate(-2px, 0px);
}

.custom-rope-hitbox-wrapper .hitbox[data-bead-id="81"],
.custom-rope-wrapper .bead-img[data-bead-id="81"] {
    top: 29px;
    left: 130px;
    transform: rotate(356deg);
}

.custom-rope-wrapper .bead-img[data-bead-id="81"] {
    transform: rotate(356deg) translate(-2px, 0px);
}

.custom-rope-hitbox-wrapper .hitbox[data-bead-id="80"],
.custom-rope-wrapper .bead-img[data-bead-id="80"] {
    top: 36px;
    left: 96px;
    transform: rotate(341deg);
}

.custom-rope-wrapper .bead-img[data-bead-id="80"] {
    transform: rotate(341deg) translate(-1px, -1px);
}

.custom-rope-hitbox-wrapper .hitbox[data-bead-id="79"],
.custom-rope-wrapper .bead-img[data-bead-id="79"] {
    top: 53px;
    left: 66px;
    transform: rotate(322deg);
}

.custom-rope-wrapper .bead-img[data-bead-id="79"] {
    transform: rotate(322deg) translate(0px, -2px);
}

.custom-rope-hitbox-wrapper .hitbox[data-bead-id="78"],
.custom-rope-wrapper .bead-img[data-bead-id="78"] {
    top: 78px;
    left: 43px;
    transform: rotate(304deg);
}

.custom-rope-wrapper .bead-img[data-bead-id="78"] {
    transform: rotate(304deg) translate(1px, -2px);
}

.custom-rope-hitbox-wrapper .hitbox[data-bead-id="77"],
.custom-rope-wrapper .bead-img[data-bead-id="77"] {
    top: 108px;
    left: 28px;
    transform: rotate(284deg);
}

.custom-rope-wrapper .bead-img[data-bead-id="77"] {
    transform: rotate(287deg) translate(1px, -1px);
}

.custom-rope-hitbox-wrapper .hitbox[data-bead-id="76"],
.custom-rope-wrapper .bead-img[data-bead-id="76"] {
    top: 141px;
    left: 22px;
    transform: rotate(275deg);
}

.custom-rope-wrapper .bead-img[data-bead-id="76"] {
    transform: rotate(275deg) translate(2px, -2px);
}

.custom-rope-hitbox-wrapper .hitbox[data-bead-id="75"],
.custom-rope-wrapper .bead-img[data-bead-id="75"] {
    top: 175px;
    left: 24px;
    transform: rotate(256deg);
}

.custom-rope-wrapper .bead-img[data-bead-id="75"] {
    transform: rotate(256deg) translate(2px, 0px);
}

.custom-rope-hitbox-wrapper .hitbox[data-bead-id="74"],
.custom-rope-wrapper .bead-img[data-bead-id="74"] {
    top: 207px;
    left: 37px;
    transform: rotate(241deg);
}

.custom-rope-wrapper .bead-img[data-bead-id="74"] {
    transform: rotate(241deg) translate(2px, 0px);
}

.custom-rope-hitbox-wrapper .hitbox[data-bead-id="73"],
.custom-rope-wrapper .bead-img[data-bead-id="73"] {
    top: 234px;
    left: 58px;
    transform: rotate(224deg);
}

.custom-rope-wrapper .bead-img[data-bead-id="73"] {
    transform: rotate(224deg) translate(2px, 0px);
}

.custom-rope-hitbox-wrapper .hitbox[data-bead-id="72"],
.custom-rope-wrapper .bead-img[data-bead-id="72"] {
    top: 254px;
    left: 85px;
    transform: rotate(208deg);
}

.custom-rope-wrapper .bead-img[data-bead-id="72"] {
    transform: rotate(208deg) translate(2px, 0px);
}

.custom-rope-hitbox-wrapper .hitbox[data-bead-id="71"],
.custom-rope-wrapper .bead-img[data-bead-id="71"] {
    top: 265px;
    left: 117px;
    transform: rotate(190deg);
}

.custom-rope-wrapper .bead-img[data-bead-id="71"] {
    transform: rotate(190deg) translate(2px, 2px);
}

.custom-rope-hitbox-wrapper .hitbox[data-bead-id="70"],
.custom-rope-wrapper .bead-img[data-bead-id="70"] {
    top: 266px;
    left: 150px;
    transform: rotate(173deg);
}

.custom-rope-wrapper .bead-img[data-bead-id="70"] {
    transform: rotate(173deg) translate(2px, 2px);
}

.custom-rope-hitbox-wrapper .hitbox[data-bead-id="69"],
.custom-rope-wrapper .bead-img[data-bead-id="69"] {
    top: 258px;
    left: 183px;
    transform: rotate(155deg);
}

.custom-rope-wrapper .bead-img[data-bead-id="69"] {
    transform: rotate(158deg) translate(1px, 3px);
}

.custom-rope-hitbox-wrapper .hitbox[data-bead-id="68"],
.custom-rope-wrapper .bead-img[data-bead-id="68"] {
    top: 239px;
    left: 212px;
    transform: rotate(138deg);
}

.custom-rope-wrapper .bead-img[data-bead-id="68"] {
    transform: rotate(141deg) translate(0px, 2px);
}

.custom-rope-hitbox-wrapper .hitbox[data-bead-id="67"],
.custom-rope-wrapper .bead-img[data-bead-id="67"] {
    top: 214px;
    left: 235px;
    transform: rotate(126deg);
}

.custom-rope-wrapper .bead-img[data-bead-id="67"] {
    transform: rotate(126deg) translate(0px, 2px);
}

.custom-rope-hitbox-wrapper .hitbox[data-bead-id="66"],
.custom-rope-wrapper .bead-img[data-bead-id="66"] {
    top: 183px;
    left: 249px;
    transform: rotate(105deg);
}

.custom-rope-wrapper .bead-img[data-bead-id="66"] {
    transform: rotate(105deg) translate(-1px, 2px);
}

.custom-rope-hitbox-wrapper .hitbox[data-bead-id="65"],
.custom-rope-wrapper .bead-img[data-bead-id="65"] {
    top: 149px;
    left: 251px;
    transform: rotate(86deg);
}

.custom-rope-wrapper .bead-img[data-bead-id="65"] {
    transform: rotate(86deg) translate(-1px, 1px);
}

.custom-rope-hitbox-wrapper .hitbox[data-bead-id="64"],
.custom-rope-wrapper .bead-img[data-bead-id="64"] {
    top: 116px;
    left: 244px;
    transform: rotate(71deg);
}

.custom-rope-wrapper .bead-img[data-bead-id="64"] {
    transform: rotate(71deg) translate(-2px, 1px);
}

.custom-rope-hitbox-wrapper .hitbox[data-bead-id="63"],
.custom-rope-wrapper .bead-img[data-bead-id="63"] {
    top: 86px;
    left: 227px;
    transform: rotate(53deg);
}

.custom-rope-wrapper .bead-img[data-bead-id="63"] {
    transform: rotate(49deg) translate(-2px, 1px);
}

.custom-rope-hitbox-wrapper .hitbox[data-bead-id="62"],
.custom-rope-wrapper .bead-img[data-bead-id="62"] {
    top: 62px;
    left: 202px;
    transform: rotate(33deg);
}

.custom-rope-wrapper .bead-img[data-bead-id="62"] {
    transform: rotate(35deg) translate(-2px, 1px);
}

.custom-rope-hitbox-wrapper .hitbox[data-bead-id="61"],
.custom-rope-wrapper .bead-img[data-bead-id="61"] {
    top: 47px;
    left: 171px;
    transform: rotate(18deg);
}

.custom-rope-wrapper .bead-img[data-bead-id="61"] {
    transform: rotate(18deg) translate(-2px, -1px);
}

.custom-rope-hitbox-wrapper .hitbox[data-bead-id="60"],
.custom-rope-wrapper .bead-img[data-bead-id="60"] {
    top: 42px;
    left: 137px;
    transform: rotate(358deg);
}

.custom-rope-wrapper .bead-img[data-bead-id="60"] {
    transform: rotate(358deg) translate(-1px, -2px);
}

.custom-rope-hitbox-wrapper .hitbox[data-bead-id="59"],
.custom-rope-wrapper .bead-img[data-bead-id="59"] {
    top: 47px;
    left: 104px;
    transform: rotate(341deg);
}

.custom-rope-wrapper .bead-img[data-bead-id="59"] {
    transform: rotate(341deg) translate(-1px, -2px);
}

.custom-rope-hitbox-wrapper .hitbox[data-bead-id="58"],
.custom-rope-wrapper .bead-img[data-bead-id="58"] {
    top: 62px;
    left: 73px;
    transform: rotate(322deg);
}

.custom-rope-wrapper .bead-img[data-bead-id="58"] {
    transform: rotate(322deg) translate(0px, -2px);
}

.custom-rope-hitbox-wrapper .hitbox[data-bead-id="57"],
.custom-rope-wrapper .bead-img[data-bead-id="57"] {
    top: 87px;
    left: 50px;
    transform: rotate(303deg);
}

.custom-rope-wrapper .bead-img[data-bead-id="57"] {
    transform: rotate(303deg) translate(1px, -2px);
}

.custom-rope-hitbox-wrapper .hitbox[data-bead-id="56"],
.custom-rope-wrapper .bead-img[data-bead-id="56"] {
    top: 119px;
    left: 37px;
    transform: rotate(284deg);
}

.custom-rope-wrapper .bead-img[data-bead-id="56"] {
    transform: rotate(280deg) translate(2px, -1px);
}

.custom-rope-hitbox-wrapper .hitbox[data-bead-id="55"],
.custom-rope-wrapper .bead-img[data-bead-id="55"] {
    top: 152px;
    left: 37px;
    transform: rotate(268deg);
}

.custom-rope-wrapper .bead-img[data-bead-id="55"] {
    transform: rotate(268deg) translate(2px, -2px);
}

.custom-rope-hitbox-wrapper .hitbox[data-bead-id="54"],
.custom-rope-wrapper .bead-img[data-bead-id="54"] {
    top: 186px;
    left: 44px;
    transform: rotate(248deg);
}

.custom-rope-wrapper .bead-img[data-bead-id="54"] {
    transform: rotate(248deg) translate(2px, -1px);
}

.custom-rope-hitbox-wrapper .hitbox[data-bead-id="53"],
.custom-rope-wrapper .bead-img[data-bead-id="53"] {
    top: 215px;
    left: 61px;
    transform: rotate(234deg);
}

.custom-rope-wrapper .bead-img[data-bead-id="53"] {
    transform: rotate(234deg) translate(2px, -1px);
}

.custom-rope-hitbox-wrapper .hitbox[data-bead-id="52"],
.custom-rope-wrapper .bead-img[data-bead-id="52"] {
    top: 239px;
    left: 85px;
    transform: rotate(214deg);
}

.custom-rope-wrapper .bead-img[data-bead-id="52"] {
    transform: rotate(214deg) translate(2px, 0px);
}

.custom-rope-hitbox-wrapper .hitbox[data-bead-id="51"],
.custom-rope-wrapper .bead-img[data-bead-id="51"] {
    top: 253px;
    left: 116px;
    transform: rotate(191deg);
}

.custom-rope-wrapper .bead-img[data-bead-id="51"] {
    transform: rotate(191deg) translate(2px, 2px);
}

.custom-rope-hitbox-wrapper .hitbox[data-bead-id="50"],
.custom-rope-wrapper .bead-img[data-bead-id="50"] {
    top: 254px;
    left: 150px;
    transform: rotate(173deg);
}

.custom-rope-wrapper .bead-img[data-bead-id="50"] {
    transform: rotate(173deg) translate(2px, 2px);
}

.custom-rope-hitbox-wrapper .hitbox[data-bead-id="49"],
.custom-rope-wrapper .bead-img[data-bead-id="49"] {
    top: 246px;
    left: 182px;
    transform: rotate(152deg);
}

.custom-rope-wrapper .bead-img[data-bead-id="49"] {
    transform: rotate(156deg) translate(1px, 3px);
}

.custom-rope-hitbox-wrapper .hitbox[data-bead-id="48"],
.custom-rope-wrapper .bead-img[data-bead-id="48"] {
    top: 226px;
    left: 209px;
    transform: rotate(134deg);
}

.custom-rope-wrapper .bead-img[data-bead-id="48"] {
    transform: rotate(134deg) translate(0px, 2px);
}

.custom-rope-hitbox-wrapper .hitbox[data-bead-id="47"],
.custom-rope-wrapper .bead-img[data-bead-id="47"] {
    top: 197px;
    left: 228px;
    transform: rotate(117deg);
}

.custom-rope-wrapper .bead-img[data-bead-id="47"] {
    transform: rotate(117deg) translate(0px, 2px);
}

.custom-rope-hitbox-wrapper .hitbox[data-bead-id="46"],
.custom-rope-wrapper .bead-img[data-bead-id="46"] {
    top: 164px;
    left: 238px;
    transform: rotate(97deg);
}

.custom-rope-wrapper .bead-img[data-bead-id="46"] {
    transform: rotate(97deg) translate(-1px, 1px);
}

.custom-rope-hitbox-wrapper .hitbox[data-bead-id="45"],
.custom-rope-wrapper .bead-img[data-bead-id="45"] {
    top: 129px;
    left: 236px;
    transform: rotate(75deg);
}

.custom-rope-wrapper .bead-img[data-bead-id="45"] {
    transform: rotate(72deg) translate(-2px, 1px);
}

.custom-rope-hitbox-wrapper .hitbox[data-bead-id="44"],
.custom-rope-wrapper .bead-img[data-bead-id="44"] {
    top: 98px;
    left: 220px;
    transform: rotate(54deg);
}

.custom-rope-wrapper .bead-img[data-bead-id="44"] {
    transform: rotate(54deg) translate(-2px, 1px);
}

.custom-rope-hitbox-wrapper .hitbox[data-bead-id="43"],
.custom-rope-wrapper .bead-img[data-bead-id="43"] {
    top: 74px;
    left: 197px;
    transform: rotate(32deg);
}

.custom-rope-wrapper .bead-img[data-bead-id="43"] {
    transform: rotate(36deg) translate(-2px, 1px);
}

.custom-rope-hitbox-wrapper .hitbox[data-bead-id="42"],
.custom-rope-wrapper .bead-img[data-bead-id="42"] {
    top: 58px;
    left: 167px;
    transform: rotate(18deg);
}

.custom-rope-wrapper .bead-img[data-bead-id="42"] {
    transform: rotate(21deg) translate(-2px, 0px);
}

.custom-rope-hitbox-wrapper .hitbox[data-bead-id="41"],
.custom-rope-wrapper .bead-img[data-bead-id="41"] {
    top: 54px;
    left: 133px;
    transform: rotate(358deg);
}

.custom-rope-wrapper .bead-img[data-bead-id="41"] {
    transform: rotate(358deg) translate(-1px, -2px);
}

.custom-rope-hitbox-wrapper .hitbox[data-bead-id="40"],
.custom-rope-wrapper .bead-img[data-bead-id="40"] {
    top: 62px;
    left: 100px;
    transform: rotate(341deg);
}

.custom-rope-wrapper .bead-img[data-bead-id="40"] {
    transform: rotate(337deg) translate(-1px, -2px);
}

.custom-rope-hitbox-wrapper .hitbox[data-bead-id="39"],
.custom-rope-wrapper .bead-img[data-bead-id="39"] {
    top: 81px;
    left: 71px;
    transform: rotate(314deg);
}

.custom-rope-wrapper .bead-img[data-bead-id="39"] {
    transform: rotate(314deg) translate(0px, -2px);
}

.custom-rope-hitbox-wrapper .hitbox[data-bead-id="38"],
.custom-rope-wrapper .bead-img[data-bead-id="38"] {
    top: 110px;
    left: 53px;
    transform: rotate(290deg);
}

.custom-rope-wrapper .bead-img[data-bead-id="38"] {
    transform: rotate(290deg) translate(1px, -2px);
}

.custom-rope-hitbox-wrapper .hitbox[data-bead-id="37"],
.custom-rope-wrapper .bead-img[data-bead-id="37"] {
    top: 144px;
    left: 48px;
    transform: rotate(267deg);
}

.custom-rope-wrapper .bead-img[data-bead-id="37"] {
    transform: rotate(267deg) translate(2px, -1px);
}

.custom-rope-hitbox-wrapper .hitbox[data-bead-id="36"],
.custom-rope-wrapper .bead-img[data-bead-id="36"] {
    top: 178px;
    left: 55px;
    transform: rotate(248deg);
}

.custom-rope-wrapper .bead-img[data-bead-id="36"] {
    transform: rotate(248deg) translate(2px, -1px);
}

.custom-rope-hitbox-wrapper .hitbox[data-bead-id="35"],
.custom-rope-wrapper .bead-img[data-bead-id="35"] {
    top: 208px;
    left: 70px;
    transform: rotate(232deg);
}

.custom-rope-wrapper .bead-img[data-bead-id="35"] {
    transform: rotate(232deg) translate(2px, 0px);
}

.custom-rope-hitbox-wrapper .hitbox[data-bead-id="34"],
.custom-rope-wrapper .bead-img[data-bead-id="34"] {
    top: 232px;
    left: 95px;
    transform: rotate(213deg);
}

.custom-rope-wrapper .bead-img[data-bead-id="34"] {
    transform: rotate(213deg) translate(2px, 1px);
}

.custom-rope-hitbox-wrapper .hitbox[data-bead-id="33"],
.custom-rope-wrapper .bead-img[data-bead-id="33"] {
    top: 242px;
    left: 127px;
    transform: rotate(189deg);
}

.custom-rope-wrapper .bead-img[data-bead-id="33"] {
    transform: rotate(189deg) translate(2px, 1px);
}

.custom-rope-hitbox-wrapper .hitbox[data-bead-id="32"],
.custom-rope-wrapper .bead-img[data-bead-id="32"] {
    top: 240px;
    left: 160px;
    transform: rotate(165deg);
}

.custom-rope-wrapper .bead-img[data-bead-id="32"] {
    transform: rotate(165deg) translate(2px, 2px);
}

.custom-rope-hitbox-wrapper .hitbox[data-bead-id="31"],
.custom-rope-wrapper .bead-img[data-bead-id="31"] {
    top: 225px;
    left: 190px;
    transform: rotate(143deg);
}

.custom-rope-wrapper .bead-img[data-bead-id="31"] {
    transform: rotate(143deg) translate(1px, 2px);
}

.custom-rope-hitbox-wrapper .hitbox[data-bead-id="30"],
.custom-rope-wrapper .bead-img[data-bead-id="30"] {
    top: 199px;
    left: 214px;
    transform: rotate(120deg);
}

.custom-rope-wrapper .bead-img[data-bead-id="30"] {
    transform: rotate(124deg) translate(-1px, 3px);
}

.custom-rope-hitbox-wrapper .hitbox[data-bead-id="29"],
.custom-rope-wrapper .bead-img[data-bead-id="29"] {
    top: 167px;
    left: 225px;
    transform: rotate(97deg);
}

.custom-rope-wrapper .bead-img[data-bead-id="29"] {
    transform: rotate(97deg) translate(-1px, 1px);
}

.custom-rope-hitbox-wrapper .hitbox[data-bead-id="28"],
.custom-rope-wrapper .bead-img[data-bead-id="28"] {
    top: 132px;
    left: 224px;
    transform: rotate(74deg);
}

.custom-rope-wrapper .bead-img[data-bead-id="28"] {
    transform: rotate(74deg) translate(-2px, 1px);
}

.custom-rope-hitbox-wrapper .hitbox[data-bead-id="27"],
.custom-rope-wrapper .bead-img[data-bead-id="27"] {
    top: 102px;
    left: 208px;
    transform: rotate(53deg);
}

.custom-rope-wrapper .bead-img[data-bead-id="27"] {
    transform: rotate(53deg) translate(-2px, 0px);
}

.custom-rope-hitbox-wrapper .hitbox[data-bead-id="26"],
.custom-rope-wrapper .bead-img[data-bead-id="26"] {
    top: 80px;
    left: 182px;
    transform: rotate(32deg);
}

.custom-rope-wrapper .bead-img[data-bead-id="26"] {
    transform: rotate(29deg) translate(-2px, 0px);
}

.custom-rope-hitbox-wrapper .hitbox[data-bead-id="25"],
.custom-rope-wrapper .bead-img[data-bead-id="25"] {
    top: 69px;
    left: 149px;
    transform: rotate(6deg);
}

.custom-rope-wrapper .bead-img[data-bead-id="25"] {
    transform: rotate(8deg) translate(-2px, -1px);
}

.custom-rope-hitbox-wrapper .hitbox[data-bead-id="24"],
.custom-rope-wrapper .bead-img[data-bead-id="24"] {
    top: 70px;
    left: 115px;
    transform: rotate(345deg);
}

.custom-rope-wrapper .bead-img[data-bead-id="24"] {
    transform: rotate(345deg) translate(-2px, -1px);
}

.custom-rope-hitbox-wrapper .hitbox[data-bead-id="23"],
.custom-rope-wrapper .bead-img[data-bead-id="23"] {
    top: 86px;
    left: 84px;
    transform: rotate(319deg);
}

.custom-rope-wrapper .bead-img[data-bead-id="23"] {
    transform: rotate(319deg) translate(0px, -2px);
}

.custom-rope-hitbox-wrapper .hitbox[data-bead-id="22"],
.custom-rope-wrapper .bead-img[data-bead-id="22"] {
    top: 114px;
    left: 64px;
    transform: rotate(291deg);
}

.custom-rope-wrapper .bead-img[data-bead-id="22"] {
    transform: rotate(291deg) translate(1px, -1px);
}

.custom-rope-hitbox-wrapper .hitbox[data-bead-id="21"],
.custom-rope-wrapper .bead-img[data-bead-id="21"] {
    top: 148px;
    left: 60px;
    transform: rotate(266deg);
}

.custom-rope-wrapper .bead-img[data-bead-id="21"] {
    transform: rotate(266deg)translate(2px, -1px);
}

.custom-rope-hitbox-wrapper .hitbox[data-bead-id="20"],
.custom-rope-wrapper .bead-img[data-bead-id="20"] {
    top: 182px;
    left: 70px;
    transform: rotate(246deg);
}

.custom-rope-wrapper .bead-img[data-bead-id="20"] {
    transform: rotate(246deg) translate(2px, -2px);
}

.custom-rope-hitbox-wrapper .hitbox[data-bead-id="19"],
.custom-rope-wrapper .bead-img[data-bead-id="19"] {
    top: 211px;
    left: 89px;
    transform: rotate(224deg);
}

.custom-rope-wrapper .bead-img[data-bead-id="19"] {
    transform: rotate(224deg) translate(2px, 0px);
}

.custom-rope-hitbox-wrapper .hitbox[data-bead-id="18"],
.custom-rope-wrapper .bead-img[data-bead-id="18"] {
    top: 228px;
    left: 119px;
    transform: rotate(193deg);
}

.custom-rope-wrapper .bead-img[data-bead-id="18"] {
    transform: rotate(193deg) translate(2px, 1px);
}

.custom-rope-hitbox-wrapper .hitbox[data-bead-id="17"],
.custom-rope-wrapper .bead-img[data-bead-id="17"] {
    top: 229px;
    left: 154px;
    transform: rotate(166deg);
}

.custom-rope-wrapper .bead-img[data-bead-id="17"] {
    transform: rotate(166deg) translate(1px, 2px);
}

.custom-rope-hitbox-wrapper .hitbox[data-bead-id="16"],
.custom-rope-wrapper .bead-img[data-bead-id="16"] {
    top: 214px;
    left: 185px;
    transform: rotate(143deg);
}

.custom-rope-wrapper .bead-img[data-bead-id="16"] {
    transform: rotate(143deg) translate(1px, 2px);
}

.custom-rope-hitbox-wrapper .hitbox[data-bead-id="15"],
.custom-rope-wrapper .bead-img[data-bead-id="15"] {
    top: 187px;
    left: 207px;
    transform: rotate(116deg);
}

.custom-rope-wrapper .bead-img[data-bead-id="15"] {
    transform: rotate(116deg) translate(0px, 3px);
}

.custom-rope-hitbox-wrapper .hitbox[data-bead-id="14"],
.custom-rope-wrapper .bead-img[data-bead-id="14"] {
    top: 152px;
    left: 214px;
    transform: rotate(91deg);
}

.custom-rope-wrapper .bead-img[data-bead-id="14"] {
    transform: rotate(91deg) translate(-1px, 2px);
}

.custom-rope-hitbox-wrapper .hitbox[data-bead-id="13"],
.custom-rope-wrapper .bead-img[data-bead-id="13"] {
    top: 118px;
    left: 204px;
    transform: rotate(60deg);
}

.custom-rope-wrapper .bead-img[data-bead-id="13"] {
    transform: rotate(60deg) translate(-2px, 1px);
}

.custom-rope-hitbox-wrapper .hitbox[data-bead-id="12"],
.custom-rope-wrapper .bead-img[data-bead-id="12"] {
    top: 93px;
    left: 179px;
    transform: rotate(33deg);
}

.custom-rope-wrapper .bead-img[data-bead-id="12"] {
    transform: rotate(33deg) translate(-2px, 0px);
}

.custom-rope-hitbox-wrapper .hitbox[data-bead-id="11"],
.custom-rope-wrapper .bead-img[data-bead-id="11"] {
    top: 80px;
    left: 144px;
    transform: rotate(6deg);
}

.custom-rope-wrapper .bead-img[data-bead-id="11"] {
    transform: rotate(6deg) translate(-2px, -1px);
}

.custom-rope-hitbox-wrapper .hitbox[data-bead-id="10"],
.custom-rope-wrapper .bead-img[data-bead-id="10"] {
    top: 87px;
    left: 109px;
    transform: rotate(336deg);
}

.custom-rope-wrapper .bead-img[data-bead-id="10"] {
    transform: rotate(336deg) translate(-1px, -2px);
}

.custom-rope-hitbox-wrapper .hitbox[data-bead-id="9"],
.custom-rope-wrapper .bead-img[data-bead-id="9"] {
    top: 110px;
    left: 82px;
    transform: rotate(303deg);
}

.custom-rope-wrapper .bead-img[data-bead-id="9"] {
    transform: rotate(303deg) translate(1px, -3px);
}

.custom-rope-hitbox-wrapper .hitbox[data-bead-id="8"],
.custom-rope-wrapper .bead-img[data-bead-id="8"] {
    top: 143px;
    left: 73px;
    transform: rotate(269deg);
}

.custom-rope-wrapper .bead-img[data-bead-id="8"] {
    transform: rotate(269deg) translate(2px, -2px);
}

.custom-rope-hitbox-wrapper .hitbox[data-bead-id="7"],
.custom-rope-wrapper .bead-img[data-bead-id="7"] {
    top: 176px;
    left: 81px;
    transform: rotate(244deg);
}

.custom-rope-wrapper .bead-img[data-bead-id="7"] {
    transform: rotate(245deg) translate(1px, -3px);
}

.custom-rope-hitbox-wrapper .hitbox[data-bead-id="6"],
.custom-rope-wrapper .bead-img[data-bead-id="6"] {
    top: 205px;
    left: 101px;
    transform: rotate(220deg);
}

.custom-rope-wrapper .bead-img[data-bead-id="6"] {
    transform: rotate(220deg) translate(2px, -1px);
}

.custom-rope-hitbox-wrapper .hitbox[data-bead-id="5"],
.custom-rope-wrapper .bead-img[data-bead-id="5"] {
    top: 218px;
    left: 134px;
    transform: rotate(182deg);
}

.custom-rope-wrapper .bead-img[data-bead-id="5"] {
    transform: rotate(182deg) translate(2px, 2px);
}

.custom-rope-hitbox-wrapper .hitbox[data-bead-id="4"],
.custom-rope-wrapper .bead-img[data-bead-id="4"] {
    top: 209px;
    left: 168px;
    transform: rotate(149deg);
}

.custom-rope-wrapper .bead-img[data-bead-id="4"] {
    transform: rotate(149deg) translate(1px, 2px);
}

.custom-rope-hitbox-wrapper .hitbox[data-bead-id="3"],
.custom-rope-wrapper .bead-img[data-bead-id="3"] {
    top: 178px;
    left: 198px;
    transform: rotate(121deg);
    z-index: 106;
}

.custom-rope-wrapper .bead-img[data-bead-id="3"] {
    transform: rotate(121deg) translate(0px, 2px);
    z-index: 106;
}

.custom-rope-hitbox-wrapper .hitbox[data-bead-id="2"],
.custom-rope-wrapper .bead-img[data-bead-id="2"] {
    top: 149px;
    left: 216px;
    transform: rotate(126deg);
    z-index: 107;
}

.custom-rope-wrapper .bead-img[data-bead-id="2"] {
    transform: rotate(126deg) translate(0px, 2px);
    z-index: 107;
}

.custom-rope-hitbox-wrapper .hitbox[data-bead-id="1"],
.custom-rope-wrapper .bead-img[data-bead-id="1"] {
    top: 123px;
    left: 238px;
    transform: rotate(135deg);
    z-index: 108;
}

.custom-rope-wrapper .bead-img[data-bead-id="1"] {
    transform: rotate(135deg) translate(0px, 2px);
    z-index: 108;
}


.custom-rope-wrapper img[data-left-handle],
.custom-rope-wrapper img[data-right-handle],
.custom-rope-wrapper .bead-img {
    object-fit: cover !important;
    width: auto !important;
}

.custom-rope-wrapper img[data-left-handle][data-length="short"] {
    transform: translate(278px, 122px) rotate(-1deg) !important;
}

.custom-rope-wrapper img[data-right-handle][data-length="short"] {
    transform: translate(303px, 121px) rotate(-4deg) !important;
}

.custom-rope-wrapper img[data-length="short"] {
    height: 180px !important;
}

.custom-rope-wrapper img[data-length="long"] {
    height: 230px !important;
}

.custom-rope-wrapper img[data-left-handle][data-length="long"] {
    transform: translate(279px, 116px) rotate(-2deg) !important;
}

.custom-rope-wrapper img[data-right-handle][data-length="long"] {
    transform: translate(308px, 114px) rotate(-6deg) !important;
}

.custom-rope-wrapper .bead-img {
    height: 15px !important;
}

.custom-rope-wrapper img[data-left-handle] {
    z-index: 10;
}

.custom-rope-wrapper img[data-right-handle] {
    z-index: 20;
}

.custom-rope-builder {
    width: min(100%, 900px);
    margin: 0 auto;
}

.custom-rope-builder  > p {
        margin-bottom: 20px;
    }

.custom-rope-builder .shop-tabs {
        margin-bottom: 10px;
    }

.custom-rope-builder .custom-rope-builder__controls {
        padding: 0 20px 40px;
    }

.custom-rope-builder select {
        display: block;
        width: min(300px, 100%);
        margin: 0 auto 20px;
        padding: 10px;
        border: 2px solid var(--grey);
        border-radius: 5px;
        background: white;
        font: inherit;
    }

.custom-rope-builder fieldset {
        border: 0;
        margin-top: 20px;
    }

:is(.custom-rope-builder fieldset) legend {
            width: 100%;
            margin-bottom: 8px;
            font-family: var(--title-font);
            font-size: 22px;
            font-weight: 600;
            text-align: center;
            text-transform: uppercase;
        }

.custom-rope-builder .custom-rope-options {
        display: flex;
        flex-wrap: wrap;
        justify-content: center;
        gap: 12px;
        width: min(100%, 420px);
        margin: 0 auto;
    }

.custom-rope-builder .custom-rope-builder__dimensions {
        display: grid;
        grid-template-columns: repeat(2, minmax(0, 1fr));
        width: min(100%, 300px);
        margin: 0 auto;
        gap: 8px;
    }

:is(.custom-rope-builder .custom-rope-builder__dimensions) fieldset {
            min-width: 0;
        }

:is(.custom-rope-builder .custom-rope-builder__dimensions) .btn-wrapper {
            width: 100%;
            padding: 0;
            gap: 5px;
        }

:is(.custom-rope-builder .custom-rope-builder__dimensions) .btn {
            flex: 1;
            width: auto;
            min-width: 0;
            margin: 0;
            padding: 10px 4px 8px;
            font-size: 16px;
        }

.custom-rope-builder .colour-filter {
        width: 30px;
        height: 30px;
        padding: 0;
        margin: 0;
        border: 2px solid var(--grey);
        border-radius: 50%;
        background: var(--option-colour);
        cursor: pointer;
    }

.active:is(.custom-rope-builder .colour-filter) {
            outline: 4px solid var(--black);
            outline-offset: 3px;
        }

.custom-rope-builder [data-bead-colours] {
        --bead-gap: clamp(5px, 2vw, 12px);
        display: flex;
        flex-wrap: wrap;
        justify-content: center;
        width: calc(240px + (var(--bead-gap) * 7));
        max-width: 100%;
        gap: var(--bead-gap);
    }

:is(.custom-rope-builder [data-bead-colours]) [data-value="frosted"] {
            --option-colour: #d9d9d9;
        }

.custom-rope-builder .bead-img[data-colour="frosted"] {
        opacity: 0.6;
    }

.custom-rope-builder [data-bead-modes] {
        display: grid;
        grid-template-columns: repeat(4, minmax(0, 1fr));
        width: min(100%, 300px);
        padding: 0;
        gap: 5px;
    }

:is(.custom-rope-builder [data-bead-modes]) .btn {
            width: 100%;
            min-width: 0;
            margin: 0;
            padding: 10px 4px 8px;
            font-size: 16px;
        }

.custom-rope-builder [data-bead-tip] {
        width: 100%;
        margin: 10px auto;
        text-align: center;
    }

.custom-rope-builder .custom-rope-pattern {
        display: flex;
        justify-content: center;
        gap: 5px;
        margin: 10px auto;
    }

:is(.custom-rope-builder .custom-rope-pattern) input,:is(.custom-rope-builder .custom-rope-pattern) button {
            width: 42px;
            height: 42px;
            border: 0;
            background: var(--grey);
            text-align: center;
            font-size: 20px;
        }

:is(.custom-rope-builder .custom-rope-pattern) input {
            appearance: textfield;
            -moz-appearance: textfield;
            padding: 0;
            color: var(--black);
            line-height: 42px;
        }

:is(:is(.custom-rope-builder .custom-rope-pattern) input)::-webkit-inner-spin-button,:is(:is(.custom-rope-builder .custom-rope-pattern) input)::-webkit-outer-spin-button {
                margin: 0;
                -webkit-appearance: none;
            }

:is(.custom-rope-builder .custom-rope-pattern) input.active {
            outline: 4px solid var(--black);
        }

.custom-rope-builder [data-create-pattern] {
        margin-top: 15px;
    }

.custom-rope-builder .custom-rope-builder__actions {
        display: flex;
        flex-direction: column;
        width: 100%;
        gap: 10px;
        margin-top: 10px;
    }

:is(.custom-rope-builder .custom-rope-builder__actions) .btn {
            width: 100%;
            margin: 0;
        }

.custom-rope-builder .custom-rope-builder__status {
        min-height: 22px;
        margin-top: 10px;
        text-align: center;
    }

.error:is(.custom-rope-builder .custom-rope-builder__status) {
            color: var(--red);
        }

.success:is(.custom-rope-builder .custom-rope-builder__status) {
            color: var(--green-2);
        }

.custom-rope-builder .custom-rope-save {
        width: min(100%, 500px);
        margin: 25px auto 0;
        padding: 20px;
        border-radius: 10px;
        background: var(--grey);

    }

:is(.custom-rope-builder .custom-rope-save) .website-field {
            position: absolute;
            left: -10000px;
            width: 1px;
            height: 1px;
            overflow: hidden;
        }

:is(.custom-rope-builder .custom-rope-save) p {
            margin-bottom: 10px;
            text-align: center;
        }

:is(.custom-rope-builder .custom-rope-save) input {
            width: 100%;
            margin-bottom: 10px;
            padding: 12px;
            border: 2px solid white;
            border-radius: 5px;
            font: inherit;
        }

.community-ropes {
    width: 100%;
    margin-top: 60px;
    overflow: hidden;
}

.community-ropes  > p {
        text-align: center !important;
    }

.community-ropes .community-ropes__carousel {
        width: 100%;
        margin-top: 20px;
        overflow: hidden;
    }

:is(.community-ropes .community-ropes__carousel) p {
            text-align: center !important;
            width: 100%;
        }

.community-ropes .community-ropes__track {
        display: flex;
        width: max-content;
        animation: community-ropes-scroll 60s linear infinite;
    }

:is(.community-ropes .community-ropes__track):hover {
            animation-play-state: paused;
        }

.community-ropes .community-ropes__group {
        display: flex;
        gap: 20px;
        padding-right: 20px;
    }

.community-ropes article {
        flex: 0 0 280px;
        padding: 15px 0px;
        border-radius: 20px;
        background: var(--grey);
        text-align: center;
    }

:is(.community-ropes article) .custom-rope-wrapper {
            margin-top: 0;
            margin-bottom: -108px;
            transform: scale(0.7);
            transform-origin: top center;
        }

:is(.community-ropes article) p {
            margin: 0;
        }

@keyframes community-ropes-scroll {
    to {
        transform: translateX(-50%);
    }
}

@media (prefers-reduced-motion: reduce) {
        .community-ropes .community-ropes__carousel {
            overflow-x: auto;
        }

        .community-ropes .community-ropes__track {
            animation: none;
        }

        .community-ropes .community-ropes__group[aria-hidden="true"] {
            display: none;
        }
}

@media only screen and (min-width: 780px) {
    .custom-rope-builder__main {
        display: grid;
        grid-template-columns: 360px 400px;
        justify-content: center;
        align-items: start;
        gap: 20px;
    }

    .custom-rope-builder__main .custom-rope-wrapper {
        width: 360px;
        height: 360px;
        margin: 0;
        transform: none;
        transform-origin: top left;
    }

    .custom-rope-builder__controls {
        width: 400px;
        padding: 0;
    }

    .custom-rope-builder__dimensions,
    [data-bead-modes] {
        width: 400px;
    }
}

.custom-rope-hitbox-wrapper .hitbox {
    padding: 0;
    border: 0;
    background: transparent;
}

@media only screen and (max-width: 500px) {
    .custom-rope-builder {
        overflow: hidden;
    }

        .custom-rope-builder .custom-rope-wrapper {
            transform: scale(0.9);
            transform-origin: top center;
            margin-bottom: -36px;
        }

        .custom-rope-builder .btn-wrapper {
            flex-wrap: wrap;
        }

            :is(.custom-rope-builder .btn-wrapper) .btn {
                width: auto;
            }
}

select[data-colourway] {
    margin-top: 20px;
    margin-bottom: 5px;
}

/* Fonts */
.text-center {
    text-align: center;
}

.text-left {
    text-align: left;
}

.text-big {
    font-size: 20px;
    line-height: 1.2;
}

.text-tiny {
    font-size: 12px;
    line-height: 1.1;
}

.text-white {
    color: white;
}

.text-error {
    color: var(--red) !important;
    transition: 0.4s;
}

.text-ellipsis {
    white-space: nowrap;
    overflow: hidden;
    text-overflow: ellipsis;
}

.text-bold {
    font-weight: 700;
}

/* Buttons */
.a-black {
    background-color: var(--black) !important;
    border: 2px solid var(--black) !important;
    color: white !important;
}

.a-success,
.a-include {
    background-color: var(--green) !important;
    border: 2px solid var(--green) !important;
    color: white !important;
}

.a-error,
.a-exclude {
    background-color: var(--red) !important;
    border: 2px solid var(--red) !important;
    color: white !important;
}

.a-hollow {
    background: none !important;
    color: black !important;
    border: 2px solid var(--black) !important;
}

.a-blue {
    color: var(--blue) !important;
    background: none !important;
    cursor: pointer !important;
}

.a-white {
    background-color: white !important;
    border: 2px solid white !important;
    color: black !important;
}


/* Flexbox */
.flex-center {
    display: flex;
    justify-content: center;
    align-items: center;
    margin: 0 auto;
}

.flex-col {
    display: flex;
    flex-direction: column;
}

.flex-row {
    display: flex;
    flex-direction: row;
}

.flex-left {
    display: flex;
    flex-direction: row;
    justify-content: left;
    align-items: center;
}


/* Backgrounds */
.bg-none {
    background: none;
}

.bg-black {
    background-color: var(--black);
    color: white;
}

.bg-grey {
    background-color: var(--grey);
    color: black;
}

.bg-white {
    background-color: white;
    color: black;
}

.bg-blue {
    background-color: var(--blue);
    color: white;
}

.bg-success {
    background-color: var(--green);
    color: white;
    pointer-events: none;
    cursor: auto;
}

.bg-error {
    background-color: var(--red);
    color: white;
}

/* Height */
.h-20 {
    height: 20px;
}

.h-30 {
    height: 30px;
}

.h-40 {
    height: 40px;
}

.h-50 {
    height: 50px;
}

.h-60 {
    height: 60px;
}

.h-80 {
    height: 80px;
}

.h-100 {
    height: 100px;
}

.h-150 {
    height: 150px;
}

.h-200 {
    height: 200px;
}

/* Width */
.mod--fill {
    width: 100% !important;
}

.w-50 {
    width: 50px;
}

.w-75 {
    width: 75px;
}

.w-100 {
    width: 100px;
}

.w-150 {
    width: 150px;
}

.w-200 {
    width: 200px;
}

.w-250 {
    width: 250px;
}

.w-300 {
    width: 300px;
}

.w-350 {
    width: 350px;
}

.w-400 {
    width: 400px;
}

.w-500 {
    width: 500px;
}

/* Margin */
.m-5 {
    margin: 5px !important;
}

.m-10 {
    margin: 10px !important;
}

.m-15 {
    margin: 15px !important;
}

.m-20 {
    margin: 20px !important;
}

.m-t-0 {
    margin-top: 0px !important;
}

.m-t-5 {
    margin-top: 5px !important;
}

.m-t-10 {
    margin-top: 10px !important;
}

.m-t-15 {
    margin-top: 15px !important;
}

.m-t-20 {
    margin-top: 20px !important;
}

.m-t-30 {
    margin-top: 30px !important;
}

.m-t-40 {
    margin-top: 40px !important;
}

.m-t-50 {
    margin-top: 50px !important;
}

.m-t-60 {
    margin-top: 60px !important;
}

.m-t-80 {
    margin-top: 80px !important;
}

.m-t-100 {
    margin-top: 100px !important;
}

.m-b-0 {
    margin-bottom: 0px !important;
}

.m-b-5 {
    margin-bottom: 5px !important;
}

.m-b-10 {
    margin-bottom: 10px !important;
}

.m-b-15 {
    margin-bottom: 15px !important;
}

.m-b-20 {
    margin-bottom: 20px !important;
}

.m-b-30 {
    margin-bottom: 30px !important;
}

.m-b-40 {
    margin-bottom: 40px !important;
}

.m-b-60 {
    margin-bottom: 60px !important;
}

.m-b-80 {
    margin-bottom: 80px !important;
}

.m-b-100 {
    margin-bottom: 100px !important;
}

.m-l-0 {
    margin-left: 0px !important;
}

.m-l-5 {
    margin-left: 5px !important;
}

.m-l-10 {
    margin-left: 10px !important;
}

.m-l-15 {
    margin-left: 15px !important;
}

.m-l-20 {
    margin-left: 20px !important;
}

.m-l-40 {
    margin-left: 40px !important;
}

.m-l-60 {
    margin-left: 60px !important;
}

.m-l-100 {
    margin-left: 100px !important;
}

.m-r-0 {
    margin-right: 0px !important;
}

.m-r-5 {
    margin-right: 5px !important;
}

.m-r-10 {
    margin-right: 10px !important;
}

.m-r-15 {
    margin-right: 15px !important;
}

.m-r-20 {
    margin-right: 20px !important;
}

.m-r-40 {
    margin-right: 40px !important;
}

.m-r-60 {
    margin-right: 60px !important;
}

.m-r-100 {
    margin-right: 100px !important;
}

/* Padding */
.p-none {
    padding: 0px !important;
}

.p-5 {
    padding: 5px !important;
}

.p-10 {
    padding: 10px !important;
}

.p-15 {
    padding: 15px !important;
}

.p-20 {
    padding: 20px !important;
}

.p-5-10 {
    padding: 5px 10px !important;
}

.p-t-5 {
    padding-top: 5px !important;
}

.p-t-10 {
    padding-top: 10px !important;
}

.p-t-20 {
    padding-top: 20px !important;
}

.p-t-40 {
    padding-top: 40px !important;
}

.p-t-60 {
    padding-top: 60px !important;
}

.p-t-80 {
    padding-top: 80px !important;
}

.p-t-100 {
    padding-top: 100px !important;
}

.p-b-5 {
    padding-bottom: 5px !important;
}

.p-b-10 {
    padding-bottom: 10px !important;
}

.p-b-20 {
    padding-bottom: 20px !important;
}

.p-b-40 {
    padding-bottom: 40px !important;
}

.p-b-60 {
    padding-bottom: 60px !important;
}

.p-b-80 {
    padding-bottom: 80px !important;
}

.p-b-100 {
    padding-bottom: 100px !important;
}

.p-l-5 {
    padding-left: 5px !important;
}

.p-l-10 {
    padding-left: 10px !important;
}

.p-l-20 {
    padding-left: 20px !important;
}

.p-l-30 {
    padding-left: 30px !important;
}

.p-r-5 {
    padding-right: 5px !important;
}

.p-r-10 {
    padding-right: 10px !important;
}

.p-r-20 {
    padding-right: 20px !important;
}

.p-r-30 {
    padding-right: 30px !important;
}

/* Flex Gaps */
.g-5 {
    gap: 5px;
}

.g-8 {
    gap: 8px;
}

.g-10 {
    gap: 10px;
}

.g-15 {
    gap: 15px;
}

/* Borders */
.border-black {
    border: 2px solid black;
    border-radius: 5px;
}

.border-grey {
    border: 2px solid #d3d3d3;
    border-radius: 5px;
}

.border-error {
    border: 2px solid var(--red);
    border-radius: 5px;
}

/* Border Radius */
.br-5 {
    border-radius: 5px;
}

.br-8 {
    border-radius: 8px;
}

.br-10 {
    border-radius: 10px;
}

/* MOD OVERRIDES */
[data-action="navigateTo"],
[data-action="scrollTo"],
.nav-link,
.mod--clickable {
    cursor: pointer !important;
}

/* Show & Hide */
.mod--trans {
    transition: 0.3s ease-in-out;
}

.mod--rotate {
    transform: rotate(180deg);
}

.mod--flipped {
    transform: scaleX(-1) !important;
}

.mod--hidden,
.mod--invisible {
    opacity: 0 !important;
    pointer-events: none !important;
}

.mod--show {
    opacity: 1 !important;
    pointer-events: auto !important;
}

.mod--show-on-hover {
    opacity: 0;
    transition: 0.4s ease-in-out;
}

.mod--show-on-hover:hover {
    opacity: 1;
}

.mod--display-none {
    display: none !important;
}

.mod--ignore {
    pointer-events: none !important;
    cursor: auto;
}

.mod--disabled {
    opacity: 0.5 !important;
    pointer-events: none !important;
    cursor: auto;
}
