﻿
/**
 * Add the correct display in IE 10.
 */
[hidden] {
    display: none !important;
}

meta.foundation-version {
    font-family: "/5.5.2/";
}

meta.foundation-mq-small {
    font-family: "/only screen/";
    width: 0;
}

meta.foundation-mq-small-only {
    font-family: "/only screen and (max-width: 50em)/";
    width: 0;
}

meta.foundation-mq-medium {
    font-family: "/only screen and (min-width:50.0625em)/";
    width: 50.0625em;
}

meta.foundation-mq-medium-only {
    font-family: "/only screen and (min-width:50.0625em) and (max-width:64em)/";
    width: 50.0625em;
}

meta.foundation-mq-large {
    font-family: "/only screen and (min-width:64.0625em)/";
    width: 64.0625em;
}

meta.foundation-mq-large-only {
    font-family: "/only screen and (min-width:64.0625em) and (max-width:90em)/";
    width: 64.0625em;
}

meta.foundation-mq-xlarge {
    font-family: "/only screen and (min-width:90.0625em)/";
    width: 90.0625em;
}

meta.foundation-mq-xlarge-only {
    font-family: "/only screen and (min-width:90.0625em) and (max-width:120em)/";
    width: 90.0625em;
}

meta.foundation-mq-xxlarge {
    font-family: "/only screen and (min-width:120.0625em)/";
    width: 120.0625em;
}

