* {
    margin: 0;
    padding: 0;
    box-sizing: border-box;
}

body {
    font-family: -apple-system, BlinkMacSystemFont, 'Segoe UI', sans-serif;
    padding: 40px 20px;
    /* background: #f`afafa; */
}



.text-muted {
    font-size: large !important;
}

mjx-container[jax="CHTML"],
mjx-container[jax="SVG"],
.MathJax,
.MathJax_Display,
.MathJax_Inline,
.katex,
.katex-display {
    font-size: 150% !important;
}

p.text-center mjx-container[jax="CHTML"],
p.text-center mjx-container[jax="SVG"],
p.text-center .katex-display {
    font-size: 170% !important;
}

/* p.text-center {
    font-size: 150%;
} */

mjx-container[jax="CHTML"] {
    white-space: normal !important;
    word-break: break-word !important;
}


.video-equal {
    height: 360px;
    width: 100%;
    object-fit: contain;
    border-radius: 6px;
}


.resource-btn {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    gap: 10px;
    background-color: #ffffff;
    color: #222;
    font-weight: 500;
    font-size: 1rem;
    border: 1px solid #ddd;
    border-radius: 9999px;
    padding: 20px 20px;
    margin: 8px;
    text-decoration: none;
    transition: all 0.25s ease;
    box-shadow: 0 2px 4px rgba(0, 0, 0, 0.06);
    height: 36px;
    line-height: 1;
    min-width: 150px;
    box-sizing: border-box;
}

.resource-btn img {
    height: 24px;
    width: auto;
    filter: none;
}

.resource-btn:hover {
    background-color: #f8f8f8;
    border-color: #ccc;
    transform: translateY(-2px);
    box-shadow: 0 4px 10px rgba(0, 0, 0, 0.1);
}

.resource-btn:active {
    transform: translateY(0);
    box-shadow: 0 2px 5px rgba(0, 0, 0, 0.08);
}

@media (max-width: 600px) {
    .resource-btn {
        font-size: 0.9rem;
        padding: 8px 16px;
        margin: 6px;
        height: 60px;
        min-width: 130px;
    }

    .resource-btn img {
        height: 48px;
    }
}


@media (max-width: 600px) {
    .resource-btn {
        font-size: 0.9rem;
        padding: 8px 16px;
        margin: 6px;
    }

    .resource-btn img {
        width: 36px;
    }
}


.affiliations {
    margin-top: 1.5rem;
}

/* link di testo */
.affiliation-link {
    color: inherit;
    text-decoration: none;
    display: inline-block;
    transition: color 0.2s ease;
}

.affiliation-link:hover {
    color: #007bff;
    text-decoration: none;
}

.affiliations h6 {
    font-size: 0.9rem;
    font-weight: 500;
    margin-bottom: 0;
}

.affiliation-logo {
    max-height: 48px;
    opacity: 0.9;
    transition: all 0.25s ease-in-out;
}

.affiliation-logo:hover {
    filter: grayscale(0%);
    opacity: 1;
    transform: scale(1.05);
}


.carousel-container {
    max-width: 900px;
    margin: 0 auto 60px;
}

.thumbnails {
    display: flex;
    gap: 10px;
    justify-content: center;
    margin-bottom: 20px;
}

.thumb {
    cursor: pointer;
    border: 2px solid #ddd;
    border-radius: 4px;
    padding: 10px 20px;
    background: white;
    opacity: 0.6;
    transition: all 0.2s;
    font-size: 14px;
    color: #333;
}

.thumb:hover {
    opacity: 0.8;
    border-color: #999;
}

.thumb.active {
    opacity: 1;
    border-color: #333;
    background: #f5f5f5;
    font-weight: 500;
}

.comparison-wrapper {
    position: relative;
    width: 100%;
    height: 500px;
    background: #000;
    overflow: hidden;
}

.comparison {
    display: none;
    position: relative;
    width: 100%;
    height: 100%;
}

.comparison.active {
    display: block;
}

.image-container {
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
}

.image-container img,
.image-container video {
    width: 100%;
    height: 100%;
    object-fit: cover;
    display: block;
}

.image-before {
    z-index: 2;
}

.image-after {
    z-index: 1;
}

