.dm-public-poll {
    width: min(760px,100%);
    margin: 26px auto;
    border: 1px solid #e3e6ea;
    border-radius: 17px;
    overflow: hidden;
    background: #fff;
    box-shadow: 0 14px 40px rgba(20,25,35,.07);
}

.dm-public-poll-head {
    padding: 20px 22px;
    background: linear-gradient(135deg,#16191e,#292e37);
    color: #fff;
}

.dm-public-poll-kicker {
    margin-bottom: 7px;
    color: #ff434b;
    font-size: 11px;
    font-weight: 900;
    letter-spacing: .08em;
    text-transform: uppercase;
}

.dm-public-poll-head h2 {
    margin: 0;
    color: #fff;
    font-size: 22px;
    line-height: 1.25;
}

.dm-public-poll-description {
    margin: 8px 0 0;
    color: rgba(255,255,255,.74);
    font-size: 13px;
    line-height: 1.55;
}

.dm-public-poll-body {
    padding: 20px 22px 22px;
}

.dm-public-poll-question {
    margin: 0 0 16px;
    color: #171b21;
    font-size: 16px;
    font-weight: 800;
    line-height: 1.45;
}

.dm-public-poll-options {
    display: grid;
    gap: 10px;
}

.dm-public-poll-option {
    position: relative;
    display: grid;
    grid-template-columns: auto minmax(0,1fr);
    align-items: center;
    gap: 12px;
    min-height: 58px;
    padding: 10px 13px;
    border: 1px solid #dde1e6;
    border-radius: 11px;
    background: #fff;
    cursor: pointer;
}

.dm-public-poll-option:hover {
    border-color: #c5cad1;
    background: #fafbfc;
}

.dm-public-poll-option input {
    width: 17px;
    height: 17px;
    accent-color: #e11f29;
}

.dm-public-poll-option-image {
    width: 45px;
    height: 45px;
    border-radius: 50%;
    object-fit: cover;
    background: #eceff2;
}

.dm-public-poll-option-content {
    min-width: 0;
    display: flex;
    align-items: center;
    gap: 11px;
}

.dm-public-poll-option-copy strong {
    display: block;
    color: #1e232a;
    font-size: 13px;
}

.dm-public-poll-option-copy small {
    display: block;
    margin-top: 3px;
    color: #7a828c;
    font-size: 11px;
}

.dm-public-poll-submit {
    width: 100%;
    min-height: 47px;
    margin-top: 16px;
    border: 0;
    border-radius: 9px;
    background: #e11f29;
    color: #fff;
    font-size: 13px;
    font-weight: 900;
}

.dm-public-poll-submit:disabled {
    opacity: .6;
    cursor: wait;
}

.dm-public-poll-message {
    min-height: 19px;
    margin-top: 10px;
    color: #646d78;
    font-size: 11px;
    text-align: center;
}

.dm-poll-results {
    display: grid;
    gap: 13px;
}

.dm-poll-result-row {
    display: grid;
    gap: 7px;
}

.dm-poll-result-label {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 20px;
    color: #252b33;
    font-size: 12px;
    font-weight: 800;
}

.dm-poll-result-track {
    height: 10px;
    overflow: hidden;
    border-radius: 999px;
    background: #edf0f3;
}

.dm-poll-result-fill {
    height: 100%;
    border-radius: inherit;
    background: #e11f29;
}

.dm-poll-result-total {
    margin-top: 15px;
    color: #737b86;
    font-size: 11px;
    text-align: center;
}

.dm-poll-view-results {
    display: inline-flex;
    margin-top: 14px;
    color: #d51e27;
    font-size: 12px;
    font-weight: 900;
    text-decoration: none;
}

.dm-polls-page {
    width: min(1100px,calc(100% - 30px));
    margin: 40px auto 80px;
}

.dm-polls-page-head {
    margin-bottom: 28px;
}

.dm-polls-page-head h1 {
    margin: 0;
    font-size: clamp(28px,4vw,44px);
}

.dm-polls-page-head p {
    max-width: 700px;
    margin: 9px 0 0;
    color: #6d7580;
    line-height: 1.6;
}

.dm-polls-page-grid {
    display: grid;
    grid-template-columns: repeat(2,minmax(0,1fr));
    gap: 20px;
}

.dm-polls-page-grid .dm-public-poll {
    width: 100%;
    margin: 0;
}

@media (max-width: 760px) {
    .dm-polls-page-grid {
        grid-template-columns: 1fr;
    }

    .dm-public-poll {
        border-radius: 13px;
    }

    .dm-public-poll-head,
    .dm-public-poll-body {
        padding-left: 16px;
        padding-right: 16px;
    }
}


/* ==========================================================
   DALLAS HOMEPAGE — FLOATING PEOPLE'S VOICE POLL
   ========================================================== */

.home-hero-full {
    position: relative;
}


/*
The host itself floats over the hero.
It does not change the normal hero content structure.
*/

.dm-home-poll-float {
    position: absolute;

    right:
        clamp(
            18px,
            4vw,
            64px
        );

    bottom:
        clamp(
            22px,
            5vh,
            58px
        );

    z-index: 35;

    width:
        min(
            390px,
            calc(100% - 36px)
        );

    pointer-events: none;
}


/*
Enable interaction only on the actual poll.
*/

.dm-home-poll-float
.dm-public-polls-slot {
    width: 100%;
    pointer-events: auto;
}


.dm-home-poll-float
.dm-public-poll {
    width: 100%;
    margin: 0;

    overflow: hidden;

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

    border-radius:
        16px;

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

    box-shadow:
        0 18px 52px
        rgba(
            0,
            0,
            0,
            .30
        );

    backdrop-filter:
        blur(14px);

    -webkit-backdrop-filter:
        blur(14px);

    animation:
        dmPollHeroFloat
        5.5s
        ease-in-out
        infinite;
}


/*
Small controlled floating movement.
The poll remains easy to click.
*/

@keyframes dmPollHeroFloat {

    0%,
    100% {
        transform:
            translate3d(
                0,
                0,
                0
            );
    }

    50% {
        transform:
            translate3d(
                -10px,
                -4px,
                0
            );
    }
}


/*
Compact header while displayed over hero.
*/

.dm-home-poll-float
.dm-public-poll-head {
    padding:
        15px
        17px
        13px;

    background:
        linear-gradient(
            135deg,
            rgba(
                16,
                18,
                22,
                .98
            ),
            rgba(
                36,
                40,
                47,
                .98
            )
        );
}


.dm-home-poll-float
.dm-public-poll-kicker {
    margin-bottom: 5px;

    font-size:
        9px;

    letter-spacing:
        .09em;
}


.dm-home-poll-float
.dm-public-poll-head h2 {
    font-size:
        17px;

    line-height:
        1.25;
}


.dm-home-poll-float
.dm-public-poll-description {
    display: none;
}


/*
Compact poll content.
*/

.dm-home-poll-float
.dm-public-poll-body {
    padding:
        14px
        16px
        15px;
}


.dm-home-poll-float
.dm-public-poll-question {
    margin-bottom:
        11px;

    font-size:
        13px;

    line-height:
        1.4;
}


.dm-home-poll-float
.dm-public-poll-options {
    gap:
        7px;
}


.dm-home-poll-float
.dm-public-poll-option {
    min-height:
        45px;

    padding:
        7px
        10px;

    border-radius:
        9px;
}


.dm-home-poll-float
.dm-public-poll-option-image {
    width:
        35px;

    height:
        35px;
}


.dm-home-poll-float
.dm-public-poll-option-copy strong {
    font-size:
        11px;
}


.dm-home-poll-float
.dm-public-poll-option-copy small {
    font-size:
        9px;
}


.dm-home-poll-float
.dm-public-poll-submit {
    min-height:
        40px;

    margin-top:
        11px;

    font-size:
        11px;
}


.dm-home-poll-float
.dm-public-poll-message {
    margin-top:
        7px;

    font-size:
        9px;
}


.dm-home-poll-float
.dm-poll-view-results {
    margin-top:
        9px;

    font-size:
        10px;
}


/*
Results remain compact when poll is closed
or immediately shown after voting.
*/

.dm-home-poll-float
.dm-poll-results {
    gap:
        8px;
}


.dm-home-poll-float
.dm-poll-result-track {
    height:
        7px;
}


.dm-home-poll-float
.dm-poll-result-label {
    font-size:
        10px;
}


/* ==========================================================
   MOBILE HERO POLL
   ========================================================== */

@media (max-width: 760px) {

    .dm-home-poll-float {
        right:
            12px;

        left:
            12px;

        bottom:
            18px;

        width:
            auto;

        max-width:
            none;
    }


    .dm-home-poll-float
    .dm-public-poll {
        border-radius:
            13px;

        animation:
            none;
    }


    .dm-home-poll-float
    .dm-public-poll-head {
        padding:
            12px
            14px;
    }


    .dm-home-poll-float
    .dm-public-poll-head h2 {
        font-size:
            15px;
    }


    .dm-home-poll-float
    .dm-public-poll-body {
        padding:
            11px
            13px
            12px;
    }


    .dm-home-poll-float
    .dm-public-poll-question {
        font-size:
            12px;
    }


    .dm-home-poll-float
    .dm-public-poll-option {
        min-height:
            41px;
    }
}


/*
Honor reduced-motion preference.
*/

@media (prefers-reduced-motion: reduce) {

    .dm-home-poll-float
    .dm-public-poll {
        animation:
            none;
    }
}


/* ==========================================================
   DALLAS PEOPLE'S VOICE RESULTS V2
   ========================================================== */

.dm-polls-results-body {
    background:
        #f6f7f8;
}


.dm-results-page {
    min-height:
        700px;

    padding:
        0 0 40px;

    background:
        linear-gradient(
            180deg,
            #ffffff 0,
            #f8f9fa 210px,
            #f5f6f7 100%
        );
}


.dm-results-shell {
    width:
        min(
            1440px,
            calc(100% - 48px)
        );

    margin:
        0 auto;
}


.dm-results-breadcrumb {
    display:
        flex;

    align-items:
        center;

    flex-wrap:
        wrap;

    gap:
        9px;

    min-height:
        48px;

    color:
        #6e747c;

    font-size:
        11px;
}


.dm-results-breadcrumb a {
    color:
        inherit;

    text-decoration:
        none;
}


.dm-results-breadcrumb strong {
    color:
        #df1720;
}


.dm-results-heading {
    position:
        relative;

    display:
        flex;

    align-items:
        center;

    justify-content:
        space-between;

    gap:
        30px;

    min-height:
        142px;

    padding:
        11px 26px 20px;

    overflow:
        hidden;

    background:
        radial-gradient(
            circle at 78% 35%,
            rgba(220, 0, 0, .07),
            transparent 22%
        ),
        radial-gradient(
            circle at 68% 58%,
            rgba(0, 0, 0, .035) 1px,
            transparent 1px
        );

    background-size:
        auto,
        8px 8px;
}


.dm-results-heading-copy {
    position:
        relative;

    z-index:
        2;
}


.dm-results-eyebrow {
    margin-bottom:
        4px;

    color:
        #df1720;

    font-size:
        10px;

    font-weight:
        900;

    letter-spacing:
        .11em;
}


.dm-results-heading h1 {
    margin:
        0;

    color:
        #17202a;

    font-size:
        clamp(
            30px,
            3.5vw,
            48px
        );

    line-height:
        1.05;

    letter-spacing:
        -.03em;
}


.dm-results-heading h2 {
    margin:
        10px 0 0;

    color:
        #202a35;

    font-size:
        clamp(
            18px,
            2vw,
            25px
        );

    line-height:
        1.2;
}


.dm-results-heading p {
    margin:
        6px 0 0;

    color:
        #535c66;

    font-size:
        15px;
}


.dm-results-heading-line {
    display:
        block;

    width:
        48px;

    height:
        3px;

    margin-top:
        12px;

    border-radius:
        99px;

    background:
        #e41922;
}


.dm-results-news-mark {
    position:
        relative;

    z-index:
        2;

    display:
        flex;

    align-items:
        center;

    gap:
        13px;

    padding:
        16px 20px;

    border:
        1px solid
        rgba(
            205,
            210,
            215,
            .7
        );

    border-radius:
        14px;

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

    box-shadow:
        0 9px 28px
        rgba(
            28,
            34,
            40,
            .08
        );
}


.dm-results-globe {
    display:
        grid;

    place-items:
        center;

    width:
        50px;

    height:
        50px;

    border-radius:
        50%;

    background:
        radial-gradient(
            circle at 35% 30%,
            #ef4d53,
            #a90008
        );

    color:
        white;

    font-size:
        32px;
}


.dm-results-news-mark strong {
    display:
        block;

    padding:
        2px 9px;

    background:
        #e21b23;

    color:
        #fff;

    font-size:
        24px;

    line-height:
        1;
}


.dm-results-news-mark small {
    display:
        block;

    margin-top:
        4px;

    color:
        #30363d;

    font-size:
        7px;

    font-weight:
        800;

    letter-spacing:
        .08em;
}


.dm-results-loading,
.dm-results-not-available {
    display:
        grid;

    place-items:
        center;

    min-height:
        350px;

    padding:
        40px;

    text-align:
        center;

    color:
        #69717b;
}


.dm-results-not-available h2 {
    margin:
        0 0 8px;

    color:
        #171c22;
}


.dm-results-kpis {
    display:
        grid;

    grid-template-columns:
        repeat(
            4,
            minmax(
                0,
                1fr
            )
        );

    margin-top:
        7px;

    overflow:
        hidden;

    border:
        1px solid
        #dfe3e6;

    border-bottom:
        2px solid
        #168c4c;

    border-radius:
        12px;

    background:
        #fff;

    box-shadow:
        0 4px 13px
        rgba(
            23,
            30,
            36,
            .08
        );
}


.dm-results-kpi {
    display:
        flex;

    align-items:
        center;

    gap:
        15px;

    min-width:
        0;

    min-height:
        92px;

    padding:
        17px 22px;

    border-right:
        1px solid
        #e5e7e9;
}


.dm-results-kpi:last-child {
    border-right:
        0;
}


.dm-kpi-icon {
    display:
        grid;

    place-items:
        center;

    flex:
        0 0
        42px;

    width:
        42px;

    height:
        42px;

    border-radius:
        50%;

    color:
        white;

    font-size:
        19px;

    font-weight:
        900;
}


.dm-kpi-icon.green {
    background:
        #078e48;
}


.dm-kpi-icon.red {
    background:
        #ec151e;
}


.dm-kpi-icon.dark {
    background:
        #17191c;
}


.dm-results-kpi div {
    min-width:
        0;
}


.dm-results-kpi small {
    display:
        block;

    color:
        #323840;

    font-size:
        10px;

    font-weight:
        800;
}


.dm-results-kpi strong {
    display:
        block;

    margin-top:
        2px;

    overflow:
        hidden;

    color:
        #14191e;

    font-size:
        20px;

    line-height:
        1.15;

    text-overflow:
        ellipsis;

    white-space:
        nowrap;
}


.dm-results-kpi span:not(.dm-kpi-icon) {
    display:
        block;

    margin-top:
        5px;

    color:
        #767d84;

    font-size:
        9px;
}


.dm-results-kpi .dm-kpi-status.live {
    color:
        #078c46;
}


.dm-results-kpi .dm-kpi-status.closed {
    color:
        #d81c24;
}


.dm-results-kpi .dm-kpi-time {
    font-size:
        13px;
}


.dm-results-main-grid {
    display:
        grid;

    grid-template-columns:
        minmax(
            0,
            1.42fr
        )
        minmax(
            0,
            1.12fr
        )
        minmax(
            260px,
            .63fr
        );

    gap:
        14px;

    margin-top:
        13px;
}


.dm-results-panel,
.dm-results-detail-panel {
    border:
        1px solid
        #dfe2e5;

    border-radius:
        11px;

    background:
        #fff;

    box-shadow:
        0 4px 13px
        rgba(
            20,
            28,
            36,
            .045
        );
}


.dm-results-panel {
    padding:
        15px 16px;
}


.dm-results-panel-title {
    display:
        flex;

    align-items:
        center;

    justify-content:
        space-between;

    gap:
        15px;

    min-height:
        26px;

    margin-bottom:
        12px;
}


.dm-results-panel-title h3 {
    margin:
        0;

    color:
        #161b20;

    font-size:
        14px;
}


.dm-results-panel-title > strong {
    color:
        #df1720;

    font-size:
        10px;
}


.dm-result-candidates {
    display:
        grid;

    gap:
        5px;
}


.dm-result-candidate {
    display:
        grid;

    grid-template-columns:
        28px
        44px
        minmax(
            125px,
            .9fr
        )
        minmax(
            130px,
            1.3fr
        )
        65px;

    align-items:
        center;

    gap:
        9px;

    min-height:
        52px;
}


.dm-result-rank {
    display:
        grid;

    place-items:
        center;

    width:
        25px;

    height:
        25px;

    border-radius:
        50%;

    background:
        var(
            --rank-color
        );

    color:
        #fff;

    font-size:
        11px;

    font-weight:
        900;
}


.dm-results-avatar {
    width:
        40px;

    height:
        40px;

    border:
        2px solid
        #d9dde1;

    border-radius:
        50%;

    object-fit:
        cover;

    background:
        #eef0f2;
}


.dm-results-avatar-fallback {
    display:
        grid;

    place-items:
        center;

    color:
        #555d66;

    font-size:
        11px;

    font-weight:
        900;
}


.dm-result-person {
    min-width:
        0;
}


.dm-result-person strong {
    display:
        block;

    overflow:
        hidden;

    color:
        #181d22;

    font-size:
        11px;

    text-overflow:
        ellipsis;

    white-space:
        nowrap;
}


.dm-result-person span {
    display:
        block;

    margin-top:
        3px;

    overflow:
        hidden;

    color:
        #6b737b;

    font-size:
        8px;

    text-overflow:
        ellipsis;

    white-space:
        nowrap;
}


.dm-result-progress-track {
    width:
        100%;

    height:
        8px;

    overflow:
        hidden;

    border-radius:
        999px;

    background:
        #e7e9eb;
}


.dm-result-progress-track span {
    display:
        block;

    height:
        100%;

    border-radius:
        inherit;

    background:
        var(
            --bar-color
        );
}


.dm-result-score {
    text-align:
        right;
}


.dm-result-score strong {
    display:
        block;

    color:
        #161b20;

    font-size:
        12px;
}


.dm-result-score span {
    display:
        block;

    margin-top:
        2px;

    color:
        #656d75;

    font-size:
        9px;
}


.dm-result-panel-foot {
    display:
        flex;

    justify-content:
        space-between;

    gap:
        15px;

    margin-top:
        10px;

    padding-top:
        10px;

    border-top:
        1px solid
        #e5e7e9;

    color:
        #686f77;

    font-size:
        9px;
}


.dm-result-chart-layout {
    display:
        grid;

    grid-template-columns:
        minmax(
            190px,
            .9fr
        )
        minmax(
            130px,
            .7fr
        );

    align-items:
        center;

    gap:
        20px;

    min-height:
        250px;
}


.dm-result-donut {
    display:
        grid;

    place-items:
        center;

    width:
        min(
            225px,
            100%
        );

    aspect-ratio:
        1;

    margin:
        auto;

    border-radius:
        50%;

    background:
        var(
            --poll-chart
        );

    box-shadow:
        inset
        0 0 0
        1px
        rgba(
            255,
            255,
            255,
            .7
        );
}


.dm-result-donut-hole {
    display:
        grid;

    place-items:
        center;

    width:
        48%;

    aspect-ratio:
        1;

    border-radius:
        50%;

    background:
        #fff;

    box-shadow:
        0 0 0
        1px
        rgba(
            0,
            0,
            0,
            .04
        );
}


.dm-result-donut-hole strong {
    color:
        #151a20;

    font-size:
        23px;
}


.dm-result-donut-hole span {
    margin-top:
        -22px;

    color:
        #626a72;

    font-size:
        10px;
}


.dm-result-legend {
    display:
        grid;

    gap:
        4px;
}


.dm-result-legend-row {
    display:
        grid;

    grid-template-columns:
        10px
        minmax(
            0,
            1fr
        )
        auto;

    align-items:
        center;

    gap:
        8px;

    min-height:
        37px;

    padding:
        0 2px;

    border-bottom:
        1px solid
        #eceeef;

    font-size:
        9px;
}


.dm-result-legend-dot {
    width:
        8px;

    height:
        8px;

    border-radius:
        50%;

    background:
        var(
            --legend-color
        );
}


.dm-result-legend-name {
    overflow:
        hidden;

    text-overflow:
        ellipsis;

    white-space:
        nowrap;
}


.dm-result-rounding-note {
    padding-top:
        8px;

    border-top:
        1px solid
        #eceeef;

    color:
        #737b83;

    font-size:
        8px;
}


.dm-results-glance {
    padding:
        14px;
}


.dm-glance-item {
    display:
        grid;

    grid-template-columns:
        35px
        minmax(
            0,
            1fr
        );

    gap:
        10px;

    padding:
        11px 0;

    border-bottom:
        1px solid
        #e8eaec;
}


.dm-glance-icon {
    display:
        grid;

    place-items:
        center;

    width:
        31px;

    height:
        31px;

    border:
        1px solid
        currentColor;

    border-radius:
        50%;

    font-size:
        14px;
}


.dm-glance-item.green {
    color:
        #078b47;
}


.dm-glance-item.red {
    color:
        #e31b23;
}


.dm-glance-item.dark {
    color:
        #16191c;
}


.dm-glance-item.neutral {
    color:
        #747b82;
}


.dm-glance-item div {
    color:
        #272d33;
}


.dm-glance-item strong {
    font-size:
        10px;
}


.dm-glance-item p {
    margin:
        3px 0 0;

    color:
        #545c64;

    font-size:
        8px;

    line-height:
        1.45;
}


.dm-glance-disclaimer {
    display:
        flex;

    gap:
        9px;

    margin-top:
        12px;

    padding:
        10px;

    border:
        1px solid
        #cce5d7;

    border-radius:
        6px;

    background:
        #edf8f1;

    color:
        #1f6440;
}


.dm-glance-disclaimer p {
    margin:
        0;

    font-size:
        8px;

    line-height:
        1.45;
}


.dm-results-detail-panel {
    margin-top:
        13px;

    padding:
        16px 18px;
}


.dm-results-detail-head {
    display:
        flex;

    justify-content:
        space-between;

    align-items:
        center;

    gap:
        20px;
}


.dm-results-detail-head h3 {
    margin:
        0;

    font-size:
        14px;
}


.dm-results-detail-head p {
    margin:
        4px 0 0;

    color:
        #737a82;

    font-size:
        9px;
}


.dm-results-data-badge {
    padding:
        6px 9px;

    border-radius:
        999px;

    background:
        #edf8f1;

    color:
        #078b47;

    font-size:
        8px;

    font-weight:
        900;

    letter-spacing:
        .06em;
}


.dm-results-participation-grid {
    display:
        grid;

    grid-template-columns:
        repeat(
            4,
            minmax(
                0,
                1fr
            )
        );

    gap:
        1px;

    margin-top:
        14px;

    overflow:
        hidden;

    border:
        1px solid
        #e2e5e8;

    border-radius:
        8px;

    background:
        #e2e5e8;
}


.dm-results-participation-grid article {
    padding:
        12px 14px;

    background:
        #fff;
}


.dm-results-participation-grid span {
    display:
        block;

    color:
        #747b83;

    font-size:
        8px;

    text-transform:
        uppercase;

    letter-spacing:
        .06em;
}


.dm-results-participation-grid strong {
    display:
        block;

    margin-top:
        4px;

    color:
        #1d2329;

    font-size:
        11px;

    text-transform:
        capitalize;
}


.dm-results-region-unavailable {
    display:
        flex;

    align-items:
        center;

    gap:
        15px;

    margin-top:
        15px;

    padding:
        13px 15px;

    border:
        1px dashed
        #d4d9de;

    border-radius:
        8px;

    background:
        #fafbfb;
}


.dm-results-region-icon {
    display:
        grid;

    place-items:
        center;

    flex:
        0 0
        38px;

    width:
        38px;

    height:
        38px;

    border-radius:
        50%;

    background:
        #eef0f2;

    color:
        #4f5760;

    font-size:
        20px;
}


.dm-results-region-unavailable strong {
    color:
        #23292f;

    font-size:
        10px;
}


.dm-results-region-unavailable p {
    margin:
        3px 0 0;

    color:
        #6b737b;

    font-size:
        9px;

    line-height:
        1.5;
}


.dm-results-actions {
    display:
        flex;

    align-items:
        center;

    justify-content:
        center;

    gap:
        12px;

    padding:
        13px 0 0;
}


.dm-result-action {
    display:
        inline-flex;

    align-items:
        center;

    justify-content:
        center;

    min-width:
        190px;

    min-height:
        41px;

    padding:
        0 20px;

    border:
        1px solid
        #cfd4d8;

    border-radius:
        5px;

    background:
        #fff;

    color:
        #353b42;

    text-decoration:
        none;

    font-size:
        10px;

    font-weight:
        800;

    cursor:
        pointer;
}


.dm-result-action.primary {
    border-color:
        #e21a22;

    background:
        #e21a22;

    color:
        #fff;

    box-shadow:
        0 5px 12px
        rgba(
            226,
            26,
            34,
            .18
        );
}


@media (
    max-width:
    1100px
) {

    .dm-results-kpis {
        grid-template-columns:
            repeat(
                2,
                minmax(
                    0,
                    1fr
                )
            );
    }


    .dm-results-kpi:nth-child(2) {
        border-right:
            0;
    }


    .dm-results-main-grid {
        grid-template-columns:
            1fr
            1fr;
    }


    .dm-results-glance {
        grid-column:
            1 / -1;
    }

}


@media (
    max-width:
    760px
) {

    .dm-results-shell {
        width:
            calc(
                100%
                - 22px
            );
    }


    .dm-results-heading {
        min-height:
            auto;

        padding:
            18px 4px 22px;
    }


    .dm-results-news-mark {
        display:
            none;
    }


    .dm-results-heading h1 {
        font-size:
            29px;
    }


    .dm-results-heading h2 {
        font-size:
            18px;
    }


    .dm-results-kpis {
        grid-template-columns:
            1fr;
    }


    .dm-results-kpi {
        min-height:
            78px;

        border-right:
            0;

        border-bottom:
            1px solid
            #e5e7e9;
    }


    .dm-results-main-grid {
        grid-template-columns:
            1fr;
    }


    .dm-results-glance {
        grid-column:
            auto;
    }


    .dm-result-candidate {
        grid-template-columns:
            27px
            40px
            minmax(
                0,
                1fr
            )
            55px;
    }


    .dm-result-progress {
        grid-column:
            3 / 5;

        grid-row:
            2;

        padding-bottom:
            5px;
    }


    .dm-result-chart-layout {
        grid-template-columns:
            1fr;
    }


    .dm-result-donut {
        width:
            min(
                230px,
                78vw
            );
    }


    .dm-results-participation-grid {
        grid-template-columns:
            repeat(
                2,
                minmax(
                    0,
                    1fr
                )
            );
    }


    .dm-results-actions {
        flex-direction:
            column;
    }


    .dm-result-action {
        width:
            100%;
    }


    .dm-result-panel-foot {
        flex-direction:
            column;
    }

}


/* ==========================================================
   DALLAS PREMIUM HOMEPAGE POLL V3
   LEFT SIDE + ATTENTION HAND
   ========================================================== */


/*
Move poll to LEFT.
This overrides the previous right-side implementation.
*/

.dm-home-poll-float {
    position:
        absolute !important;

    left:
        clamp(
            34px,
            7vw,
            150px
        ) !important;

    right:
        auto !important;

    top:
        50% !important;

    bottom:
        auto !important;

    z-index:
        45 !important;

    width:
        min(
            515px,
            38vw
        ) !important;

    transform:
        translateY(
            -50%
        );

    pointer-events:
        none;
}


/*
Important attention aura.
*/

.dm-home-poll-float::before {
    content:
        "";

    position:
        absolute;

    inset:
        -18px;

    z-index:
        -1;

    border-radius:
        28px;

    background:
        radial-gradient(
            ellipse at center,
            rgba(
                237,
                26,
                35,
                .17
            ) 0%,
            rgba(
                237,
                26,
                35,
                .04
            ) 48%,
            transparent
            72%
        );

    animation:
        dmPollAttentionGlow
        2.8s
        ease-in-out
        infinite;
}


@keyframes dmPollAttentionGlow {

    0%,
    100% {
        opacity:
            .52;

        transform:
            scale(
                .97
            );
    }

    50% {
        opacity:
            1;

        transform:
            scale(
                1.035
            );
    }
}


/* ==========================================================
   ANIMATED POINTING HAND
   No generated image: Unicode hand glyph.
   ========================================================== */

.dm-home-poll-float::after {
    content:
        "👈";

    position:
        absolute;

    top:
        37%;

    left:
        calc(
            100%
            + 28px
        );

    z-index:
        60;

    display:
        block;

    font-size:
        clamp(
            72px,
            8vw,
            135px
        );

    line-height:
        1;

    filter:
        drop-shadow(
            0 10px 10px
            rgba(
                0,
                0,
                0,
                .28
            )
        );

    transform-origin:
        left center;

    animation:
        dmPollPointingHand
        1.35s
        cubic-bezier(
            .42,
            0,
            .3,
            1
        )
        infinite;
}


@keyframes dmPollPointingHand {

    0%,
    100% {
        transform:
            translateX(
                26px
            )
            rotate(
                -3deg
            )
            scale(
                1
            );
    }

    45% {
        transform:
            translateX(
                0
            )
            rotate(
                2deg
            )
            scale(
                1.06
            );
    }

    65% {
        transform:
            translateX(
                8px
            )
            rotate(
                0deg
            )
            scale(
                1.02
            );
    }
}


/* ==========================================================
   MAIN FEATURED CARD
   ========================================================== */

.dm-home-poll-float
.dm-hero-featured-poll {
    width:
        100% !important;

    margin:
        0 !important;

    overflow:
        hidden;

    border:
        1px solid
        rgba(
            215,
            219,
            224,
            .95
        ) !important;

    border-radius:
        20px !important;

    background:
        rgba(
            255,
            255,
            255,
            .985
        ) !important;

    box-shadow:
        0 20px 55px
        rgba(
            0,
            0,
            0,
            .28
        ),
        0 2px 0
        rgba(
            255,
            255,
            255,
            .75
        )
        inset !important;

    backdrop-filter:
        blur(
            16px
        );

    -webkit-backdrop-filter:
        blur(
            16px
        );

    animation:
        none !important;

    pointer-events:
        auto;
}


/* ==========================================================
   HEADER
   ========================================================== */

.dm-hero-poll-top {
    display:
        flex;

    align-items:
        center;

    justify-content:
        space-between;

    gap:
        16px;

    padding:
        17px
        18px
        8px;
}


.dm-hero-poll-brand {
    display:
        flex;

    align-items:
        center;

    gap:
        12px;
}


.dm-hero-poll-brand-icon {
    display:
        grid;

    place-items:
        center;

    flex:
        0 0
        44px;

    width:
        44px;

    height:
        44px;

    border-radius:
        50%;

    background:
        linear-gradient(
            145deg,
            #ff2b33,
            #dc0e18
        );

    color:
        white;

    font-size:
        19px;

    box-shadow:
        0 6px 13px
        rgba(
            234,
            22,
            31,
            .28
        );
}


.dm-hero-poll-brand strong {
    display:
        block;

    color:
        #181d23;

    font-size:
        15px;

    line-height:
        1;

    letter-spacing:
        .01em;
}


.dm-hero-poll-tricolor {
    display:
        flex;

    width:
        210px;

    max-width:
        100%;

    height:
        4px;

    margin-top:
        10px;
}


.dm-hero-poll-tricolor i {
    display:
        block;

    flex:
        1;
}


.dm-hero-poll-tricolor i:nth-child(1) {
    background:
        #111;
}


.dm-hero-poll-tricolor i:nth-child(2) {
    background:
        #ed1c24;
}


.dm-hero-poll-tricolor i:nth-child(3) {
    background:
        #078b45;
}


.dm-hero-live-pill {
    display:
        inline-flex;

    align-items:
        center;

    gap:
        6px;

    flex:
        0 0 auto;

    min-height:
        34px;

    padding:
        0 11px;

    border:
        1px solid
        #ee1c25;

    border-radius:
        7px;

    background:
        #fff;

    color:
        #e51a23;

    font-size:
        10px;

    font-weight:
        900;
}


.dm-hero-live-pill i {
    width:
        8px;

    height:
        8px;

    border-radius:
        50%;

    background:
        currentColor;

    animation:
        dmPollLivePulse
        1.2s
        ease-in-out
        infinite;
}


.dm-hero-live-pill.is-closed {
    border-color:
        #747b82;

    color:
        #747b82;
}


@keyframes dmPollLivePulse {

    0%,
    100% {
        opacity:
            1;

        box-shadow:
            0 0 0
            0
            rgba(
                230,
                25,
                35,
                .28
            );
    }

    50% {
        opacity:
            .65;

        box-shadow:
            0 0 0
            6px
            rgba(
                230,
                25,
                35,
                0
            );
    }
}


/* ==========================================================
   QUESTION
   ========================================================== */

.dm-hero-poll-content {
    padding:
        6px
        18px
        12px;
}


.dm-hero-poll-content > h2 {
    margin:
        7px
        0
        4px;

    color:
        #161b20;

    font-size:
        clamp(
            17px,
            1.5vw,
            22px
        );

    line-height:
        1.24;

    text-align:
        center;
}


.dm-hero-poll-instruction {
    margin:
        0
        0
        10px;

    color:
        #69717a;

    font-size:
        12px;

    text-align:
        center;
}


/* ==========================================================
   CANDIDATES
   ========================================================== */

.dm-hero-poll-choices {
    display:
        grid;

    gap:
        7px;
}


.dm-hero-poll-choice {
    position:
        relative;

    display:
        flex;

    align-items:
        center;

    justify-content:
        space-between;

    gap:
        12px;

    min-height:
        57px;

    padding:
        7px
        13px
        7px
        9px;

    border:
        1px solid
        #d9dde2;

    border-radius:
        11px;

    background:
        linear-gradient(
            180deg,
            #ffffff,
            #fbfbfc
        );

    cursor:
        pointer;

    transition:
        transform
        .16s
        ease,
        border-color
        .16s
        ease,
        box-shadow
        .16s
        ease,
        background
        .16s
        ease;
}


.dm-hero-poll-choice:hover {
    z-index:
        2;

    transform:
        translateX(
            3px
        );

    border-color:
        #ed1c24;

    background:
        #fff;

    box-shadow:
        0 6px 18px
        rgba(
            26,
            31,
            38,
            .09
        );
}


.dm-hero-poll-person {
    display:
        flex;

    align-items:
        center;

    min-width:
        0;

    gap:
        11px;
}


.dm-hero-poll-avatar {
    flex:
        0 0
        45px;

    width:
        45px;

    height:
        45px;

    border:
        2px solid
        #dee2e6;

    border-radius:
        50%;

    object-fit:
        cover;

    object-position:
        center;

    background:
        #f0f2f4;
}


.dm-hero-poll-choice:nth-child(1)
.dm-hero-poll-avatar {
    border-color:
        #ed1c24;
}


.dm-hero-poll-choice:nth-child(2)
.dm-hero-poll-avatar {
    border-color:
        #078b45;
}


.dm-hero-poll-choice:nth-child(3)
.dm-hero-poll-avatar {
    border-color:
        #25282c;
}


.dm-hero-poll-copy {
    min-width:
        0;
}


.dm-hero-poll-copy strong {
    display:
        block;

    overflow:
        hidden;

    color:
        #20252b;

    font-size:
        12px;

    line-height:
        1.2;

    text-overflow:
        ellipsis;

    white-space:
        nowrap;
}


.dm-hero-poll-copy small {
    display:
        block;

    margin-top:
        3px;

    overflow:
        hidden;

    color:
        #757c84;

    font-size:
        9px;

    text-overflow:
        ellipsis;

    white-space:
        nowrap;
}


.dm-hero-poll-choice
input {
    position:
        absolute;

    opacity:
        0;

    pointer-events:
        none;
}


.dm-hero-poll-radio {
    position:
        relative;

    flex:
        0 0
        22px;

    width:
        22px;

    height:
        22px;

    border:
        2px solid
        #ed1c24;

    border-radius:
        50%;

    background:
        #fff;
}


.dm-hero-poll-choice
input:checked
+
.dm-hero-poll-radio::after {
    content:
        "";

    position:
        absolute;

    inset:
        4px;

    border-radius:
        50%;

    background:
        #ed1c24;

    box-shadow:
        0 0 0
        3px
        rgba(
            237,
            28,
            36,
            .12
        );
}


.dm-hero-poll-choice:has(
    input:checked
) {
    border-color:
        #ed1c24;

    background:
        #fff8f8;

    box-shadow:
        0 4px 13px
        rgba(
            237,
            28,
            36,
            .1
        );
}


/* ==========================================================
   ACTIONS
   ========================================================== */

.dm-hero-poll-actions {
    display:
        grid;

    grid-template-columns:
        1fr
        1fr;

    gap:
        12px;

    margin-top:
        12px;
}


.dm-hero-vote-btn,
.dm-hero-results-btn {
    min-height:
        44px;

    display:
        inline-flex;

    align-items:
        center;

    justify-content:
        center;

    gap:
        7px;

    border-radius:
        10px;

    font-size:
        11px;

    font-weight:
        900;

    text-decoration:
        none;

    cursor:
        pointer;
}


.dm-hero-vote-btn {
    border:
        1px solid
        #ed1c24;

    background:
        linear-gradient(
            135deg,
            #ff242d,
            #e2141c
        );

    color:
        #fff;

    box-shadow:
        0 8px 18px
        rgba(
            233,
            20,
            29,
            .23
        );
}


.dm-hero-vote-btn:hover {
    transform:
        translateY(
            -1px
        );
}


.dm-hero-results-btn {
    border:
        2px solid
        #078b45;

    background:
        #fff;

    color:
        #20252b;
}


.dm-hero-results-btn:hover {
    background:
        #f1faf5;
}


.dm-hero-results-full {
    width:
        100%;

    margin-top:
        10px;
}


.dm-hero-poll-security {
    display:
        flex;

    align-items:
        center;

    justify-content:
        center;

    gap:
        6px;

    min-height:
        29px;

    color:
        #666e77;

    font-size:
        9px;
}


.dm-hero-poll-message {
    min-height:
        0 !important;

    margin:
        0 !important;

    color:
        #df1821 !important;

    font-size:
        9px !important;

    font-weight:
        700;

    text-align:
        center;
}


/* ==========================================================
   FOOTER STRIP
   ========================================================== */

.dm-hero-poll-footer {
    display:
        flex;

    align-items:
        center;

    gap:
        8px;

    min-height:
        38px;

    padding:
        0
        16px;

    border-top:
        1px solid
        #d6e9de;

    background:
        linear-gradient(
            90deg,
            #eef9f2,
            #f7fcf9
        );

    color:
        #397150;

    font-size:
        9px;
}


.dm-hero-poll-footer > strong {
    flex:
        1;

    font-weight:
        600;
}


.dm-hero-poll-dots {
    display:
        flex;

    align-items:
        center;

    gap:
        5px;
}


.dm-hero-poll-dots i {
    display:
        block;

    width:
        8px;

    height:
        8px;

    border-radius:
        50%;
}


.dm-hero-poll-dots i:nth-child(1) {
    background:
        #111;
}


.dm-hero-poll-dots i:nth-child(2) {
    background:
        #ed1c24;
}


.dm-hero-poll-dots i:nth-child(3) {
    background:
        #078b45;
}


/* ==========================================================
   KEEP HERO TEXT READABLE
   ========================================================== */

@media (
    min-width:
    1001px
) {

    /*
    Poll uses the left part of the hero,
    so push ordinary hero text toward the right.
    Only while a homepage poll exists.
    */

    .home-hero-full:has(
        .dm-home-poll-float
        .dm-hero-featured-poll
    )
    .home-hero-inner {
        margin-left:
            min(
                47vw,
                650px
            );

        max-width:
            560px;
    }
}


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

@media (
    min-width:
    761px
)
and
(
    max-width:
    1000px
) {

    .dm-home-poll-float {
        left:
            24px !important;

        width:
            min(
                470px,
                52vw
            ) !important;
    }


    .dm-home-poll-float::after {
        left:
            calc(
                100%
                + 10px
            );

        font-size:
            82px;
    }

}


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

@media (
    max-width:
    760px
) {

    .dm-home-poll-float {
        position:
            absolute !important;

        top:
            auto !important;

        left:
            12px !important;

        right:
            12px !important;

        bottom:
            14px !important;

        width:
            auto !important;

        transform:
            none !important;
    }


    .dm-home-poll-float::after {
        display:
            none;
    }


    .dm-home-poll-float::before {
        inset:
            -8px;
    }


    .dm-hero-poll-top {
        padding:
            11px
            12px
            5px;
    }


    .dm-hero-poll-brand-icon {
        width:
            36px;

        height:
            36px;

        flex-basis:
            36px;

        font-size:
            15px;
    }


    .dm-hero-poll-brand strong {
        font-size:
            12px;
    }


    .dm-hero-poll-tricolor {
        width:
            150px;
    }


    .dm-hero-live-pill {
        min-height:
            28px;

        padding:
            0
            8px;

        font-size:
            8px;
    }


    .dm-hero-poll-content {
        padding:
            4px
            11px
            8px;
    }


    .dm-hero-poll-content > h2 {
        font-size:
            15px;
    }


    .dm-hero-poll-instruction {
        margin-bottom:
            7px;

        font-size:
            10px;
    }


    .dm-hero-poll-choices {
        gap:
            5px;
    }


    .dm-hero-poll-choice {
        min-height:
            48px;

        padding:
            5px
            9px;
    }


    .dm-hero-poll-avatar {
        width:
            37px;

        height:
            37px;

        flex-basis:
            37px;
    }


    .dm-hero-poll-copy strong {
        font-size:
            10px;
    }


    .dm-hero-poll-copy small {
        font-size:
            8px;
    }


    .dm-hero-poll-radio {
        width:
            19px;

        height:
            19px;

        flex-basis:
            19px;
    }


    .dm-hero-poll-actions {
        gap:
            7px;

        margin-top:
            8px;
    }


    .dm-hero-vote-btn,
    .dm-hero-results-btn {
        min-height:
            37px;

        border-radius:
            8px;

        font-size:
            9px;
    }


    .dm-hero-poll-security {
        display:
            none;
    }


    .dm-hero-poll-footer {
        min-height:
            31px;

        padding:
            0
            11px;

        font-size:
            8px;
    }

}


/* ==========================================================
   REDUCED MOTION
   ========================================================== */

@media (
    prefers-reduced-motion:
    reduce
) {

    .dm-home-poll-float::after,
    .dm-home-poll-float::before,
    .dm-hero-live-pill i {
        animation:
            none !important;
    }

}


/* ==========================================================
   DALLAS POLL POINTER V4
   PURE HTML/CSS ILLUSTRATED HAND
   NO EMOJI
   NO GENERATED IMAGE
   ========================================================== */


/*
Disable the old emoji completely.
*/

.dm-home-poll-float::after {
    content:
        none !important;

    display:
        none !important;

    animation:
        none !important;
}


/*
Allow our hand to extend outside the poll card.
*/

.dm-home-poll-float,
.dm-home-poll-float
.dm-public-polls-slot {
    overflow:
        visible !important;
}


.dm-home-poll-float
.dm-public-polls-slot {
    position:
        relative;
}


/* ==========================================================
   COMPLETE HAND
   ========================================================== */

.dm-poll-pointer-hand {
    position:
        absolute;

    z-index:
        70;

    top:
        30%;

    left:
        calc(
            100%
            + 42px
        );

    width:
        350px;

    height:
        190px;

    pointer-events:
        none;

    filter:
        drop-shadow(
            0 14px 11px
            rgba(
                0,
                0,
                0,
                .27
            )
        );

    transform-origin:
        left center;

    animation:
        dmIllustratedHandPoint
        1.6s
        cubic-bezier(
            .4,
            0,
            .25,
            1
        )
        infinite;
}


/* ==========================================================
   INDEX FINGER
   Points LEFT at poll.
   ========================================================== */

.dm-hand-index {
    position:
        absolute;

    z-index:
        7;

    top:
        62px;

    left:
        -86px;

    width:
        205px;

    height:
        57px;

    border:
        5px solid
        #5a2d1c;

    border-right:
        0;

    border-radius:
        31px
        5px
        7px
        31px;

    background:
        linear-gradient(
            180deg,
            #ffc28e 0%,
            #f5a66e 55%,
            #e88d59 100%
        );

    box-shadow:
        inset
        0 8px 8px
        rgba(
            255,
            255,
            255,
            .42
        ),
        inset
        0 -7px 8px
        rgba(
            162,
            74,
            33,
            .13
        );
}


/*
Fingernail/highlight.
*/

.dm-hand-index::before {
    content:
        "";

    position:
        absolute;

    left:
        13px;

    top:
        8px;

    width:
        46px;

    height:
        20px;

    border-radius:
        50%;

    background:
        rgba(
            255,
            222,
            193,
            .76
        );

    transform:
        rotate(
            -5deg
        );
}


/*
Finger crease.
*/

.dm-hand-index::after {
    content:
        "";

    position:
        absolute;

    right:
        20px;

    bottom:
        10px;

    width:
        43px;

    height:
        8px;

    border-bottom:
        2px solid
        rgba(
            126,
            54,
            25,
            .3
        );

    border-radius:
        50%;
}


/* ==========================================================
   PALM
   ========================================================== */

.dm-hand-palm {
    position:
        absolute;

    z-index:
        6;

    top:
        39px;

    left:
        103px;

    width:
        143px;

    height:
        115px;

    border:
        5px solid
        #5a2d1c;

    border-radius:
        45%
        47%
        41%
        46%;

    background:
        radial-gradient(
            circle at 31% 22%,
            #ffd0a3 0%,
            #f8ae77 38%,
            #e9915b 78%,
            #dd7d4e 100%
        );

    transform:
        rotate(
            5deg
        );

    box-shadow:
        inset
        15px
        10px
        18px
        rgba(
            255,
            255,
            255,
            .23
        ),
        inset
        -8px
        -10px
        18px
        rgba(
            138,
            54,
            19,
            .12
        );
}


/* ==========================================================
   FOLDED FINGERS
   ========================================================== */

.dm-hand-palm::before {
    content:
        "";

    position:
        absolute;

    left:
        18px;

    bottom:
        -20px;

    width:
        93px;

    height:
        54px;

    border:
        4px solid
        #5a2d1c;

    border-radius:
        16px
        18px
        38px
        34px;

    background:
        linear-gradient(
            180deg,
            #f4a16d,
            #e28552
        );

    transform:
        rotate(
            -5deg
        );
}


.dm-hand-knuckle {
    position:
        absolute;

    z-index:
        8;

    width:
        40px;

    height:
        24px;

    border-top:
        3px solid
        rgba(
            119,
            48,
            21,
            .35
        );

    border-radius:
        50%;
}


.dm-hand-knuckle.one {
    left:
        22px;

    top:
        52px;

    transform:
        rotate(
            18deg
        );
}


.dm-hand-knuckle.two {
    left:
        54px;

    top:
        66px;

    transform:
        rotate(
            8deg
        );
}


.dm-hand-knuckle.three {
    left:
        78px;

    top:
        82px;

    transform:
        rotate(
            -7deg
        );
}


/* ==========================================================
   THUMB
   ========================================================== */

.dm-hand-thumb {
    position:
        absolute;

    z-index:
        8;

    top:
        99px;

    left:
        86px;

    width:
        101px;

    height:
        52px;

    border:
        5px solid
        #5a2d1c;

    border-radius:
        48px
        19px
        27px
        46px;

    background:
        linear-gradient(
            160deg,
            #ffc394,
            #eb925d
        );

    transform:
        rotate(
            28deg
        );

    transform-origin:
        right center;
}


/* ==========================================================
   WRIST
   ========================================================== */

.dm-hand-wrist {
    position:
        absolute;

    z-index:
        5;

    top:
        66px;

    left:
        224px;

    width:
        72px;

    height:
        91px;

    border-top:
        5px solid
        #5a2d1c;

    border-bottom:
        5px solid
        #5a2d1c;

    background:
        linear-gradient(
            180deg,
            #f6aa75,
            #e88755
        );

    transform:
        rotate(
            3deg
        );
}


/* ==========================================================
   WHITE SHIRT CUFF
   ========================================================== */

.dm-hand-cuff {
    position:
        absolute;

    z-index:
        10;

    top:
        61px;

    left:
        272px;

    width:
        54px;

    height:
        102px;

    border:
        5px solid
        #3f2d29;

    border-radius:
        8px
        15px
        14px
        8px;

    background:
        linear-gradient(
            90deg,
            #f7f7f7,
            #ffffff 48%,
            #e2e4e7
        );

    transform:
        rotate(
            4deg
        );

    box-shadow:
        inset
        -6px
        0
        9px
        rgba(
            0,
            0,
            0,
            .09
        );
}


/*
Cuff button.
*/

.dm-hand-cuff::after {
    content:
        "";

    position:
        absolute;

    right:
        8px;

    bottom:
        16px;

    width:
        8px;

    height:
        8px;

    border-radius:
        50%;

    background:
        #777;
}


/* ==========================================================
   DARK SUIT SLEEVE
   ========================================================== */

.dm-hand-sleeve {
    position:
        absolute;

    z-index:
        4;

    top:
        52px;

    left:
        316px;

    width:
        130px;

    height:
        124px;

    border:
        5px solid
        #292522;

    border-radius:
        7px
        20px
        27px
        5px;

    background:
        linear-gradient(
            145deg,
            #343434,
            #161616 62%,
            #252525
        );

    transform:
        rotate(
            4deg
        );

    box-shadow:
        inset
        15px
        0
        18px
        rgba(
            255,
            255,
            255,
            .04
        );
}


/* ==========================================================
   ATTENTION RAYS BESIDE FINGER
   ========================================================== */

.dm-hand-attention {
    position:
        absolute;

    z-index:
        12;

    top:
        21px;

    left:
        -71px;

    width:
        86px;

    height:
        75px;
}


.dm-hand-attention i {
    position:
        absolute;

    display:
        block;

    width:
        9px;

    height:
        43px;

    border:
        3px solid
        #fff;

    border-radius:
        999px;

    background:
        #f7ae39;

    box-shadow:
        0 2px 4px
        rgba(
            0,
            0,
            0,
            .14
        );
}


.dm-hand-attention i:nth-child(1) {
    left:
        46px;

    top:
        2px;

    transform:
        rotate(
            12deg
        );
}


.dm-hand-attention i:nth-child(2) {
    left:
        18px;

    top:
        18px;

    transform:
        rotate(
            -25deg
        );
}


.dm-hand-attention i:nth-child(3) {
    left:
        3px;

    top:
        52px;

    height:
        34px;

    transform:
        rotate(
            -72deg
        );
}


/* ==========================================================
   POINTING MOTION
   ========================================================== */

@keyframes dmIllustratedHandPoint {

    0%,
    100% {
        transform:
            translate3d(
                38px,
                0,
                0
            )
            rotate(
                1deg
            )
            scale(
                .98
            );
    }

    42% {
        transform:
            translate3d(
                0,
                0,
                0
            )
            rotate(
                -1deg
            )
            scale(
                1.03
            );
    }

    57% {
        transform:
            translate3d(
                8px,
                0,
                0
            )
            rotate(
                0deg
            )
            scale(
                1
            );
    }
}


/* ==========================================================
   MAKE CARD CLOSER TO REFERENCE
   ========================================================== */

.dm-home-poll-float {
    left:
        clamp(
            40px,
            7.5vw,
            150px
        ) !important;

    width:
        min(
            520px,
            39vw
        ) !important;
}


.dm-home-poll-float
.dm-hero-featured-poll {
    border-radius:
        18px !important;

    background:
        #fff !important;

    box-shadow:
        0 18px 45px
        rgba(
            0,
            0,
            0,
            .24
        ) !important;
}


/*
Stronger title.
*/

.dm-hero-poll-brand strong {
    font-size:
        17px !important;

    font-weight:
        900 !important;
}


.dm-hero-poll-content > h2 {
    margin-top:
        12px !important;

    font-size:
        clamp(
            19px,
            1.8vw,
            25px
        ) !important;

    font-weight:
        900 !important;
}


/*
Slightly larger choices like reference.
*/

.dm-hero-poll-choice {
    min-height:
        62px !important;
}


.dm-hero-poll-avatar {
    width:
        49px !important;

    height:
        49px !important;

    flex-basis:
        49px !important;
}


.dm-hero-poll-copy strong {
    font-size:
        13px !important;
}


.dm-hero-poll-copy small {
    font-size:
        10px !important;
}


/*
More prominent buttons.
*/

.dm-hero-vote-btn,
.dm-hero-results-btn {
    min-height:
        47px !important;

    font-size:
        12px !important;
}


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

@media (
    min-width:
    761px
)
and
(
    max-width:
    1100px
) {

    .dm-poll-pointer-hand {
        left:
            calc(
                100%
                + 12px
            );

        width:
            260px;

        transform:
            scale(
                .72
            );

        transform-origin:
            left center;
    }

}


/* ==========================================================
   MOBILE
   Keep hand away from small screens.
   ========================================================== */

@media (
    max-width:
    760px
) {

    .dm-poll-pointer-hand {
        display:
            none !important;
    }

}


/* ==========================================================
   ACCESSIBILITY
   ========================================================== */

@media (
    prefers-reduced-motion:
    reduce
) {

    .dm-poll-pointer-hand {
        animation:
            none !important;

        transform:
            none !important;
    }

}


/* ==========================================================
   DALLAS POINTER HAND V5
   WRIST + CUFF PROPORTION CORRECTION
   ========================================================== */


/*
The old wrist was too narrow and looked squeezed.
Make the hand flow naturally from palm -> wrist -> cuff.
*/

.dm-hand-wrist {
    top:
        58px !important;

    left:
        213px !important;

    width:
        92px !important;

    height:
        103px !important;

    border:
        5px solid
        #5a2d1c !important;

    border-left:
        0 !important;

    border-radius:
        0
        18px
        18px
        0 !important;

    background:
        linear-gradient(
            180deg,
            #f9b27e 0%,
            #f1a06a 52%,
            #e88a55 100%
        ) !important;

    transform:
        rotate(
            2deg
        ) !important;

    box-shadow:
        inset
        0 8px 10px
        rgba(
            255,
            255,
            255,
            .2
        ),
        inset
        0 -8px 10px
        rgba(
            122,
            49,
            22,
            .08
        );
}


/*
Blend palm into wrist so there is no pinched "neck".
*/

.dm-hand-palm {
    width:
        156px !important;

    border-radius:
        43%
        42%
        39%
        45% !important;
}


.dm-hand-palm::after {
    content:
        "";

    position:
        absolute;

    z-index:
        -1;

    top:
        18px;

    right:
        -40px;

    width:
        66px;

    height:
        83px;

    border-top:
        5px solid
        #5a2d1c;

    border-bottom:
        5px solid
        #5a2d1c;

    background:
        linear-gradient(
            180deg,
            #f7ae79,
            #eb925c
        );

    transform:
        rotate(
            -1deg
        );
}


/*
Wider, more natural shirt cuff.
*/

.dm-hand-cuff {
    top:
        55px !important;

    left:
        292px !important;

    width:
        62px !important;

    height:
        110px !important;

    border:
        5px solid
        #3e302b !important;

    border-radius:
        11px
        17px
        17px
        11px !important;

    background:
        linear-gradient(
            90deg,
            #e9eaec 0%,
            #ffffff 35%,
            #ffffff 68%,
            #d5d7da 100%
        ) !important;

    transform:
        rotate(
            3deg
        ) !important;
}


/*
Move the sleeve farther right and make its opening
match the new cuff.
*/

.dm-hand-sleeve {
    top:
        46px !important;

    left:
        340px !important;

    width:
        144px !important;

    height:
        132px !important;

    border-radius:
        10px
        23px
        29px
        8px !important;

    transform:
        rotate(
            3deg
        ) !important;
}


/*
Add a softer suit-to-cuff connection.
*/

.dm-hand-sleeve::before {
    content:
        "";

    position:
        absolute;

    left:
        -13px;

    top:
        13px;

    width:
        26px;

    height:
        97px;

    border-radius:
        8px;

    background:
        #202020;

    z-index:
        -1;
}


/*
Slightly rebalance the thumb because the wrist
is now fuller.
*/

.dm-hand-thumb {
    left:
        94px !important;

    width:
        106px !important;

    height:
        55px !important;
}


/*
Keep the whole hand visually centered after
widening the wrist.
*/

.dm-poll-pointer-hand {
    width:
        410px !important;

    left:
        calc(
            100%
            + 34px
        ) !important;
}


/*
On medium screens reduce hand scale slightly.
*/

@media (
    min-width:
    761px
)
and
(
    max-width:
    1100px
) {

    .dm-poll-pointer-hand {
        transform-origin:
            left center !important;
    }

}


/* ==========================================================
   DALLAS PUBLIC POLL
   COMPLETE MOBILE RESPONSIVE FIX V6
   ========================================================== */

@media (max-width: 760px) {


    /* ======================================================
       HERO MUST HAVE ROOM FOR THE POLL
       ====================================================== */

    .home-hero-full {
        position:
            relative !important;

        min-height:
            980px !important;

        height:
            auto !important;

        overflow:
            hidden !important;
    }


    /*
    Keep hero media filling background.
    */

    .home-hero-full
    .hero-slide,
    .home-hero-full
    [class*="hero-bg"],
    .home-hero-full
    [class*="hero-media"] {
        min-height:
            100% !important;
    }


    /* ======================================================
       NORMAL HERO TEXT
       ====================================================== */

    .home-hero-full
    .home-hero-inner {
        position:
            relative !important;

        z-index:
            4 !important;

        width:
            calc(
                100%
                - 28px
            ) !important;

        max-width:
            none !important;

        margin:
            0 auto !important;

        padding-top:
            28px !important;

        padding-bottom:
            510px !important;
    }


    /*
    Prevent desktop offset from surviving on phone.
    */

    .home-hero-full:has(
        .dm-home-poll-float
    )
    .home-hero-inner {
        margin-left:
            auto !important;

        margin-right:
            auto !important;
    }


    /* ======================================================
       POLL HOST
       ====================================================== */

    .dm-home-poll-float {
        position:
            absolute !important;

        left:
            14px !important;

        right:
            14px !important;

        bottom:
            18px !important;

        top:
            auto !important;

        width:
            auto !important;

        max-width:
            none !important;

        height:
            auto !important;

        transform:
            none !important;

        z-index:
            50 !important;

        pointer-events:
            none;
    }


    .dm-home-poll-float
    .dm-public-polls-slot {
        width:
            100% !important;

        max-width:
            none !important;

        overflow:
            visible !important;

        pointer-events:
            auto;
    }


    /* ======================================================
       REMOVE HAND ON PHONE
       ====================================================== */

    .dm-poll-pointer-hand,
    .dm-home-poll-float::after {
        display:
            none !important;
    }


    .dm-home-poll-float::before {
        inset:
            -6px !important;

        border-radius:
            20px !important;

        opacity:
            .5;
    }


    /* ======================================================
       MAIN CARD
       ====================================================== */

    .dm-home-poll-float
    .dm-hero-featured-poll {
        width:
            100% !important;

        max-width:
            none !important;

        min-width:
            0 !important;

        margin:
            0 !important;

        border-radius:
            17px !important;

        overflow:
            hidden !important;

        background:
            #fff !important;

        box-shadow:
            0 12px 35px
            rgba(
                0,
                0,
                0,
                .24
            ) !important;
    }


    /* ======================================================
       HEADER
       ====================================================== */

    .dm-hero-poll-top {
        display:
            flex !important;

        align-items:
            center !important;

        justify-content:
            space-between !important;

        gap:
            10px !important;

        padding:
            14px
            14px
            8px !important;
    }


    .dm-hero-poll-brand {
        min-width:
            0 !important;

        gap:
            9px !important;
    }


    .dm-hero-poll-brand-icon {
        width:
            38px !important;

        height:
            38px !important;

        flex:
            0 0
            38px !important;

        font-size:
            15px !important;
    }


    .dm-hero-poll-brand
    > div {
        min-width:
            0 !important;
    }


    .dm-hero-poll-brand strong {
        display:
            block !important;

        overflow:
            hidden;

        color:
            #171b20 !important;

        font-size:
            12px !important;

        line-height:
            1.15 !important;

        white-space:
            nowrap;

        text-overflow:
            ellipsis;
    }


    .dm-hero-poll-tricolor {
        width:
            min(
                150px,
                100%
            ) !important;

        height:
            3px !important;

        margin-top:
            7px !important;
    }


    .dm-hero-live-pill {
        flex:
            0 0
            auto !important;

        min-height:
            30px !important;

        padding:
            0
            8px !important;

        font-size:
            8px !important;

        border-radius:
            7px !important;
    }


    /* ======================================================
       QUESTION
       ====================================================== */

    .dm-hero-poll-content {
        padding:
            5px
            13px
            10px !important;
    }


    .dm-hero-poll-content
    > h2 {
        margin:
            5px
            0
            4px !important;

        font-size:
            19px !important;

        line-height:
            1.2 !important;

        text-align:
            center !important;
    }


    .dm-hero-poll-instruction {
        margin:
            0
            0
            10px !important;

        font-size:
            10px !important;

        line-height:
            1.35 !important;

        text-align:
            center !important;
    }


    /* ======================================================
       OPTIONS
       ====================================================== */

    .dm-hero-poll-choices {
        display:
            grid !important;

        grid-template-columns:
            1fr !important;

        gap:
            8px !important;

        width:
            100% !important;
    }


    .dm-hero-poll-choice {
        display:
            flex !important;

        align-items:
            center !important;

        justify-content:
            space-between !important;

        width:
            100% !important;

        min-width:
            0 !important;

        min-height:
            61px !important;

        padding:
            7px
            11px !important;

        gap:
            10px !important;

        border-radius:
            10px !important;

        transform:
            none !important;
    }


    .dm-hero-poll-choice:hover {
        transform:
            none !important;
    }


    .dm-hero-poll-person {
        flex:
            1
            1
            auto !important;

        min-width:
            0 !important;

        gap:
            10px !important;
    }


    .dm-hero-poll-avatar {
        width:
            45px !important;

        height:
            45px !important;

        flex:
            0 0
            45px !important;

        border-width:
            2px !important;
    }


    .dm-hero-poll-copy {
        flex:
            1
            1
            auto !important;

        min-width:
            0 !important;
    }


    .dm-hero-poll-copy strong {
        display:
            block !important;

        width:
            100% !important;

        max-width:
            none !important;

        overflow:
            visible !important;

        color:
            #1f242a !important;

        font-size:
            12px !important;

        font-weight:
            800 !important;

        line-height:
            1.25 !important;

        white-space:
            normal !important;

        text-overflow:
            clip !important;

        overflow-wrap:
            anywhere !important;
    }


    .dm-hero-poll-copy small {
        display:
            block !important;

        margin-top:
            3px !important;

        max-width:
            none !important;

        overflow:
            visible !important;

        color:
            #737b84 !important;

        font-size:
            9px !important;

        line-height:
            1.25 !important;

        white-space:
            normal !important;

        text-overflow:
            clip !important;

        overflow-wrap:
            anywhere !important;
    }


    .dm-hero-poll-radio {
        width:
            22px !important;

        height:
            22px !important;

        flex:
            0 0
            22px !important;
    }


    /* ======================================================
       ACTIONS
       ====================================================== */

    .dm-hero-poll-actions {
        display:
            grid !important;

        grid-template-columns:
            1fr !important;

        gap:
            8px !important;

        width:
            100% !important;

        margin-top:
            12px !important;
    }


    .dm-hero-vote-btn,
    .dm-hero-results-btn {
        width:
            100% !important;

        min-width:
            0 !important;

        min-height:
            46px !important;

        padding:
            0
            12px !important;

        border-radius:
            9px !important;

        font-size:
            11px !important;

        line-height:
            1 !important;

        white-space:
            nowrap !important;
    }


    /* ======================================================
       SECURITY / MESSAGE
       ====================================================== */

    .dm-hero-poll-security {
        display:
            flex !important;

        min-height:
            30px !important;

        margin-top:
            2px !important;

        font-size:
            9px !important;

        line-height:
            1.25 !important;

        text-align:
            center !important;
    }


    .dm-hero-poll-message {
        min-height:
            18px !important;

        padding:
            3px
            4px !important;

        font-size:
            9px !important;

        line-height:
            1.3 !important;

        overflow-wrap:
            anywhere !important;
    }


    /* ======================================================
       GREEN BOTTOM STRIP
       ====================================================== */

    .dm-hero-poll-footer {
        display:
            grid !important;

        grid-template-columns:
            auto
            minmax(
                0,
                1fr
            )
            auto !important;

        align-items:
            center !important;

        gap:
            7px !important;

        min-height:
            38px !important;

        padding:
            6px
            11px !important;

        font-size:
            8px !important;

        line-height:
            1.25 !important;
    }


    .dm-hero-poll-footer
    > strong {
        overflow-wrap:
            anywhere !important;
    }


    /* ======================================================
       RESULTS INSIDE CLOSED CARD
       ====================================================== */

    .dm-hero-poll-closed-results {
        max-height:
            300px;

        overflow-y:
            auto;

        scrollbar-width:
            none;
    }


    .dm-hero-poll-closed-results::-webkit-scrollbar {
        display:
            none;
    }


}


/* ==========================================================
   SMALL PHONE
   ========================================================== */

@media (max-width: 420px) {

    .home-hero-full {
        min-height:
            930px !important;
    }


    .home-hero-full
    .home-hero-inner {
        padding-bottom:
            485px !important;
    }


    .dm-home-poll-float {
        left:
            10px !important;

        right:
            10px !important;

        bottom:
            12px !important;
    }


    .dm-hero-poll-top {
        padding:
            12px
            11px
            7px !important;
    }


    .dm-hero-poll-content {
        padding-left:
            10px !important;

        padding-right:
            10px !important;
    }


    .dm-hero-poll-content
    > h2 {
        font-size:
            17px !important;
    }


    .dm-hero-poll-choice {
        min-height:
            57px !important;

        padding:
            6px
            9px !important;
    }


    .dm-hero-poll-avatar {
        width:
            41px !important;

        height:
            41px !important;

        flex-basis:
            41px !important;
    }


    .dm-hero-poll-copy strong {
        font-size:
            11px !important;
    }


    .dm-hero-poll-copy small {
        font-size:
            8px !important;
    }

}


/* ==========================================================
   VERY NARROW PHONE
   ========================================================== */

@media (max-width: 350px) {

    .dm-hero-poll-brand strong {
        font-size:
            10px !important;
    }


    .dm-hero-live-pill {
        padding:
            0
            6px !important;

        font-size:
            7px !important;
    }


    .dm-hero-poll-avatar {
        width:
            38px !important;

        height:
            38px !important;

        flex-basis:
            38px !important;
    }


    .dm-hero-poll-radio {
        width:
            19px !important;

        height:
            19px !important;

        flex-basis:
            19px !important;
    }

}
