:root {
	--loading: url("../images/loading.svg");
	--icn_tick: url("../images/icn_tick.svg");
	--icn_plus: url("../images/icn_plus.svg");

	/* color */
	--body: #2D2D2D;
	--white: #fff;
	--black: #000;
	--red: #e72b10;
	--red2: rgba(231, 43, 16, 0.3);
	--purple: #D5146A;
	--purple_dark: #4C4191;
	--purple_dark_hover: #413781;
	--pink: #D5146A;
	--pink_light: #F29C97;
	--pink_light_txt: #F6C1C1;
	--mint: #AACE36;
	--mint_txt: #85E0CE;
	--green: #74BD50;
	--green_light: #AACE36;
	--green_dark: #008744;
	--grey: #b2b2b2;
	--grey_dark: #1e1e1e;
	--blue: #0E5BF0;
	--orange: #D03E00;
	--seasalt: #F8F8F8;
	--border: #aa0023;
	--border_mint: #09CBA5;
	--input: #E8E7EF;

	/* spacing */
	--header_pad_v: 12px;
	--pad_top: 10px;
	--pad_top_big: 40px;
	--mar_top: 8px;
	--mar_top_mid: 20px;
	--pad_lr: 20px;
	--pad_lr_small: 8px;
	--input_pad_tb: 9px;
	--input_pad_lr: 15px;

	/* font */
	--fs-body: 16px;
	--fs-small: 13px;
	--fs-remark: 10px;

	/* Others */
	--border_radius: 5px;
	--border_radius_const: 5px;
	--border_radius2_const: 10px;
	--fade_speed: 300ms;
}

html.html {
	height: 100%;
}
body, a {
	color: var(--body);
}
body {
	background: var(--purple);
	font-family: var(--font);
	font-size: var(--fs-body);
	font-weight: 400;
    line-height: 1.5em;
	height: 100%;

}
body.fixed {
    overflow: hidden;
}
h1 {
	font-size: 2.19em;
	font-weight: 700;
	line-height: 1.2em;
}
h2 {
	font-size: 2.19em;
	font-weight: 700;
	line-height: 1.2em;
}
h3 {
	font-size: 1.8em;
	font-weight: 700;
	line-height: 1.2em;
}
h4 {
	font-size: 1.5em;
	font-weight: 700;
	line-height: 1.2em;
}
h5 {
	font-size: 1.19em;
	font-weight: 700;
	line-height: 1.2em;
}
h6 {
	font-size: 1em;
	font-weight: 700;
	line-height: 1.2em;
}
button {
	appearance: none;
	border: 0;
	background-color: transparent;
	cursor: pointer;
}
img {
	display: block;
	width: 100%;
}
.txt-left {
	text-align: left;
}
.txt-right {
	text-align: right;
}
.txt-center {
	text-align: center;
}
.txt-italic {
	font-style: italic;
}
.uppercase {
	text-transform: uppercase;
}
.nowrap {
	white-space: nowrap;
}
table td {
	padding:10px
}

.mainWrapper {
	position: relative;
	z-index: 10;
	min-height: 460px;
	background-color: var(--white);
	box-sizing: border-box;
	overflow: hidden;
}

/* .grid {
	display: flex;
	flex-direction: row;
	justify-content: flex-start;
	align-items: flex-start;
	flex-wrap: wrap;
}
.grid .gridItem {
	display: flex;
	flex-direction: row;
	justify-content: flex-start;
	align-items: center;
	padding-top: 8px;
	padding-right: 26px;
}
.grid .gridItem .gridIcon {
	width: 16px;
}
.grid .gridItem .gridTxt {
	padding-left: 8px;
} */

/* Color */

body.home{
		 
	background: #000000f2;;
}
header{
		
}
footer{
	 
	background: #D5146A;
}
.purple {
	color: var(--purple) !important;
}
.mint {
	color: var(--mint_txt) !important;
}
.pink {
	color: var(--pink) !important;
}

/* Ordered / Unordered lists */
.decimal {
	list-style: none;
	counter-reset: custom_decimal;
	font-size: var(--fs-body);
	line-height: 1.3em;
	color: var(--white);
	padding-left: 20px;
	margin-left: 10px;
}
.decimal > li {
	counter-increment: custom_decimal;
	margin-bottom: 5px;
}
.decimal > li:before {
	content: counters(custom_decimal, ".") ". ";
}
.lowerAlpha {
	counter-reset: list;
	font-size: var(--fs-body);
	line-height: 1.3em;
	color: var(--white);
	padding-left: 20px;
	margin-left: 10px;
}
.lowerAlpha > li {
	list-style: none;
	position: relative;
	margin-bottom: 5px;
}
.lowerAlpha > li:before {
	counter-increment: list;
	content: "(" counter(list, lower-alpha) ")";
	position: absolute;
	left: -1.6em;
}
.lowerRoman {
	counter-reset: list;
	font-size: var(--fs-body);
	line-height: 1.3em;
	color: var(--white);
	padding-left: 20px;
	margin-left: 10px;
}
.lowerRoman > li {
	list-style: none;
	position: relative;
	padding-left: 20px;
	margin-bottom: 5px;
}
.lowerRoman > li:before {
	counter-increment: list;
	content: "(" counter(list, lower-roman) ")";
	position: absolute;
	left: -1.6em;
}
.disc {
	list-style: disc;
	/* list-style: none; */
	font-size: var(--fs-body);
	line-height: 1.3em;
	text-align: left;
	color: var(--white);
	padding-left: 20px;
}
.disc li {
	/* position: relative; */
	margin-bottom: 8px;
}
/* .disc li::before {
	content: '';
	position: absolute;
    top: 5px;
    left: -18px;
	width: 8px;
	height: 8px;
	transform: rotate(45deg);
	background: #D9D9D9;
} */

/* Button */
input.btn,
.btn {
	position: relative;
	display: inline-block;
    vertical-align: top;
	appearance: none;
	font-size: 20px;
	font-weight: 700;
	line-height: 1.2em;
	text-align: center;
	text-decoration: none;
	color: var(--white);
	background: var(--pink);
	min-width: 280px;
	border: 0;
	border-radius: 60px;
    padding: 10px 20px 10px;
	margin: 0;
	box-shadow: none;
	box-sizing: border-box;
	cursor: pointer;
	transition: all var(--fade_speed);
}
.btn:not(:first-child) {
	margin-top: var(--mar_top_mid);
}
/* .btn:hover {
	background-color: var(--pink_light);
} */
.btn.disabled {
	opacity: 0.5;
	cursor: default;
	pointer-events: none;
}
.btn.outline {
	background: transparent;
    border: 1px solid white;
	border-radius: 60px;
}
.btn.outline:hover {
border-color: #AACE36;


}
.btnContainer {
	width: fit-content;
    margin: 30px auto;
	text-align: center;
}
 
.survey .btnContainer .btn:nth-child(2){
	color: #2D2D2D;
	border: 1px solid #2D2D2D;
}