meta.foundation-data-attribute-namespace {
    font-family: false;
}


    .svg-print {
        fill: #00ae9e;
        width: 1.3125rem;
        height: 1.5625rem;
    }

    .svg-chat {
        width: 1.5rem;
        height: 1.5rem;
    }

    .svg-arrow {
        width: 1.3125rem;
        height: 1.3125rem;
        fill: #00ae9e;
    }

    .svg-filter {
        stroke: #00ae9e;
        width: 1.6875rem;
        height: 1.6875rem;
    }

    .svg-uparrow {
        width: 1.875rem;
        height: 1.875rem;
    }

    [data-page="product"] .purchase-banner {
        position: fixed;
        height: 3.4375rem;
        width: 100%;
        display: flex;
        background-color: #f3f4f5;
        z-index: 22;
        top: 0;
        box-shadow: 0px 8px 15px rgba(0, 0, 0, 0.15);
        opacity: 0;
        pointer-events: none;
        transition: opacity 0.3s ease;
    }

        [data-page="product"] .purchase-banner a {
            color: #00ae9e;
            text-transform: uppercase;
            line-height: 1;
            justify-content: center;
            align-items: center;
            display: flex;
            flex: 1;
        }

        [data-page="product"] .purchase-banner svg {
            width: 20px;
            height: 20px;
        }

        [data-page="product"] .purchase-banner.active {
            opacity: 1;
            pointer-events: all;
        }

    .mobile-menu-open [data-page="product"] .purchase-banner.active {
        pointer-events: none;
        opacity: 0;
    }

    [data-page="product"] [data-section="hero"] {
        margin-top: 3.75rem;
    }

    [data-page="product"] .product-title {
        margin-bottom: 1.5625rem;
    }

    [data-page="product"] .product-extra {
        height: 100%;
        padding: 1.25rem 0 0 0;
        display: flex;
        flex-direction: column;
        justify-content: flex-end;
    }

    @media only screen and (min-width: 50.0625em) {
        [data-page="product"] .product-extra {
            border-left: 1px solid #eaeaea;
            padding: 0.625rem 1.5625rem;
        }
    }

    [data-page="product"] .product-validation {
        display: flex;
        flex-direction: column;
    }

    @media only screen and (min-width: 50.0625em) {
        [data-page="product"] .product-validation {
            flex-direction: row;
            flex-wrap: nowrap;
            justify-content: space-between;
        }
    }

    [data-page="product"] .product-validation > div {
        display: flex;
        flex-direction: column;
    }

    @media only screen and (min-width: 50.0625em) {
        [data-page="product"] .product-validation > div {
            flex: 1;
            padding-right: 2.25rem;
        }
    }

    @media only screen and (max-width: 50em) {
        [data-page="product"] #purchase:before {
            content: "";
            display: block;
            position: relative;
            width: 0;
            height: 4em;
            margin-top: -4em;
        }

        [data-page="product"] [data-reorder="product"] {
            display: flex;
            flex-direction: column;
        }

        [data-page="product"] [data-reorder="pricing"] {
            order: 1;
        }

        [data-page="product"] [data-reorder="links"] {
            order: 2;
        }

        [data-page="product"] [data-reorder="gallery"] {
            order: 3;
        }

        [data-page="product"] [data-section="hero"] {
            margin-top: 1.75rem;
        }
    }

    @media only screen and (min-width: 50.0625em) {
        .product-inpagelinks {
            margin-right: 2.5rem;
            margin-top: 0.3125rem;
        }
    }

    @media only screen and (max-width: 50em) {
        .product-inpagelinks {
            margin: 3.125rem 0 3.125rem;
        }

            .product-inpagelinks .magic-dropdown-input {
                padding: 15px 25px 15px 15px;
                height: 45px;
            }
    }

    .product-inpagelinks li {
        margin-bottom: 0.9375rem;
    }

    .is-sticky > *::before {
        content: "";
        width: calc(100% + 1.875rem);
        height: calc(100% + 1.875rem);
        background: white;
        top: -0.9375rem;
        left: -0.9375rem;
        position: absolute;
        z-index: -1;
    }


    .table,
    table {
        width: 100%;
        background: transparent;
        border-collapse: separate;
        border-spacing: 0px;
        height: 5.625rem;
    }

        .table td,
        .table th,
        table td,
        table th {
            border-bottom: 1px solid #eaeaea;
        }

        .table th,
        table th {
            font-family: "Aller Bold", "MiSans";
            color: #f7f7f7;
            text-transform: uppercase;
            letter-spacing: 1px;
        }

        .table tfoot,
        table tfoot {
            height: 5.625rem;
        }

        .table.is-fixed,
        table.is-fixed {
            table-layout: fixed;
        }

        .table.no-lines td,
        .table.no-lines th,
        table.no-lines td,
        table.no-lines th {
            border: 0;
        }

        .table.vert-top td,
        .table.vert-top th,
        table.vert-top td,
        table.vert-top th {
            vertical-align: top;
        }

        .table.no-stripes tr.even,
        .table.no-stripes tr:nth-of-type(2n),
        table.no-stripes tr.even,
        table.no-stripes tr:nth-of-type(2n) {
            background-color: transparent;
        }

        .table.has-last-right-col th:last-child,
        .table.has-last-right-col td:last-child,
        table.has-last-right-col th:last-child,
        table.has-last-right-col td:last-child {
            text-align: right;
            padding-right: 0;
        }

    @media only screen and (max-width: 50em) {
        .table.sm-has-last-right-col th:last-child,
        .table.sm-has-last-right-col td:last-child,
        table.sm-has-last-right-col th:last-child,
        table.sm-has-last-right-col td:last-child {
            text-align: right;
            padding-right: 0;
        }
    }

    @media only screen and (max-width: 50em) {
        .table.sm-block td,
        table.sm-block td {
            display: table-cell;
            background: transparent;
        }

            .table.sm-block td:first-child,
            table.sm-block td:first-child {
                border: 0;
                padding-bottom: 0;
                border-top: 1px solid #eaeaea;
            }

            .table.sm-block td:last-child,
            table.sm-block td:last-child {
                padding-top: 0;
                margin-bottom: -1px;
                padding-right: 0;
            }
    }

    .table .subtitle,
    table .subtitle {
        color: #666666;
        font-family: "Aller Bold", "MiSans";
    }

    .table .vert-bottom,
    table .vert-bottom {
        vertical-align: bottom;
    }

    .table p.small,
    table p.small {
        color: #4c4c4c;
    }


    blockquote {
        margin-bottom: 0.9375rem;
    }

        blockquote p::after {
            content: "\201D";
        }

        blockquote p::before {
            content: "\201C";
        }

        blockquote footer {
            font-size: 0.875rem;
            border: 0;
            padding: 0;
            margin: 0;
        }


    .type-categories {
        font-family: "Aller Bold", "MiSans";
        display: flex;
        justify-content: space-between;
        margin-bottom: 1.25rem;
    }

    @media only screen and (max-width: 50em) {
        .type-categories > .inline-list {
            margin-bottom: 1.25rem;
        }
    }

    @media only screen and (min-width: 50.0625em) {
        .type-categories {
            align-items: center;
        }
    }

    .type-categories a.active {
        color: #00ae9e;
    }

    .inline-list {
        display: flex;
        flex-wrap: wrap;
    }

        .inline-list > li {
            display: flex;
            align-items: center;
            justify-content: center;
            margin-bottom: 0.3125rem;
        }

            .inline-list > li:not(:last-child) {
                margin-right: 1ch;
            }

    @media only screen and (min-width: 50.0625em) {
        .inline-list > li {
            margin-bottom: 0;
        }
    }

