#campus-tour-root{inset:0;position:absolute;z-index:1000}footer{display:none}.campus-tour-container{border-radius:0!important;font-family:Outfit,-apple-system,BlinkMacSystemFont,Segoe UI,sans-serif;height:100vh;overflow:hidden;position:relative;width:100vw}body.campus-tour-active,html.campus-tour-active{border-radius:0!important;overflow:hidden!important}.tour-loading{text-align:center}.tour-loading__logo{height:64px;margin-bottom:30px}.tour-loading__status{font-size:18px;font-variation-settings:"wght" 500;font-weight:500;margin-bottom:10px}.tour-loading__caption{font-size:14px;opacity:.8}.tour-header{background-color:#002856}.tour-header-link{background-color:rgba(0,40,86,.8);color:#fff}.contact-content__title{color:#002856}.contact-list__address{margin-left:26px}.tour-background{--new-bg-image:none;bottom:0;left:0;right:0;top:0;z-index:1}.tour-background,.tour-background:before{background-position:50%;background-repeat:no-repeat;background-size:cover;position:absolute}.tour-background:before{background-image:var(--new-bg-image);content:"";inset:0;opacity:0;pointer-events:none;transform:translate3d(0,10px,0);transition:opacity .28s ease,transform .28s ease;will-change:opacity,transform;z-index:2}.tour-background.transitioning:before{opacity:1;transform:translateZ(0)}@media(prefers-reduced-motion:reduce){.tour-background:before{transition:none!important}}.navigation-panel{backdrop-filter:blur(10px);background:hsla(0,0%,100%,.95);border-radius:0!important;border-right:1px solid rgba(0,0,0,.1);bottom:0;box-shadow:2px 0 20px rgba(0,0,0,.1);contain:layout paint;display:flex;flex-direction:column;left:0;position:fixed;top:80px;transform:translateX(-100%);transition:transform .3s cubic-bezier(.4,0,.2,1);width:320px;z-index:1010}.tour-nav-desktop-title{display:none}@media(min-width:1024px){.tour-nav-desktop-title{display:flex}}.navigation-panel.show{transform:translateX(0)}@media(min-width:1024px){.navigation-panel{backdrop-filter:none;background:hsla(0,0%,100%,.95);border-right:1px solid rgba(0,0,0,.1);bottom:0;left:0;position:fixed;top:80px;transform:none!important;width:320px;z-index:999}}@media(min-width:1280px){.navigation-panel{width:300px}}.info-panel{backdrop-filter:blur(10px);background:hsla(0,0%,100%,.95);border:1px solid rgba(0,0,0,.1);border-radius:.25rem;bottom:20px;box-shadow:0 8px 32px rgba(0,0,0,.15);contain:layout paint;max-height:60vh;overflow:hidden;position:fixed;right:20px;transform:translateY(100%);transition:transform .3s cubic-bezier(.4,0,.2,1);width:400px;z-index:1000}.info-panel.show{transform:translateY(0)}@media(min-width:1280px){.info-panel{backdrop-filter:blur(10px);background:hsla(0,0%,100%,.95);border-radius:.25rem;bottom:20px;box-shadow:0 8px 32px rgba(0,0,0,.15);height:calc(100vh - 140px);max-height:none;position:fixed;right:20px;top:100px;transform:translateY(0)!important;width:380px}}.location-list{content-visibility:auto;contain-intrinsic-size:1px 600px;flex:1;min-height:0;overflow-y:auto}.location-item{background:transparent;border-bottom:1px solid rgba(0,0,0,.1);cursor:pointer;padding:16px 20px;transition:all .2s ease}.location-item:hover{background:rgba(0,40,86,.05)}.location-item.active{background:rgba(0,40,86,.1);border-left:4px solid #002856;font-variation-settings:"wght" 600;font-weight:600}.location-item h3{color:#002856;font-size:16px;font-variation-settings:"wght" 500;font-weight:500;line-height:1.4;margin:0}.tour-controls-vertical{display:flex;flex-direction:column;gap:8px}.map-control-button{align-items:center;backdrop-filter:blur(10px);background:#002856;border:1px solid #002856;border-radius:.25rem;box-shadow:0 4px 12px rgba(0,0,0,.1);color:#fff;cursor:pointer;display:flex;font-variation-settings:"wght" 500;font-weight:500;justify-content:center;min-height:44px;min-width:44px;padding:12px;transition:transform .2s ease,background-color .2s ease,box-shadow .2s ease;will-change:transform}.map-control-button:hover{background:rgba(0,40,86,.8);box-shadow:0 6px 20px rgba(0,0,0,.15);transform:translateY(-2px)}.map-control-button.primary{background:#002856;border-color:#002856;color:#fff}.map-control-button.primary:hover{background:rgba(0,40,86,.8)}.map-control-button i{font-size:16px}.tour-nav-arrow{align-items:center;backdrop-filter:blur(10px);background:rgba(0,0,0,.6);border:none;border-radius:0;box-shadow:0 4px 20px rgba(0,0,0,.2);color:#fff;cursor:pointer;display:flex;font-size:24px;justify-content:center;min-height:80px;min-width:60px;padding:20px;position:fixed;top:60%;transform:translateY(-50%);transition:transform .3s ease,background-color .3s ease,box-shadow .3s ease;will-change:transform;z-index:1001}.tour-nav-arrow:hover{background:rgba(0,0,0,.8);box-shadow:0 6px 25px rgba(0,0,0,.4);transform:translateY(-50%) scale(1.02)}.tour-nav-arrow:disabled{background:rgba(0,0,0,.3);cursor:not-allowed;opacity:.3;transform:translateY(-50%)}.tour-nav-prev{border-radius:0 .25rem .25rem 0;left:0}.tour-nav-next{border-radius:.25rem 0 0 .25rem;right:0}.tour-btn{align-items:center;background:#002856;border:none;border-radius:.25rem;color:#fff;cursor:pointer;display:inline-flex;flex-shrink:0;font-size:14px;font-variation-settings:"wght" 500;font-weight:500;gap:6px;justify-content:center;min-height:44px;min-width:44px;padding:10px 16px;text-decoration:none;transition:all .2s ease;width:auto}.tour-btn:hover{background:rgba(0,40,86,.8);box-shadow:0 4px 12px rgba(0,40,86,.3);transform:translateY(-1px)}.tour-btn:disabled{box-shadow:none;cursor:not-allowed;opacity:.5;transform:none}.tour-btn.secondary{background:hsla(0,0%,100%,.9);border:1px solid rgba(0,40,86,.2);color:#002856}.tour-btn.secondary:hover{background:#fff;border-color:#002856}.building-name{background:hsla(0,0%,100%,.95);border:1px solid rgba(0,0,0,.1);border-radius:.25rem;bottom:20px;box-shadow:0 8px 32px rgba(0,0,0,.15);color:#002856;font-family:Outfit,sans-serif;left:50%;max-width:min(90vw,720px);padding:10px 16px;pointer-events:none;position:fixed;text-align:center;transform:translateX(-50%);z-index:1001}.building-name h1{font-family:Outfit,sans-serif;font-size:clamp(16px,2.5vw,24px);font-variation-settings:"wght" 600;font-weight:600;letter-spacing:.3px;line-height:1.3;margin:0;text-shadow:none}.info-content{content-visibility:auto;contain-intrinsic-size:1px 400px;max-height:calc(60vh - 80px);overflow-y:auto;padding:20px}@media(min-width:1280px){.info-content{content-visibility:auto;contain-intrinsic-size:1px 600px;height:100%;max-height:calc(100vh - 180px)}}@media(max-width:1279px){.info-content{height:calc(100vh - 120px);max-height:calc(100vh - 120px);overflow-y:auto;padding:20px}}.info-section{margin-bottom:25px}.info-section:last-child{margin-bottom:0}.info-section h3{border-bottom:2px solid #002856;color:#002856;font-size:16px;font-variation-settings:"wght" 600;font-weight:600;margin:0 0 12px;padding-bottom:6px}.info-section div p,.info-section p{color:#333;font-size:14px;line-height:1.6;margin:0 0 12px}.info-section div h1,.info-section div h2,.info-section div h3,.info-section div h4,.info-section div h5,.info-section div h6{color:#002856;font-variation-settings:"wght" 600;font-weight:600;margin:16px 0 8px}.info-section div h1{font-size:18px}.info-section div h2{font-size:17px}.info-section div h3{font-size:16px}.info-section div h4{font-size:15px}.info-section div h5{font-size:14px}.info-section div h6{font-size:13px}.info-section div ol,.info-section div ul{color:#333;font-size:14px;margin:8px 0 12px 20px}.info-section div li{line-height:1.5;margin-bottom:4px}.info-section div a{color:#002856;text-decoration:underline}.info-section div a:hover{text-decoration:none}.info-section div b,.info-section div strong{color:#002856;font-variation-settings:"wght" 600;font-weight:600}.info-section div em,.info-section div i{font-style:italic}.info-section div blockquote{background:rgba(0,40,86,.05);border-left:3px solid #002856;font-style:italic;margin:12px 0;padding:8px 0 8px 12px}.info-section div table{border-collapse:collapse;font-size:14px;margin:12px 0;width:100%}.info-section div td,.info-section div th{border:1px solid rgba(0,0,0,.1);padding:8px;text-align:left}.info-section div th{background:rgba(0,40,86,.1);color:#002856;font-variation-settings:"wght" 600;font-weight:600}.image-grid{display:grid;gap:10px;grid-template-columns:repeat(auto-fit,minmax(120px,1fr));margin-top:15px}.image-item{aspect-ratio:1;border-radius:.25rem;cursor:pointer;overflow:hidden;position:relative;transition:transform .2s ease}.image-item:hover{transform:scale(1.05)}.image-item img{height:100%;object-fit:cover;width:100%}.sublocation-item{background:transparent;border:1px solid transparent;border-radius:.25rem;cursor:pointer;margin:4px 0;padding:12px 16px;transition:all .2s ease}.sublocation-item:hover{background:rgba(0,40,86,.05);border-color:rgba(0,40,86,.1);box-shadow:0 2px 8px rgba(0,40,86,.1);transform:translateY(-1px)}.sublocation-item:active{background:rgba(0,40,86,.1);transform:translateY(0)}.sublocation-item h4{color:#002856;font-variation-settings:"wght" 500;font-weight:500;margin:0;transition:color .2s ease}.sublocation-item:hover h4{color:#002856;font-variation-settings:"wght" 600;font-weight:600}.sublocation-item div{color:#666;font-size:14px;margin:5px 0 0;transition:color .2s ease}.sublocation-item:hover div{color:#555}.mini-map{border:1px solid rgba(0,0,0,.1);border-radius:.25rem;height:200px;margin-bottom:20px;overflow:hidden}.tour-modal{align-items:center;background:rgba(0,0,0,.8);bottom:0;display:flex;justify-content:center;left:0;opacity:0;overflow-y:auto;position:fixed;right:0;top:0;transition:all .3s ease;visibility:hidden;z-index:2000}.tour-modal.show{opacity:1;visibility:visible}.modal-content{background:#fff;border-radius:.25rem;display:flex;flex-direction:column;max-height:90vh;max-width:90vw;overflow:hidden;position:relative}.modal-content--compact{max-width:600px;padding:30px}.modal-close{background:none;border:none;color:#666;cursor:pointer;font-size:24px;position:absolute;right:15px;top:15px;z-index:10}.modal-close:hover{color:#000}.modal-heading{color:#002856;margin:0 0 20px}.modal-image{border-radius:.25rem;height:200px;margin-bottom:20px;object-fit:cover;width:100%}.modal-text{line-height:1.6;margin-bottom:20px}.modal-text--muted{font-style:italic}.image-carousel{display:flex;flex-direction:column;max-height:90vh;max-width:90vw;min-height:0;position:relative}#carousel-container{margin:0;padding:0;width:100%}.carousel-image{display:block;flex-shrink:0;height:auto;max-height:calc(90vh - 150px);object-fit:contain;width:100%}.carousel-caption{background:rgba(0,0,0,.05);flex-shrink:0;max-height:120px;min-height:60px;overflow-y:auto;padding:15px;text-align:center}.carousel-caption__title{font-variation-settings:"wght" 500;font-weight:500;margin:0}.carousel-caption__text{color:#666;font-size:14px;margin:5px 0 0}.modal-content.image-carousel{max-height:none}.modal-content.image-carousel .carousel-caption{max-height:none;overflow:visible}.carousel-nav{background:rgba(0,0,0,.5);border:none;border-radius:.25rem;color:#fff;cursor:pointer;font-size:18px;padding:15px;position:absolute;top:50%;transform:translateY(-50%);transition:background .2s ease}.carousel-nav:hover{background:rgba(0,0,0,.7)}.carousel-prev{left:0}.carousel-next{right:0}.carousel-indicators{background:rgba(0,0,0,.05);display:flex;flex-shrink:0;gap:8px;justify-content:center;margin-top:auto;min-height:50px;padding:15px}.indicator{background:rgba(0,0,0,.3);border-radius:50%;cursor:pointer;height:12px;transition:background .2s ease;width:12px}.indicator.active{background:#002856}.contact-content{max-width:500px;padding:30px}.contact-section{margin-bottom:25px}.contact-section h3{color:#002856;font-size:18px;margin:0 0 10px}.contact-list{list-style:none;margin:0;padding:0}.contact-list li{align-items:center;display:flex;gap:10px;padding:5px 0}.contact-list i{color:#002856;width:16px}.contact-list a{color:#002856;text-decoration:none}.contact-list a:hover{text-decoration:underline}.tour-loading{align-items:center;background:#002856;bottom:0;color:#fff;display:flex;flex-direction:column;justify-content:center;left:0;position:fixed;right:0;top:0;transition:opacity .5s ease;z-index:9999}.tour-loading.hide{opacity:0;pointer-events:none}.loading-spinner{animation:spin 1s linear infinite;border:3px solid hsla(0,0%,100%,.3);border-radius:50%;border-top-color:#fff;height:40px;margin-bottom:20px;width:40px}@keyframes spin{0%{transform:rotate(0deg)}to{transform:rotate(1turn)}}@media(max-width:1279px){.info-panel{border-radius:0;bottom:0;height:100vh;left:0;max-height:none;max-width:none;right:0;top:0;transform:translateY(100%);width:100vw;z-index:1020}.info-panel.show{transform:translateY(0)}}@media(max-width:1023px){.navigation-panel{width:280px}.building-name{padding:15px 25px 25px}.building-name h1{font-size:clamp(16px,3.5vw,24px)}.tour-nav-arrow{font-size:20px;min-height:70px;min-width:50px;padding:15px}.tour-nav-prev{left:0}.tour-nav-next{right:0}}@media(min-width:1024px){.lg\:hidden .map-control-button{display:none!important}.tour-nav-prev{left:320px}.tour-nav-next{right:420px}}@media(min-width:1280px){.tour-controls-vertical .map-control-button{display:none!important}.tour-nav-prev{left:300px}.tour-nav-next{right:400px}}@media(max-width:767px){.tour-modal{align-items:center;overflow-y:auto}.modal-content.image-carousel{max-height:90vh;max-width:90vw;width:90vw}.carousel-caption{max-height:120px;overflow-y:auto}.building-name{padding:12px 16px 20px}.building-name h1{font-size:clamp(16px,4vw,22px);font-variation-settings:"wght" 500;font-weight:500}.tour-nav-arrow{font-size:18px;min-height:60px;min-width:44px;padding:12px;top:50%}.tour-nav-prev{left:0}.tour-nav-next{right:0}.tour-controls-vertical{top:100px!important;z-index:1003}.campus-tour-container .absolute.left-4{top:100px;z-index:1003}.navigation-panel{z-index:1015}.info-panel,.map-control-button,.navigation-panel,.tour-nav-arrow{backdrop-filter:none!important;-webkit-backdrop-filter:none!important}.navigation-panel{background:#fff!important;box-shadow:1px 0 10px rgba(0,0,0,.08)!important}.info-panel{background:#fff!important;box-shadow:0 4px 24px rgba(0,0,0,.12)!important}.map-control-button{box-shadow:0 2px 8px rgba(0,0,0,.12)!important}}.info-panel::-webkit-scrollbar,.location-list::-webkit-scrollbar{width:6px}.info-panel::-webkit-scrollbar-track,.location-list::-webkit-scrollbar-track{background:transparent}.info-panel::-webkit-scrollbar-thumb,.location-list::-webkit-scrollbar-thumb{background:rgba(0,40,86,.3);border-radius:.25rem}.info-panel::-webkit-scrollbar-thumb:hover,.location-list::-webkit-scrollbar-thumb:hover{background:rgba(0,40,86,.5)}
