@font-face {
    font-family: 'TikTok Sans ExtraBold';
    src: url('fonts/TikTokSans-ExtraBold.eot');
    src: url('fonts/TikTokSans-ExtraBold.eot?#iefix') format('embedded-opentype'),
        url('fonts/TikTokSans-ExtraBold.woff2') format('woff2'),
        url('fonts/TikTokSans-ExtraBold.woff') format('woff'),
        url('fonts/TikTokSans-ExtraBold.ttf') format('truetype'),
        url('fonts/TikTokSans-ExtraBold.svg#TikTokSans-ExtraBold') format('svg');
    font-weight: bold;
    font-style: normal;
    font-display: swap;
}

@font-face {
    font-family: 'TikTok Sans Bold';
    src: url('fonts/TikTokSans-Bold.eot');
    src: url('fonts/TikTokSans-Bold.eot?#iefix') format('embedded-opentype'),
        url('fonts/TikTokSans-Bold.woff2') format('woff2'),
        url('fonts/TikTokSans-Bold.woff') format('woff'),
        url('fonts/TikTokSans-Bold.ttf') format('truetype'),
        url('fonts/TikTokSans-Bold.svg#TikTokSans-Bold') format('svg');
    font-weight: bold;
    font-style: normal;
    font-display: swap;
}

@font-face {
    font-family: 'TikTok Sans Black';
    src: url('fonts/TikTokSans-Black.eot');
    src: url('fonts/TikTokSans-Black.eot?#iefix') format('embedded-opentype'),
        url('fonts/TikTokSans-Black.woff2') format('woff2'),
        url('fonts/TikTokSans-Black.woff') format('woff'),
        url('fonts/TikTokSans-Black.ttf') format('truetype'),
        url('fonts/TikTokSans-Black.svg#TikTokSans-Black') format('svg');
    font-weight: 900;
    font-style: normal;
    font-display: swap;
}

@font-face {
    font-family: 'TikTok Sans Light';
    src: url('fonts/TikTokSans-Light.eot');
    src: url('fonts/TikTokSans-Light.eot?#iefix') format('embedded-opentype'),
        url('fonts/TikTokSans-Light.woff2') format('woff2'),
        url('fonts/TikTokSans-Light.woff') format('woff'),
        url('fonts/TikTokSans-Light.ttf') format('truetype'),
        url('fonts/TikTokSans-Light.svg#TikTokSans-Light') format('svg');
    font-weight: 300;
    font-style: normal;
    font-display: swap;
}

@font-face {
    font-family: 'TikTok Sans Regular';
    src: url('fonts/TikTokSans-Regular.eot');
    src: url('fonts/TikTokSans-Regular.eot?#iefix') format('embedded-opentype'),
        url('fonts/TikTokSans-Regular.woff2') format('woff2'),
        url('fonts/TikTokSans-Regular.woff') format('woff'),
        url('fonts/TikTokSans-Regular.ttf') format('truetype'),
        url('fonts/TikTokSans-Regular.svg#TikTokSans-Regular') format('svg');
    font-weight: normal;
    font-style: normal;
    font-display: swap;
}

@font-face {
    font-family: 'TikTok Sans Medium';
    src: url('fonts/TikTokSans-Medium.eot');
    src: url('fonts/TikTokSans-Medium.eot?#iefix') format('embedded-opentype'),
        url('fonts/TikTokSans-Medium.woff2') format('woff2'),
        url('fonts/TikTokSans-Medium.woff') format('woff'),
        url('fonts/TikTokSans-Medium.ttf') format('truetype'),
        url('fonts/TikTokSans-Medium.svg#TikTokSans-Medium') format('svg');
    font-weight: 500;
    font-style: normal;
    font-display: swap;
}

@font-face {
    font-family: 'TikTok Sans SemiBold';
    src: url('fonts/TikTokSans-SemiBold.eot');
    src: url('fonts/TikTokSans-SemiBold.eot?#iefix') format('embedded-opentype'),
        url('fonts/TikTokSans-SemiBold.woff2') format('woff2'),
        url('fonts/TikTokSans-SemiBold.woff') format('woff'),
        url('fonts/TikTokSans-SemiBold.ttf') format('truetype'),
        url('fonts/TikTokSans-SemiBold.svg#TikTokSans-SemiBold') format('svg');
    font-weight: 600;
    font-style: normal;
    font-display: swap;
}

@font-face{
	font-family: 'FontAwesome';
	src: url('fonts/fontawesome-webfont.eot?v=4.7.0');
	src: url('fonts/fontawesome-webfont.eot?#iefix&v=4.7.0') format('embedded-opentype'),
		url('fonts/fontawesome-webfont.woff2?v=4.7.0') format('woff2'),
		url('fonts/fontawesome-webfont.woff?v=4.7.0') format('woff'),
		url('fonts/fontawesome-webfont.ttf?v=4.7.0') format('truetype'),
		url('fonts/fontawesome-webfont.svg?v=4.7.0#fontawesomeregular') format('svg');
	font-weight: normal;
	font-style:normal;
}

html, body{
	padding: 0px;
	margin: 0px;
	width: 100%;
	height: 100%;
	background-color: #000;
}
.body-landing{
	overflow: hidden;
}

button,
input,
textarea{
	outline: none;
}

.err{
	position: relative;
	display: block;
	color: red;
	display: none;
	font-family: 'TikTok Sans Regular';
	font-size: 14px;
	margin-top:5px;
}

.swal-sm {
	width: 350px !important;
	font-size: 14px;
}

.swal-sm .swal2-popup {
  padding-top: 2.5em !important;
}

.swal-sm .swal2-title {
  	font-size: 16px !important;
}

