@import url('https://fonts.googleapis.com/css2?family=Poppins:wght@500&display=swap');

.themeExtra .videoBlock{
	position:relative;
	aspect-ratio:2;
}

.themeExtra img{
	display:block;
	width:100%;
}

.themeExtra .videoBlock .vBtn{
	position:absolute;
	left:0;
	top:0;
	width:100%;
	height:100%;
	cursor:pointer;
	display:flex;
	justify-content:center;
	align-items:center;
}
.themeExtra .videoBlock .vBtn span{
	display:block;
	width:8.5%;
	min-width:50px;
	max-width:68px;
	animation:flashVBtn 0.8s ease-in infinite alternate;
}
@keyframes flashVBtn{
	from{
		transform:scale(0.9);
		opacity:0.6;
	}
}
.themeExtra .videoBlock .vBtn span:before{
	content:"";
	display:block;
	padding-top:100%;
	background:url(https://www.nordic.com.tw/images/vBtn.png) no-repeat center;
	background-size:contain;
}
.themeExtra .videoBlock .vBtn:hover span{
	animation:none;
}

/** videoOverlay start **/
.videoOverlay{
	position:fixed;
	left:0;
	top:0;
	width:100%;
	height:100vh;
	z-index:2;
	background:rgba(255, 255, 255, 0.9);
	justify-content:center;
	align-items:center;
	display:flex;
	opacity:0;
	transition:opacity 0.3s;
	pointer-events:none;
}
.videoOverlay.show{
	opacity:1;
	pointer-events:auto;
}
.videoOverlay .videoOverlayCT{
	position:relative;
	width:95%;
	max-width:960px;
	background:#000;
	transform:scale(0.5);
	transition:transform 0.3s;
}
.videoOverlay.show .videoOverlayCT{
	transform:none;
}
.videoOverlay .videoOverlayCT:before{
	content:"";
	display:block;
	padding-top:56.25%;
}
.videoOverlay iframe{
	position:absolute;
	left:0;
	top:0;
	width:100%;
	height:100%;
	border:none;
	display:block;
}

.videoOverlay .closeBtn{
	position:absolute;
	right:0;
	bottom:calc(100% + 10px);
	width:30px;
	height:30px;
	cursor:pointer;
}
.videoOverlay .closeBtn:before,
.videoOverlay .closeBtn:after{
	position:absolute;
	content:"";
	right:0;
	top:50%;
	width:90%;
	height:2px;
	background:#999;
	border-radius:1px;
}
.videoOverlay .closeBtn:before{
	transform:translateY(-50%) rotate(-45deg);
}
.videoOverlay .closeBtn:after{
	transform:translateY(-50%) rotate(-135deg);
}
.videoOverlay .closeBtn:hover:before,
.videoOverlay .closeBtn:hover:after{
	background:#666;
}
/** videoOverlay end **/

.themeEventContainer{
	font-family: 'Poppins', 微軟正黑體, sans-serif;
	font-size:14px;
	color:#000;
	margin-top:5%;
	overflow: hidden;
}

/**************************** 共用 start *********************************/
.group+.group{
	margin-top:5%;
}

.group{
	position: relative;
	background-size: contain;
	background-position: center bottom;
	background-repeat: no-repeat;
}

/************** 標題 start *****************/
.group h3{
	position: absolute;
}
.group h3 strong,
.group h3 em{
	display: inline-block;
}
.group h3 strong{
	font-weight: normal;
	font-size: 4em;
}
.group h3 em{
	font-style: normal;
	font-size: 1.8em;
	margin-left:0.5em;
}
/************** 標題 end *****************/

/************** 圖文 start *****************/
.group > img,
.group .txt{
	position: absolute;
}

.group .txt p{
	margin:0;
	line-height: 2em;
}
.group .txt p+p{
	margin-top:2em;
}
/************** 圖文 end *****************/
/**************************** 共用 end *********************************/

/**************************** jean start *********************************/
.jean{
	aspect-ratio:1.93;
	background-image: url(../images/icon1.jpg);
}

.jean h3{
	right:0;
	top:0;
	margin-right:1.8em;
}

.jean img{
	left:0;
	top:0;
	margin:17.41% 0 0 58.08%;
	width:20.66%;
	display: block;
}

.jean .txt{
	left:0;
	top:0;
	margin:18.5% 0 0 11.75%;
	width:33.33%;
}
.jean .txt:before{
	content:"";
	display: block;
	float:left;
	width:23%;
	aspect-ratio:0.24;
	shape-outside: polygon(0% 0%, 100% 0, 10% 100%, 0 100%);
}
/**************************** jean end *********************************/

/**************************** design start *********************************/
.design{
	aspect-ratio:1.84;
	background-image: url(../images/icon2.jpg);
}

.design h3{
	left:0;
	top:0;
	margin:1.25% 0 0 2.66%;
}

.design img{
	left:0;
	top:0;
	margin:13.5% 0 0 58.33%;
	width:35.83%;
	display: block;
}

.design .txt{
	left:0;
	top:0;
	margin:23% 0 0 9.83%;
	width:42.5%;
}
.design .txt:before{
	content:"";
	display: block;
	float:left;
	width:55.68%;
	aspect-ratio:3.55;
	shape-outside: polygon(0% 0%, 100% 0, 0% 100%);
}
/**************************** design end *********************************/

/**************************** palette start *********************************/
.palette{
	aspect-ratio:1.66;
	background-image: url(../images/icon3.jpg);
}

.palette h3{
	left:0;
	top:0;
	margin:5% 0 0 22.5%;
}

.palette img{
	left:0;
	top:0;
	margin:17.66% 0 0 22%;
	width:32.16%;
	display: block;
}

.palette .txt:nth-child(3){
	left:0;
	top:0;
	margin:17.66% 0 0 56.66%;
	width:22%;
}
.palette .txt:nth-child(4){
	left:0;
	top:0;
	margin:49.83% 0 0 21.8%;
	width:57%;
}
/**************************** palette end *********************************/

#gMap {
	position: absolute;
	left: 0;
	top: 0;
	width: 100%;
	height: 100%;
}