.survey .btnContainer .btn:nth-child(2):hover{
	border-color: #E74291 !important;
	color: #E74291 !important
}
/* Input */
::placeholder { /* Chrome, Firefox, Opera, Safari 10.1+ */
    font-size: var(--fs-body);
    color: #B6B1D3;
    opacity: 1; /* Firefox */
}
:-ms-input-placeholder { /* Internet Explorer 10-11 */
    font-size: var(--fs-body);
    color: #B6B1D3;
}
::-ms-input-placeholder { /* Microsoft Edge */
    font-size: var(--fs-body);
    color: #B6B1D3;
}
.error::placeholder { /* Chrome, Firefox, Opera, Safari 10.1+ */
    color: var(--red);
    opacity: 1; /* Firefox */
}
.error:-ms-input-placeholder { /* Internet Explorer 10-11 */
    color: var(--red);
}
.error::-ms-input-placeholder { /* Microsoft Edge */
    color: var(--red);
}
/* Change the white to any color */
input:-webkit-autofill,
input:-webkit-autofill:hover,
input:-webkit-autofill:focus,
input:-webkit-autofill:active {
	transition: background-color 999999999999999999999999s;
	background-color: rgba(29, 29, 29, 0.3) !important;
	-webkit-text-fill-color: var(--body) !important;
}
input[type="text"],
input[type="tel"],
input[type="email"],
input[type="password"] {
	appearance: none;
	-webkit-appearance: none;
	font-size: 16px;
	color: #2d2d2d;
	background: #fff;
	box-shadow: none;
	padding: 12PX 15px;
	box-sizing: border-box;
	width: 100%;
	height: 100%;
	border: 0;
	border-radius:5px;
}
textarea {
	appearance: none;
	-webkit-appearance: none;
	font-family: var(--font);
	font-size: var(--fs-body);
	color: var(--body);
	background: var(--input);
	box-shadow: none;
	padding: var(--input_pad_tb) var(--input_pad_lr);
	box-sizing: border-box;
	width: 100%;
	height: 100%;
	max-height: 90px;
	border: 0;
	border-radius: var(--border_radius_const);
	resize: none;
}

/* Switch */
.switchContainer {
    text-align: center;
}
.switch {
    position: relative;
    display: inline-block;
    width: 100%;
    height: 45px;
}
.switch input { 
    opacity: 0;
    width: 0;
    height: 0;
}
.slider {
    position: absolute;
    cursor: pointer;
    top: 0;
    left: 0;
    right: 0;
    bottom: 0;
    display: flex;
    flex-direction: row;
    justify-content: space-evenly;
    align-items: center;
	border-radius: 30px;
	background-color: var(--purple_dark);
    padding: 0 6px;
    -webkit-transition: .4s;
    transition: .4s;
}
.slider::before {
    content: "";
    position: absolute;
    z-index: 0;
    width: 50%;
    height: 35px;
    top: 5px;
    left: 5px;
    border-radius: 30px;
	background-color: var(--mint);
    -webkit-transition: .4s;
    transition: .4s;
}
input:checked + .slider {}
input:focus + .slider {}
input:checked + .slider::before {
    -webkit-transform: translateX(calc(100% - 10px));
    -ms-transform: translateX(calc(100% - 10px));
    transform: translateX(calc(100% - 10px));
}
.slider > span {
    flex-shrink: 0;
    position: relative;
    z-index: 1;
    font-size: var(--body);
    font-weight: bold;
    line-height: 1em;
    color: #fff;
    padding: 0 8px 0;
    width: 50%;
    box-sizing: border-box;
}

/* Video */
video {
	display: block;
	width: 100%;
}
video::-webkit-media-controls-start-playback-button {
    display: none;
}

/* Responsive */
.dElem {
	display: none !important;
}
.tElem {
	display: none !important;
}
.mElem {
	display: block !important;
}

/* Loading */
.loading {
	position: fixed;
	z-index: 1050;
	top: 0;
	left: 0;
	width: 100%;
	height: 100%;
	background-color: rgba(11, 11, 11, 0.8);
}
.loading::before {
	content: "";
	position: absolute;
	top: 50%;
	left: 50%;
	transform: translate(-50%, -50%);
	width: 40px;
	height: 40px;
	background-image: var(--loading);
	background-repeat: no-repeat;
	background-position: center;
	background-size: 40px auto;
}

/* Content */
.wrapper {
	position: relative;
	display: flex;
	flex-direction: column;
	justify-content: flex-start;
	align-items: stretch;
	min-height: 100%;
}
.container {
	max-width: 1182px;
	margin: 0 auto;
	box-sizing: border-box;
}
.containerMedium {
	max-width: 640px;
	margin: 0 auto;
	box-sizing: border-box;
}
.containerSmall {
	max-width: 375px;
	margin: 0 auto;
	box-sizing: border-box;
}
.content {
	position: relative;
	z-index: 10;
}
.contentInner {
	padding-left: var(--pad_lr);
	padding-right: var(--pad_lr);
}
.link {
	text-decoration: underline;
}
.pad_top {
	padding-top: var(--pad_top);
}

.notiTxt{
	width:100%
}
section {
	padding-top: 50px;
	padding-bottom: 90px;
}

.title::after {
	content: '';
	display: block;
    width: 261px;
    max-width: 100%;
    height: 2px;
    background-repeat: no-repeat;
    background-position: top left;
    background-size: 100%;
	margin-top: 4px;
}
.whiteContent {
	background-color: var(--white);
}
.whiteContent .title::after {
    background-image: url(../images/green_content_divider.svg);
}


.whiteContent .titleTxt {
	color: var(--purple);
}
.mintContent {
	position: relative;
	background-color: var(--mint);
}
.bling.bling3 {
	
    width: 162px;
    height: 54px;
 
	position:absolute;
	right: 0px;

}


	.home .section-main .bling span:nth-child(1),.bling3 span:nth-child(1), .programme .bling2 span:nth-child(1)  {
		animation-delay: 0s;
	}
	.home .section-main .bling span:nth-child(2),.bling3 span:nth-child(2), .programme .bling span:nth-child(2)   {
		animation-delay: 0.5s;
	}
	.home .section-main .bling span:nth-child(3),.bling3 span:nth-child(3), .programme .bling span:nth-child(3)   {
		animation-delay: 1s;
	}
.bling3.anim span {
		display: block;
		width: 54px;
		height:54px;
		background-repeat: no-repeat;
		background-position: 0 0;
		background-size: 100% auto;
		opacity: 0;
	}

	.bling3.anim span{

		display: inline-block;
	}


 .bling3.anim span{
		animation-name: starBlink;
		animation-duration: 2s;
		animation-fill-mode: forwards;
		animation-iteration-count: 1;
	}

.bling3 span{
		background-image: url(../images/bling3.svg);
}
.mintContent .title {
	/* color: var(--white); */
}
.mintContent .title::after {
    background-image: url(../images/white_pink_content_divider.svg);
}

.purpleContent {
	/* background-color: var(--purple); */
}
.purpleContent .title::after {
    background-image: url(../images/purple_content_divider.svg);
}
.purpleContent .titleTxt {
	color: #433A78;
}

.hlTxt {
	margin-top: var(--mar_top);
	color: var(--purple);
	padding: 5px 10px;
	/* font-size: var(--fs-remark); */
}
hr {
	width: 100%;
	height: 1px;
	background-color: var(--mint);
    border: 0;
    margin: 20px 0 0;
}
.divider {
	width: auto;
	height: 3px;
	display: block;
}

.decorArrowLine {
	width: 100%;
	height: 63px;
	background-image: url(../images/decor_arrow_white.svg);
	background-repeat: repeat-x;
	background-position: bottom center;
	background-size: auto 100%;
}
.decorArrowLine.lineRight {
	transform: scale(-1);
}

