:root{
  --portal3-blue:#004f98;
  --portal3-blue-2:#0067c9;
  --portal3-navy:#00366d;
  --portal3-navy-dark:#002f61;
  --portal3-bg:#f4f8fc;
  --portal3-line:#cfe0f2;
  --portal3-line-2:#b8d0eb;
  --portal3-text:#07315f;
  --portal3-muted:#536b85;
  --portal3-green:#16835f;
  --portal3-red:#c92d3d;
  --portal3-purple:#604bd6;
  --portal3-shadow:0 8px 22px rgba(0,45,95,.10);
  --portal3-soft-shadow:0 3px 10px rgba(0,45,95,.08);
  --portal3-container:1160px;
  --portal3-hero-image:url('/assets/images/hero/home-portal-hero.png');
  --portal3-surface:#ffffff;
  --portal3-surface-elevated:#ffffff;
  --portal3-chip-bg:#ffffff;
}

:root[data-theme="dark"]{
  --portal3-blue:#67b7ff;
  --portal3-blue-2:#7bc4ff;
  --portal3-navy:#eef6ff;
  --portal3-navy-dark:#dbeeff;
  --portal3-bg:#07111f;
  --portal3-line:#263a52;
  --portal3-line-2:#355575;
  --portal3-text:#e8f1fb;
  --portal3-muted:#a8bad0;
  --portal3-shadow:0 16px 36px rgba(0,0,0,.24);
  --portal3-soft-shadow:0 12px 28px rgba(0,0,0,.20);
  --portal3-hero-image:url('/assets/images/hero/home-portal-hero-dark.png');
  --portal3-surface:#101f33;
  --portal3-surface-elevated:#122238;
  --portal3-chip-bg:#0f1d30;
}

/* Keep the original PNG as the safe fallback. Browsers with modern image
   support select exactly one AVIF/WebP candidate for the active theme. */
@supports (background-image:image-set(url("data:image/avif;base64,") type("image/avif") 1x)){
  :root{
    --portal3-hero-image:image-set(
      url('/assets/images/hero/home-portal-hero-768w.avif') type('image/avif') 1x,
      url('/assets/images/hero/home-portal-hero-768w.webp') type('image/webp') 1x,
      url('/assets/images/hero/home-portal-hero.png') type('image/png') 1x
    );
  }

  :root[data-theme="dark"]{
    --portal3-hero-image:image-set(
      url('/assets/images/hero/home-portal-hero-dark-768w.avif') type('image/avif') 1x,
      url('/assets/images/hero/home-portal-hero-dark-768w.webp') type('image/webp') 1x,
      url('/assets/images/hero/home-portal-hero-dark.png') type('image/png') 1x
    );
  }

  @media (max-width:480px){
    :root{
      --portal3-hero-image:image-set(
        url('/assets/images/hero/home-portal-hero-480w.avif') type('image/avif') 1x,
        url('/assets/images/hero/home-portal-hero-480w.webp') type('image/webp') 1x,
        url('/assets/images/hero/home-portal-hero.png') type('image/png') 1x
      );
    }

    :root[data-theme="dark"]{
      --portal3-hero-image:image-set(
        url('/assets/images/hero/home-portal-hero-dark-480w.avif') type('image/avif') 1x,
        url('/assets/images/hero/home-portal-hero-dark-480w.webp') type('image/webp') 1x,
        url('/assets/images/hero/home-portal-hero-dark.png') type('image/png') 1x
      );
    }
  }

  @media (min-width:1200px){
    :root{
      --portal3-hero-image:image-set(
        url('/assets/images/hero/home-portal-hero-1440w.avif') type('image/avif') 1x,
        url('/assets/images/hero/home-portal-hero-1440w.webp') type('image/webp') 1x,
        url('/assets/images/hero/home-portal-hero.png') type('image/png') 1x
      );
    }

    :root[data-theme="dark"]{
      --portal3-hero-image:image-set(
        url('/assets/images/hero/home-portal-hero-dark-1440w.avif') type('image/avif') 1x,
        url('/assets/images/hero/home-portal-hero-dark-1440w.webp') type('image/webp') 1x,
        url('/assets/images/hero/home-portal-hero-dark.png') type('image/png') 1x
      );
    }
  }
}

html{
  overflow-x:hidden;
}

body.portal3-home{
  margin:0 !important;
  color:var(--portal3-text);
  background:var(--portal3-bg) !important;
  font-family:'Inter','Noto Sans JP',sans-serif;
  line-height:1.5;
  overflow-x:hidden;
}

body.portal3-home *,
body.portal3-home *::before,
body.portal3-home *::after{
  box-sizing:border-box;
}

body.portal3-home a{
  color:inherit;
}

body.portal3-home img{
  max-width:100%;
  display:block;
}

body.portal3-home .portal3-main{
  position:relative;
  display:block;
  clear:both;
  float:none;
  width:100%;
  max-width:none;
  min-width:0;
  transform:none;
}

body.portal3-home .portal3-main{
  padding:0 !important;
  margin:0 !important;
  background:var(--portal3-bg) !important;
  z-index:1;
}

body.portal3-home .portal3-main *,
body.portal3-home .page-footer *,
body.portal3-home .site-header *{
  writing-mode:horizontal-tb !important;
  text-orientation:mixed !important;
}

body.portal3-home > .page-footer{
  margin-top:0;
}

/* Hero */

.portal3-hero{
  position:relative;
  height:300px;
  overflow:hidden;
  border-bottom:1px solid #cfe0f2;
  background:#eaf6ff;
}

