.elementor-10827 .elementor-element.elementor-element-126bcea{--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;overflow:visible;}#elementor-popup-modal-10827{background-color:rgba(0,0,0,.8);justify-content:center;align-items:center;pointer-events:all;}#elementor-popup-modal-10827 .dialog-message{width:640px;height:auto;}#elementor-popup-modal-10827 .dialog-close-button{display:flex;}#elementor-popup-modal-10827 .dialog-widget-content{box-shadow:2px 8px 23px 3px rgba(0,0,0,0.2);}/* Start custom CSS for html, class: .elementor-element-dbad167 *//* =====================================================
   DLVC FAMILY FAVORITES POPUP V2
   FOUNDATION
===================================================== */

:root{
    --bg:#FAF8F5;
    --bg-soft:#FFFDFC;

    --primary:#8F2047;
    --primary-light:#C93A71;

    --gold:#C8A75B;

    --text:#2F2F2F;
    --muted:#666666;

    --glass:rgba(255,255,255,.72);
    --glass-border:rgba(255,255,255,.55);

    --shadow:
        0 25px 70px rgba(0,0,0,.12);

    --radius:28px;
}

/* RESET */

*{
    margin:0;
    padding:0;
    box-sizing:border-box;
}

.dlvc-popup-overlay{

    position:fixed;
    inset:0;

    display:flex;
    justify-content:center;
    align-items:center;

    padding:10px;

    background:rgba(20,20,20,.45);

    backdrop-filter:blur(10px);

    z-index:99999;

}

/* =====================================================
POPUP
===================================================== */

.dlvc-popup{

    position:relative;

    width:min(920px,75vw);

    height:660px;

    overflow:hidden;

    border-radius:30px;

    background:
        linear-gradient(
            180deg,
            rgba(255,252,251,.96),
            rgba(250,248,245,.94)
        );

    border:1px solid rgba(255,255,255,.8);

    box-shadow:
        0 40px 80px rgba(0,0,0,.18);

}
@media (max-width:1024px){

    .dlvc-popup{

        height:auto;
        max-height:90vh;

    }

}
.nomination-box{

    margin:20px 0;

    padding:14px 18px;

    border-radius:14px;

    background:#FCF7F9;

    color:#8F2047;

    font-size:15px;

    font-weight:600;

    border-left:4px solid #C8A75B;

}
@media (max-width:767px){

    .nomination-box{
        display:none;
    }

}
/* Hide Family Favorites logo on mobile */
@media (max-width: 767px) {

    .award{
        display: none;
    }

}
/* ==========================
   VOTE NOTE
========================== */

.vote-note{

    margin-top:12px;

    text-align:center;

    font-size:13px;

    color:#666;

    line-height:1.5;

}

.vote-note strong{

    color:#8F2047;

    font-weight:700;

}
/* subtle highlight */

.dlvc-popup::before{

    content:"";

    position:absolute;

    left:-120px;
    top:-120px;

    width:420px;
    height:260px;

    background:

        radial-gradient(circle,
        rgba(255,255,255,.9),
        transparent 70%);

    filter:blur(35px);

    pointer-events:none;

}

/* =====================================================
GRID
===================================================== */

.popup-grid{

    display:grid;

    grid-template-columns:

        290px
        1fr;

    height:100%;

    position:relative;

    z-index:10;

}

.popup-left{

    display:flex;

    align-items:center;

    justify-content:center;

    padding:35px;

}

.popup-right{

    display:flex;

    flex-direction:column;

    justify-content:center;

    padding:

        45px
        55px
        45px
        10px;

    position:relative;

}
@media (max-width:767px){

    .popup-right{

        padding:15px 20px;

    }

    .popup-left{

        padding:15px 20px 0;

    }

}
.bg-gradient,
.bg-waves,
.glass-highlight,
.blob,
.dlvc-popup::before,
.dlvc-popup::after,
.popup-right::after{
    pointer-events: none;
}
/* =====================================================
BACKGROUND
===================================================== */

.bg-gradient{

    position:absolute;

    inset:0;

    background:

        radial-gradient(
            circle at 100% 0%,
            rgba(201,58,113,.10),
            transparent 35%
        ),

        radial-gradient(
            circle at 0% 100%,
            rgba(201,58,113,.06),
            transparent 40%
        );

}
.vote-btn{

    margin-bottom:0;

}

.vote-note{

    margin-bottom:0;

}

.later{

    margin-bottom:0;

}
/* =====================================================
SVG WAVES
===================================================== */

.bg-waves{

    position:absolute;

    right:-150px;

    bottom:-110px;

    width:700px;

    height:350px;

    opacity:.18;

}

.bg-waves path{

    fill:none;

    stroke:#D78AA8;

    stroke-width:2;

    stroke-linecap:round;

}