.product-notice {
    text-transform: uppercase;
    display: flex;
    /*flex-direction: column;*/
}

@media only screen and (min-width: 50.0625em) {
    .product-notice {
        flex-direction: row;
        align-items: center;
    }
}

@media only screen and (max-width: 50em) {
    .product-notice .inline-list > li:first-child {
        margin-left: 0;
    }
}

.product-gallery h3 span {
    font-size: 0.75rem;
}

@media only screen and (max-width: 50em) {
    .product-pricing h3 {
        font-size: 1.75rem;
        margin: 0;
    }
}

.product-pricing label {
    text-transform: initial;
}

    .reviews h3 {
        margin-bottom: 0.3125rem;
    }

    .reviews .review-header {
        display: flex;
        margin-bottom: 1.25rem;
    }

    @media only screen and (min-width: 50.0625em) {
        .reviews table td:first-child {
            width: 30%;
        }
    }

    @media only screen and (max-width: 50em) {
        .publications thead {
            display: none;
        }
    }


    .orbit-container {
        background: none;
        overflow: hidden;
        position: relative;
        width: 100%;
    }

        .orbit-container .orbit-slides-container {
            list-style: none;
            margin: 0;
            padding: 0;
            position: relative;
            -webkit-transform: translateZ(0);
            -moz-transform: translateZ(0);
            -ms-transform: translateZ(0);
            -o-transform: translateZ(0);
            transform: translateZ(0);
        }

            .orbit-container .orbit-slides-container img {
                display: block;
                max-width: 100%;
                max-height: 330px;
                width: auto !important;
            }

            .orbit-container .orbit-slides-container > * {
                position: absolute;
                top: 0;
                width: 100%;
                margin-left: 100%;
            }

                .orbit-container .orbit-slides-container > *:first-child {
                    margin-left: 0;
                }

                .orbit-container .orbit-slides-container > * .orbit-caption {
                    bottom: 0;
                    position: absolute;
                    background-color: rgba(51, 51, 51, 0.8);
                    color: #ffffff;
                    font-size: 0.875rem;
                    padding: 0.625rem 0.875rem;
                    width: 100%;
                }

        .orbit-container .orbit-slide-number {
            left: 10px;
            background: rgba(0, 0, 0, 0);
            color: #ffffff;
            font-size: 12px;
            position: absolute;
            top: 10px;
            z-index: 10;
            display: none;
        }

            .orbit-container .orbit-slide-number span {
                font-weight: 700;
                padding: 0.3125rem;
            }

        .orbit-container .orbit-timer {
            position: absolute;
            top: 12px;
            right: 10px;
            height: 6px;
            width: 100px;
            z-index: 10;
        }

            .orbit-container .orbit-timer .orbit-progress {
                height: 3px;
                background-color: rgba(255, 255, 255, 0.3);
                display: block;
                width: 0;
                position: relative;
                right: 20px;
                top: 5px;
            }

            .orbit-container .orbit-timer > span {
                border: solid 4px #ffffff;
                border-bottom: none;
                border-top: none;
                display: none;
                height: 14px;
                position: absolute;
                top: 0;
                width: 11px;
                right: 0;
            }

            .orbit-container .orbit-timer.paused > span {
                top: 0;
                width: 11px;
                height: 14px;
                border: inset 8px;
                border-left-style: solid;
                border-color: transparent;
                border-left-color: #ffffff;
                right: -4px;
            }

                .orbit-container .orbit-timer.paused > span.dark {
                    border-left-color: #333333;
                }

        .orbit-container:hover .orbit-timer > span {
            display: block;
        }

        .orbit-container .orbit-prev,
        .orbit-container .orbit-next {
            background-color: transparent;
            color: white;
            height: 60px;
            line-height: 50px;
            margin-top: -25px;
            position: absolute;
            text-indent: -9999px !important;
            top: 45%;
            width: 36px;
            z-index: 10;
        }

            .orbit-container .orbit-prev:hover,
            .orbit-container .orbit-next:hover {
                background-color: rgba(0, 0, 0, 0.3);
            }

        .orbit-container .orbit-next {
            right: 0;
        }

        .orbit-container .orbit-prev div {
            width: 0;
            height: 0;
            border-width: 16px 16px 16px 0;
            border-style: solid;
            border-color: transparent #fff transparent transparent;
            /* margin:0 auto;*/
            position: relative;
            top: 50%;
            /*left: 20%;*/
            cursor: pointer;
        }

            .orbit-container .orbit-prev div span {
                display: block;
                width: 0;
                height: 0;
                border-width: 10px 10px 10px 0;
                border-style: solid;
                border-color: transparent #00ae9e transparent transparent;
                position: absolute;
                top: -10px;
                left: 4px;
            }

        .orbit-container .orbit-next div {
            width: 0;
            height: 0;
            border-width: 16px 0 16px 16px;
            border-style: solid;
            border-color: transparent transparent transparent #fff;
            /*margin:40px auto;*/
            position: relative;
            cursor: pointer;
            top: 50%;
            right: 0;
            margin-left: 80%;
        }

            .orbit-container .orbit-next div span {
                display: block;
                width: 0;
                height: 0;
                border-width: 10px 0 10px 10px;
                border-style: solid;
                border-color: transparent transparent transparent #00ae9e; /*?? ?? ?? ?*/
                position: absolute;
                top: -10px;
                left: -14px;
            }
    /*.orbit-container .orbit-prev > span,
    .orbit-container .orbit-next > span {
      border: inset 10px;
      display: block;
      height: 0;
      margin-top: -10px;
      position: absolute;
      top: 50%;
      width: 0; }
  .orbit-container .orbit-prev {
    left: 0; }
    .orbit-container .orbit-prev > span {
      border-right-style: solid;
      border-color: transparent;
      border-right-color: #ffffff; }
    .orbit-container .orbit-prev:hover > span {
      border-right-color: #ffffff; }
  .orbit-container .orbit-next {
    right: 0; }
    .orbit-container .orbit-next > span {
      border-color: transparent;
      border-left-style: solid;
      border-left-color: #ffffff;
      left: 50%;
      margin-left: -4px; }
    .orbit-container .orbit-next:hover > span {
      border-left-color: #ffffff; }*/

    .orbit-bullets-container {
        text-align: center;
    }

    .orbit-bullets {
        display: block;
        float: none;
        margin: 0 auto 30px auto;
        overflow: hidden;
        position: relative;
        text-align: center;
        top: 10px;
    }

        .orbit-bullets li {
            background: #CCCCCC;
            cursor: pointer;
            display: inline-block;
            float: none;
            height: 0.5rem;
            margin-right: 6px;
            width: 0.5rem;
            border-radius: 1000px;
        }

            .orbit-bullets li.active {
                background: #00ae9e;
            }

            .orbit-bullets li:last-child {
                margin-right: 0;
            }

    .touch .orbit-container .orbit-prev,
    .touch .orbit-container .orbit-next {
        display: none;
    }

    .touch .orbit-bullets {
        display: none;
    }

    @media only screen and (min-width: 50.0625em) {
        .touch .orbit-container .orbit-prev,
        .touch .orbit-container .orbit-next {
            display: inherit;
        }

        .touch .orbit-bullets {
            display: block;
        }
    }

    @media only screen and (max-width: 50em) {
        .orbit-stack-on-small .orbit-slides-container {
            height: auto !important;
        }

            .orbit-stack-on-small .orbit-slides-container > * {
                margin: 0 !important;
                opacity: 1 !important;
                position: relative;
            }

        .orbit-stack-on-small .orbit-slide-number {
            display: none;
        }

        .orbit-timer {
            display: none;
        }

        .orbit-next, .orbit-prev {
            display: none;
        }
    }

    .image-slider {
        /*
    &.small {
        li {
            float: left;
            margin-right: rem-calc(4);
        }

        .order-bullets-container {
            width: 50%;
            float: left;
        }
        .orbit-bullets li {
            width: rem-calc(6);
            height: rem-calc(6);
        }

        .orbit-next,
        .orbit-prev {
            width: 50%;
            height: 77%;
        }

        .orbit-slide-number {
            width: 50%;
            position: relative;
            float: right;
            color: $grey1;
            font-size: 0;
            left: auto;
            top: rem-calc(2);

            @media only screen and (max-width: 50em) {
                text-align: right;
            }

            * {
                font-size: 0;
            }

            span {
                font-weight: normal;
            }

            &::after {
                content: " Figures";
                font-size: rem-calc(12) !important;
            }

            span:last-child {
                font-size: rem-calc(12) !important;
                float: none;
                left: rem-calc(6);
                position: relative;

                @media only screen and (min-width:50.0625em) {
                    padding: 0;
                    float: left;
                }
            }
        }
    }*/
    }

    @media only screen and (max-width: 50em) {
        .image-slider img {
            width: 100%;
        }
    }

    .image-slider .image-slider-item {
        display: flex;
        position: relative;
        flex-direction: column;
    }

    @media only screen and (min-width: 50.0625em) {
        .image-slider .image-slider-item {
            flex-direction: row;
        }
    }

