/*
Theme Name: Flatsome Child
Description: This is a child theme for Flatsome Theme
Author: UX Themes
Template: flatsome
Version: 3.19.12.1
*/



:root {
	--main-color: linear-gradient(137deg, #FFC800 1.66%, #FCA306 29.69%, #FA8409 48.21%, #F63F10 98.34%);
	--border-color: #ffc401;
	--text-main-color: #F99427;
}

#fullpage {
	overflow-x: hidden !important;
}

.fp-overflow {
	overflow-x: hidden !important;
}

.order-k-1 {
	@media screen and (max-width:768px) {
		order: 1;
	}
}

.text-cap {
	margin-bottom: 21px;

	.section-title-normal {
		border-bottom: none;

		span {
			text-transform: capitalize;
			border-bottom: none;
		}
	}

}

.pt-k-0 {
	@media screen and (max-width:768px) {
		padding-top: 0!important;
	}
}
.pb-k-0 {
	@media screen and (max-width:768px) {
		padding-bottom: 0!important;
	}
}

.btn-border-linear {
	border-radius: 999px!important;
	border: 2px solid #FFF;
	background: var(--main-color);
	padding: 12px 24px;
	box-shadow: 0 4px 4px 0 rgba(0, 0, 0, 0.25);
	&:hover {
/* 		box-shadow:none!important; */
		border: 2px solid #FFF;
		box-shadow: 0 4px 4px 0 rgba(0, 0, 0, 0.25);
	}
	@media screen and (max-width:768px){
		font-size:14px;
	}
}

#header {
	padding-top: 25px;

	.header-wrapper {
		#masthead {
			.header-inner {
				border-radius: 999px;
				background: #FEEEDF;
				padding: 16px;

				.header-nav-main {
					justify-content: center !important;

					li {
						a {
							color: #000;
							font-size: 18px;
							font-weight: 550;
							line-height: 34px;
							/* 170% */
							text-transform: unset;

							&::before {
								height: 2px;
								bottom: 4px;
							}
						}

						&.current-menu-item {
							a {
								color: var(--fs-color-primary);
							}
						}

						&:hover {
							& > a {
								color: var(--fs-color-primary);
							}
						}
					}
				}

				.header-button-1 {
					.header-button {
						a {
							color: #FFF;
							text-align: center;
							font-size: 16px;
							font-weight: 700;
							line-height: 130%;
							text-transform: capitalize;
							display: flex;
							align-items: center;
							border-radius: 999px;
							border: 2px solid #FFF;
							background: var(--main-color);
							box-shadow: 0 4px 4px 0 rgba(0, 0, 0, 0.25);
							position: relative;

							span {
								line-height: unset;
							}

							&:after {
								position: absolute;
								top: 0;
								left: -54%;
								z-index: 2;
								display: block;
								content: '';
								width: 50%;
								height: 100%;
								background: -webkit-gradient(linear, left top, right top, from(rgba(255, 255, 255, 0)), to(rgba(255, 255, 255, .3)));
								background: -o-linear-gradient(left, rgba(255, 255, 255, 0) 0%, rgba(255, 255, 255, .3) 100%);
								background: linear-gradient(to right, rgba(255, 255, 255, 0) 0%, rgba(255, 255, 255, .3) 100%);
								-webkit-transform: skewX(-25deg);
								-ms-transform: skewX(-25deg);
								transform: skewX(-25deg);
								pointer-events: none;
							}

							&:hover {
								color: #fff;

								&:after {
									-webkit-animation: shine .95s;
									animation: shine .95s;
								}
							}
						}
					}

				}

				@media screen and (max-width:768px) {
					width: 95%;

					.mobile-nav {
						li {
							a {
								padding: 0;
							}
						}
					}
				}
			}
		}
	}
}