/* =====================================================
RIGHT SIDE CURVED LINES
===================================================== */

.popup-right::after{

    content:"";

    position:absolute;

    right:-150px;

    bottom:-120px;

    width:500px;

    height:500px;

    border-radius:50%;

    background:

        repeating-radial-gradient(

            circle at center,

            transparent 0,

            transparent 24px,

            rgba(214,126,160,.10) 26px,

            transparent 28px

        );

    opacity:.55;

    transform:rotate(-12deg);

}

/* =====================================================
LOGO
===================================================== */

.logo{

    width:500px;

    margin-bottom:30px;

}

/* =====================================================
HEADINGS
===================================================== */

.popup-right h1{

    font-size:42px;

    color:var(--primary);

    line-height:1.1;

    margin-bottom:8px;

    font-weight:700;

}

.popup-right h2{

    font-size:24px;

    color:#444;

    font-weight:500;

    margin-bottom:20px;

}

.description{

    max-width:480px;

    color:#555;

    font-size:18px;

    line-height:1.7;

}
/* ==========================================================
   DOCTOR GLASS CARD
========================================================== */

.doctor-card{

    position:relative;

    width:240px;
    height:330px;

    border-radius:24px;

    overflow:hidden;

    background:
        linear-gradient(
            160deg,
            rgba(255,255,255,.45),
            rgba(255,255,255,.18)
        );

    backdrop-filter:blur(22px) saturate(180%);
    -webkit-backdrop-filter:blur(22px) saturate(180%);

    border:1px solid rgba(255,255,255,.7);

    box-shadow:
        0 30px 70px rgba(0,0,0,.12);

    animation:doctorFloat 6s ease-in-out infinite;

}

/* glossy reflection */

.glass-highlight{

    position:absolute;

    top:-80px;
    left:-100px;

    width:180px;
    height:420px;

    background:
        linear-gradient(
            90deg,
            rgba(255,255,255,0),
            rgba(255,255,255,.55),
            rgba(255,255,255,0)
        );

    transform:rotate(22deg);

    animation:shine 8s linear infinite;

    z-index:3;

}

.doctor-card img{

    width:100%;
    height:100%;

    object-fit:cover;

    display:block;

}

/* bottom glass strip */

.doctor-overlay{

    background:
        linear-gradient(
            to top,
            rgba(20,20,20,.65),
            rgba(20,20,20,.10)
        );

}

.doctor-overlay h3{

    color:#fff;

    font-size:20px;

    font-weight:700;

    margin-bottom:4px;

    text-shadow:
        0 2px 10px rgba(0,0,0,.30);

}

.doctor-overlay p{

    color:#fff;

    opacity:.95;

    font-size:14px;

}
@media (max-width:767px){

    .doctor-card img{

        width:100%;
        height:auto;

    }

}

@media (max-width:767px){

    .popup-right h1{

        font-size:32px;

        margin-bottom:4px;

    }

    .popup-right h2{

        font-size:20px;

        margin-bottom:12px;

    }

}
@media (max-width:767px){

    .description{

        margin:8px 0 15px;

        font-size:143px;

        line-height:1.5;

    }

}
/* ==========================================================
   BOTTOM ROW
========================================================== */

.bottom-row{

    display:flex;

    align-items:center;

    justify-content:space-between;

    margin-top:28px;

}

/* ==========================================================
   BADGE
========================================================== */

.award{

    width:120px;

    filter:
        drop-shadow(0 10px 25px rgba(0,0,0,.12));

    animation:badgeFloat 5s ease-in-out infinite;

}

/* ==========================================================
   CTA
========================================================== */

.cta-area{

    display:flex;

    flex-direction:column;

    align-items:center;

}

.vote-btn{

    position:relative;

    display:flex;

    align-items:center;

    justify-content:center;

    gap:14px;

    min-width:320px;

    padding:18px 34px;

    border-radius:16px;

    overflow:hidden;

    text-decoration:none;

    color:#ffff !important;

    font-weight:700;

    font-size:19px;

    background:
        linear-gradient(
            135deg,
            #8F2047,
            #C93A71
        );

    box-shadow:
        0 18px 40px rgba(143,32,71,.28);

    transition:.35s;

}

.vote-btn:hover{

    transform:
        translateY(-5px);

    box-shadow:
        0 25px 55px rgba(143,32,71,.35);

}


.vote-btn span:first-child{

    font-size:22px;

}

.vote-btn span:last-child{

    font-size:22px;

    transition:.3s;

}

.vote-btn:hover span:last-child{

    transform:translateX(6px);
  

}

/* shine */

.vote-btn::before{

    content:"";

    position:absolute;

    top:0;
    left:-150%;

    width:80px;
    height:100%;

    background:
        linear-gradient(
            90deg,
            transparent,
            rgba(255,255,255,.45),
            transparent
        );

    transform:skewX(-25deg);

    animation:buttonShine 5s infinite;

}