.floatingContainer {
      position: fixed;
    z-index: 99;
    bottom: 19px;
    right: 19px;

}
/* .floatingContainer.static {
	position: absolute;
    top: -82px;
	bottom: auto;
} */
.floatingContainer .btnToggleActions {
	flex-shrink: 0;
	display: block;
	width: 52px;
	height: 52px;
	border: 2px solid #fff;
	border-radius: 50%;
	background-color: var(--pink);
	background-image: url(../images/icn_toggle_actions.svg);
	background-repeat: no-repeat;
	background-position: center;
	background-size: 100% auto;
	transition: all var(--fade_speed);
}
.floatingContainer.opened .btnToggleActions {
	background-color: #2D2D2D;
	transform: rotate(45deg);
}
.floatingContainer .floatingContent {
	position: absolute;
	bottom: 78px;
	right: 0;
    display: none;
}
.floatingContainer .btnGotoSubscribe {
	display: none;
}
.floatingContainer .actions {
	display: flex;
	flex-direction: column;
	justify-content: flex-start;
	align-items: flex-start;
	gap: 25px;
}
.floatingContainer .actionBtn {
	display: block;
	width: 53px;
	height: 53px;
	border-radius: 50%;
	background-color: var(--white);
	background-repeat: no-repeat;
	background-position: center;
	background-size: 32px auto;
	box-shadow: 0px 1px 7px rgba(154, 154, 154, 0.25);
}
.floatingContainer .btnActionShare {
	background-image: url(../images/icn_action_share.svg);
}
.floatingContainer .btnActionYoutube {
	background-image: url(../images/icn_action_youtube.svg);
}
.floatingContainer .btnActionInstagram {
	background-image: url(../images/icn_action_instagram.svg);
}
.floatingContainer .btnActionXiaohongshu {
	background-image: url(../images/icn_action_xiaohongshu.svg);
}

#icn_ins_white{
display: inline-block;
    width: 24px;
    height: 25px;
    background-image: url(../images/icn_ins_white.svg);
    background-repeat: no-repeat;
    background-size: 100% auto;
	
}
.btnFollowUs{
	display: flex;
	justify-content: center;
	align-items: center;

	gap: 5px;
}

/* Event item */
.eventList {
	display: flex;
	flex-direction: column;
	justify-content: flex-start;
	align-items: stretch;
	flex-wrap: wrap;
	padding-top: 35px;
	margin: 0 -5px;
}
.eventList .eventItem {
	display: flex;
	flex-direction: column;
	justify-content: stretch;
	align-items: flex-start;
	width: 100%;
	padding: 0 5px;
}
.eventList .eventItem .itemBtn {
	display: flex;
	flex-direction: column;
	/* justify-content: stretch; */
	align-items: stretch;
    flex-grow: 1;
	color: var(--body);
	text-decoration: none;
	width: 100%;
    /* height: 100%; */
	padding: 0 15px;
}
.eventList .eventItem .itemImg {
	border-radius: var(--border_radius) var(--border_radius) 0 0;
	margin: 0 -15px;
	overflow: hidden;
}
.eventList .eventItem .itemTitle {
    flex-grow: 1;
    font-size: 1.38em;
    font-weight: 700;
    line-height: 1.2em;
    margin-top: 10px;
}
.eventList .eventItem .period {
	display: flex;
	flex-direction: row;
	justify-content: flex-start;
	align-items: flex-start;
	font-weight: 700;
    line-height: 25px;
	margin-top: 22px;
}
.eventList .eventItem .cateIcon {
	flex-shrink: 0;
	width: 25px;
	margin-right: 10px;
}
.eventList .eventItem .cateName {
	display: flex;
	flex-direction: row;
	justify-content: flex-start;
	align-items: flex-start;
	flex-wrap: wrap;
	row-gap: 5px;
	column-gap: 10px;
	margin-top: var(--mar_top_mid);
}
.eventList .eventItem .cateNameTxt {
	/* font-size: 18px; */
    font-size: var(--fs-body);
    line-height: 1em;
    border-radius: var(--border_radius_const);
    padding: 11px 15px 10px;
}
.eventList .eventItem .cateNameTxt.film {
	color: var(--green_dark);
	border: 1px solid var(--green_dark);
}
.eventList .eventItem .cateNameTxt.outreach {
	color: var(--purple);
	border: 1px solid var(--purple);
}
.eventList .eventItem .cateNameTxt.exhibition {
	color: var(--body);
	border: 1px solid var(--body);
}
.eventList .eventItem .cateNameTxt.arts {
	color: var(--pink);
	border: 1px solid var(--pink);
}
.eventList .eventItem .cateNameTxt.library {
	color: var(--blue);
	border: 1px solid var(--blue);
}
.eventList .eventItem .cateNameTxt.online {
	color: var(--orange);
	border: 1px solid var(--orange);
}

/* header */
header {
	position: sticky;
	z-index: 100;
	top: -1px;
	display: flex;
	flex-direction: row;
	justify-content: space-between;
	align-items: center;
	padding: var(--header_pad_v) var(--pad_lr);
	background: var(--white);
	border-bottom: 1px solid var(--border_mint);
	transition: all var(--fade_speed);
}
header.fixed {
	background: var(--white);
}
header .header_content {
	position: relative;
	z-index: 20;
	display: flex;
	flex-direction: row;
	justify-content: space-between;
	align-items: center;
	 
}
header .logo_container {
	width: 126px;
}
header .header_bar {
	display: none;
	 
}
header .menubtn_container {
	flex-shrink: 0;
}
header .openMenuBtn_container {
	position: absolute;
	z-index: 22;
	top: 50%;
	right: var(--pad_lr);
	transform: translateY(-50%);
}
header .btnOpenMenu {
	position: relative;
	width: 30px;
	height: 30px;
	display: block;
	 
}
header .btnOpenMenu span {
	position: absolute;
	width: 22px;
	height: 2px;
	background-color: var(--purple);
    border-radius: var(--border_radius2_const);
	transition: all var(--fade_speed);
}
header .btnOpenMenu span:nth-child(1) {
	top: 7px;
	left: 4px;
}
header .btnOpenMenu span:nth-child(2) {
	top: 14px;
	left: 4px;
}
header .btnOpenMenu span:nth-child(3) {
	top: 21px;
	left: 4px;
}
.mainMenuWrapper {
	position: fixed;
	z-index: 21;
	top: 0;
	left: 0;
	width: 100%;
	height: 100%;
    /* min-height: 100vh; */
	background-color: rgba(0, 0, 0, 0.7);
	box-sizing: border-box;
	display: none;
	 
}
.mainMenuContainer {
	display: flex;
	flex-direction: column;
	justify-content: space-between;
	align-items: flex-start;
    width: 100%;
	height: 100%;
	padding: 40px 26px 60px 26px;
	background-color: var(--white);
	box-sizing: border-box;
	overflow: auto;
	opacity: 0;
	 
}
.mainMenu {
	display: flex;
	flex-direction: column;
	justify-content: flex-start;
	align-items: stretch;
    width: 100%;
}
.mainMenuItem {
	text-align: left;
	border-bottom: 1px solid var(--mint);
	padding-bottom: 30px;
	padding-top: 30px;
}
.mainMenuItem .mainMenuBtnTitle {
	display: flex;
	gap: 20px;
	align-items: center;
}
.mainMenuItem .mainMenuBtn{
	font-size: 1.67em;
	font-weight: bold;
	line-height: 1.2em;
	text-decoration: none;
	color: var(--body);
}
.mainMenuItem .mainMenuBtnTitle  .expendArrow {
display: block;
    width: 27px;
    height: 27px;
    background-image: url(../images/icn_arrow_down_green.svg);
    background-repeat: no-repeat;
    background-size: 100% auto;
	rotate: 180deg;

}

.botMenuDivision{
	display: block;
    width: 1px;
    height: 100%;
    background-color: #AACE36;
}