#footer {

	.section-footer {
		.row {
			.col {
				.col-inner {
					.custom-stack-footer {
						.row {
							flex: 1;

							.footer-address {
								opacity: 0.8;
								color: #FFF;
								font-size: 15px;
								font-style: normal;
								font-weight: 400;
								line-height: 24px;
							}

							.icon-box {
								align-items: center;
								margin-top: 8px;

								p {
									color: #FFF;
									font-size: 16px;
									font-style: normal;
									font-weight: 600;
									line-height: 24px;
									/* 150% */
								}
							}

							&:first-child {
								flex: 2;

								.text {
									width: 330px;
								}

								.cf7-phone-pill {

									/* 									max-width: 520px; */
									.wpcf7 .wpcf7-not-valid-tip {
										transform: translatey(-44px) !important;
									}

									p {
										margin: 0;
										display: flex;
										align-items: center;
										gap: 0;
										background: var(--main-color);
										border-radius: 999px;
										padding: 6px;
										border: 2px solid #fff;
										box-shadow: 0 4px 60px 0 rgba(40, 55, 79, 0.10);
									}

									.wpcf7-form-control-wrap {
										flex: 1;
									}

									input[type="tel"] {
										width: 100%;
										background: transparent;
										border: none;
										color: #fff;
										font-size: 16px;
										padding: 18px 24px;
										outline: none;
										box-shadow: none;
										margin-bottom: 0;

										&::placeholder {
											color: #fff;
											opacity: 0.9;
											font-weight: 600;
										}
									}

									input[type="submit"] {
										background: #fff;
										color: var(--text-main-color);
										border: none;
										padding: 0px 28px;
										font-size: 18px;
										font-weight: 600;
										cursor: pointer;
										white-space: nowrap;
										transition: all 0.3s ease;
										margin: 0;
										border-radius: 99px;
										line-height: 1;
										background: #FFF;
										box-shadow: 0 4px 4px 0 rgba(0, 0, 0, 0.25);

										&:hover {
											/* 											background: #fff5e6; */
										}
									}

									.wpcf7-spinner {
										display: none;
									}
								}

							}

							.ux-menu {
								.ux-menu-link {
									.ux-menu-link__link {
										.ux-menu-link__text {
											color: #FFF;
											font-size: 15px;
											font-weight: 400;
											line-height: 24px;
											/* 150% */
										}
									}
								}
							}
						}

						@media screen and (max-width:768px) {
							flex-direction: column;
						}
					}
				}
			}
		}

		@media screen and (max-width:768px) {
			padding-bottom: 0 !important;
		}
	}

	.absolute-footer {
		background: var(--main-color);

		.copyright-footer {
			color: #FFF;
			font-size: 16px;
			font-style: normal;
			font-weight: 500;
			line-height: normal;
		}
	}
}



.title-page {
	font-size: 32px;
	font-weight: 700;
	line-height: 1.5;

	@media only screen and (max-width: 768px) {
		font-size: 30px;
	}
}


.title-page span {
	display: inline-block;
	background: var(--main-color);
	background-clip: text;
	-webkit-background-clip: text;
	color: transparent;
	-webkit-text-fill-color: transparent;
}


.is-btn:after {
	position: absolute;
	top: 0;
	left: -54%;
	z-index: 2;
	display: block;
	content: '';
	width: 50%;
	height: 100%;
	background: -webkit-gradient(linear, left top, right top, from(rgba(255, 255, 255, 0)), to(rgba(255, 255, 255, .3)));
	background: -o-linear-gradient(left,rgba(255,255,255,0) 0%,rgba(255,255,255,.3) 100%);
	background: linear-gradient(to right, rgba(255, 255, 255, 0) 0%, rgba(255, 255, 255, .3) 100%);
	-webkit-transform: skewX(-25deg);
	-ms-transform: skewX(-25deg);
	transform: skewX(-25deg);
	pointer-events: none;
}

.is-btn {
	position: relative;
	overflow: hidden;
}

.is-btn:hover:after {
	-webkit-animation: shine .95s;
	animation: shine .95s;
}



