/* TheoryCampus authentication presentation. */
body.tc-auth-bootstrap .tc-auth-page .tc-auth-shell{visibility:hidden;opacity:0}
body.tc-auth-bootstrap .tc-auth-page.tc-auth-ready .tc-auth-shell{visibility:visible;opacity:1;transition:opacity .18s ease}
body.tc-auth-bootstrap .tc-brand__mark{display:none!important}

.tc-auth-page.tc-auth-campus{
  --tc-auth-red:#e31b23;
  --tc-auth-red-dark:#bd1118;
  --tc-auth-black:#171717;
  position:relative;
  min-height:100vh;
  padding:0!important;
  overflow:hidden;
  background:#f4f4f4;
  color:var(--tc-auth-black);
  isolation:isolate;
}
/* Use the supplied artwork itself as the page background. The image layer is
   exactly 30% opaque. No white wash/gradient is placed over it. */
.tc-auth-campus:before{
  content:"";
  position:absolute;
  inset:0;
  min-height:100%;
  z-index:0;
  pointer-events:none;
  background-image:var(--tc-auth-hero-desktop,none);
  background-size:cover;
  background-position:center top;
  background-repeat:no-repeat;
  opacity:.30;
}
.tc-auth-campus:after{display:none!important;content:none!important}
.tc-auth-campus .tc-auth-martial,.tc-auth-campus .tc-auth-footer,.tc-auth-campus .tc-auth-benefits,.tc-auth-campus .tc-brand__mark{display:none!important}

.tc-auth-campus .tc-auth-shell{
  position:relative;
  z-index:3;
  width:min(1160px,calc(100% - 48px));
  margin:0 auto;
  padding:52px 0 82px;
  display:grid;
  grid-template-columns:minmax(300px,.88fr) minmax(470px,1.12fr);
  gap:42px;
  align-items:start;
  background:transparent;
  border:0;
  box-shadow:none;
}
.tc-auth-campus .tc-auth-brand{
  min-height:470px;
  padding:68px 18px 30px;
  display:flex;
  flex-direction:column;
  align-items:center;
  justify-content:flex-start;
  text-align:center;
  position:sticky;
  top:0;
  background:transparent;
  color:var(--tc-auth-black);
}
.tc-auth-campus .tc-auth-brand-logo{
  display:block;
  width:min(410px,100%);
  margin:0;
  font-size:0!important;
  line-height:0!important;
}
.tc-auth-campus .tc-auth-brand-logo img{
  display:block;
  width:100%;
  height:auto;
  object-fit:contain;
  filter:drop-shadow(0 5px 15px rgba(0,0,0,.05));
}
.tc-auth-campus .tc-auth-brand.has-full-logo>p,.tc-auth-campus .tc-auth-brand.has-full-logo:after{display:none!important}

