/* For smaller, one-off styling needs that don't fit elsewhere */

body.logged-in.admin-bar #site-header {
    top: 32px;
}

.transition-all {
    transition: 0.1s ease all;
}

.overflow-hidden {
    overflow: hidden;
}

.object-fit-cover {
    object-fit: cover;
}

.z-index-999 {
    z-index: 999;
}

.z-index-max {
    z-index: 9999;
}

.multiply {
    filter: grayscale(1);
    mix-blend-mode: multiply;
}

/* Alternating rotations for laundry line elements */

.laundry-wrapper:nth-child(2n) .laundry-line,
.laundry-line:nth-child(2n) {
    transform: rotate(1deg);
}

.laundry-wrapper:nth-child(3n) .laundry-line,
.laundry-line:nth-child(3n) {
    transform: rotate(-0.5deg);
}

.laundry-wrapper:nth-child(4n) .laundry-line,
.laundry-line:nth-child(4n) {
    transform: rotate(0.75deg);
}

.laundry-wrapper:nth-child(5n) .laundry-line,
.laundry-line:nth-child(5n) {
    transform: rotate(-0.25deg);
}

.entry-content .line-list.laundry-line {
    margin-top: var(--five-spacer) !important;
}

/* End of laundry line styling */

.svg-20pt {
    width: 0.85rem;
    min-width: 0.85rem;
    height: 0.85rem;
    min-height: 0.85rem;
    border-radius: 50%;
    margin-right: 0.35rem;
}

.scroll-padding {
    scroll-padding-top: 100px;
}

.tax-filter,
select.wc-block-sort-select__select {
    -webkit-appearance: none; /* webkit browsers */
    -moz-appearance: none; /* firefox */
    appearance: none; /* modern browsers */;
    border: 1px dashed;
    border-radius: 0px !important;
    color: var(--wp--preset--color--black);
    background-color: transparent;
    text-overflow: ellipsis;
    font-size: inherit;
    padding: var(--one-spacer) 2.25rem var(--one-spacer) var(--one-spacer);
    background-image: url('../icons/caret.svg');
    background-size: 1rem;
    background-repeat: no-repeat;
    background-position-x: calc(100% - 0.75rem);
    background-position-y: 50%;
}

.tax-filter ~ button {
    color: var(--wp--preset--color--black);
}

.wp-block-group.has-background:not(.alignfull) .post-selector .grid {
    padding: 0 !important;
}

.large-svg svg {
    height: 2rem;
    width: auto;
}

.immersive-card .fade-target:hover ~ .fade-sibling {
    opacity: 0.5;
}

#toc-wrapper ul {
    list-style: none;
    margin: 0;
}

.term-children a:not(.active-term) {
    opacity: 0.5;
}

.term-children a.active-term {
    opacity: 1;
    text-decoration: none;
}

.term-children a {
    font-size: 1.75rem;
    text-decoration: none;
    font-family: var(--global--font-bold);
    font-weight: 400;
}

.term-children {
    padding-bottom: 7px;
    margin-left: auto;
    margin-right: auto;
    -webkit-transition: all 0.3s ease;
    -moz-transition: all 0.3s ease;
    -o-transition: all 0.3s ease;
    transition: all 0.3s ease;
    overflow-x: scroll;
    overflow-y: hidden;
}

.cursor-pointer {
    cursor: pointer;
}

.accordion-section div {
    display: none;
}


@media screen and (max-width: 991px) {
    .wp-block-columns.is-not-stacked-on-mobile {
        gap: var(--one-spacer);
    }
}

/* Other Woocommerce overrides */

.entry-content .woocommerce {
    padding: 0 var(--two-spacer) !important;
}

@media screen and (min-width: 992px) {
    .entry-content .woocommerce {
        padding: 0 var(--four-spacer) !important;
    }
}