.swal-sm .swal2-html-container {
  	font-size: 14px !important;
}

.swal-sm .swal2-confirm,
.swal-sm .swal2-cancel {
	padding: 4px 12px !important;
	font-size: 14px !important;
	border-radius: 4px !important;
}

/* Ukuran ikon swal2 (success, error, warning, dll) */
.swal-sm .swal2-icon {
	width: 50px !important;
	height: 50px !important;
	margin-top: 30px !important;
	margin-bottom: 10px !important;
}

/* Success icon (centang) penyesuaian */
.swal-sm .swal2-icon.swal2-success .swal2-success-line-tip,
.swal-sm .swal2-icon.swal2-success .swal2-success-line-long {
	height: 3px !important;
	background-color: #4ba319;
}

.swal-sm .swal2-icon.swal2-success .swal2-success-line-tip {
	top: 26px !important;
	left: 8px !important;
	width: 18px !important;
	transform: rotate(45deg);
}

.swal-sm .swal2-icon.swal2-success .swal2-success-line-long {
	top: 22px !important;
	right: 3px !important;
	width: 30px !important;
	transform: rotate(-45deg);
}

/* Lingkaran icon success */
.swal-sm .swal2-icon.swal2-success .swal2-success-ring {
	width: 50px !important;
	height: 50px !important;
	border-width: 4px !important;
}

/* Error icon (X) penyesuaian */
.swal-sm .swal2-icon.swal2-error [class^='swal2-x-mark-line'] {
	top: 23px !important;
	width: 30px !important;
	height: 3px !important;
	background-color: #e93c3c;
}

.swal-sm .swal2-icon.swal2-error .swal2-x-mark-line-left {
	left: 10px !important;
	transform: rotate(45deg);
}

