/* 共用 */
.pt-title {
	font-size: 2rem;
	letter-spacing: 0.2rem;
	line-height: 1.5;
	font-weight: 700;
	padding-bottom: 3.2rem;
}

/********************** 
    pt-nav
************************/
:root {
	scroll-padding-top: 140px;
}

.pt-nav {
	position: sticky;
	top: 6.5rem;
	z-index: 99;
	letter-spacing: 1px;
}

.pt-innernav {
	background-color: rgba(112, 255, 200, 0.8);
	-webkit-backdrop-filter: blur(0.5em);
	backdrop-filter: blur(0.5em);
	font-size: 20px;
	line-height: 1.6;
	text-align: center;
	letter-spacing: 1px;
	margin: 0 20px;
	padding: 0.5rem 0.6rem;
	border-radius: 100px;
	scroll-padding-top: 8rem;
}

.pt-nav a {
	color: #333;
	padding: 10px;
}

.pt-nav a:hover,
.pt-nav a:focus {
	color: var(--main);
}

.pt-nav a::before {
	content: "|";
	color: #333;
	padding-right: 20px;
}

.pt-nav a:first-child:before {
	content: "";
}

@media (max-width: 1200px) {
	.pt-nav {
		top: 9.5rem;
	}
}

@media (max-width: 992px) {
	.pt-nav {
		top: 6rem;
	}
}

@media (max-width: 768px) {
	.pt-nav a {
		padding: 5px;
	}

	.pt-nav a::before {
		content: "";
		padding: 0;
	}

	.pt-innernav {
		line-height: 1.5;
	}
}

@media (max-width: 576px) {
	.pt-nav {
		display: flex;
		flex-wrap: wrap;
	}
}

/*====================================================
#  資訊
==================================================== */
.page-side {
	background-color: #e9f9ff;
	padding: 1rem;
}

.side-img {
	position: relative;
	margin-top: -3rem;
	background-color: #fff;
	box-shadow: rgba(97, 97, 97, 0.1) 0px 3px 8px;
	border-radius: 6px;
	padding: 20px;
	z-index: 10;
	width: 85%;
}

.side-num {
	position: relative;
	top: 8px;
}

.side-num span {
	color: var(--main);
}

.partner-contact {
	font-size: 16px;
}

.partner-contact i {
	color: #212121;
}

.partners-inner-img {
	background-color: #fff;
	border: 1px solid #ddd;
}

.info-icon {
	padding: 0.5rem 0;
}

.icon-box {
	display: inline-block;
	color: #fff;
	background-color: var(--C2);
	border-radius: 50%;
	line-height: 40px;
	width: 40px;
	height: 40px;
	text-align: center;
	font-size: 18px;
	transition: 0.1s;
}

.icon-box:hover {
	color: #fff;
	background-color: var(--main);
}

@media (max-width: 992px) {
	.side-img {
		width: 95%;
	}
}

@media (max-width: 767px) {
	.partner-box {
		text-align: center;
	}

	.side-img {
		top: 0;
	}

	.page-side {
		margin: auto;
	}

	.page-side h3 {
		margin-top: 2rem;
	}
}

/*====================================================
# page-main
==================================================== */
.page-main {
	padding-top: 4rem;
}

.contact-ad {
	text-align: center;
	padding: 0 20px;
}

.contact-ad img {
	display: block;
	width: 100%;
	border: 1px solid #efefef;
	background-color: #ffffff;
}

.page-main .sub-title {
	font-weight: 600;
	font-size: 24px;
	padding-top: 20px;
	letter-spacing: 5px;
	color: #999;
}

.page-main ul {
	padding-left: 28px;
}

.page-main .info-img {
	border: 1px solid #efefef;
	cursor: pointer;
}

.contact-ad,
.page-main .info-img {
	transition: all 0.3s ease-in-out;
}

.contact-ad:hover,
.page-main .info-img:hover {
	transform: scale(1.03);
}

.partner-img img {
	width: 100%;
}