@media screen and (min-width: 1600px) {
    body:not(.woocommerce-cart):not(.woocommerce-checkout) .entry-content .woocommerce {
        padding: 0 !important;
    }

   .entry-content .woocommerce {
        max-width: 1600px !important;
        margin-left: auto !important;
        margin-right: auto !important;
    }
}

.wc-block-grid__product-title * {
    display: block;
  }

.wc-block-grid {
    margin: 0 !important;
}

/* Copying the 'sr-ony' style for the filter labels */
.wc-block-sort-select__label {
    position: absolute;
    width: 1px;
    height: 1px;
    padding: 0;
    margin: -1px;
    overflow: hidden;
    clip: rect(0,0,0,0);
    border: 0;
}

.woocommerce div.product .woocommerce-tabs ul.tabs::before,
.woocommerce div.product .woocommerce-tabs ul.tabs::after {
    content: none !important;
}

.woocommerce div.product .woocommerce-tabs ul.tabs {
    display: inline-flex !important;
    width: 100% !important;
    margin: 0 0 var(--four-spacer) 0 !important;
    padding: 0 !important;
    border-bottom: 1px solid var(--wp--preset--color--black);
}

@media screen and (min-width: 992px) {
    .woocommerce div.product .woocommerce-tabs ul.tabs {
        padding: 0 var(--two-spacer) !important;
    } 
}

.woocommerce div.product .woocommerce-tabs ul.tabs li {
    border-radius: 0 !important;
    border-width: 1px 1px 0 1px !important;
    border-style: dashed !important;
    border-color: var(--wp--preset--color--black) !important;
    background-color: var(--wp--preset--color--off-white) !important;
    color: var(--wp--preset--color--black) !important;
    margin: 0 !important;
    padding: var(--one-spacer) !important;
}

.woocommerce div.product .woocommerce-tabs ul.tabs li.active {
    border-width: 1px 1px 0 1px !important;
    border-style: dashed !important;
    border-color: var(--wp--preset--color--off-white) !important;
    background-color: var(--wp--preset--color--black) !important;
    color: var(--wp--preset--color--off-white) !important;
}

.woocommerce div.product .woocommerce-tabs ul.tabs li::before,
.woocommerce div.product .woocommerce-tabs ul.tabs li::after {
    content: none !important;
}

.woocommerce div.product div.summary > *:not(:last-child) {
    margin-bottom: var(--two-spacer) !important;
}

.woocommerce div.product form.cart {
    display: flex !important;
}

.woocommerce div.product form.cart div.quantity {
    margin: 0 var(--one-spacer) 0 0 !important;
}

.woocommerce .quantity .qty {
    margin: 0 !important;
    padding: var(--one-spacer) !important;
    border: 1px dashed var(--wp--preset--color--black) !important;
    width: fit-content !important;
    width: -ms-fit-content !important;
}

.woocommerce .quantity input[type=number]::-webkit-inner-spin-button, 
.woocommerce .quantity input[type=number]::-webkit-outer-spin-button {  
    opacity: 1 !important;
}

.woocommerce div.product form.cart .button {
    margin: 0 !important;
    padding: var(--one-spacer) !important;
    background-color: var(--wp--preset--color--off-white) !important;
    color: var(--wp--preset--color--black) !important;
    border: 1px dashed var(--wp--preset--color--black) !important;
    border-radius: 0 !important;
}

.woocommerce div.product form.cart .button:hover {
    border-style: solid !important;
}

.woocommerce-error,
.woocommerce-info,
.woocommerce-message {
    display: flex !important;
    flex-direction: column !important;
    justify-content: space-between !important;
    align-items: center !important;
    gap: var(--two-spacer) !important;
    padding: var(--two-spacer) !important;
    margin: 0 0 var(--four-spacer) 0 !important;
    background-color: var(--wp--preset--color--off-white) !important;
    color: var(--wp--preset--color--black) !important;
    border: 1px solid var(--wp--preset--color--black) !important;
}

@media screen and (min-width: 992px) {
    .woocommerce-error,
    .woocommerce-info,
    .woocommerce-message {
        flex-direction: row !important;
    }
}