.mainMenuItem .mainMenuBtnTitle  .expendArrow.active{
	rotate: 0deg;
}
.mainMenuItem.dim .mainMenuBtn {
	opacity: 0.5;
	cursor: default;
}
.mainMenu .submenu {
	display: flex;
	flex-direction: column;
	justify-content: flex-start;
	align-items: flex-start;
	gap: 14px;
	padding-top: 20px;
}
.mainMenu .submenuItem {
	color: #D5146A;
	text-decoration: none;
	background-image: var(--icn_plus);
	background-repeat: no-repeat;
    background-position: 0 calc(50% - 1px);
	background-size: 9px auto;
	padding-left: 22px;
}
body.menuOpen {
	overflow: hidden;
}
.menuOpen header .btnOpenMenu span {
	background-color: var(--pink);
}
.menuOpen header .btnOpenMenu span:nth-child(1),
.menuOpen header .btnOpenMenu span:nth-child(3) {
	width: 30px;
    height: 1px;
}
.menuOpen header .btnOpenMenu span:nth-child(1) {
	top: 3.5px;
	left: 5.5px;
	transform: rotate(45deg);
	transform-origin: 0 0;
}
.menuOpen header .btnOpenMenu span:nth-child(2) {
	opacity: 0;
}
.menuOpen header .btnOpenMenu span:nth-child(3) {
	top: 24.5px;
	left: 5.5px;
	transform: rotate(-45deg);
	transform-origin: 0% 100%;
}
.menuOpen .mainMenuWrapper {
	display: flex;
	flex-direction: column;
	justify-content: flex-start;
	align-items: flex-end;
	animation: fadeIn 0.3s forwards;
}
.menuOpen.menuClose .mainMenuWrapper {
	opacity: 1;
	animation: fadeOut 0.3s forwards 0.15s;
}
.menuOpen .mainMenuWrapper .mainMenuContainer {
	animation: fadeIn 0.5s forwards 0.15s;
}
.menuOpen.menuClose .mainMenuWrapper .mainMenuContainer {
	animation: fadeOut 0.5s forwards 0s;
}
.menuOpen .mainMenuWrapper .mainMenu {
	animation: mainMenuOpen 0.5s forwards 0.15s;
}
.menuOpen.menuClose .mainMenuWrapper .mainMenu {
	transform: scale(1);
	opacity: 1;
	animation: mainMenuClose 0.5s forwards 0s;
}
@keyframes mainMenuOpen {
	0% {
		opacity: 0;
		transform: translateY(-50px);
	}
	40% {
		opacity: 1;
	}
	100% {
		opacity: 1;
		transform: translateY(0px);
	}
}
@keyframes mainMenuClose {
	0% {
		opacity: 1;
		transform: translateY(0px);
	}
	100% {
		opacity: 0;
		transform: translateY(-50px);
	}
}
.botMenu {
	display: flex;
	flex-direction: row;
	justify-content: space-between;
	align-items: center;
    width: 100%;
	padding-top: 45px;
}
.botMenuItem {
	display: flex;
	flex-direction: row;
	justify-content: flex-start;
	align-items: center;
	gap: 20px;
}
.botMenuItem.botMenuOther {
	gap: 50px;
}
.botMenuItem .itemBtn {
	display: block;
	font-size: 18px;
	font-weight: bold;
	text-decoration: none;
	color: #2d2d2d;
}
.botMenuItem .itemBtn.active {
	color: #D5146A;
	border-bottom: 1px solid #D5146A;
}
.botMenuItem .btnOpenShare {
	width: 25px;
	height: 25px;
	background-image: url(../images/icn_share_pink.svg);
	background-repeat: no-repeat;
	background-position: center;
	background-size: 18px auto;
}
.botMenuItem .btnOpenSearch {
	width: 25px;
	height: 25px;
	background-image: url(../images/icn_search_pink.svg);
	background-repeat: no-repeat;
	background-position: center;
	background-size: 22px auto;
}

/* footer */
footer {
	position: relative;
	z-index: 10;
    font-size: var(--fs-small);
	line-height: 1.2em;
	color: #fff;
	padding-bottom: 60px;
}
footer .footerContent {
	position: relative;
    overflow: hidden;
}
footer a {
	color: #fff;
	text-decoration: none;
}
footer .topContent {
	position: relative;
	z-index: 10;
	padding-top: 150px;
	line-height: 1.6em;
}
footer .topContent .subscribe .txt {
	display: block;
}
footer .decor {
    position: absolute;
    top: 0;
    right: 0;
    width: 100%;
    height: 100%;
    max-width: 390px;
    background-image: url(../images/footer_decor.svg);
    background-repeat: no-repeat;
    background-position: top right;
    background-size: 60% auto;
    pointer-events: none;
}
footer .topContent .footerTitle .titleTxt {
	font-size: 45px;
	font-weight: 700;
	line-height: 1.2em;
	color:#D6E79C
}
footer .topContent .subscribeContainer {
	max-width: 390px;
	margin-left: auto;
	margin-right: auto;
}
footer .topContent .subscribe {
	margin-top: 25px;
}
footer .topContent .subscribe .inputContainer {
	margin-top: var(--mar_top);
}
footer .topContent .subscribe .note {
    margin-top: 12px;
}
footer .topContent .subscribe .btnContainer {
	text-align: left;
	margin-top: 25px;
}
footer .topContent .subscribe .btn {
    font-size: 19px;
    line-height: 1em;
    min-width: 224px;
    padding: 8px 20px 8px;
	background-color: white;
	color: #E74291;

}

.pinkWhiteBtn.hover{
	background-color: #D6E79C !important; ;
	color: #2d2d2d !important;
}



footer .subscribe p{
	    margin-bottom: 25px;
    color: #F8F8F8;
    font-family: Arial;
    font-size: 16px;
    font-style: normal;
    font-weight: 700;
    line-height: 21px;
}


footer .topContent .subscribe .btnContainer {
	margin: 0 auto;
	width: unset;
}
footer .topContent .captchaContainer {
	display: inline-flex;
	flex-direction: row;
	justify-content: flex-start;
	align-items: center;
	background-color: #fff;
    border-radius: var(--border_radius_const);
    padding: 5px 15px;
    margin-top: 8px;
}
footer .topContent .captchaContainer > label{
	display: inline-block;;
	font-size:0;
	width:0;
	overflow: hidden;
}
footer .topContent .inputCaptcha {
	width: 80px;
    padding-left: 10px;
    padding-right: 10px;
	border: 1px solid var(--grey);
}
footer .topContent #ae_captcha_api {
	display: inline-flex;
	flex-direction: row;
	justify-content: flex-start;
	align-items: center;
}
footer .topContent #ae_captcha_api #divcaptcha {
}
footer .topContent #ae_captcha_api #divcaptcha img {
}
footer .topContent #ae_captcha_api .fa-refresh {
	width: 32px;
	height: 32px;
	background-image: url(../images/icn_refresh.svg);
	background-repeat: no-repeat;
	background-position: center;
	background-size: 32px auto;
}
footer .topContent .artsAction {
	max-width: 390px;
	margin-top: var(--mar_top_mid);
	margin-left: auto;
	margin-right: auto;
}
footer .logoList {
	position: relative;
	z-index: 10;
	display: flex;
	flex-direction: row;
	justify-content: flex-start;
	align-items: flex-start;
	flex-wrap: wrap;
	gap: 10px;
	padding-top: var(--pad_top_big);
}
footer .logo img {
	width: auto;
	height: 50px;
}
footer .botContent {
	position: relative;
	z-index: 10;
	font-size: var(--fs-small);
}
footer .tagListContainer {
	display: flex;
	flex-direction: row;
	justify-content: space-between;
	align-items: flex-start;
	padding-top: 12px;
}
footer .tagList {
	display: flex;
	flex-direction: column;
	justify-content: flex-start;
	align-items: flex-start;
}
footer .tag {
}
footer .tagBtn {
	display: block;
    padding: 12px 20px 12px 0;
}
footer .links {
	display: flex;
	flex-direction: column;
	justify-content: flex-start;
	align-items: flex-start;
	flex-wrap: nowrap;
}
footer .linksItem {
	position: relative;
    padding: 12px 20px 12px 0;
}
/* footer .linksItem:not(:first-child) {
	padding-left: 20px;
	margin-left: 20px;
}
footer .linksItem:not(:first-child)::before {
	content: '';
	position: absolute;
	top: 50%;
	left: 0;
	transform: translate(0, -50%);
	width: 1px;
	height: 100%;
	background-color: var(--mint);
} */
footer .copyrightWrapper {
	display: block;
	padding-top: 20px;
}
footer .copyrightContainer {
	display: flex;
	flex-direction: row;
	justify-content: flex-start;
	align-items: flex-start;
}
footer .copyright {
	line-height: 1.67em;
	padding-right: 20px;
}
footer .copyrightWrapper .wcagLogos {
	display: none;
}

