:root {
    --black: #000000;
    --white: #ffffff;
    --main: #F5EEE2;
    --darker: #EFD8BE;
    --second: #8cb4c5;
}

body {
    font-family: 'figtree';
}

section {
    overflow-x: hidden;
}

h2,
h3,
.quality-sticker {
    font-family: "league-gothic", serif !important;
    text-wrap: balance;
}

h2.dp_title {
    font-family: 'ivypresto-display', Serif !important;
}

.strong {
    font-weight: 600;
}

.light {
    font-weight: 100;
}

section.hero-link {
    cursor: pointer;
}

.pdp-name {
    text-transform: capitalize;
}

.btn {
    font-weight: 500;
    width: 100%;
    text-transform: uppercase;
    letter-spacing: 1px;
    font-size: .75rem;
    height: 40px;
    padding: 0;
    transition: all ease-in-out .3s;
    background-color: var(--black);
    color: var(--white);
}

.btn-hero {
    background-color: var(--black);
    color: var(--white);
}

@media (min-width: 576px) {
    .btn-body {
        width: 280px;
    }
}

@media (max-width: 992px) {
    
    .btn:hover {
        color:var(--black) !important;
    }
    }
    
@media (min-width: 992px) {
    .btn {
        font-size: 1rem;
        height: 44px;        
    }

    .btn-hero {
        background-color: var(--white);
        color: var(--black);
    }

    .btn:hover {
        background-color:  var(--darker);
        color: var(--black);
    }

    .btn-hero:hover {
        background-color: var(--darker);
        color: var(--black);
    }

    .btn-apparel:hover {
        background-color: var(--darker);
        color: var(--black);
    }
}

@media (min-width: 1200px) {
    .btn {
        font-size: 1.25rem;
        height: 48px;        
    }
}


/* START ANIMATED BANNER */

.scroll {
    position: relative;
    width: 100vw;
    height: 15%;
    overflow: hidden;
    z-index: 1;
    margin: 0;
    padding: 0;
}

.m-scroll {
    overflow: hidden;
    height: 100%;
    white-space: nowrap;
    animation: scrollText 15s infinite linear;
    margin: 0;
    font-size: 0;
    display: inline-block;
    background-color: var(--black);
    height: 26px;
}

.m-scroll a {
    font-size: .75rem;
    display: inline-block;
    min-width: 75vw;
    margin: 0;
    padding: 0;
    color: var(--white);
    background-color: var(--black);
}

@media (min-width: 992px) {
    .m-scroll a {
        min-width: 25vw;
    }

    .m-scroll a:hover {
        text-decoration: underline;
    }
}

@keyframes scrollText {
    from {
        transform: translateX(0%);
    }

    to {
        transform: translateX(-50%);
    }
}

#animation:hover {
    -webkit-animation-play-state: paused;
    -moz-animation-play-state: paused;
    -o-animation-play-state: paused;
    animation-play-state: paused;
    cursor: pointer;
}

/*  START OFFER CSS  */

.hero-img {
    width: 100%;
    object-fit: cover;
}

div#offer-container {
    width: 100%;
    position: absolute;
}

.hero-height {
    height: auto;
}

section#hero-banner {
    height: 100%;
    width: 100%;
}

h1.offer {
    line-height: 1;
    color: var(--white);
}

span.vip-text {
    font-size: xx-small;
    color: var(--white);
}

span.sub-text {
    font-size: xx-small;
    color: var(--white);
}

p.legal_copy {
    font-size: xx-small;
    opacity: .4;
    text-wrap: wrap;
    max-width: 1200px;
    margin: auto;
}

@media (min-width: 576px) {

    h1.offer {
        line-height: 1;
    }
}

@media (min-width: 992px) {

    p.legal_copy {
        font-size: x-small;
    }

    span.vip-text {
        font-size: small;
    }

    .button-hero:hover {
        transition: all ease .5s;
        background-color: var(--main);
    }
}

/* END OFFER */


@media (max-width: 576px) {
    span.jf-banner__line-bold {
        font-size: x-small;
        text-wrap: nowrap;
    }
}

.rounded-circle {
    max-width: 64px;
}

section.skinny-banner div {
    width: 100%;
    height: 32px;
    font-size: medium;
    letter-spacing: 1px;
}

.triangle-right {
    width: 0;
    height: 0;
    border-top: 6px solid transparent;
    border-bottom: 6px solid transparent;
}

.tc-img {
    border: 1px solid var(--second);
}

@media (min-width: 576px) {

    .rounded-circle {
        max-width: 68px;
    }

}

@media (min-width: 1200px) {
}

.cat-span {
    font-size: calc(32px + 1vw);
}

.nav-label {
    color: rgba(38, 38, 38, .5);
}

.nav-label:hover {
    color: var(--black);
}