.woocommerce-error li,
.woocommerce-info li,
.woocommerce-message li {
    display: flex !important;
    flex-direction: column !important;
    justify-content: space-between !important;
    align-items: center !important;
    gap: var(--two-spacer) !important;
}

@media screen and (min-width: 992px) {
    .woocommerce-error li,
    .woocommerce-info li,
    .woocommerce-message li {
        display: flex !important;
        flex-direction: row !important;
        justify-content: space-between !important;
        align-items: center !important;
    }
}

.woocommerce-error::before,
.woocommerce-error::after,
.woocommerce-info::before,
.woocommerce-info::after,
.woocommerce-message::before,
.woocommerce-message::after {
    content: none !important;
}

.woocommerce .button,
.woocommerce-cart-form__contents button,
.checkout-button {
    padding: var(--one-spacer) !important;
    background-color: var(--wp--preset--color--off-white) !important;
    color: var(--wp--preset--color--black) !important;
    border: 1px dashed var(--wp--preset--color--black) !important;
    border-radius: 0 !important;
    white-space: nowrap !important;
    order: 999 !important;
    opacity: 1 !important;
}

.woocommerce .button:hover,
.woocommerce-cart-form__contents button:hover {
    border: 1px solid var(--wp--preset--color--black) !important;
}

.woocommerce-cart-form__contents .coupon {
    display: flex !important;
}

.woocommerce-cart-form__contents .coupon input {
    width: 100% !important;
}

@media screen and (min-width: 992px) {
    .woocommerce-cart-form__contents .coupon input {
        width: auto !important;
    }
}

.woocommerce-page .cart-collaterals .cart_totals h2 {
    margin-bottom: var(--two-spacer) !important;
}

.wc-block-components-sort-select {
    margin-bottom: var(--two-spacer) !important;
}

.woocommerce .checkout-button {
    font-size: 100% !important;
    background-color: var(--wp--preset--color--black) !important;
    color: var(--wp--preset--color--off-white) !important;
}

.woocommerce .checkout-button:hover {
    background-color: var(--wp--preset--color--green-70) !important;
    color: var(--wp--preset--color--black) !important;
}

.woocommerce-billing-fields input,
.woocommerce .select2 .selection .select2-selection,
.woocommerce-additional-fields__field-wrapper textarea {
    margin: 0 !important;
    padding: var(--one-spacer) !important;
    background-color: var(--wp--preset--color--off-white) !important;
    color: var(--wp--preset--color--black) !important;
    border: 1px solid var(--wp--preset--color--black) !important;
    border-radius: 0 !important;
}

.woocommerce .select2 .selection .select2-selection {
    height: calc(1.4rem + var(--two-spacer)) !important;
}

.woocommerce .select2 .select2-selection__rendered,
.woocommerce .select2 .select2-selection__arrow {
    display: flex !important;
    height: 100% !important;
    align-items: center !important;
    padding: 0 !important;
}

.woocommerce .woocommerce-checkout-payment {
    background-color: var(--wp--preset--color--off-white) !important;
    color: var(--wp--preset--color--black) !important;
    border: 1px solid var(--wp--preset--color--black) !important;
    border-radius: 0 !important;
}

.woocommerce .woocommerce-checkout #payment div.form-row {
    display: flex !important;
    flex-direction: column !important;
    align-items: center !important;
    gap: var(--two-spacer) !important;
}

@media screen and (min-width: 992px) {
    .woocommerce .woocommerce-checkout #payment div.form-row {
        flex-direction: row !important;
    }
}

section.related.products {
    clear: both;
}

section.related.products > h2 {
    margin-bottom: var(--two-spacer);
}

.sk-app-container {
    color: var(--wp--preset--color--black) !important;
    --sk-text-color: var(--wp--preset--color--black) !important;
    --sk-link-color: var(--wp--preset--color--black) !important;
    --sk-link-color--hover: var(--wp--preset--color--black) !important;
    background-color: var(--wp--preset--color--off-white) !important;
}