/* Notification */
.noti {
    position: absolute;
    z-index: 99;
    top: 100px;
    left: 50%;
    transform: translate(-50%, 0);
	width: 100%;
	max-width: 900px;
	padding: 0 32px;
	display: none;
}
.notiContent {
    position: relative;
	display: flex;
	flex-direction: column;
	justify-content: flex-start;
	align-items: flex-start;
	background-color: #fff;
    border-radius: var(--border_radius2_const);
    padding: 10px 20px;
}
.noti .notiLeft {
    flex-shrink: 0;
	display: flex;
	flex-direction: row;
	justify-content: flex-start;
	align-items: center;
}
.noti .notiIcon {
	width: 12px;
	margin-right: 10px;
}
.noti .btnCloseNoti {
	position: absolute;
    top: 3px;
    right: 4px;
	width: 30px;
	height: 30px;
	background-image: url(../images/icn_close.svg);
	background-repeat: no-repeat;
	background-position: center;
	background-size: 14px auto;
}

/* Reach Content */
.reachContent .fromLeft {
	transform: translateX(-50%);
	opacity: 0;
	transition: all var(--fade_speed);
}
.reachContent.reached .fromLeft {
	transform: translateX(0);
	opacity: 1;
}
.reachContent .fromRight {
	transform: translateX(50%);
	opacity: 0;
	transition: all var(--fade_speed);
}
.reachContent.reached .fromRight {
	transform: translateX(0);
	opacity: 1;
}
.reachContent .fromTop {
	transform: translateY(-50%);
	opacity: 0;
	transition: all var(--fade_speed);
}
.reachContent.reached .fromTop {
	transform: translateY(0);
	opacity: 1;
}
.reachContent .fromBottom {
	transform: translateY(50%);
	opacity: 0;
	transition: all var(--fade_speed);
}
.reachContent.reached .fromBottom {
	transform: translateY(0);
	opacity: 1;
}

.ytPlayer {
	position: relative;
	width: 100%;
	height: 0;
	padding-bottom: 138.97%;
}
.ytPlayer iframe {
	position: absolute;
	top: 0;
	left: 0;
	width: 100%;
	height: 100%;
}

/* Form */
.inputMsg {
	font-size: var(--fs-remark);
	margin-top: var(--mar_top);
	color: var(--red);
	width: 100%;
	box-sizing: border-box;
	display: none;
	text-decoration: none;
}

.checkboxContainer {
    position: absolute;
    top: 2px;
    left: 0;
    padding-left: 35px;
    cursor: pointer;
    font-size: 22px;
    -webkit-user-select: none;
    -moz-user-select: none;
    -ms-user-select: none;
    user-select: none;
}
.checkboxContainer input {
    position: absolute;
    top: 0;
    left: 0;
    opacity: 0;
    cursor: pointer;
    height: 0;
    width: 0;
}
.checkboxContainer .checkmark {
    position: absolute;
    top: 0;
    left: 0;
    height: 20px;
    width: 20px;
    background-color: transparent;
    border: 2px solid var(--purple);
    border-radius: 3px;
    display: flex;
    justify-content: center;
    align-items: center;
    box-sizing: border-box;
}
.checkboxContainer .checkmark:after {
    content: "";
    width: 11px;
    height: 11px;
    background-image: var(--icn_tick);
	background-repeat: no-repeat;
    background-size: 11px auto;
    display: none;
}
.checkboxContainer input:checked ~ .checkmark {
    background-color: var(--purple);
}
.checkboxContainer input:checked ~ .checkmark:after {
    display: block;
}
.checkboxContainer .checkmark:after {
}
.checkboxWrapper {
    position: relative;
    display: block;
}
.checkboxWrapper input[type="checkbox"] {
    position: absolute;
    top: 0;
    left: 0;
}
.checkboxWrapper .txt {
    padding-top: 0px;
    padding-left: 28px;
    display: block;
}

.radioList {
	display: flex;
	flex-direction: row;
	align-items: flex-start;
	justify-content: flex-start;
	flex-wrap: wrap;
	padding-top: 20px;
	padding-bottom: 20px;
}
.radioWrapper {
	margin-left: 10px;
}
.radioWrapper:first-child {
	margin-left: 0;
}
.radioContainer {
    position: absolute;
    top: 2px;
    left: 0;
    padding-left: 35px;
    cursor: pointer;
    font-size: 22px;
    -webkit-user-select: none;
    -moz-user-select: none;
    -ms-user-select: none;
    user-select: none;
}
.radioContainer input {
    position: absolute;
    top: 0;
    left: 0;
    opacity: 0;
    cursor: pointer;
    height: 0;
    width: 0;
}
.radioContainer .checkmark {
    position: absolute;
    top: 0;
    left: 0;
    height: 20px;
    width: 20px;
    background: var(--input);
    border: 2px solid transparent;
    border-radius: 50%;
    display: flex;
    justify-content: center;
    align-items: center;
    box-sizing: border-box;
}
.radioContainer .checkmark:after {
    content: "";
    width: 10px;
    height: 10px;
    border-radius: 50%;
    background-color: var(--purple);
    display: none;
}
.radioContainer input:checked ~ .checkmark {
    border-color: var(--purple);
}
.radioContainer input:checked ~ .checkmark:after {
    display: block;
}
.radioWrapper {
    position: relative;
    display: block;
}
.radioWrapper input[type="checkbox"] {
    position: absolute;
    top: 0;
    left: 0;
}
.radioWrapper .txt {
    padding-top: 0px;
    padding-left: 28px;
    display: block;
}

/* Select */
.select2-container {
	display: block;
	/* width: 100% !important; */
	height: 100%;
	/* margin-right: 8px; */
}
.select2-container--default .select2-selection--single {
	border-radius: var(--border_radius);
	border: 0;
	background: #bbd85f;
	box-shadow: none;
	width: 100%;
	height: 100%;
	box-sizing: border-box;
	display: flex;
	flex-direction: column;
	justify-content: center;
	align-items: flex-start;
}
.select2-container--default.select2-container--disabled .select2-selection--single {
	opacity: 0.8;
}
.select2-container--default .select2-selection--single.smallSel2 {
	width: 100px;
}
.select2-container--default .select2-selection--single .select2-selection__rendered {
	color: #2D2D2D;
    line-height: 35px;
    padding-left: var(--input_pad_lr);
    padding-right: 46px;
	width: 100%;
	box-sizing: border-box;
}
.select2-container--default .select2-selection--single .select2-selection__arrow {
    top: 50%;
    right: 15px;
    margin-top: -13px;
    background-image: url(../images/icn_dropdown.svg);
    background-repeat: no-repeat;
    background-position: center;
    background-size: 19px auto;
}
.survey .select2-container--default .select2-selection--single .select2-selection__arrow {
	display: none;
}
.select2-container--open .select2-selection--single .select2-selection__arrow {
	transform: scaleY(-1);
}
.select2-container--default .select2-selection--single .select2-selection__arrow b {
	display: none;
}
.select2-container--open .select2-dropdown {
	color: #2D2D2D;
	background-color: #bbd85f;
	border: none !important;
    overflow: hidden;
}
.select2-search--dropdown {
	padding: 8px;
}
.noSearch .select2-search--dropdown {
	display: none;
}
.select2-container--default .select2-search--dropdown .select2-search__field {
	border: 0;
	border-radius: 0;
	color: #2D2D2D;
	background: #bbd85f;
	padding: 6px 8px;
}
.select2-container--default .select2-search--dropdown .select2-search__field:focus, 
.select2-container--default .select2-search--dropdown .select2-search__field:focus-visible {
	box-shadow: none;
	outline: none;
	border: 0;
}
.select2-results__option {
	padding: 10px 8px;
}
.select2-container--default .select2-results__option--highlighted.select2-results__option--selectable {
	background-color: #bbd85f;
	color: #2D2D2D;
}
.select2-container--default .select2-results__option--selected {
	color: #2D2D2D;
	background-color: #bbd85f;
}

