*{box-sizing:border-box;margin:0;padding:0}:root{--red:#c5161d;--dark:#191919;--line:#dedede;--paper:#fff}body{font-family:Inter,Arial,sans-serif;background:#fff;color:#161616}img{display:block;width:100%;object-fit:cover}a{text-decoration:none;color:inherit}button,input{font:inherit}.container{width:min(1370px,calc(100% - 44px));margin:auto}
.topbar{height:38px;background:#f5f5f5;border-bottom:1px solid #e4e4e4;font-size:12px}.topbar-inner{height:100%;display:flex;align-items:center;justify-content:space-between}.divider{margin:0 12px;color:#aaa}.top-links{display:flex;gap:20px;align-items:center}.social{font-weight:800}.header{background:#fff}.header-main{height:105px;display:flex;align-items:center;justify-content:space-between}.header-tools,.icon-btn{display:none}.brand{text-align:left}.brand-name{font-family:"Playfair Display",Georgia,serif;font-size:46px;font-weight:800;letter-spacing:1px}.brand-tagline{color:var(--red);font-size:12px;letter-spacing:2px}.header-actions{display:flex;gap:14px;margin-left:auto}.epaper-btn,.subscribe-btn{height:38px;padding:10px 18px;border-radius:3px;background:#fff;border:1px solid #d6d6d6;font-weight:600}.subscribe-btn{background:var(--red);color:#fff;border-color:var(--red)}
.nav{border-top:1px solid var(--line);border-bottom:1px solid var(--line)}.nav-inner{display:flex;overflow:auto}.nav a{white-space:nowrap;padding:13px 15px;font-size:11px;font-weight:600}.nav a:hover{color:var(--red)}.nav .home{font-size:20px;padding-top:8px;border-top:2px solid var(--red)}.breaking{border-bottom:1px solid var(--line)}.breaking-inner{height:45px;display:flex;align-items:center;overflow:hidden}.breaking-label{background:var(--red);color:#fff;font-weight:800;font-size:12px;padding:13px 18px;white-space:nowrap}.ticker b{color:var(--red)}
main{padding-top:22px}.hero-grid{display:grid;grid-template-columns:minmax(0,1.8fr) minmax(250px,.9fr) minmax(240px,.9fr);gap:16px;align-items:stretch}.hero-story,.small-story{position:relative;overflow:hidden;background:#111}.hero-story{height:510px;min-width:0}.hero-story img{height:100%}.image-overlay,.small-story:after{content:"";position:absolute;inset:0;background:linear-gradient(to top,rgba(0,0,0,.9),rgba(0,0,0,.05) 70%)}.story-overlay{position:absolute;left:28px;right:28px;bottom:27px;color:#fff}.label{display:inline-block;background:var(--red);color:#fff;font-size:10px;font-weight:800;padding:6px 10px;margin-bottom:10px}.story-overlay h1{font:700 31px/1.14 "Playfair Display",Georgia,serif}.story-overlay p{font-size:14px;line-height:1.5;margin-top:12px}.meta{font-size:11px;margin-top:18px}.meta span{margin:0 8px}.secondary-stories{height:510px;min-width:0;display:grid;grid-template-rows:repeat(3,minmax(0,1fr));gap:16px}.small-story{height:100%;min-height:0}.small-story img{height:100%;min-height:0}.small-overlay{position:absolute;z-index:2;left:18px;right:18px;bottom:16px;color:#fff}.small-overlay h2{font:700 18px/1.1 "Playfair Display",Georgia,serif}.latest-box,.most-read,.ad-box{border:1px solid var(--line);padding:20px;background:#fff;min-width:0}.hero-grid>.latest-box{height:510px;overflow:hidden}.section-title{font:700 20px "Playfair Display",Georgia,serif;border-bottom:2px solid var(--red);padding-bottom:9px}.latest-item{padding:15px 0;border-bottom:1px solid #e5e5e5;position:relative;padding-left:14px}.latest-item:before{content:"";width:5px;height:5px;background:var(--red);border-radius:50%;position:absolute;left:0;top:22px}.latest-item strong{display:block;font-size:13px;line-height:1.35}.latest-item small{font-size:10px;color:#555;display:block;margin-top:5px}.outline-btn{margin-top:16px;width:100%;height:38px;background:#fff;border:1px solid #ddd;color:var(--red);font-weight:600}
.content-section{margin-top:30px}.section-heading{display:flex;justify-content:space-between;align-items:end;border-left:4px solid var(--red);padding-left:10px;margin-bottom:17px}.section-heading h2,.panel-heading h2{font-size:18px}.tabs{display:flex;gap:22px;font-size:11px;overflow:auto}.tabs .active{color:var(--red);border-bottom:2px solid var(--red);padding-bottom:8px}.section-layout{display:grid;grid-template-columns:1fr 310px;gap:16px}.story-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:10px}.news-card{border:1px solid var(--line)}.news-card img{height:135px}.card-body{padding:12px}.card-body span{font-size:9px;color:var(--red);font-weight:800}.card-body h3{font:700 17px/1.18 "Playfair Display",Georgia,serif;margin:7px 0 10px}.card-body small{font-size:10px;color:#555}.most-read ol{list-style:none;counter-reset:item}.most-read li{counter-increment:item;border-bottom:1px solid #e4e4e4;padding:13px 0 13px 39px;font-size:12px;position:relative}.most-read li:before{content:counter(item);position:absolute;left:0;top:12px;width:25px;height:25px;border-radius:50%;background:var(--red);color:#fff;text-align:center;padding-top:5px;font-size:11px}
.media-grid{display:grid;grid-template-columns:1.05fr 1.25fr .7fr;gap:16px;margin:30px 0}.media-panel{border:1px solid var(--line);padding:16px}.panel-heading{display:flex;justify-content:space-between;margin-bottom:13px}.panel-heading a{color:var(--red);font-size:11px}.gallery{display:grid;grid-template-columns:1fr 1fr;gap:3px}.gallery img{height:120px}.play{position:absolute;left:50%;top:50%;transform:translate(-50%,-50%);width:55px;height:55px;border-radius:50%;background:#fff;color:var(--red);display:grid;place-items:center}.video-panel h3{font:700 18px "Playfair Display",Georgia,serif;margin-top:10px}.ad-placeholder{height:300px;background:#f4e7e7;display:grid;place-items:center;text-align:center;color:#444;margin-top:15px;font-size:15px}.ad-placeholder span{font-size:12px;color:#888}
.newsletter{border-top:1px solid var(--line);border-bottom:1px solid var(--line);padding:15px 0}.newsletter-inner{display:flex;justify-content:space-between;align-items:center}.newsletter-copy{display:flex;gap:13px;align-items:center}.mail-icon{font-size:30px;color:var(--red)}.newsletter-copy strong{font-size:13px}.newsletter-copy p{font-size:11px;color:#555;margin-top:4px}.newsletter form{display:flex;width:48%}.newsletter input{height:39px;border:1px solid #ddd;padding:0 15px;flex:1}.newsletter button{width:140px;border:0;background:var(--red);color:#fff;font-weight:700}
footer{background:#202020;color:#eee;padding-top:35px}.footer-grid{display:grid;grid-template-columns:1.4fr 1fr 1.4fr 1fr 1.25fr;gap:35px}.footer-grid h3{font-size:12px;margin-bottom:16px}.footer-grid p,.footer-grid a{display:block;font-size:10px;color:#c7c7c7;line-height:1.7}.footer-grid a{margin-bottom:4px}.footer-bottom{border-top:1px solid #555;margin-top:28px;padding:15px 0;display:flex;justify-content:space-between;font-size:10px;color:#aaa}.footer-bottom b{color:#d22}
@media(max-width:1050px){.hero-grid{grid-template-columns:minmax(0,1.5fr) minmax(250px,1fr)}.secondary-stories{height:510px}.latest-box{grid-column:1/-1;height:auto!important}.section-layout{grid-template-columns:1fr}.story-grid{grid-template-columns:repeat(2,1fr)}.most-read{display:none}.media-grid{grid-template-columns:1fr 1fr}.ad-box{grid-column:1/-1}.footer-grid{grid-template-columns:repeat(3,1fr)}}
@media(max-width:760px){.container{width:calc(100% - 24px)}.topbar{height:auto;padding:8px 0}.top-links{display:none}.header-main{height:85px}.brand{grid-column:auto}.header-actions{display:none}.brand-name{font-size:31px}.brand-tagline{font-size:8px}.nav a{padding:12px 10px;font-size:9px}.breaking-label{font-size:10px;padding:13px 10px}.hero-grid{grid-template-columns:1fr}.hero-story{height:420px}.secondary-stories{height:auto;grid-template-columns:1fr 1fr;grid-template-rows:none}.secondary-stories .small-story{height:180px}.secondary-stories .small-story:last-child{grid-column:1/-1}.story-grid{grid-template-columns:1fr 1fr}.media-grid{grid-template-columns:1fr}.ad-box{grid-column:auto}.newsletter-inner{display:block}.newsletter form{width:100%;margin-top:12px}.footer-grid{grid-template-columns:1fr 1fr}}
@media(max-width:480px){.brand-name{font-size:25px}.hero-story{height:380px}.story-overlay h1{font-size:25px}.secondary-stories{grid-template-columns:1fr}.secondary-stories .small-story,.secondary-stories .small-story:last-child{grid-column:auto;height:190px}.story-grid{grid-template-columns:1fr}.footer-grid{grid-template-columns:1fr}.footer-bottom{display:block}}

/* === Newspaper Masthead Refinement === */
.brand-left{display:block}
.brand-left:hover{color:inherit}
.brand-name{font-size:45px;line-height:1}
.brand-tagline{margin-top:8px}
.header-main{padding:0 5px}
.nav-inner{align-items:center}
.nav .home{color:var(--red);min-width:48px;text-align:center}
.nav a{transition:color .2s ease}
.breaking-label{position:relative}
.breaking-label:after{content:"";position:absolute;right:-12px;top:0;border-top:22px solid transparent;border-bottom:23px solid transparent;border-left:12px solid var(--red)}
@media(max-width:760px){
  .header-main{height:85px}
  .brand-name{font-size:31px}
  .brand-tagline{font-size:8px;margin-top:5px}
  .header-actions{display:none}
}
@media(max-width:480px){
  .brand-name{font-size:26px}
}

.public-ad{margin:18px 0}.managed-ad{width:100%;text-align:center}.managed-ad img{display:block;max-width:100%;height:auto;margin:0 auto}.homepage-top-ad .managed-ad img,.homepage-bottom-ad .managed-ad img{max-height:180px}.ad-box .managed-ad img{max-width:100%;max-height:300px;object-fit:contain}.article-top-ad .managed-ad img,.article-bottom-ad .managed-ad img{max-height:180px}.ad-box{overflow:hidden}

/* Managed advertisement */
.managed-ad{position:relative}.managed-ad .ad-close{position:absolute;right:5px;top:5px;z-index:20;width:26px;height:26px;padding:0;border:1px solid rgba(0,0,0,.18);border-radius:50%;background:rgba(255,255,255,.94);color:#222;font:bold 20px/23px Arial,sans-serif;text-align:center;cursor:pointer;box-shadow:0 1px 4px rgba(0,0,0,.18)}.managed-ad .ad-close:hover{background:#fff;color:#c5161d}.managed-ad.is-closed{display:none!important}

/* Responsive advertisement sizing */
.managed-ad img{width:auto;max-width:100%;height:auto}
.managed-ad[data-ad-id] img{object-fit:contain}
@media(max-width:760px){
  .homepage-top-ad,.homepage-bottom-ad,.article-top-ad,.article-bottom-ad{margin-left:0;margin-right:0}
  .homepage-top-ad .managed-ad img,.homepage-bottom-ad .managed-ad img,
  .article-top-ad .managed-ad img,.article-bottom-ad .managed-ad img{max-height:140px;width:100%;object-fit:contain}
  .ad-box .managed-ad img{max-height:250px}
}
@media(min-width:761px){
  .homepage-top-ad .managed-ad img,.homepage-bottom-ad .managed-ad img,
  .article-top-ad .managed-ad img,.article-bottom-ad .managed-ad img{max-height:180px}
}

.managed-ad.ad-device-mobile,.managed-ad.ad-device-tablet,.managed-ad.ad-device-desktop{display:block}

.breaking-label{position:relative}.breaking-label:after{content:"";position:absolute;right:-12px;top:0;border-top:22.5px solid transparent;border-bottom:22.5px solid transparent;border-left:12px solid #c5161d}
@media(max-width:760px){.breaking-inner{height:42px}.breaking-label{font-size:9px;padding:12px 10px}.breaking-label:after{border-top-width:21px;border-bottom-width:21px}}

/* Breaking-news ticker */
.ticker-viewport{
  flex:1;
  min-width:0;
  overflow:hidden;
  position:relative;
  height:45px;
  display:flex;
  align-items:center;
}
.ticker-track{
  display:flex;
  align-items:center;
  width:max-content;
  white-space:nowrap;
}
.ticker-track.ticker-scroll{
  animation:breakingTicker 34s linear infinite;
}
.ticker-track.ticker-scroll:hover{
  animation-play-state:paused;
}
.ticker-item{
  display:flex;
  align-items:center;
  flex:none;
  font-size:12px;
  padding:0 22px;
}
.ticker-item + .ticker-item:before{
  content:"";
  width:4px;
  height:4px;
  border-radius:50%;
  background:var(--red);
  margin-right:22px;
}
.ticker-item a{
  color:#161616;
}
.ticker-item a:hover{
  color:var(--red);
}
.ticker-empty{
  padding-left:25px;
  font-size:12px;
  color:#777;
}
@keyframes breakingTicker{
  from{transform:translateX(0)}
  to{transform:translateX(-50%)}
}
@media(max-width:760px){
  .ticker-viewport{height:42px}
  .ticker-item{font-size:11px;padding:0 15px}
  .ticker-item + .ticker-item:before{margin-right:15px}
  .ticker-track.ticker-scroll{animation-duration:28s}
}
@media(prefers-reduced-motion:reduce){
  .ticker-track.ticker-scroll{animation:none}
}


/* Breaking ticker V10: force a single-line viewport and track */
.breaking-inner .ticker-viewport{
  flex:1 1 auto !important;
  min-width:0 !important;
  width:0 !important;
  height:45px !important;
  overflow:hidden !important;
  position:relative !important;
  display:block !important;
  white-space:nowrap !important;
}
.breaking-inner .ticker-track{
  display:inline-flex !important;
  flex-wrap:nowrap !important;
  align-items:center !important;
  width:max-content !important;
  min-width:max-content !important;
  height:45px !important;
  white-space:nowrap !important;
}
.breaking-inner .ticker-track.ticker-scroll{
  animation:breakingTickerV10 34s linear infinite !important;
}
.breaking-inner .ticker-track.ticker-scroll:hover{
  animation-play-state:paused !important;
}
.breaking-inner .ticker-item{
  display:inline-flex !important;
  flex:0 0 auto !important;
  align-items:center !important;
  width:auto !important;
  max-width:none !important;
  white-space:nowrap !important;
  word-break:keep-all !important;
  overflow-wrap:normal !important;
  line-height:1 !important;
  font-size:12px !important;
  padding:0 22px !important;
}
.breaking-inner .ticker-item a,
.breaking-inner .ticker-item span{
  display:inline-block !important;
  flex:0 0 auto !important;
  width:auto !important;
  max-width:none !important;
  white-space:nowrap !important;
  word-break:keep-all !important;
  overflow-wrap:normal !important;
}
.breaking-inner .ticker-item + .ticker-item:before{
  content:"" !important;
  display:inline-block !important;
  flex:0 0 auto !important;
  width:4px !important;
  height:4px !important;
  margin-right:22px !important;
  border-radius:50% !important;
  background:var(--red) !important;
}
@keyframes breakingTickerV10{
  from{transform:translate3d(0,0,0)}
  to{transform:translate3d(-50%,0,0)}
}
@media(max-width:760px){
  .breaking-inner .ticker-viewport{height:42px !important}
  .breaking-inner .ticker-track{height:42px !important}
  .breaking-inner .ticker-item{font-size:11px !important;padding:0 15px !important}
  .breaking-inner .ticker-item + .ticker-item:before{margin-right:15px !important}
  .breaking-inner .ticker-track.ticker-scroll{animation-duration:28s !important}
}
@media(prefers-reduced-motion:reduce){
  .breaking-inner .ticker-track.ticker-scroll{animation:none !important}
}

/* BREAKING TICKER FINAL FIX */
.breaking-inner .ticker-viewport{
  flex:1 1 auto !important;
  min-width:0 !important;
  width:0 !important;
  height:45px !important;
  overflow:hidden !important;
  position:relative !important;
  display:block !important;
  white-space:nowrap !important;
}
.breaking-inner .ticker-track{
  display:inline-flex !important;
  flex-wrap:nowrap !important;
  align-items:center !important;
  width:max-content !important;
  min-width:max-content !important;
  height:45px !important;
  white-space:nowrap !important;
}
.breaking-inner .ticker-track.ticker-scroll{
  animation:breakingTickerFinal 34s linear infinite !important;
}
.breaking-inner .ticker-track.ticker-scroll:hover{
  animation-play-state:paused !important;
}
.breaking-inner .ticker-item,
.breaking-inner .ticker-item a,
.breaking-inner .ticker-item span{
  display:inline-block !important;
  flex:0 0 auto !important;
  width:auto !important;
  max-width:none !important;
  white-space:nowrap !important;
  word-break:keep-all !important;
  overflow-wrap:normal !important;
}
.breaking-inner .ticker-item{
  padding:0 22px !important;
  font-size:12px !important;
  line-height:1 !important;
}
.breaking-inner .ticker-item + .ticker-item:before{
  content:"" !important;
  display:inline-block !important;
  width:4px !important;
  height:4px !important;
  margin-right:22px !important;
  border-radius:50% !important;
  background:var(--red) !important;
}
@keyframes breakingTickerFinal{
  from{transform:translate3d(0,0,0)}
  to{transform:translate3d(-50%,0,0)}
}
@media(max-width:760px){
  .breaking-inner .ticker-viewport{height:42px !important}
  .breaking-inner .ticker-track{height:42px !important}
  .breaking-inner .ticker-item{font-size:11px !important;padding:0 15px !important}
  .breaking-inner .ticker-item + .ticker-item:before{margin-right:15px !important}
  .breaking-inner .ticker-track.ticker-scroll{animation-duration:28s !important}
}
@media(prefers-reduced-motion:reduce){
  .breaking-inner .ticker-track.ticker-scroll{animation:none !important}
}

/* Breaking ticker clickable-link fix */
.breaking-inner .breaking-label{
  position:relative;
  z-index:10;
  flex:0 0 auto;
  margin-right:12px;
}
.breaking-inner .breaking-label:after{
  z-index:11;
  pointer-events:none;
}
.breaking-inner .ticker-viewport{
  position:relative !important;
  z-index:12 !important;
  flex:1 1 auto !important;
  min-width:0 !important;
  width:0 !important;
  overflow:hidden !important;
  padding-left:8px !important;
}
.breaking-inner .ticker-track{
  position:relative;
  z-index:13;
}
.breaking-inner .ticker-item{
  position:relative;
  z-index:14;
  pointer-events:auto !important;
}
.breaking-inner .ticker-item a{
  position:relative;
  z-index:15;
  pointer-events:auto !important;
  cursor:pointer;
  text-decoration:none;
}
.breaking-inner .ticker-item a:hover{
  color:var(--red);
}

/* Breaking ticker V12 - only the original ticker copy is clickable */
.breaking-inner .ticker-clone,
.breaking-inner .ticker-clone *,
.breaking-inner .ticker-clone a{
    pointer-events:none !important;
}

.breaking-inner .ticker-item:not(.ticker-clone),
.breaking-inner .ticker-item:not(.ticker-clone) a{
    pointer-events:auto !important;
    cursor:pointer;
}

/* Keep the red arrow completely outside the clickable ticker area */
.breaking-inner .breaking-label{
    position:relative;
    z-index:20;
    flex:0 0 auto;
    margin-right:14px;
}

.breaking-inner .breaking-label::after{
    pointer-events:none !important;
    z-index:21;
}

.breaking-inner .ticker-viewport{
    position:relative !important;
    z-index:30 !important;
    flex:1 1 auto !important;
    min-width:0 !important;
    width:0 !important;
    overflow:hidden !important;
}

.newsletter-message{padding:10px 20px;text-align:center;font-size:12px;border-bottom:1px solid var(--line)}
.newsletter-message.success{background:#edf8ef;color:#236b2c}
.newsletter-message.error{background:#fff0f0;color:#a3151a}
.newsletter-copy{flex:1}
@media(max-width:760px){.newsletter-copy{display:flex}.newsletter-copy .mail-icon{flex:0 0 auto}}
/* =====================================================
   HOMEPAGE PHOTO GALLERY
   ===================================================== */

.gallery {
    display: grid;
    grid-template-columns: repeat(2, 1fr);
    gap: 2px;
    width: 100%;
}

.gallery-item {
    display: block;
    width: 100%;
    height: 150px;
    overflow: hidden;
    background: #eee;
}

.gallery-item img {
    display: block;
    width: 100%;
    height: 100%;
    object-fit: cover;
    transition: transform .3s ease;
}

.gallery-item:hover img {
    transform: scale(1.05);
}
.featured-video {
    position: relative;
    display: block;
    width: 100%;
    height: 220px;
    overflow: hidden;
    background: #f1f1f1;
}

.featured-video img {
    display: block;
    width: 100%;
    height: 100%;
    object-fit: cover;
}
/* ==================================================
   DYNAMIC SITE LOGO
================================================== */

.site-logo {
    display: block;
    line-height: 0;
}

.site-logo img {
    display: block;

    width: auto;
    height: 64px;

    max-width: 360px;

    object-fit: contain;
}

.brand-left {
    text-decoration: none;
}

.brand-tagline {
    margin-top: 7px;

    color: #c5161d;

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

    letter-spacing: 2px;
    text-transform: uppercase;
}


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

@media (max-width: 768px) {

    .site-logo img {
        height: 48px;
        max-width: 240px;
    }

    .brand-tagline {
        font-size: 8px;
        letter-spacing: 1.4px;
    }

}
/* =========================================================
   EPAPER NEWS REGIONS
========================================================= */

.epaper-page-canvas {
    position: relative;
    display: inline-block;
    line-height: 0;
    max-width: 100%;
}

.epaper-page-canvas > img {
    display: block;
}


/* =========================================================
   CLICKABLE REGION
========================================================= */

.epaper-news-region {
    position: absolute;

    display: block;

    border: 1px solid transparent;

    background: rgba(197, 22, 29, 0);

    cursor: pointer;

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

.epaper-news-region:hover {
    background: rgba(197, 22, 29, .08);

    border-color: rgba(197, 22, 29, .55);
}


/* =========================================================
   REGION HINT
========================================================= */

.epaper-news-region::after {
    content: "Read Story";

    position: absolute;

    left: 50%;
    top: 50%;

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

    background: #c5161d;

    color: #fff;

    padding: 6px 10px;

    font-size: 11px;

    font-weight: 700;

    white-space: nowrap;

    opacity: 0;

    transition: opacity .2s ease;
}

.epaper-news-region:hover::after {
    opacity: 1;
}


/* =========================================================
   NEWS POPUP
========================================================= */

/* =========================================================
   NEWS REGION MODAL - FULL SCREEN
========================================================= */

/* =========================================================
   EPAPER NEWS READER
========================================================= */

/* =========================================================
   EPAPER NEWS READER
   DYNAMIC WIDTH BASED ON SELECTED NEWSPAPER REGION
   ========================================================= */

.epaper-news-modal {
    position: fixed;
    inset: 0;

    display: none;

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

    padding: 20px;

    background: rgba(0, 0, 0, 0.78);

    z-index: 99999;

    box-sizing: border-box;
}

.epaper-news-modal.show {
    display: flex;
}


/* ---------------------------------------------------------
   MODAL BOX
   --------------------------------------------------------- */

.epaper-news-modal .epaper-news-modal-box {

    position: relative;

    /*
     * Important:
     * Do NOT use a fixed width such as 820px.
     *
     * The modal will shrink/grow according to the
     * selected newspaper region.
     */
    width: fit-content;
    max-width: calc(100vw - 40px);

    height: fit-content;
    max-height: calc(100vh - 40px);

    padding: 12px;

    background: #fff;

    overflow: hidden;

    box-sizing: border-box;

    box-shadow:
        0 15px 60px rgba(0, 0, 0, .45);
}


/* ---------------------------------------------------------
   CLOSE BUTTON
   --------------------------------------------------------- */

.epaper-news-modal-close {
    position: absolute;

    top: 8px;
    right: 8px;

    width: 38px;
    height: 38px;

    border: 0;

    background: #d71920;
    color: #fff;

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

    line-height: 38px;
    text-align: center;

    cursor: pointer;

    z-index: 20;
}

.epaper-news-modal-close:hover {
    background: #b4141a;
}


/* ---------------------------------------------------------
   IMAGE CONTAINER
   --------------------------------------------------------- */

.epaper-news-modal .epaper-news-crop {

    /*
     * Fit the modal to the actual selected region.
     */
    width: fit-content;

    max-width: calc(100vw - 64px);

    max-height: calc(100vh - 64px);

    overflow-y: auto;
    overflow-x: hidden;

    padding: 10px;

    box-sizing: border-box;

    background: #f4f4f4;

    text-align: center;
}


/* ---------------------------------------------------------
   NEWSPAPER REGION IMAGE
   --------------------------------------------------------- */

.epaper-news-modal .epaper-news-crop img {

    display: block;

    /*
     * Natural size determines the modal width.
     */
    width: auto;

    height: auto;

    /*
     * If the selected region is too large for the
     * browser window, scale it down.
     */
    max-width: calc(100vw - 84px);

    max-height: calc(100vh - 84px);

    margin: 0 auto;

    object-fit: contain;

    background: #fff;

    box-shadow:
        0 2px 10px rgba(0, 0, 0, .18);
}


/* ---------------------------------------------------------
   MOBILE
   --------------------------------------------------------- */

@media (max-width: 768px) {

    .epaper-news-modal {
        padding: 8px;
    }

    .epaper-news-modal .epaper-news-modal-box {

        width: fit-content;

        max-width: calc(100vw - 16px);

        max-height: calc(100vh - 16px);

        padding: 8px;
    }

    .epaper-news-modal .epaper-news-crop {

        width: fit-content;

        max-width: calc(100vw - 32px);

        max-height: calc(100vh - 32px);

        padding: 5px;

        overflow-x: hidden;
        overflow-y: auto;
    }

    .epaper-news-modal .epaper-news-crop img {

        width: auto;

        max-width: calc(100vw - 42px);

        max-height: calc(100vh - 42px);

        height: auto;
    }

    .epaper-news-modal-close {
        top: 5px;
        right: 5px;

        width: 34px;
        height: 34px;

        line-height: 34px;
        font-size: 20px;
    }
}
/* =========================================================
   SUBSCRIBE MODAL
========================================================= */

.subscribe-modal {
    position: fixed;
    inset: 0;

    display: none;

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

    padding: 20px;

    z-index: 99999;

    box-sizing: border-box;
}

.subscribe-modal.show {
    display: flex;
}


/* Overlay */

.subscribe-modal-overlay {
    position: absolute;
    inset: 0;

    background: rgba(0, 0, 0, 0.72);
}


/* Modal */

.subscribe-modal-box {
    position: relative;

    width: min(520px, 100%);

    background: #ffffff;

    z-index: 1;

    box-shadow:
        0 20px 60px rgba(0, 0, 0, 0.35);

    animation:
        subscribeModalIn
        0.25s ease;
}


@keyframes subscribeModalIn {

    from {
        opacity: 0;
        transform: translateY(20px) scale(.97);
    }

    to {
        opacity: 1;
        transform: translateY(0) scale(1);
    }

}


/* Close button */

.subscribe-modal-close {
    position: absolute;

    top: 12px;
    right: 12px;

    width: 36px;
    height: 36px;

    border: 0;

    background: #c5161d;

    color: #ffffff;

    font-size: 25px;

    line-height: 36px;

    cursor: pointer;

    z-index: 2;
}


.subscribe-modal-close:hover {
    background: #9e1016;
}


/* Content */

.subscribe-modal-content {
    padding: 45px 40px 40px;

    text-align: center;
}


/* Icon */

.subscribe-icon {
    width: 58px;
    height: 58px;

    margin: 0 auto 18px;

    display: flex;

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

    background: #c5161d;

    color: #ffffff;

    font-size: 27px;
}


/* Heading */

.subscribe-modal-content h2 {
    margin: 0 0 12px;

    font-family:
        Georgia,
        "Times New Roman",
        serif;

    font-size: 28px;

    line-height: 1.2;

    color: #111111;
}


/* Description */

.subscribe-modal-content p {
    margin: 0 auto 25px;

    max-width: 420px;

    color: #666666;

    font-size: 15px;

    line-height: 1.6;
}


/* Input */

.subscribe-input-group {
    display: flex;

    width: 100%;

    margin-bottom: 12px;
}


.subscribe-input-group input {
    flex: 1;

    min-width: 0;

    height: 48px;

    padding: 0 14px;

    border: 1px solid #cccccc;

    border-right: 0;

    outline: none;

    font-size: 14px;

    box-sizing: border-box;
}


.subscribe-input-group input:focus {
    border-color: #c5161d;
}


/* Subscribe button */

.subscribe-input-group button {
    height: 48px;

    padding: 0 20px;

    border: 0;

    background: #c5161d;

    color: #ffffff;

    font-size: 14px;

    font-weight: 700;

    cursor: pointer;

    white-space: nowrap;
}


.subscribe-input-group button:hover {
    background: #9e1016;
}


/* Message */

.subscribe-message {
    min-height: 20px;

    margin-bottom: 8px;

    font-size: 13px;
}


.subscribe-message.success {
    color: #198754;
}


.subscribe-message.error {
    color: #c5161d;
}


/* Disclaimer */

.subscribe-modal-content small {
    display: block;

    color: #888888;

    font-size: 11px;

    line-height: 1.5;
}


/* Mobile */

@media (max-width: 600px) {

    .subscribe-modal {
        padding: 15px;
    }

    .subscribe-modal-content {
        padding: 40px 22px 28px;
    }

    .subscribe-modal-content h2 {
        font-size: 23px;
    }

    .subscribe-input-group {
        display: block;
    }

    .subscribe-input-group input {
        width: 100%;

        border-right: 1px solid #cccccc;

        margin-bottom: 10px;
    }

    .subscribe-input-group button {
        width: 100%;
    }

}
.newsletter-message {
    width: 100%;
    box-sizing: border-box;
    padding: 11px 20px;
    text-align: center;
    font-size: 13px;
    line-height: 1.4;
}

.newsletter-message.success {
    background: #eaf7ee;
    color: #187a3d;
    border-top: 1px solid #c8e8d1;
    border-bottom: 1px solid #c8e8d1;
}

.newsletter-message.error {
    background: #fff0f0;
    color: #c5161d;
    border-top: 1px solid #efc4c4;
    border-bottom: 1px solid #f0c4c4;
}
/* =========================================================
   EPAPER MODE - BREAKING NEWS SEPARATION
========================================================= */

body.epaper-mode .breaking {
    border-top: 1px solid #ddd;
    border-bottom: 1px solid #ddd;
}

/* =========================================================
   EPAPER NEWS READER
   DYNAMIC WIDTH BASED ON SELECTED NEWS COLUMN
   ========================================================= */

/* =========================================================
   EPAPER NEWS POPUP
========================================================= */

.epaper-news-modal {
    position: fixed;
    inset: 0;
    z-index: 99999;

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

    padding: 10px;

    background: rgba(0, 0, 0, 0.78);

    opacity: 0;
    visibility: hidden;

    transition:
        opacity 0.2s ease,
        visibility 0.2s ease;
}

.epaper-news-modal.show {
    opacity: 1;
    visibility: visible;
}


/* =========================================================
   MODAL BOX
========================================================= */

.epaper-news-modal-box {
    position: relative;

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

    box-sizing: border-box;

    padding: 8px;

    background: #ffffff;

    overflow: hidden;

    box-shadow:
        0 15px 50px rgba(0, 0, 0, 0.45);

    max-width: calc(100vw - 20px);
    max-height: calc(100vh - 20px);
}


/* =========================================================
   NEWS CROP
========================================================= */

.epaper-news-crop {
    position: relative;

    display: block;

    margin: 0;
    padding: 0;

    overflow: hidden;

    line-height: 0;

    background: #f5f5f5;
}


.epaper-news-crop img {
    display: block;

    margin: 0;
    padding: 0;

    width: auto;
    height: auto;

    max-width: none;
    max-height: none;

    object-fit: contain;
}


/* =========================================================
   CLOSE BUTTON
========================================================= */

.epaper-news-modal-close {
    position: absolute;

    top: 0;
    right: 0;

    z-index: 20;

    width: 38px;
    height: 38px;

    border: 0;

    background: #d71920;
    color: #ffffff;

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

    line-height: 38px;

    text-align: center;

    cursor: pointer;

    padding: 0;

    box-shadow:
        0 2px 6px rgba(0, 0, 0, 0.25);
}


.epaper-news-modal-close:hover {
    background: #b51218;
}


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

@media (max-width: 768px) {

    .epaper-news-modal {
        padding: 5px;
    }

    .epaper-news-modal-box {
        padding: 5px;

        max-width: calc(100vw - 10px);
        max-height: calc(100vh - 10px);
    }

    .epaper-news-modal-close {
        width: 34px;
        height: 34px;

        line-height: 34px;

        font-size: 22px;
    }

}

/* =========================================================
   MOBILE EPAPER FIX
   ========================================================= */

@media (max-width: 767px) {

    html,
    body {
        width: 100%;
        max-width: 100%;
        overflow-x: hidden;
    }

    body.epaper-mode {
        overflow-x: hidden;
    }

    .epaper-reader-page,
    .epaper-reader-page .container {
        width: 100%;
        max-width: 100%;
        margin: 0;
        padding-left: 8px;
        padding-right: 8px;
        box-sizing: border-box;
    }

    /* Toolbar */
    .epaper-toolbar {
        width: 100%;
        box-sizing: border-box;
        overflow: hidden;
    }

    /* Main newspaper area */
    .epaper-page {
        width: 100%;
        max-width: 100%;
        margin: 0;
        padding: 8px;
        box-sizing: border-box;
        overflow: hidden;
    }

    /* Newspaper image */
    .epaper-page img,
    .epaper-page-image,
    #epaperPageImage {
        display: block;
        width: 100% !important;
        max-width: 100% !important;
        height: auto !important;
        min-width: 0 !important;
        box-sizing: border-box;
    }

    /* Hide horizontal overflow from image wrapper */
    .epaper-page-image-wrap,
    .epaper-image-container {
        width: 100%;
        max-width: 100%;
        overflow: hidden;
    }

}
/* =========================================================
   FINAL MOBILE EPAPER IMAGE FIX
   ========================================================= */

@media (max-width: 767px) {

    html,
    body {
        width: 100% !important;
        max-width: 100% !important;
        overflow-x: hidden !important;
    }

    body.epaper-mode {
        overflow-x: hidden !important;
    }

    /* Main ePaper page */
    .epaper-reader-page,
    .epaper-reader-page .container,
    .epaper-main-page {
        width: 100% !important;
        max-width: 100% !important;
        min-width: 0 !important;
        margin-left: 0 !important;
        margin-right: 0 !important;
        padding-left: 8px !important;
        padding-right: 8px !important;
        box-sizing: border-box !important;
        overflow-x: hidden !important;
    }

    /* ePaper reader */
    .epaper-reader {
        width: 100% !important;
        max-width: 100% !important;
        min-width: 0 !important;
        box-sizing: border-box !important;
        overflow-x: hidden !important;
    }

    /* Page wrapper */
    .epaper-page {
        width: 100% !important;
        max-width: 100% !important;
        min-width: 0 !important;
        margin: 0 !important;
        padding: 8px !important;
        box-sizing: border-box !important;
        overflow-x: hidden !important;
    }

    /*
     * THIS IS THE IMPORTANT FIX
     *
     * Your newspaper canvas was display:inline-block.
     * On mobile that allows it to remain wider than the screen.
     */
    .epaper-page-canvas {
        display: block !important;
        position: relative !important;

        width: 100% !important;
        max-width: 100% !important;
        min-width: 0 !important;

        margin: 0 auto !important;
        padding: 0 !important;

        box-sizing: border-box !important;
        overflow: hidden !important;

        line-height: 0 !important;
    }

    /*
     * Actual newspaper image
     */
    .epaper-page-canvas > img,
    .epaper-page-canvas img,
    #epaperPageImage {
        display: block !important;

        width: 100% !important;
        max-width: 100% !important;

        height: auto !important;

        min-width: 0 !important;
        min-height: 0 !important;

        margin: 0 auto !important;
        padding: 0 !important;

        box-sizing: border-box !important;

        object-fit: contain !important;
    }

    /*
     * Clickable news regions must continue
     * to remain positioned over the image.
     */
    .epaper-news-region {
        position: absolute !important;
    }

    /*
     * Prevent wrappers from creating horizontal scroll
     */
    .epaper-page-image-wrap,
    .epaper-image-container {
        width: 100% !important;
        max-width: 100% !important;
        min-width: 0 !important;
        overflow: hidden !important;
        box-sizing: border-box !important;
    }
}