.elementor-2530 .elementor-element.elementor-element-8e9842e{--display:flex;--flex-direction:column;--container-widget-width:100%;--container-widget-height:initial;--container-widget-flex-grow:0;--container-widget-align-self:initial;--flex-wrap-mobile:wrap;--margin-top:0px;--margin-bottom:0px;--margin-left:0px;--margin-right:0px;--padding-top:0px;--padding-bottom:0px;--padding-left:0px;--padding-right:0px;}.elementor-2530 .elementor-element.elementor-element-d084b69{--display:flex;--margin-top:0px;--margin-bottom:0px;--margin-left:0px;--margin-right:0px;--padding-top:0px;--padding-bottom:0px;--padding-left:0px;--padding-right:0px;}.elementor-2530 .elementor-element.elementor-element-b0df46b{margin:0px 0px calc(var(--kit-widget-spacing, 0px) + 0px) 0px;padding:0px 0px 0px 0px;}.elementor-2530 .elementor-element.elementor-element-c4f40ae{--display:flex;--flex-direction:column;--container-widget-width:100%;--container-widget-height:initial;--container-widget-flex-grow:0;--container-widget-align-self:initial;--flex-wrap-mobile:wrap;--margin-top:0px;--margin-bottom:0px;--margin-left:0px;--margin-right:0px;--padding-top:0px;--padding-bottom:0px;--padding-left:0px;--padding-right:0px;}.elementor-2530 .elementor-element.elementor-element-c23a005{--display:flex;--margin-top:0px;--margin-bottom:0px;--margin-left:0px;--margin-right:0px;--padding-top:0px;--padding-bottom:0px;--padding-left:0px;--padding-right:0px;}.elementor-2530 .elementor-element.elementor-element-3ed3e50{--display:flex;--flex-direction:column;--container-widget-width:100%;--container-widget-height:initial;--container-widget-flex-grow:0;--container-widget-align-self:initial;--flex-wrap-mobile:wrap;--margin-top:0px;--margin-bottom:0px;--margin-left:0px;--margin-right:0px;--padding-top:0px;--padding-bottom:0px;--padding-left:0px;--padding-right:0px;}.elementor-2530 .elementor-element.elementor-element-e414e6a{--display:flex;--margin-top:0px;--margin-bottom:0px;--margin-left:0px;--margin-right:0px;--padding-top:0px;--padding-bottom:0px;--padding-left:0px;--padding-right:0px;}/* Start custom CSS for html, class: .elementor-element-b0df46b *//* =========================
CPVE HERO
========================= */

:root{

--cpve-primary:#0A2F73;
--cpve-secondary:#174AAE;
--cpve-gold:#D4A017;
--cpve-green:#22C55E;
--cpve-dark:#1F2937;
--cpve-text:#4B5563;
--cpve-bg:#F8FAFC;
--cpve-border:#E5E7EB;
--cpve-white:#FFFFFF;

}

.cpve-hero{
    position:relative;
    height:85vh;
    min-height:900px;
    overflow:hidden;
    display:flex;
    align-items:center;
    justify-content:center;

    background-image:url('https://repve.com/wp-content/uploads/2026/06/Circle-Pond-Vannamei-CPVe-tanbak-melenial.jpeg');
    background-size:cover;
    background-position:center;
    background-repeat:no-repeat;
}

.cpve-overlay{
    position:absolute;
    inset:0;
    background:rgba(10,47,115,.70);
}

.cpve-content{
    position:relative;
    z-index:2;
    max-width:900px;
    text-align:center;
    padding:0 20px;
    color:#fff;
}

/* =========================
CPVE HERO BADGE
========================= */

.cpve-hero-badge{

    display:inline-block;

    padding:10px 22px;

    border-radius:50px;

    background:rgba(255,255,255,.15);

    backdrop-filter:blur(10px);

    border:1px solid rgba(255,255,255,.25);

    font-size:13px;

    font-weight:600;

    letter-spacing:1px;

    margin-bottom:25px;

    color:#fff;

}

.cpve-subtitle{
    display:block;
    font-size:16px;
    margin-bottom:30px;
    opacity:.9;
}

.cpve-content h1{
    font-size:64px;
    line-height:1.1;
    font-weight:700;
    margin-bottom:25px;
    color:#fff;
}

.cpve-content p{
    font-size:22px;
    line-height:1.8;
    opacity:.95;
    max-width:850px;
    margin:auto;
}

.cpve-buttons{
    display:flex;
    gap:15px;
    justify-content:center;
    margin-top:40px;
    flex-wrap:wrap;
}

.cpve-btn-primary{
    background:var(--cpve-gold);
    color:#fff;
    padding:16px 32px;
    border-radius:50px;
    text-decoration:none;
    font-weight:600;
    display:inline-block;
    border:none;
}

