/* GENERAL BODY */
body{
  margin:0;
  font-family: Arial, Helvetica, sans-serif;
  line-height:1.6;
}

/* GLOBAL IMAGE RULE */
img{
  max-width:100%;
  height:auto;
}

/* HEADER / MENU */
header{
  background:#2b1361;
  padding:12px 0;
}

.nav{
  width:95%;
  margin:auto;
  display:flex;
  justify-content:space-between;
  align-items:center;
}

/* LOGO */
.logo{
  display:flex;
  align-items:center;
  color:white;
  font-size:22px;
  font-weight:bold;
}

.logo img{
  height:40px;
  margin-right:10px;
}

/* MENU LINKS */
.nav ul{
  display:flex;
  list-style:none;
  margin:0;
  padding:0;
}

.nav ul li{
  margin-left:25px;
}

.nav ul li a{
  color:white;
  cursor:pointer;
  text-decoration:none;
  font-size:16px;
  transition:0.3s;
}

.nav ul li a:hover,
.nav ul li a.active{
  color:yellow;
}

/* TAB CONTENT - not needed in multi-page version, kept for compatibility */
.tabcontent{
  display:block;
}

/* All page content uses a padded inner wrapper */
.tab-inner{
  padding:40px;
}

/* HOME FULLSCREEN BACKGROUND */
.homebg{
  background:
    linear-gradient(rgba(0,0,0,0.55), rgba(0,0,0,0.55)),
    url("pics/front_icapst.jpeg") center/cover no-repeat;
  height:100vh;
  display:flex;
  align-items:center;
  justify-content:center;
  text-align:center;
  color:white;
}

/* HERO TEXT */
.hero-text h1{
  font-size:44px;
  font-weight:bold;
  margin:10px 0;
  text-shadow:0 0 12px rgba(0,0,0,0.8);
}

.hero-text h2{
  color:yellow;
  font-size:26px;
  margin-bottom:10px;
}

.hero-text h3{
  color:yellow;
  font-size:24px;
  margin-top:10px;
}

/* MAIN LOGO BELOW HERO */
.mainlogo{
  margin-top:30px;
}

.mainlogo img{
  height:80px;
  vertical-align:middle;
}

.mainlogo span{
  font-size:40px;
  font-weight:bold;
  margin-left:12px;
  vertical-align:middle;
}

/* ORGANIZER INFO */
.organizer{
  margin-top:25px;
  font-size:18px;
}

.organizer img{
  height:60px;
  vertical-align:middle;
  margin-right:10px;
}

.organizer .orgtitle{
  color:yellow;
  font-weight:bold;
}