.btactive {
    color: var(--black);
}

.vip-holder {
    background-color: var(--main);
    color: var(--second);
}

.sale-price {
    color: var(--second);
}

/* Start dreampairs banner */

section#dp-banner {
    background-image: url(https://jf-na-cdn.justfab.com/image/site/en_US/dm/acquisition/lps/2025/dreampairs/assets/M_Hero_launch.webp);
    background-repeat: no-repeat;
    background-position: center;
    background-size: cover;
    width: 100%;
    aspect-ratio: 1;
    margin-top: 280px;
}

.dp-container {
    position: absolute;
    background-color: var(--main);
    color: var(--black);
    z-index: 2;
    top: 0;
    margin-top: -280px;
    height: 280px;
}

.dp-container h2 {
    font-size: 64px;
    text-wrap: nowrap;
}

@media (min-width: 576px) {
    section#dp-banner {
        background-image: url(https://jf-na-cdn.justfab.com/image/site/en_US/dm/acquisition/lps/2025/dreampairs/assets/D_Hero_launch.webp);
        aspect-ratio: 16 / 6;
        margin: auto;
    }

    .dp-container {
        position: relative;
        background-color: transparent;
        color: var(--white);
        z-index: 2;
        top: auto;
        margin: auto;
        height: auto;
    }
}

@media (min-width: 992px) {
    .dp-container h2 {
        font-size: 96px;
    }
}

/* Start apparel */

section#apparel {
    background-color: var(--main);
}

.apparel-category-name {
    font-size: xxx-large;
    top: 45%;
    left: 0;
    letter-spacing: 1.75px;
    right: 0;
}

.apparel-link {
    display: block;
}

.apparel-img {
    transition: transform 0.3s ease-in-out;
}

.apparel-link:hover .apparel-img {
    transform: scale(1.02);
}

/* Start review */

.review-bg {
    background-color: var(--main);
}

.review-img {
    max-width: 100%;
    width: 260px;
    border-top: 20px solid var(--white);
    border-left: 20px solid var(--white);
    border-right: 20px solid var(--white);
    border-bottom: 40px solid var(--white);
}

.review-prod {
    bottom: 15px;
    right: 20px;
}

.review-picture {
    height: 40%;
    width: auto;
}

.review-stars {
    height: 18px;
    width: auto
}

.review-text {
    width: 80%;
}

@media (min-width: 992px) {

    .review-bg {
        height: 650px;
    }

    .review-stars {
        height: 22px;
    }

    .review-slide {
        width: 400px;
    }

    .review-text {
        width: 400px;
    }

    .review-img {
        width: 320px;
    }
}

/* End review */

.perks-text {
    font-size: smaller;
}

/* QUALITY */

section#jf-quality {
    background-color: var(--main);
}

.quality-section-bg {
    height: 550px;
}

.quality-01 {
    height: 45%;
    bottom: 27%;
    left: -5%;
}

.quality-detail {
    width: calc(260px + 1vw);
    top: 2%;
    right: calc(-20% + -10vw);
}

@media (min-width: 414px) {
    .quality-detail {
        top: 1%;
        right: calc(-20% + 3vw);
    }
}

.line-1 {
    border-bottom: 1px solid var(--black);
    z-index: 9;
    width: 65vw;
    bottom: 0;
}

.dot-1 {
    width: 8px;
    height: 8px;
    background-color: var(--main);
    border: 1px solid var(--black);
    border-radius: 100%;
    top: -4px;
    right: -4px;
}

.line-2 {
    border-bottom: 1px solid var(--black);
    border-left: 1px solid var(--black);
    z-index: 9;
    width: 65vw;
    right: 0;
    bottom: 0;
}

@media (min-width: 414px) {

    .quality-01 {
        left: -2%;
        bottom: 26%;
        height: 48%;
    }
}

.dot-2 {
    width: 8px;
    height: 8px;
    background-color: var(--main);
    border: 1px solid var(--black);
    border-radius: 100%;
    top: -4px;
    left: -4px;
}

.line-3 {
    border-left: 1px solid var(--black);
    z-index: 9;
    height: 36px;
    bottom: 100%;
    right: 50%;
}

.dot-3 {
    width: 8px;
    height: 8px;
    background-color: var(--main);
    border: 1px solid var(--black);
    border-radius: 100%;
    top: -4px;
    right: -4px;
}

@media (min-width: 576px) {

    .quality-section-bg {
        height: 630px;
    }

    .quality-01 {
        height: 40%;
        bottom: 26%;
        left: 15%;
    }

    .quality-detail {
        width: 220px;
        top: 0%;
        right: 15%;
    }

    .line-1 {
        width: 55vw;
        bottom: 0;
    }

    .line-2 {
        right: 0;
        bottom: 0;
        width: 52vw;
    }

    .line-3 {
        height: 80px;
    }
}

