/* Blog style card for events/news */
.blog-card {
  transition: box-shadow 0.2s, transform 0.2s;
  background: #fff;
}
.blog-card:hover {
  box-shadow: 0 8px 32px rgba(44,62,80,0.18), 0 1.5px 8px rgba(44,62,80,0.10);
  transform: translateY(-4px) scale(1.01);
}
.blog-card-img-wrapper {
  overflow: hidden;
  background: #f8f9fa;
}
.blog-card .badge {
  font-size: 1rem;
  letter-spacing: 0.03em;
  box-shadow: 0 2px 8px rgba(0,0,0,0.08);
}
.blog-card .card-title {
  font-size: 1.2rem;
  font-weight: 700;
}
.blog-card .card-text {
  color: #333;
  font-size: 1rem;
}
.blog-card .btn {
  font-weight: 600;
  letter-spacing: 0.02em;
}
.contact-icon-bold {
  text-shadow: 0 1px 0 #2221;
}
.custom-header {
  position: relative;
  z-index: 2;
  height: 180px;
}

/* Overlay navbar styles */
.overlay-navbar {
  position: relative;
  left: 0;
  right: 0;
  width: 100%;
  bottom: 0; /* Half overlaps header and hero */
  z-index: 10;
  /* box-shadow: 0 4px 16px rgba(0,0,0,0.08); */
  /* border-radius: 0 0 18px 18px; */
}

@media (max-width: 991px) {
  .overlay-navbar {
    position: static;
    border-radius: 0;
    box-shadow: none;
    margin-bottom: 0;
  }
}