.image-slider .image-slider-item .image-slider-image {
    text-align: center;
}

    .image-slider .image-slider-item .image-slider-image,
    .image-slider .image-slider-item .image-slider-body {
        width: 100%;
    }

    @media only screen and (min-width: 50.0625em) {
        .image-slider .image-slider-item .image-slider-image,
        .image-slider .image-slider-item .image-slider-body {
            width: 50%;
        }
    }

    .image-slider .image-slider-item .image-slider-body {
        align-items: center;
        display: flex;
    }

    @media only screen and (max-width: 50em) {
        .image-slider .image-slider-item .image-slider-body {
            flex-direction: column;
        }
    }

    @media only screen and (min-width: 50.0625em) {
        .image-slider .image-slider-item .image-slider-body {
            padding: 35px;
            background-color: #f7f7f7;
        }
    }

    .image-slider .image-slider-item .image-slider-text {
        max-height: 16.25rem;
    }

.image-slider .image-slider-item img {
    width: 100%;
    display: inline-block;
    vertical-align: middle;
    padding: 0 15px
}

    @media only screen and (min-width: 50.0625em) {
        .image-slider .image-slider-item button {
            position: absolute;
            bottom: 20px;
        }
    }

    .image-slider .orbit-next,
    .image-slider .orbit-prev {
        margin-top: 0;
        top: 0;
        width: 13%;
        height: 80%;
    }

        .image-slider .orbit-next:hover,
        .image-slider .orbit-prev:hover {
            background-color: transparent;
        }

        .image-slider .orbit-next span,
        .image-slider .orbit-prev span {
            opacity: 1;
        }

    @media only screen and (max-width: 50em) {
        .image-slider .orbit-bullets-container {
            margin-top: 1.25rem;
        }
    }