@media (min-width: 768px) {

    .quality-section-bg {
        height: 600px;
    }

    .quality-01 {
        height: 50%;
        left: 28%;
        bottom: 27%;
        right: auto;
    }

    .quality-detail {
        width: 220px;
        top: 0;
        right: 200px;
    }

    .line-1 {
        width: 35vw;
    }

    .line-2 {
        width: 260px;
        height: 110px;
    }

    .line-3 {
        height: 60px;
    }
}

@media (min-width: 992px) {
    .quality-01 {
        height: 55%;
        left: auto;
        bottom: 32%;
    }

    .quality-detail {
        right: 240px;
        width: 240px;
    }

    .line-1 {
        width: 400px;
    }

    .line-2 {
        width: 310px;
    }

    .line-3 {
        height: 90px;
    }
}


/* Quality new*/

.quality-section-new {
    max-width: 355px;
}

.quality-new-image {
    width: 240px;
    object-position: 20px -20px;
    overflow: visible;
}

.quality-text {
    font-size: small;
    line-height: 1.25;
    text-wrap: nowrap;
}

.quality-sticker {
    background-color: var(--black);
    color: var(--white);
    width: 88px;
    height: 88px;
    top: -30px;
    right: 0;
    border-radius: 100%;
    rotate: 10deg;
    line-height: 1;
}

.dot-black {
    background-color: var(--black);
    margin: auto;
    width: 8px;
    height: 8px;
    position: absolute;
    border-radius: 100%;
    top: 0;
    bottom: 0;
    right: 0;
    left: 0;
}

.dot-new {
    width: 16px;
    height: 16px;
    background-color: rgba(255, 255, 255, .75);
    border-radius: 100%;
    border: 1px solid var(--black);
}

.quality-text-1 {
    bottom: 90px;
    left: 10px;
}

.line-1-new {
    border-bottom: 1px solid var(--black);
    width: 72px;
}

.dot-1-new {
    bottom: -8px;
    right: -16px;
}

.quality-text-2 {
    bottom: 50px;
    right: 0;
}

.line-2-new {
    border-right: 1px solid var(--black);
    right: 50%;
    height: 50px;
}

.dot-2-new {
    bottom: -16px;
    right: -8px;
}

.quality-text-3 {
    top: 225px;
    right: auto;
    left: auto;
}

.line-3-new {
    border-right: 1px solid var(--black);
    right: 50%;
    bottom: 62px;
    height: 25px;
}

.dot-3-new {
    top: -16px;
    right: -8px;
}

@media (min-width: 414px) {
    .quality-section-new {
        max-width: 400px;
    }

    .quality-new-image {
        width: 275px;
        object-position: 25px -20px;
    }

    .line-1-new {
        width: 96px;
    }

    .quality-text-1 {
        left: 0;
    }

    .quality-text-2 {
        bottom: 50px;
    }

    .quality-text-3 {
        top: 250px;
    }
}

@media (min-width: 768px) {

    .quality-new-image {
        width: 304px;
        object-position: 20px -10px;
    }

    .quality-section-new {
        max-width: 500px;
    }

    .quality-new-image {
        object-position: 20px -10px;
    }

    .quality-text {
        font-size: medium;
    }

    .quality-sticker {
        width: 110px;
        height: 110px;
        top: -10px;
    }

    .line-1-new {
        width: 116px;
    }

    .quality-text-2 {
        bottom: 32px;
    }

    .dot-2-new {
        bottom: -8px;
        right: 30px;
    }

    .line-2-new {
        border-right: 1px solid var(--black);
        border-bottom: 1px solid var(--black);
        right: -25%;
        height: 70px;
        width: 25%;
    }

    .quality-text-3 {
        top: 300px;
    }

    .line-3-new {
        right: 50%;
        bottom: 80px;
        height: 30px;
    }
}

@media (min-width: 992px) {

    .quality-section-new {
        max-width: 800px;
    }

    .quality-sticker {
        width: 130px;
        height: 130px;
        top: 70px;
        right: 100px;
    }

    .quality-new-image {
        width: 500px;
        object-position: 10px 10px;
    }

    .quality-text {
        font-size: large;
    }

    .dot-new {
        width: 22px;
        height: 22px;
        background-color: rgba(255, 255, 255, .75);
        border-radius: 100%;
        border: 1px solid var(--black);
    }

    .quality-text-1 {
        bottom: 90px;
        left: 0;
    }

    .line-1-new {
        border-bottom: 1px solid var(--black);
        width: 168px;
    }

    .dot-1-new {
        bottom: -11px;
        right: -22px;
    }

    .quality-text-2 {
        bottom: 32px;
    }

    .line-2-new {
        border-right: 1px solid var(--black);
        right: 0;
        height: auto;
        width: 100%;
    }

    .dot-2-new {
        bottom: -11px;
        right: auto;
        left: -22px;
    }

    .quality-text-3 {
        top: 505px;
    }

    .line-3-new {
        border-right: 1px solid var(--black);
        right: 50%;
        bottom: 80px;
        height: 30px;
    }

    .dot-3-new {
        top: -22px;
        right: -11px;
    }
}