.swal-sm .swal2-icon.swal2-error .swal2-x-mark-line-right {
	right: 10px !important;
	transform: rotate(-45deg);
}


	.text-error,
	.text-error:focus{
		border: solid 1px red;
	}
	.frame-text-input{
		position: relative;
		display: block;
	}
	.text-success{
		position: relative;
		display: block;
		border: solid 1px green !important;
		padding-right: 50px;
	}
		.icon-success{
			position: absolute;
			display: none;
			font-size: 24px;
			z-index: 9;
			right: 10px;
			top: 5px;
			color: green;
		}
	
	.header {
		position: fixed;
		display: block;
		top: 0;
		left: 0;
		width: 100%;
		z-index: 1000;
		background: transparent;
		transition: all 0.3s ease;
	}
		.header.scrolled {
			background: #000;
		}
		/* Header Mobile - tampil di mobile saja */
		.header-mobile {
			display: flex;
			flex-direction: column;
			padding: 10px;
			transition: all 0.3s ease;
		}
		.header-mobile.public .scrolled {
			height: 110px;
		}
		.header-mobile.private .scrolled {
			height: 60px;
		}
			.header-mobile .top-row {
				display: flex;
				justify-content: space-between;
				align-items: center;
				width: 100%;
			}
			.header-mobile .logo {
				position: relative;
				width: 230px;
				margin: 0;
			}
			.header-mobile .btn-lang {
				background-color: #212122;
				color: #fff;
				border: none;
				padding: 0.6rem 1.5rem;
				border-radius: 30px;
				font-family: 'TikTok Sans Medium';
				font-size: .8rem;
				cursor: pointer;
				margin-left: auto;
			}
			.header-mobile .btn-lang:hover {
				background-color: #ffffff;
				color: #212122;
			}
		.header-mobile .btn-regis {
			background-color: #ea0641;
			color: #fff;
			border: none;
			padding: 0.6rem 1.5rem;
			border-radius: 30px;
			font-family: 'TikTok Sans Medium';
			font-size: .8rem;
			cursor: pointer;
			align-self: center;
			margin: 10px 0 0 0;
		}
		.header-mobile .btn-regis:hover {
			background-color: #fff;
			color: #ea0641;
		}

		/* Header Desktop - sembunyikan di mobile */
		.header-desktop {
			display: none;
		}


	.body{
		position: relative;
		display: block;
		width: 100%;
		min-height: 80%;
		left: 50%;
		transform: translateX(-50%);
		background-color: #000;
		font-family: 'TikTok Sans Regular';
		font-size: 14px;
	}
	.public .body {
		padding-top: 110px;
	}
	.private .body {
		padding-top: 60px;
	}

		.content{
			position: relative;
			display: block;
			width: 100%;
			background-size: 100% auto;
			background-position: bottom right;
			background-repeat: no-repeat;
		}
			.segment-date  {
				position: relative;
				display: block;
				width: 85%;
				max-width: 800px;
				left: 50%;
				transform: translateX(-50%);
			}
			#open-maps{
				cursor: pointer;
			}
				.container-date {
					position: relative;
					display: block;
					width: 100%;
					text-align: center;
					margin-bottom: 20px;
				}
					.btn-green {
						background-color: #28a745;
						color: #fff;
						border: none;
						padding: 0.5rem 3rem;
						border-radius: 30px;
						font-family: 'TikTok Sans Medium';
						font-size: 1rem;
						cursor: pointer;
						margin-top: 20px;
					}
					.btn-green:hover {
						background-color: #218838;
					}

			.segment-countdown  {
				position: relative;
				display: block;
				width: 100%;
			}
				.countdown-top{
					position: relative;
					display: block;
					width: 100%;
					background-position: left bottom;
					background-size: 100% auto;
					background-repeat: no-repeat;
				}
					.isi-top-countdown{
						position: relative;
						display: block;
						width: 80%;
						max-width: 800px;
						left: 50%;
						transform: translateX(-50%);
						padding: 30px 0;
						text-align: center;
					}
						.judul-top-countdown{
							margin-bottom: 20px;
							text-align: center;
						}
						.judul-top-countdown  img{
							width: 80%;
						}
						.isi-countdown{
							color: #fff;
							font-family: 'TikTok Sans Regular';
							font-size: 1em;
							margin-bottom: 50px;
						}

				.countdown-middle{
					position: relative;
					display: block;
					width: 100%;
					background-position: top left;
					background-size: 100% 100%;
					background-repeat: no-repeat;
				}
					.frame-countdown{ 
						position: relative;
						display: block;
						width: 100%;
						max-width: 1000px;
						left: 50%;
						transform: translateX(-50%);
					}
						.countdown-container {
							display: flex;
							flex-direction: column;
							width: 100%;
						}
							.countdown-left,
							.countdown-right {
								width: 100%;
							}
							.countdown-left {
								text-align: center;
								color: #fff;
								font-family: 'TikTok Sans Medium';
								font-size: 2em
							}
								.countdown-left img{
									width: 70%;
								}
							.countdown-right {
								padding : 10px;
							}
								.countdown-timer {
									display: flex;
									justify-content: center;
									align-items: center;
								}
									.countdown-box {
										display: flex;
										flex-direction: column;
										align-items: center;
										margin: 0 10px;
									}
										.countdown-number {
											display: flex;
											gap: 3px;
										}
											.box-digit {
												font-size: 24px;
												text-align: center;
												width: 25px;
												background-color: #fff;
												color: #000;
												font-family: 'TikTok Sans SemiBold';
												border-radius: 5px;
											}
										.countdown-label {
											font-size: 12px;
											color: white;
											font-family: 'TikTok Sans SemiBold';
										}
									.countdown-separator {
										font-size: 24px;
										padding-bottom: 25px;
										color: #fff;
										font-family: 'TikTok Sans Bold';
									}

				.countdown-bottom{
					position: relative;
					display: block;
					width: 100%;
					background-position: top left;
					background-size: 100% auto;
					background-repeat: no-repeat;
				}
					.container-rundown {
						position: relative;
						width: 90%;
						margin: 0 auto 50px auto;
						padding: 20px;
					}
						.judul-rundown {
							font-family: 'TikTok Sans Bold';
							font-size: 20px;
							color: #fff;
							text-align: center;
							margin-top: 30px;
						}
						.isi-rundown {
							display: flex;
							flex-direction: column;
							gap: 30px;
						}
							.rundown-item {
								background-color: transparent;
								border-radius: 15px;
								padding: 20px;
								color: #fff;
								text-align: center;
							}
								.tgl-rundown {
									background-color: #28a745;
									color: #fff;
									border: none;
									padding: 0.5rem 1rem;
									width: 70%;
									text-align: center;
									border-radius: 30px;
									font-family: 'TikTok Sans Medium';
									font-size: 0.8rem;
									margin: 0 auto 30px auto;
								}
								.rundown-item img{
									width: 100%;
									border-radius: 12px;
								}
							
								/* Slick Carousel Arrows */
								.isi-rundown .slick-prev,
								.isi-rundown .slick-next {
									width: 25px;
									height: 25px;
									top:  60%;
									z-index: 10;
									background-size: contain;
									background-repeat: no-repeat;
									background-position: center;
								}
								.isi-rundown .slick-prev:before,
								.isi-rundown .slick-next:before {
									content: '';
								}
								.isi-rundown .slick-prev {
									left: -25px;
									background-image: url('../../images/arrow-prev.png');
								}
								.isi-rundown .slick-next {
									right: -25px;
									background-image: url('../../images/arrow-next.png');
								}
								.isi-rundown .slick-prev:hover,
								.isi-rundown .slick-next:hover {
									opacity: 0.8;
								}

					/* Private Rundown 2-Column Layout */
					.container-rundown-private { 
						padding-top: 50px;
					}
						/* Private Rundown Flexbox Layout */
						.rundown-row {
							display: flex;
							flex-direction: column;
							margin-bottom: 20px;
						}
							.rundown-title {
								font-family: 'TikTok Sans Bold';
								font-size: 20px;
								color: #fff;
								text-align: left;
								margin-bottom: 10px;
							}
							.rundown-content {
								font-family: 'TikTok Sans Regular';
								font-size: 14px;
								color: #fff;
								text-align: left;
							}

			.segment-register{
				position: relative;
				display: block;
				width: 82%;
				left: 50%;
				transform: translateX(-50%);
				margin-bottom: 50px;
				background-image: url('../../images/bg-regis-top.png'), url('../../images/bg-regis-bottom.png'), url('../../images/bg-regis-middle.png');
				background-size: 100% auto, 100% auto, 100% auto;
				background-position: top left, bottom left, center left;
				background-repeat: no-repeat, no-repeat, repeat-y;
				padding: 30px 20px;
				font-size: 0px;
			}
				.register-left{
					position: relative;
					display: inline-block;
					width: 100%;
					font-family: 'TikTok Sans Regular';
					font-size: 16px;
					color: #fff;
					margin-bottom: 50px;
				}
					.judul-register{
						font-family: 'TikTok Sans Bold';
						font-size: 22px !important;
						margin-bottom: 20px;
						color: #fff;
					}
					.btn-sk {
						background-color: #2dccd3;
						color: #000;
						border: none;
						padding: 0.2rem 1rem;
						border-radius: 30px;
						font-family: 'TikTok Sans Regular';
						font-size: 1.1rem;
						cursor: pointer;
					}
					.btn-download {
						background-color: #EA0641;
						color: #fff;
						border: none;
						padding: 0.2rem 1rem;
						border-radius: 30px;
						font-family: 'TikTok Sans Regular';
						font-size: 1.1rem;
						cursor: pointer;
						text-decoration: none;
						display: inline-block;
					}
					.btn-download:hover {
						background-color: #c10537;
						color: #fff;
						text-decoration: none;
					}
				.register-right{
					position: relative;
					display: inline-block;
					width: 100%;
				}
					/* Floating label + underline inputs (scoped) */
					.segment-register .mb-3.floating{
						position: relative;
						padding-top: 18px; /* space for floating label */
					}
						.segment-register .mb-3.floating > label{
							position: absolute;
							left: 0;
							top: 35px; /* vertically center-ish before focus */
							transform: translateY(-50%);
							font-family: 'TikTok Sans Regular';
							font-size: 14px;
							color: rgba(255,255,255,0.8);
							transition: all .18s ease;
							pointer-events: none;
						}
						.segment-register .mb-3.floating > .form-control{
							background: transparent;
							border: none;
							border-bottom: 1px solid rgba(255,255,255,0.35);
							border-radius: 0;
							padding: 12px 0 8px 0;
							color: #fff;
							box-shadow: none;
						}
							.segment-register .mb-3.floating > .form-control:focus{
								outline: none;
								box-shadow: none;
							}
						.segment-register .mb-3.floating.focused > label,
						.segment-register .mb-3.floating.filled > label{
							top: 25px;
							transform: translateY(-100%);
							font-size: 14px;
							color: rgba(255,255,255,0.8);
						}
							/* For non-focused but filled state, keep subtler color */
							.segment-register .mb-3.floating.filled:not(.focused) > label{
								color: rgba(255,255,255,0.8);
							}

					/* RSVP Options Styles */
					.rsvp-options {
						margin-top: 4rem;
					}
						.rsvp-options.rsvp-grid {
							display: grid;
							grid-template-columns: 1fr 1fr;
							gap: 1rem;
						}
						.rsvp-options.rsvp-single {
							display: block;
						}
						.rsvp-options .form-check {
							margin-bottom: 0.5rem;
						}
						.rsvp-options .form-check-input {
							margin-right: 0.5rem;
						}
						.rsvp-options .form-check-label {
							font-size: 14px;
							color: rgba(255,255,255,0.8);
						}

					.btn-submit {
						background-color: #ea0641;
						color: #fff;
						border: none;
						padding: 0.6rem 1.5rem;
						border-radius: 30px;
						font-family: 'TikTok Sans Medium';
						font-size: .9rem;
						cursor: pointer;
						margin-left: auto;
					}
					.btn-submit:hover {
						background-color: #fff;
						color: #ea0641;
					}

			.box-thanks{
				position: relative;
				display: block;
				width: 80%;
				max-width: 600px;
				left: 50%;
				transform: translateX(-50%);
				margin-bottom: 50px;
				font-family: 'TikTok Sans Regular';
				font-size: 16px;
				color: #fff;
			}
				.box-thanks .terms-conditions {
					margin-top: 2rem;
					padding-bottom: 50px;
					text-align: left;
				}
					.box-thanks .terms-conditions h1 {
						font-family: 'TikTok Sans Medium';
						font-size: 20px;
						color: #fff;
						margin-bottom: 1rem;
					}
					.box-thanks .terms-conditions ol {
						font-family: 'TikTok Sans Regular';
						font-size: 12px;
						color: #fff;
						padding-left: 20px;
					}
					.box-thanks .terms-conditions ol li {
						margin-bottom: 0.5rem;
					}

	.footer{
		position: relative;
		display: block;
		width: 100%;
	}
		.segment-footer{
			position: relative;
			display: flex;
			flex-direction: column;
			align-items: center;
			justify-content: center;
			width: 100%;
			max-width: 1200px;
			text-align: center;
			left: 50%;
			transform: translateX(-50%);
		}
			.footer-content {
				margin-bottom: 20px;
			}
			.footer img{
				width: 80%;
				margin-bottom: 20px;
			}
			.footer-support {
				text-align: center;
				margin-bottom: 30px;
				color: #fff;
				font-size: 0.85rem;
			}
			.footer-support a {
				color: #fff;
				text-decoration: none;
			}
			.footer-support a:hover {
				text-decoration: underline;
			}
				