.reveal-modal-bg {
    background: #232323;
    background: rgba(0, 0, 0, 0.75);
    bottom: 0;
    display: none;
    left: 0;
    position: fixed;
    right: 0;
    top: 0;
    z-index: 1004;
    left: 0;
}

.reveal-modal {
    border-radius: 0;
    display: none;
    position: absolute;
    top: 0;
    visibility: hidden;
    width: 100%;
    z-index: 1005;
    left: 0;
    background-color: rgba(0, 0, 0, 0.75);
    padding: 1.875rem;
    border: solid 0 #666666;
    box-shadow: none;
}

@media only screen and (max-width: 50em) {
    .reveal-modal {
        min-height: 100vh;
    }
}

.reveal-modal .column, .reveal-modal .columns {
    min-width: 0;
}

.reveal-modal > :first-child {
    margin-top: 0;
}

.reveal-modal > :last-child {
    margin-bottom: 0;
}

@media only screen and (min-width: 50.0625em) {
    .reveal-modal {
        left: 0;
        margin: 0 auto;
        max-width: 75rem;
        right: 0;
        width: 80%;
    }
}

@media only screen and (min-width: 50.0625em) {
    .reveal-modal {
        top: 6.25rem;
    }
}

.reveal-modal.radius {
    border-radius: 0;
}