/* Start ugc */

.ugc-container {
    background-color: var(--main);
    border-radius: 8px;
    height: auto;
}

.ugc-1 {
    background-image: url(https://jf-na-cdn.justfab.com/image/site/en_US/dm/acquisition/lps/2025/60206/assets/ugc-1.webp);
}

.ugc-2 {
    background-image: url(https://jf-na-cdn.justfab.com/image/site/en_US/dm/acquisition/lps/2025/60206/assets/ugc-2.webp);
}

.ugc-3 {
    background-image: url(https://jf-na-cdn.justfab.com/image/site/en_US/dm/acquisition/lps/2025/60206/assets/ugc-3.webp);
}

.ugc-4 {
    background-image: url(https://jf-na-cdn.justfab.com/image/site/en_US/dm/acquisition/lps/2025/60206/assets/ugc-4.webp);
}

.ugc-5 {
    background-image: url(https://jf-na-cdn.justfab.com/image/site/en_US/dm/acquisition/lps/2025/60206/assets/ugc-5.webp);
}

.ugc-6 {
    background-image: url(https://jf-na-cdn.justfab.com/image/site/en_US/dm/acquisition/lps/2025/60331/assets/ugc-6.webp);
}

.ugc-7 {
    background-image: url(https://jf-na-cdn.justfab.com/image/site/en_US/dm/acquisition/lps/2025/60206/assets/ugc-7.webp);
}

.ugc-8 {
    background-image: url(https://jf-na-cdn.justfab.com/image/site/en_US/dm/acquisition/lps/2025/60206/assets/ugc-8.webp);
}

.ugc-1,
.ugc-2,
.ugc-3,
.ugc-4,
.ugc-5,
.ugc-6,
.ugc-7,
.ugc-8 {
    background-size: cover;
    background-repeat: no-repeat;
    background-position: center;
    width: 100%;
    height: 180px;
    border-radius: 8px;
}

@media (min-width: 576px) {
    .ugc-container {
        border-radius: 4px;
        height: 380px;
    }

    div.ugc-container div {
        gap: 6px;
    }

    div.ugc-container div div {
        gap: 0;
    }

    .ugc-1,
    .ugc-2,
    .ugc-3,
    .ugc-4,
    .ugc-5,
    .ugc-6,
    .ugc-7,
    .ugc-8 {
        border-radius: 4px;
    }
}

@media (min-width: 768px) {
    .ugc-container {
        height: 390px;
        border-radius: 4px;
    }
}

@media (min-width: 992px) {
    .ugc-container {
        height: 350px;
        border-radius: 12px;
    }

    .ugc-1,
    .ugc-2,
    .ugc-3,
    .ugc-4,
    .ugc-5,
    .ugc-6,
    .ugc-7,
    .ugc-8 {
        height: 330px;
        border-radius: 12px;
    }
}


/* DOWNLOAD APP */
.download_app_text {
    font-size: x-small;
}

@media (min-width: 768px) {
    .download_app_text {
        font-size: smaller;
    }
}

.download-app-section {
    background-color: var(--darker);
    width: 100%;
    height: 100%;
}

.download-app-box {
    background-color: var(--white);
    border-radius: 4px;
    max-width: 1200px;
    width: 100%;
}

.app-badge {
    height: auto;
}

.android,
.apple {
    width: 120px;
}

.app-smartphone {
    width: 140px;
}

.download-app-title {
    font-size: 40px;
}

@media (min-width: 576px) {
    .download-app-section {
        height: 400px;
    }

    .app-smartphone {
        width: auto;
        height: 350px;
        position: absolute;
    }

    .app-badge {
        width: auto;
    }

    .android,
    .apple {
        height: 36px;
    }

    .download-app-title {
        font-size: xxx-large;
    }
}

@media (min-width: 768px) {

    .download-app-section {
        height: 450px;
    }

    .download-app-box {
        border-radius: 12px;
        height: 320px;
    }

    .app-smartphone {
        height: 400px;
    }

    .android,
    .apple {
        height: 40px;
    }
}

@media (min-width: 992px) {

    .download-app-section {
        height: 600px;
    }

    .app-smartphone {
        height: 550px;
    }

    .download-app-box {
        height: 400px;
    }

    .android,
    .apple {
        height: 52px;
    }
}

.ui-mobile a img {
    border-width: 20px 20px 40px 20px !important;
}

/* HIW */

section#hiw {
    background-color: var(--main);
}

/* Dreampairs banner */