/*Tablet / iPad / Laptop Portraid*/
@media only screen
and (min-width: 601px) {
		/* Sembunyikan header mobile di tablet+ */
		.header-mobile {
			display: none;
		}
		
		/* Tampilkan header desktop di tablet+ */
		.header-desktop {
			display: flex;
			flex-direction: row;
			align-items: center;
			padding: 30px 50px;
			transition: all 0.3s ease;
		}
		.header-desktop.public .scrolled {
			height: 70px;
		}
		.header-desktop.private .scrolled {
			height: 70px;
		}
			.header-desktop .logo {
				width: 280px;
			}
			.header-desktop .btn-regis {
				margin-left: auto;
				margin-right: 20px;
				background-color: #ea0641;
				color: #fff;
				border: none;
				padding: 0.6rem 1.5rem;
				border-radius: 30px;
				font-family: 'TikTok Sans Medium';
				font-size: .8rem;
				cursor: pointer;
			}
			.header-desktop .btn-regis:hover {
				background-color: #fff;
				color: #ea0641;
			}
			.header-desktop .btn-lang {
				background-color: #212122;
				color: #fff;
				border: none;
				padding: 0.6rem 1.5rem;
				border-radius: 30px;
				font-family: 'TikTok Sans Medium';
				font-size: .8rem;
				cursor: pointer;
			}
			.header-desktop .btn-lang:hover {
				background-color: #ffffff;
				color: #212122;
			}
			/* Untuk private type, btn-lang di paling kanan */
			.header-desktop.private .btn-lang {
				margin-left: auto;
			}
			/* Ketika tidak ada btn-regis sebelumnya (halaman thanks/survey), btn-lang ke kanan */
			.header-desktop .logo + .btn-lang {
				margin-left: auto;
			}

	.body{
		font-size: 14px;
		padding-top: 0px;
	}
	.public .body {
		padding-top: 0px;
	}
	.private .body {
		padding-top: 0px;
	}

			.container-date {
				order: 4;
				margin-left: 10px;
			}
				.btn-green {
					padding: 0.7rem 5rem;
					font-size: 1.1rem;
					margin-top: 30px;
				}

						.judul-top-countdown{
							margin-bottom: 20px;
						}
						.isi-countdown{
							font-size: 1em;
							margin-bottom: 50px;
						}

					.countdown-container {
						flex-direction: row;
					}
						.countdown-left {
							width: 45%;
							padding-left: 1em;
							padding-top: 0px;
							font-size: 3em;
						}
						.countdown-right {
							width: 55%;
						}

					.container-rundown {
						position: relative;
						width: 70%;
						padding: 20px;
					}
						.judul-rundown {
							font-size: 32px;
							margin-top: 50px;
							margin-bottom: 30px;
						}
								.tgl-rundown {
									padding: 0.5rem 1rem;
									width: 50%;
									font-size: 1rem;
								}
								.rundown-item img{
									width: 100%;
									border-radius: 24px;
								}
							
								/* Slick Carousel Arrows */
								.isi-rundown .slick-prev,
								.isi-rundown .slick-next {
									width: 42px;
									height: 42px;
									top:  55%;
								}
								.isi-rundown .slick-prev {
									left: -65px;
								}
								.isi-rundown .slick-next {
									right: -65px;
								}
					/* Private Rundown 2-Column Layout */
					.container-rundown-private {
						padding-top: 100px;
					}
						.rundown-row {
							flex-direction: row;
							margin-bottom: 20px;
						}
							.rundown-title {
								width: 40%;
								font-size: 24px;
							}
							.rundown-content {
								width: 60%;
								padding-top: 8px;
								font-size: 16px;
							}

			.segment-register{
				width: 80%;
				margin-bottom: 80px;
				border-radius: 25px;
				padding: 50px 60px;
			}
				.register-left{
					width: 100%;
					font-size: 16px;
					margin-bottom: 50px;
				}
					.judul-register{
						font-size: 16px !important;
						margin-bottom: 20px;
					}
				.register-right{
					width: 100%;
				}
						.rsvp-options .form-check-label {
							font-size: 16px;
						}
					.btn-submit {
						padding: 0.6rem 1.5rem;
						border-radius: 30px;
						font-size: 1rem;
					}

			.box-thanks{
				position: relative;
				display: block;
				width: 80%;
				left: 50%;
				transform: translateX(-50%);
				margin-bottom: 50px;
				font-family: 'TikTok Sans Regular';
				font-size: 16px;
				color: #fff;
			}

			.container-date {
				margin-bottom: 40px;
			}

				.box-thanks .terms-conditions {
					margin-top: 3rem;
				}
					.box-thanks .terms-conditions h1 {
						font-size: 2rem;
						margin-bottom: 2rem;
					}
					.box-thanks .terms-conditions ol {
						font-size: 1rem;
						padding-left: 30px;
					}
					.box-thanks .terms-conditions ol li {
						margin-bottom: 0.5rem;
					}

		.segment-footer {
			flex-direction: row;
			justify-content: space-between;
			align-items: center;
			padding: 40px 50px;
		}
			.footer-content {
				margin-bottom: 0;
			}
			.footer img{
				width: 280px;
				margin-bottom: 0;
			}
			.footer-support {
				text-align: left;
				margin-bottom: 0;
			}
}

