@charset "utf-8";

.header {
	display: flex;
	flex-direction: row;
	justify-content:  space-between;
	font-family: "Inria Sans", sans-serif;
    font-weight: bold;
    color: #2E3192;
	align-items: center;
}

.navbar {
	background-color:#FFF5DC;
	border-top: 0.3rem solid #2e3192;
    border-bottom: 0.3rem solid #2e3192;
}

.navbar ul {
	list-style-type: none;
}

.nav-link:hover{
  color: red !important;
}

.nav-links .nav-link {
  padding: 1rem 1rem;
  color: #2E3192;
  text-decoration: none;
  transition: background-color 0.3s ease;
  font-weight: bold;
}

.nav-links .nav-link:hover,

.custom-dropdown {
	position: relative;
}

.custom-dropdown .dropdown-menu {
  display: none;
  position: absolute;   
  top: 100%;            
  left: 0;
  z-index: 1000;       
}

.custom-dropdown:hover .dropdown-menu {
  display: block;
   background-color: #FFF5DC;  
  border: 1px solid #FFCC66;     
  border-radius: 4px;          
}

.navbar .dropdown-item {
  font-family: "Inria Sans", sans-serif;
  font-weight: bold;
  color: #2E3192;
}

.navbar .dropdown-item:hover {
  color: red;
  background-color: #FFE9B3 !important;
}

.nav-icons {
  display: flex;
  align-items: center;
  gap: 1rem; 
  padding-right: 2rem;
}

.nav-icons i {
  font-size: 1.3rem;
  color: #241d60;
  cursor: pointer;
}

.nav-icons a i {
    color:  #241d60;
    transition: color 0.3s ease;
    cursor: pointer;
}

.nav-icons a i:hover {
    color: rgb(226, 36, 36);
}

.hover-icon {
  position: absolute;
  transform: translate(-50%, -50%);
  text-align: center;
}

.divider {
  border-left: px solid #000;
  height: 1.2rem;
}

.logo img {
  margin-right:2rem;
  width: 8rem;
  height: auto;
}

.logo {
	padding-left: 2.5rem;
}

body {
	padding-top: 90px;
	background-color: #FFF5DC !important;
}

.main {
	width: 100%;
}

.container {
	width: 100%;
}

.welcomebackground {
    width: 100%;
    display: block;
    padding: 0;
}

.welcomebackground img {
	display: block;
	height: auto;
	width: 100%;
}

.cylinder-menu {
    position: relative;
    background-color: #ffcc66;
    border-radius: 50px;
    display: flex;
    justify-content: space-around;
    align-items: center;
    padding: 1.5% 2%; /* Use percentages for responsive padding */
    width: 60%; /* This is fine, but you could use a max-width */
    max-width: 800px; /* Optional: Sets a maximum size for the menu */
    margin: -50px auto;
    margin-top: -30px;
    z-index: 20;
    /* Remove the fixed height: The height will be determined by padding and content. */
    box-shadow: 2px 4px 10px rgba(0, 0, 0.3, 0.1);
}

.cylinder-menu a {
	text-decoration:  none;
	font-size: 1rem;
	font-family: "Inria Sans", sans-serif;
    font-weight: bold;
    color: #2E3192;
}

.cylinder-menu a:hover {
	color:rgb(226, 36, 36);
}
.after-image-padding {
	height: 50px;
}

.news {
  display: flex;
  justify-content: center;
  gap: 30px;
  padding: 40px 10px;
}

.latestnewsbox,
.upcomingeventsbox,
.campusannouncementsbox {
  background-color: #ffcc66;
  border-radius: 8px;
  padding: 20px 20px 60px; /* 给底部留空间给 View More */
  width: 100%;
  box-shadow: 0 4px 10px rgba(0, 0, 0, 0.1);
  position: relative;
}

.latestnews,
.upcomingevents,
.campusannouncements {
  background-color: #fff5dc;
  display: inline-block;
  padding: 5px 20px;
  border-radius: 30px;
  font-weight: 560;
  font-size: 1rem;
  margin-bottom: 20px;
  font-family: "Inria Sans", sans-serif;
    font-weight: bold;
    color: #2E3192;
}

.news-group li,
.events-group li,
.announcements-group li {
  margin-bottom: 15px;
  line-height: 1.5;
  font-family: "Inria Sans", sans-serif;
    color: #333;
  
}