.tc-auth-campus .tc-auth-card{
  position:relative;
  z-index:4;
  padding:40px 42px 44px;
  border:1px solid rgba(26,26,26,.09);
  border-radius:22px;
  background:rgba(255,255,255,.96);
  box-shadow:0 22px 60px rgba(0,0,0,.11);
  backdrop-filter:blur(12px);
}
.tc-auth-campus .tc-auth-card>.tc-eyebrow{
  display:inline-block;
  font-family:"New Amsterdam",Arial,sans-serif;
  font-size:25px;
  line-height:1;
  color:var(--tc-auth-red);
  letter-spacing:.04em;
}
.tc-auth-campus .tc-auth-card>.tc-eyebrow:after{
  content:"";
  display:block;
  width:34px;
  height:4px;
  margin-top:9px;
  border-radius:99px;
  background:var(--tc-auth-red);
}
.tc-auth-campus .tc-auth-card h1{margin:17px 0 9px;font-size:46px;color:var(--tc-auth-black)}
.tc-auth-campus .tc-auth-card>p{margin:0 0 26px;color:#5b5758;font-size:15px}
.tc-auth-campus .tc-auth-card form{display:grid;grid-template-columns:1fr 1fr;gap:15px 14px}
.tc-auth-campus .tc-auth-card form>label,.tc-auth-campus .tc-auth-card form>.tc-org-result,.tc-auth-campus .tc-auth-card form>button[type="submit"],.tc-auth-campus .tc-auth-card form>.tc-auth-wide{grid-column:1/-1}
.tc-auth-campus .tc-auth-card form>label.tc-auth-field--half{grid-column:auto}
.tc-auth-campus .tc-auth-card form>label.tc-auth-field--wide{grid-column:1/-1}
.tc-auth-campus .tc-auth-card label{display:grid;gap:7px;font-size:13px;font-weight:800;color:var(--tc-auth-black)}
.tc-auth-campus .tc-auth-card input,.tc-auth-campus .tc-auth-card select{
  width:100%;
  min-height:54px;
  padding:13px 15px;
  border:1.5px solid #d6d3d4;
  border-radius:13px;
  background:#fff;
  color:var(--tc-auth-black);
  font-size:15px;
}
.tc-auth-campus .tc-auth-card input:focus,.tc-auth-campus .tc-auth-card select:focus{border-color:var(--tc-auth-red);outline:3px solid rgba(227,27,35,.10)}

.tc-auth-campus .tc-auth-card form>button[type="submit"],
.tc-auth-campus .tc-auth-card .tc-button,
.tc-auth-campus .tc-auth-code-box button{
  min-height:56px;
  border:0!important;
  border-radius:14px!important;
  background:var(--tc-auth-red)!important;
  color:#fff!important;
  font-family:inherit!important;
  font-size:15px!important;
  font-weight:900!important;
  letter-spacing:.035em!important;
  box-shadow:0 9px 20px rgba(227,27,35,.22)!important;
  cursor:pointer;
  transition:transform .16s ease,box-shadow .16s ease,background .16s ease;
}
.tc-auth-campus .tc-auth-card form>button[type="submit"]:hover,
.tc-auth-campus .tc-auth-card .tc-button:hover,
.tc-auth-campus .tc-auth-code-box button:hover{
  background:var(--tc-auth-black)!important;
  transform:translateY(-1px);
  box-shadow:0 10px 22px rgba(0,0,0,.16)!important;
}
.tc-auth-campus .tc-auth-card .tc-button--black{
  background:#fff!important;
  color:var(--tc-auth-black)!important;
  border:1.5px solid #bcb8b9!important;
  box-shadow:none!important;
}
.tc-auth-campus .tc-auth-switch{font-size:14px}
.tc-auth-campus .tc-auth-switch a,.tc-auth-campus .tc-auth-terms a{color:var(--tc-auth-red);font-weight:800}
.tc-auth-campus .tc-auth-notice{border:1px solid #efc8ca;background:#fff0f1;color:#8d171d}
.tc-auth-campus .tc-org-result{border:1px solid #c9e4d1;background:#f0faf3}
.tc-auth-campus .tc-check.tc-auth-terms{display:grid!important;grid-template-columns:auto 1fr!important;align-items:start!important;gap:10px!important;padding:8px 0;font-size:13px;font-weight:600}
.tc-auth-campus .tc-check.tc-auth-terms input{width:18px!important;height:18px;min-height:0;margin-top:2px}
.tc-auth-campus .tc-auth-card [data-tc-org-code],.tc-auth-campus .tc-auth-card [data-tc-find-org],.tc-auth-campus .tc-auth-card label:has([data-tc-org-code]){display:none!important}

.tc-auth-campus .tc-auth-code-step{
  position:relative;
  z-index:4;
  width:min(720px,calc(100% - 36px));
  margin:0 auto;
  padding:54px 20px 108px;
  text-align:center;
}
.tc-auth-campus .tc-auth-code-logo{width:min(430px,72vw);margin:0 auto 30px}
.tc-auth-campus .tc-auth-code-logo img{display:block;width:100%;height:auto;object-fit:contain;filter:drop-shadow(0 5px 16px rgba(0,0,0,.06))}
.tc-auth-campus .tc-auth-code-step h1{font-size:56px;margin:0 0 12px;color:var(--tc-auth-black)}
.tc-auth-campus .tc-auth-code-step h1 span{color:var(--tc-auth-red)}
.tc-auth-campus .tc-auth-code-step>p{max-width:560px;margin:0 auto 26px;color:#595556;font-size:17px}
.tc-auth-campus .tc-auth-code-box{
  display:grid;
  gap:13px;
  padding:25px;
  border-radius:22px;
  background:rgba(255,255,255,.96);
  border:1px solid rgba(26,26,26,.09);
  box-shadow:0 20px 55px rgba(0,0,0,.10);
  backdrop-filter:blur(12px);
}
.tc-auth-campus .tc-auth-code-box input{
  width:100%;
  height:64px;
  padding:0 20px;
  border:1.5px solid #c8c4c5;
  border-radius:14px;
  background:#fff;
  font-size:20px;
  font-weight:700;
  text-align:center;
  text-transform:uppercase;
  letter-spacing:.07em;
  color:var(--tc-auth-black);
}
.tc-auth-campus .tc-auth-code-box input:focus{border-color:var(--tc-auth-red);outline:3px solid rgba(227,27,35,.10)}
.tc-auth-campus .tc-auth-code-message{min-height:19px;color:#9e1b22;font-size:13px;font-weight:800}
.tc-auth-campus .tc-auth-code-links{display:flex;align-items:center;justify-content:center;gap:12px;margin-top:20px}
.tc-auth-campus .tc-auth-code-links a{
  display:inline-flex;
  align-items:center;
  justify-content:center;
  min-width:150px;
  min-height:50px;
  padding:10px 20px;
  border:1.5px solid #bcb8b9;
  border-radius:14px;
  background:rgba(255,255,255,.92);
  color:#242122;
  font-size:13px;
  font-weight:900;
  transition:border-color .16s ease,color .16s ease,transform .16s ease;
}
.tc-auth-campus .tc-auth-code-links a:hover{border-color:var(--tc-auth-red);color:var(--tc-auth-red);transform:translateY(-1px)}
.tc-auth-campus.is-code-step .tc-auth-shell{display:none!important}
.tc-auth-campus:not(.is-code-step) .tc-auth-code-step{display:none}

@media(max-width:900px){
  .tc-auth-campus:before{background-position:center top}
  .tc-auth-campus .tc-auth-shell{width:min(760px,calc(100% - 30px));grid-template-columns:1fr;padding-top:18px;gap:12px}
  .tc-auth-campus .tc-auth-brand{position:relative;min-height:300px;padding:38px 20px 0}
  .tc-auth-campus .tc-auth-brand-logo{width:min(360px,82vw)}
  .tc-auth-campus .tc-auth-card{padding:34px}
}

@media(max-width:620px){
  .tc-auth-page.tc-auth-campus{background:#f4f4f4}
  .tc-auth-campus:before{
    inset:0;
    min-height:100%;
    background-image:var(--tc-auth-hero-mobile,none);
    background-size:cover;
    background-position:center top;
    opacity:.30;
  }
  .tc-auth-campus .tc-auth-shell{width:100%;padding:0 14px 58px;gap:10px}
  .tc-auth-campus .tc-auth-brand{min-height:300px;padding:28px 12px 0}
  .tc-auth-campus .tc-auth-brand-logo{width:min(300px,78vw)}
  .tc-auth-campus .tc-auth-card{padding:27px 20px 29px;border-radius:20px}
  .tc-auth-campus .tc-auth-card h1{font-size:40px}
  .tc-auth-campus .tc-auth-card form{grid-template-columns:1fr;gap:13px}
  .tc-auth-campus .tc-auth-card form>label,.tc-auth-campus .tc-auth-card form>.tc-org-result,.tc-auth-campus .tc-auth-card form>button,.tc-auth-campus .tc-auth-card .tc-auth-field--half,.tc-auth-campus .tc-auth-card .tc-auth-field--wide{grid-column:1!important}
  .tc-auth-campus .tc-auth-code-step{min-height:100vh;padding:34px 16px 62px;display:flex;flex-direction:column;justify-content:flex-end}
  .tc-auth-campus .tc-auth-code-logo{width:min(315px,80vw);margin-bottom:22px}
  .tc-auth-campus .tc-auth-code-step h1{font-size:44px}
  .tc-auth-campus .tc-auth-code-step>p{font-size:16px;margin-bottom:19px}
  .tc-auth-campus .tc-auth-code-box{padding:18px;border-radius:19px}
  .tc-auth-campus .tc-auth-code-box input{height:59px;font-size:17px}
  .tc-auth-campus .tc-auth-code-links{gap:9px}
  .tc-auth-campus .tc-auth-code-links a{min-width:0;width:50%;min-height:48px;padding:9px 12px}
}