@media only screen
and (min-width: 1024px) {
		.header-content {
			padding: 20px 50px;
		}
			.logo {
				width: 300px;
			}
			.btn-regis {
				padding: 0.6rem 1.5rem;
				border-radius: 30px;
				font-size: 1rem;
			}
			.bilingual-icon {
				margin-left: 30px;
				font-size: 1.4rem;
			}
			.btn-lang {
				padding: 0.6rem 1.5rem;
				border-radius: 30px;
				font-size: 1rem;
			}

	.body{
		font-size: 14px;
		/*padding-top: 50px;*/
	}

						.judul-top-countdown{
							margin-bottom: 30px;
						}
						.judul-top-countdown  img{
							width: 60%;
						}
						.isi-countdown{
							font-size: 1em;
							margin-bottom: 60px;
						}

					.countdown-left {
						padding-left: 0px;
						padding-top: 8px;
						width: 46%;
					}
					.countdown-right {
						width: 54%;
					}
								.countdown-number {
									gap: 5px;
								}
									.box-digit {
										font-size: 28px;
										width: 30px;
									}
								.countdown-label {
									font-size: 14px;
								}
							.countdown-separator {
								font-size: 28px;
								padding-bottom: 20px;
							}

					.container-rundown {
						position: relative;
						width: 70%;
						padding: 20px;
					}
						.judul-rundown {
							font-size: 42px;
							margin-top: 50px;
							margin-bottom: 30px;
						}
								.tgl-rundown {
									padding: 0.5rem 1rem;
									width: 50%;
									font-size: 1.2rem;
									margin-bottom: 50px;
								}
								.rundown-item img{
									border-radius: 34px;
								}
							
								/* Slick Carousel Arrows */
								.isi-rundown .slick-prev,
								.isi-rundown .slick-next {
									width: 64px;
									height: 64px;
									top:  56%;
								}
								.isi-rundown .slick-prev {
									left: -100px;
								}
								.isi-rundown .slick-next {
									right: -100px;
								}

					/* Private Rundown 2-Column Layout */
					.container-rundown-private {
						padding-top: 100px;
					}
						.rundown-row {
							flex-direction: row;
							margin-bottom: 20px;
						}
							.rundown-title {
								width: 40%;
								font-size: 24px;
							}
							.rundown-content {
								width: 60%;
								padding-top: 8px;
								font-size: 16px;
							}

			.segment-register{
				width: 90%;
				margin-bottom: 80px;
				border-radius: 35px;
				padding: 50px;
			}
				.register-left{
					width: 40%;
					font-size: 18px;
					margin-bottom: 50px;
					padding-right: 30px;
					vertical-align: top;
				}
					.judul-register{
						font-size: 28px !important;
						line-height: 36px;
						margin-bottom: 20px;
					}
				.register-right{
					width: 60%;
				}
					/* Floating label + underline inputs (scoped) */
					.segment-register .mb-3.floating{
						padding-top: 18px; /* space for floating label */
					}
						.segment-register .mb-3.floating > label{
							top: 35px; /* vertically center-ish before focus */
							font-size: 16px;
						}
						.segment-register .mb-3.floating.focused > label,
						.segment-register .mb-3.floating.filled > label{
							top: 25px;
							font-size: 16px;
						}
							
					.btn-submit {
						padding: 0.7rem 1.8rem;
						border-radius: 30px;
						font-size: 1.2rem;
					}

			.box-thanks{
				position: relative;
				display: block;
				width: 80%;
				left: 50%;
				transform: translateX(-50%);
				margin-bottom: 50px;
				font-family: 'TikTok Sans Regular';
				font-size: 16px;
				color: #fff;
			}
}