.news-group li a:hover,
.announcements-group li a:hover {
  color: rgb(226, 36, 36);
}

.viewmore {
  position: absolute;
  bottom: 20px;
  right: 25px;
}

.viewmore a {
  font-family: "Inria Sans", sans-serif;
    font-weight: bold;
    color: #2E3192;
  font-size: 1.1rem;
  text-decoration: none;
}

.viewmore a:hover {
  color: rgb(226, 36, 36);
}

.abouttheschoolbox {
	display: flex;
	flex-direction: row;
	justify-content:  space-between;
	align-content: center;
	align-items: center;
padding-top: 20px;
padding-left: 1rem;
padding-bottom: 60px;
}

.aboutcontentbox {
	display: block;
	justify-content: space-around;
padding-left: 5rem;	
text-align: justify;
padding-right: 1rem;
}

.hongteckguanbuilding img {
	width: 100%;
	height: auto;
}
.abouttitle {
	padding-top: 4rem;
	padding-bottom: 1rem;
	font-size: 3rem;
	font-family: "crimson text", serif;
	font-weight: bold;
	font-style: italic;
    color: #2E3192;
	letter-spacing: 0.04em;
}

.aboutdescp {
	line-height: 1.6;
	color: #333;
	font-family: "Inria Sans", sans-serif;
}

.learnmore {
  padding-top: 2rem;
  text-align: end;
}

.learnmore a {
  font-family: "Inria Sans", sans-serif;
    font-weight: bold;
    color: #2E3192;
  font-size: 1.1rem;
  text-decoration: none;
}

.learnmore a:hover {
  color: rgb(226, 36, 36);
}

.academicexcellencebox {
	background-color: #eae1d5;
	width: 100%;
}

.academictitle {
	text-align: center;
	font-weight: bold;
	margin-bottom: 1rem;
	font-size: 3.5rem;
	font-family: "crimson text", serif;
	font-weight: bold;
    color: #2E3192;
}

/* 内容容器：两块内容并排 */
.academiccontentbox {
	display: flex;
	justify-content: center;
	gap: 5rem;
	flex-wrap: wrap;
	padding-bottom: 2rem;
	box-sizing: border-box;
}

/* 每块内容统一样式 */
.academiccontent1box,
.academiccontent2box {
  max-width: 40%;
  background-color: #fff5dc;
  border-radius: 5px;
  padding: 1.5rem;
  box-shadow: 0 4px 8px rgba(0,0,0,0.1);
  box-sizing: border-box;
  display: flex;
  flex-direction: column;
  align-items: center;
  text-align: center;
}

/* 文字段落 */
.academiccontent1 {
	line-height: 1.6;
	margin-bottom: 20px;
	text-align: justify;
	line-height: 1.6;
	color: #333;
	font-family: "Inria Sans", sans-serif;
}

.academiccontent2 {
	line-height: 1.6;
	margin-bottom: 20px;
	text-align: justify;
	line-height: 1.6;
	color: #333;
	font-family: "Inria Sans", sans-serif;
}

/* 图片容器 */
.academicimage1{
	padding-top: 0.1rem;
}
.academicimage2 {
	padding-top: 1.5rem;
}

/* 详情链接 */
.viewdetails1 a,
.viewdetails2 a {
	display: inline-block;
	margin-top: 30px;
	text-decoration: none;
	font-family: "Inria Sans", sans-serif;
    font-weight: bold;
    color: #2E3192;
	font-size: 1.1rem;
}

.viewdetails1 a:hover,
.viewdetails2 a:hover {
	color: rgb(226, 36, 36);
}

.mapbox {
	align-items: center;
	text-align: center;
	padding-top: 2rem;
}

.maptitle {
	margin-left: 5rem;
	margin-bottom: 1.5rem;
	border-radius: 50px;
	background-color: #ffcc66;
	width: 250px;
	font-size: 35px;
	font-family: "crimson text", serif;
	font-weight: bold;
	color: #2E3192;
	text-align: center;
}

.mapimage {
  position: relative;
}

.map-container {
  position: relative;
  width: 85%; 
  margin: 0 auto;
  
}

.mapimage img {
  width: 100%;
  height: auto;
  display: block;
}