.reveal-modal.round {
    border-radius: 0;
}

.reveal-modal.collapse {
    padding: 0;
}

@media only screen and (min-width: 50.0625em) {
    .reveal-modal.tiny {
        left: 0;
        margin: 0 auto;
        max-width: 75rem;
        right: 0;
        width: 30%;
    }
}

@media only screen and (min-width: 50.0625em) {
    .reveal-modal.small {
        left: 0;
        margin: 0 auto;
        max-width: 75rem;
        right: 0;
        width: 40%;
    }
}

@media only screen and (min-width: 50.0625em) {
    .reveal-modal.medium {
        left: 0;
        margin: 0 auto;
        max-width: 75rem;
        right: 0;
        width: 60%;
    }
}

@media only screen and (min-width: 50.0625em) {
    .reveal-modal.large {
        left: 0;
        margin: 0 auto;
        max-width: 75rem;
        right: 0;
        width: 70%;
    }
}

@media only screen and (min-width: 50.0625em) {
    .reveal-modal.xlarge {
        left: 0;
        margin: 0 auto;
        max-width: 75rem;
        right: 0;
        width: 95%;
    }
}

.reveal-modal.full {
    height: 100vh;
    height: 100%;
    left: 0;
    margin-left: 0 !important;
    max-width: none !important;
    min-height: 100vh;
    top: 0;
}

@media only screen and (min-width: 50.0625em) {
    .reveal-modal.full {
        left: 0;
        margin: 0 auto;
        max-width: 75rem;
        right: 0;
        width: 100%;
    }
}

.reveal-modal.toback {
    z-index: 1003;
}

.reveal-modal .close-reveal-modal {
    color: #AAAAAA;
    cursor: pointer;
    font-size: 2.5rem;
    font-weight: bold;
    line-height: 1;
    position: absolute;
    top: 0.625rem;
    right: 1.375rem;
}


.label {
    display: inline-block;
    font-family: "Aller", "MiSans";
    font-weight: bold;
    line-height: 1;
    margin-bottom: auto;
    position: relative;
    text-align: center;
    text-decoration: none;
    white-space: nowrap;
    padding: 0.25rem 0.5rem 0.25rem;
    font-size: 0.875rem;
    /*background-color: #00ae9e;*/
    color: #00ae9e;
    cursor: pointer;
    border-radius: 4px;
}

.label.radius {
    border-radius: 3px;
}