/*Laptop / Desktop*/
@media only screen
and (min-width: 1280px) {
		.header-content {
			padding: 20px 50px;
		}
			.logo {
				width: 300px;
			}
			.btn-regis {
				padding: 0.6rem 1.5rem;
				border-radius: 30px;
				font-size: 1rem;
			}
			.bilingual-icon {
				margin-left: 40px;
				font-size: 1.6rem;
			}
			.btn-lang {
				padding: 0.6rem 1.5rem;
				border-radius: 30px;
				font-size: 1rem;
			}

	.body{
		font-size: 16px;
		/*padding-top: 50px;*/
	}

						.judul-top-countdown{
							margin-top: 50px;
							margin-bottom: 30px;
						}
						.isi-countdown{
							font-size: 1em;
							margin-bottom: 70px;
						}

					.countdown-left {
						width: 48%;
						padding-top: 5px;
					}
					.countdown-right {
						width: 52%;
					}
									.box-digit {
										font-size: 32px;
										width: 30px;
									}
								.countdown-label {
									margin-top: 5px;
									font-size: 16px;
								}
							.countdown-separator {
								font-size: 32px;
								padding-bottom: 30px;
							}

								.rundown-item img{
									border-radius: 42px;
								}

					/* Private Rundown 2-Column Layout */
					.container-rundown-private {
						padding-top: 100px;
					}
						.rundown-row {
							flex-direction: row;
							margin-bottom: 20px;
						}
							.rundown-title {
								width: 40%;
								font-size: 24px;
							}
							.rundown-content {
								width: 60%;
								padding-top: 8px;
								font-size: 16px;
							}

			.segment-register{
				width: 80%;
				margin-bottom: 100px;
				border-radius: 35px;
				padding: 60px;
			}
				.register-left{
					width: 45%;
					font-size: 18px;
					margin-bottom: 50px;
					padding-right: 30px;
					vertical-align: top;
				}
					.judul-register{
						font-size: 32px !important;
						line-height: 40px;
						margin-bottom: 20px;
					}
				.register-right{
					width: 55%;
				}
					/* Floating label + underline inputs (scoped) */
					.segment-register .mb-3.floating{
						padding-top: 20px; /* space for floating label */
					}
						.segment-register .mb-3.floating > label{
							top: 37px; /* vertically center-ish before focus */
							font-size: 16px;
						}
						.segment-register .mb-3.floating.focused > label,
						.segment-register .mb-3.floating.filled > label{
							top: 25px;
							font-size: 16px;
						}

					.btn-submit {
						padding: 0.7rem 1.8rem;
						border-radius: 30px;
						font-size: 1.2rem;
					}

			.box-thanks{
				font-size: 20px;
			}
}