/* Add top padding to hero so content is not hidden behind navbar */
.hero {
  position: relative;
  padding-top: 5rem;
}
/* Custom styles for UM2 demo */
:root{
  --blue:#0a75b8;
  --deep:#0b6aa9;
}
body{font-family:system-ui,-apple-system,Segoe UI,Roboto,'Helvetica Neue',Arial}
.topbar{background:var(--blue)}
.bg-blue{background:var(--deep)}
.hero{background-size:cover;background-position:center;padding:120px 0;position:relative}
.hero .rector-img{width:180px;border:6px solid rgba(255,255,255,0.12)}
.bg-info{background:#2f89ef}
.card{border:none}
.rounded-circle{border:6px solid #fff}
@media (max-width:768px){
  .hero{padding:80px 0}
  .hero .rector-img{width:140px}
}

/* Top social and header */
.top-social{background:#2604d4}
.header-main h3{font-size:20px;font-weight:700}
.navbar.sticky-top{box-shadow:0 2px 6px rgba(0,0,0,.08)}
.navbar.navbar-dark .nav-link.nav-highlight{background:#00bff1;color:#fff;border-radius:6px;padding:.45rem 1rem}
.navbar.navbar-dark .nav-link{color:#e6f6ff}
.navbar.navbar-dark .nav-link:hover{color:#fff}
@media (max-width:991px){ .header-main .d-none.d-md-flex{display:none!important} }

/* Featured image cards below hero */
.feature-links{margin-top: auto;margin-bottom: auto;padding: 10px;}
.feature-card{background:#fff;width:320px;border-radius:4px;box-shadow:0 8px 20px rgba(11,106,169,0.12);overflow:hidden}
.feature-card img{display:block;width:100%;height:auto}
.feature-plus{position:absolute;right:16px;top:12px;width:46px;height:46px;border-radius:50%;background:#00b0df;color:#fff;display:flex;align-items:center;justify-content:center;font-size:20px;box-shadow:0 0 0 6px rgba(255,255,255,0.5)}
.feature-card h5{ text-align:center }

/* About section */
.about-section{
  background:linear-gradient(180deg,#f7fbff 0%,#ffffff 100%);
}
.about-section-media{
  position:relative;
  padding:24px 24px 54px;
  background:linear-gradient(145deg,#d8edf8 0%,#fdf4d2 100%);
  border-radius:32px;
  box-shadow:0 18px 50px rgba(10,117,184,0.12);
}
.about-section-image{
  width:100%;
  max-height:420px;
  object-fit:cover;
  border-radius:24px;
  display:block;
}
.about-section-badge{
  position:absolute;
  left:32px;
  right:32px;
  bottom:18px;
  padding:14px 18px;
  background:#ffffff;
  border-radius:20px;
  display:flex;
  align-items:center;
  gap:12px;
}
.about-section-badge-value{
  flex:0 0 auto;
  min-width:64px;
  padding:10px 12px;
  border-radius:14px;
  background:#0a75b8;
  color:#fff;
  font-weight:800;
  letter-spacing:.08em;
  text-align:center;
}
.about-section-badge-label{
  color:#214a63;
  font-weight:600;
  line-height:1.4;
}
.about-section-copy{
  padding-left:12px;
}
.about-section-eyebrow{
  display:inline-block;
  margin-bottom:12px;
  color:#0a75b8;
  font-weight:800;
  letter-spacing:.12em;
  text-transform:uppercase;
}
.about-section-title{
  margin-bottom:16px;
  color:#103a55;
  font-weight:800;
  line-height:1.15;
}
.about-section-lead{
  margin-bottom:14px;
  color:#214a63;
  font-size:1.08rem;
  line-height:1.8;
}
.about-section-text{
  color:#4e6474;
  line-height:1.8;
}
.about-stat-card{
  height:100%;
  padding:18px;
  background:#fff;
  border:1px solid rgba(10,117,184,0.12);
  border-radius:20px;
  box-shadow:0 10px 24px rgba(16,58,85,0.06);
}
.about-stat-card strong{
  display:block;
  margin-bottom:6px;
  color:#103a55;
  font-size:1rem;
}
.about-stat-card span{
  color:#5b7282;
  font-size:.95rem;
  line-height:1.6;
}
.about-section-actions .btn-primary{
  background:#0a75b8;
  border-color:#0a75b8;
  font-weight:700;
}
.about-section-actions .btn-primary:hover{
  background:#085b8f;
  border-color:#085b8f;
}
@media (max-width:767px){
  .feature-links{margin-top:-40px}
  .feature-card{width:240px}
  .feature-plus{right:10px;top:8px;width:40px;height:40px}
  .about-section-media{padding:18px 18px 72px}
  .about-section-badge{
    left:18px;
    right:18px;
    bottom:12px;
    flex-direction:column;
    align-items:flex-start;
  }
  .about-section-copy{padding-left:0}
}

/* Event & Activities */
.event-activities h3{letter-spacing:1px;font-weight:700}
.event-toggle{display:inline-block;width:46px;height:20px;background:#e9ecef;border-radius:20px;position:relative}
.event-toggle::after{content:'';width:18px;height:18px;background:#fff;border-radius:50%;position:absolute;left:3px;top:1px;box-shadow:0 1px 3px rgba(0,0,0,0.08)}
.event-box{min-height:160px}
.event-text{color:var(--blue);font-size:18px;line-height:1.9;text-align:center}
@media (max-width:767px){
  .event-box{min-height:120px;padding-left:18px;padding-right:18px}
  .event-box.border-start,.event-box.border-end{border:none}
}

/* Photo gallery */
.photo-gallery-section{
  background:linear-gradient(180deg,#f4fbff 0%,#ffffff 100%);
}
.gallery-header{
  max-width:640px;
  margin:0 auto;
}
.gallery-eyebrow{
  display:inline-block;
  margin-bottom:10px;
  color:#0a75b8;
  font-weight:800;
  letter-spacing:.14em;
  text-transform:uppercase;
}
.gallery-title{
  color:#103a55;
  font-weight:800;
}
.gallery-carousel{
  position:relative;
  border-radius:28px;
  overflow:hidden;
  background:transparent;
  padding:32px 56px 56px;
}
.gallery-viewport{
  overflow:hidden;
  border-radius:24px;
}
.gallery-track{
  display:flex;
  gap:24px;
  transition:transform .35s ease;
  will-change:transform;
}
.gallery-card{
  flex:0 0 calc((100% - 72px) / 4);
}
.gallery-slide{
  position:relative;
  overflow:hidden;
  border-radius:22px;
  background:#ffffff;
  box-shadow:0 18px 38px rgba(0,0,0,0.18);
}
.gallery-slide::after{
  content:"";
  position:absolute;
  inset:0;
  background:linear-gradient(180deg,rgba(0,0,0,0.04) 0%,rgba(0,0,0,0.10) 55%,rgba(0,0,0,0.48) 100%);
  pointer-events:none;
}
.gallery-slide-image{
  height:320px;
  width:100%;
  object-fit:cover;
}
.gallery-slide-caption{
  position:absolute;
  left:0;
  right:0;
  bottom:0;
  z-index:1;
  padding:22px 28px;
  background:rgba(9,39,60,0.28);
  backdrop-filter:blur(3px);
  border-radius:0 0 22px 22px;
}
.gallery-slide-caption h4{
  margin:0;
  color:#fff;
  font-weight:700;
  font-size:1rem;
}
.gallery-controls{
  position:absolute;
  inset:0;
  display:flex;
  align-items:center;
  justify-content:space-between;
  padding:0 18px;
  pointer-events:none;
}
.gallery-control-btn{
  width:48px;
  height:48px;
  border:0;
  border-radius:50%;
  display:inline-flex;
  align-items:center;
  justify-content:center;
  background:rgba(0,0,0,0.35);
  transition:background-color .2s ease, opacity .2s ease;
  pointer-events:auto;
}
.gallery-control-btn:hover:not(:disabled){
  background:rgba(255,255,255,0.3);
}
.gallery-control-btn:disabled{
  opacity:.45;
}
.gallery-control-btn .carousel-control-prev-icon,
.gallery-control-btn .carousel-control-next-icon{
  width:1.25rem;
  height:1.25rem;
}
@media (max-width:991px){
  .gallery-carousel{padding:24px 42px 52px}
  .gallery-card{flex-basis:calc((100% - 24px) / 2)}
  .gallery-slide-image{height:260px}
}
@media (max-width:767px){
  .gallery-carousel{padding:18px 52px 46px}
  .gallery-track{gap:18px}
  .gallery-card{flex-basis:100%}
  .gallery-slide-image{height:220px}
  .gallery-slide-caption{
    padding:16px 18px;
    background:rgba(9,39,60,0.34);
  }
  .gallery-slide-caption h4{font-size:1rem}
  .gallery-controls{padding:0 10px}
  .gallery-control-btn{
    width:42px;
    height:42px;
  }
}

/* Map flex layout */
.map-flex{display:flex;min-height:300px}
.map-flex iframe{border:0;width:100%;height:100%;flex:1}
.map-info{background:#fff}
@media (max-width:767px){
  .map-flex{min-height:200px}
  .map-info{min-height:auto}
}

/* Contact section */
.contact-section{
  background:linear-gradient(135deg,#0a75b8 0%,#073a67 100%);
  padding:90px 0 80px;
  position:relative;
  overflow:hidden;
}
.contact-section::before{
  content:"";
  position:absolute;
  inset:auto auto -120px -80px;
  width:320px;
  height:320px;
  border-radius:50%;
  background:rgba(255,255,255,0.08);
}
.contact-form-shell{
  position:relative;
  padding:36px;
  border-radius:32px;
  background:rgba(8,28,49,0.34);
  border:1px solid rgba(255,255,255,0.16);
  box-shadow:0 24px 60px rgba(0,0,0,0.18);
  backdrop-filter:blur(10px);
}
.contact-form-header{margin-bottom:8px}
.contact-form-kicker{
  display:inline-block;
  margin-bottom:10px;
  color:#b9ebff;
  font-weight:800;
  letter-spacing:.16em;
}
.contact-form-intro{
  color:rgba(255,255,255,0.82);
  line-height:1.8;
  max-width:560px;
}
.contact-field{position:relative}
.contact-label{
  display:block;
  margin-bottom:10px;
  color:#d8f2ff;
  font-weight:700;
  font-size:.95rem;
}
.contact-input-wrap{
  display:flex;
  align-items:center;
  gap:12px;
  padding:0 16px;
  background:rgba(255,255,255,0.1);
  border:1px solid rgba(255,255,255,0.2);
  box-shadow:inset 0 1px 0 rgba(255,255,255,0.08);
  transition:border-color .2s ease, background-color .2s ease, box-shadow .2s ease;
}
.contact-input-wrap:focus-within{
  border-color:rgba(252,182,21,0.95);
  background:rgba(255,255,255,0.14);
  box-shadow:0 0 0 4px rgba(252,182,21,0.16);
}
.contact-input-wrap i{
  color:#fcf3bf;
  font-size:1rem;
  flex:0 0 auto;
}
.contact-textarea-wrap{
  align-items:flex-start;
  padding-top:14px;
}
.contact-section .form-control,
.contact-section .form-select{
  background:transparent;
  border:0;
  color:#ffffff;
  box-shadow:none;
  padding-left:0;
}
.contact-section .form-control:focus,
.contact-section .form-select:focus{
  background:transparent;
  color:#ffffff;
  box-shadow:none;
}
.contact-section .form-control::placeholder,
.contact-section .form-select,
.contact-section .form-select option:first-child{color:rgba(255,255,255,0.72)}
.contact-section .form-select option{color:#103a55}
.contact-section textarea.form-control{resize:none;padding-top:0}
.contact-form-footer{
  display:flex;
  align-items:center;
  gap:18px;
  flex-wrap:wrap;
}
.contact-submit-btn{
  min-width:170px;
  border-radius:999px;
  border:0;
  background:linear-gradient(90deg,#fcb615 0%,#ffd867 100%);
  color:#103a55;
  font-weight:800;
  padding-top:12px;
  padding-bottom:12px;
  box-shadow:0 18px 30px rgba(252,182,21,0.28);
}
.contact-submit-btn:hover{
  background:linear-gradient(90deg,#ffd867 0%,#fcb615 100%);
  color:#103a55;
}
.contact-form-note{
  color:rgba(255,255,255,0.72);
  font-size:.95rem;
}
/* Collage — match provided image design */
.collage-grid{
    position:relative;
    width:640px;
    height:420px;
    margin:auto;
    display:block;
}
.collage-center{
    position:absolute;
    top:50%;left:50%;
    transform:translate(-50%,-50%);
    width:420px;
    height:220px;
    z-index:1;
    background:#cfe9ff;
    text-align:center;
    border-radius:30px;
    display:flex;
    align-items:center;
    justify-content:center;
    box-shadow:0 12px 44px rgba(0,0,0,0.14);
    padding:10px;
}
.collage-center h4{color:#214a63;font-weight:800;line-height:1.05;letter-spacing:1px;font-size:28px;font-family:Georgia,serif}
.collage-item{
    position:absolute;
    width:170px;
    height:120px;
    border-radius:30px;
    padding:auto;
    background:transparent;
    display:flex;
    align-items:center;
    justify-content:center;
    box-shadow:0 12px 36px rgba(0,0,0,0.12);
    overflow:hidden;
    border:10px solid #fff;
    transition:transform .24s ease,box-shadow .24s ease;
    z-index:2;
}
.collage-item img{
    width:100%;
    height:100%;
    object-fit:cover;
    border-radius:16px;
    transition:transform .32s ease;
}
.collage-item:hover{
    transform:translateY(-6px);
    box-shadow:0 22px 44px rgba(0,0,0,0.18);
}
.pos-a{top:4%;left:6%}
.pos-b{top:4%;left:50%;transform:translateX(-50%)}
.pos-c{top:4%;right:6%}
.pos-d{top:36%;left:6%}
.pos-e{top:36%;right:6%}
.pos-f{bottom:4%;left:6%}
.pos-g{bottom:4%;left:50%;transform:translateX(-50%)}
.pos-h{bottom:4%;right:6%}

@media (max-width:991px){
  .collage-grid{width:460px;height:360px}
  .collage-item{width:140px;height:90px}
  .collage-center{width:300px;height:180px}
}
@media (max-width:767px){
  .collage-grid{display:flex;flex-wrap:wrap;justify-content:center;gap:12px;width:auto;height:auto}
  .collage-item{position:static;width:86px;height:86px;border-radius:12px;padding:6px}
  .collage-center{position:static;min-width:160px;padding:12px;border-radius:0}
  .contact-section{padding:56px 0 40px}
  .contact-form-shell{padding:24px}
  .contact-form-footer{align-items:flex-start}
}

/* Footer */
.site-footer{background:var(--blue)}
.site-footer h5{color:#fff}
.site-footer .social-btn{width:36px;height:36px;background:#222;display:inline-flex;align-items:center;justify-content:center;border-radius:4px;color:#fff;text-decoration:none}
.site-footer a.text-white{opacity:.95;text-decoration:none}
.site-footer .form-control{background:#fff;border:none}
.site-footer .btn-light{background:#fff;border-color:#fff;color:var(--blue)}
@media (max-width:767px){
  .site-footer .row{text-align:center}
}

/* Custom row gap */
.row.custom-gap {
  row-gap: 20px; /* Adjust vertical spacing */
  column-gap: 20px; /* Adjust horizontal spacing */
}