/*====================================================
# pt-speach
==================================================== */
.pt-speach {
	background: -webkit-linear-gradient(20deg, #a9f1fd, #fbffee);
	background: linear-gradient(20deg, #a9f1fd, #fbffee);
}

.session-item {
	width: 100%;
	color: #212121;
	margin: 25px 0;
	background-color: #fff;
}

.se-left {
	padding-right: 25px;
}

.se-right {
	padding-left: 25px;
	border-left: 2px solid #efefef;
}

.session-time {
	word-spacing: 3px;
}

.session-item-title {
	font-size: 20px;
	font-weight: 500;
	line-height: 28px;
	margin-bottom: 8px;
}

.session-item-txt p {
	font-size: 16px;
	margin: 0;
}

.session-item-txt .collapse:not(.show) {
	height: 90px !important;
	overflow: hidden;
	display: -webkit-box;
	-webkit-line-clamp: 3;
	-webkit-box-orient: vertical;
}

.session-item-txt .collapsing {
	min-height: 90px !important;
}

.session-item-txt a.collapsed:after {
	content: "顯示更多";
}

.session-item-txt a:not(.collapsed):after {
	content: "顯示更少";
}

.session-item-txt a:not(.collapsed) i {
	transform: rotate(180deg);
	display: inline-block;
}

.session-item-txt .six-line-clamp {
	overflow: hidden;
	display: -webkit-box;
	-webkit-line-clamp: 6;
	-webkit-box-orient: vertical;
}

.session-item .spkers-group {
	margin: 12px;
	color: #666;
}

.spkers-group .sp-desc {
	color: #787878;
	font-size: 16px;
}

.spkers-group .sp-desc::before {
	content: "/";
	padding: 0px 5px;
}

.session-img {
	width: 50px;
	border-radius: 50%;
	border: 2px solid var(--C2);
	margin-right: 6px;
}

.session-info {
	color: #fa75ff;
	font-size: 15px;
}

.session-info li {
	padding-bottom: 10px;
}

.session-info li span {
	color: #1c1a27;
}

.session-btn {
	font-size: 16px;
	border: 1px solid var(--C2);
	padding: 3px 10px;
	border-radius: 20px;
	transition: all 0.2s;
}

.session-btn:hover {
	color: #fff;
	background-color: var(--main);
}

@media (max-width: 767px) {
	.se-right {
		border-top: 2px solid #efefef;
		padding-top: 10px;
		border-left: none;
	}
}

@media (max-width: 576px) {
	.spkers-group .sp-desc::before {
		display: none;
	}

	.spkers-group .sp-desc {
		padding-left: 60px;
		line-height: 1.6;
	}

	.session-item .spkers-group {
		background-color: transparent;
	}

	.se-left {
		padding: 10px;
	}

	.session-item {
		padding: 15px;
		margin: 20px auto;
	}
}

/*====================================================
# pt-product
==================================================== */
.product-card {
	position: relative;
	margin-bottom: 2rem;
}

.product-card img {
	background-color: #fff;
	border: 1px solid #333;
	box-shadow: rgba(97, 97, 97, 0.1) 0px 3px 8px;
	border-radius: 5px;
	transition: all 0.3s ease-in-out;
}

.product-card .tag {
	font-size: 15px;
	line-height: 1.6;
	color: #333;
	margin-top: 0.5rem;
}

.product-title {
	font-size: 18px;
	margin-top: 0.5rem;
	line-height: 1.3;
}

.product-card:hover img {
	transform: scale(1.03);
}

.product-card:hover .product-title {
	color: var(--C2);
}

/*====================================================
# pt-product pt-book
==================================================== */

.pt-book {
	background: -webkit-linear-gradient(20deg, #f0ffff, #bdfffa);
	background: linear-gradient(20deg, #f0ffff, #bdfffa);
}

.resource-box {
	background-color: #fff;
	padding: 20px;
	border-radius: 5px;
	box-shadow: rgba(153, 153, 153, 0.2) 0px 2px 8px 0px;
	height: 95%;
}
.ellipsis-multiple {
	text-overflow: ellipsis;
	overflow: hidden;
	display: -webkit-box;
	-webkit-box-orient: vertical;
	/* Multi-line settings */
	-webkit-line-clamp: 3;
	height: 66px;
	line-height: 22px;
}
.resource-box h5 {
	margin-bottom: 1rem;
}

/*====================================================
# 列表頁
==================================================== */

.leveltitle {
	padding: 1rem 1.5rem;
	margin-bottom: 2.5rem;
	background-image: linear-gradient(to right, #009dff60, #4bffff60, #dc97ff60);
}

.partner-img {
	border: 1px solid #aba9bc;
	border-radius: 5px;
	box-shadow: rgba(99, 99, 99, 0.2) 0px 2px 8px 0px;
}

.partner-info {
	margin: 1rem 0 1.5rem;
	text-align: center;
}

.partner-info h5,
.partner-info h6 {
	font-weight: 400;
}

.partner-info h5 {
	font-size: 18px;
}

.partner-info h5 small {
	font-size: 15px;
}

.partner-info h6 {
	border: 1px solid var(--C4);
	border-radius: 50px;
	color: var(--C4);
	display: inline-block;
	padding: 5px 10px;
}

.partner-card:hover .partner-info h6 {
	transform: scale(1.08);
}