/**************************** expo start *********************************/
.expo{
	color:#FFF;
	background:#063b96;
	display: flex;
	justify-content: space-between;
	align-items: flex-start;
	padding:5%;
}

.expo h4{
	position: absolute;
	right:0;
	top:0;
	width:37.5%;
	margin:5% 5% 0 0;
	text-align: center;
	font-size: 1.4em;
	font-weight: normal;
}
.expo h4 *{
	display: block;
}
.expo h4 strong{
	font-size: 1.2em;
	font-weight: inherit;
}
.expo h4 span{
	font-size: 0.95em;
}

.expo .img{
	width:52.7%;
	margin-bottom:0;
}
.expo img{
	display: block;
	width:100%;
}
.expo .img:hover .slickPN{
	opacity: 1;
}

.expo .txt{
	position: static;
	width:41.74%;
	margin-top:9.25%;
}
.expo .txt .map{
	font-size: 0.9em;
	color: #063b96;
	display: inline-block;
	line-height: 1em;
	padding: 0.2em 0.5em 0.1em;
	background: #FFF;
	transition: background 0.2s;
}
.expo .txt .map:hover{
    background: #beddff;
}
/**************************** expo end *********************************/

/**************************** seminar start *********************************/
.seminar{
	--bg:#4f4d48;
	color:#FFF;
	background: var(--bg);
	padding:4% 8%;
}

/************* 標題 start ***************/
.seminar h4{
	display: flex;
	justify-content: center;
	align-items: center;
	text-align: center;
	font-size: 1.8em;
	line-height: 1em;
}
.seminar h4:before,
.seminar h4:after{
	content:"";
	display: block;
	width:1.5em;
	height:1px;
	background: currentColor;
}
.seminar h4:before{	margin-right:0.5em;}
.seminar h4:after{ margin-left:0.5em;}
/************* 標題 end ***************/

.seminar .session{
	display: flex;
	justify-content: space-between;
	align-items: flex-start;
	margin-top:5%;
}

/************* img start ***************/
.seminar .img{
	width:40%;
	display: flex;
	justify-content: space-between;
	align-items: flex-start;
}
.seminar .img li{
	width:30%;
	cursor:pointer;
}
.seminar .img img{
	transition: all 0.2s;
	width:100%;
	display: block;
	border-radius:50%;
}
.seminar .img li:hover img{
	transform: scale(1.05);
}
.seminar .img span{
	display: block;
	margin-top:1em;
	text-align: center;
}
.seminar .speakerInfo{
	display: none;
}
/************* img end ***************/

/************* detail start ***************/
.seminar .detail{
	position: relative;
	width:55%;
	margin-top:0.5em;
}

.seminar .detail > a{
	position: absolute;
	right:0;
	top:0;
	display: block;
	color: #FFF;
	background: #000;
	font-size: 1.05em;
	font-weight: bold;
	padding:0.65em 0.75em 0.5em;
	line-height: 1em;
	border-radius:0.25em;
	transition: background 0.2s;
}
.seminar .detail > a:hover{
	color:#FFF;
    background: #333;
}

.seminar .detail li{
	display: flex;
	align-items: flex-start;
}
.seminar .detail li+li{
	margin-top:0.5em;
}
.seminar .detail li em{
	font-style: normal;
	white-space: nowrap;
}
.seminar .detail li span{
	margin-left:0.75em;
	padding-left:0.75em;
	border-left:1px solid;
}

.seminar .map{
	font-size: 0.9em;
	display: inline-block;
	line-height: 1em;
	padding: 0.2em 0.5em 0.1em;
	color: var(--bg);
	background: #FFF;
	transition: background 0.2s;
}
.seminar .map:hover{
	color:var(--bg);
    background: #DDD;
}
/************* detail end ***************/

