@import url('/styles/common.css');

html, body {
  color: #ffffff;
  line-height: 1.5;
  font-family: "Reddit sans", sans-serif;
  font-optical-sizing: auto;
  font-weight: 300;
  font-style: normal;
  font-size: 1.05em;
  background: rgb(106,106,106);
  background: linear-gradient(308deg, rgba(106,106,106,1) 0%, rgba(24,24,24,1) 52%, rgba(73,73,73,1) 100%);
  background-attachment: fixed;
}

/* SVG color control using CSS variables */
img[src$=".svg"].white-icon {
  filter: brightness(0) saturate(100%) invert(100%);
}

/* Colors only */
.yjblue {
  color:#000 !important; 
  background-color: var(--yj-blue) !important
}
.yjyellow {
  color:#000 !important; 
  background-color: var(--yj-yellow) !important
}
#btnHome {
  color:#000000 !important;
  background-color: var(--yj-blue) !important
}
#btnHome:hover {
  color:#000000 !important;
  background-color:#ffff00ff !important
}
.yj-div-main-content {
  background-color: #00000000;
}
.yj-div-1 { /* Q-bert purple squares. Not bad for readability. */
  background-color: #7f00ffff;
  background-image: linear-gradient(30deg, #6f00de 12%, transparent 12.5%, transparent 87%, #6f00de 87.5%, #6f00de),
  linear-gradient(150deg, #6f00de 12%, transparent 12.5%, transparent 87%, #6f00de 87.5%, #6f00de),
  linear-gradient(30deg, #6f00de 12%, transparent 12.5%, transparent 87%, #6f00de 87.5%, #6f00de),
  linear-gradient(150deg, #6f00de 12%, transparent 12.5%, transparent 87%, #6f00de 87.5%, #6f00de),
  linear-gradient(60deg, #6b02d4 25%, transparent 25.5%, transparent 75%, #6b02d4 75%, #6b02d4),
  linear-gradient(60deg, #6b02d4 25%, transparent 25.5%, transparent 75%, #6b02d4 75%, #6b02d4);
  background-size:80px 140px;
  background-position: 0 0, 0 0, 40px 70px, 40px 70px, 0 0, 40px 70px;
}
.yj-div-2 { /* Dark blue columns with square donut holes. Pretty good for readability. */
  color: #ffffff;
  --u: 10px;
  --c1: #000077;
  --c2: #000055;
  --c3: #000033;
  --gp: 50%/ calc(var(--u) * 16.9) calc(var(--u) * 12.8);
  background:
    conic-gradient(from 122deg at 50% 85.15%, var(--c2) 0 58deg, var(--c3) 0 116deg, #fff0 0 100%) var(--gp),
    conic-gradient(from 122deg at 50% 72.5%, var(--c1) 0 116deg, #fff0 0 100%) var(--gp),
    conic-gradient(from 58deg at 82.85% 50%, var(--c3) 0 64deg, #fff0 0 100%) var(--gp),
    conic-gradient(from 58deg at 66.87% 50%, var(--c1) 0 64deg, var(--c2) 0 130deg, #fff0 0 100%) var(--gp),
    conic-gradient(from 238deg at 17.15% 50%, var(--c2) 0 64deg, #fff0 0 100%) var(--gp),
    conic-gradient(from 172deg at 33.13% 50%, var(--c3) 0 66deg, var(--c1) 0 130deg, #fff0 0 100%) var(--gp),
    linear-gradient(98deg, var(--c3) 0 15%, #fff0 calc(15% + 1px) 100%) var(--gp),
    linear-gradient(-98deg, var(--c2) 0 15%, #fff0 calc(15% + 1px) 100%) var(--gp),
    conic-gradient(from -58deg at 50.25% 14.85%, var(--c3) 0 58deg, var(--c2) 0 116deg, #fff0 0 100%) var(--gp),
    conic-gradient(from -58deg at 50% 28.125%, var(--c1) 0 116deg, #fff0 0 100%) var(--gp),
    linear-gradient(90deg, var(--c2) 0 50%, var(--c3) 0 100%) var(--gp);
}
.yj-div-3 { /* Rainbow. Cool effect, but not good for contrast */
  color: #ffffff;
  background-color: #ffff00ff;
  background:
  radial-gradient(rgba(0,0,100,0) 0, rgba(0,0,100,.15) 30%, rgba(0,0,100,.1) 32%, rgba(0,0,100,0) 33%) 0 0,
  radial-gradient(rgba(0,0,100,0) 0, rgba(0,0,100,.1) 11%, rgba(0,0,100,.1) 13%, rgba(0,0,100,0) 14%) 0 0,
  radial-gradient(rgba(0,0,100,0) 0, rgba(0,0,100,.1) 17%, rgba(0,0,100,.1) 19%, rgba(0,0,100,0) 20%) 0 110px,
  radial-gradient(rgba(0,0,100,0) 0, rgba(0,0,100,.1) 11%, rgba(0,0,100,.1) 13%, rgba(0,0,100,0) 14%) -130px -170px,
  radial-gradient(rgba(0,0,100,0) 0, rgba(0,0,100,.1) 11%, rgba(0,0,100,.1) 13%, rgba(0,0,100,0) 14%) 130px 370px,
  radial-gradient(rgba(0,0,100,0) 0, rgba(0,0,100,.1) 11%, rgba(0,0,100,.1) 13%, rgba(0,0,100,0) 14%) 0 0,
  linear-gradient(45deg, #343702 0%, #184500 20%, #187546 30%, #006782 40%, #0b1284 50%, #760ea1 60%, #83096e 70%, #840b2a 80%, #b13e12 90%, #e27412 100%);
  background-size: 470px 470px, 970px 970px, 410px 410px, 610px 610px, 530px 530px, 730px 730px, 100% 100%;
  background-color: #840b2a;
}
.yj-div-4 { /* Purple square columns - mixed on contrast readability*/
  color: #ffffff;
  --s: 82px; /* control the size */
  --c1: #330033;
  --c2: #440044;
  --c3: #550055;

  --_g: var(--c3) 0 120deg,#0000 0;
  background:
    conic-gradient(from -60deg at 50% calc(100%/3),var(--_g)),
    conic-gradient(from 120deg at 50% calc(200%/3),var(--_g)),
    conic-gradient(from  60deg at calc(200%/3),var(--c3) 60deg,var(--c2) 0 120deg,#0000 0),
    conic-gradient(from 180deg at calc(100%/3),var(--c1) 60deg,var(--_g)),
    linear-gradient(90deg,var(--c1)   calc(100%/6),var(--c2) 0 50%,
                          var(--c1) 0 calc(500%/6),var(--c2) 0);
  background-size: calc(1.732*var(--s)) var(--s);
}
.yj-div-5 { /* Dark blue argyle - possibly best for contrast */
  color: #ffffff;
  background-color: #000080;
  background-image:
  repeating-linear-gradient(120deg, rgba(255,255,255,.1), rgba(255,255,255,.1) 1px, transparent 1px, transparent 60px),
  repeating-linear-gradient(60deg, rgba(255,255,255,.1), rgba(255,255,255,.1) 1px, transparent 1px, transparent 60px),
  linear-gradient(60deg, rgba(0,0,0,.1) 25%, transparent 25%, transparent 75%, rgba(0,0,0,.1) 75%, rgba(0,0,0,.1)),
  linear-gradient(120deg, rgba(0,0,0,.1) 25%, transparent 25%, transparent 75%, rgba(0,0,0,.1) 75%, rgba(0,0,0,.1));
  background-size: 70px 120px;
}
.yj-div-6 { /* Purple tartan. Not good for readability. */
  color: #ffffff;
  background-color: #4B0082;
  background-image: repeating-linear-gradient(transparent, transparent 50px, rgba(0,0,0,.4) 50px, rgba(0,0,0,.4) 53px, transparent 53px, transparent 63px, rgba(0,0,0,.4) 63px, rgba(0,0,0,.4) 66px, transparent 66px, transparent 116px, rgba(0,0,0,.5) 116px, rgba(0,0,0,.5) 166px, rgba(255,255,255,.2) 166px, rgba(67, 24, 99,.2) 169px, rgba(0,0,0,.5) 169px, rgba(0,0,0,.5) 179px, rgba(67, 24, 99,.2) 179px, rgba(67, 24, 99,.2) 182px, rgba(0,0,0,.5) 182px, rgba(0,0,0,.5) 232px, transparent 232px),
  repeating-linear-gradient(270deg, transparent, transparent 50px, rgba(0,0,0,.4) 50px, rgba(0,0,0,.4) 53px, transparent 53px, transparent 63px, rgba(0,0,0,.4) 63px, rgba(0,0,0,.4) 66px, transparent 66px, transparent 116px, rgba(0,0,0,.5) 116px, rgba(0,0,0,.5) 166px, rgba(67, 24, 99,.2) 166px, rgba(67, 24, 99,.2) 169px, rgba(0,0,0,.5) 169px, rgba(0,0,0,.5) 179px, rgba(67, 24, 99,.2) 179px, rgba(67, 24, 99,.2) 182px, rgba(0,0,0,.5) 182px, rgba(0,0,0,.5) 232px, transparent 232px),
  repeating-linear-gradient(125deg, transparent, transparent 2px, rgba(0,0,0,.2) 2px, rgba(0,0,0,.2) 3px, transparent 3px, transparent 5px, rgba(0,0,0,.2) 5px);
}
.yj-div-8 { /* Solid dark blue */
  color: #ffffff;
  background-color: #000044;
  border-radius: 20px;
}
.yj-signup-button {
  color: #ffffff !important;
  background-color: #0080ffff !important;
  border-radius: 8px;
}
.yj-signup-button:hover {
  background-color: #0000aaff !important;
}
.yj-home-image {
  background-color: #00ffffff;
}
.yj-hover-gray:hover {
   color: #000000ff;
   background-color: #d1d1d1ff;
 }
 .yj-breadcrumbs-inactive:hover {
   background-color: white !important;
 }
 .yj-breadcrumbs-active {
   background-color: white !important;
 }
/* End colors only */

h1, h2, h3, h4, h5, h6 {
    font-family: "Reddit Sans", sans-serif;
    font-weight: 700;
    margin: 10px 0;
}

h1 { font-size: 2.0em; }
h2 { font-size: 1.5em; }
h3 { font-size: 1.2em; }
h4 { font-size: 1.0em; }
h5 { font-size: 0.9em; }
h6 { font-size: .8em; }

.italic { font-style: italic;}

a {
  color: rgb(96, 194, 255);
}

/* a:focus, a:hover {

} */

.w3-hover-theme:hover, .w3-hover-theme:focus {
  /* color: black !important;
  background-color: #ffff48ff !important; */
  font-weight: bold;
}

.yj-breadcrumbs-inactive, .yj-breadcrumbs-active {
  height: 15px !important;
  width: 15px !important;
  padding-left: 0px;
  padding-right: 0px;
}
.yj-badge-no-link, .yj-badge-no-link:hover  {
  cursor: default;
  /* background-color: #ffffff00 !important; */
}

.yj-text-anchor {
  /* border-radius: 25px; */
  padding: 5px;
}

.yj-text-anchor:hover {
  color:#ffff48ff !important;
}

.yj-home-logo-button {
  height: 25px;
  width: 116px;
}
.yj-home-image {
  height: 42px;
}

.yj-square-button:focus, .yj-square-button:hover {
  border-radius: 0px !important;
  padding: 8px 16px !important;
  color: black !important;
}

.yj-square-button:hover {
  background-color:#ffff48ff !important;
}

.yj-div-1, .yj-div-2, .yj-div-3, .yj-div-4, .yj-div-5 {
  border-radius: 20px;
}

.yj-div-gradient {
  background: rgb(255,255,255);
  background: linear-gradient(340deg, rgba(208,255,255,1) 0%, rgba(136,255,255,1) 69%);
  border-radius: 20px;
}

.yj-div-gradient-yellow {
  background: rgb(255,255,199);
  background: linear-gradient(340deg, rgba(255,255,199,1) 0%, rgba(255,255,136,1) 69%);
  border-radius: 20px;
}

.yj-div-gradient-gray {
  background: rgb(212,212,212);
  background: linear-gradient(315deg, rgba(212,212,212,1) 0%, rgba(48,172,189,0.15) 43%, rgba(204,204,204,1) 100%);
  border-radius: 20px;
}

.yj-div-main-content {
  border-radius: 20px;
}

.yj-button-gradient {
  color: white;
  background: rgb(0,255,250);
  background: linear-gradient(225deg, rgba(0,255,250,1) 0%, rgba(0,42,255,1) 18%, rgba(0,29,255,1) 73%, rgba(0,255,250,1) 100%);
}

.yj-button-gradient:hover {
  color: white;
  background: rgb(0,255,250);
  background: linear-gradient(225deg, rgba(0,255,250,1) 0%, rgba(0,42,255,1) 34%, rgba(0,29,255,1) 57%, rgba(0,255,250,1) 100%);
}

.yj-style-chooser {
  padding: 5px;
  border: 3px solid #00000000;
  cursor: pointer;
}

.yj-style-chooser:hover {
  padding: 5px;
  border: 3px solid cyan;
}

.yj-style-chooser-selected {
  border: 3px solid cyan;
  padding: 5px;
  cursor: pointer;
}
.yj-profile-card-header {
  color: #ffffff;
  background: var(--yj-info-header-blue);
  border-radius: 15px 15px 4px 4px;
  font-family: 'Reddit Sans', sans-serif;
  font-weight: 600;
  text-align: center;
}
.yj-profile-card-body {
  color: #ffffff;
  background: var(--yj-info-blue);
}

.yj-info-row {
  color: #ffef92;
  font-size: 0.85em;
  font-style: italic;
}

/* Profile page layout - moved from inline styles */
/* Applied when body has yj-profile-page class */
body.yj-profile-page #templateLeftPanel,
body.yj-profile-page #templateRightPanel {
  width: 10% !important;
}
body.yj-profile-page #mainContent {
  width: 80% !important;
}
@media (max-width: 1300px) {
  body.yj-profile-page #templateLeftPanel,
  body.yj-profile-page #templateRightPanel {
    width: 0% !important;
  }
  body.yj-profile-page #mainContent {
    width: 100% !important;
  }
}

.youtube-video {
  aspect-ratio: 16 / 9;
  width: 100%;
}

#oneTopic, #manyTopics {
  cursor: pointer;
}

#oneTopic:hover, #manyTopics:hover {
  color: cyan;
}

#trackingMessagePanel {
  background: rgb(0,0,0);
  background: linear-gradient(180deg, rgba(0,0,0,1) 0%, rgba(40,40,40,1) 100%);
}

#hiddenUploadButton, #file_photo {
  position: absolute;
  top: -1000px;
  left: -1000px;
}

#visibleUploadButton {
  margin: 44px;
}

#uploadDiv {
  border-radius: 20px;
  border-style: dashed;
  /* padding: 15%; */
  border-color: white;
  cursor: pointer;
  min-height: 140px;
}

#uploadDiv:hover {
  border-color: #4000ff;
}

#pSection {
  margin-bottom: 0px;
}

footer {
  color: white !important;
  background: rgb(0,0,0);
  background: linear-gradient(180deg, rgba(0,0,0,1) 0%, rgba(40,40,40,1) 100%);
  position: relative;
  width: 100%;
}
.yj-page-footer {
  position: relative;
}
.yj-main-menu-item:hover, .yj-main-menu-item:focus  {
  border-radius: 0px;
}
.yj-md-icon-control {
  font-size: 24px !important;
}
.yj-md-profile-icon {
  color: white;
  vertical-align: bottom;
}
.yj-green-icon {
  color: green;
}
.yj-red-icon {
  color: red;
}
.yj-red-icon:hover {
  color: red;
}
.yj-input-optional{
  font-style: italic;
  color: #AAAAAA;
  font-size: 0.80rem !important;
  display: inline-block;
  margin-left: 3px;
}
.yj-input-optional::before{
    content: "\a";
    white-space: pre;
}
.yj-side-menu-item {
  color: white;
  background-color: black;
  font-size: 24px !important;
}

/* For gallery slide show */
.gallerySlides {display:none}
.yj-gallery-button{
  background-color: var(--yj-blue);
  border-radius: 5px;
  color: black;
}

.yj-card {
  box-shadow: none;
}

.yj-image {
  border-radius: 20px;
}

.yj-main-icon {
  vertical-align: text-top;
}

.yj-helpdivtext{
  font-style: italic;
  color:white;
}

@media (max-width:1440px){
  .yj-definition-wrapper {
    padding:40px 32px 0px 0px;
  }
  .yj-definition {
    padding:0px 32px 0px 32px;
  }
}
@media (max-width:1024px){
  .yj-definition-wrapper {
    padding:40px 32px 0px 0px;
  }
  .yj-div-main-content {
    margin: 70px 0px 30px 0px;
    width: 100% !important;
  }
}
@media (max-width:600px){
  .yj-definition-wrapper {
    padding:40px 0px 0px 0px;
  }
  .yj-definition {
    padding:0px 32px 0px 32px;
  }
  .yj-no-margins{
    padding-left: 0px !important;
    padding-right: 0px !important;
    margin: 0px !important;
  }
  html, body {
    font-size: 1.1em !important;
  }
  .yj-menu-small-screen {
    display:block;
  }
  .yj-menu-big-screen {
    display:none;
  }
  #btnHome {
    height: 52px;
  }
  .yj-card {
    padding: 4px 4px !important;
  }
  .w3-container {
    padding: 4px 4px !important;
  }
  .yj-home-image {
    height: 52px;
  }
  .yj-div-1, .yj-div-2, .yj-div-3 {
    padding-left: 15px !important;
    padding-right: 15px !important;
  }
  footer {
    font-size: 0.65em !important;
  }
}
@media (min-width:599px){
  .yj-menu-small-screen {
    display:none;
  }
  .yj-menu-big-screen {
    display:block;
  }
  .yj-div-1, .yj-div-2, .yj-div-3 {
    padding-left: 25px !important;
    padding-right: 25px !important;
  }
}
@media (min-width:1440px){
  .yj-definition-wrapper {
    padding:50px 0px 0px 0px;
  }
  .yj-definition {
    padding:0px 100px 0px 32px;
  }
}
@media (min-width:1800px){
  .yj-definition-wrapper {
    padding:50px 0px 0px 0px;
  }
  .yj-definition {
    padding:0px 100px 0px 32px;
  }
}
@media (min-width:1921px){
  .yj-hide-except-huge {
    display:block;
  }
}
@media (max-width:1920px){
  .yj-hide-except-huge {
    display:none;
  }
}
.yj-tracking-button {
  background-color: #0a4afeff;
  color: white;
  margin: 2px 2px 2px 2px;
  border-radius: 10px;
}
.yj-tracking-button:hover, .yj-button:hover {
  color: black !important;
  background-color: #143db8ff !important;
}
.yj-button-negative-action {
  color: white !important;
  background-color: #c62828 !important;
  padding: 8px 16px !important;
}
.yj-button-negative-action:hover {
  color: white !important;
  background-color: #b71c1c !important;
}
.yj-button-negative-action .material-icons {
  vertical-align: middle;
  margin-right: 6px;
}
.yj-button-negative-action .yj-button-text {
  vertical-align: middle;
}

/* For gallery slide show */
.gallerySlides {display:none}
.w3-left, .w3-right, .w3-breadcrumbs {cursor:pointer}
.w3-breadcrumbs {height:25px;width:25px;padding:0}
.yj-button-text {font-size: 1.5em;}

.yj-signup-button {
  font-size: 1.1em !important;
  font-weight: 600;
}
.yj-signup-button:hover {
  box-shadow: none;
}

.yj-website-bullet-icon {
  vertical-align: middle;
}

.yj-image-link-shadow:hover {
  box-shadow: 10px 10px 5px gray;
}

.yj-no-box-shadow {
  box-shadow: none;
}

.yj-textcounter {
  color: #333333;
  background: #AAAAAA;
  width: 25%;
  font-style: italic;
  font-size: 0.8em !important;
}

/* For email and password inputs */

h2 {
  border-bottom: 1px solid #ccc;
  margin: 0 0 20px 0;
  padding: 0 0 5px 0;
}

form section {
  margin: 0 0 20px 0;
  position: relative; /* for password toggle positioning */
}

input[type=email]:not(:focus):invalid,
input[type=password]:not(:focus):invalid {
  color: red;
  outline-color: red;
}

button#toggle-password {
  background: none;
  border: none;
  cursor: pointer;
  font-weight: 300;
  padding: 0;
  position: absolute;
  bottom: 4px;
  right: -2px;
  font-size:0.8rem;
}

button#togglePasswordMain {
  background: none;
  border: none;
  outline: none;
  cursor: pointer;
  font-weight: 300;
  padding: 0;
  position: absolute;
  top: -10px;
  right: 15px;
  font-size:36px !important;
}

#createAccountForm #toggle-password {
  right: 8px;
}

label{
  font-weight: 600;
}

div#password-constraints {
  margin: 5px 0 0 0;
  font-size: 16px;
}

.headerRow {
  font-weight: bold;
}

.expiredRow {
  color: yellow;
  background-color: red;
}

.editDiv {
  cursor: pointer;
}

.editDiv:hover {
  color: blue;
  background-color: #ffffb0;
}

#editable_photo  img {
  width: 200px;
  margin-bottom: 10px;
  vertical-align: middle;
}

