/*
	Theme Name: Properti
	Theme URI: https://properti.id
	Description: Custom WP Theme for Properti
	Version: 1.05.2026
	Author: @harmonicnoise
	Author URI: http://www.deusain.com
	Tags: rumah dijual di jakarta
*/

/* global box-sizing */
*,
*:after,
*:before {
	-moz-box-sizing:border-box;
	box-sizing:border-box;
	-webkit-font-smoothing:antialiased;
	font-smoothing:antialiased;
	text-rendering:optimizeLegibility;
}
/* html element 62.5% font-size for REM use */
html {
	font-size:62.5%;
}
body {
	font-family: 'Inter', -apple-system,BlinkMacSystemFont,segoe ui,helvetica neue,sans-serif;
	font-size: clamp(16px, 3vw, 18px);
	line-height: 1.7;
	background-color: var(--cream);
	color: var(--body-color);
	width: 100%;
	position: relative;
}
:root {
	--main-color: #054561;
	--secondary-color: #CE9344;
	--grey: #636053;
	--dark: #000;
	--body-color: #555144;
	--cream: #f4f1eb;
	--light: #f1eee7;
	--white: #fff;
}
/* clear */
.clear:before,
.clear:after {
    content:' ';
    display:table;
}

.clear:after {
    clear:both;
}
.clear {
    *zoom:1;
}
blockquote {
	background-color: var(--white);
    color:  var(--dark);
    padding: 20px 20px 2px 20px;
    margin: 0;
    font-size: 16px;
    display: block;
	font-style: italic;
	border-left: 4px solid #1b2e4f;
}
img {
	max-width:100%;
	height: auto;
}
a {
	color: #0e76bc;
	text-decoration:none;
	transition: .3s ease-in-out;
	-moz-transition: .3s ease-in-out;
	-webkit-transition: .3s ease-in-out;
}
a:hover {
	color:  var(--dark);
	transition: .3s ease-in-out;
	-moz-transition: .3s ease-in-out;
	-webkit-transition: .3s ease-in-out;
}
a:focus {
	outline:0;
}
a:hover,
a:active {
	outline:0;
}
input:focus {
	outline:0;
	border:1px solid  var(--dark);
}

strong {
	font-weight: 700;
}
h1 {font-weight: 700; color: var(--main-color); font-size: clamp(40px, 5vw, 70px); line-height: 1.2;}
h2 {font-weight: 700; color: var(--main-color); font-size: clamp(30px, 4vw, 40px); line-height: 1.2;}
h3 {font-weight: 700; color: var(--main-color); font-size: clamp(24px, 3vw, 30px); line-height: 1.2;}
h4 {font-weight: 600; color: var(--main-color); font-size: clamp(18px, 2vw, 21px); line-height: 1.2;}
h5 {font-weight: 600; color: var(--main-color); font-size: clamp(14px, 1.5vw, 18px); line-height: 1.2;}
h6 {font-weight: 600; color: var(--main-color); font-size: clamp(12px, 1vw, 14px); line-height: 1.2;}

p {font-size: clamp(16px, 3vw, 18px); line-height: 1.7 !important;}
.attr {font-size: 14px; font-weight: 400;}

.main-btn a {
    position: relative;
    display: inline-block;
    border-radius: 90px;
    padding: 15px 10px;
    color: #000;
    font-weight: 600;
    font-size: 16px;
    cursor: pointer;
    line-height: 1;
    height: auto;
    background: linear-gradient(120deg, #a47433 0%, #CE9344 20%, #fff2c7 50%, #CE9344 80%, #a47433 100%);
    background-size: 250% auto;
    animation: shine 2s ease-in-out infinite alternate;
    box-shadow: 0 10px 25px rgba(177, 148, 91, .35), inset 0 1px 0 rgba(255, 255, 255, .25);
    transition: .2s ease;
}
.main-btn a i {
	color: #000;
	fill: #000;
}
.main-btn a:hover {
    transform: translateY(-2px);
}

@keyframes shine {
    0%{
        background-position:0% center;
    }

    100%{
        background-position:100% center;
    }
}
/*------------------------------------*\
    STRUCTURE
\*------------------------------------*/

/* wrapper */
.wrapper {
	width:100%;
	margin: 0 auto;
	position:relative;
	overflow: hidden;
}

/* header */
#header {
	position: relative;
	width: 100%;
	padding: 0;
	margin: 0 auto;
	top: 0;
	left: 0;
	z-index: 999;
	background-color: #fff;
}
#header .container {
	width: 100%;
	margin: 0 auto;
	max-width: 1280px;
	padding: 0;
	height: 100px;
  	position: relative;
  	display: flex;
	flex-wrap: wrap;
	align-items: center;
	justify-content: space-between;
}
#header .container .logo {
	display: inline-block;
	width: 270px;
}
#header .container .logo a {
	line-height: 0;
}
#header .container .logo a img {
    height: auto;
    display: block;
}
#header.scrolled {
	position: fixed;
	top: 0;
    background: var(--white);
    box-shadow: 0 2px 10px rgba(0,0,0,0.1);
}