.labels-container {
    position: absolute;
    top: 0;
    left: 0;
    right: 0;
    height: 100%;
    z-index: 100;
    pointer-events: none;
}

.label {
    position: absolute;
    top: 15px;
    background: rgba(255, 255 255, 0.95);
    color: black;
    padding: 6px 12px;
    border-radius: 4px;
    font-size: 22px;
}

.label-left {
    left: 15px;
}

.label-right {
    right: 15px;
}

.divider {
    position: absolute;
    top: 0;
    left: 50%;
    width: 3px;
    height: 100%;
    background: white;
    box-shadow: 0 0 10px rgba(0, 0, 0, 0.5);
    z-index: 50;
    transform: translateX(-1.5px);
}

.play-btn {
    position: absolute;
    bottom: 15px;
    left: 50%;
    transform: translateX(-50%);
    background: rgba(0, 0, 0, 0.7);
    color: white;
    border: none;
    padding: 8px 16px;
    border-radius: 20px;
    cursor: pointer;
    font-size: 14px;
    z-index: 100;
    transition: background 0.2s;
    display: flex;
    align-items: center;
    gap: 6px;
}

.play-btn:hover {
    background: rgba(0, 0, 0, 0.9);
}

@media (max-width: 768px) {
    .comparison-wrapper {
        height: 350px;
    }

    .thumb {
        padding: 8px 15px;
        font-size: 12px;
    }
}

.video-container {
    position: relative;
    padding-bottom: 56.25%;
    padding-top: 30px;
    height: 0;
    overflow: hidden;
}

.video-container iframe,
.video-container object,
.video-container embed {
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
}

@font-face {
    font-family: webflow-icons;
    src: url("data:application/x-font-ttf;charset=utf-8;base64,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") format('truetype');
    font-weight: 400;
    font-style: normal
}

[class*=" w-icon-"],
[class^=w-icon-] {
    font-family: webflow-icons !important;
    speak: none;
    font-style: normal;
    font-weight: 400;
    font-variant: normal;
    text-transform: none;
    line-height: 1;
    -webkit-font-smoothing: antialiased;
    -moz-osx-font-smoothing: grayscale
}

.w-icon-slider-right:before {
    content: "\e600";
    color: white;
    text-shadow: 2px 0 0 #000, 0 -2px 0 #000, 0 2px 0 #000, -2px 0 0 #000;
}

.w-icon-slider-left:before {
    content: "\e601";
    color: white;
    text-shadow: 2px 0 0 #000, 0 -2px 0 #000, 0 2px 0 #000, -2px 0 0 #000;
}

.w-icon-nav-menu:before {
    content: "\e602"
}

.w-icon-arrow-down:before,
.w-icon-dropdown-toggle:before {
    content: "\e603"
}

.w-icon-file-upload-remove:before {
    content: "\e900"
}

.w-icon-file-upload-icon:before {
    content: "\e903"
}

.w-background-video {
    position: relative;
    overflow: hidden;
    height: 500px;
    color: #fff
}

.w-background-video>video {
    background-size: cover;
    background-position: 50% 50%;
    position: absolute;
    margin: auto;
    width: 100%;
    height: 100%;
    right: -100%;
    bottom: -100%;
    top: -100%;
    left: -100%;
    object-fit: cover;
    z-index: -100
}

.w-background-video>video::-webkit-media-controls-start-playback-button {
    display: none !important;
    -webkit-appearance: none
}

.w-slider {
    position: relative;
    /* height: 300px; */
    text-align: center;
    background: #ddd;
    clear: both;
    -webkit-tap-highlight-color: transparent;
    tap-highlight-color: rgba(0, 0, 0, 0);
}

.w-slider-mask {
    position: relative;
    display: block;
    overflow: hidden;
    z-index: 1;
    left: 0;
    right: 0;
    height: 100%;
    white-space: nowrap
}

.w-slide {
    position: relative;
    display: inline-block;
    vertical-align: top;
    width: 100%;
    height: 98%;
    padding-bottom: 30px;
    white-space: normal;
    text-align: left
}

.w-slider-nav {
    position: absolute;
    z-index: 100;
    top: auto;
    right: 0;
    bottom: 0;
    left: 0;
    margin: auto;
    padding-top: 10px;
    height: 40px;
    text-align: center;
    -webkit-tap-highlight-color: transparent;
    tap-highlight-color: rgba(0, 0, 0, 0)
}