.cpve-btn-primary:hover{
    background:#E0AE12;
    color:#fff;
}

.cpve-btn-outline{
    border:1px solid rgba(255,255,255,.4);
    padding:16px 32px;
    border-radius:50px;
    color:#fff;
    text-decoration:none;
    font-weight:600;
}

.cpve-btn-outline:hover{

    background:rgba(255,255,255,.15);

    border-color:#fff;

    color:#fff !important;

    text-decoration:none;

}

/* =========================
RESPONSIVE
========================= */

@media(max-width:768px){

    .cpve-hero{
        height:auto;
        min-height:700px;
        padding:120px 0 80px;
    }

    .cpve-content h1{
        font-size:42px;
    }

    .cpve-content p{
        font-size:18px;
        line-height:1.7;
    }

    .cpve-buttons{
        flex-direction:column;
        align-items:center;
    }

    .cpve-btn-primary,
    .cpve-btn-outline{
        width:100%;
        max-width:280px;
        text-align:center;
    }

}/* End custom CSS */
/* Start custom CSS for html, class: .elementor-element-10ecace *//* =====================================
CPVE INTRO
===================================== */

.cpve-intro{
    padding:120px 20px;
    background:#fff;
}

.cpve-wrap{
    max-width:1280px;
    margin:auto;
    display:grid;
    grid-template-columns:480px 1fr;
    gap:100px;
    align-items:start;
}

/* LEFT */

.cpve-left{
    display:flex;
    flex-direction:column;
    align-items:center;
}

.cpve-year{
    font-size:100px;
    font-weight:800;
    line-height:1;
    color:#6B3FB5;
    margin-bottom:25px;
}

.cpve-logo-circle{
    width:180px;
    height:180px;
    border-radius:50%;
    display:flex;
    align-items:center;
    justify-content:center;
    font-size:72px;
    font-weight:700;
    color:#fff;

    background:linear-gradient(
        135deg,
        #18B9F3,
        #0095D9
    );

    box-shadow:
    0 25px 60px rgba(0,149,255,.25);

    margin-bottom:40px;
}

.cpve-revitalisasi{
    background:#fff;
    padding:40px;
    border-radius:24px;
    width:100%;

    box-shadow:
    0 10px 30px rgba(0,0,0,.08);
}

.cpve-revitalisasi h3{
    font-size:34px;
    font-weight:700;
    color:#111827;
    margin-bottom:25px;
}

.cpve-revitalisasi p{
    font-size:18px;
    line-height:1.9;
    color:#374151;
    margin-bottom:18px;
}

/* RIGHT */

.cpve-right{
    padding-top:30px;
}

.cpve-badge{
    display:inline-block;
    padding:10px 24px;
    border-radius:999px;

    background:#F3E8FF;
    color:#6B3FB5;

    font-size:13px;
    font-weight:700;
    letter-spacing:1px;

    margin-bottom:25px;
}

.cpve-right h2{
    font-size:34px;
    line-height:1.15;
    font-weight:700;
    color:#6B3FB5;

    margin-bottom:30px;
}

.cpve-right p{
    font-size:22px;
    line-height:2;
    color:#6B3FB5;
}

.milestone-quote{

    position:relative;

    margin-top:55px;

    padding:60px 50px;

    background:linear-gradient(
        180deg,
        #FFFDF8,
        #FFFFFF
    );

    border:1px solid rgba(212,160,23,.25);

    border-radius:24px;

    box-shadow:
        0 20px 50px rgba(0,0,0,.06);

    overflow:hidden;

    text-align:center;

}

.milestone-quote::before{

    content:"❝";

    position:absolute;

    top:18px;
    left:28px;

    font-size:90px;

    color:rgba(212,160,23,.18);

    font-family:serif;

    line-height:1;

}

.milestone-quote::after{

    content:"❞";

    position:absolute;

    right:28px;
    bottom:0;

    font-size:90px;

    color:rgba(212,160,23,.18);

    font-family:serif;

    line-height:1;

}

.milestone-quote p{

    margin:0;

    font-size:34px;

    line-height:1.55;

    font-weight:700;

    color:#D4A017;

    max-width:680px;

    margin-inline:auto;

}

.milestone-quote .quote-line{

    width:90px;
    height:4px;

    background:#D4A017;

    border-radius:99px;

    margin:0 auto 35px;

}

.milestone-quote .quote-line.bottom{

    margin:35px auto 0;

}

/* =====================================
TABLET
===================================== */

@media(max-width:1024px){

.cpve-wrap{
    grid-template-columns:1fr;
    gap:70px;
}

.cpve-left{
    max-width:600px;
    margin:auto;
}

.cpve-right{
    padding-top:0;
    text-align:center;
}

.cpve-right h2{
    font-size:52px;
}

.cpve-quote span{
    font-size:34px;
}

}

