@font-face {
    font-family: 'Product Sans Black';
    src: url('fonts/ProductSans-Black.eot');
    src: url('fonts/ProductSans-Black.eot?#iefix') format('embedded-opentype'),
        url('fonts/ProductSans-Black.woff2') format('woff2'),
        url('fonts/ProductSans-Black.woff') format('woff'),
        url('fonts/ProductSans-Black.ttf') format('truetype'),
        url('fonts/ProductSans-Black.svg#ProductSans-Black') format('svg');
    font-weight: 900;
    font-style: normal;
    font-display: swap;
}

@font-face {
    font-family: 'Product Sans Black Italic';
    src: url('fonts/ProductSans-BlackItalic.eot');
    src: url('fonts/ProductSans-BlackItalic.eot?#iefix') format('embedded-opentype'),
        url('fonts/ProductSans-BlackItalic.woff2') format('woff2'),
        url('fonts/ProductSans-BlackItalic.woff') format('woff'),
        url('fonts/ProductSans-BlackItalic.ttf') format('truetype'),
        url('fonts/ProductSans-BlackItalic.svg#ProductSans-BlackItalic') format('svg');
    font-weight: 900;
    font-style: italic;
    font-display: swap;
}

@font-face {
    font-family: 'Product Sans Bold Italic';
    src: url('fonts/ProductSans-BoldItalic.eot');
    src: url('fonts/ProductSans-BoldItalic.eot?#iefix') format('embedded-opentype'),
        url('fonts/ProductSans-BoldItalic.woff2') format('woff2'),
        url('fonts/ProductSans-BoldItalic.woff') format('woff'),
        url('fonts/ProductSans-BoldItalic.ttf') format('truetype'),
        url('fonts/ProductSans-BoldItalic.svg#ProductSans-BoldItalic') format('svg');
    font-weight: bold;
    font-style: italic;
    font-display: swap;
}

@font-face {
    font-family: 'Product Sans Bold';
    src: url('fonts/ProductSans-Bold.eot');
    src: url('fonts/ProductSans-Bold.eot?#iefix') format('embedded-opentype'),
        url('fonts/ProductSans-Bold.woff2') format('woff2'),
        url('fonts/ProductSans-Bold.woff') format('woff'),
        url('fonts/ProductSans-Bold.ttf') format('truetype'),
        url('fonts/ProductSans-Bold.svg#ProductSans-Bold') format('svg');
    font-weight: bold;
    font-style: normal;
    font-display: swap;
}

@font-face {
    font-family: 'Product Sans Light Italic';
    src: url('fonts/ProductSans-LightItalic.eot');
    src: url('fonts/ProductSans-LightItalic.eot?#iefix') format('embedded-opentype'),
        url('fonts/ProductSans-LightItalic.woff2') format('woff2'),
        url('fonts/ProductSans-LightItalic.woff') format('woff'),
        url('fonts/ProductSans-LightItalic.ttf') format('truetype'),
        url('fonts/ProductSans-LightItalic.svg#ProductSans-LightItalic') format('svg');
    font-weight: 300;
    font-style: italic;
    font-display: swap;
}

@font-face {
    font-family: 'Product Sans Medium Italic';
    src: url('fonts/ProductSans-MediumItalic.eot');
    src: url('fonts/ProductSans-MediumItalic.eot?#iefix') format('embedded-opentype'),
        url('fonts/ProductSans-MediumItalic.woff2') format('woff2'),
        url('fonts/ProductSans-MediumItalic.woff') format('woff'),
        url('fonts/ProductSans-MediumItalic.ttf') format('truetype'),
        url('fonts/ProductSans-MediumItalic.svg#ProductSans-MediumItalic') format('svg');
    font-weight: 500;
    font-style: italic;
    font-display: swap;
}

@font-face {
    font-family: 'Product Sans Italic';
    src: url('fonts/ProductSans-Italic.eot');
    src: url('fonts/ProductSans-Italic.eot?#iefix') format('embedded-opentype'),
        url('fonts/ProductSans-Italic.woff2') format('woff2'),
        url('fonts/ProductSans-Italic.woff') format('woff'),
        url('fonts/ProductSans-Italic.ttf') format('truetype'),
        url('fonts/ProductSans-Italic.svg#ProductSans-Italic') format('svg');
    font-weight: normal;
    font-style: italic;
    font-display: swap;
}

@font-face {
    font-family: 'Product Sans Medium';
    src: url('fonts/ProductSans-Medium.eot');
    src: url('fonts/ProductSans-Medium.eot?#iefix') format('embedded-opentype'),
        url('fonts/ProductSans-Medium.woff2') format('woff2'),
        url('fonts/ProductSans-Medium.woff') format('woff'),
        url('fonts/ProductSans-Medium.ttf') format('truetype'),
        url('fonts/ProductSans-Medium.svg#ProductSans-Medium') format('svg');
    font-weight: 500;
    font-style: normal;
    font-display: swap;
}