/*Desktop 1366*/
@media only screen
and (min-width: 1366px) {
		.header-content {
			padding: 20px 50px;
		}
			.logo {
				width: 320px;
			}
			.btn-regis {
				padding: 0.6rem 1.5rem;
				border-radius: 30px;
				font-size: 1rem;
			}
			.btn-lang {
				padding: 0.6rem 1.5rem;
				border-radius: 30px;
				font-size: 1rem;
			}

	.body{
		font-size: 16px;
		padding-top: 0px;
	}
				.btn-green {
					padding: 0.8rem 6rem;
					font-size: 1.2rem;
					margin-top: 30px;
				}

					.container-rundown {
						width: 60%;
						padding: 20px;
					}
						.judul-rundown {
							font-size: 52px;
							margin-top: 50px;
							margin-bottom: 30px;
						}
								.tgl-rundown {
									padding: 0.5rem 1rem;
									width: 50%;
									font-size: 1.5rem;
									margin-bottom: 50px;
								}
								.rundown-item img{
									border-radius: 42px;
								}
							
								/* Slick Carousel Arrows */
								.isi-rundown .slick-prev,
								.isi-rundown .slick-next {
									width: 64px;
									height: 64px;
									top:  56%;
								}
								.isi-rundown .slick-prev {
									left: -120px;
								}
								.isi-rundown .slick-next {
									right: -120px;
								}
								
					/* Private Rundown 2-Column Layout */
					.container-rundown-private {
						padding-top: 100px;
					}
						.rundown-row {
							flex-direction: row;
							margin-bottom: 20px;
						}
							.rundown-title {
								width: 40%;
								font-size: 24px;
							}
							.rundown-content {
								width: 60%;
								padding-top: 8px;
								font-size: 16px;
							}

			.segment-register{
				width: 80%;
				margin-bottom: 100px;
				border-radius: 40px;
				padding: 60px;
			}
				.register-left{
					width: 45%;
					font-size: 18px;
					margin-bottom: 50px;
					padding-right: 30px;
					vertical-align: top;
				}
					.judul-register{
						font-size: 32px !important;
						line-height: 40px;
						margin-bottom: 20px;
					}
				.register-right{
					width: 55%;
				}
					/* Floating label + underline inputs (scoped) */
					.segment-register .mb-3.floating{
						padding-top: 20px; /* space for floating label */
					}
						.segment-register .mb-3.floating > label{
							top: 37px; /* vertically center-ish before focus */
							font-size: 16px;
						}
						.segment-register .mb-3.floating.focused > label,
						.segment-register .mb-3.floating.filled > label{
							top: 25px;
							font-size: 16px;
						}

					.btn-submit {
						padding: 0.7rem 1.8rem;
						border-radius: 30px;
						font-size: 1.2rem;
					}

			.box-thanks{
				font-size: 20px;
			}

			.footer img{
				width: 280px;
			}
			.footer-support {
				font-size: 1rem;
			}
}


/*Desktop MAC*/
@media only screen
and (min-width: 1440px) {
		.header-content {
			padding: 20px 50px;
		}
		.header-content.public .scrolled {
			height: 80px;
		}
		.header-content.private .scrolled {
			height: 60px;
		}
			.logo {
				width: 350px;
			}
			.btn-regis {
				padding: 0.7rem 1.7rem;
				border-radius: 30px;
				font-size: 1.2rem;
			}
			.btn-lang {
				padding: 0.7rem 1.7rem;
				border-radius: 30px;
				font-size: 1.2rem;
			}

	.body{
		font-size: 16px;
		/*padding-top: 50px;*/
	}
			
					/* Private Rundown 2-Column Layout */
					.container-rundown-private {
						padding-top: 100px;
					}
						.rundown-row {
							flex-direction: row;
							margin-bottom: 20px;
						}
							.rundown-title {
								width: 40%;
								font-size: 24px;
							}
							.rundown-content {
								width: 60%;
								padding-top: 8px;
								font-size: 16px;
							}

			.segment-register{
				width: 80%;
				margin-bottom: 100px;
				border-radius: 45px;
				padding: 60px;
			}
				.register-left{
					width: 45%;
					font-size: 20px;
					margin-bottom: 50px;
					padding-right: 30px;
					vertical-align: top;
				}
					.judul-register{
						font-size: 34px !important;
						line-height: 42px;
						margin-bottom: 20px;
					}
				.register-right{
					width: 55%;
				}
					/* Floating label + underline inputs (scoped) */
					.segment-register .mb-3.floating{
						padding-top: 20px; /* space for floating label */
					}
						.segment-register .mb-3.floating > label{
							top: 37px; /* vertically center-ish before focus */
							font-size: 18px;
						}
						.segment-register .mb-3.floating.focused > label,
						.segment-register .mb-3.floating.filled > label{
							top: 25px;
							font-size: 18px;
						}
						.rsvp-options .form-check-label {
							font-size: 18px;
						}

					.btn-submit {
						padding: 0.7rem 1.8rem;
						border-radius: 30px;
						font-size: 1.2rem;
					}

			.box-thanks{
				font-size: 20px;
				margin-bottom: 100px;
			}

			.footer img{
				width: 320px;
			}
}


/*Desktop Full HD MAC*/
@media only screen
and (min-width: 1680px) {
		.header-content {
			padding: 20px 50px;
		}
			.logo {
				width: 380px;
			}
			.btn-regis {
				padding: 0.7rem 1.7rem;
				border-radius: 30px;
				font-size: 1.2rem;
			}
			.btn-lang {
				padding: 0.7rem 1.7rem;
				border-radius: 30px;
				font-size: 1.2rem;
			}

	.body{
		font-size: 18px;
		/*padding-top: 50px;*/
	}

					.container-rundown {
						width: 50%;
						padding: 20px;
					}
						.judul-rundown {
							font-size: 48px;
							margin-top: 50px;
							margin-bottom: 30px;
						}
								.tgl-rundown {
									padding: 0.5rem 1rem;
									width: 40%;
									font-size: 1.5rem;
									margin-bottom: 50px;
								}
								.rundown-item img{
									border-radius: 40px;
								}
							
								/* Slick Carousel Arrows */
								.isi-rundown .slick-prev,
								.isi-rundown .slick-next {
									width: 82px;
									height: 82px;
									top:  56%;
								}
								.isi-rundown .slick-prev {
									left: -180px;
								}
								.isi-rundown .slick-next {
									right: -180px;
								}
						
					/* Private Rundown 2-Column Layout */
					.container-rundown-private {
						padding-top: 100px;
					}
						.rundown-row {
							flex-direction: row;
							margin-bottom: 20px;
						}
							.rundown-title {
								width: 40%;
								font-size: 24px;
							}
							.rundown-content {
								width: 60%;
								padding-top: 8px;
								font-size: 16px;
							}
			

			.segment-register{
				width: 80%;
				margin-bottom: 100px;
				border-radius: 50px;
				padding: 100px;
			}
				.register-left{
					width: 45%;
					font-size: 22px;
					margin-bottom: 50px;
					padding-right: 100px;
					vertical-align: top;
				}
					.judul-register{
						font-size: 36px !important;
						line-height: 44px;
						margin-bottom: 30px;
					}
				.register-right{
					width: 55%;
				}
					/* Floating label + underline inputs (scoped) */
					.segment-register .mb-3.floating{
						padding-top: 20px; /* space for floating label */
					}
						.segment-register .mb-3.floating > label{
							top: 37px; /* vertically center-ish before focus */
							font-size: 18px;
						}
						.segment-register .mb-3.floating > .form-control{
							font-size: 18px;
						}
						.segment-register .mb-3.floating.focused > label,
						.segment-register .mb-3.floating.filled > label{
							top: 25px;
							font-size: 18px;
						}

					.btn-submit {
						padding: 0.7rem 1.8rem;
						border-radius: 30px;
						font-size: 1.2rem;
					}

			.box-thanks{
				font-size: 20px;
				margin-bottom: 100px;
			}

		.segment-footer{
			max-width: 1400px;
		}
}