.w-slider-nav.w-round>div {
    border-radius: 100%
}

.w-slider-nav.w-num>div {
    width: auto;
    height: auto;
    padding: .2em .5em;
    font-size: inherit;
    line-height: inherit
}

.w-slider-nav.w-shadow>div {
    box-shadow: 0 0 3px rgba(51, 51, 51, .4)
}

.w-slider-nav-invert {
    color: #fff
}

.w-slider-nav-invert>div {
    background-color: rgba(34, 34, 34, .4)
}

.w-slider-nav-invert>div.w-active {
    background-color: #222
}

.w-slider-dot {
    position: relative;
    display: inline-block;
    width: 1em;
    height: 1em;
    background-color: rgba(255, 255, 255, .4);
    cursor: pointer;
    margin: 0 3px .5em;
    transition: background-color .1s, color .1s
}

.w-slider-dot.w-active {
    background-color: #fff
}

.w-slider-dot:focus {
    outline: 0;
    box-shadow: 0 0 0 2px #fff
}

.w-slider-dot:focus.w-active {
    box-shadow: none
}

.w-slider-arrow-left,
.w-slider-arrow-right {
    position: absolute;
    width: 80px;
    top: 0;
    right: 0;
    bottom: 0;
    left: 0;
    margin: auto;
    cursor: pointer;
    overflow: hidden;
    color: #fff;
    font-size: 40px;
    -webkit-tap-highlight-color: transparent;
    tap-highlight-color: rgba(0, 0, 0, 0);
    -webkit-user-select: none;
    -moz-user-select: none;
    -ms-user-select: none;
    user-select: none
}

.w-slider-arrow-left [class*=' w-icon-'],
.w-slider-arrow-left [class^=w-icon-],
.w-slider-arrow-right [class*=' w-icon-'],
.w-slider-arrow-right [class^=w-icon-] {
    position: absolute
}

.w-slider-arrow-left:focus,
.w-slider-arrow-right:focus {
    outline: 0
}

.w-slider-arrow-left {
    z-index: 3;
    right: auto
}

.w-slider-arrow-right {
    z-index: 4;
    left: auto
}

.w-icon-slider-left,
.w-icon-slider-right {
    top: 0;
    right: 0;
    bottom: 0;
    left: 0;
    margin: auto;
    width: 1em;
    height: 1em
}

.w-slider-aria-label {
    border: 0;
    clip: rect(0 0 0 0);
    height: 1px;
    margin: -1px;
    overflow: hidden;
    padding: 0;
    position: absolute;
    width: 1px
}

.w-slider-force-show {
    display: block !important
}

.html-embed-2 {
    width: 100%;
    height: 100%;
    -o-object-fit: fill;
    object-fit: fill
}

.div-block-9 {
    overflow: visible;
    width: 98%;
    height: 100%;
    margin-right: auto;
    margin-left: auto
}

.div-block-9.last_block {
    position: absolute;
    left: 101%;
    top: 0;
    right: 0;
    bottom: 0;
    height: 100%;
    padding-bottom: 30px;
}

.div-block-9.first_video {
    position: absolute;
    left: -200%;
    top: 0;
    right: 0;
    bottom: 0;
    width: 100%;
    height: 100%;
    padding-bottom: 30px;
}

.video_class {
    width: auto;
    height: 80%;
    margin-right: auto;
    margin-left: auto
}

.video_class.last_video {
    position: absolute;
    left: 52%;
    top: 0;
    right: 0;
    bottom: 0
}

.video_class.mobile {
    display: none
}

.slider-2 {
    overflow: hidden;
    height: 500px
}

.mask {
    overflow: visible;
    width: 40%;
    margin-right: auto;
    margin-left: auto
}

.nerf_slider_v2 {
    overflow: hidden;
    margin: 5px -15px 0;
    background-color: rgba(56, 56, 56, 0);
    padding-bottom: 36px;
}

.nerf_slider_v2 h6,
.captioned_videos h6 {
    /* font-style: italic; */
    display: flex;
    margin-right: auto;
    margin-left: auto;
    justify-content: center;
    /* align-items: center; */
    text-align: center;
}