/* ==========================================================
   MAYBE LATER
========================================================== */

.later{

    margin-top:14px;

    border:none;

    background:none;

    cursor:pointer;

    color:#8F2047;

    font-size:15px;

    transition:.25s;

}

.later:hover{

    opacity:.65;

}

/* ==========================================================
   CLOSE BUTTON
========================================================== */

.popup-close{

    position:absolute;

    top:18px;

    right:18px;

    width:42px;
    height:42px;

    border:none;

    border-radius:50%;

    background:
        rgba(255,255,255,.75);

    backdrop-filter:blur(20px);

    border:1px solid rgba(255,255,255,.7);

    cursor:pointer;

    font-size:18px;

    color:#666;

    box-shadow:
        0 10px 25px rgba(0,0,0,.10);

    transition:.3s;

    z-index:100;

}

.popup-close:hover{

    background:#8F2047;

    color:#fff;

    transform:
        rotate(90deg)
        scale(1.08);

}
/* Desktop */

.desktop-description{
    display:block;
}

.mobile-description{
    display:none;
}

/* Mobile */

@media (max-width:767px){

    .desktop-description{
        display:none;
    }

    .mobile-description{
        display:block;
        font-size:16px;
        line-height:1.5;
        color:#555;
        text-align:center;
    }

}
/* ==========================================================
   ANIMATIONS
========================================================== */

@keyframes doctorFloat{

    0%,10%{

        transform:translateY(0);

    }

    50%{

        transform:translateY(-10px);

    }

}

@keyframes badgeFloat{

    0%,100%{

        transform:translateY(0) rotate(-2deg);

    }

    50%{

        transform:translateY(-6px) rotate(2deg);

    }

}



@keyframes buttonShine{

    0%{

        left:-150%;

    }

    15%{

        left:150%;

    }

    100%{

        left:150%;

    }

}
/* =====================================================
RESPONSIVE
===================================================== */

@media (max-width:1024px){

.dlvc-popup{

    width:95vw;

    height:50vh;

    max-height:90vh;

}

.popup-grid{

    grid-template-columns:260px 1fr;

}

.popup-right{

    padding:35px;

}

.popup-right h1{

    font-size:36px;

}

.popup-right h2{

    font-size:20px;

}

.vote-btn{

    min-width:280px;

}

}

@media (max-width:768px){

.dlvc-popup{

    width:94vw;

    height:1000vh;

    overflow-y: auto;

}

.popup-grid{

    grid-template-columns:1fr;

}

.popup-left{

    padding:25px 25px 10px;

}

.popup-right{

    padding:20px 25px 35px;

    text-align:center;

}

.logo{

    margin:0 auto 20px;

}

.doctor-card{

    margin:auto;

    width:230px;

    height:310px;

}

.bottom-row{

    flex-direction:column;

    gap:25px;

}

.vote-btn{

    width:100%;

    min-width:unset;

}

.award{

    width:110px;

}

.popup-right h1{

    font-size:32px;

}

.popup-right h2{

    font-size:20px;

}

.description{

    max-width:100%;

}

}

@media (max-width:480px){

.dlvc-popup{

    border-radius:22px;

}

.popup-right{

    padding:18px;

}

.popup-right h1{

    font-size:28px;

}

.popup-right h2{

    font-size:18px;

}

.description{

    font-size:15px;

}

.doctor-card{

    width:200px;

    height:275px;

}

.vote-btn{

    font-size:17px;

    padding:16px 18px;

}

.vote-btn span:first-child{

    font-size:18px;

}

.vote-btn span:last-child{

    font-size:18px;

}

.popup-close{

    width:38px;

    height:38px;

}

}

/* =====================================================
ENTRANCE ANIMATION
===================================================== */

.dlvc-popup{

    animation:popupEntrance .55s cubic-bezier(.22,1,.36,1);

}

@keyframes popupEntrance{

0%{

    opacity:0;

    transform:
    translateY(20px)
    scale(.94);

}

100%{

    opacity:1;

    transform:
    translateY(0)
    scale(1);

}

}

/* =====================================================
HOVER EFFECTS
===================================================== */

.doctor-card:hover{

    transform:
        translateY(-6px)
        rotate(-1deg);

    transition:.35s;

}

.award:hover{

    transform:
        scale(1.05);

    transition:.35s;

}

.logo{

    transition:.35s;

}

.logo:hover{

    transform:scale(1.02);

}

/* =====================================================
SMOOTH TRANSITIONS
===================================================== */

.doctor-card,
.vote-btn,
.award,
.popup-close{

    transition:all .35s ease;

}/* End custom CSS */