.annotation {
    transition: all 1s ease;
}

.annotated-number {
    transform: translate(-50%, -50%);
    background-color: rgba(255, 255, 255, 0.85);
    width: 2rem;
    height: 2rem;
    color: var(--wp--preset--color--black);
    font-weight: bold;
    border: 1px solid;
    transition: all 0.2s ease;
}

.annotated-number:hover {
    background-color: rgba(255, 255, 255, 1);
}

.annotated-image-text .annotation,
.annotated-image-text .annotated-button {
    transition: all 0.5s ease;
}

.annotation:hover {
    border-style: solid !important;
}

.annotation .annotated-button {
    -webkit-text-stroke: 1px black;
}

.annotated-image-text .annotation:hover .annotated-button {
    color: var(--wp--preset--color--orange-70);
    -webkit-text-stroke: 1px black;
}

.annotation.active button {
    transform: rotate(180deg);
}

.annotation .wysiwyg-content {
    display: none;
}

.annotation.active .wysiwyg-content {
    display: block;
}

/* Contact form styles */
body.page-template-page-contact #message {
    padding: var(--one-spacer);
    background-color: var(--wp--preset--color--orange-15);
}
.acf-form-fields {
    display: flex;
    flex-wrap: wrap;
    justify-content: space-between;
}

.acf-form-fields * {
    padding: 0 !important;
    border: 0 !important;
}

.acf-form-fields label {
    font-family: var(--global--font-bold);
}

.acf-form-fields input,
.acf-form-fields select,
.acf-form-fields textarea,
.acf-form-submit input {
    padding: var(--one-spacer) !important;
    border: 1px dashed !important;
    background-color: transparent;
}

div[data-name="inquiry_name"] {
    order: 1;
    width: 50%;
    padding: var(--one-spacer) !important;
}

div[data-name="inquiry_email"] {
    order: 2;
    width: 50%;
    padding: var(--one-spacer) !important;
}

div[data-name="inquiry_type"] {
    order: 3;
    width: 100%;
    padding: var(--one-spacer) !important;
}

div[data-name="inquiry_type"] input {
    width: calc(0.75 * var(--two-spacer));
    height: calc(0.75 * var(--two-spacer));
    padding: 0 !important;
}

div[data-name="inquiry_type"] input:checked {
    background-color: var(--wp--preset--color--orange-70);
}

div[data-name="_post_title"] {
    order: 4;
    width: 100%;
    padding: var(--one-spacer) !important;
}

div[data-name="_post_content"] {
    order: 5;
}

div[data-name="inquiry_content"] {
    order: 6;
    width: 100%;
    padding: var(--one-spacer) !important;
}

div[data-name="inquiry_recaptcha"] {
    order: 6;
    padding: var(--one-spacer) !important;
}

div[data-name="inquiry_recaptcha"] label {
    position: absolute;
    width: 1px;
    height: 1px;
    padding: 0;
    margin: -1px;
    overflow: hidden;
    clip: rect(0,0,0,0);
    border: 0;
}

.acf-form-submit {
    padding: var(--one-spacer) !important;
}

.acf-form-submit input:checked {
    background-color: black;
}

.acf-form-submit input:hover {
    background-color: var(--wp--preset--color--orange-70);
}

/* Sticky/fixed newsletter pop-up */

.entry-content section.newsletter.popup.active  {
    position: fixed;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    background-color: rgba(0, 0, 0, .5);
    z-index: 9999;
    margin: 0 !important;
}

section.newsletter.popup.active .newsletter-wrapper {
    position: relative;
    top: 50%;
    left: 50%;
    transform: translate(-50%, -50%);
    width: 90%;
    border-width: 1px;
    border-style: dashed;
}

section.newsletter.popup.active .newsletter-wrapper .laundry-line {
    margin-top: 0 !important;
    border: 0;
}