/* .captioned_videos { */
/* padding-bottom: 20px; */
/* margin-top: 16px; */
/* } */

.captioned_videos h6 {
    max-width: 768px;
    padding-top: 6px;
}

.nerf_slider_v2 h6 {
    width: 95%;
    min-height: 100px;
}

.nerf_slider_v2 .first_video h6,
.nerf_slider_v2 .last_block h6 {
    max-width: 160px;
}

.citation {
    margin-left: 10px;
    /* background-color: #e9e9e9; */
    padding: 8px;
}

.citation:not(:first-child) {
    margin-top: 10px;
}

.citation h4,
h5,
h6 {
    margin: 0;
    font-weight: initial;
}

.citation b {
    text-decoration: underline;
    font-weight: bold;
}

.citation ul {
    padding-left: 0px;
    margin: 0;
}

.citation li {
    display: inline;
}

.citation h4 {
    line-height: normal;
    font-weight: bold;
}

.citation h5 {
    margin-top: 4px;
    margin-bottom: 4px;
    line-height: normal;
    font-size: 12px;
}

.citation h6 {
    /* margin-top: 4px; */
    font-style: italic;
}

.citation img,
.citation video {
    float: right;
    margin-left: 8px;
}

.citation p {
    /* color: steelblue; */
    /* font-weight: bold; */
    font-size: 12px;
    margin-left: 0;
    margin-right: 0;
    margin-bottom: 0;
    margin-top: 0;
}

.citation .conference {
    font-style: normal;
    font-weight: bold;
    padding-right: 5px;
    padding-left: 5px;
    /* background-color: PaleGreen; */
    margin-left: 0;
}

.citation .conference.workshop {
    background-color: LightSkyBlue;
}

.citation .conference.arxiv {
    background-color: Gainsboro;
}

.author-container {
    max-width: 60%;
}

@media (max-width: 600px) {
    .author-container {
        max-width: 100%;
    }
}

@media (max-width: 600px) {

    .news,
    .citation {
        margin-left: 0;
    }

    .citation h4 {
        font-size: 14px;
    }

    .citation ul {
        font-size: 12px;
    }

    .authors h5 {
        font-size: 10px;
    }

    .authors h6 {
        font-size: 16px;
        padding-bottom: 6px;
    }

    .show_wide {
        display: none;
    }
}

@media only screen and (max-width: 768px) {
    .btn-search {
        font-size: 16px;
        padding-left: 4px;
        padding-right: 4px;
    }
}

.authors {
    padding-bottom: 10px;
}

.authors .col-sm-3 {
    padding: 0;
}

.authors h5 {
    font-size: 24px;
    font-weight: 300;
}

.authors h5 {
    font-size: 20px;
}

.shadowed_text {
    text-shadow: 4px 0 4px #5fb7f7, 0 -4px 4px #5fb7f7, 0 4px 4px #5fb7f7, -4px 0 4px #5fb7f7;
    color: white;
}

body {
    /* font-family: et-book, Palatino, "Palatino Linotype", "Palatino LT STD", "Book Antiqua", Georgia, serif; */
    /* font-family: Palatino, "Palatino Linotype", "Palatino LT STD", "Book Antiqua", Georgia, serif; */
    font-weight: 300;
    font-family: "Source Sans Pro", Calibri, Candara, Arial, sans-serif;
}

/* code {

} */

h1,
h2,
h3,
h4,
h5,
h6 {
    font-family: "Source Sans Pro", Calibri, Candara, Arial, sans-serif;
    font-weight: 300;
    line-height: 1.1;
    color: inherit;
}

p,
.caption {
    font-family: Palatino, "Palatino Linotype", "Palatino LT STD", "Book Antiqua", Georgia, serif;
    margin-top: 4px;
}

/* From Ref-NeRF */
.video-compare-container {
    width: 63%;
    margin: 0 auto;
    position: relative;
    display: block;
    line-height: 0;
    overflow: hidden !important;
}

.video {
    width: 100%;
    height: auto;
    position: relative;
    top: 0;
    left: 0;
}

.videoMerge {
    position: relative;
    top: 0;
    left: 0;
    z-index: 10;
    width: 100%;
    display: block;
    margin: 0 auto;
    background-size: cover;
}