/* STYLED H2 HEADINGS - gradient pill/badge - applies to all pages */
h2{
  display: inline-block;
  background: linear-gradient(135deg, #2b1361, #1a6fa8);
  color: white;
  padding: 10px 35px;
  border-radius: 50px;
  font-size: 28px;
  margin: 20px auto 20px auto;
  text-align: center;
  box-shadow: 0 4px 15px rgba(43, 19, 97, 0.3);
  width: auto;
}

/* Center h2 badges on all pages */
body{
  text-align: center;
}

/* Keep main content text left-aligned */
p, ul, ol, table, .tab-inner, .about-block, .card{
  text-align: left;
}

/* Keep journal and sponsor sections centered */
.journal-section, .sponsors-section{
  text-align: center;
}


.welcome-section{
  background:#fff;
  color:#000;
  padding:50px 20px;
  max-width:100%;
  margin:50px auto;
  border-radius:20px;
  box-shadow:0 4px 20px rgba(0,0,0,0.08);
}

.welcome-section p{
  font-size:18px;
  line-height:1.8;
}

/* VENUE SECTION */
.venue-section{
  max-width:100%;
  margin:50px auto;
  text-align:center;
}

.venue-section img{
  border-radius:10px;
  margin-bottom:15px;
}

/* JOURNAL SECTION */
.journal-section{
  max-width:900px;
  margin:50px auto;
  padding:20px;
}

.journal-card{
  display:flex;
  flex-wrap:wrap;
  align-items:center;
  text-decoration:none;
  border:1px solid #e8e8e8;
  border-radius:12px;
  padding:15px;
  margin-bottom:20px;
  transition:0.3s;
  color:black;
}

.journal-card img{
  width:100px;
  margin-right:20px;
  border-radius:6px;
}

.journal-card:hover{
  box-shadow:0 4px 20px rgba(0,0,0,0.1);
}

.journal-info h4{
  margin:0 0 8px 0;
  color:#2b1361;
}

.journal-info p{
  margin:0;
  font-size:16px;
  line-height:1.5;
}

/* SPONSORS SECTION */
.sponsors-section{
  max-width:100%;
  margin:50px auto;
  text-align:center;
}

.sponsor-images img{
  display:block;
  margin:0 auto 25px auto;
  border-radius:20px;
}

/* SPONSOR IMAGE WITH OVERLAY TEXT */
.sponsor-overlay{
  position:relative;
  display:inline-block;
  max-width:100%;
  margin:0 auto 50px auto;
}

.sponsor-overlay img{
  width:100%;
  border-radius:20px;
  display:block;
}

/* TEXT ON IMAGE */
.sponsor-text{
  position:absolute;
  top:0;
  left:0;
  width:100%;
  height:100%;
  color:#002366;
  font-size:18px;
  line-height:1.6;
  padding:30px;
  background:rgba(255,255,255,0.6);
  border-radius:20px;
  box-sizing:border-box;
  display:flex;
  flex-direction:column;
  justify-content:center;
  text-align:center;
}

/* HERO welcome text - plain yellow, no box */
.hero-welcome{
  color: yellow;
  font-size: 26px;
  font-weight: bold;
  display: block;
  margin-bottom: 8px;
}

/* CONFERENCE FLYER button - yellow box, blue text, centered */
.flyer-btn{
  display: inline-block;
  background: linear-gradient(135deg, #f5c800, #ff8c00);
  color: #0645AD;
  font-size: 18px;
  font-weight: bold;
  padding: 12px 30px;
  border-radius: 50px;
  text-decoration: none;
  box-shadow: 0 4px 12px rgba(0,0,0,0.15);
  transition: 0.3s;
}

.flyer-btn:hover{
  opacity: 0.88;
  box-shadow: 0 6px 18px rgba(0,0,0,0.2);
}

/* SPONSORSHIP plain text box - light gray background */
.sponsorship-text-box{
  background: #f2f2f2;
  border-radius: 16px;
  padding: 25px 30px;
  font-size: 17px;
  line-height: 1.8;
  color: #333;
  text-align: left;
  margin: 0 auto 25px auto;
  max-width: 900px;
}

/* FOOTER */
footer{
  background:#2b1361;
  color:white;
  text-align:center;
  padding:25px 10px;
  font-size:16px;
  border-top:1px solid rgba(255,255,255,0.2);
}

footer p{
  margin:0;
  text-align:center;
}
.speaker-grid,
.committee-grid{
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(180px, 220px));
  column-gap: 20px;
  row-gap: 30px;
  justify-content: center;
  align-items: stretch;  /* all cards in a row stretch to same height */
}

.speaker-card,
.committee-card{
  text-align: center;
  padding: 15px;
  border: 1px solid #ddd;
  border-radius: 10px;
  transition: box-shadow 0.3s;
  display: flex;              /* flex column so card fills full height */
  flex-direction: column;
  align-items: center;
}

.speaker-card:hover,
.committee-card:hover {
  box-shadow: 0 4px 14px rgba(0,0,0,0.15);
}

.cm-role{
  flex: 1;   /* role text expands to fill remaining card height */
  font-size: 13px;
  line-height: 1.4;
  color: #333;
}

.speaker-card img {
  width: 150px;
  height: 150px;
  min-width: 150px;
  min-height: 150px;
  object-fit: cover;
  border-radius: 50%;
  display: block;
  margin: 0 auto 10px;
  flex-shrink: 0;
  border: 3px solid #f5c800;    /* yellow border on circle image */
}

.committee-card img {
  width: 150px;
  height: 150px;
  min-width: 150px;
  min-height: 150px;
  object-fit: cover;
  border-radius: 50%;
  display: block;
  margin: 0 auto 10px;
  flex-shrink: 0;
  border: 3px solid #f5c800;    /* yellow border on circle image */
}

.committee-card p {
  font-size: 14px;
  line-height: 1.4;
}

.committee-card strong {
  font-size: 16px;
}


/* SINGLE CARD GRIDS - double size */
.committee-grid.single-card{
  grid-template-columns: 1fr;
}

.committee-grid.single-card .committee-card{
  width: 320px;
  padding: 25px;
  margin: 0 auto;
}

.committee-grid.single-card .committee-card img{
  width: 280px;
  height: 280px;
  min-width: 280px;
  min-height: 280px;
  border: 4px solid #f5c800;
}

.committee-grid.single-card .committee-card strong{
  font-size: 20px;
}

.committee-grid.single-card .committee-card p{
  font-size: 16px;
}

/* Spacing between committee sections:
   large top margin to clear any card above,
   zero bottom so h3 badge sits snug below heading */
.committee-section{
  text-align: center;
  margin-top: 60px;
  margin-bottom: 0;
  padding-bottom: 0;
}

.committee-section:first-of-type{
  margin-top: 10px;
}

/* h3 inside committee-section: no extra top margin, tight bottom */
.committee-section h3.yellow-h3{
  margin-top: 0;
  margin-bottom: 8px;
}


.card{
  background:#fff;
  color:#000;
  padding:40px 20px;
  max-width:1100px;
  margin:40px auto;
  border-radius:20px;
  box-shadow:0 4px 20px rgba(0,0,0,0.08);
}

.card h3{
  text-align:center;
  color:#2b1361;
  margin-bottom:15px;
}

.card p{
  font-size:18px;
  line-height:1.8;
}

/* H3 YELLOW-ORANGE GRADIENT BADGE */
h3.yellow-h3{
  display: table;
  background: linear-gradient(135deg, #f5c800, #ff8c00);
  color: #0645AD;
  padding: 8px 30px;
  border-radius: 50px;
  font-size: 20px;
  margin: 40px auto 15px auto;
  box-shadow: 0 3px 10px rgba(0,0,0,0.12);
  text-align: center;
}

/* H3 YELLOW-PURPLE GRADIENT BADGE (for Dept of Physics) */
h3.purple-h3{
  display: table;
  background: linear-gradient(135deg, #f5c800, #6a0dad);
  color: white;
  padding: 8px 30px;
  border-radius: 50px;
  font-size: 20px;
  margin: 40px auto 15px auto;
  box-shadow: 0 3px 10px rgba(0,0,0,0.12);
  text-align: center;
}

/* YELLOW BORDERED BOX */
.yellow-box{
  border: 2px solid #f5c800;
  border-radius: 12px;
  padding: 20px 25px;
  margin: 15px auto;
  background: #fff;
}

/* TWO-COLUMN layout for guidelines */
.two-col{
  display: flex;
  gap: 20px;
  align-items: flex-start;
  flex-wrap: wrap;
}
.two-col .col-left{ flex:2; min-width:220px; }
.two-col .col-right{
  flex:1; min-width:160px;
  display:flex; flex-direction:column;
  gap:12px; align-items:center; justify-content:center;
}

/* TEMPLATE BUTTONS */
.template-btn{
  display: block;
  width: 100%;
  padding: 12px 10px;
  background: linear-gradient(135deg, #2b1361, #1a6fa8);
  color: white;
  text-align: center;
  border-radius: 8px;
  text-decoration: none;
  font-weight: bold;
  font-size: 15px;
  box-shadow: 0 3px 8px rgba(0,0,0,0.15);
  transition: 0.3s;
}
.template-btn:hover{ opacity:0.88; }

/* REGISTRATION TABLE */
.reg-table-wrap{
  max-width: 800px;
  margin: 0 auto 30px auto;
  overflow-x: auto;
}
.reg-table-wrap table{ width:100%; border-collapse:collapse; text-align:center; }
.reg-table-wrap th{
  background: #1a3a6a;
  color: #f5c800;
  padding: 10px;
  font-size: 15px;
  font-weight: bold;
  border: 1px solid #ccc;
}
.reg-table-wrap td{ padding:9px 10px; border:1px solid #ccc; color:#001f5b; font-size:15px; }
/* Section header rows: light yellow background, blue bold text */
.reg-table-wrap tr.section-header td{
  background: #fffde7;
  color: #0645AD;
  font-weight: bold;
}
/* Tour row */
.reg-table-wrap tr.tour-row td{
  background: #fffde7;
}
.reg-table-wrap tr.tour-row td .tour-title{
  color: #0645AD;
  font-weight: bold;
  display: block;
  margin-bottom: 4px;
}
.reg-table-wrap tr.tour-row td .tour-detail{
  color: #222;
  font-weight: normal;
}

/* Registration footnote */
.reg-footnote{
  max-width: 800px;
  margin: 4px auto 20px auto;
  text-align: left;
  font-size: 13px;
  color: #555;
}
.reg-footnote p{ margin: 2px 0; }

/* TRACK BOX - heading + bullet list, auto width */
.track-boxes-wrap{
  display: flex;
  flex-wrap: wrap;
  gap: 16px;
  justify-content: center;
  margin-bottom: 20px;
  max-width: 1020px;   /* fits exactly 3 boxes of ~320px before wrapping */
  margin-left: auto;
  margin-right: auto;
}

.track-box{
  display: flex;
  flex-direction: column;
  border: 2px solid #f5c800;
  border-radius: 12px;
  overflow: hidden;
  width: 300px;
  vertical-align: top;
}

.track-box-heading{
  background: #1a3a6a;
  color: #f5c800;
  font-weight: bold;
  font-size: 14px;
  padding: 8px 14px;
  text-align: center;
}

.track-box ul{
  margin: 0;
  padding: 10px 10px 10px 28px;
  text-align: left;
  font-size: 14px;
  line-height: 1.7;
}

/* THREE PARALLEL BOXES */
.three-col{
  display: flex;
  gap: 16px;
  flex-wrap: wrap;
  justify-content: center;
  margin: 15px auto;
}

.info-card{
  flex: 1;
  min-width: 200px;
  max-width: 340px;
  border: 2px solid #f5c800;
  border-radius: 12px;
  overflow: hidden;
}

.info-card-heading{
  background: #fffde7;
  color: #0645AD;
  font-weight: bold;
  font-size: 15px;
  padding: 10px 14px;
  text-align: center;
  border-bottom: 1px solid #f5c800;
}

.info-card-body{
  padding: 12px 16px;
  font-size: 14px;
  line-height: 1.6;
  text-align: left;
}

/* TRAVEL PAGE - image left, text right */
.travel-box{
  display: flex;
  gap: 0;
  border-radius: 12px;
  overflow: hidden;
  margin: 15px auto;
  max-width: 900px;
  border: 2px solid #f5c800;
}

.travel-box img{
  width: 40%;
  min-width: 180px;
  object-fit: cover;
  display: block;
}

.travel-box-text{
  padding: 20px 24px;
  flex: 1;
  font-size: 1.15rem;
  line-height: 1.8;
  display: flex;
  align-items: flex-start;
  color: #222;
  background: #fff;
}

@media (max-width: 600px){
  .travel-box{
    flex-direction: column;
  }
  .travel-box img{
    width: 100%;
    min-width: unset;
    height: auto;          /* natural height — no cropping */
    object-fit: contain;   /* show full image */
  }
  .travel-box-text{
    font-size: 14px;
    padding: 15px;
  }
}

/* GUIDELINES / ONLINE BOX */
.guidelines-box,
.online-box{
  max-width: 800px;
  margin: 0 auto 20px auto;
  text-align: left;
  border: 2px solid #f5c800;
  border-radius: 12px;
  padding: 20px 25px;
  background: #fff;
}

/* CENTER all h2 - use display table so width fits content, margin auto centers it */
h2{
  display: table;
  margin-left: auto;
  margin-right: auto;
  text-align: center;
}

/* CM-NAME - blue and bold in speaker/committee cards */
.cm-name{
  color: #0645AD;
  font-weight: bold;
  margin: 6px 0 4px 0;
  font-size: 15px;
}

/* ADVISORY COMMITTEE strong text - blue */
.committee-card strong{
  color: #0645AD;
}

/* HAMBURGER BUTTON - hidden on desktop */
.hamburger{
  display:none;
  flex-direction:column;
  justify-content:space-between;
  width:30px;
  height:22px;
  background:none;
  border:none;
  cursor:pointer;
  padding:0;
}

.hamburger span{
  display:block;
  height:3px;
  width:100%;
  background:white;
  border-radius:3px;
  transition:0.3s;
}

/* MOBILE RESPONSIVE DESIGN */
@media (max-width:768px){

.hamburger{
  display:flex;
}

.nav{
  flex-wrap:wrap;
  position:relative;
}

.nav ul{
  display:none;
  flex-direction:column;
  width:100%;
  background:#2b1361;
  margin-top:10px;
  border-top:1px solid rgba(255,255,255,0.2);
}

.nav ul.open{
  display:flex;
}

.nav ul li{
  margin:0;
  border-bottom:1px solid rgba(255,255,255,0.1);
}

.nav ul li a{
  display:block;
  padding:12px 15px;
  font-size:16px;
}

.tab-inner{
  padding:25px 15px;
}

/* Prevent hero text from overflowing on small screens */
.homebg{
  padding:20px;
  box-sizing:border-box;
  height:auto;
  min-height:100vh;
}

.hero-text{
  width:100%;
  box-sizing:border-box;
}

.hero-text h1{
  font-size:22px;
  word-break:break-word;
}

.hero-text h2{
  font-size:18px;
}

.hero-text h3{
  font-size:18px;
}

.mainlogo img{
  height:60px;
}

.mainlogo span{
  font-size:22px;
}

.organizer{
  font-size:14px;
}

.organizer img{
  height:40px;
}

.welcome-section{
  padding:30px 15px;
}

.welcome-section h2{
  font-size:26px;
}

.welcome-section p{
  font-size:16px;
}

.venue-section{
  margin:30px auto;
}

.journal-card{
  flex-direction:column;
  text-align:center;
}

.journal-card img{
  margin:0 0 15px 0;
}

.sponsor-text{
  font-size:15px;
  padding:15px;
}

.speaker-grid,
.committee-grid{
  grid-template-columns: repeat(auto-fit, minmax(140px, 180px));
}

footer{
  font-size:14px;
  padding:20px 10px;
}
}