/******** overlay start ***********/
.overlay.speaker .overlayCT {
	display: flex;
	flex-direction: column;
	align-items: center;
	height: auto;
	max-width:500px;
	max-height: none;
	border-radius: 0.5em;
	padding: 3em;
}
.overlay.speaker .overlayCT img{
	width:50%;
	max-width: 200px;
	display: block;
	border-radius:50%;
}
.overlay.speaker .overlayCT h5{
	text-align: center;
	color:#000;
	font-size: 1.3em;
	margin-top:0.5em;
}
.overlay.speaker .overlayCT h6{
	text-align: center;
	font-size: 1.1em;
	margin-top:0.5em;
}
.overlay.speaker .overlayCT p{
	width:100%;
	margin:1em 0 0;
	line-height: 1.8em;
}
/******** overlay end ***********/
/**************************** seminar end *********************************/


@media screen and (min-width:1024px) and (max-width:1200px){
	
	.themeEventContainer{
		font-size:1.16vw;
	}
	
}


@media screen and (max-width:1023px){
	
	.mainContainer > section.themeEventContainer{
		margin-top:10%;
	}
	
	/**************************** 共用 start *********************************/
	.group+.group{
		margin-top:10%;
	}
	
	.group{
		display: flex;
		flex-direction: column;
		align-items: center;
	}
	.group:not(.expo):not(.seminar){
		padding:0 5%;
	}

	/************** 標題 start *****************/
	.group h3{
		position: static;
		display: flex;
		justify-content: center;
		align-items: center;
		font-size: 1.45em;
	}
	.group h3 strong{
		font-size: 1em;
	}
	.group h3:before{
		content:"";
		display: block;
		margin:0 0.5em;
		order:1;
		background-repeat: no-repeat;
		background-position: center;
		background-size: contain;
	}
	.group h3 em{
		font-size: 1em;
		margin-left:0;
		order:2;
	}
	/************** 標題 end *****************/

	/************** 圖文 start *****************/
	.group > img,
	.group .txt{
		position: static;
		margin:2em 0 0;
	}
	.group .txt{
		width:auto;
	}
	.group .txt:before{
		display: none;
	}
	/************** 圖文 end *****************/
	/**************************** 共用 end *********************************/

	/**************************** jean start *********************************/
	.jean{
		aspect-ratio:auto;
		background-image: none;
	}

	.jean h3{
		margin-right:0;
	}
	.jean h3:before{
		width:2em;
		aspect-ratio:0.9;
		background-image: url(../images/icon1_m.svg);
	}

	.jean img{
		width:55%;
	}
	/**************************** jean end *********************************/
	
	/**************************** design start *********************************/
	.design{
		aspect-ratio:auto;
		background-image: none;
	}

	.design h3{
		margin:0;
	}
	.design h3:before{
		width:2.5em;
		aspect-ratio:2.09;
		background-image: url(../images/icon2_m.svg);
	}

	.design img{
		width:90%;
	}
	/**************************** design end *********************************/
	
	/**************************** palette start *********************************/
	.palette{
		aspect-ratio:auto;
		background-image: none;
	}

	.palette h3{
		margin:0;
	}
	.palette h3:before{
		width:2em;
		aspect-ratio:0.9;
		background-image: url(../images/icon3_m.svg);
	}

	.palette img{
		width:90%;
	}

	.palette .txt:nth-child(3),
	.palette .txt:nth-child(4){
		position: static;
		margin:2em 0 0;
		width: auto;
	}
	/**************************** palette end *********************************/
	
	/**************************** expo start *********************************/
	.expo{
		flex-direction: column;
		justify-content: flex-start;
		align-items: center;
		padding:10% 5%;
	}

	.expo h4{
		position: static;
		margin:0;
		width:auto;
		font-size: 1.3em;
	}

	.expo .img,
	.expo .txt{
		margin-top:10%;
	}
	.expo .img{
		width:100%;
	}
	/**************************** expo end *********************************/
	
	/**************************** seminar start *********************************/
	.seminar{
		padding:10% 5%;
	}

	/************* 標題 start ***************/
	.seminar h4{
		font-size: 1.5em;
	}
	/************* 標題 end ***************/

	.seminar .session{
		display: block;
		margin-top:15%;
	}

	/************* img start ***************/
	.seminar .img{
		width:auto;
	}
	/************* img end ***************/

	/************* detail start ***************/
	.seminar .detail{
		width:auto;
	}

	.seminar .detail > a{
		position: static;
		width:auto;
		text-align: center;
	}
	
	.seminar .detail ul{
		margin-top:1em;
	}
	/************* detail end ***************/

	/******** overlay start ***********/
	.overlay.speaker .overlayCT {
		padding: 2em;
	}
	/******** overlay end ***********/
	/**************************** seminar end *********************************/
	
}