.nav {
	position: relative;
	z-index: 999;
}
.nav ul {
	-webkit-font-smoothing:antialiased;
	padding: 0;
	margin: 0;
	list-style: none;
}
.nav ul li {
	display: inline-flex;
	margin: 0;
	line-height: 90px;
	position: relative;
}
.nav ul li.menu-item-has-children:hover a {
	color: var(--main-color);
}
.nav ul li a {
	display: block;
    font-size: 15px;
    padding: 0 20px;
	color: var(--dark);
	text-transform: uppercase;
	font-weight: 600;
	line-height: 100px;
}
.nav ul li a i {
    padding: 0;
    margin-left: 5px;
    position: relative;
    top: 0;
    font-size: 14px;
}
.nav ul li a:hover {
	color: var(--secondary-color);
}
.nav ul li .submenu-toggle {
	display: none;
}
.nav ul li.current_page_item a:hover {
	color: var(--secondary-color);
}
#header.scrolled .nav ul li a  {
    color: var(--dark);
}
#header.scrolled .nav ul li a:hover  {
    color: var(--secondary-color);
}

.marketing {
	position: relative;
	z-index: 0;
	padding: 0;
	top: 0;
}
.marketing > div {
	line-height: 0;
}
.marketing ul {
	margin: 0;
	padding: 0;
	list-style: none;
	display: flex;
	flex-wrap: wrap;
}
.marketing ul li {
	position: relative;
}
.marketing ul li a {
	color: var(--dark);
	display: inline-block;
	padding: 9px 25px;
	border-radius: 70px;
	font-size: 16px;
	font-weight: 600;
	line-height: 1.4;
	background: linear-gradient(120deg, #a47433 0%, #CE9344 20%, #fff2c7 50%, #CE9344 80%, #a47433 100%);
}
.marketing ul li a i {
	margin-right: 8px;
}

.info-type-unit-wrapper {
	background-color: var(--white) !important;
	box-shadow: 0px 0px 10px 10px rgba(0, 0, 0, .1);
	position: relative;
	z-index: 1 !important;
}
.info-type-unit {
	position: relative;
}
.info-type-unit .elementor-widget-icon-box {
	border-bottom: 1px solid rgba(0,0,0, .1);
	padding: 18px 0;
}
.info-type-unit .elementor-widget-icon-box:last-child {
	border-bottom: 0;
}
.info-type-unit .elementor-icon-box-icon .elementor-icon {
	background: rgb(191 168 117 / 23%);
    backdrop-filter: blur(10px) saturate(120%);
    -webkit-backdrop-filter: blur(20px) saturate(180%);
    padding: 7px;
    border-radius: 5px;
}

.logo-footer {
	position: relative;
}
.logo-footer img {
    filter: brightness(0) invert(1);
}

.unit-slide {
	position: relative;
}
.unit-slide .swiper .swiper-slide figure {
	width: 100%;
	height: 515px;
	line-height: 0;
}
.unit-slide .swiper .swiper-slide figure img {
	width: 100%;
	height: 515px;
	object-fit: cover;
}

.copyright {
	width: 100%;
	margin: 0 auto;
	padding: 30px 0;
	color: var(--white);
	font-weight: 400;
	overflow: hidden;
	background-color: var(--main-color);
	position: relative;
	text-align: center;
}
.copyright .container {
	width: 100%;
	max-width: 1280px;
	margin: 0 auto;
	overflow: hidden;
	position: relative;
	font-weight: 400;
	color: rgba(255,255,255, .9);
	z-index: 2;
	line-height: 1.4;
	font-size: 14px;
}

#big-title {
	position: relative;
	width: 100%;
	margin: 0 auto;
	background: var(--main-color);
}
#big-title .container {
	width: 100%;
	max-width: 1280px;
	margin: 0 auto;
	padding: 140px 0 50px 0;
	position: relative;
	text-align: center;
}
#big-title .container h2 {
	color: var(--white);
	margin: 0;
}

