@font-face{font-family:Mayo Sans;src:url(/sans.woff2) format("woff2");font-weight:400}
@font-face{font-family:Mayo Sans;src:url(/sans-bold.woff2) format("woff2");font-weight:700}
@font-face{font-family:Mayo Serif;src:url(/serif-light.woff2) format("woff2");font-weight:300}
@font-face{font-family:Mayo Serif;src:url(/serif-bold.woff2) format("woff2");font-weight:700}
*{box-sizing:border-box}
[hidden]{display:none!important}
body{margin:0;color:#111;background:#fff;font:16px/1.5 "Mayo Sans",Arial,sans-serif}
img{max-width:100%;display:block}
button,input{font:inherit;color:inherit}
button{cursor:pointer}
a,.text-button{color:#2455a2}
a:hover{text-decoration:underline}
.skip{position:absolute;top:0;left:16px;z-index:30;transform:translateY(-110%);background:white;padding:8px}
.skip:focus{transform:none}
header{position:relative;z-index:5;background:#fff;border-bottom:1px solid #d5d5d5}
.bar{height:87px;display:flex;align-items:center;padding:0 32px;margin:auto;max-width:1600px}
.logo{width:56px;height:56px;flex:none;display:flex;align-items:center;justify-content:center;margin-right:47px}
.logo img{height:56px;width:auto}
.bar nav{display:flex;align-items:center}
.bar nav button,.tools button{border:0;background:none;text-align:left;padding:0}
.bar nav button{margin-right:34px;display:flex;align-items:flex-end;font-size:15px;line-height:20px;white-space:pre-line}
.chevron{width:8px;height:8px;border-right:2px solid;border-bottom:2px solid;transform:rotate(45deg);margin:0 0 5px 12px;display:inline-block}
.tools{margin-left:auto;display:flex;align-items:center;white-space:nowrap;font-size:15px}
.tools a{color:inherit;text-decoration:none;margin-right:18px}
.tools svg{vertical-align:middle;display:inline-block}
.tools .account svg{margin-right:8px}
.tools button{width:26px;height:26px}
#mobile-toggle{display:none}
.nav-panel{position:absolute;top:100%;left:0;right:0;background:white;box-shadow:0 14px 24px rgba(0,0,0,.22);padding:24px 32px 36px}
.nav-list{list-style:none;padding:0;margin:10px 0;columns:3}
.nav-list li{padding:10px 0;break-inside:avoid}
.nav-list a{text-decoration:none}
.nav-list a:hover{text-decoration:underline}
#quick,#mobile-groups{display:none}
#search-panel{padding:28px 32px}
.field{display:flex;border:1px solid #555;border-radius:4px;margin-top:6px;max-width:600px}
.field input{min-width:0;flex:1;border:0;background:none;padding:10px 14px}
.field button{border:0;background:none;font-size:25px;padding:0 12px;color:#2455a2}
.hero{height:549px;background:#282827 url(/hero.jpg) center center/cover no-repeat;color:white;display:flex;position:relative;align-items:flex-end}
.hero:before{content:"";position:absolute;top:0;right:0;bottom:0;left:0;background:linear-gradient(transparent 28%,rgba(0,0,0,.76))}
.hero-copy{position:relative;padding:24px 32px 56px}
h1,h2{font-family:"Mayo Serif",Georgia,serif;line-height:1.15;margin:0 0 16px}
h1{font-size:48px}
h2{font-size:36px}
h3{margin:0;font-size:19px}
p{margin:0 0 15px}
.hero h1{font-size:72px;font-weight:300;margin-bottom:28px}
.hero a{color:white;font-size:18px;text-decoration:none;margin-right:24px}
.hero a:hover{text-decoration:underline}
.pill{display:inline-block;border:2px solid currentColor;border-radius:28px;padding:9px 24px;text-decoration:none;text-align:center;background:transparent}
.wrap{max-width:1280px;margin:auto;padding-left:32px;padding-right:32px}
.section{padding-top:56px;padding-bottom:56px}
.alphabet,.split{display:flex;padding-top:56px;padding-bottom:56px;align-items:center}
.alphabet{align-items:flex-start}
.alphabet>div,.alphabet form,.split>*{width:50%}
.alphabet form{padding-left:12px;font-size:18px}
.alphabet h2{font-size:32px}
.letters{display:flex;flex-wrap:wrap;max-width:560px}
.letters a{font-weight:700;width:48px;height:48px;margin:0 9px 8px 0;border:1px solid #b4c9e6;border-radius:50%;text-align:center;line-height:46px;text-decoration:none}
.letters a:hover{background:#2455a2;color:white}
.split>img{border-radius:8px;object-fit:cover;height:540px}
.split>div{padding:36px 7% 36px 0;font-size:18px}
.reverse>div{padding:36px 0 36px 7%}
.cards{display:flex;flex-wrap:wrap;margin:0 -8px}
.card{width:calc(33.333% - 16px);margin:0 8px 16px;border:1px solid #ddd;border-radius:8px;overflow:hidden}
.card img{width:100%;height:220px;object-fit:cover}
.card div{padding:18px}
.card h3 a{text-decoration:none}
.featured{background:#f2f6fb}
.featured ul{padding:0;list-style:none;columns:3}
.featured li{padding:8px 0}
footer{background:#101f3d;color:white;padding:48px 0}
footer a,footer button{color:white}
.footer-links{display:flex;flex-wrap:wrap;margin-bottom:24px}
.footer-links section{width:33.333%;margin-bottom:28px;padding-right:20px}
.footer-links a{display:block;margin:5px 0}
.shade{position:fixed;inset:0;top:0;right:0;bottom:0;left:0;z-index:8;background:rgba(0,0,0,.39)}
.cookies{position:fixed;z-index:9;top:110px;left:50%;transform:translateX(-50%);width:calc(100% - 40px);max-width:904px;max-height:calc(100vh - 125px);overflow:auto;padding:32px 24px;border-radius:16px;background:white}
.cookies h2{font:700 22px/1.35 "Mayo Sans",Arial,sans-serif;margin:2px 0 16px}
.cookies p{font-size:15px;line-height:24px;margin-bottom:23px}
.cookie-actions{display:flex;align-items:center}
.cookie-actions .pill{color:white;background:#3662ad;border:0;min-height:48px;font-size:14px;margin-left:10px;padding:8px 26px}
.text-button{border:0;background:transparent;padding:0;text-decoration:underline}
.cookie-actions .text-button{margin-right:auto;font-size:15px}
.internal{padding-top:27px;padding-bottom:64px}
.crumb{font-size:15px;color:#626262;margin-bottom:80px}
.intro{font:300 32px/1.25 "Mayo Serif",Georgia,serif;margin-bottom:56px}
.campus{display:flex;margin-bottom:50px}
.campus img{width:49%;border-radius:8px;align-self:flex-start}
.campus div{padding:0 0 0 10%;width:51%}
.campus h2{font-size:32px;margin-bottom:4px}
.campus a{display:block;margin-top:23px;text-decoration:none}
@media(max-width:1170px){.bar nav button{margin-right:18px}.logo{margin-right:24px}.tools a{margin-right:12px}}
@media(max-width:1010px){
  .bar{height:71px;padding:0 20px;align-items:center}
  .logo{width:48px;height:48px;margin:0}
  .logo img{height:48px}
  .bar nav,#appointment{display:none}
  .tools{align-self:center;margin-bottom:0;margin-right:0;min-width:0}
  .tools a.account{display:flex;align-items:center;min-width:0;line-height:1.15}
  .tools svg{flex:none}
  .tools a,.tools button{margin-right:20px}
  .tools button:last-child{margin-right:0}
  #mobile-toggle{display:inline-block}
  .nav-panel{padding:24px 0 0;max-height:calc(100vh - 72px);overflow:auto;background:transparent;box-shadow:none}
  #quick{display:flex;flex-wrap:wrap;background:#2455a2}
  #quick a{display:flex;flex-direction:column;justify-content:space-between;width:50%;min-height:120px;color:white;border:1px solid #4473b8;padding:14px 23px;font-size:18px;text-decoration:none}
  #quick span{font-size:25px}
  #mobile-groups{display:block;background:white}
  #mobile-groups button{background:white;border:0;border-bottom:1px solid #ddd;padding:22px 22px 22px 20px;min-height:83px;width:100%;display:flex;justify-content:space-between;align-items:center;text-align:left;font-size:22px}
  .nav-list{columns:1;padding:0 20px}
  #search-panel{background:white;padding:20px}
  .hero{height:521px;background-position:24% center}
  .hero-copy{padding:20px 24px 24px 20px;width:100%}
  .hero h1{font-size:44px;margin-bottom:18px}
  .hero a{display:block;margin-right:0;margin-bottom:16px}
  .hero .pill{width:100%;margin:0}
}
@media(max-width:660px){
  .bar{padding-left:16px;padding-right:16px}
  .tools a,.tools button{margin-right:14px}
  .tools a.account{max-width:180px;white-space:normal;text-align:left}
  main h1,main h2,main h3{overflow-wrap:anywhere;word-break:break-word}
  .wrap{padding-left:28px;padding-right:28px}
  .alphabet,.split,.campus{display:block;padding-top:40px;padding-bottom:40px}
  .alphabet>div,.alphabet form,.split>*,.campus img,.campus div{width:100%}
  .alphabet form,.campus div{padding:20px 0 0}
  .letters a{margin-right:calc((100% - 240px)/5)}
  .split>div,.reverse>div{padding:24px 0}
  .split>img{height:auto}
  .section{padding-top:36px;padding-bottom:36px}
  .card{width:calc(100% - 16px)}
  .featured ul{columns:1}
  .footer-links section{width:100%}
  .cookies{top:70px;max-height:calc(100vh - 90px)}
  .cookie-actions{display:block}
  .cookie-actions button{display:block;width:100%;margin:0 0 8px!important}
  .crumb{margin-bottom:36px}
  .intro{font-size:24px;margin-bottom:12px}
  .campus{padding:12px 0}
}
.research{background:#eaf2ff;padding:40px 0}
.internal .research{border-radius:8px}
@media(min-width:1171px){.bar nav button{margin-right:43px}}
@media(max-width:660px){.hero{background-position:12% center}}
.language-bar{display:flex;align-items:center;justify-content:flex-end;padding:6px 32px;border-bottom:1px solid #ddd;font-size:14px}
.language-bar select{margin-left:8px;max-width:65%;padding:4px 8px;font:inherit;color:#173964;background:#fff;border:1px solid #9baac0;border-radius:4px}
:lang(hi) body,:lang(hi) h1,:lang(hi) h2{font-family:"Noto Sans Devanagari","Kohinoor Devanagari",Mangal,Arial,sans-serif}
:lang(ru) h1,:lang(ru) h2,:lang(uk) h1,:lang(uk) h2{font-family:Georgia,serif}
.cookie-actions .pill{white-space:normal}
@media(max-width:660px){.language-bar{padding-left:16px;padding-right:16px}}
@media(max-width:360px){.bar{padding-left:12px;padding-right:12px}.tools a,.tools button{margin-right:11px}.tools a.account{max-width:145px;font-size:14px}}
@media(min-width:1011px){html:not([lang=en]) .bar nav button{white-space:normal;margin-right:14px;font-size:14px}.bar nav{min-width:0}html:not([lang=en]) .tools{white-space:normal}.tools a.account{display:flex;align-items:center}.tools svg{flex:none}}
.local-page-image{width:100%;max-width:600px;border-radius:8px;margin:24px 0}
.local-page-links{padding-left:24px}
.local-page-links li{margin:10px 0}
footer #manage{color:inherit}

body.auth-open{overflow:hidden}
.auth-shade{z-index:14;background:rgba(10,25,54,.56)}
.auth-dialog{position:fixed;z-index:15;top:50%;left:50%;transform:translate(-50%,-50%);width:calc(100% - 40px);max-width:560px;max-height:calc(100vh - 40px);overflow:auto;background:#fff;border:1px solid #d7e0ed;border-radius:20px;box-shadow:0 24px 70px rgba(8,28,61,.34)}
.auth-heading{padding:30px 68px 22px 30px;border-bottom:1px solid #d9e1eb;background:linear-gradient(135deg,#f6f9fd 0,#fff 72%)}
.auth-brand{display:flex;align-items:center}
.auth-brand img{width:48px;height:48px;flex:none;margin-right:20px}
.auth-heading h2{font:700 25px/1.2 "Mayo Sans",Arial,sans-serif;margin:0 0 7px;color:#132747}
.auth-heading p{font-size:14px;line-height:1.45;color:#4d5d73;margin:0}
.auth-close{position:absolute;top:18px;right:18px;display:flex;align-items:center;justify-content:center;width:38px;min-width:38px;height:38px;padding:0;border:0;border-radius:50%;background:#edf3fa;color:#173964;font:300 28px/1 Arial,sans-serif;text-align:center}
.auth-close:hover,.auth-close:focus{background:#dfeaf7;outline:2px solid #2455a2;outline-offset:2px}
.auth-tabs{display:grid;grid-template-columns:1fr 1fr;border-bottom:1px solid #d9e1eb;padding:0 30px}
.auth-tab{border:0;border-bottom:3px solid transparent;background:#fff;padding:17px 8px 14px;color:#4d5d73;font-weight:700}
.auth-tab.is-active{color:#2455a2;border-bottom-color:#2455a2}
.auth-message{margin:20px 30px 0;padding:12px 14px;border-radius:8px;background:#fff1f1;color:#982626;font-size:14px;line-height:1.4}
.auth-message[data-type=success]{background:#eaf7ef;color:#17683c}
.auth-form{padding:24px 30px 30px}
.auth-field{margin-bottom:18px}
.auth-field label{display:block;margin-bottom:6px;color:#172b4d;font-weight:700}
.auth-field input{display:block;width:100%;min-height:48px;border:1px solid #8292a8;border-radius:8px;background:#fff;padding:10px 12px;font:16px/1.35 "Mayo Sans",Arial,sans-serif;box-shadow:inset 0 1px 2px rgba(10,30,55,.05)}
.auth-field input:focus{border-color:#2455a2;outline:3px solid rgba(36,85,162,.18)}
.auth-field small{display:block;margin:4px 0 7px;color:#5c6878;font-size:13px;line-height:1.4}
.auth-field input[aria-invalid=true]{border-color:#b42318;outline:3px solid rgba(180,35,24,.14)}
.auth-field .auth-field-error{margin:6px 0 0;color:#a1251b;font-weight:700}
.auth-show{display:flex;align-items:center;margin:-5px 0 20px;color:#34465f;font-size:14px}
.auth-show input{width:18px;height:18px;margin:0 8px 0 0}
.auth-primary,.auth-secondary{display:block;width:100%;min-height:48px;border:2px solid #2455a2;border-radius:26px;padding:10px 20px;font-weight:700;text-align:center}
.auth-primary{color:#fff;background:#2455a2}
.auth-primary:hover,.auth-primary:focus{background:#183f82;border-color:#183f82}
.auth-secondary{color:#2455a2;background:#fff}
.auth-secondary:hover,.auth-secondary:focus{background:#edf4fc}
.auth-captcha{display:flex;align-items:stretch;margin:8px 0 10px}
.auth-captcha #auth-captcha-code{display:flex;align-items:center;justify-content:center;width:178px;min-width:178px;min-height:54px;margin-right:10px;border:1px solid #b9c7d8;border-radius:8px;background:repeating-linear-gradient(-45deg,#eef4fb,#eef4fb 7px,#f8fbff 7px,#f8fbff 14px);color:#132747;font:700 22px/1.2 ui-monospace,SFMono-Regular,Menlo,Monaco,Consolas,monospace;letter-spacing:.2em;padding:0 0 0 .2em}
.auth-captcha #auth-captcha-code:hover,.auth-captcha #auth-captcha-code:focus{border-color:#2455a2;outline:3px solid rgba(36,85,162,.18)}
.auth-captcha #auth-register-code{flex:1;width:auto;min-width:0;margin:0;text-transform:uppercase;letter-spacing:.08em}
.auth-signed-in{padding:30px;text-align:center}
.auth-success-icon{display:flex;align-items:center;justify-content:center;width:66px;height:66px;margin:0 auto 18px;border-radius:50%;background:#e4f5eb;color:#167044;font-size:34px;font-weight:700}
.auth-signed-in h3{font-size:18px;color:#405069;margin:0 0 5px}
.auth-signed-email{color:#132747;font-size:20px;font-weight:700;overflow-wrap:anywhere;margin-bottom:10px}
.auth-signed-in p:not(.auth-signed-email){color:#5c6878;font-size:14px;margin-bottom:24px}
.tools .account.is-signed-in{color:#2455a2;font-weight:700}
@media(max-width:660px){
  .auth-dialog{width:calc(100% - 20px);max-height:calc(100vh - 20px);border-radius:15px}
  .auth-heading{padding:24px 58px 18px 20px}
  .auth-brand img{width:42px;height:42px;margin-right:14px}
  .auth-heading h2{font-size:21px}
  .auth-tabs{padding:0 20px}
  .auth-message{margin:16px 20px 0}
  .auth-form,.auth-signed-in{padding:20px}
  .auth-captcha{flex-wrap:nowrap}
  .auth-captcha #auth-captcha-code{width:125px;min-width:125px;margin:0 8px 0 0;font-size:19px}
}

.tools button svg{pointer-events:none}
.local-overview,.local-details{max-width:920px;margin:42px 0}
.local-overview h2,.local-details h2,.about-directory h2{font-size:32px}
.local-overview .intro{margin-bottom:22px}
.local-focus{font-size:19px;line-height:1.65}
.local-details{background:#f2f6fb;border-radius:10px;padding:28px 34px}
.local-details ul{margin:0;padding-left:22px}
.local-details li{margin:10px 0}
.local-actions{display:flex;flex-wrap:wrap;gap:12px;margin:34px 0}
.local-actions .pill{color:#2455a2;background:#fff;font-weight:700}
.page-info-button{font:inherit}
.page-info-dialog{position:fixed;z-index:12;top:50%;left:50%;transform:translate(-50%,-50%);width:calc(100% - 40px);max-width:660px;max-height:calc(100vh - 80px);overflow:auto;background:#fff;border-radius:16px;padding:32px;box-shadow:0 20px 60px rgba(0,0,0,.3)}
.page-info-dialog h2{font-size:30px}
.page-info-dialog .pill{color:#fff;background:#2455a2;border-color:#2455a2;min-width:120px}
.about-directory{display:grid;grid-template-columns:1fr 1fr;gap:22px;margin:42px 0}
.about-directory section{border:1px solid #d5dfec;border-radius:10px;padding:26px}
.about-directory .nav-list{columns:1;margin:0}
.about-directory .nav-list li{padding:7px 0}
@media(max-width:660px){
  .internal h1{font-size:40px;overflow-wrap:anywhere;word-break:break-word}
  .internal h2,.internal h3,.internal p,.internal li,.internal a,.internal button{overflow-wrap:anywhere;word-break:break-word}
  .local-overview,.local-details{margin:28px 0}
  .local-overview h2,.local-details h2,.about-directory h2{font-size:27px}
  .local-details{padding:22px}
  .local-actions{display:block}
  .local-actions .pill{display:block;width:100%;margin-bottom:10px}
  .about-directory{display:block}
  .about-directory section{margin-bottom:16px;padding:20px}
  .page-info-dialog{padding:24px}
}