.portal3-hero-bg{
  position:absolute;
  inset:0;
  z-index:0;
  background:
    var(--portal3-hero-image) center center / cover no-repeat,
    linear-gradient(90deg, #dff2ff, #fff);
  filter:saturate(1.08) contrast(1.04);
}

.portal3-hero::before{
  content:"";
  position:absolute;
  inset:0;
  z-index:1;
  background:
    linear-gradient(
      90deg,
      rgba(255,255,255,.04) 0%,
      rgba(255,255,255,.10) 18%,
      rgba(255,255,255,.42) 35%,
      rgba(255,255,255,.68) 50%,
      rgba(255,255,255,.42) 65%,
      rgba(255,255,255,.10) 82%,
      rgba(255,255,255,.04) 100%
    );
  pointer-events:none;
}

.portal3-hero::after{
  content:"";
  position:absolute;
  left:0;
  right:0;
  bottom:0;
  height:54px;
  z-index:1;
  background:linear-gradient(180deg, rgba(255,255,255,0), rgba(255,255,255,.42));
  pointer-events:none;
}

.portal3-hero-inner{
  position:relative;
  z-index:2;
  width:min(var(--portal3-container), calc(100% - 32px));
  height:100%;
  margin:0 auto;
  display:flex;
  flex-direction:column;
  align-items:center;
  justify-content:center;
  padding-top:4px;
  text-align:center;
}

.portal3-hero h1{
  margin:0 0 10px;
  color:var(--portal3-navy);
  font-size:40px;
  line-height:1.18;
  font-weight:800;
  letter-spacing:-.04em;
  text-shadow:
    0 1px 0 rgba(255,255,255,.92),
    0 2px 10px rgba(255,255,255,.72);
}

.portal3-hero p{
  margin:0 0 16px;
  color:#173e68;
  font-size:15px;
  line-height:1.65;
  font-weight:700;
  text-shadow:
    0 1px 0 rgba(255,255,255,.92),
    0 2px 8px rgba(255,255,255,.70);
}

.portal3-quick{
  display:flex;
  align-items:center;
  justify-content:center;
  gap:13px;
  flex-wrap:wrap;
}

.portal3-quick a{
  display:inline-flex;
  align-items:center;
  justify-content:center;
  gap:8px;
  min-width:116px;
  height:42px;
  padding:0 15px;
  border:1.5px solid var(--portal3-line-2);
  border-radius:999px;
  background:#fff;
  text-decoration:none;
  font-size:13px;
  font-weight:800;
  box-shadow:0 4px 12px rgba(0,45,95,.08);
}

.portal3-quick a::before{
  display:grid;
  place-items:center;
  width:23px;
  height:23px;
  border-radius:50%;
  color:#fff;
  font-size:13px;
}

.portal3-red{
  color:var(--portal3-red);
  border-color:#f0b7be !important;
}

.portal3-red::before{
  content:"✎";
  background:var(--portal3-red);
}

.portal3-blue{
  color:#0058b5;
}

.portal3-blue::before{
  content:"▣";
  background:#0058b5;
}

.portal3-alert{
  color:var(--portal3-red);
  border-color:#f0b7be !important;
}

.portal3-alert::before{
  content:"✚";
  background:var(--portal3-red);
}

.portal3-green{
  color:#16835f;
  border-color:#acd9c8 !important;
}

.portal3-green::before{
  content:"▦";
  background:#16835f;
}

.portal3-purple{
  color:#604bd6;
  border-color:#c8c1f2 !important;
}

.portal3-purple::before{
  content:"◫";
  background:#604bd6;
}

/* Section doorway */

.portal3-ribbon-wrap{
  width:100%;
  background:var(--portal3-bg);
}

.portal3-ribbon{
  position:relative;
  z-index:2;
  height:74px;
  width:min(var(--portal3-container), calc(100% - 32px));
  margin:0 auto;
  display:grid;
  grid-template-columns:repeat(5, minmax(0, 1fr));
  background:linear-gradient(180deg, #004f98 0%, #003f7d 100%);
  border-top:1px solid #1b6aaf;
  border-bottom:1px solid #002f61;
  box-shadow:0 3px 12px rgba(0,45,95,.18);
}

.portal3-ribbon a{
  display:flex;
  flex-direction:column;
  justify-content:center;
  align-items:center;
  gap:3px;
  min-width:0;
  height:74px;
  text-decoration:none;
  border-right:1px solid rgba(255,255,255,.18);
  color:#fff;
}

.portal3-ribbon a:last-child{
  border-right:0;
}

.portal3-ribbon strong{
  color:#fff !important;
  font-size:18px;
  line-height:1.2;
  font-weight:800;
  letter-spacing:-.02em;
  text-shadow:0 1px 1px rgba(0,0,0,.22);
  text-align:center;
}

.portal3-ribbon span{
  color:#fff !important;
  opacity:.95;
  font-size:12px;
  font-weight:800;
  text-shadow:0 1px 1px rgba(0,0,0,.22);
  text-align:center;
}

.portal3-ribbon a:hover,
.portal3-ribbon a:focus-visible{
  background:rgba(255,255,255,.08);
}

.portal3-ribbon a:focus-visible{
  outline:3px solid rgba(255,255,255,.55);
  outline-offset:-3px;
}

/* Container */

.portal3-container{
  width:min(var(--portal3-container), calc(100% - 32px));
  margin:0 auto;
  padding:18px 0 24px;
  display:grid;
  gap:18px;
}

/* Top panels */

.portal3-top-grid{
  display:grid;
  grid-template-columns:repeat(3, minmax(0, 1fr));
  gap:18px;
}

.portal3-panel{
  min-width:0;
  border:1px solid var(--portal3-line);
  border-radius:8px;
  background:#fff;
  box-shadow:var(--portal3-soft-shadow);
  padding:14px 14px 12px;
}

.portal3-panel-head,
.portal3-section-head{
  display:flex;
  align-items:flex-start;
  justify-content:space-between;
  gap:12px;
}

.portal3-panel-head{
  align-items:flex-start;
  margin-bottom:10px;
}

.portal3-panel-head h2{
  min-width:0;
  margin:0;
  color:var(--portal3-navy);
  font-size:18px;
  font-weight:800;
  line-height:1.35;
}

.portal3-panel-title-link{
  color:inherit;
  text-decoration:none;
}

.portal3-panel-title-link:hover,
.portal3-panel-title-link:focus-visible{
  color:var(--portal3-blue);
}

.portal3-panel-title-link:focus-visible{
  outline:3px solid rgba(13,96,189,.24);
  outline-offset:3px;
  border-radius:4px;
}

.portal3-panel-head > a,
.portal3-section-head > a,
.portal3-section-more,
.more-news{
  color:var(--portal3-blue);
  display:inline-flex;
  align-items:center;
  justify-content:center;
  min-height:34px;
  padding:0 12px;
  border:1px solid #b8d0eb;
  border-radius:999px;
  background:#fff;
  box-shadow:0 2px 8px rgba(0,45,95,.06);
  text-decoration:none;
  font-size:.95rem;
  font-weight:800;
  white-space:nowrap;
  transition:background-color .16s ease, border-color .16s ease, color .16s ease, box-shadow .16s ease;
}

.portal3-panel-head > a{
  flex:0 0 auto;
  min-height:38px;
  padding:0 14px;
  font-size:13.5px;
}

.portal3-panel-head > a::after,
.portal3-section-head > a::after,
.portal3-section-more::after,
.more-news::after{
  content:" ›";
}

.portal3-panel-head > a:hover,
.portal3-section-head > a:hover,
.portal3-section-more:hover,
.more-news:hover{
  border-color:#0d60bd;
  background:#eef7ff;
  box-shadow:0 4px 12px rgba(0,45,95,.10);
}

.portal3-panel-head > a:focus-visible,
.portal3-section-head > a:focus-visible,
.portal3-section-more:focus-visible,
.more-news:focus-visible{
  outline:3px solid rgba(13,96,189,.28);
  outline-offset:3px;
}

.portal3-mini{
  display:grid;
  grid-template-columns:62px minmax(0,1fr);
  gap:10px;
  min-height:70px;
  padding:10px 0;
  border-bottom:1px solid #edf3f8;
  border-radius:6px;
  text-decoration:none;
  color:inherit;
  transition:background-color .16s ease, box-shadow .16s ease;
}

.portal3-mini:hover,
.portal3-mini:focus-visible{
  background:#f8fbff;
}

.portal3-mini:focus-visible{
  outline:3px solid rgba(13,96,189,.22);
  outline-offset:2px;
}

.portal3-mini:last-child{
  border-bottom:0;
  padding-bottom:0;
}

.portal3-thumb{
  display:block;
  height:52px;
  border-radius:5px;
  background:#eaf3ff;
  border:1px solid #dce8f5;
  overflow:hidden;
  position:relative;
}

.portal3-thumb::before{
  position:absolute;
  inset:0;
  display:grid;
  place-items:center;
  font-size:25px;
}

.portal3-thumb img,
.portal3-card-img img,
.event-img img{
  width:100%;
  height:100%;
  object-fit:cover;
  display:block;
}

.portal3-thumb.has-photo::before,
.portal3-card-img.has-photo::before,
.event-img.has-photo::before{
  display:none;
}

.portal3-mini em{
  display:inline-flex;
  padding:1px 6px;
  margin-bottom:3px;
  border-radius:999px;
  background:#f6f9fc;
  color:var(--portal3-muted);
  border:1px solid #e2ebf4;
  font-size:9.5px;
  font-style:normal;
  font-weight:700;
}

.portal3-latest-copy{
  display:flex;
  flex-direction:column;
  justify-content:center;
  min-width:0;
}

.portal3-community-copy{
  display:flex;
  flex-direction:column;
  justify-content:center;
  min-width:0;
}

.portal3-latest-meta{
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:8px;
  min-width:0;
  margin-bottom:4px;
}

.portal3-community-meta{
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:8px;
  min-width:0;
  margin-bottom:4px;
}

.portal3-latest-mini em{
  flex:0 1 auto;
  min-width:0;
  max-width:70%;
  margin-bottom:0;
  overflow:hidden;
  text-overflow:ellipsis;
  white-space:nowrap;
}

.portal3-community-mini em{
  flex:0 1 auto;
  min-width:0;
  max-width:54%;
  margin-bottom:0;
  overflow:hidden;
  text-overflow:ellipsis;
  white-space:nowrap;
  font-size:9px;
  color:var(--portal3-muted);
  background:#f8fafc;
  border-color:#e4ecf4;
}

.portal3-latest-date{
  flex:0 0 auto;
  color:var(--portal3-muted);
  font-size:11px;
  line-height:1.3;
  font-weight:700;
  white-space:nowrap;
}

.portal3-community-date{
  flex:0 0 auto;
  color:var(--portal3-muted);
  font-size:11px;
  line-height:1.3;
  font-weight:700;
  white-space:nowrap;
}

.portal3-mini strong{
  display:block;
  overflow:hidden;
  color:var(--portal3-text);
  font-size:13px;
  line-height:1.4;
  font-weight:800;
  text-overflow:ellipsis;
  white-space:nowrap;
}

.portal3-mini small{
  display:block;
  margin-top:3px;
  color:var(--portal3-muted);
  font-size:11px;
  line-height:1.4;
}

.portal3-latest-mini strong{
  line-height:1.35;
}

.portal3-job-mini{
  position:relative;
  display:grid;
  grid-template-columns:52px minmax(0,1fr);
  gap:10px;
  min-height:67px;
  padding:8px 0;
  border-bottom:1px solid #edf3f8;
  color:inherit;
  text-decoration:none;
}

.portal3-job-mini:last-child{
  border-bottom:0;
  padding-bottom:0;
}

.portal3-job-icon{
  display:grid;
  place-items:center;
  width:48px;
  height:48px;
  border-radius:8px;
  background:#eaf3ff;
  color:var(--portal3-blue);
  font-size:24px;
  font-weight:800;
}

.portal3-job-mini strong{
  display:block;
  color:var(--portal3-text);
  font-size:13px;
  line-height:1.35;
  font-weight:800;
}

.portal3-job-mini small{
  display:block;
  margin-top:3px;
  color:var(--portal3-muted);
  font-size:11px;
  line-height:1.35;
}

.portal3-job-mini em{
  position:absolute;
  top:8px;
  right:0;
  padding:2px 8px;
  border-radius:999px;
  background:#eef7ff;
  color:var(--portal3-blue);
  border:1px solid #d5e8fb;
  font-size:10px;
  font-style:normal;
  font-weight:800;
}

.thumb-desk::before{content:"🪑";}
.thumb-office::before{content:"🏢";}
.thumb-hike::before{content:"🥾";}
.thumb-laptop::before{content:"💻";}
.thumb-medical::before{content:"🏥";}
.thumb-mountain::before{content:"⛰️";}

/* Sections */

.portal3-section{
  min-width:0;
  border:1px solid var(--portal3-line-2);
  border-radius:8px;
  background:#fff;
  box-shadow:var(--portal3-soft-shadow);
  padding:14px 16px 16px;
  scroll-margin-top:70px;
}

.portal3-community{
  background:linear-gradient(180deg, #f1f8ff, #ffffff 45%);
  border-color:#b9d4f2;
}

.portal3-living{
  background:linear-gradient(180deg, #effaf4, #ffffff 45%);
  border-color:#abd9c1;
}

.portal3-jobs{
  background:linear-gradient(180deg, #f0f7ff, #ffffff 45%);
  border-color:#b9d4f2;
}

.portal3-news{
  background:linear-gradient(180deg, #f2f8ff, #ffffff 45%);
  border-color:#b9d4f2;
}

.portal3-learn{
  background:linear-gradient(180deg, #f6f3ff, #ffffff 45%);
  border-color:#c8c1f2;
}

.portal3-section-head{
  margin-bottom:7px;
}

.portal3-section-head h2{
  display:flex;
  align-items:center;
  margin:0;
  color:var(--portal3-navy);
  font-size:25px;
  line-height:1.2;
  font-weight:800;
  letter-spacing:-.03em;
}

.portal3-section-title-link{
  display:inline-flex;
  align-items:center;
  gap:7px;
  margin:-2px;
  padding:2px;
  border-radius:6px;
  color:inherit;
  text-decoration:none;
  cursor:pointer;
  transition:color .16s ease, text-decoration-color .16s ease, background-color .16s ease;
}

.portal3-section-title-link:hover,
.portal3-section-title-link:focus-visible{
  color:var(--portal3-blue);
  text-decoration:underline;
  text-decoration-thickness:2px;
  text-underline-offset:5px;
}

.portal3-section-title-link:focus-visible{
  outline:3px solid rgba(13,96,189,.28);
  outline-offset:3px;
}

.portal3-section-head h2 span{
  display:grid;
  place-items:center;
  width:31px;
  height:31px;
  border:2px solid currentColor;
  border-radius:50%;
  font-size:18px;
  line-height:1;
}

.portal3-section-head p{
  margin:4px 0 0 42px;
  color:#284b72;
  font-size:13px;
  font-weight:800;
}

.portal3-section-head.with-buttons{
  align-items:center;
}

.portal3-section-head--with-navigation{
  align-items:center;
}

.portal3-section-navigation{
  display:flex;
  flex:0 1 auto;
  flex-wrap:wrap;
  align-items:center;
  justify-content:flex-end;
  gap:9px;
  min-width:0;
}

.portal3-section-navigation .portal3-chips{
  margin:0;
}

.portal3-trust-note{
  margin:10px 0 12px 42px;
  max-width:720px;
  border-left:3px solid #0d60bd;
  padding-left:12px;
  color:#284b72;
  font-size:12px;
  font-weight:800;
  line-height:1.65;
}

.portal3-section-buttons{
  display:flex;
  gap:10px;
}

.portal3-section-buttons a{
  display:inline-flex;
  align-items:center;
  justify-content:center;
  min-width:118px;
  min-height:36px;
  padding:0 14px;
  border:1px solid #0d60bd;
  border-radius:6px;
  text-decoration:none;
  font-size:.95rem;
  font-weight:800;
}

.portal3-section-buttons a:first-child{
  background:#0d60bd;
  color:#fff;
}

.portal3-section-buttons a:last-child{
  background:#fff;
  color:#0d60bd;
}

/* Chips */

.portal3-chips{
  display:flex;
  flex-wrap:wrap;
  gap:9px;
  margin:0 0 9px;
}

.portal3-chips a{
  display:inline-flex;
  align-items:center;
  justify-content:center;
  min-height:28px;
  min-width:74px;
  padding:0 12px;
  border:1px solid #bad2ee;
  border-radius:6px;
  background:#fff;
  color:var(--portal3-blue);
  text-decoration:none;
  font-size:12px;
  font-weight:700;
}

.portal3-chips.green a{
  border-color:#b4dcc9;
  color:#16835f;
}

.portal3-chips.purple a{
  border-color:#c9c1f2;
  color:#604bd6;
}

.portal3-chips .chip-primary{
  background:#0d60bd;
  border-color:#0d60bd;
  color:#fff;
}

/* Cards */

.portal3-card-row,
.portal3-learn-row{
  display:grid;
  grid-template-columns:repeat(5, minmax(0, 1fr));
  gap:12px;
}

.portal3-card,
.portal3-emergency{
  position:relative;
  min-width:0;
  min-height:166px;
  border:1px solid var(--portal3-line);
  border-radius:7px;
  background:#fff;
  color:inherit;
  text-decoration:none;
  box-shadow:0 2px 7px rgba(0,45,95,.06);
  overflow:hidden;
}

.portal3-card{
  padding:8px;
  display:flex;
  flex-direction:column;
  gap:5px;
}

.portal3-card-img{
  display:block;
  height:78px;
  border-radius:5px;
  border:1px solid #dce8f5;
  background:#eaf3ff;
  position:relative;
  overflow:hidden;
}

.portal3-card-img::before{
  position:absolute;
  inset:0;
  display:grid;
  place-items:center;
  font-size:35px;
}

.portal3-card em{
  position:absolute;
  top:10px;
  left:10px;
  padding:3px 8px;
  border-radius:999px;
  background:#eef7ff;
  color:#0d60bd;
  border:1px solid #b8d4f2;
  font-size:10px;
  font-style:normal;
  font-weight:800;
}

.portal3-card strong{
  display:block;
  color:var(--portal3-text);
  font-size:13px;
  line-height:1.35;
  font-weight:800;
}

.portal3-card small{
  color:var(--portal3-muted);
  font-size:11px;
  line-height:1.35;
}

.portal3-card b{
  margin-top:auto;
  color:var(--portal3-muted);
  font-size:11px;
  font-weight:700;
}

.portal3-fallback-card{
  grid-column:1 / -1;
}

.portal3-card.portal3-fallback-card,
.portal3-job-card.portal3-fallback-card{
  min-height:150px;
}

.portal3-fallback-actions{
  display:flex;
  flex-wrap:wrap;
  align-self:flex-start;
  width:auto;
  height:auto;
  max-width:100%;
  flex:0 0 auto;
  gap:8px;
  margin-top:auto;
}

.portal3-fallback-actions a{
  display:inline-flex;
  align-items:center;
  justify-content:center;
  min-height:32px;
  padding:0 11px;
  border:1px solid #bad2ee;
  border-radius:6px;
  background:#fff;
  color:var(--portal3-blue);
  text-decoration:none;
  font-size:12px;
  font-weight:800;
}

.portal3-fallback-actions a:first-child{
  background:var(--portal3-blue);
  border-color:var(--portal3-blue);
  color:#fff;
}

.portal3-fallback-actions a:hover{
  border-color:var(--portal3-blue);
  box-shadow:0 4px 12px rgba(0,45,95,.12);
}

.portal3-fallback-actions a:focus-visible{
  outline:3px solid rgba(13,96,189,.3);
  outline-offset:3px;
}

.img-bike::before{content:"🚲";}
.img-doc::before{content:"📄";}
.img-family::before{content:"👥";}
.img-piano::before{content:"🎹";}
.img-cafe::before{content:"☕";}
.img-anmeldung::before{content:"🏢";}
.img-paper::before{content:"📝";}
.img-food::before{content:"🍱";}
.img-view::before{content:"🏞️";}
.img-office::before{content:"🏛️";}
.img-hospital::before{content:"🏥";}
.img-meeting::before{content:"💼";}
.img-study::before{content:"📚";}

.img-bike{background:linear-gradient(135deg,#fff4e5,#e8f4ff);}
.img-doc{background:linear-gradient(135deg,#f4f8ff,#ffffff);}
.img-family{background:linear-gradient(135deg,#eafaf2,#f7fbff);}
.img-piano{background:linear-gradient(135deg,#f4f0ff,#ffffff);}
.img-cafe{background:linear-gradient(135deg,#fff4e5,#ffffff);}
.img-anmeldung{background:linear-gradient(135deg,#eaf3ff,#ffffff);}
.img-paper{background:linear-gradient(135deg,#f4f8ff,#ffffff);}
.img-food{background:linear-gradient(135deg,#fff4e5,#ffffff);}
.img-view{background:linear-gradient(135deg,#eafaf2,#eaf3ff);}

/* Emergency */

.portal3-emergency{
  padding:15px;
  display:flex;
  flex-direction:column;
  justify-content:center;
  gap:8px;
  border-color:#ef9aa3;
  background:linear-gradient(180deg,#fff7f7,#ffffff);
  text-align:left;
}

.portal3-emergency span{
  display:grid;
  place-items:center;
  width:38px;
  height:38px;
  border-radius:8px;
  background:var(--portal3-red);
  color:#fff;
  font-size:20px;
  font-weight:800;
}

.portal3-emergency strong{
  color:var(--portal3-red);
  font-size:15px;
  line-height:1.35;
  font-weight:800;
}

.portal3-emergency p{
  margin:0;
  color:#6c3b43;
  font-size:12px;
  line-height:1.55;
  font-weight:600;
}

.portal3-emergency b{
  display:inline-flex;
  align-items:center;
  justify-content:center;
  width:86px;
  height:31px;
  border-radius:5px;
  background:var(--portal3-red);
  color:#fff;
  font-size:12px;
  font-weight:800;
}

/* Jobs */

.portal3-job-row{
  display:grid;
  grid-template-columns:repeat(4, minmax(0, 1fr));
  gap:12px;
}

.portal3-job-card{
  min-height:132px;
  padding:14px 13px;
  border:1px solid var(--portal3-line);
  border-radius:7px;
  background:#fff;
  color:inherit;
  text-decoration:none;
  box-shadow:0 2px 7px rgba(0,45,95,.06);
}

.portal3-job-card .portal3-job-icon{
  flex:none;
  display:inline-grid;
  place-items:center;
  width:38px;
  height:38px;
  margin-right:10px;
  border-radius:8px;
  background:#eaf3ff;
  color:#0d60bd;
  font-size:22px;
  vertical-align:top;
}

.portal3-job-card strong{
  display:block;
  color:var(--portal3-text);
  font-size:14px;
  line-height:1.35;
  font-weight:800;
}

.portal3-job-card small{
  display:block;
  margin-top:3px;
  color:var(--portal3-muted);
  font-size:11px;
}

.portal3-job-card p{
  margin:8px 0 0;
  color:#50657d;
  font-size:12px;
  line-height:1.45;
  display:-webkit-box;
  -webkit-line-clamp:2;
  -webkit-box-orient:vertical;
  overflow:hidden;
}

.portal3-job-card b{
  display:block;
  margin-top:8px;
  color:#173e68;
  font-size:14px;
  font-weight:800;
}

.portal3-job-card em{
  display:inline-flex;
  margin:8px 5px 0 0;
  padding:3px 8px;
  border:1px solid #dbe7f4;
  border-radius:999px;
  background:#f8fbff;
  color:var(--portal3-muted);
  font-size:10px;
  font-style:normal;
  font-weight:800;
}

/* News */

.portal3-news-grid{
  display:grid;
  grid-template-columns:1.08fr 2fr;
  gap:14px;
}

.portal3-news-list{
  padding:13px 14px;
  border:1px solid var(--portal3-line);
  border-radius:7px;
  background:#fff;
}

.portal3-news-list h3{
  margin:0 0 8px;
  color:var(--portal3-navy);
  font-size:15px;
  font-weight:800;
}

.portal3-event-panel > h3{
  margin:0 0 8px;
  color:var(--portal3-navy);
  font-size:15px;
  font-weight:800;
}

.portal3-content-heading-link{
  display:inline-flex;
  align-items:center;
  gap:3px;
  min-height:32px;
  margin:-4px;
  padding:4px;
  border-radius:5px;
  color:inherit;
  text-decoration:none;
  transition:color .16s ease, text-decoration-color .16s ease, background-color .16s ease;
}

.portal3-content-heading-link:hover,
.portal3-content-heading-link:focus-visible{
  color:var(--portal3-blue);
  text-decoration:underline;
  text-decoration-thickness:2px;
  text-underline-offset:4px;
}

.portal3-content-heading-link:focus-visible{
  outline:3px solid rgba(13,96,189,.28);
  outline-offset:3px;
}

.portal3-news-list a:not(.more-news){
  display:flex;
  justify-content:space-between;
  gap:14px;
  padding:8px 0;
  border-bottom:1px solid #edf3f8;
  color:inherit;
  text-decoration:none;
  font-size:12px;
  font-weight:800;
}

.portal3-news-list time,
.portal3-news-list small{
  flex:0 0 auto;
  color:var(--portal3-muted);
  font-size:11px;
  font-weight:700;
}

.more-news{
  display:block;
  margin-top:8px;
  text-align:right;
}

.portal3-event-row{
  display:grid;
  grid-template-columns:repeat(3, minmax(0, 1fr));
  gap:12px;
}

.portal3-event-card{
  position:relative;
  min-height:138px;
  padding:8px 8px 10px;
  border:1px solid var(--portal3-line);
  border-radius:7px;
  background:#fff;
  color:inherit;
  text-decoration:none;
  box-shadow:0 2px 7px rgba(0,45,95,.06);
  overflow:hidden;
}

.event-date,
.event-date b,
.event-date strong,
.event-date small{
  color:#fff;
}

.event-date{
  position:absolute;
  top:8px;
  left:8px;
  z-index:2;
  display:grid;
  place-items:center;
  width:49px;
  height:62px;
  border-radius:5px;
  background:#0d60bd;
  text-align:center;
  line-height:1;
}

.event-date b{
  font-size:11px;
}

.event-date strong{
  font-size:25px;
  line-height:.95;
}

.event-date small{
  font-size:11px;
}

.event-img{
  display:block;
  height:70px;
  margin-left:58px;
  margin-bottom:8px;
  border-radius:5px;
  background:#eaf3ff;
  position:relative;
  overflow:hidden;
}

.event-img::before{
  position:absolute;
  inset:0;
  display:grid;
  place-items:center;
  font-size:30px;
}

.img-japan-day::before{content:"🏮";}
.img-market::before{content:"🛍️";}
.img-movie::before{content:"🎬";}

.portal3-event-card strong{
  display:block;
  color:var(--portal3-text);
  font-size:13px;
  line-height:1.35;
  font-weight:800;
}

.portal3-event-card small{
  display:block;
  color:var(--portal3-muted);
  font-size:11px;
}

.portal3-event-card .event-date,
.portal3-event-card .event-date b,
.portal3-event-card .event-date strong,
.portal3-event-card .event-date small{
  color:#fff;
}

.portal3-event-card em{
  display:inline-flex;
  margin-top:5px;
  padding:2px 8px;
  border:1px solid #bad2ee;
  border-radius:999px;
  background:#f1f8ff;
  color:#0d60bd;
  font-size:10px;
  font-style:normal;
  font-weight:800;
}

/* Learn */

.portal3-phrase{
  min-height:166px;
  padding:15px;
  border:1px solid #e7bd6f;
  border-radius:7px;
  background:linear-gradient(180deg,#fff8e6,#fff);
  box-shadow:0 2px 7px rgba(0,45,95,.06);
}

.portal3-phrase span{
  display:inline-flex;
  padding:3px 9px;
  border-radius:999px;
  background:#fff0c7;
  color:#8a5700;
  font-size:11px;
  font-weight:800;
}

.portal3-phrase strong{
  display:block;
  margin-top:8px;
  color:#173e68;
  font-size:15px;
  line-height:1.4;
  font-weight:800;
}

.portal3-phrase p{
  margin:4px 0 10px;
  color:#67583e;
  font-size:12px;
  font-weight:700;
}

.portal3-phrase button{
  height:31px;
  padding:0 12px;
  border:1px solid #e7bd6f;
  border-radius:999px;
  background:#fff;
  color:#9b6500;
  font-size:12px;
  font-weight:800;
  cursor:pointer;
}

/* These long editorial sections are below the first mobile viewport. Keep their
   document space while allowing supporting browsers to defer their rendering. */
@supports (content-visibility:auto){
  @media (max-width:720px){
    .portal3-top-grid .portal3-panel:nth-child(n + 2){
      content-visibility:auto;
      contain-intrinsic-size:auto 300px;
    }

    .portal3-community{
      content-visibility:auto;
      contain-intrinsic-size:auto 1180px;
    }

    .portal3-living{
      content-visibility:auto;
      contain-intrinsic-size:auto 1480px;
    }

    .portal3-jobs{
      content-visibility:auto;
      contain-intrinsic-size:auto 820px;
    }

    .portal3-news{
      content-visibility:auto;
      contain-intrinsic-size:auto 900px;
    }

    .portal3-learn{
      content-visibility:auto;
      contain-intrinsic-size:auto 1480px;
    }
  }
}

/* Responsive */

@media (max-width:1180px){
  .portal3-card-row,
  .portal3-learn-row{
    grid-template-columns:repeat(3, minmax(0,1fr));
  }

  .portal3-job-row{
    grid-template-columns:repeat(2, minmax(0,1fr));
  }
}

@media (max-width:920px){
  .portal3-hero{
    height:auto;
  }

  .portal3-hero-inner{
    padding:32px 0 28px;
  }

  .portal3-hero h1{
    font-size:32px;
  }

  .portal3-ribbon{
    height:auto;
    display:flex;
    overflow-x:auto;
  }

  .portal3-ribbon a{
    min-width:220px;
    height:74px;
  }

  .portal3-top-grid{
    grid-template-columns:1fr;
  }

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

  .portal3-event-row{
    grid-template-columns:1fr;
  }
}

@media (max-width:720px){
  .portal3-hero h1{
    font-size:28px;
  }

  .portal3-hero p br{
    display:none;
  }

  .portal3-quick{
    display:grid;
    grid-template-columns:1fr 1fr;
    width:100%;
  }

  .portal3-card-row,
  .portal3-job-row,
  .portal3-learn-row{
    grid-template-columns:1fr;
  }

  .portal3-section-head,
  .portal3-section-head.with-buttons,
  .portal3-section-head--with-navigation{
    flex-direction:column;
    align-items:flex-start;
  }

  .portal3-section-navigation{
    justify-content:flex-start;
  }

  .portal3-section-head p{
    margin-left:0;
  }

  .portal3-trust-note{
    margin-left:0;
  }

  .portal3-section-buttons{
    width:100%;
  }

  .portal3-section-buttons a{
    flex:1;
  }
}

@media (max-width:480px){
  .portal3-container,
  .portal3-hero-inner,
  .portal3-ribbon{
    width:min(100% - 22px, var(--portal3-container));
  }

  .portal3-quick{
    grid-template-columns:1fr;
  }

  .portal3-chips{
    flex-wrap:nowrap;
    overflow-x:auto;
    padding-bottom:4px;
  }

  .portal3-chips a{
    flex:0 0 auto;
  }
}

/* Dark theme */

:root[data-theme="dark"] body.portal3-home{
  color:var(--portal3-text);
  background:var(--portal3-bg) !important;
}

:root[data-theme="dark"] body.portal3-home .portal3-main,
:root[data-theme="dark"] body.portal3-home .portal3-ribbon-wrap{
  background:var(--portal3-bg) !important;
}

:root[data-theme="dark"] body.portal3-home .portal3-hero{
  border-bottom-color:var(--portal3-line);
  background:#0b1626;
}

:root[data-theme="dark"] body.portal3-home .portal3-hero-bg{
  background:
    var(--portal3-hero-image) center center / cover no-repeat,
    linear-gradient(90deg, #07111f, #102541);
  filter:saturate(1.05) contrast(1.04);
}

:root[data-theme="dark"] body.portal3-home .portal3-hero::before{
  background:
    linear-gradient(
      90deg,
      rgba(7,17,31,.26) 0%,
      rgba(7,17,31,.18) 22%,
      rgba(7,17,31,.04) 50%,
      rgba(7,17,31,.18) 78%,
      rgba(7,17,31,.26) 100%
    );
}

:root[data-theme="dark"] body.portal3-home .portal3-hero::after{
  background:linear-gradient(180deg, rgba(7,17,31,0), rgba(7,17,31,.72));
}

:root[data-theme="dark"] body.portal3-home .portal3-hero h1,
:root[data-theme="dark"] body.portal3-home .portal3-panel-head h2,
:root[data-theme="dark"] body.portal3-home .portal3-section-head h2,
:root[data-theme="dark"] body.portal3-home .portal3-news-list h3,
:root[data-theme="dark"] body.portal3-home .portal3-event-panel > h3,
:root[data-theme="dark"] body.portal3-home .portal3-mini strong,
:root[data-theme="dark"] body.portal3-home .portal3-job-mini strong,
:root[data-theme="dark"] body.portal3-home .portal3-card strong,
:root[data-theme="dark"] body.portal3-home .portal3-job-card strong,
:root[data-theme="dark"] body.portal3-home .portal3-event-card strong,
:root[data-theme="dark"] body.portal3-home .portal3-phrase strong{
  color:var(--portal3-text);
}

:root[data-theme="dark"] body.portal3-home .portal3-hero h1{
  text-shadow:0 2px 16px rgba(0,0,0,.58);
}

:root[data-theme="dark"] body.portal3-home .portal3-hero p,
:root[data-theme="dark"] body.portal3-home .portal3-section-head p,
:root[data-theme="dark"] body.portal3-home .portal3-trust-note,
:root[data-theme="dark"] body.portal3-home .portal3-mini small,
:root[data-theme="dark"] body.portal3-home .portal3-job-mini small,
:root[data-theme="dark"] body.portal3-home .portal3-card small,
:root[data-theme="dark"] body.portal3-home .portal3-card b,
:root[data-theme="dark"] body.portal3-home .portal3-job-card small,
:root[data-theme="dark"] body.portal3-home .portal3-job-card p,
:root[data-theme="dark"] body.portal3-home .portal3-job-card b,
:root[data-theme="dark"] body.portal3-home .portal3-news-list time,
:root[data-theme="dark"] body.portal3-home .portal3-news-list small,
:root[data-theme="dark"] body.portal3-home .portal3-event-card small,
:root[data-theme="dark"] body.portal3-home .portal3-phrase p,
:root[data-theme="dark"] body.portal3-home .portal3-latest-date,
:root[data-theme="dark"] body.portal3-home .portal3-community-date{
  color:var(--portal3-muted);
}

:root[data-theme="dark"] body.portal3-home .portal3-hero p{
  color:#dbeeff;
  text-shadow:0 2px 12px rgba(0,0,0,.52);
}

:root[data-theme="dark"] body.portal3-home .event-date,
:root[data-theme="dark"] body.portal3-home .event-date b,
:root[data-theme="dark"] body.portal3-home .event-date strong,
:root[data-theme="dark"] body.portal3-home .event-date small{
  color:#fff;
}

:root[data-theme="dark"] body.portal3-home .portal3-job-card b{
  color:var(--color-text-accent, #9ccdff);
}

:root[data-theme="dark"] body.portal3-home .portal3-panel,
:root[data-theme="dark"] body.portal3-home .portal3-section,
:root[data-theme="dark"] body.portal3-home .portal3-card,
:root[data-theme="dark"] body.portal3-home .portal3-job-card,
:root[data-theme="dark"] body.portal3-home .portal3-news-list,
:root[data-theme="dark"] body.portal3-home .portal3-event-card,
:root[data-theme="dark"] body.portal3-home .portal3-phrase{
  border-color:var(--portal3-line);
  background:var(--portal3-surface);
  color:var(--portal3-text);
  box-shadow:var(--portal3-soft-shadow);
}

:root[data-theme="dark"] body.portal3-home .portal3-community,
:root[data-theme="dark"] body.portal3-home .portal3-living,
:root[data-theme="dark"] body.portal3-home .portal3-jobs,
:root[data-theme="dark"] body.portal3-home .portal3-news,
:root[data-theme="dark"] body.portal3-home .portal3-learn{
  background:linear-gradient(180deg, #122238, #101f33 46%);
  border-color:var(--portal3-line-2);
}

:root[data-theme="dark"] body.portal3-home .portal3-mini,
:root[data-theme="dark"] body.portal3-home .portal3-job-mini,
:root[data-theme="dark"] body.portal3-home .portal3-news-list a:not(.more-news){
  border-bottom-color:var(--portal3-line);
}

:root[data-theme="dark"] body.portal3-home .portal3-mini:hover,
:root[data-theme="dark"] body.portal3-home .portal3-mini:focus-visible{
  background:#142742;
}

:root[data-theme="dark"] body.portal3-home .portal3-quick a,
:root[data-theme="dark"] body.portal3-home .portal3-panel-head > a,
:root[data-theme="dark"] body.portal3-home .portal3-section-head > a,
:root[data-theme="dark"] body.portal3-home .portal3-section-more,
:root[data-theme="dark"] body.portal3-home .more-news,
:root[data-theme="dark"] body.portal3-home .portal3-chips a,
:root[data-theme="dark"] body.portal3-home .portal3-section-buttons a:last-child,
:root[data-theme="dark"] body.portal3-home .portal3-fallback-actions a,
:root[data-theme="dark"] body.portal3-home .portal3-phrase button{
  border-color:var(--portal3-line-2);
  background:var(--portal3-chip-bg);
  color:var(--portal3-blue);
  box-shadow:none;
}

:root[data-theme="dark"] body.portal3-home .portal3-panel-head > a:hover,
:root[data-theme="dark"] body.portal3-home .portal3-section-head > a:hover,
:root[data-theme="dark"] body.portal3-home .portal3-section-more:hover,
:root[data-theme="dark"] body.portal3-home .more-news:hover,
:root[data-theme="dark"] body.portal3-home .portal3-chips a:hover,
:root[data-theme="dark"] body.portal3-home .portal3-fallback-actions a:hover{
  border-color:rgba(103,183,255,.62);
  background:rgba(103,183,255,.14);
}

:root[data-theme="dark"] body.portal3-home .portal3-section-buttons a:first-child,
:root[data-theme="dark"] body.portal3-home .portal3-chips .chip-primary,
:root[data-theme="dark"] body.portal3-home .portal3-fallback-actions a:first-child{
  border-color:var(--portal3-blue);
  background:var(--portal3-blue);
  color:#061321;
}

:root[data-theme="dark"] body.portal3-home .portal3-thumb,
:root[data-theme="dark"] body.portal3-home .portal3-card-img,
:root[data-theme="dark"] body.portal3-home .event-img,
:root[data-theme="dark"] body.portal3-home .portal3-job-icon{
  border-color:var(--portal3-line);
  background:#0d1a2b;
  color:var(--portal3-blue);
}

:root[data-theme="dark"] body.portal3-home .portal3-mini em,
:root[data-theme="dark"] body.portal3-home .portal3-community-mini em,
:root[data-theme="dark"] body.portal3-home .portal3-card em,
:root[data-theme="dark"] body.portal3-home .portal3-job-card em,
:root[data-theme="dark"] body.portal3-home .portal3-event-card em,
:root[data-theme="dark"] body.portal3-home .portal3-phrase span{
  border-color:var(--portal3-line);
  background:rgba(103,183,255,.14);
  color:var(--portal3-blue);
}

:root[data-theme="dark"] body.portal3-home .portal3-emergency{
  border-color:rgba(255,125,139,.44);
  background:linear-gradient(180deg, rgba(97,31,43,.72), #101f33);
  color:var(--portal3-text);
}

:root[data-theme="dark"] body.portal3-home .portal3-emergency strong{
  color:#ff8d9a;
}

:root[data-theme="dark"] body.portal3-home .portal3-emergency p{
  color:#f2bdc5;
}

/* Home information hierarchy */

.portal3-section-head > a,
.portal3-section-more,
.portal3-section-buttons a,
.portal3-chips a{
  min-height:44px;
}

.portal3-section-buttons a{
  transition:background-color .16s ease, border-color .16s ease, color .16s ease, box-shadow .16s ease, transform .16s ease;
}

.portal3-section-buttons a:hover{
  box-shadow:0 5px 14px rgba(0,45,95,.13);
  transform:translateY(-1px);
}

.portal3-section-buttons a:active{
  transform:translateY(0);
}

.portal3-section-buttons a:focus-visible,
.portal3-chips a:focus-visible,
.portal3-section-more:focus-visible{
  outline:3px solid rgba(13,96,189,.28);
  outline-offset:3px;
}

.portal3-card-row,
.portal3-job-row,
.portal3-learn-row,
.portal3-event-row{
  align-items:stretch;
}

.portal3-card,
.portal3-job-card,
.portal3-event-card{
  height:100%;
  transition:border-color .16s ease, box-shadow .16s ease, transform .16s ease;
}

.portal3-card:hover,
.portal3-job-card:hover,
.portal3-event-card:hover{
  border-color:#8bb8e8;
  box-shadow:0 8px 20px rgba(0,45,95,.12);
  transform:translateY(-2px);
}

.portal3-card:active,
.portal3-job-card:active,
.portal3-event-card:active{
  transform:translateY(0);
}

.portal3-card:focus-visible,
.portal3-job-card:focus-visible,
.portal3-event-card:focus-visible{
  outline:3px solid rgba(13,96,189,.30);
  outline-offset:3px;
}

.portal3-card-img{
  height:90px;
}

.portal3-card strong,
.portal3-event-card strong{
  display:-webkit-box;
  min-height:2.7em;
  overflow:hidden;
  -webkit-box-orient:vertical;
  -webkit-line-clamp:2;
}

.portal3-community .portal3-card strong{
  font-size:15px;
}

.portal3-card-badges{
  position:absolute;
  inset:7px;
  z-index:2;
  display:flex;
  align-items:flex-start;
  justify-content:space-between;
  gap:8px;
  width:auto;
  height:auto;
  pointer-events:none;
}

.portal3-card .portal3-card-badges em,
.portal3-card .portal3-card-badges b{
  position:static;
  display:inline-flex;
  align-items:center;
  max-width:calc(50% - 4px);
  min-height:25px;
  margin:0;
  padding:3px 8px;
  border:1px solid rgba(255,255,255,.78);
  border-radius:999px;
  background:rgba(0,43,87,.88);
  box-shadow:0 2px 8px rgba(0,25,60,.18);
  color:#fff;
  font-size:10px;
  font-style:normal;
  font-weight:800;
  line-height:1.2;
  overflow:hidden;
  text-overflow:ellipsis;
  white-space:nowrap;
}

.portal3-card .portal3-card-badges b{
  margin-left:auto;
  background:rgba(255,255,255,.94);
  border-color:rgba(0,43,87,.16);
  color:#173e68;
}

.portal3-fallback-card{
  grid-column:1 / -1;
}

.portal3-job-card{
  display:flex;
  flex-direction:column;
  min-height:164px;
}

.portal3-job-card strong{
  display:-webkit-box;
  min-height:2.7em;
  overflow:hidden;
  -webkit-box-orient:vertical;
  -webkit-line-clamp:2;
}

.portal3-job-card b{
  margin-top:auto;
  padding-top:12px;
  color:#0d60bd;
  font-size:16px;
}

.portal3-job-card em{
  align-self:flex-start;
  margin-top:8px;
}

.portal3-trust-note-after{
  max-width:none;
  margin:12px 0 0;
  border-left:0;
  padding:0;
  color:var(--portal3-muted);
  font-size:11px;
  font-weight:600;
}

.portal3-news-grid{
  grid-template-columns:minmax(0,1fr) minmax(0,1fr);
}

.portal3-news-list{
  display:flex;
  flex-direction:column;
  min-height:100%;
}

.portal3-news-list a:not(.more-news){
  flex:1 1 0;
  align-items:center;
  min-height:62px;
}

:root[data-theme="dark"] body.portal3-home .portal3-card .portal3-card-badges em{
  border-color:rgba(255,255,255,.34);
  background:rgba(4,18,35,.9);
  color:#fff;
}

:root[data-theme="dark"] body.portal3-home .portal3-card .portal3-card-badges b{
  border-color:rgba(148,196,241,.42);
  background:rgba(15,35,58,.94);
  color:#cbe5ff;
}

@media (max-width:920px){
  .portal3-section-head--with-navigation{
    flex-direction:column;
    align-items:flex-start;
  }

  .portal3-section-navigation{
    justify-content:flex-start;
  }

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

  .portal3-event-row{
    grid-template-columns:repeat(3, minmax(0,1fr));
  }
}

@media (max-width:720px){
  .portal3-section-buttons{
    flex-wrap:wrap;
  }

  .portal3-event-row{
    grid-template-columns:1fr;
  }
}

@media (max-width:480px){
  .portal3-chips{
    flex-wrap:wrap;
    overflow-x:visible;
    padding-bottom:0;
  }

  .portal3-chips a{
    flex:1 1 auto;
  }

  .portal3-section-buttons a{
    min-width:min(100%, 132px);
  }
}
