Here is a general college admissions calendar that students can follow to stay on track:
Freshman Year:
Focus on developing good study habits and academic skills.
Get involved in extracurricular activities and find your interests.
Meet with your school counselor to discuss academic planning.
Sophomore Year:
Continue to build strong study habits and academic skills.
Continue to participate in extracurricular activities.
Consider taking the PSAT or a practice ACT/SAT.
Begin researching colleges and their admissions requirements.
Junior Year:
Take the PSAT in the fall and the SAT or ACT in the spring.
Start preparing for the standardized tests if you haven't already.
Meet with your school counselor to discuss college planning.
Narrow down your list of potential colleges and visit campuses if possible.
Begin drafting your college essays and personal statement.
Summer before Senior Year:
Continue visiting colleges and attend college fairs.
Finalize your list of colleges and their application requirements.
Begin filling out applications and gather necessary materials (transcripts, test scores, letters of recommendation).
Continue working on your college essays.
Senior Year:
Submit college applications by the deadlines.
Request transcripts and test scores to be sent to colleges.
Follow up with your chosen colleges to ensure all application materials have been received.
Apply for financial aid and scholarships.
Review acceptance letters and compare financial aid packages.
Make your final decision and submit a deposit to the college of your choice.
Remember, this is just a general guideline and the exact timeline may vary depending on individual circumstances. It's important to stay organized and on top of deadlines to ensure a successful college application process.
-content-field="published-on"],.blog-item-wrapper header h1,article header h1){display:none!important}
body.tii-blog-title-live .tii-blog-native-hidden{display:none!important}
:is(html,body).sqs-edit-mode-active #tii-blog-article-title,:is(html,body).sqs-site-styles-active #tii-blog-article-title{display:none!important}
:root{--tii-n0:#04101f;--tii-n1:#0a1e37;--tii-n2:#0e2745;--tii-gold:#ead49f;--tii-blue:#8fb7df}
.tii-detective-blog-hero,.tii-detective-blog-hero *{box-sizing:border-box}
.tii-detective-blog-hero{position:relative;left:50%;width:100vw;max-width:none;margin:0 0 0 -50vw;overflow:hidden;isolation:isolate;contain:layout paint style;background:radial-gradient(circle at 78% 24%,rgba(78,131,188,.27),transparent 31%),radial-gradient(circle at 18% 70%,rgba(213,181,111,.17),transparent 31%),linear-gradient(145deg,var(--tii-n0),var(--tii-n1) 54%,var(--tii-n2))}
@supports(overflow:clip){.tii-detective-blog-hero{overflow:clip}}
.tii-detective-blog-hero::after{content:"";position:absolute;z-index:0;inset:auto 0 0;height:190px;pointer-events:none;background:linear-gradient(to top,rgba(4,16,31,.72),rgba(4,16,31,.32) 46%,transparent)}
.tii-db-body{position:relative;z-index:2;width:min(1320px,calc(100% - 64px));margin:auto}
.tii-db-copy{position:relative;z-index:3;width:68%;padding:36px 18px 30px 24px;display:flex;flex-direction:column;gap:15px;border-bottom:1px solid rgba(255,255,255,.12);contain:layout style}
.tii-db-kicker-row{display:flex;align-items:center;gap:10px;flex-wrap:wrap;margin-top:30px}
.tii-db-chip,.tii-db-status,.tii-db-meta-item{background:rgba(255,255,255,.09);border:1px solid rgba(255,255,255,.20)}
.tii-db-chip,.tii-db-status,.tii-db-pulse-note{display:inline-flex;align-items:center;gap:8px;font-size:10px;letter-spacing:.15em;text-transform:uppercase;white-space:nowrap}
.tii-db-chip,.tii-db-status{padding:8px 12px;border-radius:999px;color:#fff}.tii-db-chip{transform:translateX(-5%)}.tii-db-pulse-note{color:rgba(255,255,255,.76)}
.tii-db-status-dot,.tii-db-pulse-dot{position:relative;width:7px;height:7px;border-radius:50%;display:inline-block;flex:0 0 7px;background:#fff}
.tii-db-status-dot::after,.tii-db-pulse-dot::after{content:"";position:absolute;inset:-1px;border:1px solid currentColor;border-radius:50%;opacity:0;transform:scale(1);animation:tiiRippleX 2.2s ease-out infinite}
.tii-db-pulse-text--mobile{display:none}
.tii-db-title{margin:0;max-width:23ch;padding-bottom:.12em;display:block;contain:paint;font-family:Inter,-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif;font-size:clamp(3rem,5.35vw,5rem);font-weight:800;line-height:1.03;letter-spacing:-.055em;text-wrap:balance;color:#fff;background:linear-gradient(135deg,#fff 0%,#fff 9%,var(--tii-gold) 18%,var(--tii-blue) 31%,#fff 43%,#fff 50%,#fff 59%,var(--tii-gold) 68%,var(--tii-blue) 81%,#fff 93%,#fff 100%);background-size:200% 200%;background-position:100% 100%;background-repeat:no-repeat;-webkit-background-clip:text;background-clip:text;-webkit-text-fill-color:transparent;animation:tiiTitleFlow 9.5s steps(128,end) infinite;-webkit-font-smoothing:antialiased}
.tii-db-outline-intro{margin:2px 0 0;max-width:72ch;color:#fff;font:650 1rem/1.55 Inter,-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif}.tii-db-outline-columns{width:min(100%,78ch);display:grid;grid-template-columns:repeat(2,minmax(0,1fr));align-items:start;column-gap:clamp(24px,3vw,46px)}.tii-db-outline{width:min(100%,78ch);margin:0;padding:0 0 0 1.25rem;display:grid;gap:.44rem;color:#fff}.tii-db-outline-columns .tii-db-outline{width:100%}.tii-db-outline li{margin:0;padding-left:.18rem;color:#fff;font:500 .95rem/1.42 Inter,-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif;break-inside:avoid}.tii-db-outline li::marker{color:#fff}.tii-db-meta{display:flex;flex-wrap:wrap;gap:10px;margin-top:3px}.tii-db-meta-item{display:inline-flex;align-items:center;gap:8px;padding:8px 11px;border-radius:13px;color:rgba(255,255,255,.84);font-size:.8rem;line-height:1.2}.tii-db-meta-item svg{width:14px;height:14px;stroke:currentColor;flex:0 0 14px}
.tii-db-stage{position:absolute;z-index:2;inset:0 0 0 auto;width:34%;overflow:hidden;touch-action:none;padding-left:14px;contain:layout paint style}
@supports(overflow:clip){.tii-db-stage{overflow:clip}}
@media(min-width:781px){.tii-db-stage{--g:max(32px,calc((100vw - 1320px)/2));right:calc(-1*var(--g));width:calc(34% + var(--g))}}
.tii-db-stage .tii-db-status{position:absolute;top:64px;right:14px;z-index:8;max-width:calc(100% - 28px);justify-content:center;text-align:center;overflow:hidden;text-overflow:ellipsis}.tii-db-status--mobile{display:none}
.tii-db-campus-field{position:absolute;z-index:2;inset:90px 10px 64px;contain:layout paint style}
.tii-db-campus-blip{position:absolute;z-index:3;min-width:90px;width:min(136px,24vw);padding:7px 9px 7px 7px;border-radius:15px;border:1px solid rgba(49,69,86,.10);background:rgba(255,255,255,.68);box-shadow:0 14px 26px rgba(49,69,86,.08);display:flex;align-items:center;gap:8px;pointer-events:none;opacity:0;transform:translate3d(0,10px,0) scale(.96);contain:layout paint style;animation:tiiCardScan 32s ease-in-out calc(5.9s + var(--d,0s)) infinite both}
.tii-db-campus-blip svg{width:28px;height:28px;flex:0 0 28px}.tii-db-campus-blip>div{min-width:0;line-height:1}.tii-db-campus-label{display:block;color:#314556;font-size:.62rem;line-height:1;font-weight:700;letter-spacing:.08em;text-transform:uppercase}.tii-db-campus-sub{display:block;margin-top:2px;color:#627888;font-size:.52rem;line-height:calc(1em + 2px);letter-spacing:.12em;text-transform:uppercase}
.tii-db-campus-1{top:3%;left:3%;--d:0s}.tii-db-campus-2{top:5%;left:38%;--d:2s}.tii-db-campus-3{top:4%;right:4%;--d:4s}.tii-db-campus-4{top:21%;left:13%;--d:6s}.tii-db-campus-5{top:19%;right:18%;--d:8s}.tii-db-campus-6{top:35%;left:43%;--d:10s}.tii-db-campus-7{top:40%;left:3%;--d:12s}.tii-db-campus-8{top:42%;right:3%;--d:14s}.tii-db-campus-9{top:58%;left:16%;--d:16s}.tii-db-campus-10{top:57%;right:27%;--d:18s}.tii-db-campus-11{top:70%;left:43%;--d:20s}.tii-db-campus-12{top:73%;right:7%;--d:22s}.tii-db-campus-13{bottom:2%;left:2%;--d:24s}.tii-db-campus-14{bottom:1%;left:27%;--d:26s}.tii-db-campus-15{bottom:3%;right:25%;--d:28s}.tii-db-campus-16{bottom:1%;right:2%;--d:30s}
.tii-db-scan-ring{position:absolute;width:210px;height:210px;border-radius:50%;border:1px dashed rgba(255,255,255,.20);left:48%;top:16%;opacity:.46;animation:tiiFloatRing 10s ease-in-out infinite}.tii-db-scan-ring::before,.tii-db-scan-ring::after{content:"";position:absolute;border-radius:50%;border:1px solid rgba(255,255,255,.12)}.tii-db-scan-ring::before{inset:18px}.tii-db-scan-ring::after{inset:38px}
.tii-db-magnifier-wrap{position:absolute;inset:0 auto 0 50%;z-index:10000;width:min(1320px,calc(100% - 64px));transform:translateX(-50%);pointer-events:none;overflow:visible;contain:layout style}.tii-db-magnifier-manual-shift,.tii-db-magnifier-path,.tii-db-magnifier-patrol,.tii-db-magnifier-rig{position:absolute;inset:0}.tii-db-magnifier-manual-shift{z-index:10000;transform:translate3d(0,0,0)}.tii-returning .tii-db-magnifier-manual-shift{transition:transform 650ms cubic-bezier(.22,1,.36,1)}
.tii-db-magnifier-path{left:56%;top:calc(5.5% + 50px);width:112px;height:112px;animation:tiiEnter 5.9s cubic-bezier(.22,.72,.24,1) 1 both}.tii-db-magnifier-patrol{animation:tiiPatrol 32s ease-in-out 5.9s infinite}.tii-db-magnifier-rig{z-index:10001;animation:tiiTilt 6.4s ease-in-out infinite;transform-origin:64% 34%}.tii-db-magnifier-shadow{position:absolute;left:28px;top:89px;width:64px;height:17px;border-radius:50%;background:radial-gradient(ellipse,rgba(49,69,86,.18),rgba(49,69,86,0) 72%);animation:tiiShadow 6.4s ease-in-out infinite}.tii-db-magnifier-image{position:absolute;z-index:10003;left:0;top:0;width:104px;height:104px;object-fit:contain;user-select:none;-webkit-user-drag:none;filter:drop-shadow(0 7px 12px rgba(49,69,86,.13));transform:translateZ(0)}
.tii-db-magnifier-zoom{position:absolute;z-index:10005;left:42px;top:8px;width:51px;height:51px;border-radius:50%;overflow:hidden;pointer-events:none;border:1px solid rgba(255,255,255,.46);box-shadow:inset 0 0 0 1px rgba(255,255,255,.32),inset 0 0 13px rgba(186,220,241,.16),0 2px 9px rgba(1,9,20,.15);background:radial-gradient(circle at 31% 24%,rgba(255,255,255,.42) 0 7%,rgba(255,255,255,.13) 18%,transparent 42%),linear-gradient(135deg,rgba(224,240,250,.31),rgba(114,154,184,.12) 54%,rgba(255,255,255,.22))}.tii-db-magnifier-zoom::after{content:"";position:absolute;inset:8% 12% 52% 14%;border-radius:50%;background:linear-gradient(135deg,rgba(255,255,255,.34),rgba(255,255,255,0));opacity:.8;transform:rotate(-16deg)}
.tii-db-magnifier-beam{position:absolute;z-index:10002;left:65px;top:2px;width:190px;height:72px;transform-origin:0 50%;clip-path:polygon(0 44%,100% 0,100% 100%,0 56%);background:linear-gradient(90deg,rgba(255,255,255,.58),rgba(191,224,241,.30) 42%,rgba(102,127,146,0));opacity:.48;mix-blend-mode:screen;animation:tiiBeam 4.2s ease-in-out infinite}.tii-db-magnifier-trigger{position:absolute;left:47px;top:1px;width:42px;height:42px;border-radius:50%;border:1px solid rgba(102,127,146,.28)}.tii-db-magnifier-trigger::after{content:"";position:absolute;inset:-1px;border:1px solid rgba(102,127,146,.28);border-radius:50%;opacity:.45;transform:scale(.84);animation:tiiTrigger 4.2s ease-out infinite}
.tii-magnifier-manual :is(.tii-db-magnifier-path,.tii-db-magnifier-patrol,.tii-db-magnifier-rig,.tii-db-magnifier-shadow,.tii-db-magnifier-beam,.tii-db-magnifier-trigger,.tii-db-campus-blip){animation-play-state:paused}.tii-magnifier-manual .tii-db-campus-blip{animation:none}
.tii-hero-offscreen{content-visibility:auto;contain-intrinsic-size:auto 650px}.tii-hero-offscreen :is(.tii-db-title,.tii-db-campus-blip,.tii-db-scan-ring,.tii-db-magnifier-path,.tii-db-magnifier-patrol,.tii-db-magnifier-rig,.tii-db-magnifier-shadow,.tii-db-magnifier-beam){animation-play-state:paused!important}.tii-hero-offscreen .tii-db-status-dot::after,.tii-hero-offscreen .tii-db-pulse-dot::after,.tii-hero-offscreen .tii-db-magnifier-trigger::after{animation-play-state:paused!important}
@keyframes tiiTitleFlow{from{background-position:100% 100%}to{background-position:0 0}}@keyframes tiiRippleX{0%{opacity:.45;transform:scale(.9)}75%,100%{opacity:0;transform:scale(2.4)}}@keyframes tiiCardScan{0%,100%{opacity:0;transform:translate3d(0,10px,0) scale(.96)}3%,10%{opacity:1;transform:translate3d(0,0,0) scale(1)}15%{opacity:0;transform:translate3d(0,-7px,0) scale(1.01)}}@keyframes tiiFloatRing{0%,100%{transform:translate3d(0,0,0) scale(1)}50%{transform:translate3d(10px,6px,0) scale(1.04)}}
@keyframes tiiPatrol{0%,100%{transform:translate3d(0,0,0)}12%{transform:translate3d(clamp(72px,12vw,180px),2px,0)}25%{transform:translate3d(clamp(145px,23vw,285px),clamp(18px,4vh,42px),0)}38%{transform:translate3d(clamp(95px,16vw,210px),clamp(78px,15vh,155px),0)}51%{transform:translate3d(clamp(8px,2vw,34px),clamp(120px,23vh,225px),0)}64%{transform:translate3d(clamp(125px,20vw,255px),clamp(145px,27vh,255px),0)}77%{transform:translate3d(clamp(185px,29vw,340px),clamp(76px,14vh,145px),0)}89%{transform:translate3d(clamp(58px,9vw,128px),clamp(42px,8vh,88px),0)}}
@keyframes tiiPatrolM{0%,100%{transform:translate3d(0,0,0)}20%{transform:translate3d(clamp(42px,18vw,82px),2px,0)}40%{transform:translate3d(clamp(16px,7vw,38px),34px,0)}60%{transform:translate3d(clamp(48px,20vw,92px),72px,0)}80%{transform:translate3d(4px,56px,0)}}@keyframes tiiTilt{0%,100%{transform:rotate(-7deg) scale(1)}50%{transform:rotate(4deg) scale(1.02)}}@keyframes tiiShadow{0%,100%{transform:scale(1);opacity:.16}50%{transform:scale(.92);opacity:.10}}@keyframes tiiBeam{0%,100%{opacity:.24;transform:rotate(-12deg) scaleX(.91)}50%{opacity:.56;transform:rotate(-9deg) scaleX(1.05)}}@keyframes tiiTrigger{0%{opacity:.46;transform:scale(.84)}75%,100%{opacity:0;transform:scale(1.55)}}
@keyframes tiiEnter{0%{opacity:0;transform:translate3d(clamp(-160px,-11vw,-72px),-230px,0)}14%{opacity:.68;transform:translate3d(clamp(-150px,-10vw,-66px),-174px,0)}36%{opacity:1;transform:translate3d(clamp(-112px,-7vw,-48px),-108px,0)}64%{opacity:1;transform:translate3d(clamp(-58px,-3.5vw,-24px),-48px,0)}84%{opacity:1;transform:translate3d(-8px,-8px,0)}100%{opacity:1;transform:translate3d(0,0,0)}}@keyframes tiiEnterM{0%{opacity:0;transform:translate3d(clamp(-176px,-51vw,-128px),-88px,0)}20%{opacity:.72;transform:translate3d(clamp(-146px,-40vw,-104px),-62px,0)}52%{opacity:1;transform:translate3d(clamp(-82px,-23vw,-58px),-30px,0)}82%{opacity:1;transform:translate3d(-10px,-5px,0)}100%{opacity:1;transform:translate3d(0,0,0)}}
@media(max-width:1080px){.tii-db-copy{width:62%}.tii-db-stage{width:40%}.tii-db-title{max-width:16ch;font-size:clamp(2.8rem,5.7vw,4.45rem)}}
@media(max-width:780px){.tii-detective-blog-hero{padding-top:38px}.tii-db-body{width:min(100%,calc(100% - 20px));display:flex;flex-direction:column}.tii-db-stage{order:1;position:relative;inset:auto;width:100%;height:177px;min-height:177px;padding:0}.tii-db-copy{order:2;width:100%;padding:0 18px 24px;gap:13px}.tii-db-kicker-row{display:none}.tii-db-title{max-width:none;font-size:clamp(2.55rem,11vw,4rem);line-height:1.04;padding-bottom:.14em}.tii-db-outline-intro{font-size:.96rem;line-height:1.5}.tii-db-outline-columns{display:block;width:100%}.tii-db-outline-columns .tii-db-outline+.tii-db-outline{margin-top:.4rem}.tii-db-outline{width:100%;padding-left:1.16rem;gap:.4rem}.tii-db-outline li{font-size:.91rem;line-height:1.4}.tii-db-campus-field{inset:48px 6px 18px;transform:translate3d(0,-15px,0)}.tii-db-stage .tii-db-status--desktop{display:none}.tii-db-stage .tii-db-status--mobile{display:flex;top:15px;left:50%;right:auto;width:max-content;max-width:calc(100% - 24px);padding:0;border:0;background:transparent;transform:translateX(-50%)}.tii-db-stage .tii-db-status--mobile .tii-db-status-dot{color:#d8b85a;background:#d8b85a}.tii-db-campus-blip{min-width:84px;width:min(120px,35vw);padding:7px;border-radius:13px;max-height:72px;animation-duration:34s}.tii-db-campus-blip svg{width:24px;height:24px;flex-basis:24px}.tii-db-campus-label{font-size:.56rem}.tii-db-campus-sub{font-size:.48rem}.tii-db-campus-1{top:2%;left:2%}.tii-db-campus-2{top:4%;left:34%}.tii-db-campus-3{top:3%;right:2%}.tii-db-campus-4{top:19%;left:5%}.tii-db-campus-5{top:18%;right:9%}.tii-db-campus-6{top:34%;left:36%}.tii-db-campus-7{top:39%;left:1%}.tii-db-campus-8{top:40%;right:1%}.tii-db-campus-9{top:57%;left:6%}.tii-db-campus-10{top:56%;right:16%}.tii-db-campus-11{top:69%;left:34%}.tii-db-campus-12{top:71%;right:2%}.tii-db-campus-13{bottom:1%;left:1%}.tii-db-campus-14{bottom:0;left:22%}.tii-db-campus-15{bottom:2%;right:22%}.tii-db-campus-16{bottom:0;right:1%}.tii-db-campus-field>.tii-db-campus-blip:nth-child(even){display:none}.tii-db-magnifier-wrap{inset:38px 10px auto;width:auto;height:177px;transform:none}.tii-db-magnifier-path{left:54%;top:calc(9% + 35px);width:88px;height:88px;animation-name:tiiEnterM;animation-duration:4.35s}.tii-db-magnifier-patrol{animation-name:tiiPatrolM;animation-duration:34s;animation-delay:4.35s}.tii-db-magnifier-image{width:82px;height:82px}.tii-db-magnifier-zoom{left:33px;top:7px;width:40px;height:40px}.tii-db-magnifier-shadow{left:23px;top:70px;width:50px;height:13px}.tii-db-magnifier-beam{left:51px;top:1px;width:126px;height:56px}.tii-db-magnifier-trigger{left:36px;top:0;width:34px;height:34px}}
@media(min-width:781px) and (hover:hover) and (pointer:fine){.tii-detective-blog-hero.tii-magnifier-takeover,.tii-detective-blog-hero.tii-magnifier-takeover *{cursor:none!important}}
@media(prefers-reduced-motion:reduce){.tii-db-title,.tii-db-status-dot::after,.tii-db-pulse-dot::after,.tii-db-campus-blip,.tii-db-scan-ring,.tii-db-magnifier-path,.tii-db-magnifier-patrol,.tii-db-magnifier-rig,.tii-db-magnifier-shadow,.tii-db-magnifier-beam,.tii-db-magnifier-trigger::after{animation:none!important}.tii-db-title{background-position:50% 50%}.tii-db-campus-blip{opacity:1;transform:none}}
-webkit-backdrop-filter: blur(20px) saturate(170%) contrast(.72) brightness(1.12);
backdrop-filter: blur(20px) saturate(170%) contrast(.72) brightness(1.12);
}
#ivy-article-dock .iad-surface::before {
content: ""; position: absolute; inset: 0; border-radius: inherit;
pointer-events: none;
box-shadow: inset 1px 0 0 rgba(255,255,255,.35), inset -1px 0 0 rgba(255,255,255,.18);
}
#ivy-article-dock .iad-link {
position: absolute; bottom: calc(var(--iad-bottom) + env(safe-area-inset-bottom, 0px));
display: inline-flex; align-items: center; justify-content: center; gap: 9px;
min-width: 112px; min-height: 48px; height: 48px; padding: 10px 18px;
border-radius: 999px; font-size: 12px; font-weight: 600;
transition: transform .22s ease, box-shadow .22s ease, border-color .18s ease;
}
#ivy-article-dock .iad-prev { left: max(var(--iad-edge), env(safe-area-inset-left, 0px)); }
#ivy-article-dock .iad-next { right: max(var(--iad-edge), env(safe-area-inset-right, 0px)); }
#ivy-article-dock svg { width: 19px; height: 19px; flex: 0 0 auto; display: block; }
#ivy-article-dock .iad-preview {
position: absolute; bottom: calc(100% + 11px); width: 260px;
padding: 14px 16px; border-radius: 20px;
/* More frosting for a multi-line headline than for the compact controls. */
--iad-glass: rgba(245,249,255,.80);
opacity: 0; visibility: hidden; pointer-events: none;
transform: translateY(5px); transition: opacity .18s ease, transform .18s ease, visibility .18s ease;
}
#ivy-article-dock .iad-prev .iad-preview { left: 0; }
#ivy-article-dock .iad-next .iad-preview { right: 0; }
#ivy-article-dock .iad-link:hover .iad-preview,
#ivy-article-dock .iad-link:focus-visible .iad-preview {
opacity: 1; visibility: visible; transform: none;
}
#ivy-article-dock .iad-eyebrow { display: block; color: var(--iad-gold); font-size: 10px; letter-spacing: .06em; margin-bottom: 5px; }
#ivy-article-dock .iad-title { display: -webkit-box; -webkit-line-clamp: 3; -webkit-box-orient: vertical; overflow: hidden; font-size: 14px; font-weight: 550; line-height: 1.4; overflow-wrap: anywhere; }
#ivy-article-dock .iad-center {
position: absolute; bottom: calc(var(--iad-bottom) + env(safe-area-inset-bottom, 0px) + var(--iad-keyboard));
left: 50%; width: min(438px, calc(100% - 316px)); transform: translateX(-50%);
pointer-events: none;
}
#ivy-article-dock .iad-form { position: relative; height: 48px; margin: 0; padding: 0; border: 0; }
#ivy-article-dock .iad-field {
position: relative; display: flex; align-items: center; gap: 0; min-width: 0; height: 48px;
border: 1px solid rgba(255,255,255,.60); border-radius: 999px;
background: rgba(255,255,255,.34);
box-shadow: inset 0 1px 3px rgba(37,57,76,.05), 0 1px 0 rgba(255,255,255,.20);
transition: background-color .18s ease, border-color .18s ease;
}
#ivy-article-dock .iad-field:focus-within {
background: rgba(255,255,255,.56); border-color: rgba(122,95,55,.55);
}
#ivy-article-dock .iad-input {
display: block; flex: 1 1 0%; min-width: 0; width: 0; height: 46px;
padding: 8px 13px; margin: 0; border: 0; border-radius: 999px;
background: transparent; color: var(--iad-ink) !important; caret-color: var(--iad-ink);
font-size: 16px; line-height: 22px; box-shadow: none; outline-offset: 2px;
appearance: none; -webkit-appearance: none;
}
#ivy-article-dock .iad-input::placeholder { color: var(--iad-muted); opacity: 1; font-size: 12px; }
#ivy-article-dock .iad-submit {
display: grid; place-items: center; flex: 0 0 40px; width: 40px; height: 40px;
padding: 0; margin: 0 2px 0 0; border: 1px solid rgba(255,255,255,.61); border-radius: 999px;
background: rgba(255,255,255,.40); box-shadow: 0 2px 5px rgba(23,42,62,.07), inset 0 1px 0 rgba(255,255,255,.72);
transition: background-color .18s ease, transform .18s ease;
}
#ivy-article-dock .iad-submit svg { width: 17px; height: 17px; }
#ivy-article-dock .iad-submit:hover { background: rgba(255,255,255,.75); }
#ivy-article-dock .iad-submit:disabled { cursor: progress; opacity: .65; }
#ivy-article-dock .iad-status { color: var(--iad-ink); font-size: 12px; line-height: 1.4; }
#ivy-article-dock a:focus-visible, #ivy-article-dock button:focus-visible, #ivy-article-dock input:focus-visible {
outline: 2px solid var(--iad-gold) !important; outline-offset: 3px;
}
#ivy-article-dock[data-near-end="true"] .iad-next { border-color: rgba(135,105,60,.66); }
#ivy-article-dock .iad-sr { position: absolute; width: 1px; height: 1px; padding: 0; margin: -1px; overflow: hidden; clip: rect(0,0,0,0); white-space: nowrap; border: 0; }
@media (hover: hover) and (pointer: fine) {
#ivy-article-dock .iad-link:hover {
transform: translateY(-3px); border-color: rgba(255,255,255,.98);
box-shadow: 0 21px 45px -12px rgba(19,36,53,.34), 0 7px 16px -8px rgba(19,36,53,.25), inset 0 1px 0 #fff, inset 0 -1px 0 rgba(255,255,255,.50);
}
#ivy-article-dock .iad-link:active { transform: translateY(-1px); }
#ivy-article-dock .iad-submit:active { transform: scale(.96); }
}
@media (max-width: 720px) {
#ivy-article-dock { --iad-edge: 8px; --iad-bottom: 12px; }
#ivy-article-dock .iad-link { min-width: 44px; width: 44px; min-height: 44px; height: 44px; padding: 10px; border-radius: 50%; }
#ivy-article-dock .iad-direction { display: none; }
#ivy-article-dock .iad-center { width: calc(100% - 120px); }
#ivy-article-dock .iad-form { height: 44px; }
#ivy-article-dock .iad-field { height: 44px; }
#ivy-article-dock .iad-input { height: 42px; padding: 9px; }
#ivy-article-dock .iad-input::placeholder { font-size: 11px; }
#ivy-article-dock .iad-submit { flex-basis: 36px; width: 36px; height: 38px; }
#ivy-article-dock .iad-preview { width: min(246px, calc(100vw - 30px)); }
#ivy-article-dock[data-search-focus="true"] .iad-center {
width: calc(100% - max(18px, env(safe-area-inset-left, 0px)) - max(18px, env(safe-area-inset-right, 0px)));
}
#ivy-article-dock[data-search-focus="true"] .iad-link { display: none; }
}
/* Keep comfortable field sizes on touch-first devices, including larger tablets. */
@media (pointer: coarse) and (min-width: 721px) {
#ivy-article-dock .iad-form, #ivy-article-dock .iad-field { height: 48px; }
#ivy-article-dock .iad-input { height: 46px; }
#ivy-article-dock .iad-submit { height: 40px; flex-basis: 40px; width: 40px; }
}
@media (hover: none) { #ivy-article-dock .iad-preview { display: none; } }
@media (prefers-reduced-motion: reduce) {
#ivy-article-dock * { transition: none !important; animation: none !important; }
#ivy-article-dock .iad-link:hover, #ivy-article-dock .iad-submit:active { transform: none; }
}
@supports not ((backdrop-filter: blur(1px)) or (-webkit-backdrop-filter: blur(1px))) {
#ivy-article-dock .iad-surface { background: #eef3f8; }
}
@media (prefers-reduced-transparency: reduce), (prefers-contrast: more) {
#ivy-article-dock .iad-surface { background: #eef3f8; border-color: #8193a5; -webkit-backdrop-filter: none; backdrop-filter: none; }
#ivy-article-dock .iad-field { background: #fff; border-color: #8193a5; }
}
@media (forced-colors: active) {
#ivy-article-dock .iad-surface, #ivy-article-dock .iad-field, #ivy-article-dock .iad-submit { background: Canvas; border: 1px solid ButtonText; box-shadow: none; -webkit-backdrop-filter: none; backdrop-filter: none; }
#ivy-article-dock a, #ivy-article-dock button, #ivy-article-dock .iad-input { color: CanvasText !important; text-shadow: none; }
}
@media print { #ivy-article-dock { display: none !important; } }
/* Shown only on the blog index when the search-handoff fallback is needed. */
#ivy-blog-search-handoff { margin: 20px auto; padding: 18px 22px; max-width: 820px; border: 1px solid #b8c4d0; border-radius: 16px; color: #172b40; background: #f3f6f9; font: 16px/1.5 system-ui,sans-serif; }
#ivy-blog-search-handoff p { margin: 0; }
#ivy-blog-search-handoff a { color: #173e65; text-decoration: underline; }
linear-gradient(150deg, rgba(255,255,255,.24), rgba(255,255,255,.05) 48%, rgba(222,235,251,.12)),
var(--iad-glass);
box-shadow: var(--iad-shadow); pointer-events: auto;
-webkit-backdrop-filter: blur(20px) saturate(170%) contrast(.72) brightness(1.12);
backdrop-filter: blur(20px) saturate(170%) contrast(.72) brightness(1.12);
}
#ivy-article-dock .iad-surface::before {
content: ""; position: absolute; inset: 0; border-radius: inherit;
pointer-events: none;
box-shadow: inset 1px 0 0 rgba(255,255,255,.35), inset -1px 0 0 rgba(255,255,255,.18);
}
#ivy-article-dock .iad-link {
position: absolute; bottom: calc(var(--iad-bottom) + env(safe-area-inset-bottom, 0px));
display: inline-flex; align-items: center; justify-content: center; gap: 9px;
min-width: 112px; min-height: 48px; height: 48px; padding: 10px 18px;
border-radius: 999px; font-size: 12px; font-weight: 600;
transition: transform .22s ease, box-shadow .22s ease, border-color .18s ease;
}
#ivy-article-dock .iad-prev { left: max(var(--iad-edge), env(safe-area-inset-left, 0px)); }
#ivy-article-dock .iad-next { right: max(var(--iad-edge), env(safe-area-inset-right, 0px)); }
#ivy-article-dock svg { width: 19px; height: 19px; flex: 0 0 auto; display: block; }
#ivy-article-dock .iad-preview {
position: absolute; bottom: calc(100% + 11px); width: 260px;
padding: 14px 16px; border-radius: 20px;
/* More frosting for a multi-line headline than for the compact controls. */
--iad-glass: rgba(245,249,255,.80);
opacity: 0; visibility: hidden; pointer-events: none;
transform: translateY(5px); transition: opacity .18s ease, transform .18s ease, visibility .18s ease;
}
#ivy-article-dock .iad-prev .iad-preview { left: 0; }
#ivy-article-dock .iad-next .iad-preview { right: 0; }
#ivy-article-dock .iad-link:hover .iad-preview,
#ivy-article-dock .iad-link:focus-visible .iad-preview {
opacity: 1; visibility: visible; transform: none;
}
#ivy-article-dock .iad-eyebrow { display: block; color: var(--iad-gold); font-size: 10px; letter-spacing: .06em; margin-bottom: 5px; }
#ivy-article-dock .iad-title { display: -webkit-box; -webkit-line-clamp: 3; -webkit-box-orient: vertical; overflow: hidden; font-size: 14px; font-weight: 550; line-height: 1.4; overflow-wrap: anywhere; }
#ivy-article-dock .iad-center {
position: absolute; bottom: calc(var(--iad-bottom) + env(safe-area-inset-bottom, 0px) + var(--iad-keyboard));
left: 50%; width: min(438px, calc(100% - 316px)); transform: translateX(-50%);
pointer-events: none;
}
#ivy-article-dock .iad-form { position: relative; height: 48px; margin: 0; padding: 0; border: 0; }
#ivy-article-dock .iad-field {
position: relative; display: flex; align-items: center; gap: 0; min-width: 0; height: 48px;
border: 1px solid rgba(255,255,255,.60); border-radius: 999px;
background: rgba(255,255,255,.34);
box-shadow: inset 0 1px 3px rgba(37,57,76,.05), 0 1px 0 rgba(255,255,255,.20);
transition: background-color .18s ease, border-color .18s ease;
}
#ivy-article-dock .iad-field:focus-within {
background: rgba(255,255,255,.56); border-color: rgba(122,95,55,.55);
}
#ivy-article-dock .iad-input {
display: block; flex: 1 1 0%; min-width: 0; width: 0; height: 46px;
padding: 8px 13px; margin: 0; border: 0; border-radius: 999px;
background: transparent; color: var(--iad-ink) !important; caret-color: var(--iad-ink);
font-size: 16px; line-height: 22px; box-shadow: none; outline-offset: 2px;
appearance: none; -webkit-appearance: none;
}
#ivy-article-dock .iad-input::placeholder { color: var(--iad-muted); opacity: 1; font-size: 12px; }
#ivy-article-dock .iad-submit {
display: grid; place-items: center; flex: 0 0 40px; width: 40px; height: 40px;
padding: 0; margin: 0 2px 0 0; border: 1px solid rgba(255,255,255,.61); border-radius: 999px;
background: rgba(255,255,255,.40); box-shadow: 0 2px 5px rgba(23,42,62,.07), inset 0 1px 0 rgba(255,255,255,.72);
transition: background-color .18s ease, transform .18s ease;
}
#ivy-article-dock .iad-submit svg { width: 17px; height: 17px; }
#ivy-article-dock .iad-submit:hover { background: rgba(255,255,255,.75); }
#ivy-article-dock .iad-submit:disabled { cursor: progress; opacity: .65; }
#ivy-article-dock .iad-status { color: var(--iad-ink); font-size: 12px; line-height: 1.4; }
#ivy-article-dock a:focus-visible, #ivy-article-dock button:focus-visible, #ivy-article-dock input:focus-visible {
outline: 2px solid var(--iad-gold) !important; outline-offset: 3px;
}
#ivy-article-dock[data-near-end="true"] .iad-next { border-color: rgba(135,105,60,.66); }
#ivy-article-dock .iad-sr { position: absolute; width: 1px; height: 1px; padding: 0; margin: -1px; overflow: hidden; clip: rect(0,0,0,0); white-space: nowrap; border: 0; }
@media (hover: hover) and (pointer: fine) {
#ivy-article-dock .iad-link:hover {
transform: translateY(-3px); border-color: rgba(255,255,255,.98);
box-shadow: 0 21px 45px -12px rgba(19,36,53,.34), 0 7px 16px -8px rgba(19,36,53,.25), inset 0 1px 0 #fff, inset 0 -1px 0 rgba(255,255,255,.50);
}
#ivy-article-dock .iad-link:active { transform: translateY(-1px); }
#ivy-article-dock .iad-submit:active { transform: scale(.96); }
}
@media (max-width: 720px) {
#ivy-article-dock { --iad-edge: 8px; --iad-bottom: 12px; }
#ivy-article-dock .iad-link { min-width: 44px; width: 44px; min-height: 44px; height: 44px; padding: 10px; border-radius: 50%; }
#ivy-article-dock .iad-direction { display: none; }
#ivy-article-dock .iad-center { width: calc(100% - 120px); }
#ivy-article-dock .iad-form { height: 44px; }
#ivy-article-dock .iad-field { height: 44px; }
#ivy-article-dock .iad-input { height: 42px; padding: 9px; }
#ivy-article-dock .iad-input::placeholder { font-size: 11px; }
#ivy-article-dock .iad-submit { flex-basis: 36px; width: 36px; height: 38px; }
#ivy-article-dock .iad-preview { width: min(246px, calc(100vw - 30px)); }
#ivy-article-dock[data-search-focus="true"] .iad-center {
width: calc(100% - max(18px, env(safe-area-inset-left, 0px)) - max(18px, env(safe-area-inset-right, 0px)));
}
#ivy-article-dock[data-search-focus="true"] .iad-link { display: none; }
}
/* Keep comfortable field sizes on touch-first devices, including larger tablets. */
@media (pointer: coarse) and (min-width: 721px) {
#ivy-article-dock .iad-form, #ivy-article-dock .iad-field { height: 48px; }
#ivy-article-dock .iad-input { height: 46px; }
#ivy-article-dock .iad-submit { height: 40px; flex-basis: 40px; width: 40px; }
}
@media (hover: none) { #ivy-article-dock .iad-preview { display: none; } }
@media (prefers-reduced-motion: reduce) {
#ivy-article-dock * { transition: none !important; animation: none !important; }
#ivy-article-dock .iad-link:hover, #ivy-article-dock .iad-submit:active { transform: none; }
}
@supports not ((backdrop-filter: blur(1px)) or (-webkit-backdrop-filter: blur(1px))) {
#ivy-article-dock .iad-surface { background: #eef3f8; }
}
@media (prefers-reduced-transparency: reduce), (prefers-contrast: more) {
#ivy-article-dock .iad-surface { background: #eef3f8; border-color: #8193a5; -webkit-backdrop-filter: none; backdrop-filter: none; }
#ivy-article-dock .iad-field { background: #fff; border-color: #8193a5; }
}
@media (forced-colors: active) {
#ivy-article-dock .iad-surface, #ivy-article-dock .iad-field, #ivy-article-dock .iad-submit { background: Canvas; border: 1px solid ButtonText; box-shadow: none; -webkit-backdrop-filter: none; backdrop-filter: none; }
#ivy-article-dock a, #ivy-article-dock button, #ivy-article-dock .iad-input { color: CanvasText !important; text-shadow: none; }
}
@media print { #ivy-article-dock { display: none !important; } }
/* Shown only on the blog index when the search-handoff fallback is needed. */
#ivy-blog-search-handoff { margin: 20px auto; padding: 18px 22px; max-width: 820px; border: 1px solid #b8c4d0; border-radius: 16px; color: #172b40; background: #f3f6f9; font: 16px/1.5 system-ui,sans-serif; }
#ivy-blog-search-handoff p { margin: 0; }
#ivy-blog-search-handoff a { color: #173e65; text-decoration: underline; }
sconnect(); bodyObserver?.disconnect(); delete window[GLOBAL];
}
window[GLOBAL] = { version: '3.0.0', refresh, destroy };
for (const name of ['mercury:load', 'sqs:page-view', 'sqs:after-page-load']) document.addEventListener(name, refresh, { signal: appAbort.signal });
for (const name of ['popstate', 'pageshow', 'load']) window.addEventListener(name, refresh, { signal: appAbort.signal });
if (document.readyState === 'loading') document.addEventListener('DOMContentLoaded', start, { once: true, signal: appAbort.signal }); else start();
})();