/*Desktop Full HD*/
@media only screen
and (min-width: 1920px) {
		.header-content {
			padding: 20px 50px;
		}
		.header-content.public .scrolled {
			height: 90px;
		}
		.header-content.private .scrolled {
			height: 60px;
		}
			.logo {
				width: 420px;
			}
			.btn-regis {
				padding: 0.8rem 2rem;
				border-radius: 30px;
				font-size: 1.5rem;
			}
			.btn-lang {
				padding: 0.8rem 2rem;
				border-radius: 30px;
				font-size: 1.5rem;
			}

	.body{
		font-size: 20px;
		/*padding-top: 50px;*/
	}

					.countdown-left {
						width: 45%;
						padding-top: 0px;
					}
					.countdown-right {
						width: 55%;
					}
									.box-digit {
										font-size: 34px;
										line-height: 42px;
										width: 36px;
										border-radius: 10px;
									}
								.countdown-label {
									margin-top: 5px;
									font-size: 16px;
								}
							.countdown-separator {
								font-size: 34px;
								padding-bottom: 35px;
							}

					.container-rundown {
						width: 45%;
						padding: 20px;
					}
						.judul-rundown {
							font-size: 52px;
							margin-top: 100px;
							margin-bottom: 30px;
						}
								.tgl-rundown {
									padding: 0.5rem 1rem;
									width: 40%;
									font-size: 1.5rem;
									margin-bottom: 50px;
								}
								.rundown-item img{
									border-radius: 40px;
								}
							
								/* Slick Carousel Arrows */
								.isi-rundown .slick-prev,
								.isi-rundown .slick-next {
									width: 72px;
									height: 72px;
									top:  56%;
								}
								.isi-rundown .slick-prev {
									left: -150px;
								}
								.isi-rundown .slick-next {
									right: -150px;
								}
								
					/* Private Rundown 2-Column Layout */
					.container-rundown-private {
						padding-top: 100px;
					}
						.rundown-row {
							flex-direction: row;
							margin-bottom: 20px;
						}
							.rundown-title {
								width: 40%;
								font-size: 24px;
							}
							.rundown-content {
								width: 60%;
								padding-top: 8px;
								font-size: 16px;
							}

			.segment-register{
				width: 80%;
				margin-bottom: 100px;
				padding: 120px;
			}
				.register-left{
					width: 45%;
					font-size: 22px;
					line-height: 30px;
					margin-bottom: 50px;
					padding-right: 100px;
					vertical-align: top;
				}
					.judul-register{
						font-size: 42px !important;
						line-height: 70px;
						margin-bottom: 30px;
					}
				.register-right{
					width: 55%;
				}
					/* Floating label + underline inputs (scoped) */
					.segment-register .mb-3.floating{
						padding-top: 20px; /* space for floating label */
					}
						.segment-register .mb-3.floating > label{
							top: 37px; /* vertically center-ish before focus */
							font-size: 18px;
						}
						.segment-register .mb-3.floating.focused > label,
						.segment-register .mb-3.floating.filled > label{
							top: 25px;
							font-size: 18px;
						}
						.rsvp-options .form-check-label {
							font-size: 18px;
						}
					.btn-submit {
						padding: 0.7rem 1.8rem;
						border-radius: 30px;
						font-size: 1.2rem;
					}

			.box-thanks{
				font-size: 20px;
				margin-bottom: 100px;
			}

		.segment-footer{
			max-width: 1600px;
		}
}

/* Modal Custom Styles */
.modal-content {
	font-family: 'TikTok Sans Regular', sans-serif;
	background-image: url('../../images/bg-regis-top.png'), url('../../images/bg-regis-bottom.png'), url('../../images/bg-regis-middle.png');
	background-size: 100% auto, 100% auto, 100% auto;
	background-position: top left, bottom left, center left;
	background-repeat: no-repeat, no-repeat, repeat-y;
	padding: 30px;
	border-radius: 15px;
}
.modal-title {
	font-family: 'TikTok Sans Bold', sans-serif;
	color: #fff;
}
.modal-body {
	color: #fff;
}
.modal-body h4 {
	margin-top: 20px;
	margin-bottom: 10px;
	color: #fff;
	font-family: 'TikTok Sans Bold', sans-serif;
	font-size: 16px;
}
.modal-body p {
	margin-bottom: 15px;
	color: #fff;
	line-height: 1.6;
}
.modal-header {
	border-bottom: 1px solid rgba(255,255,255,0.2);
}