/* =====================================
MOBILE
===================================== */

@media(max-width:767px){

.cpve-intro{
    padding:80px 20px;
}

.cpve-year{
    font-size:70px;
}

.cpve-logo-circle{
    width:170px;
    height:170px;
    font-size:52px;
}

.cpve-revitalisasi{
    padding:25px;
}

.cpve-revitalisasi h3{
    font-size:26px;
}

.cpve-revitalisasi p{
    font-size:16px;
    line-height:1.8;
}

.cpve-right h2{
    font-size:36px;
}

.cpve-right p{
    font-size:17px;
    line-height:1.8;
}

.cpve-quote{
    padding:25px;
}

.cpve-quote span{
    font-size:24px;
    line-height:1.5;
}

}/* End custom CSS */
/* Start custom CSS for html, class: .elementor-element-c790764 *//* ===================================
TIMELINE RTVE
=================================== */

.rtve-timeline{
    position:relative;
    padding:120px 20px;
    background:#F5F7FB;
    overflow:hidden;
}

.rtve-container{
    max-width:1400px;
    margin:auto;
    position:relative;
}

/* GARIS DASAR */

.timeline-line{
    position:absolute;
    left:50%;
    top:0;
    bottom:0;
    width:3px;
    background:#D8E1F2;
    transform:translateX(-50%);
    z-index:1;
}

/* GARIS AKTIF */

.timeline-progress{

    position:absolute;
    left:50%;
    top:0;
    width:4px;
    height:0;

    background:linear-gradient(
        180deg,
        #1f57c3,
        #4D8BFF
    );

    transform:translateX(-50%);
    z-index:5;

}

/* =====================================
MOVING DOT
===================================== */

.timeline-scroll-dot{

    position:absolute;

    left:50%;

    top:0;

    width:22px;

    height:22px;

    background:#1f57c3;

    border-radius:50%;

    transform:translateX(-50%);

    z-index:20;

    box-shadow:
    0 0 0 12px rgba(31,87,195,.15),
    0 0 0 24px rgba(31,87,195,.08);

    transition:top .08s linear;

}

/* ITEM */

.timeline-item{
    display:grid;
    grid-template-columns:1fr 120px 1fr;
    align-items:flex-start;
    position:relative;
    margin-bottom:140px;
}

.timeline-left{
    padding-right:40px;
}

.timeline-right{
    padding-left:40px;
}



/* CARD */

.timeline-card{
    background:#fff;
    padding:45px;
    border-radius:28px;
    box-shadow:
        0 20px 60px rgba(0,0,0,.08);

    height:100%;
    transition:.35s ease;
}

.timeline-card:hover{
    transform:translateY(-8px);
    box-shadow:
        0 30px 70px rgba(0,0,0,.12);
}

/* =========================
TITLE
========================= */

.timeline-card h2,
.timeline-card h3{

    font-size:26px;
    line-height:1.4;
    font-weight:700;
    color:var(--rv-primary);

    margin-bottom:20px;

}

/* Jika ada judul yang memakai <strong> */

.timeline-card p strong{

    color:var(--rv-primary);
    font-weight:700;

}

/* PARAGRAPH */

.timeline-card p{

    font-size:18px;
    line-height:1.9;
    color:#4B5563;

}

/* IMAGE */

.timeline-image + .timeline-image{
    margin-top:25px;
}

.timeline-image img{
    width:100%;
    border-radius:18px;
    display:block;
    object-fit:cover;
}

.rtve-caption{
    text-align:center;
    margin-top:18px;
    font-size:15px;
    color:#64748B;
    font-style:italic;
}

.timeline-video{
    margin-top:20px;
    border-radius:18px;
    overflow:hidden;
}

.timeline-video video{
    width:100%;
    display:block;
    border-radius:18px;
}

.timeline-date{

    font-size:42px;

    font-weight:800;

    line-height:1;

    color:var(--rv-primary);

    margin-bottom:22px;

}

/* =========================
TIMELINE BADGE
========================= */

.timeline-left,
.timeline-right{

    display:flex;
    flex-direction:column;

}

.timeline-badge{

    display:inline-flex;
    align-items:center;
    justify-content:center;

    width:max-content;

    padding:10px 22px;

    border-radius:999px;

    font-size:13px;
    font-weight:700;
    letter-spacing:1px;
    text-transform:uppercase;

    margin-bottom:18px;

    box-shadow:
        0 8px 20px rgba(0,0,0,.08);

    transition:.3s ease;

}

.timeline-badge:hover{

    transform:translateY(-2px);

    box-shadow:
        0 14px 30px rgba(0,0,0,.12);

}