.cropped-video {
    width: 100%;
    overflow: hidden;
    display: block;
}

/* Compositional generation */
#compositional_tags_depth_0 {
    display: none;
}

/* .compositional .video {
    position: absolute;
    top: 0;
}
.compositional .video .caption {
    margin-bottom: 18px;
} */
.compositional .text {
    font-size: 18px;
}

.compositional .text .selectable {
    padding: 0;
}

.compositional .text .selectable:last-child {
    margin-bottom: 0;
}

.compositional .text .selectable span {
    padding: 2px;
    margin-left: 4px;
    margin-right: 4px;
    /* margin-top: 4px; */
}

.compositional .text .selectable span:first-child {
    margin-left: 0;
}

.compositional .text .selectable span:hover {
    cursor: pointer;
}

.compositional .text .selectable span:not(:last-child)::after {
    content: '|';
    padding: 2px 2px 2px 8px;
    margin-right: -2px;
    margin-left: 2px;
    background-color: white;
    color: rgb(161, 161, 161);
}

.compositional .text .selectable span:active {
    cursor: pointer;
    background: rgb(171, 218, 191) !important;
}

.compositional.video {
    width: 100%;
}

.compositional .text .selectable span.hidden {
    display: none !important;
    /* color: rgb(161, 161, 161) !important; */
    /* background: white !important; */
    /* cursor: default !important; */
}

.compositional .text .selectable span:not(.selected) {
    font-weight: 300;
    color: rgb(50, 50, 50);
    /* background: rgb(200, 200, 200); */
    /* color: blue; */
}

.compositional .text .selectable span:not(.selected):hover {
    background: rgb(194, 247, 215);
}

/* .compositional .text .selectable span.active { */
.compositional .text .selectable span.selected {
    color: #055ada;
    background: rgb(194, 247, 215);
    /* font-weight: bold; */
}

.compositional .video-compare-container {
    /* background-color: black; */
    width: 100%;
    max-width: 256px;
    margin-right: auto;
    margin-left: auto;
    transition: opacity 0.75s ease-in;
}

@media screen and (max-width: 575px) {
    .video-compare-container {
        padding-top: 32px;
    }
}

/* .compositional .text .selectable span.active::before {
    content: '\a';
    white-space: pre;
    background-color: white !important;
} */
/* .compositional .text .selectable span.selected {
    border: 2px black;
} */


.banner {
    width: 100%;
    max-height: 128px;
}

@media screen and (min-width: 768px) {
    .banner {
        min-height: 128px;
    }
}

.banner video {
    max-height: 128px;
    max-width: 768px;
    /* text-align: center; */
    margin-right: auto;
    margin-left: auto;
    display: block;
}

.btn-search {
    display: block;
    text-align: center;
    padding: 12px 20px 12px 20px;
    margin-right: auto;
    margin-left: auto;
}

.btn-search svg {
    margin-right: 4px;
}

hr.divider {
    max-width: 768px;
    margin-top: 32px;
    margin-bottom: 32px;
}

.row:not(:last-child):not(.authors) {
    margin-bottom: 16px;
}

.invisible {
    display: none;
}

.btn-light.disabled {
    /* border: 2px black; */
    background-color: #ccc;
}


/* Gallery */
.video-gallery {
    padding: 40px 0;
}

.column {
    margin-bottom: 40px;
}

.video {
    max-width: 100%;
}

.card-body {
    padding: 12px;
}

.search .card-body {
    padding: 32px
}

#videoGallery .sticky-top {
    width: 100%;
    background-color: rgba(255, 255, 255, 0.9);
}

.row.search {
    padding-top: 16px;
    margin-top: 0;
    margin-bottom: 16px;
    max-width: 900px !important;
    padding-bottom: 16px;
}

.row.search .col-sm-12 {
    /* padding: 0; */
    max-width: 900px !important;
}

.disappearing {
    /* opacity: 0; */
    transition-property: background-color;
    transition-duration: 2s;
}

.display-none {
    display: none !important;
}

/* .loads-parent-model {
    margin-right: auto;
    margin-left: auto;
    display: block;
    margin-top: 130px;
} */
.model-viewer {
    margin-bottom: 8px;
}