@font-face {
    font-family: 'Product Sans Light';
    src: url('fonts/ProductSans-Light.eot');
    src: url('fonts/ProductSans-Light.eot?#iefix') format('embedded-opentype'),
        url('fonts/ProductSans-Light.woff2') format('woff2'),
        url('fonts/ProductSans-Light.woff') format('woff'),
        url('fonts/ProductSans-Light.ttf') format('truetype'),
        url('fonts/ProductSans-Light.svg#ProductSans-Light') format('svg');
    font-weight: 300;
    font-style: normal;
    font-display: swap;
}

@font-face {
    font-family: 'Product Sans Regular';
    src: url('fonts/ProductSans-Regular.eot');
    src: url('fonts/ProductSans-Regular.eot?#iefix') format('embedded-opentype'),
        url('fonts/ProductSans-Regular.woff2') format('woff2'),
        url('fonts/ProductSans-Regular.woff') format('woff'),
        url('fonts/ProductSans-Regular.ttf') format('truetype'),
        url('fonts/ProductSans-Regular.svg#ProductSans-Regular') format('svg');
    font-weight: normal;
    font-style: normal;
    font-display: swap;
}

@font-face {
    font-family: 'Product Sans Thin';
    src: url('fonts/ProductSans-Thin.eot');
    src: url('fonts/ProductSans-Thin.eot?#iefix') format('embedded-opentype'),
        url('fonts/ProductSans-Thin.woff2') format('woff2'),
        url('fonts/ProductSans-Thin.woff') format('woff'),
        url('fonts/ProductSans-Thin.ttf') format('truetype'),
        url('fonts/ProductSans-Thin.svg#ProductSans-Thin') format('svg');
    font-weight: 100;
    font-style: normal;
    font-display: swap;
}

@font-face {
    font-family: 'Product Sans Thin Italic';
    src: url('fonts/ProductSans-ThinItalic.eot');
    src: url('fonts/ProductSans-ThinItalic.eot?#iefix') format('embedded-opentype'),
        url('fonts/ProductSans-ThinItalic.woff2') format('woff2'),
        url('fonts/ProductSans-ThinItalic.woff') format('woff'),
        url('fonts/ProductSans-ThinItalic.ttf') format('truetype'),
        url('fonts/ProductSans-ThinItalic.svg#ProductSans-ThinItalic') format('svg');
    font-weight: 100;
    font-style: italic;
    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: #f6f6f6;
}
.body-landing{
	overflow: hidden;
}

button,
input,
textarea{
	outline: none;
}

.err{
	position: relative;
	display: block;
	color: red;
	display: none;
	font-family: 'Product 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);
}

.info-produk{
	color: #0004ff;
	cursor: pointer;
	text-decoration: underline;
}

	.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;
		}
	
	.body{
		position: relative;
		display: block;
		width: 100%;
		max-width: 500px;
		min-height: 100%;
		left: 50%;
		transform: translateX(-50%);
		-moz-transform: translateX(-50%);
		-webkit-transform: translateX(-50%);
		color: #00142e;
		font-family: 'Product Sans Regular';
		font-size: 16px;
	}
		.header{
			position: relative;
			display: block;
			width: 100%;
		}
			.header img{
				width: 100%;
			}
		
		.content{
			position: relative;
			display: block;
			padding: 30px;
			background-image: url('../../images/repeat.jpg');
			background-size: 100% auto;
			background-position: top center;
			background-repeat: repeat-y;
		}
			.box-login{
				position: relative;
				display: block;
				text-align: left;
				padding-top: 8vh;
				padding: 30px;
				background-color: #fff;
				border-radius: 20px;
			}
				.judul{
					position: relative;
					display: block;
					text-align: center;
					font-size: 24px;
					line-height: 26px;
					font-family: 'Product Sans Bold';
					margin-bottom: 10px !important;
				}
				.btn-login{
					font-family: 'Product Sans Medium';
					font-size: 18px;
					padding: 10px;
					text-align: center;
					width: 100%;
					color: #fff;
					border: none;
					border-radius: 10px;
					background: #b52427;
				}
				.btn-others{
					font-family: 'Product Sans Medium';
					font-size: 18px;
					padding: 10px;
					text-align: center;
					width: 100%;
					color: #fff;
					border: none;
					border-radius: 10px;
					background: #b52427;
				}
				.btn-download,
				.btn-download:hover,
				.btn-download:active,
				.btn-download:visited{
					text-decoration: none;
					font-family: 'Product Sans Medium';
					font-size: 18px;
					padding: 10px;
					text-align: center;
					color: #fff;
					border: none;
					border-radius: 10px;
					background: #b52427;
				}
			
			.box-content{
				position: relative;
				display: block;
				width: 100%;
			}
				.box-nama{
					position: relative;
					display: block;
					width: 100%;
					margin-bottom: 30px;
					font-size: 18px;
					font-family: 'Product Sans Regular';
				}

		.footer{
			position: relative;
			display: block;
			width: 100%;
		}
			.footer img{
				width: 100%;
			}
	

		.box-absen{
			position: relative;
			display: block;
			width: 100%;
			margin-top: 10px;
			font-family: 'Product Sans Regular';
			text-align: center;
		}
			.info-absen{
				position: relative;
				display: block;
				width: 100%;
				font-family: 'Product Sans Bold';
				font-size: 22px;
				margin: 30px 0px;
			}

	.info-m-scan{
		position: relative;
		display: block;
		width: 100%;
		text-align: center;
		padding: 5% 0px;
		padding-top: 5vh !important;
		font-size: 20px;
		color: #fff;
	}
	
	.box-m-scan{
		position: relative;
		display: block;
		width: 80%;
		left: 50%;
		transform: translateX(-50%);
	}
		.m-result{
			position: relative;
			display: block;
			width: 80%;
			left: 50%;
			transform: translateX(-50%);
			padding-top: 20px;
			text-align: center;
			color: #fff;
			font-size: 24px;
		}
			.box-sorry{
				position: relative;
				display: block;
				width: 100%;
				padding-top: 6vh;
				font-family: 'Product Sans Regular';
				font-size: 20px;
			}
				.judul-sorry{
					font-family: 'Inter Bold';
					font-size: 24px;
					margin-bottom: 10px;
				}
			.box-transaksi{
				position: relative;
				display: block;
				width: 100%;
				margin-top: 0px;
			}
	.box-button{
		position: relative;
		display: none;
		width: 100%;
		text-align: center;
		margin-top: 10px;
		padding-bottom: 50px;
	}

		
		

	#capture{
		width: 350px;
	}
		.bg-qr{
			position: relative;
			display: block;
			background-color: #ededed;
			padding-top: 30px;
			padding-bottom: 30px;
		}
					