#file_photo {
  font-size: 0.8rem;
}
#quillContent {height: 200px;}

/* Spinner from https://10015.io/tools/css-loader-generator */
.spinner {
   position: absolute;
   top: 25%;
   left: 50%;
   transform: translate(-50%, -50%);
   width: 20.2px;
   height: 20.2px;
   display: none;
}

.spinner div {
   animation: spinner-4t3wzl 2.25s infinite backwards;
   background-color: #41c9ff;
   border-radius: 50%;
   height: 100%;
   position: absolute;
   width: 100%;
}

.spinner div:nth-child(1) {
   animation-delay: 0.18s;
   background-color: rgba(65,201,255,0.9);
}

.spinner div:nth-child(2) {
   animation-delay: 0.36s;
   background-color: rgba(65,201,255,0.8);
}

.spinner div:nth-child(3) {
   animation-delay: 0.54s;
   background-color: rgba(65,201,255,0.7);
}

.spinner div:nth-child(4) {
   animation-delay: 0.72s;
   background-color: rgba(65,201,255,0.6);
}

.spinner div:nth-child(5) {
   animation-delay: 0.8999999999999999s;
   background-color: rgba(65,201,255,0.5);
}

@keyframes spinner-4t3wzl {
   0% {
      transform: rotate(0deg) translateY(-200%);
   }

   60%, 100% {
      transform: rotate(360deg) translateY(-200%);
   }
}

