
:root{
  --red:#ed1515; --red2:#d80909; --green:#20a34a; --ink:#111; --muted:#6f7278;
  --line:#e8e8e8; --panel:#fff; --soft:#fafafa; --radius:16px; --shadow:0 12px 34px rgba(0,0,0,.08);
}
*{box-sizing:border-box}
html{scroll-behavior:smooth}

/* Prevent grid/flex children from forcing page width */
.hero > *,
.content-grid > *,
.broadcast-grid > *,
.shows-layout > *,
.site-header > *{
    min-width:0;
} body{margin:0;background:#fff;color:var(--ink);font-family:Inter,Arial,sans-serif}
img{display:block;width:100%;object-fit:cover} a{text-decoration:none;color:inherit} button{font:inherit}
.site-header{height:108px;padding:0 30px;display:grid;grid-template-columns:230px 1fr auto;align-items:center;gap:24px;border-bottom:1px solid var(--line);position:sticky;top:0;background:rgba(255,255,255,.96);backdrop-filter:blur(14px);z-index:50}
.logo img{width:210px;height:auto}.site-header nav{display:flex;gap:22px;align-items:center;justify-content:center;white-space:nowrap}
.site-header nav a{font-size:12px;font-weight:700;text-transform:uppercase;padding:45px 0 14px;border-bottom:3px solid transparent}
.site-header nav a.active,.site-header nav a:hover{color:var(--red);border-color:var(--red)}
.header-actions{display:flex;gap:10px;align-items:center}.social{width:29px;height:29px;border-radius:50%;display:grid;place-items:center;font-size:13px;font-weight:900;background:#101010;color:#fff}.social:first-child{background:#1c61a8}.live-top{background:var(--red);color:#fff;padding:10px 14px;border-radius:6px;font-size:12px;font-weight:900}

.section{max-width:1540px;margin:auto;padding:34px 36px}.hero{display:grid;grid-template-columns:minmax(0,35fr) minmax(0,65fr);gap:40px;align-items:center;padding-top:32px}
.eyebrow{font-weight:800;font-size:14px;text-transform:uppercase;display:flex;gap:10px;align-items:center}.eyebrow:before{content:"";width:10px;height:10px;border-radius:50%;background:var(--red)}
.hero-copy h1{font-size:58px;line-height:1.08;margin:18px 0}.hero-copy h1 .accent{color:var(--red)}.hero-copy p{max-width:540px;color:#4b4d52;line-height:1.9;font-size:16px}
.hero-buttons{display:flex;gap:14px;margin:26px 0}.btn{border-radius:28px;padding:14px 24px;font-weight:800;font-size:13px;border:1px solid #d1d1d1;display:inline-flex;align-items:center;gap:10px}.btn-red{background:var(--red);color:#fff;border-color:var(--red)}.trust{font-size:13px;color:#7b7f84}.trust b{color:var(--green)}
.hero-media{height:540px;border-radius:20px;overflow:hidden;position:relative;background:#111;box-shadow:var(--shadow)}.hero-media img{height:100%}.shade{position:absolute;inset:0;background:linear-gradient(180deg,transparent 45%,rgba(0,0,0,.92) 100%)}.live-badge{position:absolute;top:24px;right:24px;background:var(--red);color:#fff;padding:10px 14px;border-radius:7px;font-weight:900;font-size:14px}.big-play{position:absolute;inset:0;margin:auto;width:104px;height:104px;border-radius:50%;border:3px solid #fff;background:rgba(0,0,0,.45);color:#fff;font-size:38px;cursor:pointer;transition:.25s}.big-play:hover{transform:scale(1.08);background:var(--red)}
.hero-meta{position:absolute;left:28px;bottom:25px;color:#fff}.hero-meta small{font-weight:900}.hero-meta h3{font-size:22px;margin:10px 0 5px}.hero-meta p{margin:0;color:#fff;font-size:13px}.signal{position:absolute;right:28px;bottom:24px;display:flex;align-items:end;gap:6px}.hd{border:2px solid #fff;color:#fff;border-radius:6px;padding:4px 7px;font-weight:900}.bars i{display:inline-block;width:6px;background:#28cc49;border-radius:2px;margin-left:3px;animation:signal 1s ease-in-out infinite alternate}.bars i:nth-child(1){height:16px}.bars i:nth-child(2){height:25px}.bars i:nth-child(3){height:34px}.bars i:nth-child(4){height:43px}@keyframes signal{to{transform:scaleY(.55)}}
.quick-strip{border:1px solid var(--line);border-radius:16px;display:grid;grid-template-columns:repeat(8,1fr);box-shadow:0 6px 20px rgba(0,0,0,.03);overflow:hidden;padding:8px 4px;margin-top:18px}.quick-item{padding:22px 8px;text-align:center;transition:.25s}.quick-item:hover{transform:translateY(-4px);background:#fafafa}.quick-item svg{width:32px;height:32px;color:#111}.quick-item:nth-child(1) svg,.quick-item:nth-child(4) svg{color:var(--red)}.quick-item b{display:block;font-size:12px;margin-top:9px}
.content-grid{display:grid;grid-template-columns:1.08fr .9fr 1fr;gap:24px}.section-title{display:flex;justify-content:space-between;align-items:center;margin:8px 0 16px}.section-title h2{font-size:15px;text-transform:uppercase;margin:0;border-left:4px solid var(--red);padding-left:9px}.section-title a{font-size:10px;text-transform:uppercase;font-weight:800}
.card{border:1px solid var(--line);border-radius:14px;overflow:hidden;background:#fff}.lead-story img{height:250px}.lead-copy{padding:18px}.lead-copy h3{font-size:20px;line-height:1.35;margin:0 0 12px}.meta{display:flex;justify-content:space-between;font-size:10px;color:#777}.meta .cat{color:var(--red);font-weight:900;text-transform:uppercase}
.story-row,.trend-row,.interview-row{display:grid;grid-template-columns:110px 1fr;gap:14px;padding:12px 0;border-bottom:1px solid #eee;align-items:center}.story-row img,.trend-row img{height:70px;border-radius:10px}.story-row h4,.trend-row h4,.interview-row h4{margin:0 0 6px;font-size:13px;line-height:1.35}.story-row small,.trend-row small,.interview-row small{font-size:10px;color:#7a7d82}
.trend-row{grid-template-columns:28px 96px 1fr}.rank{width:26px;height:26px;border-radius:50%;display:grid;place-items:center;background:var(--red);color:#fff;font-weight:900;font-size:12px}.trend-row img{height:60px}
.interview-main{position:relative;height:335px;border-radius:14px;overflow:hidden}.interview-main img{height:100%}.interview-main .shade{background:linear-gradient(180deg,transparent 45%,rgba(0,0,0,.92))}.interview-caption{position:absolute;left:18px;right:18px;bottom:18px;color:#fff}.interview-caption h3{font-size:20px;margin:10px 0 0}.tag{background:var(--red);color:#fff;border-radius:5px;padding:6px 8px;font-size:10px;font-weight:900}
.interview-row{grid-template-columns:1fr 110px;background:#fafafa;border:1px solid #eee;border-radius:12px;margin-top:12px;padding:12px}.interview-row img{height:72px;border-radius:10px}
.broadcast-grid{display:grid;grid-template-columns:1.5fr .9fr .8fr;gap:22px}.broadcast-card,.schedule,.connect,.app-card{border:1px solid var(--line);border-radius:14px;padding:16px;background:#fff}.tv-stage{height:330px;position:relative;overflow:hidden;border-radius:10px;background:#050505}.tv-stage img{height:100%;filter:brightness(.45)}.onair{position:absolute;top:18px;left:18px;background:var(--red);color:#fff;padding:7px 10px;border-radius:5px;font-weight:900;font-size:11px}.tv-title{position:absolute;inset:0;display:grid;place-items:center;text-align:center;color:#fff}.tv-title strong{font-size:44px;line-height:.95}.tv-title span{color:var(--red)}.controls{height:52px;display:flex;align-items:center;gap:14px}.progress{height:4px;background:#ddd;flex:1;position:relative}.progress:before{content:"";position:absolute;left:0;top:0;bottom:0;width:63%;background:var(--red)}.live-dot{color:var(--red);font-size:10px;font-weight:900}
.schedule h3,.connect h3,.app-card h3{font-size:14px;margin:0 0 18px;text-transform:uppercase}.schedule-row{display:grid;grid-template-columns:70px 1fr auto;gap:10px;padding:14px 0;border-bottom:1px solid #eee;align-items:center;font-size:11px}.schedule-row b{font-size:11px}.schedule-row em{font-style:normal;color:var(--red);font-weight:800}.schedule-row small{color:#888}.stack{display:grid;gap:16px}.connect h4{font-size:19px;line-height:1.25;margin:0 0 15px}.subscribe{display:flex;border:1px solid #e3e3e3;border-radius:6px;overflow:hidden}.subscribe input{flex:1;border:0;padding:11px;min-width:0}.subscribe button{border:0;background:var(--red);color:#fff;font-size:10px;font-weight:900;padding:0 14px}.privacy{font-size:8px;color:#999;margin-top:10px}.phone{float:right;width:74px;height:118px;border:7px solid #111;border-radius:14px;background:#111;color:white;display:grid;place-items:center;font-weight:900}.app-card p{font-size:16px;line-height:1.3}.store-badges{display:flex;gap:8px;margin-top:18px}.store-badges span{border:1px solid #bbb;border-radius:5px;padding:7px 9px;font-size:8px;font-weight:800}
.shows-layout{display:grid;grid-template-columns:1.7fr .85fr;gap:24px}.show-track{display:grid;grid-template-columns:repeat(5,1fr);gap:12px}.show-card{border:1px solid var(--line);border-radius:12px;padding:10px;display:grid;grid-template-columns:70px 1fr;gap:10px}.show-card img{height:128px;border-radius:10px}.show-card h3{font-size:11px;margin:5px 0}.show-card p,.show-card small{font-size:8px;color:#666}.listen{display:inline-block;margin-top:9px;color:var(--red);font-weight:900;font-size:8px}.video-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:10px}.video-card{height:150px;border-radius:11px;overflow:hidden;position:relative}.video-card img{height:100%}.video-card:after{content:"";position:absolute;inset:0;background:linear-gradient(transparent 40%,rgba(0,0,0,.88))}.video-play{position:absolute;z-index:2;inset:0;margin:auto;width:44px;height:44px;border-radius:50%;background:rgba(0,0,0,.5);border:1px solid #fff;color:#fff}.video-label{position:absolute;z-index:2;left:10px;right:10px;bottom:10px;color:#fff;font-size:9px;font-weight:800}
.gallery{display:grid;grid-template-columns:repeat(6,1fr);gap:7px}.gallery img{height:145px;border-radius:10px;transition:.3s}.gallery img:hover{transform:scale(1.03)}
.stats{display:grid;grid-template-columns:repeat(4,1fr);border:1px solid var(--line);border-radius:16px;padding:22px 12px}.stat{display:flex;justify-content:center;align-items:center;gap:14px;border-right:1px solid #eee}.stat:last-child{border:0}.stat-icon{width:52px;height:52px;border-radius:50%;background:var(--red);color:white;display:grid;place-items:center}.stat-icon svg{width:28px;height:28px}.stat strong{font-size:29px}.stat small{display:block;font-size:11px}
footer{border-top:1px solid var(--line);margin-top:22px}.footer-grid{max-width:1540px;margin:auto;padding:34px 36px;display:grid;grid-template-columns:1.2fr repeat(4,1fr);gap:40px}.footer-logo{width:180px}.footer-grid h4{font-size:11px;text-transform:uppercase}.footer-grid a,.footer-grid p{display:block;font-size:10px;color:#666;line-height:2}.copyright{max-width:1540px;margin:auto;padding:0 36px 28px;display:flex;justify-content:space-between;font-size:9px;color:#888}
.reveal{opacity:0;transform:translateY(18px);transition:.65s ease}.reveal.visible{opacity:1;transform:none}.pulse{animation:pulse 2.2s infinite}@keyframes pulse{0%,100%{box-shadow:0 0 0 0 rgba(237,21,21,.25)}50%{box-shadow:0 0 0 14px rgba(237,21,21,0)}}
.player-modal{position:fixed;inset:0;background:rgba(0,0,0,.8);display:none;place-items:center;z-index:100}.player-modal.open{display:grid}.modal-video{width:min(900px,90vw);aspect-ratio:16/9;background:#111;color:#fff;border-radius:20px;display:grid;place-items:center;text-align:center;padding:40px}.modal-play{font-size:60px;color:var(--red)}.close-modal{position:absolute;right:30px;top:20px;font-size:42px;background:0;border:0;color:white}
@media(max-width:1180px){.site-header{grid-template-columns:190px 1fr auto}.site-header nav{gap:12px}.site-header nav a{font-size:10px}.logo img{width:180px}.hero-copy h1{font-size:48px}.hero-media{height:450px}.show-card{grid-template-columns:1fr}.show-card img{height:110px}}
@media(max-width:980px){.site-header{height:82px;grid-template-columns:1fr auto auto;padding:0 18px}.header-actions .social{display:none}.hero{grid-template-columns:1fr}.hero-copy{text-align:center}.hero-copy p{margin:auto}.hero-buttons{justify-content:center}.hero-media{height:430px}.quick-strip{grid-template-columns:repeat(4,1fr)}.content-grid,.broadcast-grid,.shows-layout{grid-template-columns:1fr}.show-track{grid-template-columns:repeat(2,1fr)}.gallery{grid-template-columns:repeat(3,1fr)}.footer-grid{grid-template-columns:repeat(2,1fr)}}
@media(max-width:640px){.section{padding:24px 16px}.logo img{width:160px}.live-top{font-size:10px;padding:9px}.hero-copy h1{font-size:39px}.hero-copy p{font-size:14px}.hero-media{height:320px}.big-play{width:72px;height:72px;font-size:27px}.hero-meta h3{font-size:16px}.quick-strip{grid-template-columns:repeat(2,1fr)}.content-grid{gap:28px}.lead-story img{height:210px}.broadcast-grid{gap:16px}.tv-stage{height:250px}.tv-title strong{font-size:34px}.show-track{grid-template-columns:1fr}.video-grid{grid-template-columns:1fr}.gallery{grid-template-columns:repeat(2,1fr)}.stats{grid-template-columns:1fr 1fr;gap:20px}.stat{border-right:0}.stat strong{font-size:23px}.footer-grid{grid-template-columns:1fr}.copyright{flex-direction:column;gap:10px}.hero-buttons{flex-direction:column;align-items:center}}


/* ==========================================================
   DALLAS MEDIA GROUP
   NATIVE PAGE SCROLLBAR VISUAL CLEANUP
   ========================================================== */

/*
   Keep normal page scrolling.
   Hide only the browser's visible scrollbar track.
*/

/* Firefox */
html {
    scrollbar-width: none;
}

/* Chromium / Chrome / Edge / Safari */
html::-webkit-scrollbar,
body::-webkit-scrollbar {
    width: 0;
    height: 0;
}

/*
   Safety guard only.
   The actual overflow source has already been corrected above.
*/
html,
body {
    max-width: 100%;
}

body {
    overflow-x: clip;
}


/* ==========================================================
   REAL DALLAS MEDIA GROUP BADGE
   ========================================================== */

.logo {
    display: flex;
    align-items: center;
    min-width: 0;
}

.logo img {
    width: auto;
    height: 64px;
    max-width: 210px;
    object-fit: contain;
}

.footer-logo {
    width: auto;
    height: 70px;
    max-width: 190px;
    object-fit: contain;
}

@media (max-width: 1180px) {
    .logo img {
        width: auto;
        height: 58px;
        max-width: 180px;
    }
}

@media (max-width: 640px) {
    .logo img {
        width: auto;
        height: 48px;
        max-width: 160px;
    }

    .footer-logo {
        width: auto;
        height: 58px;
        max-width: 175px;
    }
}


/* =========================================================
   DALLAS PRODUCTION LAYOUT SAFETY
   ========================================================= */

.hero > *,
.content-grid > *,
.broadcast-grid > *,
.shows-layout > *,
.site-header > * {
    min-width: 0;
}

/* Prevent page-level horizontal scrolling */
body {
    overflow-x: clip;
}

/* Hide native vertical scrollbar without disabling scrolling */

html {
    scrollbar-width: none;
}

html::-webkit-scrollbar,
body::-webkit-scrollbar {
    width: 0;
    height: 0;
}



/* =========================================================
   DALLAS HEADER NAV + BADGE TUNING V1
   ========================================================= */

/* Slightly taller, cleaner header alignment */
.site-header {
    height: 112px;
    align-items: center;
}

/* Increase actual Dallas badge/logo presence */
.logo img {
    width: auto;
    height: 76px;
    max-width: 250px;
    object-fit: contain;
}

/* Raise navigation slightly and make it more prominent */
.site-header nav {
    align-self: center;
    transform: translateY(-7px);
}

/* Larger navigation text */
.site-header nav a {
    font-size: 13px;
    font-weight: 800;
    letter-spacing: 0.01em;
    padding-top: 38px;
    padding-bottom: 13px;
}

/* Keep the active underline close to text */
.site-header nav a.active,
.site-header nav a:hover {
    border-bottom-width: 3px;
}

/* Keep right-side controls vertically aligned with raised nav */
.header-actions {
    transform: translateY(-5px);
}

/* Slightly larger social circles */
.social {
    width: 32px;
    height: 32px;
    font-size: 14px;
}

/* Slightly stronger LIVE TV button */
.live-top {
    padding: 12px 17px;
    font-size: 13px;
}


/* =========================
   MEDIUM DESKTOP
   ========================= */

@media (max-width: 1180px) {

    .logo img {
        height: 68px;
        max-width: 220px;
    }

    .site-header nav {
        transform: translateY(-5px);
    }

    .site-header nav a {
        font-size: 11px;
    }
}


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

@media (max-width: 980px) {

    .site-header {
        height: 82px;
    }

    .logo img {
        height: 58px;
        max-width: 195px;
    }

    .site-header nav {
        transform: none;
    }

    .header-actions {
        transform: none;
    }
}


@media (max-width: 640px) {

    .logo img {
        height: 52px;
        max-width: 175px;
    }
}

/* =========================================================
   DALLAS HEADER SOCIAL ICON REMOVAL V1
   ========================================================= */

.header-actions {
    gap: 0;
}

/* Give navigation more usable horizontal room */
.site-header {
    grid-template-columns: 250px minmax(0, 1fr) auto;
}

/* Slightly reduce unnecessary nav spacing */
.site-header nav {
    gap: 18px;
}

@media (max-width: 1180px) {
    .site-header {
        grid-template-columns: 220px minmax(0, 1fr) auto;
    }

    .site-header nav {
        gap: 13px;
    }
}

/* =========================================================
   DALLAS MEDIA GROUP
   HERO TYPOGRAPHY STYLE
   ========================================================= */

.hero-copy h1 {
    font-family: Inter, Arial, sans-serif;
    font-size: 64px;
    line-height: 0.98;
    font-weight: 900;
    letter-spacing: -0.045em;
    margin: 18px 0 24px;
}

/* First line: Your Voice. */
.hero-copy h1 {
    color: #ff6500;
}

/* Second line: Your Stories. */
.hero-copy h1 br:first-of-type + * {
    color: #111111;
}

/* Existing accent line: Your Media. */
.hero-copy h1 .accent {
    color: #0757b8;
    font-weight: 900;
}

/* Because the first two lines are plain text,
   use line-level spans from the template for exact control. */
.hero-title-line {
    display: block;
    font-weight: 900;
}

.hero-title-line.voice {
    color: #ff6500;
}

.hero-title-line.stories {
    color: #111111;
}

.hero-title-line.media {
    color: #0757b8;
}

@media (max-width: 1180px) {
    .hero-copy h1 {
        font-size: 54px;
    }
}

@media (max-width: 640px) {
    .hero-copy h1 {
        font-size: 42px;
        line-height: 1;
        letter-spacing: -0.035em;
    }
}


/* =========================================================
   DALLAS MEDIA GROUP
   HERO IMAGE SLIDESHOW V1
   ========================================================= */

.hero-slider {
    position: relative;
    overflow: hidden;
    padding: 0;
    background: #111;
}

/*
Remove the old video-specific visual behavior
from this particular hero component.
*/
.hero-slider .shade,
.hero-slider .live-badge,
.hero-slider .big-play,
.hero-slider .hero-meta,
.hero-slider .signal {
    display: none !important;
}


.hero-slides {
    position: absolute;
    inset: 0;
    width: 100%;
    height: 100%;
}


.hero-slide {
    position: absolute;
    inset: 0;
    margin: 0;

    opacity: 0;
    visibility: hidden;

    transform: scale(1.035);

    transition:
        opacity 1s ease,
        visibility 1s ease,
        transform 6s ease;
}


.hero-slide.active {
    opacity: 1;
    visibility: visible;
    transform: scale(1);
    z-index: 2;
}


.hero-slide img {
    width: 100%;
    height: 100%;
    object-fit: cover;
}


/* subtle lower fade for polish */
.hero-slider::after {
    content: "";
    position: absolute;
    inset: 0;

    background:
        linear-gradient(
            180deg,
            rgba(0,0,0,0) 58%,
            rgba(0,0,0,.16) 100%
        );

    pointer-events: none;
    z-index: 3;
}


/* arrows */
.hero-slider-arrow {
    position: absolute;
    top: 50%;
    z-index: 6;

    width: 46px;
    height: 46px;

    transform: translateY(-50%);

    border: 1px solid rgba(255,255,255,.65);
    border-radius: 50%;

    background: rgba(0,0,0,.28);
    backdrop-filter: blur(8px);

    color: #fff;

    font-size: 32px;
    line-height: 1;

    cursor: pointer;

    opacity: 0;

    transition:
        opacity .25s ease,
        background .25s ease,
        transform .25s ease;
}


.hero-slider:hover .hero-slider-arrow {
    opacity: 1;
}


.hero-slider-arrow:hover {
    background: rgba(0,0,0,.55);
}


.hero-slider-prev {
    left: 18px;
}


.hero-slider-next {
    right: 18px;
}


/* dots */
.hero-slider-dots {
    position: absolute;
    left: 50%;
    bottom: 18px;

    transform: translateX(-50%);

    z-index: 7;

    display: flex;
    align-items: center;
    gap: 8px;
}


.hero-slider-dot {
    width: 8px;
    height: 8px;

    padding: 0;

    border: 0;
    border-radius: 20px;

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

    cursor: pointer;

    transition:
        width .3s ease,
        background .3s ease;
}


.hero-slider-dot.active {
    width: 28px;
    background: #ffffff;
}


/* mobile */
@media (max-width: 640px) {

    .hero-slider-arrow {
        width: 38px;
        height: 38px;
        font-size: 26px;
    }

    .hero-slider-prev {
        left: 10px;
    }

    .hero-slider-next {
        right: 10px;
    }

    .hero-slider-dots {
        bottom: 12px;
    }
}


/* =========================================================
   DALLAS MEDIA GROUP
   HERO FRAME HIDE / LEFT FOCUS V1
   ========================================================= */

/*
The framed logo is inside the first hero image itself.
So instead of showing that right-side region,
focus the visible crop more to the left and zoom slightly.
*/

.hero-slider .hero-slide:nth-child(1) img {
    object-fit: cover;
    object-position: 24% center;
    transform: scale(1.18);
    transform-origin: left center;
    transition: transform 6s ease, object-position .4s ease;
}

/* active state keeps it smooth */
.hero-slider .hero-slide:nth-child(1).active img {
    transform: scale(1.14);
}

/* slightly stronger crop on medium screens */
@media (max-width: 1180px) {
    .hero-slider .hero-slide:nth-child(1) img {
        object-position: 20% center;
        transform: scale(1.20);
    }

    .hero-slider .hero-slide:nth-child(1).active img {
        transform: scale(1.16);
    }
}

/* mobile crop */
@media (max-width: 640px) {
    .hero-slider .hero-slide:nth-child(1) img {
        object-position: 18% center;
        transform: scale(1.24);
    }

    .hero-slider .hero-slide:nth-child(1).active img {
        transform: scale(1.20);
    }
}


/* =========================================================
   DALLAS MEDIA GROUP
   REAL PNG BADGE V1
   ========================================================= */

/*
Real badge is square and transparent.
Keep its full shape visible without stretching.
*/

.logo img {
    width: 78px !important;
    height: 78px !important;
    max-width: none !important;
    object-fit: contain !important;
}

.footer-logo {
    width: 92px !important;
    height: 92px !important;
    max-width: none !important;
    object-fit: contain !important;
}

@media (max-width: 1180px) {
    .logo img {
        width: 70px !important;
        height: 70px !important;
    }
}

@media (max-width: 980px) {
    .logo img {
        width: 60px !important;
        height: 60px !important;
    }
}

@media (max-width: 640px) {
    .logo img {
        width: 54px !important;
        height: 54px !important;
    }

    .footer-logo {
        width: 76px !important;
        height: 76px !important;
    }
}


/* =========================================================
   DALLAS MEDIA GROUP
   HEADER MENU BRUSH STYLE V1
   ========================================================= */

/*
   Reduce the reserved logo column.
   This moves HOME and the other menu items toward the badge.
*/
.site-header {
    grid-template-columns: 205px minmax(0, 1fr) auto !important;
    column-gap: 18px !important;
}


/*
   Align navigation from the left instead of centering it
   inside the entire middle column.
*/
.site-header nav {
    justify-content: flex-start !important;
    gap: 24px !important;
}


/*
   Brush Script MT treatment for TOP NAV ONLY.
   Windows visitors will normally use Brush Script MT.
   Other devices receive suitable script fallbacks.
*/
.site-header nav a {
    font-family:
        "Brush Script MT",
        "Segoe Script",
        "Lucida Handwriting",
        cursive !important;

    font-size: 21px !important;
    font-weight: 400 !important;

    text-transform: none !important;
    letter-spacing: 0 !important;

    line-height: 1 !important;

    padding-left: 0 !important;
    padding-right: 0 !important;
}


/* Active HOME remains red */
.site-header nav a.active {
    color: var(--red) !important;
}


/* Elegant hover behavior */
.site-header nav a {
    transition:
        color .2s ease,
        transform .2s ease;
}

.site-header nav a:hover {
    color: var(--red) !important;
    transform: translateY(-2px);
}


/* Keep underline neat with script typography */
.site-header nav a.active,
.site-header nav a:hover {
    border-bottom-width: 2px !important;
}


/* =========================================================
   LARGE / MEDIUM DESKTOP
   ========================================================= */

@media (max-width: 1300px) {

    .site-header {
        grid-template-columns: 185px minmax(0, 1fr) auto !important;
        column-gap: 13px !important;
    }

    .site-header nav {
        gap: 18px !important;
    }

    .site-header nav a {
        font-size: 19px !important;
    }
}


/* =========================================================
   SMALLER DESKTOP
   ========================================================= */

@media (max-width: 1180px) {

    .site-header {
        grid-template-columns: 165px minmax(0, 1fr) auto !important;
    }

    .site-header nav {
        gap: 13px !important;
    }

    .site-header nav a {
        font-size: 17px !important;
    }
}


/* =========================================================
   TABLET / MOBILE
   Keep the existing mobile navigation behavior.
   ========================================================= */

@media (max-width: 980px) {

    .site-header {
        grid-template-columns: 1fr auto auto !important;
    }

    .site-header nav {
        gap: 6px !important;
    }

    .site-header nav a {
        font-size: 21px !important;
        padding: 9px 0 !important;
    }
}

/* =========================================================
   DALLAS MEDIA GROUP
   TOP NAV - SEGOE PRINT
   ========================================================= */

.site-header nav a {
    font-family:
        Arial,
        "Segoe UI",
        cursive !important;

    font-size: 19px !important;
    font-weight: 600 !important;

    text-transform: none !important;
    letter-spacing: 0 !important;

    line-height: 1.05 !important;
}

@media (max-width: 1300px) {
    .site-header nav a {
        font-size: 18px !important;
    }
}

@media (max-width: 1180px) {
    .site-header nav a {
        font-size: 16px !important;
    }
}

@media (max-width: 980px) {
    .site-header nav a {
        font-size: 19px !important;
    }
}


/* =========================================================
   DALLAS MEDIA GROUP
   GLOBAL SEGoe PRINT TYPOGRAPHY V1
   ========================================================= */

/*
   Apply Arial to all visible text.
   SVG icons and image assets are unaffected.
*/

html,
body,
button,
input,
textarea,
select,
option,
a,
p,
span,
small,
strong,
b,
em,
i,
label,
h1,
h2,
h3,
h4,
h5,
h6,
nav,
header,
main,
section,
article,
aside,
footer,
div {
    font-family:
        Arial,
        "Segoe UI",
        cursive !important;
}


/* Keep form controls readable */
input,
textarea,
select,
button {
    font-family:
        Arial,
        "Segoe UI",
        cursive !important;
}


/* Preserve bold hierarchy */
h1,
h2,
h3,
h4,
h5,
h6,
strong,
b {
    font-weight: 700;
}


/* Main hero remains strong */
.hero-copy h1,
.hero-title-line {
    font-family:
        Arial,
        "Segoe UI",
        cursive !important;

    font-weight: 700 !important;
}


/* Top navigation */
.site-header nav a {
    font-family:
        Arial,
        "Segoe UI",
        cursive !important;

    font-weight: 600 !important;
}


/* Buttons */
.btn,
.live-top,
.subscribe button,
.tag,
.onair,
.live-badge {
    font-family:
        Arial,
        "Segoe UI",
        cursive !important;
}


/* Data cards */
.story-row,
.trend-row,
.interview-row,
.show-card,
.video-card,
.schedule,
.stats,
.quick-item {
    font-family:
        Arial,
        "Segoe UI",
        cursive !important;
}

/* =========================================================
   DALLAS MEDIA GROUP
   TOP LIVE TV BUTTON REMOVAL
   ========================================================= */

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

/*
Give the freed space to the navigation.
*/
.site-header {
    grid-template-columns: 205px minmax(0, 1fr) !important;
}

.site-header nav {
    padding-right: 18px;
}

@media (max-width: 1300px) {
    .site-header {
        grid-template-columns: 185px minmax(0, 1fr) !important;
    }
}

@media (max-width: 1180px) {
    .site-header {
        grid-template-columns: 165px minmax(0, 1fr) !important;
    }
}

@media (max-width: 980px) {
    .site-header {
        grid-template-columns: 1fr auto !important;
    }
}

/* =========================================================
   DALLAS MEDIA GROUP
   FOOTER TEXT SIZE + BOLD V1
   ========================================================= */

/* Footer section headings */
.footer-grid h4 {
    font-size: 15px !important;
    font-weight: 800 !important;
    line-height: 1.3 !important;
    margin-bottom: 14px !important;
}

/* Footer links and normal text */
.footer-grid a,
.footer-grid p {
    font-size: 13px !important;
    font-weight: 700 !important;
    line-height: 1.8 !important;
}

/* Brand tagline */
.footer-grid > div:first-child p {
    font-size: 13px !important;
    font-weight: 700 !important;
    line-height: 1.7 !important;
}

/* Copyright and policy links */
.copyright {
    font-size: 12px !important;
    font-weight: 700 !important;
    line-height: 1.5 !important;
}

/* Slightly larger on wide desktop */
@media (min-width: 1300px) {
    .footer-grid h4 {
        font-size: 16px !important;
    }

    .footer-grid a,
    .footer-grid p {
        font-size: 14px !important;
    }

    .copyright {
        font-size: 12px !important;
    }
}

/* =========================================================
   DALLAS MEDIA GROUP
   HERO TITLE COLORS
   ========================================================= */

.hero-title-line.voice {
    color: #111111 !important;
}

.hero-title-line.stories {
    color: #ed1515 !important;
}

.hero-title-line.media {
    color: #1a9b3f !important;
}


/* =========================================================
   DALLAS MEDIA GROUP
   REAL NEWS PAGE V1
   Existing global Arial typography is preserved.
   ========================================================= */

.news-page {
    width: 100%;
    background: #fff;
}

.news-page-head,
.news-main-layout,
.news-section,
.news-three-columns,
.news-no-results {
    width: min(1500px, calc(100% - 64px));
    margin-left: auto;
    margin-right: auto;
}


/* ---------------------------------------------------------
   Breadcrumb
   --------------------------------------------------------- */

.news-breadcrumb {
    display: flex;
    align-items: center;
    gap: 10px;

    padding-top: 30px;
    margin-bottom: 30px;

    font-size: 13px;
    font-weight: 700;

    color: #777;
}


/* ---------------------------------------------------------
   Page title
   --------------------------------------------------------- */

.news-title-row {
    display: flex;
    justify-content: space-between;
    align-items: flex-end;
    gap: 30px;
}

.news-title-row h1 {
    margin: 0;

    border-left: 5px solid var(--red);

    padding-left: 15px;

    font-size: 42px;
    line-height: 1;

    font-weight: 900;
}

.news-title-row p {
    max-width: 470px;

    margin: 18px 0 0;

    font-size: 15px;
    line-height: 1.7;

    color: #444;
}


/* ---------------------------------------------------------
   Search
   --------------------------------------------------------- */

.news-tools {
    display: flex;
    align-items: center;
    gap: 12px;
}

.news-search {
    width: 280px;
    height: 48px;

    display: flex;
    align-items: center;
    gap: 10px;

    padding: 0 14px;

    border: 1px solid #ddd;
    border-radius: 9px;

    background: #fff;
}

.news-search input {
    width: 100%;

    border: 0;
    outline: 0;

    background: transparent;

    font-size: 13px;
}

.news-filter-button {
    height: 48px;

    border: 0;
    border-radius: 8px;

    padding: 0 21px;

    background: #f2f2f2;

    cursor: pointer;

    font-weight: 800;
}


/* ---------------------------------------------------------
   Media selector
   --------------------------------------------------------- */

.news-media-filter {
    display: none;

    justify-content: flex-end;

    gap: 9px;

    margin-top: 14px;
}

.news-media-filter.open {
    display: flex;
}

.news-media-option {
    border: 1px solid #ddd;
    background: #fff;

    padding: 9px 17px;

    border-radius: 20px;

    cursor: pointer;

    font-size: 12px;
    font-weight: 800;
}

.news-media-option.active {
    background: #111;
    border-color: #111;
    color: #fff;
}


/* ---------------------------------------------------------
   Category tabs
   --------------------------------------------------------- */

.news-category-tabs {
    display: flex;
    align-items: center;

    gap: 10px;

    margin-top: 30px;
    padding-bottom: 20px;

    overflow-x: auto;
}

.news-category-tabs button {
    flex: 0 0 auto;

    border: 0;
    background: transparent;

    padding: 11px 22px;

    border-radius: 24px;

    cursor: pointer;

    font-size: 13px;
    font-weight: 800;

    text-transform: capitalize;
}

.news-category-tabs button.active {
    background: var(--red);
    color: #fff;
}


/* ---------------------------------------------------------
   Main layout
   --------------------------------------------------------- */

.news-main-layout {
    display: grid;

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

    gap: 28px;

    margin-top: 15px;
}

.news-primary {
    display: grid;

    grid-template-columns:
        minmax(0, 1.35fr)
        minmax(300px, .75fr);

    gap: 28px;
}


/* ---------------------------------------------------------
   Top story
   --------------------------------------------------------- */

.news-top-story {
    display: block;

    border-radius: 15px;

    overflow: hidden;

    background: #111;

    min-width: 0;
}

.news-top-image {
    position: relative;

    height: 590px;

    overflow: hidden;
}

.news-top-image > img {
    width: 100%;
    height: 100%;

    object-fit: cover;
}

.news-top-image::after {
    content: "";

    position: absolute;
    inset: 0;

    background:
        linear-gradient(
            180deg,
            rgba(0,0,0,.02) 22%,
            rgba(0,0,0,.9) 100%
        );
}

.news-top-badge {
    position: absolute;

    top: 20px;
    left: 20px;

    z-index: 4;

    padding: 8px 13px;

    border-radius: 7px;

    background: var(--red);
    color: #fff;

    font-size: 11px;
    font-weight: 900;
}

.news-top-badge.live {
    animation: pulse 2s infinite;
}

.news-top-overlay {
    position: absolute;

    left: 26px;
    right: 26px;
    bottom: 26px;

    z-index: 4;

    color: #fff;
}

.news-category-label {
    color: var(--red);

    font-size: 10px;
    font-weight: 900;

    text-transform: uppercase;
}

.news-top-story .news-category-label {
    color: #fff;
}

.news-top-overlay h2 {
    max-width: 700px;

    margin: 12px 0;

    font-size: 30px;
    line-height: 1.3;

    font-weight: 900;
}

.news-top-meta {
    display: flex;
    flex-wrap: wrap;

    gap: 15px;

    font-size: 11px;
}


/* ---------------------------------------------------------
   Ranked list
   --------------------------------------------------------- */

.news-ranked-list {
    min-width: 0;
}

.news-ranked-row {
    display: grid;

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

    gap: 13px;

    align-items: center;

    padding: 0 0 18px;
    margin-bottom: 18px;

    border-bottom: 1px solid #e8e8e8;
}

.news-rank {
    width: 32px;
    height: 32px;

    display: grid;
    place-items: center;

    border-radius: 50%;

    background: var(--red);
    color: #fff;

    font-weight: 900;
}

.news-ranked-row img {
    width: 130px;
    height: 92px;

    border-radius: 9px;

    object-fit: cover;
}

.news-ranked-row h3 {
    margin: 6px 0;

    font-size: 15px;
    line-height: 1.4;
}

.news-item-meta {
    display: flex;
    flex-wrap: wrap;

    gap: 12px;

    color: #777;

    font-size: 10px;
}


/* ---------------------------------------------------------
   Latest sidebar
   --------------------------------------------------------- */

.news-latest-panel {
    border: 1px solid #e4e4e4;

    border-radius: 14px;

    padding: 21px;

    align-self: start;
}

.news-latest-panel > h2,
.news-section-heading h2 {
    margin: 0;

    border-left: 4px solid var(--red);

    padding-left: 10px;

    font-size: 18px;
    font-weight: 900;

    text-transform: uppercase;
}

.news-latest-row {
    display: grid;

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

    gap: 12px;

    padding: 17px 0;

    border-bottom: 1px solid #eee;
}

.news-latest-row img {
    width: 96px;
    height: 75px;

    border-radius: 8px;

    object-fit: cover;
}

.news-latest-row h3 {
    margin: 5px 0;

    font-size: 13px;
    line-height: 1.35;
}

.news-latest-row small {
    color: #777;

    font-size: 10px;
}

.news-view-all {
    display: block;

    margin-top: 18px;

    padding: 13px;

    border-radius: 7px;

    background: #f3f3f3;

    text-align: center;

    font-size: 11px;
    font-weight: 900;
}


/* ---------------------------------------------------------
   Generic sections
   --------------------------------------------------------- */

.news-section {
    margin-top: 38px;
}

.news-section-heading {
    display: flex;
    align-items: center;
    justify-content: space-between;

    gap: 20px;

    margin-bottom: 18px;
}

.news-section-heading > a {
    font-size: 10px;
    font-weight: 900;

    text-transform: uppercase;
}


/* ---------------------------------------------------------
   Latest card grid
   --------------------------------------------------------- */

.news-card-grid {
    display: grid;

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

    gap: 20px;
}

.news-card {
    overflow: hidden;

    border: 1px solid #e6e6e6;
    border-radius: 12px;

    background: #fff;

    transition:
        transform .25s ease,
        box-shadow .25s ease;
}

.news-card:hover {
    transform: translateY(-4px);

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

.news-card > img {
    width: 100%;
    height: 170px;

    object-fit: cover;
}

.news-card-body {
    padding: 16px;
}

.news-card h3 {
    margin: 8px 0 14px;

    font-size: 15px;
    line-height: 1.45;
}


/* ---------------------------------------------------------
   Real streams
   --------------------------------------------------------- */

.news-stream-grid {
    display: grid;

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

    gap: 20px;
}

.news-stream-card {
    min-width: 0;
}

.news-stream-image {
    position: relative;

    height: 180px;

    border-radius: 12px;

    overflow: hidden;

    background: #111;
}

.news-stream-image img {
    width: 100%;
    height: 100%;

    object-fit: cover;
}

.news-live-badge,
.news-stream-badge {
    position: absolute;

    top: 12px;
    left: 12px;

    padding: 7px 10px;

    border-radius: 6px;

    background: var(--red);
    color: #fff;

    font-size: 9px;
    font-weight: 900;

    z-index: 3;
}

.news-stream-badge {
    background: rgba(0,0,0,.8);
}

.news-play {
    position: absolute;

    left: 50%;
    top: 50%;

    transform:
        translate(-50%, -50%);

    width: 50px;
    height: 50px;

    display: grid;
    place-items: center;

    border: 2px solid #fff;
    border-radius: 50%;

    background: rgba(0,0,0,.45);
    color: #fff;

    z-index: 2;
}

.news-stream-card h3 {
    margin: 11px 0 0;

    font-size: 14px;
    line-height: 1.4;
}


/* ---------------------------------------------------------
   Three columns
   --------------------------------------------------------- */

.news-three-columns {
    display: grid;

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

    gap: 34px;

    margin-top: 42px;
    margin-bottom: 50px;
}

.news-mini-row {
    display: grid;

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

    gap: 13px;

    align-items: center;

    padding: 13px 0;

    border-bottom: 1px solid #eee;
}

.news-mini-row img {
    width: 110px;
    height: 70px;

    border-radius: 8px;

    object-fit: cover;
}

.news-mini-row h3 {
    margin: 0 0 5px;

    font-size: 13px;
    line-height: 1.4;
}

.news-mini-row small {
    font-size: 9px;

    color: #777;
}


/* ---------------------------------------------------------
   Filter state
   --------------------------------------------------------- */

.news-filter-hidden {
    display: none !important;
}

.news-no-results {
    margin-top: 30px;
    margin-bottom: 50px;

    padding: 28px;

    border: 1px solid #eee;
    border-radius: 12px;

    text-align: center;

    font-weight: 800;
}


/* ---------------------------------------------------------
   Responsive
   --------------------------------------------------------- */

@media (max-width: 1200px) {

    .news-main-layout {
        grid-template-columns:
            minmax(0, 1fr)
            300px;
    }

    .news-primary {
        grid-template-columns: 1fr;
    }

    .news-card-grid,
    .news-stream-grid {
        grid-template-columns:
            repeat(2, minmax(0, 1fr));
    }
}


@media (max-width: 900px) {

    .news-page-head,
    .news-main-layout,
    .news-section,
    .news-three-columns,
    .news-no-results {
        width: min(
            100% - 30px,
            1500px
        );
    }

    .news-title-row {
        align-items: stretch;

        flex-direction: column;
    }

    .news-tools {
        width: 100%;
    }

    .news-search {
        flex: 1;
        width: auto;
    }

    .news-main-layout {
        grid-template-columns: 1fr;
    }

    .news-top-image {
        height: 470px;
    }

    .news-three-columns {
        grid-template-columns: 1fr;
    }
}


@media (max-width: 600px) {

    .news-title-row h1 {
        font-size: 34px;
    }

    .news-tools {
        flex-direction: column;
    }

    .news-search,
    .news-filter-button {
        width: 100%;
    }

    .news-media-filter {
        justify-content: flex-start;
    }

    .news-top-image {
        height: 390px;
    }

    .news-top-overlay h2 {
        font-size: 22px;
    }

    .news-ranked-row {
        grid-template-columns:
            30px
            92px
            minmax(0, 1fr);
    }

    .news-ranked-row img {
        width: 92px;
        height: 72px;
    }

    .news-card-grid,
    .news-stream-grid {
        grid-template-columns: 1fr;
    }

    .news-card > img,
    .news-stream-image {
        height: 210px;
    }
}

/* =========================================================
   DALLAS MEDIA GROUP
   NEWS FILTERS ALWAYS VISIBLE
   ========================================================= */

.news-media-filter {
    display: flex !important;
    justify-content: flex-end;
    gap: 9px;
    margin-top: 14px;
}

.news-media-filter.open {
    display: flex !important;
}


/* =========================================================
   DALLAS MEDIA GROUP
   POLITICS PAGE V1
   GLOBAL SEGoe PRINT REMAINS ACTIVE
   ========================================================= */

.politics-page {
    background: #fff;
}

.politics-head,
.politics-main-grid,
.politics-section,
.politics-no-results {
    width: min(1500px, calc(100% - 64px));
    margin-left: auto;
    margin-right: auto;
}


/* HEADER */

.politics-head {
    padding-top: 34px;
}

.politics-breadcrumb {
    display: flex;
    gap: 10px;
    align-items: center;

    margin-bottom: 28px;

    color: #777;

    font-size: 13px;
    font-weight: 700;
}

.politics-title-row {
    display: flex;

    justify-content: space-between;
    align-items: flex-end;

    gap: 30px;
}

.politics-title-row h1 {
    margin: 0;

    padding-left: 15px;

    border-left:
        5px solid var(--red);

    font-size: 42px;
    font-weight: 900;

    line-height: 1;
}

.politics-title-row p {
    max-width: 530px;

    margin: 16px 0 0;

    line-height: 1.7;

    font-size: 15px;
}


/* SEARCH */

.politics-tools {
    display: flex;

    gap: 12px;

    align-items: center;
}

.politics-search {
    width: 290px;
    height: 48px;

    display: flex;

    gap: 10px;

    align-items: center;

    padding: 0 15px;

    border:
        1px solid #ddd;

    border-radius: 9px;
}

.politics-search input {
    width: 100%;

    border: 0;
    outline: 0;

    background: transparent;
}

.politics-filter-button {
    height: 48px;

    border: 0;

    border-radius: 8px;

    padding: 0 20px;

    background: #f0f0f0;

    font-weight: 800;
}


/* MEDIA FILTER */

.politics-media-filter {
    display: flex;

    justify-content: flex-end;

    gap: 8px;

    margin-top: 15px;
}

.politics-media-filter button {
    border:
        1px solid #ddd;

    border-radius: 25px;

    background: #fff;

    padding: 9px 18px;

    cursor: pointer;

    font-weight: 800;
}

.politics-media-filter button.active {
    background: #111;
    color: #fff;

    border-color: #111;
}


/* CATEGORY TABS */

.politics-tabs {
    display: flex;

    gap: 8px;

    overflow-x: auto;

    margin-top: 26px;

    padding-bottom: 20px;
}

.politics-tabs button {
    flex: 0 0 auto;

    border: 0;

    border-radius: 24px;

    background: transparent;

    padding: 11px 20px;

    cursor: pointer;

    font-weight: 800;
}

.politics-tabs button.active {
    background: var(--red);
    color: #fff;
}


/* MAIN GRID */

.politics-main-grid {
    display: grid;

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

    gap: 28px;

    margin-top: 12px;
}

.politics-feature-area {
    display: grid;

    grid-template-columns:
        minmax(0, 1.3fr)
        minmax(320px, .72fr);

    gap: 28px;
}


/* LEAD */

.politics-lead {
    position: relative;

    height: 590px;

    border-radius: 14px;

    overflow: hidden;

    background: #111;
}

.politics-lead img {
    width: 100%;
    height: 100%;

    object-fit: cover;
}

.politics-lead-shade {
    position: absolute;

    inset: 0;

    background:
        linear-gradient(
            transparent 28%,
            rgba(0,0,0,.93)
        );
}

.politics-top-badge {
    position: absolute;

    top: 20px;
    left: 20px;

    z-index: 3;

    padding: 8px 12px;

    border-radius: 6px;

    background: var(--red);
    color: #fff;

    font-size: 10px;
    font-weight: 900;
}

.politics-lead-copy {
    position: absolute;

    left: 26px;
    right: 26px;
    bottom: 28px;

    color: #fff;

    z-index: 3;
}

.politics-category {
    color: var(--red);

    font-size: 10px;

    font-weight: 900;

    text-transform: uppercase;
}

.politics-lead-copy
.politics-category {
    color: #fff;
}

.politics-lead-copy h2 {
    margin: 10px 0;

    max-width: 720px;

    font-size: 30px;

    line-height: 1.25;

    font-weight: 900;
}

.politics-meta {
    display: flex;

    flex-wrap: wrap;

    gap: 16px;

    font-size: 10px;
}


/* RANKED */

.politics-ranked-row {
    display: grid;

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

    gap: 13px;

    align-items: center;

    padding-bottom: 16px;

    margin-bottom: 16px;

    border-bottom:
        1px solid #eee;
}

.politics-number {
    width: 32px;
    height: 32px;

    display: grid;

    place-items: center;

    border-radius: 50%;

    background: var(--red);

    color: #fff;

    font-weight: 900;
}

.politics-ranked-row img {
    width: 120px;
    height: 82px;

    object-fit: cover;

    border-radius: 9px;
}

.politics-ranked-row h3 {
    margin: 6px 0;

    font-size: 14px;

    line-height: 1.4;
}

.politics-ranked-row small {
    color: #777;

    font-size: 9px;
}


/* LATEST SIDEBAR */

.politics-latest {
    align-self: start;

    padding: 20px;

    border:
        1px solid #e6e6e6;

    border-radius: 14px;
}

.politics-latest > h2,
.politics-section-head h2 {
    margin: 0;

    padding-left: 10px;

    border-left:
        4px solid var(--red);

    font-size: 18px;

    font-weight: 900;
}

.politics-latest-row {
    display: grid;

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

    gap: 12px;

    padding: 15px 0;

    border-bottom:
        1px solid #eee;
}

.politics-latest-row img {
    width: 92px;
    height: 72px;

    object-fit: cover;

    border-radius: 8px;
}

.politics-latest-row h3 {
    margin: 4px 0;

    font-size: 12px;

    line-height: 1.4;
}

.politics-latest-row small {
    font-size: 9px;

    color: #777;
}

.politics-view-all {
    display: block;

    margin-top: 15px;

    padding: 13px;

    border-radius: 7px;

    background: #f3f3f3;

    text-align: center;

    font-size: 10px;

    font-weight: 900;
}


/* SECTIONS */

.politics-section {
    margin-top: 38px;
}

.politics-section-head {
    display: flex;

    justify-content: space-between;

    align-items: center;

    margin-bottom: 17px;
}

.politics-section-head a {
    font-size: 10px;

    font-weight: 900;
}


/* FOUR CARD GRID */

.politics-card-grid {
    display: grid;

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

    gap: 20px;
}

.politics-card {
    overflow: hidden;

    border:
        1px solid #e5e5e5;

    border-radius: 11px;

    transition:
        transform .25s ease,
        box-shadow .25s ease;
}

.politics-card:hover {
    transform:
        translateY(-4px);

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

.politics-card-image {
    position: relative;

    height: 170px;
}

.politics-card-image img {
    width: 100%;
    height: 100%;

    object-fit: cover;
}

.politics-card-body {
    padding: 15px;
}

.politics-card h3 {
    margin: 8px 0;

    font-size: 14px;

    line-height: 1.45;
}

.politics-card small {
    color: #777;

    font-size: 9px;
}


/* STREAMS */

.politics-stream-grid {
    display: grid;

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

    gap: 20px;
}

.politics-stream > div {
    position: relative;

    height: 180px;

    overflow: hidden;

    border-radius: 11px;

    background: #111;
}

.politics-stream img {
    width: 100%;
    height: 100%;

    object-fit: cover;
}

.politics-stream-play {
    position: absolute;

    left: 50%;
    top: 50%;

    transform:
        translate(-50%,-50%);

    width: 48px;
    height: 48px;

    display: grid;

    place-items: center;

    border:
        2px solid #fff;

    border-radius: 50%;

    background:
        rgba(0,0,0,.45);

    color: #fff;
}

.politics-live,
.politics-previous-live {
    position: absolute;

    top: 11px;
    left: 11px;

    padding: 6px 9px;

    border-radius: 5px;

    background: var(--red);

    color: #fff;

    font-size: 9px;

    font-weight: 900;
}

.politics-previous-live {
    background:
        rgba(0,0,0,.8);
}

.politics-stream h3 {
    margin: 10px 0;

    font-size: 13px;

    line-height: 1.4;
}


/* OPINION */

.politics-opinion-grid {
    display: grid;

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

    gap: 17px;
}

.politics-opinion-card {
    display: grid;

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

    align-items: center;

    gap: 12px;

    padding: 13px;

    border:
        1px solid #eee;

    border-radius: 10px;
}

.politics-opinion-card img {
    width: 65px;
    height: 65px;

    border-radius: 50%;

    object-fit: cover;
}

.politics-opinion-card h3 {
    margin: 0 0 5px;

    font-size: 12px;

    line-height: 1.35;
}

.politics-opinion-card small {
    font-size: 9px;

    color: #777;
}


/* FILTER */

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

.politics-no-results {
    margin-top: 35px;
    margin-bottom: 45px;

    padding: 25px;

    text-align: center;

    border:
        1px solid #eee;

    border-radius: 12px;

    font-weight: 800;
}


/* RESPONSIVE */

@media (max-width: 1200px) {

    .politics-main-grid {
        grid-template-columns:
            minmax(0,1fr)
            290px;
    }

    .politics-feature-area {
        grid-template-columns: 1fr;
    }

    .politics-card-grid,
    .politics-stream-grid {
        grid-template-columns:
            repeat(2,minmax(0,1fr));
    }

    .politics-opinion-grid {
        grid-template-columns:
            repeat(2,minmax(0,1fr));
    }
}


@media (max-width: 900px) {

    .politics-head,
    .politics-main-grid,
    .politics-section,
    .politics-no-results {
        width:
            min(
                calc(100% - 30px),
                1500px
            );
    }

    .politics-title-row {
        flex-direction: column;

        align-items: stretch;
    }

    .politics-tools {
        width: 100%;
    }

    .politics-search {
        flex: 1;

        width: auto;
    }

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

    .politics-lead {
        height: 470px;
    }
}


@media (max-width: 600px) {

    .politics-title-row h1 {
        font-size: 34px;
    }

    .politics-tools {
        flex-direction: column;
    }

    .politics-search,
    .politics-filter-button {
        width: 100%;
    }

    .politics-media-filter {
        justify-content:
            flex-start;
    }

    .politics-lead {
        height: 390px;
    }

    .politics-lead-copy h2 {
        font-size: 21px;
    }

    .politics-ranked-row {
        grid-template-columns:
            30px
            90px
            minmax(0,1fr);
    }

    .politics-ranked-row img {
        width: 90px;
        height: 68px;
    }

    .politics-card-grid,
    .politics-stream-grid,
    .politics-opinion-grid {
        grid-template-columns: 1fr;
    }

}


/* =========================================================
   DALLAS MEDIA GROUP
   PEOPLE'S VOICE PAGE V1
   Global Arial remains active.
   ========================================================= */

.voice-page {
    background: #fff;
}

.voice-hero,
.voice-content-grid,
.voice-success {
    width: min(1500px, calc(100% - 64px));
    margin-left: auto;
    margin-right: auto;
}


/* HERO */

.voice-hero {
    padding-top: 32px;
}

.voice-breadcrumb {
    display: flex;
    gap: 10px;
    align-items: center;

    color: #777;

    font-size: 13px;
    font-weight: 700;

    margin-bottom: 24px;
}

.voice-hero-grid {
    min-height: 290px;

    display: grid;

    grid-template-columns:
        minmax(0, 1fr)
        minmax(380px, .85fr);

    align-items: center;

    gap: 30px;

    border-bottom: 1px solid #eee;
}

.voice-hero-copy h1 {
    margin: 0;

    font-size: clamp(
        42px,
        5vw,
        72px
    );

    line-height: 1;

    font-weight: 900;

    letter-spacing: -.03em;
}

.voice-hero-copy h2 {
    margin: 17px 0 7px;

    font-size: 20px;

    font-weight: 700;
}

.voice-hero-copy p {
    max-width: 600px;

    margin: 0 0 15px;

    color: #444;

    font-size: 16px;
    line-height: 1.7;
}

.voice-hero-copy > strong {
    color: var(--red);

    font-size: 25px;
}

.voice-hero-art {
    min-height: 245px;

    display: flex;

    align-items: center;
    justify-content: center;

    gap: 25px;

    border-radius: 150px 20px 20px 150px;

    background:
        radial-gradient(
            circle at center,
            rgba(237,21,21,.08),
            transparent 70%
        );
}

.voice-megaphone {
    font-size: 105px;

    transform: rotate(-11deg);
}

.voice-hero-message {
    max-width: 180px;

    font-size: 30px;
    font-weight: 900;

    color: var(--red);
}


/* SUCCESS */

.voice-success {
    margin-top: 22px;

    padding: 17px 20px;

    border:
        1px solid #bce5c6;

    border-radius: 10px;

    background: #f1fff5;

    color: #16712e;

    font-weight: 800;
}


/* MAIN LAYOUT */

.voice-content-grid {
    display: grid;

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

    gap: 28px;

    padding-top: 25px;
    padding-bottom: 45px;
}

.voice-main-column {
    min-width: 0;
}


/* FORM */

.voice-form-card,
.voice-side-card {
    border:
        1px solid #e8e8e8;

    border-radius: 14px;

    background: #fff;

    box-shadow:
        0 8px 25px
        rgba(0,0,0,.025);
}

.voice-form-card {
    padding: 25px;
}

.voice-form-heading {
    display: flex;

    gap: 16px;

    align-items: center;

    margin-bottom: 24px;
}

.voice-form-icon {
    width: 50px;
    height: 50px;

    display: grid;
    place-items: center;

    border-radius: 8px;

    background: var(--red);
    color: #fff;

    font-size: 26px;
}

.voice-form-heading h2 {
    margin: 0;

    font-size: 25px;
}

.voice-form-heading p {
    margin: 4px 0 0;

    color: #666;

    font-size: 12px;
}

.voice-form-grid {
    display: grid;

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

    gap: 18px;
}

.voice-form label {
    display: block;
}

.voice-form label > span {
    display: block;

    margin-bottom: 7px;

    font-size: 12px;
    font-weight: 800;
}

.voice-form input,
.voice-form select,
.voice-form textarea {
    width: 100%;

    border:
        1px solid #ddd;

    border-radius: 7px;

    padding: 13px 14px;

    background: #fff;

    outline: none;
}

.voice-form input:focus,
.voice-form select:focus,
.voice-form textarea:focus {
    border-color: var(--red);

    box-shadow:
        0 0 0 3px
        rgba(237,21,21,.08);
}

.voice-full-field {
    margin-top: 18px;
}

.voice-form textarea {
    resize: vertical;
}

.voice-form label small {
    color: #777;
}

.voice-consent {
    display: flex !important;

    align-items: flex-start;

    gap: 10px;

    margin-top: 20px;

    font-size: 11px;
}

.voice-consent input {
    width: auto;

    margin-top: 4px;
}

.voice-consent span {
    margin: 0 !important;
}

.voice-submit-row {
    display: flex;

    justify-content: flex-end;

    margin-top: 17px;
}

.voice-submit {
    min-width: 210px;

    border: 0;

    border-radius: 7px;

    padding: 15px 21px;

    background: var(--red);

    color: #fff;

    cursor: pointer;

    font-weight: 900;

    display: flex;
    align-items: center;
    justify-content: space-between;
}


/* GENERAL SECTION */

.voice-section {
    margin-top: 34px;
}

.voice-section-head {
    display: flex;

    justify-content: space-between;
    align-items: center;

    gap: 20px;

    margin-bottom: 16px;
}

.voice-section-head h2,
.voice-side-card > h2 {
    margin: 0;

    padding-left: 10px;

    border-left:
        4px solid var(--red);

    font-size: 18px;
    font-weight: 900;
}

.voice-section-head a {
    font-size: 10px;
    font-weight: 900;
}


/* FEATURED VOICES */

.voice-feature-grid {
    display: grid;

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

    gap: 18px;
}

.voice-feature-card {
    overflow: hidden;

    border:
        1px solid #e8e8e8;

    border-radius: 11px;
}

.voice-feature-image {
    height: 165px;

    position: relative;
}

.voice-feature-image img {
    width: 100%;
    height: 100%;

    object-fit: cover;
}

.voice-feature-image span {
    position: absolute;

    top: 10px;
    left: 10px;

    padding: 5px 8px;

    border-radius: 5px;

    background: var(--red);
    color: #fff;

    text-transform: uppercase;

    font-size: 8px;
    font-weight: 900;
}

.voice-feature-body {
    padding: 14px;
}

.voice-feature-card h3 {
    margin: 0 0 9px;

    font-size: 13px;
    line-height: 1.45;
}

.voice-feature-card small {
    color: #777;

    font-size: 9px;
}


/* COMMUNITY */

.voice-community-grid {
    display: grid;

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

    gap: 18px;
}

.voice-community-card {
    padding: 18px;

    border:
        1px solid #e8e8e8;

    border-radius: 11px;
}

.voice-topic {
    color: var(--red);

    font-size: 9px;
    font-weight: 900;

    text-transform: uppercase;
}

.voice-community-card h3 {
    margin: 8px 0;

    font-size: 15px;
}

.voice-community-card p {
    font-size: 11px;
    line-height: 1.6;

    color: #555;
}

.voice-community-author {
    display: flex;

    flex-direction: column;

    margin-top: 15px;
}

.voice-community-author small {
    color: #777;
}

.voice-empty-community {
    padding: 28px;

    border:
        1px dashed #d8d8d8;

    border-radius: 11px;

    text-align: center;

    color: #777;
}


/* BENEFITS */

.voice-benefits {
    display: grid;

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

    border:
        1px solid #e7e7e7;

    border-radius: 12px;

    overflow: hidden;
}

.voice-benefits > div {
    padding: 20px;

    border-right:
        1px solid #eee;
}

.voice-benefits > div:last-child {
    border-right: 0;
}

.voice-benefits span {
    display: block;

    margin-bottom: 8px;

    font-size: 30px;
}

.voice-benefits strong {
    display: block;

    font-size: 13px;
}

.voice-benefits p {
    margin: 6px 0 0;

    font-size: 10px;
    line-height: 1.55;

    color: #555;
}


/* SIDEBAR */

.voice-sidebar {
    display: flex;

    flex-direction: column;

    gap: 18px;
}

.voice-side-card {
    padding: 20px;
}

.voice-side-card > h2 {
    margin-bottom: 18px;
}

.voice-guideline {
    display: grid;

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

    gap: 10px;

    margin-bottom: 17px;
}

.voice-guideline > span {
    color: var(--red);

    font-size: 17px;
    font-weight: 900;
}

.voice-guideline strong {
    font-size: 11px;
}

.voice-guideline p {
    margin: 3px 0 0;

    color: #666;

    font-size: 10px;
    line-height: 1.5;
}


/* TOPIC FILTER */

.voice-topic-buttons {
    display: flex;

    flex-wrap: wrap;

    gap: 8px;
}

.voice-topic-buttons button {
    border:
        1px solid #ddd;

    border-radius: 22px;

    padding: 8px 12px;

    background: #fff;

    cursor: pointer;

    font-size: 10px;
    font-weight: 800;
}

.voice-topic-buttons button.active {
    border-color: var(--red);

    background: var(--red);

    color: #fff;
}

.voice-trending-topics {
    display: flex;

    flex-direction: column;
}

.voice-trending-topics button {
    display: grid;

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

    gap: 8px;

    align-items: center;

    border: 0;

    border-bottom:
        1px solid #eee;

    padding: 10px 0;

    background: transparent;

    text-align: left;

    cursor: pointer;
}

.voice-trending-topics small {
    color: #888;
}

.voice-youtube-button {
    display: inline-block;

    margin-top: 12px;

    padding: 11px 15px;

    border-radius: 7px;

    background: var(--red);

    color: #fff;

    font-weight: 900;
}


/* FILTER */

.voice-filter-hidden {
    display: none !important;
}


/* RESPONSIVE */

@media (max-width: 1150px) {

    .voice-content-grid {
        grid-template-columns:
            minmax(0,1fr)
            290px;
    }

    .voice-feature-grid {
        grid-template-columns:
            repeat(2,minmax(0,1fr));
    }

    .voice-benefits {
        grid-template-columns:
            repeat(2,minmax(0,1fr));
    }
}


@media (max-width: 900px) {

    .voice-hero,
    .voice-content-grid,
    .voice-success {
        width:
            min(
                calc(100% - 30px),
                1500px
            );
    }

    .voice-hero-grid {
        grid-template-columns: 1fr;
    }

    .voice-hero-art {
        min-height: 180px;
    }

    .voice-content-grid {
        grid-template-columns: 1fr;
    }

    .voice-community-grid {
        grid-template-columns:
            repeat(2,minmax(0,1fr));
    }
}


@media (max-width: 600px) {

    .voice-hero-copy h1 {
        font-size: 38px;
    }

    .voice-hero-copy > strong {
        font-size: 19px;
    }

    .voice-form-grid,
    .voice-feature-grid,
    .voice-community-grid,
    .voice-benefits {
        grid-template-columns: 1fr;
    }

    .voice-benefits > div {
        border-right: 0;

        border-bottom:
            1px solid #eee;
    }

    .voice-form-card {
        padding: 17px;
    }

    .voice-submit {
        width: 100%;
    }
}


/* =========================================================
   PEOPLE'S VOICE
   CUSTOM SVG FILE UPLOAD
   ========================================================= */

.voice-upload-field {
    min-width: 0;
}

.voice-upload-box {
    position: relative;
    width: 100%;
}

.voice-upload-input {
    position: absolute !important;
    width: 1px !important;
    height: 1px !important;
    opacity: 0 !important;
    overflow: hidden !important;
    pointer-events: none !important;
}

.voice-upload-trigger {
    min-height: 64px;

    display: flex !important;
    align-items: center;
    gap: 14px;

    width: 100%;

    padding: 12px 16px;

    border: 1px solid #dddddd;
    border-radius: 10px;

    background: #ffffff;

    cursor: pointer;

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

.voice-upload-trigger:hover {
    border-color: var(--red);

    background: #fffafa;

    transform: translateY(-1px);

    box-shadow:
        0 7px 20px
        rgba(0,0,0,.05);
}

.voice-upload-input:focus + .voice-upload-trigger {
    border-color: var(--red);

    box-shadow:
        0 0 0 3px
        rgba(237,21,21,.08);
}

.voice-upload-icon {
    width: 42px;
    height: 42px;

    flex: 0 0 42px;

    display: grid;
    place-items: center;

    border-radius: 10px;

    background:
        rgba(237,21,21,.08);

    color: var(--red);
}

.voice-upload-icon svg {
    width: 23px;
    height: 23px;
}

.voice-upload-text {
    min-width: 0;

    display: flex;
    flex-direction: column;

    gap: 3px;
}

.voice-upload-text strong {
    color: #111;

    font-size: 13px;
    font-weight: 900;
}

.voice-upload-text small {
    max-width: 100%;

    overflow: hidden;

    text-overflow: ellipsis;
    white-space: nowrap;

    color: #777;

    font-size: 10px;
    font-weight: 600;
}

.voice-upload-trigger.has-file {
    border-color: #23a455;
    background: #f5fff8;
}

.voice-upload-trigger.has-file .voice-upload-icon {
    color: #16853f;
    background: rgba(35,164,85,.1);
}


/* Mobile */
@media (max-width: 600px) {

    .voice-upload-trigger {
        min-height: 60px;
        padding: 11px 13px;
    }

    .voice-upload-icon {
        width: 38px;
        height: 38px;
        flex-basis: 38px;
    }

}

/* =========================================================
   PEOPLE'S VOICE
   REAL SVG ICON SYSTEM
   ========================================================= */

.voice-megaphone {
    width: 135px;
    height: 135px;

    display: grid;
    place-items: center;

    color: var(--red);

    transform: rotate(-10deg);
}

.voice-megaphone svg {
    width: 100%;
    height: 100%;
}


/* Benefit icons */
.voice-benefit-icon {
    width: 42px;
    height: 42px;

    display: grid !important;
    place-items: center;

    margin-bottom: 10px;

    border-radius: 10px;

    background: rgba(237,21,21,.08);

    color: var(--red);
}

.voice-benefit-icon svg {
    width: 25px;
    height: 25px;

    fill: none;
    stroke: currentColor;

    stroke-width: 1.8;
    stroke-linecap: round;
    stroke-linejoin: round;
}


/* Community guideline icons */
.voice-guide-icon {
    width: 27px;
    height: 27px;

    display: grid !important;
    place-items: center;

    color: var(--red);
}

.voice-guide-icon svg {
    width: 21px;
    height: 21px;

    fill: none;
    stroke: currentColor;

    stroke-width: 1.8;
    stroke-linecap: round;
    stroke-linejoin: round;
}


/* Trending fire icon */
.voice-trend-icon {
    width: 20px;
    height: 20px;

    display: grid !important;
    place-items: center;

    color: var(--red);
}

.voice-trend-icon svg {
    width: 17px;
    height: 17px;

    fill: none;
    stroke: currentColor;

    stroke-width: 1.8;
    stroke-linecap: round;
    stroke-linejoin: round;
}


/* Remove any emoji-style inherited sizing */
.voice-guideline > span,
.voice-benefits span,
.voice-trending-topics span {
    font-family: inherit;
}

/* =========================================================
   PEOPLE'S VOICE
   REAL SVG ICON SYSTEM
   ========================================================= */

.voice-megaphone {
    width: 135px;
    height: 135px;

    display: grid;
    place-items: center;

    color: var(--red);

    transform: rotate(-10deg);
}

.voice-megaphone svg {
    width: 100%;
    height: 100%;
}


/* Benefit icons */
.voice-benefit-icon {
    width: 42px;
    height: 42px;

    display: grid !important;
    place-items: center;

    margin-bottom: 10px;

    border-radius: 10px;

    background: rgba(237,21,21,.08);

    color: var(--red);
}

.voice-benefit-icon svg {
    width: 25px;
    height: 25px;

    fill: none;
    stroke: currentColor;

    stroke-width: 1.8;
    stroke-linecap: round;
    stroke-linejoin: round;
}


/* Community guideline icons */
.voice-guide-icon {
    width: 27px;
    height: 27px;

    display: grid !important;
    place-items: center;

    color: var(--red);
}

.voice-guide-icon svg {
    width: 21px;
    height: 21px;

    fill: none;
    stroke: currentColor;

    stroke-width: 1.8;
    stroke-linecap: round;
    stroke-linejoin: round;
}


/* Trending fire icon */
.voice-trend-icon {
    width: 20px;
    height: 20px;

    display: grid !important;
    place-items: center;

    color: var(--red);
}

.voice-trend-icon svg {
    width: 17px;
    height: 17px;

    fill: none;
    stroke: currentColor;

    stroke-width: 1.8;
    stroke-linecap: round;
    stroke-linejoin: round;
}


/* Remove any emoji-style inherited sizing */
.voice-guideline > span,
.voice-benefits span,
.voice-trending-topics span {
    font-family: inherit;
}


/* =========================================================
   DALLAS MEDIA GROUP
   REAL TRENDS PAGE V1
   ========================================================= */

.trends-page {
    background: #fff;
}

.trends-head,
.trends-main-grid,
.trends-section,
.trends-no-results {
    width: min(1500px, calc(100% - 64px));
    margin-left: auto;
    margin-right: auto;
}


/* HEAD */

.trends-head {
    padding-top: 34px;
}

.trends-breadcrumb {
    display: flex;
    align-items: center;
    gap: 10px;

    margin-bottom: 28px;

    color: #777;

    font-size: 13px;
    font-weight: 700;
}

.trends-title-row {
    display: flex;

    justify-content: space-between;
    align-items: flex-end;

    gap: 30px;
}

.trends-title-row h1 {
    margin: 0;

    padding-left: 15px;

    border-left:
        5px solid var(--red);

    font-size: 42px;

    line-height: 1;

    font-weight: 900;
}

.trends-title-row p {
    max-width: 580px;

    margin: 16px 0 0;

    font-size: 15px;
    line-height: 1.7;
}


/* SEARCH */

.trends-tools {
    display: flex;
}

.trends-search {
    width: 300px;
    height: 48px;

    display: flex;
    align-items: center;
    gap: 10px;

    padding: 0 15px;

    border: 1px solid #ddd;

    border-radius: 9px;
}

.trends-search input {
    width: 100%;

    border: 0;

    background: transparent;

    outline: none;
}


/* MEDIA FILTER */

.trends-media-filter {
    display: flex;

    justify-content: flex-end;

    gap: 8px;

    margin-top: 15px;
}

.trends-media-filter button {
    border:
        1px solid #ddd;

    border-radius: 22px;

    padding: 9px 17px;

    background: #fff;

    cursor: pointer;

    font-weight: 800;
}

.trends-media-filter button.active {
    background: #111;
    color: #fff;

    border-color: #111;
}


/* TOPIC FILTER */

.trends-tabs {
    display: flex;

    gap: 8px;

    margin-top: 25px;

    padding-bottom: 20px;

    overflow-x: auto;
}

.trends-tabs button {
    flex: 0 0 auto;

    border: 1px solid #ddd;

    border-radius: 23px;

    padding: 10px 20px;

    background: #fff;

    cursor: pointer;

    font-weight: 800;
}

.trends-tabs button.active {
    background: var(--red);

    border-color: var(--red);

    color: #fff;
}


/* MAIN */

.trends-main-grid {
    display: grid;

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

    gap: 28px;

    margin-top: 12px;
}

.trends-feature-area {
    display: grid;

    grid-template-columns:
        minmax(0,1.3fr)
        minmax(320px,.7fr);

    gap: 28px;
}


/* LEAD */

.trends-lead {
    position: relative;

    height: 590px;

    border-radius: 14px;

    overflow: hidden;

    background: #111;
}

.trends-lead img {
    width: 100%;
    height: 100%;

    object-fit: cover;
}

.trends-lead-shade {
    position: absolute;

    inset: 0;

    background:
        linear-gradient(
            transparent 28%,
            rgba(0,0,0,.93)
        );
}

.trends-top-badge {
    position: absolute;

    left: 20px;
    top: 20px;

    z-index: 3;

    padding: 8px 11px;

    border-radius: 6px;

    background: var(--red);

    color: #fff;

    font-size: 10px;

    font-weight: 900;
}

.trends-lead-copy {
    position: absolute;

    left: 26px;
    right: 26px;
    bottom: 27px;

    z-index: 3;

    color: #fff;
}

.trends-category {
    color: var(--red);

    font-size: 9px;

    font-weight: 900;

    text-transform: uppercase;
}

.trends-lead-copy
.trends-category {
    color: #fff;
}

.trends-lead-copy h2 {
    max-width: 700px;

    margin: 10px 0;

    font-size: 30px;

    line-height: 1.3;

    font-weight: 900;
}

.trends-meta {
    display: flex;

    flex-wrap: wrap;

    gap: 15px;

    font-size: 10px;
}


/* RANKED */

.trends-ranked-row {
    display: grid;

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

    gap: 13px;

    align-items: center;

    padding-bottom: 16px;

    margin-bottom: 16px;

    border-bottom:
        1px solid #eee;
}

.trends-number {
    width: 32px;
    height: 32px;

    display: grid;

    place-items: center;

    border-radius: 50%;

    background: var(--red);

    color: #fff;

    font-weight: 900;
}

.trends-ranked-row img {
    width: 120px;
    height: 84px;

    object-fit: cover;

    border-radius: 9px;
}

.trends-ranked-row h3 {
    margin: 6px 0;

    font-size: 14px;

    line-height: 1.4;
}

.trends-ranked-row small {
    color: #777;

    font-size: 9px;
}


/* SIDEBAR */

.trends-sidebar {
    display: flex;

    flex-direction: column;

    gap: 18px;
}

.trends-side-card {
    padding: 20px;

    border:
        1px solid #e6e6e6;

    border-radius: 14px;
}

.trends-side-card > h2,
.trends-section-head h2 {
    margin: 0;

    padding-left: 10px;

    border-left:
        4px solid var(--red);

    font-size: 18px;

    font-weight: 900;
}

.trends-topic-list {
    margin-top: 13px;
}

.trends-topic-list button {
    width: 100%;

    display: grid;

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

    align-items: center;

    gap: 10px;

    padding: 12px 0;

    border: 0;

    border-bottom:
        1px solid #eee;

    background: transparent;

    text-align: left;

    cursor: pointer;
}

.trends-topic-list small {
    color: #777;
}

.trends-fire-icon {
    width: 20px;
    height: 20px;

    display: grid;
    place-items: center;

    color: var(--red);
}

.trends-fire-icon svg {
    width: 17px;
    height: 17px;

    fill: none;
    stroke: currentColor;

    stroke-width: 1.8;
    stroke-linecap: round;
    stroke-linejoin: round;
}

.trends-side-video {
    display: grid;

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

    gap: 12px;

    align-items: center;

    padding: 13px 0;

    border-bottom:
        1px solid #eee;
}

.trends-side-video > div {
    position: relative;
}

.trends-side-video img {
    width: 110px;
    height: 72px;

    border-radius: 8px;

    object-fit: cover;
}

.trends-side-video h3 {
    margin: 0;

    font-size: 12px;

    line-height: 1.4;
}


/* SECTION */

.trends-section {
    margin-top: 38px;
}

.trends-section-head {
    display: flex;

    justify-content: space-between;

    align-items: center;

    margin-bottom: 17px;
}

.trends-section-head a {
    font-size: 10px;

    font-weight: 900;
}


/* CARDS */

.trends-card-grid {
    display: grid;

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

    gap: 20px;
}

.trends-card {
    overflow: hidden;

    border:
        1px solid #e6e6e6;

    border-radius: 11px;

    background: #fff;

    transition:
        transform .25s ease,
        box-shadow .25s ease;
}

.trends-card:hover {
    transform:
        translateY(-4px);

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

.trends-card-image {
    position: relative;

    height: 170px;
}

.trends-card-image img {
    width: 100%;
    height: 100%;

    object-fit: cover;
}

.trends-card-body {
    padding: 15px;
}

.trends-card h3 {
    margin: 7px 0;

    font-size: 14px;

    line-height: 1.45;
}

.trends-card small {
    color: #777;

    font-size: 9px;
}

.trends-live-badge,
.trends-short-badge,
.trends-previous-badge {
    position: absolute;

    top: 10px;
    left: 10px;

    padding: 6px 8px;

    border-radius: 5px;

    background: var(--red);

    color: #fff;

    font-size: 8px;

    font-weight: 900;
}

.trends-short-badge {
    background: #111;
}

.trends-previous-badge {
    background:
        rgba(0,0,0,.78);
}


/* SHORTS */

.trends-shorts-grid {
    display: grid;

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

    gap: 16px;
}

.trends-short-card {
    position: relative;

    height: 290px;

    overflow: hidden;

    border-radius: 11px;

    background: #111;
}

.trends-short-card img {
    width: 100%;
    height: 100%;

    object-fit: cover;
}

.trends-short-shade {
    position: absolute;

    inset: 0;

    background:
        linear-gradient(
            transparent 40%,
            rgba(0,0,0,.9)
        );
}

.trends-short-card h3 {
    position: absolute;

    left: 13px;
    right: 13px;
    bottom: 13px;

    z-index: 3;

    margin: 0;

    color: #fff;

    font-size: 12px;

    line-height: 1.4;
}


/* STREAMS */

.trends-stream-grid {
    display: grid;

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

    gap: 20px;
}

.trends-stream-card > div {
    position: relative;

    height: 180px;

    overflow: hidden;

    border-radius: 11px;

    background: #111;
}

.trends-stream-card img {
    width: 100%;
    height: 100%;

    object-fit: cover;
}

.trends-play {
    position: absolute;

    left: 50%;
    top: 50%;

    transform:
        translate(-50%,-50%);

    width: 46px;
    height: 46px;

    display: grid;
    place-items: center;

    border:
        2px solid #fff;

    border-radius: 50%;

    background:
        rgba(0,0,0,.45);

    color: #fff;
}

.trends-stream-card h3 {
    margin: 10px 0;

    font-size: 13px;

    line-height: 1.4;
}


/* FILTER */

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

.trends-no-results {
    margin-top: 35px;
    margin-bottom: 45px;

    padding: 26px;

    border:
        1px solid #eee;

    border-radius: 12px;

    text-align: center;

    font-weight: 800;
}


/* RESPONSIVE */

@media (max-width: 1200px) {

    .trends-main-grid {
        grid-template-columns:
            minmax(0,1fr)
            290px;
    }

    .trends-feature-area {
        grid-template-columns: 1fr;
    }

    .trends-card-grid,
    .trends-stream-grid {
        grid-template-columns:
            repeat(2,minmax(0,1fr));
    }

    .trends-shorts-grid {
        grid-template-columns:
            repeat(3,minmax(0,1fr));
    }
}


@media (max-width: 900px) {

    .trends-head,
    .trends-main-grid,
    .trends-section,
    .trends-no-results {
        width:
            min(
                calc(100% - 30px),
                1500px
            );
    }

    .trends-title-row {
        flex-direction: column;

        align-items: stretch;
    }

    .trends-search {
        width: 100%;
    }

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

    .trends-lead {
        height: 470px;
    }
}


@media (max-width: 600px) {

    .trends-title-row h1 {
        font-size: 34px;
    }

    .trends-media-filter {
        justify-content:
            flex-start;

        overflow-x: auto;
    }

    .trends-lead {
        height: 390px;
    }

    .trends-lead-copy h2 {
        font-size: 21px;
    }

    .trends-ranked-row {
        grid-template-columns:
            30px
            90px
            minmax(0,1fr);
    }

    .trends-ranked-row img {
        width: 90px;
        height: 68px;
    }

    .trends-card-grid,
    .trends-stream-grid,
    .trends-shorts-grid {
        grid-template-columns: 1fr;
    }

    .trends-short-card {
        height: 390px;
    }

}


/* =========================================================
   DALLAS MEDIA GROUP
   REAL LIVE TV PAGE V1
   ========================================================= */

.live-page {
    background: #fff;
}

.live-page-head,
.live-main-layout,
.live-page-section,
.live-no-results {
    width: min(1500px, calc(100% - 64px));
    margin-left: auto;
    margin-right: auto;
}


/* =========================================================
   PAGE HEAD
   ========================================================= */

.live-page-head {
    padding-top: 34px;
}

.live-breadcrumb {
    display: flex;
    align-items: center;
    gap: 10px;

    margin-bottom: 28px;

    color: #777;

    font-size: 13px;
    font-weight: 700;
}

.live-page-title-row {
    display: flex;

    justify-content: space-between;
    align-items: flex-end;

    gap: 30px;
}

.live-page-title-row h1 {
    margin: 0;

    padding-left: 15px;

    border-left: 5px solid var(--red);

    font-size: 42px;
    font-weight: 900;

    line-height: 1;
}

.live-page-title-row p {
    max-width: 650px;

    margin: 16px 0 0;

    line-height: 1.7;

    font-size: 15px;
}


/* SEARCH */

.live-page-search {
    width: 310px;
    height: 48px;

    display: flex;

    align-items: center;

    gap: 10px;

    padding: 0 15px;

    border: 1px solid #ddd;

    border-radius: 9px;

    background: #fff;
}

.live-page-search span {
    width: 20px;
    height: 20px;

    display: grid;

    place-items: center;
}

.live-page-search svg {
    width: 18px;
    height: 18px;

    fill: none;
    stroke: currentColor;

    stroke-width: 1.8;
    stroke-linecap: round;
    stroke-linejoin: round;
}

.live-page-search input {
    width: 100%;

    border: 0;

    outline: 0;

    background: transparent;
}


/* =========================================================
   FILTERS
   ========================================================= */

.live-state-filter,
.live-category-filter {
    display: flex;

    gap: 8px;

    overflow-x: auto;
}

.live-state-filter {
    justify-content: flex-end;

    margin-top: 15px;
}

.live-category-filter {
    margin-top: 18px;

    padding-bottom: 20px;
}

.live-state-filter button,
.live-category-filter button {
    flex: 0 0 auto;

    border: 1px solid #ddd;

    border-radius: 24px;

    padding: 9px 17px;

    background: #fff;

    cursor: pointer;

    font-weight: 800;
}

.live-state-filter button.active {
    border-color: #111;

    background: #111;

    color: #fff;
}

.live-category-filter button.active {
    border-color: var(--red);

    background: var(--red);

    color: #fff;
}

.live-category-filter small {
    margin-left: 4px;

    opacity: .7;
}


/* =========================================================
   MAIN LAYOUT
   ========================================================= */

.live-main-layout {
    display: grid;

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

    gap: 28px;

    margin-top: 12px;
}


/* =========================================================
   MAIN PLAYER
   ========================================================= */

.live-player-card {
    overflow: hidden;

    border: 1px solid #e6e6e6;

    border-radius: 14px;

    background: #fff;
}

.live-video-stage {
    position: relative;

    width: 100%;

    aspect-ratio: 16 / 9;

    overflow: hidden;

    background: #080808;
}

.live-video-stage iframe,
.live-video-stage > img {
    width: 100%;
    height: 100%;

    border: 0;

    object-fit: cover;
}

.live-real-badge,
.live-upcoming-badge,
.live-replay-badge {
    position: absolute;

    top: 16px;
    right: 16px;

    z-index: 4;

    display: flex;
    align-items: center;
    gap: 7px;

    padding: 8px 11px;

    border-radius: 6px;

    background: var(--red);

    color: #fff;

    font-size: 10px;
    font-weight: 900;
}

.live-real-badge > span {
    width: 7px;
    height: 7px;

    border-radius: 50%;

    background: #fff;

    animation: livePulse 1.2s infinite;
}

.live-upcoming-badge {
    background: #111;
}

.live-replay-badge {
    background: rgba(0,0,0,.8);
}

@keyframes livePulse {

    0%,
    100% {
        opacity: 1;
    }

    50% {
        opacity: .35;
    }

}


/* PLAYER INFO */

.live-player-info {
    display: flex;

    align-items: center;
    justify-content: space-between;

    gap: 25px;

    padding: 20px;
}

.live-status-text {
    display: flex;

    align-items: center;

    gap: 7px;

    color: var(--red);

    font-size: 10px;
    font-weight: 900;
}

.live-status-text > span {
    width: 8px;
    height: 8px;

    border-radius: 50%;

    background: var(--red);
}

.live-status-text.upcoming {
    color: #111;
}

.live-status-text.replay {
    color: #666;
}

.live-player-info h2 {
    margin: 7px 0;

    font-size: 22px;

    line-height: 1.3;
}

.live-player-meta {
    display: flex;

    flex-wrap: wrap;

    gap: 15px;

    color: #777;

    font-size: 10px;
}

.live-watch-youtube {
    flex: 0 0 auto;

    display: flex;

    align-items: center;

    gap: 9px;

    padding: 13px 17px;

    border-radius: 8px;

    background: var(--red);

    color: #fff;

    font-size: 11px;

    font-weight: 900;
}

.live-watch-youtube svg {
    width: 21px;
    height: 21px;

    fill: none;
    stroke: currentColor;

    stroke-width: 1.8;
    stroke-linejoin: round;
}


/* =========================================================
   RIGHT PANEL
   ========================================================= */

.live-now-panel {
    align-self: start;

    padding: 20px;

    border: 1px solid #e6e6e6;

    border-radius: 14px;
}

.live-section-title {
    display: flex;

    align-items: center;
    justify-content: space-between;

    gap: 15px;

    margin-bottom: 17px;
}

.live-section-title h2 {
    margin: 0;

    padding-left: 10px;

    border-left: 4px solid var(--red);

    font-size: 18px;

    font-weight: 900;
}

.live-section-title > a {
    font-size: 9px;

    font-weight: 900;
}

.live-now-row {
    display: grid;

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

    gap: 12px;

    padding: 13px 0;

    border-bottom: 1px solid #eee;
}

.live-now-thumb {
    position: relative;
}

.live-now-thumb img {
    width: 115px;
    height: 74px;

    border-radius: 8px;

    object-fit: cover;
}

.live-mini-state {
    position: absolute;

    left: 6px;
    top: 6px;

    padding: 4px 6px;

    border-radius: 4px;

    background: #111;

    color: #fff;

    font-size: 7px;

    font-weight: 900;
}

.live-mini-state.live {
    background: var(--red);
}

.live-mini-state.upcoming {
    background: #333;
}

.live-mini-state.replay {
    background: rgba(0,0,0,.8);
}

.live-now-row h3 {
    margin: 0 0 4px;

    font-size: 12px;

    line-height: 1.35;
}

.live-now-row span,
.live-now-row small {
    display: block;

    color: #777;

    font-size: 8px;
}

.live-view-all {
    display: block;

    margin-top: 15px;

    padding: 12px;

    border-radius: 7px;

    background: #f3f3f3;

    text-align: center;

    font-size: 10px;

    font-weight: 900;
}


/* =========================================================
   SECTIONS
   ========================================================= */

.live-page-section {
    margin-top: 38px;
}


/* =========================================================
   BROADCAST CARDS
   ========================================================= */

.live-broadcast-grid,
.live-replay-grid,
.live-most-watched-grid {
    display: grid;

    gap: 20px;
}

.live-broadcast-grid {
    grid-template-columns:
        repeat(4,minmax(0,1fr));
}

.live-replay-grid {
    grid-template-columns:
        repeat(4,minmax(0,1fr));
}

.live-most-watched-grid {
    grid-template-columns:
        repeat(4,minmax(0,1fr));
}

.live-broadcast-card,
.live-replay-card,
.live-most-card {
    min-width: 0;
}

.live-card-media,
.live-replay-image,
.live-most-card > div {
    position: relative;

    height: 180px;

    overflow: hidden;

    border-radius: 11px;

    background: #111;
}

.live-card-media img,
.live-replay-image img,
.live-most-card img {
    width: 100%;
    height: 100%;

    object-fit: cover;
}

.live-card-play {
    position: absolute;

    left: 50%;
    top: 50%;

    transform:
        translate(-50%,-50%);

    width: 48px;
    height: 48px;

    display: grid;

    place-items: center;

    border: 2px solid #fff;

    border-radius: 50%;

    background:
        rgba(0,0,0,.46);

    color: #fff;
}

.live-card-play svg {
    width: 22px;
    height: 22px;

    fill: none;
    stroke: currentColor;

    stroke-width: 1.8;

    stroke-linejoin: round;
}

.live-card-copy {
    padding: 11px 2px;
}

.live-card-copy h3,
.live-replay-card h3,
.live-most-card h3 {
    margin: 8px 0 4px;

    font-size: 13px;

    line-height: 1.4;
}

.live-card-copy span,
.live-replay-card small,
.live-most-card small {
    color: #777;

    font-size: 9px;
}


/* =========================================================
   BENEFITS
   ========================================================= */

.live-benefits {
    display: grid;

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

    overflow: hidden;

    border: 1px solid #e7e7e7;

    border-radius: 12px;
}

.live-benefits > div {
    padding: 21px;

    border-right: 1px solid #eee;
}

.live-benefits > div:last-child {
    border-right: 0;
}

.live-benefit-icon {
    width: 45px;
    height: 45px;

    display: grid;

    place-items: center;

    margin-bottom: 10px;

    border-radius: 10px;

    background:
        rgba(237,21,21,.08);

    color: var(--red);
}

.live-benefit-icon svg {
    width: 25px;
    height: 25px;

    fill: none;
    stroke: currentColor;

    stroke-width: 1.8;
    stroke-linecap: round;
    stroke-linejoin: round;
}

.live-benefits strong {
    display: block;

    font-size: 13px;
}

.live-benefits p {
    margin: 7px 0 0;

    color: #555;

    font-size: 10px;

    line-height: 1.55;
}


/* =========================================================
   EMPTY / FILTER
   ========================================================= */

.live-filter-hidden {
    display: none !important;
}

.live-no-results,
.live-empty-main {
    padding: 28px;

    border: 1px solid #eee;

    border-radius: 12px;

    text-align: center;
}

.live-no-results {
    margin-top: 35px;

    margin-bottom: 45px;

    font-weight: 800;
}


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

@media (max-width: 1200px) {

    .live-main-layout {
        grid-template-columns:
            minmax(0,1fr)
            300px;
    }

    .live-broadcast-grid,
    .live-replay-grid,
    .live-most-watched-grid {
        grid-template-columns:
            repeat(2,minmax(0,1fr));
    }

}


@media (max-width: 900px) {

    .live-page-head,
    .live-main-layout,
    .live-page-section,
    .live-no-results {
        width:
            min(
                calc(100% - 30px),
                1500px
            );
    }

    .live-page-title-row {
        flex-direction: column;

        align-items: stretch;
    }

    .live-page-search {
        width: 100%;
    }

    .live-state-filter {
        justify-content: flex-start;
    }

    .live-main-layout {
        grid-template-columns: 1fr;
    }

    .live-player-info {
        align-items: stretch;

        flex-direction: column;
    }

    .live-watch-youtube {
        justify-content: center;
    }

    .live-benefits {
        grid-template-columns:
            repeat(2,minmax(0,1fr));
    }

}


@media (max-width: 600px) {

    .live-page-title-row h1 {
        font-size: 34px;
    }

    .live-broadcast-grid,
    .live-replay-grid,
    .live-most-watched-grid,
    .live-benefits {
        grid-template-columns: 1fr;
    }

    .live-benefits > div {
        border-right: 0;

        border-bottom: 1px solid #eee;
    }

    .live-card-media,
    .live-replay-image,
    .live-most-card > div {
        height: 215px;
    }

}


/* =========================================================
   DALLAS MEDIA GROUP
   REAL SHOWS PAGE V1
   ========================================================= */

.shows-page {
    background: #fff;
}

.shows-head,
.shows-main-grid,
.shows-section,
.shows-no-results {
    width: min(1500px, calc(100% - 64px));
    margin-left: auto;
    margin-right: auto;
}


/* HEAD */

.shows-head {
    padding-top: 34px;
}

.shows-breadcrumb {
    display: flex;
    align-items: center;
    gap: 10px;

    margin-bottom: 28px;

    color: #777;

    font-size: 13px;
    font-weight: 700;
}

.shows-title-row {
    display: flex;

    justify-content: space-between;
    align-items: flex-end;

    gap: 30px;
}

.shows-title-row h1 {
    margin: 0;

    padding-left: 15px;

    border-left:
        5px solid var(--red);

    font-size: 42px;

    line-height: 1;

    font-weight: 900;
}

.shows-title-row p {
    max-width: 570px;

    margin: 16px 0 0;

    font-size: 15px;

    line-height: 1.7;
}


/* SEARCH */

.shows-search {
    width: 300px;
    height: 48px;

    display: flex;

    align-items: center;

    gap: 10px;

    padding: 0 15px;

    border: 1px solid #ddd;

    border-radius: 9px;
}

.shows-search span {
    width: 20px;
    height: 20px;

    display: grid;

    place-items: center;
}

.shows-search svg {
    width: 18px;
    height: 18px;

    fill: none;
    stroke: currentColor;

    stroke-width: 1.8;
    stroke-linecap: round;
    stroke-linejoin: round;
}

.shows-search input {
    width: 100%;

    border: 0;

    outline: none;

    background: transparent;
}


/* FILTERS */

.shows-state-filter,
.shows-genre-filter {
    display: flex;

    gap: 8px;

    overflow-x: auto;
}

.shows-state-filter {
    justify-content: flex-end;

    margin-top: 15px;
}

.shows-genre-filter {
    margin-top: 18px;

    padding-bottom: 20px;
}

.shows-state-filter button,
.shows-genre-filter button {
    flex: 0 0 auto;

    border: 1px solid #ddd;

    border-radius: 23px;

    padding: 9px 17px;

    background: #fff;

    cursor: pointer;

    font-weight: 800;
}

.shows-state-filter button.active {
    background: #111;

    border-color: #111;

    color: #fff;
}

.shows-genre-filter button.active {
    background: var(--red);

    border-color: var(--red);

    color: #fff;
}

.shows-genre-filter small {
    margin-left: 4px;

    opacity: .7;
}


/* MAIN */

.shows-main-grid {
    display: grid;

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

    gap: 28px;

    margin-top: 10px;
}


/* FEATURE */

.shows-feature {
    position: relative;

    display: block;

    height: 560px;

    overflow: hidden;

    border-radius: 15px;

    background: #111;
}

.shows-feature > img {
    width: 100%;
    height: 100%;

    object-fit: cover;
}

.shows-feature-shade {
    position: absolute;

    inset: 0;

    background:
        linear-gradient(
            90deg,
            rgba(0,0,0,.88) 0%,
            rgba(0,0,0,.55) 45%,
            rgba(0,0,0,.18) 75%,
            rgba(0,0,0,.08) 100%
        );
}

.shows-feature-badge {
    position: absolute;

    left: 24px;
    top: 24px;

    z-index: 3;

    padding: 8px 11px;

    border-radius: 6px;

    background: var(--red);

    color: #fff;

    font-size: 9px;

    font-weight: 900;
}

.shows-feature-badge.replay {
    background: rgba(0,0,0,.78);
}

.shows-feature-copy {
    position: absolute;

    left: 28px;
    bottom: 32px;

    z-index: 3;

    max-width: 620px;

    color: #fff;
}

.shows-category {
    color: var(--red);

    font-size: 9px;

    font-weight: 900;

    text-transform: uppercase;
}

.shows-feature-copy
.shows-category {
    color: #fff;
}

.shows-feature-copy h2 {
    margin: 10px 0;

    font-size: 32px;

    line-height: 1.25;

    font-weight: 900;
}

.shows-feature-meta {
    display: flex;

    gap: 15px;

    flex-wrap: wrap;

    font-size: 10px;
}

.shows-feature-actions {
    margin-top: 17px;
}

.shows-watch-button {
    display: inline-flex;

    align-items: center;

    gap: 8px;

    padding: 12px 16px;

    border-radius: 8px;

    background: var(--red);

    color: #fff;

    font-weight: 900;

    font-size: 10px;
}

.shows-watch-button svg {
    width: 18px;
    height: 18px;

    fill: none;
    stroke: currentColor;

    stroke-width: 1.8;
    stroke-linejoin: round;
}


/* SIDEBAR */

.shows-sidebar {
    display: flex;

    flex-direction: column;

    gap: 18px;
}

.shows-side-card {
    padding: 20px;

    border: 1px solid #e6e6e6;

    border-radius: 14px;
}

.shows-section-title {
    display: flex;

    align-items: center;
    justify-content: space-between;

    gap: 15px;

    margin-bottom: 16px;
}

.shows-section-title h2 {
    margin: 0;

    padding-left: 10px;

    border-left:
        4px solid var(--red);

    font-size: 18px;

    font-weight: 900;
}

.shows-section-title a {
    font-size: 9px;

    font-weight: 900;
}

.shows-sidebar-feature img {
    width: 100%;
    height: 165px;

    object-fit: cover;

    border-radius: 9px;
}

.shows-sidebar-feature h3 {
    margin: 10px 0 5px;

    font-size: 14px;
}

.shows-sidebar-feature p,
.shows-sidebar-feature small {
    color: #666;

    font-size: 10px;
}

.shows-genre-list {
    display: flex;

    flex-direction: column;
}

.shows-genre-list button {
    display: flex;

    justify-content: space-between;

    gap: 15px;

    border: 0;

    border-bottom: 1px solid #eee;

    padding: 10px 0;

    background: transparent;

    cursor: pointer;

    text-align: left;
}

.shows-genre-list strong {
    text-transform: capitalize;
}

.shows-genre-list span {
    color: #777;
}

.shows-youtube-button {
    display: inline-block;

    margin-top: 12px;

    padding: 11px 15px;

    border-radius: 7px;

    background: var(--red);

    color: #fff;

    font-weight: 900;
}


/* SECTIONS */

.shows-section {
    margin-top: 38px;
}


/* CARDS */

.shows-card-grid {
    display: grid;

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

    gap: 20px;
}

.shows-card {
    overflow: hidden;

    border: 1px solid #e6e6e6;

    border-radius: 11px;

    transition:
        transform .25s ease,
        box-shadow .25s ease;
}

.shows-card:hover {
    transform: translateY(-4px);

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

.shows-card-image {
    position: relative;

    height: 175px;
}

.shows-card-image img {
    width: 100%;
    height: 100%;

    object-fit: cover;
}

.shows-card-badge {
    position: absolute;

    left: 10px;
    top: 10px;

    padding: 6px 8px;

    border-radius: 5px;

    background: #111;

    color: #fff;

    font-size: 8px;

    font-weight: 900;
}

.shows-card-badge.live {
    background: var(--red);
}

.shows-card-badge.replay {
    background: rgba(0,0,0,.78);
}

.shows-card-copy {
    padding: 14px;
}

.shows-card-copy h3 {
    margin: 7px 0;

    font-size: 14px;

    line-height: 1.4;
}

.shows-card-copy small {
    color: #777;

    font-size: 9px;
}


/* EPISODES */

.shows-episode-grid {
    display: grid;

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

    gap: 20px;
}

.shows-episode-card {
    min-width: 0;
}

.shows-episode-image {
    position: relative;

    height: 175px;

    overflow: hidden;

    border-radius: 10px;

    background: #111;
}

.shows-episode-image img {
    width: 100%;
    height: 100%;

    object-fit: cover;
}

.shows-play {
    position: absolute;

    left: 50%;
    top: 50%;

    transform:
        translate(-50%,-50%);

    width: 46px;
    height: 46px;

    display: grid;

    place-items: center;

    border: 2px solid #fff;

    border-radius: 50%;

    background: rgba(0,0,0,.45);

    color: #fff;
}

.shows-play svg {
    width: 21px;
    height: 21px;

    fill: none;
    stroke: currentColor;

    stroke-width: 1.8;
    stroke-linejoin: round;
}

.shows-episode-card h3 {
    margin: 8px 0 5px;

    font-size: 13px;

    line-height: 1.4;
}

.shows-episode-card small {
    color: #777;

    font-size: 9px;
}


/* SHORTS */

.shows-shorts-grid {
    display: grid;

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

    gap: 16px;
}

.shows-short-card {
    position: relative;

    height: 290px;

    overflow: hidden;

    border-radius: 11px;

    background: #111;
}

.shows-short-card img {
    width: 100%;
    height: 100%;

    object-fit: cover;
}

.shows-short-shade {
    position: absolute;

    inset: 0;

    background:
        linear-gradient(
            transparent 40%,
            rgba(0,0,0,.9)
        );
}

.shows-short-label {
    position: absolute;

    left: 10px;
    top: 10px;

    padding: 5px 8px;

    border-radius: 5px;

    background: #111;

    color: #fff;

    font-size: 8px;

    font-weight: 900;
}

.shows-short-card h3 {
    position: absolute;

    left: 13px;
    right: 13px;
    bottom: 13px;

    z-index: 3;

    margin: 0;

    color: #fff;

    font-size: 12px;

    line-height: 1.4;
}


/* CATEGORY CARDS */

.shows-category-grid {
    display: grid;

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

    gap: 15px;
}

.shows-category-card {
    min-height: 110px;

    display: flex;

    flex-direction: column;

    justify-content: center;
    align-items: center;

    gap: 8px;

    border: 1px solid #e6e6e6;

    border-radius: 10px;

    background: #fff;

    cursor: pointer;

    transition:
        transform .2s ease,
        border-color .2s ease;
}

.shows-category-card:hover {
    transform: translateY(-3px);

    border-color: var(--red);
}

.shows-category-icon {
    width: 34px;
    height: 34px;

    display: grid;

    place-items: center;

    color: var(--red);
}

.shows-category-icon svg {
    width: 25px;
    height: 25px;

    fill: none;
    stroke: currentColor;

    stroke-width: 1.8;
    stroke-linejoin: round;
}

.shows-category-card strong {
    text-transform: capitalize;

    font-size: 10px;
}

.shows-category-card small {
    color: #777;
}


/* FILTER */

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

.shows-no-results {
    margin-top: 35px;
    margin-bottom: 45px;

    padding: 26px;

    border: 1px solid #eee;

    border-radius: 12px;

    text-align: center;

    font-weight: 800;
}


/* RESPONSIVE */

@media (max-width: 1200px) {

    .shows-main-grid {
        grid-template-columns:
            minmax(0,1fr)
            290px;
    }

    .shows-card-grid,
    .shows-episode-grid {
        grid-template-columns:
            repeat(2,minmax(0,1fr));
    }

    .shows-shorts-grid {
        grid-template-columns:
            repeat(3,minmax(0,1fr));
    }

    .shows-category-grid {
        grid-template-columns:
            repeat(4,minmax(0,1fr));
    }

}


@media (max-width: 900px) {

    .shows-head,
    .shows-main-grid,
    .shows-section,
    .shows-no-results {
        width:
            min(
                calc(100% - 30px),
                1500px
            );
    }

    .shows-title-row {
        flex-direction: column;

        align-items: stretch;
    }

    .shows-search {
        width: 100%;
    }

    .shows-state-filter {
        justify-content: flex-start;
    }

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

    .shows-feature {
        height: 470px;
    }

}


@media (max-width: 600px) {

    .shows-title-row h1 {
        font-size: 34px;
    }

    .shows-feature {
        height: 390px;
    }

    .shows-feature-copy h2 {
        font-size: 22px;
    }

    .shows-card-grid,
    .shows-episode-grid,
    .shows-shorts-grid,
    .shows-category-grid {
        grid-template-columns: 1fr;
    }

    .shows-short-card {
        height: 390px;
    }

}


/* =========================================================
   DALLAS MEDIA GROUP
   REAL PODCASTS PAGE V1
   ========================================================= */

.podcasts-page {
    background: #fff;
}

.podcasts-head,
.podcast-main-grid,
.podcast-section,
.podcast-subscribe,
.podcast-no-results {
    width: min(1500px, calc(100% - 64px));
    margin-left: auto;
    margin-right: auto;
}


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

.podcasts-head {
    padding-top: 34px;
}

.podcasts-breadcrumb {
    display: flex;
    align-items: center;
    gap: 10px;

    margin-bottom: 28px;

    color: #777;

    font-size: 13px;
    font-weight: 700;
}

.podcasts-title-row {
    display: flex;

    align-items: flex-end;
    justify-content: space-between;

    gap: 30px;
}

.podcasts-title-row h1 {
    margin: 0;

    padding-left: 15px;

    border-left: 5px solid var(--red);

    font-size: 42px;

    line-height: 1;

    font-weight: 900;
}

.podcasts-title-row p {
    max-width: 620px;

    margin: 16px 0 0;

    font-size: 15px;

    line-height: 1.7;
}


/* SEARCH */

.podcasts-search {
    width: 310px;
    height: 48px;

    display: flex;
    align-items: center;

    gap: 10px;

    padding: 0 15px;

    border: 1px solid #ddd;

    border-radius: 9px;
}

.podcasts-search span {
    width: 20px;
    height: 20px;

    display: grid;
    place-items: center;
}

.podcasts-search svg {
    width: 18px;
    height: 18px;

    fill: none;
    stroke: currentColor;

    stroke-width: 1.8;

    stroke-linecap: round;
    stroke-linejoin: round;
}

.podcasts-search input {
    width: 100%;

    border: 0;

    outline: 0;

    background: transparent;
}


/* =========================================================
   FILTERS
   ========================================================= */

.podcast-state-filter,
.podcast-category-filter {
    display: flex;

    gap: 8px;

    overflow-x: auto;
}

.podcast-state-filter {
    justify-content: flex-end;

    margin-top: 15px;
}

.podcast-category-filter {
    margin-top: 18px;

    padding-bottom: 20px;
}

.podcast-state-filter button,
.podcast-category-filter button {
    flex: 0 0 auto;

    border: 1px solid #ddd;

    border-radius: 24px;

    padding: 9px 17px;

    background: #fff;

    cursor: pointer;

    font-weight: 800;
}

.podcast-state-filter button.active {
    background: #111;

    border-color: #111;

    color: #fff;
}

.podcast-category-filter button.active {
    background: var(--red);

    border-color: var(--red);

    color: #fff;
}

.podcast-category-filter small {
    margin-left: 4px;

    opacity: .7;
}


/* =========================================================
   MAIN FEATURE AREA
   ========================================================= */

.podcast-main-grid {
    display: grid;

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

    gap: 28px;

    margin-top: 10px;
}

.podcast-feature {
    position: relative;

    display: block;

    height: 560px;

    overflow: hidden;

    border-radius: 15px;

    background: #080808;
}

.podcast-feature > img {
    width: 100%;
    height: 100%;

    object-fit: cover;
}

.podcast-feature-shade {
    position: absolute;

    inset: 0;

    background:
        linear-gradient(
            90deg,
            rgba(0,0,0,.9) 0%,
            rgba(0,0,0,.63) 40%,
            rgba(0,0,0,.2) 75%,
            rgba(0,0,0,.1) 100%
        );
}


/* HERO BRAND */

.podcast-brand-mark {
    position: absolute;

    left: 35px;
    top: 35px;

    z-index: 3;

    display: flex;

    flex-direction: column;

    color: #fff;
}

.podcast-brand-mark strong {
    font-family: Arial, sans-serif;

    font-size: 54px;

    line-height: .85;

    color: var(--red);
}

.podcast-brand-mark span {
    margin-top: 6px;

    font-size: 15px;

    font-weight: 900;
}

.podcast-brand-mark small {
    margin-top: 4px;

    font-size: 10px;

    letter-spacing: .12em;
}


/* FEATURE BADGE */

.podcast-feature-badge {
    position: absolute;

    left: 30px;
    bottom: 205px;

    z-index: 4;

    padding: 7px 10px;

    border-radius: 6px;

    background: var(--red);

    color: #fff;

    font-size: 9px;

    font-weight: 900;
}

.podcast-feature-badge.replay {
    background: rgba(0,0,0,.78);
}


/* FEATURE COPY */

.podcast-feature-copy {
    position: absolute;

    left: 30px;
    right: 30px;
    bottom: 30px;

    z-index: 3;

    max-width: 680px;

    color: #fff;
}

.podcast-category-label {
    color: var(--red);

    font-size: 9px;

    font-weight: 900;

    text-transform: uppercase;
}

.podcast-feature-copy
.podcast-category-label {
    color: #fff;
}

.podcast-feature-copy h2 {
    margin: 9px 0;

    font-size: 31px;

    line-height: 1.25;

    font-weight: 900;
}

.podcast-feature-meta {
    display: flex;

    flex-wrap: wrap;

    gap: 15px;

    font-size: 10px;
}

.podcast-play-button {
    display: inline-flex;

    align-items: center;

    gap: 8px;

    margin-top: 17px;

    padding: 12px 16px;

    border-radius: 8px;

    background: var(--red);

    color: #fff;

    font-size: 10px;

    font-weight: 900;
}

.podcast-play-icon {
    width: 20px;
    height: 20px;

    display: grid;

    place-items: center;
}

.podcast-play-icon svg {
    width: 17px;
    height: 17px;

    fill: none;
    stroke: currentColor;

    stroke-width: 1.8;
}


/* =========================================================
   SIDEBAR
   ========================================================= */

.podcast-sidebar {
    display: flex;

    flex-direction: column;

    gap: 18px;
}

.podcast-side-card {
    padding: 20px;

    border: 1px solid #e6e6e6;

    border-radius: 14px;

    background: #fff;
}

.podcast-section-title {
    display: flex;

    align-items: center;
    justify-content: space-between;

    gap: 16px;

    margin-bottom: 17px;
}

.podcast-section-title h2 {
    margin: 0;

    padding-left: 10px;

    border-left:
        4px solid var(--red);

    font-size: 18px;

    font-weight: 900;
}

.podcast-section-title > a {
    font-size: 9px;

    font-weight: 900;
}


/* ABOUT */

.podcast-about {
    display: grid;

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

    gap: 14px;

    align-items: center;
}

.podcast-about-icon {
    width: 55px;
    height: 55px;

    display: grid;

    place-items: center;

    border-radius: 50%;

    background:
        rgba(237,21,21,.08);

    color: var(--red);
}

.podcast-about-icon svg {
    width: 28px;
    height: 28px;

    fill: none;
    stroke: currentColor;

    stroke-width: 1.8;
    stroke-linecap: round;
    stroke-linejoin: round;
}

.podcast-about p {
    margin: 0;

    color: #555;

    font-size: 10px;

    line-height: 1.6;
}

.podcast-about-point {
    display: grid;

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

    gap: 9px;

    align-items: center;

    margin-top: 14px;
}

.podcast-about-point > span {
    width: 24px;
    height: 24px;

    display: grid;

    place-items: center;

    color: var(--red);
}

.podcast-about-point svg {
    width: 19px;
    height: 19px;

    fill: none;
    stroke: currentColor;

    stroke-width: 1.7;
    stroke-linecap: round;
    stroke-linejoin: round;
}

.podcast-about-point strong {
    font-size: 10px;
}

.podcast-outline-button {
    display: block;

    margin-top: 20px;

    padding: 12px;

    border: 1px solid var(--red);

    border-radius: 7px;

    text-align: center;

    color: var(--red);

    font-size: 10px;

    font-weight: 900;
}


/* =========================================================
   SIDEBAR LATEST
   ========================================================= */

.podcast-side-episode {
    display: grid;

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

    gap: 12px;

    align-items: center;

    padding: 12px 0;

    border-bottom: 1px solid #eee;
}

.podcast-side-episode > div:first-child {
    position: relative;
}

.podcast-side-episode img {
    width: 90px;
    height: 70px;

    border-radius: 8px;

    object-fit: cover;
}

.podcast-side-episode h3 {
    margin: 0 0 4px;

    font-size: 11px;

    line-height: 1.4;
}

.podcast-side-episode span,
.podcast-side-episode small {
    display: block;

    color: #777;

    font-size: 8px;
}

.podcast-small-play,
.podcast-card-play {
    position: absolute;

    left: 50%;
    top: 50%;

    transform:
        translate(-50%,-50%);

    width: 34px;
    height: 34px;

    display: grid;

    place-items: center;

    border: 2px solid #fff;

    border-radius: 50%;

    background:
        rgba(0,0,0,.5);

    color: #fff;
}

.podcast-small-play svg,
.podcast-card-play svg {
    width: 17px;
    height: 17px;

    fill: none;
    stroke: currentColor;

    stroke-width: 1.8;
    stroke-linejoin: round;
}

.podcast-view-all {
    display: block;

    margin-top: 15px;

    padding: 12px;

    border-radius: 7px;

    background: #f3f3f3;

    text-align: center;

    font-size: 10px;

    font-weight: 900;
}


/* =========================================================
   GENERAL SECTION
   ========================================================= */

.podcast-section {
    margin-top: 38px;
}


/* =========================================================
   POPULAR PODCASTS
   ========================================================= */

.podcast-popular-grid {
    display: grid;

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

    gap: 18px;
}

.podcast-popular-card {
    overflow: hidden;

    border: 1px solid #e5e5e5;

    border-radius: 11px;

    transition:
        transform .25s ease,
        box-shadow .25s ease;
}

.podcast-popular-card:hover {
    transform: translateY(-4px);

    box-shadow:
        0 12px 28px
        rgba(0,0,0,.08);
}

.podcast-popular-image {
    position: relative;

    height: 190px;

    background: #111;
}

.podcast-popular-image img {
    width: 100%;
    height: 100%;

    object-fit: cover;
}

.podcast-card-state {
    position: absolute;

    top: 10px;
    left: 10px;

    padding: 5px 8px;

    border-radius: 5px;

    background: rgba(0,0,0,.78);

    color: #fff;

    font-size: 8px;

    font-weight: 900;
}

.podcast-card-state.live {
    background: var(--red);
}

.podcast-popular-copy {
    padding: 14px;
}

.podcast-popular-copy h3 {
    margin: 7px 0;

    font-size: 13px;

    line-height: 1.4;
}

.podcast-popular-copy small {
    color: #777;

    font-size: 9px;
}


/* =========================================================
   CATEGORY GRID
   ========================================================= */

.podcast-category-grid {
    display: grid;

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

    gap: 16px;
}

.podcast-category-card {
    min-height: 100px;

    display: grid;

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

    grid-template-rows:
        auto auto;

    align-items: center;

    column-gap: 13px;

    padding: 17px;

    border: 1px solid #e6e6e6;

    border-radius: 11px;

    background: #fff;

    text-align: left;

    cursor: pointer;
}

.podcast-category-icon {
    grid-row: 1 / 3;

    width: 48px;
    height: 48px;

    display: grid;

    place-items: center;

    border-radius: 50%;

    background:
        rgba(237,21,21,.08);

    color: var(--red);
}

.podcast-category-icon svg {
    width: 25px;
    height: 25px;

    fill: none;
    stroke: currentColor;

    stroke-width: 1.8;

    stroke-linecap: round;
    stroke-linejoin: round;
}

.podcast-category-card strong {
    text-transform: capitalize;

    font-size: 12px;
}

.podcast-category-card small {
    color: #777;

    font-size: 9px;
}


/* =========================================================
   TRENDING
   ========================================================= */

.podcast-trending-grid {
    display: grid;

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

    gap: 20px;
}

.podcast-trending-card {
    display: grid;

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

    gap: 14px;

    align-items: center;

    padding: 13px;

    border: 1px solid #e5e5e5;

    border-radius: 11px;
}

.podcast-trending-image {
    position: relative;

    height: 90px;
}

.podcast-trending-image img {
    width: 125px;
    height: 90px;

    border-radius: 8px;

    object-fit: cover;
}

.podcast-trending-card h3 {
    margin: 5px 0;

    font-size: 12px;

    line-height: 1.4;
}

.podcast-trending-card small {
    color: #777;

    font-size: 9px;
}


/* =========================================================
   EPISODES / REPLAYS
   ========================================================= */

.podcast-episode-grid {
    display: grid;

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

    gap: 20px;
}

.podcast-episode-image {
    position: relative;

    height: 180px;

    overflow: hidden;

    border-radius: 10px;

    background: #111;
}

.podcast-episode-image img {
    width: 100%;
    height: 100%;

    object-fit: cover;
}

.podcast-episode-card h3 {
    margin: 9px 0 0;

    font-size: 13px;

    line-height: 1.4;
}

.podcast-live-badge,
.podcast-replay-badge {
    position: absolute;

    top: 10px;
    left: 10px;

    padding: 6px 8px;

    border-radius: 5px;

    background: var(--red);

    color: #fff;

    font-size: 8px;

    font-weight: 900;
}

.podcast-replay-badge {
    background:
        rgba(0,0,0,.78);
}


/* =========================================================
   SHORTS
   ========================================================= */

.podcast-shorts-grid {
    display: grid;

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

    gap: 16px;
}

.podcast-short-card {
    position: relative;

    height: 290px;

    overflow: hidden;

    border-radius: 11px;

    background: #111;
}

.podcast-short-card img {
    width: 100%;
    height: 100%;

    object-fit: cover;
}

.podcast-short-shade {
    position: absolute;

    inset: 0;

    background:
        linear-gradient(
            transparent 40%,
            rgba(0,0,0,.9)
        );
}

.podcast-short-badge {
    position: absolute;

    left: 10px;
    top: 10px;

    z-index: 3;

    padding: 5px 8px;

    border-radius: 5px;

    background: #111;

    color: #fff;

    font-size: 8px;

    font-weight: 900;
}

.podcast-short-card h3 {
    position: absolute;

    left: 13px;
    right: 13px;
    bottom: 13px;

    z-index: 3;

    margin: 0;

    color: #fff;

    font-size: 12px;

    line-height: 1.4;
}


/* =========================================================
   SUBSCRIBE CTA
   ========================================================= */

.podcast-subscribe {
    display: grid;

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

    align-items: center;

    gap: 18px;

    margin-top: 38px;
    margin-bottom: 42px;

    padding: 22px 28px;

    border-radius: 12px;

    background:
        linear-gradient(
            90deg,
            rgba(237,21,21,.08),
            rgba(237,21,21,.02)
        );
}

.podcast-subscribe-icon {
    width: 55px;
    height: 55px;

    display: grid;

    place-items: center;

    border-radius: 50%;

    background: var(--red);

    color: #fff;
}

.podcast-subscribe-icon svg {
    width: 27px;
    height: 27px;

    fill: none;
    stroke: currentColor;

    stroke-width: 1.8;

    stroke-linecap: round;
    stroke-linejoin: round;
}

.podcast-subscribe h2 {
    margin: 0 0 4px;

    font-size: 19px;
}

.podcast-subscribe p {
    margin: 0;

    color: #555;

    font-size: 10px;
}

.podcast-subscribe > a {
    padding: 13px 18px;

    border-radius: 7px;

    background: var(--red);

    color: #fff;

    font-size: 10px;

    font-weight: 900;
}


/* =========================================================
   FILTER STATE
   ========================================================= */

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

.podcast-no-results {
    margin-top: 35px;
    margin-bottom: 45px;

    padding: 26px;

    border: 1px solid #eee;

    border-radius: 12px;

    text-align: center;

    font-weight: 800;
}


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

@media (max-width: 1200px) {

    .podcast-main-grid {
        grid-template-columns:
            minmax(0,1fr)
            300px;
    }

    .podcast-popular-grid {
        grid-template-columns:
            repeat(3,minmax(0,1fr));
    }

    .podcast-episode-grid {
        grid-template-columns:
            repeat(2,minmax(0,1fr));
    }

    .podcast-shorts-grid {
        grid-template-columns:
            repeat(3,minmax(0,1fr));
    }

}


@media (max-width: 900px) {

    .podcasts-head,
    .podcast-main-grid,
    .podcast-section,
    .podcast-subscribe,
    .podcast-no-results {
        width:
            min(
                calc(100% - 30px),
                1500px
            );
    }

    .podcasts-title-row {
        flex-direction: column;

        align-items: stretch;
    }

    .podcasts-search {
        width: 100%;
    }

    .podcast-state-filter {
        justify-content: flex-start;
    }

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

    .podcast-feature {
        height: 470px;
    }

    .podcast-category-grid,
    .podcast-trending-grid {
        grid-template-columns:
            repeat(2,minmax(0,1fr));
    }

    .podcast-subscribe {
        grid-template-columns:
            55px
            minmax(0,1fr);
    }

    .podcast-subscribe > a {
        grid-column: 1 / -1;

        text-align: center;
    }

}


@media (max-width: 600px) {

    .podcasts-title-row h1 {
        font-size: 34px;
    }

    .podcast-feature {
        height: 390px;
    }

    .podcast-feature-copy h2 {
        font-size: 21px;
    }

    .podcast-brand-mark strong {
        font-size: 40px;
    }

    .podcast-popular-grid,
    .podcast-category-grid,
    .podcast-trending-grid,
    .podcast-episode-grid,
    .podcast-shorts-grid {
        grid-template-columns: 1fr;
    }

    .podcast-short-card {
        height: 390px;
    }

    .podcast-trending-card {
        grid-template-columns:
            105px
            minmax(0,1fr);
    }

    .podcast-trending-image,
    .podcast-trending-image img {
        width: 105px;
        height: 80px;
    }

}


/* =========================================================
   DALLAS MEDIA GROUP
   VIDEOS + GALLERY V1
   ========================================================= */

.dm-videos-page,
.dm-gallery-page {
    background: #fff;
}

.dm-media-head,
.dm-video-main,
.dm-gallery-feature-layout,
.dm-media-section,
.dm-media-no-results {
    width: min(1500px, calc(100% - 64px));
    margin-left: auto;
    margin-right: auto;
}


/* =========================================================
   COMMON PAGE HEADER
   ========================================================= */

.dm-media-head {
    padding-top: 34px;
}

.dm-breadcrumb {
    display: flex;
    align-items: center;
    gap: 10px;

    margin-bottom: 27px;

    color: #777;

    font-size: 13px;
    font-weight: 700;
}

.dm-media-title-row {
    display: flex;

    align-items: flex-end;
    justify-content: space-between;

    gap: 30px;
}

.dm-media-title-row h1 {
    margin: 0;

    padding-left: 15px;

    border-left: 5px solid var(--red);

    font-size: 42px;

    line-height: 1;

    font-weight: 900;
}

.dm-media-title-row p {
    max-width: 620px;

    margin: 16px 0 0;

    font-size: 15px;

    line-height: 1.7;
}


/* SEARCH */

.dm-media-search {
    width: 310px;
    height: 48px;

    display: flex;

    align-items: center;

    gap: 10px;

    padding: 0 15px;

    border: 1px solid #ddd;

    border-radius: 9px;
}

.dm-media-search > span {
    width: 20px;
    height: 20px;

    display: grid;

    place-items: center;
}

.dm-media-search svg {
    width: 18px;
    height: 18px;

    fill: none;
    stroke: currentColor;

    stroke-width: 1.8;
    stroke-linecap: round;
    stroke-linejoin: round;
}

.dm-media-search input {
    width: 100%;

    border: 0;

    outline: 0;

    background: transparent;
}


/* =========================================================
   VIDEO FILTERS
   ========================================================= */

.dm-video-state-filter,
.dm-video-category-filter,
.dm-gallery-category-filter {
    display: flex;

    gap: 8px;

    overflow-x: auto;
}

.dm-video-state-filter {
    justify-content: flex-end;

    margin-top: 15px;
}

.dm-video-category-filter,
.dm-gallery-category-filter {
    margin-top: 20px;

    padding-bottom: 20px;
}

.dm-video-state-filter button,
.dm-video-category-filter button,
.dm-gallery-category-filter button {
    flex: 0 0 auto;

    border: 1px solid #ddd;

    border-radius: 24px;

    padding: 9px 17px;

    background: #fff;

    cursor: pointer;

    font-weight: 800;
}

.dm-video-state-filter button.active {
    background: #111;

    color: #fff;

    border-color: #111;
}

.dm-video-category-filter button.active,
.dm-gallery-category-filter button.active {
    background: var(--red);

    color: #fff;

    border-color: var(--red);
}


/* =========================================================
   VIDEO HERO
   ========================================================= */

.dm-video-main {
    display: grid;

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

    gap: 28px;

    margin-top: 10px;
}

.dm-video-feature {
    position: relative;

    height: 560px;

    overflow: hidden;

    border-radius: 15px;

    background: #111;
}

.dm-video-feature > img {
    width: 100%;
    height: 100%;

    object-fit: cover;
}

.dm-video-feature-overlay,
.dm-gallery-shade {
    position: absolute;

    inset: 0;

    background:
        linear-gradient(
            transparent 35%,
            rgba(0,0,0,.92)
        );
}

.dm-video-main-play {
    position: absolute;

    left: 50%;
    top: 48%;

    transform:
        translate(-50%,-50%);

    z-index: 4;

    width: 72px;
    height: 72px;

    display: grid;

    place-items: center;

    border-radius: 50%;

    background: #fff;

    color: #111;
}

.dm-video-main-play svg {
    width: 32px;
    height: 32px;

    fill: none;
    stroke: currentColor;

    stroke-width: 1.8;
    stroke-linejoin: round;
}

.dm-video-feature-state {
    position: absolute;

    left: 26px;
    bottom: 170px;

    z-index: 4;

    padding: 7px 10px;

    border-radius: 6px;

    background: var(--red);

    color: #fff;

    font-size: 9px;
    font-weight: 900;
}

.dm-video-feature-state.live {
    animation: livePulse 1.2s infinite;
}

.dm-video-feature-copy {
    position: absolute;

    left: 28px;
    right: 28px;
    bottom: 30px;

    z-index: 4;

    color: #fff;
}

.dm-video-feature-copy > span {
    font-size: 10px;

    text-transform: uppercase;
}

.dm-video-feature-copy h2 {
    margin: 8px 0;

    font-size: 30px;

    line-height: 1.3;
}

.dm-video-feature-copy small {
    font-size: 10px;
}


/* =========================================================
   NOW PLAYING
   ========================================================= */

.dm-video-now,
.dm-gallery-popular {
    align-self: start;

    padding: 20px;

    border: 1px solid #e5e5e5;

    border-radius: 14px;
}

.dm-section-heading {
    display: flex;

    justify-content: space-between;
    align-items: center;

    gap: 15px;

    margin-bottom: 17px;
}

.dm-section-heading h2 {
    margin: 0;

    padding-left: 10px;

    border-left: 4px solid var(--red);

    font-size: 18px;

    font-weight: 900;
}

.dm-section-heading a {
    font-size: 9px;

    font-weight: 900;
}

.dm-video-now-row {
    display: grid;

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

    gap: 12px;

    align-items: center;

    padding: 12px 0;

    border-bottom: 1px solid #eee;
}

.dm-video-now-row > div:first-child {
    position: relative;
}

.dm-video-now-row img {
    width: 110px;
    height: 72px;

    border-radius: 8px;

    object-fit: cover;
}

.dm-mini-play,
.dm-card-play {
    position: absolute;

    left: 50%;
    top: 50%;

    transform:
        translate(-50%,-50%);

    width: 34px;
    height: 34px;

    display: grid;

    place-items: center;

    border: 2px solid #fff;

    border-radius: 50%;

    background: rgba(0,0,0,.5);

    color: #fff;
}

.dm-mini-play svg,
.dm-card-play svg {
    width: 17px;
    height: 17px;

    fill: none;

    stroke: currentColor;

    stroke-width: 1.8;
}

.dm-video-now-row h3 {
    margin: 0 0 5px;

    font-size: 11px;

    line-height: 1.4;
}

.dm-video-now-row span,
.dm-video-now-row small {
    display: block;

    color: #777;

    font-size: 8px;
}

.dm-video-view-all {
    display: block;

    margin-top: 15px;

    padding: 12px;

    border-radius: 7px;

    background: #f4f4f4;

    text-align: center;

    font-size: 10px;

    font-weight: 900;
}


/* =========================================================
   GENERIC SECTIONS
   ========================================================= */

.dm-media-section {
    margin-top: 38px;
}


/* =========================================================
   VIDEO CARDS
   ========================================================= */

.dm-video-card-grid {
    display: grid;

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

    gap: 19px;
}

.dm-video-card {
    overflow: hidden;

    border: 1px solid #e5e5e5;

    border-radius: 11px;

    background: #fff;

    transition:
        transform .22s ease,
        box-shadow .22s ease;
}

.dm-video-card:hover {
    transform: translateY(-4px);

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

.dm-video-card-media {
    position: relative;

    height: 170px;

    overflow: hidden;

    background: #111;
}

.dm-video-card-media img {
    width: 100%;
    height: 100%;

    object-fit: cover;
}

.dm-card-badge {
    position: absolute;

    left: 10px;
    top: 10px;

    padding: 5px 8px;

    border-radius: 5px;

    background: #111;

    color: #fff;

    font-size: 8px;
    font-weight: 900;
}

.dm-card-badge.live {
    background: var(--red);
}

.dm-video-card-copy {
    padding: 14px;
}

.dm-card-category {
    color: var(--red);

    font-size: 8px;

    text-transform: uppercase;

    font-weight: 900;
}

.dm-video-card-copy h3 {
    margin: 6px 0;

    font-size: 13px;

    line-height: 1.4;
}

.dm-video-card-copy small {
    color: #777;

    font-size: 9px;
}


/* =========================================================
   VIDEO CATEGORY GRID
   ========================================================= */

.dm-media-category-grid {
    display: grid;

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

    gap: 16px;
}

.dm-media-category-grid button {
    min-height: 95px;

    display: grid;

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

    align-items: center;

    gap: 13px;

    padding: 16px;

    border: 1px solid #e5e5e5;

    border-radius: 11px;

    background: #fff;

    text-align: left;

    cursor: pointer;
}

.dm-media-category-icon {
    width: 48px;
    height: 48px;

    display: grid;

    place-items: center;

    border-radius: 50%;

    background:
        rgba(237,21,21,.08);

    color: var(--red);
}

.dm-media-category-icon svg {
    width: 25px;
    height: 25px;

    fill: none;

    stroke: currentColor;

    stroke-width: 1.8;
}

.dm-media-category-grid strong,
.dm-media-category-grid small {
    display: block;
}

.dm-media-category-grid small {
    margin-top: 4px;

    color: #777;
}


/* =========================================================
   VIDEO TRENDING
   ========================================================= */

.dm-video-trending-grid {
    display: grid;

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

    gap: 16px;
}

.dm-video-trending {
    display: grid;

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

    gap: 12px;

    padding: 11px;

    border: 1px solid #e5e5e5;

    border-radius: 10px;
}

.dm-video-trending img {
    width: 110px;
    height: 72px;

    object-fit: cover;

    border-radius: 7px;
}

.dm-video-trending h3 {
    margin: 0;

    font-size: 11px;

    line-height: 1.4;
}

.dm-video-trending small {
    color: #777;

    font-size: 8px;
}


/* =========================================================
   GALLERY FEATURE
   ========================================================= */

.dm-gallery-feature-layout {
    display: grid;

    grid-template-columns:
        minmax(0,1.35fr)
        minmax(260px,.58fr)
        320px;

    gap: 18px;

    margin-top: 10px;
}

.dm-gallery-feature {
    position: relative;

    height: 510px;

    overflow: hidden;

    border-radius: 13px;

    background: #111;
}

.dm-gallery-feature img {
    width: 100%;
    height: 100%;

    object-fit: cover;
}

.dm-gallery-feature-badge {
    position: absolute;

    left: 22px;
    bottom: 105px;

    z-index: 3;

    padding: 7px 10px;

    border-radius: 5px;

    background: var(--red);

    color: #fff;

    font-size: 9px;

    font-weight: 900;
}

.dm-gallery-feature-copy {
    position: absolute;

    left: 23px;
    right: 23px;
    bottom: 24px;

    z-index: 3;

    color: #fff;
}

.dm-gallery-feature-copy h2 {
    margin: 0 0 7px;

    font-size: 27px;

    line-height: 1.3;
}

.dm-gallery-feature-copy span {
    font-size: 10px;
}


/* STACK */

.dm-gallery-feature-stack {
    display: grid;

    grid-template-rows:
        repeat(2,1fr);

    gap: 18px;
}

.dm-gallery-stack-card {
    position: relative;

    min-height: 0;

    overflow: hidden;

    border-radius: 11px;

    background: #111;
}

.dm-gallery-stack-card img {
    width: 100%;
    height: 100%;

    object-fit: cover;
}

.dm-gallery-stack-card h3 {
    position: absolute;

    left: 14px;
    right: 14px;
    bottom: 14px;

    z-index: 3;

    margin: 0;

    color: #fff;

    font-size: 13px;

    line-height: 1.4;
}


/* POPULAR GALLERY */

.dm-gallery-popular-row {
    display: grid;

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

    gap: 11px;

    align-items: center;

    padding: 11px 0;

    border-bottom: 1px solid #eee;
}

.dm-gallery-popular-row img {
    width: 82px;
    height: 65px;

    object-fit: cover;

    border-radius: 7px;
}

.dm-gallery-popular-row h3 {
    margin: 0 0 4px;

    font-size: 10px;

    line-height: 1.35;
}

.dm-gallery-popular-row span,
.dm-gallery-popular-row small {
    display: block;

    color: #777;

    font-size: 8px;
}


/* =========================================================
   GALLERY GRID
   ========================================================= */

.dm-gallery-grid {
    display: grid;

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

    gap: 19px;
}

.dm-gallery-card {
    overflow: hidden;

    border: 1px solid #e5e5e5;

    border-radius: 11px;
}

.dm-gallery-card-image {
    position: relative;

    height: 205px;

    overflow: hidden;
}

.dm-gallery-card-image img {
    width: 100%;
    height: 100%;

    object-fit: cover;

    transition:
        transform .3s ease;
}

.dm-gallery-card:hover
.dm-gallery-card-image img {
    transform: scale(1.04);
}

.dm-gallery-open-icon {
    position: absolute;

    right: 11px;
    bottom: 11px;

    width: 33px;
    height: 33px;

    display: grid;

    place-items: center;

    border-radius: 50%;

    background: rgba(0,0,0,.6);

    color: #fff;
}

.dm-gallery-open-icon svg {
    width: 18px;
    height: 18px;

    fill: none;

    stroke: currentColor;

    stroke-width: 1.6;
}

.dm-gallery-card-copy {
    padding: 13px;
}

.dm-gallery-card-copy h3 {
    margin: 0 0 5px;

    font-size: 12px;

    line-height: 1.4;
}

.dm-gallery-card-copy span {
    color: #777;

    font-size: 9px;
}


/* =========================================================
   GALLERY CATEGORY GRID
   ========================================================= */

.dm-gallery-category-grid {
    display: grid;

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

    gap: 15px;
}

.dm-gallery-category-grid button {
    min-height: 105px;

    display: flex;

    flex-direction: column;

    align-items: center;
    justify-content: center;

    gap: 6px;

    border: 1px solid #e5e5e5;

    border-radius: 10px;

    background: #fff;

    cursor: pointer;
}

.dm-gallery-category-grid button > span {
    width: 35px;
    height: 35px;

    display: grid;

    place-items: center;

    color: var(--red);
}

.dm-gallery-category-grid svg {
    width: 27px;
    height: 27px;

    fill: none;

    stroke: currentColor;

    stroke-width: 1.6;
}

.dm-gallery-category-grid strong {
    text-transform: capitalize;
}

.dm-gallery-category-grid small {
    color: #777;
}


/* =========================================================
   FOCUS STRIP
   ========================================================= */

.dm-gallery-focus {
    display: grid;

    grid-template-columns:
        1.6fr 1fr 1fr 1fr 1fr 1fr;

    gap: 10px;
}

.dm-gallery-focus-card {
    position: relative;

    height: 165px;

    overflow: hidden;

    border-radius: 10px;

    background: #111;
}

.dm-gallery-focus-card img {
    width: 100%;
    height: 100%;

    object-fit: cover;
}

.dm-gallery-focus-card h3 {
    position: absolute;

    left: 11px;
    right: 11px;
    bottom: 10px;

    z-index: 3;

    margin: 0;

    color: #fff;

    font-size: 10px;

    line-height: 1.3;
}


/* FILTER */

.dm-video-hidden,
.dm-gallery-hidden {
    display: none !important;
}

.dm-media-no-results {
    margin-top: 35px;
    margin-bottom: 45px;

    padding: 25px;

    border: 1px solid #eee;

    border-radius: 12px;

    text-align: center;

    font-weight: 800;
}


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

@media (max-width: 1200px) {

    .dm-video-main {
        grid-template-columns:
            minmax(0,1fr)
            300px;
    }

    .dm-video-card-grid {
        grid-template-columns:
            repeat(3,minmax(0,1fr));
    }

    .dm-gallery-feature-layout {
        grid-template-columns:
            minmax(0,1fr)
            300px;
    }

    .dm-gallery-feature-stack {
        display: none;
    }

    .dm-gallery-focus {
        grid-template-columns:
            repeat(3,minmax(0,1fr));
    }

}


@media (max-width: 900px) {

    .dm-media-head,
    .dm-video-main,
    .dm-gallery-feature-layout,
    .dm-media-section,
    .dm-media-no-results {
        width:
            min(
                calc(100% - 30px),
                1500px
            );
    }

    .dm-media-title-row {
        flex-direction: column;

        align-items: stretch;
    }

    .dm-media-search {
        width: 100%;
    }

    .dm-video-state-filter {
        justify-content: flex-start;
    }

    .dm-video-main,
    .dm-gallery-feature-layout {
        grid-template-columns: 1fr;
    }

    .dm-video-feature {
        height: 470px;
    }

    .dm-gallery-feature {
        height: 430px;
    }

    .dm-video-card-grid,
    .dm-gallery-grid {
        grid-template-columns:
            repeat(2,minmax(0,1fr));
    }

    .dm-media-category-grid,
    .dm-gallery-category-grid {
        grid-template-columns:
            repeat(2,minmax(0,1fr));
    }

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

}


@media (max-width: 600px) {

    .dm-media-title-row h1 {
        font-size: 34px;
    }

    .dm-video-feature,
    .dm-gallery-feature {
        height: 390px;
    }

    .dm-video-feature-copy h2,
    .dm-gallery-feature-copy h2 {
        font-size: 21px;
    }

    .dm-video-card-grid,
    .dm-gallery-grid,
    .dm-media-category-grid,
    .dm-gallery-category-grid,
    .dm-video-trending-grid,
    .dm-gallery-focus {
        grid-template-columns: 1fr;
    }

    .dm-gallery-focus-card {
        height: 220px;
    }

}


/* =========================================================
   DALLAS MEDIA GROUP
   ABOUT US PRODUCTION V1
   ========================================================= */

.about-page {
    background: #fff;
}


/* =========================================================
   HERO
   ========================================================= */

.about-hero {
    position: relative;

    min-height: 570px;

    overflow: hidden;

    background: #080808;
}

.about-hero-slides,
.about-hero-slide,
.about-hero-overlay {
    position: absolute;

    inset: 0;
}

.about-hero-slide {
    opacity: 0;

    background-size: cover;
    background-position: center;

    transform: scale(1.04);

    transition:
        opacity 1.2s ease,
        transform 7s ease;
}

.about-hero-slide.active {
    opacity: 1;

    transform: scale(1);
}

.about-hero-overlay {
    z-index: 2;

    background:
        linear-gradient(
            90deg,
            rgba(0,0,0,.92) 0%,
            rgba(0,0,0,.72) 38%,
            rgba(0,0,0,.25) 70%,
            rgba(0,0,0,.14) 100%
        );
}

.about-hero-content {
    position: relative;

    z-index: 4;

    width: min(
        1500px,
        calc(100% - 70px)
    );

    margin: 0 auto;

    padding-top: 70px;
    padding-bottom: 90px;

    color: #fff;
}

.about-breadcrumb {
    display: flex;

    gap: 10px;

    margin-bottom: 54px;

    font-size: 11px;
}

.about-breadcrumb a,
.about-breadcrumb span,
.about-breadcrumb strong {
    color:
        rgba(255,255,255,.72);
}

.about-hero-content h1 {
    max-width: 640px;

    margin: 0;

    font-size:
        clamp(48px, 6vw, 82px);

    line-height: .98;

    font-weight: 900;
}

.about-title-line {
    width: 62px;
    height: 4px;

    margin: 22px 0;

    background: var(--red);
}

.about-hero-content h2 {
    margin: 0 0 13px;

    font-size: 24px;
}

.about-hero-content p {
    max-width: 690px;

    margin: 0;

    color:
        rgba(255,255,255,.9);

    font-size: 16px;

    line-height: 1.8;
}

.about-hero-actions {
    display: flex;

    gap: 12px;

    flex-wrap: wrap;

    margin-top: 28px;
}

.about-primary-button,
.about-secondary-button {
    min-height: 47px;

    display: inline-flex;

    align-items: center;
    justify-content: center;

    gap: 9px;

    padding: 0 18px;

    border-radius: 8px;

    font-size: 10px;
    font-weight: 900;
}

.about-primary-button {
    background: var(--red);

    color: #fff;
}

.about-secondary-button {
    border:
        1px solid rgba(255,255,255,.7);

    color: #fff;

    background:
        rgba(0,0,0,.18);
}

.about-primary-button svg {
    width: 19px;
    height: 19px;

    fill: none;

    stroke: currentColor;

    stroke-width: 1.8;
}


/* HERO CONTROLS */

.about-slider-controls {
    position: absolute;

    z-index: 5;

    right: 34px;
    bottom: 28px;

    display: flex;

    align-items: center;

    gap: 10px;
}

.about-slider-arrow {
    width: 39px;
    height: 39px;

    display: grid;

    place-items: center;

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

    border-radius: 50%;

    background:
        rgba(0,0,0,.35);

    color: #fff;

    cursor: pointer;

    backdrop-filter: blur(5px);
}

.about-slider-arrow svg {
    width: 18px;
    height: 18px;

    fill: none;

    stroke: currentColor;

    stroke-width: 1.8;

    stroke-linecap: round;
    stroke-linejoin: round;
}

.about-slider-dots {
    display: flex;

    gap: 6px;
}

.about-slider-dots button {
    width: 8px;
    height: 8px;

    padding: 0;

    border: 0;

    border-radius: 10px;

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

    cursor: pointer;

    transition:
        width .25s ease,
        background .25s ease;
}

.about-slider-dots button.active {
    width: 26px;

    background: var(--red);
}


/* =========================================================
   SECTIONS
   ========================================================= */

.about-section {
    width:
        min(
            1500px,
            calc(100% - 70px)
        );

    margin:
        52px auto 0;
}

.about-section-heading {
    display: flex;

    align-items: center;

    gap: 10px;

    margin-bottom: 24px;
}

.about-section-heading > span {
    width: 5px;
    height: 31px;

    background: var(--red);

    border-radius: 6px;
}

.about-section-heading h2 {
    margin: 0;

    font-size: 27px;

    font-weight: 900;
}


/* =========================================================
   WHO WE ARE
   ========================================================= */

.about-who-grid {
    display: grid;

    grid-template-columns:
        minmax(0,.95fr)
        minmax(0,1.2fr);

    gap: 45px;
}

.about-who-copy {
    font-size: 14px;

    line-height: 1.9;
}

.about-who-copy p {
    margin:
        0 0 20px;
}

.about-principles-grid {
    display: grid;

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

    gap: 17px;
}

.about-principle-card {
    display: grid;

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

    gap: 15px;

    align-items: center;

    min-height: 150px;

    padding: 22px;

    border:
        1px solid #e7e7e7;

    border-radius: 13px;

    background: #fff;

    box-shadow:
        0 7px 20px
        rgba(0,0,0,.03);
}

.about-principle-icon {
    width: 54px;
    height: 54px;

    display: grid;

    place-items: center;

    border-radius: 12px;

    background:
        rgba(237,21,21,.07);

    color: var(--red);
}

.about-principle-icon svg {
    width: 30px;
    height: 30px;

    fill: none;

    stroke: currentColor;

    stroke-width: 1.8;

    stroke-linecap: round;
    stroke-linejoin: round;
}

.about-principle-card h3 {
    margin: 0 0 6px;

    font-size: 14px;
}

.about-principle-card p {
    margin: 0;

    color: #555;

    font-size: 11px;

    line-height: 1.6;
}


/* =========================================================
   COVERAGE
   ========================================================= */

.about-coverage-grid {
    display: grid;

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

    border-top:
        1px solid #eee;

    padding-top: 24px;
}

.about-coverage-grid article {
    min-width: 0;

    padding: 8px 17px 18px;

    text-align: center;
}

.about-coverage-icon {
    width: 50px;
    height: 50px;

    display: grid;

    place-items: center;

    margin:
        0 auto 12px;

    color: var(--red);
}

.about-coverage-icon svg {
    width: 34px;
    height: 34px;

    fill: none;

    stroke: currentColor;

    stroke-width: 1.7;

    stroke-linecap: round;
    stroke-linejoin: round;
}

.about-coverage-grid h3 {
    min-height: 38px;

    margin: 0 0 8px;

    font-size: 11px;
}

.about-coverage-grid p {
    margin: 0;

    color: #555;

    font-size: 9px;

    line-height: 1.6;
}


/* =========================================================
   PLATFORMS
   ========================================================= */

.about-platform-grid {
    display: grid;

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

    overflow: hidden;

    border:
        1px solid #e7e7e7;

    border-radius: 13px;
}

.about-platform-grid a {
    min-height: 140px;

    display: flex;

    flex-direction: column;

    align-items: center;
    justify-content: center;

    gap: 7px;

    padding: 20px 10px;

    border-right:
        1px solid #eee;

    text-align: center;

    transition:
        background .2s ease,
        transform .2s ease;
}

.about-platform-grid a:last-child {
    border-right: 0;
}

.about-platform-grid a:hover {
    background: #fff8f8;
}

.about-platform-grid a > span {
    width: 42px;
    height: 42px;

    display: grid;

    place-items: center;

    color: var(--red);
}

.about-platform-grid svg {
    width: 31px;
    height: 31px;

    fill: none;

    stroke: currentColor;

    stroke-width: 1.7;

    stroke-linecap: round;
    stroke-linejoin: round;
}

.about-platform-grid strong {
    font-size: 12px;
}

.about-platform-grid small {
    color: #666;

    font-size: 9px;
}


/* =========================================================
   WHY DALLAS
   ========================================================= */

.about-why-grid {
    display: grid;

    grid-template-columns:
        .85fr
        1fr
        1fr;

    gap: 24px;

    align-items: stretch;
}

.about-why-list {
    padding:
        10px 0;
}

.about-why-list > div {
    display: grid;

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

    gap: 9px;

    align-items: center;

    margin-bottom: 17px;
}

.about-why-list span {
    width: 22px;
    height: 22px;

    display: grid;

    place-items: center;

    color: var(--red);
}

.about-why-list svg {
    width: 18px;
    height: 18px;

    fill: none;

    stroke: currentColor;

    stroke-width: 2;

    stroke-linecap: round;
    stroke-linejoin: round;
}

.about-why-list strong {
    font-size: 12px;
}

.about-why-image {
    overflow: hidden;

    min-height: 310px;

    border-radius: 13px;
}

.about-why-image img {
    width: 100%;
    height: 100%;

    object-fit: cover;
}

.about-join-card {
    padding: 34px;

    border-radius: 13px;

    background:
        linear-gradient(
            135deg,
            #c90000,
            #f11c1c
        );

    color: #fff;
}

.about-join-card h2 {
    margin: 0 0 14px;

    font-size: 28px;
}

.about-join-card p {
    margin: 0;

    font-size: 14px;

    line-height: 1.8;
}

.about-join-actions {
    display: flex;

    flex-wrap: wrap;

    gap: 10px;

    margin-top: 25px;
}

.about-join-actions a {
    min-height: 42px;

    display: inline-flex;

    align-items: center;

    gap: 8px;

    padding: 0 14px;

    border-radius: 7px;

    background: #fff;

    color: #111;

    font-size: 9px;

    font-weight: 900;
}

.about-join-actions svg {
    width: 18px;
    height: 18px;

    fill: none;

    stroke: currentColor;

    stroke-width: 1.8;

    stroke-linecap: round;
    stroke-linejoin: round;
}


/* =========================================================
   CONTACT STRIP
   ========================================================= */

.about-contact-strip {
    width:
        min(
            1500px,
            calc(100% - 70px)
        );

    display: grid;

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

    margin:
        52px auto 55px;

    overflow: hidden;

    border:
        1px solid #e7e7e7;

    border-radius: 13px;
}

.about-contact-strip > div {
    display: grid;

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

    gap: 12px;

    align-items: center;

    padding: 22px;

    border-right:
        1px solid #eee;
}

.about-contact-strip > div:last-child {
    border-right: 0;
}

.about-contact-strip > div > span {
    width: 42px;
    height: 42px;

    display: grid;

    place-items: center;

    border-radius: 10px;

    background:
        rgba(237,21,21,.07);

    color: var(--red);
}

.about-contact-strip svg {
    width: 23px;
    height: 23px;

    fill: none;

    stroke: currentColor;

    stroke-width: 1.7;

    stroke-linecap: round;
    stroke-linejoin: round;
}

.about-contact-strip small {
    display: block;

    color: #777;

    font-size: 8px;

    font-weight: 900;
}

.about-contact-strip a {
    display: block;

    margin-top: 3px;

    font-size: 11px;

    font-weight: 800;
}


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

@media (max-width: 1200px) {

    .about-coverage-grid {
        grid-template-columns:
            repeat(4,minmax(0,1fr));
    }

    .about-platform-grid {
        grid-template-columns:
            repeat(3,minmax(0,1fr));
    }

    .about-platform-grid a {
        border-bottom:
            1px solid #eee;
    }

    .about-why-grid {
        grid-template-columns:
            1fr 1fr;
    }

    .about-join-card {
        grid-column:
            1 / -1;
    }

}


@media (max-width: 900px) {

    .about-hero-content,
    .about-section,
    .about-contact-strip {
        width:
            min(
                calc(100% - 30px),
                1500px
            );
    }

    .about-hero {
        min-height: 620px;
    }

    .about-hero-overlay {
        background:
            linear-gradient(
                90deg,
                rgba(0,0,0,.9),
                rgba(0,0,0,.5)
            );
    }

    .about-who-grid {
        grid-template-columns: 1fr;
    }

    .about-coverage-grid {
        grid-template-columns:
            repeat(2,minmax(0,1fr));
    }

    .about-contact-strip {
        grid-template-columns: 1fr;
    }

    .about-contact-strip > div {
        border-right: 0;

        border-bottom:
            1px solid #eee;
    }

}


@media (max-width: 650px) {

    .about-hero {
        min-height: 650px;
    }

    .about-hero-content {
        padding-top: 45px;
    }

    .about-breadcrumb {
        margin-bottom: 40px;
    }

    .about-hero-content h1 {
        font-size: 48px;
    }

    .about-hero-content h2 {
        font-size: 19px;
    }

    .about-hero-content p {
        font-size: 13px;
    }

    .about-slider-controls {
        left: 15px;
        right: auto;
    }

    .about-principles-grid,
    .about-coverage-grid,
    .about-platform-grid,
    .about-why-grid {
        grid-template-columns: 1fr;
    }

    .about-principle-card {
        min-height: auto;
    }

    .about-platform-grid a {
        border-right: 0;
    }

    .about-why-image {
        min-height: 260px;
    }

}


/* =========================================================
   DALLAS MEDIA GROUP
   CONTACT PRODUCTION V1
   ========================================================= */

.contact-page {
    background: #fff;
}


/* =========================================================
   HERO
   ========================================================= */

.contact-hero {
    position: relative;

    min-height: 500px;

    overflow: hidden;

    background: #080808;
}

.contact-hero-image,
.contact-hero-overlay {
    position: absolute;

    inset: 0;
}

.contact-hero-image img {
    width: 100%;
    height: 100%;

    object-fit: cover;
}

.contact-hero-overlay {
    background:
        linear-gradient(
            90deg,
            rgba(0,0,0,.95) 0%,
            rgba(0,0,0,.78) 38%,
            rgba(0,0,0,.2) 75%,
            rgba(0,0,0,.08) 100%
        );
}

.contact-hero-content {
    position: relative;

    z-index: 3;

    width:
        min(
            1500px,
            calc(100% - 70px)
        );

    margin: auto;

    padding:
        72px 0 55px;

    color: #fff;
}

.contact-kicker {
    color: var(--red);

    font-size: 11px;

    font-weight: 900;

    letter-spacing: .04em;
}

.contact-red-line {
    width: 45px;
    height: 3px;

    margin:
        10px 0 15px;

    background: var(--red);
}

.contact-hero h1 {
    margin: 0;

    font-size:
        clamp(48px, 6vw, 76px);

    line-height: 1;

    font-weight: 900;
}

.contact-hero h2 {
    margin:
        20px 0 10px;

    font-size: 20px;
}

.contact-hero p {
    max-width: 650px;

    margin: 0;

    color:
        rgba(255,255,255,.88);

    font-size: 14px;

    line-height: 1.8;
}

.contact-hero-points {
    max-width: 760px;

    display: grid;

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

    gap: 25px;

    margin-top: 35px;
}

.contact-hero-points > div {
    display: grid;

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

    gap: 12px;

    align-items: center;
}

.contact-hero-points > div > span {
    width: 46px;
    height: 46px;

    display: grid;

    place-items: center;

    border:
        2px solid var(--red);

    border-radius: 50%;

    color: #fff;
}

.contact-hero-points svg {
    width: 23px;
    height: 23px;

    fill: none;
    stroke: currentColor;

    stroke-width: 1.8;

    stroke-linecap: round;
    stroke-linejoin: round;
}

.contact-hero-points strong {
    display: block;

    margin-bottom: 3px;

    font-size: 11px;
}

.contact-hero-points small {
    display: block;

    color:
        rgba(255,255,255,.78);

    font-size: 9px;

    line-height: 1.5;
}


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

.contact-main-grid {
    width:
        min(
            1500px,
            calc(100% - 70px)
        );

    display: grid;

    grid-template-columns:
        minmax(0,1.15fr)
        minmax(350px,.85fr);

    gap: 55px;

    margin:
        45px auto 0;
}

.contact-section-heading {
    display: flex;

    align-items: center;

    gap: 10px;

    margin-bottom: 13px;
}

.contact-section-heading > span {
    width: 5px;
    height: 30px;

    border-radius: 4px;

    background: var(--red);
}

.contact-section-heading h2 {
    margin: 0;

    font-size: 26px;

    font-weight: 900;
}

.contact-section-description {
    margin:
        0 0 22px;

    color: #555;

    font-size: 11px;
}


/* =========================================================
   FORM
   ========================================================= */

.contact-form {
    display: grid;

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

    gap: 16px;
}

.contact-form > label {
    position: relative;

    min-height: 58px;

    display: flex;

    align-items: center;

    border:
        1px solid #ddd;

    border-radius: 9px;

    background: #fff;

    transition:
        border-color .2s ease,
        box-shadow .2s ease;
}

.contact-form > label:focus-within {
    border-color: var(--red);

    box-shadow:
        0 0 0 3px
        rgba(237,21,21,.07);
}

.contact-input-icon {
    width: 51px;

    flex: 0 0 51px;

    display: grid;

    place-items: center;

    color: #777;
}

.contact-input-icon svg {
    width: 20px;
    height: 20px;

    fill: none;

    stroke: currentColor;

    stroke-width: 1.7;

    stroke-linecap: round;
    stroke-linejoin: round;
}

.contact-form input,
.contact-form select,
.contact-form textarea {
    width: 100%;

    border: 0;

    outline: 0;

    padding:
        13px 14px 13px 0;

    background: transparent;

    font: inherit;
}

.contact-form select {
    cursor: pointer;
}

.contact-message-field {
    grid-column: 1 / -1;

    align-items: flex-start !important;

    min-height: 175px !important;
}

.contact-message-field
.contact-input-icon {
    padding-top: 16px;
}

.contact-message-field textarea {
    resize: vertical;

    min-height: 160px;
}


/* =========================================================
   CUSTOM ATTACHMENT
   ========================================================= */

.contact-upload-field {
    grid-column: 1 / -1;

    position: relative;
}

.contact-upload-input {
    position: absolute;

    width: 1px;
    height: 1px;

    opacity: 0;

    pointer-events: none;
}

.contact-upload-trigger {
    min-height: 68px;

    display: flex;

    align-items: center;

    gap: 14px;

    padding: 11px 15px;

    border:
        1px solid #ddd;

    border-radius: 9px;

    cursor: pointer;

    transition:
        border-color .2s ease,
        background .2s ease;
}

.contact-upload-trigger:hover {
    border-color: var(--red);

    background: #fffafa;
}

.contact-upload-icon {
    width: 42px;
    height: 42px;

    flex: 0 0 42px;

    display: grid;

    place-items: center;

    border-radius: 10px;

    background:
        rgba(237,21,21,.07);

    color: var(--red);
}

.contact-upload-icon svg {
    width: 22px;
    height: 22px;

    fill: none;

    stroke: currentColor;

    stroke-width: 1.8;

    stroke-linecap: round;
    stroke-linejoin: round;
}

.contact-upload-trigger strong,
.contact-upload-trigger small {
    display: block;
}

.contact-upload-trigger small {
    margin-top: 3px;

    color: #777;

    font-size: 9px;
}


/* SUBMIT */

.contact-submit {
    grid-column: 1 / -1;

    min-height: 50px;

    display: flex;

    align-items: center;
    justify-content: center;

    gap: 9px;

    border: 0;

    border-radius: 8px;

    background: var(--red);

    color: #fff;

    cursor: pointer;

    font-weight: 900;
}

.contact-submit svg {
    width: 18px;
    height: 18px;

    fill: none;

    stroke: currentColor;

    stroke-width: 1.8;

    stroke-linecap: round;
    stroke-linejoin: round;
}

.contact-form-result {
    grid-column: 1 / -1;

    min-height: 0;

    font-size: 10px;

    font-weight: 700;
}


/* =========================================================
   CONTACT INFORMATION
   ========================================================= */

.contact-right {
    display: flex;

    flex-direction: column;

    gap: 30px;
}

.contact-info-section {
    padding-left: 8px;
}

.contact-info-row {
    display: grid;

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

    gap: 15px;

    align-items: center;

    padding:
        19px 0;

    border-bottom:
        1px solid #e6e6e6;
}

.contact-info-icon {
    width: 56px;
    height: 56px;

    display: grid;

    place-items: center;

    border-radius: 50%;

    background: var(--red);

    color: #fff;
}

.contact-info-icon svg {
    width: 28px;
    height: 28px;

    fill: none;

    stroke: currentColor;

    stroke-width: 1.8;

    stroke-linecap: round;
    stroke-linejoin: round;
}

.contact-info-row strong {
    display: block;

    margin-bottom: 5px;

    font-size: 12px;
}

.contact-info-row p,
.contact-info-row a,
.contact-info-row span {
    display: block;

    margin: 0;

    font-size: 10px;

    line-height: 1.6;
}


/* =========================================================
   MAP
   ========================================================= */

.contact-map-section {
    margin-top: 42px;
}

.contact-map-section > p {
    margin:
        -4px 0 14px;

    color: #555;

    font-size: 11px;
}

.contact-map-frame {
    height: 390px;

    overflow: hidden;

    border:
        1px solid #ddd;

    border-radius: 13px;

    background: #f5f5f5;
}

.contact-map-frame iframe {
    width: 100%;
    height: 100%;

    border: 0;
}

.contact-open-map {
    display: inline-flex;

    align-items: center;

    gap: 8px;

    margin-top: 12px;

    padding:
        10px 15px;

    border-radius: 7px;

    background: #111;

    color: #fff;

    font-size: 9px;

    font-weight: 900;
}

.contact-open-map svg {
    width: 18px;
    height: 18px;

    fill: none;

    stroke: currentColor;

    stroke-width: 1.8;
}


/* =========================================================
   STORY TIP
   ========================================================= */

.contact-tip-card {
    padding: 21px;

    border:
        1px solid #eee;

    border-radius: 13px;
}

.contact-tip-card > p {
    font-size: 10px;

    line-height: 1.6;
}

.contact-tip-action {
    display: grid;

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

    gap: 12px;

    align-items: center;

    margin-top: 17px;

    padding: 16px;

    border-radius: 10px;

    background:
        rgba(237,21,21,.07);
}

.contact-tip-action > span {
    width: 48px;
    height: 48px;

    display: grid;

    place-items: center;

    border-radius: 50%;

    color: var(--red);
}

.contact-tip-action svg {
    width: 30px;
    height: 30px;

    fill: none;

    stroke: currentColor;

    stroke-width: 1.8;
}

.contact-tip-action strong,
.contact-tip-action small {
    display: block;
}

.contact-tip-action small {
    margin-top: 3px;

    color: #666;

    font-size: 8px;
}


/* =========================================================
   REAL BRAND SOCIAL BADGES
   ========================================================= */

.contact-social-grid {
    display: flex;

    flex-wrap: wrap;

    gap: 13px;
}

.contact-social-badge {
    width: 48px;
    height: 48px;

    display: grid;

    place-items: center;

    border-radius: 12px;

    color: #fff;

    transition:
        transform .2s ease,
        box-shadow .2s ease;
}

.contact-social-badge:hover {
    transform:
        translateY(-3px);

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

.contact-social-badge svg {
    width: 26px;
    height: 26px;

    fill: currentColor;
}

.contact-social-badge.facebook {
    background: #1877f2;
}

.contact-social-badge.x {
    background: #000;
}

.contact-social-badge.instagram {
    background:
        linear-gradient(
            135deg,
            #833ab4,
            #fd1d1d,
            #fcb045
        );
}

.contact-social-badge.instagram svg {
    fill: none;

    stroke: #fff;

    stroke-width: 1.8;
}

.contact-social-badge.instagram
.social-dot {
    fill: #fff;

    stroke: none;
}

.contact-social-badge.youtube {
    background: #ff0000;
}

.contact-social-badge.youtube svg {
    fill: none;

    stroke: #fff;

    stroke-width: 1.6;
}

.contact-social-badge.youtube
.social-play {
    fill: #fff;

    stroke: none;
}

.contact-social-badge.tiktok {
    background: #050505;
}

.contact-social-badge.whatsapp {
    background: #25d366;
}

.contact-social-badge.whatsapp svg {
    fill: none;

    stroke: #fff;

    stroke-width: 1.8;
}

.contact-social-badge.whatsapp
.whatsapp-line {
    stroke: #fff;
}


/* =========================================================
   NEWSLETTER
   ========================================================= */

.contact-newsletter {
    width:
        min(
            1500px,
            calc(100% - 70px)
        );

    display: grid;

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

    gap: 20px;

    align-items: center;

    margin:
        50px auto;

    padding:
        25px 30px;

    border-radius: 13px;

    background: #080808;

    color: #fff;
}

.contact-newsletter-icon {
    width: 55px;
    height: 55px;

    display: grid;

    place-items: center;

    border-radius: 50%;

    background: var(--red);
}

.contact-newsletter-icon svg {
    width: 27px;
    height: 27px;

    fill: none;

    stroke: currentColor;

    stroke-width: 1.8;
}

.contact-newsletter h2 {
    margin:
        0 0 4px;

    font-size: 20px;
}

.contact-newsletter p {
    margin: 0;

    color:
        rgba(255,255,255,.75);

    font-size: 10px;
}

.contact-newsletter > a {
    padding:
        13px 19px;

    border-radius: 7px;

    background: var(--red);

    color: #fff;

    font-size: 10px;

    font-weight: 900;
}


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

@media (max-width: 1000px) {

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

    .contact-hero-points {
        grid-template-columns: 1fr;
    }

}


@media (max-width: 760px) {

    .contact-hero-content,
    .contact-main-grid,
    .contact-newsletter {
        width:
            min(
                calc(100% - 30px),
                1500px
            );
    }

    .contact-hero {
        min-height: 620px;
    }

    .contact-hero-overlay {
        background:
            rgba(0,0,0,.78);
    }

    .contact-form {
        grid-template-columns: 1fr;
    }

    .contact-form > label,
    .contact-message-field,
    .contact-upload-field,
    .contact-submit,
    .contact-form-result {
        grid-column: auto;
    }

    .contact-map-frame {
        height: 320px;
    }

    .contact-newsletter {
        grid-template-columns:
            55px
            minmax(0,1fr);
    }

    .contact-newsletter > a {
        grid-column:
            1 / -1;

        text-align: center;
    }

}


/* =========================================================
   DALLAS MEDIA GROUP
   REAL FOOTER / CONTACT BADGES V1
   ========================================================= */

.dm-badge {
    width: 42px;
    height: 42px;
    min-width: 42px;

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

    border-radius: 12px;

    margin-right: 10px;

    text-decoration: none !important;

    transition:
        transform .2s ease,
        box-shadow .2s ease;
}

.dm-badge:hover {
    transform: translateY(-2px);
    box-shadow: 0 10px 22px rgba(0,0,0,.12);
}

.dm-badge .dm-real-svg {
    width: 22px;
    height: 22px;
}

.dm-facebook { background: #1877f2 !important; color: #fff !important; }
.dm-x        { background: #000000 !important; color: #fff !important; }
.dm-youtube  { background: #ff0000 !important; color: #fff !important; }
.dm-tiktok   { background: #050505 !important; color: #fff !important; }
.dm-whatsapp { background: #25d366 !important; color: #fff !important; }

.dm-instagram {
    background: linear-gradient(135deg, #833ab4, #fd1d1d, #fcb045) !important;
    color: #fff !important;
}

/* Generic fill */
.dm-badge .dm-real-svg {
    fill: currentColor;
}

/* Instagram strokes */
.dm-instagram .dm-real-svg {
    fill: none;
    stroke: #fff;
    stroke-width: 1.8;
}

.dm-instagram .dm-instagram-dot {
    fill: #fff;
    stroke: none;
}

/* YouTube strokes */
.dm-youtube .dm-real-svg {
    fill: none;
    stroke: #fff;
    stroke-width: 1.6;
}

.dm-youtube .dm-youtube-play {
    fill: #fff;
    stroke: none;
}

/* WhatsApp strokes */
.dm-whatsapp .dm-real-svg {
    fill: none;
    stroke: #fff;
    stroke-width: 1.8;
}

.dm-whatsapp .dm-whatsapp-line {
    stroke: #fff;
}

/* Contact rows */
.dm-contact-row {
    display: flex !important;
    align-items: center;
    gap: 12px;
    flex-wrap: wrap;
}

.dm-contact-badge {
    width: 36px;
    height: 36px;
    min-width: 36px;

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

    border-radius: 10px;

    color: #fff;
    flex-shrink: 0;
}

.dm-contact-badge .dm-real-svg {
    width: 18px;
    height: 18px;
}

.dm-contact-badge.dm-phone,
.dm-contact-badge.dm-email,
.dm-contact-badge.dm-location {
    background: #e31b23;
}

.dm-contact-badge.dm-whatsapp {
    background: #25d366;
}

.dm-contact-badge.dm-phone .dm-real-svg,
.dm-contact-badge.dm-email .dm-real-svg,
.dm-contact-badge.dm-location .dm-real-svg {
    fill: none;
    stroke: #fff;
    stroke-width: 1.8;
}

.dm-contact-badge.dm-whatsapp .dm-real-svg {
    fill: none;
    stroke: #fff;
    stroke-width: 1.8;
}

/* Footer social rows */
footer .social-links,
footer .footer-social,
footer .social-icons,
footer .footer-social-links {
    display: flex;
    align-items: center;
    flex-wrap: wrap;
    gap: 10px;
}

/* Remove tiny fake bullets / stray icon text look */
footer a:not(.dm-badge),
footer .dm-contact-row {
    vertical-align: middle;
}

@media (max-width: 640px) {
    .dm-badge {
        width: 38px;
        height: 38px;
        min-width: 38px;
    }

    .dm-badge .dm-real-svg {
        width: 20px;
        height: 20px;
    }

    .dm-contact-badge {
        width: 34px;
        height: 34px;
        min-width: 34px;
    }
}


/* =========================================================
   DALLAS MEDIA GROUP
   CANONICAL PRODUCTION FOOTER V2
   ========================================================= */

.dm-site-footer {
    width: 100%;

    margin-top: 42px;

    padding:
        42px 42px 18px;

    border-top:
        1px solid #e5e5e5;

    background: #fff;
}


/* =========================================================
   MAIN GRID
   ========================================================= */

.dm-footer-grid {
    width:
        min(
            1500px,
            100%
        );

    margin: auto;

    display: grid;

    grid-template-columns:
        minmax(220px,1.2fr)
        minmax(130px,.7fr)
        minmax(130px,.7fr)
        minmax(150px,.8fr)
        minmax(290px,1.35fr);

    gap: 42px;

    align-items: start;
}


/* =========================================================
   BRAND
   ========================================================= */

.dm-footer-brand {
    min-width: 0;
}

.dm-footer-logo-link {
    display: inline-block;
}

.dm-site-footer .footer-logo {
    display: block;

    width: auto !important;
    height: 82px;

    max-width: 180px;

    object-fit: contain;
}

.dm-footer-tagline {
    max-width: 270px;

    margin:
        14px 0 18px;

    color: #555;

    font-size: 15px;
    font-weight: 700;

    line-height: 1.65;
}


/* =========================================================
   SOCIAL BADGES
   ========================================================= */

.dm-footer-socials {
    display: flex;

    align-items: center;

    gap: 10px;
}

.dm-footer-social {
    width: 42px;
    height: 42px;

    flex: 0 0 42px;

    display: grid;

    place-items: center;

    border-radius: 11px;

    color: #fff;

    transition:
        transform .2s ease,
        box-shadow .2s ease;
}

.dm-footer-social:hover {
    transform:
        translateY(-3px);

    box-shadow:
        0 9px 22px
        rgba(0,0,0,.14);
}

.dm-footer-social svg {
    width: 23px;
    height: 23px;

    fill: none;

    stroke: #fff;

    stroke-width: 1.8;

    stroke-linecap: round;
    stroke-linejoin: round;
}

.dm-footer-social
.dm-social-fill {
    fill: #fff;

    stroke: none;
}

.dm-social-youtube {
    background: #ff0000;
}

.dm-social-whatsapp {
    background: #25d366;
}


/* =========================================================
   LINK COLUMNS
   ========================================================= */

.dm-footer-column,
.dm-footer-contact {
    min-width: 0;
}

.dm-site-footer h4 {
    margin:
        0 0 17px;

    font-size: 16px;
    font-weight: 900;

    color: #111;
}

.dm-footer-column > a {
    display: block;

    width: fit-content;

    margin-bottom: 9px;

    color: #565656;

    font-size: 14px;
    font-weight: 700;

    line-height: 1.35;

    transition:
        color .2s ease,
        transform .2s ease;
}

.dm-footer-column > a:hover {
    color: var(--red);

    transform:
        translateX(3px);
}


/* =========================================================
   CONTACT
   ========================================================= */

.dm-footer-contact {
    display: flex;

    flex-direction: column;

    gap: 10px;
}

.dm-footer-contact h4 {
    margin-bottom: 7px;
}

.dm-footer-contact-row {
    display: grid;

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

    gap: 11px;

    align-items: center;

    padding: 8px;

    border-radius: 10px;

    transition:
        background .2s ease;
}

.dm-footer-contact-row:hover {
    background:
        #fafafa;
}

.dm-footer-contact-icon {
    width: 38px;
    height: 38px;

    display: grid;

    place-items: center;

    border-radius: 10px;

    background:
        #ed1c24;

    color: #fff;
}

.dm-footer-contact-icon
svg {
    width: 20px;
    height: 20px;

    fill: none;

    stroke: currentColor;

    stroke-width: 1.8;

    stroke-linecap: round;
    stroke-linejoin: round;
}

.dm-contact-whatsapp {
    background: #25d366;
}

.dm-footer-contact-copy {
    min-width: 0;
}

.dm-footer-contact-copy small {
    display: block;

    margin-bottom: 2px;

    color: #888;

    font-size: 10px;

    font-weight: 800;
}

.dm-footer-contact-copy strong {
    display: block;

    color: #333;

    font-size: 13px;
    font-weight: 800;

    line-height: 1.45;

    overflow-wrap: anywhere;
}


/* =========================================================
   COPYRIGHT
   ========================================================= */

.dm-footer-bottom {
    width:
        min(
            1500px,
            100%
        );

    display: flex;

    justify-content: space-between;
    align-items: center;

    gap: 20px;

    margin:
        32px auto 0;

    padding-top: 18px;

    border-top:
        1px solid #eee;

    color: #666;

    font-size: 13px;
    font-weight: 700;
}

.dm-footer-bottom > div {
    display: flex;

    align-items: center;

    gap: 12px;
}

.dm-footer-bottom a {
    color: inherit;
}

.dm-footer-bottom a:hover {
    color: var(--red);
}


/* =========================================================
   REMOVE LEGACY FOOTER ELEMENTS IF ANY SURVIVE
   ========================================================= */

.dm-site-footer .footer-grid,
.dm-site-footer .copyright,
.dm-site-footer .dm-badge,
.dm-site-footer .dm-contact-badge {
    all: unset;
}


/* Restore our canonical classes after all:unset inheritance
   does not target the actual canonical elements.
*/


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

@media (max-width: 1100px) {

    .dm-footer-grid {
        grid-template-columns:
            repeat(3,minmax(0,1fr));
    }

    .dm-footer-contact {
        grid-column:
            span 2;
    }

}


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

@media (max-width: 700px) {

    .dm-site-footer {
        padding:
            34px 18px 18px;
    }

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

        gap:
            30px 22px;
    }

    .dm-footer-brand,
    .dm-footer-contact {
        grid-column:
            1 / -1;
    }

    .dm-site-footer .footer-logo {
        height: 74px;
    }

    .dm-footer-bottom {
        flex-direction: column;

        align-items: flex-start;
    }

}


@media (max-width: 460px) {

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

    .dm-footer-brand,
    .dm-footer-contact {
        grid-column: auto;
    }

}


/* =========================================================
   DALLAS MEDIA GROUP
   HOME HERO FULL BACKGROUND V1
   ========================================================= */


/*
The hero is now one canvas.

The slideshow sits behind the content instead of
living in a separate right-hand card.
*/

.home-hero-full {
    position: relative;

    width: 100%;

    min-height: 610px;

    overflow: hidden;

    isolation: isolate;

    background: #fff;
}


/* =========================================================
   FULL BACKGROUND SLIDER
   ========================================================= */

.home-hero-full
.home-hero-background {
    position: absolute;

    inset: 0;

    z-index: 0;

    width: 100%;
    height: 100%;

    border-radius: 0 !important;

    box-shadow: none !important;

    overflow: hidden;

    background: #fff;
}


.home-hero-full
.hero-slides {
    position: absolute;

    inset: 0;

    width: 100%;
    height: 100%;
}


.home-hero-full
.hero-slide {
    position: absolute;

    inset: 0;

    width: 100%;
    height: 100%;

    margin: 0;

    opacity: 0;

    pointer-events: none;

    transition:
        opacity 1.05s ease;
}


.home-hero-full
.hero-slide.active {
    opacity: 1;

    pointer-events: auto;
}


.home-hero-full
.hero-slide img {
    width: 100%;
    height: 100%;

    object-fit: cover;

    /*
    Focus image detail mostly toward the right,
    keeping the left side calmer behind the copy.
    */
    object-position: 64% center;

    transform: scale(1.025);

    transition:
        transform 7s ease;
}


.home-hero-full
.hero-slide.active img {
    transform: scale(1);
}


/* =========================================================
   WHITE BACKGROUND MERGE
   ========================================================= */

/*
Instead of a dark media-card gradient,
this merges the photograph smoothly into
the site's white background on the left.
*/

.home-hero-overlay {
    position: absolute;

    inset: 0;

    z-index: 1;

    pointer-events: none;

    background:

        linear-gradient(
            90deg,

            rgba(255,255,255,1) 0%,

            rgba(255,255,255,.99) 21%,

            rgba(255,255,255,.94) 29%,

            rgba(255,255,255,.73) 39%,

            rgba(255,255,255,.24) 55%,

            rgba(255,255,255,.03) 72%,

            transparent 100%
        );
}


/*
A subtle bottom fade ensures the hero joins
the next white section naturally.
*/

.home-hero-full::after {
    content: "";

    position: absolute;

    left: 0;
    right: 0;
    bottom: 0;

    height: 95px;

    z-index: 2;

    pointer-events: none;

    background:
        linear-gradient(
            to bottom,
            transparent,
            rgba(255,255,255,.96)
        );
}


/* =========================================================
   COPY LAYER
   ========================================================= */

.home-hero-inner {
    position: relative;

    z-index: 4;

    width:
        min(
            1540px,
            calc(100% - 72px)
        );

    min-height: 610px;

    display: flex;

    align-items: center;

    margin: 0 auto;

    padding:
        45px 0 80px;
}


.home-hero-full
.hero-copy {
    width:
        min(
            510px,
            42vw
        );

    position: relative;

    z-index: 5;
}


.home-hero-full
.hero-copy h1 {
    margin:
        18px 0 25px;
}


.home-hero-full
.hero-copy p {
    max-width: 510px;

    color: #3e4145;

    font-size: 17px;

    line-height: 1.95;
}


/* =========================================================
   REMOVE OLD HERO CARD EFFECTS
   ========================================================= */

.home-hero-full
.hero-media {
    border: 0 !important;

    border-radius: 0 !important;

    box-shadow: none !important;
}


/*
Disable the old pseudo framing/filter layers
that belonged to the separate right-side card.
*/

.home-hero-full
.hero-slider::after {
    display: none !important;
}


/* =========================================================
   HERO ARROWS
   ========================================================= */

.home-hero-full
.hero-slider-arrow {
    position: absolute;

    z-index: 12;

    top: 50%;

    width: 48px;
    height: 48px;

    display: grid;

    place-items: center;

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

    border-radius: 50%;

    background:
        rgba(0,0,0,.28);

    color: #fff;

    backdrop-filter:
        blur(5px);

    transform:
        translateY(-50%);

    cursor: pointer;

    opacity: .88;

    transition:
        opacity .2s ease,
        background .2s ease,
        transform .2s ease;
}


.home-hero-full
.hero-slider-arrow:hover {
    opacity: 1;

    background: var(--red);

    transform:
        translateY(-50%)
        scale(1.06);
}


.home-hero-full
.hero-slider-arrow svg {
    width: 22px;
    height: 22px;

    fill: none;

    stroke: currentColor;

    stroke-width: 2;

    stroke-linecap: round;
    stroke-linejoin: round;
}


.home-hero-full
.hero-slider-prev {
    left: auto;

    right: calc(50% - 305px);
}


.home-hero-full
.hero-slider-next {
    right: 38px;
}


/* =========================================================
   SLIDER DOTS
   ========================================================= */

.home-hero-full
.hero-slider-dots {
    position: absolute;

    z-index: 12;

    left: auto;

    right: 45px;

    bottom: 42px;

    display: flex;

    align-items: center;

    gap: 7px;
}


.home-hero-full
.hero-slider-dot {
    width: 9px;
    height: 9px;

    padding: 0;

    border: 0;

    border-radius: 99px;

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

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

    cursor: pointer;

    transition:
        width .25s ease,
        background .25s ease;
}


.home-hero-full
.hero-slider-dot.active {
    width: 27px;

    background: var(--red);
}


/* =========================================================
   HERO BUTTON ICONS
   ========================================================= */

.home-hero-button-icon {
    width: 19px;
    height: 19px;

    display: grid;

    place-items: center;
}


.home-hero-button-icon svg {
    width: 18px;
    height: 18px;

    fill: none;

    stroke: currentColor;

    stroke-width: 1.8;

    stroke-linecap: round;
    stroke-linejoin: round;
}


.home-hero-secondary {
    background:
        rgba(255,255,255,.9);

    border-color:
        rgba(0,0,0,.18);

    backdrop-filter:
        blur(8px);
}


/* =========================================================
   TRUST
   ========================================================= */

.home-hero-full
.trust {
    display: flex;

    align-items: center;

    gap: 7px;
}


.home-trust-dot {
    width: 7px;
    height: 7px;

    display: inline-block;

    border-radius: 50%;

    background: var(--red);
}


/* =========================================================
   DESKTOP WIDE
   ========================================================= */

@media (min-width: 1500px) {

    .home-hero-full {
        min-height: 660px;
    }

    .home-hero-inner {
        min-height: 660px;
    }

    .home-hero-full
    .hero-slide img {
        object-position:
            67% center;
    }

}


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

@media (max-width: 980px) {

    .home-hero-full {
        min-height: 670px;
    }

    .home-hero-inner {
        min-height: 670px;

        width:
            calc(100% - 36px);

        align-items: flex-end;

        padding:
            70px 0 105px;
    }

    .home-hero-full
    .hero-copy {
        width:
            min(
                620px,
                100%
            );

        text-align: left;
    }

    .home-hero-full
    .hero-copy p {
        margin: 0;
    }

    .home-hero-overlay {
        background:

            linear-gradient(
                90deg,
                rgba(255,255,255,.98) 0%,
                rgba(255,255,255,.91) 46%,
                rgba(255,255,255,.38) 78%,
                rgba(255,255,255,.12) 100%
            );
    }

    .home-hero-full
    .hero-slider-prev {
        left: 20px;
        right: auto;
    }

    .home-hero-full
    .hero-slider-next {
        right: 20px;
    }

}


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

@media (max-width: 640px) {

    .home-hero-full {
        min-height: 690px;
    }

    .home-hero-inner {
        min-height: 690px;

        width:
            calc(100% - 30px);

        padding:
            55px 0 110px;

        align-items: flex-end;
    }

    .home-hero-full
    .hero-copy {
        width: 100%;

        text-align: left;
    }

    .home-hero-full
    .hero-copy h1 {
        font-size: 42px;
    }

    .home-hero-full
    .hero-copy p {
        max-width: 100%;

        font-size: 14px;

        line-height: 1.8;
    }

    .home-hero-full
    .hero-slide img {
        object-position:
            61% center;
    }

    .home-hero-overlay {
        background:

            linear-gradient(
                180deg,

                rgba(255,255,255,.30) 0%,

                rgba(255,255,255,.55) 30%,

                rgba(255,255,255,.92) 57%,

                rgba(255,255,255,.99) 100%
            );
    }

    .home-hero-full
    .hero-buttons {
        align-items: flex-start;
    }

    .home-hero-full
    .hero-slider-arrow {
        top: 31%;

        width: 42px;
        height: 42px;
    }

    .home-hero-full
    .hero-slider-dots {
        right: 20px;
        bottom: 25px;
    }

}


/* =========================================================
   DALLAS MEDIA GROUP
   KENYA PRIVACY POLICY V1
   ========================================================= */

.dm-privacy-page {
    background: #fff;
}


/* HERO */

.dm-privacy-hero {
    position: relative;

    overflow: hidden;

    min-height: 400px;

    background:
        radial-gradient(
            circle at 80% 40%,
            rgba(220,0,0,.22),
            transparent 35%
        ),
        linear-gradient(
            115deg,
            #050505,
            #090909 58%,
            #170000
        );

    color: #fff;
}


.dm-privacy-hero::before {
    content: "";

    position: absolute;

    inset: 0;

    opacity: .13;

    background-image:
        linear-gradient(
            rgba(255,0,0,.28) 1px,
            transparent 1px
        ),
        linear-gradient(
            90deg,
            rgba(255,0,0,.2) 1px,
            transparent 1px
        );

    background-size:
        70px 70px;
}


.dm-privacy-hero-grid {
    position: relative;

    z-index: 2;

    width:
        min(
            1500px,
            calc(100% - 70px)
        );

    min-height: 400px;

    display: grid;

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

    gap: 60px;

    align-items: center;

    margin: auto;

    padding:
        50px 0;
}


.dm-privacy-hero-copy {
    max-width: 760px;
}


.dm-privacy-kicker {
    color: var(--red);

    font-size: 11px;
    font-weight: 900;

    letter-spacing: .08em;
}


.dm-privacy-redline {
    width: 48px;
    height: 3px;

    margin:
        10px 0 18px;

    background: var(--red);
}


.dm-privacy-hero h1 {
    margin:
        0 0 22px;

    font-size:
        clamp(
            45px,
            5vw,
            68px
        );

    line-height: 1;
}


.dm-privacy-hero h2 {
    margin:
        0 0 10px;

    font-size: 17px;
}


.dm-privacy-hero p {
    max-width: 720px;

    margin: 0;

    color:
        rgba(255,255,255,.85);

    font-size: 14px;

    line-height: 1.85;
}


.dm-privacy-hero-meta {
    display: flex;

    flex-wrap: wrap;

    gap: 25px;

    margin-top: 24px;

    font-size: 10px;

    color:
        rgba(255,255,255,.68);
}


.dm-privacy-hero-meta strong {
    color: #fff;
}


.dm-privacy-hero-mark {
    display: grid;

    place-items: center;
}


.dm-privacy-hero-mark svg {
    width: 250px;
    height: 250px;
}


.dm-privacy-hero-mark .shield {
    fill:
        rgba(0,0,0,.5);

    stroke: var(--red);

    stroke-width: 7;
}


.dm-privacy-hero-mark .lock {
    fill: #fff;

    stroke: #fff;

    stroke-width: 6;
}


.dm-privacy-hero-mark .key {
    fill: #090909;

    stroke: #090909;

    stroke-width: 5;
}


/* NOTICE */

.dm-privacy-wrap {
    width:
        min(
            1500px,
            calc(100% - 70px)
        );

    margin:
        26px auto 0;
}


.dm-privacy-important {
    display: grid;

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

    gap: 15px;

    align-items: center;

    padding: 18px;

    border:
        1px solid
        rgba(237,21,21,.18);

    border-radius: 10px;

    background:
        rgba(237,21,21,.045);
}


.dm-privacy-important > span {
    width: 43px;
    height: 43px;

    display: grid;

    place-items: center;

    border-radius: 10px;

    color: var(--red);
}


.dm-privacy-important svg {
    width: 26px;
    height: 26px;

    fill: none;

    stroke: currentColor;

    stroke-width: 1.8;

    stroke-linecap: round;
    stroke-linejoin: round;
}


.dm-privacy-important p {
    margin: 0;

    font-size: 11px;

    line-height: 1.65;
}


/* MAIN */

.dm-privacy-layout {
    width:
        min(
            1500px,
            calc(100% - 70px)
        );

    display: grid;

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

    gap: 42px;

    align-items: start;

    margin:
        28px auto 70px;
}


/* SECTIONS */

.dm-privacy-section {
    display: grid;

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

    gap: 18px;

    padding:
        30px 0;

    border-bottom:
        1px solid #e8e8e8;
}


.dm-privacy-number {
    width: 45px;
    height: 45px;

    display: grid;

    place-items: center;

    border:
        1px solid
        rgba(237,21,21,.32);

    border-radius: 50%;

    color: var(--red);

    font-size: 11px;
    font-weight: 900;
}


.dm-privacy-section h2 {
    margin:
        0 0 12px;

    font-size: 20px;

    font-weight: 900;
}


.dm-privacy-section h3 {
    margin:
        15px 0 8px;

    font-size: 12px;
}


.dm-privacy-section p,
.dm-privacy-section li {
    color: #333;

    font-size: 11px;

    line-height: 1.75;
}


.dm-privacy-section p {
    margin:
        0 0 13px;
}


.dm-privacy-section ul {
    margin:
        10px 0;

    padding-left: 18px;
}


.dm-privacy-section li {
    margin-bottom: 6px;
}


.dm-privacy-section li::marker {
    color: var(--red);
}


/* TWO COLS */

.dm-privacy-two-cols {
    display: grid;

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

    gap: 30px;

    margin-top: 15px;
}


/* DEFINITION */

.dm-privacy-definition {
    display: grid;

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

    gap: 10px;

    margin:
        20px 0 0;
}


.dm-privacy-definition > div {
    padding: 13px;

    border:
        1px solid #eee;

    border-radius: 8px;
}


.dm-privacy-definition dt {
    color: #888;

    font-size: 9px;
}


.dm-privacy-definition dd {
    margin:
        4px 0 0;

    font-size: 11px;

    font-weight: 800;
}


/* CHECKLIST */

.dm-privacy-checklist {
    list-style: none;

    padding-left:
        0 !important;
}


.dm-privacy-checklist li {
    position: relative;

    padding-left: 25px;
}


.dm-privacy-checklist li::before {
    content: "✓";

    position: absolute;

    left: 2px;

    color: var(--red);

    font-weight: 900;
}


/* BASES */

.dm-privacy-basis-grid {
    display: grid;

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

    gap: 12px;

    margin-top: 15px;
}


.dm-privacy-basis-grid > div {
    padding: 15px;

    border:
        1px solid #e9e9e9;

    border-radius: 9px;

    background: #fff;
}


.dm-privacy-basis-grid strong {
    display: block;

    margin-bottom: 6px;

    color: var(--red);

    font-size: 11px;
}


.dm-privacy-basis-grid span {
    display: block;

    color: #555;

    font-size: 10px;

    line-height: 1.6;
}


/* NOTICE */

.dm-privacy-notice {
    margin-top: 15px;

    padding: 16px;

    border-left:
        4px solid var(--red);

    background:
        #fff7f7;

    color: #333;

    font-size: 11px;

    line-height: 1.7;
}


/* RETENTION */

.dm-retention-table {
    display: grid;

    margin-top: 15px;

    border:
        1px solid #e8e8e8;

    border-radius: 9px;

    overflow: hidden;
}


.dm-retention-table > div {
    display: grid;

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

    gap: 15px;

    padding: 13px;

    border-bottom:
        1px solid #eee;
}


.dm-retention-table > div:last-child {
    border-bottom: 0;
}


.dm-retention-table strong {
    font-size: 10px;
}


.dm-retention-table span {
    color: #555;

    font-size: 10px;

    line-height: 1.55;
}


/* RIGHTS */

.dm-right-grid {
    display: grid;

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

    gap: 10px;

    margin:
        15px 0;
}


.dm-right-grid > div {
    padding: 13px;

    border:
        1px solid #e8e8e8;

    border-radius: 8px;
}


.dm-right-grid strong {
    font-size: 10px;
}


/* CONTACT */

.dm-privacy-contact-card {
    display: grid;

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

    gap: 11px;

    margin:
        15px 0;
}


.dm-privacy-contact-card > * {
    display: flex;

    align-items: center;

    gap: 8px;

    padding: 11px;

    border:
        1px solid #eee;

    border-radius: 8px;

    font-size: 10px;

    overflow-wrap: anywhere;
}


.dm-privacy-contact-card
> *
> span {
    width: 28px;
    height: 28px;

    flex: 0 0 28px;

    display: grid;

    place-items: center;

    color: var(--red);
}


.dm-privacy-contact-card svg {
    width: 18px;
    height: 18px;

    fill: none;

    stroke: currentColor;

    stroke-width: 1.8;
}


.dm-privacy-odpc {
    display: inline-flex;

    margin-top: 7px;

    padding:
        11px 15px;

    border-radius: 7px;

    background: #111;

    color: #fff;

    font-size: 9px;

    font-weight: 900;
}


/* SIDEBAR */

.dm-privacy-sidebar {
    position: sticky;

    top: 125px;

    display: flex;

    flex-direction: column;

    gap: 18px;
}


.dm-privacy-sidebar-card {
    padding: 23px;

    border:
        1px solid #e7e7e7;

    border-radius: 12px;

    background: #fff;

    box-shadow:
        0 7px 20px
        rgba(0,0,0,.025);
}


.dm-privacy-sidebar-card h2,
.dm-privacy-help h2 {
    margin:
        0 0 17px;

    padding-left: 10px;

    border-left:
        4px solid var(--red);

    font-size: 19px;
}


.dm-glance-row {
    display: grid;

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

    gap: 12px;

    align-items: start;

    padding:
        16px 0;

    border-bottom:
        1px solid #eee;
}


.dm-glance-row:last-child {
    border-bottom: 0;
}


.dm-glance-row > span {
    width: 43px;
    height: 43px;

    display: grid;

    place-items: center;

    border-radius: 50%;

    background:
        rgba(237,21,21,.06);

    color: var(--red);
}


.dm-glance-row svg {
    width: 24px;
    height: 24px;

    fill: none;

    stroke: currentColor;

    stroke-width: 1.7;
}


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


.dm-glance-row p {
    margin:
        5px 0 0;

    color: #555;

    font-size: 9px;

    line-height: 1.55;
}


/* TOC */

.dm-privacy-toc a {
    display: block;

    padding:
        8px 5px;

    border-bottom:
        1px solid #f0f0f0;

    color: #444;

    font-size: 10px;

    font-weight: 700;
}


.dm-privacy-toc a:hover {
    color: var(--red);
}


/* HELP */

.dm-privacy-help {
    padding: 24px;

    border-radius: 12px;

    background: #090909;

    color: #fff;
}


.dm-privacy-help p {
    color:
        rgba(255,255,255,.75);

    font-size: 10px;

    line-height: 1.6;
}


.dm-privacy-help > a {
    display: block;

    margin-top: 12px;

    color: #fff;

    font-size: 10px;

    overflow-wrap: anywhere;
}


.dm-privacy-help-button {
    width: fit-content;

    padding:
        11px 15px;

    border-radius: 7px;

    background: var(--red);

    font-weight: 900;
}


/* TABLET */

@media (max-width: 1000px) {

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

    .dm-privacy-sidebar {
        position: static;

        display: grid;

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

    .dm-privacy-hero-grid {
        grid-template-columns:
            1fr 280px;
    }

}


/* MOBILE */

@media (max-width: 700px) {

    .dm-privacy-hero-grid,
    .dm-privacy-wrap,
    .dm-privacy-layout {
        width:
            calc(
                100% - 30px
            );
    }

    .dm-privacy-hero-grid {
        grid-template-columns: 1fr;

        min-height: 520px;
    }

    .dm-privacy-hero-mark {
        display: none;
    }

    .dm-privacy-section {
        grid-template-columns:
            39px
            minmax(0,1fr);

        gap: 12px;
    }

    .dm-privacy-number {
        width: 37px;
        height: 37px;

        font-size: 9px;
    }

    .dm-privacy-two-cols,
    .dm-privacy-definition,
    .dm-privacy-basis-grid,
    .dm-right-grid,
    .dm-privacy-contact-card,
    .dm-privacy-sidebar {
        grid-template-columns: 1fr;
    }

    .dm-retention-table > div {
        grid-template-columns: 1fr;
    }

}


/* =========================================================
   DALLAS MEDIA GROUP
   TERMS AND CONDITIONS V1
   ========================================================= */

.dm-terms-page {
    background: #fff;
}


/* HERO */

.dm-terms-hero {
    position: relative;

    overflow: hidden;

    min-height: 400px;

    color: #fff;

    background:
        radial-gradient(
            circle at 77% 42%,
            rgba(200,0,0,.24),
            transparent 37%
        ),
        linear-gradient(
            110deg,
            #050505,
            #0a0a0a 65%,
            #160000
        );
}


.dm-terms-hero::before {
    content: "";

    position: absolute;

    inset: 0;

    opacity: .12;

    background-image:
        linear-gradient(
            rgba(255,0,0,.3) 1px,
            transparent 1px
        ),
        linear-gradient(
            90deg,
            rgba(255,0,0,.2) 1px,
            transparent 1px
        );

    background-size:
        75px 75px;
}


.dm-terms-hero-grid {
    position: relative;

    z-index: 2;

    width:
        min(
            1500px,
            calc(100% - 70px)
        );

    min-height: 400px;

    display: grid;

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

    gap: 60px;

    align-items: center;

    margin: auto;
}


.dm-terms-hero-copy {
    max-width: 760px;
}


.dm-terms-kicker {
    color: var(--red);

    font-size: 11px;

    font-weight: 900;

    letter-spacing: .07em;
}


.dm-terms-line {
    width: 48px;
    height: 3px;

    margin:
        10px 0 17px;

    background: var(--red);
}


.dm-terms-hero h1 {
    margin:
        0 0 20px;

    font-size:
        clamp(
            44px,
            5vw,
            65px
        );

    line-height: 1;
}


.dm-terms-hero h2 {
    margin:
        0 0 12px;

    font-size: 17px;

    line-height: 1.5;
}


.dm-terms-hero p {
    max-width: 700px;

    margin: 0;

    color:
        rgba(255,255,255,.85);

    font-size: 13px;

    line-height: 1.8;
}


.dm-terms-meta {
    display: flex;

    flex-wrap: wrap;

    gap: 24px;

    margin-top: 24px;

    color:
        rgba(255,255,255,.65);

    font-size: 10px;
}


.dm-terms-meta strong {
    color: #fff;
}


/* SCALES */

.dm-terms-hero-symbol {
    display: grid;

    place-items: center;
}


.dm-terms-hero-symbol svg {
    width: 290px;
    height: 245px;
}


.dm-scale-line,
.dm-scale-bowl {
    fill: none;

    stroke: #d0a148;

    stroke-width: 4;

    stroke-linecap: round;
    stroke-linejoin: round;

    filter:
        drop-shadow(
            0 0 6px
            rgba(255,188,54,.32)
        );
}


/* NOTICE */

.dm-terms-wrap {
    width:
        min(
            1500px,
            calc(100% - 70px)
        );

    margin:
        25px auto 0;
}


.dm-terms-important {
    display: grid;

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

    gap: 14px;

    align-items: center;

    padding: 17px;

    border:
        1px solid
        rgba(237,21,21,.18);

    border-radius: 10px;

    background:
        rgba(237,21,21,.045);
}


.dm-terms-important > span {
    width: 43px;
    height: 43px;

    display: grid;

    place-items: center;

    color: var(--red);
}


.dm-terms-important svg {
    width: 26px;
    height: 26px;

    fill: none;

    stroke: currentColor;

    stroke-width: 1.8;
}


.dm-terms-important p {
    margin: 0;

    font-size: 11px;

    line-height: 1.65;
}


/* LAYOUT */

.dm-terms-layout {
    width:
        min(
            1500px,
            calc(100% - 70px)
        );

    display: grid;

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

    gap: 42px;

    align-items: start;

    margin:
        28px auto 70px;
}


/* SECTIONS */

.dm-terms-section {
    display: grid;

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

    gap: 18px;

    padding:
        28px 0;

    border-bottom:
        1px solid #e8e8e8;
}


.dm-terms-number {
    width: 45px;
    height: 45px;

    display: grid;

    place-items: center;

    border:
        1px solid
        rgba(237,21,21,.32);

    border-radius: 50%;

    color: var(--red);

    font-size: 11px;

    font-weight: 900;
}


.dm-terms-section h2 {
    margin:
        0 0 11px;

    font-size: 20px;

    font-weight: 900;
}


.dm-terms-section p,
.dm-terms-section li {
    color: #333;

    font-size: 11px;

    line-height: 1.72;
}


.dm-terms-section p {
    margin:
        0 0 12px;
}


.dm-terms-section ul {
    margin:
        10px 0;

    padding-left: 18px;
}


.dm-terms-section li {
    margin-bottom: 6px;
}


.dm-terms-section li::marker {
    color: var(--red);
}


/* CHECKLIST */

.dm-terms-check {
    list-style: none;

    padding-left:
        0 !important;
}


.dm-terms-check li {
    position: relative;

    padding-left: 25px;
}


.dm-terms-check li::before {
    content: "✓";

    position: absolute;

    left: 2px;

    color: var(--red);

    font-weight: 900;
}


/* NOTICE */

.dm-terms-notice {
    margin-top: 15px;

    padding: 16px;

    border-left:
        4px solid var(--red);

    background: #fff7f7;

    font-size: 11px;

    line-height: 1.7;
}


/* LINK BUTTON */

.dm-terms-link-button {
    display: inline-flex;

    margin-top: 6px;

    padding:
        11px 15px;

    border-radius: 7px;

    background: #111;

    color: #fff;

    font-size: 9px;

    font-weight: 900;
}


/* CONTACT */

.dm-terms-contact-grid {
    display: grid;

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

    gap: 11px;

    margin-top: 16px;
}


.dm-terms-contact-grid > * {
    display: grid;

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

    gap: 10px;

    align-items: center;

    padding: 12px;

    border:
        1px solid #e8e8e8;

    border-radius: 9px;
}


.dm-terms-contact-grid
> *
> span {
    width: 38px;
    height: 38px;

    display: grid;

    place-items: center;

    border-radius: 9px;

    background:
        rgba(237,21,21,.06);

    color: var(--red);
}


.dm-terms-contact-grid svg {
    width: 21px;
    height: 21px;

    fill: none;

    stroke: currentColor;

    stroke-width: 1.8;
}


.dm-terms-contact-grid small,
.dm-terms-contact-grid strong {
    display: block;
}


.dm-terms-contact-grid small {
    color: #888;

    font-size: 8px;
}


.dm-terms-contact-grid strong {
    margin-top: 2px;

    font-size: 10px;

    overflow-wrap: anywhere;
}


/* SIDEBAR */

.dm-terms-sidebar {
    position: sticky;

    top: 125px;

    display: flex;

    flex-direction: column;

    gap: 18px;
}


.dm-terms-sidebar-card {
    padding: 23px;

    border:
        1px solid #e7e7e7;

    border-radius: 12px;

    background: #fff;

    box-shadow:
        0 7px 20px
        rgba(0,0,0,.025);
}


.dm-terms-sidebar-card h2,
.dm-terms-help h2 {
    margin:
        0 0 17px;

    padding-left: 10px;

    border-left:
        4px solid var(--red);

    font-size: 19px;
}


.dm-terms-principle {
    display: grid;

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

    gap: 12px;

    align-items: start;

    padding:
        15px 0;

    border-bottom:
        1px solid #eee;
}


.dm-terms-principle:last-child {
    border-bottom: 0;
}


.dm-terms-principle > span {
    width: 43px;
    height: 43px;

    display: grid;

    place-items: center;

    border-radius: 50%;

    background:
        rgba(237,21,21,.06);

    color: var(--red);
}


.dm-terms-principle svg {
    width: 24px;
    height: 24px;

    fill: none;

    stroke: currentColor;

    stroke-width: 1.8;
}


.dm-terms-principle strong {
    font-size: 10px;
}


.dm-terms-principle p {
    margin:
        5px 0 0;

    color: #555;

    font-size: 9px;

    line-height: 1.55;
}


/* TOC */

.dm-terms-toc a {
    display: block;

    padding:
        8px 5px;

    border-bottom:
        1px solid #f0f0f0;

    color: #444;

    font-size: 10px;

    font-weight: 700;
}


.dm-terms-toc a:hover {
    color: var(--red);
}


/* HELP */

.dm-terms-help {
    padding: 24px;

    border-radius: 12px;

    background:
        linear-gradient(
            145deg,
            #050505,
            #120000
        );

    color: #fff;
}


.dm-terms-help p {
    color:
        rgba(255,255,255,.75);

    font-size: 10px;

    line-height: 1.6;
}


.dm-terms-help > a {
    display: block;

    margin-top: 12px;

    color: #fff;

    font-size: 10px;

    overflow-wrap: anywhere;
}


.dm-terms-help-button {
    width: fit-content;

    padding:
        11px 15px;

    border-radius: 7px;

    background: var(--red);

    font-weight: 900;
}


/* RESPONSIVE */

@media (max-width: 1000px) {

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

    .dm-terms-sidebar {
        position: static;

        display: grid;

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

    .dm-terms-hero-grid {
        grid-template-columns:
            1fr 280px;
    }

}


@media (max-width: 700px) {

    .dm-terms-hero-grid,
    .dm-terms-wrap,
    .dm-terms-layout {
        width:
            calc(
                100% - 30px
            );
    }

    .dm-terms-hero-grid {
        grid-template-columns: 1fr;

        min-height: 520px;
    }

    .dm-terms-hero-symbol {
        display: none;
    }

    .dm-terms-section {
        grid-template-columns:
            39px
            minmax(0,1fr);

        gap: 12px;
    }

    .dm-terms-number {
        width: 37px;
        height: 37px;

        font-size: 9px;
    }

    .dm-terms-sidebar,
    .dm-terms-contact-grid {
        grid-template-columns: 1fr;
    }

}


/* =========================================================
   DALLAS MEDIA GROUP
   HOME HERO CONTACT-STYLE VISUAL FIX V2
   ========================================================= */


/*
Remove the previous white haze/blending effect.
The photograph should remain clear like Contact Us.
*/

.home-hero-full .home-hero-overlay {
    position: absolute !important;

    inset: 0 !important;

    z-index: 1 !important;

    pointer-events: none !important;

    background:
        linear-gradient(
            90deg,

            rgba(0,0,0,.78) 0%,

            rgba(0,0,0,.62) 28%,

            rgba(0,0,0,.34) 48%,

            rgba(0,0,0,.12) 70%,

            rgba(0,0,0,.03) 100%
        ) !important;
}


/*
Completely remove the old white bottom fade.
*/

.home-hero-full::after {
    display: none !important;

    content: none !important;

    background: none !important;
}


/*
Make the slideshow image itself fully visible.
No opacity / white filtering.
*/

.home-hero-full .hero-slide img {
    opacity: 1 !important;

    filter: none !important;

    mix-blend-mode: normal !important;

    object-fit: cover !important;

    object-position: center center !important;
}


/*
Remove any remaining frame / box-shadow / white background
from the old media-card implementation.
*/

.home-hero-full,
.home-hero-full .hero-media,
.home-hero-full .hero-slider,
.home-hero-full .hero-slides,
.home-hero-full .hero-slide {
    border: 0 !important;

    border-radius: 0 !important;

    box-shadow: none !important;

    background-color: transparent !important;
}


.home-hero-full .hero-slider::before,
.home-hero-full .hero-slider::after,
.home-hero-full .hero-media::before,
.home-hero-full .hero-media::after {
    box-shadow: none !important;

    background: none !important;
}


/* =========================================================
   HOME TEXT - CONTACT STYLE
   ========================================================= */

/*
Because the background is now darker like Contact,
make the supporting copy white.
*/

.home-hero-full .eyebrow {
    color: #ffffff !important;
}


.home-hero-full .hero-copy p {
    color:
        rgba(255,255,255,.95) !important;

    text-shadow:
        0 2px 8px
        rgba(0,0,0,.28);
}


.home-hero-full .trust {
    color:
        rgba(255,255,255,.88) !important;
}


.home-hero-full .trust b {
    color: #ffffff !important;
}


/*
Keep requested headline colors:
Voice = black
Stories = red
Media = green

Give the black line enough contrast on the dark image
without changing its requested color.
*/

.home-hero-full
.hero-title-line.voice {
    color: #050505 !important;

    text-shadow:
        0 1px 2px
        rgba(255,255,255,.45);
}


.home-hero-full
.hero-title-line.stories {
    color: #ed1c24 !important;
}


.home-hero-full
.hero-title-line.media {
    color: #169b45 !important;
}


/* =========================================================
   BUTTONS
   ========================================================= */

.home-hero-full
.home-hero-secondary {
    background:
        rgba(255,255,255,.94) !important;

    color: #111 !important;

    border:
        1px solid
        rgba(255,255,255,.85) !important;
}


.home-hero-full
.btn-red {
    box-shadow:
        none !important;
}


/* =========================================================
   ARROWS - MATCH CONTACT FEEL
   ========================================================= */

.home-hero-full
.hero-slider-arrow {
    background:
        rgba(0,0,0,.44) !important;

    border:
        1px solid
        rgba(255,255,255,.58) !important;

    color: #fff !important;

    box-shadow: none !important;

    backdrop-filter:
        blur(5px);
}


.home-hero-full
.hero-slider-arrow:hover {
    background:
        #ed1c24 !important;
}


/* =========================================================
   DESKTOP IMAGE POSITION
   ========================================================= */

@media (min-width: 981px) {

    .home-hero-full
    .hero-slide img {
        object-position:
            58% center !important;
    }

}


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

@media (max-width: 980px) {

    .home-hero-full
    .home-hero-overlay {
        background:
            linear-gradient(
                90deg,

                rgba(0,0,0,.74) 0%,

                rgba(0,0,0,.58) 46%,

                rgba(0,0,0,.26) 75%,

                rgba(0,0,0,.08) 100%
            ) !important;
    }

}


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

@media (max-width: 640px) {

    .home-hero-full
    .home-hero-overlay {
        background:
            linear-gradient(
                180deg,

                rgba(0,0,0,.22) 0%,

                rgba(0,0,0,.38) 34%,

                rgba(0,0,0,.72) 65%,

                rgba(0,0,0,.86) 100%
            ) !important;
    }


    .home-hero-full
    .hero-slide img {
        object-position:
            center center !important;
    }


    .home-hero-full
    .hero-title-line.voice {
        color: #ffffff !important;

        text-shadow:
            0 2px 8px
            rgba(0,0,0,.5);
    }

}


/* =========================================================
   DALLAS MEDIA GROUP
   HOME HERO FINAL CLEAN VISUAL V3
   NO WHITE HAZE / NO TEXT HALO
   ========================================================= */


/* ---------------------------------------------------------
   HERO ROOT
   --------------------------------------------------------- */

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

    width: 100% !important;

    overflow: hidden !important;

    isolation: isolate !important;

    background: #0a0a0a !important;

    border: 0 !important;

    box-shadow: none !important;
}


/* ---------------------------------------------------------
   BACKGROUND IMAGE
   --------------------------------------------------------- */

.home-hero-full .home-hero-background,
.home-hero-full .hero-media,
.home-hero-full .hero-slider,
.home-hero-full .hero-slides,
.home-hero-full .hero-slide {
    border: 0 !important;

    border-radius: 0 !important;

    box-shadow: none !important;

    background: transparent !important;
}


.home-hero-full .hero-slide img {
    width: 100% !important;
    height: 100% !important;

    object-fit: cover !important;

    object-position: center center !important;

    opacity: 1 !important;

    filter: none !important;

    mix-blend-mode: normal !important;

    box-shadow: none !important;

    border: 0 !important;
}


/* ---------------------------------------------------------
   REMOVE ALL OLD PSEUDO WHITE EFFECTS
   --------------------------------------------------------- */

.home-hero-full::before,
.home-hero-full::after,
.home-hero-full .hero-media::before,
.home-hero-full .hero-media::after,
.home-hero-full .hero-slider::before,
.home-hero-full .hero-slider::after,
.home-hero-full .hero-slide::before,
.home-hero-full .hero-slide::after,
.home-hero-full .hero-copy::before,
.home-hero-full .hero-copy::after {
    content: none !important;

    display: none !important;

    background: none !important;

    background-image: none !important;

    box-shadow: none !important;

    filter: none !important;
}


/* ---------------------------------------------------------
   CONTACT-STYLE DARK OVERLAY
   IMPORTANT:
   No white anywhere.
   No fade to transparent on the right.
   --------------------------------------------------------- */

.home-hero-full .home-hero-overlay {
    position: absolute !important;

    inset: 0 !important;

    z-index: 1 !important;

    display: block !important;

    pointer-events: none !important;

    background:
        linear-gradient(
            90deg,
            rgba(0,0,0,.56) 0%,
            rgba(0,0,0,.49) 32%,
            rgba(0,0,0,.40) 65%,
            rgba(0,0,0,.34) 100%
        ) !important;

    opacity: 1 !important;

    box-shadow: none !important;

    filter: none !important;
}


/* ---------------------------------------------------------
   CONTENT
   --------------------------------------------------------- */

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

    z-index: 4 !important;

    background: transparent !important;

    box-shadow: none !important;
}


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

    z-index: 5 !important;

    background: transparent !important;

    box-shadow: none !important;

    filter: none !important;
}


/* ---------------------------------------------------------
   REMOVE EVERY TEXT HALO
   --------------------------------------------------------- */

.home-hero-full .hero-copy,
.home-hero-full .hero-copy *,
.home-hero-full .hero-copy h1,
.home-hero-full .hero-title-line,
.home-hero-full .hero-title-line.voice,
.home-hero-full .hero-title-line.stories,
.home-hero-full .hero-title-line.media,
.home-hero-full .eyebrow,
.home-hero-full .hero-copy p,
.home-hero-full .trust {
    text-shadow: none !important;

    -webkit-text-stroke: 0 !important;

    filter: none !important;

    box-shadow: none !important;
}


/* ---------------------------------------------------------
   KEEP YOUR REQUESTED HEADLINE COLORS
   --------------------------------------------------------- */

.home-hero-full .hero-title-line.voice {
    color: #050505 !important;
}


.home-hero-full .hero-title-line.stories {
    color: #ed1c24 !important;
}


.home-hero-full .hero-title-line.media {
    color: #169b45 !important;
}


/* ---------------------------------------------------------
   BREAKING NEWS + DESCRIPTION
   --------------------------------------------------------- */

.home-hero-full .eyebrow {
    color: #ffffff !important;
}


.home-hero-full .hero-copy p {
    color: #ffffff !important;

    opacity: 1 !important;
}


.home-hero-full .trust {
    color: rgba(255,255,255,.92) !important;
}


.home-hero-full .trust b {
    color: #ffffff !important;
}


/* ---------------------------------------------------------
   REMOVE WHITE BACKGROUND FROM HERO BUTTON AREA
   --------------------------------------------------------- */

.home-hero-full .hero-buttons {
    background: transparent !important;

    box-shadow: none !important;
}


/*
Primary stays red.
*/

.home-hero-full .btn-red {
    background: #ed1c24 !important;

    color: #fff !important;

    border-color: #ed1c24 !important;

    box-shadow: none !important;
}


/*
Secondary is transparent/dark instead of white.
*/

.home-hero-full .home-hero-secondary {
    background: rgba(0,0,0,.32) !important;

    color: #ffffff !important;

    border:
        1px solid
        rgba(255,255,255,.55) !important;

    box-shadow: none !important;

    backdrop-filter: blur(3px) !important;
}


/* ---------------------------------------------------------
   SLIDER ARROWS
   --------------------------------------------------------- */

.home-hero-full .hero-slider-arrow {
    background: rgba(0,0,0,.42) !important;

    color: #ffffff !important;

    border:
        1px solid
        rgba(255,255,255,.55) !important;

    box-shadow: none !important;

    text-shadow: none !important;

    filter: none !important;
}


.home-hero-full .hero-slider-arrow:hover {
    background: #ed1c24 !important;

    border-color: #ed1c24 !important;
}


/* ---------------------------------------------------------
   DOTS
   --------------------------------------------------------- */

.home-hero-full .hero-slider-dot {
    background: rgba(255,255,255,.65) !important;

    box-shadow: none !important;
}


.home-hero-full .hero-slider-dot.active {
    background: #ed1c24 !important;
}


/* ---------------------------------------------------------
   DESKTOP
   --------------------------------------------------------- */

@media (min-width: 981px) {

    .home-hero-full .hero-slide img {
        object-position: 57% center !important;
    }

}


/* ---------------------------------------------------------
   TABLET
   --------------------------------------------------------- */

@media (max-width: 980px) {

    .home-hero-full .home-hero-overlay {
        background:
            rgba(0,0,0,.48) !important;
    }

}


/* ---------------------------------------------------------
   MOBILE
   --------------------------------------------------------- */

@media (max-width: 640px) {

    .home-hero-full .home-hero-overlay {
        background:
            rgba(0,0,0,.57) !important;
    }


    .home-hero-full .hero-slide img {
        object-position: center center !important;
    }


    /*
    On a narrow screen the black first line can become
    unreadable against a dark photograph, so use white only
    at mobile width.
    */

    .home-hero-full .hero-title-line.voice {
        color: #ffffff !important;

        text-shadow: none !important;
    }

}


/* =========================================================
   DALLAS MEDIA GROUP
   HEADER BADGE + BRAND NAME V1
   ========================================================= */

.site-header {
    grid-template-columns:
        minmax(250px, 305px)
        minmax(0, 1fr)
        auto !important;
}


/* BRAND CONTAINER */

.site-header .logo {
    display: flex !important;

    align-items: center !important;

    justify-content: flex-start !important;

    gap: 11px !important;

    width: fit-content !important;

    min-width: 0 !important;

    text-decoration: none !important;
}


/* REAL BADGE */

.site-header .logo > img {
    width: 74px !important;
    height: 74px !important;

    min-width: 74px !important;

    max-width: 74px !important;

    object-fit: contain !important;

    display: block !important;

    flex-shrink: 0 !important;
}


/* TEXT BESIDE BADGE */

.site-header .brand-lockup {
    display: flex !important;

    flex-direction: column !important;

    justify-content: center !important;

    align-items: flex-start !important;

    gap: 1px !important;

    white-space: nowrap !important;

    line-height: 1 !important;
}


.site-header .brand-line {
    display: block !important;

    margin: 0 !important;

    padding: 0 !important;

    color: #111 !important;

    font-family:
        Arial,
        Helvetica,
        sans-serif !important;

    font-style: normal !important;

    text-shadow: none !important;
}


.site-header .brand-line-1 {
    font-size: 22px !important;

    line-height: 1 !important;

    font-weight: 900 !important;

    letter-spacing: .01em !important;
}


.site-header .brand-line-2 {
    margin-top: 3px !important;

    font-size: 13px !important;

    line-height: 1 !important;

    font-weight: 900 !important;

    letter-spacing: .015em !important;
}


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

@media (max-width: 1180px) {

    .site-header {
        grid-template-columns:
            minmax(225px, 270px)
            minmax(0, 1fr)
            auto !important;
    }

    .site-header .logo > img {
        width: 66px !important;
        height: 66px !important;

        min-width: 66px !important;
        max-width: 66px !important;
    }

    .site-header .brand-line-1 {
        font-size: 19px !important;
    }

    .site-header .brand-line-2 {
        font-size: 11px !important;
    }

}


/* =========================================================
   MOBILE NAV BREAKPOINT
   ========================================================= */

@media (max-width: 980px) {

    .site-header {
        grid-template-columns:
            minmax(0, 1fr)
            auto
            auto !important;
    }

    .site-header .logo > img {
        width: 58px !important;
        height: 58px !important;

        min-width: 58px !important;
        max-width: 58px !important;
    }

    .site-header .brand-line-1 {
        font-size: 17px !important;
    }

    .site-header .brand-line-2 {
        font-size: 10px !important;
    }

}


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

@media (max-width: 520px) {

    .site-header .logo {
        gap: 7px !important;
    }

    .site-header .logo > img {
        width: 52px !important;
        height: 52px !important;

        min-width: 52px !important;
        max-width: 52px !important;
    }

    .site-header .brand-line-1 {
        font-size: 15px !important;
    }

    .site-header .brand-line-2 {
        font-size: 9px !important;
    }

}


/* =========================================================
   DALLAS MEDIA GROUP
   HEADER BRAND NAME REMOVAL
   ========================================================= */

.site-header .brand-lockup,
.site-header .brand-line,
.site-header .brand-line-1,
.site-header .brand-line-2 {
    display: none !important;
}


/*
Return the header logo area to badge-only sizing.
*/

.site-header {
    grid-template-columns:
        auto
        minmax(0, 1fr)
        auto !important;
}


.site-header .logo {
    display: flex !important;

    align-items: center !important;

    justify-content: flex-start !important;

    width: auto !important;

    min-width: 0 !important;

    gap: 0 !important;
}


.site-header .logo > img {
    width: 74px !important;
    height: 74px !important;

    min-width: 74px !important;
    max-width: 74px !important;

    object-fit: contain !important;

    display: block !important;
}


@media (max-width: 980px) {

    .site-header .logo > img {
        width: 60px !important;
        height: 60px !important;

        min-width: 60px !important;
        max-width: 60px !important;
    }

}


@media (max-width: 520px) {

    .site-header .logo > img {
        width: 54px !important;
        height: 54px !important;

        min-width: 54px !important;
        max-width: 54px !important;
    }

}


/* =========================================================
   DALLAS MEDIA GROUP
   TOP MASTHEAD + KENYA WINGS
   ========================================================= */

.site-header {
    display: flex !important;
    flex-direction: column !important;
    align-items: stretch !important;
    justify-content: flex-start !important;
    gap: 0 !important;
    padding: 0 !important;
    background: #ffffff !important;
    border-bottom: 1px solid rgba(0,0,0,.08) !important;
}


/* ---------------------------------------------------------
   TOP MASTHEAD
   --------------------------------------------------------- */

.dm-top-masthead {
    display: grid !important;
    grid-template-columns: auto 1fr !important;
    align-items: center !important;
    column-gap: 24px !important;
    padding: 18px 34px 10px !important;
    background: #ffffff !important;
}

.dm-top-masthead__badge {
    display: flex !important;
    align-items: center !important;
    justify-content: center !important;
    text-decoration: none !important;
    flex-shrink: 0 !important;
}

.dm-top-masthead__badge img {
    width: 118px !important;
    height: auto !important;
    display: block !important;
    object-fit: contain !important;
}

.dm-top-masthead__hero {
    display: flex !important;
    align-items: center !important;
    justify-content: center !important;
    gap: 22px !important;
    min-width: 0 !important;
}

.dm-top-masthead__title-wrap {
    display: flex !important;
    align-items: center !important;
    justify-content: center !important;
    flex-shrink: 0 !important;
}

.dm-top-masthead__title {
    color: #1a1f24 !important;
    font-family: Arial, Helvetica, sans-serif !important;
    font-style: italic !important;
    font-weight: 900 !important;
    font-size: 4.2rem !important;
    line-height: 1 !important;
    letter-spacing: .02em !important;
    text-transform: uppercase !important;
    white-space: nowrap !important;
    text-shadow: none !important;
}


/* ---------------------------------------------------------
   KENYA WINGS
   --------------------------------------------------------- */

.dm-wing {
    position: relative !important;
    width: clamp(180px, 23vw, 420px) !important;
    height: 36px !important;
    flex-shrink: 1 !important;
    overflow: hidden !important;
    isolation: isolate !important;
    opacity: .98 !important;
    filter: drop-shadow(0 2px 3px rgba(0,0,0,.12)) !important;
}

.dm-wing::after {
    content: "" !important;
    position: absolute !important;
    inset: 0 !important;
    background: linear-gradient(
        90deg,
        transparent 0%,
        rgba(255,255,255,.02) 18%,
        rgba(255,255,255,.06) 50%,
        rgba(255,255,255,.02) 82%,
        transparent 100%
    ) !important;
    pointer-events: none !important;
}

.dm-wing--left {
    transform: scaleX(-1) !important;
}

.dm-wing__stripe {
    position: absolute !important;
    left: 0 !important;
    border-radius: 999px !important;
    transform-origin: left center !important;
    animation: dmWingFlow 3.6s ease-in-out infinite !important;
    will-change: transform, opacity !important;
}

.dm-wing__stripe--black {
    top: 4px !important;
    width: 100% !important;
    height: 7px !important;
    background: linear-gradient(
        90deg,
        rgba(0,0,0,0) 0%,
        #111111 16%,
        #111111 70%,
        rgba(0,0,0,0) 100%
    ) !important;
    filter: blur(.1px) !important;
}

.dm-wing__stripe--white-1 {
    top: 11px !important;
    width: 92% !important;
    height: 3px !important;
    background: linear-gradient(
        90deg,
        rgba(255,255,255,0) 0%,
        #ffffff 16%,
        #ffffff 68%,
        rgba(255,255,255,0) 100%
    ) !important;
    animation-delay: -.15s !important;
}

.dm-wing__stripe--red {
    top: 14px !important;
    width: 100% !important;
    height: 8px !important;
    background: linear-gradient(
        90deg,
        rgba(255,0,0,0) 0%,
        #cf1020 14%,
        #df1525 60%,
        rgba(255,0,0,0) 100%
    ) !important;
    animation-delay: -.3s !important;
}

.dm-wing__stripe--white-2 {
    top: 23px !important;
    width: 92% !important;
    height: 3px !important;
    background: linear-gradient(
        90deg,
        rgba(255,255,255,0) 0%,
        #ffffff 16%,
        #ffffff 66%,
        rgba(255,255,255,0) 100%
    ) !important;
    animation-delay: -.45s !important;
}

.dm-wing__stripe--green {
    top: 26px !important;
    width: 100% !important;
    height: 8px !important;
    background: linear-gradient(
        90deg,
        rgba(0,128,0,0) 0%,
        #058c46 14%,
        #119a4e 62%,
        rgba(0,128,0,0) 100%
    ) !important;
    animation-delay: -.6s !important;
}

@keyframes dmWingFlow {
    0% {
        transform: translateX(0) scaleX(1) scaleY(1);
        opacity: .90;
    }
    25% {
        transform: translateX(7px) scaleX(1.015) scaleY(1.02);
        opacity: 1;
    }
    50% {
        transform: translateX(13px) scaleX(1.03) scaleY(1);
        opacity: .96;
    }
    75% {
        transform: translateX(6px) scaleX(1.015) scaleY(.99);
        opacity: 1;
    }
    100% {
        transform: translateX(0) scaleX(1) scaleY(1);
        opacity: .90;
    }
}


/* ---------------------------------------------------------
   NAV ROW BELOW MASTHEAD
   --------------------------------------------------------- */

.site-header .logo--nav {
    display: none !important;
}

.site-header .nav-row {
    width: 100% !important;
    display: flex !important;
    justify-content: center !important;
    align-items: center !important;
    flex-wrap: wrap !important;
    gap: 16px !important;
    padding: 8px 26px 22px !important;
    margin: 0 auto !important;
    background: #ffffff !important;
    border: 0 !important;
    box-shadow: none !important;
}

.site-header .nav-row ul,
.site-header .nav-row .nav-list,
.site-header .nav-row .menu,
.site-header .nav-row .menu-list {
    display: flex !important;
    flex-wrap: wrap !important;
    justify-content: center !important;
    align-items: center !important;
    gap: 14px !important;
    margin: 0 auto !important;
}


/* ---------------------------------------------------------
   HEADER ACTIONS
   --------------------------------------------------------- */

.site-header .header-actions,
.site-header .nav-actions,
.site-header .top-actions {
    align-self: center !important;
}


/* ---------------------------------------------------------
   RESPONSIVE
   --------------------------------------------------------- */

@media (max-width: 1500px) {
    .dm-top-masthead__title {
        font-size: 3.4rem !important;
    }
}

@media (max-width: 1280px) {
    .dm-top-masthead {
        grid-template-columns: auto 1fr !important;
        padding: 16px 22px 8px !important;
    }

    .dm-top-masthead__badge img {
        width: 96px !important;
    }

    .dm-top-masthead__title {
        font-size: 2.85rem !important;
    }

    .dm-top-masthead__hero {
        gap: 16px !important;
    }
}

@media (max-width: 980px) {
    .dm-top-masthead {
        grid-template-columns: 1fr !important;
        row-gap: 14px !important;
        justify-items: center !important;
        padding: 16px 16px 6px !important;
    }

    .dm-top-masthead__badge img {
        width: 86px !important;
    }

    .dm-top-masthead__hero {
        width: 100% !important;
        gap: 12px !important;
    }

    .dm-top-masthead__title {
        font-size: 2rem !important;
        text-align: center !important;
        white-space: normal !important;
    }

    .dm-wing {
        width: min(28vw, 180px) !important;
        height: 28px !important;
    }

    .site-header .nav-row {
        padding: 8px 12px 18px !important;
    }
}

@media (max-width: 640px) {
    .dm-top-masthead__title {
        font-size: 1.45rem !important;
        line-height: 1.05 !important;
    }

    .dm-wing {
        width: min(22vw, 110px) !important;
        height: 22px !important;
    }

    .dm-wing__stripe--black {
        top: 2px !important;
        height: 5px !important;
    }

    .dm-wing__stripe--white-1 {
        top: 8px !important;
    }

    .dm-wing__stripe--red {
        top: 10px !important;
        height: 6px !important;
    }

    .dm-wing__stripe--white-2 {
        top: 17px !important;
    }

    .dm-wing__stripe--green {
        top: 18px !important;
        height: 6px !important;
    }
}


/* =========================================================
   DALLAS MEDIA GROUP
   COMPACT MASTHEAD + NAV FINAL V1
   ========================================================= */


/* ---------------------------------------------------------
   HEADER ROOT
   --------------------------------------------------------- */

.site-header {
    height: auto !important;

    min-height: 0 !important;

    display: flex !important;

    flex-direction: column !important;

    align-items: stretch !important;

    justify-content: flex-start !important;

    gap: 0 !important;

    padding: 0 !important;

    margin: 0 !important;

    position: sticky !important;

    top: 0 !important;

    z-index: 50 !important;

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

    border-bottom:
        1px solid rgba(0,0,0,.08) !important;

    backdrop-filter:
        blur(14px) !important;
}


/* =========================================================
   SMALLER TOP MASTHEAD
   ========================================================= */

.dm-top-masthead {
    width: 100% !important;

    min-height: 0 !important;

    display: grid !important;

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

    align-items: center !important;

    column-gap: 16px !important;

    padding:
        7px
        28px
        3px !important;

    margin: 0 !important;

    background: #ffffff !important;
}


/* ---------------------------------------------------------
   BADGE
   --------------------------------------------------------- */

.dm-top-masthead__badge {
    display: flex !important;

    align-items: center !important;

    justify-content: center !important;

    flex-shrink: 0 !important;
}


.dm-top-masthead__badge img {
    width: 78px !important;

    height: 78px !important;

    max-width: 78px !important;

    object-fit: contain !important;
}


/* ---------------------------------------------------------
   CENTER MASTHEAD
   --------------------------------------------------------- */

.dm-top-masthead__hero {
    min-width: 0 !important;

    display: flex !important;

    align-items: center !important;

    justify-content: center !important;

    gap: 15px !important;
}


.dm-top-masthead__title-wrap {
    display: flex !important;

    align-items: center !important;

    justify-content: center !important;

    flex-shrink: 0 !important;
}


/* ---------------------------------------------------------
   SMALLER DALLAS MEDIA GROUP TITLE
   --------------------------------------------------------- */

.dm-top-masthead__title {
    margin: 0 !important;

    color: #1a1f24 !important;

    font-family:
        Arial,
        Helvetica,
        sans-serif !important;

    font-size:
        clamp(
            27px,
            2.35vw,
            42px
        ) !important;

    font-style: italic !important;

    font-weight: 900 !important;

    line-height: .95 !important;

    letter-spacing: .015em !important;

    text-transform: uppercase !important;

    white-space: nowrap !important;

    text-shadow: none !important;
}


/* =========================================================
   SMALLER KENYA WINGS
   ========================================================= */

.dm-wing {
    width:
        clamp(
            120px,
            16vw,
            280px
        ) !important;

    height: 25px !important;

    flex-shrink: 1 !important;
}


.dm-wing__stripe--black {
    top: 2px !important;

    height: 5px !important;
}


.dm-wing__stripe--white-1 {
    top: 7px !important;

    height: 2px !important;
}


.dm-wing__stripe--red {
    top: 9px !important;

    height: 6px !important;
}


.dm-wing__stripe--white-2 {
    top: 15px !important;

    height: 2px !important;
}


.dm-wing__stripe--green {
    top: 17px !important;

    height: 6px !important;
}


/* =========================================================
   OLD HEADER BADGE
   ========================================================= */

.site-header .logo--nav {
    display: none !important;
}

/* =========================================================
   ACTUAL NAVIGATION ROW
   ========================================================= */

.site-header nav#nav,
.site-header .nav-row {
    position: relative !important;

    top: auto !important;
    right: auto !important;
    bottom: auto !important;
    left: auto !important;

    transform: none !important;

    width: 100% !important;

    min-height: 0 !important;

    display: flex !important;

    flex-direction: row !important;

    flex-wrap: wrap !important;

    justify-content: center !important;

    align-items: center !important;

    gap: 22px !important;

    margin: 0 !important;

    padding:
        3px
        22px
        10px !important;

    background: #ffffff !important;

    border: 0 !important;

    box-shadow: none !important;

    white-space: nowrap !important;
}


/* =========================================================
   NAV LINKS
   Critical correction:
   old rule had padding-top: 45px.
   ========================================================= */

.site-header nav#nav > a,
.site-header .nav-row > a {
    display: inline-flex !important;

    align-items: center !important;

    justify-content: center !important;

    margin: 0 !important;

    padding:
        6px
        0
        8px !important;

    border-top: 0 !important;

    border-right: 0 !important;

    border-left: 0 !important;

    border-bottom:
        2px solid transparent !important;

    color: #111 !important;

    font-size: 17px !important;

    font-weight: 700 !important;

    line-height: 1.15 !important;

    letter-spacing: 0 !important;

    text-transform: none !important;

    transform: none !important;

    white-space: nowrap !important;
}


/* Preserve global Arial menu style */

.site-header nav#nav > a,
.site-header .nav-row > a {
    font-family:
        Arial,
        "Segoe UI",
        cursive !important;
}


/* ---------------------------------------------------------
   ACTIVE PAGE
   --------------------------------------------------------- */

.site-header nav#nav > a.active,
.site-header nav#nav > a:hover,
.site-header .nav-row > a.active,
.site-header .nav-row > a:hover {
    color: #ed1c24 !important;

    border-bottom-color:
        #ed1c24 !important;
}


/* =========================================================
   EMPTY HEADER ACTIONS
   ========================================================= */

.site-header .header-actions {
    display: none !important;

    margin: 0 !important;

    padding: 0 !important;

    transform: none !important;
}


/* =========================================================
   LARGE DESKTOP
   ========================================================= */

@media (min-width: 1500px) {

    .dm-top-masthead {
        padding:
            8px
            34px
            3px !important;
    }


    .dm-top-masthead__badge img {
        width: 82px !important;
        height: 82px !important;

        max-width: 82px !important;
    }


    .site-header nav#nav,
    .site-header .nav-row {
        gap: 25px !important;
    }


    .site-header nav#nav > a,
    .site-header .nav-row > a {
        font-size: 18px !important;
    }

}


/* =========================================================
   MEDIUM DESKTOP
   ========================================================= */

@media (max-width: 1280px) {

    .dm-top-masthead {
        padding:
            6px
            20px
            3px !important;
    }


    .dm-top-masthead__badge img {
        width: 70px !important;
        height: 70px !important;

        max-width: 70px !important;
    }


    .dm-top-masthead__title {
        font-size:
            clamp(
                24px,
                2.4vw,
                34px
            ) !important;
    }


    .dm-wing {
        width:
            clamp(
                90px,
                14vw,
                210px
            ) !important;
    }


    .site-header nav#nav,
    .site-header .nav-row {
        gap: 17px !important;

        padding-bottom:
            8px !important;
    }


    .site-header nav#nav > a,
    .site-header .nav-row > a {
        font-size: 15px !important;
    }

}


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

@media (max-width: 980px) {

    .site-header {
        overflow: visible !important;
    }


    .dm-top-masthead {
        grid-template-columns:
            auto
            minmax(0,1fr)
            auto !important;

        padding:
            7px
            14px !important;
    }


    .dm-top-masthead__badge img {
        width: 58px !important;
        height: 58px !important;

        max-width: 58px !important;
    }


    .dm-top-masthead__hero {
        gap: 8px !important;
    }


    .dm-top-masthead__title {
        font-size:
            clamp(
                18px,
                4vw,
                27px
            ) !important;

        white-space: normal !important;

        text-align: center !important;
    }


    .dm-wing {
        width:
            clamp(
                45px,
                11vw,
                100px
            ) !important;

        height: 19px !important;
    }




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

@media (max-width: 560px) {

    .dm-top-masthead__badge img {
        width: 50px !important;
        height: 50px !important;

        max-width: 50px !important;
    }


    .dm-top-masthead__title {
        font-size: 18px !important;
    }


    .dm-wing {
        width: 45px !important;
    }

}


/* =========================================================
   DALLAS MEDIA GROUP
   INTERNAL MEDIA PLAYER V1
   ========================================================= */

html.dm-player-open,
html.dm-player-open body {
    overflow: hidden !important;
}


.dm-player-shell {
    position: fixed !important;

    inset: 0 !important;

    z-index: 100000 !important;

    display: none !important;

    align-items: center !important;

    justify-content: center !important;

    padding: 28px !important;
}


.dm-player-shell.is-open {
    display: flex !important;
}


.dm-player-backdrop {
    position: absolute !important;

    inset: 0 !important;

    background:
        rgba(0,0,0,.88) !important;

    backdrop-filter:
        blur(10px) !important;
}


.dm-player-dialog {
    position: relative !important;

    z-index: 2 !important;

    width:
        min(
            1180px,
            96vw
        ) !important;

    max-height:
        94vh !important;

    overflow: hidden !important;

    display: flex !important;

    flex-direction: column !important;

    background:
        #0d0d0d !important;

    border:
        1px solid
        rgba(255,255,255,.16) !important;

    border-radius:
        22px !important;

    box-shadow:
        0 30px 100px
        rgba(0,0,0,.55) !important;
}


.dm-player-header {
    min-height: 60px !important;

    display: flex !important;

    align-items: center !important;

    justify-content:
        space-between !important;

    gap: 20px !important;

    padding:
        12px
        16px
        12px
        22px !important;

    background:
        #111111 !important;

    border-bottom:
        1px solid
        rgba(255,255,255,.12) !important;
}


.dm-player-brand {
    display: flex !important;

    align-items: center !important;

    gap: 10px !important;

    color: #ffffff !important;

    font-family:
        Arial,
        Helvetica,
        sans-serif !important;

    font-style: normal !important;

    letter-spacing:
        .04em !important;
}


.dm-player-live-dot {
    width: 10px !important;
    height: 10px !important;

    border-radius:
        50% !important;

    background:
        #ed1c24 !important;

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


.dm-player-close {
    width: 42px !important;
    height: 42px !important;

    display: grid !important;

    place-items: center !important;

    border:
        1px solid
        rgba(255,255,255,.16) !important;

    border-radius:
        50% !important;

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

    color: #fff !important;

    cursor: pointer !important;
}


.dm-player-close svg {
    width: 19px !important;
    height: 19px !important;

    fill: none !important;

    stroke:
        currentColor !important;

    stroke-width:
        2 !important;

    stroke-linecap:
        round !important;
}


.dm-player-stage {
    position: relative !important;

    width: 100% !important;

    aspect-ratio:
        16 / 9 !important;

    background:
        #000000 !important;
}


.dm-player-frame-slot,
.dm-player-iframe {
    position: absolute !important;

    inset: 0 !important;

    width: 100% !important;
    height: 100% !important;

    border: 0 !important;
}


.dm-player-loading {
    position: absolute !important;

    inset: 0 !important;

    z-index: 1 !important;

    display: grid;

    place-items: center;

    color:
        rgba(255,255,255,.72);

    font-size:
        17px;

    background:
        #000;
}


.dm-player-info {
    padding:
        17px
        22px
        21px !important;

    background:
        #111 !important;
}


.dm-player-title {
    margin:
        0 0 7px !important;

    color:
        #ffffff !important;

    font-size:
        clamp(
            20px,
            2vw,
            29px
        ) !important;

    line-height:
        1.2 !important;
}


.dm-player-meta {
    min-height:
        18px !important;

    color:
        rgba(255,255,255,.58) !important;

    font-size:
        14px !important;
}


@media (
    max-width: 700px
) {

    .dm-player-shell {
        padding:
            0 !important;

        align-items:
            flex-end !important;
    }


    .dm-player-dialog {
        width:
            100% !important;

        max-height:
            100dvh !important;

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


    .dm-player-header {
        min-height:
            54px !important;

        padding:
            8px
            10px
            8px
            15px !important;
    }


    .dm-player-info {
        padding:
            14px
            16px
            18px !important;
    }

}


/* =========================================================
   DALLAS MEDIA GROUP
   FOOTER BADGE SIZE FIX
   ========================================================= */

/*
Only the footer badge.
Does not affect the top masthead badge.
*/

.site-footer .footer-logo,
.site-footer .footer-brand img,
.site-footer img.footer-logo {
    width: 120px !important;
    height: 120px !important;

    max-width: 120px !important;
    max-height: 120px !important;

    object-fit: contain !important;

    display: block !important;

    margin: 0 0 12px !important;
}


/*
If the footer logo is simply an image inside
the first footer column without footer-logo class.
*/

.site-footer .footer-brand > img,
.site-footer .footer-col:first-child > img {
    width: 120px !important;
    height: 120px !important;

    max-width: 120px !important;
    max-height: 120px !important;

    object-fit: contain !important;
}


/* Tablet */

@media (max-width: 980px) {

    .site-footer .footer-logo,
    .site-footer .footer-brand img,
    .site-footer .footer-col:first-child > img {
        width: 100px !important;
        height: 100px !important;

        max-width: 100px !important;
        max-height: 100px !important;
    }

}


/* Mobile */

@media (max-width: 640px) {

    .site-footer .footer-logo,
    .site-footer .footer-brand img,
    .site-footer .footer-col:first-child > img {
        width: 88px !important;
        height: 88px !important;

        max-width: 88px !important;
        max-height: 88px !important;
    }

}


/* =========================================================
   DALLAS MEDIA GROUP
   INTERNAL PLAYER VIDEO VISIBILITY FIX V2
   ========================================================= */


/*
CRITICAL:
The old .dm-player-loading { display:grid; }
was overriding the browser's hidden behaviour.

When JS adds hidden, force the loading screen away.
*/

.dm-player-loading[hidden] {
    display: none !important;
    visibility: hidden !important;
    opacity: 0 !important;
    pointer-events: none !important;
}


/*
Player stage layering:
iframe/video above the black stage,
loading overlay only while loading.
*/

.dm-player-stage {
    position: relative !important;
    overflow: hidden !important;
    background: #000 !important;
}


.dm-player-frame-slot {
    position: absolute !important;
    inset: 0 !important;
    z-index: 2 !important;

    width: 100% !important;
    height: 100% !important;

    background: #000 !important;
}


.dm-player-iframe {
    position: absolute !important;
    inset: 0 !important;

    z-index: 2 !important;

    display: block !important;

    width: 100% !important;
    height: 100% !important;

    border: 0 !important;

    opacity: 1 !important;
    visibility: visible !important;

    background: #000 !important;
}


.dm-player-loading {
    position: absolute !important;
    inset: 0 !important;

    z-index: 5 !important;

    display: grid;

    place-items: center;

    background: #000 !important;

    color: rgba(255,255,255,.80) !important;

    transition:
        opacity .18s ease,
        visibility .18s ease !important;
}



/* =========================================================
   DALLAS MEDIA GROUP
   GLOBAL MOBILE EXPERIENCE V1
   AUTHORITATIVE FINAL MOBILE LAYER
   ========================================================= */


/* ---------------------------------------------------------
   GLOBAL MOBILE SAFETY
   --------------------------------------------------------- */

@media (max-width: 980px) {

    html,
    body {
        width: 100% !important;
        max-width: 100% !important;

        overflow-x: clip !important;
    }


    body {
        margin: 0 !important;
    }


    *,
    *::before,
    *::after {
        box-sizing: border-box !important;
    }


    img,
    video,
    iframe,
    svg,
    canvas {
        max-width: 100% !important;
    }


    main,
    section,
    article,
    aside,
    header,
    footer,
    nav,
    form,
    div {
        min-width: 0;
    }


    button,
    a,
    input,
    select,
    textarea {
        touch-action: manipulation;
    }


    button,
    a,
    [role="button"] {
        -webkit-tap-highlight-color: transparent;
    }


    :root {
        --dm-mobile-pad: 16px;
        --dm-mobile-radius: 18px;
        --dm-mobile-gap: 16px;
    }

}


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

@media (max-width: 980px) {

    .site-header {
        position: sticky !important;

        top: 0 !important;

        z-index: 9990 !important;

        width: 100% !important;

        height: auto !important;

        min-height: 0 !important;

        display: flex !important;

        flex-direction: column !important;

        align-items: stretch !important;

        justify-content: flex-start !important;

        padding: 0 !important;

        margin: 0 !important;

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

        border-bottom:
            1px solid rgba(0,0,0,.08) !important;

        box-shadow:
            0 3px 14px
            rgba(0,0,0,.05) !important;

        backdrop-filter:
            blur(14px) !important;
    }


    /*
    Compact masthead.
    */

    .dm-top-masthead {
        position: relative !important;

        display: grid !important;

        grid-template-columns:
            58px
            minmax(0,1fr)
            48px !important;

        align-items: center !important;

        gap: 10px !important;

        width: 100% !important;

        min-height: 72px !important;

        padding:
            7px
            var(--dm-mobile-pad) !important;

        margin: 0 !important;

        background: #fff !important;
    }


    .dm-top-masthead__badge {
        width: 58px !important;
        height: 58px !important;

        display: flex !important;

        align-items: center !important;

        justify-content: center !important;

        margin: 0 !important;
    }


    .dm-top-masthead__badge img {
        width: 58px !important;
        height: 58px !important;

        max-width: 58px !important;
        max-height: 58px !important;

        object-fit: contain !important;
    }


    .dm-top-masthead__hero {
        width: 100% !important;

        min-width: 0 !important;

        display: grid !important;

        grid-template-columns:
            minmax(26px, .45fr)
            auto
            minmax(26px, .45fr) !important;

        align-items: center !important;

        justify-content: center !important;

        gap: 7px !important;
    }


    .dm-top-masthead__title {
        display: block !important;

        max-width: 100% !important;

        margin: 0 !important;

        font-size:
            clamp(
                16px,
                4.3vw,
                23px
            ) !important;

        line-height: 1 !important;

        letter-spacing: .01em !important;

        text-align: center !important;

        white-space: nowrap !important;

        overflow: hidden !important;

        text-overflow: ellipsis !important;
    }


    .dm-wing {
        width: 100% !important;

        max-width: 75px !important;

        min-width: 25px !important;

        height: 18px !important;
    }


    .dm-wing__stripe--black {
        top: 1px !important;
        height: 4px !important;
    }


    .dm-wing__stripe--white-1 {
        top: 5px !important;
        height: 2px !important;
    }


    .dm-wing__stripe--red {
        top: 7px !important;
        height: 5px !important;
    }


    .dm-wing__stripe--white-2 {
        top: 12px !important;
        height: 2px !important;
    }


    .dm-wing__stripe--green {
        top: 14px !important;
        height: 4px !important;
    }




/* =========================================================
   HOME HERO MOBILE
   ========================================================= */

@media (max-width: 980px) {

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

        min-height:
            min(
                700px,
                calc(
                    100svh - 72px
                )
            ) !important;

        height: auto !important;

        overflow: hidden !important;
    }


    .home-hero-full .home-hero-background,
    .home-hero-full .hero-media,
    .home-hero-full .hero-slider,
    .home-hero-full .hero-slides,
    .home-hero-full .hero-slide {
        position: absolute !important;

        inset: 0 !important;

        width: 100% !important;

        height: 100% !important;
    }


    .home-hero-full .hero-slide img {
        width: 100% !important;

        height: 100% !important;

        object-fit: cover !important;

        object-position:
            center center !important;

        transform:
            none !important;
    }


    .home-hero-full
    .hero-slider
    .hero-slide:nth-child(1) img,
    .home-hero-full
    .hero-slider
    .hero-slide:nth-child(1).active img {
        transform:
            none !important;

        object-position:
            center center !important;
    }


    .home-hero-full .home-hero-overlay {
        position: absolute !important;

        inset: 0 !important;

        background:
            linear-gradient(
                180deg,
                rgba(0,0,0,.22)
                0%,
                rgba(0,0,0,.38)
                28%,
                rgba(0,0,0,.73)
                66%,
                rgba(0,0,0,.84)
                100%
            ) !important;
    }


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

        z-index: 4 !important;

        min-height:
            min(
                700px,
                calc(
                    100svh - 72px
                )
            ) !important;

        display: flex !important;

        align-items:
            flex-end !important;

        justify-content:
            flex-start !important;

        padding:
            42px
            var(--dm-mobile-pad)
            52px !important;
    }


    .home-hero-full .hero-copy {
        width:
            min(
                100%,
                620px
            ) !important;

        max-width: 100% !important;

        margin: 0 !important;

        padding: 0 !important;

        text-align: left !important;

        background: transparent !important;
    }


    .home-hero-full .eyebrow {
        margin-bottom:
            13px !important;

        font-size:
            14px !important;

        color: #fff !important;
    }


    .home-hero-full
    .hero-copy h1 {
        margin:
            0 0
            20px !important;

        font-size:
            clamp(
                42px,
                11vw,
                66px
            ) !important;

        line-height:
            .98 !important;
    }


    .home-hero-full
    .hero-title-line {
        display: block !important;
    }


    .home-hero-full
    .hero-title-line.voice {
        color: #fff !important;
    }


    .home-hero-full
    .hero-title-line.stories {
        color: #ed1c24 !important;
    }


    .home-hero-full
    .hero-title-line.media {
        color: #169b45 !important;
    }


    .home-hero-full .hero-copy p {
        width: 100% !important;

        max-width: 540px !important;

        margin:
            0 0
            22px !important;

        font-size:
            16px !important;

        line-height:
            1.65 !important;

        color: #fff !important;
    }


    .home-hero-full
    .hero-buttons {
        display: flex !important;

        flex-direction: row !important;

        flex-wrap: wrap !important;

        align-items: center !important;

        justify-content:
            flex-start !important;

        gap: 10px !important;
    }


    .home-hero-full
    .hero-buttons a,
    .home-hero-full
    .hero-buttons button {
        min-height:
            48px !important;

        padding:
            11px
            18px !important;
    }


    .home-hero-full
    .hero-slider-arrow {
        width: 42px !important;

        height: 42px !important;

        top: 48% !important;

        font-size:
            23px !important;
    }


    .home-hero-full
    .hero-slider-prev {
        left: 10px !important;
    }


    .home-hero-full
    .hero-slider-next {
        right: 10px !important;
    }


    .home-hero-full
    .hero-slider-dots {
        bottom:
            16px !important;
    }

}


/* =========================================================
   QUICK LINKS — MOBILE SWIPE STRIP
   ========================================================= */

@media (max-width: 980px) {

    .quick-strip {
        display: grid !important;

        grid-auto-flow:
            column !important;

        grid-auto-columns:
            minmax(
                118px,
                31vw
            ) !important;

        grid-template-columns:
            none !important;

        gap: 12px !important;

        width: 100% !important;

        padding:
            16px
            var(--dm-mobile-pad)
            20px !important;

        margin: 0 !important;

        overflow-x: auto !important;
        overflow-y: hidden !important;

        scroll-snap-type:
            x proximity !important;

        overscroll-behavior-inline:
            contain !important;

        scrollbar-width:
            none !important;
    }


    .quick-strip::-webkit-scrollbar {
        display: none !important;
    }


    .quick-strip .quick-item {
        min-width: 0 !important;

        min-height: 110px !important;

        padding:
            16px
            10px !important;

        border-radius:
            16px !important;

        scroll-snap-align:
            start !important;

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


    .quick-strip
    .quick-item svg {
        width: 31px !important;

        height: 31px !important;
    }


    .quick-strip
    .quick-item b,
    .quick-strip
    .quick-item span {
        font-size:
            14px !important;

        line-height:
            1.25 !important;

        text-align:
            center !important;
    }

}


/* =========================================================
   GLOBAL SECTION SPACING
   ========================================================= */

@media (max-width: 980px) {

    .section,
    .news-page-head,
    .news-main-layout,
    .news-section,
    .news-three-columns,
    .news-no-results,

    .politics-head,
    .politics-main-grid,
    .politics-section,
    .politics-no-results,

    .trends-head,
    .trends-main-grid,
    .trends-section,
    .trends-no-results,

    .shows-head,
    .shows-main-grid,
    .shows-section,
    .shows-no-results,

    .podcasts-head,
    .podcast-main-grid,
    .podcast-section,
    .podcast-subscribe,
    .podcast-no-results,

    .voice-content-grid,
    .voice-success {

        width:
            calc(
                100% -
                (
                    var(--dm-mobile-pad)
                    * 2
                )
            ) !important;

        max-width: none !important;

        margin-left:
            auto !important;

        margin-right:
            auto !important;
    }

}


/* =========================================================
   MAJOR TWO-COLUMN / SIDEBAR LAYOUTS
   ========================================================= */

@media (max-width: 900px) {

    .content-grid,
    .broadcast-grid,
    .shows-layout,

    .news-main-layout,
    .news-three-columns,

    .politics-main-grid,
    .politics-feature-area,

    .voice-content-grid,

    .trends-main-grid,

    .live-main-grid,

    .shows-main-grid,

    .podcast-main-grid,

    .video-main-grid,

    .gallery-main-grid,

    .contact-main-grid,

    .about-who-grid,

    .dm-privacy-layout,
    .dm-terms-layout {
        grid-template-columns:
            minmax(0,1fr) !important;
    }


    aside,
    .news-sidebar,
    .politics-sidebar,
    .trends-sidebar,
    .shows-sidebar,
    .podcast-sidebar,
    .video-sidebar,
    .gallery-sidebar {
        width: 100% !important;
        max-width: none !important;
    }

}


/* =========================================================
   CARD GRIDS
   ========================================================= */

@media (max-width: 700px) {

    .news-card-grid,
    .news-stream-grid,

    .politics-card-grid,
    .politics-stream-grid,
    .politics-opinion-grid,

    .trends-card-grid,
    .trends-stream-grid,

    .shows-card-grid,
    .shows-short-grid,

    .podcast-card-grid,
    .podcast-short-grid,

    .video-grid,

    .gallery,

    .gallery-grid,

    .about-coverage-grid,
    .about-platform-grid,

    .voice-feature-grid,
    .voice-community-grid {
        grid-template-columns:
            minmax(0,1fr) !important;
    }


    .show-track {
        grid-template-columns:
            minmax(0,1fr) !important;
    }

}


/* =========================================================
   MOBILE CARD IMAGES
   ========================================================= */

@media (max-width: 700px) {

    .lead-story img,
    .news-card > img,
    .news-stream-image,
    .politics-card img,
    .trends-card img,
    .shows-card img,
    .podcast-card img,
    .video-card img,
    .gallery img {
        width: 100% !important;

        object-fit: cover !important;

        border-radius: inherit;
    }


    .lead-story img,
    .news-card > img,
    .news-stream-image {
        height:
            clamp(
                195px,
                55vw,
                280px
            ) !important;
    }

}


/* =========================================================
   PAGE HEADERS + SEARCH/FILTER CONTROLS
   ========================================================= */

@media (max-width: 700px) {

    .news-title-row,
    .politics-title-row,
    .trends-title-row,
    .shows-title-row,
    .podcasts-title-row,
    .video-title-row,
    .gallery-title-row {
        display: flex !important;

        flex-direction: column !important;

        align-items:
            stretch !important;

        gap: 15px !important;
    }


    .news-tools,
    .politics-tools,
    .trends-tools,
    .shows-tools,
    .podcasts-tools,
    .video-tools,
    .gallery-tools {
        width: 100% !important;

        display: grid !important;

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

        gap: 9px !important;
    }


    .news-search,
    .politics-search,
    .trends-search,
    .shows-search,
    .podcasts-search,
    .video-search,
    .gallery-search {
        width: 100% !important;

        min-width: 0 !important;
    }


    input,
    select,
    textarea {
        max-width:
            100% !important;
    }

}


/* =========================================================
   FILTER / CATEGORY CHIP ROWS
   ========================================================= */

@media (max-width: 700px) {

    .news-categories,
    .politics-categories,
    .trends-categories,
    .shows-categories,
    .podcast-categories,
    .video-categories,
    .gallery-categories,

    .news-media-filter {
        width: 100% !important;

        display: flex !important;

        flex-wrap: nowrap !important;

        justify-content:
            flex-start !important;

        gap: 8px !important;

        padding-bottom:
            5px !important;

        overflow-x: auto !important;

        overflow-y: hidden !important;

        scrollbar-width:
            none !important;
    }


    .news-categories::-webkit-scrollbar,
    .politics-categories::-webkit-scrollbar,
    .trends-categories::-webkit-scrollbar,
    .shows-categories::-webkit-scrollbar,
    .podcast-categories::-webkit-scrollbar,
    .video-categories::-webkit-scrollbar,
    .gallery-categories::-webkit-scrollbar,
    .news-media-filter::-webkit-scrollbar {
        display: none !important;
    }


    .news-categories > *,
    .politics-categories > *,
    .trends-categories > *,
    .shows-categories > *,
    .podcast-categories > *,
    .video-categories > *,
    .gallery-categories > *,
    .news-media-filter > * {
        flex:
            0 0 auto !important;

        white-space:
            nowrap !important;
    }

}


/* =========================================================
   FORMS
   ========================================================= */

@media (max-width: 700px) {

    form {
        width: 100% !important;
    }


    .form-grid,
    .voice-form-grid,
    .contact-form-grid {
        grid-template-columns:
            minmax(0,1fr) !important;
    }


    input,
    select,
    textarea,
    button {
        font-size:
            16px !important;
    }


    input,
    select,
    button {
        min-height:
            46px !important;
    }


    textarea {
        min-height:
            130px !important;
    }

}


/* =========================================================
   PEOPLE'S VOICE
   ========================================================= */

@media (max-width: 700px) {

    .voice-hero-grid {
        grid-template-columns:
            minmax(0,1fr) !important;
    }


    .voice-hero-copy {
        padding:
            32px
            var(--dm-mobile-pad) !important;
    }


    .voice-hero-art {
        min-height:
            300px !important;
    }


    .voice-form-card {
        padding:
            18px !important;

        border-radius:
            var(--dm-mobile-radius) !important;
    }

}


/* =========================================================
   CONTACT / ABOUT HEROES
   ========================================================= */

@media (max-width: 700px) {

    .contact-hero,
    .about-hero {
        min-height:
            520px !important;

        height: auto !important;
    }


    .contact-hero-content,
    .about-hero-content {
        width: 100% !important;

        max-width: none !important;

        padding:
            40px
            var(--dm-mobile-pad) !important;
    }


    .contact-hero-content h1,
    .about-hero-content h1 {
        font-size:
            clamp(
                40px,
                11vw,
                62px
            ) !important;
    }


    .contact-hero-points {
        grid-template-columns:
            minmax(0,1fr) !important;
    }

}


/* =========================================================
   PRIVACY + TERMS
   ========================================================= */

@media (max-width: 700px) {

    .dm-privacy-hero-grid,
    .dm-terms-hero-grid {
        grid-template-columns:
            minmax(0,1fr) !important;

        gap: 18px !important;
    }


    .dm-privacy-wrap,
    .dm-terms-wrap {
        width:
            calc(
                100% -
                32px
            ) !important;

        margin-inline:
            auto !important;
    }


    .dm-privacy-section,
    .dm-terms-section {
        padding:
            18px 0 !important;
    }


    .dm-privacy-sidebar,
    .dm-terms-sidebar {
        position:
            static !important;
    }


    .dm-privacy-contact-grid,
    .dm-terms-contact-grid {
        grid-template-columns:
            minmax(0,1fr) !important;
    }

}


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

@media (max-width: 700px) {

    footer,
    .site-footer,
    .dm-site-footer {
        margin-top:
            32px !important;
    }


    .footer-grid,
    .dm-footer-grid {
        width:
            calc(
                100% -
                32px
            ) !important;

        max-width:
            none !important;

        display: grid !important;

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

        gap:
            26px !important;

        margin:
            0 auto !important;

        padding:
            30px
            0
            22px !important;
    }


    .footer-grid > *,
    .dm-footer-grid > * {
        width: 100% !important;

        min-width: 0 !important;

        padding:
            0 !important;
    }


    .site-footer .footer-logo,
    .dm-site-footer .footer-logo,
    .footer-logo {
        width: 82px !important;

        height: 82px !important;

        max-width: 82px !important;

        max-height: 82px !important;

        margin:
            0 0
            12px !important;
    }


    .footer-grid h4,
    .dm-footer-grid h4 {
        margin:
            0 0
            10px !important;

        font-size:
            15px !important;
    }


    .footer-grid a,
    .footer-grid p,
    .dm-footer-grid a,
    .dm-footer-grid p {
        font-size:
            13px !important;

        line-height:
            1.65 !important;
    }


    .copyright {
        width:
            calc(
                100% -
                32px
            ) !important;

        display: flex !important;

        flex-direction:
            column !important;

        align-items:
            flex-start !important;

        gap:
            10px !important;

        margin:
            0 auto !important;

        padding:
            18px
            0
            max(
                22px,
                env(
                    safe-area-inset-bottom
                )
            ) !important;
    }

}


/* =========================================================
   DALLAS MEDIA PLAYER MOBILE
   ========================================================= */

@media (max-width: 700px) {

    .dm-player-shell {
        align-items:
            center !important;

        justify-content:
            center !important;

        padding:
            max(
                8px,
                env(
                    safe-area-inset-top
                )
            )
            8px
            max(
                8px,
                env(
                    safe-area-inset-bottom
                )
            ) !important;
    }


    .dm-player-dialog {
        width:
            100% !important;

        max-width:
            none !important;

        max-height:
            calc(
                100dvh -
                16px
            ) !important;

        border-radius:
            16px !important;
    }


    .dm-player-header {
        min-height:
            50px !important;

        padding:
            7px
            9px
            7px
            14px !important;
    }


    .dm-player-close {
        width: 40px !important;
        height: 40px !important;
    }


    .dm-player-stage {
        width: 100% !important;

        aspect-ratio:
            16 / 9 !important;
    }


    .dm-player-info {
        padding:
            13px
            15px
            17px !important;
    }


    .dm-player-title {
        font-size:
            18px !important;
    }

}


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

@media (max-width: 520px) {

    :root {
        --dm-mobile-pad: 13px;
    }


    .dm-top-masthead {
        grid-template-columns:
            52px
            minmax(0,1fr)
            44px !important;

        min-height:
            66px !important;
    }


    .dm-top-masthead__badge,
    .dm-top-masthead__badge img {
        width: 52px !important;
        height: 52px !important;

        max-width: 52px !important;
    }


    .dm-top-masthead__title {
        font-size:
            clamp(
                14px,
                4vw,
                18px
            ) !important;
    }


    .dm-wing {
        max-width:
            48px !important;
    }




    .home-hero-full {
        min-height:
            min(
                650px,
                calc(
                    100svh -
                    66px
                )
            ) !important;
    }


    .home-hero-inner {
        min-height:
            min(
                650px,
                calc(
                    100svh -
                    66px
                )
            ) !important;

        padding-bottom:
            45px !important;
    }


    .home-hero-full
    .hero-copy h1 {
        font-size:
            clamp(
                38px,
                12vw,
                55px
            ) !important;
    }


    .home-hero-full
    .hero-copy p {
        font-size:
            14px !important;
    }


    .quick-strip {
        grid-auto-columns:
            minmax(
                108px,
                37vw
            ) !important;
    }

}


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

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

    *,
    *::before,
    *::after {
        scroll-behavior:
            auto !important;

        animation-duration:
            .001ms !important;

        animation-iteration-count:
            1 !important;

        transition-duration:
            .001ms !important;
    }

}

/* DALLAS GLOBAL READABLE FONT V1
   Better readability on mobile.
   Hero typography intentionally preserved.
============================================================ */

html,
body,
button,
input,
select,
textarea,
nav,
header,
footer,
main,
section,
article,
aside,
p,
span,
a,
li,
label,
small,
strong,
b,
table,
th,
td {
    font-family:
        Arial,
        Arial,
        Helvetica,
        sans-serif;
}


/* ---------------------------------------------------------
   HERO TYPOGRAPHY EXCEPTION
   Do not force the new global font into hero/title artwork.
--------------------------------------------------------- */

.hero,
.hero *,
.home-hero,
.home-hero *,
.dm-hero,
.dm-hero *,
.hero-section,
.hero-section *,
.hero-content,
.hero-content *,
.hero-copy,
.hero-copy *,
.hero-title,
.hero-subtitle,
.hero-eyebrow,
.dm-top-masthead__hero,
.dm-top-masthead__hero *,
.dm-top-masthead__title {
    font-family: inherit;
}


/* ---------------------------------------------------------
   MOBILE READABILITY
--------------------------------------------------------- */

@media (max-width: 980px) {

    body {
        font-family:
            Arial,
            Arial,
            Helvetica,
            sans-serif;
    }

    button,
    input,
    select,
    textarea {
        font-family:
            Arial,
            Arial,
            Helvetica,
            sans-serif;
    }

}


/* DALLAS NORMAL GLOBAL FONT V1
   Standard readable typography.
   Hero typography remains untouched.
============================================================ */

body,
button,
input,
select,
textarea,
nav,
footer,
main,
section,
article,
aside,
p,
span,
a,
li,
label,
small,
strong,
b,
table,
th,
td {
    font-family:
        Arial,
        Helvetica,
        sans-serif;
}


/* Keep hero areas with their existing typography */

.hero,
.hero *,
.home-hero,
.home-hero *,
.dm-hero,
.dm-hero *,
.hero-section,
.hero-section *,
.hero-content,
.hero-content *,
.hero-copy,
.hero-copy *,
.hero-title,
.hero-subtitle,
.hero-eyebrow,
.dm-top-masthead__hero,
.dm-top-masthead__hero *,
.dm-top-masthead__title {
    font-family: inherit;
}


/* Mobile */

@media (max-width: 980px) {

    body,
    button,
    input,
    select,
    textarea {
        font-family:
            Arial,
            Helvetica,
            sans-serif;
    }

}


/* ==========================================================
   DALLAS FOOTER BADGE FINAL
   ========================================================== */

.dm-site-footer .dm-footer-logo-link > img.footer-logo {
    display: block !important;

    width: 105px !important;
    height: 105px !important;

    min-width: 0 !important;
    min-height: 0 !important;

    max-width: 105px !important;
    max-height: 105px !important;

    object-fit: contain !important;

    margin: 0 0 10px !important;

    transform: none !important;
}

@media (max-width: 980px) {

    .dm-site-footer .dm-footer-logo-link > img.footer-logo {
        width: 90px !important;
        height: 90px !important;

        max-width: 90px !important;
        max-height: 90px !important;
    }

}

@media (max-width: 640px) {

    .dm-site-footer .dm-footer-logo-link > img.footer-logo {
        width: 78px !important;
        height: 78px !important;

        max-width: 78px !important;
        max-height: 78px !important;

        margin-left: auto !important;
        margin-right: auto !important;
    }

}

/* ==========================================================
   END DALLAS FOOTER BADGE FINAL
   ========================================================== */


/* DALLAS PEOPLE'S VOICE SUBMISSION TOAST V1 */

.voice-submit-toast {
    position: fixed;
    top: 24px;
    left: 50%;
    transform: translate(-50%, -20px);
    z-index: 99999;

    width: min(430px, calc(100% - 32px));
    box-sizing: border-box;

    display: flex;
    align-items: center;
    gap: 13px;

    padding: 16px 18px;

    background: #ffffff;
    color: #17212b;

    border: 1px solid #dfe6e1;
    border-left: 5px solid #18a558;
    border-radius: 12px;

    box-shadow:
        0 16px 45px rgba(0, 0, 0, 0.16);

    opacity: 0;
    visibility: hidden;
    pointer-events: none;

    transition:
        opacity .22s ease,
        transform .22s ease,
        visibility .22s ease;
}

.voice-submit-toast.show {
    opacity: 1;
    visibility: visible;
    transform: translate(-50%, 0);
}

.voice-submit-toast.error {
    border-left-color: #d93025;
}

.voice-submit-toast-icon {
    width: 34px;
    height: 34px;
    flex: 0 0 34px;

    display: grid;
    place-items: center;

    border-radius: 50%;

    background: #e8f8ef;
    color: #138a49;

    font-size: 18px;
    font-weight: 800;
}

.voice-submit-toast.error
.voice-submit-toast-icon {
    background: #fdecec;
    color: #d93025;
}

.voice-submit-toast-content {
    min-width: 0;
}

.voice-submit-toast-title {
    display: block;
    margin-bottom: 2px;

    font-size: 14px;
    font-weight: 700;
}

.voice-submit-toast-message {
    display: block;

    color: #667085;

    font-size: 13px;
    line-height: 1.45;
}

.voice-submit.is-sending {
    opacity: .65;
    cursor: wait;
    pointer-events: none;
}

@media (max-width: 600px) {

    .voice-submit-toast {
        top: 14px;
        width: calc(100% - 24px);
    }
}



/* =========================================================
   DALLAS WEBSITE SETTINGS
   DYNAMIC FOOTER SOCIAL BADGES
   ========================================================= */

.dm-footer-social[hidden] {
    display: none !important;
}


/*
Generic SVG handling for dynamically-created
footer social badges.
*/

.dm-footer-social svg {
    width: 18px;
    height: 18px;

    fill: none;
    stroke: currentColor;
    stroke-width: 1.8;
    stroke-linecap: round;
    stroke-linejoin: round;
}

.dm-footer-social .dm-social-fill {
    fill: currentColor;
    stroke: none;
}


/* Facebook */

.dm-footer-social.dm-social-facebook {
    color: #1877f2;
}

.dm-footer-social.dm-social-facebook:hover {
    background: #1877f2;
    color: #fff;
}


/* Instagram */

.dm-footer-social.dm-social-instagram {
    color: #e1306c;
}

.dm-footer-social.dm-social-instagram:hover {
    background: #e1306c;
    color: #fff;
}


/* TikTok */

.dm-footer-social.dm-social-tiktok {
    color: #111;
}

.dm-footer-social.dm-social-tiktok:hover {
    background: #111;
    color: #fff;
}


/* X */

.dm-footer-social.dm-social-x {
    color: #111;
}

.dm-footer-social.dm-social-x:hover {
    background: #111;
    color: #fff;
}


/* Keep the existing real destinations branded */

.dm-footer-social.dm-social-youtube {
    color: #ff0000;
}

.dm-footer-social.dm-social-youtube:hover {
    background: #ff0000;
    color: #fff;
}

.dm-footer-social.dm-social-whatsapp {
    color: #25d366;
}

.dm-footer-social.dm-social-whatsapp:hover {
    background: #25d366;
    color: #fff;
}



/* =========================================================
   DALLAS FOOTER SOCIAL BADGES - SETTINGS CONTROLLED
   ========================================================= */

.dm-footer-social[hidden] {
    display: none !important;
}

.dm-footer-socials {
    display: flex;
    flex-wrap: wrap;
    align-items: center;
    gap: 9px;
}

.dm-footer-social {
    width: 38px;
    height: 38px;

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

    flex: 0 0 38px;

    border: 1px solid currentColor;
    border-radius: 50%;

    text-decoration: none;

    transition:
        transform .16s ease,
        background .16s ease,
        color .16s ease;
}

.dm-footer-social:hover {
    transform: translateY(-2px);
}

.dm-footer-social svg {
    width: 18px;
    height: 18px;

    fill: none;
    stroke: currentColor;

    stroke-width: 1.8;
    stroke-linecap: round;
    stroke-linejoin: round;
}

.dm-footer-social .dm-social-fill {
    fill: currentColor;
    stroke: none;
}

.dm-social-facebook {
    color: #1877f2;
}

.dm-social-facebook:hover {
    background: #1877f2;
    color: #fff;
}

.dm-social-instagram {
    color: #e1306c;
}

.dm-social-instagram:hover {
    background: #e1306c;
    color: #fff;
}

.dm-social-tiktok {
    color: #111;
}

.dm-social-tiktok:hover {
    background: #111;
    color: #fff;
}

.dm-social-x {
    color: #111;
}

.dm-social-x:hover {
    background: #111;
    color: #fff;
}

.dm-social-youtube {
    color: #ff0000;
}

.dm-social-youtube:hover {
    background: #ff0000;
    color: #fff;
}

.dm-social-whatsapp {
    color: #25d366;
}

.dm-social-whatsapp:hover {
    background: #25d366;
    color: #fff;
}