.nav-icons a i {
    color:  #2e3192;
    transition: color 0.3s ease;
    cursor: pointer;
}

.nav-icons a i:hover {
    color: rgb(226, 36, 36);
}

.hover-icon {
  position: absolute;
  transform: translate(-50%, -50%);
  text-align: center;
}

.map-pin {
  color: #2E3192;
  pointer-events: none;;
}

.hover-icon:hover .map-pin {
  color: rgb(226, 36, 36); 
}

.hover-text {
  position: absolute;
  top: 50%;
  left: 120%;
  transform: translateY(-50%);
  display: none;
  background-color: #FFF5DC;
  padding: 4px 8px;
  border-radius: 5px;
  font-family: "Inria Sans", sans-serif;
    font-weight: bold;
    color: #2E3192;
  font-size: 14px;
  white-space: nowrap;
  box-shadow: 0 0 5px rgba(0, 0, 0, 0.3);
}

.hover-icon:hover .hover-text {
  display:block;
}

.lifebox {
	position: relative;
	overflow: hidden;
	padding-top: 3rem;
}

.lifetitle {
	margin-left: 5rem;
	margin-bottom: 1.5rem;
	border-radius: 50px;
	background-color: #2E3192;
	width: 250px;
	font-size: 35px;
	font-family: "crimson text", serif;
	font-weight: bold;
	color:#ffcc66;
	text-align: center;
}

.carousel-container {
  width: 85%;
  height: auto;
  margin: 0 auto; /* 水平居中 */
}

.carousel-item img {
  width: 100%;
  height: auto; /* 根据原图比例自动调高 */
  display: block;
}


.footer {
	margin-top: 3rem;
	width: 100%;
	background-color: #2E3192; 
  	align-items: flex-start;
  	justify-content: space-between;
  	flex-wrap: wrap;
}

.bottombox {
  display: flex;
  flex-direction: row;
  align-items: flex-start;
  justify-content: space-between;
  flex-wrap: wrap;
}

.bottomcontent {
	display: flex;
	flex-direction: row;
	width: 100%;
	gap: 20rem;
}

.logobox {
	padding-top: 2rem;
	padding-left: 3.5rem;
	width: 20%;
}

.logobottom {
	margin-bottom: 1.5rem;
	display: flex;
	width: auto;
	height: 6rem;
}

.address {
	padding-left: 0.5rem;
	width: 20rem;
	text-align: left;
	font-family: "Inria Sans", sans-serif;
    font-weight: lighter;
    color: #eae1d5;
}

.address a {
	color: #eae1d5;
}

.address a:hover {
	color: rgb(226, 36, 36);
}

.bottominfo {
	display: flex;
	align-content: flex-end;
	padding-top: 2rem;
	flex-wrap: wrap;
	padding-right: 2rem;
}


.schoolinfotitle {
	width: auto;
	font-size: 1.5em;
	font-family: "crimson text", serif;
    font-weight: bold;
    color: #ffcc66;
}

.schoolinfocontentbox {
	padding-top: 1rem;
	display: flex;
	flex-direction: column;
	padding-left: 1rem;
	gap: 0.5rem;
	
}

.schoolinfocontentbox a {
	font-family: "Inria Sans", sans-serif;
    font-weight: lighter;
    color: #eae1d5;
	text-align: left;
}

.schoolinfocontentbox a:hover {
	color: rgb(226, 36, 36);
}

.quicklinksbox {
	padding-left: 3.5rem;
}

.quicklinkstitle {
	width:auto;
	font-size:1.5em;
	font-family: "crimson text", serif;
    font-weight: bold;
    color: #ffcc66;
}

.quicklinkscontentsbox {
	padding-top: 1rem;
	display: flex;
	flex-direction: column;
	padding-left: 1rem;
	gap: 0.5rem;
}

.quicklinkscontentsbox a {
	font-family: "Inria Sans", sans-serif;
    font-weight: lighter;
    color: #eae1d5;
	text-align: left;

}

.quicklinkscontentsbox a:hover {
	color: rgb(226, 36, 36);
}


.officehoursbox {
	padding-left: 1rem;
}

.officehourstitle{
	width:auto;
	font-size:1.5em;
	font-family: "crimson text", serif;
	padding-left: 3rem;
    font-weight: bold;
    color: #ffcc66;
}