/* --- Authenticated start page (start_page.py): chips + layout --- */
.w3-row:has(> #mainContent.yj-start-main-col) > #templateLeftPanel,
.w3-row:has(> #mainContent.yj-start-main-col) > #templateRightPanel {
  display: none !important;
}
#mainContent.yj-start-main-col {
  float: none !important;
  display: block !important;
  width: 100% !important;
  max-width: 42rem;
  margin-left: auto !important;
  margin-right: auto !important;
  padding: 0.5rem 1rem 2.5rem !important;
  box-sizing: border-box;
}
.yj-start-shell {
  padding: 1rem 0.5rem 2rem !important;
  border-radius: 20px;
}
.yj-start-wrap {
  display: flex;
  flex-direction: column;
  gap: 1.75rem;
}
.yj-start-hero {
  padding: 0.25rem 0 0.5rem;
  border-bottom: 1px solid rgba(255, 255, 255, 0.12);
}
.yj-start-lead {
  margin: 0 0 1rem 0;
  font-size: 0.95rem;
  line-height: 1.45;
  opacity: 0.92;
}
.yj-start-hero-actions {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  gap: 0.65rem 1rem;
}
.yj-start-pill {
  display: inline-block;
  padding: 0.35rem 0.75rem !important;
  border-radius: 999px;
  background: rgba(255, 255, 255, 0.08);
}
.yj-start-hero-btn .yj-button-tertiary {
  margin: 0;
}
.yj-start-section {
  margin: 0;
}
.yj-start-section-title {
  font-size: 1.15rem;
  font-weight: 600;
  margin: 0 0 0.65rem 0;
  letter-spacing: 0.02em;
  color: rgba(255, 255, 255, 0.95);
}
.yj-start-section-body {
  margin: 0;
}
.yj-start-card-list {
  display: flex;
  flex-direction: column;
  gap: 0.65rem;
}
.yj-start-card {
  display: flex;
  flex-direction: row;
  align-items: stretch;
  gap: 0.85rem;
  padding: 0.65rem 0.75rem;
  border-radius: 12px;
  background: rgba(255, 255, 255, 0.06);
  border: 1px solid rgba(255, 255, 255, 0.08);
  text-decoration: none !important;
  color: inherit !important;
  transition: background 0.15s ease, border-color 0.15s ease;
}
a.yj-start-card:hover,
a.yj-start-card:focus {
  background: rgba(255, 255, 255, 0.11);
  border-color: rgba(96, 194, 255, 0.35);
}
/* Thumbnail chips: fixed box; image never exceeds it (use DB thumbnails + object-fit) */
.yj-start-media {
  flex: 0 0 3.25rem;
  width: 3.25rem;
  height: 3.25rem;
  min-width: 3.25rem;
  min-height: 3.25rem;
  border-radius: 10px;
  overflow: hidden;
  background: rgba(0, 0, 0, 0.35);
  position: relative;
}
img.yj-start-chip-img {
  display: block;
  width: 100% !important;
  height: 100% !important;
  max-width: 100% !important;
  max-height: 100% !important;
  object-fit: cover;
  object-position: center;
}
.yj-start-media-ph {
  display: flex;
  align-items: center;
  justify-content: center;
  font-size: 1.1rem;
  font-weight: 700;
  color: rgba(255, 255, 255, 0.55);
}
.yj-start-card-text {
  flex: 1 1 auto;
  min-width: 0;
  display: flex;
  flex-direction: column;
  gap: 0.2rem;
  text-align: left;
}
.yj-start-card-headline {
  display: flex;
  flex-wrap: wrap;
  align-items: baseline;
  gap: 0.35rem 0.5rem;
}
.yj-start-card-title {
  font-weight: 600;
  font-size: 0.98rem;
  line-height: 1.35;
  color: #fff;
}
.yj-start-type-pill {
  display: inline-block;
  flex-shrink: 0;
  font-size: 0.65rem;
  font-weight: 600;
  text-transform: uppercase;
  letter-spacing: 0.06em;
  padding: 0.12rem 0.45rem;
  border-radius: 999px;
  vertical-align: middle;
}
.yj-start-type-pill-event {
  background: rgba(180, 120, 255, 0.25);
  color: rgba(230, 210, 255, 0.95);
  border: 1px solid rgba(180, 120, 255, 0.35);
}
.yj-start-type-pill-link {
  background: rgba(96, 194, 255, 0.18);
  color: rgba(200, 235, 255, 0.95);
  border: 1px solid rgba(96, 194, 255, 0.3);
}
.yj-start-card-kicker {
  font-size: 0.78rem;
  color: rgba(255, 255, 255, 0.55);
  text-transform: uppercase;
  letter-spacing: 0.04em;
}
.yj-start-card-meta {
  font-size: 0.82rem;
  opacity: 0.8;
}
.yj-start-card-snippet {
  font-size: 0.88rem;
  line-height: 1.4;
  opacity: 0.88;
  display: -webkit-box;
  -webkit-line-clamp: 2;
  -webkit-box-orient: vertical;
  overflow: hidden;
}
.yj-start-own-tag {
  display: inline-block;
  margin-left: 0.35rem;
  font-size: 0.7rem;
  vertical-align: middle;
  padding: 0.1rem 0.4rem;
  border-radius: 4px;
  background: rgba(96, 194, 255, 0.2);
  color: rgba(255, 255, 255, 0.9);
}
.yj-start-tiles {
  display: grid;
  grid-template-columns: repeat(2, 1fr);
  gap: 0.6rem;
}
@media (min-width: 600px) {
  .yj-start-tiles {
    grid-template-columns: repeat(3, 1fr);
  }
}
@media (min-width: 992px) {
  .yj-start-tiles {
    grid-template-columns: repeat(4, 1fr);
  }
}
.yj-start-tile {
  display: flex;
  flex-direction: column;
  border-radius: 10px;
  overflow: hidden;
  background: rgba(0, 0, 0, 0.35);
  text-decoration: none !important;
  color: inherit !important;
  border: 1px solid rgba(255, 255, 255, 0.08);
  transition: background 0.15s ease, border-color 0.15s ease, box-shadow 0.15s ease;
}
a.yj-start-tile:hover,
a.yj-start-tile:focus {
  background: rgba(255, 255, 255, 0.08);
  border-color: rgba(96, 194, 255, 0.35);
  box-shadow: 0 4px 14px rgba(0, 0, 0, 0.25);
}
a.yj-start-tile:focus {
  outline: none;
}
.yj-start-tile-fig {
  display: block;
  width: 100%;
  height: 4.5rem;
  max-height: 5rem;
  overflow: hidden;
  background: rgba(0, 0, 0, 0.4);
}
.yj-start-tile-fig img.yj-start-chip-img {
  display: block;
  width: 100% !important;
  height: 100% !important;
  max-width: 100% !important;
  max-height: 100% !important;
  object-fit: cover;
  object-position: center;
  transition: transform 0.2s ease;
}
a.yj-start-tile:hover .yj-start-tile-fig img.yj-start-chip-img,
a.yj-start-tile:focus .yj-start-tile-fig img.yj-start-chip-img {
  transform: scale(1.05);
}
.yj-start-tile-fig-ph {
  display: flex;
  align-items: center;
  justify-content: center;
  width: 100%;
  height: 4.5rem;
  font-size: 1.2rem;
  font-weight: 700;
  color: rgba(255, 255, 255, 0.45);
}
.yj-start-tile-cap {
  display: block;
  font-size: 0.75rem;
  padding: 0.35rem 0.45rem;
  opacity: 0.85;
  white-space: nowrap;
  overflow: hidden;
  text-overflow: ellipsis;
}
.yj-start-stat {
  padding: 1rem 1.1rem;
  border-radius: 12px;
  background: rgba(255, 255, 255, 0.07);
  border: 1px solid rgba(255, 255, 255, 0.1);
  text-align: center;
}
.yj-start-stat-value {
  display: block;
  font-size: 1.75rem;
  font-weight: 700;
  line-height: 1.2;
}
.yj-start-stat-label {
  display: block;
  font-size: 0.82rem;
  margin-top: 0.35rem;
  opacity: 0.85;
}
.yj-start-site-links .yj-text-anchor {
  padding: 0 0.15rem;
}
.yj-start-site:not(a) {
  cursor: default;
}
@media (min-width: 992px) {
  #mainContent.yj-start-main-col .w3-cell.w3-left-align {
    text-align: center;
  }
  #mainContent.yj-start-main-col .yj-start-hero-actions {
    justify-content: center;
  }
  #mainContent.yj-start-main-col .yj-start-section-title {
    text-align: center;
  }
  #mainContent.yj-start-main-col .yj-start-tiles {
    margin-left: auto;
    margin-right: auto;
    max-width: 52rem;
  }
  #mainContent.yj-start-main-col .yj-start-card,
  #mainContent.yj-start-main-col .yj-start-card .yj-start-card-text,
  #mainContent.yj-start-main-col .yj-start-site .yj-start-card-text,
  #mainContent.yj-start-main-col a.yj-start-tile {
    text-align: left;
  }
  #mainContent.yj-start-main-col a.yj-start-tile .yj-start-tile-cap {
    text-align: left;
  }
}
@media (max-width: 520px) {
  .yj-start-media {
    flex-basis: 2.75rem;
    width: 2.75rem;
    height: 2.75rem;
    min-width: 2.75rem;
    min-height: 2.75rem;
  }
  .yj-start-card {
    padding: 0.5rem 0.55rem;
    gap: 0.65rem;
  }
  .yj-start-tile-fig {
    height: 4rem;
    max-height: 4rem;
  }
}