.selectLangContainer .select2-container {
    /* width: 100% !important; */
    min-width: 45px;
}
.selectLangContainer label {
	display: none;
	font-size:0;
	width:0;
	overflow: hidden;
	vertical-align: middle;
}
.selectLangContainer .select2-container--default .select2-selection--single {
	border-radius: 0;
	background-color: transparent;
}
.selectLangContainer .select2-container--default .select2-selection--single .select2-selection__rendered {
	color: var(--purple);
    padding-left: 0px;
    padding-right: 20px;
}
.selectLangContainer .select2-container--default .select2-selection--single .select2-selection__arrow {
    right: 0;
    background-image: url(../images/icn_arrow_down.svg);
    background-size: 15px auto !important;
}
.selectLangContainer .select2-container--default.select2-container--open .select2-selection--single .select2-selection__arrow {
    transform: scaleY(-1);
}
.select2-container .dropdownLang {
    margin-left: -40px;
}
.select2-container--open .dropdownLang.select2-dropdown {
	color: var(--purple);
	background-color: transparent;
	border: 1px solid var(--purple);
  
    overflow: hidden;
    width: auto !important;
}
.dropdownLang .select2-results {
    padding: 0 6px;
	    border: 1px solid;
    border-radius: 30px;
}
.dropdownLang .select2-results__options {
	display: flex;
	flex-direction: row;
	justify-content: center;
	align-items: center;
}
.dropdownLang .select2-results__option {
	position: relative;
	
	padding: 3px 10px;
}
.dropdownLang .select2-results__option::after {
	content: '';
	position: absolute;
	top: 50%;
	right: 0;
	transform: translate(0, -50%);
	width: 1px;
	height: calc(100% - 19px);
	background-color: var(--purple);
}
.dropdownLang .select2-results__option.last::after {
	display: none;
}
.dropdownLang .select2-results__option--highlighted.select2-results__option--selectable {
	color: var(--purple_dark_hover);
	background-color: transparent;
}
.dropdownLang .select2-results__option--selected {
	display: none;
}

/* Home */
.home .loading {
	display: none;
}
.home .coverPage {
	position: fixed;
	z-index: 999;
	top: 0;
	left: 0;
	width: 100%;
	height: 100%;
	background-color: var(--purple);
}
.home .coverVideo {
	height: 100%;
}
.home .btnCloseCoverVideo {
    position: absolute;
    top: 10px;
    right: 10px;
    width: 40px;
    height: 40px;
	background-color: transparent;
    background-image: url(../images/icn_clear.svg);
    background-repeat: no-repeat;
    background-position: top center;
    background-size: 30px auto;
}

.home .section-banner .slidesContent {
	position: relative;
	z-index: 5;
	display: block;
    max-width: 1440px;
	margin: 0 auto;
	overflow: hidden;
}
.home .section-banner .slides {
	position: relative;
    overflow: hidden;
}
.home .section-banner .slides .slidesImgFill {
    position: absolute;
    z-index: 0;
    top: 50%;
    left: -50px;
    transform: translate(0, -50%);
    width: calc(100% + 100px);
    filter: blur(24px);
}
.home .scrollDownContainer {
	position: fixed;
	bottom: 50px;
	left: 50%;
	transform: translate(-50%, 0);
	text-align: center;
	transition: opacity var(--fade_speed);
	opacity: 0;
	pointer-events: none;
}
.home .scrollDownContainer.show {
	opacity: 1;
	pointer-events: auto;
}
.home .btnScrollDown {
	display: inline-block;
	vertical-align: top;
	color: var(--purple);
	text-decoration: none;
	animation: yoyo 2200ms infinite;
}
.home .icnScrollDown {
	display: block;
	width: 12px;
	height: 12px;
    background-image: url(../images/icn_scroll_down.svg);
    background-repeat: no-repeat;
    background-position: top center;
    background-size: 100% auto;
	margin: 0 auto;
}

.home .section-main {
	background-color: var(--seasalt);
}
.home .eventList .eventItem {
	margin-bottom: 24px;
}
.home .eventList .eventItem .itemBtn {
    border-radius: var(--border_radius);
	background-color: var(--white);
    padding-bottom: 15px;
}

.home .section-intro {
	text-align: center;
	color: var(--white);
	background-color: var(--purple);
	background-image: url(../images/intro_arrow.svg);
	background-repeat: no-repeat;
	background-position: bottom center;
	background-size: 200% auto;
	padding-top: 140px;
	padding-bottom: 230px;
}

    .home .section-intro h2{
		color: #D6E79C;
	}
.home .section-intro .section-content {
}
.home .section-intro .desc {
	padding-top: var(--pad_top_big);
}

.home .section-bts .titleContainer {
	position: relative;
}
.home .section-bts .desc {
	padding-top: var(--pad_top);
}
.home .section-bts .remarks {
	font-weight: bold;
	padding-top: var(--pad_top);
}
.home .section-bts .postList {
	padding-top: var(--pad_top_big);
}
.home .section-bts .postSlider {
	padding: 0 10px
}
.home .section-bts .postItem {
	padding: 0 10px;
}
.home .section-bts .postItem .itemImg iframe {
	min-width: 0 !important;
}

.home .section-bts h2{
	color:#433A78
}

.home .btnContainer .btnAboutFest2024{
	background-color: white;
	border-color: #E74291;
	color: #E74291;
}

@media only screen and (max-width: 320px) {
	footer .titleTxt {
		font-size: 40px;
	}
}

@media only screen and (min-width: 641px) {
	/* tablets */
	.dElem {
		display: none !important;
	}
	.mElem {
		display: none !important;
	}
	.tElem {
		display: block !important;
	}
	
	.ytPlayer {
		padding-bottom: 56.25%;
	}

	footer {
		padding-bottom: 32px;
	}
	footer .logoList {
		justify-content: center;
		column-gap: 30px;
		row-gap: 20px;
	}
	footer .logo img {
		width: auto;
		height: 68px;
	}
	footer .logo[data-name="web_for_all"] {
		display: none;
	}
	footer .logo[data-name="w3c_wcag"] {
		display: none;
	}
	footer .tagList {
	}
	footer .tag {
		width: auto;
	}
	footer .copyrightWrapper {
		flex-direction: row-reverse;
		justify-content: space-between;
		align-items: flex-end;
	}
	footer .copyrightContainer {
		position: relative;
		padding-top: 0px;
	}
	footer .copyright {
		width: 100%;
		box-sizing: border-box;
	}
	
	.mainMenuContainer {
		max-width: 500px;
		padding-left: 50px;
		padding-right: 50px;
	}
}

