.school-note {
display: flex;
align-items: center;
justify-content: space-between;
gap: 14px 20px;
flex-wrap: wrap;
margin: 0 0 18px;
padding: 16px 20px;
border: 1px solid rgba(15, 23, 42, 0.10);
border-radius: 18px;
background: #fff;
}
.school-note[hidden] {
display: none;
}
.school-note p {
flex: 1 1 320px;
margin: 0;
color: var(--text, #111318);
font-size: 15px;
font-weight: 500;
line-height: 1.5;
}
.school-note p strong {
font-weight: 800;
}
.school-note-btn {
flex: 0 0 auto;
min-height: 40px;
margin: 0;
padding: 0 18px;
border: 0;
border-radius: 999px;
background: #0a84ff;
color: #fff;
font: inherit;
font-size: 14px;
font-weight: 800;
cursor: pointer;
box-shadow: none;
transition: background 0.18s ease, transform 0.18s ease;
}
.school-note-btn:focus-visible {
background: #0066d6;
transform: translateY(-1px);
}
@media (hover: hover) and (pointer: fine) {
.school-note-btn:hover {
background: #0066d6;
transform: translateY(-1px);
}
}
@media (max-width: 560px) {
.school-note {
padding: 14px 16px;
}
.school-note-btn {
width: 100%;
}
}
.sch-overlay {
z-index: 140;
}
.student-profile-modal.sp-modal.sch-modal {
width: min(600px, 100%);
}
.sch-modal .sp-head {
grid-template-columns: 52px minmax(0, 1fr) auto;
}
.sch-mark {
display: grid;
place-items: center;
width: 52px;
height: 52px;
border-radius: 16px;
background: linear-gradient(135deg, #10b981, #0a84ff);
box-shadow: 0 10px 18px rgba(10, 132, 255, 0.26);
}
.sch-mark svg {
width: 30px;
height: 30px;
fill: none;
stroke: #fff;
stroke-width: 3;
stroke-linecap: round;
stroke-linejoin: round;
}
.sch-optional {
color: var(--muted-strong, #5b6474);
font-size: 13px;
font-style: normal;
font-weight: 650;
}
.sp-input.sch-message {
height: auto;
min-height: 86px;
padding: 12px 16px;
line-height: 1.45;
resize: vertical;
}
.sch-form [data-sch-send]:disabled {
opacity: 0.7;
cursor: progress;
}
.sch-form .sp-btn-primary {
min-width: 140px;
}
.sch-done {
display: grid;
justify-items: center;
gap: 10px;
padding: 30px 28px 24px;
text-align: center;
}
.sch-done[hidden] {
display: none;
}
.sch-done-tick {
display: grid;
place-items: center;
width: 56px;
height: 56px;
border-radius: 999px;
background: #10b981;
}
.sch-done-tick svg {
width: 28px;
height: 28px;
fill: none;
stroke: #fff;
stroke-width: 2.8;
stroke-linecap: round;
stroke-linejoin: round;
}
.sch-done-title {
margin: 4px 0 0;
color: var(--text, #111318);
font-size: 22px;
font-weight: 850;
letter-spacing: -0.02em;
}
.sch-done-body {
max-width: 440px;
margin: 0;
color: var(--text, #111318);
font-size: 15px;
line-height: 1.55;
}
.sch-preview {
color: #047857;
font-weight: 700;
}
.sch-done-actions {
justify-self: stretch;
}
.sp-school-choice {
display: grid;
grid-template-columns: repeat(2, minmax(0, 1fr));
gap: 10px;
}
.sp-school-option {
position: relative;
cursor: pointer;
}
.sp-school-option input {
position: absolute;
opacity: 0;
pointer-events: none;
}
.sp-school-option span {
display: grid;
gap: 2px;
min-height: 64px;
align-content: center;
padding: 10px 16px;
border: 1px solid rgba(15, 23, 42, 0.10);
border-radius: 16px;
background: #f3f6fa;
color: var(--text, #111318);
transition: background 0.18s ease, border-color 0.18s ease, box-shadow 0.18s ease, transform 0.18s ease;
}
.sp-school-option span strong {
font-size: 15.5px;
font-weight: 850;
}
.sp-school-option span small {
color: #475467;
font-size: 13px;
font-weight: 600;
}
.sp-school-option:hover span {
border-color: rgba(10, 132, 255, 0.35);
transform: translateY(-1px);
}
.sp-school-option input:focus-visible + span {
outline: 3px solid rgba(10, 132, 255, 0.40);
outline-offset: 2px;
}
.sp-school-option input:checked + span {
border-color: transparent;
background: linear-gradient(135deg, #10b981, #0a84ff);
color: #fff;
box-shadow: 0 10px 22px rgba(10, 132, 255, 0.28);
}
.sp-school-option input:checked + span small {
color: rgba(255, 255, 255, 0.92);
}
.sp-field.is-missing .sp-school-option span {
border-color: rgba(220, 38, 38, 0.45);
}
.sp-school-name[hidden],
.sp-field[hidden],
.sp-row[hidden] {
display: none;
}
.sp-waitlist {
display: grid;
grid-template-columns: 30px minmax(0, 1fr);
gap: 12px;
align-items: start;
padding: 14px 16px;
border: 1px solid rgba(220, 38, 38, 0.35);
border-radius: 16px;
background: #fef2f2;
color: #7f1d1d;
}
.sp-waitlist[hidden] {
display: none;
}
.sp-waitlist-icon {
display: grid;
place-items: center;
width: 30px;
height: 30px;
border-radius: 999px;
background: #dc2626;
color: #fff;
font-size: 17px;
font-weight: 900;
line-height: 1;
}
.sp-waitlist-copy strong {
display: block;
color: #b91c1c;
font-size: 15.5px;
font-weight: 850;
line-height: 1.3;
}
.sp-waitlist-copy p {
margin: 4px 0 0;
color: #7f1d1d;
font-size: 14px;
line-height: 1.5;
}
.sp-waitlist-copy b {
font-weight: 800;
}
.school-note.is-outside {
border-color: rgba(220, 38, 38, 0.35);
background: #fef2f2;
}
.school-note.is-outside p,
.school-note.is-outside p strong {
color: #7f1d1d;
}
.school-note.is-outside p strong {
color: #b91c1c;
}
.school-note.is-outside .school-note-btn {
background: #dc2626;
}
.school-note.is-outside .school-note-btn:focus-visible {
background: #b91c1c;
}
@media (hover: hover) and (pointer: fine) {
.school-note.is-outside .school-note-btn:hover {
background: #b91c1c;
}
}
.is-outside-school #dhJourney {
display: none;
}
@media (max-width: 640px) {
.sp-school-choice {
grid-template-columns: 1fr;
}
}
.sp-summary-facts {
grid-template-columns: repeat(3, minmax(0, 1fr));
}
@media (max-width: 820px) {
.sp-summary-facts {
grid-template-columns: 1fr;
}
}
.lp .lp-waitlist {
display: flex;
align-items: center;
justify-content: space-between;
gap: 18px 32px;
flex-wrap: wrap;
border-color: rgba(10, 132, 255, 0.28);
}
.lp-waitlist-copy {
flex: 1 1 380px;
min-width: 0;
}
.lp-waitlist-copy .lp-section-sub {
margin-bottom: 0;
}
.lp .lp-waitlist-eyebrow {
color: #0a5fc7;
}
.lp .lp-waitlist-btn {
flex: 0 0 auto;
min-width: 220px;
}
@media (max-width: 640px) {
.lp .lp-waitlist-btn {
width: 100%;
}
}
.sch-combo {
position: relative;
}
.sp-input.sch-combo-input {
padding-left: 46px;
}
.sch-combo-icon {
position: absolute;
top: 0;
left: 16px;
display: grid;
place-items: center;
height: 48px;
color: #64748b;
pointer-events: none;
transition: color 0.18s ease;
}
.sch-combo-icon svg {
width: 19px;
height: 19px;
fill: none;
stroke: currentColor;
stroke-width: 2.2;
stroke-linecap: round;
}
.sch-combo.is-open .sch-combo-icon,
.sch-combo-input:focus + .sch-combo-icon {
color: #0a84ff;
}
.sch-pop {
position: absolute;
top: calc(100% + 8px);
left: 0;
right: 0;
z-index: 20;
max-height: min(340px, 46vh);
overflow-y: auto;
overscroll-behavior: contain;
padding: 0 6px 6px;
border: 1px solid rgba(15, 23, 42, 0.08);
border-radius: 18px;
background: #fff;
box-shadow: 0 24px 60px rgba(15, 23, 42, 0.18), 0 4px 14px rgba(15, 23, 42, 0.06);
animation: sch-pop-in 0.16s cubic-bezier(0.22, 1, 0.36, 1);
scrollbar-width: thin;
scrollbar-color: rgba(15, 23, 42, 0.2) transparent;
}
.sch-pop[hidden] {
display: none;
}
@keyframes sch-pop-in {
from { opacity: 0; transform: translateY(-4px); }
to { opacity: 1; transform: translateY(0); }
}
.sch-pop-h {
position: sticky;
top: 0;
z-index: 1;
display: flex;
align-items: center;
justify-content: space-between;
margin: 0 -6px;
padding: 12px 18px 7px;
background: rgba(255, 255, 255, 0.96);
-webkit-backdrop-filter: blur(8px);
backdrop-filter: blur(8px);
color: #0a5fc7;
font-size: 11.5px;
font-weight: 850;
letter-spacing: 0.1em;
text-transform: uppercase;
}
.sch-pop-h span {
padding: 2px 8px;
border-radius: 999px;
background: #eef4ff;
color: #0a5fc7;
font-size: 11px;
letter-spacing: 0;
}
.sch-opt {
display: grid;
grid-template-columns: minmax(0, 1fr) auto;
align-items: center;
gap: 12px;
padding: 10px 12px;
border-radius: 12px;
color: var(--text, #111318);
cursor: pointer;
}
.sch-opt-name {
min-width: 0;
font-size: 14.5px;
font-weight: 650;
line-height: 1.3;
}
.sch-opt-name mark {
background: none;
color: #0a84ff;
font-weight: 850;
}
.sch-opt-tag {
padding: 3px 9px;
border-radius: 999px;
background: #f1f5f9;
color: #475467;
font-size: 11.5px;
font-weight: 800;
white-space: nowrap;
}
.sch-opt.is-active {
background: linear-gradient(135deg, rgba(16, 185, 129, 0.10), rgba(10, 132, 255, 0.12));
}
.sch-opt.is-active .sch-opt-name {
color: #0b4f96;
}
.sch-opt.is-active .sch-opt-tag {
background: #fff;
color: #0a5fc7;
}
.sch-opt-custom {
grid-template-columns: auto minmax(0, 1fr) auto;
margin-top: 6px;
}
.sch-opt-plus {
display: grid;
place-items: center;
width: 24px;
height: 24px;
border-radius: 999px;
background: linear-gradient(135deg, #10b981, #0a84ff);
color: #fff;
font-size: 16px;
font-weight: 800;
line-height: 1;
}
.sch-pop-empty {
padding: 16px 12px 10px;
color: #64748b;
font-size: 14px;
}
@media (max-width: 560px) {
.sch-opt {
grid-template-columns: minmax(0, 1fr);
gap: 4px;
}
.sch-opt-tag {
justify-self: start;
}
.sch-opt-custom {
grid-template-columns: auto minmax(0, 1fr);
}
.sch-opt-custom .sch-opt-tag {
display: none;
}
}
.sch-opt-custom.is-last {
margin-top: 6px;
border-top: 1px solid rgba(15, 23, 42, 0.06);
border-radius: 0 0 12px 12px;
}