/* model-viewer::after {
    padding-bottom: 40px;
}
model-viewer .controls {
    position: absolute;
    bottom: 0;
    margin-left: auto;
    margin-right: auto;
    left: 0;
    right: 0;
    text-align: center;
} */

.meshes .controls {
    margin-left: auto;
    margin-right: auto;
    text-align: center;
}

.meshes .controls button:not(:last-child) {
    margin-right: 4px;
}

.meshes p.caption {
    text-align: center;
}

.magic-size {
    width: 150px;
    /* Adjust the width as needed */
    height: 150px;
    /* Adjust the height as needed */
    object-fit: cover;
    margin-top: 2.5px;
    margin-bottom: 2.5px;
    margin-left: 5px;
    margin-right: 5px;
    padding-top: 2.5px;
    padding-bottom: 2.55px;
    padding-left: 5px;
    padding-right: 5px;
}

.method-title {
    text-align: center;
    font-size: 15px;
    font-weight: bold;
    padding-left: 5px;
    padding-right: 5px;
    font-family: Palatino, "Palatino Linotype", "Palatino LT STD", "Book Antiqua", Georgia, serif;
}

.col-1 {
    width: 100px;
}

.col-3 {
    max-width: 200px;
}

.bal-container-small {
    position: relative;
    width: 100%;
    height: 600px;
    cursor: grab;
    overflow: hidden;
}

.bal-container-big {
    position: relative;
    width: 100%;
    height: 600px;
    cursor: grab;
    overflow: hidden;
}

.bal-after {
    display: block;
    position: absolute;
    top: 0;
    right: 0;
    bottom: 0;
    left: 0;
    width: 100%;
    height: 100%;
    overflow: hidden;
}

.bal-before {
    display: block;
    position: absolute;
    top: 0;
    /* right: 0; */
    bottom: 0;
    left: 0;
    width: 100%;
    height: 100%;
    z-index: 15;
    overflow: hidden;
}

.bal-before-inset {
    position: absolute;
    top: 0;
    bottom: 0;
    left: 0;
}

.bal-after img,
.bal-before img {
    object-fit: cover;
    position: absolute;
    width: 100%;
    height: 100%;
    object-position: 50% 50%;
    top: 0;
    bottom: 0;
    left: 0;
    -webkit-user-select: none;
    -khtml-user-select: none;
    -moz-user-select: none;
    -o-user-select: none;
    user-select: none;
}

.bal-beforePosition {
    background: #121212;
    color: #fff;
    left: 0;
    pointer-events: none;
    border-radius: 0.2rem;
    padding: 2px 10px;
}

.bal-afterPosition {
    background: #121212;
    color: #fff;
    right: 0;
    pointer-events: none;
    border-radius: 0.2rem;
    padding: 2px 10px;
}

.beforeLabel {
    position: absolute;
    bottom: 0;
    margin: 1rem;
    font-size: 1em;
    -webkit-user-select: none;
    -khtml-user-select: none;
    -moz-user-select: none;
    -o-user-select: none;
    user-select: none;
}

.afterLabel {
    position: absolute;
    bottom: 0;
    margin: 1rem;
    font-size: 1em;
    -webkit-user-select: none;
    -khtml-user-select: none;
    -moz-user-select: none;
    -o-user-select: none;
    user-select: none;
}

.bal-handle {
    height: 41px;
    width: 41px;
    position: absolute;
    left: 50%;
    top: 50%;
    margin-left: -20px;
    margin-top: -21px;
    border: 2px solid #fff;
    border-radius: 1000px;
    z-index: 20;
    pointer-events: none;
    box-shadow: 0 0 10px rgb(12, 12, 12);
}

.handle-left-arrow,
.handle-right-arrow {
    width: 0;
    height: 0;
    border: 6px inset transparent;
    position: absolute;
    top: 50%;
    margin-top: -6px;
}

.handle-left-arrow {
    border-right: 6px solid #fff;
    left: 50%;
    margin-left: -17px;
}

.handle-right-arrow {
    border-left: 6px solid #fff;
    right: 50%;
    margin-right: -17px;
}

.bal-handle::before {
    bottom: 50%;
    margin-bottom: 20px;
    box-shadow: 0 0 10px rgb(12, 12, 12);
}