@media (min-width: 961px) {
	:root {
		/* --pad_top: 14px; */
		--pad_top: 22px;
		--pad_top_big: 60px;
		--pad_lr: 50px;
		--mar_top: 22px;
		--header_pad_v: 20px;
		--border_radius: 10px;
		--input_pad_tb: 12px;
	
	}
	h1 {
		font-size: 4.72em;
		font-weight: 700;
		line-height: 1em;
	}
	h2 {
		font-size: 4.72em;
		font-weight: 700;
		line-height: 1em;
	}
	h3 {
		font-size: 1.8em;
		font-weight: 700;
		line-height: 1em;
	}
	h4 {
		font-size: 1.5em;
		font-weight: 700;
		line-height: 1em;
	}
	h5 {
		font-size: 1.33em;
		font-weight: 700;
		line-height: 1em;
	}

	/* desktops */
	.tElem {
		display: none !important;
	}
	.mElem {
		display: none !important;
	}
	.dElem {
		display: block !important;
	}

	table td {
	padding:20px
}

	/* Input */
	input[type="text"],
	input[type="tel"],
	input[type="email"],
	input[type="password"] {
		font-size: 18px;
	}
.pinkBtn:hover{
	background-color: #E74291!important;
}
	/* Switch */
	.switch {
		width: 360px;
	}

	.radioWrapper {
		margin-left: 30px;
		min-width: 215px;
	}
	.radioWrapper .txt {
		padding-left: 32px;
	}

	section .btnContainer .btn {
		margin: 0 30px;
	}
	.btn:not(:first-child) {
		margin-top: 0;
	}

	section {
		padding-top: 90px;
		padding-bottom: 140px;
	}

	.title::after {
		width: 360px;
		height: 4px;
		margin-top: 16px;
	}
	.mintContent::before {
		top: 68px;
		width: 365px;
		height: 122px;
	}
	.mintContent .titleContainer {
		padding-right: 280px;
	}

	.decorArrowLine {
		height: 112px;
	}

	.bling3.anim span {
		/* display: block; */
		width: 121px;
		height:121px;
		background-repeat: no-repeat;
		background-position: 0 0;
		background-size: 100% auto;
		opacity: 0;
	}
	    footer .logoList {
		justify-content: space-between;
		column-gap: unset;
		}
	.floatingContainer.static {
		top: -30px;
	}
	.floatingContainer .btnToggleActions {
		display: none;
	}
	.floatingContainer .floatingContent {
		bottom: 0;
		border-radius: var(--border_radius);
		border: 2px solid #FFF;
		background: var(--seasalt);
		box-shadow: 0px 2px 10px 0px rgba(154, 154, 154, 0.25);
		display: flex !important;
		flex-direction: row;
		justify-content: flex-start;
		align-items: stretch;
		overflow: hidden;
	}
	.floatingContainer .btnGotoSubscribe {
		--_tri_w: 16px;
		position: relative;
		flex-grow: 1;
		display: flex;
		flex-direction: row;
		justify-content: flex-start;
		align-items: center;
		font-size: 20px;
		font-weight: 700;
		text-decoration: none;
		white-space: nowrap;
		color: var(--white);
		background-color: var(--pink);
		padding: 0 20px;
		margin-right: var(--_tri_w);
		transition: all var(--fade_speed);
	}
	.floatingContainer .btnGotoSubscribe::after {
		content: '';
		position: absolute;
		top: 0;
		right: calc(var(--_tri_w) * -1);
		width: 0;
		height: 0;
		border-top: 28px solid transparent;
		border-bottom: 28px solid transparent;
		border-left: var(--_tri_w) solid var(--pink);
		transition: all var(--fade_speed);
	}
	.floatingContainer .btnGotoSubscribe:hover {
		/* background-color: var(--pink_light); */
	}
	.floatingContainer .btnGotoSubscribe:hover::after {
		/* border-left-color: var(--pink_light); */
	}
	.floatingContainer .actions {
		flex-direction: row-reverse;
		gap: 10px;
		padding-left: 12px;
	}
	.floatingContainer .actionBtn {
		background-color: transparent;
		box-shadow: none;
	}
	.floatingContainer .btnActionShare {
		background-size: 26px auto;
	}
	.floatingContainer .btnActionYoutube {
		background-size: 36px auto;
	}
	.floatingContainer .btnActionInstagram {
		background-size: 32px auto;
	}
	
	.eventList {
		flex-direction: row;
		margin: 0 -15px;
	}
	.eventList .eventItem {
		width: 50%;
		padding: 0 15px;
	}
	.eventList .eventItem .itemBtn {
		padding: 0 22px;
	}
	.eventList .eventItem .itemImg {
		margin: 0 -22px;
	}
	.eventList .eventItem .itemTitle {
		font-size: 1.94em;
		line-height: 1.1em;
		margin-top: 22px;
	}
	.eventList .eventItem .period {
		align-items: center;
		font-size: var(--fs-big);
		font-weight: bold;
	}
	.eventList .eventItem .cateIcon {
	}
	.eventList .eventItem .cateNameTxt {
	}

	header {
		border-bottom-width: 3px;
	}
	header .logo_container {
		width: 186px;
	}
	header .header_bar {
		position: relative;
		z-index: 20;
		display: flex;
		flex-direction: row;
		justify-content: flex-start;
		align-items: center;
		padding-right: 40px;
	}
	header .header_barItem {
		padding-right: 70px;
	}
	header .header_barItem .itemBtn {
		display: flex;
		flex-direction: row;
		justify-content: flex-start;
		align-items: center;
		text-decoration: none;
		color: var(--purple);
	}
	header .header_barItem .itemIcn {
		width: 27px;
		margin-right: 10px;
	}
	header .header_barItem.searchItem .itemTxt {
		text-align: center;
		min-width: 80px;
		padding: 8px 12px 6px;
		border-radius: 25px;
		background: rgb(242 156 151 / 13%);
		font-size: 18px;
	}
	header .header_barItem #selectLang {
		border: 0;
	}
	.mainMenuItem {
		padding-bottom: 45px;
		padding-top: 45px;
	}
	.mainMenu .submenu {
		gap: 20px;
		padding-top: 25px;
	}
	.mainMenu .submenuItem {
		background-size: 12px auto;
		padding-left: 26px;
	}
	.botMenu {
		justify-content: flex-end;
	}
	.botMenuItem {
		margin-left: 40px;
	}
	.botMenuItem.botMenuLang {
		display: none;
	}
	.botMenuItem .btnOpenShare {
		width: 40px;
		height: 40px;
		background-size: 28px auto;
	}
	.botMenuItem .btnOpenSearch {
		width: 40px;
		height: 40px;
		background-size: 37px auto;
	}
	footer .logoList{
		flex-wrap: nowrap;
	}
	footer .topContent {
		display: flex;
		flex-direction: row-reverse;
		justify-content: space-between;
		align-items: flex-start;
		line-height: 1.72em;
		max-width: 1440px;
		min-height: 500px;
		/* padding-top: 16px; */
		/* padding-right: 150px; */
		margin: 0 auto;
	}
	footer .topContent .footerTitle .titleTxt {
		font-size: 55px;
	}
	footer .topContent .subscribeContainer {
		width: 45%;
		max-width: 100%;
		padding-left: 4%;
	}
	footer .topContent .subscribeContainer .title {
		padding-right: 80px;
	}
	footer .topContent .subscribe .txt {
		font-size: 18px;
	}
	footer .topContent .subscribe .note {
		margin-top: 20px;
	}
	footer .topContent .subscribe .btn {
		font-size: 20px;
		min-width: 280px;
		padding: 12px 20px;
	}
	footer .topContent .artsAction {
		position: relative;
		max-width: 700px;
		/* padding-top: 90px; */
		margin-top: 0;
	}
	footer .topContent .artsActionImg {
		width: 80%;
	}
	footer .topContent .artsAction .decorArrow {
		position: absolute;
        top: 0;
        right: -20px;
        width: 30%;
        aspect-ratio: 3 / 2;
        max-width: 180px;
        /* height: 120px; */
        background-image: url(../images/footer_decor_arrow.svg);
        background-repeat: no-repeat;
        background-position: top right;
        background-size: 100% auto;
        pointer-events: none;
	}
	footer .decor {
		width: 222px;
		height: 148px;
		background-image: url(../images/footer_square_pattern.svg);
	}
	footer .bling{
		position: absolute;
		top: 76px;
		width: 74px;
		background-image: url(../images/bling2.svg);
		background-repeat: repeat-y;
		background-position: top right;
		background-size: 100% auto;
		pointer-events: none;
	}
	footer .bling1 {
		right: -37px;
		height: 100%;
	}
	footer .bling2 {
		right: 37px;
		height: 370px;
	}
	footer .botContent {
	}
	footer .tagListContainer {
		font-size: 18px;
		padding-top: 20px;
	}
	footer .tagList {
		flex-direction: row;
		flex-wrap: wrap;
		max-width: 640px;
	}
	footer .tag {
		width: 50%;
	}
	footer .tagBtn {
	}
	footer .links {
		flex-direction: row;
		flex-wrap: wrap;
		max-width: 400px;
	}
	footer .linksItem {
		width: 50%;
	}
	footer .copyrightWrapper {
		display: flex;
		flex-direction: row;
		justify-content: space-between;
		align-items: flex-start;
	}
	footer .copyrightWrapper .wcagLogos {
		display: flex;
		flex-direction: row;
		justify-content: flex-start;
		align-items: flex-start;
		gap: 30px;
	}
	footer .copyrightWrapper .wcagLogos a {
		flex-shrink: 0;
		display: block;
	}
	footer .copyrightWrapper .wcagLogo {
		height: 44px;
	}
			
	.noti {
		top: 160px;
	}
	.notiContent {
		flex-direction: row;
		justify-content: center;
		padding: 20px 55px 20px 55px
	}
	.noti .notiIcon {
		width: 20px;
	}
	.noti .notiTxt {
		padding-left: 15px;
	}
	.noti .btnCloseNoti {
		top: 14px;
		right: 13px;
		background-size: 18px auto;
	}

	.select2-container--default .select2-selection--single .select2-selection__arrow {
		background-size: 24px auto;
	}
		
  .home .eventList .eventItem {
    margin-bottom: 22px;

    flex-direction: row;
	aspect-ratio: 524/589;
  }

    .home .eventList .eventItem:nth-child(2){
		margin-top: 100px;
	}
	 .home .eventList .eventItem:nth-child(2n){
		margin-top: 100px;
		margin-bottom: -80px;
	 }
  
  .home .eventList .eventItem:nth-last-child(1) {
    margin-bottom: 0px;

    background-size: 18px auto;
  }
	.home .eventList .eventItem .itemBtn {
		padding-bottom: 22px;
		height: 100%;
	}

	.home .section-intro {
		background-repeat: repeat-x;
		background-size: 100% auto;
		padding-bottom: 300px;
	}
	.home .section-intro .section-content {
		max-width: 830px;
	}
	.home .section-intro .section-content .desc {
		max-width: 700px;
		margin: 0 auto;
	}
	.home .section-intro h2 {
		font-size: 3.05em;
	}

	.home .section-bts .bling {
		top: 65px;
		width: 368px;
		height: 122px;
	} 

	.home .section-bts .bling3{
		position: absolute;
		right: 0px
	}

	.programme .bling4{
		right: 0px;
		top: 110px;
	
	}

	.programme .bling5{
		bottom: 0px;
	}
	.home .section-bts .desc {
		max-width: 800px;
		padding-top: 26px;
	}
	.home .section-bts .postList {
		/* padding-left: 40px;
		padding-right: 40px; */
	}
	footer .decor {
		background-size: 100% auto;
	}
}

