:root {
	--w: 1200px;
	--dw: 900px;
	--c0: #fff;
	--c1: #edbe00;
	--c2: #1f5b35;
	--c3: #093213;
	--c4: #007233;
	--c5: #ffffcc;
	--f1: "Barlow Condensed", sans-serif;

	--shadow: 1px 1px 5px rgba(0, 0, 0, .2);
	--gradient: linear-gradient(90deg, rgba(255, 0, 0, 1) 0%, rgba(127, 9, 9, 1) 100%);
	--gradient-green: linear-gradient(to top, #069949, #14ab5b)
}

* {
	box-sizing: border-box;
	scroll-behavior: smooth;
	user-select: none;
	-webkit-user-select: none;
	-moz-user-select: none;
	-ms-user-select: none
}

html,
body {
	min-height: 100vh;
	font-family: calibri;
}

body {
	margin: auto;
	background: #EBEBEB;
	display: flex;
	flex-direction: column;
	min-height: 100vh
}

h1,
h2,
h3,
h4,
h5,
h6 {
	margin: auto;
	padding: 0
}

a {
	text-decoration: none;
	cursor: pointer;
	transition: all .2s ease
}

span[class|="icon"] {
	font-family: 'icon' !important;
	speak: never;
	font-style: normal;
	font-weight: normal;
	font-variant: normal;
	text-transform: none;
	line-height: 1;
	-webkit-font-smoothing: antialiased;
	-moz-osx-font-smoothing: grayscale;

	&.icon-calendar2:before {
		content: "\e900"
	}

	&.icon-right-arrow:before {
		content: "\e91d"
	}

	&.icon-cakra:before {
		content: "\e912"
	}

	&.icon-handshake:before {
		content: "\e913"
	}

	&.icon-thumb:before {
		content: "\e914"
	}

	&.icon-person:before {
		content: "\e915"
	}

	&.icon-iso-2018:before {
		content: "\e916"
	}

	&.icon-iso-2015:before {
		content: "\e917"
	}

	&.icon-target:before {
		content: "\e918"
	}

	&.icon-office-bag:before {
		content: "\e919"
	}

	&.icon-flagman:before {
		content: "\e91a"
	}

	&.icon-clipboard:before {
		content: "\e91b"
	}

	&.icon-group:before {
		content: "\e91c"
	}

	&.icon-email:before {
		content: "\e90f"
	}

	&.icon-headphone:before {
		content: "\e910"
	}

	&.icon-office:before {
		content: "\e911"
	}

	&.icon-museum:before {
		content: "\e90b"
	}

	&.icon-user:before {
		content: "\e90c"
	}

	&.icon-verified:before {
		content: "\e90d"
	}

	&.icon-world:before {
		content: "\e90e"
	}

	&.icon-telp:before {
		content: "\e90a"
	}

	&.icon-calendar:before {
		content: "\e901"
	}

	&.icon-facebook:before {
		content: "\e902"
	}

	&.icon-home:before {
		content: "\e903"
	}

	&.icon-instagram:before {
		content: "\e904"
	}

	&.icon-linkedin:before {
		content: "\e905"
	}

	&.icon-location:before {
		content: "\e906"
	}

	&.icon-search:before {
		content: "\e907"
	}

	&.icon-tiktok:before {
		content: "\e908"
	}

	&.icon-whatsapp:before {
		content: "\e909"
	}

	&.icon-youtube:before {
		content: "\e91e"
	}
}

.loading-box {
	background: linear-gradient(90deg, #e0e0e0 25%, #f0f0f0 50%, #e0e0e0 75%);
	background-size: 400% 100%;
	animation: shimmer 2.5s infinite;
	border-radius: 8px
}

@keyframes shimmer {
	0% {
		background-position: 150% 0
	}

	100% {
		background-position: -150% 0
	}
}

header {
	display: flex;
	align-items: center;
	justify-content: center;
	flex-direction: column;
	background: var(--c2);
	position: sticky;
	top: 0px;
	z-index: 9;
	box-shadow: 1px 1px 5px rgba(0, 0, 0, .2);

	/* @media screen and (max-width:1200px) {
		padding: 0;
	} */

	@media screen and (max-width:481px) {
		top: -35px;
	}

	.hidden_nav {
		padding: 10px;
		display: none;
		justify-content: space-between;
		width: 100%;
		box-shadow: 1px 1px 5px rgba(0, 0, 0, .2);
		overflow: hidden;

		@media screen and (max-width:481px) {
			display: flex
		}

		.humburger_link {
			position: relative;
			height: 20px;
			width: 60px;

			&.show {
				a {
					left: 20px
				}

				.humburger {
					left: calc(50% + 20px)
				}
			}

			a {
				height: 35px;
				width: 35px;
				position: absolute;
				top: 50%;
				left: -30px;
				transition: all .5s ease-in-out;
				transform: translate(-50%, -50%);

				img {
					height: 100%;
					width: 100%;
					object-fit: cover;
					object-position: center
				}
			}
		}

		.humburger {
			width: 20px;
			height: 20px;
			cursor: pointer;
			position: relative;

			.humburger_line {
				width: 100%;
				height: 2px;
				background-color: var(--c0);
				position: absolute;
				left: 0;
				top: 50%;
				transform: translateY(-50%);

				&:after {
					content: "";
					width: 70%;
					height: 2px;
					background-color: var(--c0);
					position: absolute;
					left: 0;
					top: 6px
				}

				&:before {
					content: "";
					width: 100%;
					height: 2px;
					background-color: var(--c0);
					position: absolute;
					left: 0;
					top: -6px
				}
			}
		}

		.sosmed_link {
			position: relative;
			overflow: hidden;
			width: 180px;

			&.show {
				.link_container {
					right: 30px
				}

				.search_mobile {
					right: 0
				}
			}

			.link_container {
				display: flex;
				gap: 10px;
				position: absolute;
				right: 0;

				a {
					color: var(--c0);
					font-size: 20px;

					&:hover {
						color: var(--c1);
					}
				}
			}

			.search_mobile {
				color: var(--c1);
				position: absolute;
				top: 50%;
				right: -30px;
				transform: translateY(-50%);
				transition: all .5s ease-in-out;
				cursor: pointer
			}
		}
	}

	>div:not(.hidden_nav) {
		width: var(--w);
		border-radius: 10px;
		display: flex;
		justify-content: center;
		gap: 10px;
		position: relative;

		@media screen and (max-width:1200px) {
			width: 100%;
			border-radius: 0;
			height: 100%;
			align-items: flex-start;
			justify-content: space-between;
		}

		@media screen and (max-width:481px) {
			align-items: center;
			height: auto;

			.search_container.show {
				position: fixed;
				width: 100vw;
				height: 100vh;
				left: 0;
				top: 0;
				background-color: #0000009e;
				backdrop-filter: blur(5px);
				z-index: 9;
				transition: cubic-bezier(.075, .82, .165, 1) .5s;
				display: flex;
				justify-content: center;
				padding: 100px 20px;

				.search {
					display: block !important;
					width: 100%;

					input {
						&:focus {
							width: 100%
						}
					}
				}
			}

			& .search,
			& .registrasi {
				display: none !important
			}

			& .search_mobile {
				display: flex !important;
				font-family: "Poppins";
				font-size: 14px;
				gap: 10px;
				align-items: center;
				cursor: pointer;
				color: var(--c1);
			}
		}

		.logo {
			background-color: var(--c0);
			padding: 7px 20px;
			/* height: 60px; */

			>a {
				display: inline-flex;

				img {
					width: 130px;

					@media screen and (max-width:480px) {
						width: 100px
					}
				}
			}
		}

		>div {
			display: flex;
			align-items: center;
			justify-content: center;
			gap: 10px;

			@media screen and (max-width:1200px) {
				height: fit-content
			}

			&:nth-child(2) {
				width: 100%;

				@media screen and (max-width:900px) {
					position: absolute;
					top: 35px;
					background-color: var(--c3);
				}

				@media screen and (max-width:480px) {
					top: 75px;
					width: 60%;
					min-width: 225px;
					height: 100vh;
					z-index: 999;
					flex-direction: column;
					background-color: var(--c0);
					justify-content: unset;
					padding: 10px 20px;
					align-items: flex-start;
					transition: all cubic-bezier(.075, .82, .165, 1) 1s;
					left: -300px;

					&.show {
						left: 0
					}

					.menu {
						width: 100%
					}

					.menu:not(:last-child)::after {
						content: "";
						position: absolute;
						bottom: -6px;
						left: 0;
						width: 100%;
						height: 1px;
						background-color: #4242422e
					}

					.header_nav {
						display: flex !important;
						width: 100%;
						height: 70px;
						align-items: center;
						position: relative;

						.close_nav {
							height: 20px;
							width: 20px;
							position: absolute;
							top: 0;
							right: -10px;
							cursor: pointer;

							&::after {
								content: "";
								position: absolute;
								top: 50%;
								left: 50%;
								transform: translate(-50%, -50%) rotate(45deg);
								width: 15px;
								height: 2px;
								background-color: #000
							}

							&::before {
								content: "";
								position: absolute;
								top: 50%;
								left: 50%;
								transform: translate(-50%, -50%) rotate(-45deg);
								width: 15px;
								height: 2px;
								background-color: #000
							}
						}

						a {
							img {
								width: 100px
							}
						}
					}
				}
			}

			>.menu {
				position: relative;
				font-family: 'Poppins';
				font-weight: 300;
				color: var(--c0);
				font-size: 18px;
				cursor: pointer;

				span {
					display: flex;
					width: 100%;
					padding: 2px 5px;
					border-radius: 5px;

					a {
						color: var(--c0)
					}
				}

				.icon-home {
					color: var(--c1);
					font-size: 25px;

					&:hover {
						color: var(--c0)
					}
				}

				@media screen and (max-width:1200px) {
					font-size: clamp(14px, 1.5vw, 18px);
				}

				@media screen and (max-width:480px) {
					font-size: 16px
				}



				&:not(:nth-child(1)):not(:nth-child(2)) {
					&:hover {
						color: var(--c1)
					}

					@media screen and (max-width:480px) {}

					&:active span,
					&:active span a,
					&.active span,
					&.active span a {
						background: var(--c0);
						color: var(--c2);
					}

					&:active .arrow,
					&.active .arrow {
						color: var(--c0) !important
					}
				}

				&:nth-child(2):active,
				&:nth-child(2).active {
					color: #b41F1c
				}
			}

			&:last-child {
				padding: 10px;

				@media screen and (max-width:1200px) {
					padding: 5px;
				}
			}

			>a:nth-child(1) {
				font-size: 22px;

				@media screen and (max-width:768px) {
					font-size: inherit
				}
			}

			.search {
				position: relative;
				border-radius: 3px;
				width: 150px;
				height: 35px;

				@media screen and (max-width:1200px) {
					height: 25px
				}

				input {
					margin: auto;
					position: absolute;
					inset: 0 0 0 auto;
					border-radius: 5px;
					border: 2px solid var(--c1);
					width: 100%;
					padding: 5px;
					outline: none;
					transition: all .5s ease;

					&:focus {
						width: 200%
					}
				}

				>button {
					display: inline-flex;
					align-items: center;
					justify-content: center;
					margin: auto;
					position: absolute;
					inset: 0 0 0 auto;
					border-radius: 3px 0 0 3px;
					background: var(--c1);
					width: 50px;
					color: var(--c3);
					border: none;
					border-radius: 5px;

					@media screen and (max-width:768px) {
						font-size: 15px
					}
				}
			}

			a.registrasi,
			.upload {
				font-family: "Poppins";
				background: var(--c1);
				border-radius: 5px;
				color: var(--c3);
				height: 35px;
				display: inline-flex;
				align-items: center;
				justify-content: center;
				padding: 0 10px;

				@media screen and (max-width:1200px) {
					height: 25px;
					font-size: 13px;
				}

				@media screen and (max-width:768px) {
					font-size: 13px
				}
			}

			.upload {
				cursor: pointer;

				@media screen and (max-width:481px) {
					position: fixed;
					bottom: 20px;
					right: 20px;
					font-size: 16px;
					padding: 10px 30px
				}
			}
		}
	}
}

main {
	flex: 1;
	position: relative;
	/* background: url("../image/bg-all.svg"); */
	background-position: center 300px;

	h3 {
		position: relative;
		margin: 0;
		width: fit-content;
		height: 30px;

		&:after {
			content: "";
			position: absolute;
			bottom: 0;
			left: 0;
			width: 65px;
			height: 4px;
			background: linear-gradient(to right, #ea0000, #7e0909);
			border-radius: 2px
		}
	}

	@media screen and (max-width:900px) {
		padding-top: 30px;
	}
}

footer {
	position: relative;
	font-family: 'Rethink Sans';
	border-bottom: 10px solid var(--c1);
	padding-top: 90px;
	background: var(--c0);
	color: var(--c0);

	@media screen and (max-width:481px) {
		position: relative
	}

	.sparator {
		margin: auto;
		position: absolute;
		inset: -70px 0 auto 0;
		width: 100%;
		max-width: 700px;
		height: 100px;
		z-index: 1;

		&:before,
		&:after {
			margin: auto;
			position: absolute;
			content: "";
			inset: 0;
			height: 200px;
			background: var(--c1);
			clip-path: polygon(50% 26%, 100% 60%, 50% 60%, 0% 60%);
			z-index: -1;

		}

		&:after {
			background: var(--c2);
			top: 10px;
			clip-path: polygon(50% 26%, 100% 60%, 50% 60%, 0% 60%);
			/* clip-path: polygon(50% 17%, 100% 50%, 50% 50%, 0% 50%); */
		}
	}

	.footer_container {
		position: relative;
		text-align: center;
		background: var(--c2);
		border-top: 5px solid var(--c1);
		font-size: 20px;

		@media screen and (max-width:1200px) {
			width: 100%;
			padding: 15px
		}


		.logo-bawah {
			margin: auto;
			position: absolute;
			inset: -30px 0 auto 0;
			width: 200px;
			z-index: 1;
		}


		>*:not(img) {
			padding: 10px;
		}

		>span {
			display: block;
			padding-top: 20px;
			color: #fdfdca;
		}

		.sosmed {
			font-size: 30px;
		}

		.sosmed>a,
		.menu-bawah>a {
			color: var(--c0);

			&:hover {
				color: var(--c1);
			}
		}

		.menu-bawah {
			margin: auto;
			display: flex;
			width: fit-content;
			gap: 50px;
			padding-bottom: 20px;
			align-content: center;
			flex-direction: row;
			flex-wrap: wrap;
			justify-content: center;
			align-items: center;
		}
	}
}

.wa_container {
	background-color: var(--c0);
	height: fit-content;
	border-radius: 10px;
	overflow: hidden;
	position: relative;

	.wa_close {
		position: absolute;
		right: 10px;
		top: 10px;
		cursor: pointer;
		width: 15px;
		height: 15px;

		div {
			width: 100%;
			height: 2px;
			background-color: var(--c0)fff;
			transform: translate(-50%, -50%) rotate(45deg);
			position: absolute;
			top: 50%;
			left: 50%;

			&::after {
				content: "";
				width: 100%;
				height: 2px;
				background-color: var(--c0)fff;
				transform: translate(-50%, -50%) rotate(-90deg);
				position: absolute;
				top: 50%;
				left: 50%
			}
		}
	}

	.form_line {
		width: 100%;
		height: 2px;
		background-color: #ebebeb
	}

	button {
		border: none;
		font-family: "Oak Sans";
		font-weight: 600;
		padding: 10px 20px;
		border-radius: 10px;
		display: flex;
		align-items: center;
		justify-content: center;
		gap: 10px;
		background: linear-gradient(to top, #069949, #14ab5b);
		color: var(--c0);
		cursor: pointer;
		width: calc(100% - 30px);
		margin: 10px auto
	}

	.wa_header {
		background-color: #1db868;
		font-family: "Oak Sans";
		color: var(--c0);
		padding: 10px 25px;

		h2 {
			font-weight: 800;
			font-size: 22px
		}

		p {
			font-weight: 5s00
		}
	}

	.wa_form_container {
		padding: 15px;
		display: flex;
		flex-direction: column;
		gap: 10px;
		width: 100%;

		input {
			width: 100%
		}

		textarea {
			resize: none;
			text-wrap: wrap;
			field-sizing: content
		}

		input,
		textarea {
			font-family: 'Raleway';
			font-weight: 500;
			font-size: 16px;
			padding: 5px;
			border-radius: 5px;
			border: 2px #545454 solid;
			outline: none;
			background-color: #ebebeb
		}
	}
}

aside {
	font-family: "Oak Sans";
	position: relative;
	background: var(--c0);
	width: 350px;
	padding: 10px;
	height: fit-content;

	&:after {
		margin: auto;
		content: "";
		position: absolute;
		inset: -200px 0 auto 0;
		height: 200px;
		background: var(--c0);
		z-index: -1
	}

	.slide-banner {
		overflow: hidden;

		.img {
			display: flex;
			width: 100%;
			transition: transform .5s linear;

			img {
				width: 100%;
				flex-shrink: 0
			}
		}

		.button {
			padding: 10px 0;
			text-align: center;

			a {
				display: inline-block;
				border: 1px solid #999;
				border-radius: 5px;
				padding: 5px 10px;
				color: #b41f1c;
				font-weight: bold;
				font-size: 22px;
				margin: 0 5px;

				&:hover {
					background: #b41f1c;
					color: var(--c0)
				}

				&:first-child:after {
					content: "<"
				}

				&:last-child:after {
					content: ">"
				}
			}
		}
	}

	.jadwal-training {
		font-family: "Raleway";
		margin-top: 20px;
		display: flex;
		gap: 30px;
		flex-direction: column;

		>div {
			position: relative;
			display: flex;
			gap: 10px;

			&:after {
				content: "";
				margin: auto;
				position: absolute;
				inset: -15px 0 auto 0;
				height: 2px;
				width: 100%;
				background-color: #e4e4e4
			}

			&:hover {
				b {
					position: absolute;
					font-size: 14px;
					-webkit-line-clamp: 10 !important;
					-webkit-box-orient: vertical !important;
					color: #A10000
				}

				p {
					display: none
				}
			}

			>div {
				&:first-child {
					width: 30%;

					>div {
						border-radius: 5px;
						overflow: hidden;
						line-height: 0;

						img {
							width: 100%;
							height: 100%;
							object-fit: cover;
							object-position: center;
							aspect-ratio: 1 / 1
						}
					}
				}

				&:last-child {
					width: 70%;

					>b {
						display: -webkit-box;
						-webkit-line-clamp: 2;
						-webkit-box-orient: vertical;
						overflow: hidden;
						background: var(--c0)
					}

					>p {
						margin: 5px 0;
						font-size: 14px;
						color: #636363;

						>span {
							color: #c3080D;
							margin-right: 7px
						}
					}

					>a {
						margin: auto;
						position: absolute;
						inset: 0
					}
				}
			}
		}
	}
}

.contactme {
	position: sticky;
	bottom: 20px;
	left: 100vw;
	height: fit-content;
	width: fit-content;
	padding-right: 20px;
	display: flex;
	flex-direction: column;
	align-items: flex-end;
	justify-content: flex-end;
	gap: 10px;
	z-index: 8;

	&:hover {
		>.button_contact {
			left: -10px
		}
	}

	@media screen and (max-width:480px) {
		padding-right: 0;
		left: 0
	}

	span:not(.button_text) {
		font-size: 20px
	}

	.wa_container {
		width: 300px;
		border-radius: 0;
		position: absolute;
		bottom: 100px;
		z-index: 1;
		overflow: unset;
		visibility: hidden;
		opacity: 0;
		transition: all .5s ease-in-out;

		&.show {
			visibility: visible;
			opacity: 1;
			bottom: 60px
		}

		@media screen and (max-width:480px) {
			left: 10px;

			&:after {
				left: 20px
			}
		}

		.wa_header {
			h2 {
				font-size: 16px
			}

			p {
				font-size: 13px
			}
		}

		input,
		textarea {
			font-size: 14px
		}

		button {
			width: 150px
		}

		&::after {
			content: "";
			position: absolute;
			height: 20px;
			width: 20px;
			bottom: -10px;
			right: 30px;
			transform: rotate(45deg);
			background: var(--c0);
			z-index: 999
		}
	}

	button {
		border: none;
		font-family: "Oak Sans";
		font-weight: 600;
		padding: 10px 20px;
		border-radius: 10px;
		display: flex;
		align-items: center;
		justify-content: center;
		gap: 10px;
		background: linear-gradient(to top, #069949, #14ab5b);
		color: var(--c0);
		cursor: pointer;

		@media screen and (max-width:481px) {
			&:not(.wa_form button) {
				position: absolute;
				padding-left: 50px;
				padding-right: 15px;
				left: -40px;
				transition: all .5s ease-in-out
			}

			span.button_text {
				display: none
			}
		}
	}
}

span.bold {
	font-weight: 700
}

.contact {
	width: 100%;
	height: fit-content;
	display: flex;
	align-items: center;
	justify-content: center;
	padding: 10px 90px;
	flex-direction: column;
	gap: 60px;

	@media screen and (max-width:1200px) {
		gap: 30px
	}

	@media screen and (max-width:480px) {
		gap: 15px
	}

	.contact_item {
		font-family: "Oak Sans";
		font-weight: 900;
		font-size: 40px;
		color: #009141;
		display: flex;
		flex-wrap: wrap;
		align-content: space-between;
		justify-content: space-between;
		gap: 20px;

		@media screen and (max-width:1200px) {
			font-size: 30px;
			gap: 10px
		}

		@media screen and (max-width:480px) {
			font-size: 16px;
			gap: 5px;

			span {
				text-wrap: nowrap
			}
		}

		.item {
			span {
				font-size: 40px;
				color: #24c271;

				@media screen and (max-width:480px) {
					font-size: 20px
				}
			}

			&:nth-child(3) {
				span {
					font-size: 30px;

					@media screen and (max-width:480px) {
						font-size: 15px
					}
				}
			}

			@media screen and (max-width:1200px) {
				p {
					font-size: 18px
				}
			}

			@media screen and (max-width:480px) {
				p {
					font-size: 14px
				}
			}
		}

		a {
			background-color: #24c271;
			padding: 10px 30px;
			border-radius: 10px;
			border: none;
			color: var(--c0);
			font-family: "Oak Sans";
			font-size: 18px;
			text-decoration: none;
			display: flex;
			align-items: center;
			gap: 15px;

			@media screen and (max-width:480px) {
				font-size: 13px;
				padding: 10px 20px
			}

			span:nth-child(2) {
				font-size: 10px
			}

			&:hover {
				background-color: #19864e
			}
		}

		.item {
			font-family: "Oak Sans";
			font-weight: 500;
			color: #000;
			display: flex;
			align-items: center;
			gap: 20px;
			font-size: 20px;

			a {
				font-family: "Montserrat";
				text-decoration: none;
				color: #b50909;
				background-color: transparent;
				padding: 0;
				font-size: 18px;
				font-weight: 600;

				@media screen and (max-width:1200px) {
					font-size: 16px
				}
			}
		}
	}
}

.contact_me {
	height: fit-content;
	width: 100%;
	display: flex;
	flex-direction: column;
	gap: 40px;
	text-align: center;
	font-family: "Raleway";
	font-size: 19px;

	@media screen and (max-width:768px) {
		gap: 30px
	}

	.contact_content {
		width: 100%;
		height: fit-content;
		display: flex;
		justify-content: center;
		align-items: center;
		flex-direction: column;

		@media screen and (max-width:768px) {
			p {
				font-size: 15px
			}
		}

		span {
			font-weight: 900
		}

		a {
			text-decoration: none;
			color: #b50909;
			font-weight: 900;
			font-family: "Montserrat"
		}

		&.horizontal {
			flex-direction: row;
			gap: 10px;

			a {
				font-family: "Oak Sans";
				font-weight: 600;
				background-color: #b50909;
				color: var(--c0);
				padding: 7px 30px;
				border-radius: 7px;

				@media screen and (max-width:768px) {
					font-size: 15px
				}

				&:nth-child(2) {
					background-color: #24c271
				}
			}
		}
	}
}

.loader {
	width: 50px;
	height: 50px;
	border-radius: 50%;
	border: 3px solid;
	border-color: #000 #0000;
	animation: l1 1s infinite;
	position: absolute;
	top: 50%;
	left: 50%;
	z-index: 1000
}

@keyframes l1 {
	from {
		transform: translate(-50%, -50%) rotate(0turn)
	}

	to {
		transform: translate(-50%, -50%) rotate(.5turn)
	}
}