.bg-wrap {
	border: 3px solid transparent;
	border-radius: 12px;
	background: linear-gradient(white, white) padding-box, var(--main-color) border-box;
	background-origin: border-box;
	background-clip: padding-box, border-box;
	overflow: hidden;
	position: relative;
}



.list-project {
	display: grid;
	grid-template-columns: repeat(3, 1fr);
	gap: 20px;

	@media only screen and (max-width: 768px) {
		grid-template-columns: repeat(1, 1fr);
	}
}

.list-project .project-item {
	border-radius: 16px;
	overflow: hidden;
	position: relative;
}

.list-project .project-item:hover .content {
	opacity: 1;
	transform: translate(-50%, -50%);
}


.list-project .project-item .thumbnail {
	position: relative;
	display: block;
	overflow: hidden;
	padding-top: 65%;
}

.list-project .project-item .thumbnail img {
	width: 100%;
	height: 100%;
	position: absolute;
	left: 0;
	top: 0;
	object-fit: cover;
	transition: .3s ease-in-out;
}

.list-project .project-item .content {
	position: absolute;
	top: 50%;
	left: 50%;
	transform: translate(-50%, calc(-50% + 50%));
	width: 100%;
	height: 100%;
	background: var(--main-color);
	padding: 25px 40px;
	color: #fff;
	text-align: center;
	opacity: 0;
	transition: .3s ease-in-out;
	z-index: 1;

	@media only screen and (max-width: 768px) {
		padding: 20px;
	}
}

.list-project .project-item .content .content-wrap {
	display: flex;
	flex-direction: column;
	align-items: center;
	justify-content: center;
	height: 100%;
}

.list-project .project-item .content .content-wrap .title {
	font-size: 24px;
	font-weight: 600;
	color: #fff;
	margin-bottom: 10px;
}

.list-project .project-item .content .content-wrap .btn-project {
	padding: 8px 16px;
	border-radius: 8px;
	border: 1.5px solid #FFF;
}


.list-project .project-item .content .content-wrap .btn-project span {
	font-size: 16px;
	font-weight: 600;
	color: #FFF;
}


.custom-col form {
	margin-bottom: 0 !important;
}

#form-contact {
	padding: 0 !important;
	margin: 0 auto;
	border-radius: 20px;
	border: 1px solid #FFC800!important;
	background: #FFF;
	position: relative;
	overflow: hidden;

	p:not(p.cf7-submit-wrap) {
		/* 		margin-bottom: 10px !important; */
	}
	.cf7-title {
		text-align: center;
		color: #f37a00;
		font-size: 36px;
		margin: 0 0 22px;
		font-weight: 700;
		@media screen and (max-width:768px){
			font-size:24px!important;
		}
	}
	.color-k-main {
		background: var(--main-color);
		background-clip: text;
		-webkit-background-clip: text;
		-webkit-text-fill-color: transparent;
		font-weight: 600;
		margin-bottom:15px;
	}
	.cf7-row {
		display: flex;
		gap: 20px;

		.cf7-col {
			flex: 1;
			display: flex;
			flex-direction: column;

			.cf7-label-inline {
				display: block;
				margin-bottom: 6px;
				color: #333;
			}
		}
	}
	/* Container */
	.cf7-wrap {

		/* Labels */
		.cf7-label {
			display: block;
			margin: 18px 0 8px;
			color: #222;
			font-size: 16px;
		}

		/* Inputs and textarea */
		.cf7-input,
		.cf7-textarea,
		.wpcf7-form input[type="tel"],
		.wpcf7-form input[type="email"],
		.wpcf7-form input[type="text"] {
			width: 100%;
			box-sizing: border-box;
			padding: 25px 18px;
			border-radius: 12px;
			border: 1px solid rgba(0, 0, 0, 0.08);
			background: #fff;
			font-size: 15px;
			outline: none;
			box-shadow: none;
			transition: box-shadow .18s, border-color .18s;
			margin-top: 5px;
			margin-bottom: 0;
			font-weight: 500;
		}



		/* focus */
		.cf7-input:focus,
		.cf7-textarea:focus {
			border-color: rgba(246, 120, 20, 0.9);
			box-shadow: 0 6px 18px rgba(246, 120, 20, 0.08);
		}

		/* Textarea size */
		.cf7-textarea {
			min-height: 160px;
			resize: vertical;
			padding: 18px;
		}

		/* Submit button */
		.cf7-submit-wrap {
			text-align: center;

			.cf7-btn {
				display: inline-block;
				width: 100%;
				padding: 4px 28px;
				border-radius: 12px;
				font-size: 18px;
				font-weight: 700;
				color: #fff;
				border: 0;
				text-transform: unset;
				cursor: pointer;
				background: var(--main-color);
				box-shadow: 0 6px 20px rgba(246, 63, 16, 0.18);
				margin-bottom: 0;
				margin-top: 10px;
			}

		}

		@media screen and (max-width:768px) {
			.cf7-row {
				flex-direction: column;
			}

			.cf7-wrap {
				padding: 18px;
			}

			.cf7-title {
				font-size: 28px;
			}
		}
	}
}