.label.round {
    border-radius: 1000px;
}

.label.alert {
    background-color: #fa6557;
    color: #ffffff;
}

.label.warning {
    background-color: #f08a24;
    color: #ffffff;
}

.label.success {
    background-color: #D5EEEC;
    color: #00ae9e;
}

.label.promo {
    background-color: #FBD7F0;
    color: #d60c8c;
}

.label.review {
    background-color: #F2F2F2;
    color: #6C6C6C;
}

.label.info-tips {
    background-color: #D4FFDE;
    color: #017C18;
}

.label.secondary {
    background-color: #004072;
    color: #ffffff;
}

.label.info {
    background-color: #a0d3e8;
    color: #333333;
}

.label.text {
    background: transparent;
    font-family: "Aller Bold", "MiSans";
    padding-right: 0;
    padding-left: 0;
    color: #232323;
}

.recommendation-panel {
    height: 120px;
    line-height: 200px;
    text-align: center;
    position: relative;
    background-size: cover;
    background-repeat: no-repeat;
    background-position: center;
    margin-bottom: 10px;
    border: none;
    border-radius: 0;
}

.product-inpagelinks a{
    text-decoration: none !important;
}

.product-inpagelinks ul, .reviews-wrapper ul {
    list-style: none;
    list-style-image: none;
    font-family: inherit;
    font-size: 0.875rem;
    line-height: 1.4;
    list-style-position: outside;
    margin-bottom: 0;
    margin-left: 0;
    padding-left: 0;
}

.product-inpagelinks ul a {
    color: black;
}

.avatar {
    border-radius: 1000px;
    display: flex;
    align-items: center;
    justify-content: center;
    background-color: pink;
    color: #ffffff;
    margin: 0;
    line-height: 1;
    width: 40px;
    min-width: 40px;
    height: 40px;
}

.structure {
    padding: 0;
}

.gallery {
    position: fixed !important;
    overflow-y: scroll;
    top: 0 !important;
}

    .gallery * {
        color: #ffffff;
    }

    .gallery .close-reveal-modal {
        color: #AAAAAA;
        cursor: pointer;
        font-size: 2.5rem;
        font-weight: bold;
        line-height: 1;
        position: absolute;
        top: 0.625rem;
        right: 1.375rem;
    }

    .gallery p,
    .gallery img,
    .gallery .row {
        margin-bottom: 1.25rem;
    }

    .gallery img {
        max-width: 100%;
        max-height: 100%;
    }

.circleColor {
    margin-right: 3px;
    display: inline-block;
    width: 12px;
    height: 12px;
    border-radius: 50%;
}

.product-title h1 {
    font-size: 1.875rem !important;
}

.product-title h5 {
    font-size: 1rem !important;
}

/* 图片容器：相对定位，用于承载加载动画 */
.image-slider-image {
    position: relative;
    overflow: hidden;
}

/* 图片加载动画样式 */
.image-placeholder {
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    background: #f0f0f0; /* 占位背景色 */
    display: flex;
    align-items: center;
    justify-content: center;
}

/* 转圈圈加载图标（纯CSS实现） */
.loader {
    width: 40px;
    height: 40px;
    border: 3px solid #e0e0e0; /* 浅色边框 */
    border-top-color: #00ae9e; /* 顶部高亮色（可换为品牌色） */
    border-radius: 50%;
    animation: spin 1s linear infinite; /* 旋转动画 */
}

/* 旋转动画定义 */
@keyframes spin {
    to {
        transform: rotate(360deg);
    }
}

/* 图片加载过渡动画 */
.image-slider-image img {
    opacity: 0;
    filter: blur(8px);
    transition: opacity 0.6s ease-out, filter 0.6s ease-out;
    max-height: 312px;
    width: auto;
}

    .image-slider-image img.loaded {
        opacity: 1;
        filter: blur(0);
    }

/* 加载失败样式 */
.load-error {
    color: #f44336; /* 错误红色 */
    font-size: 14px;
}