/*Tablet / iPad / Laptop Portraid*/
@media only screen
and (min-width: 601px) {

}


/*Tablet / iPad / Laptop Landscape*/
@media only screen
and (min-width: 1024px) {
body{
	background-image: url('../../images/bg-desktop.jpg');
	background-size: cover;
	background-position: top center;
	background-repeat: no-repeat;
	background-attachment: fixed;
}
	.body{
		max-width: 400px;
	}

		.header img{
			display: none;
		}

	.content{
		padding: 30px;
		padding-top: 25vh;
		background-image: none;	
	}
		.footer img{
			display: none;
		}
}


/*Laptop / Desktop*/
@media only screen
and (min-width: 1280px) {
	.body{
		max-width: 500px;
	}
}


/*Desktop 1366*/
@media only screen
and (min-width: 1366px) {
	
}


/*Desktop MAC*/
@media only screen
and (min-width: 1440px) {
	
}


/*Desktop Full HD MAC*/
@media only screen
and (min-width: 1680px) {
	
}


/*Desktop Full HD*/
@media only screen
and (min-width: 1920px) {
		
}

/* ===================== */
/* Country code selector */
/* ===================== */
.phone-input{
	position: relative;
	display: flex;
	align-items: center;
	gap: 8px;
}
.phone-input .btn-country-code{
	display: inline-flex;
	align-items: center;
	gap: 6px;
	padding: 8px 10px;
	border: 1px solid #ced4da;
	background: #fff;
	color: #00142e;
	border-radius: 6px;
	cursor: pointer;
	font-family: 'Product Sans Medium';
}
.phone-input .btn-country-code .dial-code{
	font-weight: 600;
}
.phone-input .btn-country-code .flag{
	font-size: 18px;
	line-height: 1;
}
.phone-input input.form-control{
	flex: 1 1 auto;
}

/* Country picker in SweetAlert2 */
.cc-wrapper{
	text-align: left;
}
.cc-search{
	width: 100%;
	box-sizing: border-box;
	padding: 10px 12px;
	border: 1px solid #e2e2e2;
	border-radius: 6px;
	margin-bottom: 10px;
	font-family: 'Product Sans Regular';
}
.cc-list{
	max-height: 320px;
	overflow: auto;
	border: 1px solid #f0f0f0;
	border-radius: 6px;
}
.cc-item{
	display: flex;
	justify-content: space-between;
	align-items: center;
	padding: 10px 12px;
	cursor: pointer;
}
.cc-item:hover{
	background: #f7f7f7;
}
.cc-left{
	display: flex;
	align-items: center;
	gap: 10px;
}
.cc-flag{
	font-size: 18px;
}
.cc-name{
	font-family: 'Product Sans Regular';
}
.cc-dial{
	font-family: 'Product Sans Medium';
}