/* Posisi badge */

.timeline-left .timeline-badge,
.timeline-right .timeline-badge{

    align-self:flex-start;

}

/* ===================================
BADGE COLORS
=================================== */

.badge-blue{

    background:#EEF4FF !important;
    color:#0A2F73 !important;

}

.badge-green{

    background:#ECFDF5 !important;
    color:#15803D !important;

}

.badge-gold{

    background:#FFF8E1 !important;
    color:#B7791F !important;

}

.badge-purple{

    background:#F3E8FF !important;
    color:#7C3AED !important;

}

.badge-red{

    background:#FEF2F2 !important;
    color:#DC2626 !important;

}

/* RESPONSIVE */

@media(max-width:991px){

    .timeline-line,
    .timeline-progress{
        left:20px;
    }

    .timeline-scroll-dot{
        left:20px;
        transform:translateX(-50%);
    }

    .timeline-item{
        grid-template-columns:50px 1fr;
        gap:20px;
    }

    .timeline-left,
    .timeline-right{
        grid-column:2;
        padding:0;
    }

}

@media(max-width:768px){

.timeline-date{
    font-size:34px;
}

.timeline-card p{
    font-size:18px;
}

}

/* =========================
SLIDE 18 - MILESTONE
========================= */

.cpve-badge{
    width:280px;
    height:280px;
    border-radius:50%;
    margin:0 auto 30px;
    background:linear-gradient(
        135deg,
        #18B9F3,
        #0095D9
    );
    color:#fff;
    display:flex;
    align-items:center;
    justify-content:center;
    font-size:72px;
    font-weight:800;
}

.milestone-year{
    font-size:72px;
    font-weight:800;
    color:#6B3FB5;
    line-height:1;
    margin-bottom:25px;
}

.milestone-card h3{
    color:#6B3FB5;
}

.milestone-quote{
    margin-top:40px;
    padding:40px;
    text-align:center;
    font-size:34px;
    line-height:1.4;
    font-weight:700;
    color:#F2B500;
    border-top:8px solid #F2B500;
    border-bottom:8px solid #F2B500;
}

.timeline-video iframe{
    width:100%;
    aspect-ratio:16/9;
    border:none;
    border-radius:16px;
    display:block;
}

/*====================================================
QUOTE CARD PREMIUM
====================================================*/

.quote-card{

    position:relative;

    background:#FFFDF8;

    border:1px solid #F2DEAA;

    border-radius:30px;

    min-height:340px;

    padding:60px;

    display:flex;

    flex-direction:column;

    align-items:center;

    justify-content:center;

    text-align:center;

    box-shadow:
        0 18px 45px rgba(18,43,90,.06);

}

.quote-line{

    width:90px;

    height:4px;

    background:#D89A06;

    border-radius:30px;

    margin:24px auto;

}

.timeline-quote{

    max-width:620px;

    font-size:40px;

    line-height:1.55;

    font-weight:700;

    color:#D89A06;

}

.quote-icon{

    position:absolute;

    color:#F6E9C5;

    font-size:62px;

    line-height:1;

    pointer-events:none;

}

.quote-top{

    top:28px;

    left:35px;

}

.quote-bottom{

    right:35px;

    bottom:28px;

}

@media(max-width:991px){

.quote-card{

    min-height:auto;

    padding:45px 30px;

}

.timeline-quote{

    font-size:28px;

}

.quote-icon{

    font-size:48px;

}

.quote-line{

    width:70px;

}

}

@media(max-width:768px){

.timeline-quote{

    font-size:22px;

    line-height:1.7;

}

.quote-card{

    padding:35px 25px;

}

.quote-icon{

    font-size:36px;

}

}

.repveplus-bubble{

    width:340px;

    height:180px;

    background:linear-gradient(135deg,#0FB4FF,#00A2E8);

    border-radius:120px;

    display:flex;

    align-items:center;

    justify-content:center;

    position:relative;

    margin-bottom:30px;

    box-shadow:0 20px 50px rgba(0,0,0,.12);

}

.repveplus-bubble span{

    font-size:68px;

    font-weight:800;

    color:#fff;

    line-height:1;

}

.repveplus-bubble:after{

content:'';

position:absolute;

right:-120px;

top:50%;

transform:translateY(-50%);

border-top:24px solid transparent;
border-bottom:24px solid transparent;

border-left:130px solid #00A2E8;

}

.repveplus-bubble{

    width:250px;

    height:135px;

    margin-bottom:24px;

}

.repveplus-bubble span{

    font-size:48px;

}

.repveplus-bubble:after{

    right:-58px;

    border-left:68px solid #00A2E8;

    border-top:16px solid transparent;

    border-bottom:16px solid transparent;

}

}/* End custom CSS */