.officehourscontent p {
	padding-top: 1rem;
	display: flex;
	flex-direction: column;
	padding-left: 4rem;
	gap: 0.5rem;
	font-family: "Inria Sans", sans-serif;
    font-weight: lighter;
    color: #eae1d5;
	text-align: left;
}


.authorized {
	text-align: center;
	padding-top: 60px;
	padding-bottom: 1rem;
	font-family: "crimson text", serif;
	font-weight: lighter;
    color: #eae1d5;
}

@media (max-width:992px) {
  .footer {
	margin-top: 0.6rem !important;
}

.bottomcontent {
	flex-direction:column !important;
	gap: 1.4rem !important;
}

.logobox {
	padding-top: 1rem !important;
	padding-left: 2rem !important;
	width: 100% !important;
}

.logobottom {
	margin-bottom: 0.5rem !important;
	height: 3rem !important;
}

.address {
	padding-left: 0.2rem !important;
	font-size: 0.6rem !important;
	width: 100% !important;	
}

.bottominfo {
	flex-direction: column !important;
	align-items: center !important;
	padding: 0 !important;
	flex-wrap: wrap;
}

.schoolinfobox {
	width: 100% !important;
	padding-left: 0 !important;
	align-items: flex-start !important;
}

.schoolinfotitle {
	padding-left: 2rem !important;
	width: 100%!important;	
	text-align: left !important;
	font-size: 0.8em !important;

}

.schoolinfocontentbox {
	padding-top: 0.2rem !important;
	padding-left: 2rem !important;
	font-size: 0.6em !important;
	gap: 0.4rem !important;
	
}

.quicklinksbox {
	padding-top: 1rem !important;
	width: 100% !important;
	padding-left: 0 !important;
	align-items: flex-start !important;
}

.quicklinkstitle {
	padding-left: 2rem !important;
	width: 100%!important;	
	text-align: left !important;
	font-size: 0.8em !important;
}

.quicklinkscontentsbox {
	padding-top: 0.2rem !important;
	padding-left: 2rem !important;
	font-size: 0.6em !important;
	gap: 0.4rem !important;
}


.officehoursbox {
	width: 100% !important;
	padding-left: 0 !important;
	align-items: flex-start !important;
}

.officehourstitle{
	padding-left: 2rem !important;
	padding-top: 1rem !important;
	width: 100%!important;	
	text-align: left !important;
	font-size: 0.8em !important;
}

.officehourscontent p {
	padding-top: 0.2rem !important;
	padding-left: 2rem !important;
	font-size: 0.6em !important;
	gap: 0.4rem !important;
}


.authorized {
	padding-top: 1rem !important;
	margin-left: 3rem !important;
	margin-right: 3rem !important;
	text-align: center;
	padding-bottom: 0.8rem !important;
	FONT-SIZE: 0.6em !important;
}

	.navbar .container-fluid {
        flex-direction: column !important;
        align-items: center !important;
        gap: 0rem !important; /* 添加间距 */
		width: 100% !important; /* 确保导航栏占满全宽 */
		padding: 0 !important; /* 去掉默认的内边距 */
    }
    
    .logo {
        padding-left: 0 !important;
        text-align: center;
		padding-bottom: 0.6rem !important; /* 添加底部间距 */
    }
    .logo img {
        margin-right: 0 !important;
        width: 4rem !important;
        margin: 0 auto;
    }

    .nav-links {
        display: flex !important;
        flex-direction: row !important; /* 让它先横向排列 */
        flex-wrap: wrap !important; /* 关键：允许换行 */
        justify-content: center; /* 让换行后的元素居中 */
		padding: 0 !important; /* 去掉默认的内边距 */
		width: 100%; /* 确保导航栏占满全宽 */
    }

    .nav-links .nav-link {
        padding: 0 0 !important; /* 调整菜单项的内边距 */
    }
    
    .nav-links .nav-item {
        /* 在这里为每个菜单项设置一个最小宽度，防止被过度压缩 */
        flex-basis: 20%; 
        text-align: center;
		font-size: 0.7em !important; /* 调整字体大小 */
    }

    .custom-dropdown {
	position: relative;
}

.custom-dropdown .dropdown-menu {
  display: none;
  position: absolute;   
  top: 100%;            
  left: -5rem !important;
  z-index: 1000;       
}

.custom-dropdown:hover .dropdown-menu {
  display: block;
   background-color: #FFF5DC;     /* 设置背景色 */
  border: 1px solid #FFCC66;     /* 设置边框颜色 */
  border-radius: 4px;            /* 可选：圆角边框美观一点 */         /* 可选：增加上下内边距 */
}

.navbar .dropdown-item {
  font-family: "Inria Sans", sans-serif;
  font-weight: bold;
  color: #2E3192;
  font-size: 0.6em !important; /* 调整字体大小 */
}

    
    /* 图标容器也需要处理换行和居中 */
    .nav-icons {
        display: flex !important;
        padding-right: 0 !important;
        justify-content: center !important;
        gap: 1rem !important; /* 减小图标间距 */
		padding-left: 1rem !important; /* 添加左侧内边距 */
		padding-right: 1rem !important; /* 添加右侧内边距 */
		
    }

	.main {
		display: flex !important;
		flex-direction: column !important; 
		align-items: center !important;
		text-align: center !important;
		align-content: center !important;
	}
	.aside-left {
		width: 100%;
	}
	.aside-right {
		width: 100%;
	}
	.main-head, .sub-head {
		text-align: center;
	}
	.btn {
		margin: auto;
	}
	.row {
		display: block;
	}
	.btn-col {
		margin: auto;
	}
	.col {
		margin: 2rem 0;
	}
	.abouttheschoolbox {
		display: flex;
		flex-direction: column !important;
		padding: 0% !important;
	}
	.aboutcontentbox {
	align-items: center !important;
	padding-left: 1rem !important;	
	padding-right: 1rem !important;
}
	.news {
		display: flex;
		flex-direction: column!important;
		padding-top: 1rem !important;
	}
	.cylinder-menu {
		padding-top: 0.5rem;
		padding-bottom: 0.5rem;
		width: 80%;
		height: auto;
		gap: 0.5rem;
	}
	.cylinder-menu a {
		font-size: 9px;
	}
	.welcomebackground {
		padding-top: 2.5rem;
	}

	
	.aboutcontentbox {
		display: flex ;
		flex-direction: column;
		flex-wrap: wrap;
	}
	.academiccontentbox {
		display: flex;
		flex-direction: column;
		flex-wrap: wrap;
		align-items: center;
		gap: 2rem;
		padding-left: 1rem;
		padding-right: 1rem;
		padding-bottom: 1rem !important;
	}
	.academiccontent1box,
	.academiccontent2box {
  max-width: 100% !important;
	}

	
	.academiccontent1,
	.academiccontent2{
		font-size: 14px;
	}

	.academicimage1{
	padding-top: 0rem !important;
}
.academicimage2 {
	padding-top: 0rem !important;
}

	.abouttheschoolbox {
		text-align: center !important;
	}
	.hongteckguanbuilding img {
		width: 80% !important;
	}
	.latestnews,
	.upcomingevents,
	.campusannouncements {
		font-size: 12px;
		padding: 0.5rem !important;
		margin-bottom: 0.5rem !important;
	}
	.news-group a {
		font-size: 10px !important;
	}

	.news-group,
.events-group,
.announcements-group {
  padding-bottom: 1rem;
}
	.news-group li,
.events-group li,
.announcements-group li {
  margin-bottom: 0.2rem !important;
  text-align: left !important;
}
	.events-group {
		font-size: 10px ;
	}
	.announcements-group {
		font-size: 10px;;
	}
	.viewmore a{
		font-size: 10px !important;
	}
	
	.news {
		align-items: center;
	}
	.latestnewsbox,
	.upcomingeventsbox,
	.campusannouncementsbox {
		width: 70%;
		padding:1rem !important;
	}
	 .abouttitle {
		font-size: 30px;
		text-align: end;
		padding-top: 1rem !important;
	 }
	 .aboutdescp {
		font-size: 14px;
		padding-bottom: -20px;
	 }
	 .learnmore {
		padding-top: 0.5rem !important;
		padding-bottom: 2rem;
	 }
	 .academictitle {
		font-size: 30px;
	 }

	 .maptitle,
	 .lifetitle {
		font-size: 25px !important;
		padding: 0.2rem !important;
	 }

	 .academicexcellencebox {
		padding-bottom: 30px;
	 }
}