.breadcrumb * {
	display: inline-block;
}

.breadcrumb a {
	color: #4A4B4C;
	font-size: 20px;
	font-weight: 400;
	line-height: 120%;
	margin: 0 5px;
	letter-spacing: -1px;

	@media only screen and (max-width: 768px) {
		margin: 0 5px;
	}
}

.breadcrumb span {
	margin: 0 5px;
	letter-spacing: -1px;

	@media only screen and (max-width: 768px) {
		margin: 0 5px;
	}
}

.breadcrumb span svg {
	width: 13px;
	height: 13px;
}

.breadcrumb p {
	font-size: 20px;
	font-weight: 400;
	line-height: 1.5;
	color: #000;
}

.breadcrumb a:first-child {
	margin-left: 0;
}


.pagination .pagination-item {
	position: relative;
	display: flex;
	align-items: center;
	justify-content: center;
	font-size: 16px;
	font-weight: 600;
	line-height: 1.5;
	text-decoration: none;
	width: 40px;
	height: 40px;
	transition: all 0.3s ease;
	box-shadow: 0 4px 20px 0 rgba(250, 132, 9, 0.40);
	border: 2px solid transparent;
	border-radius: 8px;
	background: linear-gradient(white, white) padding-box, var(--main-color) border-box;
	background-origin: border-box;
	background-clip: padding-box, border-box;
}

.pagination .pagination-item:hover {
	border: none;
	background: var(--main-color);
	color: #fff;
	-webkit-text-fill-color: #fff;
}

.pagination .pagination-item:hover span {
	background: none;
	color: #fff;
	-webkit-text-fill-color: #fff;
}

.pagination .pagination-item span {
	background: var(--main-color);
	background-clip: text;
	-webkit-background-clip: text;
	-webkit-text-fill-color: transparent;
}

.pagination .pagination-item.active {
	border: none;
	background: var(--main-color);
	color: #fff;
	-webkit-text-fill-color: #fff;
}

.pagination .pagination-item.active span {
	background: none;
	color: #fff;
	-webkit-text-fill-color: #fff;
}

@keyframes gentle-shake {
	0% { transform: translate(0, 0); }
	10% { transform: translate(-5px, -5px); }
	20% { transform: translate(10px, 5px); }
	30% { transform: translate(-5px, 10px); }
	40% { transform: translate(5px, -5px); }
	50% { transform: translate(-5px, 5px); }
	60% { transform: translate(10px, -5px); }
	70% { transform: translate(-5px, -10px); }
	80% { transform: translate(5px, 5px); }
	90% { transform: translate(-5px, -5px); }
	100% { transform: translate(0, 0); }
}