#main-wrapper {
	position: relative;
	width: 100%;
	margin: 0 auto;
}
#main-wrapper .container {
	width: 100%;
	max-width: 1280px;
	margin: 0 auto;
	padding: 80px 0;
	position: relative;
}

.elementor-lightbox .elementor-lightbox-image {
	background-color: var(--white) !important;
}

.spinner{
    width:70px;
    height:70px;
    border:6px solid #eee;
    border-top:6px solid #1e88e5;
    border-radius:50%;
    margin:auto;
    animation:spin 1s linear infinite;
}

@keyframes spin{
    100%{
        transform:rotate(360deg);
    }
}

#wheel-popup {
    position:fixed;
    inset:0;
    background:rgba(0,0,0,.75);
    z-index:999999;
    display:none;
    align-items:center;
    justify-content:center;
    flex-direction:column;
    backdrop-filter:blur(5px);
}

.wheel-container {
    position:relative;
    width:340px;
    height:340px;
}

.wheel {
    width: 100%;
    height: 100%;
    border-radius: 50%;
    position: relative;
    overflow: hidden;
    border: 10px solid #fff;
    transition:transform 5s cubic-bezier(.17,.67,.12,.99);
    background: #fff;
}

.segment {
    position: absolute;
    width: 50%;
    height: 50%;
    top: 0;
    left: 50%;
    transform-origin: 0% 100%;
    clip-path: polygon(0 0, 180% 0, 0 100%);
    overflow: hidden;
}
.segment span {
    position: absolute;
    width: 80px;
    top: 60px;
    text-align: center;
    line-height: 1.2;
    color: #fff;
    font-size: 16px;
    font-weight: 700;
    transform: rotate(30deg);
    left: 7px;
}