@media (min-width: 1281px) {
	/* hi-res laptops and desktops */
	:root {
		--fs-body: 18px;
		--fs-big: 1.39em;
	}
}

@media (min-width: 1441px) {
	.home .section-main {
		position: relative;
	}
	.home .section-main .bling {
		position: absolute;
		pointer-events: none;
	}
	.home .section-main .bling span, .bling3.anim span {
		display: block;
		width: 122px;
		height: 122px;
		background-repeat: no-repeat;
		background-position: 0 0;
		background-size: 100% auto;
		opacity: 0;
	}

	.bling3.anim span{

		display: inline-block;
	}

	.programme .bling span {

		width: 122px;
		height: 122px;

	}

	.programme .bling{
			position: absolute;
			flex-direction: column;
	}
	.home .section-main .bling.anim span, .bling3.anim span, .programme .bling.anim span {
		animation-name: starBlink;
		animation-duration: 2s;
		animation-fill-mode: forwards;
		animation-iteration-count: 1;
	}


	.home .section-main .bling span:nth-child(1),.bling3 span:nth-child(1), .programme .bling2 span:nth-child(1)  {
		animation-delay: 0s;
	}
	.home .section-main .bling span:nth-child(2),.bling3 span:nth-child(2), .programme .bling span:nth-child(2)   {
		animation-delay: 0.5s;
	}
	.home .section-main .bling span:nth-child(3),.bling3 span:nth-child(3), .programme .bling span:nth-child(3)   {
		animation-delay: 1s;
	}
	.home .section-main .bling span:nth-child(4), .programme .bling span:nth-child(4)  {
		animation-delay: 1.5s;
	}
	.home .section-main .bling span:nth-child(5), .programme .bling span:nth-child(5)  {
		animation-delay: 2s;
	}
	.home .section-main .bling span:nth-child(6), .programme .bling span:nth-child(6)  {
		animation-delay: 2.5s;
	}
	.home .section-main .bling span:nth-child(7), .programme .bling span:nth-child(7)  {
		animation-delay: 3s;
	}
	.home .section-main .bling span:nth-child(8), .programme .bling span:nth-child(8)  {
		animation-delay: 3.5s;
	}
	.home .section-main .bling span:nth-child(9), .programme .bling span:nth-child(9)  {
		animation-delay: 4.5s;
	}
	.home .section-main .bling1 {
		top: 240px;
		right: 0;
	}
	.home .section-main .bling1 span {
		background-image: url(../images/bling1.svg);
	}
	.home .section-main .bling2 {
		bottom: -550px;
		left: 0;
	}
	.home .section-main .bling2 span {
		background-image: url(../images/bling2.svg);
	}
	
	
}

/************** Common Animation **************/
@keyframes fadeIn {
	0% {
		opacity: 0;
	}
	100% {
		opacity: 1;
	}
}
@keyframes fadeOut {
	0% {
		opacity: 1;
	}
	100% {
		opacity: 0;
	}
}
@keyframes slideUp {
	0% {
		opacity: 0;
		bottom: -100%;
	}
	40% {
		opacity: 1;
	}
	100% {
		opacity: 1;
		bottom: 0;
	}
}
@keyframes slideUp_out {
	0% {
		opacity: 1;
		bottom: 0;
	}
	40% {
		opacity: 0;
	}
	100% {
		opacity: 0;
		bottom: -100%;
	}
}
@keyframes slideDown {
	0% {
		opacity: 0;
		transform: translateY(-50%);
	}
	40% {
		opacity: 1;
	}
	100% {
		opacity: 1;
		transform: translateY(0);
	}
}
@keyframes slideDown_out {
	0% {
		opacity: 1;
		transform: translateY(0);
	}
	40% {
		opacity: 0;
	}
	100% {
		opacity: 0;
		transform: translateY(-50%);
	}
}
@keyframes yoyo {
	0% {
		transform: translateY(0);
	}
	50% {
		transform: translateY(15px);
	}
	100% {
		transform: translateY(0);
	}
}
@keyframes starBlink {
	0%,
	100% {
		opacity: 0;
		transform: scale(0.8);
	}
	50% {
		opacity: 1;
		transform: scale(1);
	}
}