.bal-handle::after {
    top: 50%;
    margin-top: 20.5px;
    box-shadow: 0 0 5px rgb(12, 12, 12);
}

.bal-handle::before,
.bal-handle::after {
    content: " ";
    display: block;
    width: 2px;
    background: #fff;
    height: 9999px;
    position: absolute;
    left: 50%;
    margin-left: -1.5px;
}


.carousel-container {
    max-width: 900px;
    margin: 0 auto 60px;
}

.thumbnails {
    display: flex;
    gap: 10px;
    justify-content: center;
    margin-bottom: 20px;
}

.thumb {
    cursor: pointer;
    border: 2px solid #ddd;
    border-radius: 4px;
    padding: 10px 20px;
    background: #fff;
    opacity: 0.6;
    transition: all 0.2s;
    font-size: 14px;
    color: #333;
}

.thumb:hover {
    opacity: 0.8;
    border-color: #999;
}

.thumb.active {
    opacity: 1;
    border-color: #333;
    background: #f5f5f5;
    font-weight: 500;
}

.comparison-wrapper {
    position: relative;
    width: 100%;
    height: 500px;
    background: #000;
    overflow: hidden;
}

.comparison {
    display: none;
    position: relative;
    width: 100%;
    height: 100%;
}

.comparison.active {
    display: block;
}

.image-container {
    position: absolute;
    inset: 0;
    width: 100%;
    height: 100%;
}

.image-container img,
.image-container video {
    width: 100%;
    height: 100%;
    object-fit: cover;
    display: block;
}

.comparison video {
    pointer-events: none;
}

.image-before {
    z-index: 2;
    clip-path: inset(0 50% 0 0);
}

.image-after {
    z-index: 1;
}

.labels-container {
    position: absolute;
    inset: 0;
    z-index: 5;
    pointer-events: none;
}

.label {
    position: absolute;
    top: 15px;
    background: rgba(255, 255, 255, 0.95) !important;
    color: black !important;
    padding: 6px 12px;
    border-radius: 4px;
    font-size: 18px;
}

.label-left {
    left: 15px;
}

.label-right {
    right: 15px;
}

.divider {
    position: absolute;
    top: 0;
    left: 50%;
    width: 3px;
    height: 100%;
    background: #fff;
    box-shadow: 0 0 10px rgba(0, 0, 0, 0.5);
    z-index: 4;
    transform: translateX(-1.5px);
}

.comparison-controls {
    position: absolute;
    bottom: 15px;
    left: 50%;
    transform: translateX(-50%);
    display: flex;
    gap: 8px;
    z-index: 10;
    pointer-events: auto;
}

.comparison-controls .play-btn,
.comparison-controls .reset-btn {
    border: none;
    border-radius: 20px;
    padding: 8px 16px;
    font-size: 14px;
    cursor: pointer;
    background: rgba(0, 0, 0, 0.7);
    color: #fff;
    display: inline-flex;
    align-items: center;
    gap: 6px;
    pointer-events: auto;
}

.comparison-controls .play-btn:hover,
.comparison-controls .reset-btn:hover {
    background: rgba(0, 0, 0, 0.9);
}

@media (max-width: 768px) {
    .comparison-wrapper {
        height: 350px;
    }

    .thumb {
        padding: 8px 15px;
        font-size: 12px;
    }
}


.comparison-controls {
    position: absolute;
    bottom: 15px;
    left: 50%;
    transform: translateX(-50%);
    display: flex;
    flex-direction: row;
    align-items: center;
    justify-content: center;
    gap: 14px;
    z-index: 10;
    pointer-events: auto;
}

.comparison-controls .play-btn,
.comparison-controls .reset-btn {
    position: static;
    bottom: auto;
    left: auto;
    transform: none;
    border: none;
    border-radius: 20px;
    padding: 8px 18px;
    font-size: 14px;
    cursor: pointer;
    background: rgba(0, 0, 0, 0.7);
    color: #fff;
    display: inline-flex;
    align-items: center;
    gap: 6px;
    pointer-events: auto;
}

.comparison-controls .play-btn:hover,
.comparison-controls .reset-btn:hover {
    background: rgba(0, 0, 0, 0.9);
}