.s1 {background: #ff4d6d; transform: rotate(0deg) skewY(0deg);}
.s2 {background: #ff9800; transform: rotate(60deg) skewY(0deg);}
.s3 {background: #8824d1; transform: rotate(120deg) skewY(0deg);}
.s4 {background: #03b24e; transform: rotate(180deg) skewY(0deg);}
.s5 {background: #037fe2; transform: rotate(240deg) skewY(0deg);}
.s6 {background: #ec0d0d; transform: rotate(300deg) skewY(0deg);}

.pointer {
    position:absolute;
    top:-18px;
    left:50%;
    transform:translateX(-50%);
    width:0;
    height:0;
    border-left:20px solid transparent;
    border-right:20px solid transparent;
    border-top:40px solid #fff;
    z-index:20;
}

.center-spin {
    position:absolute;
    width:90px;
    height:90px;
    background:#fff;
    border-radius:50%;
    top:50%;
    left:50%;
    transform:translate(-50%,-50%);
    display:flex;
    align-items:center;
    justify-content:center;
    font-weight:700;
    font-size:24px;
    z-index:10;
}

.wheel-result {
    margin-top:30px;
    text-align:center;
    color:#fff;
}
.wheel-result h2 {
	margin: 0;
	padding: 0;
	font-size: 24px;
	color: #fff;
}
#status-text{
    font-size:18px;
}
#hadiah-text{
    font-size:18px;
    font-weight:400;
    margin: 0;
    color: #ffffffa0;
}

.voucher-box {
    max-width: 500px;
    margin: 0 auto;
    text-align: center;
    padding: 40px;
    background: #fff;
    border-radius:10px;
    box-shadow: 0 10px 30px rgba(0,0,0,.1);
    border: 2px dashed var(--main-color);
}

.voucher-box h2 {
    font-size: 30px;
    margin: 0;
}
.voucher-box h3 {
    font-size: 24px;
    margin: 10px 0 30px 0;
    padding: 10px 20px;
    line-height: 1;
    display: inline-block;
    color: #f00;
    border: 2px dashed #f00;
}
.voucher-box .kode {
    margin-bottom: 10px;
    font-size:14px;
}
.voucher-box #btn-wa {
    display: inline-block;
    padding: 11px 30px;
    background-color: #089b3e;
    color: #fff;
    text-decoration: none;
    border-radius: 80px;
    font-weight: 500;
    font-size: 16px;
}
.voucher-box #btn-wa:hover {
	background-color: #25D366;
}

.mobile-menu {
	position: fixed;
	background-color: var(--white);
	left: 10px;
	right: 10px;
	bottom: 10px;
	z-index: 999;
	display: none;
	box-shadow: 0 0 10px 5px rgba(0,0,0, .1);
	border-radius: 7px;
	overflow: hidden;
}
.mobile-menu ul {
	margin: 0;
    padding: 0;
    list-style: none;
    white-space: nowrap;
    overflow-y: hidden;
    overflow-x: auto;
    display: flex;
}
.mobile-menu ul::-webkit-scrollbar {
    height: 5px;
}
.mobile-menu ul::-webkit-scrollbar-track {
    background: var(--light);
}
.mobile-menu ul::-webkit-scrollbar-thumb {
    background: var(--main-color);
    border-radius: 30px;
}
.mobile-menu ul::-webkit-scrollbar-thumb:hover {
    background: var(--dark);
}
.mobile-menu ul li {
	position: relative;
}
.mobile-menu ul li a {
	padding: 12px 18px;
	color: var(--body-color);
	font-size: 13px;
	display: block;
	font-weight: 500;
	text-transform: uppercase;
	border-right: 1px solid var(--light);
}
.mobile-menu ul li a.active {
	color: var(--main-color);
	background-color: var(--light);
}
.mobile-menu ul li:last-child a {
	border-right: 0;
}

div.wpcf7 {position: relative;}
div.wpcf7 label {position: relative; font-size: 14px; color: var(--secondary-color); font-weight: 400; width: 100%; float: left; margin-bottom: 5px;}
span.wpcf7-list-item {margin: 0; padding: 2px 5px;}
div.wpcf7 h4 {margin: 20px 0 5px 0; font-size: 18px;}
div.wpcf7 br {display: none; height: 0;}
div.wpcf7 p {margin: 0; padding: 0;}
div.wpcf7 .form-input {
	width: 100%;
	display: block;
	overflow: hidden;
}
div.wpcf7 .wpcf7-form input {
	width: 100%;
	outline: 0;
	border: 0;
	font-size: 14px;
	height: 40px;
	line-height: 40px;
	padding: 0 15px;
	color:  var(--dark);
	background-color: var(--white);
	display: block;
	border-radius: 5px;
	margin-bottom: 15px;
	margin-top: 15px;
}
div.wpcf7 .wpcf7-form input:hover,
div.wpcf7 .wpcf7-form input:focus {
	border: 0;
}
div.wpcf7 .wpcf7-form input[type="submit"] {
	outline:0;
    border:0;
    margin-top:25px;
    margin-bottom: 0;
    display:block;
    border-radius:90px;
    padding:15px 10px;
    color:#000;
    font-weight:600;
    font-size:16px;
    cursor:pointer;
    line-height: 1;
    height: auto;
    background: linear-gradient(120deg, #a47433 0%, #CE9344 20%, #fff2c7 50%, #CE9344 80%, #a47433 100%);
    background-size:250% auto;
    animation:shine 2s ease-in-out infinite alternate;
    box-shadow:
        0 10px 25px rgba(177,148,91,.35),
        inset 0 1px 0 rgba(255,255,255,.25);
    transition:.2s ease;
}
div.wpcf7 .wpcf7-form input[type="submit"]:hover {
    transform: translateY(-2px);
}
@keyframes shine {
    0%{
        background-position:0% center;
    }

    100%{
        background-position:100% center;
    }
}
span.wpcf7-form-control.wpcf7-checkbox .wpcf7-list-item {
	display: flex;
	align-items: center;
    flex-wrap: wrap;
}
.wpcf7 form .wpcf7-response-output {
    margin: 15px 0 0 0 !important;
    padding: 0.2em 1em !important;
    border: 0 !important;
    background-color: var(--grey) !important;
    color: var(--white);
    font-size: 12px;
    display: inline-block;
}
div.wpcf7 img.ajax-loader {position: absolute;}
img.ajax-loader {width: auto;}
.wpcf7-spinner {position: absolute; top: -30px; right: -30px; background-color: #ffffff;}
.wpcf7-not-valid-tip {line-height: 0; display: inline-block; line-height: 1;}

/*------------------------------------*\
    RESPONSIVE
\*------------------------------------*/
@media only screen and (max-width:1280px) {
	html {padding-top: 0 !important;}
	.wrapper {margin: 0;}
	#header .container {position: relative; padding-left: 20px; padding-right: 20px;}
	.footer .container {position: relative; padding-left: 20px; padding-right: 20px;}
}
@media only screen and (max-width:768px) {
	html {padding-top: 0 !important;}
	#header .container {height: 70px;}
	#header .container .logo {width: 200px;}
	.marketing ul li a {padding: 0; width: 36px; height: 36px; border-radius: 60px; line-height: 41px; text-align: center;}
	.marketing ul li a i {margin-right: 0; font-size: 22px;}
	.marketing ul li a span {display: none;}

	.nav {display: none;}

	.info-type-unit .elementor-widget-icon-box {padding: 15px 0;}
	.info-type-unit .elementor-widget-icon-box:nth-child(3) {border-bottom: 0;}
	
	.unit-slide .swiper .swiper-slide figure {height: 350px;}
	.unit-slide .swiper .swiper-slide figure img {height: 350px;}

	.copyright {line-height: 1.3; padding-left: 15px; padding-right: 15px;}
	.copyright .container {padding: 0 0 50px 0;}

	.mobile-menu {display: block;}
}
@media only screen and (max-width:640px) {
	div.wpcf7 .form-input {width: 100%;display: block;overflow: hidden;}
	div.wpcf7 h4 {margin: 0 0 5px 0;}
	div.wpcf7 .form-input p {display: block !important;}
	div.wpcf7 label {float: none;}
	div.wpcf7 .form-type p span.wpcf7-list-item {width: 100%;}
}
@media only screen and (max-width:480px) {
	.unit-slide .swiper .swiper-slide figure {height: 250px;}
	.unit-slide .swiper .swiper-slide figure img {height: 250px;}
}
/*------------------------------------*\
    MISC
\*------------------------------------*/

::selection {
	background: var(--main-color);
	color:var(--white);
	text-shadow:none;
}
::-webkit-selection {
	background: var(--main-color);
	color:var(--white);
	text-shadow:none;
}
::-moz-selection {
	background: var(--main-color);
	color:var(--white);
	text-shadow:none;
}

/*------------------------------------*\
    WORDPRESS CORE
\*------------------------------------*/

.alignnone {
	margin:5px 20px 20px 0;
}
.aligncenter,
div.aligncenter {
	display:block;
	margin:5px auto 5px auto;
}
.alignright {
	float:right;
	margin:5px 0 20px 20px;
}
.alignleft {
	float:left;
	margin:5px 20px 20px 0;
}
a img.alignright {
	float:right;
	margin:5px 0 20px 20px;
}
a img.alignnone {
	margin:5px 20px 20px 0;
}
a img.alignleft {
	float:left;
	margin:5px 20px 20px 0;
}
a img.aligncenter {
	display:block;
	margin-left:auto;
	margin-right:auto;
}
.wp-caption {
	background:var(--white);
	border: 0;
	max-width:100%;
	padding:0;
	font-size: 13px;
	font-style: italic;
}
.wp-block-image figcaption {
	position: relative;
	top: -10px;
	line-height: 1.3;
}
.wp-caption.alignnone {
	margin:0 0 20px 0;
}
.wp-caption.alignleft {
	margin:5px 20px 20px 0;
}
.wp-caption.alignright {
	margin:5px 0 20px 20px;
}
.wp-caption img {
	border:0 none;
	height:auto;
	margin:0;
	max-width:100%;
	padding:0;
	width:auto;
}
.wp-caption .wp-caption-text,
.gallery-caption {
	font-size:11px;
	line-height:17px;
	margin:0;
	padding:0 4px 5px;
}
p.wp-caption-text {
	font-size: 13px !important;
	line-height: 1.2 !important;
	font-style: italic;
	position: relative;
	padding: 10px 20px !important;
	padding-bottom: 0 !important;
	margin-bottom: 0 !important;
}
.sticky {

}
.bypostauthor {

}

/*------------------------------------*\
    PRINT
\*------------------------------------*/

@media print {
	* {
		background:transparent !important;
		color: var(--dark) !important;
		box-shadow:none !important;
		text-shadow:none !important;
	}
	a,
	a:visited {
		text-decoration:underline;
	}
	a[href]:after {
		content:" (" attr(href) ")";
	}
	abbr[title]:after {
		content:" (" attr(title) ")";
	}
	.ir a:after,
	a[href^="javascript:"]:after,
	a[href^="#"]:after {
		content:"";
	}
	pre,blockquote {
		border:1px solid #999;
		page-break-inside:avoid;
	}
	thead {
		display:table-header-group;
	}
	tr,img {
		page-break-inside:avoid;
	}
	img {
		max-width:100% !important;
	}
	@page {
		margin:0.5cm;
	}
	p,
	h2,
	h3 {
		orphans:3;
		widows:3;
	}
	h2,
	h3 {
		page-break-after:avoid;
	}
}

::-webkit-scrollbar {
  width: 8px;
}
::-webkit-scrollbar-track {
  background-color: var(--light);
}
::-webkit-scrollbar-thumb {
  background-color: var(--main-color);
}
::-webkit-scrollbar-thumb:hover {
  background-color: var(--dark);
}
